From 5d291be0dd4f5d331ca6afaabab8f6df573a2d23 Mon Sep 17 00:00:00 2001 From: sedinkinya Date: Tue, 3 Oct 2023 15:35:16 -0400 Subject: [PATCH] Update of demo --- app.js | 2 +- app.js.map | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app.js b/app.js index b77b816..f1594f3 100644 --- a/app.js +++ b/app.js @@ -1,3 +1,3 @@ /*! For license information please see app.js.LICENSE.txt */ -!function(){var e={3034:function(){!function(){var e={6759:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Ucum=void 0,t.Ucum={dimLen_:7,validOps_:[".","/"],codeSep_:": ",valMsgStart_:"Did you mean ",valMsgEnd_:"?",cnvMsgStart_:"We assumed you meant ",cnvMsgEnd_:".",openEmph_:" ->",closeEmph_:"<- ",openEmphHTML_:'',closeEmphHTML_:"",bracesMsg_:"FYI - annotations (text in curly braces {}) are ignored, except that an annotation without a leading symbol implies the default unit 1 (the unity).",needMoleWeightMsg_:"Did you wish to convert between mass and moles? The molecular weight of the substance represented by the units is required to perform the conversion.",csvCols_:{"case-sensitive code":"csCode_","LOINC property":"loincProperty_","name (display)":"name_",synonyms:"synonyms_",source:"source_",category:"category_",Guidance:"guidance_"},inputKey_:"case-sensitive code",specUnits_:{"B[10.nV]":"specialUnitOne","[m/s2/Hz^(1/2)]":"specialUnitTwo"}}},9460:function(e,t,n){"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}t.R=void 0;var r=n(6759),o=n(1781),a=function(){function e(t){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),0===r.Ucum.dimLen_)throw new Error("Dimension.setDimensionLen must be called before Dimension constructor");if(null==t)this.assignZero();else if(t instanceof Array){if(t.length!==r.Ucum.dimLen_)throw new Error("Parameter error, incorrect length of vector passed to "+"Dimension constructor, vector = ".concat(JSON.stringify(t)));this.dimVec_=[];for(var n=0;n=r.Ucum.dimLen_)throw new Error("Parameter error, invalid element number specified for Dimension constructor");this.assignZero(),this.dimVec_[t]=1}}var t,n;return t=e,(n=[{key:"setElementAt",value:function(e,t){if(!o(e)||e<0||e>=r.Ucum.dimLen_)throw new Error("Dimension.setElementAt called with an invalid index "+"position (".concat(e,")"));this.dimVec_||this.assignZero(),null==t&&(t=1),this.dimVec_[e]=t}},{key:"getElementAt",value:function(e){if(!o(e)||e<0||e>=r.Ucum.dimLen_)throw new Error("Dimension.getElementAt called with an invalid index "+"position (".concat(e,")"));var t=null;return this.dimVec_&&(t=this.dimVec_[e]),t}},{key:"getProperty",value:function(e){return this["_"===e.charAt(e.length-1)?e:e+"_"]}},{key:"toString",value:function(){var e=null;return this.dimVec_&&(e="["+this.dimVec_.join(", ")+"]"),e}},{key:"add",value:function(t){if(!t instanceof e)throw new Error("Dimension.add called with an invalid parameter - "+"".concat(i(t)," instead of a Dimension object"));if(this.dimVec_&&t.dimVec_)for(var n=0;n mole conversion cannot be executed for two mole-based units. No conversion was attempted.");if(0===l.moleExp_&&0===c.moleExp_)throw new Error("A molecular weight was specified but a mass <-> mole conversion cannot be executed when neither unit is mole-based. No conversion was attempted.");if(!l.isMoleMassCommensurable(c))throw new Error("Sorry. ".concat(e," cannot be ")+"converted to ".concat(n,"."));0!==l.moleExp_?a.toVal=l.convertMolToMass(t,c,r):a.toVal=l.convertMassToMol(t,c,r)}else a.toVal=c.convertFrom(t,l);a.status="succeeded",a.fromUnit=l,a.toUnit=c}catch(e){a.status="failed",a.msg.push(e.message)}}catch(e){e.message==s.needMoleWeightMsg_?a.status="failed":a.status="error",a.msg.push(e.message)}return a}},{key:"checkSynonyms",value:function(e){var t={};return null==e?(t.status="error",t.msg="No term specified for synonym search."):t=o.getSynonyms(e),t}},{key:"getSpecifiedUnit",value:function(e,t,n){void 0===n&&(n=!1);var i={retMsg:[]};if(e){var r=l.getInstance();e=e.trim();var o=r.getUnitByCode(e);if(o)i.unit=o,i.origString=e;else try{var a=this.uStrParser_.parseString(e,t,n);i.unit=a[0],i.origString=a[1],a[2]&&(i.retMsg=a[2]),i.suggestions=a[3]}catch(t){console.log("Unit requested for unit string ".concat(e,".")+"request unsuccessful; error thrown = "+t.message),i.retMsg.unshift("".concat(e," is not a valid unit. ")+"".concat(t.message))}}else i.retMsg.push("No unit string specified.");return i}},{key:"commensurablesList",value:function(e){var t=[],n=null,i=this.getSpecifiedUnit(e,"validate",!1),r=i.unit;if(i.retMsg.length>0&&(t=i.retMsg),r){var o=null,a=r.getProperty("dim_");if(a){try{o=a.getProperty("dimVec_")}catch(e){t.push(e.message),"Dimension does not have requested property(dimVec_)"===e.message&&(o=null)}o&&(n=l.getInstance().getUnitsByDimension(o))}else t.push("No commensurable units were found for "+e)}else t.push("Could not find unit ".concat(e,"."));return[n,t]}}])&&function(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.isBase_=t.isBase_||!1,this.name_=t.name_||"",this.csCode_=t.csCode_||"",this.ciCode_=t.ciCode_||"",this.property_=t.property_||"",this.magnitude_=t.magnitude_||1,void 0===t.dim_||null===t.dim_?this.dim_=new f:void 0!==t.dim_.dimVec_?this.dim_=new f(t.dim_.dimVec_):t.dim_ instanceof f?this.dim_=t.dim_:t.dim_ instanceof Array||d(t.dim_)?this.dim_=new f(t.dim_):this.dim_=new f,this.printSymbol_=t.printSymbol_||null,this.class_=t.class_||null,this.isMetric_=t.isMetric_||!1,this.variable_=t.variable_||null,this.cnv_=t.cnv_||null,this.cnvPfx_=t.cnvPfx_||1,this.isSpecial_=t.isSpecial_||!1,this.isArbitrary_=t.isArbitrary_||!1,this.moleExp_=t.moleExp_||0,this.synonyms_=t.synonyms_||null,this.source_=t.source_||null,this.loincProperty_=t.loincProperty_||null,this.category_=t.category_||null,this.guidance_=t.guidance_||null,this.csUnitString_=t.csUnitString_||null,this.ciUnitString_=t.ciUnitString_||null,this.baseFactorStr_=t.baseFactorStr_||null,this.baseFactor_=t.baseFactor_||null,this.defError_=t.defError_||!1}var t,r;return t=e,(r=[{key:"assignUnity",value:function(){return this.name_="",this.magnitude_=1,this.dim_||(this.dim_=new f),this.dim_.assignZero(),this.cnv_=null,this.cnvPfx_=1,this}},{key:"assignVals",value:function(e){for(var t in e){var n="_"===!t.charAt(t.length-1)?t+"_":t;if(!this.hasOwnProperty(n))throw new Error("Parameter error; ".concat(t," is not a property of a Unit"));this[n]=e[t]}}},{key:"clone",value:function(){var t=this,n=new e;return Object.getOwnPropertyNames(this).forEach((function(e){"dim_"===e?t.dim_?n.dim_=t.dim_.clone():n.dim_=null:n[e]=t[e]})),n}},{key:"assign",value:function(e){var t=this;Object.getOwnPropertyNames(e).forEach((function(n){"dim_"===n?e.dim_?t.dim_=e.dim_.clone():t.dim_=null:t[n]=e[n]}))}},{key:"equals",value:function(e){return this.magnitude_===e.magnitude_&&this.cnv_===e.cnv_&&this.cnvPfx_===e.cnvPfx_&&(null===this.dim_&&null===e.dim_||this.dim_.equals(e.dim_))}},{key:"fullEquals",value:function(e){for(var t=Object.keys(this).sort(),n=Object.keys(e).sort(),i=t.length,r=i===n.length,o=0;o0){var t=e.replace("/","!").replace(".","/").replace("!",".");switch(t.charAt(0)){case".":e=t.substr(1);break;case"/":e=t;break;default:e="/"+t}}return e}},{key:"_concatStrs",value:function(e,t,n,i,r){return this._buildOneString(e,i,r)+t+this._buildOneString(n,i,r)}},{key:"_buildOneString",value:function(e,t,n){return s.isNumericString(e)||"("===e.charAt(0)||"["===e.charAt(0)?e:/[./* ]/.test(e)?t+e+n:e}},{key:"power",value:function(e){if(null!=this.cnv_)throw new Error("Attempt to raise a non-ratio unit, ".concat(this.name_,", ")+"to a power.");for(var t=this.csCode_.match(/([./]|[^./]+)/g),n=t.length,i=0;i=0;s--){var l=parseInt(r[s]);if(!d(l)){if("-"!==r[s]&&"+"!==r[s]||s--,s0)r[0]=null,r[1]=null;else{this.retMsg_.length;var a=null;for(a in s.specUnits_)for(;-1!==e.indexOf(a);)e=e.replace(a,s.specUnits_[a]);if(e.indexOf(" ")>-1)throw new Error("Blank spaces are not allowed in unit expressions.");var u=(r=this._parseTheString(e,i))[0];(o.isIntegerUnit(u)||"number"==typeof u)&&(u=new l({csCode_:i,magnitude_:u,name_:i}),r[0]=u)}return r[2]=this.retMsg_,this.suggestions_&&this.suggestions_.length>0&&(r[3]=this.suggestions_),r}},{key:"_parseTheString",value:function(e,t){var n=null,i=this.retMsg_.length>0,r=this._processParens(e,t),a=[];if(!(i=r[2])){e=r[0],t=r[1];var s=this._makeUnitsArray(e,t);if(!(i=s[2])){a=s[0],t=s[1];for(var l=a.length,u=0;u=0){var f=this._getParensUnit(c,t);i||(i=f[1]),i||(a[u].un=f[0])}else{var d=this._makeUnit(c,t);null===d[0]?i=!0:(a[u].un=d[0],t=d[1])}}}}return i||null!==a[0]&&" "!==a[0]&&void 0!==a[0].un&&null!==a[0].un||0!==this.retMsg_.length||(this.retMsg_.push("Unit string (".concat(t,") did not contain ")+"anything that could be used to create a unit, or else something that is not handled yet by this package. Sorry"),i=!0),i||(n=this._performUnitArithmetic(a,t)),[n,t]}},{key:"_getAnnotations",value:function(e){for(var t=e.indexOf("{");t>=0;){var n=e.indexOf("}");if(n<0)this.retMsg_.push("Missing closing brace for annotation starting at "+this.openEmph_+e.substr(t)+this.closeEmph_),t=-1;else{var i=e.substring(t,n+1),r=this.annotations_.length.toString();e=e.replace(i,this.braceFlag_+r+this.braceFlag_),this.annotations_.push(i),t=e.indexOf("{")}}var o=e.indexOf("}");return o>=0&&this.retMsg_.push("Missing opening brace for closing brace found at "+this.openEmph_+e.substring(0,o+1)+this.closeEmph_),e}},{key:"_processParens",value:function(e,t){for(var n=[],i=0,r=!1,o=this.parensUnits_.length,a=0;""!==e&&!r;){var s=0,l=0,u=e.indexOf("(");if(u<0){var c=e.indexOf(")");if(c>=0){var f="Missing open parenthesis for close "+"parenthesis at ".concat(e.substring(0,c+a))+"".concat(this.openEmph_).concat(e.substr(c,1)).concat(this.closeEmph_);c0&&(n[i++]=e.substr(0,u));for(var m=0,p=u+1;p0&&(a=e.substr(0,r-1));var s=e.lastIndexOf(this.parensFlag_),u=null;s+this.pFlagLen_=0){var d=this._getAnnoText(a,t);if(d[1]||d[2])throw new Error("Text found before the parentheses ("+"".concat(a,") included an annotation along with other text ")+"for parenthetical unit ".concat(i.csCode_));e+=d[0],this.retMsg_.push("The annotation ".concat(d[0]," before the unit ")+"code is invalid.\n"+this.vcMsgStart_+e+this.vcMsgEnd_)}else this.suggestions_?n="succeeded"!==this._getSuggestions(a):(this.retMsg_.push("".concat(a," preceding the unit code ").concat(e," ")+"is invalid. Unable to make a substitution."),n=!0);if(u)if(u.indexOf(this.braceFlag_)>=0){var m=this._getAnnoText(u,t);if(m[1]||m[2])throw new Error("Text found after the parentheses ("+"".concat(u,") included an annotation along with other text ")+"for parenthetical unit ".concat(i.csCode_));e+=m[0]}else o.isNumericString(u)?(e+=u,i=i.power(Number(u)),this.retMsg_.push("An exponent (".concat(u,") following a parenthesis ")+"is invalid as of revision 1.9 of the UCUM Specification.\n "+this.vcMsgStart_+e+this.vcMsgEnd_)):this.suggestions_?n="succeeded"!==this._getSuggestions(a):(this.retMsg_.push("Text ".concat(u," following the unit code ").concat(e," ")+"is invalid. Unable to make a substitution."),n=!0);return n||(i?o.isIntegerUnit(i)?i=new l({csCode_:i,magnitude_:i,name_:i}):i.csCode_=e:i=new l({csCode_:e,magnitude_:1,name_:e})),[i,n]}},{key:"_getAnnoText",value:function(e,t){var n=e.indexOf(this.braceFlag_),i=n>0?e.substring(0,n):null;0!==n&&(e=e.substr(n));var r=e.indexOf(this.braceFlag_,1),a=r+this.bFlagLen_=this.annotations_.length)throw new Error("Processing Error - invalid annotation index ".concat(s," found ")+"in ".concat(e," that was created from ").concat(t));return[e=this.annotations_[l],i,a]}},{key:"_getSuggestions",value:function(e){var t=o.getSynonyms(e);if("succeeded"===t.status){var n={};n.msg="".concat(e," is not a valid UCUM code. We found possible ")+"units that might be what was meant:",n.invalidUnit=e;var i=t.units.length;n.units=[];for(var r=0;r=0){var i=this._getUnitWithAnnotation(e,t);(n=i[0])&&(t=i[1])}else{if(e.indexOf("^")>-1){var r=e.replace("^","*");(n=this.utabs_.getUnitByCode(r))&&((n=n.clone()).csCode_=n.csCode_.replace("*","^"),n.ciCode_=n.ciCode_.replace("*","^"))}if(!n){var o="["+e+"]";(n=this.utabs_.getUnitByCode(o))&&(n=n.clone(),t=t.replace(e,o),this.retMsg_.push("".concat(e," is not a valid unit expression, but ")+"".concat(o," is.\n")+this.vcMsgStart_+"".concat(o," (").concat(n.name_,")").concat(this.vcMsgEnd_)))}if(!n){var a=this.utabs_.getUnitByName(e);if(a&&a.length>0){for(var l="The UCUM code for "+e+" is "+(n=a[0].clone()).csCode_+".\n"+this.vcMsgStart_+n.csCode_+this.vcMsgEnd_,u=!1,c=0;c"+w+"",csCode_:T+w,ciCode_:R+w,printSymbol_:M+""+w+""})}}else n=null,this.suggestions_?this._getSuggestions(p):this.retMsg_.push("".concat(p," is not a valid UCUM code."))}}return[n,t]}},{key:"_getUnitWithAnnotation",value:function(e,t){var n=null,r=this._getAnnoText(e,t),a=r[0],s=r[1],l=r[2];this.bracesMsg_&&-1===this.retMsg_.indexOf(this.bracesMsg_)&&this.retMsg_.push(this.bracesMsg_);var u,c,f=this.retMsg_.length;if(s||l)if(s&&!l)if(o.isIntegerUnit(s))n=s;else{var d=this._makeUnit(s,t);d[0]?((n=d[0]).csCode_+=a,t=d[1]):this.retMsg_.push("Unable to find a unit for ".concat(s," that ")+"precedes the annotation ".concat(a,"."))}else if(!s&&l)if(o.isIntegerUnit(l))n=l+a,this.retMsg_.push("The annotation ".concat(a," before the ")(i||(u=[""," is invalid.\n"],(c=[""," is invalid.\\n"])||(c=u.slice(0)),i=Object.freeze(Object.defineProperties(u,{raw:{value:Object.freeze(c)}}))),l)+this.vcMsgStart_+n+this.vcMsgEnd_);else{var m=this._makeUnit(l,t);m[0]?((n=m[0]).csCode_+=a,t=n.csCode_,this.retMsg_.push("The annotation ".concat(a," before the unit ")+"code is invalid.\n"+this.vcMsgStart_+n.csCode_+this.vcMsgEnd_)):this.retMsg_.push("Unable to find a unit for ".concat(s," that ")+"follows the annotation ".concat(a,"."))}else this.retMsg_.push("Unable to find a unit for ".concat(s).concat(a)+"".concat(l,".\nWe are not sure how to interpret text both before ")+"and after the annotation. Sorry");else{var p="["+a.substring(1,a.length-1)+"]",h=this._makeUnit(p,t);h[0]?(n=h[0],t=t.replace(a,p),this.retMsg_.push("".concat(a," is not a valid unit expression, but ")+"".concat(p," is.\n")+this.vcMsgStart_+"".concat(p," (").concat(n.name_,")").concat(this.vcMsgEnd_))):(this.retMsg_.length>f&&this.retMsg_.pop(),e=1,n=1)}return[n,t]}},{key:"_performUnitArithmetic",value:function(e,t){var n=e[0].un;o.isIntegerUnit(n)&&(n=new l({csCode_:n,magnitude_:Number(n),name_:n}));for(var i=e.length,r=!1,a=1;a=1&&(n=e.substr(t+r.codeSep_.length),e=e.substr(0,t));var i=this.unitNames_[e];if(i){var o=i.length;if(n&&o>1){for(var a=0;i[a].csCode_!==n&&a0&&(n+=t),"dim_"===e[c])null!==u.dim_&&void 0!==u.dim_&&u.dim_.dimVec_ instanceof Array?n+="["+u.dim_.dimVec_.join(",")+"]":n+="";else{var f=u[e[c]];n+="string"==typeof f?f.replace(/[\n\r]/g," "):f}n+="\r\n"}return n}},{key:"printUnits",value:function(e,t){void 0===e&&(e=!1),void 0===t&&(t="|");var n="",i=this.codeOrder_.length,r="csCode"+t;e&&(r+="ciCode"+t),r+="name"+t,e&&(r+="isBase"+t),r+="magnitude"+t+"dimension"+t+"from unit(s)"+t+"value"+t+"function"+t,e&&(r+="property"+t+"printSymbol"+t+"synonyms"+t+"source"+t+"class"+t+"isMetric"+t+"variable"+t+"isSpecial"+t+"isAbitrary"+t),n=(r+="comment")+"\n";for(var o=0;o=0&&(this.fetchedEOF?this.index0)||this.fetch(t)>=t}},{key:"fetch",value:function(e){if(this.fetchedEOF)return 0;for(var t=0;t=this.tokens.length&&(t=this.tokens.length-1);for(var r=e;r=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[t]}},{key:"adjustSeekIndex",value:function(e){return e}},{key:"lazyInit",value:function(){-1===this.index&&this.setup()}},{key:"setup",value:function(){this.sync(0),this.index=this.adjustSeekIndex(0)}},{key:"setTokenSource",value:function(e){this.tokenSource=e,this.tokens=[],this.index=-1,this.fetchedEOF=!1}},{key:"nextTokenOnChannel",value:function(e,t){if(this.sync(e),e>=this.tokens.length)return-1;for(var n=this.tokens[e];n.channel!==this.channel;){if(n.type===u.EOF)return-1;e+=1,this.sync(e),n=this.tokens[e]}return e}},{key:"previousTokenOnChannel",value:function(e,t){for(;e>=0&&this.tokens[e].channel!==t;)e-=1;return e}},{key:"getHiddenTokensToRight",value:function(e,t){if(void 0===t&&(t=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw e+" not in 0.."+this.tokens.length-1;var n=this.nextTokenOnChannel(e+1,c.DEFAULT_TOKEN_CHANNEL),i=e+1,r=-1===n?this.tokens.length-1:n;return this.filterForChannel(i,r,t)}},{key:"getHiddenTokensToLeft",value:function(e,t){if(void 0===t&&(t=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw e+" not in 0.."+this.tokens.length-1;var n=this.previousTokenOnChannel(e-1,c.DEFAULT_TOKEN_CHANNEL);if(n===e-1)return null;var i=n+1,r=e-1;return this.filterForChannel(i,r,t)}},{key:"filterForChannel",value:function(e,t,n){for(var i=[],r=e;r=this.tokens.length&&(n=this.tokens.length-1);for(var i="",r=t;r=this._size)throw"cannot consume EOF";this._index+=1}},{key:"LA",value:function(e){if(0===e)return 0;e<0&&(e+=1);var t=this._index+e-1;return t<0||t>=this._size?r.EOF:this.data[t]}},{key:"LT",value:function(e){return this.LA(e)}},{key:"mark",value:function(){return-1}},{key:"release",value:function(e){}},{key:"seek",value:function(e){e<=this._index?this._index=e:this._index=Math.min(e,this._size)}},{key:"getText",value:function(e,t){if(t>=this._size&&(t=this._size-1),e>=this._size)return"";if(this.decodeToUnicodeCodePoints){for(var n="",i=e;i<=t;i++)n+=String.fromCodePoint(this.data[i]);return n}return this.strdata.slice(e,t+1)}},{key:"toString",value:function(){return this.strdata}},{key:"index",get:function(){return this._index}},{key:"size",get:function(){return this._size}}])&&function(e,t){for(var n=0;n=this.start&&e=n.stop?(this.intervals.splice(e+1,1),this.reduce(e)):t.stop>=n.start&&(this.intervals[e]=new l(t.start,n.stop),this.intervals.splice(e+1,1))}}},{key:"complement",value:function(t,n){var i=new e;return i.addInterval(new l(t,n+1)),null!==this.intervals&&this.intervals.forEach((function(e){return i.removeRange(e)})),i}},{key:"contains",value:function(e){if(null===this.intervals)return!1;for(var t=0;ti.start&&e.stop=i.stop?(this.intervals.splice(t,1),t-=1):e.start"):e.push("'"+String.fromCharCode(n.start)+"'"):e.push("'"+String.fromCharCode(n.start)+"'..'"+String.fromCharCode(n.stop-1)+"'")}return e.length>1?"{"+e.join(", ")+"}":e[0]}},{key:"toIndexString",value:function(){for(var e=[],t=0;t"):e.push(n.start.toString()):e.push(n.start.toString()+".."+(n.stop-1).toString())}return e.length>1?"{"+e.join(", ")+"}":e[0]}},{key:"toTokenString",value:function(e,t){for(var n=[],i=0;i1?"{"+n.join(", ")+"}":n[0]}},{key:"elementName",value:function(e,t,n){return n===s.EOF?"":n===s.EPSILON?"":e[n]||t[n]}},{key:"length",get:function(){return this.intervals.map((function(e){return e.length})).reduce((function(e,t){return e+t}))}}]),e}();e.exports={Interval:l,IntervalSet:u}},2894:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var r=n(7090),o=r.Set,a=r.BitSet,s=n(9616).Token,l=n(4769).ATNConfig,u=n(5062).IntervalSet,c=n(4).RuleStopState,f=n(3412),d=f.RuleTransition,m=f.NotSetTransition,p=f.WildcardTransition,h=f.AbstractPredicateTransition,g=n(9699),y=g.predictionContextFromRuleContext,v=g.PredictionContext,C=g.SingletonPredictionContext,x=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.atn=t}var t,n;return t=e,(n=[{key:"getDecisionLookahead",value:function(t){if(null===t)return null;for(var n=t.transitions.length,i=[],r=0;r":"\n"===e?"\\n":"\t"===e?"\\t":"\r"===e?"\\r":e}},{key:"getCharErrorDisplay",value:function(e){return"'"+this.getErrorDisplayForChar(e)+"'"}},{key:"recover",value:function(e){this._input.LA(1)!==s.EOF&&(e instanceof f?this._interp.consume(this._input):this._input.consume())}},{key:"inputStream",get:function(){return this._input},set:function(e){this._input=null,this._tokenFactorySourcePair=[this,this._input],this.reset(),this._input=e,this._tokenFactorySourcePair=[this,this._input]}},{key:"sourceName",get:function(){return this._input.sourceName}},{key:"type",get:function(){return this._type},set:function(e){this._type=e}},{key:"line",get:function(){return this._interp.line},set:function(e){this._interp.line=e}},{key:"column",get:function(){return this._interp.column},set:function(e){this._interp.column=e}},{key:"text",get:function(){return null!==this._text?this._text:this._interp.getText(this._input)},set:function(e){this._text=e}}])&&function(e,t){for(var n=0;n0?(this._errHandler.reportMatch(this),this.consume()):(e=this._errHandler.recoverInline(this),this._buildParseTrees&&-1===e.tokenIndex&&this._ctx.addErrorNode(e)),e}},{key:"getParseListeners",value:function(){return this._parseListeners||[]}},{key:"addParseListener",value:function(e){if(null===e)throw"listener";null===this._parseListeners&&(this._parseListeners=[]),this._parseListeners.push(e)}},{key:"removeParseListener",value:function(e){if(null!==this._parseListeners){var t=this._parseListeners.indexOf(e);t>=0&&this._parseListeners.splice(t,1),0===this._parseListeners.length&&(this._parseListeners=null)}}},{key:"removeParseListeners",value:function(){this._parseListeners=null}},{key:"triggerEnterRuleEvent",value:function(){if(null!==this._parseListeners){var e=this._ctx;this._parseListeners.forEach((function(t){t.enterEveryRule(e),e.enterRule(t)}))}}},{key:"triggerExitRuleEvent",value:function(){if(null!==this._parseListeners){var e=this._ctx;this._parseListeners.slice(0).reverse().forEach((function(t){e.exitRule(t),t.exitEveryRule(e)}))}}},{key:"getTokenFactory",value:function(){return this._input.tokenSource._factory}},{key:"setTokenFactory",value:function(e){this._input.tokenSource._factory=e}},{key:"getATNWithBypassAlts",value:function(){var e=this.getSerializedATN();if(null===e)throw"The current parser does not support an ATN with bypass alternatives.";var t=this.bypassAltsAtnCache[e];if(null===t){var n=new C;n.generateRuleBypassTransitions=!0,t=new v(n).deserialize(e),this.bypassAltsAtnCache[e]=t}return t}},{key:"compileParseTreePattern",value:function(e,t,n){if(null===(n=n||null)&&null!==this.getTokenStream()){var i=this.getTokenStream().tokenSource;i instanceof x&&(n=i)}if(null===n)throw"Parser can't discover a lexer to use";return new ParseTreePatternMatcher(n,this).compile(e,t)}},{key:"getInputStream",value:function(){return this.getTokenStream()}},{key:"setInputStream",value:function(e){this.setTokenStream(e)}},{key:"getTokenStream",value:function(){return this._input}},{key:"setTokenStream",value:function(e){this._input=null,this.reset(),this._input=e}},{key:"getCurrentToken",value:function(){return this._input.LT(1)}},{key:"notifyErrorListeners",value:function(e,t,n){n=n||null,null===(t=t||null)&&(t=this.getCurrentToken()),this._syntaxErrors+=1;var i=t.line,r=t.column;this.getErrorListenerDispatch().syntaxError(this,t,i,r,e,n)}},{key:"consume",value:function(){var e=this.getCurrentToken();e.type!==f.EOF&&this.getInputStream().consume();var t,n=null!==this._parseListeners&&this._parseListeners.length>0;return(this.buildParseTrees||n)&&((t=this._errHandler.inErrorRecoveryMode(this)?this._ctx.addErrorNode(e):this._ctx.addTokenNode(e)).invokingState=this.state,n&&this._parseListeners.forEach((function(e){t instanceof h||void 0!==t.isErrorNode&&t.isErrorNode()?e.visitErrorNode(t):t instanceof p&&e.visitTerminal(t)}))),e}},{key:"addContextToParseTree",value:function(){null!==this._ctx.parentCtx&&this._ctx.parentCtx.addChild(this._ctx)}},{key:"enterRule",value:function(e,t,n){this.state=t,this._ctx=e,this._ctx.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}},{key:"exitRule",value:function(){this._ctx.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this._ctx.invokingState,this._ctx=this._ctx.parentCtx}},{key:"enterOuterAlt",value:function(e,t){e.setAltNumber(t),this.buildParseTrees&&this._ctx!==e&&null!==this._ctx.parentCtx&&(this._ctx.parentCtx.removeLastChild(),this._ctx.parentCtx.addChild(e)),this._ctx=e}},{key:"getPrecedence",value:function(){return 0===this._precedenceStack.length?-1:this._precedenceStack[this._precedenceStack.length-1]}},{key:"enterRecursionRule",value:function(e,t,n,i){this.state=t,this._precedenceStack.push(i),this._ctx=e,this._ctx.start=this._input.LT(1),this.triggerEnterRuleEvent()}},{key:"pushNewRecursionContext",value:function(e,t,n){var i=this._ctx;i.parentCtx=e,i.invokingState=t,i.stop=this._input.LT(-1),this._ctx=e,this._ctx.start=i.start,this.buildParseTrees&&this._ctx.addChild(i),this.triggerEnterRuleEvent()}},{key:"unrollRecursionContexts",value:function(e){this._precedenceStack.pop(),this._ctx.stop=this._input.LT(-1);var t=this._ctx,n=this.getParseListeners();if(null!==n&&n.length>0)for(;this._ctx!==e;)this.triggerExitRuleEvent(),this._ctx=this._ctx.parentCtx;else this._ctx=e;t.parentCtx=e,this.buildParseTrees&&null!==e&&e.addChild(t)}},{key:"getInvokingContext",value:function(e){for(var t=this._ctx;null!==t;){if(t.ruleIndex===e)return t;t=t.parentCtx}return null}},{key:"precpred",value:function(e,t){return t>=this._precedenceStack[this._precedenceStack.length-1]}},{key:"inContext",value:function(e){return!1}},{key:"isExpectedToken",value:function(e){var t=this._interp.atn,n=this._ctx,i=t.states[this.state],r=t.nextTokens(i);if(r.contains(e))return!0;if(!r.contains(f.EPSILON))return!1;for(;null!==n&&n.invokingState>=0&&r.contains(f.EPSILON);){var o=t.states[n.invokingState].transitions[0];if((r=t.nextTokens(o.followState)).contains(e))return!0;n=n.parentCtx}return!(!r.contains(f.EPSILON)||e!==f.EOF)}},{key:"getExpectedTokens",value:function(){return this._interp.atn.getExpectedTokens(this.state,this._ctx)}},{key:"getExpectedTokensWithinCurrentRule",value:function(){var e=this._interp.atn,t=e.states[this.state];return e.nextTokens(t)}},{key:"getRuleIndex",value:function(e){var t=this.getRuleIndexMap()[e];return null!==t?t:-1}},{key:"getRuleInvocationStack",value:function(e){null===(e=e||null)&&(e=this._ctx);for(var t=[];null!==e;){var n=e.ruleIndex;n<0?t.push("n/a"):t.push(this.ruleNames[n]),e=e.parentCtx}return t}},{key:"getDFAStrings",value:function(){return this._interp.decisionToDFA.toString()}},{key:"dumpDFA",value:function(){for(var e=!1,t=0;t0&&(e&&console.log(),this.printer.println("Decision "+n.decision+":"),this.printer.print(n.toString(this.literalNames,this.symbolicNames)),e=!0)}}},{key:"getSourceName",value:function(){return this._input.sourceName}},{key:"setTrace",value:function(e){e?(null!==this._tracer&&this.removeParseListener(this._tracer),this._tracer=new b(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}}]),n}(g);S.bypassAltsAtnCache={},e.exports=S},788:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}var a=n(3680),s=n(4524),l=s.INVALID_INTERVAL,u=s.TerminalNode,c=s.TerminalNodeImpl,f=s.ErrorNodeImpl,d=n(5062).Interval,m=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&r(e,t)}(p,e);var t,n,a,s,m=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=o(t);if(n){var a=o(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function p(e,t){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,p),e=e||null,t=t||null,(n=m.call(this,e,t)).ruleIndex=-1,n.children=null,n.start=null,n.stop=null,n.exception=null,n}return a=p,(s=[{key:"copyFrom",value:function(e){this.parentCtx=e.parentCtx,this.invokingState=e.invokingState,this.children=null,this.start=e.start,this.stop=e.stop,e.children&&(this.children=[],e.children.map((function(e){e instanceof f&&(this.children.push(e),e.parentCtx=this)}),this))}},{key:"enterRule",value:function(e){}},{key:"exitRule",value:function(e){}},{key:"addChild",value:function(e){return null===this.children&&(this.children=[]),this.children.push(e),e}},{key:"removeLastChild",value:function(){null!==this.children&&this.children.pop()}},{key:"addTokenNode",value:function(e){var t=new c(e);return this.addChild(t),t.parentCtx=this,t}},{key:"addErrorNode",value:function(e){var t=new f(e);return this.addChild(t),t.parentCtx=this,t}},{key:"getChild",value:function(e,t){if(t=t||null,null===this.children||e<0||e>=this.children.length)return null;if(null===t)return this.children[e];for(var n=0;n=this.children.length)return null;for(var n=0;n0&&(e+=", "),this.returnStates[t]!==v.EMPTY_RETURN_STATE?(e+=this.returnStates[t],null!==this.parents[t]?e=e+" "+this.parents[t]:e+="null"):e+="$";return e+"]"}},{key:"length",get:function(){return this.returnStates.length}}]),n}(v);e.exports={merge:function e(t,n,i,r){if(t===n)return t;if(t instanceof x&&n instanceof x)return function(t,n,i,r){if(null!==r){var o=r.get(t,n);if(null!==o)return o;if(null!==(o=r.get(n,t)))return o}var a=function(e,t,n){if(n){if(e===v.EMPTY)return v.EMPTY;if(t===v.EMPTY)return v.EMPTY}else{if(e===v.EMPTY&&t===v.EMPTY)return v.EMPTY;if(e===v.EMPTY){var i=[t.returnState,v.EMPTY_RETURN_STATE],r=[t.parentCtx,null];return new S(r,i)}if(t===v.EMPTY){var o=[e.returnState,v.EMPTY_RETURN_STATE],a=[e.parentCtx,null];return new S(a,o)}}return null}(t,n,i);if(null!==a)return null!==r&&r.set(t,n,a),a;if(t.returnState===n.returnState){var s=e(t.parentCtx,n.parentCtx,i,r);if(s===t.parentCtx)return t;if(s===n.parentCtx)return n;var l=x.create(s,t.returnState);return null!==r&&r.set(t,n,l),l}var u=null;if((t===n||null!==t.parentCtx&&t.parentCtx===n.parentCtx)&&(u=t.parentCtx),null!==u){var c=[t.returnState,n.returnState];t.returnState>n.returnState&&(c[0]=n.returnState,c[1]=t.returnState);var f=new S([u,u],c);return null!==r&&r.set(t,n,f),f}var d=[t.returnState,n.returnState],m=[t.parentCtx,n.parentCtx];t.returnState>n.returnState&&(d[0]=n.returnState,d[1]=t.returnState,m=[n.parentCtx,t.parentCtx]);var p=new S(m,d);return null!==r&&r.set(t,n,p),p}(t,n,i,r);if(i){if(t instanceof b)return t;if(n instanceof b)return n}return t instanceof x&&(t=new S([t.getParent()],[t.returnState])),n instanceof x&&(n=new S([n.getParent()],[n.returnState])),function(t,n,i,r){if(null!==r){var o=r.get(t,n);if(null!==o)return o;if(null!==(o=r.get(n,t)))return o}for(var a=0,s=0,l=0,u=[],c=[];at.length?e.length:t.length;this.tokenNames=[];for(var i=0;i";var t=e.text;return null===t&&(t=e.type===r.EOF?"":"<"+e.type+">"),"'"+(t=t.replace("\n","\\n").replace("\r","\\r").replace("\t","\\t"))+"'"}},{key:"getErrorListenerDispatch",value:function(){return new a(this._listeners)}},{key:"sempred",value:function(e,t,n){return!0}},{key:"precpred",value:function(e,t){return!0}},{key:"state",get:function(){return this._stateNumber},set:function(e){this._stateNumber=e}}])&&function(e,t){for(var n=0;n=0&&r","[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+e+"',<"+this.type+">"+(this.channel>0?",channel="+this.channel:"")+","+this.line+":"+this.column+"]"}},{key:"text",get:function(){if(null!==this._text)return this._text;var e=this.getInputStream();if(null===e)return null;var t=e.size;return this.start"},set:function(e){this._text=e}}]),c}(s);l.EMPTY_SOURCE=[null,null],e.exports={Token:s,CommonToken:l}},7090:function(e){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,n){for(var i=0;i>>16)*a&65535)<<16)&4294967295)<<15|t>>>17))*s+(((t>>>16)*s&65535)<<16)&4294967295)<<13|o>>>19))+((5*(o>>>16)&65535)<<16)&4294967295))+((58964+(e>>>16)&65535)<<16);switch(t=0,i){case 3:t^=(255&n.charCodeAt(l+2))<<16;case 2:t^=(255&n.charCodeAt(l+1))<<8;case 1:o^=t=(65535&(t=(t=(65535&(t^=255&n.charCodeAt(l)))*a+(((t>>>16)*a&65535)<<16)&4294967295)<<15|t>>>17))*s+(((t>>>16)*s&65535)<<16)&4294967295}return o^=n.length,o=2246822507*(65535&(o^=o>>>16))+((2246822507*(o>>>16)&65535)<<16)&4294967295,o=3266489909*(65535&(o^=o>>>13))+((3266489909*(o>>>16)&65535)<<16)&4294967295,(o^=o>>>16)>>>0};var u=function(){function e(t,i){n(this,e),this.data={},this.hashFunction=t||l,this.equalsFunction=i||s}return r(e,[{key:"add",value:function(e){var t="hash_"+this.hashFunction(e);if(t in this.data){for(var n=this.data[t],i=0;i>>17,i*=461845907,this.count=this.count+1;var r=this.hash^i;r=5*(r=r<<13|r>>>19)+3864292196,this.hash=r}}}},{key:"finish",value:function(){var e=this.hash^4*this.count;return e^=e>>>16,e*=2246822507,e^=e>>>13,(e*=3266489909)^e>>>16}}]),e}();e.exports={Hash:p,Set:u,Map:f,BitSet:c,AltDict:d,DoubleDict:m,hashStuff:function(){var e=new p;return e.update.apply(e,arguments),e.finish()},escapeWhitespace:function(e,t){return e=e.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),t&&(e=e.replace(/ /g,"·")),e},arrayToString:a,titleCase:function(e){return e.replace(/\w\S*/g,(function(e){return e.charAt(0).toUpperCase()+e.substr(1)}))},equalArrays:function(e,t){if(!Array.isArray(e)||!Array.isArray(t))return!1;if(e===t)return!0;if(e.length!==t.length)return!1;for(var n=0;n=this.states.length)throw"Invalid state number.";var n=this.states[e],i=this.nextTokens(n);if(!i.contains(a.EPSILON))return i;var r=new o;for(r.addSet(i),r.removeOne(a.EPSILON);null!==t&&t.invokingState>=0&&i.contains(a.EPSILON);){var s=this.states[t.invokingState].transitions[0];i=this.nextTokens(s.followState),r.addSet(i),r.removeOne(a.EPSILON),t=t.parentCtx}return i.contains(a.EPSILON)&&r.addOne(a.EOF),r}}])&&function(e,t){for(var n=0;n0?",up="+this.reachesIntoOuterContext:"")+")"}}]),e}(),y=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)}(c,e);var t,n,i=(t=c,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,i=l(t);if(n){var r=l(this).constructor;e=Reflect.construct(i,arguments,r)}else e=i.apply(this,arguments);return a(this,e)});function c(e,t){var n;u(this,c),n=i.call(this,e,t);var r=e.lexerActionExecutor||null;return n.lexerActionExecutor=r||(null!==t?t.lexerActionExecutor:null),n.passedThroughNonGreedyDecision=null!==t&&n.checkNonGreedyDecision(t,n.state),n.hashCodeForConfigSet=c.prototype.hashCode,n.equalsForConfigSet=c.prototype.equals,a(n,s(n))}return f(c,[{key:"updateHashCode",value:function(e){e.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}},{key:"equals",value:function(e){return this===e||e instanceof c&&this.passedThroughNonGreedyDecision===e.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(e.lexerActionExecutor):!e.lexerActionExecutor)&&r(l(c.prototype),"equals",this).call(this,e)}},{key:"checkNonGreedyDecision",value:function(e,t){return e.passedThroughNonGreedyDecision||t instanceof d&&t.nonGreedy}}]),c}(g);e.exports.ATNConfig=g,e.exports.LexerATNConfig=y},5327:function(e,t,n){function i(e,t){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},i(e,t)}function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n0&&(this.dipsIntoOuterContext=!0);var n=this.configLookup.add(e);if(n===e)return this.cachedHashCode=-1,this.configs.push(e),!0;var i=!this.fullCtx,r=d(n.context,e.context,i,t);return n.reachesIntoOuterContext=Math.max(n.reachesIntoOuterContext,e.reachesIntoOuterContext),e.precedenceFilterSuppressed&&(n.precedenceFilterSuppressed=!0),n.context=r,!0}},{key:"getStates",value:function(){for(var e=new c.Set,t=0;t=n}},{key:"deserialize",value:function(e){this.reset(e),this.checkVersion(),this.checkUUID();var t=this.readATN();this.readStates(t),this.readRules(t),this.readModes(t);var n=[];return this.readSets(t,n,this.readInt.bind(this)),this.isFeatureSupported(K,this.uuid)&&this.readSets(t,n,this.readInt32.bind(this)),this.readEdges(t,n),this.readDecisions(t),this.readLexerActions(t),this.markPrecedenceDecisions(t),this.verifyATN(t),this.deserializationOptions.generateRuleBypassTransitions&&t.grammarType===a.PARSER&&(this.generateRuleBypassTransitions(t),this.verifyATN(t)),t}},{key:"reset",value:function(e){var t=e.split("").map((function(e){var t=e.charCodeAt(0);return t>1?t-2:t+65534}));t[0]=e.charCodeAt(0),this.data=t,this.pos=0}},{key:"checkVersion",value:function(){var e=this.readInt();if(3!==e)throw"Could not deserialize ATN with version "+e+" (expected 3)."}},{key:"checkUUID",value:function(){var e=this.readUUID();if(Q.indexOf(e)<0)throw J;this.uuid=e}},{key:"readATN",value:function(){var e=this.readInt(),t=this.readInt();return new o(e,t)}},{key:"readStates",value:function(e){for(var t,n,i,r=[],o=[],a=this.readInt(),s=0;s0;)r.addTransition(f.transitions[m-1]),f.transitions=f.transitions.slice(-1);e.ruleToStartState[t].addTransition(new I(r)),o.addTransition(new I(s));var p=new u;e.addState(p),p.addTransition(new A(o,e.ruleToTokenType[t])),r.addTransition(new I(p))}},{key:"stateIsEndStateFor",value:function(e,t){if(e.ruleIndex!==t)return null;if(!(e instanceof C))return null;var n=e.transitions[e.transitions.length-1].target;return n instanceof m&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof h?e:null}},{key:"markPrecedenceDecisions",value:function(e){for(var t=0;t=0):this.checkCondition(n.transitions.length<=1||n instanceof h)}}},{key:"checkCondition",value:function(e,t){if(!e)throw null==t&&(t="IllegalState"),t}},{key:"readInt",value:function(){return this.data[this.pos++]}},{key:"readInt32",value:function(){return this.readInt()|this.readInt()<<16}},{key:"readLong",value:function(){return 4294967295&this.readInt32()|this.readInt32()<<32}},{key:"readUUID",value:function(){for(var e=[],t=7;t>=0;t--){var n=this.readInt();e[2*t+1]=255&n,e[2*t]=n>>8&255}return $[e[0]]+$[e[1]]+$[e[2]]+$[e[3]]+"-"+$[e[4]]+$[e[5]]+"-"+$[e[6]]+$[e[7]]+"-"+$[e[8]]+$[e[9]]+"-"+$[e[10]]+$[e[11]]+$[e[12]]+$[e[13]]+$[e[14]]+$[e[15]]}},{key:"edgeFactory",value:function(e,t,n,i,o,a,s,l){var u=e.states[i];switch(t){case D.EPSILON:return new I(u);case D.RANGE:return new T(u,0!==s?r.EOF:o,a);case D.RULE:return new k(e.states[o],a,s,u);case D.PREDICATE:return new O(u,o,a,0!==s);case D.PRECEDENCE:return new _(u,o);case D.ATOM:return new A(u,0!==s?r.EOF:o);case D.ACTION:return new w(u,o,a,0!==s);case D.SET:return new R(u,l[o]);case D.NOT_SET:return new M(u,l[o]);case D.WILDCARD:return new P(u);default:throw"The specified transition type: "+t+" is not valid."}}},{key:"stateFactory",value:function(e,t){if(null===this.stateFactories){var n=[];n[l.INVALID_TYPE]=null,n[l.BASIC]=function(){return new u},n[l.RULE_START]=function(){return new p},n[l.BLOCK_START]=function(){return new S},n[l.PLUS_BLOCK_START]=function(){return new x},n[l.STAR_BLOCK_START]=function(){return new b},n[l.TOKEN_START]=function(){return new g},n[l.RULE_STOP]=function(){return new h},n[l.BLOCK_END]=function(){return new d},n[l.STAR_LOOP_BACK]=function(){return new v},n[l.STAR_LOOP_ENTRY]=function(){return new C},n[l.PLUS_LOOP_BACK]=function(){return new y},n[l.LOOP_END]=function(){return new m},this.stateFactories=n}if(e>this.stateFactories.length||null===this.stateFactories[e])throw"The specified state type "+e+" is not valid.";var i=this.stateFactories[e]();if(null!==i)return i.ruleIndex=t,i}},{key:"lexerActionFactory",value:function(e,t,n){if(null===this.actionFactories){var i=[];i[B.CHANNEL]=function(e,t){return new q(e)},i[B.CUSTOM]=function(e,t){return new j(e,t)},i[B.MODE]=function(e,t){return new W(e)},i[B.MORE]=function(e,t){return z.INSTANCE},i[B.POP_MODE]=function(e,t){return G.INSTANCE},i[B.PUSH_MODE]=function(e,t){return new V(e)},i[B.SKIP]=function(e,t){return F.INSTANCE},i[B.TYPE]=function(e,t){return new H(e)},this.actionFactories=i}if(e>this.actionFactories.length||null===this.actionFactories[e])throw"The specified lexer action type "+e+" is not valid.";return this.actionFactories[e](t,n)}}])&&function(e,t){for(var n=0;nS.MAX_DFA_EDGE)return null;var n=e.edges[t-S.MIN_DFA_EDGE];return void 0===n&&(n=null),S.debug&&null!==n&&console.log("reuse state "+e.stateNumber+" edge to "+n.stateNumber),n}},{key:"computeTargetState",value:function(e,t,n){var i=new p;return this.getReachableConfigSet(e,t.configs,i,n),0===i.items.length?(i.hasSemanticContext||this.addDFAEdge(t,n,d.ERROR),d.ERROR):this.addDFAEdge(t,n,null,i)}},{key:"failOrAccept",value:function(e,t,n,i){if(null!==this.prevAccept.dfaState){var r=e.dfaState.lexerActionExecutor;return this.accept(t,r,this.startIndex,e.index,e.line,e.column),e.dfaState.prediction}if(i===u.EOF&&t.index===this.startIndex)return u.EOF;throw new b(this.recog,t,this.startIndex,n)}},{key:"getReachableConfigSet",value:function(e,t,n,i){for(var r=f.INVALID_ALT_NUMBER,o=0;oS.MAX_DFA_EDGE||(S.debug&&console.log("EDGE "+e+" -> "+n+" upon "+t),null===e.edges&&(e.edges=[]),e.edges[t-S.MIN_DFA_EDGE]=n),n}},{key:"addDFAState",value:function(e){for(var t=new m(null,e),n=null,i=0;i0&&(o=this.getAltThatFinishedDecisionEntryRule(r))!==c.INVALID_ALT_NUMBER?o:c.INVALID_ALT_NUMBER}},{key:"getAltThatFinishedDecisionEntryRule",value:function(e){for(var t=[],n=0;n0||i.state instanceof m&&i.context.hasEmptyPath())&&t.indexOf(i.alt)<0&&t.push(i.alt)}return 0===t.length?c.INVALID_ALT_NUMBER:Math.min.apply(null,t)}},{key:"splitAccordingToSemanticValidity",value:function(e,t){for(var n=new h(e.fullCtx),i=new h(e.fullCtx),r=0;r50))throw"problem";if(e.state instanceof m){if(!e.context.isEmpty()){for(var s=0;s=0&&(d+=1)}this.closureCheckingStopState(f,t,n,c,r,d,a)}}}},{key:"canDropLoopEntryEdgeInLeftRecursiveRule",value:function(e){var t=e.state;if(t.stateType!==d.STAR_LOOP_ENTRY)return!1;if(t.stateType!==d.STAR_LOOP_ENTRY||!t.isPrecedenceDecision||e.context.isEmpty()||e.context.hasEmptyPath())return!1;for(var n=e.context.length,i=0;i=0?this.parser.ruleNames[e]:""}},{key:"getEpsilonTarget",value:function(e,t,n,i,r,o){switch(t.serializationType){case M.RULE:return this.ruleTransition(e,t);case M.PRECEDENCE:return this.precedenceTransition(e,t,n,i,r);case M.PREDICATE:return this.predTransition(e,t,n,i,r);case M.ACTION:return this.actionTransition(e,t);case M.EPSILON:return new p({state:t.target},e);case M.ATOM:case M.RANGE:case M.SET:return o&&t.matches(g.EOF,0,1)?new p({state:t.target},e):null;default:return null}}},{key:"actionTransition",value:function(e,t){if(this.debug){var n=-1===t.actionIndex?65535:t.actionIndex;console.log("ACTION edge "+t.ruleIndex+":"+n)}return new p({state:t.target},e)}},{key:"precedenceTransition",value:function(e,t,n,i,r){this.debug&&(console.log("PRED (collectPredicates="+n+") "+t.precedence+">=_p, ctx dependent=true"),null!==this.parser&&console.log("context surrounding pred is "+a.arrayToString(this.parser.getRuleInvocationStack())));var o=null;if(n&&i)if(r){var s=this._input.index;this._input.seek(this._startIndex);var l=t.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(s),l&&(o=new p({state:t.target},e))}else{var u=E.andContext(e.semanticContext,t.getPredicate());o=new p({state:t.target,semanticContext:u},e)}else o=new p({state:t.target},e);return this.debug&&console.log("config from pred transition="+o),o}},{key:"predTransition",value:function(e,t,n,i,r){this.debug&&(console.log("PRED (collectPredicates="+n+") "+t.ruleIndex+":"+t.predIndex+", ctx dependent="+t.isCtxDependent),null!==this.parser&&console.log("context surrounding pred is "+a.arrayToString(this.parser.getRuleInvocationStack())));var o=null;if(n&&(t.isCtxDependent&&i||!t.isCtxDependent))if(r){var s=this._input.index;this._input.seek(this._startIndex);var l=t.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(s),l&&(o=new p({state:t.target},e))}else{var u=E.andContext(e.semanticContext,t.getPredicate());o=new p({state:t.target,semanticContext:u},e)}else o=new p({state:t.target},e);return this.debug&&console.log("config from pred transition="+o),o}},{key:"ruleTransition",value:function(e,t){this.debug&&console.log("CALL rule "+this.getRuleName(t.target.ruleIndex)+", ctx="+e.context);var n=t.followState,i=_.create(e.context,n.stateNumber);return new p({state:t.target,context:i},e)}},{key:"getConflictingAlts",value:function(e){var t=b.getConflictingAltSubsets(e);return b.getAlts(t)}},{key:"getConflictingAltsOrUniqueAlt",value:function(e){var t=null;return e.uniqueAlt!==c.INVALID_ALT_NUMBER?(t=new l).add(e.uniqueAlt):t=e.conflictingAlts,t}},{key:"getTokenName",value:function(e){if(e===g.EOF)return"EOF";if(null!==this.parser&&null!==this.parser.literalNames){if(!(e>=this.parser.literalNames.length&&e>=this.parser.symbolicNames.length))return(this.parser.literalNames[e]||this.parser.symbolicNames[e])+"<"+e+">";console.log(e+" ttype out of range: "+this.parser.literalNames),console.log(""+this.parser.getInputStream().getTokens())}return""+e}},{key:"getLookaheadName",value:function(e){return this.getTokenName(e.LA(1))}},{key:"dumpDeadEndConfigs",value:function(e){console.log("dead end configs: ");for(var t=e.getDeadEndConfigs(),n=0;n0){var o=i.state.transitions[0];o instanceof AtomTransition?r="Atom "+this.getTokenName(o.label):o instanceof k&&(r=(o instanceof T?"~":"")+"Set "+o.set)}console.error(i.toString(this.parser,!0)+":"+r)}}},{key:"noViableAlt",value:function(e,t,n,i){return new P(this.parser,e,e.get(i),e.LT(1),n,t)}},{key:"getUniqueAlt",value:function(e){for(var t=c.INVALID_ALT_NUMBER,n=0;n "+i+" upon "+this.getTokenName(n)),null===i)return null;if(i=this.addDFAState(e,i),null===t||n<-1||n>this.atn.maxTokenType)return i;if(null===t.edges&&(t.edges=[]),t.edges[n+1]=i,this.debug){var r=null===this.parser?null:this.parser.literalNames,o=null===this.parser?null:this.parser.symbolicNames;console.log("DFA=\n"+e.toString(r,o))}return i}},{key:"addDFAState",value:function(e,t){if(t===x.ERROR)return t;var n=e.states.get(t);return null!==n?n:(t.stateNumber=e.states.length,t.configs.readOnly||(t.configs.optimizeConfigs(this),t.configs.setReadonly(!0)),e.states.add(t),this.debug&&console.log("adding new DFA state: "+t),t)}},{key:"reportAttemptingFullContext",value:function(e,t,n,i,r){if(this.debug||this.retry_debug){var o=new A(i,r+1);console.log("reportAttemptingFullContext decision="+e.decision+":"+n+", input="+this.parser.getTokenStream().getText(o))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,e,i,r,t,n)}},{key:"reportContextSensitivity",value:function(e,t,n,i,r){if(this.debug||this.retry_debug){var o=new A(i,r+1);console.log("reportContextSensitivity decision="+e.decision+":"+n+", input="+this.parser.getTokenStream().getText(o))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,e,i,r,t,n)}},{key:"reportAmbiguity",value:function(e,t,n,i,r,o,a){if(this.debug||this.retry_debug){var s=new A(n,i+1);console.log("reportAmbiguity "+o+":"+a+", input="+this.parser.getTokenStream().getText(s))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,e,n,i,r,o,a)}}])&&function(e,t){for(var n=0;n1)return!0;return!1},allSubsetsEqual:function(e){for(var t=null,n=0;n=prec}?"}}],[{key:"filterPrecedencePredicates",value:function(e){var t=[];return e.values().map((function(e){e instanceof n&&t.push(e)})),t}}]),n}(h),v=function(e){r(n,e);var t=a(n);function n(e,i){var r;l(this,n),r=t.call(this);var o=new d;e instanceof n?e.opnds.map((function(e){o.add(e)})):o.add(e),i instanceof n?i.opnds.map((function(e){o.add(e)})):o.add(i);var a=y.filterPrecedencePredicates(o);if(a.length>0){var s=null;a.map((function(e){(null===s||e.precedence3?e.slice(3):e).join("&&")}}]),n}(h),C=function(e){r(n,e);var t=a(n);function n(e,i){var r;l(this,n),r=t.call(this);var o=new d;e instanceof n?e.opnds.map((function(e){o.add(e)})):o.add(e),i instanceof n?i.opnds.map((function(e){o.add(e)})):o.add(i);var a=y.filterPrecedencePredicates(o);if(a.length>0){var s=a.sort((function(e,t){return e.compareTo(t)})),u=s[s.length-1];o.add(u)}return r.opnds=Array.from(o.values()),r}return c(n,[{key:"equals",value:function(e){return this===e||e instanceof n&&p(this.opnds,e.opnds)}},{key:"updateHashCode",value:function(e){e.update(this.opnds,"OR")}},{key:"evaluate",value:function(e,t){for(var n=0;n3?e.slice(3):e).join("||")}}]),n}(h);e.exports={SemanticContext:h,PrecedencePredicate:y,Predicate:g}},3412:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(){return r="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=l(e)););return e}(e,t);if(i){var r=Object.getOwnPropertyDescriptor(i,t);return r.get?r.get.call(arguments.length<3?e:n):r.value}},r.apply(this,arguments)}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&a(e,t)}function a(e,t){return a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},a(e,t)}function s(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=l(e);if(t){var o=l(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}function l(e){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},l(e)}function u(e,t){for(var n=0;n=this.start&&e<=this.stop}},{key:"toString",value:function(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}}]),n}(y),S=function(e){o(n,e);var t=s(n);function n(e){return f(this,n),t.call(this,e)}return c(n)}(y),E=function(e){o(n,e);var t=s(n);function n(e,i,r,o){var a;return f(this,n),(a=t.call(this,e)).serializationType=y.PREDICATE,a.ruleIndex=i,a.predIndex=r,a.isCtxDependent=o,a.isEpsilon=!0,a}return c(n,[{key:"matches",value:function(e,t,n){return!1}},{key:"getPredicate",value:function(){return new h(this.ruleIndex,this.predIndex,this.isCtxDependent)}},{key:"toString",value:function(){return"pred_"+this.ruleIndex+":"+this.predIndex}}]),n}(S),D=function(e){o(n,e);var t=s(n);function n(e,i,r,o){var a;return f(this,n),(a=t.call(this,e)).serializationType=y.ACTION,a.ruleIndex=i,a.actionIndex=void 0===r?-1:r,a.isCtxDependent=void 0!==o&&o,a.isEpsilon=!0,a}return c(n,[{key:"matches",value:function(e,t,n){return!1}},{key:"toString",value:function(){return"action_"+this.ruleIndex+":"+this.actionIndex}}]),n}(y),A=function(e){o(n,e);var t=s(n);function n(e,i){var r;return f(this,n),(r=t.call(this,e)).serializationType=y.SET,null!=i?r.label=i:(r.label=new m,r.label.addOne(d.INVALID_TYPE)),r}return c(n,[{key:"matches",value:function(e,t,n){return this.label.contains(e)}},{key:"toString",value:function(){return this.label.toString()}}]),n}(y),R=function(e){o(n,e);var t=s(n);function n(e,i){var r;return f(this,n),(r=t.call(this,e,i)).serializationType=y.NOT_SET,r}return c(n,[{key:"matches",value:function(e,t,i){return e>=t&&e<=i&&!r(l(n.prototype),"matches",this).call(this,e,t,i)}},{key:"toString",value:function(){return"~"+r(l(n.prototype),"toString",this).call(this)}}]),n}(A),M=function(e){o(n,e);var t=s(n);function n(e){var i;return f(this,n),(i=t.call(this,e)).serializationType=y.WILDCARD,i}return c(n,[{key:"matches",value:function(e,t,n){return e>=t&&e<=n}},{key:"toString",value:function(){return"."}}]),n}(y),k=function(e){o(n,e);var t=s(n);function n(e,i){var r;return f(this,n),(r=t.call(this,e)).serializationType=y.PRECEDENCE,r.precedence=i,r.isEpsilon=!0,r}return c(n,[{key:"matches",value:function(e,t,n){return!1}},{key:"getPredicate",value:function(){return new g(this.precedence)}},{key:"toString",value:function(){return this.precedence+" >= _p"}}]),n}(S);e.exports={Transition:y,AtomTransition:v,SetTransition:A,NotSetTransition:R,RuleTransition:C,ActionTransition:D,EpsilonTransition:x,RangeTransition:b,WildcardTransition:M,PredicateTransition:E,PrecedencePredicateTransition:k,AbstractPredicateTransition:S}},5212:function(e,t,n){t.ATN=n(7835),t.ATNDeserializer=n(2162),t.LexerATNSimulator=n(4549),t.ParserATNSimulator=n(8877),t.PredictionMode=n(2523)},8386:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var r=n(7090).Set,o=n(9324).DFAState,a=n(4).StarLoopEntryState,s=n(5327).ATNConfigSet,l=n(4815).DFASerializer,u=n(4815).LexerDFASerializer,c=function(){function e(t,n){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),void 0===n&&(n=0),this.atnStartState=t,this.decision=n,this._states=new r,this.s0=null,this.precedenceDfa=!1,t instanceof a&&t.isPrecedenceDecision){this.precedenceDfa=!0;var i=new o(null,new s);i.edges=[],i.isAcceptState=!1,i.requiresFullContext=!1,this.s0=i}}var t,n;return t=e,(n=[{key:"getPrecedenceStartState",value:function(e){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";return e<0||e>=this.s0.edges.length?null:this.s0.edges[e]||null}},{key:"setPrecedenceStartState",value:function(e,t){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";e<0||(this.s0.edges[e]=t)}},{key:"setPrecedenceDfa",value:function(e){if(this.precedenceDfa!==e){if(this._states=new r,e){var t=new o(null,new s);t.edges=[],t.isAcceptState=!1,t.requiresFullContext=!1,this.s0=t}else this.s0=null;this.precedenceDfa=e}}},{key:"sortedStates",value:function(){return this._states.values().sort((function(e,t){return e.stateNumber-t.stateNumber}))}},{key:"toString",value:function(e,t){return e=e||null,t=t||null,null===this.s0?"":new l(this,e,t).toString()}},{key:"toLexerString",value:function(){return null===this.s0?"":new u(this).toString()}},{key:"states",get:function(){return this._states}}])&&function(e,t){for(var n=0;n")).concat(this.getStateString(a))).concat("\n"))}}return 0===e.length?null:e}},{key:"getEdgeLabel",value:function(e){return 0===e?"EOF":null!==this.literalNames||null!==this.symbolicNames?this.literalNames[e-1]||this.symbolicNames[e-1]:String.fromCharCode(e-1)}},{key:"getStateString",value:function(e){var t=(e.isAcceptState?":":"")+"s"+e.stateNumber+(e.requiresFullContext?"^":"");return e.isAcceptState?null!==e.predicates?t+"=>"+u.arrayToString(e.predicates):t+"=>"+e.prediction.toString():t}}]),e}(),f=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&i(e,t)}(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,i=r(t);if(n){var a=r(this).constructor;e=Reflect.construct(i,arguments,a)}else e=i.apply(this,arguments);return function(e,t){if(t&&("object"===o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function u(e){return a(this,u),s.call(this,e,null)}return l(u,[{key:"getEdgeLabel",value:function(e){return"'"+String.fromCharCode(e)+"'"}}]),u}(c);e.exports={DFASerializer:c,LexerDFASerializer:f}},9324:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){for(var n=0;n=r.length)return""+n;var o=r[i]||null;return null===o||0===o.length?""+n:"".concat(n," (").concat(o,")")}},{key:"getConflictingAlts",value:function(e,t){if(null!==e)return e;for(var n=new a,i=0;i=0&&e.consume(),this.lastErrorIndex=e._input.index,null===this.lastErrorStates&&(this.lastErrorStates=[]),this.lastErrorStates.push(e.state);var n=this.getErrorRecoverySet(e);this.consumeUntil(e,n)}},{key:"sync",value:function(e){if(!this.inErrorRecoveryMode(e)){var t=e._interp.atn.states[e.state],n=e.getTokenStream().LA(1),i=e.atn.nextTokens(t);if(i.contains(n))return this.nextTokensContext=null,void(this.nextTokenState=y.INVALID_STATE_NUMBER);if(i.contains(f.EPSILON))null===this.nextTokensContext&&(this.nextTokensContext=e._ctx,this.nextTokensState=e._stateNumber);else switch(t.stateType){case y.BLOCK_START:case y.STAR_BLOCK_START:case y.PLUS_BLOCK_START:case y.STAR_LOOP_ENTRY:if(null!==this.singleTokenDeletion(e))return;throw new p(e);case y.PLUS_LOOP_BACK:case y.STAR_LOOP_BACK:this.reportUnwantedToken(e);var r=new x;r.addSet(e.getExpectedTokens());var o=r.addSet(this.getErrorRecoverySet(e));this.consumeUntil(e,o)}}}},{key:"reportNoViableAlternative",value:function(e,t){var n,i=e.getTokenStream();n=null!==i?t.startToken.type===f.EOF?"":i.getText(new C(t.startToken.tokenIndex,t.offendingToken.tokenIndex)):"";var r="no viable alternative at input "+this.escapeWSAndQuote(n);e.notifyErrorListeners(r,t.offendingToken,t)}},{key:"reportInputMismatch",value:function(e,t){var n="mismatched input "+this.getTokenErrorDisplay(t.offendingToken)+" expecting "+t.getExpectedTokens().toString(e.literalNames,e.symbolicNames);e.notifyErrorListeners(n,t.offendingToken,t)}},{key:"reportFailedPredicate",value:function(e,t){var n="rule "+e.ruleNames[e._ctx.ruleIndex]+" "+t.message;e.notifyErrorListeners(n,t.offendingToken,t)}},{key:"reportUnwantedToken",value:function(e){if(!this.inErrorRecoveryMode(e)){this.beginErrorCondition(e);var t=e.getCurrentToken(),n="extraneous input "+this.getTokenErrorDisplay(t)+" expecting "+this.getExpectedTokens(e).toString(e.literalNames,e.symbolicNames);e.notifyErrorListeners(n,t,null)}}},{key:"reportMissingToken",value:function(e){if(!this.inErrorRecoveryMode(e)){this.beginErrorCondition(e);var t=e.getCurrentToken(),n="missing "+this.getExpectedTokens(e).toString(e.literalNames,e.symbolicNames)+" at "+this.getTokenErrorDisplay(t);e.notifyErrorListeners(n,t,null)}}},{key:"recoverInline",value:function(e){var t=this.singleTokenDeletion(e);if(null!==t)return e.consume(),t;if(this.singleTokenInsertion(e))return this.getMissingSymbol(e);throw new p(e)}},{key:"singleTokenInsertion",value:function(e){var t=e.getTokenStream().LA(1),n=e._interp.atn,i=n.states[e.state].transitions[0].target;return!!n.nextTokens(i,e._ctx).contains(t)&&(this.reportMissingToken(e),!0)}},{key:"singleTokenDeletion",value:function(e){var t=e.getTokenStream().LA(2);if(this.getExpectedTokens(e).contains(t)){this.reportUnwantedToken(e),e.consume();var n=e.getCurrentToken();return this.reportMatch(e),n}return null}},{key:"getMissingSymbol",value:function(e){var t,n=e.getCurrentToken(),i=this.getExpectedTokens(e).first();t=i===f.EOF?"":"";var r=n,o=e.getTokenStream().LT(-1);return r.type===f.EOF&&null!==o&&(r=o),e.getTokenFactory().create(r.source,i,t,f.DEFAULT_CHANNEL,-1,-1,r.line,r.column)}},{key:"getExpectedTokens",value:function(e){return e.getExpectedTokens()}},{key:"getTokenErrorDisplay",value:function(e){if(null===e)return"";var t=e.text;return null===t&&(t=e.type===f.EOF?"":"<"+e.type+">"),this.escapeWSAndQuote(t)}},{key:"escapeWSAndQuote",value:function(e){return"'"+(e=(e=(e=e.replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/\t/g,"\\t"))+"'"}},{key:"getErrorRecoverySet",value:function(e){for(var t=e._interp.atn,n=e._ctx,i=new x;null!==n&&n.invokingState>=0;){var r=t.states[n.invokingState].transitions[0],o=t.nextTokens(r.followState);i.addSet(o),n=n.parentCtx}return i.removeOne(f.EPSILON),i}},{key:"consumeUntil",value:function(e,t){for(var n=e.getTokenStream().LA(1);n!==f.EOF&&!t.contains(n);)e.consume(),n=e.getTokenStream().LA(1)}}]),n}(function(){function e(){l(this,e)}return c(e,[{key:"reset",value:function(e){}},{key:"recoverInline",value:function(e){}},{key:"recover",value:function(e,t){}},{key:"sync",value:function(e){}},{key:"inErrorRecoveryMode",value:function(e){}},{key:"reportError",value:function(e){}}]),e}()),S=function(e){r(n,e);var t=a(n);function n(){return l(this,n),t.call(this)}return c(n,[{key:"recover",value:function(e,t){for(var n=e._ctx;null!==n;)n.exception=t,n=n.parentCtx;throw new g(t)}},{key:"recoverInline",value:function(e){this.recover(e,new p(e))}},{key:"sync",value:function(e){}}]),n}(b);e.exports={BailErrorStrategy:S,DefaultErrorStrategy:b}},1162:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){for(var n=0;n=0&&this.startIndex=n)){var r,o=t.charCodeAt(i);return o>=55296&&o<=56319&&n>i+1&&(r=t.charCodeAt(i+1))>=56320&&r<=57343?1024*(o-55296)+r-56320+65536:o}};e?e(String.prototype,"codePointAt",{value:t,configurable:!0,writable:!0}):String.prototype.codePointAt=t}()},7700:function(){var e,t,n,i;String.fromCodePoint||(e=function(){var e;try{var t={},n=Object.defineProperty;e=n(t,t,t)&&n}catch(e){}return e}(),t=String.fromCharCode,n=Math.floor,i=function(e){var i,r,o=[],a=-1,s=arguments.length;if(!s)return"";for(var l="";++a1114111||n(u)!==u)throw RangeError("Invalid code point: "+u);u<=65535?o.push(u):(i=55296+((u-=65536)>>10),r=u%1024+56320,o.push(i,r)),(a+1===s||o.length>16384)&&(l+=t.apply(null,o),o.length=0)}return l},e?e(String,"fromCodePoint",{value:i,configurable:!0,writable:!0}):String.fromCodePoint=i)},4524:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)}function o(e,t){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},o(e,t)}function a(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=s(e);if(t){var o=s(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}function s(e){return s=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},s(e)}function l(e,t){for(var n=0;n":this.symbol.text}}]),n}(g),b=function(e){r(n,e);var t=a(n);function n(e){return c(this,n),t.call(this,e)}return u(n,[{key:"isErrorNode",value:function(){return!0}},{key:"accept",value:function(e){return e.visitErrorNode(this)}}]),n}(x),S=function(){function e(){c(this,e)}return u(e,[{key:"walk",value:function(e,t){if(t instanceof y||void 0!==t.isErrorNode&&t.isErrorNode())e.visitErrorNode(t);else if(t instanceof g)e.visitTerminal(t);else{this.enterRule(e,t);for(var n=0;n0&&(r=u.toStringTree(e.getChild(0),t),a=a.concat(r));for(var s=1;s1)throw new Error("Expected singleton on right side of contains, got "+JSON.stringify(t));return o(e,t)},r.in=function(e,t){if(0==e.length)return[];if(0==t.length)return!1;if(e.length>1)throw new Error("Expected singleton on right side of in, got "+JSON.stringify(t));return o(t,e)},e.exports=r},4461:function(e,t,n){var i={},r=n(968).distinctFn,o=n(7909);i.union=function(e,t){return r(e.concat(t))},i.combineFn=function(e,t){return e.concat(t)},i.intersect=function(e,t){var n=[],i=e.length,r=t.length;if(i&&r){var a={};t.forEach((function(e){var t=o(e);a[t]?r--:a[t]=!0}));for(var s=0;s0;++s){var l=e[s],u=o(l);a[u]&&(n.push(l),a[u]=!1,r--)}}return n},i.exclude=function(e,t){var n=[];if(e.length){var i={};t.forEach((function(e){var t=o(e);i[t]=!0})),n=e.filter((function(e){return!i[o(e)]}))}return n},e.exports=i},5263:function(e){e.exports={reset:function(){this.nowDate=new Date,this.today=null,this.now=null,this.timeOfDay=null,this.localTimezoneOffset=null},today:null,now:null,timeOfDay:null}},3526:function(e,t,n){var i={},r=n(7028),o=n(5263),a=r.FP_Date,s=r.FP_DateTime,l=r.FP_Time;i.now=function(){if(!o.now){var e=o.nowDate,t=s.isoDateTime(e);o.now=new s(t)}return o.now},i.today=function(){if(!o.today){var e=o.nowDate,t=a.isoDate(e);o.today=new a(t)}return o.today},i.timeOfDay=function(){if(!o.timeOfDay){var e=o.nowDate,t=s.isoTime(e);o.timeOfDay=new l(t)}return o.timeOfDay},e.exports=i},7567:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var r=n(7028).FP_Type,o=n(1575),a=n(4497),s=Array.prototype.slice,l=Object.keys,u=function(e){return"[object Arguments]"==Object.prototype.toString.call(e)};function c(e){return"string"==typeof e||e instanceof String}function f(e){return!isNaN(parseFloat(e))&&isFinite(e)}function d(e){return e.toUpperCase().replace(/\s+/," ")}function m(e){return null==e}e.exports=function e(t,n,p){if(p||(p={}),(t=o.valDataConverted(t))===(n=o.valDataConverted(n)))return!0;if(p.fuzzy){if(c(t)&&c(n))return d(t)==d(n);if(f(t)&&f(n))return a.isEquivalent(t,n)}else if("number"==typeof t&&"number"==typeof n)return a.isEqual(t,n);if(t instanceof Date&&n instanceof Date)return t.getTime()===n.getTime();if(!t||!n||"object"!=i(t)&&"object"!=i(n))return t===n;var h=t instanceof r,g=n instanceof r;return h&&g?p.fuzzy?t.equivalentTo(n):t.equals(n):!h&&!g&&function(t,n,r){var o,a;if(m(t)||m(n))return!1;if(t.prototype!==n.prototype)return!1;if(u(t)||u(n))return e(t=u(t)?s.call(t):t,n=u(n)?s.call(n):n,r);try{var c=l(t),f=l(n)}catch(e){return!1}if(c.length!=f.length)return!1;for(c.sort(),f.sort(),o=c.length-1;o>=0;o--)if(c[o]!=f[o])return!1;if(1===c.length)return e(t[a=c[0]],n[a],r);for(o=c.length-1;o>=0;o--)if(!e(t[a=c[o]],n[a],r))return!1;return i(t)===i(n)}(t,n,p)}},3776:function(e,t,n){function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i,r,o,a,s=[],l=!0,u=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=o.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,r=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw r}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n0}return r>o},f.lte=function(e,t){if(!e.length||!t.length)return[];var n=i(p(e,t),2),r=n[0],o=n[1];if(r instanceof l){var a=r.compare(o);return null===a?[]:a<=0}return r<=o},f.gte=function(e,t){if(!e.length||!t.length)return[];var n=i(p(e,t),2),r=n[0],o=n[1];if(r instanceof l){var a=r.compare(o);return null===a?[]:a>=0}return r>=o},e.exports=f},4843:function(e,t,n){var i=n(1575),r=n(968),o=r.whereMacro,a=r.distinctFn,s=n(4230),l=n(7909),u={};function c(e,t){var n=e.length,i=n<=t.length;if(i&&n){var r=t.reduce((function(e,t){return e[l(t)]=!0,e}),{});i=!e.some((function(e){return!r[l(e)]}))}return i}u.emptyFn=i.isEmpty,u.notFn=function(e){var t=s.singleton(e,"Boolean");return"boolean"==typeof t?!t:[]},u.existsMacro=function(e,t){var n=e;return t?u.existsMacro(o(e,t)):!i.isEmpty(n)},u.allMacro=function(e,t){for(var n=0,r=e.length;ne.length)&&(t=e.length);for(var n=0,i=new Array(t);n":{fn:x.gt,arity:{2:["Any","Any"]},nullable:!0},"<=":{fn:x.lte,arity:{2:["Any","Any"]},nullable:!0},">=":{fn:x.gte,arity:{2:["Any","Any"]},nullable:!0},containsOp:{fn:b.contains,arity:{2:["Any","Any"]}},inOp:{fn:b.in,arity:{2:["Any","Any"]}},isOp:{fn:M.isFn,arity:{2:["Any","TypeSpecifier"]}},asOp:{fn:M.asFn,arity:{2:["Any","TypeSpecifier"]}},"&":{fn:S.amp,arity:{2:["String","String"]}},"+":{fn:S.plus,arity:{2:["Any","Any"]},nullable:!0},"-":{fn:S.minus,arity:{2:["Any","Any"]},nullable:!0},"*":{fn:S.mul,arity:{2:["Number","Number"]},nullable:!0},"/":{fn:S.div,arity:{2:["Number","Number"]},nullable:!0},mod:{fn:S.mod,arity:{2:["Number","Number"]},nullable:!0},div:{fn:S.intdiv,arity:{2:["Number","Number"]},nullable:!0},or:{fn:R.orOp,arity:{2:[["Boolean"],["Boolean"]]}},and:{fn:R.andOp,arity:{2:[["Boolean"],["Boolean"]]}},xor:{fn:R.xorOp,arity:{2:[["Boolean"],["Boolean"]]}},implies:{fn:R.impliesOp,arity:{2:[["Boolean"],["Boolean"]]}}},p.InvocationExpression=function(e,t,n){return n.children.reduce((function(t,n){return p.doEval(e,t,n)}),t)},p.TermExpression=function(e,t,n){return t&&(t=t.map((function(e){return e instanceof Object&&e.resourceType?L(e,e.resourceType):e}))),p.doEval(e,t,n.children[0])},p.PolarityExpression=function(e,t,n){var i=n.terminalNodeText[0],r=p.doEval(e,t,n.children[0]);if(1!==r.length)throw new Error("Unary "+i+" can only be applied to an individual number.");if("number"!=typeof r[0]||isNaN(r[0]))throw new Error("Unary "+i+" can only be applied to a number.");return"-"===i&&(r[0]=-r[0]),r},p.TypeSpecifier=function(e,t,n){var i,r,o=n.text.split(".").map((function(e){return e.replace(/(^`|`$)/g,"")}));switch(o.length){case 2:var a=s(o,2);i=a[0],r=a[1];break;case 1:r=s(o,1)[0];break;default:throw new Error("Expected TypeSpecifier node, got "+JSON.stringify(n))}return new _({namespace:i,name:r})},p.ExternalConstantTerm=function(e,t,n){var i=n.children[0].children[0],r=p.Identifier(e,t,i)[0],o=e.vars[r];if(!(r in e.vars))throw new Error("Attempting to access an undefined environment variable: "+r);return null==o?[]:o instanceof Array?o:[o]},p.LiteralTerm=function(e,t,n){var i=n.children[0];return i?p.doEval(e,t,i):[n.text]},p.StringLiteral=function(e,t,n){var i=n.text.replace(/(^'|'$)/g,"");return[i=i.replace(/\\(u\d{4}|.)/g,(function(e,t){switch(e){case"\\r":return"\r";case"\\n":return"\n";case"\\t":return"\t";case"\\f":return"\f";default:return t.length>1?String.fromCharCode("0x"+t.slice(1)):t}}))]},p.BooleanLiteral=function(e,t,n){return"true"===n.text?[!0]:[!1]},p.QuantityLiteral=function(e,t,n){var i=n.children[0],r=Number(i.terminalNodeText[0]),o=i.children[0],a=o.terminalNodeText[0];return!a&&o.children&&(a=o.children[0].terminalNodeText[0]),[new I(r,a)]},p.DateTimeLiteral=function(e,t,n){var i=n.text.slice(1);return[new T(i)]},p.TimeLiteral=function(e,t,n){var i=n.text.slice(1);return[new w(i)]},p.NumberLiteral=function(e,t,n){return[Number(n.text)]},p.Identifier=function(e,t,n){return[n.text.replace(/(^`|`$)/g,"")]},p.InvocationTerm=function(e,t,n){return p.doEval(e,t,n.children[0])},p.MemberInvocation=function(e,t,n){var i=p.doEval(e,t,n.children[0])[0],r=e.model;if(t){if(d.isCapitalized(i))return t.filter((function(e){return e instanceof O&&e.path===i}));var o=t.path||t.__path__;return t.reduce((function(e,t){var n,a,s=(t=L(t,o)).path+"."+i;if(r){var u=r.pathsDefinedElsewhere[s];u&&(s=u)}var c=r&&r.choiceTypePaths[s];if(c){var f,m=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=l(e))){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}(c);try{for(m.s();!(f=m.n()).done;){var p,h,g=f.value,y=i+g;if(n=null===(p=t.data)||void 0===p?void 0:p[y],a=null===(h=t.data)||void 0===h?void 0:h["_"+y],void 0!==n||void 0!==a){s+=g;break}}}catch(e){m.e(e)}finally{m.f()}}else{var v,C;n=null===(v=t.data)||void 0===v?void 0:v[i],a=null===(C=t.data)||void 0===C?void 0:C["_"+i],void 0===n&&void 0===a&&(n=t._data[i]),"extension"===i&&(s="Extension")}return s=r&&r.path2Type[s]||s,d.isSome(n)||d.isSome(a)?(Array.isArray(n)?e=e.concat(n.map((function(e,t){return L(e,s,a&&a[t])}))):e.push(L(n,s,a)),e):e}),[])}return[]},p.IndexerExpression=function(e,t,n){var i=n.children[0],r=n.children[1],o=p.doEval(e,t,i),a=p.doEval(e,t,r);if(d.isEmpty(a))return[];var s=parseInt(a[0]);return o&&d.isSome(s)&&o.length>s&&s>=0?[o[s]]:[]},p.Functn=function(e,t,n){return n.children.map((function(n){return p.doEval(e,t,n)}))},p.realizeParams=function(e,t,n){return n&&n[0]&&n[0].children?n[0].children.map((function(n){return p.doEval(e,t,n)})):[]},p.FunctionInvocation=function(e,t,n){var i=p.doEval(e,t,n.children[0]),r=i[0];return i.shift(),function(e,t,n,i){var r,o=p.invocationTable[t];if(o){if(o.arity){var a=i?i.length:0,s=o.arity[a];if(s){for(var l=[],u=0;u0)for(var n={},i=0,r=e.length;i1)throw new Error("Could not convert to quantity: input collection contains multiple items");if(1===e.length){var i,o=r.valDataConverted(e[0]);if("number"==typeof o)n=new a(o,"'1'");else if(o instanceof a)n=o;else if("boolean"==typeof o)n=new a(o?1:0,"'1'");else if("string"==typeof o&&(i=u.exec(o))){var s=i[1],l=i[5],c=i[6];c&&!a.mapTimeUnitsToUCUMCode[c]||(n=new a(Number(s),l||c||"'1'"))}n&&t&&n.unit!==t&&(n=a.convUnitTo(n.unit,n.value,t))}return n||[]};var c=/^[+-]?\d+(\.\d+)?$/;function f(e){var t=e.slice(3);s["to"+t]=function(n){var i=[];if(n.length>1)throw Error("to "+t+" called for a collection of length "+n.length);if(1===n.length){var a=o[e].checkString(r.valData(n[0]));a&&(i=a)}return i}}s.toDecimal=function(e){if(1!==e.length)return[];var t=r.valData(e[0]);return!1===t?0:!0===t?1:"number"==typeof t?t:"string"==typeof t&&c.test(t)?parseFloat(t):[]},s.toString=function(e){return 1!==e.length?[]:r.valDataConverted(e[0]).toString()},f("FP_Date"),f("FP_DateTime"),f("FP_Time");var d=["true","t","yes","y","1","1.0"].reduce((function(e,t){return e[t]=!0,e}),{}),m=["false","f","no","n","0","0.0"].reduce((function(e,t){return e[t]=!0,e}),{});s.toBoolean=function(e){if(1!==e.length)return[];var t=r.valData(e[0]);switch(i(t)){case"boolean":return t;case"number":if(1===t)return!0;if(0===t)return!1;break;case"string":var n=t.toLowerCase();if(d[n])return!0;if(m[n])return!1}return[]},s.createConvertsToFn=function(e,t){return"string"==typeof t?function(n){return 1!==n.length?[]:i(e(n))===t}:function(n){return 1!==n.length?[]:e(n)instanceof t}};var p={Integer:function(e){var t=r.valData(e[0]);if(Number.isInteger(t))return t},Boolean:function(e){var t=r.valData(e[0]);return!0===t||!1===t?t:1===e.length||void 0},Number:function(e){var t=r.valData(e[0]);if("number"==typeof t)return t},String:function(e){var t=r.valData(e[0]);if("string"==typeof t)return t}};s.singleton=function(e,t){if(e.length>1)throw new Error("Unexpected collection"+JSON.stringify(e)+"; expected singleton of type "+t);if(0===e.length)return[];var n=p[t];if(n){var i=n(e);if(void 0!==i)return i;throw new Error("Expected ".concat(t.toLowerCase(),", but got: ").concat(JSON.stringify(e)))}throw new Error("Not supported type "+t)};var h=new Set(["instant","time","date","dateTime","base64Binary","decimal","integer64","boolean","string","code","markdown","id","integer","unsignedInt","positiveInt","uri","oid","uuid","canonical","url"]);function g(e){switch(i(e)){case"string":case"number":case"boolean":return!0;default:return!1}}s.hasValueFn=function(e){var t=this.model;return 1===e.length?t?[h.has(e[0].path)]:[g(r.valData(e[0]))]:[!1]},e.exports=s},6183:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var r=n(1575),o=n(7028).ResourceNode.makeResNode,a={children:function(e){var t=this.model;return e.reduce((function(e,n){var a=r.valData(n);if(n=o(n),"object"===i(a)){for(var s=0,l=Object.keys(a);s0;)n.push.apply(n,t),t=a.children.call(this,t);return n}};e.exports=a},4497:function(e){var t={};function n(e){var t=/(\d+)(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/.exec(""+ +e);if(!t)return 0;var n=t[2],i=t[3];return Math.max(0,("0"===n?0:(n||"").length)-(i||0))}function i(e,t){var n=Math.pow(10,t);return Math.round(e*n)/n}var r=t.roundToMaxPrecision=function(e){return 1e-8*Math.round(e/1e-8)};t.isEquivalent=function(e,t){if(Number.isInteger(e)&&Number.isInteger(t))return e===t;var r=Math.min(n(e),n(t));return 0===r?Math.round(e)===Math.round(t):i(e,r)===i(t,r)},t.isEqual=function(e,t){return r(e)===r(t)},e.exports=t},2589:function(e,t,n){t.atn=n(5212),t.codepointat=n(2054),t.dfa=n(7853),t.fromcodepoint=n(7700),t.tree=n(703),t.error=n(1770),t.Token=n(9616).Token,t.CommonToken=n(9616).CommonToken,t.InputStream=n(3960),t.CommonTokenStream=n(8617),t.Lexer=n(4149),t.Parser=n(4680);var i=n(9699);t.PredictionContextCache=i.PredictionContextCache,t.ParserRuleContext=n(788),t.Interval=n(5062).Interval,t.IntervalSet=n(5062).IntervalSet,t.Utils=n(7090),t.LL1Analyzer=n(2894).LL1Analyzer},4081:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){for(var n=0;n\t>","?\t?@\t@A\tAB\tBC\tCD\tD","","\b","\b\t\t\t\t\n\n\n\n","\v\v\f\f\r\r\r","","","","","","","","",""," ",' !!!!!"""','"""##$$$$$',"$%%%%%%%&","&&&&&&''((","((())))))*","****++++,,",",,,-------",".......///","/////////0","0000011111","1122222233","3334444445","5555555666","6666677777","7777777788","8888888888","88ƃ\n88ƅ\n88Ƈ\n888Ɗ","\n89999:::::","::::::ƚ\n:\r::ƛ",":ƞ\n::Ơ\n::Ƣ\n::::",":::::ƫ\n:;;Ʈ\n;",";;Ʊ\n;\f;;ƴ\v;<<<","<ƹ\n<\f<<Ƽ\v<<<==","==ǃ\n=\f==dž\v===>",">Nj\n>\r>>nj>>>Ǒ\n>\r>>ǒ",">Ǖ\n>??ǘ\n?\r??Ǚ?","?@@@@@Ǣ\n@\f@@ǥ\v","@@@@@@AAAA","Aǰ\nA\fAAdz\vAAABB","BBǺ\nBCCCCCCD","DǣE\t\v","\r\b\t\n\v\f\r","!#%')+","-/13579;= ?!A","\"C#E$G%I&K'M(O)Q*S+U,W-Y.[/]0_1a2c3e4g5i6k7m8o9q:su;w}","?@Aƒ…‡\f","2;--//C\\aac|2;C\\aac|",'^^bb))\v\f""',"\f\f\n))11^^bbhhppttvv2;CHchȔ","","\t","\v\r","","","","","!","#%","')+","-/","13","57","9;","=?A","CE","GI","KM","OQ","SUW","Y[","]_","ac","eg","ikm","oq","uw","y{","}","‰","‹","\t\v‘","\r“•","—›","Ÿ¡","£¦","¨ª","!­#°%³","'µ)·","+º-½","/À1É","3Í5Ð","7Ô9Ü;Þ","=à?â","AäCé","EïGñ","I÷Kþ","MąOćQČ","SĒUė","WěYĠ","[ħ]Į","_ĺaŀ","cŇeōgŒ","iŘkŠ","mŨoŵ","qƋsƏ","uƭwƵ","yƿ{NJ}Ǘ","ǝǫ","ƒǶ…ǻ","‡ȁ‰Š","0Š‹Œ","]ŒŽ","_Ž\b","-\n‘’/","’\f“”,","”•–1","–—˜f","˜™k™šxš","›œoœ","qžfž","Ÿ ( ","¡¢~¢","£¤>¤¥","?¥¦§",">§¨©","@©ª«","@«¬?¬ ","­®k®¯u",'¯"°±c',"±²u²$³","´?´&µ¶","€¶(·¸","#¸¹?¹*","º»#»¼€","¼,½¾k","¾¿p¿.","ÀÁeÁÂqÂ","ÃpÃÄvÄÅ","cÅÆkÆÇ","pÇÈuÈ0","ÉÊcÊËp","ËÌfÌ2Í","ÎqÎÏtÏ4","ÐÑzÑÒ","qÒÓtÓ6","ÔÕkÕÖo","Ö×r×ØnØ","ÙkÙÚgÚÛ","uÛ8ÜÝ","*Ý:Þß+","ß<àá}","á>âã","ã@äåvå","ætæçwçè","gèBéê","hêëcëìn","ìíuíîg","îDïð'ð","Fñò&òó","vóôjôõ","kõöuöH","÷ø&øùk","ùúpúûfû","ügüýzýJ","þÿ&ÿĀ","vĀāqāĂv","ĂăcăĄn","ĄLąĆ.Ć","NćĈ{Ĉĉ","gĉĊcĊċ","tċPČčo","čĎqĎďp","ďĐvĐđjđ","RĒēyēĔ","gĔĕgĕĖ","mĖTėĘf","ĘęcęĚ{","ĚVěĜjĜ","ĝqĝĞwĞğ","tğXĠġ","oġĢkĢģp","ģĤwĤĥv","ĥĦgĦZħ","ĨuĨĩgĩĪ","eĪīqīĬ","pĬĭfĭ\\","Įįoįİk","İınıIJnIJ","ijkijĴuĴĵ","gĵĶeĶķ","qķĸpĸĹf","Ĺ^ĺĻ{","ĻļgļĽcĽ","ľtľĿuĿ`","ŀŁoŁł","qłŃpŃńv","ńŅjŅņu","ņbŇňyň","ʼngʼnŊgŊŋ","mŋŌuŌd","ōŎfŎŏc","ŏŐ{Őőu","őfŒœjœ","ŔqŔŕwŕŖ","tŖŗuŗh","ŘřořŚk","ŚśpśŜw","ŜŝvŝŞgŞ","şuşjŠš","ušŢgŢţ","eţŤqŤťp","ťŦfŦŧu","ŧlŨũoũ","ŪkŪūnūŬ","nŬŭkŭŮ","uŮůgůŰe","ŰűqűŲp","ŲųfųŴuŴ","nŵŶBŶŷ","\tŷŸ\tŸŹ\t","ŹƆ\tźŻ/","Żż\tżƄ\t","Žž/žſ\tſ","Ƃ\tƀƁVƁƃ","s:ƂƀƂƃ","ƃƅƄŽ","ƄƅƅƇ","ƆźƆƇ","ƇƉƈƊ","\\ƉƈƉƊ","ƊpƋƌ","BƌƍVƍƎs:","ƎrƏƐ\tƐ","ơ\tƑƒ<ƒƓ","\tƓƟ\tƔƕ","<ƕƖ\tƖƝ\t","Ɨƙ0Ƙƚ\t","ƙƘƚƛ","ƛƙƛƜ","ƜƞƝƗ","ƝƞƞƠ","ƟƔƟƠ","ƠƢơƑ","ơƢƢƪ","ƣƫ\\Ƥƥ\tƥ","Ʀ\tƦƧ\tƧƨ","<ƨƩ\tƩƫ\t","ƪƣƪƤ","ƪƫƫt","ƬƮ\tƭƬ","ƮƲƯƱ\t","ưƯƱƴ","ƲưƲƳ","ƳvƴƲ","Ƶƺbƶƹƒ","BƷƹ\nƸƶ","ƸƷƹƼ","ƺƸƺƻ","ƻƽƼƺ","ƽƾbƾx","ƿDŽ)ǀǃƒBǁ","ǃ\nǂǀǂ","ǁǃdžDŽ","ǂDŽDžDž","LJdžDŽLJ","Lj)LjzljNj","\tNJljNjnj","njNJnjǍ","Ǎǔǎǐ","0ǏǑ\tǐǏ","Ǒǒǒǐ","ǒǓǓǕ","ǔǎǔǕ","Ǖ|ǖǘ\t\b","ǗǖǘǙ","ǙǗǙǚ","ǚǛǛǜ\b?","ǜ~ǝǞ1Ǟ","ǟ,ǟǣǠ","Ǣ\vǡǠǢ","ǥǣǤǣ","ǡǤǦǥ","ǣǦǧ,ǧ","Ǩ1Ǩǩǩ","Ǫ\b@Ǫ€ǫǬ","1Ǭǭ1ǭDZ","Ǯǰ\n\tǯǮ","ǰdzDZǯ","DZDzDzǴ","dzDZǴǵ\bA","ǵ‚Ƕǹ^","ǷǺ\t\nǸǺ…Cǹ","ǷǹǸǺ","„ǻǼwǼ","ǽ‡DǽǾ‡DǾǿ","‡DǿȀ‡DȀ†","ȁȂ\t\vȂˆ","ƂƄƆƉƛƝƟ","ơƪƭưƲƸƺǂDŽnjǒǔ","ǙǣDZǹ"].join(""),d=(new c.atn.ATNDeserializer).deserialize(f),m=d.decisionToState.map((function(e,t){return new c.dfa.DFA(e,t)})),p=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)}(p,e);var t,n,l,u,f=(l=p,u=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=s(l);if(u){var n=s(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return a(e)}(this,e)});function p(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,p),(t=f.call(this,e))._interp=new c.atn.LexerATNSimulator(a(t),d,m,new c.PredictionContextCache),t}return t=p,(n=[{key:"atn",get:function(){return d}}])&&r(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),p}(c.Lexer);l(p,"grammarFileName","FHIRPath.g4"),l(p,"channelNames",["DEFAULT_TOKEN_CHANNEL","HIDDEN"]),l(p,"modeNames",["DEFAULT_MODE"]),l(p,"literalNames",[null,"'.'","'['","']'","'+'","'-'","'*'","'/'","'div'","'mod'","'&'","'|'","'<='","'<'","'>'","'>='","'is'","'as'","'='","'~'","'!='","'!~'","'in'","'contains'","'and'","'or'","'xor'","'implies'","'('","')'","'{'","'}'","'true'","'false'","'%'","'$this'","'$index'","'$total'","','","'year'","'month'","'week'","'day'","'hour'","'minute'","'second'","'millisecond'","'years'","'months'","'weeks'","'days'","'hours'","'minutes'","'seconds'","'milliseconds'"]),l(p,"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,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"DATETIME","TIME","IDENTIFIER","DELIMITEDIDENTIFIER","STRING","NUMBER","WS","COMMENT","LINE_COMMENT"]),l(p,"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","T__34","T__35","T__36","T__37","T__38","T__39","T__40","T__41","T__42","T__43","T__44","T__45","T__46","T__47","T__48","T__49","T__50","T__51","T__52","T__53","DATETIME","TIME","TIMEFORMAT","IDENTIFIER","DELIMITEDIDENTIFIER","STRING","NUMBER","WS","COMMENT","LINE_COMMENT","ESC","UNICODE","HEX"]),p.EOF=c.Token.EOF,p.T__0=1,p.T__1=2,p.T__2=3,p.T__3=4,p.T__4=5,p.T__5=6,p.T__6=7,p.T__7=8,p.T__8=9,p.T__9=10,p.T__10=11,p.T__11=12,p.T__12=13,p.T__13=14,p.T__14=15,p.T__15=16,p.T__16=17,p.T__17=18,p.T__18=19,p.T__19=20,p.T__20=21,p.T__21=22,p.T__22=23,p.T__23=24,p.T__24=25,p.T__25=26,p.T__26=27,p.T__27=28,p.T__28=29,p.T__29=30,p.T__30=31,p.T__31=32,p.T__32=33,p.T__33=34,p.T__34=35,p.T__35=36,p.T__36=37,p.T__37=38,p.T__38=39,p.T__39=40,p.T__40=41,p.T__41=42,p.T__42=43,p.T__43=44,p.T__44=45,p.T__45=46,p.T__46=47,p.T__47=48,p.T__48=49,p.T__49=50,p.T__50=51,p.T__51=52,p.T__52=53,p.T__53=54,p.DATETIME=55,p.TIME=56,p.IDENTIFIER=57,p.DELIMITEDIDENTIFIER=58,p.STRING=59,p.NUMBER=60,p.WS=61,p.COMMENT=62,p.LINE_COMMENT=63,e.exports=p},4454:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}var a=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&r(e,t)}(u,e);var t,n,a,s,l=(a=u,s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=o(a);if(s){var n=o(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function u(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u),l.apply(this,arguments)}return t=u,(n=[{key:"enterEntireExpression",value:function(e){}},{key:"exitEntireExpression",value:function(e){}},{key:"enterIndexerExpression",value:function(e){}},{key:"exitIndexerExpression",value:function(e){}},{key:"enterPolarityExpression",value:function(e){}},{key:"exitPolarityExpression",value:function(e){}},{key:"enterAdditiveExpression",value:function(e){}},{key:"exitAdditiveExpression",value:function(e){}},{key:"enterMultiplicativeExpression",value:function(e){}},{key:"exitMultiplicativeExpression",value:function(e){}},{key:"enterUnionExpression",value:function(e){}},{key:"exitUnionExpression",value:function(e){}},{key:"enterOrExpression",value:function(e){}},{key:"exitOrExpression",value:function(e){}},{key:"enterAndExpression",value:function(e){}},{key:"exitAndExpression",value:function(e){}},{key:"enterMembershipExpression",value:function(e){}},{key:"exitMembershipExpression",value:function(e){}},{key:"enterInequalityExpression",value:function(e){}},{key:"exitInequalityExpression",value:function(e){}},{key:"enterInvocationExpression",value:function(e){}},{key:"exitInvocationExpression",value:function(e){}},{key:"enterEqualityExpression",value:function(e){}},{key:"exitEqualityExpression",value:function(e){}},{key:"enterImpliesExpression",value:function(e){}},{key:"exitImpliesExpression",value:function(e){}},{key:"enterTermExpression",value:function(e){}},{key:"exitTermExpression",value:function(e){}},{key:"enterTypeExpression",value:function(e){}},{key:"exitTypeExpression",value:function(e){}},{key:"enterInvocationTerm",value:function(e){}},{key:"exitInvocationTerm",value:function(e){}},{key:"enterLiteralTerm",value:function(e){}},{key:"exitLiteralTerm",value:function(e){}},{key:"enterExternalConstantTerm",value:function(e){}},{key:"exitExternalConstantTerm",value:function(e){}},{key:"enterParenthesizedTerm",value:function(e){}},{key:"exitParenthesizedTerm",value:function(e){}},{key:"enterNullLiteral",value:function(e){}},{key:"exitNullLiteral",value:function(e){}},{key:"enterBooleanLiteral",value:function(e){}},{key:"exitBooleanLiteral",value:function(e){}},{key:"enterStringLiteral",value:function(e){}},{key:"exitStringLiteral",value:function(e){}},{key:"enterNumberLiteral",value:function(e){}},{key:"exitNumberLiteral",value:function(e){}},{key:"enterDateTimeLiteral",value:function(e){}},{key:"exitDateTimeLiteral",value:function(e){}},{key:"enterTimeLiteral",value:function(e){}},{key:"exitTimeLiteral",value:function(e){}},{key:"enterQuantityLiteral",value:function(e){}},{key:"exitQuantityLiteral",value:function(e){}},{key:"enterExternalConstant",value:function(e){}},{key:"exitExternalConstant",value:function(e){}},{key:"enterMemberInvocation",value:function(e){}},{key:"exitMemberInvocation",value:function(e){}},{key:"enterFunctionInvocation",value:function(e){}},{key:"exitFunctionInvocation",value:function(e){}},{key:"enterThisInvocation",value:function(e){}},{key:"exitThisInvocation",value:function(e){}},{key:"enterIndexInvocation",value:function(e){}},{key:"exitIndexInvocation",value:function(e){}},{key:"enterTotalInvocation",value:function(e){}},{key:"exitTotalInvocation",value:function(e){}},{key:"enterFunctn",value:function(e){}},{key:"exitFunctn",value:function(e){}},{key:"enterParamList",value:function(e){}},{key:"exitParamList",value:function(e){}},{key:"enterQuantity",value:function(e){}},{key:"exitQuantity",value:function(e){}},{key:"enterUnit",value:function(e){}},{key:"exitUnit",value:function(e){}},{key:"enterDateTimePrecision",value:function(e){}},{key:"exitDateTimePrecision",value:function(e){}},{key:"enterPluralDateTimePrecision",value:function(e){}},{key:"exitPluralDateTimePrecision",value:function(e){}},{key:"enterTypeSpecifier",value:function(e){}},{key:"exitTypeSpecifier",value:function(e){}},{key:"enterQualifiedIdentifier",value:function(e){}},{key:"exitQualifiedIdentifier",value:function(e){}},{key:"enterIdentifier",value:function(e){}},{key:"exitIdentifier",value:function(e){}}])&&function(e,t){for(var n=0;n?\f","?@\t\b@PAB\f","BCCPDE\f","EFFP\fGH\f","HIIJJK","KPLM\f\bMN\t\t","NPO)O,","O/O2O5","O8O;","O>OAOD","OGOLPS","QOQRR","SQT\\\f","U\\\bV\\\nWX","XYYZZ\\","[T[U","[V[W\\","]^ ^f!_f\t\n","`f=af>bf9cf",":df\ne]e_","e`ea","ebeced","f\tgj$hk","ik=jhji","k\vlr","mr\bnr%or&","pr'qlqm","qnqoqp","r\rsttv","uw\tvu","vwwxxy","yz","{|(|~}{","~}","€€","‚„>","ƒ…\v„ƒ","„……","†Š\f‡Š\rˆ","Š=‰†‰","‡‰ˆŠ","‹Œ\t\vŒ","Ž\t\fŽ","","‘–’“","“•”’","•˜–”","–——","˜–™š","\t\rš'OQ[ejqv","„‰–"].join(""),v=(new h.atn.ATNDeserializer).deserialize(y),C=v.decisionToState.map((function(e,t){return new h.dfa.DFA(e,t)})),x=new h.PredictionContextCache,b=function(e){l(n,e);var t=c(n);function n(e){var i;return o(this,n),(i=t.call(this,e))._interp=new h.atn.ParserATNSimulator(f(i),v,C,x),i.ruleNames=n.ruleNames,i.literalNames=n.literalNames,i.symbolicNames=n.symbolicNames,i}return s(n,[{key:"atn",get:function(){return v}},{key:"sempred",value:function(e,t,n){if(1===t)return this.expression_sempred(e,n);throw"No predicate with index:"+t}},{key:"expression_sempred",value:function(e,t){switch(t){case 0:return this.precpred(this._ctx,10);case 1:return this.precpred(this._ctx,9);case 2:return this.precpred(this._ctx,8);case 3:return this.precpred(this._ctx,7);case 4:return this.precpred(this._ctx,5);case 5:return this.precpred(this._ctx,4);case 6:return this.precpred(this._ctx,3);case 7:return this.precpred(this._ctx,2);case 8:return this.precpred(this._ctx,1);case 9:return this.precpred(this._ctx,13);case 10:return this.precpred(this._ctx,12);case 11:return this.precpred(this._ctx,6);default:throw"No predicate with index:"+t}}},{key:"entireExpression",value:function(){var e=new S(this,this._ctx,this.state);this.enterRule(e,0,n.RULE_entireExpression);try{this.enterOuterAlt(e,1),this.state=30,this.expression(0),this.state=31,this.match(n.EOF)}catch(t){if(!(t instanceof h.error.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}},{key:"expression",value:function(e){void 0===e&&(e=0);var t=this._ctx,i=this.state,r=new E(this,this._ctx,i);this.enterRecursionRule(r,2,n.RULE_expression,e);var o=0;try{switch(this.enterOuterAlt(r,1),this.state=37,this._errHandler.sync(this),this._input.LA(1)){case n.T__15:case n.T__16:case n.T__21:case n.T__22:case n.T__27:case n.T__29:case n.T__31:case n.T__32:case n.T__33:case n.T__34:case n.T__35:case n.T__36:case n.DATETIME:case n.TIME:case n.IDENTIFIER:case n.DELIMITEDIDENTIFIER:case n.STRING:case n.NUMBER:r=new N(this,r),this._ctx=r,this.state=34,this.term();break;case n.T__3:case n.T__4:r=new A(this,r),this._ctx=r,this.state=35,(o=this._input.LA(1))!==n.T__3&&o!==n.T__4?this._errHandler.recoverInline(this):(this._errHandler.reportMatch(this),this.consume()),this.state=36,this.expression(11);break;default:throw new h.error.NoViableAltException(this)}this._ctx.stop=this._input.LT(-1),this.state=79,this._errHandler.sync(this);for(var a=this._interp.adaptivePredict(this._input,2,this._ctx);2!=a&&a!=h.atn.ATN.INVALID_ALT_NUMBER;){if(1===a)switch(null!==this._parseListeners&&this.triggerExitRuleEvent(),this.state=77,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,1,this._ctx)){case 1:if(r=new M(this,new E(this,t,i)),this.pushNewRecursionContext(r,2,n.RULE_expression),this.state=39,!this.precpred(this._ctx,10))throw new h.error.FailedPredicateException(this,"this.precpred(this._ctx, 10)");this.state=40,0!=(-32&(o=this._input.LA(1)))||0==(1<'","'>='","'is'","'as'","'='","'~'","'!='","'!~'","'in'","'contains'","'and'","'or'","'xor'","'implies'","'('","')'","'{'","'}'","'true'","'false'","'%'","'$this'","'$index'","'$total'","','","'year'","'month'","'week'","'day'","'hour'","'minute'","'second'","'millisecond'","'years'","'months'","'weeks'","'days'","'hours'","'minutes'","'seconds'","'milliseconds'"]),m(b,"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,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"DATETIME","TIME","IDENTIFIER","DELIMITEDIDENTIFIER","STRING","NUMBER","WS","COMMENT","LINE_COMMENT"]),m(b,"ruleNames",["entireExpression","expression","term","literal","externalConstant","invocation","functn","paramList","quantity","unit","dateTimePrecision","pluralDateTimePrecision","typeSpecifier","qualifiedIdentifier","identifier"]),b.EOF=h.Token.EOF,b.T__0=1,b.T__1=2,b.T__2=3,b.T__3=4,b.T__4=5,b.T__5=6,b.T__6=7,b.T__7=8,b.T__8=9,b.T__9=10,b.T__10=11,b.T__11=12,b.T__12=13,b.T__13=14,b.T__14=15,b.T__15=16,b.T__16=17,b.T__17=18,b.T__18=19,b.T__19=20,b.T__20=21,b.T__21=22,b.T__22=23,b.T__23=24,b.T__24=25,b.T__25=26,b.T__26=27,b.T__27=28,b.T__28=29,b.T__29=30,b.T__30=31,b.T__31=32,b.T__32=33,b.T__33=34,b.T__34=35,b.T__35=36,b.T__36=37,b.T__37=38,b.T__38=39,b.T__39=40,b.T__40=41,b.T__41=42,b.T__42=43,b.T__43=44,b.T__44=45,b.T__45=46,b.T__46=47,b.T__47=48,b.T__48=49,b.T__49=50,b.T__50=51,b.T__51=52,b.T__52=53,b.T__53=54,b.DATETIME=55,b.TIME=56,b.IDENTIFIER=57,b.DELIMITEDIDENTIFIER=58,b.STRING=59,b.NUMBER=60,b.WS=61,b.COMMENT=62,b.LINE_COMMENT=63,b.RULE_entireExpression=0,b.RULE_expression=1,b.RULE_term=2,b.RULE_literal=3,b.RULE_externalConstant=4,b.RULE_invocation=5,b.RULE_functn=6,b.RULE_paramList=7,b.RULE_quantity=8,b.RULE_unit=9,b.RULE_dateTimePrecision=10,b.RULE_pluralDateTimePrecision=11,b.RULE_typeSpecifier=12,b.RULE_qualifiedIdentifier=13,b.RULE_identifier=14;var S=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_entireExpression,a}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(E,0)}},{key:"EOF",value:function(){return this.getToken(b.EOF,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterEntireExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitEntireExpression(this)}}]),n}(h.ParserRuleContext),E=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_expression,a}return s(n,[{key:"copyFrom",value:function(e){r(d(n.prototype),"copyFrom",this).call(this,e)}}]),n}(h.ParserRuleContext),D=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterIndexerExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitIndexerExpression(this)}}]),n}(E);b.IndexerExpressionContext=D;var A=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(E,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterPolarityExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitPolarityExpression(this)}}]),n}(E);b.PolarityExpressionContext=A;var R=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterAdditiveExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitAdditiveExpression(this)}}]),n}(E);b.AdditiveExpressionContext=R;var M=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterMultiplicativeExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitMultiplicativeExpression(this)}}]),n}(E);b.MultiplicativeExpressionContext=M;var k=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterUnionExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitUnionExpression(this)}}]),n}(E);b.UnionExpressionContext=k;var T=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterOrExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitOrExpression(this)}}]),n}(E);b.OrExpressionContext=T;var w=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterAndExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitAndExpression(this)}}]),n}(E);b.AndExpressionContext=w;var I=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterMembershipExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitMembershipExpression(this)}}]),n}(E);b.MembershipExpressionContext=I;var P=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterInequalityExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitInequalityExpression(this)}}]),n}(E);b.InequalityExpressionContext=P;var O=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(E,0)}},{key:"invocation",value:function(){return this.getTypedRuleContext($,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterInvocationExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitInvocationExpression(this)}}]),n}(E);b.InvocationExpressionContext=O;var _=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterEqualityExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitEqualityExpression(this)}}]),n}(E);b.EqualityExpressionContext=_;var L=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterImpliesExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitImpliesExpression(this)}}]),n}(E);b.ImpliesExpressionContext=L;var N=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"term",value:function(){return this.getTypedRuleContext(B,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterTermExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitTermExpression(this)}}]),n}(E);b.TermExpressionContext=N;var U=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(E,0)}},{key:"typeSpecifier",value:function(){return this.getTypedRuleContext(ce,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterTypeExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitTypeExpression(this)}}]),n}(E);b.TypeExpressionContext=U;var B=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_term,a}return s(n,[{key:"copyFrom",value:function(e){r(d(n.prototype),"copyFrom",this).call(this,e)}}]),n}(h.ParserRuleContext),F=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"externalConstant",value:function(){return this.getTypedRuleContext(Y,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterExternalConstantTerm(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitExternalConstantTerm(this)}}]),n}(B);b.ExternalConstantTermContext=F;var q=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"literal",value:function(){return this.getTypedRuleContext(H,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterLiteralTerm(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitLiteralTerm(this)}}]),n}(B);b.LiteralTermContext=q;var j=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(E,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterParenthesizedTerm(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitParenthesizedTerm(this)}}]),n}(B);b.ParenthesizedTermContext=j;var z=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"invocation",value:function(){return this.getTypedRuleContext($,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterInvocationTerm(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitInvocationTerm(this)}}]),n}(B);b.InvocationTermContext=z;var H=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_literal,a}return s(n,[{key:"copyFrom",value:function(e){r(d(n.prototype),"copyFrom",this).call(this,e)}}]),n}(h.ParserRuleContext),V=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"TIME",value:function(){return this.getToken(b.TIME,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterTimeLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitTimeLiteral(this)}}]),n}(H);b.TimeLiteralContext=V;var G=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterNullLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitNullLiteral(this)}}]),n}(H);b.NullLiteralContext=G;var W=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"DATETIME",value:function(){return this.getToken(b.DATETIME,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterDateTimeLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitDateTimeLiteral(this)}}]),n}(H);b.DateTimeLiteralContext=W;var K=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"STRING",value:function(){return this.getToken(b.STRING,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterStringLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitStringLiteral(this)}}]),n}(H);b.StringLiteralContext=K;var Q=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterBooleanLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitBooleanLiteral(this)}}]),n}(H);b.BooleanLiteralContext=Q;var J=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"NUMBER",value:function(){return this.getToken(b.NUMBER,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterNumberLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitNumberLiteral(this)}}]),n}(H);b.NumberLiteralContext=J;var X=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"quantity",value:function(){return this.getTypedRuleContext(ae,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterQuantityLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitQuantityLiteral(this)}}]),n}(H);b.QuantityLiteralContext=X;var Y=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_externalConstant,a}return s(n,[{key:"identifier",value:function(){return this.getTypedRuleContext(de,0)}},{key:"STRING",value:function(){return this.getToken(b.STRING,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterExternalConstant(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitExternalConstant(this)}}]),n}(h.ParserRuleContext),$=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_invocation,a}return s(n,[{key:"copyFrom",value:function(e){r(d(n.prototype),"copyFrom",this).call(this,e)}}]),n}(h.ParserRuleContext),Z=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterTotalInvocation(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitTotalInvocation(this)}}]),n}($);b.TotalInvocationContext=Z;var ee=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterThisInvocation(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitThisInvocation(this)}}]),n}($);b.ThisInvocationContext=ee;var te=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterIndexInvocation(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitIndexInvocation(this)}}]),n}($);b.IndexInvocationContext=te;var ne=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"functn",value:function(){return this.getTypedRuleContext(re,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterFunctionInvocation(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitFunctionInvocation(this)}}]),n}($);b.FunctionInvocationContext=ne;var ie=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"identifier",value:function(){return this.getTypedRuleContext(de,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterMemberInvocation(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitMemberInvocation(this)}}]),n}($);b.MemberInvocationContext=ie;var re=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_functn,a}return s(n,[{key:"identifier",value:function(){return this.getTypedRuleContext(de,0)}},{key:"paramList",value:function(){return this.getTypedRuleContext(oe,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterFunctn(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitFunctn(this)}}]),n}(h.ParserRuleContext),oe=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),m(f(a=t.call(this,i,r)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),a.parser=e,a.ruleIndex=b.RULE_paramList,a}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterParamList(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitParamList(this)}}]),n}(h.ParserRuleContext),ae=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_quantity,a}return s(n,[{key:"NUMBER",value:function(){return this.getToken(b.NUMBER,0)}},{key:"unit",value:function(){return this.getTypedRuleContext(se,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterQuantity(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitQuantity(this)}}]),n}(h.ParserRuleContext),se=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_unit,a}return s(n,[{key:"dateTimePrecision",value:function(){return this.getTypedRuleContext(le,0)}},{key:"pluralDateTimePrecision",value:function(){return this.getTypedRuleContext(ue,0)}},{key:"STRING",value:function(){return this.getToken(b.STRING,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterUnit(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitUnit(this)}}]),n}(h.ParserRuleContext),le=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_dateTimePrecision,a}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterDateTimePrecision(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitDateTimePrecision(this)}}]),n}(h.ParserRuleContext),ue=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_pluralDateTimePrecision,a}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterPluralDateTimePrecision(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitPluralDateTimePrecision(this)}}]),n}(h.ParserRuleContext),ce=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_typeSpecifier,a}return s(n,[{key:"qualifiedIdentifier",value:function(){return this.getTypedRuleContext(fe,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterTypeSpecifier(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitTypeSpecifier(this)}}]),n}(h.ParserRuleContext),fe=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),m(f(a=t.call(this,i,r)),"identifier",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(de):this.getTypedRuleContext(de,e)})),a.parser=e,a.ruleIndex=b.RULE_qualifiedIdentifier,a}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterQualifiedIdentifier(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitQualifiedIdentifier(this)}}]),n}(h.ParserRuleContext),de=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_identifier,a}return s(n,[{key:"IDENTIFIER",value:function(){return this.getToken(b.IDENTIFIER,0)}},{key:"DELIMITEDIDENTIFIER",value:function(){return this.getToken(b.DELIMITEDIDENTIFIER,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterIdentifier(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitIdentifier(this)}}]),n}(h.ParserRuleContext);b.EntireExpressionContext=S,b.ExpressionContext=E,b.TermContext=B,b.LiteralContext=H,b.ExternalConstantContext=Y,b.InvocationContext=$,b.FunctnContext=re,b.ParamListContext=oe,b.QuantityContext=ae,b.UnitContext=se,b.DateTimePrecisionContext=le,b.PluralDateTimePrecisionContext=ue,b.TypeSpecifierContext=ce,b.QualifiedIdentifierContext=fe,b.IdentifierContext=de,e.exports=b},8168:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){l=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw a}}}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n0){for(var R=[],M=0,k=s.length;Mn.length)&&(t=n.length),t-=e.length;var i=n.indexOf(e,t);return-1!==i&&i===t}}),String.prototype.includes||Object.defineProperty(String.prototype,"includes",{value:function(){return-1!==this.indexOf.apply(this,arguments)}}),Object.assign||Object.defineProperty(Object,"assign",{value:function(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");return i(arguments,1).reduce((function(e,t){return Object.keys(Object(t)).forEach((function(n){e[n]=t[n]})),e}),Object(e))}}),"undefined"==typeof btoa&&(n.g.btoa=function(e){return new Buffer.from(e,"binary").toString("base64")}),"undefined"==typeof atob&&(n.g.atob=function(e){return new Buffer.from(e,"base64").toString("binary")})},2705:function(e,t,n){var i=n(1575),r=n(4230),o={},a={};o.indexOf=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(n)?[]:n.indexOf(t)},o.substring=function(e,t,n){var o=r.singleton(e,"String");return i.isEmpty(o)||i.isEmpty(t)||t<0||t>=o.length?[]:void 0===n||i.isEmpty(n)?o.substring(t):o.substring(t,t+n)},o.startsWith=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(n)?[]:n.startsWith(t)},o.endsWith=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(n)?[]:n.endsWith(t)},o.containsFn=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(n)?[]:n.includes(t)},o.upper=function(e){var t=r.singleton(e,"String");return i.isEmpty(t)?[]:t.toUpperCase()},o.lower=function(e){var t=r.singleton(e,"String");return i.isEmpty(t)?[]:t.toLowerCase()},o.joinFn=function(e,t){return void 0===t&&(t=""),e.map((function(e){var t=i.valData(e);if("string"==typeof t)return t;throw new Error("Join requires a collection of strings.")})).join(t)},o.splitFn=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(n)?[]:n.split(t)},o.trimFn=function(e){var t=r.singleton(e,"String");return i.isEmpty(t)?[]:t.trim()},o.encodeFn=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(n)?[]:"urlbase64"===t||"base64url"===t?btoa(n).replace(/\+/g,"-").replace(/\//g,"_"):"base64"===t?btoa(n):"hex"===t?Array.from(n).map((function(e){return e.charCodeAt(0)<128?e.charCodeAt(0).toString(16):encodeURIComponent(e).replace(/%/g,"")})).join(""):[]},o.decodeFn=function(e,t){var n=r.singleton(e,"String");if(i.isEmpty(n))return[];if("urlbase64"===t||"base64url"===t)return atob(n.replace(/-/g,"+").replace(/_/g,"/"));if("base64"===t)return atob(n);if("hex"===t){if(n.length%2!=0)throw new Error("Decode 'hex' requires an even number of characters.");return decodeURIComponent("%"+n.match(/.{2}/g).join("%"))}return[]};var s=!1===new RegExp("").dotAll;o.matches=s?function(e,t){var n=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(n)?[]:new RegExp(t,"s").test(n)}:function(e,t){var n,o=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(o)?[]:new RegExp((a[n=t]||(a[n]=n.replace(/\./g,(function(e,t,n){var i=n.substr(0,t).replace(/\\\\/g,"").replace(/\\[\][]/g,""),r="\\"===i[i.length-1],o=i.lastIndexOf("["),a=i.lastIndexOf("]");return r||o>a?".":"[^]"}))),a[n])).test(o)},o.replace=function(e,t,n){var o=r.singleton(e,"String");if(i.isEmpty(t)||i.isEmpty(n)||i.isEmpty(o))return[];var a=new RegExp(i.escapeStringForRegExp(t),"g");return o.replace(a,n)},o.replaceMatches=function(e,t,n){var o=r.singleton(e,"String");if(i.isEmpty(t)||i.isEmpty(n)||i.isEmpty(o))return[];var a=new RegExp(t,"g");return o.replace(a,n)},o.length=function(e){var t=r.singleton(e,"String");return i.isEmpty(t)?[]:t.length},o.toChars=function(e){var t=r.singleton(e,"String");return i.isEmpty(t)?[]:t.split("")},e.exports=o},7028:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)}function o(e,t){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},o(e,t)}function a(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=d(e);if(t){var o=d(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var n=0;n2?new D(o)._getTimeParts():this._getTimeParts(),l=i>2?new D(a)._getTimeParts():e._getTimeParts(),u=0;u<=r&&!1!==t;++u)t=s[u]==l[u];t&&(t=void 0)}}else t=!1;return t}},{key:"equivalentTo",value:function(e){var t=e instanceof this.constructor;return t&&(t=this._getPrecision()==e._getPrecision())&&(t=this._getDateObj().getTime()==e._getDateObj().getTime()),t}},{key:"compare",value:function(e){var t=this._getPrecision(),n=e._getPrecision(),i=t<=n?this._getDateObj().getTime():this._dateAtPrecision(n).getTime(),r=n<=t?e._getDateObj().getTime():e._dateAtPrecision(t).getTime();return t!==n&&i===r?null:i-r}},{key:"_getPrecision",value:function(){return void 0===this.precision&&this._getMatchData(),this.precision}},{key:"_getMatchData",value:function(e,t){if(void 0===this.timeMatchData&&(this.timeMatchData=this.asStr.match(e),this.timeMatchData))for(var n=t;n>=0&&void 0===this.precision;--n)this.timeMatchData[n]&&(this.precision=n);return this.timeMatchData}},{key:"_getTimeParts",value:function(e){var t=[];t=[e[0]];var n=e[4];if(n){var i=t[0];t[0]=i.slice(0,i.length-n.length)}var r=e[1];if(r){var o=t[0];t[0]=o.slice(0,o.length-r.length),t[1]=r;var a=e[2];if(a){t[1]=r.slice(0,r.length-a.length),t[2]=a;var s=e[3];s&&(t[2]=a.slice(0,a.length-s.length),t[3]=s)}}return t}},{key:"_getDateObj",value:function(){if(!this.dateObj){var e=this._getPrecision();this.dateObj=this._dateAtPrecision(e)}return this.dateObj}},{key:"_createDate",value:function(e,t,n,i,r,o,a,s){var l=new Date(e,t,n,i,r,o,a);if(s){var u=l.getTimezoneOffset(),c=0;if("Z"!=s){var f=s.split(":"),d=parseInt(f[0]);c=parseInt(f[1]),d<0&&(c=-c),c+=60*d}l=m(l,-u-c)}return l}}]),n}(x);E.timeUnitToAddFn={year:n(8303),month:n(8459),week:n(8998),day:n(7929),hour:n(1973),minute:n(9829),second:n(7492),millisecond:n(3936)};var D=function(e){r(n,e);var t=a(n);function n(e){return s(this,n),t.call(this,e)}return u(n,[{key:"compare",value:function(e){if(!(e instanceof n))throw"Invalid comparison of a DateTime with something else";return f(d(n.prototype),"compare",this).call(this,e)}},{key:"_getMatchData",value:function(){return f(d(n.prototype),"_getMatchData",this).call(this,v,5)}},{key:"_getTimeParts",value:function(){if(!this.timeParts){var e=this._getMatchData(),t=e[0];this.timeParts=[t];var i=e[1];if(i){this.timeParts[0]=t.slice(0,t.length-i.length),this.timeParts[1]=i;var r=e[2];if(r){this.timeParts[1]=i.slice(0,i.length-r.length),this.timeParts[2]=r;var o=e[3];o&&(this.timeParts[2]=r.slice(0,r.length-o.length),"T"===o[0]&&(e[3]=o.slice(1)),this.timeParts=this.timeParts.concat(f(d(n.prototype),"_getTimeParts",this).call(this,e.slice(3))))}}}return this.timeParts}},{key:"_dateAtPrecision",value:function(e){var t=this._getTimeParts(),n=this._getMatchData()[7],i=this._getPrecision(),r=parseInt(t[0]),o=i>0?parseInt(t[1].slice(1))-1:0,a=i>1?parseInt(t[2].slice(1)):1,s=i>2?parseInt(t[3]):0,l=i>3?parseInt(t[4].slice(1)):0,u=i>4?parseInt(t[5].slice(1)):0,c=t.length>6?parseInt(t[6].slice(1)):0,f=this._createDate(r,o,a,s,l,u,c,n);return e0?f.getMonth():0,a=e>1?f.getDate():1,s=e>2?f.getHours():0,l=e>3?f.getMinutes():0,f=new Date(r,o,a,s,l)),f}}]),n}(E);D.checkString=function(e){var t=new D(e);return t._getMatchData()||(t=null),t},D._timeUnitToDatePrecision={year:0,month:1,week:2,day:2,hour:3,minute:4,second:5,millisecond:6},D._datePrecisionToTimeUnit=["year","month","day","hour","minute","second","millisecond"];var A=function(e){r(n,e);var t=a(n);function n(e){return s(this,n),"T"==e[0]&&(e=e.slice(1)),t.call(this,e)}return u(n,[{key:"compare",value:function(e){if(!(e instanceof n))throw"Invalid comparison of a time with something else";return f(d(n.prototype),"compare",this).call(this,e)}},{key:"_dateAtPrecision",value:function(e){var t=this._getTimeParts(),n=this._getMatchData()[4],i=this._getPrecision(),r=2010,o=parseInt(t[0]),a=i>0?parseInt(t[1].slice(1)):0,s=i>1?parseInt(t[2].slice(1)):0,l=t.length>3?parseInt(t[3].slice(1)):0,u=this._createDate(r,0,1,o,a,s,l,n);return n&&(u.setYear(r),u.setMonth(0),u.setDate(1)),e0?u.getMinutes():0,u=new Date(r,0,1,o,a)),u}},{key:"_getMatchData",value:function(){return f(d(n.prototype),"_getMatchData",this).call(this,y,2)}},{key:"_getTimeParts",value:function(){return this.timeParts||(this.timeParts=f(d(n.prototype),"_getTimeParts",this).call(this,this._getMatchData())),this.timeParts}}]),n}(E);function R(e,t){var n=e;return 3===t&&e<100&&(n="0"+e),e<10&&(n="0"+n),n}A.checkString=function(e){var t=new A(e);return t._getMatchData()||(t=null),t},A._timeUnitToDatePrecision={hour:0,minute:1,second:2,millisecond:3},A._datePrecisionToTimeUnit=["hour","minute","second","millisecond"],D.isoDateTime=function(e,t){void 0===t&&(t=5);var n=""+e.getFullYear();if(t>0&&(n+="-"+R(e.getMonth()+1),t>1&&(n+="-"+R(e.getDate()),t>2&&(n+="T"+D.isoTime(e,t-3)))),t>2){var i=e.getTimezoneOffset(),r=i<0?"+":"-",o=(i=Math.abs(i))%60;n+=r+R((i-o)/60)+":"+R(o)}return n},D.isoTime=function(e,t){void 0===t&&(t=2);var n=""+R(e.getHours());return t>0&&(n+=":"+R(e.getMinutes()),t>1&&(n+=":"+R(e.getSeconds()),e.getMilliseconds()&&(n+="."+R(e.getMilliseconds(),3)))),n};var M=function(e){r(n,e);var t=a(n);function n(e){return s(this,n),t.call(this,e)}return u(n,[{key:"_getMatchData",value:function(){return E.prototype._getMatchData.apply(this,[C,2])}}]),n}(D);M.checkString=function(e){var t=new M(e);return t._getMatchData()||(t=null),t},M.isoDate=function(e,t){return(void 0===t||t>2)&&(t=2),D.isoDateTime(e,t)};var k=function(){function e(t,n,i){s(this,e),null!=t&&t.resourceType&&(n=t.resourceType),this.path=n,this.data=t,this._data=i||{}}return u(e,[{key:"getTypeInfo",value:function(){var e=I.FHIR;return/^System\.(.*)$/.test(this.path)?new I({namespace:I.System,name:RegExp.$1}):-1===this.path.indexOf(".")?new I({namespace:e,name:this.path}):I.model?new I({namespace:e,name:"BackboneElement"}):I.createByValueInNamespace({namespace:e,value:this.data})}},{key:"toJSON",value:function(){return JSON.stringify(this.data)}},{key:"convertData",value:function(){var e,t=this.data;if(I.isType(this.path,"Quantity")){if("http://unitsofmeasure.org"===(null===(e=t)||void 0===e?void 0:e.system)&&"number"==typeof t.value&&"string"==typeof t.code){if(void 0!==t.comparator)throw new Error("Cannot convert a FHIR.Quantity that has a comparator");t=new b(t.value,b.mapUCUMCodeToTimeUnits[t.code]||"'"+t.code+"'")}}else"date"===this.path?t=M.checkString(t)||t:"dateTime"===this.path?t=D.checkString(t)||t:"time"===this.path&&(t=A.checkString(t)||t);return t}}]),e}();k.makeResNode=function(e,t,n){return e instanceof k?e:new k(e,t,n)};var T,w,I=function(){function e(t){var n=t.name,i=t.namespace;s(this,e),this.name=n,this.namespace=i}return u(e,[{key:"is",value:function(t){return t instanceof e&&(!this.namespace||!t.namespace||this.namespace===t.namespace)&&(!e.model||this.namespace&&this.namespace!==e.FHIR?this.name===t.name:e.isType(this.name,t.name))}}]),e}();T=I,(w=c(w="model"))in T?Object.defineProperty(T,w,{value:null,enumerable:!0,configurable:!0,writable:!0}):T[w]=null,I.isType=function(e,t){do{var n;if(e===t)return!0}while(e=null===(n=I.model)||void 0===n?void 0:n.type2Parent[e]);return!1},I.System="System",I.FHIR="FHIR",I.createByValueInNamespace=function(e){var t=e.namespace,n=e.value,r=i(n);return Number.isInteger(n)?r="integer":"number"===r?r="decimal":n instanceof M?r="date":n instanceof D?r="dateTime":n instanceof A?r="time":n instanceof b&&(r="Quantity"),t===I.System&&(r=r.replace(/^\w/,(function(e){return e.toUpperCase()}))),new I({namespace:t,name:r})},I.fromValue=function(e){return e instanceof k?e.getTypeInfo():I.createByValueInNamespace({namespace:I.System,value:e})},e.exports={FP_Type:x,FP_TimeBase:E,FP_Date:M,FP_DateTime:D,FP_Time:A,FP_Quantity:b,timeRE:y,dateTimeRE:v,ResourceNode:k,TypeInfo:I,typeFn:function(e){return e.map((function(e){return I.fromValue(e)}))},isFn:function(e,t){if(0===e.length)return[];if(e.length>1)throw new Error("Expected singleton on left side of 'is', got "+JSON.stringify(e));return I.fromValue(e[0]).is(t)},asFn:function(e,t){if(0===e.length)return[];if(e.length>1)throw new Error("Expected singleton on left side of 'as', got "+JSON.stringify(e));return I.fromValue(e[0]).is(t)?e:[]}}},1575:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var r={},o=n(7028).ResourceNode;r.raiseError=function(e,t){throw(t=t?t+": ":"")+e},r.assertAtMostOne=function(e,t){e.length>1&&r.raiseError("Was expecting no more than one element but got "+JSON.stringify(e),t)},r.assertType=function(e,t,n){var o=this.valData(e);if(t.indexOf(i(o))<0){var a=t.length>1?"one of "+t.join(", "):t[0];r.raiseError("Found type '"+i(e)+"' but was expecting "+a,n)}return o},r.isEmpty=function(e){return Array.isArray(e)&&0==e.length},r.isSome=function(e){return null!=e&&!r.isEmpty(e)},r.isTrue=function(e){return null!=e&&(!0===e||1==e.length&&!0===e[0])},r.isFalse=function(e){return null!=e&&(!1===e||1==e.length&&!1===e[0])},r.isCapitalized=function(e){return e&&e[0]===e[0].toUpperCase()},r.flatten=function(e){return e.reduce((function(e,t){return Array.isArray(t)?e=e.concat(t):e.push(t),e}),[])},r.arraify=function(e){return Array.isArray(e)?e:r.isSome(e)?[e]:[]},r.valData=function(e){return e instanceof o?e.data:e},r.valDataConverted=function(e){return e instanceof o&&(e=e.convertData()),e},r.escapeStringForRegExp=function(e){return e.replace(/[-[\]{}()*+?.,\\/^$|#\s]/g,"\\$&")},e.exports=r},950:function(e){e.exports=function(e){var t=new Date(e.getTime()),n=t.getTimezoneOffset();return t.setSeconds(0,0),6e4*n+t.getTime()%6e4}},7929:function(e,t,n){var i=n(1429);e.exports=function(e,t){var n=i(e),r=Number(t);return n.setDate(n.getDate()+r),n}},1973:function(e,t,n){var i=n(3936);e.exports=function(e,t){var n=Number(t);return i(e,36e5*n)}},3936:function(e,t,n){var i=n(1429);e.exports=function(e,t){var n=i(e).getTime(),r=Number(t);return new Date(n+r)}},9829:function(e,t,n){var i=n(3936);e.exports=function(e,t){var n=Number(t);return i(e,6e4*n)}},8459:function(e,t,n){var i=n(1429),r=n(4926);e.exports=function(e,t){var n=i(e),o=Number(t),a=n.getMonth()+o,s=new Date(0);s.setFullYear(n.getFullYear(),a,1),s.setHours(0,0,0,0);var l=r(s);return n.setMonth(a,Math.min(l,n.getDate())),n}},7492:function(e,t,n){var i=n(3936);e.exports=function(e,t){var n=Number(t);return i(e,1e3*n)}},8998:function(e,t,n){var i=n(7929);e.exports=function(e,t){var n=Number(t);return i(e,7*n)}},8303:function(e,t,n){var i=n(8459);e.exports=function(e,t){var n=Number(t);return i(e,12*n)}},4926:function(e,t,n){var i=n(1429);e.exports=function(e){var t=i(e),n=t.getFullYear(),r=t.getMonth(),o=new Date(0);return o.setFullYear(n,r+1,0),o.setHours(0,0,0,0),o.getDate()}},7144:function(e){e.exports=function(e){return e instanceof Date}},1429:function(e,t,n){var i=n(950),r=n(7144),o=36e5,a=6e4,s=/[T ]/,l=/:/,u=/^(\d{2})$/,c=[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],f=/^(\d{4})/,d=[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],m=/^-(\d{2})$/,p=/^-?(\d{3})$/,h=/^-?(\d{2})-?(\d{2})$/,g=/^-?W(\d{2})$/,y=/^-?W(\d{2})-?(\d{1})$/,v=/^(\d{2}([.,]\d*)?)$/,C=/^(\d{2}):?(\d{2}([.,]\d*)?)$/,x=/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,b=/([Z+-].*)$/,S=/^(Z)$/,E=/^([+-])(\d{2})$/,D=/^([+-])(\d{2}):?(\d{2})$/;function A(e,t,n){t=t||0,n=n||0;var i=new Date(0);i.setUTCFullYear(e,0,4);var r=7*t+n+1-(i.getUTCDay()||7);return i.setUTCDate(i.getUTCDate()+r),i}e.exports=function(e,t){if(r(e))return new Date(e.getTime());if("string"!=typeof e)return new Date(e);var n=(t||{}).additionalDigits;n=null==n?2:Number(n);var R,M,k,T=function(e){var t,n={},i=e.split(s);if(l.test(i[0])?(n.date=null,t=i[0]):(n.date=i[0],t=i[1]),t){var r=b.exec(t);r?(n.time=t.replace(r[1],""),n.timezone=r[1]):n.time=t}return n}(e),w=function(e,t){var n,i=c[t],r=d[t];if(n=f.exec(e)||r.exec(e)){var o=n[1];return{year:parseInt(o,10),restDateString:e.slice(o.length)}}if(n=u.exec(e)||i.exec(e)){var a=n[1];return{year:100*parseInt(a,10),restDateString:e.slice(a.length)}}return{year:null}}(T.date,n),I=w.year,P=function(e,t){if(null===t)return null;var n,i,r;if(0===e.length)return(i=new Date(0)).setUTCFullYear(t),i;if(n=m.exec(e))return i=new Date(0),r=parseInt(n[1],10)-1,i.setUTCFullYear(t,r),i;if(n=p.exec(e)){i=new Date(0);var o=parseInt(n[1],10);return i.setUTCFullYear(t,0,o),i}if(n=h.exec(e)){i=new Date(0),r=parseInt(n[1],10)-1;var a=parseInt(n[2],10);return i.setUTCFullYear(t,r,a),i}return(n=g.exec(e))?A(t,parseInt(n[1],10)-1):(n=y.exec(e))?A(t,parseInt(n[1],10)-1,parseInt(n[2],10)-1):null}(w.restDateString,I);if(P){var O,_=P.getTime(),L=0;if(T.time&&(L=function(e){var t,n,i;if(t=v.exec(e))return(n=parseFloat(t[1].replace(",",".")))%24*o;if(t=C.exec(e))return n=parseInt(t[1],10),i=parseFloat(t[2].replace(",",".")),n%24*o+i*a;if(t=x.exec(e)){n=parseInt(t[1],10),i=parseInt(t[2],10);var r=parseFloat(t[3].replace(",","."));return n%24*o+i*a+1e3*r}return null}(T.time)),T.timezone)R=T.timezone,O=((M=S.exec(R))?0:(M=E.exec(R))?(k=60*parseInt(M[2],10),"+"===M[1]?-k:k):(M=D.exec(R))?(k=60*parseInt(M[2],10)+parseInt(M[3],10),"+"===M[1]?-k:k):0)*a;else{var N=_+L,U=new Date(N);O=i(U);var B=new Date(N);B.setDate(U.getDate()+1);var F=i(B)-i(U);F>0&&(O+=F)}return new Date(_+L+O)}return new Date(e)}},7643:function(e){"use strict";e.exports=Number.isFinite||function(e){return!("number"!=typeof e||e!=e||e===1/0||e===-1/0)}},1781:function(e,t,n){var i=n(7643);e.exports=Number.isInteger||function(e){return"number"==typeof e&&i(e)&&Math.floor(e)===e}},4557:function(e){"use strict";e.exports={version:"3.7.0"}},7698:function(e){"use strict";e.exports=JSON.parse('{"license":"The following data (prefixes and units) was generated by the UCUM LHC code from the UCUM data and selected LOINC combinations of UCUM units. The license for the UCUM LHC code (demo and library code as well as the combined units) is located at https://github.com/lhncbc/ucum-lhc/blob/LICENSE.md.","prefixes":{"config":["code_","ciCode_","name_","printSymbol_","value_","exp_"],"data":[["E","EX","exa","E",1000000000000000000,"18"],["G","GA","giga","G",1000000000,"9"],["Gi","GIB","gibi","Gi",1073741824,null],["Ki","KIB","kibi","Ki",1024,null],["M","MA","mega","M",1000000,"6"],["Mi","MIB","mebi","Mi",1048576,null],["P","PT","peta","P",1000000000000000,"15"],["T","TR","tera","T",1000000000000,"12"],["Ti","TIB","tebi","Ti",1099511627776,null],["Y","YA","yotta","Y",1e+24,"24"],["Z","ZA","zetta","Z",1e+21,"21"],["a","A","atto","a",1e-18,"-18"],["c","C","centi","c",0.01,"-2"],["d","D","deci","d",0.1,"-1"],["da","DA","deka","da",10,"1"],["f","F","femto","f",1e-15,"-15"],["h","H","hecto","h",100,"2"],["k","K","kilo","k",1000,"3"],["m","M","milli","m",0.001,"-3"],["n","N","nano","n",1e-9,"-9"],["p","P","pico","p",1e-12,"-12"],["u","U","micro","μ",0.000001,"-6"],["y","YO","yocto","y",1.0000000000000001e-24,"-24"],["z","ZO","zepto","z",1e-21,"-21"]]},"units":{"config":["isBase_","name_","csCode_","ciCode_","property_","magnitude_",["dim_","dimVec_"],"printSymbol_","class_","isMetric_","variable_","cnv_","cnvPfx_","isSpecial_","isArbitrary_","moleExp_","synonyms_","source_","loincProperty_","category_","guidance_","csUnitString_","ciUnitString_","baseFactorStr_","baseFactor_","defError_"],"data":[[true,"meter","m","M","length",1,[1,0,0,0,0,0,0],"m",null,false,"L",null,1,false,false,0,"meters; metres; distance","UCUM","Len","Clinical","unit of length = 1.09361 yards",null,null,null,null,false],[true,"second - time","s","S","time",1,[0,1,0,0,0,0,0],"s",null,false,"T",null,1,false,false,0,"seconds","UCUM","Time","Clinical","",null,null,null,null,false],[true,"gram","g","G","mass",1,[0,0,1,0,0,0,0],"g",null,false,"M",null,1,false,false,0,"grams; gm","UCUM","Mass","Clinical","",null,null,null,null,false],[true,"radian","rad","RAD","plane angle",1,[0,0,0,1,0,0,0],"rad",null,false,"A",null,1,false,false,0,"radians","UCUM","Angle","Clinical","unit of angular measure where 1 radian = 1/2π turn = 57.296 degrees. ",null,null,null,null,false],[true,"degree Kelvin","K","K","temperature",1,[0,0,0,0,1,0,0],"K",null,false,"C",null,1,false,false,0,"Kelvin; degrees","UCUM","Temp","Clinical","absolute, thermodynamic temperature scale ",null,null,null,null,false],[true,"coulomb","C","C","electric charge",1,[0,0,0,0,0,1,0],"C",null,false,"Q",null,1,false,false,0,"coulombs","UCUM","","Clinical","defined as amount of 1 electron charge = 6.2415093×10^18 e, and equivalent to 1 Ampere-second",null,null,null,null,false],[true,"candela","cd","CD","luminous intensity",1,[0,0,0,0,0,0,1],"cd",null,false,"F",null,1,false,false,0,"candelas","UCUM","","Clinical","SI base unit of luminous intensity",null,null,null,null,false],[false,"the number ten for arbitrary powers","10*","10*","number",10,[0,0,0,0,0,0,0],"10","dimless",false,null,null,1,false,false,0,"10^; 10 to the arbitrary powers","UCUM","Num","Clinical","10* by itself is the same as 10, but users can add digits after the *. For example, 10*3 = 1000.","1","1","10",10,false],[false,"the number ten for arbitrary powers","10^","10^","number",10,[0,0,0,0,0,0,0],"10","dimless",false,null,null,1,false,false,0,"10*; 10 to the arbitrary power","UCUM","Num","Clinical","10* by itself is the same as 10, but users can add digits after the *. For example, 10*3 = 1000.","1","1","10",10,false],[false,"the number pi","[pi]","[PI]","number",3.141592653589793,[0,0,0,0,0,0,0],"π","dimless",false,null,null,1,false,false,0,"π","UCUM","","Constant","a mathematical constant; the ratio of a circle\'s circumference to its diameter ≈ 3.14159","1","1","3.1415926535897932384626433832795028841971693993751058209749445923",3.141592653589793,false],[false,"","%","%","fraction",0.01,[0,0,0,0,0,0,0],"%","dimless",false,null,null,1,false,false,0,"percents","UCUM","FR; NFR; MFR; CFR; SFR Rto; etc. ","Clinical","","10*-2","10*-2","1",1,false],[false,"parts per thousand","[ppth]","[PPTH]","fraction",0.001,[0,0,0,0,0,0,0],"ppth","dimless",false,null,null,1,false,false,0,"ppth; 10^-3","UCUM","MCnc; MCnt","Clinical","[ppth] is often used in solution concentrations as 1 g/L or 1 g/kg.\\n\\nCan be ambigous and would be better if the metric units was used directly. ","10*-3","10*-3","1",1,false],[false,"parts per million","[ppm]","[PPM]","fraction",0.000001,[0,0,0,0,0,0,0],"ppm","dimless",false,null,null,1,false,false,0,"ppm; 10^-6","UCUM","MCnt; MCnc; SFr","Clinical","[ppm] is often used in solution concentrations as 1 mg/L or 1 mg/kg. Also used to express mole fractions as 1 mmol/mol.\\n\\n[ppm] is also used in nuclear magnetic resonance (NMR) to represent chemical shift - the difference of a measured frequency in parts per million from the reference frequency.\\n\\nCan be ambigous and would be better if the metric units was used directly. ","10*-6","10*-6","1",1,false],[false,"parts per billion","[ppb]","[PPB]","fraction",1e-9,[0,0,0,0,0,0,0],"ppb","dimless",false,null,null,1,false,false,0,"ppb; 10^-9","UCUM","MCnt; MCnc; SFr","Clinical","[ppb] is often used in solution concentrations as 1 ug/L or 1 ug/kg. Also used to express mole fractions as 1 umol/mol.\\n\\nCan be ambigous and would be better if the metric units was used directly. ","10*-9","10*-9","1",1,false],[false,"parts per trillion","[pptr]","[PPTR]","fraction",1e-12,[0,0,0,0,0,0,0],"pptr","dimless",false,null,null,1,false,false,0,"pptr; 10^-12","UCUM","MCnt; MCnc; SFr","Clinical","[pptr] is often used in solution concentrations as 1 ng/L or 1 ng/kg. Also used to express mole fractions as 1 nmol/mol.\\n\\nCan be ambigous and would be better if the metric units was used directly. ","10*-12","10*-12","1",1,false],[false,"mole","mol","MOL","amount of substance",6.0221367e+23,[0,0,0,0,0,0,0],"mol","si",true,null,null,1,false,false,1,"moles","UCUM","Sub","Clinical","Measure the number of molecules ","10*23","10*23","6.0221367",6.0221367,false],[false,"steradian - solid angle","sr","SR","solid angle",1,[0,0,0,2,0,0,0],"sr","si",true,null,null,1,false,false,0,"square radian; rad2; rad^2","UCUM","Angle","Clinical","unit of solid angle in three-dimensional geometry analagous to radian; used in photometry which measures the perceived brightness of object by human eye (e.g. radiant intensity = watt/steradian)","rad2","RAD2","1",1,false],[false,"hertz","Hz","HZ","frequency",1,[0,-1,0,0,0,0,0],"Hz","si",true,null,null,1,false,false,0,"Herz; frequency; frequencies","UCUM","Freq; Num","Clinical","equal to one cycle per second","s-1","S-1","1",1,false],[false,"newton","N","N","force",1000,[1,-2,1,0,0,0,0],"N","si",true,null,null,1,false,false,0,"Newtons","UCUM","Force","Clinical","unit of force with base units kg.m/s2","kg.m/s2","KG.M/S2","1",1,false],[false,"pascal","Pa","PAL","pressure",1000,[-1,-2,1,0,0,0,0],"Pa","si",true,null,null,1,false,false,0,"pascals","UCUM","Pres","Clinical","standard unit of pressure equal to 1 newton per square meter (N/m2)","N/m2","N/M2","1",1,false],[false,"joule","J","J","energy",1000,[2,-2,1,0,0,0,0],"J","si",true,null,null,1,false,false,0,"joules","UCUM","Enrg","Clinical","unit of energy defined as the work required to move an object 1 m with a force of 1 N (N.m) or an electric charge of 1 C through 1 V (C.V), or to produce 1 W for 1 s (W.s) ","N.m","N.M","1",1,false],[false,"watt","W","W","power",1000,[2,-3,1,0,0,0,0],"W","si",true,null,null,1,false,false,0,"watts","UCUM","EngRat","Clinical","unit of power equal to 1 Joule per second (J/s) = kg⋅m2⋅s−3","J/s","J/S","1",1,false],[false,"Ampere","A","A","electric current",1,[0,-1,0,0,0,1,0],"A","si",true,null,null,1,false,false,0,"Amperes","UCUM","ElpotRat","Clinical","unit of electric current equal to flow rate of electrons equal to 16.2415×10^18 elementary charges moving past a boundary in one second or 1 Coulomb/second","C/s","C/S","1",1,false],[false,"volt","V","V","electric potential",1000,[2,-2,1,0,0,-1,0],"V","si",true,null,null,1,false,false,0,"volts","UCUM","Elpot","Clinical","unit of electric potential (voltage) = 1 Joule per Coulomb (J/C)","J/C","J/C","1",1,false],[false,"farad","F","F","electric capacitance",0.001,[-2,2,-1,0,0,2,0],"F","si",true,null,null,1,false,false,0,"farads; electric capacitance","UCUM","","Clinical","CGS unit of electric capacitance with base units C/V (Coulomb per Volt)","C/V","C/V","1",1,false],[false,"ohm","Ohm","OHM","electric resistance",1000,[2,-1,1,0,0,-2,0],"Ω","si",true,null,null,1,false,false,0,"Ω; resistance; ohms","UCUM","","Clinical","unit of electrical resistance with units of Volt per Ampere","V/A","V/A","1",1,false],[false,"siemens","S","SIE","electric conductance",0.001,[-2,1,-1,0,0,2,0],"S","si",true,null,null,1,false,false,0,"Reciprocal ohm; mho; Ω−1; conductance","UCUM","","Clinical","unit of electric conductance (the inverse of electrical resistance) equal to ohm^-1","Ohm-1","OHM-1","1",1,false],[false,"weber","Wb","WB","magnetic flux",1000,[2,-1,1,0,0,-1,0],"Wb","si",true,null,null,1,false,false,0,"magnetic flux; webers","UCUM","","Clinical","unit of magnetic flux equal to Volt second","V.s","V.S","1",1,false],[false,"degree Celsius","Cel","CEL","temperature",1,[0,0,0,0,1,0,0],"°C","si",true,null,"Cel",1,true,false,0,"°C; degrees","UCUM","Temp","Clinical","","K",null,null,1,false],[false,"tesla","T","T","magnetic flux density",1000,[0,-1,1,0,0,-1,0],"T","si",true,null,null,1,false,false,0,"Teslas; magnetic field","UCUM","","Clinical","SI unit of magnetic field strength for magnetic field B equal to 1 Weber/square meter = 1 kg/(s2*A)","Wb/m2","WB/M2","1",1,false],[false,"henry","H","H","inductance",1000,[2,0,1,0,0,-2,0],"H","si",true,null,null,1,false,false,0,"henries; inductance","UCUM","","Clinical","unit of electrical inductance; usually expressed in millihenrys (mH) or microhenrys (uH).","Wb/A","WB/A","1",1,false],[false,"lumen","lm","LM","luminous flux",1,[0,0,0,2,0,0,1],"lm","si",true,null,null,1,false,false,0,"luminous flux; lumens","UCUM","","Clinical","unit of luminous flux defined as 1 lm = 1 cd⋅sr (candela times sphere)","cd.sr","CD.SR","1",1,false],[false,"lux","lx","LX","illuminance",1,[-2,0,0,2,0,0,1],"lx","si",true,null,null,1,false,false,0,"illuminance; luxes","UCUM","","Clinical","unit of illuminance equal to one lumen per square meter. ","lm/m2","LM/M2","1",1,false],[false,"becquerel","Bq","BQ","radioactivity",1,[0,-1,0,0,0,0,0],"Bq","si",true,null,null,1,false,false,0,"activity; radiation; becquerels","UCUM","","Clinical","measure of the atomic radiation rate with units s^-1","s-1","S-1","1",1,false],[false,"gray","Gy","GY","energy dose",1,[2,-2,0,0,0,0,0],"Gy","si",true,null,null,1,false,false,0,"absorbed doses; ionizing radiation doses; kerma; grays","UCUM","EngCnt","Clinical","unit of ionizing radiation dose with base units of 1 joule of radiation energy per kilogram of matter","J/kg","J/KG","1",1,false],[false,"sievert","Sv","SV","dose equivalent",1,[2,-2,0,0,0,0,0],"Sv","si",true,null,null,1,false,false,0,"sieverts; radiation dose quantities; equivalent doses; effective dose; operational dose; committed dose","UCUM","","Clinical","SI unit for radiation dose equivalent equal to 1 Joule/kilogram.","J/kg","J/KG","1",1,false],[false,"degree - plane angle","deg","DEG","plane angle",0.017453292519943295,[0,0,0,1,0,0,0],"°","iso1000",false,null,null,1,false,false,0,"°; degree of arc; arc degree; arcdegree; angle","UCUM","Angle","Clinical","one degree is equivalent to π/180 radians.","[pi].rad/360","[PI].RAD/360","2",2,false],[false,"gon","gon","GON","plane angle",0.015707963267948967,[0,0,0,1,0,0,0],"□g","iso1000",false,null,null,1,false,false,0,"gon (grade); gons","UCUM","Angle","Nonclinical","unit of plane angle measurement equal to 1/400 circle","deg","DEG","0.9",0.9,false],[false,"arc minute","\'","\'","plane angle",0.0002908882086657216,[0,0,0,1,0,0,0],"\'","iso1000",false,null,null,1,false,false,0,"arcminutes; arcmin; arc minutes; arc mins","UCUM","Angle","Clinical","equal to 1/60 degree; used in optometry and opthamology (e.g. visual acuity tests)","deg/60","DEG/60","1",1,false],[false,"arc second","\'\'","\'\'","plane angle",0.00000484813681109536,[0,0,0,1,0,0,0],"\'\'","iso1000",false,null,null,1,false,false,0,"arcseconds; arcsecs","UCUM","Angle","Clinical","equal to 1/60 arcminute = 1/3600 degree; used in optometry and opthamology (e.g. visual acuity tests)","\'/60","\'/60","1",1,false],[false,"Liters","l","L","volume",0.001,[3,0,0,0,0,0,0],"l","iso1000",true,null,null,1,false,false,0,"cubic decimeters; decimeters cubed; decimetres; dm3; dm^3; litres; liters, LT ","UCUM","Vol","Clinical","Because lower case \\"l\\" can be read as the number \\"1\\", though this is a valid UCUM units. UCUM strongly reccomends using \\"L\\"","dm3","DM3","1",1,false],[false,"Liters","L","L","volume",0.001,[3,0,0,0,0,0,0],"L","iso1000",true,null,null,1,false,false,0,"cubic decimeters; decimeters cubed; decimetres; dm3; dm^3; litres; liters, LT ","UCUM","Vol","Clinical","Because lower case \\"l\\" can be read as the number \\"1\\", though this is a valid UCUM units. UCUM strongly reccomends using \\"L\\"","l",null,"1",1,false],[false,"are","ar","AR","area",100,[2,0,0,0,0,0,0],"a","iso1000",true,null,null,1,false,false,0,"100 m2; 100 m^2; 100 square meter; meters squared; metres","UCUM","Area","Clinical","metric base unit for area defined as 100 m^2","m2","M2","100",100,false],[false,"minute","min","MIN","time",60,[0,1,0,0,0,0,0],"min","iso1000",false,null,null,1,false,false,0,"minutes","UCUM","Time","Clinical","","s","S","60",60,false],[false,"hour","h","HR","time",3600,[0,1,0,0,0,0,0],"h","iso1000",false,null,null,1,false,false,0,"hours; hrs; age","UCUM","Time","Clinical","","min","MIN","60",60,false],[false,"day","d","D","time",86400,[0,1,0,0,0,0,0],"d","iso1000",false,null,null,1,false,false,0,"days; age; dy; 24 hours; 24 hrs","UCUM","Time","Clinical","","h","HR","24",24,false],[false,"tropical year","a_t","ANN_T","time",31556925.216,[0,1,0,0,0,0,0],"at","iso1000",false,null,null,1,false,false,0,"solar years; a tropical; years","UCUM","Time","Clinical","has an average of 365.242181 days but is constantly changing.","d","D","365.24219",365.24219,false],[false,"mean Julian year","a_j","ANN_J","time",31557600,[0,1,0,0,0,0,0],"aj","iso1000",false,null,null,1,false,false,0,"mean Julian yr; a julian; years","UCUM","Time","Clinical","has an average of 365.25 days, and in everyday use, has been replaced by the Gregorian year. However, this unit is used in astronomy to calculate light year. ","d","D","365.25",365.25,false],[false,"mean Gregorian year","a_g","ANN_G","time",31556952,[0,1,0,0,0,0,0],"ag","iso1000",false,null,null,1,false,false,0,"mean Gregorian yr; a gregorian; years","UCUM","Time","Clinical","has an average of 365.2425 days and is the most internationally used civil calendar.","d","D","365.2425",365.2425,false],[false,"year","a","ANN","time",31557600,[0,1,0,0,0,0,0],"a","iso1000",false,null,null,1,false,false,0,"years; a; yr, yrs; annum","UCUM","Time","Clinical","","a_j","ANN_J","1",1,false],[false,"week","wk","WK","time",604800,[0,1,0,0,0,0,0],"wk","iso1000",false,null,null,1,false,false,0,"weeks; wks","UCUM","Time","Clinical","","d","D","7",7,false],[false,"synodal month","mo_s","MO_S","time",2551442.976,[0,1,0,0,0,0,0],"mos","iso1000",false,null,null,1,false,false,0,"Moon; synodic month; lunar month; mo-s; mo s; months; moons","UCUM","Time","Nonclinical","has an average of 29.53 days per month, unit used in astronomy","d","D","29.53059",29.53059,false],[false,"mean Julian month","mo_j","MO_J","time",2629800,[0,1,0,0,0,0,0],"moj","iso1000",false,null,null,1,false,false,0,"mo-julian; mo Julian; months","UCUM","Time","Clinical","has an average of 30.435 days per month","a_j/12","ANN_J/12","1",1,false],[false,"mean Gregorian month","mo_g","MO_G","time",2629746,[0,1,0,0,0,0,0],"mog","iso1000",false,null,null,1,false,false,0,"months; month-gregorian; mo-gregorian","UCUM","Time","Clinical","has an average 30.436875 days per month and is from the most internationally used civil calendar.","a_g/12","ANN_G/12","1",1,false],[false,"month","mo","MO","time",2629800,[0,1,0,0,0,0,0],"mo","iso1000",false,null,null,1,false,false,0,"months; duration","UCUM","Time","Clinical","based on Julian calendar which has an average of 30.435 days per month (this unit is used in astronomy but not in everyday life - see mo_g)","mo_j","MO_J","1",1,false],[false,"metric ton","t","TNE","mass",1000000,[0,0,1,0,0,0,0],"t","iso1000",true,null,null,1,false,false,0,"tonnes; megagrams; tons","UCUM","Mass","Nonclinical","equal to 1000 kg used in the US (recognized by NIST as metric ton), and internationally (recognized as tonne)","kg","KG","1e3",1000,false],[false,"bar","bar","BAR","pressure",100000000,[-1,-2,1,0,0,0,0],"bar","iso1000",true,null,null,1,false,false,0,"bars","UCUM","Pres","Nonclinical","unit of pressure equal to 10^5 Pascals, primarily used by meteorologists and in weather forecasting","Pa","PAL","1e5",100000,false],[false,"unified atomic mass unit","u","AMU","mass",1.6605402e-24,[0,0,1,0,0,0,0],"u","iso1000",true,null,null,1,false,false,0,"unified atomic mass units; amu; Dalton; Da","UCUM","Mass","Clinical","the mass of 1/12 of an unbound Carbon-12 atom nuclide equal to 1.6606x10^-27 kg ","g","G","1.6605402e-24",1.6605402e-24,false],[false,"astronomic unit","AU","ASU","length",149597870691,[1,0,0,0,0,0,0],"AU","iso1000",false,null,null,1,false,false,0,"AU; units","UCUM","Len","Clinical","unit of length used in astronomy for measuring distance in Solar system","Mm","MAM","149597.870691",149597.870691,false],[false,"parsec","pc","PRS","length",30856780000000000,[1,0,0,0,0,0,0],"pc","iso1000",true,null,null,1,false,false,0,"parsecs","UCUM","Len","Clinical","unit of length equal to 3.26 light years, nad used to measure large distances to objects outside our Solar System","m","M","3.085678e16",30856780000000000,false],[false,"velocity of light in a vacuum","[c]","[C]","velocity",299792458,[1,-1,0,0,0,0,0],"c","const",true,null,null,1,false,false,0,"speed of light","UCUM","Vel","Constant","equal to 299792458 m/s (approximately 3 x 10^8 m/s)","m/s","M/S","299792458",299792458,false],[false,"Planck constant","[h]","[H]","action",6.6260755e-31,[2,-1,1,0,0,0,0],"h","const",true,null,null,1,false,false,0,"Planck\'s constant","UCUM","","Constant","constant = 6.62607004 × 10-34 m2.kg/s; defined as quantum of action","J.s","J.S","6.6260755e-34",6.6260755e-34,false],[false,"Boltzmann constant","[k]","[K]","(unclassified)",1.380658e-20,[2,-2,1,0,-1,0,0],"k","const",true,null,null,1,false,false,0,"k; kB","UCUM","","Constant","physical constant relating energy at the individual particle level with temperature = 1.38064852 ×10^−23 J/K","J/K","J/K","1.380658e-23",1.380658e-23,false],[false,"permittivity of vacuum - electric","[eps_0]","[EPS_0]","electric permittivity",8.854187817000001e-15,[-3,2,-1,0,0,2,0],"ε0","const",true,null,null,1,false,false,0,"ε0; Electric Constant; vacuum permittivity; permittivity of free space ","UCUM","","Constant","approximately equal to 8.854 × 10^−12 F/m (farads per meter)","F/m","F/M","8.854187817e-12",8.854187817e-12,false],[false,"permeability of vacuum - magnetic","[mu_0]","[MU_0]","magnetic permeability",0.0012566370614359172,[1,0,1,0,0,-2,0],"μ0","const",true,null,null,1,false,false,0,"μ0; vacuum permeability; permeability of free space; magnetic constant","UCUM","","Constant","equal to 4π×10^−7 N/A2 (Newtons per square ampere) ≈ 1.2566×10^−6 H/m (Henry per meter)","N/A2","4.[PI].10*-7.N/A2","1",0.0000012566370614359173,false],[false,"elementary charge","[e]","[E]","electric charge",1.60217733e-19,[0,0,0,0,0,1,0],"e","const",true,null,null,1,false,false,0,"e; q; electric charges","UCUM","","Constant","the magnitude of the electric charge carried by a single electron or proton ≈ 1.60217×10^-19 Coulombs","C","C","1.60217733e-19",1.60217733e-19,false],[false,"electronvolt","eV","EV","energy",1.60217733e-16,[2,-2,1,0,0,0,0],"eV","iso1000",true,null,null,1,false,false,0,"Electron Volts; electronvolts","UCUM","Eng","Clinical","unit of kinetic energy = 1 V * 1.602×10^−19 C = 1.6×10−19 Joules","[e].V","[E].V","1",1,false],[false,"electron mass","[m_e]","[M_E]","mass",9.1093897e-28,[0,0,1,0,0,0,0],"me","const",true,null,null,1,false,false,0,"electron rest mass; me","UCUM","Mass","Constant","approximately equal to 9.10938356 × 10-31 kg; defined as the mass of a stationary electron","g","g","9.1093897e-28",9.1093897e-28,false],[false,"proton mass","[m_p]","[M_P]","mass",1.6726231e-24,[0,0,1,0,0,0,0],"mp","const",true,null,null,1,false,false,0,"mp; masses","UCUM","Mass","Constant","approximately equal to 1.672622×10−27 kg","g","g","1.6726231e-24",1.6726231e-24,false],[false,"Newtonian constant of gravitation","[G]","[GC]","(unclassified)",6.67259e-14,[3,-2,-1,0,0,0,0],"G","const",true,null,null,1,false,false,0,"G; gravitational constant; Newton\'s constant","UCUM","","Constant","gravitational constant = 6.674×10−11 N⋅m2/kg2","m3.kg-1.s-2","M3.KG-1.S-2","6.67259e-11",6.67259e-11,false],[false,"standard acceleration of free fall","[g]","[G]","acceleration",9.80665,[1,-2,0,0,0,0,0],"gn","const",true,null,null,1,false,false,0,"standard gravity; g; ɡ0; ɡn","UCUM","Accel","Constant","defined by standard = 9.80665 m/s2","m/s2","M/S2","980665e-5",9.80665,false],[false,"Torr","Torr","Torr","pressure",133322,[-1,-2,1,0,0,0,0],"Torr","const",false,null,null,1,false,false,0,"torrs","UCUM","Pres","Clinical","1 torr = 1 mmHg; unit used to measure blood pressure","Pa","PAL","133.322",133.322,false],[false,"standard atmosphere","atm","ATM","pressure",101325000,[-1,-2,1,0,0,0,0],"atm","const",false,null,null,1,false,false,0,"reference pressure; atmos; std atmosphere","UCUM","Pres","Clinical","defined as being precisely equal to 101,325 Pa","Pa","PAL","101325",101325,false],[false,"light-year","[ly]","[LY]","length",9460730472580800,[1,0,0,0,0,0,0],"l.y.","const",true,null,null,1,false,false,0,"light years; ly","UCUM","Len","Constant","unit of astronomal distance = 5.88×10^12 mi","[c].a_j","[C].ANN_J","1",1,false],[false,"gram-force","gf","GF","force",9.80665,[1,-2,1,0,0,0,0],"gf","const",true,null,null,1,false,false,0,"Newtons; gram forces","UCUM","Force","Clinical","May be specific to unit related to cardiac output","g.[g]","G.[G]","1",1,false],[false,"Kayser","Ky","KY","lineic number",100,[-1,0,0,0,0,0,0],"K","cgs",true,null,null,1,false,false,0,"wavenumbers; kaysers","UCUM","InvLen","Clinical","unit of wavelength equal to cm^-1","cm-1","CM-1","1",1,false],[false,"Gal","Gal","GL","acceleration",0.01,[1,-2,0,0,0,0,0],"Gal","cgs",true,null,null,1,false,false,0,"galileos; Gals","UCUM","Accel","Clinical","unit of acceleration used in gravimetry; equivalent to cm/s2 ","cm/s2","CM/S2","1",1,false],[false,"dyne","dyn","DYN","force",0.01,[1,-2,1,0,0,0,0],"dyn","cgs",true,null,null,1,false,false,0,"dynes","UCUM","Force","Clinical","unit of force equal to 10^-5 Newtons","g.cm/s2","G.CM/S2","1",1,false],[false,"erg","erg","ERG","energy",0.0001,[2,-2,1,0,0,0,0],"erg","cgs",true,null,null,1,false,false,0,"10^-7 Joules, 10-7 Joules; 100 nJ; 100 nanoJoules; 1 dyne cm; 1 g.cm2/s2","UCUM","Eng","Clinical","unit of energy = 1 dyne centimeter = 10^-7 Joules","dyn.cm","DYN.CM","1",1,false],[false,"Poise","P","P","dynamic viscosity",100,[-1,-1,1,0,0,0,0],"P","cgs",true,null,null,1,false,false,0,"dynamic viscosity; poises","UCUM","Visc","Clinical","unit of dynamic viscosity where 1 Poise = 1/10 Pascal second","dyn.s/cm2","DYN.S/CM2","1",1,false],[false,"Biot","Bi","BI","electric current",10,[0,-1,0,0,0,1,0],"Bi","cgs",true,null,null,1,false,false,0,"Bi; abamperes; abA","UCUM","ElpotRat","Clinical","equal to 10 amperes","A","A","10",10,false],[false,"Stokes","St","ST","kinematic viscosity",0.0001,[2,-1,0,0,0,0,0],"St","cgs",true,null,null,1,false,false,0,"kinematic viscosity","UCUM","Visc","Clinical","unit of kimematic viscosity with units cm2/s","cm2/s","CM2/S","1",1,false],[false,"Maxwell","Mx","MX","flux of magnetic induction",0.00001,[2,-1,1,0,0,-1,0],"Mx","cgs",true,null,null,1,false,false,0,"magnetix flux; Maxwells","UCUM","","Clinical","unit of magnetic flux","Wb","WB","1e-8",1e-8,false],[false,"Gauss","G","GS","magnetic flux density",0.1,[0,-1,1,0,0,-1,0],"Gs","cgs",true,null,null,1,false,false,0,"magnetic fields; magnetic flux density; induction; B","UCUM","magnetic","Clinical","CGS unit of magnetic flux density, known as magnetic field B; defined as one maxwell unit per square centimeter (see Oersted for CGS unit for H field)","T","T","1e-4",0.0001,false],[false,"Oersted","Oe","OE","magnetic field intensity",79.57747154594767,[-1,-1,0,0,0,1,0],"Oe","cgs",true,null,null,1,false,false,0,"H magnetic B field; Oersteds","UCUM","","Clinical","CGS unit of the auxiliary magnetic field H defined as 1 dyne per unit pole = 1000/4π amperes per meter (see Gauss for CGS unit for B field)","A/m","/[PI].A/M","250",79.57747154594767,false],[false,"Gilbert","Gb","GB","magnetic tension",0.7957747154594768,[0,-1,0,0,0,1,0],"Gb","cgs",true,null,null,1,false,false,0,"Gi; magnetomotive force; Gilberts","UCUM","","Clinical","unit of magnetomotive force (magnetic potential)","Oe.cm","OE.CM","1",1,false],[false,"stilb","sb","SB","lum. intensity density",10000,[-2,0,0,0,0,0,1],"sb","cgs",true,null,null,1,false,false,0,"stilbs","UCUM","","Obsolete","unit of luminance; equal to and replaced by unit candela per square centimeter (cd/cm2)","cd/cm2","CD/CM2","1",1,false],[false,"Lambert","Lmb","LMB","brightness",3183.098861837907,[-2,0,0,0,0,0,1],"L","cgs",true,null,null,1,false,false,0,"luminance; lamberts","UCUM","","Clinical","unit of luminance defined as 1 lambert = 1/ π candela per square meter","cd/cm2/[pi]","CD/CM2/[PI]","1",1,false],[false,"phot","ph","PHT","illuminance",0.0001,[-2,0,0,2,0,0,1],"ph","cgs",true,null,null,1,false,false,0,"phots","UCUM","","Clinical","CGS photometric unit of illuminance, or luminous flux through an area equal to 10000 lumens per square meter = 10000 lux","lx","LX","1e-4",0.0001,false],[false,"Curie","Ci","CI","radioactivity",37000000000,[0,-1,0,0,0,0,0],"Ci","cgs",true,null,null,1,false,false,0,"curies","UCUM","","Obsolete","unit for measuring atomic disintegration rate; replaced by the Bequerel (Bq) unit","Bq","BQ","37e9",37000000000,false],[false,"Roentgen","R","ROE","ion dose",2.58e-7,[0,0,-1,0,0,1,0],"R","cgs",true,null,null,1,false,false,0,"röntgen; Roentgens","UCUM","","Clinical","unit of exposure of X-rays and gamma rays in air; unit used primarily in the US but strongly discouraged by NIST","C/kg","C/KG","2.58e-4",0.000258,false],[false,"radiation absorbed dose","RAD","[RAD]","energy dose",0.01,[2,-2,0,0,0,0,0],"RAD","cgs",true,null,null,1,false,false,0,"doses","UCUM","","Clinical","unit of radiation absorbed dose used primarily in the US with base units 100 ergs per gram of material. Also see the SI unit Gray (Gy).","erg/g","ERG/G","100",100,false],[false,"radiation equivalent man","REM","[REM]","dose equivalent",0.01,[2,-2,0,0,0,0,0],"REM","cgs",true,null,null,1,false,false,0,"Roentgen Equivalent in Man; rems; dose equivalents","UCUM","","Clinical","unit of equivalent dose which measures the effect of radiation on humans equal to 0.01 sievert. Used primarily in the US. Also see SI unit Sievert (Sv)","RAD","[RAD]","1",1,false],[false,"inch","[in_i]","[IN_I]","length",0.025400000000000002,[1,0,0,0,0,0,0],"in","intcust",false,null,null,1,false,false,0,"inches; in; international inch; body height","UCUM","Len","Clinical","standard unit for inch in the US and internationally","cm","CM","254e-2",2.54,false],[false,"foot","[ft_i]","[FT_I]","length",0.3048,[1,0,0,0,0,0,0],"ft","intcust",false,null,null,1,false,false,0,"ft; fts; foot; international foot; feet; international feet; height","UCUM","Len","Clinical","unit used in the US and internationally","[in_i]","[IN_I]","12",12,false],[false,"yard","[yd_i]","[YD_I]","length",0.9144000000000001,[1,0,0,0,0,0,0],"yd","intcust",false,null,null,1,false,false,0,"international yards; yds; distance","UCUM","Len","Clinical","standard unit used in the US and internationally","[ft_i]","[FT_I]","3",3,false],[false,"mile","[mi_i]","[MI_I]","length",1609.344,[1,0,0,0,0,0,0],"mi","intcust",false,null,null,1,false,false,0,"international miles; mi I; statute mile","UCUM","Len","Clinical","standard unit used in the US and internationally","[ft_i]","[FT_I]","5280",5280,false],[false,"fathom","[fth_i]","[FTH_I]","depth of water",1.8288000000000002,[1,0,0,0,0,0,0],"fth","intcust",false,null,null,1,false,false,0,"international fathoms","UCUM","Len","Nonclinical","unit used in the US and internationally to measure depth of water; same length as the US fathom","[ft_i]","[FT_I]","6",6,false],[false,"nautical mile","[nmi_i]","[NMI_I]","length",1852,[1,0,0,0,0,0,0],"n.mi","intcust",false,null,null,1,false,false,0,"nautical mile; nautical miles; international nautical mile; international nautical miles; nm; n.m.; nmi","UCUM","Len","Nonclinical","standard unit used in the US and internationally","m","M","1852",1852,false],[false,"knot","[kn_i]","[KN_I]","velocity",0.5144444444444445,[1,-1,0,0,0,0,0],"knot","intcust",false,null,null,1,false,false,0,"kn; kt; international knots","UCUM","Vel","Nonclinical","defined as equal to one nautical mile (1.852 km) per hour","[nmi_i]/h","[NMI_I]/H","1",1,false],[false,"square inch","[sin_i]","[SIN_I]","area",0.0006451600000000001,[2,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"in2; in^2; inches squared; sq inch; inches squared; international","UCUM","Area","Clinical","standard unit used in the US and internationally","[in_i]2","[IN_I]2","1",1,false],[false,"square foot","[sft_i]","[SFT_I]","area",0.09290304,[2,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"ft2; ft^2; ft squared; sq ft; feet; international","UCUM","Area","Clinical","standard unit used in the US and internationally","[ft_i]2","[FT_I]2","1",1,false],[false,"square yard","[syd_i]","[SYD_I]","area",0.8361273600000002,[2,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"yd2; yd^2; sq. yds; yards squared; international","UCUM","Area","Clinical","standard unit used in the US and internationally","[yd_i]2","[YD_I]2","1",1,false],[false,"cubic inch","[cin_i]","[CIN_I]","volume",0.000016387064000000003,[3,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"in3; in^3; in*3; inches^3; inches*3; cu. in; cu in; cubic inches; inches cubed; cin","UCUM","Vol","Clinical","standard unit used in the US and internationally","[in_i]3","[IN_I]3","1",1,false],[false,"cubic foot","[cft_i]","[CFT_I]","volume",0.028316846592000004,[3,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"ft3; ft^3; ft*3; cu. ft; cubic feet; cubed; [ft_i]3; international","UCUM","Vol","Clinical","","[ft_i]3","[FT_I]3","1",1,false],[false,"cubic yard","[cyd_i]","[CYD_I]","volume",0.7645548579840002,[3,0,0,0,0,0,0],"cu.yd","intcust",false,null,null,1,false,false,0,"cubic yards; cubic yds; cu yards; CYs; yards^3; yd^3; yds^3; yd3; yds3","UCUM","Vol","Nonclinical","standard unit used in the US and internationally","[yd_i]3","[YD_I]3","1",1,false],[false,"board foot","[bf_i]","[BF_I]","volume",0.002359737216,[3,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"BDFT; FBM; BF; board feet; international","UCUM","Vol","Nonclinical","unit of volume used to measure lumber","[in_i]3","[IN_I]3","144",144,false],[false,"cord","[cr_i]","[CR_I]","volume",3.6245563637760005,[3,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"crd I; international cords","UCUM","Vol","Nonclinical","unit of measure of dry volume used to measure firewood equal 128 ft3","[ft_i]3","[FT_I]3","128",128,false],[false,"mil","[mil_i]","[MIL_I]","length",0.000025400000000000004,[1,0,0,0,0,0,0],"mil","intcust",false,null,null,1,false,false,0,"thou, thousandth; mils; international","UCUM","Len","Clinical","equal to 0.001 international inch","[in_i]","[IN_I]","1e-3",0.001,false],[false,"circular mil","[cml_i]","[CML_I]","area",5.067074790974979e-10,[2,0,0,0,0,0,0],"circ.mil","intcust",false,null,null,1,false,false,0,"circular mils; cml I; international","UCUM","Area","Clinical","","[pi]/4.[mil_i]2","[PI]/4.[MIL_I]2","1",1,false],[false,"hand","[hd_i]","[HD_I]","height of horses",0.10160000000000001,[1,0,0,0,0,0,0],"hd","intcust",false,null,null,1,false,false,0,"hands; international","UCUM","Len","Nonclinical","used to measure horse height","[in_i]","[IN_I]","4",4,false],[false,"foot - US","[ft_us]","[FT_US]","length",0.3048006096012192,[1,0,0,0,0,0,0],"ftus","us-lengths",false,null,null,1,false,false,0,"US foot; foot US; us ft; ft us; height; visual distance; feet","UCUM","Len","Obsolete","Better to use [ft_i] which refers to the length used worldwide, including in the US; [ft_us] may be confused with land survey units. ","m/3937","M/3937","1200",1200,false],[false,"yard - US","[yd_us]","[YD_US]","length",0.9144018288036575,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"US yards; us yds; distance","UCUM","Len; Nrat","Obsolete","Better to use [yd_i] which refers to the length used worldwide, including in the US; [yd_us] refers to unit used in land surveys in the US","[ft_us]","[FT_US]","3",3,false],[false,"inch - US","[in_us]","[IN_US]","length",0.0254000508001016,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"US inches; in us; us in; inch US","UCUM","Len","Obsolete","Better to use [in_i] which refers to the length used worldwide, including in the US","[ft_us]/12","[FT_US]/12","1",1,false],[false,"rod - US","[rd_us]","[RD_US]","length",5.029210058420117,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"US rod; US rods; rd US; US rd","UCUM","Len","Obsolete","","[ft_us]","[FT_US]","16.5",16.5,false],[false,"Gunter\'s chain - US","[ch_us]","[CH_US]","length",20.116840233680467,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"surveyor\'s chain; Surveyor\'s chain USA; Gunter’s measurement; surveyor’s measurement; Gunter\'s Chain USA","UCUM","Len","Obsolete","historical unit used for land survey used only in the US","[rd_us]","[RD_US]","4",4,false],[false,"link for Gunter\'s chain - US","[lk_us]","[LK_US]","length",0.20116840233680466,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"Links for Gunter\'s Chain USA","UCUM","Len","Obsolete","","[ch_us]/100","[CH_US]/100","1",1,false],[false,"Ramden\'s chain - US","[rch_us]","[RCH_US]","length",30.480060960121918,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"Ramsden\'s chain; engineer\'s chains","UCUM","Len","Obsolete","distance measuring device used for land survey","[ft_us]","[FT_US]","100",100,false],[false,"link for Ramden\'s chain - US","[rlk_us]","[RLK_US]","length",0.3048006096012192,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"links for Ramsden\'s chain","UCUM","Len","Obsolete","","[rch_us]/100","[RCH_US]/100","1",1,false],[false,"fathom - US","[fth_us]","[FTH_US]","length",1.828803657607315,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"US fathoms; fathom USA; fth us","UCUM","Len","Obsolete","same length as the international fathom - better to use international fathom ([fth_i])","[ft_us]","[FT_US]","6",6,false],[false,"furlong - US","[fur_us]","[FUR_US]","length",201.16840233680466,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"US furlongs; fur us","UCUM","Len","Nonclinical","distance unit in horse racing","[rd_us]","[RD_US]","40",40,false],[false,"mile - US","[mi_us]","[MI_US]","length",1609.3472186944373,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"U.S. Survey Miles; US statute miles; survey mi; US mi; distance","UCUM","Len","Nonclinical","Better to use [mi_i] which refers to the length used worldwide, including in the US","[fur_us]","[FUR_US]","8",8,false],[false,"acre - US","[acr_us]","[ACR_US]","area",4046.872609874252,[2,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"Acre USA Survey; Acre USA; survey acres","UCUM","Area","Nonclinical","an older unit based on pre 1959 US statute lengths that is still sometimes used in the US only for land survey purposes. ","[rd_us]2","[RD_US]2","160",160,false],[false,"square rod - US","[srd_us]","[SRD_US]","area",25.292953811714074,[2,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"rod2; rod^2; sq. rod; rods squared","UCUM","Area","Nonclinical","Used only in the US to measure land area, based on US statute land survey length units","[rd_us]2","[RD_US]2","1",1,false],[false,"square mile - US","[smi_us]","[SMI_US]","area",2589998.470319521,[2,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"mi2; mi^2; sq mi; miles squared","UCUM","Area","Nonclinical","historical unit used only in the US for land survey purposes (based on the US survey mile), not the internationally recognized [mi_i]","[mi_us]2","[MI_US]2","1",1,false],[false,"section","[sct]","[SCT]","area",2589998.470319521,[2,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"sct; sections","UCUM","Area","Nonclinical","tract of land approximately equal to 1 mile square containing 640 acres","[mi_us]2","[MI_US]2","1",1,false],[false,"township","[twp]","[TWP]","area",93239944.93150276,[2,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"twp; townships","UCUM","Area","Nonclinical","land measurement equal to 6 mile square","[sct]","[SCT]","36",36,false],[false,"mil - US","[mil_us]","[MIL_US]","length",0.0000254000508001016,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"thou, thousandth; mils","UCUM","Len","Obsolete","better to use [mil_i] which is based on the internationally recognized inch","[in_us]","[IN_US]","1e-3",0.001,false],[false,"inch - British","[in_br]","[IN_BR]","length",0.025399980000000003,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"imperial inches; imp in; br in; british inches","UCUM","Len","Obsolete","","cm","CM","2.539998",2.539998,false],[false,"foot - British","[ft_br]","[FT_BR]","length",0.30479976000000003,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British Foot; Imperial Foot; feet; imp fts; br fts","UCUM","Len","Obsolete","","[in_br]","[IN_BR]","12",12,false],[false,"rod - British","[rd_br]","[RD_BR]","length",5.02919604,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British rods; br rd","UCUM","Len","Obsolete","","[ft_br]","[FT_BR]","16.5",16.5,false],[false,"Gunter\'s chain - British","[ch_br]","[CH_BR]","length",20.11678416,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"Gunter\'s Chain British; Gunters Chain British; Surveyor\'s Chain British","UCUM","Len","Obsolete","historical unit used for land survey used only in Great Britain","[rd_br]","[RD_BR]","4",4,false],[false,"link for Gunter\'s chain - British","[lk_br]","[LK_BR]","length",0.2011678416,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"Links for Gunter\'s Chain British","UCUM","Len","Obsolete","","[ch_br]/100","[CH_BR]/100","1",1,false],[false,"fathom - British","[fth_br]","[FTH_BR]","length",1.82879856,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British fathoms; imperial fathoms; br fth; imp fth","UCUM","Len","Obsolete","","[ft_br]","[FT_BR]","6",6,false],[false,"pace - British","[pc_br]","[PC_BR]","length",0.7619994000000001,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British paces; br pc","UCUM","Len","Nonclinical","traditional unit of length equal to 152.4 centimeters, or 1.52 meter. ","[ft_br]","[FT_BR]","2.5",2.5,false],[false,"yard - British","[yd_br]","[YD_BR]","length",0.91439928,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British yards; Br yds; distance","UCUM","Len","Obsolete","","[ft_br]","[FT_BR]","3",3,false],[false,"mile - British","[mi_br]","[MI_BR]","length",1609.3427328000002,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"imperial miles; British miles; English statute miles; imp mi, br mi","UCUM","Len","Obsolete","","[ft_br]","[FT_BR]","5280",5280,false],[false,"nautical mile - British","[nmi_br]","[NMI_BR]","length",1853.1825408000002,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British nautical miles; Imperial nautical miles; Admiralty miles; n.m. br; imp nm","UCUM","Len","Obsolete","","[ft_br]","[FT_BR]","6080",6080,false],[false,"knot - British","[kn_br]","[KN_BR]","velocity",0.5147729280000001,[1,-1,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British knots; kn br; kt","UCUM","Vel","Obsolete","based on obsolete British nautical mile ","[nmi_br]/h","[NMI_BR]/H","1",1,false],[false,"acre","[acr_br]","[ACR_BR]","area",4046.850049400269,[2,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"Imperial acres; British; a; ac; ar; acr","UCUM","Area","Nonclinical","the standard unit for acre used in the US and internationally","[yd_br]2","[YD_BR]2","4840",4840,false],[false,"gallon - US","[gal_us]","[GAL_US]","fluid volume",0.0037854117840000006,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US gallons; US liquid gallon; gal us; Queen Anne\'s wine gallon","UCUM","Vol","Nonclinical","only gallon unit used in the US; [gal_us] is only used in some other countries in South American and Africa to measure gasoline volume","[in_i]3","[IN_I]3","231",231,false],[false,"barrel - US","[bbl_us]","[BBL_US]","fluid volume",0.158987294928,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"bbl","UCUM","Vol","Nonclinical","[bbl_us] is the standard unit for oil barrel, which is a unit only used in the US to measure the volume oil. ","[gal_us]","[GAL_US]","42",42,false],[false,"quart - US","[qt_us]","[QT_US]","fluid volume",0.0009463529460000001,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US quarts; us qts","UCUM","Vol","Clinical","Used only in the US","[gal_us]/4","[GAL_US]/4","1",1,false],[false,"pint - US","[pt_us]","[PT_US]","fluid volume",0.00047317647300000007,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US pints; pint US; liquid pint; pt us; us pt","UCUM","Vol","Clinical","Used only in the US","[qt_us]/2","[QT_US]/2","1",1,false],[false,"gill - US","[gil_us]","[GIL_US]","fluid volume",0.00011829411825000002,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US gills; gil us","UCUM","Vol","Nonclinical","only used in the context of alcohol volume in the US","[pt_us]/4","[PT_US]/4","1",1,false],[false,"fluid ounce - US","[foz_us]","[FOZ_US]","fluid volume",0.000029573529562500005,[3,0,0,0,0,0,0],"oz fl","us-volumes",false,null,null,1,false,false,0,"US fluid ounces; fl ozs; FO; fl. oz.; foz us","UCUM","Vol","Clinical","unit used only in the US","[gil_us]/4","[GIL_US]/4","1",1,false],[false,"fluid dram - US","[fdr_us]","[FDR_US]","fluid volume",0.0000036966911953125006,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US fluid drams; fdr us","UCUM","Vol","Nonclinical","equal to 1/8 US fluid ounce = 3.69 mL; used informally to mean small amount of liquor, especially Scotch whiskey","[foz_us]/8","[FOZ_US]/8","1",1,false],[false,"minim - US","[min_us]","[MIN_US]","fluid volume",6.1611519921875e-8,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"min US; US min; ♏ US","UCUM","Vol","Obsolete","","[fdr_us]/60","[FDR_US]/60","1",1,false],[false,"cord - US","[crd_us]","[CRD_US]","fluid volume",3.6245563637760005,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US cord; US cords; crd us; us crd","UCUM","Vol","Nonclinical","unit of measure of dry volume used to measure firewood equal 128 ft3 (the same as international cord [cr_i])","[ft_i]3","[FT_I]3","128",128,false],[false,"bushel - US","[bu_us]","[BU_US]","dry volume",0.03523907016688001,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US bushels; US bsh; US bu","UCUM","Vol","Obsolete","Historical unit of dry volume that is rarely used today","[in_i]3","[IN_I]3","2150.42",2150.42,false],[false,"gallon - historical","[gal_wi]","[GAL_WI]","dry volume",0.004404883770860001,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"Corn Gallon British; Dry Gallon US; Gallons Historical; Grain Gallon British; Winchester Corn Gallon; historical winchester gallons; wi gal","UCUM","Vol","Obsolete","historical unit of dry volume no longer used","[bu_us]/8","[BU_US]/8","1",1,false],[false,"peck - US","[pk_us]","[PK_US]","dry volume",0.008809767541720002,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US pecks; US pk","UCUM","Vol","Nonclinical","unit of dry volume rarely used today (can be used to measure volume of apples)","[bu_us]/4","[BU_US]/4","1",1,false],[false,"dry quart - US","[dqt_us]","[DQT_US]","dry volume",0.0011012209427150002,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"dry quarts; dry quart US; US dry quart; dry qt; us dry qt; dqt; dqt us","UCUM","Vol","Nonclinical","historical unit of dry volume only in the US, but is rarely used today","[pk_us]/8","[PK_US]/8","1",1,false],[false,"dry pint - US","[dpt_us]","[DPT_US]","dry volume",0.0005506104713575001,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"dry pints; dry pint US; US dry pint; dry pt; dpt; dpt us","UCUM","Vol","Nonclinical","historical unit of dry volume only in the US, but is rarely used today","[dqt_us]/2","[DQT_US]/2","1",1,false],[false,"tablespoon - US","[tbs_us]","[TBS_US]","volume",0.000014786764781250002,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"Tbs; tbsp; tbs us; US tablespoons","UCUM","Vol","Clinical","unit defined as 0.5 US fluid ounces or 3 teaspoons - used only in the US. See [tbs_m] for the unit used internationally and in the US for nutrional labelling. ","[foz_us]/2","[FOZ_US]/2","1",1,false],[false,"teaspoon - US","[tsp_us]","[TSP_US]","volume",0.0000049289215937500005,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"tsp; t; US teaspoons","UCUM","Vol","Nonclinical","unit defined as 1/6 US fluid ounces - used only in the US. See [tsp_m] for the unit used internationally and in the US for nutrional labelling. ","[tbs_us]/3","[TBS_US]/3","1",1,false],[false,"cup - US customary","[cup_us]","[CUP_US]","volume",0.00023658823650000004,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"cup us; us cups","UCUM","Vol","Nonclinical","Unit defined as 1/2 US pint or 16 US tablespoons ≈ 236.59 mL, which is not the standard unit defined by the FDA of 240 mL - see [cup_m] (metric cup)","[tbs_us]","[TBS_US]","16",16,false],[false,"fluid ounce - metric","[foz_m]","[FOZ_M]","fluid volume",0.000029999999999999997,[3,0,0,0,0,0,0],"oz fl","us-volumes",false,null,null,1,false,false,0,"metric fluid ounces; fozs m; fl ozs m","UCUM","Vol","Clinical","unit used only in the US for nutritional labelling, as set by the FDA","mL","ML","30",30,false],[false,"cup - US legal","[cup_m]","[CUP_M]","volume",0.00023999999999999998,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"cup m; metric cups","UCUM","Vol","Clinical","standard unit equal to 240 mL used in the US for nutritional labelling, as defined by the FDA. Note that this is different from the US customary cup (236.59 mL) and the metric cup used in Commonwealth nations (250 mL).","mL","ML","240",240,false],[false,"teaspoon - metric","[tsp_m]","[TSP_M]","volume",0.0000049999999999999996,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"tsp; t; metric teaspoons","UCUM","Vol","Clinical","standard unit used in the US and internationally","mL","mL","5",5,false],[false,"tablespoon - metric","[tbs_m]","[TBS_M]","volume",0.000014999999999999999,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"metric tablespoons; Tbs; tbsp; T; tbs m","UCUM","Vol","Clinical","standard unit used in the US and internationally","mL","mL","15",15,false],[false,"gallon- British","[gal_br]","[GAL_BR]","volume",0.004546090000000001,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"imperial gallons, UK gallons; British gallons; br gal; imp gal","UCUM","Vol","Nonclinical","Used only in Great Britain and other Commonwealth countries","l","L","4.54609",4.54609,false],[false,"peck - British","[pk_br]","[PK_BR]","volume",0.009092180000000002,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"imperial pecks; British pecks; br pk; imp pk","UCUM","Vol","Nonclinical","unit of dry volume rarely used today (can be used to measure volume of apples)","[gal_br]","[GAL_BR]","2",2,false],[false,"bushel - British","[bu_br]","[BU_BR]","volume",0.03636872000000001,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"British bushels; imperial; br bsh; br bu; imp","UCUM","Vol","Obsolete","Historical unit of dry volume that is rarely used today","[pk_br]","[PK_BR]","4",4,false],[false,"quart - British","[qt_br]","[QT_BR]","volume",0.0011365225000000002,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"British quarts; imperial quarts; br qts","UCUM","Vol","Clinical","Used only in Great Britain and other Commonwealth countries","[gal_br]/4","[GAL_BR]/4","1",1,false],[false,"pint - British","[pt_br]","[PT_BR]","volume",0.0005682612500000001,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"British pints; imperial pints; pt br; br pt; imp pt; pt imp","UCUM","Vol","Clinical","Used only in Great Britain and other Commonwealth countries","[qt_br]/2","[QT_BR]/2","1",1,false],[false,"gill - British","[gil_br]","[GIL_BR]","volume",0.00014206531250000003,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"imperial gills; British gills; imp gill, br gill","UCUM","Vol","Nonclinical","only used in the context of alcohol volume in Great Britain","[pt_br]/4","[PT_BR]/4","1",1,false],[false,"fluid ounce - British","[foz_br]","[FOZ_BR]","volume",0.000028413062500000005,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"British fluid ounces; Imperial fluid ounces; br fozs; imp fozs; br fl ozs","UCUM","Vol","Clinical","Used only in Great Britain and other Commonwealth countries","[gil_br]/5","[GIL_BR]/5","1",1,false],[false,"fluid dram - British","[fdr_br]","[FDR_BR]","volume",0.0000035516328125000006,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"British fluid drams; fdr br","UCUM","Vol","Nonclinical","equal to 1/8 Imperial fluid ounce = 3.55 mL; used informally to mean small amount of liquor, especially Scotch whiskey","[foz_br]/8","[FOZ_BR]/8","1",1,false],[false,"minim - British","[min_br]","[MIN_BR]","volume",5.919388020833334e-8,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"min br; br min; ♏ br","UCUM","Vol","Obsolete","","[fdr_br]/60","[FDR_BR]/60","1",1,false],[false,"grain","[gr]","[GR]","mass",0.06479891,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"gr; grains","UCUM","Mass","Nonclinical","an apothecary measure of mass rarely used today","mg","MG","64.79891",64.79891,false],[false,"pound","[lb_av]","[LB_AV]","mass",453.59237,[0,0,1,0,0,0,0],"lb","avoirdupois",false,null,null,1,false,false,0,"avoirdupois pounds, international pounds; av lbs; pounds","UCUM","Mass","Clinical","standard unit used in the US and internationally","[gr]","[GR]","7000",7000,false],[false,"pound force - US","[lbf_av]","[LBF_AV]","force",4448.2216152605,[1,-2,1,0,0,0,0],"lbf","const",false,null,null,1,false,false,0,"lbfs; US lbf; US pound forces","UCUM","Force","Clinical","only rarely needed in health care - see [lb_av] which is the more common unit to express weight","[lb_av].[g]","[LB_AV].[G]","1",1,false],[false,"ounce","[oz_av]","[OZ_AV]","mass",28.349523125,[0,0,1,0,0,0,0],"oz","avoirdupois",false,null,null,1,false,false,0,"ounces; international ounces; avoirdupois ounces; av ozs","UCUM","Mass","Clinical","standard unit used in the US and internationally","[lb_av]/16","[LB_AV]/16","1",1,false],[false,"Dram mass unit","[dr_av]","[DR_AV]","mass",1.7718451953125,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"Dram; drams avoirdupois; avoidupois dram; international dram","UCUM","Mass","Clinical","unit from the avoirdupois system, which is used in the US and internationally","[oz_av]/16","[OZ_AV]/16","1",1,false],[false,"short hundredweight","[scwt_av]","[SCWT_AV]","mass",45359.237,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"hundredweights; s cwt; scwt; avoirdupois","UCUM","Mass","Nonclinical","Used only in the US to equal 100 pounds","[lb_av]","[LB_AV]","100",100,false],[false,"long hundredweight","[lcwt_av]","[LCWT_AV]","mass",50802.345440000005,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"imperial hundredweights; imp cwt; lcwt; avoirdupois","UCUM","Mass","Obsolete","","[lb_av]","[LB_AV]","112",112,false],[false,"short ton - US","[ston_av]","[STON_AV]","mass",907184.74,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"ton; US tons; avoirdupois tons","UCUM","Mass","Clinical","Used only in the US","[scwt_av]","[SCWT_AV]","20",20,false],[false,"long ton - British","[lton_av]","[LTON_AV]","mass",1016046.9088000001,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"imperial tons; weight tons; British long tons; long ton avoirdupois","UCUM","Mass","Nonclinical","Used only in Great Britain and other Commonwealth countries","[lcwt_av]","[LCWT_AV]","20",20,false],[false,"stone - British","[stone_av]","[STONE_AV]","mass",6350.293180000001,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"British stones; avoirdupois","UCUM","Mass","Nonclinical","Used primarily in the UK and Ireland to measure body weight","[lb_av]","[LB_AV]","14",14,false],[false,"pennyweight - troy","[pwt_tr]","[PWT_TR]","mass",1.5551738400000001,[0,0,1,0,0,0,0],null,"troy",false,null,null,1,false,false,0,"dwt; denarius weights","UCUM","Mass","Obsolete","historical unit used to measure mass and cost of precious metals","[gr]","[GR]","24",24,false],[false,"ounce - troy","[oz_tr]","[OZ_TR]","mass",31.103476800000003,[0,0,1,0,0,0,0],null,"troy",false,null,null,1,false,false,0,"troy ounces; tr ozs","UCUM","Mass","Nonclinical","unit of mass for precious metals and gemstones only","[pwt_tr]","[PWT_TR]","20",20,false],[false,"pound - troy","[lb_tr]","[LB_TR]","mass",373.2417216,[0,0,1,0,0,0,0],null,"troy",false,null,null,1,false,false,0,"troy pounds; tr lbs","UCUM","Mass","Nonclinical","only used for weighing precious metals","[oz_tr]","[OZ_TR]","12",12,false],[false,"scruple","[sc_ap]","[SC_AP]","mass",1.2959782,[0,0,1,0,0,0,0],null,"apoth",false,null,null,1,false,false,0,"scruples; sc ap","UCUM","Mass","Obsolete","","[gr]","[GR]","20",20,false],[false,"dram - apothecary","[dr_ap]","[DR_AP]","mass",3.8879346,[0,0,1,0,0,0,0],null,"apoth",false,null,null,1,false,false,0,"ʒ; drachm; apothecaries drams; dr ap; dram ap","UCUM","Mass","Nonclinical","unit still used in the US occasionally to measure amount of drugs in pharmacies","[sc_ap]","[SC_AP]","3",3,false],[false,"ounce - apothecary","[oz_ap]","[OZ_AP]","mass",31.1034768,[0,0,1,0,0,0,0],null,"apoth",false,null,null,1,false,false,0,"apothecary ounces; oz ap; ap ozs; ozs ap","UCUM","Mass","Obsolete","","[dr_ap]","[DR_AP]","8",8,false],[false,"pound - apothecary","[lb_ap]","[LB_AP]","mass",373.2417216,[0,0,1,0,0,0,0],null,"apoth",false,null,null,1,false,false,0,"apothecary pounds; apothecaries pounds; ap lb; lb ap; ap lbs; lbs ap","UCUM","Mass","Obsolete","","[oz_ap]","[OZ_AP]","12",12,false],[false,"ounce - metric","[oz_m]","[OZ_M]","mass",28,[0,0,1,0,0,0,0],null,"apoth",false,null,null,1,false,false,0,"metric ounces; m ozs","UCUM","Mass","Clinical","see [oz_av] (the avoirdupois ounce) for the standard ounce used internationally; [oz_m] is equal to 28 grams and is based on the apothecaries\' system of mass units which is used in some US pharmacies. ","g","g","28",28,false],[false,"line","[lne]","[LNE]","length",0.002116666666666667,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"British lines; br L; L; l","UCUM","Len","Obsolete","","[in_i]/12","[IN_I]/12","1",1,false],[false,"point (typography)","[pnt]","[PNT]","length",0.0003527777777777778,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"DTP points; desktop publishing point; pt; pnt","UCUM","Len","Nonclinical","typography unit for typesetter\'s length","[lne]/6","[LNE]/6","1",1,false],[false,"pica (typography)","[pca]","[PCA]","length",0.004233333333333334,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"picas","UCUM","Len","Nonclinical","typography unit for typesetter\'s length","[pnt]","[PNT]","12",12,false],[false,"Printer\'s point (typography)","[pnt_pr]","[PNT_PR]","length",0.00035145980000000004,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"pnt pr","UCUM","Len","Nonclinical","typography unit for typesetter\'s length","[in_i]","[IN_I]","0.013837",0.013837,false],[false,"Printer\'s pica (typography)","[pca_pr]","[PCA_PR]","length",0.004217517600000001,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"pca pr; Printer\'s picas","UCUM","Len","Nonclinical","typography unit for typesetter\'s length","[pnt_pr]","[PNT_PR]","12",12,false],[false,"pied","[pied]","[PIED]","length",0.3248,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"pieds du roi; Paris foot; royal; French; feet","UCUM","Len","Obsolete","","cm","CM","32.48",32.48,false],[false,"pouce","[pouce]","[POUCE]","length",0.027066666666666666,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"historical French inches; French royal inches","UCUM","Len","Obsolete","","[pied]/12","[PIED]/12","1",1,false],[false,"ligne","[ligne]","[LIGNE]","length",0.0022555555555555554,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"Paris lines; lignes","UCUM","Len","Obsolete","","[pouce]/12","[POUCE]/12","1",1,false],[false,"didot","[didot]","[DIDOT]","length",0.0003759259259259259,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"Didot point; dd; Didots Point; didots; points","UCUM","Len","Obsolete","typography unit for typesetter\'s length","[ligne]/6","[LIGNE]/6","1",1,false],[false,"cicero","[cicero]","[CICERO]","length",0.004511111111111111,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"Didot\'s pica; ciceros; picas","UCUM","Len","Obsolete","typography unit for typesetter\'s length","[didot]","[DIDOT]","12",12,false],[false,"degrees Fahrenheit","[degF]","[DEGF]","temperature",0.5555555555555556,[0,0,0,0,1,0,0],"°F","heat",false,null,"degF",1,true,false,0,"°F; deg F","UCUM","Temp","Clinical","","K",null,null,0.5555555555555556,false],[false,"degrees Rankine","[degR]","[degR]","temperature",0.5555555555555556,[0,0,0,0,1,0,0],"°R","heat",false,null,null,1,false,false,0,"°R; °Ra; Rankine","UCUM","Temp","Obsolete","Replaced by Kelvin","K/9","K/9","5",5,false],[false,"degrees Réaumur","[degRe]","[degRe]","temperature",1.25,[0,0,0,0,1,0,0],"°Ré","heat",false,null,"degRe",1,true,false,0,"°Ré, °Re, °r; Réaumur; degree Reaumur; Reaumur","UCUM","Temp","Obsolete","replaced by Celsius","K",null,null,1.25,false],[false,"calorie at 15°C","cal_[15]","CAL_[15]","energy",4185.8,[2,-2,1,0,0,0,0],"cal15°C","heat",true,null,null,1,false,false,0,"calorie 15 C; cals 15 C; calories at 15 C","UCUM","Enrg","Nonclinical","equal to 4.1855 joules; calorie most often used in engineering","J","J","4.18580",4.1858,false],[false,"calorie at 20°C","cal_[20]","CAL_[20]","energy",4181.9,[2,-2,1,0,0,0,0],"cal20°C","heat",true,null,null,1,false,false,0,"calorie 20 C; cal 20 C; calories at 20 C","UCUM","Enrg","Clinical","equal to 4.18190 joules. ","J","J","4.18190",4.1819,false],[false,"mean calorie","cal_m","CAL_M","energy",4190.0199999999995,[2,-2,1,0,0,0,0],"calm","heat",true,null,null,1,false,false,0,"mean cals; mean calories","UCUM","Enrg","Clinical","equal to 4.19002 joules. ","J","J","4.19002",4.19002,false],[false,"international table calorie","cal_IT","CAL_IT","energy",4186.8,[2,-2,1,0,0,0,0],"calIT","heat",true,null,null,1,false,false,0,"calories IT; IT cals; international steam table calories","UCUM","Enrg","Nonclinical","used in engineering steam tables and defined as 1/860 international watt-hour; equal to 4.1868 joules","J","J","4.1868",4.1868,false],[false,"thermochemical calorie","cal_th","CAL_TH","energy",4184,[2,-2,1,0,0,0,0],"calth","heat",true,null,null,1,false,false,0,"thermochemical calories; th cals","UCUM","Enrg","Clinical","equal to 4.184 joules; used as the unit in medicine and biochemistry (equal to cal)","J","J","4.184",4.184,false],[false,"calorie","cal","CAL","energy",4184,[2,-2,1,0,0,0,0],"cal","heat",true,null,null,1,false,false,0,"gram calories; small calories","UCUM","Enrg","Clinical","equal to 4.184 joules (the same value as the thermochemical calorie, which is the most common calorie used in medicine and biochemistry)","cal_th","CAL_TH","1",1,false],[false,"nutrition label Calories","[Cal]","[CAL]","energy",4184000,[2,-2,1,0,0,0,0],"Cal","heat",false,null,null,1,false,false,0,"food calories; Cal; kcal","UCUM","Eng","Clinical","","kcal_th","KCAL_TH","1",1,false],[false,"British thermal unit at 39°F","[Btu_39]","[BTU_39]","energy",1059670,[2,-2,1,0,0,0,0],"Btu39°F","heat",false,null,null,1,false,false,0,"BTU 39F; BTU 39 F; B.T.U. 39 F; B.Th.U. 39 F; BThU 39 F; British thermal units","UCUM","Eng","Nonclinical","equal to 1.05967 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.05967",1.05967,false],[false,"British thermal unit at 59°F","[Btu_59]","[BTU_59]","energy",1054800,[2,-2,1,0,0,0,0],"Btu59°F","heat",false,null,null,1,false,false,0,"BTU 59 F; BTU 59F; B.T.U. 59 F; B.Th.U. 59 F; BThU 59F; British thermal units","UCUM","Eng","Nonclinical","equal to 1.05480 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.05480",1.0548,false],[false,"British thermal unit at 60°F","[Btu_60]","[BTU_60]","energy",1054680,[2,-2,1,0,0,0,0],"Btu60°F","heat",false,null,null,1,false,false,0,"BTU 60 F; BTU 60F; B.T.U. 60 F; B.Th.U. 60 F; BThU 60 F; British thermal units 60 F","UCUM","Eng","Nonclinical","equal to 1.05468 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.05468",1.05468,false],[false,"mean British thermal unit","[Btu_m]","[BTU_M]","energy",1055870,[2,-2,1,0,0,0,0],"Btum","heat",false,null,null,1,false,false,0,"BTU mean; B.T.U. mean; B.Th.U. mean; BThU mean; British thermal units mean; ","UCUM","Eng","Nonclinical","equal to 1.05587 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.05587",1.05587,false],[false,"international table British thermal unit","[Btu_IT]","[BTU_IT]","energy",1055055.85262,[2,-2,1,0,0,0,0],"BtuIT","heat",false,null,null,1,false,false,0,"BTU IT; B.T.U. IT; B.Th.U. IT; BThU IT; British thermal units IT","UCUM","Eng","Nonclinical","equal to 1.055 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.05505585262",1.05505585262,false],[false,"thermochemical British thermal unit","[Btu_th]","[BTU_TH]","energy",1054350,[2,-2,1,0,0,0,0],"Btuth","heat",false,null,null,1,false,false,0,"BTU Th; B.T.U. Th; B.Th.U. Th; BThU Th; thermochemical British thermal units","UCUM","Eng","Nonclinical","equal to 1.054350 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.054350",1.05435,false],[false,"British thermal unit","[Btu]","[BTU]","energy",1054350,[2,-2,1,0,0,0,0],"btu","heat",false,null,null,1,false,false,0,"BTU; B.T.U. ; B.Th.U.; BThU; British thermal units","UCUM","Eng","Nonclinical","equal to the thermochemical British thermal unit equal to 1.054350 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","[Btu_th]","[BTU_TH]","1",1,false],[false,"horsepower - mechanical","[HP]","[HP]","power",745699.8715822703,[2,-3,1,0,0,0,0],null,"heat",false,null,null,1,false,false,0,"imperial horsepowers","UCUM","EngRat","Nonclinical","refers to mechanical horsepower, which is unit used to measure engine power primarily in the US. ","[ft_i].[lbf_av]/s","[FT_I].[LBF_AV]/S","550",550,false],[false,"tex","tex","TEX","linear mass density (of textile thread)",0.001,[-1,0,1,0,0,0,0],"tex","heat",true,null,null,1,false,false,0,"linear mass density; texes","UCUM","","Clinical","unit of linear mass density for fibers equal to gram per 1000 meters","g/km","G/KM","1",1,false],[false,"Denier (linear mass density)","[den]","[DEN]","linear mass density (of textile thread)",0.0001111111111111111,[-1,0,1,0,0,0,0],"den","heat",false,null,null,1,false,false,0,"den; deniers","UCUM","","Nonclinical","equal to the mass in grams per 9000 meters of the fiber (1 denier = 1 strand of silk)","g/9/km","G/9/KM","1",1,false],[false,"meter of water column","m[H2O]","M[H2O]","pressure",9806650,[-1,-2,1,0,0,0,0],"m HO2","clinical",true,null,null,1,false,false,0,"mH2O; m H2O; meters of water column; metres; pressure","UCUM","Pres","Clinical","","kPa","KPAL","980665e-5",9.80665,false],[false,"meter of mercury column","m[Hg]","M[HG]","pressure",133322000,[-1,-2,1,0,0,0,0],"m Hg","clinical",true,null,null,1,false,false,0,"mHg; m Hg; meters of mercury column; metres; pressure","UCUM","Pres","Clinical","","kPa","KPAL","133.3220",133.322,false],[false,"inch of water column","[in_i\'H2O]","[IN_I\'H2O]","pressure",249088.91000000003,[-1,-2,1,0,0,0,0],"in HO2","clinical",false,null,null,1,false,false,0,"inches WC; inAq; in H2O; inch of water gauge; iwg; pressure","UCUM","Pres","Clinical","unit of pressure, especially in respiratory and ventilation care","m[H2O].[in_i]/m","M[H2O].[IN_I]/M","1",1,false],[false,"inch of mercury column","[in_i\'Hg]","[IN_I\'HG]","pressure",3386378.8000000003,[-1,-2,1,0,0,0,0],"in Hg","clinical",false,null,null,1,false,false,0,"inHg; in Hg; pressure; inches","UCUM","Pres","Clinical","unit of pressure used in US to measure barometric pressure and occasionally blood pressure (see mm[Hg] for unit used internationally)","m[Hg].[in_i]/m","M[HG].[IN_I]/M","1",1,false],[false,"peripheral vascular resistance unit","[PRU]","[PRU]","fluid resistance",133322000000,[-4,-1,1,0,0,0,0],"P.R.U.","clinical",false,null,null,1,false,false,0,"peripheral vascular resistance units; peripheral resistance unit; peripheral resistance units; PRU","UCUM","FldResist","Clinical","used to assess blood flow in the capillaries; equal to 1 mmH.min/mL = 133.3 Pa·min/mL","mm[Hg].s/ml","MM[HG].S/ML","1",1,false],[false,"Wood unit","[wood\'U]","[WOOD\'U]","fluid resistance",7999320000,[-4,-1,1,0,0,0,0],"Wood U.","clinical",false,null,null,1,false,false,0,"hybrid reference units; HRU; mmHg.min/L; vascular resistance","UCUM","Pres","Clinical","simplified unit of measurement for for measuring pulmonary vascular resistance that uses pressure; equal to mmHg.min/L","mm[Hg].min/L","MM[HG].MIN/L","1",1,false],[false,"diopter (lens)","[diop]","[DIOP]","refraction of a lens",1,[1,0,0,0,0,0,0],"dpt","clinical",false,null,"inv",1,false,false,0,"diopters; diop; dioptre; dpt; refractive power","UCUM","InvLen","Clinical","unit of optical power of lens represented by inverse meters (m^-1)","m","/M","1",1,false],[false,"prism diopter (magnifying power)","[p\'diop]","[P\'DIOP]","refraction of a prism",1,[0,0,0,1,0,0,0],"PD","clinical",false,null,"tanTimes100",1,true,false,0,"diopters; dioptres; p diops; pdiop; dpt; pdptr; Δ; cm/m; centimeter per meter; centimetre; metre","UCUM","Angle","Clinical","unit for prism correction in eyeglass prescriptions","rad",null,null,1,false],[false,"percent of slope","%[slope]","%[SLOPE]","slope",0.017453292519943295,[0,0,0,1,0,0,0],"%","clinical",false,null,"100tan",1,true,false,0,"% slope; %slope; percents slopes","UCUM","VelFr; ElpotRatFr; VelRtoFr; AccelFr","Clinical","","deg",null,null,1,false],[false,"mesh","[mesh_i]","[MESH_I]","lineic number",0.025400000000000002,[1,0,0,0,0,0,0],null,"clinical",false,null,"inv",1,false,false,0,"meshes","UCUM","NLen (lineic number)","Clinical","traditional unit of length defined as the number of strands or particles per inch","[in_i]","/[IN_I]","1",1,false],[false,"French (catheter gauge) ","[Ch]","[CH]","gauge of catheters",0.0003333333333333333,[1,0,0,0,0,0,0],"Ch","clinical",false,null,null,1,false,false,0,"Charrières, French scales; French gauges; Fr, Fg, Ga, FR, Ch","UCUM","Len; Circ; Diam","Clinical","","mm/3","MM/3","1",1,false],[false,"drop - metric (1/20 mL)","[drp]","[DRP]","volume",5e-8,[3,0,0,0,0,0,0],"drp","clinical",false,null,null,1,false,false,0,"drop dosing units; metric drops; gtt","UCUM","Vol","Clinical","standard unit used in the US and internationally for clinical medicine but note that although [drp] is defined as 1/20 milliliter, in practice, drop sizes will vary due to external factors","ml/20","ML/20","1",1,false],[false,"Hounsfield unit","[hnsf\'U]","[HNSF\'U]","x-ray attenuation",1,[0,0,0,0,0,0,0],"HF","clinical",false,null,null,1,false,false,0,"HU; units","UCUM","","Clinical","used to measure X-ray attenuation, especially in CT scans.","1","1","1",1,false],[false,"Metabolic Equivalent of Task ","[MET]","[MET]","metabolic cost of physical activity",5.833333333333334e-11,[3,-1,-1,0,0,0,0],"MET","clinical",false,null,null,1,false,false,0,"metabolic equivalents","UCUM","RelEngRat","Clinical","unit used to measure rate of energy expenditure per power in treadmill and other functional tests","mL/min/kg","ML/MIN/KG","3.5",3.5,false],[false,"homeopathic potency of decimal series (retired)","[hp\'_X]","[HP\'_X]","homeopathic potency (retired)",1,[0,0,0,0,0,0,0],"X","clinical",false,null,"hpX",1,true,false,0,null,"UCUM",null,null,null,"1",null,null,1,false],[false,"homeopathic potency of centesimal series (retired)","[hp\'_C]","[HP\'_C]","homeopathic potency (retired)",1,[0,0,0,0,0,0,0],"C","clinical",false,null,"hpC",1,true,false,0,null,"UCUM",null,null,null,"1",null,null,1,false],[false,"homeopathic potency of millesimal series (retired)","[hp\'_M]","[HP\'_M]","homeopathic potency (retired)",1,[0,0,0,0,0,0,0],"M","clinical",false,null,"hpM",1,true,false,0,null,"UCUM",null,null,null,"1",null,null,1,false],[false,"homeopathic potency of quintamillesimal series (retired)","[hp\'_Q]","[HP\'_Q]","homeopathic potency (retired)",1,[0,0,0,0,0,0,0],"Q","clinical",false,null,"hpQ",1,true,false,0,null,"UCUM",null,null,null,"1",null,null,1,false],[false,"homeopathic potency of decimal hahnemannian series","[hp_X]","[HP_X]","homeopathic potency (Hahnemann)",1,[0,0,0,0,0,0,0],"X","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of centesimal hahnemannian series","[hp_C]","[HP_C]","homeopathic potency (Hahnemann)",1,[0,0,0,0,0,0,0],"C","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of millesimal hahnemannian series","[hp_M]","[HP_M]","homeopathic potency (Hahnemann)",1,[0,0,0,0,0,0,0],"M","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of quintamillesimal hahnemannian series","[hp_Q]","[HP_Q]","homeopathic potency (Hahnemann)",1,[0,0,0,0,0,0,0],"Q","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of decimal korsakovian series","[kp_X]","[KP_X]","homeopathic potency (Korsakov)",1,[0,0,0,0,0,0,0],"X","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of centesimal korsakovian series","[kp_C]","[KP_C]","homeopathic potency (Korsakov)",1,[0,0,0,0,0,0,0],"C","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of millesimal korsakovian series","[kp_M]","[KP_M]","homeopathic potency (Korsakov)",1,[0,0,0,0,0,0,0],"M","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of quintamillesimal korsakovian series","[kp_Q]","[KP_Q]","homeopathic potency (Korsakov)",1,[0,0,0,0,0,0,0],"Q","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"equivalent","eq","EQ","amount of substance",6.0221367e+23,[0,0,0,0,0,0,0],"eq","chemical",true,null,null,1,false,false,1,"equivalents","UCUM","Sub","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"osmole","osm","OSM","amount of substance (dissolved particles)",6.0221367e+23,[0,0,0,0,0,0,0],"osm","chemical",true,null,null,1,false,false,1,"osmoles; osmols","UCUM","Osmol","Clinical","the number of moles of solute that contribute to the osmotic pressure of a solution","mol","MOL","1",1,false],[false,"pH","[pH]","[PH]","acidity",6.0221366999999994e+26,[-3,0,0,0,0,0,0],"pH","chemical",false,null,"pH",1,true,false,0,"pH scale","UCUM","LogCnc","Clinical","Log concentration of H+","mol/l",null,null,1,false],[false,"gram percent","g%","G%","mass concentration",10000,[-3,0,1,0,0,0,0],"g%","chemical",true,null,null,1,false,false,0,"gram %; gram%; grams per deciliter; g/dL; gm per dL; gram percents","UCUM","MCnc","Clinical","equivalent to unit gram per deciliter (g/dL), a unit often used in medical tests to represent solution concentrations","g/dl","G/DL","1",1,false],[false,"Svedberg unit","[S]","[S]","sedimentation coefficient",1e-13,[0,1,0,0,0,0,0],"S","chemical",false,null,null,1,false,false,0,"Sv; 10^-13 seconds; 100 fs; 100 femtoseconds","UCUM","Time","Clinical","unit of time used in measuring particle\'s sedimentation rate, usually after centrifugation. ","s","10*-13.S","1",1e-13,false],[false,"high power field (microscope)","[HPF]","[HPF]","view area in microscope",1,[0,0,0,0,0,0,0],"HPF","chemical",false,null,null,1,false,false,0,"HPF","UCUM","Area","Clinical","area visible under the maximum magnification power of the objective in microscopy (usually 400x)\\n","1","1","1",1,false],[false,"low power field (microscope)","[LPF]","[LPF]","view area in microscope",1,[0,0,0,0,0,0,0],"LPF","chemical",false,null,null,1,false,false,0,"LPF; fields","UCUM","Area","Clinical","area visible under the low magnification of the objective in microscopy (usually 100 x)\\n","1","1","100",100,false],[false,"katal","kat","KAT","catalytic activity",6.0221367e+23,[0,-1,0,0,0,0,0],"kat","chemical",true,null,null,1,false,false,1,"mol/secs; moles per second; mol*sec-1; mol*s-1; mol.s-1; katals; catalytic activity; enzymatic; enzyme units; activities","UCUM","CAct","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"enzyme unit","U","U","catalytic activity",10036894500000000,[0,-1,0,0,0,0,0],"U","chemical",true,null,null,1,false,false,1,"micromoles per minute; umol/min; umol per minute; umol min-1; enzymatic activity; enzyme activity","UCUM","CAct","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"international unit - arbitrary","[iU]","[IU]","arbitrary",1,[0,0,0,0,0,0,0],"IU","chemical",true,null,null,1,false,true,0,"international units; IE; F2","UCUM","Arb","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","1","1","1",1,false],[false,"international unit - arbitrary","[IU]","[IU]","arbitrary",1,[0,0,0,0,0,0,0],"i.U.","chemical",true,null,null,1,false,true,0,"international units; IE; F2","UCUM","Arb","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"arbitary unit","[arb\'U]","[ARB\'U]","arbitrary",1,[0,0,0,0,0,0,0],"arb. U","chemical",false,null,null,1,false,true,0,"arbitary units; arb units; arbU","UCUM","Arb","Clinical","relative unit of measurement to show the ratio of test measurement to reference measurement","1","1","1",1,false],[false,"United States Pharmacopeia unit","[USP\'U]","[USP\'U]","arbitrary",1,[0,0,0,0,0,0,0],"U.S.P.","chemical",false,null,null,1,false,true,0,"USP U; USP\'U","UCUM","Arb","Clinical","a dose unit to express potency of drugs and vitamins defined by the United States Pharmacopoeia; usually 1 USP = 1 IU","1","1","1",1,false],[false,"GPL unit","[GPL\'U]","[GPL\'U]","biologic activity of anticardiolipin IgG",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"GPL Units; GPL U; IgG anticardiolipin units; IgG Phospholipid","UCUM","ACnc; AMass","Clinical","Units for an antiphospholipid test","1","1","1",1,false],[false,"MPL unit","[MPL\'U]","[MPL\'U]","biologic activity of anticardiolipin IgM",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"MPL units; MPL U; MPL\'U; IgM anticardiolipin units; IgM Phospholipid Units ","UCUM","ACnc","Clinical","units for antiphospholipid test","1","1","1",1,false],[false,"APL unit","[APL\'U]","[APL\'U]","biologic activity of anticardiolipin IgA",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"APL units; APL U; IgA anticardiolipin; IgA Phospholipid; biologic activity of","UCUM","AMass; ACnc","Clinical","Units for an anti phospholipid syndrome test","1","1","1",1,false],[false,"Bethesda unit","[beth\'U]","[BETH\'U]","biologic activity of factor VIII inhibitor",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"BU","UCUM","ACnc","Clinical","measures of blood coagulation inhibitior for many blood factors","1","1","1",1,false],[false,"anti factor Xa unit","[anti\'Xa\'U]","[ANTI\'XA\'U]","biologic activity of factor Xa inhibitor (heparin)",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"units","UCUM","ACnc","Clinical","[anti\'Xa\'U] unit is equivalent to and can be converted to IU/mL. ","1","1","1",1,false],[false,"Todd unit","[todd\'U]","[TODD\'U]","biologic activity antistreptolysin O",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"units","UCUM","InvThres; RtoThres","Clinical","the unit for the results of the testing for antistreptolysin O (ASO)","1","1","1",1,false],[false,"Dye unit","[dye\'U]","[DYE\'U]","biologic activity of amylase",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"units","UCUM","CCnc","Obsolete","equivalent to the Somogyi unit, which is an enzyme unit for amylase but better to use U, the standard enzyme unit for measuring catalytic activity","1","1","1",1,false],[false,"Somogyi unit","[smgy\'U]","[SMGY\'U]","biologic activity of amylase",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"Somogyi units; smgy U","UCUM","CAct","Clinical","measures the enzymatic activity of amylase in blood serum - better to use base units mg/mL ","1","1","1",1,false],[false,"Bodansky unit","[bdsk\'U]","[BDSK\'U]","biologic activity of phosphatase",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"","UCUM","ACnc","Obsolete","Enzyme unit specific to alkaline phosphatase - better to use standard enzyme unit of U","1","1","1",1,false],[false,"King-Armstrong unit","[ka\'U]","[KA\'U]","biologic activity of phosphatase",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"King-Armstrong Units; King units","UCUM","AMass","Obsolete","enzyme units for acid phosphatase - better to use enzyme unit [U]","1","1","1",1,false],[false,"Kunkel unit","[knk\'U]","[KNK\'U]","arbitrary biologic activity",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"Mac Lagan unit","[mclg\'U]","[MCLG\'U]","arbitrary biologic activity",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"galactose index; galactose tolerance test; thymol turbidity test unit; mclg U; units; indexes","UCUM","ACnc","Obsolete","unit for liver tests - previously used in thymol turbidity tests for liver disease diagnoses, and now is sometimes referred to in the oral galactose tolerance test","1","1","1",1,false],[false,"tuberculin unit","[tb\'U]","[TB\'U]","biologic activity of tuberculin",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"TU; units","UCUM","Arb","Clinical","amount of tuberculin antigen -usually in reference to a TB skin test ","1","1","1",1,false],[false,"50% cell culture infectious dose","[CCID_50]","[CCID_50]","biologic activity (infectivity) of an infectious agent preparation",1,[0,0,0,0,0,0,0],"CCID50","chemical",false,null,null,1,false,true,0,"CCID50; 50% cell culture infective doses","UCUM","NumThres","Clinical","","1","1","1",1,false],[false,"50% tissue culture infectious dose","[TCID_50]","[TCID_50]","biologic activity (infectivity) of an infectious agent preparation",1,[0,0,0,0,0,0,0],"TCID50","chemical",false,null,null,1,false,true,0,"TCID50; 50% tissue culture infective dose","UCUM","NumThres","Clinical","","1","1","1",1,false],[false,"50% embryo infectious dose","[EID_50]","[EID_50]","biologic activity (infectivity) of an infectious agent preparation",1,[0,0,0,0,0,0,0],"EID50","chemical",false,null,null,1,false,true,0,"EID50; 50% embryo infective doses; EID50 Egg Infective Dosage","UCUM","thresNum","Clinical","","1","1","1",1,false],[false,"plaque forming units","[PFU]","[PFU]","amount of an infectious agent",1,[0,0,0,0,0,0,0],"PFU","chemical",false,null,null,1,false,true,0,"PFU","UCUM","ACnc","Clinical","tests usually report unit as number of PFU per unit volume","1","1","1",1,false],[false,"focus forming units (cells)","[FFU]","[FFU]","amount of an infectious agent",1,[0,0,0,0,0,0,0],"FFU","chemical",false,null,null,1,false,true,0,"FFU","UCUM","EntNum","Clinical","","1","1","1",1,false],[false,"colony forming units","[CFU]","[CFU]","amount of a proliferating organism",1,[0,0,0,0,0,0,0],"CFU","chemical",false,null,null,1,false,true,0,"CFU","UCUM","Num","Clinical","","1","1","1",1,false],[false,"index of reactivity (allergen)","[IR]","[IR]","amount of an allergen callibrated through in-vivo testing using the Stallergenes® method.",1,[0,0,0,0,0,0,0],"IR","chemical",false,null,null,1,false,true,0,"IR; indexes","UCUM","Acnc","Clinical","amount of an allergen callibrated through in-vivo testing using the Stallergenes method. Usually reported in tests as IR/mL","1","1","1",1,false],[false,"bioequivalent allergen unit","[BAU]","[BAU]","amount of an allergen callibrated through in-vivo testing based on the ID50EAL method of (intradermal dilution for 50mm sum of erythema diameters",1,[0,0,0,0,0,0,0],"BAU","chemical",false,null,null,1,false,true,0,"BAU; Bioequivalent Allergy Units; bioequivalent allergen units","UCUM","Arb","Clinical","","1","1","1",1,false],[false,"allergy unit","[AU]","[AU]","procedure defined amount of an allergen using some reference standard",1,[0,0,0,0,0,0,0],"AU","chemical",false,null,null,1,false,true,0,"allergy units; allergen units; AU","UCUM","Arb","Clinical","Most standard test allergy units are reported as [IU] or as %. ","1","1","1",1,false],[false,"allergen unit for Ambrosia artemisiifolia","[Amb\'a\'1\'U]","[AMB\'A\'1\'U]","procedure defined amount of the major allergen of ragweed.",1,[0,0,0,0,0,0,0],"Amb a 1 U","chemical",false,null,null,1,false,true,0,"Amb a 1 unit; Antigen E; AgE U; allergen units","UCUM","Arb","Clinical","Amb a 1 is the major allergen in short ragweed, and can be converted Bioequivalent allergen units (BAU) where 350 Amb a 1 U/mL = 100,000 BAU/mL","1","1","1",1,false],[false,"protein nitrogen unit (allergen testing)","[PNU]","[PNU]","procedure defined amount of a protein substance",1,[0,0,0,0,0,0,0],"PNU","chemical",false,null,null,1,false,true,0,"protein nitrogen units; PNU","UCUM","Mass","Clinical","defined as 0.01 ug of phosphotungstic acid-precipitable protein nitrogen. Being replaced by bioequivalent allergy units (BAU).","1","1","1",1,false],[false,"Limit of flocculation","[Lf]","[LF]","procedure defined amount of an antigen substance",1,[0,0,0,0,0,0,0],"Lf","chemical",false,null,null,1,false,true,0,"Lf doses","UCUM","Arb","Clinical","the antigen content forming 1:1 ratio against 1 unit of antitoxin","1","1","1",1,false],[false,"D-antigen unit (polio)","[D\'ag\'U]","[D\'AG\'U]","procedure defined amount of a poliomyelitis d-antigen substance",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"DAgU; units","UCUM","Acnc","Clinical","unit of potency of poliovirus vaccine used for poliomyelitis prevention reported as D antigen units/mL. The unit is poliovirus type-specific.","1","1","1",1,false],[false,"fibrinogen equivalent units","[FEU]","[FEU]","amount of fibrinogen broken down into the measured d-dimers",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"FEU","UCUM","MCnc","Clinical","Note both the FEU and DDU units are used to report D-dimer measurements. 1 DDU = 1/2 FFU","1","1","1",1,false],[false,"ELISA unit","[ELU]","[ELU]","arbitrary ELISA unit",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"Enzyme-Linked Immunosorbent Assay Units; ELU; EL. U","UCUM","ACnc","Clinical","","1","1","1",1,false],[false,"Ehrlich units (urobilinogen)","[EU]","[EU]","Ehrlich unit",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"EU/dL; mg{urobilinogen}/dL","UCUM","ACnc","Clinical","","1","1","1",1,false],[false,"neper","Np","NEP","level",1,[0,0,0,0,0,0,0],"Np","levels",true,null,"ln",1,true,false,0,"nepers","UCUM","LogRto","Clinical","logarithmic unit for ratios of measurements of physical field and power quantities, such as gain and loss of electronic signals","1",null,null,1,false],[false,"bel","B","B","level",1,[0,0,0,0,0,0,0],"B","levels",true,null,"lg",1,true,false,0,"bels","UCUM","LogRto","Clinical","Logarithm of the ratio of power- or field-type quantities; usually expressed in decibels ","1",null,null,1,false],[false,"bel sound pressure","B[SPL]","B[SPL]","pressure level",0.02,[-1,-2,1,0,0,0,0],"B(SPL)","levels",true,null,"lgTimes2",1,true,false,0,"bel SPL; B SPL; sound pressure bels","UCUM","LogRto","Clinical","used to measure sound level in acoustics","Pa",null,null,0.00002,false],[false,"bel volt","B[V]","B[V]","electric potential level",1000,[2,-2,1,0,0,-1,0],"B(V)","levels",true,null,"lgTimes2",1,true,false,0,"bel V; B V; volts bels","UCUM","LogRtoElp","Clinical","used to express power gain in electrical circuits","V",null,null,1,false],[false,"bel millivolt","B[mV]","B[MV]","electric potential level",1,[2,-2,1,0,0,-1,0],"B(mV)","levels",true,null,"lgTimes2",1,true,false,0,"bel mV; B mV; millivolt bels; 10^-3V bels; 10*-3V ","UCUM","LogRtoElp","Clinical","used to express power gain in electrical circuits","mV",null,null,1,false],[false,"bel microvolt","B[uV]","B[UV]","electric potential level",0.001,[2,-2,1,0,0,-1,0],"B(μV)","levels",true,null,"lgTimes2",1,true,false,0,"bel uV; B uV; microvolts bels; 10^-6V bel; 10*-6V bel","UCUM","LogRto","Clinical","used to express power gain in electrical circuits","uV",null,null,1,false],[false,"bel 10 nanovolt","B[10.nV]","B[10.NV]","electric potential level",0.000010000000000000003,[2,-2,1,0,0,-1,0],"B(10 nV)","levels",true,null,"lgTimes2",1,true,false,0,"bel 10 nV; B 10 nV; 10 nanovolts bels","UCUM","LogRtoElp","Clinical","used to express power gain in electrical circuits","nV",null,null,10,false],[false,"bel watt","B[W]","B[W]","power level",1000,[2,-3,1,0,0,0,0],"B(W)","levels",true,null,"lg",1,true,false,0,"bel W; b W; b Watt; Watts bels","UCUM","LogRto","Clinical","used to express power","W",null,null,1,false],[false,"bel kilowatt","B[kW]","B[KW]","power level",1000000,[2,-3,1,0,0,0,0],"B(kW)","levels",true,null,"lg",1,true,false,0,"bel kW; B kW; kilowatt bel; kW bel; kW B","UCUM","LogRto","Clinical","used to express power","kW",null,null,1,false],[false,"stere","st","STR","volume",1,[3,0,0,0,0,0,0],"st","misc",true,null,null,1,false,false,0,"stère; m3; cubic meter; m^3; meters cubed; metre","UCUM","Vol","Nonclinical","equal to one cubic meter, usually used for measuring firewoord","m3","M3","1",1,false],[false,"Ångström","Ao","AO","length",1.0000000000000002e-10,[1,0,0,0,0,0,0],"Å","misc",false,null,null,1,false,false,0,"Å; Angstroms; Ao; Ångströms","UCUM","Len","Clinical","equal to 10^-10 meters; used to express wave lengths and atom scaled differences ","nm","NM","0.1",0.1,false],[false,"barn","b","BRN","action area",9.999999999999999e-29,[2,0,0,0,0,0,0],"b","misc",false,null,null,1,false,false,0,"barns","UCUM","Area","Clinical","used in high-energy physics to express cross-sectional areas","fm2","FM2","100",100,false],[false,"technical atmosphere","att","ATT","pressure",98066499.99999999,[-1,-2,1,0,0,0,0],"at","misc",false,null,null,1,false,false,0,"at; tech atm; tech atmosphere; kgf/cm2; atms; atmospheres","UCUM","Pres","Obsolete","non-SI unit of pressure equal to one kilogram-force per square centimeter","kgf/cm2","KGF/CM2","1",1,false],[false,"mho","mho","MHO","electric conductance",0.001,[-2,1,-1,0,0,2,0],"mho","misc",true,null,null,1,false,false,0,"siemens; ohm reciprocals; Ω^−1; Ω-1 ","UCUM","","Obsolete","unit of electric conductance (the inverse of electrical resistance) equal to ohm^-1","S","S","1",1,false],[false,"pound per square inch","[psi]","[PSI]","pressure",6894757.293168359,[-1,-2,1,0,0,0,0],"psi","misc",false,null,null,1,false,false,0,"psi; lb/in2; lb per in2","UCUM","Pres","Clinical","","[lbf_av]/[in_i]2","[LBF_AV]/[IN_I]2","1",1,false],[false,"circle - plane angle","circ","CIRC","plane angle",6.283185307179586,[0,0,0,1,0,0,0],"circ","misc",false,null,null,1,false,false,0,"angles; circles","UCUM","Angle","Clinical","","[pi].rad","[PI].RAD","2",2,false],[false,"spere - solid angle","sph","SPH","solid angle",12.566370614359172,[0,0,0,2,0,0,0],"sph","misc",false,null,null,1,false,false,0,"speres","UCUM","Angle","Clinical","equal to the solid angle of an entire sphere = 4πsr (sr = steradian) ","[pi].sr","[PI].SR","4",4,false],[false,"metric carat","[car_m]","[CAR_M]","mass",0.2,[0,0,1,0,0,0,0],"ctm","misc",false,null,null,1,false,false,0,"carats; ct; car m","UCUM","Mass","Nonclinical","unit of mass for gemstones","g","G","2e-1",0.2,false],[false,"carat of gold alloys","[car_Au]","[CAR_AU]","mass fraction",0.041666666666666664,[0,0,0,0,0,0,0],"ctAu","misc",false,null,null,1,false,false,0,"karats; k; kt; car au; carats","UCUM","MFr","Nonclinical","unit of purity for gold alloys","/24","/24","1",1,false],[false,"Smoot","[smoot]","[SMOOT]","length",1.7018000000000002,[1,0,0,0,0,0,0],null,"misc",false,null,null,1,false,false,0,"","UCUM","Len","Nonclinical","prank unit of length from MIT","[in_i]","[IN_I]","67",67,false],[false,"meter per square seconds per square root of hertz","[m/s2/Hz^(1/2)]","[M/S2/HZ^(1/2)]","amplitude spectral density",1,[2,-3,0,0,0,0,0],null,"misc",false,null,"sqrt",1,true,false,0,"m/s2/(Hz^.5); m/s2/(Hz^(1/2)); m per s2 per Hz^1/2","UCUM","","Constant","measures amplitude spectral density, and is equal to the square root of power spectral density\\n ","m2/s4/Hz",null,null,1,false],[false,"bit - logarithmic","bit_s","BIT_S","amount of information",1,[0,0,0,0,0,0,0],"bits","infotech",false,null,"ld",1,true,false,0,"bit-s; bit s; bit logarithmic","UCUM","LogA","Nonclinical","defined as the log base 2 of the number of distinct signals; cannot practically be used to express more than 1000 bits\\n\\nIn information theory, the definition of the amount of self-information and information entropy is often expressed with the binary logarithm (log base 2)","1",null,null,1,false],[false,"bit","bit","BIT","amount of information",1,[0,0,0,0,0,0,0],"bit","infotech",true,null,null,1,false,false,0,"bits","UCUM","","Nonclinical","dimensionless information unit of 1 used in computing and digital communications","1","1","1",1,false],[false,"byte","By","BY","amount of information",8,[0,0,0,0,0,0,0],"B","infotech",true,null,null,1,false,false,0,"bytes","UCUM","","Nonclinical","equal to 8 bits","bit","bit","8",8,false],[false,"baud","Bd","BD","signal transmission rate",1,[0,1,0,0,0,0,0],"Bd","infotech",true,null,"inv",1,false,false,0,"Bd; bauds","UCUM","Freq","Nonclinical","unit to express rate in symbols per second or pulses per second. ","s","/s","1",1,false],[false,"per twelve hour","/(12.h)","/HR","",0.000023148148148148147,[0,-1,0,0,0,0,0],"/h",null,false,null,null,1,false,false,0,"per 12 hours; 12hrs; 12 hrs; /12hrs","LOINC","Rat","Clinical","",null,null,null,null,false],[false,"per arbitrary unit","/[arb\'U]","/[ARB\'U]","",1,[0,0,0,0,0,0,0],"/arb/ U",null,false,null,null,1,false,true,0,"/arbU","LOINC","InvA ","Clinical","",null,null,null,null,false],[false,"per high power field","/[HPF]","/[HPF]","",1,[0,0,0,0,0,0,0],"/HPF",null,false,null,null,1,false,false,0,"/HPF; per HPF","LOINC","Naric","Clinical","",null,null,null,null,false],[false,"per international unit","/[IU]","/[IU]","",1,[0,0,0,0,0,0,0],"/i/U.",null,false,null,null,1,false,true,0,"international units; /IU; per IU","LOINC","InvA","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)",null,null,null,null,false],[false,"per low power field","/[LPF]","/[LPF]","",1,[0,0,0,0,0,0,0],"/LPF",null,false,null,null,1,false,false,0,"/LPF; per LPF","LOINC","Naric","Clinical","",null,null,null,null,false],[false,"per 10 billion ","/10*10","/10*10","",1e-10,[0,0,0,0,0,0,0],"/1010<.sup>",null,false,null,null,1,false,false,0,"/10^10; per 10*10","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per trillion ","/10*12","/10*12","",1e-12,[0,0,0,0,0,0,0],"/1012<.sup>",null,false,null,null,1,false,false,0,"/10^12; per 10*12","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per thousand","/10*3","/10*3","",0.001,[0,0,0,0,0,0,0],"/103<.sup>",null,false,null,null,1,false,false,0,"/10^3; per 10*3","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per million","/10*6","/10*6","",0.000001,[0,0,0,0,0,0,0],"/106<.sup>",null,false,null,null,1,false,false,0,"/10^6; per 10*6;","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per billion","/10*9","/10*9","",1e-9,[0,0,0,0,0,0,0],"/109<.sup>",null,false,null,null,1,false,false,0,"/10^9; per 10*9","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per 100","/100","","",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"per hundred; 10^2; 10*2","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per 100 cells","/100{cells}","","",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"/100 cells; /100cells; per hundred","LOINC","EntMass; EntNum; NFr","Clinical","",null,null,null,null,false],[false,"per 100 neutrophils","/100{neutrophils}","","",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"/100 neutrophils; /100neutrophils; per hundred","LOINC","EntMass; EntNum; NFr","Clinical","",null,null,null,null,false],[false,"per 100 spermatozoa","/100{spermatozoa}","","",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"/100 spermatozoa; /100spermatozoa; per hundred","LOINC","NFr","Clinical","",null,null,null,null,false],[false,"per 100 white blood cells","/100{WBCs}","","",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"/100 WBCs; /100WBCs; per hundred","LOINC","Ratio; NFr","Clinical","",null,null,null,null,false],[false,"per year","/a","/ANN","",3.168808781402895e-8,[0,-1,0,0,0,0,0],"/a",null,false,null,null,1,false,false,0,"/Years; /yrs; yearly","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per centimeter of water","/cm[H2O]","/CM[H2O]","",0.000010197162129779282,[1,2,-1,0,0,0,0],"/cm HO2<.r>",null,false,null,null,1,false,false,0,"/cmH2O; /cm H2O; centimeters; centimetres","LOINC","InvPress","Clinical","",null,null,null,null,false],[false,"per day","/d","/D","",0.000011574074074074073,[0,-1,0,0,0,0,0],"/d",null,false,null,null,1,false,false,0,"/dy; per day","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per deciliter","/dL","/DL","",10000,[-3,0,0,0,0,0,0],"/dL",null,false,null,null,1,false,false,0,"per dL; /deciliter; decilitre","LOINC","NCnc","Clinical","",null,null,null,null,false],[false,"per gram","/g","/G","",1,[0,0,-1,0,0,0,0],"/g",null,false,null,null,1,false,false,0,"/gm; /gram; per g","LOINC","NCnt","Clinical","",null,null,null,null,false],[false,"per hour","/h","/HR","",0.0002777777777777778,[0,-1,0,0,0,0,0],"/h",null,false,null,null,1,false,false,0,"/hr; /hour; per hr","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per kilogram","/kg","/KG","",0.001,[0,0,-1,0,0,0,0],"/kg",null,false,null,null,1,false,false,0,"per kg; per kilogram","LOINC","NCnt","Clinical","",null,null,null,null,false],[false,"per liter","/L","/L","",1000,[-3,0,0,0,0,0,0],"/L",null,false,null,null,1,false,false,0,"/liter; litre","LOINC","NCnc","Clinical","",null,null,null,null,false],[false,"per square meter","/m2","/M2","",1,[-2,0,0,0,0,0,0],"/m2<.sup>",null,false,null,null,1,false,false,0,"/m^2; /m*2; /sq. m; per square meter; meter squared; metre","LOINC","Naric","Clinical","",null,null,null,null,false],[false,"per cubic meter","/m3","/M3","",1,[-3,0,0,0,0,0,0],"/m3<.sup>",null,false,null,null,1,false,false,0,"/m^3; /m*3; /cu. m; per cubic meter; meter cubed; per m3; metre","LOINC","NCncn","Clinical","",null,null,null,null,false],[false,"per milligram","/mg","/MG","",1000,[0,0,-1,0,0,0,0],"/mg",null,false,null,null,1,false,false,0,"/milligram; per mg","LOINC","NCnt","Clinical","",null,null,null,null,false],[false,"per minute","/min","/MIN","",0.016666666666666666,[0,-1,0,0,0,0,0],"/min",null,false,null,null,1,false,false,0,"/minute; per mins; breaths beats per minute","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per milliliter","/mL","/ML","",1000000,[-3,0,0,0,0,0,0],"/mL",null,false,null,null,1,false,false,0,"/milliliter; per mL; millilitre","LOINC","NCncn","Clinical","",null,null,null,null,false],[false,"per millimeter","/mm","/MM","",1000,[-1,0,0,0,0,0,0],"/mm",null,false,null,null,1,false,false,0,"/millimeter; per mm; millimetre","LOINC","InvLen","Clinical","",null,null,null,null,false],[false,"per month","/mo","/MO","",3.802570537683474e-7,[0,-1,0,0,0,0,0],"/mo",null,false,null,null,1,false,false,0,"/month; per mo; monthly; month","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per second","/s","/S","",1,[0,-1,0,0,0,0,0],"/s",null,false,null,null,1,false,false,0,"/second; /sec; per sec; frequency; Hertz; Herz; Hz; becquerels; Bq; s-1; s^-1","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per enzyme unit","/U","/U","",9.963241120049633e-17,[0,1,0,0,0,0,0],"/U",null,false,null,null,1,false,false,-1,"/enzyme units; per U","LOINC","InvC; NCat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)",null,null,null,null,false],[false,"per microliter","/uL","/UL","",999999999.9999999,[-3,0,0,0,0,0,0],"/μL",null,false,null,null,1,false,false,0,"/microliter; microlitre; /mcl; per uL","LOINC","ACnc","Clinical","",null,null,null,null,false],[false,"per week","/wk","/WK","",0.0000016534391534391535,[0,-1,0,0,0,0,0],"/wk",null,false,null,null,1,false,false,0,"/week; per wk; weekly, weeks","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"APL unit per milliliter","[APL\'U]/mL","[APL\'U]/ML","biologic activity of anticardiolipin IgA",1000000,[-3,0,0,0,0,0,0],"/mL","chemical",false,null,null,1,false,true,0,"APL/mL; APL\'U/mL; APL U/mL; APL/milliliter; IgA anticardiolipin units per milliliter; IgA Phospholipid Units; millilitre; biologic activity of","LOINC","ACnc","Clinical","Units for an anti phospholipid syndrome test","1","1","1",1,false],[false,"arbitrary unit per milliliter","[arb\'U]/mL","[ARB\'U]/ML","arbitrary",1000000,[-3,0,0,0,0,0,0],"(arb. U)/mL","chemical",false,null,null,1,false,true,0,"arb\'U/mL; arbU/mL; arb U/mL; arbitrary units per milliliter; millilitre","LOINC","ACnc","Clinical","relative unit of measurement to show the ratio of test measurement to reference measurement","1","1","1",1,false],[false,"colony forming units per liter","[CFU]/L","[CFU]/L","amount of a proliferating organism",1000,[-3,0,0,0,0,0,0],"CFU/L","chemical",false,null,null,1,false,true,0,"CFU per Liter; CFU/L","LOINC","NCnc","Clinical","","1","1","1",1,false],[false,"colony forming units per milliliter","[CFU]/mL","[CFU]/ML","amount of a proliferating organism",1000000,[-3,0,0,0,0,0,0],"CFU/mL","chemical",false,null,null,1,false,true,0,"CFU per mL; CFU/mL","LOINC","NCnc","Clinical","","1","1","1",1,false],[false,"foot per foot - US","[ft_us]/[ft_us]","[FT_US]/[FT_US]","length",1,[0,0,0,0,0,0,0],"(ftus)/(ftus)","us-lengths",false,null,null,1,false,false,0,"ft/ft; ft per ft; feet per feet; visual acuity","","LenRto","Clinical","distance ratio to measure 20:20 vision","m/3937","M/3937","1200",1200,false],[false,"GPL unit per milliliter","[GPL\'U]/mL","[GPL\'U]/ML","biologic activity of anticardiolipin IgG",1000000,[-3,0,0,0,0,0,0],"/mL","chemical",false,null,null,1,false,true,0,"GPL U/mL; GPL\'U/mL; GPL/mL; GPL U per mL; IgG Phospholipid Units per milliliters; IgG anticardiolipin units; millilitres ","LOINC","ACnc; AMass","Clinical","Units for an antiphospholipid test","1","1","1",1,false],[false,"international unit per 2 hour","[IU]/(2.h)","[IU]/HR","arbitrary",0.0001388888888888889,[0,-1,0,0,0,0,0],"(i.U.)/h","chemical",true,null,null,1,false,true,0,"IU/2hrs; IU/2 hours; IU per 2 hrs; international units per 2 hours","LOINC","ARat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per 24 hour","[IU]/(24.h)","[IU]/HR","arbitrary",0.000011574074074074073,[0,-1,0,0,0,0,0],"(i.U.)/h","chemical",true,null,null,1,false,true,0,"IU/24hr; IU/24 hours; IU per 24 hrs; international units per 24 hours","LOINC","ARat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per day","[IU]/d","[IU]/D","arbitrary",0.000011574074074074073,[0,-1,0,0,0,0,0],"(i.U.)/d","chemical",true,null,null,1,false,true,0,"IU/dy; IU/days; IU per dys; international units per day","LOINC","ARat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per deciliter","[IU]/dL","[IU]/DL","arbitrary",10000,[-3,0,0,0,0,0,0],"(i.U.)/dL","chemical",true,null,null,1,false,true,0,"IU/dL; IU per dL; international units per deciliters; decilitres","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per gram","[IU]/g","[IU]/G","arbitrary",1,[0,0,-1,0,0,0,0],"(i.U.)/g","chemical",true,null,null,1,false,true,0,"IU/gm; IU/gram; IU per gm; IU per g; international units per gram","LOINC","ACnt","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per hour","[IU]/h","[IU]/HR","arbitrary",0.0002777777777777778,[0,-1,0,0,0,0,0],"(i.U.)/h","chemical",true,null,null,1,false,true,0,"IU/hrs; IU per hours; international units per hour","LOINC","ARat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per kilogram","[IU]/kg","[IU]/KG","arbitrary",0.001,[0,0,-1,0,0,0,0],"(i.U.)/kg","chemical",true,null,null,1,false,true,0,"IU/kg; IU/kilogram; IU per kg; units","LOINC","ACnt","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per kilogram per day","[IU]/kg/d","[IU]/KG/D","arbitrary",1.1574074074074074e-8,[0,-1,-1,0,0,0,0],"(i.U.)/kg/d","chemical",true,null,null,1,false,true,0,"IU/kg/dy; IU/kg/day; IU/kilogram/day; IU per kg per day; units","LOINC","ACntRat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per liter","[IU]/L","[IU]/L","arbitrary",1000,[-3,0,0,0,0,0,0],"(i.U.)/L","chemical",true,null,null,1,false,true,0,"IU/L; IU/liter; IU per liter; units; litre","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per minute","[IU]/min","[IU]/MIN","arbitrary",0.016666666666666666,[0,-1,0,0,0,0,0],"(i.U.)/min","chemical",true,null,null,1,false,true,0,"IU/min; IU/minute; IU per minute; international units","LOINC","ARat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per milliliter","[IU]/mL","[IU]/ML","arbitrary",1000000,[-3,0,0,0,0,0,0],"(i.U.)/mL","chemical",true,null,null,1,false,true,0,"IU/mL; IU per mL; international units per milliliter; millilitre","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"MPL unit per milliliter","[MPL\'U]/mL","[MPL\'U]/ML","biologic activity of anticardiolipin IgM",1000000,[-3,0,0,0,0,0,0],"/mL","chemical",false,null,null,1,false,true,0,"MPL/mL; MPL U/mL; MPL\'U/mL; IgM anticardiolipin units; IgM Phospholipid Units; millilitre ","LOINC","ACnc","Clinical","units for antiphospholipid test\\n","1","1","1",1,false],[false,"number per high power field","{#}/[HPF]","/[HPF]","",1,[0,0,0,0,0,0,0],"/HPF",null,false,null,null,1,false,false,0,"#/HPF; # per HPF; number/HPF; numbers per high power field","LOINC","Naric","Clinical","",null,null,null,null,false],[false,"number per low power field","{#}/[LPF]","/[LPF]","",1,[0,0,0,0,0,0,0],"/LPF",null,false,null,null,1,false,false,0,"#/LPF; # per LPF; number/LPF; numbers per low power field","LOINC","Naric","Clinical","",null,null,null,null,false],[false,"IgA antiphosphatidylserine unit ","{APS\'U}","","",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"APS Unit; Phosphatidylserine Antibody IgA Units","LOINC","ACnc","Clinical","unit for antiphospholipid test",null,null,null,null,false],[false,"EIA index","{EIA_index}","","",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"enzyme immunoassay index","LOINC","ACnc","Clinical","",null,null,null,null,false],[false,"kaolin clotting time","{KCT\'U}","","",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"KCT","LOINC","Time","Clinical","sensitive test to detect lupus anticoagulants; measured in seconds",null,null,null,null,false],[false,"IgM antiphosphatidylserine unit","{MPS\'U}","","",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"Phosphatidylserine Antibody IgM Measurement ","LOINC","ACnc","Clinical","",null,null,null,null,false],[false,"trillion per liter","10*12/L","(10*12)/L","number",1000000000000000,[-3,0,0,0,0,0,0],"(1012)/L","dimless",false,null,null,1,false,false,0,"10^12/L; 10*12 per Liter; trillion per liter; litre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"10^3 (used for cell count)","10*3","10*3","number",1000,[0,0,0,0,0,0,0],"103","dimless",false,null,null,1,false,false,0,"10^3; thousand","LOINC","Num","Clinical","usually used for counting entities (e.g. blood cells) per volume","1","1","10",10,false],[false,"thousand per liter","10*3/L","(10*3)/L","number",1000000,[-3,0,0,0,0,0,0],"(103)/L","dimless",false,null,null,1,false,false,0,"10^3/L; 10*3 per liter; litre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"thousand per milliliter","10*3/mL","(10*3)/ML","number",1000000000,[-3,0,0,0,0,0,0],"(103)/mL","dimless",false,null,null,1,false,false,0,"10^3/mL; 10*3 per mL; thousand per milliliter; millilitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"thousand per microliter","10*3/uL","(10*3)/UL","number",999999999999.9999,[-3,0,0,0,0,0,0],"(103)/μL","dimless",false,null,null,1,false,false,0,"10^3/uL; 10*3 per uL; thousand per microliter; microlitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"10 thousand per microliter","10*4/uL","(10*4)/UL","number",10000000000000,[-3,0,0,0,0,0,0],"(104)/μL","dimless",false,null,null,1,false,false,0,"10^4/uL; 10*4 per uL; microlitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"10^5 ","10*5","10*5","number",100000,[0,0,0,0,0,0,0],"105","dimless",false,null,null,1,false,false,0,"one hundred thousand","LOINC","Num","Clinical","","1","1","10",10,false],[false,"10^6","10*6","10*6","number",1000000,[0,0,0,0,0,0,0],"106","dimless",false,null,null,1,false,false,0,"","LOINC","Num","Clinical","","1","1","10",10,false],[false,"million colony forming unit per liter","10*6.[CFU]/L","(10*6).[CFU]/L","number",1000000000,[-3,0,0,0,0,0,0],"(106).CFU/L","dimless",false,null,null,1,false,true,0,"10*6 CFU/L; 10^6 CFU/L; 10^6CFU; 10^6 CFU per liter; million colony forming units; litre","LOINC","ACnc","Clinical","","1","1","10",10,false],[false,"million international unit","10*6.[IU]","(10*6).[IU]","number",1000000,[0,0,0,0,0,0,0],"(106).(i.U.)","dimless",false,null,null,1,false,true,0,"10*6 IU; 10^6 IU; international units","LOINC","arb","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","1","1","10",10,false],[false,"million per 24 hour","10*6/(24.h)","(10*6)/HR","number",11.574074074074074,[0,-1,0,0,0,0,0],"(106)/h","dimless",false,null,null,1,false,false,0,"10*6/24hrs; 10^6/24 hrs; 10*6 per 24 hrs; 10^6 per 24 hours","LOINC","NRat","Clinical","","1","1","10",10,false],[false,"million per kilogram","10*6/kg","(10*6)/KG","number",1000,[0,0,-1,0,0,0,0],"(106)/kg","dimless",false,null,null,1,false,false,0,"10^6/kg; 10*6 per kg; 10*6 per kilogram; millions","LOINC","NCnt","Clinical","","1","1","10",10,false],[false,"million per liter","10*6/L","(10*6)/L","number",1000000000,[-3,0,0,0,0,0,0],"(106)/L","dimless",false,null,null,1,false,false,0,"10^6/L; 10*6 per Liter; 10^6 per Liter; litre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"million per milliliter","10*6/mL","(10*6)/ML","number",1000000000000,[-3,0,0,0,0,0,0],"(106)/mL","dimless",false,null,null,1,false,false,0,"10^6/mL; 10*6 per mL; 10*6 per milliliter; millilitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"million per microliter","10*6/uL","(10*6)/UL","number",1000000000000000,[-3,0,0,0,0,0,0],"(106)/μL","dimless",false,null,null,1,false,false,0,"10^6/uL; 10^6 per uL; 10^6/mcl; 10^6 per mcl; 10^6 per microliter; microlitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"10^8","10*8","10*8","number",100000000,[0,0,0,0,0,0,0],"108","dimless",false,null,null,1,false,false,0,"100 million; one hundred million; 10^8","LOINC","Num","Clinical","","1","1","10",10,false],[false,"billion per liter","10*9/L","(10*9)/L","number",1000000000000,[-3,0,0,0,0,0,0],"(109)/L","dimless",false,null,null,1,false,false,0,"10^9/L; 10*9 per Liter; litre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"billion per milliliter","10*9/mL","(10*9)/ML","number",1000000000000000,[-3,0,0,0,0,0,0],"(109)/mL","dimless",false,null,null,1,false,false,0,"10^9/mL; 10*9 per mL; 10^9 per mL; 10*9 per milliliter; millilitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"billion per microliter","10*9/uL","(10*9)/UL","number",1000000000000000000,[-3,0,0,0,0,0,0],"(109)/μL","dimless",false,null,null,1,false,false,0,"10^9/uL; 10^9 per uL; 10^9/mcl; 10^9 per mcl; 10*9 per uL; 10*9 per mcl; 10*9/mcl; 10^9 per microliter; microlitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"10 liter per minute per square meter","10.L/(min.m2)","L/(MIN.M2)","",0.00016666666666666666,[1,-1,0,0,0,0,0],"L/(min.(m2))",null,false,null,null,1,false,false,0,"10 liters per minutes per square meter; 10 L per min per m2; m^2; 10 L/(min*m2); 10L/(min*m^2); litres; sq. meter; metre; meters squared","LOINC","ArVRat","Clinical","",null,null,null,null,false],[false,"10 liter per minute","10.L/min","L/MIN","",0.00016666666666666666,[3,-1,0,0,0,0,0],"L/min",null,false,null,null,1,false,false,0,"10 liters per minute; 10 L per min; 10L; 10 L/min; litre","LOINC","VRat","Clinical","",null,null,null,null,false],[false,"10 micronewton second per centimeter to the fifth power per square meter","10.uN.s/(cm5.m2)","(UN.S)/(CM5.M2)","",100000000,[-6,-1,1,0,0,0,0],"(μN.s)/(cm5).(m2)",null,false,null,null,1,false,false,0,"dyne seconds per centimeter5 and square meter; dyn.s/(cm5.m2); dyn.s/cm5/m2; cm^5; m^2","LOINC","","Clinical","unit to measure systemic vascular resistance per body surface area",null,null,null,null,false],[false,"24 hour","24.h","HR","",86400,[0,1,0,0,0,0,0],"h",null,false,null,null,1,false,false,0,"24hrs; 24 hrs; 24 hours; days; dy","LOINC","Time","Clinical","",null,null,null,null,false],[false,"ampere per meter","A/m","A/M","electric current",1,[-1,-1,0,0,0,1,0],"A/m","si",true,null,null,1,false,false,0,"A/m; amp/meter; magnetic field strength; H; B; amperes per meter; metre","LOINC","","Clinical","unit of magnetic field strength","C/s","C/S","1",1,false],[true,"centigram","cg","CG","mass",0.01,[0,0,1,0,0,0,0],"cg",null,false,"M",null,1,false,false,0,"centigrams; cg; cgm","LOINC","Mass","Clinical","",null,null,null,null,false],[false,"centiliter","cL","CL","volume",0.00001,[3,0,0,0,0,0,0],"cL","iso1000",true,null,null,1,false,false,0,"centiliters; centilitres","LOINC","Vol","Clinical","","l",null,"1",1,false],[true,"centimeter","cm","CM","length",0.01,[1,0,0,0,0,0,0],"cm",null,false,"L",null,1,false,false,0,"centimeters; centimetres","LOINC","Len","Clinical","",null,null,null,null,false],[false,"centimeter of water","cm[H2O]","CM[H2O]","pressure",98066.5,[-1,-2,1,0,0,0,0],"cm HO2","clinical",true,null,null,1,false,false,0,"cm H2O; cmH2O; centimetres; pressure","LOINC","Pres","Clinical","unit of pressure mostly applies to blood pressure","kPa","KPAL","980665e-5",9.80665,false],[false,"centimeter of water per liter per second","cm[H2O]/L/s","(CM[H2O]/L)/S","pressure",98066500,[-4,-3,1,0,0,0,0],"(cm HO2)/L/s","clinical",true,null,null,1,false,false,0,"cm[H2O]/(L/s); cm[H2O].s/L; cm H2O/L/sec; cmH2O/L/sec; cmH2O/Liter; cmH2O per L per secs; centimeters of water per liters per second; centimetres; litres; cm[H2O]/(L/s)","LOINC","PresRat","Clinical","unit used to measure mean pulmonary resistance","kPa","KPAL","980665e-5",9.80665,false],[false,"centimeter of water per second per meter","cm[H2O]/s/m","(CM[H2O]/S)/M","pressure",98066.5,[-2,-3,1,0,0,0,0],"(cm HO2)/s/m","clinical",true,null,null,1,false,false,0,"cm[H2O]/(s.m); cm H2O/s/m; cmH2O; cmH2O/sec/m; cmH2O per secs per meters; centimeters of water per seconds per meter; centimetres; metre","LOINC","PresRat","Clinical","unit used to measure pulmonary pressure time product","kPa","KPAL","980665e-5",9.80665,false],[false,"centimeter of mercury","cm[Hg]","CM[HG]","pressure",1333220,[-1,-2,1,0,0,0,0],"cm Hg","clinical",true,null,null,1,false,false,0,"centimeters of mercury; centimetres; cmHg; cm Hg","LOINC","Pres","Clinical","unit of pressure where 1 cmHg = 10 torr","kPa","KPAL","133.3220",133.322,false],[true,"square centimeter","cm2","CM2","length",0.0001,[2,0,0,0,0,0,0],"cm2",null,false,"L",null,1,false,false,0,"cm^2; sq cm; centimeters squared; square centimeters; centimetre; area","LOINC","Area","Clinical","",null,null,null,null,false],[true,"square centimeter per second","cm2/s","CM2/S","length",0.0001,[2,-1,0,0,0,0,0],"(cm2)/s",null,false,"L",null,1,false,false,0,"cm^2/sec; square centimeters per second; sq cm per sec; cm2; centimeters squared; centimetres","LOINC","AreaRat","Clinical","",null,null,null,null,false],[false,"centipoise","cP","CP","dynamic viscosity",1,[-1,-1,1,0,0,0,0],"cP","cgs",true,null,null,1,false,false,0,"cps; centiposes","LOINC","Visc","Clinical","unit of dynamic viscosity in the CGS system with base units: 10^−3 Pa.s = 1 mPa·.s (1 millipascal second)","dyn.s/cm2","DYN.S/CM2","1",1,false],[false,"centistoke","cSt","CST","kinematic viscosity",0.0000010000000000000002,[2,-1,0,0,0,0,0],"cSt","cgs",true,null,null,1,false,false,0,"centistokes","LOINC","Visc","Clinical","unit for kinematic viscosity with base units of mm^2/s (square millimeter per second)","cm2/s","CM2/S","1",1,false],[false,"dekaliter per minute","daL/min","DAL/MIN","volume",0.00016666666666666666,[3,-1,0,0,0,0,0],"daL/min","iso1000",true,null,null,1,false,false,0,"dekalitres; dekaliters per minute; per min","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"dekaliter per minute per square meter","daL/min/m2","(DAL/MIN)/M2","volume",0.00016666666666666666,[1,-1,0,0,0,0,0],"(daL/min)/(m2)","iso1000",true,null,null,1,false,false,0,"daL/min/m^2; daL/minute/m2; sq. meter; dekaliters per minutes per square meter; meter squared; dekalitres; metre","LOINC","ArVRat","Clinical","The area usually is the body surface area used to normalize cardiovascular measures for patient\'s size","l",null,"1",1,false],[false,"decibel","dB","DB","level",1,[0,0,0,0,0,0,0],"dB","levels",true,null,"lg",0.1,true,false,0,"decibels","LOINC","LogRto","Clinical","unit most commonly used in acoustics as unit of sound pressure level. (also see B[SPL] or bel sound pressure level). ","1",null,null,1,false],[false,"degree per second","deg/s","DEG/S","plane angle",0.017453292519943295,[0,-1,0,1,0,0,0],"°/s","iso1000",false,null,null,1,false,false,0,"deg/sec; deg per sec; °/sec; twist rate; angular speed; rotational speed","LOINC","ARat","Clinical","unit of angular (rotational) speed used to express turning rate","[pi].rad/360","[PI].RAD/360","2",2,false],[true,"decigram","dg","DG","mass",0.1,[0,0,1,0,0,0,0],"dg",null,false,"M",null,1,false,false,0,"decigrams; dgm; 0.1 grams; 1/10 gm","LOINC","Mass","Clinical","equal to 1/10 gram",null,null,null,null,false],[false,"deciliter","dL","DL","volume",0.0001,[3,0,0,0,0,0,0],"dL","iso1000",true,null,null,1,false,false,0,"deciliters; decilitres; 0.1 liters; 1/10 L","LOINC","Vol","Clinical","equal to 1/10 liter","l",null,"1",1,false],[true,"decimeter","dm","DM","length",0.1,[1,0,0,0,0,0,0],"dm",null,false,"L",null,1,false,false,0,"decimeters; decimetres; 0.1 meters; 1/10 m; 10 cm; centimeters","LOINC","Len","Clinical","equal to 1/10 meter or 10 centimeters",null,null,null,null,false],[true,"square decimeter per square second","dm2/s2","DM2/S2","length",0.010000000000000002,[2,-2,0,0,0,0,0],"(dm2)/(s2)",null,false,"L",null,1,false,false,0,"dm2 per s2; dm^2/s^2; decimeters squared per second squared; sq dm; sq sec","LOINC","EngMass (massic energy)","Clinical","units for energy per unit mass or Joules per kilogram (J/kg = kg.m2/s2/kg = m2/s2) ",null,null,null,null,false],[false,"dyne second per centimeter per square meter","dyn.s/(cm.m2)","(DYN.S)/(CM.M2)","force",1,[-2,-1,1,0,0,0,0],"(dyn.s)/(cm.(m2))","cgs",true,null,null,1,false,false,0,"(dyn*s)/(cm*m2); (dyn*s)/(cm*m^2); dyn s per cm per m2; m^2; dyne seconds per centimeters per square meter; centimetres; sq. meter; squared","LOINC","","Clinical","","g.cm/s2","G.CM/S2","1",1,false],[false,"dyne second per centimeter","dyn.s/cm","(DYN.S)/CM","force",1,[0,-1,1,0,0,0,0],"(dyn.s)/cm","cgs",true,null,null,1,false,false,0,"(dyn*s)/cm; dyn sec per cm; seconds; centimetre; dyne seconds","LOINC","","Clinical","","g.cm/s2","G.CM/S2","1",1,false],[false,"equivalent per liter","eq/L","EQ/L","amount of substance",6.0221366999999994e+26,[-3,0,0,0,0,0,0],"eq/L","chemical",true,null,null,1,false,false,1,"eq/liter; eq/litre; eqs; equivalents per liter; litre","LOINC","SCnc","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"equivalent per milliliter","eq/mL","EQ/ML","amount of substance",6.0221367e+29,[-3,0,0,0,0,0,0],"eq/mL","chemical",true,null,null,1,false,false,1,"equivalent/milliliter; equivalents per milliliter; eq per mL; millilitre","LOINC","SCnc","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"equivalent per millimole","eq/mmol","EQ/MMOL","amount of substance",1000,[0,0,0,0,0,0,0],"eq/mmol","chemical",true,null,null,1,false,false,0,"equivalent/millimole; equivalents per millimole; eq per mmol","LOINC","SRto","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"equivalent per micromole","eq/umol","EQ/UMOL","amount of substance",1000000,[0,0,0,0,0,0,0],"eq/μmol","chemical",true,null,null,1,false,false,0,"equivalent/micromole; equivalents per micromole; eq per umol","LOINC","SRto","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[true,"femtogram","fg","FG","mass",1e-15,[0,0,1,0,0,0,0],"fg",null,false,"M",null,1,false,false,0,"fg; fgm; femtograms; weight","LOINC","Mass","Clinical","equal to 10^-15 grams",null,null,null,null,false],[false,"femtoliter","fL","FL","volume",1e-18,[3,0,0,0,0,0,0],"fL","iso1000",true,null,null,1,false,false,0,"femtolitres; femtoliters","LOINC","Vol; EntVol","Clinical","equal to 10^-15 liters","l",null,"1",1,false],[true,"femtometer","fm","FM","length",1e-15,[1,0,0,0,0,0,0],"fm",null,false,"L",null,1,false,false,0,"femtometres; femtometers","LOINC","Len","Clinical","equal to 10^-15 meters",null,null,null,null,false],[false,"femtomole","fmol","FMOL","amount of substance",602213670,[0,0,0,0,0,0,0],"fmol","si",true,null,null,1,false,false,1,"femtomoles","LOINC","EntSub","Clinical","equal to 10^-15 moles","10*23","10*23","6.0221367",6.0221367,false],[false,"femtomole per gram","fmol/g","FMOL/G","amount of substance",602213670,[0,0,-1,0,0,0,0],"fmol/g","si",true,null,null,1,false,false,1,"femtomoles; fmol/gm; fmol per gm","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"femtomole per liter","fmol/L","FMOL/L","amount of substance",602213670000,[-3,0,0,0,0,0,0],"fmol/L","si",true,null,null,1,false,false,1,"femtomoles; fmol per liter; litre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"femtomole per milligram","fmol/mg","FMOL/MG","amount of substance",602213670000,[0,0,-1,0,0,0,0],"fmol/mg","si",true,null,null,1,false,false,1,"fmol per mg; femtomoles","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"femtomole per milliliter","fmol/mL","FMOL/ML","amount of substance",602213670000000,[-3,0,0,0,0,0,0],"fmol/mL","si",true,null,null,1,false,false,1,"femtomoles; millilitre; fmol per mL; fmol per milliliter","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[true,"gram meter","g.m","G.M","mass",1,[1,0,1,0,0,0,0],"g.m",null,false,"M",null,1,false,false,0,"g*m; gxm; meters; metres","LOINC","Enrg","Clinical","Unit for measuring stroke work (heart work)",null,null,null,null,false],[true,"gram per 100 gram","g/(100.g)","G/G","mass",0.01,[0,0,0,0,0,0,0],"g/g",null,false,"M",null,1,false,false,0,"g/100 gm; 100gm; grams per 100 grams; gm per 100 gm","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"gram per 12 hour","g/(12.h)","G/HR","mass",0.000023148148148148147,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/12hrs; 12 hrs; gm per 12 hrs; 12hrs; grams per 12 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per 24 hour","g/(24.h)","G/HR","mass",0.000011574074074074073,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/24hrs; gm/24 hrs; gm per 24 hrs; 24hrs; grams per 24 hours; gm/dy; gm per dy; grams per day","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per 3 days","g/(3.d)","G/D","mass",0.000003858024691358025,[0,-1,1,0,0,0,0],"g/d",null,false,"M",null,1,false,false,0,"gm/3dy; gm/3 dy; gm per 3 days; grams","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per 4 hour","g/(4.h)","G/HR","mass",0.00006944444444444444,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/4hrs; gm/4 hrs; gm per 4 hrs; 4hrs; grams per 4 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per 48 hour","g/(48.h)","G/HR","mass",0.000005787037037037037,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/48hrs; gm/48 hrs; gm per 48 hrs; 48hrs; grams per 48 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per 5 hour","g/(5.h)","G/HR","mass",0.00005555555555555556,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/5hrs; gm/5 hrs; gm per 5 hrs; 5hrs; grams per 5 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per 6 hour","g/(6.h)","G/HR","mass",0.000046296296296296294,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/6hrs; gm/6 hrs; gm per 6 hrs; 6hrs; grams per 6 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per 72 hour","g/(72.h)","G/HR","mass",0.000003858024691358025,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/72hrs; gm/72 hrs; gm per 72 hrs; 72hrs; grams per 72 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per cubic centimeter","g/cm3","G/CM3","mass",999999.9999999999,[-3,0,1,0,0,0,0],"g/(cm3)",null,false,"M",null,1,false,false,0,"g/cm^3; gm per cm3; g per cm^3; grams per centimeter cubed; cu. cm; centimetre; g/mL; gram per milliliter; millilitre","LOINC","MCnc","Clinical","g/cm3 = g/mL",null,null,null,null,false],[true,"gram per day","g/d","G/D","mass",0.000011574074074074073,[0,-1,1,0,0,0,0],"g/d",null,false,"M",null,1,false,false,0,"gm/dy; gm per dy; grams per day; gm/24hrs; gm/24 hrs; gm per 24 hrs; 24hrs; grams per 24 hours; serving","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per deciliter","g/dL","G/DL","mass",10000,[-3,0,1,0,0,0,0],"g/dL",null,false,"M",null,1,false,false,0,"gm/dL; gm per dL; grams per deciliter; decilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"gram per gram","g/g","G/G","mass",1,[0,0,0,0,0,0,0],"g/g",null,false,"M",null,1,false,false,0,"gm; grams","LOINC","MRto ","Clinical","",null,null,null,null,false],[true,"gram per hour","g/h","G/HR","mass",0.0002777777777777778,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/hr; gm per hr; grams; intake; output","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per hour per square meter","g/h/m2","(G/HR)/M2","mass",0.0002777777777777778,[-2,-1,1,0,0,0,0],"(g/h)/(m2)",null,false,"M",null,1,false,false,0,"gm/hr/m2; gm/h/m2; /m^2; sq. m; g per hr per m2; grams per hours per square meter; meter squared; metre","LOINC","ArMRat","Clinical","",null,null,null,null,false],[true,"gram per kilogram","g/kg ","G/KG","mass",0.001,[0,0,0,0,0,0,0],"g/kg",null,false,"M",null,1,false,false,0,"g per kg; gram per kilograms","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"gram per kilogram per 8 hour ","g/kg/(8.h)","(G/KG)/HR","mass",3.472222222222222e-8,[0,-1,0,0,0,0,0],"(g/kg)/h",null,false,"M",null,1,false,false,0,"g/(8.kg.h); gm/kg/8hrs; 8 hrs; g per kg per 8 hrs; 8hrs; grams per kilograms per 8 hours; shift","LOINC","MCntRat; RelMRat","Clinical","unit often used to describe mass in grams of protein consumed in a 8 hours, divided by the subject\'s body weight in kilograms. Also used to measure mass dose rate per body mass",null,null,null,null,false],[true,"gram per kilogram per day","g/kg/d","(G/KG)/D","mass",1.1574074074074074e-8,[0,-1,0,0,0,0,0],"(g/kg)/d",null,false,"M",null,1,false,false,0,"g/(kg.d); gm/kg/dy; gm per kg per dy; grams per kilograms per day","LOINC","RelMRat","Clinical","unit often used to describe mass in grams of protein consumed in a day, divided by the subject\'s body weight in kilograms. Also used to measure mass dose rate per body mass",null,null,null,null,false],[true,"gram per kilogram per hour","g/kg/h","(G/KG)/HR","mass",2.7777777777777776e-7,[0,-1,0,0,0,0,0],"(g/kg)/h",null,false,"M",null,1,false,false,0,"g/(kg.h); g/kg/hr; g per kg per hrs; grams per kilograms per hour","LOINC","MCntRat; RelMRat","Clinical","unit used to measure mass dose rate per body mass",null,null,null,null,false],[true,"gram per kilogram per minute","g/kg/min","(G/KG)/MIN","mass",0.000016666666666666667,[0,-1,0,0,0,0,0],"(g/kg)/min",null,false,"M",null,1,false,false,0,"g/(kg.min); g/kg/min; g per kg per min; grams per kilograms per minute","LOINC","MCntRat; RelMRat","Clinical","unit used to measure mass dose rate per body mass",null,null,null,null,false],[true,"gram per liter","g/L","G/L","mass",1000,[-3,0,1,0,0,0,0],"g/L",null,false,"M",null,1,false,false,0,"gm per liter; g/liter; grams per liter; litre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"gram per square meter","g/m2","G/M2","mass",1,[-2,0,1,0,0,0,0],"g/(m2)",null,false,"M",null,1,false,false,0,"g/m^2; gram/square meter; g/sq m; g per m2; g per m^2; grams per square meter; meters squared; metre","LOINC","ArMass","Clinical","Tests measure myocardial mass (heart ventricle system) per body surface area; unit used to measure mass dose per body surface area",null,null,null,null,false],[true,"gram per milligram","g/mg","G/MG","mass",1000,[0,0,0,0,0,0,0],"g/mg",null,false,"M",null,1,false,false,0,"g per mg; grams per milligram","LOINC","MCnt; MRto","Clinical","",null,null,null,null,false],[true,"gram per minute","g/min","G/MIN","mass",0.016666666666666666,[0,-1,1,0,0,0,0],"g/min",null,false,"M",null,1,false,false,0,"g per min; grams per minute; gram/minute","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per milliliter","g/mL","G/ML","mass",1000000,[-3,0,1,0,0,0,0],"g/mL",null,false,"M",null,1,false,false,0,"g per mL; grams per milliliter; millilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"gram per millimole","g/mmol","G/MMOL","mass",1.6605401866749388e-21,[0,0,1,0,0,0,0],"g/mmol",null,false,"M",null,1,false,false,-1,"grams per millimole; g per mmol","LOINC","Ratio","Clinical","",null,null,null,null,false],[false,"joule per liter","J/L","J/L","energy",1000000,[-1,-2,1,0,0,0,0],"J/L","si",true,null,null,1,false,false,0,"joules per liter; litre; J per L","LOINC","EngCnc","Clinical","","N.m","N.M","1",1,false],[true,"degree Kelvin per Watt","K/W","K/W","temperature",0.001,[-2,3,-1,0,1,0,0],"K/W",null,false,"C",null,1,false,false,0,"degree Kelvin/Watt; K per W; thermal ohm; thermal resistance; degrees","LOINC","TempEngRat","Clinical","unit for absolute thermal resistance equal to the reciprocal of thermal conductance. Unit used for tests to measure work of breathing",null,null,null,null,false],[false,"kilo international unit per liter","k[IU]/L","K[IU]/L","arbitrary",1000000,[-3,0,0,0,0,0,0],"(ki.U.)/L","chemical",true,null,null,1,false,true,0,"kIU/L; kIU per L; kIU per liter; kilo international units; litre; allergens; allergy units","LOINC","ACnc","Clinical","IgE has an WHO reference standard so IgE allergen testing can be reported as k[IU]/L","[iU]","[IU]","1",1,false],[false,"kilo international unit per milliliter","k[IU]/mL","K[IU]/ML","arbitrary",1000000000,[-3,0,0,0,0,0,0],"(ki.U.)/mL","chemical",true,null,null,1,false,true,0,"kIU/mL; kIU per mL; kIU per milliliter; kilo international units; millilitre; allergens; allergy units","LOINC","ACnc","Clinical","IgE has an WHO reference standard so IgE allergen testing can be reported as k[IU]/mL","[iU]","[IU]","1",1,false],[false,"katal per kilogram","kat/kg","KAT/KG","catalytic activity",602213670000000000000,[0,-1,-1,0,0,0,0],"kat/kg","chemical",true,null,null,1,false,false,1,"kat per kg; katals per kilogram; mol/s/kg; moles per seconds per kilogram","LOINC","CCnt","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"katal per liter","kat/L","KAT/L","catalytic activity",6.0221366999999994e+26,[-3,-1,0,0,0,0,0],"kat/L","chemical",true,null,null,1,false,false,1,"kat per L; katals per liter; litre; mol/s/L; moles per seconds per liter","LOINC","CCnc","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"kilocalorie","kcal","KCAL","energy",4184000,[2,-2,1,0,0,0,0],"kcal","heat",true,null,null,1,false,false,0,"kilogram calories; large calories; food calories; kcals","LOINC","EngRat","Clinical","It is equal to 1000 calories (equal to 4.184 kJ). But in practical usage, kcal refers to food calories which excludes caloric content in fiber and other constitutes that is not digestible by humans. Also see nutrition label Calories ([Cal])","cal_th","CAL_TH","1",1,false],[false,"kilocalorie per 24 hour","kcal/(24.h)","KCAL/HR","energy",48.425925925925924,[2,-3,1,0,0,0,0],"kcal/h","heat",true,null,null,1,false,false,0,"kcal/24hrs; kcal/24 hrs; kcal per 24hrs; kilocalories per 24 hours; kilojoules; kJ/24hr; kJ/(24.h); kJ/dy; kilojoules per days; intake; calories burned; metabolic rate; food calories","","EngRat","Clinical","","cal_th","CAL_TH","1",1,false],[false,"kilocalorie per ounce","kcal/[oz_av]","KCAL/[OZ_AV]","energy",147586.25679704445,[2,-2,0,0,0,0,0],"kcal/oz","heat",true,null,null,1,false,false,0,"kcal/oz; kcal per ozs; large calories per ounces; food calories; servings; international","LOINC","EngCnt","Clinical","used in nutrition to represent calorie of food","cal_th","CAL_TH","1",1,false],[false,"kilocalorie per day","kcal/d","KCAL/D","energy",48.425925925925924,[2,-3,1,0,0,0,0],"kcal/d","heat",true,null,null,1,false,false,0,"kcal/dy; kcal per day; kilocalories per days; kilojoules; kJ/dy; kilojoules per days; intake; calories burned; metabolic rate; food calories","LOINC","EngRat","Clinical","unit in nutrition for food intake (measured in calories) in a day","cal_th","CAL_TH","1",1,false],[false,"kilocalorie per hour","kcal/h","KCAL/HR","energy",1162.2222222222222,[2,-3,1,0,0,0,0],"kcal/h","heat",true,null,null,1,false,false,0,"kcal/hrs; kcals per hr; intake; kilocalories per hours; kilojoules","LOINC","EngRat","Clinical","used in nutrition to represent caloric requirement or consumption","cal_th","CAL_TH","1",1,false],[false,"kilocalorie per kilogram per 24 hour","kcal/kg/(24.h)","(KCAL/KG)/HR","energy",0.04842592592592593,[2,-3,0,0,0,0,0],"(kcal/kg)/h","heat",true,null,null,1,false,false,0,"kcal/kg/24hrs; 24 hrs; kcal per kg per 24hrs; kilocalories per kilograms per 24 hours; kilojoules","LOINC","EngCntRat","Clinical","used in nutrition to represent caloric requirement per day based on subject\'s body weight in kilograms","cal_th","CAL_TH","1",1,false],[true,"kilogram","kg","KG","mass",1000,[0,0,1,0,0,0,0],"kg",null,false,"M",null,1,false,false,0,"kilograms; kgs","LOINC","Mass","Clinical","",null,null,null,null,false],[true,"kilogram meter per second","kg.m/s","(KG.M)/S","mass",1000,[1,-1,1,0,0,0,0],"(kg.m)/s",null,false,"M",null,1,false,false,0,"kg*m/s; kg.m per sec; kg*m per sec; p; momentum","LOINC","","Clinical","unit for momentum = mass times velocity",null,null,null,null,false],[true,"kilogram per second per square meter","kg/(s.m2)","KG/(S.M2)","mass",1000,[-2,-1,1,0,0,0,0],"kg/(s.(m2))",null,false,"M",null,1,false,false,0,"kg/(s*m2); kg/(s*m^2); kg per s per m2; per sec; per m^2; kilograms per seconds per square meter; meter squared; metre","LOINC","ArMRat","Clinical","",null,null,null,null,false],[true,"kilogram per hour","kg/h","KG/HR","mass",0.2777777777777778,[0,-1,1,0,0,0,0],"kg/h",null,false,"M",null,1,false,false,0,"kg/hr; kg per hr; kilograms per hour","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"kilogram per liter","kg/L","KG/L","mass",1000000,[-3,0,1,0,0,0,0],"kg/L",null,false,"M",null,1,false,false,0,"kg per liter; litre; kilograms","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"kilogram per square meter","kg/m2","KG/M2","mass",1000,[-2,0,1,0,0,0,0],"kg/(m2)",null,false,"M",null,1,false,false,0,"kg/m^2; kg/sq. m; kg per m2; per m^2; per sq. m; kilograms; meter squared; metre; BMI","LOINC","Ratio","Clinical","units for body mass index (BMI)",null,null,null,null,false],[true,"kilogram per cubic meter","kg/m3","KG/M3","mass",1000,[-3,0,1,0,0,0,0],"kg/(m3)",null,false,"M",null,1,false,false,0,"kg/m^3; kg/cu. m; kg per m3; per m^3; per cu. m; kilograms; meters cubed; metre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"kilogram per minute","kg/min","KG/MIN","mass",16.666666666666668,[0,-1,1,0,0,0,0],"kg/min",null,false,"M",null,1,false,false,0,"kilogram/minute; kg per min; kilograms per minute","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"kilogram per mole","kg/mol","KG/MOL","mass",1.6605401866749388e-21,[0,0,1,0,0,0,0],"kg/mol",null,false,"M",null,1,false,false,-1,"kilogram/mole; kg per mol; kilograms per mole","LOINC","SCnt","Clinical","",null,null,null,null,false],[true,"kilogram per second","kg/s","KG/S","mass",1000,[0,-1,1,0,0,0,0],"kg/s",null,false,"M",null,1,false,false,0,"kg/sec; kilogram/second; kg per sec; kilograms; second","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"kiloliter","kL","KL","volume",1,[3,0,0,0,0,0,0],"kL","iso1000",true,null,null,1,false,false,0,"kiloliters; kilolitres; m3; m^3; meters cubed; metre","LOINC","Vol","Clinical","","l",null,"1",1,false],[true,"kilometer","km","KM","length",1000,[1,0,0,0,0,0,0],"km",null,false,"L",null,1,false,false,0,"kilometers; kilometres; distance","LOINC","Len","Clinical","",null,null,null,null,false],[false,"kilopascal","kPa","KPAL","pressure",1000000,[-1,-2,1,0,0,0,0],"kPa","si",true,null,null,1,false,false,0,"kilopascals; pressure","LOINC","Pres; PPresDiff","Clinical","","N/m2","N/M2","1",1,false],[true,"kilosecond","ks","KS","time",1000,[0,1,0,0,0,0,0],"ks",null,false,"T",null,1,false,false,0,"kiloseconds; ksec","LOINC","Time","Clinical","",null,null,null,null,false],[false,"kilo enzyme unit","kU","KU","catalytic activity",10036894500000000000,[0,-1,0,0,0,0,0],"kU","chemical",true,null,null,1,false,false,1,"units; mmol/min; millimoles per minute","LOINC","CAct","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min","umol/min","UMOL/MIN","1",1,false],[false,"kilo enzyme unit per gram","kU/g","KU/G","catalytic activity",10036894500000000000,[0,-1,-1,0,0,0,0],"kU/g","chemical",true,null,null,1,false,false,1,"units per grams; kU per gm","LOINC","CCnt","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min","umol/min","UMOL/MIN","1",1,false],[false,"kilo enzyme unit per liter","kU/L","KU/L","catalytic activity",1.00368945e+22,[-3,-1,0,0,0,0,0],"kU/L","chemical",true,null,null,1,false,false,1,"units per liter; litre; enzymatic activity; enzyme activity per volume; activities","LOINC","ACnc; CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min","umol/min","UMOL/MIN","1",1,false],[false,"kilo enzyme unit per milliliter","kU/mL","KU/ML","catalytic activity",1.00368945e+25,[-3,-1,0,0,0,0,0],"kU/mL","chemical",true,null,null,1,false,false,1,"kU per mL; units per milliliter; millilitre; enzymatic activity per volume; enzyme activities","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min","umol/min","UMOL/MIN","1",1,false],[false,"Liters per 24 hour","L/(24.h)","L/HR","volume",1.1574074074074074e-8,[3,-1,0,0,0,0,0],"L/h","iso1000",true,null,null,1,false,false,0,"L/24hrs; L/24 hrs; L per 24hrs; liters per 24 hours; day; dy; litres; volume flow rate","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"Liters per 8 hour","L/(8.h)","L/HR","volume",3.472222222222222e-8,[3,-1,0,0,0,0,0],"L/h","iso1000",true,null,null,1,false,false,0,"L/8hrs; L/8 hrs; L per 8hrs; liters per 8 hours; litres; volume flow rate; shift","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"Liters per minute per square meter","L/(min.m2) ","L/(MIN.M2)","volume",0.000016666666666666667,[1,-1,0,0,0,0,0],"L/(min.(m2))","iso1000",true,null,null,1,false,false,0,"L/(min.m2); L/min/m^2; L/min/sq. meter; L per min per m2; m^2; liters per minutes per square meter; meter squared; litres; metre ","LOINC","ArVRat","Clinical","unit for tests that measure cardiac output per body surface area (cardiac index)","l",null,"1",1,false],[false,"Liters per day","L/d","L/D","volume",1.1574074074074074e-8,[3,-1,0,0,0,0,0],"L/d","iso1000",true,null,null,1,false,false,0,"L/dy; L per day; 24hrs; 24 hrs; 24 hours; liters; litres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"Liters per hour","L/h","L/HR","volume",2.7777777777777776e-7,[3,-1,0,0,0,0,0],"L/h","iso1000",true,null,null,1,false,false,0,"L/hr; L per hr; litres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"Liters per kilogram","L/kg","L/KG","volume",0.000001,[3,0,-1,0,0,0,0],"L/kg","iso1000",true,null,null,1,false,false,0,"L per kg; litre","LOINC","VCnt","Clinical","","l",null,"1",1,false],[false,"Liters per liter","L/L","L/L","volume",1,[0,0,0,0,0,0,0],"L/L","iso1000",true,null,null,1,false,false,0,"L per L; liter/liter; litre","LOINC","VFr","Clinical","","l",null,"1",1,false],[false,"Liters per minute","L/min","L/MIN","volume",0.000016666666666666667,[3,-1,0,0,0,0,0],"L/min","iso1000",true,null,null,1,false,false,0,"liters per minute; litre","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"Liters per minute per square meter","L/min/m2","(L/MIN)/M2","volume",0.000016666666666666667,[1,-1,0,0,0,0,0],"(L/min)/(m2)","iso1000",true,null,null,1,false,false,0,"L/(min.m2); L/min/m^2; L/min/sq. meter; L per min per m2; m^2; liters per minutes per square meter; meter squared; litres; metre ","","ArVRat","Clinical","unit for tests that measure cardiac output per body surface area (cardiac index)","l",null,"1",1,false],[false,"Liters per second","L/s","L/S","volume",0.001,[3,-1,0,0,0,0,0],"L/s","iso1000",true,null,null,1,false,false,0,"L per sec; litres","LOINC","VRat","Clinical","unit used often to measure gas flow and peak expiratory flow","l",null,"1",1,false],[false,"Liters per second per square second","L/s/s2","(L/S)/S2","volume",0.001,[3,-3,0,0,0,0,0],"(L/s)/(s2)","iso1000",true,null,null,1,false,false,0,"L/s/s^2; L/sec/sec2; L/sec/sec^2; L/sec/sq. sec; L per s per s2; L per sec per sec2; s^2; sec^2; liters per seconds per square second; second squared; litres ","LOINC","ArVRat","Clinical","unit for tests that measure cardiac output/body surface area","l",null,"1",1,false],[false,"lumen square meter","lm.m2","LM.M2","luminous flux",1,[2,0,0,2,0,0,1],"lm.(m2)","si",true,null,null,1,false,false,0,"lm*m2; lm*m^2; lumen meters squared; lumen sq. meters; metres","LOINC","","Clinical","","cd.sr","CD.SR","1",1,false],[true,"meter per second","m/s","M/S","length",1,[1,-1,0,0,0,0,0],"m/s",null,false,"L",null,1,false,false,0,"meter/second; m per sec; meters per second; metres; velocity; speed","LOINC","Vel","Clinical","unit of velocity",null,null,null,null,false],[true,"meter per square second","m/s2","M/S2","length",1,[1,-2,0,0,0,0,0],"m/(s2)",null,false,"L",null,1,false,false,0,"m/s^2; m/sq. sec; m per s2; per s^2; meters per square second; second squared; sq second; metres; acceleration","LOINC","Accel","Clinical","unit of acceleration",null,null,null,null,false],[false,"milli international unit per liter","m[IU]/L","M[IU]/L","arbitrary",1,[-3,0,0,0,0,0,0],"(mi.U.)/L","chemical",true,null,null,1,false,true,0,"mIU/L; m IU/L; mIU per liter; units; litre","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"milli international unit per milliliter","m[IU]/mL","M[IU]/ML","arbitrary",1000.0000000000001,[-3,0,0,0,0,0,0],"(mi.U.)/mL","chemical",true,null,null,1,false,true,0,"mIU/mL; m IU/mL; mIU per mL; milli international units per milliliter; millilitre","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[true,"square meter","m2","M2","length",1,[2,0,0,0,0,0,0],"m2",null,false,"L",null,1,false,false,0,"m^2; sq m; square meters; meters squared; metres","LOINC","Area","Clinical","unit often used to represent body surface area",null,null,null,null,false],[true,"square meter per second","m2/s","M2/S","length",1,[2,-1,0,0,0,0,0],"(m2)/s",null,false,"L",null,1,false,false,0,"m^2/sec; m2 per sec; m^2 per sec; sq m/sec; meters squared/seconds; sq m per sec; meters squared; metres","LOINC","ArRat","Clinical","",null,null,null,null,false],[true,"cubic meter per second","m3/s","M3/S","length",1,[3,-1,0,0,0,0,0],"(m3)/s",null,false,"L",null,1,false,false,0,"m^3/sec; m3 per sec; m^3 per sec; cu m/sec; cubic meters per seconds; meters cubed; metres","LOINC","VRat","Clinical","",null,null,null,null,false],[false,"milliampere","mA","MA","electric current",0.001,[0,-1,0,0,0,1,0],"mA","si",true,null,null,1,false,false,0,"mamp; milliamperes","LOINC","ElpotRat","Clinical","unit of electric current","C/s","C/S","1",1,false],[false,"millibar","mbar","MBAR","pressure",100000,[-1,-2,1,0,0,0,0],"mbar","iso1000",true,null,null,1,false,false,0,"millibars","LOINC","Pres","Clinical","unit of pressure","Pa","PAL","1e5",100000,false],[false,"millibar second per liter","mbar.s/L","(MBAR.S)/L","pressure",100000000,[-4,-1,1,0,0,0,0],"(mbar.s)/L","iso1000",true,null,null,1,false,false,0,"mbar*s/L; mbar.s per L; mbar*s per L; millibar seconds per liter; millibar second per litre","LOINC","","Clinical","unit to measure expiratory resistance","Pa","PAL","1e5",100000,false],[false,"millibar per liter per second","mbar/L/s","(MBAR/L)/S","pressure",100000000,[-4,-3,1,0,0,0,0],"(mbar/L)/s","iso1000",true,null,null,1,false,false,0,"mbar/(L.s); mbar/L/sec; mbar/liter/second; mbar per L per sec; mbar per liter per second; millibars per liters per seconds; litres","LOINC","PresCncRat","Clinical","unit to measure expiratory resistance","Pa","PAL","1e5",100000,false],[false,"milliequivalent","meq","MEQ","amount of substance",602213670000000000000,[0,0,0,0,0,0,0],"meq","chemical",true,null,null,1,false,false,1,"milliequivalents; meqs","LOINC","Sub","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per 2 hour","meq/(2.h)","MEQ/HR","amount of substance",83640787500000000,[0,-1,0,0,0,0,0],"meq/h","chemical",true,null,null,1,false,false,1,"meq/2hrs; meq/2 hrs; meq per 2 hrs; milliequivalents per 2 hours","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per 24 hour","meq/(24.h)","MEQ/HR","amount of substance",6970065625000000,[0,-1,0,0,0,0,0],"meq/h","chemical",true,null,null,1,false,false,1,"meq/24hrs; meq/24 hrs; meq per 24 hrs; milliequivalents per 24 hours","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per 8 hour","meq/(8.h)","MEQ/HR","amount of substance",20910196875000000,[0,-1,0,0,0,0,0],"meq/h","chemical",true,null,null,1,false,false,1,"meq/8hrs; meq/8 hrs; meq per 8 hrs; milliequivalents per 8 hours; shift","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per day","meq/d","MEQ/D","amount of substance",6970065625000000,[0,-1,0,0,0,0,0],"meq/d","chemical",true,null,null,1,false,false,1,"meq/dy; meq per day; milliquivalents per days; meq/24hrs; meq/24 hrs; meq per 24 hrs; milliequivalents per 24 hours","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per deciliter","meq/dL","MEQ/DL","amount of substance",6.022136699999999e+24,[-3,0,0,0,0,0,0],"meq/dL","chemical",true,null,null,1,false,false,1,"meq per dL; milliequivalents per deciliter; decilitre","LOINC","SCnc","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per gram","meq/g","MEQ/G","amount of substance",602213670000000000000,[0,0,-1,0,0,0,0],"meq/g","chemical",true,null,null,1,false,false,1,"mgq/gm; meq per gm; milliequivalents per gram","LOINC","MCnt","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per hour","meq/h","MEQ/HR","amount of substance",167281575000000000,[0,-1,0,0,0,0,0],"meq/h","chemical",true,null,null,1,false,false,1,"meq/hrs; meq per hrs; milliequivalents per hour","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per kilogram","meq/kg","MEQ/KG","amount of substance",602213670000000000,[0,0,-1,0,0,0,0],"meq/kg","chemical",true,null,null,1,false,false,1,"meq per kg; milliequivalents per kilogram","LOINC","SCnt","Clinical","equivalence equals moles per valence; used to measure dose per patient body mass","mol","MOL","1",1,false],[false,"milliequivalent per kilogram per hour","meq/kg/h","(MEQ/KG)/HR","amount of substance",167281575000000,[0,-1,-1,0,0,0,0],"(meq/kg)/h","chemical",true,null,null,1,false,false,1,"meq/(kg.h); meq/kg/hr; meq per kg per hr; milliequivalents per kilograms per hour","LOINC","SCntRat","Clinical","equivalence equals moles per valence; unit used to measure dose rate per patient body mass","mol","MOL","1",1,false],[false,"milliequivalent per liter","meq/L","MEQ/L","amount of substance",6.0221367e+23,[-3,0,0,0,0,0,0],"meq/L","chemical",true,null,null,1,false,false,1,"milliequivalents per liter; litre; meq per l; acidity","LOINC","SCnc","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per square meter","meq/m2","MEQ/M2","amount of substance",602213670000000000000,[-2,0,0,0,0,0,0],"meq/(m2)","chemical",true,null,null,1,false,false,1,"meq/m^2; meq/sq. m; milliequivalents per square meter; meter squared; metre","LOINC","ArSub","Clinical","equivalence equals moles per valence; note that the use of m2 in clinical units ofter refers to body surface area","mol","MOL","1",1,false],[false,"milliequivalent per minute","meq/min","MEQ/MIN","amount of substance",10036894500000000000,[0,-1,0,0,0,0,0],"meq/min","chemical",true,null,null,1,false,false,1,"meq per min; milliequivalents per minute","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per milliliter","meq/mL","MEQ/ML","amount of substance",6.0221367e+26,[-3,0,0,0,0,0,0],"meq/mL","chemical",true,null,null,1,false,false,1,"meq per mL; milliequivalents per milliliter; millilitre","LOINC","SCnc","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[true,"milligram","mg","MG","mass",0.001,[0,0,1,0,0,0,0],"mg",null,false,"M",null,1,false,false,0,"milligrams","LOINC","Mass","Clinical","",null,null,null,null,false],[true,"milligram per 10 hour","mg/(10.h)","MG/HR","mass",2.7777777777777777e-8,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/10hrs; mg/10 hrs; mg per 10 hrs; milligrams per 10 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"milligram per 12 hour","mg/(12.h)","MG/HR","mass",2.3148148148148148e-8,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/12hrs; mg/12 hrs; per 12 hrs; 12hrs; milligrams per 12 hours","LOINC","MRat","Clinical","units used for tests in urine",null,null,null,null,false],[true,"milligram per 2 hour","mg/(2.h)","MG/HR","mass",1.3888888888888888e-7,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/2hrs; mg/2 hrs; mg per 2 hrs; 2hrs; milligrams per 2 hours","LOINC","MRat","Clinical","units used for tests in urine",null,null,null,null,false],[true,"milligram per 24 hour","mg/(24.h)","MG/HR","mass",1.1574074074074074e-8,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/24hrs; mg/24 hrs; milligrams per 24 hours; mg/kg/dy; mg per kg per day; milligrams per kilograms per days","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"milligram per 6 hour","mg/(6.h)","MG/HR","mass",4.6296296296296295e-8,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/6hrs; mg/6 hrs; mg per 6 hrs; 6hrs; milligrams per 6 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"milligram per 72 hour","mg/(72.h)","MG/HR","mass",3.858024691358025e-9,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/72hrs; mg/72 hrs; 72 hrs; 72hrs; milligrams per 72 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"milligram per 8 hour","mg/(8.h)","MG/HR","mass",3.472222222222222e-8,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/8hrs; mg/8 hrs; milligrams per 8 hours; shift","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"milligram per day","mg/d","MG/D","mass",1.1574074074074074e-8,[0,-1,1,0,0,0,0],"mg/d",null,false,"M",null,1,false,false,0,"mg/24hrs; mg/24 hrs; milligrams per 24 hours; mg/dy; mg per day; milligrams","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"milligram per deciliter","mg/dL","MG/DL","mass",10,[-3,0,1,0,0,0,0],"mg/dL",null,false,"M",null,1,false,false,0,"mg per dL; milligrams per deciliter; decilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"milligram per gram","mg/g","MG/G","mass",0.001,[0,0,0,0,0,0,0],"mg/g",null,false,"M",null,1,false,false,0,"mg per gm; milligrams per gram","LOINC","MCnt; MRto","Clinical","",null,null,null,null,false],[true,"milligram per hour","mg/h","MG/HR","mass",2.7777777777777776e-7,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/hr; mg per hr; milligrams","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"milligram per kilogram","mg/kg","MG/KG","mass",0.000001,[0,0,0,0,0,0,0],"mg/kg",null,false,"M",null,1,false,false,0,"mg per kg; milligrams per kilograms","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"milligram per kilogram per 8 hour","mg/kg/(8.h)","(MG/KG)/HR","mass",3.472222222222222e-11,[0,-1,0,0,0,0,0],"(mg/kg)/h",null,false,"M",null,1,false,false,0,"mg/(8.h.kg); mg/kg/8hrs; mg/kg/8 hrs; mg per kg per 8hrs; 8 hrs; milligrams per kilograms per 8 hours; shift","LOINC","RelMRat; MCntRat","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"milligram per kilogram per day","mg/kg/d","(MG/KG)/D","mass",1.1574074074074074e-11,[0,-1,0,0,0,0,0],"(mg/kg)/d",null,false,"M",null,1,false,false,0,"mg/(kg.d); mg/(kg.24.h)mg/kg/dy; mg per kg per day; milligrams per kilograms per days; mg/kg/(24.h); mg/kg/24hrs; 24 hrs; 24 hours","LOINC","RelMRat ","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"milligram per kilogram per hour","mg/kg/h","(MG/KG)/HR","mass",2.7777777777777777e-10,[0,-1,0,0,0,0,0],"(mg/kg)/h",null,false,"M",null,1,false,false,0,"mg/(kg.h); mg/kg/hr; mg per kg per hr; milligrams per kilograms per hour","LOINC","RelMRat; MCntRat","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"milligram per kilogram per minute","mg/kg/min","(MG/KG)/MIN","mass",1.6666666666666667e-8,[0,-1,0,0,0,0,0],"(mg/kg)/min",null,false,"M",null,1,false,false,0,"mg/(kg.min); mg per kg per min; milligrams per kilograms per minute","LOINC","RelMRat; MCntRat","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"milligram per liter","mg/L","MG/L","mass",1,[-3,0,1,0,0,0,0],"mg/L",null,false,"M",null,1,false,false,0,"mg per l; milligrams per liter; litre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"milligram per square meter","mg/m2","MG/M2","mass",0.001,[-2,0,1,0,0,0,0],"mg/(m2)",null,false,"M",null,1,false,false,0,"mg/m^2; mg/sq. m; mg per m2; mg per m^2; mg per sq. milligrams; meter squared; metre","LOINC","ArMass","Clinical","",null,null,null,null,false],[true,"milligram per cubic meter","mg/m3","MG/M3","mass",0.001,[-3,0,1,0,0,0,0],"mg/(m3)",null,false,"M",null,1,false,false,0,"mg/m^3; mg/cu. m; mg per m3; milligrams per cubic meter; meter cubed; metre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"milligram per milligram","mg/mg","MG/MG","mass",1,[0,0,0,0,0,0,0],"mg/mg",null,false,"M",null,1,false,false,0,"mg per mg; milligrams; milligram/milligram","LOINC","MRto","Clinical","",null,null,null,null,false],[true,"milligram per minute","mg/min","MG/MIN","mass",0.000016666666666666667,[0,-1,1,0,0,0,0],"mg/min",null,false,"M",null,1,false,false,0,"mg per min; milligrams per minutes; milligram/minute","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"milligram per milliliter","mg/mL","MG/ML","mass",1000.0000000000001,[-3,0,1,0,0,0,0],"mg/mL",null,false,"M",null,1,false,false,0,"mg per mL; milligrams per milliliters; millilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"milligram per millimole","mg/mmol","MG/MMOL","mass",1.660540186674939e-24,[0,0,1,0,0,0,0],"mg/mmol",null,false,"M",null,1,false,false,-1,"mg per mmol; milligrams per millimole; ","LOINC","Ratio","Clinical","",null,null,null,null,false],[true,"milligram per week","mg/wk","MG/WK","mass",1.6534391534391535e-9,[0,-1,1,0,0,0,0],"mg/wk",null,false,"M",null,1,false,false,0,"mg/week; mg per wk; milligrams per weeks; milligram/week","LOINC","Mrat","Clinical","",null,null,null,null,false],[false,"milliliter","mL","ML","volume",0.000001,[3,0,0,0,0,0,0],"mL","iso1000",true,null,null,1,false,false,0,"milliliters; millilitres","LOINC","Vol","Clinical","","l",null,"1",1,false],[false,"milliliter per 10 hour","mL/(10.h)","ML/HR","volume",2.7777777777777777e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/10hrs; ml/10 hrs; mL per 10hrs; 10 hrs; milliliters per 10 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 12 hour","mL/(12.h)","ML/HR","volume",2.3148148148148147e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/12hrs; ml/12 hrs; mL per 12hrs; 12 hrs; milliliters per 12 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 2 hour","mL/(2.h)","ML/HR","volume",1.3888888888888888e-10,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/2hrs; ml/2 hrs; mL per 2hrs; 2 hrs; milliliters per 2 hours; millilitres ","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 24 hour","mL/(24.h)","ML/HR","volume",1.1574074074074074e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/24hrs; ml/24 hrs; mL per 24hrs; 24 hrs; milliliters per 24 hours; millilitres; ml/dy; /day; ml per dy; days; fluid outputs; fluid inputs; flow rate","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 4 hour","mL/(4.h)","ML/HR","volume",6.944444444444444e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/4hrs; ml/4 hrs; mL per 4hrs; 4 hrs; milliliters per 4 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 5 hour","mL/(5.h)","ML/HR","volume",5.5555555555555553e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/5hrs; ml/5 hrs; mL per 5hrs; 5 hrs; milliliters per 5 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 6 hour","mL/(6.h)","ML/HR","volume",4.6296296296296294e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/6hrs; ml/6 hrs; mL per 6hrs; 6 hrs; milliliters per 6 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 72 hour","mL/(72.h)","ML/HR","volume",3.8580246913580245e-12,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/72hrs; ml/72 hrs; mL per 72hrs; 72 hrs; milliliters per 72 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 8 hour","mL/(8.h)","ML/HR","volume",3.472222222222222e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/8hrs; ml/8 hrs; mL per 8hrs; 8 hrs; milliliters per 8 hours; millilitres; shift","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 8 hour per kilogram","mL/(8.h)/kg","(ML/HR)/KG","volume",3.472222222222222e-14,[3,-1,-1,0,0,0,0],"(mL/h)/kg","iso1000",true,null,null,1,false,false,0,"mL/kg/(8.h); ml/8h/kg; ml/8 h/kg; ml/8hr/kg; ml/8 hr/kgr; mL per 8h per kg; 8 h; 8hr; 8 hr; milliliters per 8 hours per kilogram; millilitres; shift","LOINC","VRatCnt","Clinical","unit used to measure renal excretion volume rate per body mass","l",null,"1",1,false],[false,"milliliter per square inch (international)","mL/[sin_i]","ML/[SIN_I]","volume",0.0015500031000061998,[1,0,0,0,0,0,0],"mL","iso1000",true,null,null,1,false,false,0,"mL/sin; mL/in2; mL/in^2; mL per sin; in2; in^2; sq. in; milliliters per square inch; inch squared","LOINC","ArVol","Clinical","","l",null,"1",1,false],[false,"milliliter per centimeter of water","mL/cm[H2O]","ML/CM[H2O]","volume",1.0197162129779282e-11,[4,2,-1,0,0,0,0],"mL/(cm HO2)","iso1000",true,null,null,1,false,false,0,"milliliters per centimeter of water; millilitre per centimetre of water; millilitres per centimetre of water; mL/cmH2O; mL/cm H2O; mL per cmH2O; mL per cm H2O","LOINC","Compli","Clinical","unit used to measure dynamic lung compliance","l",null,"1",1,false],[false,"milliliter per day","mL/d","ML/D","volume",1.1574074074074074e-11,[3,-1,0,0,0,0,0],"mL/d","iso1000",true,null,null,1,false,false,0,"ml/day; ml per day; milliliters per day; 24 hours; 24hrs; millilitre;","LOINC","VRat","Clinical","usually used to measure fluid output or input; flow rate","l",null,"1",1,false],[false,"milliliter per deciliter","mL/dL","ML/DL","volume",0.009999999999999998,[0,0,0,0,0,0,0],"mL/dL","iso1000",true,null,null,1,false,false,0,"mL per dL; millilitres; decilitre; milliliters","LOINC","VFr; VFrDiff","Clinical","","l",null,"1",1,false],[false,"milliliter per hour","mL/h","ML/HR","volume",2.7777777777777777e-10,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"mL/hr; mL per hr; milliliters per hour; millilitres; fluid intake; fluid output","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per kilogram","mL/kg","ML/KG","volume",9.999999999999999e-10,[3,0,-1,0,0,0,0],"mL/kg","iso1000",true,null,null,1,false,false,0,"mL per kg; milliliters per kilogram; millilitres","LOINC","VCnt","Clinical","","l",null,"1",1,false],[false,"milliliter per kilogram per 8 hour","mL/kg/(8.h)","(ML/KG)/HR","volume",3.472222222222222e-14,[3,-1,-1,0,0,0,0],"(mL/kg)/h","iso1000",true,null,null,1,false,false,0,"mL/(8.h.kg); mL/kg/8hrs; mL/kg/8 hrs; mL per kg per 8hrs; 8 hrs; milliliters per kilograms per 8 hours; millilitres; shift","LOINC","VCntRat; RelEngRat","Clinical","unit used to measure renal excretion volume rate per body mass","l",null,"1",1,false],[false,"milliliter per kilogram per day","mL/kg/d","(ML/KG)/D","volume",1.1574074074074072e-14,[3,-1,-1,0,0,0,0],"(mL/kg)/d","iso1000",true,null,null,1,false,false,0,"mL/(kg.d); mL/kg/dy; mL per kg per day; milliliters per kilograms per day; mg/kg/24hrs; 24 hrs; per 24 hours millilitres","LOINC","VCntRat; RelEngRat","Clinical","unit used to measure renal excretion volume rate per body mass","l",null,"1",1,false],[false,"milliliter per kilogram per hour","mL/kg/h","(ML/KG)/HR","volume",2.7777777777777774e-13,[3,-1,-1,0,0,0,0],"(mL/kg)/h","iso1000",true,null,null,1,false,false,0,"mL/(kg.h); mL/kg/hr; mL per kg per hr; milliliters per kilograms per hour; millilitres","LOINC","VCntRat; RelEngRat","Clinical","unit used to measure renal excretion volume rate per body mass","l",null,"1",1,false],[false,"milliliter per kilogram per minute","mL/kg/min","(ML/KG)/MIN","volume",1.6666666666666664e-11,[3,-1,-1,0,0,0,0],"(mL/kg)/min","iso1000",true,null,null,1,false,false,0,"mL/(kg.min); mL/kg/dy; mL per kg per day; milliliters per kilograms per day; millilitres","LOINC","RelEngRat","Clinical","used for tests that measure activity metabolic rate compared to standard resting metabolic rate ","l",null,"1",1,false],[false,"milliliter per square meter","mL/m2","ML/M2","volume",0.000001,[1,0,0,0,0,0,0],"mL/(m2)","iso1000",true,null,null,1,false,false,0,"mL/m^2; mL/sq. meter; mL per m2; m^2; sq. meter; milliliters per square meter; millilitres; meter squared","LOINC","ArVol","Clinical","used for tests that relate to heart work - e.g. ventricular stroke volume; atrial volume per body surface area","l",null,"1",1,false],[false,"milliliter per millibar","mL/mbar","ML/MBAR","volume",1e-11,[4,2,-1,0,0,0,0],"mL/mbar","iso1000",true,null,null,1,false,false,0,"mL per mbar; milliliters per millibar; millilitres","LOINC","","Clinical","unit used to measure dynamic lung compliance","l",null,"1",1,false],[false,"milliliter per minute","mL/min","ML/MIN","volume",1.6666666666666667e-8,[3,-1,0,0,0,0,0],"mL/min","iso1000",true,null,null,1,false,false,0,"mL per min; milliliters; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per minute per square meter","mL/min/m2","(ML/MIN)/M2","volume",1.6666666666666667e-8,[1,-1,0,0,0,0,0],"(mL/min)/(m2)","iso1000",true,null,null,1,false,false,0,"ml/min/m^2; ml/min/sq. meter; mL per min per m2; m^2; sq. meter; milliliters per minutes per square meter; millilitres; metre; meter squared","LOINC","ArVRat","Clinical","unit used to measure volume per body surface area; oxygen consumption index","l",null,"1",1,false],[false,"milliliter per millimeter","mL/mm","ML/MM","volume",0.001,[2,0,0,0,0,0,0],"mL/mm","iso1000",true,null,null,1,false,false,0,"mL per mm; milliliters per millimeter; millilitres; millimetre","LOINC","Lineic Volume","Clinical","","l",null,"1",1,false],[false,"milliliter per second","mL/s","ML/S","volume",0.000001,[3,-1,0,0,0,0,0],"mL/s","iso1000",true,null,null,1,false,false,0,"ml/sec; mL per sec; milliliters per second; millilitres","LOINC","Vel; VelRat; VRat","Clinical","","l",null,"1",1,false],[true,"millimeter","mm","MM","length",0.001,[1,0,0,0,0,0,0],"mm",null,false,"L",null,1,false,false,0,"millimeters; millimetres; height; length; diameter; thickness; axis; curvature; size","LOINC","Len","Clinical","",null,null,null,null,false],[true,"millimeter per hour","mm/h","MM/HR","length",2.7777777777777776e-7,[1,-1,0,0,0,0,0],"mm/h",null,false,"L",null,1,false,false,0,"mm/hr; mm per hr; millimeters per hour; millimetres","LOINC","Vel","Clinical","unit to measure sedimentation rate",null,null,null,null,false],[true,"millimeter per minute","mm/min","MM/MIN","length",0.000016666666666666667,[1,-1,0,0,0,0,0],"mm/min",null,false,"L",null,1,false,false,0,"mm per min; millimeters per minute; millimetres","LOINC","Vel","Clinical","",null,null,null,null,false],[false,"millimeter of water","mm[H2O]","MM[H2O]","pressure",9806.65,[-1,-2,1,0,0,0,0],"mm HO2","clinical",true,null,null,1,false,false,0,"mmH2O; mm H2O; millimeters of water; millimetres","LOINC","Pres","Clinical","","kPa","KPAL","980665e-5",9.80665,false],[false,"millimeter of mercury","mm[Hg]","MM[HG]","pressure",133322,[-1,-2,1,0,0,0,0],"mm Hg","clinical",true,null,null,1,false,false,0,"mmHg; mm Hg; millimeters of mercury; millimetres","LOINC","Pres; PPres; Ratio","Clinical","1 mm[Hg] = 1 torr; unit to measure blood pressure","kPa","KPAL","133.3220",133.322,false],[true,"square millimeter","mm2","MM2","length",0.000001,[2,0,0,0,0,0,0],"mm2",null,false,"L",null,1,false,false,0,"mm^2; sq. mm.; sq. millimeters; millimeters squared; millimetres","LOINC","Area","Clinical","",null,null,null,null,false],[false,"millimole","mmol","MMOL","amount of substance",602213670000000000000,[0,0,0,0,0,0,0],"mmol","si",true,null,null,1,false,false,1,"millimoles","LOINC","Sub","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 12 hour","mmol/(12.h)","MMOL/HR","amount of substance",13940131250000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/12hrs; mmol/12 hrs; mmol per 12 hrs; 12hrs; millimoles per 12 hours","LOINC","SRat","Clinical","unit for tests related to urine","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 2 hour","mmol/(2.h)","MMOL/HR","amount of substance",83640787500000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/2hrs; mmol/2 hrs; mmol per 2 hrs; 2hrs; millimoles per 2 hours","LOINC","SRat","Clinical","unit for tests related to urine","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 24 hour","mmol/(24.h)","MMOL/HR","amount of substance",6970065625000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/24hrs; mmol/24 hrs; mmol per 24 hrs; 24hrs; millimoles per 24 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 5 hour","mmol/(5.h)","MMOL/HR","amount of substance",33456315000000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/5hrs; mmol/5 hrs; mmol per 5 hrs; 5hrs; millimoles per 5 hours","LOINC","SRat","Clinical","unit for tests related to doses","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 6 hour","mmol/(6.h)","MMOL/HR","amount of substance",27880262500000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/6hrs; mmol/6 hrs; mmol per 6 hrs; 6hrs; millimoles per 6 hours","LOINC","SRat","Clinical","unit for tests related to urine","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 8 hour","mmol/(8.h)","MMOL/HR","amount of substance",20910196875000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/8hrs; mmol/8 hrs; mmol per 8 hrs; 8hrs; millimoles per 8 hours; shift","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per day","mmol/d","MMOL/D","amount of substance",6970065625000000,[0,-1,0,0,0,0,0],"mmol/d","si",true,null,null,1,false,false,1,"mmol/24hrs; mmol/24 hrs; mmol per 24 hrs; 24hrs; millimoles per 24 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per deciliter","mmol/dL","MMOL/DL","amount of substance",6.022136699999999e+24,[-3,0,0,0,0,0,0],"mmol/dL","si",true,null,null,1,false,false,1,"mmol per dL; millimoles; decilitre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per gram","mmol/g","MMOL/G","amount of substance",602213670000000000000,[0,0,-1,0,0,0,0],"mmol/g","si",true,null,null,1,false,false,1,"mmol per gram; millimoles","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per hour","mmol/h","MMOL/HR","amount of substance",167281575000000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/hr; mmol per hr; millimoles per hour","LOINC","SRat","Clinical","unit for tests related to urine","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per kilogram","mmol/kg","MMOL/KG","amount of substance",602213670000000000,[0,0,-1,0,0,0,0],"mmol/kg","si",true,null,null,1,false,false,1,"mmol per kg; millimoles per kilogram","LOINC","SCnt","Clinical","unit for tests related to stool","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per kilogram per 8 hour","mmol/kg/(8.h)","(MMOL/KG)/HR","amount of substance",20910196875000,[0,-1,-1,0,0,0,0],"(mmol/kg)/h","si",true,null,null,1,false,false,1,"mmol/(8.h.kg); mmol/kg/8hrs; mmol/kg/8 hrs; mmol per kg per 8hrs; 8 hrs; millimoles per kilograms per 8 hours; shift","LOINC","CCnt","Clinical","unit used to measure molar dose rate per patient body mass","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per kilogram per day","mmol/kg/d","(MMOL/KG)/D","amount of substance",6970065625000,[0,-1,-1,0,0,0,0],"(mmol/kg)/d","si",true,null,null,1,false,false,1,"mmol/kg/dy; mmol/kg/day; mmol per kg per dy; millimoles per kilograms per day","LOINC","RelSRat","Clinical","unit used to measure molar dose rate per patient body mass","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per kilogram per hour","mmol/kg/h","(MMOL/KG)/HR","amount of substance",167281575000000,[0,-1,-1,0,0,0,0],"(mmol/kg)/h","si",true,null,null,1,false,false,1,"mmol/kg/hr; mmol per kg per hr; millimoles per kilograms per hour","LOINC","CCnt","Clinical","unit used to measure molar dose rate per patient body mass","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per kilogram per minute","mmol/kg/min","(MMOL/KG)/MIN","amount of substance",10036894500000000,[0,-1,-1,0,0,0,0],"(mmol/kg)/min","si",true,null,null,1,false,false,1,"mmol/(kg.min); mmol/kg/min; mmol per kg per min; millimoles per kilograms per minute","LOINC","CCnt","Clinical","unit used to measure molar dose rate per patient body mass; note that the unit for the enzyme unit U = umol/min. mmol/kg/min = kU/kg; ","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per liter","mmol/L","MMOL/L","amount of substance",6.0221367e+23,[-3,0,0,0,0,0,0],"mmol/L","si",true,null,null,1,false,false,1,"mmol per L; millimoles per liter; litre","LOINC","SCnc","Clinical","unit for tests related to doses","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per square meter","mmol/m2","MMOL/M2","amount of substance",602213670000000000000,[-2,0,0,0,0,0,0],"mmol/(m2)","si",true,null,null,1,false,false,1,"mmol/m^2; mmol/sq. meter; mmol per m2; m^2; sq. meter; millimoles; meter squared; metre","LOINC","ArSub","Clinical","unit used to measure molar dose per patient body surface area","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per minute","mmol/min","MMOL/MIN","amount of substance",10036894500000000000,[0,-1,0,0,0,0,0],"mmol/min","si",true,null,null,1,false,false,1,"mmol per min; millimoles per minute","LOINC","Srat; CAct","Clinical","unit for the enzyme unit U = umol/min. mmol/min = kU","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per millimole","mmol/mmol","MMOL/MMOL","amount of substance",1,[0,0,0,0,0,0,0],"mmol/mmol","si",true,null,null,1,false,false,0,"mmol per mmol; millimoles per millimole","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per mole","mmol/mol","MMOL/MOL","amount of substance",0.001,[0,0,0,0,0,0,0],"mmol/mol","si",true,null,null,1,false,false,0,"mmol per mol; millimoles per mole","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per second per liter","mmol/s/L","(MMOL/S)/L","amount of substance",6.0221367e+23,[-3,-1,0,0,0,0,0],"(mmol/s)/L","si",true,null,null,1,false,false,1,"mmol/sec/L; mmol per s per L; per sec; millimoles per seconds per liter; litre","LOINC","CCnc ","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per kilogram","mol/kg","MOL/KG","amount of substance",602213670000000000000,[0,0,-1,0,0,0,0],"mol/kg","si",true,null,null,1,false,false,1,"mol per kg; moles; mols","LOINC","SCnt","Clinical","unit for tests related to stool","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per kilogram per second","mol/kg/s","(MOL/KG)/S","amount of substance",602213670000000000000,[0,-1,-1,0,0,0,0],"(mol/kg)/s","si",true,null,null,1,false,false,1,"mol/kg/sec; mol per kg per sec; moles per kilograms per second; mols","LOINC","CCnt","Clinical","unit of catalytic activity (mol/s) per mass (kg)","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per liter","mol/L","MOL/L","amount of substance",6.0221366999999994e+26,[-3,0,0,0,0,0,0],"mol/L","si",true,null,null,1,false,false,1,"mol per L; moles per liter; litre; moles; mols","LOINC","SCnc","Clinical","unit often used in tests measuring oxygen content","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per cubic meter","mol/m3","MOL/M3","amount of substance",6.0221367e+23,[-3,0,0,0,0,0,0],"mol/(m3)","si",true,null,null,1,false,false,1,"mol/m^3; mol/cu. m; mol per m3; m^3; cu. meter; mols; moles; meters cubed; metre; mole per kiloliter; kilolitre; mol/kL","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per milliliter","mol/mL","MOL/ML","amount of substance",6.0221367e+29,[-3,0,0,0,0,0,0],"mol/mL","si",true,null,null,1,false,false,1,"mol per mL; moles; millilitre; mols","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per mole","mol/mol","MOL/MOL","amount of substance",1,[0,0,0,0,0,0,0],"mol/mol","si",true,null,null,1,false,false,0,"mol per mol; moles per mol; mols","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per second","mol/s","MOL/S","amount of substance",6.0221367e+23,[0,-1,0,0,0,0,0],"mol/s","si",true,null,null,1,false,false,1,"mol per sec; moles per second; mols","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"milliosmole","mosm","MOSM","amount of substance (dissolved particles)",602213670000000000000,[0,0,0,0,0,0,0],"mosm","chemical",true,null,null,1,false,false,1,"milliosmoles","LOINC","Osmol","Clinical","equal to 1/1000 of an osmole","mol","MOL","1",1,false],[false,"milliosmole per kilogram","mosm/kg","MOSM/KG","amount of substance (dissolved particles)",602213670000000000,[0,0,-1,0,0,0,0],"mosm/kg","chemical",true,null,null,1,false,false,1,"mosm per kg; milliosmoles per kilogram","LOINC","Osmol","Clinical","","mol","MOL","1",1,false],[false,"milliosmole per liter","mosm/L","MOSM/L","amount of substance (dissolved particles)",6.0221367e+23,[-3,0,0,0,0,0,0],"mosm/L","chemical",true,null,null,1,false,false,1,"mosm per liter; litre; milliosmoles","LOINC","Osmol","Clinical","","mol","MOL","1",1,false],[false,"millipascal","mPa","MPAL","pressure",1,[-1,-2,1,0,0,0,0],"mPa","si",true,null,null,1,false,false,0,"millipascals","LOINC","Pres","Clinical","unit of pressure","N/m2","N/M2","1",1,false],[false,"millipascal second","mPa.s","MPAL.S","pressure",1,[-1,-1,1,0,0,0,0],"mPa.s","si",true,null,null,1,false,false,0,"mPa*s; millipoise; mP; dynamic viscosity","LOINC","Visc","Clinical","base units for millipoise, a measurement of dynamic viscosity","N/m2","N/M2","1",1,false],[true,"megasecond","Ms","MAS","time",1000000,[0,1,0,0,0,0,0],"Ms",null,false,"T",null,1,false,false,0,"megaseconds","LOINC","Time","Clinical","",null,null,null,null,false],[true,"millisecond","ms","MS","time",0.001,[0,1,0,0,0,0,0],"ms",null,false,"T",null,1,false,false,0,"milliseconds; duration","LOINC","Time","Clinical","",null,null,null,null,false],[false,"milli enzyme unit per gram","mU/g","MU/G","catalytic activity",10036894500000,[0,-1,-1,0,0,0,0],"mU/g","chemical",true,null,null,1,false,false,1,"mU per gm; milli enzyme units per gram; enzyme activity; enzymatic activity per mass","LOINC","CCnt","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min","umol/min","UMOL/MIN","1",1,false],[false,"milli enzyme unit per liter","mU/L","MU/L","catalytic activity",10036894500000000,[-3,-1,0,0,0,0,0],"mU/L","chemical",true,null,null,1,false,false,1,"mU per liter; litre; milli enzyme units enzymatic activity per volume; enzyme activity","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min","umol/min","UMOL/MIN","1",1,false],[false,"milli enzyme unit per milligram","mU/mg","MU/MG","catalytic activity",10036894500000000,[0,-1,-1,0,0,0,0],"mU/mg","chemical",true,null,null,1,false,false,1,"mU per mg; milli enzyme units per milligram","LOINC","CCnt","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min","umol/min","UMOL/MIN","1",1,false],[false,"milli enzyme unit per milliliter","mU/mL","MU/ML","catalytic activity",10036894500000000000,[-3,-1,0,0,0,0,0],"mU/mL","chemical",true,null,null,1,false,false,1,"mU per mL; milli enzyme units per milliliter; millilitre; enzymatic activity per volume; enzyme activity","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min","umol/min","UMOL/MIN","1",1,false],[false,"milli enzyme unit per milliliter per minute","mU/mL/min","(MU/ML)/MIN","catalytic activity",167281575000000000,[-3,-2,0,0,0,0,0],"(mU/mL)/min","chemical",true,null,null,1,false,false,1,"mU per mL per min; mU per milliliters per minute; millilitres; milli enzyme units; enzymatic activity; enzyme activity","LOINC","CCncRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min","umol/min","UMOL/MIN","1",1,false],[false,"millivolt","mV","MV","electric potential",1,[2,-2,1,0,0,-1,0],"mV","si",true,null,null,1,false,false,0,"millivolts","LOINC","Elpot","Clinical","unit of electric potential (voltage)","J/C","J/C","1",1,false],[false,"Newton centimeter","N.cm","N.CM","force",10,[2,-2,1,0,0,0,0],"N.cm","si",true,null,null,1,false,false,0,"N*cm; Ncm; N cm; Newton*centimeters; Newton* centimetres; torque; work","LOINC","","Clinical","as a measurement of work, N.cm = 1/100 Joules;\\nnote that N.m is the standard unit of measurement for torque (although dimensionally equivalent to Joule), and N.cm can also be thought of as a torqe unit","kg.m/s2","KG.M/S2","1",1,false],[false,"Newton second","N.s","N.S","force",1000,[1,-1,1,0,0,0,0],"N.s","si",true,null,null,1,false,false,0,"Newton*seconds; N*s; N s; Ns; impulse; imp","LOINC","","Clinical","standard unit of impulse","kg.m/s2","KG.M/S2","1",1,false],[true,"nanogram","ng","NG","mass",1e-9,[0,0,1,0,0,0,0],"ng",null,false,"M",null,1,false,false,0,"nanograms","LOINC","Mass","Clinical","",null,null,null,null,false],[true,"nanogram per 24 hour","ng/(24.h)","NG/HR","mass",1.1574074074074075e-14,[0,-1,1,0,0,0,0],"ng/h",null,false,"M",null,1,false,false,0,"ng/24hrs; ng/24 hrs; nanograms per 24 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"nanogram per 8 hour","ng/(8.h)","NG/HR","mass",3.4722222222222224e-14,[0,-1,1,0,0,0,0],"ng/h",null,false,"M",null,1,false,false,0,"ng/8hrs; ng/8 hrs; nanograms per 8 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"nanogram per million","ng/10*6","NG/(10*6)","mass",1e-15,[0,0,1,0,0,0,0],"ng/(106)",null,false,"M",null,1,false,false,0,"ng/10^6; ng per 10*6; 10^6; nanograms","LOINC","MNum","Clinical","",null,null,null,null,false],[true,"nanogram per day","ng/d","NG/D","mass",1.1574074074074075e-14,[0,-1,1,0,0,0,0],"ng/d",null,false,"M",null,1,false,false,0,"ng/dy; ng per day; nanograms ","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"nanogram per deciliter","ng/dL","NG/DL","mass",0.00001,[-3,0,1,0,0,0,0],"ng/dL",null,false,"M",null,1,false,false,0,"ng per dL; nanograms per deciliter; decilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"nanogram per gram","ng/g","NG/G","mass",1e-9,[0,0,0,0,0,0,0],"ng/g",null,false,"M",null,1,false,false,0,"ng/gm; ng per gm; nanograms per gram","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"nanogram per hour","ng/h","NG/HR","mass",2.777777777777778e-13,[0,-1,1,0,0,0,0],"ng/h",null,false,"M",null,1,false,false,0,"ng/hr; ng per hr; nanograms per hour","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"nanogram per kilogram","ng/kg","NG/KG","mass",1e-12,[0,0,0,0,0,0,0],"ng/kg",null,false,"M",null,1,false,false,0,"ng per kg; nanograms per kilogram","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"nanogram per kilogram per 8 hour","ng/kg/(8.h)","(NG/KG)/HR","mass",3.472222222222222e-17,[0,-1,0,0,0,0,0],"(ng/kg)/h",null,false,"M",null,1,false,false,0,"ng/(8.h.kg); ng/kg/8hrs; ng/kg/8 hrs; ng per kg per 8hrs; 8 hrs; nanograms per kilograms per 8 hours; shift","LOINC","MRtoRat ","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"nanogram per kilogram per hour","ng/kg/h","(NG/KG)/HR","mass",2.7777777777777775e-16,[0,-1,0,0,0,0,0],"(ng/kg)/h",null,false,"M",null,1,false,false,0,"ng/(kg.h); ng/kg/hr; ng per kg per hr; nanograms per kilograms per hour","LOINC","MRtoRat ","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"nanogram per kilogram per minute","ng/kg/min","(NG/KG)/MIN","mass",1.6666666666666667e-14,[0,-1,0,0,0,0,0],"(ng/kg)/min",null,false,"M",null,1,false,false,0,"ng/(kg.min); ng per kg per min; nanograms per kilograms per minute","LOINC","MRtoRat ","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"nanogram per liter","ng/L","NG/L","mass",0.000001,[-3,0,1,0,0,0,0],"ng/L",null,false,"M",null,1,false,false,0,"ng per L; nanograms per liter; litre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"nanogram per square meter","ng/m2","NG/M2","mass",1e-9,[-2,0,1,0,0,0,0],"ng/(m2)",null,false,"M",null,1,false,false,0,"ng/m^2; ng/sq. m; ng per m2; m^2; sq. meter; nanograms; meter squared; metre","LOINC","ArMass","Clinical","unit used to measure mass dose per patient body surface area",null,null,null,null,false],[true,"nanogram per milligram","ng/mg","NG/MG","mass",0.000001,[0,0,0,0,0,0,0],"ng/mg",null,false,"M",null,1,false,false,0,"ng per mg; nanograms","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"nanogram per milligram per hour","ng/mg/h","(NG/MG)/HR","mass",2.7777777777777777e-10,[0,-1,0,0,0,0,0],"(ng/mg)/h",null,false,"M",null,1,false,false,0,"ng/mg/hr; ng per mg per hr; nanograms per milligrams per hour","LOINC","MRtoRat ","Clinical","",null,null,null,null,false],[true,"nanogram per minute","ng/min","NG/MIN","mass",1.6666666666666667e-11,[0,-1,1,0,0,0,0],"ng/min",null,false,"M",null,1,false,false,0,"ng per min; nanograms","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"nanogram per millliiter","ng/mL","NG/ML","mass",0.001,[-3,0,1,0,0,0,0],"ng/mL",null,false,"M",null,1,false,false,0,"ng per mL; nanograms; millilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"nanogram per milliliter per hour","ng/mL/h","(NG/ML)/HR","mass",2.7777777777777776e-7,[-3,-1,1,0,0,0,0],"(ng/mL)/h",null,false,"M",null,1,false,false,0,"ng/mL/hr; ng per mL per mL; nanograms per milliliter per hour; nanogram per millilitre per hour; nanograms per millilitre per hour; enzymatic activity per volume; enzyme activity per milliliters","LOINC","CCnc","Clinical","tests that measure enzymatic activity",null,null,null,null,false],[true,"nanogram per second","ng/s","NG/S","mass",1e-9,[0,-1,1,0,0,0,0],"ng/s",null,false,"M",null,1,false,false,0,"ng/sec; ng per sec; nanograms per second","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"nanogram per enzyme unit","ng/U","NG/U","mass",9.963241120049634e-26,[0,1,1,0,0,0,0],"ng/U",null,false,"M",null,1,false,false,-1,"ng per U; nanograms per enzyme unit","LOINC","CMass","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)",null,null,null,null,false],[false,"nanokatal","nkat","NKAT","catalytic activity",602213670000000,[0,-1,0,0,0,0,0],"nkat","chemical",true,null,null,1,false,false,1,"nanokatals","LOINC","CAct","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"nanoliter","nL","NL","volume",1.0000000000000002e-12,[3,0,0,0,0,0,0],"nL","iso1000",true,null,null,1,false,false,0,"nanoliters; nanolitres","LOINC","Vol","Clinical","","l",null,"1",1,false],[true,"nanometer","nm","NM","length",1e-9,[1,0,0,0,0,0,0],"nm",null,false,"L",null,1,false,false,0,"nanometers; nanometres","LOINC","Len","Clinical","",null,null,null,null,false],[true,"nanometer per second per liter","nm/s/L","(NM/S)/L","length",0.000001,[-2,-1,0,0,0,0,0],"(nm/s)/L",null,false,"L",null,1,false,false,0,"nm/sec/liter; nm/sec/litre; nm per s per l; nm per sec per l; nanometers per second per liter; nanometre per second per litre; nanometres per second per litre","LOINC","VelCnc","Clinical","",null,null,null,null,false],[false,"nanomole","nmol","NMOL","amount of substance",602213670000000,[0,0,0,0,0,0,0],"nmol","si",true,null,null,1,false,false,1,"nanomoles","LOINC","Sub","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per 24 hour","nmol/(24.h)","NMOL/HR","amount of substance",6970065625,[0,-1,0,0,0,0,0],"nmol/h","si",true,null,null,1,false,false,1,"nmol/24hr; nmol/24 hr; nanomoles per 24 hours; nmol/day; nanomoles per day; nmol per day; nanomole/day; nanomol/day","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per day","nmol/d","NMOL/D","amount of substance",6970065625,[0,-1,0,0,0,0,0],"nmol/d","si",true,null,null,1,false,false,1,"nmol/day; nanomoles per day; nmol per day; nanomole/day; nanomol/day; nmol/24hr; nmol/24 hr; nanomoles per 24 hours; ","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per deciliter","nmol/dL","NMOL/DL","amount of substance",6022136700000000000,[-3,0,0,0,0,0,0],"nmol/dL","si",true,null,null,1,false,false,1,"nmol per dL; nanomoles per deciliter; nanomole per decilitre; nanomoles per decilitre; nanomole/deciliter; nanomole/decilitre; nanomol/deciliter; nanomol/decilitre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per gram","nmol/g","NMOL/G","amount of substance",602213670000000,[0,0,-1,0,0,0,0],"nmol/g","si",true,null,null,1,false,false,1,"nmol per gram; nanomoles per gram; nanomole/gram","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per hour per liter","nmol/h/L","(NMOL/HR)/L","amount of substance",167281575000000,[-3,-1,0,0,0,0,0],"(nmol/h)/L","si",true,null,null,1,false,false,1,"nmol/hrs/L; nmol per hrs per L; nanomoles per hours per liter; litre; enzymatic activity per volume; enzyme activities","LOINC","CCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per liter","nmol/L","NMOL/L","amount of substance",602213670000000000,[-3,0,0,0,0,0,0],"nmol/L","si",true,null,null,1,false,false,1,"nmol per L; nanomoles per liter; litre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milligram","nmol/mg","NMOL/MG","amount of substance",602213670000000000,[0,0,-1,0,0,0,0],"nmol/mg","si",true,null,null,1,false,false,1,"nmol per mg; nanomoles per milligram","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milligram per hour","nmol/mg/h","(NMOL/MG)/HR","amount of substance",167281575000000,[0,-1,-1,0,0,0,0],"(nmol/mg)/h","si",true,null,null,1,false,false,1,"nmol/mg/hr; nmol per mg per hr; nanomoles per milligrams per hour","LOINC","SCntRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milligram of protein","nmol/mg{prot}","NMOL/MG","amount of substance",602213670000000000,[0,0,-1,0,0,0,0],"nmol/mg","si",true,null,null,1,false,false,1,"nanomoles; nmol/mg prot; nmol per mg prot","LOINC","Ratio; CCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per minute","nmol/min","NMOL/MIN","amount of substance",10036894500000,[0,-1,0,0,0,0,0],"nmol/min","si",true,null,null,1,false,false,1,"nmol per min; nanomoles per minute; milli enzyme units; enzyme activity per volume; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. nmol/min = mU (milli enzyme unit)","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per minute per milliliter","nmol/min/mL","(NMOL/MIN)/ML","amount of substance",10036894500000000000,[-3,-1,0,0,0,0,0],"(nmol/min)/mL","si",true,null,null,1,false,false,1,"nmol per min per mL; nanomoles per minutes per milliliter; millilitre; milli enzyme units per volume; enzyme activity; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. nmol/mL/min = mU/mL","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milliliter","nmol/mL","NMOL/ML","amount of substance",602213670000000000000,[-3,0,0,0,0,0,0],"nmol/mL","si",true,null,null,1,false,false,1,"nmol per mL; nanomoles per milliliter; millilitre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milliliter per hour","nmol/mL/h","(NMOL/ML)/HR","amount of substance",167281575000000000,[-3,-1,0,0,0,0,0],"(nmol/mL)/h","si",true,null,null,1,false,false,1,"nmol/mL/hr; nmol per mL per hr; nanomoles per milliliters per hour; millilitres; milli enzyme units per volume; enzyme activity; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min.","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milliliter per minute","nmol/mL/min","(NMOL/ML)/MIN","amount of substance",10036894500000000000,[-3,-1,0,0,0,0,0],"(nmol/mL)/min","si",true,null,null,1,false,false,1,"nmol per mL per min; nanomoles per milliliters per min; millilitres; milli enzyme units per volume; enzyme activity; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. nmol/mL/min = mU/mL","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per millimole","nmol/mmol","NMOL/MMOL","amount of substance",0.000001,[0,0,0,0,0,0,0],"nmol/mmol","si",true,null,null,1,false,false,0,"nmol per mmol; nanomoles per millimole","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per millimole of creatinine","nmol/mmol{creat}","NMOL/MMOL","amount of substance",0.000001,[0,0,0,0,0,0,0],"nmol/mmol","si",true,null,null,1,false,false,0,"nanomoles","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per mole","nmol/mol","NMOL/MOL","amount of substance",1e-9,[0,0,0,0,0,0,0],"nmol/mol","si",true,null,null,1,false,false,0,"nmol per mole; nanomoles","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per nanomole","nmol/nmol","NMOL/NMOL","amount of substance",1,[0,0,0,0,0,0,0],"nmol/nmol","si",true,null,null,1,false,false,0,"nmol per nmol; nanomoles","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per second","nmol/s","NMOL/S","amount of substance",602213670000000,[0,-1,0,0,0,0,0],"nmol/s","si",true,null,null,1,false,false,1,"nmol/sec; nmol per sec; nanomoles per sercond; milli enzyme units; enzyme activity; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min.","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per second per liter","nmol/s/L","(NMOL/S)/L","amount of substance",602213670000000000,[-3,-1,0,0,0,0,0],"(nmol/s)/L","si",true,null,null,1,false,false,1,"nmol/sec/L; nmol per s per L; nmol per sec per L; nanomoles per seconds per liter; litre; milli enzyme units per volume; enzyme activity; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min.","10*23","10*23","6.0221367",6.0221367,false],[true,"nanosecond","ns","NS","time",1e-9,[0,1,0,0,0,0,0],"ns",null,false,"T",null,1,false,false,0,"nanoseconds","LOINC","Time","Clinical","",null,null,null,null,false],[false,"nanoenzyme unit per milliliter","nU/mL","NU/ML","catalytic activity",10036894500000,[-3,-1,0,0,0,0,0],"nU/mL","chemical",true,null,null,1,false,false,1,"nU per mL; nanoenzyme units per milliliter; millilitre; enzymatic activity per volume; enzyme activity","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 fU = pmol/min","umol/min","UMOL/MIN","1",1,false],[false,"Ohm meter","Ohm.m","OHM.M","electric resistance",1000,[3,-1,1,0,0,-2,0],"Ω.m","si",true,null,null,1,false,false,0,"electric resistivity; meters; metres","LOINC","","Clinical","unit of electric resistivity","V/A","V/A","1",1,false],[false,"osmole per kilogram","osm/kg","OSM/KG","amount of substance (dissolved particles)",602213670000000000000,[0,0,-1,0,0,0,0],"osm/kg","chemical",true,null,null,1,false,false,1,"osm per kg; osmoles per kilogram; osmols","LOINC","Osmol","Clinical","","mol","MOL","1",1,false],[false,"osmole per liter","osm/L","OSM/L","amount of substance (dissolved particles)",6.0221366999999994e+26,[-3,0,0,0,0,0,0],"osm/L","chemical",true,null,null,1,false,false,1,"osm per L; osmoles per liter; litre; osmols","LOINC","Osmol","Clinical","","mol","MOL","1",1,false],[false,"picoampere","pA","PA","electric current",1e-12,[0,-1,0,0,0,1,0],"pA","si",true,null,null,1,false,false,0,"picoamperes","LOINC","","Clinical","equal to 10^-12 amperes","C/s","C/S","1",1,false],[true,"picogram","pg","PG","mass",1e-12,[0,0,1,0,0,0,0],"pg",null,false,"M",null,1,false,false,0,"picograms","LOINC","Mass; EntMass","Clinical","",null,null,null,null,false],[true,"picogram per deciliter","pg/dL","PG/DL","mass",9.999999999999999e-9,[-3,0,1,0,0,0,0],"pg/dL",null,false,"M",null,1,false,false,0,"pg per dL; picograms; decilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"picogram per liter","pg/L","PG/L","mass",1e-9,[-3,0,1,0,0,0,0],"pg/L",null,false,"M",null,1,false,false,0,"pg per L; picograms; litre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"picogram per milligram","pg/mg","PG/MG","mass",1e-9,[0,0,0,0,0,0,0],"pg/mg",null,false,"M",null,1,false,false,0,"pg per mg; picograms","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"picogram per milliliter","pg/mL","PG/ML","mass",0.000001,[-3,0,1,0,0,0,0],"pg/mL",null,false,"M",null,1,false,false,0,"pg per mL; picograms per milliliter; millilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"picogram per millimeter","pg/mm","PG/MM","mass",1e-9,[-1,0,1,0,0,0,0],"pg/mm",null,false,"M",null,1,false,false,0,"pg per mm; picogram/millimeter; picogram/millimetre; picograms per millimeter; millimetre","LOINC","Lineic Mass","Clinical","",null,null,null,null,false],[false,"picokatal","pkat","PKAT","catalytic activity",602213670000,[0,-1,0,0,0,0,0],"pkat","chemical",true,null,null,1,false,false,1,"pkats; picokatals","LOINC","CAct","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"picoliter","pL","PL","volume",1e-15,[3,0,0,0,0,0,0],"pL","iso1000",true,null,null,1,false,false,0,"picoliters; picolitres","LOINC","Vol","Clinical","","l",null,"1",1,false],[true,"picometer","pm","PM","length",1e-12,[1,0,0,0,0,0,0],"pm",null,false,"L",null,1,false,false,0,"picometers; picometres","LOINC","Len","Clinical","",null,null,null,null,false],[false,"picomole","pmol","PMOL","amount of substance",602213670000,[0,0,0,0,0,0,0],"pmol","si",true,null,null,1,false,false,1,"picomoles; pmols","LOINC","Sub","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per 24 hour","pmol/(24.h)","PMOL/HR","amount of substance",6970065.625,[0,-1,0,0,0,0,0],"pmol/h","si",true,null,null,1,false,false,1,"pmol/24hrs; pmol/24 hrs; pmol per 24 hrs; 24hrs; days; dy; picomoles per 24 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per day","pmol/d","PMOL/D","amount of substance",6970065.625,[0,-1,0,0,0,0,0],"pmol/d","si",true,null,null,1,false,false,1,"pmol/dy; pmol per day; 24 hours; 24hrs; 24 hrs; picomoles","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per deciliter","pmol/dL","PMOL/DL","amount of substance",6022136700000000,[-3,0,0,0,0,0,0],"pmol/dL","si",true,null,null,1,false,false,1,"pmol per dL; picomoles per deciliter; decilitre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per gram","pmol/g","PMOL/G","amount of substance",602213670000,[0,0,-1,0,0,0,0],"pmol/g","si",true,null,null,1,false,false,1,"pmol per gm; picomoles per gram; picomole/gram","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per hour per milliliter ","pmol/h/mL","(PMOL/HR)/ML","amount of substance",167281575000000,[-3,-1,0,0,0,0,0],"(pmol/h)/mL","si",true,null,null,1,false,false,1,"pmol/hrs/mL; pmol per hrs per mL; picomoles per hour per milliliter; millilitre; micro enzyme units per volume; enzymatic activity; enzyme activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. ","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per liter","pmol/L","PMOL/L","amount of substance",602213670000000,[-3,0,0,0,0,0,0],"pmol/L","si",true,null,null,1,false,false,1,"picomole/liter; pmol per L; picomoles; litre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per minute","pmol/min","PMOL/MIN","amount of substance",10036894500,[0,-1,0,0,0,0,0],"pmol/min","si",true,null,null,1,false,false,1,"picomole/minute; pmol per min; picomoles per minute; micro enzyme units; enzymatic activity; enzyme activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. pmol/min = uU (micro enzyme unit)","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per milliliter","pmol/mL","PMOL/ML","amount of substance",602213670000000000,[-3,0,0,0,0,0,0],"pmol/mL","si",true,null,null,1,false,false,1,"picomole/milliliter; picomole/millilitre; pmol per mL; picomoles; millilitre; picomols; pmols","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per micromole","pmol/umol","PMOL/UMOL","amount of substance",0.000001,[0,0,0,0,0,0,0],"pmol/μmol","si",true,null,null,1,false,false,0,"pmol/mcgmol; picomole/micromole; pmol per umol; pmol per mcgmol; picomoles ","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[true,"picosecond","ps","PS","time",1e-12,[0,1,0,0,0,0,0],"ps",null,false,"T",null,1,false,false,0,"picoseconds; psec","LOINC","Time","Clinical","",null,null,null,null,false],[false,"picotesla","pT","PT","magnetic flux density",1e-9,[0,-1,1,0,0,-1,0],"pT","si",true,null,null,1,false,false,0,"picoteslas","LOINC","","Clinical","SI unit of magnetic field strength for magnetic field B","Wb/m2","WB/M2","1",1,false],[false,"enzyme unit per 12 hour","U/(12.h)","U/HR","catalytic activity",232335520833.33334,[0,-2,0,0,0,0,0],"U/h","chemical",true,null,null,1,false,false,1,"U/12hrs; U/ 12hrs; U per 12 hrs; 12hrs; enzyme units per 12 hours; enzyme activity; enzymatic activity per time; umol per min per 12 hours; micromoles per minute per 12 hours; umol/min/12hr","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per 2 hour","U/(2.h)","U/HR","catalytic activity",1394013125000,[0,-2,0,0,0,0,0],"U/h","chemical",true,null,null,1,false,false,1,"U/2hrs; U/ 2hrs; U per 2 hrs; 2hrs; enzyme units per 2 hours; enzyme activity; enzymatic activity per time; umol per minute per 2 hours; micromoles per minute; umol/min/2hr; umol per min per 2hr","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per 24 hour","U/(24.h)","U/HR","catalytic activity",116167760416.66667,[0,-2,0,0,0,0,0],"U/h","chemical",true,null,null,1,false,false,1,"U/24hrs; U/ 24hrs; U per 24 hrs; 24hrs; enzyme units per 24 hours; enzyme activity; enzymatic activity per time; micromoles per minute per 24 hours; umol/min/24hr; umol per min per 24hr","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per 10","U/10","U","catalytic activity",1003689450000000,[0,-1,0,0,0,0,0],"U","chemical",true,null,null,1,false,false,1,"enzyme unit/10; U per 10; enzyme units per 10; enzymatic activity; enzyme activity; micromoles per minute; umol/min/10","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per 10 billion","U/10*10","U/(10*10)","catalytic activity",1003689.45,[0,-1,0,0,0,0,0],"U/(1010)","chemical",true,null,null,1,false,false,1,"U per 10*10; enzyme units per 10*10; U per 10 billion; enzyme units; enzymatic activity; micromoles per minute per 10 billion; umol/min/10*10","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per trillion","U/10*12","U/(10*12)","catalytic activity",10036.8945,[0,-1,0,0,0,0,0],"U/(1012)","chemical",true,null,null,1,false,false,1,"enzyme unit/10*12; U per 10*12; enzyme units per 10*12; enzyme units per trillion; enzymatic activity; micromoles per minute per trillion; umol/min/10*12; umol per min per 10*12","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per million","U/10*6","U/(10*6)","catalytic activity",10036894500,[0,-1,0,0,0,0,0],"U/(106)","chemical",true,null,null,1,false,false,1,"enzyme unit/10*6; U per 10*6; enzyme units per 10*6; enzyme units; enzymatic activity per volume; micromoles per minute per million; umol/min/10*6; umol per min per 10*6","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per billion","U/10*9","U/(10*9)","catalytic activity",10036894.5,[0,-1,0,0,0,0,0],"U/(109)","chemical",true,null,null,1,false,false,1,"enzyme unit/10*9; U per 10*9; enzyme units per 10*9; enzymatic activity per volume; micromoles per minute per billion; umol/min/10*9; umol per min per 10*9","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per day","U/d","U/D","catalytic activity",116167760416.66667,[0,-2,0,0,0,0,0],"U/d","chemical",true,null,null,1,false,false,1,"U/dy; enzyme units per day; enzyme units; enzyme activity; enzymatic activity per time; micromoles per minute per day; umol/min/day; umol per min per day","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per deciliter","U/dL","U/DL","catalytic activity",100368945000000000000,[-3,-1,0,0,0,0,0],"U/dL","chemical",true,null,null,1,false,false,1,"U per dL; enzyme units per deciliter; decilitre; micromoles per minute per deciliter; umol/min/dL; umol per min per dL","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per gram","U/g","U/G","catalytic activity",10036894500000000,[0,-1,-1,0,0,0,0],"U/g","chemical",true,null,null,1,false,false,1,"U/gm; U per gm; enzyme units per gram; micromoles per minute per gram; umol/min/g; umol per min per g","LOINC","CCnt","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per hour","U/h","U/HR","catalytic activity",2788026250000,[0,-2,0,0,0,0,0],"U/h","chemical",true,null,null,1,false,false,1,"U/hr; U per hr; enzyme units per hour; micromoles per minute per hour; umol/min/hr; umol per min per hr","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per liter","U/L","U/L","catalytic activity",10036894500000000000,[-3,-1,0,0,0,0,0],"U/L","chemical",true,null,null,1,false,false,1,"enzyme unit/liter; enzyme unit/litre; U per L; enzyme units per liter; enzyme unit per litre; micromoles per minute per liter; umol/min/L; umol per min per L","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per minute","U/min","U/MIN","catalytic activity",167281575000000,[0,-2,0,0,0,0,0],"U/min","chemical",true,null,null,1,false,false,1,"enzyme unit/minute; U per min; enzyme units; umol/min/min; micromoles per minute per minute; micromoles per min per min; umol","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per milliliter","U/mL","U/ML","catalytic activity",1.00368945e+22,[-3,-1,0,0,0,0,0],"U/mL","chemical",true,null,null,1,false,false,1,"U per mL; enzyme units per milliliter; millilitre; micromoles per minute per milliliter; umol/min/mL; umol per min per mL","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per second","U/s","U/S","catalytic activity",10036894500000000,[0,-2,0,0,0,0,0],"U/s","chemical",true,null,null,1,false,false,1,"U/sec; U per second; enzyme units per second; micromoles per minute per second; umol/min/sec; umol per min per sec","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"micro international unit","u[IU]","U[IU]","arbitrary",0.000001,[0,0,0,0,0,0,0],"μi.U.","chemical",true,null,null,1,false,true,0,"uIU; u IU; microinternational units","LOINC","Arb","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"micro international unit per liter","u[IU]/L","U[IU]/L","arbitrary",0.001,[-3,0,0,0,0,0,0],"(μi.U.)/L","chemical",true,null,null,1,false,true,0,"uIU/L; u IU/L; uIU per L; microinternational units per liter; litre; ","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"micro international unit per milliliter","u[IU]/mL","U[IU]/ML","arbitrary",1,[-3,0,0,0,0,0,0],"(μi.U.)/mL","chemical",true,null,null,1,false,true,0,"uIU/mL; u IU/mL; uIU per mL; microinternational units per milliliter; millilitre","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"microequivalent","ueq","UEQ","amount of substance",602213670000000000,[0,0,0,0,0,0,0],"μeq","chemical",true,null,null,1,false,false,1,"microequivalents; 10^-6 equivalents; 10-6 equivalents","LOINC","Sub","Clinical","","mol","MOL","1",1,false],[false,"microequivalent per liter","ueq/L","UEQ/L","amount of substance",602213670000000000000,[-3,0,0,0,0,0,0],"μeq/L","chemical",true,null,null,1,false,false,1,"ueq per liter; litre; microequivalents","LOINC","MCnc","Clinical","","mol","MOL","1",1,false],[false,"microequivalent per milliliter","ueq/mL","UEQ/ML","amount of substance",6.0221367000000003e+23,[-3,0,0,0,0,0,0],"μeq/mL","chemical",true,null,null,1,false,false,1,"ueq per milliliter; millilitre; microequivalents","LOINC","MCnc","Clinical","","mol","MOL","1",1,false],[true,"microgram","ug","UG","mass",0.000001,[0,0,1,0,0,0,0],"μg",null,false,"M",null,1,false,false,0,"mcg; micrograms; 10^-6 grams; 10-6 grams","LOINC","Mass","Clinical","",null,null,null,null,false],[true,"microgram per 100 gram","ug/(100.g)","UG/G","mass",1e-8,[0,0,0,0,0,0,0],"μg/g",null,false,"M",null,1,false,false,0,"ug/100gm; ug/100 gm; mcg; ug per 100g; 100 gm; mcg per 100g; micrograms per 100 grams","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"microgram per 24 hour","ug/(24.h)","UG/HR","mass",1.1574074074074074e-11,[0,-1,1,0,0,0,0],"μg/h",null,false,"M",null,1,false,false,0,"ug/24hrs; ug/24 hrs; mcg/24hrs; ug per 24hrs; mcg per 24hrs; 24 hrs; micrograms per 24 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"microgram per 8 hour","ug/(8.h)","UG/HR","mass",3.472222222222222e-11,[0,-1,1,0,0,0,0],"μg/h",null,false,"M",null,1,false,false,0,"ug/8hrs; ug/8 hrs; mcg/8hrs; ug per 8hrs; mcg per 8hrs; 8 hrs; micrograms per 8 hours; shift","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"microgram per square foot (international)","ug/[sft_i]","UG/[SFT_I]","mass",0.000010763910416709721,[-2,0,1,0,0,0,0],"μg",null,false,"M",null,1,false,false,0,"ug/sft; ug/ft2; ug/ft^2; ug/sq. ft; micrograms; sq. foot; foot squared","LOINC","ArMass","Clinical","",null,null,null,null,false],[true,"microgram per day","ug/d","UG/D","mass",1.1574074074074074e-11,[0,-1,1,0,0,0,0],"μg/d",null,false,"M",null,1,false,false,0,"ug/dy; mcg/dy; ug per day; mcg; micrograms per day","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"microgram per deciliter","ug/dL","UG/DL","mass",0.009999999999999998,[-3,0,1,0,0,0,0],"μg/dL",null,false,"M",null,1,false,false,0,"ug per dL; mcg/dl; mcg per dl; micrograms per deciliter; decilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"microgram per gram","ug/g","UG/G","mass",0.000001,[0,0,0,0,0,0,0],"μg/g",null,false,"M",null,1,false,false,0,"ug per gm; mcg/gm; mcg per g; micrograms per gram","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"microgram per hour","ug/h","UG/HR","mass",2.7777777777777777e-10,[0,-1,1,0,0,0,0],"μg/h",null,false,"M",null,1,false,false,0,"ug/hr; mcg/hr; mcg per hr; ug per hr; ug per hour; micrograms","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"microgram per kilogram","ug/kg","UG/KG","mass",9.999999999999999e-10,[0,0,0,0,0,0,0],"μg/kg",null,false,"M",null,1,false,false,0,"ug per kg; mcg/kg; mcg per kg; micrograms per kilogram","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"microgram per kilogram per 8 hour","ug/kg/(8.h)","(UG/KG)/HR","mass",3.472222222222222e-14,[0,-1,0,0,0,0,0],"(μg/kg)/h",null,false,"M",null,1,false,false,0,"ug/kg/8hrs; mcg/kg/8hrs; ug/kg/8 hrs; mcg/kg/8 hrs; ug per kg per 8hrs; 8 hrs; mcg per kg per 8hrs; micrograms per kilograms per 8 hours; shift","LOINC","","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"microgram per kilogram per day","ug/kg/d","(UG/KG)/D","mass",1.1574074074074072e-14,[0,-1,0,0,0,0,0],"(μg/kg)/d",null,false,"M",null,1,false,false,0,"ug/(kg.d); ug/kg/dy; mcg/kg/day; ug per kg per dy; 24 hours; 24hrs; mcg; kilograms; microgram per kilogram and day","LOINC","","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"microgram per kilogram per hour","ug/kg/h","(UG/KG)/HR","mass",2.7777777777777774e-13,[0,-1,0,0,0,0,0],"(μg/kg)/h",null,false,"M",null,1,false,false,0,"ug/(kg.h); ug/kg/hr; mcg/kg/hr; ug per kg per hr; mcg per kg per hr; kilograms","LOINC","","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"microgram per kilogram per minute","ug/kg/min","(UG/KG)/MIN","mass",1.6666666666666664e-11,[0,-1,0,0,0,0,0],"(μg/kg)/min",null,false,"M",null,1,false,false,0,"ug/kg/min; ug/kg/min; mcg/kg/min; ug per kg per min; mcg; micrograms per kilograms per minute ","LOINC","","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"microgram per liter","ug/L","UG/L","mass",0.001,[-3,0,1,0,0,0,0],"μg/L",null,false,"M",null,1,false,false,0,"mcg/L; ug per L; mcg; micrograms per liter; litre ","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"microgram per liter per 24 hour","ug/L/(24.h)","(UG/L)/HR","mass",1.1574074074074074e-8,[-3,-1,1,0,0,0,0],"(μg/L)/h",null,false,"M",null,1,false,false,0,"ug/L/24hrs; ug/L/24 hrs; mcg/L/24hrs; ug per L per 24hrs; 24 hrs; day; dy mcg; micrograms per liters per 24 hours; litres","LOINC","","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"microgram per square meter","ug/m2","UG/M2","mass",0.000001,[-2,0,1,0,0,0,0],"μg/(m2)",null,false,"M",null,1,false,false,0,"ug/m^2; ug/sq. m; mcg/m2; mcg/m^2; mcg/sq. m; ug per m2; m^2; sq. meter; mcg; micrograms per square meter; meter squared; metre","LOINC","ArMass","Clinical","unit used to measure mass dose per patient body surface area",null,null,null,null,false],[true,"microgram per cubic meter","ug/m3","UG/M3","mass",0.000001,[-3,0,1,0,0,0,0],"μg/(m3)",null,false,"M",null,1,false,false,0,"ug/m^3; ug/cu. m; mcg/m3; mcg/m^3; mcg/cu. m; ug per m3; ug per m^3; ug per cu. m; mcg; micrograms per cubic meter; meter cubed; metre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"microgram per milligram","ug/mg","UG/MG","mass",0.001,[0,0,0,0,0,0,0],"μg/mg",null,false,"M",null,1,false,false,0,"ug per mg; mcg/mg; mcg per mg; micromilligrams per milligram","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"microgram per minute","ug/min","UG/MIN","mass",1.6666666666666667e-8,[0,-1,1,0,0,0,0],"μg/min",null,false,"M",null,1,false,false,0,"ug per min; mcg/min; mcg per min; microminutes per minute","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"microgram per milliliter","ug/mL","UG/ML","mass",1,[-3,0,1,0,0,0,0],"μg/mL",null,false,"M",null,1,false,false,0,"ug per mL; mcg/mL; mcg per mL; micrograms per milliliter; millilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"microgram per millimole","ug/mmol","UG/MMOL","mass",1.660540186674939e-27,[0,0,1,0,0,0,0],"μg/mmol",null,false,"M",null,1,false,false,-1,"ug per mmol; mcg/mmol; mcg per mmol; micrograms per millimole","LOINC","Ratio","Clinical","",null,null,null,null,false],[true,"microgram per nanogram","ug/ng","UG/NG","mass",999.9999999999999,[0,0,0,0,0,0,0],"μg/ng",null,false,"M",null,1,false,false,0,"ug per ng; mcg/ng; mcg per ng; micrograms per nanogram","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"microkatal","ukat","UKAT","catalytic activity",602213670000000000,[0,-1,0,0,0,0,0],"μkat","chemical",true,null,null,1,false,false,1,"microkatals; ukats","LOINC","CAct","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"microliter","uL","UL","volume",1e-9,[3,0,0,0,0,0,0],"μL","iso1000",true,null,null,1,false,false,0,"microliters; microlitres; mcl","LOINC","Vol","Clinical","","l",null,"1",1,false],[false,"microliter per 2 hour","uL/(2.h)","UL/HR","volume",1.388888888888889e-13,[3,-1,0,0,0,0,0],"μL/h","iso1000",true,null,null,1,false,false,0,"uL/2hrs; uL/2 hrs; mcg/2hr; mcg per 2hr; uL per 2hr; uL per 2 hrs; microliters per 2 hours; microlitres ","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"microliter per hour","uL/h","UL/HR","volume",2.777777777777778e-13,[3,-1,0,0,0,0,0],"μL/h","iso1000",true,null,null,1,false,false,0,"uL/hr; mcg/hr; mcg per hr; uL per hr; microliters per hour; microlitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[true,"micrometer","um","UM","length",0.000001,[1,0,0,0,0,0,0],"μm",null,false,"L",null,1,false,false,0,"micrometers; micrometres; μm; microns","LOINC","Len","Clinical","Unit of length that is usually used in tests related to the eye",null,null,null,null,false],[true,"microns per second","um/s","UM/S","length",0.000001,[1,-1,0,0,0,0,0],"μm/s",null,false,"L",null,1,false,false,0,"um/sec; micron/second; microns/second; um per sec; micrometers per second; micrometres","LOINC","Vel","Clinical","",null,null,null,null,false],[false,"micromole","umol","UMOL","amount of substance",602213670000000000,[0,0,0,0,0,0,0],"μmol","si",true,null,null,1,false,false,1,"micromoles; umols","LOINC","Sub","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per 2 hour","umol/(2.h)","UMOL/HR","amount of substance",83640787500000,[0,-1,0,0,0,0,0],"μmol/h","si",true,null,null,1,false,false,1,"umol/2hrs; umol/2 hrs; umol per 2 hrs; 2hrs; micromoles per 2 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per 24 hour","umol/(24.h)","UMOL/HR","amount of substance",6970065625000,[0,-1,0,0,0,0,0],"μmol/h","si",true,null,null,1,false,false,1,"umol/24hrs; umol/24 hrs; umol per 24 hrs; per 24hrs; micromoles per 24 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per 8 hour","umol/(8.h)","UMOL/HR","amount of substance",20910196875000,[0,-1,0,0,0,0,0],"μmol/h","si",true,null,null,1,false,false,1,"umol/8hr; umol/8 hr; umol per 8 hr; umol per 8hr; umols per 8hr; umol per 8 hours; micromoles per 8 hours; shift","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per day","umol/d","UMOL/D","amount of substance",6970065625000,[0,-1,0,0,0,0,0],"μmol/d","si",true,null,null,1,false,false,1,"umol/day; umol per day; umols per day; umol per days; micromoles per days; umol/24hr; umol/24 hr; umol per 24 hr; umol per 24hr; umols per 24hr; umol per 24 hours; micromoles per 24 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per deciliter","umol/dL","UMOL/DL","amount of substance",6.0221367e+21,[-3,0,0,0,0,0,0],"μmol/dL","si",true,null,null,1,false,false,1,"micromole/deciliter; micromole/decilitre; umol per dL; micromoles per deciliters; micromole per decilitres","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per gram","umol/g","UMOL/G","amount of substance",602213670000000000,[0,0,-1,0,0,0,0],"μmol/g","si",true,null,null,1,false,false,1,"micromole/gram; umol per g; micromoles per gram","LOINC","SCnt; Ratio","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per hour","umol/h","UMOL/HR","amount of substance",167281575000000,[0,-1,0,0,0,0,0],"μmol/h","si",true,null,null,1,false,false,1,"umol/hr; umol per hr; umol per hour; micromoles per hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per kilogram","umol/kg","UMOL/KG","amount of substance",602213670000000,[0,0,-1,0,0,0,0],"μmol/kg","si",true,null,null,1,false,false,1,"umol per kg; micromoles per kilogram","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per liter","umol/L","UMOL/L","amount of substance",602213670000000000000,[-3,0,0,0,0,0,0],"μmol/L","si",true,null,null,1,false,false,1,"micromole/liter; micromole/litre; umol per liter; micromoles per liter; litre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per liter per hour","umol/L/h","(UMOL/L)/HR","amount of substance",167281575000000000,[-3,-1,0,0,0,0,0],"(μmol/L)/h","si",true,null,null,1,false,false,1,"umol/liter/hr; umol/litre/hr; umol per L per hr; umol per liter per hour; micromoles per liters per hour; litre","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min; umol/L/h is a derived unit of enzyme units","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per milligram","umol/mg","UMOL/MG","amount of substance",602213670000000000000,[0,0,-1,0,0,0,0],"μmol/mg","si",true,null,null,1,false,false,1,"micromole/milligram; umol per mg; micromoles per milligram","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per minute","umol/min","UMOL/MIN","amount of substance",10036894500000000,[0,-1,0,0,0,0,0],"μmol/min","si",true,null,null,1,false,false,1,"micromole/minute; umol per min; micromoles per minute; enzyme units","LOINC","CAct","Clinical","unit for the enzyme unit U = umol/min","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per minute per gram","umol/min/g","(UMOL/MIN)/G","amount of substance",10036894500000000,[0,-1,-1,0,0,0,0],"(μmol/min)/g","si",true,null,null,1,false,false,1,"umol/min/gm; umol per min per gm; micromoles per minutes per gram; U/g; enzyme units","LOINC","CCnt","Clinical","unit for the enzyme unit U = umol/min. umol/min/g = U/g","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per minute per liter","umol/min/L","(UMOL/MIN)/L","amount of substance",10036894500000000000,[-3,-1,0,0,0,0,0],"(μmol/min)/L","si",true,null,null,1,false,false,1,"umol/min/liter; umol/minute/liter; micromoles per minutes per liter; litre; enzyme units; U/L","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. umol/min/L = U/L","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per milliliter","umol/mL","UMOL/ML","amount of substance",6.0221367000000003e+23,[-3,0,0,0,0,0,0],"μmol/mL","si",true,null,null,1,false,false,1,"umol per mL; micromoles per milliliter; millilitre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per milliliter per minute","umol/mL/min","(UMOL/ML)/MIN","amount of substance",1.00368945e+22,[-3,-1,0,0,0,0,0],"(μmol/mL)/min","si",true,null,null,1,false,false,1,"umol per mL per min; micromoles per milliliters per minute; millilitres","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. umol/mL/min = U/mL","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per millimole","umol/mmol","UMOL/MMOL","amount of substance",0.001,[0,0,0,0,0,0,0],"μmol/mmol","si",true,null,null,1,false,false,0,"umol per mmol; micromoles per millimole","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per mole","umol/mol","UMOL/MOL","amount of substance",0.000001,[0,0,0,0,0,0,0],"μmol/mol","si",true,null,null,1,false,false,0,"umol per mol; micromoles per mole","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per micromole","umol/umol","UMOL/UMOL","amount of substance",1,[0,0,0,0,0,0,0],"μmol/μmol","si",true,null,null,1,false,false,0,"umol per umol; micromoles per micromole","LOINC","Srto; SFr; EntSRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"microOhm","uOhm","UOHM","electric resistance",0.001,[2,-1,1,0,0,-2,0],"μΩ","si",true,null,null,1,false,false,0,"microOhms; µΩ","LOINC","","Clinical","unit of electric resistance","V/A","V/A","1",1,false],[true,"microsecond","us","US","time",0.000001,[0,1,0,0,0,0,0],"μs",null,false,"T",null,1,false,false,0,"microseconds","LOINC","Time","Clinical","",null,null,null,null,false],[false,"micro enzyme unit per gram","uU/g","UU/G","catalytic activity",10036894500,[0,-1,-1,0,0,0,0],"μU/g","chemical",true,null,null,1,false,false,1,"uU per gm; micro enzyme units per gram; micro enzymatic activity per mass; enzyme activity","LOINC","CCnt","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 uU = 1pmol/min","umol/min","UMOL/MIN","1",1,false],[false,"micro enzyme unit per liter","uU/L","UU/L","catalytic activity",10036894500000,[-3,-1,0,0,0,0,0],"μU/L","chemical",true,null,null,1,false,false,1,"uU per L; micro enzyme units per liter; litre; enzymatic activity per volume; enzyme activity ","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 uU = 1pmol/min","umol/min","UMOL/MIN","1",1,false],[false,"micro enzyme unit per milliliter","uU/mL","UU/ML","catalytic activity",10036894500000000,[-3,-1,0,0,0,0,0],"μU/mL","chemical",true,null,null,1,false,false,1,"uU per mL; micro enzyme units per milliliter; millilitre; enzymatic activity per volume; enzyme activity","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 uU = 1pmol/min","umol/min","UMOL/MIN","1",1,false],[false,"microvolt","uV","UV","electric potential",0.001,[2,-2,1,0,0,-1,0],"μV","si",true,null,null,1,false,false,0,"microvolts","LOINC","Elpot","Clinical","unit of electric potential (voltage)","J/C","J/C","1",1,false]]}}')}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={exports:{}};return e[i](o,o.exports,n),o.exports}n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}();var i=n(9159);window.fhirpath=i}()},4391:function(){var e,t,n;e={9:function(e,t,n){e.exports={choiceTypePaths:n(824),pathsDefinedElsewhere:n(151),type2Parent:n(905),path2Type:n(752)}},824:function(e){"use strict";e.exports=JSON.parse('{"ActivityDefinition.product":["Reference","CodeableConcept"],"ActivityDefinition.subject":["CodeableConcept","Reference"],"ActivityDefinition.timing":["Timing","DateTime","Age","Period","Range","Duration"],"AllergyIntolerance.onset":["DateTime","Age","Period","Range","String"],"Annotation.author":["Reference","String"],"AuditEvent.entity.detail.value":["String","Base64Binary"],"BiologicallyDerivedProduct.collection.collected":["DateTime","Period"],"BiologicallyDerivedProduct.manipulation.time":["DateTime","Period"],"BiologicallyDerivedProduct.processing.time":["DateTime","Period"],"CarePlan.activity.detail.product":["CodeableConcept","Reference"],"CarePlan.activity.detail.scheduled":["Timing","Period","String"],"ChargeItem.occurrence":["DateTime","Period","Timing"],"ChargeItem.product":["Reference","CodeableConcept"],"Claim.accident.location":["Address","Reference"],"Claim.diagnosis.diagnosis":["CodeableConcept","Reference"],"Claim.item.location":["CodeableConcept","Address","Reference"],"Claim.item.serviced":["Date","Period"],"Claim.procedure.procedure":["CodeableConcept","Reference"],"Claim.supportingInfo.timing":["Date","Period"],"Claim.supportingInfo.value":["Boolean","String","Quantity","Attachment","Reference"],"ClaimResponse.addItem.location":["CodeableConcept","Address","Reference"],"ClaimResponse.addItem.serviced":["Date","Period"],"ClinicalImpression.effective":["DateTime","Period"],"CodeSystem.concept.property.value":["Code","Coding","String","Integer","Boolean","DateTime","Decimal"],"Communication.payload.content":["String","Attachment","Reference"],"CommunicationRequest.occurrence":["DateTime","Period"],"CommunicationRequest.payload.content":["String","Attachment","Reference"],"Composition.relatesTo.target":["Identifier","Reference"],"ConceptMap.source":["Uri","Canonical"],"ConceptMap.target":["Uri","Canonical"],"Condition.abatement":["DateTime","Age","Period","Range","String"],"Condition.onset":["DateTime","Age","Period","Range","String"],"Consent.source":["Attachment","Reference"],"Contract.friendly.content":["Attachment","Reference"],"Contract.legal.content":["Attachment","Reference"],"Contract.legallyBinding":["Attachment","Reference"],"Contract.rule.content":["Attachment","Reference"],"Contract.term.action.occurrence":["DateTime","Period","Timing"],"Contract.term.asset.valuedItem.entity":["CodeableConcept","Reference"],"Contract.term.offer.answer.value":["Boolean","Decimal","Integer","Date","DateTime","Time","String","Uri","Attachment","Coding","Quantity","Reference"],"Contract.term.topic":["CodeableConcept","Reference"],"Contract.topic":["CodeableConcept","Reference"],"Coverage.costToBeneficiary.value":["Quantity","Money"],"CoverageEligibilityRequest.item.diagnosis.diagnosis":["CodeableConcept","Reference"],"CoverageEligibilityRequest.serviced":["Date","Period"],"CoverageEligibilityResponse.insurance.item.benefit.allowed":["UnsignedInt","String","Money"],"CoverageEligibilityResponse.insurance.item.benefit.used":["UnsignedInt","String","Money"],"CoverageEligibilityResponse.serviced":["Date","Period"],"DataRequirement.dateFilter.value":["DateTime","Period","Duration"],"DataRequirement.subject":["CodeableConcept","Reference"],"DetectedIssue.identified":["DateTime","Period"],"DeviceDefinition.manufacturer":["String","Reference"],"DeviceRequest.code":["Reference","CodeableConcept"],"DeviceRequest.occurrence":["DateTime","Period","Timing"],"DeviceRequest.parameter.value":["CodeableConcept","Quantity","Range","Boolean"],"DeviceUseStatement.timing":["Timing","Period","DateTime"],"DiagnosticReport.effective":["DateTime","Period"],"Dosage.asNeeded":["Boolean","CodeableConcept"],"Dosage.doseAndRate.dose":["Range","Quantity"],"Dosage.doseAndRate.rate":["Ratio","Range","Quantity"],"ElementDefinition.defaultValue":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"ElementDefinition.example.value":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"ElementDefinition.extension.value":["CodeableConcept","Canonical"],"ElementDefinition.fixed":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"ElementDefinition.maxValue":["Date","DateTime","Instant","Time","Decimal","Integer","PositiveInt","UnsignedInt","Quantity"],"ElementDefinition.minValue":["Date","DateTime","Instant","Time","Decimal","Integer","PositiveInt","UnsignedInt","Quantity"],"ElementDefinition.pattern":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"EventDefinition.subject":["CodeableConcept","Reference"],"EvidenceVariable.characteristic.definition":["Reference","Canonical","CodeableConcept","Expression","DataRequirement","TriggerDefinition"],"EvidenceVariable.characteristic.participantEffective":["DateTime","Period","Duration","Timing"],"ExplanationOfBenefit.accident.location":["Address","Reference"],"ExplanationOfBenefit.addItem.location":["CodeableConcept","Address","Reference"],"ExplanationOfBenefit.addItem.serviced":["Date","Period"],"ExplanationOfBenefit.benefitBalance.financial.allowed":["UnsignedInt","String","Money"],"ExplanationOfBenefit.benefitBalance.financial.used":["UnsignedInt","Money"],"ExplanationOfBenefit.diagnosis.diagnosis":["CodeableConcept","Reference"],"ExplanationOfBenefit.item.location":["CodeableConcept","Address","Reference"],"ExplanationOfBenefit.item.serviced":["Date","Period"],"ExplanationOfBenefit.procedure.procedure":["CodeableConcept","Reference"],"ExplanationOfBenefit.supportingInfo.timing":["Date","Period"],"ExplanationOfBenefit.supportingInfo.value":["Boolean","String","Quantity","Attachment","Reference"],"Extension.value":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"FamilyMemberHistory.age":["Age","Range","String"],"FamilyMemberHistory.born":["Period","Date","String"],"FamilyMemberHistory.condition.onset":["Age","Range","Period","String"],"FamilyMemberHistory.deceased":["Boolean","Age","Range","Date","String"],"Goal.start":["Date","CodeableConcept"],"Goal.target.detail":["Quantity","Range","CodeableConcept","String","Boolean","Integer","Ratio"],"Goal.target.due":["Date","Duration"],"Group.characteristic.value":["CodeableConcept","Boolean","Quantity","Range","Reference"],"GuidanceResponse.module":["Uri","Canonical","CodeableConcept"],"Immunization.occurrence":["DateTime","String"],"Immunization.protocolApplied.doseNumber":["PositiveInt","String"],"Immunization.protocolApplied.seriesDoses":["PositiveInt","String"],"ImmunizationEvaluation.doseNumber":["PositiveInt","String"],"ImmunizationEvaluation.seriesDoses":["PositiveInt","String"],"ImmunizationRecommendation.recommendation.doseNumber":["PositiveInt","String"],"ImmunizationRecommendation.recommendation.seriesDoses":["PositiveInt","String"],"ImplementationGuide.definition.page.name":["Url","Reference"],"ImplementationGuide.definition.resource.example":["Boolean","Canonical"],"ImplementationGuide.manifest.resource.example":["Boolean","Canonical"],"Invoice.lineItem.chargeItem":["Reference","CodeableConcept"],"Library.subject":["CodeableConcept","Reference"],"Measure.subject":["CodeableConcept","Reference"],"Media.created":["DateTime","Period"],"Medication.ingredient.item":["CodeableConcept","Reference"],"MedicationAdministration.dosage.rate":["Ratio","Quantity"],"MedicationAdministration.effective":["DateTime","Period"],"MedicationAdministration.medication":["CodeableConcept","Reference"],"MedicationDispense.medication":["CodeableConcept","Reference"],"MedicationDispense.statusReason":["CodeableConcept","Reference"],"MedicationKnowledge.administrationGuidelines.indication":["CodeableConcept","Reference"],"MedicationKnowledge.administrationGuidelines.patientCharacteristics.characteristic":["CodeableConcept","Quantity"],"MedicationKnowledge.drugCharacteristic.value":["CodeableConcept","String","Quantity","Base64Binary"],"MedicationKnowledge.ingredient.item":["CodeableConcept","Reference"],"MedicationRequest.medication":["CodeableConcept","Reference"],"MedicationRequest.reported":["Boolean","Reference"],"MedicationRequest.substitution.allowed":["Boolean","CodeableConcept"],"MedicationStatement.effective":["DateTime","Period"],"MedicationStatement.medication":["CodeableConcept","Reference"],"MedicinalProduct.specialDesignation.indication":["CodeableConcept","Reference"],"MedicinalProductAuthorization.procedure.date":["Period","DateTime"],"MedicinalProductContraindication.otherTherapy.medication":["CodeableConcept","Reference"],"MedicinalProductIndication.otherTherapy.medication":["CodeableConcept","Reference"],"MedicinalProductInteraction.interactant.item":["Reference","CodeableConcept"],"MessageDefinition.event":["Coding","Uri"],"MessageHeader.event":["Coding","Uri"],"NutritionOrder.enteralFormula.administration.rate":["Quantity","Ratio"],"Observation.component.value":["Quantity","CodeableConcept","String","Boolean","Integer","Range","Ratio","SampledData","Time","DateTime","Period"],"Observation.effective":["DateTime","Period","Timing","Instant"],"Observation.value":["Quantity","CodeableConcept","String","Boolean","Integer","Range","Ratio","SampledData","Time","DateTime","Period"],"Parameters.parameter.value":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"Patient.deceased":["Boolean","DateTime"],"Patient.multipleBirth":["Boolean","Integer"],"PlanDefinition.action.definition":["Canonical","Uri"],"PlanDefinition.action.relatedAction.offset":["Duration","Range"],"PlanDefinition.action.subject":["CodeableConcept","Reference"],"PlanDefinition.action.timing":["DateTime","Age","Period","Duration","Range","Timing"],"PlanDefinition.goal.target.detail":["Quantity","Range","CodeableConcept"],"PlanDefinition.subject":["CodeableConcept","Reference"],"Population.age":["Range","CodeableConcept"],"Procedure.performed":["DateTime","Period","String","Age","Range"],"Provenance.occurred":["Period","DateTime"],"Questionnaire.item.answerOption.value":["Integer","Date","Time","String","Coding","Reference"],"Questionnaire.item.enableWhen.answer":["Boolean","Decimal","Integer","Date","DateTime","Time","String","Coding","Quantity","Reference"],"Questionnaire.item.initial.value":["Boolean","Decimal","Integer","Date","DateTime","Time","String","Uri","Attachment","Coding","Quantity","Reference"],"QuestionnaireResponse.item.answer.value":["Boolean","Decimal","Integer","Date","DateTime","Time","String","Uri","Attachment","Coding","Quantity","Reference"],"RequestGroup.action.relatedAction.offset":["Duration","Range"],"RequestGroup.action.timing":["DateTime","Age","Period","Duration","Range","Timing"],"ResearchDefinition.subject":["CodeableConcept","Reference"],"ResearchElementDefinition.characteristic.definition":["CodeableConcept","Canonical","Expression","DataRequirement"],"ResearchElementDefinition.characteristic.participantEffective":["DateTime","Period","Duration","Timing"],"ResearchElementDefinition.characteristic.studyEffective":["DateTime","Period","Duration","Timing"],"ResearchElementDefinition.subject":["CodeableConcept","Reference"],"RiskAssessment.occurrence":["DateTime","Period"],"RiskAssessment.prediction.probability":["Decimal","Range"],"RiskAssessment.prediction.when":["Period","Range"],"ServiceRequest.asNeeded":["Boolean","CodeableConcept"],"ServiceRequest.occurrence":["DateTime","Period","Timing"],"ServiceRequest.quantity":["Quantity","Ratio","Range"],"Specimen.collection.collected":["DateTime","Period"],"Specimen.collection.fastingStatus":["CodeableConcept","Duration"],"Specimen.container.additive":["CodeableConcept","Reference"],"Specimen.processing.time":["DateTime","Period"],"SpecimenDefinition.typeTested.container.additive.additive":["CodeableConcept","Reference"],"SpecimenDefinition.typeTested.container.minimumVolume":["Quantity","String"],"StructureMap.group.rule.source.defaultValue":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"StructureMap.group.rule.target.parameter.value":["Id","String","Boolean","Integer","Decimal"],"Substance.ingredient.substance":["CodeableConcept","Reference"],"SubstanceAmount.amount":["Quantity","Range","String"],"SubstanceReferenceInformation.target.amount":["Quantity","Range","String"],"SubstanceSpecification.moiety.amount":["Quantity","String"],"SubstanceSpecification.property.amount":["Quantity","String"],"SubstanceSpecification.property.definingSubstance":["Reference","CodeableConcept"],"SubstanceSpecification.relationship.amount":["Quantity","Range","Ratio","String"],"SubstanceSpecification.relationship.substance":["Reference","CodeableConcept"],"SupplyDelivery.occurrence":["DateTime","Period","Timing"],"SupplyDelivery.suppliedItem.item":["CodeableConcept","Reference"],"SupplyRequest.item":["CodeableConcept","Reference"],"SupplyRequest.occurrence":["DateTime","Period","Timing"],"SupplyRequest.parameter.value":["CodeableConcept","Quantity","Range","Boolean"],"Task.input.value":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"Task.output.value":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"Timing.repeat.bounds":["Duration","Range","Period"],"TriggerDefinition.timing":["Timing","Reference","Date","DateTime"],"UsageContext.value":["CodeableConcept","Quantity","Range","Reference"],"ValueSet.expansion.parameter.value":["String","Boolean","Integer","Decimal","Uri","Code","DateTime"]}')},752:function(e){"use strict";e.exports=JSON.parse('{"Account.contained":"Resource","Account.coverage.coverage":"Reference","Account.coverage.extension":"Extension","Account.coverage.id":"System.String","Account.coverage.modifierExtension":"Extension","Account.coverage.priority":"positiveInt","Account.description":"string","Account.extension":"Extension","Account.guarantor.extension":"Extension","Account.guarantor.id":"System.String","Account.guarantor.modifierExtension":"Extension","Account.guarantor.onHold":"boolean","Account.guarantor.party":"Reference","Account.guarantor.period":"Period","Account.id":"System.String","Account.identifier":"Identifier","Account.implicitRules":"uri","Account.language":"code","Account.meta":"Meta","Account.modifierExtension":"Extension","Account.name":"string","Account.owner":"Reference","Account.partOf":"Reference","Account.servicePeriod":"Period","Account.status":"code","Account.subject":"Reference","Account.text":"Narrative","Account.type":"CodeableConcept","ActivityDefinition.approvalDate":"date","ActivityDefinition.author":"ContactDetail","ActivityDefinition.bodySite":"CodeableConcept","ActivityDefinition.code":"CodeableConcept","ActivityDefinition.contact":"ContactDetail","ActivityDefinition.contained":"Resource","ActivityDefinition.copyright":"markdown","ActivityDefinition.date":"dateTime","ActivityDefinition.description":"markdown","ActivityDefinition.doNotPerform":"boolean","ActivityDefinition.dosage":"Dosage","ActivityDefinition.dynamicValue.expression":"Expression","ActivityDefinition.dynamicValue.extension":"Extension","ActivityDefinition.dynamicValue.id":"System.String","ActivityDefinition.dynamicValue.modifierExtension":"Extension","ActivityDefinition.dynamicValue.path":"string","ActivityDefinition.editor":"ContactDetail","ActivityDefinition.effectivePeriod":"Period","ActivityDefinition.endorser":"ContactDetail","ActivityDefinition.experimental":"boolean","ActivityDefinition.extension":"Extension","ActivityDefinition.id":"System.String","ActivityDefinition.identifier":"Identifier","ActivityDefinition.implicitRules":"uri","ActivityDefinition.intent":"code","ActivityDefinition.jurisdiction":"CodeableConcept","ActivityDefinition.kind":"code","ActivityDefinition.language":"code","ActivityDefinition.lastReviewDate":"date","ActivityDefinition.library":"canonical","ActivityDefinition.location":"Reference","ActivityDefinition.meta":"Meta","ActivityDefinition.modifierExtension":"Extension","ActivityDefinition.name":"string","ActivityDefinition.observationRequirement":"Reference","ActivityDefinition.observationResultRequirement":"Reference","ActivityDefinition.participant.extension":"Extension","ActivityDefinition.participant.id":"System.String","ActivityDefinition.participant.modifierExtension":"Extension","ActivityDefinition.participant.role":"CodeableConcept","ActivityDefinition.participant.type":"code","ActivityDefinition.priority":"code","ActivityDefinition.productCodeableConcept":"CodeableConcept","ActivityDefinition.productReference":"Reference","ActivityDefinition.profile":"canonical","ActivityDefinition.publisher":"string","ActivityDefinition.purpose":"markdown","ActivityDefinition.quantity":"Quantity","ActivityDefinition.relatedArtifact":"RelatedArtifact","ActivityDefinition.reviewer":"ContactDetail","ActivityDefinition.specimenRequirement":"Reference","ActivityDefinition.status":"code","ActivityDefinition.subjectCodeableConcept":"CodeableConcept","ActivityDefinition.subjectReference":"Reference","ActivityDefinition.subtitle":"string","ActivityDefinition.text":"Narrative","ActivityDefinition.timingAge":"Age","ActivityDefinition.timingDateTime":"dateTime","ActivityDefinition.timingDuration":"Duration","ActivityDefinition.timingPeriod":"Period","ActivityDefinition.timingRange":"Range","ActivityDefinition.timingTiming":"Timing","ActivityDefinition.title":"string","ActivityDefinition.topic":"CodeableConcept","ActivityDefinition.transform":"canonical","ActivityDefinition.url":"uri","ActivityDefinition.usage":"string","ActivityDefinition.useContext":"UsageContext","ActivityDefinition.version":"string","Address.city":"string","Address.country":"string","Address.district":"string","Address.extension":"Extension","Address.id":"System.String","Address.line":"string","Address.period":"Period","Address.postalCode":"string","Address.state":"string","Address.text":"string","Address.type":"code","Address.use":"code","AdverseEvent.actuality":"code","AdverseEvent.category":"CodeableConcept","AdverseEvent.contained":"Resource","AdverseEvent.contributor":"Reference","AdverseEvent.date":"dateTime","AdverseEvent.detected":"dateTime","AdverseEvent.encounter":"Reference","AdverseEvent.event":"CodeableConcept","AdverseEvent.extension":"Extension","AdverseEvent.id":"System.String","AdverseEvent.identifier":"Identifier","AdverseEvent.implicitRules":"uri","AdverseEvent.language":"code","AdverseEvent.location":"Reference","AdverseEvent.meta":"Meta","AdverseEvent.modifierExtension":"Extension","AdverseEvent.outcome":"CodeableConcept","AdverseEvent.recordedDate":"dateTime","AdverseEvent.recorder":"Reference","AdverseEvent.referenceDocument":"Reference","AdverseEvent.resultingCondition":"Reference","AdverseEvent.seriousness":"CodeableConcept","AdverseEvent.severity":"CodeableConcept","AdverseEvent.study":"Reference","AdverseEvent.subject":"Reference","AdverseEvent.subjectMedicalHistory":"Reference","AdverseEvent.suspectEntity.causality.assessment":"CodeableConcept","AdverseEvent.suspectEntity.causality.author":"Reference","AdverseEvent.suspectEntity.causality.extension":"Extension","AdverseEvent.suspectEntity.causality.id":"System.String","AdverseEvent.suspectEntity.causality.method":"CodeableConcept","AdverseEvent.suspectEntity.causality.modifierExtension":"Extension","AdverseEvent.suspectEntity.causality.productRelatedness":"string","AdverseEvent.suspectEntity.extension":"Extension","AdverseEvent.suspectEntity.id":"System.String","AdverseEvent.suspectEntity.instance":"Reference","AdverseEvent.suspectEntity.modifierExtension":"Extension","AdverseEvent.text":"Narrative","Age.code":"code","Age.comparator":"code","Age.extension":"Extension","Age.id":"System.String","Age.system":"uri","Age.unit":"string","Age.value":"decimal","AllergyIntolerance.asserter":"Reference","AllergyIntolerance.category":"code","AllergyIntolerance.clinicalStatus":"CodeableConcept","AllergyIntolerance.code":"CodeableConcept","AllergyIntolerance.contained":"Resource","AllergyIntolerance.criticality":"code","AllergyIntolerance.encounter":"Reference","AllergyIntolerance.extension":"Extension","AllergyIntolerance.id":"System.String","AllergyIntolerance.identifier":"Identifier","AllergyIntolerance.implicitRules":"uri","AllergyIntolerance.language":"code","AllergyIntolerance.lastOccurrence":"dateTime","AllergyIntolerance.meta":"Meta","AllergyIntolerance.modifierExtension":"Extension","AllergyIntolerance.note":"Annotation","AllergyIntolerance.onsetAge":"Age","AllergyIntolerance.onsetDateTime":"dateTime","AllergyIntolerance.onsetPeriod":"Period","AllergyIntolerance.onsetRange":"Range","AllergyIntolerance.onsetString":"string","AllergyIntolerance.patient":"Reference","AllergyIntolerance.reaction.description":"string","AllergyIntolerance.reaction.exposureRoute":"CodeableConcept","AllergyIntolerance.reaction.extension":"Extension","AllergyIntolerance.reaction.id":"System.String","AllergyIntolerance.reaction.manifestation":"CodeableConcept","AllergyIntolerance.reaction.modifierExtension":"Extension","AllergyIntolerance.reaction.note":"Annotation","AllergyIntolerance.reaction.onset":"dateTime","AllergyIntolerance.reaction.severity":"code","AllergyIntolerance.reaction.substance":"CodeableConcept","AllergyIntolerance.recordedDate":"dateTime","AllergyIntolerance.recorder":"Reference","AllergyIntolerance.text":"Narrative","AllergyIntolerance.type":"code","AllergyIntolerance.verificationStatus":"CodeableConcept","Annotation.authorReference":"Reference","Annotation.authorString":"string","Annotation.extension":"Extension","Annotation.id":"System.String","Annotation.text":"markdown","Annotation.time":"dateTime","Appointment.appointmentType":"CodeableConcept","Appointment.basedOn":"Reference","Appointment.cancelationReason":"CodeableConcept","Appointment.comment":"string","Appointment.contained":"Resource","Appointment.created":"dateTime","Appointment.description":"string","Appointment.end":"instant","Appointment.extension":"Extension","Appointment.id":"System.String","Appointment.identifier":"Identifier","Appointment.implicitRules":"uri","Appointment.language":"code","Appointment.meta":"Meta","Appointment.minutesDuration":"positiveInt","Appointment.modifierExtension":"Extension","Appointment.participant.actor":"Reference","Appointment.participant.extension":"Extension","Appointment.participant.id":"System.String","Appointment.participant.modifierExtension":"Extension","Appointment.participant.period":"Period","Appointment.participant.required":"code","Appointment.participant.status":"code","Appointment.participant.type":"CodeableConcept","Appointment.patientInstruction":"string","Appointment.priority":"unsignedInt","Appointment.reasonCode":"CodeableConcept","Appointment.reasonReference":"Reference","Appointment.requestedPeriod":"Period","Appointment.serviceCategory":"CodeableConcept","Appointment.serviceType":"CodeableConcept","Appointment.slot":"Reference","Appointment.specialty":"CodeableConcept","Appointment.start":"instant","Appointment.status":"code","Appointment.supportingInformation":"Reference","Appointment.text":"Narrative","AppointmentResponse.actor":"Reference","AppointmentResponse.appointment":"Reference","AppointmentResponse.comment":"string","AppointmentResponse.contained":"Resource","AppointmentResponse.end":"instant","AppointmentResponse.extension":"Extension","AppointmentResponse.id":"System.String","AppointmentResponse.identifier":"Identifier","AppointmentResponse.implicitRules":"uri","AppointmentResponse.language":"code","AppointmentResponse.meta":"Meta","AppointmentResponse.modifierExtension":"Extension","AppointmentResponse.participantStatus":"code","AppointmentResponse.participantType":"CodeableConcept","AppointmentResponse.start":"instant","AppointmentResponse.text":"Narrative","Attachment.contentType":"code","Attachment.creation":"dateTime","Attachment.data":"base64Binary","Attachment.extension":"Extension","Attachment.hash":"base64Binary","Attachment.id":"System.String","Attachment.language":"code","Attachment.size":"unsignedInt","Attachment.title":"string","Attachment.url":"url","AuditEvent.action":"code","AuditEvent.agent.altId":"string","AuditEvent.agent.extension":"Extension","AuditEvent.agent.id":"System.String","AuditEvent.agent.location":"Reference","AuditEvent.agent.media":"Coding","AuditEvent.agent.modifierExtension":"Extension","AuditEvent.agent.name":"string","AuditEvent.agent.network.address":"string","AuditEvent.agent.network.extension":"Extension","AuditEvent.agent.network.id":"System.String","AuditEvent.agent.network.modifierExtension":"Extension","AuditEvent.agent.network.type":"code","AuditEvent.agent.policy":"uri","AuditEvent.agent.purposeOfUse":"CodeableConcept","AuditEvent.agent.requestor":"boolean","AuditEvent.agent.role":"CodeableConcept","AuditEvent.agent.type":"CodeableConcept","AuditEvent.agent.who":"Reference","AuditEvent.contained":"Resource","AuditEvent.entity.description":"string","AuditEvent.entity.detail.extension":"Extension","AuditEvent.entity.detail.id":"System.String","AuditEvent.entity.detail.modifierExtension":"Extension","AuditEvent.entity.detail.type":"string","AuditEvent.entity.detail.valueBase64Binary":"base64Binary","AuditEvent.entity.detail.valueString":"string","AuditEvent.entity.extension":"Extension","AuditEvent.entity.id":"System.String","AuditEvent.entity.lifecycle":"Coding","AuditEvent.entity.modifierExtension":"Extension","AuditEvent.entity.name":"string","AuditEvent.entity.query":"base64Binary","AuditEvent.entity.role":"Coding","AuditEvent.entity.securityLabel":"Coding","AuditEvent.entity.type":"Coding","AuditEvent.entity.what":"Reference","AuditEvent.extension":"Extension","AuditEvent.id":"System.String","AuditEvent.implicitRules":"uri","AuditEvent.language":"code","AuditEvent.meta":"Meta","AuditEvent.modifierExtension":"Extension","AuditEvent.outcome":"code","AuditEvent.outcomeDesc":"string","AuditEvent.period":"Period","AuditEvent.purposeOfEvent":"CodeableConcept","AuditEvent.recorded":"instant","AuditEvent.source.extension":"Extension","AuditEvent.source.id":"System.String","AuditEvent.source.modifierExtension":"Extension","AuditEvent.source.observer":"Reference","AuditEvent.source.site":"string","AuditEvent.source.type":"Coding","AuditEvent.subtype":"Coding","AuditEvent.text":"Narrative","AuditEvent.type":"Coding","BackboneElement.extension":"Extension","BackboneElement.id":"System.String","BackboneElement.modifierExtension":"Extension","Basic.author":"Reference","Basic.code":"CodeableConcept","Basic.contained":"Resource","Basic.created":"date","Basic.extension":"Extension","Basic.id":"System.String","Basic.identifier":"Identifier","Basic.implicitRules":"uri","Basic.language":"code","Basic.meta":"Meta","Basic.modifierExtension":"Extension","Basic.subject":"Reference","Basic.text":"Narrative","Binary.contentType":"code","Binary.data":"base64Binary","Binary.id":"System.String","Binary.implicitRules":"uri","Binary.language":"code","Binary.meta":"Meta","Binary.securityContext":"Reference","BiologicallyDerivedProduct.collection.collectedDateTime":"dateTime","BiologicallyDerivedProduct.collection.collectedPeriod":"Period","BiologicallyDerivedProduct.collection.collector":"Reference","BiologicallyDerivedProduct.collection.extension":"Extension","BiologicallyDerivedProduct.collection.id":"System.String","BiologicallyDerivedProduct.collection.modifierExtension":"Extension","BiologicallyDerivedProduct.collection.source":"Reference","BiologicallyDerivedProduct.contained":"Resource","BiologicallyDerivedProduct.extension":"Extension","BiologicallyDerivedProduct.id":"System.String","BiologicallyDerivedProduct.identifier":"Identifier","BiologicallyDerivedProduct.implicitRules":"uri","BiologicallyDerivedProduct.language":"code","BiologicallyDerivedProduct.manipulation.description":"string","BiologicallyDerivedProduct.manipulation.extension":"Extension","BiologicallyDerivedProduct.manipulation.id":"System.String","BiologicallyDerivedProduct.manipulation.modifierExtension":"Extension","BiologicallyDerivedProduct.manipulation.timeDateTime":"dateTime","BiologicallyDerivedProduct.manipulation.timePeriod":"Period","BiologicallyDerivedProduct.meta":"Meta","BiologicallyDerivedProduct.modifierExtension":"Extension","BiologicallyDerivedProduct.parent":"Reference","BiologicallyDerivedProduct.processing.additive":"Reference","BiologicallyDerivedProduct.processing.description":"string","BiologicallyDerivedProduct.processing.extension":"Extension","BiologicallyDerivedProduct.processing.id":"System.String","BiologicallyDerivedProduct.processing.modifierExtension":"Extension","BiologicallyDerivedProduct.processing.procedure":"CodeableConcept","BiologicallyDerivedProduct.processing.timeDateTime":"dateTime","BiologicallyDerivedProduct.processing.timePeriod":"Period","BiologicallyDerivedProduct.productCategory":"code","BiologicallyDerivedProduct.productCode":"CodeableConcept","BiologicallyDerivedProduct.quantity":"integer","BiologicallyDerivedProduct.request":"Reference","BiologicallyDerivedProduct.status":"code","BiologicallyDerivedProduct.storage.description":"string","BiologicallyDerivedProduct.storage.duration":"Period","BiologicallyDerivedProduct.storage.extension":"Extension","BiologicallyDerivedProduct.storage.id":"System.String","BiologicallyDerivedProduct.storage.modifierExtension":"Extension","BiologicallyDerivedProduct.storage.scale":"code","BiologicallyDerivedProduct.storage.temperature":"decimal","BiologicallyDerivedProduct.text":"Narrative","BodyStructure.active":"boolean","BodyStructure.contained":"Resource","BodyStructure.description":"string","BodyStructure.extension":"Extension","BodyStructure.id":"System.String","BodyStructure.identifier":"Identifier","BodyStructure.image":"Attachment","BodyStructure.implicitRules":"uri","BodyStructure.language":"code","BodyStructure.location":"CodeableConcept","BodyStructure.locationQualifier":"CodeableConcept","BodyStructure.meta":"Meta","BodyStructure.modifierExtension":"Extension","BodyStructure.morphology":"CodeableConcept","BodyStructure.patient":"Reference","BodyStructure.text":"Narrative","Bundle.entry.extension":"Extension","Bundle.entry.fullUrl":"uri","Bundle.entry.id":"System.String","Bundle.entry.modifierExtension":"Extension","Bundle.entry.request.extension":"Extension","Bundle.entry.request.id":"System.String","Bundle.entry.request.ifMatch":"string","Bundle.entry.request.ifModifiedSince":"instant","Bundle.entry.request.ifNoneExist":"string","Bundle.entry.request.ifNoneMatch":"string","Bundle.entry.request.method":"code","Bundle.entry.request.modifierExtension":"Extension","Bundle.entry.request.url":"uri","Bundle.entry.resource":"Resource","Bundle.entry.response.etag":"string","Bundle.entry.response.extension":"Extension","Bundle.entry.response.id":"System.String","Bundle.entry.response.lastModified":"instant","Bundle.entry.response.location":"uri","Bundle.entry.response.modifierExtension":"Extension","Bundle.entry.response.outcome":"Resource","Bundle.entry.response.status":"string","Bundle.entry.search.extension":"Extension","Bundle.entry.search.id":"System.String","Bundle.entry.search.mode":"code","Bundle.entry.search.modifierExtension":"Extension","Bundle.entry.search.score":"decimal","Bundle.id":"System.String","Bundle.identifier":"Identifier","Bundle.implicitRules":"uri","Bundle.language":"code","Bundle.link.extension":"Extension","Bundle.link.id":"System.String","Bundle.link.modifierExtension":"Extension","Bundle.link.relation":"string","Bundle.link.url":"uri","Bundle.meta":"Meta","Bundle.signature":"Signature","Bundle.timestamp":"instant","Bundle.total":"unsignedInt","Bundle.type":"code","CapabilityStatement.contact":"ContactDetail","CapabilityStatement.contained":"Resource","CapabilityStatement.copyright":"markdown","CapabilityStatement.date":"dateTime","CapabilityStatement.description":"markdown","CapabilityStatement.document.documentation":"markdown","CapabilityStatement.document.extension":"Extension","CapabilityStatement.document.id":"System.String","CapabilityStatement.document.mode":"code","CapabilityStatement.document.modifierExtension":"Extension","CapabilityStatement.document.profile":"canonical","CapabilityStatement.experimental":"boolean","CapabilityStatement.extension":"Extension","CapabilityStatement.fhirVersion":"code","CapabilityStatement.format":"code","CapabilityStatement.id":"System.String","CapabilityStatement.implementation.custodian":"Reference","CapabilityStatement.implementation.description":"string","CapabilityStatement.implementation.extension":"Extension","CapabilityStatement.implementation.id":"System.String","CapabilityStatement.implementation.modifierExtension":"Extension","CapabilityStatement.implementation.url":"url","CapabilityStatement.implementationGuide":"canonical","CapabilityStatement.implicitRules":"uri","CapabilityStatement.imports":"canonical","CapabilityStatement.instantiates":"canonical","CapabilityStatement.jurisdiction":"CodeableConcept","CapabilityStatement.kind":"code","CapabilityStatement.language":"code","CapabilityStatement.messaging.documentation":"markdown","CapabilityStatement.messaging.endpoint.address":"url","CapabilityStatement.messaging.endpoint.extension":"Extension","CapabilityStatement.messaging.endpoint.id":"System.String","CapabilityStatement.messaging.endpoint.modifierExtension":"Extension","CapabilityStatement.messaging.endpoint.protocol":"Coding","CapabilityStatement.messaging.extension":"Extension","CapabilityStatement.messaging.id":"System.String","CapabilityStatement.messaging.modifierExtension":"Extension","CapabilityStatement.messaging.reliableCache":"unsignedInt","CapabilityStatement.messaging.supportedMessage.definition":"canonical","CapabilityStatement.messaging.supportedMessage.extension":"Extension","CapabilityStatement.messaging.supportedMessage.id":"System.String","CapabilityStatement.messaging.supportedMessage.mode":"code","CapabilityStatement.messaging.supportedMessage.modifierExtension":"Extension","CapabilityStatement.meta":"Meta","CapabilityStatement.modifierExtension":"Extension","CapabilityStatement.name":"string","CapabilityStatement.patchFormat":"code","CapabilityStatement.publisher":"string","CapabilityStatement.purpose":"markdown","CapabilityStatement.rest.compartment":"canonical","CapabilityStatement.rest.documentation":"markdown","CapabilityStatement.rest.extension":"Extension","CapabilityStatement.rest.id":"System.String","CapabilityStatement.rest.interaction.code":"code","CapabilityStatement.rest.interaction.documentation":"markdown","CapabilityStatement.rest.interaction.extension":"Extension","CapabilityStatement.rest.interaction.id":"System.String","CapabilityStatement.rest.interaction.modifierExtension":"Extension","CapabilityStatement.rest.mode":"code","CapabilityStatement.rest.modifierExtension":"Extension","CapabilityStatement.rest.resource.conditionalCreate":"boolean","CapabilityStatement.rest.resource.conditionalDelete":"code","CapabilityStatement.rest.resource.conditionalRead":"code","CapabilityStatement.rest.resource.conditionalUpdate":"boolean","CapabilityStatement.rest.resource.documentation":"markdown","CapabilityStatement.rest.resource.extension":"Extension","CapabilityStatement.rest.resource.id":"System.String","CapabilityStatement.rest.resource.interaction.code":"code","CapabilityStatement.rest.resource.interaction.documentation":"markdown","CapabilityStatement.rest.resource.interaction.extension":"Extension","CapabilityStatement.rest.resource.interaction.id":"System.String","CapabilityStatement.rest.resource.interaction.modifierExtension":"Extension","CapabilityStatement.rest.resource.modifierExtension":"Extension","CapabilityStatement.rest.resource.operation.definition":"canonical","CapabilityStatement.rest.resource.operation.documentation":"markdown","CapabilityStatement.rest.resource.operation.extension":"Extension","CapabilityStatement.rest.resource.operation.id":"System.String","CapabilityStatement.rest.resource.operation.modifierExtension":"Extension","CapabilityStatement.rest.resource.operation.name":"string","CapabilityStatement.rest.resource.profile":"canonical","CapabilityStatement.rest.resource.readHistory":"boolean","CapabilityStatement.rest.resource.referencePolicy":"code","CapabilityStatement.rest.resource.searchInclude":"string","CapabilityStatement.rest.resource.searchParam.definition":"canonical","CapabilityStatement.rest.resource.searchParam.documentation":"markdown","CapabilityStatement.rest.resource.searchParam.extension":"Extension","CapabilityStatement.rest.resource.searchParam.id":"System.String","CapabilityStatement.rest.resource.searchParam.modifierExtension":"Extension","CapabilityStatement.rest.resource.searchParam.name":"string","CapabilityStatement.rest.resource.searchParam.type":"code","CapabilityStatement.rest.resource.searchRevInclude":"string","CapabilityStatement.rest.resource.supportedProfile":"canonical","CapabilityStatement.rest.resource.type":"code","CapabilityStatement.rest.resource.updateCreate":"boolean","CapabilityStatement.rest.resource.versioning":"code","CapabilityStatement.rest.security.cors":"boolean","CapabilityStatement.rest.security.description":"markdown","CapabilityStatement.rest.security.extension":"Extension","CapabilityStatement.rest.security.id":"System.String","CapabilityStatement.rest.security.modifierExtension":"Extension","CapabilityStatement.rest.security.service":"CodeableConcept","CapabilityStatement.software.extension":"Extension","CapabilityStatement.software.id":"System.String","CapabilityStatement.software.modifierExtension":"Extension","CapabilityStatement.software.name":"string","CapabilityStatement.software.releaseDate":"dateTime","CapabilityStatement.software.version":"string","CapabilityStatement.status":"code","CapabilityStatement.text":"Narrative","CapabilityStatement.title":"string","CapabilityStatement.url":"uri","CapabilityStatement.useContext":"UsageContext","CapabilityStatement.version":"string","CarePlan.activity.detail.code":"CodeableConcept","CarePlan.activity.detail.dailyAmount":"Quantity","CarePlan.activity.detail.description":"string","CarePlan.activity.detail.doNotPerform":"boolean","CarePlan.activity.detail.extension":"Extension","CarePlan.activity.detail.goal":"Reference","CarePlan.activity.detail.id":"System.String","CarePlan.activity.detail.instantiatesCanonical":"canonical","CarePlan.activity.detail.instantiatesUri":"uri","CarePlan.activity.detail.kind":"code","CarePlan.activity.detail.location":"Reference","CarePlan.activity.detail.modifierExtension":"Extension","CarePlan.activity.detail.performer":"Reference","CarePlan.activity.detail.productCodeableConcept":"CodeableConcept","CarePlan.activity.detail.productReference":"Reference","CarePlan.activity.detail.quantity":"Quantity","CarePlan.activity.detail.reasonCode":"CodeableConcept","CarePlan.activity.detail.reasonReference":"Reference","CarePlan.activity.detail.scheduledPeriod":"Period","CarePlan.activity.detail.scheduledString":"string","CarePlan.activity.detail.scheduledTiming":"Timing","CarePlan.activity.detail.status":"code","CarePlan.activity.detail.statusReason":"CodeableConcept","CarePlan.activity.extension":"Extension","CarePlan.activity.id":"System.String","CarePlan.activity.modifierExtension":"Extension","CarePlan.activity.outcomeCodeableConcept":"CodeableConcept","CarePlan.activity.outcomeReference":"Reference","CarePlan.activity.progress":"Annotation","CarePlan.activity.reference":"Reference","CarePlan.addresses":"Reference","CarePlan.author":"Reference","CarePlan.basedOn":"Reference","CarePlan.careTeam":"Reference","CarePlan.category":"CodeableConcept","CarePlan.contained":"Resource","CarePlan.contributor":"Reference","CarePlan.created":"dateTime","CarePlan.description":"string","CarePlan.encounter":"Reference","CarePlan.extension":"Extension","CarePlan.goal":"Reference","CarePlan.id":"System.String","CarePlan.identifier":"Identifier","CarePlan.implicitRules":"uri","CarePlan.instantiatesCanonical":"canonical","CarePlan.instantiatesUri":"uri","CarePlan.intent":"code","CarePlan.language":"code","CarePlan.meta":"Meta","CarePlan.modifierExtension":"Extension","CarePlan.note":"Annotation","CarePlan.partOf":"Reference","CarePlan.period":"Period","CarePlan.replaces":"Reference","CarePlan.status":"code","CarePlan.subject":"Reference","CarePlan.supportingInfo":"Reference","CarePlan.text":"Narrative","CarePlan.title":"string","CareTeam.category":"CodeableConcept","CareTeam.contained":"Resource","CareTeam.encounter":"Reference","CareTeam.extension":"Extension","CareTeam.id":"System.String","CareTeam.identifier":"Identifier","CareTeam.implicitRules":"uri","CareTeam.language":"code","CareTeam.managingOrganization":"Reference","CareTeam.meta":"Meta","CareTeam.modifierExtension":"Extension","CareTeam.name":"string","CareTeam.note":"Annotation","CareTeam.participant.extension":"Extension","CareTeam.participant.id":"System.String","CareTeam.participant.member":"Reference","CareTeam.participant.modifierExtension":"Extension","CareTeam.participant.onBehalfOf":"Reference","CareTeam.participant.period":"Period","CareTeam.participant.role":"CodeableConcept","CareTeam.period":"Period","CareTeam.reasonCode":"CodeableConcept","CareTeam.reasonReference":"Reference","CareTeam.status":"code","CareTeam.subject":"Reference","CareTeam.telecom":"ContactPoint","CareTeam.text":"Narrative","CatalogEntry.additionalCharacteristic":"CodeableConcept","CatalogEntry.additionalClassification":"CodeableConcept","CatalogEntry.additionalIdentifier":"Identifier","CatalogEntry.classification":"CodeableConcept","CatalogEntry.contained":"Resource","CatalogEntry.extension":"Extension","CatalogEntry.id":"System.String","CatalogEntry.identifier":"Identifier","CatalogEntry.implicitRules":"uri","CatalogEntry.language":"code","CatalogEntry.lastUpdated":"dateTime","CatalogEntry.meta":"Meta","CatalogEntry.modifierExtension":"Extension","CatalogEntry.orderable":"boolean","CatalogEntry.referencedItem":"Reference","CatalogEntry.relatedEntry.extension":"Extension","CatalogEntry.relatedEntry.id":"System.String","CatalogEntry.relatedEntry.item":"Reference","CatalogEntry.relatedEntry.modifierExtension":"Extension","CatalogEntry.relatedEntry.relationtype":"code","CatalogEntry.status":"code","CatalogEntry.text":"Narrative","CatalogEntry.type":"CodeableConcept","CatalogEntry.validTo":"dateTime","CatalogEntry.validityPeriod":"Period","ChargeItem.account":"Reference","ChargeItem.bodysite":"CodeableConcept","ChargeItem.code":"CodeableConcept","ChargeItem.contained":"Resource","ChargeItem.context":"Reference","ChargeItem.costCenter":"Reference","ChargeItem.definitionCanonical":"canonical","ChargeItem.definitionUri":"uri","ChargeItem.enteredDate":"dateTime","ChargeItem.enterer":"Reference","ChargeItem.extension":"Extension","ChargeItem.factorOverride":"decimal","ChargeItem.id":"System.String","ChargeItem.identifier":"Identifier","ChargeItem.implicitRules":"uri","ChargeItem.language":"code","ChargeItem.meta":"Meta","ChargeItem.modifierExtension":"Extension","ChargeItem.note":"Annotation","ChargeItem.occurrenceDateTime":"dateTime","ChargeItem.occurrencePeriod":"Period","ChargeItem.occurrenceTiming":"Timing","ChargeItem.overrideReason":"string","ChargeItem.partOf":"Reference","ChargeItem.performer.actor":"Reference","ChargeItem.performer.extension":"Extension","ChargeItem.performer.function":"CodeableConcept","ChargeItem.performer.id":"System.String","ChargeItem.performer.modifierExtension":"Extension","ChargeItem.performingOrganization":"Reference","ChargeItem.priceOverride":"Money","ChargeItem.productCodeableConcept":"CodeableConcept","ChargeItem.productReference":"Reference","ChargeItem.quantity":"Quantity","ChargeItem.reason":"CodeableConcept","ChargeItem.requestingOrganization":"Reference","ChargeItem.service":"Reference","ChargeItem.status":"code","ChargeItem.subject":"Reference","ChargeItem.supportingInformation":"Reference","ChargeItem.text":"Narrative","ChargeItemDefinition.applicability.description":"string","ChargeItemDefinition.applicability.expression":"string","ChargeItemDefinition.applicability.extension":"Extension","ChargeItemDefinition.applicability.id":"System.String","ChargeItemDefinition.applicability.language":"string","ChargeItemDefinition.applicability.modifierExtension":"Extension","ChargeItemDefinition.approvalDate":"date","ChargeItemDefinition.code":"CodeableConcept","ChargeItemDefinition.contact":"ContactDetail","ChargeItemDefinition.contained":"Resource","ChargeItemDefinition.copyright":"markdown","ChargeItemDefinition.date":"dateTime","ChargeItemDefinition.derivedFromUri":"uri","ChargeItemDefinition.description":"markdown","ChargeItemDefinition.effectivePeriod":"Period","ChargeItemDefinition.experimental":"boolean","ChargeItemDefinition.extension":"Extension","ChargeItemDefinition.id":"System.String","ChargeItemDefinition.identifier":"Identifier","ChargeItemDefinition.implicitRules":"uri","ChargeItemDefinition.instance":"Reference","ChargeItemDefinition.jurisdiction":"CodeableConcept","ChargeItemDefinition.language":"code","ChargeItemDefinition.lastReviewDate":"date","ChargeItemDefinition.meta":"Meta","ChargeItemDefinition.modifierExtension":"Extension","ChargeItemDefinition.partOf":"canonical","ChargeItemDefinition.propertyGroup.extension":"Extension","ChargeItemDefinition.propertyGroup.id":"System.String","ChargeItemDefinition.propertyGroup.modifierExtension":"Extension","ChargeItemDefinition.propertyGroup.priceComponent.amount":"Money","ChargeItemDefinition.propertyGroup.priceComponent.code":"CodeableConcept","ChargeItemDefinition.propertyGroup.priceComponent.extension":"Extension","ChargeItemDefinition.propertyGroup.priceComponent.factor":"decimal","ChargeItemDefinition.propertyGroup.priceComponent.id":"System.String","ChargeItemDefinition.propertyGroup.priceComponent.modifierExtension":"Extension","ChargeItemDefinition.propertyGroup.priceComponent.type":"code","ChargeItemDefinition.publisher":"string","ChargeItemDefinition.replaces":"canonical","ChargeItemDefinition.status":"code","ChargeItemDefinition.text":"Narrative","ChargeItemDefinition.title":"string","ChargeItemDefinition.url":"uri","ChargeItemDefinition.useContext":"UsageContext","ChargeItemDefinition.version":"string","Claim.accident.date":"date","Claim.accident.extension":"Extension","Claim.accident.id":"System.String","Claim.accident.locationAddress":"Address","Claim.accident.locationReference":"Reference","Claim.accident.modifierExtension":"Extension","Claim.accident.type":"CodeableConcept","Claim.billablePeriod":"Period","Claim.careTeam.extension":"Extension","Claim.careTeam.id":"System.String","Claim.careTeam.modifierExtension":"Extension","Claim.careTeam.provider":"Reference","Claim.careTeam.qualification":"CodeableConcept","Claim.careTeam.responsible":"boolean","Claim.careTeam.role":"CodeableConcept","Claim.careTeam.sequence":"positiveInt","Claim.contained":"Resource","Claim.created":"dateTime","Claim.diagnosis.diagnosisCodeableConcept":"CodeableConcept","Claim.diagnosis.diagnosisReference":"Reference","Claim.diagnosis.extension":"Extension","Claim.diagnosis.id":"System.String","Claim.diagnosis.modifierExtension":"Extension","Claim.diagnosis.onAdmission":"CodeableConcept","Claim.diagnosis.packageCode":"CodeableConcept","Claim.diagnosis.sequence":"positiveInt","Claim.diagnosis.type":"CodeableConcept","Claim.enterer":"Reference","Claim.extension":"Extension","Claim.facility":"Reference","Claim.fundsReserve":"CodeableConcept","Claim.id":"System.String","Claim.identifier":"Identifier","Claim.implicitRules":"uri","Claim.insurance.businessArrangement":"string","Claim.insurance.claimResponse":"Reference","Claim.insurance.coverage":"Reference","Claim.insurance.extension":"Extension","Claim.insurance.focal":"boolean","Claim.insurance.id":"System.String","Claim.insurance.identifier":"Identifier","Claim.insurance.modifierExtension":"Extension","Claim.insurance.preAuthRef":"string","Claim.insurance.sequence":"positiveInt","Claim.insurer":"Reference","Claim.item.bodySite":"CodeableConcept","Claim.item.careTeamSequence":"positiveInt","Claim.item.category":"CodeableConcept","Claim.item.detail.category":"CodeableConcept","Claim.item.detail.extension":"Extension","Claim.item.detail.factor":"decimal","Claim.item.detail.id":"System.String","Claim.item.detail.modifier":"CodeableConcept","Claim.item.detail.modifierExtension":"Extension","Claim.item.detail.net":"Money","Claim.item.detail.productOrService":"CodeableConcept","Claim.item.detail.programCode":"CodeableConcept","Claim.item.detail.quantity":"Quantity","Claim.item.detail.revenue":"CodeableConcept","Claim.item.detail.sequence":"positiveInt","Claim.item.detail.subDetail.category":"CodeableConcept","Claim.item.detail.subDetail.extension":"Extension","Claim.item.detail.subDetail.factor":"decimal","Claim.item.detail.subDetail.id":"System.String","Claim.item.detail.subDetail.modifier":"CodeableConcept","Claim.item.detail.subDetail.modifierExtension":"Extension","Claim.item.detail.subDetail.net":"Money","Claim.item.detail.subDetail.productOrService":"CodeableConcept","Claim.item.detail.subDetail.programCode":"CodeableConcept","Claim.item.detail.subDetail.quantity":"Quantity","Claim.item.detail.subDetail.revenue":"CodeableConcept","Claim.item.detail.subDetail.sequence":"positiveInt","Claim.item.detail.subDetail.udi":"Reference","Claim.item.detail.subDetail.unitPrice":"Money","Claim.item.detail.udi":"Reference","Claim.item.detail.unitPrice":"Money","Claim.item.diagnosisSequence":"positiveInt","Claim.item.encounter":"Reference","Claim.item.extension":"Extension","Claim.item.factor":"decimal","Claim.item.id":"System.String","Claim.item.informationSequence":"positiveInt","Claim.item.locationAddress":"Address","Claim.item.locationCodeableConcept":"CodeableConcept","Claim.item.locationReference":"Reference","Claim.item.modifier":"CodeableConcept","Claim.item.modifierExtension":"Extension","Claim.item.net":"Money","Claim.item.procedureSequence":"positiveInt","Claim.item.productOrService":"CodeableConcept","Claim.item.programCode":"CodeableConcept","Claim.item.quantity":"Quantity","Claim.item.revenue":"CodeableConcept","Claim.item.sequence":"positiveInt","Claim.item.servicedDate":"date","Claim.item.servicedPeriod":"Period","Claim.item.subSite":"CodeableConcept","Claim.item.udi":"Reference","Claim.item.unitPrice":"Money","Claim.language":"code","Claim.meta":"Meta","Claim.modifierExtension":"Extension","Claim.originalPrescription":"Reference","Claim.patient":"Reference","Claim.payee.extension":"Extension","Claim.payee.id":"System.String","Claim.payee.modifierExtension":"Extension","Claim.payee.party":"Reference","Claim.payee.type":"CodeableConcept","Claim.prescription":"Reference","Claim.priority":"CodeableConcept","Claim.procedure.date":"dateTime","Claim.procedure.extension":"Extension","Claim.procedure.id":"System.String","Claim.procedure.modifierExtension":"Extension","Claim.procedure.procedureCodeableConcept":"CodeableConcept","Claim.procedure.procedureReference":"Reference","Claim.procedure.sequence":"positiveInt","Claim.procedure.type":"CodeableConcept","Claim.procedure.udi":"Reference","Claim.provider":"Reference","Claim.referral":"Reference","Claim.related.claim":"Reference","Claim.related.extension":"Extension","Claim.related.id":"System.String","Claim.related.modifierExtension":"Extension","Claim.related.reference":"Identifier","Claim.related.relationship":"CodeableConcept","Claim.status":"code","Claim.subType":"CodeableConcept","Claim.supportingInfo.category":"CodeableConcept","Claim.supportingInfo.code":"CodeableConcept","Claim.supportingInfo.extension":"Extension","Claim.supportingInfo.id":"System.String","Claim.supportingInfo.modifierExtension":"Extension","Claim.supportingInfo.reason":"CodeableConcept","Claim.supportingInfo.sequence":"positiveInt","Claim.supportingInfo.timingDate":"date","Claim.supportingInfo.timingPeriod":"Period","Claim.supportingInfo.valueAttachment":"Attachment","Claim.supportingInfo.valueBoolean":"boolean","Claim.supportingInfo.valueQuantity":"Quantity","Claim.supportingInfo.valueReference":"Reference","Claim.supportingInfo.valueString":"string","Claim.text":"Narrative","Claim.total":"Money","Claim.type":"CodeableConcept","Claim.use":"code","ClaimResponse.addItem.bodySite":"CodeableConcept","ClaimResponse.addItem.detail.extension":"Extension","ClaimResponse.addItem.detail.factor":"decimal","ClaimResponse.addItem.detail.id":"System.String","ClaimResponse.addItem.detail.modifier":"CodeableConcept","ClaimResponse.addItem.detail.modifierExtension":"Extension","ClaimResponse.addItem.detail.net":"Money","ClaimResponse.addItem.detail.noteNumber":"positiveInt","ClaimResponse.addItem.detail.productOrService":"CodeableConcept","ClaimResponse.addItem.detail.quantity":"Quantity","ClaimResponse.addItem.detail.subDetail.extension":"Extension","ClaimResponse.addItem.detail.subDetail.factor":"decimal","ClaimResponse.addItem.detail.subDetail.id":"System.String","ClaimResponse.addItem.detail.subDetail.modifier":"CodeableConcept","ClaimResponse.addItem.detail.subDetail.modifierExtension":"Extension","ClaimResponse.addItem.detail.subDetail.net":"Money","ClaimResponse.addItem.detail.subDetail.noteNumber":"positiveInt","ClaimResponse.addItem.detail.subDetail.productOrService":"CodeableConcept","ClaimResponse.addItem.detail.subDetail.quantity":"Quantity","ClaimResponse.addItem.detail.subDetail.unitPrice":"Money","ClaimResponse.addItem.detail.unitPrice":"Money","ClaimResponse.addItem.detailSequence":"positiveInt","ClaimResponse.addItem.extension":"Extension","ClaimResponse.addItem.factor":"decimal","ClaimResponse.addItem.id":"System.String","ClaimResponse.addItem.itemSequence":"positiveInt","ClaimResponse.addItem.locationAddress":"Address","ClaimResponse.addItem.locationCodeableConcept":"CodeableConcept","ClaimResponse.addItem.locationReference":"Reference","ClaimResponse.addItem.modifier":"CodeableConcept","ClaimResponse.addItem.modifierExtension":"Extension","ClaimResponse.addItem.net":"Money","ClaimResponse.addItem.noteNumber":"positiveInt","ClaimResponse.addItem.productOrService":"CodeableConcept","ClaimResponse.addItem.programCode":"CodeableConcept","ClaimResponse.addItem.provider":"Reference","ClaimResponse.addItem.quantity":"Quantity","ClaimResponse.addItem.servicedDate":"date","ClaimResponse.addItem.servicedPeriod":"Period","ClaimResponse.addItem.subSite":"CodeableConcept","ClaimResponse.addItem.subdetailSequence":"positiveInt","ClaimResponse.addItem.unitPrice":"Money","ClaimResponse.communicationRequest":"Reference","ClaimResponse.contained":"Resource","ClaimResponse.created":"dateTime","ClaimResponse.disposition":"string","ClaimResponse.error.code":"CodeableConcept","ClaimResponse.error.detailSequence":"positiveInt","ClaimResponse.error.extension":"Extension","ClaimResponse.error.id":"System.String","ClaimResponse.error.itemSequence":"positiveInt","ClaimResponse.error.modifierExtension":"Extension","ClaimResponse.error.subDetailSequence":"positiveInt","ClaimResponse.extension":"Extension","ClaimResponse.form":"Attachment","ClaimResponse.formCode":"CodeableConcept","ClaimResponse.fundsReserve":"CodeableConcept","ClaimResponse.id":"System.String","ClaimResponse.identifier":"Identifier","ClaimResponse.implicitRules":"uri","ClaimResponse.insurance.businessArrangement":"string","ClaimResponse.insurance.claimResponse":"Reference","ClaimResponse.insurance.coverage":"Reference","ClaimResponse.insurance.extension":"Extension","ClaimResponse.insurance.focal":"boolean","ClaimResponse.insurance.id":"System.String","ClaimResponse.insurance.modifierExtension":"Extension","ClaimResponse.insurance.sequence":"positiveInt","ClaimResponse.insurer":"Reference","ClaimResponse.item.adjudication.amount":"Money","ClaimResponse.item.adjudication.category":"CodeableConcept","ClaimResponse.item.adjudication.extension":"Extension","ClaimResponse.item.adjudication.id":"System.String","ClaimResponse.item.adjudication.modifierExtension":"Extension","ClaimResponse.item.adjudication.reason":"CodeableConcept","ClaimResponse.item.adjudication.value":"decimal","ClaimResponse.item.detail.detailSequence":"positiveInt","ClaimResponse.item.detail.extension":"Extension","ClaimResponse.item.detail.id":"System.String","ClaimResponse.item.detail.modifierExtension":"Extension","ClaimResponse.item.detail.noteNumber":"positiveInt","ClaimResponse.item.detail.subDetail.extension":"Extension","ClaimResponse.item.detail.subDetail.id":"System.String","ClaimResponse.item.detail.subDetail.modifierExtension":"Extension","ClaimResponse.item.detail.subDetail.noteNumber":"positiveInt","ClaimResponse.item.detail.subDetail.subDetailSequence":"positiveInt","ClaimResponse.item.extension":"Extension","ClaimResponse.item.id":"System.String","ClaimResponse.item.itemSequence":"positiveInt","ClaimResponse.item.modifierExtension":"Extension","ClaimResponse.item.noteNumber":"positiveInt","ClaimResponse.language":"code","ClaimResponse.meta":"Meta","ClaimResponse.modifierExtension":"Extension","ClaimResponse.outcome":"code","ClaimResponse.patient":"Reference","ClaimResponse.payeeType":"CodeableConcept","ClaimResponse.payment.adjustment":"Money","ClaimResponse.payment.adjustmentReason":"CodeableConcept","ClaimResponse.payment.amount":"Money","ClaimResponse.payment.date":"date","ClaimResponse.payment.extension":"Extension","ClaimResponse.payment.id":"System.String","ClaimResponse.payment.identifier":"Identifier","ClaimResponse.payment.modifierExtension":"Extension","ClaimResponse.payment.type":"CodeableConcept","ClaimResponse.preAuthPeriod":"Period","ClaimResponse.preAuthRef":"string","ClaimResponse.processNote.extension":"Extension","ClaimResponse.processNote.id":"System.String","ClaimResponse.processNote.language":"CodeableConcept","ClaimResponse.processNote.modifierExtension":"Extension","ClaimResponse.processNote.number":"positiveInt","ClaimResponse.processNote.text":"string","ClaimResponse.processNote.type":"code","ClaimResponse.request":"Reference","ClaimResponse.requestor":"Reference","ClaimResponse.status":"code","ClaimResponse.subType":"CodeableConcept","ClaimResponse.text":"Narrative","ClaimResponse.total.amount":"Money","ClaimResponse.total.category":"CodeableConcept","ClaimResponse.total.extension":"Extension","ClaimResponse.total.id":"System.String","ClaimResponse.total.modifierExtension":"Extension","ClaimResponse.type":"CodeableConcept","ClaimResponse.use":"code","ClinicalImpression.assessor":"Reference","ClinicalImpression.code":"CodeableConcept","ClinicalImpression.contained":"Resource","ClinicalImpression.date":"dateTime","ClinicalImpression.description":"string","ClinicalImpression.effectiveDateTime":"dateTime","ClinicalImpression.effectivePeriod":"Period","ClinicalImpression.encounter":"Reference","ClinicalImpression.extension":"Extension","ClinicalImpression.finding.basis":"string","ClinicalImpression.finding.extension":"Extension","ClinicalImpression.finding.id":"System.String","ClinicalImpression.finding.itemCodeableConcept":"CodeableConcept","ClinicalImpression.finding.itemReference":"Reference","ClinicalImpression.finding.modifierExtension":"Extension","ClinicalImpression.id":"System.String","ClinicalImpression.identifier":"Identifier","ClinicalImpression.implicitRules":"uri","ClinicalImpression.investigation.code":"CodeableConcept","ClinicalImpression.investigation.extension":"Extension","ClinicalImpression.investigation.id":"System.String","ClinicalImpression.investigation.item":"Reference","ClinicalImpression.investigation.modifierExtension":"Extension","ClinicalImpression.language":"code","ClinicalImpression.meta":"Meta","ClinicalImpression.modifierExtension":"Extension","ClinicalImpression.note":"Annotation","ClinicalImpression.previous":"Reference","ClinicalImpression.problem":"Reference","ClinicalImpression.prognosisCodeableConcept":"CodeableConcept","ClinicalImpression.prognosisReference":"Reference","ClinicalImpression.protocol":"uri","ClinicalImpression.status":"code","ClinicalImpression.statusReason":"CodeableConcept","ClinicalImpression.subject":"Reference","ClinicalImpression.summary":"string","ClinicalImpression.supportingInfo":"Reference","ClinicalImpression.text":"Narrative","CodeSystem.caseSensitive":"boolean","CodeSystem.compositional":"boolean","CodeSystem.concept.code":"code","CodeSystem.concept.definition":"string","CodeSystem.concept.designation.extension":"Extension","CodeSystem.concept.designation.id":"System.String","CodeSystem.concept.designation.language":"code","CodeSystem.concept.designation.modifierExtension":"Extension","CodeSystem.concept.designation.use":"Coding","CodeSystem.concept.designation.value":"string","CodeSystem.concept.display":"string","CodeSystem.concept.extension":"Extension","CodeSystem.concept.id":"System.String","CodeSystem.concept.modifierExtension":"Extension","CodeSystem.concept.property.code":"code","CodeSystem.concept.property.extension":"Extension","CodeSystem.concept.property.id":"System.String","CodeSystem.concept.property.modifierExtension":"Extension","CodeSystem.concept.property.valueBoolean":"boolean","CodeSystem.concept.property.valueCode":"code","CodeSystem.concept.property.valueCoding":"Coding","CodeSystem.concept.property.valueDateTime":"dateTime","CodeSystem.concept.property.valueDecimal":"decimal","CodeSystem.concept.property.valueInteger":"integer","CodeSystem.concept.property.valueString":"string","CodeSystem.contact":"ContactDetail","CodeSystem.contained":"Resource","CodeSystem.content":"code","CodeSystem.copyright":"markdown","CodeSystem.count":"unsignedInt","CodeSystem.date":"dateTime","CodeSystem.description":"markdown","CodeSystem.experimental":"boolean","CodeSystem.extension":"Extension","CodeSystem.filter.code":"code","CodeSystem.filter.description":"string","CodeSystem.filter.extension":"Extension","CodeSystem.filter.id":"System.String","CodeSystem.filter.modifierExtension":"Extension","CodeSystem.filter.operator":"code","CodeSystem.filter.value":"string","CodeSystem.hierarchyMeaning":"code","CodeSystem.id":"System.String","CodeSystem.identifier":"Identifier","CodeSystem.implicitRules":"uri","CodeSystem.jurisdiction":"CodeableConcept","CodeSystem.language":"code","CodeSystem.meta":"Meta","CodeSystem.modifierExtension":"Extension","CodeSystem.name":"string","CodeSystem.property.code":"code","CodeSystem.property.description":"string","CodeSystem.property.extension":"Extension","CodeSystem.property.id":"System.String","CodeSystem.property.modifierExtension":"Extension","CodeSystem.property.type":"code","CodeSystem.property.uri":"uri","CodeSystem.publisher":"string","CodeSystem.purpose":"markdown","CodeSystem.status":"code","CodeSystem.supplements":"canonical","CodeSystem.text":"Narrative","CodeSystem.title":"string","CodeSystem.url":"uri","CodeSystem.useContext":"UsageContext","CodeSystem.valueSet":"canonical","CodeSystem.version":"string","CodeSystem.versionNeeded":"boolean","CodeableConcept.coding":"Coding","CodeableConcept.extension":"Extension","CodeableConcept.id":"System.String","CodeableConcept.text":"string","Coding.code":"code","Coding.display":"string","Coding.extension":"Extension","Coding.id":"System.String","Coding.system":"uri","Coding.userSelected":"boolean","Coding.version":"string","Communication.about":"Reference","Communication.basedOn":"Reference","Communication.category":"CodeableConcept","Communication.contained":"Resource","Communication.encounter":"Reference","Communication.extension":"Extension","Communication.id":"System.String","Communication.identifier":"Identifier","Communication.implicitRules":"uri","Communication.inResponseTo":"Reference","Communication.instantiatesCanonical":"canonical","Communication.instantiatesUri":"uri","Communication.language":"code","Communication.medium":"CodeableConcept","Communication.meta":"Meta","Communication.modifierExtension":"Extension","Communication.note":"Annotation","Communication.partOf":"Reference","Communication.payload.contentAttachment":"Attachment","Communication.payload.contentReference":"Reference","Communication.payload.contentString":"string","Communication.payload.extension":"Extension","Communication.payload.id":"System.String","Communication.payload.modifierExtension":"Extension","Communication.priority":"code","Communication.reasonCode":"CodeableConcept","Communication.reasonReference":"Reference","Communication.received":"dateTime","Communication.recipient":"Reference","Communication.sender":"Reference","Communication.sent":"dateTime","Communication.status":"code","Communication.statusReason":"CodeableConcept","Communication.subject":"Reference","Communication.text":"Narrative","Communication.topic":"CodeableConcept","CommunicationRequest.about":"Reference","CommunicationRequest.authoredOn":"dateTime","CommunicationRequest.basedOn":"Reference","CommunicationRequest.category":"CodeableConcept","CommunicationRequest.contained":"Resource","CommunicationRequest.doNotPerform":"boolean","CommunicationRequest.encounter":"Reference","CommunicationRequest.extension":"Extension","CommunicationRequest.groupIdentifier":"Identifier","CommunicationRequest.id":"System.String","CommunicationRequest.identifier":"Identifier","CommunicationRequest.implicitRules":"uri","CommunicationRequest.language":"code","CommunicationRequest.medium":"CodeableConcept","CommunicationRequest.meta":"Meta","CommunicationRequest.modifierExtension":"Extension","CommunicationRequest.note":"Annotation","CommunicationRequest.occurrenceDateTime":"dateTime","CommunicationRequest.occurrencePeriod":"Period","CommunicationRequest.payload.contentAttachment":"Attachment","CommunicationRequest.payload.contentReference":"Reference","CommunicationRequest.payload.contentString":"string","CommunicationRequest.payload.extension":"Extension","CommunicationRequest.payload.id":"System.String","CommunicationRequest.payload.modifierExtension":"Extension","CommunicationRequest.priority":"code","CommunicationRequest.reasonCode":"CodeableConcept","CommunicationRequest.reasonReference":"Reference","CommunicationRequest.recipient":"Reference","CommunicationRequest.replaces":"Reference","CommunicationRequest.requester":"Reference","CommunicationRequest.sender":"Reference","CommunicationRequest.status":"code","CommunicationRequest.statusReason":"CodeableConcept","CommunicationRequest.subject":"Reference","CommunicationRequest.text":"Narrative","CompartmentDefinition.code":"code","CompartmentDefinition.contact":"ContactDetail","CompartmentDefinition.contained":"Resource","CompartmentDefinition.date":"dateTime","CompartmentDefinition.description":"markdown","CompartmentDefinition.experimental":"boolean","CompartmentDefinition.extension":"Extension","CompartmentDefinition.id":"System.String","CompartmentDefinition.implicitRules":"uri","CompartmentDefinition.language":"code","CompartmentDefinition.meta":"Meta","CompartmentDefinition.modifierExtension":"Extension","CompartmentDefinition.name":"string","CompartmentDefinition.publisher":"string","CompartmentDefinition.purpose":"markdown","CompartmentDefinition.resource.code":"code","CompartmentDefinition.resource.documentation":"string","CompartmentDefinition.resource.extension":"Extension","CompartmentDefinition.resource.id":"System.String","CompartmentDefinition.resource.modifierExtension":"Extension","CompartmentDefinition.resource.param":"string","CompartmentDefinition.search":"boolean","CompartmentDefinition.status":"code","CompartmentDefinition.text":"Narrative","CompartmentDefinition.url":"uri","CompartmentDefinition.useContext":"UsageContext","CompartmentDefinition.version":"string","Composition.attester.extension":"Extension","Composition.attester.id":"System.String","Composition.attester.mode":"code","Composition.attester.modifierExtension":"Extension","Composition.attester.party":"Reference","Composition.attester.time":"dateTime","Composition.author":"Reference","Composition.category":"CodeableConcept","Composition.confidentiality":"code","Composition.contained":"Resource","Composition.custodian":"Reference","Composition.date":"dateTime","Composition.encounter":"Reference","Composition.event.code":"CodeableConcept","Composition.event.detail":"Reference","Composition.event.extension":"Extension","Composition.event.id":"System.String","Composition.event.modifierExtension":"Extension","Composition.event.period":"Period","Composition.extension":"Extension","Composition.id":"System.String","Composition.identifier":"Identifier","Composition.implicitRules":"uri","Composition.language":"code","Composition.meta":"Meta","Composition.modifierExtension":"Extension","Composition.relatesTo.code":"code","Composition.relatesTo.extension":"Extension","Composition.relatesTo.id":"System.String","Composition.relatesTo.modifierExtension":"Extension","Composition.relatesTo.targetIdentifier":"Identifier","Composition.relatesTo.targetReference":"Reference","Composition.section.author":"Reference","Composition.section.code":"CodeableConcept","Composition.section.emptyReason":"CodeableConcept","Composition.section.entry":"Reference","Composition.section.extension":"Extension","Composition.section.focus":"Reference","Composition.section.id":"System.String","Composition.section.mode":"code","Composition.section.modifierExtension":"Extension","Composition.section.orderedBy":"CodeableConcept","Composition.section.text":"Narrative","Composition.section.title":"string","Composition.status":"code","Composition.subject":"Reference","Composition.text":"Narrative","Composition.title":"string","Composition.type":"CodeableConcept","ConceptMap.contact":"ContactDetail","ConceptMap.contained":"Resource","ConceptMap.copyright":"markdown","ConceptMap.date":"dateTime","ConceptMap.description":"markdown","ConceptMap.experimental":"boolean","ConceptMap.extension":"Extension","ConceptMap.group.element.code":"code","ConceptMap.group.element.display":"string","ConceptMap.group.element.extension":"Extension","ConceptMap.group.element.id":"System.String","ConceptMap.group.element.modifierExtension":"Extension","ConceptMap.group.element.target.code":"code","ConceptMap.group.element.target.comment":"string","ConceptMap.group.element.target.dependsOn.display":"string","ConceptMap.group.element.target.dependsOn.extension":"Extension","ConceptMap.group.element.target.dependsOn.id":"System.String","ConceptMap.group.element.target.dependsOn.modifierExtension":"Extension","ConceptMap.group.element.target.dependsOn.property":"uri","ConceptMap.group.element.target.dependsOn.system":"canonical","ConceptMap.group.element.target.dependsOn.value":"string","ConceptMap.group.element.target.display":"string","ConceptMap.group.element.target.equivalence":"code","ConceptMap.group.element.target.extension":"Extension","ConceptMap.group.element.target.id":"System.String","ConceptMap.group.element.target.modifierExtension":"Extension","ConceptMap.group.extension":"Extension","ConceptMap.group.id":"System.String","ConceptMap.group.modifierExtension":"Extension","ConceptMap.group.source":"uri","ConceptMap.group.sourceVersion":"string","ConceptMap.group.target":"uri","ConceptMap.group.targetVersion":"string","ConceptMap.group.unmapped.code":"code","ConceptMap.group.unmapped.display":"string","ConceptMap.group.unmapped.extension":"Extension","ConceptMap.group.unmapped.id":"System.String","ConceptMap.group.unmapped.mode":"code","ConceptMap.group.unmapped.modifierExtension":"Extension","ConceptMap.group.unmapped.url":"canonical","ConceptMap.id":"System.String","ConceptMap.identifier":"Identifier","ConceptMap.implicitRules":"uri","ConceptMap.jurisdiction":"CodeableConcept","ConceptMap.language":"code","ConceptMap.meta":"Meta","ConceptMap.modifierExtension":"Extension","ConceptMap.name":"string","ConceptMap.publisher":"string","ConceptMap.purpose":"markdown","ConceptMap.sourceCanonical":"canonical","ConceptMap.sourceUri":"uri","ConceptMap.status":"code","ConceptMap.targetCanonical":"canonical","ConceptMap.targetUri":"uri","ConceptMap.text":"Narrative","ConceptMap.title":"string","ConceptMap.url":"uri","ConceptMap.useContext":"UsageContext","ConceptMap.version":"string","Condition.abatementAge":"Age","Condition.abatementDateTime":"dateTime","Condition.abatementPeriod":"Period","Condition.abatementRange":"Range","Condition.abatementString":"string","Condition.asserter":"Reference","Condition.bodySite":"CodeableConcept","Condition.category":"CodeableConcept","Condition.clinicalStatus":"CodeableConcept","Condition.code":"CodeableConcept","Condition.contained":"Resource","Condition.encounter":"Reference","Condition.evidence.code":"CodeableConcept","Condition.evidence.detail":"Reference","Condition.evidence.extension":"Extension","Condition.evidence.id":"System.String","Condition.evidence.modifierExtension":"Extension","Condition.extension":"Extension","Condition.id":"System.String","Condition.identifier":"Identifier","Condition.implicitRules":"uri","Condition.language":"code","Condition.meta":"Meta","Condition.modifierExtension":"Extension","Condition.note":"Annotation","Condition.onsetAge":"Age","Condition.onsetDateTime":"dateTime","Condition.onsetPeriod":"Period","Condition.onsetRange":"Range","Condition.onsetString":"string","Condition.recordedDate":"dateTime","Condition.recorder":"Reference","Condition.severity":"CodeableConcept","Condition.stage.assessment":"Reference","Condition.stage.extension":"Extension","Condition.stage.id":"System.String","Condition.stage.modifierExtension":"Extension","Condition.stage.summary":"CodeableConcept","Condition.stage.type":"CodeableConcept","Condition.subject":"Reference","Condition.text":"Narrative","Condition.verificationStatus":"CodeableConcept","Consent.category":"CodeableConcept","Consent.contained":"Resource","Consent.dateTime":"dateTime","Consent.extension":"Extension","Consent.id":"System.String","Consent.identifier":"Identifier","Consent.implicitRules":"uri","Consent.language":"code","Consent.meta":"Meta","Consent.modifierExtension":"Extension","Consent.organization":"Reference","Consent.patient":"Reference","Consent.performer":"Reference","Consent.policy.authority":"uri","Consent.policy.extension":"Extension","Consent.policy.id":"System.String","Consent.policy.modifierExtension":"Extension","Consent.policy.uri":"uri","Consent.policyRule":"CodeableConcept","Consent.provision.action":"CodeableConcept","Consent.provision.actor.extension":"Extension","Consent.provision.actor.id":"System.String","Consent.provision.actor.modifierExtension":"Extension","Consent.provision.actor.reference":"Reference","Consent.provision.actor.role":"CodeableConcept","Consent.provision.class":"Coding","Consent.provision.code":"CodeableConcept","Consent.provision.data.extension":"Extension","Consent.provision.data.id":"System.String","Consent.provision.data.meaning":"code","Consent.provision.data.modifierExtension":"Extension","Consent.provision.data.reference":"Reference","Consent.provision.dataPeriod":"Period","Consent.provision.extension":"Extension","Consent.provision.id":"System.String","Consent.provision.modifierExtension":"Extension","Consent.provision.period":"Period","Consent.provision.purpose":"Coding","Consent.provision.securityLabel":"Coding","Consent.provision.type":"code","Consent.scope":"CodeableConcept","Consent.sourceAttachment":"Attachment","Consent.sourceReference":"Reference","Consent.status":"code","Consent.text":"Narrative","Consent.verification.extension":"Extension","Consent.verification.id":"System.String","Consent.verification.modifierExtension":"Extension","Consent.verification.verificationDate":"dateTime","Consent.verification.verified":"boolean","Consent.verification.verifiedWith":"Reference","ContactDetail.extension":"Extension","ContactDetail.id":"System.String","ContactDetail.name":"string","ContactDetail.telecom":"ContactPoint","ContactPoint.extension":"Extension","ContactPoint.id":"System.String","ContactPoint.period":"Period","ContactPoint.rank":"positiveInt","ContactPoint.system":"code","ContactPoint.use":"code","ContactPoint.value":"string","Contract.alias":"string","Contract.applies":"Period","Contract.author":"Reference","Contract.authority":"Reference","Contract.contained":"Resource","Contract.contentDefinition.copyright":"markdown","Contract.contentDefinition.extension":"Extension","Contract.contentDefinition.id":"System.String","Contract.contentDefinition.modifierExtension":"Extension","Contract.contentDefinition.publicationDate":"dateTime","Contract.contentDefinition.publicationStatus":"code","Contract.contentDefinition.publisher":"Reference","Contract.contentDefinition.subType":"CodeableConcept","Contract.contentDefinition.type":"CodeableConcept","Contract.contentDerivative":"CodeableConcept","Contract.domain":"Reference","Contract.expirationType":"CodeableConcept","Contract.extension":"Extension","Contract.friendly.contentAttachment":"Attachment","Contract.friendly.contentReference":"Reference","Contract.friendly.extension":"Extension","Contract.friendly.id":"System.String","Contract.friendly.modifierExtension":"Extension","Contract.id":"System.String","Contract.identifier":"Identifier","Contract.implicitRules":"uri","Contract.instantiatesCanonical":"Reference","Contract.instantiatesUri":"uri","Contract.issued":"dateTime","Contract.language":"code","Contract.legal.contentAttachment":"Attachment","Contract.legal.contentReference":"Reference","Contract.legal.extension":"Extension","Contract.legal.id":"System.String","Contract.legal.modifierExtension":"Extension","Contract.legalState":"CodeableConcept","Contract.legallyBindingAttachment":"Attachment","Contract.legallyBindingReference":"Reference","Contract.meta":"Meta","Contract.modifierExtension":"Extension","Contract.name":"string","Contract.relevantHistory":"Reference","Contract.rule.contentAttachment":"Attachment","Contract.rule.contentReference":"Reference","Contract.rule.extension":"Extension","Contract.rule.id":"System.String","Contract.rule.modifierExtension":"Extension","Contract.scope":"CodeableConcept","Contract.signer.extension":"Extension","Contract.signer.id":"System.String","Contract.signer.modifierExtension":"Extension","Contract.signer.party":"Reference","Contract.signer.signature":"Signature","Contract.signer.type":"Coding","Contract.site":"Reference","Contract.status":"code","Contract.subType":"CodeableConcept","Contract.subject":"Reference","Contract.subtitle":"string","Contract.supportingInfo":"Reference","Contract.term.action.context":"Reference","Contract.term.action.contextLinkId":"string","Contract.term.action.doNotPerform":"boolean","Contract.term.action.extension":"Extension","Contract.term.action.id":"System.String","Contract.term.action.intent":"CodeableConcept","Contract.term.action.linkId":"string","Contract.term.action.modifierExtension":"Extension","Contract.term.action.note":"Annotation","Contract.term.action.occurrenceDateTime":"dateTime","Contract.term.action.occurrencePeriod":"Period","Contract.term.action.occurrenceTiming":"Timing","Contract.term.action.performer":"Reference","Contract.term.action.performerLinkId":"string","Contract.term.action.performerRole":"CodeableConcept","Contract.term.action.performerType":"CodeableConcept","Contract.term.action.reason":"string","Contract.term.action.reasonCode":"CodeableConcept","Contract.term.action.reasonLinkId":"string","Contract.term.action.reasonReference":"Reference","Contract.term.action.requester":"Reference","Contract.term.action.requesterLinkId":"string","Contract.term.action.securityLabelNumber":"unsignedInt","Contract.term.action.status":"CodeableConcept","Contract.term.action.subject.extension":"Extension","Contract.term.action.subject.id":"System.String","Contract.term.action.subject.modifierExtension":"Extension","Contract.term.action.subject.reference":"Reference","Contract.term.action.subject.role":"CodeableConcept","Contract.term.action.type":"CodeableConcept","Contract.term.applies":"Period","Contract.term.asset.condition":"string","Contract.term.asset.context.code":"CodeableConcept","Contract.term.asset.context.extension":"Extension","Contract.term.asset.context.id":"System.String","Contract.term.asset.context.modifierExtension":"Extension","Contract.term.asset.context.reference":"Reference","Contract.term.asset.context.text":"string","Contract.term.asset.extension":"Extension","Contract.term.asset.id":"System.String","Contract.term.asset.linkId":"string","Contract.term.asset.modifierExtension":"Extension","Contract.term.asset.period":"Period","Contract.term.asset.periodType":"CodeableConcept","Contract.term.asset.relationship":"Coding","Contract.term.asset.scope":"CodeableConcept","Contract.term.asset.securityLabelNumber":"unsignedInt","Contract.term.asset.subtype":"CodeableConcept","Contract.term.asset.text":"string","Contract.term.asset.type":"CodeableConcept","Contract.term.asset.typeReference":"Reference","Contract.term.asset.usePeriod":"Period","Contract.term.asset.valuedItem.effectiveTime":"dateTime","Contract.term.asset.valuedItem.entityCodeableConcept":"CodeableConcept","Contract.term.asset.valuedItem.entityReference":"Reference","Contract.term.asset.valuedItem.extension":"Extension","Contract.term.asset.valuedItem.factor":"decimal","Contract.term.asset.valuedItem.id":"System.String","Contract.term.asset.valuedItem.identifier":"Identifier","Contract.term.asset.valuedItem.linkId":"string","Contract.term.asset.valuedItem.modifierExtension":"Extension","Contract.term.asset.valuedItem.net":"Money","Contract.term.asset.valuedItem.payment":"string","Contract.term.asset.valuedItem.paymentDate":"dateTime","Contract.term.asset.valuedItem.points":"decimal","Contract.term.asset.valuedItem.quantity":"Quantity","Contract.term.asset.valuedItem.recipient":"Reference","Contract.term.asset.valuedItem.responsible":"Reference","Contract.term.asset.valuedItem.securityLabelNumber":"unsignedInt","Contract.term.asset.valuedItem.unitPrice":"Money","Contract.term.extension":"Extension","Contract.term.id":"System.String","Contract.term.identifier":"Identifier","Contract.term.issued":"dateTime","Contract.term.modifierExtension":"Extension","Contract.term.offer.answer.extension":"Extension","Contract.term.offer.answer.id":"System.String","Contract.term.offer.answer.modifierExtension":"Extension","Contract.term.offer.answer.valueAttachment":"Attachment","Contract.term.offer.answer.valueBoolean":"boolean","Contract.term.offer.answer.valueCoding":"Coding","Contract.term.offer.answer.valueDate":"date","Contract.term.offer.answer.valueDateTime":"dateTime","Contract.term.offer.answer.valueDecimal":"decimal","Contract.term.offer.answer.valueInteger":"integer","Contract.term.offer.answer.valueQuantity":"Quantity","Contract.term.offer.answer.valueReference":"Reference","Contract.term.offer.answer.valueString":"string","Contract.term.offer.answer.valueTime":"time","Contract.term.offer.answer.valueUri":"uri","Contract.term.offer.decision":"CodeableConcept","Contract.term.offer.decisionMode":"CodeableConcept","Contract.term.offer.extension":"Extension","Contract.term.offer.id":"System.String","Contract.term.offer.identifier":"Identifier","Contract.term.offer.linkId":"string","Contract.term.offer.modifierExtension":"Extension","Contract.term.offer.party.extension":"Extension","Contract.term.offer.party.id":"System.String","Contract.term.offer.party.modifierExtension":"Extension","Contract.term.offer.party.reference":"Reference","Contract.term.offer.party.role":"CodeableConcept","Contract.term.offer.securityLabelNumber":"unsignedInt","Contract.term.offer.text":"string","Contract.term.offer.topic":"Reference","Contract.term.offer.type":"CodeableConcept","Contract.term.securityLabel.category":"Coding","Contract.term.securityLabel.classification":"Coding","Contract.term.securityLabel.control":"Coding","Contract.term.securityLabel.extension":"Extension","Contract.term.securityLabel.id":"System.String","Contract.term.securityLabel.modifierExtension":"Extension","Contract.term.securityLabel.number":"unsignedInt","Contract.term.subType":"CodeableConcept","Contract.term.text":"string","Contract.term.topicCodeableConcept":"CodeableConcept","Contract.term.topicReference":"Reference","Contract.term.type":"CodeableConcept","Contract.text":"Narrative","Contract.title":"string","Contract.topicCodeableConcept":"CodeableConcept","Contract.topicReference":"Reference","Contract.type":"CodeableConcept","Contract.url":"uri","Contract.version":"string","Contributor.contact":"ContactDetail","Contributor.extension":"Extension","Contributor.id":"System.String","Contributor.name":"string","Contributor.type":"code","Count.code":"code","Count.comparator":"code","Count.extension":"Extension","Count.id":"System.String","Count.system":"uri","Count.unit":"string","Count.value":"decimal","Coverage.beneficiary":"Reference","Coverage.class.extension":"Extension","Coverage.class.id":"System.String","Coverage.class.modifierExtension":"Extension","Coverage.class.name":"string","Coverage.class.type":"CodeableConcept","Coverage.class.value":"string","Coverage.contained":"Resource","Coverage.contract":"Reference","Coverage.costToBeneficiary.exception.extension":"Extension","Coverage.costToBeneficiary.exception.id":"System.String","Coverage.costToBeneficiary.exception.modifierExtension":"Extension","Coverage.costToBeneficiary.exception.period":"Period","Coverage.costToBeneficiary.exception.type":"CodeableConcept","Coverage.costToBeneficiary.extension":"Extension","Coverage.costToBeneficiary.id":"System.String","Coverage.costToBeneficiary.modifierExtension":"Extension","Coverage.costToBeneficiary.type":"CodeableConcept","Coverage.costToBeneficiary.valueMoney":"Money","Coverage.costToBeneficiary.valueQuantity":"Quantity","Coverage.dependent":"string","Coverage.extension":"Extension","Coverage.id":"System.String","Coverage.identifier":"Identifier","Coverage.implicitRules":"uri","Coverage.language":"code","Coverage.meta":"Meta","Coverage.modifierExtension":"Extension","Coverage.network":"string","Coverage.order":"positiveInt","Coverage.payor":"Reference","Coverage.period":"Period","Coverage.policyHolder":"Reference","Coverage.relationship":"CodeableConcept","Coverage.status":"code","Coverage.subrogation":"boolean","Coverage.subscriber":"Reference","Coverage.subscriberId":"string","Coverage.text":"Narrative","Coverage.type":"CodeableConcept","CoverageEligibilityRequest.contained":"Resource","CoverageEligibilityRequest.created":"dateTime","CoverageEligibilityRequest.enterer":"Reference","CoverageEligibilityRequest.extension":"Extension","CoverageEligibilityRequest.facility":"Reference","CoverageEligibilityRequest.id":"System.String","CoverageEligibilityRequest.identifier":"Identifier","CoverageEligibilityRequest.implicitRules":"uri","CoverageEligibilityRequest.insurance.businessArrangement":"string","CoverageEligibilityRequest.insurance.coverage":"Reference","CoverageEligibilityRequest.insurance.extension":"Extension","CoverageEligibilityRequest.insurance.focal":"boolean","CoverageEligibilityRequest.insurance.id":"System.String","CoverageEligibilityRequest.insurance.modifierExtension":"Extension","CoverageEligibilityRequest.insurer":"Reference","CoverageEligibilityRequest.item.category":"CodeableConcept","CoverageEligibilityRequest.item.detail":"Reference","CoverageEligibilityRequest.item.diagnosis.diagnosisCodeableConcept":"CodeableConcept","CoverageEligibilityRequest.item.diagnosis.diagnosisReference":"Reference","CoverageEligibilityRequest.item.diagnosis.extension":"Extension","CoverageEligibilityRequest.item.diagnosis.id":"System.String","CoverageEligibilityRequest.item.diagnosis.modifierExtension":"Extension","CoverageEligibilityRequest.item.extension":"Extension","CoverageEligibilityRequest.item.facility":"Reference","CoverageEligibilityRequest.item.id":"System.String","CoverageEligibilityRequest.item.modifier":"CodeableConcept","CoverageEligibilityRequest.item.modifierExtension":"Extension","CoverageEligibilityRequest.item.productOrService":"CodeableConcept","CoverageEligibilityRequest.item.provider":"Reference","CoverageEligibilityRequest.item.quantity":"Quantity","CoverageEligibilityRequest.item.supportingInfoSequence":"positiveInt","CoverageEligibilityRequest.item.unitPrice":"Money","CoverageEligibilityRequest.language":"code","CoverageEligibilityRequest.meta":"Meta","CoverageEligibilityRequest.modifierExtension":"Extension","CoverageEligibilityRequest.patient":"Reference","CoverageEligibilityRequest.priority":"CodeableConcept","CoverageEligibilityRequest.provider":"Reference","CoverageEligibilityRequest.purpose":"code","CoverageEligibilityRequest.servicedDate":"date","CoverageEligibilityRequest.servicedPeriod":"Period","CoverageEligibilityRequest.status":"code","CoverageEligibilityRequest.supportingInfo.appliesToAll":"boolean","CoverageEligibilityRequest.supportingInfo.extension":"Extension","CoverageEligibilityRequest.supportingInfo.id":"System.String","CoverageEligibilityRequest.supportingInfo.information":"Reference","CoverageEligibilityRequest.supportingInfo.modifierExtension":"Extension","CoverageEligibilityRequest.supportingInfo.sequence":"positiveInt","CoverageEligibilityRequest.text":"Narrative","CoverageEligibilityResponse.contained":"Resource","CoverageEligibilityResponse.created":"dateTime","CoverageEligibilityResponse.disposition":"string","CoverageEligibilityResponse.error.code":"CodeableConcept","CoverageEligibilityResponse.error.extension":"Extension","CoverageEligibilityResponse.error.id":"System.String","CoverageEligibilityResponse.error.modifierExtension":"Extension","CoverageEligibilityResponse.extension":"Extension","CoverageEligibilityResponse.form":"CodeableConcept","CoverageEligibilityResponse.id":"System.String","CoverageEligibilityResponse.identifier":"Identifier","CoverageEligibilityResponse.implicitRules":"uri","CoverageEligibilityResponse.insurance.benefitPeriod":"Period","CoverageEligibilityResponse.insurance.coverage":"Reference","CoverageEligibilityResponse.insurance.extension":"Extension","CoverageEligibilityResponse.insurance.id":"System.String","CoverageEligibilityResponse.insurance.inforce":"boolean","CoverageEligibilityResponse.insurance.item.authorizationRequired":"boolean","CoverageEligibilityResponse.insurance.item.authorizationSupporting":"CodeableConcept","CoverageEligibilityResponse.insurance.item.authorizationUrl":"uri","CoverageEligibilityResponse.insurance.item.benefit.allowedMoney":"Money","CoverageEligibilityResponse.insurance.item.benefit.allowedString":"string","CoverageEligibilityResponse.insurance.item.benefit.allowedUnsignedInt":"unsignedInt","CoverageEligibilityResponse.insurance.item.benefit.extension":"Extension","CoverageEligibilityResponse.insurance.item.benefit.id":"System.String","CoverageEligibilityResponse.insurance.item.benefit.modifierExtension":"Extension","CoverageEligibilityResponse.insurance.item.benefit.type":"CodeableConcept","CoverageEligibilityResponse.insurance.item.benefit.usedMoney":"Money","CoverageEligibilityResponse.insurance.item.benefit.usedString":"string","CoverageEligibilityResponse.insurance.item.benefit.usedUnsignedInt":"unsignedInt","CoverageEligibilityResponse.insurance.item.category":"CodeableConcept","CoverageEligibilityResponse.insurance.item.description":"string","CoverageEligibilityResponse.insurance.item.excluded":"boolean","CoverageEligibilityResponse.insurance.item.extension":"Extension","CoverageEligibilityResponse.insurance.item.id":"System.String","CoverageEligibilityResponse.insurance.item.modifier":"CodeableConcept","CoverageEligibilityResponse.insurance.item.modifierExtension":"Extension","CoverageEligibilityResponse.insurance.item.name":"string","CoverageEligibilityResponse.insurance.item.network":"CodeableConcept","CoverageEligibilityResponse.insurance.item.productOrService":"CodeableConcept","CoverageEligibilityResponse.insurance.item.provider":"Reference","CoverageEligibilityResponse.insurance.item.term":"CodeableConcept","CoverageEligibilityResponse.insurance.item.unit":"CodeableConcept","CoverageEligibilityResponse.insurance.modifierExtension":"Extension","CoverageEligibilityResponse.insurer":"Reference","CoverageEligibilityResponse.language":"code","CoverageEligibilityResponse.meta":"Meta","CoverageEligibilityResponse.modifierExtension":"Extension","CoverageEligibilityResponse.outcome":"code","CoverageEligibilityResponse.patient":"Reference","CoverageEligibilityResponse.preAuthRef":"string","CoverageEligibilityResponse.purpose":"code","CoverageEligibilityResponse.request":"Reference","CoverageEligibilityResponse.requestor":"Reference","CoverageEligibilityResponse.servicedDate":"date","CoverageEligibilityResponse.servicedPeriod":"Period","CoverageEligibilityResponse.status":"code","CoverageEligibilityResponse.text":"Narrative","DataRequirement.codeFilter.code":"Coding","DataRequirement.codeFilter.extension":"Extension","DataRequirement.codeFilter.id":"System.String","DataRequirement.codeFilter.path":"string","DataRequirement.codeFilter.searchParam":"string","DataRequirement.codeFilter.valueSet":"canonical","DataRequirement.dateFilter.extension":"Extension","DataRequirement.dateFilter.id":"System.String","DataRequirement.dateFilter.path":"string","DataRequirement.dateFilter.searchParam":"string","DataRequirement.dateFilter.valueDateTime":"dateTime","DataRequirement.dateFilter.valueDuration":"Duration","DataRequirement.dateFilter.valuePeriod":"Period","DataRequirement.extension":"Extension","DataRequirement.id":"System.String","DataRequirement.limit":"positiveInt","DataRequirement.mustSupport":"string","DataRequirement.profile":"canonical","DataRequirement.sort.direction":"code","DataRequirement.sort.extension":"Extension","DataRequirement.sort.id":"System.String","DataRequirement.sort.path":"string","DataRequirement.subjectCodeableConcept":"CodeableConcept","DataRequirement.subjectReference":"Reference","DataRequirement.type":"code","DetectedIssue.author":"Reference","DetectedIssue.code":"CodeableConcept","DetectedIssue.contained":"Resource","DetectedIssue.detail":"string","DetectedIssue.evidence.code":"CodeableConcept","DetectedIssue.evidence.detail":"Reference","DetectedIssue.evidence.extension":"Extension","DetectedIssue.evidence.id":"System.String","DetectedIssue.evidence.modifierExtension":"Extension","DetectedIssue.extension":"Extension","DetectedIssue.id":"System.String","DetectedIssue.identifiedDateTime":"dateTime","DetectedIssue.identifiedPeriod":"Period","DetectedIssue.identifier":"Identifier","DetectedIssue.implicated":"Reference","DetectedIssue.implicitRules":"uri","DetectedIssue.language":"code","DetectedIssue.meta":"Meta","DetectedIssue.mitigation.action":"CodeableConcept","DetectedIssue.mitigation.author":"Reference","DetectedIssue.mitigation.date":"dateTime","DetectedIssue.mitigation.extension":"Extension","DetectedIssue.mitigation.id":"System.String","DetectedIssue.mitigation.modifierExtension":"Extension","DetectedIssue.modifierExtension":"Extension","DetectedIssue.patient":"Reference","DetectedIssue.reference":"uri","DetectedIssue.severity":"code","DetectedIssue.status":"code","DetectedIssue.text":"Narrative","Device.contact":"ContactPoint","Device.contained":"Resource","Device.definition":"Reference","Device.deviceName.extension":"Extension","Device.deviceName.id":"System.String","Device.deviceName.modifierExtension":"Extension","Device.deviceName.name":"string","Device.deviceName.type":"code","Device.distinctIdentifier":"string","Device.expirationDate":"dateTime","Device.extension":"Extension","Device.id":"System.String","Device.identifier":"Identifier","Device.implicitRules":"uri","Device.language":"code","Device.location":"Reference","Device.lotNumber":"string","Device.manufactureDate":"dateTime","Device.manufacturer":"string","Device.meta":"Meta","Device.modelNumber":"string","Device.modifierExtension":"Extension","Device.note":"Annotation","Device.owner":"Reference","Device.parent":"Reference","Device.partNumber":"string","Device.patient":"Reference","Device.property.extension":"Extension","Device.property.id":"System.String","Device.property.modifierExtension":"Extension","Device.property.type":"CodeableConcept","Device.property.valueCode":"CodeableConcept","Device.property.valueQuantity":"Quantity","Device.safety":"CodeableConcept","Device.serialNumber":"string","Device.specialization.extension":"Extension","Device.specialization.id":"System.String","Device.specialization.modifierExtension":"Extension","Device.specialization.systemType":"CodeableConcept","Device.specialization.version":"string","Device.status":"code","Device.statusReason":"CodeableConcept","Device.text":"Narrative","Device.type":"CodeableConcept","Device.udiCarrier.carrierAIDC":"base64Binary","Device.udiCarrier.carrierHRF":"string","Device.udiCarrier.deviceIdentifier":"string","Device.udiCarrier.entryType":"code","Device.udiCarrier.extension":"Extension","Device.udiCarrier.id":"System.String","Device.udiCarrier.issuer":"uri","Device.udiCarrier.jurisdiction":"uri","Device.udiCarrier.modifierExtension":"Extension","Device.url":"uri","Device.version.component":"Identifier","Device.version.extension":"Extension","Device.version.id":"System.String","Device.version.modifierExtension":"Extension","Device.version.type":"CodeableConcept","Device.version.value":"string","DeviceDefinition.capability.description":"CodeableConcept","DeviceDefinition.capability.extension":"Extension","DeviceDefinition.capability.id":"System.String","DeviceDefinition.capability.modifierExtension":"Extension","DeviceDefinition.capability.type":"CodeableConcept","DeviceDefinition.contact":"ContactPoint","DeviceDefinition.contained":"Resource","DeviceDefinition.deviceName.extension":"Extension","DeviceDefinition.deviceName.id":"System.String","DeviceDefinition.deviceName.modifierExtension":"Extension","DeviceDefinition.deviceName.name":"string","DeviceDefinition.deviceName.type":"code","DeviceDefinition.extension":"Extension","DeviceDefinition.id":"System.String","DeviceDefinition.identifier":"Identifier","DeviceDefinition.implicitRules":"uri","DeviceDefinition.language":"code","DeviceDefinition.languageCode":"CodeableConcept","DeviceDefinition.manufacturerReference":"Reference","DeviceDefinition.manufacturerString":"string","DeviceDefinition.material.allergenicIndicator":"boolean","DeviceDefinition.material.alternate":"boolean","DeviceDefinition.material.extension":"Extension","DeviceDefinition.material.id":"System.String","DeviceDefinition.material.modifierExtension":"Extension","DeviceDefinition.material.substance":"CodeableConcept","DeviceDefinition.meta":"Meta","DeviceDefinition.modelNumber":"string","DeviceDefinition.modifierExtension":"Extension","DeviceDefinition.note":"Annotation","DeviceDefinition.onlineInformation":"uri","DeviceDefinition.owner":"Reference","DeviceDefinition.parentDevice":"Reference","DeviceDefinition.physicalCharacteristics":"ProdCharacteristic","DeviceDefinition.property.extension":"Extension","DeviceDefinition.property.id":"System.String","DeviceDefinition.property.modifierExtension":"Extension","DeviceDefinition.property.type":"CodeableConcept","DeviceDefinition.property.valueCode":"CodeableConcept","DeviceDefinition.property.valueQuantity":"Quantity","DeviceDefinition.quantity":"Quantity","DeviceDefinition.safety":"CodeableConcept","DeviceDefinition.shelfLifeStorage":"ProductShelfLife","DeviceDefinition.specialization.extension":"Extension","DeviceDefinition.specialization.id":"System.String","DeviceDefinition.specialization.modifierExtension":"Extension","DeviceDefinition.specialization.systemType":"string","DeviceDefinition.specialization.version":"string","DeviceDefinition.text":"Narrative","DeviceDefinition.type":"CodeableConcept","DeviceDefinition.udiDeviceIdentifier.deviceIdentifier":"string","DeviceDefinition.udiDeviceIdentifier.extension":"Extension","DeviceDefinition.udiDeviceIdentifier.id":"System.String","DeviceDefinition.udiDeviceIdentifier.issuer":"uri","DeviceDefinition.udiDeviceIdentifier.jurisdiction":"uri","DeviceDefinition.udiDeviceIdentifier.modifierExtension":"Extension","DeviceDefinition.url":"uri","DeviceDefinition.version":"string","DeviceMetric.calibration.extension":"Extension","DeviceMetric.calibration.id":"System.String","DeviceMetric.calibration.modifierExtension":"Extension","DeviceMetric.calibration.state":"code","DeviceMetric.calibration.time":"instant","DeviceMetric.calibration.type":"code","DeviceMetric.category":"code","DeviceMetric.color":"code","DeviceMetric.contained":"Resource","DeviceMetric.extension":"Extension","DeviceMetric.id":"System.String","DeviceMetric.identifier":"Identifier","DeviceMetric.implicitRules":"uri","DeviceMetric.language":"code","DeviceMetric.measurementPeriod":"Timing","DeviceMetric.meta":"Meta","DeviceMetric.modifierExtension":"Extension","DeviceMetric.operationalStatus":"code","DeviceMetric.parent":"Reference","DeviceMetric.source":"Reference","DeviceMetric.text":"Narrative","DeviceMetric.type":"CodeableConcept","DeviceMetric.unit":"CodeableConcept","DeviceRequest.authoredOn":"dateTime","DeviceRequest.basedOn":"Reference","DeviceRequest.codeCodeableConcept":"CodeableConcept","DeviceRequest.codeReference":"Reference","DeviceRequest.contained":"Resource","DeviceRequest.encounter":"Reference","DeviceRequest.extension":"Extension","DeviceRequest.groupIdentifier":"Identifier","DeviceRequest.id":"System.String","DeviceRequest.identifier":"Identifier","DeviceRequest.implicitRules":"uri","DeviceRequest.instantiatesCanonical":"canonical","DeviceRequest.instantiatesUri":"uri","DeviceRequest.insurance":"Reference","DeviceRequest.intent":"code","DeviceRequest.language":"code","DeviceRequest.meta":"Meta","DeviceRequest.modifierExtension":"Extension","DeviceRequest.note":"Annotation","DeviceRequest.occurrenceDateTime":"dateTime","DeviceRequest.occurrencePeriod":"Period","DeviceRequest.occurrenceTiming":"Timing","DeviceRequest.parameter.code":"CodeableConcept","DeviceRequest.parameter.extension":"Extension","DeviceRequest.parameter.id":"System.String","DeviceRequest.parameter.modifierExtension":"Extension","DeviceRequest.parameter.valueBoolean":"boolean","DeviceRequest.parameter.valueCodeableConcept":"CodeableConcept","DeviceRequest.parameter.valueQuantity":"Quantity","DeviceRequest.parameter.valueRange":"Range","DeviceRequest.performer":"Reference","DeviceRequest.performerType":"CodeableConcept","DeviceRequest.priorRequest":"Reference","DeviceRequest.priority":"code","DeviceRequest.reasonCode":"CodeableConcept","DeviceRequest.reasonReference":"Reference","DeviceRequest.relevantHistory":"Reference","DeviceRequest.requester":"Reference","DeviceRequest.status":"code","DeviceRequest.subject":"Reference","DeviceRequest.supportingInfo":"Reference","DeviceRequest.text":"Narrative","DeviceUseStatement.basedOn":"Reference","DeviceUseStatement.bodySite":"CodeableConcept","DeviceUseStatement.contained":"Resource","DeviceUseStatement.derivedFrom":"Reference","DeviceUseStatement.device":"Reference","DeviceUseStatement.extension":"Extension","DeviceUseStatement.id":"System.String","DeviceUseStatement.identifier":"Identifier","DeviceUseStatement.implicitRules":"uri","DeviceUseStatement.language":"code","DeviceUseStatement.meta":"Meta","DeviceUseStatement.modifierExtension":"Extension","DeviceUseStatement.note":"Annotation","DeviceUseStatement.reasonCode":"CodeableConcept","DeviceUseStatement.reasonReference":"Reference","DeviceUseStatement.recordedOn":"dateTime","DeviceUseStatement.source":"Reference","DeviceUseStatement.status":"code","DeviceUseStatement.subject":"Reference","DeviceUseStatement.text":"Narrative","DeviceUseStatement.timingDateTime":"dateTime","DeviceUseStatement.timingPeriod":"Period","DeviceUseStatement.timingTiming":"Timing","DiagnosticReport.basedOn":"Reference","DiagnosticReport.category":"CodeableConcept","DiagnosticReport.code":"CodeableConcept","DiagnosticReport.conclusion":"string","DiagnosticReport.conclusionCode":"CodeableConcept","DiagnosticReport.contained":"Resource","DiagnosticReport.effectiveDateTime":"dateTime","DiagnosticReport.effectivePeriod":"Period","DiagnosticReport.encounter":"Reference","DiagnosticReport.extension":"Extension","DiagnosticReport.id":"System.String","DiagnosticReport.identifier":"Identifier","DiagnosticReport.imagingStudy":"Reference","DiagnosticReport.implicitRules":"uri","DiagnosticReport.issued":"instant","DiagnosticReport.language":"code","DiagnosticReport.media.comment":"string","DiagnosticReport.media.extension":"Extension","DiagnosticReport.media.id":"System.String","DiagnosticReport.media.link":"Reference","DiagnosticReport.media.modifierExtension":"Extension","DiagnosticReport.meta":"Meta","DiagnosticReport.modifierExtension":"Extension","DiagnosticReport.performer":"Reference","DiagnosticReport.presentedForm":"Attachment","DiagnosticReport.result":"Reference","DiagnosticReport.resultsInterpreter":"Reference","DiagnosticReport.specimen":"Reference","DiagnosticReport.status":"code","DiagnosticReport.subject":"Reference","DiagnosticReport.text":"Narrative","Distance.code":"code","Distance.comparator":"code","Distance.extension":"Extension","Distance.id":"System.String","Distance.system":"uri","Distance.unit":"string","Distance.value":"decimal","DocumentManifest.author":"Reference","DocumentManifest.contained":"Resource","DocumentManifest.content":"Reference","DocumentManifest.created":"dateTime","DocumentManifest.description":"string","DocumentManifest.extension":"Extension","DocumentManifest.id":"System.String","DocumentManifest.identifier":"Identifier","DocumentManifest.implicitRules":"uri","DocumentManifest.language":"code","DocumentManifest.masterIdentifier":"Identifier","DocumentManifest.meta":"Meta","DocumentManifest.modifierExtension":"Extension","DocumentManifest.recipient":"Reference","DocumentManifest.related.extension":"Extension","DocumentManifest.related.id":"System.String","DocumentManifest.related.identifier":"Identifier","DocumentManifest.related.modifierExtension":"Extension","DocumentManifest.related.ref":"Reference","DocumentManifest.source":"uri","DocumentManifest.status":"code","DocumentManifest.subject":"Reference","DocumentManifest.text":"Narrative","DocumentManifest.type":"CodeableConcept","DocumentReference.authenticator":"Reference","DocumentReference.author":"Reference","DocumentReference.category":"CodeableConcept","DocumentReference.contained":"Resource","DocumentReference.content.attachment":"Attachment","DocumentReference.content.extension":"Extension","DocumentReference.content.format":"Coding","DocumentReference.content.id":"System.String","DocumentReference.content.modifierExtension":"Extension","DocumentReference.context.encounter":"Reference","DocumentReference.context.event":"CodeableConcept","DocumentReference.context.extension":"Extension","DocumentReference.context.facilityType":"CodeableConcept","DocumentReference.context.id":"System.String","DocumentReference.context.modifierExtension":"Extension","DocumentReference.context.period":"Period","DocumentReference.context.practiceSetting":"CodeableConcept","DocumentReference.context.related":"Reference","DocumentReference.context.sourcePatientInfo":"Reference","DocumentReference.custodian":"Reference","DocumentReference.date":"instant","DocumentReference.description":"string","DocumentReference.docStatus":"code","DocumentReference.extension":"Extension","DocumentReference.id":"System.String","DocumentReference.identifier":"Identifier","DocumentReference.implicitRules":"uri","DocumentReference.language":"code","DocumentReference.masterIdentifier":"Identifier","DocumentReference.meta":"Meta","DocumentReference.modifierExtension":"Extension","DocumentReference.relatesTo.code":"code","DocumentReference.relatesTo.extension":"Extension","DocumentReference.relatesTo.id":"System.String","DocumentReference.relatesTo.modifierExtension":"Extension","DocumentReference.relatesTo.target":"Reference","DocumentReference.securityLabel":"CodeableConcept","DocumentReference.status":"code","DocumentReference.subject":"Reference","DocumentReference.text":"Narrative","DocumentReference.type":"CodeableConcept","DomainResource.contained":"Resource","DomainResource.extension":"Extension","DomainResource.id":"System.String","DomainResource.implicitRules":"uri","DomainResource.language":"code","DomainResource.meta":"Meta","DomainResource.modifierExtension":"Extension","DomainResource.text":"Narrative","Dosage.additionalInstruction":"CodeableConcept","Dosage.asNeededBoolean":"boolean","Dosage.asNeededCodeableConcept":"CodeableConcept","Dosage.doseAndRate.doseQuantity":"Quantity","Dosage.doseAndRate.doseRange":"Range","Dosage.doseAndRate.extension":"Extension","Dosage.doseAndRate.id":"System.String","Dosage.doseAndRate.rateQuantity":"Quantity","Dosage.doseAndRate.rateRange":"Range","Dosage.doseAndRate.rateRatio":"Ratio","Dosage.doseAndRate.type":"CodeableConcept","Dosage.extension":"Extension","Dosage.id":"System.String","Dosage.maxDosePerAdministration":"Quantity","Dosage.maxDosePerLifetime":"Quantity","Dosage.maxDosePerPeriod":"Ratio","Dosage.method":"CodeableConcept","Dosage.modifierExtension":"Extension","Dosage.patientInstruction":"string","Dosage.route":"CodeableConcept","Dosage.sequence":"integer","Dosage.site":"CodeableConcept","Dosage.text":"string","Dosage.timing":"Timing","Duration.code":"code","Duration.comparator":"code","Duration.extension":"Extension","Duration.id":"System.String","Duration.system":"uri","Duration.unit":"string","Duration.value":"decimal","EffectEvidenceSynthesis.approvalDate":"date","EffectEvidenceSynthesis.author":"ContactDetail","EffectEvidenceSynthesis.certainty.certaintySubcomponent.extension":"Extension","EffectEvidenceSynthesis.certainty.certaintySubcomponent.id":"System.String","EffectEvidenceSynthesis.certainty.certaintySubcomponent.modifierExtension":"Extension","EffectEvidenceSynthesis.certainty.certaintySubcomponent.note":"Annotation","EffectEvidenceSynthesis.certainty.certaintySubcomponent.rating":"CodeableConcept","EffectEvidenceSynthesis.certainty.certaintySubcomponent.type":"CodeableConcept","EffectEvidenceSynthesis.certainty.extension":"Extension","EffectEvidenceSynthesis.certainty.id":"System.String","EffectEvidenceSynthesis.certainty.modifierExtension":"Extension","EffectEvidenceSynthesis.certainty.note":"Annotation","EffectEvidenceSynthesis.certainty.rating":"CodeableConcept","EffectEvidenceSynthesis.contact":"ContactDetail","EffectEvidenceSynthesis.contained":"Resource","EffectEvidenceSynthesis.copyright":"markdown","EffectEvidenceSynthesis.date":"dateTime","EffectEvidenceSynthesis.description":"markdown","EffectEvidenceSynthesis.editor":"ContactDetail","EffectEvidenceSynthesis.effectEstimate.description":"string","EffectEvidenceSynthesis.effectEstimate.extension":"Extension","EffectEvidenceSynthesis.effectEstimate.id":"System.String","EffectEvidenceSynthesis.effectEstimate.modifierExtension":"Extension","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.extension":"Extension","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.from":"decimal","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.id":"System.String","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.level":"decimal","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.modifierExtension":"Extension","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.to":"decimal","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.type":"CodeableConcept","EffectEvidenceSynthesis.effectEstimate.type":"CodeableConcept","EffectEvidenceSynthesis.effectEstimate.unitOfMeasure":"CodeableConcept","EffectEvidenceSynthesis.effectEstimate.value":"decimal","EffectEvidenceSynthesis.effectEstimate.variantState":"CodeableConcept","EffectEvidenceSynthesis.effectivePeriod":"Period","EffectEvidenceSynthesis.endorser":"ContactDetail","EffectEvidenceSynthesis.exposure":"Reference","EffectEvidenceSynthesis.exposureAlternative":"Reference","EffectEvidenceSynthesis.extension":"Extension","EffectEvidenceSynthesis.id":"System.String","EffectEvidenceSynthesis.identifier":"Identifier","EffectEvidenceSynthesis.implicitRules":"uri","EffectEvidenceSynthesis.jurisdiction":"CodeableConcept","EffectEvidenceSynthesis.language":"code","EffectEvidenceSynthesis.lastReviewDate":"date","EffectEvidenceSynthesis.meta":"Meta","EffectEvidenceSynthesis.modifierExtension":"Extension","EffectEvidenceSynthesis.name":"string","EffectEvidenceSynthesis.note":"Annotation","EffectEvidenceSynthesis.outcome":"Reference","EffectEvidenceSynthesis.population":"Reference","EffectEvidenceSynthesis.publisher":"string","EffectEvidenceSynthesis.relatedArtifact":"RelatedArtifact","EffectEvidenceSynthesis.resultsByExposure.description":"string","EffectEvidenceSynthesis.resultsByExposure.exposureState":"code","EffectEvidenceSynthesis.resultsByExposure.extension":"Extension","EffectEvidenceSynthesis.resultsByExposure.id":"System.String","EffectEvidenceSynthesis.resultsByExposure.modifierExtension":"Extension","EffectEvidenceSynthesis.resultsByExposure.riskEvidenceSynthesis":"Reference","EffectEvidenceSynthesis.resultsByExposure.variantState":"CodeableConcept","EffectEvidenceSynthesis.reviewer":"ContactDetail","EffectEvidenceSynthesis.sampleSize.description":"string","EffectEvidenceSynthesis.sampleSize.extension":"Extension","EffectEvidenceSynthesis.sampleSize.id":"System.String","EffectEvidenceSynthesis.sampleSize.modifierExtension":"Extension","EffectEvidenceSynthesis.sampleSize.numberOfParticipants":"integer","EffectEvidenceSynthesis.sampleSize.numberOfStudies":"integer","EffectEvidenceSynthesis.status":"code","EffectEvidenceSynthesis.studyType":"CodeableConcept","EffectEvidenceSynthesis.synthesisType":"CodeableConcept","EffectEvidenceSynthesis.text":"Narrative","EffectEvidenceSynthesis.title":"string","EffectEvidenceSynthesis.topic":"CodeableConcept","EffectEvidenceSynthesis.url":"uri","EffectEvidenceSynthesis.useContext":"UsageContext","EffectEvidenceSynthesis.version":"string","Element.extension":"Extension","Element.id":"System.String","ElementDefinition.alias":"string","ElementDefinition.base.extension":"Extension","ElementDefinition.base.id":"System.String","ElementDefinition.base.max":"string","ElementDefinition.base.min":"unsignedInt","ElementDefinition.base.path":"string","ElementDefinition.binding.description":"string","ElementDefinition.binding.extension":"Extension","ElementDefinition.binding.id":"System.String","ElementDefinition.binding.strength":"code","ElementDefinition.binding.valueSet":"canonical","ElementDefinition.code":"Coding","ElementDefinition.comment":"markdown","ElementDefinition.condition":"id","ElementDefinition.constraint.expression":"string","ElementDefinition.constraint.extension":"Extension","ElementDefinition.constraint.human":"string","ElementDefinition.constraint.id":"System.String","ElementDefinition.constraint.key":"id","ElementDefinition.constraint.requirements":"string","ElementDefinition.constraint.severity":"code","ElementDefinition.constraint.source":"canonical","ElementDefinition.constraint.xpath":"string","ElementDefinition.contentReference":"uri","ElementDefinition.defaultValueAddress":"Address","ElementDefinition.defaultValueAge":"Age","ElementDefinition.defaultValueAnnotation":"Annotation","ElementDefinition.defaultValueAttachment":"Attachment","ElementDefinition.defaultValueBase64Binary":"base64Binary","ElementDefinition.defaultValueBoolean":"boolean","ElementDefinition.defaultValueCanonical":"canonical","ElementDefinition.defaultValueCode":"code","ElementDefinition.defaultValueCodeableConcept":"CodeableConcept","ElementDefinition.defaultValueCoding":"Coding","ElementDefinition.defaultValueContactDetail":"ContactDetail","ElementDefinition.defaultValueContactPoint":"ContactPoint","ElementDefinition.defaultValueContributor":"Contributor","ElementDefinition.defaultValueCount":"Count","ElementDefinition.defaultValueDataRequirement":"DataRequirement","ElementDefinition.defaultValueDate":"date","ElementDefinition.defaultValueDateTime":"dateTime","ElementDefinition.defaultValueDecimal":"decimal","ElementDefinition.defaultValueDistance":"Distance","ElementDefinition.defaultValueDosage":"Dosage","ElementDefinition.defaultValueDuration":"Duration","ElementDefinition.defaultValueExpression":"Expression","ElementDefinition.defaultValueHumanName":"HumanName","ElementDefinition.defaultValueId":"id","ElementDefinition.defaultValueIdentifier":"Identifier","ElementDefinition.defaultValueInstant":"instant","ElementDefinition.defaultValueInteger":"integer","ElementDefinition.defaultValueMarkdown":"markdown","ElementDefinition.defaultValueMeta":"Meta","ElementDefinition.defaultValueMoney":"Money","ElementDefinition.defaultValueOid":"oid","ElementDefinition.defaultValueParameterDefinition":"ParameterDefinition","ElementDefinition.defaultValuePeriod":"Period","ElementDefinition.defaultValuePositiveInt":"positiveInt","ElementDefinition.defaultValueQuantity":"Quantity","ElementDefinition.defaultValueRange":"Range","ElementDefinition.defaultValueRatio":"Ratio","ElementDefinition.defaultValueReference":"Reference","ElementDefinition.defaultValueRelatedArtifact":"RelatedArtifact","ElementDefinition.defaultValueSampledData":"SampledData","ElementDefinition.defaultValueSignature":"Signature","ElementDefinition.defaultValueString":"string","ElementDefinition.defaultValueTime":"time","ElementDefinition.defaultValueTiming":"Timing","ElementDefinition.defaultValueTriggerDefinition":"TriggerDefinition","ElementDefinition.defaultValueUnsignedInt":"unsignedInt","ElementDefinition.defaultValueUri":"uri","ElementDefinition.defaultValueUrl":"url","ElementDefinition.defaultValueUsageContext":"UsageContext","ElementDefinition.defaultValueUuid":"uuid","ElementDefinition.definition":"markdown","ElementDefinition.example.extension":"Extension","ElementDefinition.example.id":"System.String","ElementDefinition.example.label":"string","ElementDefinition.example.valueAddress":"Address","ElementDefinition.example.valueAge":"Age","ElementDefinition.example.valueAnnotation":"Annotation","ElementDefinition.example.valueAttachment":"Attachment","ElementDefinition.example.valueBase64Binary":"base64Binary","ElementDefinition.example.valueBoolean":"boolean","ElementDefinition.example.valueCanonical":"canonical","ElementDefinition.example.valueCode":"code","ElementDefinition.example.valueCodeableConcept":"CodeableConcept","ElementDefinition.example.valueCoding":"Coding","ElementDefinition.example.valueContactDetail":"ContactDetail","ElementDefinition.example.valueContactPoint":"ContactPoint","ElementDefinition.example.valueContributor":"Contributor","ElementDefinition.example.valueCount":"Count","ElementDefinition.example.valueDataRequirement":"DataRequirement","ElementDefinition.example.valueDate":"date","ElementDefinition.example.valueDateTime":"dateTime","ElementDefinition.example.valueDecimal":"decimal","ElementDefinition.example.valueDistance":"Distance","ElementDefinition.example.valueDosage":"Dosage","ElementDefinition.example.valueDuration":"Duration","ElementDefinition.example.valueExpression":"Expression","ElementDefinition.example.valueHumanName":"HumanName","ElementDefinition.example.valueId":"id","ElementDefinition.example.valueIdentifier":"Identifier","ElementDefinition.example.valueInstant":"instant","ElementDefinition.example.valueInteger":"integer","ElementDefinition.example.valueMarkdown":"markdown","ElementDefinition.example.valueMeta":"Meta","ElementDefinition.example.valueMoney":"Money","ElementDefinition.example.valueOid":"oid","ElementDefinition.example.valueParameterDefinition":"ParameterDefinition","ElementDefinition.example.valuePeriod":"Period","ElementDefinition.example.valuePositiveInt":"positiveInt","ElementDefinition.example.valueQuantity":"Quantity","ElementDefinition.example.valueRange":"Range","ElementDefinition.example.valueRatio":"Ratio","ElementDefinition.example.valueReference":"Reference","ElementDefinition.example.valueRelatedArtifact":"RelatedArtifact","ElementDefinition.example.valueSampledData":"SampledData","ElementDefinition.example.valueSignature":"Signature","ElementDefinition.example.valueString":"string","ElementDefinition.example.valueTime":"time","ElementDefinition.example.valueTiming":"Timing","ElementDefinition.example.valueTriggerDefinition":"TriggerDefinition","ElementDefinition.example.valueUnsignedInt":"unsignedInt","ElementDefinition.example.valueUri":"uri","ElementDefinition.example.valueUrl":"url","ElementDefinition.example.valueUsageContext":"UsageContext","ElementDefinition.example.valueUuid":"uuid","ElementDefinition.extension":"Extension","ElementDefinition.extension.extension":"Extension","ElementDefinition.extension.id":"System.String","ElementDefinition.extension.url":"System.String","ElementDefinition.extension.valueCanonical":"canonical","ElementDefinition.extension.valueCodeableConcept":"CodeableConcept","ElementDefinition.extension.valueString":"string","ElementDefinition.fixedAddress":"Address","ElementDefinition.fixedAge":"Age","ElementDefinition.fixedAnnotation":"Annotation","ElementDefinition.fixedAttachment":"Attachment","ElementDefinition.fixedBase64Binary":"base64Binary","ElementDefinition.fixedBoolean":"boolean","ElementDefinition.fixedCanonical":"canonical","ElementDefinition.fixedCode":"code","ElementDefinition.fixedCodeableConcept":"CodeableConcept","ElementDefinition.fixedCoding":"Coding","ElementDefinition.fixedContactDetail":"ContactDetail","ElementDefinition.fixedContactPoint":"ContactPoint","ElementDefinition.fixedContributor":"Contributor","ElementDefinition.fixedCount":"Count","ElementDefinition.fixedDataRequirement":"DataRequirement","ElementDefinition.fixedDate":"date","ElementDefinition.fixedDateTime":"dateTime","ElementDefinition.fixedDecimal":"decimal","ElementDefinition.fixedDistance":"Distance","ElementDefinition.fixedDosage":"Dosage","ElementDefinition.fixedDuration":"Duration","ElementDefinition.fixedExpression":"Expression","ElementDefinition.fixedHumanName":"HumanName","ElementDefinition.fixedId":"id","ElementDefinition.fixedIdentifier":"Identifier","ElementDefinition.fixedInstant":"instant","ElementDefinition.fixedInteger":"integer","ElementDefinition.fixedMarkdown":"markdown","ElementDefinition.fixedMeta":"Meta","ElementDefinition.fixedMoney":"Money","ElementDefinition.fixedOid":"oid","ElementDefinition.fixedParameterDefinition":"ParameterDefinition","ElementDefinition.fixedPeriod":"Period","ElementDefinition.fixedPositiveInt":"positiveInt","ElementDefinition.fixedQuantity":"Quantity","ElementDefinition.fixedRange":"Range","ElementDefinition.fixedRatio":"Ratio","ElementDefinition.fixedReference":"Reference","ElementDefinition.fixedRelatedArtifact":"RelatedArtifact","ElementDefinition.fixedSampledData":"SampledData","ElementDefinition.fixedSignature":"Signature","ElementDefinition.fixedString":"string","ElementDefinition.fixedTime":"time","ElementDefinition.fixedTiming":"Timing","ElementDefinition.fixedTriggerDefinition":"TriggerDefinition","ElementDefinition.fixedUnsignedInt":"unsignedInt","ElementDefinition.fixedUri":"uri","ElementDefinition.fixedUrl":"url","ElementDefinition.fixedUsageContext":"UsageContext","ElementDefinition.fixedUuid":"uuid","ElementDefinition.id":"System.String","ElementDefinition.isModifier":"boolean","ElementDefinition.isModifierReason":"string","ElementDefinition.isSummary":"boolean","ElementDefinition.label":"string","ElementDefinition.mapping.comment":"string","ElementDefinition.mapping.extension":"Extension","ElementDefinition.mapping.id":"System.String","ElementDefinition.mapping.identity":"id","ElementDefinition.mapping.language":"code","ElementDefinition.mapping.map":"string","ElementDefinition.max":"string","ElementDefinition.maxLength":"integer","ElementDefinition.maxValueDate":"date","ElementDefinition.maxValueDateTime":"dateTime","ElementDefinition.maxValueDecimal":"decimal","ElementDefinition.maxValueInstant":"instant","ElementDefinition.maxValueInteger":"integer","ElementDefinition.maxValuePositiveInt":"positiveInt","ElementDefinition.maxValueQuantity":"Quantity","ElementDefinition.maxValueTime":"time","ElementDefinition.maxValueUnsignedInt":"unsignedInt","ElementDefinition.meaningWhenMissing":"markdown","ElementDefinition.min":"unsignedInt","ElementDefinition.minValueDate":"date","ElementDefinition.minValueDateTime":"dateTime","ElementDefinition.minValueDecimal":"decimal","ElementDefinition.minValueInstant":"instant","ElementDefinition.minValueInteger":"integer","ElementDefinition.minValuePositiveInt":"positiveInt","ElementDefinition.minValueQuantity":"Quantity","ElementDefinition.minValueTime":"time","ElementDefinition.minValueUnsignedInt":"unsignedInt","ElementDefinition.modifierExtension":"Extension","ElementDefinition.mustSupport":"boolean","ElementDefinition.orderMeaning":"string","ElementDefinition.path":"string","ElementDefinition.patternAddress":"Address","ElementDefinition.patternAge":"Age","ElementDefinition.patternAnnotation":"Annotation","ElementDefinition.patternAttachment":"Attachment","ElementDefinition.patternBase64Binary":"base64Binary","ElementDefinition.patternBoolean":"boolean","ElementDefinition.patternCanonical":"canonical","ElementDefinition.patternCode":"code","ElementDefinition.patternCodeableConcept":"CodeableConcept","ElementDefinition.patternCoding":"Coding","ElementDefinition.patternContactDetail":"ContactDetail","ElementDefinition.patternContactPoint":"ContactPoint","ElementDefinition.patternContributor":"Contributor","ElementDefinition.patternCount":"Count","ElementDefinition.patternDataRequirement":"DataRequirement","ElementDefinition.patternDate":"date","ElementDefinition.patternDateTime":"dateTime","ElementDefinition.patternDecimal":"decimal","ElementDefinition.patternDistance":"Distance","ElementDefinition.patternDosage":"Dosage","ElementDefinition.patternDuration":"Duration","ElementDefinition.patternExpression":"Expression","ElementDefinition.patternHumanName":"HumanName","ElementDefinition.patternId":"id","ElementDefinition.patternIdentifier":"Identifier","ElementDefinition.patternInstant":"instant","ElementDefinition.patternInteger":"integer","ElementDefinition.patternMarkdown":"markdown","ElementDefinition.patternMeta":"Meta","ElementDefinition.patternMoney":"Money","ElementDefinition.patternOid":"oid","ElementDefinition.patternParameterDefinition":"ParameterDefinition","ElementDefinition.patternPeriod":"Period","ElementDefinition.patternPositiveInt":"positiveInt","ElementDefinition.patternQuantity":"Quantity","ElementDefinition.patternRange":"Range","ElementDefinition.patternRatio":"Ratio","ElementDefinition.patternReference":"Reference","ElementDefinition.patternRelatedArtifact":"RelatedArtifact","ElementDefinition.patternSampledData":"SampledData","ElementDefinition.patternSignature":"Signature","ElementDefinition.patternString":"string","ElementDefinition.patternTime":"time","ElementDefinition.patternTiming":"Timing","ElementDefinition.patternTriggerDefinition":"TriggerDefinition","ElementDefinition.patternUnsignedInt":"unsignedInt","ElementDefinition.patternUri":"uri","ElementDefinition.patternUrl":"url","ElementDefinition.patternUsageContext":"UsageContext","ElementDefinition.patternUuid":"uuid","ElementDefinition.representation":"code","ElementDefinition.requirements":"markdown","ElementDefinition.short":"string","ElementDefinition.sliceIsConstraining":"boolean","ElementDefinition.sliceName":"string","ElementDefinition.slicing.description":"string","ElementDefinition.slicing.discriminator.extension":"Extension","ElementDefinition.slicing.discriminator.id":"System.String","ElementDefinition.slicing.discriminator.path":"string","ElementDefinition.slicing.discriminator.type":"code","ElementDefinition.slicing.extension":"Extension","ElementDefinition.slicing.id":"System.String","ElementDefinition.slicing.ordered":"boolean","ElementDefinition.slicing.rules":"code","ElementDefinition.type.aggregation":"code","ElementDefinition.type.code":"uri","ElementDefinition.type.extension":"Extension","ElementDefinition.type.id":"System.String","ElementDefinition.type.profile":"canonical","ElementDefinition.type.targetProfile":"canonical","ElementDefinition.type.versioning":"code","Encounter.account":"Reference","Encounter.appointment":"Reference","Encounter.basedOn":"Reference","Encounter.class":"Coding","Encounter.classHistory.class":"Coding","Encounter.classHistory.extension":"Extension","Encounter.classHistory.id":"System.String","Encounter.classHistory.modifierExtension":"Extension","Encounter.classHistory.period":"Period","Encounter.contained":"Resource","Encounter.diagnosis.condition":"Reference","Encounter.diagnosis.extension":"Extension","Encounter.diagnosis.id":"System.String","Encounter.diagnosis.modifierExtension":"Extension","Encounter.diagnosis.rank":"positiveInt","Encounter.diagnosis.use":"CodeableConcept","Encounter.episodeOfCare":"Reference","Encounter.extension":"Extension","Encounter.hospitalization.admitSource":"CodeableConcept","Encounter.hospitalization.destination":"Reference","Encounter.hospitalization.dietPreference":"CodeableConcept","Encounter.hospitalization.dischargeDisposition":"CodeableConcept","Encounter.hospitalization.extension":"Extension","Encounter.hospitalization.id":"System.String","Encounter.hospitalization.modifierExtension":"Extension","Encounter.hospitalization.origin":"Reference","Encounter.hospitalization.preAdmissionIdentifier":"Identifier","Encounter.hospitalization.reAdmission":"CodeableConcept","Encounter.hospitalization.specialArrangement":"CodeableConcept","Encounter.hospitalization.specialCourtesy":"CodeableConcept","Encounter.id":"System.String","Encounter.identifier":"Identifier","Encounter.implicitRules":"uri","Encounter.language":"code","Encounter.length":"Duration","Encounter.location.extension":"Extension","Encounter.location.id":"System.String","Encounter.location.location":"Reference","Encounter.location.modifierExtension":"Extension","Encounter.location.period":"Period","Encounter.location.physicalType":"CodeableConcept","Encounter.location.status":"code","Encounter.meta":"Meta","Encounter.modifierExtension":"Extension","Encounter.partOf":"Reference","Encounter.participant.extension":"Extension","Encounter.participant.id":"System.String","Encounter.participant.individual":"Reference","Encounter.participant.modifierExtension":"Extension","Encounter.participant.period":"Period","Encounter.participant.type":"CodeableConcept","Encounter.period":"Period","Encounter.priority":"CodeableConcept","Encounter.reasonCode":"CodeableConcept","Encounter.reasonReference":"Reference","Encounter.serviceProvider":"Reference","Encounter.serviceType":"CodeableConcept","Encounter.status":"code","Encounter.statusHistory.extension":"Extension","Encounter.statusHistory.id":"System.String","Encounter.statusHistory.modifierExtension":"Extension","Encounter.statusHistory.period":"Period","Encounter.statusHistory.status":"code","Encounter.subject":"Reference","Encounter.text":"Narrative","Encounter.type":"CodeableConcept","Endpoint.address":"url","Endpoint.connectionType":"Coding","Endpoint.contact":"ContactPoint","Endpoint.contained":"Resource","Endpoint.extension":"Extension","Endpoint.header":"string","Endpoint.id":"System.String","Endpoint.identifier":"Identifier","Endpoint.implicitRules":"uri","Endpoint.language":"code","Endpoint.managingOrganization":"Reference","Endpoint.meta":"Meta","Endpoint.modifierExtension":"Extension","Endpoint.name":"string","Endpoint.payloadMimeType":"code","Endpoint.payloadType":"CodeableConcept","Endpoint.period":"Period","Endpoint.status":"code","Endpoint.text":"Narrative","EnrollmentRequest.candidate":"Reference","EnrollmentRequest.contained":"Resource","EnrollmentRequest.coverage":"Reference","EnrollmentRequest.created":"dateTime","EnrollmentRequest.extension":"Extension","EnrollmentRequest.id":"System.String","EnrollmentRequest.identifier":"Identifier","EnrollmentRequest.implicitRules":"uri","EnrollmentRequest.insurer":"Reference","EnrollmentRequest.language":"code","EnrollmentRequest.meta":"Meta","EnrollmentRequest.modifierExtension":"Extension","EnrollmentRequest.provider":"Reference","EnrollmentRequest.status":"code","EnrollmentRequest.text":"Narrative","EnrollmentResponse.contained":"Resource","EnrollmentResponse.created":"dateTime","EnrollmentResponse.disposition":"string","EnrollmentResponse.extension":"Extension","EnrollmentResponse.id":"System.String","EnrollmentResponse.identifier":"Identifier","EnrollmentResponse.implicitRules":"uri","EnrollmentResponse.language":"code","EnrollmentResponse.meta":"Meta","EnrollmentResponse.modifierExtension":"Extension","EnrollmentResponse.organization":"Reference","EnrollmentResponse.outcome":"code","EnrollmentResponse.request":"Reference","EnrollmentResponse.requestProvider":"Reference","EnrollmentResponse.status":"code","EnrollmentResponse.text":"Narrative","EpisodeOfCare.account":"Reference","EpisodeOfCare.careManager":"Reference","EpisodeOfCare.contained":"Resource","EpisodeOfCare.diagnosis.condition":"Reference","EpisodeOfCare.diagnosis.extension":"Extension","EpisodeOfCare.diagnosis.id":"System.String","EpisodeOfCare.diagnosis.modifierExtension":"Extension","EpisodeOfCare.diagnosis.rank":"positiveInt","EpisodeOfCare.diagnosis.role":"CodeableConcept","EpisodeOfCare.extension":"Extension","EpisodeOfCare.id":"System.String","EpisodeOfCare.identifier":"Identifier","EpisodeOfCare.implicitRules":"uri","EpisodeOfCare.language":"code","EpisodeOfCare.managingOrganization":"Reference","EpisodeOfCare.meta":"Meta","EpisodeOfCare.modifierExtension":"Extension","EpisodeOfCare.patient":"Reference","EpisodeOfCare.period":"Period","EpisodeOfCare.referralRequest":"Reference","EpisodeOfCare.status":"code","EpisodeOfCare.statusHistory.extension":"Extension","EpisodeOfCare.statusHistory.id":"System.String","EpisodeOfCare.statusHistory.modifierExtension":"Extension","EpisodeOfCare.statusHistory.period":"Period","EpisodeOfCare.statusHistory.status":"code","EpisodeOfCare.team":"Reference","EpisodeOfCare.text":"Narrative","EpisodeOfCare.type":"CodeableConcept","EventDefinition.approvalDate":"date","EventDefinition.author":"ContactDetail","EventDefinition.contact":"ContactDetail","EventDefinition.contained":"Resource","EventDefinition.copyright":"markdown","EventDefinition.date":"dateTime","EventDefinition.description":"markdown","EventDefinition.editor":"ContactDetail","EventDefinition.effectivePeriod":"Period","EventDefinition.endorser":"ContactDetail","EventDefinition.experimental":"boolean","EventDefinition.extension":"Extension","EventDefinition.id":"System.String","EventDefinition.identifier":"Identifier","EventDefinition.implicitRules":"uri","EventDefinition.jurisdiction":"CodeableConcept","EventDefinition.language":"code","EventDefinition.lastReviewDate":"date","EventDefinition.meta":"Meta","EventDefinition.modifierExtension":"Extension","EventDefinition.name":"string","EventDefinition.publisher":"string","EventDefinition.purpose":"markdown","EventDefinition.relatedArtifact":"RelatedArtifact","EventDefinition.reviewer":"ContactDetail","EventDefinition.status":"code","EventDefinition.subjectCodeableConcept":"CodeableConcept","EventDefinition.subjectReference":"Reference","EventDefinition.subtitle":"string","EventDefinition.text":"Narrative","EventDefinition.title":"string","EventDefinition.topic":"CodeableConcept","EventDefinition.trigger":"TriggerDefinition","EventDefinition.url":"uri","EventDefinition.usage":"string","EventDefinition.useContext":"UsageContext","EventDefinition.version":"string","Evidence.approvalDate":"date","Evidence.author":"ContactDetail","Evidence.contact":"ContactDetail","Evidence.contained":"Resource","Evidence.copyright":"markdown","Evidence.date":"dateTime","Evidence.description":"markdown","Evidence.editor":"ContactDetail","Evidence.effectivePeriod":"Period","Evidence.endorser":"ContactDetail","Evidence.exposureBackground":"Reference","Evidence.exposureVariant":"Reference","Evidence.extension":"Extension","Evidence.id":"System.String","Evidence.identifier":"Identifier","Evidence.implicitRules":"uri","Evidence.jurisdiction":"CodeableConcept","Evidence.language":"code","Evidence.lastReviewDate":"date","Evidence.meta":"Meta","Evidence.modifierExtension":"Extension","Evidence.name":"string","Evidence.note":"Annotation","Evidence.outcome":"Reference","Evidence.publisher":"string","Evidence.relatedArtifact":"RelatedArtifact","Evidence.reviewer":"ContactDetail","Evidence.shortTitle":"string","Evidence.status":"code","Evidence.subtitle":"string","Evidence.text":"Narrative","Evidence.title":"string","Evidence.topic":"CodeableConcept","Evidence.url":"uri","Evidence.useContext":"UsageContext","Evidence.version":"string","EvidenceVariable.approvalDate":"date","EvidenceVariable.author":"ContactDetail","EvidenceVariable.characteristic.definitionCanonical":"canonical","EvidenceVariable.characteristic.definitionCodeableConcept":"CodeableConcept","EvidenceVariable.characteristic.definitionDataRequirement":"DataRequirement","EvidenceVariable.characteristic.definitionExpression":"Expression","EvidenceVariable.characteristic.definitionReference":"Reference","EvidenceVariable.characteristic.definitionTriggerDefinition":"TriggerDefinition","EvidenceVariable.characteristic.description":"string","EvidenceVariable.characteristic.exclude":"boolean","EvidenceVariable.characteristic.extension":"Extension","EvidenceVariable.characteristic.groupMeasure":"code","EvidenceVariable.characteristic.id":"System.String","EvidenceVariable.characteristic.modifierExtension":"Extension","EvidenceVariable.characteristic.participantEffectiveDateTime":"dateTime","EvidenceVariable.characteristic.participantEffectiveDuration":"Duration","EvidenceVariable.characteristic.participantEffectivePeriod":"Period","EvidenceVariable.characteristic.participantEffectiveTiming":"Timing","EvidenceVariable.characteristic.timeFromStart":"Duration","EvidenceVariable.characteristic.usageContext":"UsageContext","EvidenceVariable.contact":"ContactDetail","EvidenceVariable.contained":"Resource","EvidenceVariable.copyright":"markdown","EvidenceVariable.date":"dateTime","EvidenceVariable.description":"markdown","EvidenceVariable.editor":"ContactDetail","EvidenceVariable.effectivePeriod":"Period","EvidenceVariable.endorser":"ContactDetail","EvidenceVariable.extension":"Extension","EvidenceVariable.id":"System.String","EvidenceVariable.identifier":"Identifier","EvidenceVariable.implicitRules":"uri","EvidenceVariable.jurisdiction":"CodeableConcept","EvidenceVariable.language":"code","EvidenceVariable.lastReviewDate":"date","EvidenceVariable.meta":"Meta","EvidenceVariable.modifierExtension":"Extension","EvidenceVariable.name":"string","EvidenceVariable.note":"Annotation","EvidenceVariable.publisher":"string","EvidenceVariable.relatedArtifact":"RelatedArtifact","EvidenceVariable.reviewer":"ContactDetail","EvidenceVariable.shortTitle":"string","EvidenceVariable.status":"code","EvidenceVariable.subtitle":"string","EvidenceVariable.text":"Narrative","EvidenceVariable.title":"string","EvidenceVariable.topic":"CodeableConcept","EvidenceVariable.type":"code","EvidenceVariable.url":"uri","EvidenceVariable.useContext":"UsageContext","EvidenceVariable.version":"string","ExampleScenario.actor.actorId":"string","ExampleScenario.actor.description":"markdown","ExampleScenario.actor.extension":"Extension","ExampleScenario.actor.id":"System.String","ExampleScenario.actor.modifierExtension":"Extension","ExampleScenario.actor.name":"string","ExampleScenario.actor.type":"code","ExampleScenario.contact":"ContactDetail","ExampleScenario.contained":"Resource","ExampleScenario.copyright":"markdown","ExampleScenario.date":"dateTime","ExampleScenario.experimental":"boolean","ExampleScenario.extension":"Extension","ExampleScenario.id":"System.String","ExampleScenario.identifier":"Identifier","ExampleScenario.implicitRules":"uri","ExampleScenario.instance.containedInstance.extension":"Extension","ExampleScenario.instance.containedInstance.id":"System.String","ExampleScenario.instance.containedInstance.modifierExtension":"Extension","ExampleScenario.instance.containedInstance.resourceId":"string","ExampleScenario.instance.containedInstance.versionId":"string","ExampleScenario.instance.description":"markdown","ExampleScenario.instance.extension":"Extension","ExampleScenario.instance.id":"System.String","ExampleScenario.instance.modifierExtension":"Extension","ExampleScenario.instance.name":"string","ExampleScenario.instance.resourceId":"string","ExampleScenario.instance.resourceType":"code","ExampleScenario.instance.version.description":"markdown","ExampleScenario.instance.version.extension":"Extension","ExampleScenario.instance.version.id":"System.String","ExampleScenario.instance.version.modifierExtension":"Extension","ExampleScenario.instance.version.versionId":"string","ExampleScenario.jurisdiction":"CodeableConcept","ExampleScenario.language":"code","ExampleScenario.meta":"Meta","ExampleScenario.modifierExtension":"Extension","ExampleScenario.name":"string","ExampleScenario.process.description":"markdown","ExampleScenario.process.extension":"Extension","ExampleScenario.process.id":"System.String","ExampleScenario.process.modifierExtension":"Extension","ExampleScenario.process.postConditions":"markdown","ExampleScenario.process.preConditions":"markdown","ExampleScenario.process.step.alternative.description":"markdown","ExampleScenario.process.step.alternative.extension":"Extension","ExampleScenario.process.step.alternative.id":"System.String","ExampleScenario.process.step.alternative.modifierExtension":"Extension","ExampleScenario.process.step.alternative.title":"string","ExampleScenario.process.step.extension":"Extension","ExampleScenario.process.step.id":"System.String","ExampleScenario.process.step.modifierExtension":"Extension","ExampleScenario.process.step.operation.description":"markdown","ExampleScenario.process.step.operation.extension":"Extension","ExampleScenario.process.step.operation.id":"System.String","ExampleScenario.process.step.operation.initiator":"string","ExampleScenario.process.step.operation.initiatorActive":"boolean","ExampleScenario.process.step.operation.modifierExtension":"Extension","ExampleScenario.process.step.operation.name":"string","ExampleScenario.process.step.operation.number":"string","ExampleScenario.process.step.operation.receiver":"string","ExampleScenario.process.step.operation.receiverActive":"boolean","ExampleScenario.process.step.operation.type":"string","ExampleScenario.process.step.pause":"boolean","ExampleScenario.process.title":"string","ExampleScenario.publisher":"string","ExampleScenario.purpose":"markdown","ExampleScenario.status":"code","ExampleScenario.text":"Narrative","ExampleScenario.url":"uri","ExampleScenario.useContext":"UsageContext","ExampleScenario.version":"string","ExampleScenario.workflow":"canonical","ExplanationOfBenefit.accident.date":"date","ExplanationOfBenefit.accident.extension":"Extension","ExplanationOfBenefit.accident.id":"System.String","ExplanationOfBenefit.accident.locationAddress":"Address","ExplanationOfBenefit.accident.locationReference":"Reference","ExplanationOfBenefit.accident.modifierExtension":"Extension","ExplanationOfBenefit.accident.type":"CodeableConcept","ExplanationOfBenefit.addItem.bodySite":"CodeableConcept","ExplanationOfBenefit.addItem.detail.extension":"Extension","ExplanationOfBenefit.addItem.detail.factor":"decimal","ExplanationOfBenefit.addItem.detail.id":"System.String","ExplanationOfBenefit.addItem.detail.modifier":"CodeableConcept","ExplanationOfBenefit.addItem.detail.modifierExtension":"Extension","ExplanationOfBenefit.addItem.detail.net":"Money","ExplanationOfBenefit.addItem.detail.noteNumber":"positiveInt","ExplanationOfBenefit.addItem.detail.productOrService":"CodeableConcept","ExplanationOfBenefit.addItem.detail.quantity":"Quantity","ExplanationOfBenefit.addItem.detail.subDetail.extension":"Extension","ExplanationOfBenefit.addItem.detail.subDetail.factor":"decimal","ExplanationOfBenefit.addItem.detail.subDetail.id":"System.String","ExplanationOfBenefit.addItem.detail.subDetail.modifier":"CodeableConcept","ExplanationOfBenefit.addItem.detail.subDetail.modifierExtension":"Extension","ExplanationOfBenefit.addItem.detail.subDetail.net":"Money","ExplanationOfBenefit.addItem.detail.subDetail.noteNumber":"positiveInt","ExplanationOfBenefit.addItem.detail.subDetail.productOrService":"CodeableConcept","ExplanationOfBenefit.addItem.detail.subDetail.quantity":"Quantity","ExplanationOfBenefit.addItem.detail.subDetail.unitPrice":"Money","ExplanationOfBenefit.addItem.detail.unitPrice":"Money","ExplanationOfBenefit.addItem.detailSequence":"positiveInt","ExplanationOfBenefit.addItem.extension":"Extension","ExplanationOfBenefit.addItem.factor":"decimal","ExplanationOfBenefit.addItem.id":"System.String","ExplanationOfBenefit.addItem.itemSequence":"positiveInt","ExplanationOfBenefit.addItem.locationAddress":"Address","ExplanationOfBenefit.addItem.locationCodeableConcept":"CodeableConcept","ExplanationOfBenefit.addItem.locationReference":"Reference","ExplanationOfBenefit.addItem.modifier":"CodeableConcept","ExplanationOfBenefit.addItem.modifierExtension":"Extension","ExplanationOfBenefit.addItem.net":"Money","ExplanationOfBenefit.addItem.noteNumber":"positiveInt","ExplanationOfBenefit.addItem.productOrService":"CodeableConcept","ExplanationOfBenefit.addItem.programCode":"CodeableConcept","ExplanationOfBenefit.addItem.provider":"Reference","ExplanationOfBenefit.addItem.quantity":"Quantity","ExplanationOfBenefit.addItem.servicedDate":"date","ExplanationOfBenefit.addItem.servicedPeriod":"Period","ExplanationOfBenefit.addItem.subDetailSequence":"positiveInt","ExplanationOfBenefit.addItem.subSite":"CodeableConcept","ExplanationOfBenefit.addItem.unitPrice":"Money","ExplanationOfBenefit.benefitBalance.category":"CodeableConcept","ExplanationOfBenefit.benefitBalance.description":"string","ExplanationOfBenefit.benefitBalance.excluded":"boolean","ExplanationOfBenefit.benefitBalance.extension":"Extension","ExplanationOfBenefit.benefitBalance.financial.allowedMoney":"Money","ExplanationOfBenefit.benefitBalance.financial.allowedString":"string","ExplanationOfBenefit.benefitBalance.financial.allowedUnsignedInt":"unsignedInt","ExplanationOfBenefit.benefitBalance.financial.extension":"Extension","ExplanationOfBenefit.benefitBalance.financial.id":"System.String","ExplanationOfBenefit.benefitBalance.financial.modifierExtension":"Extension","ExplanationOfBenefit.benefitBalance.financial.type":"CodeableConcept","ExplanationOfBenefit.benefitBalance.financial.usedMoney":"Money","ExplanationOfBenefit.benefitBalance.financial.usedUnsignedInt":"unsignedInt","ExplanationOfBenefit.benefitBalance.id":"System.String","ExplanationOfBenefit.benefitBalance.modifierExtension":"Extension","ExplanationOfBenefit.benefitBalance.name":"string","ExplanationOfBenefit.benefitBalance.network":"CodeableConcept","ExplanationOfBenefit.benefitBalance.term":"CodeableConcept","ExplanationOfBenefit.benefitBalance.unit":"CodeableConcept","ExplanationOfBenefit.benefitPeriod":"Period","ExplanationOfBenefit.billablePeriod":"Period","ExplanationOfBenefit.careTeam.extension":"Extension","ExplanationOfBenefit.careTeam.id":"System.String","ExplanationOfBenefit.careTeam.modifierExtension":"Extension","ExplanationOfBenefit.careTeam.provider":"Reference","ExplanationOfBenefit.careTeam.qualification":"CodeableConcept","ExplanationOfBenefit.careTeam.responsible":"boolean","ExplanationOfBenefit.careTeam.role":"CodeableConcept","ExplanationOfBenefit.careTeam.sequence":"positiveInt","ExplanationOfBenefit.claim":"Reference","ExplanationOfBenefit.claimResponse":"Reference","ExplanationOfBenefit.contained":"Resource","ExplanationOfBenefit.created":"dateTime","ExplanationOfBenefit.diagnosis.diagnosisCodeableConcept":"CodeableConcept","ExplanationOfBenefit.diagnosis.diagnosisReference":"Reference","ExplanationOfBenefit.diagnosis.extension":"Extension","ExplanationOfBenefit.diagnosis.id":"System.String","ExplanationOfBenefit.diagnosis.modifierExtension":"Extension","ExplanationOfBenefit.diagnosis.onAdmission":"CodeableConcept","ExplanationOfBenefit.diagnosis.packageCode":"CodeableConcept","ExplanationOfBenefit.diagnosis.sequence":"positiveInt","ExplanationOfBenefit.diagnosis.type":"CodeableConcept","ExplanationOfBenefit.disposition":"string","ExplanationOfBenefit.enterer":"Reference","ExplanationOfBenefit.extension":"Extension","ExplanationOfBenefit.facility":"Reference","ExplanationOfBenefit.form":"Attachment","ExplanationOfBenefit.formCode":"CodeableConcept","ExplanationOfBenefit.fundsReserve":"CodeableConcept","ExplanationOfBenefit.fundsReserveRequested":"CodeableConcept","ExplanationOfBenefit.id":"System.String","ExplanationOfBenefit.identifier":"Identifier","ExplanationOfBenefit.implicitRules":"uri","ExplanationOfBenefit.insurance.coverage":"Reference","ExplanationOfBenefit.insurance.extension":"Extension","ExplanationOfBenefit.insurance.focal":"boolean","ExplanationOfBenefit.insurance.id":"System.String","ExplanationOfBenefit.insurance.modifierExtension":"Extension","ExplanationOfBenefit.insurance.preAuthRef":"string","ExplanationOfBenefit.insurer":"Reference","ExplanationOfBenefit.item.adjudication.amount":"Money","ExplanationOfBenefit.item.adjudication.category":"CodeableConcept","ExplanationOfBenefit.item.adjudication.extension":"Extension","ExplanationOfBenefit.item.adjudication.id":"System.String","ExplanationOfBenefit.item.adjudication.modifierExtension":"Extension","ExplanationOfBenefit.item.adjudication.reason":"CodeableConcept","ExplanationOfBenefit.item.adjudication.value":"decimal","ExplanationOfBenefit.item.bodySite":"CodeableConcept","ExplanationOfBenefit.item.careTeamSequence":"positiveInt","ExplanationOfBenefit.item.category":"CodeableConcept","ExplanationOfBenefit.item.detail.category":"CodeableConcept","ExplanationOfBenefit.item.detail.extension":"Extension","ExplanationOfBenefit.item.detail.factor":"decimal","ExplanationOfBenefit.item.detail.id":"System.String","ExplanationOfBenefit.item.detail.modifier":"CodeableConcept","ExplanationOfBenefit.item.detail.modifierExtension":"Extension","ExplanationOfBenefit.item.detail.net":"Money","ExplanationOfBenefit.item.detail.noteNumber":"positiveInt","ExplanationOfBenefit.item.detail.productOrService":"CodeableConcept","ExplanationOfBenefit.item.detail.programCode":"CodeableConcept","ExplanationOfBenefit.item.detail.quantity":"Quantity","ExplanationOfBenefit.item.detail.revenue":"CodeableConcept","ExplanationOfBenefit.item.detail.sequence":"positiveInt","ExplanationOfBenefit.item.detail.subDetail.category":"CodeableConcept","ExplanationOfBenefit.item.detail.subDetail.extension":"Extension","ExplanationOfBenefit.item.detail.subDetail.factor":"decimal","ExplanationOfBenefit.item.detail.subDetail.id":"System.String","ExplanationOfBenefit.item.detail.subDetail.modifier":"CodeableConcept","ExplanationOfBenefit.item.detail.subDetail.modifierExtension":"Extension","ExplanationOfBenefit.item.detail.subDetail.net":"Money","ExplanationOfBenefit.item.detail.subDetail.noteNumber":"positiveInt","ExplanationOfBenefit.item.detail.subDetail.productOrService":"CodeableConcept","ExplanationOfBenefit.item.detail.subDetail.programCode":"CodeableConcept","ExplanationOfBenefit.item.detail.subDetail.quantity":"Quantity","ExplanationOfBenefit.item.detail.subDetail.revenue":"CodeableConcept","ExplanationOfBenefit.item.detail.subDetail.sequence":"positiveInt","ExplanationOfBenefit.item.detail.subDetail.udi":"Reference","ExplanationOfBenefit.item.detail.subDetail.unitPrice":"Money","ExplanationOfBenefit.item.detail.udi":"Reference","ExplanationOfBenefit.item.detail.unitPrice":"Money","ExplanationOfBenefit.item.diagnosisSequence":"positiveInt","ExplanationOfBenefit.item.encounter":"Reference","ExplanationOfBenefit.item.extension":"Extension","ExplanationOfBenefit.item.factor":"decimal","ExplanationOfBenefit.item.id":"System.String","ExplanationOfBenefit.item.informationSequence":"positiveInt","ExplanationOfBenefit.item.locationAddress":"Address","ExplanationOfBenefit.item.locationCodeableConcept":"CodeableConcept","ExplanationOfBenefit.item.locationReference":"Reference","ExplanationOfBenefit.item.modifier":"CodeableConcept","ExplanationOfBenefit.item.modifierExtension":"Extension","ExplanationOfBenefit.item.net":"Money","ExplanationOfBenefit.item.noteNumber":"positiveInt","ExplanationOfBenefit.item.procedureSequence":"positiveInt","ExplanationOfBenefit.item.productOrService":"CodeableConcept","ExplanationOfBenefit.item.programCode":"CodeableConcept","ExplanationOfBenefit.item.quantity":"Quantity","ExplanationOfBenefit.item.revenue":"CodeableConcept","ExplanationOfBenefit.item.sequence":"positiveInt","ExplanationOfBenefit.item.servicedDate":"date","ExplanationOfBenefit.item.servicedPeriod":"Period","ExplanationOfBenefit.item.subSite":"CodeableConcept","ExplanationOfBenefit.item.udi":"Reference","ExplanationOfBenefit.item.unitPrice":"Money","ExplanationOfBenefit.language":"code","ExplanationOfBenefit.meta":"Meta","ExplanationOfBenefit.modifierExtension":"Extension","ExplanationOfBenefit.originalPrescription":"Reference","ExplanationOfBenefit.outcome":"code","ExplanationOfBenefit.patient":"Reference","ExplanationOfBenefit.payee.extension":"Extension","ExplanationOfBenefit.payee.id":"System.String","ExplanationOfBenefit.payee.modifierExtension":"Extension","ExplanationOfBenefit.payee.party":"Reference","ExplanationOfBenefit.payee.type":"CodeableConcept","ExplanationOfBenefit.payment.adjustment":"Money","ExplanationOfBenefit.payment.adjustmentReason":"CodeableConcept","ExplanationOfBenefit.payment.amount":"Money","ExplanationOfBenefit.payment.date":"date","ExplanationOfBenefit.payment.extension":"Extension","ExplanationOfBenefit.payment.id":"System.String","ExplanationOfBenefit.payment.identifier":"Identifier","ExplanationOfBenefit.payment.modifierExtension":"Extension","ExplanationOfBenefit.payment.type":"CodeableConcept","ExplanationOfBenefit.preAuthRef":"string","ExplanationOfBenefit.preAuthRefPeriod":"Period","ExplanationOfBenefit.precedence":"positiveInt","ExplanationOfBenefit.prescription":"Reference","ExplanationOfBenefit.priority":"CodeableConcept","ExplanationOfBenefit.procedure.date":"dateTime","ExplanationOfBenefit.procedure.extension":"Extension","ExplanationOfBenefit.procedure.id":"System.String","ExplanationOfBenefit.procedure.modifierExtension":"Extension","ExplanationOfBenefit.procedure.procedureCodeableConcept":"CodeableConcept","ExplanationOfBenefit.procedure.procedureReference":"Reference","ExplanationOfBenefit.procedure.sequence":"positiveInt","ExplanationOfBenefit.procedure.type":"CodeableConcept","ExplanationOfBenefit.procedure.udi":"Reference","ExplanationOfBenefit.processNote.extension":"Extension","ExplanationOfBenefit.processNote.id":"System.String","ExplanationOfBenefit.processNote.language":"CodeableConcept","ExplanationOfBenefit.processNote.modifierExtension":"Extension","ExplanationOfBenefit.processNote.number":"positiveInt","ExplanationOfBenefit.processNote.text":"string","ExplanationOfBenefit.processNote.type":"code","ExplanationOfBenefit.provider":"Reference","ExplanationOfBenefit.referral":"Reference","ExplanationOfBenefit.related.claim":"Reference","ExplanationOfBenefit.related.extension":"Extension","ExplanationOfBenefit.related.id":"System.String","ExplanationOfBenefit.related.modifierExtension":"Extension","ExplanationOfBenefit.related.reference":"Identifier","ExplanationOfBenefit.related.relationship":"CodeableConcept","ExplanationOfBenefit.status":"code","ExplanationOfBenefit.subType":"CodeableConcept","ExplanationOfBenefit.supportingInfo.category":"CodeableConcept","ExplanationOfBenefit.supportingInfo.code":"CodeableConcept","ExplanationOfBenefit.supportingInfo.extension":"Extension","ExplanationOfBenefit.supportingInfo.id":"System.String","ExplanationOfBenefit.supportingInfo.modifierExtension":"Extension","ExplanationOfBenefit.supportingInfo.reason":"Coding","ExplanationOfBenefit.supportingInfo.sequence":"positiveInt","ExplanationOfBenefit.supportingInfo.timingDate":"date","ExplanationOfBenefit.supportingInfo.timingPeriod":"Period","ExplanationOfBenefit.supportingInfo.valueAttachment":"Attachment","ExplanationOfBenefit.supportingInfo.valueBoolean":"boolean","ExplanationOfBenefit.supportingInfo.valueQuantity":"Quantity","ExplanationOfBenefit.supportingInfo.valueReference":"Reference","ExplanationOfBenefit.supportingInfo.valueString":"string","ExplanationOfBenefit.text":"Narrative","ExplanationOfBenefit.total.amount":"Money","ExplanationOfBenefit.total.category":"CodeableConcept","ExplanationOfBenefit.total.extension":"Extension","ExplanationOfBenefit.total.id":"System.String","ExplanationOfBenefit.total.modifierExtension":"Extension","ExplanationOfBenefit.type":"CodeableConcept","ExplanationOfBenefit.use":"code","Expression.description":"string","Expression.expression":"string","Expression.extension":"Extension","Expression.id":"System.String","Expression.language":"code","Expression.name":"id","Expression.reference":"uri","Extension.extension":"Extension","Extension.id":"System.String","Extension.url":"System.String","Extension.valueAddress":"Address","Extension.valueAge":"Age","Extension.valueAnnotation":"Annotation","Extension.valueAttachment":"Attachment","Extension.valueBase64Binary":"base64Binary","Extension.valueBoolean":"boolean","Extension.valueCanonical":"canonical","Extension.valueCode":"code","Extension.valueCodeableConcept":"CodeableConcept","Extension.valueCoding":"Coding","Extension.valueContactDetail":"ContactDetail","Extension.valueContactPoint":"ContactPoint","Extension.valueContributor":"Contributor","Extension.valueCount":"Count","Extension.valueDataRequirement":"DataRequirement","Extension.valueDate":"date","Extension.valueDateTime":"dateTime","Extension.valueDecimal":"decimal","Extension.valueDistance":"Distance","Extension.valueDosage":"Dosage","Extension.valueDuration":"Duration","Extension.valueExpression":"Expression","Extension.valueHumanName":"HumanName","Extension.valueId":"id","Extension.valueIdentifier":"Identifier","Extension.valueInstant":"instant","Extension.valueInteger":"integer","Extension.valueMarkdown":"markdown","Extension.valueMeta":"Meta","Extension.valueMoney":"Money","Extension.valueOid":"oid","Extension.valueParameterDefinition":"ParameterDefinition","Extension.valuePeriod":"Period","Extension.valuePositiveInt":"positiveInt","Extension.valueQuantity":"Quantity","Extension.valueRange":"Range","Extension.valueRatio":"Ratio","Extension.valueReference":"Reference","Extension.valueRelatedArtifact":"RelatedArtifact","Extension.valueSampledData":"SampledData","Extension.valueSignature":"Signature","Extension.valueString":"string","Extension.valueTime":"time","Extension.valueTiming":"Timing","Extension.valueTriggerDefinition":"TriggerDefinition","Extension.valueUnsignedInt":"unsignedInt","Extension.valueUri":"uri","Extension.valueUrl":"url","Extension.valueUsageContext":"UsageContext","Extension.valueUuid":"uuid","FamilyMemberHistory.ageAge":"Age","FamilyMemberHistory.ageRange":"Range","FamilyMemberHistory.ageString":"string","FamilyMemberHistory.bornDate":"date","FamilyMemberHistory.bornPeriod":"Period","FamilyMemberHistory.bornString":"string","FamilyMemberHistory.condition.code":"CodeableConcept","FamilyMemberHistory.condition.contributedToDeath":"boolean","FamilyMemberHistory.condition.extension":"Extension","FamilyMemberHistory.condition.id":"System.String","FamilyMemberHistory.condition.modifierExtension":"Extension","FamilyMemberHistory.condition.note":"Annotation","FamilyMemberHistory.condition.onsetAge":"Age","FamilyMemberHistory.condition.onsetPeriod":"Period","FamilyMemberHistory.condition.onsetRange":"Range","FamilyMemberHistory.condition.onsetString":"string","FamilyMemberHistory.condition.outcome":"CodeableConcept","FamilyMemberHistory.contained":"Resource","FamilyMemberHistory.dataAbsentReason":"CodeableConcept","FamilyMemberHistory.date":"dateTime","FamilyMemberHistory.deceasedAge":"Age","FamilyMemberHistory.deceasedBoolean":"boolean","FamilyMemberHistory.deceasedDate":"date","FamilyMemberHistory.deceasedRange":"Range","FamilyMemberHistory.deceasedString":"string","FamilyMemberHistory.estimatedAge":"boolean","FamilyMemberHistory.extension":"Extension","FamilyMemberHistory.id":"System.String","FamilyMemberHistory.identifier":"Identifier","FamilyMemberHistory.implicitRules":"uri","FamilyMemberHistory.instantiatesCanonical":"canonical","FamilyMemberHistory.instantiatesUri":"uri","FamilyMemberHistory.language":"code","FamilyMemberHistory.meta":"Meta","FamilyMemberHistory.modifierExtension":"Extension","FamilyMemberHistory.name":"string","FamilyMemberHistory.note":"Annotation","FamilyMemberHistory.patient":"Reference","FamilyMemberHistory.reasonCode":"CodeableConcept","FamilyMemberHistory.reasonReference":"Reference","FamilyMemberHistory.relationship":"CodeableConcept","FamilyMemberHistory.sex":"CodeableConcept","FamilyMemberHistory.status":"code","FamilyMemberHistory.text":"Narrative","Flag.author":"Reference","Flag.category":"CodeableConcept","Flag.code":"CodeableConcept","Flag.contained":"Resource","Flag.encounter":"Reference","Flag.extension":"Extension","Flag.id":"System.String","Flag.identifier":"Identifier","Flag.implicitRules":"uri","Flag.language":"code","Flag.meta":"Meta","Flag.modifierExtension":"Extension","Flag.period":"Period","Flag.status":"code","Flag.subject":"Reference","Flag.text":"Narrative","Goal.achievementStatus":"CodeableConcept","Goal.addresses":"Reference","Goal.category":"CodeableConcept","Goal.contained":"Resource","Goal.description":"CodeableConcept","Goal.expressedBy":"Reference","Goal.extension":"Extension","Goal.id":"System.String","Goal.identifier":"Identifier","Goal.implicitRules":"uri","Goal.language":"code","Goal.lifecycleStatus":"code","Goal.meta":"Meta","Goal.modifierExtension":"Extension","Goal.note":"Annotation","Goal.outcomeCode":"CodeableConcept","Goal.outcomeReference":"Reference","Goal.priority":"CodeableConcept","Goal.startCodeableConcept":"CodeableConcept","Goal.startDate":"date","Goal.statusDate":"date","Goal.statusReason":"string","Goal.subject":"Reference","Goal.target.detailBoolean":"boolean","Goal.target.detailCodeableConcept":"CodeableConcept","Goal.target.detailInteger":"integer","Goal.target.detailQuantity":"Quantity","Goal.target.detailRange":"Range","Goal.target.detailRatio":"Ratio","Goal.target.detailString":"string","Goal.target.dueDate":"date","Goal.target.dueDuration":"Duration","Goal.target.extension":"Extension","Goal.target.id":"System.String","Goal.target.measure":"CodeableConcept","Goal.target.modifierExtension":"Extension","Goal.text":"Narrative","GraphDefinition.contact":"ContactDetail","GraphDefinition.contained":"Resource","GraphDefinition.date":"dateTime","GraphDefinition.description":"markdown","GraphDefinition.experimental":"boolean","GraphDefinition.extension":"Extension","GraphDefinition.id":"System.String","GraphDefinition.implicitRules":"uri","GraphDefinition.jurisdiction":"CodeableConcept","GraphDefinition.language":"code","GraphDefinition.link.description":"string","GraphDefinition.link.extension":"Extension","GraphDefinition.link.id":"System.String","GraphDefinition.link.max":"string","GraphDefinition.link.min":"integer","GraphDefinition.link.modifierExtension":"Extension","GraphDefinition.link.path":"string","GraphDefinition.link.sliceName":"string","GraphDefinition.link.target.compartment.code":"code","GraphDefinition.link.target.compartment.description":"string","GraphDefinition.link.target.compartment.expression":"string","GraphDefinition.link.target.compartment.extension":"Extension","GraphDefinition.link.target.compartment.id":"System.String","GraphDefinition.link.target.compartment.modifierExtension":"Extension","GraphDefinition.link.target.compartment.rule":"code","GraphDefinition.link.target.compartment.use":"code","GraphDefinition.link.target.extension":"Extension","GraphDefinition.link.target.id":"System.String","GraphDefinition.link.target.modifierExtension":"Extension","GraphDefinition.link.target.params":"string","GraphDefinition.link.target.profile":"canonical","GraphDefinition.link.target.type":"code","GraphDefinition.meta":"Meta","GraphDefinition.modifierExtension":"Extension","GraphDefinition.name":"string","GraphDefinition.profile":"canonical","GraphDefinition.publisher":"string","GraphDefinition.purpose":"markdown","GraphDefinition.start":"code","GraphDefinition.status":"code","GraphDefinition.text":"Narrative","GraphDefinition.url":"uri","GraphDefinition.useContext":"UsageContext","GraphDefinition.version":"string","Group.active":"boolean","Group.actual":"boolean","Group.characteristic.code":"CodeableConcept","Group.characteristic.exclude":"boolean","Group.characteristic.extension":"Extension","Group.characteristic.id":"System.String","Group.characteristic.modifierExtension":"Extension","Group.characteristic.period":"Period","Group.characteristic.valueBoolean":"boolean","Group.characteristic.valueCodeableConcept":"CodeableConcept","Group.characteristic.valueQuantity":"Quantity","Group.characteristic.valueRange":"Range","Group.characteristic.valueReference":"Reference","Group.code":"CodeableConcept","Group.contained":"Resource","Group.extension":"Extension","Group.id":"System.String","Group.identifier":"Identifier","Group.implicitRules":"uri","Group.language":"code","Group.managingEntity":"Reference","Group.member.entity":"Reference","Group.member.extension":"Extension","Group.member.id":"System.String","Group.member.inactive":"boolean","Group.member.modifierExtension":"Extension","Group.member.period":"Period","Group.meta":"Meta","Group.modifierExtension":"Extension","Group.name":"string","Group.quantity":"unsignedInt","Group.text":"Narrative","Group.type":"code","GuidanceResponse.contained":"Resource","GuidanceResponse.dataRequirement":"DataRequirement","GuidanceResponse.encounter":"Reference","GuidanceResponse.evaluationMessage":"Reference","GuidanceResponse.extension":"Extension","GuidanceResponse.id":"System.String","GuidanceResponse.identifier":"Identifier","GuidanceResponse.implicitRules":"uri","GuidanceResponse.language":"code","GuidanceResponse.meta":"Meta","GuidanceResponse.modifierExtension":"Extension","GuidanceResponse.moduleCanonical":"canonical","GuidanceResponse.moduleCodeableConcept":"CodeableConcept","GuidanceResponse.moduleUri":"uri","GuidanceResponse.note":"Annotation","GuidanceResponse.occurrenceDateTime":"dateTime","GuidanceResponse.outputParameters":"Reference","GuidanceResponse.performer":"Reference","GuidanceResponse.reasonCode":"CodeableConcept","GuidanceResponse.reasonReference":"Reference","GuidanceResponse.requestIdentifier":"Identifier","GuidanceResponse.result":"Reference","GuidanceResponse.status":"code","GuidanceResponse.subject":"Reference","GuidanceResponse.text":"Narrative","HealthcareService.active":"boolean","HealthcareService.appointmentRequired":"boolean","HealthcareService.availabilityExceptions":"string","HealthcareService.availableTime.allDay":"boolean","HealthcareService.availableTime.availableEndTime":"time","HealthcareService.availableTime.availableStartTime":"time","HealthcareService.availableTime.daysOfWeek":"code","HealthcareService.availableTime.extension":"Extension","HealthcareService.availableTime.id":"System.String","HealthcareService.availableTime.modifierExtension":"Extension","HealthcareService.category":"CodeableConcept","HealthcareService.characteristic":"CodeableConcept","HealthcareService.comment":"string","HealthcareService.communication":"CodeableConcept","HealthcareService.contained":"Resource","HealthcareService.coverageArea":"Reference","HealthcareService.eligibility.code":"CodeableConcept","HealthcareService.eligibility.comment":"markdown","HealthcareService.eligibility.extension":"Extension","HealthcareService.eligibility.id":"System.String","HealthcareService.eligibility.modifierExtension":"Extension","HealthcareService.endpoint":"Reference","HealthcareService.extension":"Extension","HealthcareService.extraDetails":"markdown","HealthcareService.id":"System.String","HealthcareService.identifier":"Identifier","HealthcareService.implicitRules":"uri","HealthcareService.language":"code","HealthcareService.location":"Reference","HealthcareService.meta":"Meta","HealthcareService.modifierExtension":"Extension","HealthcareService.name":"string","HealthcareService.notAvailable.description":"string","HealthcareService.notAvailable.during":"Period","HealthcareService.notAvailable.extension":"Extension","HealthcareService.notAvailable.id":"System.String","HealthcareService.notAvailable.modifierExtension":"Extension","HealthcareService.photo":"Attachment","HealthcareService.program":"CodeableConcept","HealthcareService.providedBy":"Reference","HealthcareService.referralMethod":"CodeableConcept","HealthcareService.serviceProvisionCode":"CodeableConcept","HealthcareService.specialty":"CodeableConcept","HealthcareService.telecom":"ContactPoint","HealthcareService.text":"Narrative","HealthcareService.type":"CodeableConcept","HumanName.extension":"Extension","HumanName.family":"string","HumanName.given":"string","HumanName.id":"System.String","HumanName.period":"Period","HumanName.prefix":"string","HumanName.suffix":"string","HumanName.text":"string","HumanName.use":"code","Identifier.assigner":"Reference","Identifier.extension":"Extension","Identifier.id":"System.String","Identifier.period":"Period","Identifier.system":"uri","Identifier.type":"CodeableConcept","Identifier.use":"code","Identifier.value":"string","ImagingStudy.basedOn":"Reference","ImagingStudy.contained":"Resource","ImagingStudy.description":"string","ImagingStudy.encounter":"Reference","ImagingStudy.endpoint":"Reference","ImagingStudy.extension":"Extension","ImagingStudy.id":"System.String","ImagingStudy.identifier":"Identifier","ImagingStudy.implicitRules":"uri","ImagingStudy.interpreter":"Reference","ImagingStudy.language":"code","ImagingStudy.location":"Reference","ImagingStudy.meta":"Meta","ImagingStudy.modality":"Coding","ImagingStudy.modifierExtension":"Extension","ImagingStudy.note":"Annotation","ImagingStudy.numberOfInstances":"unsignedInt","ImagingStudy.numberOfSeries":"unsignedInt","ImagingStudy.procedureCode":"CodeableConcept","ImagingStudy.procedureReference":"Reference","ImagingStudy.reasonCode":"CodeableConcept","ImagingStudy.reasonReference":"Reference","ImagingStudy.referrer":"Reference","ImagingStudy.series.bodySite":"Coding","ImagingStudy.series.description":"string","ImagingStudy.series.endpoint":"Reference","ImagingStudy.series.extension":"Extension","ImagingStudy.series.id":"System.String","ImagingStudy.series.instance.extension":"Extension","ImagingStudy.series.instance.id":"System.String","ImagingStudy.series.instance.modifierExtension":"Extension","ImagingStudy.series.instance.number":"unsignedInt","ImagingStudy.series.instance.sopClass":"Coding","ImagingStudy.series.instance.title":"string","ImagingStudy.series.instance.uid":"id","ImagingStudy.series.laterality":"Coding","ImagingStudy.series.modality":"Coding","ImagingStudy.series.modifierExtension":"Extension","ImagingStudy.series.number":"unsignedInt","ImagingStudy.series.numberOfInstances":"unsignedInt","ImagingStudy.series.performer.actor":"Reference","ImagingStudy.series.performer.extension":"Extension","ImagingStudy.series.performer.function":"CodeableConcept","ImagingStudy.series.performer.id":"System.String","ImagingStudy.series.performer.modifierExtension":"Extension","ImagingStudy.series.specimen":"Reference","ImagingStudy.series.started":"dateTime","ImagingStudy.series.uid":"id","ImagingStudy.started":"dateTime","ImagingStudy.status":"code","ImagingStudy.subject":"Reference","ImagingStudy.text":"Narrative","Immunization.contained":"Resource","Immunization.doseQuantity":"Quantity","Immunization.education.documentType":"string","Immunization.education.extension":"Extension","Immunization.education.id":"System.String","Immunization.education.modifierExtension":"Extension","Immunization.education.presentationDate":"dateTime","Immunization.education.publicationDate":"dateTime","Immunization.education.reference":"uri","Immunization.encounter":"Reference","Immunization.expirationDate":"date","Immunization.extension":"Extension","Immunization.fundingSource":"CodeableConcept","Immunization.id":"System.String","Immunization.identifier":"Identifier","Immunization.implicitRules":"uri","Immunization.isSubpotent":"boolean","Immunization.language":"code","Immunization.location":"Reference","Immunization.lotNumber":"string","Immunization.manufacturer":"Reference","Immunization.meta":"Meta","Immunization.modifierExtension":"Extension","Immunization.note":"Annotation","Immunization.occurrenceDateTime":"dateTime","Immunization.occurrenceString":"string","Immunization.patient":"Reference","Immunization.performer.actor":"Reference","Immunization.performer.extension":"Extension","Immunization.performer.function":"CodeableConcept","Immunization.performer.id":"System.String","Immunization.performer.modifierExtension":"Extension","Immunization.primarySource":"boolean","Immunization.programEligibility":"CodeableConcept","Immunization.protocolApplied.authority":"Reference","Immunization.protocolApplied.doseNumberPositiveInt":"positiveInt","Immunization.protocolApplied.doseNumberString":"string","Immunization.protocolApplied.extension":"Extension","Immunization.protocolApplied.id":"System.String","Immunization.protocolApplied.modifierExtension":"Extension","Immunization.protocolApplied.series":"string","Immunization.protocolApplied.seriesDosesPositiveInt":"positiveInt","Immunization.protocolApplied.seriesDosesString":"string","Immunization.protocolApplied.targetDisease":"CodeableConcept","Immunization.reaction.date":"dateTime","Immunization.reaction.detail":"Reference","Immunization.reaction.extension":"Extension","Immunization.reaction.id":"System.String","Immunization.reaction.modifierExtension":"Extension","Immunization.reaction.reported":"boolean","Immunization.reasonCode":"CodeableConcept","Immunization.reasonReference":"Reference","Immunization.recorded":"dateTime","Immunization.reportOrigin":"CodeableConcept","Immunization.route":"CodeableConcept","Immunization.site":"CodeableConcept","Immunization.status":"code","Immunization.statusReason":"CodeableConcept","Immunization.subpotentReason":"CodeableConcept","Immunization.text":"Narrative","Immunization.vaccineCode":"CodeableConcept","ImmunizationEvaluation.authority":"Reference","ImmunizationEvaluation.contained":"Resource","ImmunizationEvaluation.date":"dateTime","ImmunizationEvaluation.description":"string","ImmunizationEvaluation.doseNumberPositiveInt":"positiveInt","ImmunizationEvaluation.doseNumberString":"string","ImmunizationEvaluation.doseStatus":"CodeableConcept","ImmunizationEvaluation.doseStatusReason":"CodeableConcept","ImmunizationEvaluation.extension":"Extension","ImmunizationEvaluation.id":"System.String","ImmunizationEvaluation.identifier":"Identifier","ImmunizationEvaluation.immunizationEvent":"Reference","ImmunizationEvaluation.implicitRules":"uri","ImmunizationEvaluation.language":"code","ImmunizationEvaluation.meta":"Meta","ImmunizationEvaluation.modifierExtension":"Extension","ImmunizationEvaluation.patient":"Reference","ImmunizationEvaluation.series":"string","ImmunizationEvaluation.seriesDosesPositiveInt":"positiveInt","ImmunizationEvaluation.seriesDosesString":"string","ImmunizationEvaluation.status":"code","ImmunizationEvaluation.targetDisease":"CodeableConcept","ImmunizationEvaluation.text":"Narrative","ImmunizationRecommendation.authority":"Reference","ImmunizationRecommendation.contained":"Resource","ImmunizationRecommendation.date":"dateTime","ImmunizationRecommendation.extension":"Extension","ImmunizationRecommendation.id":"System.String","ImmunizationRecommendation.identifier":"Identifier","ImmunizationRecommendation.implicitRules":"uri","ImmunizationRecommendation.language":"code","ImmunizationRecommendation.meta":"Meta","ImmunizationRecommendation.modifierExtension":"Extension","ImmunizationRecommendation.patient":"Reference","ImmunizationRecommendation.recommendation.contraindicatedVaccineCode":"CodeableConcept","ImmunizationRecommendation.recommendation.dateCriterion.code":"CodeableConcept","ImmunizationRecommendation.recommendation.dateCriterion.extension":"Extension","ImmunizationRecommendation.recommendation.dateCriterion.id":"System.String","ImmunizationRecommendation.recommendation.dateCriterion.modifierExtension":"Extension","ImmunizationRecommendation.recommendation.dateCriterion.value":"dateTime","ImmunizationRecommendation.recommendation.description":"string","ImmunizationRecommendation.recommendation.doseNumberPositiveInt":"positiveInt","ImmunizationRecommendation.recommendation.doseNumberString":"string","ImmunizationRecommendation.recommendation.extension":"Extension","ImmunizationRecommendation.recommendation.forecastReason":"CodeableConcept","ImmunizationRecommendation.recommendation.forecastStatus":"CodeableConcept","ImmunizationRecommendation.recommendation.id":"System.String","ImmunizationRecommendation.recommendation.modifierExtension":"Extension","ImmunizationRecommendation.recommendation.series":"string","ImmunizationRecommendation.recommendation.seriesDosesPositiveInt":"positiveInt","ImmunizationRecommendation.recommendation.seriesDosesString":"string","ImmunizationRecommendation.recommendation.supportingImmunization":"Reference","ImmunizationRecommendation.recommendation.supportingPatientInformation":"Reference","ImmunizationRecommendation.recommendation.targetDisease":"CodeableConcept","ImmunizationRecommendation.recommendation.vaccineCode":"CodeableConcept","ImmunizationRecommendation.text":"Narrative","ImplementationGuide.contact":"ContactDetail","ImplementationGuide.contained":"Resource","ImplementationGuide.copyright":"markdown","ImplementationGuide.date":"dateTime","ImplementationGuide.definition.extension":"Extension","ImplementationGuide.definition.grouping.description":"string","ImplementationGuide.definition.grouping.extension":"Extension","ImplementationGuide.definition.grouping.id":"System.String","ImplementationGuide.definition.grouping.modifierExtension":"Extension","ImplementationGuide.definition.grouping.name":"string","ImplementationGuide.definition.id":"System.String","ImplementationGuide.definition.modifierExtension":"Extension","ImplementationGuide.definition.page.extension":"Extension","ImplementationGuide.definition.page.generation":"code","ImplementationGuide.definition.page.id":"System.String","ImplementationGuide.definition.page.modifierExtension":"Extension","ImplementationGuide.definition.page.nameReference":"Reference","ImplementationGuide.definition.page.nameUrl":"url","ImplementationGuide.definition.page.title":"string","ImplementationGuide.definition.parameter.code":"code","ImplementationGuide.definition.parameter.extension":"Extension","ImplementationGuide.definition.parameter.id":"System.String","ImplementationGuide.definition.parameter.modifierExtension":"Extension","ImplementationGuide.definition.parameter.value":"string","ImplementationGuide.definition.resource.description":"string","ImplementationGuide.definition.resource.exampleBoolean":"boolean","ImplementationGuide.definition.resource.exampleCanonical":"canonical","ImplementationGuide.definition.resource.extension":"Extension","ImplementationGuide.definition.resource.fhirVersion":"code","ImplementationGuide.definition.resource.groupingId":"id","ImplementationGuide.definition.resource.id":"System.String","ImplementationGuide.definition.resource.modifierExtension":"Extension","ImplementationGuide.definition.resource.name":"string","ImplementationGuide.definition.resource.reference":"Reference","ImplementationGuide.definition.template.code":"code","ImplementationGuide.definition.template.extension":"Extension","ImplementationGuide.definition.template.id":"System.String","ImplementationGuide.definition.template.modifierExtension":"Extension","ImplementationGuide.definition.template.scope":"string","ImplementationGuide.definition.template.source":"string","ImplementationGuide.dependsOn.extension":"Extension","ImplementationGuide.dependsOn.id":"System.String","ImplementationGuide.dependsOn.modifierExtension":"Extension","ImplementationGuide.dependsOn.packageId":"id","ImplementationGuide.dependsOn.uri":"canonical","ImplementationGuide.dependsOn.version":"string","ImplementationGuide.description":"markdown","ImplementationGuide.experimental":"boolean","ImplementationGuide.extension":"Extension","ImplementationGuide.fhirVersion":"code","ImplementationGuide.global.extension":"Extension","ImplementationGuide.global.id":"System.String","ImplementationGuide.global.modifierExtension":"Extension","ImplementationGuide.global.profile":"canonical","ImplementationGuide.global.type":"code","ImplementationGuide.id":"System.String","ImplementationGuide.implicitRules":"uri","ImplementationGuide.jurisdiction":"CodeableConcept","ImplementationGuide.language":"code","ImplementationGuide.license":"code","ImplementationGuide.manifest.extension":"Extension","ImplementationGuide.manifest.id":"System.String","ImplementationGuide.manifest.image":"string","ImplementationGuide.manifest.modifierExtension":"Extension","ImplementationGuide.manifest.other":"string","ImplementationGuide.manifest.page.anchor":"string","ImplementationGuide.manifest.page.extension":"Extension","ImplementationGuide.manifest.page.id":"System.String","ImplementationGuide.manifest.page.modifierExtension":"Extension","ImplementationGuide.manifest.page.name":"string","ImplementationGuide.manifest.page.title":"string","ImplementationGuide.manifest.rendering":"url","ImplementationGuide.manifest.resource.exampleBoolean":"boolean","ImplementationGuide.manifest.resource.exampleCanonical":"canonical","ImplementationGuide.manifest.resource.extension":"Extension","ImplementationGuide.manifest.resource.id":"System.String","ImplementationGuide.manifest.resource.modifierExtension":"Extension","ImplementationGuide.manifest.resource.reference":"Reference","ImplementationGuide.manifest.resource.relativePath":"url","ImplementationGuide.meta":"Meta","ImplementationGuide.modifierExtension":"Extension","ImplementationGuide.name":"string","ImplementationGuide.packageId":"id","ImplementationGuide.publisher":"string","ImplementationGuide.status":"code","ImplementationGuide.text":"Narrative","ImplementationGuide.title":"string","ImplementationGuide.url":"uri","ImplementationGuide.useContext":"UsageContext","ImplementationGuide.version":"string","InsurancePlan.administeredBy":"Reference","InsurancePlan.alias":"string","InsurancePlan.contact.address":"Address","InsurancePlan.contact.extension":"Extension","InsurancePlan.contact.id":"System.String","InsurancePlan.contact.modifierExtension":"Extension","InsurancePlan.contact.name":"HumanName","InsurancePlan.contact.purpose":"CodeableConcept","InsurancePlan.contact.telecom":"ContactPoint","InsurancePlan.contained":"Resource","InsurancePlan.coverage.benefit.extension":"Extension","InsurancePlan.coverage.benefit.id":"System.String","InsurancePlan.coverage.benefit.limit.code":"CodeableConcept","InsurancePlan.coverage.benefit.limit.extension":"Extension","InsurancePlan.coverage.benefit.limit.id":"System.String","InsurancePlan.coverage.benefit.limit.modifierExtension":"Extension","InsurancePlan.coverage.benefit.limit.value":"Quantity","InsurancePlan.coverage.benefit.modifierExtension":"Extension","InsurancePlan.coverage.benefit.requirement":"string","InsurancePlan.coverage.benefit.type":"CodeableConcept","InsurancePlan.coverage.extension":"Extension","InsurancePlan.coverage.id":"System.String","InsurancePlan.coverage.modifierExtension":"Extension","InsurancePlan.coverage.network":"Reference","InsurancePlan.coverage.type":"CodeableConcept","InsurancePlan.coverageArea":"Reference","InsurancePlan.endpoint":"Reference","InsurancePlan.extension":"Extension","InsurancePlan.id":"System.String","InsurancePlan.identifier":"Identifier","InsurancePlan.implicitRules":"uri","InsurancePlan.language":"code","InsurancePlan.meta":"Meta","InsurancePlan.modifierExtension":"Extension","InsurancePlan.name":"string","InsurancePlan.network":"Reference","InsurancePlan.ownedBy":"Reference","InsurancePlan.period":"Period","InsurancePlan.plan.coverageArea":"Reference","InsurancePlan.plan.extension":"Extension","InsurancePlan.plan.generalCost.comment":"string","InsurancePlan.plan.generalCost.cost":"Money","InsurancePlan.plan.generalCost.extension":"Extension","InsurancePlan.plan.generalCost.groupSize":"positiveInt","InsurancePlan.plan.generalCost.id":"System.String","InsurancePlan.plan.generalCost.modifierExtension":"Extension","InsurancePlan.plan.generalCost.type":"CodeableConcept","InsurancePlan.plan.id":"System.String","InsurancePlan.plan.identifier":"Identifier","InsurancePlan.plan.modifierExtension":"Extension","InsurancePlan.plan.network":"Reference","InsurancePlan.plan.specificCost.benefit.cost.applicability":"CodeableConcept","InsurancePlan.plan.specificCost.benefit.cost.extension":"Extension","InsurancePlan.plan.specificCost.benefit.cost.id":"System.String","InsurancePlan.plan.specificCost.benefit.cost.modifierExtension":"Extension","InsurancePlan.plan.specificCost.benefit.cost.qualifiers":"CodeableConcept","InsurancePlan.plan.specificCost.benefit.cost.type":"CodeableConcept","InsurancePlan.plan.specificCost.benefit.cost.value":"Quantity","InsurancePlan.plan.specificCost.benefit.extension":"Extension","InsurancePlan.plan.specificCost.benefit.id":"System.String","InsurancePlan.plan.specificCost.benefit.modifierExtension":"Extension","InsurancePlan.plan.specificCost.benefit.type":"CodeableConcept","InsurancePlan.plan.specificCost.category":"CodeableConcept","InsurancePlan.plan.specificCost.extension":"Extension","InsurancePlan.plan.specificCost.id":"System.String","InsurancePlan.plan.specificCost.modifierExtension":"Extension","InsurancePlan.plan.type":"CodeableConcept","InsurancePlan.status":"code","InsurancePlan.text":"Narrative","InsurancePlan.type":"CodeableConcept","Invoice.account":"Reference","Invoice.cancelledReason":"string","Invoice.contained":"Resource","Invoice.date":"dateTime","Invoice.extension":"Extension","Invoice.id":"System.String","Invoice.identifier":"Identifier","Invoice.implicitRules":"uri","Invoice.issuer":"Reference","Invoice.language":"code","Invoice.lineItem.chargeItemCodeableConcept":"CodeableConcept","Invoice.lineItem.chargeItemReference":"Reference","Invoice.lineItem.extension":"Extension","Invoice.lineItem.id":"System.String","Invoice.lineItem.modifierExtension":"Extension","Invoice.lineItem.priceComponent.amount":"Money","Invoice.lineItem.priceComponent.code":"CodeableConcept","Invoice.lineItem.priceComponent.extension":"Extension","Invoice.lineItem.priceComponent.factor":"decimal","Invoice.lineItem.priceComponent.id":"System.String","Invoice.lineItem.priceComponent.modifierExtension":"Extension","Invoice.lineItem.priceComponent.type":"code","Invoice.lineItem.sequence":"positiveInt","Invoice.meta":"Meta","Invoice.modifierExtension":"Extension","Invoice.note":"Annotation","Invoice.participant.actor":"Reference","Invoice.participant.extension":"Extension","Invoice.participant.id":"System.String","Invoice.participant.modifierExtension":"Extension","Invoice.participant.role":"CodeableConcept","Invoice.paymentTerms":"markdown","Invoice.recipient":"Reference","Invoice.status":"code","Invoice.subject":"Reference","Invoice.text":"Narrative","Invoice.totalGross":"Money","Invoice.totalNet":"Money","Invoice.type":"CodeableConcept","Library.approvalDate":"date","Library.author":"ContactDetail","Library.contact":"ContactDetail","Library.contained":"Resource","Library.content":"Attachment","Library.copyright":"markdown","Library.dataRequirement":"DataRequirement","Library.date":"dateTime","Library.description":"markdown","Library.editor":"ContactDetail","Library.effectivePeriod":"Period","Library.endorser":"ContactDetail","Library.experimental":"boolean","Library.extension":"Extension","Library.id":"System.String","Library.identifier":"Identifier","Library.implicitRules":"uri","Library.jurisdiction":"CodeableConcept","Library.language":"code","Library.lastReviewDate":"date","Library.meta":"Meta","Library.modifierExtension":"Extension","Library.name":"string","Library.parameter":"ParameterDefinition","Library.publisher":"string","Library.purpose":"markdown","Library.relatedArtifact":"RelatedArtifact","Library.reviewer":"ContactDetail","Library.status":"code","Library.subjectCodeableConcept":"CodeableConcept","Library.subjectReference":"Reference","Library.subtitle":"string","Library.text":"Narrative","Library.title":"string","Library.topic":"CodeableConcept","Library.type":"CodeableConcept","Library.url":"uri","Library.usage":"string","Library.useContext":"UsageContext","Library.version":"string","Linkage.active":"boolean","Linkage.author":"Reference","Linkage.contained":"Resource","Linkage.extension":"Extension","Linkage.id":"System.String","Linkage.implicitRules":"uri","Linkage.item.extension":"Extension","Linkage.item.id":"System.String","Linkage.item.modifierExtension":"Extension","Linkage.item.resource":"Reference","Linkage.item.type":"code","Linkage.language":"code","Linkage.meta":"Meta","Linkage.modifierExtension":"Extension","Linkage.text":"Narrative","List.code":"CodeableConcept","List.contained":"Resource","List.date":"dateTime","List.emptyReason":"CodeableConcept","List.encounter":"Reference","List.entry.date":"dateTime","List.entry.deleted":"boolean","List.entry.extension":"Extension","List.entry.flag":"CodeableConcept","List.entry.id":"System.String","List.entry.item":"Reference","List.entry.modifierExtension":"Extension","List.extension":"Extension","List.id":"System.String","List.identifier":"Identifier","List.implicitRules":"uri","List.language":"code","List.meta":"Meta","List.mode":"code","List.modifierExtension":"Extension","List.note":"Annotation","List.orderedBy":"CodeableConcept","List.source":"Reference","List.status":"code","List.subject":"Reference","List.text":"Narrative","List.title":"string","Location.address":"Address","Location.alias":"string","Location.availabilityExceptions":"string","Location.contained":"Resource","Location.description":"string","Location.endpoint":"Reference","Location.extension":"Extension","Location.hoursOfOperation.allDay":"boolean","Location.hoursOfOperation.closingTime":"time","Location.hoursOfOperation.daysOfWeek":"code","Location.hoursOfOperation.extension":"Extension","Location.hoursOfOperation.id":"System.String","Location.hoursOfOperation.modifierExtension":"Extension","Location.hoursOfOperation.openingTime":"time","Location.id":"System.String","Location.identifier":"Identifier","Location.implicitRules":"uri","Location.language":"code","Location.managingOrganization":"Reference","Location.meta":"Meta","Location.mode":"code","Location.modifierExtension":"Extension","Location.name":"string","Location.operationalStatus":"Coding","Location.partOf":"Reference","Location.physicalType":"CodeableConcept","Location.position.altitude":"decimal","Location.position.extension":"Extension","Location.position.id":"System.String","Location.position.latitude":"decimal","Location.position.longitude":"decimal","Location.position.modifierExtension":"Extension","Location.status":"code","Location.telecom":"ContactPoint","Location.text":"Narrative","Location.type":"CodeableConcept","MarketingStatus.country":"CodeableConcept","MarketingStatus.dateRange":"Period","MarketingStatus.extension":"Extension","MarketingStatus.id":"System.String","MarketingStatus.jurisdiction":"CodeableConcept","MarketingStatus.modifierExtension":"Extension","MarketingStatus.restoreDate":"dateTime","MarketingStatus.status":"CodeableConcept","Measure.approvalDate":"date","Measure.author":"ContactDetail","Measure.clinicalRecommendationStatement":"markdown","Measure.compositeScoring":"CodeableConcept","Measure.contact":"ContactDetail","Measure.contained":"Resource","Measure.copyright":"markdown","Measure.date":"dateTime","Measure.definition":"markdown","Measure.description":"markdown","Measure.disclaimer":"markdown","Measure.editor":"ContactDetail","Measure.effectivePeriod":"Period","Measure.endorser":"ContactDetail","Measure.experimental":"boolean","Measure.extension":"Extension","Measure.group.code":"CodeableConcept","Measure.group.description":"string","Measure.group.extension":"Extension","Measure.group.id":"System.String","Measure.group.modifierExtension":"Extension","Measure.group.population.code":"CodeableConcept","Measure.group.population.criteria":"Expression","Measure.group.population.description":"string","Measure.group.population.extension":"Extension","Measure.group.population.id":"System.String","Measure.group.population.modifierExtension":"Extension","Measure.group.stratifier.code":"CodeableConcept","Measure.group.stratifier.component.code":"CodeableConcept","Measure.group.stratifier.component.criteria":"Expression","Measure.group.stratifier.component.description":"string","Measure.group.stratifier.component.extension":"Extension","Measure.group.stratifier.component.id":"System.String","Measure.group.stratifier.component.modifierExtension":"Extension","Measure.group.stratifier.criteria":"Expression","Measure.group.stratifier.description":"string","Measure.group.stratifier.extension":"Extension","Measure.group.stratifier.id":"System.String","Measure.group.stratifier.modifierExtension":"Extension","Measure.guidance":"markdown","Measure.id":"System.String","Measure.identifier":"Identifier","Measure.implicitRules":"uri","Measure.improvementNotation":"CodeableConcept","Measure.jurisdiction":"CodeableConcept","Measure.language":"code","Measure.lastReviewDate":"date","Measure.library":"canonical","Measure.meta":"Meta","Measure.modifierExtension":"Extension","Measure.name":"string","Measure.publisher":"string","Measure.purpose":"markdown","Measure.rateAggregation":"string","Measure.rationale":"markdown","Measure.relatedArtifact":"RelatedArtifact","Measure.reviewer":"ContactDetail","Measure.riskAdjustment":"string","Measure.scoring":"CodeableConcept","Measure.status":"code","Measure.subjectCodeableConcept":"CodeableConcept","Measure.subjectReference":"Reference","Measure.subtitle":"string","Measure.supplementalData.code":"CodeableConcept","Measure.supplementalData.criteria":"Expression","Measure.supplementalData.description":"string","Measure.supplementalData.extension":"Extension","Measure.supplementalData.id":"System.String","Measure.supplementalData.modifierExtension":"Extension","Measure.supplementalData.usage":"CodeableConcept","Measure.text":"Narrative","Measure.title":"string","Measure.topic":"CodeableConcept","Measure.type":"CodeableConcept","Measure.url":"uri","Measure.usage":"string","Measure.useContext":"UsageContext","Measure.version":"string","MeasureReport.contained":"Resource","MeasureReport.date":"dateTime","MeasureReport.evaluatedResource":"Reference","MeasureReport.extension":"Extension","MeasureReport.group.code":"CodeableConcept","MeasureReport.group.extension":"Extension","MeasureReport.group.id":"System.String","MeasureReport.group.measureScore":"Quantity","MeasureReport.group.modifierExtension":"Extension","MeasureReport.group.population.code":"CodeableConcept","MeasureReport.group.population.count":"integer","MeasureReport.group.population.extension":"Extension","MeasureReport.group.population.id":"System.String","MeasureReport.group.population.modifierExtension":"Extension","MeasureReport.group.population.subjectResults":"Reference","MeasureReport.group.stratifier.code":"CodeableConcept","MeasureReport.group.stratifier.extension":"Extension","MeasureReport.group.stratifier.id":"System.String","MeasureReport.group.stratifier.modifierExtension":"Extension","MeasureReport.group.stratifier.stratum.component.code":"CodeableConcept","MeasureReport.group.stratifier.stratum.component.extension":"Extension","MeasureReport.group.stratifier.stratum.component.id":"System.String","MeasureReport.group.stratifier.stratum.component.modifierExtension":"Extension","MeasureReport.group.stratifier.stratum.component.value":"CodeableConcept","MeasureReport.group.stratifier.stratum.extension":"Extension","MeasureReport.group.stratifier.stratum.id":"System.String","MeasureReport.group.stratifier.stratum.measureScore":"Quantity","MeasureReport.group.stratifier.stratum.modifierExtension":"Extension","MeasureReport.group.stratifier.stratum.population.code":"CodeableConcept","MeasureReport.group.stratifier.stratum.population.count":"integer","MeasureReport.group.stratifier.stratum.population.extension":"Extension","MeasureReport.group.stratifier.stratum.population.id":"System.String","MeasureReport.group.stratifier.stratum.population.modifierExtension":"Extension","MeasureReport.group.stratifier.stratum.population.subjectResults":"Reference","MeasureReport.group.stratifier.stratum.value":"CodeableConcept","MeasureReport.id":"System.String","MeasureReport.identifier":"Identifier","MeasureReport.implicitRules":"uri","MeasureReport.improvementNotation":"CodeableConcept","MeasureReport.language":"code","MeasureReport.measure":"canonical","MeasureReport.meta":"Meta","MeasureReport.modifierExtension":"Extension","MeasureReport.period":"Period","MeasureReport.reporter":"Reference","MeasureReport.status":"code","MeasureReport.subject":"Reference","MeasureReport.text":"Narrative","MeasureReport.type":"code","Media.basedOn":"Reference","Media.bodySite":"CodeableConcept","Media.contained":"Resource","Media.content":"Attachment","Media.createdDateTime":"dateTime","Media.createdPeriod":"Period","Media.device":"Reference","Media.deviceName":"string","Media.duration":"decimal","Media.encounter":"Reference","Media.extension":"Extension","Media.frames":"positiveInt","Media.height":"positiveInt","Media.id":"System.String","Media.identifier":"Identifier","Media.implicitRules":"uri","Media.issued":"instant","Media.language":"code","Media.meta":"Meta","Media.modality":"CodeableConcept","Media.modifierExtension":"Extension","Media.note":"Annotation","Media.operator":"Reference","Media.partOf":"Reference","Media.reasonCode":"CodeableConcept","Media.status":"code","Media.subject":"Reference","Media.text":"Narrative","Media.type":"CodeableConcept","Media.view":"CodeableConcept","Media.width":"positiveInt","Medication.amount":"Ratio","Medication.batch.expirationDate":"dateTime","Medication.batch.extension":"Extension","Medication.batch.id":"System.String","Medication.batch.lotNumber":"string","Medication.batch.modifierExtension":"Extension","Medication.code":"CodeableConcept","Medication.contained":"Resource","Medication.extension":"Extension","Medication.form":"CodeableConcept","Medication.id":"System.String","Medication.identifier":"Identifier","Medication.implicitRules":"uri","Medication.ingredient.extension":"Extension","Medication.ingredient.id":"System.String","Medication.ingredient.isActive":"boolean","Medication.ingredient.itemCodeableConcept":"CodeableConcept","Medication.ingredient.itemReference":"Reference","Medication.ingredient.modifierExtension":"Extension","Medication.ingredient.strength":"Ratio","Medication.language":"code","Medication.manufacturer":"Reference","Medication.meta":"Meta","Medication.modifierExtension":"Extension","Medication.status":"code","Medication.text":"Narrative","MedicationAdministration.category":"CodeableConcept","MedicationAdministration.contained":"Resource","MedicationAdministration.context":"Reference","MedicationAdministration.device":"Reference","MedicationAdministration.dosage.dose":"Quantity","MedicationAdministration.dosage.extension":"Extension","MedicationAdministration.dosage.id":"System.String","MedicationAdministration.dosage.method":"CodeableConcept","MedicationAdministration.dosage.modifierExtension":"Extension","MedicationAdministration.dosage.rateQuantity":"Quantity","MedicationAdministration.dosage.rateRatio":"Ratio","MedicationAdministration.dosage.route":"CodeableConcept","MedicationAdministration.dosage.site":"CodeableConcept","MedicationAdministration.dosage.text":"string","MedicationAdministration.effectiveDateTime":"dateTime","MedicationAdministration.effectivePeriod":"Period","MedicationAdministration.eventHistory":"Reference","MedicationAdministration.extension":"Extension","MedicationAdministration.id":"System.String","MedicationAdministration.identifier":"Identifier","MedicationAdministration.implicitRules":"uri","MedicationAdministration.instantiates":"uri","MedicationAdministration.language":"code","MedicationAdministration.medicationCodeableConcept":"CodeableConcept","MedicationAdministration.medicationReference":"Reference","MedicationAdministration.meta":"Meta","MedicationAdministration.modifierExtension":"Extension","MedicationAdministration.note":"Annotation","MedicationAdministration.partOf":"Reference","MedicationAdministration.performer.actor":"Reference","MedicationAdministration.performer.extension":"Extension","MedicationAdministration.performer.function":"CodeableConcept","MedicationAdministration.performer.id":"System.String","MedicationAdministration.performer.modifierExtension":"Extension","MedicationAdministration.reasonCode":"CodeableConcept","MedicationAdministration.reasonReference":"Reference","MedicationAdministration.request":"Reference","MedicationAdministration.status":"code","MedicationAdministration.statusReason":"CodeableConcept","MedicationAdministration.subject":"Reference","MedicationAdministration.supportingInformation":"Reference","MedicationAdministration.text":"Narrative","MedicationDispense.authorizingPrescription":"Reference","MedicationDispense.category":"CodeableConcept","MedicationDispense.contained":"Resource","MedicationDispense.context":"Reference","MedicationDispense.daysSupply":"Quantity","MedicationDispense.destination":"Reference","MedicationDispense.detectedIssue":"Reference","MedicationDispense.dosageInstruction":"Dosage","MedicationDispense.eventHistory":"Reference","MedicationDispense.extension":"Extension","MedicationDispense.id":"System.String","MedicationDispense.identifier":"Identifier","MedicationDispense.implicitRules":"uri","MedicationDispense.language":"code","MedicationDispense.location":"Reference","MedicationDispense.medicationCodeableConcept":"CodeableConcept","MedicationDispense.medicationReference":"Reference","MedicationDispense.meta":"Meta","MedicationDispense.modifierExtension":"Extension","MedicationDispense.note":"Annotation","MedicationDispense.partOf":"Reference","MedicationDispense.performer.actor":"Reference","MedicationDispense.performer.extension":"Extension","MedicationDispense.performer.function":"CodeableConcept","MedicationDispense.performer.id":"System.String","MedicationDispense.performer.modifierExtension":"Extension","MedicationDispense.quantity":"Quantity","MedicationDispense.receiver":"Reference","MedicationDispense.status":"code","MedicationDispense.statusReasonCodeableConcept":"CodeableConcept","MedicationDispense.statusReasonReference":"Reference","MedicationDispense.subject":"Reference","MedicationDispense.substitution.extension":"Extension","MedicationDispense.substitution.id":"System.String","MedicationDispense.substitution.modifierExtension":"Extension","MedicationDispense.substitution.reason":"CodeableConcept","MedicationDispense.substitution.responsibleParty":"Reference","MedicationDispense.substitution.type":"CodeableConcept","MedicationDispense.substitution.wasSubstituted":"boolean","MedicationDispense.supportingInformation":"Reference","MedicationDispense.text":"Narrative","MedicationDispense.type":"CodeableConcept","MedicationDispense.whenHandedOver":"dateTime","MedicationDispense.whenPrepared":"dateTime","MedicationKnowledge.administrationGuidelines.dosage.dosage":"Dosage","MedicationKnowledge.administrationGuidelines.dosage.extension":"Extension","MedicationKnowledge.administrationGuidelines.dosage.id":"System.String","MedicationKnowledge.administrationGuidelines.dosage.modifierExtension":"Extension","MedicationKnowledge.administrationGuidelines.dosage.type":"CodeableConcept","MedicationKnowledge.administrationGuidelines.extension":"Extension","MedicationKnowledge.administrationGuidelines.id":"System.String","MedicationKnowledge.administrationGuidelines.indicationCodeableConcept":"CodeableConcept","MedicationKnowledge.administrationGuidelines.indicationReference":"Reference","MedicationKnowledge.administrationGuidelines.modifierExtension":"Extension","MedicationKnowledge.administrationGuidelines.patientCharacteristics.characteristicCodeableConcept":"CodeableConcept","MedicationKnowledge.administrationGuidelines.patientCharacteristics.characteristicQuantity":"Quantity","MedicationKnowledge.administrationGuidelines.patientCharacteristics.extension":"Extension","MedicationKnowledge.administrationGuidelines.patientCharacteristics.id":"System.String","MedicationKnowledge.administrationGuidelines.patientCharacteristics.modifierExtension":"Extension","MedicationKnowledge.administrationGuidelines.patientCharacteristics.value":"string","MedicationKnowledge.amount":"Quantity","MedicationKnowledge.associatedMedication":"Reference","MedicationKnowledge.code":"CodeableConcept","MedicationKnowledge.contained":"Resource","MedicationKnowledge.contraindication":"Reference","MedicationKnowledge.cost.cost":"Money","MedicationKnowledge.cost.extension":"Extension","MedicationKnowledge.cost.id":"System.String","MedicationKnowledge.cost.modifierExtension":"Extension","MedicationKnowledge.cost.source":"string","MedicationKnowledge.cost.type":"CodeableConcept","MedicationKnowledge.doseForm":"CodeableConcept","MedicationKnowledge.drugCharacteristic.extension":"Extension","MedicationKnowledge.drugCharacteristic.id":"System.String","MedicationKnowledge.drugCharacteristic.modifierExtension":"Extension","MedicationKnowledge.drugCharacteristic.type":"CodeableConcept","MedicationKnowledge.drugCharacteristic.valueBase64Binary":"base64Binary","MedicationKnowledge.drugCharacteristic.valueCodeableConcept":"CodeableConcept","MedicationKnowledge.drugCharacteristic.valueQuantity":"Quantity","MedicationKnowledge.drugCharacteristic.valueString":"string","MedicationKnowledge.extension":"Extension","MedicationKnowledge.id":"System.String","MedicationKnowledge.implicitRules":"uri","MedicationKnowledge.ingredient.extension":"Extension","MedicationKnowledge.ingredient.id":"System.String","MedicationKnowledge.ingredient.isActive":"boolean","MedicationKnowledge.ingredient.itemCodeableConcept":"CodeableConcept","MedicationKnowledge.ingredient.itemReference":"Reference","MedicationKnowledge.ingredient.modifierExtension":"Extension","MedicationKnowledge.ingredient.strength":"Ratio","MedicationKnowledge.intendedRoute":"CodeableConcept","MedicationKnowledge.kinetics.areaUnderCurve":"Quantity","MedicationKnowledge.kinetics.extension":"Extension","MedicationKnowledge.kinetics.halfLifePeriod":"Duration","MedicationKnowledge.kinetics.id":"System.String","MedicationKnowledge.kinetics.lethalDose50":"Quantity","MedicationKnowledge.kinetics.modifierExtension":"Extension","MedicationKnowledge.language":"code","MedicationKnowledge.manufacturer":"Reference","MedicationKnowledge.medicineClassification.classification":"CodeableConcept","MedicationKnowledge.medicineClassification.extension":"Extension","MedicationKnowledge.medicineClassification.id":"System.String","MedicationKnowledge.medicineClassification.modifierExtension":"Extension","MedicationKnowledge.medicineClassification.type":"CodeableConcept","MedicationKnowledge.meta":"Meta","MedicationKnowledge.modifierExtension":"Extension","MedicationKnowledge.monitoringProgram.extension":"Extension","MedicationKnowledge.monitoringProgram.id":"System.String","MedicationKnowledge.monitoringProgram.modifierExtension":"Extension","MedicationKnowledge.monitoringProgram.name":"string","MedicationKnowledge.monitoringProgram.type":"CodeableConcept","MedicationKnowledge.monograph.extension":"Extension","MedicationKnowledge.monograph.id":"System.String","MedicationKnowledge.monograph.modifierExtension":"Extension","MedicationKnowledge.monograph.source":"Reference","MedicationKnowledge.monograph.type":"CodeableConcept","MedicationKnowledge.packaging.extension":"Extension","MedicationKnowledge.packaging.id":"System.String","MedicationKnowledge.packaging.modifierExtension":"Extension","MedicationKnowledge.packaging.quantity":"Quantity","MedicationKnowledge.packaging.type":"CodeableConcept","MedicationKnowledge.preparationInstruction":"markdown","MedicationKnowledge.productType":"CodeableConcept","MedicationKnowledge.regulatory.extension":"Extension","MedicationKnowledge.regulatory.id":"System.String","MedicationKnowledge.regulatory.maxDispense.extension":"Extension","MedicationKnowledge.regulatory.maxDispense.id":"System.String","MedicationKnowledge.regulatory.maxDispense.modifierExtension":"Extension","MedicationKnowledge.regulatory.maxDispense.period":"Duration","MedicationKnowledge.regulatory.maxDispense.quantity":"Quantity","MedicationKnowledge.regulatory.modifierExtension":"Extension","MedicationKnowledge.regulatory.regulatoryAuthority":"Reference","MedicationKnowledge.regulatory.schedule.extension":"Extension","MedicationKnowledge.regulatory.schedule.id":"System.String","MedicationKnowledge.regulatory.schedule.modifierExtension":"Extension","MedicationKnowledge.regulatory.schedule.schedule":"CodeableConcept","MedicationKnowledge.regulatory.substitution.allowed":"boolean","MedicationKnowledge.regulatory.substitution.extension":"Extension","MedicationKnowledge.regulatory.substitution.id":"System.String","MedicationKnowledge.regulatory.substitution.modifierExtension":"Extension","MedicationKnowledge.regulatory.substitution.type":"CodeableConcept","MedicationKnowledge.relatedMedicationKnowledge.extension":"Extension","MedicationKnowledge.relatedMedicationKnowledge.id":"System.String","MedicationKnowledge.relatedMedicationKnowledge.modifierExtension":"Extension","MedicationKnowledge.relatedMedicationKnowledge.reference":"Reference","MedicationKnowledge.relatedMedicationKnowledge.type":"CodeableConcept","MedicationKnowledge.status":"code","MedicationKnowledge.synonym":"string","MedicationKnowledge.text":"Narrative","MedicationRequest.authoredOn":"dateTime","MedicationRequest.basedOn":"Reference","MedicationRequest.category":"CodeableConcept","MedicationRequest.contained":"Resource","MedicationRequest.courseOfTherapyType":"CodeableConcept","MedicationRequest.detectedIssue":"Reference","MedicationRequest.dispenseRequest.dispenseInterval":"Duration","MedicationRequest.dispenseRequest.expectedSupplyDuration":"Duration","MedicationRequest.dispenseRequest.extension":"Extension","MedicationRequest.dispenseRequest.id":"System.String","MedicationRequest.dispenseRequest.initialFill.duration":"Duration","MedicationRequest.dispenseRequest.initialFill.extension":"Extension","MedicationRequest.dispenseRequest.initialFill.id":"System.String","MedicationRequest.dispenseRequest.initialFill.modifierExtension":"Extension","MedicationRequest.dispenseRequest.initialFill.quantity":"Quantity","MedicationRequest.dispenseRequest.modifierExtension":"Extension","MedicationRequest.dispenseRequest.numberOfRepeatsAllowed":"unsignedInt","MedicationRequest.dispenseRequest.performer":"Reference","MedicationRequest.dispenseRequest.quantity":"Quantity","MedicationRequest.dispenseRequest.validityPeriod":"Period","MedicationRequest.doNotPerform":"boolean","MedicationRequest.dosageInstruction":"Dosage","MedicationRequest.encounter":"Reference","MedicationRequest.eventHistory":"Reference","MedicationRequest.extension":"Extension","MedicationRequest.groupIdentifier":"Identifier","MedicationRequest.id":"System.String","MedicationRequest.identifier":"Identifier","MedicationRequest.implicitRules":"uri","MedicationRequest.instantiatesCanonical":"canonical","MedicationRequest.instantiatesUri":"uri","MedicationRequest.insurance":"Reference","MedicationRequest.intent":"code","MedicationRequest.language":"code","MedicationRequest.medicationCodeableConcept":"CodeableConcept","MedicationRequest.medicationReference":"Reference","MedicationRequest.meta":"Meta","MedicationRequest.modifierExtension":"Extension","MedicationRequest.note":"Annotation","MedicationRequest.performer":"Reference","MedicationRequest.performerType":"CodeableConcept","MedicationRequest.priorPrescription":"Reference","MedicationRequest.priority":"code","MedicationRequest.reasonCode":"CodeableConcept","MedicationRequest.reasonReference":"Reference","MedicationRequest.recorder":"Reference","MedicationRequest.reportedBoolean":"boolean","MedicationRequest.reportedReference":"Reference","MedicationRequest.requester":"Reference","MedicationRequest.status":"code","MedicationRequest.statusReason":"CodeableConcept","MedicationRequest.subject":"Reference","MedicationRequest.substitution.allowedBoolean":"boolean","MedicationRequest.substitution.allowedCodeableConcept":"CodeableConcept","MedicationRequest.substitution.extension":"Extension","MedicationRequest.substitution.id":"System.String","MedicationRequest.substitution.modifierExtension":"Extension","MedicationRequest.substitution.reason":"CodeableConcept","MedicationRequest.supportingInformation":"Reference","MedicationRequest.text":"Narrative","MedicationStatement.basedOn":"Reference","MedicationStatement.category":"CodeableConcept","MedicationStatement.contained":"Resource","MedicationStatement.context":"Reference","MedicationStatement.dateAsserted":"dateTime","MedicationStatement.derivedFrom":"Reference","MedicationStatement.dosage":"Dosage","MedicationStatement.effectiveDateTime":"dateTime","MedicationStatement.effectivePeriod":"Period","MedicationStatement.extension":"Extension","MedicationStatement.id":"System.String","MedicationStatement.identifier":"Identifier","MedicationStatement.implicitRules":"uri","MedicationStatement.informationSource":"Reference","MedicationStatement.language":"code","MedicationStatement.medicationCodeableConcept":"CodeableConcept","MedicationStatement.medicationReference":"Reference","MedicationStatement.meta":"Meta","MedicationStatement.modifierExtension":"Extension","MedicationStatement.note":"Annotation","MedicationStatement.partOf":"Reference","MedicationStatement.reasonCode":"CodeableConcept","MedicationStatement.reasonReference":"Reference","MedicationStatement.status":"code","MedicationStatement.statusReason":"CodeableConcept","MedicationStatement.subject":"Reference","MedicationStatement.text":"Narrative","MedicinalProduct.additionalMonitoringIndicator":"CodeableConcept","MedicinalProduct.attachedDocument":"Reference","MedicinalProduct.clinicalTrial":"Reference","MedicinalProduct.combinedPharmaceuticalDoseForm":"CodeableConcept","MedicinalProduct.contact":"Reference","MedicinalProduct.contained":"Resource","MedicinalProduct.crossReference":"Identifier","MedicinalProduct.domain":"Coding","MedicinalProduct.extension":"Extension","MedicinalProduct.id":"System.String","MedicinalProduct.identifier":"Identifier","MedicinalProduct.implicitRules":"uri","MedicinalProduct.language":"code","MedicinalProduct.legalStatusOfSupply":"CodeableConcept","MedicinalProduct.manufacturingBusinessOperation.authorisationReferenceNumber":"Identifier","MedicinalProduct.manufacturingBusinessOperation.confidentialityIndicator":"CodeableConcept","MedicinalProduct.manufacturingBusinessOperation.effectiveDate":"dateTime","MedicinalProduct.manufacturingBusinessOperation.extension":"Extension","MedicinalProduct.manufacturingBusinessOperation.id":"System.String","MedicinalProduct.manufacturingBusinessOperation.manufacturer":"Reference","MedicinalProduct.manufacturingBusinessOperation.modifierExtension":"Extension","MedicinalProduct.manufacturingBusinessOperation.operationType":"CodeableConcept","MedicinalProduct.manufacturingBusinessOperation.regulator":"Reference","MedicinalProduct.marketingStatus":"MarketingStatus","MedicinalProduct.masterFile":"Reference","MedicinalProduct.meta":"Meta","MedicinalProduct.modifierExtension":"Extension","MedicinalProduct.name.countryLanguage.country":"CodeableConcept","MedicinalProduct.name.countryLanguage.extension":"Extension","MedicinalProduct.name.countryLanguage.id":"System.String","MedicinalProduct.name.countryLanguage.jurisdiction":"CodeableConcept","MedicinalProduct.name.countryLanguage.language":"CodeableConcept","MedicinalProduct.name.countryLanguage.modifierExtension":"Extension","MedicinalProduct.name.extension":"Extension","MedicinalProduct.name.id":"System.String","MedicinalProduct.name.modifierExtension":"Extension","MedicinalProduct.name.namePart.extension":"Extension","MedicinalProduct.name.namePart.id":"System.String","MedicinalProduct.name.namePart.modifierExtension":"Extension","MedicinalProduct.name.namePart.part":"string","MedicinalProduct.name.namePart.type":"Coding","MedicinalProduct.name.productName":"string","MedicinalProduct.packagedMedicinalProduct":"Reference","MedicinalProduct.paediatricUseIndicator":"CodeableConcept","MedicinalProduct.pharmaceuticalProduct":"Reference","MedicinalProduct.productClassification":"CodeableConcept","MedicinalProduct.specialDesignation.date":"dateTime","MedicinalProduct.specialDesignation.extension":"Extension","MedicinalProduct.specialDesignation.id":"System.String","MedicinalProduct.specialDesignation.identifier":"Identifier","MedicinalProduct.specialDesignation.indicationCodeableConcept":"CodeableConcept","MedicinalProduct.specialDesignation.indicationReference":"Reference","MedicinalProduct.specialDesignation.intendedUse":"CodeableConcept","MedicinalProduct.specialDesignation.modifierExtension":"Extension","MedicinalProduct.specialDesignation.species":"CodeableConcept","MedicinalProduct.specialDesignation.status":"CodeableConcept","MedicinalProduct.specialDesignation.type":"CodeableConcept","MedicinalProduct.specialMeasures":"string","MedicinalProduct.text":"Narrative","MedicinalProduct.type":"CodeableConcept","MedicinalProductAuthorization.contained":"Resource","MedicinalProductAuthorization.country":"CodeableConcept","MedicinalProductAuthorization.dataExclusivityPeriod":"Period","MedicinalProductAuthorization.dateOfFirstAuthorization":"dateTime","MedicinalProductAuthorization.extension":"Extension","MedicinalProductAuthorization.holder":"Reference","MedicinalProductAuthorization.id":"System.String","MedicinalProductAuthorization.identifier":"Identifier","MedicinalProductAuthorization.implicitRules":"uri","MedicinalProductAuthorization.internationalBirthDate":"dateTime","MedicinalProductAuthorization.jurisdiction":"CodeableConcept","MedicinalProductAuthorization.jurisdictionalAuthorization.country":"CodeableConcept","MedicinalProductAuthorization.jurisdictionalAuthorization.extension":"Extension","MedicinalProductAuthorization.jurisdictionalAuthorization.id":"System.String","MedicinalProductAuthorization.jurisdictionalAuthorization.identifier":"Identifier","MedicinalProductAuthorization.jurisdictionalAuthorization.jurisdiction":"CodeableConcept","MedicinalProductAuthorization.jurisdictionalAuthorization.legalStatusOfSupply":"CodeableConcept","MedicinalProductAuthorization.jurisdictionalAuthorization.modifierExtension":"Extension","MedicinalProductAuthorization.jurisdictionalAuthorization.validityPeriod":"Period","MedicinalProductAuthorization.language":"code","MedicinalProductAuthorization.legalBasis":"CodeableConcept","MedicinalProductAuthorization.meta":"Meta","MedicinalProductAuthorization.modifierExtension":"Extension","MedicinalProductAuthorization.procedure.dateDateTime":"dateTime","MedicinalProductAuthorization.procedure.datePeriod":"Period","MedicinalProductAuthorization.procedure.extension":"Extension","MedicinalProductAuthorization.procedure.id":"System.String","MedicinalProductAuthorization.procedure.identifier":"Identifier","MedicinalProductAuthorization.procedure.modifierExtension":"Extension","MedicinalProductAuthorization.procedure.type":"CodeableConcept","MedicinalProductAuthorization.regulator":"Reference","MedicinalProductAuthorization.restoreDate":"dateTime","MedicinalProductAuthorization.status":"CodeableConcept","MedicinalProductAuthorization.statusDate":"dateTime","MedicinalProductAuthorization.subject":"Reference","MedicinalProductAuthorization.text":"Narrative","MedicinalProductAuthorization.validityPeriod":"Period","MedicinalProductContraindication.comorbidity":"CodeableConcept","MedicinalProductContraindication.contained":"Resource","MedicinalProductContraindication.disease":"CodeableConcept","MedicinalProductContraindication.diseaseStatus":"CodeableConcept","MedicinalProductContraindication.extension":"Extension","MedicinalProductContraindication.id":"System.String","MedicinalProductContraindication.implicitRules":"uri","MedicinalProductContraindication.language":"code","MedicinalProductContraindication.meta":"Meta","MedicinalProductContraindication.modifierExtension":"Extension","MedicinalProductContraindication.otherTherapy.extension":"Extension","MedicinalProductContraindication.otherTherapy.id":"System.String","MedicinalProductContraindication.otherTherapy.medicationCodeableConcept":"CodeableConcept","MedicinalProductContraindication.otherTherapy.medicationReference":"Reference","MedicinalProductContraindication.otherTherapy.modifierExtension":"Extension","MedicinalProductContraindication.otherTherapy.therapyRelationshipType":"CodeableConcept","MedicinalProductContraindication.population":"Population","MedicinalProductContraindication.subject":"Reference","MedicinalProductContraindication.text":"Narrative","MedicinalProductContraindication.therapeuticIndication":"Reference","MedicinalProductIndication.comorbidity":"CodeableConcept","MedicinalProductIndication.contained":"Resource","MedicinalProductIndication.diseaseStatus":"CodeableConcept","MedicinalProductIndication.diseaseSymptomProcedure":"CodeableConcept","MedicinalProductIndication.duration":"Quantity","MedicinalProductIndication.extension":"Extension","MedicinalProductIndication.id":"System.String","MedicinalProductIndication.implicitRules":"uri","MedicinalProductIndication.intendedEffect":"CodeableConcept","MedicinalProductIndication.language":"code","MedicinalProductIndication.meta":"Meta","MedicinalProductIndication.modifierExtension":"Extension","MedicinalProductIndication.otherTherapy.extension":"Extension","MedicinalProductIndication.otherTherapy.id":"System.String","MedicinalProductIndication.otherTherapy.medicationCodeableConcept":"CodeableConcept","MedicinalProductIndication.otherTherapy.medicationReference":"Reference","MedicinalProductIndication.otherTherapy.modifierExtension":"Extension","MedicinalProductIndication.otherTherapy.therapyRelationshipType":"CodeableConcept","MedicinalProductIndication.population":"Population","MedicinalProductIndication.subject":"Reference","MedicinalProductIndication.text":"Narrative","MedicinalProductIndication.undesirableEffect":"Reference","MedicinalProductIngredient.allergenicIndicator":"boolean","MedicinalProductIngredient.contained":"Resource","MedicinalProductIngredient.extension":"Extension","MedicinalProductIngredient.id":"System.String","MedicinalProductIngredient.identifier":"Identifier","MedicinalProductIngredient.implicitRules":"uri","MedicinalProductIngredient.language":"code","MedicinalProductIngredient.manufacturer":"Reference","MedicinalProductIngredient.meta":"Meta","MedicinalProductIngredient.modifierExtension":"Extension","MedicinalProductIngredient.role":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.code":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.confidentiality":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.extension":"Extension","MedicinalProductIngredient.specifiedSubstance.group":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.id":"System.String","MedicinalProductIngredient.specifiedSubstance.modifierExtension":"Extension","MedicinalProductIngredient.specifiedSubstance.strength.concentration":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.concentrationLowLimit":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.country":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.strength.extension":"Extension","MedicinalProductIngredient.specifiedSubstance.strength.id":"System.String","MedicinalProductIngredient.specifiedSubstance.strength.measurementPoint":"string","MedicinalProductIngredient.specifiedSubstance.strength.modifierExtension":"Extension","MedicinalProductIngredient.specifiedSubstance.strength.presentation":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.presentationLowLimit":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.country":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.extension":"Extension","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.id":"System.String","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.measurementPoint":"string","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.modifierExtension":"Extension","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.strength":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.strengthLowLimit":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.substance":"CodeableConcept","MedicinalProductIngredient.substance.code":"CodeableConcept","MedicinalProductIngredient.substance.extension":"Extension","MedicinalProductIngredient.substance.id":"System.String","MedicinalProductIngredient.substance.modifierExtension":"Extension","MedicinalProductIngredient.text":"Narrative","MedicinalProductInteraction.contained":"Resource","MedicinalProductInteraction.description":"string","MedicinalProductInteraction.effect":"CodeableConcept","MedicinalProductInteraction.extension":"Extension","MedicinalProductInteraction.id":"System.String","MedicinalProductInteraction.implicitRules":"uri","MedicinalProductInteraction.incidence":"CodeableConcept","MedicinalProductInteraction.interactant.extension":"Extension","MedicinalProductInteraction.interactant.id":"System.String","MedicinalProductInteraction.interactant.itemCodeableConcept":"CodeableConcept","MedicinalProductInteraction.interactant.itemReference":"Reference","MedicinalProductInteraction.interactant.modifierExtension":"Extension","MedicinalProductInteraction.language":"code","MedicinalProductInteraction.management":"CodeableConcept","MedicinalProductInteraction.meta":"Meta","MedicinalProductInteraction.modifierExtension":"Extension","MedicinalProductInteraction.subject":"Reference","MedicinalProductInteraction.text":"Narrative","MedicinalProductInteraction.type":"CodeableConcept","MedicinalProductManufactured.contained":"Resource","MedicinalProductManufactured.extension":"Extension","MedicinalProductManufactured.id":"System.String","MedicinalProductManufactured.implicitRules":"uri","MedicinalProductManufactured.ingredient":"Reference","MedicinalProductManufactured.language":"code","MedicinalProductManufactured.manufacturedDoseForm":"CodeableConcept","MedicinalProductManufactured.manufacturer":"Reference","MedicinalProductManufactured.meta":"Meta","MedicinalProductManufactured.modifierExtension":"Extension","MedicinalProductManufactured.otherCharacteristics":"CodeableConcept","MedicinalProductManufactured.physicalCharacteristics":"ProdCharacteristic","MedicinalProductManufactured.quantity":"Quantity","MedicinalProductManufactured.text":"Narrative","MedicinalProductManufactured.unitOfPresentation":"CodeableConcept","MedicinalProductPackaged.batchIdentifier.extension":"Extension","MedicinalProductPackaged.batchIdentifier.id":"System.String","MedicinalProductPackaged.batchIdentifier.immediatePackaging":"Identifier","MedicinalProductPackaged.batchIdentifier.modifierExtension":"Extension","MedicinalProductPackaged.batchIdentifier.outerPackaging":"Identifier","MedicinalProductPackaged.contained":"Resource","MedicinalProductPackaged.description":"string","MedicinalProductPackaged.extension":"Extension","MedicinalProductPackaged.id":"System.String","MedicinalProductPackaged.identifier":"Identifier","MedicinalProductPackaged.implicitRules":"uri","MedicinalProductPackaged.language":"code","MedicinalProductPackaged.legalStatusOfSupply":"CodeableConcept","MedicinalProductPackaged.manufacturer":"Reference","MedicinalProductPackaged.marketingAuthorization":"Reference","MedicinalProductPackaged.marketingStatus":"MarketingStatus","MedicinalProductPackaged.meta":"Meta","MedicinalProductPackaged.modifierExtension":"Extension","MedicinalProductPackaged.packageItem.alternateMaterial":"CodeableConcept","MedicinalProductPackaged.packageItem.device":"Reference","MedicinalProductPackaged.packageItem.extension":"Extension","MedicinalProductPackaged.packageItem.id":"System.String","MedicinalProductPackaged.packageItem.identifier":"Identifier","MedicinalProductPackaged.packageItem.manufacturedItem":"Reference","MedicinalProductPackaged.packageItem.manufacturer":"Reference","MedicinalProductPackaged.packageItem.material":"CodeableConcept","MedicinalProductPackaged.packageItem.modifierExtension":"Extension","MedicinalProductPackaged.packageItem.otherCharacteristics":"CodeableConcept","MedicinalProductPackaged.packageItem.physicalCharacteristics":"ProdCharacteristic","MedicinalProductPackaged.packageItem.quantity":"Quantity","MedicinalProductPackaged.packageItem.shelfLifeStorage":"ProductShelfLife","MedicinalProductPackaged.packageItem.type":"CodeableConcept","MedicinalProductPackaged.subject":"Reference","MedicinalProductPackaged.text":"Narrative","MedicinalProductPharmaceutical.administrableDoseForm":"CodeableConcept","MedicinalProductPharmaceutical.characteristics.code":"CodeableConcept","MedicinalProductPharmaceutical.characteristics.extension":"Extension","MedicinalProductPharmaceutical.characteristics.id":"System.String","MedicinalProductPharmaceutical.characteristics.modifierExtension":"Extension","MedicinalProductPharmaceutical.characteristics.status":"CodeableConcept","MedicinalProductPharmaceutical.contained":"Resource","MedicinalProductPharmaceutical.device":"Reference","MedicinalProductPharmaceutical.extension":"Extension","MedicinalProductPharmaceutical.id":"System.String","MedicinalProductPharmaceutical.identifier":"Identifier","MedicinalProductPharmaceutical.implicitRules":"uri","MedicinalProductPharmaceutical.ingredient":"Reference","MedicinalProductPharmaceutical.language":"code","MedicinalProductPharmaceutical.meta":"Meta","MedicinalProductPharmaceutical.modifierExtension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.code":"CodeableConcept","MedicinalProductPharmaceutical.routeOfAdministration.extension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.firstDose":"Quantity","MedicinalProductPharmaceutical.routeOfAdministration.id":"System.String","MedicinalProductPharmaceutical.routeOfAdministration.maxDosePerDay":"Quantity","MedicinalProductPharmaceutical.routeOfAdministration.maxDosePerTreatmentPeriod":"Ratio","MedicinalProductPharmaceutical.routeOfAdministration.maxSingleDose":"Quantity","MedicinalProductPharmaceutical.routeOfAdministration.maxTreatmentPeriod":"Duration","MedicinalProductPharmaceutical.routeOfAdministration.modifierExtension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.code":"CodeableConcept","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.extension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.id":"System.String","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.modifierExtension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.extension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.id":"System.String","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.modifierExtension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.supportingInformation":"string","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.tissue":"CodeableConcept","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.value":"Quantity","MedicinalProductPharmaceutical.text":"Narrative","MedicinalProductPharmaceutical.unitOfPresentation":"CodeableConcept","MedicinalProductUndesirableEffect.classification":"CodeableConcept","MedicinalProductUndesirableEffect.contained":"Resource","MedicinalProductUndesirableEffect.extension":"Extension","MedicinalProductUndesirableEffect.frequencyOfOccurrence":"CodeableConcept","MedicinalProductUndesirableEffect.id":"System.String","MedicinalProductUndesirableEffect.implicitRules":"uri","MedicinalProductUndesirableEffect.language":"code","MedicinalProductUndesirableEffect.meta":"Meta","MedicinalProductUndesirableEffect.modifierExtension":"Extension","MedicinalProductUndesirableEffect.population":"Population","MedicinalProductUndesirableEffect.subject":"Reference","MedicinalProductUndesirableEffect.symptomConditionEffect":"CodeableConcept","MedicinalProductUndesirableEffect.text":"Narrative","MessageDefinition.allowedResponse.extension":"Extension","MessageDefinition.allowedResponse.id":"System.String","MessageDefinition.allowedResponse.message":"canonical","MessageDefinition.allowedResponse.modifierExtension":"Extension","MessageDefinition.allowedResponse.situation":"markdown","MessageDefinition.base":"canonical","MessageDefinition.category":"code","MessageDefinition.contact":"ContactDetail","MessageDefinition.contained":"Resource","MessageDefinition.copyright":"markdown","MessageDefinition.date":"dateTime","MessageDefinition.description":"markdown","MessageDefinition.eventCoding":"Coding","MessageDefinition.eventUri":"uri","MessageDefinition.experimental":"boolean","MessageDefinition.extension":"Extension","MessageDefinition.focus.code":"code","MessageDefinition.focus.extension":"Extension","MessageDefinition.focus.id":"System.String","MessageDefinition.focus.max":"string","MessageDefinition.focus.min":"unsignedInt","MessageDefinition.focus.modifierExtension":"Extension","MessageDefinition.focus.profile":"canonical","MessageDefinition.graph":"canonical","MessageDefinition.id":"System.String","MessageDefinition.identifier":"Identifier","MessageDefinition.implicitRules":"uri","MessageDefinition.jurisdiction":"CodeableConcept","MessageDefinition.language":"code","MessageDefinition.meta":"Meta","MessageDefinition.modifierExtension":"Extension","MessageDefinition.name":"string","MessageDefinition.parent":"canonical","MessageDefinition.publisher":"string","MessageDefinition.purpose":"markdown","MessageDefinition.replaces":"canonical","MessageDefinition.responseRequired":"code","MessageDefinition.status":"code","MessageDefinition.text":"Narrative","MessageDefinition.title":"string","MessageDefinition.url":"uri","MessageDefinition.useContext":"UsageContext","MessageDefinition.version":"string","MessageHeader.author":"Reference","MessageHeader.contained":"Resource","MessageHeader.definition":"canonical","MessageHeader.destination.endpoint":"url","MessageHeader.destination.extension":"Extension","MessageHeader.destination.id":"System.String","MessageHeader.destination.modifierExtension":"Extension","MessageHeader.destination.name":"string","MessageHeader.destination.receiver":"Reference","MessageHeader.destination.target":"Reference","MessageHeader.enterer":"Reference","MessageHeader.eventCoding":"Coding","MessageHeader.eventUri":"uri","MessageHeader.extension":"Extension","MessageHeader.focus":"Reference","MessageHeader.id":"System.String","MessageHeader.implicitRules":"uri","MessageHeader.language":"code","MessageHeader.meta":"Meta","MessageHeader.modifierExtension":"Extension","MessageHeader.reason":"CodeableConcept","MessageHeader.response.code":"code","MessageHeader.response.details":"Reference","MessageHeader.response.extension":"Extension","MessageHeader.response.id":"System.String","MessageHeader.response.identifier":"id","MessageHeader.response.modifierExtension":"Extension","MessageHeader.responsible":"Reference","MessageHeader.sender":"Reference","MessageHeader.source.contact":"ContactPoint","MessageHeader.source.endpoint":"url","MessageHeader.source.extension":"Extension","MessageHeader.source.id":"System.String","MessageHeader.source.modifierExtension":"Extension","MessageHeader.source.name":"string","MessageHeader.source.software":"string","MessageHeader.source.version":"string","MessageHeader.text":"Narrative","Meta.extension":"Extension","Meta.id":"System.String","Meta.lastUpdated":"instant","Meta.profile":"canonical","Meta.security":"Coding","Meta.source":"uri","Meta.tag":"Coding","Meta.versionId":"id","MetadataResource.contact":"ContactDetail","MetadataResource.contained":"Resource","MetadataResource.date":"dateTime","MetadataResource.description":"markdown","MetadataResource.experimental":"boolean","MetadataResource.extension":"Extension","MetadataResource.id":"System.String","MetadataResource.implicitRules":"uri","MetadataResource.jurisdiction":"CodeableConcept","MetadataResource.language":"code","MetadataResource.meta":"Meta","MetadataResource.modifierExtension":"Extension","MetadataResource.name":"string","MetadataResource.publisher":"string","MetadataResource.status":"code","MetadataResource.text":"Narrative","MetadataResource.title":"string","MetadataResource.url":"uri","MetadataResource.useContext":"UsageContext","MetadataResource.version":"string","MolecularSequence.contained":"Resource","MolecularSequence.coordinateSystem":"integer","MolecularSequence.device":"Reference","MolecularSequence.extension":"Extension","MolecularSequence.id":"System.String","MolecularSequence.identifier":"Identifier","MolecularSequence.implicitRules":"uri","MolecularSequence.language":"code","MolecularSequence.meta":"Meta","MolecularSequence.modifierExtension":"Extension","MolecularSequence.observedSeq":"string","MolecularSequence.patient":"Reference","MolecularSequence.performer":"Reference","MolecularSequence.pointer":"Reference","MolecularSequence.quality.end":"integer","MolecularSequence.quality.extension":"Extension","MolecularSequence.quality.fScore":"decimal","MolecularSequence.quality.gtFP":"decimal","MolecularSequence.quality.id":"System.String","MolecularSequence.quality.method":"CodeableConcept","MolecularSequence.quality.modifierExtension":"Extension","MolecularSequence.quality.precision":"decimal","MolecularSequence.quality.queryFP":"decimal","MolecularSequence.quality.queryTP":"decimal","MolecularSequence.quality.recall":"decimal","MolecularSequence.quality.roc.extension":"Extension","MolecularSequence.quality.roc.fMeasure":"decimal","MolecularSequence.quality.roc.id":"System.String","MolecularSequence.quality.roc.modifierExtension":"Extension","MolecularSequence.quality.roc.numFN":"integer","MolecularSequence.quality.roc.numFP":"integer","MolecularSequence.quality.roc.numTP":"integer","MolecularSequence.quality.roc.precision":"decimal","MolecularSequence.quality.roc.score":"integer","MolecularSequence.quality.roc.sensitivity":"decimal","MolecularSequence.quality.score":"Quantity","MolecularSequence.quality.standardSequence":"CodeableConcept","MolecularSequence.quality.start":"integer","MolecularSequence.quality.truthFN":"decimal","MolecularSequence.quality.truthTP":"decimal","MolecularSequence.quality.type":"code","MolecularSequence.quantity":"Quantity","MolecularSequence.readCoverage":"integer","MolecularSequence.referenceSeq.chromosome":"CodeableConcept","MolecularSequence.referenceSeq.extension":"Extension","MolecularSequence.referenceSeq.genomeBuild":"string","MolecularSequence.referenceSeq.id":"System.String","MolecularSequence.referenceSeq.modifierExtension":"Extension","MolecularSequence.referenceSeq.orientation":"code","MolecularSequence.referenceSeq.referenceSeqId":"CodeableConcept","MolecularSequence.referenceSeq.referenceSeqPointer":"Reference","MolecularSequence.referenceSeq.referenceSeqString":"string","MolecularSequence.referenceSeq.strand":"code","MolecularSequence.referenceSeq.windowEnd":"integer","MolecularSequence.referenceSeq.windowStart":"integer","MolecularSequence.repository.datasetId":"string","MolecularSequence.repository.extension":"Extension","MolecularSequence.repository.id":"System.String","MolecularSequence.repository.modifierExtension":"Extension","MolecularSequence.repository.name":"string","MolecularSequence.repository.readsetId":"string","MolecularSequence.repository.type":"code","MolecularSequence.repository.url":"uri","MolecularSequence.repository.variantsetId":"string","MolecularSequence.specimen":"Reference","MolecularSequence.structureVariant.exact":"boolean","MolecularSequence.structureVariant.extension":"Extension","MolecularSequence.structureVariant.id":"System.String","MolecularSequence.structureVariant.inner.end":"integer","MolecularSequence.structureVariant.inner.extension":"Extension","MolecularSequence.structureVariant.inner.id":"System.String","MolecularSequence.structureVariant.inner.modifierExtension":"Extension","MolecularSequence.structureVariant.inner.start":"integer","MolecularSequence.structureVariant.length":"integer","MolecularSequence.structureVariant.modifierExtension":"Extension","MolecularSequence.structureVariant.outer.end":"integer","MolecularSequence.structureVariant.outer.extension":"Extension","MolecularSequence.structureVariant.outer.id":"System.String","MolecularSequence.structureVariant.outer.modifierExtension":"Extension","MolecularSequence.structureVariant.outer.start":"integer","MolecularSequence.structureVariant.variantType":"CodeableConcept","MolecularSequence.text":"Narrative","MolecularSequence.type":"code","MolecularSequence.variant.cigar":"string","MolecularSequence.variant.end":"integer","MolecularSequence.variant.extension":"Extension","MolecularSequence.variant.id":"System.String","MolecularSequence.variant.modifierExtension":"Extension","MolecularSequence.variant.observedAllele":"string","MolecularSequence.variant.referenceAllele":"string","MolecularSequence.variant.start":"integer","MolecularSequence.variant.variantPointer":"Reference","Money.currency":"code","Money.extension":"Extension","Money.id":"System.String","Money.value":"decimal","NamingSystem.contact":"ContactDetail","NamingSystem.contained":"Resource","NamingSystem.date":"dateTime","NamingSystem.description":"markdown","NamingSystem.extension":"Extension","NamingSystem.id":"System.String","NamingSystem.implicitRules":"uri","NamingSystem.jurisdiction":"CodeableConcept","NamingSystem.kind":"code","NamingSystem.language":"code","NamingSystem.meta":"Meta","NamingSystem.modifierExtension":"Extension","NamingSystem.name":"string","NamingSystem.publisher":"string","NamingSystem.responsible":"string","NamingSystem.status":"code","NamingSystem.text":"Narrative","NamingSystem.type":"CodeableConcept","NamingSystem.uniqueId.comment":"string","NamingSystem.uniqueId.extension":"Extension","NamingSystem.uniqueId.id":"System.String","NamingSystem.uniqueId.modifierExtension":"Extension","NamingSystem.uniqueId.period":"Period","NamingSystem.uniqueId.preferred":"boolean","NamingSystem.uniqueId.type":"code","NamingSystem.uniqueId.value":"string","NamingSystem.usage":"string","NamingSystem.useContext":"UsageContext","Narrative.div":"xhtml","Narrative.extension":"Extension","Narrative.id":"System.String","Narrative.status":"code","NutritionOrder.allergyIntolerance":"Reference","NutritionOrder.contained":"Resource","NutritionOrder.dateTime":"dateTime","NutritionOrder.encounter":"Reference","NutritionOrder.enteralFormula.additiveProductName":"string","NutritionOrder.enteralFormula.additiveType":"CodeableConcept","NutritionOrder.enteralFormula.administration.extension":"Extension","NutritionOrder.enteralFormula.administration.id":"System.String","NutritionOrder.enteralFormula.administration.modifierExtension":"Extension","NutritionOrder.enteralFormula.administration.quantity":"Quantity","NutritionOrder.enteralFormula.administration.rateQuantity":"Quantity","NutritionOrder.enteralFormula.administration.rateRatio":"Ratio","NutritionOrder.enteralFormula.administration.schedule":"Timing","NutritionOrder.enteralFormula.administrationInstruction":"string","NutritionOrder.enteralFormula.baseFormulaProductName":"string","NutritionOrder.enteralFormula.baseFormulaType":"CodeableConcept","NutritionOrder.enteralFormula.caloricDensity":"Quantity","NutritionOrder.enteralFormula.extension":"Extension","NutritionOrder.enteralFormula.id":"System.String","NutritionOrder.enteralFormula.maxVolumeToDeliver":"Quantity","NutritionOrder.enteralFormula.modifierExtension":"Extension","NutritionOrder.enteralFormula.routeofAdministration":"CodeableConcept","NutritionOrder.excludeFoodModifier":"CodeableConcept","NutritionOrder.extension":"Extension","NutritionOrder.foodPreferenceModifier":"CodeableConcept","NutritionOrder.id":"System.String","NutritionOrder.identifier":"Identifier","NutritionOrder.implicitRules":"uri","NutritionOrder.instantiates":"uri","NutritionOrder.instantiatesCanonical":"canonical","NutritionOrder.instantiatesUri":"uri","NutritionOrder.intent":"code","NutritionOrder.language":"code","NutritionOrder.meta":"Meta","NutritionOrder.modifierExtension":"Extension","NutritionOrder.note":"Annotation","NutritionOrder.oralDiet.extension":"Extension","NutritionOrder.oralDiet.fluidConsistencyType":"CodeableConcept","NutritionOrder.oralDiet.id":"System.String","NutritionOrder.oralDiet.instruction":"string","NutritionOrder.oralDiet.modifierExtension":"Extension","NutritionOrder.oralDiet.nutrient.amount":"Quantity","NutritionOrder.oralDiet.nutrient.extension":"Extension","NutritionOrder.oralDiet.nutrient.id":"System.String","NutritionOrder.oralDiet.nutrient.modifier":"CodeableConcept","NutritionOrder.oralDiet.nutrient.modifierExtension":"Extension","NutritionOrder.oralDiet.schedule":"Timing","NutritionOrder.oralDiet.texture.extension":"Extension","NutritionOrder.oralDiet.texture.foodType":"CodeableConcept","NutritionOrder.oralDiet.texture.id":"System.String","NutritionOrder.oralDiet.texture.modifier":"CodeableConcept","NutritionOrder.oralDiet.texture.modifierExtension":"Extension","NutritionOrder.oralDiet.type":"CodeableConcept","NutritionOrder.orderer":"Reference","NutritionOrder.patient":"Reference","NutritionOrder.status":"code","NutritionOrder.supplement.extension":"Extension","NutritionOrder.supplement.id":"System.String","NutritionOrder.supplement.instruction":"string","NutritionOrder.supplement.modifierExtension":"Extension","NutritionOrder.supplement.productName":"string","NutritionOrder.supplement.quantity":"Quantity","NutritionOrder.supplement.schedule":"Timing","NutritionOrder.supplement.type":"CodeableConcept","NutritionOrder.text":"Narrative","Observation.basedOn":"Reference","Observation.bodySite":"CodeableConcept","Observation.category":"CodeableConcept","Observation.code":"CodeableConcept","Observation.component.code":"CodeableConcept","Observation.component.dataAbsentReason":"CodeableConcept","Observation.component.extension":"Extension","Observation.component.id":"System.String","Observation.component.interpretation":"CodeableConcept","Observation.component.modifierExtension":"Extension","Observation.component.valueBoolean":"boolean","Observation.component.valueCodeableConcept":"CodeableConcept","Observation.component.valueDateTime":"dateTime","Observation.component.valueInteger":"integer","Observation.component.valuePeriod":"Period","Observation.component.valueQuantity":"Quantity","Observation.component.valueRange":"Range","Observation.component.valueRatio":"Ratio","Observation.component.valueSampledData":"SampledData","Observation.component.valueString":"string","Observation.component.valueTime":"time","Observation.contained":"Resource","Observation.dataAbsentReason":"CodeableConcept","Observation.derivedFrom":"Reference","Observation.device":"Reference","Observation.effectiveDateTime":"dateTime","Observation.effectiveInstant":"instant","Observation.effectivePeriod":"Period","Observation.effectiveTiming":"Timing","Observation.encounter":"Reference","Observation.extension":"Extension","Observation.focus":"Reference","Observation.hasMember":"Reference","Observation.id":"System.String","Observation.identifier":"Identifier","Observation.implicitRules":"uri","Observation.interpretation":"CodeableConcept","Observation.issued":"instant","Observation.language":"code","Observation.meta":"Meta","Observation.method":"CodeableConcept","Observation.modifierExtension":"Extension","Observation.note":"Annotation","Observation.partOf":"Reference","Observation.performer":"Reference","Observation.referenceRange.age":"Range","Observation.referenceRange.appliesTo":"CodeableConcept","Observation.referenceRange.extension":"Extension","Observation.referenceRange.high":"Quantity","Observation.referenceRange.id":"System.String","Observation.referenceRange.low":"Quantity","Observation.referenceRange.modifierExtension":"Extension","Observation.referenceRange.text":"string","Observation.referenceRange.type":"CodeableConcept","Observation.specimen":"Reference","Observation.status":"code","Observation.subject":"Reference","Observation.text":"Narrative","Observation.valueBoolean":"boolean","Observation.valueCodeableConcept":"CodeableConcept","Observation.valueDateTime":"dateTime","Observation.valueInteger":"integer","Observation.valuePeriod":"Period","Observation.valueQuantity":"Quantity","Observation.valueRange":"Range","Observation.valueRatio":"Ratio","Observation.valueSampledData":"SampledData","Observation.valueString":"string","Observation.valueTime":"time","ObservationDefinition.abnormalCodedValueSet":"Reference","ObservationDefinition.category":"CodeableConcept","ObservationDefinition.code":"CodeableConcept","ObservationDefinition.contained":"Resource","ObservationDefinition.criticalCodedValueSet":"Reference","ObservationDefinition.extension":"Extension","ObservationDefinition.id":"System.String","ObservationDefinition.identifier":"Identifier","ObservationDefinition.implicitRules":"uri","ObservationDefinition.language":"code","ObservationDefinition.meta":"Meta","ObservationDefinition.method":"CodeableConcept","ObservationDefinition.modifierExtension":"Extension","ObservationDefinition.multipleResultsAllowed":"boolean","ObservationDefinition.normalCodedValueSet":"Reference","ObservationDefinition.permittedDataType":"code","ObservationDefinition.preferredReportName":"string","ObservationDefinition.qualifiedInterval.age":"Range","ObservationDefinition.qualifiedInterval.appliesTo":"CodeableConcept","ObservationDefinition.qualifiedInterval.category":"code","ObservationDefinition.qualifiedInterval.condition":"string","ObservationDefinition.qualifiedInterval.context":"CodeableConcept","ObservationDefinition.qualifiedInterval.extension":"Extension","ObservationDefinition.qualifiedInterval.gender":"code","ObservationDefinition.qualifiedInterval.gestationalAge":"Range","ObservationDefinition.qualifiedInterval.id":"System.String","ObservationDefinition.qualifiedInterval.modifierExtension":"Extension","ObservationDefinition.qualifiedInterval.range":"Range","ObservationDefinition.quantitativeDetails.conversionFactor":"decimal","ObservationDefinition.quantitativeDetails.customaryUnit":"CodeableConcept","ObservationDefinition.quantitativeDetails.decimalPrecision":"integer","ObservationDefinition.quantitativeDetails.extension":"Extension","ObservationDefinition.quantitativeDetails.id":"System.String","ObservationDefinition.quantitativeDetails.modifierExtension":"Extension","ObservationDefinition.quantitativeDetails.unit":"CodeableConcept","ObservationDefinition.text":"Narrative","ObservationDefinition.validCodedValueSet":"Reference","OperationDefinition.affectsState":"boolean","OperationDefinition.base":"canonical","OperationDefinition.code":"code","OperationDefinition.comment":"markdown","OperationDefinition.contact":"ContactDetail","OperationDefinition.contained":"Resource","OperationDefinition.date":"dateTime","OperationDefinition.description":"markdown","OperationDefinition.experimental":"boolean","OperationDefinition.extension":"Extension","OperationDefinition.id":"System.String","OperationDefinition.implicitRules":"uri","OperationDefinition.inputProfile":"canonical","OperationDefinition.instance":"boolean","OperationDefinition.jurisdiction":"CodeableConcept","OperationDefinition.kind":"code","OperationDefinition.language":"code","OperationDefinition.meta":"Meta","OperationDefinition.modifierExtension":"Extension","OperationDefinition.name":"string","OperationDefinition.outputProfile":"canonical","OperationDefinition.overload.comment":"string","OperationDefinition.overload.extension":"Extension","OperationDefinition.overload.id":"System.String","OperationDefinition.overload.modifierExtension":"Extension","OperationDefinition.overload.parameterName":"string","OperationDefinition.parameter.binding.extension":"Extension","OperationDefinition.parameter.binding.id":"System.String","OperationDefinition.parameter.binding.modifierExtension":"Extension","OperationDefinition.parameter.binding.strength":"code","OperationDefinition.parameter.binding.valueSet":"canonical","OperationDefinition.parameter.documentation":"string","OperationDefinition.parameter.extension":"Extension","OperationDefinition.parameter.id":"System.String","OperationDefinition.parameter.max":"string","OperationDefinition.parameter.min":"integer","OperationDefinition.parameter.modifierExtension":"Extension","OperationDefinition.parameter.name":"code","OperationDefinition.parameter.referencedFrom.extension":"Extension","OperationDefinition.parameter.referencedFrom.id":"System.String","OperationDefinition.parameter.referencedFrom.modifierExtension":"Extension","OperationDefinition.parameter.referencedFrom.source":"string","OperationDefinition.parameter.referencedFrom.sourceId":"string","OperationDefinition.parameter.searchType":"code","OperationDefinition.parameter.targetProfile":"canonical","OperationDefinition.parameter.type":"code","OperationDefinition.parameter.use":"code","OperationDefinition.publisher":"string","OperationDefinition.purpose":"markdown","OperationDefinition.resource":"code","OperationDefinition.status":"code","OperationDefinition.system":"boolean","OperationDefinition.text":"Narrative","OperationDefinition.title":"string","OperationDefinition.type":"boolean","OperationDefinition.url":"uri","OperationDefinition.useContext":"UsageContext","OperationDefinition.version":"string","OperationOutcome.contained":"Resource","OperationOutcome.extension":"Extension","OperationOutcome.id":"System.String","OperationOutcome.implicitRules":"uri","OperationOutcome.issue.code":"code","OperationOutcome.issue.details":"CodeableConcept","OperationOutcome.issue.diagnostics":"string","OperationOutcome.issue.expression":"string","OperationOutcome.issue.extension":"Extension","OperationOutcome.issue.id":"System.String","OperationOutcome.issue.location":"string","OperationOutcome.issue.modifierExtension":"Extension","OperationOutcome.issue.severity":"code","OperationOutcome.language":"code","OperationOutcome.meta":"Meta","OperationOutcome.modifierExtension":"Extension","OperationOutcome.text":"Narrative","Organization.active":"boolean","Organization.address":"Address","Organization.alias":"string","Organization.contact.address":"Address","Organization.contact.extension":"Extension","Organization.contact.id":"System.String","Organization.contact.modifierExtension":"Extension","Organization.contact.name":"HumanName","Organization.contact.purpose":"CodeableConcept","Organization.contact.telecom":"ContactPoint","Organization.contained":"Resource","Organization.endpoint":"Reference","Organization.extension":"Extension","Organization.id":"System.String","Organization.identifier":"Identifier","Organization.implicitRules":"uri","Organization.language":"code","Organization.meta":"Meta","Organization.modifierExtension":"Extension","Organization.name":"string","Organization.partOf":"Reference","Organization.telecom":"ContactPoint","Organization.text":"Narrative","Organization.type":"CodeableConcept","OrganizationAffiliation.active":"boolean","OrganizationAffiliation.code":"CodeableConcept","OrganizationAffiliation.contained":"Resource","OrganizationAffiliation.endpoint":"Reference","OrganizationAffiliation.extension":"Extension","OrganizationAffiliation.healthcareService":"Reference","OrganizationAffiliation.id":"System.String","OrganizationAffiliation.identifier":"Identifier","OrganizationAffiliation.implicitRules":"uri","OrganizationAffiliation.language":"code","OrganizationAffiliation.location":"Reference","OrganizationAffiliation.meta":"Meta","OrganizationAffiliation.modifierExtension":"Extension","OrganizationAffiliation.network":"Reference","OrganizationAffiliation.organization":"Reference","OrganizationAffiliation.participatingOrganization":"Reference","OrganizationAffiliation.period":"Period","OrganizationAffiliation.specialty":"CodeableConcept","OrganizationAffiliation.telecom":"ContactPoint","OrganizationAffiliation.text":"Narrative","ParameterDefinition.documentation":"string","ParameterDefinition.extension":"Extension","ParameterDefinition.id":"System.String","ParameterDefinition.max":"string","ParameterDefinition.min":"integer","ParameterDefinition.name":"code","ParameterDefinition.profile":"canonical","ParameterDefinition.type":"code","ParameterDefinition.use":"code","Parameters.id":"System.String","Parameters.implicitRules":"uri","Parameters.language":"code","Parameters.meta":"Meta","Parameters.parameter.extension":"Extension","Parameters.parameter.id":"System.String","Parameters.parameter.modifierExtension":"Extension","Parameters.parameter.name":"string","Parameters.parameter.resource":"Resource","Parameters.parameter.valueAddress":"Address","Parameters.parameter.valueAge":"Age","Parameters.parameter.valueAnnotation":"Annotation","Parameters.parameter.valueAttachment":"Attachment","Parameters.parameter.valueBase64Binary":"base64Binary","Parameters.parameter.valueBoolean":"boolean","Parameters.parameter.valueCanonical":"canonical","Parameters.parameter.valueCode":"code","Parameters.parameter.valueCodeableConcept":"CodeableConcept","Parameters.parameter.valueCoding":"Coding","Parameters.parameter.valueContactDetail":"ContactDetail","Parameters.parameter.valueContactPoint":"ContactPoint","Parameters.parameter.valueContributor":"Contributor","Parameters.parameter.valueCount":"Count","Parameters.parameter.valueDataRequirement":"DataRequirement","Parameters.parameter.valueDate":"date","Parameters.parameter.valueDateTime":"dateTime","Parameters.parameter.valueDecimal":"decimal","Parameters.parameter.valueDistance":"Distance","Parameters.parameter.valueDosage":"Dosage","Parameters.parameter.valueDuration":"Duration","Parameters.parameter.valueExpression":"Expression","Parameters.parameter.valueHumanName":"HumanName","Parameters.parameter.valueId":"id","Parameters.parameter.valueIdentifier":"Identifier","Parameters.parameter.valueInstant":"instant","Parameters.parameter.valueInteger":"integer","Parameters.parameter.valueMarkdown":"markdown","Parameters.parameter.valueMeta":"Meta","Parameters.parameter.valueMoney":"Money","Parameters.parameter.valueOid":"oid","Parameters.parameter.valueParameterDefinition":"ParameterDefinition","Parameters.parameter.valuePeriod":"Period","Parameters.parameter.valuePositiveInt":"positiveInt","Parameters.parameter.valueQuantity":"Quantity","Parameters.parameter.valueRange":"Range","Parameters.parameter.valueRatio":"Ratio","Parameters.parameter.valueReference":"Reference","Parameters.parameter.valueRelatedArtifact":"RelatedArtifact","Parameters.parameter.valueSampledData":"SampledData","Parameters.parameter.valueSignature":"Signature","Parameters.parameter.valueString":"string","Parameters.parameter.valueTime":"time","Parameters.parameter.valueTiming":"Timing","Parameters.parameter.valueTriggerDefinition":"TriggerDefinition","Parameters.parameter.valueUnsignedInt":"unsignedInt","Parameters.parameter.valueUri":"uri","Parameters.parameter.valueUrl":"url","Parameters.parameter.valueUsageContext":"UsageContext","Parameters.parameter.valueUuid":"uuid","Patient.active":"boolean","Patient.address":"Address","Patient.birthDate":"date","Patient.communication.extension":"Extension","Patient.communication.id":"System.String","Patient.communication.language":"CodeableConcept","Patient.communication.modifierExtension":"Extension","Patient.communication.preferred":"boolean","Patient.contact.address":"Address","Patient.contact.extension":"Extension","Patient.contact.gender":"code","Patient.contact.id":"System.String","Patient.contact.modifierExtension":"Extension","Patient.contact.name":"HumanName","Patient.contact.organization":"Reference","Patient.contact.period":"Period","Patient.contact.relationship":"CodeableConcept","Patient.contact.telecom":"ContactPoint","Patient.contained":"Resource","Patient.deceasedBoolean":"boolean","Patient.deceasedDateTime":"dateTime","Patient.extension":"Extension","Patient.gender":"code","Patient.generalPractitioner":"Reference","Patient.id":"System.String","Patient.identifier":"Identifier","Patient.implicitRules":"uri","Patient.language":"code","Patient.link.extension":"Extension","Patient.link.id":"System.String","Patient.link.modifierExtension":"Extension","Patient.link.other":"Reference","Patient.link.type":"code","Patient.managingOrganization":"Reference","Patient.maritalStatus":"CodeableConcept","Patient.meta":"Meta","Patient.modifierExtension":"Extension","Patient.multipleBirthBoolean":"boolean","Patient.multipleBirthInteger":"integer","Patient.name":"HumanName","Patient.photo":"Attachment","Patient.telecom":"ContactPoint","Patient.text":"Narrative","PaymentNotice.amount":"Money","PaymentNotice.contained":"Resource","PaymentNotice.created":"dateTime","PaymentNotice.extension":"Extension","PaymentNotice.id":"System.String","PaymentNotice.identifier":"Identifier","PaymentNotice.implicitRules":"uri","PaymentNotice.language":"code","PaymentNotice.meta":"Meta","PaymentNotice.modifierExtension":"Extension","PaymentNotice.payee":"Reference","PaymentNotice.payment":"Reference","PaymentNotice.paymentDate":"date","PaymentNotice.paymentStatus":"CodeableConcept","PaymentNotice.provider":"Reference","PaymentNotice.recipient":"Reference","PaymentNotice.request":"Reference","PaymentNotice.response":"Reference","PaymentNotice.status":"code","PaymentNotice.text":"Narrative","PaymentReconciliation.contained":"Resource","PaymentReconciliation.created":"dateTime","PaymentReconciliation.detail.amount":"Money","PaymentReconciliation.detail.date":"date","PaymentReconciliation.detail.extension":"Extension","PaymentReconciliation.detail.id":"System.String","PaymentReconciliation.detail.identifier":"Identifier","PaymentReconciliation.detail.modifierExtension":"Extension","PaymentReconciliation.detail.payee":"Reference","PaymentReconciliation.detail.predecessor":"Identifier","PaymentReconciliation.detail.request":"Reference","PaymentReconciliation.detail.response":"Reference","PaymentReconciliation.detail.responsible":"Reference","PaymentReconciliation.detail.submitter":"Reference","PaymentReconciliation.detail.type":"CodeableConcept","PaymentReconciliation.disposition":"string","PaymentReconciliation.extension":"Extension","PaymentReconciliation.formCode":"CodeableConcept","PaymentReconciliation.id":"System.String","PaymentReconciliation.identifier":"Identifier","PaymentReconciliation.implicitRules":"uri","PaymentReconciliation.language":"code","PaymentReconciliation.meta":"Meta","PaymentReconciliation.modifierExtension":"Extension","PaymentReconciliation.outcome":"code","PaymentReconciliation.paymentAmount":"Money","PaymentReconciliation.paymentDate":"date","PaymentReconciliation.paymentIdentifier":"Identifier","PaymentReconciliation.paymentIssuer":"Reference","PaymentReconciliation.period":"Period","PaymentReconciliation.processNote.extension":"Extension","PaymentReconciliation.processNote.id":"System.String","PaymentReconciliation.processNote.modifierExtension":"Extension","PaymentReconciliation.processNote.text":"string","PaymentReconciliation.processNote.type":"code","PaymentReconciliation.request":"Reference","PaymentReconciliation.requestor":"Reference","PaymentReconciliation.status":"code","PaymentReconciliation.text":"Narrative","Period.end":"dateTime","Period.extension":"Extension","Period.id":"System.String","Period.start":"dateTime","Person.active":"boolean","Person.address":"Address","Person.birthDate":"date","Person.contained":"Resource","Person.extension":"Extension","Person.gender":"code","Person.id":"System.String","Person.identifier":"Identifier","Person.implicitRules":"uri","Person.language":"code","Person.link.assurance":"code","Person.link.extension":"Extension","Person.link.id":"System.String","Person.link.modifierExtension":"Extension","Person.link.target":"Reference","Person.managingOrganization":"Reference","Person.meta":"Meta","Person.modifierExtension":"Extension","Person.name":"HumanName","Person.photo":"Attachment","Person.telecom":"ContactPoint","Person.text":"Narrative","PlanDefinition.action.cardinalityBehavior":"code","PlanDefinition.action.code":"CodeableConcept","PlanDefinition.action.condition.expression":"Expression","PlanDefinition.action.condition.extension":"Extension","PlanDefinition.action.condition.id":"System.String","PlanDefinition.action.condition.kind":"code","PlanDefinition.action.condition.modifierExtension":"Extension","PlanDefinition.action.definitionCanonical":"canonical","PlanDefinition.action.definitionUri":"uri","PlanDefinition.action.description":"string","PlanDefinition.action.documentation":"RelatedArtifact","PlanDefinition.action.dynamicValue.expression":"Expression","PlanDefinition.action.dynamicValue.extension":"Extension","PlanDefinition.action.dynamicValue.id":"System.String","PlanDefinition.action.dynamicValue.modifierExtension":"Extension","PlanDefinition.action.dynamicValue.path":"string","PlanDefinition.action.extension":"Extension","PlanDefinition.action.goalId":"id","PlanDefinition.action.groupingBehavior":"code","PlanDefinition.action.id":"System.String","PlanDefinition.action.input":"DataRequirement","PlanDefinition.action.modifierExtension":"Extension","PlanDefinition.action.output":"DataRequirement","PlanDefinition.action.participant.extension":"Extension","PlanDefinition.action.participant.id":"System.String","PlanDefinition.action.participant.modifierExtension":"Extension","PlanDefinition.action.participant.role":"CodeableConcept","PlanDefinition.action.participant.type":"code","PlanDefinition.action.precheckBehavior":"code","PlanDefinition.action.prefix":"string","PlanDefinition.action.priority":"code","PlanDefinition.action.reason":"CodeableConcept","PlanDefinition.action.relatedAction.actionId":"id","PlanDefinition.action.relatedAction.extension":"Extension","PlanDefinition.action.relatedAction.id":"System.String","PlanDefinition.action.relatedAction.modifierExtension":"Extension","PlanDefinition.action.relatedAction.offsetDuration":"Duration","PlanDefinition.action.relatedAction.offsetRange":"Range","PlanDefinition.action.relatedAction.relationship":"code","PlanDefinition.action.requiredBehavior":"code","PlanDefinition.action.selectionBehavior":"code","PlanDefinition.action.subjectCodeableConcept":"CodeableConcept","PlanDefinition.action.subjectReference":"Reference","PlanDefinition.action.textEquivalent":"string","PlanDefinition.action.timingAge":"Age","PlanDefinition.action.timingDateTime":"dateTime","PlanDefinition.action.timingDuration":"Duration","PlanDefinition.action.timingPeriod":"Period","PlanDefinition.action.timingRange":"Range","PlanDefinition.action.timingTiming":"Timing","PlanDefinition.action.title":"string","PlanDefinition.action.transform":"canonical","PlanDefinition.action.trigger":"TriggerDefinition","PlanDefinition.action.type":"CodeableConcept","PlanDefinition.approvalDate":"date","PlanDefinition.author":"ContactDetail","PlanDefinition.contact":"ContactDetail","PlanDefinition.contained":"Resource","PlanDefinition.copyright":"markdown","PlanDefinition.date":"dateTime","PlanDefinition.description":"markdown","PlanDefinition.editor":"ContactDetail","PlanDefinition.effectivePeriod":"Period","PlanDefinition.endorser":"ContactDetail","PlanDefinition.experimental":"boolean","PlanDefinition.extension":"Extension","PlanDefinition.goal.addresses":"CodeableConcept","PlanDefinition.goal.category":"CodeableConcept","PlanDefinition.goal.description":"CodeableConcept","PlanDefinition.goal.documentation":"RelatedArtifact","PlanDefinition.goal.extension":"Extension","PlanDefinition.goal.id":"System.String","PlanDefinition.goal.modifierExtension":"Extension","PlanDefinition.goal.priority":"CodeableConcept","PlanDefinition.goal.start":"CodeableConcept","PlanDefinition.goal.target.detailCodeableConcept":"CodeableConcept","PlanDefinition.goal.target.detailQuantity":"Quantity","PlanDefinition.goal.target.detailRange":"Range","PlanDefinition.goal.target.due":"Duration","PlanDefinition.goal.target.extension":"Extension","PlanDefinition.goal.target.id":"System.String","PlanDefinition.goal.target.measure":"CodeableConcept","PlanDefinition.goal.target.modifierExtension":"Extension","PlanDefinition.id":"System.String","PlanDefinition.identifier":"Identifier","PlanDefinition.implicitRules":"uri","PlanDefinition.jurisdiction":"CodeableConcept","PlanDefinition.language":"code","PlanDefinition.lastReviewDate":"date","PlanDefinition.library":"canonical","PlanDefinition.meta":"Meta","PlanDefinition.modifierExtension":"Extension","PlanDefinition.name":"string","PlanDefinition.publisher":"string","PlanDefinition.purpose":"markdown","PlanDefinition.relatedArtifact":"RelatedArtifact","PlanDefinition.reviewer":"ContactDetail","PlanDefinition.status":"code","PlanDefinition.subjectCodeableConcept":"CodeableConcept","PlanDefinition.subjectReference":"Reference","PlanDefinition.subtitle":"string","PlanDefinition.text":"Narrative","PlanDefinition.title":"string","PlanDefinition.topic":"CodeableConcept","PlanDefinition.type":"CodeableConcept","PlanDefinition.url":"uri","PlanDefinition.usage":"string","PlanDefinition.useContext":"UsageContext","PlanDefinition.version":"string","Population.ageCodeableConcept":"CodeableConcept","Population.ageRange":"Range","Population.extension":"Extension","Population.gender":"CodeableConcept","Population.id":"System.String","Population.modifierExtension":"Extension","Population.physiologicalCondition":"CodeableConcept","Population.race":"CodeableConcept","Practitioner.active":"boolean","Practitioner.address":"Address","Practitioner.birthDate":"date","Practitioner.communication":"CodeableConcept","Practitioner.contained":"Resource","Practitioner.extension":"Extension","Practitioner.gender":"code","Practitioner.id":"System.String","Practitioner.identifier":"Identifier","Practitioner.implicitRules":"uri","Practitioner.language":"code","Practitioner.meta":"Meta","Practitioner.modifierExtension":"Extension","Practitioner.name":"HumanName","Practitioner.photo":"Attachment","Practitioner.qualification.code":"CodeableConcept","Practitioner.qualification.extension":"Extension","Practitioner.qualification.id":"System.String","Practitioner.qualification.identifier":"Identifier","Practitioner.qualification.issuer":"Reference","Practitioner.qualification.modifierExtension":"Extension","Practitioner.qualification.period":"Period","Practitioner.telecom":"ContactPoint","Practitioner.text":"Narrative","PractitionerRole.active":"boolean","PractitionerRole.availabilityExceptions":"string","PractitionerRole.availableTime.allDay":"boolean","PractitionerRole.availableTime.availableEndTime":"time","PractitionerRole.availableTime.availableStartTime":"time","PractitionerRole.availableTime.daysOfWeek":"code","PractitionerRole.availableTime.extension":"Extension","PractitionerRole.availableTime.id":"System.String","PractitionerRole.availableTime.modifierExtension":"Extension","PractitionerRole.code":"CodeableConcept","PractitionerRole.contained":"Resource","PractitionerRole.endpoint":"Reference","PractitionerRole.extension":"Extension","PractitionerRole.healthcareService":"Reference","PractitionerRole.id":"System.String","PractitionerRole.identifier":"Identifier","PractitionerRole.implicitRules":"uri","PractitionerRole.language":"code","PractitionerRole.location":"Reference","PractitionerRole.meta":"Meta","PractitionerRole.modifierExtension":"Extension","PractitionerRole.notAvailable.description":"string","PractitionerRole.notAvailable.during":"Period","PractitionerRole.notAvailable.extension":"Extension","PractitionerRole.notAvailable.id":"System.String","PractitionerRole.notAvailable.modifierExtension":"Extension","PractitionerRole.organization":"Reference","PractitionerRole.period":"Period","PractitionerRole.practitioner":"Reference","PractitionerRole.specialty":"CodeableConcept","PractitionerRole.telecom":"ContactPoint","PractitionerRole.text":"Narrative","Procedure.asserter":"Reference","Procedure.basedOn":"Reference","Procedure.bodySite":"CodeableConcept","Procedure.category":"CodeableConcept","Procedure.code":"CodeableConcept","Procedure.complication":"CodeableConcept","Procedure.complicationDetail":"Reference","Procedure.contained":"Resource","Procedure.encounter":"Reference","Procedure.extension":"Extension","Procedure.focalDevice.action":"CodeableConcept","Procedure.focalDevice.extension":"Extension","Procedure.focalDevice.id":"System.String","Procedure.focalDevice.manipulated":"Reference","Procedure.focalDevice.modifierExtension":"Extension","Procedure.followUp":"CodeableConcept","Procedure.id":"System.String","Procedure.identifier":"Identifier","Procedure.implicitRules":"uri","Procedure.instantiatesCanonical":"canonical","Procedure.instantiatesUri":"uri","Procedure.language":"code","Procedure.location":"Reference","Procedure.meta":"Meta","Procedure.modifierExtension":"Extension","Procedure.note":"Annotation","Procedure.outcome":"CodeableConcept","Procedure.partOf":"Reference","Procedure.performedAge":"Age","Procedure.performedDateTime":"dateTime","Procedure.performedPeriod":"Period","Procedure.performedRange":"Range","Procedure.performedString":"string","Procedure.performer.actor":"Reference","Procedure.performer.extension":"Extension","Procedure.performer.function":"CodeableConcept","Procedure.performer.id":"System.String","Procedure.performer.modifierExtension":"Extension","Procedure.performer.onBehalfOf":"Reference","Procedure.reasonCode":"CodeableConcept","Procedure.reasonReference":"Reference","Procedure.recorder":"Reference","Procedure.report":"Reference","Procedure.status":"code","Procedure.statusReason":"CodeableConcept","Procedure.subject":"Reference","Procedure.text":"Narrative","Procedure.usedCode":"CodeableConcept","Procedure.usedReference":"Reference","ProdCharacteristic.color":"string","ProdCharacteristic.depth":"Quantity","ProdCharacteristic.extension":"Extension","ProdCharacteristic.externalDiameter":"Quantity","ProdCharacteristic.height":"Quantity","ProdCharacteristic.id":"System.String","ProdCharacteristic.image":"Attachment","ProdCharacteristic.imprint":"string","ProdCharacteristic.modifierExtension":"Extension","ProdCharacteristic.nominalVolume":"Quantity","ProdCharacteristic.scoring":"CodeableConcept","ProdCharacteristic.shape":"string","ProdCharacteristic.weight":"Quantity","ProdCharacteristic.width":"Quantity","ProductShelfLife.extension":"Extension","ProductShelfLife.id":"System.String","ProductShelfLife.identifier":"Identifier","ProductShelfLife.modifierExtension":"Extension","ProductShelfLife.period":"Quantity","ProductShelfLife.specialPrecautionsForStorage":"CodeableConcept","ProductShelfLife.type":"CodeableConcept","Provenance.activity":"CodeableConcept","Provenance.agent.extension":"Extension","Provenance.agent.id":"System.String","Provenance.agent.modifierExtension":"Extension","Provenance.agent.onBehalfOf":"Reference","Provenance.agent.role":"CodeableConcept","Provenance.agent.type":"CodeableConcept","Provenance.agent.who":"Reference","Provenance.contained":"Resource","Provenance.entity.extension":"Extension","Provenance.entity.id":"System.String","Provenance.entity.modifierExtension":"Extension","Provenance.entity.role":"code","Provenance.entity.what":"Reference","Provenance.extension":"Extension","Provenance.id":"System.String","Provenance.implicitRules":"uri","Provenance.language":"code","Provenance.location":"Reference","Provenance.meta":"Meta","Provenance.modifierExtension":"Extension","Provenance.occurredDateTime":"dateTime","Provenance.occurredPeriod":"Period","Provenance.policy":"uri","Provenance.reason":"CodeableConcept","Provenance.recorded":"instant","Provenance.signature":"Signature","Provenance.target":"Reference","Provenance.text":"Narrative","Quantity.code":"code","Quantity.comparator":"code","Quantity.extension":"Extension","Quantity.id":"System.String","Quantity.system":"uri","Quantity.unit":"string","Quantity.value":"decimal","Questionnaire.approvalDate":"date","Questionnaire.code":"Coding","Questionnaire.contact":"ContactDetail","Questionnaire.contained":"Resource","Questionnaire.copyright":"markdown","Questionnaire.date":"dateTime","Questionnaire.derivedFrom":"canonical","Questionnaire.description":"markdown","Questionnaire.effectivePeriod":"Period","Questionnaire.experimental":"boolean","Questionnaire.extension":"Extension","Questionnaire.id":"System.String","Questionnaire.identifier":"Identifier","Questionnaire.implicitRules":"uri","Questionnaire.item.answerOption.extension":"Extension","Questionnaire.item.answerOption.id":"System.String","Questionnaire.item.answerOption.initialSelected":"boolean","Questionnaire.item.answerOption.modifierExtension":"Extension","Questionnaire.item.answerOption.valueCoding":"Coding","Questionnaire.item.answerOption.valueDate":"date","Questionnaire.item.answerOption.valueInteger":"integer","Questionnaire.item.answerOption.valueReference":"Reference","Questionnaire.item.answerOption.valueString":"string","Questionnaire.item.answerOption.valueTime":"time","Questionnaire.item.answerValueSet":"canonical","Questionnaire.item.code":"Coding","Questionnaire.item.definition":"uri","Questionnaire.item.enableBehavior":"code","Questionnaire.item.enableWhen.answerBoolean":"boolean","Questionnaire.item.enableWhen.answerCoding":"Coding","Questionnaire.item.enableWhen.answerDate":"date","Questionnaire.item.enableWhen.answerDateTime":"dateTime","Questionnaire.item.enableWhen.answerDecimal":"decimal","Questionnaire.item.enableWhen.answerInteger":"integer","Questionnaire.item.enableWhen.answerQuantity":"Quantity","Questionnaire.item.enableWhen.answerReference":"Reference","Questionnaire.item.enableWhen.answerString":"string","Questionnaire.item.enableWhen.answerTime":"time","Questionnaire.item.enableWhen.extension":"Extension","Questionnaire.item.enableWhen.id":"System.String","Questionnaire.item.enableWhen.modifierExtension":"Extension","Questionnaire.item.enableWhen.operator":"code","Questionnaire.item.enableWhen.question":"string","Questionnaire.item.extension":"Extension","Questionnaire.item.id":"System.String","Questionnaire.item.initial.extension":"Extension","Questionnaire.item.initial.id":"System.String","Questionnaire.item.initial.modifierExtension":"Extension","Questionnaire.item.initial.valueAttachment":"Attachment","Questionnaire.item.initial.valueBoolean":"boolean","Questionnaire.item.initial.valueCoding":"Coding","Questionnaire.item.initial.valueDate":"date","Questionnaire.item.initial.valueDateTime":"dateTime","Questionnaire.item.initial.valueDecimal":"decimal","Questionnaire.item.initial.valueInteger":"integer","Questionnaire.item.initial.valueQuantity":"Quantity","Questionnaire.item.initial.valueReference":"Reference","Questionnaire.item.initial.valueString":"string","Questionnaire.item.initial.valueTime":"time","Questionnaire.item.initial.valueUri":"uri","Questionnaire.item.linkId":"string","Questionnaire.item.maxLength":"integer","Questionnaire.item.modifierExtension":"Extension","Questionnaire.item.prefix":"string","Questionnaire.item.readOnly":"boolean","Questionnaire.item.repeats":"boolean","Questionnaire.item.required":"boolean","Questionnaire.item.text":"string","Questionnaire.item.type":"code","Questionnaire.jurisdiction":"CodeableConcept","Questionnaire.language":"code","Questionnaire.lastReviewDate":"date","Questionnaire.meta":"Meta","Questionnaire.modifierExtension":"Extension","Questionnaire.name":"string","Questionnaire.publisher":"string","Questionnaire.purpose":"markdown","Questionnaire.status":"code","Questionnaire.subjectType":"code","Questionnaire.text":"Narrative","Questionnaire.title":"string","Questionnaire.url":"uri","Questionnaire.useContext":"UsageContext","Questionnaire.version":"string","QuestionnaireResponse.author":"Reference","QuestionnaireResponse.authored":"dateTime","QuestionnaireResponse.basedOn":"Reference","QuestionnaireResponse.contained":"Resource","QuestionnaireResponse.encounter":"Reference","QuestionnaireResponse.extension":"Extension","QuestionnaireResponse.id":"System.String","QuestionnaireResponse.identifier":"Identifier","QuestionnaireResponse.implicitRules":"uri","QuestionnaireResponse.item.answer.extension":"Extension","QuestionnaireResponse.item.answer.id":"System.String","QuestionnaireResponse.item.answer.modifierExtension":"Extension","QuestionnaireResponse.item.answer.valueAttachment":"Attachment","QuestionnaireResponse.item.answer.valueBoolean":"boolean","QuestionnaireResponse.item.answer.valueCoding":"Coding","QuestionnaireResponse.item.answer.valueDate":"date","QuestionnaireResponse.item.answer.valueDateTime":"dateTime","QuestionnaireResponse.item.answer.valueDecimal":"decimal","QuestionnaireResponse.item.answer.valueInteger":"integer","QuestionnaireResponse.item.answer.valueQuantity":"Quantity","QuestionnaireResponse.item.answer.valueReference":"Reference","QuestionnaireResponse.item.answer.valueString":"string","QuestionnaireResponse.item.answer.valueTime":"time","QuestionnaireResponse.item.answer.valueUri":"uri","QuestionnaireResponse.item.definition":"uri","QuestionnaireResponse.item.extension":"Extension","QuestionnaireResponse.item.id":"System.String","QuestionnaireResponse.item.linkId":"string","QuestionnaireResponse.item.modifierExtension":"Extension","QuestionnaireResponse.item.text":"string","QuestionnaireResponse.language":"code","QuestionnaireResponse.meta":"Meta","QuestionnaireResponse.modifierExtension":"Extension","QuestionnaireResponse.partOf":"Reference","QuestionnaireResponse.questionnaire":"canonical","QuestionnaireResponse.source":"Reference","QuestionnaireResponse.status":"code","QuestionnaireResponse.subject":"Reference","QuestionnaireResponse.text":"Narrative","Range.extension":"Extension","Range.high":"Quantity","Range.id":"System.String","Range.low":"Quantity","Ratio.denominator":"Quantity","Ratio.extension":"Extension","Ratio.id":"System.String","Ratio.numerator":"Quantity","Reference.display":"string","Reference.extension":"Extension","Reference.id":"System.String","Reference.identifier":"Identifier","Reference.reference":"string","Reference.type":"uri","RelatedArtifact.citation":"markdown","RelatedArtifact.display":"string","RelatedArtifact.document":"Attachment","RelatedArtifact.extension":"Extension","RelatedArtifact.id":"System.String","RelatedArtifact.label":"string","RelatedArtifact.resource":"canonical","RelatedArtifact.type":"code","RelatedArtifact.url":"url","RelatedPerson.active":"boolean","RelatedPerson.address":"Address","RelatedPerson.birthDate":"date","RelatedPerson.communication.extension":"Extension","RelatedPerson.communication.id":"System.String","RelatedPerson.communication.language":"CodeableConcept","RelatedPerson.communication.modifierExtension":"Extension","RelatedPerson.communication.preferred":"boolean","RelatedPerson.contained":"Resource","RelatedPerson.extension":"Extension","RelatedPerson.gender":"code","RelatedPerson.id":"System.String","RelatedPerson.identifier":"Identifier","RelatedPerson.implicitRules":"uri","RelatedPerson.language":"code","RelatedPerson.meta":"Meta","RelatedPerson.modifierExtension":"Extension","RelatedPerson.name":"HumanName","RelatedPerson.patient":"Reference","RelatedPerson.period":"Period","RelatedPerson.photo":"Attachment","RelatedPerson.relationship":"CodeableConcept","RelatedPerson.telecom":"ContactPoint","RelatedPerson.text":"Narrative","RequestGroup.action.cardinalityBehavior":"code","RequestGroup.action.code":"CodeableConcept","RequestGroup.action.condition.expression":"Expression","RequestGroup.action.condition.extension":"Extension","RequestGroup.action.condition.id":"System.String","RequestGroup.action.condition.kind":"code","RequestGroup.action.condition.modifierExtension":"Extension","RequestGroup.action.description":"string","RequestGroup.action.documentation":"RelatedArtifact","RequestGroup.action.extension":"Extension","RequestGroup.action.groupingBehavior":"code","RequestGroup.action.id":"System.String","RequestGroup.action.modifierExtension":"Extension","RequestGroup.action.participant":"Reference","RequestGroup.action.precheckBehavior":"code","RequestGroup.action.prefix":"string","RequestGroup.action.priority":"code","RequestGroup.action.relatedAction.actionId":"id","RequestGroup.action.relatedAction.extension":"Extension","RequestGroup.action.relatedAction.id":"System.String","RequestGroup.action.relatedAction.modifierExtension":"Extension","RequestGroup.action.relatedAction.offsetDuration":"Duration","RequestGroup.action.relatedAction.offsetRange":"Range","RequestGroup.action.relatedAction.relationship":"code","RequestGroup.action.requiredBehavior":"code","RequestGroup.action.resource":"Reference","RequestGroup.action.selectionBehavior":"code","RequestGroup.action.textEquivalent":"string","RequestGroup.action.timingAge":"Age","RequestGroup.action.timingDateTime":"dateTime","RequestGroup.action.timingDuration":"Duration","RequestGroup.action.timingPeriod":"Period","RequestGroup.action.timingRange":"Range","RequestGroup.action.timingTiming":"Timing","RequestGroup.action.title":"string","RequestGroup.action.type":"CodeableConcept","RequestGroup.author":"Reference","RequestGroup.authoredOn":"dateTime","RequestGroup.basedOn":"Reference","RequestGroup.code":"CodeableConcept","RequestGroup.contained":"Resource","RequestGroup.encounter":"Reference","RequestGroup.extension":"Extension","RequestGroup.groupIdentifier":"Identifier","RequestGroup.id":"System.String","RequestGroup.identifier":"Identifier","RequestGroup.implicitRules":"uri","RequestGroup.instantiatesCanonical":"canonical","RequestGroup.instantiatesUri":"uri","RequestGroup.intent":"code","RequestGroup.language":"code","RequestGroup.meta":"Meta","RequestGroup.modifierExtension":"Extension","RequestGroup.note":"Annotation","RequestGroup.priority":"code","RequestGroup.reasonCode":"CodeableConcept","RequestGroup.reasonReference":"Reference","RequestGroup.replaces":"Reference","RequestGroup.status":"code","RequestGroup.subject":"Reference","RequestGroup.text":"Narrative","ResearchDefinition.approvalDate":"date","ResearchDefinition.author":"ContactDetail","ResearchDefinition.comment":"string","ResearchDefinition.contact":"ContactDetail","ResearchDefinition.contained":"Resource","ResearchDefinition.copyright":"markdown","ResearchDefinition.date":"dateTime","ResearchDefinition.description":"markdown","ResearchDefinition.editor":"ContactDetail","ResearchDefinition.effectivePeriod":"Period","ResearchDefinition.endorser":"ContactDetail","ResearchDefinition.experimental":"boolean","ResearchDefinition.exposure":"Reference","ResearchDefinition.exposureAlternative":"Reference","ResearchDefinition.extension":"Extension","ResearchDefinition.id":"System.String","ResearchDefinition.identifier":"Identifier","ResearchDefinition.implicitRules":"uri","ResearchDefinition.jurisdiction":"CodeableConcept","ResearchDefinition.language":"code","ResearchDefinition.lastReviewDate":"date","ResearchDefinition.library":"canonical","ResearchDefinition.meta":"Meta","ResearchDefinition.modifierExtension":"Extension","ResearchDefinition.name":"string","ResearchDefinition.outcome":"Reference","ResearchDefinition.population":"Reference","ResearchDefinition.publisher":"string","ResearchDefinition.purpose":"markdown","ResearchDefinition.relatedArtifact":"RelatedArtifact","ResearchDefinition.reviewer":"ContactDetail","ResearchDefinition.shortTitle":"string","ResearchDefinition.status":"code","ResearchDefinition.subjectCodeableConcept":"CodeableConcept","ResearchDefinition.subjectReference":"Reference","ResearchDefinition.subtitle":"string","ResearchDefinition.text":"Narrative","ResearchDefinition.title":"string","ResearchDefinition.topic":"CodeableConcept","ResearchDefinition.url":"uri","ResearchDefinition.usage":"string","ResearchDefinition.useContext":"UsageContext","ResearchDefinition.version":"string","ResearchElementDefinition.approvalDate":"date","ResearchElementDefinition.author":"ContactDetail","ResearchElementDefinition.characteristic.definitionCanonical":"canonical","ResearchElementDefinition.characteristic.definitionCodeableConcept":"CodeableConcept","ResearchElementDefinition.characteristic.definitionDataRequirement":"DataRequirement","ResearchElementDefinition.characteristic.definitionExpression":"Expression","ResearchElementDefinition.characteristic.exclude":"boolean","ResearchElementDefinition.characteristic.extension":"Extension","ResearchElementDefinition.characteristic.id":"System.String","ResearchElementDefinition.characteristic.modifierExtension":"Extension","ResearchElementDefinition.characteristic.participantEffectiveDateTime":"dateTime","ResearchElementDefinition.characteristic.participantEffectiveDescription":"string","ResearchElementDefinition.characteristic.participantEffectiveDuration":"Duration","ResearchElementDefinition.characteristic.participantEffectiveGroupMeasure":"code","ResearchElementDefinition.characteristic.participantEffectivePeriod":"Period","ResearchElementDefinition.characteristic.participantEffectiveTimeFromStart":"Duration","ResearchElementDefinition.characteristic.participantEffectiveTiming":"Timing","ResearchElementDefinition.characteristic.studyEffectiveDateTime":"dateTime","ResearchElementDefinition.characteristic.studyEffectiveDescription":"string","ResearchElementDefinition.characteristic.studyEffectiveDuration":"Duration","ResearchElementDefinition.characteristic.studyEffectiveGroupMeasure":"code","ResearchElementDefinition.characteristic.studyEffectivePeriod":"Period","ResearchElementDefinition.characteristic.studyEffectiveTimeFromStart":"Duration","ResearchElementDefinition.characteristic.studyEffectiveTiming":"Timing","ResearchElementDefinition.characteristic.unitOfMeasure":"CodeableConcept","ResearchElementDefinition.characteristic.usageContext":"UsageContext","ResearchElementDefinition.comment":"string","ResearchElementDefinition.contact":"ContactDetail","ResearchElementDefinition.contained":"Resource","ResearchElementDefinition.copyright":"markdown","ResearchElementDefinition.date":"dateTime","ResearchElementDefinition.description":"markdown","ResearchElementDefinition.editor":"ContactDetail","ResearchElementDefinition.effectivePeriod":"Period","ResearchElementDefinition.endorser":"ContactDetail","ResearchElementDefinition.experimental":"boolean","ResearchElementDefinition.extension":"Extension","ResearchElementDefinition.id":"System.String","ResearchElementDefinition.identifier":"Identifier","ResearchElementDefinition.implicitRules":"uri","ResearchElementDefinition.jurisdiction":"CodeableConcept","ResearchElementDefinition.language":"code","ResearchElementDefinition.lastReviewDate":"date","ResearchElementDefinition.library":"canonical","ResearchElementDefinition.meta":"Meta","ResearchElementDefinition.modifierExtension":"Extension","ResearchElementDefinition.name":"string","ResearchElementDefinition.publisher":"string","ResearchElementDefinition.purpose":"markdown","ResearchElementDefinition.relatedArtifact":"RelatedArtifact","ResearchElementDefinition.reviewer":"ContactDetail","ResearchElementDefinition.shortTitle":"string","ResearchElementDefinition.status":"code","ResearchElementDefinition.subjectCodeableConcept":"CodeableConcept","ResearchElementDefinition.subjectReference":"Reference","ResearchElementDefinition.subtitle":"string","ResearchElementDefinition.text":"Narrative","ResearchElementDefinition.title":"string","ResearchElementDefinition.topic":"CodeableConcept","ResearchElementDefinition.type":"code","ResearchElementDefinition.url":"uri","ResearchElementDefinition.usage":"string","ResearchElementDefinition.useContext":"UsageContext","ResearchElementDefinition.variableType":"code","ResearchElementDefinition.version":"string","ResearchStudy.arm.description":"string","ResearchStudy.arm.extension":"Extension","ResearchStudy.arm.id":"System.String","ResearchStudy.arm.modifierExtension":"Extension","ResearchStudy.arm.name":"string","ResearchStudy.arm.type":"CodeableConcept","ResearchStudy.category":"CodeableConcept","ResearchStudy.condition":"CodeableConcept","ResearchStudy.contact":"ContactDetail","ResearchStudy.contained":"Resource","ResearchStudy.description":"markdown","ResearchStudy.enrollment":"Reference","ResearchStudy.extension":"Extension","ResearchStudy.focus":"CodeableConcept","ResearchStudy.id":"System.String","ResearchStudy.identifier":"Identifier","ResearchStudy.implicitRules":"uri","ResearchStudy.keyword":"CodeableConcept","ResearchStudy.language":"code","ResearchStudy.location":"CodeableConcept","ResearchStudy.meta":"Meta","ResearchStudy.modifierExtension":"Extension","ResearchStudy.note":"Annotation","ResearchStudy.objective.extension":"Extension","ResearchStudy.objective.id":"System.String","ResearchStudy.objective.modifierExtension":"Extension","ResearchStudy.objective.name":"string","ResearchStudy.objective.type":"CodeableConcept","ResearchStudy.partOf":"Reference","ResearchStudy.period":"Period","ResearchStudy.phase":"CodeableConcept","ResearchStudy.primaryPurposeType":"CodeableConcept","ResearchStudy.principalInvestigator":"Reference","ResearchStudy.protocol":"Reference","ResearchStudy.reasonStopped":"CodeableConcept","ResearchStudy.relatedArtifact":"RelatedArtifact","ResearchStudy.site":"Reference","ResearchStudy.sponsor":"Reference","ResearchStudy.status":"code","ResearchStudy.text":"Narrative","ResearchStudy.title":"string","ResearchSubject.actualArm":"string","ResearchSubject.assignedArm":"string","ResearchSubject.consent":"Reference","ResearchSubject.contained":"Resource","ResearchSubject.extension":"Extension","ResearchSubject.id":"System.String","ResearchSubject.identifier":"Identifier","ResearchSubject.implicitRules":"uri","ResearchSubject.individual":"Reference","ResearchSubject.language":"code","ResearchSubject.meta":"Meta","ResearchSubject.modifierExtension":"Extension","ResearchSubject.period":"Period","ResearchSubject.status":"code","ResearchSubject.study":"Reference","ResearchSubject.text":"Narrative","Resource.id":"System.String","Resource.implicitRules":"uri","Resource.language":"code","Resource.meta":"Meta","RiskAssessment.basedOn":"Reference","RiskAssessment.basis":"Reference","RiskAssessment.code":"CodeableConcept","RiskAssessment.condition":"Reference","RiskAssessment.contained":"Resource","RiskAssessment.encounter":"Reference","RiskAssessment.extension":"Extension","RiskAssessment.id":"System.String","RiskAssessment.identifier":"Identifier","RiskAssessment.implicitRules":"uri","RiskAssessment.language":"code","RiskAssessment.meta":"Meta","RiskAssessment.method":"CodeableConcept","RiskAssessment.mitigation":"string","RiskAssessment.modifierExtension":"Extension","RiskAssessment.note":"Annotation","RiskAssessment.occurrenceDateTime":"dateTime","RiskAssessment.occurrencePeriod":"Period","RiskAssessment.parent":"Reference","RiskAssessment.performer":"Reference","RiskAssessment.prediction.extension":"Extension","RiskAssessment.prediction.id":"System.String","RiskAssessment.prediction.modifierExtension":"Extension","RiskAssessment.prediction.outcome":"CodeableConcept","RiskAssessment.prediction.probabilityDecimal":"decimal","RiskAssessment.prediction.probabilityRange":"Range","RiskAssessment.prediction.qualitativeRisk":"CodeableConcept","RiskAssessment.prediction.rationale":"string","RiskAssessment.prediction.relativeRisk":"decimal","RiskAssessment.prediction.whenPeriod":"Period","RiskAssessment.prediction.whenRange":"Range","RiskAssessment.reasonCode":"CodeableConcept","RiskAssessment.reasonReference":"Reference","RiskAssessment.status":"code","RiskAssessment.subject":"Reference","RiskAssessment.text":"Narrative","RiskEvidenceSynthesis.approvalDate":"date","RiskEvidenceSynthesis.author":"ContactDetail","RiskEvidenceSynthesis.certainty.certaintySubcomponent.extension":"Extension","RiskEvidenceSynthesis.certainty.certaintySubcomponent.id":"System.String","RiskEvidenceSynthesis.certainty.certaintySubcomponent.modifierExtension":"Extension","RiskEvidenceSynthesis.certainty.certaintySubcomponent.note":"Annotation","RiskEvidenceSynthesis.certainty.certaintySubcomponent.rating":"CodeableConcept","RiskEvidenceSynthesis.certainty.certaintySubcomponent.type":"CodeableConcept","RiskEvidenceSynthesis.certainty.extension":"Extension","RiskEvidenceSynthesis.certainty.id":"System.String","RiskEvidenceSynthesis.certainty.modifierExtension":"Extension","RiskEvidenceSynthesis.certainty.note":"Annotation","RiskEvidenceSynthesis.certainty.rating":"CodeableConcept","RiskEvidenceSynthesis.contact":"ContactDetail","RiskEvidenceSynthesis.contained":"Resource","RiskEvidenceSynthesis.copyright":"markdown","RiskEvidenceSynthesis.date":"dateTime","RiskEvidenceSynthesis.description":"markdown","RiskEvidenceSynthesis.editor":"ContactDetail","RiskEvidenceSynthesis.effectivePeriod":"Period","RiskEvidenceSynthesis.endorser":"ContactDetail","RiskEvidenceSynthesis.exposure":"Reference","RiskEvidenceSynthesis.extension":"Extension","RiskEvidenceSynthesis.id":"System.String","RiskEvidenceSynthesis.identifier":"Identifier","RiskEvidenceSynthesis.implicitRules":"uri","RiskEvidenceSynthesis.jurisdiction":"CodeableConcept","RiskEvidenceSynthesis.language":"code","RiskEvidenceSynthesis.lastReviewDate":"date","RiskEvidenceSynthesis.meta":"Meta","RiskEvidenceSynthesis.modifierExtension":"Extension","RiskEvidenceSynthesis.name":"string","RiskEvidenceSynthesis.note":"Annotation","RiskEvidenceSynthesis.outcome":"Reference","RiskEvidenceSynthesis.population":"Reference","RiskEvidenceSynthesis.publisher":"string","RiskEvidenceSynthesis.relatedArtifact":"RelatedArtifact","RiskEvidenceSynthesis.reviewer":"ContactDetail","RiskEvidenceSynthesis.riskEstimate.denominatorCount":"integer","RiskEvidenceSynthesis.riskEstimate.description":"string","RiskEvidenceSynthesis.riskEstimate.extension":"Extension","RiskEvidenceSynthesis.riskEstimate.id":"System.String","RiskEvidenceSynthesis.riskEstimate.modifierExtension":"Extension","RiskEvidenceSynthesis.riskEstimate.numeratorCount":"integer","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.extension":"Extension","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.from":"decimal","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.id":"System.String","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.level":"decimal","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.modifierExtension":"Extension","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.to":"decimal","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.type":"CodeableConcept","RiskEvidenceSynthesis.riskEstimate.type":"CodeableConcept","RiskEvidenceSynthesis.riskEstimate.unitOfMeasure":"CodeableConcept","RiskEvidenceSynthesis.riskEstimate.value":"decimal","RiskEvidenceSynthesis.sampleSize.description":"string","RiskEvidenceSynthesis.sampleSize.extension":"Extension","RiskEvidenceSynthesis.sampleSize.id":"System.String","RiskEvidenceSynthesis.sampleSize.modifierExtension":"Extension","RiskEvidenceSynthesis.sampleSize.numberOfParticipants":"integer","RiskEvidenceSynthesis.sampleSize.numberOfStudies":"integer","RiskEvidenceSynthesis.status":"code","RiskEvidenceSynthesis.studyType":"CodeableConcept","RiskEvidenceSynthesis.synthesisType":"CodeableConcept","RiskEvidenceSynthesis.text":"Narrative","RiskEvidenceSynthesis.title":"string","RiskEvidenceSynthesis.topic":"CodeableConcept","RiskEvidenceSynthesis.url":"uri","RiskEvidenceSynthesis.useContext":"UsageContext","RiskEvidenceSynthesis.version":"string","SampledData.data":"string","SampledData.dimensions":"positiveInt","SampledData.extension":"Extension","SampledData.factor":"decimal","SampledData.id":"System.String","SampledData.lowerLimit":"decimal","SampledData.origin":"Quantity","SampledData.period":"decimal","SampledData.upperLimit":"decimal","Schedule.active":"boolean","Schedule.actor":"Reference","Schedule.comment":"string","Schedule.contained":"Resource","Schedule.extension":"Extension","Schedule.id":"System.String","Schedule.identifier":"Identifier","Schedule.implicitRules":"uri","Schedule.language":"code","Schedule.meta":"Meta","Schedule.modifierExtension":"Extension","Schedule.planningHorizon":"Period","Schedule.serviceCategory":"CodeableConcept","Schedule.serviceType":"CodeableConcept","Schedule.specialty":"CodeableConcept","Schedule.text":"Narrative","SearchParameter.base":"code","SearchParameter.chain":"string","SearchParameter.code":"code","SearchParameter.comparator":"code","SearchParameter.component.definition":"canonical","SearchParameter.component.expression":"string","SearchParameter.component.extension":"Extension","SearchParameter.component.id":"System.String","SearchParameter.component.modifierExtension":"Extension","SearchParameter.contact":"ContactDetail","SearchParameter.contained":"Resource","SearchParameter.date":"dateTime","SearchParameter.derivedFrom":"canonical","SearchParameter.description":"markdown","SearchParameter.experimental":"boolean","SearchParameter.expression":"string","SearchParameter.extension":"Extension","SearchParameter.id":"System.String","SearchParameter.implicitRules":"uri","SearchParameter.jurisdiction":"CodeableConcept","SearchParameter.language":"code","SearchParameter.meta":"Meta","SearchParameter.modifier":"code","SearchParameter.modifierExtension":"Extension","SearchParameter.multipleAnd":"boolean","SearchParameter.multipleOr":"boolean","SearchParameter.name":"string","SearchParameter.publisher":"string","SearchParameter.purpose":"markdown","SearchParameter.status":"code","SearchParameter.target":"code","SearchParameter.text":"Narrative","SearchParameter.type":"code","SearchParameter.url":"uri","SearchParameter.useContext":"UsageContext","SearchParameter.version":"string","SearchParameter.xpath":"string","SearchParameter.xpathUsage":"code","ServiceRequest.asNeededBoolean":"boolean","ServiceRequest.asNeededCodeableConcept":"CodeableConcept","ServiceRequest.authoredOn":"dateTime","ServiceRequest.basedOn":"Reference","ServiceRequest.bodySite":"CodeableConcept","ServiceRequest.category":"CodeableConcept","ServiceRequest.code":"CodeableConcept","ServiceRequest.contained":"Resource","ServiceRequest.doNotPerform":"boolean","ServiceRequest.encounter":"Reference","ServiceRequest.extension":"Extension","ServiceRequest.id":"System.String","ServiceRequest.identifier":"Identifier","ServiceRequest.implicitRules":"uri","ServiceRequest.instantiatesCanonical":"canonical","ServiceRequest.instantiatesUri":"uri","ServiceRequest.insurance":"Reference","ServiceRequest.intent":"code","ServiceRequest.language":"code","ServiceRequest.locationCode":"CodeableConcept","ServiceRequest.locationReference":"Reference","ServiceRequest.meta":"Meta","ServiceRequest.modifierExtension":"Extension","ServiceRequest.note":"Annotation","ServiceRequest.occurrenceDateTime":"dateTime","ServiceRequest.occurrencePeriod":"Period","ServiceRequest.occurrenceTiming":"Timing","ServiceRequest.orderDetail":"CodeableConcept","ServiceRequest.patientInstruction":"string","ServiceRequest.performer":"Reference","ServiceRequest.performerType":"CodeableConcept","ServiceRequest.priority":"code","ServiceRequest.quantityQuantity":"Quantity","ServiceRequest.quantityRange":"Range","ServiceRequest.quantityRatio":"Ratio","ServiceRequest.reasonCode":"CodeableConcept","ServiceRequest.reasonReference":"Reference","ServiceRequest.relevantHistory":"Reference","ServiceRequest.replaces":"Reference","ServiceRequest.requester":"Reference","ServiceRequest.requisition":"Identifier","ServiceRequest.specimen":"Reference","ServiceRequest.status":"code","ServiceRequest.subject":"Reference","ServiceRequest.supportingInfo":"Reference","ServiceRequest.text":"Narrative","Signature.data":"base64Binary","Signature.extension":"Extension","Signature.id":"System.String","Signature.onBehalfOf":"Reference","Signature.sigFormat":"code","Signature.targetFormat":"code","Signature.type":"Coding","Signature.when":"instant","Signature.who":"Reference","Slot.appointmentType":"CodeableConcept","Slot.comment":"string","Slot.contained":"Resource","Slot.end":"instant","Slot.extension":"Extension","Slot.id":"System.String","Slot.identifier":"Identifier","Slot.implicitRules":"uri","Slot.language":"code","Slot.meta":"Meta","Slot.modifierExtension":"Extension","Slot.overbooked":"boolean","Slot.schedule":"Reference","Slot.serviceCategory":"CodeableConcept","Slot.serviceType":"CodeableConcept","Slot.specialty":"CodeableConcept","Slot.start":"instant","Slot.status":"code","Slot.text":"Narrative","Specimen.accessionIdentifier":"Identifier","Specimen.collection.bodySite":"CodeableConcept","Specimen.collection.collectedDateTime":"dateTime","Specimen.collection.collectedPeriod":"Period","Specimen.collection.collector":"Reference","Specimen.collection.duration":"Duration","Specimen.collection.extension":"Extension","Specimen.collection.fastingStatusCodeableConcept":"CodeableConcept","Specimen.collection.fastingStatusDuration":"Duration","Specimen.collection.id":"System.String","Specimen.collection.method":"CodeableConcept","Specimen.collection.modifierExtension":"Extension","Specimen.collection.quantity":"Quantity","Specimen.condition":"CodeableConcept","Specimen.contained":"Resource","Specimen.container.additiveCodeableConcept":"CodeableConcept","Specimen.container.additiveReference":"Reference","Specimen.container.capacity":"Quantity","Specimen.container.description":"string","Specimen.container.extension":"Extension","Specimen.container.id":"System.String","Specimen.container.identifier":"Identifier","Specimen.container.modifierExtension":"Extension","Specimen.container.specimenQuantity":"Quantity","Specimen.container.type":"CodeableConcept","Specimen.extension":"Extension","Specimen.id":"System.String","Specimen.identifier":"Identifier","Specimen.implicitRules":"uri","Specimen.language":"code","Specimen.meta":"Meta","Specimen.modifierExtension":"Extension","Specimen.note":"Annotation","Specimen.parent":"Reference","Specimen.processing.additive":"Reference","Specimen.processing.description":"string","Specimen.processing.extension":"Extension","Specimen.processing.id":"System.String","Specimen.processing.modifierExtension":"Extension","Specimen.processing.procedure":"CodeableConcept","Specimen.processing.timeDateTime":"dateTime","Specimen.processing.timePeriod":"Period","Specimen.receivedTime":"dateTime","Specimen.request":"Reference","Specimen.status":"code","Specimen.subject":"Reference","Specimen.text":"Narrative","Specimen.type":"CodeableConcept","SpecimenDefinition.collection":"CodeableConcept","SpecimenDefinition.contained":"Resource","SpecimenDefinition.extension":"Extension","SpecimenDefinition.id":"System.String","SpecimenDefinition.identifier":"Identifier","SpecimenDefinition.implicitRules":"uri","SpecimenDefinition.language":"code","SpecimenDefinition.meta":"Meta","SpecimenDefinition.modifierExtension":"Extension","SpecimenDefinition.patientPreparation":"CodeableConcept","SpecimenDefinition.text":"Narrative","SpecimenDefinition.timeAspect":"string","SpecimenDefinition.typeCollected":"CodeableConcept","SpecimenDefinition.typeTested.container.additive.additiveCodeableConcept":"CodeableConcept","SpecimenDefinition.typeTested.container.additive.additiveReference":"Reference","SpecimenDefinition.typeTested.container.additive.extension":"Extension","SpecimenDefinition.typeTested.container.additive.id":"System.String","SpecimenDefinition.typeTested.container.additive.modifierExtension":"Extension","SpecimenDefinition.typeTested.container.cap":"CodeableConcept","SpecimenDefinition.typeTested.container.capacity":"Quantity","SpecimenDefinition.typeTested.container.description":"string","SpecimenDefinition.typeTested.container.extension":"Extension","SpecimenDefinition.typeTested.container.id":"System.String","SpecimenDefinition.typeTested.container.material":"CodeableConcept","SpecimenDefinition.typeTested.container.minimumVolumeQuantity":"Quantity","SpecimenDefinition.typeTested.container.minimumVolumeString":"string","SpecimenDefinition.typeTested.container.modifierExtension":"Extension","SpecimenDefinition.typeTested.container.preparation":"string","SpecimenDefinition.typeTested.container.type":"CodeableConcept","SpecimenDefinition.typeTested.extension":"Extension","SpecimenDefinition.typeTested.handling.extension":"Extension","SpecimenDefinition.typeTested.handling.id":"System.String","SpecimenDefinition.typeTested.handling.instruction":"string","SpecimenDefinition.typeTested.handling.maxDuration":"Duration","SpecimenDefinition.typeTested.handling.modifierExtension":"Extension","SpecimenDefinition.typeTested.handling.temperatureQualifier":"CodeableConcept","SpecimenDefinition.typeTested.handling.temperatureRange":"Range","SpecimenDefinition.typeTested.id":"System.String","SpecimenDefinition.typeTested.isDerived":"boolean","SpecimenDefinition.typeTested.modifierExtension":"Extension","SpecimenDefinition.typeTested.preference":"code","SpecimenDefinition.typeTested.rejectionCriterion":"CodeableConcept","SpecimenDefinition.typeTested.requirement":"string","SpecimenDefinition.typeTested.retentionTime":"Duration","SpecimenDefinition.typeTested.type":"CodeableConcept","StructureDefinition.abstract":"boolean","StructureDefinition.baseDefinition":"canonical","StructureDefinition.contact":"ContactDetail","StructureDefinition.contained":"Resource","StructureDefinition.context.expression":"string","StructureDefinition.context.extension":"Extension","StructureDefinition.context.id":"System.String","StructureDefinition.context.modifierExtension":"Extension","StructureDefinition.context.type":"code","StructureDefinition.contextInvariant":"string","StructureDefinition.copyright":"markdown","StructureDefinition.date":"dateTime","StructureDefinition.derivation":"code","StructureDefinition.description":"markdown","StructureDefinition.differential.element":"ElementDefinition","StructureDefinition.differential.extension":"Extension","StructureDefinition.differential.id":"System.String","StructureDefinition.differential.modifierExtension":"Extension","StructureDefinition.experimental":"boolean","StructureDefinition.extension":"Extension","StructureDefinition.fhirVersion":"code","StructureDefinition.id":"System.String","StructureDefinition.identifier":"Identifier","StructureDefinition.implicitRules":"uri","StructureDefinition.jurisdiction":"CodeableConcept","StructureDefinition.keyword":"Coding","StructureDefinition.kind":"code","StructureDefinition.language":"code","StructureDefinition.mapping.comment":"string","StructureDefinition.mapping.extension":"Extension","StructureDefinition.mapping.id":"System.String","StructureDefinition.mapping.identity":"id","StructureDefinition.mapping.modifierExtension":"Extension","StructureDefinition.mapping.name":"string","StructureDefinition.mapping.uri":"uri","StructureDefinition.meta":"Meta","StructureDefinition.modifierExtension":"Extension","StructureDefinition.name":"string","StructureDefinition.publisher":"string","StructureDefinition.purpose":"markdown","StructureDefinition.snapshot.element":"ElementDefinition","StructureDefinition.snapshot.extension":"Extension","StructureDefinition.snapshot.id":"System.String","StructureDefinition.snapshot.modifierExtension":"Extension","StructureDefinition.status":"code","StructureDefinition.text":"Narrative","StructureDefinition.title":"string","StructureDefinition.type":"uri","StructureDefinition.url":"uri","StructureDefinition.useContext":"UsageContext","StructureDefinition.version":"string","StructureMap.contact":"ContactDetail","StructureMap.contained":"Resource","StructureMap.copyright":"markdown","StructureMap.date":"dateTime","StructureMap.description":"markdown","StructureMap.experimental":"boolean","StructureMap.extension":"Extension","StructureMap.group.documentation":"string","StructureMap.group.extends":"id","StructureMap.group.extension":"Extension","StructureMap.group.id":"System.String","StructureMap.group.input.documentation":"string","StructureMap.group.input.extension":"Extension","StructureMap.group.input.id":"System.String","StructureMap.group.input.mode":"code","StructureMap.group.input.modifierExtension":"Extension","StructureMap.group.input.name":"id","StructureMap.group.input.type":"string","StructureMap.group.modifierExtension":"Extension","StructureMap.group.name":"id","StructureMap.group.rule.dependent.extension":"Extension","StructureMap.group.rule.dependent.id":"System.String","StructureMap.group.rule.dependent.modifierExtension":"Extension","StructureMap.group.rule.dependent.name":"id","StructureMap.group.rule.dependent.variable":"string","StructureMap.group.rule.documentation":"string","StructureMap.group.rule.extension":"Extension","StructureMap.group.rule.id":"System.String","StructureMap.group.rule.modifierExtension":"Extension","StructureMap.group.rule.name":"id","StructureMap.group.rule.source.check":"string","StructureMap.group.rule.source.condition":"string","StructureMap.group.rule.source.context":"id","StructureMap.group.rule.source.defaultValueAddress":"Address","StructureMap.group.rule.source.defaultValueAge":"Age","StructureMap.group.rule.source.defaultValueAnnotation":"Annotation","StructureMap.group.rule.source.defaultValueAttachment":"Attachment","StructureMap.group.rule.source.defaultValueBase64Binary":"base64Binary","StructureMap.group.rule.source.defaultValueBoolean":"boolean","StructureMap.group.rule.source.defaultValueCanonical":"canonical","StructureMap.group.rule.source.defaultValueCode":"code","StructureMap.group.rule.source.defaultValueCodeableConcept":"CodeableConcept","StructureMap.group.rule.source.defaultValueCoding":"Coding","StructureMap.group.rule.source.defaultValueContactDetail":"ContactDetail","StructureMap.group.rule.source.defaultValueContactPoint":"ContactPoint","StructureMap.group.rule.source.defaultValueContributor":"Contributor","StructureMap.group.rule.source.defaultValueCount":"Count","StructureMap.group.rule.source.defaultValueDataRequirement":"DataRequirement","StructureMap.group.rule.source.defaultValueDate":"date","StructureMap.group.rule.source.defaultValueDateTime":"dateTime","StructureMap.group.rule.source.defaultValueDecimal":"decimal","StructureMap.group.rule.source.defaultValueDistance":"Distance","StructureMap.group.rule.source.defaultValueDosage":"Dosage","StructureMap.group.rule.source.defaultValueDuration":"Duration","StructureMap.group.rule.source.defaultValueExpression":"Expression","StructureMap.group.rule.source.defaultValueHumanName":"HumanName","StructureMap.group.rule.source.defaultValueId":"id","StructureMap.group.rule.source.defaultValueIdentifier":"Identifier","StructureMap.group.rule.source.defaultValueInstant":"instant","StructureMap.group.rule.source.defaultValueInteger":"integer","StructureMap.group.rule.source.defaultValueMarkdown":"markdown","StructureMap.group.rule.source.defaultValueMeta":"Meta","StructureMap.group.rule.source.defaultValueMoney":"Money","StructureMap.group.rule.source.defaultValueOid":"oid","StructureMap.group.rule.source.defaultValueParameterDefinition":"ParameterDefinition","StructureMap.group.rule.source.defaultValuePeriod":"Period","StructureMap.group.rule.source.defaultValuePositiveInt":"positiveInt","StructureMap.group.rule.source.defaultValueQuantity":"Quantity","StructureMap.group.rule.source.defaultValueRange":"Range","StructureMap.group.rule.source.defaultValueRatio":"Ratio","StructureMap.group.rule.source.defaultValueReference":"Reference","StructureMap.group.rule.source.defaultValueRelatedArtifact":"RelatedArtifact","StructureMap.group.rule.source.defaultValueSampledData":"SampledData","StructureMap.group.rule.source.defaultValueSignature":"Signature","StructureMap.group.rule.source.defaultValueString":"string","StructureMap.group.rule.source.defaultValueTime":"time","StructureMap.group.rule.source.defaultValueTiming":"Timing","StructureMap.group.rule.source.defaultValueTriggerDefinition":"TriggerDefinition","StructureMap.group.rule.source.defaultValueUnsignedInt":"unsignedInt","StructureMap.group.rule.source.defaultValueUri":"uri","StructureMap.group.rule.source.defaultValueUrl":"url","StructureMap.group.rule.source.defaultValueUsageContext":"UsageContext","StructureMap.group.rule.source.defaultValueUuid":"uuid","StructureMap.group.rule.source.element":"string","StructureMap.group.rule.source.extension":"Extension","StructureMap.group.rule.source.id":"System.String","StructureMap.group.rule.source.listMode":"code","StructureMap.group.rule.source.logMessage":"string","StructureMap.group.rule.source.max":"string","StructureMap.group.rule.source.min":"integer","StructureMap.group.rule.source.modifierExtension":"Extension","StructureMap.group.rule.source.type":"string","StructureMap.group.rule.source.variable":"id","StructureMap.group.rule.target.context":"id","StructureMap.group.rule.target.contextType":"code","StructureMap.group.rule.target.element":"string","StructureMap.group.rule.target.extension":"Extension","StructureMap.group.rule.target.id":"System.String","StructureMap.group.rule.target.listMode":"code","StructureMap.group.rule.target.listRuleId":"id","StructureMap.group.rule.target.modifierExtension":"Extension","StructureMap.group.rule.target.parameter.extension":"Extension","StructureMap.group.rule.target.parameter.id":"System.String","StructureMap.group.rule.target.parameter.modifierExtension":"Extension","StructureMap.group.rule.target.parameter.valueBoolean":"boolean","StructureMap.group.rule.target.parameter.valueDecimal":"decimal","StructureMap.group.rule.target.parameter.valueId":"id","StructureMap.group.rule.target.parameter.valueInteger":"integer","StructureMap.group.rule.target.parameter.valueString":"string","StructureMap.group.rule.target.transform":"code","StructureMap.group.rule.target.variable":"id","StructureMap.group.typeMode":"code","StructureMap.id":"System.String","StructureMap.identifier":"Identifier","StructureMap.implicitRules":"uri","StructureMap.import":"canonical","StructureMap.jurisdiction":"CodeableConcept","StructureMap.language":"code","StructureMap.meta":"Meta","StructureMap.modifierExtension":"Extension","StructureMap.name":"string","StructureMap.publisher":"string","StructureMap.purpose":"markdown","StructureMap.status":"code","StructureMap.structure.alias":"string","StructureMap.structure.documentation":"string","StructureMap.structure.extension":"Extension","StructureMap.structure.id":"System.String","StructureMap.structure.mode":"code","StructureMap.structure.modifierExtension":"Extension","StructureMap.structure.url":"canonical","StructureMap.text":"Narrative","StructureMap.title":"string","StructureMap.url":"uri","StructureMap.useContext":"UsageContext","StructureMap.version":"string","Subscription.channel.endpoint":"url","Subscription.channel.extension":"Extension","Subscription.channel.header":"string","Subscription.channel.id":"System.String","Subscription.channel.modifierExtension":"Extension","Subscription.channel.payload":"code","Subscription.channel.type":"code","Subscription.contact":"ContactPoint","Subscription.contained":"Resource","Subscription.criteria":"string","Subscription.end":"instant","Subscription.error":"string","Subscription.extension":"Extension","Subscription.id":"System.String","Subscription.implicitRules":"uri","Subscription.language":"code","Subscription.meta":"Meta","Subscription.modifierExtension":"Extension","Subscription.reason":"string","Subscription.status":"code","Subscription.text":"Narrative","Substance.category":"CodeableConcept","Substance.code":"CodeableConcept","Substance.contained":"Resource","Substance.description":"string","Substance.extension":"Extension","Substance.id":"System.String","Substance.identifier":"Identifier","Substance.implicitRules":"uri","Substance.ingredient.extension":"Extension","Substance.ingredient.id":"System.String","Substance.ingredient.modifierExtension":"Extension","Substance.ingredient.quantity":"Ratio","Substance.ingredient.substanceCodeableConcept":"CodeableConcept","Substance.ingredient.substanceReference":"Reference","Substance.instance.expiry":"dateTime","Substance.instance.extension":"Extension","Substance.instance.id":"System.String","Substance.instance.identifier":"Identifier","Substance.instance.modifierExtension":"Extension","Substance.instance.quantity":"Quantity","Substance.language":"code","Substance.meta":"Meta","Substance.modifierExtension":"Extension","Substance.status":"code","Substance.text":"Narrative","SubstanceAmount.amountQuantity":"Quantity","SubstanceAmount.amountRange":"Range","SubstanceAmount.amountString":"string","SubstanceAmount.amountText":"string","SubstanceAmount.amountType":"CodeableConcept","SubstanceAmount.extension":"Extension","SubstanceAmount.id":"System.String","SubstanceAmount.modifierExtension":"Extension","SubstanceAmount.referenceRange.extension":"Extension","SubstanceAmount.referenceRange.highLimit":"Quantity","SubstanceAmount.referenceRange.id":"System.String","SubstanceAmount.referenceRange.lowLimit":"Quantity","SubstanceNucleicAcid.areaOfHybridisation":"string","SubstanceNucleicAcid.contained":"Resource","SubstanceNucleicAcid.extension":"Extension","SubstanceNucleicAcid.id":"System.String","SubstanceNucleicAcid.implicitRules":"uri","SubstanceNucleicAcid.language":"code","SubstanceNucleicAcid.meta":"Meta","SubstanceNucleicAcid.modifierExtension":"Extension","SubstanceNucleicAcid.numberOfSubunits":"integer","SubstanceNucleicAcid.oligoNucleotideType":"CodeableConcept","SubstanceNucleicAcid.sequenceType":"CodeableConcept","SubstanceNucleicAcid.subunit.extension":"Extension","SubstanceNucleicAcid.subunit.fivePrime":"CodeableConcept","SubstanceNucleicAcid.subunit.id":"System.String","SubstanceNucleicAcid.subunit.length":"integer","SubstanceNucleicAcid.subunit.linkage.connectivity":"string","SubstanceNucleicAcid.subunit.linkage.extension":"Extension","SubstanceNucleicAcid.subunit.linkage.id":"System.String","SubstanceNucleicAcid.subunit.linkage.identifier":"Identifier","SubstanceNucleicAcid.subunit.linkage.modifierExtension":"Extension","SubstanceNucleicAcid.subunit.linkage.name":"string","SubstanceNucleicAcid.subunit.linkage.residueSite":"string","SubstanceNucleicAcid.subunit.modifierExtension":"Extension","SubstanceNucleicAcid.subunit.sequence":"string","SubstanceNucleicAcid.subunit.sequenceAttachment":"Attachment","SubstanceNucleicAcid.subunit.subunit":"integer","SubstanceNucleicAcid.subunit.sugar.extension":"Extension","SubstanceNucleicAcid.subunit.sugar.id":"System.String","SubstanceNucleicAcid.subunit.sugar.identifier":"Identifier","SubstanceNucleicAcid.subunit.sugar.modifierExtension":"Extension","SubstanceNucleicAcid.subunit.sugar.name":"string","SubstanceNucleicAcid.subunit.sugar.residueSite":"string","SubstanceNucleicAcid.subunit.threePrime":"CodeableConcept","SubstanceNucleicAcid.text":"Narrative","SubstancePolymer.class":"CodeableConcept","SubstancePolymer.contained":"Resource","SubstancePolymer.copolymerConnectivity":"CodeableConcept","SubstancePolymer.extension":"Extension","SubstancePolymer.geometry":"CodeableConcept","SubstancePolymer.id":"System.String","SubstancePolymer.implicitRules":"uri","SubstancePolymer.language":"code","SubstancePolymer.meta":"Meta","SubstancePolymer.modification":"string","SubstancePolymer.modifierExtension":"Extension","SubstancePolymer.monomerSet.extension":"Extension","SubstancePolymer.monomerSet.id":"System.String","SubstancePolymer.monomerSet.modifierExtension":"Extension","SubstancePolymer.monomerSet.ratioType":"CodeableConcept","SubstancePolymer.monomerSet.startingMaterial.amount":"SubstanceAmount","SubstancePolymer.monomerSet.startingMaterial.extension":"Extension","SubstancePolymer.monomerSet.startingMaterial.id":"System.String","SubstancePolymer.monomerSet.startingMaterial.isDefining":"boolean","SubstancePolymer.monomerSet.startingMaterial.material":"CodeableConcept","SubstancePolymer.monomerSet.startingMaterial.modifierExtension":"Extension","SubstancePolymer.monomerSet.startingMaterial.type":"CodeableConcept","SubstancePolymer.repeat.averageMolecularFormula":"string","SubstancePolymer.repeat.extension":"Extension","SubstancePolymer.repeat.id":"System.String","SubstancePolymer.repeat.modifierExtension":"Extension","SubstancePolymer.repeat.numberOfUnits":"integer","SubstancePolymer.repeat.repeatUnit.amount":"SubstanceAmount","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount":"SubstanceAmount","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.degree":"CodeableConcept","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.extension":"Extension","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.id":"System.String","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.modifierExtension":"Extension","SubstancePolymer.repeat.repeatUnit.extension":"Extension","SubstancePolymer.repeat.repeatUnit.id":"System.String","SubstancePolymer.repeat.repeatUnit.modifierExtension":"Extension","SubstancePolymer.repeat.repeatUnit.orientationOfPolymerisation":"CodeableConcept","SubstancePolymer.repeat.repeatUnit.repeatUnit":"string","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.attachment":"Attachment","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.extension":"Extension","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.id":"System.String","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.modifierExtension":"Extension","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.representation":"string","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.type":"CodeableConcept","SubstancePolymer.repeat.repeatUnitAmountType":"CodeableConcept","SubstancePolymer.text":"Narrative","SubstanceProtein.contained":"Resource","SubstanceProtein.disulfideLinkage":"string","SubstanceProtein.extension":"Extension","SubstanceProtein.id":"System.String","SubstanceProtein.implicitRules":"uri","SubstanceProtein.language":"code","SubstanceProtein.meta":"Meta","SubstanceProtein.modifierExtension":"Extension","SubstanceProtein.numberOfSubunits":"integer","SubstanceProtein.sequenceType":"CodeableConcept","SubstanceProtein.subunit.cTerminalModification":"string","SubstanceProtein.subunit.cTerminalModificationId":"Identifier","SubstanceProtein.subunit.extension":"Extension","SubstanceProtein.subunit.id":"System.String","SubstanceProtein.subunit.length":"integer","SubstanceProtein.subunit.modifierExtension":"Extension","SubstanceProtein.subunit.nTerminalModification":"string","SubstanceProtein.subunit.nTerminalModificationId":"Identifier","SubstanceProtein.subunit.sequence":"string","SubstanceProtein.subunit.sequenceAttachment":"Attachment","SubstanceProtein.subunit.subunit":"integer","SubstanceProtein.text":"Narrative","SubstanceReferenceInformation.classification.classification":"CodeableConcept","SubstanceReferenceInformation.classification.domain":"CodeableConcept","SubstanceReferenceInformation.classification.extension":"Extension","SubstanceReferenceInformation.classification.id":"System.String","SubstanceReferenceInformation.classification.modifierExtension":"Extension","SubstanceReferenceInformation.classification.source":"Reference","SubstanceReferenceInformation.classification.subtype":"CodeableConcept","SubstanceReferenceInformation.comment":"string","SubstanceReferenceInformation.contained":"Resource","SubstanceReferenceInformation.extension":"Extension","SubstanceReferenceInformation.gene.extension":"Extension","SubstanceReferenceInformation.gene.gene":"CodeableConcept","SubstanceReferenceInformation.gene.geneSequenceOrigin":"CodeableConcept","SubstanceReferenceInformation.gene.id":"System.String","SubstanceReferenceInformation.gene.modifierExtension":"Extension","SubstanceReferenceInformation.gene.source":"Reference","SubstanceReferenceInformation.geneElement.element":"Identifier","SubstanceReferenceInformation.geneElement.extension":"Extension","SubstanceReferenceInformation.geneElement.id":"System.String","SubstanceReferenceInformation.geneElement.modifierExtension":"Extension","SubstanceReferenceInformation.geneElement.source":"Reference","SubstanceReferenceInformation.geneElement.type":"CodeableConcept","SubstanceReferenceInformation.id":"System.String","SubstanceReferenceInformation.implicitRules":"uri","SubstanceReferenceInformation.language":"code","SubstanceReferenceInformation.meta":"Meta","SubstanceReferenceInformation.modifierExtension":"Extension","SubstanceReferenceInformation.target.amountQuantity":"Quantity","SubstanceReferenceInformation.target.amountRange":"Range","SubstanceReferenceInformation.target.amountString":"string","SubstanceReferenceInformation.target.amountType":"CodeableConcept","SubstanceReferenceInformation.target.extension":"Extension","SubstanceReferenceInformation.target.id":"System.String","SubstanceReferenceInformation.target.interaction":"CodeableConcept","SubstanceReferenceInformation.target.modifierExtension":"Extension","SubstanceReferenceInformation.target.organism":"CodeableConcept","SubstanceReferenceInformation.target.organismType":"CodeableConcept","SubstanceReferenceInformation.target.source":"Reference","SubstanceReferenceInformation.target.target":"Identifier","SubstanceReferenceInformation.target.type":"CodeableConcept","SubstanceReferenceInformation.text":"Narrative","SubstanceSourceMaterial.contained":"Resource","SubstanceSourceMaterial.countryOfOrigin":"CodeableConcept","SubstanceSourceMaterial.developmentStage":"CodeableConcept","SubstanceSourceMaterial.extension":"Extension","SubstanceSourceMaterial.fractionDescription.extension":"Extension","SubstanceSourceMaterial.fractionDescription.fraction":"string","SubstanceSourceMaterial.fractionDescription.id":"System.String","SubstanceSourceMaterial.fractionDescription.materialType":"CodeableConcept","SubstanceSourceMaterial.fractionDescription.modifierExtension":"Extension","SubstanceSourceMaterial.geographicalLocation":"string","SubstanceSourceMaterial.id":"System.String","SubstanceSourceMaterial.implicitRules":"uri","SubstanceSourceMaterial.language":"code","SubstanceSourceMaterial.meta":"Meta","SubstanceSourceMaterial.modifierExtension":"Extension","SubstanceSourceMaterial.organism.author.authorDescription":"string","SubstanceSourceMaterial.organism.author.authorType":"CodeableConcept","SubstanceSourceMaterial.organism.author.extension":"Extension","SubstanceSourceMaterial.organism.author.id":"System.String","SubstanceSourceMaterial.organism.author.modifierExtension":"Extension","SubstanceSourceMaterial.organism.extension":"Extension","SubstanceSourceMaterial.organism.family":"CodeableConcept","SubstanceSourceMaterial.organism.genus":"CodeableConcept","SubstanceSourceMaterial.organism.hybrid.extension":"Extension","SubstanceSourceMaterial.organism.hybrid.hybridType":"CodeableConcept","SubstanceSourceMaterial.organism.hybrid.id":"System.String","SubstanceSourceMaterial.organism.hybrid.maternalOrganismId":"string","SubstanceSourceMaterial.organism.hybrid.maternalOrganismName":"string","SubstanceSourceMaterial.organism.hybrid.modifierExtension":"Extension","SubstanceSourceMaterial.organism.hybrid.paternalOrganismId":"string","SubstanceSourceMaterial.organism.hybrid.paternalOrganismName":"string","SubstanceSourceMaterial.organism.id":"System.String","SubstanceSourceMaterial.organism.intraspecificDescription":"string","SubstanceSourceMaterial.organism.intraspecificType":"CodeableConcept","SubstanceSourceMaterial.organism.modifierExtension":"Extension","SubstanceSourceMaterial.organism.organismGeneral.class":"CodeableConcept","SubstanceSourceMaterial.organism.organismGeneral.extension":"Extension","SubstanceSourceMaterial.organism.organismGeneral.id":"System.String","SubstanceSourceMaterial.organism.organismGeneral.kingdom":"CodeableConcept","SubstanceSourceMaterial.organism.organismGeneral.modifierExtension":"Extension","SubstanceSourceMaterial.organism.organismGeneral.order":"CodeableConcept","SubstanceSourceMaterial.organism.organismGeneral.phylum":"CodeableConcept","SubstanceSourceMaterial.organism.species":"CodeableConcept","SubstanceSourceMaterial.organismId":"Identifier","SubstanceSourceMaterial.organismName":"string","SubstanceSourceMaterial.parentSubstanceId":"Identifier","SubstanceSourceMaterial.parentSubstanceName":"string","SubstanceSourceMaterial.partDescription.extension":"Extension","SubstanceSourceMaterial.partDescription.id":"System.String","SubstanceSourceMaterial.partDescription.modifierExtension":"Extension","SubstanceSourceMaterial.partDescription.part":"CodeableConcept","SubstanceSourceMaterial.partDescription.partLocation":"CodeableConcept","SubstanceSourceMaterial.sourceMaterialClass":"CodeableConcept","SubstanceSourceMaterial.sourceMaterialState":"CodeableConcept","SubstanceSourceMaterial.sourceMaterialType":"CodeableConcept","SubstanceSourceMaterial.text":"Narrative","SubstanceSpecification.code.code":"CodeableConcept","SubstanceSpecification.code.comment":"string","SubstanceSpecification.code.extension":"Extension","SubstanceSpecification.code.id":"System.String","SubstanceSpecification.code.modifierExtension":"Extension","SubstanceSpecification.code.source":"Reference","SubstanceSpecification.code.status":"CodeableConcept","SubstanceSpecification.code.statusDate":"dateTime","SubstanceSpecification.comment":"string","SubstanceSpecification.contained":"Resource","SubstanceSpecification.description":"string","SubstanceSpecification.domain":"CodeableConcept","SubstanceSpecification.extension":"Extension","SubstanceSpecification.id":"System.String","SubstanceSpecification.identifier":"Identifier","SubstanceSpecification.implicitRules":"uri","SubstanceSpecification.language":"code","SubstanceSpecification.meta":"Meta","SubstanceSpecification.modifierExtension":"Extension","SubstanceSpecification.moiety.amountQuantity":"Quantity","SubstanceSpecification.moiety.amountString":"string","SubstanceSpecification.moiety.extension":"Extension","SubstanceSpecification.moiety.id":"System.String","SubstanceSpecification.moiety.identifier":"Identifier","SubstanceSpecification.moiety.modifierExtension":"Extension","SubstanceSpecification.moiety.molecularFormula":"string","SubstanceSpecification.moiety.name":"string","SubstanceSpecification.moiety.opticalActivity":"CodeableConcept","SubstanceSpecification.moiety.role":"CodeableConcept","SubstanceSpecification.moiety.stereochemistry":"CodeableConcept","SubstanceSpecification.name.domain":"CodeableConcept","SubstanceSpecification.name.extension":"Extension","SubstanceSpecification.name.id":"System.String","SubstanceSpecification.name.jurisdiction":"CodeableConcept","SubstanceSpecification.name.language":"CodeableConcept","SubstanceSpecification.name.modifierExtension":"Extension","SubstanceSpecification.name.name":"string","SubstanceSpecification.name.official.authority":"CodeableConcept","SubstanceSpecification.name.official.date":"dateTime","SubstanceSpecification.name.official.extension":"Extension","SubstanceSpecification.name.official.id":"System.String","SubstanceSpecification.name.official.modifierExtension":"Extension","SubstanceSpecification.name.official.status":"CodeableConcept","SubstanceSpecification.name.preferred":"boolean","SubstanceSpecification.name.source":"Reference","SubstanceSpecification.name.status":"CodeableConcept","SubstanceSpecification.name.type":"CodeableConcept","SubstanceSpecification.nucleicAcid":"Reference","SubstanceSpecification.polymer":"Reference","SubstanceSpecification.property.amountQuantity":"Quantity","SubstanceSpecification.property.amountString":"string","SubstanceSpecification.property.category":"CodeableConcept","SubstanceSpecification.property.code":"CodeableConcept","SubstanceSpecification.property.definingSubstanceCodeableConcept":"CodeableConcept","SubstanceSpecification.property.definingSubstanceReference":"Reference","SubstanceSpecification.property.extension":"Extension","SubstanceSpecification.property.id":"System.String","SubstanceSpecification.property.modifierExtension":"Extension","SubstanceSpecification.property.parameters":"string","SubstanceSpecification.protein":"Reference","SubstanceSpecification.referenceInformation":"Reference","SubstanceSpecification.relationship.amountQuantity":"Quantity","SubstanceSpecification.relationship.amountRange":"Range","SubstanceSpecification.relationship.amountRatio":"Ratio","SubstanceSpecification.relationship.amountRatioLowLimit":"Ratio","SubstanceSpecification.relationship.amountString":"string","SubstanceSpecification.relationship.amountType":"CodeableConcept","SubstanceSpecification.relationship.extension":"Extension","SubstanceSpecification.relationship.id":"System.String","SubstanceSpecification.relationship.isDefining":"boolean","SubstanceSpecification.relationship.modifierExtension":"Extension","SubstanceSpecification.relationship.relationship":"CodeableConcept","SubstanceSpecification.relationship.source":"Reference","SubstanceSpecification.relationship.substanceCodeableConcept":"CodeableConcept","SubstanceSpecification.relationship.substanceReference":"Reference","SubstanceSpecification.source":"Reference","SubstanceSpecification.sourceMaterial":"Reference","SubstanceSpecification.status":"CodeableConcept","SubstanceSpecification.structure.extension":"Extension","SubstanceSpecification.structure.id":"System.String","SubstanceSpecification.structure.isotope.extension":"Extension","SubstanceSpecification.structure.isotope.halfLife":"Quantity","SubstanceSpecification.structure.isotope.id":"System.String","SubstanceSpecification.structure.isotope.identifier":"Identifier","SubstanceSpecification.structure.isotope.modifierExtension":"Extension","SubstanceSpecification.structure.isotope.molecularWeight.amount":"Quantity","SubstanceSpecification.structure.isotope.molecularWeight.extension":"Extension","SubstanceSpecification.structure.isotope.molecularWeight.id":"System.String","SubstanceSpecification.structure.isotope.molecularWeight.method":"CodeableConcept","SubstanceSpecification.structure.isotope.molecularWeight.modifierExtension":"Extension","SubstanceSpecification.structure.isotope.molecularWeight.type":"CodeableConcept","SubstanceSpecification.structure.isotope.name":"CodeableConcept","SubstanceSpecification.structure.isotope.substitution":"CodeableConcept","SubstanceSpecification.structure.modifierExtension":"Extension","SubstanceSpecification.structure.molecularFormula":"string","SubstanceSpecification.structure.molecularFormulaByMoiety":"string","SubstanceSpecification.structure.opticalActivity":"CodeableConcept","SubstanceSpecification.structure.representation.attachment":"Attachment","SubstanceSpecification.structure.representation.extension":"Extension","SubstanceSpecification.structure.representation.id":"System.String","SubstanceSpecification.structure.representation.modifierExtension":"Extension","SubstanceSpecification.structure.representation.representation":"string","SubstanceSpecification.structure.representation.type":"CodeableConcept","SubstanceSpecification.structure.source":"Reference","SubstanceSpecification.structure.stereochemistry":"CodeableConcept","SubstanceSpecification.text":"Narrative","SubstanceSpecification.type":"CodeableConcept","SupplyDelivery.basedOn":"Reference","SupplyDelivery.contained":"Resource","SupplyDelivery.destination":"Reference","SupplyDelivery.extension":"Extension","SupplyDelivery.id":"System.String","SupplyDelivery.identifier":"Identifier","SupplyDelivery.implicitRules":"uri","SupplyDelivery.language":"code","SupplyDelivery.meta":"Meta","SupplyDelivery.modifierExtension":"Extension","SupplyDelivery.occurrenceDateTime":"dateTime","SupplyDelivery.occurrencePeriod":"Period","SupplyDelivery.occurrenceTiming":"Timing","SupplyDelivery.partOf":"Reference","SupplyDelivery.patient":"Reference","SupplyDelivery.receiver":"Reference","SupplyDelivery.status":"code","SupplyDelivery.suppliedItem.extension":"Extension","SupplyDelivery.suppliedItem.id":"System.String","SupplyDelivery.suppliedItem.itemCodeableConcept":"CodeableConcept","SupplyDelivery.suppliedItem.itemReference":"Reference","SupplyDelivery.suppliedItem.modifierExtension":"Extension","SupplyDelivery.suppliedItem.quantity":"Quantity","SupplyDelivery.supplier":"Reference","SupplyDelivery.text":"Narrative","SupplyDelivery.type":"CodeableConcept","SupplyRequest.authoredOn":"dateTime","SupplyRequest.category":"CodeableConcept","SupplyRequest.contained":"Resource","SupplyRequest.deliverFrom":"Reference","SupplyRequest.deliverTo":"Reference","SupplyRequest.extension":"Extension","SupplyRequest.id":"System.String","SupplyRequest.identifier":"Identifier","SupplyRequest.implicitRules":"uri","SupplyRequest.itemCodeableConcept":"CodeableConcept","SupplyRequest.itemReference":"Reference","SupplyRequest.language":"code","SupplyRequest.meta":"Meta","SupplyRequest.modifierExtension":"Extension","SupplyRequest.occurrenceDateTime":"dateTime","SupplyRequest.occurrencePeriod":"Period","SupplyRequest.occurrenceTiming":"Timing","SupplyRequest.parameter.code":"CodeableConcept","SupplyRequest.parameter.extension":"Extension","SupplyRequest.parameter.id":"System.String","SupplyRequest.parameter.modifierExtension":"Extension","SupplyRequest.parameter.valueBoolean":"boolean","SupplyRequest.parameter.valueCodeableConcept":"CodeableConcept","SupplyRequest.parameter.valueQuantity":"Quantity","SupplyRequest.parameter.valueRange":"Range","SupplyRequest.priority":"code","SupplyRequest.quantity":"Quantity","SupplyRequest.reasonCode":"CodeableConcept","SupplyRequest.reasonReference":"Reference","SupplyRequest.requester":"Reference","SupplyRequest.status":"code","SupplyRequest.supplier":"Reference","SupplyRequest.text":"Narrative","Task.authoredOn":"dateTime","Task.basedOn":"Reference","Task.businessStatus":"CodeableConcept","Task.code":"CodeableConcept","Task.contained":"Resource","Task.description":"string","Task.encounter":"Reference","Task.executionPeriod":"Period","Task.extension":"Extension","Task.focus":"Reference","Task.for":"Reference","Task.groupIdentifier":"Identifier","Task.id":"System.String","Task.identifier":"Identifier","Task.implicitRules":"uri","Task.input.extension":"Extension","Task.input.id":"System.String","Task.input.modifierExtension":"Extension","Task.input.type":"CodeableConcept","Task.input.valueAddress":"Address","Task.input.valueAge":"Age","Task.input.valueAnnotation":"Annotation","Task.input.valueAttachment":"Attachment","Task.input.valueBase64Binary":"base64Binary","Task.input.valueBoolean":"boolean","Task.input.valueCanonical":"canonical","Task.input.valueCode":"code","Task.input.valueCodeableConcept":"CodeableConcept","Task.input.valueCoding":"Coding","Task.input.valueContactDetail":"ContactDetail","Task.input.valueContactPoint":"ContactPoint","Task.input.valueContributor":"Contributor","Task.input.valueCount":"Count","Task.input.valueDataRequirement":"DataRequirement","Task.input.valueDate":"date","Task.input.valueDateTime":"dateTime","Task.input.valueDecimal":"decimal","Task.input.valueDistance":"Distance","Task.input.valueDosage":"Dosage","Task.input.valueDuration":"Duration","Task.input.valueExpression":"Expression","Task.input.valueHumanName":"HumanName","Task.input.valueId":"id","Task.input.valueIdentifier":"Identifier","Task.input.valueInstant":"instant","Task.input.valueInteger":"integer","Task.input.valueMarkdown":"markdown","Task.input.valueMeta":"Meta","Task.input.valueMoney":"Money","Task.input.valueOid":"oid","Task.input.valueParameterDefinition":"ParameterDefinition","Task.input.valuePeriod":"Period","Task.input.valuePositiveInt":"positiveInt","Task.input.valueQuantity":"Quantity","Task.input.valueRange":"Range","Task.input.valueRatio":"Ratio","Task.input.valueReference":"Reference","Task.input.valueRelatedArtifact":"RelatedArtifact","Task.input.valueSampledData":"SampledData","Task.input.valueSignature":"Signature","Task.input.valueString":"string","Task.input.valueTime":"time","Task.input.valueTiming":"Timing","Task.input.valueTriggerDefinition":"TriggerDefinition","Task.input.valueUnsignedInt":"unsignedInt","Task.input.valueUri":"uri","Task.input.valueUrl":"url","Task.input.valueUsageContext":"UsageContext","Task.input.valueUuid":"uuid","Task.instantiatesCanonical":"canonical","Task.instantiatesUri":"uri","Task.insurance":"Reference","Task.intent":"code","Task.language":"code","Task.lastModified":"dateTime","Task.location":"Reference","Task.meta":"Meta","Task.modifierExtension":"Extension","Task.note":"Annotation","Task.output.extension":"Extension","Task.output.id":"System.String","Task.output.modifierExtension":"Extension","Task.output.type":"CodeableConcept","Task.output.valueAddress":"Address","Task.output.valueAge":"Age","Task.output.valueAnnotation":"Annotation","Task.output.valueAttachment":"Attachment","Task.output.valueBase64Binary":"base64Binary","Task.output.valueBoolean":"boolean","Task.output.valueCanonical":"canonical","Task.output.valueCode":"code","Task.output.valueCodeableConcept":"CodeableConcept","Task.output.valueCoding":"Coding","Task.output.valueContactDetail":"ContactDetail","Task.output.valueContactPoint":"ContactPoint","Task.output.valueContributor":"Contributor","Task.output.valueCount":"Count","Task.output.valueDataRequirement":"DataRequirement","Task.output.valueDate":"date","Task.output.valueDateTime":"dateTime","Task.output.valueDecimal":"decimal","Task.output.valueDistance":"Distance","Task.output.valueDosage":"Dosage","Task.output.valueDuration":"Duration","Task.output.valueExpression":"Expression","Task.output.valueHumanName":"HumanName","Task.output.valueId":"id","Task.output.valueIdentifier":"Identifier","Task.output.valueInstant":"instant","Task.output.valueInteger":"integer","Task.output.valueMarkdown":"markdown","Task.output.valueMeta":"Meta","Task.output.valueMoney":"Money","Task.output.valueOid":"oid","Task.output.valueParameterDefinition":"ParameterDefinition","Task.output.valuePeriod":"Period","Task.output.valuePositiveInt":"positiveInt","Task.output.valueQuantity":"Quantity","Task.output.valueRange":"Range","Task.output.valueRatio":"Ratio","Task.output.valueReference":"Reference","Task.output.valueRelatedArtifact":"RelatedArtifact","Task.output.valueSampledData":"SampledData","Task.output.valueSignature":"Signature","Task.output.valueString":"string","Task.output.valueTime":"time","Task.output.valueTiming":"Timing","Task.output.valueTriggerDefinition":"TriggerDefinition","Task.output.valueUnsignedInt":"unsignedInt","Task.output.valueUri":"uri","Task.output.valueUrl":"url","Task.output.valueUsageContext":"UsageContext","Task.output.valueUuid":"uuid","Task.owner":"Reference","Task.partOf":"Reference","Task.performerType":"CodeableConcept","Task.priority":"code","Task.reasonCode":"CodeableConcept","Task.reasonReference":"Reference","Task.relevantHistory":"Reference","Task.requester":"Reference","Task.restriction.extension":"Extension","Task.restriction.id":"System.String","Task.restriction.modifierExtension":"Extension","Task.restriction.period":"Period","Task.restriction.recipient":"Reference","Task.restriction.repetitions":"positiveInt","Task.status":"code","Task.statusReason":"CodeableConcept","Task.text":"Narrative","TerminologyCapabilities.closure.extension":"Extension","TerminologyCapabilities.closure.id":"System.String","TerminologyCapabilities.closure.modifierExtension":"Extension","TerminologyCapabilities.closure.translation":"boolean","TerminologyCapabilities.codeSearch":"code","TerminologyCapabilities.codeSystem.extension":"Extension","TerminologyCapabilities.codeSystem.id":"System.String","TerminologyCapabilities.codeSystem.modifierExtension":"Extension","TerminologyCapabilities.codeSystem.subsumption":"boolean","TerminologyCapabilities.codeSystem.uri":"canonical","TerminologyCapabilities.codeSystem.version.code":"string","TerminologyCapabilities.codeSystem.version.compositional":"boolean","TerminologyCapabilities.codeSystem.version.extension":"Extension","TerminologyCapabilities.codeSystem.version.filter.code":"code","TerminologyCapabilities.codeSystem.version.filter.extension":"Extension","TerminologyCapabilities.codeSystem.version.filter.id":"System.String","TerminologyCapabilities.codeSystem.version.filter.modifierExtension":"Extension","TerminologyCapabilities.codeSystem.version.filter.op":"code","TerminologyCapabilities.codeSystem.version.id":"System.String","TerminologyCapabilities.codeSystem.version.isDefault":"boolean","TerminologyCapabilities.codeSystem.version.language":"code","TerminologyCapabilities.codeSystem.version.modifierExtension":"Extension","TerminologyCapabilities.codeSystem.version.property":"code","TerminologyCapabilities.contact":"ContactDetail","TerminologyCapabilities.contained":"Resource","TerminologyCapabilities.copyright":"markdown","TerminologyCapabilities.date":"dateTime","TerminologyCapabilities.description":"markdown","TerminologyCapabilities.expansion.extension":"Extension","TerminologyCapabilities.expansion.hierarchical":"boolean","TerminologyCapabilities.expansion.id":"System.String","TerminologyCapabilities.expansion.incomplete":"boolean","TerminologyCapabilities.expansion.modifierExtension":"Extension","TerminologyCapabilities.expansion.paging":"boolean","TerminologyCapabilities.expansion.parameter.documentation":"string","TerminologyCapabilities.expansion.parameter.extension":"Extension","TerminologyCapabilities.expansion.parameter.id":"System.String","TerminologyCapabilities.expansion.parameter.modifierExtension":"Extension","TerminologyCapabilities.expansion.parameter.name":"code","TerminologyCapabilities.expansion.textFilter":"markdown","TerminologyCapabilities.experimental":"boolean","TerminologyCapabilities.extension":"Extension","TerminologyCapabilities.id":"System.String","TerminologyCapabilities.implementation.description":"string","TerminologyCapabilities.implementation.extension":"Extension","TerminologyCapabilities.implementation.id":"System.String","TerminologyCapabilities.implementation.modifierExtension":"Extension","TerminologyCapabilities.implementation.url":"url","TerminologyCapabilities.implicitRules":"uri","TerminologyCapabilities.jurisdiction":"CodeableConcept","TerminologyCapabilities.kind":"code","TerminologyCapabilities.language":"code","TerminologyCapabilities.lockedDate":"boolean","TerminologyCapabilities.meta":"Meta","TerminologyCapabilities.modifierExtension":"Extension","TerminologyCapabilities.name":"string","TerminologyCapabilities.publisher":"string","TerminologyCapabilities.purpose":"markdown","TerminologyCapabilities.software.extension":"Extension","TerminologyCapabilities.software.id":"System.String","TerminologyCapabilities.software.modifierExtension":"Extension","TerminologyCapabilities.software.name":"string","TerminologyCapabilities.software.version":"string","TerminologyCapabilities.status":"code","TerminologyCapabilities.text":"Narrative","TerminologyCapabilities.title":"string","TerminologyCapabilities.translation.extension":"Extension","TerminologyCapabilities.translation.id":"System.String","TerminologyCapabilities.translation.modifierExtension":"Extension","TerminologyCapabilities.translation.needsMap":"boolean","TerminologyCapabilities.url":"uri","TerminologyCapabilities.useContext":"UsageContext","TerminologyCapabilities.validateCode.extension":"Extension","TerminologyCapabilities.validateCode.id":"System.String","TerminologyCapabilities.validateCode.modifierExtension":"Extension","TerminologyCapabilities.validateCode.translations":"boolean","TerminologyCapabilities.version":"string","TestReport.contained":"Resource","TestReport.extension":"Extension","TestReport.id":"System.String","TestReport.identifier":"Identifier","TestReport.implicitRules":"uri","TestReport.issued":"dateTime","TestReport.language":"code","TestReport.meta":"Meta","TestReport.modifierExtension":"Extension","TestReport.name":"string","TestReport.participant.display":"string","TestReport.participant.extension":"Extension","TestReport.participant.id":"System.String","TestReport.participant.modifierExtension":"Extension","TestReport.participant.type":"code","TestReport.participant.uri":"uri","TestReport.result":"code","TestReport.score":"decimal","TestReport.setup.action.assert.detail":"string","TestReport.setup.action.assert.extension":"Extension","TestReport.setup.action.assert.id":"System.String","TestReport.setup.action.assert.message":"markdown","TestReport.setup.action.assert.modifierExtension":"Extension","TestReport.setup.action.assert.result":"code","TestReport.setup.action.extension":"Extension","TestReport.setup.action.id":"System.String","TestReport.setup.action.modifierExtension":"Extension","TestReport.setup.action.operation.detail":"uri","TestReport.setup.action.operation.extension":"Extension","TestReport.setup.action.operation.id":"System.String","TestReport.setup.action.operation.message":"markdown","TestReport.setup.action.operation.modifierExtension":"Extension","TestReport.setup.action.operation.result":"code","TestReport.setup.extension":"Extension","TestReport.setup.id":"System.String","TestReport.setup.modifierExtension":"Extension","TestReport.status":"code","TestReport.teardown.action.extension":"Extension","TestReport.teardown.action.id":"System.String","TestReport.teardown.action.modifierExtension":"Extension","TestReport.teardown.extension":"Extension","TestReport.teardown.id":"System.String","TestReport.teardown.modifierExtension":"Extension","TestReport.test.action.extension":"Extension","TestReport.test.action.id":"System.String","TestReport.test.action.modifierExtension":"Extension","TestReport.test.description":"string","TestReport.test.extension":"Extension","TestReport.test.id":"System.String","TestReport.test.modifierExtension":"Extension","TestReport.test.name":"string","TestReport.testScript":"Reference","TestReport.tester":"string","TestReport.text":"Narrative","TestScript.contact":"ContactDetail","TestScript.contained":"Resource","TestScript.copyright":"markdown","TestScript.date":"dateTime","TestScript.description":"markdown","TestScript.destination.extension":"Extension","TestScript.destination.id":"System.String","TestScript.destination.index":"integer","TestScript.destination.modifierExtension":"Extension","TestScript.destination.profile":"Coding","TestScript.experimental":"boolean","TestScript.extension":"Extension","TestScript.fixture.autocreate":"boolean","TestScript.fixture.autodelete":"boolean","TestScript.fixture.extension":"Extension","TestScript.fixture.id":"System.String","TestScript.fixture.modifierExtension":"Extension","TestScript.fixture.resource":"Reference","TestScript.id":"System.String","TestScript.identifier":"Identifier","TestScript.implicitRules":"uri","TestScript.jurisdiction":"CodeableConcept","TestScript.language":"code","TestScript.meta":"Meta","TestScript.metadata.capability.capabilities":"canonical","TestScript.metadata.capability.description":"string","TestScript.metadata.capability.destination":"integer","TestScript.metadata.capability.extension":"Extension","TestScript.metadata.capability.id":"System.String","TestScript.metadata.capability.link":"uri","TestScript.metadata.capability.modifierExtension":"Extension","TestScript.metadata.capability.origin":"integer","TestScript.metadata.capability.required":"boolean","TestScript.metadata.capability.validated":"boolean","TestScript.metadata.extension":"Extension","TestScript.metadata.id":"System.String","TestScript.metadata.link.description":"string","TestScript.metadata.link.extension":"Extension","TestScript.metadata.link.id":"System.String","TestScript.metadata.link.modifierExtension":"Extension","TestScript.metadata.link.url":"uri","TestScript.metadata.modifierExtension":"Extension","TestScript.modifierExtension":"Extension","TestScript.name":"string","TestScript.origin.extension":"Extension","TestScript.origin.id":"System.String","TestScript.origin.index":"integer","TestScript.origin.modifierExtension":"Extension","TestScript.origin.profile":"Coding","TestScript.profile":"Reference","TestScript.publisher":"string","TestScript.purpose":"markdown","TestScript.setup.action.assert.compareToSourceExpression":"string","TestScript.setup.action.assert.compareToSourceId":"string","TestScript.setup.action.assert.compareToSourcePath":"string","TestScript.setup.action.assert.contentType":"code","TestScript.setup.action.assert.description":"string","TestScript.setup.action.assert.direction":"code","TestScript.setup.action.assert.expression":"string","TestScript.setup.action.assert.extension":"Extension","TestScript.setup.action.assert.headerField":"string","TestScript.setup.action.assert.id":"System.String","TestScript.setup.action.assert.label":"string","TestScript.setup.action.assert.minimumId":"string","TestScript.setup.action.assert.modifierExtension":"Extension","TestScript.setup.action.assert.navigationLinks":"boolean","TestScript.setup.action.assert.operator":"code","TestScript.setup.action.assert.path":"string","TestScript.setup.action.assert.requestMethod":"code","TestScript.setup.action.assert.requestURL":"string","TestScript.setup.action.assert.resource":"code","TestScript.setup.action.assert.response":"code","TestScript.setup.action.assert.responseCode":"string","TestScript.setup.action.assert.sourceId":"id","TestScript.setup.action.assert.validateProfileId":"id","TestScript.setup.action.assert.value":"string","TestScript.setup.action.assert.warningOnly":"boolean","TestScript.setup.action.extension":"Extension","TestScript.setup.action.id":"System.String","TestScript.setup.action.modifierExtension":"Extension","TestScript.setup.action.operation.accept":"code","TestScript.setup.action.operation.contentType":"code","TestScript.setup.action.operation.description":"string","TestScript.setup.action.operation.destination":"integer","TestScript.setup.action.operation.encodeRequestUrl":"boolean","TestScript.setup.action.operation.extension":"Extension","TestScript.setup.action.operation.id":"System.String","TestScript.setup.action.operation.label":"string","TestScript.setup.action.operation.method":"code","TestScript.setup.action.operation.modifierExtension":"Extension","TestScript.setup.action.operation.origin":"integer","TestScript.setup.action.operation.params":"string","TestScript.setup.action.operation.requestHeader.extension":"Extension","TestScript.setup.action.operation.requestHeader.field":"string","TestScript.setup.action.operation.requestHeader.id":"System.String","TestScript.setup.action.operation.requestHeader.modifierExtension":"Extension","TestScript.setup.action.operation.requestHeader.value":"string","TestScript.setup.action.operation.requestId":"id","TestScript.setup.action.operation.resource":"code","TestScript.setup.action.operation.responseId":"id","TestScript.setup.action.operation.sourceId":"id","TestScript.setup.action.operation.targetId":"id","TestScript.setup.action.operation.type":"Coding","TestScript.setup.action.operation.url":"string","TestScript.setup.extension":"Extension","TestScript.setup.id":"System.String","TestScript.setup.modifierExtension":"Extension","TestScript.status":"code","TestScript.teardown.action.extension":"Extension","TestScript.teardown.action.id":"System.String","TestScript.teardown.action.modifierExtension":"Extension","TestScript.teardown.extension":"Extension","TestScript.teardown.id":"System.String","TestScript.teardown.modifierExtension":"Extension","TestScript.test.action.extension":"Extension","TestScript.test.action.id":"System.String","TestScript.test.action.modifierExtension":"Extension","TestScript.test.description":"string","TestScript.test.extension":"Extension","TestScript.test.id":"System.String","TestScript.test.modifierExtension":"Extension","TestScript.test.name":"string","TestScript.text":"Narrative","TestScript.title":"string","TestScript.url":"uri","TestScript.useContext":"UsageContext","TestScript.variable.defaultValue":"string","TestScript.variable.description":"string","TestScript.variable.expression":"string","TestScript.variable.extension":"Extension","TestScript.variable.headerField":"string","TestScript.variable.hint":"string","TestScript.variable.id":"System.String","TestScript.variable.modifierExtension":"Extension","TestScript.variable.name":"string","TestScript.variable.path":"string","TestScript.variable.sourceId":"id","TestScript.version":"string","Timing.code":"CodeableConcept","Timing.event":"dateTime","Timing.extension":"Extension","Timing.id":"System.String","Timing.modifierExtension":"Extension","Timing.repeat.boundsDuration":"Duration","Timing.repeat.boundsPeriod":"Period","Timing.repeat.boundsRange":"Range","Timing.repeat.count":"positiveInt","Timing.repeat.countMax":"positiveInt","Timing.repeat.dayOfWeek":"code","Timing.repeat.duration":"decimal","Timing.repeat.durationMax":"decimal","Timing.repeat.durationUnit":"code","Timing.repeat.extension":"Extension","Timing.repeat.frequency":"positiveInt","Timing.repeat.frequencyMax":"positiveInt","Timing.repeat.id":"System.String","Timing.repeat.offset":"unsignedInt","Timing.repeat.period":"decimal","Timing.repeat.periodMax":"decimal","Timing.repeat.periodUnit":"code","Timing.repeat.timeOfDay":"time","Timing.repeat.when":"code","TriggerDefinition.condition":"Expression","TriggerDefinition.data":"DataRequirement","TriggerDefinition.extension":"Extension","TriggerDefinition.id":"System.String","TriggerDefinition.name":"string","TriggerDefinition.timingDate":"date","TriggerDefinition.timingDateTime":"dateTime","TriggerDefinition.timingReference":"Reference","TriggerDefinition.timingTiming":"Timing","TriggerDefinition.type":"code","UsageContext.code":"Coding","UsageContext.extension":"Extension","UsageContext.id":"System.String","UsageContext.valueCodeableConcept":"CodeableConcept","UsageContext.valueQuantity":"Quantity","UsageContext.valueRange":"Range","UsageContext.valueReference":"Reference","ValueSet.compose.extension":"Extension","ValueSet.compose.id":"System.String","ValueSet.compose.inactive":"boolean","ValueSet.compose.include.concept.code":"code","ValueSet.compose.include.concept.designation.extension":"Extension","ValueSet.compose.include.concept.designation.id":"System.String","ValueSet.compose.include.concept.designation.language":"code","ValueSet.compose.include.concept.designation.modifierExtension":"Extension","ValueSet.compose.include.concept.designation.use":"Coding","ValueSet.compose.include.concept.designation.value":"string","ValueSet.compose.include.concept.display":"string","ValueSet.compose.include.concept.extension":"Extension","ValueSet.compose.include.concept.id":"System.String","ValueSet.compose.include.concept.modifierExtension":"Extension","ValueSet.compose.include.extension":"Extension","ValueSet.compose.include.filter.extension":"Extension","ValueSet.compose.include.filter.id":"System.String","ValueSet.compose.include.filter.modifierExtension":"Extension","ValueSet.compose.include.filter.op":"code","ValueSet.compose.include.filter.property":"code","ValueSet.compose.include.filter.value":"string","ValueSet.compose.include.id":"System.String","ValueSet.compose.include.modifierExtension":"Extension","ValueSet.compose.include.system":"uri","ValueSet.compose.include.valueSet":"canonical","ValueSet.compose.include.version":"string","ValueSet.compose.lockedDate":"date","ValueSet.compose.modifierExtension":"Extension","ValueSet.contact":"ContactDetail","ValueSet.contained":"Resource","ValueSet.copyright":"markdown","ValueSet.date":"dateTime","ValueSet.description":"markdown","ValueSet.expansion.contains.abstract":"boolean","ValueSet.expansion.contains.code":"code","ValueSet.expansion.contains.display":"string","ValueSet.expansion.contains.extension":"Extension","ValueSet.expansion.contains.id":"System.String","ValueSet.expansion.contains.inactive":"boolean","ValueSet.expansion.contains.modifierExtension":"Extension","ValueSet.expansion.contains.system":"uri","ValueSet.expansion.contains.version":"string","ValueSet.expansion.extension":"Extension","ValueSet.expansion.id":"System.String","ValueSet.expansion.identifier":"uri","ValueSet.expansion.modifierExtension":"Extension","ValueSet.expansion.offset":"integer","ValueSet.expansion.parameter.extension":"Extension","ValueSet.expansion.parameter.id":"System.String","ValueSet.expansion.parameter.modifierExtension":"Extension","ValueSet.expansion.parameter.name":"string","ValueSet.expansion.parameter.valueBoolean":"boolean","ValueSet.expansion.parameter.valueCode":"code","ValueSet.expansion.parameter.valueDateTime":"dateTime","ValueSet.expansion.parameter.valueDecimal":"decimal","ValueSet.expansion.parameter.valueInteger":"integer","ValueSet.expansion.parameter.valueString":"string","ValueSet.expansion.parameter.valueUri":"uri","ValueSet.expansion.timestamp":"dateTime","ValueSet.expansion.total":"integer","ValueSet.experimental":"boolean","ValueSet.extension":"Extension","ValueSet.id":"System.String","ValueSet.identifier":"Identifier","ValueSet.immutable":"boolean","ValueSet.implicitRules":"uri","ValueSet.jurisdiction":"CodeableConcept","ValueSet.language":"code","ValueSet.meta":"Meta","ValueSet.modifierExtension":"Extension","ValueSet.name":"string","ValueSet.publisher":"string","ValueSet.purpose":"markdown","ValueSet.status":"code","ValueSet.text":"Narrative","ValueSet.title":"string","ValueSet.url":"uri","ValueSet.useContext":"UsageContext","ValueSet.version":"string","VerificationResult.attestation.communicationMethod":"CodeableConcept","VerificationResult.attestation.date":"date","VerificationResult.attestation.extension":"Extension","VerificationResult.attestation.id":"System.String","VerificationResult.attestation.modifierExtension":"Extension","VerificationResult.attestation.onBehalfOf":"Reference","VerificationResult.attestation.proxyIdentityCertificate":"string","VerificationResult.attestation.proxySignature":"Signature","VerificationResult.attestation.sourceIdentityCertificate":"string","VerificationResult.attestation.sourceSignature":"Signature","VerificationResult.attestation.who":"Reference","VerificationResult.contained":"Resource","VerificationResult.extension":"Extension","VerificationResult.failureAction":"CodeableConcept","VerificationResult.frequency":"Timing","VerificationResult.id":"System.String","VerificationResult.implicitRules":"uri","VerificationResult.language":"code","VerificationResult.lastPerformed":"dateTime","VerificationResult.meta":"Meta","VerificationResult.modifierExtension":"Extension","VerificationResult.need":"CodeableConcept","VerificationResult.nextScheduled":"date","VerificationResult.primarySource.canPushUpdates":"CodeableConcept","VerificationResult.primarySource.communicationMethod":"CodeableConcept","VerificationResult.primarySource.extension":"Extension","VerificationResult.primarySource.id":"System.String","VerificationResult.primarySource.modifierExtension":"Extension","VerificationResult.primarySource.pushTypeAvailable":"CodeableConcept","VerificationResult.primarySource.type":"CodeableConcept","VerificationResult.primarySource.validationDate":"dateTime","VerificationResult.primarySource.validationStatus":"CodeableConcept","VerificationResult.primarySource.who":"Reference","VerificationResult.status":"code","VerificationResult.statusDate":"dateTime","VerificationResult.target":"Reference","VerificationResult.targetLocation":"string","VerificationResult.text":"Narrative","VerificationResult.validationProcess":"CodeableConcept","VerificationResult.validationType":"CodeableConcept","VerificationResult.validator.attestationSignature":"Signature","VerificationResult.validator.extension":"Extension","VerificationResult.validator.id":"System.String","VerificationResult.validator.identityCertificate":"string","VerificationResult.validator.modifierExtension":"Extension","VerificationResult.validator.organization":"Reference","VisionPrescription.contained":"Resource","VisionPrescription.created":"dateTime","VisionPrescription.dateWritten":"dateTime","VisionPrescription.encounter":"Reference","VisionPrescription.extension":"Extension","VisionPrescription.id":"System.String","VisionPrescription.identifier":"Identifier","VisionPrescription.implicitRules":"uri","VisionPrescription.language":"code","VisionPrescription.lensSpecification.add":"decimal","VisionPrescription.lensSpecification.axis":"integer","VisionPrescription.lensSpecification.backCurve":"decimal","VisionPrescription.lensSpecification.brand":"string","VisionPrescription.lensSpecification.color":"string","VisionPrescription.lensSpecification.cylinder":"decimal","VisionPrescription.lensSpecification.diameter":"decimal","VisionPrescription.lensSpecification.duration":"Quantity","VisionPrescription.lensSpecification.extension":"Extension","VisionPrescription.lensSpecification.eye":"code","VisionPrescription.lensSpecification.id":"System.String","VisionPrescription.lensSpecification.modifierExtension":"Extension","VisionPrescription.lensSpecification.note":"Annotation","VisionPrescription.lensSpecification.power":"decimal","VisionPrescription.lensSpecification.prism.amount":"decimal","VisionPrescription.lensSpecification.prism.base":"code","VisionPrescription.lensSpecification.prism.extension":"Extension","VisionPrescription.lensSpecification.prism.id":"System.String","VisionPrescription.lensSpecification.prism.modifierExtension":"Extension","VisionPrescription.lensSpecification.product":"CodeableConcept","VisionPrescription.lensSpecification.sphere":"decimal","VisionPrescription.meta":"Meta","VisionPrescription.modifierExtension":"Extension","VisionPrescription.patient":"Reference","VisionPrescription.prescriber":"Reference","VisionPrescription.status":"code","VisionPrescription.text":"Narrative"}')},151:function(e){"use strict";e.exports=JSON.parse('{"Bundle.entry.link":"Bundle.link","CapabilityStatement.rest.operation":"CapabilityStatement.rest.resource.operation","CapabilityStatement.rest.searchParam":"CapabilityStatement.rest.resource.searchParam","ChargeItemDefinition.propertyGroup.applicability":"ChargeItemDefinition.applicability","ClaimResponse.addItem.adjudication":"ClaimResponse.item.adjudication","ClaimResponse.addItem.detail.adjudication":"ClaimResponse.item.adjudication","ClaimResponse.addItem.detail.subDetail.adjudication":"ClaimResponse.item.adjudication","ClaimResponse.adjudication":"ClaimResponse.item.adjudication","ClaimResponse.item.detail.adjudication":"ClaimResponse.item.adjudication","ClaimResponse.item.detail.subDetail.adjudication":"ClaimResponse.item.adjudication","CodeSystem.concept.concept":"CodeSystem.concept","Composition.section.section":"Composition.section","ConceptMap.group.element.target.product":"ConceptMap.group.element.target.dependsOn","Consent.provision.provision":"Consent.provision","Contract.term.asset.answer":"Contract.term.offer.answer","Contract.term.group":"Contract.term","ExampleScenario.process.step.alternative.step":"ExampleScenario.process.step","ExampleScenario.process.step.operation.request":"ExampleScenario.instance.containedInstance","ExampleScenario.process.step.operation.response":"ExampleScenario.instance.containedInstance","ExampleScenario.process.step.process":"ExampleScenario.process","ExplanationOfBenefit.addItem.adjudication":"ExplanationOfBenefit.item.adjudication","ExplanationOfBenefit.addItem.detail.adjudication":"ExplanationOfBenefit.item.adjudication","ExplanationOfBenefit.addItem.detail.subDetail.adjudication":"ExplanationOfBenefit.item.adjudication","ExplanationOfBenefit.adjudication":"ExplanationOfBenefit.item.adjudication","ExplanationOfBenefit.item.detail.adjudication":"ExplanationOfBenefit.item.adjudication","ExplanationOfBenefit.item.detail.subDetail.adjudication":"ExplanationOfBenefit.item.adjudication","GraphDefinition.link.target.link":"GraphDefinition.link","ImplementationGuide.definition.page.page":"ImplementationGuide.definition.page","Invoice.totalPriceComponent":"Invoice.lineItem.priceComponent","MedicinalProductAuthorization.procedure.application":"MedicinalProductAuthorization.procedure","MedicinalProductIngredient.substance.strength":"MedicinalProductIngredient.specifiedSubstance.strength","MedicinalProductPackaged.packageItem.packageItem":"MedicinalProductPackaged.packageItem","Observation.component.referenceRange":"Observation.referenceRange","OperationDefinition.parameter.part":"OperationDefinition.parameter","Parameters.parameter.part":"Parameters.parameter","PlanDefinition.action.action":"PlanDefinition.action","Provenance.entity.agent":"Provenance.agent","Questionnaire.item.item":"Questionnaire.item","QuestionnaireResponse.item.answer.item":"QuestionnaireResponse.item","QuestionnaireResponse.item.item":"QuestionnaireResponse.item","RequestGroup.action.action":"RequestGroup.action","StructureMap.group.rule.rule":"StructureMap.group.rule","SubstanceSpecification.molecularWeight":"SubstanceSpecification.structure.isotope.molecularWeight","SubstanceSpecification.name.synonym":"SubstanceSpecification.name","SubstanceSpecification.name.translation":"SubstanceSpecification.name","SubstanceSpecification.structure.molecularWeight":"SubstanceSpecification.structure.isotope.molecularWeight","TestReport.teardown.action.operation":"TestReport.setup.action.operation","TestReport.test.action.assert":"TestReport.setup.action.assert","TestReport.test.action.operation":"TestReport.setup.action.operation","TestScript.teardown.action.operation":"TestScript.setup.action.operation","TestScript.test.action.assert":"TestScript.setup.action.assert","TestScript.test.action.operation":"TestScript.setup.action.operation","ValueSet.compose.exclude":"ValueSet.compose.include","ValueSet.expansion.contains.contains":"ValueSet.expansion.contains","ValueSet.expansion.contains.designation":"ValueSet.compose.include.concept.designation"}')},905:function(e){"use strict";e.exports=JSON.parse('{"Account":"DomainResource","ActivityDefinition":"DomainResource","Address":"Element","AdverseEvent":"DomainResource","Age":"Quantity","AllergyIntolerance":"DomainResource","Annotation":"Element","Appointment":"DomainResource","AppointmentResponse":"DomainResource","Attachment":"Element","AuditEvent":"DomainResource","BackboneElement":"Element","Basic":"DomainResource","Binary":"Resource","BiologicallyDerivedProduct":"DomainResource","BodyStructure":"DomainResource","Bundle":"Resource","CapabilityStatement":"DomainResource","CarePlan":"DomainResource","CareTeam":"DomainResource","CatalogEntry":"DomainResource","ChargeItem":"DomainResource","ChargeItemDefinition":"DomainResource","Claim":"DomainResource","ClaimResponse":"DomainResource","ClinicalImpression":"DomainResource","CodeSystem":"DomainResource","CodeableConcept":"Element","Coding":"Element","Communication":"DomainResource","CommunicationRequest":"DomainResource","CompartmentDefinition":"DomainResource","Composition":"DomainResource","ConceptMap":"DomainResource","Condition":"DomainResource","Consent":"DomainResource","ContactDetail":"Element","ContactPoint":"Element","Contract":"DomainResource","Contributor":"Element","Count":"Quantity","Coverage":"DomainResource","CoverageEligibilityRequest":"DomainResource","CoverageEligibilityResponse":"DomainResource","DataRequirement":"Element","DetectedIssue":"DomainResource","Device":"DomainResource","DeviceDefinition":"DomainResource","DeviceMetric":"DomainResource","DeviceRequest":"DomainResource","DeviceUseStatement":"DomainResource","DiagnosticReport":"DomainResource","Distance":"Quantity","DocumentManifest":"DomainResource","DocumentReference":"DomainResource","DomainResource":"Resource","Dosage":"BackboneElement","Duration":"Quantity","EffectEvidenceSynthesis":"DomainResource","ElementDefinition":"BackboneElement","Encounter":"DomainResource","Endpoint":"DomainResource","EnrollmentRequest":"DomainResource","EnrollmentResponse":"DomainResource","EpisodeOfCare":"DomainResource","EventDefinition":"DomainResource","Evidence":"DomainResource","EvidenceVariable":"DomainResource","ExampleScenario":"DomainResource","ExplanationOfBenefit":"DomainResource","Expression":"Element","Extension":"Element","FamilyMemberHistory":"DomainResource","Flag":"DomainResource","Goal":"DomainResource","GraphDefinition":"DomainResource","Group":"DomainResource","GuidanceResponse":"DomainResource","HealthcareService":"DomainResource","HumanName":"Element","Identifier":"Element","ImagingStudy":"DomainResource","Immunization":"DomainResource","ImmunizationEvaluation":"DomainResource","ImmunizationRecommendation":"DomainResource","ImplementationGuide":"DomainResource","InsurancePlan":"DomainResource","Invoice":"DomainResource","Library":"DomainResource","Linkage":"DomainResource","List":"DomainResource","Location":"DomainResource","MarketingStatus":"BackboneElement","Measure":"DomainResource","MeasureReport":"DomainResource","Media":"DomainResource","Medication":"DomainResource","MedicationAdministration":"DomainResource","MedicationDispense":"DomainResource","MedicationKnowledge":"DomainResource","MedicationRequest":"DomainResource","MedicationStatement":"DomainResource","MedicinalProduct":"DomainResource","MedicinalProductAuthorization":"DomainResource","MedicinalProductContraindication":"DomainResource","MedicinalProductIndication":"DomainResource","MedicinalProductIngredient":"DomainResource","MedicinalProductInteraction":"DomainResource","MedicinalProductManufactured":"DomainResource","MedicinalProductPackaged":"DomainResource","MedicinalProductPharmaceutical":"DomainResource","MedicinalProductUndesirableEffect":"DomainResource","MessageDefinition":"DomainResource","MessageHeader":"DomainResource","Meta":"Element","MolecularSequence":"DomainResource","Money":"Element","MoneyQuantity":"Quantity","NamingSystem":"DomainResource","Narrative":"Element","NutritionOrder":"DomainResource","Observation":"DomainResource","ObservationDefinition":"DomainResource","OperationDefinition":"DomainResource","OperationOutcome":"DomainResource","Organization":"DomainResource","OrganizationAffiliation":"DomainResource","ParameterDefinition":"Element","Parameters":"Resource","Patient":"DomainResource","PaymentNotice":"DomainResource","PaymentReconciliation":"DomainResource","Period":"Element","Person":"DomainResource","PlanDefinition":"DomainResource","Population":"BackboneElement","Practitioner":"DomainResource","PractitionerRole":"DomainResource","Procedure":"DomainResource","ProdCharacteristic":"BackboneElement","ProductShelfLife":"BackboneElement","Provenance":"DomainResource","Quantity":"Element","Questionnaire":"DomainResource","QuestionnaireResponse":"DomainResource","Range":"Element","Ratio":"Element","Reference":"Element","RelatedArtifact":"Element","RelatedPerson":"DomainResource","RequestGroup":"DomainResource","ResearchDefinition":"DomainResource","ResearchElementDefinition":"DomainResource","ResearchStudy":"DomainResource","ResearchSubject":"DomainResource","RiskAssessment":"DomainResource","RiskEvidenceSynthesis":"DomainResource","SampledData":"Element","Schedule":"DomainResource","SearchParameter":"DomainResource","ServiceRequest":"DomainResource","Signature":"Element","SimpleQuantity":"Quantity","Slot":"DomainResource","Specimen":"DomainResource","SpecimenDefinition":"DomainResource","StructureDefinition":"DomainResource","StructureMap":"DomainResource","Subscription":"DomainResource","Substance":"DomainResource","SubstanceAmount":"BackboneElement","SubstanceNucleicAcid":"DomainResource","SubstancePolymer":"DomainResource","SubstanceProtein":"DomainResource","SubstanceReferenceInformation":"DomainResource","SubstanceSourceMaterial":"DomainResource","SubstanceSpecification":"DomainResource","SupplyDelivery":"DomainResource","SupplyRequest":"DomainResource","Task":"DomainResource","TerminologyCapabilities":"DomainResource","TestReport":"DomainResource","TestScript":"DomainResource","Timing":"BackboneElement","TriggerDefinition":"Element","UsageContext":"Element","ValueSet":"DomainResource","VerificationResult":"DomainResource","VisionPrescription":"DomainResource","base64Binary":"Element","boolean":"Element","canonical":"uri","code":"string","date":"Element","dateTime":"Element","decimal":"Element","id":"string","instant":"Element","integer":"Element","markdown":"string","oid":"uri","positiveInt":"integer","string":"Element","time":"Element","unsignedInt":"integer","uri":"Element","url":"uri","uuid":"uri","xhtml":"Element"}')}},t={},n=function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={exports:{}};return e[i](o,o.exports,n),o.exports}(9),window.fhirpath_r4_model=n},2783:function(e,t,n){!function(e){"use strict";e.registerHelper("lint","yaml",(function(t){var n=[];if(!window.jsyaml)return window.console&&window.console.error("Error: window.jsyaml not defined, CodeMirror YAML linting cannot run."),n;try{jsyaml.loadAll(t)}catch(t){var i=t.mark,r=i?e.Pos(i.line,i.column):e.Pos(0,0),o=r;n.push({from:r,to:o,message:t.message})}return n}))}(n(4631))},4631:function(e){e.exports=function(){"use strict";var e=navigator.userAgent,t=navigator.platform,n=/gecko\/\d/i.test(e),i=/MSIE \d/.test(e),r=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(e),o=/Edge\/(\d+)/.exec(e),a=i||r||o,s=a&&(i?document.documentMode||6:+(o||r)[1]),l=!o&&/WebKit\//.test(e),u=l&&/Qt\/\d+\.\d+/.test(e),c=!o&&/Chrome\//.test(e),f=/Opera\//.test(e),d=/Apple Computer/.test(navigator.vendor),m=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(e),p=/PhantomJS/.test(e),h=d&&(/Mobile\/\w+/.test(e)||navigator.maxTouchPoints>2),g=/Android/.test(e),y=h||g||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),v=h||/Mac/.test(t),C=/\bCrOS\b/.test(e),x=/win/i.test(t),b=f&&e.match(/Version\/(\d*\.\d*)/);b&&(b=Number(b[1])),b&&b>=15&&(f=!1,l=!0);var S=v&&(u||f&&(null==b||b<12.11)),E=n||a&&s>=9;function D(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var A,R=function(e,t){var n=e.className,i=D(t).exec(n);if(i){var r=n.slice(i.index+i[0].length);e.className=n.slice(0,i.index)+(r?i[1]+r:"")}};function M(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function k(e,t){return M(e).appendChild(t)}function T(e,t,n,i){var r=document.createElement(e);if(n&&(r.className=n),i&&(r.style.cssText=i),"string"==typeof t)r.appendChild(document.createTextNode(t));else if(t)for(var o=0;o=t)return a+(t-o);a+=s-o,a+=n-a%n,o=s+1}}h?L=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:a&&(L=function(e){try{e.select()}catch(e){}});var F=function(){this.id=null,this.f=null,this.time=0,this.handler=N(this.onTimeout,this)};function q(e,t){for(var n=0;n=t)return i+Math.min(a,t-r);if(r+=o-i,i=o+1,(r+=n-r%n)>=t)return i}}var K=[""];function Q(e){for(;K.length<=e;)K.push(J(K)+" ");return K[e]}function J(e){return e[e.length-1]}function X(e,t){for(var n=[],i=0;i"€"&&(e.toUpperCase()!=e.toLowerCase()||Z.test(e))}function te(e,t){return t?!!(t.source.indexOf("\\w")>-1&&ee(e))||t.test(e):ee(e)}function ne(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var ie=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function re(e){return e.charCodeAt(0)>=768&&ie.test(e)}function oe(e,t,n){for(;(n<0?t>0:tn?-1:1;;){if(t==n)return t;var r=(t+n)/2,o=i<0?Math.ceil(r):Math.floor(r);if(o==t)return e(o)?t:n;e(o)?n=o:t=o+i}}var se=null;function le(e,t,n){var i;se=null;for(var r=0;rt)return r;o.to==t&&(o.from!=o.to&&"before"==n?i=r:se=r),o.from==t&&(o.from!=o.to&&"before"!=n?i=r:se=r)}return null!=i?i:se}var ue=function(){var e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,t=/[stwN]/,n=/[LRr]/,i=/[Lb1n]/,r=/[1n]/;function o(e,t,n){this.level=e,this.from=t,this.to=n}return function(a,s){var l,u="ltr"==s?"L":"R";if(0==a.length||"ltr"==s&&!e.test(a))return!1;for(var c=a.length,f=[],d=0;d-1&&(i[t]=r.slice(0,o).concat(r.slice(o+1)))}}}function he(e,t){var n=me(e,t);if(n.length)for(var i=Array.prototype.slice.call(arguments,2),r=0;r0}function Ce(e){e.prototype.on=function(e,t){de(this,e,t)},e.prototype.off=function(e,t){pe(this,e,t)}}function xe(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function be(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Se(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function Ee(e){xe(e),be(e)}function De(e){return e.target||e.srcElement}function Ae(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),v&&e.ctrlKey&&1==t&&(t=3),t}var Re,Me,ke=function(){if(a&&s<9)return!1;var e=T("div");return"draggable"in e||"dragDrop"in e}();function Te(e){if(null==Re){var t=T("span","​");k(e,T("span",[t,document.createTextNode("x")])),0!=e.firstChild.offsetHeight&&(Re=t.offsetWidth<=1&&t.offsetHeight>2&&!(a&&s<8))}var n=Re?T("span","​"):T("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}function we(e){if(null!=Me)return Me;var t=k(e,document.createTextNode("AخA")),n=A(t,0,1).getBoundingClientRect(),i=A(t,1,2).getBoundingClientRect();return M(e),!(!n||n.left==n.right)&&(Me=i.right-n.right<3)}var Ie,Pe=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,n=[],i=e.length;t<=i;){var r=e.indexOf("\n",t);-1==r&&(r=e.length);var o=e.slice(t,"\r"==e.charAt(r-1)?r-1:r),a=o.indexOf("\r");-1!=a?(n.push(o.slice(0,a)),t+=a+1):(n.push(o),t=r+1)}return n}:function(e){return e.split(/\r\n?|\n/)},Oe=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(e){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints("StartToEnd",t)},_e="oncopy"in(Ie=T("div"))||(Ie.setAttribute("oncopy","return;"),"function"==typeof Ie.oncopy),Le=null;var Ne={},Ue={};function Be(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Ne[e]=t}function Fe(e){if("string"==typeof e&&Ue.hasOwnProperty(e))e=Ue[e];else if(e&&"string"==typeof e.name&&Ue.hasOwnProperty(e.name)){var t=Ue[e.name];"string"==typeof t&&(t={name:t}),(e=$(t,e)).name=t.name}else{if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return Fe("application/xml");if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return Fe("application/json")}return"string"==typeof e?{name:e}:e||{name:"null"}}function qe(e,t){t=Fe(t);var n=Ne[t.name];if(!n)return qe(e,"text/plain");var i=n(e,t);if(je.hasOwnProperty(t.name)){var r=je[t.name];for(var o in r)r.hasOwnProperty(o)&&(i.hasOwnProperty(o)&&(i["_"+o]=i[o]),i[o]=r[o])}if(i.name=t.name,t.helperType&&(i.helperType=t.helperType),t.modeProps)for(var a in t.modeProps)i[a]=t.modeProps[a];return i}var je={};function ze(e,t){U(t,je.hasOwnProperty(e)?je[e]:je[e]={})}function He(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n={};for(var i in t){var r=t[i];r instanceof Array&&(r=r.concat([])),n[i]=r}return n}function Ve(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function Ge(e,t,n){return!e.startState||e.startState(t,n)}var We=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function Ke(e,t){if((t-=e.first)<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var i=0;;++i){var r=n.children[i],o=r.chunkSize();if(t=e.first&&tn?tt(n,Ke(e,n).text.length):function(e,t){var n=e.ch;return null==n||n>t?tt(e.line,t):n<0?tt(e.line,0):e}(t,Ke(e,t.line).text.length)}function ut(e,t){for(var n=[],i=0;i=this.string.length},We.prototype.sol=function(){return this.pos==this.lineStart},We.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},We.prototype.next=function(){if(this.post},We.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},We.prototype.skipToEnd=function(){this.pos=this.string.length},We.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},We.prototype.backUp=function(e){this.pos-=e},We.prototype.column=function(){return this.lastColumnPos0?null:(i&&!1!==t&&(this.pos+=i[0].length),i)}var r=function(e){return n?e.toLowerCase():e};if(r(this.string.substr(this.pos,e.length))==r(e))return!1!==t&&(this.pos+=e.length),!0},We.prototype.current=function(){return this.string.slice(this.start,this.pos)},We.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},We.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},We.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var ct=function(e,t){this.state=e,this.lookAhead=t},ft=function(e,t,n,i){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=i||0,this.baseTokens=null,this.baseTokenPos=1};function dt(e,t,n,i){var r=[e.state.modeGen],o={};bt(e,t.text,e.doc.mode,n,(function(e,t){return r.push(e,t)}),o,i);for(var a=n.state,s=function(i){n.baseTokens=r;var s=e.state.overlays[i],l=1,u=0;n.state=!0,bt(e,t.text,s.mode,n,(function(e,t){for(var n=l;ue&&r.splice(l,1,e,r[l+1],i),l+=2,u=Math.min(e,i)}if(t)if(s.opaque)r.splice(n,l-n,e,"overlay "+t),l=n+2;else for(;ne.options.maxHighlightLength&&He(e.doc.mode,i.state),o=dt(e,t,i);r&&(i.state=r),t.stateAfter=i.save(!r),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function pt(e,t,n){var i=e.doc,r=e.display;if(!i.mode.startState)return new ft(i,!0,t);var o=function(e,t,n){for(var i,r,o=e.doc,a=n?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;s>a;--s){if(s<=o.first)return o.first;var l=Ke(o,s-1),u=l.stateAfter;if(u&&(!n||s+(u instanceof ct?u.lookAhead:0)<=o.modeFrontier))return s;var c=B(l.text,null,e.options.tabSize);(null==r||i>c)&&(r=s-1,i=c)}return r}(e,t,n),a=o>i.first&&Ke(i,o-1).stateAfter,s=a?ft.fromSaved(i,a,o):new ft(i,Ge(i.mode),o);return i.iter(o,t,(function(n){ht(e,n.text,s);var i=s.line;n.stateAfter=i==t-1||i%5==0||i>=r.viewFrom&&it.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}ft.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},ft.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},ft.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},ft.fromSaved=function(e,t,n){return t instanceof ct?new ft(e,He(e.mode,t.state),n,t.lookAhead):new ft(e,He(e.mode,t),n)},ft.prototype.save=function(e){var t=!1!==e?He(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ct(t,this.maxLookAhead):t};var vt=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function Ct(e,t,n,i){var r,o,a=e.doc,s=a.mode,l=Ke(a,(t=lt(a,t)).line),u=pt(e,t.line,n),c=new We(l.text,e.options.tabSize,u);for(i&&(o=[]);(i||c.pose.options.maxHighlightLength?(s=!1,a&&ht(e,t,i,f.pos),f.pos=t.length,l=null):l=xt(yt(n,f,i.state,d),o),d){var m=d[0].name;m&&(l="m-"+(l?m+" "+l:m))}if(!s||c!=l){for(;u=t:o.to>t);(i||(i=[])).push(new Dt(a,o.from,s?null:o.to))}}return i}(n,r,a),l=function(e,t,n){var i;if(e)for(var r=0;r=t:o.to>t)||o.from==t&&"bookmark"==a.type&&(!n||o.marker.insertLeft)){var s=null==o.from||(a.inclusiveLeft?o.from<=t:o.from0&&s)for(var C=0;Ct)&&(!n||Ot(n,o.marker)<0)&&(n=o.marker)}return n}function Bt(e,t,n,i,r){var o=Ke(e,t),a=Et&&o.markedSpans;if(a)for(var s=0;s=0&&f<=0||c<=0&&f>=0)&&(c<=0&&(l.marker.inclusiveRight&&r.inclusiveLeft?nt(u.to,n)>=0:nt(u.to,n)>0)||c>=0&&(l.marker.inclusiveRight&&r.inclusiveLeft?nt(u.from,i)<=0:nt(u.from,i)<0)))return!0}}}function Ft(e){for(var t;t=Lt(e);)e=t.find(-1,!0).line;return e}function qt(e,t){var n=Ke(e,t),i=Ft(n);return n==i?t:Ye(i)}function jt(e,t){if(t>e.lastLine())return t;var n,i=Ke(e,t);if(!zt(e,i))return t;for(;n=Nt(i);)i=n.find(1,!0).line;return Ye(i)+1}function zt(e,t){var n=Et&&t.markedSpans;if(n)for(var i=void 0,r=0;rt.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)}))}var Kt=function(e,t,n){this.text=e,wt(this,t),this.height=n?n(this):1};function Qt(e){e.parent=null,Tt(e)}Kt.prototype.lineNo=function(){return Ye(this)},Ce(Kt);var Jt={},Xt={};function Yt(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?Xt:Jt;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function $t(e,t){var n=w("span",null,null,l?"padding-right: .1px":null),i={pre:w("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var r=0;r<=(t.rest?t.rest.length:0);r++){var o=r?t.rest[r-1]:t.line,a=void 0;i.pos=0,i.addToken=en,we(e.display.measure)&&(a=ce(o,e.doc.direction))&&(i.addToken=tn(i.addToken,a)),i.map=[],rn(o,i,mt(e,o,t!=e.display.externalMeasured&&Ye(o))),o.styleClasses&&(o.styleClasses.bgClass&&(i.bgClass=_(o.styleClasses.bgClass,i.bgClass||"")),o.styleClasses.textClass&&(i.textClass=_(o.styleClasses.textClass,i.textClass||""))),0==i.map.length&&i.map.push(0,0,i.content.appendChild(Te(e.display.measure))),0==r?(t.measure.map=i.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(i.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(l){var s=i.content.lastChild;(/\bcm-tab\b/.test(s.className)||s.querySelector&&s.querySelector(".cm-tab"))&&(i.content.className="cm-tab-wrap-hack")}return he(e,"renderLine",e,t.line,i.pre),i.pre.className&&(i.textClass=_(i.pre.className,i.textClass||"")),i}function Zt(e){var t=T("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function en(e,t,n,i,r,o,l){if(t){var u,c=e.splitSpaces?function(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,i="",r=0;ru&&f.from<=u);d++);if(f.to>=c)return e(n,i,r,o,a,s,l);e(n,i.slice(0,f.to-u),r,o,null,s,l),o=null,i=i.slice(f.to-u),u=f.to}}}function nn(e,t,n,i){var r=!i&&n.widgetNode;r&&e.map.push(e.pos,e.pos+t,r),!i&&e.cm.display.input.needsContentAttribute&&(r||(r=e.content.appendChild(document.createElement("span"))),r.setAttribute("cm-marker",n.id)),r&&(e.cm.display.input.setUneditable(r),e.content.appendChild(r)),e.pos+=t,e.trailingSpace=!1}function rn(e,t,n){var i=e.markedSpans,r=e.text,o=0;if(i)for(var a,s,l,u,c,f,d,m=r.length,p=0,h=1,g="",y=0;;){if(y==p){l=u=c=s="",d=null,f=null,y=1/0;for(var v=[],C=void 0,x=0;xp||S.collapsed&&b.to==p&&b.from==p)){if(null!=b.to&&b.to!=p&&y>b.to&&(y=b.to,u=""),S.className&&(l+=" "+S.className),S.css&&(s=(s?s+";":"")+S.css),S.startStyle&&b.from==p&&(c+=" "+S.startStyle),S.endStyle&&b.to==y&&(C||(C=[])).push(S.endStyle,b.to),S.title&&((d||(d={})).title=S.title),S.attributes)for(var E in S.attributes)(d||(d={}))[E]=S.attributes[E];S.collapsed&&(!f||Ot(f.marker,S)<0)&&(f=b)}else b.from>p&&y>b.from&&(y=b.from)}if(C)for(var D=0;D=m)break;for(var R=Math.min(m,y);;){if(g){var M=p+g.length;if(!f){var k=M>R?g.slice(0,R-p):g;t.addToken(t,k,a?a+l:l,c,p+k.length==y?u:"",s,d)}if(M>=R){g=g.slice(R-p),p=R;break}p=M,c=""}g=r.slice(o,o=n[h++]),a=Yt(n[h++],t.cm.options)}}else for(var T=1;Tn)return{map:e.measure.maps[r],cache:e.measure.caches[r],before:!0}}function In(e,t,n,i){return _n(e,On(e,t),n,i)}function Pn(e,t){if(t>=e.display.viewFrom&&t=n.lineN&&t2&&o.push((l.bottom+u.top)/2-n.top)}}o.push(n.bottom-n.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,n,i){var r,o=Un(t.map,n,i),l=o.node,u=o.start,c=o.end,f=o.collapse;if(3==l.nodeType){for(var d=0;d<4;d++){for(;u&&re(t.line.text.charAt(o.coverStart+u));)--u;for(;o.coverStart+c1}(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,i=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*i,bottom:t.bottom*i}}(e.display.measure,r))}else{var m;u>0&&(f=i="right"),r=e.options.lineWrapping&&(m=l.getClientRects()).length>1?m["right"==i?m.length-1:0]:l.getBoundingClientRect()}if(a&&s<9&&!u&&(!r||!r.left&&!r.right)){var p=l.parentNode.getClientRects()[0];r=p?{left:p.left,right:p.left+oi(e.display),top:p.top,bottom:p.bottom}:Nn}for(var h=r.top-t.rect.top,g=r.bottom-t.rect.top,y=(h+g)/2,v=t.view.measure.heights,C=0;Ct)&&(r=(o=l-s)-1,t>=l&&(a="right")),null!=r){if(i=e[u+2],s==l&&n==(i.insertLeft?"left":"right")&&(a=n),"left"==n&&0==r)for(;u&&e[u-2]==e[u-3]&&e[u-1].insertLeft;)i=e[2+(u-=3)],a="left";if("right"==n&&r==l-s)for(;u=0&&(n=e[r]).left==n.right;r--);return n}function Fn(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t=i.text.length?(l=i.text.length,u="before"):l<=0&&(l=0,u="after"),!s)return a("before"==u?l-1:l,"before"==u);function c(e,t,n){return a(n?e-1:e,1==s[t].level!=n)}var f=le(s,l,u),d=se,m=c(l,f,"before"==u);return null!=d&&(m.other=c(l,d,"before"!=u)),m}function Jn(e,t){var n=0;t=lt(e.doc,t),e.options.lineWrapping||(n=oi(e.display)*t.ch);var i=Ke(e.doc,t.line),r=Vt(i)+Dn(e.display);return{left:n,right:n,top:r,bottom:r+i.height}}function Xn(e,t,n,i,r){var o=tt(e,t,n);return o.xRel=r,i&&(o.outside=i),o}function Yn(e,t,n){var i=e.doc;if((n+=e.display.viewOffset)<0)return Xn(i.first,0,null,-1,-1);var r=$e(i,n),o=i.first+i.size-1;if(r>o)return Xn(i.first+i.size-1,Ke(i,o).text.length,null,1,1);t<0&&(t=0);for(var a=Ke(i,r);;){var s=ti(e,a,r,t,n),l=Ut(a,s.ch+(s.xRel>0||s.outside>0?1:0));if(!l)return s;var u=l.find(1);if(u.line==r)return u;a=Ke(i,r=u.line)}}function $n(e,t,n,i){i-=Vn(t);var r=t.text.length,o=ae((function(t){return _n(e,n,t-1).bottom<=i}),r,0);return{begin:o,end:r=ae((function(t){return _n(e,n,t).top>i}),o,r)}}function Zn(e,t,n,i){return n||(n=On(e,t)),$n(e,t,n,Gn(e,t,_n(e,n,i),"line").top)}function ei(e,t,n,i){return!(e.bottom<=n)&&(e.top>n||(i?e.left:e.right)>t)}function ti(e,t,n,i,r){r-=Vt(t);var o=On(e,t),a=Vn(t),s=0,l=t.text.length,u=!0,c=ce(t,e.doc.direction);if(c){var f=(e.options.lineWrapping?ii:ni)(e,t,n,o,c,i,r);s=(u=1!=f.level)?f.from:f.to-1,l=u?f.to:f.from-1}var d,m,p=null,h=null,g=ae((function(t){var n=_n(e,o,t);return n.top+=a,n.bottom+=a,!!ei(n,i,r,!1)&&(n.top<=r&&n.left<=i&&(p=t,h=n),!0)}),s,l),y=!1;if(h){var v=i-h.left=x.bottom?1:0}return Xn(n,g=oe(t.text,g,1),m,y,i-d)}function ni(e,t,n,i,r,o,a){var s=ae((function(s){var l=r[s],u=1!=l.level;return ei(Qn(e,tt(n,u?l.to:l.from,u?"before":"after"),"line",t,i),o,a,!0)}),0,r.length-1),l=r[s];if(s>0){var u=1!=l.level,c=Qn(e,tt(n,u?l.from:l.to,u?"after":"before"),"line",t,i);ei(c,o,a,!0)&&c.top>a&&(l=r[s-1])}return l}function ii(e,t,n,i,r,o,a){var s=$n(e,t,i,a),l=s.begin,u=s.end;/\s/.test(t.text.charAt(u-1))&&u--;for(var c=null,f=null,d=0;d=u||m.to<=l)){var p=_n(e,i,1!=m.level?Math.min(u,m.to)-1:Math.max(l,m.from)).right,h=ph)&&(c=m,f=h)}}return c||(c=r[r.length-1]),c.fromu&&(c={from:c.from,to:u,level:c.level}),c}function ri(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==Ln){Ln=T("pre",null,"CodeMirror-line-like");for(var t=0;t<49;++t)Ln.appendChild(document.createTextNode("x")),Ln.appendChild(T("br"));Ln.appendChild(document.createTextNode("x"))}k(e.measure,Ln);var n=Ln.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),M(e.measure),n||1}function oi(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=T("span","xxxxxxxxxx"),n=T("pre",[t],"CodeMirror-line-like");k(e.measure,n);var i=t.getBoundingClientRect(),r=(i.right-i.left)/10;return r>2&&(e.cachedCharWidth=r),r||10}function ai(e){for(var t=e.display,n={},i={},r=t.gutters.clientLeft,o=t.gutters.firstChild,a=0;o;o=o.nextSibling,++a){var s=e.display.gutterSpecs[a].className;n[s]=o.offsetLeft+o.clientLeft+r,i[s]=o.clientWidth}return{fixedPos:si(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:i,wrapperWidth:t.wrapper.clientWidth}}function si(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function li(e){var t=ri(e.display),n=e.options.lineWrapping,i=n&&Math.max(5,e.display.scroller.clientWidth/oi(e.display)-3);return function(r){if(zt(e.doc,r))return 0;var o=0;if(r.widgets)for(var a=0;a0&&(l=Ke(e.doc,u.line).text).length==u.ch){var c=B(l,l.length,e.options.tabSize)-l.length;u=tt(u.line,Math.max(0,Math.round((o-Rn(e.display).left)/oi(e.display))-c))}return u}function fi(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,i=0;it)&&(r.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=r.viewTo)Et&&qt(e.doc,t)r.viewFrom?pi(e):(r.viewFrom+=i,r.viewTo+=i);else if(t<=r.viewFrom&&n>=r.viewTo)pi(e);else if(t<=r.viewFrom){var o=hi(e,n,n+i,1);o?(r.view=r.view.slice(o.index),r.viewFrom=o.lineN,r.viewTo+=i):pi(e)}else if(n>=r.viewTo){var a=hi(e,t,t,-1);a?(r.view=r.view.slice(0,a.index),r.viewTo=a.lineN):pi(e)}else{var s=hi(e,t,t,-1),l=hi(e,n,n+i,1);s&&l?(r.view=r.view.slice(0,s.index).concat(an(e,s.lineN,l.lineN)).concat(r.view.slice(l.index)),r.viewTo+=i):pi(e)}var u=r.externalMeasured;u&&(n=r.lineN&&t=i.viewTo)){var o=i.view[fi(e,t)];if(null!=o.node){var a=o.changes||(o.changes=[]);-1==q(a,n)&&a.push(n)}}}function pi(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function hi(e,t,n,i){var r,o=fi(e,t),a=e.display.view;if(!Et||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var s=e.display.viewFrom,l=0;l0){if(o==a.length-1)return null;r=s+a[o].size-t,o++}else r=s-t;t+=r,n+=r}for(;qt(e.doc,n)!=n;){if(o==(i<0?0:a.length-1))return null;n+=i*a[o-(i<0?1:0)].size,o+=i}return{index:o,lineN:n}}function gi(e){for(var t=e.display.view,n=0,i=0;i=e.display.viewTo||s.to().linet||t==n&&a.to==t)&&(i(Math.max(a.from,t),Math.min(a.to,n),1==a.level?"rtl":"ltr",o),r=!0)}r||i(t,n,"ltr")}(h,n||0,null==i?d:i,(function(e,t,r,f){var g="ltr"==r,y=m(e,g?"left":"right"),v=m(t-1,g?"right":"left"),C=null==n&&0==e,x=null==i&&t==d,b=0==f,S=!h||f==h.length-1;if(v.top-y.top<=3){var E=(u?x:C)&&S,D=(u?C:x)&&b?s:(g?y:v).left,A=E?l:(g?v:y).right;c(D,y.top,A-D,y.bottom)}else{var R,M,k,T;g?(R=u&&C&&b?s:y.left,M=u?l:p(e,r,"before"),k=u?s:p(t,r,"after"),T=u&&x&&S?l:v.right):(R=u?p(e,r,"before"):s,M=!u&&C&&b?l:y.right,k=!u&&x&&S?s:v.left,T=u?p(t,r,"after"):l),c(R,y.top,M-R,y.bottom),y.bottom0?t.blinker=setInterval((function(){e.hasFocus()||Ri(e),t.cursorDiv.style.visibility=(n=!n)?"":"hidden"}),e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function Ei(e){e.hasFocus()||(e.display.input.focus(),e.state.focused||Ai(e))}function Di(e){e.state.delayingBlurEvent=!0,setTimeout((function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,e.state.focused&&Ri(e))}),100)}function Ai(e,t){e.state.delayingBlurEvent&&!e.state.draggingText&&(e.state.delayingBlurEvent=!1),"nocursor"!=e.options.readOnly&&(e.state.focused||(he(e,"focus",e,t),e.state.focused=!0,O(e.display.wrapper,"CodeMirror-focused"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),l&&setTimeout((function(){return e.display.input.reset(!0)}),20)),e.display.input.receivedFocus()),Si(e))}function Ri(e,t){e.state.delayingBlurEvent||(e.state.focused&&(he(e,"blur",e,t),e.state.focused=!1,R(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout((function(){e.state.focused||(e.display.shift=!1)}),150))}function Mi(e){for(var t=e.display,n=t.lineDiv.offsetTop,i=0;i.005||d<-.005)&&(Xe(r.line,l),ki(r.line),r.rest))for(var m=0;me.display.sizerWidth){var p=Math.ceil(u/oi(e.display));p>e.display.maxLineLength&&(e.display.maxLineLength=p,e.display.maxLine=r.line,e.display.maxLineChanged=!0)}}}}function ki(e){if(e.widgets)for(var t=0;t=a&&(o=$e(t,Vt(Ke(t,l))-e.wrapper.clientHeight),a=l)}return{from:o,to:Math.max(a,o+1)}}function wi(e,t){var n=e.display,i=ri(e.display);t.top<0&&(t.top=0);var r=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:n.scroller.scrollTop,o=Tn(e),a={};t.bottom-t.top>o&&(t.bottom=t.top+o);var s=e.doc.height+An(n),l=t.tops-i;if(t.topr+o){var c=Math.min(t.top,(u?s:t.bottom)-o);c!=r&&(a.scrollTop=c)}var f=e.options.fixedGutter?0:n.gutters.offsetWidth,d=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft-f,m=kn(e)-n.gutters.offsetWidth,p=t.right-t.left>m;return p&&(t.right=t.left+m),t.left<10?a.scrollLeft=0:t.leftm+d-3&&(a.scrollLeft=t.right+(p?0:10)-m),a}function Ii(e,t){null!=t&&(_i(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function Pi(e){_i(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Oi(e,t,n){null==t&&null==n||_i(e),null!=t&&(e.curOp.scrollLeft=t),null!=n&&(e.curOp.scrollTop=n)}function _i(e){var t=e.curOp.scrollToPos;t&&(e.curOp.scrollToPos=null,Li(e,Jn(e,t.from),Jn(e,t.to),t.margin))}function Li(e,t,n,i){var r=wi(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-i,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+i});Oi(e,r.scrollLeft,r.scrollTop)}function Ni(e,t){Math.abs(e.doc.scrollTop-t)<2||(n||ur(e,{top:t}),Ui(e,t,!0),n&&ur(e),rr(e,100))}function Ui(e,t,n){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),(e.display.scroller.scrollTop!=t||n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Bi(e,t,n,i){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!i||(e.doc.scrollLeft=t,dr(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Fi(e){var t=e.display,n=t.gutters.offsetWidth,i=Math.round(e.doc.height+An(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:i,scrollHeight:i+Mn(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var qi=function(e,t,n){this.cm=n;var i=this.vert=T("div",[T("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),r=this.horiz=T("div",[T("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");i.tabIndex=r.tabIndex=-1,e(i),e(r),de(i,"scroll",(function(){i.clientHeight&&t(i.scrollTop,"vertical")})),de(r,"scroll",(function(){r.clientWidth&&t(r.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,a&&s<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};qi.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,i=e.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=t?i+"px":"0";var r=e.viewHeight-(t?i:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+r)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=n?i+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(n?i:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==i&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?i:0,bottom:t?i:0}},qi.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},qi.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},qi.prototype.zeroWidthHack=function(){var e=v&&!m?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new F,this.disableVert=new F},qi.prototype.enableZeroWidthBar=function(e,t,n){e.style.pointerEvents="auto",t.set(1e3,(function i(){var r=e.getBoundingClientRect();("vert"==n?document.elementFromPoint(r.right-1,(r.top+r.bottom)/2):document.elementFromPoint((r.right+r.left)/2,r.bottom-1))!=e?e.style.pointerEvents="none":t.set(1e3,i)}))},qi.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var ji=function(){};function zi(e,t){t||(t=Fi(e));var n=e.display.barWidth,i=e.display.barHeight;Hi(e,t);for(var r=0;r<4&&n!=e.display.barWidth||i!=e.display.barHeight;r++)n!=e.display.barWidth&&e.options.lineWrapping&&Mi(e),Hi(e,Fi(e)),n=e.display.barWidth,i=e.display.barHeight}function Hi(e,t){var n=e.display,i=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=i.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=i.bottom)+"px",n.heightForcer.style.borderBottom=i.bottom+"px solid transparent",i.right&&i.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=i.bottom+"px",n.scrollbarFiller.style.width=i.right+"px"):n.scrollbarFiller.style.display="",i.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=i.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}ji.prototype.update=function(){return{bottom:0,right:0}},ji.prototype.setScrollLeft=function(){},ji.prototype.setScrollTop=function(){},ji.prototype.clear=function(){};var Vi={native:qi,null:ji};function Gi(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&R(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new Vi[e.options.scrollbarStyle]((function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),de(t,"mousedown",(function(){e.state.focused&&setTimeout((function(){return e.display.input.focus()}),0)})),t.setAttribute("cm-not-content","true")}),(function(t,n){"horizontal"==n?Bi(e,t):Ni(e,t)}),e),e.display.scrollbars.addClass&&O(e.display.wrapper,e.display.scrollbars.addClass)}var Wi=0;function Ki(e){var t;e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Wi,markArrays:null},t=e.curOp,sn?sn.ops.push(t):t.ownsGroup=sn={ops:[t],delayedCallbacks:[]}}function Qi(e){var t=e.curOp;t&&function(e,t){var n=e.ownsGroup;if(n)try{!function(e){var t=e.delayedCallbacks,n=0;do{for(;n=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new ar(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function Xi(e){e.updatedDisplay=e.mustUpdate&&sr(e.cm,e.update)}function Yi(e){var t=e.cm,n=t.display;e.updatedDisplay&&Mi(t),e.barMeasure=Fi(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=In(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+Mn(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-kn(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function $i(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft(window.innerHeight||document.documentElement.clientHeight)&&(r=!1),null!=r&&!p){var o=T("div","​",null,"position: absolute;\n top: "+(t.top-n.viewOffset-Dn(e.display))+"px;\n height: "+(t.bottom-t.top+Mn(e)+n.barHeight)+"px;\n left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(o),o.scrollIntoView(r),e.display.lineSpace.removeChild(o)}}}(t,function(e,t,n,i){var r;null==i&&(i=0),e.options.lineWrapping||t!=n||(n="before"==t.sticky?tt(t.line,t.ch+1,"before"):t,t=t.ch?tt(t.line,"before"==t.sticky?t.ch-1:t.ch,"after"):t);for(var o=0;o<5;o++){var a=!1,s=Qn(e,t),l=n&&n!=t?Qn(e,n):s,u=wi(e,r={left:Math.min(s.left,l.left),top:Math.min(s.top,l.top)-i,right:Math.max(s.left,l.left),bottom:Math.max(s.bottom,l.bottom)+i}),c=e.doc.scrollTop,f=e.doc.scrollLeft;if(null!=u.scrollTop&&(Ni(e,u.scrollTop),Math.abs(e.doc.scrollTop-c)>1&&(a=!0)),null!=u.scrollLeft&&(Bi(e,u.scrollLeft),Math.abs(e.doc.scrollLeft-f)>1&&(a=!0)),!a)break}return r}(t,lt(i,e.scrollToPos.from),lt(i,e.scrollToPos.to),e.scrollToPos.margin));var r=e.maybeHiddenMarkers,o=e.maybeUnhiddenMarkers;if(r)for(var a=0;a=e.display.viewTo)){var n=+new Date+e.options.workTime,i=pt(e,t.highlightFrontier),r=[];t.iter(i.line,Math.min(t.first+t.size,e.display.viewTo+500),(function(o){if(i.line>=e.display.viewFrom){var a=o.styles,s=o.text.length>e.options.maxHighlightLength?He(t.mode,i.state):null,l=dt(e,o,i,!0);s&&(i.state=s),o.styles=l.styles;var u=o.styleClasses,c=l.classes;c?o.styleClasses=c:u&&(o.styleClasses=null);for(var f=!a||a.length!=o.styles.length||u!=c&&(!u||!c||u.bgClass!=c.bgClass||u.textClass!=c.textClass),d=0;!f&&dn)return rr(e,e.options.workDelay),!0})),t.highlightFrontier=i.line,t.modeFrontier=Math.max(t.modeFrontier,i.line),r.length&&er(e,(function(){for(var t=0;t=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==gi(e))return!1;mr(e)&&(pi(e),t.dims=ai(e));var r=i.first+i.size,o=Math.max(t.visible.from-e.options.viewportMargin,i.first),a=Math.min(r,t.visible.to+e.options.viewportMargin);n.viewFroma&&n.viewTo-a<20&&(a=Math.min(r,n.viewTo)),Et&&(o=qt(e.doc,o),a=jt(e.doc,a));var s=o!=n.viewFrom||a!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;(function(e,t,n){var i=e.display;0==i.view.length||t>=i.viewTo||n<=i.viewFrom?(i.view=an(e,t,n),i.viewFrom=t):(i.viewFrom>t?i.view=an(e,t,i.viewFrom).concat(i.view):i.viewFromn&&(i.view=i.view.slice(0,fi(e,n)))),i.viewTo=n})(e,o,a),n.viewOffset=Vt(Ke(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px";var u=gi(e);if(!s&&0==u&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var c=function(e){if(e.hasFocus())return null;var t=P();if(!t||!I(e.display.lineDiv,t))return null;var n={activeElt:t};if(window.getSelection){var i=window.getSelection();i.anchorNode&&i.extend&&I(e.display.lineDiv,i.anchorNode)&&(n.anchorNode=i.anchorNode,n.anchorOffset=i.anchorOffset,n.focusNode=i.focusNode,n.focusOffset=i.focusOffset)}return n}(e);return u>4&&(n.lineDiv.style.display="none"),function(e,t,n){var i=e.display,r=e.options.lineNumbers,o=i.lineDiv,a=o.firstChild;function s(t){var n=t.nextSibling;return l&&v&&e.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t),n}for(var u=i.view,c=i.viewFrom,f=0;f-1&&(m=!1),fn(e,d,c,n)),m&&(M(d.lineNumber),d.lineNumber.appendChild(document.createTextNode(et(e.options,c)))),a=d.node.nextSibling}else{var p=vn(e,d,c,n);o.insertBefore(p,a)}c+=d.size}for(;a;)a=s(a)}(e,n.updateLineNumbers,t.dims),u>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,function(e){if(e&&e.activeElt&&e.activeElt!=P()&&(e.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(e.activeElt.nodeName)&&e.anchorNode&&I(document.body,e.anchorNode)&&I(document.body,e.focusNode))){var t=window.getSelection(),n=document.createRange();n.setEnd(e.anchorNode,e.anchorOffset),n.collapse(!1),t.removeAllRanges(),t.addRange(n),t.extend(e.focusNode,e.focusOffset)}}(c),M(n.cursorDiv),M(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,s&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,rr(e,400)),n.updateLineNumbers=null,!0}function lr(e,t){for(var n=t.viewport,i=!0;;i=!1){if(i&&e.options.lineWrapping&&t.oldDisplayWidth!=kn(e))i&&(t.visible=Ti(e.display,e.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(e.doc.height+An(e.display)-Tn(e),n.top)}),t.visible=Ti(e.display,e.doc,n),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break;if(!sr(e,t))break;Mi(e);var r=Fi(e);yi(e),zi(e,r),fr(e,r),t.force=!1}t.signal(e,"update",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function ur(e,t){var n=new ar(e,t);if(sr(e,n)){Mi(e),lr(e,n);var i=Fi(e);yi(e),zi(e,i),fr(e,i),n.finish()}}function cr(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px",un(e,"gutterChanged",e)}function fr(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+Mn(e)+"px"}function dr(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var i=si(t)-t.scroller.scrollLeft+e.doc.scrollLeft,r=t.gutters.offsetWidth,o=i+"px",a=0;as.clientWidth,c=s.scrollHeight>s.clientHeight;if(r&&u||o&&c){if(o&&v&&l)e:for(var d=t.target,m=a.view;d!=s;d=d.parentNode)for(var p=0;p=0&&nt(e,i.to())<=0)return n}return-1};var Dr=function(e,t){this.anchor=e,this.head=t};function Ar(e,t,n){var i=e&&e.options.selectionsMayTouch,r=t[n];t.sort((function(e,t){return nt(e.from(),t.from())})),n=q(t,r);for(var o=1;o0:l>=0){var u=at(s.from(),a.from()),c=ot(s.to(),a.to()),f=s.empty()?a.from()==a.head:s.from()==s.head;o<=n&&--n,t.splice(--o,2,new Dr(f?c:u,f?u:c))}}return new Er(t,n)}function Rr(e,t){return new Er([new Dr(e,t||e)],0)}function Mr(e){return e.text?tt(e.from.line+e.text.length-1,J(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function kr(e,t){if(nt(e,t.from)<0)return e;if(nt(e,t.to)<=0)return Mr(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,i=e.ch;return e.line==t.to.line&&(i+=Mr(t).ch-t.to.ch),tt(n,i)}function Tr(e,t){for(var n=[],i=0;i1&&e.remove(s.line+1,p-1),e.insert(s.line+1,y)}un(e,"change",e,t)}function Lr(e,t,n){!function e(i,r,o){if(i.linked)for(var a=0;as-(e.cm?e.cm.options.historyEventDelay:500)||"*"==t.origin.charAt(0)))&&(o=function(e,t){return t?(qr(e.done),J(e.done)):e.done.length&&!J(e.done).ranges?J(e.done):e.done.length>1&&!e.done[e.done.length-2].ranges?(e.done.pop(),J(e.done)):void 0}(r,r.lastOp==i)))a=J(o.changes),0==nt(t.from,t.to)&&0==nt(t.from,a.to)?a.to=Mr(t):o.changes.push(Fr(e,t));else{var l=J(r.done);for(l&&l.ranges||Hr(e.sel,r.done),o={changes:[Fr(e,t)],generation:r.generation},r.done.push(o);r.done.length>r.undoDepth;)r.done.shift(),r.done[0].ranges||r.done.shift()}r.done.push(n),r.generation=++r.maxGeneration,r.lastModTime=r.lastSelTime=s,r.lastOp=r.lastSelOp=i,r.lastOrigin=r.lastSelOrigin=t.origin,a||he(e,"historyAdded")}function zr(e,t,n,i){var r=e.history,o=i&&i.origin;n==r.lastSelOp||o&&r.lastSelOrigin==o&&(r.lastModTime==r.lastSelTime&&r.lastOrigin==o||function(e,t,n,i){var r=t.charAt(0);return"*"==r||"+"==r&&n.ranges.length==i.ranges.length&&n.somethingSelected()==i.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}(e,o,J(r.done),t))?r.done[r.done.length-1]=t:Hr(t,r.done),r.lastSelTime=+new Date,r.lastSelOrigin=o,r.lastSelOp=n,i&&!1!==i.clearRedo&&qr(r.undone)}function Hr(e,t){var n=J(t);n&&n.ranges&&n.equals(e)||t.push(e)}function Vr(e,t,n,i){var r=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,i),(function(n){n.markedSpans&&((r||(r=t["spans_"+e.id]={}))[o]=n.markedSpans),++o}))}function Gr(e){if(!e)return null;for(var t,n=0;n-1&&(J(s)[f]=u[f],delete u[f])}}}return i}function Qr(e,t,n,i){if(i){var r=e.anchor;if(n){var o=nt(t,r)<0;o!=nt(n,r)<0?(r=t,t=n):o!=nt(t,n)<0&&(t=n)}return new Dr(r,t)}return new Dr(n||t,t)}function Jr(e,t,n,i,r){null==r&&(r=e.cm&&(e.cm.display.shift||e.extend)),eo(e,new Er([Qr(e.sel.primary(),t,n,r)],0),i)}function Xr(e,t,n){for(var i=[],r=e.cm&&(e.cm.display.shift||e.extend),o=0;o=t.ch:s.to>t.ch))){if(r&&(he(l,"beforeCursorEnter"),l.explicitlyCleared)){if(o.markedSpans){--a;continue}break}if(!l.atomic)continue;if(n){var f=l.find(i<0?1:-1),d=void 0;if((i<0?c:u)&&(f=so(e,f,-i,f&&f.line==t.line?o:null)),f&&f.line==t.line&&(d=nt(f,n))&&(i<0?d<0:d>0))return oo(e,f,t,i,r)}var m=l.find(i<0?-1:1);return(i<0?u:c)&&(m=so(e,m,i,m.line==t.line?o:null)),m?oo(e,m,t,i,r):null}}return t}function ao(e,t,n,i,r){var o=i||1;return oo(e,t,n,o,r)||!r&&oo(e,t,n,o,!0)||oo(e,t,n,-o,r)||!r&&oo(e,t,n,-o,!0)||(e.cantEdit=!0,tt(e.first,0))}function so(e,t,n,i){return n<0&&0==t.ch?t.line>e.first?lt(e,tt(t.line-1)):null:n>0&&t.ch==(i||Ke(e,t.line)).text.length?t.line0)){var c=[l,1],f=nt(u.from,s.from),d=nt(u.to,s.to);(f<0||!a.inclusiveLeft&&!f)&&c.push({from:u.from,to:s.from}),(d>0||!a.inclusiveRight&&!d)&&c.push({from:s.to,to:u.to}),r.splice.apply(r,c),l+=c.length-3}}return r}(e,t.from,t.to);if(i)for(var r=i.length-1;r>=0;--r)fo(e,{from:i[r].from,to:i[r].to,text:r?[""]:t.text,origin:t.origin});else fo(e,t)}}function fo(e,t){if(1!=t.text.length||""!=t.text[0]||0!=nt(t.from,t.to)){var n=Tr(e,t);jr(e,t,n,e.cm?e.cm.curOp.id:NaN),ho(e,t,n,Mt(e,t));var i=[];Lr(e,(function(e,n){n||-1!=q(i,e.history)||(Co(e.history,t),i.push(e.history)),ho(e,t,null,Mt(e,t))}))}}function mo(e,t,n){var i=e.cm&&e.cm.state.suppressEdits;if(!i||n){for(var r,o=e.history,a=e.sel,s="undo"==t?o.done:o.undone,l="undo"==t?o.undone:o.done,u=0;u=0;--m){var p=d(m);if(p)return p.v}}}}function po(e,t){if(0!=t&&(e.first+=t,e.sel=new Er(X(e.sel.ranges,(function(e){return new Dr(tt(e.anchor.line+t,e.anchor.ch),tt(e.head.line+t,e.head.ch))})),e.sel.primIndex),e.cm)){di(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,i=n.viewFrom;ie.lastLine())){if(t.from.lineo&&(t={from:t.from,to:tt(o,Ke(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=Qe(e,t.from,t.to),n||(n=Tr(e,t)),e.cm?function(e,t,n){var i=e.doc,r=e.display,o=t.from,a=t.to,s=!1,l=o.line;e.options.lineWrapping||(l=Ye(Ft(Ke(i,o.line))),i.iter(l,a.line+1,(function(e){if(e==r.maxLine)return s=!0,!0}))),i.sel.contains(t.from,t.to)>-1&&ye(e),_r(i,t,n,li(e)),e.options.lineWrapping||(i.iter(l,o.line+t.text.length,(function(e){var t=Gt(e);t>r.maxLineLength&&(r.maxLine=e,r.maxLineLength=t,r.maxLineChanged=!0,s=!1)})),s&&(e.curOp.updateMaxLine=!0)),function(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontiern;i--){var r=Ke(e,i).stateAfter;if(r&&(!(r instanceof ct)||i+r.lookAhead1||!(this.children[0]instanceof bo))){var s=[];this.collapse(s),this.children=[new bo(s)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t50){for(var a=r.lines.length%25+25,s=a;s10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var i=0;i0||0==a&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=w("span",[o.replacedWith],"CodeMirror-widget"),i.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),i.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Bt(e,t.line,t,n,o)||t.line!=n.line&&Bt(e,n.line,t,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");Et=!0}o.addToHistory&&jr(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var s,l=t.line,u=e.cm;if(e.iter(l,n.line+1,(function(i){u&&o.collapsed&&!u.options.lineWrapping&&Ft(i)==u.display.maxLine&&(s=!0),o.collapsed&&l!=t.line&&Xe(i,0),function(e,t,n){var i=n&&window.WeakSet&&(n.markedSpans||(n.markedSpans=new WeakSet));i&&i.has(e.markedSpans)?e.markedSpans.push(t):(e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],i&&i.add(e.markedSpans)),t.marker.attachLine(e)}(i,new Dt(o,l==t.line?t.ch:null,l==n.line?n.ch:null),e.cm&&e.cm.curOp),++l})),o.collapsed&&e.iter(t.line,n.line+1,(function(t){zt(e,t)&&Xe(t,0)})),o.clearOnEnter&&de(o,"beforeCursorEnter",(function(){return o.clear()})),o.readOnly&&(St=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++Ao,o.atomic=!0),u){if(s&&(u.curOp.updateMaxLine=!0),o.collapsed)di(u,t.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var c=t.line;c<=n.line;c++)mi(u,c,"text");o.atomic&&io(u.doc),un(u,"markerAdded",u,o)}return o}Ro.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&Ki(e),ve(this,"clear")){var n=this.find();n&&un(this,"clear",n.from,n.to)}for(var i=null,r=null,o=0;oe.display.maxLineLength&&(e.display.maxLine=u,e.display.maxLineLength=c,e.display.maxLineChanged=!0)}null!=i&&e&&this.collapsed&&di(e,i,r+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&io(e.doc)),e&&un(e,"markerCleared",e,this,i,r),t&&Qi(e),this.parent&&this.parent.clear()}},Ro.prototype.find=function(e,t){var n,i;null==e&&"bookmark"==this.type&&(e=1);for(var r=0;r=0;l--)co(this,i[l]);s?Zr(this,s):this.cm&&Pi(this.cm)})),undo:ir((function(){mo(this,"undo")})),redo:ir((function(){mo(this,"redo")})),undoSelection:ir((function(){mo(this,"undo",!0)})),redoSelection:ir((function(){mo(this,"redo",!0)})),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,i=0;i=e.ch)&&t.push(r.marker.parent||r.marker)}return t},findMarks:function(e,t,n){e=lt(this,e),t=lt(this,t);var i=[],r=e.line;return this.iter(e.line,t.line+1,(function(o){var a=o.markedSpans;if(a)for(var s=0;s=l.to||null==l.from&&r!=e.line||null!=l.from&&r==t.line&&l.from>=t.ch||n&&!n(l.marker)||i.push(l.marker.parent||l.marker)}++r})),i},getAllMarks:function(){var e=[];return this.iter((function(t){var n=t.markedSpans;if(n)for(var i=0;ie)return t=e,!0;e-=o,++n})),lt(this,tt(n,t))},indexFromPos:function(e){var t=(e=lt(this,e)).ch;if(e.linet&&(t=e.from),null!=e.to&&e.to-1)return t.state.draggingText(e),void setTimeout((function(){return t.display.input.focus()}),20);try{var f=e.dataTransfer.getData("Text");if(f){var d;if(t.state.draggingText&&!t.state.draggingText.copy&&(d=t.listSelections()),to(t.doc,Rr(n,n)),d)for(var m=0;m=0;t--)go(e.doc,"",i[t].from,i[t].to,"+delete");Pi(e)}))}function Zo(e,t,n){var i=oe(e.text,t+n,n);return i<0||i>e.text.length?null:i}function ea(e,t,n){var i=Zo(e,t.ch,n);return null==i?null:new tt(t.line,i,n<0?"after":"before")}function ta(e,t,n,i,r){if(e){"rtl"==t.doc.direction&&(r=-r);var o=ce(n,t.doc.direction);if(o){var a,s=r<0?J(o):o[0],l=r<0==(1==s.level)?"after":"before";if(s.level>0||"rtl"==t.doc.direction){var u=On(t,n);a=r<0?n.text.length-1:0;var c=_n(t,u,a).top;a=ae((function(e){return _n(t,u,e).top==c}),r<0==(1==s.level)?s.from:s.to-1,a),"before"==l&&(a=Zo(n,a,1))}else a=r<0?s.to:s.from;return new tt(i,a,l)}}return new tt(i,r<0?n.text.length:0,r<0?"before":"after")}Vo.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Vo.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Vo.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Vo.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Vo.default=v?Vo.macDefault:Vo.pcDefault;var na={selectAll:lo,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),H)},killLine:function(e){return $o(e,(function(t){if(t.empty()){var n=Ke(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line0)r=new tt(r.line,r.ch+1),e.replaceRange(o.charAt(r.ch-1)+o.charAt(r.ch-2),tt(r.line,r.ch-2),r,"+transpose");else if(r.line>e.doc.first){var a=Ke(e.doc,r.line-1).text;a&&(r=new tt(r.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+a.charAt(a.length-1),tt(r.line-1,a.length-1),r,"+transpose"))}n.push(new Dr(r,r))}e.setSelections(n)}))},newlineAndIndent:function(e){return er(e,(function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,"+input");t=e.listSelections();for(var i=0;i-1&&(nt((r=u.ranges[r]).from(),t)<0||t.xRel>0)&&(nt(r.to(),t)>0||t.xRel<0)?function(e,t,n,i){var r=e.display,o=!1,u=tr(e,(function(t){l&&(r.scroller.draggable=!1),e.state.draggingText=!1,e.state.delayingBlurEvent&&(e.hasFocus()?e.state.delayingBlurEvent=!1:Di(e)),pe(r.wrapper.ownerDocument,"mouseup",u),pe(r.wrapper.ownerDocument,"mousemove",c),pe(r.scroller,"dragstart",f),pe(r.scroller,"drop",u),o||(xe(t),i.addNew||Jr(e.doc,n,null,null,i.extend),l&&!d||a&&9==s?setTimeout((function(){r.wrapper.ownerDocument.body.focus({preventScroll:!0}),r.input.focus()}),20):r.input.focus())})),c=function(e){o=o||Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)>=10},f=function(){return o=!0};l&&(r.scroller.draggable=!0),e.state.draggingText=u,u.copy=!i.moveOnDrag,de(r.wrapper.ownerDocument,"mouseup",u),de(r.wrapper.ownerDocument,"mousemove",c),de(r.scroller,"dragstart",f),de(r.scroller,"drop",u),e.state.delayingBlurEvent=!0,setTimeout((function(){return r.input.focus()}),20),r.scroller.dragDrop&&r.scroller.dragDrop()}(e,i,t,o):function(e,t,n,i){a&&Di(e);var r=e.display,o=e.doc;xe(t);var s,l,u=o.sel,c=u.ranges;if(i.addNew&&!i.extend?(l=o.sel.contains(n),s=l>-1?c[l]:new Dr(n,n)):(s=o.sel.primary(),l=o.sel.primIndex),"rectangle"==i.unit)i.addNew||(s=new Dr(n,n)),n=ci(e,t,!0,!0),l=-1;else{var f=va(e,n,i.unit);s=i.extend?Qr(s,f.anchor,f.head,i.extend):f}i.addNew?-1==l?(l=c.length,eo(o,Ar(e,c.concat([s]),l),{scroll:!1,origin:"*mouse"})):c.length>1&&c[l].empty()&&"char"==i.unit&&!i.extend?(eo(o,Ar(e,c.slice(0,l).concat(c.slice(l+1)),0),{scroll:!1,origin:"*mouse"}),u=o.sel):Yr(o,l,s,V):(l=0,eo(o,new Er([s],0),V),u=o.sel);var d=n;function m(t){if(0!=nt(d,t))if(d=t,"rectangle"==i.unit){for(var r=[],a=e.options.tabSize,c=B(Ke(o,n.line).text,n.ch,a),f=B(Ke(o,t.line).text,t.ch,a),m=Math.min(c,f),p=Math.max(c,f),h=Math.min(n.line,t.line),g=Math.min(e.lastLine(),Math.max(n.line,t.line));h<=g;h++){var y=Ke(o,h).text,v=W(y,m,a);m==p?r.push(new Dr(tt(h,v),tt(h,v))):y.length>v&&r.push(new Dr(tt(h,v),tt(h,W(y,p,a))))}r.length||r.push(new Dr(n,n)),eo(o,Ar(e,u.ranges.slice(0,l).concat(r),l),{origin:"*mouse",scroll:!1}),e.scrollIntoView(t)}else{var C,x=s,b=va(e,t,i.unit),S=x.anchor;nt(b.anchor,S)>0?(C=b.head,S=at(x.from(),b.anchor)):(C=b.anchor,S=ot(x.to(),b.head));var E=u.ranges.slice(0);E[l]=function(e,t){var n=t.anchor,i=t.head,r=Ke(e.doc,n.line);if(0==nt(n,i)&&n.sticky==i.sticky)return t;var o=ce(r);if(!o)return t;var a=le(o,n.ch,n.sticky),s=o[a];if(s.from!=n.ch&&s.to!=n.ch)return t;var l,u=a+(s.from==n.ch==(1!=s.level)?0:1);if(0==u||u==o.length)return t;if(i.line!=n.line)l=(i.line-n.line)*("ltr"==e.doc.direction?1:-1)>0;else{var c=le(o,i.ch,i.sticky),f=c-a||(i.ch-n.ch)*(1==s.level?-1:1);l=c==u-1||c==u?f<0:f>0}var d=o[u+(l?-1:0)],m=l==(1==d.level),p=m?d.from:d.to,h=m?"after":"before";return n.ch==p&&n.sticky==h?t:new Dr(new tt(n.line,p,h),i)}(e,new Dr(lt(o,S),C)),eo(o,Ar(e,E,l),V)}}var p=r.wrapper.getBoundingClientRect(),h=0;function g(t){var n=++h,a=ci(e,t,!0,"rectangle"==i.unit);if(a)if(0!=nt(a,d)){e.curOp.focus=P(),m(a);var s=Ti(r,o);(a.line>=s.to||a.linep.bottom?20:0;l&&setTimeout(tr(e,(function(){h==n&&(r.scroller.scrollTop+=l,g(t))})),50)}}function y(t){e.state.selectingText=!1,h=1/0,t&&(xe(t),r.input.focus()),pe(r.wrapper.ownerDocument,"mousemove",v),pe(r.wrapper.ownerDocument,"mouseup",C),o.history.lastSelOrigin=null}var v=tr(e,(function(e){0!==e.buttons&&Ae(e)?g(e):y(e)})),C=tr(e,y);e.state.selectingText=C,de(r.wrapper.ownerDocument,"mousemove",v),de(r.wrapper.ownerDocument,"mouseup",C)}(e,i,t,o)}(t,i,o,e):De(e)==n.scroller&&xe(e):2==r?(i&&Jr(t.doc,i),setTimeout((function(){return n.input.focus()}),20)):3==r&&(E?t.display.input.onContextMenu(e):Di(t)))}}function va(e,t,n){if("char"==n)return new Dr(t,t);if("word"==n)return e.findWordAt(t);if("line"==n)return new Dr(tt(t.line,0),lt(e.doc,tt(t.line+1,0)));var i=n(e,t);return new Dr(i.from,i.to)}function Ca(e,t,n,i){var r,o;if(t.touches)r=t.touches[0].clientX,o=t.touches[0].clientY;else try{r=t.clientX,o=t.clientY}catch(e){return!1}if(r>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;i&&xe(t);var a=e.display,s=a.lineDiv.getBoundingClientRect();if(o>s.bottom||!ve(e,n))return Se(t);o-=s.top-a.viewOffset;for(var l=0;l=r)return he(e,n,e,$e(e.doc,o),e.display.gutterSpecs[l].className,t),Se(t)}}function xa(e,t){return Ca(e,t,"gutterClick",!0)}function ba(e,t){En(e.display,t)||function(e,t){return!!ve(e,"gutterContextMenu")&&Ca(e,t,"gutterContextMenu",!1)}(e,t)||ge(e,t,"contextmenu")||E||e.display.input.onContextMenu(t)}function Sa(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),jn(e)}ga.prototype.compare=function(e,t,n){return this.time+400>e&&0==nt(t,this.pos)&&n==this.button};var Ea={toString:function(){return"CodeMirror.Init"}},Da={},Aa={};function Ra(e,t,n){if(!t!=!(n&&n!=Ea)){var i=e.display.dragFunctions,r=t?de:pe;r(e.display.scroller,"dragstart",i.start),r(e.display.scroller,"dragenter",i.enter),r(e.display.scroller,"dragover",i.over),r(e.display.scroller,"dragleave",i.leave),r(e.display.scroller,"drop",i.drop)}}function Ma(e){e.options.lineWrapping?(O(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(R(e.display.wrapper,"CodeMirror-wrap"),Wt(e)),ui(e),di(e),jn(e),setTimeout((function(){return zi(e)}),100)}function ka(e,t){var n=this;if(!(this instanceof ka))return new ka(e,t);this.options=t=t?U(t):{},U(Da,t,!1);var i=t.value;"string"==typeof i?i=new Po(i,t.mode,null,t.lineSeparator,t.direction):t.mode&&(i.modeOption=t.mode),this.doc=i;var r=new ka.inputStyles[t.inputStyle](this),o=this.display=new yr(e,i,r,t);for(var u in o.wrapper.CodeMirror=this,Sa(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),Gi(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new F,keySeq:null,specialChars:null},t.autofocus&&!y&&o.input.focus(),a&&s<11&&setTimeout((function(){return n.display.input.reset(!0)}),20),function(e){var t=e.display;de(t.scroller,"mousedown",tr(e,ya)),de(t.scroller,"dblclick",a&&s<11?tr(e,(function(t){if(!ge(e,t)){var n=ci(e,t);if(n&&!xa(e,t)&&!En(e.display,t)){xe(t);var i=e.findWordAt(n);Jr(e.doc,i.anchor,i.head)}}})):function(t){return ge(e,t)||xe(t)}),de(t.scroller,"contextmenu",(function(t){return ba(e,t)})),de(t.input.getField(),"contextmenu",(function(n){t.scroller.contains(n.target)||ba(e,n)}));var n,i={end:0};function r(){t.activeTouch&&(n=setTimeout((function(){return t.activeTouch=null}),1e3),(i=t.activeTouch).end=+new Date)}function o(e){if(1!=e.touches.length)return!1;var t=e.touches[0];return t.radiusX<=1&&t.radiusY<=1}function l(e,t){if(null==t.left)return!0;var n=t.left-e.left,i=t.top-e.top;return n*n+i*i>400}de(t.scroller,"touchstart",(function(r){if(!ge(e,r)&&!o(r)&&!xa(e,r)){t.input.ensurePolled(),clearTimeout(n);var a=+new Date;t.activeTouch={start:a,moved:!1,prev:a-i.end<=300?i:null},1==r.touches.length&&(t.activeTouch.left=r.touches[0].pageX,t.activeTouch.top=r.touches[0].pageY)}})),de(t.scroller,"touchmove",(function(){t.activeTouch&&(t.activeTouch.moved=!0)})),de(t.scroller,"touchend",(function(n){var i=t.activeTouch;if(i&&!En(t,n)&&null!=i.left&&!i.moved&&new Date-i.start<300){var o,a=e.coordsChar(t.activeTouch,"page");o=!i.prev||l(i,i.prev)?new Dr(a,a):!i.prev.prev||l(i,i.prev.prev)?e.findWordAt(a):new Dr(tt(a.line,0),lt(e.doc,tt(a.line+1,0))),e.setSelection(o.anchor,o.head),e.focus(),xe(n)}r()})),de(t.scroller,"touchcancel",r),de(t.scroller,"scroll",(function(){t.scroller.clientHeight&&(Ni(e,t.scroller.scrollTop),Bi(e,t.scroller.scrollLeft,!0),he(e,"scroll",e))})),de(t.scroller,"mousewheel",(function(t){return Sr(e,t)})),de(t.scroller,"DOMMouseScroll",(function(t){return Sr(e,t)})),de(t.wrapper,"scroll",(function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0})),t.dragFunctions={enter:function(t){ge(e,t)||Ee(t)},over:function(t){ge(e,t)||(function(e,t){var n=ci(e,t);if(n){var i=document.createDocumentFragment();Ci(e,n,i),e.display.dragCursor||(e.display.dragCursor=T("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),k(e.display.dragCursor,i)}}(e,t),Ee(t))},start:function(t){return function(e,t){if(a&&(!e.state.draggingText||+new Date-Oo<100))Ee(t);else if(!ge(e,t)&&!En(e.display,t)&&(t.dataTransfer.setData("Text",e.getSelection()),t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setDragImage&&!d)){var n=T("img",null,null,"position: fixed; left: 0; top: 0;");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",f&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),f&&n.parentNode.removeChild(n)}}(e,t)},drop:tr(e,_o),leave:function(t){ge(e,t)||Lo(e)}};var u=t.input.getField();de(u,"keyup",(function(t){return da.call(e,t)})),de(u,"keydown",tr(e,fa)),de(u,"keypress",tr(e,ma)),de(u,"focus",(function(t){return Ai(e,t)})),de(u,"blur",(function(t){return Ri(e,t)}))}(this),Bo(),Ki(this),this.curOp.forceUpdate=!0,Nr(this,i),t.autofocus&&!y||this.hasFocus()?setTimeout((function(){n.hasFocus()&&!n.state.focused&&Ai(n)}),20):Ri(this),Aa)Aa.hasOwnProperty(u)&&Aa[u](this,t[u],Ea);mr(this),t.finishInit&&t.finishInit(this);for(var c=0;c150)){if(!i)return;n="prev"}}else u=0,n="not";"prev"==n?u=t>o.first?B(Ke(o,t-1).text,null,a):0:"add"==n?u=l+e.options.indentUnit:"subtract"==n?u=l-e.options.indentUnit:"number"==typeof n&&(u=l+n),u=Math.max(0,u);var f="",d=0;if(e.options.indentWithTabs)for(var m=Math.floor(u/a);m;--m)d+=a,f+="\t";if(da,l=Pe(t),u=null;if(s&&i.ranges.length>1)if(Ia&&Ia.text.join("\n")==t){if(i.ranges.length%Ia.text.length==0){u=[];for(var c=0;c=0;d--){var m=i.ranges[d],p=m.from(),h=m.to();m.empty()&&(n&&n>0?p=tt(p.line,p.ch-n):e.state.overwrite&&!s?h=tt(h.line,Math.min(Ke(o,h.line).text.length,h.ch+J(l).length)):s&&Ia&&Ia.lineWise&&Ia.text.join("\n")==l.join("\n")&&(p=h=tt(p.line,0)));var g={from:p,to:h,text:u?u[d%u.length]:l,origin:r||(s?"paste":e.state.cutIncoming>a?"cut":"+input")};co(e.doc,g),un(e,"inputRead",e,g)}t&&!s&&La(e,t),Pi(e),e.curOp.updateInput<2&&(e.curOp.updateInput=f),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function _a(e,t){var n=e.clipboardData&&e.clipboardData.getData("Text");if(n)return e.preventDefault(),t.isReadOnly()||t.options.disableInput||er(t,(function(){return Oa(t,n,0,null,"paste")})),!0}function La(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,i=n.ranges.length-1;i>=0;i--){var r=n.ranges[i];if(!(r.head.ch>100||i&&n.ranges[i-1].head.line==r.head.line)){var o=e.getModeAt(r.head),a=!1;if(o.electricChars){for(var s=0;s-1){a=wa(e,r.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(Ke(e.doc,r.head.line).text.slice(0,r.head.ch))&&(a=wa(e,r.head.line,"smart"));a&&un(e,"electricInput",e,r.head.line)}}}function Na(e){for(var t=[],n=[],i=0;i0?0:-1));if(isNaN(c))a=null;else{var f=n>0?c>=55296&&c<56320:c>=56320&&c<57343;a=new tt(t.line,Math.max(0,Math.min(s.text.length,t.ch+n*(f?2:1))),-n)}}else a=r?function(e,t,n,i){var r=ce(t,e.doc.direction);if(!r)return ea(t,n,i);n.ch>=t.text.length?(n.ch=t.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=le(r,n.ch,n.sticky),a=r[o];if("ltr"==e.doc.direction&&a.level%2==0&&(i>0?a.to>n.ch:a.from=a.from&&d>=c.begin)){var m=f?"before":"after";return new tt(n.line,d,m)}}var p=function(e,t,i){for(var o=function(e,t){return t?new tt(n.line,l(e,1),"before"):new tt(n.line,e,"after")};e>=0&&e0==(1!=a.level),u=s?i.begin:l(i.end,-1);if(a.from<=u&&u0?c.end:l(c.begin,-1);return null==g||i>0&&g==t.text.length||!(h=p(i>0?0:r.length-1,i,u(g)))?null:h}(e.cm,s,t,n):ea(s,t,n);if(null==a){if(o||((u=t.line+l)=e.first+e.size||(t=new tt(u,t.ch,t.sticky),!(s=Ke(e,u)))))return!1;t=ta(r,e.cm,s,t.line,l)}else t=a;return!0}if("char"==i||"codepoint"==i)u();else if("column"==i)u(!0);else if("word"==i||"group"==i)for(var c=null,f="group"==i,d=e.cm&&e.cm.getHelper(t,"wordChars"),m=!0;!(n<0)||u(!m);m=!1){var p=s.text.charAt(t.ch)||"\n",h=te(p,d)?"w":f&&"\n"==p?"n":!f||/\s/.test(p)?null:"p";if(!f||m||h||(h="s"),c&&c!=h){n<0&&(n=1,u(),t.sticky="after");break}if(h&&(c=h),n>0&&!u(!m))break}var g=ao(e,t,o,a,!0);return it(o,g)&&(g.hitSide=!0),g}function qa(e,t,n,i){var r,o,a=e.doc,s=t.left;if("page"==i){var l=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),u=Math.max(l-.5*ri(e.display),3);r=(n>0?t.bottom:t.top)+n*u}else"line"==i&&(r=n>0?t.bottom+3:t.top-3);for(;(o=Yn(e,s,r)).outside;){if(n<0?r<=0:r>=a.height){o.hitSide=!0;break}r+=5*n}return o}var ja=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new F,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function za(e,t){var n=Pn(e,t.line);if(!n||n.hidden)return null;var i=Ke(e.doc,t.line),r=wn(n,i,t.line),o=ce(i,e.doc.direction),a="left";o&&(a=le(o,t.ch)%2?"right":"left");var s=Un(r.map,t.ch,a);return s.offset="right"==s.collapse?s.end:s.start,s}function Ha(e,t){return t&&(e.bad=!0),e}function Va(e,t,n){var i;if(t==e.display.lineDiv){if(!(i=e.display.lineDiv.childNodes[n]))return Ha(e.clipPos(tt(e.display.viewTo-1)),!0);t=null,n=0}else for(i=t;;i=i.parentNode){if(!i||i==e.display.lineDiv)return null;if(i.parentNode&&i.parentNode==e.display.lineDiv)break}for(var r=0;r=t.display.viewTo||o.line=t.display.viewFrom&&za(t,r)||{node:l[0].measure.map[2],offset:0},c=o.linei.firstLine()&&(a=tt(a.line-1,Ke(i.doc,a.line-1).length)),s.ch==Ke(i.doc,s.line).text.length&&s.liner.viewTo-1)return!1;a.line==r.viewFrom||0==(e=fi(i,a.line))?(t=Ye(r.view[0].line),n=r.view[0].node):(t=Ye(r.view[e].line),n=r.view[e-1].node.nextSibling);var l,u,c=fi(i,s.line);if(c==r.view.length-1?(l=r.viewTo-1,u=r.lineDiv.lastChild):(l=Ye(r.view[c+1].line)-1,u=r.view[c+1].node.previousSibling),!n)return!1;for(var f=i.doc.splitLines(function(e,t,n,i,r){var o="",a=!1,s=e.doc.lineSeparator(),l=!1;function u(){a&&(o+=s,l&&(o+=s),a=l=!1)}function c(e){e&&(u(),o+=e)}function f(t){if(1==t.nodeType){var n=t.getAttribute("cm-text");if(n)return void c(n);var o,d=t.getAttribute("cm-marker");if(d){var m=e.findMarks(tt(i,0),tt(r+1,0),(g=+d,function(e){return e.id==g}));return void(m.length&&(o=m[0].find(0))&&c(Qe(e.doc,o.from,o.to).join(s)))}if("false"==t.getAttribute("contenteditable"))return;var p=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;p&&u();for(var h=0;h1&&d.length>1;)if(J(f)==J(d))f.pop(),d.pop(),l--;else{if(f[0]!=d[0])break;f.shift(),d.shift(),t++}for(var m=0,p=0,h=f[0],g=d[0],y=Math.min(h.length,g.length);ma.ch&&v.charCodeAt(v.length-p-1)==C.charCodeAt(C.length-p-1);)m--,p++;f[f.length-1]=v.slice(0,v.length-p).replace(/^\u200b+/,""),f[0]=f[0].slice(m).replace(/\u200b+$/,"");var b=tt(t,m),S=tt(l,d.length?J(d).length-p:0);return f.length>1||f[0]||nt(b,S)?(go(i.doc,f,b,S,"+input"),!0):void 0},ja.prototype.ensurePolled=function(){this.forceCompositionEnd()},ja.prototype.reset=function(){this.forceCompositionEnd()},ja.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},ja.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()}),80))},ja.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||er(this.cm,(function(){return di(e.cm)}))},ja.prototype.setUneditable=function(e){e.contentEditable="false"},ja.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||tr(this.cm,Oa)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},ja.prototype.readOnlyChanged=function(e){this.div.contentEditable=String("nocursor"!=e)},ja.prototype.onContextMenu=function(){},ja.prototype.resetPosition=function(){},ja.prototype.needsContentAttribute=!0;var Wa=function(e){this.cm=e,this.prevInput="",this.pollingFast=!1,this.polling=new F,this.hasSelection=!1,this.composing=null};Wa.prototype.init=function(e){var t=this,n=this,i=this.cm;this.createField(e);var r=this.textarea;function o(e){if(!ge(i,e)){if(i.somethingSelected())Pa({lineWise:!1,text:i.getSelections()});else{if(!i.options.lineWiseCopyCut)return;var t=Na(i);Pa({lineWise:!0,text:t.text}),"cut"==e.type?i.setSelections(t.ranges,null,H):(n.prevInput="",r.value=t.text.join("\n"),L(r))}"cut"==e.type&&(i.state.cutIncoming=+new Date)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),h&&(r.style.width="0px"),de(r,"input",(function(){a&&s>=9&&t.hasSelection&&(t.hasSelection=null),n.poll()})),de(r,"paste",(function(e){ge(i,e)||_a(e,i)||(i.state.pasteIncoming=+new Date,n.fastPoll())})),de(r,"cut",o),de(r,"copy",o),de(e.scroller,"paste",(function(t){if(!En(e,t)&&!ge(i,t)){if(!r.dispatchEvent)return i.state.pasteIncoming=+new Date,void n.focus();var o=new Event("paste");o.clipboardData=t.clipboardData,r.dispatchEvent(o)}})),de(e.lineSpace,"selectstart",(function(t){En(e,t)||xe(t)})),de(r,"compositionstart",(function(){var e=i.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:e,range:i.markText(e,i.getCursor("to"),{className:"CodeMirror-composing"})}})),de(r,"compositionend",(function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)}))},Wa.prototype.createField=function(e){this.wrapper=Ba(),this.textarea=this.wrapper.firstChild},Wa.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute("aria-label",e):this.textarea.removeAttribute("aria-label")},Wa.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,i=vi(e);if(e.options.moveInputWithCursor){var r=Qn(e,n.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),a=t.lineDiv.getBoundingClientRect();i.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,r.top+a.top-o.top)),i.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,r.left+a.left-o.left))}return i},Wa.prototype.showSelection=function(e){var t=this.cm.display;k(t.cursorDiv,e.cursors),k(t.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},Wa.prototype.reset=function(e){if(!this.contextMenuPending&&!this.composing){var t=this.cm;if(t.somethingSelected()){this.prevInput="";var n=t.getSelection();this.textarea.value=n,t.state.focused&&L(this.textarea),a&&s>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value="",a&&s>=9&&(this.hasSelection=null))}},Wa.prototype.getField=function(){return this.textarea},Wa.prototype.supportsTouch=function(){return!1},Wa.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!y||P()!=this.textarea))try{this.textarea.focus()}catch(e){}},Wa.prototype.blur=function(){this.textarea.blur()},Wa.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Wa.prototype.receivedFocus=function(){this.slowPoll()},Wa.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){e.poll(),e.cm.state.focused&&e.slowPoll()}))},Wa.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0,t.polling.set(20,(function n(){t.poll()||e?(t.pollingFast=!1,t.slowPoll()):(e=!0,t.polling.set(60,n))}))},Wa.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,i=this.prevInput;if(this.contextMenuPending||!t.state.focused||Oe(n)&&!i&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var r=n.value;if(r==i&&!t.somethingSelected())return!1;if(a&&s>=9&&this.hasSelection===r||v&&/[\uf700-\uf7ff]/.test(r))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=r.charCodeAt(0);if(8203!=o||i||(i="​"),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var l=0,u=Math.min(i.length,r.length);l1e3||r.indexOf("\n")>-1?n.value=e.prevInput="":e.prevInput=r,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},Wa.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Wa.prototype.onKeyPress=function(){a&&s>=9&&(this.hasSelection=null),this.fastPoll()},Wa.prototype.onContextMenu=function(e){var t=this,n=t.cm,i=n.display,r=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=ci(n,e),u=i.scroller.scrollTop;if(o&&!f){n.options.resetSelectionOnContextMenu&&-1==n.doc.sel.contains(o)&&tr(n,eo)(n.doc,Rr(o),H);var c,d=r.style.cssText,m=t.wrapper.style.cssText,p=t.wrapper.offsetParent.getBoundingClientRect();if(t.wrapper.style.cssText="position: static",r.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(e.clientY-p.top-5)+"px; left: "+(e.clientX-p.left-5)+"px;\n z-index: 1000; background: "+(a?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",l&&(c=window.scrollY),i.input.focus(),l&&window.scrollTo(null,c),i.input.reset(),n.somethingSelected()||(r.value=t.prevInput=" "),t.contextMenuPending=y,i.selForContextMenu=n.doc.sel,clearTimeout(i.detectingSelectAll),a&&s>=9&&g(),E){Ee(e);var h=function(){pe(window,"mouseup",h),setTimeout(y,20)};de(window,"mouseup",h)}else setTimeout(y,50)}function g(){if(null!=r.selectionStart){var e=n.somethingSelected(),o="​"+(e?r.value:"");r.value="⇚",r.value=o,t.prevInput=e?"":"​",r.selectionStart=1,r.selectionEnd=o.length,i.selForContextMenu=n.doc.sel}}function y(){if(t.contextMenuPending==y&&(t.contextMenuPending=!1,t.wrapper.style.cssText=m,r.style.cssText=d,a&&s<9&&i.scrollbars.setScrollTop(i.scroller.scrollTop=u),null!=r.selectionStart)){(!a||a&&s<9)&&g();var e=0,o=function(){i.selForContextMenu==n.doc.sel&&0==r.selectionStart&&r.selectionEnd>0&&"​"==t.prevInput?tr(n,lo)(n):e++<10?i.detectingSelectAll=setTimeout(o,500):(i.selForContextMenu=null,i.input.reset())};i.detectingSelectAll=setTimeout(o,200)}}},Wa.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled="nocursor"==e,this.textarea.readOnly=!!e},Wa.prototype.setUneditable=function(){},Wa.prototype.needsContentAttribute=!1,function(e){var t=e.optionHandlers;function n(n,i,r,o){e.defaults[n]=i,r&&(t[n]=o?function(e,t,n){n!=Ea&&r(e,t,n)}:r)}e.defineOption=n,e.Init=Ea,n("value","",(function(e,t){return e.setValue(t)}),!0),n("mode",null,(function(e,t){e.doc.modeOption=t,Ir(e)}),!0),n("indentUnit",2,Ir,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,(function(e){Pr(e),jn(e),di(e)}),!0),n("lineSeparator",null,(function(e,t){if(e.doc.lineSep=t,t){var n=[],i=e.doc.first;e.doc.iter((function(e){for(var r=0;;){var o=e.text.indexOf(t,r);if(-1==o)break;r=o+t.length,n.push(tt(i,o))}i++}));for(var r=n.length-1;r>=0;r--)go(e.doc,t,n[r],tt(n[r].line,n[r].ch+t.length))}})),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,(function(e,t,n){e.state.specialChars=new RegExp(t.source+(t.test("\t")?"":"|\t"),"g"),n!=Ea&&e.refresh()})),n("specialCharPlaceholder",Zt,(function(e){return e.refresh()}),!0),n("electricChars",!0),n("inputStyle",y?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),n("spellcheck",!1,(function(e,t){return e.getInputField().spellcheck=t}),!0),n("autocorrect",!1,(function(e,t){return e.getInputField().autocorrect=t}),!0),n("autocapitalize",!1,(function(e,t){return e.getInputField().autocapitalize=t}),!0),n("rtlMoveVisually",!x),n("wholeLineUpdateBefore",!0),n("theme","default",(function(e){Sa(e),gr(e)}),!0),n("keyMap","default",(function(e,t,n){var i=Yo(t),r=n!=Ea&&Yo(n);r&&r.detach&&r.detach(e,i),i.attach&&i.attach(e,r||null)})),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,Ma,!0),n("gutters",[],(function(e,t){e.display.gutterSpecs=pr(t,e.options.lineNumbers),gr(e)}),!0),n("fixedGutter",!0,(function(e,t){e.display.gutters.style.left=t?si(e.display)+"px":"0",e.refresh()}),!0),n("coverGutterNextToScrollbar",!1,(function(e){return zi(e)}),!0),n("scrollbarStyle","native",(function(e){Gi(e),zi(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)}),!0),n("lineNumbers",!1,(function(e,t){e.display.gutterSpecs=pr(e.options.gutters,t),gr(e)}),!0),n("firstLineNumber",1,gr,!0),n("lineNumberFormatter",(function(e){return e}),gr,!0),n("showCursorWhenSelecting",!1,yi,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,(function(e,t){"nocursor"==t&&(Ri(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)})),n("screenReaderLabel",null,(function(e,t){t=""===t?null:t,e.display.input.screenReaderLabelChanged(t)})),n("disableInput",!1,(function(e,t){t||e.display.input.reset()}),!0),n("dragDrop",!0,Ra),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,yi,!0),n("singleCursorHeightPerLine",!0,yi,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,Pr,!0),n("addModeClass",!1,Pr,!0),n("pollInterval",100),n("undoDepth",200,(function(e,t){return e.doc.history.undoDepth=t})),n("historyEventDelay",1250),n("viewportMargin",10,(function(e){return e.refresh()}),!0),n("maxHighlightLength",1e4,Pr,!0),n("moveInputWithCursor",!0,(function(e,t){t||e.display.input.resetPosition()})),n("tabindex",null,(function(e,t){return e.display.input.getField().tabIndex=t||""})),n("autofocus",null),n("direction","ltr",(function(e,t){return e.doc.setDirection(t)}),!0),n("phrases",null)}(ka),function(e){var t=e.optionHandlers,n=e.helpers={};e.prototype={constructor:e,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,n){var i=this.options,r=i[e];i[e]==n&&"mode"!=e||(i[e]=n,t.hasOwnProperty(e)&&tr(this,t[e])(this,n,r),he(this,"optionChange",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"](Yo(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;nn&&(wa(this,r.head.line,e,!0),n=r.head.line,i==this.doc.sel.primIndex&&Pi(this));else{var o=r.from(),a=r.to(),s=Math.max(n,o.line);n=Math.min(this.lastLine(),a.line-(a.ch?0:1))+1;for(var l=s;l0&&Yr(this.doc,i,new Dr(o,u[i].to()),H)}}})),getTokenAt:function(e,t){return Ct(this,e,t)},getLineTokens:function(e,t){return Ct(this,tt(e),t,!0)},getTokenTypeAt:function(e){e=lt(this.doc,e);var t,n=mt(this,Ke(this.doc,e.line)),i=0,r=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var a=i+r>>1;if((a?n[2*a-1]:0)>=o)r=a;else{if(!(n[2*a+1]o&&(e=o,r=!0),i=Ke(this.doc,e)}else i=e;return Gn(this,i,{top:0,left:0},t||"page",n||r).top+(r?this.doc.height-Vt(i):0)},defaultTextHeight:function(){return ri(this.display)},defaultCharWidth:function(){return oi(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,i,r){var o,a,s,l=this.display,u=(e=Qn(this,lt(this.doc,e))).bottom,c=e.left;if(t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(t),l.sizer.appendChild(t),"over"==i)u=e.top;else if("above"==i||"near"==i){var f=Math.max(l.wrapper.clientHeight,this.doc.height),d=Math.max(l.sizer.clientWidth,l.lineSpace.clientWidth);("above"==i||e.bottom+t.offsetHeight>f)&&e.top>t.offsetHeight?u=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=f&&(u=e.bottom),c+t.offsetWidth>d&&(c=d-t.offsetWidth)}t.style.top=u+"px",t.style.left=t.style.right="","right"==r?(c=l.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==r?c=0:"middle"==r&&(c=(l.sizer.clientWidth-t.offsetWidth)/2),t.style.left=c+"px"),n&&(o=this,a={left:c,top:u,right:c+t.offsetWidth,bottom:u+t.offsetHeight},null!=(s=wi(o,a)).scrollTop&&Ni(o,s.scrollTop),null!=s.scrollLeft&&Bi(o,s.scrollLeft))},triggerOnKeyDown:nr(fa),triggerOnKeyPress:nr(ma),triggerOnKeyUp:da,triggerOnMouseDown:nr(ya),execCommand:function(e){if(na.hasOwnProperty(e))return na[e].call(null,this)},triggerElectric:nr((function(e){La(this,e)})),findPosH:function(e,t,n,i){var r=1;t<0&&(r=-1,t=-t);for(var o=lt(this.doc,e),a=0;a0&&a(t.charAt(n-1));)--n;for(;i.5||this.options.lineWrapping)&&ui(this),he(this,"refresh",this)})),swapDoc:nr((function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),Nr(this,e),jn(this),this.display.input.reset(),Oi(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,un(this,"swapDoc",this,t),t})),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Ce(e),e.registerHelper=function(t,i,r){n.hasOwnProperty(t)||(n[t]=e[t]={_global:[]}),n[t][i]=r},e.registerGlobalHelper=function(t,i,r,o){e.registerHelper(t,i,o),n[t]._global.push({pred:r,val:o})}}(ka);var Ka="iter insert remove copy getEditor constructor".split(" ");for(var Qa in Po.prototype)Po.prototype.hasOwnProperty(Qa)&&q(Ka,Qa)<0&&(ka.prototype[Qa]=function(e){return function(){return e.apply(this.doc,arguments)}}(Po.prototype[Qa]));return Ce(Po),ka.inputStyles={textarea:Wa,contenteditable:ja},ka.defineMode=function(e){ka.defaults.mode||"null"==e||(ka.defaults.mode=e),Be.apply(this,arguments)},ka.defineMIME=function(e,t){Ue[e]=t},ka.defineMode("null",(function(){return{token:function(e){return e.skipToEnd()}}})),ka.defineMIME("text/plain","null"),ka.defineExtension=function(e,t){ka.prototype[e]=t},ka.defineDocExtension=function(e,t){Po.prototype[e]=t},ka.fromTextArea=function(e,t){if((t=t?U(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var n=P();t.autofocus=n==e||null!=e.getAttribute("autofocus")&&n==document.body}function i(){e.value=s.getValue()}var r;if(e.form&&(de(e.form,"submit",i),!t.leaveSubmitMethodAlone)){var o=e.form;r=o.submit;try{var a=o.submit=function(){i(),o.submit=r,o.submit(),o.submit=a}}catch(e){}}t.finishInit=function(n){n.save=i,n.getTextArea=function(){return e},n.toTextArea=function(){n.toTextArea=isNaN,i(),e.parentNode.removeChild(n.getWrapperElement()),e.style.display="",e.form&&(pe(e.form,"submit",i),t.leaveSubmitMethodAlone||"function"!=typeof e.form.submit||(e.form.submit=r))}},e.style.display="none";var s=ka((function(t){return e.parentNode.insertBefore(t,e.nextSibling)}),t);return s},function(e){e.off=pe,e.on=de,e.wheelEventPixels=br,e.Doc=Po,e.splitLines=Pe,e.countColumn=B,e.findColumn=W,e.isWordChar=ee,e.Pass=z,e.signal=he,e.Line=Kt,e.changeEnd=Mr,e.scrollbarModel=Vi,e.Pos=tt,e.cmpPos=nt,e.modes=Ne,e.mimeModes=Ue,e.resolveMode=Fe,e.getMode=qe,e.modeExtensions=je,e.extendMode=ze,e.copyState=He,e.startState=Ge,e.innerMode=Ve,e.commands=na,e.keyMap=Vo,e.keyName=Xo,e.isModifierKey=Qo,e.lookupKey=Ko,e.normalizeKeyMap=Wo,e.StringStream=We,e.SharedTextMarker=ko,e.TextMarker=Ro,e.LineWidget=Eo,e.e_preventDefault=xe,e.e_stopPropagation=be,e.e_stop=Ee,e.addClass=O,e.contains=I,e.rmClass=R,e.keyNames=qo}(ka),ka.version="5.61.1",ka}()},6876:function(e,t,n){!function(e){"use strict";e.defineMode("javascript",(function(t,n){var i,r,o=t.indentUnit,a=n.statementIndent,s=n.jsonld,l=n.json||s,u=!1!==n.trackScope,c=n.typescript,f=n.wordCharacters||/[\w$\xa1-\uffff]/,d=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),n=e("keyword b"),i=e("keyword c"),r=e("keyword d"),o=e("operator"),a={type:"atom",style:"atom"};return{if:e("if"),while:t,with:t,else:n,do:n,try:n,finally:n,return:r,break:r,continue:r,new:e("new"),delete:i,void:i,throw:i,debugger:e("debugger"),var:e("var"),const:e("var"),let:e("var"),function:e("function"),catch:e("catch"),for:e("for"),switch:e("switch"),case:e("case"),default:e("default"),in:o,typeof:o,instanceof:o,true:a,false:a,null:a,undefined:a,NaN:a,Infinity:a,this:e("this"),class:e("class"),super:e("atom"),yield:i,export:e("export"),import:e("import"),extends:i,await:i}}(),m=/[+\-*&%=<>!?|~^@]/,p=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function h(e,t,n){return i=e,r=n,t}function g(e,t){var n,i=e.next();if('"'==i||"'"==i)return t.tokenize=(n=i,function(e,t){var i,r=!1;if(s&&"@"==e.peek()&&e.match(p))return t.tokenize=g,h("jsonld-keyword","meta");for(;null!=(i=e.next())&&(i!=n||r);)r=!r&&"\\"==i;return r||(t.tokenize=g),h("string","string")}),t.tokenize(e,t);if("."==i&&e.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return h("number","number");if("."==i&&e.match(".."))return h("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(i))return h(i);if("="==i&&e.eat(">"))return h("=>","operator");if("0"==i&&e.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return h("number","number");if(/\d/.test(i))return e.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),h("number","number");if("/"==i)return e.eat("*")?(t.tokenize=y,y(e,t)):e.eat("/")?(e.skipToEnd(),h("comment","comment")):et(e,t,1)?(function(e){for(var t,n=!1,i=!1;null!=(t=e.next());){if(!n){if("/"==t&&!i)return;"["==t?i=!0:i&&"]"==t&&(i=!1)}n=!n&&"\\"==t}}(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),h("regexp","string-2")):(e.eat("="),h("operator","operator",e.current()));if("`"==i)return t.tokenize=v,v(e,t);if("#"==i&&"!"==e.peek())return e.skipToEnd(),h("meta","meta");if("#"==i&&e.eatWhile(f))return h("variable","property");if("<"==i&&e.match("!--")||"-"==i&&e.match("->")&&!/\S/.test(e.string.slice(0,e.start)))return e.skipToEnd(),h("comment","comment");if(m.test(i))return">"==i&&t.lexical&&">"==t.lexical.type||(e.eat("=")?"!"!=i&&"="!=i||e.eat("="):/[<>*+\-|&?]/.test(i)&&(e.eat(i),">"==i&&e.eat(i))),"?"==i&&e.eat(".")?h("."):h("operator","operator",e.current());if(f.test(i)){e.eatWhile(f);var r=e.current();if("."!=t.lastType){if(d.propertyIsEnumerable(r)){var o=d[r];return h(o.type,o.style,r)}if("async"==r&&e.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return h("async","keyword",r)}return h("variable","variable",r)}}function y(e,t){for(var n,i=!1;n=e.next();){if("/"==n&&i){t.tokenize=g;break}i="*"==n}return h("comment","comment")}function v(e,t){for(var n,i=!1;null!=(n=e.next());){if(!i&&("`"==n||"$"==n&&e.eat("{"))){t.tokenize=g;break}i=!i&&"\\"==n}return h("quasi","string-2",e.current())}var C="([{}])";function x(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var n=e.string.indexOf("=>",e.start);if(!(n<0)){if(c){var i=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,n));i&&(n=i.index)}for(var r=0,o=!1,a=n-1;a>=0;--a){var s=e.string.charAt(a),l=C.indexOf(s);if(l>=0&&l<3){if(!r){++a;break}if(0==--r){"("==s&&(o=!0);break}}else if(l>=3&&l<6)++r;else if(f.test(s))o=!0;else if(/["'\/`]/.test(s))for(;;--a){if(0==a)return;if(e.string.charAt(a-1)==s&&"\\"!=e.string.charAt(a-2)){a--;break}}else if(o&&!r){++a;break}}o&&!r&&(t.fatArrowAt=a)}}var b={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function S(e,t,n,i,r,o){this.indented=e,this.column=t,this.type=n,this.prev=r,this.info=o,null!=i&&(this.align=i)}function E(e,t){if(!u)return!1;for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0;for(var i=e.context;i;i=i.prev)for(n=i.vars;n;n=n.next)if(n.name==t)return!0}function D(e,t,n,i,r){var o=e.cc;for(A.state=e,A.stream=r,A.marked=null,A.cc=o,A.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;)if((o.length?o.pop():l?H:j)(n,i)){for(;o.length&&o[o.length-1].lex;)o.pop()();return A.marked?A.marked:"variable"==n&&E(e,i)?"variable-2":t}}var A={state:null,column:null,marked:null,cc:null};function R(){for(var e=arguments.length-1;e>=0;e--)A.cc.push(arguments[e])}function M(){return R.apply(null,arguments),!0}function k(e,t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}function T(e){var t=A.state;if(A.marked="def",u){if(t.context)if("var"==t.lexical.info&&t.context&&t.context.block){var i=w(e,t.context);if(null!=i)return void(t.context=i)}else if(!k(e,t.localVars))return void(t.localVars=new O(e,t.localVars));n.globalVars&&!k(e,t.globalVars)&&(t.globalVars=new O(e,t.globalVars))}}function w(e,t){if(t){if(t.block){var n=w(e,t.prev);return n?n==t.prev?t:new P(n,t.vars,!0):null}return k(e,t.vars)?t:new P(t.prev,new O(e,t.vars),!1)}return null}function I(e){return"public"==e||"private"==e||"protected"==e||"abstract"==e||"readonly"==e}function P(e,t,n){this.prev=e,this.vars=t,this.block=n}function O(e,t){this.name=e,this.next=t}var _=new O("this",new O("arguments",null));function L(){A.state.context=new P(A.state.context,A.state.localVars,!1),A.state.localVars=_}function N(){A.state.context=new P(A.state.context,A.state.localVars,!0),A.state.localVars=null}function U(){A.state.localVars=A.state.context.vars,A.state.context=A.state.context.prev}function B(e,t){var n=function(){var n=A.state,i=n.indented;if("stat"==n.lexical.type)i=n.lexical.indented;else for(var r=n.lexical;r&&")"==r.type&&r.align;r=r.prev)i=r.indented;n.lexical=new S(i,A.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function F(){var e=A.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function q(e){return function t(n){return n==e?M():";"==e||"}"==n||")"==n||"]"==n?R():M(t)}}function j(e,t){return"var"==e?M(B("vardef",t),Ae,q(";"),F):"keyword a"==e?M(B("form"),G,j,F):"keyword b"==e?M(B("form"),j,F):"keyword d"==e?A.stream.match(/^\s*$/,!1)?M():M(B("stat"),K,q(";"),F):"debugger"==e?M(q(";")):"{"==e?M(B("}"),N,ue,F,U):";"==e?M():"if"==e?("else"==A.state.lexical.info&&A.state.cc[A.state.cc.length-1]==F&&A.state.cc.pop()(),M(B("form"),G,j,F,Ie)):"function"==e?M(Le):"for"==e?M(B("form"),N,Pe,j,U,F):"class"==e||c&&"interface"==t?(A.marked="keyword",M(B("form","class"==e?e:t),qe,F)):"variable"==e?c&&"declare"==t?(A.marked="keyword",M(j)):c&&("module"==t||"enum"==t||"type"==t)&&A.stream.match(/^\s*\w/,!1)?(A.marked="keyword","enum"==t?M($e):"type"==t?M(Ue,q("operator"),pe,q(";")):M(B("form"),Re,q("{"),B("}"),ue,F,F)):c&&"namespace"==t?(A.marked="keyword",M(B("form"),H,j,F)):c&&"abstract"==t?(A.marked="keyword",M(j)):M(B("stat"),ne):"switch"==e?M(B("form"),G,q("{"),B("}","switch"),N,ue,F,F,U):"case"==e?M(H,q(":")):"default"==e?M(q(":")):"catch"==e?M(B("form"),L,z,j,F,U):"export"==e?M(B("stat"),Ve,F):"import"==e?M(B("stat"),We,F):"async"==e?M(j):"@"==t?M(H,j):R(B("stat"),H,q(";"),F)}function z(e){if("("==e)return M(Be,q(")"))}function H(e,t){return W(e,t,!1)}function V(e,t){return W(e,t,!0)}function G(e){return"("!=e?R():M(B(")"),K,q(")"),F)}function W(e,t,n){if(A.state.fatArrowAt==A.stream.start){var i=n?Z:$;if("("==e)return M(L,B(")"),se(Be,")"),F,q("=>"),i,U);if("variable"==e)return R(L,Re,q("=>"),i,U)}var r=n?J:Q;return b.hasOwnProperty(e)?M(r):"function"==e?M(Le,r):"class"==e||c&&"interface"==t?(A.marked="keyword",M(B("form"),Fe,F)):"keyword c"==e||"async"==e?M(n?V:H):"("==e?M(B(")"),K,q(")"),F,r):"operator"==e||"spread"==e?M(n?V:H):"["==e?M(B("]"),Ye,F,r):"{"==e?le(re,"}",null,r):"quasi"==e?R(X,r):"new"==e?M(function(e){return function(t){return"."==t?M(e?te:ee):"variable"==t&&c?M(Se,e?J:Q):R(e?V:H)}}(n)):M()}function K(e){return e.match(/[;\}\)\],]/)?R():R(H)}function Q(e,t){return","==e?M(K):J(e,t,!1)}function J(e,t,n){var i=0==n?Q:J,r=0==n?H:V;return"=>"==e?M(L,n?Z:$,U):"operator"==e?/\+\+|--/.test(t)||c&&"!"==t?M(i):c&&"<"==t&&A.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?M(B(">"),se(pe,">"),F,i):"?"==t?M(H,q(":"),r):M(r):"quasi"==e?R(X,i):";"!=e?"("==e?le(V,")","call",i):"."==e?M(ie,i):"["==e?M(B("]"),K,q("]"),F,i):c&&"as"==t?(A.marked="keyword",M(pe,i)):"regexp"==e?(A.state.lastType=A.marked="operator",A.stream.backUp(A.stream.pos-A.stream.start-1),M(r)):void 0:void 0}function X(e,t){return"quasi"!=e?R():"${"!=t.slice(t.length-2)?M(X):M(H,Y)}function Y(e){if("}"==e)return A.marked="string-2",A.state.tokenize=v,M(X)}function $(e){return x(A.stream,A.state),R("{"==e?j:H)}function Z(e){return x(A.stream,A.state),R("{"==e?j:V)}function ee(e,t){if("target"==t)return A.marked="keyword",M(Q)}function te(e,t){if("target"==t)return A.marked="keyword",M(J)}function ne(e){return":"==e?M(F,j):R(Q,q(";"),F)}function ie(e){if("variable"==e)return A.marked="property",M()}function re(e,t){return"async"==e?(A.marked="property",M(re)):"variable"==e||"keyword"==A.style?(A.marked="property","get"==t||"set"==t?M(oe):(c&&A.state.fatArrowAt==A.stream.start&&(n=A.stream.match(/^\s*:\s*/,!1))&&(A.state.fatArrowAt=A.stream.pos+n[0].length),M(ae))):"number"==e||"string"==e?(A.marked=s?"property":A.style+" property",M(ae)):"jsonld-keyword"==e?M(ae):c&&I(t)?(A.marked="keyword",M(re)):"["==e?M(H,ce,q("]"),ae):"spread"==e?M(V,ae):"*"==t?(A.marked="keyword",M(re)):":"==e?R(ae):void 0;var n}function oe(e){return"variable"!=e?R(ae):(A.marked="property",M(Le))}function ae(e){return":"==e?M(V):"("==e?R(Le):void 0}function se(e,t,n){function i(r,o){if(n?n.indexOf(r)>-1:","==r){var a=A.state.lexical;return"call"==a.info&&(a.pos=(a.pos||0)+1),M((function(n,i){return n==t||i==t?R():R(e)}),i)}return r==t||o==t?M():n&&n.indexOf(";")>-1?R(e):M(q(t))}return function(n,r){return n==t||r==t?M():R(e,i)}}function le(e,t,n){for(var i=3;i"),pe):"quasi"==e?R(ve,be):void 0}function he(e){if("=>"==e)return M(pe)}function ge(e){return e.match(/[\}\)\]]/)?M():","==e||";"==e?M(ge):R(ye,ge)}function ye(e,t){return"variable"==e||"keyword"==A.style?(A.marked="property",M(ye)):"?"==t||"number"==e||"string"==e?M(ye):":"==e?M(pe):"["==e?M(q("variable"),fe,q("]"),ye):"("==e?R(Ne,ye):e.match(/[;\}\)\],]/)?void 0:M()}function ve(e,t){return"quasi"!=e?R():"${"!=t.slice(t.length-2)?M(ve):M(pe,Ce)}function Ce(e){if("}"==e)return A.marked="string-2",A.state.tokenize=v,M(ve)}function xe(e,t){return"variable"==e&&A.stream.match(/^\s*[?:]/,!1)||"?"==t?M(xe):":"==e?M(pe):"spread"==e?M(xe):R(pe)}function be(e,t){return"<"==t?M(B(">"),se(pe,">"),F,be):"|"==t||"."==e||"&"==t?M(pe):"["==e?M(pe,q("]"),be):"extends"==t||"implements"==t?(A.marked="keyword",M(pe)):"?"==t?M(pe,q(":"),pe):void 0}function Se(e,t){if("<"==t)return M(B(">"),se(pe,">"),F,be)}function Ee(){return R(pe,De)}function De(e,t){if("="==t)return M(pe)}function Ae(e,t){return"enum"==t?(A.marked="keyword",M($e)):R(Re,ce,Te,we)}function Re(e,t){return c&&I(t)?(A.marked="keyword",M(Re)):"variable"==e?(T(t),M()):"spread"==e?M(Re):"["==e?le(ke,"]"):"{"==e?le(Me,"}"):void 0}function Me(e,t){return"variable"!=e||A.stream.match(/^\s*:/,!1)?("variable"==e&&(A.marked="property"),"spread"==e?M(Re):"}"==e?R():"["==e?M(H,q("]"),q(":"),Me):M(q(":"),Re,Te)):(T(t),M(Te))}function ke(){return R(Re,Te)}function Te(e,t){if("="==t)return M(V)}function we(e){if(","==e)return M(Ae)}function Ie(e,t){if("keyword b"==e&&"else"==t)return M(B("form","else"),j,F)}function Pe(e,t){return"await"==t?M(Pe):"("==e?M(B(")"),Oe,F):void 0}function Oe(e){return"var"==e?M(Ae,_e):"variable"==e?M(_e):R(_e)}function _e(e,t){return")"==e?M():";"==e?M(_e):"in"==t||"of"==t?(A.marked="keyword",M(H,_e)):R(H,_e)}function Le(e,t){return"*"==t?(A.marked="keyword",M(Le)):"variable"==e?(T(t),M(Le)):"("==e?M(L,B(")"),se(Be,")"),F,de,j,U):c&&"<"==t?M(B(">"),se(Ee,">"),F,Le):void 0}function Ne(e,t){return"*"==t?(A.marked="keyword",M(Ne)):"variable"==e?(T(t),M(Ne)):"("==e?M(L,B(")"),se(Be,")"),F,de,U):c&&"<"==t?M(B(">"),se(Ee,">"),F,Ne):void 0}function Ue(e,t){return"keyword"==e||"variable"==e?(A.marked="type",M(Ue)):"<"==t?M(B(">"),se(Ee,">"),F):void 0}function Be(e,t){return"@"==t&&M(H,Be),"spread"==e?M(Be):c&&I(t)?(A.marked="keyword",M(Be)):c&&"this"==e?M(ce,Te):R(Re,ce,Te)}function Fe(e,t){return"variable"==e?qe(e,t):je(e,t)}function qe(e,t){if("variable"==e)return T(t),M(je)}function je(e,t){return"<"==t?M(B(">"),se(Ee,">"),F,je):"extends"==t||"implements"==t||c&&","==e?("implements"==t&&(A.marked="keyword"),M(c?pe:H,je)):"{"==e?M(B("}"),ze,F):void 0}function ze(e,t){return"async"==e||"variable"==e&&("static"==t||"get"==t||"set"==t||c&&I(t))&&A.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(A.marked="keyword",M(ze)):"variable"==e||"keyword"==A.style?(A.marked="property",M(He,ze)):"number"==e||"string"==e?M(He,ze):"["==e?M(H,ce,q("]"),He,ze):"*"==t?(A.marked="keyword",M(ze)):c&&"("==e?R(Ne,ze):";"==e||","==e?M(ze):"}"==e?M():"@"==t?M(H,ze):void 0}function He(e,t){if("!"==t)return M(He);if("?"==t)return M(He);if(":"==e)return M(pe,Te);if("="==t)return M(V);var n=A.state.lexical.prev;return R(n&&"interface"==n.info?Ne:Le)}function Ve(e,t){return"*"==t?(A.marked="keyword",M(Xe,q(";"))):"default"==t?(A.marked="keyword",M(H,q(";"))):"{"==e?M(se(Ge,"}"),Xe,q(";")):R(j)}function Ge(e,t){return"as"==t?(A.marked="keyword",M(q("variable"))):"variable"==e?R(V,Ge):void 0}function We(e){return"string"==e?M():"("==e?R(H):"."==e?R(Q):R(Ke,Qe,Xe)}function Ke(e,t){return"{"==e?le(Ke,"}"):("variable"==e&&T(t),"*"==t&&(A.marked="keyword"),M(Je))}function Qe(e){if(","==e)return M(Ke,Qe)}function Je(e,t){if("as"==t)return A.marked="keyword",M(Ke)}function Xe(e,t){if("from"==t)return A.marked="keyword",M(H)}function Ye(e){return"]"==e?M():R(se(V,"]"))}function $e(){return R(B("form"),Re,q("{"),B("}"),se(Ze,"}"),F,F)}function Ze(){return R(Re,Te)}function et(e,t,n){return t.tokenize==g&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(n||0)))}return U.lex=!0,F.lex=!0,{startState:function(e){var t={tokenize:g,lastType:"sof",cc:[],lexical:new S((e||0)-o,0,"block",!1),localVars:n.localVars,context:n.localVars&&new P(null,null,!1),indented:e||0};return n.globalVars&&"object"==typeof n.globalVars&&(t.globalVars=n.globalVars),t},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation(),x(e,t)),t.tokenize!=y&&e.eatSpace())return null;var n=t.tokenize(e,t);return"comment"==i?n:(t.lastType="operator"!=i||"++"!=r&&"--"!=r?i:"incdec",D(t,n,i,r,e))},indent:function(t,i){if(t.tokenize==y||t.tokenize==v)return e.Pass;if(t.tokenize!=g)return 0;var r,s=i&&i.charAt(0),l=t.lexical;if(!/^\s*else\b/.test(i))for(var u=t.cc.length-1;u>=0;--u){var c=t.cc[u];if(c==F)l=l.prev;else if(c!=Ie&&c!=U)break}for(;("stat"==l.type||"form"==l.type)&&("}"==s||(r=t.cc[t.cc.length-1])&&(r==Q||r==J)&&!/^[,\.=+\-*:?[\(]/.test(i));)l=l.prev;a&&")"==l.type&&"stat"==l.prev.type&&(l=l.prev);var f=l.type,d=s==f;return"vardef"==f?l.indented+("operator"==t.lastType||","==t.lastType?l.info.length+1:0):"form"==f&&"{"==s?l.indented:"form"==f?l.indented+o:"stat"==f?l.indented+(function(e,t){return"operator"==e.lastType||","==e.lastType||m.test(t.charAt(0))||/[,.]/.test(t.charAt(0))}(t,i)?a||o:0):"switch"!=l.info||d||0==n.doubleIndentSwitch?l.align?l.column+(d?0:1):l.indented+(d?0:o):l.indented+(/^(?:case|default)\b/.test(i)?o:2*o)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:l?null:"/*",blockCommentEnd:l?null:"*/",blockCommentContinue:l?null:" * ",lineComment:l?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:l?"json":"javascript",jsonldMode:s,jsonMode:l,expressionAllowed:et,skipExpression:function(t){D(t,"atom","atom","true",new e.StringStream("",2,null))}}})),e.registerHelper("wordChars","javascript",/[\w$]/),e.defineMIME("text/javascript","javascript"),e.defineMIME("text/ecmascript","javascript"),e.defineMIME("application/javascript","javascript"),e.defineMIME("application/x-javascript","javascript"),e.defineMIME("application/ecmascript","javascript"),e.defineMIME("application/json",{name:"javascript",json:!0}),e.defineMIME("application/x-json",{name:"javascript",json:!0}),e.defineMIME("application/manifest+json",{name:"javascript",json:!0}),e.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),e.defineMIME("text/typescript",{name:"javascript",typescript:!0}),e.defineMIME("application/typescript",{name:"javascript",typescript:!0})}(n(4631))},3631:function(e,t,n){!function(e){"use strict";e.defineMode("yaml",(function(){var e=new RegExp("\\b(("+["true","false","on","off","yes","no"].join(")|(")+"))$","i");return{token:function(t,n){var i=t.peek(),r=n.escaped;if(n.escaped=!1,"#"==i&&(0==t.pos||/\s/.test(t.string.charAt(t.pos-1))))return t.skipToEnd(),"comment";if(t.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(n.literal&&t.indentation()>n.keyCol)return t.skipToEnd(),"string";if(n.literal&&(n.literal=!1),t.sol()){if(n.keyCol=0,n.pair=!1,n.pairStart=!1,t.match("---"))return"def";if(t.match("..."))return"def";if(t.match(/\s*-\s+/))return"meta"}if(t.match(/^(\{|\}|\[|\])/))return"{"==i?n.inlinePairs++:"}"==i?n.inlinePairs--:"["==i?n.inlineList++:n.inlineList--,"meta";if(n.inlineList>0&&!r&&","==i)return t.next(),"meta";if(n.inlinePairs>0&&!r&&","==i)return n.keyCol=0,n.pair=!1,n.pairStart=!1,t.next(),"meta";if(n.pairStart){if(t.match(/^\s*(\||\>)\s*/))return n.literal=!0,"meta";if(t.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable-2";if(0==n.inlinePairs&&t.match(/^\s*-?[0-9\.\,]+\s?$/))return"number";if(n.inlinePairs>0&&t.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(t.match(e))return"keyword"}return!n.pair&&t.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(n.pair=!0,n.keyCol=t.indentation(),"atom"):n.pair&&t.match(/^:\s*/)?(n.pairStart=!0,"meta"):(n.pairStart=!1,n.escaped="\\"==i,t.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},lineComment:"#",fold:"indent"}})),e.defineMIME("text/x-yaml","yaml"),e.defineMIME("text/yaml","yaml")}(n(4631))},1240:function(e,t,n){"use strict";var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([e.id,"/* BASICS */\n\n.CodeMirror {\n /* Set height, width, borders, and global font properties here */\n font-family: monospace;\n height: 300px;\n color: black;\n direction: ltr;\n}\n\n/* PADDING */\n\n.CodeMirror-lines {\n padding: 4px 0; /* Vertical padding around content */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n padding: 0 4px; /* Horizontal padding of content */\n}\n\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n background-color: white; /* The little square between H and V scrollbars */\n}\n\n/* GUTTER */\n\n.CodeMirror-gutters {\n border-right: 1px solid #ddd;\n background-color: #f7f7f7;\n white-space: nowrap;\n}\n.CodeMirror-linenumbers {}\n.CodeMirror-linenumber {\n padding: 0 3px 0 5px;\n min-width: 20px;\n text-align: right;\n color: #999;\n white-space: nowrap;\n}\n\n.CodeMirror-guttermarker { color: black; }\n.CodeMirror-guttermarker-subtle { color: #999; }\n\n/* CURSOR */\n\n.CodeMirror-cursor {\n border-left: 1px solid black;\n border-right: none;\n width: 0;\n}\n/* Shown when moving in bi-directional text */\n.CodeMirror div.CodeMirror-secondarycursor {\n border-left: 1px solid silver;\n}\n.cm-fat-cursor .CodeMirror-cursor {\n width: auto;\n border: 0 !important;\n background: #7e7;\n}\n.cm-fat-cursor div.CodeMirror-cursors {\n z-index: 1;\n}\n.cm-fat-cursor-mark {\n background-color: rgba(20, 255, 20, 0.5);\n -webkit-animation: blink 1.06s steps(1) infinite;\n -moz-animation: blink 1.06s steps(1) infinite;\n animation: blink 1.06s steps(1) infinite;\n}\n.cm-animate-fat-cursor {\n width: auto;\n border: 0;\n -webkit-animation: blink 1.06s steps(1) infinite;\n -moz-animation: blink 1.06s steps(1) infinite;\n animation: blink 1.06s steps(1) infinite;\n background-color: #7e7;\n}\n@-moz-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@-webkit-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n\n/* Can style cursor different in overwrite (non-insert) mode */\n.CodeMirror-overwrite .CodeMirror-cursor {}\n\n.cm-tab { display: inline-block; text-decoration: inherit; }\n\n.CodeMirror-rulers {\n position: absolute;\n left: 0; right: 0; top: -50px; bottom: 0;\n overflow: hidden;\n}\n.CodeMirror-ruler {\n border-left: 1px solid #ccc;\n top: 0; bottom: 0;\n position: absolute;\n}\n\n/* DEFAULT THEME */\n\n.cm-s-default .cm-header {color: blue;}\n.cm-s-default .cm-quote {color: #090;}\n.cm-negative {color: #d44;}\n.cm-positive {color: #292;}\n.cm-header, .cm-strong {font-weight: bold;}\n.cm-em {font-style: italic;}\n.cm-link {text-decoration: underline;}\n.cm-strikethrough {text-decoration: line-through;}\n\n.cm-s-default .cm-keyword {color: #708;}\n.cm-s-default .cm-atom {color: #219;}\n.cm-s-default .cm-number {color: #164;}\n.cm-s-default .cm-def {color: #00f;}\n.cm-s-default .cm-variable,\n.cm-s-default .cm-punctuation,\n.cm-s-default .cm-property,\n.cm-s-default .cm-operator {}\n.cm-s-default .cm-variable-2 {color: #05a;}\n.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}\n.cm-s-default .cm-comment {color: #a50;}\n.cm-s-default .cm-string {color: #a11;}\n.cm-s-default .cm-string-2 {color: #f50;}\n.cm-s-default .cm-meta {color: #555;}\n.cm-s-default .cm-qualifier {color: #555;}\n.cm-s-default .cm-builtin {color: #30a;}\n.cm-s-default .cm-bracket {color: #997;}\n.cm-s-default .cm-tag {color: #170;}\n.cm-s-default .cm-attribute {color: #00c;}\n.cm-s-default .cm-hr {color: #999;}\n.cm-s-default .cm-link {color: #00c;}\n\n.cm-s-default .cm-error {color: #f00;}\n.cm-invalidchar {color: #f00;}\n\n.CodeMirror-composing { border-bottom: 2px solid; }\n\n/* Default styles for common addons */\n\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\n.CodeMirror-activeline-background {background: #e8f2ff;}\n\n/* STOP */\n\n/* The rest of this file contains styles related to the mechanics of\n the editor. You probably shouldn't touch them. */\n\n.CodeMirror {\n position: relative;\n overflow: hidden;\n background: white;\n}\n\n.CodeMirror-scroll {\n overflow: scroll !important; /* Things will break if this is overridden */\n /* 50px is the magic margin used to hide the element's real scrollbars */\n /* See overflow: hidden in .CodeMirror */\n margin-bottom: -50px; margin-right: -50px;\n padding-bottom: 50px;\n height: 100%;\n outline: none; /* Prevent dragging from highlighting the element */\n position: relative;\n}\n.CodeMirror-sizer {\n position: relative;\n border-right: 50px solid transparent;\n}\n\n/* The fake, visible scrollbars. Used to force redraw during scrolling\n before actual scrolling happens, thus preventing shaking and\n flickering artifacts. */\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n position: absolute;\n z-index: 6;\n display: none;\n outline: none;\n}\n.CodeMirror-vscrollbar {\n right: 0; top: 0;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n.CodeMirror-hscrollbar {\n bottom: 0; left: 0;\n overflow-y: hidden;\n overflow-x: scroll;\n}\n.CodeMirror-scrollbar-filler {\n right: 0; bottom: 0;\n}\n.CodeMirror-gutter-filler {\n left: 0; bottom: 0;\n}\n\n.CodeMirror-gutters {\n position: absolute; left: 0; top: 0;\n min-height: 100%;\n z-index: 3;\n}\n.CodeMirror-gutter {\n white-space: normal;\n height: 100%;\n display: inline-block;\n vertical-align: top;\n margin-bottom: -50px;\n}\n.CodeMirror-gutter-wrapper {\n position: absolute;\n z-index: 4;\n background: none !important;\n border: none !important;\n}\n.CodeMirror-gutter-background {\n position: absolute;\n top: 0; bottom: 0;\n z-index: 4;\n}\n.CodeMirror-gutter-elt {\n position: absolute;\n cursor: default;\n z-index: 4;\n}\n.CodeMirror-gutter-wrapper ::selection { background-color: transparent }\n.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }\n\n.CodeMirror-lines {\n cursor: text;\n min-height: 1px; /* prevents collapsing before first draw */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n /* Reset some styles that the rest of the page might have set */\n -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\n border-width: 0;\n background: transparent;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n white-space: pre;\n word-wrap: normal;\n line-height: inherit;\n color: inherit;\n z-index: 2;\n position: relative;\n overflow: visible;\n -webkit-tap-highlight-color: transparent;\n -webkit-font-variant-ligatures: contextual;\n font-variant-ligatures: contextual;\n}\n.CodeMirror-wrap pre.CodeMirror-line,\n.CodeMirror-wrap pre.CodeMirror-line-like {\n word-wrap: break-word;\n white-space: pre-wrap;\n word-break: normal;\n}\n\n.CodeMirror-linebackground {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n z-index: 0;\n}\n\n.CodeMirror-linewidget {\n position: relative;\n z-index: 2;\n padding: 0.1px; /* Force widget margins to stay inside of the container */\n}\n\n.CodeMirror-widget {}\n\n.CodeMirror-rtl pre { direction: rtl; }\n\n.CodeMirror-code {\n outline: none;\n}\n\n/* Force content-box sizing for the elements where we expect it */\n.CodeMirror-scroll,\n.CodeMirror-sizer,\n.CodeMirror-gutter,\n.CodeMirror-gutters,\n.CodeMirror-linenumber {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\n\n.CodeMirror-measure {\n position: absolute;\n width: 100%;\n height: 0;\n overflow: hidden;\n visibility: hidden;\n}\n\n.CodeMirror-cursor {\n position: absolute;\n pointer-events: none;\n}\n.CodeMirror-measure pre { position: static; }\n\ndiv.CodeMirror-cursors {\n visibility: hidden;\n position: relative;\n z-index: 3;\n}\ndiv.CodeMirror-dragcursors {\n visibility: visible;\n}\n\n.CodeMirror-focused div.CodeMirror-cursors {\n visibility: visible;\n}\n\n.CodeMirror-selected { background: #d9d9d9; }\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\n.CodeMirror-crosshair { cursor: crosshair; }\n.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }\n.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }\n\n.cm-searching {\n background-color: #ffa;\n background-color: rgba(255, 255, 0, .4);\n}\n\n/* Used to force a border model for a node */\n.cm-force-border { padding-right: .1px; }\n\n@media print {\n /* Hide the cursor when printing */\n .CodeMirror div.CodeMirror-cursors {\n visibility: hidden;\n }\n}\n\n/* See issue #2901 */\n.cm-tab-wrap-hack:after { content: ''; }\n\n/* Help users use markselection to safely style text background */\nspan.CodeMirror-selectedtext { background: none; }\n","",{version:3,sources:["webpack://./node_modules/codemirror/lib/codemirror.css"],names:[],mappings:"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",sourcesContent:["/* BASICS */\n\n.CodeMirror {\n /* Set height, width, borders, and global font properties here */\n font-family: monospace;\n height: 300px;\n color: black;\n direction: ltr;\n}\n\n/* PADDING */\n\n.CodeMirror-lines {\n padding: 4px 0; /* Vertical padding around content */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n padding: 0 4px; /* Horizontal padding of content */\n}\n\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n background-color: white; /* The little square between H and V scrollbars */\n}\n\n/* GUTTER */\n\n.CodeMirror-gutters {\n border-right: 1px solid #ddd;\n background-color: #f7f7f7;\n white-space: nowrap;\n}\n.CodeMirror-linenumbers {}\n.CodeMirror-linenumber {\n padding: 0 3px 0 5px;\n min-width: 20px;\n text-align: right;\n color: #999;\n white-space: nowrap;\n}\n\n.CodeMirror-guttermarker { color: black; }\n.CodeMirror-guttermarker-subtle { color: #999; }\n\n/* CURSOR */\n\n.CodeMirror-cursor {\n border-left: 1px solid black;\n border-right: none;\n width: 0;\n}\n/* Shown when moving in bi-directional text */\n.CodeMirror div.CodeMirror-secondarycursor {\n border-left: 1px solid silver;\n}\n.cm-fat-cursor .CodeMirror-cursor {\n width: auto;\n border: 0 !important;\n background: #7e7;\n}\n.cm-fat-cursor div.CodeMirror-cursors {\n z-index: 1;\n}\n.cm-fat-cursor-mark {\n background-color: rgba(20, 255, 20, 0.5);\n -webkit-animation: blink 1.06s steps(1) infinite;\n -moz-animation: blink 1.06s steps(1) infinite;\n animation: blink 1.06s steps(1) infinite;\n}\n.cm-animate-fat-cursor {\n width: auto;\n border: 0;\n -webkit-animation: blink 1.06s steps(1) infinite;\n -moz-animation: blink 1.06s steps(1) infinite;\n animation: blink 1.06s steps(1) infinite;\n background-color: #7e7;\n}\n@-moz-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@-webkit-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n\n/* Can style cursor different in overwrite (non-insert) mode */\n.CodeMirror-overwrite .CodeMirror-cursor {}\n\n.cm-tab { display: inline-block; text-decoration: inherit; }\n\n.CodeMirror-rulers {\n position: absolute;\n left: 0; right: 0; top: -50px; bottom: 0;\n overflow: hidden;\n}\n.CodeMirror-ruler {\n border-left: 1px solid #ccc;\n top: 0; bottom: 0;\n position: absolute;\n}\n\n/* DEFAULT THEME */\n\n.cm-s-default .cm-header {color: blue;}\n.cm-s-default .cm-quote {color: #090;}\n.cm-negative {color: #d44;}\n.cm-positive {color: #292;}\n.cm-header, .cm-strong {font-weight: bold;}\n.cm-em {font-style: italic;}\n.cm-link {text-decoration: underline;}\n.cm-strikethrough {text-decoration: line-through;}\n\n.cm-s-default .cm-keyword {color: #708;}\n.cm-s-default .cm-atom {color: #219;}\n.cm-s-default .cm-number {color: #164;}\n.cm-s-default .cm-def {color: #00f;}\n.cm-s-default .cm-variable,\n.cm-s-default .cm-punctuation,\n.cm-s-default .cm-property,\n.cm-s-default .cm-operator {}\n.cm-s-default .cm-variable-2 {color: #05a;}\n.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}\n.cm-s-default .cm-comment {color: #a50;}\n.cm-s-default .cm-string {color: #a11;}\n.cm-s-default .cm-string-2 {color: #f50;}\n.cm-s-default .cm-meta {color: #555;}\n.cm-s-default .cm-qualifier {color: #555;}\n.cm-s-default .cm-builtin {color: #30a;}\n.cm-s-default .cm-bracket {color: #997;}\n.cm-s-default .cm-tag {color: #170;}\n.cm-s-default .cm-attribute {color: #00c;}\n.cm-s-default .cm-hr {color: #999;}\n.cm-s-default .cm-link {color: #00c;}\n\n.cm-s-default .cm-error {color: #f00;}\n.cm-invalidchar {color: #f00;}\n\n.CodeMirror-composing { border-bottom: 2px solid; }\n\n/* Default styles for common addons */\n\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\n.CodeMirror-activeline-background {background: #e8f2ff;}\n\n/* STOP */\n\n/* The rest of this file contains styles related to the mechanics of\n the editor. You probably shouldn't touch them. */\n\n.CodeMirror {\n position: relative;\n overflow: hidden;\n background: white;\n}\n\n.CodeMirror-scroll {\n overflow: scroll !important; /* Things will break if this is overridden */\n /* 50px is the magic margin used to hide the element's real scrollbars */\n /* See overflow: hidden in .CodeMirror */\n margin-bottom: -50px; margin-right: -50px;\n padding-bottom: 50px;\n height: 100%;\n outline: none; /* Prevent dragging from highlighting the element */\n position: relative;\n}\n.CodeMirror-sizer {\n position: relative;\n border-right: 50px solid transparent;\n}\n\n/* The fake, visible scrollbars. Used to force redraw during scrolling\n before actual scrolling happens, thus preventing shaking and\n flickering artifacts. */\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n position: absolute;\n z-index: 6;\n display: none;\n outline: none;\n}\n.CodeMirror-vscrollbar {\n right: 0; top: 0;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n.CodeMirror-hscrollbar {\n bottom: 0; left: 0;\n overflow-y: hidden;\n overflow-x: scroll;\n}\n.CodeMirror-scrollbar-filler {\n right: 0; bottom: 0;\n}\n.CodeMirror-gutter-filler {\n left: 0; bottom: 0;\n}\n\n.CodeMirror-gutters {\n position: absolute; left: 0; top: 0;\n min-height: 100%;\n z-index: 3;\n}\n.CodeMirror-gutter {\n white-space: normal;\n height: 100%;\n display: inline-block;\n vertical-align: top;\n margin-bottom: -50px;\n}\n.CodeMirror-gutter-wrapper {\n position: absolute;\n z-index: 4;\n background: none !important;\n border: none !important;\n}\n.CodeMirror-gutter-background {\n position: absolute;\n top: 0; bottom: 0;\n z-index: 4;\n}\n.CodeMirror-gutter-elt {\n position: absolute;\n cursor: default;\n z-index: 4;\n}\n.CodeMirror-gutter-wrapper ::selection { background-color: transparent }\n.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }\n\n.CodeMirror-lines {\n cursor: text;\n min-height: 1px; /* prevents collapsing before first draw */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n /* Reset some styles that the rest of the page might have set */\n -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\n border-width: 0;\n background: transparent;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n white-space: pre;\n word-wrap: normal;\n line-height: inherit;\n color: inherit;\n z-index: 2;\n position: relative;\n overflow: visible;\n -webkit-tap-highlight-color: transparent;\n -webkit-font-variant-ligatures: contextual;\n font-variant-ligatures: contextual;\n}\n.CodeMirror-wrap pre.CodeMirror-line,\n.CodeMirror-wrap pre.CodeMirror-line-like {\n word-wrap: break-word;\n white-space: pre-wrap;\n word-break: normal;\n}\n\n.CodeMirror-linebackground {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n z-index: 0;\n}\n\n.CodeMirror-linewidget {\n position: relative;\n z-index: 2;\n padding: 0.1px; /* Force widget margins to stay inside of the container */\n}\n\n.CodeMirror-widget {}\n\n.CodeMirror-rtl pre { direction: rtl; }\n\n.CodeMirror-code {\n outline: none;\n}\n\n/* Force content-box sizing for the elements where we expect it */\n.CodeMirror-scroll,\n.CodeMirror-sizer,\n.CodeMirror-gutter,\n.CodeMirror-gutters,\n.CodeMirror-linenumber {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\n\n.CodeMirror-measure {\n position: absolute;\n width: 100%;\n height: 0;\n overflow: hidden;\n visibility: hidden;\n}\n\n.CodeMirror-cursor {\n position: absolute;\n pointer-events: none;\n}\n.CodeMirror-measure pre { position: static; }\n\ndiv.CodeMirror-cursors {\n visibility: hidden;\n position: relative;\n z-index: 3;\n}\ndiv.CodeMirror-dragcursors {\n visibility: visible;\n}\n\n.CodeMirror-focused div.CodeMirror-cursors {\n visibility: visible;\n}\n\n.CodeMirror-selected { background: #d9d9d9; }\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\n.CodeMirror-crosshair { cursor: crosshair; }\n.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }\n.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }\n\n.cm-searching {\n background-color: #ffa;\n background-color: rgba(255, 255, 0, .4);\n}\n\n/* Used to force a border model for a node */\n.cm-force-border { padding-right: .1px; }\n\n@media print {\n /* Hide the cursor when printing */\n .CodeMirror div.CodeMirror-cursors {\n visibility: hidden;\n }\n}\n\n/* See issue #2901 */\n.cm-tab-wrap-hack:after { content: ''; }\n\n/* Help users use markselection to safely style text background */\nspan.CodeMirror-selectedtext { background: none; }\n"],sourceRoot:""}]),t.Z=a},2559:function(e,t,n){"use strict";var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([e.id,"body {\n padding: 0;\n background-color: #f9f9f9;\n font-family: sans-serif;\n}\n.container {\n margin: 0;\n display: flex;\n flex-direction: column;\n padding-bottom: 30px;\n}\n\n#header {\n padding: 10px 0px;\n}\n#header a {\n font-size: 20px;\n font-weight: 400;\n text-decoration: none;\n}\n\n#pane {\n display: flex;\n flex-direction: row;\n}\n#inputWrapper {\n flex: 1;\n}\n#input {\n margin-top: 3px;\n}\n\n#input .CodeMirror {\n border: 1px solid #ddd;\n height: auto;\n}\n#path {\n font-size: 20px;\n padding: 6px 8px;\n margin: 0;\n margin-bottom: 10px;\n}\n#output {\n flex: 0.3;\n padding: 20px;\n background: #f9f9f9;\n}\n\nh1 {\n margin: 10px;\n}\n\n#footer {\n position: fixed;\n text-align: right;\n bottom: 0px;\n left:0px;\n right: 0px;\n padding: 5px 20px;\n background: #eee;\n opacity: 0.8;\n z-index: 100;\n font-size: 13px;\n border-top: 1px solid #ddd;\n}\n","",{version:3,sources:["webpack://./public/app.css"],names:[],mappings:"AAAA;EACE,UAAU;EACV,yBAAyB;EACzB,uBAAuB;AACzB;AACA;EACE,SAAS;EACT,aAAa;EACb,sBAAsB;EACtB,oBAAoB;AACtB;;AAEA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,gBAAgB;EAChB,qBAAqB;AACvB;;AAEA;EACE,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,OAAO;AACT;AACA;EACE,eAAe;AACjB;;AAEA;EACE,sBAAsB;EACtB,YAAY;AACd;AACA;EACE,eAAe;EACf,gBAAgB;EAChB,SAAS;EACT,mBAAmB;AACrB;AACA;EACE,SAAS;EACT,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,eAAe;EACf,iBAAiB;EACjB,WAAW;EACX,QAAQ;EACR,UAAU;EACV,iBAAiB;EACjB,gBAAgB;EAChB,YAAY;EACZ,YAAY;EACZ,eAAe;EACf,0BAA0B;AAC5B",sourcesContent:["body {\n padding: 0;\n background-color: #f9f9f9;\n font-family: sans-serif;\n}\n.container {\n margin: 0;\n display: flex;\n flex-direction: column;\n padding-bottom: 30px;\n}\n\n#header {\n padding: 10px 0px;\n}\n#header a {\n font-size: 20px;\n font-weight: 400;\n text-decoration: none;\n}\n\n#pane {\n display: flex;\n flex-direction: row;\n}\n#inputWrapper {\n flex: 1;\n}\n#input {\n margin-top: 3px;\n}\n\n#input .CodeMirror {\n border: 1px solid #ddd;\n height: auto;\n}\n#path {\n font-size: 20px;\n padding: 6px 8px;\n margin: 0;\n margin-bottom: 10px;\n}\n#output {\n flex: 0.3;\n padding: 20px;\n background: #f9f9f9;\n}\n\nh1 {\n margin: 10px;\n}\n\n#footer {\n position: fixed;\n text-align: right;\n bottom: 0px;\n left:0px;\n right: 0px;\n padding: 5px 20px;\n background: #eee;\n opacity: 0.8;\n z-index: 100;\n font-size: 13px;\n border-top: 1px solid #ddd;\n}\n"],sourceRoot:""}]),t.Z=a},3645:function(e){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",i=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),i&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),i&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,i,r,o){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(i)for(var s=0;s0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=o),n&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=n):c[2]=n),r&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=r):c[4]="".concat(r)),t.push(c))}},t}},7537:function(e){"use strict";e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),r="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(i),o="/*# ".concat(r," */");return[t].concat([o]).join("\n")}return[t].join("\n")}},1072:function(e){var t;t=function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={exports:{},id:i,loaded:!1};return e[i].call(r.exports,r,r.exports,n),r.loaded=!0,r.exports}return n.m=e,n.c=t,n.p="",n(0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(1),r=n(3),o=n(8),a=n(15);function s(e,t,n){var a=null,s=function(e,t){n&&n(e,t),a&&a.visit(e,t)},l="function"==typeof n?s:null,u=!1;if(t){u="boolean"==typeof t.comment&&t.comment;var c="boolean"==typeof t.attachComment&&t.attachComment;(u||c)&&((a=new i.CommentHandler).attach=c,t.comment=!0,l=s)}var f,d=!1;t&&"string"==typeof t.sourceType&&(d="module"===t.sourceType),f=t&&"boolean"==typeof t.jsx&&t.jsx?new r.JSXParser(e,t,l):new o.Parser(e,t,l);var m=d?f.parseModule():f.parseScript();return u&&a&&(m.comments=a.comments),f.config.tokens&&(m.tokens=f.tokens),f.config.tolerant&&(m.errors=f.errorHandler.errors),m}t.parse=s,t.parseModule=function(e,t,n){var i=t||{};return i.sourceType="module",s(e,i,n)},t.parseScript=function(e,t,n){var i=t||{};return i.sourceType="script",s(e,i,n)},t.tokenize=function(e,t,n){var i,r=new a.Tokenizer(e,t);i=[];try{for(;;){var o=r.getNextToken();if(!o)break;n&&(o=n(o)),i.push(o)}}catch(e){r.errorHandler.tolerate(e)}return r.errorHandler.tolerant&&(i.errors=r.errors()),i};var l=n(2);t.Syntax=l.Syntax,t.version="4.0.1"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),r=function(){function e(){this.attach=!1,this.comments=[],this.stack=[],this.leading=[],this.trailing=[]}return e.prototype.insertInnerComments=function(e,t){if(e.type===i.Syntax.BlockStatement&&0===e.body.length){for(var n=[],r=this.leading.length-1;r>=0;--r){var o=this.leading[r];t.end.offset>=o.start&&(n.unshift(o.comment),this.leading.splice(r,1),this.trailing.splice(r,1))}n.length&&(e.innerComments=n)}},e.prototype.findTrailingComments=function(e){var t=[];if(this.trailing.length>0){for(var n=this.trailing.length-1;n>=0;--n){var i=this.trailing[n];i.start>=e.end.offset&&t.unshift(i.comment)}return this.trailing.length=0,t}var r=this.stack[this.stack.length-1];if(r&&r.node.trailingComments){var o=r.node.trailingComments[0];o&&o.range[0]>=e.end.offset&&(t=r.node.trailingComments,delete r.node.trailingComments)}return t},e.prototype.findLeadingComments=function(e){for(var t,n=[];this.stack.length>0&&(o=this.stack[this.stack.length-1])&&o.start>=e.start.offset;)t=o.node,this.stack.pop();if(t){for(var i=(t.leadingComments?t.leadingComments.length:0)-1;i>=0;--i){var r=t.leadingComments[i];r.range[1]<=e.start.offset&&(n.unshift(r),t.leadingComments.splice(i,1))}return t.leadingComments&&0===t.leadingComments.length&&delete t.leadingComments,n}for(i=this.leading.length-1;i>=0;--i){var o;(o=this.leading[i]).start<=e.start.offset&&(n.unshift(o.comment),this.leading.splice(i,1))}return n},e.prototype.visitNode=function(e,t){if(!(e.type===i.Syntax.Program&&e.body.length>0)){this.insertInnerComments(e,t);var n=this.findTrailingComments(t),r=this.findLeadingComments(t);r.length>0&&(e.leadingComments=r),n.length>0&&(e.trailingComments=n),this.stack.push({node:e,start:t.start.offset})}},e.prototype.visitComment=function(e,t){var n="L"===e.type[0]?"Line":"Block",i={type:n,value:e.value};if(e.range&&(i.range=e.range),e.loc&&(i.loc=e.loc),this.comments.push(i),this.attach){var r={comment:{type:n,value:e.value,range:[t.start.offset,t.end.offset]},start:t.start.offset};e.loc&&(r.comment.loc=e.loc),e.type=n,this.leading.push(r),this.trailing.push(r)}},e.prototype.visit=function(e,t){"LineComment"===e.type||"BlockComment"===e.type?this.visitComment(e,t):this.attach&&this.visitNode(e,t)},e}();t.CommentHandler=r},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Syntax={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForOfStatement:"ForOfStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchCase:"SwitchCase",SwitchStatement:"SwitchStatement",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"}},function(e,t,n){"use strict";var i,r=this&&this.__extends||(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(4),a=n(5),s=n(6),l=n(7),u=n(8),c=n(13),f=n(14);function d(e){var t;switch(e.type){case s.JSXSyntax.JSXIdentifier:t=e.name;break;case s.JSXSyntax.JSXNamespacedName:var n=e;t=d(n.namespace)+":"+d(n.name);break;case s.JSXSyntax.JSXMemberExpression:var i=e;t=d(i.object)+"."+d(i.property)}return t}c.TokenName[100]="JSXIdentifier",c.TokenName[101]="JSXText";var m=function(e){function t(t,n,i){return e.call(this,t,n,i)||this}return r(t,e),t.prototype.parsePrimaryExpression=function(){return this.match("<")?this.parseJSXRoot():e.prototype.parsePrimaryExpression.call(this)},t.prototype.startJSX=function(){this.scanner.index=this.startMarker.index,this.scanner.lineNumber=this.startMarker.line,this.scanner.lineStart=this.startMarker.index-this.startMarker.column},t.prototype.finishJSX=function(){this.nextToken()},t.prototype.reenterJSX=function(){this.startJSX(),this.expectJSX("}"),this.config.tokens&&this.tokens.pop()},t.prototype.createJSXNode=function(){return this.collectComments(),{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},t.prototype.createJSXChildNode=function(){return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},t.prototype.scanXHTMLEntity=function(e){for(var t="&",n=!0,i=!1,r=!1,a=!1;!this.scanner.eof()&&n&&!i;){var s=this.scanner.source[this.scanner.index];if(s===e)break;if(i=";"===s,t+=s,++this.scanner.index,!i)switch(t.length){case 2:r="#"===s;break;case 3:r&&(n=(a="x"===s)||o.Character.isDecimalDigit(s.charCodeAt(0)),r=r&&!a);break;default:n=(n=n&&!(r&&!o.Character.isDecimalDigit(s.charCodeAt(0))))&&!(a&&!o.Character.isHexDigit(s.charCodeAt(0)))}}if(n&&i&&t.length>2){var l=t.substr(1,t.length-2);r&&l.length>1?t=String.fromCharCode(parseInt(l.substr(1),10)):a&&l.length>2?t=String.fromCharCode(parseInt("0"+l.substr(1),16)):r||a||!f.XHTMLEntities[l]||(t=f.XHTMLEntities[l])}return t},t.prototype.lexJSX=function(){var e=this.scanner.source.charCodeAt(this.scanner.index);if(60===e||62===e||47===e||58===e||61===e||123===e||125===e)return{type:7,value:s=this.scanner.source[this.scanner.index++],lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index-1,end:this.scanner.index};if(34===e||39===e){for(var t=this.scanner.index,n=this.scanner.source[this.scanner.index++],i="";!this.scanner.eof()&&(l=this.scanner.source[this.scanner.index++])!==n;)i+="&"===l?this.scanXHTMLEntity(n):l;return{type:8,value:i,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(46===e){var r=this.scanner.source.charCodeAt(this.scanner.index+1),a=this.scanner.source.charCodeAt(this.scanner.index+2),s=46===r&&46===a?"...":".";return t=this.scanner.index,this.scanner.index+=s.length,{type:7,value:s,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(96===e)return{type:10,value:"",lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index,end:this.scanner.index};if(o.Character.isIdentifierStart(e)&&92!==e){for(t=this.scanner.index,++this.scanner.index;!this.scanner.eof();){var l=this.scanner.source.charCodeAt(this.scanner.index);if(o.Character.isIdentifierPart(l)&&92!==l)++this.scanner.index;else{if(45!==l)break;++this.scanner.index}}return{type:100,value:this.scanner.source.slice(t,this.scanner.index),lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}return this.scanner.lex()},t.prototype.nextJSXToken=function(){this.collectComments(),this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;var e=this.lexJSX();return this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.config.tokens&&this.tokens.push(this.convertToken(e)),e},t.prototype.nextJSXText=function(){this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;for(var e=this.scanner.index,t="";!this.scanner.eof();){var n=this.scanner.source[this.scanner.index];if("{"===n||"<"===n)break;++this.scanner.index,t+=n,o.Character.isLineTerminator(n.charCodeAt(0))&&(++this.scanner.lineNumber,"\r"===n&&"\n"===this.scanner.source[this.scanner.index]&&++this.scanner.index,this.scanner.lineStart=this.scanner.index)}this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart;var i={type:101,value:t,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:e,end:this.scanner.index};return t.length>0&&this.config.tokens&&this.tokens.push(this.convertToken(i)),i},t.prototype.peekJSXToken=function(){var e=this.scanner.saveState();this.scanner.scanComments();var t=this.lexJSX();return this.scanner.restoreState(e),t},t.prototype.expectJSX=function(e){var t=this.nextJSXToken();7===t.type&&t.value===e||this.throwUnexpectedToken(t)},t.prototype.matchJSX=function(e){var t=this.peekJSXToken();return 7===t.type&&t.value===e},t.prototype.parseJSXIdentifier=function(){var e=this.createJSXNode(),t=this.nextJSXToken();return 100!==t.type&&this.throwUnexpectedToken(t),this.finalize(e,new a.JSXIdentifier(t.value))},t.prototype.parseJSXElementName=function(){var e=this.createJSXNode(),t=this.parseJSXIdentifier();if(this.matchJSX(":")){var n=t;this.expectJSX(":");var i=this.parseJSXIdentifier();t=this.finalize(e,new a.JSXNamespacedName(n,i))}else if(this.matchJSX("."))for(;this.matchJSX(".");){var r=t;this.expectJSX(".");var o=this.parseJSXIdentifier();t=this.finalize(e,new a.JSXMemberExpression(r,o))}return t},t.prototype.parseJSXAttributeName=function(){var e,t=this.createJSXNode(),n=this.parseJSXIdentifier();if(this.matchJSX(":")){var i=n;this.expectJSX(":");var r=this.parseJSXIdentifier();e=this.finalize(t,new a.JSXNamespacedName(i,r))}else e=n;return e},t.prototype.parseJSXStringLiteralAttribute=function(){var e=this.createJSXNode(),t=this.nextJSXToken();8!==t.type&&this.throwUnexpectedToken(t);var n=this.getTokenRaw(t);return this.finalize(e,new l.Literal(t.value,n))},t.prototype.parseJSXExpressionAttribute=function(){var e=this.createJSXNode();this.expectJSX("{"),this.finishJSX(),this.match("}")&&this.tolerateError("JSX attributes must only be assigned a non-empty expression");var t=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(e,new a.JSXExpressionContainer(t))},t.prototype.parseJSXAttributeValue=function(){return this.matchJSX("{")?this.parseJSXExpressionAttribute():this.matchJSX("<")?this.parseJSXElement():this.parseJSXStringLiteralAttribute()},t.prototype.parseJSXNameValueAttribute=function(){var e=this.createJSXNode(),t=this.parseJSXAttributeName(),n=null;return this.matchJSX("=")&&(this.expectJSX("="),n=this.parseJSXAttributeValue()),this.finalize(e,new a.JSXAttribute(t,n))},t.prototype.parseJSXSpreadAttribute=function(){var e=this.createJSXNode();this.expectJSX("{"),this.expectJSX("..."),this.finishJSX();var t=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(e,new a.JSXSpreadAttribute(t))},t.prototype.parseJSXAttributes=function(){for(var e=[];!this.matchJSX("/")&&!this.matchJSX(">");){var t=this.matchJSX("{")?this.parseJSXSpreadAttribute():this.parseJSXNameValueAttribute();e.push(t)}return e},t.prototype.parseJSXOpeningElement=function(){var e=this.createJSXNode();this.expectJSX("<");var t=this.parseJSXElementName(),n=this.parseJSXAttributes(),i=this.matchJSX("/");return i&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(e,new a.JSXOpeningElement(t,i,n))},t.prototype.parseJSXBoundaryElement=function(){var e=this.createJSXNode();if(this.expectJSX("<"),this.matchJSX("/")){this.expectJSX("/");var t=this.parseJSXElementName();return this.expectJSX(">"),this.finalize(e,new a.JSXClosingElement(t))}var n=this.parseJSXElementName(),i=this.parseJSXAttributes(),r=this.matchJSX("/");return r&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(e,new a.JSXOpeningElement(n,r,i))},t.prototype.parseJSXEmptyExpression=function(){var e=this.createJSXChildNode();return this.collectComments(),this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.finalize(e,new a.JSXEmptyExpression)},t.prototype.parseJSXExpressionContainer=function(){var e,t=this.createJSXNode();return this.expectJSX("{"),this.matchJSX("}")?(e=this.parseJSXEmptyExpression(),this.expectJSX("}")):(this.finishJSX(),e=this.parseAssignmentExpression(),this.reenterJSX()),this.finalize(t,new a.JSXExpressionContainer(e))},t.prototype.parseJSXChildren=function(){for(var e=[];!this.scanner.eof();){var t=this.createJSXChildNode(),n=this.nextJSXText();if(n.start0))break;o=this.finalize(e.node,new a.JSXElement(e.opening,e.children,e.closing)),(e=t[t.length-1]).children.push(o),t.pop()}}return e},t.prototype.parseJSXElement=function(){var e=this.createJSXNode(),t=this.parseJSXOpeningElement(),n=[],i=null;if(!t.selfClosing){var r=this.parseComplexJSXElement({node:e,opening:t,closing:i,children:n});n=r.children,i=r.closing}return this.finalize(e,new a.JSXElement(t,n,i))},t.prototype.parseJSXRoot=function(){this.config.tokens&&this.tokens.pop(),this.startJSX();var e=this.parseJSXElement();return this.finishJSX(),e},t.prototype.isStartOfExpression=function(){return e.prototype.isStartOfExpression.call(this)||this.match("<")},t}(u.Parser);t.JSXParser=m},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};t.Character={fromCodePoint:function(e){return e<65536?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10))+String.fromCharCode(56320+(e-65536&1023))},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStart:function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&n.NonAsciiIdentifierStart.test(t.Character.fromCodePoint(e))},isIdentifierPart:function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&n.NonAsciiIdentifierPart.test(t.Character.fromCodePoint(e))},isDecimalDigit:function(e){return e>=48&&e<=57},isHexDigit:function(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102},isOctalDigit:function(e){return e>=48&&e<=55}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(6);t.JSXClosingElement=function(e){this.type=i.JSXSyntax.JSXClosingElement,this.name=e};t.JSXElement=function(e,t,n){this.type=i.JSXSyntax.JSXElement,this.openingElement=e,this.children=t,this.closingElement=n};t.JSXEmptyExpression=function(){this.type=i.JSXSyntax.JSXEmptyExpression};t.JSXExpressionContainer=function(e){this.type=i.JSXSyntax.JSXExpressionContainer,this.expression=e};t.JSXIdentifier=function(e){this.type=i.JSXSyntax.JSXIdentifier,this.name=e};t.JSXMemberExpression=function(e,t){this.type=i.JSXSyntax.JSXMemberExpression,this.object=e,this.property=t};t.JSXAttribute=function(e,t){this.type=i.JSXSyntax.JSXAttribute,this.name=e,this.value=t};t.JSXNamespacedName=function(e,t){this.type=i.JSXSyntax.JSXNamespacedName,this.namespace=e,this.name=t};t.JSXOpeningElement=function(e,t,n){this.type=i.JSXSyntax.JSXOpeningElement,this.name=e,this.selfClosing=t,this.attributes=n};t.JSXSpreadAttribute=function(e){this.type=i.JSXSyntax.JSXSpreadAttribute,this.argument=e};t.JSXText=function(e,t){this.type=i.JSXSyntax.JSXText,this.value=e,this.raw=t}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JSXSyntax={JSXAttribute:"JSXAttribute",JSXClosingElement:"JSXClosingElement",JSXElement:"JSXElement",JSXEmptyExpression:"JSXEmptyExpression",JSXExpressionContainer:"JSXExpressionContainer",JSXIdentifier:"JSXIdentifier",JSXMemberExpression:"JSXMemberExpression",JSXNamespacedName:"JSXNamespacedName",JSXOpeningElement:"JSXOpeningElement",JSXSpreadAttribute:"JSXSpreadAttribute",JSXText:"JSXText"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2);t.ArrayExpression=function(e){this.type=i.Syntax.ArrayExpression,this.elements=e};t.ArrayPattern=function(e){this.type=i.Syntax.ArrayPattern,this.elements=e};t.ArrowFunctionExpression=function(e,t,n){this.type=i.Syntax.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=n,this.async=!1};t.AssignmentExpression=function(e,t,n){this.type=i.Syntax.AssignmentExpression,this.operator=e,this.left=t,this.right=n};t.AssignmentPattern=function(e,t){this.type=i.Syntax.AssignmentPattern,this.left=e,this.right=t};t.AsyncArrowFunctionExpression=function(e,t,n){this.type=i.Syntax.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=n,this.async=!0};t.AsyncFunctionDeclaration=function(e,t,n){this.type=i.Syntax.FunctionDeclaration,this.id=e,this.params=t,this.body=n,this.generator=!1,this.expression=!1,this.async=!0};t.AsyncFunctionExpression=function(e,t,n){this.type=i.Syntax.FunctionExpression,this.id=e,this.params=t,this.body=n,this.generator=!1,this.expression=!1,this.async=!0};t.AwaitExpression=function(e){this.type=i.Syntax.AwaitExpression,this.argument=e};t.BinaryExpression=function(e,t,n){var r="||"===e||"&&"===e;this.type=r?i.Syntax.LogicalExpression:i.Syntax.BinaryExpression,this.operator=e,this.left=t,this.right=n};t.BlockStatement=function(e){this.type=i.Syntax.BlockStatement,this.body=e};t.BreakStatement=function(e){this.type=i.Syntax.BreakStatement,this.label=e};t.CallExpression=function(e,t){this.type=i.Syntax.CallExpression,this.callee=e,this.arguments=t};t.CatchClause=function(e,t){this.type=i.Syntax.CatchClause,this.param=e,this.body=t};t.ClassBody=function(e){this.type=i.Syntax.ClassBody,this.body=e};t.ClassDeclaration=function(e,t,n){this.type=i.Syntax.ClassDeclaration,this.id=e,this.superClass=t,this.body=n};t.ClassExpression=function(e,t,n){this.type=i.Syntax.ClassExpression,this.id=e,this.superClass=t,this.body=n};t.ComputedMemberExpression=function(e,t){this.type=i.Syntax.MemberExpression,this.computed=!0,this.object=e,this.property=t};t.ConditionalExpression=function(e,t,n){this.type=i.Syntax.ConditionalExpression,this.test=e,this.consequent=t,this.alternate=n};t.ContinueStatement=function(e){this.type=i.Syntax.ContinueStatement,this.label=e};t.DebuggerStatement=function(){this.type=i.Syntax.DebuggerStatement};t.Directive=function(e,t){this.type=i.Syntax.ExpressionStatement,this.expression=e,this.directive=t};t.DoWhileStatement=function(e,t){this.type=i.Syntax.DoWhileStatement,this.body=e,this.test=t};t.EmptyStatement=function(){this.type=i.Syntax.EmptyStatement};t.ExportAllDeclaration=function(e){this.type=i.Syntax.ExportAllDeclaration,this.source=e};t.ExportDefaultDeclaration=function(e){this.type=i.Syntax.ExportDefaultDeclaration,this.declaration=e};t.ExportNamedDeclaration=function(e,t,n){this.type=i.Syntax.ExportNamedDeclaration,this.declaration=e,this.specifiers=t,this.source=n};t.ExportSpecifier=function(e,t){this.type=i.Syntax.ExportSpecifier,this.exported=t,this.local=e};t.ExpressionStatement=function(e){this.type=i.Syntax.ExpressionStatement,this.expression=e};t.ForInStatement=function(e,t,n){this.type=i.Syntax.ForInStatement,this.left=e,this.right=t,this.body=n,this.each=!1};t.ForOfStatement=function(e,t,n){this.type=i.Syntax.ForOfStatement,this.left=e,this.right=t,this.body=n};t.ForStatement=function(e,t,n,r){this.type=i.Syntax.ForStatement,this.init=e,this.test=t,this.update=n,this.body=r};t.FunctionDeclaration=function(e,t,n,r){this.type=i.Syntax.FunctionDeclaration,this.id=e,this.params=t,this.body=n,this.generator=r,this.expression=!1,this.async=!1};t.FunctionExpression=function(e,t,n,r){this.type=i.Syntax.FunctionExpression,this.id=e,this.params=t,this.body=n,this.generator=r,this.expression=!1,this.async=!1};t.Identifier=function(e){this.type=i.Syntax.Identifier,this.name=e};t.IfStatement=function(e,t,n){this.type=i.Syntax.IfStatement,this.test=e,this.consequent=t,this.alternate=n};t.ImportDeclaration=function(e,t){this.type=i.Syntax.ImportDeclaration,this.specifiers=e,this.source=t};t.ImportDefaultSpecifier=function(e){this.type=i.Syntax.ImportDefaultSpecifier,this.local=e};t.ImportNamespaceSpecifier=function(e){this.type=i.Syntax.ImportNamespaceSpecifier,this.local=e};t.ImportSpecifier=function(e,t){this.type=i.Syntax.ImportSpecifier,this.local=e,this.imported=t};t.LabeledStatement=function(e,t){this.type=i.Syntax.LabeledStatement,this.label=e,this.body=t};t.Literal=function(e,t){this.type=i.Syntax.Literal,this.value=e,this.raw=t};t.MetaProperty=function(e,t){this.type=i.Syntax.MetaProperty,this.meta=e,this.property=t};t.MethodDefinition=function(e,t,n,r,o){this.type=i.Syntax.MethodDefinition,this.key=e,this.computed=t,this.value=n,this.kind=r,this.static=o};t.Module=function(e){this.type=i.Syntax.Program,this.body=e,this.sourceType="module"};t.NewExpression=function(e,t){this.type=i.Syntax.NewExpression,this.callee=e,this.arguments=t};t.ObjectExpression=function(e){this.type=i.Syntax.ObjectExpression,this.properties=e};t.ObjectPattern=function(e){this.type=i.Syntax.ObjectPattern,this.properties=e};t.Property=function(e,t,n,r,o,a){this.type=i.Syntax.Property,this.key=t,this.computed=n,this.value=r,this.kind=e,this.method=o,this.shorthand=a};t.RegexLiteral=function(e,t,n,r){this.type=i.Syntax.Literal,this.value=e,this.raw=t,this.regex={pattern:n,flags:r}};t.RestElement=function(e){this.type=i.Syntax.RestElement,this.argument=e};t.ReturnStatement=function(e){this.type=i.Syntax.ReturnStatement,this.argument=e};t.Script=function(e){this.type=i.Syntax.Program,this.body=e,this.sourceType="script"};t.SequenceExpression=function(e){this.type=i.Syntax.SequenceExpression,this.expressions=e};t.SpreadElement=function(e){this.type=i.Syntax.SpreadElement,this.argument=e};t.StaticMemberExpression=function(e,t){this.type=i.Syntax.MemberExpression,this.computed=!1,this.object=e,this.property=t};t.Super=function(){this.type=i.Syntax.Super};t.SwitchCase=function(e,t){this.type=i.Syntax.SwitchCase,this.test=e,this.consequent=t};t.SwitchStatement=function(e,t){this.type=i.Syntax.SwitchStatement,this.discriminant=e,this.cases=t};t.TaggedTemplateExpression=function(e,t){this.type=i.Syntax.TaggedTemplateExpression,this.tag=e,this.quasi=t};t.TemplateElement=function(e,t){this.type=i.Syntax.TemplateElement,this.value=e,this.tail=t};t.TemplateLiteral=function(e,t){this.type=i.Syntax.TemplateLiteral,this.quasis=e,this.expressions=t};t.ThisExpression=function(){this.type=i.Syntax.ThisExpression};t.ThrowStatement=function(e){this.type=i.Syntax.ThrowStatement,this.argument=e};t.TryStatement=function(e,t,n){this.type=i.Syntax.TryStatement,this.block=e,this.handler=t,this.finalizer=n};t.UnaryExpression=function(e,t){this.type=i.Syntax.UnaryExpression,this.operator=e,this.argument=t,this.prefix=!0};t.UpdateExpression=function(e,t,n){this.type=i.Syntax.UpdateExpression,this.operator=e,this.argument=t,this.prefix=n};t.VariableDeclaration=function(e,t){this.type=i.Syntax.VariableDeclaration,this.declarations=e,this.kind=t};t.VariableDeclarator=function(e,t){this.type=i.Syntax.VariableDeclarator,this.id=e,this.init=t};t.WhileStatement=function(e,t){this.type=i.Syntax.WhileStatement,this.test=e,this.body=t};t.WithStatement=function(e,t){this.type=i.Syntax.WithStatement,this.object=e,this.body=t};t.YieldExpression=function(e,t){this.type=i.Syntax.YieldExpression,this.argument=e,this.delegate=t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(9),r=n(10),o=n(11),a=n(7),s=n(12),l=n(2),u=n(13),c="ArrowParameterPlaceHolder",f=function(){function e(e,t,n){void 0===t&&(t={}),this.config={range:"boolean"==typeof t.range&&t.range,loc:"boolean"==typeof t.loc&&t.loc,source:null,tokens:"boolean"==typeof t.tokens&&t.tokens,comment:"boolean"==typeof t.comment&&t.comment,tolerant:"boolean"==typeof t.tolerant&&t.tolerant},this.config.loc&&t.source&&null!==t.source&&(this.config.source=String(t.source)),this.delegate=n,this.errorHandler=new r.ErrorHandler,this.errorHandler.tolerant=this.config.tolerant,this.scanner=new s.Scanner(e,this.errorHandler),this.scanner.trackComment=this.config.comment,this.operatorPrecedence={")":0,";":0,",":0,"=":0,"]":0,"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":11,"/":11,"%":11},this.lookahead={type:2,value:"",lineNumber:this.scanner.lineNumber,lineStart:0,start:0,end:0},this.hasLineTerminator=!1,this.context={isModule:!1,await:!1,allowIn:!0,allowStrictDirective:!0,allowYield:!0,firstCoverInitializedNameError:null,isAssignmentTarget:!1,isBindingElement:!1,inFunctionBody:!1,inIteration:!1,inSwitch:!1,labelSet:{},strict:!1},this.tokens=[],this.startMarker={index:0,line:this.scanner.lineNumber,column:0},this.lastMarker={index:0,line:this.scanner.lineNumber,column:0},this.nextToken(),this.lastMarker={index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}return e.prototype.throwError=function(e){for(var t=[],n=1;n0&&this.delegate)for(var t=0;t>="===e||">>>="===e||"&="===e||"^="===e||"|="===e},e.prototype.isolateCoverGrammar=function(e){var t=this.context.isBindingElement,n=this.context.isAssignmentTarget,i=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var r=e.call(this);return null!==this.context.firstCoverInitializedNameError&&this.throwUnexpectedToken(this.context.firstCoverInitializedNameError),this.context.isBindingElement=t,this.context.isAssignmentTarget=n,this.context.firstCoverInitializedNameError=i,r},e.prototype.inheritCoverGrammar=function(e){var t=this.context.isBindingElement,n=this.context.isAssignmentTarget,i=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var r=e.call(this);return this.context.isBindingElement=this.context.isBindingElement&&t,this.context.isAssignmentTarget=this.context.isAssignmentTarget&&n,this.context.firstCoverInitializedNameError=i||this.context.firstCoverInitializedNameError,r},e.prototype.consumeSemicolon=function(){this.match(";")?this.nextToken():this.hasLineTerminator||(2===this.lookahead.type||this.match("}")||this.throwUnexpectedToken(this.lookahead),this.lastMarker.index=this.startMarker.index,this.lastMarker.line=this.startMarker.line,this.lastMarker.column=this.startMarker.column)},e.prototype.parsePrimaryExpression=function(){var e,t,n,i=this.createNode();switch(this.lookahead.type){case 3:(this.context.isModule||this.context.await)&&"await"===this.lookahead.value&&this.tolerateUnexpectedToken(this.lookahead),e=this.matchAsyncFunction()?this.parseFunctionExpression():this.finalize(i,new a.Identifier(this.nextToken().value));break;case 6:case 8:this.context.strict&&this.lookahead.octal&&this.tolerateUnexpectedToken(this.lookahead,o.Messages.StrictOctalLiteral),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(i,new a.Literal(t.value,n));break;case 1:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(i,new a.Literal("true"===t.value,n));break;case 5:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(i,new a.Literal(null,n));break;case 10:e=this.parseTemplateLiteral();break;case 7:switch(this.lookahead.value){case"(":this.context.isBindingElement=!1,e=this.inheritCoverGrammar(this.parseGroupExpression);break;case"[":e=this.inheritCoverGrammar(this.parseArrayInitializer);break;case"{":e=this.inheritCoverGrammar(this.parseObjectInitializer);break;case"/":case"/=":this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.scanner.index=this.startMarker.index,t=this.nextRegexToken(),n=this.getTokenRaw(t),e=this.finalize(i,new a.RegexLiteral(t.regex,n,t.pattern,t.flags));break;default:e=this.throwUnexpectedToken(this.nextToken())}break;case 4:!this.context.strict&&this.context.allowYield&&this.matchKeyword("yield")?e=this.parseIdentifierName():!this.context.strict&&this.matchKeyword("let")?e=this.finalize(i,new a.Identifier(this.nextToken().value)):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.matchKeyword("function")?e=this.parseFunctionExpression():this.matchKeyword("this")?(this.nextToken(),e=this.finalize(i,new a.ThisExpression)):e=this.matchKeyword("class")?this.parseClassExpression():this.throwUnexpectedToken(this.nextToken()));break;default:e=this.throwUnexpectedToken(this.nextToken())}return e},e.prototype.parseSpreadElement=function(){var e=this.createNode();this.expect("...");var t=this.inheritCoverGrammar(this.parseAssignmentExpression);return this.finalize(e,new a.SpreadElement(t))},e.prototype.parseArrayInitializer=function(){var e=this.createNode(),t=[];for(this.expect("[");!this.match("]");)if(this.match(","))this.nextToken(),t.push(null);else if(this.match("...")){var n=this.parseSpreadElement();this.match("]")||(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.expect(",")),t.push(n)}else t.push(this.inheritCoverGrammar(this.parseAssignmentExpression)),this.match("]")||this.expect(",");return this.expect("]"),this.finalize(e,new a.ArrayExpression(t))},e.prototype.parsePropertyMethod=function(e){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var t=this.context.strict,n=this.context.allowStrictDirective;this.context.allowStrictDirective=e.simple;var i=this.isolateCoverGrammar(this.parseFunctionSourceElements);return this.context.strict&&e.firstRestricted&&this.tolerateUnexpectedToken(e.firstRestricted,e.message),this.context.strict&&e.stricted&&this.tolerateUnexpectedToken(e.stricted,e.message),this.context.strict=t,this.context.allowStrictDirective=n,i},e.prototype.parsePropertyMethodFunction=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters(),i=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,i,!1))},e.prototype.parsePropertyMethodAsyncFunction=function(){var e=this.createNode(),t=this.context.allowYield,n=this.context.await;this.context.allowYield=!1,this.context.await=!0;var i=this.parseFormalParameters(),r=this.parsePropertyMethod(i);return this.context.allowYield=t,this.context.await=n,this.finalize(e,new a.AsyncFunctionExpression(null,i.params,r))},e.prototype.parseObjectPropertyKey=function(){var e,t=this.createNode(),n=this.nextToken();switch(n.type){case 8:case 6:this.context.strict&&n.octal&&this.tolerateUnexpectedToken(n,o.Messages.StrictOctalLiteral);var i=this.getTokenRaw(n);e=this.finalize(t,new a.Literal(n.value,i));break;case 3:case 1:case 5:case 4:e=this.finalize(t,new a.Identifier(n.value));break;case 7:"["===n.value?(e=this.isolateCoverGrammar(this.parseAssignmentExpression),this.expect("]")):e=this.throwUnexpectedToken(n);break;default:e=this.throwUnexpectedToken(n)}return e},e.prototype.isPropertyKey=function(e,t){return e.type===l.Syntax.Identifier&&e.name===t||e.type===l.Syntax.Literal&&e.value===t},e.prototype.parseObjectProperty=function(e){var t,n=this.createNode(),i=this.lookahead,r=null,s=null,l=!1,u=!1,c=!1,f=!1;if(3===i.type){var d=i.value;this.nextToken(),l=this.match("["),r=(f=!(this.hasLineTerminator||"async"!==d||this.match(":")||this.match("(")||this.match("*")||this.match(",")))?this.parseObjectPropertyKey():this.finalize(n,new a.Identifier(d))}else this.match("*")?this.nextToken():(l=this.match("["),r=this.parseObjectPropertyKey());var m=this.qualifiedPropertyName(this.lookahead);if(3===i.type&&!f&&"get"===i.value&&m)t="get",l=this.match("["),r=this.parseObjectPropertyKey(),this.context.allowYield=!1,s=this.parseGetterMethod();else if(3===i.type&&!f&&"set"===i.value&&m)t="set",l=this.match("["),r=this.parseObjectPropertyKey(),s=this.parseSetterMethod();else if(7===i.type&&"*"===i.value&&m)t="init",l=this.match("["),r=this.parseObjectPropertyKey(),s=this.parseGeneratorMethod(),u=!0;else if(r||this.throwUnexpectedToken(this.lookahead),t="init",this.match(":")&&!f)!l&&this.isPropertyKey(r,"__proto__")&&(e.value&&this.tolerateError(o.Messages.DuplicateProtoProperty),e.value=!0),this.nextToken(),s=this.inheritCoverGrammar(this.parseAssignmentExpression);else if(this.match("("))s=f?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),u=!0;else if(3===i.type)if(d=this.finalize(n,new a.Identifier(i.value)),this.match("=")){this.context.firstCoverInitializedNameError=this.lookahead,this.nextToken(),c=!0;var p=this.isolateCoverGrammar(this.parseAssignmentExpression);s=this.finalize(n,new a.AssignmentPattern(d,p))}else c=!0,s=d;else this.throwUnexpectedToken(this.nextToken());return this.finalize(n,new a.Property(t,r,l,s,u,c))},e.prototype.parseObjectInitializer=function(){var e=this.createNode();this.expect("{");for(var t=[],n={value:!1};!this.match("}");)t.push(this.parseObjectProperty(n)),this.match("}")||this.expectCommaSeparator();return this.expect("}"),this.finalize(e,new a.ObjectExpression(t))},e.prototype.parseTemplateHead=function(){i.assert(this.lookahead.head,"Template literal must start with a template head");var e=this.createNode(),t=this.nextToken(),n=t.value,r=t.cooked;return this.finalize(e,new a.TemplateElement({raw:n,cooked:r},t.tail))},e.prototype.parseTemplateElement=function(){10!==this.lookahead.type&&this.throwUnexpectedToken();var e=this.createNode(),t=this.nextToken(),n=t.value,i=t.cooked;return this.finalize(e,new a.TemplateElement({raw:n,cooked:i},t.tail))},e.prototype.parseTemplateLiteral=function(){var e=this.createNode(),t=[],n=[],i=this.parseTemplateHead();for(n.push(i);!i.tail;)t.push(this.parseExpression()),i=this.parseTemplateElement(),n.push(i);return this.finalize(e,new a.TemplateLiteral(n,t))},e.prototype.reinterpretExpressionAsPattern=function(e){switch(e.type){case l.Syntax.Identifier:case l.Syntax.MemberExpression:case l.Syntax.RestElement:case l.Syntax.AssignmentPattern:break;case l.Syntax.SpreadElement:e.type=l.Syntax.RestElement,this.reinterpretExpressionAsPattern(e.argument);break;case l.Syntax.ArrayExpression:e.type=l.Syntax.ArrayPattern;for(var t=0;t")||this.expect("=>"),e={type:c,params:[],async:!1};else{var t=this.lookahead,n=[];if(this.match("..."))e=this.parseRestElement(n),this.expect(")"),this.match("=>")||this.expect("=>"),e={type:c,params:[e],async:!1};else{var i=!1;if(this.context.isBindingElement=!0,e=this.inheritCoverGrammar(this.parseAssignmentExpression),this.match(",")){var r=[];for(this.context.isAssignmentTarget=!1,r.push(e);2!==this.lookahead.type&&this.match(",");){if(this.nextToken(),this.match(")")){this.nextToken();for(var o=0;o")||this.expect("=>"),this.context.isBindingElement=!1,o=0;o")&&(e.type===l.Syntax.Identifier&&"yield"===e.name&&(i=!0,e={type:c,params:[e],async:!1}),!i)){if(this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),e.type===l.Syntax.SequenceExpression)for(o=0;o")){for(var l=0;l0){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;for(var r=[e,this.lookahead],o=t,s=this.isolateCoverGrammar(this.parseExponentiationExpression),l=[o,n.value,s],u=[i];!((i=this.binaryPrecedence(this.lookahead))<=0);){for(;l.length>2&&i<=u[u.length-1];){s=l.pop();var c=l.pop();u.pop(),o=l.pop(),r.pop();var f=this.startNode(r[r.length-1]);l.push(this.finalize(f,new a.BinaryExpression(c,o,s)))}l.push(this.nextToken().value),u.push(i),r.push(this.lookahead),l.push(this.isolateCoverGrammar(this.parseExponentiationExpression))}var d=l.length-1;t=l[d];for(var m=r.pop();d>1;){var p=r.pop(),h=m&&m.lineStart;f=this.startNode(p,h),c=l[d-1],t=this.finalize(f,new a.BinaryExpression(c,l[d-2],t)),d-=2,m=p}}return t},e.prototype.parseConditionalExpression=function(){var e=this.lookahead,t=this.inheritCoverGrammar(this.parseBinaryExpression);if(this.match("?")){this.nextToken();var n=this.context.allowIn;this.context.allowIn=!0;var i=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=n,this.expect(":");var r=this.isolateCoverGrammar(this.parseAssignmentExpression);t=this.finalize(this.startNode(e),new a.ConditionalExpression(t,i,r)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return t},e.prototype.checkPatternParam=function(e,t){switch(t.type){case l.Syntax.Identifier:this.validateParam(e,t,t.name);break;case l.Syntax.RestElement:this.checkPatternParam(e,t.argument);break;case l.Syntax.AssignmentPattern:this.checkPatternParam(e,t.left);break;case l.Syntax.ArrayPattern:for(var n=0;n")){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var r=e.async,s=this.reinterpretAsCoverFormalsList(e);if(s){this.hasLineTerminator&&this.tolerateUnexpectedToken(this.lookahead),this.context.firstCoverInitializedNameError=null;var u=this.context.strict,f=this.context.allowStrictDirective;this.context.allowStrictDirective=s.simple;var d=this.context.allowYield,m=this.context.await;this.context.allowYield=!0,this.context.await=r;var p=this.startNode(t);this.expect("=>");var h=void 0;if(this.match("{")){var g=this.context.allowIn;this.context.allowIn=!0,h=this.parseFunctionSourceElements(),this.context.allowIn=g}else h=this.isolateCoverGrammar(this.parseAssignmentExpression);var y=h.type!==l.Syntax.BlockStatement;this.context.strict&&s.firstRestricted&&this.throwUnexpectedToken(s.firstRestricted,s.message),this.context.strict&&s.stricted&&this.tolerateUnexpectedToken(s.stricted,s.message),e=r?this.finalize(p,new a.AsyncArrowFunctionExpression(s.params,h,y)):this.finalize(p,new a.ArrowFunctionExpression(s.params,h,y)),this.context.strict=u,this.context.allowStrictDirective=f,this.context.allowYield=d,this.context.await=m}}else if(this.matchAssign()){if(this.context.isAssignmentTarget||this.tolerateError(o.Messages.InvalidLHSInAssignment),this.context.strict&&e.type===l.Syntax.Identifier){var v=e;this.scanner.isRestrictedWord(v.name)&&this.tolerateUnexpectedToken(n,o.Messages.StrictLHSAssignment),this.scanner.isStrictModeReservedWord(v.name)&&this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord)}this.match("=")?this.reinterpretExpressionAsPattern(e):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1);var C=(n=this.nextToken()).value,x=this.isolateCoverGrammar(this.parseAssignmentExpression);e=this.finalize(this.startNode(t),new a.AssignmentExpression(C,e,x)),this.context.firstCoverInitializedNameError=null}}return e},e.prototype.parseExpression=function(){var e=this.lookahead,t=this.isolateCoverGrammar(this.parseAssignmentExpression);if(this.match(",")){var n=[];for(n.push(t);2!==this.lookahead.type&&this.match(",");)this.nextToken(),n.push(this.isolateCoverGrammar(this.parseAssignmentExpression));t=this.finalize(this.startNode(e),new a.SequenceExpression(n))}return t},e.prototype.parseStatementListItem=function(){var e;if(this.context.isAssignmentTarget=!0,this.context.isBindingElement=!0,4===this.lookahead.type)switch(this.lookahead.value){case"export":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,o.Messages.IllegalExportDeclaration),e=this.parseExportDeclaration();break;case"import":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,o.Messages.IllegalImportDeclaration),e=this.parseImportDeclaration();break;case"const":e=this.parseLexicalDeclaration({inFor:!1});break;case"function":e=this.parseFunctionDeclaration();break;case"class":e=this.parseClassDeclaration();break;case"let":e=this.isLexicalDeclaration()?this.parseLexicalDeclaration({inFor:!1}):this.parseStatement();break;default:e=this.parseStatement()}else e=this.parseStatement();return e},e.prototype.parseBlock=function(){var e=this.createNode();this.expect("{");for(var t=[];!this.match("}");)t.push(this.parseStatementListItem());return this.expect("}"),this.finalize(e,new a.BlockStatement(t))},e.prototype.parseLexicalBinding=function(e,t){var n=this.createNode(),i=this.parsePattern([],e);this.context.strict&&i.type===l.Syntax.Identifier&&this.scanner.isRestrictedWord(i.name)&&this.tolerateError(o.Messages.StrictVarName);var r=null;return"const"===e?this.matchKeyword("in")||this.matchContextualKeyword("of")||(this.match("=")?(this.nextToken(),r=this.isolateCoverGrammar(this.parseAssignmentExpression)):this.throwError(o.Messages.DeclarationMissingInitializer,"const")):(!t.inFor&&i.type!==l.Syntax.Identifier||this.match("="))&&(this.expect("="),r=this.isolateCoverGrammar(this.parseAssignmentExpression)),this.finalize(n,new a.VariableDeclarator(i,r))},e.prototype.parseBindingList=function(e,t){for(var n=[this.parseLexicalBinding(e,t)];this.match(",");)this.nextToken(),n.push(this.parseLexicalBinding(e,t));return n},e.prototype.isLexicalDeclaration=function(){var e=this.scanner.saveState();this.scanner.scanComments();var t=this.scanner.lex();return this.scanner.restoreState(e),3===t.type||7===t.type&&"["===t.value||7===t.type&&"{"===t.value||4===t.type&&"let"===t.value||4===t.type&&"yield"===t.value},e.prototype.parseLexicalDeclaration=function(e){var t=this.createNode(),n=this.nextToken().value;i.assert("let"===n||"const"===n,"Lexical declaration must be either let or const");var r=this.parseBindingList(n,e);return this.consumeSemicolon(),this.finalize(t,new a.VariableDeclaration(r,n))},e.prototype.parseBindingRestElement=function(e,t){var n=this.createNode();this.expect("...");var i=this.parsePattern(e,t);return this.finalize(n,new a.RestElement(i))},e.prototype.parseArrayPattern=function(e,t){var n=this.createNode();this.expect("[");for(var i=[];!this.match("]");)if(this.match(","))this.nextToken(),i.push(null);else{if(this.match("...")){i.push(this.parseBindingRestElement(e,t));break}i.push(this.parsePatternWithDefault(e,t)),this.match("]")||this.expect(",")}return this.expect("]"),this.finalize(n,new a.ArrayPattern(i))},e.prototype.parsePropertyPattern=function(e,t){var n,i,r=this.createNode(),o=!1,s=!1;if(3===this.lookahead.type){var l=this.lookahead;n=this.parseVariableIdentifier();var u=this.finalize(r,new a.Identifier(l.value));if(this.match("=")){e.push(l),s=!0,this.nextToken();var c=this.parseAssignmentExpression();i=this.finalize(this.startNode(l),new a.AssignmentPattern(u,c))}else this.match(":")?(this.expect(":"),i=this.parsePatternWithDefault(e,t)):(e.push(l),s=!0,i=u)}else o=this.match("["),n=this.parseObjectPropertyKey(),this.expect(":"),i=this.parsePatternWithDefault(e,t);return this.finalize(r,new a.Property("init",n,o,i,!1,s))},e.prototype.parseObjectPattern=function(e,t){var n=this.createNode(),i=[];for(this.expect("{");!this.match("}");)i.push(this.parsePropertyPattern(e,t)),this.match("}")||this.expect(",");return this.expect("}"),this.finalize(n,new a.ObjectPattern(i))},e.prototype.parsePattern=function(e,t){var n;return this.match("[")?n=this.parseArrayPattern(e,t):this.match("{")?n=this.parseObjectPattern(e,t):(!this.matchKeyword("let")||"const"!==t&&"let"!==t||this.tolerateUnexpectedToken(this.lookahead,o.Messages.LetInLexicalBinding),e.push(this.lookahead),n=this.parseVariableIdentifier(t)),n},e.prototype.parsePatternWithDefault=function(e,t){var n=this.lookahead,i=this.parsePattern(e,t);if(this.match("=")){this.nextToken();var r=this.context.allowYield;this.context.allowYield=!0;var o=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowYield=r,i=this.finalize(this.startNode(n),new a.AssignmentPattern(i,o))}return i},e.prototype.parseVariableIdentifier=function(e){var t=this.createNode(),n=this.nextToken();return 4===n.type&&"yield"===n.value?this.context.strict?this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord):this.context.allowYield||this.throwUnexpectedToken(n):3!==n.type?this.context.strict&&4===n.type&&this.scanner.isStrictModeReservedWord(n.value)?this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord):(this.context.strict||"let"!==n.value||"var"!==e)&&this.throwUnexpectedToken(n):(this.context.isModule||this.context.await)&&3===n.type&&"await"===n.value&&this.tolerateUnexpectedToken(n),this.finalize(t,new a.Identifier(n.value))},e.prototype.parseVariableDeclaration=function(e){var t=this.createNode(),n=this.parsePattern([],"var");this.context.strict&&n.type===l.Syntax.Identifier&&this.scanner.isRestrictedWord(n.name)&&this.tolerateError(o.Messages.StrictVarName);var i=null;return this.match("=")?(this.nextToken(),i=this.isolateCoverGrammar(this.parseAssignmentExpression)):n.type===l.Syntax.Identifier||e.inFor||this.expect("="),this.finalize(t,new a.VariableDeclarator(n,i))},e.prototype.parseVariableDeclarationList=function(e){var t={inFor:e.inFor},n=[];for(n.push(this.parseVariableDeclaration(t));this.match(",");)this.nextToken(),n.push(this.parseVariableDeclaration(t));return n},e.prototype.parseVariableStatement=function(){var e=this.createNode();this.expectKeyword("var");var t=this.parseVariableDeclarationList({inFor:!1});return this.consumeSemicolon(),this.finalize(e,new a.VariableDeclaration(t,"var"))},e.prototype.parseEmptyStatement=function(){var e=this.createNode();return this.expect(";"),this.finalize(e,new a.EmptyStatement)},e.prototype.parseExpressionStatement=function(){var e=this.createNode(),t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ExpressionStatement(t))},e.prototype.parseIfClause=function(){return this.context.strict&&this.matchKeyword("function")&&this.tolerateError(o.Messages.StrictFunction),this.parseStatement()},e.prototype.parseIfStatement=function(){var e,t=this.createNode(),n=null;this.expectKeyword("if"),this.expect("(");var i=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement)):(this.expect(")"),e=this.parseIfClause(),this.matchKeyword("else")&&(this.nextToken(),n=this.parseIfClause())),this.finalize(t,new a.IfStatement(i,e,n))},e.prototype.parseDoWhileStatement=function(){var e=this.createNode();this.expectKeyword("do");var t=this.context.inIteration;this.context.inIteration=!0;var n=this.parseStatement();this.context.inIteration=t,this.expectKeyword("while"),this.expect("(");var i=this.parseExpression();return!this.match(")")&&this.config.tolerant?this.tolerateUnexpectedToken(this.nextToken()):(this.expect(")"),this.match(";")&&this.nextToken()),this.finalize(e,new a.DoWhileStatement(n,i))},e.prototype.parseWhileStatement=function(){var e,t=this.createNode();this.expectKeyword("while"),this.expect("(");var n=this.parseExpression();if(!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement);else{this.expect(")");var i=this.context.inIteration;this.context.inIteration=!0,e=this.parseStatement(),this.context.inIteration=i}return this.finalize(t,new a.WhileStatement(n,e))},e.prototype.parseForStatement=function(){var e,t,n,i=null,r=null,s=null,u=!0,c=this.createNode();if(this.expectKeyword("for"),this.expect("("),this.match(";"))this.nextToken();else if(this.matchKeyword("var")){i=this.createNode(),this.nextToken();var f=this.context.allowIn;this.context.allowIn=!1;var d=this.parseVariableDeclarationList({inFor:!0});if(this.context.allowIn=f,1===d.length&&this.matchKeyword("in")){var m=d[0];m.init&&(m.id.type===l.Syntax.ArrayPattern||m.id.type===l.Syntax.ObjectPattern||this.context.strict)&&this.tolerateError(o.Messages.ForInOfLoopInitializer,"for-in"),i=this.finalize(i,new a.VariableDeclaration(d,"var")),this.nextToken(),e=i,t=this.parseExpression(),i=null}else 1===d.length&&null===d[0].init&&this.matchContextualKeyword("of")?(i=this.finalize(i,new a.VariableDeclaration(d,"var")),this.nextToken(),e=i,t=this.parseAssignmentExpression(),i=null,u=!1):(i=this.finalize(i,new a.VariableDeclaration(d,"var")),this.expect(";"))}else if(this.matchKeyword("const")||this.matchKeyword("let")){i=this.createNode();var p=this.nextToken().value;this.context.strict||"in"!==this.lookahead.value?(f=this.context.allowIn,this.context.allowIn=!1,d=this.parseBindingList(p,{inFor:!0}),this.context.allowIn=f,1===d.length&&null===d[0].init&&this.matchKeyword("in")?(i=this.finalize(i,new a.VariableDeclaration(d,p)),this.nextToken(),e=i,t=this.parseExpression(),i=null):1===d.length&&null===d[0].init&&this.matchContextualKeyword("of")?(i=this.finalize(i,new a.VariableDeclaration(d,p)),this.nextToken(),e=i,t=this.parseAssignmentExpression(),i=null,u=!1):(this.consumeSemicolon(),i=this.finalize(i,new a.VariableDeclaration(d,p)))):(i=this.finalize(i,new a.Identifier(p)),this.nextToken(),e=i,t=this.parseExpression(),i=null)}else{var h=this.lookahead;if(f=this.context.allowIn,this.context.allowIn=!1,i=this.inheritCoverGrammar(this.parseAssignmentExpression),this.context.allowIn=f,this.matchKeyword("in"))this.context.isAssignmentTarget&&i.type!==l.Syntax.AssignmentExpression||this.tolerateError(o.Messages.InvalidLHSInForIn),this.nextToken(),this.reinterpretExpressionAsPattern(i),e=i,t=this.parseExpression(),i=null;else if(this.matchContextualKeyword("of"))this.context.isAssignmentTarget&&i.type!==l.Syntax.AssignmentExpression||this.tolerateError(o.Messages.InvalidLHSInForLoop),this.nextToken(),this.reinterpretExpressionAsPattern(i),e=i,t=this.parseAssignmentExpression(),i=null,u=!1;else{if(this.match(",")){for(var g=[i];this.match(",");)this.nextToken(),g.push(this.isolateCoverGrammar(this.parseAssignmentExpression));i=this.finalize(this.startNode(h),new a.SequenceExpression(g))}this.expect(";")}}if(void 0===e&&(this.match(";")||(r=this.parseExpression()),this.expect(";"),this.match(")")||(s=this.parseExpression())),!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),n=this.finalize(this.createNode(),new a.EmptyStatement);else{this.expect(")");var y=this.context.inIteration;this.context.inIteration=!0,n=this.isolateCoverGrammar(this.parseStatement),this.context.inIteration=y}return void 0===e?this.finalize(c,new a.ForStatement(i,r,s,n)):u?this.finalize(c,new a.ForInStatement(e,t,n)):this.finalize(c,new a.ForOfStatement(e,t,n))},e.prototype.parseContinueStatement=function(){var e=this.createNode();this.expectKeyword("continue");var t=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var n=this.parseVariableIdentifier();t=n;var i="$"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,i)||this.throwError(o.Messages.UnknownLabel,n.name)}return this.consumeSemicolon(),null!==t||this.context.inIteration||this.throwError(o.Messages.IllegalContinue),this.finalize(e,new a.ContinueStatement(t))},e.prototype.parseBreakStatement=function(){var e=this.createNode();this.expectKeyword("break");var t=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var n=this.parseVariableIdentifier(),i="$"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,i)||this.throwError(o.Messages.UnknownLabel,n.name),t=n}return this.consumeSemicolon(),null!==t||this.context.inIteration||this.context.inSwitch||this.throwError(o.Messages.IllegalBreak),this.finalize(e,new a.BreakStatement(t))},e.prototype.parseReturnStatement=function(){this.context.inFunctionBody||this.tolerateError(o.Messages.IllegalReturn);var e=this.createNode();this.expectKeyword("return");var t=(this.match(";")||this.match("}")||this.hasLineTerminator||2===this.lookahead.type)&&8!==this.lookahead.type&&10!==this.lookahead.type?null:this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ReturnStatement(t))},e.prototype.parseWithStatement=function(){this.context.strict&&this.tolerateError(o.Messages.StrictModeWith);var e,t=this.createNode();this.expectKeyword("with"),this.expect("(");var n=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement)):(this.expect(")"),e=this.parseStatement()),this.finalize(t,new a.WithStatement(n,e))},e.prototype.parseSwitchCase=function(){var e,t=this.createNode();this.matchKeyword("default")?(this.nextToken(),e=null):(this.expectKeyword("case"),e=this.parseExpression()),this.expect(":");for(var n=[];!(this.match("}")||this.matchKeyword("default")||this.matchKeyword("case"));)n.push(this.parseStatementListItem());return this.finalize(t,new a.SwitchCase(e,n))},e.prototype.parseSwitchStatement=function(){var e=this.createNode();this.expectKeyword("switch"),this.expect("(");var t=this.parseExpression();this.expect(")");var n=this.context.inSwitch;this.context.inSwitch=!0;var i=[],r=!1;for(this.expect("{");!this.match("}");){var s=this.parseSwitchCase();null===s.test&&(r&&this.throwError(o.Messages.MultipleDefaultsInSwitch),r=!0),i.push(s)}return this.expect("}"),this.context.inSwitch=n,this.finalize(e,new a.SwitchStatement(t,i))},e.prototype.parseLabelledStatement=function(){var e,t=this.createNode(),n=this.parseExpression();if(n.type===l.Syntax.Identifier&&this.match(":")){this.nextToken();var i=n,r="$"+i.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,r)&&this.throwError(o.Messages.Redeclaration,"Label",i.name),this.context.labelSet[r]=!0;var s=void 0;if(this.matchKeyword("class"))this.tolerateUnexpectedToken(this.lookahead),s=this.parseClassDeclaration();else if(this.matchKeyword("function")){var u=this.lookahead,c=this.parseFunctionDeclaration();this.context.strict?this.tolerateUnexpectedToken(u,o.Messages.StrictFunction):c.generator&&this.tolerateUnexpectedToken(u,o.Messages.GeneratorInLegacyContext),s=c}else s=this.parseStatement();delete this.context.labelSet[r],e=new a.LabeledStatement(i,s)}else this.consumeSemicolon(),e=new a.ExpressionStatement(n);return this.finalize(t,e)},e.prototype.parseThrowStatement=function(){var e=this.createNode();this.expectKeyword("throw"),this.hasLineTerminator&&this.throwError(o.Messages.NewlineAfterThrow);var t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ThrowStatement(t))},e.prototype.parseCatchClause=function(){var e=this.createNode();this.expectKeyword("catch"),this.expect("("),this.match(")")&&this.throwUnexpectedToken(this.lookahead);for(var t=[],n=this.parsePattern(t),i={},r=0;r0&&this.tolerateError(o.Messages.BadGetterArity);var i=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,i,!1))},e.prototype.parseSetterMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters();1!==n.params.length?this.tolerateError(o.Messages.BadSetterArity):n.params[0]instanceof a.RestElement&&this.tolerateError(o.Messages.BadSetterRestParameter);var i=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,i,!1))},e.prototype.parseGeneratorMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters();this.context.allowYield=!1;var i=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,i,!0))},e.prototype.isStartOfExpression=function(){var e=!0,t=this.lookahead.value;switch(this.lookahead.type){case 7:e="["===t||"("===t||"{"===t||"+"===t||"-"===t||"!"===t||"~"===t||"++"===t||"--"===t||"/"===t||"/="===t;break;case 4:e="class"===t||"delete"===t||"function"===t||"let"===t||"new"===t||"super"===t||"this"===t||"typeof"===t||"void"===t||"yield"===t}return e},e.prototype.parseYieldExpression=function(){var e=this.createNode();this.expectKeyword("yield");var t=null,n=!1;if(!this.hasLineTerminator){var i=this.context.allowYield;this.context.allowYield=!1,(n=this.match("*"))?(this.nextToken(),t=this.parseAssignmentExpression()):this.isStartOfExpression()&&(t=this.parseAssignmentExpression()),this.context.allowYield=i}return this.finalize(e,new a.YieldExpression(t,n))},e.prototype.parseClassElement=function(e){var t=this.lookahead,n=this.createNode(),i="",r=null,s=null,l=!1,u=!1,c=!1,f=!1;if(this.match("*"))this.nextToken();else if(l=this.match("["),"static"===(r=this.parseObjectPropertyKey()).name&&(this.qualifiedPropertyName(this.lookahead)||this.match("*"))&&(t=this.lookahead,c=!0,l=this.match("["),this.match("*")?this.nextToken():r=this.parseObjectPropertyKey()),3===t.type&&!this.hasLineTerminator&&"async"===t.value){var d=this.lookahead.value;":"!==d&&"("!==d&&"*"!==d&&(f=!0,t=this.lookahead,r=this.parseObjectPropertyKey(),3===t.type&&"constructor"===t.value&&this.tolerateUnexpectedToken(t,o.Messages.ConstructorIsAsync))}var m=this.qualifiedPropertyName(this.lookahead);return 3===t.type?"get"===t.value&&m?(i="get",l=this.match("["),r=this.parseObjectPropertyKey(),this.context.allowYield=!1,s=this.parseGetterMethod()):"set"===t.value&&m&&(i="set",l=this.match("["),r=this.parseObjectPropertyKey(),s=this.parseSetterMethod()):7===t.type&&"*"===t.value&&m&&(i="init",l=this.match("["),r=this.parseObjectPropertyKey(),s=this.parseGeneratorMethod(),u=!0),!i&&r&&this.match("(")&&(i="init",s=f?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),u=!0),i||this.throwUnexpectedToken(this.lookahead),"init"===i&&(i="method"),l||(c&&this.isPropertyKey(r,"prototype")&&this.throwUnexpectedToken(t,o.Messages.StaticPrototype),!c&&this.isPropertyKey(r,"constructor")&&(("method"!==i||!u||s&&s.generator)&&this.throwUnexpectedToken(t,o.Messages.ConstructorSpecialMethod),e.value?this.throwUnexpectedToken(t,o.Messages.DuplicateConstructor):e.value=!0,i="constructor")),this.finalize(n,new a.MethodDefinition(r,l,s,i,c))},e.prototype.parseClassElementList=function(){var e=[],t={value:!1};for(this.expect("{");!this.match("}");)this.match(";")?this.nextToken():e.push(this.parseClassElement(t));return this.expect("}"),e},e.prototype.parseClassBody=function(){var e=this.createNode(),t=this.parseClassElementList();return this.finalize(e,new a.ClassBody(t))},e.prototype.parseClassDeclaration=function(e){var t=this.createNode(),n=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var i=e&&3!==this.lookahead.type?null:this.parseVariableIdentifier(),r=null;this.matchKeyword("extends")&&(this.nextToken(),r=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var o=this.parseClassBody();return this.context.strict=n,this.finalize(t,new a.ClassDeclaration(i,r,o))},e.prototype.parseClassExpression=function(){var e=this.createNode(),t=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var n=3===this.lookahead.type?this.parseVariableIdentifier():null,i=null;this.matchKeyword("extends")&&(this.nextToken(),i=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var r=this.parseClassBody();return this.context.strict=t,this.finalize(e,new a.ClassExpression(n,i,r))},e.prototype.parseModule=function(){this.context.strict=!0,this.context.isModule=!0,this.scanner.isModule=!0;for(var e=this.createNode(),t=this.parseDirectivePrologues();2!==this.lookahead.type;)t.push(this.parseStatementListItem());return this.finalize(e,new a.Module(t))},e.prototype.parseScript=function(){for(var e=this.createNode(),t=this.parseDirectivePrologues();2!==this.lookahead.type;)t.push(this.parseStatementListItem());return this.finalize(e,new a.Script(t))},e.prototype.parseModuleSpecifier=function(){var e=this.createNode();8!==this.lookahead.type&&this.throwError(o.Messages.InvalidModuleSpecifier);var t=this.nextToken(),n=this.getTokenRaw(t);return this.finalize(e,new a.Literal(t.value,n))},e.prototype.parseImportSpecifier=function(){var e,t,n=this.createNode();return 3===this.lookahead.type?(t=e=this.parseVariableIdentifier(),this.matchContextualKeyword("as")&&(this.nextToken(),t=this.parseVariableIdentifier())):(t=e=this.parseIdentifierName(),this.matchContextualKeyword("as")?(this.nextToken(),t=this.parseVariableIdentifier()):this.throwUnexpectedToken(this.nextToken())),this.finalize(n,new a.ImportSpecifier(t,e))},e.prototype.parseNamedImports=function(){this.expect("{");for(var e=[];!this.match("}");)e.push(this.parseImportSpecifier()),this.match("}")||this.expect(",");return this.expect("}"),e},e.prototype.parseImportDefaultSpecifier=function(){var e=this.createNode(),t=this.parseIdentifierName();return this.finalize(e,new a.ImportDefaultSpecifier(t))},e.prototype.parseImportNamespaceSpecifier=function(){var e=this.createNode();this.expect("*"),this.matchContextualKeyword("as")||this.throwError(o.Messages.NoAsAfterImportNamespace),this.nextToken();var t=this.parseIdentifierName();return this.finalize(e,new a.ImportNamespaceSpecifier(t))},e.prototype.parseImportDeclaration=function(){this.context.inFunctionBody&&this.throwError(o.Messages.IllegalImportDeclaration);var e,t=this.createNode();this.expectKeyword("import");var n=[];if(8===this.lookahead.type)e=this.parseModuleSpecifier();else{if(this.match("{")?n=n.concat(this.parseNamedImports()):this.match("*")?n.push(this.parseImportNamespaceSpecifier()):this.isIdentifierName(this.lookahead)&&!this.matchKeyword("default")?(n.push(this.parseImportDefaultSpecifier()),this.match(",")&&(this.nextToken(),this.match("*")?n.push(this.parseImportNamespaceSpecifier()):this.match("{")?n=n.concat(this.parseNamedImports()):this.throwUnexpectedToken(this.lookahead))):this.throwUnexpectedToken(this.nextToken()),!this.matchContextualKeyword("from")){var i=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause;this.throwError(i,this.lookahead.value)}this.nextToken(),e=this.parseModuleSpecifier()}return this.consumeSemicolon(),this.finalize(t,new a.ImportDeclaration(n,e))},e.prototype.parseExportSpecifier=function(){var e=this.createNode(),t=this.parseIdentifierName(),n=t;return this.matchContextualKeyword("as")&&(this.nextToken(),n=this.parseIdentifierName()),this.finalize(e,new a.ExportSpecifier(t,n))},e.prototype.parseExportDeclaration=function(){this.context.inFunctionBody&&this.throwError(o.Messages.IllegalExportDeclaration);var e,t=this.createNode();if(this.expectKeyword("export"),this.matchKeyword("default"))if(this.nextToken(),this.matchKeyword("function")){var n=this.parseFunctionDeclaration(!0);e=this.finalize(t,new a.ExportDefaultDeclaration(n))}else this.matchKeyword("class")?(n=this.parseClassDeclaration(!0),e=this.finalize(t,new a.ExportDefaultDeclaration(n))):this.matchContextualKeyword("async")?(n=this.matchAsyncFunction()?this.parseFunctionDeclaration(!0):this.parseAssignmentExpression(),e=this.finalize(t,new a.ExportDefaultDeclaration(n))):(this.matchContextualKeyword("from")&&this.throwError(o.Messages.UnexpectedToken,this.lookahead.value),n=this.match("{")?this.parseObjectInitializer():this.match("[")?this.parseArrayInitializer():this.parseAssignmentExpression(),this.consumeSemicolon(),e=this.finalize(t,new a.ExportDefaultDeclaration(n)));else if(this.match("*")){if(this.nextToken(),!this.matchContextualKeyword("from")){var i=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause;this.throwError(i,this.lookahead.value)}this.nextToken();var r=this.parseModuleSpecifier();this.consumeSemicolon(),e=this.finalize(t,new a.ExportAllDeclaration(r))}else if(4===this.lookahead.type){switch(n=void 0,this.lookahead.value){case"let":case"const":n=this.parseLexicalDeclaration({inFor:!1});break;case"var":case"class":case"function":n=this.parseStatementListItem();break;default:this.throwUnexpectedToken(this.lookahead)}e=this.finalize(t,new a.ExportNamedDeclaration(n,[],null))}else if(this.matchAsyncFunction())n=this.parseFunctionDeclaration(),e=this.finalize(t,new a.ExportNamedDeclaration(n,[],null));else{var s=[],l=null,u=!1;for(this.expect("{");!this.match("}");)u=u||this.matchKeyword("default"),s.push(this.parseExportSpecifier()),this.match("}")||this.expect(",");this.expect("}"),this.matchContextualKeyword("from")?(this.nextToken(),l=this.parseModuleSpecifier(),this.consumeSemicolon()):u?(i=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause,this.throwError(i,this.lookahead.value)):this.consumeSemicolon(),e=this.finalize(t,new a.ExportNamedDeclaration(null,s,l))}return e},e}();t.Parser=f},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assert=function(e,t){if(!e)throw new Error("ASSERT: "+t)}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){this.errors=[],this.tolerant=!1}return e.prototype.recordError=function(e){this.errors.push(e)},e.prototype.tolerate=function(e){if(!this.tolerant)throw e;this.recordError(e)},e.prototype.constructError=function(e,t){var n=new Error(e);try{throw n}catch(e){Object.create&&Object.defineProperty&&(n=Object.create(e),Object.defineProperty(n,"column",{value:t}))}return n},e.prototype.createError=function(e,t,n,i){var r="Line "+t+": "+i,o=this.constructError(r,n);return o.index=e,o.lineNumber=t,o.description=i,o},e.prototype.throwError=function(e,t,n,i){throw this.createError(e,t,n,i)},e.prototype.tolerateError=function(e,t,n,i){var r=this.createError(e,t,n,i);if(!this.tolerant)throw r;this.recordError(r)},e}();t.ErrorHandler=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Messages={BadGetterArity:"Getter must not have any formal parameters",BadSetterArity:"Setter must have exactly one formal parameter",BadSetterRestParameter:"Setter function argument must not be a rest parameter",ConstructorIsAsync:"Class constructor may not be an async method",ConstructorSpecialMethod:"Class constructor may not be an accessor",DeclarationMissingInitializer:"Missing initializer in %0 declaration",DefaultRestParameter:"Unexpected token =",DuplicateBinding:"Duplicate binding %0",DuplicateConstructor:"A class may only have one constructor",DuplicateProtoProperty:"Duplicate __proto__ fields are not allowed in object literals",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInLegacyContext:"Generator declarations are not allowed in legacy contexts",IllegalBreak:"Illegal break statement",IllegalContinue:"Illegal continue statement",IllegalExportDeclaration:"Unexpected token",IllegalImportDeclaration:"Unexpected token",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list",IllegalReturn:"Illegal return statement",InvalidEscapedReservedWord:"Keyword must not contain escaped characters",InvalidHexEscapeSequence:"Invalid hexadecimal escape sequence",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",InvalidLHSInForLoop:"Invalid left-hand side in for-loop",InvalidModuleSpecifier:"Unexpected token",InvalidRegExp:"Invalid regular expression",LetInLexicalBinding:"let is disallowed as a lexically bound name",MissingFromClause:"Unexpected token",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NewlineAfterThrow:"Illegal newline after throw",NoAsAfterImportNamespace:"Unexpected token",NoCatchOrFinally:"Missing catch or finally after try",ParameterAfterRestParameter:"Rest parameter must be last formal parameter",Redeclaration:"%0 '%1' has already been declared",StaticPrototype:"Classes may not have static property named prototype",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictModeWith:"Strict mode code may not include a with statement",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictReservedWord:"Use of future reserved word in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",TemplateOctalLiteral:"Octal literals are not allowed in template strings.",UnexpectedEOS:"Unexpected end of input",UnexpectedIdentifier:"Unexpected identifier",UnexpectedNumber:"Unexpected number",UnexpectedReserved:"Unexpected reserved word",UnexpectedString:"Unexpected string",UnexpectedTemplate:"Unexpected quasi %0",UnexpectedToken:"Unexpected token %0",UnexpectedTokenIllegal:"Unexpected token ILLEGAL",UnknownLabel:"Undefined label '%0'",UnterminatedRegExp:"Invalid regular expression: missing /"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(9),r=n(4),o=n(11);function a(e){return"0123456789abcdef".indexOf(e.toLowerCase())}function s(e){return"01234567".indexOf(e)}var l=function(){function e(e,t){this.source=e,this.errorHandler=t,this.trackComment=!1,this.isModule=!1,this.length=e.length,this.index=0,this.lineNumber=e.length>0?1:0,this.lineStart=0,this.curlyStack=[]}return e.prototype.saveState=function(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart}},e.prototype.restoreState=function(e){this.index=e.index,this.lineNumber=e.lineNumber,this.lineStart=e.lineStart},e.prototype.eof=function(){return this.index>=this.length},e.prototype.throwUnexpectedToken=function(e){return void 0===e&&(e=o.Messages.UnexpectedTokenIllegal),this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,e)},e.prototype.tolerateUnexpectedToken=function(e){void 0===e&&(e=o.Messages.UnexpectedTokenIllegal),this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,e)},e.prototype.skipSingleLineComment=function(e){var t,n,i=[];for(this.trackComment&&(i=[],t=this.index-e,n={start:{line:this.lineNumber,column:this.index-this.lineStart-e},end:{}});!this.eof();){var o=this.source.charCodeAt(this.index);if(++this.index,r.Character.isLineTerminator(o)){if(this.trackComment){n.end={line:this.lineNumber,column:this.index-this.lineStart-1};var a={multiLine:!1,slice:[t+e,this.index-1],range:[t,this.index-1],loc:n};i.push(a)}return 13===o&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,i}}return this.trackComment&&(n.end={line:this.lineNumber,column:this.index-this.lineStart},a={multiLine:!1,slice:[t+e,this.index],range:[t,this.index],loc:n},i.push(a)),i},e.prototype.skipMultiLineComment=function(){var e,t,n=[];for(this.trackComment&&(n=[],e=this.index-2,t={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{}});!this.eof();){var i=this.source.charCodeAt(this.index);if(r.Character.isLineTerminator(i))13===i&&10===this.source.charCodeAt(this.index+1)&&++this.index,++this.lineNumber,++this.index,this.lineStart=this.index;else if(42===i){if(47===this.source.charCodeAt(this.index+1)){if(this.index+=2,this.trackComment){t.end={line:this.lineNumber,column:this.index-this.lineStart};var o={multiLine:!0,slice:[e+2,this.index-2],range:[e,this.index],loc:t};n.push(o)}return n}++this.index}else++this.index}return this.trackComment&&(t.end={line:this.lineNumber,column:this.index-this.lineStart},o={multiLine:!0,slice:[e+2,this.index],range:[e,this.index],loc:t},n.push(o)),this.tolerateUnexpectedToken(),n},e.prototype.scanComments=function(){var e;this.trackComment&&(e=[]);for(var t=0===this.index;!this.eof();){var n=this.source.charCodeAt(this.index);if(r.Character.isWhiteSpace(n))++this.index;else if(r.Character.isLineTerminator(n))++this.index,13===n&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,t=!0;else if(47===n)if(47===(n=this.source.charCodeAt(this.index+1))){this.index+=2;var i=this.skipSingleLineComment(2);this.trackComment&&(e=e.concat(i)),t=!0}else{if(42!==n)break;this.index+=2,i=this.skipMultiLineComment(),this.trackComment&&(e=e.concat(i))}else if(t&&45===n){if(45!==this.source.charCodeAt(this.index+1)||62!==this.source.charCodeAt(this.index+2))break;this.index+=3,i=this.skipSingleLineComment(3),this.trackComment&&(e=e.concat(i))}else{if(60!==n||this.isModule)break;if("!--"!==this.source.slice(this.index+1,this.index+4))break;this.index+=4,i=this.skipSingleLineComment(4),this.trackComment&&(e=e.concat(i))}}return e},e.prototype.isFutureReservedWord=function(e){switch(e){case"enum":case"export":case"import":case"super":return!0;default:return!1}},e.prototype.isStrictModeReservedWord=function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0;default:return!1}},e.prototype.isRestrictedWord=function(e){return"eval"===e||"arguments"===e},e.prototype.isKeyword=function(e){switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e||"let"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}},e.prototype.codePointAt=function(e){var t=this.source.charCodeAt(e);if(t>=55296&&t<=56319){var n=this.source.charCodeAt(e+1);n>=56320&&n<=57343&&(t=1024*(t-55296)+n-56320+65536)}return t},e.prototype.scanHexEscape=function(e){for(var t="u"===e?4:2,n=0,i=0;i1114111||"}"!==e)&&this.throwUnexpectedToken(),r.Character.fromCodePoint(t)},e.prototype.getIdentifier=function(){for(var e=this.index++;!this.eof();){var t=this.source.charCodeAt(this.index);if(92===t)return this.index=e,this.getComplexIdentifier();if(t>=55296&&t<57343)return this.index=e,this.getComplexIdentifier();if(!r.Character.isIdentifierPart(t))break;++this.index}return this.source.slice(e,this.index)},e.prototype.getComplexIdentifier=function(){var e,t=this.codePointAt(this.index),n=r.Character.fromCodePoint(t);for(this.index+=n.length,92===t&&(117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,"{"===this.source[this.index]?(++this.index,e=this.scanUnicodeCodePointEscape()):null!==(e=this.scanHexEscape("u"))&&"\\"!==e&&r.Character.isIdentifierStart(e.charCodeAt(0))||this.throwUnexpectedToken(),n=e);!this.eof()&&(t=this.codePointAt(this.index),r.Character.isIdentifierPart(t));)n+=e=r.Character.fromCodePoint(t),this.index+=e.length,92===t&&(n=n.substr(0,n.length-1),117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,"{"===this.source[this.index]?(++this.index,e=this.scanUnicodeCodePointEscape()):null!==(e=this.scanHexEscape("u"))&&"\\"!==e&&r.Character.isIdentifierPart(e.charCodeAt(0))||this.throwUnexpectedToken(),n+=e);return n},e.prototype.octalToDecimal=function(e){var t="0"!==e,n=s(e);return!this.eof()&&r.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(t=!0,n=8*n+s(this.source[this.index++]),"0123".indexOf(e)>=0&&!this.eof()&&r.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(n=8*n+s(this.source[this.index++]))),{code:n,octal:t}},e.prototype.scanIdentifier=function(){var e,t=this.index,n=92===this.source.charCodeAt(t)?this.getComplexIdentifier():this.getIdentifier();if(3!=(e=1===n.length?3:this.isKeyword(n)?4:"null"===n?5:"true"===n||"false"===n?1:3)&&t+n.length!==this.index){var i=this.index;this.index=t,this.tolerateUnexpectedToken(o.Messages.InvalidEscapedReservedWord),this.index=i}return{type:e,value:n,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},e.prototype.scanPunctuator=function(){var e=this.index,t=this.source[this.index];switch(t){case"(":case"{":"{"===t&&this.curlyStack.push("{"),++this.index;break;case".":++this.index,"."===this.source[this.index]&&"."===this.source[this.index+1]&&(this.index+=2,t="...");break;case"}":++this.index,this.curlyStack.pop();break;case")":case";":case",":case"[":case"]":case":":case"?":case"~":++this.index;break;default:">>>="===(t=this.source.substr(this.index,4))?this.index+=4:"==="===(t=t.substr(0,3))||"!=="===t||">>>"===t||"<<="===t||">>="===t||"**="===t?this.index+=3:"&&"===(t=t.substr(0,2))||"||"===t||"=="===t||"!="===t||"+="===t||"-="===t||"*="===t||"/="===t||"++"===t||"--"===t||"<<"===t||">>"===t||"&="===t||"|="===t||"^="===t||"%="===t||"<="===t||">="===t||"=>"===t||"**"===t?this.index+=2:(t=this.source[this.index],"<>=!+-*%&|^/".indexOf(t)>=0&&++this.index)}return this.index===e&&this.throwUnexpectedToken(),{type:7,value:t,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanHexLiteral=function(e){for(var t="";!this.eof()&&r.Character.isHexDigit(this.source.charCodeAt(this.index));)t+=this.source[this.index++];return 0===t.length&&this.throwUnexpectedToken(),r.Character.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseInt("0x"+t,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanBinaryLiteral=function(e){for(var t,n="";!this.eof()&&("0"===(t=this.source[this.index])||"1"===t);)n+=this.source[this.index++];return 0===n.length&&this.throwUnexpectedToken(),this.eof()||(t=this.source.charCodeAt(this.index),(r.Character.isIdentifierStart(t)||r.Character.isDecimalDigit(t))&&this.throwUnexpectedToken()),{type:6,value:parseInt(n,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanOctalLiteral=function(e,t){var n="",i=!1;for(r.Character.isOctalDigit(e.charCodeAt(0))?(i=!0,n="0"+this.source[this.index++]):++this.index;!this.eof()&&r.Character.isOctalDigit(this.source.charCodeAt(this.index));)n+=this.source[this.index++];return i||0!==n.length||this.throwUnexpectedToken(),(r.Character.isIdentifierStart(this.source.charCodeAt(this.index))||r.Character.isDecimalDigit(this.source.charCodeAt(this.index)))&&this.throwUnexpectedToken(),{type:6,value:parseInt(n,8),octal:i,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},e.prototype.isImplicitOctalLiteral=function(){for(var e=this.index+1;e=0&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g,(function(e,t,n){var r=parseInt(t||n,16);return r>1114111&&i.throwUnexpectedToken(o.Messages.InvalidRegExp),r<=65535?String.fromCharCode(r):"￿"})).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"￿"));try{RegExp(n)}catch(e){this.throwUnexpectedToken(o.Messages.InvalidRegExp)}try{return new RegExp(e,t)}catch(e){return null}},e.prototype.scanRegExpBody=function(){var e=this.source[this.index];i.assert("/"===e,"Regular expression literal must start with a slash");for(var t=this.source[this.index++],n=!1,a=!1;!this.eof();)if(t+=e=this.source[this.index++],"\\"===e)e=this.source[this.index++],r.Character.isLineTerminator(e.charCodeAt(0))&&this.throwUnexpectedToken(o.Messages.UnterminatedRegExp),t+=e;else if(r.Character.isLineTerminator(e.charCodeAt(0)))this.throwUnexpectedToken(o.Messages.UnterminatedRegExp);else if(n)"]"===e&&(n=!1);else{if("/"===e){a=!0;break}"["===e&&(n=!0)}return a||this.throwUnexpectedToken(o.Messages.UnterminatedRegExp),t.substr(1,t.length-2)},e.prototype.scanRegExpFlags=function(){for(var e="";!this.eof();){var t=this.source[this.index];if(!r.Character.isIdentifierPart(t.charCodeAt(0)))break;if(++this.index,"\\"!==t||this.eof())e+=t;else if("u"===(t=this.source[this.index])){++this.index;var n=this.index,i=this.scanHexEscape("u");if(null!==i)for(e+=i;n=55296&&e<57343&&r.Character.isIdentifierStart(this.codePointAt(this.index))?this.scanIdentifier():this.scanPunctuator()},e}();t.Scanner=l},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenName={},t.TokenName[1]="Boolean",t.TokenName[2]="",t.TokenName[3]="Identifier",t.TokenName[4]="Keyword",t.TokenName[5]="Null",t.TokenName[6]="Numeric",t.TokenName[7]="Punctuator",t.TokenName[8]="String",t.TokenName[9]="RegularExpression",t.TokenName[10]="Template"},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.XHTMLEntities={quot:'"',amp:"&",apos:"'",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",lang:"⟨",rang:"⟩"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),r=n(12),o=n(13),a=function(){function e(){this.values=[],this.curly=this.paren=-1}return e.prototype.beforeFunctionExpression=function(e){return["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","**","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="].indexOf(e)>=0},e.prototype.isRegexStart=function(){var e=this.values[this.values.length-1],t=null!==e;switch(e){case"this":case"]":t=!1;break;case")":var n=this.values[this.paren-1];t="if"===n||"while"===n||"for"===n||"with"===n;break;case"}":if(t=!1,"function"===this.values[this.curly-3])t=!!(i=this.values[this.curly-4])&&!this.beforeFunctionExpression(i);else if("function"===this.values[this.curly-4]){var i;t=!(i=this.values[this.curly-5])||!this.beforeFunctionExpression(i)}}return t},e.prototype.push=function(e){7===e.type||4===e.type?("{"===e.value?this.curly=this.values.length:"("===e.value&&(this.paren=this.values.length),this.values.push(e.value)):this.values.push(null)},e}(),s=function(){function e(e,t){this.errorHandler=new i.ErrorHandler,this.errorHandler.tolerant=!!t&&"boolean"==typeof t.tolerant&&t.tolerant,this.scanner=new r.Scanner(e,this.errorHandler),this.scanner.trackComment=!!t&&"boolean"==typeof t.comment&&t.comment,this.trackRange=!!t&&"boolean"==typeof t.range&&t.range,this.trackLoc=!!t&&"boolean"==typeof t.loc&&t.loc,this.buffer=[],this.reader=new a}return e.prototype.errors=function(){return this.errorHandler.errors},e.prototype.getNextToken=function(){if(0===this.buffer.length){var e=this.scanner.scanComments();if(this.scanner.trackComment)for(var t=0;t-1&&n>=e.flowLevel;switch(function(e,t,n,i,r){var o,a,s,l=!1,u=!1,f=-1!==i,I=-1,P=B(s=e.charCodeAt(0))&&65279!==s&&!U(s)&&s!==x&&s!==E&&s!==b&&s!==C&&s!==A&&s!==R&&s!==k&&s!==w&&s!==p&&s!==g&&s!==v&&s!==d&&s!==T&&s!==S&&s!==y&&s!==m&&s!==h&&s!==D&&s!==M&&!U(e.charCodeAt(e.length-1));if(t)for(o=0;oi&&" "!==e[I+1],I=o);else if(!B(a))return G;P=P&&F(a)}u=u||f&&o-I-1>i&&" "!==e[I+1]}return l||u?n>9&&q(e)?G:u?V:H:P&&!r(e)?j:z}(t,s,e.indent,a,(function(t){return function(e,t){var n,i;for(n=0,i=e.implicitTypes.length;n"+K(t,e.indent)+Q(L(function(e,t){for(var n,i,r,o=/(\n+)([^\n]*)/g,a=(r=-1!==(r=e.indexOf("\n"))?r:e.length,o.lastIndex=r,J(e.slice(0,r),t)),s="\n"===e[0]||" "===e[0];i=o.exec(e);){var l=i[1],u=i[2];n=" "===u[0],a+=l+(s||n||""===u?"":"\n")+J(u,t),s=n}return a}(t,a),o));case G:return'"'+function(e){for(var t,n,i,r="",o=0;o=55296&&t<=56319&&(n=e.charCodeAt(o+1))>=56320&&n<=57343?(r+=O(1024*(t-55296)+n-56320+65536),o++):r+=!(i=I[t])&&B(t)?e[o]:i||O(t);return r}(t)+'"';default:throw new r("impossible error: invalid scalar style")}}()}function K(e,t){var n=q(e)?String(t):"",i="\n"===e[e.length-1];return n+(!i||"\n"!==e[e.length-2]&&"\n"!==e?i?"":"-":"+")+"\n"}function Q(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function J(e,t){if(""===e||" "===e[0])return e;for(var n,i,r=/ [^ ]/g,o=0,a=0,s=0,l="";n=r.exec(e);)(s=n.index)-o>t&&(i=a>o?a:s,l+="\n"+e.slice(o,i),o=i+1),a=s;return l+="\n",e.length-o>t&&a>o?l+=e.slice(o,a)+"\n"+e.slice(a+1):l+=e.slice(o),l.slice(1)}function X(e,t,n){var i,o,a,u,c,f;for(a=0,u=(o=n?e.explicitTypes:e.implicitTypes).length;a tag resolver accepts not "'+f+'" style');i=c.represent[f](t,f)}e.dump=i}return!0}return!1}function Y(e,t,n,i,o,a){e.tag=null,e.dump=n,X(e,n,!1)||X(e,n,!0);var l=s.call(e.dump);i&&(i=e.flowLevel<0||e.flowLevel>t);var u,f,d="[object Object]"===l||"[object Array]"===l;if(d&&(f=-1!==(u=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||f||2!==e.indent&&t>0)&&(o=!1),f&&e.usedDuplicates[u])e.dump="*ref_"+u;else{if(d&&f&&!e.usedDuplicates[u]&&(e.usedDuplicates[u]=!0),"[object Object]"===l)i&&0!==Object.keys(e.dump).length?(function(e,t,n,i){var o,a,s,l,u,f,d="",m=e.tag,p=Object.keys(n);if(!0===e.sortKeys)p.sort();else if("function"==typeof e.sortKeys)p.sort(e.sortKeys);else if(e.sortKeys)throw new r("sortKeys must be a boolean or a function");for(o=0,a=p.length;o1024)&&(e.dump&&c===e.dump.charCodeAt(0)?f+="?":f+="? "),f+=e.dump,u&&(f+=N(e,t)),Y(e,t+1,l,!0,u)&&(e.dump&&c===e.dump.charCodeAt(0)?f+=":":f+=": ",d+=f+=e.dump));e.tag=m,e.dump=d||"{}"}(e,t,e.dump,o),f&&(e.dump="&ref_"+u+e.dump)):(function(e,t,n){var i,r,o,a,s,l="",u=e.tag,c=Object.keys(n);for(i=0,r=c.length;i1024&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),Y(e,t,a,!1,!1)&&(l+=s+=e.dump));e.tag=u,e.dump="{"+l+"}"}(e,t,e.dump),f&&(e.dump="&ref_"+u+" "+e.dump));else if("[object Array]"===l){var m=e.noArrayIndent&&t>0?t-1:t;i&&0!==e.dump.length?(function(e,t,n,i){var r,o,a="",s=e.tag;for(r=0,o=n.length;r "+e.dump)}return!0}function $(e,t){var n,i,r=[],o=[];for(Z(e,r,o),n=0,i=o.length;n>10),56320+(e-65536&1023))}for(var T=new Array(256),w=new Array(256),I=0;I<256;I++)T[I]=M(I)?1:0,w[I]=M(I);function P(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||s,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function O(e,t){return new r(t,new o(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function _(e,t){throw O(e,t)}function L(e,t){e.onWarning&&e.onWarning.call(null,O(e,t))}var N={YAML:function(e,t,n){var i,r,o;null!==e.version&&_(e,"duplication of %YAML directive"),1!==n.length&&_(e,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&_(e,"ill-formed argument of the YAML directive"),r=parseInt(i[1],10),o=parseInt(i[2],10),1!==r&&_(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=o<2,1!==o&&2!==o&&L(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,r;2!==n.length&&_(e,"TAG directive accepts exactly two arguments"),i=n[0],r=n[1],C.test(i)||_(e,"ill-formed tag handle (first argument) of the TAG directive"),l.call(e.tagMap,i)&&_(e,'there is a previously declared suffix for "'+i+'" tag handle'),x.test(r)||_(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[i]=r}};function U(e,t,n,i){var r,o,a,s;if(t1&&(e.result+=i.repeat("\n",t-1))}function V(e,t){var n,i,r=e.tag,o=e.anchor,a=[],s=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=a),i=e.input.charCodeAt(e.position);0!==i&&45===i&&D(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,j(e,!0,-1)&&e.lineIndent<=t)a.push(null),i=e.input.charCodeAt(e.position);else if(n=e.line,K(e,t,f,!1,!0),a.push(e.result),j(e,!0,-1),i=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==i)_(e,"bad indentation of a sequence entry");else if(e.lineIndentt?M=1:e.lineIndent===t?M=0:e.lineIndentt?M=1:e.lineIndent===t?M=0:e.lineIndentt)&&(K(e,t,d,!0,r)&&(y?h=e.result:g=e.result),y||(F(e,f,m,p,h,g,o,a),p=h=g=null),j(e,!0,-1),s=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==s)_(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===o?_(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?_(e,"repeat of an indentation width identifier"):(f=t+o-1,c=!0)}if(E(a)){do{a=e.input.charCodeAt(++e.position)}while(E(a));if(35===a)do{a=e.input.charCodeAt(++e.position)}while(!S(a)&&0!==a)}for(;0!==a;){for(q(e),e.lineIndent=0,a=e.input.charCodeAt(e.position);(!c||e.lineIndentf&&(f=e.lineIndent),S(a))d++;else{if(e.lineIndent0){for(r=a,o=0;r>0;r--)(a=R(s=e.input.charCodeAt(++e.position)))>=0?o=(o<<4)+a:_(e,"expected hexadecimal character");e.result+=k(o),e.position++}else _(e,"unknown escape sequence");n=i=e.position}else S(s)?(U(e,n,i,!0),H(e,j(e,!1,t)),n=i=e.position):e.position===e.lineStart&&z(e)?_(e,"unexpected end of the document within a double quoted scalar"):(e.position++,i=e.position)}_(e,"unexpected end of the stream within a double quoted scalar")}(e,x)?P=!0:function(e){var t,n,i;if(42!==(i=e.input.charCodeAt(e.position)))return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!D(i)&&!A(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&_(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(n)||_(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],j(e,!0,-1),!0}(e)?(P=!0,null===e.tag&&null===e.anchor||_(e,"alias node should not have any properties")):function(e,t,n){var i,r,o,a,s,l,u,c,f=e.kind,d=e.result;if(D(c=e.input.charCodeAt(e.position))||A(c)||35===c||38===c||42===c||33===c||124===c||62===c||39===c||34===c||37===c||64===c||96===c)return!1;if((63===c||45===c)&&(D(i=e.input.charCodeAt(e.position+1))||n&&A(i)))return!1;for(e.kind="scalar",e.result="",r=o=e.position,a=!1;0!==c;){if(58===c){if(D(i=e.input.charCodeAt(e.position+1))||n&&A(i))break}else if(35===c){if(D(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&z(e)||n&&A(c))break;if(S(c)){if(s=e.line,l=e.lineStart,u=e.lineIndent,j(e,!1,-1),e.lineIndent>=t){a=!0,c=e.input.charCodeAt(e.position);continue}e.position=o,e.line=s,e.lineStart=l,e.lineIndent=u;break}}a&&(U(e,r,o,!1),H(e,e.line-s),r=o=e.position,a=!1),E(c)||(o=e.position+1),c=e.input.charCodeAt(++e.position)}return U(e,r,o,!1),!!e.result||(e.kind=f,e.result=d,!1)}(e,x,u===n)&&(P=!0,null===e.tag&&(e.tag="?")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===M&&(P=g&&V(e,b))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(y=0,v=e.implicitTypes.length;y tag; it should be "'+C.kind+'", not "'+e.kind+'"'),C.resolve(e.result)?(e.result=C.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):_(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):_(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||P}function Q(e){var t,n,i,r,o=e.position,a=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(r=e.input.charCodeAt(e.position))&&(j(e,!0,-1),r=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==r));){for(a=!0,r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!D(r);)r=e.input.charCodeAt(++e.position);for(i=[],(n=e.input.slice(t,e.position)).length<1&&_(e,"directive name must not be less than one character in length");0!==r;){for(;E(r);)r=e.input.charCodeAt(++e.position);if(35===r){do{r=e.input.charCodeAt(++e.position)}while(0!==r&&!S(r));break}if(S(r))break;for(t=e.position;0!==r&&!D(r);)r=e.input.charCodeAt(++e.position);i.push(e.input.slice(t,e.position))}0!==r&&q(e),l.call(N,n)?N[n](e,n,i):L(e,'unknown document directive "'+n+'"')}j(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,j(e,!0,-1)):a&&_(e,"directives end mark is expected"),K(e,e.lineIndent-1,d,!1,!0),j(e,!0,-1),e.checkLineBreaks&&y.test(e.input.slice(o,e.position))&&L(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&z(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,j(e,!0,-1)):e.position0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(r-1));)if(r-=1,this.position-r>t/2-1){n=" ... ",r+=5;break}for(o="",a=this.position;at/2-1){o=" ... ",a-=5;break}return s=this.buffer.slice(r,a),i.repeat(" ",e)+n+s+o+"\n"+i.repeat(" ",e+this.position-r+n.length)+"^"},r.prototype.toString=function(e){var t,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet())&&(n+=":\n"+t),n},e.exports=r},2409:function(e,t,n){"use strict";var i=n(5596),r=n(4884),o=n(3899);function a(e,t,n){var i=[];return e.include.forEach((function(e){n=a(e,t,n)})),e[t].forEach((function(e){n.forEach((function(t,n){t.tag===e.tag&&t.kind===e.kind&&i.push(n)})),n.push(e)})),n.filter((function(e,t){return-1===i.indexOf(t)}))}function s(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach((function(e){if(e.loadKind&&"scalar"!==e.loadKind)throw new r("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")})),this.compiledImplicit=a(this,"implicit",[]),this.compiledExplicit=a(this,"explicit",[]),this.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{}};function i(e){n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e64)){if(t<0)return!1;i+=6}return i%8==0},construct:function(e){var t,n,r=e.replace(/[\r\n=]/g,""),a=r.length,s=o,l=0,u=[];for(t=0;t>16&255),u.push(l>>8&255),u.push(255&l)),l=l<<6|s.indexOf(r.charAt(t));return 0==(n=a%4*6)?(u.push(l>>16&255),u.push(l>>8&255),u.push(255&l)):18===n?(u.push(l>>10&255),u.push(l>>2&255)):12===n&&u.push(l>>4&255),i?i.from?i.from(u):new i(u):u},predicate:function(e){return i&&i.isBuffer(e)},represent:function(e){var t,n,i="",r=0,a=e.length,s=o;for(t=0;t>18&63],i+=s[r>>12&63],i+=s[r>>6&63],i+=s[63&r]),r=(r<<8)+e[t];return 0==(n=a%3)?(i+=s[r>>18&63],i+=s[r>>12&63],i+=s[r>>6&63],i+=s[63&r]):2===n?(i+=s[r>>10&63],i+=s[r>>4&63],i+=s[r<<2&63],i+=s[64]):1===n&&(i+=s[r>>2&63],i+=s[r<<4&63],i+=s[64],i+=s[64]),i}})},2648:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},3456:function(e,t,n){"use strict";var i=n(5596),r=n(3899),o=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),a=/^[-+]?[0-9]+e/;e.exports=new r("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!o.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n,i,r;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,r=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:t.indexOf(":")>=0?(t.split(":").forEach((function(e){r.unshift(parseFloat(e,10))})),t=0,i=1,r.forEach((function(e){t+=e*i,i*=60})),n*t):n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||i.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(i.isNegativeZero(e))return"-0.0";return n=e.toString(10),a.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"})},5979:function(e,t,n){"use strict";var i=n(5596),r=n(3899);function o(e){return 48<=e&&e<=55}function a(e){return 48<=e&&e<=57}e.exports=new r("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,i=e.length,r=0,s=!1;if(!i)return!1;if("-"!==(t=e[r])&&"+"!==t||(t=e[++r]),"0"===t){if(r+1===i)return!0;if("b"===(t=e[++r])){for(r++;r=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},9811:function(e,t,n){"use strict";var i;try{i=n(1072)}catch(e){"undefined"!=typeof window&&(i=window.esprima)}var r=n(3899);e.exports=new r("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:function(e){if(null===e)return!1;try{var t="("+e+")",n=i.parse(t,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&("ArrowFunctionExpression"===n.body[0].expression.type||"FunctionExpression"===n.body[0].expression.type)}catch(e){return!1}},construct:function(e){var t,n="("+e+")",r=i.parse(n,{range:!0}),o=[];if("Program"!==r.type||1!==r.body.length||"ExpressionStatement"!==r.body[0].type||"ArrowFunctionExpression"!==r.body[0].expression.type&&"FunctionExpression"!==r.body[0].expression.type)throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach((function(e){o.push(e.name)})),t=r.body[0].expression.body.range,"BlockStatement"===r.body[0].expression.body.type?new Function(o,n.slice(t[0]+1,t[1]-1)):new Function(o,"return "+n.slice(t[0],t[1]))},predicate:function(e){return"[object Function]"===Object.prototype.toString.call(e)},represent:function(e){return e.toString()}})},7287:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:function(e){if(null===e)return!1;if(0===e.length)return!1;var t=e,n=/\/([gim]*)$/.exec(e),i="";if("/"===t[0]){if(n&&(i=n[1]),i.length>3)return!1;if("/"!==t[t.length-i.length-1])return!1}return!0},construct:function(e){var t=e,n=/\/([gim]*)$/.exec(e),i="";return"/"===t[0]&&(n&&(i=n[1]),t=t.slice(1,t.length-i.length-1)),new RegExp(t,i)},predicate:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},represent:function(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}})},575:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:function(){return!0},construct:function(){},predicate:function(e){return void 0===e},represent:function(){return""}})},6553:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},243:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}})},3022:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},3878:function(e,t,n){"use strict";var i=n(3899),r=Object.prototype.hasOwnProperty,o=Object.prototype.toString;e.exports=new i("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,i,a,s,l=[],u=e;for(t=0,n=u.length;t0?" ".concat(n.layer):""," {")),i+=n.css,r&&(i+="}"),n.media&&(i+="}"),n.supports&&(i+="}");var o=n.sourceMap;o&&"undefined"!=typeof btoa&&(i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),t.styleTagTransform(i,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:function(e){"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},8549:function(e,t,n){var i=void 0===arguments?void 0:arguments,r=this;n(8045),n(9715),n(3034),n(4391);var o=n(4631),a=n(3320);n(3631),n(6876),n(2783),n(1380);var s=n(2346);document.getElementById("version").innerText="(version "+fhirpath.version+")";var l=function(e,t){var n;return function(){var o=r,a=i;clearTimeout(n),n=setTimeout((function(){return e.apply(o,a)}),t)}},u=document.getElementById("path"),c=document.getElementById("output");function f(){try{var e=document.querySelector('input[name="inputType"]:checked').value,t=d.getValue(),n=u.value;if(""!=n.trim()){var i="yaml"===e?a.safeLoad(t):JSON.parse(t);console.log(u.value,i);var r=fhirpath.evaluate(i,n,null,fhirpath_r4_model);c.innerHTML="
",c.childNodes.item(0).textContent=a.dump(JSON.parse(JSON.stringify(r)))}}catch(e){c.innerHTML='
',e.toString().replace(/\n/,"
"),c.childNodes.item(0).textContent=e.toString(),console.error(e)}}var d=o(document.getElementById("input"),{value:a.dump(s),lineNumbers:!0,mode:"yaml"});window.cm=d;var m=document.querySelector('input[name="inputType"]:checked').value;function p(e){var t=e.target.value;if(t!==m){if("json"===t){var n=d.getValue();d.setOption("mode","javascript"),d.setOption("json","true"),d.setValue(JSON.stringify(a.safeLoad(n),null,2))}else{var i=d.getValue();d.setOption("mode","yaml"),d.setValue(a.dump(JSON.parse(i)))}m=t}}for(var h=document.querySelectorAll('input[name="inputType"]'),g=0,y=h.length;g0?a-4:a;for(n=0;n>16&255,u[c++]=t>>8&255,u[c++]=255&t;return 2===s&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,u[c++]=255&t),1===s&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,u[c++]=t>>8&255,u[c++]=255&t),u},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,o=[],a=16383,s=0,l=i-r;sl?l:s+a));return 1===r?(t=e[i-1],o.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],o.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),o.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,s=o.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function u(e,t,i){for(var r,o,a=[],s=t;s>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},816:function(e,t,n){"use strict";var i=n(4782),r=n(8898),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.lW=l,t.h2=50;var a=2147483647;function s(e){if(e>a)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return f(e)}return u(e,t,n)}function u(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var n=0|h(e,t),i=s(n),r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return function(e){if(j(e,Uint8Array)){var t=new Uint8Array(e);return m(t.buffer,t.byteOffset,t.byteLength)}return d(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(j(e,ArrayBuffer)||e&&j(e.buffer,ArrayBuffer))return m(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(j(e,SharedArrayBuffer)||e&&j(e.buffer,SharedArrayBuffer)))return m(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');var i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return l.from(i,t,n);var r=function(e){if(l.isBuffer(e)){var t=0|p(e.length),n=s(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||z(e.length)?s(0):d(e):"Buffer"===e.type&&Array.isArray(e.data)?d(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function c(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function f(e){return c(e),s(e<0?0:0|p(e))}function d(e){for(var t=e.length<0?0:0|p(e.length),n=s(t),i=0;i=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function h(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||j(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return B(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return F(e).length;default:if(r)return i?-1:B(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return w(this,t,n);case"utf8":case"utf-8":return R(this,t,n);case"ascii":return k(this,t,n);case"latin1":case"binary":return T(this,t,n);case"base64":return A(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function y(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function v(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),z(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:C(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):C(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function C(e,t,n,i,r){var o,a=1,s=e.length,l=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,n/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(r){var c=-1;for(o=n;os&&(n=s-l),o=n;o>=0;o--){for(var f=!0,d=0;dr&&(i=r):i=r;var o=t.length;i>o/2&&(i=o/2);for(var a=0;a>8,r=n%256,o.push(r),o.push(i);return o}(t,e.length-n),e,n,i)}function A(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function R(e,t,n){n=Math.min(e.length,n);for(var i=[],r=t;r239?4:u>223?3:u>191?2:1;if(r+f<=n)switch(f){case 1:u<128&&(c=u);break;case 2:128==(192&(o=e[r+1]))&&(l=(31&u)<<6|63&o)>127&&(c=l);break;case 3:o=e[r+1],a=e[r+2],128==(192&o)&&128==(192&a)&&(l=(15&u)<<12|(63&o)<<6|63&a)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:o=e[r+1],a=e[r+2],s=e[r+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(l=(15&u)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&l<1114112&&(c=l)}null===c?(c=65533,f=1):c>65535&&(c-=65536,i.push(c>>>10&1023|55296),c=56320|1023&c),i.push(c),r+=f}return function(e){var t=e.length;if(t<=M)return String.fromCharCode.apply(String,e);for(var n="",i=0;ii.length?l.from(o).copy(i,r):Uint8Array.prototype.set.call(i,o,r);else{if(!l.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,r)}r+=o.length}return i},l.byteLength=h,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;tn&&(e+=" ... "),""},o&&(l.prototype[o]=l.prototype.inspect),l.prototype.compare=function(e,t,n,i,r){if(j(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(r>>>=0)-(i>>>=0),a=(n>>>=0)-(t>>>=0),s=Math.min(o,a),u=this.slice(i,r),c=e.slice(t,n),f=0;f>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return x(this,e,t,n);case"utf8":case"utf-8":return b(this,e,t,n);case"ascii":case"latin1":case"binary":return S(this,e,t,n);case"base64":return E(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return D(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var M=4096;function k(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;ri)&&(n=i);for(var r="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function O(e,t,n,i,r,o){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function _(e,t,n,i,r,o){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,i,o){return t=+t,n>>>=0,o||_(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function N(e,t,n,i,o){return t=+t,n>>>=0,o||_(e,0,n,8),r.write(e,t,n,i,52,8),n+8}l.prototype.slice=function(e,t){var n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e],r=1,o=0;++o>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e+--t],r=1;t>0&&(r*=256);)i+=this[e+--t]*r;return i},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e],r=1,o=0;++o=(r*=128)&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||P(e,t,this.length);for(var i=t,r=1,o=this[e+--i];i>0&&(r*=256);)o+=this[e+--i]*r;return o>=(r*=128)&&(o-=Math.pow(2,8*t)),o},l.prototype.readInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||P(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||P(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return e>>>=0,t||P(e,4,this.length),r.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||P(e,4,this.length),r.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||P(e,8,this.length),r.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||P(e,8,this.length),r.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||O(this,e,t,n,Math.pow(2,8*n)-1,0);var r=1,o=0;for(this[t]=255&e;++o>>=0,n>>>=0,i||O(this,e,t,n,Math.pow(2,8*n)-1,0);var r=n-1,o=1;for(this[t+r]=255&e;--r>=0&&(o*=256);)this[t+r]=e/o&255;return t+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){var r=Math.pow(2,8*n-1);O(this,e,t,n,r-1,-r)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+n},l.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){var r=Math.pow(2,8*n-1);O(this,e,t,n,r-1,-r)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return N(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return N(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,i){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===i){(t-=3)>-1&&o.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&o.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function F(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(U,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function q(e,t,n,i){for(var r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function j(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function z(e){return e!=e}var H=function(){for(var e="0123456789abcdef",t=new Array(256),n=0;n<16;++n)for(var i=16*n,r=0;r<16;++r)t[i+r]=e[n]+e[r];return t}()},8898:function(e,t){t.read=function(e,t,n,i,r){var o,a,s=8*r-i-1,l=(1<>1,c=-7,f=n?r-1:0,d=n?-1:1,m=e[t+f];for(f+=d,o=m&(1<<-c)-1,m>>=-c,c+=s;c>0;o=256*o+e[t+f],f+=d,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=i;c>0;a=256*a+e[t+f],f+=d,c-=8);if(0===o)o=1-u;else{if(o===l)return a?NaN:1/0*(m?-1:1);a+=Math.pow(2,i),o-=u}return(m?-1:1)*a*Math.pow(2,o-i)},t.write=function(e,t,n,i,r,o){var a,s,l,u=8*o-r-1,c=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,m=i?0:o-1,p=i?1:-1,h=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+f>=1?d/l:d*Math.pow(2,1-f))*l>=2&&(a++,l/=2),a+f>=c?(s=0,a=c):a+f>=1?(s=(t*l-1)*Math.pow(2,r),a+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,r),a=0));r>=8;e[n+m]=255&s,m+=p,s/=256,r-=8);for(a=a<0;e[n+m]=255&a,m+=p,a/=256,u-=8);e[n+m-p]|=128*h}}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={id:i,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.p="",n.nc=void 0,n(8549)}(); +!function(){var e={3034:function(){!function(){var e={6759:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Ucum=void 0,t.Ucum={dimLen_:7,validOps_:[".","/"],codeSep_:": ",valMsgStart_:"Did you mean ",valMsgEnd_:"?",cnvMsgStart_:"We assumed you meant ",cnvMsgEnd_:".",openEmph_:" ->",closeEmph_:"<- ",openEmphHTML_:'',closeEmphHTML_:"",bracesMsg_:"FYI - annotations (text in curly braces {}) are ignored, except that an annotation without a leading symbol implies the default unit 1 (the unity).",needMoleWeightMsg_:"Did you wish to convert between mass and moles? The molecular weight of the substance represented by the units is required to perform the conversion.",csvCols_:{"case-sensitive code":"csCode_","LOINC property":"loincProperty_","name (display)":"name_",synonyms:"synonyms_",source:"source_",category:"category_",Guidance:"guidance_"},inputKey_:"case-sensitive code",specUnits_:{"B[10.nV]":"specialUnitOne","[m/s2/Hz^(1/2)]":"specialUnitTwo"}}},9460:function(e,t,n){"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}t.R=void 0;var r=n(6759),o=n(1781),a=function(){function e(t){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),0===r.Ucum.dimLen_)throw new Error("Dimension.setDimensionLen must be called before Dimension constructor");if(null==t)this.assignZero();else if(t instanceof Array){if(t.length!==r.Ucum.dimLen_)throw new Error("Parameter error, incorrect length of vector passed to "+"Dimension constructor, vector = ".concat(JSON.stringify(t)));this.dimVec_=[];for(var n=0;n=r.Ucum.dimLen_)throw new Error("Parameter error, invalid element number specified for Dimension constructor");this.assignZero(),this.dimVec_[t]=1}}var t,n;return t=e,(n=[{key:"setElementAt",value:function(e,t){if(!o(e)||e<0||e>=r.Ucum.dimLen_)throw new Error("Dimension.setElementAt called with an invalid index "+"position (".concat(e,")"));this.dimVec_||this.assignZero(),null==t&&(t=1),this.dimVec_[e]=t}},{key:"getElementAt",value:function(e){if(!o(e)||e<0||e>=r.Ucum.dimLen_)throw new Error("Dimension.getElementAt called with an invalid index "+"position (".concat(e,")"));var t=null;return this.dimVec_&&(t=this.dimVec_[e]),t}},{key:"getProperty",value:function(e){return this["_"===e.charAt(e.length-1)?e:e+"_"]}},{key:"toString",value:function(){var e=null;return this.dimVec_&&(e="["+this.dimVec_.join(", ")+"]"),e}},{key:"add",value:function(t){if(!t instanceof e)throw new Error("Dimension.add called with an invalid parameter - "+"".concat(i(t)," instead of a Dimension object"));if(this.dimVec_&&t.dimVec_)for(var n=0;n mole conversion cannot be executed for two mole-based units. No conversion was attempted.");if(0===l.moleExp_&&0===c.moleExp_)throw new Error("A molecular weight was specified but a mass <-> mole conversion cannot be executed when neither unit is mole-based. No conversion was attempted.");if(!l.isMoleMassCommensurable(c))throw new Error("Sorry. ".concat(e," cannot be ")+"converted to ".concat(n,"."));0!==l.moleExp_?a.toVal=l.convertMolToMass(t,c,r):a.toVal=l.convertMassToMol(t,c,r)}else a.toVal=c.convertFrom(t,l);a.status="succeeded",a.fromUnit=l,a.toUnit=c}catch(e){a.status="failed",a.msg.push(e.message)}}catch(e){e.message==s.needMoleWeightMsg_?a.status="failed":a.status="error",a.msg.push(e.message)}return a}},{key:"checkSynonyms",value:function(e){var t={};return null==e?(t.status="error",t.msg="No term specified for synonym search."):t=o.getSynonyms(e),t}},{key:"getSpecifiedUnit",value:function(e,t,n){void 0===n&&(n=!1);var i={retMsg:[]};if(e){var r=l.getInstance();e=e.trim();var o=r.getUnitByCode(e);if(o)i.unit=o,i.origString=e;else try{var a=this.uStrParser_.parseString(e,t,n);i.unit=a[0],i.origString=a[1],a[2]&&(i.retMsg=a[2]),i.suggestions=a[3]}catch(t){console.log("Unit requested for unit string ".concat(e,".")+"request unsuccessful; error thrown = "+t.message),i.retMsg.unshift("".concat(e," is not a valid unit. ")+"".concat(t.message))}}else i.retMsg.push("No unit string specified.");return i}},{key:"commensurablesList",value:function(e){var t=[],n=null,i=this.getSpecifiedUnit(e,"validate",!1),r=i.unit;if(i.retMsg.length>0&&(t=i.retMsg),r){var o=null,a=r.getProperty("dim_");if(a){try{o=a.getProperty("dimVec_")}catch(e){t.push(e.message),"Dimension does not have requested property(dimVec_)"===e.message&&(o=null)}o&&(n=l.getInstance().getUnitsByDimension(o))}else t.push("No commensurable units were found for "+e)}else t.push("Could not find unit ".concat(e,"."));return[n,t]}}])&&function(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.isBase_=t.isBase_||!1,this.name_=t.name_||"",this.csCode_=t.csCode_||"",this.ciCode_=t.ciCode_||"",this.property_=t.property_||"",this.magnitude_=t.magnitude_||1,void 0===t.dim_||null===t.dim_?this.dim_=new f:void 0!==t.dim_.dimVec_?this.dim_=new f(t.dim_.dimVec_):t.dim_ instanceof f?this.dim_=t.dim_:t.dim_ instanceof Array||d(t.dim_)?this.dim_=new f(t.dim_):this.dim_=new f,this.printSymbol_=t.printSymbol_||null,this.class_=t.class_||null,this.isMetric_=t.isMetric_||!1,this.variable_=t.variable_||null,this.cnv_=t.cnv_||null,this.cnvPfx_=t.cnvPfx_||1,this.isSpecial_=t.isSpecial_||!1,this.isArbitrary_=t.isArbitrary_||!1,this.moleExp_=t.moleExp_||0,this.synonyms_=t.synonyms_||null,this.source_=t.source_||null,this.loincProperty_=t.loincProperty_||null,this.category_=t.category_||null,this.guidance_=t.guidance_||null,this.csUnitString_=t.csUnitString_||null,this.ciUnitString_=t.ciUnitString_||null,this.baseFactorStr_=t.baseFactorStr_||null,this.baseFactor_=t.baseFactor_||null,this.defError_=t.defError_||!1}var t,r;return t=e,(r=[{key:"assignUnity",value:function(){return this.name_="",this.magnitude_=1,this.dim_||(this.dim_=new f),this.dim_.assignZero(),this.cnv_=null,this.cnvPfx_=1,this}},{key:"assignVals",value:function(e){for(var t in e){var n="_"===!t.charAt(t.length-1)?t+"_":t;if(!this.hasOwnProperty(n))throw new Error("Parameter error; ".concat(t," is not a property of a Unit"));this[n]=e[t]}}},{key:"clone",value:function(){var t=this,n=new e;return Object.getOwnPropertyNames(this).forEach((function(e){"dim_"===e?t.dim_?n.dim_=t.dim_.clone():n.dim_=null:n[e]=t[e]})),n}},{key:"assign",value:function(e){var t=this;Object.getOwnPropertyNames(e).forEach((function(n){"dim_"===n?e.dim_?t.dim_=e.dim_.clone():t.dim_=null:t[n]=e[n]}))}},{key:"equals",value:function(e){return this.magnitude_===e.magnitude_&&this.cnv_===e.cnv_&&this.cnvPfx_===e.cnvPfx_&&(null===this.dim_&&null===e.dim_||this.dim_.equals(e.dim_))}},{key:"fullEquals",value:function(e){for(var t=Object.keys(this).sort(),n=Object.keys(e).sort(),i=t.length,r=i===n.length,o=0;o0){var t=e.replace("/","!").replace(".","/").replace("!",".");switch(t.charAt(0)){case".":e=t.substr(1);break;case"/":e=t;break;default:e="/"+t}}return e}},{key:"_concatStrs",value:function(e,t,n,i,r){return this._buildOneString(e,i,r)+t+this._buildOneString(n,i,r)}},{key:"_buildOneString",value:function(e,t,n){return s.isNumericString(e)||"("===e.charAt(0)||"["===e.charAt(0)?e:/[./* ]/.test(e)?t+e+n:e}},{key:"power",value:function(e){if(null!=this.cnv_)throw new Error("Attempt to raise a non-ratio unit, ".concat(this.name_,", ")+"to a power.");for(var t=this.csCode_.match(/([./]|[^./]+)/g),n=t.length,i=0;i=0;s--){var l=parseInt(r[s]);if(!d(l)){if("-"!==r[s]&&"+"!==r[s]||s--,s0)r[0]=null,r[1]=null;else{this.retMsg_.length;var a=null;for(a in s.specUnits_)for(;-1!==e.indexOf(a);)e=e.replace(a,s.specUnits_[a]);if(e.indexOf(" ")>-1)throw new Error("Blank spaces are not allowed in unit expressions.");var u=(r=this._parseTheString(e,i))[0];(o.isIntegerUnit(u)||"number"==typeof u)&&(u=new l({csCode_:i,magnitude_:u,name_:i}),r[0]=u)}return r[2]=this.retMsg_,this.suggestions_&&this.suggestions_.length>0&&(r[3]=this.suggestions_),r}},{key:"_parseTheString",value:function(e,t){var n=null,i=this.retMsg_.length>0,r=this._processParens(e,t),a=[];if(!(i=r[2])){e=r[0],t=r[1];var s=this._makeUnitsArray(e,t);if(!(i=s[2])){a=s[0],t=s[1];for(var l=a.length,u=0;u=0){var f=this._getParensUnit(c,t);i||(i=f[1]),i||(a[u].un=f[0])}else{var d=this._makeUnit(c,t);null===d[0]?i=!0:(a[u].un=d[0],t=d[1])}}}}return i||null!==a[0]&&" "!==a[0]&&void 0!==a[0].un&&null!==a[0].un||0!==this.retMsg_.length||(this.retMsg_.push("Unit string (".concat(t,") did not contain ")+"anything that could be used to create a unit, or else something that is not handled yet by this package. Sorry"),i=!0),i||(n=this._performUnitArithmetic(a,t)),[n,t]}},{key:"_getAnnotations",value:function(e){for(var t=e.indexOf("{");t>=0;){var n=e.indexOf("}");if(n<0)this.retMsg_.push("Missing closing brace for annotation starting at "+this.openEmph_+e.substr(t)+this.closeEmph_),t=-1;else{var i=e.substring(t,n+1),r=this.annotations_.length.toString();e=e.replace(i,this.braceFlag_+r+this.braceFlag_),this.annotations_.push(i),t=e.indexOf("{")}}var o=e.indexOf("}");return o>=0&&this.retMsg_.push("Missing opening brace for closing brace found at "+this.openEmph_+e.substring(0,o+1)+this.closeEmph_),e}},{key:"_processParens",value:function(e,t){for(var n=[],i=0,r=!1,o=this.parensUnits_.length,a=0;""!==e&&!r;){var s=0,l=0,u=e.indexOf("(");if(u<0){var c=e.indexOf(")");if(c>=0){var f="Missing open parenthesis for close "+"parenthesis at ".concat(e.substring(0,c+a))+"".concat(this.openEmph_).concat(e.substr(c,1)).concat(this.closeEmph_);c0&&(n[i++]=e.substr(0,u));for(var m=0,p=u+1;p0&&(a=e.substr(0,r-1));var s=e.lastIndexOf(this.parensFlag_),u=null;s+this.pFlagLen_=0){var d=this._getAnnoText(a,t);if(d[1]||d[2])throw new Error("Text found before the parentheses ("+"".concat(a,") included an annotation along with other text ")+"for parenthetical unit ".concat(i.csCode_));e+=d[0],this.retMsg_.push("The annotation ".concat(d[0]," before the unit ")+"code is invalid.\n"+this.vcMsgStart_+e+this.vcMsgEnd_)}else this.suggestions_?n="succeeded"!==this._getSuggestions(a):(this.retMsg_.push("".concat(a," preceding the unit code ").concat(e," ")+"is invalid. Unable to make a substitution."),n=!0);if(u)if(u.indexOf(this.braceFlag_)>=0){var m=this._getAnnoText(u,t);if(m[1]||m[2])throw new Error("Text found after the parentheses ("+"".concat(u,") included an annotation along with other text ")+"for parenthetical unit ".concat(i.csCode_));e+=m[0]}else o.isNumericString(u)?(e+=u,i=i.power(Number(u)),this.retMsg_.push("An exponent (".concat(u,") following a parenthesis ")+"is invalid as of revision 1.9 of the UCUM Specification.\n "+this.vcMsgStart_+e+this.vcMsgEnd_)):this.suggestions_?n="succeeded"!==this._getSuggestions(a):(this.retMsg_.push("Text ".concat(u," following the unit code ").concat(e," ")+"is invalid. Unable to make a substitution."),n=!0);return n||(i?o.isIntegerUnit(i)?i=new l({csCode_:i,magnitude_:i,name_:i}):i.csCode_=e:i=new l({csCode_:e,magnitude_:1,name_:e})),[i,n]}},{key:"_getAnnoText",value:function(e,t){var n=e.indexOf(this.braceFlag_),i=n>0?e.substring(0,n):null;0!==n&&(e=e.substr(n));var r=e.indexOf(this.braceFlag_,1),a=r+this.bFlagLen_=this.annotations_.length)throw new Error("Processing Error - invalid annotation index ".concat(s," found ")+"in ".concat(e," that was created from ").concat(t));return[e=this.annotations_[l],i,a]}},{key:"_getSuggestions",value:function(e){var t=o.getSynonyms(e);if("succeeded"===t.status){var n={};n.msg="".concat(e," is not a valid UCUM code. We found possible ")+"units that might be what was meant:",n.invalidUnit=e;var i=t.units.length;n.units=[];for(var r=0;r=0){var i=this._getUnitWithAnnotation(e,t);(n=i[0])&&(t=i[1])}else{if(e.indexOf("^")>-1){var r=e.replace("^","*");(n=this.utabs_.getUnitByCode(r))&&((n=n.clone()).csCode_=n.csCode_.replace("*","^"),n.ciCode_=n.ciCode_.replace("*","^"))}if(!n){var o="["+e+"]";(n=this.utabs_.getUnitByCode(o))&&(n=n.clone(),t=t.replace(e,o),this.retMsg_.push("".concat(e," is not a valid unit expression, but ")+"".concat(o," is.\n")+this.vcMsgStart_+"".concat(o," (").concat(n.name_,")").concat(this.vcMsgEnd_)))}if(!n){var a=this.utabs_.getUnitByName(e);if(a&&a.length>0){for(var l="The UCUM code for "+e+" is "+(n=a[0].clone()).csCode_+".\n"+this.vcMsgStart_+n.csCode_+this.vcMsgEnd_,u=!1,c=0;c"+w+"",csCode_:T+w,ciCode_:R+w,printSymbol_:M+""+w+""})}}else n=null,this.suggestions_?this._getSuggestions(p):this.retMsg_.push("".concat(p," is not a valid UCUM code."))}}return[n,t]}},{key:"_getUnitWithAnnotation",value:function(e,t){var n=null,r=this._getAnnoText(e,t),a=r[0],s=r[1],l=r[2];this.bracesMsg_&&-1===this.retMsg_.indexOf(this.bracesMsg_)&&this.retMsg_.push(this.bracesMsg_);var u,c,f=this.retMsg_.length;if(s||l)if(s&&!l)if(o.isIntegerUnit(s))n=s;else{var d=this._makeUnit(s,t);d[0]?((n=d[0]).csCode_+=a,t=d[1]):this.retMsg_.push("Unable to find a unit for ".concat(s," that ")+"precedes the annotation ".concat(a,"."))}else if(!s&&l)if(o.isIntegerUnit(l))n=l+a,this.retMsg_.push("The annotation ".concat(a," before the ")(i||(u=[""," is invalid.\n"],(c=[""," is invalid.\\n"])||(c=u.slice(0)),i=Object.freeze(Object.defineProperties(u,{raw:{value:Object.freeze(c)}}))),l)+this.vcMsgStart_+n+this.vcMsgEnd_);else{var m=this._makeUnit(l,t);m[0]?((n=m[0]).csCode_+=a,t=n.csCode_,this.retMsg_.push("The annotation ".concat(a," before the unit ")+"code is invalid.\n"+this.vcMsgStart_+n.csCode_+this.vcMsgEnd_)):this.retMsg_.push("Unable to find a unit for ".concat(s," that ")+"follows the annotation ".concat(a,"."))}else this.retMsg_.push("Unable to find a unit for ".concat(s).concat(a)+"".concat(l,".\nWe are not sure how to interpret text both before ")+"and after the annotation. Sorry");else{var p="["+a.substring(1,a.length-1)+"]",h=this._makeUnit(p,t);h[0]?(n=h[0],t=t.replace(a,p),this.retMsg_.push("".concat(a," is not a valid unit expression, but ")+"".concat(p," is.\n")+this.vcMsgStart_+"".concat(p," (").concat(n.name_,")").concat(this.vcMsgEnd_))):(this.retMsg_.length>f&&this.retMsg_.pop(),e=1,n=1)}return[n,t]}},{key:"_performUnitArithmetic",value:function(e,t){var n=e[0].un;o.isIntegerUnit(n)&&(n=new l({csCode_:n,magnitude_:Number(n),name_:n}));for(var i=e.length,r=!1,a=1;a=1&&(n=e.substr(t+r.codeSep_.length),e=e.substr(0,t));var i=this.unitNames_[e];if(i){var o=i.length;if(n&&o>1){for(var a=0;i[a].csCode_!==n&&a0&&(n+=t),"dim_"===e[c])null!==u.dim_&&void 0!==u.dim_&&u.dim_.dimVec_ instanceof Array?n+="["+u.dim_.dimVec_.join(",")+"]":n+="";else{var f=u[e[c]];n+="string"==typeof f?f.replace(/[\n\r]/g," "):f}n+="\r\n"}return n}},{key:"printUnits",value:function(e,t){void 0===e&&(e=!1),void 0===t&&(t="|");var n="",i=this.codeOrder_.length,r="csCode"+t;e&&(r+="ciCode"+t),r+="name"+t,e&&(r+="isBase"+t),r+="magnitude"+t+"dimension"+t+"from unit(s)"+t+"value"+t+"function"+t,e&&(r+="property"+t+"printSymbol"+t+"synonyms"+t+"source"+t+"class"+t+"isMetric"+t+"variable"+t+"isSpecial"+t+"isAbitrary"+t),n=(r+="comment")+"\n";for(var o=0;o=0&&(this.fetchedEOF?this.index0)||this.fetch(t)>=t}},{key:"fetch",value:function(e){if(this.fetchedEOF)return 0;for(var t=0;t=this.tokens.length&&(t=this.tokens.length-1);for(var r=e;r=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[t]}},{key:"adjustSeekIndex",value:function(e){return e}},{key:"lazyInit",value:function(){-1===this.index&&this.setup()}},{key:"setup",value:function(){this.sync(0),this.index=this.adjustSeekIndex(0)}},{key:"setTokenSource",value:function(e){this.tokenSource=e,this.tokens=[],this.index=-1,this.fetchedEOF=!1}},{key:"nextTokenOnChannel",value:function(e,t){if(this.sync(e),e>=this.tokens.length)return-1;for(var n=this.tokens[e];n.channel!==this.channel;){if(n.type===u.EOF)return-1;e+=1,this.sync(e),n=this.tokens[e]}return e}},{key:"previousTokenOnChannel",value:function(e,t){for(;e>=0&&this.tokens[e].channel!==t;)e-=1;return e}},{key:"getHiddenTokensToRight",value:function(e,t){if(void 0===t&&(t=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw e+" not in 0.."+this.tokens.length-1;var n=this.nextTokenOnChannel(e+1,c.DEFAULT_TOKEN_CHANNEL),i=e+1,r=-1===n?this.tokens.length-1:n;return this.filterForChannel(i,r,t)}},{key:"getHiddenTokensToLeft",value:function(e,t){if(void 0===t&&(t=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw e+" not in 0.."+this.tokens.length-1;var n=this.previousTokenOnChannel(e-1,c.DEFAULT_TOKEN_CHANNEL);if(n===e-1)return null;var i=n+1,r=e-1;return this.filterForChannel(i,r,t)}},{key:"filterForChannel",value:function(e,t,n){for(var i=[],r=e;r=this.tokens.length&&(n=this.tokens.length-1);for(var i="",r=t;r=this._size)throw"cannot consume EOF";this._index+=1}},{key:"LA",value:function(e){if(0===e)return 0;e<0&&(e+=1);var t=this._index+e-1;return t<0||t>=this._size?r.EOF:this.data[t]}},{key:"LT",value:function(e){return this.LA(e)}},{key:"mark",value:function(){return-1}},{key:"release",value:function(e){}},{key:"seek",value:function(e){e<=this._index?this._index=e:this._index=Math.min(e,this._size)}},{key:"getText",value:function(e,t){if(t>=this._size&&(t=this._size-1),e>=this._size)return"";if(this.decodeToUnicodeCodePoints){for(var n="",i=e;i<=t;i++)n+=String.fromCodePoint(this.data[i]);return n}return this.strdata.slice(e,t+1)}},{key:"toString",value:function(){return this.strdata}},{key:"index",get:function(){return this._index}},{key:"size",get:function(){return this._size}}])&&function(e,t){for(var n=0;n=this.start&&e=n.stop?(this.intervals.splice(e+1,1),this.reduce(e)):t.stop>=n.start&&(this.intervals[e]=new l(t.start,n.stop),this.intervals.splice(e+1,1))}}},{key:"complement",value:function(t,n){var i=new e;return i.addInterval(new l(t,n+1)),null!==this.intervals&&this.intervals.forEach((function(e){return i.removeRange(e)})),i}},{key:"contains",value:function(e){if(null===this.intervals)return!1;for(var t=0;ti.start&&e.stop=i.stop?(this.intervals.splice(t,1),t-=1):e.start"):e.push("'"+String.fromCharCode(n.start)+"'"):e.push("'"+String.fromCharCode(n.start)+"'..'"+String.fromCharCode(n.stop-1)+"'")}return e.length>1?"{"+e.join(", ")+"}":e[0]}},{key:"toIndexString",value:function(){for(var e=[],t=0;t"):e.push(n.start.toString()):e.push(n.start.toString()+".."+(n.stop-1).toString())}return e.length>1?"{"+e.join(", ")+"}":e[0]}},{key:"toTokenString",value:function(e,t){for(var n=[],i=0;i1?"{"+n.join(", ")+"}":n[0]}},{key:"elementName",value:function(e,t,n){return n===s.EOF?"":n===s.EPSILON?"":e[n]||t[n]}},{key:"length",get:function(){return this.intervals.map((function(e){return e.length})).reduce((function(e,t){return e+t}))}}]),e}();e.exports={Interval:l,IntervalSet:u}},2894:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var r=n(7090),o=r.Set,a=r.BitSet,s=n(9616).Token,l=n(4769).ATNConfig,u=n(5062).IntervalSet,c=n(4).RuleStopState,f=n(3412),d=f.RuleTransition,m=f.NotSetTransition,p=f.WildcardTransition,h=f.AbstractPredicateTransition,g=n(9699),y=g.predictionContextFromRuleContext,v=g.PredictionContext,C=g.SingletonPredictionContext,x=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.atn=t}var t,n;return t=e,(n=[{key:"getDecisionLookahead",value:function(t){if(null===t)return null;for(var n=t.transitions.length,i=[],r=0;r":"\n"===e?"\\n":"\t"===e?"\\t":"\r"===e?"\\r":e}},{key:"getCharErrorDisplay",value:function(e){return"'"+this.getErrorDisplayForChar(e)+"'"}},{key:"recover",value:function(e){this._input.LA(1)!==s.EOF&&(e instanceof f?this._interp.consume(this._input):this._input.consume())}},{key:"inputStream",get:function(){return this._input},set:function(e){this._input=null,this._tokenFactorySourcePair=[this,this._input],this.reset(),this._input=e,this._tokenFactorySourcePair=[this,this._input]}},{key:"sourceName",get:function(){return this._input.sourceName}},{key:"type",get:function(){return this._type},set:function(e){this._type=e}},{key:"line",get:function(){return this._interp.line},set:function(e){this._interp.line=e}},{key:"column",get:function(){return this._interp.column},set:function(e){this._interp.column=e}},{key:"text",get:function(){return null!==this._text?this._text:this._interp.getText(this._input)},set:function(e){this._text=e}}])&&function(e,t){for(var n=0;n0?(this._errHandler.reportMatch(this),this.consume()):(e=this._errHandler.recoverInline(this),this._buildParseTrees&&-1===e.tokenIndex&&this._ctx.addErrorNode(e)),e}},{key:"getParseListeners",value:function(){return this._parseListeners||[]}},{key:"addParseListener",value:function(e){if(null===e)throw"listener";null===this._parseListeners&&(this._parseListeners=[]),this._parseListeners.push(e)}},{key:"removeParseListener",value:function(e){if(null!==this._parseListeners){var t=this._parseListeners.indexOf(e);t>=0&&this._parseListeners.splice(t,1),0===this._parseListeners.length&&(this._parseListeners=null)}}},{key:"removeParseListeners",value:function(){this._parseListeners=null}},{key:"triggerEnterRuleEvent",value:function(){if(null!==this._parseListeners){var e=this._ctx;this._parseListeners.forEach((function(t){t.enterEveryRule(e),e.enterRule(t)}))}}},{key:"triggerExitRuleEvent",value:function(){if(null!==this._parseListeners){var e=this._ctx;this._parseListeners.slice(0).reverse().forEach((function(t){e.exitRule(t),t.exitEveryRule(e)}))}}},{key:"getTokenFactory",value:function(){return this._input.tokenSource._factory}},{key:"setTokenFactory",value:function(e){this._input.tokenSource._factory=e}},{key:"getATNWithBypassAlts",value:function(){var e=this.getSerializedATN();if(null===e)throw"The current parser does not support an ATN with bypass alternatives.";var t=this.bypassAltsAtnCache[e];if(null===t){var n=new C;n.generateRuleBypassTransitions=!0,t=new v(n).deserialize(e),this.bypassAltsAtnCache[e]=t}return t}},{key:"compileParseTreePattern",value:function(e,t,n){if(null===(n=n||null)&&null!==this.getTokenStream()){var i=this.getTokenStream().tokenSource;i instanceof x&&(n=i)}if(null===n)throw"Parser can't discover a lexer to use";return new ParseTreePatternMatcher(n,this).compile(e,t)}},{key:"getInputStream",value:function(){return this.getTokenStream()}},{key:"setInputStream",value:function(e){this.setTokenStream(e)}},{key:"getTokenStream",value:function(){return this._input}},{key:"setTokenStream",value:function(e){this._input=null,this.reset(),this._input=e}},{key:"getCurrentToken",value:function(){return this._input.LT(1)}},{key:"notifyErrorListeners",value:function(e,t,n){n=n||null,null===(t=t||null)&&(t=this.getCurrentToken()),this._syntaxErrors+=1;var i=t.line,r=t.column;this.getErrorListenerDispatch().syntaxError(this,t,i,r,e,n)}},{key:"consume",value:function(){var e=this.getCurrentToken();e.type!==f.EOF&&this.getInputStream().consume();var t,n=null!==this._parseListeners&&this._parseListeners.length>0;return(this.buildParseTrees||n)&&((t=this._errHandler.inErrorRecoveryMode(this)?this._ctx.addErrorNode(e):this._ctx.addTokenNode(e)).invokingState=this.state,n&&this._parseListeners.forEach((function(e){t instanceof h||void 0!==t.isErrorNode&&t.isErrorNode()?e.visitErrorNode(t):t instanceof p&&e.visitTerminal(t)}))),e}},{key:"addContextToParseTree",value:function(){null!==this._ctx.parentCtx&&this._ctx.parentCtx.addChild(this._ctx)}},{key:"enterRule",value:function(e,t,n){this.state=t,this._ctx=e,this._ctx.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}},{key:"exitRule",value:function(){this._ctx.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this._ctx.invokingState,this._ctx=this._ctx.parentCtx}},{key:"enterOuterAlt",value:function(e,t){e.setAltNumber(t),this.buildParseTrees&&this._ctx!==e&&null!==this._ctx.parentCtx&&(this._ctx.parentCtx.removeLastChild(),this._ctx.parentCtx.addChild(e)),this._ctx=e}},{key:"getPrecedence",value:function(){return 0===this._precedenceStack.length?-1:this._precedenceStack[this._precedenceStack.length-1]}},{key:"enterRecursionRule",value:function(e,t,n,i){this.state=t,this._precedenceStack.push(i),this._ctx=e,this._ctx.start=this._input.LT(1),this.triggerEnterRuleEvent()}},{key:"pushNewRecursionContext",value:function(e,t,n){var i=this._ctx;i.parentCtx=e,i.invokingState=t,i.stop=this._input.LT(-1),this._ctx=e,this._ctx.start=i.start,this.buildParseTrees&&this._ctx.addChild(i),this.triggerEnterRuleEvent()}},{key:"unrollRecursionContexts",value:function(e){this._precedenceStack.pop(),this._ctx.stop=this._input.LT(-1);var t=this._ctx,n=this.getParseListeners();if(null!==n&&n.length>0)for(;this._ctx!==e;)this.triggerExitRuleEvent(),this._ctx=this._ctx.parentCtx;else this._ctx=e;t.parentCtx=e,this.buildParseTrees&&null!==e&&e.addChild(t)}},{key:"getInvokingContext",value:function(e){for(var t=this._ctx;null!==t;){if(t.ruleIndex===e)return t;t=t.parentCtx}return null}},{key:"precpred",value:function(e,t){return t>=this._precedenceStack[this._precedenceStack.length-1]}},{key:"inContext",value:function(e){return!1}},{key:"isExpectedToken",value:function(e){var t=this._interp.atn,n=this._ctx,i=t.states[this.state],r=t.nextTokens(i);if(r.contains(e))return!0;if(!r.contains(f.EPSILON))return!1;for(;null!==n&&n.invokingState>=0&&r.contains(f.EPSILON);){var o=t.states[n.invokingState].transitions[0];if((r=t.nextTokens(o.followState)).contains(e))return!0;n=n.parentCtx}return!(!r.contains(f.EPSILON)||e!==f.EOF)}},{key:"getExpectedTokens",value:function(){return this._interp.atn.getExpectedTokens(this.state,this._ctx)}},{key:"getExpectedTokensWithinCurrentRule",value:function(){var e=this._interp.atn,t=e.states[this.state];return e.nextTokens(t)}},{key:"getRuleIndex",value:function(e){var t=this.getRuleIndexMap()[e];return null!==t?t:-1}},{key:"getRuleInvocationStack",value:function(e){null===(e=e||null)&&(e=this._ctx);for(var t=[];null!==e;){var n=e.ruleIndex;n<0?t.push("n/a"):t.push(this.ruleNames[n]),e=e.parentCtx}return t}},{key:"getDFAStrings",value:function(){return this._interp.decisionToDFA.toString()}},{key:"dumpDFA",value:function(){for(var e=!1,t=0;t0&&(e&&console.log(),this.printer.println("Decision "+n.decision+":"),this.printer.print(n.toString(this.literalNames,this.symbolicNames)),e=!0)}}},{key:"getSourceName",value:function(){return this._input.sourceName}},{key:"setTrace",value:function(e){e?(null!==this._tracer&&this.removeParseListener(this._tracer),this._tracer=new b(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}}]),n}(g);S.bypassAltsAtnCache={},e.exports=S},788:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}var a=n(3680),s=n(4524),l=s.INVALID_INTERVAL,u=s.TerminalNode,c=s.TerminalNodeImpl,f=s.ErrorNodeImpl,d=n(5062).Interval,m=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&r(e,t)}(p,e);var t,n,a,s,m=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=o(t);if(n){var a=o(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function p(e,t){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,p),e=e||null,t=t||null,(n=m.call(this,e,t)).ruleIndex=-1,n.children=null,n.start=null,n.stop=null,n.exception=null,n}return a=p,(s=[{key:"copyFrom",value:function(e){this.parentCtx=e.parentCtx,this.invokingState=e.invokingState,this.children=null,this.start=e.start,this.stop=e.stop,e.children&&(this.children=[],e.children.map((function(e){e instanceof f&&(this.children.push(e),e.parentCtx=this)}),this))}},{key:"enterRule",value:function(e){}},{key:"exitRule",value:function(e){}},{key:"addChild",value:function(e){return null===this.children&&(this.children=[]),this.children.push(e),e}},{key:"removeLastChild",value:function(){null!==this.children&&this.children.pop()}},{key:"addTokenNode",value:function(e){var t=new c(e);return this.addChild(t),t.parentCtx=this,t}},{key:"addErrorNode",value:function(e){var t=new f(e);return this.addChild(t),t.parentCtx=this,t}},{key:"getChild",value:function(e,t){if(t=t||null,null===this.children||e<0||e>=this.children.length)return null;if(null===t)return this.children[e];for(var n=0;n=this.children.length)return null;for(var n=0;n0&&(e+=", "),this.returnStates[t]!==v.EMPTY_RETURN_STATE?(e+=this.returnStates[t],null!==this.parents[t]?e=e+" "+this.parents[t]:e+="null"):e+="$";return e+"]"}},{key:"length",get:function(){return this.returnStates.length}}]),n}(v);e.exports={merge:function e(t,n,i,r){if(t===n)return t;if(t instanceof x&&n instanceof x)return function(t,n,i,r){if(null!==r){var o=r.get(t,n);if(null!==o)return o;if(null!==(o=r.get(n,t)))return o}var a=function(e,t,n){if(n){if(e===v.EMPTY)return v.EMPTY;if(t===v.EMPTY)return v.EMPTY}else{if(e===v.EMPTY&&t===v.EMPTY)return v.EMPTY;if(e===v.EMPTY){var i=[t.returnState,v.EMPTY_RETURN_STATE],r=[t.parentCtx,null];return new S(r,i)}if(t===v.EMPTY){var o=[e.returnState,v.EMPTY_RETURN_STATE],a=[e.parentCtx,null];return new S(a,o)}}return null}(t,n,i);if(null!==a)return null!==r&&r.set(t,n,a),a;if(t.returnState===n.returnState){var s=e(t.parentCtx,n.parentCtx,i,r);if(s===t.parentCtx)return t;if(s===n.parentCtx)return n;var l=x.create(s,t.returnState);return null!==r&&r.set(t,n,l),l}var u=null;if((t===n||null!==t.parentCtx&&t.parentCtx===n.parentCtx)&&(u=t.parentCtx),null!==u){var c=[t.returnState,n.returnState];t.returnState>n.returnState&&(c[0]=n.returnState,c[1]=t.returnState);var f=new S([u,u],c);return null!==r&&r.set(t,n,f),f}var d=[t.returnState,n.returnState],m=[t.parentCtx,n.parentCtx];t.returnState>n.returnState&&(d[0]=n.returnState,d[1]=t.returnState,m=[n.parentCtx,t.parentCtx]);var p=new S(m,d);return null!==r&&r.set(t,n,p),p}(t,n,i,r);if(i){if(t instanceof b)return t;if(n instanceof b)return n}return t instanceof x&&(t=new S([t.getParent()],[t.returnState])),n instanceof x&&(n=new S([n.getParent()],[n.returnState])),function(t,n,i,r){if(null!==r){var o=r.get(t,n);if(null!==o)return o;if(null!==(o=r.get(n,t)))return o}for(var a=0,s=0,l=0,u=[],c=[];at.length?e.length:t.length;this.tokenNames=[];for(var i=0;i";var t=e.text;return null===t&&(t=e.type===r.EOF?"":"<"+e.type+">"),"'"+(t=t.replace("\n","\\n").replace("\r","\\r").replace("\t","\\t"))+"'"}},{key:"getErrorListenerDispatch",value:function(){return new a(this._listeners)}},{key:"sempred",value:function(e,t,n){return!0}},{key:"precpred",value:function(e,t){return!0}},{key:"state",get:function(){return this._stateNumber},set:function(e){this._stateNumber=e}}])&&function(e,t){for(var n=0;n=0&&r","[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+e+"',<"+this.type+">"+(this.channel>0?",channel="+this.channel:"")+","+this.line+":"+this.column+"]"}},{key:"text",get:function(){if(null!==this._text)return this._text;var e=this.getInputStream();if(null===e)return null;var t=e.size;return this.start"},set:function(e){this._text=e}}]),c}(s);l.EMPTY_SOURCE=[null,null],e.exports={Token:s,CommonToken:l}},7090:function(e){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,n){for(var i=0;i>>16)*a&65535)<<16)&4294967295)<<15|t>>>17))*s+(((t>>>16)*s&65535)<<16)&4294967295)<<13|o>>>19))+((5*(o>>>16)&65535)<<16)&4294967295))+((58964+(e>>>16)&65535)<<16);switch(t=0,i){case 3:t^=(255&n.charCodeAt(l+2))<<16;case 2:t^=(255&n.charCodeAt(l+1))<<8;case 1:o^=t=(65535&(t=(t=(65535&(t^=255&n.charCodeAt(l)))*a+(((t>>>16)*a&65535)<<16)&4294967295)<<15|t>>>17))*s+(((t>>>16)*s&65535)<<16)&4294967295}return o^=n.length,o=2246822507*(65535&(o^=o>>>16))+((2246822507*(o>>>16)&65535)<<16)&4294967295,o=3266489909*(65535&(o^=o>>>13))+((3266489909*(o>>>16)&65535)<<16)&4294967295,(o^=o>>>16)>>>0};var u=function(){function e(t,i){n(this,e),this.data={},this.hashFunction=t||l,this.equalsFunction=i||s}return r(e,[{key:"add",value:function(e){var t="hash_"+this.hashFunction(e);if(t in this.data){for(var n=this.data[t],i=0;i>>17,i*=461845907,this.count=this.count+1;var r=this.hash^i;r=5*(r=r<<13|r>>>19)+3864292196,this.hash=r}}}},{key:"finish",value:function(){var e=this.hash^4*this.count;return e^=e>>>16,e*=2246822507,e^=e>>>13,(e*=3266489909)^e>>>16}}]),e}();e.exports={Hash:p,Set:u,Map:f,BitSet:c,AltDict:d,DoubleDict:m,hashStuff:function(){var e=new p;return e.update.apply(e,arguments),e.finish()},escapeWhitespace:function(e,t){return e=e.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),t&&(e=e.replace(/ /g,"·")),e},arrayToString:a,titleCase:function(e){return e.replace(/\w\S*/g,(function(e){return e.charAt(0).toUpperCase()+e.substr(1)}))},equalArrays:function(e,t){if(!Array.isArray(e)||!Array.isArray(t))return!1;if(e===t)return!0;if(e.length!==t.length)return!1;for(var n=0;n=this.states.length)throw"Invalid state number.";var n=this.states[e],i=this.nextTokens(n);if(!i.contains(a.EPSILON))return i;var r=new o;for(r.addSet(i),r.removeOne(a.EPSILON);null!==t&&t.invokingState>=0&&i.contains(a.EPSILON);){var s=this.states[t.invokingState].transitions[0];i=this.nextTokens(s.followState),r.addSet(i),r.removeOne(a.EPSILON),t=t.parentCtx}return i.contains(a.EPSILON)&&r.addOne(a.EOF),r}}])&&function(e,t){for(var n=0;n0?",up="+this.reachesIntoOuterContext:"")+")"}}]),e}(),y=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)}(c,e);var t,n,i=(t=c,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,i=l(t);if(n){var r=l(this).constructor;e=Reflect.construct(i,arguments,r)}else e=i.apply(this,arguments);return a(this,e)});function c(e,t){var n;u(this,c),n=i.call(this,e,t);var r=e.lexerActionExecutor||null;return n.lexerActionExecutor=r||(null!==t?t.lexerActionExecutor:null),n.passedThroughNonGreedyDecision=null!==t&&n.checkNonGreedyDecision(t,n.state),n.hashCodeForConfigSet=c.prototype.hashCode,n.equalsForConfigSet=c.prototype.equals,a(n,s(n))}return f(c,[{key:"updateHashCode",value:function(e){e.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}},{key:"equals",value:function(e){return this===e||e instanceof c&&this.passedThroughNonGreedyDecision===e.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(e.lexerActionExecutor):!e.lexerActionExecutor)&&r(l(c.prototype),"equals",this).call(this,e)}},{key:"checkNonGreedyDecision",value:function(e,t){return e.passedThroughNonGreedyDecision||t instanceof d&&t.nonGreedy}}]),c}(g);e.exports.ATNConfig=g,e.exports.LexerATNConfig=y},5327:function(e,t,n){function i(e,t){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},i(e,t)}function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n0&&(this.dipsIntoOuterContext=!0);var n=this.configLookup.add(e);if(n===e)return this.cachedHashCode=-1,this.configs.push(e),!0;var i=!this.fullCtx,r=d(n.context,e.context,i,t);return n.reachesIntoOuterContext=Math.max(n.reachesIntoOuterContext,e.reachesIntoOuterContext),e.precedenceFilterSuppressed&&(n.precedenceFilterSuppressed=!0),n.context=r,!0}},{key:"getStates",value:function(){for(var e=new c.Set,t=0;t=n}},{key:"deserialize",value:function(e){this.reset(e),this.checkVersion(),this.checkUUID();var t=this.readATN();this.readStates(t),this.readRules(t),this.readModes(t);var n=[];return this.readSets(t,n,this.readInt.bind(this)),this.isFeatureSupported(K,this.uuid)&&this.readSets(t,n,this.readInt32.bind(this)),this.readEdges(t,n),this.readDecisions(t),this.readLexerActions(t),this.markPrecedenceDecisions(t),this.verifyATN(t),this.deserializationOptions.generateRuleBypassTransitions&&t.grammarType===a.PARSER&&(this.generateRuleBypassTransitions(t),this.verifyATN(t)),t}},{key:"reset",value:function(e){var t=e.split("").map((function(e){var t=e.charCodeAt(0);return t>1?t-2:t+65534}));t[0]=e.charCodeAt(0),this.data=t,this.pos=0}},{key:"checkVersion",value:function(){var e=this.readInt();if(3!==e)throw"Could not deserialize ATN with version "+e+" (expected 3)."}},{key:"checkUUID",value:function(){var e=this.readUUID();if(Q.indexOf(e)<0)throw J;this.uuid=e}},{key:"readATN",value:function(){var e=this.readInt(),t=this.readInt();return new o(e,t)}},{key:"readStates",value:function(e){for(var t,n,i,r=[],o=[],a=this.readInt(),s=0;s0;)r.addTransition(f.transitions[m-1]),f.transitions=f.transitions.slice(-1);e.ruleToStartState[t].addTransition(new I(r)),o.addTransition(new I(s));var p=new u;e.addState(p),p.addTransition(new A(o,e.ruleToTokenType[t])),r.addTransition(new I(p))}},{key:"stateIsEndStateFor",value:function(e,t){if(e.ruleIndex!==t)return null;if(!(e instanceof C))return null;var n=e.transitions[e.transitions.length-1].target;return n instanceof m&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof h?e:null}},{key:"markPrecedenceDecisions",value:function(e){for(var t=0;t=0):this.checkCondition(n.transitions.length<=1||n instanceof h)}}},{key:"checkCondition",value:function(e,t){if(!e)throw null==t&&(t="IllegalState"),t}},{key:"readInt",value:function(){return this.data[this.pos++]}},{key:"readInt32",value:function(){return this.readInt()|this.readInt()<<16}},{key:"readLong",value:function(){return 4294967295&this.readInt32()|this.readInt32()<<32}},{key:"readUUID",value:function(){for(var e=[],t=7;t>=0;t--){var n=this.readInt();e[2*t+1]=255&n,e[2*t]=n>>8&255}return $[e[0]]+$[e[1]]+$[e[2]]+$[e[3]]+"-"+$[e[4]]+$[e[5]]+"-"+$[e[6]]+$[e[7]]+"-"+$[e[8]]+$[e[9]]+"-"+$[e[10]]+$[e[11]]+$[e[12]]+$[e[13]]+$[e[14]]+$[e[15]]}},{key:"edgeFactory",value:function(e,t,n,i,o,a,s,l){var u=e.states[i];switch(t){case D.EPSILON:return new I(u);case D.RANGE:return new T(u,0!==s?r.EOF:o,a);case D.RULE:return new k(e.states[o],a,s,u);case D.PREDICATE:return new O(u,o,a,0!==s);case D.PRECEDENCE:return new _(u,o);case D.ATOM:return new A(u,0!==s?r.EOF:o);case D.ACTION:return new w(u,o,a,0!==s);case D.SET:return new R(u,l[o]);case D.NOT_SET:return new M(u,l[o]);case D.WILDCARD:return new P(u);default:throw"The specified transition type: "+t+" is not valid."}}},{key:"stateFactory",value:function(e,t){if(null===this.stateFactories){var n=[];n[l.INVALID_TYPE]=null,n[l.BASIC]=function(){return new u},n[l.RULE_START]=function(){return new p},n[l.BLOCK_START]=function(){return new S},n[l.PLUS_BLOCK_START]=function(){return new x},n[l.STAR_BLOCK_START]=function(){return new b},n[l.TOKEN_START]=function(){return new g},n[l.RULE_STOP]=function(){return new h},n[l.BLOCK_END]=function(){return new d},n[l.STAR_LOOP_BACK]=function(){return new v},n[l.STAR_LOOP_ENTRY]=function(){return new C},n[l.PLUS_LOOP_BACK]=function(){return new y},n[l.LOOP_END]=function(){return new m},this.stateFactories=n}if(e>this.stateFactories.length||null===this.stateFactories[e])throw"The specified state type "+e+" is not valid.";var i=this.stateFactories[e]();if(null!==i)return i.ruleIndex=t,i}},{key:"lexerActionFactory",value:function(e,t,n){if(null===this.actionFactories){var i=[];i[B.CHANNEL]=function(e,t){return new q(e)},i[B.CUSTOM]=function(e,t){return new j(e,t)},i[B.MODE]=function(e,t){return new W(e)},i[B.MORE]=function(e,t){return z.INSTANCE},i[B.POP_MODE]=function(e,t){return G.INSTANCE},i[B.PUSH_MODE]=function(e,t){return new V(e)},i[B.SKIP]=function(e,t){return F.INSTANCE},i[B.TYPE]=function(e,t){return new H(e)},this.actionFactories=i}if(e>this.actionFactories.length||null===this.actionFactories[e])throw"The specified lexer action type "+e+" is not valid.";return this.actionFactories[e](t,n)}}])&&function(e,t){for(var n=0;nS.MAX_DFA_EDGE)return null;var n=e.edges[t-S.MIN_DFA_EDGE];return void 0===n&&(n=null),S.debug&&null!==n&&console.log("reuse state "+e.stateNumber+" edge to "+n.stateNumber),n}},{key:"computeTargetState",value:function(e,t,n){var i=new p;return this.getReachableConfigSet(e,t.configs,i,n),0===i.items.length?(i.hasSemanticContext||this.addDFAEdge(t,n,d.ERROR),d.ERROR):this.addDFAEdge(t,n,null,i)}},{key:"failOrAccept",value:function(e,t,n,i){if(null!==this.prevAccept.dfaState){var r=e.dfaState.lexerActionExecutor;return this.accept(t,r,this.startIndex,e.index,e.line,e.column),e.dfaState.prediction}if(i===u.EOF&&t.index===this.startIndex)return u.EOF;throw new b(this.recog,t,this.startIndex,n)}},{key:"getReachableConfigSet",value:function(e,t,n,i){for(var r=f.INVALID_ALT_NUMBER,o=0;oS.MAX_DFA_EDGE||(S.debug&&console.log("EDGE "+e+" -> "+n+" upon "+t),null===e.edges&&(e.edges=[]),e.edges[t-S.MIN_DFA_EDGE]=n),n}},{key:"addDFAState",value:function(e){for(var t=new m(null,e),n=null,i=0;i0&&(o=this.getAltThatFinishedDecisionEntryRule(r))!==c.INVALID_ALT_NUMBER?o:c.INVALID_ALT_NUMBER}},{key:"getAltThatFinishedDecisionEntryRule",value:function(e){for(var t=[],n=0;n0||i.state instanceof m&&i.context.hasEmptyPath())&&t.indexOf(i.alt)<0&&t.push(i.alt)}return 0===t.length?c.INVALID_ALT_NUMBER:Math.min.apply(null,t)}},{key:"splitAccordingToSemanticValidity",value:function(e,t){for(var n=new h(e.fullCtx),i=new h(e.fullCtx),r=0;r50))throw"problem";if(e.state instanceof m){if(!e.context.isEmpty()){for(var s=0;s=0&&(d+=1)}this.closureCheckingStopState(f,t,n,c,r,d,a)}}}},{key:"canDropLoopEntryEdgeInLeftRecursiveRule",value:function(e){var t=e.state;if(t.stateType!==d.STAR_LOOP_ENTRY)return!1;if(t.stateType!==d.STAR_LOOP_ENTRY||!t.isPrecedenceDecision||e.context.isEmpty()||e.context.hasEmptyPath())return!1;for(var n=e.context.length,i=0;i=0?this.parser.ruleNames[e]:""}},{key:"getEpsilonTarget",value:function(e,t,n,i,r,o){switch(t.serializationType){case M.RULE:return this.ruleTransition(e,t);case M.PRECEDENCE:return this.precedenceTransition(e,t,n,i,r);case M.PREDICATE:return this.predTransition(e,t,n,i,r);case M.ACTION:return this.actionTransition(e,t);case M.EPSILON:return new p({state:t.target},e);case M.ATOM:case M.RANGE:case M.SET:return o&&t.matches(g.EOF,0,1)?new p({state:t.target},e):null;default:return null}}},{key:"actionTransition",value:function(e,t){if(this.debug){var n=-1===t.actionIndex?65535:t.actionIndex;console.log("ACTION edge "+t.ruleIndex+":"+n)}return new p({state:t.target},e)}},{key:"precedenceTransition",value:function(e,t,n,i,r){this.debug&&(console.log("PRED (collectPredicates="+n+") "+t.precedence+">=_p, ctx dependent=true"),null!==this.parser&&console.log("context surrounding pred is "+a.arrayToString(this.parser.getRuleInvocationStack())));var o=null;if(n&&i)if(r){var s=this._input.index;this._input.seek(this._startIndex);var l=t.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(s),l&&(o=new p({state:t.target},e))}else{var u=E.andContext(e.semanticContext,t.getPredicate());o=new p({state:t.target,semanticContext:u},e)}else o=new p({state:t.target},e);return this.debug&&console.log("config from pred transition="+o),o}},{key:"predTransition",value:function(e,t,n,i,r){this.debug&&(console.log("PRED (collectPredicates="+n+") "+t.ruleIndex+":"+t.predIndex+", ctx dependent="+t.isCtxDependent),null!==this.parser&&console.log("context surrounding pred is "+a.arrayToString(this.parser.getRuleInvocationStack())));var o=null;if(n&&(t.isCtxDependent&&i||!t.isCtxDependent))if(r){var s=this._input.index;this._input.seek(this._startIndex);var l=t.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(s),l&&(o=new p({state:t.target},e))}else{var u=E.andContext(e.semanticContext,t.getPredicate());o=new p({state:t.target,semanticContext:u},e)}else o=new p({state:t.target},e);return this.debug&&console.log("config from pred transition="+o),o}},{key:"ruleTransition",value:function(e,t){this.debug&&console.log("CALL rule "+this.getRuleName(t.target.ruleIndex)+", ctx="+e.context);var n=t.followState,i=_.create(e.context,n.stateNumber);return new p({state:t.target,context:i},e)}},{key:"getConflictingAlts",value:function(e){var t=b.getConflictingAltSubsets(e);return b.getAlts(t)}},{key:"getConflictingAltsOrUniqueAlt",value:function(e){var t=null;return e.uniqueAlt!==c.INVALID_ALT_NUMBER?(t=new l).add(e.uniqueAlt):t=e.conflictingAlts,t}},{key:"getTokenName",value:function(e){if(e===g.EOF)return"EOF";if(null!==this.parser&&null!==this.parser.literalNames){if(!(e>=this.parser.literalNames.length&&e>=this.parser.symbolicNames.length))return(this.parser.literalNames[e]||this.parser.symbolicNames[e])+"<"+e+">";console.log(e+" ttype out of range: "+this.parser.literalNames),console.log(""+this.parser.getInputStream().getTokens())}return""+e}},{key:"getLookaheadName",value:function(e){return this.getTokenName(e.LA(1))}},{key:"dumpDeadEndConfigs",value:function(e){console.log("dead end configs: ");for(var t=e.getDeadEndConfigs(),n=0;n0){var o=i.state.transitions[0];o instanceof AtomTransition?r="Atom "+this.getTokenName(o.label):o instanceof k&&(r=(o instanceof T?"~":"")+"Set "+o.set)}console.error(i.toString(this.parser,!0)+":"+r)}}},{key:"noViableAlt",value:function(e,t,n,i){return new P(this.parser,e,e.get(i),e.LT(1),n,t)}},{key:"getUniqueAlt",value:function(e){for(var t=c.INVALID_ALT_NUMBER,n=0;n "+i+" upon "+this.getTokenName(n)),null===i)return null;if(i=this.addDFAState(e,i),null===t||n<-1||n>this.atn.maxTokenType)return i;if(null===t.edges&&(t.edges=[]),t.edges[n+1]=i,this.debug){var r=null===this.parser?null:this.parser.literalNames,o=null===this.parser?null:this.parser.symbolicNames;console.log("DFA=\n"+e.toString(r,o))}return i}},{key:"addDFAState",value:function(e,t){if(t===x.ERROR)return t;var n=e.states.get(t);return null!==n?n:(t.stateNumber=e.states.length,t.configs.readOnly||(t.configs.optimizeConfigs(this),t.configs.setReadonly(!0)),e.states.add(t),this.debug&&console.log("adding new DFA state: "+t),t)}},{key:"reportAttemptingFullContext",value:function(e,t,n,i,r){if(this.debug||this.retry_debug){var o=new A(i,r+1);console.log("reportAttemptingFullContext decision="+e.decision+":"+n+", input="+this.parser.getTokenStream().getText(o))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,e,i,r,t,n)}},{key:"reportContextSensitivity",value:function(e,t,n,i,r){if(this.debug||this.retry_debug){var o=new A(i,r+1);console.log("reportContextSensitivity decision="+e.decision+":"+n+", input="+this.parser.getTokenStream().getText(o))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,e,i,r,t,n)}},{key:"reportAmbiguity",value:function(e,t,n,i,r,o,a){if(this.debug||this.retry_debug){var s=new A(n,i+1);console.log("reportAmbiguity "+o+":"+a+", input="+this.parser.getTokenStream().getText(s))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,e,n,i,r,o,a)}}])&&function(e,t){for(var n=0;n1)return!0;return!1},allSubsetsEqual:function(e){for(var t=null,n=0;n=prec}?"}}],[{key:"filterPrecedencePredicates",value:function(e){var t=[];return e.values().map((function(e){e instanceof n&&t.push(e)})),t}}]),n}(h),v=function(e){r(n,e);var t=a(n);function n(e,i){var r;l(this,n),r=t.call(this);var o=new d;e instanceof n?e.opnds.map((function(e){o.add(e)})):o.add(e),i instanceof n?i.opnds.map((function(e){o.add(e)})):o.add(i);var a=y.filterPrecedencePredicates(o);if(a.length>0){var s=null;a.map((function(e){(null===s||e.precedence3?e.slice(3):e).join("&&")}}]),n}(h),C=function(e){r(n,e);var t=a(n);function n(e,i){var r;l(this,n),r=t.call(this);var o=new d;e instanceof n?e.opnds.map((function(e){o.add(e)})):o.add(e),i instanceof n?i.opnds.map((function(e){o.add(e)})):o.add(i);var a=y.filterPrecedencePredicates(o);if(a.length>0){var s=a.sort((function(e,t){return e.compareTo(t)})),u=s[s.length-1];o.add(u)}return r.opnds=Array.from(o.values()),r}return c(n,[{key:"equals",value:function(e){return this===e||e instanceof n&&p(this.opnds,e.opnds)}},{key:"updateHashCode",value:function(e){e.update(this.opnds,"OR")}},{key:"evaluate",value:function(e,t){for(var n=0;n3?e.slice(3):e).join("||")}}]),n}(h);e.exports={SemanticContext:h,PrecedencePredicate:y,Predicate:g}},3412:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(){return r="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=l(e)););return e}(e,t);if(i){var r=Object.getOwnPropertyDescriptor(i,t);return r.get?r.get.call(arguments.length<3?e:n):r.value}},r.apply(this,arguments)}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&a(e,t)}function a(e,t){return a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},a(e,t)}function s(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=l(e);if(t){var o=l(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}function l(e){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},l(e)}function u(e,t){for(var n=0;n=this.start&&e<=this.stop}},{key:"toString",value:function(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}}]),n}(y),S=function(e){o(n,e);var t=s(n);function n(e){return f(this,n),t.call(this,e)}return c(n)}(y),E=function(e){o(n,e);var t=s(n);function n(e,i,r,o){var a;return f(this,n),(a=t.call(this,e)).serializationType=y.PREDICATE,a.ruleIndex=i,a.predIndex=r,a.isCtxDependent=o,a.isEpsilon=!0,a}return c(n,[{key:"matches",value:function(e,t,n){return!1}},{key:"getPredicate",value:function(){return new h(this.ruleIndex,this.predIndex,this.isCtxDependent)}},{key:"toString",value:function(){return"pred_"+this.ruleIndex+":"+this.predIndex}}]),n}(S),D=function(e){o(n,e);var t=s(n);function n(e,i,r,o){var a;return f(this,n),(a=t.call(this,e)).serializationType=y.ACTION,a.ruleIndex=i,a.actionIndex=void 0===r?-1:r,a.isCtxDependent=void 0!==o&&o,a.isEpsilon=!0,a}return c(n,[{key:"matches",value:function(e,t,n){return!1}},{key:"toString",value:function(){return"action_"+this.ruleIndex+":"+this.actionIndex}}]),n}(y),A=function(e){o(n,e);var t=s(n);function n(e,i){var r;return f(this,n),(r=t.call(this,e)).serializationType=y.SET,null!=i?r.label=i:(r.label=new m,r.label.addOne(d.INVALID_TYPE)),r}return c(n,[{key:"matches",value:function(e,t,n){return this.label.contains(e)}},{key:"toString",value:function(){return this.label.toString()}}]),n}(y),R=function(e){o(n,e);var t=s(n);function n(e,i){var r;return f(this,n),(r=t.call(this,e,i)).serializationType=y.NOT_SET,r}return c(n,[{key:"matches",value:function(e,t,i){return e>=t&&e<=i&&!r(l(n.prototype),"matches",this).call(this,e,t,i)}},{key:"toString",value:function(){return"~"+r(l(n.prototype),"toString",this).call(this)}}]),n}(A),M=function(e){o(n,e);var t=s(n);function n(e){var i;return f(this,n),(i=t.call(this,e)).serializationType=y.WILDCARD,i}return c(n,[{key:"matches",value:function(e,t,n){return e>=t&&e<=n}},{key:"toString",value:function(){return"."}}]),n}(y),k=function(e){o(n,e);var t=s(n);function n(e,i){var r;return f(this,n),(r=t.call(this,e)).serializationType=y.PRECEDENCE,r.precedence=i,r.isEpsilon=!0,r}return c(n,[{key:"matches",value:function(e,t,n){return!1}},{key:"getPredicate",value:function(){return new g(this.precedence)}},{key:"toString",value:function(){return this.precedence+" >= _p"}}]),n}(S);e.exports={Transition:y,AtomTransition:v,SetTransition:A,NotSetTransition:R,RuleTransition:C,ActionTransition:D,EpsilonTransition:x,RangeTransition:b,WildcardTransition:M,PredicateTransition:E,PrecedencePredicateTransition:k,AbstractPredicateTransition:S}},5212:function(e,t,n){t.ATN=n(7835),t.ATNDeserializer=n(2162),t.LexerATNSimulator=n(4549),t.ParserATNSimulator=n(8877),t.PredictionMode=n(2523)},8386:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var r=n(7090).Set,o=n(9324).DFAState,a=n(4).StarLoopEntryState,s=n(5327).ATNConfigSet,l=n(4815).DFASerializer,u=n(4815).LexerDFASerializer,c=function(){function e(t,n){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),void 0===n&&(n=0),this.atnStartState=t,this.decision=n,this._states=new r,this.s0=null,this.precedenceDfa=!1,t instanceof a&&t.isPrecedenceDecision){this.precedenceDfa=!0;var i=new o(null,new s);i.edges=[],i.isAcceptState=!1,i.requiresFullContext=!1,this.s0=i}}var t,n;return t=e,(n=[{key:"getPrecedenceStartState",value:function(e){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";return e<0||e>=this.s0.edges.length?null:this.s0.edges[e]||null}},{key:"setPrecedenceStartState",value:function(e,t){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";e<0||(this.s0.edges[e]=t)}},{key:"setPrecedenceDfa",value:function(e){if(this.precedenceDfa!==e){if(this._states=new r,e){var t=new o(null,new s);t.edges=[],t.isAcceptState=!1,t.requiresFullContext=!1,this.s0=t}else this.s0=null;this.precedenceDfa=e}}},{key:"sortedStates",value:function(){return this._states.values().sort((function(e,t){return e.stateNumber-t.stateNumber}))}},{key:"toString",value:function(e,t){return e=e||null,t=t||null,null===this.s0?"":new l(this,e,t).toString()}},{key:"toLexerString",value:function(){return null===this.s0?"":new u(this).toString()}},{key:"states",get:function(){return this._states}}])&&function(e,t){for(var n=0;n")).concat(this.getStateString(a))).concat("\n"))}}return 0===e.length?null:e}},{key:"getEdgeLabel",value:function(e){return 0===e?"EOF":null!==this.literalNames||null!==this.symbolicNames?this.literalNames[e-1]||this.symbolicNames[e-1]:String.fromCharCode(e-1)}},{key:"getStateString",value:function(e){var t=(e.isAcceptState?":":"")+"s"+e.stateNumber+(e.requiresFullContext?"^":"");return e.isAcceptState?null!==e.predicates?t+"=>"+u.arrayToString(e.predicates):t+"=>"+e.prediction.toString():t}}]),e}(),f=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&i(e,t)}(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,i=r(t);if(n){var a=r(this).constructor;e=Reflect.construct(i,arguments,a)}else e=i.apply(this,arguments);return function(e,t){if(t&&("object"===o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function u(e){return a(this,u),s.call(this,e,null)}return l(u,[{key:"getEdgeLabel",value:function(e){return"'"+String.fromCharCode(e)+"'"}}]),u}(c);e.exports={DFASerializer:c,LexerDFASerializer:f}},9324:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){for(var n=0;n=r.length)return""+n;var o=r[i]||null;return null===o||0===o.length?""+n:"".concat(n," (").concat(o,")")}},{key:"getConflictingAlts",value:function(e,t){if(null!==e)return e;for(var n=new a,i=0;i=0&&e.consume(),this.lastErrorIndex=e._input.index,null===this.lastErrorStates&&(this.lastErrorStates=[]),this.lastErrorStates.push(e.state);var n=this.getErrorRecoverySet(e);this.consumeUntil(e,n)}},{key:"sync",value:function(e){if(!this.inErrorRecoveryMode(e)){var t=e._interp.atn.states[e.state],n=e.getTokenStream().LA(1),i=e.atn.nextTokens(t);if(i.contains(n))return this.nextTokensContext=null,void(this.nextTokenState=y.INVALID_STATE_NUMBER);if(i.contains(f.EPSILON))null===this.nextTokensContext&&(this.nextTokensContext=e._ctx,this.nextTokensState=e._stateNumber);else switch(t.stateType){case y.BLOCK_START:case y.STAR_BLOCK_START:case y.PLUS_BLOCK_START:case y.STAR_LOOP_ENTRY:if(null!==this.singleTokenDeletion(e))return;throw new p(e);case y.PLUS_LOOP_BACK:case y.STAR_LOOP_BACK:this.reportUnwantedToken(e);var r=new x;r.addSet(e.getExpectedTokens());var o=r.addSet(this.getErrorRecoverySet(e));this.consumeUntil(e,o)}}}},{key:"reportNoViableAlternative",value:function(e,t){var n,i=e.getTokenStream();n=null!==i?t.startToken.type===f.EOF?"":i.getText(new C(t.startToken.tokenIndex,t.offendingToken.tokenIndex)):"";var r="no viable alternative at input "+this.escapeWSAndQuote(n);e.notifyErrorListeners(r,t.offendingToken,t)}},{key:"reportInputMismatch",value:function(e,t){var n="mismatched input "+this.getTokenErrorDisplay(t.offendingToken)+" expecting "+t.getExpectedTokens().toString(e.literalNames,e.symbolicNames);e.notifyErrorListeners(n,t.offendingToken,t)}},{key:"reportFailedPredicate",value:function(e,t){var n="rule "+e.ruleNames[e._ctx.ruleIndex]+" "+t.message;e.notifyErrorListeners(n,t.offendingToken,t)}},{key:"reportUnwantedToken",value:function(e){if(!this.inErrorRecoveryMode(e)){this.beginErrorCondition(e);var t=e.getCurrentToken(),n="extraneous input "+this.getTokenErrorDisplay(t)+" expecting "+this.getExpectedTokens(e).toString(e.literalNames,e.symbolicNames);e.notifyErrorListeners(n,t,null)}}},{key:"reportMissingToken",value:function(e){if(!this.inErrorRecoveryMode(e)){this.beginErrorCondition(e);var t=e.getCurrentToken(),n="missing "+this.getExpectedTokens(e).toString(e.literalNames,e.symbolicNames)+" at "+this.getTokenErrorDisplay(t);e.notifyErrorListeners(n,t,null)}}},{key:"recoverInline",value:function(e){var t=this.singleTokenDeletion(e);if(null!==t)return e.consume(),t;if(this.singleTokenInsertion(e))return this.getMissingSymbol(e);throw new p(e)}},{key:"singleTokenInsertion",value:function(e){var t=e.getTokenStream().LA(1),n=e._interp.atn,i=n.states[e.state].transitions[0].target;return!!n.nextTokens(i,e._ctx).contains(t)&&(this.reportMissingToken(e),!0)}},{key:"singleTokenDeletion",value:function(e){var t=e.getTokenStream().LA(2);if(this.getExpectedTokens(e).contains(t)){this.reportUnwantedToken(e),e.consume();var n=e.getCurrentToken();return this.reportMatch(e),n}return null}},{key:"getMissingSymbol",value:function(e){var t,n=e.getCurrentToken(),i=this.getExpectedTokens(e).first();t=i===f.EOF?"":"";var r=n,o=e.getTokenStream().LT(-1);return r.type===f.EOF&&null!==o&&(r=o),e.getTokenFactory().create(r.source,i,t,f.DEFAULT_CHANNEL,-1,-1,r.line,r.column)}},{key:"getExpectedTokens",value:function(e){return e.getExpectedTokens()}},{key:"getTokenErrorDisplay",value:function(e){if(null===e)return"";var t=e.text;return null===t&&(t=e.type===f.EOF?"":"<"+e.type+">"),this.escapeWSAndQuote(t)}},{key:"escapeWSAndQuote",value:function(e){return"'"+(e=(e=(e=e.replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/\t/g,"\\t"))+"'"}},{key:"getErrorRecoverySet",value:function(e){for(var t=e._interp.atn,n=e._ctx,i=new x;null!==n&&n.invokingState>=0;){var r=t.states[n.invokingState].transitions[0],o=t.nextTokens(r.followState);i.addSet(o),n=n.parentCtx}return i.removeOne(f.EPSILON),i}},{key:"consumeUntil",value:function(e,t){for(var n=e.getTokenStream().LA(1);n!==f.EOF&&!t.contains(n);)e.consume(),n=e.getTokenStream().LA(1)}}]),n}(function(){function e(){l(this,e)}return c(e,[{key:"reset",value:function(e){}},{key:"recoverInline",value:function(e){}},{key:"recover",value:function(e,t){}},{key:"sync",value:function(e){}},{key:"inErrorRecoveryMode",value:function(e){}},{key:"reportError",value:function(e){}}]),e}()),S=function(e){r(n,e);var t=a(n);function n(){return l(this,n),t.call(this)}return c(n,[{key:"recover",value:function(e,t){for(var n=e._ctx;null!==n;)n.exception=t,n=n.parentCtx;throw new g(t)}},{key:"recoverInline",value:function(e){this.recover(e,new p(e))}},{key:"sync",value:function(e){}}]),n}(b);e.exports={BailErrorStrategy:S,DefaultErrorStrategy:b}},1162:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){for(var n=0;n=0&&this.startIndex=n)){var r,o=t.charCodeAt(i);return o>=55296&&o<=56319&&n>i+1&&(r=t.charCodeAt(i+1))>=56320&&r<=57343?1024*(o-55296)+r-56320+65536:o}};e?e(String.prototype,"codePointAt",{value:t,configurable:!0,writable:!0}):String.prototype.codePointAt=t}()},7700:function(){var e,t,n,i;String.fromCodePoint||(e=function(){var e;try{var t={},n=Object.defineProperty;e=n(t,t,t)&&n}catch(e){}return e}(),t=String.fromCharCode,n=Math.floor,i=function(e){var i,r,o=[],a=-1,s=arguments.length;if(!s)return"";for(var l="";++a1114111||n(u)!==u)throw RangeError("Invalid code point: "+u);u<=65535?o.push(u):(i=55296+((u-=65536)>>10),r=u%1024+56320,o.push(i,r)),(a+1===s||o.length>16384)&&(l+=t.apply(null,o),o.length=0)}return l},e?e(String,"fromCodePoint",{value:i,configurable:!0,writable:!0}):String.fromCodePoint=i)},4524:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)}function o(e,t){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},o(e,t)}function a(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=s(e);if(t){var o=s(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}function s(e){return s=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},s(e)}function l(e,t){for(var n=0;n":this.symbol.text}}]),n}(g),b=function(e){r(n,e);var t=a(n);function n(e){return c(this,n),t.call(this,e)}return u(n,[{key:"isErrorNode",value:function(){return!0}},{key:"accept",value:function(e){return e.visitErrorNode(this)}}]),n}(x),S=function(){function e(){c(this,e)}return u(e,[{key:"walk",value:function(e,t){if(t instanceof y||void 0!==t.isErrorNode&&t.isErrorNode())e.visitErrorNode(t);else if(t instanceof g)e.visitTerminal(t);else{this.enterRule(e,t);for(var n=0;n0&&(r=u.toStringTree(e.getChild(0),t),a=a.concat(r));for(var s=1;s1)throw new Error("Expected singleton on right side of contains, got "+JSON.stringify(t));return o(e,t)},r.in=function(e,t){if(0==e.length)return[];if(0==t.length)return!1;if(e.length>1)throw new Error("Expected singleton on right side of in, got "+JSON.stringify(t));return o(t,e)},e.exports=r},4461:function(e,t,n){var i={},r=n(968).distinctFn,o=n(7909);i.union=function(e,t){return r(e.concat(t))},i.combineFn=function(e,t){return e.concat(t)},i.intersect=function(e,t){var n=[],i=e.length,r=t.length;if(i&&r){var a={};t.forEach((function(e){var t=o(e);a[t]?r--:a[t]=!0}));for(var s=0;s0;++s){var l=e[s],u=o(l);a[u]&&(n.push(l),a[u]=!1,r--)}}return n},i.exclude=function(e,t){var n=[];if(e.length){var i={};t.forEach((function(e){var t=o(e);i[t]=!0})),n=e.filter((function(e){return!i[o(e)]}))}return n},e.exports=i},5263:function(e){e.exports={reset:function(){this.nowDate=new Date,this.today=null,this.now=null,this.timeOfDay=null,this.localTimezoneOffset=null},today:null,now:null,timeOfDay:null}},3526:function(e,t,n){var i={},r=n(7028),o=n(5263),a=r.FP_Date,s=r.FP_DateTime,l=r.FP_Time;i.now=function(){if(!o.now){var e=o.nowDate,t=s.isoDateTime(e);o.now=new s(t)}return o.now},i.today=function(){if(!o.today){var e=o.nowDate,t=a.isoDate(e);o.today=new a(t)}return o.today},i.timeOfDay=function(){if(!o.timeOfDay){var e=o.nowDate,t=s.isoTime(e);o.timeOfDay=new l(t)}return o.timeOfDay},e.exports=i},7567:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var r=n(7028).FP_Type,o=n(1575),a=n(4497),s=Array.prototype.slice,l=Object.keys,u=function(e){return"[object Arguments]"==Object.prototype.toString.call(e)};function c(e){return"string"==typeof e||e instanceof String}function f(e){return!isNaN(parseFloat(e))&&isFinite(e)}function d(e){return e.toUpperCase().replace(/\s+/," ")}function m(e){return null==e}e.exports=function e(t,n,p){if(p||(p={}),(t=o.valDataConverted(t))===(n=o.valDataConverted(n)))return!0;if(p.fuzzy){if(c(t)&&c(n))return d(t)==d(n);if(f(t)&&f(n))return a.isEquivalent(t,n)}else if("number"==typeof t&&"number"==typeof n)return a.isEqual(t,n);if(t instanceof Date&&n instanceof Date)return t.getTime()===n.getTime();if(!t||!n||"object"!=i(t)&&"object"!=i(n))return t===n;var h=t instanceof r,g=n instanceof r;return h&&g?p.fuzzy?t.equivalentTo(n):t.equals(n):!h&&!g&&function(t,n,r){var o,a;if(m(t)||m(n))return!1;if(t.prototype!==n.prototype)return!1;if(u(t)||u(n))return e(t=u(t)?s.call(t):t,n=u(n)?s.call(n):n,r);try{var c=l(t),f=l(n)}catch(e){return!1}if(c.length!=f.length)return!1;for(c.sort(),f.sort(),o=c.length-1;o>=0;o--)if(c[o]!=f[o])return!1;if(1===c.length)return e(t[a=c[0]],n[a],r);for(o=c.length-1;o>=0;o--)if(!e(t[a=c[o]],n[a],r))return!1;return i(t)===i(n)}(t,n,p)}},3776:function(e,t,n){function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i,r,o,a,s=[],l=!0,u=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=o.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,r=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw r}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n0}return r>o},f.lte=function(e,t){if(!e.length||!t.length)return[];var n=i(p(e,t),2),r=n[0],o=n[1];if(r instanceof l){var a=r.compare(o);return null===a?[]:a<=0}return r<=o},f.gte=function(e,t){if(!e.length||!t.length)return[];var n=i(p(e,t),2),r=n[0],o=n[1];if(r instanceof l){var a=r.compare(o);return null===a?[]:a>=0}return r>=o},e.exports=f},4843:function(e,t,n){var i=n(1575),r=n(968),o=r.whereMacro,a=r.distinctFn,s=n(4230),l=n(7909),u={};function c(e,t){var n=e.length,i=n<=t.length;if(i&&n){var r=t.reduce((function(e,t){return e[l(t)]=!0,e}),{});i=!e.some((function(e){return!r[l(e)]}))}return i}u.emptyFn=i.isEmpty,u.notFn=function(e){var t=s.singleton(e,"Boolean");return"boolean"==typeof t?!t:[]},u.existsMacro=function(e,t){var n=e;return t?u.existsMacro(o.call(this,e,t)):!i.isEmpty(n)},u.allMacro=function(e,t){for(var n=0,r=e.length;ne.length)&&(t=e.length);for(var n=0,i=new Array(t);n":{fn:x.gt,arity:{2:["Any","Any"]},nullable:!0},"<=":{fn:x.lte,arity:{2:["Any","Any"]},nullable:!0},">=":{fn:x.gte,arity:{2:["Any","Any"]},nullable:!0},containsOp:{fn:b.contains,arity:{2:["Any","Any"]}},inOp:{fn:b.in,arity:{2:["Any","Any"]}},isOp:{fn:M.isFn,arity:{2:["Any","TypeSpecifier"]}},asOp:{fn:M.asFn,arity:{2:["Any","TypeSpecifier"]}},"&":{fn:S.amp,arity:{2:["String","String"]}},"+":{fn:S.plus,arity:{2:["Any","Any"]},nullable:!0},"-":{fn:S.minus,arity:{2:["Any","Any"]},nullable:!0},"*":{fn:S.mul,arity:{2:["Number","Number"]},nullable:!0},"/":{fn:S.div,arity:{2:["Number","Number"]},nullable:!0},mod:{fn:S.mod,arity:{2:["Number","Number"]},nullable:!0},div:{fn:S.intdiv,arity:{2:["Number","Number"]},nullable:!0},or:{fn:R.orOp,arity:{2:[["Boolean"],["Boolean"]]}},and:{fn:R.andOp,arity:{2:[["Boolean"],["Boolean"]]}},xor:{fn:R.xorOp,arity:{2:[["Boolean"],["Boolean"]]}},implies:{fn:R.impliesOp,arity:{2:[["Boolean"],["Boolean"]]}}},p.InvocationExpression=function(e,t,n){return n.children.reduce((function(t,n){return p.doEval(e,t,n)}),t)},p.TermExpression=function(e,t,n){return t&&(t=t.map((function(e){return e instanceof Object&&e.resourceType?L(e,e.resourceType):e}))),p.doEval(e,t,n.children[0])},p.PolarityExpression=function(e,t,n){var i=n.terminalNodeText[0],r=p.doEval(e,t,n.children[0]);if(1!==r.length)throw new Error("Unary "+i+" can only be applied to an individual number.");if("number"!=typeof r[0]||isNaN(r[0]))throw new Error("Unary "+i+" can only be applied to a number.");return"-"===i&&(r[0]=-r[0]),r},p.TypeSpecifier=function(e,t,n){var i,r,o=n.text.split(".").map((function(e){return e.replace(/(^`|`$)/g,"")}));switch(o.length){case 2:var a=s(o,2);i=a[0],r=a[1];break;case 1:r=s(o,1)[0];break;default:throw new Error("Expected TypeSpecifier node, got "+JSON.stringify(n))}return new _({namespace:i,name:r})},p.ExternalConstantTerm=function(e,t,n){var i=n.children[0].children[0],r=p.Identifier(e,t,i)[0],o=e.vars[r];if(!(r in e.vars))throw new Error("Attempting to access an undefined environment variable: "+r);return null==o?[]:o instanceof Array?o:[o]},p.LiteralTerm=function(e,t,n){var i=n.children[0];return i?p.doEval(e,t,i):[n.text]},p.StringLiteral=function(e,t,n){var i=n.text.replace(/(^'|'$)/g,"");return[i=i.replace(/\\(u\d{4}|.)/g,(function(e,t){switch(e){case"\\r":return"\r";case"\\n":return"\n";case"\\t":return"\t";case"\\f":return"\f";default:return t.length>1?String.fromCharCode("0x"+t.slice(1)):t}}))]},p.BooleanLiteral=function(e,t,n){return"true"===n.text?[!0]:[!1]},p.QuantityLiteral=function(e,t,n){var i=n.children[0],r=Number(i.terminalNodeText[0]),o=i.children[0],a=o.terminalNodeText[0];return!a&&o.children&&(a=o.children[0].terminalNodeText[0]),[new I(r,a)]},p.DateTimeLiteral=function(e,t,n){var i=n.text.slice(1);return[new T(i)]},p.TimeLiteral=function(e,t,n){var i=n.text.slice(1);return[new w(i)]},p.NumberLiteral=function(e,t,n){return[Number(n.text)]},p.Identifier=function(e,t,n){return[n.text.replace(/(^`|`$)/g,"")]},p.InvocationTerm=function(e,t,n){return p.doEval(e,t,n.children[0])},p.MemberInvocation=function(e,t,n){var i=p.doEval(e,t,n.children[0])[0],r=e.model;if(t){if(d.isCapitalized(i))return t.filter((function(e){return e instanceof O&&e.path===i}));var o=t.path||t.__path__;return t.reduce((function(e,t){var n,a,s=(t=L(t,o)).path+"."+i;if(r){var u=r.pathsDefinedElsewhere[s];u&&(s=u)}var c=r&&r.choiceTypePaths[s];if(c){var f,m=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=l(e))){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}(c);try{for(m.s();!(f=m.n()).done;){var p,h,g=f.value,y=i+g;if(n=null===(p=t.data)||void 0===p?void 0:p[y],a=null===(h=t.data)||void 0===h?void 0:h["_"+y],void 0!==n||void 0!==a){s+=g;break}}}catch(e){m.e(e)}finally{m.f()}}else{var v,C;n=null===(v=t.data)||void 0===v?void 0:v[i],a=null===(C=t.data)||void 0===C?void 0:C["_"+i],void 0===n&&void 0===a&&(n=t._data[i]),"extension"===i&&(s="Extension")}return s=r&&r.path2Type[s]||s,d.isSome(n)||d.isSome(a)?(Array.isArray(n)?e=e.concat(n.map((function(e,t){return L(e,s,a&&a[t])}))):e.push(L(n,s,a)),e):e}),[])}return[]},p.IndexerExpression=function(e,t,n){var i=n.children[0],r=n.children[1],o=p.doEval(e,t,i),a=p.doEval(e,t,r);if(d.isEmpty(a))return[];var s=parseInt(a[0]);return o&&d.isSome(s)&&o.length>s&&s>=0?[o[s]]:[]},p.Functn=function(e,t,n){return n.children.map((function(n){return p.doEval(e,t,n)}))},p.realizeParams=function(e,t,n){return n&&n[0]&&n[0].children?n[0].children.map((function(n){return p.doEval(e,t,n)})):[]},p.FunctionInvocation=function(e,t,n){var i=p.doEval(e,t,n.children[0]),r=i[0];return i.shift(),function(e,t,n,i){var r,o=p.invocationTable[t];if(o){if(o.arity){var a=i?i.length:0,s=o.arity[a];if(s){for(var l=[],u=0;u0)for(var n={},i=0,r=e.length;i1)throw new Error("Could not convert to quantity: input collection contains multiple items");if(1===e.length){var i,o=r.valDataConverted(e[0]);if("number"==typeof o)n=new a(o,"'1'");else if(o instanceof a)n=o;else if("boolean"==typeof o)n=new a(o?1:0,"'1'");else if("string"==typeof o&&(i=u.exec(o))){var s=i[1],l=i[5],c=i[6];c&&!a.mapTimeUnitsToUCUMCode[c]||(n=new a(Number(s),l||c||"'1'"))}n&&t&&n.unit!==t&&(n=a.convUnitTo(n.unit,n.value,t))}return n||[]};var c=/^[+-]?\d+(\.\d+)?$/;function f(e){var t=e.slice(3);s["to"+t]=function(n){var i=[];if(n.length>1)throw Error("to "+t+" called for a collection of length "+n.length);if(1===n.length){var a=o[e].checkString(r.valData(n[0]));a&&(i=a)}return i}}s.toDecimal=function(e){if(1!==e.length)return[];var t=r.valData(e[0]);return!1===t?0:!0===t?1:"number"==typeof t?t:"string"==typeof t&&c.test(t)?parseFloat(t):[]},s.toString=function(e){return 1!==e.length?[]:r.valDataConverted(e[0]).toString()},f("FP_Date"),f("FP_DateTime"),f("FP_Time");var d=["true","t","yes","y","1","1.0"].reduce((function(e,t){return e[t]=!0,e}),{}),m=["false","f","no","n","0","0.0"].reduce((function(e,t){return e[t]=!0,e}),{});s.toBoolean=function(e){if(1!==e.length)return[];var t=r.valData(e[0]);switch(i(t)){case"boolean":return t;case"number":if(1===t)return!0;if(0===t)return!1;break;case"string":var n=t.toLowerCase();if(d[n])return!0;if(m[n])return!1}return[]},s.createConvertsToFn=function(e,t){return"string"==typeof t?function(n){return 1!==n.length?[]:i(e(n))===t}:function(n){return 1!==n.length?[]:e(n)instanceof t}};var p={Integer:function(e){var t=r.valData(e[0]);if(Number.isInteger(t))return t},Boolean:function(e){var t=r.valData(e[0]);return!0===t||!1===t?t:1===e.length||void 0},Number:function(e){var t=r.valData(e[0]);if("number"==typeof t)return t},String:function(e){var t=r.valData(e[0]);if("string"==typeof t)return t}};s.singleton=function(e,t){if(e.length>1)throw new Error("Unexpected collection"+JSON.stringify(e)+"; expected singleton of type "+t);if(0===e.length)return[];var n=p[t];if(n){var i=n(e);if(void 0!==i)return i;throw new Error("Expected ".concat(t.toLowerCase(),", but got: ").concat(JSON.stringify(e)))}throw new Error("Not supported type "+t)};var h=new Set(["instant","time","date","dateTime","base64Binary","decimal","integer64","boolean","string","code","markdown","id","integer","unsignedInt","positiveInt","uri","oid","uuid","canonical","url"]);function g(e){switch(i(e)){case"string":case"number":case"boolean":return!0;default:return!1}}s.hasValueFn=function(e){var t=this.model;return 1===e.length?t?[h.has(e[0].path)]:[g(r.valData(e[0]))]:[!1]},e.exports=s},6183:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var r=n(1575),o=n(7028).ResourceNode.makeResNode,a={children:function(e){var t=this.model;return e.reduce((function(e,n){var a=r.valData(n);if(n=o(n),"object"===i(a)){for(var s=0,l=Object.keys(a);s0;)n.push.apply(n,t),t=a.children.call(this,t);return n}};e.exports=a},4497:function(e){var t={};function n(e){var t=/(\d+)(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/.exec(""+ +e);if(!t)return 0;var n=t[2],i=t[3];return Math.max(0,("0"===n?0:(n||"").length)-(i||0))}function i(e,t){var n=Math.pow(10,t);return Math.round(e*n)/n}var r=t.roundToMaxPrecision=function(e){return 1e-8*Math.round(e/1e-8)};t.isEquivalent=function(e,t){if(Number.isInteger(e)&&Number.isInteger(t))return e===t;var r=Math.min(n(e),n(t));return 0===r?Math.round(e)===Math.round(t):i(e,r)===i(t,r)},t.isEqual=function(e,t){return r(e)===r(t)},e.exports=t},2589:function(e,t,n){t.atn=n(5212),t.codepointat=n(2054),t.dfa=n(7853),t.fromcodepoint=n(7700),t.tree=n(703),t.error=n(1770),t.Token=n(9616).Token,t.CommonToken=n(9616).CommonToken,t.InputStream=n(3960),t.CommonTokenStream=n(8617),t.Lexer=n(4149),t.Parser=n(4680);var i=n(9699);t.PredictionContextCache=i.PredictionContextCache,t.ParserRuleContext=n(788),t.Interval=n(5062).Interval,t.IntervalSet=n(5062).IntervalSet,t.Utils=n(7090),t.LL1Analyzer=n(2894).LL1Analyzer},4081:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){for(var n=0;n\t>","?\t?@\t@A\tAB\tBC\tCD\tD","","\b","\b\t\t\t\t\n\n\n\n","\v\v\f\f\r\r\r","","","","","","","","",""," ",' !!!!!"""','"""##$$$$$',"$%%%%%%%&","&&&&&&''((","((())))))*","****++++,,",",,,-------",".......///","/////////0","0000011111","1122222233","3334444445","5555555666","6666677777","7777777788","8888888888","88ƃ\n88ƅ\n88Ƈ\n888Ɗ","\n89999:::::","::::::ƚ\n:\r::ƛ",":ƞ\n::Ơ\n::Ƣ\n::::",":::::ƫ\n:;;Ʈ\n;",";;Ʊ\n;\f;;ƴ\v;<<<","<ƹ\n<\f<<Ƽ\v<<<==","==ǃ\n=\f==dž\v===>",">Nj\n>\r>>nj>>>Ǒ\n>\r>>ǒ",">Ǖ\n>??ǘ\n?\r??Ǚ?","?@@@@@Ǣ\n@\f@@ǥ\v","@@@@@@AAAA","Aǰ\nA\fAAdz\vAAABB","BBǺ\nBCCCCCCD","DǣE\t\v","\r\b\t\n\v\f\r","!#%')+","-/13579;= ?!A","\"C#E$G%I&K'M(O)Q*S+U,W-Y.[/]0_1a2c3e4g5i6k7m8o9q:su;w}","?@Aƒ…‡\f","2;--//C\\aac|2;C\\aac|",'^^bb))\v\f""',"\f\f\n))11^^bbhhppttvv2;CHchȔ","","\t","\v\r","","","","","!","#%","')+","-/","13","57","9;","=?A","CE","GI","KM","OQ","SUW","Y[","]_","ac","eg","ikm","oq","uw","y{","}","‰","‹","\t\v‘","\r“•","—›","Ÿ¡","£¦","¨ª","!­#°%³","'µ)·","+º-½","/À1É","3Í5Ð","7Ô9Ü;Þ","=à?â","AäCé","EïGñ","I÷Kþ","MąOćQČ","SĒUė","WěYĠ","[ħ]Į","_ĺaŀ","cŇeōgŒ","iŘkŠ","mŨoŵ","qƋsƏ","uƭwƵ","yƿ{NJ}Ǘ","ǝǫ","ƒǶ…ǻ","‡ȁ‰Š","0Š‹Œ","]ŒŽ","_Ž\b","-\n‘’/","’\f“”,","”•–1","–—˜f","˜™k™šxš","›œoœ","qžfž","Ÿ ( ","¡¢~¢","£¤>¤¥","?¥¦§",">§¨©","@©ª«","@«¬?¬ ","­®k®¯u",'¯"°±c',"±²u²$³","´?´&µ¶","€¶(·¸","#¸¹?¹*","º»#»¼€","¼,½¾k","¾¿p¿.","ÀÁeÁÂqÂ","ÃpÃÄvÄÅ","cÅÆkÆÇ","pÇÈuÈ0","ÉÊcÊËp","ËÌfÌ2Í","ÎqÎÏtÏ4","ÐÑzÑÒ","qÒÓtÓ6","ÔÕkÕÖo","Ö×r×ØnØ","ÙkÙÚgÚÛ","uÛ8ÜÝ","*Ý:Þß+","ß<àá}","á>âã","ã@äåvå","ætæçwçè","gèBéê","hêëcëìn","ìíuíîg","îDïð'ð","Fñò&òó","vóôjôõ","kõöuöH","÷ø&øùk","ùúpúûfû","ügüýzýJ","þÿ&ÿĀ","vĀāqāĂv","ĂăcăĄn","ĄLąĆ.Ć","NćĈ{Ĉĉ","gĉĊcĊċ","tċPČčo","čĎqĎďp","ďĐvĐđjđ","RĒēyēĔ","gĔĕgĕĖ","mĖTėĘf","ĘęcęĚ{","ĚVěĜjĜ","ĝqĝĞwĞğ","tğXĠġ","oġĢkĢģp","ģĤwĤĥv","ĥĦgĦZħ","ĨuĨĩgĩĪ","eĪīqīĬ","pĬĭfĭ\\","Įįoįİk","İınıIJnIJ","ijkijĴuĴĵ","gĵĶeĶķ","qķĸpĸĹf","Ĺ^ĺĻ{","ĻļgļĽcĽ","ľtľĿuĿ`","ŀŁoŁł","qłŃpŃńv","ńŅjŅņu","ņbŇňyň","ʼngʼnŊgŊŋ","mŋŌuŌd","ōŎfŎŏc","ŏŐ{Őőu","őfŒœjœ","ŔqŔŕwŕŖ","tŖŗuŗh","ŘřořŚk","ŚśpśŜw","ŜŝvŝŞgŞ","şuşjŠš","ušŢgŢţ","eţŤqŤťp","ťŦfŦŧu","ŧlŨũoũ","ŪkŪūnūŬ","nŬŭkŭŮ","uŮůgůŰe","ŰűqűŲp","ŲųfųŴuŴ","nŵŶBŶŷ","\tŷŸ\tŸŹ\t","ŹƆ\tźŻ/","Żż\tżƄ\t","Žž/žſ\tſ","Ƃ\tƀƁVƁƃ","s:ƂƀƂƃ","ƃƅƄŽ","ƄƅƅƇ","ƆźƆƇ","ƇƉƈƊ","\\ƉƈƉƊ","ƊpƋƌ","BƌƍVƍƎs:","ƎrƏƐ\tƐ","ơ\tƑƒ<ƒƓ","\tƓƟ\tƔƕ","<ƕƖ\tƖƝ\t","Ɨƙ0Ƙƚ\t","ƙƘƚƛ","ƛƙƛƜ","ƜƞƝƗ","ƝƞƞƠ","ƟƔƟƠ","ƠƢơƑ","ơƢƢƪ","ƣƫ\\Ƥƥ\tƥ","Ʀ\tƦƧ\tƧƨ","<ƨƩ\tƩƫ\t","ƪƣƪƤ","ƪƫƫt","ƬƮ\tƭƬ","ƮƲƯƱ\t","ưƯƱƴ","ƲưƲƳ","ƳvƴƲ","Ƶƺbƶƹƒ","BƷƹ\nƸƶ","ƸƷƹƼ","ƺƸƺƻ","ƻƽƼƺ","ƽƾbƾx","ƿDŽ)ǀǃƒBǁ","ǃ\nǂǀǂ","ǁǃdžDŽ","ǂDŽDžDž","LJdžDŽLJ","Lj)LjzljNj","\tNJljNjnj","njNJnjǍ","Ǎǔǎǐ","0ǏǑ\tǐǏ","Ǒǒǒǐ","ǒǓǓǕ","ǔǎǔǕ","Ǖ|ǖǘ\t\b","ǗǖǘǙ","ǙǗǙǚ","ǚǛǛǜ\b?","ǜ~ǝǞ1Ǟ","ǟ,ǟǣǠ","Ǣ\vǡǠǢ","ǥǣǤǣ","ǡǤǦǥ","ǣǦǧ,ǧ","Ǩ1Ǩǩǩ","Ǫ\b@Ǫ€ǫǬ","1Ǭǭ1ǭDZ","Ǯǰ\n\tǯǮ","ǰdzDZǯ","DZDzDzǴ","dzDZǴǵ\bA","ǵ‚Ƕǹ^","ǷǺ\t\nǸǺ…Cǹ","ǷǹǸǺ","„ǻǼwǼ","ǽ‡DǽǾ‡DǾǿ","‡DǿȀ‡DȀ†","ȁȂ\t\vȂˆ","ƂƄƆƉƛƝƟ","ơƪƭưƲƸƺǂDŽnjǒǔ","ǙǣDZǹ"].join(""),d=(new c.atn.ATNDeserializer).deserialize(f),m=d.decisionToState.map((function(e,t){return new c.dfa.DFA(e,t)})),p=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)}(p,e);var t,n,l,u,f=(l=p,u=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=s(l);if(u){var n=s(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return a(e)}(this,e)});function p(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,p),(t=f.call(this,e))._interp=new c.atn.LexerATNSimulator(a(t),d,m,new c.PredictionContextCache),t}return t=p,(n=[{key:"atn",get:function(){return d}}])&&r(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),p}(c.Lexer);l(p,"grammarFileName","FHIRPath.g4"),l(p,"channelNames",["DEFAULT_TOKEN_CHANNEL","HIDDEN"]),l(p,"modeNames",["DEFAULT_MODE"]),l(p,"literalNames",[null,"'.'","'['","']'","'+'","'-'","'*'","'/'","'div'","'mod'","'&'","'|'","'<='","'<'","'>'","'>='","'is'","'as'","'='","'~'","'!='","'!~'","'in'","'contains'","'and'","'or'","'xor'","'implies'","'('","')'","'{'","'}'","'true'","'false'","'%'","'$this'","'$index'","'$total'","','","'year'","'month'","'week'","'day'","'hour'","'minute'","'second'","'millisecond'","'years'","'months'","'weeks'","'days'","'hours'","'minutes'","'seconds'","'milliseconds'"]),l(p,"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,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"DATETIME","TIME","IDENTIFIER","DELIMITEDIDENTIFIER","STRING","NUMBER","WS","COMMENT","LINE_COMMENT"]),l(p,"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","T__34","T__35","T__36","T__37","T__38","T__39","T__40","T__41","T__42","T__43","T__44","T__45","T__46","T__47","T__48","T__49","T__50","T__51","T__52","T__53","DATETIME","TIME","TIMEFORMAT","IDENTIFIER","DELIMITEDIDENTIFIER","STRING","NUMBER","WS","COMMENT","LINE_COMMENT","ESC","UNICODE","HEX"]),p.EOF=c.Token.EOF,p.T__0=1,p.T__1=2,p.T__2=3,p.T__3=4,p.T__4=5,p.T__5=6,p.T__6=7,p.T__7=8,p.T__8=9,p.T__9=10,p.T__10=11,p.T__11=12,p.T__12=13,p.T__13=14,p.T__14=15,p.T__15=16,p.T__16=17,p.T__17=18,p.T__18=19,p.T__19=20,p.T__20=21,p.T__21=22,p.T__22=23,p.T__23=24,p.T__24=25,p.T__25=26,p.T__26=27,p.T__27=28,p.T__28=29,p.T__29=30,p.T__30=31,p.T__31=32,p.T__32=33,p.T__33=34,p.T__34=35,p.T__35=36,p.T__36=37,p.T__37=38,p.T__38=39,p.T__39=40,p.T__40=41,p.T__41=42,p.T__42=43,p.T__43=44,p.T__44=45,p.T__45=46,p.T__46=47,p.T__47=48,p.T__48=49,p.T__49=50,p.T__50=51,p.T__51=52,p.T__52=53,p.T__53=54,p.DATETIME=55,p.TIME=56,p.IDENTIFIER=57,p.DELIMITEDIDENTIFIER=58,p.STRING=59,p.NUMBER=60,p.WS=61,p.COMMENT=62,p.LINE_COMMENT=63,e.exports=p},4454:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}var a=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&r(e,t)}(u,e);var t,n,a,s,l=(a=u,s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=o(a);if(s){var n=o(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function u(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u),l.apply(this,arguments)}return t=u,(n=[{key:"enterEntireExpression",value:function(e){}},{key:"exitEntireExpression",value:function(e){}},{key:"enterIndexerExpression",value:function(e){}},{key:"exitIndexerExpression",value:function(e){}},{key:"enterPolarityExpression",value:function(e){}},{key:"exitPolarityExpression",value:function(e){}},{key:"enterAdditiveExpression",value:function(e){}},{key:"exitAdditiveExpression",value:function(e){}},{key:"enterMultiplicativeExpression",value:function(e){}},{key:"exitMultiplicativeExpression",value:function(e){}},{key:"enterUnionExpression",value:function(e){}},{key:"exitUnionExpression",value:function(e){}},{key:"enterOrExpression",value:function(e){}},{key:"exitOrExpression",value:function(e){}},{key:"enterAndExpression",value:function(e){}},{key:"exitAndExpression",value:function(e){}},{key:"enterMembershipExpression",value:function(e){}},{key:"exitMembershipExpression",value:function(e){}},{key:"enterInequalityExpression",value:function(e){}},{key:"exitInequalityExpression",value:function(e){}},{key:"enterInvocationExpression",value:function(e){}},{key:"exitInvocationExpression",value:function(e){}},{key:"enterEqualityExpression",value:function(e){}},{key:"exitEqualityExpression",value:function(e){}},{key:"enterImpliesExpression",value:function(e){}},{key:"exitImpliesExpression",value:function(e){}},{key:"enterTermExpression",value:function(e){}},{key:"exitTermExpression",value:function(e){}},{key:"enterTypeExpression",value:function(e){}},{key:"exitTypeExpression",value:function(e){}},{key:"enterInvocationTerm",value:function(e){}},{key:"exitInvocationTerm",value:function(e){}},{key:"enterLiteralTerm",value:function(e){}},{key:"exitLiteralTerm",value:function(e){}},{key:"enterExternalConstantTerm",value:function(e){}},{key:"exitExternalConstantTerm",value:function(e){}},{key:"enterParenthesizedTerm",value:function(e){}},{key:"exitParenthesizedTerm",value:function(e){}},{key:"enterNullLiteral",value:function(e){}},{key:"exitNullLiteral",value:function(e){}},{key:"enterBooleanLiteral",value:function(e){}},{key:"exitBooleanLiteral",value:function(e){}},{key:"enterStringLiteral",value:function(e){}},{key:"exitStringLiteral",value:function(e){}},{key:"enterNumberLiteral",value:function(e){}},{key:"exitNumberLiteral",value:function(e){}},{key:"enterDateTimeLiteral",value:function(e){}},{key:"exitDateTimeLiteral",value:function(e){}},{key:"enterTimeLiteral",value:function(e){}},{key:"exitTimeLiteral",value:function(e){}},{key:"enterQuantityLiteral",value:function(e){}},{key:"exitQuantityLiteral",value:function(e){}},{key:"enterExternalConstant",value:function(e){}},{key:"exitExternalConstant",value:function(e){}},{key:"enterMemberInvocation",value:function(e){}},{key:"exitMemberInvocation",value:function(e){}},{key:"enterFunctionInvocation",value:function(e){}},{key:"exitFunctionInvocation",value:function(e){}},{key:"enterThisInvocation",value:function(e){}},{key:"exitThisInvocation",value:function(e){}},{key:"enterIndexInvocation",value:function(e){}},{key:"exitIndexInvocation",value:function(e){}},{key:"enterTotalInvocation",value:function(e){}},{key:"exitTotalInvocation",value:function(e){}},{key:"enterFunctn",value:function(e){}},{key:"exitFunctn",value:function(e){}},{key:"enterParamList",value:function(e){}},{key:"exitParamList",value:function(e){}},{key:"enterQuantity",value:function(e){}},{key:"exitQuantity",value:function(e){}},{key:"enterUnit",value:function(e){}},{key:"exitUnit",value:function(e){}},{key:"enterDateTimePrecision",value:function(e){}},{key:"exitDateTimePrecision",value:function(e){}},{key:"enterPluralDateTimePrecision",value:function(e){}},{key:"exitPluralDateTimePrecision",value:function(e){}},{key:"enterTypeSpecifier",value:function(e){}},{key:"exitTypeSpecifier",value:function(e){}},{key:"enterQualifiedIdentifier",value:function(e){}},{key:"exitQualifiedIdentifier",value:function(e){}},{key:"enterIdentifier",value:function(e){}},{key:"exitIdentifier",value:function(e){}}])&&function(e,t){for(var n=0;n?\f","?@\t\b@PAB\f","BCCPDE\f","EFFP\fGH\f","HIIJJK","KPLM\f\bMN\t\t","NPO)O,","O/O2O5","O8O;","O>OAOD","OGOLPS","QOQRR","SQT\\\f","U\\\bV\\\nWX","XYYZZ\\","[T[U","[V[W\\","]^ ^f!_f\t\n","`f=af>bf9cf",":df\ne]e_","e`ea","ebeced","f\tgj$hk","ik=jhji","k\vlr","mr\bnr%or&","pr'qlqm","qnqoqp","r\rsttv","uw\tvu","vwwxxy","yz","{|(|~}{","~}","€€","‚„>","ƒ…\v„ƒ","„……","†Š\f‡Š\rˆ","Š=‰†‰","‡‰ˆŠ","‹Œ\t\vŒ","Ž\t\fŽ","","‘–’“","“•”’","•˜–”","–——","˜–™š","\t\rš'OQ[ejqv","„‰–"].join(""),v=(new h.atn.ATNDeserializer).deserialize(y),C=v.decisionToState.map((function(e,t){return new h.dfa.DFA(e,t)})),x=new h.PredictionContextCache,b=function(e){l(n,e);var t=c(n);function n(e){var i;return o(this,n),(i=t.call(this,e))._interp=new h.atn.ParserATNSimulator(f(i),v,C,x),i.ruleNames=n.ruleNames,i.literalNames=n.literalNames,i.symbolicNames=n.symbolicNames,i}return s(n,[{key:"atn",get:function(){return v}},{key:"sempred",value:function(e,t,n){if(1===t)return this.expression_sempred(e,n);throw"No predicate with index:"+t}},{key:"expression_sempred",value:function(e,t){switch(t){case 0:return this.precpred(this._ctx,10);case 1:return this.precpred(this._ctx,9);case 2:return this.precpred(this._ctx,8);case 3:return this.precpred(this._ctx,7);case 4:return this.precpred(this._ctx,5);case 5:return this.precpred(this._ctx,4);case 6:return this.precpred(this._ctx,3);case 7:return this.precpred(this._ctx,2);case 8:return this.precpred(this._ctx,1);case 9:return this.precpred(this._ctx,13);case 10:return this.precpred(this._ctx,12);case 11:return this.precpred(this._ctx,6);default:throw"No predicate with index:"+t}}},{key:"entireExpression",value:function(){var e=new S(this,this._ctx,this.state);this.enterRule(e,0,n.RULE_entireExpression);try{this.enterOuterAlt(e,1),this.state=30,this.expression(0),this.state=31,this.match(n.EOF)}catch(t){if(!(t instanceof h.error.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}},{key:"expression",value:function(e){void 0===e&&(e=0);var t=this._ctx,i=this.state,r=new E(this,this._ctx,i);this.enterRecursionRule(r,2,n.RULE_expression,e);var o=0;try{switch(this.enterOuterAlt(r,1),this.state=37,this._errHandler.sync(this),this._input.LA(1)){case n.T__15:case n.T__16:case n.T__21:case n.T__22:case n.T__27:case n.T__29:case n.T__31:case n.T__32:case n.T__33:case n.T__34:case n.T__35:case n.T__36:case n.DATETIME:case n.TIME:case n.IDENTIFIER:case n.DELIMITEDIDENTIFIER:case n.STRING:case n.NUMBER:r=new N(this,r),this._ctx=r,this.state=34,this.term();break;case n.T__3:case n.T__4:r=new A(this,r),this._ctx=r,this.state=35,(o=this._input.LA(1))!==n.T__3&&o!==n.T__4?this._errHandler.recoverInline(this):(this._errHandler.reportMatch(this),this.consume()),this.state=36,this.expression(11);break;default:throw new h.error.NoViableAltException(this)}this._ctx.stop=this._input.LT(-1),this.state=79,this._errHandler.sync(this);for(var a=this._interp.adaptivePredict(this._input,2,this._ctx);2!=a&&a!=h.atn.ATN.INVALID_ALT_NUMBER;){if(1===a)switch(null!==this._parseListeners&&this.triggerExitRuleEvent(),this.state=77,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,1,this._ctx)){case 1:if(r=new M(this,new E(this,t,i)),this.pushNewRecursionContext(r,2,n.RULE_expression),this.state=39,!this.precpred(this._ctx,10))throw new h.error.FailedPredicateException(this,"this.precpred(this._ctx, 10)");this.state=40,0!=(-32&(o=this._input.LA(1)))||0==(1<'","'>='","'is'","'as'","'='","'~'","'!='","'!~'","'in'","'contains'","'and'","'or'","'xor'","'implies'","'('","')'","'{'","'}'","'true'","'false'","'%'","'$this'","'$index'","'$total'","','","'year'","'month'","'week'","'day'","'hour'","'minute'","'second'","'millisecond'","'years'","'months'","'weeks'","'days'","'hours'","'minutes'","'seconds'","'milliseconds'"]),m(b,"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,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"DATETIME","TIME","IDENTIFIER","DELIMITEDIDENTIFIER","STRING","NUMBER","WS","COMMENT","LINE_COMMENT"]),m(b,"ruleNames",["entireExpression","expression","term","literal","externalConstant","invocation","functn","paramList","quantity","unit","dateTimePrecision","pluralDateTimePrecision","typeSpecifier","qualifiedIdentifier","identifier"]),b.EOF=h.Token.EOF,b.T__0=1,b.T__1=2,b.T__2=3,b.T__3=4,b.T__4=5,b.T__5=6,b.T__6=7,b.T__7=8,b.T__8=9,b.T__9=10,b.T__10=11,b.T__11=12,b.T__12=13,b.T__13=14,b.T__14=15,b.T__15=16,b.T__16=17,b.T__17=18,b.T__18=19,b.T__19=20,b.T__20=21,b.T__21=22,b.T__22=23,b.T__23=24,b.T__24=25,b.T__25=26,b.T__26=27,b.T__27=28,b.T__28=29,b.T__29=30,b.T__30=31,b.T__31=32,b.T__32=33,b.T__33=34,b.T__34=35,b.T__35=36,b.T__36=37,b.T__37=38,b.T__38=39,b.T__39=40,b.T__40=41,b.T__41=42,b.T__42=43,b.T__43=44,b.T__44=45,b.T__45=46,b.T__46=47,b.T__47=48,b.T__48=49,b.T__49=50,b.T__50=51,b.T__51=52,b.T__52=53,b.T__53=54,b.DATETIME=55,b.TIME=56,b.IDENTIFIER=57,b.DELIMITEDIDENTIFIER=58,b.STRING=59,b.NUMBER=60,b.WS=61,b.COMMENT=62,b.LINE_COMMENT=63,b.RULE_entireExpression=0,b.RULE_expression=1,b.RULE_term=2,b.RULE_literal=3,b.RULE_externalConstant=4,b.RULE_invocation=5,b.RULE_functn=6,b.RULE_paramList=7,b.RULE_quantity=8,b.RULE_unit=9,b.RULE_dateTimePrecision=10,b.RULE_pluralDateTimePrecision=11,b.RULE_typeSpecifier=12,b.RULE_qualifiedIdentifier=13,b.RULE_identifier=14;var S=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_entireExpression,a}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(E,0)}},{key:"EOF",value:function(){return this.getToken(b.EOF,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterEntireExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitEntireExpression(this)}}]),n}(h.ParserRuleContext),E=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_expression,a}return s(n,[{key:"copyFrom",value:function(e){r(d(n.prototype),"copyFrom",this).call(this,e)}}]),n}(h.ParserRuleContext),D=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterIndexerExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitIndexerExpression(this)}}]),n}(E);b.IndexerExpressionContext=D;var A=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(E,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterPolarityExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitPolarityExpression(this)}}]),n}(E);b.PolarityExpressionContext=A;var R=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterAdditiveExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitAdditiveExpression(this)}}]),n}(E);b.AdditiveExpressionContext=R;var M=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterMultiplicativeExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitMultiplicativeExpression(this)}}]),n}(E);b.MultiplicativeExpressionContext=M;var k=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterUnionExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitUnionExpression(this)}}]),n}(E);b.UnionExpressionContext=k;var T=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterOrExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitOrExpression(this)}}]),n}(E);b.OrExpressionContext=T;var w=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterAndExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitAndExpression(this)}}]),n}(E);b.AndExpressionContext=w;var I=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterMembershipExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitMembershipExpression(this)}}]),n}(E);b.MembershipExpressionContext=I;var P=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterInequalityExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitInequalityExpression(this)}}]),n}(E);b.InequalityExpressionContext=P;var O=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(E,0)}},{key:"invocation",value:function(){return this.getTypedRuleContext($,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterInvocationExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitInvocationExpression(this)}}]),n}(E);b.InvocationExpressionContext=O;var _=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterEqualityExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitEqualityExpression(this)}}]),n}(E);b.EqualityExpressionContext=_;var L=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterImpliesExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitImpliesExpression(this)}}]),n}(E);b.ImpliesExpressionContext=L;var N=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"term",value:function(){return this.getTypedRuleContext(B,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterTermExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitTermExpression(this)}}]),n}(E);b.TermExpressionContext=N;var U=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(E,0)}},{key:"typeSpecifier",value:function(){return this.getTypedRuleContext(ce,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterTypeExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitTypeExpression(this)}}]),n}(E);b.TypeExpressionContext=U;var B=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_term,a}return s(n,[{key:"copyFrom",value:function(e){r(d(n.prototype),"copyFrom",this).call(this,e)}}]),n}(h.ParserRuleContext),F=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"externalConstant",value:function(){return this.getTypedRuleContext(Y,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterExternalConstantTerm(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitExternalConstantTerm(this)}}]),n}(B);b.ExternalConstantTermContext=F;var q=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"literal",value:function(){return this.getTypedRuleContext(H,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterLiteralTerm(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitLiteralTerm(this)}}]),n}(B);b.LiteralTermContext=q;var j=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(E,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterParenthesizedTerm(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitParenthesizedTerm(this)}}]),n}(B);b.ParenthesizedTermContext=j;var z=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"invocation",value:function(){return this.getTypedRuleContext($,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterInvocationTerm(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitInvocationTerm(this)}}]),n}(B);b.InvocationTermContext=z;var H=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_literal,a}return s(n,[{key:"copyFrom",value:function(e){r(d(n.prototype),"copyFrom",this).call(this,e)}}]),n}(h.ParserRuleContext),V=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"TIME",value:function(){return this.getToken(b.TIME,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterTimeLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitTimeLiteral(this)}}]),n}(H);b.TimeLiteralContext=V;var G=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterNullLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitNullLiteral(this)}}]),n}(H);b.NullLiteralContext=G;var W=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"DATETIME",value:function(){return this.getToken(b.DATETIME,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterDateTimeLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitDateTimeLiteral(this)}}]),n}(H);b.DateTimeLiteralContext=W;var K=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"STRING",value:function(){return this.getToken(b.STRING,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterStringLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitStringLiteral(this)}}]),n}(H);b.StringLiteralContext=K;var Q=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterBooleanLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitBooleanLiteral(this)}}]),n}(H);b.BooleanLiteralContext=Q;var J=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"NUMBER",value:function(){return this.getToken(b.NUMBER,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterNumberLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitNumberLiteral(this)}}]),n}(H);b.NumberLiteralContext=J;var X=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"quantity",value:function(){return this.getTypedRuleContext(ae,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterQuantityLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitQuantityLiteral(this)}}]),n}(H);b.QuantityLiteralContext=X;var Y=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_externalConstant,a}return s(n,[{key:"identifier",value:function(){return this.getTypedRuleContext(de,0)}},{key:"STRING",value:function(){return this.getToken(b.STRING,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterExternalConstant(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitExternalConstant(this)}}]),n}(h.ParserRuleContext),$=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_invocation,a}return s(n,[{key:"copyFrom",value:function(e){r(d(n.prototype),"copyFrom",this).call(this,e)}}]),n}(h.ParserRuleContext),Z=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterTotalInvocation(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitTotalInvocation(this)}}]),n}($);b.TotalInvocationContext=Z;var ee=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterThisInvocation(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitThisInvocation(this)}}]),n}($);b.ThisInvocationContext=ee;var te=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterIndexInvocation(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitIndexInvocation(this)}}]),n}($);b.IndexInvocationContext=te;var ne=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"functn",value:function(){return this.getTypedRuleContext(re,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterFunctionInvocation(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitFunctionInvocation(this)}}]),n}($);b.FunctionInvocationContext=ne;var ie=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"identifier",value:function(){return this.getTypedRuleContext(de,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterMemberInvocation(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitMemberInvocation(this)}}]),n}($);b.MemberInvocationContext=ie;var re=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_functn,a}return s(n,[{key:"identifier",value:function(){return this.getTypedRuleContext(de,0)}},{key:"paramList",value:function(){return this.getTypedRuleContext(oe,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterFunctn(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitFunctn(this)}}]),n}(h.ParserRuleContext),oe=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),m(f(a=t.call(this,i,r)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(E):this.getTypedRuleContext(E,e)})),a.parser=e,a.ruleIndex=b.RULE_paramList,a}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterParamList(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitParamList(this)}}]),n}(h.ParserRuleContext),ae=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_quantity,a}return s(n,[{key:"NUMBER",value:function(){return this.getToken(b.NUMBER,0)}},{key:"unit",value:function(){return this.getTypedRuleContext(se,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterQuantity(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitQuantity(this)}}]),n}(h.ParserRuleContext),se=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_unit,a}return s(n,[{key:"dateTimePrecision",value:function(){return this.getTypedRuleContext(le,0)}},{key:"pluralDateTimePrecision",value:function(){return this.getTypedRuleContext(ue,0)}},{key:"STRING",value:function(){return this.getToken(b.STRING,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterUnit(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitUnit(this)}}]),n}(h.ParserRuleContext),le=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_dateTimePrecision,a}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterDateTimePrecision(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitDateTimePrecision(this)}}]),n}(h.ParserRuleContext),ue=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_pluralDateTimePrecision,a}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterPluralDateTimePrecision(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitPluralDateTimePrecision(this)}}]),n}(h.ParserRuleContext),ce=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_typeSpecifier,a}return s(n,[{key:"qualifiedIdentifier",value:function(){return this.getTypedRuleContext(fe,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterTypeSpecifier(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitTypeSpecifier(this)}}]),n}(h.ParserRuleContext),fe=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),m(f(a=t.call(this,i,r)),"identifier",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(de):this.getTypedRuleContext(de,e)})),a.parser=e,a.ruleIndex=b.RULE_qualifiedIdentifier,a}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterQualifiedIdentifier(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitQualifiedIdentifier(this)}}]),n}(h.ParserRuleContext),de=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=b.RULE_identifier,a}return s(n,[{key:"IDENTIFIER",value:function(){return this.getToken(b.IDENTIFIER,0)}},{key:"DELIMITEDIDENTIFIER",value:function(){return this.getToken(b.DELIMITEDIDENTIFIER,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterIdentifier(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitIdentifier(this)}}]),n}(h.ParserRuleContext);b.EntireExpressionContext=S,b.ExpressionContext=E,b.TermContext=B,b.LiteralContext=H,b.ExternalConstantContext=Y,b.InvocationContext=$,b.FunctnContext=re,b.ParamListContext=oe,b.QuantityContext=ae,b.UnitContext=se,b.DateTimePrecisionContext=le,b.PluralDateTimePrecisionContext=ue,b.TypeSpecifierContext=ce,b.QualifiedIdentifierContext=fe,b.IdentifierContext=de,e.exports=b},8168:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){l=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw a}}}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n0){for(var R=[],M=0,k=s.length;Mn.length)&&(t=n.length),t-=e.length;var i=n.indexOf(e,t);return-1!==i&&i===t}}),String.prototype.includes||Object.defineProperty(String.prototype,"includes",{value:function(){return-1!==this.indexOf.apply(this,arguments)}}),Object.assign||Object.defineProperty(Object,"assign",{value:function(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");return i(arguments,1).reduce((function(e,t){return Object.keys(Object(t)).forEach((function(n){e[n]=t[n]})),e}),Object(e))}}),"undefined"==typeof btoa&&(n.g.btoa=function(e){return new Buffer.from(e,"binary").toString("base64")}),"undefined"==typeof atob&&(n.g.atob=function(e){return new Buffer.from(e,"base64").toString("binary")})},2705:function(e,t,n){var i=n(1575),r=n(4230),o={},a={};o.indexOf=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(n)?[]:n.indexOf(t)},o.substring=function(e,t,n){var o=r.singleton(e,"String");return i.isEmpty(o)||i.isEmpty(t)||t<0||t>=o.length?[]:void 0===n||i.isEmpty(n)?o.substring(t):o.substring(t,t+n)},o.startsWith=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(n)?[]:n.startsWith(t)},o.endsWith=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(n)?[]:n.endsWith(t)},o.containsFn=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(n)?[]:n.includes(t)},o.upper=function(e){var t=r.singleton(e,"String");return i.isEmpty(t)?[]:t.toUpperCase()},o.lower=function(e){var t=r.singleton(e,"String");return i.isEmpty(t)?[]:t.toLowerCase()},o.joinFn=function(e,t){return void 0===t&&(t=""),e.map((function(e){var t=i.valData(e);if("string"==typeof t)return t;throw new Error("Join requires a collection of strings.")})).join(t)},o.splitFn=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(n)?[]:n.split(t)},o.trimFn=function(e){var t=r.singleton(e,"String");return i.isEmpty(t)?[]:t.trim()},o.encodeFn=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(n)?[]:"urlbase64"===t||"base64url"===t?btoa(n).replace(/\+/g,"-").replace(/\//g,"_"):"base64"===t?btoa(n):"hex"===t?Array.from(n).map((function(e){return e.charCodeAt(0)<128?e.charCodeAt(0).toString(16):encodeURIComponent(e).replace(/%/g,"")})).join(""):[]},o.decodeFn=function(e,t){var n=r.singleton(e,"String");if(i.isEmpty(n))return[];if("urlbase64"===t||"base64url"===t)return atob(n.replace(/-/g,"+").replace(/_/g,"/"));if("base64"===t)return atob(n);if("hex"===t){if(n.length%2!=0)throw new Error("Decode 'hex' requires an even number of characters.");return decodeURIComponent("%"+n.match(/.{2}/g).join("%"))}return[]};var s=!1===new RegExp("").dotAll;o.matches=s?function(e,t){var n=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(n)?[]:new RegExp(t,"s").test(n)}:function(e,t){var n,o=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(o)?[]:new RegExp((a[n=t]||(a[n]=n.replace(/\./g,(function(e,t,n){var i=n.substr(0,t).replace(/\\\\/g,"").replace(/\\[\][]/g,""),r="\\"===i[i.length-1],o=i.lastIndexOf("["),a=i.lastIndexOf("]");return r||o>a?".":"[^]"}))),a[n])).test(o)},o.replace=function(e,t,n){var o=r.singleton(e,"String");if(i.isEmpty(t)||i.isEmpty(n)||i.isEmpty(o))return[];var a=new RegExp(i.escapeStringForRegExp(t),"g");return o.replace(a,n)},o.replaceMatches=function(e,t,n){var o=r.singleton(e,"String");if(i.isEmpty(t)||i.isEmpty(n)||i.isEmpty(o))return[];var a=new RegExp(t,"g");return o.replace(a,n)},o.length=function(e){var t=r.singleton(e,"String");return i.isEmpty(t)?[]:t.length},o.toChars=function(e){var t=r.singleton(e,"String");return i.isEmpty(t)?[]:t.split("")},e.exports=o},7028:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)}function o(e,t){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},o(e,t)}function a(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=d(e);if(t){var o=d(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var n=0;n2?new D(o)._getTimeParts():this._getTimeParts(),l=i>2?new D(a)._getTimeParts():e._getTimeParts(),u=0;u<=r&&!1!==t;++u)t=s[u]==l[u];t&&(t=void 0)}}else t=!1;return t}},{key:"equivalentTo",value:function(e){var t=e instanceof this.constructor;return t&&(t=this._getPrecision()==e._getPrecision())&&(t=this._getDateObj().getTime()==e._getDateObj().getTime()),t}},{key:"compare",value:function(e){var t=this._getPrecision(),n=e._getPrecision(),i=t<=n?this._getDateObj().getTime():this._dateAtPrecision(n).getTime(),r=n<=t?e._getDateObj().getTime():e._dateAtPrecision(t).getTime();return t!==n&&i===r?null:i-r}},{key:"_getPrecision",value:function(){return void 0===this.precision&&this._getMatchData(),this.precision}},{key:"_getMatchData",value:function(e,t){if(void 0===this.timeMatchData&&(this.timeMatchData=this.asStr.match(e),this.timeMatchData))for(var n=t;n>=0&&void 0===this.precision;--n)this.timeMatchData[n]&&(this.precision=n);return this.timeMatchData}},{key:"_getTimeParts",value:function(e){var t=[];t=[e[0]];var n=e[4];if(n){var i=t[0];t[0]=i.slice(0,i.length-n.length)}var r=e[1];if(r){var o=t[0];t[0]=o.slice(0,o.length-r.length),t[1]=r;var a=e[2];if(a){t[1]=r.slice(0,r.length-a.length),t[2]=a;var s=e[3];s&&(t[2]=a.slice(0,a.length-s.length),t[3]=s)}}return t}},{key:"_getDateObj",value:function(){if(!this.dateObj){var e=this._getPrecision();this.dateObj=this._dateAtPrecision(e)}return this.dateObj}},{key:"_createDate",value:function(e,t,n,i,r,o,a,s){var l=new Date(e,t,n,i,r,o,a);if(s){var u=l.getTimezoneOffset(),c=0;if("Z"!=s){var f=s.split(":"),d=parseInt(f[0]);c=parseInt(f[1]),d<0&&(c=-c),c+=60*d}l=m(l,-u-c)}return l}}]),n}(x);E.timeUnitToAddFn={year:n(8303),month:n(8459),week:n(8998),day:n(7929),hour:n(1973),minute:n(9829),second:n(7492),millisecond:n(3936)};var D=function(e){r(n,e);var t=a(n);function n(e){return s(this,n),t.call(this,e)}return u(n,[{key:"compare",value:function(e){if(!(e instanceof n))throw"Invalid comparison of a DateTime with something else";return f(d(n.prototype),"compare",this).call(this,e)}},{key:"_getMatchData",value:function(){return f(d(n.prototype),"_getMatchData",this).call(this,v,5)}},{key:"_getTimeParts",value:function(){if(!this.timeParts){var e=this._getMatchData(),t=e[0];this.timeParts=[t];var i=e[1];if(i){this.timeParts[0]=t.slice(0,t.length-i.length),this.timeParts[1]=i;var r=e[2];if(r){this.timeParts[1]=i.slice(0,i.length-r.length),this.timeParts[2]=r;var o=e[3];o&&(this.timeParts[2]=r.slice(0,r.length-o.length),"T"===o[0]&&(e[3]=o.slice(1)),this.timeParts=this.timeParts.concat(f(d(n.prototype),"_getTimeParts",this).call(this,e.slice(3))))}}}return this.timeParts}},{key:"_dateAtPrecision",value:function(e){var t=this._getTimeParts(),n=this._getMatchData()[7],i=this._getPrecision(),r=parseInt(t[0]),o=i>0?parseInt(t[1].slice(1))-1:0,a=i>1?parseInt(t[2].slice(1)):1,s=i>2?parseInt(t[3]):0,l=i>3?parseInt(t[4].slice(1)):0,u=i>4?parseInt(t[5].slice(1)):0,c=t.length>6?parseInt(t[6].slice(1)):0,f=this._createDate(r,o,a,s,l,u,c,n);return e0?f.getMonth():0,a=e>1?f.getDate():1,s=e>2?f.getHours():0,l=e>3?f.getMinutes():0,f=new Date(r,o,a,s,l)),f}}]),n}(E);D.checkString=function(e){var t=new D(e);return t._getMatchData()||(t=null),t},D._timeUnitToDatePrecision={year:0,month:1,week:2,day:2,hour:3,minute:4,second:5,millisecond:6},D._datePrecisionToTimeUnit=["year","month","day","hour","minute","second","millisecond"];var A=function(e){r(n,e);var t=a(n);function n(e){return s(this,n),"T"==e[0]&&(e=e.slice(1)),t.call(this,e)}return u(n,[{key:"compare",value:function(e){if(!(e instanceof n))throw"Invalid comparison of a time with something else";return f(d(n.prototype),"compare",this).call(this,e)}},{key:"_dateAtPrecision",value:function(e){var t=this._getTimeParts(),n=this._getMatchData()[4],i=this._getPrecision(),r=2010,o=parseInt(t[0]),a=i>0?parseInt(t[1].slice(1)):0,s=i>1?parseInt(t[2].slice(1)):0,l=t.length>3?parseInt(t[3].slice(1)):0,u=this._createDate(r,0,1,o,a,s,l,n);return n&&(u.setYear(r),u.setMonth(0),u.setDate(1)),e0?u.getMinutes():0,u=new Date(r,0,1,o,a)),u}},{key:"_getMatchData",value:function(){return f(d(n.prototype),"_getMatchData",this).call(this,y,2)}},{key:"_getTimeParts",value:function(){return this.timeParts||(this.timeParts=f(d(n.prototype),"_getTimeParts",this).call(this,this._getMatchData())),this.timeParts}}]),n}(E);function R(e,t){var n=e;return 3===t&&e<100&&(n="0"+e),e<10&&(n="0"+n),n}A.checkString=function(e){var t=new A(e);return t._getMatchData()||(t=null),t},A._timeUnitToDatePrecision={hour:0,minute:1,second:2,millisecond:3},A._datePrecisionToTimeUnit=["hour","minute","second","millisecond"],D.isoDateTime=function(e,t){void 0===t&&(t=5);var n=""+e.getFullYear();if(t>0&&(n+="-"+R(e.getMonth()+1),t>1&&(n+="-"+R(e.getDate()),t>2&&(n+="T"+D.isoTime(e,t-3)))),t>2){var i=e.getTimezoneOffset(),r=i<0?"+":"-",o=(i=Math.abs(i))%60;n+=r+R((i-o)/60)+":"+R(o)}return n},D.isoTime=function(e,t){void 0===t&&(t=2);var n=""+R(e.getHours());return t>0&&(n+=":"+R(e.getMinutes()),t>1&&(n+=":"+R(e.getSeconds()),e.getMilliseconds()&&(n+="."+R(e.getMilliseconds(),3)))),n};var M=function(e){r(n,e);var t=a(n);function n(e){return s(this,n),t.call(this,e)}return u(n,[{key:"_getMatchData",value:function(){return E.prototype._getMatchData.apply(this,[C,2])}}]),n}(D);M.checkString=function(e){var t=new M(e);return t._getMatchData()||(t=null),t},M.isoDate=function(e,t){return(void 0===t||t>2)&&(t=2),D.isoDateTime(e,t)};var k=function(){function e(t,n,i){s(this,e),null!=t&&t.resourceType&&(n=t.resourceType),this.path=n,this.data=t,this._data=i||{}}return u(e,[{key:"getTypeInfo",value:function(){var e=I.FHIR;return/^System\.(.*)$/.test(this.path)?new I({namespace:I.System,name:RegExp.$1}):-1===this.path.indexOf(".")?new I({namespace:e,name:this.path}):I.model?new I({namespace:e,name:"BackboneElement"}):I.createByValueInNamespace({namespace:e,value:this.data})}},{key:"toJSON",value:function(){return JSON.stringify(this.data)}},{key:"convertData",value:function(){var e,t=this.data;if(I.isType(this.path,"Quantity")){if("http://unitsofmeasure.org"===(null===(e=t)||void 0===e?void 0:e.system)&&"number"==typeof t.value&&"string"==typeof t.code){if(void 0!==t.comparator)throw new Error("Cannot convert a FHIR.Quantity that has a comparator");t=new b(t.value,b.mapUCUMCodeToTimeUnits[t.code]||"'"+t.code+"'")}}else"date"===this.path?t=M.checkString(t)||t:"dateTime"===this.path?t=D.checkString(t)||t:"time"===this.path&&(t=A.checkString(t)||t);return t}}]),e}();k.makeResNode=function(e,t,n){return e instanceof k?e:new k(e,t,n)};var T,w,I=function(){function e(t){var n=t.name,i=t.namespace;s(this,e),this.name=n,this.namespace=i}return u(e,[{key:"is",value:function(t){return t instanceof e&&(!this.namespace||!t.namespace||this.namespace===t.namespace)&&(!e.model||this.namespace&&this.namespace!==e.FHIR?this.name===t.name:e.isType(this.name,t.name))}}]),e}();T=I,(w=c(w="model"))in T?Object.defineProperty(T,w,{value:null,enumerable:!0,configurable:!0,writable:!0}):T[w]=null,I.isType=function(e,t){do{var n;if(e===t)return!0}while(e=null===(n=I.model)||void 0===n?void 0:n.type2Parent[e]);return!1},I.System="System",I.FHIR="FHIR",I.createByValueInNamespace=function(e){var t=e.namespace,n=e.value,r=i(n);return Number.isInteger(n)?r="integer":"number"===r?r="decimal":n instanceof M?r="date":n instanceof D?r="dateTime":n instanceof A?r="time":n instanceof b&&(r="Quantity"),t===I.System&&(r=r.replace(/^\w/,(function(e){return e.toUpperCase()}))),new I({namespace:t,name:r})},I.fromValue=function(e){return e instanceof k?e.getTypeInfo():I.createByValueInNamespace({namespace:I.System,value:e})},e.exports={FP_Type:x,FP_TimeBase:E,FP_Date:M,FP_DateTime:D,FP_Time:A,FP_Quantity:b,timeRE:y,dateTimeRE:v,ResourceNode:k,TypeInfo:I,typeFn:function(e){return e.map((function(e){return I.fromValue(e)}))},isFn:function(e,t){if(0===e.length)return[];if(e.length>1)throw new Error("Expected singleton on left side of 'is', got "+JSON.stringify(e));return I.fromValue(e[0]).is(t)},asFn:function(e,t){if(0===e.length)return[];if(e.length>1)throw new Error("Expected singleton on left side of 'as', got "+JSON.stringify(e));return I.fromValue(e[0]).is(t)?e:[]}}},1575:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var r={},o=n(7028).ResourceNode;r.raiseError=function(e,t){throw(t=t?t+": ":"")+e},r.assertAtMostOne=function(e,t){e.length>1&&r.raiseError("Was expecting no more than one element but got "+JSON.stringify(e),t)},r.assertType=function(e,t,n){var o=this.valData(e);if(t.indexOf(i(o))<0){var a=t.length>1?"one of "+t.join(", "):t[0];r.raiseError("Found type '"+i(e)+"' but was expecting "+a,n)}return o},r.isEmpty=function(e){return Array.isArray(e)&&0==e.length},r.isSome=function(e){return null!=e&&!r.isEmpty(e)},r.isTrue=function(e){return null!=e&&(!0===e||1==e.length&&!0===e[0])},r.isFalse=function(e){return null!=e&&(!1===e||1==e.length&&!1===e[0])},r.isCapitalized=function(e){return e&&e[0]===e[0].toUpperCase()},r.flatten=function(e){return e.reduce((function(e,t){return Array.isArray(t)?e=e.concat(t):e.push(t),e}),[])},r.arraify=function(e){return Array.isArray(e)?e:r.isSome(e)?[e]:[]},r.valData=function(e){return e instanceof o?e.data:e},r.valDataConverted=function(e){return e instanceof o&&(e=e.convertData()),e},r.escapeStringForRegExp=function(e){return e.replace(/[-[\]{}()*+?.,\\/^$|#\s]/g,"\\$&")},e.exports=r},950:function(e){e.exports=function(e){var t=new Date(e.getTime()),n=t.getTimezoneOffset();return t.setSeconds(0,0),6e4*n+t.getTime()%6e4}},7929:function(e,t,n){var i=n(1429);e.exports=function(e,t){var n=i(e),r=Number(t);return n.setDate(n.getDate()+r),n}},1973:function(e,t,n){var i=n(3936);e.exports=function(e,t){var n=Number(t);return i(e,36e5*n)}},3936:function(e,t,n){var i=n(1429);e.exports=function(e,t){var n=i(e).getTime(),r=Number(t);return new Date(n+r)}},9829:function(e,t,n){var i=n(3936);e.exports=function(e,t){var n=Number(t);return i(e,6e4*n)}},8459:function(e,t,n){var i=n(1429),r=n(4926);e.exports=function(e,t){var n=i(e),o=Number(t),a=n.getMonth()+o,s=new Date(0);s.setFullYear(n.getFullYear(),a,1),s.setHours(0,0,0,0);var l=r(s);return n.setMonth(a,Math.min(l,n.getDate())),n}},7492:function(e,t,n){var i=n(3936);e.exports=function(e,t){var n=Number(t);return i(e,1e3*n)}},8998:function(e,t,n){var i=n(7929);e.exports=function(e,t){var n=Number(t);return i(e,7*n)}},8303:function(e,t,n){var i=n(8459);e.exports=function(e,t){var n=Number(t);return i(e,12*n)}},4926:function(e,t,n){var i=n(1429);e.exports=function(e){var t=i(e),n=t.getFullYear(),r=t.getMonth(),o=new Date(0);return o.setFullYear(n,r+1,0),o.setHours(0,0,0,0),o.getDate()}},7144:function(e){e.exports=function(e){return e instanceof Date}},1429:function(e,t,n){var i=n(950),r=n(7144),o=36e5,a=6e4,s=/[T ]/,l=/:/,u=/^(\d{2})$/,c=[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],f=/^(\d{4})/,d=[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],m=/^-(\d{2})$/,p=/^-?(\d{3})$/,h=/^-?(\d{2})-?(\d{2})$/,g=/^-?W(\d{2})$/,y=/^-?W(\d{2})-?(\d{1})$/,v=/^(\d{2}([.,]\d*)?)$/,C=/^(\d{2}):?(\d{2}([.,]\d*)?)$/,x=/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,b=/([Z+-].*)$/,S=/^(Z)$/,E=/^([+-])(\d{2})$/,D=/^([+-])(\d{2}):?(\d{2})$/;function A(e,t,n){t=t||0,n=n||0;var i=new Date(0);i.setUTCFullYear(e,0,4);var r=7*t+n+1-(i.getUTCDay()||7);return i.setUTCDate(i.getUTCDate()+r),i}e.exports=function(e,t){if(r(e))return new Date(e.getTime());if("string"!=typeof e)return new Date(e);var n=(t||{}).additionalDigits;n=null==n?2:Number(n);var R,M,k,T=function(e){var t,n={},i=e.split(s);if(l.test(i[0])?(n.date=null,t=i[0]):(n.date=i[0],t=i[1]),t){var r=b.exec(t);r?(n.time=t.replace(r[1],""),n.timezone=r[1]):n.time=t}return n}(e),w=function(e,t){var n,i=c[t],r=d[t];if(n=f.exec(e)||r.exec(e)){var o=n[1];return{year:parseInt(o,10),restDateString:e.slice(o.length)}}if(n=u.exec(e)||i.exec(e)){var a=n[1];return{year:100*parseInt(a,10),restDateString:e.slice(a.length)}}return{year:null}}(T.date,n),I=w.year,P=function(e,t){if(null===t)return null;var n,i,r;if(0===e.length)return(i=new Date(0)).setUTCFullYear(t),i;if(n=m.exec(e))return i=new Date(0),r=parseInt(n[1],10)-1,i.setUTCFullYear(t,r),i;if(n=p.exec(e)){i=new Date(0);var o=parseInt(n[1],10);return i.setUTCFullYear(t,0,o),i}if(n=h.exec(e)){i=new Date(0),r=parseInt(n[1],10)-1;var a=parseInt(n[2],10);return i.setUTCFullYear(t,r,a),i}return(n=g.exec(e))?A(t,parseInt(n[1],10)-1):(n=y.exec(e))?A(t,parseInt(n[1],10)-1,parseInt(n[2],10)-1):null}(w.restDateString,I);if(P){var O,_=P.getTime(),L=0;if(T.time&&(L=function(e){var t,n,i;if(t=v.exec(e))return(n=parseFloat(t[1].replace(",",".")))%24*o;if(t=C.exec(e))return n=parseInt(t[1],10),i=parseFloat(t[2].replace(",",".")),n%24*o+i*a;if(t=x.exec(e)){n=parseInt(t[1],10),i=parseInt(t[2],10);var r=parseFloat(t[3].replace(",","."));return n%24*o+i*a+1e3*r}return null}(T.time)),T.timezone)R=T.timezone,O=((M=S.exec(R))?0:(M=E.exec(R))?(k=60*parseInt(M[2],10),"+"===M[1]?-k:k):(M=D.exec(R))?(k=60*parseInt(M[2],10)+parseInt(M[3],10),"+"===M[1]?-k:k):0)*a;else{var N=_+L,U=new Date(N);O=i(U);var B=new Date(N);B.setDate(U.getDate()+1);var F=i(B)-i(U);F>0&&(O+=F)}return new Date(_+L+O)}return new Date(e)}},7643:function(e){"use strict";e.exports=Number.isFinite||function(e){return!("number"!=typeof e||e!=e||e===1/0||e===-1/0)}},1781:function(e,t,n){var i=n(7643);e.exports=Number.isInteger||function(e){return"number"==typeof e&&i(e)&&Math.floor(e)===e}},4557:function(e){"use strict";e.exports={version:"3.7.1"}},7698:function(e){"use strict";e.exports=JSON.parse('{"license":"The following data (prefixes and units) was generated by the UCUM LHC code from the UCUM data and selected LOINC combinations of UCUM units. The license for the UCUM LHC code (demo and library code as well as the combined units) is located at https://github.com/lhncbc/ucum-lhc/blob/LICENSE.md.","prefixes":{"config":["code_","ciCode_","name_","printSymbol_","value_","exp_"],"data":[["E","EX","exa","E",1000000000000000000,"18"],["G","GA","giga","G",1000000000,"9"],["Gi","GIB","gibi","Gi",1073741824,null],["Ki","KIB","kibi","Ki",1024,null],["M","MA","mega","M",1000000,"6"],["Mi","MIB","mebi","Mi",1048576,null],["P","PT","peta","P",1000000000000000,"15"],["T","TR","tera","T",1000000000000,"12"],["Ti","TIB","tebi","Ti",1099511627776,null],["Y","YA","yotta","Y",1e+24,"24"],["Z","ZA","zetta","Z",1e+21,"21"],["a","A","atto","a",1e-18,"-18"],["c","C","centi","c",0.01,"-2"],["d","D","deci","d",0.1,"-1"],["da","DA","deka","da",10,"1"],["f","F","femto","f",1e-15,"-15"],["h","H","hecto","h",100,"2"],["k","K","kilo","k",1000,"3"],["m","M","milli","m",0.001,"-3"],["n","N","nano","n",1e-9,"-9"],["p","P","pico","p",1e-12,"-12"],["u","U","micro","μ",0.000001,"-6"],["y","YO","yocto","y",1.0000000000000001e-24,"-24"],["z","ZO","zepto","z",1e-21,"-21"]]},"units":{"config":["isBase_","name_","csCode_","ciCode_","property_","magnitude_",["dim_","dimVec_"],"printSymbol_","class_","isMetric_","variable_","cnv_","cnvPfx_","isSpecial_","isArbitrary_","moleExp_","synonyms_","source_","loincProperty_","category_","guidance_","csUnitString_","ciUnitString_","baseFactorStr_","baseFactor_","defError_"],"data":[[true,"meter","m","M","length",1,[1,0,0,0,0,0,0],"m",null,false,"L",null,1,false,false,0,"meters; metres; distance","UCUM","Len","Clinical","unit of length = 1.09361 yards",null,null,null,null,false],[true,"second - time","s","S","time",1,[0,1,0,0,0,0,0],"s",null,false,"T",null,1,false,false,0,"seconds","UCUM","Time","Clinical","",null,null,null,null,false],[true,"gram","g","G","mass",1,[0,0,1,0,0,0,0],"g",null,false,"M",null,1,false,false,0,"grams; gm","UCUM","Mass","Clinical","",null,null,null,null,false],[true,"radian","rad","RAD","plane angle",1,[0,0,0,1,0,0,0],"rad",null,false,"A",null,1,false,false,0,"radians","UCUM","Angle","Clinical","unit of angular measure where 1 radian = 1/2π turn = 57.296 degrees. ",null,null,null,null,false],[true,"degree Kelvin","K","K","temperature",1,[0,0,0,0,1,0,0],"K",null,false,"C",null,1,false,false,0,"Kelvin; degrees","UCUM","Temp","Clinical","absolute, thermodynamic temperature scale ",null,null,null,null,false],[true,"coulomb","C","C","electric charge",1,[0,0,0,0,0,1,0],"C",null,false,"Q",null,1,false,false,0,"coulombs","UCUM","","Clinical","defined as amount of 1 electron charge = 6.2415093×10^18 e, and equivalent to 1 Ampere-second",null,null,null,null,false],[true,"candela","cd","CD","luminous intensity",1,[0,0,0,0,0,0,1],"cd",null,false,"F",null,1,false,false,0,"candelas","UCUM","","Clinical","SI base unit of luminous intensity",null,null,null,null,false],[false,"the number ten for arbitrary powers","10*","10*","number",10,[0,0,0,0,0,0,0],"10","dimless",false,null,null,1,false,false,0,"10^; 10 to the arbitrary powers","UCUM","Num","Clinical","10* by itself is the same as 10, but users can add digits after the *. For example, 10*3 = 1000.","1","1","10",10,false],[false,"the number ten for arbitrary powers","10^","10^","number",10,[0,0,0,0,0,0,0],"10","dimless",false,null,null,1,false,false,0,"10*; 10 to the arbitrary power","UCUM","Num","Clinical","10* by itself is the same as 10, but users can add digits after the *. For example, 10*3 = 1000.","1","1","10",10,false],[false,"the number pi","[pi]","[PI]","number",3.141592653589793,[0,0,0,0,0,0,0],"π","dimless",false,null,null,1,false,false,0,"π","UCUM","","Constant","a mathematical constant; the ratio of a circle\'s circumference to its diameter ≈ 3.14159","1","1","3.1415926535897932384626433832795028841971693993751058209749445923",3.141592653589793,false],[false,"","%","%","fraction",0.01,[0,0,0,0,0,0,0],"%","dimless",false,null,null,1,false,false,0,"percents","UCUM","FR; NFR; MFR; CFR; SFR Rto; etc. ","Clinical","","10*-2","10*-2","1",1,false],[false,"parts per thousand","[ppth]","[PPTH]","fraction",0.001,[0,0,0,0,0,0,0],"ppth","dimless",false,null,null,1,false,false,0,"ppth; 10^-3","UCUM","MCnc; MCnt","Clinical","[ppth] is often used in solution concentrations as 1 g/L or 1 g/kg.\\n\\nCan be ambigous and would be better if the metric units was used directly. ","10*-3","10*-3","1",1,false],[false,"parts per million","[ppm]","[PPM]","fraction",0.000001,[0,0,0,0,0,0,0],"ppm","dimless",false,null,null,1,false,false,0,"ppm; 10^-6","UCUM","MCnt; MCnc; SFr","Clinical","[ppm] is often used in solution concentrations as 1 mg/L or 1 mg/kg. Also used to express mole fractions as 1 mmol/mol.\\n\\n[ppm] is also used in nuclear magnetic resonance (NMR) to represent chemical shift - the difference of a measured frequency in parts per million from the reference frequency.\\n\\nCan be ambigous and would be better if the metric units was used directly. ","10*-6","10*-6","1",1,false],[false,"parts per billion","[ppb]","[PPB]","fraction",1e-9,[0,0,0,0,0,0,0],"ppb","dimless",false,null,null,1,false,false,0,"ppb; 10^-9","UCUM","MCnt; MCnc; SFr","Clinical","[ppb] is often used in solution concentrations as 1 ug/L or 1 ug/kg. Also used to express mole fractions as 1 umol/mol.\\n\\nCan be ambigous and would be better if the metric units was used directly. ","10*-9","10*-9","1",1,false],[false,"parts per trillion","[pptr]","[PPTR]","fraction",1e-12,[0,0,0,0,0,0,0],"pptr","dimless",false,null,null,1,false,false,0,"pptr; 10^-12","UCUM","MCnt; MCnc; SFr","Clinical","[pptr] is often used in solution concentrations as 1 ng/L or 1 ng/kg. Also used to express mole fractions as 1 nmol/mol.\\n\\nCan be ambigous and would be better if the metric units was used directly. ","10*-12","10*-12","1",1,false],[false,"mole","mol","MOL","amount of substance",6.0221367e+23,[0,0,0,0,0,0,0],"mol","si",true,null,null,1,false,false,1,"moles","UCUM","Sub","Clinical","Measure the number of molecules ","10*23","10*23","6.0221367",6.0221367,false],[false,"steradian - solid angle","sr","SR","solid angle",1,[0,0,0,2,0,0,0],"sr","si",true,null,null,1,false,false,0,"square radian; rad2; rad^2","UCUM","Angle","Clinical","unit of solid angle in three-dimensional geometry analagous to radian; used in photometry which measures the perceived brightness of object by human eye (e.g. radiant intensity = watt/steradian)","rad2","RAD2","1",1,false],[false,"hertz","Hz","HZ","frequency",1,[0,-1,0,0,0,0,0],"Hz","si",true,null,null,1,false,false,0,"Herz; frequency; frequencies","UCUM","Freq; Num","Clinical","equal to one cycle per second","s-1","S-1","1",1,false],[false,"newton","N","N","force",1000,[1,-2,1,0,0,0,0],"N","si",true,null,null,1,false,false,0,"Newtons","UCUM","Force","Clinical","unit of force with base units kg.m/s2","kg.m/s2","KG.M/S2","1",1,false],[false,"pascal","Pa","PAL","pressure",1000,[-1,-2,1,0,0,0,0],"Pa","si",true,null,null,1,false,false,0,"pascals","UCUM","Pres","Clinical","standard unit of pressure equal to 1 newton per square meter (N/m2)","N/m2","N/M2","1",1,false],[false,"joule","J","J","energy",1000,[2,-2,1,0,0,0,0],"J","si",true,null,null,1,false,false,0,"joules","UCUM","Enrg","Clinical","unit of energy defined as the work required to move an object 1 m with a force of 1 N (N.m) or an electric charge of 1 C through 1 V (C.V), or to produce 1 W for 1 s (W.s) ","N.m","N.M","1",1,false],[false,"watt","W","W","power",1000,[2,-3,1,0,0,0,0],"W","si",true,null,null,1,false,false,0,"watts","UCUM","EngRat","Clinical","unit of power equal to 1 Joule per second (J/s) = kg⋅m2⋅s−3","J/s","J/S","1",1,false],[false,"Ampere","A","A","electric current",1,[0,-1,0,0,0,1,0],"A","si",true,null,null,1,false,false,0,"Amperes","UCUM","ElpotRat","Clinical","unit of electric current equal to flow rate of electrons equal to 16.2415×10^18 elementary charges moving past a boundary in one second or 1 Coulomb/second","C/s","C/S","1",1,false],[false,"volt","V","V","electric potential",1000,[2,-2,1,0,0,-1,0],"V","si",true,null,null,1,false,false,0,"volts","UCUM","Elpot","Clinical","unit of electric potential (voltage) = 1 Joule per Coulomb (J/C)","J/C","J/C","1",1,false],[false,"farad","F","F","electric capacitance",0.001,[-2,2,-1,0,0,2,0],"F","si",true,null,null,1,false,false,0,"farads; electric capacitance","UCUM","","Clinical","CGS unit of electric capacitance with base units C/V (Coulomb per Volt)","C/V","C/V","1",1,false],[false,"ohm","Ohm","OHM","electric resistance",1000,[2,-1,1,0,0,-2,0],"Ω","si",true,null,null,1,false,false,0,"Ω; resistance; ohms","UCUM","","Clinical","unit of electrical resistance with units of Volt per Ampere","V/A","V/A","1",1,false],[false,"siemens","S","SIE","electric conductance",0.001,[-2,1,-1,0,0,2,0],"S","si",true,null,null,1,false,false,0,"Reciprocal ohm; mho; Ω−1; conductance","UCUM","","Clinical","unit of electric conductance (the inverse of electrical resistance) equal to ohm^-1","Ohm-1","OHM-1","1",1,false],[false,"weber","Wb","WB","magnetic flux",1000,[2,-1,1,0,0,-1,0],"Wb","si",true,null,null,1,false,false,0,"magnetic flux; webers","UCUM","","Clinical","unit of magnetic flux equal to Volt second","V.s","V.S","1",1,false],[false,"degree Celsius","Cel","CEL","temperature",1,[0,0,0,0,1,0,0],"°C","si",true,null,"Cel",1,true,false,0,"°C; degrees","UCUM","Temp","Clinical","","K",null,null,1,false],[false,"tesla","T","T","magnetic flux density",1000,[0,-1,1,0,0,-1,0],"T","si",true,null,null,1,false,false,0,"Teslas; magnetic field","UCUM","","Clinical","SI unit of magnetic field strength for magnetic field B equal to 1 Weber/square meter = 1 kg/(s2*A)","Wb/m2","WB/M2","1",1,false],[false,"henry","H","H","inductance",1000,[2,0,1,0,0,-2,0],"H","si",true,null,null,1,false,false,0,"henries; inductance","UCUM","","Clinical","unit of electrical inductance; usually expressed in millihenrys (mH) or microhenrys (uH).","Wb/A","WB/A","1",1,false],[false,"lumen","lm","LM","luminous flux",1,[0,0,0,2,0,0,1],"lm","si",true,null,null,1,false,false,0,"luminous flux; lumens","UCUM","","Clinical","unit of luminous flux defined as 1 lm = 1 cd⋅sr (candela times sphere)","cd.sr","CD.SR","1",1,false],[false,"lux","lx","LX","illuminance",1,[-2,0,0,2,0,0,1],"lx","si",true,null,null,1,false,false,0,"illuminance; luxes","UCUM","","Clinical","unit of illuminance equal to one lumen per square meter. ","lm/m2","LM/M2","1",1,false],[false,"becquerel","Bq","BQ","radioactivity",1,[0,-1,0,0,0,0,0],"Bq","si",true,null,null,1,false,false,0,"activity; radiation; becquerels","UCUM","","Clinical","measure of the atomic radiation rate with units s^-1","s-1","S-1","1",1,false],[false,"gray","Gy","GY","energy dose",1,[2,-2,0,0,0,0,0],"Gy","si",true,null,null,1,false,false,0,"absorbed doses; ionizing radiation doses; kerma; grays","UCUM","EngCnt","Clinical","unit of ionizing radiation dose with base units of 1 joule of radiation energy per kilogram of matter","J/kg","J/KG","1",1,false],[false,"sievert","Sv","SV","dose equivalent",1,[2,-2,0,0,0,0,0],"Sv","si",true,null,null,1,false,false,0,"sieverts; radiation dose quantities; equivalent doses; effective dose; operational dose; committed dose","UCUM","","Clinical","SI unit for radiation dose equivalent equal to 1 Joule/kilogram.","J/kg","J/KG","1",1,false],[false,"degree - plane angle","deg","DEG","plane angle",0.017453292519943295,[0,0,0,1,0,0,0],"°","iso1000",false,null,null,1,false,false,0,"°; degree of arc; arc degree; arcdegree; angle","UCUM","Angle","Clinical","one degree is equivalent to π/180 radians.","[pi].rad/360","[PI].RAD/360","2",2,false],[false,"gon","gon","GON","plane angle",0.015707963267948967,[0,0,0,1,0,0,0],"□g","iso1000",false,null,null,1,false,false,0,"gon (grade); gons","UCUM","Angle","Nonclinical","unit of plane angle measurement equal to 1/400 circle","deg","DEG","0.9",0.9,false],[false,"arc minute","\'","\'","plane angle",0.0002908882086657216,[0,0,0,1,0,0,0],"\'","iso1000",false,null,null,1,false,false,0,"arcminutes; arcmin; arc minutes; arc mins","UCUM","Angle","Clinical","equal to 1/60 degree; used in optometry and opthamology (e.g. visual acuity tests)","deg/60","DEG/60","1",1,false],[false,"arc second","\'\'","\'\'","plane angle",0.00000484813681109536,[0,0,0,1,0,0,0],"\'\'","iso1000",false,null,null,1,false,false,0,"arcseconds; arcsecs","UCUM","Angle","Clinical","equal to 1/60 arcminute = 1/3600 degree; used in optometry and opthamology (e.g. visual acuity tests)","\'/60","\'/60","1",1,false],[false,"Liters","l","L","volume",0.001,[3,0,0,0,0,0,0],"l","iso1000",true,null,null,1,false,false,0,"cubic decimeters; decimeters cubed; decimetres; dm3; dm^3; litres; liters, LT ","UCUM","Vol","Clinical","Because lower case \\"l\\" can be read as the number \\"1\\", though this is a valid UCUM units. UCUM strongly reccomends using \\"L\\"","dm3","DM3","1",1,false],[false,"Liters","L","L","volume",0.001,[3,0,0,0,0,0,0],"L","iso1000",true,null,null,1,false,false,0,"cubic decimeters; decimeters cubed; decimetres; dm3; dm^3; litres; liters, LT ","UCUM","Vol","Clinical","Because lower case \\"l\\" can be read as the number \\"1\\", though this is a valid UCUM units. UCUM strongly reccomends using \\"L\\"","l",null,"1",1,false],[false,"are","ar","AR","area",100,[2,0,0,0,0,0,0],"a","iso1000",true,null,null,1,false,false,0,"100 m2; 100 m^2; 100 square meter; meters squared; metres","UCUM","Area","Clinical","metric base unit for area defined as 100 m^2","m2","M2","100",100,false],[false,"minute","min","MIN","time",60,[0,1,0,0,0,0,0],"min","iso1000",false,null,null,1,false,false,0,"minutes","UCUM","Time","Clinical","","s","S","60",60,false],[false,"hour","h","HR","time",3600,[0,1,0,0,0,0,0],"h","iso1000",false,null,null,1,false,false,0,"hours; hrs; age","UCUM","Time","Clinical","","min","MIN","60",60,false],[false,"day","d","D","time",86400,[0,1,0,0,0,0,0],"d","iso1000",false,null,null,1,false,false,0,"days; age; dy; 24 hours; 24 hrs","UCUM","Time","Clinical","","h","HR","24",24,false],[false,"tropical year","a_t","ANN_T","time",31556925.216,[0,1,0,0,0,0,0],"at","iso1000",false,null,null,1,false,false,0,"solar years; a tropical; years","UCUM","Time","Clinical","has an average of 365.242181 days but is constantly changing.","d","D","365.24219",365.24219,false],[false,"mean Julian year","a_j","ANN_J","time",31557600,[0,1,0,0,0,0,0],"aj","iso1000",false,null,null,1,false,false,0,"mean Julian yr; a julian; years","UCUM","Time","Clinical","has an average of 365.25 days, and in everyday use, has been replaced by the Gregorian year. However, this unit is used in astronomy to calculate light year. ","d","D","365.25",365.25,false],[false,"mean Gregorian year","a_g","ANN_G","time",31556952,[0,1,0,0,0,0,0],"ag","iso1000",false,null,null,1,false,false,0,"mean Gregorian yr; a gregorian; years","UCUM","Time","Clinical","has an average of 365.2425 days and is the most internationally used civil calendar.","d","D","365.2425",365.2425,false],[false,"year","a","ANN","time",31557600,[0,1,0,0,0,0,0],"a","iso1000",false,null,null,1,false,false,0,"years; a; yr, yrs; annum","UCUM","Time","Clinical","","a_j","ANN_J","1",1,false],[false,"week","wk","WK","time",604800,[0,1,0,0,0,0,0],"wk","iso1000",false,null,null,1,false,false,0,"weeks; wks","UCUM","Time","Clinical","","d","D","7",7,false],[false,"synodal month","mo_s","MO_S","time",2551442.976,[0,1,0,0,0,0,0],"mos","iso1000",false,null,null,1,false,false,0,"Moon; synodic month; lunar month; mo-s; mo s; months; moons","UCUM","Time","Nonclinical","has an average of 29.53 days per month, unit used in astronomy","d","D","29.53059",29.53059,false],[false,"mean Julian month","mo_j","MO_J","time",2629800,[0,1,0,0,0,0,0],"moj","iso1000",false,null,null,1,false,false,0,"mo-julian; mo Julian; months","UCUM","Time","Clinical","has an average of 30.435 days per month","a_j/12","ANN_J/12","1",1,false],[false,"mean Gregorian month","mo_g","MO_G","time",2629746,[0,1,0,0,0,0,0],"mog","iso1000",false,null,null,1,false,false,0,"months; month-gregorian; mo-gregorian","UCUM","Time","Clinical","has an average 30.436875 days per month and is from the most internationally used civil calendar.","a_g/12","ANN_G/12","1",1,false],[false,"month","mo","MO","time",2629800,[0,1,0,0,0,0,0],"mo","iso1000",false,null,null,1,false,false,0,"months; duration","UCUM","Time","Clinical","based on Julian calendar which has an average of 30.435 days per month (this unit is used in astronomy but not in everyday life - see mo_g)","mo_j","MO_J","1",1,false],[false,"metric ton","t","TNE","mass",1000000,[0,0,1,0,0,0,0],"t","iso1000",true,null,null,1,false,false,0,"tonnes; megagrams; tons","UCUM","Mass","Nonclinical","equal to 1000 kg used in the US (recognized by NIST as metric ton), and internationally (recognized as tonne)","kg","KG","1e3",1000,false],[false,"bar","bar","BAR","pressure",100000000,[-1,-2,1,0,0,0,0],"bar","iso1000",true,null,null,1,false,false,0,"bars","UCUM","Pres","Nonclinical","unit of pressure equal to 10^5 Pascals, primarily used by meteorologists and in weather forecasting","Pa","PAL","1e5",100000,false],[false,"unified atomic mass unit","u","AMU","mass",1.6605402e-24,[0,0,1,0,0,0,0],"u","iso1000",true,null,null,1,false,false,0,"unified atomic mass units; amu; Dalton; Da","UCUM","Mass","Clinical","the mass of 1/12 of an unbound Carbon-12 atom nuclide equal to 1.6606x10^-27 kg ","g","G","1.6605402e-24",1.6605402e-24,false],[false,"astronomic unit","AU","ASU","length",149597870691,[1,0,0,0,0,0,0],"AU","iso1000",false,null,null,1,false,false,0,"AU; units","UCUM","Len","Clinical","unit of length used in astronomy for measuring distance in Solar system","Mm","MAM","149597.870691",149597.870691,false],[false,"parsec","pc","PRS","length",30856780000000000,[1,0,0,0,0,0,0],"pc","iso1000",true,null,null,1,false,false,0,"parsecs","UCUM","Len","Clinical","unit of length equal to 3.26 light years, nad used to measure large distances to objects outside our Solar System","m","M","3.085678e16",30856780000000000,false],[false,"velocity of light in a vacuum","[c]","[C]","velocity",299792458,[1,-1,0,0,0,0,0],"c","const",true,null,null,1,false,false,0,"speed of light","UCUM","Vel","Constant","equal to 299792458 m/s (approximately 3 x 10^8 m/s)","m/s","M/S","299792458",299792458,false],[false,"Planck constant","[h]","[H]","action",6.6260755e-31,[2,-1,1,0,0,0,0],"h","const",true,null,null,1,false,false,0,"Planck\'s constant","UCUM","","Constant","constant = 6.62607004 × 10-34 m2.kg/s; defined as quantum of action","J.s","J.S","6.6260755e-34",6.6260755e-34,false],[false,"Boltzmann constant","[k]","[K]","(unclassified)",1.380658e-20,[2,-2,1,0,-1,0,0],"k","const",true,null,null,1,false,false,0,"k; kB","UCUM","","Constant","physical constant relating energy at the individual particle level with temperature = 1.38064852 ×10^−23 J/K","J/K","J/K","1.380658e-23",1.380658e-23,false],[false,"permittivity of vacuum - electric","[eps_0]","[EPS_0]","electric permittivity",8.854187817000001e-15,[-3,2,-1,0,0,2,0],"ε0","const",true,null,null,1,false,false,0,"ε0; Electric Constant; vacuum permittivity; permittivity of free space ","UCUM","","Constant","approximately equal to 8.854 × 10^−12 F/m (farads per meter)","F/m","F/M","8.854187817e-12",8.854187817e-12,false],[false,"permeability of vacuum - magnetic","[mu_0]","[MU_0]","magnetic permeability",0.0012566370614359172,[1,0,1,0,0,-2,0],"μ0","const",true,null,null,1,false,false,0,"μ0; vacuum permeability; permeability of free space; magnetic constant","UCUM","","Constant","equal to 4π×10^−7 N/A2 (Newtons per square ampere) ≈ 1.2566×10^−6 H/m (Henry per meter)","N/A2","4.[PI].10*-7.N/A2","1",0.0000012566370614359173,false],[false,"elementary charge","[e]","[E]","electric charge",1.60217733e-19,[0,0,0,0,0,1,0],"e","const",true,null,null,1,false,false,0,"e; q; electric charges","UCUM","","Constant","the magnitude of the electric charge carried by a single electron or proton ≈ 1.60217×10^-19 Coulombs","C","C","1.60217733e-19",1.60217733e-19,false],[false,"electronvolt","eV","EV","energy",1.60217733e-16,[2,-2,1,0,0,0,0],"eV","iso1000",true,null,null,1,false,false,0,"Electron Volts; electronvolts","UCUM","Eng","Clinical","unit of kinetic energy = 1 V * 1.602×10^−19 C = 1.6×10−19 Joules","[e].V","[E].V","1",1,false],[false,"electron mass","[m_e]","[M_E]","mass",9.1093897e-28,[0,0,1,0,0,0,0],"me","const",true,null,null,1,false,false,0,"electron rest mass; me","UCUM","Mass","Constant","approximately equal to 9.10938356 × 10-31 kg; defined as the mass of a stationary electron","g","g","9.1093897e-28",9.1093897e-28,false],[false,"proton mass","[m_p]","[M_P]","mass",1.6726231e-24,[0,0,1,0,0,0,0],"mp","const",true,null,null,1,false,false,0,"mp; masses","UCUM","Mass","Constant","approximately equal to 1.672622×10−27 kg","g","g","1.6726231e-24",1.6726231e-24,false],[false,"Newtonian constant of gravitation","[G]","[GC]","(unclassified)",6.67259e-14,[3,-2,-1,0,0,0,0],"G","const",true,null,null,1,false,false,0,"G; gravitational constant; Newton\'s constant","UCUM","","Constant","gravitational constant = 6.674×10−11 N⋅m2/kg2","m3.kg-1.s-2","M3.KG-1.S-2","6.67259e-11",6.67259e-11,false],[false,"standard acceleration of free fall","[g]","[G]","acceleration",9.80665,[1,-2,0,0,0,0,0],"gn","const",true,null,null,1,false,false,0,"standard gravity; g; ɡ0; ɡn","UCUM","Accel","Constant","defined by standard = 9.80665 m/s2","m/s2","M/S2","980665e-5",9.80665,false],[false,"Torr","Torr","Torr","pressure",133322,[-1,-2,1,0,0,0,0],"Torr","const",false,null,null,1,false,false,0,"torrs","UCUM","Pres","Clinical","1 torr = 1 mmHg; unit used to measure blood pressure","Pa","PAL","133.322",133.322,false],[false,"standard atmosphere","atm","ATM","pressure",101325000,[-1,-2,1,0,0,0,0],"atm","const",false,null,null,1,false,false,0,"reference pressure; atmos; std atmosphere","UCUM","Pres","Clinical","defined as being precisely equal to 101,325 Pa","Pa","PAL","101325",101325,false],[false,"light-year","[ly]","[LY]","length",9460730472580800,[1,0,0,0,0,0,0],"l.y.","const",true,null,null,1,false,false,0,"light years; ly","UCUM","Len","Constant","unit of astronomal distance = 5.88×10^12 mi","[c].a_j","[C].ANN_J","1",1,false],[false,"gram-force","gf","GF","force",9.80665,[1,-2,1,0,0,0,0],"gf","const",true,null,null,1,false,false,0,"Newtons; gram forces","UCUM","Force","Clinical","May be specific to unit related to cardiac output","g.[g]","G.[G]","1",1,false],[false,"Kayser","Ky","KY","lineic number",100,[-1,0,0,0,0,0,0],"K","cgs",true,null,null,1,false,false,0,"wavenumbers; kaysers","UCUM","InvLen","Clinical","unit of wavelength equal to cm^-1","cm-1","CM-1","1",1,false],[false,"Gal","Gal","GL","acceleration",0.01,[1,-2,0,0,0,0,0],"Gal","cgs",true,null,null,1,false,false,0,"galileos; Gals","UCUM","Accel","Clinical","unit of acceleration used in gravimetry; equivalent to cm/s2 ","cm/s2","CM/S2","1",1,false],[false,"dyne","dyn","DYN","force",0.01,[1,-2,1,0,0,0,0],"dyn","cgs",true,null,null,1,false,false,0,"dynes","UCUM","Force","Clinical","unit of force equal to 10^-5 Newtons","g.cm/s2","G.CM/S2","1",1,false],[false,"erg","erg","ERG","energy",0.0001,[2,-2,1,0,0,0,0],"erg","cgs",true,null,null,1,false,false,0,"10^-7 Joules, 10-7 Joules; 100 nJ; 100 nanoJoules; 1 dyne cm; 1 g.cm2/s2","UCUM","Eng","Clinical","unit of energy = 1 dyne centimeter = 10^-7 Joules","dyn.cm","DYN.CM","1",1,false],[false,"Poise","P","P","dynamic viscosity",100,[-1,-1,1,0,0,0,0],"P","cgs",true,null,null,1,false,false,0,"dynamic viscosity; poises","UCUM","Visc","Clinical","unit of dynamic viscosity where 1 Poise = 1/10 Pascal second","dyn.s/cm2","DYN.S/CM2","1",1,false],[false,"Biot","Bi","BI","electric current",10,[0,-1,0,0,0,1,0],"Bi","cgs",true,null,null,1,false,false,0,"Bi; abamperes; abA","UCUM","ElpotRat","Clinical","equal to 10 amperes","A","A","10",10,false],[false,"Stokes","St","ST","kinematic viscosity",0.0001,[2,-1,0,0,0,0,0],"St","cgs",true,null,null,1,false,false,0,"kinematic viscosity","UCUM","Visc","Clinical","unit of kimematic viscosity with units cm2/s","cm2/s","CM2/S","1",1,false],[false,"Maxwell","Mx","MX","flux of magnetic induction",0.00001,[2,-1,1,0,0,-1,0],"Mx","cgs",true,null,null,1,false,false,0,"magnetix flux; Maxwells","UCUM","","Clinical","unit of magnetic flux","Wb","WB","1e-8",1e-8,false],[false,"Gauss","G","GS","magnetic flux density",0.1,[0,-1,1,0,0,-1,0],"Gs","cgs",true,null,null,1,false,false,0,"magnetic fields; magnetic flux density; induction; B","UCUM","magnetic","Clinical","CGS unit of magnetic flux density, known as magnetic field B; defined as one maxwell unit per square centimeter (see Oersted for CGS unit for H field)","T","T","1e-4",0.0001,false],[false,"Oersted","Oe","OE","magnetic field intensity",79.57747154594767,[-1,-1,0,0,0,1,0],"Oe","cgs",true,null,null,1,false,false,0,"H magnetic B field; Oersteds","UCUM","","Clinical","CGS unit of the auxiliary magnetic field H defined as 1 dyne per unit pole = 1000/4π amperes per meter (see Gauss for CGS unit for B field)","A/m","/[PI].A/M","250",79.57747154594767,false],[false,"Gilbert","Gb","GB","magnetic tension",0.7957747154594768,[0,-1,0,0,0,1,0],"Gb","cgs",true,null,null,1,false,false,0,"Gi; magnetomotive force; Gilberts","UCUM","","Clinical","unit of magnetomotive force (magnetic potential)","Oe.cm","OE.CM","1",1,false],[false,"stilb","sb","SB","lum. intensity density",10000,[-2,0,0,0,0,0,1],"sb","cgs",true,null,null,1,false,false,0,"stilbs","UCUM","","Obsolete","unit of luminance; equal to and replaced by unit candela per square centimeter (cd/cm2)","cd/cm2","CD/CM2","1",1,false],[false,"Lambert","Lmb","LMB","brightness",3183.098861837907,[-2,0,0,0,0,0,1],"L","cgs",true,null,null,1,false,false,0,"luminance; lamberts","UCUM","","Clinical","unit of luminance defined as 1 lambert = 1/ π candela per square meter","cd/cm2/[pi]","CD/CM2/[PI]","1",1,false],[false,"phot","ph","PHT","illuminance",0.0001,[-2,0,0,2,0,0,1],"ph","cgs",true,null,null,1,false,false,0,"phots","UCUM","","Clinical","CGS photometric unit of illuminance, or luminous flux through an area equal to 10000 lumens per square meter = 10000 lux","lx","LX","1e-4",0.0001,false],[false,"Curie","Ci","CI","radioactivity",37000000000,[0,-1,0,0,0,0,0],"Ci","cgs",true,null,null,1,false,false,0,"curies","UCUM","","Obsolete","unit for measuring atomic disintegration rate; replaced by the Bequerel (Bq) unit","Bq","BQ","37e9",37000000000,false],[false,"Roentgen","R","ROE","ion dose",2.58e-7,[0,0,-1,0,0,1,0],"R","cgs",true,null,null,1,false,false,0,"röntgen; Roentgens","UCUM","","Clinical","unit of exposure of X-rays and gamma rays in air; unit used primarily in the US but strongly discouraged by NIST","C/kg","C/KG","2.58e-4",0.000258,false],[false,"radiation absorbed dose","RAD","[RAD]","energy dose",0.01,[2,-2,0,0,0,0,0],"RAD","cgs",true,null,null,1,false,false,0,"doses","UCUM","","Clinical","unit of radiation absorbed dose used primarily in the US with base units 100 ergs per gram of material. Also see the SI unit Gray (Gy).","erg/g","ERG/G","100",100,false],[false,"radiation equivalent man","REM","[REM]","dose equivalent",0.01,[2,-2,0,0,0,0,0],"REM","cgs",true,null,null,1,false,false,0,"Roentgen Equivalent in Man; rems; dose equivalents","UCUM","","Clinical","unit of equivalent dose which measures the effect of radiation on humans equal to 0.01 sievert. Used primarily in the US. Also see SI unit Sievert (Sv)","RAD","[RAD]","1",1,false],[false,"inch","[in_i]","[IN_I]","length",0.025400000000000002,[1,0,0,0,0,0,0],"in","intcust",false,null,null,1,false,false,0,"inches; in; international inch; body height","UCUM","Len","Clinical","standard unit for inch in the US and internationally","cm","CM","254e-2",2.54,false],[false,"foot","[ft_i]","[FT_I]","length",0.3048,[1,0,0,0,0,0,0],"ft","intcust",false,null,null,1,false,false,0,"ft; fts; foot; international foot; feet; international feet; height","UCUM","Len","Clinical","unit used in the US and internationally","[in_i]","[IN_I]","12",12,false],[false,"yard","[yd_i]","[YD_I]","length",0.9144000000000001,[1,0,0,0,0,0,0],"yd","intcust",false,null,null,1,false,false,0,"international yards; yds; distance","UCUM","Len","Clinical","standard unit used in the US and internationally","[ft_i]","[FT_I]","3",3,false],[false,"mile","[mi_i]","[MI_I]","length",1609.344,[1,0,0,0,0,0,0],"mi","intcust",false,null,null,1,false,false,0,"international miles; mi I; statute mile","UCUM","Len","Clinical","standard unit used in the US and internationally","[ft_i]","[FT_I]","5280",5280,false],[false,"fathom","[fth_i]","[FTH_I]","depth of water",1.8288000000000002,[1,0,0,0,0,0,0],"fth","intcust",false,null,null,1,false,false,0,"international fathoms","UCUM","Len","Nonclinical","unit used in the US and internationally to measure depth of water; same length as the US fathom","[ft_i]","[FT_I]","6",6,false],[false,"nautical mile","[nmi_i]","[NMI_I]","length",1852,[1,0,0,0,0,0,0],"n.mi","intcust",false,null,null,1,false,false,0,"nautical mile; nautical miles; international nautical mile; international nautical miles; nm; n.m.; nmi","UCUM","Len","Nonclinical","standard unit used in the US and internationally","m","M","1852",1852,false],[false,"knot","[kn_i]","[KN_I]","velocity",0.5144444444444445,[1,-1,0,0,0,0,0],"knot","intcust",false,null,null,1,false,false,0,"kn; kt; international knots","UCUM","Vel","Nonclinical","defined as equal to one nautical mile (1.852 km) per hour","[nmi_i]/h","[NMI_I]/H","1",1,false],[false,"square inch","[sin_i]","[SIN_I]","area",0.0006451600000000001,[2,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"in2; in^2; inches squared; sq inch; inches squared; international","UCUM","Area","Clinical","standard unit used in the US and internationally","[in_i]2","[IN_I]2","1",1,false],[false,"square foot","[sft_i]","[SFT_I]","area",0.09290304,[2,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"ft2; ft^2; ft squared; sq ft; feet; international","UCUM","Area","Clinical","standard unit used in the US and internationally","[ft_i]2","[FT_I]2","1",1,false],[false,"square yard","[syd_i]","[SYD_I]","area",0.8361273600000002,[2,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"yd2; yd^2; sq. yds; yards squared; international","UCUM","Area","Clinical","standard unit used in the US and internationally","[yd_i]2","[YD_I]2","1",1,false],[false,"cubic inch","[cin_i]","[CIN_I]","volume",0.000016387064000000003,[3,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"in3; in^3; in*3; inches^3; inches*3; cu. in; cu in; cubic inches; inches cubed; cin","UCUM","Vol","Clinical","standard unit used in the US and internationally","[in_i]3","[IN_I]3","1",1,false],[false,"cubic foot","[cft_i]","[CFT_I]","volume",0.028316846592000004,[3,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"ft3; ft^3; ft*3; cu. ft; cubic feet; cubed; [ft_i]3; international","UCUM","Vol","Clinical","","[ft_i]3","[FT_I]3","1",1,false],[false,"cubic yard","[cyd_i]","[CYD_I]","volume",0.7645548579840002,[3,0,0,0,0,0,0],"cu.yd","intcust",false,null,null,1,false,false,0,"cubic yards; cubic yds; cu yards; CYs; yards^3; yd^3; yds^3; yd3; yds3","UCUM","Vol","Nonclinical","standard unit used in the US and internationally","[yd_i]3","[YD_I]3","1",1,false],[false,"board foot","[bf_i]","[BF_I]","volume",0.002359737216,[3,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"BDFT; FBM; BF; board feet; international","UCUM","Vol","Nonclinical","unit of volume used to measure lumber","[in_i]3","[IN_I]3","144",144,false],[false,"cord","[cr_i]","[CR_I]","volume",3.6245563637760005,[3,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"crd I; international cords","UCUM","Vol","Nonclinical","unit of measure of dry volume used to measure firewood equal 128 ft3","[ft_i]3","[FT_I]3","128",128,false],[false,"mil","[mil_i]","[MIL_I]","length",0.000025400000000000004,[1,0,0,0,0,0,0],"mil","intcust",false,null,null,1,false,false,0,"thou, thousandth; mils; international","UCUM","Len","Clinical","equal to 0.001 international inch","[in_i]","[IN_I]","1e-3",0.001,false],[false,"circular mil","[cml_i]","[CML_I]","area",5.067074790974979e-10,[2,0,0,0,0,0,0],"circ.mil","intcust",false,null,null,1,false,false,0,"circular mils; cml I; international","UCUM","Area","Clinical","","[pi]/4.[mil_i]2","[PI]/4.[MIL_I]2","1",1,false],[false,"hand","[hd_i]","[HD_I]","height of horses",0.10160000000000001,[1,0,0,0,0,0,0],"hd","intcust",false,null,null,1,false,false,0,"hands; international","UCUM","Len","Nonclinical","used to measure horse height","[in_i]","[IN_I]","4",4,false],[false,"foot - US","[ft_us]","[FT_US]","length",0.3048006096012192,[1,0,0,0,0,0,0],"ftus","us-lengths",false,null,null,1,false,false,0,"US foot; foot US; us ft; ft us; height; visual distance; feet","UCUM","Len","Obsolete","Better to use [ft_i] which refers to the length used worldwide, including in the US; [ft_us] may be confused with land survey units. ","m/3937","M/3937","1200",1200,false],[false,"yard - US","[yd_us]","[YD_US]","length",0.9144018288036575,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"US yards; us yds; distance","UCUM","Len; Nrat","Obsolete","Better to use [yd_i] which refers to the length used worldwide, including in the US; [yd_us] refers to unit used in land surveys in the US","[ft_us]","[FT_US]","3",3,false],[false,"inch - US","[in_us]","[IN_US]","length",0.0254000508001016,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"US inches; in us; us in; inch US","UCUM","Len","Obsolete","Better to use [in_i] which refers to the length used worldwide, including in the US","[ft_us]/12","[FT_US]/12","1",1,false],[false,"rod - US","[rd_us]","[RD_US]","length",5.029210058420117,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"US rod; US rods; rd US; US rd","UCUM","Len","Obsolete","","[ft_us]","[FT_US]","16.5",16.5,false],[false,"Gunter\'s chain - US","[ch_us]","[CH_US]","length",20.116840233680467,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"surveyor\'s chain; Surveyor\'s chain USA; Gunter’s measurement; surveyor’s measurement; Gunter\'s Chain USA","UCUM","Len","Obsolete","historical unit used for land survey used only in the US","[rd_us]","[RD_US]","4",4,false],[false,"link for Gunter\'s chain - US","[lk_us]","[LK_US]","length",0.20116840233680466,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"Links for Gunter\'s Chain USA","UCUM","Len","Obsolete","","[ch_us]/100","[CH_US]/100","1",1,false],[false,"Ramden\'s chain - US","[rch_us]","[RCH_US]","length",30.480060960121918,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"Ramsden\'s chain; engineer\'s chains","UCUM","Len","Obsolete","distance measuring device used for land survey","[ft_us]","[FT_US]","100",100,false],[false,"link for Ramden\'s chain - US","[rlk_us]","[RLK_US]","length",0.3048006096012192,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"links for Ramsden\'s chain","UCUM","Len","Obsolete","","[rch_us]/100","[RCH_US]/100","1",1,false],[false,"fathom - US","[fth_us]","[FTH_US]","length",1.828803657607315,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"US fathoms; fathom USA; fth us","UCUM","Len","Obsolete","same length as the international fathom - better to use international fathom ([fth_i])","[ft_us]","[FT_US]","6",6,false],[false,"furlong - US","[fur_us]","[FUR_US]","length",201.16840233680466,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"US furlongs; fur us","UCUM","Len","Nonclinical","distance unit in horse racing","[rd_us]","[RD_US]","40",40,false],[false,"mile - US","[mi_us]","[MI_US]","length",1609.3472186944373,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"U.S. Survey Miles; US statute miles; survey mi; US mi; distance","UCUM","Len","Nonclinical","Better to use [mi_i] which refers to the length used worldwide, including in the US","[fur_us]","[FUR_US]","8",8,false],[false,"acre - US","[acr_us]","[ACR_US]","area",4046.872609874252,[2,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"Acre USA Survey; Acre USA; survey acres","UCUM","Area","Nonclinical","an older unit based on pre 1959 US statute lengths that is still sometimes used in the US only for land survey purposes. ","[rd_us]2","[RD_US]2","160",160,false],[false,"square rod - US","[srd_us]","[SRD_US]","area",25.292953811714074,[2,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"rod2; rod^2; sq. rod; rods squared","UCUM","Area","Nonclinical","Used only in the US to measure land area, based on US statute land survey length units","[rd_us]2","[RD_US]2","1",1,false],[false,"square mile - US","[smi_us]","[SMI_US]","area",2589998.470319521,[2,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"mi2; mi^2; sq mi; miles squared","UCUM","Area","Nonclinical","historical unit used only in the US for land survey purposes (based on the US survey mile), not the internationally recognized [mi_i]","[mi_us]2","[MI_US]2","1",1,false],[false,"section","[sct]","[SCT]","area",2589998.470319521,[2,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"sct; sections","UCUM","Area","Nonclinical","tract of land approximately equal to 1 mile square containing 640 acres","[mi_us]2","[MI_US]2","1",1,false],[false,"township","[twp]","[TWP]","area",93239944.93150276,[2,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"twp; townships","UCUM","Area","Nonclinical","land measurement equal to 6 mile square","[sct]","[SCT]","36",36,false],[false,"mil - US","[mil_us]","[MIL_US]","length",0.0000254000508001016,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"thou, thousandth; mils","UCUM","Len","Obsolete","better to use [mil_i] which is based on the internationally recognized inch","[in_us]","[IN_US]","1e-3",0.001,false],[false,"inch - British","[in_br]","[IN_BR]","length",0.025399980000000003,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"imperial inches; imp in; br in; british inches","UCUM","Len","Obsolete","","cm","CM","2.539998",2.539998,false],[false,"foot - British","[ft_br]","[FT_BR]","length",0.30479976000000003,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British Foot; Imperial Foot; feet; imp fts; br fts","UCUM","Len","Obsolete","","[in_br]","[IN_BR]","12",12,false],[false,"rod - British","[rd_br]","[RD_BR]","length",5.02919604,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British rods; br rd","UCUM","Len","Obsolete","","[ft_br]","[FT_BR]","16.5",16.5,false],[false,"Gunter\'s chain - British","[ch_br]","[CH_BR]","length",20.11678416,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"Gunter\'s Chain British; Gunters Chain British; Surveyor\'s Chain British","UCUM","Len","Obsolete","historical unit used for land survey used only in Great Britain","[rd_br]","[RD_BR]","4",4,false],[false,"link for Gunter\'s chain - British","[lk_br]","[LK_BR]","length",0.2011678416,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"Links for Gunter\'s Chain British","UCUM","Len","Obsolete","","[ch_br]/100","[CH_BR]/100","1",1,false],[false,"fathom - British","[fth_br]","[FTH_BR]","length",1.82879856,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British fathoms; imperial fathoms; br fth; imp fth","UCUM","Len","Obsolete","","[ft_br]","[FT_BR]","6",6,false],[false,"pace - British","[pc_br]","[PC_BR]","length",0.7619994000000001,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British paces; br pc","UCUM","Len","Nonclinical","traditional unit of length equal to 152.4 centimeters, or 1.52 meter. ","[ft_br]","[FT_BR]","2.5",2.5,false],[false,"yard - British","[yd_br]","[YD_BR]","length",0.91439928,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British yards; Br yds; distance","UCUM","Len","Obsolete","","[ft_br]","[FT_BR]","3",3,false],[false,"mile - British","[mi_br]","[MI_BR]","length",1609.3427328000002,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"imperial miles; British miles; English statute miles; imp mi, br mi","UCUM","Len","Obsolete","","[ft_br]","[FT_BR]","5280",5280,false],[false,"nautical mile - British","[nmi_br]","[NMI_BR]","length",1853.1825408000002,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British nautical miles; Imperial nautical miles; Admiralty miles; n.m. br; imp nm","UCUM","Len","Obsolete","","[ft_br]","[FT_BR]","6080",6080,false],[false,"knot - British","[kn_br]","[KN_BR]","velocity",0.5147729280000001,[1,-1,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British knots; kn br; kt","UCUM","Vel","Obsolete","based on obsolete British nautical mile ","[nmi_br]/h","[NMI_BR]/H","1",1,false],[false,"acre","[acr_br]","[ACR_BR]","area",4046.850049400269,[2,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"Imperial acres; British; a; ac; ar; acr","UCUM","Area","Nonclinical","the standard unit for acre used in the US and internationally","[yd_br]2","[YD_BR]2","4840",4840,false],[false,"gallon - US","[gal_us]","[GAL_US]","fluid volume",0.0037854117840000006,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US gallons; US liquid gallon; gal us; Queen Anne\'s wine gallon","UCUM","Vol","Nonclinical","only gallon unit used in the US; [gal_us] is only used in some other countries in South American and Africa to measure gasoline volume","[in_i]3","[IN_I]3","231",231,false],[false,"barrel - US","[bbl_us]","[BBL_US]","fluid volume",0.158987294928,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"bbl","UCUM","Vol","Nonclinical","[bbl_us] is the standard unit for oil barrel, which is a unit only used in the US to measure the volume oil. ","[gal_us]","[GAL_US]","42",42,false],[false,"quart - US","[qt_us]","[QT_US]","fluid volume",0.0009463529460000001,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US quarts; us qts","UCUM","Vol","Clinical","Used only in the US","[gal_us]/4","[GAL_US]/4","1",1,false],[false,"pint - US","[pt_us]","[PT_US]","fluid volume",0.00047317647300000007,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US pints; pint US; liquid pint; pt us; us pt","UCUM","Vol","Clinical","Used only in the US","[qt_us]/2","[QT_US]/2","1",1,false],[false,"gill - US","[gil_us]","[GIL_US]","fluid volume",0.00011829411825000002,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US gills; gil us","UCUM","Vol","Nonclinical","only used in the context of alcohol volume in the US","[pt_us]/4","[PT_US]/4","1",1,false],[false,"fluid ounce - US","[foz_us]","[FOZ_US]","fluid volume",0.000029573529562500005,[3,0,0,0,0,0,0],"oz fl","us-volumes",false,null,null,1,false,false,0,"US fluid ounces; fl ozs; FO; fl. oz.; foz us","UCUM","Vol","Clinical","unit used only in the US","[gil_us]/4","[GIL_US]/4","1",1,false],[false,"fluid dram - US","[fdr_us]","[FDR_US]","fluid volume",0.0000036966911953125006,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US fluid drams; fdr us","UCUM","Vol","Nonclinical","equal to 1/8 US fluid ounce = 3.69 mL; used informally to mean small amount of liquor, especially Scotch whiskey","[foz_us]/8","[FOZ_US]/8","1",1,false],[false,"minim - US","[min_us]","[MIN_US]","fluid volume",6.1611519921875e-8,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"min US; US min; ♏ US","UCUM","Vol","Obsolete","","[fdr_us]/60","[FDR_US]/60","1",1,false],[false,"cord - US","[crd_us]","[CRD_US]","fluid volume",3.6245563637760005,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US cord; US cords; crd us; us crd","UCUM","Vol","Nonclinical","unit of measure of dry volume used to measure firewood equal 128 ft3 (the same as international cord [cr_i])","[ft_i]3","[FT_I]3","128",128,false],[false,"bushel - US","[bu_us]","[BU_US]","dry volume",0.03523907016688001,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US bushels; US bsh; US bu","UCUM","Vol","Obsolete","Historical unit of dry volume that is rarely used today","[in_i]3","[IN_I]3","2150.42",2150.42,false],[false,"gallon - historical","[gal_wi]","[GAL_WI]","dry volume",0.004404883770860001,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"Corn Gallon British; Dry Gallon US; Gallons Historical; Grain Gallon British; Winchester Corn Gallon; historical winchester gallons; wi gal","UCUM","Vol","Obsolete","historical unit of dry volume no longer used","[bu_us]/8","[BU_US]/8","1",1,false],[false,"peck - US","[pk_us]","[PK_US]","dry volume",0.008809767541720002,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US pecks; US pk","UCUM","Vol","Nonclinical","unit of dry volume rarely used today (can be used to measure volume of apples)","[bu_us]/4","[BU_US]/4","1",1,false],[false,"dry quart - US","[dqt_us]","[DQT_US]","dry volume",0.0011012209427150002,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"dry quarts; dry quart US; US dry quart; dry qt; us dry qt; dqt; dqt us","UCUM","Vol","Nonclinical","historical unit of dry volume only in the US, but is rarely used today","[pk_us]/8","[PK_US]/8","1",1,false],[false,"dry pint - US","[dpt_us]","[DPT_US]","dry volume",0.0005506104713575001,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"dry pints; dry pint US; US dry pint; dry pt; dpt; dpt us","UCUM","Vol","Nonclinical","historical unit of dry volume only in the US, but is rarely used today","[dqt_us]/2","[DQT_US]/2","1",1,false],[false,"tablespoon - US","[tbs_us]","[TBS_US]","volume",0.000014786764781250002,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"Tbs; tbsp; tbs us; US tablespoons","UCUM","Vol","Clinical","unit defined as 0.5 US fluid ounces or 3 teaspoons - used only in the US. See [tbs_m] for the unit used internationally and in the US for nutrional labelling. ","[foz_us]/2","[FOZ_US]/2","1",1,false],[false,"teaspoon - US","[tsp_us]","[TSP_US]","volume",0.0000049289215937500005,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"tsp; t; US teaspoons","UCUM","Vol","Nonclinical","unit defined as 1/6 US fluid ounces - used only in the US. See [tsp_m] for the unit used internationally and in the US for nutrional labelling. ","[tbs_us]/3","[TBS_US]/3","1",1,false],[false,"cup - US customary","[cup_us]","[CUP_US]","volume",0.00023658823650000004,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"cup us; us cups","UCUM","Vol","Nonclinical","Unit defined as 1/2 US pint or 16 US tablespoons ≈ 236.59 mL, which is not the standard unit defined by the FDA of 240 mL - see [cup_m] (metric cup)","[tbs_us]","[TBS_US]","16",16,false],[false,"fluid ounce - metric","[foz_m]","[FOZ_M]","fluid volume",0.000029999999999999997,[3,0,0,0,0,0,0],"oz fl","us-volumes",false,null,null,1,false,false,0,"metric fluid ounces; fozs m; fl ozs m","UCUM","Vol","Clinical","unit used only in the US for nutritional labelling, as set by the FDA","mL","ML","30",30,false],[false,"cup - US legal","[cup_m]","[CUP_M]","volume",0.00023999999999999998,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"cup m; metric cups","UCUM","Vol","Clinical","standard unit equal to 240 mL used in the US for nutritional labelling, as defined by the FDA. Note that this is different from the US customary cup (236.59 mL) and the metric cup used in Commonwealth nations (250 mL).","mL","ML","240",240,false],[false,"teaspoon - metric","[tsp_m]","[TSP_M]","volume",0.0000049999999999999996,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"tsp; t; metric teaspoons","UCUM","Vol","Clinical","standard unit used in the US and internationally","mL","mL","5",5,false],[false,"tablespoon - metric","[tbs_m]","[TBS_M]","volume",0.000014999999999999999,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"metric tablespoons; Tbs; tbsp; T; tbs m","UCUM","Vol","Clinical","standard unit used in the US and internationally","mL","mL","15",15,false],[false,"gallon- British","[gal_br]","[GAL_BR]","volume",0.004546090000000001,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"imperial gallons, UK gallons; British gallons; br gal; imp gal","UCUM","Vol","Nonclinical","Used only in Great Britain and other Commonwealth countries","l","L","4.54609",4.54609,false],[false,"peck - British","[pk_br]","[PK_BR]","volume",0.009092180000000002,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"imperial pecks; British pecks; br pk; imp pk","UCUM","Vol","Nonclinical","unit of dry volume rarely used today (can be used to measure volume of apples)","[gal_br]","[GAL_BR]","2",2,false],[false,"bushel - British","[bu_br]","[BU_BR]","volume",0.03636872000000001,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"British bushels; imperial; br bsh; br bu; imp","UCUM","Vol","Obsolete","Historical unit of dry volume that is rarely used today","[pk_br]","[PK_BR]","4",4,false],[false,"quart - British","[qt_br]","[QT_BR]","volume",0.0011365225000000002,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"British quarts; imperial quarts; br qts","UCUM","Vol","Clinical","Used only in Great Britain and other Commonwealth countries","[gal_br]/4","[GAL_BR]/4","1",1,false],[false,"pint - British","[pt_br]","[PT_BR]","volume",0.0005682612500000001,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"British pints; imperial pints; pt br; br pt; imp pt; pt imp","UCUM","Vol","Clinical","Used only in Great Britain and other Commonwealth countries","[qt_br]/2","[QT_BR]/2","1",1,false],[false,"gill - British","[gil_br]","[GIL_BR]","volume",0.00014206531250000003,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"imperial gills; British gills; imp gill, br gill","UCUM","Vol","Nonclinical","only used in the context of alcohol volume in Great Britain","[pt_br]/4","[PT_BR]/4","1",1,false],[false,"fluid ounce - British","[foz_br]","[FOZ_BR]","volume",0.000028413062500000005,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"British fluid ounces; Imperial fluid ounces; br fozs; imp fozs; br fl ozs","UCUM","Vol","Clinical","Used only in Great Britain and other Commonwealth countries","[gil_br]/5","[GIL_BR]/5","1",1,false],[false,"fluid dram - British","[fdr_br]","[FDR_BR]","volume",0.0000035516328125000006,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"British fluid drams; fdr br","UCUM","Vol","Nonclinical","equal to 1/8 Imperial fluid ounce = 3.55 mL; used informally to mean small amount of liquor, especially Scotch whiskey","[foz_br]/8","[FOZ_BR]/8","1",1,false],[false,"minim - British","[min_br]","[MIN_BR]","volume",5.919388020833334e-8,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"min br; br min; ♏ br","UCUM","Vol","Obsolete","","[fdr_br]/60","[FDR_BR]/60","1",1,false],[false,"grain","[gr]","[GR]","mass",0.06479891,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"gr; grains","UCUM","Mass","Nonclinical","an apothecary measure of mass rarely used today","mg","MG","64.79891",64.79891,false],[false,"pound","[lb_av]","[LB_AV]","mass",453.59237,[0,0,1,0,0,0,0],"lb","avoirdupois",false,null,null,1,false,false,0,"avoirdupois pounds, international pounds; av lbs; pounds","UCUM","Mass","Clinical","standard unit used in the US and internationally","[gr]","[GR]","7000",7000,false],[false,"pound force - US","[lbf_av]","[LBF_AV]","force",4448.2216152605,[1,-2,1,0,0,0,0],"lbf","const",false,null,null,1,false,false,0,"lbfs; US lbf; US pound forces","UCUM","Force","Clinical","only rarely needed in health care - see [lb_av] which is the more common unit to express weight","[lb_av].[g]","[LB_AV].[G]","1",1,false],[false,"ounce","[oz_av]","[OZ_AV]","mass",28.349523125,[0,0,1,0,0,0,0],"oz","avoirdupois",false,null,null,1,false,false,0,"ounces; international ounces; avoirdupois ounces; av ozs","UCUM","Mass","Clinical","standard unit used in the US and internationally","[lb_av]/16","[LB_AV]/16","1",1,false],[false,"Dram mass unit","[dr_av]","[DR_AV]","mass",1.7718451953125,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"Dram; drams avoirdupois; avoidupois dram; international dram","UCUM","Mass","Clinical","unit from the avoirdupois system, which is used in the US and internationally","[oz_av]/16","[OZ_AV]/16","1",1,false],[false,"short hundredweight","[scwt_av]","[SCWT_AV]","mass",45359.237,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"hundredweights; s cwt; scwt; avoirdupois","UCUM","Mass","Nonclinical","Used only in the US to equal 100 pounds","[lb_av]","[LB_AV]","100",100,false],[false,"long hundredweight","[lcwt_av]","[LCWT_AV]","mass",50802.345440000005,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"imperial hundredweights; imp cwt; lcwt; avoirdupois","UCUM","Mass","Obsolete","","[lb_av]","[LB_AV]","112",112,false],[false,"short ton - US","[ston_av]","[STON_AV]","mass",907184.74,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"ton; US tons; avoirdupois tons","UCUM","Mass","Clinical","Used only in the US","[scwt_av]","[SCWT_AV]","20",20,false],[false,"long ton - British","[lton_av]","[LTON_AV]","mass",1016046.9088000001,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"imperial tons; weight tons; British long tons; long ton avoirdupois","UCUM","Mass","Nonclinical","Used only in Great Britain and other Commonwealth countries","[lcwt_av]","[LCWT_AV]","20",20,false],[false,"stone - British","[stone_av]","[STONE_AV]","mass",6350.293180000001,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"British stones; avoirdupois","UCUM","Mass","Nonclinical","Used primarily in the UK and Ireland to measure body weight","[lb_av]","[LB_AV]","14",14,false],[false,"pennyweight - troy","[pwt_tr]","[PWT_TR]","mass",1.5551738400000001,[0,0,1,0,0,0,0],null,"troy",false,null,null,1,false,false,0,"dwt; denarius weights","UCUM","Mass","Obsolete","historical unit used to measure mass and cost of precious metals","[gr]","[GR]","24",24,false],[false,"ounce - troy","[oz_tr]","[OZ_TR]","mass",31.103476800000003,[0,0,1,0,0,0,0],null,"troy",false,null,null,1,false,false,0,"troy ounces; tr ozs","UCUM","Mass","Nonclinical","unit of mass for precious metals and gemstones only","[pwt_tr]","[PWT_TR]","20",20,false],[false,"pound - troy","[lb_tr]","[LB_TR]","mass",373.2417216,[0,0,1,0,0,0,0],null,"troy",false,null,null,1,false,false,0,"troy pounds; tr lbs","UCUM","Mass","Nonclinical","only used for weighing precious metals","[oz_tr]","[OZ_TR]","12",12,false],[false,"scruple","[sc_ap]","[SC_AP]","mass",1.2959782,[0,0,1,0,0,0,0],null,"apoth",false,null,null,1,false,false,0,"scruples; sc ap","UCUM","Mass","Obsolete","","[gr]","[GR]","20",20,false],[false,"dram - apothecary","[dr_ap]","[DR_AP]","mass",3.8879346,[0,0,1,0,0,0,0],null,"apoth",false,null,null,1,false,false,0,"ʒ; drachm; apothecaries drams; dr ap; dram ap","UCUM","Mass","Nonclinical","unit still used in the US occasionally to measure amount of drugs in pharmacies","[sc_ap]","[SC_AP]","3",3,false],[false,"ounce - apothecary","[oz_ap]","[OZ_AP]","mass",31.1034768,[0,0,1,0,0,0,0],null,"apoth",false,null,null,1,false,false,0,"apothecary ounces; oz ap; ap ozs; ozs ap","UCUM","Mass","Obsolete","","[dr_ap]","[DR_AP]","8",8,false],[false,"pound - apothecary","[lb_ap]","[LB_AP]","mass",373.2417216,[0,0,1,0,0,0,0],null,"apoth",false,null,null,1,false,false,0,"apothecary pounds; apothecaries pounds; ap lb; lb ap; ap lbs; lbs ap","UCUM","Mass","Obsolete","","[oz_ap]","[OZ_AP]","12",12,false],[false,"ounce - metric","[oz_m]","[OZ_M]","mass",28,[0,0,1,0,0,0,0],null,"apoth",false,null,null,1,false,false,0,"metric ounces; m ozs","UCUM","Mass","Clinical","see [oz_av] (the avoirdupois ounce) for the standard ounce used internationally; [oz_m] is equal to 28 grams and is based on the apothecaries\' system of mass units which is used in some US pharmacies. ","g","g","28",28,false],[false,"line","[lne]","[LNE]","length",0.002116666666666667,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"British lines; br L; L; l","UCUM","Len","Obsolete","","[in_i]/12","[IN_I]/12","1",1,false],[false,"point (typography)","[pnt]","[PNT]","length",0.0003527777777777778,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"DTP points; desktop publishing point; pt; pnt","UCUM","Len","Nonclinical","typography unit for typesetter\'s length","[lne]/6","[LNE]/6","1",1,false],[false,"pica (typography)","[pca]","[PCA]","length",0.004233333333333334,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"picas","UCUM","Len","Nonclinical","typography unit for typesetter\'s length","[pnt]","[PNT]","12",12,false],[false,"Printer\'s point (typography)","[pnt_pr]","[PNT_PR]","length",0.00035145980000000004,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"pnt pr","UCUM","Len","Nonclinical","typography unit for typesetter\'s length","[in_i]","[IN_I]","0.013837",0.013837,false],[false,"Printer\'s pica (typography)","[pca_pr]","[PCA_PR]","length",0.004217517600000001,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"pca pr; Printer\'s picas","UCUM","Len","Nonclinical","typography unit for typesetter\'s length","[pnt_pr]","[PNT_PR]","12",12,false],[false,"pied","[pied]","[PIED]","length",0.3248,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"pieds du roi; Paris foot; royal; French; feet","UCUM","Len","Obsolete","","cm","CM","32.48",32.48,false],[false,"pouce","[pouce]","[POUCE]","length",0.027066666666666666,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"historical French inches; French royal inches","UCUM","Len","Obsolete","","[pied]/12","[PIED]/12","1",1,false],[false,"ligne","[ligne]","[LIGNE]","length",0.0022555555555555554,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"Paris lines; lignes","UCUM","Len","Obsolete","","[pouce]/12","[POUCE]/12","1",1,false],[false,"didot","[didot]","[DIDOT]","length",0.0003759259259259259,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"Didot point; dd; Didots Point; didots; points","UCUM","Len","Obsolete","typography unit for typesetter\'s length","[ligne]/6","[LIGNE]/6","1",1,false],[false,"cicero","[cicero]","[CICERO]","length",0.004511111111111111,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"Didot\'s pica; ciceros; picas","UCUM","Len","Obsolete","typography unit for typesetter\'s length","[didot]","[DIDOT]","12",12,false],[false,"degrees Fahrenheit","[degF]","[DEGF]","temperature",0.5555555555555556,[0,0,0,0,1,0,0],"°F","heat",false,null,"degF",1,true,false,0,"°F; deg F","UCUM","Temp","Clinical","","K",null,null,0.5555555555555556,false],[false,"degrees Rankine","[degR]","[degR]","temperature",0.5555555555555556,[0,0,0,0,1,0,0],"°R","heat",false,null,null,1,false,false,0,"°R; °Ra; Rankine","UCUM","Temp","Obsolete","Replaced by Kelvin","K/9","K/9","5",5,false],[false,"degrees Réaumur","[degRe]","[degRe]","temperature",1.25,[0,0,0,0,1,0,0],"°Ré","heat",false,null,"degRe",1,true,false,0,"°Ré, °Re, °r; Réaumur; degree Reaumur; Reaumur","UCUM","Temp","Obsolete","replaced by Celsius","K",null,null,1.25,false],[false,"calorie at 15°C","cal_[15]","CAL_[15]","energy",4185.8,[2,-2,1,0,0,0,0],"cal15°C","heat",true,null,null,1,false,false,0,"calorie 15 C; cals 15 C; calories at 15 C","UCUM","Enrg","Nonclinical","equal to 4.1855 joules; calorie most often used in engineering","J","J","4.18580",4.1858,false],[false,"calorie at 20°C","cal_[20]","CAL_[20]","energy",4181.9,[2,-2,1,0,0,0,0],"cal20°C","heat",true,null,null,1,false,false,0,"calorie 20 C; cal 20 C; calories at 20 C","UCUM","Enrg","Clinical","equal to 4.18190 joules. ","J","J","4.18190",4.1819,false],[false,"mean calorie","cal_m","CAL_M","energy",4190.0199999999995,[2,-2,1,0,0,0,0],"calm","heat",true,null,null,1,false,false,0,"mean cals; mean calories","UCUM","Enrg","Clinical","equal to 4.19002 joules. ","J","J","4.19002",4.19002,false],[false,"international table calorie","cal_IT","CAL_IT","energy",4186.8,[2,-2,1,0,0,0,0],"calIT","heat",true,null,null,1,false,false,0,"calories IT; IT cals; international steam table calories","UCUM","Enrg","Nonclinical","used in engineering steam tables and defined as 1/860 international watt-hour; equal to 4.1868 joules","J","J","4.1868",4.1868,false],[false,"thermochemical calorie","cal_th","CAL_TH","energy",4184,[2,-2,1,0,0,0,0],"calth","heat",true,null,null,1,false,false,0,"thermochemical calories; th cals","UCUM","Enrg","Clinical","equal to 4.184 joules; used as the unit in medicine and biochemistry (equal to cal)","J","J","4.184",4.184,false],[false,"calorie","cal","CAL","energy",4184,[2,-2,1,0,0,0,0],"cal","heat",true,null,null,1,false,false,0,"gram calories; small calories","UCUM","Enrg","Clinical","equal to 4.184 joules (the same value as the thermochemical calorie, which is the most common calorie used in medicine and biochemistry)","cal_th","CAL_TH","1",1,false],[false,"nutrition label Calories","[Cal]","[CAL]","energy",4184000,[2,-2,1,0,0,0,0],"Cal","heat",false,null,null,1,false,false,0,"food calories; Cal; kcal","UCUM","Eng","Clinical","","kcal_th","KCAL_TH","1",1,false],[false,"British thermal unit at 39°F","[Btu_39]","[BTU_39]","energy",1059670,[2,-2,1,0,0,0,0],"Btu39°F","heat",false,null,null,1,false,false,0,"BTU 39F; BTU 39 F; B.T.U. 39 F; B.Th.U. 39 F; BThU 39 F; British thermal units","UCUM","Eng","Nonclinical","equal to 1.05967 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.05967",1.05967,false],[false,"British thermal unit at 59°F","[Btu_59]","[BTU_59]","energy",1054800,[2,-2,1,0,0,0,0],"Btu59°F","heat",false,null,null,1,false,false,0,"BTU 59 F; BTU 59F; B.T.U. 59 F; B.Th.U. 59 F; BThU 59F; British thermal units","UCUM","Eng","Nonclinical","equal to 1.05480 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.05480",1.0548,false],[false,"British thermal unit at 60°F","[Btu_60]","[BTU_60]","energy",1054680,[2,-2,1,0,0,0,0],"Btu60°F","heat",false,null,null,1,false,false,0,"BTU 60 F; BTU 60F; B.T.U. 60 F; B.Th.U. 60 F; BThU 60 F; British thermal units 60 F","UCUM","Eng","Nonclinical","equal to 1.05468 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.05468",1.05468,false],[false,"mean British thermal unit","[Btu_m]","[BTU_M]","energy",1055870,[2,-2,1,0,0,0,0],"Btum","heat",false,null,null,1,false,false,0,"BTU mean; B.T.U. mean; B.Th.U. mean; BThU mean; British thermal units mean; ","UCUM","Eng","Nonclinical","equal to 1.05587 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.05587",1.05587,false],[false,"international table British thermal unit","[Btu_IT]","[BTU_IT]","energy",1055055.85262,[2,-2,1,0,0,0,0],"BtuIT","heat",false,null,null,1,false,false,0,"BTU IT; B.T.U. IT; B.Th.U. IT; BThU IT; British thermal units IT","UCUM","Eng","Nonclinical","equal to 1.055 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.05505585262",1.05505585262,false],[false,"thermochemical British thermal unit","[Btu_th]","[BTU_TH]","energy",1054350,[2,-2,1,0,0,0,0],"Btuth","heat",false,null,null,1,false,false,0,"BTU Th; B.T.U. Th; B.Th.U. Th; BThU Th; thermochemical British thermal units","UCUM","Eng","Nonclinical","equal to 1.054350 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.054350",1.05435,false],[false,"British thermal unit","[Btu]","[BTU]","energy",1054350,[2,-2,1,0,0,0,0],"btu","heat",false,null,null,1,false,false,0,"BTU; B.T.U. ; B.Th.U.; BThU; British thermal units","UCUM","Eng","Nonclinical","equal to the thermochemical British thermal unit equal to 1.054350 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","[Btu_th]","[BTU_TH]","1",1,false],[false,"horsepower - mechanical","[HP]","[HP]","power",745699.8715822703,[2,-3,1,0,0,0,0],null,"heat",false,null,null,1,false,false,0,"imperial horsepowers","UCUM","EngRat","Nonclinical","refers to mechanical horsepower, which is unit used to measure engine power primarily in the US. ","[ft_i].[lbf_av]/s","[FT_I].[LBF_AV]/S","550",550,false],[false,"tex","tex","TEX","linear mass density (of textile thread)",0.001,[-1,0,1,0,0,0,0],"tex","heat",true,null,null,1,false,false,0,"linear mass density; texes","UCUM","","Clinical","unit of linear mass density for fibers equal to gram per 1000 meters","g/km","G/KM","1",1,false],[false,"Denier (linear mass density)","[den]","[DEN]","linear mass density (of textile thread)",0.0001111111111111111,[-1,0,1,0,0,0,0],"den","heat",false,null,null,1,false,false,0,"den; deniers","UCUM","","Nonclinical","equal to the mass in grams per 9000 meters of the fiber (1 denier = 1 strand of silk)","g/9/km","G/9/KM","1",1,false],[false,"meter of water column","m[H2O]","M[H2O]","pressure",9806650,[-1,-2,1,0,0,0,0],"m HO2","clinical",true,null,null,1,false,false,0,"mH2O; m H2O; meters of water column; metres; pressure","UCUM","Pres","Clinical","","kPa","KPAL","980665e-5",9.80665,false],[false,"meter of mercury column","m[Hg]","M[HG]","pressure",133322000,[-1,-2,1,0,0,0,0],"m Hg","clinical",true,null,null,1,false,false,0,"mHg; m Hg; meters of mercury column; metres; pressure","UCUM","Pres","Clinical","","kPa","KPAL","133.3220",133.322,false],[false,"inch of water column","[in_i\'H2O]","[IN_I\'H2O]","pressure",249088.91000000003,[-1,-2,1,0,0,0,0],"in HO2","clinical",false,null,null,1,false,false,0,"inches WC; inAq; in H2O; inch of water gauge; iwg; pressure","UCUM","Pres","Clinical","unit of pressure, especially in respiratory and ventilation care","m[H2O].[in_i]/m","M[H2O].[IN_I]/M","1",1,false],[false,"inch of mercury column","[in_i\'Hg]","[IN_I\'HG]","pressure",3386378.8000000003,[-1,-2,1,0,0,0,0],"in Hg","clinical",false,null,null,1,false,false,0,"inHg; in Hg; pressure; inches","UCUM","Pres","Clinical","unit of pressure used in US to measure barometric pressure and occasionally blood pressure (see mm[Hg] for unit used internationally)","m[Hg].[in_i]/m","M[HG].[IN_I]/M","1",1,false],[false,"peripheral vascular resistance unit","[PRU]","[PRU]","fluid resistance",133322000000,[-4,-1,1,0,0,0,0],"P.R.U.","clinical",false,null,null,1,false,false,0,"peripheral vascular resistance units; peripheral resistance unit; peripheral resistance units; PRU","UCUM","FldResist","Clinical","used to assess blood flow in the capillaries; equal to 1 mmH.min/mL = 133.3 Pa·min/mL","mm[Hg].s/ml","MM[HG].S/ML","1",1,false],[false,"Wood unit","[wood\'U]","[WOOD\'U]","fluid resistance",7999320000,[-4,-1,1,0,0,0,0],"Wood U.","clinical",false,null,null,1,false,false,0,"hybrid reference units; HRU; mmHg.min/L; vascular resistance","UCUM","Pres","Clinical","simplified unit of measurement for for measuring pulmonary vascular resistance that uses pressure; equal to mmHg.min/L","mm[Hg].min/L","MM[HG].MIN/L","1",1,false],[false,"diopter (lens)","[diop]","[DIOP]","refraction of a lens",1,[1,0,0,0,0,0,0],"dpt","clinical",false,null,"inv",1,false,false,0,"diopters; diop; dioptre; dpt; refractive power","UCUM","InvLen","Clinical","unit of optical power of lens represented by inverse meters (m^-1)","m","/M","1",1,false],[false,"prism diopter (magnifying power)","[p\'diop]","[P\'DIOP]","refraction of a prism",1,[0,0,0,1,0,0,0],"PD","clinical",false,null,"tanTimes100",1,true,false,0,"diopters; dioptres; p diops; pdiop; dpt; pdptr; Δ; cm/m; centimeter per meter; centimetre; metre","UCUM","Angle","Clinical","unit for prism correction in eyeglass prescriptions","rad",null,null,1,false],[false,"percent of slope","%[slope]","%[SLOPE]","slope",0.017453292519943295,[0,0,0,1,0,0,0],"%","clinical",false,null,"100tan",1,true,false,0,"% slope; %slope; percents slopes","UCUM","VelFr; ElpotRatFr; VelRtoFr; AccelFr","Clinical","","deg",null,null,1,false],[false,"mesh","[mesh_i]","[MESH_I]","lineic number",0.025400000000000002,[1,0,0,0,0,0,0],null,"clinical",false,null,"inv",1,false,false,0,"meshes","UCUM","NLen (lineic number)","Clinical","traditional unit of length defined as the number of strands or particles per inch","[in_i]","/[IN_I]","1",1,false],[false,"French (catheter gauge) ","[Ch]","[CH]","gauge of catheters",0.0003333333333333333,[1,0,0,0,0,0,0],"Ch","clinical",false,null,null,1,false,false,0,"Charrières, French scales; French gauges; Fr, Fg, Ga, FR, Ch","UCUM","Len; Circ; Diam","Clinical","","mm/3","MM/3","1",1,false],[false,"drop - metric (1/20 mL)","[drp]","[DRP]","volume",5e-8,[3,0,0,0,0,0,0],"drp","clinical",false,null,null,1,false,false,0,"drop dosing units; metric drops; gtt","UCUM","Vol","Clinical","standard unit used in the US and internationally for clinical medicine but note that although [drp] is defined as 1/20 milliliter, in practice, drop sizes will vary due to external factors","ml/20","ML/20","1",1,false],[false,"Hounsfield unit","[hnsf\'U]","[HNSF\'U]","x-ray attenuation",1,[0,0,0,0,0,0,0],"HF","clinical",false,null,null,1,false,false,0,"HU; units","UCUM","","Clinical","used to measure X-ray attenuation, especially in CT scans.","1","1","1",1,false],[false,"Metabolic Equivalent of Task ","[MET]","[MET]","metabolic cost of physical activity",5.833333333333334e-11,[3,-1,-1,0,0,0,0],"MET","clinical",false,null,null,1,false,false,0,"metabolic equivalents","UCUM","RelEngRat","Clinical","unit used to measure rate of energy expenditure per power in treadmill and other functional tests","mL/min/kg","ML/MIN/KG","3.5",3.5,false],[false,"homeopathic potency of decimal series (retired)","[hp\'_X]","[HP\'_X]","homeopathic potency (retired)",1,[0,0,0,0,0,0,0],"X","clinical",false,null,"hpX",1,true,false,0,null,"UCUM",null,null,null,"1",null,null,1,false],[false,"homeopathic potency of centesimal series (retired)","[hp\'_C]","[HP\'_C]","homeopathic potency (retired)",1,[0,0,0,0,0,0,0],"C","clinical",false,null,"hpC",1,true,false,0,null,"UCUM",null,null,null,"1",null,null,1,false],[false,"homeopathic potency of millesimal series (retired)","[hp\'_M]","[HP\'_M]","homeopathic potency (retired)",1,[0,0,0,0,0,0,0],"M","clinical",false,null,"hpM",1,true,false,0,null,"UCUM",null,null,null,"1",null,null,1,false],[false,"homeopathic potency of quintamillesimal series (retired)","[hp\'_Q]","[HP\'_Q]","homeopathic potency (retired)",1,[0,0,0,0,0,0,0],"Q","clinical",false,null,"hpQ",1,true,false,0,null,"UCUM",null,null,null,"1",null,null,1,false],[false,"homeopathic potency of decimal hahnemannian series","[hp_X]","[HP_X]","homeopathic potency (Hahnemann)",1,[0,0,0,0,0,0,0],"X","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of centesimal hahnemannian series","[hp_C]","[HP_C]","homeopathic potency (Hahnemann)",1,[0,0,0,0,0,0,0],"C","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of millesimal hahnemannian series","[hp_M]","[HP_M]","homeopathic potency (Hahnemann)",1,[0,0,0,0,0,0,0],"M","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of quintamillesimal hahnemannian series","[hp_Q]","[HP_Q]","homeopathic potency (Hahnemann)",1,[0,0,0,0,0,0,0],"Q","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of decimal korsakovian series","[kp_X]","[KP_X]","homeopathic potency (Korsakov)",1,[0,0,0,0,0,0,0],"X","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of centesimal korsakovian series","[kp_C]","[KP_C]","homeopathic potency (Korsakov)",1,[0,0,0,0,0,0,0],"C","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of millesimal korsakovian series","[kp_M]","[KP_M]","homeopathic potency (Korsakov)",1,[0,0,0,0,0,0,0],"M","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of quintamillesimal korsakovian series","[kp_Q]","[KP_Q]","homeopathic potency (Korsakov)",1,[0,0,0,0,0,0,0],"Q","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"equivalent","eq","EQ","amount of substance",6.0221367e+23,[0,0,0,0,0,0,0],"eq","chemical",true,null,null,1,false,false,1,"equivalents","UCUM","Sub","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"osmole","osm","OSM","amount of substance (dissolved particles)",6.0221367e+23,[0,0,0,0,0,0,0],"osm","chemical",true,null,null,1,false,false,1,"osmoles; osmols","UCUM","Osmol","Clinical","the number of moles of solute that contribute to the osmotic pressure of a solution","mol","MOL","1",1,false],[false,"pH","[pH]","[PH]","acidity",6.0221366999999994e+26,[-3,0,0,0,0,0,0],"pH","chemical",false,null,"pH",1,true,false,0,"pH scale","UCUM","LogCnc","Clinical","Log concentration of H+","mol/l",null,null,1,false],[false,"gram percent","g%","G%","mass concentration",10000,[-3,0,1,0,0,0,0],"g%","chemical",true,null,null,1,false,false,0,"gram %; gram%; grams per deciliter; g/dL; gm per dL; gram percents","UCUM","MCnc","Clinical","equivalent to unit gram per deciliter (g/dL), a unit often used in medical tests to represent solution concentrations","g/dl","G/DL","1",1,false],[false,"Svedberg unit","[S]","[S]","sedimentation coefficient",1e-13,[0,1,0,0,0,0,0],"S","chemical",false,null,null,1,false,false,0,"Sv; 10^-13 seconds; 100 fs; 100 femtoseconds","UCUM","Time","Clinical","unit of time used in measuring particle\'s sedimentation rate, usually after centrifugation. ","s","10*-13.S","1",1e-13,false],[false,"high power field (microscope)","[HPF]","[HPF]","view area in microscope",1,[0,0,0,0,0,0,0],"HPF","chemical",false,null,null,1,false,false,0,"HPF","UCUM","Area","Clinical","area visible under the maximum magnification power of the objective in microscopy (usually 400x)\\n","1","1","1",1,false],[false,"low power field (microscope)","[LPF]","[LPF]","view area in microscope",1,[0,0,0,0,0,0,0],"LPF","chemical",false,null,null,1,false,false,0,"LPF; fields","UCUM","Area","Clinical","area visible under the low magnification of the objective in microscopy (usually 100 x)\\n","1","1","100",100,false],[false,"katal","kat","KAT","catalytic activity",6.0221367e+23,[0,-1,0,0,0,0,0],"kat","chemical",true,null,null,1,false,false,1,"mol/secs; moles per second; mol*sec-1; mol*s-1; mol.s-1; katals; catalytic activity; enzymatic; enzyme units; activities","UCUM","CAct","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"enzyme unit","U","U","catalytic activity",10036894500000000,[0,-1,0,0,0,0,0],"U","chemical",true,null,null,1,false,false,1,"micromoles per minute; umol/min; umol per minute; umol min-1; enzymatic activity; enzyme activity","UCUM","CAct","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"international unit - arbitrary","[iU]","[IU]","arbitrary",1,[0,0,0,0,0,0,0],"IU","chemical",true,null,null,1,false,true,0,"international units; IE; F2","UCUM","Arb","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","1","1","1",1,false],[false,"international unit - arbitrary","[IU]","[IU]","arbitrary",1,[0,0,0,0,0,0,0],"i.U.","chemical",true,null,null,1,false,true,0,"international units; IE; F2","UCUM","Arb","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"arbitary unit","[arb\'U]","[ARB\'U]","arbitrary",1,[0,0,0,0,0,0,0],"arb. U","chemical",false,null,null,1,false,true,0,"arbitary units; arb units; arbU","UCUM","Arb","Clinical","relative unit of measurement to show the ratio of test measurement to reference measurement","1","1","1",1,false],[false,"United States Pharmacopeia unit","[USP\'U]","[USP\'U]","arbitrary",1,[0,0,0,0,0,0,0],"U.S.P.","chemical",false,null,null,1,false,true,0,"USP U; USP\'U","UCUM","Arb","Clinical","a dose unit to express potency of drugs and vitamins defined by the United States Pharmacopoeia; usually 1 USP = 1 IU","1","1","1",1,false],[false,"GPL unit","[GPL\'U]","[GPL\'U]","biologic activity of anticardiolipin IgG",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"GPL Units; GPL U; IgG anticardiolipin units; IgG Phospholipid","UCUM","ACnc; AMass","Clinical","Units for an antiphospholipid test","1","1","1",1,false],[false,"MPL unit","[MPL\'U]","[MPL\'U]","biologic activity of anticardiolipin IgM",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"MPL units; MPL U; MPL\'U; IgM anticardiolipin units; IgM Phospholipid Units ","UCUM","ACnc","Clinical","units for antiphospholipid test","1","1","1",1,false],[false,"APL unit","[APL\'U]","[APL\'U]","biologic activity of anticardiolipin IgA",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"APL units; APL U; IgA anticardiolipin; IgA Phospholipid; biologic activity of","UCUM","AMass; ACnc","Clinical","Units for an anti phospholipid syndrome test","1","1","1",1,false],[false,"Bethesda unit","[beth\'U]","[BETH\'U]","biologic activity of factor VIII inhibitor",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"BU","UCUM","ACnc","Clinical","measures of blood coagulation inhibitior for many blood factors","1","1","1",1,false],[false,"anti factor Xa unit","[anti\'Xa\'U]","[ANTI\'XA\'U]","biologic activity of factor Xa inhibitor (heparin)",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"units","UCUM","ACnc","Clinical","[anti\'Xa\'U] unit is equivalent to and can be converted to IU/mL. ","1","1","1",1,false],[false,"Todd unit","[todd\'U]","[TODD\'U]","biologic activity antistreptolysin O",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"units","UCUM","InvThres; RtoThres","Clinical","the unit for the results of the testing for antistreptolysin O (ASO)","1","1","1",1,false],[false,"Dye unit","[dye\'U]","[DYE\'U]","biologic activity of amylase",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"units","UCUM","CCnc","Obsolete","equivalent to the Somogyi unit, which is an enzyme unit for amylase but better to use U, the standard enzyme unit for measuring catalytic activity","1","1","1",1,false],[false,"Somogyi unit","[smgy\'U]","[SMGY\'U]","biologic activity of amylase",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"Somogyi units; smgy U","UCUM","CAct","Clinical","measures the enzymatic activity of amylase in blood serum - better to use base units mg/mL ","1","1","1",1,false],[false,"Bodansky unit","[bdsk\'U]","[BDSK\'U]","biologic activity of phosphatase",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"","UCUM","ACnc","Obsolete","Enzyme unit specific to alkaline phosphatase - better to use standard enzyme unit of U","1","1","1",1,false],[false,"King-Armstrong unit","[ka\'U]","[KA\'U]","biologic activity of phosphatase",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"King-Armstrong Units; King units","UCUM","AMass","Obsolete","enzyme units for acid phosphatase - better to use enzyme unit [U]","1","1","1",1,false],[false,"Kunkel unit","[knk\'U]","[KNK\'U]","arbitrary biologic activity",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"Mac Lagan unit","[mclg\'U]","[MCLG\'U]","arbitrary biologic activity",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"galactose index; galactose tolerance test; thymol turbidity test unit; mclg U; units; indexes","UCUM","ACnc","Obsolete","unit for liver tests - previously used in thymol turbidity tests for liver disease diagnoses, and now is sometimes referred to in the oral galactose tolerance test","1","1","1",1,false],[false,"tuberculin unit","[tb\'U]","[TB\'U]","biologic activity of tuberculin",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"TU; units","UCUM","Arb","Clinical","amount of tuberculin antigen -usually in reference to a TB skin test ","1","1","1",1,false],[false,"50% cell culture infectious dose","[CCID_50]","[CCID_50]","biologic activity (infectivity) of an infectious agent preparation",1,[0,0,0,0,0,0,0],"CCID50","chemical",false,null,null,1,false,true,0,"CCID50; 50% cell culture infective doses","UCUM","NumThres","Clinical","","1","1","1",1,false],[false,"50% tissue culture infectious dose","[TCID_50]","[TCID_50]","biologic activity (infectivity) of an infectious agent preparation",1,[0,0,0,0,0,0,0],"TCID50","chemical",false,null,null,1,false,true,0,"TCID50; 50% tissue culture infective dose","UCUM","NumThres","Clinical","","1","1","1",1,false],[false,"50% embryo infectious dose","[EID_50]","[EID_50]","biologic activity (infectivity) of an infectious agent preparation",1,[0,0,0,0,0,0,0],"EID50","chemical",false,null,null,1,false,true,0,"EID50; 50% embryo infective doses; EID50 Egg Infective Dosage","UCUM","thresNum","Clinical","","1","1","1",1,false],[false,"plaque forming units","[PFU]","[PFU]","amount of an infectious agent",1,[0,0,0,0,0,0,0],"PFU","chemical",false,null,null,1,false,true,0,"PFU","UCUM","ACnc","Clinical","tests usually report unit as number of PFU per unit volume","1","1","1",1,false],[false,"focus forming units (cells)","[FFU]","[FFU]","amount of an infectious agent",1,[0,0,0,0,0,0,0],"FFU","chemical",false,null,null,1,false,true,0,"FFU","UCUM","EntNum","Clinical","","1","1","1",1,false],[false,"colony forming units","[CFU]","[CFU]","amount of a proliferating organism",1,[0,0,0,0,0,0,0],"CFU","chemical",false,null,null,1,false,true,0,"CFU","UCUM","Num","Clinical","","1","1","1",1,false],[false,"index of reactivity (allergen)","[IR]","[IR]","amount of an allergen callibrated through in-vivo testing using the Stallergenes® method.",1,[0,0,0,0,0,0,0],"IR","chemical",false,null,null,1,false,true,0,"IR; indexes","UCUM","Acnc","Clinical","amount of an allergen callibrated through in-vivo testing using the Stallergenes method. Usually reported in tests as IR/mL","1","1","1",1,false],[false,"bioequivalent allergen unit","[BAU]","[BAU]","amount of an allergen callibrated through in-vivo testing based on the ID50EAL method of (intradermal dilution for 50mm sum of erythema diameters",1,[0,0,0,0,0,0,0],"BAU","chemical",false,null,null,1,false,true,0,"BAU; Bioequivalent Allergy Units; bioequivalent allergen units","UCUM","Arb","Clinical","","1","1","1",1,false],[false,"allergy unit","[AU]","[AU]","procedure defined amount of an allergen using some reference standard",1,[0,0,0,0,0,0,0],"AU","chemical",false,null,null,1,false,true,0,"allergy units; allergen units; AU","UCUM","Arb","Clinical","Most standard test allergy units are reported as [IU] or as %. ","1","1","1",1,false],[false,"allergen unit for Ambrosia artemisiifolia","[Amb\'a\'1\'U]","[AMB\'A\'1\'U]","procedure defined amount of the major allergen of ragweed.",1,[0,0,0,0,0,0,0],"Amb a 1 U","chemical",false,null,null,1,false,true,0,"Amb a 1 unit; Antigen E; AgE U; allergen units","UCUM","Arb","Clinical","Amb a 1 is the major allergen in short ragweed, and can be converted Bioequivalent allergen units (BAU) where 350 Amb a 1 U/mL = 100,000 BAU/mL","1","1","1",1,false],[false,"protein nitrogen unit (allergen testing)","[PNU]","[PNU]","procedure defined amount of a protein substance",1,[0,0,0,0,0,0,0],"PNU","chemical",false,null,null,1,false,true,0,"protein nitrogen units; PNU","UCUM","Mass","Clinical","defined as 0.01 ug of phosphotungstic acid-precipitable protein nitrogen. Being replaced by bioequivalent allergy units (BAU).","1","1","1",1,false],[false,"Limit of flocculation","[Lf]","[LF]","procedure defined amount of an antigen substance",1,[0,0,0,0,0,0,0],"Lf","chemical",false,null,null,1,false,true,0,"Lf doses","UCUM","Arb","Clinical","the antigen content forming 1:1 ratio against 1 unit of antitoxin","1","1","1",1,false],[false,"D-antigen unit (polio)","[D\'ag\'U]","[D\'AG\'U]","procedure defined amount of a poliomyelitis d-antigen substance",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"DAgU; units","UCUM","Acnc","Clinical","unit of potency of poliovirus vaccine used for poliomyelitis prevention reported as D antigen units/mL. The unit is poliovirus type-specific.","1","1","1",1,false],[false,"fibrinogen equivalent units","[FEU]","[FEU]","amount of fibrinogen broken down into the measured d-dimers",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"FEU","UCUM","MCnc","Clinical","Note both the FEU and DDU units are used to report D-dimer measurements. 1 DDU = 1/2 FFU","1","1","1",1,false],[false,"ELISA unit","[ELU]","[ELU]","arbitrary ELISA unit",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"Enzyme-Linked Immunosorbent Assay Units; ELU; EL. U","UCUM","ACnc","Clinical","","1","1","1",1,false],[false,"Ehrlich units (urobilinogen)","[EU]","[EU]","Ehrlich unit",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"EU/dL; mg{urobilinogen}/dL","UCUM","ACnc","Clinical","","1","1","1",1,false],[false,"neper","Np","NEP","level",1,[0,0,0,0,0,0,0],"Np","levels",true,null,"ln",1,true,false,0,"nepers","UCUM","LogRto","Clinical","logarithmic unit for ratios of measurements of physical field and power quantities, such as gain and loss of electronic signals","1",null,null,1,false],[false,"bel","B","B","level",1,[0,0,0,0,0,0,0],"B","levels",true,null,"lg",1,true,false,0,"bels","UCUM","LogRto","Clinical","Logarithm of the ratio of power- or field-type quantities; usually expressed in decibels ","1",null,null,1,false],[false,"bel sound pressure","B[SPL]","B[SPL]","pressure level",0.02,[-1,-2,1,0,0,0,0],"B(SPL)","levels",true,null,"lgTimes2",1,true,false,0,"bel SPL; B SPL; sound pressure bels","UCUM","LogRto","Clinical","used to measure sound level in acoustics","Pa",null,null,0.00002,false],[false,"bel volt","B[V]","B[V]","electric potential level",1000,[2,-2,1,0,0,-1,0],"B(V)","levels",true,null,"lgTimes2",1,true,false,0,"bel V; B V; volts bels","UCUM","LogRtoElp","Clinical","used to express power gain in electrical circuits","V",null,null,1,false],[false,"bel millivolt","B[mV]","B[MV]","electric potential level",1,[2,-2,1,0,0,-1,0],"B(mV)","levels",true,null,"lgTimes2",1,true,false,0,"bel mV; B mV; millivolt bels; 10^-3V bels; 10*-3V ","UCUM","LogRtoElp","Clinical","used to express power gain in electrical circuits","mV",null,null,1,false],[false,"bel microvolt","B[uV]","B[UV]","electric potential level",0.001,[2,-2,1,0,0,-1,0],"B(μV)","levels",true,null,"lgTimes2",1,true,false,0,"bel uV; B uV; microvolts bels; 10^-6V bel; 10*-6V bel","UCUM","LogRto","Clinical","used to express power gain in electrical circuits","uV",null,null,1,false],[false,"bel 10 nanovolt","B[10.nV]","B[10.NV]","electric potential level",0.000010000000000000003,[2,-2,1,0,0,-1,0],"B(10 nV)","levels",true,null,"lgTimes2",1,true,false,0,"bel 10 nV; B 10 nV; 10 nanovolts bels","UCUM","LogRtoElp","Clinical","used to express power gain in electrical circuits","nV",null,null,10,false],[false,"bel watt","B[W]","B[W]","power level",1000,[2,-3,1,0,0,0,0],"B(W)","levels",true,null,"lg",1,true,false,0,"bel W; b W; b Watt; Watts bels","UCUM","LogRto","Clinical","used to express power","W",null,null,1,false],[false,"bel kilowatt","B[kW]","B[KW]","power level",1000000,[2,-3,1,0,0,0,0],"B(kW)","levels",true,null,"lg",1,true,false,0,"bel kW; B kW; kilowatt bel; kW bel; kW B","UCUM","LogRto","Clinical","used to express power","kW",null,null,1,false],[false,"stere","st","STR","volume",1,[3,0,0,0,0,0,0],"st","misc",true,null,null,1,false,false,0,"stère; m3; cubic meter; m^3; meters cubed; metre","UCUM","Vol","Nonclinical","equal to one cubic meter, usually used for measuring firewoord","m3","M3","1",1,false],[false,"Ångström","Ao","AO","length",1.0000000000000002e-10,[1,0,0,0,0,0,0],"Å","misc",false,null,null,1,false,false,0,"Å; Angstroms; Ao; Ångströms","UCUM","Len","Clinical","equal to 10^-10 meters; used to express wave lengths and atom scaled differences ","nm","NM","0.1",0.1,false],[false,"barn","b","BRN","action area",9.999999999999999e-29,[2,0,0,0,0,0,0],"b","misc",false,null,null,1,false,false,0,"barns","UCUM","Area","Clinical","used in high-energy physics to express cross-sectional areas","fm2","FM2","100",100,false],[false,"technical atmosphere","att","ATT","pressure",98066499.99999999,[-1,-2,1,0,0,0,0],"at","misc",false,null,null,1,false,false,0,"at; tech atm; tech atmosphere; kgf/cm2; atms; atmospheres","UCUM","Pres","Obsolete","non-SI unit of pressure equal to one kilogram-force per square centimeter","kgf/cm2","KGF/CM2","1",1,false],[false,"mho","mho","MHO","electric conductance",0.001,[-2,1,-1,0,0,2,0],"mho","misc",true,null,null,1,false,false,0,"siemens; ohm reciprocals; Ω^−1; Ω-1 ","UCUM","","Obsolete","unit of electric conductance (the inverse of electrical resistance) equal to ohm^-1","S","S","1",1,false],[false,"pound per square inch","[psi]","[PSI]","pressure",6894757.293168359,[-1,-2,1,0,0,0,0],"psi","misc",false,null,null,1,false,false,0,"psi; lb/in2; lb per in2","UCUM","Pres","Clinical","","[lbf_av]/[in_i]2","[LBF_AV]/[IN_I]2","1",1,false],[false,"circle - plane angle","circ","CIRC","plane angle",6.283185307179586,[0,0,0,1,0,0,0],"circ","misc",false,null,null,1,false,false,0,"angles; circles","UCUM","Angle","Clinical","","[pi].rad","[PI].RAD","2",2,false],[false,"spere - solid angle","sph","SPH","solid angle",12.566370614359172,[0,0,0,2,0,0,0],"sph","misc",false,null,null,1,false,false,0,"speres","UCUM","Angle","Clinical","equal to the solid angle of an entire sphere = 4πsr (sr = steradian) ","[pi].sr","[PI].SR","4",4,false],[false,"metric carat","[car_m]","[CAR_M]","mass",0.2,[0,0,1,0,0,0,0],"ctm","misc",false,null,null,1,false,false,0,"carats; ct; car m","UCUM","Mass","Nonclinical","unit of mass for gemstones","g","G","2e-1",0.2,false],[false,"carat of gold alloys","[car_Au]","[CAR_AU]","mass fraction",0.041666666666666664,[0,0,0,0,0,0,0],"ctAu","misc",false,null,null,1,false,false,0,"karats; k; kt; car au; carats","UCUM","MFr","Nonclinical","unit of purity for gold alloys","/24","/24","1",1,false],[false,"Smoot","[smoot]","[SMOOT]","length",1.7018000000000002,[1,0,0,0,0,0,0],null,"misc",false,null,null,1,false,false,0,"","UCUM","Len","Nonclinical","prank unit of length from MIT","[in_i]","[IN_I]","67",67,false],[false,"meter per square seconds per square root of hertz","[m/s2/Hz^(1/2)]","[M/S2/HZ^(1/2)]","amplitude spectral density",1,[2,-3,0,0,0,0,0],null,"misc",false,null,"sqrt",1,true,false,0,"m/s2/(Hz^.5); m/s2/(Hz^(1/2)); m per s2 per Hz^1/2","UCUM","","Constant","measures amplitude spectral density, and is equal to the square root of power spectral density\\n ","m2/s4/Hz",null,null,1,false],[false,"bit - logarithmic","bit_s","BIT_S","amount of information",1,[0,0,0,0,0,0,0],"bits","infotech",false,null,"ld",1,true,false,0,"bit-s; bit s; bit logarithmic","UCUM","LogA","Nonclinical","defined as the log base 2 of the number of distinct signals; cannot practically be used to express more than 1000 bits\\n\\nIn information theory, the definition of the amount of self-information and information entropy is often expressed with the binary logarithm (log base 2)","1",null,null,1,false],[false,"bit","bit","BIT","amount of information",1,[0,0,0,0,0,0,0],"bit","infotech",true,null,null,1,false,false,0,"bits","UCUM","","Nonclinical","dimensionless information unit of 1 used in computing and digital communications","1","1","1",1,false],[false,"byte","By","BY","amount of information",8,[0,0,0,0,0,0,0],"B","infotech",true,null,null,1,false,false,0,"bytes","UCUM","","Nonclinical","equal to 8 bits","bit","bit","8",8,false],[false,"baud","Bd","BD","signal transmission rate",1,[0,1,0,0,0,0,0],"Bd","infotech",true,null,"inv",1,false,false,0,"Bd; bauds","UCUM","Freq","Nonclinical","unit to express rate in symbols per second or pulses per second. ","s","/s","1",1,false],[false,"per twelve hour","/(12.h)","/HR","",0.000023148148148148147,[0,-1,0,0,0,0,0],"/h",null,false,null,null,1,false,false,0,"per 12 hours; 12hrs; 12 hrs; /12hrs","LOINC","Rat","Clinical","",null,null,null,null,false],[false,"per arbitrary unit","/[arb\'U]","/[ARB\'U]","",1,[0,0,0,0,0,0,0],"/arb/ U",null,false,null,null,1,false,true,0,"/arbU","LOINC","InvA ","Clinical","",null,null,null,null,false],[false,"per high power field","/[HPF]","/[HPF]","",1,[0,0,0,0,0,0,0],"/HPF",null,false,null,null,1,false,false,0,"/HPF; per HPF","LOINC","Naric","Clinical","",null,null,null,null,false],[false,"per international unit","/[IU]","/[IU]","",1,[0,0,0,0,0,0,0],"/i/U.",null,false,null,null,1,false,true,0,"international units; /IU; per IU","LOINC","InvA","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)",null,null,null,null,false],[false,"per low power field","/[LPF]","/[LPF]","",1,[0,0,0,0,0,0,0],"/LPF",null,false,null,null,1,false,false,0,"/LPF; per LPF","LOINC","Naric","Clinical","",null,null,null,null,false],[false,"per 10 billion ","/10*10","/10*10","",1e-10,[0,0,0,0,0,0,0],"/1010<.sup>",null,false,null,null,1,false,false,0,"/10^10; per 10*10","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per trillion ","/10*12","/10*12","",1e-12,[0,0,0,0,0,0,0],"/1012<.sup>",null,false,null,null,1,false,false,0,"/10^12; per 10*12","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per thousand","/10*3","/10*3","",0.001,[0,0,0,0,0,0,0],"/103<.sup>",null,false,null,null,1,false,false,0,"/10^3; per 10*3","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per million","/10*6","/10*6","",0.000001,[0,0,0,0,0,0,0],"/106<.sup>",null,false,null,null,1,false,false,0,"/10^6; per 10*6;","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per billion","/10*9","/10*9","",1e-9,[0,0,0,0,0,0,0],"/109<.sup>",null,false,null,null,1,false,false,0,"/10^9; per 10*9","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per 100","/100","","",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"per hundred; 10^2; 10*2","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per 100 cells","/100{cells}","","",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"/100 cells; /100cells; per hundred","LOINC","EntMass; EntNum; NFr","Clinical","",null,null,null,null,false],[false,"per 100 neutrophils","/100{neutrophils}","","",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"/100 neutrophils; /100neutrophils; per hundred","LOINC","EntMass; EntNum; NFr","Clinical","",null,null,null,null,false],[false,"per 100 spermatozoa","/100{spermatozoa}","","",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"/100 spermatozoa; /100spermatozoa; per hundred","LOINC","NFr","Clinical","",null,null,null,null,false],[false,"per 100 white blood cells","/100{WBCs}","","",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"/100 WBCs; /100WBCs; per hundred","LOINC","Ratio; NFr","Clinical","",null,null,null,null,false],[false,"per year","/a","/ANN","",3.168808781402895e-8,[0,-1,0,0,0,0,0],"/a",null,false,null,null,1,false,false,0,"/Years; /yrs; yearly","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per centimeter of water","/cm[H2O]","/CM[H2O]","",0.000010197162129779282,[1,2,-1,0,0,0,0],"/cm HO2<.r>",null,false,null,null,1,false,false,0,"/cmH2O; /cm H2O; centimeters; centimetres","LOINC","InvPress","Clinical","",null,null,null,null,false],[false,"per day","/d","/D","",0.000011574074074074073,[0,-1,0,0,0,0,0],"/d",null,false,null,null,1,false,false,0,"/dy; per day","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per deciliter","/dL","/DL","",10000,[-3,0,0,0,0,0,0],"/dL",null,false,null,null,1,false,false,0,"per dL; /deciliter; decilitre","LOINC","NCnc","Clinical","",null,null,null,null,false],[false,"per gram","/g","/G","",1,[0,0,-1,0,0,0,0],"/g",null,false,null,null,1,false,false,0,"/gm; /gram; per g","LOINC","NCnt","Clinical","",null,null,null,null,false],[false,"per hour","/h","/HR","",0.0002777777777777778,[0,-1,0,0,0,0,0],"/h",null,false,null,null,1,false,false,0,"/hr; /hour; per hr","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per kilogram","/kg","/KG","",0.001,[0,0,-1,0,0,0,0],"/kg",null,false,null,null,1,false,false,0,"per kg; per kilogram","LOINC","NCnt","Clinical","",null,null,null,null,false],[false,"per liter","/L","/L","",1000,[-3,0,0,0,0,0,0],"/L",null,false,null,null,1,false,false,0,"/liter; litre","LOINC","NCnc","Clinical","",null,null,null,null,false],[false,"per square meter","/m2","/M2","",1,[-2,0,0,0,0,0,0],"/m2<.sup>",null,false,null,null,1,false,false,0,"/m^2; /m*2; /sq. m; per square meter; meter squared; metre","LOINC","Naric","Clinical","",null,null,null,null,false],[false,"per cubic meter","/m3","/M3","",1,[-3,0,0,0,0,0,0],"/m3<.sup>",null,false,null,null,1,false,false,0,"/m^3; /m*3; /cu. m; per cubic meter; meter cubed; per m3; metre","LOINC","NCncn","Clinical","",null,null,null,null,false],[false,"per milligram","/mg","/MG","",1000,[0,0,-1,0,0,0,0],"/mg",null,false,null,null,1,false,false,0,"/milligram; per mg","LOINC","NCnt","Clinical","",null,null,null,null,false],[false,"per minute","/min","/MIN","",0.016666666666666666,[0,-1,0,0,0,0,0],"/min",null,false,null,null,1,false,false,0,"/minute; per mins; breaths beats per minute","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per milliliter","/mL","/ML","",1000000,[-3,0,0,0,0,0,0],"/mL",null,false,null,null,1,false,false,0,"/milliliter; per mL; millilitre","LOINC","NCncn","Clinical","",null,null,null,null,false],[false,"per millimeter","/mm","/MM","",1000,[-1,0,0,0,0,0,0],"/mm",null,false,null,null,1,false,false,0,"/millimeter; per mm; millimetre","LOINC","InvLen","Clinical","",null,null,null,null,false],[false,"per month","/mo","/MO","",3.802570537683474e-7,[0,-1,0,0,0,0,0],"/mo",null,false,null,null,1,false,false,0,"/month; per mo; monthly; month","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per second","/s","/S","",1,[0,-1,0,0,0,0,0],"/s",null,false,null,null,1,false,false,0,"/second; /sec; per sec; frequency; Hertz; Herz; Hz; becquerels; Bq; s-1; s^-1","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per enzyme unit","/U","/U","",9.963241120049633e-17,[0,1,0,0,0,0,0],"/U",null,false,null,null,1,false,false,-1,"/enzyme units; per U","LOINC","InvC; NCat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)",null,null,null,null,false],[false,"per microliter","/uL","/UL","",999999999.9999999,[-3,0,0,0,0,0,0],"/μL",null,false,null,null,1,false,false,0,"/microliter; microlitre; /mcl; per uL","LOINC","ACnc","Clinical","",null,null,null,null,false],[false,"per week","/wk","/WK","",0.0000016534391534391535,[0,-1,0,0,0,0,0],"/wk",null,false,null,null,1,false,false,0,"/week; per wk; weekly, weeks","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"APL unit per milliliter","[APL\'U]/mL","[APL\'U]/ML","biologic activity of anticardiolipin IgA",1000000,[-3,0,0,0,0,0,0],"/mL","chemical",false,null,null,1,false,true,0,"APL/mL; APL\'U/mL; APL U/mL; APL/milliliter; IgA anticardiolipin units per milliliter; IgA Phospholipid Units; millilitre; biologic activity of","LOINC","ACnc","Clinical","Units for an anti phospholipid syndrome test","1","1","1",1,false],[false,"arbitrary unit per milliliter","[arb\'U]/mL","[ARB\'U]/ML","arbitrary",1000000,[-3,0,0,0,0,0,0],"(arb. U)/mL","chemical",false,null,null,1,false,true,0,"arb\'U/mL; arbU/mL; arb U/mL; arbitrary units per milliliter; millilitre","LOINC","ACnc","Clinical","relative unit of measurement to show the ratio of test measurement to reference measurement","1","1","1",1,false],[false,"colony forming units per liter","[CFU]/L","[CFU]/L","amount of a proliferating organism",1000,[-3,0,0,0,0,0,0],"CFU/L","chemical",false,null,null,1,false,true,0,"CFU per Liter; CFU/L","LOINC","NCnc","Clinical","","1","1","1",1,false],[false,"colony forming units per milliliter","[CFU]/mL","[CFU]/ML","amount of a proliferating organism",1000000,[-3,0,0,0,0,0,0],"CFU/mL","chemical",false,null,null,1,false,true,0,"CFU per mL; CFU/mL","LOINC","NCnc","Clinical","","1","1","1",1,false],[false,"foot per foot - US","[ft_us]/[ft_us]","[FT_US]/[FT_US]","length",1,[0,0,0,0,0,0,0],"(ftus)/(ftus)","us-lengths",false,null,null,1,false,false,0,"ft/ft; ft per ft; feet per feet; visual acuity","","LenRto","Clinical","distance ratio to measure 20:20 vision","m/3937","M/3937","1200",1200,false],[false,"GPL unit per milliliter","[GPL\'U]/mL","[GPL\'U]/ML","biologic activity of anticardiolipin IgG",1000000,[-3,0,0,0,0,0,0],"/mL","chemical",false,null,null,1,false,true,0,"GPL U/mL; GPL\'U/mL; GPL/mL; GPL U per mL; IgG Phospholipid Units per milliliters; IgG anticardiolipin units; millilitres ","LOINC","ACnc; AMass","Clinical","Units for an antiphospholipid test","1","1","1",1,false],[false,"international unit per 2 hour","[IU]/(2.h)","[IU]/HR","arbitrary",0.0001388888888888889,[0,-1,0,0,0,0,0],"(i.U.)/h","chemical",true,null,null,1,false,true,0,"IU/2hrs; IU/2 hours; IU per 2 hrs; international units per 2 hours","LOINC","ARat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per 24 hour","[IU]/(24.h)","[IU]/HR","arbitrary",0.000011574074074074073,[0,-1,0,0,0,0,0],"(i.U.)/h","chemical",true,null,null,1,false,true,0,"IU/24hr; IU/24 hours; IU per 24 hrs; international units per 24 hours","LOINC","ARat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per day","[IU]/d","[IU]/D","arbitrary",0.000011574074074074073,[0,-1,0,0,0,0,0],"(i.U.)/d","chemical",true,null,null,1,false,true,0,"IU/dy; IU/days; IU per dys; international units per day","LOINC","ARat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per deciliter","[IU]/dL","[IU]/DL","arbitrary",10000,[-3,0,0,0,0,0,0],"(i.U.)/dL","chemical",true,null,null,1,false,true,0,"IU/dL; IU per dL; international units per deciliters; decilitres","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per gram","[IU]/g","[IU]/G","arbitrary",1,[0,0,-1,0,0,0,0],"(i.U.)/g","chemical",true,null,null,1,false,true,0,"IU/gm; IU/gram; IU per gm; IU per g; international units per gram","LOINC","ACnt","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per hour","[IU]/h","[IU]/HR","arbitrary",0.0002777777777777778,[0,-1,0,0,0,0,0],"(i.U.)/h","chemical",true,null,null,1,false,true,0,"IU/hrs; IU per hours; international units per hour","LOINC","ARat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per kilogram","[IU]/kg","[IU]/KG","arbitrary",0.001,[0,0,-1,0,0,0,0],"(i.U.)/kg","chemical",true,null,null,1,false,true,0,"IU/kg; IU/kilogram; IU per kg; units","LOINC","ACnt","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per kilogram per day","[IU]/kg/d","[IU]/KG/D","arbitrary",1.1574074074074074e-8,[0,-1,-1,0,0,0,0],"(i.U.)/kg/d","chemical",true,null,null,1,false,true,0,"IU/kg/dy; IU/kg/day; IU/kilogram/day; IU per kg per day; units","LOINC","ACntRat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per liter","[IU]/L","[IU]/L","arbitrary",1000,[-3,0,0,0,0,0,0],"(i.U.)/L","chemical",true,null,null,1,false,true,0,"IU/L; IU/liter; IU per liter; units; litre","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per minute","[IU]/min","[IU]/MIN","arbitrary",0.016666666666666666,[0,-1,0,0,0,0,0],"(i.U.)/min","chemical",true,null,null,1,false,true,0,"IU/min; IU/minute; IU per minute; international units","LOINC","ARat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per milliliter","[IU]/mL","[IU]/ML","arbitrary",1000000,[-3,0,0,0,0,0,0],"(i.U.)/mL","chemical",true,null,null,1,false,true,0,"IU/mL; IU per mL; international units per milliliter; millilitre","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"MPL unit per milliliter","[MPL\'U]/mL","[MPL\'U]/ML","biologic activity of anticardiolipin IgM",1000000,[-3,0,0,0,0,0,0],"/mL","chemical",false,null,null,1,false,true,0,"MPL/mL; MPL U/mL; MPL\'U/mL; IgM anticardiolipin units; IgM Phospholipid Units; millilitre ","LOINC","ACnc","Clinical","units for antiphospholipid test\\n","1","1","1",1,false],[false,"number per high power field","{#}/[HPF]","/[HPF]","",1,[0,0,0,0,0,0,0],"/HPF",null,false,null,null,1,false,false,0,"#/HPF; # per HPF; number/HPF; numbers per high power field","LOINC","Naric","Clinical","",null,null,null,null,false],[false,"number per low power field","{#}/[LPF]","/[LPF]","",1,[0,0,0,0,0,0,0],"/LPF",null,false,null,null,1,false,false,0,"#/LPF; # per LPF; number/LPF; numbers per low power field","LOINC","Naric","Clinical","",null,null,null,null,false],[false,"IgA antiphosphatidylserine unit ","{APS\'U}","","",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"APS Unit; Phosphatidylserine Antibody IgA Units","LOINC","ACnc","Clinical","unit for antiphospholipid test",null,null,null,null,false],[false,"EIA index","{EIA_index}","","",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"enzyme immunoassay index","LOINC","ACnc","Clinical","",null,null,null,null,false],[false,"kaolin clotting time","{KCT\'U}","","",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"KCT","LOINC","Time","Clinical","sensitive test to detect lupus anticoagulants; measured in seconds",null,null,null,null,false],[false,"IgM antiphosphatidylserine unit","{MPS\'U}","","",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"Phosphatidylserine Antibody IgM Measurement ","LOINC","ACnc","Clinical","",null,null,null,null,false],[false,"trillion per liter","10*12/L","(10*12)/L","number",1000000000000000,[-3,0,0,0,0,0,0],"(1012)/L","dimless",false,null,null,1,false,false,0,"10^12/L; 10*12 per Liter; trillion per liter; litre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"10^3 (used for cell count)","10*3","10*3","number",1000,[0,0,0,0,0,0,0],"103","dimless",false,null,null,1,false,false,0,"10^3; thousand","LOINC","Num","Clinical","usually used for counting entities (e.g. blood cells) per volume","1","1","10",10,false],[false,"thousand per liter","10*3/L","(10*3)/L","number",1000000,[-3,0,0,0,0,0,0],"(103)/L","dimless",false,null,null,1,false,false,0,"10^3/L; 10*3 per liter; litre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"thousand per milliliter","10*3/mL","(10*3)/ML","number",1000000000,[-3,0,0,0,0,0,0],"(103)/mL","dimless",false,null,null,1,false,false,0,"10^3/mL; 10*3 per mL; thousand per milliliter; millilitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"thousand per microliter","10*3/uL","(10*3)/UL","number",999999999999.9999,[-3,0,0,0,0,0,0],"(103)/μL","dimless",false,null,null,1,false,false,0,"10^3/uL; 10*3 per uL; thousand per microliter; microlitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"10 thousand per microliter","10*4/uL","(10*4)/UL","number",10000000000000,[-3,0,0,0,0,0,0],"(104)/μL","dimless",false,null,null,1,false,false,0,"10^4/uL; 10*4 per uL; microlitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"10^5 ","10*5","10*5","number",100000,[0,0,0,0,0,0,0],"105","dimless",false,null,null,1,false,false,0,"one hundred thousand","LOINC","Num","Clinical","","1","1","10",10,false],[false,"10^6","10*6","10*6","number",1000000,[0,0,0,0,0,0,0],"106","dimless",false,null,null,1,false,false,0,"","LOINC","Num","Clinical","","1","1","10",10,false],[false,"million colony forming unit per liter","10*6.[CFU]/L","(10*6).[CFU]/L","number",1000000000,[-3,0,0,0,0,0,0],"(106).CFU/L","dimless",false,null,null,1,false,true,0,"10*6 CFU/L; 10^6 CFU/L; 10^6CFU; 10^6 CFU per liter; million colony forming units; litre","LOINC","ACnc","Clinical","","1","1","10",10,false],[false,"million international unit","10*6.[IU]","(10*6).[IU]","number",1000000,[0,0,0,0,0,0,0],"(106).(i.U.)","dimless",false,null,null,1,false,true,0,"10*6 IU; 10^6 IU; international units","LOINC","arb","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","1","1","10",10,false],[false,"million per 24 hour","10*6/(24.h)","(10*6)/HR","number",11.574074074074074,[0,-1,0,0,0,0,0],"(106)/h","dimless",false,null,null,1,false,false,0,"10*6/24hrs; 10^6/24 hrs; 10*6 per 24 hrs; 10^6 per 24 hours","LOINC","NRat","Clinical","","1","1","10",10,false],[false,"million per kilogram","10*6/kg","(10*6)/KG","number",1000,[0,0,-1,0,0,0,0],"(106)/kg","dimless",false,null,null,1,false,false,0,"10^6/kg; 10*6 per kg; 10*6 per kilogram; millions","LOINC","NCnt","Clinical","","1","1","10",10,false],[false,"million per liter","10*6/L","(10*6)/L","number",1000000000,[-3,0,0,0,0,0,0],"(106)/L","dimless",false,null,null,1,false,false,0,"10^6/L; 10*6 per Liter; 10^6 per Liter; litre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"million per milliliter","10*6/mL","(10*6)/ML","number",1000000000000,[-3,0,0,0,0,0,0],"(106)/mL","dimless",false,null,null,1,false,false,0,"10^6/mL; 10*6 per mL; 10*6 per milliliter; millilitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"million per microliter","10*6/uL","(10*6)/UL","number",1000000000000000,[-3,0,0,0,0,0,0],"(106)/μL","dimless",false,null,null,1,false,false,0,"10^6/uL; 10^6 per uL; 10^6/mcl; 10^6 per mcl; 10^6 per microliter; microlitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"10^8","10*8","10*8","number",100000000,[0,0,0,0,0,0,0],"108","dimless",false,null,null,1,false,false,0,"100 million; one hundred million; 10^8","LOINC","Num","Clinical","","1","1","10",10,false],[false,"billion per liter","10*9/L","(10*9)/L","number",1000000000000,[-3,0,0,0,0,0,0],"(109)/L","dimless",false,null,null,1,false,false,0,"10^9/L; 10*9 per Liter; litre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"billion per milliliter","10*9/mL","(10*9)/ML","number",1000000000000000,[-3,0,0,0,0,0,0],"(109)/mL","dimless",false,null,null,1,false,false,0,"10^9/mL; 10*9 per mL; 10^9 per mL; 10*9 per milliliter; millilitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"billion per microliter","10*9/uL","(10*9)/UL","number",1000000000000000000,[-3,0,0,0,0,0,0],"(109)/μL","dimless",false,null,null,1,false,false,0,"10^9/uL; 10^9 per uL; 10^9/mcl; 10^9 per mcl; 10*9 per uL; 10*9 per mcl; 10*9/mcl; 10^9 per microliter; microlitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"10 liter per minute per square meter","10.L/(min.m2)","L/(MIN.M2)","",0.00016666666666666666,[1,-1,0,0,0,0,0],"L/(min.(m2))",null,false,null,null,1,false,false,0,"10 liters per minutes per square meter; 10 L per min per m2; m^2; 10 L/(min*m2); 10L/(min*m^2); litres; sq. meter; metre; meters squared","LOINC","ArVRat","Clinical","",null,null,null,null,false],[false,"10 liter per minute","10.L/min","L/MIN","",0.00016666666666666666,[3,-1,0,0,0,0,0],"L/min",null,false,null,null,1,false,false,0,"10 liters per minute; 10 L per min; 10L; 10 L/min; litre","LOINC","VRat","Clinical","",null,null,null,null,false],[false,"10 micronewton second per centimeter to the fifth power per square meter","10.uN.s/(cm5.m2)","(UN.S)/(CM5.M2)","",100000000,[-6,-1,1,0,0,0,0],"(μN.s)/(cm5).(m2)",null,false,null,null,1,false,false,0,"dyne seconds per centimeter5 and square meter; dyn.s/(cm5.m2); dyn.s/cm5/m2; cm^5; m^2","LOINC","","Clinical","unit to measure systemic vascular resistance per body surface area",null,null,null,null,false],[false,"24 hour","24.h","HR","",86400,[0,1,0,0,0,0,0],"h",null,false,null,null,1,false,false,0,"24hrs; 24 hrs; 24 hours; days; dy","LOINC","Time","Clinical","",null,null,null,null,false],[false,"ampere per meter","A/m","A/M","electric current",1,[-1,-1,0,0,0,1,0],"A/m","si",true,null,null,1,false,false,0,"A/m; amp/meter; magnetic field strength; H; B; amperes per meter; metre","LOINC","","Clinical","unit of magnetic field strength","C/s","C/S","1",1,false],[true,"centigram","cg","CG","mass",0.01,[0,0,1,0,0,0,0],"cg",null,false,"M",null,1,false,false,0,"centigrams; cg; cgm","LOINC","Mass","Clinical","",null,null,null,null,false],[false,"centiliter","cL","CL","volume",0.00001,[3,0,0,0,0,0,0],"cL","iso1000",true,null,null,1,false,false,0,"centiliters; centilitres","LOINC","Vol","Clinical","","l",null,"1",1,false],[true,"centimeter","cm","CM","length",0.01,[1,0,0,0,0,0,0],"cm",null,false,"L",null,1,false,false,0,"centimeters; centimetres","LOINC","Len","Clinical","",null,null,null,null,false],[false,"centimeter of water","cm[H2O]","CM[H2O]","pressure",98066.5,[-1,-2,1,0,0,0,0],"cm HO2","clinical",true,null,null,1,false,false,0,"cm H2O; cmH2O; centimetres; pressure","LOINC","Pres","Clinical","unit of pressure mostly applies to blood pressure","kPa","KPAL","980665e-5",9.80665,false],[false,"centimeter of water per liter per second","cm[H2O]/L/s","(CM[H2O]/L)/S","pressure",98066500,[-4,-3,1,0,0,0,0],"(cm HO2)/L/s","clinical",true,null,null,1,false,false,0,"cm[H2O]/(L/s); cm[H2O].s/L; cm H2O/L/sec; cmH2O/L/sec; cmH2O/Liter; cmH2O per L per secs; centimeters of water per liters per second; centimetres; litres; cm[H2O]/(L/s)","LOINC","PresRat","Clinical","unit used to measure mean pulmonary resistance","kPa","KPAL","980665e-5",9.80665,false],[false,"centimeter of water per second per meter","cm[H2O]/s/m","(CM[H2O]/S)/M","pressure",98066.5,[-2,-3,1,0,0,0,0],"(cm HO2)/s/m","clinical",true,null,null,1,false,false,0,"cm[H2O]/(s.m); cm H2O/s/m; cmH2O; cmH2O/sec/m; cmH2O per secs per meters; centimeters of water per seconds per meter; centimetres; metre","LOINC","PresRat","Clinical","unit used to measure pulmonary pressure time product","kPa","KPAL","980665e-5",9.80665,false],[false,"centimeter of mercury","cm[Hg]","CM[HG]","pressure",1333220,[-1,-2,1,0,0,0,0],"cm Hg","clinical",true,null,null,1,false,false,0,"centimeters of mercury; centimetres; cmHg; cm Hg","LOINC","Pres","Clinical","unit of pressure where 1 cmHg = 10 torr","kPa","KPAL","133.3220",133.322,false],[true,"square centimeter","cm2","CM2","length",0.0001,[2,0,0,0,0,0,0],"cm2",null,false,"L",null,1,false,false,0,"cm^2; sq cm; centimeters squared; square centimeters; centimetre; area","LOINC","Area","Clinical","",null,null,null,null,false],[true,"square centimeter per second","cm2/s","CM2/S","length",0.0001,[2,-1,0,0,0,0,0],"(cm2)/s",null,false,"L",null,1,false,false,0,"cm^2/sec; square centimeters per second; sq cm per sec; cm2; centimeters squared; centimetres","LOINC","AreaRat","Clinical","",null,null,null,null,false],[false,"centipoise","cP","CP","dynamic viscosity",1,[-1,-1,1,0,0,0,0],"cP","cgs",true,null,null,1,false,false,0,"cps; centiposes","LOINC","Visc","Clinical","unit of dynamic viscosity in the CGS system with base units: 10^−3 Pa.s = 1 mPa·.s (1 millipascal second)","dyn.s/cm2","DYN.S/CM2","1",1,false],[false,"centistoke","cSt","CST","kinematic viscosity",0.0000010000000000000002,[2,-1,0,0,0,0,0],"cSt","cgs",true,null,null,1,false,false,0,"centistokes","LOINC","Visc","Clinical","unit for kinematic viscosity with base units of mm^2/s (square millimeter per second)","cm2/s","CM2/S","1",1,false],[false,"dekaliter per minute","daL/min","DAL/MIN","volume",0.00016666666666666666,[3,-1,0,0,0,0,0],"daL/min","iso1000",true,null,null,1,false,false,0,"dekalitres; dekaliters per minute; per min","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"dekaliter per minute per square meter","daL/min/m2","(DAL/MIN)/M2","volume",0.00016666666666666666,[1,-1,0,0,0,0,0],"(daL/min)/(m2)","iso1000",true,null,null,1,false,false,0,"daL/min/m^2; daL/minute/m2; sq. meter; dekaliters per minutes per square meter; meter squared; dekalitres; metre","LOINC","ArVRat","Clinical","The area usually is the body surface area used to normalize cardiovascular measures for patient\'s size","l",null,"1",1,false],[false,"decibel","dB","DB","level",1,[0,0,0,0,0,0,0],"dB","levels",true,null,"lg",0.1,true,false,0,"decibels","LOINC","LogRto","Clinical","unit most commonly used in acoustics as unit of sound pressure level. (also see B[SPL] or bel sound pressure level). ","1",null,null,1,false],[false,"degree per second","deg/s","DEG/S","plane angle",0.017453292519943295,[0,-1,0,1,0,0,0],"°/s","iso1000",false,null,null,1,false,false,0,"deg/sec; deg per sec; °/sec; twist rate; angular speed; rotational speed","LOINC","ARat","Clinical","unit of angular (rotational) speed used to express turning rate","[pi].rad/360","[PI].RAD/360","2",2,false],[true,"decigram","dg","DG","mass",0.1,[0,0,1,0,0,0,0],"dg",null,false,"M",null,1,false,false,0,"decigrams; dgm; 0.1 grams; 1/10 gm","LOINC","Mass","Clinical","equal to 1/10 gram",null,null,null,null,false],[false,"deciliter","dL","DL","volume",0.0001,[3,0,0,0,0,0,0],"dL","iso1000",true,null,null,1,false,false,0,"deciliters; decilitres; 0.1 liters; 1/10 L","LOINC","Vol","Clinical","equal to 1/10 liter","l",null,"1",1,false],[true,"decimeter","dm","DM","length",0.1,[1,0,0,0,0,0,0],"dm",null,false,"L",null,1,false,false,0,"decimeters; decimetres; 0.1 meters; 1/10 m; 10 cm; centimeters","LOINC","Len","Clinical","equal to 1/10 meter or 10 centimeters",null,null,null,null,false],[true,"square decimeter per square second","dm2/s2","DM2/S2","length",0.010000000000000002,[2,-2,0,0,0,0,0],"(dm2)/(s2)",null,false,"L",null,1,false,false,0,"dm2 per s2; dm^2/s^2; decimeters squared per second squared; sq dm; sq sec","LOINC","EngMass (massic energy)","Clinical","units for energy per unit mass or Joules per kilogram (J/kg = kg.m2/s2/kg = m2/s2) ",null,null,null,null,false],[false,"dyne second per centimeter per square meter","dyn.s/(cm.m2)","(DYN.S)/(CM.M2)","force",1,[-2,-1,1,0,0,0,0],"(dyn.s)/(cm.(m2))","cgs",true,null,null,1,false,false,0,"(dyn*s)/(cm*m2); (dyn*s)/(cm*m^2); dyn s per cm per m2; m^2; dyne seconds per centimeters per square meter; centimetres; sq. meter; squared","LOINC","","Clinical","","g.cm/s2","G.CM/S2","1",1,false],[false,"dyne second per centimeter","dyn.s/cm","(DYN.S)/CM","force",1,[0,-1,1,0,0,0,0],"(dyn.s)/cm","cgs",true,null,null,1,false,false,0,"(dyn*s)/cm; dyn sec per cm; seconds; centimetre; dyne seconds","LOINC","","Clinical","","g.cm/s2","G.CM/S2","1",1,false],[false,"equivalent per liter","eq/L","EQ/L","amount of substance",6.0221366999999994e+26,[-3,0,0,0,0,0,0],"eq/L","chemical",true,null,null,1,false,false,1,"eq/liter; eq/litre; eqs; equivalents per liter; litre","LOINC","SCnc","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"equivalent per milliliter","eq/mL","EQ/ML","amount of substance",6.0221367e+29,[-3,0,0,0,0,0,0],"eq/mL","chemical",true,null,null,1,false,false,1,"equivalent/milliliter; equivalents per milliliter; eq per mL; millilitre","LOINC","SCnc","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"equivalent per millimole","eq/mmol","EQ/MMOL","amount of substance",1000,[0,0,0,0,0,0,0],"eq/mmol","chemical",true,null,null,1,false,false,0,"equivalent/millimole; equivalents per millimole; eq per mmol","LOINC","SRto","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"equivalent per micromole","eq/umol","EQ/UMOL","amount of substance",1000000,[0,0,0,0,0,0,0],"eq/μmol","chemical",true,null,null,1,false,false,0,"equivalent/micromole; equivalents per micromole; eq per umol","LOINC","SRto","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[true,"femtogram","fg","FG","mass",1e-15,[0,0,1,0,0,0,0],"fg",null,false,"M",null,1,false,false,0,"fg; fgm; femtograms; weight","LOINC","Mass","Clinical","equal to 10^-15 grams",null,null,null,null,false],[false,"femtoliter","fL","FL","volume",1e-18,[3,0,0,0,0,0,0],"fL","iso1000",true,null,null,1,false,false,0,"femtolitres; femtoliters","LOINC","Vol; EntVol","Clinical","equal to 10^-15 liters","l",null,"1",1,false],[true,"femtometer","fm","FM","length",1e-15,[1,0,0,0,0,0,0],"fm",null,false,"L",null,1,false,false,0,"femtometres; femtometers","LOINC","Len","Clinical","equal to 10^-15 meters",null,null,null,null,false],[false,"femtomole","fmol","FMOL","amount of substance",602213670,[0,0,0,0,0,0,0],"fmol","si",true,null,null,1,false,false,1,"femtomoles","LOINC","EntSub","Clinical","equal to 10^-15 moles","10*23","10*23","6.0221367",6.0221367,false],[false,"femtomole per gram","fmol/g","FMOL/G","amount of substance",602213670,[0,0,-1,0,0,0,0],"fmol/g","si",true,null,null,1,false,false,1,"femtomoles; fmol/gm; fmol per gm","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"femtomole per liter","fmol/L","FMOL/L","amount of substance",602213670000,[-3,0,0,0,0,0,0],"fmol/L","si",true,null,null,1,false,false,1,"femtomoles; fmol per liter; litre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"femtomole per milligram","fmol/mg","FMOL/MG","amount of substance",602213670000,[0,0,-1,0,0,0,0],"fmol/mg","si",true,null,null,1,false,false,1,"fmol per mg; femtomoles","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"femtomole per milliliter","fmol/mL","FMOL/ML","amount of substance",602213670000000,[-3,0,0,0,0,0,0],"fmol/mL","si",true,null,null,1,false,false,1,"femtomoles; millilitre; fmol per mL; fmol per milliliter","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[true,"gram meter","g.m","G.M","mass",1,[1,0,1,0,0,0,0],"g.m",null,false,"M",null,1,false,false,0,"g*m; gxm; meters; metres","LOINC","Enrg","Clinical","Unit for measuring stroke work (heart work)",null,null,null,null,false],[true,"gram per 100 gram","g/(100.g)","G/G","mass",0.01,[0,0,0,0,0,0,0],"g/g",null,false,"M",null,1,false,false,0,"g/100 gm; 100gm; grams per 100 grams; gm per 100 gm","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"gram per 12 hour","g/(12.h)","G/HR","mass",0.000023148148148148147,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/12hrs; 12 hrs; gm per 12 hrs; 12hrs; grams per 12 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per 24 hour","g/(24.h)","G/HR","mass",0.000011574074074074073,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/24hrs; gm/24 hrs; gm per 24 hrs; 24hrs; grams per 24 hours; gm/dy; gm per dy; grams per day","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per 3 days","g/(3.d)","G/D","mass",0.000003858024691358025,[0,-1,1,0,0,0,0],"g/d",null,false,"M",null,1,false,false,0,"gm/3dy; gm/3 dy; gm per 3 days; grams","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per 4 hour","g/(4.h)","G/HR","mass",0.00006944444444444444,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/4hrs; gm/4 hrs; gm per 4 hrs; 4hrs; grams per 4 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per 48 hour","g/(48.h)","G/HR","mass",0.000005787037037037037,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/48hrs; gm/48 hrs; gm per 48 hrs; 48hrs; grams per 48 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per 5 hour","g/(5.h)","G/HR","mass",0.00005555555555555556,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/5hrs; gm/5 hrs; gm per 5 hrs; 5hrs; grams per 5 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per 6 hour","g/(6.h)","G/HR","mass",0.000046296296296296294,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/6hrs; gm/6 hrs; gm per 6 hrs; 6hrs; grams per 6 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per 72 hour","g/(72.h)","G/HR","mass",0.000003858024691358025,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/72hrs; gm/72 hrs; gm per 72 hrs; 72hrs; grams per 72 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per cubic centimeter","g/cm3","G/CM3","mass",999999.9999999999,[-3,0,1,0,0,0,0],"g/(cm3)",null,false,"M",null,1,false,false,0,"g/cm^3; gm per cm3; g per cm^3; grams per centimeter cubed; cu. cm; centimetre; g/mL; gram per milliliter; millilitre","LOINC","MCnc","Clinical","g/cm3 = g/mL",null,null,null,null,false],[true,"gram per day","g/d","G/D","mass",0.000011574074074074073,[0,-1,1,0,0,0,0],"g/d",null,false,"M",null,1,false,false,0,"gm/dy; gm per dy; grams per day; gm/24hrs; gm/24 hrs; gm per 24 hrs; 24hrs; grams per 24 hours; serving","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per deciliter","g/dL","G/DL","mass",10000,[-3,0,1,0,0,0,0],"g/dL",null,false,"M",null,1,false,false,0,"gm/dL; gm per dL; grams per deciliter; decilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"gram per gram","g/g","G/G","mass",1,[0,0,0,0,0,0,0],"g/g",null,false,"M",null,1,false,false,0,"gm; grams","LOINC","MRto ","Clinical","",null,null,null,null,false],[true,"gram per hour","g/h","G/HR","mass",0.0002777777777777778,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/hr; gm per hr; grams; intake; output","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per hour per square meter","g/h/m2","(G/HR)/M2","mass",0.0002777777777777778,[-2,-1,1,0,0,0,0],"(g/h)/(m2)",null,false,"M",null,1,false,false,0,"gm/hr/m2; gm/h/m2; /m^2; sq. m; g per hr per m2; grams per hours per square meter; meter squared; metre","LOINC","ArMRat","Clinical","",null,null,null,null,false],[true,"gram per kilogram","g/kg ","G/KG","mass",0.001,[0,0,0,0,0,0,0],"g/kg",null,false,"M",null,1,false,false,0,"g per kg; gram per kilograms","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"gram per kilogram per 8 hour ","g/kg/(8.h)","(G/KG)/HR","mass",3.472222222222222e-8,[0,-1,0,0,0,0,0],"(g/kg)/h",null,false,"M",null,1,false,false,0,"g/(8.kg.h); gm/kg/8hrs; 8 hrs; g per kg per 8 hrs; 8hrs; grams per kilograms per 8 hours; shift","LOINC","MCntRat; RelMRat","Clinical","unit often used to describe mass in grams of protein consumed in a 8 hours, divided by the subject\'s body weight in kilograms. Also used to measure mass dose rate per body mass",null,null,null,null,false],[true,"gram per kilogram per day","g/kg/d","(G/KG)/D","mass",1.1574074074074074e-8,[0,-1,0,0,0,0,0],"(g/kg)/d",null,false,"M",null,1,false,false,0,"g/(kg.d); gm/kg/dy; gm per kg per dy; grams per kilograms per day","LOINC","RelMRat","Clinical","unit often used to describe mass in grams of protein consumed in a day, divided by the subject\'s body weight in kilograms. Also used to measure mass dose rate per body mass",null,null,null,null,false],[true,"gram per kilogram per hour","g/kg/h","(G/KG)/HR","mass",2.7777777777777776e-7,[0,-1,0,0,0,0,0],"(g/kg)/h",null,false,"M",null,1,false,false,0,"g/(kg.h); g/kg/hr; g per kg per hrs; grams per kilograms per hour","LOINC","MCntRat; RelMRat","Clinical","unit used to measure mass dose rate per body mass",null,null,null,null,false],[true,"gram per kilogram per minute","g/kg/min","(G/KG)/MIN","mass",0.000016666666666666667,[0,-1,0,0,0,0,0],"(g/kg)/min",null,false,"M",null,1,false,false,0,"g/(kg.min); g/kg/min; g per kg per min; grams per kilograms per minute","LOINC","MCntRat; RelMRat","Clinical","unit used to measure mass dose rate per body mass",null,null,null,null,false],[true,"gram per liter","g/L","G/L","mass",1000,[-3,0,1,0,0,0,0],"g/L",null,false,"M",null,1,false,false,0,"gm per liter; g/liter; grams per liter; litre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"gram per square meter","g/m2","G/M2","mass",1,[-2,0,1,0,0,0,0],"g/(m2)",null,false,"M",null,1,false,false,0,"g/m^2; gram/square meter; g/sq m; g per m2; g per m^2; grams per square meter; meters squared; metre","LOINC","ArMass","Clinical","Tests measure myocardial mass (heart ventricle system) per body surface area; unit used to measure mass dose per body surface area",null,null,null,null,false],[true,"gram per milligram","g/mg","G/MG","mass",1000,[0,0,0,0,0,0,0],"g/mg",null,false,"M",null,1,false,false,0,"g per mg; grams per milligram","LOINC","MCnt; MRto","Clinical","",null,null,null,null,false],[true,"gram per minute","g/min","G/MIN","mass",0.016666666666666666,[0,-1,1,0,0,0,0],"g/min",null,false,"M",null,1,false,false,0,"g per min; grams per minute; gram/minute","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"gram per milliliter","g/mL","G/ML","mass",1000000,[-3,0,1,0,0,0,0],"g/mL",null,false,"M",null,1,false,false,0,"g per mL; grams per milliliter; millilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"gram per millimole","g/mmol","G/MMOL","mass",1.6605401866749388e-21,[0,0,1,0,0,0,0],"g/mmol",null,false,"M",null,1,false,false,-1,"grams per millimole; g per mmol","LOINC","Ratio","Clinical","",null,null,null,null,false],[false,"joule per liter","J/L","J/L","energy",1000000,[-1,-2,1,0,0,0,0],"J/L","si",true,null,null,1,false,false,0,"joules per liter; litre; J per L","LOINC","EngCnc","Clinical","","N.m","N.M","1",1,false],[true,"degree Kelvin per Watt","K/W","K/W","temperature",0.001,[-2,3,-1,0,1,0,0],"K/W",null,false,"C",null,1,false,false,0,"degree Kelvin/Watt; K per W; thermal ohm; thermal resistance; degrees","LOINC","TempEngRat","Clinical","unit for absolute thermal resistance equal to the reciprocal of thermal conductance. Unit used for tests to measure work of breathing",null,null,null,null,false],[false,"kilo international unit per liter","k[IU]/L","K[IU]/L","arbitrary",1000000,[-3,0,0,0,0,0,0],"(ki.U.)/L","chemical",true,null,null,1,false,true,0,"kIU/L; kIU per L; kIU per liter; kilo international units; litre; allergens; allergy units","LOINC","ACnc","Clinical","IgE has an WHO reference standard so IgE allergen testing can be reported as k[IU]/L","[iU]","[IU]","1",1,false],[false,"kilo international unit per milliliter","k[IU]/mL","K[IU]/ML","arbitrary",1000000000,[-3,0,0,0,0,0,0],"(ki.U.)/mL","chemical",true,null,null,1,false,true,0,"kIU/mL; kIU per mL; kIU per milliliter; kilo international units; millilitre; allergens; allergy units","LOINC","ACnc","Clinical","IgE has an WHO reference standard so IgE allergen testing can be reported as k[IU]/mL","[iU]","[IU]","1",1,false],[false,"katal per kilogram","kat/kg","KAT/KG","catalytic activity",602213670000000000000,[0,-1,-1,0,0,0,0],"kat/kg","chemical",true,null,null,1,false,false,1,"kat per kg; katals per kilogram; mol/s/kg; moles per seconds per kilogram","LOINC","CCnt","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"katal per liter","kat/L","KAT/L","catalytic activity",6.0221366999999994e+26,[-3,-1,0,0,0,0,0],"kat/L","chemical",true,null,null,1,false,false,1,"kat per L; katals per liter; litre; mol/s/L; moles per seconds per liter","LOINC","CCnc","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"kilocalorie","kcal","KCAL","energy",4184000,[2,-2,1,0,0,0,0],"kcal","heat",true,null,null,1,false,false,0,"kilogram calories; large calories; food calories; kcals","LOINC","EngRat","Clinical","It is equal to 1000 calories (equal to 4.184 kJ). But in practical usage, kcal refers to food calories which excludes caloric content in fiber and other constitutes that is not digestible by humans. Also see nutrition label Calories ([Cal])","cal_th","CAL_TH","1",1,false],[false,"kilocalorie per 24 hour","kcal/(24.h)","KCAL/HR","energy",48.425925925925924,[2,-3,1,0,0,0,0],"kcal/h","heat",true,null,null,1,false,false,0,"kcal/24hrs; kcal/24 hrs; kcal per 24hrs; kilocalories per 24 hours; kilojoules; kJ/24hr; kJ/(24.h); kJ/dy; kilojoules per days; intake; calories burned; metabolic rate; food calories","","EngRat","Clinical","","cal_th","CAL_TH","1",1,false],[false,"kilocalorie per ounce","kcal/[oz_av]","KCAL/[OZ_AV]","energy",147586.25679704445,[2,-2,0,0,0,0,0],"kcal/oz","heat",true,null,null,1,false,false,0,"kcal/oz; kcal per ozs; large calories per ounces; food calories; servings; international","LOINC","EngCnt","Clinical","used in nutrition to represent calorie of food","cal_th","CAL_TH","1",1,false],[false,"kilocalorie per day","kcal/d","KCAL/D","energy",48.425925925925924,[2,-3,1,0,0,0,0],"kcal/d","heat",true,null,null,1,false,false,0,"kcal/dy; kcal per day; kilocalories per days; kilojoules; kJ/dy; kilojoules per days; intake; calories burned; metabolic rate; food calories","LOINC","EngRat","Clinical","unit in nutrition for food intake (measured in calories) in a day","cal_th","CAL_TH","1",1,false],[false,"kilocalorie per hour","kcal/h","KCAL/HR","energy",1162.2222222222222,[2,-3,1,0,0,0,0],"kcal/h","heat",true,null,null,1,false,false,0,"kcal/hrs; kcals per hr; intake; kilocalories per hours; kilojoules","LOINC","EngRat","Clinical","used in nutrition to represent caloric requirement or consumption","cal_th","CAL_TH","1",1,false],[false,"kilocalorie per kilogram per 24 hour","kcal/kg/(24.h)","(KCAL/KG)/HR","energy",0.04842592592592593,[2,-3,0,0,0,0,0],"(kcal/kg)/h","heat",true,null,null,1,false,false,0,"kcal/kg/24hrs; 24 hrs; kcal per kg per 24hrs; kilocalories per kilograms per 24 hours; kilojoules","LOINC","EngCntRat","Clinical","used in nutrition to represent caloric requirement per day based on subject\'s body weight in kilograms","cal_th","CAL_TH","1",1,false],[true,"kilogram","kg","KG","mass",1000,[0,0,1,0,0,0,0],"kg",null,false,"M",null,1,false,false,0,"kilograms; kgs","LOINC","Mass","Clinical","",null,null,null,null,false],[true,"kilogram meter per second","kg.m/s","(KG.M)/S","mass",1000,[1,-1,1,0,0,0,0],"(kg.m)/s",null,false,"M",null,1,false,false,0,"kg*m/s; kg.m per sec; kg*m per sec; p; momentum","LOINC","","Clinical","unit for momentum = mass times velocity",null,null,null,null,false],[true,"kilogram per second per square meter","kg/(s.m2)","KG/(S.M2)","mass",1000,[-2,-1,1,0,0,0,0],"kg/(s.(m2))",null,false,"M",null,1,false,false,0,"kg/(s*m2); kg/(s*m^2); kg per s per m2; per sec; per m^2; kilograms per seconds per square meter; meter squared; metre","LOINC","ArMRat","Clinical","",null,null,null,null,false],[true,"kilogram per hour","kg/h","KG/HR","mass",0.2777777777777778,[0,-1,1,0,0,0,0],"kg/h",null,false,"M",null,1,false,false,0,"kg/hr; kg per hr; kilograms per hour","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"kilogram per liter","kg/L","KG/L","mass",1000000,[-3,0,1,0,0,0,0],"kg/L",null,false,"M",null,1,false,false,0,"kg per liter; litre; kilograms","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"kilogram per square meter","kg/m2","KG/M2","mass",1000,[-2,0,1,0,0,0,0],"kg/(m2)",null,false,"M",null,1,false,false,0,"kg/m^2; kg/sq. m; kg per m2; per m^2; per sq. m; kilograms; meter squared; metre; BMI","LOINC","Ratio","Clinical","units for body mass index (BMI)",null,null,null,null,false],[true,"kilogram per cubic meter","kg/m3","KG/M3","mass",1000,[-3,0,1,0,0,0,0],"kg/(m3)",null,false,"M",null,1,false,false,0,"kg/m^3; kg/cu. m; kg per m3; per m^3; per cu. m; kilograms; meters cubed; metre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"kilogram per minute","kg/min","KG/MIN","mass",16.666666666666668,[0,-1,1,0,0,0,0],"kg/min",null,false,"M",null,1,false,false,0,"kilogram/minute; kg per min; kilograms per minute","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"kilogram per mole","kg/mol","KG/MOL","mass",1.6605401866749388e-21,[0,0,1,0,0,0,0],"kg/mol",null,false,"M",null,1,false,false,-1,"kilogram/mole; kg per mol; kilograms per mole","LOINC","SCnt","Clinical","",null,null,null,null,false],[true,"kilogram per second","kg/s","KG/S","mass",1000,[0,-1,1,0,0,0,0],"kg/s",null,false,"M",null,1,false,false,0,"kg/sec; kilogram/second; kg per sec; kilograms; second","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"kiloliter","kL","KL","volume",1,[3,0,0,0,0,0,0],"kL","iso1000",true,null,null,1,false,false,0,"kiloliters; kilolitres; m3; m^3; meters cubed; metre","LOINC","Vol","Clinical","","l",null,"1",1,false],[true,"kilometer","km","KM","length",1000,[1,0,0,0,0,0,0],"km",null,false,"L",null,1,false,false,0,"kilometers; kilometres; distance","LOINC","Len","Clinical","",null,null,null,null,false],[false,"kilopascal","kPa","KPAL","pressure",1000000,[-1,-2,1,0,0,0,0],"kPa","si",true,null,null,1,false,false,0,"kilopascals; pressure","LOINC","Pres; PPresDiff","Clinical","","N/m2","N/M2","1",1,false],[true,"kilosecond","ks","KS","time",1000,[0,1,0,0,0,0,0],"ks",null,false,"T",null,1,false,false,0,"kiloseconds; ksec","LOINC","Time","Clinical","",null,null,null,null,false],[false,"kilo enzyme unit","kU","KU","catalytic activity",10036894500000000000,[0,-1,0,0,0,0,0],"kU","chemical",true,null,null,1,false,false,1,"units; mmol/min; millimoles per minute","LOINC","CAct","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min","umol/min","UMOL/MIN","1",1,false],[false,"kilo enzyme unit per gram","kU/g","KU/G","catalytic activity",10036894500000000000,[0,-1,-1,0,0,0,0],"kU/g","chemical",true,null,null,1,false,false,1,"units per grams; kU per gm","LOINC","CCnt","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min","umol/min","UMOL/MIN","1",1,false],[false,"kilo enzyme unit per liter","kU/L","KU/L","catalytic activity",1.00368945e+22,[-3,-1,0,0,0,0,0],"kU/L","chemical",true,null,null,1,false,false,1,"units per liter; litre; enzymatic activity; enzyme activity per volume; activities","LOINC","ACnc; CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min","umol/min","UMOL/MIN","1",1,false],[false,"kilo enzyme unit per milliliter","kU/mL","KU/ML","catalytic activity",1.00368945e+25,[-3,-1,0,0,0,0,0],"kU/mL","chemical",true,null,null,1,false,false,1,"kU per mL; units per milliliter; millilitre; enzymatic activity per volume; enzyme activities","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min","umol/min","UMOL/MIN","1",1,false],[false,"Liters per 24 hour","L/(24.h)","L/HR","volume",1.1574074074074074e-8,[3,-1,0,0,0,0,0],"L/h","iso1000",true,null,null,1,false,false,0,"L/24hrs; L/24 hrs; L per 24hrs; liters per 24 hours; day; dy; litres; volume flow rate","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"Liters per 8 hour","L/(8.h)","L/HR","volume",3.472222222222222e-8,[3,-1,0,0,0,0,0],"L/h","iso1000",true,null,null,1,false,false,0,"L/8hrs; L/8 hrs; L per 8hrs; liters per 8 hours; litres; volume flow rate; shift","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"Liters per minute per square meter","L/(min.m2) ","L/(MIN.M2)","volume",0.000016666666666666667,[1,-1,0,0,0,0,0],"L/(min.(m2))","iso1000",true,null,null,1,false,false,0,"L/(min.m2); L/min/m^2; L/min/sq. meter; L per min per m2; m^2; liters per minutes per square meter; meter squared; litres; metre ","LOINC","ArVRat","Clinical","unit for tests that measure cardiac output per body surface area (cardiac index)","l",null,"1",1,false],[false,"Liters per day","L/d","L/D","volume",1.1574074074074074e-8,[3,-1,0,0,0,0,0],"L/d","iso1000",true,null,null,1,false,false,0,"L/dy; L per day; 24hrs; 24 hrs; 24 hours; liters; litres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"Liters per hour","L/h","L/HR","volume",2.7777777777777776e-7,[3,-1,0,0,0,0,0],"L/h","iso1000",true,null,null,1,false,false,0,"L/hr; L per hr; litres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"Liters per kilogram","L/kg","L/KG","volume",0.000001,[3,0,-1,0,0,0,0],"L/kg","iso1000",true,null,null,1,false,false,0,"L per kg; litre","LOINC","VCnt","Clinical","","l",null,"1",1,false],[false,"Liters per liter","L/L","L/L","volume",1,[0,0,0,0,0,0,0],"L/L","iso1000",true,null,null,1,false,false,0,"L per L; liter/liter; litre","LOINC","VFr","Clinical","","l",null,"1",1,false],[false,"Liters per minute","L/min","L/MIN","volume",0.000016666666666666667,[3,-1,0,0,0,0,0],"L/min","iso1000",true,null,null,1,false,false,0,"liters per minute; litre","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"Liters per minute per square meter","L/min/m2","(L/MIN)/M2","volume",0.000016666666666666667,[1,-1,0,0,0,0,0],"(L/min)/(m2)","iso1000",true,null,null,1,false,false,0,"L/(min.m2); L/min/m^2; L/min/sq. meter; L per min per m2; m^2; liters per minutes per square meter; meter squared; litres; metre ","","ArVRat","Clinical","unit for tests that measure cardiac output per body surface area (cardiac index)","l",null,"1",1,false],[false,"Liters per second","L/s","L/S","volume",0.001,[3,-1,0,0,0,0,0],"L/s","iso1000",true,null,null,1,false,false,0,"L per sec; litres","LOINC","VRat","Clinical","unit used often to measure gas flow and peak expiratory flow","l",null,"1",1,false],[false,"Liters per second per square second","L/s/s2","(L/S)/S2","volume",0.001,[3,-3,0,0,0,0,0],"(L/s)/(s2)","iso1000",true,null,null,1,false,false,0,"L/s/s^2; L/sec/sec2; L/sec/sec^2; L/sec/sq. sec; L per s per s2; L per sec per sec2; s^2; sec^2; liters per seconds per square second; second squared; litres ","LOINC","ArVRat","Clinical","unit for tests that measure cardiac output/body surface area","l",null,"1",1,false],[false,"lumen square meter","lm.m2","LM.M2","luminous flux",1,[2,0,0,2,0,0,1],"lm.(m2)","si",true,null,null,1,false,false,0,"lm*m2; lm*m^2; lumen meters squared; lumen sq. meters; metres","LOINC","","Clinical","","cd.sr","CD.SR","1",1,false],[true,"meter per second","m/s","M/S","length",1,[1,-1,0,0,0,0,0],"m/s",null,false,"L",null,1,false,false,0,"meter/second; m per sec; meters per second; metres; velocity; speed","LOINC","Vel","Clinical","unit of velocity",null,null,null,null,false],[true,"meter per square second","m/s2","M/S2","length",1,[1,-2,0,0,0,0,0],"m/(s2)",null,false,"L",null,1,false,false,0,"m/s^2; m/sq. sec; m per s2; per s^2; meters per square second; second squared; sq second; metres; acceleration","LOINC","Accel","Clinical","unit of acceleration",null,null,null,null,false],[false,"milli international unit per liter","m[IU]/L","M[IU]/L","arbitrary",1,[-3,0,0,0,0,0,0],"(mi.U.)/L","chemical",true,null,null,1,false,true,0,"mIU/L; m IU/L; mIU per liter; units; litre","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"milli international unit per milliliter","m[IU]/mL","M[IU]/ML","arbitrary",1000.0000000000001,[-3,0,0,0,0,0,0],"(mi.U.)/mL","chemical",true,null,null,1,false,true,0,"mIU/mL; m IU/mL; mIU per mL; milli international units per milliliter; millilitre","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[true,"square meter","m2","M2","length",1,[2,0,0,0,0,0,0],"m2",null,false,"L",null,1,false,false,0,"m^2; sq m; square meters; meters squared; metres","LOINC","Area","Clinical","unit often used to represent body surface area",null,null,null,null,false],[true,"square meter per second","m2/s","M2/S","length",1,[2,-1,0,0,0,0,0],"(m2)/s",null,false,"L",null,1,false,false,0,"m^2/sec; m2 per sec; m^2 per sec; sq m/sec; meters squared/seconds; sq m per sec; meters squared; metres","LOINC","ArRat","Clinical","",null,null,null,null,false],[true,"cubic meter per second","m3/s","M3/S","length",1,[3,-1,0,0,0,0,0],"(m3)/s",null,false,"L",null,1,false,false,0,"m^3/sec; m3 per sec; m^3 per sec; cu m/sec; cubic meters per seconds; meters cubed; metres","LOINC","VRat","Clinical","",null,null,null,null,false],[false,"milliampere","mA","MA","electric current",0.001,[0,-1,0,0,0,1,0],"mA","si",true,null,null,1,false,false,0,"mamp; milliamperes","LOINC","ElpotRat","Clinical","unit of electric current","C/s","C/S","1",1,false],[false,"millibar","mbar","MBAR","pressure",100000,[-1,-2,1,0,0,0,0],"mbar","iso1000",true,null,null,1,false,false,0,"millibars","LOINC","Pres","Clinical","unit of pressure","Pa","PAL","1e5",100000,false],[false,"millibar second per liter","mbar.s/L","(MBAR.S)/L","pressure",100000000,[-4,-1,1,0,0,0,0],"(mbar.s)/L","iso1000",true,null,null,1,false,false,0,"mbar*s/L; mbar.s per L; mbar*s per L; millibar seconds per liter; millibar second per litre","LOINC","","Clinical","unit to measure expiratory resistance","Pa","PAL","1e5",100000,false],[false,"millibar per liter per second","mbar/L/s","(MBAR/L)/S","pressure",100000000,[-4,-3,1,0,0,0,0],"(mbar/L)/s","iso1000",true,null,null,1,false,false,0,"mbar/(L.s); mbar/L/sec; mbar/liter/second; mbar per L per sec; mbar per liter per second; millibars per liters per seconds; litres","LOINC","PresCncRat","Clinical","unit to measure expiratory resistance","Pa","PAL","1e5",100000,false],[false,"milliequivalent","meq","MEQ","amount of substance",602213670000000000000,[0,0,0,0,0,0,0],"meq","chemical",true,null,null,1,false,false,1,"milliequivalents; meqs","LOINC","Sub","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per 2 hour","meq/(2.h)","MEQ/HR","amount of substance",83640787500000000,[0,-1,0,0,0,0,0],"meq/h","chemical",true,null,null,1,false,false,1,"meq/2hrs; meq/2 hrs; meq per 2 hrs; milliequivalents per 2 hours","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per 24 hour","meq/(24.h)","MEQ/HR","amount of substance",6970065625000000,[0,-1,0,0,0,0,0],"meq/h","chemical",true,null,null,1,false,false,1,"meq/24hrs; meq/24 hrs; meq per 24 hrs; milliequivalents per 24 hours","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per 8 hour","meq/(8.h)","MEQ/HR","amount of substance",20910196875000000,[0,-1,0,0,0,0,0],"meq/h","chemical",true,null,null,1,false,false,1,"meq/8hrs; meq/8 hrs; meq per 8 hrs; milliequivalents per 8 hours; shift","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per day","meq/d","MEQ/D","amount of substance",6970065625000000,[0,-1,0,0,0,0,0],"meq/d","chemical",true,null,null,1,false,false,1,"meq/dy; meq per day; milliquivalents per days; meq/24hrs; meq/24 hrs; meq per 24 hrs; milliequivalents per 24 hours","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per deciliter","meq/dL","MEQ/DL","amount of substance",6.022136699999999e+24,[-3,0,0,0,0,0,0],"meq/dL","chemical",true,null,null,1,false,false,1,"meq per dL; milliequivalents per deciliter; decilitre","LOINC","SCnc","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per gram","meq/g","MEQ/G","amount of substance",602213670000000000000,[0,0,-1,0,0,0,0],"meq/g","chemical",true,null,null,1,false,false,1,"mgq/gm; meq per gm; milliequivalents per gram","LOINC","MCnt","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per hour","meq/h","MEQ/HR","amount of substance",167281575000000000,[0,-1,0,0,0,0,0],"meq/h","chemical",true,null,null,1,false,false,1,"meq/hrs; meq per hrs; milliequivalents per hour","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per kilogram","meq/kg","MEQ/KG","amount of substance",602213670000000000,[0,0,-1,0,0,0,0],"meq/kg","chemical",true,null,null,1,false,false,1,"meq per kg; milliequivalents per kilogram","LOINC","SCnt","Clinical","equivalence equals moles per valence; used to measure dose per patient body mass","mol","MOL","1",1,false],[false,"milliequivalent per kilogram per hour","meq/kg/h","(MEQ/KG)/HR","amount of substance",167281575000000,[0,-1,-1,0,0,0,0],"(meq/kg)/h","chemical",true,null,null,1,false,false,1,"meq/(kg.h); meq/kg/hr; meq per kg per hr; milliequivalents per kilograms per hour","LOINC","SCntRat","Clinical","equivalence equals moles per valence; unit used to measure dose rate per patient body mass","mol","MOL","1",1,false],[false,"milliequivalent per liter","meq/L","MEQ/L","amount of substance",6.0221367e+23,[-3,0,0,0,0,0,0],"meq/L","chemical",true,null,null,1,false,false,1,"milliequivalents per liter; litre; meq per l; acidity","LOINC","SCnc","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per square meter","meq/m2","MEQ/M2","amount of substance",602213670000000000000,[-2,0,0,0,0,0,0],"meq/(m2)","chemical",true,null,null,1,false,false,1,"meq/m^2; meq/sq. m; milliequivalents per square meter; meter squared; metre","LOINC","ArSub","Clinical","equivalence equals moles per valence; note that the use of m2 in clinical units ofter refers to body surface area","mol","MOL","1",1,false],[false,"milliequivalent per minute","meq/min","MEQ/MIN","amount of substance",10036894500000000000,[0,-1,0,0,0,0,0],"meq/min","chemical",true,null,null,1,false,false,1,"meq per min; milliequivalents per minute","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per milliliter","meq/mL","MEQ/ML","amount of substance",6.0221367e+26,[-3,0,0,0,0,0,0],"meq/mL","chemical",true,null,null,1,false,false,1,"meq per mL; milliequivalents per milliliter; millilitre","LOINC","SCnc","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[true,"milligram","mg","MG","mass",0.001,[0,0,1,0,0,0,0],"mg",null,false,"M",null,1,false,false,0,"milligrams","LOINC","Mass","Clinical","",null,null,null,null,false],[true,"milligram per 10 hour","mg/(10.h)","MG/HR","mass",2.7777777777777777e-8,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/10hrs; mg/10 hrs; mg per 10 hrs; milligrams per 10 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"milligram per 12 hour","mg/(12.h)","MG/HR","mass",2.3148148148148148e-8,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/12hrs; mg/12 hrs; per 12 hrs; 12hrs; milligrams per 12 hours","LOINC","MRat","Clinical","units used for tests in urine",null,null,null,null,false],[true,"milligram per 2 hour","mg/(2.h)","MG/HR","mass",1.3888888888888888e-7,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/2hrs; mg/2 hrs; mg per 2 hrs; 2hrs; milligrams per 2 hours","LOINC","MRat","Clinical","units used for tests in urine",null,null,null,null,false],[true,"milligram per 24 hour","mg/(24.h)","MG/HR","mass",1.1574074074074074e-8,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/24hrs; mg/24 hrs; milligrams per 24 hours; mg/kg/dy; mg per kg per day; milligrams per kilograms per days","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"milligram per 6 hour","mg/(6.h)","MG/HR","mass",4.6296296296296295e-8,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/6hrs; mg/6 hrs; mg per 6 hrs; 6hrs; milligrams per 6 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"milligram per 72 hour","mg/(72.h)","MG/HR","mass",3.858024691358025e-9,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/72hrs; mg/72 hrs; 72 hrs; 72hrs; milligrams per 72 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"milligram per 8 hour","mg/(8.h)","MG/HR","mass",3.472222222222222e-8,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/8hrs; mg/8 hrs; milligrams per 8 hours; shift","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"milligram per day","mg/d","MG/D","mass",1.1574074074074074e-8,[0,-1,1,0,0,0,0],"mg/d",null,false,"M",null,1,false,false,0,"mg/24hrs; mg/24 hrs; milligrams per 24 hours; mg/dy; mg per day; milligrams","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"milligram per deciliter","mg/dL","MG/DL","mass",10,[-3,0,1,0,0,0,0],"mg/dL",null,false,"M",null,1,false,false,0,"mg per dL; milligrams per deciliter; decilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"milligram per gram","mg/g","MG/G","mass",0.001,[0,0,0,0,0,0,0],"mg/g",null,false,"M",null,1,false,false,0,"mg per gm; milligrams per gram","LOINC","MCnt; MRto","Clinical","",null,null,null,null,false],[true,"milligram per hour","mg/h","MG/HR","mass",2.7777777777777776e-7,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/hr; mg per hr; milligrams","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"milligram per kilogram","mg/kg","MG/KG","mass",0.000001,[0,0,0,0,0,0,0],"mg/kg",null,false,"M",null,1,false,false,0,"mg per kg; milligrams per kilograms","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"milligram per kilogram per 8 hour","mg/kg/(8.h)","(MG/KG)/HR","mass",3.472222222222222e-11,[0,-1,0,0,0,0,0],"(mg/kg)/h",null,false,"M",null,1,false,false,0,"mg/(8.h.kg); mg/kg/8hrs; mg/kg/8 hrs; mg per kg per 8hrs; 8 hrs; milligrams per kilograms per 8 hours; shift","LOINC","RelMRat; MCntRat","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"milligram per kilogram per day","mg/kg/d","(MG/KG)/D","mass",1.1574074074074074e-11,[0,-1,0,0,0,0,0],"(mg/kg)/d",null,false,"M",null,1,false,false,0,"mg/(kg.d); mg/(kg.24.h)mg/kg/dy; mg per kg per day; milligrams per kilograms per days; mg/kg/(24.h); mg/kg/24hrs; 24 hrs; 24 hours","LOINC","RelMRat ","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"milligram per kilogram per hour","mg/kg/h","(MG/KG)/HR","mass",2.7777777777777777e-10,[0,-1,0,0,0,0,0],"(mg/kg)/h",null,false,"M",null,1,false,false,0,"mg/(kg.h); mg/kg/hr; mg per kg per hr; milligrams per kilograms per hour","LOINC","RelMRat; MCntRat","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"milligram per kilogram per minute","mg/kg/min","(MG/KG)/MIN","mass",1.6666666666666667e-8,[0,-1,0,0,0,0,0],"(mg/kg)/min",null,false,"M",null,1,false,false,0,"mg/(kg.min); mg per kg per min; milligrams per kilograms per minute","LOINC","RelMRat; MCntRat","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"milligram per liter","mg/L","MG/L","mass",1,[-3,0,1,0,0,0,0],"mg/L",null,false,"M",null,1,false,false,0,"mg per l; milligrams per liter; litre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"milligram per square meter","mg/m2","MG/M2","mass",0.001,[-2,0,1,0,0,0,0],"mg/(m2)",null,false,"M",null,1,false,false,0,"mg/m^2; mg/sq. m; mg per m2; mg per m^2; mg per sq. milligrams; meter squared; metre","LOINC","ArMass","Clinical","",null,null,null,null,false],[true,"milligram per cubic meter","mg/m3","MG/M3","mass",0.001,[-3,0,1,0,0,0,0],"mg/(m3)",null,false,"M",null,1,false,false,0,"mg/m^3; mg/cu. m; mg per m3; milligrams per cubic meter; meter cubed; metre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"milligram per milligram","mg/mg","MG/MG","mass",1,[0,0,0,0,0,0,0],"mg/mg",null,false,"M",null,1,false,false,0,"mg per mg; milligrams; milligram/milligram","LOINC","MRto","Clinical","",null,null,null,null,false],[true,"milligram per minute","mg/min","MG/MIN","mass",0.000016666666666666667,[0,-1,1,0,0,0,0],"mg/min",null,false,"M",null,1,false,false,0,"mg per min; milligrams per minutes; milligram/minute","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"milligram per milliliter","mg/mL","MG/ML","mass",1000.0000000000001,[-3,0,1,0,0,0,0],"mg/mL",null,false,"M",null,1,false,false,0,"mg per mL; milligrams per milliliters; millilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"milligram per millimole","mg/mmol","MG/MMOL","mass",1.660540186674939e-24,[0,0,1,0,0,0,0],"mg/mmol",null,false,"M",null,1,false,false,-1,"mg per mmol; milligrams per millimole; ","LOINC","Ratio","Clinical","",null,null,null,null,false],[true,"milligram per week","mg/wk","MG/WK","mass",1.6534391534391535e-9,[0,-1,1,0,0,0,0],"mg/wk",null,false,"M",null,1,false,false,0,"mg/week; mg per wk; milligrams per weeks; milligram/week","LOINC","Mrat","Clinical","",null,null,null,null,false],[false,"milliliter","mL","ML","volume",0.000001,[3,0,0,0,0,0,0],"mL","iso1000",true,null,null,1,false,false,0,"milliliters; millilitres","LOINC","Vol","Clinical","","l",null,"1",1,false],[false,"milliliter per 10 hour","mL/(10.h)","ML/HR","volume",2.7777777777777777e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/10hrs; ml/10 hrs; mL per 10hrs; 10 hrs; milliliters per 10 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 12 hour","mL/(12.h)","ML/HR","volume",2.3148148148148147e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/12hrs; ml/12 hrs; mL per 12hrs; 12 hrs; milliliters per 12 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 2 hour","mL/(2.h)","ML/HR","volume",1.3888888888888888e-10,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/2hrs; ml/2 hrs; mL per 2hrs; 2 hrs; milliliters per 2 hours; millilitres ","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 24 hour","mL/(24.h)","ML/HR","volume",1.1574074074074074e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/24hrs; ml/24 hrs; mL per 24hrs; 24 hrs; milliliters per 24 hours; millilitres; ml/dy; /day; ml per dy; days; fluid outputs; fluid inputs; flow rate","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 4 hour","mL/(4.h)","ML/HR","volume",6.944444444444444e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/4hrs; ml/4 hrs; mL per 4hrs; 4 hrs; milliliters per 4 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 5 hour","mL/(5.h)","ML/HR","volume",5.5555555555555553e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/5hrs; ml/5 hrs; mL per 5hrs; 5 hrs; milliliters per 5 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 6 hour","mL/(6.h)","ML/HR","volume",4.6296296296296294e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/6hrs; ml/6 hrs; mL per 6hrs; 6 hrs; milliliters per 6 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 72 hour","mL/(72.h)","ML/HR","volume",3.8580246913580245e-12,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/72hrs; ml/72 hrs; mL per 72hrs; 72 hrs; milliliters per 72 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 8 hour","mL/(8.h)","ML/HR","volume",3.472222222222222e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/8hrs; ml/8 hrs; mL per 8hrs; 8 hrs; milliliters per 8 hours; millilitres; shift","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 8 hour per kilogram","mL/(8.h)/kg","(ML/HR)/KG","volume",3.472222222222222e-14,[3,-1,-1,0,0,0,0],"(mL/h)/kg","iso1000",true,null,null,1,false,false,0,"mL/kg/(8.h); ml/8h/kg; ml/8 h/kg; ml/8hr/kg; ml/8 hr/kgr; mL per 8h per kg; 8 h; 8hr; 8 hr; milliliters per 8 hours per kilogram; millilitres; shift","LOINC","VRatCnt","Clinical","unit used to measure renal excretion volume rate per body mass","l",null,"1",1,false],[false,"milliliter per square inch (international)","mL/[sin_i]","ML/[SIN_I]","volume",0.0015500031000061998,[1,0,0,0,0,0,0],"mL","iso1000",true,null,null,1,false,false,0,"mL/sin; mL/in2; mL/in^2; mL per sin; in2; in^2; sq. in; milliliters per square inch; inch squared","LOINC","ArVol","Clinical","","l",null,"1",1,false],[false,"milliliter per centimeter of water","mL/cm[H2O]","ML/CM[H2O]","volume",1.0197162129779282e-11,[4,2,-1,0,0,0,0],"mL/(cm HO2)","iso1000",true,null,null,1,false,false,0,"milliliters per centimeter of water; millilitre per centimetre of water; millilitres per centimetre of water; mL/cmH2O; mL/cm H2O; mL per cmH2O; mL per cm H2O","LOINC","Compli","Clinical","unit used to measure dynamic lung compliance","l",null,"1",1,false],[false,"milliliter per day","mL/d","ML/D","volume",1.1574074074074074e-11,[3,-1,0,0,0,0,0],"mL/d","iso1000",true,null,null,1,false,false,0,"ml/day; ml per day; milliliters per day; 24 hours; 24hrs; millilitre;","LOINC","VRat","Clinical","usually used to measure fluid output or input; flow rate","l",null,"1",1,false],[false,"milliliter per deciliter","mL/dL","ML/DL","volume",0.009999999999999998,[0,0,0,0,0,0,0],"mL/dL","iso1000",true,null,null,1,false,false,0,"mL per dL; millilitres; decilitre; milliliters","LOINC","VFr; VFrDiff","Clinical","","l",null,"1",1,false],[false,"milliliter per hour","mL/h","ML/HR","volume",2.7777777777777777e-10,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"mL/hr; mL per hr; milliliters per hour; millilitres; fluid intake; fluid output","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per kilogram","mL/kg","ML/KG","volume",9.999999999999999e-10,[3,0,-1,0,0,0,0],"mL/kg","iso1000",true,null,null,1,false,false,0,"mL per kg; milliliters per kilogram; millilitres","LOINC","VCnt","Clinical","","l",null,"1",1,false],[false,"milliliter per kilogram per 8 hour","mL/kg/(8.h)","(ML/KG)/HR","volume",3.472222222222222e-14,[3,-1,-1,0,0,0,0],"(mL/kg)/h","iso1000",true,null,null,1,false,false,0,"mL/(8.h.kg); mL/kg/8hrs; mL/kg/8 hrs; mL per kg per 8hrs; 8 hrs; milliliters per kilograms per 8 hours; millilitres; shift","LOINC","VCntRat; RelEngRat","Clinical","unit used to measure renal excretion volume rate per body mass","l",null,"1",1,false],[false,"milliliter per kilogram per day","mL/kg/d","(ML/KG)/D","volume",1.1574074074074072e-14,[3,-1,-1,0,0,0,0],"(mL/kg)/d","iso1000",true,null,null,1,false,false,0,"mL/(kg.d); mL/kg/dy; mL per kg per day; milliliters per kilograms per day; mg/kg/24hrs; 24 hrs; per 24 hours millilitres","LOINC","VCntRat; RelEngRat","Clinical","unit used to measure renal excretion volume rate per body mass","l",null,"1",1,false],[false,"milliliter per kilogram per hour","mL/kg/h","(ML/KG)/HR","volume",2.7777777777777774e-13,[3,-1,-1,0,0,0,0],"(mL/kg)/h","iso1000",true,null,null,1,false,false,0,"mL/(kg.h); mL/kg/hr; mL per kg per hr; milliliters per kilograms per hour; millilitres","LOINC","VCntRat; RelEngRat","Clinical","unit used to measure renal excretion volume rate per body mass","l",null,"1",1,false],[false,"milliliter per kilogram per minute","mL/kg/min","(ML/KG)/MIN","volume",1.6666666666666664e-11,[3,-1,-1,0,0,0,0],"(mL/kg)/min","iso1000",true,null,null,1,false,false,0,"mL/(kg.min); mL/kg/dy; mL per kg per day; milliliters per kilograms per day; millilitres","LOINC","RelEngRat","Clinical","used for tests that measure activity metabolic rate compared to standard resting metabolic rate ","l",null,"1",1,false],[false,"milliliter per square meter","mL/m2","ML/M2","volume",0.000001,[1,0,0,0,0,0,0],"mL/(m2)","iso1000",true,null,null,1,false,false,0,"mL/m^2; mL/sq. meter; mL per m2; m^2; sq. meter; milliliters per square meter; millilitres; meter squared","LOINC","ArVol","Clinical","used for tests that relate to heart work - e.g. ventricular stroke volume; atrial volume per body surface area","l",null,"1",1,false],[false,"milliliter per millibar","mL/mbar","ML/MBAR","volume",1e-11,[4,2,-1,0,0,0,0],"mL/mbar","iso1000",true,null,null,1,false,false,0,"mL per mbar; milliliters per millibar; millilitres","LOINC","","Clinical","unit used to measure dynamic lung compliance","l",null,"1",1,false],[false,"milliliter per minute","mL/min","ML/MIN","volume",1.6666666666666667e-8,[3,-1,0,0,0,0,0],"mL/min","iso1000",true,null,null,1,false,false,0,"mL per min; milliliters; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per minute per square meter","mL/min/m2","(ML/MIN)/M2","volume",1.6666666666666667e-8,[1,-1,0,0,0,0,0],"(mL/min)/(m2)","iso1000",true,null,null,1,false,false,0,"ml/min/m^2; ml/min/sq. meter; mL per min per m2; m^2; sq. meter; milliliters per minutes per square meter; millilitres; metre; meter squared","LOINC","ArVRat","Clinical","unit used to measure volume per body surface area; oxygen consumption index","l",null,"1",1,false],[false,"milliliter per millimeter","mL/mm","ML/MM","volume",0.001,[2,0,0,0,0,0,0],"mL/mm","iso1000",true,null,null,1,false,false,0,"mL per mm; milliliters per millimeter; millilitres; millimetre","LOINC","Lineic Volume","Clinical","","l",null,"1",1,false],[false,"milliliter per second","mL/s","ML/S","volume",0.000001,[3,-1,0,0,0,0,0],"mL/s","iso1000",true,null,null,1,false,false,0,"ml/sec; mL per sec; milliliters per second; millilitres","LOINC","Vel; VelRat; VRat","Clinical","","l",null,"1",1,false],[true,"millimeter","mm","MM","length",0.001,[1,0,0,0,0,0,0],"mm",null,false,"L",null,1,false,false,0,"millimeters; millimetres; height; length; diameter; thickness; axis; curvature; size","LOINC","Len","Clinical","",null,null,null,null,false],[true,"millimeter per hour","mm/h","MM/HR","length",2.7777777777777776e-7,[1,-1,0,0,0,0,0],"mm/h",null,false,"L",null,1,false,false,0,"mm/hr; mm per hr; millimeters per hour; millimetres","LOINC","Vel","Clinical","unit to measure sedimentation rate",null,null,null,null,false],[true,"millimeter per minute","mm/min","MM/MIN","length",0.000016666666666666667,[1,-1,0,0,0,0,0],"mm/min",null,false,"L",null,1,false,false,0,"mm per min; millimeters per minute; millimetres","LOINC","Vel","Clinical","",null,null,null,null,false],[false,"millimeter of water","mm[H2O]","MM[H2O]","pressure",9806.65,[-1,-2,1,0,0,0,0],"mm HO2","clinical",true,null,null,1,false,false,0,"mmH2O; mm H2O; millimeters of water; millimetres","LOINC","Pres","Clinical","","kPa","KPAL","980665e-5",9.80665,false],[false,"millimeter of mercury","mm[Hg]","MM[HG]","pressure",133322,[-1,-2,1,0,0,0,0],"mm Hg","clinical",true,null,null,1,false,false,0,"mmHg; mm Hg; millimeters of mercury; millimetres","LOINC","Pres; PPres; Ratio","Clinical","1 mm[Hg] = 1 torr; unit to measure blood pressure","kPa","KPAL","133.3220",133.322,false],[true,"square millimeter","mm2","MM2","length",0.000001,[2,0,0,0,0,0,0],"mm2",null,false,"L",null,1,false,false,0,"mm^2; sq. mm.; sq. millimeters; millimeters squared; millimetres","LOINC","Area","Clinical","",null,null,null,null,false],[false,"millimole","mmol","MMOL","amount of substance",602213670000000000000,[0,0,0,0,0,0,0],"mmol","si",true,null,null,1,false,false,1,"millimoles","LOINC","Sub","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 12 hour","mmol/(12.h)","MMOL/HR","amount of substance",13940131250000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/12hrs; mmol/12 hrs; mmol per 12 hrs; 12hrs; millimoles per 12 hours","LOINC","SRat","Clinical","unit for tests related to urine","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 2 hour","mmol/(2.h)","MMOL/HR","amount of substance",83640787500000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/2hrs; mmol/2 hrs; mmol per 2 hrs; 2hrs; millimoles per 2 hours","LOINC","SRat","Clinical","unit for tests related to urine","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 24 hour","mmol/(24.h)","MMOL/HR","amount of substance",6970065625000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/24hrs; mmol/24 hrs; mmol per 24 hrs; 24hrs; millimoles per 24 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 5 hour","mmol/(5.h)","MMOL/HR","amount of substance",33456315000000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/5hrs; mmol/5 hrs; mmol per 5 hrs; 5hrs; millimoles per 5 hours","LOINC","SRat","Clinical","unit for tests related to doses","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 6 hour","mmol/(6.h)","MMOL/HR","amount of substance",27880262500000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/6hrs; mmol/6 hrs; mmol per 6 hrs; 6hrs; millimoles per 6 hours","LOINC","SRat","Clinical","unit for tests related to urine","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 8 hour","mmol/(8.h)","MMOL/HR","amount of substance",20910196875000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/8hrs; mmol/8 hrs; mmol per 8 hrs; 8hrs; millimoles per 8 hours; shift","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per day","mmol/d","MMOL/D","amount of substance",6970065625000000,[0,-1,0,0,0,0,0],"mmol/d","si",true,null,null,1,false,false,1,"mmol/24hrs; mmol/24 hrs; mmol per 24 hrs; 24hrs; millimoles per 24 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per deciliter","mmol/dL","MMOL/DL","amount of substance",6.022136699999999e+24,[-3,0,0,0,0,0,0],"mmol/dL","si",true,null,null,1,false,false,1,"mmol per dL; millimoles; decilitre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per gram","mmol/g","MMOL/G","amount of substance",602213670000000000000,[0,0,-1,0,0,0,0],"mmol/g","si",true,null,null,1,false,false,1,"mmol per gram; millimoles","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per hour","mmol/h","MMOL/HR","amount of substance",167281575000000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/hr; mmol per hr; millimoles per hour","LOINC","SRat","Clinical","unit for tests related to urine","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per kilogram","mmol/kg","MMOL/KG","amount of substance",602213670000000000,[0,0,-1,0,0,0,0],"mmol/kg","si",true,null,null,1,false,false,1,"mmol per kg; millimoles per kilogram","LOINC","SCnt","Clinical","unit for tests related to stool","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per kilogram per 8 hour","mmol/kg/(8.h)","(MMOL/KG)/HR","amount of substance",20910196875000,[0,-1,-1,0,0,0,0],"(mmol/kg)/h","si",true,null,null,1,false,false,1,"mmol/(8.h.kg); mmol/kg/8hrs; mmol/kg/8 hrs; mmol per kg per 8hrs; 8 hrs; millimoles per kilograms per 8 hours; shift","LOINC","CCnt","Clinical","unit used to measure molar dose rate per patient body mass","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per kilogram per day","mmol/kg/d","(MMOL/KG)/D","amount of substance",6970065625000,[0,-1,-1,0,0,0,0],"(mmol/kg)/d","si",true,null,null,1,false,false,1,"mmol/kg/dy; mmol/kg/day; mmol per kg per dy; millimoles per kilograms per day","LOINC","RelSRat","Clinical","unit used to measure molar dose rate per patient body mass","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per kilogram per hour","mmol/kg/h","(MMOL/KG)/HR","amount of substance",167281575000000,[0,-1,-1,0,0,0,0],"(mmol/kg)/h","si",true,null,null,1,false,false,1,"mmol/kg/hr; mmol per kg per hr; millimoles per kilograms per hour","LOINC","CCnt","Clinical","unit used to measure molar dose rate per patient body mass","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per kilogram per minute","mmol/kg/min","(MMOL/KG)/MIN","amount of substance",10036894500000000,[0,-1,-1,0,0,0,0],"(mmol/kg)/min","si",true,null,null,1,false,false,1,"mmol/(kg.min); mmol/kg/min; mmol per kg per min; millimoles per kilograms per minute","LOINC","CCnt","Clinical","unit used to measure molar dose rate per patient body mass; note that the unit for the enzyme unit U = umol/min. mmol/kg/min = kU/kg; ","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per liter","mmol/L","MMOL/L","amount of substance",6.0221367e+23,[-3,0,0,0,0,0,0],"mmol/L","si",true,null,null,1,false,false,1,"mmol per L; millimoles per liter; litre","LOINC","SCnc","Clinical","unit for tests related to doses","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per square meter","mmol/m2","MMOL/M2","amount of substance",602213670000000000000,[-2,0,0,0,0,0,0],"mmol/(m2)","si",true,null,null,1,false,false,1,"mmol/m^2; mmol/sq. meter; mmol per m2; m^2; sq. meter; millimoles; meter squared; metre","LOINC","ArSub","Clinical","unit used to measure molar dose per patient body surface area","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per minute","mmol/min","MMOL/MIN","amount of substance",10036894500000000000,[0,-1,0,0,0,0,0],"mmol/min","si",true,null,null,1,false,false,1,"mmol per min; millimoles per minute","LOINC","Srat; CAct","Clinical","unit for the enzyme unit U = umol/min. mmol/min = kU","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per millimole","mmol/mmol","MMOL/MMOL","amount of substance",1,[0,0,0,0,0,0,0],"mmol/mmol","si",true,null,null,1,false,false,0,"mmol per mmol; millimoles per millimole","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per mole","mmol/mol","MMOL/MOL","amount of substance",0.001,[0,0,0,0,0,0,0],"mmol/mol","si",true,null,null,1,false,false,0,"mmol per mol; millimoles per mole","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per second per liter","mmol/s/L","(MMOL/S)/L","amount of substance",6.0221367e+23,[-3,-1,0,0,0,0,0],"(mmol/s)/L","si",true,null,null,1,false,false,1,"mmol/sec/L; mmol per s per L; per sec; millimoles per seconds per liter; litre","LOINC","CCnc ","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per kilogram","mol/kg","MOL/KG","amount of substance",602213670000000000000,[0,0,-1,0,0,0,0],"mol/kg","si",true,null,null,1,false,false,1,"mol per kg; moles; mols","LOINC","SCnt","Clinical","unit for tests related to stool","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per kilogram per second","mol/kg/s","(MOL/KG)/S","amount of substance",602213670000000000000,[0,-1,-1,0,0,0,0],"(mol/kg)/s","si",true,null,null,1,false,false,1,"mol/kg/sec; mol per kg per sec; moles per kilograms per second; mols","LOINC","CCnt","Clinical","unit of catalytic activity (mol/s) per mass (kg)","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per liter","mol/L","MOL/L","amount of substance",6.0221366999999994e+26,[-3,0,0,0,0,0,0],"mol/L","si",true,null,null,1,false,false,1,"mol per L; moles per liter; litre; moles; mols","LOINC","SCnc","Clinical","unit often used in tests measuring oxygen content","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per cubic meter","mol/m3","MOL/M3","amount of substance",6.0221367e+23,[-3,0,0,0,0,0,0],"mol/(m3)","si",true,null,null,1,false,false,1,"mol/m^3; mol/cu. m; mol per m3; m^3; cu. meter; mols; moles; meters cubed; metre; mole per kiloliter; kilolitre; mol/kL","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per milliliter","mol/mL","MOL/ML","amount of substance",6.0221367e+29,[-3,0,0,0,0,0,0],"mol/mL","si",true,null,null,1,false,false,1,"mol per mL; moles; millilitre; mols","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per mole","mol/mol","MOL/MOL","amount of substance",1,[0,0,0,0,0,0,0],"mol/mol","si",true,null,null,1,false,false,0,"mol per mol; moles per mol; mols","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per second","mol/s","MOL/S","amount of substance",6.0221367e+23,[0,-1,0,0,0,0,0],"mol/s","si",true,null,null,1,false,false,1,"mol per sec; moles per second; mols","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"milliosmole","mosm","MOSM","amount of substance (dissolved particles)",602213670000000000000,[0,0,0,0,0,0,0],"mosm","chemical",true,null,null,1,false,false,1,"milliosmoles","LOINC","Osmol","Clinical","equal to 1/1000 of an osmole","mol","MOL","1",1,false],[false,"milliosmole per kilogram","mosm/kg","MOSM/KG","amount of substance (dissolved particles)",602213670000000000,[0,0,-1,0,0,0,0],"mosm/kg","chemical",true,null,null,1,false,false,1,"mosm per kg; milliosmoles per kilogram","LOINC","Osmol","Clinical","","mol","MOL","1",1,false],[false,"milliosmole per liter","mosm/L","MOSM/L","amount of substance (dissolved particles)",6.0221367e+23,[-3,0,0,0,0,0,0],"mosm/L","chemical",true,null,null,1,false,false,1,"mosm per liter; litre; milliosmoles","LOINC","Osmol","Clinical","","mol","MOL","1",1,false],[false,"millipascal","mPa","MPAL","pressure",1,[-1,-2,1,0,0,0,0],"mPa","si",true,null,null,1,false,false,0,"millipascals","LOINC","Pres","Clinical","unit of pressure","N/m2","N/M2","1",1,false],[false,"millipascal second","mPa.s","MPAL.S","pressure",1,[-1,-1,1,0,0,0,0],"mPa.s","si",true,null,null,1,false,false,0,"mPa*s; millipoise; mP; dynamic viscosity","LOINC","Visc","Clinical","base units for millipoise, a measurement of dynamic viscosity","N/m2","N/M2","1",1,false],[true,"megasecond","Ms","MAS","time",1000000,[0,1,0,0,0,0,0],"Ms",null,false,"T",null,1,false,false,0,"megaseconds","LOINC","Time","Clinical","",null,null,null,null,false],[true,"millisecond","ms","MS","time",0.001,[0,1,0,0,0,0,0],"ms",null,false,"T",null,1,false,false,0,"milliseconds; duration","LOINC","Time","Clinical","",null,null,null,null,false],[false,"milli enzyme unit per gram","mU/g","MU/G","catalytic activity",10036894500000,[0,-1,-1,0,0,0,0],"mU/g","chemical",true,null,null,1,false,false,1,"mU per gm; milli enzyme units per gram; enzyme activity; enzymatic activity per mass","LOINC","CCnt","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min","umol/min","UMOL/MIN","1",1,false],[false,"milli enzyme unit per liter","mU/L","MU/L","catalytic activity",10036894500000000,[-3,-1,0,0,0,0,0],"mU/L","chemical",true,null,null,1,false,false,1,"mU per liter; litre; milli enzyme units enzymatic activity per volume; enzyme activity","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min","umol/min","UMOL/MIN","1",1,false],[false,"milli enzyme unit per milligram","mU/mg","MU/MG","catalytic activity",10036894500000000,[0,-1,-1,0,0,0,0],"mU/mg","chemical",true,null,null,1,false,false,1,"mU per mg; milli enzyme units per milligram","LOINC","CCnt","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min","umol/min","UMOL/MIN","1",1,false],[false,"milli enzyme unit per milliliter","mU/mL","MU/ML","catalytic activity",10036894500000000000,[-3,-1,0,0,0,0,0],"mU/mL","chemical",true,null,null,1,false,false,1,"mU per mL; milli enzyme units per milliliter; millilitre; enzymatic activity per volume; enzyme activity","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min","umol/min","UMOL/MIN","1",1,false],[false,"milli enzyme unit per milliliter per minute","mU/mL/min","(MU/ML)/MIN","catalytic activity",167281575000000000,[-3,-2,0,0,0,0,0],"(mU/mL)/min","chemical",true,null,null,1,false,false,1,"mU per mL per min; mU per milliliters per minute; millilitres; milli enzyme units; enzymatic activity; enzyme activity","LOINC","CCncRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min","umol/min","UMOL/MIN","1",1,false],[false,"millivolt","mV","MV","electric potential",1,[2,-2,1,0,0,-1,0],"mV","si",true,null,null,1,false,false,0,"millivolts","LOINC","Elpot","Clinical","unit of electric potential (voltage)","J/C","J/C","1",1,false],[false,"Newton centimeter","N.cm","N.CM","force",10,[2,-2,1,0,0,0,0],"N.cm","si",true,null,null,1,false,false,0,"N*cm; Ncm; N cm; Newton*centimeters; Newton* centimetres; torque; work","LOINC","","Clinical","as a measurement of work, N.cm = 1/100 Joules;\\nnote that N.m is the standard unit of measurement for torque (although dimensionally equivalent to Joule), and N.cm can also be thought of as a torqe unit","kg.m/s2","KG.M/S2","1",1,false],[false,"Newton second","N.s","N.S","force",1000,[1,-1,1,0,0,0,0],"N.s","si",true,null,null,1,false,false,0,"Newton*seconds; N*s; N s; Ns; impulse; imp","LOINC","","Clinical","standard unit of impulse","kg.m/s2","KG.M/S2","1",1,false],[true,"nanogram","ng","NG","mass",1e-9,[0,0,1,0,0,0,0],"ng",null,false,"M",null,1,false,false,0,"nanograms","LOINC","Mass","Clinical","",null,null,null,null,false],[true,"nanogram per 24 hour","ng/(24.h)","NG/HR","mass",1.1574074074074075e-14,[0,-1,1,0,0,0,0],"ng/h",null,false,"M",null,1,false,false,0,"ng/24hrs; ng/24 hrs; nanograms per 24 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"nanogram per 8 hour","ng/(8.h)","NG/HR","mass",3.4722222222222224e-14,[0,-1,1,0,0,0,0],"ng/h",null,false,"M",null,1,false,false,0,"ng/8hrs; ng/8 hrs; nanograms per 8 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"nanogram per million","ng/10*6","NG/(10*6)","mass",1e-15,[0,0,1,0,0,0,0],"ng/(106)",null,false,"M",null,1,false,false,0,"ng/10^6; ng per 10*6; 10^6; nanograms","LOINC","MNum","Clinical","",null,null,null,null,false],[true,"nanogram per day","ng/d","NG/D","mass",1.1574074074074075e-14,[0,-1,1,0,0,0,0],"ng/d",null,false,"M",null,1,false,false,0,"ng/dy; ng per day; nanograms ","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"nanogram per deciliter","ng/dL","NG/DL","mass",0.00001,[-3,0,1,0,0,0,0],"ng/dL",null,false,"M",null,1,false,false,0,"ng per dL; nanograms per deciliter; decilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"nanogram per gram","ng/g","NG/G","mass",1e-9,[0,0,0,0,0,0,0],"ng/g",null,false,"M",null,1,false,false,0,"ng/gm; ng per gm; nanograms per gram","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"nanogram per hour","ng/h","NG/HR","mass",2.777777777777778e-13,[0,-1,1,0,0,0,0],"ng/h",null,false,"M",null,1,false,false,0,"ng/hr; ng per hr; nanograms per hour","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"nanogram per kilogram","ng/kg","NG/KG","mass",1e-12,[0,0,0,0,0,0,0],"ng/kg",null,false,"M",null,1,false,false,0,"ng per kg; nanograms per kilogram","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"nanogram per kilogram per 8 hour","ng/kg/(8.h)","(NG/KG)/HR","mass",3.472222222222222e-17,[0,-1,0,0,0,0,0],"(ng/kg)/h",null,false,"M",null,1,false,false,0,"ng/(8.h.kg); ng/kg/8hrs; ng/kg/8 hrs; ng per kg per 8hrs; 8 hrs; nanograms per kilograms per 8 hours; shift","LOINC","MRtoRat ","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"nanogram per kilogram per hour","ng/kg/h","(NG/KG)/HR","mass",2.7777777777777775e-16,[0,-1,0,0,0,0,0],"(ng/kg)/h",null,false,"M",null,1,false,false,0,"ng/(kg.h); ng/kg/hr; ng per kg per hr; nanograms per kilograms per hour","LOINC","MRtoRat ","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"nanogram per kilogram per minute","ng/kg/min","(NG/KG)/MIN","mass",1.6666666666666667e-14,[0,-1,0,0,0,0,0],"(ng/kg)/min",null,false,"M",null,1,false,false,0,"ng/(kg.min); ng per kg per min; nanograms per kilograms per minute","LOINC","MRtoRat ","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"nanogram per liter","ng/L","NG/L","mass",0.000001,[-3,0,1,0,0,0,0],"ng/L",null,false,"M",null,1,false,false,0,"ng per L; nanograms per liter; litre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"nanogram per square meter","ng/m2","NG/M2","mass",1e-9,[-2,0,1,0,0,0,0],"ng/(m2)",null,false,"M",null,1,false,false,0,"ng/m^2; ng/sq. m; ng per m2; m^2; sq. meter; nanograms; meter squared; metre","LOINC","ArMass","Clinical","unit used to measure mass dose per patient body surface area",null,null,null,null,false],[true,"nanogram per milligram","ng/mg","NG/MG","mass",0.000001,[0,0,0,0,0,0,0],"ng/mg",null,false,"M",null,1,false,false,0,"ng per mg; nanograms","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"nanogram per milligram per hour","ng/mg/h","(NG/MG)/HR","mass",2.7777777777777777e-10,[0,-1,0,0,0,0,0],"(ng/mg)/h",null,false,"M",null,1,false,false,0,"ng/mg/hr; ng per mg per hr; nanograms per milligrams per hour","LOINC","MRtoRat ","Clinical","",null,null,null,null,false],[true,"nanogram per minute","ng/min","NG/MIN","mass",1.6666666666666667e-11,[0,-1,1,0,0,0,0],"ng/min",null,false,"M",null,1,false,false,0,"ng per min; nanograms","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"nanogram per millliiter","ng/mL","NG/ML","mass",0.001,[-3,0,1,0,0,0,0],"ng/mL",null,false,"M",null,1,false,false,0,"ng per mL; nanograms; millilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"nanogram per milliliter per hour","ng/mL/h","(NG/ML)/HR","mass",2.7777777777777776e-7,[-3,-1,1,0,0,0,0],"(ng/mL)/h",null,false,"M",null,1,false,false,0,"ng/mL/hr; ng per mL per mL; nanograms per milliliter per hour; nanogram per millilitre per hour; nanograms per millilitre per hour; enzymatic activity per volume; enzyme activity per milliliters","LOINC","CCnc","Clinical","tests that measure enzymatic activity",null,null,null,null,false],[true,"nanogram per second","ng/s","NG/S","mass",1e-9,[0,-1,1,0,0,0,0],"ng/s",null,false,"M",null,1,false,false,0,"ng/sec; ng per sec; nanograms per second","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"nanogram per enzyme unit","ng/U","NG/U","mass",9.963241120049634e-26,[0,1,1,0,0,0,0],"ng/U",null,false,"M",null,1,false,false,-1,"ng per U; nanograms per enzyme unit","LOINC","CMass","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)",null,null,null,null,false],[false,"nanokatal","nkat","NKAT","catalytic activity",602213670000000,[0,-1,0,0,0,0,0],"nkat","chemical",true,null,null,1,false,false,1,"nanokatals","LOINC","CAct","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"nanoliter","nL","NL","volume",1.0000000000000002e-12,[3,0,0,0,0,0,0],"nL","iso1000",true,null,null,1,false,false,0,"nanoliters; nanolitres","LOINC","Vol","Clinical","","l",null,"1",1,false],[true,"nanometer","nm","NM","length",1e-9,[1,0,0,0,0,0,0],"nm",null,false,"L",null,1,false,false,0,"nanometers; nanometres","LOINC","Len","Clinical","",null,null,null,null,false],[true,"nanometer per second per liter","nm/s/L","(NM/S)/L","length",0.000001,[-2,-1,0,0,0,0,0],"(nm/s)/L",null,false,"L",null,1,false,false,0,"nm/sec/liter; nm/sec/litre; nm per s per l; nm per sec per l; nanometers per second per liter; nanometre per second per litre; nanometres per second per litre","LOINC","VelCnc","Clinical","",null,null,null,null,false],[false,"nanomole","nmol","NMOL","amount of substance",602213670000000,[0,0,0,0,0,0,0],"nmol","si",true,null,null,1,false,false,1,"nanomoles","LOINC","Sub","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per 24 hour","nmol/(24.h)","NMOL/HR","amount of substance",6970065625,[0,-1,0,0,0,0,0],"nmol/h","si",true,null,null,1,false,false,1,"nmol/24hr; nmol/24 hr; nanomoles per 24 hours; nmol/day; nanomoles per day; nmol per day; nanomole/day; nanomol/day","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per day","nmol/d","NMOL/D","amount of substance",6970065625,[0,-1,0,0,0,0,0],"nmol/d","si",true,null,null,1,false,false,1,"nmol/day; nanomoles per day; nmol per day; nanomole/day; nanomol/day; nmol/24hr; nmol/24 hr; nanomoles per 24 hours; ","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per deciliter","nmol/dL","NMOL/DL","amount of substance",6022136700000000000,[-3,0,0,0,0,0,0],"nmol/dL","si",true,null,null,1,false,false,1,"nmol per dL; nanomoles per deciliter; nanomole per decilitre; nanomoles per decilitre; nanomole/deciliter; nanomole/decilitre; nanomol/deciliter; nanomol/decilitre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per gram","nmol/g","NMOL/G","amount of substance",602213670000000,[0,0,-1,0,0,0,0],"nmol/g","si",true,null,null,1,false,false,1,"nmol per gram; nanomoles per gram; nanomole/gram","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per hour per liter","nmol/h/L","(NMOL/HR)/L","amount of substance",167281575000000,[-3,-1,0,0,0,0,0],"(nmol/h)/L","si",true,null,null,1,false,false,1,"nmol/hrs/L; nmol per hrs per L; nanomoles per hours per liter; litre; enzymatic activity per volume; enzyme activities","LOINC","CCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per liter","nmol/L","NMOL/L","amount of substance",602213670000000000,[-3,0,0,0,0,0,0],"nmol/L","si",true,null,null,1,false,false,1,"nmol per L; nanomoles per liter; litre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milligram","nmol/mg","NMOL/MG","amount of substance",602213670000000000,[0,0,-1,0,0,0,0],"nmol/mg","si",true,null,null,1,false,false,1,"nmol per mg; nanomoles per milligram","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milligram per hour","nmol/mg/h","(NMOL/MG)/HR","amount of substance",167281575000000,[0,-1,-1,0,0,0,0],"(nmol/mg)/h","si",true,null,null,1,false,false,1,"nmol/mg/hr; nmol per mg per hr; nanomoles per milligrams per hour","LOINC","SCntRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milligram of protein","nmol/mg{prot}","NMOL/MG","amount of substance",602213670000000000,[0,0,-1,0,0,0,0],"nmol/mg","si",true,null,null,1,false,false,1,"nanomoles; nmol/mg prot; nmol per mg prot","LOINC","Ratio; CCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per minute","nmol/min","NMOL/MIN","amount of substance",10036894500000,[0,-1,0,0,0,0,0],"nmol/min","si",true,null,null,1,false,false,1,"nmol per min; nanomoles per minute; milli enzyme units; enzyme activity per volume; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. nmol/min = mU (milli enzyme unit)","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per minute per milliliter","nmol/min/mL","(NMOL/MIN)/ML","amount of substance",10036894500000000000,[-3,-1,0,0,0,0,0],"(nmol/min)/mL","si",true,null,null,1,false,false,1,"nmol per min per mL; nanomoles per minutes per milliliter; millilitre; milli enzyme units per volume; enzyme activity; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. nmol/mL/min = mU/mL","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milliliter","nmol/mL","NMOL/ML","amount of substance",602213670000000000000,[-3,0,0,0,0,0,0],"nmol/mL","si",true,null,null,1,false,false,1,"nmol per mL; nanomoles per milliliter; millilitre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milliliter per hour","nmol/mL/h","(NMOL/ML)/HR","amount of substance",167281575000000000,[-3,-1,0,0,0,0,0],"(nmol/mL)/h","si",true,null,null,1,false,false,1,"nmol/mL/hr; nmol per mL per hr; nanomoles per milliliters per hour; millilitres; milli enzyme units per volume; enzyme activity; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min.","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milliliter per minute","nmol/mL/min","(NMOL/ML)/MIN","amount of substance",10036894500000000000,[-3,-1,0,0,0,0,0],"(nmol/mL)/min","si",true,null,null,1,false,false,1,"nmol per mL per min; nanomoles per milliliters per min; millilitres; milli enzyme units per volume; enzyme activity; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. nmol/mL/min = mU/mL","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per millimole","nmol/mmol","NMOL/MMOL","amount of substance",0.000001,[0,0,0,0,0,0,0],"nmol/mmol","si",true,null,null,1,false,false,0,"nmol per mmol; nanomoles per millimole","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per millimole of creatinine","nmol/mmol{creat}","NMOL/MMOL","amount of substance",0.000001,[0,0,0,0,0,0,0],"nmol/mmol","si",true,null,null,1,false,false,0,"nanomoles","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per mole","nmol/mol","NMOL/MOL","amount of substance",1e-9,[0,0,0,0,0,0,0],"nmol/mol","si",true,null,null,1,false,false,0,"nmol per mole; nanomoles","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per nanomole","nmol/nmol","NMOL/NMOL","amount of substance",1,[0,0,0,0,0,0,0],"nmol/nmol","si",true,null,null,1,false,false,0,"nmol per nmol; nanomoles","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per second","nmol/s","NMOL/S","amount of substance",602213670000000,[0,-1,0,0,0,0,0],"nmol/s","si",true,null,null,1,false,false,1,"nmol/sec; nmol per sec; nanomoles per sercond; milli enzyme units; enzyme activity; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min.","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per second per liter","nmol/s/L","(NMOL/S)/L","amount of substance",602213670000000000,[-3,-1,0,0,0,0,0],"(nmol/s)/L","si",true,null,null,1,false,false,1,"nmol/sec/L; nmol per s per L; nmol per sec per L; nanomoles per seconds per liter; litre; milli enzyme units per volume; enzyme activity; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min.","10*23","10*23","6.0221367",6.0221367,false],[true,"nanosecond","ns","NS","time",1e-9,[0,1,0,0,0,0,0],"ns",null,false,"T",null,1,false,false,0,"nanoseconds","LOINC","Time","Clinical","",null,null,null,null,false],[false,"nanoenzyme unit per milliliter","nU/mL","NU/ML","catalytic activity",10036894500000,[-3,-1,0,0,0,0,0],"nU/mL","chemical",true,null,null,1,false,false,1,"nU per mL; nanoenzyme units per milliliter; millilitre; enzymatic activity per volume; enzyme activity","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 fU = pmol/min","umol/min","UMOL/MIN","1",1,false],[false,"Ohm meter","Ohm.m","OHM.M","electric resistance",1000,[3,-1,1,0,0,-2,0],"Ω.m","si",true,null,null,1,false,false,0,"electric resistivity; meters; metres","LOINC","","Clinical","unit of electric resistivity","V/A","V/A","1",1,false],[false,"osmole per kilogram","osm/kg","OSM/KG","amount of substance (dissolved particles)",602213670000000000000,[0,0,-1,0,0,0,0],"osm/kg","chemical",true,null,null,1,false,false,1,"osm per kg; osmoles per kilogram; osmols","LOINC","Osmol","Clinical","","mol","MOL","1",1,false],[false,"osmole per liter","osm/L","OSM/L","amount of substance (dissolved particles)",6.0221366999999994e+26,[-3,0,0,0,0,0,0],"osm/L","chemical",true,null,null,1,false,false,1,"osm per L; osmoles per liter; litre; osmols","LOINC","Osmol","Clinical","","mol","MOL","1",1,false],[false,"picoampere","pA","PA","electric current",1e-12,[0,-1,0,0,0,1,0],"pA","si",true,null,null,1,false,false,0,"picoamperes","LOINC","","Clinical","equal to 10^-12 amperes","C/s","C/S","1",1,false],[true,"picogram","pg","PG","mass",1e-12,[0,0,1,0,0,0,0],"pg",null,false,"M",null,1,false,false,0,"picograms","LOINC","Mass; EntMass","Clinical","",null,null,null,null,false],[true,"picogram per deciliter","pg/dL","PG/DL","mass",9.999999999999999e-9,[-3,0,1,0,0,0,0],"pg/dL",null,false,"M",null,1,false,false,0,"pg per dL; picograms; decilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"picogram per liter","pg/L","PG/L","mass",1e-9,[-3,0,1,0,0,0,0],"pg/L",null,false,"M",null,1,false,false,0,"pg per L; picograms; litre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"picogram per milligram","pg/mg","PG/MG","mass",1e-9,[0,0,0,0,0,0,0],"pg/mg",null,false,"M",null,1,false,false,0,"pg per mg; picograms","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"picogram per milliliter","pg/mL","PG/ML","mass",0.000001,[-3,0,1,0,0,0,0],"pg/mL",null,false,"M",null,1,false,false,0,"pg per mL; picograms per milliliter; millilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"picogram per millimeter","pg/mm","PG/MM","mass",1e-9,[-1,0,1,0,0,0,0],"pg/mm",null,false,"M",null,1,false,false,0,"pg per mm; picogram/millimeter; picogram/millimetre; picograms per millimeter; millimetre","LOINC","Lineic Mass","Clinical","",null,null,null,null,false],[false,"picokatal","pkat","PKAT","catalytic activity",602213670000,[0,-1,0,0,0,0,0],"pkat","chemical",true,null,null,1,false,false,1,"pkats; picokatals","LOINC","CAct","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"picoliter","pL","PL","volume",1e-15,[3,0,0,0,0,0,0],"pL","iso1000",true,null,null,1,false,false,0,"picoliters; picolitres","LOINC","Vol","Clinical","","l",null,"1",1,false],[true,"picometer","pm","PM","length",1e-12,[1,0,0,0,0,0,0],"pm",null,false,"L",null,1,false,false,0,"picometers; picometres","LOINC","Len","Clinical","",null,null,null,null,false],[false,"picomole","pmol","PMOL","amount of substance",602213670000,[0,0,0,0,0,0,0],"pmol","si",true,null,null,1,false,false,1,"picomoles; pmols","LOINC","Sub","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per 24 hour","pmol/(24.h)","PMOL/HR","amount of substance",6970065.625,[0,-1,0,0,0,0,0],"pmol/h","si",true,null,null,1,false,false,1,"pmol/24hrs; pmol/24 hrs; pmol per 24 hrs; 24hrs; days; dy; picomoles per 24 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per day","pmol/d","PMOL/D","amount of substance",6970065.625,[0,-1,0,0,0,0,0],"pmol/d","si",true,null,null,1,false,false,1,"pmol/dy; pmol per day; 24 hours; 24hrs; 24 hrs; picomoles","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per deciliter","pmol/dL","PMOL/DL","amount of substance",6022136700000000,[-3,0,0,0,0,0,0],"pmol/dL","si",true,null,null,1,false,false,1,"pmol per dL; picomoles per deciliter; decilitre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per gram","pmol/g","PMOL/G","amount of substance",602213670000,[0,0,-1,0,0,0,0],"pmol/g","si",true,null,null,1,false,false,1,"pmol per gm; picomoles per gram; picomole/gram","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per hour per milliliter ","pmol/h/mL","(PMOL/HR)/ML","amount of substance",167281575000000,[-3,-1,0,0,0,0,0],"(pmol/h)/mL","si",true,null,null,1,false,false,1,"pmol/hrs/mL; pmol per hrs per mL; picomoles per hour per milliliter; millilitre; micro enzyme units per volume; enzymatic activity; enzyme activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. ","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per liter","pmol/L","PMOL/L","amount of substance",602213670000000,[-3,0,0,0,0,0,0],"pmol/L","si",true,null,null,1,false,false,1,"picomole/liter; pmol per L; picomoles; litre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per minute","pmol/min","PMOL/MIN","amount of substance",10036894500,[0,-1,0,0,0,0,0],"pmol/min","si",true,null,null,1,false,false,1,"picomole/minute; pmol per min; picomoles per minute; micro enzyme units; enzymatic activity; enzyme activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. pmol/min = uU (micro enzyme unit)","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per milliliter","pmol/mL","PMOL/ML","amount of substance",602213670000000000,[-3,0,0,0,0,0,0],"pmol/mL","si",true,null,null,1,false,false,1,"picomole/milliliter; picomole/millilitre; pmol per mL; picomoles; millilitre; picomols; pmols","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per micromole","pmol/umol","PMOL/UMOL","amount of substance",0.000001,[0,0,0,0,0,0,0],"pmol/μmol","si",true,null,null,1,false,false,0,"pmol/mcgmol; picomole/micromole; pmol per umol; pmol per mcgmol; picomoles ","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[true,"picosecond","ps","PS","time",1e-12,[0,1,0,0,0,0,0],"ps",null,false,"T",null,1,false,false,0,"picoseconds; psec","LOINC","Time","Clinical","",null,null,null,null,false],[false,"picotesla","pT","PT","magnetic flux density",1e-9,[0,-1,1,0,0,-1,0],"pT","si",true,null,null,1,false,false,0,"picoteslas","LOINC","","Clinical","SI unit of magnetic field strength for magnetic field B","Wb/m2","WB/M2","1",1,false],[false,"enzyme unit per 12 hour","U/(12.h)","U/HR","catalytic activity",232335520833.33334,[0,-2,0,0,0,0,0],"U/h","chemical",true,null,null,1,false,false,1,"U/12hrs; U/ 12hrs; U per 12 hrs; 12hrs; enzyme units per 12 hours; enzyme activity; enzymatic activity per time; umol per min per 12 hours; micromoles per minute per 12 hours; umol/min/12hr","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per 2 hour","U/(2.h)","U/HR","catalytic activity",1394013125000,[0,-2,0,0,0,0,0],"U/h","chemical",true,null,null,1,false,false,1,"U/2hrs; U/ 2hrs; U per 2 hrs; 2hrs; enzyme units per 2 hours; enzyme activity; enzymatic activity per time; umol per minute per 2 hours; micromoles per minute; umol/min/2hr; umol per min per 2hr","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per 24 hour","U/(24.h)","U/HR","catalytic activity",116167760416.66667,[0,-2,0,0,0,0,0],"U/h","chemical",true,null,null,1,false,false,1,"U/24hrs; U/ 24hrs; U per 24 hrs; 24hrs; enzyme units per 24 hours; enzyme activity; enzymatic activity per time; micromoles per minute per 24 hours; umol/min/24hr; umol per min per 24hr","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per 10","U/10","U","catalytic activity",1003689450000000,[0,-1,0,0,0,0,0],"U","chemical",true,null,null,1,false,false,1,"enzyme unit/10; U per 10; enzyme units per 10; enzymatic activity; enzyme activity; micromoles per minute; umol/min/10","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per 10 billion","U/10*10","U/(10*10)","catalytic activity",1003689.45,[0,-1,0,0,0,0,0],"U/(1010)","chemical",true,null,null,1,false,false,1,"U per 10*10; enzyme units per 10*10; U per 10 billion; enzyme units; enzymatic activity; micromoles per minute per 10 billion; umol/min/10*10","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per trillion","U/10*12","U/(10*12)","catalytic activity",10036.8945,[0,-1,0,0,0,0,0],"U/(1012)","chemical",true,null,null,1,false,false,1,"enzyme unit/10*12; U per 10*12; enzyme units per 10*12; enzyme units per trillion; enzymatic activity; micromoles per minute per trillion; umol/min/10*12; umol per min per 10*12","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per million","U/10*6","U/(10*6)","catalytic activity",10036894500,[0,-1,0,0,0,0,0],"U/(106)","chemical",true,null,null,1,false,false,1,"enzyme unit/10*6; U per 10*6; enzyme units per 10*6; enzyme units; enzymatic activity per volume; micromoles per minute per million; umol/min/10*6; umol per min per 10*6","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per billion","U/10*9","U/(10*9)","catalytic activity",10036894.5,[0,-1,0,0,0,0,0],"U/(109)","chemical",true,null,null,1,false,false,1,"enzyme unit/10*9; U per 10*9; enzyme units per 10*9; enzymatic activity per volume; micromoles per minute per billion; umol/min/10*9; umol per min per 10*9","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per day","U/d","U/D","catalytic activity",116167760416.66667,[0,-2,0,0,0,0,0],"U/d","chemical",true,null,null,1,false,false,1,"U/dy; enzyme units per day; enzyme units; enzyme activity; enzymatic activity per time; micromoles per minute per day; umol/min/day; umol per min per day","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per deciliter","U/dL","U/DL","catalytic activity",100368945000000000000,[-3,-1,0,0,0,0,0],"U/dL","chemical",true,null,null,1,false,false,1,"U per dL; enzyme units per deciliter; decilitre; micromoles per minute per deciliter; umol/min/dL; umol per min per dL","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per gram","U/g","U/G","catalytic activity",10036894500000000,[0,-1,-1,0,0,0,0],"U/g","chemical",true,null,null,1,false,false,1,"U/gm; U per gm; enzyme units per gram; micromoles per minute per gram; umol/min/g; umol per min per g","LOINC","CCnt","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per hour","U/h","U/HR","catalytic activity",2788026250000,[0,-2,0,0,0,0,0],"U/h","chemical",true,null,null,1,false,false,1,"U/hr; U per hr; enzyme units per hour; micromoles per minute per hour; umol/min/hr; umol per min per hr","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per liter","U/L","U/L","catalytic activity",10036894500000000000,[-3,-1,0,0,0,0,0],"U/L","chemical",true,null,null,1,false,false,1,"enzyme unit/liter; enzyme unit/litre; U per L; enzyme units per liter; enzyme unit per litre; micromoles per minute per liter; umol/min/L; umol per min per L","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per minute","U/min","U/MIN","catalytic activity",167281575000000,[0,-2,0,0,0,0,0],"U/min","chemical",true,null,null,1,false,false,1,"enzyme unit/minute; U per min; enzyme units; umol/min/min; micromoles per minute per minute; micromoles per min per min; umol","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per milliliter","U/mL","U/ML","catalytic activity",1.00368945e+22,[-3,-1,0,0,0,0,0],"U/mL","chemical",true,null,null,1,false,false,1,"U per mL; enzyme units per milliliter; millilitre; micromoles per minute per milliliter; umol/min/mL; umol per min per mL","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per second","U/s","U/S","catalytic activity",10036894500000000,[0,-2,0,0,0,0,0],"U/s","chemical",true,null,null,1,false,false,1,"U/sec; U per second; enzyme units per second; micromoles per minute per second; umol/min/sec; umol per min per sec","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"micro international unit","u[IU]","U[IU]","arbitrary",0.000001,[0,0,0,0,0,0,0],"μi.U.","chemical",true,null,null,1,false,true,0,"uIU; u IU; microinternational units","LOINC","Arb","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"micro international unit per liter","u[IU]/L","U[IU]/L","arbitrary",0.001,[-3,0,0,0,0,0,0],"(μi.U.)/L","chemical",true,null,null,1,false,true,0,"uIU/L; u IU/L; uIU per L; microinternational units per liter; litre; ","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"micro international unit per milliliter","u[IU]/mL","U[IU]/ML","arbitrary",1,[-3,0,0,0,0,0,0],"(μi.U.)/mL","chemical",true,null,null,1,false,true,0,"uIU/mL; u IU/mL; uIU per mL; microinternational units per milliliter; millilitre","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"microequivalent","ueq","UEQ","amount of substance",602213670000000000,[0,0,0,0,0,0,0],"μeq","chemical",true,null,null,1,false,false,1,"microequivalents; 10^-6 equivalents; 10-6 equivalents","LOINC","Sub","Clinical","","mol","MOL","1",1,false],[false,"microequivalent per liter","ueq/L","UEQ/L","amount of substance",602213670000000000000,[-3,0,0,0,0,0,0],"μeq/L","chemical",true,null,null,1,false,false,1,"ueq per liter; litre; microequivalents","LOINC","MCnc","Clinical","","mol","MOL","1",1,false],[false,"microequivalent per milliliter","ueq/mL","UEQ/ML","amount of substance",6.0221367000000003e+23,[-3,0,0,0,0,0,0],"μeq/mL","chemical",true,null,null,1,false,false,1,"ueq per milliliter; millilitre; microequivalents","LOINC","MCnc","Clinical","","mol","MOL","1",1,false],[true,"microgram","ug","UG","mass",0.000001,[0,0,1,0,0,0,0],"μg",null,false,"M",null,1,false,false,0,"mcg; micrograms; 10^-6 grams; 10-6 grams","LOINC","Mass","Clinical","",null,null,null,null,false],[true,"microgram per 100 gram","ug/(100.g)","UG/G","mass",1e-8,[0,0,0,0,0,0,0],"μg/g",null,false,"M",null,1,false,false,0,"ug/100gm; ug/100 gm; mcg; ug per 100g; 100 gm; mcg per 100g; micrograms per 100 grams","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"microgram per 24 hour","ug/(24.h)","UG/HR","mass",1.1574074074074074e-11,[0,-1,1,0,0,0,0],"μg/h",null,false,"M",null,1,false,false,0,"ug/24hrs; ug/24 hrs; mcg/24hrs; ug per 24hrs; mcg per 24hrs; 24 hrs; micrograms per 24 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"microgram per 8 hour","ug/(8.h)","UG/HR","mass",3.472222222222222e-11,[0,-1,1,0,0,0,0],"μg/h",null,false,"M",null,1,false,false,0,"ug/8hrs; ug/8 hrs; mcg/8hrs; ug per 8hrs; mcg per 8hrs; 8 hrs; micrograms per 8 hours; shift","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"microgram per square foot (international)","ug/[sft_i]","UG/[SFT_I]","mass",0.000010763910416709721,[-2,0,1,0,0,0,0],"μg",null,false,"M",null,1,false,false,0,"ug/sft; ug/ft2; ug/ft^2; ug/sq. ft; micrograms; sq. foot; foot squared","LOINC","ArMass","Clinical","",null,null,null,null,false],[true,"microgram per day","ug/d","UG/D","mass",1.1574074074074074e-11,[0,-1,1,0,0,0,0],"μg/d",null,false,"M",null,1,false,false,0,"ug/dy; mcg/dy; ug per day; mcg; micrograms per day","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"microgram per deciliter","ug/dL","UG/DL","mass",0.009999999999999998,[-3,0,1,0,0,0,0],"μg/dL",null,false,"M",null,1,false,false,0,"ug per dL; mcg/dl; mcg per dl; micrograms per deciliter; decilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"microgram per gram","ug/g","UG/G","mass",0.000001,[0,0,0,0,0,0,0],"μg/g",null,false,"M",null,1,false,false,0,"ug per gm; mcg/gm; mcg per g; micrograms per gram","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"microgram per hour","ug/h","UG/HR","mass",2.7777777777777777e-10,[0,-1,1,0,0,0,0],"μg/h",null,false,"M",null,1,false,false,0,"ug/hr; mcg/hr; mcg per hr; ug per hr; ug per hour; micrograms","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"microgram per kilogram","ug/kg","UG/KG","mass",9.999999999999999e-10,[0,0,0,0,0,0,0],"μg/kg",null,false,"M",null,1,false,false,0,"ug per kg; mcg/kg; mcg per kg; micrograms per kilogram","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"microgram per kilogram per 8 hour","ug/kg/(8.h)","(UG/KG)/HR","mass",3.472222222222222e-14,[0,-1,0,0,0,0,0],"(μg/kg)/h",null,false,"M",null,1,false,false,0,"ug/kg/8hrs; mcg/kg/8hrs; ug/kg/8 hrs; mcg/kg/8 hrs; ug per kg per 8hrs; 8 hrs; mcg per kg per 8hrs; micrograms per kilograms per 8 hours; shift","LOINC","","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"microgram per kilogram per day","ug/kg/d","(UG/KG)/D","mass",1.1574074074074072e-14,[0,-1,0,0,0,0,0],"(μg/kg)/d",null,false,"M",null,1,false,false,0,"ug/(kg.d); ug/kg/dy; mcg/kg/day; ug per kg per dy; 24 hours; 24hrs; mcg; kilograms; microgram per kilogram and day","LOINC","","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"microgram per kilogram per hour","ug/kg/h","(UG/KG)/HR","mass",2.7777777777777774e-13,[0,-1,0,0,0,0,0],"(μg/kg)/h",null,false,"M",null,1,false,false,0,"ug/(kg.h); ug/kg/hr; mcg/kg/hr; ug per kg per hr; mcg per kg per hr; kilograms","LOINC","","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"microgram per kilogram per minute","ug/kg/min","(UG/KG)/MIN","mass",1.6666666666666664e-11,[0,-1,0,0,0,0,0],"(μg/kg)/min",null,false,"M",null,1,false,false,0,"ug/kg/min; ug/kg/min; mcg/kg/min; ug per kg per min; mcg; micrograms per kilograms per minute ","LOINC","","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"microgram per liter","ug/L","UG/L","mass",0.001,[-3,0,1,0,0,0,0],"μg/L",null,false,"M",null,1,false,false,0,"mcg/L; ug per L; mcg; micrograms per liter; litre ","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"microgram per liter per 24 hour","ug/L/(24.h)","(UG/L)/HR","mass",1.1574074074074074e-8,[-3,-1,1,0,0,0,0],"(μg/L)/h",null,false,"M",null,1,false,false,0,"ug/L/24hrs; ug/L/24 hrs; mcg/L/24hrs; ug per L per 24hrs; 24 hrs; day; dy mcg; micrograms per liters per 24 hours; litres","LOINC","","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[true,"microgram per square meter","ug/m2","UG/M2","mass",0.000001,[-2,0,1,0,0,0,0],"μg/(m2)",null,false,"M",null,1,false,false,0,"ug/m^2; ug/sq. m; mcg/m2; mcg/m^2; mcg/sq. m; ug per m2; m^2; sq. meter; mcg; micrograms per square meter; meter squared; metre","LOINC","ArMass","Clinical","unit used to measure mass dose per patient body surface area",null,null,null,null,false],[true,"microgram per cubic meter","ug/m3","UG/M3","mass",0.000001,[-3,0,1,0,0,0,0],"μg/(m3)",null,false,"M",null,1,false,false,0,"ug/m^3; ug/cu. m; mcg/m3; mcg/m^3; mcg/cu. m; ug per m3; ug per m^3; ug per cu. m; mcg; micrograms per cubic meter; meter cubed; metre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"microgram per milligram","ug/mg","UG/MG","mass",0.001,[0,0,0,0,0,0,0],"μg/mg",null,false,"M",null,1,false,false,0,"ug per mg; mcg/mg; mcg per mg; micromilligrams per milligram","LOINC","MCnt","Clinical","",null,null,null,null,false],[true,"microgram per minute","ug/min","UG/MIN","mass",1.6666666666666667e-8,[0,-1,1,0,0,0,0],"μg/min",null,false,"M",null,1,false,false,0,"ug per min; mcg/min; mcg per min; microminutes per minute","LOINC","MRat","Clinical","",null,null,null,null,false],[true,"microgram per milliliter","ug/mL","UG/ML","mass",1,[-3,0,1,0,0,0,0],"μg/mL",null,false,"M",null,1,false,false,0,"ug per mL; mcg/mL; mcg per mL; micrograms per milliliter; millilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[true,"microgram per millimole","ug/mmol","UG/MMOL","mass",1.660540186674939e-27,[0,0,1,0,0,0,0],"μg/mmol",null,false,"M",null,1,false,false,-1,"ug per mmol; mcg/mmol; mcg per mmol; micrograms per millimole","LOINC","Ratio","Clinical","",null,null,null,null,false],[true,"microgram per nanogram","ug/ng","UG/NG","mass",999.9999999999999,[0,0,0,0,0,0,0],"μg/ng",null,false,"M",null,1,false,false,0,"ug per ng; mcg/ng; mcg per ng; micrograms per nanogram","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"microkatal","ukat","UKAT","catalytic activity",602213670000000000,[0,-1,0,0,0,0,0],"μkat","chemical",true,null,null,1,false,false,1,"microkatals; ukats","LOINC","CAct","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"microliter","uL","UL","volume",1e-9,[3,0,0,0,0,0,0],"μL","iso1000",true,null,null,1,false,false,0,"microliters; microlitres; mcl","LOINC","Vol","Clinical","","l",null,"1",1,false],[false,"microliter per 2 hour","uL/(2.h)","UL/HR","volume",1.388888888888889e-13,[3,-1,0,0,0,0,0],"μL/h","iso1000",true,null,null,1,false,false,0,"uL/2hrs; uL/2 hrs; mcg/2hr; mcg per 2hr; uL per 2hr; uL per 2 hrs; microliters per 2 hours; microlitres ","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"microliter per hour","uL/h","UL/HR","volume",2.777777777777778e-13,[3,-1,0,0,0,0,0],"μL/h","iso1000",true,null,null,1,false,false,0,"uL/hr; mcg/hr; mcg per hr; uL per hr; microliters per hour; microlitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[true,"micrometer","um","UM","length",0.000001,[1,0,0,0,0,0,0],"μm",null,false,"L",null,1,false,false,0,"micrometers; micrometres; μm; microns","LOINC","Len","Clinical","Unit of length that is usually used in tests related to the eye",null,null,null,null,false],[true,"microns per second","um/s","UM/S","length",0.000001,[1,-1,0,0,0,0,0],"μm/s",null,false,"L",null,1,false,false,0,"um/sec; micron/second; microns/second; um per sec; micrometers per second; micrometres","LOINC","Vel","Clinical","",null,null,null,null,false],[false,"micromole","umol","UMOL","amount of substance",602213670000000000,[0,0,0,0,0,0,0],"μmol","si",true,null,null,1,false,false,1,"micromoles; umols","LOINC","Sub","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per 2 hour","umol/(2.h)","UMOL/HR","amount of substance",83640787500000,[0,-1,0,0,0,0,0],"μmol/h","si",true,null,null,1,false,false,1,"umol/2hrs; umol/2 hrs; umol per 2 hrs; 2hrs; micromoles per 2 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per 24 hour","umol/(24.h)","UMOL/HR","amount of substance",6970065625000,[0,-1,0,0,0,0,0],"μmol/h","si",true,null,null,1,false,false,1,"umol/24hrs; umol/24 hrs; umol per 24 hrs; per 24hrs; micromoles per 24 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per 8 hour","umol/(8.h)","UMOL/HR","amount of substance",20910196875000,[0,-1,0,0,0,0,0],"μmol/h","si",true,null,null,1,false,false,1,"umol/8hr; umol/8 hr; umol per 8 hr; umol per 8hr; umols per 8hr; umol per 8 hours; micromoles per 8 hours; shift","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per day","umol/d","UMOL/D","amount of substance",6970065625000,[0,-1,0,0,0,0,0],"μmol/d","si",true,null,null,1,false,false,1,"umol/day; umol per day; umols per day; umol per days; micromoles per days; umol/24hr; umol/24 hr; umol per 24 hr; umol per 24hr; umols per 24hr; umol per 24 hours; micromoles per 24 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per deciliter","umol/dL","UMOL/DL","amount of substance",6.0221367e+21,[-3,0,0,0,0,0,0],"μmol/dL","si",true,null,null,1,false,false,1,"micromole/deciliter; micromole/decilitre; umol per dL; micromoles per deciliters; micromole per decilitres","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per gram","umol/g","UMOL/G","amount of substance",602213670000000000,[0,0,-1,0,0,0,0],"μmol/g","si",true,null,null,1,false,false,1,"micromole/gram; umol per g; micromoles per gram","LOINC","SCnt; Ratio","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per hour","umol/h","UMOL/HR","amount of substance",167281575000000,[0,-1,0,0,0,0,0],"μmol/h","si",true,null,null,1,false,false,1,"umol/hr; umol per hr; umol per hour; micromoles per hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per kilogram","umol/kg","UMOL/KG","amount of substance",602213670000000,[0,0,-1,0,0,0,0],"μmol/kg","si",true,null,null,1,false,false,1,"umol per kg; micromoles per kilogram","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per liter","umol/L","UMOL/L","amount of substance",602213670000000000000,[-3,0,0,0,0,0,0],"μmol/L","si",true,null,null,1,false,false,1,"micromole/liter; micromole/litre; umol per liter; micromoles per liter; litre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per liter per hour","umol/L/h","(UMOL/L)/HR","amount of substance",167281575000000000,[-3,-1,0,0,0,0,0],"(μmol/L)/h","si",true,null,null,1,false,false,1,"umol/liter/hr; umol/litre/hr; umol per L per hr; umol per liter per hour; micromoles per liters per hour; litre","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min; umol/L/h is a derived unit of enzyme units","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per milligram","umol/mg","UMOL/MG","amount of substance",602213670000000000000,[0,0,-1,0,0,0,0],"μmol/mg","si",true,null,null,1,false,false,1,"micromole/milligram; umol per mg; micromoles per milligram","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per minute","umol/min","UMOL/MIN","amount of substance",10036894500000000,[0,-1,0,0,0,0,0],"μmol/min","si",true,null,null,1,false,false,1,"micromole/minute; umol per min; micromoles per minute; enzyme units","LOINC","CAct","Clinical","unit for the enzyme unit U = umol/min","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per minute per gram","umol/min/g","(UMOL/MIN)/G","amount of substance",10036894500000000,[0,-1,-1,0,0,0,0],"(μmol/min)/g","si",true,null,null,1,false,false,1,"umol/min/gm; umol per min per gm; micromoles per minutes per gram; U/g; enzyme units","LOINC","CCnt","Clinical","unit for the enzyme unit U = umol/min. umol/min/g = U/g","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per minute per liter","umol/min/L","(UMOL/MIN)/L","amount of substance",10036894500000000000,[-3,-1,0,0,0,0,0],"(μmol/min)/L","si",true,null,null,1,false,false,1,"umol/min/liter; umol/minute/liter; micromoles per minutes per liter; litre; enzyme units; U/L","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. umol/min/L = U/L","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per milliliter","umol/mL","UMOL/ML","amount of substance",6.0221367000000003e+23,[-3,0,0,0,0,0,0],"μmol/mL","si",true,null,null,1,false,false,1,"umol per mL; micromoles per milliliter; millilitre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per milliliter per minute","umol/mL/min","(UMOL/ML)/MIN","amount of substance",1.00368945e+22,[-3,-1,0,0,0,0,0],"(μmol/mL)/min","si",true,null,null,1,false,false,1,"umol per mL per min; micromoles per milliliters per minute; millilitres","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. umol/mL/min = U/mL","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per millimole","umol/mmol","UMOL/MMOL","amount of substance",0.001,[0,0,0,0,0,0,0],"μmol/mmol","si",true,null,null,1,false,false,0,"umol per mmol; micromoles per millimole","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per mole","umol/mol","UMOL/MOL","amount of substance",0.000001,[0,0,0,0,0,0,0],"μmol/mol","si",true,null,null,1,false,false,0,"umol per mol; micromoles per mole","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per micromole","umol/umol","UMOL/UMOL","amount of substance",1,[0,0,0,0,0,0,0],"μmol/μmol","si",true,null,null,1,false,false,0,"umol per umol; micromoles per micromole","LOINC","Srto; SFr; EntSRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"microOhm","uOhm","UOHM","electric resistance",0.001,[2,-1,1,0,0,-2,0],"μΩ","si",true,null,null,1,false,false,0,"microOhms; µΩ","LOINC","","Clinical","unit of electric resistance","V/A","V/A","1",1,false],[true,"microsecond","us","US","time",0.000001,[0,1,0,0,0,0,0],"μs",null,false,"T",null,1,false,false,0,"microseconds","LOINC","Time","Clinical","",null,null,null,null,false],[false,"micro enzyme unit per gram","uU/g","UU/G","catalytic activity",10036894500,[0,-1,-1,0,0,0,0],"μU/g","chemical",true,null,null,1,false,false,1,"uU per gm; micro enzyme units per gram; micro enzymatic activity per mass; enzyme activity","LOINC","CCnt","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 uU = 1pmol/min","umol/min","UMOL/MIN","1",1,false],[false,"micro enzyme unit per liter","uU/L","UU/L","catalytic activity",10036894500000,[-3,-1,0,0,0,0,0],"μU/L","chemical",true,null,null,1,false,false,1,"uU per L; micro enzyme units per liter; litre; enzymatic activity per volume; enzyme activity ","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 uU = 1pmol/min","umol/min","UMOL/MIN","1",1,false],[false,"micro enzyme unit per milliliter","uU/mL","UU/ML","catalytic activity",10036894500000000,[-3,-1,0,0,0,0,0],"μU/mL","chemical",true,null,null,1,false,false,1,"uU per mL; micro enzyme units per milliliter; millilitre; enzymatic activity per volume; enzyme activity","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 uU = 1pmol/min","umol/min","UMOL/MIN","1",1,false],[false,"microvolt","uV","UV","electric potential",0.001,[2,-2,1,0,0,-1,0],"μV","si",true,null,null,1,false,false,0,"microvolts","LOINC","Elpot","Clinical","unit of electric potential (voltage)","J/C","J/C","1",1,false]]}}')}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={exports:{}};return e[i](o,o.exports,n),o.exports}n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}();var i=n(9159);window.fhirpath=i}()},4391:function(){var e,t,n;e={9:function(e,t,n){e.exports={choiceTypePaths:n(824),pathsDefinedElsewhere:n(151),type2Parent:n(905),path2Type:n(752)}},824:function(e){"use strict";e.exports=JSON.parse('{"ActivityDefinition.product":["Reference","CodeableConcept"],"ActivityDefinition.subject":["CodeableConcept","Reference"],"ActivityDefinition.timing":["Timing","DateTime","Age","Period","Range","Duration"],"AllergyIntolerance.onset":["DateTime","Age","Period","Range","String"],"Annotation.author":["Reference","String"],"AuditEvent.entity.detail.value":["String","Base64Binary"],"BiologicallyDerivedProduct.collection.collected":["DateTime","Period"],"BiologicallyDerivedProduct.manipulation.time":["DateTime","Period"],"BiologicallyDerivedProduct.processing.time":["DateTime","Period"],"CarePlan.activity.detail.product":["CodeableConcept","Reference"],"CarePlan.activity.detail.scheduled":["Timing","Period","String"],"ChargeItem.occurrence":["DateTime","Period","Timing"],"ChargeItem.product":["Reference","CodeableConcept"],"Claim.accident.location":["Address","Reference"],"Claim.diagnosis.diagnosis":["CodeableConcept","Reference"],"Claim.item.location":["CodeableConcept","Address","Reference"],"Claim.item.serviced":["Date","Period"],"Claim.procedure.procedure":["CodeableConcept","Reference"],"Claim.supportingInfo.timing":["Date","Period"],"Claim.supportingInfo.value":["Boolean","String","Quantity","Attachment","Reference"],"ClaimResponse.addItem.location":["CodeableConcept","Address","Reference"],"ClaimResponse.addItem.serviced":["Date","Period"],"ClinicalImpression.effective":["DateTime","Period"],"CodeSystem.concept.property.value":["Code","Coding","String","Integer","Boolean","DateTime","Decimal"],"Communication.payload.content":["String","Attachment","Reference"],"CommunicationRequest.occurrence":["DateTime","Period"],"CommunicationRequest.payload.content":["String","Attachment","Reference"],"Composition.relatesTo.target":["Identifier","Reference"],"ConceptMap.source":["Uri","Canonical"],"ConceptMap.target":["Uri","Canonical"],"Condition.abatement":["DateTime","Age","Period","Range","String"],"Condition.onset":["DateTime","Age","Period","Range","String"],"Consent.source":["Attachment","Reference"],"Contract.friendly.content":["Attachment","Reference"],"Contract.legal.content":["Attachment","Reference"],"Contract.legallyBinding":["Attachment","Reference"],"Contract.rule.content":["Attachment","Reference"],"Contract.term.action.occurrence":["DateTime","Period","Timing"],"Contract.term.asset.valuedItem.entity":["CodeableConcept","Reference"],"Contract.term.offer.answer.value":["Boolean","Decimal","Integer","Date","DateTime","Time","String","Uri","Attachment","Coding","Quantity","Reference"],"Contract.term.topic":["CodeableConcept","Reference"],"Contract.topic":["CodeableConcept","Reference"],"Coverage.costToBeneficiary.value":["Quantity","Money"],"CoverageEligibilityRequest.item.diagnosis.diagnosis":["CodeableConcept","Reference"],"CoverageEligibilityRequest.serviced":["Date","Period"],"CoverageEligibilityResponse.insurance.item.benefit.allowed":["UnsignedInt","String","Money"],"CoverageEligibilityResponse.insurance.item.benefit.used":["UnsignedInt","String","Money"],"CoverageEligibilityResponse.serviced":["Date","Period"],"DataRequirement.dateFilter.value":["DateTime","Period","Duration"],"DataRequirement.subject":["CodeableConcept","Reference"],"DetectedIssue.identified":["DateTime","Period"],"DeviceDefinition.manufacturer":["String","Reference"],"DeviceRequest.code":["Reference","CodeableConcept"],"DeviceRequest.occurrence":["DateTime","Period","Timing"],"DeviceRequest.parameter.value":["CodeableConcept","Quantity","Range","Boolean"],"DeviceUseStatement.timing":["Timing","Period","DateTime"],"DiagnosticReport.effective":["DateTime","Period"],"Dosage.asNeeded":["Boolean","CodeableConcept"],"Dosage.doseAndRate.dose":["Range","Quantity"],"Dosage.doseAndRate.rate":["Ratio","Range","Quantity"],"ElementDefinition.defaultValue":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"ElementDefinition.example.value":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"ElementDefinition.extension.value":["CodeableConcept","Canonical"],"ElementDefinition.fixed":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"ElementDefinition.maxValue":["Date","DateTime","Instant","Time","Decimal","Integer","PositiveInt","UnsignedInt","Quantity"],"ElementDefinition.minValue":["Date","DateTime","Instant","Time","Decimal","Integer","PositiveInt","UnsignedInt","Quantity"],"ElementDefinition.pattern":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"EventDefinition.subject":["CodeableConcept","Reference"],"EvidenceVariable.characteristic.definition":["Reference","Canonical","CodeableConcept","Expression","DataRequirement","TriggerDefinition"],"EvidenceVariable.characteristic.participantEffective":["DateTime","Period","Duration","Timing"],"ExplanationOfBenefit.accident.location":["Address","Reference"],"ExplanationOfBenefit.addItem.location":["CodeableConcept","Address","Reference"],"ExplanationOfBenefit.addItem.serviced":["Date","Period"],"ExplanationOfBenefit.benefitBalance.financial.allowed":["UnsignedInt","String","Money"],"ExplanationOfBenefit.benefitBalance.financial.used":["UnsignedInt","Money"],"ExplanationOfBenefit.diagnosis.diagnosis":["CodeableConcept","Reference"],"ExplanationOfBenefit.item.location":["CodeableConcept","Address","Reference"],"ExplanationOfBenefit.item.serviced":["Date","Period"],"ExplanationOfBenefit.procedure.procedure":["CodeableConcept","Reference"],"ExplanationOfBenefit.supportingInfo.timing":["Date","Period"],"ExplanationOfBenefit.supportingInfo.value":["Boolean","String","Quantity","Attachment","Reference"],"Extension.value":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"FamilyMemberHistory.age":["Age","Range","String"],"FamilyMemberHistory.born":["Period","Date","String"],"FamilyMemberHistory.condition.onset":["Age","Range","Period","String"],"FamilyMemberHistory.deceased":["Boolean","Age","Range","Date","String"],"Goal.start":["Date","CodeableConcept"],"Goal.target.detail":["Quantity","Range","CodeableConcept","String","Boolean","Integer","Ratio"],"Goal.target.due":["Date","Duration"],"Group.characteristic.value":["CodeableConcept","Boolean","Quantity","Range","Reference"],"GuidanceResponse.module":["Uri","Canonical","CodeableConcept"],"Immunization.occurrence":["DateTime","String"],"Immunization.protocolApplied.doseNumber":["PositiveInt","String"],"Immunization.protocolApplied.seriesDoses":["PositiveInt","String"],"ImmunizationEvaluation.doseNumber":["PositiveInt","String"],"ImmunizationEvaluation.seriesDoses":["PositiveInt","String"],"ImmunizationRecommendation.recommendation.doseNumber":["PositiveInt","String"],"ImmunizationRecommendation.recommendation.seriesDoses":["PositiveInt","String"],"ImplementationGuide.definition.page.name":["Url","Reference"],"ImplementationGuide.definition.resource.example":["Boolean","Canonical"],"ImplementationGuide.manifest.resource.example":["Boolean","Canonical"],"Invoice.lineItem.chargeItem":["Reference","CodeableConcept"],"Library.subject":["CodeableConcept","Reference"],"Measure.subject":["CodeableConcept","Reference"],"Media.created":["DateTime","Period"],"Medication.ingredient.item":["CodeableConcept","Reference"],"MedicationAdministration.dosage.rate":["Ratio","Quantity"],"MedicationAdministration.effective":["DateTime","Period"],"MedicationAdministration.medication":["CodeableConcept","Reference"],"MedicationDispense.medication":["CodeableConcept","Reference"],"MedicationDispense.statusReason":["CodeableConcept","Reference"],"MedicationKnowledge.administrationGuidelines.indication":["CodeableConcept","Reference"],"MedicationKnowledge.administrationGuidelines.patientCharacteristics.characteristic":["CodeableConcept","Quantity"],"MedicationKnowledge.drugCharacteristic.value":["CodeableConcept","String","Quantity","Base64Binary"],"MedicationKnowledge.ingredient.item":["CodeableConcept","Reference"],"MedicationRequest.medication":["CodeableConcept","Reference"],"MedicationRequest.reported":["Boolean","Reference"],"MedicationRequest.substitution.allowed":["Boolean","CodeableConcept"],"MedicationStatement.effective":["DateTime","Period"],"MedicationStatement.medication":["CodeableConcept","Reference"],"MedicinalProduct.specialDesignation.indication":["CodeableConcept","Reference"],"MedicinalProductAuthorization.procedure.date":["Period","DateTime"],"MedicinalProductContraindication.otherTherapy.medication":["CodeableConcept","Reference"],"MedicinalProductIndication.otherTherapy.medication":["CodeableConcept","Reference"],"MedicinalProductInteraction.interactant.item":["Reference","CodeableConcept"],"MessageDefinition.event":["Coding","Uri"],"MessageHeader.event":["Coding","Uri"],"NutritionOrder.enteralFormula.administration.rate":["Quantity","Ratio"],"Observation.component.value":["Quantity","CodeableConcept","String","Boolean","Integer","Range","Ratio","SampledData","Time","DateTime","Period"],"Observation.effective":["DateTime","Period","Timing","Instant"],"Observation.value":["Quantity","CodeableConcept","String","Boolean","Integer","Range","Ratio","SampledData","Time","DateTime","Period"],"Parameters.parameter.value":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"Patient.deceased":["Boolean","DateTime"],"Patient.multipleBirth":["Boolean","Integer"],"PlanDefinition.action.definition":["Canonical","Uri"],"PlanDefinition.action.relatedAction.offset":["Duration","Range"],"PlanDefinition.action.subject":["CodeableConcept","Reference"],"PlanDefinition.action.timing":["DateTime","Age","Period","Duration","Range","Timing"],"PlanDefinition.goal.target.detail":["Quantity","Range","CodeableConcept"],"PlanDefinition.subject":["CodeableConcept","Reference"],"Population.age":["Range","CodeableConcept"],"Procedure.performed":["DateTime","Period","String","Age","Range"],"Provenance.occurred":["Period","DateTime"],"Questionnaire.item.answerOption.value":["Integer","Date","Time","String","Coding","Reference"],"Questionnaire.item.enableWhen.answer":["Boolean","Decimal","Integer","Date","DateTime","Time","String","Coding","Quantity","Reference"],"Questionnaire.item.initial.value":["Boolean","Decimal","Integer","Date","DateTime","Time","String","Uri","Attachment","Coding","Quantity","Reference"],"QuestionnaireResponse.item.answer.value":["Boolean","Decimal","Integer","Date","DateTime","Time","String","Uri","Attachment","Coding","Quantity","Reference"],"RequestGroup.action.relatedAction.offset":["Duration","Range"],"RequestGroup.action.timing":["DateTime","Age","Period","Duration","Range","Timing"],"ResearchDefinition.subject":["CodeableConcept","Reference"],"ResearchElementDefinition.characteristic.definition":["CodeableConcept","Canonical","Expression","DataRequirement"],"ResearchElementDefinition.characteristic.participantEffective":["DateTime","Period","Duration","Timing"],"ResearchElementDefinition.characteristic.studyEffective":["DateTime","Period","Duration","Timing"],"ResearchElementDefinition.subject":["CodeableConcept","Reference"],"RiskAssessment.occurrence":["DateTime","Period"],"RiskAssessment.prediction.probability":["Decimal","Range"],"RiskAssessment.prediction.when":["Period","Range"],"ServiceRequest.asNeeded":["Boolean","CodeableConcept"],"ServiceRequest.occurrence":["DateTime","Period","Timing"],"ServiceRequest.quantity":["Quantity","Ratio","Range"],"Specimen.collection.collected":["DateTime","Period"],"Specimen.collection.fastingStatus":["CodeableConcept","Duration"],"Specimen.container.additive":["CodeableConcept","Reference"],"Specimen.processing.time":["DateTime","Period"],"SpecimenDefinition.typeTested.container.additive.additive":["CodeableConcept","Reference"],"SpecimenDefinition.typeTested.container.minimumVolume":["Quantity","String"],"StructureMap.group.rule.source.defaultValue":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"StructureMap.group.rule.target.parameter.value":["Id","String","Boolean","Integer","Decimal"],"Substance.ingredient.substance":["CodeableConcept","Reference"],"SubstanceAmount.amount":["Quantity","Range","String"],"SubstanceReferenceInformation.target.amount":["Quantity","Range","String"],"SubstanceSpecification.moiety.amount":["Quantity","String"],"SubstanceSpecification.property.amount":["Quantity","String"],"SubstanceSpecification.property.definingSubstance":["Reference","CodeableConcept"],"SubstanceSpecification.relationship.amount":["Quantity","Range","Ratio","String"],"SubstanceSpecification.relationship.substance":["Reference","CodeableConcept"],"SupplyDelivery.occurrence":["DateTime","Period","Timing"],"SupplyDelivery.suppliedItem.item":["CodeableConcept","Reference"],"SupplyRequest.item":["CodeableConcept","Reference"],"SupplyRequest.occurrence":["DateTime","Period","Timing"],"SupplyRequest.parameter.value":["CodeableConcept","Quantity","Range","Boolean"],"Task.input.value":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"Task.output.value":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"Timing.repeat.bounds":["Duration","Range","Period"],"TriggerDefinition.timing":["Timing","Reference","Date","DateTime"],"UsageContext.value":["CodeableConcept","Quantity","Range","Reference"],"ValueSet.expansion.parameter.value":["String","Boolean","Integer","Decimal","Uri","Code","DateTime"]}')},752:function(e){"use strict";e.exports=JSON.parse('{"Account.contained":"Resource","Account.coverage.coverage":"Reference","Account.coverage.extension":"Extension","Account.coverage.id":"System.String","Account.coverage.modifierExtension":"Extension","Account.coverage.priority":"positiveInt","Account.description":"string","Account.extension":"Extension","Account.guarantor.extension":"Extension","Account.guarantor.id":"System.String","Account.guarantor.modifierExtension":"Extension","Account.guarantor.onHold":"boolean","Account.guarantor.party":"Reference","Account.guarantor.period":"Period","Account.id":"System.String","Account.identifier":"Identifier","Account.implicitRules":"uri","Account.language":"code","Account.meta":"Meta","Account.modifierExtension":"Extension","Account.name":"string","Account.owner":"Reference","Account.partOf":"Reference","Account.servicePeriod":"Period","Account.status":"code","Account.subject":"Reference","Account.text":"Narrative","Account.type":"CodeableConcept","ActivityDefinition.approvalDate":"date","ActivityDefinition.author":"ContactDetail","ActivityDefinition.bodySite":"CodeableConcept","ActivityDefinition.code":"CodeableConcept","ActivityDefinition.contact":"ContactDetail","ActivityDefinition.contained":"Resource","ActivityDefinition.copyright":"markdown","ActivityDefinition.date":"dateTime","ActivityDefinition.description":"markdown","ActivityDefinition.doNotPerform":"boolean","ActivityDefinition.dosage":"Dosage","ActivityDefinition.dynamicValue.expression":"Expression","ActivityDefinition.dynamicValue.extension":"Extension","ActivityDefinition.dynamicValue.id":"System.String","ActivityDefinition.dynamicValue.modifierExtension":"Extension","ActivityDefinition.dynamicValue.path":"string","ActivityDefinition.editor":"ContactDetail","ActivityDefinition.effectivePeriod":"Period","ActivityDefinition.endorser":"ContactDetail","ActivityDefinition.experimental":"boolean","ActivityDefinition.extension":"Extension","ActivityDefinition.id":"System.String","ActivityDefinition.identifier":"Identifier","ActivityDefinition.implicitRules":"uri","ActivityDefinition.intent":"code","ActivityDefinition.jurisdiction":"CodeableConcept","ActivityDefinition.kind":"code","ActivityDefinition.language":"code","ActivityDefinition.lastReviewDate":"date","ActivityDefinition.library":"canonical","ActivityDefinition.location":"Reference","ActivityDefinition.meta":"Meta","ActivityDefinition.modifierExtension":"Extension","ActivityDefinition.name":"string","ActivityDefinition.observationRequirement":"Reference","ActivityDefinition.observationResultRequirement":"Reference","ActivityDefinition.participant.extension":"Extension","ActivityDefinition.participant.id":"System.String","ActivityDefinition.participant.modifierExtension":"Extension","ActivityDefinition.participant.role":"CodeableConcept","ActivityDefinition.participant.type":"code","ActivityDefinition.priority":"code","ActivityDefinition.productCodeableConcept":"CodeableConcept","ActivityDefinition.productReference":"Reference","ActivityDefinition.profile":"canonical","ActivityDefinition.publisher":"string","ActivityDefinition.purpose":"markdown","ActivityDefinition.quantity":"Quantity","ActivityDefinition.relatedArtifact":"RelatedArtifact","ActivityDefinition.reviewer":"ContactDetail","ActivityDefinition.specimenRequirement":"Reference","ActivityDefinition.status":"code","ActivityDefinition.subjectCodeableConcept":"CodeableConcept","ActivityDefinition.subjectReference":"Reference","ActivityDefinition.subtitle":"string","ActivityDefinition.text":"Narrative","ActivityDefinition.timingAge":"Age","ActivityDefinition.timingDateTime":"dateTime","ActivityDefinition.timingDuration":"Duration","ActivityDefinition.timingPeriod":"Period","ActivityDefinition.timingRange":"Range","ActivityDefinition.timingTiming":"Timing","ActivityDefinition.title":"string","ActivityDefinition.topic":"CodeableConcept","ActivityDefinition.transform":"canonical","ActivityDefinition.url":"uri","ActivityDefinition.usage":"string","ActivityDefinition.useContext":"UsageContext","ActivityDefinition.version":"string","Address.city":"string","Address.country":"string","Address.district":"string","Address.extension":"Extension","Address.id":"System.String","Address.line":"string","Address.period":"Period","Address.postalCode":"string","Address.state":"string","Address.text":"string","Address.type":"code","Address.use":"code","AdverseEvent.actuality":"code","AdverseEvent.category":"CodeableConcept","AdverseEvent.contained":"Resource","AdverseEvent.contributor":"Reference","AdverseEvent.date":"dateTime","AdverseEvent.detected":"dateTime","AdverseEvent.encounter":"Reference","AdverseEvent.event":"CodeableConcept","AdverseEvent.extension":"Extension","AdverseEvent.id":"System.String","AdverseEvent.identifier":"Identifier","AdverseEvent.implicitRules":"uri","AdverseEvent.language":"code","AdverseEvent.location":"Reference","AdverseEvent.meta":"Meta","AdverseEvent.modifierExtension":"Extension","AdverseEvent.outcome":"CodeableConcept","AdverseEvent.recordedDate":"dateTime","AdverseEvent.recorder":"Reference","AdverseEvent.referenceDocument":"Reference","AdverseEvent.resultingCondition":"Reference","AdverseEvent.seriousness":"CodeableConcept","AdverseEvent.severity":"CodeableConcept","AdverseEvent.study":"Reference","AdverseEvent.subject":"Reference","AdverseEvent.subjectMedicalHistory":"Reference","AdverseEvent.suspectEntity.causality.assessment":"CodeableConcept","AdverseEvent.suspectEntity.causality.author":"Reference","AdverseEvent.suspectEntity.causality.extension":"Extension","AdverseEvent.suspectEntity.causality.id":"System.String","AdverseEvent.suspectEntity.causality.method":"CodeableConcept","AdverseEvent.suspectEntity.causality.modifierExtension":"Extension","AdverseEvent.suspectEntity.causality.productRelatedness":"string","AdverseEvent.suspectEntity.extension":"Extension","AdverseEvent.suspectEntity.id":"System.String","AdverseEvent.suspectEntity.instance":"Reference","AdverseEvent.suspectEntity.modifierExtension":"Extension","AdverseEvent.text":"Narrative","Age.code":"code","Age.comparator":"code","Age.extension":"Extension","Age.id":"System.String","Age.system":"uri","Age.unit":"string","Age.value":"decimal","AllergyIntolerance.asserter":"Reference","AllergyIntolerance.category":"code","AllergyIntolerance.clinicalStatus":"CodeableConcept","AllergyIntolerance.code":"CodeableConcept","AllergyIntolerance.contained":"Resource","AllergyIntolerance.criticality":"code","AllergyIntolerance.encounter":"Reference","AllergyIntolerance.extension":"Extension","AllergyIntolerance.id":"System.String","AllergyIntolerance.identifier":"Identifier","AllergyIntolerance.implicitRules":"uri","AllergyIntolerance.language":"code","AllergyIntolerance.lastOccurrence":"dateTime","AllergyIntolerance.meta":"Meta","AllergyIntolerance.modifierExtension":"Extension","AllergyIntolerance.note":"Annotation","AllergyIntolerance.onsetAge":"Age","AllergyIntolerance.onsetDateTime":"dateTime","AllergyIntolerance.onsetPeriod":"Period","AllergyIntolerance.onsetRange":"Range","AllergyIntolerance.onsetString":"string","AllergyIntolerance.patient":"Reference","AllergyIntolerance.reaction.description":"string","AllergyIntolerance.reaction.exposureRoute":"CodeableConcept","AllergyIntolerance.reaction.extension":"Extension","AllergyIntolerance.reaction.id":"System.String","AllergyIntolerance.reaction.manifestation":"CodeableConcept","AllergyIntolerance.reaction.modifierExtension":"Extension","AllergyIntolerance.reaction.note":"Annotation","AllergyIntolerance.reaction.onset":"dateTime","AllergyIntolerance.reaction.severity":"code","AllergyIntolerance.reaction.substance":"CodeableConcept","AllergyIntolerance.recordedDate":"dateTime","AllergyIntolerance.recorder":"Reference","AllergyIntolerance.text":"Narrative","AllergyIntolerance.type":"code","AllergyIntolerance.verificationStatus":"CodeableConcept","Annotation.authorReference":"Reference","Annotation.authorString":"string","Annotation.extension":"Extension","Annotation.id":"System.String","Annotation.text":"markdown","Annotation.time":"dateTime","Appointment.appointmentType":"CodeableConcept","Appointment.basedOn":"Reference","Appointment.cancelationReason":"CodeableConcept","Appointment.comment":"string","Appointment.contained":"Resource","Appointment.created":"dateTime","Appointment.description":"string","Appointment.end":"instant","Appointment.extension":"Extension","Appointment.id":"System.String","Appointment.identifier":"Identifier","Appointment.implicitRules":"uri","Appointment.language":"code","Appointment.meta":"Meta","Appointment.minutesDuration":"positiveInt","Appointment.modifierExtension":"Extension","Appointment.participant.actor":"Reference","Appointment.participant.extension":"Extension","Appointment.participant.id":"System.String","Appointment.participant.modifierExtension":"Extension","Appointment.participant.period":"Period","Appointment.participant.required":"code","Appointment.participant.status":"code","Appointment.participant.type":"CodeableConcept","Appointment.patientInstruction":"string","Appointment.priority":"unsignedInt","Appointment.reasonCode":"CodeableConcept","Appointment.reasonReference":"Reference","Appointment.requestedPeriod":"Period","Appointment.serviceCategory":"CodeableConcept","Appointment.serviceType":"CodeableConcept","Appointment.slot":"Reference","Appointment.specialty":"CodeableConcept","Appointment.start":"instant","Appointment.status":"code","Appointment.supportingInformation":"Reference","Appointment.text":"Narrative","AppointmentResponse.actor":"Reference","AppointmentResponse.appointment":"Reference","AppointmentResponse.comment":"string","AppointmentResponse.contained":"Resource","AppointmentResponse.end":"instant","AppointmentResponse.extension":"Extension","AppointmentResponse.id":"System.String","AppointmentResponse.identifier":"Identifier","AppointmentResponse.implicitRules":"uri","AppointmentResponse.language":"code","AppointmentResponse.meta":"Meta","AppointmentResponse.modifierExtension":"Extension","AppointmentResponse.participantStatus":"code","AppointmentResponse.participantType":"CodeableConcept","AppointmentResponse.start":"instant","AppointmentResponse.text":"Narrative","Attachment.contentType":"code","Attachment.creation":"dateTime","Attachment.data":"base64Binary","Attachment.extension":"Extension","Attachment.hash":"base64Binary","Attachment.id":"System.String","Attachment.language":"code","Attachment.size":"unsignedInt","Attachment.title":"string","Attachment.url":"url","AuditEvent.action":"code","AuditEvent.agent.altId":"string","AuditEvent.agent.extension":"Extension","AuditEvent.agent.id":"System.String","AuditEvent.agent.location":"Reference","AuditEvent.agent.media":"Coding","AuditEvent.agent.modifierExtension":"Extension","AuditEvent.agent.name":"string","AuditEvent.agent.network.address":"string","AuditEvent.agent.network.extension":"Extension","AuditEvent.agent.network.id":"System.String","AuditEvent.agent.network.modifierExtension":"Extension","AuditEvent.agent.network.type":"code","AuditEvent.agent.policy":"uri","AuditEvent.agent.purposeOfUse":"CodeableConcept","AuditEvent.agent.requestor":"boolean","AuditEvent.agent.role":"CodeableConcept","AuditEvent.agent.type":"CodeableConcept","AuditEvent.agent.who":"Reference","AuditEvent.contained":"Resource","AuditEvent.entity.description":"string","AuditEvent.entity.detail.extension":"Extension","AuditEvent.entity.detail.id":"System.String","AuditEvent.entity.detail.modifierExtension":"Extension","AuditEvent.entity.detail.type":"string","AuditEvent.entity.detail.valueBase64Binary":"base64Binary","AuditEvent.entity.detail.valueString":"string","AuditEvent.entity.extension":"Extension","AuditEvent.entity.id":"System.String","AuditEvent.entity.lifecycle":"Coding","AuditEvent.entity.modifierExtension":"Extension","AuditEvent.entity.name":"string","AuditEvent.entity.query":"base64Binary","AuditEvent.entity.role":"Coding","AuditEvent.entity.securityLabel":"Coding","AuditEvent.entity.type":"Coding","AuditEvent.entity.what":"Reference","AuditEvent.extension":"Extension","AuditEvent.id":"System.String","AuditEvent.implicitRules":"uri","AuditEvent.language":"code","AuditEvent.meta":"Meta","AuditEvent.modifierExtension":"Extension","AuditEvent.outcome":"code","AuditEvent.outcomeDesc":"string","AuditEvent.period":"Period","AuditEvent.purposeOfEvent":"CodeableConcept","AuditEvent.recorded":"instant","AuditEvent.source.extension":"Extension","AuditEvent.source.id":"System.String","AuditEvent.source.modifierExtension":"Extension","AuditEvent.source.observer":"Reference","AuditEvent.source.site":"string","AuditEvent.source.type":"Coding","AuditEvent.subtype":"Coding","AuditEvent.text":"Narrative","AuditEvent.type":"Coding","BackboneElement.extension":"Extension","BackboneElement.id":"System.String","BackboneElement.modifierExtension":"Extension","Basic.author":"Reference","Basic.code":"CodeableConcept","Basic.contained":"Resource","Basic.created":"date","Basic.extension":"Extension","Basic.id":"System.String","Basic.identifier":"Identifier","Basic.implicitRules":"uri","Basic.language":"code","Basic.meta":"Meta","Basic.modifierExtension":"Extension","Basic.subject":"Reference","Basic.text":"Narrative","Binary.contentType":"code","Binary.data":"base64Binary","Binary.id":"System.String","Binary.implicitRules":"uri","Binary.language":"code","Binary.meta":"Meta","Binary.securityContext":"Reference","BiologicallyDerivedProduct.collection.collectedDateTime":"dateTime","BiologicallyDerivedProduct.collection.collectedPeriod":"Period","BiologicallyDerivedProduct.collection.collector":"Reference","BiologicallyDerivedProduct.collection.extension":"Extension","BiologicallyDerivedProduct.collection.id":"System.String","BiologicallyDerivedProduct.collection.modifierExtension":"Extension","BiologicallyDerivedProduct.collection.source":"Reference","BiologicallyDerivedProduct.contained":"Resource","BiologicallyDerivedProduct.extension":"Extension","BiologicallyDerivedProduct.id":"System.String","BiologicallyDerivedProduct.identifier":"Identifier","BiologicallyDerivedProduct.implicitRules":"uri","BiologicallyDerivedProduct.language":"code","BiologicallyDerivedProduct.manipulation.description":"string","BiologicallyDerivedProduct.manipulation.extension":"Extension","BiologicallyDerivedProduct.manipulation.id":"System.String","BiologicallyDerivedProduct.manipulation.modifierExtension":"Extension","BiologicallyDerivedProduct.manipulation.timeDateTime":"dateTime","BiologicallyDerivedProduct.manipulation.timePeriod":"Period","BiologicallyDerivedProduct.meta":"Meta","BiologicallyDerivedProduct.modifierExtension":"Extension","BiologicallyDerivedProduct.parent":"Reference","BiologicallyDerivedProduct.processing.additive":"Reference","BiologicallyDerivedProduct.processing.description":"string","BiologicallyDerivedProduct.processing.extension":"Extension","BiologicallyDerivedProduct.processing.id":"System.String","BiologicallyDerivedProduct.processing.modifierExtension":"Extension","BiologicallyDerivedProduct.processing.procedure":"CodeableConcept","BiologicallyDerivedProduct.processing.timeDateTime":"dateTime","BiologicallyDerivedProduct.processing.timePeriod":"Period","BiologicallyDerivedProduct.productCategory":"code","BiologicallyDerivedProduct.productCode":"CodeableConcept","BiologicallyDerivedProduct.quantity":"integer","BiologicallyDerivedProduct.request":"Reference","BiologicallyDerivedProduct.status":"code","BiologicallyDerivedProduct.storage.description":"string","BiologicallyDerivedProduct.storage.duration":"Period","BiologicallyDerivedProduct.storage.extension":"Extension","BiologicallyDerivedProduct.storage.id":"System.String","BiologicallyDerivedProduct.storage.modifierExtension":"Extension","BiologicallyDerivedProduct.storage.scale":"code","BiologicallyDerivedProduct.storage.temperature":"decimal","BiologicallyDerivedProduct.text":"Narrative","BodyStructure.active":"boolean","BodyStructure.contained":"Resource","BodyStructure.description":"string","BodyStructure.extension":"Extension","BodyStructure.id":"System.String","BodyStructure.identifier":"Identifier","BodyStructure.image":"Attachment","BodyStructure.implicitRules":"uri","BodyStructure.language":"code","BodyStructure.location":"CodeableConcept","BodyStructure.locationQualifier":"CodeableConcept","BodyStructure.meta":"Meta","BodyStructure.modifierExtension":"Extension","BodyStructure.morphology":"CodeableConcept","BodyStructure.patient":"Reference","BodyStructure.text":"Narrative","Bundle.entry.extension":"Extension","Bundle.entry.fullUrl":"uri","Bundle.entry.id":"System.String","Bundle.entry.modifierExtension":"Extension","Bundle.entry.request.extension":"Extension","Bundle.entry.request.id":"System.String","Bundle.entry.request.ifMatch":"string","Bundle.entry.request.ifModifiedSince":"instant","Bundle.entry.request.ifNoneExist":"string","Bundle.entry.request.ifNoneMatch":"string","Bundle.entry.request.method":"code","Bundle.entry.request.modifierExtension":"Extension","Bundle.entry.request.url":"uri","Bundle.entry.resource":"Resource","Bundle.entry.response.etag":"string","Bundle.entry.response.extension":"Extension","Bundle.entry.response.id":"System.String","Bundle.entry.response.lastModified":"instant","Bundle.entry.response.location":"uri","Bundle.entry.response.modifierExtension":"Extension","Bundle.entry.response.outcome":"Resource","Bundle.entry.response.status":"string","Bundle.entry.search.extension":"Extension","Bundle.entry.search.id":"System.String","Bundle.entry.search.mode":"code","Bundle.entry.search.modifierExtension":"Extension","Bundle.entry.search.score":"decimal","Bundle.id":"System.String","Bundle.identifier":"Identifier","Bundle.implicitRules":"uri","Bundle.language":"code","Bundle.link.extension":"Extension","Bundle.link.id":"System.String","Bundle.link.modifierExtension":"Extension","Bundle.link.relation":"string","Bundle.link.url":"uri","Bundle.meta":"Meta","Bundle.signature":"Signature","Bundle.timestamp":"instant","Bundle.total":"unsignedInt","Bundle.type":"code","CapabilityStatement.contact":"ContactDetail","CapabilityStatement.contained":"Resource","CapabilityStatement.copyright":"markdown","CapabilityStatement.date":"dateTime","CapabilityStatement.description":"markdown","CapabilityStatement.document.documentation":"markdown","CapabilityStatement.document.extension":"Extension","CapabilityStatement.document.id":"System.String","CapabilityStatement.document.mode":"code","CapabilityStatement.document.modifierExtension":"Extension","CapabilityStatement.document.profile":"canonical","CapabilityStatement.experimental":"boolean","CapabilityStatement.extension":"Extension","CapabilityStatement.fhirVersion":"code","CapabilityStatement.format":"code","CapabilityStatement.id":"System.String","CapabilityStatement.implementation.custodian":"Reference","CapabilityStatement.implementation.description":"string","CapabilityStatement.implementation.extension":"Extension","CapabilityStatement.implementation.id":"System.String","CapabilityStatement.implementation.modifierExtension":"Extension","CapabilityStatement.implementation.url":"url","CapabilityStatement.implementationGuide":"canonical","CapabilityStatement.implicitRules":"uri","CapabilityStatement.imports":"canonical","CapabilityStatement.instantiates":"canonical","CapabilityStatement.jurisdiction":"CodeableConcept","CapabilityStatement.kind":"code","CapabilityStatement.language":"code","CapabilityStatement.messaging.documentation":"markdown","CapabilityStatement.messaging.endpoint.address":"url","CapabilityStatement.messaging.endpoint.extension":"Extension","CapabilityStatement.messaging.endpoint.id":"System.String","CapabilityStatement.messaging.endpoint.modifierExtension":"Extension","CapabilityStatement.messaging.endpoint.protocol":"Coding","CapabilityStatement.messaging.extension":"Extension","CapabilityStatement.messaging.id":"System.String","CapabilityStatement.messaging.modifierExtension":"Extension","CapabilityStatement.messaging.reliableCache":"unsignedInt","CapabilityStatement.messaging.supportedMessage.definition":"canonical","CapabilityStatement.messaging.supportedMessage.extension":"Extension","CapabilityStatement.messaging.supportedMessage.id":"System.String","CapabilityStatement.messaging.supportedMessage.mode":"code","CapabilityStatement.messaging.supportedMessage.modifierExtension":"Extension","CapabilityStatement.meta":"Meta","CapabilityStatement.modifierExtension":"Extension","CapabilityStatement.name":"string","CapabilityStatement.patchFormat":"code","CapabilityStatement.publisher":"string","CapabilityStatement.purpose":"markdown","CapabilityStatement.rest.compartment":"canonical","CapabilityStatement.rest.documentation":"markdown","CapabilityStatement.rest.extension":"Extension","CapabilityStatement.rest.id":"System.String","CapabilityStatement.rest.interaction.code":"code","CapabilityStatement.rest.interaction.documentation":"markdown","CapabilityStatement.rest.interaction.extension":"Extension","CapabilityStatement.rest.interaction.id":"System.String","CapabilityStatement.rest.interaction.modifierExtension":"Extension","CapabilityStatement.rest.mode":"code","CapabilityStatement.rest.modifierExtension":"Extension","CapabilityStatement.rest.resource.conditionalCreate":"boolean","CapabilityStatement.rest.resource.conditionalDelete":"code","CapabilityStatement.rest.resource.conditionalRead":"code","CapabilityStatement.rest.resource.conditionalUpdate":"boolean","CapabilityStatement.rest.resource.documentation":"markdown","CapabilityStatement.rest.resource.extension":"Extension","CapabilityStatement.rest.resource.id":"System.String","CapabilityStatement.rest.resource.interaction.code":"code","CapabilityStatement.rest.resource.interaction.documentation":"markdown","CapabilityStatement.rest.resource.interaction.extension":"Extension","CapabilityStatement.rest.resource.interaction.id":"System.String","CapabilityStatement.rest.resource.interaction.modifierExtension":"Extension","CapabilityStatement.rest.resource.modifierExtension":"Extension","CapabilityStatement.rest.resource.operation.definition":"canonical","CapabilityStatement.rest.resource.operation.documentation":"markdown","CapabilityStatement.rest.resource.operation.extension":"Extension","CapabilityStatement.rest.resource.operation.id":"System.String","CapabilityStatement.rest.resource.operation.modifierExtension":"Extension","CapabilityStatement.rest.resource.operation.name":"string","CapabilityStatement.rest.resource.profile":"canonical","CapabilityStatement.rest.resource.readHistory":"boolean","CapabilityStatement.rest.resource.referencePolicy":"code","CapabilityStatement.rest.resource.searchInclude":"string","CapabilityStatement.rest.resource.searchParam.definition":"canonical","CapabilityStatement.rest.resource.searchParam.documentation":"markdown","CapabilityStatement.rest.resource.searchParam.extension":"Extension","CapabilityStatement.rest.resource.searchParam.id":"System.String","CapabilityStatement.rest.resource.searchParam.modifierExtension":"Extension","CapabilityStatement.rest.resource.searchParam.name":"string","CapabilityStatement.rest.resource.searchParam.type":"code","CapabilityStatement.rest.resource.searchRevInclude":"string","CapabilityStatement.rest.resource.supportedProfile":"canonical","CapabilityStatement.rest.resource.type":"code","CapabilityStatement.rest.resource.updateCreate":"boolean","CapabilityStatement.rest.resource.versioning":"code","CapabilityStatement.rest.security.cors":"boolean","CapabilityStatement.rest.security.description":"markdown","CapabilityStatement.rest.security.extension":"Extension","CapabilityStatement.rest.security.id":"System.String","CapabilityStatement.rest.security.modifierExtension":"Extension","CapabilityStatement.rest.security.service":"CodeableConcept","CapabilityStatement.software.extension":"Extension","CapabilityStatement.software.id":"System.String","CapabilityStatement.software.modifierExtension":"Extension","CapabilityStatement.software.name":"string","CapabilityStatement.software.releaseDate":"dateTime","CapabilityStatement.software.version":"string","CapabilityStatement.status":"code","CapabilityStatement.text":"Narrative","CapabilityStatement.title":"string","CapabilityStatement.url":"uri","CapabilityStatement.useContext":"UsageContext","CapabilityStatement.version":"string","CarePlan.activity.detail.code":"CodeableConcept","CarePlan.activity.detail.dailyAmount":"Quantity","CarePlan.activity.detail.description":"string","CarePlan.activity.detail.doNotPerform":"boolean","CarePlan.activity.detail.extension":"Extension","CarePlan.activity.detail.goal":"Reference","CarePlan.activity.detail.id":"System.String","CarePlan.activity.detail.instantiatesCanonical":"canonical","CarePlan.activity.detail.instantiatesUri":"uri","CarePlan.activity.detail.kind":"code","CarePlan.activity.detail.location":"Reference","CarePlan.activity.detail.modifierExtension":"Extension","CarePlan.activity.detail.performer":"Reference","CarePlan.activity.detail.productCodeableConcept":"CodeableConcept","CarePlan.activity.detail.productReference":"Reference","CarePlan.activity.detail.quantity":"Quantity","CarePlan.activity.detail.reasonCode":"CodeableConcept","CarePlan.activity.detail.reasonReference":"Reference","CarePlan.activity.detail.scheduledPeriod":"Period","CarePlan.activity.detail.scheduledString":"string","CarePlan.activity.detail.scheduledTiming":"Timing","CarePlan.activity.detail.status":"code","CarePlan.activity.detail.statusReason":"CodeableConcept","CarePlan.activity.extension":"Extension","CarePlan.activity.id":"System.String","CarePlan.activity.modifierExtension":"Extension","CarePlan.activity.outcomeCodeableConcept":"CodeableConcept","CarePlan.activity.outcomeReference":"Reference","CarePlan.activity.progress":"Annotation","CarePlan.activity.reference":"Reference","CarePlan.addresses":"Reference","CarePlan.author":"Reference","CarePlan.basedOn":"Reference","CarePlan.careTeam":"Reference","CarePlan.category":"CodeableConcept","CarePlan.contained":"Resource","CarePlan.contributor":"Reference","CarePlan.created":"dateTime","CarePlan.description":"string","CarePlan.encounter":"Reference","CarePlan.extension":"Extension","CarePlan.goal":"Reference","CarePlan.id":"System.String","CarePlan.identifier":"Identifier","CarePlan.implicitRules":"uri","CarePlan.instantiatesCanonical":"canonical","CarePlan.instantiatesUri":"uri","CarePlan.intent":"code","CarePlan.language":"code","CarePlan.meta":"Meta","CarePlan.modifierExtension":"Extension","CarePlan.note":"Annotation","CarePlan.partOf":"Reference","CarePlan.period":"Period","CarePlan.replaces":"Reference","CarePlan.status":"code","CarePlan.subject":"Reference","CarePlan.supportingInfo":"Reference","CarePlan.text":"Narrative","CarePlan.title":"string","CareTeam.category":"CodeableConcept","CareTeam.contained":"Resource","CareTeam.encounter":"Reference","CareTeam.extension":"Extension","CareTeam.id":"System.String","CareTeam.identifier":"Identifier","CareTeam.implicitRules":"uri","CareTeam.language":"code","CareTeam.managingOrganization":"Reference","CareTeam.meta":"Meta","CareTeam.modifierExtension":"Extension","CareTeam.name":"string","CareTeam.note":"Annotation","CareTeam.participant.extension":"Extension","CareTeam.participant.id":"System.String","CareTeam.participant.member":"Reference","CareTeam.participant.modifierExtension":"Extension","CareTeam.participant.onBehalfOf":"Reference","CareTeam.participant.period":"Period","CareTeam.participant.role":"CodeableConcept","CareTeam.period":"Period","CareTeam.reasonCode":"CodeableConcept","CareTeam.reasonReference":"Reference","CareTeam.status":"code","CareTeam.subject":"Reference","CareTeam.telecom":"ContactPoint","CareTeam.text":"Narrative","CatalogEntry.additionalCharacteristic":"CodeableConcept","CatalogEntry.additionalClassification":"CodeableConcept","CatalogEntry.additionalIdentifier":"Identifier","CatalogEntry.classification":"CodeableConcept","CatalogEntry.contained":"Resource","CatalogEntry.extension":"Extension","CatalogEntry.id":"System.String","CatalogEntry.identifier":"Identifier","CatalogEntry.implicitRules":"uri","CatalogEntry.language":"code","CatalogEntry.lastUpdated":"dateTime","CatalogEntry.meta":"Meta","CatalogEntry.modifierExtension":"Extension","CatalogEntry.orderable":"boolean","CatalogEntry.referencedItem":"Reference","CatalogEntry.relatedEntry.extension":"Extension","CatalogEntry.relatedEntry.id":"System.String","CatalogEntry.relatedEntry.item":"Reference","CatalogEntry.relatedEntry.modifierExtension":"Extension","CatalogEntry.relatedEntry.relationtype":"code","CatalogEntry.status":"code","CatalogEntry.text":"Narrative","CatalogEntry.type":"CodeableConcept","CatalogEntry.validTo":"dateTime","CatalogEntry.validityPeriod":"Period","ChargeItem.account":"Reference","ChargeItem.bodysite":"CodeableConcept","ChargeItem.code":"CodeableConcept","ChargeItem.contained":"Resource","ChargeItem.context":"Reference","ChargeItem.costCenter":"Reference","ChargeItem.definitionCanonical":"canonical","ChargeItem.definitionUri":"uri","ChargeItem.enteredDate":"dateTime","ChargeItem.enterer":"Reference","ChargeItem.extension":"Extension","ChargeItem.factorOverride":"decimal","ChargeItem.id":"System.String","ChargeItem.identifier":"Identifier","ChargeItem.implicitRules":"uri","ChargeItem.language":"code","ChargeItem.meta":"Meta","ChargeItem.modifierExtension":"Extension","ChargeItem.note":"Annotation","ChargeItem.occurrenceDateTime":"dateTime","ChargeItem.occurrencePeriod":"Period","ChargeItem.occurrenceTiming":"Timing","ChargeItem.overrideReason":"string","ChargeItem.partOf":"Reference","ChargeItem.performer.actor":"Reference","ChargeItem.performer.extension":"Extension","ChargeItem.performer.function":"CodeableConcept","ChargeItem.performer.id":"System.String","ChargeItem.performer.modifierExtension":"Extension","ChargeItem.performingOrganization":"Reference","ChargeItem.priceOverride":"Money","ChargeItem.productCodeableConcept":"CodeableConcept","ChargeItem.productReference":"Reference","ChargeItem.quantity":"Quantity","ChargeItem.reason":"CodeableConcept","ChargeItem.requestingOrganization":"Reference","ChargeItem.service":"Reference","ChargeItem.status":"code","ChargeItem.subject":"Reference","ChargeItem.supportingInformation":"Reference","ChargeItem.text":"Narrative","ChargeItemDefinition.applicability.description":"string","ChargeItemDefinition.applicability.expression":"string","ChargeItemDefinition.applicability.extension":"Extension","ChargeItemDefinition.applicability.id":"System.String","ChargeItemDefinition.applicability.language":"string","ChargeItemDefinition.applicability.modifierExtension":"Extension","ChargeItemDefinition.approvalDate":"date","ChargeItemDefinition.code":"CodeableConcept","ChargeItemDefinition.contact":"ContactDetail","ChargeItemDefinition.contained":"Resource","ChargeItemDefinition.copyright":"markdown","ChargeItemDefinition.date":"dateTime","ChargeItemDefinition.derivedFromUri":"uri","ChargeItemDefinition.description":"markdown","ChargeItemDefinition.effectivePeriod":"Period","ChargeItemDefinition.experimental":"boolean","ChargeItemDefinition.extension":"Extension","ChargeItemDefinition.id":"System.String","ChargeItemDefinition.identifier":"Identifier","ChargeItemDefinition.implicitRules":"uri","ChargeItemDefinition.instance":"Reference","ChargeItemDefinition.jurisdiction":"CodeableConcept","ChargeItemDefinition.language":"code","ChargeItemDefinition.lastReviewDate":"date","ChargeItemDefinition.meta":"Meta","ChargeItemDefinition.modifierExtension":"Extension","ChargeItemDefinition.partOf":"canonical","ChargeItemDefinition.propertyGroup.extension":"Extension","ChargeItemDefinition.propertyGroup.id":"System.String","ChargeItemDefinition.propertyGroup.modifierExtension":"Extension","ChargeItemDefinition.propertyGroup.priceComponent.amount":"Money","ChargeItemDefinition.propertyGroup.priceComponent.code":"CodeableConcept","ChargeItemDefinition.propertyGroup.priceComponent.extension":"Extension","ChargeItemDefinition.propertyGroup.priceComponent.factor":"decimal","ChargeItemDefinition.propertyGroup.priceComponent.id":"System.String","ChargeItemDefinition.propertyGroup.priceComponent.modifierExtension":"Extension","ChargeItemDefinition.propertyGroup.priceComponent.type":"code","ChargeItemDefinition.publisher":"string","ChargeItemDefinition.replaces":"canonical","ChargeItemDefinition.status":"code","ChargeItemDefinition.text":"Narrative","ChargeItemDefinition.title":"string","ChargeItemDefinition.url":"uri","ChargeItemDefinition.useContext":"UsageContext","ChargeItemDefinition.version":"string","Claim.accident.date":"date","Claim.accident.extension":"Extension","Claim.accident.id":"System.String","Claim.accident.locationAddress":"Address","Claim.accident.locationReference":"Reference","Claim.accident.modifierExtension":"Extension","Claim.accident.type":"CodeableConcept","Claim.billablePeriod":"Period","Claim.careTeam.extension":"Extension","Claim.careTeam.id":"System.String","Claim.careTeam.modifierExtension":"Extension","Claim.careTeam.provider":"Reference","Claim.careTeam.qualification":"CodeableConcept","Claim.careTeam.responsible":"boolean","Claim.careTeam.role":"CodeableConcept","Claim.careTeam.sequence":"positiveInt","Claim.contained":"Resource","Claim.created":"dateTime","Claim.diagnosis.diagnosisCodeableConcept":"CodeableConcept","Claim.diagnosis.diagnosisReference":"Reference","Claim.diagnosis.extension":"Extension","Claim.diagnosis.id":"System.String","Claim.diagnosis.modifierExtension":"Extension","Claim.diagnosis.onAdmission":"CodeableConcept","Claim.diagnosis.packageCode":"CodeableConcept","Claim.diagnosis.sequence":"positiveInt","Claim.diagnosis.type":"CodeableConcept","Claim.enterer":"Reference","Claim.extension":"Extension","Claim.facility":"Reference","Claim.fundsReserve":"CodeableConcept","Claim.id":"System.String","Claim.identifier":"Identifier","Claim.implicitRules":"uri","Claim.insurance.businessArrangement":"string","Claim.insurance.claimResponse":"Reference","Claim.insurance.coverage":"Reference","Claim.insurance.extension":"Extension","Claim.insurance.focal":"boolean","Claim.insurance.id":"System.String","Claim.insurance.identifier":"Identifier","Claim.insurance.modifierExtension":"Extension","Claim.insurance.preAuthRef":"string","Claim.insurance.sequence":"positiveInt","Claim.insurer":"Reference","Claim.item.bodySite":"CodeableConcept","Claim.item.careTeamSequence":"positiveInt","Claim.item.category":"CodeableConcept","Claim.item.detail.category":"CodeableConcept","Claim.item.detail.extension":"Extension","Claim.item.detail.factor":"decimal","Claim.item.detail.id":"System.String","Claim.item.detail.modifier":"CodeableConcept","Claim.item.detail.modifierExtension":"Extension","Claim.item.detail.net":"Money","Claim.item.detail.productOrService":"CodeableConcept","Claim.item.detail.programCode":"CodeableConcept","Claim.item.detail.quantity":"Quantity","Claim.item.detail.revenue":"CodeableConcept","Claim.item.detail.sequence":"positiveInt","Claim.item.detail.subDetail.category":"CodeableConcept","Claim.item.detail.subDetail.extension":"Extension","Claim.item.detail.subDetail.factor":"decimal","Claim.item.detail.subDetail.id":"System.String","Claim.item.detail.subDetail.modifier":"CodeableConcept","Claim.item.detail.subDetail.modifierExtension":"Extension","Claim.item.detail.subDetail.net":"Money","Claim.item.detail.subDetail.productOrService":"CodeableConcept","Claim.item.detail.subDetail.programCode":"CodeableConcept","Claim.item.detail.subDetail.quantity":"Quantity","Claim.item.detail.subDetail.revenue":"CodeableConcept","Claim.item.detail.subDetail.sequence":"positiveInt","Claim.item.detail.subDetail.udi":"Reference","Claim.item.detail.subDetail.unitPrice":"Money","Claim.item.detail.udi":"Reference","Claim.item.detail.unitPrice":"Money","Claim.item.diagnosisSequence":"positiveInt","Claim.item.encounter":"Reference","Claim.item.extension":"Extension","Claim.item.factor":"decimal","Claim.item.id":"System.String","Claim.item.informationSequence":"positiveInt","Claim.item.locationAddress":"Address","Claim.item.locationCodeableConcept":"CodeableConcept","Claim.item.locationReference":"Reference","Claim.item.modifier":"CodeableConcept","Claim.item.modifierExtension":"Extension","Claim.item.net":"Money","Claim.item.procedureSequence":"positiveInt","Claim.item.productOrService":"CodeableConcept","Claim.item.programCode":"CodeableConcept","Claim.item.quantity":"Quantity","Claim.item.revenue":"CodeableConcept","Claim.item.sequence":"positiveInt","Claim.item.servicedDate":"date","Claim.item.servicedPeriod":"Period","Claim.item.subSite":"CodeableConcept","Claim.item.udi":"Reference","Claim.item.unitPrice":"Money","Claim.language":"code","Claim.meta":"Meta","Claim.modifierExtension":"Extension","Claim.originalPrescription":"Reference","Claim.patient":"Reference","Claim.payee.extension":"Extension","Claim.payee.id":"System.String","Claim.payee.modifierExtension":"Extension","Claim.payee.party":"Reference","Claim.payee.type":"CodeableConcept","Claim.prescription":"Reference","Claim.priority":"CodeableConcept","Claim.procedure.date":"dateTime","Claim.procedure.extension":"Extension","Claim.procedure.id":"System.String","Claim.procedure.modifierExtension":"Extension","Claim.procedure.procedureCodeableConcept":"CodeableConcept","Claim.procedure.procedureReference":"Reference","Claim.procedure.sequence":"positiveInt","Claim.procedure.type":"CodeableConcept","Claim.procedure.udi":"Reference","Claim.provider":"Reference","Claim.referral":"Reference","Claim.related.claim":"Reference","Claim.related.extension":"Extension","Claim.related.id":"System.String","Claim.related.modifierExtension":"Extension","Claim.related.reference":"Identifier","Claim.related.relationship":"CodeableConcept","Claim.status":"code","Claim.subType":"CodeableConcept","Claim.supportingInfo.category":"CodeableConcept","Claim.supportingInfo.code":"CodeableConcept","Claim.supportingInfo.extension":"Extension","Claim.supportingInfo.id":"System.String","Claim.supportingInfo.modifierExtension":"Extension","Claim.supportingInfo.reason":"CodeableConcept","Claim.supportingInfo.sequence":"positiveInt","Claim.supportingInfo.timingDate":"date","Claim.supportingInfo.timingPeriod":"Period","Claim.supportingInfo.valueAttachment":"Attachment","Claim.supportingInfo.valueBoolean":"boolean","Claim.supportingInfo.valueQuantity":"Quantity","Claim.supportingInfo.valueReference":"Reference","Claim.supportingInfo.valueString":"string","Claim.text":"Narrative","Claim.total":"Money","Claim.type":"CodeableConcept","Claim.use":"code","ClaimResponse.addItem.bodySite":"CodeableConcept","ClaimResponse.addItem.detail.extension":"Extension","ClaimResponse.addItem.detail.factor":"decimal","ClaimResponse.addItem.detail.id":"System.String","ClaimResponse.addItem.detail.modifier":"CodeableConcept","ClaimResponse.addItem.detail.modifierExtension":"Extension","ClaimResponse.addItem.detail.net":"Money","ClaimResponse.addItem.detail.noteNumber":"positiveInt","ClaimResponse.addItem.detail.productOrService":"CodeableConcept","ClaimResponse.addItem.detail.quantity":"Quantity","ClaimResponse.addItem.detail.subDetail.extension":"Extension","ClaimResponse.addItem.detail.subDetail.factor":"decimal","ClaimResponse.addItem.detail.subDetail.id":"System.String","ClaimResponse.addItem.detail.subDetail.modifier":"CodeableConcept","ClaimResponse.addItem.detail.subDetail.modifierExtension":"Extension","ClaimResponse.addItem.detail.subDetail.net":"Money","ClaimResponse.addItem.detail.subDetail.noteNumber":"positiveInt","ClaimResponse.addItem.detail.subDetail.productOrService":"CodeableConcept","ClaimResponse.addItem.detail.subDetail.quantity":"Quantity","ClaimResponse.addItem.detail.subDetail.unitPrice":"Money","ClaimResponse.addItem.detail.unitPrice":"Money","ClaimResponse.addItem.detailSequence":"positiveInt","ClaimResponse.addItem.extension":"Extension","ClaimResponse.addItem.factor":"decimal","ClaimResponse.addItem.id":"System.String","ClaimResponse.addItem.itemSequence":"positiveInt","ClaimResponse.addItem.locationAddress":"Address","ClaimResponse.addItem.locationCodeableConcept":"CodeableConcept","ClaimResponse.addItem.locationReference":"Reference","ClaimResponse.addItem.modifier":"CodeableConcept","ClaimResponse.addItem.modifierExtension":"Extension","ClaimResponse.addItem.net":"Money","ClaimResponse.addItem.noteNumber":"positiveInt","ClaimResponse.addItem.productOrService":"CodeableConcept","ClaimResponse.addItem.programCode":"CodeableConcept","ClaimResponse.addItem.provider":"Reference","ClaimResponse.addItem.quantity":"Quantity","ClaimResponse.addItem.servicedDate":"date","ClaimResponse.addItem.servicedPeriod":"Period","ClaimResponse.addItem.subSite":"CodeableConcept","ClaimResponse.addItem.subdetailSequence":"positiveInt","ClaimResponse.addItem.unitPrice":"Money","ClaimResponse.communicationRequest":"Reference","ClaimResponse.contained":"Resource","ClaimResponse.created":"dateTime","ClaimResponse.disposition":"string","ClaimResponse.error.code":"CodeableConcept","ClaimResponse.error.detailSequence":"positiveInt","ClaimResponse.error.extension":"Extension","ClaimResponse.error.id":"System.String","ClaimResponse.error.itemSequence":"positiveInt","ClaimResponse.error.modifierExtension":"Extension","ClaimResponse.error.subDetailSequence":"positiveInt","ClaimResponse.extension":"Extension","ClaimResponse.form":"Attachment","ClaimResponse.formCode":"CodeableConcept","ClaimResponse.fundsReserve":"CodeableConcept","ClaimResponse.id":"System.String","ClaimResponse.identifier":"Identifier","ClaimResponse.implicitRules":"uri","ClaimResponse.insurance.businessArrangement":"string","ClaimResponse.insurance.claimResponse":"Reference","ClaimResponse.insurance.coverage":"Reference","ClaimResponse.insurance.extension":"Extension","ClaimResponse.insurance.focal":"boolean","ClaimResponse.insurance.id":"System.String","ClaimResponse.insurance.modifierExtension":"Extension","ClaimResponse.insurance.sequence":"positiveInt","ClaimResponse.insurer":"Reference","ClaimResponse.item.adjudication.amount":"Money","ClaimResponse.item.adjudication.category":"CodeableConcept","ClaimResponse.item.adjudication.extension":"Extension","ClaimResponse.item.adjudication.id":"System.String","ClaimResponse.item.adjudication.modifierExtension":"Extension","ClaimResponse.item.adjudication.reason":"CodeableConcept","ClaimResponse.item.adjudication.value":"decimal","ClaimResponse.item.detail.detailSequence":"positiveInt","ClaimResponse.item.detail.extension":"Extension","ClaimResponse.item.detail.id":"System.String","ClaimResponse.item.detail.modifierExtension":"Extension","ClaimResponse.item.detail.noteNumber":"positiveInt","ClaimResponse.item.detail.subDetail.extension":"Extension","ClaimResponse.item.detail.subDetail.id":"System.String","ClaimResponse.item.detail.subDetail.modifierExtension":"Extension","ClaimResponse.item.detail.subDetail.noteNumber":"positiveInt","ClaimResponse.item.detail.subDetail.subDetailSequence":"positiveInt","ClaimResponse.item.extension":"Extension","ClaimResponse.item.id":"System.String","ClaimResponse.item.itemSequence":"positiveInt","ClaimResponse.item.modifierExtension":"Extension","ClaimResponse.item.noteNumber":"positiveInt","ClaimResponse.language":"code","ClaimResponse.meta":"Meta","ClaimResponse.modifierExtension":"Extension","ClaimResponse.outcome":"code","ClaimResponse.patient":"Reference","ClaimResponse.payeeType":"CodeableConcept","ClaimResponse.payment.adjustment":"Money","ClaimResponse.payment.adjustmentReason":"CodeableConcept","ClaimResponse.payment.amount":"Money","ClaimResponse.payment.date":"date","ClaimResponse.payment.extension":"Extension","ClaimResponse.payment.id":"System.String","ClaimResponse.payment.identifier":"Identifier","ClaimResponse.payment.modifierExtension":"Extension","ClaimResponse.payment.type":"CodeableConcept","ClaimResponse.preAuthPeriod":"Period","ClaimResponse.preAuthRef":"string","ClaimResponse.processNote.extension":"Extension","ClaimResponse.processNote.id":"System.String","ClaimResponse.processNote.language":"CodeableConcept","ClaimResponse.processNote.modifierExtension":"Extension","ClaimResponse.processNote.number":"positiveInt","ClaimResponse.processNote.text":"string","ClaimResponse.processNote.type":"code","ClaimResponse.request":"Reference","ClaimResponse.requestor":"Reference","ClaimResponse.status":"code","ClaimResponse.subType":"CodeableConcept","ClaimResponse.text":"Narrative","ClaimResponse.total.amount":"Money","ClaimResponse.total.category":"CodeableConcept","ClaimResponse.total.extension":"Extension","ClaimResponse.total.id":"System.String","ClaimResponse.total.modifierExtension":"Extension","ClaimResponse.type":"CodeableConcept","ClaimResponse.use":"code","ClinicalImpression.assessor":"Reference","ClinicalImpression.code":"CodeableConcept","ClinicalImpression.contained":"Resource","ClinicalImpression.date":"dateTime","ClinicalImpression.description":"string","ClinicalImpression.effectiveDateTime":"dateTime","ClinicalImpression.effectivePeriod":"Period","ClinicalImpression.encounter":"Reference","ClinicalImpression.extension":"Extension","ClinicalImpression.finding.basis":"string","ClinicalImpression.finding.extension":"Extension","ClinicalImpression.finding.id":"System.String","ClinicalImpression.finding.itemCodeableConcept":"CodeableConcept","ClinicalImpression.finding.itemReference":"Reference","ClinicalImpression.finding.modifierExtension":"Extension","ClinicalImpression.id":"System.String","ClinicalImpression.identifier":"Identifier","ClinicalImpression.implicitRules":"uri","ClinicalImpression.investigation.code":"CodeableConcept","ClinicalImpression.investigation.extension":"Extension","ClinicalImpression.investigation.id":"System.String","ClinicalImpression.investigation.item":"Reference","ClinicalImpression.investigation.modifierExtension":"Extension","ClinicalImpression.language":"code","ClinicalImpression.meta":"Meta","ClinicalImpression.modifierExtension":"Extension","ClinicalImpression.note":"Annotation","ClinicalImpression.previous":"Reference","ClinicalImpression.problem":"Reference","ClinicalImpression.prognosisCodeableConcept":"CodeableConcept","ClinicalImpression.prognosisReference":"Reference","ClinicalImpression.protocol":"uri","ClinicalImpression.status":"code","ClinicalImpression.statusReason":"CodeableConcept","ClinicalImpression.subject":"Reference","ClinicalImpression.summary":"string","ClinicalImpression.supportingInfo":"Reference","ClinicalImpression.text":"Narrative","CodeSystem.caseSensitive":"boolean","CodeSystem.compositional":"boolean","CodeSystem.concept.code":"code","CodeSystem.concept.definition":"string","CodeSystem.concept.designation.extension":"Extension","CodeSystem.concept.designation.id":"System.String","CodeSystem.concept.designation.language":"code","CodeSystem.concept.designation.modifierExtension":"Extension","CodeSystem.concept.designation.use":"Coding","CodeSystem.concept.designation.value":"string","CodeSystem.concept.display":"string","CodeSystem.concept.extension":"Extension","CodeSystem.concept.id":"System.String","CodeSystem.concept.modifierExtension":"Extension","CodeSystem.concept.property.code":"code","CodeSystem.concept.property.extension":"Extension","CodeSystem.concept.property.id":"System.String","CodeSystem.concept.property.modifierExtension":"Extension","CodeSystem.concept.property.valueBoolean":"boolean","CodeSystem.concept.property.valueCode":"code","CodeSystem.concept.property.valueCoding":"Coding","CodeSystem.concept.property.valueDateTime":"dateTime","CodeSystem.concept.property.valueDecimal":"decimal","CodeSystem.concept.property.valueInteger":"integer","CodeSystem.concept.property.valueString":"string","CodeSystem.contact":"ContactDetail","CodeSystem.contained":"Resource","CodeSystem.content":"code","CodeSystem.copyright":"markdown","CodeSystem.count":"unsignedInt","CodeSystem.date":"dateTime","CodeSystem.description":"markdown","CodeSystem.experimental":"boolean","CodeSystem.extension":"Extension","CodeSystem.filter.code":"code","CodeSystem.filter.description":"string","CodeSystem.filter.extension":"Extension","CodeSystem.filter.id":"System.String","CodeSystem.filter.modifierExtension":"Extension","CodeSystem.filter.operator":"code","CodeSystem.filter.value":"string","CodeSystem.hierarchyMeaning":"code","CodeSystem.id":"System.String","CodeSystem.identifier":"Identifier","CodeSystem.implicitRules":"uri","CodeSystem.jurisdiction":"CodeableConcept","CodeSystem.language":"code","CodeSystem.meta":"Meta","CodeSystem.modifierExtension":"Extension","CodeSystem.name":"string","CodeSystem.property.code":"code","CodeSystem.property.description":"string","CodeSystem.property.extension":"Extension","CodeSystem.property.id":"System.String","CodeSystem.property.modifierExtension":"Extension","CodeSystem.property.type":"code","CodeSystem.property.uri":"uri","CodeSystem.publisher":"string","CodeSystem.purpose":"markdown","CodeSystem.status":"code","CodeSystem.supplements":"canonical","CodeSystem.text":"Narrative","CodeSystem.title":"string","CodeSystem.url":"uri","CodeSystem.useContext":"UsageContext","CodeSystem.valueSet":"canonical","CodeSystem.version":"string","CodeSystem.versionNeeded":"boolean","CodeableConcept.coding":"Coding","CodeableConcept.extension":"Extension","CodeableConcept.id":"System.String","CodeableConcept.text":"string","Coding.code":"code","Coding.display":"string","Coding.extension":"Extension","Coding.id":"System.String","Coding.system":"uri","Coding.userSelected":"boolean","Coding.version":"string","Communication.about":"Reference","Communication.basedOn":"Reference","Communication.category":"CodeableConcept","Communication.contained":"Resource","Communication.encounter":"Reference","Communication.extension":"Extension","Communication.id":"System.String","Communication.identifier":"Identifier","Communication.implicitRules":"uri","Communication.inResponseTo":"Reference","Communication.instantiatesCanonical":"canonical","Communication.instantiatesUri":"uri","Communication.language":"code","Communication.medium":"CodeableConcept","Communication.meta":"Meta","Communication.modifierExtension":"Extension","Communication.note":"Annotation","Communication.partOf":"Reference","Communication.payload.contentAttachment":"Attachment","Communication.payload.contentReference":"Reference","Communication.payload.contentString":"string","Communication.payload.extension":"Extension","Communication.payload.id":"System.String","Communication.payload.modifierExtension":"Extension","Communication.priority":"code","Communication.reasonCode":"CodeableConcept","Communication.reasonReference":"Reference","Communication.received":"dateTime","Communication.recipient":"Reference","Communication.sender":"Reference","Communication.sent":"dateTime","Communication.status":"code","Communication.statusReason":"CodeableConcept","Communication.subject":"Reference","Communication.text":"Narrative","Communication.topic":"CodeableConcept","CommunicationRequest.about":"Reference","CommunicationRequest.authoredOn":"dateTime","CommunicationRequest.basedOn":"Reference","CommunicationRequest.category":"CodeableConcept","CommunicationRequest.contained":"Resource","CommunicationRequest.doNotPerform":"boolean","CommunicationRequest.encounter":"Reference","CommunicationRequest.extension":"Extension","CommunicationRequest.groupIdentifier":"Identifier","CommunicationRequest.id":"System.String","CommunicationRequest.identifier":"Identifier","CommunicationRequest.implicitRules":"uri","CommunicationRequest.language":"code","CommunicationRequest.medium":"CodeableConcept","CommunicationRequest.meta":"Meta","CommunicationRequest.modifierExtension":"Extension","CommunicationRequest.note":"Annotation","CommunicationRequest.occurrenceDateTime":"dateTime","CommunicationRequest.occurrencePeriod":"Period","CommunicationRequest.payload.contentAttachment":"Attachment","CommunicationRequest.payload.contentReference":"Reference","CommunicationRequest.payload.contentString":"string","CommunicationRequest.payload.extension":"Extension","CommunicationRequest.payload.id":"System.String","CommunicationRequest.payload.modifierExtension":"Extension","CommunicationRequest.priority":"code","CommunicationRequest.reasonCode":"CodeableConcept","CommunicationRequest.reasonReference":"Reference","CommunicationRequest.recipient":"Reference","CommunicationRequest.replaces":"Reference","CommunicationRequest.requester":"Reference","CommunicationRequest.sender":"Reference","CommunicationRequest.status":"code","CommunicationRequest.statusReason":"CodeableConcept","CommunicationRequest.subject":"Reference","CommunicationRequest.text":"Narrative","CompartmentDefinition.code":"code","CompartmentDefinition.contact":"ContactDetail","CompartmentDefinition.contained":"Resource","CompartmentDefinition.date":"dateTime","CompartmentDefinition.description":"markdown","CompartmentDefinition.experimental":"boolean","CompartmentDefinition.extension":"Extension","CompartmentDefinition.id":"System.String","CompartmentDefinition.implicitRules":"uri","CompartmentDefinition.language":"code","CompartmentDefinition.meta":"Meta","CompartmentDefinition.modifierExtension":"Extension","CompartmentDefinition.name":"string","CompartmentDefinition.publisher":"string","CompartmentDefinition.purpose":"markdown","CompartmentDefinition.resource.code":"code","CompartmentDefinition.resource.documentation":"string","CompartmentDefinition.resource.extension":"Extension","CompartmentDefinition.resource.id":"System.String","CompartmentDefinition.resource.modifierExtension":"Extension","CompartmentDefinition.resource.param":"string","CompartmentDefinition.search":"boolean","CompartmentDefinition.status":"code","CompartmentDefinition.text":"Narrative","CompartmentDefinition.url":"uri","CompartmentDefinition.useContext":"UsageContext","CompartmentDefinition.version":"string","Composition.attester.extension":"Extension","Composition.attester.id":"System.String","Composition.attester.mode":"code","Composition.attester.modifierExtension":"Extension","Composition.attester.party":"Reference","Composition.attester.time":"dateTime","Composition.author":"Reference","Composition.category":"CodeableConcept","Composition.confidentiality":"code","Composition.contained":"Resource","Composition.custodian":"Reference","Composition.date":"dateTime","Composition.encounter":"Reference","Composition.event.code":"CodeableConcept","Composition.event.detail":"Reference","Composition.event.extension":"Extension","Composition.event.id":"System.String","Composition.event.modifierExtension":"Extension","Composition.event.period":"Period","Composition.extension":"Extension","Composition.id":"System.String","Composition.identifier":"Identifier","Composition.implicitRules":"uri","Composition.language":"code","Composition.meta":"Meta","Composition.modifierExtension":"Extension","Composition.relatesTo.code":"code","Composition.relatesTo.extension":"Extension","Composition.relatesTo.id":"System.String","Composition.relatesTo.modifierExtension":"Extension","Composition.relatesTo.targetIdentifier":"Identifier","Composition.relatesTo.targetReference":"Reference","Composition.section.author":"Reference","Composition.section.code":"CodeableConcept","Composition.section.emptyReason":"CodeableConcept","Composition.section.entry":"Reference","Composition.section.extension":"Extension","Composition.section.focus":"Reference","Composition.section.id":"System.String","Composition.section.mode":"code","Composition.section.modifierExtension":"Extension","Composition.section.orderedBy":"CodeableConcept","Composition.section.text":"Narrative","Composition.section.title":"string","Composition.status":"code","Composition.subject":"Reference","Composition.text":"Narrative","Composition.title":"string","Composition.type":"CodeableConcept","ConceptMap.contact":"ContactDetail","ConceptMap.contained":"Resource","ConceptMap.copyright":"markdown","ConceptMap.date":"dateTime","ConceptMap.description":"markdown","ConceptMap.experimental":"boolean","ConceptMap.extension":"Extension","ConceptMap.group.element.code":"code","ConceptMap.group.element.display":"string","ConceptMap.group.element.extension":"Extension","ConceptMap.group.element.id":"System.String","ConceptMap.group.element.modifierExtension":"Extension","ConceptMap.group.element.target.code":"code","ConceptMap.group.element.target.comment":"string","ConceptMap.group.element.target.dependsOn.display":"string","ConceptMap.group.element.target.dependsOn.extension":"Extension","ConceptMap.group.element.target.dependsOn.id":"System.String","ConceptMap.group.element.target.dependsOn.modifierExtension":"Extension","ConceptMap.group.element.target.dependsOn.property":"uri","ConceptMap.group.element.target.dependsOn.system":"canonical","ConceptMap.group.element.target.dependsOn.value":"string","ConceptMap.group.element.target.display":"string","ConceptMap.group.element.target.equivalence":"code","ConceptMap.group.element.target.extension":"Extension","ConceptMap.group.element.target.id":"System.String","ConceptMap.group.element.target.modifierExtension":"Extension","ConceptMap.group.extension":"Extension","ConceptMap.group.id":"System.String","ConceptMap.group.modifierExtension":"Extension","ConceptMap.group.source":"uri","ConceptMap.group.sourceVersion":"string","ConceptMap.group.target":"uri","ConceptMap.group.targetVersion":"string","ConceptMap.group.unmapped.code":"code","ConceptMap.group.unmapped.display":"string","ConceptMap.group.unmapped.extension":"Extension","ConceptMap.group.unmapped.id":"System.String","ConceptMap.group.unmapped.mode":"code","ConceptMap.group.unmapped.modifierExtension":"Extension","ConceptMap.group.unmapped.url":"canonical","ConceptMap.id":"System.String","ConceptMap.identifier":"Identifier","ConceptMap.implicitRules":"uri","ConceptMap.jurisdiction":"CodeableConcept","ConceptMap.language":"code","ConceptMap.meta":"Meta","ConceptMap.modifierExtension":"Extension","ConceptMap.name":"string","ConceptMap.publisher":"string","ConceptMap.purpose":"markdown","ConceptMap.sourceCanonical":"canonical","ConceptMap.sourceUri":"uri","ConceptMap.status":"code","ConceptMap.targetCanonical":"canonical","ConceptMap.targetUri":"uri","ConceptMap.text":"Narrative","ConceptMap.title":"string","ConceptMap.url":"uri","ConceptMap.useContext":"UsageContext","ConceptMap.version":"string","Condition.abatementAge":"Age","Condition.abatementDateTime":"dateTime","Condition.abatementPeriod":"Period","Condition.abatementRange":"Range","Condition.abatementString":"string","Condition.asserter":"Reference","Condition.bodySite":"CodeableConcept","Condition.category":"CodeableConcept","Condition.clinicalStatus":"CodeableConcept","Condition.code":"CodeableConcept","Condition.contained":"Resource","Condition.encounter":"Reference","Condition.evidence.code":"CodeableConcept","Condition.evidence.detail":"Reference","Condition.evidence.extension":"Extension","Condition.evidence.id":"System.String","Condition.evidence.modifierExtension":"Extension","Condition.extension":"Extension","Condition.id":"System.String","Condition.identifier":"Identifier","Condition.implicitRules":"uri","Condition.language":"code","Condition.meta":"Meta","Condition.modifierExtension":"Extension","Condition.note":"Annotation","Condition.onsetAge":"Age","Condition.onsetDateTime":"dateTime","Condition.onsetPeriod":"Period","Condition.onsetRange":"Range","Condition.onsetString":"string","Condition.recordedDate":"dateTime","Condition.recorder":"Reference","Condition.severity":"CodeableConcept","Condition.stage.assessment":"Reference","Condition.stage.extension":"Extension","Condition.stage.id":"System.String","Condition.stage.modifierExtension":"Extension","Condition.stage.summary":"CodeableConcept","Condition.stage.type":"CodeableConcept","Condition.subject":"Reference","Condition.text":"Narrative","Condition.verificationStatus":"CodeableConcept","Consent.category":"CodeableConcept","Consent.contained":"Resource","Consent.dateTime":"dateTime","Consent.extension":"Extension","Consent.id":"System.String","Consent.identifier":"Identifier","Consent.implicitRules":"uri","Consent.language":"code","Consent.meta":"Meta","Consent.modifierExtension":"Extension","Consent.organization":"Reference","Consent.patient":"Reference","Consent.performer":"Reference","Consent.policy.authority":"uri","Consent.policy.extension":"Extension","Consent.policy.id":"System.String","Consent.policy.modifierExtension":"Extension","Consent.policy.uri":"uri","Consent.policyRule":"CodeableConcept","Consent.provision.action":"CodeableConcept","Consent.provision.actor.extension":"Extension","Consent.provision.actor.id":"System.String","Consent.provision.actor.modifierExtension":"Extension","Consent.provision.actor.reference":"Reference","Consent.provision.actor.role":"CodeableConcept","Consent.provision.class":"Coding","Consent.provision.code":"CodeableConcept","Consent.provision.data.extension":"Extension","Consent.provision.data.id":"System.String","Consent.provision.data.meaning":"code","Consent.provision.data.modifierExtension":"Extension","Consent.provision.data.reference":"Reference","Consent.provision.dataPeriod":"Period","Consent.provision.extension":"Extension","Consent.provision.id":"System.String","Consent.provision.modifierExtension":"Extension","Consent.provision.period":"Period","Consent.provision.purpose":"Coding","Consent.provision.securityLabel":"Coding","Consent.provision.type":"code","Consent.scope":"CodeableConcept","Consent.sourceAttachment":"Attachment","Consent.sourceReference":"Reference","Consent.status":"code","Consent.text":"Narrative","Consent.verification.extension":"Extension","Consent.verification.id":"System.String","Consent.verification.modifierExtension":"Extension","Consent.verification.verificationDate":"dateTime","Consent.verification.verified":"boolean","Consent.verification.verifiedWith":"Reference","ContactDetail.extension":"Extension","ContactDetail.id":"System.String","ContactDetail.name":"string","ContactDetail.telecom":"ContactPoint","ContactPoint.extension":"Extension","ContactPoint.id":"System.String","ContactPoint.period":"Period","ContactPoint.rank":"positiveInt","ContactPoint.system":"code","ContactPoint.use":"code","ContactPoint.value":"string","Contract.alias":"string","Contract.applies":"Period","Contract.author":"Reference","Contract.authority":"Reference","Contract.contained":"Resource","Contract.contentDefinition.copyright":"markdown","Contract.contentDefinition.extension":"Extension","Contract.contentDefinition.id":"System.String","Contract.contentDefinition.modifierExtension":"Extension","Contract.contentDefinition.publicationDate":"dateTime","Contract.contentDefinition.publicationStatus":"code","Contract.contentDefinition.publisher":"Reference","Contract.contentDefinition.subType":"CodeableConcept","Contract.contentDefinition.type":"CodeableConcept","Contract.contentDerivative":"CodeableConcept","Contract.domain":"Reference","Contract.expirationType":"CodeableConcept","Contract.extension":"Extension","Contract.friendly.contentAttachment":"Attachment","Contract.friendly.contentReference":"Reference","Contract.friendly.extension":"Extension","Contract.friendly.id":"System.String","Contract.friendly.modifierExtension":"Extension","Contract.id":"System.String","Contract.identifier":"Identifier","Contract.implicitRules":"uri","Contract.instantiatesCanonical":"Reference","Contract.instantiatesUri":"uri","Contract.issued":"dateTime","Contract.language":"code","Contract.legal.contentAttachment":"Attachment","Contract.legal.contentReference":"Reference","Contract.legal.extension":"Extension","Contract.legal.id":"System.String","Contract.legal.modifierExtension":"Extension","Contract.legalState":"CodeableConcept","Contract.legallyBindingAttachment":"Attachment","Contract.legallyBindingReference":"Reference","Contract.meta":"Meta","Contract.modifierExtension":"Extension","Contract.name":"string","Contract.relevantHistory":"Reference","Contract.rule.contentAttachment":"Attachment","Contract.rule.contentReference":"Reference","Contract.rule.extension":"Extension","Contract.rule.id":"System.String","Contract.rule.modifierExtension":"Extension","Contract.scope":"CodeableConcept","Contract.signer.extension":"Extension","Contract.signer.id":"System.String","Contract.signer.modifierExtension":"Extension","Contract.signer.party":"Reference","Contract.signer.signature":"Signature","Contract.signer.type":"Coding","Contract.site":"Reference","Contract.status":"code","Contract.subType":"CodeableConcept","Contract.subject":"Reference","Contract.subtitle":"string","Contract.supportingInfo":"Reference","Contract.term.action.context":"Reference","Contract.term.action.contextLinkId":"string","Contract.term.action.doNotPerform":"boolean","Contract.term.action.extension":"Extension","Contract.term.action.id":"System.String","Contract.term.action.intent":"CodeableConcept","Contract.term.action.linkId":"string","Contract.term.action.modifierExtension":"Extension","Contract.term.action.note":"Annotation","Contract.term.action.occurrenceDateTime":"dateTime","Contract.term.action.occurrencePeriod":"Period","Contract.term.action.occurrenceTiming":"Timing","Contract.term.action.performer":"Reference","Contract.term.action.performerLinkId":"string","Contract.term.action.performerRole":"CodeableConcept","Contract.term.action.performerType":"CodeableConcept","Contract.term.action.reason":"string","Contract.term.action.reasonCode":"CodeableConcept","Contract.term.action.reasonLinkId":"string","Contract.term.action.reasonReference":"Reference","Contract.term.action.requester":"Reference","Contract.term.action.requesterLinkId":"string","Contract.term.action.securityLabelNumber":"unsignedInt","Contract.term.action.status":"CodeableConcept","Contract.term.action.subject.extension":"Extension","Contract.term.action.subject.id":"System.String","Contract.term.action.subject.modifierExtension":"Extension","Contract.term.action.subject.reference":"Reference","Contract.term.action.subject.role":"CodeableConcept","Contract.term.action.type":"CodeableConcept","Contract.term.applies":"Period","Contract.term.asset.condition":"string","Contract.term.asset.context.code":"CodeableConcept","Contract.term.asset.context.extension":"Extension","Contract.term.asset.context.id":"System.String","Contract.term.asset.context.modifierExtension":"Extension","Contract.term.asset.context.reference":"Reference","Contract.term.asset.context.text":"string","Contract.term.asset.extension":"Extension","Contract.term.asset.id":"System.String","Contract.term.asset.linkId":"string","Contract.term.asset.modifierExtension":"Extension","Contract.term.asset.period":"Period","Contract.term.asset.periodType":"CodeableConcept","Contract.term.asset.relationship":"Coding","Contract.term.asset.scope":"CodeableConcept","Contract.term.asset.securityLabelNumber":"unsignedInt","Contract.term.asset.subtype":"CodeableConcept","Contract.term.asset.text":"string","Contract.term.asset.type":"CodeableConcept","Contract.term.asset.typeReference":"Reference","Contract.term.asset.usePeriod":"Period","Contract.term.asset.valuedItem.effectiveTime":"dateTime","Contract.term.asset.valuedItem.entityCodeableConcept":"CodeableConcept","Contract.term.asset.valuedItem.entityReference":"Reference","Contract.term.asset.valuedItem.extension":"Extension","Contract.term.asset.valuedItem.factor":"decimal","Contract.term.asset.valuedItem.id":"System.String","Contract.term.asset.valuedItem.identifier":"Identifier","Contract.term.asset.valuedItem.linkId":"string","Contract.term.asset.valuedItem.modifierExtension":"Extension","Contract.term.asset.valuedItem.net":"Money","Contract.term.asset.valuedItem.payment":"string","Contract.term.asset.valuedItem.paymentDate":"dateTime","Contract.term.asset.valuedItem.points":"decimal","Contract.term.asset.valuedItem.quantity":"Quantity","Contract.term.asset.valuedItem.recipient":"Reference","Contract.term.asset.valuedItem.responsible":"Reference","Contract.term.asset.valuedItem.securityLabelNumber":"unsignedInt","Contract.term.asset.valuedItem.unitPrice":"Money","Contract.term.extension":"Extension","Contract.term.id":"System.String","Contract.term.identifier":"Identifier","Contract.term.issued":"dateTime","Contract.term.modifierExtension":"Extension","Contract.term.offer.answer.extension":"Extension","Contract.term.offer.answer.id":"System.String","Contract.term.offer.answer.modifierExtension":"Extension","Contract.term.offer.answer.valueAttachment":"Attachment","Contract.term.offer.answer.valueBoolean":"boolean","Contract.term.offer.answer.valueCoding":"Coding","Contract.term.offer.answer.valueDate":"date","Contract.term.offer.answer.valueDateTime":"dateTime","Contract.term.offer.answer.valueDecimal":"decimal","Contract.term.offer.answer.valueInteger":"integer","Contract.term.offer.answer.valueQuantity":"Quantity","Contract.term.offer.answer.valueReference":"Reference","Contract.term.offer.answer.valueString":"string","Contract.term.offer.answer.valueTime":"time","Contract.term.offer.answer.valueUri":"uri","Contract.term.offer.decision":"CodeableConcept","Contract.term.offer.decisionMode":"CodeableConcept","Contract.term.offer.extension":"Extension","Contract.term.offer.id":"System.String","Contract.term.offer.identifier":"Identifier","Contract.term.offer.linkId":"string","Contract.term.offer.modifierExtension":"Extension","Contract.term.offer.party.extension":"Extension","Contract.term.offer.party.id":"System.String","Contract.term.offer.party.modifierExtension":"Extension","Contract.term.offer.party.reference":"Reference","Contract.term.offer.party.role":"CodeableConcept","Contract.term.offer.securityLabelNumber":"unsignedInt","Contract.term.offer.text":"string","Contract.term.offer.topic":"Reference","Contract.term.offer.type":"CodeableConcept","Contract.term.securityLabel.category":"Coding","Contract.term.securityLabel.classification":"Coding","Contract.term.securityLabel.control":"Coding","Contract.term.securityLabel.extension":"Extension","Contract.term.securityLabel.id":"System.String","Contract.term.securityLabel.modifierExtension":"Extension","Contract.term.securityLabel.number":"unsignedInt","Contract.term.subType":"CodeableConcept","Contract.term.text":"string","Contract.term.topicCodeableConcept":"CodeableConcept","Contract.term.topicReference":"Reference","Contract.term.type":"CodeableConcept","Contract.text":"Narrative","Contract.title":"string","Contract.topicCodeableConcept":"CodeableConcept","Contract.topicReference":"Reference","Contract.type":"CodeableConcept","Contract.url":"uri","Contract.version":"string","Contributor.contact":"ContactDetail","Contributor.extension":"Extension","Contributor.id":"System.String","Contributor.name":"string","Contributor.type":"code","Count.code":"code","Count.comparator":"code","Count.extension":"Extension","Count.id":"System.String","Count.system":"uri","Count.unit":"string","Count.value":"decimal","Coverage.beneficiary":"Reference","Coverage.class.extension":"Extension","Coverage.class.id":"System.String","Coverage.class.modifierExtension":"Extension","Coverage.class.name":"string","Coverage.class.type":"CodeableConcept","Coverage.class.value":"string","Coverage.contained":"Resource","Coverage.contract":"Reference","Coverage.costToBeneficiary.exception.extension":"Extension","Coverage.costToBeneficiary.exception.id":"System.String","Coverage.costToBeneficiary.exception.modifierExtension":"Extension","Coverage.costToBeneficiary.exception.period":"Period","Coverage.costToBeneficiary.exception.type":"CodeableConcept","Coverage.costToBeneficiary.extension":"Extension","Coverage.costToBeneficiary.id":"System.String","Coverage.costToBeneficiary.modifierExtension":"Extension","Coverage.costToBeneficiary.type":"CodeableConcept","Coverage.costToBeneficiary.valueMoney":"Money","Coverage.costToBeneficiary.valueQuantity":"Quantity","Coverage.dependent":"string","Coverage.extension":"Extension","Coverage.id":"System.String","Coverage.identifier":"Identifier","Coverage.implicitRules":"uri","Coverage.language":"code","Coverage.meta":"Meta","Coverage.modifierExtension":"Extension","Coverage.network":"string","Coverage.order":"positiveInt","Coverage.payor":"Reference","Coverage.period":"Period","Coverage.policyHolder":"Reference","Coverage.relationship":"CodeableConcept","Coverage.status":"code","Coverage.subrogation":"boolean","Coverage.subscriber":"Reference","Coverage.subscriberId":"string","Coverage.text":"Narrative","Coverage.type":"CodeableConcept","CoverageEligibilityRequest.contained":"Resource","CoverageEligibilityRequest.created":"dateTime","CoverageEligibilityRequest.enterer":"Reference","CoverageEligibilityRequest.extension":"Extension","CoverageEligibilityRequest.facility":"Reference","CoverageEligibilityRequest.id":"System.String","CoverageEligibilityRequest.identifier":"Identifier","CoverageEligibilityRequest.implicitRules":"uri","CoverageEligibilityRequest.insurance.businessArrangement":"string","CoverageEligibilityRequest.insurance.coverage":"Reference","CoverageEligibilityRequest.insurance.extension":"Extension","CoverageEligibilityRequest.insurance.focal":"boolean","CoverageEligibilityRequest.insurance.id":"System.String","CoverageEligibilityRequest.insurance.modifierExtension":"Extension","CoverageEligibilityRequest.insurer":"Reference","CoverageEligibilityRequest.item.category":"CodeableConcept","CoverageEligibilityRequest.item.detail":"Reference","CoverageEligibilityRequest.item.diagnosis.diagnosisCodeableConcept":"CodeableConcept","CoverageEligibilityRequest.item.diagnosis.diagnosisReference":"Reference","CoverageEligibilityRequest.item.diagnosis.extension":"Extension","CoverageEligibilityRequest.item.diagnosis.id":"System.String","CoverageEligibilityRequest.item.diagnosis.modifierExtension":"Extension","CoverageEligibilityRequest.item.extension":"Extension","CoverageEligibilityRequest.item.facility":"Reference","CoverageEligibilityRequest.item.id":"System.String","CoverageEligibilityRequest.item.modifier":"CodeableConcept","CoverageEligibilityRequest.item.modifierExtension":"Extension","CoverageEligibilityRequest.item.productOrService":"CodeableConcept","CoverageEligibilityRequest.item.provider":"Reference","CoverageEligibilityRequest.item.quantity":"Quantity","CoverageEligibilityRequest.item.supportingInfoSequence":"positiveInt","CoverageEligibilityRequest.item.unitPrice":"Money","CoverageEligibilityRequest.language":"code","CoverageEligibilityRequest.meta":"Meta","CoverageEligibilityRequest.modifierExtension":"Extension","CoverageEligibilityRequest.patient":"Reference","CoverageEligibilityRequest.priority":"CodeableConcept","CoverageEligibilityRequest.provider":"Reference","CoverageEligibilityRequest.purpose":"code","CoverageEligibilityRequest.servicedDate":"date","CoverageEligibilityRequest.servicedPeriod":"Period","CoverageEligibilityRequest.status":"code","CoverageEligibilityRequest.supportingInfo.appliesToAll":"boolean","CoverageEligibilityRequest.supportingInfo.extension":"Extension","CoverageEligibilityRequest.supportingInfo.id":"System.String","CoverageEligibilityRequest.supportingInfo.information":"Reference","CoverageEligibilityRequest.supportingInfo.modifierExtension":"Extension","CoverageEligibilityRequest.supportingInfo.sequence":"positiveInt","CoverageEligibilityRequest.text":"Narrative","CoverageEligibilityResponse.contained":"Resource","CoverageEligibilityResponse.created":"dateTime","CoverageEligibilityResponse.disposition":"string","CoverageEligibilityResponse.error.code":"CodeableConcept","CoverageEligibilityResponse.error.extension":"Extension","CoverageEligibilityResponse.error.id":"System.String","CoverageEligibilityResponse.error.modifierExtension":"Extension","CoverageEligibilityResponse.extension":"Extension","CoverageEligibilityResponse.form":"CodeableConcept","CoverageEligibilityResponse.id":"System.String","CoverageEligibilityResponse.identifier":"Identifier","CoverageEligibilityResponse.implicitRules":"uri","CoverageEligibilityResponse.insurance.benefitPeriod":"Period","CoverageEligibilityResponse.insurance.coverage":"Reference","CoverageEligibilityResponse.insurance.extension":"Extension","CoverageEligibilityResponse.insurance.id":"System.String","CoverageEligibilityResponse.insurance.inforce":"boolean","CoverageEligibilityResponse.insurance.item.authorizationRequired":"boolean","CoverageEligibilityResponse.insurance.item.authorizationSupporting":"CodeableConcept","CoverageEligibilityResponse.insurance.item.authorizationUrl":"uri","CoverageEligibilityResponse.insurance.item.benefit.allowedMoney":"Money","CoverageEligibilityResponse.insurance.item.benefit.allowedString":"string","CoverageEligibilityResponse.insurance.item.benefit.allowedUnsignedInt":"unsignedInt","CoverageEligibilityResponse.insurance.item.benefit.extension":"Extension","CoverageEligibilityResponse.insurance.item.benefit.id":"System.String","CoverageEligibilityResponse.insurance.item.benefit.modifierExtension":"Extension","CoverageEligibilityResponse.insurance.item.benefit.type":"CodeableConcept","CoverageEligibilityResponse.insurance.item.benefit.usedMoney":"Money","CoverageEligibilityResponse.insurance.item.benefit.usedString":"string","CoverageEligibilityResponse.insurance.item.benefit.usedUnsignedInt":"unsignedInt","CoverageEligibilityResponse.insurance.item.category":"CodeableConcept","CoverageEligibilityResponse.insurance.item.description":"string","CoverageEligibilityResponse.insurance.item.excluded":"boolean","CoverageEligibilityResponse.insurance.item.extension":"Extension","CoverageEligibilityResponse.insurance.item.id":"System.String","CoverageEligibilityResponse.insurance.item.modifier":"CodeableConcept","CoverageEligibilityResponse.insurance.item.modifierExtension":"Extension","CoverageEligibilityResponse.insurance.item.name":"string","CoverageEligibilityResponse.insurance.item.network":"CodeableConcept","CoverageEligibilityResponse.insurance.item.productOrService":"CodeableConcept","CoverageEligibilityResponse.insurance.item.provider":"Reference","CoverageEligibilityResponse.insurance.item.term":"CodeableConcept","CoverageEligibilityResponse.insurance.item.unit":"CodeableConcept","CoverageEligibilityResponse.insurance.modifierExtension":"Extension","CoverageEligibilityResponse.insurer":"Reference","CoverageEligibilityResponse.language":"code","CoverageEligibilityResponse.meta":"Meta","CoverageEligibilityResponse.modifierExtension":"Extension","CoverageEligibilityResponse.outcome":"code","CoverageEligibilityResponse.patient":"Reference","CoverageEligibilityResponse.preAuthRef":"string","CoverageEligibilityResponse.purpose":"code","CoverageEligibilityResponse.request":"Reference","CoverageEligibilityResponse.requestor":"Reference","CoverageEligibilityResponse.servicedDate":"date","CoverageEligibilityResponse.servicedPeriod":"Period","CoverageEligibilityResponse.status":"code","CoverageEligibilityResponse.text":"Narrative","DataRequirement.codeFilter.code":"Coding","DataRequirement.codeFilter.extension":"Extension","DataRequirement.codeFilter.id":"System.String","DataRequirement.codeFilter.path":"string","DataRequirement.codeFilter.searchParam":"string","DataRequirement.codeFilter.valueSet":"canonical","DataRequirement.dateFilter.extension":"Extension","DataRequirement.dateFilter.id":"System.String","DataRequirement.dateFilter.path":"string","DataRequirement.dateFilter.searchParam":"string","DataRequirement.dateFilter.valueDateTime":"dateTime","DataRequirement.dateFilter.valueDuration":"Duration","DataRequirement.dateFilter.valuePeriod":"Period","DataRequirement.extension":"Extension","DataRequirement.id":"System.String","DataRequirement.limit":"positiveInt","DataRequirement.mustSupport":"string","DataRequirement.profile":"canonical","DataRequirement.sort.direction":"code","DataRequirement.sort.extension":"Extension","DataRequirement.sort.id":"System.String","DataRequirement.sort.path":"string","DataRequirement.subjectCodeableConcept":"CodeableConcept","DataRequirement.subjectReference":"Reference","DataRequirement.type":"code","DetectedIssue.author":"Reference","DetectedIssue.code":"CodeableConcept","DetectedIssue.contained":"Resource","DetectedIssue.detail":"string","DetectedIssue.evidence.code":"CodeableConcept","DetectedIssue.evidence.detail":"Reference","DetectedIssue.evidence.extension":"Extension","DetectedIssue.evidence.id":"System.String","DetectedIssue.evidence.modifierExtension":"Extension","DetectedIssue.extension":"Extension","DetectedIssue.id":"System.String","DetectedIssue.identifiedDateTime":"dateTime","DetectedIssue.identifiedPeriod":"Period","DetectedIssue.identifier":"Identifier","DetectedIssue.implicated":"Reference","DetectedIssue.implicitRules":"uri","DetectedIssue.language":"code","DetectedIssue.meta":"Meta","DetectedIssue.mitigation.action":"CodeableConcept","DetectedIssue.mitigation.author":"Reference","DetectedIssue.mitigation.date":"dateTime","DetectedIssue.mitigation.extension":"Extension","DetectedIssue.mitigation.id":"System.String","DetectedIssue.mitigation.modifierExtension":"Extension","DetectedIssue.modifierExtension":"Extension","DetectedIssue.patient":"Reference","DetectedIssue.reference":"uri","DetectedIssue.severity":"code","DetectedIssue.status":"code","DetectedIssue.text":"Narrative","Device.contact":"ContactPoint","Device.contained":"Resource","Device.definition":"Reference","Device.deviceName.extension":"Extension","Device.deviceName.id":"System.String","Device.deviceName.modifierExtension":"Extension","Device.deviceName.name":"string","Device.deviceName.type":"code","Device.distinctIdentifier":"string","Device.expirationDate":"dateTime","Device.extension":"Extension","Device.id":"System.String","Device.identifier":"Identifier","Device.implicitRules":"uri","Device.language":"code","Device.location":"Reference","Device.lotNumber":"string","Device.manufactureDate":"dateTime","Device.manufacturer":"string","Device.meta":"Meta","Device.modelNumber":"string","Device.modifierExtension":"Extension","Device.note":"Annotation","Device.owner":"Reference","Device.parent":"Reference","Device.partNumber":"string","Device.patient":"Reference","Device.property.extension":"Extension","Device.property.id":"System.String","Device.property.modifierExtension":"Extension","Device.property.type":"CodeableConcept","Device.property.valueCode":"CodeableConcept","Device.property.valueQuantity":"Quantity","Device.safety":"CodeableConcept","Device.serialNumber":"string","Device.specialization.extension":"Extension","Device.specialization.id":"System.String","Device.specialization.modifierExtension":"Extension","Device.specialization.systemType":"CodeableConcept","Device.specialization.version":"string","Device.status":"code","Device.statusReason":"CodeableConcept","Device.text":"Narrative","Device.type":"CodeableConcept","Device.udiCarrier.carrierAIDC":"base64Binary","Device.udiCarrier.carrierHRF":"string","Device.udiCarrier.deviceIdentifier":"string","Device.udiCarrier.entryType":"code","Device.udiCarrier.extension":"Extension","Device.udiCarrier.id":"System.String","Device.udiCarrier.issuer":"uri","Device.udiCarrier.jurisdiction":"uri","Device.udiCarrier.modifierExtension":"Extension","Device.url":"uri","Device.version.component":"Identifier","Device.version.extension":"Extension","Device.version.id":"System.String","Device.version.modifierExtension":"Extension","Device.version.type":"CodeableConcept","Device.version.value":"string","DeviceDefinition.capability.description":"CodeableConcept","DeviceDefinition.capability.extension":"Extension","DeviceDefinition.capability.id":"System.String","DeviceDefinition.capability.modifierExtension":"Extension","DeviceDefinition.capability.type":"CodeableConcept","DeviceDefinition.contact":"ContactPoint","DeviceDefinition.contained":"Resource","DeviceDefinition.deviceName.extension":"Extension","DeviceDefinition.deviceName.id":"System.String","DeviceDefinition.deviceName.modifierExtension":"Extension","DeviceDefinition.deviceName.name":"string","DeviceDefinition.deviceName.type":"code","DeviceDefinition.extension":"Extension","DeviceDefinition.id":"System.String","DeviceDefinition.identifier":"Identifier","DeviceDefinition.implicitRules":"uri","DeviceDefinition.language":"code","DeviceDefinition.languageCode":"CodeableConcept","DeviceDefinition.manufacturerReference":"Reference","DeviceDefinition.manufacturerString":"string","DeviceDefinition.material.allergenicIndicator":"boolean","DeviceDefinition.material.alternate":"boolean","DeviceDefinition.material.extension":"Extension","DeviceDefinition.material.id":"System.String","DeviceDefinition.material.modifierExtension":"Extension","DeviceDefinition.material.substance":"CodeableConcept","DeviceDefinition.meta":"Meta","DeviceDefinition.modelNumber":"string","DeviceDefinition.modifierExtension":"Extension","DeviceDefinition.note":"Annotation","DeviceDefinition.onlineInformation":"uri","DeviceDefinition.owner":"Reference","DeviceDefinition.parentDevice":"Reference","DeviceDefinition.physicalCharacteristics":"ProdCharacteristic","DeviceDefinition.property.extension":"Extension","DeviceDefinition.property.id":"System.String","DeviceDefinition.property.modifierExtension":"Extension","DeviceDefinition.property.type":"CodeableConcept","DeviceDefinition.property.valueCode":"CodeableConcept","DeviceDefinition.property.valueQuantity":"Quantity","DeviceDefinition.quantity":"Quantity","DeviceDefinition.safety":"CodeableConcept","DeviceDefinition.shelfLifeStorage":"ProductShelfLife","DeviceDefinition.specialization.extension":"Extension","DeviceDefinition.specialization.id":"System.String","DeviceDefinition.specialization.modifierExtension":"Extension","DeviceDefinition.specialization.systemType":"string","DeviceDefinition.specialization.version":"string","DeviceDefinition.text":"Narrative","DeviceDefinition.type":"CodeableConcept","DeviceDefinition.udiDeviceIdentifier.deviceIdentifier":"string","DeviceDefinition.udiDeviceIdentifier.extension":"Extension","DeviceDefinition.udiDeviceIdentifier.id":"System.String","DeviceDefinition.udiDeviceIdentifier.issuer":"uri","DeviceDefinition.udiDeviceIdentifier.jurisdiction":"uri","DeviceDefinition.udiDeviceIdentifier.modifierExtension":"Extension","DeviceDefinition.url":"uri","DeviceDefinition.version":"string","DeviceMetric.calibration.extension":"Extension","DeviceMetric.calibration.id":"System.String","DeviceMetric.calibration.modifierExtension":"Extension","DeviceMetric.calibration.state":"code","DeviceMetric.calibration.time":"instant","DeviceMetric.calibration.type":"code","DeviceMetric.category":"code","DeviceMetric.color":"code","DeviceMetric.contained":"Resource","DeviceMetric.extension":"Extension","DeviceMetric.id":"System.String","DeviceMetric.identifier":"Identifier","DeviceMetric.implicitRules":"uri","DeviceMetric.language":"code","DeviceMetric.measurementPeriod":"Timing","DeviceMetric.meta":"Meta","DeviceMetric.modifierExtension":"Extension","DeviceMetric.operationalStatus":"code","DeviceMetric.parent":"Reference","DeviceMetric.source":"Reference","DeviceMetric.text":"Narrative","DeviceMetric.type":"CodeableConcept","DeviceMetric.unit":"CodeableConcept","DeviceRequest.authoredOn":"dateTime","DeviceRequest.basedOn":"Reference","DeviceRequest.codeCodeableConcept":"CodeableConcept","DeviceRequest.codeReference":"Reference","DeviceRequest.contained":"Resource","DeviceRequest.encounter":"Reference","DeviceRequest.extension":"Extension","DeviceRequest.groupIdentifier":"Identifier","DeviceRequest.id":"System.String","DeviceRequest.identifier":"Identifier","DeviceRequest.implicitRules":"uri","DeviceRequest.instantiatesCanonical":"canonical","DeviceRequest.instantiatesUri":"uri","DeviceRequest.insurance":"Reference","DeviceRequest.intent":"code","DeviceRequest.language":"code","DeviceRequest.meta":"Meta","DeviceRequest.modifierExtension":"Extension","DeviceRequest.note":"Annotation","DeviceRequest.occurrenceDateTime":"dateTime","DeviceRequest.occurrencePeriod":"Period","DeviceRequest.occurrenceTiming":"Timing","DeviceRequest.parameter.code":"CodeableConcept","DeviceRequest.parameter.extension":"Extension","DeviceRequest.parameter.id":"System.String","DeviceRequest.parameter.modifierExtension":"Extension","DeviceRequest.parameter.valueBoolean":"boolean","DeviceRequest.parameter.valueCodeableConcept":"CodeableConcept","DeviceRequest.parameter.valueQuantity":"Quantity","DeviceRequest.parameter.valueRange":"Range","DeviceRequest.performer":"Reference","DeviceRequest.performerType":"CodeableConcept","DeviceRequest.priorRequest":"Reference","DeviceRequest.priority":"code","DeviceRequest.reasonCode":"CodeableConcept","DeviceRequest.reasonReference":"Reference","DeviceRequest.relevantHistory":"Reference","DeviceRequest.requester":"Reference","DeviceRequest.status":"code","DeviceRequest.subject":"Reference","DeviceRequest.supportingInfo":"Reference","DeviceRequest.text":"Narrative","DeviceUseStatement.basedOn":"Reference","DeviceUseStatement.bodySite":"CodeableConcept","DeviceUseStatement.contained":"Resource","DeviceUseStatement.derivedFrom":"Reference","DeviceUseStatement.device":"Reference","DeviceUseStatement.extension":"Extension","DeviceUseStatement.id":"System.String","DeviceUseStatement.identifier":"Identifier","DeviceUseStatement.implicitRules":"uri","DeviceUseStatement.language":"code","DeviceUseStatement.meta":"Meta","DeviceUseStatement.modifierExtension":"Extension","DeviceUseStatement.note":"Annotation","DeviceUseStatement.reasonCode":"CodeableConcept","DeviceUseStatement.reasonReference":"Reference","DeviceUseStatement.recordedOn":"dateTime","DeviceUseStatement.source":"Reference","DeviceUseStatement.status":"code","DeviceUseStatement.subject":"Reference","DeviceUseStatement.text":"Narrative","DeviceUseStatement.timingDateTime":"dateTime","DeviceUseStatement.timingPeriod":"Period","DeviceUseStatement.timingTiming":"Timing","DiagnosticReport.basedOn":"Reference","DiagnosticReport.category":"CodeableConcept","DiagnosticReport.code":"CodeableConcept","DiagnosticReport.conclusion":"string","DiagnosticReport.conclusionCode":"CodeableConcept","DiagnosticReport.contained":"Resource","DiagnosticReport.effectiveDateTime":"dateTime","DiagnosticReport.effectivePeriod":"Period","DiagnosticReport.encounter":"Reference","DiagnosticReport.extension":"Extension","DiagnosticReport.id":"System.String","DiagnosticReport.identifier":"Identifier","DiagnosticReport.imagingStudy":"Reference","DiagnosticReport.implicitRules":"uri","DiagnosticReport.issued":"instant","DiagnosticReport.language":"code","DiagnosticReport.media.comment":"string","DiagnosticReport.media.extension":"Extension","DiagnosticReport.media.id":"System.String","DiagnosticReport.media.link":"Reference","DiagnosticReport.media.modifierExtension":"Extension","DiagnosticReport.meta":"Meta","DiagnosticReport.modifierExtension":"Extension","DiagnosticReport.performer":"Reference","DiagnosticReport.presentedForm":"Attachment","DiagnosticReport.result":"Reference","DiagnosticReport.resultsInterpreter":"Reference","DiagnosticReport.specimen":"Reference","DiagnosticReport.status":"code","DiagnosticReport.subject":"Reference","DiagnosticReport.text":"Narrative","Distance.code":"code","Distance.comparator":"code","Distance.extension":"Extension","Distance.id":"System.String","Distance.system":"uri","Distance.unit":"string","Distance.value":"decimal","DocumentManifest.author":"Reference","DocumentManifest.contained":"Resource","DocumentManifest.content":"Reference","DocumentManifest.created":"dateTime","DocumentManifest.description":"string","DocumentManifest.extension":"Extension","DocumentManifest.id":"System.String","DocumentManifest.identifier":"Identifier","DocumentManifest.implicitRules":"uri","DocumentManifest.language":"code","DocumentManifest.masterIdentifier":"Identifier","DocumentManifest.meta":"Meta","DocumentManifest.modifierExtension":"Extension","DocumentManifest.recipient":"Reference","DocumentManifest.related.extension":"Extension","DocumentManifest.related.id":"System.String","DocumentManifest.related.identifier":"Identifier","DocumentManifest.related.modifierExtension":"Extension","DocumentManifest.related.ref":"Reference","DocumentManifest.source":"uri","DocumentManifest.status":"code","DocumentManifest.subject":"Reference","DocumentManifest.text":"Narrative","DocumentManifest.type":"CodeableConcept","DocumentReference.authenticator":"Reference","DocumentReference.author":"Reference","DocumentReference.category":"CodeableConcept","DocumentReference.contained":"Resource","DocumentReference.content.attachment":"Attachment","DocumentReference.content.extension":"Extension","DocumentReference.content.format":"Coding","DocumentReference.content.id":"System.String","DocumentReference.content.modifierExtension":"Extension","DocumentReference.context.encounter":"Reference","DocumentReference.context.event":"CodeableConcept","DocumentReference.context.extension":"Extension","DocumentReference.context.facilityType":"CodeableConcept","DocumentReference.context.id":"System.String","DocumentReference.context.modifierExtension":"Extension","DocumentReference.context.period":"Period","DocumentReference.context.practiceSetting":"CodeableConcept","DocumentReference.context.related":"Reference","DocumentReference.context.sourcePatientInfo":"Reference","DocumentReference.custodian":"Reference","DocumentReference.date":"instant","DocumentReference.description":"string","DocumentReference.docStatus":"code","DocumentReference.extension":"Extension","DocumentReference.id":"System.String","DocumentReference.identifier":"Identifier","DocumentReference.implicitRules":"uri","DocumentReference.language":"code","DocumentReference.masterIdentifier":"Identifier","DocumentReference.meta":"Meta","DocumentReference.modifierExtension":"Extension","DocumentReference.relatesTo.code":"code","DocumentReference.relatesTo.extension":"Extension","DocumentReference.relatesTo.id":"System.String","DocumentReference.relatesTo.modifierExtension":"Extension","DocumentReference.relatesTo.target":"Reference","DocumentReference.securityLabel":"CodeableConcept","DocumentReference.status":"code","DocumentReference.subject":"Reference","DocumentReference.text":"Narrative","DocumentReference.type":"CodeableConcept","DomainResource.contained":"Resource","DomainResource.extension":"Extension","DomainResource.id":"System.String","DomainResource.implicitRules":"uri","DomainResource.language":"code","DomainResource.meta":"Meta","DomainResource.modifierExtension":"Extension","DomainResource.text":"Narrative","Dosage.additionalInstruction":"CodeableConcept","Dosage.asNeededBoolean":"boolean","Dosage.asNeededCodeableConcept":"CodeableConcept","Dosage.doseAndRate.doseQuantity":"Quantity","Dosage.doseAndRate.doseRange":"Range","Dosage.doseAndRate.extension":"Extension","Dosage.doseAndRate.id":"System.String","Dosage.doseAndRate.rateQuantity":"Quantity","Dosage.doseAndRate.rateRange":"Range","Dosage.doseAndRate.rateRatio":"Ratio","Dosage.doseAndRate.type":"CodeableConcept","Dosage.extension":"Extension","Dosage.id":"System.String","Dosage.maxDosePerAdministration":"Quantity","Dosage.maxDosePerLifetime":"Quantity","Dosage.maxDosePerPeriod":"Ratio","Dosage.method":"CodeableConcept","Dosage.modifierExtension":"Extension","Dosage.patientInstruction":"string","Dosage.route":"CodeableConcept","Dosage.sequence":"integer","Dosage.site":"CodeableConcept","Dosage.text":"string","Dosage.timing":"Timing","Duration.code":"code","Duration.comparator":"code","Duration.extension":"Extension","Duration.id":"System.String","Duration.system":"uri","Duration.unit":"string","Duration.value":"decimal","EffectEvidenceSynthesis.approvalDate":"date","EffectEvidenceSynthesis.author":"ContactDetail","EffectEvidenceSynthesis.certainty.certaintySubcomponent.extension":"Extension","EffectEvidenceSynthesis.certainty.certaintySubcomponent.id":"System.String","EffectEvidenceSynthesis.certainty.certaintySubcomponent.modifierExtension":"Extension","EffectEvidenceSynthesis.certainty.certaintySubcomponent.note":"Annotation","EffectEvidenceSynthesis.certainty.certaintySubcomponent.rating":"CodeableConcept","EffectEvidenceSynthesis.certainty.certaintySubcomponent.type":"CodeableConcept","EffectEvidenceSynthesis.certainty.extension":"Extension","EffectEvidenceSynthesis.certainty.id":"System.String","EffectEvidenceSynthesis.certainty.modifierExtension":"Extension","EffectEvidenceSynthesis.certainty.note":"Annotation","EffectEvidenceSynthesis.certainty.rating":"CodeableConcept","EffectEvidenceSynthesis.contact":"ContactDetail","EffectEvidenceSynthesis.contained":"Resource","EffectEvidenceSynthesis.copyright":"markdown","EffectEvidenceSynthesis.date":"dateTime","EffectEvidenceSynthesis.description":"markdown","EffectEvidenceSynthesis.editor":"ContactDetail","EffectEvidenceSynthesis.effectEstimate.description":"string","EffectEvidenceSynthesis.effectEstimate.extension":"Extension","EffectEvidenceSynthesis.effectEstimate.id":"System.String","EffectEvidenceSynthesis.effectEstimate.modifierExtension":"Extension","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.extension":"Extension","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.from":"decimal","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.id":"System.String","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.level":"decimal","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.modifierExtension":"Extension","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.to":"decimal","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.type":"CodeableConcept","EffectEvidenceSynthesis.effectEstimate.type":"CodeableConcept","EffectEvidenceSynthesis.effectEstimate.unitOfMeasure":"CodeableConcept","EffectEvidenceSynthesis.effectEstimate.value":"decimal","EffectEvidenceSynthesis.effectEstimate.variantState":"CodeableConcept","EffectEvidenceSynthesis.effectivePeriod":"Period","EffectEvidenceSynthesis.endorser":"ContactDetail","EffectEvidenceSynthesis.exposure":"Reference","EffectEvidenceSynthesis.exposureAlternative":"Reference","EffectEvidenceSynthesis.extension":"Extension","EffectEvidenceSynthesis.id":"System.String","EffectEvidenceSynthesis.identifier":"Identifier","EffectEvidenceSynthesis.implicitRules":"uri","EffectEvidenceSynthesis.jurisdiction":"CodeableConcept","EffectEvidenceSynthesis.language":"code","EffectEvidenceSynthesis.lastReviewDate":"date","EffectEvidenceSynthesis.meta":"Meta","EffectEvidenceSynthesis.modifierExtension":"Extension","EffectEvidenceSynthesis.name":"string","EffectEvidenceSynthesis.note":"Annotation","EffectEvidenceSynthesis.outcome":"Reference","EffectEvidenceSynthesis.population":"Reference","EffectEvidenceSynthesis.publisher":"string","EffectEvidenceSynthesis.relatedArtifact":"RelatedArtifact","EffectEvidenceSynthesis.resultsByExposure.description":"string","EffectEvidenceSynthesis.resultsByExposure.exposureState":"code","EffectEvidenceSynthesis.resultsByExposure.extension":"Extension","EffectEvidenceSynthesis.resultsByExposure.id":"System.String","EffectEvidenceSynthesis.resultsByExposure.modifierExtension":"Extension","EffectEvidenceSynthesis.resultsByExposure.riskEvidenceSynthesis":"Reference","EffectEvidenceSynthesis.resultsByExposure.variantState":"CodeableConcept","EffectEvidenceSynthesis.reviewer":"ContactDetail","EffectEvidenceSynthesis.sampleSize.description":"string","EffectEvidenceSynthesis.sampleSize.extension":"Extension","EffectEvidenceSynthesis.sampleSize.id":"System.String","EffectEvidenceSynthesis.sampleSize.modifierExtension":"Extension","EffectEvidenceSynthesis.sampleSize.numberOfParticipants":"integer","EffectEvidenceSynthesis.sampleSize.numberOfStudies":"integer","EffectEvidenceSynthesis.status":"code","EffectEvidenceSynthesis.studyType":"CodeableConcept","EffectEvidenceSynthesis.synthesisType":"CodeableConcept","EffectEvidenceSynthesis.text":"Narrative","EffectEvidenceSynthesis.title":"string","EffectEvidenceSynthesis.topic":"CodeableConcept","EffectEvidenceSynthesis.url":"uri","EffectEvidenceSynthesis.useContext":"UsageContext","EffectEvidenceSynthesis.version":"string","Element.extension":"Extension","Element.id":"System.String","ElementDefinition.alias":"string","ElementDefinition.base.extension":"Extension","ElementDefinition.base.id":"System.String","ElementDefinition.base.max":"string","ElementDefinition.base.min":"unsignedInt","ElementDefinition.base.path":"string","ElementDefinition.binding.description":"string","ElementDefinition.binding.extension":"Extension","ElementDefinition.binding.id":"System.String","ElementDefinition.binding.strength":"code","ElementDefinition.binding.valueSet":"canonical","ElementDefinition.code":"Coding","ElementDefinition.comment":"markdown","ElementDefinition.condition":"id","ElementDefinition.constraint.expression":"string","ElementDefinition.constraint.extension":"Extension","ElementDefinition.constraint.human":"string","ElementDefinition.constraint.id":"System.String","ElementDefinition.constraint.key":"id","ElementDefinition.constraint.requirements":"string","ElementDefinition.constraint.severity":"code","ElementDefinition.constraint.source":"canonical","ElementDefinition.constraint.xpath":"string","ElementDefinition.contentReference":"uri","ElementDefinition.defaultValueAddress":"Address","ElementDefinition.defaultValueAge":"Age","ElementDefinition.defaultValueAnnotation":"Annotation","ElementDefinition.defaultValueAttachment":"Attachment","ElementDefinition.defaultValueBase64Binary":"base64Binary","ElementDefinition.defaultValueBoolean":"boolean","ElementDefinition.defaultValueCanonical":"canonical","ElementDefinition.defaultValueCode":"code","ElementDefinition.defaultValueCodeableConcept":"CodeableConcept","ElementDefinition.defaultValueCoding":"Coding","ElementDefinition.defaultValueContactDetail":"ContactDetail","ElementDefinition.defaultValueContactPoint":"ContactPoint","ElementDefinition.defaultValueContributor":"Contributor","ElementDefinition.defaultValueCount":"Count","ElementDefinition.defaultValueDataRequirement":"DataRequirement","ElementDefinition.defaultValueDate":"date","ElementDefinition.defaultValueDateTime":"dateTime","ElementDefinition.defaultValueDecimal":"decimal","ElementDefinition.defaultValueDistance":"Distance","ElementDefinition.defaultValueDosage":"Dosage","ElementDefinition.defaultValueDuration":"Duration","ElementDefinition.defaultValueExpression":"Expression","ElementDefinition.defaultValueHumanName":"HumanName","ElementDefinition.defaultValueId":"id","ElementDefinition.defaultValueIdentifier":"Identifier","ElementDefinition.defaultValueInstant":"instant","ElementDefinition.defaultValueInteger":"integer","ElementDefinition.defaultValueMarkdown":"markdown","ElementDefinition.defaultValueMeta":"Meta","ElementDefinition.defaultValueMoney":"Money","ElementDefinition.defaultValueOid":"oid","ElementDefinition.defaultValueParameterDefinition":"ParameterDefinition","ElementDefinition.defaultValuePeriod":"Period","ElementDefinition.defaultValuePositiveInt":"positiveInt","ElementDefinition.defaultValueQuantity":"Quantity","ElementDefinition.defaultValueRange":"Range","ElementDefinition.defaultValueRatio":"Ratio","ElementDefinition.defaultValueReference":"Reference","ElementDefinition.defaultValueRelatedArtifact":"RelatedArtifact","ElementDefinition.defaultValueSampledData":"SampledData","ElementDefinition.defaultValueSignature":"Signature","ElementDefinition.defaultValueString":"string","ElementDefinition.defaultValueTime":"time","ElementDefinition.defaultValueTiming":"Timing","ElementDefinition.defaultValueTriggerDefinition":"TriggerDefinition","ElementDefinition.defaultValueUnsignedInt":"unsignedInt","ElementDefinition.defaultValueUri":"uri","ElementDefinition.defaultValueUrl":"url","ElementDefinition.defaultValueUsageContext":"UsageContext","ElementDefinition.defaultValueUuid":"uuid","ElementDefinition.definition":"markdown","ElementDefinition.example.extension":"Extension","ElementDefinition.example.id":"System.String","ElementDefinition.example.label":"string","ElementDefinition.example.valueAddress":"Address","ElementDefinition.example.valueAge":"Age","ElementDefinition.example.valueAnnotation":"Annotation","ElementDefinition.example.valueAttachment":"Attachment","ElementDefinition.example.valueBase64Binary":"base64Binary","ElementDefinition.example.valueBoolean":"boolean","ElementDefinition.example.valueCanonical":"canonical","ElementDefinition.example.valueCode":"code","ElementDefinition.example.valueCodeableConcept":"CodeableConcept","ElementDefinition.example.valueCoding":"Coding","ElementDefinition.example.valueContactDetail":"ContactDetail","ElementDefinition.example.valueContactPoint":"ContactPoint","ElementDefinition.example.valueContributor":"Contributor","ElementDefinition.example.valueCount":"Count","ElementDefinition.example.valueDataRequirement":"DataRequirement","ElementDefinition.example.valueDate":"date","ElementDefinition.example.valueDateTime":"dateTime","ElementDefinition.example.valueDecimal":"decimal","ElementDefinition.example.valueDistance":"Distance","ElementDefinition.example.valueDosage":"Dosage","ElementDefinition.example.valueDuration":"Duration","ElementDefinition.example.valueExpression":"Expression","ElementDefinition.example.valueHumanName":"HumanName","ElementDefinition.example.valueId":"id","ElementDefinition.example.valueIdentifier":"Identifier","ElementDefinition.example.valueInstant":"instant","ElementDefinition.example.valueInteger":"integer","ElementDefinition.example.valueMarkdown":"markdown","ElementDefinition.example.valueMeta":"Meta","ElementDefinition.example.valueMoney":"Money","ElementDefinition.example.valueOid":"oid","ElementDefinition.example.valueParameterDefinition":"ParameterDefinition","ElementDefinition.example.valuePeriod":"Period","ElementDefinition.example.valuePositiveInt":"positiveInt","ElementDefinition.example.valueQuantity":"Quantity","ElementDefinition.example.valueRange":"Range","ElementDefinition.example.valueRatio":"Ratio","ElementDefinition.example.valueReference":"Reference","ElementDefinition.example.valueRelatedArtifact":"RelatedArtifact","ElementDefinition.example.valueSampledData":"SampledData","ElementDefinition.example.valueSignature":"Signature","ElementDefinition.example.valueString":"string","ElementDefinition.example.valueTime":"time","ElementDefinition.example.valueTiming":"Timing","ElementDefinition.example.valueTriggerDefinition":"TriggerDefinition","ElementDefinition.example.valueUnsignedInt":"unsignedInt","ElementDefinition.example.valueUri":"uri","ElementDefinition.example.valueUrl":"url","ElementDefinition.example.valueUsageContext":"UsageContext","ElementDefinition.example.valueUuid":"uuid","ElementDefinition.extension":"Extension","ElementDefinition.extension.extension":"Extension","ElementDefinition.extension.id":"System.String","ElementDefinition.extension.url":"System.String","ElementDefinition.extension.valueCanonical":"canonical","ElementDefinition.extension.valueCodeableConcept":"CodeableConcept","ElementDefinition.extension.valueString":"string","ElementDefinition.fixedAddress":"Address","ElementDefinition.fixedAge":"Age","ElementDefinition.fixedAnnotation":"Annotation","ElementDefinition.fixedAttachment":"Attachment","ElementDefinition.fixedBase64Binary":"base64Binary","ElementDefinition.fixedBoolean":"boolean","ElementDefinition.fixedCanonical":"canonical","ElementDefinition.fixedCode":"code","ElementDefinition.fixedCodeableConcept":"CodeableConcept","ElementDefinition.fixedCoding":"Coding","ElementDefinition.fixedContactDetail":"ContactDetail","ElementDefinition.fixedContactPoint":"ContactPoint","ElementDefinition.fixedContributor":"Contributor","ElementDefinition.fixedCount":"Count","ElementDefinition.fixedDataRequirement":"DataRequirement","ElementDefinition.fixedDate":"date","ElementDefinition.fixedDateTime":"dateTime","ElementDefinition.fixedDecimal":"decimal","ElementDefinition.fixedDistance":"Distance","ElementDefinition.fixedDosage":"Dosage","ElementDefinition.fixedDuration":"Duration","ElementDefinition.fixedExpression":"Expression","ElementDefinition.fixedHumanName":"HumanName","ElementDefinition.fixedId":"id","ElementDefinition.fixedIdentifier":"Identifier","ElementDefinition.fixedInstant":"instant","ElementDefinition.fixedInteger":"integer","ElementDefinition.fixedMarkdown":"markdown","ElementDefinition.fixedMeta":"Meta","ElementDefinition.fixedMoney":"Money","ElementDefinition.fixedOid":"oid","ElementDefinition.fixedParameterDefinition":"ParameterDefinition","ElementDefinition.fixedPeriod":"Period","ElementDefinition.fixedPositiveInt":"positiveInt","ElementDefinition.fixedQuantity":"Quantity","ElementDefinition.fixedRange":"Range","ElementDefinition.fixedRatio":"Ratio","ElementDefinition.fixedReference":"Reference","ElementDefinition.fixedRelatedArtifact":"RelatedArtifact","ElementDefinition.fixedSampledData":"SampledData","ElementDefinition.fixedSignature":"Signature","ElementDefinition.fixedString":"string","ElementDefinition.fixedTime":"time","ElementDefinition.fixedTiming":"Timing","ElementDefinition.fixedTriggerDefinition":"TriggerDefinition","ElementDefinition.fixedUnsignedInt":"unsignedInt","ElementDefinition.fixedUri":"uri","ElementDefinition.fixedUrl":"url","ElementDefinition.fixedUsageContext":"UsageContext","ElementDefinition.fixedUuid":"uuid","ElementDefinition.id":"System.String","ElementDefinition.isModifier":"boolean","ElementDefinition.isModifierReason":"string","ElementDefinition.isSummary":"boolean","ElementDefinition.label":"string","ElementDefinition.mapping.comment":"string","ElementDefinition.mapping.extension":"Extension","ElementDefinition.mapping.id":"System.String","ElementDefinition.mapping.identity":"id","ElementDefinition.mapping.language":"code","ElementDefinition.mapping.map":"string","ElementDefinition.max":"string","ElementDefinition.maxLength":"integer","ElementDefinition.maxValueDate":"date","ElementDefinition.maxValueDateTime":"dateTime","ElementDefinition.maxValueDecimal":"decimal","ElementDefinition.maxValueInstant":"instant","ElementDefinition.maxValueInteger":"integer","ElementDefinition.maxValuePositiveInt":"positiveInt","ElementDefinition.maxValueQuantity":"Quantity","ElementDefinition.maxValueTime":"time","ElementDefinition.maxValueUnsignedInt":"unsignedInt","ElementDefinition.meaningWhenMissing":"markdown","ElementDefinition.min":"unsignedInt","ElementDefinition.minValueDate":"date","ElementDefinition.minValueDateTime":"dateTime","ElementDefinition.minValueDecimal":"decimal","ElementDefinition.minValueInstant":"instant","ElementDefinition.minValueInteger":"integer","ElementDefinition.minValuePositiveInt":"positiveInt","ElementDefinition.minValueQuantity":"Quantity","ElementDefinition.minValueTime":"time","ElementDefinition.minValueUnsignedInt":"unsignedInt","ElementDefinition.modifierExtension":"Extension","ElementDefinition.mustSupport":"boolean","ElementDefinition.orderMeaning":"string","ElementDefinition.path":"string","ElementDefinition.patternAddress":"Address","ElementDefinition.patternAge":"Age","ElementDefinition.patternAnnotation":"Annotation","ElementDefinition.patternAttachment":"Attachment","ElementDefinition.patternBase64Binary":"base64Binary","ElementDefinition.patternBoolean":"boolean","ElementDefinition.patternCanonical":"canonical","ElementDefinition.patternCode":"code","ElementDefinition.patternCodeableConcept":"CodeableConcept","ElementDefinition.patternCoding":"Coding","ElementDefinition.patternContactDetail":"ContactDetail","ElementDefinition.patternContactPoint":"ContactPoint","ElementDefinition.patternContributor":"Contributor","ElementDefinition.patternCount":"Count","ElementDefinition.patternDataRequirement":"DataRequirement","ElementDefinition.patternDate":"date","ElementDefinition.patternDateTime":"dateTime","ElementDefinition.patternDecimal":"decimal","ElementDefinition.patternDistance":"Distance","ElementDefinition.patternDosage":"Dosage","ElementDefinition.patternDuration":"Duration","ElementDefinition.patternExpression":"Expression","ElementDefinition.patternHumanName":"HumanName","ElementDefinition.patternId":"id","ElementDefinition.patternIdentifier":"Identifier","ElementDefinition.patternInstant":"instant","ElementDefinition.patternInteger":"integer","ElementDefinition.patternMarkdown":"markdown","ElementDefinition.patternMeta":"Meta","ElementDefinition.patternMoney":"Money","ElementDefinition.patternOid":"oid","ElementDefinition.patternParameterDefinition":"ParameterDefinition","ElementDefinition.patternPeriod":"Period","ElementDefinition.patternPositiveInt":"positiveInt","ElementDefinition.patternQuantity":"Quantity","ElementDefinition.patternRange":"Range","ElementDefinition.patternRatio":"Ratio","ElementDefinition.patternReference":"Reference","ElementDefinition.patternRelatedArtifact":"RelatedArtifact","ElementDefinition.patternSampledData":"SampledData","ElementDefinition.patternSignature":"Signature","ElementDefinition.patternString":"string","ElementDefinition.patternTime":"time","ElementDefinition.patternTiming":"Timing","ElementDefinition.patternTriggerDefinition":"TriggerDefinition","ElementDefinition.patternUnsignedInt":"unsignedInt","ElementDefinition.patternUri":"uri","ElementDefinition.patternUrl":"url","ElementDefinition.patternUsageContext":"UsageContext","ElementDefinition.patternUuid":"uuid","ElementDefinition.representation":"code","ElementDefinition.requirements":"markdown","ElementDefinition.short":"string","ElementDefinition.sliceIsConstraining":"boolean","ElementDefinition.sliceName":"string","ElementDefinition.slicing.description":"string","ElementDefinition.slicing.discriminator.extension":"Extension","ElementDefinition.slicing.discriminator.id":"System.String","ElementDefinition.slicing.discriminator.path":"string","ElementDefinition.slicing.discriminator.type":"code","ElementDefinition.slicing.extension":"Extension","ElementDefinition.slicing.id":"System.String","ElementDefinition.slicing.ordered":"boolean","ElementDefinition.slicing.rules":"code","ElementDefinition.type.aggregation":"code","ElementDefinition.type.code":"uri","ElementDefinition.type.extension":"Extension","ElementDefinition.type.id":"System.String","ElementDefinition.type.profile":"canonical","ElementDefinition.type.targetProfile":"canonical","ElementDefinition.type.versioning":"code","Encounter.account":"Reference","Encounter.appointment":"Reference","Encounter.basedOn":"Reference","Encounter.class":"Coding","Encounter.classHistory.class":"Coding","Encounter.classHistory.extension":"Extension","Encounter.classHistory.id":"System.String","Encounter.classHistory.modifierExtension":"Extension","Encounter.classHistory.period":"Period","Encounter.contained":"Resource","Encounter.diagnosis.condition":"Reference","Encounter.diagnosis.extension":"Extension","Encounter.diagnosis.id":"System.String","Encounter.diagnosis.modifierExtension":"Extension","Encounter.diagnosis.rank":"positiveInt","Encounter.diagnosis.use":"CodeableConcept","Encounter.episodeOfCare":"Reference","Encounter.extension":"Extension","Encounter.hospitalization.admitSource":"CodeableConcept","Encounter.hospitalization.destination":"Reference","Encounter.hospitalization.dietPreference":"CodeableConcept","Encounter.hospitalization.dischargeDisposition":"CodeableConcept","Encounter.hospitalization.extension":"Extension","Encounter.hospitalization.id":"System.String","Encounter.hospitalization.modifierExtension":"Extension","Encounter.hospitalization.origin":"Reference","Encounter.hospitalization.preAdmissionIdentifier":"Identifier","Encounter.hospitalization.reAdmission":"CodeableConcept","Encounter.hospitalization.specialArrangement":"CodeableConcept","Encounter.hospitalization.specialCourtesy":"CodeableConcept","Encounter.id":"System.String","Encounter.identifier":"Identifier","Encounter.implicitRules":"uri","Encounter.language":"code","Encounter.length":"Duration","Encounter.location.extension":"Extension","Encounter.location.id":"System.String","Encounter.location.location":"Reference","Encounter.location.modifierExtension":"Extension","Encounter.location.period":"Period","Encounter.location.physicalType":"CodeableConcept","Encounter.location.status":"code","Encounter.meta":"Meta","Encounter.modifierExtension":"Extension","Encounter.partOf":"Reference","Encounter.participant.extension":"Extension","Encounter.participant.id":"System.String","Encounter.participant.individual":"Reference","Encounter.participant.modifierExtension":"Extension","Encounter.participant.period":"Period","Encounter.participant.type":"CodeableConcept","Encounter.period":"Period","Encounter.priority":"CodeableConcept","Encounter.reasonCode":"CodeableConcept","Encounter.reasonReference":"Reference","Encounter.serviceProvider":"Reference","Encounter.serviceType":"CodeableConcept","Encounter.status":"code","Encounter.statusHistory.extension":"Extension","Encounter.statusHistory.id":"System.String","Encounter.statusHistory.modifierExtension":"Extension","Encounter.statusHistory.period":"Period","Encounter.statusHistory.status":"code","Encounter.subject":"Reference","Encounter.text":"Narrative","Encounter.type":"CodeableConcept","Endpoint.address":"url","Endpoint.connectionType":"Coding","Endpoint.contact":"ContactPoint","Endpoint.contained":"Resource","Endpoint.extension":"Extension","Endpoint.header":"string","Endpoint.id":"System.String","Endpoint.identifier":"Identifier","Endpoint.implicitRules":"uri","Endpoint.language":"code","Endpoint.managingOrganization":"Reference","Endpoint.meta":"Meta","Endpoint.modifierExtension":"Extension","Endpoint.name":"string","Endpoint.payloadMimeType":"code","Endpoint.payloadType":"CodeableConcept","Endpoint.period":"Period","Endpoint.status":"code","Endpoint.text":"Narrative","EnrollmentRequest.candidate":"Reference","EnrollmentRequest.contained":"Resource","EnrollmentRequest.coverage":"Reference","EnrollmentRequest.created":"dateTime","EnrollmentRequest.extension":"Extension","EnrollmentRequest.id":"System.String","EnrollmentRequest.identifier":"Identifier","EnrollmentRequest.implicitRules":"uri","EnrollmentRequest.insurer":"Reference","EnrollmentRequest.language":"code","EnrollmentRequest.meta":"Meta","EnrollmentRequest.modifierExtension":"Extension","EnrollmentRequest.provider":"Reference","EnrollmentRequest.status":"code","EnrollmentRequest.text":"Narrative","EnrollmentResponse.contained":"Resource","EnrollmentResponse.created":"dateTime","EnrollmentResponse.disposition":"string","EnrollmentResponse.extension":"Extension","EnrollmentResponse.id":"System.String","EnrollmentResponse.identifier":"Identifier","EnrollmentResponse.implicitRules":"uri","EnrollmentResponse.language":"code","EnrollmentResponse.meta":"Meta","EnrollmentResponse.modifierExtension":"Extension","EnrollmentResponse.organization":"Reference","EnrollmentResponse.outcome":"code","EnrollmentResponse.request":"Reference","EnrollmentResponse.requestProvider":"Reference","EnrollmentResponse.status":"code","EnrollmentResponse.text":"Narrative","EpisodeOfCare.account":"Reference","EpisodeOfCare.careManager":"Reference","EpisodeOfCare.contained":"Resource","EpisodeOfCare.diagnosis.condition":"Reference","EpisodeOfCare.diagnosis.extension":"Extension","EpisodeOfCare.diagnosis.id":"System.String","EpisodeOfCare.diagnosis.modifierExtension":"Extension","EpisodeOfCare.diagnosis.rank":"positiveInt","EpisodeOfCare.diagnosis.role":"CodeableConcept","EpisodeOfCare.extension":"Extension","EpisodeOfCare.id":"System.String","EpisodeOfCare.identifier":"Identifier","EpisodeOfCare.implicitRules":"uri","EpisodeOfCare.language":"code","EpisodeOfCare.managingOrganization":"Reference","EpisodeOfCare.meta":"Meta","EpisodeOfCare.modifierExtension":"Extension","EpisodeOfCare.patient":"Reference","EpisodeOfCare.period":"Period","EpisodeOfCare.referralRequest":"Reference","EpisodeOfCare.status":"code","EpisodeOfCare.statusHistory.extension":"Extension","EpisodeOfCare.statusHistory.id":"System.String","EpisodeOfCare.statusHistory.modifierExtension":"Extension","EpisodeOfCare.statusHistory.period":"Period","EpisodeOfCare.statusHistory.status":"code","EpisodeOfCare.team":"Reference","EpisodeOfCare.text":"Narrative","EpisodeOfCare.type":"CodeableConcept","EventDefinition.approvalDate":"date","EventDefinition.author":"ContactDetail","EventDefinition.contact":"ContactDetail","EventDefinition.contained":"Resource","EventDefinition.copyright":"markdown","EventDefinition.date":"dateTime","EventDefinition.description":"markdown","EventDefinition.editor":"ContactDetail","EventDefinition.effectivePeriod":"Period","EventDefinition.endorser":"ContactDetail","EventDefinition.experimental":"boolean","EventDefinition.extension":"Extension","EventDefinition.id":"System.String","EventDefinition.identifier":"Identifier","EventDefinition.implicitRules":"uri","EventDefinition.jurisdiction":"CodeableConcept","EventDefinition.language":"code","EventDefinition.lastReviewDate":"date","EventDefinition.meta":"Meta","EventDefinition.modifierExtension":"Extension","EventDefinition.name":"string","EventDefinition.publisher":"string","EventDefinition.purpose":"markdown","EventDefinition.relatedArtifact":"RelatedArtifact","EventDefinition.reviewer":"ContactDetail","EventDefinition.status":"code","EventDefinition.subjectCodeableConcept":"CodeableConcept","EventDefinition.subjectReference":"Reference","EventDefinition.subtitle":"string","EventDefinition.text":"Narrative","EventDefinition.title":"string","EventDefinition.topic":"CodeableConcept","EventDefinition.trigger":"TriggerDefinition","EventDefinition.url":"uri","EventDefinition.usage":"string","EventDefinition.useContext":"UsageContext","EventDefinition.version":"string","Evidence.approvalDate":"date","Evidence.author":"ContactDetail","Evidence.contact":"ContactDetail","Evidence.contained":"Resource","Evidence.copyright":"markdown","Evidence.date":"dateTime","Evidence.description":"markdown","Evidence.editor":"ContactDetail","Evidence.effectivePeriod":"Period","Evidence.endorser":"ContactDetail","Evidence.exposureBackground":"Reference","Evidence.exposureVariant":"Reference","Evidence.extension":"Extension","Evidence.id":"System.String","Evidence.identifier":"Identifier","Evidence.implicitRules":"uri","Evidence.jurisdiction":"CodeableConcept","Evidence.language":"code","Evidence.lastReviewDate":"date","Evidence.meta":"Meta","Evidence.modifierExtension":"Extension","Evidence.name":"string","Evidence.note":"Annotation","Evidence.outcome":"Reference","Evidence.publisher":"string","Evidence.relatedArtifact":"RelatedArtifact","Evidence.reviewer":"ContactDetail","Evidence.shortTitle":"string","Evidence.status":"code","Evidence.subtitle":"string","Evidence.text":"Narrative","Evidence.title":"string","Evidence.topic":"CodeableConcept","Evidence.url":"uri","Evidence.useContext":"UsageContext","Evidence.version":"string","EvidenceVariable.approvalDate":"date","EvidenceVariable.author":"ContactDetail","EvidenceVariable.characteristic.definitionCanonical":"canonical","EvidenceVariable.characteristic.definitionCodeableConcept":"CodeableConcept","EvidenceVariable.characteristic.definitionDataRequirement":"DataRequirement","EvidenceVariable.characteristic.definitionExpression":"Expression","EvidenceVariable.characteristic.definitionReference":"Reference","EvidenceVariable.characteristic.definitionTriggerDefinition":"TriggerDefinition","EvidenceVariable.characteristic.description":"string","EvidenceVariable.characteristic.exclude":"boolean","EvidenceVariable.characteristic.extension":"Extension","EvidenceVariable.characteristic.groupMeasure":"code","EvidenceVariable.characteristic.id":"System.String","EvidenceVariable.characteristic.modifierExtension":"Extension","EvidenceVariable.characteristic.participantEffectiveDateTime":"dateTime","EvidenceVariable.characteristic.participantEffectiveDuration":"Duration","EvidenceVariable.characteristic.participantEffectivePeriod":"Period","EvidenceVariable.characteristic.participantEffectiveTiming":"Timing","EvidenceVariable.characteristic.timeFromStart":"Duration","EvidenceVariable.characteristic.usageContext":"UsageContext","EvidenceVariable.contact":"ContactDetail","EvidenceVariable.contained":"Resource","EvidenceVariable.copyright":"markdown","EvidenceVariable.date":"dateTime","EvidenceVariable.description":"markdown","EvidenceVariable.editor":"ContactDetail","EvidenceVariable.effectivePeriod":"Period","EvidenceVariable.endorser":"ContactDetail","EvidenceVariable.extension":"Extension","EvidenceVariable.id":"System.String","EvidenceVariable.identifier":"Identifier","EvidenceVariable.implicitRules":"uri","EvidenceVariable.jurisdiction":"CodeableConcept","EvidenceVariable.language":"code","EvidenceVariable.lastReviewDate":"date","EvidenceVariable.meta":"Meta","EvidenceVariable.modifierExtension":"Extension","EvidenceVariable.name":"string","EvidenceVariable.note":"Annotation","EvidenceVariable.publisher":"string","EvidenceVariable.relatedArtifact":"RelatedArtifact","EvidenceVariable.reviewer":"ContactDetail","EvidenceVariable.shortTitle":"string","EvidenceVariable.status":"code","EvidenceVariable.subtitle":"string","EvidenceVariable.text":"Narrative","EvidenceVariable.title":"string","EvidenceVariable.topic":"CodeableConcept","EvidenceVariable.type":"code","EvidenceVariable.url":"uri","EvidenceVariable.useContext":"UsageContext","EvidenceVariable.version":"string","ExampleScenario.actor.actorId":"string","ExampleScenario.actor.description":"markdown","ExampleScenario.actor.extension":"Extension","ExampleScenario.actor.id":"System.String","ExampleScenario.actor.modifierExtension":"Extension","ExampleScenario.actor.name":"string","ExampleScenario.actor.type":"code","ExampleScenario.contact":"ContactDetail","ExampleScenario.contained":"Resource","ExampleScenario.copyright":"markdown","ExampleScenario.date":"dateTime","ExampleScenario.experimental":"boolean","ExampleScenario.extension":"Extension","ExampleScenario.id":"System.String","ExampleScenario.identifier":"Identifier","ExampleScenario.implicitRules":"uri","ExampleScenario.instance.containedInstance.extension":"Extension","ExampleScenario.instance.containedInstance.id":"System.String","ExampleScenario.instance.containedInstance.modifierExtension":"Extension","ExampleScenario.instance.containedInstance.resourceId":"string","ExampleScenario.instance.containedInstance.versionId":"string","ExampleScenario.instance.description":"markdown","ExampleScenario.instance.extension":"Extension","ExampleScenario.instance.id":"System.String","ExampleScenario.instance.modifierExtension":"Extension","ExampleScenario.instance.name":"string","ExampleScenario.instance.resourceId":"string","ExampleScenario.instance.resourceType":"code","ExampleScenario.instance.version.description":"markdown","ExampleScenario.instance.version.extension":"Extension","ExampleScenario.instance.version.id":"System.String","ExampleScenario.instance.version.modifierExtension":"Extension","ExampleScenario.instance.version.versionId":"string","ExampleScenario.jurisdiction":"CodeableConcept","ExampleScenario.language":"code","ExampleScenario.meta":"Meta","ExampleScenario.modifierExtension":"Extension","ExampleScenario.name":"string","ExampleScenario.process.description":"markdown","ExampleScenario.process.extension":"Extension","ExampleScenario.process.id":"System.String","ExampleScenario.process.modifierExtension":"Extension","ExampleScenario.process.postConditions":"markdown","ExampleScenario.process.preConditions":"markdown","ExampleScenario.process.step.alternative.description":"markdown","ExampleScenario.process.step.alternative.extension":"Extension","ExampleScenario.process.step.alternative.id":"System.String","ExampleScenario.process.step.alternative.modifierExtension":"Extension","ExampleScenario.process.step.alternative.title":"string","ExampleScenario.process.step.extension":"Extension","ExampleScenario.process.step.id":"System.String","ExampleScenario.process.step.modifierExtension":"Extension","ExampleScenario.process.step.operation.description":"markdown","ExampleScenario.process.step.operation.extension":"Extension","ExampleScenario.process.step.operation.id":"System.String","ExampleScenario.process.step.operation.initiator":"string","ExampleScenario.process.step.operation.initiatorActive":"boolean","ExampleScenario.process.step.operation.modifierExtension":"Extension","ExampleScenario.process.step.operation.name":"string","ExampleScenario.process.step.operation.number":"string","ExampleScenario.process.step.operation.receiver":"string","ExampleScenario.process.step.operation.receiverActive":"boolean","ExampleScenario.process.step.operation.type":"string","ExampleScenario.process.step.pause":"boolean","ExampleScenario.process.title":"string","ExampleScenario.publisher":"string","ExampleScenario.purpose":"markdown","ExampleScenario.status":"code","ExampleScenario.text":"Narrative","ExampleScenario.url":"uri","ExampleScenario.useContext":"UsageContext","ExampleScenario.version":"string","ExampleScenario.workflow":"canonical","ExplanationOfBenefit.accident.date":"date","ExplanationOfBenefit.accident.extension":"Extension","ExplanationOfBenefit.accident.id":"System.String","ExplanationOfBenefit.accident.locationAddress":"Address","ExplanationOfBenefit.accident.locationReference":"Reference","ExplanationOfBenefit.accident.modifierExtension":"Extension","ExplanationOfBenefit.accident.type":"CodeableConcept","ExplanationOfBenefit.addItem.bodySite":"CodeableConcept","ExplanationOfBenefit.addItem.detail.extension":"Extension","ExplanationOfBenefit.addItem.detail.factor":"decimal","ExplanationOfBenefit.addItem.detail.id":"System.String","ExplanationOfBenefit.addItem.detail.modifier":"CodeableConcept","ExplanationOfBenefit.addItem.detail.modifierExtension":"Extension","ExplanationOfBenefit.addItem.detail.net":"Money","ExplanationOfBenefit.addItem.detail.noteNumber":"positiveInt","ExplanationOfBenefit.addItem.detail.productOrService":"CodeableConcept","ExplanationOfBenefit.addItem.detail.quantity":"Quantity","ExplanationOfBenefit.addItem.detail.subDetail.extension":"Extension","ExplanationOfBenefit.addItem.detail.subDetail.factor":"decimal","ExplanationOfBenefit.addItem.detail.subDetail.id":"System.String","ExplanationOfBenefit.addItem.detail.subDetail.modifier":"CodeableConcept","ExplanationOfBenefit.addItem.detail.subDetail.modifierExtension":"Extension","ExplanationOfBenefit.addItem.detail.subDetail.net":"Money","ExplanationOfBenefit.addItem.detail.subDetail.noteNumber":"positiveInt","ExplanationOfBenefit.addItem.detail.subDetail.productOrService":"CodeableConcept","ExplanationOfBenefit.addItem.detail.subDetail.quantity":"Quantity","ExplanationOfBenefit.addItem.detail.subDetail.unitPrice":"Money","ExplanationOfBenefit.addItem.detail.unitPrice":"Money","ExplanationOfBenefit.addItem.detailSequence":"positiveInt","ExplanationOfBenefit.addItem.extension":"Extension","ExplanationOfBenefit.addItem.factor":"decimal","ExplanationOfBenefit.addItem.id":"System.String","ExplanationOfBenefit.addItem.itemSequence":"positiveInt","ExplanationOfBenefit.addItem.locationAddress":"Address","ExplanationOfBenefit.addItem.locationCodeableConcept":"CodeableConcept","ExplanationOfBenefit.addItem.locationReference":"Reference","ExplanationOfBenefit.addItem.modifier":"CodeableConcept","ExplanationOfBenefit.addItem.modifierExtension":"Extension","ExplanationOfBenefit.addItem.net":"Money","ExplanationOfBenefit.addItem.noteNumber":"positiveInt","ExplanationOfBenefit.addItem.productOrService":"CodeableConcept","ExplanationOfBenefit.addItem.programCode":"CodeableConcept","ExplanationOfBenefit.addItem.provider":"Reference","ExplanationOfBenefit.addItem.quantity":"Quantity","ExplanationOfBenefit.addItem.servicedDate":"date","ExplanationOfBenefit.addItem.servicedPeriod":"Period","ExplanationOfBenefit.addItem.subDetailSequence":"positiveInt","ExplanationOfBenefit.addItem.subSite":"CodeableConcept","ExplanationOfBenefit.addItem.unitPrice":"Money","ExplanationOfBenefit.benefitBalance.category":"CodeableConcept","ExplanationOfBenefit.benefitBalance.description":"string","ExplanationOfBenefit.benefitBalance.excluded":"boolean","ExplanationOfBenefit.benefitBalance.extension":"Extension","ExplanationOfBenefit.benefitBalance.financial.allowedMoney":"Money","ExplanationOfBenefit.benefitBalance.financial.allowedString":"string","ExplanationOfBenefit.benefitBalance.financial.allowedUnsignedInt":"unsignedInt","ExplanationOfBenefit.benefitBalance.financial.extension":"Extension","ExplanationOfBenefit.benefitBalance.financial.id":"System.String","ExplanationOfBenefit.benefitBalance.financial.modifierExtension":"Extension","ExplanationOfBenefit.benefitBalance.financial.type":"CodeableConcept","ExplanationOfBenefit.benefitBalance.financial.usedMoney":"Money","ExplanationOfBenefit.benefitBalance.financial.usedUnsignedInt":"unsignedInt","ExplanationOfBenefit.benefitBalance.id":"System.String","ExplanationOfBenefit.benefitBalance.modifierExtension":"Extension","ExplanationOfBenefit.benefitBalance.name":"string","ExplanationOfBenefit.benefitBalance.network":"CodeableConcept","ExplanationOfBenefit.benefitBalance.term":"CodeableConcept","ExplanationOfBenefit.benefitBalance.unit":"CodeableConcept","ExplanationOfBenefit.benefitPeriod":"Period","ExplanationOfBenefit.billablePeriod":"Period","ExplanationOfBenefit.careTeam.extension":"Extension","ExplanationOfBenefit.careTeam.id":"System.String","ExplanationOfBenefit.careTeam.modifierExtension":"Extension","ExplanationOfBenefit.careTeam.provider":"Reference","ExplanationOfBenefit.careTeam.qualification":"CodeableConcept","ExplanationOfBenefit.careTeam.responsible":"boolean","ExplanationOfBenefit.careTeam.role":"CodeableConcept","ExplanationOfBenefit.careTeam.sequence":"positiveInt","ExplanationOfBenefit.claim":"Reference","ExplanationOfBenefit.claimResponse":"Reference","ExplanationOfBenefit.contained":"Resource","ExplanationOfBenefit.created":"dateTime","ExplanationOfBenefit.diagnosis.diagnosisCodeableConcept":"CodeableConcept","ExplanationOfBenefit.diagnosis.diagnosisReference":"Reference","ExplanationOfBenefit.diagnosis.extension":"Extension","ExplanationOfBenefit.diagnosis.id":"System.String","ExplanationOfBenefit.diagnosis.modifierExtension":"Extension","ExplanationOfBenefit.diagnosis.onAdmission":"CodeableConcept","ExplanationOfBenefit.diagnosis.packageCode":"CodeableConcept","ExplanationOfBenefit.diagnosis.sequence":"positiveInt","ExplanationOfBenefit.diagnosis.type":"CodeableConcept","ExplanationOfBenefit.disposition":"string","ExplanationOfBenefit.enterer":"Reference","ExplanationOfBenefit.extension":"Extension","ExplanationOfBenefit.facility":"Reference","ExplanationOfBenefit.form":"Attachment","ExplanationOfBenefit.formCode":"CodeableConcept","ExplanationOfBenefit.fundsReserve":"CodeableConcept","ExplanationOfBenefit.fundsReserveRequested":"CodeableConcept","ExplanationOfBenefit.id":"System.String","ExplanationOfBenefit.identifier":"Identifier","ExplanationOfBenefit.implicitRules":"uri","ExplanationOfBenefit.insurance.coverage":"Reference","ExplanationOfBenefit.insurance.extension":"Extension","ExplanationOfBenefit.insurance.focal":"boolean","ExplanationOfBenefit.insurance.id":"System.String","ExplanationOfBenefit.insurance.modifierExtension":"Extension","ExplanationOfBenefit.insurance.preAuthRef":"string","ExplanationOfBenefit.insurer":"Reference","ExplanationOfBenefit.item.adjudication.amount":"Money","ExplanationOfBenefit.item.adjudication.category":"CodeableConcept","ExplanationOfBenefit.item.adjudication.extension":"Extension","ExplanationOfBenefit.item.adjudication.id":"System.String","ExplanationOfBenefit.item.adjudication.modifierExtension":"Extension","ExplanationOfBenefit.item.adjudication.reason":"CodeableConcept","ExplanationOfBenefit.item.adjudication.value":"decimal","ExplanationOfBenefit.item.bodySite":"CodeableConcept","ExplanationOfBenefit.item.careTeamSequence":"positiveInt","ExplanationOfBenefit.item.category":"CodeableConcept","ExplanationOfBenefit.item.detail.category":"CodeableConcept","ExplanationOfBenefit.item.detail.extension":"Extension","ExplanationOfBenefit.item.detail.factor":"decimal","ExplanationOfBenefit.item.detail.id":"System.String","ExplanationOfBenefit.item.detail.modifier":"CodeableConcept","ExplanationOfBenefit.item.detail.modifierExtension":"Extension","ExplanationOfBenefit.item.detail.net":"Money","ExplanationOfBenefit.item.detail.noteNumber":"positiveInt","ExplanationOfBenefit.item.detail.productOrService":"CodeableConcept","ExplanationOfBenefit.item.detail.programCode":"CodeableConcept","ExplanationOfBenefit.item.detail.quantity":"Quantity","ExplanationOfBenefit.item.detail.revenue":"CodeableConcept","ExplanationOfBenefit.item.detail.sequence":"positiveInt","ExplanationOfBenefit.item.detail.subDetail.category":"CodeableConcept","ExplanationOfBenefit.item.detail.subDetail.extension":"Extension","ExplanationOfBenefit.item.detail.subDetail.factor":"decimal","ExplanationOfBenefit.item.detail.subDetail.id":"System.String","ExplanationOfBenefit.item.detail.subDetail.modifier":"CodeableConcept","ExplanationOfBenefit.item.detail.subDetail.modifierExtension":"Extension","ExplanationOfBenefit.item.detail.subDetail.net":"Money","ExplanationOfBenefit.item.detail.subDetail.noteNumber":"positiveInt","ExplanationOfBenefit.item.detail.subDetail.productOrService":"CodeableConcept","ExplanationOfBenefit.item.detail.subDetail.programCode":"CodeableConcept","ExplanationOfBenefit.item.detail.subDetail.quantity":"Quantity","ExplanationOfBenefit.item.detail.subDetail.revenue":"CodeableConcept","ExplanationOfBenefit.item.detail.subDetail.sequence":"positiveInt","ExplanationOfBenefit.item.detail.subDetail.udi":"Reference","ExplanationOfBenefit.item.detail.subDetail.unitPrice":"Money","ExplanationOfBenefit.item.detail.udi":"Reference","ExplanationOfBenefit.item.detail.unitPrice":"Money","ExplanationOfBenefit.item.diagnosisSequence":"positiveInt","ExplanationOfBenefit.item.encounter":"Reference","ExplanationOfBenefit.item.extension":"Extension","ExplanationOfBenefit.item.factor":"decimal","ExplanationOfBenefit.item.id":"System.String","ExplanationOfBenefit.item.informationSequence":"positiveInt","ExplanationOfBenefit.item.locationAddress":"Address","ExplanationOfBenefit.item.locationCodeableConcept":"CodeableConcept","ExplanationOfBenefit.item.locationReference":"Reference","ExplanationOfBenefit.item.modifier":"CodeableConcept","ExplanationOfBenefit.item.modifierExtension":"Extension","ExplanationOfBenefit.item.net":"Money","ExplanationOfBenefit.item.noteNumber":"positiveInt","ExplanationOfBenefit.item.procedureSequence":"positiveInt","ExplanationOfBenefit.item.productOrService":"CodeableConcept","ExplanationOfBenefit.item.programCode":"CodeableConcept","ExplanationOfBenefit.item.quantity":"Quantity","ExplanationOfBenefit.item.revenue":"CodeableConcept","ExplanationOfBenefit.item.sequence":"positiveInt","ExplanationOfBenefit.item.servicedDate":"date","ExplanationOfBenefit.item.servicedPeriod":"Period","ExplanationOfBenefit.item.subSite":"CodeableConcept","ExplanationOfBenefit.item.udi":"Reference","ExplanationOfBenefit.item.unitPrice":"Money","ExplanationOfBenefit.language":"code","ExplanationOfBenefit.meta":"Meta","ExplanationOfBenefit.modifierExtension":"Extension","ExplanationOfBenefit.originalPrescription":"Reference","ExplanationOfBenefit.outcome":"code","ExplanationOfBenefit.patient":"Reference","ExplanationOfBenefit.payee.extension":"Extension","ExplanationOfBenefit.payee.id":"System.String","ExplanationOfBenefit.payee.modifierExtension":"Extension","ExplanationOfBenefit.payee.party":"Reference","ExplanationOfBenefit.payee.type":"CodeableConcept","ExplanationOfBenefit.payment.adjustment":"Money","ExplanationOfBenefit.payment.adjustmentReason":"CodeableConcept","ExplanationOfBenefit.payment.amount":"Money","ExplanationOfBenefit.payment.date":"date","ExplanationOfBenefit.payment.extension":"Extension","ExplanationOfBenefit.payment.id":"System.String","ExplanationOfBenefit.payment.identifier":"Identifier","ExplanationOfBenefit.payment.modifierExtension":"Extension","ExplanationOfBenefit.payment.type":"CodeableConcept","ExplanationOfBenefit.preAuthRef":"string","ExplanationOfBenefit.preAuthRefPeriod":"Period","ExplanationOfBenefit.precedence":"positiveInt","ExplanationOfBenefit.prescription":"Reference","ExplanationOfBenefit.priority":"CodeableConcept","ExplanationOfBenefit.procedure.date":"dateTime","ExplanationOfBenefit.procedure.extension":"Extension","ExplanationOfBenefit.procedure.id":"System.String","ExplanationOfBenefit.procedure.modifierExtension":"Extension","ExplanationOfBenefit.procedure.procedureCodeableConcept":"CodeableConcept","ExplanationOfBenefit.procedure.procedureReference":"Reference","ExplanationOfBenefit.procedure.sequence":"positiveInt","ExplanationOfBenefit.procedure.type":"CodeableConcept","ExplanationOfBenefit.procedure.udi":"Reference","ExplanationOfBenefit.processNote.extension":"Extension","ExplanationOfBenefit.processNote.id":"System.String","ExplanationOfBenefit.processNote.language":"CodeableConcept","ExplanationOfBenefit.processNote.modifierExtension":"Extension","ExplanationOfBenefit.processNote.number":"positiveInt","ExplanationOfBenefit.processNote.text":"string","ExplanationOfBenefit.processNote.type":"code","ExplanationOfBenefit.provider":"Reference","ExplanationOfBenefit.referral":"Reference","ExplanationOfBenefit.related.claim":"Reference","ExplanationOfBenefit.related.extension":"Extension","ExplanationOfBenefit.related.id":"System.String","ExplanationOfBenefit.related.modifierExtension":"Extension","ExplanationOfBenefit.related.reference":"Identifier","ExplanationOfBenefit.related.relationship":"CodeableConcept","ExplanationOfBenefit.status":"code","ExplanationOfBenefit.subType":"CodeableConcept","ExplanationOfBenefit.supportingInfo.category":"CodeableConcept","ExplanationOfBenefit.supportingInfo.code":"CodeableConcept","ExplanationOfBenefit.supportingInfo.extension":"Extension","ExplanationOfBenefit.supportingInfo.id":"System.String","ExplanationOfBenefit.supportingInfo.modifierExtension":"Extension","ExplanationOfBenefit.supportingInfo.reason":"Coding","ExplanationOfBenefit.supportingInfo.sequence":"positiveInt","ExplanationOfBenefit.supportingInfo.timingDate":"date","ExplanationOfBenefit.supportingInfo.timingPeriod":"Period","ExplanationOfBenefit.supportingInfo.valueAttachment":"Attachment","ExplanationOfBenefit.supportingInfo.valueBoolean":"boolean","ExplanationOfBenefit.supportingInfo.valueQuantity":"Quantity","ExplanationOfBenefit.supportingInfo.valueReference":"Reference","ExplanationOfBenefit.supportingInfo.valueString":"string","ExplanationOfBenefit.text":"Narrative","ExplanationOfBenefit.total.amount":"Money","ExplanationOfBenefit.total.category":"CodeableConcept","ExplanationOfBenefit.total.extension":"Extension","ExplanationOfBenefit.total.id":"System.String","ExplanationOfBenefit.total.modifierExtension":"Extension","ExplanationOfBenefit.type":"CodeableConcept","ExplanationOfBenefit.use":"code","Expression.description":"string","Expression.expression":"string","Expression.extension":"Extension","Expression.id":"System.String","Expression.language":"code","Expression.name":"id","Expression.reference":"uri","Extension.extension":"Extension","Extension.id":"System.String","Extension.url":"System.String","Extension.valueAddress":"Address","Extension.valueAge":"Age","Extension.valueAnnotation":"Annotation","Extension.valueAttachment":"Attachment","Extension.valueBase64Binary":"base64Binary","Extension.valueBoolean":"boolean","Extension.valueCanonical":"canonical","Extension.valueCode":"code","Extension.valueCodeableConcept":"CodeableConcept","Extension.valueCoding":"Coding","Extension.valueContactDetail":"ContactDetail","Extension.valueContactPoint":"ContactPoint","Extension.valueContributor":"Contributor","Extension.valueCount":"Count","Extension.valueDataRequirement":"DataRequirement","Extension.valueDate":"date","Extension.valueDateTime":"dateTime","Extension.valueDecimal":"decimal","Extension.valueDistance":"Distance","Extension.valueDosage":"Dosage","Extension.valueDuration":"Duration","Extension.valueExpression":"Expression","Extension.valueHumanName":"HumanName","Extension.valueId":"id","Extension.valueIdentifier":"Identifier","Extension.valueInstant":"instant","Extension.valueInteger":"integer","Extension.valueMarkdown":"markdown","Extension.valueMeta":"Meta","Extension.valueMoney":"Money","Extension.valueOid":"oid","Extension.valueParameterDefinition":"ParameterDefinition","Extension.valuePeriod":"Period","Extension.valuePositiveInt":"positiveInt","Extension.valueQuantity":"Quantity","Extension.valueRange":"Range","Extension.valueRatio":"Ratio","Extension.valueReference":"Reference","Extension.valueRelatedArtifact":"RelatedArtifact","Extension.valueSampledData":"SampledData","Extension.valueSignature":"Signature","Extension.valueString":"string","Extension.valueTime":"time","Extension.valueTiming":"Timing","Extension.valueTriggerDefinition":"TriggerDefinition","Extension.valueUnsignedInt":"unsignedInt","Extension.valueUri":"uri","Extension.valueUrl":"url","Extension.valueUsageContext":"UsageContext","Extension.valueUuid":"uuid","FamilyMemberHistory.ageAge":"Age","FamilyMemberHistory.ageRange":"Range","FamilyMemberHistory.ageString":"string","FamilyMemberHistory.bornDate":"date","FamilyMemberHistory.bornPeriod":"Period","FamilyMemberHistory.bornString":"string","FamilyMemberHistory.condition.code":"CodeableConcept","FamilyMemberHistory.condition.contributedToDeath":"boolean","FamilyMemberHistory.condition.extension":"Extension","FamilyMemberHistory.condition.id":"System.String","FamilyMemberHistory.condition.modifierExtension":"Extension","FamilyMemberHistory.condition.note":"Annotation","FamilyMemberHistory.condition.onsetAge":"Age","FamilyMemberHistory.condition.onsetPeriod":"Period","FamilyMemberHistory.condition.onsetRange":"Range","FamilyMemberHistory.condition.onsetString":"string","FamilyMemberHistory.condition.outcome":"CodeableConcept","FamilyMemberHistory.contained":"Resource","FamilyMemberHistory.dataAbsentReason":"CodeableConcept","FamilyMemberHistory.date":"dateTime","FamilyMemberHistory.deceasedAge":"Age","FamilyMemberHistory.deceasedBoolean":"boolean","FamilyMemberHistory.deceasedDate":"date","FamilyMemberHistory.deceasedRange":"Range","FamilyMemberHistory.deceasedString":"string","FamilyMemberHistory.estimatedAge":"boolean","FamilyMemberHistory.extension":"Extension","FamilyMemberHistory.id":"System.String","FamilyMemberHistory.identifier":"Identifier","FamilyMemberHistory.implicitRules":"uri","FamilyMemberHistory.instantiatesCanonical":"canonical","FamilyMemberHistory.instantiatesUri":"uri","FamilyMemberHistory.language":"code","FamilyMemberHistory.meta":"Meta","FamilyMemberHistory.modifierExtension":"Extension","FamilyMemberHistory.name":"string","FamilyMemberHistory.note":"Annotation","FamilyMemberHistory.patient":"Reference","FamilyMemberHistory.reasonCode":"CodeableConcept","FamilyMemberHistory.reasonReference":"Reference","FamilyMemberHistory.relationship":"CodeableConcept","FamilyMemberHistory.sex":"CodeableConcept","FamilyMemberHistory.status":"code","FamilyMemberHistory.text":"Narrative","Flag.author":"Reference","Flag.category":"CodeableConcept","Flag.code":"CodeableConcept","Flag.contained":"Resource","Flag.encounter":"Reference","Flag.extension":"Extension","Flag.id":"System.String","Flag.identifier":"Identifier","Flag.implicitRules":"uri","Flag.language":"code","Flag.meta":"Meta","Flag.modifierExtension":"Extension","Flag.period":"Period","Flag.status":"code","Flag.subject":"Reference","Flag.text":"Narrative","Goal.achievementStatus":"CodeableConcept","Goal.addresses":"Reference","Goal.category":"CodeableConcept","Goal.contained":"Resource","Goal.description":"CodeableConcept","Goal.expressedBy":"Reference","Goal.extension":"Extension","Goal.id":"System.String","Goal.identifier":"Identifier","Goal.implicitRules":"uri","Goal.language":"code","Goal.lifecycleStatus":"code","Goal.meta":"Meta","Goal.modifierExtension":"Extension","Goal.note":"Annotation","Goal.outcomeCode":"CodeableConcept","Goal.outcomeReference":"Reference","Goal.priority":"CodeableConcept","Goal.startCodeableConcept":"CodeableConcept","Goal.startDate":"date","Goal.statusDate":"date","Goal.statusReason":"string","Goal.subject":"Reference","Goal.target.detailBoolean":"boolean","Goal.target.detailCodeableConcept":"CodeableConcept","Goal.target.detailInteger":"integer","Goal.target.detailQuantity":"Quantity","Goal.target.detailRange":"Range","Goal.target.detailRatio":"Ratio","Goal.target.detailString":"string","Goal.target.dueDate":"date","Goal.target.dueDuration":"Duration","Goal.target.extension":"Extension","Goal.target.id":"System.String","Goal.target.measure":"CodeableConcept","Goal.target.modifierExtension":"Extension","Goal.text":"Narrative","GraphDefinition.contact":"ContactDetail","GraphDefinition.contained":"Resource","GraphDefinition.date":"dateTime","GraphDefinition.description":"markdown","GraphDefinition.experimental":"boolean","GraphDefinition.extension":"Extension","GraphDefinition.id":"System.String","GraphDefinition.implicitRules":"uri","GraphDefinition.jurisdiction":"CodeableConcept","GraphDefinition.language":"code","GraphDefinition.link.description":"string","GraphDefinition.link.extension":"Extension","GraphDefinition.link.id":"System.String","GraphDefinition.link.max":"string","GraphDefinition.link.min":"integer","GraphDefinition.link.modifierExtension":"Extension","GraphDefinition.link.path":"string","GraphDefinition.link.sliceName":"string","GraphDefinition.link.target.compartment.code":"code","GraphDefinition.link.target.compartment.description":"string","GraphDefinition.link.target.compartment.expression":"string","GraphDefinition.link.target.compartment.extension":"Extension","GraphDefinition.link.target.compartment.id":"System.String","GraphDefinition.link.target.compartment.modifierExtension":"Extension","GraphDefinition.link.target.compartment.rule":"code","GraphDefinition.link.target.compartment.use":"code","GraphDefinition.link.target.extension":"Extension","GraphDefinition.link.target.id":"System.String","GraphDefinition.link.target.modifierExtension":"Extension","GraphDefinition.link.target.params":"string","GraphDefinition.link.target.profile":"canonical","GraphDefinition.link.target.type":"code","GraphDefinition.meta":"Meta","GraphDefinition.modifierExtension":"Extension","GraphDefinition.name":"string","GraphDefinition.profile":"canonical","GraphDefinition.publisher":"string","GraphDefinition.purpose":"markdown","GraphDefinition.start":"code","GraphDefinition.status":"code","GraphDefinition.text":"Narrative","GraphDefinition.url":"uri","GraphDefinition.useContext":"UsageContext","GraphDefinition.version":"string","Group.active":"boolean","Group.actual":"boolean","Group.characteristic.code":"CodeableConcept","Group.characteristic.exclude":"boolean","Group.characteristic.extension":"Extension","Group.characteristic.id":"System.String","Group.characteristic.modifierExtension":"Extension","Group.characteristic.period":"Period","Group.characteristic.valueBoolean":"boolean","Group.characteristic.valueCodeableConcept":"CodeableConcept","Group.characteristic.valueQuantity":"Quantity","Group.characteristic.valueRange":"Range","Group.characteristic.valueReference":"Reference","Group.code":"CodeableConcept","Group.contained":"Resource","Group.extension":"Extension","Group.id":"System.String","Group.identifier":"Identifier","Group.implicitRules":"uri","Group.language":"code","Group.managingEntity":"Reference","Group.member.entity":"Reference","Group.member.extension":"Extension","Group.member.id":"System.String","Group.member.inactive":"boolean","Group.member.modifierExtension":"Extension","Group.member.period":"Period","Group.meta":"Meta","Group.modifierExtension":"Extension","Group.name":"string","Group.quantity":"unsignedInt","Group.text":"Narrative","Group.type":"code","GuidanceResponse.contained":"Resource","GuidanceResponse.dataRequirement":"DataRequirement","GuidanceResponse.encounter":"Reference","GuidanceResponse.evaluationMessage":"Reference","GuidanceResponse.extension":"Extension","GuidanceResponse.id":"System.String","GuidanceResponse.identifier":"Identifier","GuidanceResponse.implicitRules":"uri","GuidanceResponse.language":"code","GuidanceResponse.meta":"Meta","GuidanceResponse.modifierExtension":"Extension","GuidanceResponse.moduleCanonical":"canonical","GuidanceResponse.moduleCodeableConcept":"CodeableConcept","GuidanceResponse.moduleUri":"uri","GuidanceResponse.note":"Annotation","GuidanceResponse.occurrenceDateTime":"dateTime","GuidanceResponse.outputParameters":"Reference","GuidanceResponse.performer":"Reference","GuidanceResponse.reasonCode":"CodeableConcept","GuidanceResponse.reasonReference":"Reference","GuidanceResponse.requestIdentifier":"Identifier","GuidanceResponse.result":"Reference","GuidanceResponse.status":"code","GuidanceResponse.subject":"Reference","GuidanceResponse.text":"Narrative","HealthcareService.active":"boolean","HealthcareService.appointmentRequired":"boolean","HealthcareService.availabilityExceptions":"string","HealthcareService.availableTime.allDay":"boolean","HealthcareService.availableTime.availableEndTime":"time","HealthcareService.availableTime.availableStartTime":"time","HealthcareService.availableTime.daysOfWeek":"code","HealthcareService.availableTime.extension":"Extension","HealthcareService.availableTime.id":"System.String","HealthcareService.availableTime.modifierExtension":"Extension","HealthcareService.category":"CodeableConcept","HealthcareService.characteristic":"CodeableConcept","HealthcareService.comment":"string","HealthcareService.communication":"CodeableConcept","HealthcareService.contained":"Resource","HealthcareService.coverageArea":"Reference","HealthcareService.eligibility.code":"CodeableConcept","HealthcareService.eligibility.comment":"markdown","HealthcareService.eligibility.extension":"Extension","HealthcareService.eligibility.id":"System.String","HealthcareService.eligibility.modifierExtension":"Extension","HealthcareService.endpoint":"Reference","HealthcareService.extension":"Extension","HealthcareService.extraDetails":"markdown","HealthcareService.id":"System.String","HealthcareService.identifier":"Identifier","HealthcareService.implicitRules":"uri","HealthcareService.language":"code","HealthcareService.location":"Reference","HealthcareService.meta":"Meta","HealthcareService.modifierExtension":"Extension","HealthcareService.name":"string","HealthcareService.notAvailable.description":"string","HealthcareService.notAvailable.during":"Period","HealthcareService.notAvailable.extension":"Extension","HealthcareService.notAvailable.id":"System.String","HealthcareService.notAvailable.modifierExtension":"Extension","HealthcareService.photo":"Attachment","HealthcareService.program":"CodeableConcept","HealthcareService.providedBy":"Reference","HealthcareService.referralMethod":"CodeableConcept","HealthcareService.serviceProvisionCode":"CodeableConcept","HealthcareService.specialty":"CodeableConcept","HealthcareService.telecom":"ContactPoint","HealthcareService.text":"Narrative","HealthcareService.type":"CodeableConcept","HumanName.extension":"Extension","HumanName.family":"string","HumanName.given":"string","HumanName.id":"System.String","HumanName.period":"Period","HumanName.prefix":"string","HumanName.suffix":"string","HumanName.text":"string","HumanName.use":"code","Identifier.assigner":"Reference","Identifier.extension":"Extension","Identifier.id":"System.String","Identifier.period":"Period","Identifier.system":"uri","Identifier.type":"CodeableConcept","Identifier.use":"code","Identifier.value":"string","ImagingStudy.basedOn":"Reference","ImagingStudy.contained":"Resource","ImagingStudy.description":"string","ImagingStudy.encounter":"Reference","ImagingStudy.endpoint":"Reference","ImagingStudy.extension":"Extension","ImagingStudy.id":"System.String","ImagingStudy.identifier":"Identifier","ImagingStudy.implicitRules":"uri","ImagingStudy.interpreter":"Reference","ImagingStudy.language":"code","ImagingStudy.location":"Reference","ImagingStudy.meta":"Meta","ImagingStudy.modality":"Coding","ImagingStudy.modifierExtension":"Extension","ImagingStudy.note":"Annotation","ImagingStudy.numberOfInstances":"unsignedInt","ImagingStudy.numberOfSeries":"unsignedInt","ImagingStudy.procedureCode":"CodeableConcept","ImagingStudy.procedureReference":"Reference","ImagingStudy.reasonCode":"CodeableConcept","ImagingStudy.reasonReference":"Reference","ImagingStudy.referrer":"Reference","ImagingStudy.series.bodySite":"Coding","ImagingStudy.series.description":"string","ImagingStudy.series.endpoint":"Reference","ImagingStudy.series.extension":"Extension","ImagingStudy.series.id":"System.String","ImagingStudy.series.instance.extension":"Extension","ImagingStudy.series.instance.id":"System.String","ImagingStudy.series.instance.modifierExtension":"Extension","ImagingStudy.series.instance.number":"unsignedInt","ImagingStudy.series.instance.sopClass":"Coding","ImagingStudy.series.instance.title":"string","ImagingStudy.series.instance.uid":"id","ImagingStudy.series.laterality":"Coding","ImagingStudy.series.modality":"Coding","ImagingStudy.series.modifierExtension":"Extension","ImagingStudy.series.number":"unsignedInt","ImagingStudy.series.numberOfInstances":"unsignedInt","ImagingStudy.series.performer.actor":"Reference","ImagingStudy.series.performer.extension":"Extension","ImagingStudy.series.performer.function":"CodeableConcept","ImagingStudy.series.performer.id":"System.String","ImagingStudy.series.performer.modifierExtension":"Extension","ImagingStudy.series.specimen":"Reference","ImagingStudy.series.started":"dateTime","ImagingStudy.series.uid":"id","ImagingStudy.started":"dateTime","ImagingStudy.status":"code","ImagingStudy.subject":"Reference","ImagingStudy.text":"Narrative","Immunization.contained":"Resource","Immunization.doseQuantity":"Quantity","Immunization.education.documentType":"string","Immunization.education.extension":"Extension","Immunization.education.id":"System.String","Immunization.education.modifierExtension":"Extension","Immunization.education.presentationDate":"dateTime","Immunization.education.publicationDate":"dateTime","Immunization.education.reference":"uri","Immunization.encounter":"Reference","Immunization.expirationDate":"date","Immunization.extension":"Extension","Immunization.fundingSource":"CodeableConcept","Immunization.id":"System.String","Immunization.identifier":"Identifier","Immunization.implicitRules":"uri","Immunization.isSubpotent":"boolean","Immunization.language":"code","Immunization.location":"Reference","Immunization.lotNumber":"string","Immunization.manufacturer":"Reference","Immunization.meta":"Meta","Immunization.modifierExtension":"Extension","Immunization.note":"Annotation","Immunization.occurrenceDateTime":"dateTime","Immunization.occurrenceString":"string","Immunization.patient":"Reference","Immunization.performer.actor":"Reference","Immunization.performer.extension":"Extension","Immunization.performer.function":"CodeableConcept","Immunization.performer.id":"System.String","Immunization.performer.modifierExtension":"Extension","Immunization.primarySource":"boolean","Immunization.programEligibility":"CodeableConcept","Immunization.protocolApplied.authority":"Reference","Immunization.protocolApplied.doseNumberPositiveInt":"positiveInt","Immunization.protocolApplied.doseNumberString":"string","Immunization.protocolApplied.extension":"Extension","Immunization.protocolApplied.id":"System.String","Immunization.protocolApplied.modifierExtension":"Extension","Immunization.protocolApplied.series":"string","Immunization.protocolApplied.seriesDosesPositiveInt":"positiveInt","Immunization.protocolApplied.seriesDosesString":"string","Immunization.protocolApplied.targetDisease":"CodeableConcept","Immunization.reaction.date":"dateTime","Immunization.reaction.detail":"Reference","Immunization.reaction.extension":"Extension","Immunization.reaction.id":"System.String","Immunization.reaction.modifierExtension":"Extension","Immunization.reaction.reported":"boolean","Immunization.reasonCode":"CodeableConcept","Immunization.reasonReference":"Reference","Immunization.recorded":"dateTime","Immunization.reportOrigin":"CodeableConcept","Immunization.route":"CodeableConcept","Immunization.site":"CodeableConcept","Immunization.status":"code","Immunization.statusReason":"CodeableConcept","Immunization.subpotentReason":"CodeableConcept","Immunization.text":"Narrative","Immunization.vaccineCode":"CodeableConcept","ImmunizationEvaluation.authority":"Reference","ImmunizationEvaluation.contained":"Resource","ImmunizationEvaluation.date":"dateTime","ImmunizationEvaluation.description":"string","ImmunizationEvaluation.doseNumberPositiveInt":"positiveInt","ImmunizationEvaluation.doseNumberString":"string","ImmunizationEvaluation.doseStatus":"CodeableConcept","ImmunizationEvaluation.doseStatusReason":"CodeableConcept","ImmunizationEvaluation.extension":"Extension","ImmunizationEvaluation.id":"System.String","ImmunizationEvaluation.identifier":"Identifier","ImmunizationEvaluation.immunizationEvent":"Reference","ImmunizationEvaluation.implicitRules":"uri","ImmunizationEvaluation.language":"code","ImmunizationEvaluation.meta":"Meta","ImmunizationEvaluation.modifierExtension":"Extension","ImmunizationEvaluation.patient":"Reference","ImmunizationEvaluation.series":"string","ImmunizationEvaluation.seriesDosesPositiveInt":"positiveInt","ImmunizationEvaluation.seriesDosesString":"string","ImmunizationEvaluation.status":"code","ImmunizationEvaluation.targetDisease":"CodeableConcept","ImmunizationEvaluation.text":"Narrative","ImmunizationRecommendation.authority":"Reference","ImmunizationRecommendation.contained":"Resource","ImmunizationRecommendation.date":"dateTime","ImmunizationRecommendation.extension":"Extension","ImmunizationRecommendation.id":"System.String","ImmunizationRecommendation.identifier":"Identifier","ImmunizationRecommendation.implicitRules":"uri","ImmunizationRecommendation.language":"code","ImmunizationRecommendation.meta":"Meta","ImmunizationRecommendation.modifierExtension":"Extension","ImmunizationRecommendation.patient":"Reference","ImmunizationRecommendation.recommendation.contraindicatedVaccineCode":"CodeableConcept","ImmunizationRecommendation.recommendation.dateCriterion.code":"CodeableConcept","ImmunizationRecommendation.recommendation.dateCriterion.extension":"Extension","ImmunizationRecommendation.recommendation.dateCriterion.id":"System.String","ImmunizationRecommendation.recommendation.dateCriterion.modifierExtension":"Extension","ImmunizationRecommendation.recommendation.dateCriterion.value":"dateTime","ImmunizationRecommendation.recommendation.description":"string","ImmunizationRecommendation.recommendation.doseNumberPositiveInt":"positiveInt","ImmunizationRecommendation.recommendation.doseNumberString":"string","ImmunizationRecommendation.recommendation.extension":"Extension","ImmunizationRecommendation.recommendation.forecastReason":"CodeableConcept","ImmunizationRecommendation.recommendation.forecastStatus":"CodeableConcept","ImmunizationRecommendation.recommendation.id":"System.String","ImmunizationRecommendation.recommendation.modifierExtension":"Extension","ImmunizationRecommendation.recommendation.series":"string","ImmunizationRecommendation.recommendation.seriesDosesPositiveInt":"positiveInt","ImmunizationRecommendation.recommendation.seriesDosesString":"string","ImmunizationRecommendation.recommendation.supportingImmunization":"Reference","ImmunizationRecommendation.recommendation.supportingPatientInformation":"Reference","ImmunizationRecommendation.recommendation.targetDisease":"CodeableConcept","ImmunizationRecommendation.recommendation.vaccineCode":"CodeableConcept","ImmunizationRecommendation.text":"Narrative","ImplementationGuide.contact":"ContactDetail","ImplementationGuide.contained":"Resource","ImplementationGuide.copyright":"markdown","ImplementationGuide.date":"dateTime","ImplementationGuide.definition.extension":"Extension","ImplementationGuide.definition.grouping.description":"string","ImplementationGuide.definition.grouping.extension":"Extension","ImplementationGuide.definition.grouping.id":"System.String","ImplementationGuide.definition.grouping.modifierExtension":"Extension","ImplementationGuide.definition.grouping.name":"string","ImplementationGuide.definition.id":"System.String","ImplementationGuide.definition.modifierExtension":"Extension","ImplementationGuide.definition.page.extension":"Extension","ImplementationGuide.definition.page.generation":"code","ImplementationGuide.definition.page.id":"System.String","ImplementationGuide.definition.page.modifierExtension":"Extension","ImplementationGuide.definition.page.nameReference":"Reference","ImplementationGuide.definition.page.nameUrl":"url","ImplementationGuide.definition.page.title":"string","ImplementationGuide.definition.parameter.code":"code","ImplementationGuide.definition.parameter.extension":"Extension","ImplementationGuide.definition.parameter.id":"System.String","ImplementationGuide.definition.parameter.modifierExtension":"Extension","ImplementationGuide.definition.parameter.value":"string","ImplementationGuide.definition.resource.description":"string","ImplementationGuide.definition.resource.exampleBoolean":"boolean","ImplementationGuide.definition.resource.exampleCanonical":"canonical","ImplementationGuide.definition.resource.extension":"Extension","ImplementationGuide.definition.resource.fhirVersion":"code","ImplementationGuide.definition.resource.groupingId":"id","ImplementationGuide.definition.resource.id":"System.String","ImplementationGuide.definition.resource.modifierExtension":"Extension","ImplementationGuide.definition.resource.name":"string","ImplementationGuide.definition.resource.reference":"Reference","ImplementationGuide.definition.template.code":"code","ImplementationGuide.definition.template.extension":"Extension","ImplementationGuide.definition.template.id":"System.String","ImplementationGuide.definition.template.modifierExtension":"Extension","ImplementationGuide.definition.template.scope":"string","ImplementationGuide.definition.template.source":"string","ImplementationGuide.dependsOn.extension":"Extension","ImplementationGuide.dependsOn.id":"System.String","ImplementationGuide.dependsOn.modifierExtension":"Extension","ImplementationGuide.dependsOn.packageId":"id","ImplementationGuide.dependsOn.uri":"canonical","ImplementationGuide.dependsOn.version":"string","ImplementationGuide.description":"markdown","ImplementationGuide.experimental":"boolean","ImplementationGuide.extension":"Extension","ImplementationGuide.fhirVersion":"code","ImplementationGuide.global.extension":"Extension","ImplementationGuide.global.id":"System.String","ImplementationGuide.global.modifierExtension":"Extension","ImplementationGuide.global.profile":"canonical","ImplementationGuide.global.type":"code","ImplementationGuide.id":"System.String","ImplementationGuide.implicitRules":"uri","ImplementationGuide.jurisdiction":"CodeableConcept","ImplementationGuide.language":"code","ImplementationGuide.license":"code","ImplementationGuide.manifest.extension":"Extension","ImplementationGuide.manifest.id":"System.String","ImplementationGuide.manifest.image":"string","ImplementationGuide.manifest.modifierExtension":"Extension","ImplementationGuide.manifest.other":"string","ImplementationGuide.manifest.page.anchor":"string","ImplementationGuide.manifest.page.extension":"Extension","ImplementationGuide.manifest.page.id":"System.String","ImplementationGuide.manifest.page.modifierExtension":"Extension","ImplementationGuide.manifest.page.name":"string","ImplementationGuide.manifest.page.title":"string","ImplementationGuide.manifest.rendering":"url","ImplementationGuide.manifest.resource.exampleBoolean":"boolean","ImplementationGuide.manifest.resource.exampleCanonical":"canonical","ImplementationGuide.manifest.resource.extension":"Extension","ImplementationGuide.manifest.resource.id":"System.String","ImplementationGuide.manifest.resource.modifierExtension":"Extension","ImplementationGuide.manifest.resource.reference":"Reference","ImplementationGuide.manifest.resource.relativePath":"url","ImplementationGuide.meta":"Meta","ImplementationGuide.modifierExtension":"Extension","ImplementationGuide.name":"string","ImplementationGuide.packageId":"id","ImplementationGuide.publisher":"string","ImplementationGuide.status":"code","ImplementationGuide.text":"Narrative","ImplementationGuide.title":"string","ImplementationGuide.url":"uri","ImplementationGuide.useContext":"UsageContext","ImplementationGuide.version":"string","InsurancePlan.administeredBy":"Reference","InsurancePlan.alias":"string","InsurancePlan.contact.address":"Address","InsurancePlan.contact.extension":"Extension","InsurancePlan.contact.id":"System.String","InsurancePlan.contact.modifierExtension":"Extension","InsurancePlan.contact.name":"HumanName","InsurancePlan.contact.purpose":"CodeableConcept","InsurancePlan.contact.telecom":"ContactPoint","InsurancePlan.contained":"Resource","InsurancePlan.coverage.benefit.extension":"Extension","InsurancePlan.coverage.benefit.id":"System.String","InsurancePlan.coverage.benefit.limit.code":"CodeableConcept","InsurancePlan.coverage.benefit.limit.extension":"Extension","InsurancePlan.coverage.benefit.limit.id":"System.String","InsurancePlan.coverage.benefit.limit.modifierExtension":"Extension","InsurancePlan.coverage.benefit.limit.value":"Quantity","InsurancePlan.coverage.benefit.modifierExtension":"Extension","InsurancePlan.coverage.benefit.requirement":"string","InsurancePlan.coverage.benefit.type":"CodeableConcept","InsurancePlan.coverage.extension":"Extension","InsurancePlan.coverage.id":"System.String","InsurancePlan.coverage.modifierExtension":"Extension","InsurancePlan.coverage.network":"Reference","InsurancePlan.coverage.type":"CodeableConcept","InsurancePlan.coverageArea":"Reference","InsurancePlan.endpoint":"Reference","InsurancePlan.extension":"Extension","InsurancePlan.id":"System.String","InsurancePlan.identifier":"Identifier","InsurancePlan.implicitRules":"uri","InsurancePlan.language":"code","InsurancePlan.meta":"Meta","InsurancePlan.modifierExtension":"Extension","InsurancePlan.name":"string","InsurancePlan.network":"Reference","InsurancePlan.ownedBy":"Reference","InsurancePlan.period":"Period","InsurancePlan.plan.coverageArea":"Reference","InsurancePlan.plan.extension":"Extension","InsurancePlan.plan.generalCost.comment":"string","InsurancePlan.plan.generalCost.cost":"Money","InsurancePlan.plan.generalCost.extension":"Extension","InsurancePlan.plan.generalCost.groupSize":"positiveInt","InsurancePlan.plan.generalCost.id":"System.String","InsurancePlan.plan.generalCost.modifierExtension":"Extension","InsurancePlan.plan.generalCost.type":"CodeableConcept","InsurancePlan.plan.id":"System.String","InsurancePlan.plan.identifier":"Identifier","InsurancePlan.plan.modifierExtension":"Extension","InsurancePlan.plan.network":"Reference","InsurancePlan.plan.specificCost.benefit.cost.applicability":"CodeableConcept","InsurancePlan.plan.specificCost.benefit.cost.extension":"Extension","InsurancePlan.plan.specificCost.benefit.cost.id":"System.String","InsurancePlan.plan.specificCost.benefit.cost.modifierExtension":"Extension","InsurancePlan.plan.specificCost.benefit.cost.qualifiers":"CodeableConcept","InsurancePlan.plan.specificCost.benefit.cost.type":"CodeableConcept","InsurancePlan.plan.specificCost.benefit.cost.value":"Quantity","InsurancePlan.plan.specificCost.benefit.extension":"Extension","InsurancePlan.plan.specificCost.benefit.id":"System.String","InsurancePlan.plan.specificCost.benefit.modifierExtension":"Extension","InsurancePlan.plan.specificCost.benefit.type":"CodeableConcept","InsurancePlan.plan.specificCost.category":"CodeableConcept","InsurancePlan.plan.specificCost.extension":"Extension","InsurancePlan.plan.specificCost.id":"System.String","InsurancePlan.plan.specificCost.modifierExtension":"Extension","InsurancePlan.plan.type":"CodeableConcept","InsurancePlan.status":"code","InsurancePlan.text":"Narrative","InsurancePlan.type":"CodeableConcept","Invoice.account":"Reference","Invoice.cancelledReason":"string","Invoice.contained":"Resource","Invoice.date":"dateTime","Invoice.extension":"Extension","Invoice.id":"System.String","Invoice.identifier":"Identifier","Invoice.implicitRules":"uri","Invoice.issuer":"Reference","Invoice.language":"code","Invoice.lineItem.chargeItemCodeableConcept":"CodeableConcept","Invoice.lineItem.chargeItemReference":"Reference","Invoice.lineItem.extension":"Extension","Invoice.lineItem.id":"System.String","Invoice.lineItem.modifierExtension":"Extension","Invoice.lineItem.priceComponent.amount":"Money","Invoice.lineItem.priceComponent.code":"CodeableConcept","Invoice.lineItem.priceComponent.extension":"Extension","Invoice.lineItem.priceComponent.factor":"decimal","Invoice.lineItem.priceComponent.id":"System.String","Invoice.lineItem.priceComponent.modifierExtension":"Extension","Invoice.lineItem.priceComponent.type":"code","Invoice.lineItem.sequence":"positiveInt","Invoice.meta":"Meta","Invoice.modifierExtension":"Extension","Invoice.note":"Annotation","Invoice.participant.actor":"Reference","Invoice.participant.extension":"Extension","Invoice.participant.id":"System.String","Invoice.participant.modifierExtension":"Extension","Invoice.participant.role":"CodeableConcept","Invoice.paymentTerms":"markdown","Invoice.recipient":"Reference","Invoice.status":"code","Invoice.subject":"Reference","Invoice.text":"Narrative","Invoice.totalGross":"Money","Invoice.totalNet":"Money","Invoice.type":"CodeableConcept","Library.approvalDate":"date","Library.author":"ContactDetail","Library.contact":"ContactDetail","Library.contained":"Resource","Library.content":"Attachment","Library.copyright":"markdown","Library.dataRequirement":"DataRequirement","Library.date":"dateTime","Library.description":"markdown","Library.editor":"ContactDetail","Library.effectivePeriod":"Period","Library.endorser":"ContactDetail","Library.experimental":"boolean","Library.extension":"Extension","Library.id":"System.String","Library.identifier":"Identifier","Library.implicitRules":"uri","Library.jurisdiction":"CodeableConcept","Library.language":"code","Library.lastReviewDate":"date","Library.meta":"Meta","Library.modifierExtension":"Extension","Library.name":"string","Library.parameter":"ParameterDefinition","Library.publisher":"string","Library.purpose":"markdown","Library.relatedArtifact":"RelatedArtifact","Library.reviewer":"ContactDetail","Library.status":"code","Library.subjectCodeableConcept":"CodeableConcept","Library.subjectReference":"Reference","Library.subtitle":"string","Library.text":"Narrative","Library.title":"string","Library.topic":"CodeableConcept","Library.type":"CodeableConcept","Library.url":"uri","Library.usage":"string","Library.useContext":"UsageContext","Library.version":"string","Linkage.active":"boolean","Linkage.author":"Reference","Linkage.contained":"Resource","Linkage.extension":"Extension","Linkage.id":"System.String","Linkage.implicitRules":"uri","Linkage.item.extension":"Extension","Linkage.item.id":"System.String","Linkage.item.modifierExtension":"Extension","Linkage.item.resource":"Reference","Linkage.item.type":"code","Linkage.language":"code","Linkage.meta":"Meta","Linkage.modifierExtension":"Extension","Linkage.text":"Narrative","List.code":"CodeableConcept","List.contained":"Resource","List.date":"dateTime","List.emptyReason":"CodeableConcept","List.encounter":"Reference","List.entry.date":"dateTime","List.entry.deleted":"boolean","List.entry.extension":"Extension","List.entry.flag":"CodeableConcept","List.entry.id":"System.String","List.entry.item":"Reference","List.entry.modifierExtension":"Extension","List.extension":"Extension","List.id":"System.String","List.identifier":"Identifier","List.implicitRules":"uri","List.language":"code","List.meta":"Meta","List.mode":"code","List.modifierExtension":"Extension","List.note":"Annotation","List.orderedBy":"CodeableConcept","List.source":"Reference","List.status":"code","List.subject":"Reference","List.text":"Narrative","List.title":"string","Location.address":"Address","Location.alias":"string","Location.availabilityExceptions":"string","Location.contained":"Resource","Location.description":"string","Location.endpoint":"Reference","Location.extension":"Extension","Location.hoursOfOperation.allDay":"boolean","Location.hoursOfOperation.closingTime":"time","Location.hoursOfOperation.daysOfWeek":"code","Location.hoursOfOperation.extension":"Extension","Location.hoursOfOperation.id":"System.String","Location.hoursOfOperation.modifierExtension":"Extension","Location.hoursOfOperation.openingTime":"time","Location.id":"System.String","Location.identifier":"Identifier","Location.implicitRules":"uri","Location.language":"code","Location.managingOrganization":"Reference","Location.meta":"Meta","Location.mode":"code","Location.modifierExtension":"Extension","Location.name":"string","Location.operationalStatus":"Coding","Location.partOf":"Reference","Location.physicalType":"CodeableConcept","Location.position.altitude":"decimal","Location.position.extension":"Extension","Location.position.id":"System.String","Location.position.latitude":"decimal","Location.position.longitude":"decimal","Location.position.modifierExtension":"Extension","Location.status":"code","Location.telecom":"ContactPoint","Location.text":"Narrative","Location.type":"CodeableConcept","MarketingStatus.country":"CodeableConcept","MarketingStatus.dateRange":"Period","MarketingStatus.extension":"Extension","MarketingStatus.id":"System.String","MarketingStatus.jurisdiction":"CodeableConcept","MarketingStatus.modifierExtension":"Extension","MarketingStatus.restoreDate":"dateTime","MarketingStatus.status":"CodeableConcept","Measure.approvalDate":"date","Measure.author":"ContactDetail","Measure.clinicalRecommendationStatement":"markdown","Measure.compositeScoring":"CodeableConcept","Measure.contact":"ContactDetail","Measure.contained":"Resource","Measure.copyright":"markdown","Measure.date":"dateTime","Measure.definition":"markdown","Measure.description":"markdown","Measure.disclaimer":"markdown","Measure.editor":"ContactDetail","Measure.effectivePeriod":"Period","Measure.endorser":"ContactDetail","Measure.experimental":"boolean","Measure.extension":"Extension","Measure.group.code":"CodeableConcept","Measure.group.description":"string","Measure.group.extension":"Extension","Measure.group.id":"System.String","Measure.group.modifierExtension":"Extension","Measure.group.population.code":"CodeableConcept","Measure.group.population.criteria":"Expression","Measure.group.population.description":"string","Measure.group.population.extension":"Extension","Measure.group.population.id":"System.String","Measure.group.population.modifierExtension":"Extension","Measure.group.stratifier.code":"CodeableConcept","Measure.group.stratifier.component.code":"CodeableConcept","Measure.group.stratifier.component.criteria":"Expression","Measure.group.stratifier.component.description":"string","Measure.group.stratifier.component.extension":"Extension","Measure.group.stratifier.component.id":"System.String","Measure.group.stratifier.component.modifierExtension":"Extension","Measure.group.stratifier.criteria":"Expression","Measure.group.stratifier.description":"string","Measure.group.stratifier.extension":"Extension","Measure.group.stratifier.id":"System.String","Measure.group.stratifier.modifierExtension":"Extension","Measure.guidance":"markdown","Measure.id":"System.String","Measure.identifier":"Identifier","Measure.implicitRules":"uri","Measure.improvementNotation":"CodeableConcept","Measure.jurisdiction":"CodeableConcept","Measure.language":"code","Measure.lastReviewDate":"date","Measure.library":"canonical","Measure.meta":"Meta","Measure.modifierExtension":"Extension","Measure.name":"string","Measure.publisher":"string","Measure.purpose":"markdown","Measure.rateAggregation":"string","Measure.rationale":"markdown","Measure.relatedArtifact":"RelatedArtifact","Measure.reviewer":"ContactDetail","Measure.riskAdjustment":"string","Measure.scoring":"CodeableConcept","Measure.status":"code","Measure.subjectCodeableConcept":"CodeableConcept","Measure.subjectReference":"Reference","Measure.subtitle":"string","Measure.supplementalData.code":"CodeableConcept","Measure.supplementalData.criteria":"Expression","Measure.supplementalData.description":"string","Measure.supplementalData.extension":"Extension","Measure.supplementalData.id":"System.String","Measure.supplementalData.modifierExtension":"Extension","Measure.supplementalData.usage":"CodeableConcept","Measure.text":"Narrative","Measure.title":"string","Measure.topic":"CodeableConcept","Measure.type":"CodeableConcept","Measure.url":"uri","Measure.usage":"string","Measure.useContext":"UsageContext","Measure.version":"string","MeasureReport.contained":"Resource","MeasureReport.date":"dateTime","MeasureReport.evaluatedResource":"Reference","MeasureReport.extension":"Extension","MeasureReport.group.code":"CodeableConcept","MeasureReport.group.extension":"Extension","MeasureReport.group.id":"System.String","MeasureReport.group.measureScore":"Quantity","MeasureReport.group.modifierExtension":"Extension","MeasureReport.group.population.code":"CodeableConcept","MeasureReport.group.population.count":"integer","MeasureReport.group.population.extension":"Extension","MeasureReport.group.population.id":"System.String","MeasureReport.group.population.modifierExtension":"Extension","MeasureReport.group.population.subjectResults":"Reference","MeasureReport.group.stratifier.code":"CodeableConcept","MeasureReport.group.stratifier.extension":"Extension","MeasureReport.group.stratifier.id":"System.String","MeasureReport.group.stratifier.modifierExtension":"Extension","MeasureReport.group.stratifier.stratum.component.code":"CodeableConcept","MeasureReport.group.stratifier.stratum.component.extension":"Extension","MeasureReport.group.stratifier.stratum.component.id":"System.String","MeasureReport.group.stratifier.stratum.component.modifierExtension":"Extension","MeasureReport.group.stratifier.stratum.component.value":"CodeableConcept","MeasureReport.group.stratifier.stratum.extension":"Extension","MeasureReport.group.stratifier.stratum.id":"System.String","MeasureReport.group.stratifier.stratum.measureScore":"Quantity","MeasureReport.group.stratifier.stratum.modifierExtension":"Extension","MeasureReport.group.stratifier.stratum.population.code":"CodeableConcept","MeasureReport.group.stratifier.stratum.population.count":"integer","MeasureReport.group.stratifier.stratum.population.extension":"Extension","MeasureReport.group.stratifier.stratum.population.id":"System.String","MeasureReport.group.stratifier.stratum.population.modifierExtension":"Extension","MeasureReport.group.stratifier.stratum.population.subjectResults":"Reference","MeasureReport.group.stratifier.stratum.value":"CodeableConcept","MeasureReport.id":"System.String","MeasureReport.identifier":"Identifier","MeasureReport.implicitRules":"uri","MeasureReport.improvementNotation":"CodeableConcept","MeasureReport.language":"code","MeasureReport.measure":"canonical","MeasureReport.meta":"Meta","MeasureReport.modifierExtension":"Extension","MeasureReport.period":"Period","MeasureReport.reporter":"Reference","MeasureReport.status":"code","MeasureReport.subject":"Reference","MeasureReport.text":"Narrative","MeasureReport.type":"code","Media.basedOn":"Reference","Media.bodySite":"CodeableConcept","Media.contained":"Resource","Media.content":"Attachment","Media.createdDateTime":"dateTime","Media.createdPeriod":"Period","Media.device":"Reference","Media.deviceName":"string","Media.duration":"decimal","Media.encounter":"Reference","Media.extension":"Extension","Media.frames":"positiveInt","Media.height":"positiveInt","Media.id":"System.String","Media.identifier":"Identifier","Media.implicitRules":"uri","Media.issued":"instant","Media.language":"code","Media.meta":"Meta","Media.modality":"CodeableConcept","Media.modifierExtension":"Extension","Media.note":"Annotation","Media.operator":"Reference","Media.partOf":"Reference","Media.reasonCode":"CodeableConcept","Media.status":"code","Media.subject":"Reference","Media.text":"Narrative","Media.type":"CodeableConcept","Media.view":"CodeableConcept","Media.width":"positiveInt","Medication.amount":"Ratio","Medication.batch.expirationDate":"dateTime","Medication.batch.extension":"Extension","Medication.batch.id":"System.String","Medication.batch.lotNumber":"string","Medication.batch.modifierExtension":"Extension","Medication.code":"CodeableConcept","Medication.contained":"Resource","Medication.extension":"Extension","Medication.form":"CodeableConcept","Medication.id":"System.String","Medication.identifier":"Identifier","Medication.implicitRules":"uri","Medication.ingredient.extension":"Extension","Medication.ingredient.id":"System.String","Medication.ingredient.isActive":"boolean","Medication.ingredient.itemCodeableConcept":"CodeableConcept","Medication.ingredient.itemReference":"Reference","Medication.ingredient.modifierExtension":"Extension","Medication.ingredient.strength":"Ratio","Medication.language":"code","Medication.manufacturer":"Reference","Medication.meta":"Meta","Medication.modifierExtension":"Extension","Medication.status":"code","Medication.text":"Narrative","MedicationAdministration.category":"CodeableConcept","MedicationAdministration.contained":"Resource","MedicationAdministration.context":"Reference","MedicationAdministration.device":"Reference","MedicationAdministration.dosage.dose":"Quantity","MedicationAdministration.dosage.extension":"Extension","MedicationAdministration.dosage.id":"System.String","MedicationAdministration.dosage.method":"CodeableConcept","MedicationAdministration.dosage.modifierExtension":"Extension","MedicationAdministration.dosage.rateQuantity":"Quantity","MedicationAdministration.dosage.rateRatio":"Ratio","MedicationAdministration.dosage.route":"CodeableConcept","MedicationAdministration.dosage.site":"CodeableConcept","MedicationAdministration.dosage.text":"string","MedicationAdministration.effectiveDateTime":"dateTime","MedicationAdministration.effectivePeriod":"Period","MedicationAdministration.eventHistory":"Reference","MedicationAdministration.extension":"Extension","MedicationAdministration.id":"System.String","MedicationAdministration.identifier":"Identifier","MedicationAdministration.implicitRules":"uri","MedicationAdministration.instantiates":"uri","MedicationAdministration.language":"code","MedicationAdministration.medicationCodeableConcept":"CodeableConcept","MedicationAdministration.medicationReference":"Reference","MedicationAdministration.meta":"Meta","MedicationAdministration.modifierExtension":"Extension","MedicationAdministration.note":"Annotation","MedicationAdministration.partOf":"Reference","MedicationAdministration.performer.actor":"Reference","MedicationAdministration.performer.extension":"Extension","MedicationAdministration.performer.function":"CodeableConcept","MedicationAdministration.performer.id":"System.String","MedicationAdministration.performer.modifierExtension":"Extension","MedicationAdministration.reasonCode":"CodeableConcept","MedicationAdministration.reasonReference":"Reference","MedicationAdministration.request":"Reference","MedicationAdministration.status":"code","MedicationAdministration.statusReason":"CodeableConcept","MedicationAdministration.subject":"Reference","MedicationAdministration.supportingInformation":"Reference","MedicationAdministration.text":"Narrative","MedicationDispense.authorizingPrescription":"Reference","MedicationDispense.category":"CodeableConcept","MedicationDispense.contained":"Resource","MedicationDispense.context":"Reference","MedicationDispense.daysSupply":"Quantity","MedicationDispense.destination":"Reference","MedicationDispense.detectedIssue":"Reference","MedicationDispense.dosageInstruction":"Dosage","MedicationDispense.eventHistory":"Reference","MedicationDispense.extension":"Extension","MedicationDispense.id":"System.String","MedicationDispense.identifier":"Identifier","MedicationDispense.implicitRules":"uri","MedicationDispense.language":"code","MedicationDispense.location":"Reference","MedicationDispense.medicationCodeableConcept":"CodeableConcept","MedicationDispense.medicationReference":"Reference","MedicationDispense.meta":"Meta","MedicationDispense.modifierExtension":"Extension","MedicationDispense.note":"Annotation","MedicationDispense.partOf":"Reference","MedicationDispense.performer.actor":"Reference","MedicationDispense.performer.extension":"Extension","MedicationDispense.performer.function":"CodeableConcept","MedicationDispense.performer.id":"System.String","MedicationDispense.performer.modifierExtension":"Extension","MedicationDispense.quantity":"Quantity","MedicationDispense.receiver":"Reference","MedicationDispense.status":"code","MedicationDispense.statusReasonCodeableConcept":"CodeableConcept","MedicationDispense.statusReasonReference":"Reference","MedicationDispense.subject":"Reference","MedicationDispense.substitution.extension":"Extension","MedicationDispense.substitution.id":"System.String","MedicationDispense.substitution.modifierExtension":"Extension","MedicationDispense.substitution.reason":"CodeableConcept","MedicationDispense.substitution.responsibleParty":"Reference","MedicationDispense.substitution.type":"CodeableConcept","MedicationDispense.substitution.wasSubstituted":"boolean","MedicationDispense.supportingInformation":"Reference","MedicationDispense.text":"Narrative","MedicationDispense.type":"CodeableConcept","MedicationDispense.whenHandedOver":"dateTime","MedicationDispense.whenPrepared":"dateTime","MedicationKnowledge.administrationGuidelines.dosage.dosage":"Dosage","MedicationKnowledge.administrationGuidelines.dosage.extension":"Extension","MedicationKnowledge.administrationGuidelines.dosage.id":"System.String","MedicationKnowledge.administrationGuidelines.dosage.modifierExtension":"Extension","MedicationKnowledge.administrationGuidelines.dosage.type":"CodeableConcept","MedicationKnowledge.administrationGuidelines.extension":"Extension","MedicationKnowledge.administrationGuidelines.id":"System.String","MedicationKnowledge.administrationGuidelines.indicationCodeableConcept":"CodeableConcept","MedicationKnowledge.administrationGuidelines.indicationReference":"Reference","MedicationKnowledge.administrationGuidelines.modifierExtension":"Extension","MedicationKnowledge.administrationGuidelines.patientCharacteristics.characteristicCodeableConcept":"CodeableConcept","MedicationKnowledge.administrationGuidelines.patientCharacteristics.characteristicQuantity":"Quantity","MedicationKnowledge.administrationGuidelines.patientCharacteristics.extension":"Extension","MedicationKnowledge.administrationGuidelines.patientCharacteristics.id":"System.String","MedicationKnowledge.administrationGuidelines.patientCharacteristics.modifierExtension":"Extension","MedicationKnowledge.administrationGuidelines.patientCharacteristics.value":"string","MedicationKnowledge.amount":"Quantity","MedicationKnowledge.associatedMedication":"Reference","MedicationKnowledge.code":"CodeableConcept","MedicationKnowledge.contained":"Resource","MedicationKnowledge.contraindication":"Reference","MedicationKnowledge.cost.cost":"Money","MedicationKnowledge.cost.extension":"Extension","MedicationKnowledge.cost.id":"System.String","MedicationKnowledge.cost.modifierExtension":"Extension","MedicationKnowledge.cost.source":"string","MedicationKnowledge.cost.type":"CodeableConcept","MedicationKnowledge.doseForm":"CodeableConcept","MedicationKnowledge.drugCharacteristic.extension":"Extension","MedicationKnowledge.drugCharacteristic.id":"System.String","MedicationKnowledge.drugCharacteristic.modifierExtension":"Extension","MedicationKnowledge.drugCharacteristic.type":"CodeableConcept","MedicationKnowledge.drugCharacteristic.valueBase64Binary":"base64Binary","MedicationKnowledge.drugCharacteristic.valueCodeableConcept":"CodeableConcept","MedicationKnowledge.drugCharacteristic.valueQuantity":"Quantity","MedicationKnowledge.drugCharacteristic.valueString":"string","MedicationKnowledge.extension":"Extension","MedicationKnowledge.id":"System.String","MedicationKnowledge.implicitRules":"uri","MedicationKnowledge.ingredient.extension":"Extension","MedicationKnowledge.ingredient.id":"System.String","MedicationKnowledge.ingredient.isActive":"boolean","MedicationKnowledge.ingredient.itemCodeableConcept":"CodeableConcept","MedicationKnowledge.ingredient.itemReference":"Reference","MedicationKnowledge.ingredient.modifierExtension":"Extension","MedicationKnowledge.ingredient.strength":"Ratio","MedicationKnowledge.intendedRoute":"CodeableConcept","MedicationKnowledge.kinetics.areaUnderCurve":"Quantity","MedicationKnowledge.kinetics.extension":"Extension","MedicationKnowledge.kinetics.halfLifePeriod":"Duration","MedicationKnowledge.kinetics.id":"System.String","MedicationKnowledge.kinetics.lethalDose50":"Quantity","MedicationKnowledge.kinetics.modifierExtension":"Extension","MedicationKnowledge.language":"code","MedicationKnowledge.manufacturer":"Reference","MedicationKnowledge.medicineClassification.classification":"CodeableConcept","MedicationKnowledge.medicineClassification.extension":"Extension","MedicationKnowledge.medicineClassification.id":"System.String","MedicationKnowledge.medicineClassification.modifierExtension":"Extension","MedicationKnowledge.medicineClassification.type":"CodeableConcept","MedicationKnowledge.meta":"Meta","MedicationKnowledge.modifierExtension":"Extension","MedicationKnowledge.monitoringProgram.extension":"Extension","MedicationKnowledge.monitoringProgram.id":"System.String","MedicationKnowledge.monitoringProgram.modifierExtension":"Extension","MedicationKnowledge.monitoringProgram.name":"string","MedicationKnowledge.monitoringProgram.type":"CodeableConcept","MedicationKnowledge.monograph.extension":"Extension","MedicationKnowledge.monograph.id":"System.String","MedicationKnowledge.monograph.modifierExtension":"Extension","MedicationKnowledge.monograph.source":"Reference","MedicationKnowledge.monograph.type":"CodeableConcept","MedicationKnowledge.packaging.extension":"Extension","MedicationKnowledge.packaging.id":"System.String","MedicationKnowledge.packaging.modifierExtension":"Extension","MedicationKnowledge.packaging.quantity":"Quantity","MedicationKnowledge.packaging.type":"CodeableConcept","MedicationKnowledge.preparationInstruction":"markdown","MedicationKnowledge.productType":"CodeableConcept","MedicationKnowledge.regulatory.extension":"Extension","MedicationKnowledge.regulatory.id":"System.String","MedicationKnowledge.regulatory.maxDispense.extension":"Extension","MedicationKnowledge.regulatory.maxDispense.id":"System.String","MedicationKnowledge.regulatory.maxDispense.modifierExtension":"Extension","MedicationKnowledge.regulatory.maxDispense.period":"Duration","MedicationKnowledge.regulatory.maxDispense.quantity":"Quantity","MedicationKnowledge.regulatory.modifierExtension":"Extension","MedicationKnowledge.regulatory.regulatoryAuthority":"Reference","MedicationKnowledge.regulatory.schedule.extension":"Extension","MedicationKnowledge.regulatory.schedule.id":"System.String","MedicationKnowledge.regulatory.schedule.modifierExtension":"Extension","MedicationKnowledge.regulatory.schedule.schedule":"CodeableConcept","MedicationKnowledge.regulatory.substitution.allowed":"boolean","MedicationKnowledge.regulatory.substitution.extension":"Extension","MedicationKnowledge.regulatory.substitution.id":"System.String","MedicationKnowledge.regulatory.substitution.modifierExtension":"Extension","MedicationKnowledge.regulatory.substitution.type":"CodeableConcept","MedicationKnowledge.relatedMedicationKnowledge.extension":"Extension","MedicationKnowledge.relatedMedicationKnowledge.id":"System.String","MedicationKnowledge.relatedMedicationKnowledge.modifierExtension":"Extension","MedicationKnowledge.relatedMedicationKnowledge.reference":"Reference","MedicationKnowledge.relatedMedicationKnowledge.type":"CodeableConcept","MedicationKnowledge.status":"code","MedicationKnowledge.synonym":"string","MedicationKnowledge.text":"Narrative","MedicationRequest.authoredOn":"dateTime","MedicationRequest.basedOn":"Reference","MedicationRequest.category":"CodeableConcept","MedicationRequest.contained":"Resource","MedicationRequest.courseOfTherapyType":"CodeableConcept","MedicationRequest.detectedIssue":"Reference","MedicationRequest.dispenseRequest.dispenseInterval":"Duration","MedicationRequest.dispenseRequest.expectedSupplyDuration":"Duration","MedicationRequest.dispenseRequest.extension":"Extension","MedicationRequest.dispenseRequest.id":"System.String","MedicationRequest.dispenseRequest.initialFill.duration":"Duration","MedicationRequest.dispenseRequest.initialFill.extension":"Extension","MedicationRequest.dispenseRequest.initialFill.id":"System.String","MedicationRequest.dispenseRequest.initialFill.modifierExtension":"Extension","MedicationRequest.dispenseRequest.initialFill.quantity":"Quantity","MedicationRequest.dispenseRequest.modifierExtension":"Extension","MedicationRequest.dispenseRequest.numberOfRepeatsAllowed":"unsignedInt","MedicationRequest.dispenseRequest.performer":"Reference","MedicationRequest.dispenseRequest.quantity":"Quantity","MedicationRequest.dispenseRequest.validityPeriod":"Period","MedicationRequest.doNotPerform":"boolean","MedicationRequest.dosageInstruction":"Dosage","MedicationRequest.encounter":"Reference","MedicationRequest.eventHistory":"Reference","MedicationRequest.extension":"Extension","MedicationRequest.groupIdentifier":"Identifier","MedicationRequest.id":"System.String","MedicationRequest.identifier":"Identifier","MedicationRequest.implicitRules":"uri","MedicationRequest.instantiatesCanonical":"canonical","MedicationRequest.instantiatesUri":"uri","MedicationRequest.insurance":"Reference","MedicationRequest.intent":"code","MedicationRequest.language":"code","MedicationRequest.medicationCodeableConcept":"CodeableConcept","MedicationRequest.medicationReference":"Reference","MedicationRequest.meta":"Meta","MedicationRequest.modifierExtension":"Extension","MedicationRequest.note":"Annotation","MedicationRequest.performer":"Reference","MedicationRequest.performerType":"CodeableConcept","MedicationRequest.priorPrescription":"Reference","MedicationRequest.priority":"code","MedicationRequest.reasonCode":"CodeableConcept","MedicationRequest.reasonReference":"Reference","MedicationRequest.recorder":"Reference","MedicationRequest.reportedBoolean":"boolean","MedicationRequest.reportedReference":"Reference","MedicationRequest.requester":"Reference","MedicationRequest.status":"code","MedicationRequest.statusReason":"CodeableConcept","MedicationRequest.subject":"Reference","MedicationRequest.substitution.allowedBoolean":"boolean","MedicationRequest.substitution.allowedCodeableConcept":"CodeableConcept","MedicationRequest.substitution.extension":"Extension","MedicationRequest.substitution.id":"System.String","MedicationRequest.substitution.modifierExtension":"Extension","MedicationRequest.substitution.reason":"CodeableConcept","MedicationRequest.supportingInformation":"Reference","MedicationRequest.text":"Narrative","MedicationStatement.basedOn":"Reference","MedicationStatement.category":"CodeableConcept","MedicationStatement.contained":"Resource","MedicationStatement.context":"Reference","MedicationStatement.dateAsserted":"dateTime","MedicationStatement.derivedFrom":"Reference","MedicationStatement.dosage":"Dosage","MedicationStatement.effectiveDateTime":"dateTime","MedicationStatement.effectivePeriod":"Period","MedicationStatement.extension":"Extension","MedicationStatement.id":"System.String","MedicationStatement.identifier":"Identifier","MedicationStatement.implicitRules":"uri","MedicationStatement.informationSource":"Reference","MedicationStatement.language":"code","MedicationStatement.medicationCodeableConcept":"CodeableConcept","MedicationStatement.medicationReference":"Reference","MedicationStatement.meta":"Meta","MedicationStatement.modifierExtension":"Extension","MedicationStatement.note":"Annotation","MedicationStatement.partOf":"Reference","MedicationStatement.reasonCode":"CodeableConcept","MedicationStatement.reasonReference":"Reference","MedicationStatement.status":"code","MedicationStatement.statusReason":"CodeableConcept","MedicationStatement.subject":"Reference","MedicationStatement.text":"Narrative","MedicinalProduct.additionalMonitoringIndicator":"CodeableConcept","MedicinalProduct.attachedDocument":"Reference","MedicinalProduct.clinicalTrial":"Reference","MedicinalProduct.combinedPharmaceuticalDoseForm":"CodeableConcept","MedicinalProduct.contact":"Reference","MedicinalProduct.contained":"Resource","MedicinalProduct.crossReference":"Identifier","MedicinalProduct.domain":"Coding","MedicinalProduct.extension":"Extension","MedicinalProduct.id":"System.String","MedicinalProduct.identifier":"Identifier","MedicinalProduct.implicitRules":"uri","MedicinalProduct.language":"code","MedicinalProduct.legalStatusOfSupply":"CodeableConcept","MedicinalProduct.manufacturingBusinessOperation.authorisationReferenceNumber":"Identifier","MedicinalProduct.manufacturingBusinessOperation.confidentialityIndicator":"CodeableConcept","MedicinalProduct.manufacturingBusinessOperation.effectiveDate":"dateTime","MedicinalProduct.manufacturingBusinessOperation.extension":"Extension","MedicinalProduct.manufacturingBusinessOperation.id":"System.String","MedicinalProduct.manufacturingBusinessOperation.manufacturer":"Reference","MedicinalProduct.manufacturingBusinessOperation.modifierExtension":"Extension","MedicinalProduct.manufacturingBusinessOperation.operationType":"CodeableConcept","MedicinalProduct.manufacturingBusinessOperation.regulator":"Reference","MedicinalProduct.marketingStatus":"MarketingStatus","MedicinalProduct.masterFile":"Reference","MedicinalProduct.meta":"Meta","MedicinalProduct.modifierExtension":"Extension","MedicinalProduct.name.countryLanguage.country":"CodeableConcept","MedicinalProduct.name.countryLanguage.extension":"Extension","MedicinalProduct.name.countryLanguage.id":"System.String","MedicinalProduct.name.countryLanguage.jurisdiction":"CodeableConcept","MedicinalProduct.name.countryLanguage.language":"CodeableConcept","MedicinalProduct.name.countryLanguage.modifierExtension":"Extension","MedicinalProduct.name.extension":"Extension","MedicinalProduct.name.id":"System.String","MedicinalProduct.name.modifierExtension":"Extension","MedicinalProduct.name.namePart.extension":"Extension","MedicinalProduct.name.namePart.id":"System.String","MedicinalProduct.name.namePart.modifierExtension":"Extension","MedicinalProduct.name.namePart.part":"string","MedicinalProduct.name.namePart.type":"Coding","MedicinalProduct.name.productName":"string","MedicinalProduct.packagedMedicinalProduct":"Reference","MedicinalProduct.paediatricUseIndicator":"CodeableConcept","MedicinalProduct.pharmaceuticalProduct":"Reference","MedicinalProduct.productClassification":"CodeableConcept","MedicinalProduct.specialDesignation.date":"dateTime","MedicinalProduct.specialDesignation.extension":"Extension","MedicinalProduct.specialDesignation.id":"System.String","MedicinalProduct.specialDesignation.identifier":"Identifier","MedicinalProduct.specialDesignation.indicationCodeableConcept":"CodeableConcept","MedicinalProduct.specialDesignation.indicationReference":"Reference","MedicinalProduct.specialDesignation.intendedUse":"CodeableConcept","MedicinalProduct.specialDesignation.modifierExtension":"Extension","MedicinalProduct.specialDesignation.species":"CodeableConcept","MedicinalProduct.specialDesignation.status":"CodeableConcept","MedicinalProduct.specialDesignation.type":"CodeableConcept","MedicinalProduct.specialMeasures":"string","MedicinalProduct.text":"Narrative","MedicinalProduct.type":"CodeableConcept","MedicinalProductAuthorization.contained":"Resource","MedicinalProductAuthorization.country":"CodeableConcept","MedicinalProductAuthorization.dataExclusivityPeriod":"Period","MedicinalProductAuthorization.dateOfFirstAuthorization":"dateTime","MedicinalProductAuthorization.extension":"Extension","MedicinalProductAuthorization.holder":"Reference","MedicinalProductAuthorization.id":"System.String","MedicinalProductAuthorization.identifier":"Identifier","MedicinalProductAuthorization.implicitRules":"uri","MedicinalProductAuthorization.internationalBirthDate":"dateTime","MedicinalProductAuthorization.jurisdiction":"CodeableConcept","MedicinalProductAuthorization.jurisdictionalAuthorization.country":"CodeableConcept","MedicinalProductAuthorization.jurisdictionalAuthorization.extension":"Extension","MedicinalProductAuthorization.jurisdictionalAuthorization.id":"System.String","MedicinalProductAuthorization.jurisdictionalAuthorization.identifier":"Identifier","MedicinalProductAuthorization.jurisdictionalAuthorization.jurisdiction":"CodeableConcept","MedicinalProductAuthorization.jurisdictionalAuthorization.legalStatusOfSupply":"CodeableConcept","MedicinalProductAuthorization.jurisdictionalAuthorization.modifierExtension":"Extension","MedicinalProductAuthorization.jurisdictionalAuthorization.validityPeriod":"Period","MedicinalProductAuthorization.language":"code","MedicinalProductAuthorization.legalBasis":"CodeableConcept","MedicinalProductAuthorization.meta":"Meta","MedicinalProductAuthorization.modifierExtension":"Extension","MedicinalProductAuthorization.procedure.dateDateTime":"dateTime","MedicinalProductAuthorization.procedure.datePeriod":"Period","MedicinalProductAuthorization.procedure.extension":"Extension","MedicinalProductAuthorization.procedure.id":"System.String","MedicinalProductAuthorization.procedure.identifier":"Identifier","MedicinalProductAuthorization.procedure.modifierExtension":"Extension","MedicinalProductAuthorization.procedure.type":"CodeableConcept","MedicinalProductAuthorization.regulator":"Reference","MedicinalProductAuthorization.restoreDate":"dateTime","MedicinalProductAuthorization.status":"CodeableConcept","MedicinalProductAuthorization.statusDate":"dateTime","MedicinalProductAuthorization.subject":"Reference","MedicinalProductAuthorization.text":"Narrative","MedicinalProductAuthorization.validityPeriod":"Period","MedicinalProductContraindication.comorbidity":"CodeableConcept","MedicinalProductContraindication.contained":"Resource","MedicinalProductContraindication.disease":"CodeableConcept","MedicinalProductContraindication.diseaseStatus":"CodeableConcept","MedicinalProductContraindication.extension":"Extension","MedicinalProductContraindication.id":"System.String","MedicinalProductContraindication.implicitRules":"uri","MedicinalProductContraindication.language":"code","MedicinalProductContraindication.meta":"Meta","MedicinalProductContraindication.modifierExtension":"Extension","MedicinalProductContraindication.otherTherapy.extension":"Extension","MedicinalProductContraindication.otherTherapy.id":"System.String","MedicinalProductContraindication.otherTherapy.medicationCodeableConcept":"CodeableConcept","MedicinalProductContraindication.otherTherapy.medicationReference":"Reference","MedicinalProductContraindication.otherTherapy.modifierExtension":"Extension","MedicinalProductContraindication.otherTherapy.therapyRelationshipType":"CodeableConcept","MedicinalProductContraindication.population":"Population","MedicinalProductContraindication.subject":"Reference","MedicinalProductContraindication.text":"Narrative","MedicinalProductContraindication.therapeuticIndication":"Reference","MedicinalProductIndication.comorbidity":"CodeableConcept","MedicinalProductIndication.contained":"Resource","MedicinalProductIndication.diseaseStatus":"CodeableConcept","MedicinalProductIndication.diseaseSymptomProcedure":"CodeableConcept","MedicinalProductIndication.duration":"Quantity","MedicinalProductIndication.extension":"Extension","MedicinalProductIndication.id":"System.String","MedicinalProductIndication.implicitRules":"uri","MedicinalProductIndication.intendedEffect":"CodeableConcept","MedicinalProductIndication.language":"code","MedicinalProductIndication.meta":"Meta","MedicinalProductIndication.modifierExtension":"Extension","MedicinalProductIndication.otherTherapy.extension":"Extension","MedicinalProductIndication.otherTherapy.id":"System.String","MedicinalProductIndication.otherTherapy.medicationCodeableConcept":"CodeableConcept","MedicinalProductIndication.otherTherapy.medicationReference":"Reference","MedicinalProductIndication.otherTherapy.modifierExtension":"Extension","MedicinalProductIndication.otherTherapy.therapyRelationshipType":"CodeableConcept","MedicinalProductIndication.population":"Population","MedicinalProductIndication.subject":"Reference","MedicinalProductIndication.text":"Narrative","MedicinalProductIndication.undesirableEffect":"Reference","MedicinalProductIngredient.allergenicIndicator":"boolean","MedicinalProductIngredient.contained":"Resource","MedicinalProductIngredient.extension":"Extension","MedicinalProductIngredient.id":"System.String","MedicinalProductIngredient.identifier":"Identifier","MedicinalProductIngredient.implicitRules":"uri","MedicinalProductIngredient.language":"code","MedicinalProductIngredient.manufacturer":"Reference","MedicinalProductIngredient.meta":"Meta","MedicinalProductIngredient.modifierExtension":"Extension","MedicinalProductIngredient.role":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.code":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.confidentiality":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.extension":"Extension","MedicinalProductIngredient.specifiedSubstance.group":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.id":"System.String","MedicinalProductIngredient.specifiedSubstance.modifierExtension":"Extension","MedicinalProductIngredient.specifiedSubstance.strength.concentration":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.concentrationLowLimit":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.country":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.strength.extension":"Extension","MedicinalProductIngredient.specifiedSubstance.strength.id":"System.String","MedicinalProductIngredient.specifiedSubstance.strength.measurementPoint":"string","MedicinalProductIngredient.specifiedSubstance.strength.modifierExtension":"Extension","MedicinalProductIngredient.specifiedSubstance.strength.presentation":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.presentationLowLimit":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.country":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.extension":"Extension","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.id":"System.String","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.measurementPoint":"string","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.modifierExtension":"Extension","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.strength":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.strengthLowLimit":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.substance":"CodeableConcept","MedicinalProductIngredient.substance.code":"CodeableConcept","MedicinalProductIngredient.substance.extension":"Extension","MedicinalProductIngredient.substance.id":"System.String","MedicinalProductIngredient.substance.modifierExtension":"Extension","MedicinalProductIngredient.text":"Narrative","MedicinalProductInteraction.contained":"Resource","MedicinalProductInteraction.description":"string","MedicinalProductInteraction.effect":"CodeableConcept","MedicinalProductInteraction.extension":"Extension","MedicinalProductInteraction.id":"System.String","MedicinalProductInteraction.implicitRules":"uri","MedicinalProductInteraction.incidence":"CodeableConcept","MedicinalProductInteraction.interactant.extension":"Extension","MedicinalProductInteraction.interactant.id":"System.String","MedicinalProductInteraction.interactant.itemCodeableConcept":"CodeableConcept","MedicinalProductInteraction.interactant.itemReference":"Reference","MedicinalProductInteraction.interactant.modifierExtension":"Extension","MedicinalProductInteraction.language":"code","MedicinalProductInteraction.management":"CodeableConcept","MedicinalProductInteraction.meta":"Meta","MedicinalProductInteraction.modifierExtension":"Extension","MedicinalProductInteraction.subject":"Reference","MedicinalProductInteraction.text":"Narrative","MedicinalProductInteraction.type":"CodeableConcept","MedicinalProductManufactured.contained":"Resource","MedicinalProductManufactured.extension":"Extension","MedicinalProductManufactured.id":"System.String","MedicinalProductManufactured.implicitRules":"uri","MedicinalProductManufactured.ingredient":"Reference","MedicinalProductManufactured.language":"code","MedicinalProductManufactured.manufacturedDoseForm":"CodeableConcept","MedicinalProductManufactured.manufacturer":"Reference","MedicinalProductManufactured.meta":"Meta","MedicinalProductManufactured.modifierExtension":"Extension","MedicinalProductManufactured.otherCharacteristics":"CodeableConcept","MedicinalProductManufactured.physicalCharacteristics":"ProdCharacteristic","MedicinalProductManufactured.quantity":"Quantity","MedicinalProductManufactured.text":"Narrative","MedicinalProductManufactured.unitOfPresentation":"CodeableConcept","MedicinalProductPackaged.batchIdentifier.extension":"Extension","MedicinalProductPackaged.batchIdentifier.id":"System.String","MedicinalProductPackaged.batchIdentifier.immediatePackaging":"Identifier","MedicinalProductPackaged.batchIdentifier.modifierExtension":"Extension","MedicinalProductPackaged.batchIdentifier.outerPackaging":"Identifier","MedicinalProductPackaged.contained":"Resource","MedicinalProductPackaged.description":"string","MedicinalProductPackaged.extension":"Extension","MedicinalProductPackaged.id":"System.String","MedicinalProductPackaged.identifier":"Identifier","MedicinalProductPackaged.implicitRules":"uri","MedicinalProductPackaged.language":"code","MedicinalProductPackaged.legalStatusOfSupply":"CodeableConcept","MedicinalProductPackaged.manufacturer":"Reference","MedicinalProductPackaged.marketingAuthorization":"Reference","MedicinalProductPackaged.marketingStatus":"MarketingStatus","MedicinalProductPackaged.meta":"Meta","MedicinalProductPackaged.modifierExtension":"Extension","MedicinalProductPackaged.packageItem.alternateMaterial":"CodeableConcept","MedicinalProductPackaged.packageItem.device":"Reference","MedicinalProductPackaged.packageItem.extension":"Extension","MedicinalProductPackaged.packageItem.id":"System.String","MedicinalProductPackaged.packageItem.identifier":"Identifier","MedicinalProductPackaged.packageItem.manufacturedItem":"Reference","MedicinalProductPackaged.packageItem.manufacturer":"Reference","MedicinalProductPackaged.packageItem.material":"CodeableConcept","MedicinalProductPackaged.packageItem.modifierExtension":"Extension","MedicinalProductPackaged.packageItem.otherCharacteristics":"CodeableConcept","MedicinalProductPackaged.packageItem.physicalCharacteristics":"ProdCharacteristic","MedicinalProductPackaged.packageItem.quantity":"Quantity","MedicinalProductPackaged.packageItem.shelfLifeStorage":"ProductShelfLife","MedicinalProductPackaged.packageItem.type":"CodeableConcept","MedicinalProductPackaged.subject":"Reference","MedicinalProductPackaged.text":"Narrative","MedicinalProductPharmaceutical.administrableDoseForm":"CodeableConcept","MedicinalProductPharmaceutical.characteristics.code":"CodeableConcept","MedicinalProductPharmaceutical.characteristics.extension":"Extension","MedicinalProductPharmaceutical.characteristics.id":"System.String","MedicinalProductPharmaceutical.characteristics.modifierExtension":"Extension","MedicinalProductPharmaceutical.characteristics.status":"CodeableConcept","MedicinalProductPharmaceutical.contained":"Resource","MedicinalProductPharmaceutical.device":"Reference","MedicinalProductPharmaceutical.extension":"Extension","MedicinalProductPharmaceutical.id":"System.String","MedicinalProductPharmaceutical.identifier":"Identifier","MedicinalProductPharmaceutical.implicitRules":"uri","MedicinalProductPharmaceutical.ingredient":"Reference","MedicinalProductPharmaceutical.language":"code","MedicinalProductPharmaceutical.meta":"Meta","MedicinalProductPharmaceutical.modifierExtension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.code":"CodeableConcept","MedicinalProductPharmaceutical.routeOfAdministration.extension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.firstDose":"Quantity","MedicinalProductPharmaceutical.routeOfAdministration.id":"System.String","MedicinalProductPharmaceutical.routeOfAdministration.maxDosePerDay":"Quantity","MedicinalProductPharmaceutical.routeOfAdministration.maxDosePerTreatmentPeriod":"Ratio","MedicinalProductPharmaceutical.routeOfAdministration.maxSingleDose":"Quantity","MedicinalProductPharmaceutical.routeOfAdministration.maxTreatmentPeriod":"Duration","MedicinalProductPharmaceutical.routeOfAdministration.modifierExtension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.code":"CodeableConcept","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.extension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.id":"System.String","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.modifierExtension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.extension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.id":"System.String","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.modifierExtension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.supportingInformation":"string","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.tissue":"CodeableConcept","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.value":"Quantity","MedicinalProductPharmaceutical.text":"Narrative","MedicinalProductPharmaceutical.unitOfPresentation":"CodeableConcept","MedicinalProductUndesirableEffect.classification":"CodeableConcept","MedicinalProductUndesirableEffect.contained":"Resource","MedicinalProductUndesirableEffect.extension":"Extension","MedicinalProductUndesirableEffect.frequencyOfOccurrence":"CodeableConcept","MedicinalProductUndesirableEffect.id":"System.String","MedicinalProductUndesirableEffect.implicitRules":"uri","MedicinalProductUndesirableEffect.language":"code","MedicinalProductUndesirableEffect.meta":"Meta","MedicinalProductUndesirableEffect.modifierExtension":"Extension","MedicinalProductUndesirableEffect.population":"Population","MedicinalProductUndesirableEffect.subject":"Reference","MedicinalProductUndesirableEffect.symptomConditionEffect":"CodeableConcept","MedicinalProductUndesirableEffect.text":"Narrative","MessageDefinition.allowedResponse.extension":"Extension","MessageDefinition.allowedResponse.id":"System.String","MessageDefinition.allowedResponse.message":"canonical","MessageDefinition.allowedResponse.modifierExtension":"Extension","MessageDefinition.allowedResponse.situation":"markdown","MessageDefinition.base":"canonical","MessageDefinition.category":"code","MessageDefinition.contact":"ContactDetail","MessageDefinition.contained":"Resource","MessageDefinition.copyright":"markdown","MessageDefinition.date":"dateTime","MessageDefinition.description":"markdown","MessageDefinition.eventCoding":"Coding","MessageDefinition.eventUri":"uri","MessageDefinition.experimental":"boolean","MessageDefinition.extension":"Extension","MessageDefinition.focus.code":"code","MessageDefinition.focus.extension":"Extension","MessageDefinition.focus.id":"System.String","MessageDefinition.focus.max":"string","MessageDefinition.focus.min":"unsignedInt","MessageDefinition.focus.modifierExtension":"Extension","MessageDefinition.focus.profile":"canonical","MessageDefinition.graph":"canonical","MessageDefinition.id":"System.String","MessageDefinition.identifier":"Identifier","MessageDefinition.implicitRules":"uri","MessageDefinition.jurisdiction":"CodeableConcept","MessageDefinition.language":"code","MessageDefinition.meta":"Meta","MessageDefinition.modifierExtension":"Extension","MessageDefinition.name":"string","MessageDefinition.parent":"canonical","MessageDefinition.publisher":"string","MessageDefinition.purpose":"markdown","MessageDefinition.replaces":"canonical","MessageDefinition.responseRequired":"code","MessageDefinition.status":"code","MessageDefinition.text":"Narrative","MessageDefinition.title":"string","MessageDefinition.url":"uri","MessageDefinition.useContext":"UsageContext","MessageDefinition.version":"string","MessageHeader.author":"Reference","MessageHeader.contained":"Resource","MessageHeader.definition":"canonical","MessageHeader.destination.endpoint":"url","MessageHeader.destination.extension":"Extension","MessageHeader.destination.id":"System.String","MessageHeader.destination.modifierExtension":"Extension","MessageHeader.destination.name":"string","MessageHeader.destination.receiver":"Reference","MessageHeader.destination.target":"Reference","MessageHeader.enterer":"Reference","MessageHeader.eventCoding":"Coding","MessageHeader.eventUri":"uri","MessageHeader.extension":"Extension","MessageHeader.focus":"Reference","MessageHeader.id":"System.String","MessageHeader.implicitRules":"uri","MessageHeader.language":"code","MessageHeader.meta":"Meta","MessageHeader.modifierExtension":"Extension","MessageHeader.reason":"CodeableConcept","MessageHeader.response.code":"code","MessageHeader.response.details":"Reference","MessageHeader.response.extension":"Extension","MessageHeader.response.id":"System.String","MessageHeader.response.identifier":"id","MessageHeader.response.modifierExtension":"Extension","MessageHeader.responsible":"Reference","MessageHeader.sender":"Reference","MessageHeader.source.contact":"ContactPoint","MessageHeader.source.endpoint":"url","MessageHeader.source.extension":"Extension","MessageHeader.source.id":"System.String","MessageHeader.source.modifierExtension":"Extension","MessageHeader.source.name":"string","MessageHeader.source.software":"string","MessageHeader.source.version":"string","MessageHeader.text":"Narrative","Meta.extension":"Extension","Meta.id":"System.String","Meta.lastUpdated":"instant","Meta.profile":"canonical","Meta.security":"Coding","Meta.source":"uri","Meta.tag":"Coding","Meta.versionId":"id","MetadataResource.contact":"ContactDetail","MetadataResource.contained":"Resource","MetadataResource.date":"dateTime","MetadataResource.description":"markdown","MetadataResource.experimental":"boolean","MetadataResource.extension":"Extension","MetadataResource.id":"System.String","MetadataResource.implicitRules":"uri","MetadataResource.jurisdiction":"CodeableConcept","MetadataResource.language":"code","MetadataResource.meta":"Meta","MetadataResource.modifierExtension":"Extension","MetadataResource.name":"string","MetadataResource.publisher":"string","MetadataResource.status":"code","MetadataResource.text":"Narrative","MetadataResource.title":"string","MetadataResource.url":"uri","MetadataResource.useContext":"UsageContext","MetadataResource.version":"string","MolecularSequence.contained":"Resource","MolecularSequence.coordinateSystem":"integer","MolecularSequence.device":"Reference","MolecularSequence.extension":"Extension","MolecularSequence.id":"System.String","MolecularSequence.identifier":"Identifier","MolecularSequence.implicitRules":"uri","MolecularSequence.language":"code","MolecularSequence.meta":"Meta","MolecularSequence.modifierExtension":"Extension","MolecularSequence.observedSeq":"string","MolecularSequence.patient":"Reference","MolecularSequence.performer":"Reference","MolecularSequence.pointer":"Reference","MolecularSequence.quality.end":"integer","MolecularSequence.quality.extension":"Extension","MolecularSequence.quality.fScore":"decimal","MolecularSequence.quality.gtFP":"decimal","MolecularSequence.quality.id":"System.String","MolecularSequence.quality.method":"CodeableConcept","MolecularSequence.quality.modifierExtension":"Extension","MolecularSequence.quality.precision":"decimal","MolecularSequence.quality.queryFP":"decimal","MolecularSequence.quality.queryTP":"decimal","MolecularSequence.quality.recall":"decimal","MolecularSequence.quality.roc.extension":"Extension","MolecularSequence.quality.roc.fMeasure":"decimal","MolecularSequence.quality.roc.id":"System.String","MolecularSequence.quality.roc.modifierExtension":"Extension","MolecularSequence.quality.roc.numFN":"integer","MolecularSequence.quality.roc.numFP":"integer","MolecularSequence.quality.roc.numTP":"integer","MolecularSequence.quality.roc.precision":"decimal","MolecularSequence.quality.roc.score":"integer","MolecularSequence.quality.roc.sensitivity":"decimal","MolecularSequence.quality.score":"Quantity","MolecularSequence.quality.standardSequence":"CodeableConcept","MolecularSequence.quality.start":"integer","MolecularSequence.quality.truthFN":"decimal","MolecularSequence.quality.truthTP":"decimal","MolecularSequence.quality.type":"code","MolecularSequence.quantity":"Quantity","MolecularSequence.readCoverage":"integer","MolecularSequence.referenceSeq.chromosome":"CodeableConcept","MolecularSequence.referenceSeq.extension":"Extension","MolecularSequence.referenceSeq.genomeBuild":"string","MolecularSequence.referenceSeq.id":"System.String","MolecularSequence.referenceSeq.modifierExtension":"Extension","MolecularSequence.referenceSeq.orientation":"code","MolecularSequence.referenceSeq.referenceSeqId":"CodeableConcept","MolecularSequence.referenceSeq.referenceSeqPointer":"Reference","MolecularSequence.referenceSeq.referenceSeqString":"string","MolecularSequence.referenceSeq.strand":"code","MolecularSequence.referenceSeq.windowEnd":"integer","MolecularSequence.referenceSeq.windowStart":"integer","MolecularSequence.repository.datasetId":"string","MolecularSequence.repository.extension":"Extension","MolecularSequence.repository.id":"System.String","MolecularSequence.repository.modifierExtension":"Extension","MolecularSequence.repository.name":"string","MolecularSequence.repository.readsetId":"string","MolecularSequence.repository.type":"code","MolecularSequence.repository.url":"uri","MolecularSequence.repository.variantsetId":"string","MolecularSequence.specimen":"Reference","MolecularSequence.structureVariant.exact":"boolean","MolecularSequence.structureVariant.extension":"Extension","MolecularSequence.structureVariant.id":"System.String","MolecularSequence.structureVariant.inner.end":"integer","MolecularSequence.structureVariant.inner.extension":"Extension","MolecularSequence.structureVariant.inner.id":"System.String","MolecularSequence.structureVariant.inner.modifierExtension":"Extension","MolecularSequence.structureVariant.inner.start":"integer","MolecularSequence.structureVariant.length":"integer","MolecularSequence.structureVariant.modifierExtension":"Extension","MolecularSequence.structureVariant.outer.end":"integer","MolecularSequence.structureVariant.outer.extension":"Extension","MolecularSequence.structureVariant.outer.id":"System.String","MolecularSequence.structureVariant.outer.modifierExtension":"Extension","MolecularSequence.structureVariant.outer.start":"integer","MolecularSequence.structureVariant.variantType":"CodeableConcept","MolecularSequence.text":"Narrative","MolecularSequence.type":"code","MolecularSequence.variant.cigar":"string","MolecularSequence.variant.end":"integer","MolecularSequence.variant.extension":"Extension","MolecularSequence.variant.id":"System.String","MolecularSequence.variant.modifierExtension":"Extension","MolecularSequence.variant.observedAllele":"string","MolecularSequence.variant.referenceAllele":"string","MolecularSequence.variant.start":"integer","MolecularSequence.variant.variantPointer":"Reference","Money.currency":"code","Money.extension":"Extension","Money.id":"System.String","Money.value":"decimal","NamingSystem.contact":"ContactDetail","NamingSystem.contained":"Resource","NamingSystem.date":"dateTime","NamingSystem.description":"markdown","NamingSystem.extension":"Extension","NamingSystem.id":"System.String","NamingSystem.implicitRules":"uri","NamingSystem.jurisdiction":"CodeableConcept","NamingSystem.kind":"code","NamingSystem.language":"code","NamingSystem.meta":"Meta","NamingSystem.modifierExtension":"Extension","NamingSystem.name":"string","NamingSystem.publisher":"string","NamingSystem.responsible":"string","NamingSystem.status":"code","NamingSystem.text":"Narrative","NamingSystem.type":"CodeableConcept","NamingSystem.uniqueId.comment":"string","NamingSystem.uniqueId.extension":"Extension","NamingSystem.uniqueId.id":"System.String","NamingSystem.uniqueId.modifierExtension":"Extension","NamingSystem.uniqueId.period":"Period","NamingSystem.uniqueId.preferred":"boolean","NamingSystem.uniqueId.type":"code","NamingSystem.uniqueId.value":"string","NamingSystem.usage":"string","NamingSystem.useContext":"UsageContext","Narrative.div":"xhtml","Narrative.extension":"Extension","Narrative.id":"System.String","Narrative.status":"code","NutritionOrder.allergyIntolerance":"Reference","NutritionOrder.contained":"Resource","NutritionOrder.dateTime":"dateTime","NutritionOrder.encounter":"Reference","NutritionOrder.enteralFormula.additiveProductName":"string","NutritionOrder.enteralFormula.additiveType":"CodeableConcept","NutritionOrder.enteralFormula.administration.extension":"Extension","NutritionOrder.enteralFormula.administration.id":"System.String","NutritionOrder.enteralFormula.administration.modifierExtension":"Extension","NutritionOrder.enteralFormula.administration.quantity":"Quantity","NutritionOrder.enteralFormula.administration.rateQuantity":"Quantity","NutritionOrder.enteralFormula.administration.rateRatio":"Ratio","NutritionOrder.enteralFormula.administration.schedule":"Timing","NutritionOrder.enteralFormula.administrationInstruction":"string","NutritionOrder.enteralFormula.baseFormulaProductName":"string","NutritionOrder.enteralFormula.baseFormulaType":"CodeableConcept","NutritionOrder.enteralFormula.caloricDensity":"Quantity","NutritionOrder.enteralFormula.extension":"Extension","NutritionOrder.enteralFormula.id":"System.String","NutritionOrder.enteralFormula.maxVolumeToDeliver":"Quantity","NutritionOrder.enteralFormula.modifierExtension":"Extension","NutritionOrder.enteralFormula.routeofAdministration":"CodeableConcept","NutritionOrder.excludeFoodModifier":"CodeableConcept","NutritionOrder.extension":"Extension","NutritionOrder.foodPreferenceModifier":"CodeableConcept","NutritionOrder.id":"System.String","NutritionOrder.identifier":"Identifier","NutritionOrder.implicitRules":"uri","NutritionOrder.instantiates":"uri","NutritionOrder.instantiatesCanonical":"canonical","NutritionOrder.instantiatesUri":"uri","NutritionOrder.intent":"code","NutritionOrder.language":"code","NutritionOrder.meta":"Meta","NutritionOrder.modifierExtension":"Extension","NutritionOrder.note":"Annotation","NutritionOrder.oralDiet.extension":"Extension","NutritionOrder.oralDiet.fluidConsistencyType":"CodeableConcept","NutritionOrder.oralDiet.id":"System.String","NutritionOrder.oralDiet.instruction":"string","NutritionOrder.oralDiet.modifierExtension":"Extension","NutritionOrder.oralDiet.nutrient.amount":"Quantity","NutritionOrder.oralDiet.nutrient.extension":"Extension","NutritionOrder.oralDiet.nutrient.id":"System.String","NutritionOrder.oralDiet.nutrient.modifier":"CodeableConcept","NutritionOrder.oralDiet.nutrient.modifierExtension":"Extension","NutritionOrder.oralDiet.schedule":"Timing","NutritionOrder.oralDiet.texture.extension":"Extension","NutritionOrder.oralDiet.texture.foodType":"CodeableConcept","NutritionOrder.oralDiet.texture.id":"System.String","NutritionOrder.oralDiet.texture.modifier":"CodeableConcept","NutritionOrder.oralDiet.texture.modifierExtension":"Extension","NutritionOrder.oralDiet.type":"CodeableConcept","NutritionOrder.orderer":"Reference","NutritionOrder.patient":"Reference","NutritionOrder.status":"code","NutritionOrder.supplement.extension":"Extension","NutritionOrder.supplement.id":"System.String","NutritionOrder.supplement.instruction":"string","NutritionOrder.supplement.modifierExtension":"Extension","NutritionOrder.supplement.productName":"string","NutritionOrder.supplement.quantity":"Quantity","NutritionOrder.supplement.schedule":"Timing","NutritionOrder.supplement.type":"CodeableConcept","NutritionOrder.text":"Narrative","Observation.basedOn":"Reference","Observation.bodySite":"CodeableConcept","Observation.category":"CodeableConcept","Observation.code":"CodeableConcept","Observation.component.code":"CodeableConcept","Observation.component.dataAbsentReason":"CodeableConcept","Observation.component.extension":"Extension","Observation.component.id":"System.String","Observation.component.interpretation":"CodeableConcept","Observation.component.modifierExtension":"Extension","Observation.component.valueBoolean":"boolean","Observation.component.valueCodeableConcept":"CodeableConcept","Observation.component.valueDateTime":"dateTime","Observation.component.valueInteger":"integer","Observation.component.valuePeriod":"Period","Observation.component.valueQuantity":"Quantity","Observation.component.valueRange":"Range","Observation.component.valueRatio":"Ratio","Observation.component.valueSampledData":"SampledData","Observation.component.valueString":"string","Observation.component.valueTime":"time","Observation.contained":"Resource","Observation.dataAbsentReason":"CodeableConcept","Observation.derivedFrom":"Reference","Observation.device":"Reference","Observation.effectiveDateTime":"dateTime","Observation.effectiveInstant":"instant","Observation.effectivePeriod":"Period","Observation.effectiveTiming":"Timing","Observation.encounter":"Reference","Observation.extension":"Extension","Observation.focus":"Reference","Observation.hasMember":"Reference","Observation.id":"System.String","Observation.identifier":"Identifier","Observation.implicitRules":"uri","Observation.interpretation":"CodeableConcept","Observation.issued":"instant","Observation.language":"code","Observation.meta":"Meta","Observation.method":"CodeableConcept","Observation.modifierExtension":"Extension","Observation.note":"Annotation","Observation.partOf":"Reference","Observation.performer":"Reference","Observation.referenceRange.age":"Range","Observation.referenceRange.appliesTo":"CodeableConcept","Observation.referenceRange.extension":"Extension","Observation.referenceRange.high":"Quantity","Observation.referenceRange.id":"System.String","Observation.referenceRange.low":"Quantity","Observation.referenceRange.modifierExtension":"Extension","Observation.referenceRange.text":"string","Observation.referenceRange.type":"CodeableConcept","Observation.specimen":"Reference","Observation.status":"code","Observation.subject":"Reference","Observation.text":"Narrative","Observation.valueBoolean":"boolean","Observation.valueCodeableConcept":"CodeableConcept","Observation.valueDateTime":"dateTime","Observation.valueInteger":"integer","Observation.valuePeriod":"Period","Observation.valueQuantity":"Quantity","Observation.valueRange":"Range","Observation.valueRatio":"Ratio","Observation.valueSampledData":"SampledData","Observation.valueString":"string","Observation.valueTime":"time","ObservationDefinition.abnormalCodedValueSet":"Reference","ObservationDefinition.category":"CodeableConcept","ObservationDefinition.code":"CodeableConcept","ObservationDefinition.contained":"Resource","ObservationDefinition.criticalCodedValueSet":"Reference","ObservationDefinition.extension":"Extension","ObservationDefinition.id":"System.String","ObservationDefinition.identifier":"Identifier","ObservationDefinition.implicitRules":"uri","ObservationDefinition.language":"code","ObservationDefinition.meta":"Meta","ObservationDefinition.method":"CodeableConcept","ObservationDefinition.modifierExtension":"Extension","ObservationDefinition.multipleResultsAllowed":"boolean","ObservationDefinition.normalCodedValueSet":"Reference","ObservationDefinition.permittedDataType":"code","ObservationDefinition.preferredReportName":"string","ObservationDefinition.qualifiedInterval.age":"Range","ObservationDefinition.qualifiedInterval.appliesTo":"CodeableConcept","ObservationDefinition.qualifiedInterval.category":"code","ObservationDefinition.qualifiedInterval.condition":"string","ObservationDefinition.qualifiedInterval.context":"CodeableConcept","ObservationDefinition.qualifiedInterval.extension":"Extension","ObservationDefinition.qualifiedInterval.gender":"code","ObservationDefinition.qualifiedInterval.gestationalAge":"Range","ObservationDefinition.qualifiedInterval.id":"System.String","ObservationDefinition.qualifiedInterval.modifierExtension":"Extension","ObservationDefinition.qualifiedInterval.range":"Range","ObservationDefinition.quantitativeDetails.conversionFactor":"decimal","ObservationDefinition.quantitativeDetails.customaryUnit":"CodeableConcept","ObservationDefinition.quantitativeDetails.decimalPrecision":"integer","ObservationDefinition.quantitativeDetails.extension":"Extension","ObservationDefinition.quantitativeDetails.id":"System.String","ObservationDefinition.quantitativeDetails.modifierExtension":"Extension","ObservationDefinition.quantitativeDetails.unit":"CodeableConcept","ObservationDefinition.text":"Narrative","ObservationDefinition.validCodedValueSet":"Reference","OperationDefinition.affectsState":"boolean","OperationDefinition.base":"canonical","OperationDefinition.code":"code","OperationDefinition.comment":"markdown","OperationDefinition.contact":"ContactDetail","OperationDefinition.contained":"Resource","OperationDefinition.date":"dateTime","OperationDefinition.description":"markdown","OperationDefinition.experimental":"boolean","OperationDefinition.extension":"Extension","OperationDefinition.id":"System.String","OperationDefinition.implicitRules":"uri","OperationDefinition.inputProfile":"canonical","OperationDefinition.instance":"boolean","OperationDefinition.jurisdiction":"CodeableConcept","OperationDefinition.kind":"code","OperationDefinition.language":"code","OperationDefinition.meta":"Meta","OperationDefinition.modifierExtension":"Extension","OperationDefinition.name":"string","OperationDefinition.outputProfile":"canonical","OperationDefinition.overload.comment":"string","OperationDefinition.overload.extension":"Extension","OperationDefinition.overload.id":"System.String","OperationDefinition.overload.modifierExtension":"Extension","OperationDefinition.overload.parameterName":"string","OperationDefinition.parameter.binding.extension":"Extension","OperationDefinition.parameter.binding.id":"System.String","OperationDefinition.parameter.binding.modifierExtension":"Extension","OperationDefinition.parameter.binding.strength":"code","OperationDefinition.parameter.binding.valueSet":"canonical","OperationDefinition.parameter.documentation":"string","OperationDefinition.parameter.extension":"Extension","OperationDefinition.parameter.id":"System.String","OperationDefinition.parameter.max":"string","OperationDefinition.parameter.min":"integer","OperationDefinition.parameter.modifierExtension":"Extension","OperationDefinition.parameter.name":"code","OperationDefinition.parameter.referencedFrom.extension":"Extension","OperationDefinition.parameter.referencedFrom.id":"System.String","OperationDefinition.parameter.referencedFrom.modifierExtension":"Extension","OperationDefinition.parameter.referencedFrom.source":"string","OperationDefinition.parameter.referencedFrom.sourceId":"string","OperationDefinition.parameter.searchType":"code","OperationDefinition.parameter.targetProfile":"canonical","OperationDefinition.parameter.type":"code","OperationDefinition.parameter.use":"code","OperationDefinition.publisher":"string","OperationDefinition.purpose":"markdown","OperationDefinition.resource":"code","OperationDefinition.status":"code","OperationDefinition.system":"boolean","OperationDefinition.text":"Narrative","OperationDefinition.title":"string","OperationDefinition.type":"boolean","OperationDefinition.url":"uri","OperationDefinition.useContext":"UsageContext","OperationDefinition.version":"string","OperationOutcome.contained":"Resource","OperationOutcome.extension":"Extension","OperationOutcome.id":"System.String","OperationOutcome.implicitRules":"uri","OperationOutcome.issue.code":"code","OperationOutcome.issue.details":"CodeableConcept","OperationOutcome.issue.diagnostics":"string","OperationOutcome.issue.expression":"string","OperationOutcome.issue.extension":"Extension","OperationOutcome.issue.id":"System.String","OperationOutcome.issue.location":"string","OperationOutcome.issue.modifierExtension":"Extension","OperationOutcome.issue.severity":"code","OperationOutcome.language":"code","OperationOutcome.meta":"Meta","OperationOutcome.modifierExtension":"Extension","OperationOutcome.text":"Narrative","Organization.active":"boolean","Organization.address":"Address","Organization.alias":"string","Organization.contact.address":"Address","Organization.contact.extension":"Extension","Organization.contact.id":"System.String","Organization.contact.modifierExtension":"Extension","Organization.contact.name":"HumanName","Organization.contact.purpose":"CodeableConcept","Organization.contact.telecom":"ContactPoint","Organization.contained":"Resource","Organization.endpoint":"Reference","Organization.extension":"Extension","Organization.id":"System.String","Organization.identifier":"Identifier","Organization.implicitRules":"uri","Organization.language":"code","Organization.meta":"Meta","Organization.modifierExtension":"Extension","Organization.name":"string","Organization.partOf":"Reference","Organization.telecom":"ContactPoint","Organization.text":"Narrative","Organization.type":"CodeableConcept","OrganizationAffiliation.active":"boolean","OrganizationAffiliation.code":"CodeableConcept","OrganizationAffiliation.contained":"Resource","OrganizationAffiliation.endpoint":"Reference","OrganizationAffiliation.extension":"Extension","OrganizationAffiliation.healthcareService":"Reference","OrganizationAffiliation.id":"System.String","OrganizationAffiliation.identifier":"Identifier","OrganizationAffiliation.implicitRules":"uri","OrganizationAffiliation.language":"code","OrganizationAffiliation.location":"Reference","OrganizationAffiliation.meta":"Meta","OrganizationAffiliation.modifierExtension":"Extension","OrganizationAffiliation.network":"Reference","OrganizationAffiliation.organization":"Reference","OrganizationAffiliation.participatingOrganization":"Reference","OrganizationAffiliation.period":"Period","OrganizationAffiliation.specialty":"CodeableConcept","OrganizationAffiliation.telecom":"ContactPoint","OrganizationAffiliation.text":"Narrative","ParameterDefinition.documentation":"string","ParameterDefinition.extension":"Extension","ParameterDefinition.id":"System.String","ParameterDefinition.max":"string","ParameterDefinition.min":"integer","ParameterDefinition.name":"code","ParameterDefinition.profile":"canonical","ParameterDefinition.type":"code","ParameterDefinition.use":"code","Parameters.id":"System.String","Parameters.implicitRules":"uri","Parameters.language":"code","Parameters.meta":"Meta","Parameters.parameter.extension":"Extension","Parameters.parameter.id":"System.String","Parameters.parameter.modifierExtension":"Extension","Parameters.parameter.name":"string","Parameters.parameter.resource":"Resource","Parameters.parameter.valueAddress":"Address","Parameters.parameter.valueAge":"Age","Parameters.parameter.valueAnnotation":"Annotation","Parameters.parameter.valueAttachment":"Attachment","Parameters.parameter.valueBase64Binary":"base64Binary","Parameters.parameter.valueBoolean":"boolean","Parameters.parameter.valueCanonical":"canonical","Parameters.parameter.valueCode":"code","Parameters.parameter.valueCodeableConcept":"CodeableConcept","Parameters.parameter.valueCoding":"Coding","Parameters.parameter.valueContactDetail":"ContactDetail","Parameters.parameter.valueContactPoint":"ContactPoint","Parameters.parameter.valueContributor":"Contributor","Parameters.parameter.valueCount":"Count","Parameters.parameter.valueDataRequirement":"DataRequirement","Parameters.parameter.valueDate":"date","Parameters.parameter.valueDateTime":"dateTime","Parameters.parameter.valueDecimal":"decimal","Parameters.parameter.valueDistance":"Distance","Parameters.parameter.valueDosage":"Dosage","Parameters.parameter.valueDuration":"Duration","Parameters.parameter.valueExpression":"Expression","Parameters.parameter.valueHumanName":"HumanName","Parameters.parameter.valueId":"id","Parameters.parameter.valueIdentifier":"Identifier","Parameters.parameter.valueInstant":"instant","Parameters.parameter.valueInteger":"integer","Parameters.parameter.valueMarkdown":"markdown","Parameters.parameter.valueMeta":"Meta","Parameters.parameter.valueMoney":"Money","Parameters.parameter.valueOid":"oid","Parameters.parameter.valueParameterDefinition":"ParameterDefinition","Parameters.parameter.valuePeriod":"Period","Parameters.parameter.valuePositiveInt":"positiveInt","Parameters.parameter.valueQuantity":"Quantity","Parameters.parameter.valueRange":"Range","Parameters.parameter.valueRatio":"Ratio","Parameters.parameter.valueReference":"Reference","Parameters.parameter.valueRelatedArtifact":"RelatedArtifact","Parameters.parameter.valueSampledData":"SampledData","Parameters.parameter.valueSignature":"Signature","Parameters.parameter.valueString":"string","Parameters.parameter.valueTime":"time","Parameters.parameter.valueTiming":"Timing","Parameters.parameter.valueTriggerDefinition":"TriggerDefinition","Parameters.parameter.valueUnsignedInt":"unsignedInt","Parameters.parameter.valueUri":"uri","Parameters.parameter.valueUrl":"url","Parameters.parameter.valueUsageContext":"UsageContext","Parameters.parameter.valueUuid":"uuid","Patient.active":"boolean","Patient.address":"Address","Patient.birthDate":"date","Patient.communication.extension":"Extension","Patient.communication.id":"System.String","Patient.communication.language":"CodeableConcept","Patient.communication.modifierExtension":"Extension","Patient.communication.preferred":"boolean","Patient.contact.address":"Address","Patient.contact.extension":"Extension","Patient.contact.gender":"code","Patient.contact.id":"System.String","Patient.contact.modifierExtension":"Extension","Patient.contact.name":"HumanName","Patient.contact.organization":"Reference","Patient.contact.period":"Period","Patient.contact.relationship":"CodeableConcept","Patient.contact.telecom":"ContactPoint","Patient.contained":"Resource","Patient.deceasedBoolean":"boolean","Patient.deceasedDateTime":"dateTime","Patient.extension":"Extension","Patient.gender":"code","Patient.generalPractitioner":"Reference","Patient.id":"System.String","Patient.identifier":"Identifier","Patient.implicitRules":"uri","Patient.language":"code","Patient.link.extension":"Extension","Patient.link.id":"System.String","Patient.link.modifierExtension":"Extension","Patient.link.other":"Reference","Patient.link.type":"code","Patient.managingOrganization":"Reference","Patient.maritalStatus":"CodeableConcept","Patient.meta":"Meta","Patient.modifierExtension":"Extension","Patient.multipleBirthBoolean":"boolean","Patient.multipleBirthInteger":"integer","Patient.name":"HumanName","Patient.photo":"Attachment","Patient.telecom":"ContactPoint","Patient.text":"Narrative","PaymentNotice.amount":"Money","PaymentNotice.contained":"Resource","PaymentNotice.created":"dateTime","PaymentNotice.extension":"Extension","PaymentNotice.id":"System.String","PaymentNotice.identifier":"Identifier","PaymentNotice.implicitRules":"uri","PaymentNotice.language":"code","PaymentNotice.meta":"Meta","PaymentNotice.modifierExtension":"Extension","PaymentNotice.payee":"Reference","PaymentNotice.payment":"Reference","PaymentNotice.paymentDate":"date","PaymentNotice.paymentStatus":"CodeableConcept","PaymentNotice.provider":"Reference","PaymentNotice.recipient":"Reference","PaymentNotice.request":"Reference","PaymentNotice.response":"Reference","PaymentNotice.status":"code","PaymentNotice.text":"Narrative","PaymentReconciliation.contained":"Resource","PaymentReconciliation.created":"dateTime","PaymentReconciliation.detail.amount":"Money","PaymentReconciliation.detail.date":"date","PaymentReconciliation.detail.extension":"Extension","PaymentReconciliation.detail.id":"System.String","PaymentReconciliation.detail.identifier":"Identifier","PaymentReconciliation.detail.modifierExtension":"Extension","PaymentReconciliation.detail.payee":"Reference","PaymentReconciliation.detail.predecessor":"Identifier","PaymentReconciliation.detail.request":"Reference","PaymentReconciliation.detail.response":"Reference","PaymentReconciliation.detail.responsible":"Reference","PaymentReconciliation.detail.submitter":"Reference","PaymentReconciliation.detail.type":"CodeableConcept","PaymentReconciliation.disposition":"string","PaymentReconciliation.extension":"Extension","PaymentReconciliation.formCode":"CodeableConcept","PaymentReconciliation.id":"System.String","PaymentReconciliation.identifier":"Identifier","PaymentReconciliation.implicitRules":"uri","PaymentReconciliation.language":"code","PaymentReconciliation.meta":"Meta","PaymentReconciliation.modifierExtension":"Extension","PaymentReconciliation.outcome":"code","PaymentReconciliation.paymentAmount":"Money","PaymentReconciliation.paymentDate":"date","PaymentReconciliation.paymentIdentifier":"Identifier","PaymentReconciliation.paymentIssuer":"Reference","PaymentReconciliation.period":"Period","PaymentReconciliation.processNote.extension":"Extension","PaymentReconciliation.processNote.id":"System.String","PaymentReconciliation.processNote.modifierExtension":"Extension","PaymentReconciliation.processNote.text":"string","PaymentReconciliation.processNote.type":"code","PaymentReconciliation.request":"Reference","PaymentReconciliation.requestor":"Reference","PaymentReconciliation.status":"code","PaymentReconciliation.text":"Narrative","Period.end":"dateTime","Period.extension":"Extension","Period.id":"System.String","Period.start":"dateTime","Person.active":"boolean","Person.address":"Address","Person.birthDate":"date","Person.contained":"Resource","Person.extension":"Extension","Person.gender":"code","Person.id":"System.String","Person.identifier":"Identifier","Person.implicitRules":"uri","Person.language":"code","Person.link.assurance":"code","Person.link.extension":"Extension","Person.link.id":"System.String","Person.link.modifierExtension":"Extension","Person.link.target":"Reference","Person.managingOrganization":"Reference","Person.meta":"Meta","Person.modifierExtension":"Extension","Person.name":"HumanName","Person.photo":"Attachment","Person.telecom":"ContactPoint","Person.text":"Narrative","PlanDefinition.action.cardinalityBehavior":"code","PlanDefinition.action.code":"CodeableConcept","PlanDefinition.action.condition.expression":"Expression","PlanDefinition.action.condition.extension":"Extension","PlanDefinition.action.condition.id":"System.String","PlanDefinition.action.condition.kind":"code","PlanDefinition.action.condition.modifierExtension":"Extension","PlanDefinition.action.definitionCanonical":"canonical","PlanDefinition.action.definitionUri":"uri","PlanDefinition.action.description":"string","PlanDefinition.action.documentation":"RelatedArtifact","PlanDefinition.action.dynamicValue.expression":"Expression","PlanDefinition.action.dynamicValue.extension":"Extension","PlanDefinition.action.dynamicValue.id":"System.String","PlanDefinition.action.dynamicValue.modifierExtension":"Extension","PlanDefinition.action.dynamicValue.path":"string","PlanDefinition.action.extension":"Extension","PlanDefinition.action.goalId":"id","PlanDefinition.action.groupingBehavior":"code","PlanDefinition.action.id":"System.String","PlanDefinition.action.input":"DataRequirement","PlanDefinition.action.modifierExtension":"Extension","PlanDefinition.action.output":"DataRequirement","PlanDefinition.action.participant.extension":"Extension","PlanDefinition.action.participant.id":"System.String","PlanDefinition.action.participant.modifierExtension":"Extension","PlanDefinition.action.participant.role":"CodeableConcept","PlanDefinition.action.participant.type":"code","PlanDefinition.action.precheckBehavior":"code","PlanDefinition.action.prefix":"string","PlanDefinition.action.priority":"code","PlanDefinition.action.reason":"CodeableConcept","PlanDefinition.action.relatedAction.actionId":"id","PlanDefinition.action.relatedAction.extension":"Extension","PlanDefinition.action.relatedAction.id":"System.String","PlanDefinition.action.relatedAction.modifierExtension":"Extension","PlanDefinition.action.relatedAction.offsetDuration":"Duration","PlanDefinition.action.relatedAction.offsetRange":"Range","PlanDefinition.action.relatedAction.relationship":"code","PlanDefinition.action.requiredBehavior":"code","PlanDefinition.action.selectionBehavior":"code","PlanDefinition.action.subjectCodeableConcept":"CodeableConcept","PlanDefinition.action.subjectReference":"Reference","PlanDefinition.action.textEquivalent":"string","PlanDefinition.action.timingAge":"Age","PlanDefinition.action.timingDateTime":"dateTime","PlanDefinition.action.timingDuration":"Duration","PlanDefinition.action.timingPeriod":"Period","PlanDefinition.action.timingRange":"Range","PlanDefinition.action.timingTiming":"Timing","PlanDefinition.action.title":"string","PlanDefinition.action.transform":"canonical","PlanDefinition.action.trigger":"TriggerDefinition","PlanDefinition.action.type":"CodeableConcept","PlanDefinition.approvalDate":"date","PlanDefinition.author":"ContactDetail","PlanDefinition.contact":"ContactDetail","PlanDefinition.contained":"Resource","PlanDefinition.copyright":"markdown","PlanDefinition.date":"dateTime","PlanDefinition.description":"markdown","PlanDefinition.editor":"ContactDetail","PlanDefinition.effectivePeriod":"Period","PlanDefinition.endorser":"ContactDetail","PlanDefinition.experimental":"boolean","PlanDefinition.extension":"Extension","PlanDefinition.goal.addresses":"CodeableConcept","PlanDefinition.goal.category":"CodeableConcept","PlanDefinition.goal.description":"CodeableConcept","PlanDefinition.goal.documentation":"RelatedArtifact","PlanDefinition.goal.extension":"Extension","PlanDefinition.goal.id":"System.String","PlanDefinition.goal.modifierExtension":"Extension","PlanDefinition.goal.priority":"CodeableConcept","PlanDefinition.goal.start":"CodeableConcept","PlanDefinition.goal.target.detailCodeableConcept":"CodeableConcept","PlanDefinition.goal.target.detailQuantity":"Quantity","PlanDefinition.goal.target.detailRange":"Range","PlanDefinition.goal.target.due":"Duration","PlanDefinition.goal.target.extension":"Extension","PlanDefinition.goal.target.id":"System.String","PlanDefinition.goal.target.measure":"CodeableConcept","PlanDefinition.goal.target.modifierExtension":"Extension","PlanDefinition.id":"System.String","PlanDefinition.identifier":"Identifier","PlanDefinition.implicitRules":"uri","PlanDefinition.jurisdiction":"CodeableConcept","PlanDefinition.language":"code","PlanDefinition.lastReviewDate":"date","PlanDefinition.library":"canonical","PlanDefinition.meta":"Meta","PlanDefinition.modifierExtension":"Extension","PlanDefinition.name":"string","PlanDefinition.publisher":"string","PlanDefinition.purpose":"markdown","PlanDefinition.relatedArtifact":"RelatedArtifact","PlanDefinition.reviewer":"ContactDetail","PlanDefinition.status":"code","PlanDefinition.subjectCodeableConcept":"CodeableConcept","PlanDefinition.subjectReference":"Reference","PlanDefinition.subtitle":"string","PlanDefinition.text":"Narrative","PlanDefinition.title":"string","PlanDefinition.topic":"CodeableConcept","PlanDefinition.type":"CodeableConcept","PlanDefinition.url":"uri","PlanDefinition.usage":"string","PlanDefinition.useContext":"UsageContext","PlanDefinition.version":"string","Population.ageCodeableConcept":"CodeableConcept","Population.ageRange":"Range","Population.extension":"Extension","Population.gender":"CodeableConcept","Population.id":"System.String","Population.modifierExtension":"Extension","Population.physiologicalCondition":"CodeableConcept","Population.race":"CodeableConcept","Practitioner.active":"boolean","Practitioner.address":"Address","Practitioner.birthDate":"date","Practitioner.communication":"CodeableConcept","Practitioner.contained":"Resource","Practitioner.extension":"Extension","Practitioner.gender":"code","Practitioner.id":"System.String","Practitioner.identifier":"Identifier","Practitioner.implicitRules":"uri","Practitioner.language":"code","Practitioner.meta":"Meta","Practitioner.modifierExtension":"Extension","Practitioner.name":"HumanName","Practitioner.photo":"Attachment","Practitioner.qualification.code":"CodeableConcept","Practitioner.qualification.extension":"Extension","Practitioner.qualification.id":"System.String","Practitioner.qualification.identifier":"Identifier","Practitioner.qualification.issuer":"Reference","Practitioner.qualification.modifierExtension":"Extension","Practitioner.qualification.period":"Period","Practitioner.telecom":"ContactPoint","Practitioner.text":"Narrative","PractitionerRole.active":"boolean","PractitionerRole.availabilityExceptions":"string","PractitionerRole.availableTime.allDay":"boolean","PractitionerRole.availableTime.availableEndTime":"time","PractitionerRole.availableTime.availableStartTime":"time","PractitionerRole.availableTime.daysOfWeek":"code","PractitionerRole.availableTime.extension":"Extension","PractitionerRole.availableTime.id":"System.String","PractitionerRole.availableTime.modifierExtension":"Extension","PractitionerRole.code":"CodeableConcept","PractitionerRole.contained":"Resource","PractitionerRole.endpoint":"Reference","PractitionerRole.extension":"Extension","PractitionerRole.healthcareService":"Reference","PractitionerRole.id":"System.String","PractitionerRole.identifier":"Identifier","PractitionerRole.implicitRules":"uri","PractitionerRole.language":"code","PractitionerRole.location":"Reference","PractitionerRole.meta":"Meta","PractitionerRole.modifierExtension":"Extension","PractitionerRole.notAvailable.description":"string","PractitionerRole.notAvailable.during":"Period","PractitionerRole.notAvailable.extension":"Extension","PractitionerRole.notAvailable.id":"System.String","PractitionerRole.notAvailable.modifierExtension":"Extension","PractitionerRole.organization":"Reference","PractitionerRole.period":"Period","PractitionerRole.practitioner":"Reference","PractitionerRole.specialty":"CodeableConcept","PractitionerRole.telecom":"ContactPoint","PractitionerRole.text":"Narrative","Procedure.asserter":"Reference","Procedure.basedOn":"Reference","Procedure.bodySite":"CodeableConcept","Procedure.category":"CodeableConcept","Procedure.code":"CodeableConcept","Procedure.complication":"CodeableConcept","Procedure.complicationDetail":"Reference","Procedure.contained":"Resource","Procedure.encounter":"Reference","Procedure.extension":"Extension","Procedure.focalDevice.action":"CodeableConcept","Procedure.focalDevice.extension":"Extension","Procedure.focalDevice.id":"System.String","Procedure.focalDevice.manipulated":"Reference","Procedure.focalDevice.modifierExtension":"Extension","Procedure.followUp":"CodeableConcept","Procedure.id":"System.String","Procedure.identifier":"Identifier","Procedure.implicitRules":"uri","Procedure.instantiatesCanonical":"canonical","Procedure.instantiatesUri":"uri","Procedure.language":"code","Procedure.location":"Reference","Procedure.meta":"Meta","Procedure.modifierExtension":"Extension","Procedure.note":"Annotation","Procedure.outcome":"CodeableConcept","Procedure.partOf":"Reference","Procedure.performedAge":"Age","Procedure.performedDateTime":"dateTime","Procedure.performedPeriod":"Period","Procedure.performedRange":"Range","Procedure.performedString":"string","Procedure.performer.actor":"Reference","Procedure.performer.extension":"Extension","Procedure.performer.function":"CodeableConcept","Procedure.performer.id":"System.String","Procedure.performer.modifierExtension":"Extension","Procedure.performer.onBehalfOf":"Reference","Procedure.reasonCode":"CodeableConcept","Procedure.reasonReference":"Reference","Procedure.recorder":"Reference","Procedure.report":"Reference","Procedure.status":"code","Procedure.statusReason":"CodeableConcept","Procedure.subject":"Reference","Procedure.text":"Narrative","Procedure.usedCode":"CodeableConcept","Procedure.usedReference":"Reference","ProdCharacteristic.color":"string","ProdCharacteristic.depth":"Quantity","ProdCharacteristic.extension":"Extension","ProdCharacteristic.externalDiameter":"Quantity","ProdCharacteristic.height":"Quantity","ProdCharacteristic.id":"System.String","ProdCharacteristic.image":"Attachment","ProdCharacteristic.imprint":"string","ProdCharacteristic.modifierExtension":"Extension","ProdCharacteristic.nominalVolume":"Quantity","ProdCharacteristic.scoring":"CodeableConcept","ProdCharacteristic.shape":"string","ProdCharacteristic.weight":"Quantity","ProdCharacteristic.width":"Quantity","ProductShelfLife.extension":"Extension","ProductShelfLife.id":"System.String","ProductShelfLife.identifier":"Identifier","ProductShelfLife.modifierExtension":"Extension","ProductShelfLife.period":"Quantity","ProductShelfLife.specialPrecautionsForStorage":"CodeableConcept","ProductShelfLife.type":"CodeableConcept","Provenance.activity":"CodeableConcept","Provenance.agent.extension":"Extension","Provenance.agent.id":"System.String","Provenance.agent.modifierExtension":"Extension","Provenance.agent.onBehalfOf":"Reference","Provenance.agent.role":"CodeableConcept","Provenance.agent.type":"CodeableConcept","Provenance.agent.who":"Reference","Provenance.contained":"Resource","Provenance.entity.extension":"Extension","Provenance.entity.id":"System.String","Provenance.entity.modifierExtension":"Extension","Provenance.entity.role":"code","Provenance.entity.what":"Reference","Provenance.extension":"Extension","Provenance.id":"System.String","Provenance.implicitRules":"uri","Provenance.language":"code","Provenance.location":"Reference","Provenance.meta":"Meta","Provenance.modifierExtension":"Extension","Provenance.occurredDateTime":"dateTime","Provenance.occurredPeriod":"Period","Provenance.policy":"uri","Provenance.reason":"CodeableConcept","Provenance.recorded":"instant","Provenance.signature":"Signature","Provenance.target":"Reference","Provenance.text":"Narrative","Quantity.code":"code","Quantity.comparator":"code","Quantity.extension":"Extension","Quantity.id":"System.String","Quantity.system":"uri","Quantity.unit":"string","Quantity.value":"decimal","Questionnaire.approvalDate":"date","Questionnaire.code":"Coding","Questionnaire.contact":"ContactDetail","Questionnaire.contained":"Resource","Questionnaire.copyright":"markdown","Questionnaire.date":"dateTime","Questionnaire.derivedFrom":"canonical","Questionnaire.description":"markdown","Questionnaire.effectivePeriod":"Period","Questionnaire.experimental":"boolean","Questionnaire.extension":"Extension","Questionnaire.id":"System.String","Questionnaire.identifier":"Identifier","Questionnaire.implicitRules":"uri","Questionnaire.item.answerOption.extension":"Extension","Questionnaire.item.answerOption.id":"System.String","Questionnaire.item.answerOption.initialSelected":"boolean","Questionnaire.item.answerOption.modifierExtension":"Extension","Questionnaire.item.answerOption.valueCoding":"Coding","Questionnaire.item.answerOption.valueDate":"date","Questionnaire.item.answerOption.valueInteger":"integer","Questionnaire.item.answerOption.valueReference":"Reference","Questionnaire.item.answerOption.valueString":"string","Questionnaire.item.answerOption.valueTime":"time","Questionnaire.item.answerValueSet":"canonical","Questionnaire.item.code":"Coding","Questionnaire.item.definition":"uri","Questionnaire.item.enableBehavior":"code","Questionnaire.item.enableWhen.answerBoolean":"boolean","Questionnaire.item.enableWhen.answerCoding":"Coding","Questionnaire.item.enableWhen.answerDate":"date","Questionnaire.item.enableWhen.answerDateTime":"dateTime","Questionnaire.item.enableWhen.answerDecimal":"decimal","Questionnaire.item.enableWhen.answerInteger":"integer","Questionnaire.item.enableWhen.answerQuantity":"Quantity","Questionnaire.item.enableWhen.answerReference":"Reference","Questionnaire.item.enableWhen.answerString":"string","Questionnaire.item.enableWhen.answerTime":"time","Questionnaire.item.enableWhen.extension":"Extension","Questionnaire.item.enableWhen.id":"System.String","Questionnaire.item.enableWhen.modifierExtension":"Extension","Questionnaire.item.enableWhen.operator":"code","Questionnaire.item.enableWhen.question":"string","Questionnaire.item.extension":"Extension","Questionnaire.item.id":"System.String","Questionnaire.item.initial.extension":"Extension","Questionnaire.item.initial.id":"System.String","Questionnaire.item.initial.modifierExtension":"Extension","Questionnaire.item.initial.valueAttachment":"Attachment","Questionnaire.item.initial.valueBoolean":"boolean","Questionnaire.item.initial.valueCoding":"Coding","Questionnaire.item.initial.valueDate":"date","Questionnaire.item.initial.valueDateTime":"dateTime","Questionnaire.item.initial.valueDecimal":"decimal","Questionnaire.item.initial.valueInteger":"integer","Questionnaire.item.initial.valueQuantity":"Quantity","Questionnaire.item.initial.valueReference":"Reference","Questionnaire.item.initial.valueString":"string","Questionnaire.item.initial.valueTime":"time","Questionnaire.item.initial.valueUri":"uri","Questionnaire.item.linkId":"string","Questionnaire.item.maxLength":"integer","Questionnaire.item.modifierExtension":"Extension","Questionnaire.item.prefix":"string","Questionnaire.item.readOnly":"boolean","Questionnaire.item.repeats":"boolean","Questionnaire.item.required":"boolean","Questionnaire.item.text":"string","Questionnaire.item.type":"code","Questionnaire.jurisdiction":"CodeableConcept","Questionnaire.language":"code","Questionnaire.lastReviewDate":"date","Questionnaire.meta":"Meta","Questionnaire.modifierExtension":"Extension","Questionnaire.name":"string","Questionnaire.publisher":"string","Questionnaire.purpose":"markdown","Questionnaire.status":"code","Questionnaire.subjectType":"code","Questionnaire.text":"Narrative","Questionnaire.title":"string","Questionnaire.url":"uri","Questionnaire.useContext":"UsageContext","Questionnaire.version":"string","QuestionnaireResponse.author":"Reference","QuestionnaireResponse.authored":"dateTime","QuestionnaireResponse.basedOn":"Reference","QuestionnaireResponse.contained":"Resource","QuestionnaireResponse.encounter":"Reference","QuestionnaireResponse.extension":"Extension","QuestionnaireResponse.id":"System.String","QuestionnaireResponse.identifier":"Identifier","QuestionnaireResponse.implicitRules":"uri","QuestionnaireResponse.item.answer.extension":"Extension","QuestionnaireResponse.item.answer.id":"System.String","QuestionnaireResponse.item.answer.modifierExtension":"Extension","QuestionnaireResponse.item.answer.valueAttachment":"Attachment","QuestionnaireResponse.item.answer.valueBoolean":"boolean","QuestionnaireResponse.item.answer.valueCoding":"Coding","QuestionnaireResponse.item.answer.valueDate":"date","QuestionnaireResponse.item.answer.valueDateTime":"dateTime","QuestionnaireResponse.item.answer.valueDecimal":"decimal","QuestionnaireResponse.item.answer.valueInteger":"integer","QuestionnaireResponse.item.answer.valueQuantity":"Quantity","QuestionnaireResponse.item.answer.valueReference":"Reference","QuestionnaireResponse.item.answer.valueString":"string","QuestionnaireResponse.item.answer.valueTime":"time","QuestionnaireResponse.item.answer.valueUri":"uri","QuestionnaireResponse.item.definition":"uri","QuestionnaireResponse.item.extension":"Extension","QuestionnaireResponse.item.id":"System.String","QuestionnaireResponse.item.linkId":"string","QuestionnaireResponse.item.modifierExtension":"Extension","QuestionnaireResponse.item.text":"string","QuestionnaireResponse.language":"code","QuestionnaireResponse.meta":"Meta","QuestionnaireResponse.modifierExtension":"Extension","QuestionnaireResponse.partOf":"Reference","QuestionnaireResponse.questionnaire":"canonical","QuestionnaireResponse.source":"Reference","QuestionnaireResponse.status":"code","QuestionnaireResponse.subject":"Reference","QuestionnaireResponse.text":"Narrative","Range.extension":"Extension","Range.high":"Quantity","Range.id":"System.String","Range.low":"Quantity","Ratio.denominator":"Quantity","Ratio.extension":"Extension","Ratio.id":"System.String","Ratio.numerator":"Quantity","Reference.display":"string","Reference.extension":"Extension","Reference.id":"System.String","Reference.identifier":"Identifier","Reference.reference":"string","Reference.type":"uri","RelatedArtifact.citation":"markdown","RelatedArtifact.display":"string","RelatedArtifact.document":"Attachment","RelatedArtifact.extension":"Extension","RelatedArtifact.id":"System.String","RelatedArtifact.label":"string","RelatedArtifact.resource":"canonical","RelatedArtifact.type":"code","RelatedArtifact.url":"url","RelatedPerson.active":"boolean","RelatedPerson.address":"Address","RelatedPerson.birthDate":"date","RelatedPerson.communication.extension":"Extension","RelatedPerson.communication.id":"System.String","RelatedPerson.communication.language":"CodeableConcept","RelatedPerson.communication.modifierExtension":"Extension","RelatedPerson.communication.preferred":"boolean","RelatedPerson.contained":"Resource","RelatedPerson.extension":"Extension","RelatedPerson.gender":"code","RelatedPerson.id":"System.String","RelatedPerson.identifier":"Identifier","RelatedPerson.implicitRules":"uri","RelatedPerson.language":"code","RelatedPerson.meta":"Meta","RelatedPerson.modifierExtension":"Extension","RelatedPerson.name":"HumanName","RelatedPerson.patient":"Reference","RelatedPerson.period":"Period","RelatedPerson.photo":"Attachment","RelatedPerson.relationship":"CodeableConcept","RelatedPerson.telecom":"ContactPoint","RelatedPerson.text":"Narrative","RequestGroup.action.cardinalityBehavior":"code","RequestGroup.action.code":"CodeableConcept","RequestGroup.action.condition.expression":"Expression","RequestGroup.action.condition.extension":"Extension","RequestGroup.action.condition.id":"System.String","RequestGroup.action.condition.kind":"code","RequestGroup.action.condition.modifierExtension":"Extension","RequestGroup.action.description":"string","RequestGroup.action.documentation":"RelatedArtifact","RequestGroup.action.extension":"Extension","RequestGroup.action.groupingBehavior":"code","RequestGroup.action.id":"System.String","RequestGroup.action.modifierExtension":"Extension","RequestGroup.action.participant":"Reference","RequestGroup.action.precheckBehavior":"code","RequestGroup.action.prefix":"string","RequestGroup.action.priority":"code","RequestGroup.action.relatedAction.actionId":"id","RequestGroup.action.relatedAction.extension":"Extension","RequestGroup.action.relatedAction.id":"System.String","RequestGroup.action.relatedAction.modifierExtension":"Extension","RequestGroup.action.relatedAction.offsetDuration":"Duration","RequestGroup.action.relatedAction.offsetRange":"Range","RequestGroup.action.relatedAction.relationship":"code","RequestGroup.action.requiredBehavior":"code","RequestGroup.action.resource":"Reference","RequestGroup.action.selectionBehavior":"code","RequestGroup.action.textEquivalent":"string","RequestGroup.action.timingAge":"Age","RequestGroup.action.timingDateTime":"dateTime","RequestGroup.action.timingDuration":"Duration","RequestGroup.action.timingPeriod":"Period","RequestGroup.action.timingRange":"Range","RequestGroup.action.timingTiming":"Timing","RequestGroup.action.title":"string","RequestGroup.action.type":"CodeableConcept","RequestGroup.author":"Reference","RequestGroup.authoredOn":"dateTime","RequestGroup.basedOn":"Reference","RequestGroup.code":"CodeableConcept","RequestGroup.contained":"Resource","RequestGroup.encounter":"Reference","RequestGroup.extension":"Extension","RequestGroup.groupIdentifier":"Identifier","RequestGroup.id":"System.String","RequestGroup.identifier":"Identifier","RequestGroup.implicitRules":"uri","RequestGroup.instantiatesCanonical":"canonical","RequestGroup.instantiatesUri":"uri","RequestGroup.intent":"code","RequestGroup.language":"code","RequestGroup.meta":"Meta","RequestGroup.modifierExtension":"Extension","RequestGroup.note":"Annotation","RequestGroup.priority":"code","RequestGroup.reasonCode":"CodeableConcept","RequestGroup.reasonReference":"Reference","RequestGroup.replaces":"Reference","RequestGroup.status":"code","RequestGroup.subject":"Reference","RequestGroup.text":"Narrative","ResearchDefinition.approvalDate":"date","ResearchDefinition.author":"ContactDetail","ResearchDefinition.comment":"string","ResearchDefinition.contact":"ContactDetail","ResearchDefinition.contained":"Resource","ResearchDefinition.copyright":"markdown","ResearchDefinition.date":"dateTime","ResearchDefinition.description":"markdown","ResearchDefinition.editor":"ContactDetail","ResearchDefinition.effectivePeriod":"Period","ResearchDefinition.endorser":"ContactDetail","ResearchDefinition.experimental":"boolean","ResearchDefinition.exposure":"Reference","ResearchDefinition.exposureAlternative":"Reference","ResearchDefinition.extension":"Extension","ResearchDefinition.id":"System.String","ResearchDefinition.identifier":"Identifier","ResearchDefinition.implicitRules":"uri","ResearchDefinition.jurisdiction":"CodeableConcept","ResearchDefinition.language":"code","ResearchDefinition.lastReviewDate":"date","ResearchDefinition.library":"canonical","ResearchDefinition.meta":"Meta","ResearchDefinition.modifierExtension":"Extension","ResearchDefinition.name":"string","ResearchDefinition.outcome":"Reference","ResearchDefinition.population":"Reference","ResearchDefinition.publisher":"string","ResearchDefinition.purpose":"markdown","ResearchDefinition.relatedArtifact":"RelatedArtifact","ResearchDefinition.reviewer":"ContactDetail","ResearchDefinition.shortTitle":"string","ResearchDefinition.status":"code","ResearchDefinition.subjectCodeableConcept":"CodeableConcept","ResearchDefinition.subjectReference":"Reference","ResearchDefinition.subtitle":"string","ResearchDefinition.text":"Narrative","ResearchDefinition.title":"string","ResearchDefinition.topic":"CodeableConcept","ResearchDefinition.url":"uri","ResearchDefinition.usage":"string","ResearchDefinition.useContext":"UsageContext","ResearchDefinition.version":"string","ResearchElementDefinition.approvalDate":"date","ResearchElementDefinition.author":"ContactDetail","ResearchElementDefinition.characteristic.definitionCanonical":"canonical","ResearchElementDefinition.characteristic.definitionCodeableConcept":"CodeableConcept","ResearchElementDefinition.characteristic.definitionDataRequirement":"DataRequirement","ResearchElementDefinition.characteristic.definitionExpression":"Expression","ResearchElementDefinition.characteristic.exclude":"boolean","ResearchElementDefinition.characteristic.extension":"Extension","ResearchElementDefinition.characteristic.id":"System.String","ResearchElementDefinition.characteristic.modifierExtension":"Extension","ResearchElementDefinition.characteristic.participantEffectiveDateTime":"dateTime","ResearchElementDefinition.characteristic.participantEffectiveDescription":"string","ResearchElementDefinition.characteristic.participantEffectiveDuration":"Duration","ResearchElementDefinition.characteristic.participantEffectiveGroupMeasure":"code","ResearchElementDefinition.characteristic.participantEffectivePeriod":"Period","ResearchElementDefinition.characteristic.participantEffectiveTimeFromStart":"Duration","ResearchElementDefinition.characteristic.participantEffectiveTiming":"Timing","ResearchElementDefinition.characteristic.studyEffectiveDateTime":"dateTime","ResearchElementDefinition.characteristic.studyEffectiveDescription":"string","ResearchElementDefinition.characteristic.studyEffectiveDuration":"Duration","ResearchElementDefinition.characteristic.studyEffectiveGroupMeasure":"code","ResearchElementDefinition.characteristic.studyEffectivePeriod":"Period","ResearchElementDefinition.characteristic.studyEffectiveTimeFromStart":"Duration","ResearchElementDefinition.characteristic.studyEffectiveTiming":"Timing","ResearchElementDefinition.characteristic.unitOfMeasure":"CodeableConcept","ResearchElementDefinition.characteristic.usageContext":"UsageContext","ResearchElementDefinition.comment":"string","ResearchElementDefinition.contact":"ContactDetail","ResearchElementDefinition.contained":"Resource","ResearchElementDefinition.copyright":"markdown","ResearchElementDefinition.date":"dateTime","ResearchElementDefinition.description":"markdown","ResearchElementDefinition.editor":"ContactDetail","ResearchElementDefinition.effectivePeriod":"Period","ResearchElementDefinition.endorser":"ContactDetail","ResearchElementDefinition.experimental":"boolean","ResearchElementDefinition.extension":"Extension","ResearchElementDefinition.id":"System.String","ResearchElementDefinition.identifier":"Identifier","ResearchElementDefinition.implicitRules":"uri","ResearchElementDefinition.jurisdiction":"CodeableConcept","ResearchElementDefinition.language":"code","ResearchElementDefinition.lastReviewDate":"date","ResearchElementDefinition.library":"canonical","ResearchElementDefinition.meta":"Meta","ResearchElementDefinition.modifierExtension":"Extension","ResearchElementDefinition.name":"string","ResearchElementDefinition.publisher":"string","ResearchElementDefinition.purpose":"markdown","ResearchElementDefinition.relatedArtifact":"RelatedArtifact","ResearchElementDefinition.reviewer":"ContactDetail","ResearchElementDefinition.shortTitle":"string","ResearchElementDefinition.status":"code","ResearchElementDefinition.subjectCodeableConcept":"CodeableConcept","ResearchElementDefinition.subjectReference":"Reference","ResearchElementDefinition.subtitle":"string","ResearchElementDefinition.text":"Narrative","ResearchElementDefinition.title":"string","ResearchElementDefinition.topic":"CodeableConcept","ResearchElementDefinition.type":"code","ResearchElementDefinition.url":"uri","ResearchElementDefinition.usage":"string","ResearchElementDefinition.useContext":"UsageContext","ResearchElementDefinition.variableType":"code","ResearchElementDefinition.version":"string","ResearchStudy.arm.description":"string","ResearchStudy.arm.extension":"Extension","ResearchStudy.arm.id":"System.String","ResearchStudy.arm.modifierExtension":"Extension","ResearchStudy.arm.name":"string","ResearchStudy.arm.type":"CodeableConcept","ResearchStudy.category":"CodeableConcept","ResearchStudy.condition":"CodeableConcept","ResearchStudy.contact":"ContactDetail","ResearchStudy.contained":"Resource","ResearchStudy.description":"markdown","ResearchStudy.enrollment":"Reference","ResearchStudy.extension":"Extension","ResearchStudy.focus":"CodeableConcept","ResearchStudy.id":"System.String","ResearchStudy.identifier":"Identifier","ResearchStudy.implicitRules":"uri","ResearchStudy.keyword":"CodeableConcept","ResearchStudy.language":"code","ResearchStudy.location":"CodeableConcept","ResearchStudy.meta":"Meta","ResearchStudy.modifierExtension":"Extension","ResearchStudy.note":"Annotation","ResearchStudy.objective.extension":"Extension","ResearchStudy.objective.id":"System.String","ResearchStudy.objective.modifierExtension":"Extension","ResearchStudy.objective.name":"string","ResearchStudy.objective.type":"CodeableConcept","ResearchStudy.partOf":"Reference","ResearchStudy.period":"Period","ResearchStudy.phase":"CodeableConcept","ResearchStudy.primaryPurposeType":"CodeableConcept","ResearchStudy.principalInvestigator":"Reference","ResearchStudy.protocol":"Reference","ResearchStudy.reasonStopped":"CodeableConcept","ResearchStudy.relatedArtifact":"RelatedArtifact","ResearchStudy.site":"Reference","ResearchStudy.sponsor":"Reference","ResearchStudy.status":"code","ResearchStudy.text":"Narrative","ResearchStudy.title":"string","ResearchSubject.actualArm":"string","ResearchSubject.assignedArm":"string","ResearchSubject.consent":"Reference","ResearchSubject.contained":"Resource","ResearchSubject.extension":"Extension","ResearchSubject.id":"System.String","ResearchSubject.identifier":"Identifier","ResearchSubject.implicitRules":"uri","ResearchSubject.individual":"Reference","ResearchSubject.language":"code","ResearchSubject.meta":"Meta","ResearchSubject.modifierExtension":"Extension","ResearchSubject.period":"Period","ResearchSubject.status":"code","ResearchSubject.study":"Reference","ResearchSubject.text":"Narrative","Resource.id":"System.String","Resource.implicitRules":"uri","Resource.language":"code","Resource.meta":"Meta","RiskAssessment.basedOn":"Reference","RiskAssessment.basis":"Reference","RiskAssessment.code":"CodeableConcept","RiskAssessment.condition":"Reference","RiskAssessment.contained":"Resource","RiskAssessment.encounter":"Reference","RiskAssessment.extension":"Extension","RiskAssessment.id":"System.String","RiskAssessment.identifier":"Identifier","RiskAssessment.implicitRules":"uri","RiskAssessment.language":"code","RiskAssessment.meta":"Meta","RiskAssessment.method":"CodeableConcept","RiskAssessment.mitigation":"string","RiskAssessment.modifierExtension":"Extension","RiskAssessment.note":"Annotation","RiskAssessment.occurrenceDateTime":"dateTime","RiskAssessment.occurrencePeriod":"Period","RiskAssessment.parent":"Reference","RiskAssessment.performer":"Reference","RiskAssessment.prediction.extension":"Extension","RiskAssessment.prediction.id":"System.String","RiskAssessment.prediction.modifierExtension":"Extension","RiskAssessment.prediction.outcome":"CodeableConcept","RiskAssessment.prediction.probabilityDecimal":"decimal","RiskAssessment.prediction.probabilityRange":"Range","RiskAssessment.prediction.qualitativeRisk":"CodeableConcept","RiskAssessment.prediction.rationale":"string","RiskAssessment.prediction.relativeRisk":"decimal","RiskAssessment.prediction.whenPeriod":"Period","RiskAssessment.prediction.whenRange":"Range","RiskAssessment.reasonCode":"CodeableConcept","RiskAssessment.reasonReference":"Reference","RiskAssessment.status":"code","RiskAssessment.subject":"Reference","RiskAssessment.text":"Narrative","RiskEvidenceSynthesis.approvalDate":"date","RiskEvidenceSynthesis.author":"ContactDetail","RiskEvidenceSynthesis.certainty.certaintySubcomponent.extension":"Extension","RiskEvidenceSynthesis.certainty.certaintySubcomponent.id":"System.String","RiskEvidenceSynthesis.certainty.certaintySubcomponent.modifierExtension":"Extension","RiskEvidenceSynthesis.certainty.certaintySubcomponent.note":"Annotation","RiskEvidenceSynthesis.certainty.certaintySubcomponent.rating":"CodeableConcept","RiskEvidenceSynthesis.certainty.certaintySubcomponent.type":"CodeableConcept","RiskEvidenceSynthesis.certainty.extension":"Extension","RiskEvidenceSynthesis.certainty.id":"System.String","RiskEvidenceSynthesis.certainty.modifierExtension":"Extension","RiskEvidenceSynthesis.certainty.note":"Annotation","RiskEvidenceSynthesis.certainty.rating":"CodeableConcept","RiskEvidenceSynthesis.contact":"ContactDetail","RiskEvidenceSynthesis.contained":"Resource","RiskEvidenceSynthesis.copyright":"markdown","RiskEvidenceSynthesis.date":"dateTime","RiskEvidenceSynthesis.description":"markdown","RiskEvidenceSynthesis.editor":"ContactDetail","RiskEvidenceSynthesis.effectivePeriod":"Period","RiskEvidenceSynthesis.endorser":"ContactDetail","RiskEvidenceSynthesis.exposure":"Reference","RiskEvidenceSynthesis.extension":"Extension","RiskEvidenceSynthesis.id":"System.String","RiskEvidenceSynthesis.identifier":"Identifier","RiskEvidenceSynthesis.implicitRules":"uri","RiskEvidenceSynthesis.jurisdiction":"CodeableConcept","RiskEvidenceSynthesis.language":"code","RiskEvidenceSynthesis.lastReviewDate":"date","RiskEvidenceSynthesis.meta":"Meta","RiskEvidenceSynthesis.modifierExtension":"Extension","RiskEvidenceSynthesis.name":"string","RiskEvidenceSynthesis.note":"Annotation","RiskEvidenceSynthesis.outcome":"Reference","RiskEvidenceSynthesis.population":"Reference","RiskEvidenceSynthesis.publisher":"string","RiskEvidenceSynthesis.relatedArtifact":"RelatedArtifact","RiskEvidenceSynthesis.reviewer":"ContactDetail","RiskEvidenceSynthesis.riskEstimate.denominatorCount":"integer","RiskEvidenceSynthesis.riskEstimate.description":"string","RiskEvidenceSynthesis.riskEstimate.extension":"Extension","RiskEvidenceSynthesis.riskEstimate.id":"System.String","RiskEvidenceSynthesis.riskEstimate.modifierExtension":"Extension","RiskEvidenceSynthesis.riskEstimate.numeratorCount":"integer","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.extension":"Extension","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.from":"decimal","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.id":"System.String","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.level":"decimal","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.modifierExtension":"Extension","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.to":"decimal","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.type":"CodeableConcept","RiskEvidenceSynthesis.riskEstimate.type":"CodeableConcept","RiskEvidenceSynthesis.riskEstimate.unitOfMeasure":"CodeableConcept","RiskEvidenceSynthesis.riskEstimate.value":"decimal","RiskEvidenceSynthesis.sampleSize.description":"string","RiskEvidenceSynthesis.sampleSize.extension":"Extension","RiskEvidenceSynthesis.sampleSize.id":"System.String","RiskEvidenceSynthesis.sampleSize.modifierExtension":"Extension","RiskEvidenceSynthesis.sampleSize.numberOfParticipants":"integer","RiskEvidenceSynthesis.sampleSize.numberOfStudies":"integer","RiskEvidenceSynthesis.status":"code","RiskEvidenceSynthesis.studyType":"CodeableConcept","RiskEvidenceSynthesis.synthesisType":"CodeableConcept","RiskEvidenceSynthesis.text":"Narrative","RiskEvidenceSynthesis.title":"string","RiskEvidenceSynthesis.topic":"CodeableConcept","RiskEvidenceSynthesis.url":"uri","RiskEvidenceSynthesis.useContext":"UsageContext","RiskEvidenceSynthesis.version":"string","SampledData.data":"string","SampledData.dimensions":"positiveInt","SampledData.extension":"Extension","SampledData.factor":"decimal","SampledData.id":"System.String","SampledData.lowerLimit":"decimal","SampledData.origin":"Quantity","SampledData.period":"decimal","SampledData.upperLimit":"decimal","Schedule.active":"boolean","Schedule.actor":"Reference","Schedule.comment":"string","Schedule.contained":"Resource","Schedule.extension":"Extension","Schedule.id":"System.String","Schedule.identifier":"Identifier","Schedule.implicitRules":"uri","Schedule.language":"code","Schedule.meta":"Meta","Schedule.modifierExtension":"Extension","Schedule.planningHorizon":"Period","Schedule.serviceCategory":"CodeableConcept","Schedule.serviceType":"CodeableConcept","Schedule.specialty":"CodeableConcept","Schedule.text":"Narrative","SearchParameter.base":"code","SearchParameter.chain":"string","SearchParameter.code":"code","SearchParameter.comparator":"code","SearchParameter.component.definition":"canonical","SearchParameter.component.expression":"string","SearchParameter.component.extension":"Extension","SearchParameter.component.id":"System.String","SearchParameter.component.modifierExtension":"Extension","SearchParameter.contact":"ContactDetail","SearchParameter.contained":"Resource","SearchParameter.date":"dateTime","SearchParameter.derivedFrom":"canonical","SearchParameter.description":"markdown","SearchParameter.experimental":"boolean","SearchParameter.expression":"string","SearchParameter.extension":"Extension","SearchParameter.id":"System.String","SearchParameter.implicitRules":"uri","SearchParameter.jurisdiction":"CodeableConcept","SearchParameter.language":"code","SearchParameter.meta":"Meta","SearchParameter.modifier":"code","SearchParameter.modifierExtension":"Extension","SearchParameter.multipleAnd":"boolean","SearchParameter.multipleOr":"boolean","SearchParameter.name":"string","SearchParameter.publisher":"string","SearchParameter.purpose":"markdown","SearchParameter.status":"code","SearchParameter.target":"code","SearchParameter.text":"Narrative","SearchParameter.type":"code","SearchParameter.url":"uri","SearchParameter.useContext":"UsageContext","SearchParameter.version":"string","SearchParameter.xpath":"string","SearchParameter.xpathUsage":"code","ServiceRequest.asNeededBoolean":"boolean","ServiceRequest.asNeededCodeableConcept":"CodeableConcept","ServiceRequest.authoredOn":"dateTime","ServiceRequest.basedOn":"Reference","ServiceRequest.bodySite":"CodeableConcept","ServiceRequest.category":"CodeableConcept","ServiceRequest.code":"CodeableConcept","ServiceRequest.contained":"Resource","ServiceRequest.doNotPerform":"boolean","ServiceRequest.encounter":"Reference","ServiceRequest.extension":"Extension","ServiceRequest.id":"System.String","ServiceRequest.identifier":"Identifier","ServiceRequest.implicitRules":"uri","ServiceRequest.instantiatesCanonical":"canonical","ServiceRequest.instantiatesUri":"uri","ServiceRequest.insurance":"Reference","ServiceRequest.intent":"code","ServiceRequest.language":"code","ServiceRequest.locationCode":"CodeableConcept","ServiceRequest.locationReference":"Reference","ServiceRequest.meta":"Meta","ServiceRequest.modifierExtension":"Extension","ServiceRequest.note":"Annotation","ServiceRequest.occurrenceDateTime":"dateTime","ServiceRequest.occurrencePeriod":"Period","ServiceRequest.occurrenceTiming":"Timing","ServiceRequest.orderDetail":"CodeableConcept","ServiceRequest.patientInstruction":"string","ServiceRequest.performer":"Reference","ServiceRequest.performerType":"CodeableConcept","ServiceRequest.priority":"code","ServiceRequest.quantityQuantity":"Quantity","ServiceRequest.quantityRange":"Range","ServiceRequest.quantityRatio":"Ratio","ServiceRequest.reasonCode":"CodeableConcept","ServiceRequest.reasonReference":"Reference","ServiceRequest.relevantHistory":"Reference","ServiceRequest.replaces":"Reference","ServiceRequest.requester":"Reference","ServiceRequest.requisition":"Identifier","ServiceRequest.specimen":"Reference","ServiceRequest.status":"code","ServiceRequest.subject":"Reference","ServiceRequest.supportingInfo":"Reference","ServiceRequest.text":"Narrative","Signature.data":"base64Binary","Signature.extension":"Extension","Signature.id":"System.String","Signature.onBehalfOf":"Reference","Signature.sigFormat":"code","Signature.targetFormat":"code","Signature.type":"Coding","Signature.when":"instant","Signature.who":"Reference","Slot.appointmentType":"CodeableConcept","Slot.comment":"string","Slot.contained":"Resource","Slot.end":"instant","Slot.extension":"Extension","Slot.id":"System.String","Slot.identifier":"Identifier","Slot.implicitRules":"uri","Slot.language":"code","Slot.meta":"Meta","Slot.modifierExtension":"Extension","Slot.overbooked":"boolean","Slot.schedule":"Reference","Slot.serviceCategory":"CodeableConcept","Slot.serviceType":"CodeableConcept","Slot.specialty":"CodeableConcept","Slot.start":"instant","Slot.status":"code","Slot.text":"Narrative","Specimen.accessionIdentifier":"Identifier","Specimen.collection.bodySite":"CodeableConcept","Specimen.collection.collectedDateTime":"dateTime","Specimen.collection.collectedPeriod":"Period","Specimen.collection.collector":"Reference","Specimen.collection.duration":"Duration","Specimen.collection.extension":"Extension","Specimen.collection.fastingStatusCodeableConcept":"CodeableConcept","Specimen.collection.fastingStatusDuration":"Duration","Specimen.collection.id":"System.String","Specimen.collection.method":"CodeableConcept","Specimen.collection.modifierExtension":"Extension","Specimen.collection.quantity":"Quantity","Specimen.condition":"CodeableConcept","Specimen.contained":"Resource","Specimen.container.additiveCodeableConcept":"CodeableConcept","Specimen.container.additiveReference":"Reference","Specimen.container.capacity":"Quantity","Specimen.container.description":"string","Specimen.container.extension":"Extension","Specimen.container.id":"System.String","Specimen.container.identifier":"Identifier","Specimen.container.modifierExtension":"Extension","Specimen.container.specimenQuantity":"Quantity","Specimen.container.type":"CodeableConcept","Specimen.extension":"Extension","Specimen.id":"System.String","Specimen.identifier":"Identifier","Specimen.implicitRules":"uri","Specimen.language":"code","Specimen.meta":"Meta","Specimen.modifierExtension":"Extension","Specimen.note":"Annotation","Specimen.parent":"Reference","Specimen.processing.additive":"Reference","Specimen.processing.description":"string","Specimen.processing.extension":"Extension","Specimen.processing.id":"System.String","Specimen.processing.modifierExtension":"Extension","Specimen.processing.procedure":"CodeableConcept","Specimen.processing.timeDateTime":"dateTime","Specimen.processing.timePeriod":"Period","Specimen.receivedTime":"dateTime","Specimen.request":"Reference","Specimen.status":"code","Specimen.subject":"Reference","Specimen.text":"Narrative","Specimen.type":"CodeableConcept","SpecimenDefinition.collection":"CodeableConcept","SpecimenDefinition.contained":"Resource","SpecimenDefinition.extension":"Extension","SpecimenDefinition.id":"System.String","SpecimenDefinition.identifier":"Identifier","SpecimenDefinition.implicitRules":"uri","SpecimenDefinition.language":"code","SpecimenDefinition.meta":"Meta","SpecimenDefinition.modifierExtension":"Extension","SpecimenDefinition.patientPreparation":"CodeableConcept","SpecimenDefinition.text":"Narrative","SpecimenDefinition.timeAspect":"string","SpecimenDefinition.typeCollected":"CodeableConcept","SpecimenDefinition.typeTested.container.additive.additiveCodeableConcept":"CodeableConcept","SpecimenDefinition.typeTested.container.additive.additiveReference":"Reference","SpecimenDefinition.typeTested.container.additive.extension":"Extension","SpecimenDefinition.typeTested.container.additive.id":"System.String","SpecimenDefinition.typeTested.container.additive.modifierExtension":"Extension","SpecimenDefinition.typeTested.container.cap":"CodeableConcept","SpecimenDefinition.typeTested.container.capacity":"Quantity","SpecimenDefinition.typeTested.container.description":"string","SpecimenDefinition.typeTested.container.extension":"Extension","SpecimenDefinition.typeTested.container.id":"System.String","SpecimenDefinition.typeTested.container.material":"CodeableConcept","SpecimenDefinition.typeTested.container.minimumVolumeQuantity":"Quantity","SpecimenDefinition.typeTested.container.minimumVolumeString":"string","SpecimenDefinition.typeTested.container.modifierExtension":"Extension","SpecimenDefinition.typeTested.container.preparation":"string","SpecimenDefinition.typeTested.container.type":"CodeableConcept","SpecimenDefinition.typeTested.extension":"Extension","SpecimenDefinition.typeTested.handling.extension":"Extension","SpecimenDefinition.typeTested.handling.id":"System.String","SpecimenDefinition.typeTested.handling.instruction":"string","SpecimenDefinition.typeTested.handling.maxDuration":"Duration","SpecimenDefinition.typeTested.handling.modifierExtension":"Extension","SpecimenDefinition.typeTested.handling.temperatureQualifier":"CodeableConcept","SpecimenDefinition.typeTested.handling.temperatureRange":"Range","SpecimenDefinition.typeTested.id":"System.String","SpecimenDefinition.typeTested.isDerived":"boolean","SpecimenDefinition.typeTested.modifierExtension":"Extension","SpecimenDefinition.typeTested.preference":"code","SpecimenDefinition.typeTested.rejectionCriterion":"CodeableConcept","SpecimenDefinition.typeTested.requirement":"string","SpecimenDefinition.typeTested.retentionTime":"Duration","SpecimenDefinition.typeTested.type":"CodeableConcept","StructureDefinition.abstract":"boolean","StructureDefinition.baseDefinition":"canonical","StructureDefinition.contact":"ContactDetail","StructureDefinition.contained":"Resource","StructureDefinition.context.expression":"string","StructureDefinition.context.extension":"Extension","StructureDefinition.context.id":"System.String","StructureDefinition.context.modifierExtension":"Extension","StructureDefinition.context.type":"code","StructureDefinition.contextInvariant":"string","StructureDefinition.copyright":"markdown","StructureDefinition.date":"dateTime","StructureDefinition.derivation":"code","StructureDefinition.description":"markdown","StructureDefinition.differential.element":"ElementDefinition","StructureDefinition.differential.extension":"Extension","StructureDefinition.differential.id":"System.String","StructureDefinition.differential.modifierExtension":"Extension","StructureDefinition.experimental":"boolean","StructureDefinition.extension":"Extension","StructureDefinition.fhirVersion":"code","StructureDefinition.id":"System.String","StructureDefinition.identifier":"Identifier","StructureDefinition.implicitRules":"uri","StructureDefinition.jurisdiction":"CodeableConcept","StructureDefinition.keyword":"Coding","StructureDefinition.kind":"code","StructureDefinition.language":"code","StructureDefinition.mapping.comment":"string","StructureDefinition.mapping.extension":"Extension","StructureDefinition.mapping.id":"System.String","StructureDefinition.mapping.identity":"id","StructureDefinition.mapping.modifierExtension":"Extension","StructureDefinition.mapping.name":"string","StructureDefinition.mapping.uri":"uri","StructureDefinition.meta":"Meta","StructureDefinition.modifierExtension":"Extension","StructureDefinition.name":"string","StructureDefinition.publisher":"string","StructureDefinition.purpose":"markdown","StructureDefinition.snapshot.element":"ElementDefinition","StructureDefinition.snapshot.extension":"Extension","StructureDefinition.snapshot.id":"System.String","StructureDefinition.snapshot.modifierExtension":"Extension","StructureDefinition.status":"code","StructureDefinition.text":"Narrative","StructureDefinition.title":"string","StructureDefinition.type":"uri","StructureDefinition.url":"uri","StructureDefinition.useContext":"UsageContext","StructureDefinition.version":"string","StructureMap.contact":"ContactDetail","StructureMap.contained":"Resource","StructureMap.copyright":"markdown","StructureMap.date":"dateTime","StructureMap.description":"markdown","StructureMap.experimental":"boolean","StructureMap.extension":"Extension","StructureMap.group.documentation":"string","StructureMap.group.extends":"id","StructureMap.group.extension":"Extension","StructureMap.group.id":"System.String","StructureMap.group.input.documentation":"string","StructureMap.group.input.extension":"Extension","StructureMap.group.input.id":"System.String","StructureMap.group.input.mode":"code","StructureMap.group.input.modifierExtension":"Extension","StructureMap.group.input.name":"id","StructureMap.group.input.type":"string","StructureMap.group.modifierExtension":"Extension","StructureMap.group.name":"id","StructureMap.group.rule.dependent.extension":"Extension","StructureMap.group.rule.dependent.id":"System.String","StructureMap.group.rule.dependent.modifierExtension":"Extension","StructureMap.group.rule.dependent.name":"id","StructureMap.group.rule.dependent.variable":"string","StructureMap.group.rule.documentation":"string","StructureMap.group.rule.extension":"Extension","StructureMap.group.rule.id":"System.String","StructureMap.group.rule.modifierExtension":"Extension","StructureMap.group.rule.name":"id","StructureMap.group.rule.source.check":"string","StructureMap.group.rule.source.condition":"string","StructureMap.group.rule.source.context":"id","StructureMap.group.rule.source.defaultValueAddress":"Address","StructureMap.group.rule.source.defaultValueAge":"Age","StructureMap.group.rule.source.defaultValueAnnotation":"Annotation","StructureMap.group.rule.source.defaultValueAttachment":"Attachment","StructureMap.group.rule.source.defaultValueBase64Binary":"base64Binary","StructureMap.group.rule.source.defaultValueBoolean":"boolean","StructureMap.group.rule.source.defaultValueCanonical":"canonical","StructureMap.group.rule.source.defaultValueCode":"code","StructureMap.group.rule.source.defaultValueCodeableConcept":"CodeableConcept","StructureMap.group.rule.source.defaultValueCoding":"Coding","StructureMap.group.rule.source.defaultValueContactDetail":"ContactDetail","StructureMap.group.rule.source.defaultValueContactPoint":"ContactPoint","StructureMap.group.rule.source.defaultValueContributor":"Contributor","StructureMap.group.rule.source.defaultValueCount":"Count","StructureMap.group.rule.source.defaultValueDataRequirement":"DataRequirement","StructureMap.group.rule.source.defaultValueDate":"date","StructureMap.group.rule.source.defaultValueDateTime":"dateTime","StructureMap.group.rule.source.defaultValueDecimal":"decimal","StructureMap.group.rule.source.defaultValueDistance":"Distance","StructureMap.group.rule.source.defaultValueDosage":"Dosage","StructureMap.group.rule.source.defaultValueDuration":"Duration","StructureMap.group.rule.source.defaultValueExpression":"Expression","StructureMap.group.rule.source.defaultValueHumanName":"HumanName","StructureMap.group.rule.source.defaultValueId":"id","StructureMap.group.rule.source.defaultValueIdentifier":"Identifier","StructureMap.group.rule.source.defaultValueInstant":"instant","StructureMap.group.rule.source.defaultValueInteger":"integer","StructureMap.group.rule.source.defaultValueMarkdown":"markdown","StructureMap.group.rule.source.defaultValueMeta":"Meta","StructureMap.group.rule.source.defaultValueMoney":"Money","StructureMap.group.rule.source.defaultValueOid":"oid","StructureMap.group.rule.source.defaultValueParameterDefinition":"ParameterDefinition","StructureMap.group.rule.source.defaultValuePeriod":"Period","StructureMap.group.rule.source.defaultValuePositiveInt":"positiveInt","StructureMap.group.rule.source.defaultValueQuantity":"Quantity","StructureMap.group.rule.source.defaultValueRange":"Range","StructureMap.group.rule.source.defaultValueRatio":"Ratio","StructureMap.group.rule.source.defaultValueReference":"Reference","StructureMap.group.rule.source.defaultValueRelatedArtifact":"RelatedArtifact","StructureMap.group.rule.source.defaultValueSampledData":"SampledData","StructureMap.group.rule.source.defaultValueSignature":"Signature","StructureMap.group.rule.source.defaultValueString":"string","StructureMap.group.rule.source.defaultValueTime":"time","StructureMap.group.rule.source.defaultValueTiming":"Timing","StructureMap.group.rule.source.defaultValueTriggerDefinition":"TriggerDefinition","StructureMap.group.rule.source.defaultValueUnsignedInt":"unsignedInt","StructureMap.group.rule.source.defaultValueUri":"uri","StructureMap.group.rule.source.defaultValueUrl":"url","StructureMap.group.rule.source.defaultValueUsageContext":"UsageContext","StructureMap.group.rule.source.defaultValueUuid":"uuid","StructureMap.group.rule.source.element":"string","StructureMap.group.rule.source.extension":"Extension","StructureMap.group.rule.source.id":"System.String","StructureMap.group.rule.source.listMode":"code","StructureMap.group.rule.source.logMessage":"string","StructureMap.group.rule.source.max":"string","StructureMap.group.rule.source.min":"integer","StructureMap.group.rule.source.modifierExtension":"Extension","StructureMap.group.rule.source.type":"string","StructureMap.group.rule.source.variable":"id","StructureMap.group.rule.target.context":"id","StructureMap.group.rule.target.contextType":"code","StructureMap.group.rule.target.element":"string","StructureMap.group.rule.target.extension":"Extension","StructureMap.group.rule.target.id":"System.String","StructureMap.group.rule.target.listMode":"code","StructureMap.group.rule.target.listRuleId":"id","StructureMap.group.rule.target.modifierExtension":"Extension","StructureMap.group.rule.target.parameter.extension":"Extension","StructureMap.group.rule.target.parameter.id":"System.String","StructureMap.group.rule.target.parameter.modifierExtension":"Extension","StructureMap.group.rule.target.parameter.valueBoolean":"boolean","StructureMap.group.rule.target.parameter.valueDecimal":"decimal","StructureMap.group.rule.target.parameter.valueId":"id","StructureMap.group.rule.target.parameter.valueInteger":"integer","StructureMap.group.rule.target.parameter.valueString":"string","StructureMap.group.rule.target.transform":"code","StructureMap.group.rule.target.variable":"id","StructureMap.group.typeMode":"code","StructureMap.id":"System.String","StructureMap.identifier":"Identifier","StructureMap.implicitRules":"uri","StructureMap.import":"canonical","StructureMap.jurisdiction":"CodeableConcept","StructureMap.language":"code","StructureMap.meta":"Meta","StructureMap.modifierExtension":"Extension","StructureMap.name":"string","StructureMap.publisher":"string","StructureMap.purpose":"markdown","StructureMap.status":"code","StructureMap.structure.alias":"string","StructureMap.structure.documentation":"string","StructureMap.structure.extension":"Extension","StructureMap.structure.id":"System.String","StructureMap.structure.mode":"code","StructureMap.structure.modifierExtension":"Extension","StructureMap.structure.url":"canonical","StructureMap.text":"Narrative","StructureMap.title":"string","StructureMap.url":"uri","StructureMap.useContext":"UsageContext","StructureMap.version":"string","Subscription.channel.endpoint":"url","Subscription.channel.extension":"Extension","Subscription.channel.header":"string","Subscription.channel.id":"System.String","Subscription.channel.modifierExtension":"Extension","Subscription.channel.payload":"code","Subscription.channel.type":"code","Subscription.contact":"ContactPoint","Subscription.contained":"Resource","Subscription.criteria":"string","Subscription.end":"instant","Subscription.error":"string","Subscription.extension":"Extension","Subscription.id":"System.String","Subscription.implicitRules":"uri","Subscription.language":"code","Subscription.meta":"Meta","Subscription.modifierExtension":"Extension","Subscription.reason":"string","Subscription.status":"code","Subscription.text":"Narrative","Substance.category":"CodeableConcept","Substance.code":"CodeableConcept","Substance.contained":"Resource","Substance.description":"string","Substance.extension":"Extension","Substance.id":"System.String","Substance.identifier":"Identifier","Substance.implicitRules":"uri","Substance.ingredient.extension":"Extension","Substance.ingredient.id":"System.String","Substance.ingredient.modifierExtension":"Extension","Substance.ingredient.quantity":"Ratio","Substance.ingredient.substanceCodeableConcept":"CodeableConcept","Substance.ingredient.substanceReference":"Reference","Substance.instance.expiry":"dateTime","Substance.instance.extension":"Extension","Substance.instance.id":"System.String","Substance.instance.identifier":"Identifier","Substance.instance.modifierExtension":"Extension","Substance.instance.quantity":"Quantity","Substance.language":"code","Substance.meta":"Meta","Substance.modifierExtension":"Extension","Substance.status":"code","Substance.text":"Narrative","SubstanceAmount.amountQuantity":"Quantity","SubstanceAmount.amountRange":"Range","SubstanceAmount.amountString":"string","SubstanceAmount.amountText":"string","SubstanceAmount.amountType":"CodeableConcept","SubstanceAmount.extension":"Extension","SubstanceAmount.id":"System.String","SubstanceAmount.modifierExtension":"Extension","SubstanceAmount.referenceRange.extension":"Extension","SubstanceAmount.referenceRange.highLimit":"Quantity","SubstanceAmount.referenceRange.id":"System.String","SubstanceAmount.referenceRange.lowLimit":"Quantity","SubstanceNucleicAcid.areaOfHybridisation":"string","SubstanceNucleicAcid.contained":"Resource","SubstanceNucleicAcid.extension":"Extension","SubstanceNucleicAcid.id":"System.String","SubstanceNucleicAcid.implicitRules":"uri","SubstanceNucleicAcid.language":"code","SubstanceNucleicAcid.meta":"Meta","SubstanceNucleicAcid.modifierExtension":"Extension","SubstanceNucleicAcid.numberOfSubunits":"integer","SubstanceNucleicAcid.oligoNucleotideType":"CodeableConcept","SubstanceNucleicAcid.sequenceType":"CodeableConcept","SubstanceNucleicAcid.subunit.extension":"Extension","SubstanceNucleicAcid.subunit.fivePrime":"CodeableConcept","SubstanceNucleicAcid.subunit.id":"System.String","SubstanceNucleicAcid.subunit.length":"integer","SubstanceNucleicAcid.subunit.linkage.connectivity":"string","SubstanceNucleicAcid.subunit.linkage.extension":"Extension","SubstanceNucleicAcid.subunit.linkage.id":"System.String","SubstanceNucleicAcid.subunit.linkage.identifier":"Identifier","SubstanceNucleicAcid.subunit.linkage.modifierExtension":"Extension","SubstanceNucleicAcid.subunit.linkage.name":"string","SubstanceNucleicAcid.subunit.linkage.residueSite":"string","SubstanceNucleicAcid.subunit.modifierExtension":"Extension","SubstanceNucleicAcid.subunit.sequence":"string","SubstanceNucleicAcid.subunit.sequenceAttachment":"Attachment","SubstanceNucleicAcid.subunit.subunit":"integer","SubstanceNucleicAcid.subunit.sugar.extension":"Extension","SubstanceNucleicAcid.subunit.sugar.id":"System.String","SubstanceNucleicAcid.subunit.sugar.identifier":"Identifier","SubstanceNucleicAcid.subunit.sugar.modifierExtension":"Extension","SubstanceNucleicAcid.subunit.sugar.name":"string","SubstanceNucleicAcid.subunit.sugar.residueSite":"string","SubstanceNucleicAcid.subunit.threePrime":"CodeableConcept","SubstanceNucleicAcid.text":"Narrative","SubstancePolymer.class":"CodeableConcept","SubstancePolymer.contained":"Resource","SubstancePolymer.copolymerConnectivity":"CodeableConcept","SubstancePolymer.extension":"Extension","SubstancePolymer.geometry":"CodeableConcept","SubstancePolymer.id":"System.String","SubstancePolymer.implicitRules":"uri","SubstancePolymer.language":"code","SubstancePolymer.meta":"Meta","SubstancePolymer.modification":"string","SubstancePolymer.modifierExtension":"Extension","SubstancePolymer.monomerSet.extension":"Extension","SubstancePolymer.monomerSet.id":"System.String","SubstancePolymer.monomerSet.modifierExtension":"Extension","SubstancePolymer.monomerSet.ratioType":"CodeableConcept","SubstancePolymer.monomerSet.startingMaterial.amount":"SubstanceAmount","SubstancePolymer.monomerSet.startingMaterial.extension":"Extension","SubstancePolymer.monomerSet.startingMaterial.id":"System.String","SubstancePolymer.monomerSet.startingMaterial.isDefining":"boolean","SubstancePolymer.monomerSet.startingMaterial.material":"CodeableConcept","SubstancePolymer.monomerSet.startingMaterial.modifierExtension":"Extension","SubstancePolymer.monomerSet.startingMaterial.type":"CodeableConcept","SubstancePolymer.repeat.averageMolecularFormula":"string","SubstancePolymer.repeat.extension":"Extension","SubstancePolymer.repeat.id":"System.String","SubstancePolymer.repeat.modifierExtension":"Extension","SubstancePolymer.repeat.numberOfUnits":"integer","SubstancePolymer.repeat.repeatUnit.amount":"SubstanceAmount","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount":"SubstanceAmount","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.degree":"CodeableConcept","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.extension":"Extension","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.id":"System.String","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.modifierExtension":"Extension","SubstancePolymer.repeat.repeatUnit.extension":"Extension","SubstancePolymer.repeat.repeatUnit.id":"System.String","SubstancePolymer.repeat.repeatUnit.modifierExtension":"Extension","SubstancePolymer.repeat.repeatUnit.orientationOfPolymerisation":"CodeableConcept","SubstancePolymer.repeat.repeatUnit.repeatUnit":"string","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.attachment":"Attachment","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.extension":"Extension","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.id":"System.String","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.modifierExtension":"Extension","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.representation":"string","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.type":"CodeableConcept","SubstancePolymer.repeat.repeatUnitAmountType":"CodeableConcept","SubstancePolymer.text":"Narrative","SubstanceProtein.contained":"Resource","SubstanceProtein.disulfideLinkage":"string","SubstanceProtein.extension":"Extension","SubstanceProtein.id":"System.String","SubstanceProtein.implicitRules":"uri","SubstanceProtein.language":"code","SubstanceProtein.meta":"Meta","SubstanceProtein.modifierExtension":"Extension","SubstanceProtein.numberOfSubunits":"integer","SubstanceProtein.sequenceType":"CodeableConcept","SubstanceProtein.subunit.cTerminalModification":"string","SubstanceProtein.subunit.cTerminalModificationId":"Identifier","SubstanceProtein.subunit.extension":"Extension","SubstanceProtein.subunit.id":"System.String","SubstanceProtein.subunit.length":"integer","SubstanceProtein.subunit.modifierExtension":"Extension","SubstanceProtein.subunit.nTerminalModification":"string","SubstanceProtein.subunit.nTerminalModificationId":"Identifier","SubstanceProtein.subunit.sequence":"string","SubstanceProtein.subunit.sequenceAttachment":"Attachment","SubstanceProtein.subunit.subunit":"integer","SubstanceProtein.text":"Narrative","SubstanceReferenceInformation.classification.classification":"CodeableConcept","SubstanceReferenceInformation.classification.domain":"CodeableConcept","SubstanceReferenceInformation.classification.extension":"Extension","SubstanceReferenceInformation.classification.id":"System.String","SubstanceReferenceInformation.classification.modifierExtension":"Extension","SubstanceReferenceInformation.classification.source":"Reference","SubstanceReferenceInformation.classification.subtype":"CodeableConcept","SubstanceReferenceInformation.comment":"string","SubstanceReferenceInformation.contained":"Resource","SubstanceReferenceInformation.extension":"Extension","SubstanceReferenceInformation.gene.extension":"Extension","SubstanceReferenceInformation.gene.gene":"CodeableConcept","SubstanceReferenceInformation.gene.geneSequenceOrigin":"CodeableConcept","SubstanceReferenceInformation.gene.id":"System.String","SubstanceReferenceInformation.gene.modifierExtension":"Extension","SubstanceReferenceInformation.gene.source":"Reference","SubstanceReferenceInformation.geneElement.element":"Identifier","SubstanceReferenceInformation.geneElement.extension":"Extension","SubstanceReferenceInformation.geneElement.id":"System.String","SubstanceReferenceInformation.geneElement.modifierExtension":"Extension","SubstanceReferenceInformation.geneElement.source":"Reference","SubstanceReferenceInformation.geneElement.type":"CodeableConcept","SubstanceReferenceInformation.id":"System.String","SubstanceReferenceInformation.implicitRules":"uri","SubstanceReferenceInformation.language":"code","SubstanceReferenceInformation.meta":"Meta","SubstanceReferenceInformation.modifierExtension":"Extension","SubstanceReferenceInformation.target.amountQuantity":"Quantity","SubstanceReferenceInformation.target.amountRange":"Range","SubstanceReferenceInformation.target.amountString":"string","SubstanceReferenceInformation.target.amountType":"CodeableConcept","SubstanceReferenceInformation.target.extension":"Extension","SubstanceReferenceInformation.target.id":"System.String","SubstanceReferenceInformation.target.interaction":"CodeableConcept","SubstanceReferenceInformation.target.modifierExtension":"Extension","SubstanceReferenceInformation.target.organism":"CodeableConcept","SubstanceReferenceInformation.target.organismType":"CodeableConcept","SubstanceReferenceInformation.target.source":"Reference","SubstanceReferenceInformation.target.target":"Identifier","SubstanceReferenceInformation.target.type":"CodeableConcept","SubstanceReferenceInformation.text":"Narrative","SubstanceSourceMaterial.contained":"Resource","SubstanceSourceMaterial.countryOfOrigin":"CodeableConcept","SubstanceSourceMaterial.developmentStage":"CodeableConcept","SubstanceSourceMaterial.extension":"Extension","SubstanceSourceMaterial.fractionDescription.extension":"Extension","SubstanceSourceMaterial.fractionDescription.fraction":"string","SubstanceSourceMaterial.fractionDescription.id":"System.String","SubstanceSourceMaterial.fractionDescription.materialType":"CodeableConcept","SubstanceSourceMaterial.fractionDescription.modifierExtension":"Extension","SubstanceSourceMaterial.geographicalLocation":"string","SubstanceSourceMaterial.id":"System.String","SubstanceSourceMaterial.implicitRules":"uri","SubstanceSourceMaterial.language":"code","SubstanceSourceMaterial.meta":"Meta","SubstanceSourceMaterial.modifierExtension":"Extension","SubstanceSourceMaterial.organism.author.authorDescription":"string","SubstanceSourceMaterial.organism.author.authorType":"CodeableConcept","SubstanceSourceMaterial.organism.author.extension":"Extension","SubstanceSourceMaterial.organism.author.id":"System.String","SubstanceSourceMaterial.organism.author.modifierExtension":"Extension","SubstanceSourceMaterial.organism.extension":"Extension","SubstanceSourceMaterial.organism.family":"CodeableConcept","SubstanceSourceMaterial.organism.genus":"CodeableConcept","SubstanceSourceMaterial.organism.hybrid.extension":"Extension","SubstanceSourceMaterial.organism.hybrid.hybridType":"CodeableConcept","SubstanceSourceMaterial.organism.hybrid.id":"System.String","SubstanceSourceMaterial.organism.hybrid.maternalOrganismId":"string","SubstanceSourceMaterial.organism.hybrid.maternalOrganismName":"string","SubstanceSourceMaterial.organism.hybrid.modifierExtension":"Extension","SubstanceSourceMaterial.organism.hybrid.paternalOrganismId":"string","SubstanceSourceMaterial.organism.hybrid.paternalOrganismName":"string","SubstanceSourceMaterial.organism.id":"System.String","SubstanceSourceMaterial.organism.intraspecificDescription":"string","SubstanceSourceMaterial.organism.intraspecificType":"CodeableConcept","SubstanceSourceMaterial.organism.modifierExtension":"Extension","SubstanceSourceMaterial.organism.organismGeneral.class":"CodeableConcept","SubstanceSourceMaterial.organism.organismGeneral.extension":"Extension","SubstanceSourceMaterial.organism.organismGeneral.id":"System.String","SubstanceSourceMaterial.organism.organismGeneral.kingdom":"CodeableConcept","SubstanceSourceMaterial.organism.organismGeneral.modifierExtension":"Extension","SubstanceSourceMaterial.organism.organismGeneral.order":"CodeableConcept","SubstanceSourceMaterial.organism.organismGeneral.phylum":"CodeableConcept","SubstanceSourceMaterial.organism.species":"CodeableConcept","SubstanceSourceMaterial.organismId":"Identifier","SubstanceSourceMaterial.organismName":"string","SubstanceSourceMaterial.parentSubstanceId":"Identifier","SubstanceSourceMaterial.parentSubstanceName":"string","SubstanceSourceMaterial.partDescription.extension":"Extension","SubstanceSourceMaterial.partDescription.id":"System.String","SubstanceSourceMaterial.partDescription.modifierExtension":"Extension","SubstanceSourceMaterial.partDescription.part":"CodeableConcept","SubstanceSourceMaterial.partDescription.partLocation":"CodeableConcept","SubstanceSourceMaterial.sourceMaterialClass":"CodeableConcept","SubstanceSourceMaterial.sourceMaterialState":"CodeableConcept","SubstanceSourceMaterial.sourceMaterialType":"CodeableConcept","SubstanceSourceMaterial.text":"Narrative","SubstanceSpecification.code.code":"CodeableConcept","SubstanceSpecification.code.comment":"string","SubstanceSpecification.code.extension":"Extension","SubstanceSpecification.code.id":"System.String","SubstanceSpecification.code.modifierExtension":"Extension","SubstanceSpecification.code.source":"Reference","SubstanceSpecification.code.status":"CodeableConcept","SubstanceSpecification.code.statusDate":"dateTime","SubstanceSpecification.comment":"string","SubstanceSpecification.contained":"Resource","SubstanceSpecification.description":"string","SubstanceSpecification.domain":"CodeableConcept","SubstanceSpecification.extension":"Extension","SubstanceSpecification.id":"System.String","SubstanceSpecification.identifier":"Identifier","SubstanceSpecification.implicitRules":"uri","SubstanceSpecification.language":"code","SubstanceSpecification.meta":"Meta","SubstanceSpecification.modifierExtension":"Extension","SubstanceSpecification.moiety.amountQuantity":"Quantity","SubstanceSpecification.moiety.amountString":"string","SubstanceSpecification.moiety.extension":"Extension","SubstanceSpecification.moiety.id":"System.String","SubstanceSpecification.moiety.identifier":"Identifier","SubstanceSpecification.moiety.modifierExtension":"Extension","SubstanceSpecification.moiety.molecularFormula":"string","SubstanceSpecification.moiety.name":"string","SubstanceSpecification.moiety.opticalActivity":"CodeableConcept","SubstanceSpecification.moiety.role":"CodeableConcept","SubstanceSpecification.moiety.stereochemistry":"CodeableConcept","SubstanceSpecification.name.domain":"CodeableConcept","SubstanceSpecification.name.extension":"Extension","SubstanceSpecification.name.id":"System.String","SubstanceSpecification.name.jurisdiction":"CodeableConcept","SubstanceSpecification.name.language":"CodeableConcept","SubstanceSpecification.name.modifierExtension":"Extension","SubstanceSpecification.name.name":"string","SubstanceSpecification.name.official.authority":"CodeableConcept","SubstanceSpecification.name.official.date":"dateTime","SubstanceSpecification.name.official.extension":"Extension","SubstanceSpecification.name.official.id":"System.String","SubstanceSpecification.name.official.modifierExtension":"Extension","SubstanceSpecification.name.official.status":"CodeableConcept","SubstanceSpecification.name.preferred":"boolean","SubstanceSpecification.name.source":"Reference","SubstanceSpecification.name.status":"CodeableConcept","SubstanceSpecification.name.type":"CodeableConcept","SubstanceSpecification.nucleicAcid":"Reference","SubstanceSpecification.polymer":"Reference","SubstanceSpecification.property.amountQuantity":"Quantity","SubstanceSpecification.property.amountString":"string","SubstanceSpecification.property.category":"CodeableConcept","SubstanceSpecification.property.code":"CodeableConcept","SubstanceSpecification.property.definingSubstanceCodeableConcept":"CodeableConcept","SubstanceSpecification.property.definingSubstanceReference":"Reference","SubstanceSpecification.property.extension":"Extension","SubstanceSpecification.property.id":"System.String","SubstanceSpecification.property.modifierExtension":"Extension","SubstanceSpecification.property.parameters":"string","SubstanceSpecification.protein":"Reference","SubstanceSpecification.referenceInformation":"Reference","SubstanceSpecification.relationship.amountQuantity":"Quantity","SubstanceSpecification.relationship.amountRange":"Range","SubstanceSpecification.relationship.amountRatio":"Ratio","SubstanceSpecification.relationship.amountRatioLowLimit":"Ratio","SubstanceSpecification.relationship.amountString":"string","SubstanceSpecification.relationship.amountType":"CodeableConcept","SubstanceSpecification.relationship.extension":"Extension","SubstanceSpecification.relationship.id":"System.String","SubstanceSpecification.relationship.isDefining":"boolean","SubstanceSpecification.relationship.modifierExtension":"Extension","SubstanceSpecification.relationship.relationship":"CodeableConcept","SubstanceSpecification.relationship.source":"Reference","SubstanceSpecification.relationship.substanceCodeableConcept":"CodeableConcept","SubstanceSpecification.relationship.substanceReference":"Reference","SubstanceSpecification.source":"Reference","SubstanceSpecification.sourceMaterial":"Reference","SubstanceSpecification.status":"CodeableConcept","SubstanceSpecification.structure.extension":"Extension","SubstanceSpecification.structure.id":"System.String","SubstanceSpecification.structure.isotope.extension":"Extension","SubstanceSpecification.structure.isotope.halfLife":"Quantity","SubstanceSpecification.structure.isotope.id":"System.String","SubstanceSpecification.structure.isotope.identifier":"Identifier","SubstanceSpecification.structure.isotope.modifierExtension":"Extension","SubstanceSpecification.structure.isotope.molecularWeight.amount":"Quantity","SubstanceSpecification.structure.isotope.molecularWeight.extension":"Extension","SubstanceSpecification.structure.isotope.molecularWeight.id":"System.String","SubstanceSpecification.structure.isotope.molecularWeight.method":"CodeableConcept","SubstanceSpecification.structure.isotope.molecularWeight.modifierExtension":"Extension","SubstanceSpecification.structure.isotope.molecularWeight.type":"CodeableConcept","SubstanceSpecification.structure.isotope.name":"CodeableConcept","SubstanceSpecification.structure.isotope.substitution":"CodeableConcept","SubstanceSpecification.structure.modifierExtension":"Extension","SubstanceSpecification.structure.molecularFormula":"string","SubstanceSpecification.structure.molecularFormulaByMoiety":"string","SubstanceSpecification.structure.opticalActivity":"CodeableConcept","SubstanceSpecification.structure.representation.attachment":"Attachment","SubstanceSpecification.structure.representation.extension":"Extension","SubstanceSpecification.structure.representation.id":"System.String","SubstanceSpecification.structure.representation.modifierExtension":"Extension","SubstanceSpecification.structure.representation.representation":"string","SubstanceSpecification.structure.representation.type":"CodeableConcept","SubstanceSpecification.structure.source":"Reference","SubstanceSpecification.structure.stereochemistry":"CodeableConcept","SubstanceSpecification.text":"Narrative","SubstanceSpecification.type":"CodeableConcept","SupplyDelivery.basedOn":"Reference","SupplyDelivery.contained":"Resource","SupplyDelivery.destination":"Reference","SupplyDelivery.extension":"Extension","SupplyDelivery.id":"System.String","SupplyDelivery.identifier":"Identifier","SupplyDelivery.implicitRules":"uri","SupplyDelivery.language":"code","SupplyDelivery.meta":"Meta","SupplyDelivery.modifierExtension":"Extension","SupplyDelivery.occurrenceDateTime":"dateTime","SupplyDelivery.occurrencePeriod":"Period","SupplyDelivery.occurrenceTiming":"Timing","SupplyDelivery.partOf":"Reference","SupplyDelivery.patient":"Reference","SupplyDelivery.receiver":"Reference","SupplyDelivery.status":"code","SupplyDelivery.suppliedItem.extension":"Extension","SupplyDelivery.suppliedItem.id":"System.String","SupplyDelivery.suppliedItem.itemCodeableConcept":"CodeableConcept","SupplyDelivery.suppliedItem.itemReference":"Reference","SupplyDelivery.suppliedItem.modifierExtension":"Extension","SupplyDelivery.suppliedItem.quantity":"Quantity","SupplyDelivery.supplier":"Reference","SupplyDelivery.text":"Narrative","SupplyDelivery.type":"CodeableConcept","SupplyRequest.authoredOn":"dateTime","SupplyRequest.category":"CodeableConcept","SupplyRequest.contained":"Resource","SupplyRequest.deliverFrom":"Reference","SupplyRequest.deliverTo":"Reference","SupplyRequest.extension":"Extension","SupplyRequest.id":"System.String","SupplyRequest.identifier":"Identifier","SupplyRequest.implicitRules":"uri","SupplyRequest.itemCodeableConcept":"CodeableConcept","SupplyRequest.itemReference":"Reference","SupplyRequest.language":"code","SupplyRequest.meta":"Meta","SupplyRequest.modifierExtension":"Extension","SupplyRequest.occurrenceDateTime":"dateTime","SupplyRequest.occurrencePeriod":"Period","SupplyRequest.occurrenceTiming":"Timing","SupplyRequest.parameter.code":"CodeableConcept","SupplyRequest.parameter.extension":"Extension","SupplyRequest.parameter.id":"System.String","SupplyRequest.parameter.modifierExtension":"Extension","SupplyRequest.parameter.valueBoolean":"boolean","SupplyRequest.parameter.valueCodeableConcept":"CodeableConcept","SupplyRequest.parameter.valueQuantity":"Quantity","SupplyRequest.parameter.valueRange":"Range","SupplyRequest.priority":"code","SupplyRequest.quantity":"Quantity","SupplyRequest.reasonCode":"CodeableConcept","SupplyRequest.reasonReference":"Reference","SupplyRequest.requester":"Reference","SupplyRequest.status":"code","SupplyRequest.supplier":"Reference","SupplyRequest.text":"Narrative","Task.authoredOn":"dateTime","Task.basedOn":"Reference","Task.businessStatus":"CodeableConcept","Task.code":"CodeableConcept","Task.contained":"Resource","Task.description":"string","Task.encounter":"Reference","Task.executionPeriod":"Period","Task.extension":"Extension","Task.focus":"Reference","Task.for":"Reference","Task.groupIdentifier":"Identifier","Task.id":"System.String","Task.identifier":"Identifier","Task.implicitRules":"uri","Task.input.extension":"Extension","Task.input.id":"System.String","Task.input.modifierExtension":"Extension","Task.input.type":"CodeableConcept","Task.input.valueAddress":"Address","Task.input.valueAge":"Age","Task.input.valueAnnotation":"Annotation","Task.input.valueAttachment":"Attachment","Task.input.valueBase64Binary":"base64Binary","Task.input.valueBoolean":"boolean","Task.input.valueCanonical":"canonical","Task.input.valueCode":"code","Task.input.valueCodeableConcept":"CodeableConcept","Task.input.valueCoding":"Coding","Task.input.valueContactDetail":"ContactDetail","Task.input.valueContactPoint":"ContactPoint","Task.input.valueContributor":"Contributor","Task.input.valueCount":"Count","Task.input.valueDataRequirement":"DataRequirement","Task.input.valueDate":"date","Task.input.valueDateTime":"dateTime","Task.input.valueDecimal":"decimal","Task.input.valueDistance":"Distance","Task.input.valueDosage":"Dosage","Task.input.valueDuration":"Duration","Task.input.valueExpression":"Expression","Task.input.valueHumanName":"HumanName","Task.input.valueId":"id","Task.input.valueIdentifier":"Identifier","Task.input.valueInstant":"instant","Task.input.valueInteger":"integer","Task.input.valueMarkdown":"markdown","Task.input.valueMeta":"Meta","Task.input.valueMoney":"Money","Task.input.valueOid":"oid","Task.input.valueParameterDefinition":"ParameterDefinition","Task.input.valuePeriod":"Period","Task.input.valuePositiveInt":"positiveInt","Task.input.valueQuantity":"Quantity","Task.input.valueRange":"Range","Task.input.valueRatio":"Ratio","Task.input.valueReference":"Reference","Task.input.valueRelatedArtifact":"RelatedArtifact","Task.input.valueSampledData":"SampledData","Task.input.valueSignature":"Signature","Task.input.valueString":"string","Task.input.valueTime":"time","Task.input.valueTiming":"Timing","Task.input.valueTriggerDefinition":"TriggerDefinition","Task.input.valueUnsignedInt":"unsignedInt","Task.input.valueUri":"uri","Task.input.valueUrl":"url","Task.input.valueUsageContext":"UsageContext","Task.input.valueUuid":"uuid","Task.instantiatesCanonical":"canonical","Task.instantiatesUri":"uri","Task.insurance":"Reference","Task.intent":"code","Task.language":"code","Task.lastModified":"dateTime","Task.location":"Reference","Task.meta":"Meta","Task.modifierExtension":"Extension","Task.note":"Annotation","Task.output.extension":"Extension","Task.output.id":"System.String","Task.output.modifierExtension":"Extension","Task.output.type":"CodeableConcept","Task.output.valueAddress":"Address","Task.output.valueAge":"Age","Task.output.valueAnnotation":"Annotation","Task.output.valueAttachment":"Attachment","Task.output.valueBase64Binary":"base64Binary","Task.output.valueBoolean":"boolean","Task.output.valueCanonical":"canonical","Task.output.valueCode":"code","Task.output.valueCodeableConcept":"CodeableConcept","Task.output.valueCoding":"Coding","Task.output.valueContactDetail":"ContactDetail","Task.output.valueContactPoint":"ContactPoint","Task.output.valueContributor":"Contributor","Task.output.valueCount":"Count","Task.output.valueDataRequirement":"DataRequirement","Task.output.valueDate":"date","Task.output.valueDateTime":"dateTime","Task.output.valueDecimal":"decimal","Task.output.valueDistance":"Distance","Task.output.valueDosage":"Dosage","Task.output.valueDuration":"Duration","Task.output.valueExpression":"Expression","Task.output.valueHumanName":"HumanName","Task.output.valueId":"id","Task.output.valueIdentifier":"Identifier","Task.output.valueInstant":"instant","Task.output.valueInteger":"integer","Task.output.valueMarkdown":"markdown","Task.output.valueMeta":"Meta","Task.output.valueMoney":"Money","Task.output.valueOid":"oid","Task.output.valueParameterDefinition":"ParameterDefinition","Task.output.valuePeriod":"Period","Task.output.valuePositiveInt":"positiveInt","Task.output.valueQuantity":"Quantity","Task.output.valueRange":"Range","Task.output.valueRatio":"Ratio","Task.output.valueReference":"Reference","Task.output.valueRelatedArtifact":"RelatedArtifact","Task.output.valueSampledData":"SampledData","Task.output.valueSignature":"Signature","Task.output.valueString":"string","Task.output.valueTime":"time","Task.output.valueTiming":"Timing","Task.output.valueTriggerDefinition":"TriggerDefinition","Task.output.valueUnsignedInt":"unsignedInt","Task.output.valueUri":"uri","Task.output.valueUrl":"url","Task.output.valueUsageContext":"UsageContext","Task.output.valueUuid":"uuid","Task.owner":"Reference","Task.partOf":"Reference","Task.performerType":"CodeableConcept","Task.priority":"code","Task.reasonCode":"CodeableConcept","Task.reasonReference":"Reference","Task.relevantHistory":"Reference","Task.requester":"Reference","Task.restriction.extension":"Extension","Task.restriction.id":"System.String","Task.restriction.modifierExtension":"Extension","Task.restriction.period":"Period","Task.restriction.recipient":"Reference","Task.restriction.repetitions":"positiveInt","Task.status":"code","Task.statusReason":"CodeableConcept","Task.text":"Narrative","TerminologyCapabilities.closure.extension":"Extension","TerminologyCapabilities.closure.id":"System.String","TerminologyCapabilities.closure.modifierExtension":"Extension","TerminologyCapabilities.closure.translation":"boolean","TerminologyCapabilities.codeSearch":"code","TerminologyCapabilities.codeSystem.extension":"Extension","TerminologyCapabilities.codeSystem.id":"System.String","TerminologyCapabilities.codeSystem.modifierExtension":"Extension","TerminologyCapabilities.codeSystem.subsumption":"boolean","TerminologyCapabilities.codeSystem.uri":"canonical","TerminologyCapabilities.codeSystem.version.code":"string","TerminologyCapabilities.codeSystem.version.compositional":"boolean","TerminologyCapabilities.codeSystem.version.extension":"Extension","TerminologyCapabilities.codeSystem.version.filter.code":"code","TerminologyCapabilities.codeSystem.version.filter.extension":"Extension","TerminologyCapabilities.codeSystem.version.filter.id":"System.String","TerminologyCapabilities.codeSystem.version.filter.modifierExtension":"Extension","TerminologyCapabilities.codeSystem.version.filter.op":"code","TerminologyCapabilities.codeSystem.version.id":"System.String","TerminologyCapabilities.codeSystem.version.isDefault":"boolean","TerminologyCapabilities.codeSystem.version.language":"code","TerminologyCapabilities.codeSystem.version.modifierExtension":"Extension","TerminologyCapabilities.codeSystem.version.property":"code","TerminologyCapabilities.contact":"ContactDetail","TerminologyCapabilities.contained":"Resource","TerminologyCapabilities.copyright":"markdown","TerminologyCapabilities.date":"dateTime","TerminologyCapabilities.description":"markdown","TerminologyCapabilities.expansion.extension":"Extension","TerminologyCapabilities.expansion.hierarchical":"boolean","TerminologyCapabilities.expansion.id":"System.String","TerminologyCapabilities.expansion.incomplete":"boolean","TerminologyCapabilities.expansion.modifierExtension":"Extension","TerminologyCapabilities.expansion.paging":"boolean","TerminologyCapabilities.expansion.parameter.documentation":"string","TerminologyCapabilities.expansion.parameter.extension":"Extension","TerminologyCapabilities.expansion.parameter.id":"System.String","TerminologyCapabilities.expansion.parameter.modifierExtension":"Extension","TerminologyCapabilities.expansion.parameter.name":"code","TerminologyCapabilities.expansion.textFilter":"markdown","TerminologyCapabilities.experimental":"boolean","TerminologyCapabilities.extension":"Extension","TerminologyCapabilities.id":"System.String","TerminologyCapabilities.implementation.description":"string","TerminologyCapabilities.implementation.extension":"Extension","TerminologyCapabilities.implementation.id":"System.String","TerminologyCapabilities.implementation.modifierExtension":"Extension","TerminologyCapabilities.implementation.url":"url","TerminologyCapabilities.implicitRules":"uri","TerminologyCapabilities.jurisdiction":"CodeableConcept","TerminologyCapabilities.kind":"code","TerminologyCapabilities.language":"code","TerminologyCapabilities.lockedDate":"boolean","TerminologyCapabilities.meta":"Meta","TerminologyCapabilities.modifierExtension":"Extension","TerminologyCapabilities.name":"string","TerminologyCapabilities.publisher":"string","TerminologyCapabilities.purpose":"markdown","TerminologyCapabilities.software.extension":"Extension","TerminologyCapabilities.software.id":"System.String","TerminologyCapabilities.software.modifierExtension":"Extension","TerminologyCapabilities.software.name":"string","TerminologyCapabilities.software.version":"string","TerminologyCapabilities.status":"code","TerminologyCapabilities.text":"Narrative","TerminologyCapabilities.title":"string","TerminologyCapabilities.translation.extension":"Extension","TerminologyCapabilities.translation.id":"System.String","TerminologyCapabilities.translation.modifierExtension":"Extension","TerminologyCapabilities.translation.needsMap":"boolean","TerminologyCapabilities.url":"uri","TerminologyCapabilities.useContext":"UsageContext","TerminologyCapabilities.validateCode.extension":"Extension","TerminologyCapabilities.validateCode.id":"System.String","TerminologyCapabilities.validateCode.modifierExtension":"Extension","TerminologyCapabilities.validateCode.translations":"boolean","TerminologyCapabilities.version":"string","TestReport.contained":"Resource","TestReport.extension":"Extension","TestReport.id":"System.String","TestReport.identifier":"Identifier","TestReport.implicitRules":"uri","TestReport.issued":"dateTime","TestReport.language":"code","TestReport.meta":"Meta","TestReport.modifierExtension":"Extension","TestReport.name":"string","TestReport.participant.display":"string","TestReport.participant.extension":"Extension","TestReport.participant.id":"System.String","TestReport.participant.modifierExtension":"Extension","TestReport.participant.type":"code","TestReport.participant.uri":"uri","TestReport.result":"code","TestReport.score":"decimal","TestReport.setup.action.assert.detail":"string","TestReport.setup.action.assert.extension":"Extension","TestReport.setup.action.assert.id":"System.String","TestReport.setup.action.assert.message":"markdown","TestReport.setup.action.assert.modifierExtension":"Extension","TestReport.setup.action.assert.result":"code","TestReport.setup.action.extension":"Extension","TestReport.setup.action.id":"System.String","TestReport.setup.action.modifierExtension":"Extension","TestReport.setup.action.operation.detail":"uri","TestReport.setup.action.operation.extension":"Extension","TestReport.setup.action.operation.id":"System.String","TestReport.setup.action.operation.message":"markdown","TestReport.setup.action.operation.modifierExtension":"Extension","TestReport.setup.action.operation.result":"code","TestReport.setup.extension":"Extension","TestReport.setup.id":"System.String","TestReport.setup.modifierExtension":"Extension","TestReport.status":"code","TestReport.teardown.action.extension":"Extension","TestReport.teardown.action.id":"System.String","TestReport.teardown.action.modifierExtension":"Extension","TestReport.teardown.extension":"Extension","TestReport.teardown.id":"System.String","TestReport.teardown.modifierExtension":"Extension","TestReport.test.action.extension":"Extension","TestReport.test.action.id":"System.String","TestReport.test.action.modifierExtension":"Extension","TestReport.test.description":"string","TestReport.test.extension":"Extension","TestReport.test.id":"System.String","TestReport.test.modifierExtension":"Extension","TestReport.test.name":"string","TestReport.testScript":"Reference","TestReport.tester":"string","TestReport.text":"Narrative","TestScript.contact":"ContactDetail","TestScript.contained":"Resource","TestScript.copyright":"markdown","TestScript.date":"dateTime","TestScript.description":"markdown","TestScript.destination.extension":"Extension","TestScript.destination.id":"System.String","TestScript.destination.index":"integer","TestScript.destination.modifierExtension":"Extension","TestScript.destination.profile":"Coding","TestScript.experimental":"boolean","TestScript.extension":"Extension","TestScript.fixture.autocreate":"boolean","TestScript.fixture.autodelete":"boolean","TestScript.fixture.extension":"Extension","TestScript.fixture.id":"System.String","TestScript.fixture.modifierExtension":"Extension","TestScript.fixture.resource":"Reference","TestScript.id":"System.String","TestScript.identifier":"Identifier","TestScript.implicitRules":"uri","TestScript.jurisdiction":"CodeableConcept","TestScript.language":"code","TestScript.meta":"Meta","TestScript.metadata.capability.capabilities":"canonical","TestScript.metadata.capability.description":"string","TestScript.metadata.capability.destination":"integer","TestScript.metadata.capability.extension":"Extension","TestScript.metadata.capability.id":"System.String","TestScript.metadata.capability.link":"uri","TestScript.metadata.capability.modifierExtension":"Extension","TestScript.metadata.capability.origin":"integer","TestScript.metadata.capability.required":"boolean","TestScript.metadata.capability.validated":"boolean","TestScript.metadata.extension":"Extension","TestScript.metadata.id":"System.String","TestScript.metadata.link.description":"string","TestScript.metadata.link.extension":"Extension","TestScript.metadata.link.id":"System.String","TestScript.metadata.link.modifierExtension":"Extension","TestScript.metadata.link.url":"uri","TestScript.metadata.modifierExtension":"Extension","TestScript.modifierExtension":"Extension","TestScript.name":"string","TestScript.origin.extension":"Extension","TestScript.origin.id":"System.String","TestScript.origin.index":"integer","TestScript.origin.modifierExtension":"Extension","TestScript.origin.profile":"Coding","TestScript.profile":"Reference","TestScript.publisher":"string","TestScript.purpose":"markdown","TestScript.setup.action.assert.compareToSourceExpression":"string","TestScript.setup.action.assert.compareToSourceId":"string","TestScript.setup.action.assert.compareToSourcePath":"string","TestScript.setup.action.assert.contentType":"code","TestScript.setup.action.assert.description":"string","TestScript.setup.action.assert.direction":"code","TestScript.setup.action.assert.expression":"string","TestScript.setup.action.assert.extension":"Extension","TestScript.setup.action.assert.headerField":"string","TestScript.setup.action.assert.id":"System.String","TestScript.setup.action.assert.label":"string","TestScript.setup.action.assert.minimumId":"string","TestScript.setup.action.assert.modifierExtension":"Extension","TestScript.setup.action.assert.navigationLinks":"boolean","TestScript.setup.action.assert.operator":"code","TestScript.setup.action.assert.path":"string","TestScript.setup.action.assert.requestMethod":"code","TestScript.setup.action.assert.requestURL":"string","TestScript.setup.action.assert.resource":"code","TestScript.setup.action.assert.response":"code","TestScript.setup.action.assert.responseCode":"string","TestScript.setup.action.assert.sourceId":"id","TestScript.setup.action.assert.validateProfileId":"id","TestScript.setup.action.assert.value":"string","TestScript.setup.action.assert.warningOnly":"boolean","TestScript.setup.action.extension":"Extension","TestScript.setup.action.id":"System.String","TestScript.setup.action.modifierExtension":"Extension","TestScript.setup.action.operation.accept":"code","TestScript.setup.action.operation.contentType":"code","TestScript.setup.action.operation.description":"string","TestScript.setup.action.operation.destination":"integer","TestScript.setup.action.operation.encodeRequestUrl":"boolean","TestScript.setup.action.operation.extension":"Extension","TestScript.setup.action.operation.id":"System.String","TestScript.setup.action.operation.label":"string","TestScript.setup.action.operation.method":"code","TestScript.setup.action.operation.modifierExtension":"Extension","TestScript.setup.action.operation.origin":"integer","TestScript.setup.action.operation.params":"string","TestScript.setup.action.operation.requestHeader.extension":"Extension","TestScript.setup.action.operation.requestHeader.field":"string","TestScript.setup.action.operation.requestHeader.id":"System.String","TestScript.setup.action.operation.requestHeader.modifierExtension":"Extension","TestScript.setup.action.operation.requestHeader.value":"string","TestScript.setup.action.operation.requestId":"id","TestScript.setup.action.operation.resource":"code","TestScript.setup.action.operation.responseId":"id","TestScript.setup.action.operation.sourceId":"id","TestScript.setup.action.operation.targetId":"id","TestScript.setup.action.operation.type":"Coding","TestScript.setup.action.operation.url":"string","TestScript.setup.extension":"Extension","TestScript.setup.id":"System.String","TestScript.setup.modifierExtension":"Extension","TestScript.status":"code","TestScript.teardown.action.extension":"Extension","TestScript.teardown.action.id":"System.String","TestScript.teardown.action.modifierExtension":"Extension","TestScript.teardown.extension":"Extension","TestScript.teardown.id":"System.String","TestScript.teardown.modifierExtension":"Extension","TestScript.test.action.extension":"Extension","TestScript.test.action.id":"System.String","TestScript.test.action.modifierExtension":"Extension","TestScript.test.description":"string","TestScript.test.extension":"Extension","TestScript.test.id":"System.String","TestScript.test.modifierExtension":"Extension","TestScript.test.name":"string","TestScript.text":"Narrative","TestScript.title":"string","TestScript.url":"uri","TestScript.useContext":"UsageContext","TestScript.variable.defaultValue":"string","TestScript.variable.description":"string","TestScript.variable.expression":"string","TestScript.variable.extension":"Extension","TestScript.variable.headerField":"string","TestScript.variable.hint":"string","TestScript.variable.id":"System.String","TestScript.variable.modifierExtension":"Extension","TestScript.variable.name":"string","TestScript.variable.path":"string","TestScript.variable.sourceId":"id","TestScript.version":"string","Timing.code":"CodeableConcept","Timing.event":"dateTime","Timing.extension":"Extension","Timing.id":"System.String","Timing.modifierExtension":"Extension","Timing.repeat.boundsDuration":"Duration","Timing.repeat.boundsPeriod":"Period","Timing.repeat.boundsRange":"Range","Timing.repeat.count":"positiveInt","Timing.repeat.countMax":"positiveInt","Timing.repeat.dayOfWeek":"code","Timing.repeat.duration":"decimal","Timing.repeat.durationMax":"decimal","Timing.repeat.durationUnit":"code","Timing.repeat.extension":"Extension","Timing.repeat.frequency":"positiveInt","Timing.repeat.frequencyMax":"positiveInt","Timing.repeat.id":"System.String","Timing.repeat.offset":"unsignedInt","Timing.repeat.period":"decimal","Timing.repeat.periodMax":"decimal","Timing.repeat.periodUnit":"code","Timing.repeat.timeOfDay":"time","Timing.repeat.when":"code","TriggerDefinition.condition":"Expression","TriggerDefinition.data":"DataRequirement","TriggerDefinition.extension":"Extension","TriggerDefinition.id":"System.String","TriggerDefinition.name":"string","TriggerDefinition.timingDate":"date","TriggerDefinition.timingDateTime":"dateTime","TriggerDefinition.timingReference":"Reference","TriggerDefinition.timingTiming":"Timing","TriggerDefinition.type":"code","UsageContext.code":"Coding","UsageContext.extension":"Extension","UsageContext.id":"System.String","UsageContext.valueCodeableConcept":"CodeableConcept","UsageContext.valueQuantity":"Quantity","UsageContext.valueRange":"Range","UsageContext.valueReference":"Reference","ValueSet.compose.extension":"Extension","ValueSet.compose.id":"System.String","ValueSet.compose.inactive":"boolean","ValueSet.compose.include.concept.code":"code","ValueSet.compose.include.concept.designation.extension":"Extension","ValueSet.compose.include.concept.designation.id":"System.String","ValueSet.compose.include.concept.designation.language":"code","ValueSet.compose.include.concept.designation.modifierExtension":"Extension","ValueSet.compose.include.concept.designation.use":"Coding","ValueSet.compose.include.concept.designation.value":"string","ValueSet.compose.include.concept.display":"string","ValueSet.compose.include.concept.extension":"Extension","ValueSet.compose.include.concept.id":"System.String","ValueSet.compose.include.concept.modifierExtension":"Extension","ValueSet.compose.include.extension":"Extension","ValueSet.compose.include.filter.extension":"Extension","ValueSet.compose.include.filter.id":"System.String","ValueSet.compose.include.filter.modifierExtension":"Extension","ValueSet.compose.include.filter.op":"code","ValueSet.compose.include.filter.property":"code","ValueSet.compose.include.filter.value":"string","ValueSet.compose.include.id":"System.String","ValueSet.compose.include.modifierExtension":"Extension","ValueSet.compose.include.system":"uri","ValueSet.compose.include.valueSet":"canonical","ValueSet.compose.include.version":"string","ValueSet.compose.lockedDate":"date","ValueSet.compose.modifierExtension":"Extension","ValueSet.contact":"ContactDetail","ValueSet.contained":"Resource","ValueSet.copyright":"markdown","ValueSet.date":"dateTime","ValueSet.description":"markdown","ValueSet.expansion.contains.abstract":"boolean","ValueSet.expansion.contains.code":"code","ValueSet.expansion.contains.display":"string","ValueSet.expansion.contains.extension":"Extension","ValueSet.expansion.contains.id":"System.String","ValueSet.expansion.contains.inactive":"boolean","ValueSet.expansion.contains.modifierExtension":"Extension","ValueSet.expansion.contains.system":"uri","ValueSet.expansion.contains.version":"string","ValueSet.expansion.extension":"Extension","ValueSet.expansion.id":"System.String","ValueSet.expansion.identifier":"uri","ValueSet.expansion.modifierExtension":"Extension","ValueSet.expansion.offset":"integer","ValueSet.expansion.parameter.extension":"Extension","ValueSet.expansion.parameter.id":"System.String","ValueSet.expansion.parameter.modifierExtension":"Extension","ValueSet.expansion.parameter.name":"string","ValueSet.expansion.parameter.valueBoolean":"boolean","ValueSet.expansion.parameter.valueCode":"code","ValueSet.expansion.parameter.valueDateTime":"dateTime","ValueSet.expansion.parameter.valueDecimal":"decimal","ValueSet.expansion.parameter.valueInteger":"integer","ValueSet.expansion.parameter.valueString":"string","ValueSet.expansion.parameter.valueUri":"uri","ValueSet.expansion.timestamp":"dateTime","ValueSet.expansion.total":"integer","ValueSet.experimental":"boolean","ValueSet.extension":"Extension","ValueSet.id":"System.String","ValueSet.identifier":"Identifier","ValueSet.immutable":"boolean","ValueSet.implicitRules":"uri","ValueSet.jurisdiction":"CodeableConcept","ValueSet.language":"code","ValueSet.meta":"Meta","ValueSet.modifierExtension":"Extension","ValueSet.name":"string","ValueSet.publisher":"string","ValueSet.purpose":"markdown","ValueSet.status":"code","ValueSet.text":"Narrative","ValueSet.title":"string","ValueSet.url":"uri","ValueSet.useContext":"UsageContext","ValueSet.version":"string","VerificationResult.attestation.communicationMethod":"CodeableConcept","VerificationResult.attestation.date":"date","VerificationResult.attestation.extension":"Extension","VerificationResult.attestation.id":"System.String","VerificationResult.attestation.modifierExtension":"Extension","VerificationResult.attestation.onBehalfOf":"Reference","VerificationResult.attestation.proxyIdentityCertificate":"string","VerificationResult.attestation.proxySignature":"Signature","VerificationResult.attestation.sourceIdentityCertificate":"string","VerificationResult.attestation.sourceSignature":"Signature","VerificationResult.attestation.who":"Reference","VerificationResult.contained":"Resource","VerificationResult.extension":"Extension","VerificationResult.failureAction":"CodeableConcept","VerificationResult.frequency":"Timing","VerificationResult.id":"System.String","VerificationResult.implicitRules":"uri","VerificationResult.language":"code","VerificationResult.lastPerformed":"dateTime","VerificationResult.meta":"Meta","VerificationResult.modifierExtension":"Extension","VerificationResult.need":"CodeableConcept","VerificationResult.nextScheduled":"date","VerificationResult.primarySource.canPushUpdates":"CodeableConcept","VerificationResult.primarySource.communicationMethod":"CodeableConcept","VerificationResult.primarySource.extension":"Extension","VerificationResult.primarySource.id":"System.String","VerificationResult.primarySource.modifierExtension":"Extension","VerificationResult.primarySource.pushTypeAvailable":"CodeableConcept","VerificationResult.primarySource.type":"CodeableConcept","VerificationResult.primarySource.validationDate":"dateTime","VerificationResult.primarySource.validationStatus":"CodeableConcept","VerificationResult.primarySource.who":"Reference","VerificationResult.status":"code","VerificationResult.statusDate":"dateTime","VerificationResult.target":"Reference","VerificationResult.targetLocation":"string","VerificationResult.text":"Narrative","VerificationResult.validationProcess":"CodeableConcept","VerificationResult.validationType":"CodeableConcept","VerificationResult.validator.attestationSignature":"Signature","VerificationResult.validator.extension":"Extension","VerificationResult.validator.id":"System.String","VerificationResult.validator.identityCertificate":"string","VerificationResult.validator.modifierExtension":"Extension","VerificationResult.validator.organization":"Reference","VisionPrescription.contained":"Resource","VisionPrescription.created":"dateTime","VisionPrescription.dateWritten":"dateTime","VisionPrescription.encounter":"Reference","VisionPrescription.extension":"Extension","VisionPrescription.id":"System.String","VisionPrescription.identifier":"Identifier","VisionPrescription.implicitRules":"uri","VisionPrescription.language":"code","VisionPrescription.lensSpecification.add":"decimal","VisionPrescription.lensSpecification.axis":"integer","VisionPrescription.lensSpecification.backCurve":"decimal","VisionPrescription.lensSpecification.brand":"string","VisionPrescription.lensSpecification.color":"string","VisionPrescription.lensSpecification.cylinder":"decimal","VisionPrescription.lensSpecification.diameter":"decimal","VisionPrescription.lensSpecification.duration":"Quantity","VisionPrescription.lensSpecification.extension":"Extension","VisionPrescription.lensSpecification.eye":"code","VisionPrescription.lensSpecification.id":"System.String","VisionPrescription.lensSpecification.modifierExtension":"Extension","VisionPrescription.lensSpecification.note":"Annotation","VisionPrescription.lensSpecification.power":"decimal","VisionPrescription.lensSpecification.prism.amount":"decimal","VisionPrescription.lensSpecification.prism.base":"code","VisionPrescription.lensSpecification.prism.extension":"Extension","VisionPrescription.lensSpecification.prism.id":"System.String","VisionPrescription.lensSpecification.prism.modifierExtension":"Extension","VisionPrescription.lensSpecification.product":"CodeableConcept","VisionPrescription.lensSpecification.sphere":"decimal","VisionPrescription.meta":"Meta","VisionPrescription.modifierExtension":"Extension","VisionPrescription.patient":"Reference","VisionPrescription.prescriber":"Reference","VisionPrescription.status":"code","VisionPrescription.text":"Narrative"}')},151:function(e){"use strict";e.exports=JSON.parse('{"Bundle.entry.link":"Bundle.link","CapabilityStatement.rest.operation":"CapabilityStatement.rest.resource.operation","CapabilityStatement.rest.searchParam":"CapabilityStatement.rest.resource.searchParam","ChargeItemDefinition.propertyGroup.applicability":"ChargeItemDefinition.applicability","ClaimResponse.addItem.adjudication":"ClaimResponse.item.adjudication","ClaimResponse.addItem.detail.adjudication":"ClaimResponse.item.adjudication","ClaimResponse.addItem.detail.subDetail.adjudication":"ClaimResponse.item.adjudication","ClaimResponse.adjudication":"ClaimResponse.item.adjudication","ClaimResponse.item.detail.adjudication":"ClaimResponse.item.adjudication","ClaimResponse.item.detail.subDetail.adjudication":"ClaimResponse.item.adjudication","CodeSystem.concept.concept":"CodeSystem.concept","Composition.section.section":"Composition.section","ConceptMap.group.element.target.product":"ConceptMap.group.element.target.dependsOn","Consent.provision.provision":"Consent.provision","Contract.term.asset.answer":"Contract.term.offer.answer","Contract.term.group":"Contract.term","ExampleScenario.process.step.alternative.step":"ExampleScenario.process.step","ExampleScenario.process.step.operation.request":"ExampleScenario.instance.containedInstance","ExampleScenario.process.step.operation.response":"ExampleScenario.instance.containedInstance","ExampleScenario.process.step.process":"ExampleScenario.process","ExplanationOfBenefit.addItem.adjudication":"ExplanationOfBenefit.item.adjudication","ExplanationOfBenefit.addItem.detail.adjudication":"ExplanationOfBenefit.item.adjudication","ExplanationOfBenefit.addItem.detail.subDetail.adjudication":"ExplanationOfBenefit.item.adjudication","ExplanationOfBenefit.adjudication":"ExplanationOfBenefit.item.adjudication","ExplanationOfBenefit.item.detail.adjudication":"ExplanationOfBenefit.item.adjudication","ExplanationOfBenefit.item.detail.subDetail.adjudication":"ExplanationOfBenefit.item.adjudication","GraphDefinition.link.target.link":"GraphDefinition.link","ImplementationGuide.definition.page.page":"ImplementationGuide.definition.page","Invoice.totalPriceComponent":"Invoice.lineItem.priceComponent","MedicinalProductAuthorization.procedure.application":"MedicinalProductAuthorization.procedure","MedicinalProductIngredient.substance.strength":"MedicinalProductIngredient.specifiedSubstance.strength","MedicinalProductPackaged.packageItem.packageItem":"MedicinalProductPackaged.packageItem","Observation.component.referenceRange":"Observation.referenceRange","OperationDefinition.parameter.part":"OperationDefinition.parameter","Parameters.parameter.part":"Parameters.parameter","PlanDefinition.action.action":"PlanDefinition.action","Provenance.entity.agent":"Provenance.agent","Questionnaire.item.item":"Questionnaire.item","QuestionnaireResponse.item.answer.item":"QuestionnaireResponse.item","QuestionnaireResponse.item.item":"QuestionnaireResponse.item","RequestGroup.action.action":"RequestGroup.action","StructureMap.group.rule.rule":"StructureMap.group.rule","SubstanceSpecification.molecularWeight":"SubstanceSpecification.structure.isotope.molecularWeight","SubstanceSpecification.name.synonym":"SubstanceSpecification.name","SubstanceSpecification.name.translation":"SubstanceSpecification.name","SubstanceSpecification.structure.molecularWeight":"SubstanceSpecification.structure.isotope.molecularWeight","TestReport.teardown.action.operation":"TestReport.setup.action.operation","TestReport.test.action.assert":"TestReport.setup.action.assert","TestReport.test.action.operation":"TestReport.setup.action.operation","TestScript.teardown.action.operation":"TestScript.setup.action.operation","TestScript.test.action.assert":"TestScript.setup.action.assert","TestScript.test.action.operation":"TestScript.setup.action.operation","ValueSet.compose.exclude":"ValueSet.compose.include","ValueSet.expansion.contains.contains":"ValueSet.expansion.contains","ValueSet.expansion.contains.designation":"ValueSet.compose.include.concept.designation"}')},905:function(e){"use strict";e.exports=JSON.parse('{"Account":"DomainResource","ActivityDefinition":"DomainResource","Address":"Element","AdverseEvent":"DomainResource","Age":"Quantity","AllergyIntolerance":"DomainResource","Annotation":"Element","Appointment":"DomainResource","AppointmentResponse":"DomainResource","Attachment":"Element","AuditEvent":"DomainResource","BackboneElement":"Element","Basic":"DomainResource","Binary":"Resource","BiologicallyDerivedProduct":"DomainResource","BodyStructure":"DomainResource","Bundle":"Resource","CapabilityStatement":"DomainResource","CarePlan":"DomainResource","CareTeam":"DomainResource","CatalogEntry":"DomainResource","ChargeItem":"DomainResource","ChargeItemDefinition":"DomainResource","Claim":"DomainResource","ClaimResponse":"DomainResource","ClinicalImpression":"DomainResource","CodeSystem":"DomainResource","CodeableConcept":"Element","Coding":"Element","Communication":"DomainResource","CommunicationRequest":"DomainResource","CompartmentDefinition":"DomainResource","Composition":"DomainResource","ConceptMap":"DomainResource","Condition":"DomainResource","Consent":"DomainResource","ContactDetail":"Element","ContactPoint":"Element","Contract":"DomainResource","Contributor":"Element","Count":"Quantity","Coverage":"DomainResource","CoverageEligibilityRequest":"DomainResource","CoverageEligibilityResponse":"DomainResource","DataRequirement":"Element","DetectedIssue":"DomainResource","Device":"DomainResource","DeviceDefinition":"DomainResource","DeviceMetric":"DomainResource","DeviceRequest":"DomainResource","DeviceUseStatement":"DomainResource","DiagnosticReport":"DomainResource","Distance":"Quantity","DocumentManifest":"DomainResource","DocumentReference":"DomainResource","DomainResource":"Resource","Dosage":"BackboneElement","Duration":"Quantity","EffectEvidenceSynthesis":"DomainResource","ElementDefinition":"BackboneElement","Encounter":"DomainResource","Endpoint":"DomainResource","EnrollmentRequest":"DomainResource","EnrollmentResponse":"DomainResource","EpisodeOfCare":"DomainResource","EventDefinition":"DomainResource","Evidence":"DomainResource","EvidenceVariable":"DomainResource","ExampleScenario":"DomainResource","ExplanationOfBenefit":"DomainResource","Expression":"Element","Extension":"Element","FamilyMemberHistory":"DomainResource","Flag":"DomainResource","Goal":"DomainResource","GraphDefinition":"DomainResource","Group":"DomainResource","GuidanceResponse":"DomainResource","HealthcareService":"DomainResource","HumanName":"Element","Identifier":"Element","ImagingStudy":"DomainResource","Immunization":"DomainResource","ImmunizationEvaluation":"DomainResource","ImmunizationRecommendation":"DomainResource","ImplementationGuide":"DomainResource","InsurancePlan":"DomainResource","Invoice":"DomainResource","Library":"DomainResource","Linkage":"DomainResource","List":"DomainResource","Location":"DomainResource","MarketingStatus":"BackboneElement","Measure":"DomainResource","MeasureReport":"DomainResource","Media":"DomainResource","Medication":"DomainResource","MedicationAdministration":"DomainResource","MedicationDispense":"DomainResource","MedicationKnowledge":"DomainResource","MedicationRequest":"DomainResource","MedicationStatement":"DomainResource","MedicinalProduct":"DomainResource","MedicinalProductAuthorization":"DomainResource","MedicinalProductContraindication":"DomainResource","MedicinalProductIndication":"DomainResource","MedicinalProductIngredient":"DomainResource","MedicinalProductInteraction":"DomainResource","MedicinalProductManufactured":"DomainResource","MedicinalProductPackaged":"DomainResource","MedicinalProductPharmaceutical":"DomainResource","MedicinalProductUndesirableEffect":"DomainResource","MessageDefinition":"DomainResource","MessageHeader":"DomainResource","Meta":"Element","MolecularSequence":"DomainResource","Money":"Element","MoneyQuantity":"Quantity","NamingSystem":"DomainResource","Narrative":"Element","NutritionOrder":"DomainResource","Observation":"DomainResource","ObservationDefinition":"DomainResource","OperationDefinition":"DomainResource","OperationOutcome":"DomainResource","Organization":"DomainResource","OrganizationAffiliation":"DomainResource","ParameterDefinition":"Element","Parameters":"Resource","Patient":"DomainResource","PaymentNotice":"DomainResource","PaymentReconciliation":"DomainResource","Period":"Element","Person":"DomainResource","PlanDefinition":"DomainResource","Population":"BackboneElement","Practitioner":"DomainResource","PractitionerRole":"DomainResource","Procedure":"DomainResource","ProdCharacteristic":"BackboneElement","ProductShelfLife":"BackboneElement","Provenance":"DomainResource","Quantity":"Element","Questionnaire":"DomainResource","QuestionnaireResponse":"DomainResource","Range":"Element","Ratio":"Element","Reference":"Element","RelatedArtifact":"Element","RelatedPerson":"DomainResource","RequestGroup":"DomainResource","ResearchDefinition":"DomainResource","ResearchElementDefinition":"DomainResource","ResearchStudy":"DomainResource","ResearchSubject":"DomainResource","RiskAssessment":"DomainResource","RiskEvidenceSynthesis":"DomainResource","SampledData":"Element","Schedule":"DomainResource","SearchParameter":"DomainResource","ServiceRequest":"DomainResource","Signature":"Element","SimpleQuantity":"Quantity","Slot":"DomainResource","Specimen":"DomainResource","SpecimenDefinition":"DomainResource","StructureDefinition":"DomainResource","StructureMap":"DomainResource","Subscription":"DomainResource","Substance":"DomainResource","SubstanceAmount":"BackboneElement","SubstanceNucleicAcid":"DomainResource","SubstancePolymer":"DomainResource","SubstanceProtein":"DomainResource","SubstanceReferenceInformation":"DomainResource","SubstanceSourceMaterial":"DomainResource","SubstanceSpecification":"DomainResource","SupplyDelivery":"DomainResource","SupplyRequest":"DomainResource","Task":"DomainResource","TerminologyCapabilities":"DomainResource","TestReport":"DomainResource","TestScript":"DomainResource","Timing":"BackboneElement","TriggerDefinition":"Element","UsageContext":"Element","ValueSet":"DomainResource","VerificationResult":"DomainResource","VisionPrescription":"DomainResource","base64Binary":"Element","boolean":"Element","canonical":"uri","code":"string","date":"Element","dateTime":"Element","decimal":"Element","id":"string","instant":"Element","integer":"Element","markdown":"string","oid":"uri","positiveInt":"integer","string":"Element","time":"Element","unsignedInt":"integer","uri":"Element","url":"uri","uuid":"uri","xhtml":"Element"}')}},t={},n=function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={exports:{}};return e[i](o,o.exports,n),o.exports}(9),window.fhirpath_r4_model=n},2783:function(e,t,n){!function(e){"use strict";e.registerHelper("lint","yaml",(function(t){var n=[];if(!window.jsyaml)return window.console&&window.console.error("Error: window.jsyaml not defined, CodeMirror YAML linting cannot run."),n;try{jsyaml.loadAll(t)}catch(t){var i=t.mark,r=i?e.Pos(i.line,i.column):e.Pos(0,0),o=r;n.push({from:r,to:o,message:t.message})}return n}))}(n(4631))},4631:function(e){e.exports=function(){"use strict";var e=navigator.userAgent,t=navigator.platform,n=/gecko\/\d/i.test(e),i=/MSIE \d/.test(e),r=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(e),o=/Edge\/(\d+)/.exec(e),a=i||r||o,s=a&&(i?document.documentMode||6:+(o||r)[1]),l=!o&&/WebKit\//.test(e),u=l&&/Qt\/\d+\.\d+/.test(e),c=!o&&/Chrome\//.test(e),f=/Opera\//.test(e),d=/Apple Computer/.test(navigator.vendor),m=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(e),p=/PhantomJS/.test(e),h=d&&(/Mobile\/\w+/.test(e)||navigator.maxTouchPoints>2),g=/Android/.test(e),y=h||g||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),v=h||/Mac/.test(t),C=/\bCrOS\b/.test(e),x=/win/i.test(t),b=f&&e.match(/Version\/(\d*\.\d*)/);b&&(b=Number(b[1])),b&&b>=15&&(f=!1,l=!0);var S=v&&(u||f&&(null==b||b<12.11)),E=n||a&&s>=9;function D(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var A,R=function(e,t){var n=e.className,i=D(t).exec(n);if(i){var r=n.slice(i.index+i[0].length);e.className=n.slice(0,i.index)+(r?i[1]+r:"")}};function M(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function k(e,t){return M(e).appendChild(t)}function T(e,t,n,i){var r=document.createElement(e);if(n&&(r.className=n),i&&(r.style.cssText=i),"string"==typeof t)r.appendChild(document.createTextNode(t));else if(t)for(var o=0;o=t)return a+(t-o);a+=s-o,a+=n-a%n,o=s+1}}h?L=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:a&&(L=function(e){try{e.select()}catch(e){}});var F=function(){this.id=null,this.f=null,this.time=0,this.handler=N(this.onTimeout,this)};function q(e,t){for(var n=0;n=t)return i+Math.min(a,t-r);if(r+=o-i,i=o+1,(r+=n-r%n)>=t)return i}}var K=[""];function Q(e){for(;K.length<=e;)K.push(J(K)+" ");return K[e]}function J(e){return e[e.length-1]}function X(e,t){for(var n=[],i=0;i"€"&&(e.toUpperCase()!=e.toLowerCase()||Z.test(e))}function te(e,t){return t?!!(t.source.indexOf("\\w")>-1&&ee(e))||t.test(e):ee(e)}function ne(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var ie=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function re(e){return e.charCodeAt(0)>=768&&ie.test(e)}function oe(e,t,n){for(;(n<0?t>0:tn?-1:1;;){if(t==n)return t;var r=(t+n)/2,o=i<0?Math.ceil(r):Math.floor(r);if(o==t)return e(o)?t:n;e(o)?n=o:t=o+i}}var se=null;function le(e,t,n){var i;se=null;for(var r=0;rt)return r;o.to==t&&(o.from!=o.to&&"before"==n?i=r:se=r),o.from==t&&(o.from!=o.to&&"before"!=n?i=r:se=r)}return null!=i?i:se}var ue=function(){var e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,t=/[stwN]/,n=/[LRr]/,i=/[Lb1n]/,r=/[1n]/;function o(e,t,n){this.level=e,this.from=t,this.to=n}return function(a,s){var l,u="ltr"==s?"L":"R";if(0==a.length||"ltr"==s&&!e.test(a))return!1;for(var c=a.length,f=[],d=0;d-1&&(i[t]=r.slice(0,o).concat(r.slice(o+1)))}}}function he(e,t){var n=me(e,t);if(n.length)for(var i=Array.prototype.slice.call(arguments,2),r=0;r0}function Ce(e){e.prototype.on=function(e,t){de(this,e,t)},e.prototype.off=function(e,t){pe(this,e,t)}}function xe(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function be(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Se(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function Ee(e){xe(e),be(e)}function De(e){return e.target||e.srcElement}function Ae(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),v&&e.ctrlKey&&1==t&&(t=3),t}var Re,Me,ke=function(){if(a&&s<9)return!1;var e=T("div");return"draggable"in e||"dragDrop"in e}();function Te(e){if(null==Re){var t=T("span","​");k(e,T("span",[t,document.createTextNode("x")])),0!=e.firstChild.offsetHeight&&(Re=t.offsetWidth<=1&&t.offsetHeight>2&&!(a&&s<8))}var n=Re?T("span","​"):T("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}function we(e){if(null!=Me)return Me;var t=k(e,document.createTextNode("AخA")),n=A(t,0,1).getBoundingClientRect(),i=A(t,1,2).getBoundingClientRect();return M(e),!(!n||n.left==n.right)&&(Me=i.right-n.right<3)}var Ie,Pe=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,n=[],i=e.length;t<=i;){var r=e.indexOf("\n",t);-1==r&&(r=e.length);var o=e.slice(t,"\r"==e.charAt(r-1)?r-1:r),a=o.indexOf("\r");-1!=a?(n.push(o.slice(0,a)),t+=a+1):(n.push(o),t=r+1)}return n}:function(e){return e.split(/\r\n?|\n/)},Oe=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(e){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints("StartToEnd",t)},_e="oncopy"in(Ie=T("div"))||(Ie.setAttribute("oncopy","return;"),"function"==typeof Ie.oncopy),Le=null;var Ne={},Ue={};function Be(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Ne[e]=t}function Fe(e){if("string"==typeof e&&Ue.hasOwnProperty(e))e=Ue[e];else if(e&&"string"==typeof e.name&&Ue.hasOwnProperty(e.name)){var t=Ue[e.name];"string"==typeof t&&(t={name:t}),(e=$(t,e)).name=t.name}else{if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return Fe("application/xml");if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return Fe("application/json")}return"string"==typeof e?{name:e}:e||{name:"null"}}function qe(e,t){t=Fe(t);var n=Ne[t.name];if(!n)return qe(e,"text/plain");var i=n(e,t);if(je.hasOwnProperty(t.name)){var r=je[t.name];for(var o in r)r.hasOwnProperty(o)&&(i.hasOwnProperty(o)&&(i["_"+o]=i[o]),i[o]=r[o])}if(i.name=t.name,t.helperType&&(i.helperType=t.helperType),t.modeProps)for(var a in t.modeProps)i[a]=t.modeProps[a];return i}var je={};function ze(e,t){U(t,je.hasOwnProperty(e)?je[e]:je[e]={})}function He(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n={};for(var i in t){var r=t[i];r instanceof Array&&(r=r.concat([])),n[i]=r}return n}function Ve(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function Ge(e,t,n){return!e.startState||e.startState(t,n)}var We=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function Ke(e,t){if((t-=e.first)<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var i=0;;++i){var r=n.children[i],o=r.chunkSize();if(t=e.first&&tn?tt(n,Ke(e,n).text.length):function(e,t){var n=e.ch;return null==n||n>t?tt(e.line,t):n<0?tt(e.line,0):e}(t,Ke(e,t.line).text.length)}function ut(e,t){for(var n=[],i=0;i=this.string.length},We.prototype.sol=function(){return this.pos==this.lineStart},We.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},We.prototype.next=function(){if(this.post},We.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},We.prototype.skipToEnd=function(){this.pos=this.string.length},We.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},We.prototype.backUp=function(e){this.pos-=e},We.prototype.column=function(){return this.lastColumnPos0?null:(i&&!1!==t&&(this.pos+=i[0].length),i)}var r=function(e){return n?e.toLowerCase():e};if(r(this.string.substr(this.pos,e.length))==r(e))return!1!==t&&(this.pos+=e.length),!0},We.prototype.current=function(){return this.string.slice(this.start,this.pos)},We.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},We.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},We.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var ct=function(e,t){this.state=e,this.lookAhead=t},ft=function(e,t,n,i){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=i||0,this.baseTokens=null,this.baseTokenPos=1};function dt(e,t,n,i){var r=[e.state.modeGen],o={};bt(e,t.text,e.doc.mode,n,(function(e,t){return r.push(e,t)}),o,i);for(var a=n.state,s=function(i){n.baseTokens=r;var s=e.state.overlays[i],l=1,u=0;n.state=!0,bt(e,t.text,s.mode,n,(function(e,t){for(var n=l;ue&&r.splice(l,1,e,r[l+1],i),l+=2,u=Math.min(e,i)}if(t)if(s.opaque)r.splice(n,l-n,e,"overlay "+t),l=n+2;else for(;ne.options.maxHighlightLength&&He(e.doc.mode,i.state),o=dt(e,t,i);r&&(i.state=r),t.stateAfter=i.save(!r),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function pt(e,t,n){var i=e.doc,r=e.display;if(!i.mode.startState)return new ft(i,!0,t);var o=function(e,t,n){for(var i,r,o=e.doc,a=n?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;s>a;--s){if(s<=o.first)return o.first;var l=Ke(o,s-1),u=l.stateAfter;if(u&&(!n||s+(u instanceof ct?u.lookAhead:0)<=o.modeFrontier))return s;var c=B(l.text,null,e.options.tabSize);(null==r||i>c)&&(r=s-1,i=c)}return r}(e,t,n),a=o>i.first&&Ke(i,o-1).stateAfter,s=a?ft.fromSaved(i,a,o):new ft(i,Ge(i.mode),o);return i.iter(o,t,(function(n){ht(e,n.text,s);var i=s.line;n.stateAfter=i==t-1||i%5==0||i>=r.viewFrom&&it.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}ft.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},ft.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},ft.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},ft.fromSaved=function(e,t,n){return t instanceof ct?new ft(e,He(e.mode,t.state),n,t.lookAhead):new ft(e,He(e.mode,t),n)},ft.prototype.save=function(e){var t=!1!==e?He(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ct(t,this.maxLookAhead):t};var vt=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function Ct(e,t,n,i){var r,o,a=e.doc,s=a.mode,l=Ke(a,(t=lt(a,t)).line),u=pt(e,t.line,n),c=new We(l.text,e.options.tabSize,u);for(i&&(o=[]);(i||c.pose.options.maxHighlightLength?(s=!1,a&&ht(e,t,i,f.pos),f.pos=t.length,l=null):l=xt(yt(n,f,i.state,d),o),d){var m=d[0].name;m&&(l="m-"+(l?m+" "+l:m))}if(!s||c!=l){for(;u=t:o.to>t);(i||(i=[])).push(new Dt(a,o.from,s?null:o.to))}}return i}(n,r,a),l=function(e,t,n){var i;if(e)for(var r=0;r=t:o.to>t)||o.from==t&&"bookmark"==a.type&&(!n||o.marker.insertLeft)){var s=null==o.from||(a.inclusiveLeft?o.from<=t:o.from0&&s)for(var C=0;Ct)&&(!n||Ot(n,o.marker)<0)&&(n=o.marker)}return n}function Bt(e,t,n,i,r){var o=Ke(e,t),a=Et&&o.markedSpans;if(a)for(var s=0;s=0&&f<=0||c<=0&&f>=0)&&(c<=0&&(l.marker.inclusiveRight&&r.inclusiveLeft?nt(u.to,n)>=0:nt(u.to,n)>0)||c>=0&&(l.marker.inclusiveRight&&r.inclusiveLeft?nt(u.from,i)<=0:nt(u.from,i)<0)))return!0}}}function Ft(e){for(var t;t=Lt(e);)e=t.find(-1,!0).line;return e}function qt(e,t){var n=Ke(e,t),i=Ft(n);return n==i?t:Ye(i)}function jt(e,t){if(t>e.lastLine())return t;var n,i=Ke(e,t);if(!zt(e,i))return t;for(;n=Nt(i);)i=n.find(1,!0).line;return Ye(i)+1}function zt(e,t){var n=Et&&t.markedSpans;if(n)for(var i=void 0,r=0;rt.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)}))}var Kt=function(e,t,n){this.text=e,wt(this,t),this.height=n?n(this):1};function Qt(e){e.parent=null,Tt(e)}Kt.prototype.lineNo=function(){return Ye(this)},Ce(Kt);var Jt={},Xt={};function Yt(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?Xt:Jt;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function $t(e,t){var n=w("span",null,null,l?"padding-right: .1px":null),i={pre:w("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var r=0;r<=(t.rest?t.rest.length:0);r++){var o=r?t.rest[r-1]:t.line,a=void 0;i.pos=0,i.addToken=en,we(e.display.measure)&&(a=ce(o,e.doc.direction))&&(i.addToken=tn(i.addToken,a)),i.map=[],rn(o,i,mt(e,o,t!=e.display.externalMeasured&&Ye(o))),o.styleClasses&&(o.styleClasses.bgClass&&(i.bgClass=_(o.styleClasses.bgClass,i.bgClass||"")),o.styleClasses.textClass&&(i.textClass=_(o.styleClasses.textClass,i.textClass||""))),0==i.map.length&&i.map.push(0,0,i.content.appendChild(Te(e.display.measure))),0==r?(t.measure.map=i.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(i.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(l){var s=i.content.lastChild;(/\bcm-tab\b/.test(s.className)||s.querySelector&&s.querySelector(".cm-tab"))&&(i.content.className="cm-tab-wrap-hack")}return he(e,"renderLine",e,t.line,i.pre),i.pre.className&&(i.textClass=_(i.pre.className,i.textClass||"")),i}function Zt(e){var t=T("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function en(e,t,n,i,r,o,l){if(t){var u,c=e.splitSpaces?function(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,i="",r=0;ru&&f.from<=u);d++);if(f.to>=c)return e(n,i,r,o,a,s,l);e(n,i.slice(0,f.to-u),r,o,null,s,l),o=null,i=i.slice(f.to-u),u=f.to}}}function nn(e,t,n,i){var r=!i&&n.widgetNode;r&&e.map.push(e.pos,e.pos+t,r),!i&&e.cm.display.input.needsContentAttribute&&(r||(r=e.content.appendChild(document.createElement("span"))),r.setAttribute("cm-marker",n.id)),r&&(e.cm.display.input.setUneditable(r),e.content.appendChild(r)),e.pos+=t,e.trailingSpace=!1}function rn(e,t,n){var i=e.markedSpans,r=e.text,o=0;if(i)for(var a,s,l,u,c,f,d,m=r.length,p=0,h=1,g="",y=0;;){if(y==p){l=u=c=s="",d=null,f=null,y=1/0;for(var v=[],C=void 0,x=0;xp||S.collapsed&&b.to==p&&b.from==p)){if(null!=b.to&&b.to!=p&&y>b.to&&(y=b.to,u=""),S.className&&(l+=" "+S.className),S.css&&(s=(s?s+";":"")+S.css),S.startStyle&&b.from==p&&(c+=" "+S.startStyle),S.endStyle&&b.to==y&&(C||(C=[])).push(S.endStyle,b.to),S.title&&((d||(d={})).title=S.title),S.attributes)for(var E in S.attributes)(d||(d={}))[E]=S.attributes[E];S.collapsed&&(!f||Ot(f.marker,S)<0)&&(f=b)}else b.from>p&&y>b.from&&(y=b.from)}if(C)for(var D=0;D=m)break;for(var R=Math.min(m,y);;){if(g){var M=p+g.length;if(!f){var k=M>R?g.slice(0,R-p):g;t.addToken(t,k,a?a+l:l,c,p+k.length==y?u:"",s,d)}if(M>=R){g=g.slice(R-p),p=R;break}p=M,c=""}g=r.slice(o,o=n[h++]),a=Yt(n[h++],t.cm.options)}}else for(var T=1;Tn)return{map:e.measure.maps[r],cache:e.measure.caches[r],before:!0}}function In(e,t,n,i){return _n(e,On(e,t),n,i)}function Pn(e,t){if(t>=e.display.viewFrom&&t=n.lineN&&t2&&o.push((l.bottom+u.top)/2-n.top)}}o.push(n.bottom-n.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,n,i){var r,o=Un(t.map,n,i),l=o.node,u=o.start,c=o.end,f=o.collapse;if(3==l.nodeType){for(var d=0;d<4;d++){for(;u&&re(t.line.text.charAt(o.coverStart+u));)--u;for(;o.coverStart+c1}(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,i=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*i,bottom:t.bottom*i}}(e.display.measure,r))}else{var m;u>0&&(f=i="right"),r=e.options.lineWrapping&&(m=l.getClientRects()).length>1?m["right"==i?m.length-1:0]:l.getBoundingClientRect()}if(a&&s<9&&!u&&(!r||!r.left&&!r.right)){var p=l.parentNode.getClientRects()[0];r=p?{left:p.left,right:p.left+oi(e.display),top:p.top,bottom:p.bottom}:Nn}for(var h=r.top-t.rect.top,g=r.bottom-t.rect.top,y=(h+g)/2,v=t.view.measure.heights,C=0;Ct)&&(r=(o=l-s)-1,t>=l&&(a="right")),null!=r){if(i=e[u+2],s==l&&n==(i.insertLeft?"left":"right")&&(a=n),"left"==n&&0==r)for(;u&&e[u-2]==e[u-3]&&e[u-1].insertLeft;)i=e[2+(u-=3)],a="left";if("right"==n&&r==l-s)for(;u=0&&(n=e[r]).left==n.right;r--);return n}function Fn(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t=i.text.length?(l=i.text.length,u="before"):l<=0&&(l=0,u="after"),!s)return a("before"==u?l-1:l,"before"==u);function c(e,t,n){return a(n?e-1:e,1==s[t].level!=n)}var f=le(s,l,u),d=se,m=c(l,f,"before"==u);return null!=d&&(m.other=c(l,d,"before"!=u)),m}function Jn(e,t){var n=0;t=lt(e.doc,t),e.options.lineWrapping||(n=oi(e.display)*t.ch);var i=Ke(e.doc,t.line),r=Vt(i)+Dn(e.display);return{left:n,right:n,top:r,bottom:r+i.height}}function Xn(e,t,n,i,r){var o=tt(e,t,n);return o.xRel=r,i&&(o.outside=i),o}function Yn(e,t,n){var i=e.doc;if((n+=e.display.viewOffset)<0)return Xn(i.first,0,null,-1,-1);var r=$e(i,n),o=i.first+i.size-1;if(r>o)return Xn(i.first+i.size-1,Ke(i,o).text.length,null,1,1);t<0&&(t=0);for(var a=Ke(i,r);;){var s=ti(e,a,r,t,n),l=Ut(a,s.ch+(s.xRel>0||s.outside>0?1:0));if(!l)return s;var u=l.find(1);if(u.line==r)return u;a=Ke(i,r=u.line)}}function $n(e,t,n,i){i-=Vn(t);var r=t.text.length,o=ae((function(t){return _n(e,n,t-1).bottom<=i}),r,0);return{begin:o,end:r=ae((function(t){return _n(e,n,t).top>i}),o,r)}}function Zn(e,t,n,i){return n||(n=On(e,t)),$n(e,t,n,Gn(e,t,_n(e,n,i),"line").top)}function ei(e,t,n,i){return!(e.bottom<=n)&&(e.top>n||(i?e.left:e.right)>t)}function ti(e,t,n,i,r){r-=Vt(t);var o=On(e,t),a=Vn(t),s=0,l=t.text.length,u=!0,c=ce(t,e.doc.direction);if(c){var f=(e.options.lineWrapping?ii:ni)(e,t,n,o,c,i,r);s=(u=1!=f.level)?f.from:f.to-1,l=u?f.to:f.from-1}var d,m,p=null,h=null,g=ae((function(t){var n=_n(e,o,t);return n.top+=a,n.bottom+=a,!!ei(n,i,r,!1)&&(n.top<=r&&n.left<=i&&(p=t,h=n),!0)}),s,l),y=!1;if(h){var v=i-h.left=x.bottom?1:0}return Xn(n,g=oe(t.text,g,1),m,y,i-d)}function ni(e,t,n,i,r,o,a){var s=ae((function(s){var l=r[s],u=1!=l.level;return ei(Qn(e,tt(n,u?l.to:l.from,u?"before":"after"),"line",t,i),o,a,!0)}),0,r.length-1),l=r[s];if(s>0){var u=1!=l.level,c=Qn(e,tt(n,u?l.from:l.to,u?"after":"before"),"line",t,i);ei(c,o,a,!0)&&c.top>a&&(l=r[s-1])}return l}function ii(e,t,n,i,r,o,a){var s=$n(e,t,i,a),l=s.begin,u=s.end;/\s/.test(t.text.charAt(u-1))&&u--;for(var c=null,f=null,d=0;d=u||m.to<=l)){var p=_n(e,i,1!=m.level?Math.min(u,m.to)-1:Math.max(l,m.from)).right,h=ph)&&(c=m,f=h)}}return c||(c=r[r.length-1]),c.fromu&&(c={from:c.from,to:u,level:c.level}),c}function ri(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==Ln){Ln=T("pre",null,"CodeMirror-line-like");for(var t=0;t<49;++t)Ln.appendChild(document.createTextNode("x")),Ln.appendChild(T("br"));Ln.appendChild(document.createTextNode("x"))}k(e.measure,Ln);var n=Ln.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),M(e.measure),n||1}function oi(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=T("span","xxxxxxxxxx"),n=T("pre",[t],"CodeMirror-line-like");k(e.measure,n);var i=t.getBoundingClientRect(),r=(i.right-i.left)/10;return r>2&&(e.cachedCharWidth=r),r||10}function ai(e){for(var t=e.display,n={},i={},r=t.gutters.clientLeft,o=t.gutters.firstChild,a=0;o;o=o.nextSibling,++a){var s=e.display.gutterSpecs[a].className;n[s]=o.offsetLeft+o.clientLeft+r,i[s]=o.clientWidth}return{fixedPos:si(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:i,wrapperWidth:t.wrapper.clientWidth}}function si(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function li(e){var t=ri(e.display),n=e.options.lineWrapping,i=n&&Math.max(5,e.display.scroller.clientWidth/oi(e.display)-3);return function(r){if(zt(e.doc,r))return 0;var o=0;if(r.widgets)for(var a=0;a0&&(l=Ke(e.doc,u.line).text).length==u.ch){var c=B(l,l.length,e.options.tabSize)-l.length;u=tt(u.line,Math.max(0,Math.round((o-Rn(e.display).left)/oi(e.display))-c))}return u}function fi(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,i=0;it)&&(r.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=r.viewTo)Et&&qt(e.doc,t)r.viewFrom?pi(e):(r.viewFrom+=i,r.viewTo+=i);else if(t<=r.viewFrom&&n>=r.viewTo)pi(e);else if(t<=r.viewFrom){var o=hi(e,n,n+i,1);o?(r.view=r.view.slice(o.index),r.viewFrom=o.lineN,r.viewTo+=i):pi(e)}else if(n>=r.viewTo){var a=hi(e,t,t,-1);a?(r.view=r.view.slice(0,a.index),r.viewTo=a.lineN):pi(e)}else{var s=hi(e,t,t,-1),l=hi(e,n,n+i,1);s&&l?(r.view=r.view.slice(0,s.index).concat(an(e,s.lineN,l.lineN)).concat(r.view.slice(l.index)),r.viewTo+=i):pi(e)}var u=r.externalMeasured;u&&(n=r.lineN&&t=i.viewTo)){var o=i.view[fi(e,t)];if(null!=o.node){var a=o.changes||(o.changes=[]);-1==q(a,n)&&a.push(n)}}}function pi(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function hi(e,t,n,i){var r,o=fi(e,t),a=e.display.view;if(!Et||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var s=e.display.viewFrom,l=0;l0){if(o==a.length-1)return null;r=s+a[o].size-t,o++}else r=s-t;t+=r,n+=r}for(;qt(e.doc,n)!=n;){if(o==(i<0?0:a.length-1))return null;n+=i*a[o-(i<0?1:0)].size,o+=i}return{index:o,lineN:n}}function gi(e){for(var t=e.display.view,n=0,i=0;i=e.display.viewTo||s.to().linet||t==n&&a.to==t)&&(i(Math.max(a.from,t),Math.min(a.to,n),1==a.level?"rtl":"ltr",o),r=!0)}r||i(t,n,"ltr")}(h,n||0,null==i?d:i,(function(e,t,r,f){var g="ltr"==r,y=m(e,g?"left":"right"),v=m(t-1,g?"right":"left"),C=null==n&&0==e,x=null==i&&t==d,b=0==f,S=!h||f==h.length-1;if(v.top-y.top<=3){var E=(u?x:C)&&S,D=(u?C:x)&&b?s:(g?y:v).left,A=E?l:(g?v:y).right;c(D,y.top,A-D,y.bottom)}else{var R,M,k,T;g?(R=u&&C&&b?s:y.left,M=u?l:p(e,r,"before"),k=u?s:p(t,r,"after"),T=u&&x&&S?l:v.right):(R=u?p(e,r,"before"):s,M=!u&&C&&b?l:y.right,k=!u&&x&&S?s:v.left,T=u?p(t,r,"after"):l),c(R,y.top,M-R,y.bottom),y.bottom0?t.blinker=setInterval((function(){e.hasFocus()||Ri(e),t.cursorDiv.style.visibility=(n=!n)?"":"hidden"}),e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function Ei(e){e.hasFocus()||(e.display.input.focus(),e.state.focused||Ai(e))}function Di(e){e.state.delayingBlurEvent=!0,setTimeout((function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,e.state.focused&&Ri(e))}),100)}function Ai(e,t){e.state.delayingBlurEvent&&!e.state.draggingText&&(e.state.delayingBlurEvent=!1),"nocursor"!=e.options.readOnly&&(e.state.focused||(he(e,"focus",e,t),e.state.focused=!0,O(e.display.wrapper,"CodeMirror-focused"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),l&&setTimeout((function(){return e.display.input.reset(!0)}),20)),e.display.input.receivedFocus()),Si(e))}function Ri(e,t){e.state.delayingBlurEvent||(e.state.focused&&(he(e,"blur",e,t),e.state.focused=!1,R(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout((function(){e.state.focused||(e.display.shift=!1)}),150))}function Mi(e){for(var t=e.display,n=t.lineDiv.offsetTop,i=0;i.005||d<-.005)&&(Xe(r.line,l),ki(r.line),r.rest))for(var m=0;me.display.sizerWidth){var p=Math.ceil(u/oi(e.display));p>e.display.maxLineLength&&(e.display.maxLineLength=p,e.display.maxLine=r.line,e.display.maxLineChanged=!0)}}}}function ki(e){if(e.widgets)for(var t=0;t=a&&(o=$e(t,Vt(Ke(t,l))-e.wrapper.clientHeight),a=l)}return{from:o,to:Math.max(a,o+1)}}function wi(e,t){var n=e.display,i=ri(e.display);t.top<0&&(t.top=0);var r=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:n.scroller.scrollTop,o=Tn(e),a={};t.bottom-t.top>o&&(t.bottom=t.top+o);var s=e.doc.height+An(n),l=t.tops-i;if(t.topr+o){var c=Math.min(t.top,(u?s:t.bottom)-o);c!=r&&(a.scrollTop=c)}var f=e.options.fixedGutter?0:n.gutters.offsetWidth,d=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft-f,m=kn(e)-n.gutters.offsetWidth,p=t.right-t.left>m;return p&&(t.right=t.left+m),t.left<10?a.scrollLeft=0:t.leftm+d-3&&(a.scrollLeft=t.right+(p?0:10)-m),a}function Ii(e,t){null!=t&&(_i(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function Pi(e){_i(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Oi(e,t,n){null==t&&null==n||_i(e),null!=t&&(e.curOp.scrollLeft=t),null!=n&&(e.curOp.scrollTop=n)}function _i(e){var t=e.curOp.scrollToPos;t&&(e.curOp.scrollToPos=null,Li(e,Jn(e,t.from),Jn(e,t.to),t.margin))}function Li(e,t,n,i){var r=wi(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-i,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+i});Oi(e,r.scrollLeft,r.scrollTop)}function Ni(e,t){Math.abs(e.doc.scrollTop-t)<2||(n||ur(e,{top:t}),Ui(e,t,!0),n&&ur(e),rr(e,100))}function Ui(e,t,n){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),(e.display.scroller.scrollTop!=t||n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Bi(e,t,n,i){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!i||(e.doc.scrollLeft=t,dr(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Fi(e){var t=e.display,n=t.gutters.offsetWidth,i=Math.round(e.doc.height+An(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:i,scrollHeight:i+Mn(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var qi=function(e,t,n){this.cm=n;var i=this.vert=T("div",[T("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),r=this.horiz=T("div",[T("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");i.tabIndex=r.tabIndex=-1,e(i),e(r),de(i,"scroll",(function(){i.clientHeight&&t(i.scrollTop,"vertical")})),de(r,"scroll",(function(){r.clientWidth&&t(r.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,a&&s<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};qi.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,i=e.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=t?i+"px":"0";var r=e.viewHeight-(t?i:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+r)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=n?i+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(n?i:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==i&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?i:0,bottom:t?i:0}},qi.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},qi.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},qi.prototype.zeroWidthHack=function(){var e=v&&!m?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new F,this.disableVert=new F},qi.prototype.enableZeroWidthBar=function(e,t,n){e.style.pointerEvents="auto",t.set(1e3,(function i(){var r=e.getBoundingClientRect();("vert"==n?document.elementFromPoint(r.right-1,(r.top+r.bottom)/2):document.elementFromPoint((r.right+r.left)/2,r.bottom-1))!=e?e.style.pointerEvents="none":t.set(1e3,i)}))},qi.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var ji=function(){};function zi(e,t){t||(t=Fi(e));var n=e.display.barWidth,i=e.display.barHeight;Hi(e,t);for(var r=0;r<4&&n!=e.display.barWidth||i!=e.display.barHeight;r++)n!=e.display.barWidth&&e.options.lineWrapping&&Mi(e),Hi(e,Fi(e)),n=e.display.barWidth,i=e.display.barHeight}function Hi(e,t){var n=e.display,i=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=i.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=i.bottom)+"px",n.heightForcer.style.borderBottom=i.bottom+"px solid transparent",i.right&&i.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=i.bottom+"px",n.scrollbarFiller.style.width=i.right+"px"):n.scrollbarFiller.style.display="",i.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=i.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}ji.prototype.update=function(){return{bottom:0,right:0}},ji.prototype.setScrollLeft=function(){},ji.prototype.setScrollTop=function(){},ji.prototype.clear=function(){};var Vi={native:qi,null:ji};function Gi(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&R(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new Vi[e.options.scrollbarStyle]((function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),de(t,"mousedown",(function(){e.state.focused&&setTimeout((function(){return e.display.input.focus()}),0)})),t.setAttribute("cm-not-content","true")}),(function(t,n){"horizontal"==n?Bi(e,t):Ni(e,t)}),e),e.display.scrollbars.addClass&&O(e.display.wrapper,e.display.scrollbars.addClass)}var Wi=0;function Ki(e){var t;e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Wi,markArrays:null},t=e.curOp,sn?sn.ops.push(t):t.ownsGroup=sn={ops:[t],delayedCallbacks:[]}}function Qi(e){var t=e.curOp;t&&function(e,t){var n=e.ownsGroup;if(n)try{!function(e){var t=e.delayedCallbacks,n=0;do{for(;n=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new ar(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function Xi(e){e.updatedDisplay=e.mustUpdate&&sr(e.cm,e.update)}function Yi(e){var t=e.cm,n=t.display;e.updatedDisplay&&Mi(t),e.barMeasure=Fi(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=In(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+Mn(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-kn(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function $i(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft(window.innerHeight||document.documentElement.clientHeight)&&(r=!1),null!=r&&!p){var o=T("div","​",null,"position: absolute;\n top: "+(t.top-n.viewOffset-Dn(e.display))+"px;\n height: "+(t.bottom-t.top+Mn(e)+n.barHeight)+"px;\n left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(o),o.scrollIntoView(r),e.display.lineSpace.removeChild(o)}}}(t,function(e,t,n,i){var r;null==i&&(i=0),e.options.lineWrapping||t!=n||(n="before"==t.sticky?tt(t.line,t.ch+1,"before"):t,t=t.ch?tt(t.line,"before"==t.sticky?t.ch-1:t.ch,"after"):t);for(var o=0;o<5;o++){var a=!1,s=Qn(e,t),l=n&&n!=t?Qn(e,n):s,u=wi(e,r={left:Math.min(s.left,l.left),top:Math.min(s.top,l.top)-i,right:Math.max(s.left,l.left),bottom:Math.max(s.bottom,l.bottom)+i}),c=e.doc.scrollTop,f=e.doc.scrollLeft;if(null!=u.scrollTop&&(Ni(e,u.scrollTop),Math.abs(e.doc.scrollTop-c)>1&&(a=!0)),null!=u.scrollLeft&&(Bi(e,u.scrollLeft),Math.abs(e.doc.scrollLeft-f)>1&&(a=!0)),!a)break}return r}(t,lt(i,e.scrollToPos.from),lt(i,e.scrollToPos.to),e.scrollToPos.margin));var r=e.maybeHiddenMarkers,o=e.maybeUnhiddenMarkers;if(r)for(var a=0;a=e.display.viewTo)){var n=+new Date+e.options.workTime,i=pt(e,t.highlightFrontier),r=[];t.iter(i.line,Math.min(t.first+t.size,e.display.viewTo+500),(function(o){if(i.line>=e.display.viewFrom){var a=o.styles,s=o.text.length>e.options.maxHighlightLength?He(t.mode,i.state):null,l=dt(e,o,i,!0);s&&(i.state=s),o.styles=l.styles;var u=o.styleClasses,c=l.classes;c?o.styleClasses=c:u&&(o.styleClasses=null);for(var f=!a||a.length!=o.styles.length||u!=c&&(!u||!c||u.bgClass!=c.bgClass||u.textClass!=c.textClass),d=0;!f&&dn)return rr(e,e.options.workDelay),!0})),t.highlightFrontier=i.line,t.modeFrontier=Math.max(t.modeFrontier,i.line),r.length&&er(e,(function(){for(var t=0;t=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==gi(e))return!1;mr(e)&&(pi(e),t.dims=ai(e));var r=i.first+i.size,o=Math.max(t.visible.from-e.options.viewportMargin,i.first),a=Math.min(r,t.visible.to+e.options.viewportMargin);n.viewFroma&&n.viewTo-a<20&&(a=Math.min(r,n.viewTo)),Et&&(o=qt(e.doc,o),a=jt(e.doc,a));var s=o!=n.viewFrom||a!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;(function(e,t,n){var i=e.display;0==i.view.length||t>=i.viewTo||n<=i.viewFrom?(i.view=an(e,t,n),i.viewFrom=t):(i.viewFrom>t?i.view=an(e,t,i.viewFrom).concat(i.view):i.viewFromn&&(i.view=i.view.slice(0,fi(e,n)))),i.viewTo=n})(e,o,a),n.viewOffset=Vt(Ke(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px";var u=gi(e);if(!s&&0==u&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var c=function(e){if(e.hasFocus())return null;var t=P();if(!t||!I(e.display.lineDiv,t))return null;var n={activeElt:t};if(window.getSelection){var i=window.getSelection();i.anchorNode&&i.extend&&I(e.display.lineDiv,i.anchorNode)&&(n.anchorNode=i.anchorNode,n.anchorOffset=i.anchorOffset,n.focusNode=i.focusNode,n.focusOffset=i.focusOffset)}return n}(e);return u>4&&(n.lineDiv.style.display="none"),function(e,t,n){var i=e.display,r=e.options.lineNumbers,o=i.lineDiv,a=o.firstChild;function s(t){var n=t.nextSibling;return l&&v&&e.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t),n}for(var u=i.view,c=i.viewFrom,f=0;f-1&&(m=!1),fn(e,d,c,n)),m&&(M(d.lineNumber),d.lineNumber.appendChild(document.createTextNode(et(e.options,c)))),a=d.node.nextSibling}else{var p=vn(e,d,c,n);o.insertBefore(p,a)}c+=d.size}for(;a;)a=s(a)}(e,n.updateLineNumbers,t.dims),u>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,function(e){if(e&&e.activeElt&&e.activeElt!=P()&&(e.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(e.activeElt.nodeName)&&e.anchorNode&&I(document.body,e.anchorNode)&&I(document.body,e.focusNode))){var t=window.getSelection(),n=document.createRange();n.setEnd(e.anchorNode,e.anchorOffset),n.collapse(!1),t.removeAllRanges(),t.addRange(n),t.extend(e.focusNode,e.focusOffset)}}(c),M(n.cursorDiv),M(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,s&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,rr(e,400)),n.updateLineNumbers=null,!0}function lr(e,t){for(var n=t.viewport,i=!0;;i=!1){if(i&&e.options.lineWrapping&&t.oldDisplayWidth!=kn(e))i&&(t.visible=Ti(e.display,e.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(e.doc.height+An(e.display)-Tn(e),n.top)}),t.visible=Ti(e.display,e.doc,n),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break;if(!sr(e,t))break;Mi(e);var r=Fi(e);yi(e),zi(e,r),fr(e,r),t.force=!1}t.signal(e,"update",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function ur(e,t){var n=new ar(e,t);if(sr(e,n)){Mi(e),lr(e,n);var i=Fi(e);yi(e),zi(e,i),fr(e,i),n.finish()}}function cr(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px",un(e,"gutterChanged",e)}function fr(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+Mn(e)+"px"}function dr(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var i=si(t)-t.scroller.scrollLeft+e.doc.scrollLeft,r=t.gutters.offsetWidth,o=i+"px",a=0;as.clientWidth,c=s.scrollHeight>s.clientHeight;if(r&&u||o&&c){if(o&&v&&l)e:for(var d=t.target,m=a.view;d!=s;d=d.parentNode)for(var p=0;p=0&&nt(e,i.to())<=0)return n}return-1};var Dr=function(e,t){this.anchor=e,this.head=t};function Ar(e,t,n){var i=e&&e.options.selectionsMayTouch,r=t[n];t.sort((function(e,t){return nt(e.from(),t.from())})),n=q(t,r);for(var o=1;o0:l>=0){var u=at(s.from(),a.from()),c=ot(s.to(),a.to()),f=s.empty()?a.from()==a.head:s.from()==s.head;o<=n&&--n,t.splice(--o,2,new Dr(f?c:u,f?u:c))}}return new Er(t,n)}function Rr(e,t){return new Er([new Dr(e,t||e)],0)}function Mr(e){return e.text?tt(e.from.line+e.text.length-1,J(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function kr(e,t){if(nt(e,t.from)<0)return e;if(nt(e,t.to)<=0)return Mr(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,i=e.ch;return e.line==t.to.line&&(i+=Mr(t).ch-t.to.ch),tt(n,i)}function Tr(e,t){for(var n=[],i=0;i1&&e.remove(s.line+1,p-1),e.insert(s.line+1,y)}un(e,"change",e,t)}function Lr(e,t,n){!function e(i,r,o){if(i.linked)for(var a=0;as-(e.cm?e.cm.options.historyEventDelay:500)||"*"==t.origin.charAt(0)))&&(o=function(e,t){return t?(qr(e.done),J(e.done)):e.done.length&&!J(e.done).ranges?J(e.done):e.done.length>1&&!e.done[e.done.length-2].ranges?(e.done.pop(),J(e.done)):void 0}(r,r.lastOp==i)))a=J(o.changes),0==nt(t.from,t.to)&&0==nt(t.from,a.to)?a.to=Mr(t):o.changes.push(Fr(e,t));else{var l=J(r.done);for(l&&l.ranges||Hr(e.sel,r.done),o={changes:[Fr(e,t)],generation:r.generation},r.done.push(o);r.done.length>r.undoDepth;)r.done.shift(),r.done[0].ranges||r.done.shift()}r.done.push(n),r.generation=++r.maxGeneration,r.lastModTime=r.lastSelTime=s,r.lastOp=r.lastSelOp=i,r.lastOrigin=r.lastSelOrigin=t.origin,a||he(e,"historyAdded")}function zr(e,t,n,i){var r=e.history,o=i&&i.origin;n==r.lastSelOp||o&&r.lastSelOrigin==o&&(r.lastModTime==r.lastSelTime&&r.lastOrigin==o||function(e,t,n,i){var r=t.charAt(0);return"*"==r||"+"==r&&n.ranges.length==i.ranges.length&&n.somethingSelected()==i.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}(e,o,J(r.done),t))?r.done[r.done.length-1]=t:Hr(t,r.done),r.lastSelTime=+new Date,r.lastSelOrigin=o,r.lastSelOp=n,i&&!1!==i.clearRedo&&qr(r.undone)}function Hr(e,t){var n=J(t);n&&n.ranges&&n.equals(e)||t.push(e)}function Vr(e,t,n,i){var r=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,i),(function(n){n.markedSpans&&((r||(r=t["spans_"+e.id]={}))[o]=n.markedSpans),++o}))}function Gr(e){if(!e)return null;for(var t,n=0;n-1&&(J(s)[f]=u[f],delete u[f])}}}return i}function Qr(e,t,n,i){if(i){var r=e.anchor;if(n){var o=nt(t,r)<0;o!=nt(n,r)<0?(r=t,t=n):o!=nt(t,n)<0&&(t=n)}return new Dr(r,t)}return new Dr(n||t,t)}function Jr(e,t,n,i,r){null==r&&(r=e.cm&&(e.cm.display.shift||e.extend)),eo(e,new Er([Qr(e.sel.primary(),t,n,r)],0),i)}function Xr(e,t,n){for(var i=[],r=e.cm&&(e.cm.display.shift||e.extend),o=0;o=t.ch:s.to>t.ch))){if(r&&(he(l,"beforeCursorEnter"),l.explicitlyCleared)){if(o.markedSpans){--a;continue}break}if(!l.atomic)continue;if(n){var f=l.find(i<0?1:-1),d=void 0;if((i<0?c:u)&&(f=so(e,f,-i,f&&f.line==t.line?o:null)),f&&f.line==t.line&&(d=nt(f,n))&&(i<0?d<0:d>0))return oo(e,f,t,i,r)}var m=l.find(i<0?-1:1);return(i<0?u:c)&&(m=so(e,m,i,m.line==t.line?o:null)),m?oo(e,m,t,i,r):null}}return t}function ao(e,t,n,i,r){var o=i||1;return oo(e,t,n,o,r)||!r&&oo(e,t,n,o,!0)||oo(e,t,n,-o,r)||!r&&oo(e,t,n,-o,!0)||(e.cantEdit=!0,tt(e.first,0))}function so(e,t,n,i){return n<0&&0==t.ch?t.line>e.first?lt(e,tt(t.line-1)):null:n>0&&t.ch==(i||Ke(e,t.line)).text.length?t.line0)){var c=[l,1],f=nt(u.from,s.from),d=nt(u.to,s.to);(f<0||!a.inclusiveLeft&&!f)&&c.push({from:u.from,to:s.from}),(d>0||!a.inclusiveRight&&!d)&&c.push({from:s.to,to:u.to}),r.splice.apply(r,c),l+=c.length-3}}return r}(e,t.from,t.to);if(i)for(var r=i.length-1;r>=0;--r)fo(e,{from:i[r].from,to:i[r].to,text:r?[""]:t.text,origin:t.origin});else fo(e,t)}}function fo(e,t){if(1!=t.text.length||""!=t.text[0]||0!=nt(t.from,t.to)){var n=Tr(e,t);jr(e,t,n,e.cm?e.cm.curOp.id:NaN),ho(e,t,n,Mt(e,t));var i=[];Lr(e,(function(e,n){n||-1!=q(i,e.history)||(Co(e.history,t),i.push(e.history)),ho(e,t,null,Mt(e,t))}))}}function mo(e,t,n){var i=e.cm&&e.cm.state.suppressEdits;if(!i||n){for(var r,o=e.history,a=e.sel,s="undo"==t?o.done:o.undone,l="undo"==t?o.undone:o.done,u=0;u=0;--m){var p=d(m);if(p)return p.v}}}}function po(e,t){if(0!=t&&(e.first+=t,e.sel=new Er(X(e.sel.ranges,(function(e){return new Dr(tt(e.anchor.line+t,e.anchor.ch),tt(e.head.line+t,e.head.ch))})),e.sel.primIndex),e.cm)){di(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,i=n.viewFrom;ie.lastLine())){if(t.from.lineo&&(t={from:t.from,to:tt(o,Ke(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=Qe(e,t.from,t.to),n||(n=Tr(e,t)),e.cm?function(e,t,n){var i=e.doc,r=e.display,o=t.from,a=t.to,s=!1,l=o.line;e.options.lineWrapping||(l=Ye(Ft(Ke(i,o.line))),i.iter(l,a.line+1,(function(e){if(e==r.maxLine)return s=!0,!0}))),i.sel.contains(t.from,t.to)>-1&&ye(e),_r(i,t,n,li(e)),e.options.lineWrapping||(i.iter(l,o.line+t.text.length,(function(e){var t=Gt(e);t>r.maxLineLength&&(r.maxLine=e,r.maxLineLength=t,r.maxLineChanged=!0,s=!1)})),s&&(e.curOp.updateMaxLine=!0)),function(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontiern;i--){var r=Ke(e,i).stateAfter;if(r&&(!(r instanceof ct)||i+r.lookAhead1||!(this.children[0]instanceof bo))){var s=[];this.collapse(s),this.children=[new bo(s)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t50){for(var a=r.lines.length%25+25,s=a;s10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var i=0;i0||0==a&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=w("span",[o.replacedWith],"CodeMirror-widget"),i.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),i.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Bt(e,t.line,t,n,o)||t.line!=n.line&&Bt(e,n.line,t,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");Et=!0}o.addToHistory&&jr(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var s,l=t.line,u=e.cm;if(e.iter(l,n.line+1,(function(i){u&&o.collapsed&&!u.options.lineWrapping&&Ft(i)==u.display.maxLine&&(s=!0),o.collapsed&&l!=t.line&&Xe(i,0),function(e,t,n){var i=n&&window.WeakSet&&(n.markedSpans||(n.markedSpans=new WeakSet));i&&i.has(e.markedSpans)?e.markedSpans.push(t):(e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],i&&i.add(e.markedSpans)),t.marker.attachLine(e)}(i,new Dt(o,l==t.line?t.ch:null,l==n.line?n.ch:null),e.cm&&e.cm.curOp),++l})),o.collapsed&&e.iter(t.line,n.line+1,(function(t){zt(e,t)&&Xe(t,0)})),o.clearOnEnter&&de(o,"beforeCursorEnter",(function(){return o.clear()})),o.readOnly&&(St=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++Ao,o.atomic=!0),u){if(s&&(u.curOp.updateMaxLine=!0),o.collapsed)di(u,t.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var c=t.line;c<=n.line;c++)mi(u,c,"text");o.atomic&&io(u.doc),un(u,"markerAdded",u,o)}return o}Ro.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&Ki(e),ve(this,"clear")){var n=this.find();n&&un(this,"clear",n.from,n.to)}for(var i=null,r=null,o=0;oe.display.maxLineLength&&(e.display.maxLine=u,e.display.maxLineLength=c,e.display.maxLineChanged=!0)}null!=i&&e&&this.collapsed&&di(e,i,r+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&io(e.doc)),e&&un(e,"markerCleared",e,this,i,r),t&&Qi(e),this.parent&&this.parent.clear()}},Ro.prototype.find=function(e,t){var n,i;null==e&&"bookmark"==this.type&&(e=1);for(var r=0;r=0;l--)co(this,i[l]);s?Zr(this,s):this.cm&&Pi(this.cm)})),undo:ir((function(){mo(this,"undo")})),redo:ir((function(){mo(this,"redo")})),undoSelection:ir((function(){mo(this,"undo",!0)})),redoSelection:ir((function(){mo(this,"redo",!0)})),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,i=0;i=e.ch)&&t.push(r.marker.parent||r.marker)}return t},findMarks:function(e,t,n){e=lt(this,e),t=lt(this,t);var i=[],r=e.line;return this.iter(e.line,t.line+1,(function(o){var a=o.markedSpans;if(a)for(var s=0;s=l.to||null==l.from&&r!=e.line||null!=l.from&&r==t.line&&l.from>=t.ch||n&&!n(l.marker)||i.push(l.marker.parent||l.marker)}++r})),i},getAllMarks:function(){var e=[];return this.iter((function(t){var n=t.markedSpans;if(n)for(var i=0;ie)return t=e,!0;e-=o,++n})),lt(this,tt(n,t))},indexFromPos:function(e){var t=(e=lt(this,e)).ch;if(e.linet&&(t=e.from),null!=e.to&&e.to-1)return t.state.draggingText(e),void setTimeout((function(){return t.display.input.focus()}),20);try{var f=e.dataTransfer.getData("Text");if(f){var d;if(t.state.draggingText&&!t.state.draggingText.copy&&(d=t.listSelections()),to(t.doc,Rr(n,n)),d)for(var m=0;m=0;t--)go(e.doc,"",i[t].from,i[t].to,"+delete");Pi(e)}))}function Zo(e,t,n){var i=oe(e.text,t+n,n);return i<0||i>e.text.length?null:i}function ea(e,t,n){var i=Zo(e,t.ch,n);return null==i?null:new tt(t.line,i,n<0?"after":"before")}function ta(e,t,n,i,r){if(e){"rtl"==t.doc.direction&&(r=-r);var o=ce(n,t.doc.direction);if(o){var a,s=r<0?J(o):o[0],l=r<0==(1==s.level)?"after":"before";if(s.level>0||"rtl"==t.doc.direction){var u=On(t,n);a=r<0?n.text.length-1:0;var c=_n(t,u,a).top;a=ae((function(e){return _n(t,u,e).top==c}),r<0==(1==s.level)?s.from:s.to-1,a),"before"==l&&(a=Zo(n,a,1))}else a=r<0?s.to:s.from;return new tt(i,a,l)}}return new tt(i,r<0?n.text.length:0,r<0?"before":"after")}Vo.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Vo.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Vo.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Vo.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Vo.default=v?Vo.macDefault:Vo.pcDefault;var na={selectAll:lo,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),H)},killLine:function(e){return $o(e,(function(t){if(t.empty()){var n=Ke(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line0)r=new tt(r.line,r.ch+1),e.replaceRange(o.charAt(r.ch-1)+o.charAt(r.ch-2),tt(r.line,r.ch-2),r,"+transpose");else if(r.line>e.doc.first){var a=Ke(e.doc,r.line-1).text;a&&(r=new tt(r.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+a.charAt(a.length-1),tt(r.line-1,a.length-1),r,"+transpose"))}n.push(new Dr(r,r))}e.setSelections(n)}))},newlineAndIndent:function(e){return er(e,(function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,"+input");t=e.listSelections();for(var i=0;i-1&&(nt((r=u.ranges[r]).from(),t)<0||t.xRel>0)&&(nt(r.to(),t)>0||t.xRel<0)?function(e,t,n,i){var r=e.display,o=!1,u=tr(e,(function(t){l&&(r.scroller.draggable=!1),e.state.draggingText=!1,e.state.delayingBlurEvent&&(e.hasFocus()?e.state.delayingBlurEvent=!1:Di(e)),pe(r.wrapper.ownerDocument,"mouseup",u),pe(r.wrapper.ownerDocument,"mousemove",c),pe(r.scroller,"dragstart",f),pe(r.scroller,"drop",u),o||(xe(t),i.addNew||Jr(e.doc,n,null,null,i.extend),l&&!d||a&&9==s?setTimeout((function(){r.wrapper.ownerDocument.body.focus({preventScroll:!0}),r.input.focus()}),20):r.input.focus())})),c=function(e){o=o||Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)>=10},f=function(){return o=!0};l&&(r.scroller.draggable=!0),e.state.draggingText=u,u.copy=!i.moveOnDrag,de(r.wrapper.ownerDocument,"mouseup",u),de(r.wrapper.ownerDocument,"mousemove",c),de(r.scroller,"dragstart",f),de(r.scroller,"drop",u),e.state.delayingBlurEvent=!0,setTimeout((function(){return r.input.focus()}),20),r.scroller.dragDrop&&r.scroller.dragDrop()}(e,i,t,o):function(e,t,n,i){a&&Di(e);var r=e.display,o=e.doc;xe(t);var s,l,u=o.sel,c=u.ranges;if(i.addNew&&!i.extend?(l=o.sel.contains(n),s=l>-1?c[l]:new Dr(n,n)):(s=o.sel.primary(),l=o.sel.primIndex),"rectangle"==i.unit)i.addNew||(s=new Dr(n,n)),n=ci(e,t,!0,!0),l=-1;else{var f=va(e,n,i.unit);s=i.extend?Qr(s,f.anchor,f.head,i.extend):f}i.addNew?-1==l?(l=c.length,eo(o,Ar(e,c.concat([s]),l),{scroll:!1,origin:"*mouse"})):c.length>1&&c[l].empty()&&"char"==i.unit&&!i.extend?(eo(o,Ar(e,c.slice(0,l).concat(c.slice(l+1)),0),{scroll:!1,origin:"*mouse"}),u=o.sel):Yr(o,l,s,V):(l=0,eo(o,new Er([s],0),V),u=o.sel);var d=n;function m(t){if(0!=nt(d,t))if(d=t,"rectangle"==i.unit){for(var r=[],a=e.options.tabSize,c=B(Ke(o,n.line).text,n.ch,a),f=B(Ke(o,t.line).text,t.ch,a),m=Math.min(c,f),p=Math.max(c,f),h=Math.min(n.line,t.line),g=Math.min(e.lastLine(),Math.max(n.line,t.line));h<=g;h++){var y=Ke(o,h).text,v=W(y,m,a);m==p?r.push(new Dr(tt(h,v),tt(h,v))):y.length>v&&r.push(new Dr(tt(h,v),tt(h,W(y,p,a))))}r.length||r.push(new Dr(n,n)),eo(o,Ar(e,u.ranges.slice(0,l).concat(r),l),{origin:"*mouse",scroll:!1}),e.scrollIntoView(t)}else{var C,x=s,b=va(e,t,i.unit),S=x.anchor;nt(b.anchor,S)>0?(C=b.head,S=at(x.from(),b.anchor)):(C=b.anchor,S=ot(x.to(),b.head));var E=u.ranges.slice(0);E[l]=function(e,t){var n=t.anchor,i=t.head,r=Ke(e.doc,n.line);if(0==nt(n,i)&&n.sticky==i.sticky)return t;var o=ce(r);if(!o)return t;var a=le(o,n.ch,n.sticky),s=o[a];if(s.from!=n.ch&&s.to!=n.ch)return t;var l,u=a+(s.from==n.ch==(1!=s.level)?0:1);if(0==u||u==o.length)return t;if(i.line!=n.line)l=(i.line-n.line)*("ltr"==e.doc.direction?1:-1)>0;else{var c=le(o,i.ch,i.sticky),f=c-a||(i.ch-n.ch)*(1==s.level?-1:1);l=c==u-1||c==u?f<0:f>0}var d=o[u+(l?-1:0)],m=l==(1==d.level),p=m?d.from:d.to,h=m?"after":"before";return n.ch==p&&n.sticky==h?t:new Dr(new tt(n.line,p,h),i)}(e,new Dr(lt(o,S),C)),eo(o,Ar(e,E,l),V)}}var p=r.wrapper.getBoundingClientRect(),h=0;function g(t){var n=++h,a=ci(e,t,!0,"rectangle"==i.unit);if(a)if(0!=nt(a,d)){e.curOp.focus=P(),m(a);var s=Ti(r,o);(a.line>=s.to||a.linep.bottom?20:0;l&&setTimeout(tr(e,(function(){h==n&&(r.scroller.scrollTop+=l,g(t))})),50)}}function y(t){e.state.selectingText=!1,h=1/0,t&&(xe(t),r.input.focus()),pe(r.wrapper.ownerDocument,"mousemove",v),pe(r.wrapper.ownerDocument,"mouseup",C),o.history.lastSelOrigin=null}var v=tr(e,(function(e){0!==e.buttons&&Ae(e)?g(e):y(e)})),C=tr(e,y);e.state.selectingText=C,de(r.wrapper.ownerDocument,"mousemove",v),de(r.wrapper.ownerDocument,"mouseup",C)}(e,i,t,o)}(t,i,o,e):De(e)==n.scroller&&xe(e):2==r?(i&&Jr(t.doc,i),setTimeout((function(){return n.input.focus()}),20)):3==r&&(E?t.display.input.onContextMenu(e):Di(t)))}}function va(e,t,n){if("char"==n)return new Dr(t,t);if("word"==n)return e.findWordAt(t);if("line"==n)return new Dr(tt(t.line,0),lt(e.doc,tt(t.line+1,0)));var i=n(e,t);return new Dr(i.from,i.to)}function Ca(e,t,n,i){var r,o;if(t.touches)r=t.touches[0].clientX,o=t.touches[0].clientY;else try{r=t.clientX,o=t.clientY}catch(e){return!1}if(r>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;i&&xe(t);var a=e.display,s=a.lineDiv.getBoundingClientRect();if(o>s.bottom||!ve(e,n))return Se(t);o-=s.top-a.viewOffset;for(var l=0;l=r)return he(e,n,e,$e(e.doc,o),e.display.gutterSpecs[l].className,t),Se(t)}}function xa(e,t){return Ca(e,t,"gutterClick",!0)}function ba(e,t){En(e.display,t)||function(e,t){return!!ve(e,"gutterContextMenu")&&Ca(e,t,"gutterContextMenu",!1)}(e,t)||ge(e,t,"contextmenu")||E||e.display.input.onContextMenu(t)}function Sa(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),jn(e)}ga.prototype.compare=function(e,t,n){return this.time+400>e&&0==nt(t,this.pos)&&n==this.button};var Ea={toString:function(){return"CodeMirror.Init"}},Da={},Aa={};function Ra(e,t,n){if(!t!=!(n&&n!=Ea)){var i=e.display.dragFunctions,r=t?de:pe;r(e.display.scroller,"dragstart",i.start),r(e.display.scroller,"dragenter",i.enter),r(e.display.scroller,"dragover",i.over),r(e.display.scroller,"dragleave",i.leave),r(e.display.scroller,"drop",i.drop)}}function Ma(e){e.options.lineWrapping?(O(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(R(e.display.wrapper,"CodeMirror-wrap"),Wt(e)),ui(e),di(e),jn(e),setTimeout((function(){return zi(e)}),100)}function ka(e,t){var n=this;if(!(this instanceof ka))return new ka(e,t);this.options=t=t?U(t):{},U(Da,t,!1);var i=t.value;"string"==typeof i?i=new Po(i,t.mode,null,t.lineSeparator,t.direction):t.mode&&(i.modeOption=t.mode),this.doc=i;var r=new ka.inputStyles[t.inputStyle](this),o=this.display=new yr(e,i,r,t);for(var u in o.wrapper.CodeMirror=this,Sa(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),Gi(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new F,keySeq:null,specialChars:null},t.autofocus&&!y&&o.input.focus(),a&&s<11&&setTimeout((function(){return n.display.input.reset(!0)}),20),function(e){var t=e.display;de(t.scroller,"mousedown",tr(e,ya)),de(t.scroller,"dblclick",a&&s<11?tr(e,(function(t){if(!ge(e,t)){var n=ci(e,t);if(n&&!xa(e,t)&&!En(e.display,t)){xe(t);var i=e.findWordAt(n);Jr(e.doc,i.anchor,i.head)}}})):function(t){return ge(e,t)||xe(t)}),de(t.scroller,"contextmenu",(function(t){return ba(e,t)})),de(t.input.getField(),"contextmenu",(function(n){t.scroller.contains(n.target)||ba(e,n)}));var n,i={end:0};function r(){t.activeTouch&&(n=setTimeout((function(){return t.activeTouch=null}),1e3),(i=t.activeTouch).end=+new Date)}function o(e){if(1!=e.touches.length)return!1;var t=e.touches[0];return t.radiusX<=1&&t.radiusY<=1}function l(e,t){if(null==t.left)return!0;var n=t.left-e.left,i=t.top-e.top;return n*n+i*i>400}de(t.scroller,"touchstart",(function(r){if(!ge(e,r)&&!o(r)&&!xa(e,r)){t.input.ensurePolled(),clearTimeout(n);var a=+new Date;t.activeTouch={start:a,moved:!1,prev:a-i.end<=300?i:null},1==r.touches.length&&(t.activeTouch.left=r.touches[0].pageX,t.activeTouch.top=r.touches[0].pageY)}})),de(t.scroller,"touchmove",(function(){t.activeTouch&&(t.activeTouch.moved=!0)})),de(t.scroller,"touchend",(function(n){var i=t.activeTouch;if(i&&!En(t,n)&&null!=i.left&&!i.moved&&new Date-i.start<300){var o,a=e.coordsChar(t.activeTouch,"page");o=!i.prev||l(i,i.prev)?new Dr(a,a):!i.prev.prev||l(i,i.prev.prev)?e.findWordAt(a):new Dr(tt(a.line,0),lt(e.doc,tt(a.line+1,0))),e.setSelection(o.anchor,o.head),e.focus(),xe(n)}r()})),de(t.scroller,"touchcancel",r),de(t.scroller,"scroll",(function(){t.scroller.clientHeight&&(Ni(e,t.scroller.scrollTop),Bi(e,t.scroller.scrollLeft,!0),he(e,"scroll",e))})),de(t.scroller,"mousewheel",(function(t){return Sr(e,t)})),de(t.scroller,"DOMMouseScroll",(function(t){return Sr(e,t)})),de(t.wrapper,"scroll",(function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0})),t.dragFunctions={enter:function(t){ge(e,t)||Ee(t)},over:function(t){ge(e,t)||(function(e,t){var n=ci(e,t);if(n){var i=document.createDocumentFragment();Ci(e,n,i),e.display.dragCursor||(e.display.dragCursor=T("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),k(e.display.dragCursor,i)}}(e,t),Ee(t))},start:function(t){return function(e,t){if(a&&(!e.state.draggingText||+new Date-Oo<100))Ee(t);else if(!ge(e,t)&&!En(e.display,t)&&(t.dataTransfer.setData("Text",e.getSelection()),t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setDragImage&&!d)){var n=T("img",null,null,"position: fixed; left: 0; top: 0;");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",f&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),f&&n.parentNode.removeChild(n)}}(e,t)},drop:tr(e,_o),leave:function(t){ge(e,t)||Lo(e)}};var u=t.input.getField();de(u,"keyup",(function(t){return da.call(e,t)})),de(u,"keydown",tr(e,fa)),de(u,"keypress",tr(e,ma)),de(u,"focus",(function(t){return Ai(e,t)})),de(u,"blur",(function(t){return Ri(e,t)}))}(this),Bo(),Ki(this),this.curOp.forceUpdate=!0,Nr(this,i),t.autofocus&&!y||this.hasFocus()?setTimeout((function(){n.hasFocus()&&!n.state.focused&&Ai(n)}),20):Ri(this),Aa)Aa.hasOwnProperty(u)&&Aa[u](this,t[u],Ea);mr(this),t.finishInit&&t.finishInit(this);for(var c=0;c150)){if(!i)return;n="prev"}}else u=0,n="not";"prev"==n?u=t>o.first?B(Ke(o,t-1).text,null,a):0:"add"==n?u=l+e.options.indentUnit:"subtract"==n?u=l-e.options.indentUnit:"number"==typeof n&&(u=l+n),u=Math.max(0,u);var f="",d=0;if(e.options.indentWithTabs)for(var m=Math.floor(u/a);m;--m)d+=a,f+="\t";if(da,l=Pe(t),u=null;if(s&&i.ranges.length>1)if(Ia&&Ia.text.join("\n")==t){if(i.ranges.length%Ia.text.length==0){u=[];for(var c=0;c=0;d--){var m=i.ranges[d],p=m.from(),h=m.to();m.empty()&&(n&&n>0?p=tt(p.line,p.ch-n):e.state.overwrite&&!s?h=tt(h.line,Math.min(Ke(o,h.line).text.length,h.ch+J(l).length)):s&&Ia&&Ia.lineWise&&Ia.text.join("\n")==l.join("\n")&&(p=h=tt(p.line,0)));var g={from:p,to:h,text:u?u[d%u.length]:l,origin:r||(s?"paste":e.state.cutIncoming>a?"cut":"+input")};co(e.doc,g),un(e,"inputRead",e,g)}t&&!s&&La(e,t),Pi(e),e.curOp.updateInput<2&&(e.curOp.updateInput=f),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function _a(e,t){var n=e.clipboardData&&e.clipboardData.getData("Text");if(n)return e.preventDefault(),t.isReadOnly()||t.options.disableInput||er(t,(function(){return Oa(t,n,0,null,"paste")})),!0}function La(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,i=n.ranges.length-1;i>=0;i--){var r=n.ranges[i];if(!(r.head.ch>100||i&&n.ranges[i-1].head.line==r.head.line)){var o=e.getModeAt(r.head),a=!1;if(o.electricChars){for(var s=0;s-1){a=wa(e,r.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(Ke(e.doc,r.head.line).text.slice(0,r.head.ch))&&(a=wa(e,r.head.line,"smart"));a&&un(e,"electricInput",e,r.head.line)}}}function Na(e){for(var t=[],n=[],i=0;i0?0:-1));if(isNaN(c))a=null;else{var f=n>0?c>=55296&&c<56320:c>=56320&&c<57343;a=new tt(t.line,Math.max(0,Math.min(s.text.length,t.ch+n*(f?2:1))),-n)}}else a=r?function(e,t,n,i){var r=ce(t,e.doc.direction);if(!r)return ea(t,n,i);n.ch>=t.text.length?(n.ch=t.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=le(r,n.ch,n.sticky),a=r[o];if("ltr"==e.doc.direction&&a.level%2==0&&(i>0?a.to>n.ch:a.from=a.from&&d>=c.begin)){var m=f?"before":"after";return new tt(n.line,d,m)}}var p=function(e,t,i){for(var o=function(e,t){return t?new tt(n.line,l(e,1),"before"):new tt(n.line,e,"after")};e>=0&&e0==(1!=a.level),u=s?i.begin:l(i.end,-1);if(a.from<=u&&u0?c.end:l(c.begin,-1);return null==g||i>0&&g==t.text.length||!(h=p(i>0?0:r.length-1,i,u(g)))?null:h}(e.cm,s,t,n):ea(s,t,n);if(null==a){if(o||((u=t.line+l)=e.first+e.size||(t=new tt(u,t.ch,t.sticky),!(s=Ke(e,u)))))return!1;t=ta(r,e.cm,s,t.line,l)}else t=a;return!0}if("char"==i||"codepoint"==i)u();else if("column"==i)u(!0);else if("word"==i||"group"==i)for(var c=null,f="group"==i,d=e.cm&&e.cm.getHelper(t,"wordChars"),m=!0;!(n<0)||u(!m);m=!1){var p=s.text.charAt(t.ch)||"\n",h=te(p,d)?"w":f&&"\n"==p?"n":!f||/\s/.test(p)?null:"p";if(!f||m||h||(h="s"),c&&c!=h){n<0&&(n=1,u(),t.sticky="after");break}if(h&&(c=h),n>0&&!u(!m))break}var g=ao(e,t,o,a,!0);return it(o,g)&&(g.hitSide=!0),g}function qa(e,t,n,i){var r,o,a=e.doc,s=t.left;if("page"==i){var l=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),u=Math.max(l-.5*ri(e.display),3);r=(n>0?t.bottom:t.top)+n*u}else"line"==i&&(r=n>0?t.bottom+3:t.top-3);for(;(o=Yn(e,s,r)).outside;){if(n<0?r<=0:r>=a.height){o.hitSide=!0;break}r+=5*n}return o}var ja=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new F,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function za(e,t){var n=Pn(e,t.line);if(!n||n.hidden)return null;var i=Ke(e.doc,t.line),r=wn(n,i,t.line),o=ce(i,e.doc.direction),a="left";o&&(a=le(o,t.ch)%2?"right":"left");var s=Un(r.map,t.ch,a);return s.offset="right"==s.collapse?s.end:s.start,s}function Ha(e,t){return t&&(e.bad=!0),e}function Va(e,t,n){var i;if(t==e.display.lineDiv){if(!(i=e.display.lineDiv.childNodes[n]))return Ha(e.clipPos(tt(e.display.viewTo-1)),!0);t=null,n=0}else for(i=t;;i=i.parentNode){if(!i||i==e.display.lineDiv)return null;if(i.parentNode&&i.parentNode==e.display.lineDiv)break}for(var r=0;r=t.display.viewTo||o.line=t.display.viewFrom&&za(t,r)||{node:l[0].measure.map[2],offset:0},c=o.linei.firstLine()&&(a=tt(a.line-1,Ke(i.doc,a.line-1).length)),s.ch==Ke(i.doc,s.line).text.length&&s.liner.viewTo-1)return!1;a.line==r.viewFrom||0==(e=fi(i,a.line))?(t=Ye(r.view[0].line),n=r.view[0].node):(t=Ye(r.view[e].line),n=r.view[e-1].node.nextSibling);var l,u,c=fi(i,s.line);if(c==r.view.length-1?(l=r.viewTo-1,u=r.lineDiv.lastChild):(l=Ye(r.view[c+1].line)-1,u=r.view[c+1].node.previousSibling),!n)return!1;for(var f=i.doc.splitLines(function(e,t,n,i,r){var o="",a=!1,s=e.doc.lineSeparator(),l=!1;function u(){a&&(o+=s,l&&(o+=s),a=l=!1)}function c(e){e&&(u(),o+=e)}function f(t){if(1==t.nodeType){var n=t.getAttribute("cm-text");if(n)return void c(n);var o,d=t.getAttribute("cm-marker");if(d){var m=e.findMarks(tt(i,0),tt(r+1,0),(g=+d,function(e){return e.id==g}));return void(m.length&&(o=m[0].find(0))&&c(Qe(e.doc,o.from,o.to).join(s)))}if("false"==t.getAttribute("contenteditable"))return;var p=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;p&&u();for(var h=0;h1&&d.length>1;)if(J(f)==J(d))f.pop(),d.pop(),l--;else{if(f[0]!=d[0])break;f.shift(),d.shift(),t++}for(var m=0,p=0,h=f[0],g=d[0],y=Math.min(h.length,g.length);ma.ch&&v.charCodeAt(v.length-p-1)==C.charCodeAt(C.length-p-1);)m--,p++;f[f.length-1]=v.slice(0,v.length-p).replace(/^\u200b+/,""),f[0]=f[0].slice(m).replace(/\u200b+$/,"");var b=tt(t,m),S=tt(l,d.length?J(d).length-p:0);return f.length>1||f[0]||nt(b,S)?(go(i.doc,f,b,S,"+input"),!0):void 0},ja.prototype.ensurePolled=function(){this.forceCompositionEnd()},ja.prototype.reset=function(){this.forceCompositionEnd()},ja.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},ja.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()}),80))},ja.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||er(this.cm,(function(){return di(e.cm)}))},ja.prototype.setUneditable=function(e){e.contentEditable="false"},ja.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||tr(this.cm,Oa)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},ja.prototype.readOnlyChanged=function(e){this.div.contentEditable=String("nocursor"!=e)},ja.prototype.onContextMenu=function(){},ja.prototype.resetPosition=function(){},ja.prototype.needsContentAttribute=!0;var Wa=function(e){this.cm=e,this.prevInput="",this.pollingFast=!1,this.polling=new F,this.hasSelection=!1,this.composing=null};Wa.prototype.init=function(e){var t=this,n=this,i=this.cm;this.createField(e);var r=this.textarea;function o(e){if(!ge(i,e)){if(i.somethingSelected())Pa({lineWise:!1,text:i.getSelections()});else{if(!i.options.lineWiseCopyCut)return;var t=Na(i);Pa({lineWise:!0,text:t.text}),"cut"==e.type?i.setSelections(t.ranges,null,H):(n.prevInput="",r.value=t.text.join("\n"),L(r))}"cut"==e.type&&(i.state.cutIncoming=+new Date)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),h&&(r.style.width="0px"),de(r,"input",(function(){a&&s>=9&&t.hasSelection&&(t.hasSelection=null),n.poll()})),de(r,"paste",(function(e){ge(i,e)||_a(e,i)||(i.state.pasteIncoming=+new Date,n.fastPoll())})),de(r,"cut",o),de(r,"copy",o),de(e.scroller,"paste",(function(t){if(!En(e,t)&&!ge(i,t)){if(!r.dispatchEvent)return i.state.pasteIncoming=+new Date,void n.focus();var o=new Event("paste");o.clipboardData=t.clipboardData,r.dispatchEvent(o)}})),de(e.lineSpace,"selectstart",(function(t){En(e,t)||xe(t)})),de(r,"compositionstart",(function(){var e=i.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:e,range:i.markText(e,i.getCursor("to"),{className:"CodeMirror-composing"})}})),de(r,"compositionend",(function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)}))},Wa.prototype.createField=function(e){this.wrapper=Ba(),this.textarea=this.wrapper.firstChild},Wa.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute("aria-label",e):this.textarea.removeAttribute("aria-label")},Wa.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,i=vi(e);if(e.options.moveInputWithCursor){var r=Qn(e,n.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),a=t.lineDiv.getBoundingClientRect();i.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,r.top+a.top-o.top)),i.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,r.left+a.left-o.left))}return i},Wa.prototype.showSelection=function(e){var t=this.cm.display;k(t.cursorDiv,e.cursors),k(t.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},Wa.prototype.reset=function(e){if(!this.contextMenuPending&&!this.composing){var t=this.cm;if(t.somethingSelected()){this.prevInput="";var n=t.getSelection();this.textarea.value=n,t.state.focused&&L(this.textarea),a&&s>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value="",a&&s>=9&&(this.hasSelection=null))}},Wa.prototype.getField=function(){return this.textarea},Wa.prototype.supportsTouch=function(){return!1},Wa.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!y||P()!=this.textarea))try{this.textarea.focus()}catch(e){}},Wa.prototype.blur=function(){this.textarea.blur()},Wa.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Wa.prototype.receivedFocus=function(){this.slowPoll()},Wa.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){e.poll(),e.cm.state.focused&&e.slowPoll()}))},Wa.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0,t.polling.set(20,(function n(){t.poll()||e?(t.pollingFast=!1,t.slowPoll()):(e=!0,t.polling.set(60,n))}))},Wa.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,i=this.prevInput;if(this.contextMenuPending||!t.state.focused||Oe(n)&&!i&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var r=n.value;if(r==i&&!t.somethingSelected())return!1;if(a&&s>=9&&this.hasSelection===r||v&&/[\uf700-\uf7ff]/.test(r))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=r.charCodeAt(0);if(8203!=o||i||(i="​"),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var l=0,u=Math.min(i.length,r.length);l1e3||r.indexOf("\n")>-1?n.value=e.prevInput="":e.prevInput=r,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},Wa.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Wa.prototype.onKeyPress=function(){a&&s>=9&&(this.hasSelection=null),this.fastPoll()},Wa.prototype.onContextMenu=function(e){var t=this,n=t.cm,i=n.display,r=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=ci(n,e),u=i.scroller.scrollTop;if(o&&!f){n.options.resetSelectionOnContextMenu&&-1==n.doc.sel.contains(o)&&tr(n,eo)(n.doc,Rr(o),H);var c,d=r.style.cssText,m=t.wrapper.style.cssText,p=t.wrapper.offsetParent.getBoundingClientRect();if(t.wrapper.style.cssText="position: static",r.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(e.clientY-p.top-5)+"px; left: "+(e.clientX-p.left-5)+"px;\n z-index: 1000; background: "+(a?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",l&&(c=window.scrollY),i.input.focus(),l&&window.scrollTo(null,c),i.input.reset(),n.somethingSelected()||(r.value=t.prevInput=" "),t.contextMenuPending=y,i.selForContextMenu=n.doc.sel,clearTimeout(i.detectingSelectAll),a&&s>=9&&g(),E){Ee(e);var h=function(){pe(window,"mouseup",h),setTimeout(y,20)};de(window,"mouseup",h)}else setTimeout(y,50)}function g(){if(null!=r.selectionStart){var e=n.somethingSelected(),o="​"+(e?r.value:"");r.value="⇚",r.value=o,t.prevInput=e?"":"​",r.selectionStart=1,r.selectionEnd=o.length,i.selForContextMenu=n.doc.sel}}function y(){if(t.contextMenuPending==y&&(t.contextMenuPending=!1,t.wrapper.style.cssText=m,r.style.cssText=d,a&&s<9&&i.scrollbars.setScrollTop(i.scroller.scrollTop=u),null!=r.selectionStart)){(!a||a&&s<9)&&g();var e=0,o=function(){i.selForContextMenu==n.doc.sel&&0==r.selectionStart&&r.selectionEnd>0&&"​"==t.prevInput?tr(n,lo)(n):e++<10?i.detectingSelectAll=setTimeout(o,500):(i.selForContextMenu=null,i.input.reset())};i.detectingSelectAll=setTimeout(o,200)}}},Wa.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled="nocursor"==e,this.textarea.readOnly=!!e},Wa.prototype.setUneditable=function(){},Wa.prototype.needsContentAttribute=!1,function(e){var t=e.optionHandlers;function n(n,i,r,o){e.defaults[n]=i,r&&(t[n]=o?function(e,t,n){n!=Ea&&r(e,t,n)}:r)}e.defineOption=n,e.Init=Ea,n("value","",(function(e,t){return e.setValue(t)}),!0),n("mode",null,(function(e,t){e.doc.modeOption=t,Ir(e)}),!0),n("indentUnit",2,Ir,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,(function(e){Pr(e),jn(e),di(e)}),!0),n("lineSeparator",null,(function(e,t){if(e.doc.lineSep=t,t){var n=[],i=e.doc.first;e.doc.iter((function(e){for(var r=0;;){var o=e.text.indexOf(t,r);if(-1==o)break;r=o+t.length,n.push(tt(i,o))}i++}));for(var r=n.length-1;r>=0;r--)go(e.doc,t,n[r],tt(n[r].line,n[r].ch+t.length))}})),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,(function(e,t,n){e.state.specialChars=new RegExp(t.source+(t.test("\t")?"":"|\t"),"g"),n!=Ea&&e.refresh()})),n("specialCharPlaceholder",Zt,(function(e){return e.refresh()}),!0),n("electricChars",!0),n("inputStyle",y?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),n("spellcheck",!1,(function(e,t){return e.getInputField().spellcheck=t}),!0),n("autocorrect",!1,(function(e,t){return e.getInputField().autocorrect=t}),!0),n("autocapitalize",!1,(function(e,t){return e.getInputField().autocapitalize=t}),!0),n("rtlMoveVisually",!x),n("wholeLineUpdateBefore",!0),n("theme","default",(function(e){Sa(e),gr(e)}),!0),n("keyMap","default",(function(e,t,n){var i=Yo(t),r=n!=Ea&&Yo(n);r&&r.detach&&r.detach(e,i),i.attach&&i.attach(e,r||null)})),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,Ma,!0),n("gutters",[],(function(e,t){e.display.gutterSpecs=pr(t,e.options.lineNumbers),gr(e)}),!0),n("fixedGutter",!0,(function(e,t){e.display.gutters.style.left=t?si(e.display)+"px":"0",e.refresh()}),!0),n("coverGutterNextToScrollbar",!1,(function(e){return zi(e)}),!0),n("scrollbarStyle","native",(function(e){Gi(e),zi(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)}),!0),n("lineNumbers",!1,(function(e,t){e.display.gutterSpecs=pr(e.options.gutters,t),gr(e)}),!0),n("firstLineNumber",1,gr,!0),n("lineNumberFormatter",(function(e){return e}),gr,!0),n("showCursorWhenSelecting",!1,yi,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,(function(e,t){"nocursor"==t&&(Ri(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)})),n("screenReaderLabel",null,(function(e,t){t=""===t?null:t,e.display.input.screenReaderLabelChanged(t)})),n("disableInput",!1,(function(e,t){t||e.display.input.reset()}),!0),n("dragDrop",!0,Ra),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,yi,!0),n("singleCursorHeightPerLine",!0,yi,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,Pr,!0),n("addModeClass",!1,Pr,!0),n("pollInterval",100),n("undoDepth",200,(function(e,t){return e.doc.history.undoDepth=t})),n("historyEventDelay",1250),n("viewportMargin",10,(function(e){return e.refresh()}),!0),n("maxHighlightLength",1e4,Pr,!0),n("moveInputWithCursor",!0,(function(e,t){t||e.display.input.resetPosition()})),n("tabindex",null,(function(e,t){return e.display.input.getField().tabIndex=t||""})),n("autofocus",null),n("direction","ltr",(function(e,t){return e.doc.setDirection(t)}),!0),n("phrases",null)}(ka),function(e){var t=e.optionHandlers,n=e.helpers={};e.prototype={constructor:e,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,n){var i=this.options,r=i[e];i[e]==n&&"mode"!=e||(i[e]=n,t.hasOwnProperty(e)&&tr(this,t[e])(this,n,r),he(this,"optionChange",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"](Yo(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;nn&&(wa(this,r.head.line,e,!0),n=r.head.line,i==this.doc.sel.primIndex&&Pi(this));else{var o=r.from(),a=r.to(),s=Math.max(n,o.line);n=Math.min(this.lastLine(),a.line-(a.ch?0:1))+1;for(var l=s;l0&&Yr(this.doc,i,new Dr(o,u[i].to()),H)}}})),getTokenAt:function(e,t){return Ct(this,e,t)},getLineTokens:function(e,t){return Ct(this,tt(e),t,!0)},getTokenTypeAt:function(e){e=lt(this.doc,e);var t,n=mt(this,Ke(this.doc,e.line)),i=0,r=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var a=i+r>>1;if((a?n[2*a-1]:0)>=o)r=a;else{if(!(n[2*a+1]o&&(e=o,r=!0),i=Ke(this.doc,e)}else i=e;return Gn(this,i,{top:0,left:0},t||"page",n||r).top+(r?this.doc.height-Vt(i):0)},defaultTextHeight:function(){return ri(this.display)},defaultCharWidth:function(){return oi(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,i,r){var o,a,s,l=this.display,u=(e=Qn(this,lt(this.doc,e))).bottom,c=e.left;if(t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(t),l.sizer.appendChild(t),"over"==i)u=e.top;else if("above"==i||"near"==i){var f=Math.max(l.wrapper.clientHeight,this.doc.height),d=Math.max(l.sizer.clientWidth,l.lineSpace.clientWidth);("above"==i||e.bottom+t.offsetHeight>f)&&e.top>t.offsetHeight?u=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=f&&(u=e.bottom),c+t.offsetWidth>d&&(c=d-t.offsetWidth)}t.style.top=u+"px",t.style.left=t.style.right="","right"==r?(c=l.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==r?c=0:"middle"==r&&(c=(l.sizer.clientWidth-t.offsetWidth)/2),t.style.left=c+"px"),n&&(o=this,a={left:c,top:u,right:c+t.offsetWidth,bottom:u+t.offsetHeight},null!=(s=wi(o,a)).scrollTop&&Ni(o,s.scrollTop),null!=s.scrollLeft&&Bi(o,s.scrollLeft))},triggerOnKeyDown:nr(fa),triggerOnKeyPress:nr(ma),triggerOnKeyUp:da,triggerOnMouseDown:nr(ya),execCommand:function(e){if(na.hasOwnProperty(e))return na[e].call(null,this)},triggerElectric:nr((function(e){La(this,e)})),findPosH:function(e,t,n,i){var r=1;t<0&&(r=-1,t=-t);for(var o=lt(this.doc,e),a=0;a0&&a(t.charAt(n-1));)--n;for(;i.5||this.options.lineWrapping)&&ui(this),he(this,"refresh",this)})),swapDoc:nr((function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),Nr(this,e),jn(this),this.display.input.reset(),Oi(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,un(this,"swapDoc",this,t),t})),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Ce(e),e.registerHelper=function(t,i,r){n.hasOwnProperty(t)||(n[t]=e[t]={_global:[]}),n[t][i]=r},e.registerGlobalHelper=function(t,i,r,o){e.registerHelper(t,i,o),n[t]._global.push({pred:r,val:o})}}(ka);var Ka="iter insert remove copy getEditor constructor".split(" ");for(var Qa in Po.prototype)Po.prototype.hasOwnProperty(Qa)&&q(Ka,Qa)<0&&(ka.prototype[Qa]=function(e){return function(){return e.apply(this.doc,arguments)}}(Po.prototype[Qa]));return Ce(Po),ka.inputStyles={textarea:Wa,contenteditable:ja},ka.defineMode=function(e){ka.defaults.mode||"null"==e||(ka.defaults.mode=e),Be.apply(this,arguments)},ka.defineMIME=function(e,t){Ue[e]=t},ka.defineMode("null",(function(){return{token:function(e){return e.skipToEnd()}}})),ka.defineMIME("text/plain","null"),ka.defineExtension=function(e,t){ka.prototype[e]=t},ka.defineDocExtension=function(e,t){Po.prototype[e]=t},ka.fromTextArea=function(e,t){if((t=t?U(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var n=P();t.autofocus=n==e||null!=e.getAttribute("autofocus")&&n==document.body}function i(){e.value=s.getValue()}var r;if(e.form&&(de(e.form,"submit",i),!t.leaveSubmitMethodAlone)){var o=e.form;r=o.submit;try{var a=o.submit=function(){i(),o.submit=r,o.submit(),o.submit=a}}catch(e){}}t.finishInit=function(n){n.save=i,n.getTextArea=function(){return e},n.toTextArea=function(){n.toTextArea=isNaN,i(),e.parentNode.removeChild(n.getWrapperElement()),e.style.display="",e.form&&(pe(e.form,"submit",i),t.leaveSubmitMethodAlone||"function"!=typeof e.form.submit||(e.form.submit=r))}},e.style.display="none";var s=ka((function(t){return e.parentNode.insertBefore(t,e.nextSibling)}),t);return s},function(e){e.off=pe,e.on=de,e.wheelEventPixels=br,e.Doc=Po,e.splitLines=Pe,e.countColumn=B,e.findColumn=W,e.isWordChar=ee,e.Pass=z,e.signal=he,e.Line=Kt,e.changeEnd=Mr,e.scrollbarModel=Vi,e.Pos=tt,e.cmpPos=nt,e.modes=Ne,e.mimeModes=Ue,e.resolveMode=Fe,e.getMode=qe,e.modeExtensions=je,e.extendMode=ze,e.copyState=He,e.startState=Ge,e.innerMode=Ve,e.commands=na,e.keyMap=Vo,e.keyName=Xo,e.isModifierKey=Qo,e.lookupKey=Ko,e.normalizeKeyMap=Wo,e.StringStream=We,e.SharedTextMarker=ko,e.TextMarker=Ro,e.LineWidget=Eo,e.e_preventDefault=xe,e.e_stopPropagation=be,e.e_stop=Ee,e.addClass=O,e.contains=I,e.rmClass=R,e.keyNames=qo}(ka),ka.version="5.61.1",ka}()},6876:function(e,t,n){!function(e){"use strict";e.defineMode("javascript",(function(t,n){var i,r,o=t.indentUnit,a=n.statementIndent,s=n.jsonld,l=n.json||s,u=!1!==n.trackScope,c=n.typescript,f=n.wordCharacters||/[\w$\xa1-\uffff]/,d=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),n=e("keyword b"),i=e("keyword c"),r=e("keyword d"),o=e("operator"),a={type:"atom",style:"atom"};return{if:e("if"),while:t,with:t,else:n,do:n,try:n,finally:n,return:r,break:r,continue:r,new:e("new"),delete:i,void:i,throw:i,debugger:e("debugger"),var:e("var"),const:e("var"),let:e("var"),function:e("function"),catch:e("catch"),for:e("for"),switch:e("switch"),case:e("case"),default:e("default"),in:o,typeof:o,instanceof:o,true:a,false:a,null:a,undefined:a,NaN:a,Infinity:a,this:e("this"),class:e("class"),super:e("atom"),yield:i,export:e("export"),import:e("import"),extends:i,await:i}}(),m=/[+\-*&%=<>!?|~^@]/,p=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function h(e,t,n){return i=e,r=n,t}function g(e,t){var n,i=e.next();if('"'==i||"'"==i)return t.tokenize=(n=i,function(e,t){var i,r=!1;if(s&&"@"==e.peek()&&e.match(p))return t.tokenize=g,h("jsonld-keyword","meta");for(;null!=(i=e.next())&&(i!=n||r);)r=!r&&"\\"==i;return r||(t.tokenize=g),h("string","string")}),t.tokenize(e,t);if("."==i&&e.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return h("number","number");if("."==i&&e.match(".."))return h("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(i))return h(i);if("="==i&&e.eat(">"))return h("=>","operator");if("0"==i&&e.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return h("number","number");if(/\d/.test(i))return e.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),h("number","number");if("/"==i)return e.eat("*")?(t.tokenize=y,y(e,t)):e.eat("/")?(e.skipToEnd(),h("comment","comment")):et(e,t,1)?(function(e){for(var t,n=!1,i=!1;null!=(t=e.next());){if(!n){if("/"==t&&!i)return;"["==t?i=!0:i&&"]"==t&&(i=!1)}n=!n&&"\\"==t}}(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),h("regexp","string-2")):(e.eat("="),h("operator","operator",e.current()));if("`"==i)return t.tokenize=v,v(e,t);if("#"==i&&"!"==e.peek())return e.skipToEnd(),h("meta","meta");if("#"==i&&e.eatWhile(f))return h("variable","property");if("<"==i&&e.match("!--")||"-"==i&&e.match("->")&&!/\S/.test(e.string.slice(0,e.start)))return e.skipToEnd(),h("comment","comment");if(m.test(i))return">"==i&&t.lexical&&">"==t.lexical.type||(e.eat("=")?"!"!=i&&"="!=i||e.eat("="):/[<>*+\-|&?]/.test(i)&&(e.eat(i),">"==i&&e.eat(i))),"?"==i&&e.eat(".")?h("."):h("operator","operator",e.current());if(f.test(i)){e.eatWhile(f);var r=e.current();if("."!=t.lastType){if(d.propertyIsEnumerable(r)){var o=d[r];return h(o.type,o.style,r)}if("async"==r&&e.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return h("async","keyword",r)}return h("variable","variable",r)}}function y(e,t){for(var n,i=!1;n=e.next();){if("/"==n&&i){t.tokenize=g;break}i="*"==n}return h("comment","comment")}function v(e,t){for(var n,i=!1;null!=(n=e.next());){if(!i&&("`"==n||"$"==n&&e.eat("{"))){t.tokenize=g;break}i=!i&&"\\"==n}return h("quasi","string-2",e.current())}var C="([{}])";function x(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var n=e.string.indexOf("=>",e.start);if(!(n<0)){if(c){var i=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,n));i&&(n=i.index)}for(var r=0,o=!1,a=n-1;a>=0;--a){var s=e.string.charAt(a),l=C.indexOf(s);if(l>=0&&l<3){if(!r){++a;break}if(0==--r){"("==s&&(o=!0);break}}else if(l>=3&&l<6)++r;else if(f.test(s))o=!0;else if(/["'\/`]/.test(s))for(;;--a){if(0==a)return;if(e.string.charAt(a-1)==s&&"\\"!=e.string.charAt(a-2)){a--;break}}else if(o&&!r){++a;break}}o&&!r&&(t.fatArrowAt=a)}}var b={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function S(e,t,n,i,r,o){this.indented=e,this.column=t,this.type=n,this.prev=r,this.info=o,null!=i&&(this.align=i)}function E(e,t){if(!u)return!1;for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0;for(var i=e.context;i;i=i.prev)for(n=i.vars;n;n=n.next)if(n.name==t)return!0}function D(e,t,n,i,r){var o=e.cc;for(A.state=e,A.stream=r,A.marked=null,A.cc=o,A.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;)if((o.length?o.pop():l?H:j)(n,i)){for(;o.length&&o[o.length-1].lex;)o.pop()();return A.marked?A.marked:"variable"==n&&E(e,i)?"variable-2":t}}var A={state:null,column:null,marked:null,cc:null};function R(){for(var e=arguments.length-1;e>=0;e--)A.cc.push(arguments[e])}function M(){return R.apply(null,arguments),!0}function k(e,t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}function T(e){var t=A.state;if(A.marked="def",u){if(t.context)if("var"==t.lexical.info&&t.context&&t.context.block){var i=w(e,t.context);if(null!=i)return void(t.context=i)}else if(!k(e,t.localVars))return void(t.localVars=new O(e,t.localVars));n.globalVars&&!k(e,t.globalVars)&&(t.globalVars=new O(e,t.globalVars))}}function w(e,t){if(t){if(t.block){var n=w(e,t.prev);return n?n==t.prev?t:new P(n,t.vars,!0):null}return k(e,t.vars)?t:new P(t.prev,new O(e,t.vars),!1)}return null}function I(e){return"public"==e||"private"==e||"protected"==e||"abstract"==e||"readonly"==e}function P(e,t,n){this.prev=e,this.vars=t,this.block=n}function O(e,t){this.name=e,this.next=t}var _=new O("this",new O("arguments",null));function L(){A.state.context=new P(A.state.context,A.state.localVars,!1),A.state.localVars=_}function N(){A.state.context=new P(A.state.context,A.state.localVars,!0),A.state.localVars=null}function U(){A.state.localVars=A.state.context.vars,A.state.context=A.state.context.prev}function B(e,t){var n=function(){var n=A.state,i=n.indented;if("stat"==n.lexical.type)i=n.lexical.indented;else for(var r=n.lexical;r&&")"==r.type&&r.align;r=r.prev)i=r.indented;n.lexical=new S(i,A.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function F(){var e=A.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function q(e){return function t(n){return n==e?M():";"==e||"}"==n||")"==n||"]"==n?R():M(t)}}function j(e,t){return"var"==e?M(B("vardef",t),Ae,q(";"),F):"keyword a"==e?M(B("form"),G,j,F):"keyword b"==e?M(B("form"),j,F):"keyword d"==e?A.stream.match(/^\s*$/,!1)?M():M(B("stat"),K,q(";"),F):"debugger"==e?M(q(";")):"{"==e?M(B("}"),N,ue,F,U):";"==e?M():"if"==e?("else"==A.state.lexical.info&&A.state.cc[A.state.cc.length-1]==F&&A.state.cc.pop()(),M(B("form"),G,j,F,Ie)):"function"==e?M(Le):"for"==e?M(B("form"),N,Pe,j,U,F):"class"==e||c&&"interface"==t?(A.marked="keyword",M(B("form","class"==e?e:t),qe,F)):"variable"==e?c&&"declare"==t?(A.marked="keyword",M(j)):c&&("module"==t||"enum"==t||"type"==t)&&A.stream.match(/^\s*\w/,!1)?(A.marked="keyword","enum"==t?M($e):"type"==t?M(Ue,q("operator"),pe,q(";")):M(B("form"),Re,q("{"),B("}"),ue,F,F)):c&&"namespace"==t?(A.marked="keyword",M(B("form"),H,j,F)):c&&"abstract"==t?(A.marked="keyword",M(j)):M(B("stat"),ne):"switch"==e?M(B("form"),G,q("{"),B("}","switch"),N,ue,F,F,U):"case"==e?M(H,q(":")):"default"==e?M(q(":")):"catch"==e?M(B("form"),L,z,j,F,U):"export"==e?M(B("stat"),Ve,F):"import"==e?M(B("stat"),We,F):"async"==e?M(j):"@"==t?M(H,j):R(B("stat"),H,q(";"),F)}function z(e){if("("==e)return M(Be,q(")"))}function H(e,t){return W(e,t,!1)}function V(e,t){return W(e,t,!0)}function G(e){return"("!=e?R():M(B(")"),K,q(")"),F)}function W(e,t,n){if(A.state.fatArrowAt==A.stream.start){var i=n?Z:$;if("("==e)return M(L,B(")"),se(Be,")"),F,q("=>"),i,U);if("variable"==e)return R(L,Re,q("=>"),i,U)}var r=n?J:Q;return b.hasOwnProperty(e)?M(r):"function"==e?M(Le,r):"class"==e||c&&"interface"==t?(A.marked="keyword",M(B("form"),Fe,F)):"keyword c"==e||"async"==e?M(n?V:H):"("==e?M(B(")"),K,q(")"),F,r):"operator"==e||"spread"==e?M(n?V:H):"["==e?M(B("]"),Ye,F,r):"{"==e?le(re,"}",null,r):"quasi"==e?R(X,r):"new"==e?M(function(e){return function(t){return"."==t?M(e?te:ee):"variable"==t&&c?M(Se,e?J:Q):R(e?V:H)}}(n)):M()}function K(e){return e.match(/[;\}\)\],]/)?R():R(H)}function Q(e,t){return","==e?M(K):J(e,t,!1)}function J(e,t,n){var i=0==n?Q:J,r=0==n?H:V;return"=>"==e?M(L,n?Z:$,U):"operator"==e?/\+\+|--/.test(t)||c&&"!"==t?M(i):c&&"<"==t&&A.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?M(B(">"),se(pe,">"),F,i):"?"==t?M(H,q(":"),r):M(r):"quasi"==e?R(X,i):";"!=e?"("==e?le(V,")","call",i):"."==e?M(ie,i):"["==e?M(B("]"),K,q("]"),F,i):c&&"as"==t?(A.marked="keyword",M(pe,i)):"regexp"==e?(A.state.lastType=A.marked="operator",A.stream.backUp(A.stream.pos-A.stream.start-1),M(r)):void 0:void 0}function X(e,t){return"quasi"!=e?R():"${"!=t.slice(t.length-2)?M(X):M(H,Y)}function Y(e){if("}"==e)return A.marked="string-2",A.state.tokenize=v,M(X)}function $(e){return x(A.stream,A.state),R("{"==e?j:H)}function Z(e){return x(A.stream,A.state),R("{"==e?j:V)}function ee(e,t){if("target"==t)return A.marked="keyword",M(Q)}function te(e,t){if("target"==t)return A.marked="keyword",M(J)}function ne(e){return":"==e?M(F,j):R(Q,q(";"),F)}function ie(e){if("variable"==e)return A.marked="property",M()}function re(e,t){return"async"==e?(A.marked="property",M(re)):"variable"==e||"keyword"==A.style?(A.marked="property","get"==t||"set"==t?M(oe):(c&&A.state.fatArrowAt==A.stream.start&&(n=A.stream.match(/^\s*:\s*/,!1))&&(A.state.fatArrowAt=A.stream.pos+n[0].length),M(ae))):"number"==e||"string"==e?(A.marked=s?"property":A.style+" property",M(ae)):"jsonld-keyword"==e?M(ae):c&&I(t)?(A.marked="keyword",M(re)):"["==e?M(H,ce,q("]"),ae):"spread"==e?M(V,ae):"*"==t?(A.marked="keyword",M(re)):":"==e?R(ae):void 0;var n}function oe(e){return"variable"!=e?R(ae):(A.marked="property",M(Le))}function ae(e){return":"==e?M(V):"("==e?R(Le):void 0}function se(e,t,n){function i(r,o){if(n?n.indexOf(r)>-1:","==r){var a=A.state.lexical;return"call"==a.info&&(a.pos=(a.pos||0)+1),M((function(n,i){return n==t||i==t?R():R(e)}),i)}return r==t||o==t?M():n&&n.indexOf(";")>-1?R(e):M(q(t))}return function(n,r){return n==t||r==t?M():R(e,i)}}function le(e,t,n){for(var i=3;i"),pe):"quasi"==e?R(ve,be):void 0}function he(e){if("=>"==e)return M(pe)}function ge(e){return e.match(/[\}\)\]]/)?M():","==e||";"==e?M(ge):R(ye,ge)}function ye(e,t){return"variable"==e||"keyword"==A.style?(A.marked="property",M(ye)):"?"==t||"number"==e||"string"==e?M(ye):":"==e?M(pe):"["==e?M(q("variable"),fe,q("]"),ye):"("==e?R(Ne,ye):e.match(/[;\}\)\],]/)?void 0:M()}function ve(e,t){return"quasi"!=e?R():"${"!=t.slice(t.length-2)?M(ve):M(pe,Ce)}function Ce(e){if("}"==e)return A.marked="string-2",A.state.tokenize=v,M(ve)}function xe(e,t){return"variable"==e&&A.stream.match(/^\s*[?:]/,!1)||"?"==t?M(xe):":"==e?M(pe):"spread"==e?M(xe):R(pe)}function be(e,t){return"<"==t?M(B(">"),se(pe,">"),F,be):"|"==t||"."==e||"&"==t?M(pe):"["==e?M(pe,q("]"),be):"extends"==t||"implements"==t?(A.marked="keyword",M(pe)):"?"==t?M(pe,q(":"),pe):void 0}function Se(e,t){if("<"==t)return M(B(">"),se(pe,">"),F,be)}function Ee(){return R(pe,De)}function De(e,t){if("="==t)return M(pe)}function Ae(e,t){return"enum"==t?(A.marked="keyword",M($e)):R(Re,ce,Te,we)}function Re(e,t){return c&&I(t)?(A.marked="keyword",M(Re)):"variable"==e?(T(t),M()):"spread"==e?M(Re):"["==e?le(ke,"]"):"{"==e?le(Me,"}"):void 0}function Me(e,t){return"variable"!=e||A.stream.match(/^\s*:/,!1)?("variable"==e&&(A.marked="property"),"spread"==e?M(Re):"}"==e?R():"["==e?M(H,q("]"),q(":"),Me):M(q(":"),Re,Te)):(T(t),M(Te))}function ke(){return R(Re,Te)}function Te(e,t){if("="==t)return M(V)}function we(e){if(","==e)return M(Ae)}function Ie(e,t){if("keyword b"==e&&"else"==t)return M(B("form","else"),j,F)}function Pe(e,t){return"await"==t?M(Pe):"("==e?M(B(")"),Oe,F):void 0}function Oe(e){return"var"==e?M(Ae,_e):"variable"==e?M(_e):R(_e)}function _e(e,t){return")"==e?M():";"==e?M(_e):"in"==t||"of"==t?(A.marked="keyword",M(H,_e)):R(H,_e)}function Le(e,t){return"*"==t?(A.marked="keyword",M(Le)):"variable"==e?(T(t),M(Le)):"("==e?M(L,B(")"),se(Be,")"),F,de,j,U):c&&"<"==t?M(B(">"),se(Ee,">"),F,Le):void 0}function Ne(e,t){return"*"==t?(A.marked="keyword",M(Ne)):"variable"==e?(T(t),M(Ne)):"("==e?M(L,B(")"),se(Be,")"),F,de,U):c&&"<"==t?M(B(">"),se(Ee,">"),F,Ne):void 0}function Ue(e,t){return"keyword"==e||"variable"==e?(A.marked="type",M(Ue)):"<"==t?M(B(">"),se(Ee,">"),F):void 0}function Be(e,t){return"@"==t&&M(H,Be),"spread"==e?M(Be):c&&I(t)?(A.marked="keyword",M(Be)):c&&"this"==e?M(ce,Te):R(Re,ce,Te)}function Fe(e,t){return"variable"==e?qe(e,t):je(e,t)}function qe(e,t){if("variable"==e)return T(t),M(je)}function je(e,t){return"<"==t?M(B(">"),se(Ee,">"),F,je):"extends"==t||"implements"==t||c&&","==e?("implements"==t&&(A.marked="keyword"),M(c?pe:H,je)):"{"==e?M(B("}"),ze,F):void 0}function ze(e,t){return"async"==e||"variable"==e&&("static"==t||"get"==t||"set"==t||c&&I(t))&&A.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(A.marked="keyword",M(ze)):"variable"==e||"keyword"==A.style?(A.marked="property",M(He,ze)):"number"==e||"string"==e?M(He,ze):"["==e?M(H,ce,q("]"),He,ze):"*"==t?(A.marked="keyword",M(ze)):c&&"("==e?R(Ne,ze):";"==e||","==e?M(ze):"}"==e?M():"@"==t?M(H,ze):void 0}function He(e,t){if("!"==t)return M(He);if("?"==t)return M(He);if(":"==e)return M(pe,Te);if("="==t)return M(V);var n=A.state.lexical.prev;return R(n&&"interface"==n.info?Ne:Le)}function Ve(e,t){return"*"==t?(A.marked="keyword",M(Xe,q(";"))):"default"==t?(A.marked="keyword",M(H,q(";"))):"{"==e?M(se(Ge,"}"),Xe,q(";")):R(j)}function Ge(e,t){return"as"==t?(A.marked="keyword",M(q("variable"))):"variable"==e?R(V,Ge):void 0}function We(e){return"string"==e?M():"("==e?R(H):"."==e?R(Q):R(Ke,Qe,Xe)}function Ke(e,t){return"{"==e?le(Ke,"}"):("variable"==e&&T(t),"*"==t&&(A.marked="keyword"),M(Je))}function Qe(e){if(","==e)return M(Ke,Qe)}function Je(e,t){if("as"==t)return A.marked="keyword",M(Ke)}function Xe(e,t){if("from"==t)return A.marked="keyword",M(H)}function Ye(e){return"]"==e?M():R(se(V,"]"))}function $e(){return R(B("form"),Re,q("{"),B("}"),se(Ze,"}"),F,F)}function Ze(){return R(Re,Te)}function et(e,t,n){return t.tokenize==g&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(n||0)))}return U.lex=!0,F.lex=!0,{startState:function(e){var t={tokenize:g,lastType:"sof",cc:[],lexical:new S((e||0)-o,0,"block",!1),localVars:n.localVars,context:n.localVars&&new P(null,null,!1),indented:e||0};return n.globalVars&&"object"==typeof n.globalVars&&(t.globalVars=n.globalVars),t},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation(),x(e,t)),t.tokenize!=y&&e.eatSpace())return null;var n=t.tokenize(e,t);return"comment"==i?n:(t.lastType="operator"!=i||"++"!=r&&"--"!=r?i:"incdec",D(t,n,i,r,e))},indent:function(t,i){if(t.tokenize==y||t.tokenize==v)return e.Pass;if(t.tokenize!=g)return 0;var r,s=i&&i.charAt(0),l=t.lexical;if(!/^\s*else\b/.test(i))for(var u=t.cc.length-1;u>=0;--u){var c=t.cc[u];if(c==F)l=l.prev;else if(c!=Ie&&c!=U)break}for(;("stat"==l.type||"form"==l.type)&&("}"==s||(r=t.cc[t.cc.length-1])&&(r==Q||r==J)&&!/^[,\.=+\-*:?[\(]/.test(i));)l=l.prev;a&&")"==l.type&&"stat"==l.prev.type&&(l=l.prev);var f=l.type,d=s==f;return"vardef"==f?l.indented+("operator"==t.lastType||","==t.lastType?l.info.length+1:0):"form"==f&&"{"==s?l.indented:"form"==f?l.indented+o:"stat"==f?l.indented+(function(e,t){return"operator"==e.lastType||","==e.lastType||m.test(t.charAt(0))||/[,.]/.test(t.charAt(0))}(t,i)?a||o:0):"switch"!=l.info||d||0==n.doubleIndentSwitch?l.align?l.column+(d?0:1):l.indented+(d?0:o):l.indented+(/^(?:case|default)\b/.test(i)?o:2*o)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:l?null:"/*",blockCommentEnd:l?null:"*/",blockCommentContinue:l?null:" * ",lineComment:l?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:l?"json":"javascript",jsonldMode:s,jsonMode:l,expressionAllowed:et,skipExpression:function(t){D(t,"atom","atom","true",new e.StringStream("",2,null))}}})),e.registerHelper("wordChars","javascript",/[\w$]/),e.defineMIME("text/javascript","javascript"),e.defineMIME("text/ecmascript","javascript"),e.defineMIME("application/javascript","javascript"),e.defineMIME("application/x-javascript","javascript"),e.defineMIME("application/ecmascript","javascript"),e.defineMIME("application/json",{name:"javascript",json:!0}),e.defineMIME("application/x-json",{name:"javascript",json:!0}),e.defineMIME("application/manifest+json",{name:"javascript",json:!0}),e.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),e.defineMIME("text/typescript",{name:"javascript",typescript:!0}),e.defineMIME("application/typescript",{name:"javascript",typescript:!0})}(n(4631))},3631:function(e,t,n){!function(e){"use strict";e.defineMode("yaml",(function(){var e=new RegExp("\\b(("+["true","false","on","off","yes","no"].join(")|(")+"))$","i");return{token:function(t,n){var i=t.peek(),r=n.escaped;if(n.escaped=!1,"#"==i&&(0==t.pos||/\s/.test(t.string.charAt(t.pos-1))))return t.skipToEnd(),"comment";if(t.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(n.literal&&t.indentation()>n.keyCol)return t.skipToEnd(),"string";if(n.literal&&(n.literal=!1),t.sol()){if(n.keyCol=0,n.pair=!1,n.pairStart=!1,t.match("---"))return"def";if(t.match("..."))return"def";if(t.match(/\s*-\s+/))return"meta"}if(t.match(/^(\{|\}|\[|\])/))return"{"==i?n.inlinePairs++:"}"==i?n.inlinePairs--:"["==i?n.inlineList++:n.inlineList--,"meta";if(n.inlineList>0&&!r&&","==i)return t.next(),"meta";if(n.inlinePairs>0&&!r&&","==i)return n.keyCol=0,n.pair=!1,n.pairStart=!1,t.next(),"meta";if(n.pairStart){if(t.match(/^\s*(\||\>)\s*/))return n.literal=!0,"meta";if(t.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable-2";if(0==n.inlinePairs&&t.match(/^\s*-?[0-9\.\,]+\s?$/))return"number";if(n.inlinePairs>0&&t.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(t.match(e))return"keyword"}return!n.pair&&t.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(n.pair=!0,n.keyCol=t.indentation(),"atom"):n.pair&&t.match(/^:\s*/)?(n.pairStart=!0,"meta"):(n.pairStart=!1,n.escaped="\\"==i,t.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},lineComment:"#",fold:"indent"}})),e.defineMIME("text/x-yaml","yaml"),e.defineMIME("text/yaml","yaml")}(n(4631))},1240:function(e,t,n){"use strict";var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([e.id,"/* BASICS */\n\n.CodeMirror {\n /* Set height, width, borders, and global font properties here */\n font-family: monospace;\n height: 300px;\n color: black;\n direction: ltr;\n}\n\n/* PADDING */\n\n.CodeMirror-lines {\n padding: 4px 0; /* Vertical padding around content */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n padding: 0 4px; /* Horizontal padding of content */\n}\n\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n background-color: white; /* The little square between H and V scrollbars */\n}\n\n/* GUTTER */\n\n.CodeMirror-gutters {\n border-right: 1px solid #ddd;\n background-color: #f7f7f7;\n white-space: nowrap;\n}\n.CodeMirror-linenumbers {}\n.CodeMirror-linenumber {\n padding: 0 3px 0 5px;\n min-width: 20px;\n text-align: right;\n color: #999;\n white-space: nowrap;\n}\n\n.CodeMirror-guttermarker { color: black; }\n.CodeMirror-guttermarker-subtle { color: #999; }\n\n/* CURSOR */\n\n.CodeMirror-cursor {\n border-left: 1px solid black;\n border-right: none;\n width: 0;\n}\n/* Shown when moving in bi-directional text */\n.CodeMirror div.CodeMirror-secondarycursor {\n border-left: 1px solid silver;\n}\n.cm-fat-cursor .CodeMirror-cursor {\n width: auto;\n border: 0 !important;\n background: #7e7;\n}\n.cm-fat-cursor div.CodeMirror-cursors {\n z-index: 1;\n}\n.cm-fat-cursor-mark {\n background-color: rgba(20, 255, 20, 0.5);\n -webkit-animation: blink 1.06s steps(1) infinite;\n -moz-animation: blink 1.06s steps(1) infinite;\n animation: blink 1.06s steps(1) infinite;\n}\n.cm-animate-fat-cursor {\n width: auto;\n border: 0;\n -webkit-animation: blink 1.06s steps(1) infinite;\n -moz-animation: blink 1.06s steps(1) infinite;\n animation: blink 1.06s steps(1) infinite;\n background-color: #7e7;\n}\n@-moz-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@-webkit-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n\n/* Can style cursor different in overwrite (non-insert) mode */\n.CodeMirror-overwrite .CodeMirror-cursor {}\n\n.cm-tab { display: inline-block; text-decoration: inherit; }\n\n.CodeMirror-rulers {\n position: absolute;\n left: 0; right: 0; top: -50px; bottom: 0;\n overflow: hidden;\n}\n.CodeMirror-ruler {\n border-left: 1px solid #ccc;\n top: 0; bottom: 0;\n position: absolute;\n}\n\n/* DEFAULT THEME */\n\n.cm-s-default .cm-header {color: blue;}\n.cm-s-default .cm-quote {color: #090;}\n.cm-negative {color: #d44;}\n.cm-positive {color: #292;}\n.cm-header, .cm-strong {font-weight: bold;}\n.cm-em {font-style: italic;}\n.cm-link {text-decoration: underline;}\n.cm-strikethrough {text-decoration: line-through;}\n\n.cm-s-default .cm-keyword {color: #708;}\n.cm-s-default .cm-atom {color: #219;}\n.cm-s-default .cm-number {color: #164;}\n.cm-s-default .cm-def {color: #00f;}\n.cm-s-default .cm-variable,\n.cm-s-default .cm-punctuation,\n.cm-s-default .cm-property,\n.cm-s-default .cm-operator {}\n.cm-s-default .cm-variable-2 {color: #05a;}\n.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}\n.cm-s-default .cm-comment {color: #a50;}\n.cm-s-default .cm-string {color: #a11;}\n.cm-s-default .cm-string-2 {color: #f50;}\n.cm-s-default .cm-meta {color: #555;}\n.cm-s-default .cm-qualifier {color: #555;}\n.cm-s-default .cm-builtin {color: #30a;}\n.cm-s-default .cm-bracket {color: #997;}\n.cm-s-default .cm-tag {color: #170;}\n.cm-s-default .cm-attribute {color: #00c;}\n.cm-s-default .cm-hr {color: #999;}\n.cm-s-default .cm-link {color: #00c;}\n\n.cm-s-default .cm-error {color: #f00;}\n.cm-invalidchar {color: #f00;}\n\n.CodeMirror-composing { border-bottom: 2px solid; }\n\n/* Default styles for common addons */\n\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\n.CodeMirror-activeline-background {background: #e8f2ff;}\n\n/* STOP */\n\n/* The rest of this file contains styles related to the mechanics of\n the editor. You probably shouldn't touch them. */\n\n.CodeMirror {\n position: relative;\n overflow: hidden;\n background: white;\n}\n\n.CodeMirror-scroll {\n overflow: scroll !important; /* Things will break if this is overridden */\n /* 50px is the magic margin used to hide the element's real scrollbars */\n /* See overflow: hidden in .CodeMirror */\n margin-bottom: -50px; margin-right: -50px;\n padding-bottom: 50px;\n height: 100%;\n outline: none; /* Prevent dragging from highlighting the element */\n position: relative;\n}\n.CodeMirror-sizer {\n position: relative;\n border-right: 50px solid transparent;\n}\n\n/* The fake, visible scrollbars. Used to force redraw during scrolling\n before actual scrolling happens, thus preventing shaking and\n flickering artifacts. */\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n position: absolute;\n z-index: 6;\n display: none;\n outline: none;\n}\n.CodeMirror-vscrollbar {\n right: 0; top: 0;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n.CodeMirror-hscrollbar {\n bottom: 0; left: 0;\n overflow-y: hidden;\n overflow-x: scroll;\n}\n.CodeMirror-scrollbar-filler {\n right: 0; bottom: 0;\n}\n.CodeMirror-gutter-filler {\n left: 0; bottom: 0;\n}\n\n.CodeMirror-gutters {\n position: absolute; left: 0; top: 0;\n min-height: 100%;\n z-index: 3;\n}\n.CodeMirror-gutter {\n white-space: normal;\n height: 100%;\n display: inline-block;\n vertical-align: top;\n margin-bottom: -50px;\n}\n.CodeMirror-gutter-wrapper {\n position: absolute;\n z-index: 4;\n background: none !important;\n border: none !important;\n}\n.CodeMirror-gutter-background {\n position: absolute;\n top: 0; bottom: 0;\n z-index: 4;\n}\n.CodeMirror-gutter-elt {\n position: absolute;\n cursor: default;\n z-index: 4;\n}\n.CodeMirror-gutter-wrapper ::selection { background-color: transparent }\n.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }\n\n.CodeMirror-lines {\n cursor: text;\n min-height: 1px; /* prevents collapsing before first draw */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n /* Reset some styles that the rest of the page might have set */\n -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\n border-width: 0;\n background: transparent;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n white-space: pre;\n word-wrap: normal;\n line-height: inherit;\n color: inherit;\n z-index: 2;\n position: relative;\n overflow: visible;\n -webkit-tap-highlight-color: transparent;\n -webkit-font-variant-ligatures: contextual;\n font-variant-ligatures: contextual;\n}\n.CodeMirror-wrap pre.CodeMirror-line,\n.CodeMirror-wrap pre.CodeMirror-line-like {\n word-wrap: break-word;\n white-space: pre-wrap;\n word-break: normal;\n}\n\n.CodeMirror-linebackground {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n z-index: 0;\n}\n\n.CodeMirror-linewidget {\n position: relative;\n z-index: 2;\n padding: 0.1px; /* Force widget margins to stay inside of the container */\n}\n\n.CodeMirror-widget {}\n\n.CodeMirror-rtl pre { direction: rtl; }\n\n.CodeMirror-code {\n outline: none;\n}\n\n/* Force content-box sizing for the elements where we expect it */\n.CodeMirror-scroll,\n.CodeMirror-sizer,\n.CodeMirror-gutter,\n.CodeMirror-gutters,\n.CodeMirror-linenumber {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\n\n.CodeMirror-measure {\n position: absolute;\n width: 100%;\n height: 0;\n overflow: hidden;\n visibility: hidden;\n}\n\n.CodeMirror-cursor {\n position: absolute;\n pointer-events: none;\n}\n.CodeMirror-measure pre { position: static; }\n\ndiv.CodeMirror-cursors {\n visibility: hidden;\n position: relative;\n z-index: 3;\n}\ndiv.CodeMirror-dragcursors {\n visibility: visible;\n}\n\n.CodeMirror-focused div.CodeMirror-cursors {\n visibility: visible;\n}\n\n.CodeMirror-selected { background: #d9d9d9; }\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\n.CodeMirror-crosshair { cursor: crosshair; }\n.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }\n.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }\n\n.cm-searching {\n background-color: #ffa;\n background-color: rgba(255, 255, 0, .4);\n}\n\n/* Used to force a border model for a node */\n.cm-force-border { padding-right: .1px; }\n\n@media print {\n /* Hide the cursor when printing */\n .CodeMirror div.CodeMirror-cursors {\n visibility: hidden;\n }\n}\n\n/* See issue #2901 */\n.cm-tab-wrap-hack:after { content: ''; }\n\n/* Help users use markselection to safely style text background */\nspan.CodeMirror-selectedtext { background: none; }\n","",{version:3,sources:["webpack://./node_modules/codemirror/lib/codemirror.css"],names:[],mappings:"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",sourcesContent:["/* BASICS */\n\n.CodeMirror {\n /* Set height, width, borders, and global font properties here */\n font-family: monospace;\n height: 300px;\n color: black;\n direction: ltr;\n}\n\n/* PADDING */\n\n.CodeMirror-lines {\n padding: 4px 0; /* Vertical padding around content */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n padding: 0 4px; /* Horizontal padding of content */\n}\n\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n background-color: white; /* The little square between H and V scrollbars */\n}\n\n/* GUTTER */\n\n.CodeMirror-gutters {\n border-right: 1px solid #ddd;\n background-color: #f7f7f7;\n white-space: nowrap;\n}\n.CodeMirror-linenumbers {}\n.CodeMirror-linenumber {\n padding: 0 3px 0 5px;\n min-width: 20px;\n text-align: right;\n color: #999;\n white-space: nowrap;\n}\n\n.CodeMirror-guttermarker { color: black; }\n.CodeMirror-guttermarker-subtle { color: #999; }\n\n/* CURSOR */\n\n.CodeMirror-cursor {\n border-left: 1px solid black;\n border-right: none;\n width: 0;\n}\n/* Shown when moving in bi-directional text */\n.CodeMirror div.CodeMirror-secondarycursor {\n border-left: 1px solid silver;\n}\n.cm-fat-cursor .CodeMirror-cursor {\n width: auto;\n border: 0 !important;\n background: #7e7;\n}\n.cm-fat-cursor div.CodeMirror-cursors {\n z-index: 1;\n}\n.cm-fat-cursor-mark {\n background-color: rgba(20, 255, 20, 0.5);\n -webkit-animation: blink 1.06s steps(1) infinite;\n -moz-animation: blink 1.06s steps(1) infinite;\n animation: blink 1.06s steps(1) infinite;\n}\n.cm-animate-fat-cursor {\n width: auto;\n border: 0;\n -webkit-animation: blink 1.06s steps(1) infinite;\n -moz-animation: blink 1.06s steps(1) infinite;\n animation: blink 1.06s steps(1) infinite;\n background-color: #7e7;\n}\n@-moz-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@-webkit-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n\n/* Can style cursor different in overwrite (non-insert) mode */\n.CodeMirror-overwrite .CodeMirror-cursor {}\n\n.cm-tab { display: inline-block; text-decoration: inherit; }\n\n.CodeMirror-rulers {\n position: absolute;\n left: 0; right: 0; top: -50px; bottom: 0;\n overflow: hidden;\n}\n.CodeMirror-ruler {\n border-left: 1px solid #ccc;\n top: 0; bottom: 0;\n position: absolute;\n}\n\n/* DEFAULT THEME */\n\n.cm-s-default .cm-header {color: blue;}\n.cm-s-default .cm-quote {color: #090;}\n.cm-negative {color: #d44;}\n.cm-positive {color: #292;}\n.cm-header, .cm-strong {font-weight: bold;}\n.cm-em {font-style: italic;}\n.cm-link {text-decoration: underline;}\n.cm-strikethrough {text-decoration: line-through;}\n\n.cm-s-default .cm-keyword {color: #708;}\n.cm-s-default .cm-atom {color: #219;}\n.cm-s-default .cm-number {color: #164;}\n.cm-s-default .cm-def {color: #00f;}\n.cm-s-default .cm-variable,\n.cm-s-default .cm-punctuation,\n.cm-s-default .cm-property,\n.cm-s-default .cm-operator {}\n.cm-s-default .cm-variable-2 {color: #05a;}\n.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}\n.cm-s-default .cm-comment {color: #a50;}\n.cm-s-default .cm-string {color: #a11;}\n.cm-s-default .cm-string-2 {color: #f50;}\n.cm-s-default .cm-meta {color: #555;}\n.cm-s-default .cm-qualifier {color: #555;}\n.cm-s-default .cm-builtin {color: #30a;}\n.cm-s-default .cm-bracket {color: #997;}\n.cm-s-default .cm-tag {color: #170;}\n.cm-s-default .cm-attribute {color: #00c;}\n.cm-s-default .cm-hr {color: #999;}\n.cm-s-default .cm-link {color: #00c;}\n\n.cm-s-default .cm-error {color: #f00;}\n.cm-invalidchar {color: #f00;}\n\n.CodeMirror-composing { border-bottom: 2px solid; }\n\n/* Default styles for common addons */\n\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\n.CodeMirror-activeline-background {background: #e8f2ff;}\n\n/* STOP */\n\n/* The rest of this file contains styles related to the mechanics of\n the editor. You probably shouldn't touch them. */\n\n.CodeMirror {\n position: relative;\n overflow: hidden;\n background: white;\n}\n\n.CodeMirror-scroll {\n overflow: scroll !important; /* Things will break if this is overridden */\n /* 50px is the magic margin used to hide the element's real scrollbars */\n /* See overflow: hidden in .CodeMirror */\n margin-bottom: -50px; margin-right: -50px;\n padding-bottom: 50px;\n height: 100%;\n outline: none; /* Prevent dragging from highlighting the element */\n position: relative;\n}\n.CodeMirror-sizer {\n position: relative;\n border-right: 50px solid transparent;\n}\n\n/* The fake, visible scrollbars. Used to force redraw during scrolling\n before actual scrolling happens, thus preventing shaking and\n flickering artifacts. */\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n position: absolute;\n z-index: 6;\n display: none;\n outline: none;\n}\n.CodeMirror-vscrollbar {\n right: 0; top: 0;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n.CodeMirror-hscrollbar {\n bottom: 0; left: 0;\n overflow-y: hidden;\n overflow-x: scroll;\n}\n.CodeMirror-scrollbar-filler {\n right: 0; bottom: 0;\n}\n.CodeMirror-gutter-filler {\n left: 0; bottom: 0;\n}\n\n.CodeMirror-gutters {\n position: absolute; left: 0; top: 0;\n min-height: 100%;\n z-index: 3;\n}\n.CodeMirror-gutter {\n white-space: normal;\n height: 100%;\n display: inline-block;\n vertical-align: top;\n margin-bottom: -50px;\n}\n.CodeMirror-gutter-wrapper {\n position: absolute;\n z-index: 4;\n background: none !important;\n border: none !important;\n}\n.CodeMirror-gutter-background {\n position: absolute;\n top: 0; bottom: 0;\n z-index: 4;\n}\n.CodeMirror-gutter-elt {\n position: absolute;\n cursor: default;\n z-index: 4;\n}\n.CodeMirror-gutter-wrapper ::selection { background-color: transparent }\n.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }\n\n.CodeMirror-lines {\n cursor: text;\n min-height: 1px; /* prevents collapsing before first draw */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n /* Reset some styles that the rest of the page might have set */\n -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\n border-width: 0;\n background: transparent;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n white-space: pre;\n word-wrap: normal;\n line-height: inherit;\n color: inherit;\n z-index: 2;\n position: relative;\n overflow: visible;\n -webkit-tap-highlight-color: transparent;\n -webkit-font-variant-ligatures: contextual;\n font-variant-ligatures: contextual;\n}\n.CodeMirror-wrap pre.CodeMirror-line,\n.CodeMirror-wrap pre.CodeMirror-line-like {\n word-wrap: break-word;\n white-space: pre-wrap;\n word-break: normal;\n}\n\n.CodeMirror-linebackground {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n z-index: 0;\n}\n\n.CodeMirror-linewidget {\n position: relative;\n z-index: 2;\n padding: 0.1px; /* Force widget margins to stay inside of the container */\n}\n\n.CodeMirror-widget {}\n\n.CodeMirror-rtl pre { direction: rtl; }\n\n.CodeMirror-code {\n outline: none;\n}\n\n/* Force content-box sizing for the elements where we expect it */\n.CodeMirror-scroll,\n.CodeMirror-sizer,\n.CodeMirror-gutter,\n.CodeMirror-gutters,\n.CodeMirror-linenumber {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\n\n.CodeMirror-measure {\n position: absolute;\n width: 100%;\n height: 0;\n overflow: hidden;\n visibility: hidden;\n}\n\n.CodeMirror-cursor {\n position: absolute;\n pointer-events: none;\n}\n.CodeMirror-measure pre { position: static; }\n\ndiv.CodeMirror-cursors {\n visibility: hidden;\n position: relative;\n z-index: 3;\n}\ndiv.CodeMirror-dragcursors {\n visibility: visible;\n}\n\n.CodeMirror-focused div.CodeMirror-cursors {\n visibility: visible;\n}\n\n.CodeMirror-selected { background: #d9d9d9; }\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\n.CodeMirror-crosshair { cursor: crosshair; }\n.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }\n.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }\n\n.cm-searching {\n background-color: #ffa;\n background-color: rgba(255, 255, 0, .4);\n}\n\n/* Used to force a border model for a node */\n.cm-force-border { padding-right: .1px; }\n\n@media print {\n /* Hide the cursor when printing */\n .CodeMirror div.CodeMirror-cursors {\n visibility: hidden;\n }\n}\n\n/* See issue #2901 */\n.cm-tab-wrap-hack:after { content: ''; }\n\n/* Help users use markselection to safely style text background */\nspan.CodeMirror-selectedtext { background: none; }\n"],sourceRoot:""}]),t.Z=a},2559:function(e,t,n){"use strict";var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([e.id,"body {\n padding: 0;\n background-color: #f9f9f9;\n font-family: sans-serif;\n}\n.container {\n margin: 0;\n display: flex;\n flex-direction: column;\n padding-bottom: 30px;\n}\n\n#header {\n padding: 10px 0px;\n}\n#header a {\n font-size: 20px;\n font-weight: 400;\n text-decoration: none;\n}\n\n#pane {\n display: flex;\n flex-direction: row;\n}\n#inputWrapper {\n flex: 1;\n}\n#input {\n margin-top: 3px;\n}\n\n#input .CodeMirror {\n border: 1px solid #ddd;\n height: auto;\n}\n#path {\n font-size: 20px;\n padding: 6px 8px;\n margin: 0;\n margin-bottom: 10px;\n}\n#output {\n flex: 0.3;\n padding: 20px;\n background: #f9f9f9;\n}\n\nh1 {\n margin: 10px;\n}\n\n#footer {\n position: fixed;\n text-align: right;\n bottom: 0px;\n left:0px;\n right: 0px;\n padding: 5px 20px;\n background: #eee;\n opacity: 0.8;\n z-index: 100;\n font-size: 13px;\n border-top: 1px solid #ddd;\n}\n","",{version:3,sources:["webpack://./public/app.css"],names:[],mappings:"AAAA;EACE,UAAU;EACV,yBAAyB;EACzB,uBAAuB;AACzB;AACA;EACE,SAAS;EACT,aAAa;EACb,sBAAsB;EACtB,oBAAoB;AACtB;;AAEA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,gBAAgB;EAChB,qBAAqB;AACvB;;AAEA;EACE,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,OAAO;AACT;AACA;EACE,eAAe;AACjB;;AAEA;EACE,sBAAsB;EACtB,YAAY;AACd;AACA;EACE,eAAe;EACf,gBAAgB;EAChB,SAAS;EACT,mBAAmB;AACrB;AACA;EACE,SAAS;EACT,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,eAAe;EACf,iBAAiB;EACjB,WAAW;EACX,QAAQ;EACR,UAAU;EACV,iBAAiB;EACjB,gBAAgB;EAChB,YAAY;EACZ,YAAY;EACZ,eAAe;EACf,0BAA0B;AAC5B",sourcesContent:["body {\n padding: 0;\n background-color: #f9f9f9;\n font-family: sans-serif;\n}\n.container {\n margin: 0;\n display: flex;\n flex-direction: column;\n padding-bottom: 30px;\n}\n\n#header {\n padding: 10px 0px;\n}\n#header a {\n font-size: 20px;\n font-weight: 400;\n text-decoration: none;\n}\n\n#pane {\n display: flex;\n flex-direction: row;\n}\n#inputWrapper {\n flex: 1;\n}\n#input {\n margin-top: 3px;\n}\n\n#input .CodeMirror {\n border: 1px solid #ddd;\n height: auto;\n}\n#path {\n font-size: 20px;\n padding: 6px 8px;\n margin: 0;\n margin-bottom: 10px;\n}\n#output {\n flex: 0.3;\n padding: 20px;\n background: #f9f9f9;\n}\n\nh1 {\n margin: 10px;\n}\n\n#footer {\n position: fixed;\n text-align: right;\n bottom: 0px;\n left:0px;\n right: 0px;\n padding: 5px 20px;\n background: #eee;\n opacity: 0.8;\n z-index: 100;\n font-size: 13px;\n border-top: 1px solid #ddd;\n}\n"],sourceRoot:""}]),t.Z=a},3645:function(e){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",i=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),i&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),i&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,i,r,o){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(i)for(var s=0;s0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=o),n&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=n):c[2]=n),r&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=r):c[4]="".concat(r)),t.push(c))}},t}},7537:function(e){"use strict";e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),r="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(i),o="/*# ".concat(r," */");return[t].concat([o]).join("\n")}return[t].join("\n")}},1072:function(e){var t;t=function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={exports:{},id:i,loaded:!1};return e[i].call(r.exports,r,r.exports,n),r.loaded=!0,r.exports}return n.m=e,n.c=t,n.p="",n(0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(1),r=n(3),o=n(8),a=n(15);function s(e,t,n){var a=null,s=function(e,t){n&&n(e,t),a&&a.visit(e,t)},l="function"==typeof n?s:null,u=!1;if(t){u="boolean"==typeof t.comment&&t.comment;var c="boolean"==typeof t.attachComment&&t.attachComment;(u||c)&&((a=new i.CommentHandler).attach=c,t.comment=!0,l=s)}var f,d=!1;t&&"string"==typeof t.sourceType&&(d="module"===t.sourceType),f=t&&"boolean"==typeof t.jsx&&t.jsx?new r.JSXParser(e,t,l):new o.Parser(e,t,l);var m=d?f.parseModule():f.parseScript();return u&&a&&(m.comments=a.comments),f.config.tokens&&(m.tokens=f.tokens),f.config.tolerant&&(m.errors=f.errorHandler.errors),m}t.parse=s,t.parseModule=function(e,t,n){var i=t||{};return i.sourceType="module",s(e,i,n)},t.parseScript=function(e,t,n){var i=t||{};return i.sourceType="script",s(e,i,n)},t.tokenize=function(e,t,n){var i,r=new a.Tokenizer(e,t);i=[];try{for(;;){var o=r.getNextToken();if(!o)break;n&&(o=n(o)),i.push(o)}}catch(e){r.errorHandler.tolerate(e)}return r.errorHandler.tolerant&&(i.errors=r.errors()),i};var l=n(2);t.Syntax=l.Syntax,t.version="4.0.1"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),r=function(){function e(){this.attach=!1,this.comments=[],this.stack=[],this.leading=[],this.trailing=[]}return e.prototype.insertInnerComments=function(e,t){if(e.type===i.Syntax.BlockStatement&&0===e.body.length){for(var n=[],r=this.leading.length-1;r>=0;--r){var o=this.leading[r];t.end.offset>=o.start&&(n.unshift(o.comment),this.leading.splice(r,1),this.trailing.splice(r,1))}n.length&&(e.innerComments=n)}},e.prototype.findTrailingComments=function(e){var t=[];if(this.trailing.length>0){for(var n=this.trailing.length-1;n>=0;--n){var i=this.trailing[n];i.start>=e.end.offset&&t.unshift(i.comment)}return this.trailing.length=0,t}var r=this.stack[this.stack.length-1];if(r&&r.node.trailingComments){var o=r.node.trailingComments[0];o&&o.range[0]>=e.end.offset&&(t=r.node.trailingComments,delete r.node.trailingComments)}return t},e.prototype.findLeadingComments=function(e){for(var t,n=[];this.stack.length>0&&(o=this.stack[this.stack.length-1])&&o.start>=e.start.offset;)t=o.node,this.stack.pop();if(t){for(var i=(t.leadingComments?t.leadingComments.length:0)-1;i>=0;--i){var r=t.leadingComments[i];r.range[1]<=e.start.offset&&(n.unshift(r),t.leadingComments.splice(i,1))}return t.leadingComments&&0===t.leadingComments.length&&delete t.leadingComments,n}for(i=this.leading.length-1;i>=0;--i){var o;(o=this.leading[i]).start<=e.start.offset&&(n.unshift(o.comment),this.leading.splice(i,1))}return n},e.prototype.visitNode=function(e,t){if(!(e.type===i.Syntax.Program&&e.body.length>0)){this.insertInnerComments(e,t);var n=this.findTrailingComments(t),r=this.findLeadingComments(t);r.length>0&&(e.leadingComments=r),n.length>0&&(e.trailingComments=n),this.stack.push({node:e,start:t.start.offset})}},e.prototype.visitComment=function(e,t){var n="L"===e.type[0]?"Line":"Block",i={type:n,value:e.value};if(e.range&&(i.range=e.range),e.loc&&(i.loc=e.loc),this.comments.push(i),this.attach){var r={comment:{type:n,value:e.value,range:[t.start.offset,t.end.offset]},start:t.start.offset};e.loc&&(r.comment.loc=e.loc),e.type=n,this.leading.push(r),this.trailing.push(r)}},e.prototype.visit=function(e,t){"LineComment"===e.type||"BlockComment"===e.type?this.visitComment(e,t):this.attach&&this.visitNode(e,t)},e}();t.CommentHandler=r},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Syntax={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForOfStatement:"ForOfStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchCase:"SwitchCase",SwitchStatement:"SwitchStatement",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"}},function(e,t,n){"use strict";var i,r=this&&this.__extends||(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(4),a=n(5),s=n(6),l=n(7),u=n(8),c=n(13),f=n(14);function d(e){var t;switch(e.type){case s.JSXSyntax.JSXIdentifier:t=e.name;break;case s.JSXSyntax.JSXNamespacedName:var n=e;t=d(n.namespace)+":"+d(n.name);break;case s.JSXSyntax.JSXMemberExpression:var i=e;t=d(i.object)+"."+d(i.property)}return t}c.TokenName[100]="JSXIdentifier",c.TokenName[101]="JSXText";var m=function(e){function t(t,n,i){return e.call(this,t,n,i)||this}return r(t,e),t.prototype.parsePrimaryExpression=function(){return this.match("<")?this.parseJSXRoot():e.prototype.parsePrimaryExpression.call(this)},t.prototype.startJSX=function(){this.scanner.index=this.startMarker.index,this.scanner.lineNumber=this.startMarker.line,this.scanner.lineStart=this.startMarker.index-this.startMarker.column},t.prototype.finishJSX=function(){this.nextToken()},t.prototype.reenterJSX=function(){this.startJSX(),this.expectJSX("}"),this.config.tokens&&this.tokens.pop()},t.prototype.createJSXNode=function(){return this.collectComments(),{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},t.prototype.createJSXChildNode=function(){return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},t.prototype.scanXHTMLEntity=function(e){for(var t="&",n=!0,i=!1,r=!1,a=!1;!this.scanner.eof()&&n&&!i;){var s=this.scanner.source[this.scanner.index];if(s===e)break;if(i=";"===s,t+=s,++this.scanner.index,!i)switch(t.length){case 2:r="#"===s;break;case 3:r&&(n=(a="x"===s)||o.Character.isDecimalDigit(s.charCodeAt(0)),r=r&&!a);break;default:n=(n=n&&!(r&&!o.Character.isDecimalDigit(s.charCodeAt(0))))&&!(a&&!o.Character.isHexDigit(s.charCodeAt(0)))}}if(n&&i&&t.length>2){var l=t.substr(1,t.length-2);r&&l.length>1?t=String.fromCharCode(parseInt(l.substr(1),10)):a&&l.length>2?t=String.fromCharCode(parseInt("0"+l.substr(1),16)):r||a||!f.XHTMLEntities[l]||(t=f.XHTMLEntities[l])}return t},t.prototype.lexJSX=function(){var e=this.scanner.source.charCodeAt(this.scanner.index);if(60===e||62===e||47===e||58===e||61===e||123===e||125===e)return{type:7,value:s=this.scanner.source[this.scanner.index++],lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index-1,end:this.scanner.index};if(34===e||39===e){for(var t=this.scanner.index,n=this.scanner.source[this.scanner.index++],i="";!this.scanner.eof()&&(l=this.scanner.source[this.scanner.index++])!==n;)i+="&"===l?this.scanXHTMLEntity(n):l;return{type:8,value:i,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(46===e){var r=this.scanner.source.charCodeAt(this.scanner.index+1),a=this.scanner.source.charCodeAt(this.scanner.index+2),s=46===r&&46===a?"...":".";return t=this.scanner.index,this.scanner.index+=s.length,{type:7,value:s,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(96===e)return{type:10,value:"",lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index,end:this.scanner.index};if(o.Character.isIdentifierStart(e)&&92!==e){for(t=this.scanner.index,++this.scanner.index;!this.scanner.eof();){var l=this.scanner.source.charCodeAt(this.scanner.index);if(o.Character.isIdentifierPart(l)&&92!==l)++this.scanner.index;else{if(45!==l)break;++this.scanner.index}}return{type:100,value:this.scanner.source.slice(t,this.scanner.index),lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}return this.scanner.lex()},t.prototype.nextJSXToken=function(){this.collectComments(),this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;var e=this.lexJSX();return this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.config.tokens&&this.tokens.push(this.convertToken(e)),e},t.prototype.nextJSXText=function(){this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;for(var e=this.scanner.index,t="";!this.scanner.eof();){var n=this.scanner.source[this.scanner.index];if("{"===n||"<"===n)break;++this.scanner.index,t+=n,o.Character.isLineTerminator(n.charCodeAt(0))&&(++this.scanner.lineNumber,"\r"===n&&"\n"===this.scanner.source[this.scanner.index]&&++this.scanner.index,this.scanner.lineStart=this.scanner.index)}this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart;var i={type:101,value:t,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:e,end:this.scanner.index};return t.length>0&&this.config.tokens&&this.tokens.push(this.convertToken(i)),i},t.prototype.peekJSXToken=function(){var e=this.scanner.saveState();this.scanner.scanComments();var t=this.lexJSX();return this.scanner.restoreState(e),t},t.prototype.expectJSX=function(e){var t=this.nextJSXToken();7===t.type&&t.value===e||this.throwUnexpectedToken(t)},t.prototype.matchJSX=function(e){var t=this.peekJSXToken();return 7===t.type&&t.value===e},t.prototype.parseJSXIdentifier=function(){var e=this.createJSXNode(),t=this.nextJSXToken();return 100!==t.type&&this.throwUnexpectedToken(t),this.finalize(e,new a.JSXIdentifier(t.value))},t.prototype.parseJSXElementName=function(){var e=this.createJSXNode(),t=this.parseJSXIdentifier();if(this.matchJSX(":")){var n=t;this.expectJSX(":");var i=this.parseJSXIdentifier();t=this.finalize(e,new a.JSXNamespacedName(n,i))}else if(this.matchJSX("."))for(;this.matchJSX(".");){var r=t;this.expectJSX(".");var o=this.parseJSXIdentifier();t=this.finalize(e,new a.JSXMemberExpression(r,o))}return t},t.prototype.parseJSXAttributeName=function(){var e,t=this.createJSXNode(),n=this.parseJSXIdentifier();if(this.matchJSX(":")){var i=n;this.expectJSX(":");var r=this.parseJSXIdentifier();e=this.finalize(t,new a.JSXNamespacedName(i,r))}else e=n;return e},t.prototype.parseJSXStringLiteralAttribute=function(){var e=this.createJSXNode(),t=this.nextJSXToken();8!==t.type&&this.throwUnexpectedToken(t);var n=this.getTokenRaw(t);return this.finalize(e,new l.Literal(t.value,n))},t.prototype.parseJSXExpressionAttribute=function(){var e=this.createJSXNode();this.expectJSX("{"),this.finishJSX(),this.match("}")&&this.tolerateError("JSX attributes must only be assigned a non-empty expression");var t=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(e,new a.JSXExpressionContainer(t))},t.prototype.parseJSXAttributeValue=function(){return this.matchJSX("{")?this.parseJSXExpressionAttribute():this.matchJSX("<")?this.parseJSXElement():this.parseJSXStringLiteralAttribute()},t.prototype.parseJSXNameValueAttribute=function(){var e=this.createJSXNode(),t=this.parseJSXAttributeName(),n=null;return this.matchJSX("=")&&(this.expectJSX("="),n=this.parseJSXAttributeValue()),this.finalize(e,new a.JSXAttribute(t,n))},t.prototype.parseJSXSpreadAttribute=function(){var e=this.createJSXNode();this.expectJSX("{"),this.expectJSX("..."),this.finishJSX();var t=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(e,new a.JSXSpreadAttribute(t))},t.prototype.parseJSXAttributes=function(){for(var e=[];!this.matchJSX("/")&&!this.matchJSX(">");){var t=this.matchJSX("{")?this.parseJSXSpreadAttribute():this.parseJSXNameValueAttribute();e.push(t)}return e},t.prototype.parseJSXOpeningElement=function(){var e=this.createJSXNode();this.expectJSX("<");var t=this.parseJSXElementName(),n=this.parseJSXAttributes(),i=this.matchJSX("/");return i&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(e,new a.JSXOpeningElement(t,i,n))},t.prototype.parseJSXBoundaryElement=function(){var e=this.createJSXNode();if(this.expectJSX("<"),this.matchJSX("/")){this.expectJSX("/");var t=this.parseJSXElementName();return this.expectJSX(">"),this.finalize(e,new a.JSXClosingElement(t))}var n=this.parseJSXElementName(),i=this.parseJSXAttributes(),r=this.matchJSX("/");return r&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(e,new a.JSXOpeningElement(n,r,i))},t.prototype.parseJSXEmptyExpression=function(){var e=this.createJSXChildNode();return this.collectComments(),this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.finalize(e,new a.JSXEmptyExpression)},t.prototype.parseJSXExpressionContainer=function(){var e,t=this.createJSXNode();return this.expectJSX("{"),this.matchJSX("}")?(e=this.parseJSXEmptyExpression(),this.expectJSX("}")):(this.finishJSX(),e=this.parseAssignmentExpression(),this.reenterJSX()),this.finalize(t,new a.JSXExpressionContainer(e))},t.prototype.parseJSXChildren=function(){for(var e=[];!this.scanner.eof();){var t=this.createJSXChildNode(),n=this.nextJSXText();if(n.start0))break;o=this.finalize(e.node,new a.JSXElement(e.opening,e.children,e.closing)),(e=t[t.length-1]).children.push(o),t.pop()}}return e},t.prototype.parseJSXElement=function(){var e=this.createJSXNode(),t=this.parseJSXOpeningElement(),n=[],i=null;if(!t.selfClosing){var r=this.parseComplexJSXElement({node:e,opening:t,closing:i,children:n});n=r.children,i=r.closing}return this.finalize(e,new a.JSXElement(t,n,i))},t.prototype.parseJSXRoot=function(){this.config.tokens&&this.tokens.pop(),this.startJSX();var e=this.parseJSXElement();return this.finishJSX(),e},t.prototype.isStartOfExpression=function(){return e.prototype.isStartOfExpression.call(this)||this.match("<")},t}(u.Parser);t.JSXParser=m},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};t.Character={fromCodePoint:function(e){return e<65536?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10))+String.fromCharCode(56320+(e-65536&1023))},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStart:function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&n.NonAsciiIdentifierStart.test(t.Character.fromCodePoint(e))},isIdentifierPart:function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&n.NonAsciiIdentifierPart.test(t.Character.fromCodePoint(e))},isDecimalDigit:function(e){return e>=48&&e<=57},isHexDigit:function(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102},isOctalDigit:function(e){return e>=48&&e<=55}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(6);t.JSXClosingElement=function(e){this.type=i.JSXSyntax.JSXClosingElement,this.name=e};t.JSXElement=function(e,t,n){this.type=i.JSXSyntax.JSXElement,this.openingElement=e,this.children=t,this.closingElement=n};t.JSXEmptyExpression=function(){this.type=i.JSXSyntax.JSXEmptyExpression};t.JSXExpressionContainer=function(e){this.type=i.JSXSyntax.JSXExpressionContainer,this.expression=e};t.JSXIdentifier=function(e){this.type=i.JSXSyntax.JSXIdentifier,this.name=e};t.JSXMemberExpression=function(e,t){this.type=i.JSXSyntax.JSXMemberExpression,this.object=e,this.property=t};t.JSXAttribute=function(e,t){this.type=i.JSXSyntax.JSXAttribute,this.name=e,this.value=t};t.JSXNamespacedName=function(e,t){this.type=i.JSXSyntax.JSXNamespacedName,this.namespace=e,this.name=t};t.JSXOpeningElement=function(e,t,n){this.type=i.JSXSyntax.JSXOpeningElement,this.name=e,this.selfClosing=t,this.attributes=n};t.JSXSpreadAttribute=function(e){this.type=i.JSXSyntax.JSXSpreadAttribute,this.argument=e};t.JSXText=function(e,t){this.type=i.JSXSyntax.JSXText,this.value=e,this.raw=t}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JSXSyntax={JSXAttribute:"JSXAttribute",JSXClosingElement:"JSXClosingElement",JSXElement:"JSXElement",JSXEmptyExpression:"JSXEmptyExpression",JSXExpressionContainer:"JSXExpressionContainer",JSXIdentifier:"JSXIdentifier",JSXMemberExpression:"JSXMemberExpression",JSXNamespacedName:"JSXNamespacedName",JSXOpeningElement:"JSXOpeningElement",JSXSpreadAttribute:"JSXSpreadAttribute",JSXText:"JSXText"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2);t.ArrayExpression=function(e){this.type=i.Syntax.ArrayExpression,this.elements=e};t.ArrayPattern=function(e){this.type=i.Syntax.ArrayPattern,this.elements=e};t.ArrowFunctionExpression=function(e,t,n){this.type=i.Syntax.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=n,this.async=!1};t.AssignmentExpression=function(e,t,n){this.type=i.Syntax.AssignmentExpression,this.operator=e,this.left=t,this.right=n};t.AssignmentPattern=function(e,t){this.type=i.Syntax.AssignmentPattern,this.left=e,this.right=t};t.AsyncArrowFunctionExpression=function(e,t,n){this.type=i.Syntax.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=n,this.async=!0};t.AsyncFunctionDeclaration=function(e,t,n){this.type=i.Syntax.FunctionDeclaration,this.id=e,this.params=t,this.body=n,this.generator=!1,this.expression=!1,this.async=!0};t.AsyncFunctionExpression=function(e,t,n){this.type=i.Syntax.FunctionExpression,this.id=e,this.params=t,this.body=n,this.generator=!1,this.expression=!1,this.async=!0};t.AwaitExpression=function(e){this.type=i.Syntax.AwaitExpression,this.argument=e};t.BinaryExpression=function(e,t,n){var r="||"===e||"&&"===e;this.type=r?i.Syntax.LogicalExpression:i.Syntax.BinaryExpression,this.operator=e,this.left=t,this.right=n};t.BlockStatement=function(e){this.type=i.Syntax.BlockStatement,this.body=e};t.BreakStatement=function(e){this.type=i.Syntax.BreakStatement,this.label=e};t.CallExpression=function(e,t){this.type=i.Syntax.CallExpression,this.callee=e,this.arguments=t};t.CatchClause=function(e,t){this.type=i.Syntax.CatchClause,this.param=e,this.body=t};t.ClassBody=function(e){this.type=i.Syntax.ClassBody,this.body=e};t.ClassDeclaration=function(e,t,n){this.type=i.Syntax.ClassDeclaration,this.id=e,this.superClass=t,this.body=n};t.ClassExpression=function(e,t,n){this.type=i.Syntax.ClassExpression,this.id=e,this.superClass=t,this.body=n};t.ComputedMemberExpression=function(e,t){this.type=i.Syntax.MemberExpression,this.computed=!0,this.object=e,this.property=t};t.ConditionalExpression=function(e,t,n){this.type=i.Syntax.ConditionalExpression,this.test=e,this.consequent=t,this.alternate=n};t.ContinueStatement=function(e){this.type=i.Syntax.ContinueStatement,this.label=e};t.DebuggerStatement=function(){this.type=i.Syntax.DebuggerStatement};t.Directive=function(e,t){this.type=i.Syntax.ExpressionStatement,this.expression=e,this.directive=t};t.DoWhileStatement=function(e,t){this.type=i.Syntax.DoWhileStatement,this.body=e,this.test=t};t.EmptyStatement=function(){this.type=i.Syntax.EmptyStatement};t.ExportAllDeclaration=function(e){this.type=i.Syntax.ExportAllDeclaration,this.source=e};t.ExportDefaultDeclaration=function(e){this.type=i.Syntax.ExportDefaultDeclaration,this.declaration=e};t.ExportNamedDeclaration=function(e,t,n){this.type=i.Syntax.ExportNamedDeclaration,this.declaration=e,this.specifiers=t,this.source=n};t.ExportSpecifier=function(e,t){this.type=i.Syntax.ExportSpecifier,this.exported=t,this.local=e};t.ExpressionStatement=function(e){this.type=i.Syntax.ExpressionStatement,this.expression=e};t.ForInStatement=function(e,t,n){this.type=i.Syntax.ForInStatement,this.left=e,this.right=t,this.body=n,this.each=!1};t.ForOfStatement=function(e,t,n){this.type=i.Syntax.ForOfStatement,this.left=e,this.right=t,this.body=n};t.ForStatement=function(e,t,n,r){this.type=i.Syntax.ForStatement,this.init=e,this.test=t,this.update=n,this.body=r};t.FunctionDeclaration=function(e,t,n,r){this.type=i.Syntax.FunctionDeclaration,this.id=e,this.params=t,this.body=n,this.generator=r,this.expression=!1,this.async=!1};t.FunctionExpression=function(e,t,n,r){this.type=i.Syntax.FunctionExpression,this.id=e,this.params=t,this.body=n,this.generator=r,this.expression=!1,this.async=!1};t.Identifier=function(e){this.type=i.Syntax.Identifier,this.name=e};t.IfStatement=function(e,t,n){this.type=i.Syntax.IfStatement,this.test=e,this.consequent=t,this.alternate=n};t.ImportDeclaration=function(e,t){this.type=i.Syntax.ImportDeclaration,this.specifiers=e,this.source=t};t.ImportDefaultSpecifier=function(e){this.type=i.Syntax.ImportDefaultSpecifier,this.local=e};t.ImportNamespaceSpecifier=function(e){this.type=i.Syntax.ImportNamespaceSpecifier,this.local=e};t.ImportSpecifier=function(e,t){this.type=i.Syntax.ImportSpecifier,this.local=e,this.imported=t};t.LabeledStatement=function(e,t){this.type=i.Syntax.LabeledStatement,this.label=e,this.body=t};t.Literal=function(e,t){this.type=i.Syntax.Literal,this.value=e,this.raw=t};t.MetaProperty=function(e,t){this.type=i.Syntax.MetaProperty,this.meta=e,this.property=t};t.MethodDefinition=function(e,t,n,r,o){this.type=i.Syntax.MethodDefinition,this.key=e,this.computed=t,this.value=n,this.kind=r,this.static=o};t.Module=function(e){this.type=i.Syntax.Program,this.body=e,this.sourceType="module"};t.NewExpression=function(e,t){this.type=i.Syntax.NewExpression,this.callee=e,this.arguments=t};t.ObjectExpression=function(e){this.type=i.Syntax.ObjectExpression,this.properties=e};t.ObjectPattern=function(e){this.type=i.Syntax.ObjectPattern,this.properties=e};t.Property=function(e,t,n,r,o,a){this.type=i.Syntax.Property,this.key=t,this.computed=n,this.value=r,this.kind=e,this.method=o,this.shorthand=a};t.RegexLiteral=function(e,t,n,r){this.type=i.Syntax.Literal,this.value=e,this.raw=t,this.regex={pattern:n,flags:r}};t.RestElement=function(e){this.type=i.Syntax.RestElement,this.argument=e};t.ReturnStatement=function(e){this.type=i.Syntax.ReturnStatement,this.argument=e};t.Script=function(e){this.type=i.Syntax.Program,this.body=e,this.sourceType="script"};t.SequenceExpression=function(e){this.type=i.Syntax.SequenceExpression,this.expressions=e};t.SpreadElement=function(e){this.type=i.Syntax.SpreadElement,this.argument=e};t.StaticMemberExpression=function(e,t){this.type=i.Syntax.MemberExpression,this.computed=!1,this.object=e,this.property=t};t.Super=function(){this.type=i.Syntax.Super};t.SwitchCase=function(e,t){this.type=i.Syntax.SwitchCase,this.test=e,this.consequent=t};t.SwitchStatement=function(e,t){this.type=i.Syntax.SwitchStatement,this.discriminant=e,this.cases=t};t.TaggedTemplateExpression=function(e,t){this.type=i.Syntax.TaggedTemplateExpression,this.tag=e,this.quasi=t};t.TemplateElement=function(e,t){this.type=i.Syntax.TemplateElement,this.value=e,this.tail=t};t.TemplateLiteral=function(e,t){this.type=i.Syntax.TemplateLiteral,this.quasis=e,this.expressions=t};t.ThisExpression=function(){this.type=i.Syntax.ThisExpression};t.ThrowStatement=function(e){this.type=i.Syntax.ThrowStatement,this.argument=e};t.TryStatement=function(e,t,n){this.type=i.Syntax.TryStatement,this.block=e,this.handler=t,this.finalizer=n};t.UnaryExpression=function(e,t){this.type=i.Syntax.UnaryExpression,this.operator=e,this.argument=t,this.prefix=!0};t.UpdateExpression=function(e,t,n){this.type=i.Syntax.UpdateExpression,this.operator=e,this.argument=t,this.prefix=n};t.VariableDeclaration=function(e,t){this.type=i.Syntax.VariableDeclaration,this.declarations=e,this.kind=t};t.VariableDeclarator=function(e,t){this.type=i.Syntax.VariableDeclarator,this.id=e,this.init=t};t.WhileStatement=function(e,t){this.type=i.Syntax.WhileStatement,this.test=e,this.body=t};t.WithStatement=function(e,t){this.type=i.Syntax.WithStatement,this.object=e,this.body=t};t.YieldExpression=function(e,t){this.type=i.Syntax.YieldExpression,this.argument=e,this.delegate=t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(9),r=n(10),o=n(11),a=n(7),s=n(12),l=n(2),u=n(13),c="ArrowParameterPlaceHolder",f=function(){function e(e,t,n){void 0===t&&(t={}),this.config={range:"boolean"==typeof t.range&&t.range,loc:"boolean"==typeof t.loc&&t.loc,source:null,tokens:"boolean"==typeof t.tokens&&t.tokens,comment:"boolean"==typeof t.comment&&t.comment,tolerant:"boolean"==typeof t.tolerant&&t.tolerant},this.config.loc&&t.source&&null!==t.source&&(this.config.source=String(t.source)),this.delegate=n,this.errorHandler=new r.ErrorHandler,this.errorHandler.tolerant=this.config.tolerant,this.scanner=new s.Scanner(e,this.errorHandler),this.scanner.trackComment=this.config.comment,this.operatorPrecedence={")":0,";":0,",":0,"=":0,"]":0,"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":11,"/":11,"%":11},this.lookahead={type:2,value:"",lineNumber:this.scanner.lineNumber,lineStart:0,start:0,end:0},this.hasLineTerminator=!1,this.context={isModule:!1,await:!1,allowIn:!0,allowStrictDirective:!0,allowYield:!0,firstCoverInitializedNameError:null,isAssignmentTarget:!1,isBindingElement:!1,inFunctionBody:!1,inIteration:!1,inSwitch:!1,labelSet:{},strict:!1},this.tokens=[],this.startMarker={index:0,line:this.scanner.lineNumber,column:0},this.lastMarker={index:0,line:this.scanner.lineNumber,column:0},this.nextToken(),this.lastMarker={index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}return e.prototype.throwError=function(e){for(var t=[],n=1;n0&&this.delegate)for(var t=0;t>="===e||">>>="===e||"&="===e||"^="===e||"|="===e},e.prototype.isolateCoverGrammar=function(e){var t=this.context.isBindingElement,n=this.context.isAssignmentTarget,i=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var r=e.call(this);return null!==this.context.firstCoverInitializedNameError&&this.throwUnexpectedToken(this.context.firstCoverInitializedNameError),this.context.isBindingElement=t,this.context.isAssignmentTarget=n,this.context.firstCoverInitializedNameError=i,r},e.prototype.inheritCoverGrammar=function(e){var t=this.context.isBindingElement,n=this.context.isAssignmentTarget,i=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var r=e.call(this);return this.context.isBindingElement=this.context.isBindingElement&&t,this.context.isAssignmentTarget=this.context.isAssignmentTarget&&n,this.context.firstCoverInitializedNameError=i||this.context.firstCoverInitializedNameError,r},e.prototype.consumeSemicolon=function(){this.match(";")?this.nextToken():this.hasLineTerminator||(2===this.lookahead.type||this.match("}")||this.throwUnexpectedToken(this.lookahead),this.lastMarker.index=this.startMarker.index,this.lastMarker.line=this.startMarker.line,this.lastMarker.column=this.startMarker.column)},e.prototype.parsePrimaryExpression=function(){var e,t,n,i=this.createNode();switch(this.lookahead.type){case 3:(this.context.isModule||this.context.await)&&"await"===this.lookahead.value&&this.tolerateUnexpectedToken(this.lookahead),e=this.matchAsyncFunction()?this.parseFunctionExpression():this.finalize(i,new a.Identifier(this.nextToken().value));break;case 6:case 8:this.context.strict&&this.lookahead.octal&&this.tolerateUnexpectedToken(this.lookahead,o.Messages.StrictOctalLiteral),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(i,new a.Literal(t.value,n));break;case 1:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(i,new a.Literal("true"===t.value,n));break;case 5:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(i,new a.Literal(null,n));break;case 10:e=this.parseTemplateLiteral();break;case 7:switch(this.lookahead.value){case"(":this.context.isBindingElement=!1,e=this.inheritCoverGrammar(this.parseGroupExpression);break;case"[":e=this.inheritCoverGrammar(this.parseArrayInitializer);break;case"{":e=this.inheritCoverGrammar(this.parseObjectInitializer);break;case"/":case"/=":this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.scanner.index=this.startMarker.index,t=this.nextRegexToken(),n=this.getTokenRaw(t),e=this.finalize(i,new a.RegexLiteral(t.regex,n,t.pattern,t.flags));break;default:e=this.throwUnexpectedToken(this.nextToken())}break;case 4:!this.context.strict&&this.context.allowYield&&this.matchKeyword("yield")?e=this.parseIdentifierName():!this.context.strict&&this.matchKeyword("let")?e=this.finalize(i,new a.Identifier(this.nextToken().value)):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.matchKeyword("function")?e=this.parseFunctionExpression():this.matchKeyword("this")?(this.nextToken(),e=this.finalize(i,new a.ThisExpression)):e=this.matchKeyword("class")?this.parseClassExpression():this.throwUnexpectedToken(this.nextToken()));break;default:e=this.throwUnexpectedToken(this.nextToken())}return e},e.prototype.parseSpreadElement=function(){var e=this.createNode();this.expect("...");var t=this.inheritCoverGrammar(this.parseAssignmentExpression);return this.finalize(e,new a.SpreadElement(t))},e.prototype.parseArrayInitializer=function(){var e=this.createNode(),t=[];for(this.expect("[");!this.match("]");)if(this.match(","))this.nextToken(),t.push(null);else if(this.match("...")){var n=this.parseSpreadElement();this.match("]")||(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.expect(",")),t.push(n)}else t.push(this.inheritCoverGrammar(this.parseAssignmentExpression)),this.match("]")||this.expect(",");return this.expect("]"),this.finalize(e,new a.ArrayExpression(t))},e.prototype.parsePropertyMethod=function(e){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var t=this.context.strict,n=this.context.allowStrictDirective;this.context.allowStrictDirective=e.simple;var i=this.isolateCoverGrammar(this.parseFunctionSourceElements);return this.context.strict&&e.firstRestricted&&this.tolerateUnexpectedToken(e.firstRestricted,e.message),this.context.strict&&e.stricted&&this.tolerateUnexpectedToken(e.stricted,e.message),this.context.strict=t,this.context.allowStrictDirective=n,i},e.prototype.parsePropertyMethodFunction=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters(),i=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,i,!1))},e.prototype.parsePropertyMethodAsyncFunction=function(){var e=this.createNode(),t=this.context.allowYield,n=this.context.await;this.context.allowYield=!1,this.context.await=!0;var i=this.parseFormalParameters(),r=this.parsePropertyMethod(i);return this.context.allowYield=t,this.context.await=n,this.finalize(e,new a.AsyncFunctionExpression(null,i.params,r))},e.prototype.parseObjectPropertyKey=function(){var e,t=this.createNode(),n=this.nextToken();switch(n.type){case 8:case 6:this.context.strict&&n.octal&&this.tolerateUnexpectedToken(n,o.Messages.StrictOctalLiteral);var i=this.getTokenRaw(n);e=this.finalize(t,new a.Literal(n.value,i));break;case 3:case 1:case 5:case 4:e=this.finalize(t,new a.Identifier(n.value));break;case 7:"["===n.value?(e=this.isolateCoverGrammar(this.parseAssignmentExpression),this.expect("]")):e=this.throwUnexpectedToken(n);break;default:e=this.throwUnexpectedToken(n)}return e},e.prototype.isPropertyKey=function(e,t){return e.type===l.Syntax.Identifier&&e.name===t||e.type===l.Syntax.Literal&&e.value===t},e.prototype.parseObjectProperty=function(e){var t,n=this.createNode(),i=this.lookahead,r=null,s=null,l=!1,u=!1,c=!1,f=!1;if(3===i.type){var d=i.value;this.nextToken(),l=this.match("["),r=(f=!(this.hasLineTerminator||"async"!==d||this.match(":")||this.match("(")||this.match("*")||this.match(",")))?this.parseObjectPropertyKey():this.finalize(n,new a.Identifier(d))}else this.match("*")?this.nextToken():(l=this.match("["),r=this.parseObjectPropertyKey());var m=this.qualifiedPropertyName(this.lookahead);if(3===i.type&&!f&&"get"===i.value&&m)t="get",l=this.match("["),r=this.parseObjectPropertyKey(),this.context.allowYield=!1,s=this.parseGetterMethod();else if(3===i.type&&!f&&"set"===i.value&&m)t="set",l=this.match("["),r=this.parseObjectPropertyKey(),s=this.parseSetterMethod();else if(7===i.type&&"*"===i.value&&m)t="init",l=this.match("["),r=this.parseObjectPropertyKey(),s=this.parseGeneratorMethod(),u=!0;else if(r||this.throwUnexpectedToken(this.lookahead),t="init",this.match(":")&&!f)!l&&this.isPropertyKey(r,"__proto__")&&(e.value&&this.tolerateError(o.Messages.DuplicateProtoProperty),e.value=!0),this.nextToken(),s=this.inheritCoverGrammar(this.parseAssignmentExpression);else if(this.match("("))s=f?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),u=!0;else if(3===i.type)if(d=this.finalize(n,new a.Identifier(i.value)),this.match("=")){this.context.firstCoverInitializedNameError=this.lookahead,this.nextToken(),c=!0;var p=this.isolateCoverGrammar(this.parseAssignmentExpression);s=this.finalize(n,new a.AssignmentPattern(d,p))}else c=!0,s=d;else this.throwUnexpectedToken(this.nextToken());return this.finalize(n,new a.Property(t,r,l,s,u,c))},e.prototype.parseObjectInitializer=function(){var e=this.createNode();this.expect("{");for(var t=[],n={value:!1};!this.match("}");)t.push(this.parseObjectProperty(n)),this.match("}")||this.expectCommaSeparator();return this.expect("}"),this.finalize(e,new a.ObjectExpression(t))},e.prototype.parseTemplateHead=function(){i.assert(this.lookahead.head,"Template literal must start with a template head");var e=this.createNode(),t=this.nextToken(),n=t.value,r=t.cooked;return this.finalize(e,new a.TemplateElement({raw:n,cooked:r},t.tail))},e.prototype.parseTemplateElement=function(){10!==this.lookahead.type&&this.throwUnexpectedToken();var e=this.createNode(),t=this.nextToken(),n=t.value,i=t.cooked;return this.finalize(e,new a.TemplateElement({raw:n,cooked:i},t.tail))},e.prototype.parseTemplateLiteral=function(){var e=this.createNode(),t=[],n=[],i=this.parseTemplateHead();for(n.push(i);!i.tail;)t.push(this.parseExpression()),i=this.parseTemplateElement(),n.push(i);return this.finalize(e,new a.TemplateLiteral(n,t))},e.prototype.reinterpretExpressionAsPattern=function(e){switch(e.type){case l.Syntax.Identifier:case l.Syntax.MemberExpression:case l.Syntax.RestElement:case l.Syntax.AssignmentPattern:break;case l.Syntax.SpreadElement:e.type=l.Syntax.RestElement,this.reinterpretExpressionAsPattern(e.argument);break;case l.Syntax.ArrayExpression:e.type=l.Syntax.ArrayPattern;for(var t=0;t")||this.expect("=>"),e={type:c,params:[],async:!1};else{var t=this.lookahead,n=[];if(this.match("..."))e=this.parseRestElement(n),this.expect(")"),this.match("=>")||this.expect("=>"),e={type:c,params:[e],async:!1};else{var i=!1;if(this.context.isBindingElement=!0,e=this.inheritCoverGrammar(this.parseAssignmentExpression),this.match(",")){var r=[];for(this.context.isAssignmentTarget=!1,r.push(e);2!==this.lookahead.type&&this.match(",");){if(this.nextToken(),this.match(")")){this.nextToken();for(var o=0;o")||this.expect("=>"),this.context.isBindingElement=!1,o=0;o")&&(e.type===l.Syntax.Identifier&&"yield"===e.name&&(i=!0,e={type:c,params:[e],async:!1}),!i)){if(this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),e.type===l.Syntax.SequenceExpression)for(o=0;o")){for(var l=0;l0){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;for(var r=[e,this.lookahead],o=t,s=this.isolateCoverGrammar(this.parseExponentiationExpression),l=[o,n.value,s],u=[i];!((i=this.binaryPrecedence(this.lookahead))<=0);){for(;l.length>2&&i<=u[u.length-1];){s=l.pop();var c=l.pop();u.pop(),o=l.pop(),r.pop();var f=this.startNode(r[r.length-1]);l.push(this.finalize(f,new a.BinaryExpression(c,o,s)))}l.push(this.nextToken().value),u.push(i),r.push(this.lookahead),l.push(this.isolateCoverGrammar(this.parseExponentiationExpression))}var d=l.length-1;t=l[d];for(var m=r.pop();d>1;){var p=r.pop(),h=m&&m.lineStart;f=this.startNode(p,h),c=l[d-1],t=this.finalize(f,new a.BinaryExpression(c,l[d-2],t)),d-=2,m=p}}return t},e.prototype.parseConditionalExpression=function(){var e=this.lookahead,t=this.inheritCoverGrammar(this.parseBinaryExpression);if(this.match("?")){this.nextToken();var n=this.context.allowIn;this.context.allowIn=!0;var i=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=n,this.expect(":");var r=this.isolateCoverGrammar(this.parseAssignmentExpression);t=this.finalize(this.startNode(e),new a.ConditionalExpression(t,i,r)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return t},e.prototype.checkPatternParam=function(e,t){switch(t.type){case l.Syntax.Identifier:this.validateParam(e,t,t.name);break;case l.Syntax.RestElement:this.checkPatternParam(e,t.argument);break;case l.Syntax.AssignmentPattern:this.checkPatternParam(e,t.left);break;case l.Syntax.ArrayPattern:for(var n=0;n")){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var r=e.async,s=this.reinterpretAsCoverFormalsList(e);if(s){this.hasLineTerminator&&this.tolerateUnexpectedToken(this.lookahead),this.context.firstCoverInitializedNameError=null;var u=this.context.strict,f=this.context.allowStrictDirective;this.context.allowStrictDirective=s.simple;var d=this.context.allowYield,m=this.context.await;this.context.allowYield=!0,this.context.await=r;var p=this.startNode(t);this.expect("=>");var h=void 0;if(this.match("{")){var g=this.context.allowIn;this.context.allowIn=!0,h=this.parseFunctionSourceElements(),this.context.allowIn=g}else h=this.isolateCoverGrammar(this.parseAssignmentExpression);var y=h.type!==l.Syntax.BlockStatement;this.context.strict&&s.firstRestricted&&this.throwUnexpectedToken(s.firstRestricted,s.message),this.context.strict&&s.stricted&&this.tolerateUnexpectedToken(s.stricted,s.message),e=r?this.finalize(p,new a.AsyncArrowFunctionExpression(s.params,h,y)):this.finalize(p,new a.ArrowFunctionExpression(s.params,h,y)),this.context.strict=u,this.context.allowStrictDirective=f,this.context.allowYield=d,this.context.await=m}}else if(this.matchAssign()){if(this.context.isAssignmentTarget||this.tolerateError(o.Messages.InvalidLHSInAssignment),this.context.strict&&e.type===l.Syntax.Identifier){var v=e;this.scanner.isRestrictedWord(v.name)&&this.tolerateUnexpectedToken(n,o.Messages.StrictLHSAssignment),this.scanner.isStrictModeReservedWord(v.name)&&this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord)}this.match("=")?this.reinterpretExpressionAsPattern(e):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1);var C=(n=this.nextToken()).value,x=this.isolateCoverGrammar(this.parseAssignmentExpression);e=this.finalize(this.startNode(t),new a.AssignmentExpression(C,e,x)),this.context.firstCoverInitializedNameError=null}}return e},e.prototype.parseExpression=function(){var e=this.lookahead,t=this.isolateCoverGrammar(this.parseAssignmentExpression);if(this.match(",")){var n=[];for(n.push(t);2!==this.lookahead.type&&this.match(",");)this.nextToken(),n.push(this.isolateCoverGrammar(this.parseAssignmentExpression));t=this.finalize(this.startNode(e),new a.SequenceExpression(n))}return t},e.prototype.parseStatementListItem=function(){var e;if(this.context.isAssignmentTarget=!0,this.context.isBindingElement=!0,4===this.lookahead.type)switch(this.lookahead.value){case"export":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,o.Messages.IllegalExportDeclaration),e=this.parseExportDeclaration();break;case"import":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,o.Messages.IllegalImportDeclaration),e=this.parseImportDeclaration();break;case"const":e=this.parseLexicalDeclaration({inFor:!1});break;case"function":e=this.parseFunctionDeclaration();break;case"class":e=this.parseClassDeclaration();break;case"let":e=this.isLexicalDeclaration()?this.parseLexicalDeclaration({inFor:!1}):this.parseStatement();break;default:e=this.parseStatement()}else e=this.parseStatement();return e},e.prototype.parseBlock=function(){var e=this.createNode();this.expect("{");for(var t=[];!this.match("}");)t.push(this.parseStatementListItem());return this.expect("}"),this.finalize(e,new a.BlockStatement(t))},e.prototype.parseLexicalBinding=function(e,t){var n=this.createNode(),i=this.parsePattern([],e);this.context.strict&&i.type===l.Syntax.Identifier&&this.scanner.isRestrictedWord(i.name)&&this.tolerateError(o.Messages.StrictVarName);var r=null;return"const"===e?this.matchKeyword("in")||this.matchContextualKeyword("of")||(this.match("=")?(this.nextToken(),r=this.isolateCoverGrammar(this.parseAssignmentExpression)):this.throwError(o.Messages.DeclarationMissingInitializer,"const")):(!t.inFor&&i.type!==l.Syntax.Identifier||this.match("="))&&(this.expect("="),r=this.isolateCoverGrammar(this.parseAssignmentExpression)),this.finalize(n,new a.VariableDeclarator(i,r))},e.prototype.parseBindingList=function(e,t){for(var n=[this.parseLexicalBinding(e,t)];this.match(",");)this.nextToken(),n.push(this.parseLexicalBinding(e,t));return n},e.prototype.isLexicalDeclaration=function(){var e=this.scanner.saveState();this.scanner.scanComments();var t=this.scanner.lex();return this.scanner.restoreState(e),3===t.type||7===t.type&&"["===t.value||7===t.type&&"{"===t.value||4===t.type&&"let"===t.value||4===t.type&&"yield"===t.value},e.prototype.parseLexicalDeclaration=function(e){var t=this.createNode(),n=this.nextToken().value;i.assert("let"===n||"const"===n,"Lexical declaration must be either let or const");var r=this.parseBindingList(n,e);return this.consumeSemicolon(),this.finalize(t,new a.VariableDeclaration(r,n))},e.prototype.parseBindingRestElement=function(e,t){var n=this.createNode();this.expect("...");var i=this.parsePattern(e,t);return this.finalize(n,new a.RestElement(i))},e.prototype.parseArrayPattern=function(e,t){var n=this.createNode();this.expect("[");for(var i=[];!this.match("]");)if(this.match(","))this.nextToken(),i.push(null);else{if(this.match("...")){i.push(this.parseBindingRestElement(e,t));break}i.push(this.parsePatternWithDefault(e,t)),this.match("]")||this.expect(",")}return this.expect("]"),this.finalize(n,new a.ArrayPattern(i))},e.prototype.parsePropertyPattern=function(e,t){var n,i,r=this.createNode(),o=!1,s=!1;if(3===this.lookahead.type){var l=this.lookahead;n=this.parseVariableIdentifier();var u=this.finalize(r,new a.Identifier(l.value));if(this.match("=")){e.push(l),s=!0,this.nextToken();var c=this.parseAssignmentExpression();i=this.finalize(this.startNode(l),new a.AssignmentPattern(u,c))}else this.match(":")?(this.expect(":"),i=this.parsePatternWithDefault(e,t)):(e.push(l),s=!0,i=u)}else o=this.match("["),n=this.parseObjectPropertyKey(),this.expect(":"),i=this.parsePatternWithDefault(e,t);return this.finalize(r,new a.Property("init",n,o,i,!1,s))},e.prototype.parseObjectPattern=function(e,t){var n=this.createNode(),i=[];for(this.expect("{");!this.match("}");)i.push(this.parsePropertyPattern(e,t)),this.match("}")||this.expect(",");return this.expect("}"),this.finalize(n,new a.ObjectPattern(i))},e.prototype.parsePattern=function(e,t){var n;return this.match("[")?n=this.parseArrayPattern(e,t):this.match("{")?n=this.parseObjectPattern(e,t):(!this.matchKeyword("let")||"const"!==t&&"let"!==t||this.tolerateUnexpectedToken(this.lookahead,o.Messages.LetInLexicalBinding),e.push(this.lookahead),n=this.parseVariableIdentifier(t)),n},e.prototype.parsePatternWithDefault=function(e,t){var n=this.lookahead,i=this.parsePattern(e,t);if(this.match("=")){this.nextToken();var r=this.context.allowYield;this.context.allowYield=!0;var o=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowYield=r,i=this.finalize(this.startNode(n),new a.AssignmentPattern(i,o))}return i},e.prototype.parseVariableIdentifier=function(e){var t=this.createNode(),n=this.nextToken();return 4===n.type&&"yield"===n.value?this.context.strict?this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord):this.context.allowYield||this.throwUnexpectedToken(n):3!==n.type?this.context.strict&&4===n.type&&this.scanner.isStrictModeReservedWord(n.value)?this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord):(this.context.strict||"let"!==n.value||"var"!==e)&&this.throwUnexpectedToken(n):(this.context.isModule||this.context.await)&&3===n.type&&"await"===n.value&&this.tolerateUnexpectedToken(n),this.finalize(t,new a.Identifier(n.value))},e.prototype.parseVariableDeclaration=function(e){var t=this.createNode(),n=this.parsePattern([],"var");this.context.strict&&n.type===l.Syntax.Identifier&&this.scanner.isRestrictedWord(n.name)&&this.tolerateError(o.Messages.StrictVarName);var i=null;return this.match("=")?(this.nextToken(),i=this.isolateCoverGrammar(this.parseAssignmentExpression)):n.type===l.Syntax.Identifier||e.inFor||this.expect("="),this.finalize(t,new a.VariableDeclarator(n,i))},e.prototype.parseVariableDeclarationList=function(e){var t={inFor:e.inFor},n=[];for(n.push(this.parseVariableDeclaration(t));this.match(",");)this.nextToken(),n.push(this.parseVariableDeclaration(t));return n},e.prototype.parseVariableStatement=function(){var e=this.createNode();this.expectKeyword("var");var t=this.parseVariableDeclarationList({inFor:!1});return this.consumeSemicolon(),this.finalize(e,new a.VariableDeclaration(t,"var"))},e.prototype.parseEmptyStatement=function(){var e=this.createNode();return this.expect(";"),this.finalize(e,new a.EmptyStatement)},e.prototype.parseExpressionStatement=function(){var e=this.createNode(),t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ExpressionStatement(t))},e.prototype.parseIfClause=function(){return this.context.strict&&this.matchKeyword("function")&&this.tolerateError(o.Messages.StrictFunction),this.parseStatement()},e.prototype.parseIfStatement=function(){var e,t=this.createNode(),n=null;this.expectKeyword("if"),this.expect("(");var i=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement)):(this.expect(")"),e=this.parseIfClause(),this.matchKeyword("else")&&(this.nextToken(),n=this.parseIfClause())),this.finalize(t,new a.IfStatement(i,e,n))},e.prototype.parseDoWhileStatement=function(){var e=this.createNode();this.expectKeyword("do");var t=this.context.inIteration;this.context.inIteration=!0;var n=this.parseStatement();this.context.inIteration=t,this.expectKeyword("while"),this.expect("(");var i=this.parseExpression();return!this.match(")")&&this.config.tolerant?this.tolerateUnexpectedToken(this.nextToken()):(this.expect(")"),this.match(";")&&this.nextToken()),this.finalize(e,new a.DoWhileStatement(n,i))},e.prototype.parseWhileStatement=function(){var e,t=this.createNode();this.expectKeyword("while"),this.expect("(");var n=this.parseExpression();if(!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement);else{this.expect(")");var i=this.context.inIteration;this.context.inIteration=!0,e=this.parseStatement(),this.context.inIteration=i}return this.finalize(t,new a.WhileStatement(n,e))},e.prototype.parseForStatement=function(){var e,t,n,i=null,r=null,s=null,u=!0,c=this.createNode();if(this.expectKeyword("for"),this.expect("("),this.match(";"))this.nextToken();else if(this.matchKeyword("var")){i=this.createNode(),this.nextToken();var f=this.context.allowIn;this.context.allowIn=!1;var d=this.parseVariableDeclarationList({inFor:!0});if(this.context.allowIn=f,1===d.length&&this.matchKeyword("in")){var m=d[0];m.init&&(m.id.type===l.Syntax.ArrayPattern||m.id.type===l.Syntax.ObjectPattern||this.context.strict)&&this.tolerateError(o.Messages.ForInOfLoopInitializer,"for-in"),i=this.finalize(i,new a.VariableDeclaration(d,"var")),this.nextToken(),e=i,t=this.parseExpression(),i=null}else 1===d.length&&null===d[0].init&&this.matchContextualKeyword("of")?(i=this.finalize(i,new a.VariableDeclaration(d,"var")),this.nextToken(),e=i,t=this.parseAssignmentExpression(),i=null,u=!1):(i=this.finalize(i,new a.VariableDeclaration(d,"var")),this.expect(";"))}else if(this.matchKeyword("const")||this.matchKeyword("let")){i=this.createNode();var p=this.nextToken().value;this.context.strict||"in"!==this.lookahead.value?(f=this.context.allowIn,this.context.allowIn=!1,d=this.parseBindingList(p,{inFor:!0}),this.context.allowIn=f,1===d.length&&null===d[0].init&&this.matchKeyword("in")?(i=this.finalize(i,new a.VariableDeclaration(d,p)),this.nextToken(),e=i,t=this.parseExpression(),i=null):1===d.length&&null===d[0].init&&this.matchContextualKeyword("of")?(i=this.finalize(i,new a.VariableDeclaration(d,p)),this.nextToken(),e=i,t=this.parseAssignmentExpression(),i=null,u=!1):(this.consumeSemicolon(),i=this.finalize(i,new a.VariableDeclaration(d,p)))):(i=this.finalize(i,new a.Identifier(p)),this.nextToken(),e=i,t=this.parseExpression(),i=null)}else{var h=this.lookahead;if(f=this.context.allowIn,this.context.allowIn=!1,i=this.inheritCoverGrammar(this.parseAssignmentExpression),this.context.allowIn=f,this.matchKeyword("in"))this.context.isAssignmentTarget&&i.type!==l.Syntax.AssignmentExpression||this.tolerateError(o.Messages.InvalidLHSInForIn),this.nextToken(),this.reinterpretExpressionAsPattern(i),e=i,t=this.parseExpression(),i=null;else if(this.matchContextualKeyword("of"))this.context.isAssignmentTarget&&i.type!==l.Syntax.AssignmentExpression||this.tolerateError(o.Messages.InvalidLHSInForLoop),this.nextToken(),this.reinterpretExpressionAsPattern(i),e=i,t=this.parseAssignmentExpression(),i=null,u=!1;else{if(this.match(",")){for(var g=[i];this.match(",");)this.nextToken(),g.push(this.isolateCoverGrammar(this.parseAssignmentExpression));i=this.finalize(this.startNode(h),new a.SequenceExpression(g))}this.expect(";")}}if(void 0===e&&(this.match(";")||(r=this.parseExpression()),this.expect(";"),this.match(")")||(s=this.parseExpression())),!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),n=this.finalize(this.createNode(),new a.EmptyStatement);else{this.expect(")");var y=this.context.inIteration;this.context.inIteration=!0,n=this.isolateCoverGrammar(this.parseStatement),this.context.inIteration=y}return void 0===e?this.finalize(c,new a.ForStatement(i,r,s,n)):u?this.finalize(c,new a.ForInStatement(e,t,n)):this.finalize(c,new a.ForOfStatement(e,t,n))},e.prototype.parseContinueStatement=function(){var e=this.createNode();this.expectKeyword("continue");var t=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var n=this.parseVariableIdentifier();t=n;var i="$"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,i)||this.throwError(o.Messages.UnknownLabel,n.name)}return this.consumeSemicolon(),null!==t||this.context.inIteration||this.throwError(o.Messages.IllegalContinue),this.finalize(e,new a.ContinueStatement(t))},e.prototype.parseBreakStatement=function(){var e=this.createNode();this.expectKeyword("break");var t=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var n=this.parseVariableIdentifier(),i="$"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,i)||this.throwError(o.Messages.UnknownLabel,n.name),t=n}return this.consumeSemicolon(),null!==t||this.context.inIteration||this.context.inSwitch||this.throwError(o.Messages.IllegalBreak),this.finalize(e,new a.BreakStatement(t))},e.prototype.parseReturnStatement=function(){this.context.inFunctionBody||this.tolerateError(o.Messages.IllegalReturn);var e=this.createNode();this.expectKeyword("return");var t=(this.match(";")||this.match("}")||this.hasLineTerminator||2===this.lookahead.type)&&8!==this.lookahead.type&&10!==this.lookahead.type?null:this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ReturnStatement(t))},e.prototype.parseWithStatement=function(){this.context.strict&&this.tolerateError(o.Messages.StrictModeWith);var e,t=this.createNode();this.expectKeyword("with"),this.expect("(");var n=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement)):(this.expect(")"),e=this.parseStatement()),this.finalize(t,new a.WithStatement(n,e))},e.prototype.parseSwitchCase=function(){var e,t=this.createNode();this.matchKeyword("default")?(this.nextToken(),e=null):(this.expectKeyword("case"),e=this.parseExpression()),this.expect(":");for(var n=[];!(this.match("}")||this.matchKeyword("default")||this.matchKeyword("case"));)n.push(this.parseStatementListItem());return this.finalize(t,new a.SwitchCase(e,n))},e.prototype.parseSwitchStatement=function(){var e=this.createNode();this.expectKeyword("switch"),this.expect("(");var t=this.parseExpression();this.expect(")");var n=this.context.inSwitch;this.context.inSwitch=!0;var i=[],r=!1;for(this.expect("{");!this.match("}");){var s=this.parseSwitchCase();null===s.test&&(r&&this.throwError(o.Messages.MultipleDefaultsInSwitch),r=!0),i.push(s)}return this.expect("}"),this.context.inSwitch=n,this.finalize(e,new a.SwitchStatement(t,i))},e.prototype.parseLabelledStatement=function(){var e,t=this.createNode(),n=this.parseExpression();if(n.type===l.Syntax.Identifier&&this.match(":")){this.nextToken();var i=n,r="$"+i.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,r)&&this.throwError(o.Messages.Redeclaration,"Label",i.name),this.context.labelSet[r]=!0;var s=void 0;if(this.matchKeyword("class"))this.tolerateUnexpectedToken(this.lookahead),s=this.parseClassDeclaration();else if(this.matchKeyword("function")){var u=this.lookahead,c=this.parseFunctionDeclaration();this.context.strict?this.tolerateUnexpectedToken(u,o.Messages.StrictFunction):c.generator&&this.tolerateUnexpectedToken(u,o.Messages.GeneratorInLegacyContext),s=c}else s=this.parseStatement();delete this.context.labelSet[r],e=new a.LabeledStatement(i,s)}else this.consumeSemicolon(),e=new a.ExpressionStatement(n);return this.finalize(t,e)},e.prototype.parseThrowStatement=function(){var e=this.createNode();this.expectKeyword("throw"),this.hasLineTerminator&&this.throwError(o.Messages.NewlineAfterThrow);var t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ThrowStatement(t))},e.prototype.parseCatchClause=function(){var e=this.createNode();this.expectKeyword("catch"),this.expect("("),this.match(")")&&this.throwUnexpectedToken(this.lookahead);for(var t=[],n=this.parsePattern(t),i={},r=0;r0&&this.tolerateError(o.Messages.BadGetterArity);var i=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,i,!1))},e.prototype.parseSetterMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters();1!==n.params.length?this.tolerateError(o.Messages.BadSetterArity):n.params[0]instanceof a.RestElement&&this.tolerateError(o.Messages.BadSetterRestParameter);var i=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,i,!1))},e.prototype.parseGeneratorMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters();this.context.allowYield=!1;var i=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,i,!0))},e.prototype.isStartOfExpression=function(){var e=!0,t=this.lookahead.value;switch(this.lookahead.type){case 7:e="["===t||"("===t||"{"===t||"+"===t||"-"===t||"!"===t||"~"===t||"++"===t||"--"===t||"/"===t||"/="===t;break;case 4:e="class"===t||"delete"===t||"function"===t||"let"===t||"new"===t||"super"===t||"this"===t||"typeof"===t||"void"===t||"yield"===t}return e},e.prototype.parseYieldExpression=function(){var e=this.createNode();this.expectKeyword("yield");var t=null,n=!1;if(!this.hasLineTerminator){var i=this.context.allowYield;this.context.allowYield=!1,(n=this.match("*"))?(this.nextToken(),t=this.parseAssignmentExpression()):this.isStartOfExpression()&&(t=this.parseAssignmentExpression()),this.context.allowYield=i}return this.finalize(e,new a.YieldExpression(t,n))},e.prototype.parseClassElement=function(e){var t=this.lookahead,n=this.createNode(),i="",r=null,s=null,l=!1,u=!1,c=!1,f=!1;if(this.match("*"))this.nextToken();else if(l=this.match("["),"static"===(r=this.parseObjectPropertyKey()).name&&(this.qualifiedPropertyName(this.lookahead)||this.match("*"))&&(t=this.lookahead,c=!0,l=this.match("["),this.match("*")?this.nextToken():r=this.parseObjectPropertyKey()),3===t.type&&!this.hasLineTerminator&&"async"===t.value){var d=this.lookahead.value;":"!==d&&"("!==d&&"*"!==d&&(f=!0,t=this.lookahead,r=this.parseObjectPropertyKey(),3===t.type&&"constructor"===t.value&&this.tolerateUnexpectedToken(t,o.Messages.ConstructorIsAsync))}var m=this.qualifiedPropertyName(this.lookahead);return 3===t.type?"get"===t.value&&m?(i="get",l=this.match("["),r=this.parseObjectPropertyKey(),this.context.allowYield=!1,s=this.parseGetterMethod()):"set"===t.value&&m&&(i="set",l=this.match("["),r=this.parseObjectPropertyKey(),s=this.parseSetterMethod()):7===t.type&&"*"===t.value&&m&&(i="init",l=this.match("["),r=this.parseObjectPropertyKey(),s=this.parseGeneratorMethod(),u=!0),!i&&r&&this.match("(")&&(i="init",s=f?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),u=!0),i||this.throwUnexpectedToken(this.lookahead),"init"===i&&(i="method"),l||(c&&this.isPropertyKey(r,"prototype")&&this.throwUnexpectedToken(t,o.Messages.StaticPrototype),!c&&this.isPropertyKey(r,"constructor")&&(("method"!==i||!u||s&&s.generator)&&this.throwUnexpectedToken(t,o.Messages.ConstructorSpecialMethod),e.value?this.throwUnexpectedToken(t,o.Messages.DuplicateConstructor):e.value=!0,i="constructor")),this.finalize(n,new a.MethodDefinition(r,l,s,i,c))},e.prototype.parseClassElementList=function(){var e=[],t={value:!1};for(this.expect("{");!this.match("}");)this.match(";")?this.nextToken():e.push(this.parseClassElement(t));return this.expect("}"),e},e.prototype.parseClassBody=function(){var e=this.createNode(),t=this.parseClassElementList();return this.finalize(e,new a.ClassBody(t))},e.prototype.parseClassDeclaration=function(e){var t=this.createNode(),n=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var i=e&&3!==this.lookahead.type?null:this.parseVariableIdentifier(),r=null;this.matchKeyword("extends")&&(this.nextToken(),r=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var o=this.parseClassBody();return this.context.strict=n,this.finalize(t,new a.ClassDeclaration(i,r,o))},e.prototype.parseClassExpression=function(){var e=this.createNode(),t=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var n=3===this.lookahead.type?this.parseVariableIdentifier():null,i=null;this.matchKeyword("extends")&&(this.nextToken(),i=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var r=this.parseClassBody();return this.context.strict=t,this.finalize(e,new a.ClassExpression(n,i,r))},e.prototype.parseModule=function(){this.context.strict=!0,this.context.isModule=!0,this.scanner.isModule=!0;for(var e=this.createNode(),t=this.parseDirectivePrologues();2!==this.lookahead.type;)t.push(this.parseStatementListItem());return this.finalize(e,new a.Module(t))},e.prototype.parseScript=function(){for(var e=this.createNode(),t=this.parseDirectivePrologues();2!==this.lookahead.type;)t.push(this.parseStatementListItem());return this.finalize(e,new a.Script(t))},e.prototype.parseModuleSpecifier=function(){var e=this.createNode();8!==this.lookahead.type&&this.throwError(o.Messages.InvalidModuleSpecifier);var t=this.nextToken(),n=this.getTokenRaw(t);return this.finalize(e,new a.Literal(t.value,n))},e.prototype.parseImportSpecifier=function(){var e,t,n=this.createNode();return 3===this.lookahead.type?(t=e=this.parseVariableIdentifier(),this.matchContextualKeyword("as")&&(this.nextToken(),t=this.parseVariableIdentifier())):(t=e=this.parseIdentifierName(),this.matchContextualKeyword("as")?(this.nextToken(),t=this.parseVariableIdentifier()):this.throwUnexpectedToken(this.nextToken())),this.finalize(n,new a.ImportSpecifier(t,e))},e.prototype.parseNamedImports=function(){this.expect("{");for(var e=[];!this.match("}");)e.push(this.parseImportSpecifier()),this.match("}")||this.expect(",");return this.expect("}"),e},e.prototype.parseImportDefaultSpecifier=function(){var e=this.createNode(),t=this.parseIdentifierName();return this.finalize(e,new a.ImportDefaultSpecifier(t))},e.prototype.parseImportNamespaceSpecifier=function(){var e=this.createNode();this.expect("*"),this.matchContextualKeyword("as")||this.throwError(o.Messages.NoAsAfterImportNamespace),this.nextToken();var t=this.parseIdentifierName();return this.finalize(e,new a.ImportNamespaceSpecifier(t))},e.prototype.parseImportDeclaration=function(){this.context.inFunctionBody&&this.throwError(o.Messages.IllegalImportDeclaration);var e,t=this.createNode();this.expectKeyword("import");var n=[];if(8===this.lookahead.type)e=this.parseModuleSpecifier();else{if(this.match("{")?n=n.concat(this.parseNamedImports()):this.match("*")?n.push(this.parseImportNamespaceSpecifier()):this.isIdentifierName(this.lookahead)&&!this.matchKeyword("default")?(n.push(this.parseImportDefaultSpecifier()),this.match(",")&&(this.nextToken(),this.match("*")?n.push(this.parseImportNamespaceSpecifier()):this.match("{")?n=n.concat(this.parseNamedImports()):this.throwUnexpectedToken(this.lookahead))):this.throwUnexpectedToken(this.nextToken()),!this.matchContextualKeyword("from")){var i=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause;this.throwError(i,this.lookahead.value)}this.nextToken(),e=this.parseModuleSpecifier()}return this.consumeSemicolon(),this.finalize(t,new a.ImportDeclaration(n,e))},e.prototype.parseExportSpecifier=function(){var e=this.createNode(),t=this.parseIdentifierName(),n=t;return this.matchContextualKeyword("as")&&(this.nextToken(),n=this.parseIdentifierName()),this.finalize(e,new a.ExportSpecifier(t,n))},e.prototype.parseExportDeclaration=function(){this.context.inFunctionBody&&this.throwError(o.Messages.IllegalExportDeclaration);var e,t=this.createNode();if(this.expectKeyword("export"),this.matchKeyword("default"))if(this.nextToken(),this.matchKeyword("function")){var n=this.parseFunctionDeclaration(!0);e=this.finalize(t,new a.ExportDefaultDeclaration(n))}else this.matchKeyword("class")?(n=this.parseClassDeclaration(!0),e=this.finalize(t,new a.ExportDefaultDeclaration(n))):this.matchContextualKeyword("async")?(n=this.matchAsyncFunction()?this.parseFunctionDeclaration(!0):this.parseAssignmentExpression(),e=this.finalize(t,new a.ExportDefaultDeclaration(n))):(this.matchContextualKeyword("from")&&this.throwError(o.Messages.UnexpectedToken,this.lookahead.value),n=this.match("{")?this.parseObjectInitializer():this.match("[")?this.parseArrayInitializer():this.parseAssignmentExpression(),this.consumeSemicolon(),e=this.finalize(t,new a.ExportDefaultDeclaration(n)));else if(this.match("*")){if(this.nextToken(),!this.matchContextualKeyword("from")){var i=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause;this.throwError(i,this.lookahead.value)}this.nextToken();var r=this.parseModuleSpecifier();this.consumeSemicolon(),e=this.finalize(t,new a.ExportAllDeclaration(r))}else if(4===this.lookahead.type){switch(n=void 0,this.lookahead.value){case"let":case"const":n=this.parseLexicalDeclaration({inFor:!1});break;case"var":case"class":case"function":n=this.parseStatementListItem();break;default:this.throwUnexpectedToken(this.lookahead)}e=this.finalize(t,new a.ExportNamedDeclaration(n,[],null))}else if(this.matchAsyncFunction())n=this.parseFunctionDeclaration(),e=this.finalize(t,new a.ExportNamedDeclaration(n,[],null));else{var s=[],l=null,u=!1;for(this.expect("{");!this.match("}");)u=u||this.matchKeyword("default"),s.push(this.parseExportSpecifier()),this.match("}")||this.expect(",");this.expect("}"),this.matchContextualKeyword("from")?(this.nextToken(),l=this.parseModuleSpecifier(),this.consumeSemicolon()):u?(i=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause,this.throwError(i,this.lookahead.value)):this.consumeSemicolon(),e=this.finalize(t,new a.ExportNamedDeclaration(null,s,l))}return e},e}();t.Parser=f},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assert=function(e,t){if(!e)throw new Error("ASSERT: "+t)}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){this.errors=[],this.tolerant=!1}return e.prototype.recordError=function(e){this.errors.push(e)},e.prototype.tolerate=function(e){if(!this.tolerant)throw e;this.recordError(e)},e.prototype.constructError=function(e,t){var n=new Error(e);try{throw n}catch(e){Object.create&&Object.defineProperty&&(n=Object.create(e),Object.defineProperty(n,"column",{value:t}))}return n},e.prototype.createError=function(e,t,n,i){var r="Line "+t+": "+i,o=this.constructError(r,n);return o.index=e,o.lineNumber=t,o.description=i,o},e.prototype.throwError=function(e,t,n,i){throw this.createError(e,t,n,i)},e.prototype.tolerateError=function(e,t,n,i){var r=this.createError(e,t,n,i);if(!this.tolerant)throw r;this.recordError(r)},e}();t.ErrorHandler=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Messages={BadGetterArity:"Getter must not have any formal parameters",BadSetterArity:"Setter must have exactly one formal parameter",BadSetterRestParameter:"Setter function argument must not be a rest parameter",ConstructorIsAsync:"Class constructor may not be an async method",ConstructorSpecialMethod:"Class constructor may not be an accessor",DeclarationMissingInitializer:"Missing initializer in %0 declaration",DefaultRestParameter:"Unexpected token =",DuplicateBinding:"Duplicate binding %0",DuplicateConstructor:"A class may only have one constructor",DuplicateProtoProperty:"Duplicate __proto__ fields are not allowed in object literals",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInLegacyContext:"Generator declarations are not allowed in legacy contexts",IllegalBreak:"Illegal break statement",IllegalContinue:"Illegal continue statement",IllegalExportDeclaration:"Unexpected token",IllegalImportDeclaration:"Unexpected token",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list",IllegalReturn:"Illegal return statement",InvalidEscapedReservedWord:"Keyword must not contain escaped characters",InvalidHexEscapeSequence:"Invalid hexadecimal escape sequence",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",InvalidLHSInForLoop:"Invalid left-hand side in for-loop",InvalidModuleSpecifier:"Unexpected token",InvalidRegExp:"Invalid regular expression",LetInLexicalBinding:"let is disallowed as a lexically bound name",MissingFromClause:"Unexpected token",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NewlineAfterThrow:"Illegal newline after throw",NoAsAfterImportNamespace:"Unexpected token",NoCatchOrFinally:"Missing catch or finally after try",ParameterAfterRestParameter:"Rest parameter must be last formal parameter",Redeclaration:"%0 '%1' has already been declared",StaticPrototype:"Classes may not have static property named prototype",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictModeWith:"Strict mode code may not include a with statement",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictReservedWord:"Use of future reserved word in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",TemplateOctalLiteral:"Octal literals are not allowed in template strings.",UnexpectedEOS:"Unexpected end of input",UnexpectedIdentifier:"Unexpected identifier",UnexpectedNumber:"Unexpected number",UnexpectedReserved:"Unexpected reserved word",UnexpectedString:"Unexpected string",UnexpectedTemplate:"Unexpected quasi %0",UnexpectedToken:"Unexpected token %0",UnexpectedTokenIllegal:"Unexpected token ILLEGAL",UnknownLabel:"Undefined label '%0'",UnterminatedRegExp:"Invalid regular expression: missing /"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(9),r=n(4),o=n(11);function a(e){return"0123456789abcdef".indexOf(e.toLowerCase())}function s(e){return"01234567".indexOf(e)}var l=function(){function e(e,t){this.source=e,this.errorHandler=t,this.trackComment=!1,this.isModule=!1,this.length=e.length,this.index=0,this.lineNumber=e.length>0?1:0,this.lineStart=0,this.curlyStack=[]}return e.prototype.saveState=function(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart}},e.prototype.restoreState=function(e){this.index=e.index,this.lineNumber=e.lineNumber,this.lineStart=e.lineStart},e.prototype.eof=function(){return this.index>=this.length},e.prototype.throwUnexpectedToken=function(e){return void 0===e&&(e=o.Messages.UnexpectedTokenIllegal),this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,e)},e.prototype.tolerateUnexpectedToken=function(e){void 0===e&&(e=o.Messages.UnexpectedTokenIllegal),this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,e)},e.prototype.skipSingleLineComment=function(e){var t,n,i=[];for(this.trackComment&&(i=[],t=this.index-e,n={start:{line:this.lineNumber,column:this.index-this.lineStart-e},end:{}});!this.eof();){var o=this.source.charCodeAt(this.index);if(++this.index,r.Character.isLineTerminator(o)){if(this.trackComment){n.end={line:this.lineNumber,column:this.index-this.lineStart-1};var a={multiLine:!1,slice:[t+e,this.index-1],range:[t,this.index-1],loc:n};i.push(a)}return 13===o&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,i}}return this.trackComment&&(n.end={line:this.lineNumber,column:this.index-this.lineStart},a={multiLine:!1,slice:[t+e,this.index],range:[t,this.index],loc:n},i.push(a)),i},e.prototype.skipMultiLineComment=function(){var e,t,n=[];for(this.trackComment&&(n=[],e=this.index-2,t={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{}});!this.eof();){var i=this.source.charCodeAt(this.index);if(r.Character.isLineTerminator(i))13===i&&10===this.source.charCodeAt(this.index+1)&&++this.index,++this.lineNumber,++this.index,this.lineStart=this.index;else if(42===i){if(47===this.source.charCodeAt(this.index+1)){if(this.index+=2,this.trackComment){t.end={line:this.lineNumber,column:this.index-this.lineStart};var o={multiLine:!0,slice:[e+2,this.index-2],range:[e,this.index],loc:t};n.push(o)}return n}++this.index}else++this.index}return this.trackComment&&(t.end={line:this.lineNumber,column:this.index-this.lineStart},o={multiLine:!0,slice:[e+2,this.index],range:[e,this.index],loc:t},n.push(o)),this.tolerateUnexpectedToken(),n},e.prototype.scanComments=function(){var e;this.trackComment&&(e=[]);for(var t=0===this.index;!this.eof();){var n=this.source.charCodeAt(this.index);if(r.Character.isWhiteSpace(n))++this.index;else if(r.Character.isLineTerminator(n))++this.index,13===n&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,t=!0;else if(47===n)if(47===(n=this.source.charCodeAt(this.index+1))){this.index+=2;var i=this.skipSingleLineComment(2);this.trackComment&&(e=e.concat(i)),t=!0}else{if(42!==n)break;this.index+=2,i=this.skipMultiLineComment(),this.trackComment&&(e=e.concat(i))}else if(t&&45===n){if(45!==this.source.charCodeAt(this.index+1)||62!==this.source.charCodeAt(this.index+2))break;this.index+=3,i=this.skipSingleLineComment(3),this.trackComment&&(e=e.concat(i))}else{if(60!==n||this.isModule)break;if("!--"!==this.source.slice(this.index+1,this.index+4))break;this.index+=4,i=this.skipSingleLineComment(4),this.trackComment&&(e=e.concat(i))}}return e},e.prototype.isFutureReservedWord=function(e){switch(e){case"enum":case"export":case"import":case"super":return!0;default:return!1}},e.prototype.isStrictModeReservedWord=function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0;default:return!1}},e.prototype.isRestrictedWord=function(e){return"eval"===e||"arguments"===e},e.prototype.isKeyword=function(e){switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e||"let"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}},e.prototype.codePointAt=function(e){var t=this.source.charCodeAt(e);if(t>=55296&&t<=56319){var n=this.source.charCodeAt(e+1);n>=56320&&n<=57343&&(t=1024*(t-55296)+n-56320+65536)}return t},e.prototype.scanHexEscape=function(e){for(var t="u"===e?4:2,n=0,i=0;i1114111||"}"!==e)&&this.throwUnexpectedToken(),r.Character.fromCodePoint(t)},e.prototype.getIdentifier=function(){for(var e=this.index++;!this.eof();){var t=this.source.charCodeAt(this.index);if(92===t)return this.index=e,this.getComplexIdentifier();if(t>=55296&&t<57343)return this.index=e,this.getComplexIdentifier();if(!r.Character.isIdentifierPart(t))break;++this.index}return this.source.slice(e,this.index)},e.prototype.getComplexIdentifier=function(){var e,t=this.codePointAt(this.index),n=r.Character.fromCodePoint(t);for(this.index+=n.length,92===t&&(117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,"{"===this.source[this.index]?(++this.index,e=this.scanUnicodeCodePointEscape()):null!==(e=this.scanHexEscape("u"))&&"\\"!==e&&r.Character.isIdentifierStart(e.charCodeAt(0))||this.throwUnexpectedToken(),n=e);!this.eof()&&(t=this.codePointAt(this.index),r.Character.isIdentifierPart(t));)n+=e=r.Character.fromCodePoint(t),this.index+=e.length,92===t&&(n=n.substr(0,n.length-1),117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,"{"===this.source[this.index]?(++this.index,e=this.scanUnicodeCodePointEscape()):null!==(e=this.scanHexEscape("u"))&&"\\"!==e&&r.Character.isIdentifierPart(e.charCodeAt(0))||this.throwUnexpectedToken(),n+=e);return n},e.prototype.octalToDecimal=function(e){var t="0"!==e,n=s(e);return!this.eof()&&r.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(t=!0,n=8*n+s(this.source[this.index++]),"0123".indexOf(e)>=0&&!this.eof()&&r.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(n=8*n+s(this.source[this.index++]))),{code:n,octal:t}},e.prototype.scanIdentifier=function(){var e,t=this.index,n=92===this.source.charCodeAt(t)?this.getComplexIdentifier():this.getIdentifier();if(3!=(e=1===n.length?3:this.isKeyword(n)?4:"null"===n?5:"true"===n||"false"===n?1:3)&&t+n.length!==this.index){var i=this.index;this.index=t,this.tolerateUnexpectedToken(o.Messages.InvalidEscapedReservedWord),this.index=i}return{type:e,value:n,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},e.prototype.scanPunctuator=function(){var e=this.index,t=this.source[this.index];switch(t){case"(":case"{":"{"===t&&this.curlyStack.push("{"),++this.index;break;case".":++this.index,"."===this.source[this.index]&&"."===this.source[this.index+1]&&(this.index+=2,t="...");break;case"}":++this.index,this.curlyStack.pop();break;case")":case";":case",":case"[":case"]":case":":case"?":case"~":++this.index;break;default:">>>="===(t=this.source.substr(this.index,4))?this.index+=4:"==="===(t=t.substr(0,3))||"!=="===t||">>>"===t||"<<="===t||">>="===t||"**="===t?this.index+=3:"&&"===(t=t.substr(0,2))||"||"===t||"=="===t||"!="===t||"+="===t||"-="===t||"*="===t||"/="===t||"++"===t||"--"===t||"<<"===t||">>"===t||"&="===t||"|="===t||"^="===t||"%="===t||"<="===t||">="===t||"=>"===t||"**"===t?this.index+=2:(t=this.source[this.index],"<>=!+-*%&|^/".indexOf(t)>=0&&++this.index)}return this.index===e&&this.throwUnexpectedToken(),{type:7,value:t,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanHexLiteral=function(e){for(var t="";!this.eof()&&r.Character.isHexDigit(this.source.charCodeAt(this.index));)t+=this.source[this.index++];return 0===t.length&&this.throwUnexpectedToken(),r.Character.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseInt("0x"+t,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanBinaryLiteral=function(e){for(var t,n="";!this.eof()&&("0"===(t=this.source[this.index])||"1"===t);)n+=this.source[this.index++];return 0===n.length&&this.throwUnexpectedToken(),this.eof()||(t=this.source.charCodeAt(this.index),(r.Character.isIdentifierStart(t)||r.Character.isDecimalDigit(t))&&this.throwUnexpectedToken()),{type:6,value:parseInt(n,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanOctalLiteral=function(e,t){var n="",i=!1;for(r.Character.isOctalDigit(e.charCodeAt(0))?(i=!0,n="0"+this.source[this.index++]):++this.index;!this.eof()&&r.Character.isOctalDigit(this.source.charCodeAt(this.index));)n+=this.source[this.index++];return i||0!==n.length||this.throwUnexpectedToken(),(r.Character.isIdentifierStart(this.source.charCodeAt(this.index))||r.Character.isDecimalDigit(this.source.charCodeAt(this.index)))&&this.throwUnexpectedToken(),{type:6,value:parseInt(n,8),octal:i,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},e.prototype.isImplicitOctalLiteral=function(){for(var e=this.index+1;e=0&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g,(function(e,t,n){var r=parseInt(t||n,16);return r>1114111&&i.throwUnexpectedToken(o.Messages.InvalidRegExp),r<=65535?String.fromCharCode(r):"￿"})).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"￿"));try{RegExp(n)}catch(e){this.throwUnexpectedToken(o.Messages.InvalidRegExp)}try{return new RegExp(e,t)}catch(e){return null}},e.prototype.scanRegExpBody=function(){var e=this.source[this.index];i.assert("/"===e,"Regular expression literal must start with a slash");for(var t=this.source[this.index++],n=!1,a=!1;!this.eof();)if(t+=e=this.source[this.index++],"\\"===e)e=this.source[this.index++],r.Character.isLineTerminator(e.charCodeAt(0))&&this.throwUnexpectedToken(o.Messages.UnterminatedRegExp),t+=e;else if(r.Character.isLineTerminator(e.charCodeAt(0)))this.throwUnexpectedToken(o.Messages.UnterminatedRegExp);else if(n)"]"===e&&(n=!1);else{if("/"===e){a=!0;break}"["===e&&(n=!0)}return a||this.throwUnexpectedToken(o.Messages.UnterminatedRegExp),t.substr(1,t.length-2)},e.prototype.scanRegExpFlags=function(){for(var e="";!this.eof();){var t=this.source[this.index];if(!r.Character.isIdentifierPart(t.charCodeAt(0)))break;if(++this.index,"\\"!==t||this.eof())e+=t;else if("u"===(t=this.source[this.index])){++this.index;var n=this.index,i=this.scanHexEscape("u");if(null!==i)for(e+=i;n=55296&&e<57343&&r.Character.isIdentifierStart(this.codePointAt(this.index))?this.scanIdentifier():this.scanPunctuator()},e}();t.Scanner=l},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenName={},t.TokenName[1]="Boolean",t.TokenName[2]="",t.TokenName[3]="Identifier",t.TokenName[4]="Keyword",t.TokenName[5]="Null",t.TokenName[6]="Numeric",t.TokenName[7]="Punctuator",t.TokenName[8]="String",t.TokenName[9]="RegularExpression",t.TokenName[10]="Template"},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.XHTMLEntities={quot:'"',amp:"&",apos:"'",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",lang:"⟨",rang:"⟩"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),r=n(12),o=n(13),a=function(){function e(){this.values=[],this.curly=this.paren=-1}return e.prototype.beforeFunctionExpression=function(e){return["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","**","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="].indexOf(e)>=0},e.prototype.isRegexStart=function(){var e=this.values[this.values.length-1],t=null!==e;switch(e){case"this":case"]":t=!1;break;case")":var n=this.values[this.paren-1];t="if"===n||"while"===n||"for"===n||"with"===n;break;case"}":if(t=!1,"function"===this.values[this.curly-3])t=!!(i=this.values[this.curly-4])&&!this.beforeFunctionExpression(i);else if("function"===this.values[this.curly-4]){var i;t=!(i=this.values[this.curly-5])||!this.beforeFunctionExpression(i)}}return t},e.prototype.push=function(e){7===e.type||4===e.type?("{"===e.value?this.curly=this.values.length:"("===e.value&&(this.paren=this.values.length),this.values.push(e.value)):this.values.push(null)},e}(),s=function(){function e(e,t){this.errorHandler=new i.ErrorHandler,this.errorHandler.tolerant=!!t&&"boolean"==typeof t.tolerant&&t.tolerant,this.scanner=new r.Scanner(e,this.errorHandler),this.scanner.trackComment=!!t&&"boolean"==typeof t.comment&&t.comment,this.trackRange=!!t&&"boolean"==typeof t.range&&t.range,this.trackLoc=!!t&&"boolean"==typeof t.loc&&t.loc,this.buffer=[],this.reader=new a}return e.prototype.errors=function(){return this.errorHandler.errors},e.prototype.getNextToken=function(){if(0===this.buffer.length){var e=this.scanner.scanComments();if(this.scanner.trackComment)for(var t=0;t-1&&n>=e.flowLevel;switch(function(e,t,n,i,r){var o,a,s,l=!1,u=!1,f=-1!==i,I=-1,P=B(s=e.charCodeAt(0))&&65279!==s&&!U(s)&&s!==x&&s!==E&&s!==b&&s!==C&&s!==A&&s!==R&&s!==k&&s!==w&&s!==p&&s!==g&&s!==v&&s!==d&&s!==T&&s!==S&&s!==y&&s!==m&&s!==h&&s!==D&&s!==M&&!U(e.charCodeAt(e.length-1));if(t)for(o=0;oi&&" "!==e[I+1],I=o);else if(!B(a))return G;P=P&&F(a)}u=u||f&&o-I-1>i&&" "!==e[I+1]}return l||u?n>9&&q(e)?G:u?V:H:P&&!r(e)?j:z}(t,s,e.indent,a,(function(t){return function(e,t){var n,i;for(n=0,i=e.implicitTypes.length;n"+K(t,e.indent)+Q(L(function(e,t){for(var n,i,r,o=/(\n+)([^\n]*)/g,a=(r=-1!==(r=e.indexOf("\n"))?r:e.length,o.lastIndex=r,J(e.slice(0,r),t)),s="\n"===e[0]||" "===e[0];i=o.exec(e);){var l=i[1],u=i[2];n=" "===u[0],a+=l+(s||n||""===u?"":"\n")+J(u,t),s=n}return a}(t,a),o));case G:return'"'+function(e){for(var t,n,i,r="",o=0;o=55296&&t<=56319&&(n=e.charCodeAt(o+1))>=56320&&n<=57343?(r+=O(1024*(t-55296)+n-56320+65536),o++):r+=!(i=I[t])&&B(t)?e[o]:i||O(t);return r}(t)+'"';default:throw new r("impossible error: invalid scalar style")}}()}function K(e,t){var n=q(e)?String(t):"",i="\n"===e[e.length-1];return n+(!i||"\n"!==e[e.length-2]&&"\n"!==e?i?"":"-":"+")+"\n"}function Q(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function J(e,t){if(""===e||" "===e[0])return e;for(var n,i,r=/ [^ ]/g,o=0,a=0,s=0,l="";n=r.exec(e);)(s=n.index)-o>t&&(i=a>o?a:s,l+="\n"+e.slice(o,i),o=i+1),a=s;return l+="\n",e.length-o>t&&a>o?l+=e.slice(o,a)+"\n"+e.slice(a+1):l+=e.slice(o),l.slice(1)}function X(e,t,n){var i,o,a,u,c,f;for(a=0,u=(o=n?e.explicitTypes:e.implicitTypes).length;a tag resolver accepts not "'+f+'" style');i=c.represent[f](t,f)}e.dump=i}return!0}return!1}function Y(e,t,n,i,o,a){e.tag=null,e.dump=n,X(e,n,!1)||X(e,n,!0);var l=s.call(e.dump);i&&(i=e.flowLevel<0||e.flowLevel>t);var u,f,d="[object Object]"===l||"[object Array]"===l;if(d&&(f=-1!==(u=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||f||2!==e.indent&&t>0)&&(o=!1),f&&e.usedDuplicates[u])e.dump="*ref_"+u;else{if(d&&f&&!e.usedDuplicates[u]&&(e.usedDuplicates[u]=!0),"[object Object]"===l)i&&0!==Object.keys(e.dump).length?(function(e,t,n,i){var o,a,s,l,u,f,d="",m=e.tag,p=Object.keys(n);if(!0===e.sortKeys)p.sort();else if("function"==typeof e.sortKeys)p.sort(e.sortKeys);else if(e.sortKeys)throw new r("sortKeys must be a boolean or a function");for(o=0,a=p.length;o1024)&&(e.dump&&c===e.dump.charCodeAt(0)?f+="?":f+="? "),f+=e.dump,u&&(f+=N(e,t)),Y(e,t+1,l,!0,u)&&(e.dump&&c===e.dump.charCodeAt(0)?f+=":":f+=": ",d+=f+=e.dump));e.tag=m,e.dump=d||"{}"}(e,t,e.dump,o),f&&(e.dump="&ref_"+u+e.dump)):(function(e,t,n){var i,r,o,a,s,l="",u=e.tag,c=Object.keys(n);for(i=0,r=c.length;i1024&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),Y(e,t,a,!1,!1)&&(l+=s+=e.dump));e.tag=u,e.dump="{"+l+"}"}(e,t,e.dump),f&&(e.dump="&ref_"+u+" "+e.dump));else if("[object Array]"===l){var m=e.noArrayIndent&&t>0?t-1:t;i&&0!==e.dump.length?(function(e,t,n,i){var r,o,a="",s=e.tag;for(r=0,o=n.length;r "+e.dump)}return!0}function $(e,t){var n,i,r=[],o=[];for(Z(e,r,o),n=0,i=o.length;n>10),56320+(e-65536&1023))}for(var T=new Array(256),w=new Array(256),I=0;I<256;I++)T[I]=M(I)?1:0,w[I]=M(I);function P(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||s,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function O(e,t){return new r(t,new o(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function _(e,t){throw O(e,t)}function L(e,t){e.onWarning&&e.onWarning.call(null,O(e,t))}var N={YAML:function(e,t,n){var i,r,o;null!==e.version&&_(e,"duplication of %YAML directive"),1!==n.length&&_(e,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&_(e,"ill-formed argument of the YAML directive"),r=parseInt(i[1],10),o=parseInt(i[2],10),1!==r&&_(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=o<2,1!==o&&2!==o&&L(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,r;2!==n.length&&_(e,"TAG directive accepts exactly two arguments"),i=n[0],r=n[1],C.test(i)||_(e,"ill-formed tag handle (first argument) of the TAG directive"),l.call(e.tagMap,i)&&_(e,'there is a previously declared suffix for "'+i+'" tag handle'),x.test(r)||_(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[i]=r}};function U(e,t,n,i){var r,o,a,s;if(t1&&(e.result+=i.repeat("\n",t-1))}function V(e,t){var n,i,r=e.tag,o=e.anchor,a=[],s=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=a),i=e.input.charCodeAt(e.position);0!==i&&45===i&&D(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,j(e,!0,-1)&&e.lineIndent<=t)a.push(null),i=e.input.charCodeAt(e.position);else if(n=e.line,K(e,t,f,!1,!0),a.push(e.result),j(e,!0,-1),i=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==i)_(e,"bad indentation of a sequence entry");else if(e.lineIndentt?M=1:e.lineIndent===t?M=0:e.lineIndentt?M=1:e.lineIndent===t?M=0:e.lineIndentt)&&(K(e,t,d,!0,r)&&(y?h=e.result:g=e.result),y||(F(e,f,m,p,h,g,o,a),p=h=g=null),j(e,!0,-1),s=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==s)_(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===o?_(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?_(e,"repeat of an indentation width identifier"):(f=t+o-1,c=!0)}if(E(a)){do{a=e.input.charCodeAt(++e.position)}while(E(a));if(35===a)do{a=e.input.charCodeAt(++e.position)}while(!S(a)&&0!==a)}for(;0!==a;){for(q(e),e.lineIndent=0,a=e.input.charCodeAt(e.position);(!c||e.lineIndentf&&(f=e.lineIndent),S(a))d++;else{if(e.lineIndent0){for(r=a,o=0;r>0;r--)(a=R(s=e.input.charCodeAt(++e.position)))>=0?o=(o<<4)+a:_(e,"expected hexadecimal character");e.result+=k(o),e.position++}else _(e,"unknown escape sequence");n=i=e.position}else S(s)?(U(e,n,i,!0),H(e,j(e,!1,t)),n=i=e.position):e.position===e.lineStart&&z(e)?_(e,"unexpected end of the document within a double quoted scalar"):(e.position++,i=e.position)}_(e,"unexpected end of the stream within a double quoted scalar")}(e,x)?P=!0:function(e){var t,n,i;if(42!==(i=e.input.charCodeAt(e.position)))return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!D(i)&&!A(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&_(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(n)||_(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],j(e,!0,-1),!0}(e)?(P=!0,null===e.tag&&null===e.anchor||_(e,"alias node should not have any properties")):function(e,t,n){var i,r,o,a,s,l,u,c,f=e.kind,d=e.result;if(D(c=e.input.charCodeAt(e.position))||A(c)||35===c||38===c||42===c||33===c||124===c||62===c||39===c||34===c||37===c||64===c||96===c)return!1;if((63===c||45===c)&&(D(i=e.input.charCodeAt(e.position+1))||n&&A(i)))return!1;for(e.kind="scalar",e.result="",r=o=e.position,a=!1;0!==c;){if(58===c){if(D(i=e.input.charCodeAt(e.position+1))||n&&A(i))break}else if(35===c){if(D(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&z(e)||n&&A(c))break;if(S(c)){if(s=e.line,l=e.lineStart,u=e.lineIndent,j(e,!1,-1),e.lineIndent>=t){a=!0,c=e.input.charCodeAt(e.position);continue}e.position=o,e.line=s,e.lineStart=l,e.lineIndent=u;break}}a&&(U(e,r,o,!1),H(e,e.line-s),r=o=e.position,a=!1),E(c)||(o=e.position+1),c=e.input.charCodeAt(++e.position)}return U(e,r,o,!1),!!e.result||(e.kind=f,e.result=d,!1)}(e,x,u===n)&&(P=!0,null===e.tag&&(e.tag="?")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===M&&(P=g&&V(e,b))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(y=0,v=e.implicitTypes.length;y tag; it should be "'+C.kind+'", not "'+e.kind+'"'),C.resolve(e.result)?(e.result=C.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):_(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):_(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||P}function Q(e){var t,n,i,r,o=e.position,a=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(r=e.input.charCodeAt(e.position))&&(j(e,!0,-1),r=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==r));){for(a=!0,r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!D(r);)r=e.input.charCodeAt(++e.position);for(i=[],(n=e.input.slice(t,e.position)).length<1&&_(e,"directive name must not be less than one character in length");0!==r;){for(;E(r);)r=e.input.charCodeAt(++e.position);if(35===r){do{r=e.input.charCodeAt(++e.position)}while(0!==r&&!S(r));break}if(S(r))break;for(t=e.position;0!==r&&!D(r);)r=e.input.charCodeAt(++e.position);i.push(e.input.slice(t,e.position))}0!==r&&q(e),l.call(N,n)?N[n](e,n,i):L(e,'unknown document directive "'+n+'"')}j(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,j(e,!0,-1)):a&&_(e,"directives end mark is expected"),K(e,e.lineIndent-1,d,!1,!0),j(e,!0,-1),e.checkLineBreaks&&y.test(e.input.slice(o,e.position))&&L(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&z(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,j(e,!0,-1)):e.position0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(r-1));)if(r-=1,this.position-r>t/2-1){n=" ... ",r+=5;break}for(o="",a=this.position;at/2-1){o=" ... ",a-=5;break}return s=this.buffer.slice(r,a),i.repeat(" ",e)+n+s+o+"\n"+i.repeat(" ",e+this.position-r+n.length)+"^"},r.prototype.toString=function(e){var t,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet())&&(n+=":\n"+t),n},e.exports=r},2409:function(e,t,n){"use strict";var i=n(5596),r=n(4884),o=n(3899);function a(e,t,n){var i=[];return e.include.forEach((function(e){n=a(e,t,n)})),e[t].forEach((function(e){n.forEach((function(t,n){t.tag===e.tag&&t.kind===e.kind&&i.push(n)})),n.push(e)})),n.filter((function(e,t){return-1===i.indexOf(t)}))}function s(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach((function(e){if(e.loadKind&&"scalar"!==e.loadKind)throw new r("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")})),this.compiledImplicit=a(this,"implicit",[]),this.compiledExplicit=a(this,"explicit",[]),this.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{}};function i(e){n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e64)){if(t<0)return!1;i+=6}return i%8==0},construct:function(e){var t,n,r=e.replace(/[\r\n=]/g,""),a=r.length,s=o,l=0,u=[];for(t=0;t>16&255),u.push(l>>8&255),u.push(255&l)),l=l<<6|s.indexOf(r.charAt(t));return 0==(n=a%4*6)?(u.push(l>>16&255),u.push(l>>8&255),u.push(255&l)):18===n?(u.push(l>>10&255),u.push(l>>2&255)):12===n&&u.push(l>>4&255),i?i.from?i.from(u):new i(u):u},predicate:function(e){return i&&i.isBuffer(e)},represent:function(e){var t,n,i="",r=0,a=e.length,s=o;for(t=0;t>18&63],i+=s[r>>12&63],i+=s[r>>6&63],i+=s[63&r]),r=(r<<8)+e[t];return 0==(n=a%3)?(i+=s[r>>18&63],i+=s[r>>12&63],i+=s[r>>6&63],i+=s[63&r]):2===n?(i+=s[r>>10&63],i+=s[r>>4&63],i+=s[r<<2&63],i+=s[64]):1===n&&(i+=s[r>>2&63],i+=s[r<<4&63],i+=s[64],i+=s[64]),i}})},2648:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},3456:function(e,t,n){"use strict";var i=n(5596),r=n(3899),o=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),a=/^[-+]?[0-9]+e/;e.exports=new r("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!o.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n,i,r;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,r=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:t.indexOf(":")>=0?(t.split(":").forEach((function(e){r.unshift(parseFloat(e,10))})),t=0,i=1,r.forEach((function(e){t+=e*i,i*=60})),n*t):n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||i.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(i.isNegativeZero(e))return"-0.0";return n=e.toString(10),a.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"})},5979:function(e,t,n){"use strict";var i=n(5596),r=n(3899);function o(e){return 48<=e&&e<=55}function a(e){return 48<=e&&e<=57}e.exports=new r("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,i=e.length,r=0,s=!1;if(!i)return!1;if("-"!==(t=e[r])&&"+"!==t||(t=e[++r]),"0"===t){if(r+1===i)return!0;if("b"===(t=e[++r])){for(r++;r=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},9811:function(e,t,n){"use strict";var i;try{i=n(1072)}catch(e){"undefined"!=typeof window&&(i=window.esprima)}var r=n(3899);e.exports=new r("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:function(e){if(null===e)return!1;try{var t="("+e+")",n=i.parse(t,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&("ArrowFunctionExpression"===n.body[0].expression.type||"FunctionExpression"===n.body[0].expression.type)}catch(e){return!1}},construct:function(e){var t,n="("+e+")",r=i.parse(n,{range:!0}),o=[];if("Program"!==r.type||1!==r.body.length||"ExpressionStatement"!==r.body[0].type||"ArrowFunctionExpression"!==r.body[0].expression.type&&"FunctionExpression"!==r.body[0].expression.type)throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach((function(e){o.push(e.name)})),t=r.body[0].expression.body.range,"BlockStatement"===r.body[0].expression.body.type?new Function(o,n.slice(t[0]+1,t[1]-1)):new Function(o,"return "+n.slice(t[0],t[1]))},predicate:function(e){return"[object Function]"===Object.prototype.toString.call(e)},represent:function(e){return e.toString()}})},7287:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:function(e){if(null===e)return!1;if(0===e.length)return!1;var t=e,n=/\/([gim]*)$/.exec(e),i="";if("/"===t[0]){if(n&&(i=n[1]),i.length>3)return!1;if("/"!==t[t.length-i.length-1])return!1}return!0},construct:function(e){var t=e,n=/\/([gim]*)$/.exec(e),i="";return"/"===t[0]&&(n&&(i=n[1]),t=t.slice(1,t.length-i.length-1)),new RegExp(t,i)},predicate:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},represent:function(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}})},575:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:function(){return!0},construct:function(){},predicate:function(e){return void 0===e},represent:function(){return""}})},6553:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},243:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}})},3022:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},3878:function(e,t,n){"use strict";var i=n(3899),r=Object.prototype.hasOwnProperty,o=Object.prototype.toString;e.exports=new i("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,i,a,s,l=[],u=e;for(t=0,n=u.length;t0?" ".concat(n.layer):""," {")),i+=n.css,r&&(i+="}"),n.media&&(i+="}"),n.supports&&(i+="}");var o=n.sourceMap;o&&"undefined"!=typeof btoa&&(i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),t.styleTagTransform(i,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:function(e){"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},8549:function(e,t,n){var i=void 0===arguments?void 0:arguments,r=this;n(8045),n(9715),n(3034),n(4391);var o=n(4631),a=n(3320);n(3631),n(6876),n(2783),n(1380);var s=n(2346);document.getElementById("version").innerText="(version "+fhirpath.version+")";var l=function(e,t){var n;return function(){var o=r,a=i;clearTimeout(n),n=setTimeout((function(){return e.apply(o,a)}),t)}},u=document.getElementById("path"),c=document.getElementById("output");function f(){try{var e=document.querySelector('input[name="inputType"]:checked').value,t=d.getValue(),n=u.value;if(""!=n.trim()){var i="yaml"===e?a.safeLoad(t):JSON.parse(t);console.log(u.value,i);var r=fhirpath.evaluate(i,n,null,fhirpath_r4_model);c.innerHTML="
",c.childNodes.item(0).textContent=a.dump(JSON.parse(JSON.stringify(r)))}}catch(e){c.innerHTML='
',e.toString().replace(/\n/,"
"),c.childNodes.item(0).textContent=e.toString(),console.error(e)}}var d=o(document.getElementById("input"),{value:a.dump(s),lineNumbers:!0,mode:"yaml"});window.cm=d;var m=document.querySelector('input[name="inputType"]:checked').value;function p(e){var t=e.target.value;if(t!==m){if("json"===t){var n=d.getValue();d.setOption("mode","javascript"),d.setOption("json","true"),d.setValue(JSON.stringify(a.safeLoad(n),null,2))}else{var i=d.getValue();d.setOption("mode","yaml"),d.setValue(a.dump(JSON.parse(i)))}m=t}}for(var h=document.querySelectorAll('input[name="inputType"]'),g=0,y=h.length;g0?a-4:a;for(n=0;n>16&255,u[c++]=t>>8&255,u[c++]=255&t;return 2===s&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,u[c++]=255&t),1===s&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,u[c++]=t>>8&255,u[c++]=255&t),u},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,o=[],a=16383,s=0,l=i-r;sl?l:s+a));return 1===r?(t=e[i-1],o.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],o.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),o.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,s=o.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function u(e,t,i){for(var r,o,a=[],s=t;s>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},816:function(e,t,n){"use strict";var i=n(4782),r=n(8898),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.lW=l,t.h2=50;var a=2147483647;function s(e){if(e>a)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return f(e)}return u(e,t,n)}function u(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var n=0|h(e,t),i=s(n),r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return function(e){if(j(e,Uint8Array)){var t=new Uint8Array(e);return m(t.buffer,t.byteOffset,t.byteLength)}return d(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(j(e,ArrayBuffer)||e&&j(e.buffer,ArrayBuffer))return m(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(j(e,SharedArrayBuffer)||e&&j(e.buffer,SharedArrayBuffer)))return m(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');var i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return l.from(i,t,n);var r=function(e){if(l.isBuffer(e)){var t=0|p(e.length),n=s(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||z(e.length)?s(0):d(e):"Buffer"===e.type&&Array.isArray(e.data)?d(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function c(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function f(e){return c(e),s(e<0?0:0|p(e))}function d(e){for(var t=e.length<0?0:0|p(e.length),n=s(t),i=0;i=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function h(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||j(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return B(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return F(e).length;default:if(r)return i?-1:B(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return w(this,t,n);case"utf8":case"utf-8":return R(this,t,n);case"ascii":return k(this,t,n);case"latin1":case"binary":return T(this,t,n);case"base64":return A(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function y(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function v(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),z(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:C(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):C(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function C(e,t,n,i,r){var o,a=1,s=e.length,l=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,n/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(r){var c=-1;for(o=n;os&&(n=s-l),o=n;o>=0;o--){for(var f=!0,d=0;dr&&(i=r):i=r;var o=t.length;i>o/2&&(i=o/2);for(var a=0;a>8,r=n%256,o.push(r),o.push(i);return o}(t,e.length-n),e,n,i)}function A(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function R(e,t,n){n=Math.min(e.length,n);for(var i=[],r=t;r239?4:u>223?3:u>191?2:1;if(r+f<=n)switch(f){case 1:u<128&&(c=u);break;case 2:128==(192&(o=e[r+1]))&&(l=(31&u)<<6|63&o)>127&&(c=l);break;case 3:o=e[r+1],a=e[r+2],128==(192&o)&&128==(192&a)&&(l=(15&u)<<12|(63&o)<<6|63&a)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:o=e[r+1],a=e[r+2],s=e[r+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(l=(15&u)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&l<1114112&&(c=l)}null===c?(c=65533,f=1):c>65535&&(c-=65536,i.push(c>>>10&1023|55296),c=56320|1023&c),i.push(c),r+=f}return function(e){var t=e.length;if(t<=M)return String.fromCharCode.apply(String,e);for(var n="",i=0;ii.length?l.from(o).copy(i,r):Uint8Array.prototype.set.call(i,o,r);else{if(!l.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,r)}r+=o.length}return i},l.byteLength=h,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;tn&&(e+=" ... "),""},o&&(l.prototype[o]=l.prototype.inspect),l.prototype.compare=function(e,t,n,i,r){if(j(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(r>>>=0)-(i>>>=0),a=(n>>>=0)-(t>>>=0),s=Math.min(o,a),u=this.slice(i,r),c=e.slice(t,n),f=0;f>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return x(this,e,t,n);case"utf8":case"utf-8":return b(this,e,t,n);case"ascii":case"latin1":case"binary":return S(this,e,t,n);case"base64":return E(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return D(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var M=4096;function k(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;ri)&&(n=i);for(var r="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function O(e,t,n,i,r,o){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function _(e,t,n,i,r,o){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,i,o){return t=+t,n>>>=0,o||_(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function N(e,t,n,i,o){return t=+t,n>>>=0,o||_(e,0,n,8),r.write(e,t,n,i,52,8),n+8}l.prototype.slice=function(e,t){var n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e],r=1,o=0;++o>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e+--t],r=1;t>0&&(r*=256);)i+=this[e+--t]*r;return i},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e],r=1,o=0;++o=(r*=128)&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||P(e,t,this.length);for(var i=t,r=1,o=this[e+--i];i>0&&(r*=256);)o+=this[e+--i]*r;return o>=(r*=128)&&(o-=Math.pow(2,8*t)),o},l.prototype.readInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||P(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||P(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return e>>>=0,t||P(e,4,this.length),r.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||P(e,4,this.length),r.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||P(e,8,this.length),r.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||P(e,8,this.length),r.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||O(this,e,t,n,Math.pow(2,8*n)-1,0);var r=1,o=0;for(this[t]=255&e;++o>>=0,n>>>=0,i||O(this,e,t,n,Math.pow(2,8*n)-1,0);var r=n-1,o=1;for(this[t+r]=255&e;--r>=0&&(o*=256);)this[t+r]=e/o&255;return t+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){var r=Math.pow(2,8*n-1);O(this,e,t,n,r-1,-r)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+n},l.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){var r=Math.pow(2,8*n-1);O(this,e,t,n,r-1,-r)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return N(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return N(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,i){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===i){(t-=3)>-1&&o.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&o.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function F(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(U,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function q(e,t,n,i){for(var r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function j(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function z(e){return e!=e}var H=function(){for(var e="0123456789abcdef",t=new Array(256),n=0;n<16;++n)for(var i=16*n,r=0;r<16;++r)t[i+r]=e[n]+e[r];return t}()},8898:function(e,t){t.read=function(e,t,n,i,r){var o,a,s=8*r-i-1,l=(1<>1,c=-7,f=n?r-1:0,d=n?-1:1,m=e[t+f];for(f+=d,o=m&(1<<-c)-1,m>>=-c,c+=s;c>0;o=256*o+e[t+f],f+=d,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=i;c>0;a=256*a+e[t+f],f+=d,c-=8);if(0===o)o=1-u;else{if(o===l)return a?NaN:1/0*(m?-1:1);a+=Math.pow(2,i),o-=u}return(m?-1:1)*a*Math.pow(2,o-i)},t.write=function(e,t,n,i,r,o){var a,s,l,u=8*o-r-1,c=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,m=i?0:o-1,p=i?1:-1,h=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+f>=1?d/l:d*Math.pow(2,1-f))*l>=2&&(a++,l/=2),a+f>=c?(s=0,a=c):a+f>=1?(s=(t*l-1)*Math.pow(2,r),a+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,r),a=0));r>=8;e[n+m]=255&s,m+=p,s/=256,r-=8);for(a=a<0;e[n+m]=255&a,m+=p,a/=256,u-=8);e[n+m-p]|=128*h}}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={id:i,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.p="",n.nc=void 0,n(8549)}(); //# sourceMappingURL=app.js.map \ No newline at end of file diff --git a/app.js.map b/app.js.map index 92090a9..58a684d 100644 --- a/app.js.map +++ b/app.js.map @@ -1 +1 @@ -{"version":3,"file":"app.js","mappings":"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","sources":["webpack://fhirpath-demo/../browser-build/fhirpath.min.js","webpack://fhirpath-demo/../browser-build/fhirpath.r4.min.js","webpack://fhirpath-demo/./node_modules/codemirror/addon/lint/yaml-lint.js","webpack://fhirpath-demo/./node_modules/codemirror/lib/codemirror.js","webpack://fhirpath-demo/./node_modules/codemirror/mode/javascript/javascript.js","webpack://fhirpath-demo/./node_modules/codemirror/mode/yaml/yaml.js","webpack://fhirpath-demo/./node_modules/codemirror/lib/codemirror.css","webpack://fhirpath-demo/./public/app.css","webpack://fhirpath-demo/./node_modules/css-loader/dist/runtime/api.js","webpack://fhirpath-demo/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://fhirpath-demo/./node_modules/esprima/dist/esprima.js","webpack://fhirpath-demo/./public/index.html","webpack://fhirpath-demo/./node_modules/js-yaml/index.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/common.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/dumper.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/exception.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/loader.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/mark.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/schema.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/schema/core.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/schema/default_full.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/schema/default_safe.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/schema/failsafe.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/schema/json.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/binary.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/bool.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/float.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/int.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/js/function.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/js/regexp.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/js/undefined.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/map.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/merge.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/null.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/omap.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/pairs.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/seq.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/set.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/str.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/timestamp.js","webpack://fhirpath-demo/./public/patient-example.yaml","webpack://fhirpath-demo/./node_modules/codemirror/lib/codemirror.css?a5e1","webpack://fhirpath-demo/./public/app.css?b1af","webpack://fhirpath-demo/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://fhirpath-demo/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://fhirpath-demo/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://fhirpath-demo/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://fhirpath-demo/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://fhirpath-demo/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://fhirpath-demo/./public/app.js","webpack://fhirpath-demo/../node_modules/base64-js/index.js","webpack://fhirpath-demo/../node_modules/buffer/index.js","webpack://fhirpath-demo/../node_modules/ieee754/index.js","webpack://fhirpath-demo/webpack/bootstrap","webpack://fhirpath-demo/webpack/runtime/compat get default export","webpack://fhirpath-demo/webpack/runtime/define property getters","webpack://fhirpath-demo/webpack/runtime/hasOwnProperty shorthand","webpack://fhirpath-demo/webpack/runtime/make namespace object","webpack://fhirpath-demo/webpack/runtime/publicPath","webpack://fhirpath-demo/webpack/runtime/nonce","webpack://fhirpath-demo/webpack/startup"],"sourcesContent":["/*! For license information please see fhirpath.min.js.LICENSE.txt */\n!function(){var e={6759:function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Ucum=void 0,t.Ucum={dimLen_:7,validOps_:[\".\",\"/\"],codeSep_:\": \",valMsgStart_:\"Did you mean \",valMsgEnd_:\"?\",cnvMsgStart_:\"We assumed you meant \",cnvMsgEnd_:\".\",openEmph_:\" ->\",closeEmph_:\"<- \",openEmphHTML_:'',closeEmphHTML_:\"\",bracesMsg_:\"FYI - annotations (text in curly braces {}) are ignored, except that an annotation without a leading symbol implies the default unit 1 (the unity).\",needMoleWeightMsg_:\"Did you wish to convert between mass and moles? The molecular weight of the substance represented by the units is required to perform the conversion.\",csvCols_:{\"case-sensitive code\":\"csCode_\",\"LOINC property\":\"loincProperty_\",\"name (display)\":\"name_\",synonyms:\"synonyms_\",source:\"source_\",category:\"category_\",Guidance:\"guidance_\"},inputKey_:\"case-sensitive code\",specUnits_:{\"B[10.nV]\":\"specialUnitOne\",\"[m/s2/Hz^(1/2)]\":\"specialUnitTwo\"}}},9460:function(e,t,n){\"use strict\";function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){for(var n=0;n=i.Ucum.dimLen_)throw new Error(\"Parameter error, invalid element number specified for Dimension constructor\");this.assignZero(),this.dimVec_[t]=1}}var t,n;return t=e,(n=[{key:\"setElementAt\",value:function(e,t){if(!a(e)||e<0||e>=i.Ucum.dimLen_)throw new Error(\"Dimension.setElementAt called with an invalid index \"+\"position (\".concat(e,\")\"));this.dimVec_||this.assignZero(),null==t&&(t=1),this.dimVec_[e]=t}},{key:\"getElementAt\",value:function(e){if(!a(e)||e<0||e>=i.Ucum.dimLen_)throw new Error(\"Dimension.getElementAt called with an invalid index \"+\"position (\".concat(e,\")\"));var t=null;return this.dimVec_&&(t=this.dimVec_[e]),t}},{key:\"getProperty\",value:function(e){return this[\"_\"===e.charAt(e.length-1)?e:e+\"_\"]}},{key:\"toString\",value:function(){var e=null;return this.dimVec_&&(e=\"[\"+this.dimVec_.join(\", \")+\"]\"),e}},{key:\"add\",value:function(t){if(!t instanceof e)throw new Error(\"Dimension.add called with an invalid parameter - \"+\"\".concat(r(t),\" instead of a Dimension object\"));if(this.dimVec_&&t.dimVec_)for(var n=0;n mole conversion cannot be executed for two mole-based units. No conversion was attempted.\");if(0===s.moleExp_&&0===c.moleExp_)throw new Error(\"A molecular weight was specified but a mass <-> mole conversion cannot be executed when neither unit is mole-based. No conversion was attempted.\");if(!s.isMoleMassCommensurable(c))throw new Error(\"Sorry. \".concat(e,\" cannot be \")+\"converted to \".concat(n,\".\"));0!==s.moleExp_?i.toVal=s.convertMolToMass(t,c,l):i.toVal=s.convertMassToMol(t,c,l)}else i.toVal=c.convertFrom(t,s);i.status=\"succeeded\",i.fromUnit=s,i.toUnit=c}catch(e){i.status=\"failed\",i.msg.push(e.message)}}catch(e){e.message==o.needMoleWeightMsg_?i.status=\"failed\":i.status=\"error\",i.msg.push(e.message)}return i}},{key:\"checkSynonyms\",value:function(e){var t={};return null==e?(t.status=\"error\",t.msg=\"No term specified for synonym search.\"):t=a.getSynonyms(e),t}},{key:\"getSpecifiedUnit\",value:function(e,t,n){void 0===n&&(n=!1);var r={retMsg:[]};if(e){var l=u.getInstance();e=e.trim();var i=l.getUnitByCode(e);if(i)r.unit=i,r.origString=e;else try{var a=this.uStrParser_.parseString(e,t,n);r.unit=a[0],r.origString=a[1],a[2]&&(r.retMsg=a[2]),r.suggestions=a[3]}catch(t){console.log(\"Unit requested for unit string \".concat(e,\".\")+\"request unsuccessful; error thrown = \"+t.message),r.retMsg.unshift(\"\".concat(e,\" is not a valid unit. \")+\"\".concat(t.message))}}else r.retMsg.push(\"No unit string specified.\");return r}},{key:\"commensurablesList\",value:function(e){var t=[],n=null,r=this.getSpecifiedUnit(e,\"validate\",!1),l=r.unit;if(r.retMsg.length>0&&(t=r.retMsg),l){var i=null,a=l.getProperty(\"dim_\");if(a){try{i=a.getProperty(\"dimVec_\")}catch(e){t.push(e.message),\"Dimension does not have requested property(dimVec_)\"===e.message&&(i=null)}i&&(n=u.getInstance().getUnitsByDimension(i))}else t.push(\"No commensurable units were found for \"+e)}else t.push(\"Could not find unit \".concat(e,\".\"));return[n,t]}}])&&r(t.prototype,n),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.n=f,f.getInstance=function(){return new f}},8973:function(e,t,n){\"use strict\";t.ng=void 0,n(6759).Ucum;var r=n(5845).n;t.ng=r,n(8443).UnitTables},9307:function(e,t,n){\"use strict\";function r(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.isBase_=t.isBase_||!1,this.name_=t.name_||\"\",this.csCode_=t.csCode_||\"\",this.ciCode_=t.ciCode_||\"\",this.property_=t.property_||\"\",this.magnitude_=t.magnitude_||1,void 0===t.dim_||null===t.dim_?this.dim_=new f:void 0!==t.dim_.dimVec_?this.dim_=new f(t.dim_.dimVec_):t.dim_ instanceof f?this.dim_=t.dim_:t.dim_ instanceof Array||m(t.dim_)?this.dim_=new f(t.dim_):this.dim_=new f,this.printSymbol_=t.printSymbol_||null,this.class_=t.class_||null,this.isMetric_=t.isMetric_||!1,this.variable_=t.variable_||null,this.cnv_=t.cnv_||null,this.cnvPfx_=t.cnvPfx_||1,this.isSpecial_=t.isSpecial_||!1,this.isArbitrary_=t.isArbitrary_||!1,this.moleExp_=t.moleExp_||0,this.synonyms_=t.synonyms_||null,this.source_=t.source_||null,this.loincProperty_=t.loincProperty_||null,this.category_=t.category_||null,this.guidance_=t.guidance_||null,this.csUnitString_=t.csUnitString_||null,this.ciUnitString_=t.ciUnitString_||null,this.baseFactorStr_=t.baseFactorStr_||null,this.baseFactor_=t.baseFactor_||null,this.defError_=t.defError_||!1}var t,l;return t=e,(l=[{key:\"assignUnity\",value:function(){return this.name_=\"\",this.magnitude_=1,this.dim_||(this.dim_=new f),this.dim_.assignZero(),this.cnv_=null,this.cnvPfx_=1,this}},{key:\"assignVals\",value:function(e){for(var t in e){var n=\"_\"===!t.charAt(t.length-1)?t+\"_\":t;if(!this.hasOwnProperty(n))throw new Error(\"Parameter error; \".concat(t,\" is not a property of a Unit\"));this[n]=e[t]}}},{key:\"clone\",value:function(){var t=this,n=new e;return Object.getOwnPropertyNames(this).forEach((function(e){\"dim_\"===e?t.dim_?n.dim_=t.dim_.clone():n.dim_=null:n[e]=t[e]})),n}},{key:\"assign\",value:function(e){var t=this;Object.getOwnPropertyNames(e).forEach((function(n){\"dim_\"===n?e.dim_?t.dim_=e.dim_.clone():t.dim_=null:t[n]=e[n]}))}},{key:\"equals\",value:function(e){return this.magnitude_===e.magnitude_&&this.cnv_===e.cnv_&&this.cnvPfx_===e.cnvPfx_&&(null===this.dim_&&null===e.dim_||this.dim_.equals(e.dim_))}},{key:\"fullEquals\",value:function(e){for(var t=Object.keys(this).sort(),n=Object.keys(e).sort(),r=t.length,l=r===n.length,i=0;i0){var t=e.replace(\"/\",\"!\").replace(\".\",\"/\").replace(\"!\",\".\");switch(t.charAt(0)){case\".\":e=t.substr(1);break;case\"/\":e=t;break;default:e=\"/\"+t}}return e}},{key:\"_concatStrs\",value:function(e,t,n,r,l){return this._buildOneString(e,r,l)+t+this._buildOneString(n,r,l)}},{key:\"_buildOneString\",value:function(e,t,n){return s.isNumericString(e)||\"(\"===e.charAt(0)||\"[\"===e.charAt(0)?e:/[./* ]/.test(e)?t+e+n:e}},{key:\"power\",value:function(e){if(null!=this.cnv_)throw new Error(\"Attempt to raise a non-ratio unit, \".concat(this.name_,\", \")+\"to a power.\");for(var t=this.csCode_.match(/([./]|[^./]+)/g),n=t.length,r=0;r=0;s--){var o=parseInt(l[s]);if(!m(o)){if(\"-\"!==l[s]&&\"+\"!==l[s]||s--,s0)l[0]=null,l[1]=null;else{this.retMsg_.length;var i=null;for(i in o.specUnits_)for(;-1!==e.indexOf(i);)e=e.replace(i,o.specUnits_[i]);if(e.indexOf(\" \")>-1)throw new Error(\"Blank spaces are not allowed in unit expressions.\");var s=(l=this._parseTheString(e,r))[0];(a.isIntegerUnit(s)||\"number\"==typeof s)&&(s=new u({csCode_:r,magnitude_:s,name_:r}),l[0]=s)}return l[2]=this.retMsg_,this.suggestions_&&this.suggestions_.length>0&&(l[3]=this.suggestions_),l}},{key:\"_parseTheString\",value:function(e,t){var n=null,r=this.retMsg_.length>0,l=this._processParens(e,t),i=[];if(!(r=l[2])){e=l[0],t=l[1];var s=this._makeUnitsArray(e,t);if(!(r=s[2])){i=s[0],t=s[1];for(var o=i.length,u=0;u=0){var f=this._getParensUnit(c,t);r||(r=f[1]),r||(i[u].un=f[0])}else{var m=this._makeUnit(c,t);null===m[0]?r=!0:(i[u].un=m[0],t=m[1])}}}}return r||null!==i[0]&&\" \"!==i[0]&&void 0!==i[0].un&&null!==i[0].un||0!==this.retMsg_.length||(this.retMsg_.push(\"Unit string (\".concat(t,\") did not contain \")+\"anything that could be used to create a unit, or else something that is not handled yet by this package. Sorry\"),r=!0),r||(n=this._performUnitArithmetic(i,t)),[n,t]}},{key:\"_getAnnotations\",value:function(e){for(var t=e.indexOf(\"{\");t>=0;){var n=e.indexOf(\"}\");if(n<0)this.retMsg_.push(\"Missing closing brace for annotation starting at \"+this.openEmph_+e.substr(t)+this.closeEmph_),t=-1;else{var r=e.substring(t,n+1),l=this.annotations_.length.toString();e=e.replace(r,this.braceFlag_+l+this.braceFlag_),this.annotations_.push(r),t=e.indexOf(\"{\")}}var i=e.indexOf(\"}\");return i>=0&&this.retMsg_.push(\"Missing opening brace for closing brace found at \"+this.openEmph_+e.substring(0,i+1)+this.closeEmph_),e}},{key:\"_processParens\",value:function(e,t){for(var n=[],r=0,l=!1,i=this.parensUnits_.length,a=0;\"\"!==e&&!l;){var s=0,o=0,u=e.indexOf(\"(\");if(u<0){var c=e.indexOf(\")\");if(c>=0){var f=\"Missing open parenthesis for close \"+\"parenthesis at \".concat(e.substring(0,c+a))+\"\".concat(this.openEmph_).concat(e.substr(c,1)).concat(this.closeEmph_);c0&&(n[r++]=e.substr(0,u));for(var h=0,p=u+1;p0&&(i=e.substr(0,l-1));var s=e.lastIndexOf(this.parensFlag_),o=null;s+this.pFlagLen_=0){var m=this._getAnnoText(i,t);if(m[1]||m[2])throw new Error(\"Text found before the parentheses (\"+\"\".concat(i,\") included an annotation along with other text \")+\"for parenthetical unit \".concat(r.csCode_));e+=m[0],this.retMsg_.push(\"The annotation \".concat(m[0],\" before the unit \")+\"code is invalid.\\n\"+this.vcMsgStart_+e+this.vcMsgEnd_)}else this.suggestions_?n=\"succeeded\"!==this._getSuggestions(i):(this.retMsg_.push(\"\".concat(i,\" preceding the unit code \").concat(e,\" \")+\"is invalid. Unable to make a substitution.\"),n=!0);if(o)if(o.indexOf(this.braceFlag_)>=0){var h=this._getAnnoText(o,t);if(h[1]||h[2])throw new Error(\"Text found after the parentheses (\"+\"\".concat(o,\") included an annotation along with other text \")+\"for parenthetical unit \".concat(r.csCode_));e+=h[0]}else a.isNumericString(o)?(e+=o,r=r.power(Number(o)),this.retMsg_.push(\"An exponent (\".concat(o,\") following a parenthesis \")+\"is invalid as of revision 1.9 of the UCUM Specification.\\n \"+this.vcMsgStart_+e+this.vcMsgEnd_)):this.suggestions_?n=\"succeeded\"!==this._getSuggestions(i):(this.retMsg_.push(\"Text \".concat(o,\" following the unit code \").concat(e,\" \")+\"is invalid. Unable to make a substitution.\"),n=!0);return n||(r?a.isIntegerUnit(r)?r=new u({csCode_:r,magnitude_:r,name_:r}):r.csCode_=e:r=new u({csCode_:e,magnitude_:1,name_:e})),[r,n]}},{key:\"_getAnnoText\",value:function(e,t){var n=e.indexOf(this.braceFlag_),r=n>0?e.substring(0,n):null;0!==n&&(e=e.substr(n));var l=e.indexOf(this.braceFlag_,1),i=l+this.bFlagLen_=this.annotations_.length)throw new Error(\"Processing Error - invalid annotation index \".concat(s,\" found \")+\"in \".concat(e,\" that was created from \").concat(t));return[e=this.annotations_[o],r,i]}},{key:\"_getSuggestions\",value:function(e){var t=a.getSynonyms(e);if(\"succeeded\"===t.status){var n={};n.msg=\"\".concat(e,\" is not a valid UCUM code. We found possible \")+\"units that might be what was meant:\",n.invalidUnit=e;var r=t.units.length;n.units=[];for(var l=0;l=0){var r=this._getUnitWithAnnotation(e,t);(n=r[0])&&(t=r[1])}else{if(e.indexOf(\"^\")>-1){var l=e.replace(\"^\",\"*\");(n=this.utabs_.getUnitByCode(l))&&((n=n.clone()).csCode_=n.csCode_.replace(\"*\",\"^\"),n.ciCode_=n.ciCode_.replace(\"*\",\"^\"))}if(!n){var i=\"[\"+e+\"]\";(n=this.utabs_.getUnitByCode(i))&&(n=n.clone(),t=t.replace(e,i),this.retMsg_.push(\"\".concat(e,\" is not a valid unit expression, but \")+\"\".concat(i,\" is.\\n\")+this.vcMsgStart_+\"\".concat(i,\" (\").concat(n.name_,\")\").concat(this.vcMsgEnd_)))}if(!n){var a=this.utabs_.getUnitByName(e);if(a&&a.length>0){for(var s=\"The UCUM code for \"+e+\" is \"+(n=a[0].clone()).csCode_+\".\\n\"+this.vcMsgStart_+n.csCode_+this.vcMsgEnd_,u=!1,c=0;c\"+I+\"\",csCode_:M+I,ciCode_:U+I,printSymbol_:O+\"\"+I+\"\"})}}else n=null,this.suggestions_?this._getSuggestions(p):this.retMsg_.push(\"\".concat(p,\" is not a valid UCUM code.\"))}}return[n,t]}},{key:\"_getUnitWithAnnotation\",value:function(e,t){var n=null,l=this._getAnnoText(e,t),i=l[0],s=l[1],o=l[2];this.bracesMsg_&&-1===this.retMsg_.indexOf(this.bracesMsg_)&&this.retMsg_.push(this.bracesMsg_);var u,c,f=this.retMsg_.length;if(s||o)if(s&&!o)if(a.isIntegerUnit(s))n=s;else{var m=this._makeUnit(s,t);m[0]?((n=m[0]).csCode_+=i,t=m[1]):this.retMsg_.push(\"Unable to find a unit for \".concat(s,\" that \")+\"precedes the annotation \".concat(i,\".\"))}else if(!s&&o)if(a.isIntegerUnit(o))n=o+i,this.retMsg_.push(\"The annotation \".concat(i,\" before the \")(r||(u=[\"\",\" is invalid.\\n\"],(c=[\"\",\" is invalid.\\\\n\"])||(c=u.slice(0)),r=Object.freeze(Object.defineProperties(u,{raw:{value:Object.freeze(c)}}))),o)+this.vcMsgStart_+n+this.vcMsgEnd_);else{var h=this._makeUnit(o,t);h[0]?((n=h[0]).csCode_+=i,t=n.csCode_,this.retMsg_.push(\"The annotation \".concat(i,\" before the unit \")+\"code is invalid.\\n\"+this.vcMsgStart_+n.csCode_+this.vcMsgEnd_)):this.retMsg_.push(\"Unable to find a unit for \".concat(s,\" that \")+\"follows the annotation \".concat(i,\".\"))}else this.retMsg_.push(\"Unable to find a unit for \".concat(s).concat(i)+\"\".concat(o,\".\\nWe are not sure how to interpret text both before \")+\"and after the annotation. Sorry\");else{var p=\"[\"+i.substring(1,i.length-1)+\"]\",d=this._makeUnit(p,t);d[0]?(n=d[0],t=t.replace(i,p),this.retMsg_.push(\"\".concat(i,\" is not a valid unit expression, but \")+\"\".concat(p,\" is.\\n\")+this.vcMsgStart_+\"\".concat(p,\" (\").concat(n.name_,\")\").concat(this.vcMsgEnd_))):(this.retMsg_.length>f&&this.retMsg_.pop(),e=1,n=1)}return[n,t]}},{key:\"_performUnitArithmetic\",value:function(e,t){var n=e[0].un;a.isIntegerUnit(n)&&(n=new u({csCode_:n,magnitude_:Number(n),name_:n}));for(var r=e.length,l=!1,i=1;i=1&&(n=e.substr(t+i.codeSep_.length),e=e.substr(0,t));var r=this.unitNames_[e];if(r){var l=r.length;if(n&&l>1){for(var a=0;r[a].csCode_!==n&&a0&&(n+=t),\"dim_\"===e[c])null!==u.dim_&&void 0!==u.dim_&&u.dim_.dimVec_ instanceof Array?n+=\"[\"+u.dim_.dimVec_.join(\",\")+\"]\":n+=\"\";else{var f=u[e[c]];n+=\"string\"==typeof f?f.replace(/[\\n\\r]/g,\" \"):f}n+=\"\\r\\n\"}return n}},{key:\"printUnits\",value:function(e,t){void 0===e&&(e=!1),void 0===t&&(t=\"|\");var n=\"\",r=this.codeOrder_.length,l=\"csCode\"+t;e&&(l+=\"ciCode\"+t),l+=\"name\"+t,e&&(l+=\"isBase\"+t),l+=\"magnitude\"+t+\"dimension\"+t+\"from unit(s)\"+t+\"value\"+t+\"function\"+t,e&&(l+=\"property\"+t+\"printSymbol\"+t+\"synonyms\"+t+\"source\"+t+\"class\"+t+\"isMetric\"+t+\"variable\"+t+\"isSpecial\"+t+\"isAbitrary\"+t),n=(l+=\"comment\")+\"\\n\";for(var i=0;i=0&&(this.fetchedEOF?this.index0)||this.fetch(t)>=t}},{key:\"fetch\",value:function(e){if(this.fetchedEOF)return 0;for(var t=0;t=this.tokens.length&&(t=this.tokens.length-1);for(var l=e;l=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[t]}},{key:\"adjustSeekIndex\",value:function(e){return e}},{key:\"lazyInit\",value:function(){-1===this.index&&this.setup()}},{key:\"setup\",value:function(){this.sync(0),this.index=this.adjustSeekIndex(0)}},{key:\"setTokenSource\",value:function(e){this.tokenSource=e,this.tokens=[],this.index=-1,this.fetchedEOF=!1}},{key:\"nextTokenOnChannel\",value:function(e,t){if(this.sync(e),e>=this.tokens.length)return-1;for(var n=this.tokens[e];n.channel!==this.channel;){if(n.type===u.EOF)return-1;e+=1,this.sync(e),n=this.tokens[e]}return e}},{key:\"previousTokenOnChannel\",value:function(e,t){for(;e>=0&&this.tokens[e].channel!==t;)e-=1;return e}},{key:\"getHiddenTokensToRight\",value:function(e,t){if(void 0===t&&(t=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw e+\" not in 0..\"+this.tokens.length-1;var n=this.nextTokenOnChannel(e+1,c.DEFAULT_TOKEN_CHANNEL),r=e+1,l=-1===n?this.tokens.length-1:n;return this.filterForChannel(r,l,t)}},{key:\"getHiddenTokensToLeft\",value:function(e,t){if(void 0===t&&(t=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw e+\" not in 0..\"+this.tokens.length-1;var n=this.previousTokenOnChannel(e-1,c.DEFAULT_TOKEN_CHANNEL);if(n===e-1)return null;var r=n+1,l=e-1;return this.filterForChannel(r,l,t)}},{key:\"filterForChannel\",value:function(e,t,n){for(var r=[],l=e;l=this.tokens.length&&(n=this.tokens.length-1);for(var r=\"\",l=t;l\",this.strdata=t,this.decodeToUnicodeCodePoints=n||!1,this._index=0,this.data=[],this.decodeToUnicodeCodePoints)for(var r=0;r=this._size)throw\"cannot consume EOF\";this._index+=1}},{key:\"LA\",value:function(e){if(0===e)return 0;e<0&&(e+=1);var t=this._index+e-1;return t<0||t>=this._size?i.EOF:this.data[t]}},{key:\"LT\",value:function(e){return this.LA(e)}},{key:\"mark\",value:function(){return-1}},{key:\"release\",value:function(e){}},{key:\"seek\",value:function(e){e<=this._index?this._index=e:this._index=Math.min(e,this._size)}},{key:\"getText\",value:function(e,t){if(t>=this._size&&(t=this._size-1),e>=this._size)return\"\";if(this.decodeToUnicodeCodePoints){for(var n=\"\",r=e;r<=t;r++)n+=String.fromCodePoint(this.data[r]);return n}return this.strdata.slice(e,t+1)}},{key:\"toString\",value:function(){return this.strdata}},{key:\"index\",get:function(){return this._index}},{key:\"size\",get:function(){return this._size}}])&&l(t.prototype,n),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();e.exports=a},5062:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){for(var n=0;n=this.start&&e=n.stop?(this.intervals.splice(e+1,1),this.reduce(e)):t.stop>=n.start&&(this.intervals[e]=new o(t.start,n.stop),this.intervals.splice(e+1,1))}}},{key:\"complement\",value:function(t,n){var r=new e;return r.addInterval(new o(t,n+1)),null!==this.intervals&&this.intervals.forEach((function(e){return r.removeRange(e)})),r}},{key:\"contains\",value:function(e){if(null===this.intervals)return!1;for(var t=0;tr.start&&e.stop=r.stop?(this.intervals.splice(t,1),t-=1):e.start\"):e.push(\"'\"+String.fromCharCode(n.start)+\"'\"):e.push(\"'\"+String.fromCharCode(n.start)+\"'..'\"+String.fromCharCode(n.stop-1)+\"'\")}return e.length>1?\"{\"+e.join(\", \")+\"}\":e[0]}},{key:\"toIndexString\",value:function(){for(var e=[],t=0;t\"):e.push(n.start.toString()):e.push(n.start.toString()+\"..\"+(n.stop-1).toString())}return e.length>1?\"{\"+e.join(\", \")+\"}\":e[0]}},{key:\"toTokenString\",value:function(e,t){for(var n=[],r=0;r1?\"{\"+n.join(\", \")+\"}\":n[0]}},{key:\"elementName\",value:function(e,t,n){return n===s.EOF?\"\":n===s.EPSILON?\"\":e[n]||t[n]}},{key:\"length\",get:function(){return this.intervals.map((function(e){return e.length})).reduce((function(e,t){return e+t}))}}]),e}();e.exports={Interval:o,IntervalSet:u}},2894:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){for(var n=0;n\":\"\\n\"===e?\"\\\\n\":\"\\t\"===e?\"\\\\t\":\"\\r\"===e?\"\\\\r\":e}},{key:\"getCharErrorDisplay\",value:function(e){return\"'\"+this.getErrorDisplayForChar(e)+\"'\"}},{key:\"recover\",value:function(e){this._input.LA(1)!==o.EOF&&(e instanceof m?this._interp.consume(this._input):this._input.consume())}},{key:\"inputStream\",get:function(){return this._input},set:function(e){this._input=null,this._tokenFactorySourcePair=[this,this._input],this.reset(),this._input=e,this._tokenFactorySourcePair=[this,this._input]}},{key:\"sourceName\",get:function(){return this._input.sourceName}},{key:\"type\",get:function(){return this._type},set:function(e){this._type=e}},{key:\"line\",get:function(){return this._interp.line},set:function(e){this._interp.line=e}},{key:\"column\",get:function(){return this._interp.column},set:function(e){this._interp.column=e}},{key:\"text\",get:function(){return null!==this._text?this._text:this._interp.getText(this._input)},set:function(e){this._text=e}}])&&s(u.prototype,h),p&&s(u,p),Object.defineProperty(u,\"prototype\",{writable:!1}),y}(u);h.DEFAULT_MODE=0,h.MORE=-2,h.SKIP=-3,h.DEFAULT_TOKEN_CHANNEL=o.DEFAULT_CHANNEL,h.HIDDEN=o.HIDDEN_CHANNEL,h.MIN_CHAR_VALUE=0,h.MAX_CHAR_VALUE=1114111,e.exports=h},4680:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){for(var n=0;n0?(this._errHandler.reportMatch(this),this.consume()):(e=this._errHandler.recoverInline(this),this._buildParseTrees&&-1===e.tokenIndex&&this._ctx.addErrorNode(e)),e}},{key:\"getParseListeners\",value:function(){return this._parseListeners||[]}},{key:\"addParseListener\",value:function(e){if(null===e)throw\"listener\";null===this._parseListeners&&(this._parseListeners=[]),this._parseListeners.push(e)}},{key:\"removeParseListener\",value:function(e){if(null!==this._parseListeners){var t=this._parseListeners.indexOf(e);t>=0&&this._parseListeners.splice(t,1),0===this._parseListeners.length&&(this._parseListeners=null)}}},{key:\"removeParseListeners\",value:function(){this._parseListeners=null}},{key:\"triggerEnterRuleEvent\",value:function(){if(null!==this._parseListeners){var e=this._ctx;this._parseListeners.forEach((function(t){t.enterEveryRule(e),e.enterRule(t)}))}}},{key:\"triggerExitRuleEvent\",value:function(){if(null!==this._parseListeners){var e=this._ctx;this._parseListeners.slice(0).reverse().forEach((function(t){e.exitRule(t),t.exitEveryRule(e)}))}}},{key:\"getTokenFactory\",value:function(){return this._input.tokenSource._factory}},{key:\"setTokenFactory\",value:function(e){this._input.tokenSource._factory=e}},{key:\"getATNWithBypassAlts\",value:function(){var e=this.getSerializedATN();if(null===e)throw\"The current parser does not support an ATN with bypass alternatives.\";var t=this.bypassAltsAtnCache[e];if(null===t){var n=new b;n.generateRuleBypassTransitions=!0,t=new v(n).deserialize(e),this.bypassAltsAtnCache[e]=t}return t}},{key:\"compileParseTreePattern\",value:function(e,t,n){if(null===(n=n||null)&&null!==this.getTokenStream()){var r=this.getTokenStream().tokenSource;r instanceof _&&(n=r)}if(null===n)throw\"Parser can't discover a lexer to use\";return new ParseTreePatternMatcher(n,this).compile(e,t)}},{key:\"getInputStream\",value:function(){return this.getTokenStream()}},{key:\"setInputStream\",value:function(e){this.setTokenStream(e)}},{key:\"getTokenStream\",value:function(){return this._input}},{key:\"setTokenStream\",value:function(e){this._input=null,this.reset(),this._input=e}},{key:\"getCurrentToken\",value:function(){return this._input.LT(1)}},{key:\"notifyErrorListeners\",value:function(e,t,n){n=n||null,null===(t=t||null)&&(t=this.getCurrentToken()),this._syntaxErrors+=1;var r=t.line,l=t.column;this.getErrorListenerDispatch().syntaxError(this,t,r,l,e,n)}},{key:\"consume\",value:function(){var e=this.getCurrentToken();e.type!==f.EOF&&this.getInputStream().consume();var t,n=null!==this._parseListeners&&this._parseListeners.length>0;return(this.buildParseTrees||n)&&((t=this._errHandler.inErrorRecoveryMode(this)?this._ctx.addErrorNode(e):this._ctx.addTokenNode(e)).invokingState=this.state,n&&this._parseListeners.forEach((function(e){t instanceof d||void 0!==t.isErrorNode&&t.isErrorNode()?e.visitErrorNode(t):t instanceof p&&e.visitTerminal(t)}))),e}},{key:\"addContextToParseTree\",value:function(){null!==this._ctx.parentCtx&&this._ctx.parentCtx.addChild(this._ctx)}},{key:\"enterRule\",value:function(e,t,n){this.state=t,this._ctx=e,this._ctx.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}},{key:\"exitRule\",value:function(){this._ctx.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this._ctx.invokingState,this._ctx=this._ctx.parentCtx}},{key:\"enterOuterAlt\",value:function(e,t){e.setAltNumber(t),this.buildParseTrees&&this._ctx!==e&&null!==this._ctx.parentCtx&&(this._ctx.parentCtx.removeLastChild(),this._ctx.parentCtx.addChild(e)),this._ctx=e}},{key:\"getPrecedence\",value:function(){return 0===this._precedenceStack.length?-1:this._precedenceStack[this._precedenceStack.length-1]}},{key:\"enterRecursionRule\",value:function(e,t,n,r){this.state=t,this._precedenceStack.push(r),this._ctx=e,this._ctx.start=this._input.LT(1),this.triggerEnterRuleEvent()}},{key:\"pushNewRecursionContext\",value:function(e,t,n){var r=this._ctx;r.parentCtx=e,r.invokingState=t,r.stop=this._input.LT(-1),this._ctx=e,this._ctx.start=r.start,this.buildParseTrees&&this._ctx.addChild(r),this.triggerEnterRuleEvent()}},{key:\"unrollRecursionContexts\",value:function(e){this._precedenceStack.pop(),this._ctx.stop=this._input.LT(-1);var t=this._ctx,n=this.getParseListeners();if(null!==n&&n.length>0)for(;this._ctx!==e;)this.triggerExitRuleEvent(),this._ctx=this._ctx.parentCtx;else this._ctx=e;t.parentCtx=e,this.buildParseTrees&&null!==e&&e.addChild(t)}},{key:\"getInvokingContext\",value:function(e){for(var t=this._ctx;null!==t;){if(t.ruleIndex===e)return t;t=t.parentCtx}return null}},{key:\"precpred\",value:function(e,t){return t>=this._precedenceStack[this._precedenceStack.length-1]}},{key:\"inContext\",value:function(e){return!1}},{key:\"isExpectedToken\",value:function(e){var t=this._interp.atn,n=this._ctx,r=t.states[this.state],l=t.nextTokens(r);if(l.contains(e))return!0;if(!l.contains(f.EPSILON))return!1;for(;null!==n&&n.invokingState>=0&&l.contains(f.EPSILON);){var i=t.states[n.invokingState].transitions[0];if((l=t.nextTokens(i.followState)).contains(e))return!0;n=n.parentCtx}return!(!l.contains(f.EPSILON)||e!==f.EOF)}},{key:\"getExpectedTokens\",value:function(){return this._interp.atn.getExpectedTokens(this.state,this._ctx)}},{key:\"getExpectedTokensWithinCurrentRule\",value:function(){var e=this._interp.atn,t=e.states[this.state];return e.nextTokens(t)}},{key:\"getRuleIndex\",value:function(e){var t=this.getRuleIndexMap()[e];return null!==t?t:-1}},{key:\"getRuleInvocationStack\",value:function(e){null===(e=e||null)&&(e=this._ctx);for(var t=[];null!==e;){var n=e.ruleIndex;n<0?t.push(\"n/a\"):t.push(this.ruleNames[n]),e=e.parentCtx}return t}},{key:\"getDFAStrings\",value:function(){return this._interp.decisionToDFA.toString()}},{key:\"dumpDFA\",value:function(){for(var e=!1,t=0;t0&&(e&&console.log(),this.printer.println(\"Decision \"+n.decision+\":\"),this.printer.print(n.toString(this.literalNames,this.symbolicNames)),e=!0)}}},{key:\"getSourceName\",value:function(){return this._input.sourceName}},{key:\"setTrace\",value:function(e){e?(null!==this._tracer&&this.removeParseListener(this._tracer),this._tracer=new C(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}}]),n}(y);L.bypassAltsAtnCache={},e.exports=L},788:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){for(var n=0;n=this.children.length)return null;if(null===t)return this.children[e];for(var n=0;n=this.children.length)return null;for(var n=0;n0&&(e+=\", \"),this.returnStates[t]!==v.EMPTY_RETURN_STATE?(e+=this.returnStates[t],null!==this.parents[t]?e=e+\" \"+this.parents[t]:e+=\"null\"):e+=\"$\";return e+\"]\"}},{key:\"length\",get:function(){return this.returnStates.length}}]),n}(v);e.exports={merge:function e(t,n,r,l){if(t===n)return t;if(t instanceof _&&n instanceof _)return function(t,n,r,l){if(null!==l){var i=l.get(t,n);if(null!==i)return i;if(null!==(i=l.get(n,t)))return i}var a=function(e,t,n){if(n){if(e===v.EMPTY)return v.EMPTY;if(t===v.EMPTY)return v.EMPTY}else{if(e===v.EMPTY&&t===v.EMPTY)return v.EMPTY;if(e===v.EMPTY){var r=[t.returnState,v.EMPTY_RETURN_STATE],l=[t.parentCtx,null];return new L(l,r)}if(t===v.EMPTY){var i=[e.returnState,v.EMPTY_RETURN_STATE],a=[e.parentCtx,null];return new L(a,i)}}return null}(t,n,r);if(null!==a)return null!==l&&l.set(t,n,a),a;if(t.returnState===n.returnState){var s=e(t.parentCtx,n.parentCtx,r,l);if(s===t.parentCtx)return t;if(s===n.parentCtx)return n;var o=_.create(s,t.returnState);return null!==l&&l.set(t,n,o),o}var u=null;if((t===n||null!==t.parentCtx&&t.parentCtx===n.parentCtx)&&(u=t.parentCtx),null!==u){var c=[t.returnState,n.returnState];t.returnState>n.returnState&&(c[0]=n.returnState,c[1]=t.returnState);var f=new L([u,u],c);return null!==l&&l.set(t,n,f),f}var m=[t.returnState,n.returnState],h=[t.parentCtx,n.parentCtx];t.returnState>n.returnState&&(m[0]=n.returnState,m[1]=t.returnState,h=[n.parentCtx,t.parentCtx]);var p=new L(h,m);return null!==l&&l.set(t,n,p),p}(t,n,r,l);if(r){if(t instanceof C)return t;if(n instanceof C)return n}return t instanceof _&&(t=new L([t.getParent()],[t.returnState])),n instanceof _&&(n=new L([n.getParent()],[n.returnState])),function(t,n,r,l){if(null!==l){var i=l.get(t,n);if(null!==i)return i;if(null!==(i=l.get(n,t)))return i}for(var a=0,s=0,o=0,u=[],c=[];at.length?e.length:t.length;this.tokenNames=[];for(var r=0;r\";var t=e.text;return null===t&&(t=e.type===i.EOF?\"\":\"<\"+e.type+\">\"),\"'\"+(t=t.replace(\"\\n\",\"\\\\n\").replace(\"\\r\",\"\\\\r\").replace(\"\\t\",\"\\\\t\"))+\"'\"}},{key:\"getErrorListenerDispatch\",value:function(){return new s(this._listeners)}},{key:\"sempred\",value:function(e,t,n){return!0}},{key:\"precpred\",value:function(e,t){return!0}},{key:\"state\",get:function(){return this._stateNumber},set:function(e){this._stateNumber=e}}])&&l(t.prototype,n),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();o.tokenTypeMapCache={},o.ruleIndexMapCache={},e.exports=o},3680:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){for(var n=0;n=0&&l\",\"[@\"+this.tokenIndex+\",\"+this.start+\":\"+this.stop+\"='\"+e+\"',<\"+this.type+\">\"+(this.channel>0?\",channel=\"+this.channel:\"\")+\",\"+this.line+\":\"+this.column+\"]\"}},{key:\"text\",get:function(){if(null!==this._text)return this._text;var e=this.getInputStream();if(null===e)return null;var t=e.size;return this.start\"},set:function(e){this._text=e}}]),c}(s);o.EMPTY_SOURCE=[null,null],e.exports={Token:s,CommonToken:o}},7090:function(e){function t(e){return t=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},t(e)}function n(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function r(e,n){for(var r=0;r>>16)*a&65535)<<16)&4294967295)<<15|t>>>17))*s+(((t>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(e>>>16)&65535)<<16);switch(t=0,r){case 3:t^=(255&n.charCodeAt(o+2))<<16;case 2:t^=(255&n.charCodeAt(o+1))<<8;case 1:i^=t=(65535&(t=(t=(65535&(t^=255&n.charCodeAt(o)))*a+(((t>>>16)*a&65535)<<16)&4294967295)<<15|t>>>17))*s+(((t>>>16)*s&65535)<<16)&4294967295}return i^=n.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0};var u=function(){function e(t,r){n(this,e),this.data={},this.hashFunction=t||o,this.equalsFunction=r||s}return l(e,[{key:\"add\",value:function(e){var t=\"hash_\"+this.hashFunction(e);if(t in this.data){for(var n=this.data[t],r=0;r>>17,r*=461845907,this.count=this.count+1;var l=this.hash^r;l=5*(l=l<<13|l>>>19)+3864292196,this.hash=l}}}},{key:\"finish\",value:function(){var e=this.hash^4*this.count;return e^=e>>>16,e*=2246822507,e^=e>>>13,(e*=3266489909)^e>>>16}}]),e}();e.exports={Hash:p,Set:u,Map:f,BitSet:c,AltDict:m,DoubleDict:h,hashStuff:function(){var e=new p;return e.update.apply(e,arguments),e.finish()},escapeWhitespace:function(e,t){return e=e.replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\"),t&&(e=e.replace(/ /g,\"·\")),e},arrayToString:a,titleCase:function(e){return e.replace(/\\w\\S*/g,(function(e){return e.charAt(0).toUpperCase()+e.substr(1)}))},equalArrays:function(e,t){if(!Array.isArray(e)||!Array.isArray(t))return!1;if(e===t)return!0;if(e.length!==t.length)return!1;for(var n=0;n=this.states.length)throw\"Invalid state number.\";var n=this.states[e],r=this.nextTokens(n);if(!r.contains(s.EPSILON))return r;var l=new a;for(l.addSet(r),l.removeOne(s.EPSILON);null!==t&&t.invokingState>=0&&r.contains(s.EPSILON);){var i=this.states[t.invokingState].transitions[0];r=this.nextTokens(i.followState),l.addSet(r),l.removeOne(s.EPSILON),t=t.parentCtx}return r.contains(s.EPSILON)&&l.addOne(s.EOF),l}}])&&l(t.prototype,n),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();o.INVALID_ALT_NUMBER=0,e.exports=o},4769:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(){return l=\"undefined\"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=o(e)););return e}(e,t);if(r){var l=Object.getOwnPropertyDescriptor(r,t);return l.get?l.get.call(arguments.length<3?e:n):l.value}},l.apply(this,arguments)}function i(e,t){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},i(e,t)}function a(e,t){if(t&&(\"object\"===r(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return s(e)}function s(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}function u(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function c(e,t){for(var n=0;n0?\",up=\"+this.reachesIntoOuterContext:\"\")+\")\"}}]),e}(),g=function(e){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&i(e,t)}(c,e);var t,n,r=(t=c,n=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=o(t);if(n){var l=o(this).constructor;e=Reflect.construct(r,arguments,l)}else e=r.apply(this,arguments);return a(this,e)});function c(e,t){var n;u(this,c),n=r.call(this,e,t);var l=e.lexerActionExecutor||null;return n.lexerActionExecutor=l||(null!==t?t.lexerActionExecutor:null),n.passedThroughNonGreedyDecision=null!==t&&n.checkNonGreedyDecision(t,n.state),n.hashCodeForConfigSet=c.prototype.hashCode,n.equalsForConfigSet=c.prototype.equals,a(n,s(n))}return f(c,[{key:\"updateHashCode\",value:function(e){e.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}},{key:\"equals\",value:function(e){return this===e||e instanceof c&&this.passedThroughNonGreedyDecision===e.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(e.lexerActionExecutor):!e.lexerActionExecutor)&&l(o(c.prototype),\"equals\",this).call(this,e)}},{key:\"checkNonGreedyDecision\",value:function(e,t){return e.passedThroughNonGreedyDecision||t instanceof m&&t.nonGreedy}}]),c}(y);e.exports.ATNConfig=y,e.exports.LexerATNConfig=g},5327:function(e,t,n){function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function l(e){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},l(e)}function i(e){return i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},i(e)}function a(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function s(e,t){for(var n=0;n0&&(this.dipsIntoOuterContext=!0);var n=this.configLookup.add(e);if(n===e)return this.cachedHashCode=-1,this.configs.push(e),!0;var r=!this.fullCtx,l=m(n.context,e.context,r,t);return n.reachesIntoOuterContext=Math.max(n.reachesIntoOuterContext,e.reachesIntoOuterContext),e.precedenceFilterSuppressed&&(n.precedenceFilterSuppressed=!0),n.context=l,!0}},{key:\"getStates\",value:function(){for(var e=new c.Set,t=0;t=n}},{key:\"deserialize\",value:function(e){this.reset(e),this.checkVersion(),this.checkUUID();var t=this.readATN();this.readStates(t),this.readRules(t),this.readModes(t);var n=[];return this.readSets(t,n,this.readInt.bind(this)),this.isFeatureSupported(J,this.uuid)&&this.readSets(t,n,this.readInt32.bind(this)),this.readEdges(t,n),this.readDecisions(t),this.readLexerActions(t),this.markPrecedenceDecisions(t),this.verifyATN(t),this.deserializationOptions.generateRuleBypassTransitions&&t.grammarType===s.PARSER&&(this.generateRuleBypassTransitions(t),this.verifyATN(t)),t}},{key:\"reset\",value:function(e){var t=e.split(\"\").map((function(e){var t=e.charCodeAt(0);return t>1?t-2:t+65534}));t[0]=e.charCodeAt(0),this.data=t,this.pos=0}},{key:\"checkVersion\",value:function(){var e=this.readInt();if(3!==e)throw\"Could not deserialize ATN with version \"+e+\" (expected 3).\"}},{key:\"checkUUID\",value:function(){var e=this.readUUID();if(Y.indexOf(e)<0)throw Q;this.uuid=e}},{key:\"readATN\",value:function(){var e=this.readInt(),t=this.readInt();return new a(e,t)}},{key:\"readStates\",value:function(e){for(var t,n,r,l=[],i=[],a=this.readInt(),s=0;s0;)l.addTransition(f.transitions[m-1]),f.transitions=f.transitions.slice(-1);e.ruleToStartState[t].addTransition(new w(l)),i.addTransition(new w(s));var p=new c;e.addState(p),p.addTransition(new U(i,e.ruleToTokenType[t])),l.addTransition(new w(p))}},{key:\"stateIsEndStateFor\",value:function(e,t){if(e.ruleIndex!==t)return null;if(!(e instanceof _))return null;var n=e.transitions[e.transitions.length-1].target;return n instanceof p&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof y?e:null}},{key:\"markPrecedenceDecisions\",value:function(e){for(var t=0;t=0):this.checkCondition(n.transitions.length<=1||n instanceof y)}}},{key:\"checkCondition\",value:function(e,t){if(!e)throw null==t&&(t=\"IllegalState\"),t}},{key:\"readInt\",value:function(){return this.data[this.pos++]}},{key:\"readInt32\",value:function(){return this.readInt()|this.readInt()<<16}},{key:\"readLong\",value:function(){return 4294967295&this.readInt32()|this.readInt32()<<32}},{key:\"readUUID\",value:function(){for(var e=[],t=7;t>=0;t--){var n=this.readInt();e[2*t+1]=255&n,e[2*t]=n>>8&255}return Z[e[0]]+Z[e[1]]+Z[e[2]]+Z[e[3]]+\"-\"+Z[e[4]]+Z[e[5]]+\"-\"+Z[e[6]]+Z[e[7]]+\"-\"+Z[e[8]]+Z[e[9]]+\"-\"+Z[e[10]]+Z[e[11]]+Z[e[12]]+Z[e[13]]+Z[e[14]]+Z[e[15]]}},{key:\"edgeFactory\",value:function(e,t,n,r,l,a,s,o){var u=e.states[r];switch(t){case T.EPSILON:return new w(u);case T.RANGE:return new I(u,0!==s?i.EOF:l,a);case T.RULE:return new M(e.states[l],a,s,u);case T.PREDICATE:return new P(u,l,a,0!==s);case T.PRECEDENCE:return new R(u,l);case T.ATOM:return new U(u,0!==s?i.EOF:l);case T.ACTION:return new E(u,l,a,0!==s);case T.SET:return new O(u,o[l]);case T.NOT_SET:return new x(u,o[l]);case T.WILDCARD:return new N(u);default:throw\"The specified transition type: \"+t+\" is not valid.\"}}},{key:\"stateFactory\",value:function(e,t){if(null===this.stateFactories){var n=[];n[u.INVALID_TYPE]=null,n[u.BASIC]=function(){return new c},n[u.RULE_START]=function(){return new d},n[u.BLOCK_START]=function(){return new k},n[u.PLUS_BLOCK_START]=function(){return new C},n[u.STAR_BLOCK_START]=function(){return new L},n[u.TOKEN_START]=function(){return new g},n[u.RULE_STOP]=function(){return new y},n[u.BLOCK_END]=function(){return new h},n[u.STAR_LOOP_BACK]=function(){return new b},n[u.STAR_LOOP_ENTRY]=function(){return new _},n[u.PLUS_LOOP_BACK]=function(){return new v},n[u.LOOP_END]=function(){return new p},this.stateFactories=n}if(e>this.stateFactories.length||null===this.stateFactories[e])throw\"The specified state type \"+e+\" is not valid.\";var r=this.stateFactories[e]();if(null!==r)return r.ruleIndex=t,r}},{key:\"lexerActionFactory\",value:function(e,t,n){if(null===this.actionFactories){var r=[];r[q.CHANNEL]=function(e,t){return new B(e)},r[q.CUSTOM]=function(e,t){return new H(e,t)},r[q.MODE]=function(e,t){return new W(e)},r[q.MORE]=function(e,t){return z.INSTANCE},r[q.POP_MODE]=function(e,t){return K.INSTANCE},r[q.PUSH_MODE]=function(e,t){return new V(e)},r[q.SKIP]=function(e,t){return j.INSTANCE},r[q.TYPE]=function(e,t){return new G(e)},this.actionFactories=r}if(e>this.actionFactories.length||null===this.actionFactories[e])throw\"The specified lexer action type \"+e+\" is not valid.\";return this.actionFactories[e](t,n)}}])&&l(t.prototype,n),Object.defineProperty(t,\"prototype\",{writable:!1}),e}(),Z=function(){for(var e=[],t=0;t<256;t++)e[t]=(t+256).toString(16).substr(1).toUpperCase();return e}();e.exports=X},1047:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){for(var n=0;nL.MAX_DFA_EDGE)return null;var n=e.edges[t-L.MIN_DFA_EDGE];return void 0===n&&(n=null),L.debug&&null!==n&&console.log(\"reuse state \"+e.stateNumber+\" edge to \"+n.stateNumber),n}},{key:\"computeTargetState\",value:function(e,t,n){var r=new p;return this.getReachableConfigSet(e,t.configs,r,n),0===r.items.length?(r.hasSemanticContext||this.addDFAEdge(t,n,m.ERROR),m.ERROR):this.addDFAEdge(t,n,null,r)}},{key:\"failOrAccept\",value:function(e,t,n,r){if(null!==this.prevAccept.dfaState){var l=e.dfaState.lexerActionExecutor;return this.accept(t,l,this.startIndex,e.index,e.line,e.column),e.dfaState.prediction}if(r===u.EOF&&t.index===this.startIndex)return u.EOF;throw new C(this.recog,t,this.startIndex,n)}},{key:\"getReachableConfigSet\",value:function(e,t,n,r){for(var l=f.INVALID_ALT_NUMBER,i=0;iL.MAX_DFA_EDGE||(L.debug&&console.log(\"EDGE \"+e+\" -> \"+n+\" upon \"+t),null===e.edges&&(e.edges=[]),e.edges[t-L.MIN_DFA_EDGE]=n),n}},{key:\"addDFAState\",value:function(e){for(var t=new h(null,e),n=null,r=0;r0&&(i=this.getAltThatFinishedDecisionEntryRule(l))!==f.INVALID_ALT_NUMBER?i:f.INVALID_ALT_NUMBER}},{key:\"getAltThatFinishedDecisionEntryRule\",value:function(e){for(var t=[],n=0;n0||r.state instanceof p&&r.context.hasEmptyPath())&&t.indexOf(r.alt)<0&&t.push(r.alt)}return 0===t.length?f.INVALID_ALT_NUMBER:Math.min.apply(null,t)}},{key:\"splitAccordingToSemanticValidity\",value:function(e,t){for(var n=new y(e.fullCtx),r=new y(e.fullCtx),l=0;l50))throw\"problem\";if(e.state instanceof p){if(!e.context.isEmpty()){for(var s=0;s=0&&(m+=1)}this.closureCheckingStopState(f,t,n,c,l,m,a)}}}},{key:\"canDropLoopEntryEdgeInLeftRecursiveRule\",value:function(e){var t=e.state;if(t.stateType!==h.STAR_LOOP_ENTRY)return!1;if(t.stateType!==h.STAR_LOOP_ENTRY||!t.isPrecedenceDecision||e.context.isEmpty()||e.context.hasEmptyPath())return!1;for(var n=e.context.length,r=0;r=0?this.parser.ruleNames[e]:\"\"}},{key:\"getEpsilonTarget\",value:function(e,t,n,r,l,i){switch(t.serializationType){case x.RULE:return this.ruleTransition(e,t);case x.PRECEDENCE:return this.precedenceTransition(e,t,n,r,l);case x.PREDICATE:return this.predTransition(e,t,n,r,l);case x.ACTION:return this.actionTransition(e,t);case x.EPSILON:return new d({state:t.target},e);case x.ATOM:case x.RANGE:case x.SET:return i&&t.matches(g.EOF,0,1)?new d({state:t.target},e):null;default:return null}}},{key:\"actionTransition\",value:function(e,t){if(this.debug){var n=-1===t.actionIndex?65535:t.actionIndex;console.log(\"ACTION edge \"+t.ruleIndex+\":\"+n)}return new d({state:t.target},e)}},{key:\"precedenceTransition\",value:function(e,t,n,r,l){this.debug&&(console.log(\"PRED (collectPredicates=\"+n+\") \"+t.precedence+\">=_p, ctx dependent=true\"),null!==this.parser&&console.log(\"context surrounding pred is \"+s.arrayToString(this.parser.getRuleInvocationStack())));var i=null;if(n&&r)if(l){var a=this._input.index;this._input.seek(this._startIndex);var o=t.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(a),o&&(i=new d({state:t.target},e))}else{var u=S.andContext(e.semanticContext,t.getPredicate());i=new d({state:t.target,semanticContext:u},e)}else i=new d({state:t.target},e);return this.debug&&console.log(\"config from pred transition=\"+i),i}},{key:\"predTransition\",value:function(e,t,n,r,l){this.debug&&(console.log(\"PRED (collectPredicates=\"+n+\") \"+t.ruleIndex+\":\"+t.predIndex+\", ctx dependent=\"+t.isCtxDependent),null!==this.parser&&console.log(\"context surrounding pred is \"+s.arrayToString(this.parser.getRuleInvocationStack())));var i=null;if(n&&(t.isCtxDependent&&r||!t.isCtxDependent))if(l){var a=this._input.index;this._input.seek(this._startIndex);var o=t.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(a),o&&(i=new d({state:t.target},e))}else{var u=S.andContext(e.semanticContext,t.getPredicate());i=new d({state:t.target,semanticContext:u},e)}else i=new d({state:t.target},e);return this.debug&&console.log(\"config from pred transition=\"+i),i}},{key:\"ruleTransition\",value:function(e,t){this.debug&&console.log(\"CALL rule \"+this.getRuleName(t.target.ruleIndex)+\", ctx=\"+e.context);var n=t.followState,r=R.create(e.context,n.stateNumber);return new d({state:t.target,context:r},e)}},{key:\"getConflictingAlts\",value:function(e){var t=L.getConflictingAltSubsets(e);return L.getAlts(t)}},{key:\"getConflictingAltsOrUniqueAlt\",value:function(e){var t=null;return e.uniqueAlt!==f.INVALID_ALT_NUMBER?(t=new u).add(e.uniqueAlt):t=e.conflictingAlts,t}},{key:\"getTokenName\",value:function(e){if(e===g.EOF)return\"EOF\";if(null!==this.parser&&null!==this.parser.literalNames){if(!(e>=this.parser.literalNames.length&&e>=this.parser.symbolicNames.length))return(this.parser.literalNames[e]||this.parser.symbolicNames[e])+\"<\"+e+\">\";console.log(e+\" ttype out of range: \"+this.parser.literalNames),console.log(\"\"+this.parser.getInputStream().getTokens())}return\"\"+e}},{key:\"getLookaheadName\",value:function(e){return this.getTokenName(e.LA(1))}},{key:\"dumpDeadEndConfigs\",value:function(e){console.log(\"dead end configs: \");for(var t=e.getDeadEndConfigs(),n=0;n0){var i=r.state.transitions[0];i instanceof AtomTransition?l=\"Atom \"+this.getTokenName(i.label):i instanceof M&&(l=(i instanceof I?\"~\":\"\")+\"Set \"+i.set)}console.error(r.toString(this.parser,!0)+\":\"+l)}}},{key:\"noViableAlt\",value:function(e,t,n,r){return new N(this.parser,e,e.get(r),e.LT(1),n,t)}},{key:\"getUniqueAlt\",value:function(e){for(var t=f.INVALID_ALT_NUMBER,n=0;n \"+r+\" upon \"+this.getTokenName(n)),null===r)return null;if(r=this.addDFAState(e,r),null===t||n<-1||n>this.atn.maxTokenType)return r;if(null===t.edges&&(t.edges=[]),t.edges[n+1]=r,this.debug){var l=null===this.parser?null:this.parser.literalNames,i=null===this.parser?null:this.parser.symbolicNames;console.log(\"DFA=\\n\"+e.toString(l,i))}return r}},{key:\"addDFAState\",value:function(e,t){if(t===C.ERROR)return t;var n=e.states.get(t);return null!==n?n:(t.stateNumber=e.states.length,t.configs.readOnly||(t.configs.optimizeConfigs(this),t.configs.setReadonly(!0)),e.states.add(t),this.debug&&console.log(\"adding new DFA state: \"+t),t)}},{key:\"reportAttemptingFullContext\",value:function(e,t,n,r,l){if(this.debug||this.retry_debug){var i=new U(r,l+1);console.log(\"reportAttemptingFullContext decision=\"+e.decision+\":\"+n+\", input=\"+this.parser.getTokenStream().getText(i))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,e,r,l,t,n)}},{key:\"reportContextSensitivity\",value:function(e,t,n,r,l){if(this.debug||this.retry_debug){var i=new U(r,l+1);console.log(\"reportContextSensitivity decision=\"+e.decision+\":\"+n+\", input=\"+this.parser.getTokenStream().getText(i))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,e,r,l,t,n)}},{key:\"reportAmbiguity\",value:function(e,t,n,r,l,i,a){if(this.debug||this.retry_debug){var s=new U(n,r+1);console.log(\"reportAmbiguity \"+i+\":\"+a+\", input=\"+this.parser.getTokenStream().getText(s))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,e,n,r,l,i,a)}}])&&l(t.prototype,n),Object.defineProperty(t,\"prototype\",{writable:!1}),P}(C);e.exports=D},2523:function(e,t,n){var r=n(7090),l=r.Map,i=r.BitSet,a=r.AltDict,s=r.hashStuff,o=n(7835),u=n(4).RuleStopState,c=n(5327).ATNConfigSet,f=n(4769).ATNConfig,m=n(7871).SemanticContext,h={SLL:0,LL:1,LL_EXACT_AMBIG_DETECTION:2,hasSLLConflictTerminatingPrediction:function(e,t){if(h.allConfigsInRuleStopStates(t))return!0;if(e===h.SLL&&t.hasSemanticContext){for(var n=new c,r=0;r1)return!0;return!1},allSubsetsEqual:function(e){for(var t=null,n=0;n=prec}?\"}}],[{key:\"filterPrecedencePredicates\",value:function(e){var t=[];return e.values().map((function(e){e instanceof n&&t.push(e)})),t}}]),n}(d),v=function(e){l(n,e);var t=a(n);function n(e,r){var l;o(this,n),l=t.call(this);var i=new m;e instanceof n?e.opnds.map((function(e){i.add(e)})):i.add(e),r instanceof n?r.opnds.map((function(e){i.add(e)})):i.add(r);var a=g.filterPrecedencePredicates(i);if(a.length>0){var s=null;a.map((function(e){(null===s||e.precedence3?e.slice(3):e).join(\"&&\")}}]),n}(d),b=function(e){l(n,e);var t=a(n);function n(e,r){var l;o(this,n),l=t.call(this);var i=new m;e instanceof n?e.opnds.map((function(e){i.add(e)})):i.add(e),r instanceof n?r.opnds.map((function(e){i.add(e)})):i.add(r);var a=g.filterPrecedencePredicates(i);if(a.length>0){var s=a.sort((function(e,t){return e.compareTo(t)})),u=s[s.length-1];i.add(u)}return l.opnds=Array.from(i.values()),l}return c(n,[{key:\"equals\",value:function(e){return this===e||e instanceof n&&p(this.opnds,e.opnds)}},{key:\"updateHashCode\",value:function(e){e.update(this.opnds,\"OR\")}},{key:\"evaluate\",value:function(e,t){for(var n=0;n3?e.slice(3):e).join(\"||\")}}]),n}(d);e.exports={SemanticContext:d,PrecedencePredicate:g,Predicate:y}},3412:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(){return l=\"undefined\"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=o(e)););return e}(e,t);if(r){var l=Object.getOwnPropertyDescriptor(r,t);return l.get?l.get.call(arguments.length<3?e:n):l.value}},l.apply(this,arguments)}function i(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&a(e,t)}function a(e,t){return a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},a(e,t)}function s(e){var t=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,l=o(e);if(t){var i=o(this).constructor;n=Reflect.construct(l,arguments,i)}else n=l.apply(this,arguments);return function(e,t){if(t&&(\"object\"===r(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e)}(this,n)}}function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}function u(e,t){for(var n=0;n=this.start&&e<=this.stop}},{key:\"toString\",value:function(){return\"'\"+String.fromCharCode(this.start)+\"'..'\"+String.fromCharCode(this.stop)+\"'\"}}]),n}(g),L=function(e){i(n,e);var t=s(n);function n(e){return f(this,n),t.call(this,e)}return c(n)}(g),k=function(e){i(n,e);var t=s(n);function n(e,r,l,i){var a;return f(this,n),(a=t.call(this,e)).serializationType=g.PREDICATE,a.ruleIndex=r,a.predIndex=l,a.isCtxDependent=i,a.isEpsilon=!0,a}return c(n,[{key:\"matches\",value:function(e,t,n){return!1}},{key:\"getPredicate\",value:function(){return new d(this.ruleIndex,this.predIndex,this.isCtxDependent)}},{key:\"toString\",value:function(){return\"pred_\"+this.ruleIndex+\":\"+this.predIndex}}]),n}(L),S=function(e){i(n,e);var t=s(n);function n(e,r,l,i){var a;return f(this,n),(a=t.call(this,e)).serializationType=g.ACTION,a.ruleIndex=r,a.actionIndex=void 0===l?-1:l,a.isCtxDependent=void 0!==i&&i,a.isEpsilon=!0,a}return c(n,[{key:\"matches\",value:function(e,t,n){return!1}},{key:\"toString\",value:function(){return\"action_\"+this.ruleIndex+\":\"+this.actionIndex}}]),n}(g),T=function(e){i(n,e);var t=s(n);function n(e,r){var l;return f(this,n),(l=t.call(this,e)).serializationType=g.SET,null!=r?l.label=r:(l.label=new h,l.label.addOne(m.INVALID_TYPE)),l}return c(n,[{key:\"matches\",value:function(e,t,n){return this.label.contains(e)}},{key:\"toString\",value:function(){return this.label.toString()}}]),n}(g),U=function(e){i(n,e);var t=s(n);function n(e,r){var l;return f(this,n),(l=t.call(this,e,r)).serializationType=g.NOT_SET,l}return c(n,[{key:\"matches\",value:function(e,t,r){return e>=t&&e<=r&&!l(o(n.prototype),\"matches\",this).call(this,e,t,r)}},{key:\"toString\",value:function(){return\"~\"+l(o(n.prototype),\"toString\",this).call(this)}}]),n}(T),O=function(e){i(n,e);var t=s(n);function n(e){var r;return f(this,n),(r=t.call(this,e)).serializationType=g.WILDCARD,r}return c(n,[{key:\"matches\",value:function(e,t,n){return e>=t&&e<=n}},{key:\"toString\",value:function(){return\".\"}}]),n}(g),x=function(e){i(n,e);var t=s(n);function n(e,r){var l;return f(this,n),(l=t.call(this,e)).serializationType=g.PRECEDENCE,l.precedence=r,l.isEpsilon=!0,l}return c(n,[{key:\"matches\",value:function(e,t,n){return!1}},{key:\"getPredicate\",value:function(){return new y(this.precedence)}},{key:\"toString\",value:function(){return this.precedence+\" >= _p\"}}]),n}(L);e.exports={Transition:g,AtomTransition:v,SetTransition:T,NotSetTransition:U,RuleTransition:b,ActionTransition:S,EpsilonTransition:_,RangeTransition:C,WildcardTransition:O,PredicateTransition:k,PrecedencePredicateTransition:x,AbstractPredicateTransition:L}},5212:function(e,t,n){t.ATN=n(7835),t.ATNDeserializer=n(2162),t.LexerATNSimulator=n(4549),t.ParserATNSimulator=n(8877),t.PredictionMode=n(2523)},8386:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){for(var n=0;n=this.s0.edges.length?null:this.s0.edges[e]||null}},{key:\"setPrecedenceStartState\",value:function(e,t){if(!this.precedenceDfa)throw\"Only precedence DFAs may contain a precedence start state.\";e<0||(this.s0.edges[e]=t)}},{key:\"setPrecedenceDfa\",value:function(e){if(this.precedenceDfa!==e){if(this._states=new i,e){var t=new a(null,new o);t.edges=[],t.isAcceptState=!1,t.requiresFullContext=!1,this.s0=t}else this.s0=null;this.precedenceDfa=e}}},{key:\"sortedStates\",value:function(){return this._states.values().sort((function(e,t){return e.stateNumber-t.stateNumber}))}},{key:\"toString\",value:function(e,t){return e=e||null,t=t||null,null===this.s0?\"\":new u(this,e,t).toString()}},{key:\"toLexerString\",value:function(){return null===this.s0?\"\":new c(this).toString()}},{key:\"states\",get:function(){return this._states}}])&&l(t.prototype,n),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();e.exports=f},4815:function(e,t,n){function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function l(e){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},l(e)}function i(e){return i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},i(e)}function a(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function s(e,t){for(var n=0;n\")).concat(this.getStateString(a))).concat(\"\\n\"))}}return 0===e.length?null:e}},{key:\"getEdgeLabel\",value:function(e){return 0===e?\"EOF\":null!==this.literalNames||null!==this.symbolicNames?this.literalNames[e-1]||this.symbolicNames[e-1]:String.fromCharCode(e-1)}},{key:\"getStateString\",value:function(e){var t=(e.isAcceptState?\":\":\"\")+\"s\"+e.stateNumber+(e.requiresFullContext?\"^\":\"\");return e.isAcceptState?null!==e.predicates?t+\"=>\"+u.arrayToString(e.predicates):t+\"=>\"+e.prediction.toString():t}}]),e}(),f=function(e){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&r(e,t)}(u,e);var t,n,s=(t=u,n=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=l(t);if(n){var a=l(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return function(e,t){if(t&&(\"object\"===i(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e)}(this,e)});function u(e){return a(this,u),s.call(this,e,null)}return o(u,[{key:\"getEdgeLabel\",value:function(e){return\"'\"+String.fromCharCode(e)+\"'\"}}]),u}(c);e.exports={DFASerializer:c,LexerDFASerializer:f}},9324:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){for(var n=0;n\",null!==this.predicates?e+=this.predicates:e+=this.prediction),e}},{key:\"hashCode\",value:function(){var e=new u;return e.update(this.configs),e.finish()}}]),e}();e.exports={DFAState:m,PredPrediction:f}},7853:function(e,t,n){t.DFA=n(8386),t.DFASerializer=n(4815).DFASerializer,t.LexerDFASerializer=n(4815).LexerDFASerializer,t.PredPrediction=n(9324).PredPrediction},5916:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){for(var n=0;n=l.length)return\"\"+n;var i=l[r]||null;return null===i||0===i.length?\"\"+n:\"\".concat(n,\" (\").concat(i,\")\")}},{key:\"getConflictingAlts\",value:function(e,t){if(null!==e)return e;for(var n=new s,r=0;r=0&&e.consume(),this.lastErrorIndex=e._input.index,null===this.lastErrorStates&&(this.lastErrorStates=[]),this.lastErrorStates.push(e.state);var n=this.getErrorRecoverySet(e);this.consumeUntil(e,n)}},{key:\"sync\",value:function(e){if(!this.inErrorRecoveryMode(e)){var t=e._interp.atn.states[e.state],n=e.getTokenStream().LA(1),r=e.atn.nextTokens(t);if(r.contains(n))return this.nextTokensContext=null,void(this.nextTokenState=g.INVALID_STATE_NUMBER);if(r.contains(f.EPSILON))null===this.nextTokensContext&&(this.nextTokensContext=e._ctx,this.nextTokensState=e._stateNumber);else switch(t.stateType){case g.BLOCK_START:case g.STAR_BLOCK_START:case g.PLUS_BLOCK_START:case g.STAR_LOOP_ENTRY:if(null!==this.singleTokenDeletion(e))return;throw new p(e);case g.PLUS_LOOP_BACK:case g.STAR_LOOP_BACK:this.reportUnwantedToken(e);var l=new _;l.addSet(e.getExpectedTokens());var i=l.addSet(this.getErrorRecoverySet(e));this.consumeUntil(e,i)}}}},{key:\"reportNoViableAlternative\",value:function(e,t){var n,r=e.getTokenStream();n=null!==r?t.startToken.type===f.EOF?\"\":r.getText(new b(t.startToken.tokenIndex,t.offendingToken.tokenIndex)):\"\";var l=\"no viable alternative at input \"+this.escapeWSAndQuote(n);e.notifyErrorListeners(l,t.offendingToken,t)}},{key:\"reportInputMismatch\",value:function(e,t){var n=\"mismatched input \"+this.getTokenErrorDisplay(t.offendingToken)+\" expecting \"+t.getExpectedTokens().toString(e.literalNames,e.symbolicNames);e.notifyErrorListeners(n,t.offendingToken,t)}},{key:\"reportFailedPredicate\",value:function(e,t){var n=\"rule \"+e.ruleNames[e._ctx.ruleIndex]+\" \"+t.message;e.notifyErrorListeners(n,t.offendingToken,t)}},{key:\"reportUnwantedToken\",value:function(e){if(!this.inErrorRecoveryMode(e)){this.beginErrorCondition(e);var t=e.getCurrentToken(),n=\"extraneous input \"+this.getTokenErrorDisplay(t)+\" expecting \"+this.getExpectedTokens(e).toString(e.literalNames,e.symbolicNames);e.notifyErrorListeners(n,t,null)}}},{key:\"reportMissingToken\",value:function(e){if(!this.inErrorRecoveryMode(e)){this.beginErrorCondition(e);var t=e.getCurrentToken(),n=\"missing \"+this.getExpectedTokens(e).toString(e.literalNames,e.symbolicNames)+\" at \"+this.getTokenErrorDisplay(t);e.notifyErrorListeners(n,t,null)}}},{key:\"recoverInline\",value:function(e){var t=this.singleTokenDeletion(e);if(null!==t)return e.consume(),t;if(this.singleTokenInsertion(e))return this.getMissingSymbol(e);throw new p(e)}},{key:\"singleTokenInsertion\",value:function(e){var t=e.getTokenStream().LA(1),n=e._interp.atn,r=n.states[e.state].transitions[0].target;return!!n.nextTokens(r,e._ctx).contains(t)&&(this.reportMissingToken(e),!0)}},{key:\"singleTokenDeletion\",value:function(e){var t=e.getTokenStream().LA(2);if(this.getExpectedTokens(e).contains(t)){this.reportUnwantedToken(e),e.consume();var n=e.getCurrentToken();return this.reportMatch(e),n}return null}},{key:\"getMissingSymbol\",value:function(e){var t,n=e.getCurrentToken(),r=this.getExpectedTokens(e).first();t=r===f.EOF?\"\":\"\";var l=n,i=e.getTokenStream().LT(-1);return l.type===f.EOF&&null!==i&&(l=i),e.getTokenFactory().create(l.source,r,t,f.DEFAULT_CHANNEL,-1,-1,l.line,l.column)}},{key:\"getExpectedTokens\",value:function(e){return e.getExpectedTokens()}},{key:\"getTokenErrorDisplay\",value:function(e){if(null===e)return\"\";var t=e.text;return null===t&&(t=e.type===f.EOF?\"\":\"<\"+e.type+\">\"),this.escapeWSAndQuote(t)}},{key:\"escapeWSAndQuote\",value:function(e){return\"'\"+(e=(e=(e=e.replace(/\\n/g,\"\\\\n\")).replace(/\\r/g,\"\\\\r\")).replace(/\\t/g,\"\\\\t\"))+\"'\"}},{key:\"getErrorRecoverySet\",value:function(e){for(var t=e._interp.atn,n=e._ctx,r=new _;null!==n&&n.invokingState>=0;){var l=t.states[n.invokingState].transitions[0],i=t.nextTokens(l.followState);r.addSet(i),n=n.parentCtx}return r.removeOne(f.EPSILON),r}},{key:\"consumeUntil\",value:function(e,t){for(var n=e.getTokenStream().LA(1);n!==f.EOF&&!t.contains(n);)e.consume(),n=e.getTokenStream().LA(1)}}]),n}(function(){function e(){o(this,e)}return c(e,[{key:\"reset\",value:function(e){}},{key:\"recoverInline\",value:function(e){}},{key:\"recover\",value:function(e,t){}},{key:\"sync\",value:function(e){}},{key:\"inErrorRecoveryMode\",value:function(e){}},{key:\"reportError\",value:function(e){}}]),e}()),L=function(e){l(n,e);var t=a(n);function n(){return o(this,n),t.call(this)}return c(n,[{key:\"recover\",value:function(e,t){for(var n=e._ctx;null!==n;)n.exception=t,n=n.parentCtx;throw new y(t)}},{key:\"recoverInline\",value:function(e){this.recover(e,new p(e))}},{key:\"sync\",value:function(e){}}]),n}(C);e.exports={BailErrorStrategy:L,DefaultErrorStrategy:C}},1162:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){for(var n=0;n=0&&this.startIndex=n)){var l,i=t.charCodeAt(r);return i>=55296&&i<=56319&&n>r+1&&(l=t.charCodeAt(r+1))>=56320&&l<=57343?1024*(i-55296)+l-56320+65536:i}};e?e(String.prototype,\"codePointAt\",{value:t,configurable:!0,writable:!0}):String.prototype.codePointAt=t}()},7700:function(){var e,t,n,r;String.fromCodePoint||(e=function(){var e;try{var t={},n=Object.defineProperty;e=n(t,t,t)&&n}catch(e){}return e}(),t=String.fromCharCode,n=Math.floor,r=function(e){var r,l,i=[],a=-1,s=arguments.length;if(!s)return\"\";for(var o=\"\";++a1114111||n(u)!==u)throw RangeError(\"Invalid code point: \"+u);u<=65535?i.push(u):(r=55296+((u-=65536)>>10),l=u%1024+56320,i.push(r,l)),(a+1===s||i.length>16384)&&(o+=t.apply(null,i),i.length=0)}return o},e?e(String,\"fromCodePoint\",{value:r,configurable:!0,writable:!0}):String.fromCodePoint=r)},4524:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&i(e,t)}function i(e,t){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},i(e,t)}function a(e){var t=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,l=s(e);if(t){var i=s(this).constructor;n=Reflect.construct(l,arguments,i)}else n=l.apply(this,arguments);return function(e,t){if(t&&(\"object\"===r(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e)}(this,n)}}function s(e){return s=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},s(e)}function o(e,t){for(var n=0;n\":this.symbol.text}}]),n}(y),C=function(e){l(n,e);var t=a(n);function n(e){return c(this,n),t.call(this,e)}return u(n,[{key:\"isErrorNode\",value:function(){return!0}},{key:\"accept\",value:function(e){return e.visitErrorNode(this)}}]),n}(_),L=function(){function e(){c(this,e)}return u(e,[{key:\"walk\",value:function(e,t){if(t instanceof g||void 0!==t.isErrorNode&&t.isErrorNode())e.visitErrorNode(t);else if(t instanceof y)e.visitTerminal(t);else{this.enterRule(e,t);for(var n=0;n0&&(l=u.toStringTree(e.getChild(0),t),a=a.concat(l));for(var s=1;s1)throw new Error(\"Expected singleton on right side of contains, got \"+JSON.stringify(t));return i(e,t)},l.in=function(e,t){if(0==e.length)return[];if(0==t.length)return!1;if(e.length>1)throw new Error(\"Expected singleton on right side of in, got \"+JSON.stringify(t));return i(t,e)},e.exports=l},4461:function(e,t,n){var r={},l=n(968).distinctFn,i=n(7909);r.union=function(e,t){return l(e.concat(t))},r.combineFn=function(e,t){return e.concat(t)},r.intersect=function(e,t){var n=[],r=e.length,l=t.length;if(r&&l){var a={};t.forEach((function(e){var t=i(e);a[t]?l--:a[t]=!0}));for(var s=0;s0;++s){var o=e[s],u=i(o);a[u]&&(n.push(o),a[u]=!1,l--)}}return n},r.exclude=function(e,t){var n=[];if(e.length){var r={};t.forEach((function(e){var t=i(e);r[t]=!0})),n=e.filter((function(e){return!r[i(e)]}))}return n},e.exports=r},5263:function(e){e.exports={reset:function(){this.nowDate=new Date,this.today=null,this.now=null,this.timeOfDay=null,this.localTimezoneOffset=null},today:null,now:null,timeOfDay:null}},3526:function(e,t,n){var r={},l=n(7028),i=n(5263),a=l.FP_Date,s=l.FP_DateTime,o=l.FP_Time;r.now=function(){if(!i.now){var e=i.nowDate,t=s.isoDateTime(e);i.now=new s(t)}return i.now},r.today=function(){if(!i.today){var e=i.nowDate,t=a.isoDate(e);i.today=new a(t)}return i.today},r.timeOfDay=function(){if(!i.timeOfDay){var e=i.nowDate,t=s.isoTime(e);i.timeOfDay=new o(t)}return i.timeOfDay},e.exports=r},7567:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}var l=n(7028).FP_Type,i=n(1575),a=n(4497),s=Array.prototype.slice,o=Object.keys,u=function(e){return\"[object Arguments]\"==Object.prototype.toString.call(e)};function c(e){return\"string\"==typeof e||e instanceof String}function f(e){return!isNaN(parseFloat(e))&&isFinite(e)}function m(e){return e.toUpperCase().replace(/\\s+/,\" \")}function h(e){return null==e}e.exports=function e(t,n,p){if(p||(p={}),(t=i.valDataConverted(t))===(n=i.valDataConverted(n)))return!0;if(p.fuzzy){if(c(t)&&c(n))return m(t)==m(n);if(f(t)&&f(n))return a.isEquivalent(t,n)}else if(\"number\"==typeof t&&\"number\"==typeof n)return a.isEqual(t,n);if(t instanceof Date&&n instanceof Date)return t.getTime()===n.getTime();if(!t||!n||\"object\"!=r(t)&&\"object\"!=r(n))return t===n;var d=t instanceof l,y=n instanceof l;return d&&y?p.fuzzy?t.equivalentTo(n):t.equals(n):!d&&!y&&function(t,n,l){var i,a;if(h(t)||h(n))return!1;if(t.prototype!==n.prototype)return!1;if(u(t)||u(n))return e(t=u(t)?s.call(t):t,n=u(n)?s.call(n):n,l);try{var c=o(t),f=o(n)}catch(e){return!1}if(c.length!=f.length)return!1;for(c.sort(),f.sort(),i=c.length-1;i>=0;i--)if(c[i]!=f[i])return!1;if(1===c.length)return e(t[a=c[0]],n[a],l);for(i=c.length-1;i>=0;i--)if(!e(t[a=c[i]],n[a],l))return!1;return r(t)===r(n)}(t,n,p)}},3776:function(e,t,n){function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var r,l,i,a,s=[],o=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);o=!0);}catch(e){u=!0,l=e}finally{try{if(!o&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw l}}return s}}(e,t)||function(e,t){if(e){if(\"string\"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0}return l>i},f.lte=function(e,t){if(!e.length||!t.length)return[];var n=r(p(e,t),2),l=n[0],i=n[1];if(l instanceof o){var a=l.compare(i);return null===a?[]:a<=0}return l<=i},f.gte=function(e,t){if(!e.length||!t.length)return[];var n=r(p(e,t),2),l=n[0],i=n[1];if(l instanceof o){var a=l.compare(i);return null===a?[]:a>=0}return l>=i},e.exports=f},4843:function(e,t,n){var r=n(1575),l=n(968),i=l.whereMacro,a=l.distinctFn,s=n(4230),o=n(7909),u={};function c(e,t){var n=e.length,r=n<=t.length;if(r&&n){var l=t.reduce((function(e,t){return e[o(t)]=!0,e}),{});r=!e.some((function(e){return!l[o(e)]}))}return r}u.emptyFn=r.isEmpty,u.notFn=function(e){var t=s.singleton(e,\"Boolean\");return\"boolean\"==typeof t?!t:[]},u.existsMacro=function(e,t){var n=e;return t?u.existsMacro(i(e,t)):!r.isEmpty(n)},u.allMacro=function(e,t){for(var n=0,l=e.length;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n\":{fn:_.gt,arity:{2:[\"Any\",\"Any\"]},nullable:!0},\"<=\":{fn:_.lte,arity:{2:[\"Any\",\"Any\"]},nullable:!0},\">=\":{fn:_.gte,arity:{2:[\"Any\",\"Any\"]},nullable:!0},containsOp:{fn:C.contains,arity:{2:[\"Any\",\"Any\"]}},inOp:{fn:C.in,arity:{2:[\"Any\",\"Any\"]}},isOp:{fn:O.isFn,arity:{2:[\"Any\",\"TypeSpecifier\"]}},asOp:{fn:O.asFn,arity:{2:[\"Any\",\"TypeSpecifier\"]}},\"&\":{fn:L.amp,arity:{2:[\"String\",\"String\"]}},\"+\":{fn:L.plus,arity:{2:[\"Any\",\"Any\"]},nullable:!0},\"-\":{fn:L.minus,arity:{2:[\"Any\",\"Any\"]},nullable:!0},\"*\":{fn:L.mul,arity:{2:[\"Number\",\"Number\"]},nullable:!0},\"/\":{fn:L.div,arity:{2:[\"Number\",\"Number\"]},nullable:!0},mod:{fn:L.mod,arity:{2:[\"Number\",\"Number\"]},nullable:!0},div:{fn:L.intdiv,arity:{2:[\"Number\",\"Number\"]},nullable:!0},or:{fn:U.orOp,arity:{2:[[\"Boolean\"],[\"Boolean\"]]}},and:{fn:U.andOp,arity:{2:[[\"Boolean\"],[\"Boolean\"]]}},xor:{fn:U.xorOp,arity:{2:[[\"Boolean\"],[\"Boolean\"]]}},implies:{fn:U.impliesOp,arity:{2:[[\"Boolean\"],[\"Boolean\"]]}}},p.InvocationExpression=function(e,t,n){return n.children.reduce((function(t,n){return p.doEval(e,t,n)}),t)},p.TermExpression=function(e,t,n){return t&&(t=t.map((function(e){return e instanceof Object&&e.resourceType?R(e,e.resourceType):e}))),p.doEval(e,t,n.children[0])},p.PolarityExpression=function(e,t,n){var r=n.terminalNodeText[0],l=p.doEval(e,t,n.children[0]);if(1!==l.length)throw new Error(\"Unary \"+r+\" can only be applied to an individual number.\");if(\"number\"!=typeof l[0]||isNaN(l[0]))throw new Error(\"Unary \"+r+\" can only be applied to a number.\");return\"-\"===r&&(l[0]=-l[0]),l},p.TypeSpecifier=function(e,t,n){var r,l,i=n.text.split(\".\").map((function(e){return e.replace(/(^`|`$)/g,\"\")}));switch(i.length){case 2:var a=s(i,2);r=a[0],l=a[1];break;case 1:l=s(i,1)[0];break;default:throw new Error(\"Expected TypeSpecifier node, got \"+JSON.stringify(n))}return new P({namespace:r,name:l})},p.ExternalConstantTerm=function(e,t,n){var r=n.children[0].children[0],l=p.Identifier(e,t,r)[0],i=e.vars[l];if(!(l in e.vars))throw new Error(\"Attempting to access an undefined environment variable: \"+l);return null==i?[]:i instanceof Array?i:[i]},p.LiteralTerm=function(e,t,n){var r=n.children[0];return r?p.doEval(e,t,r):[n.text]},p.StringLiteral=function(e,t,n){var r=n.text.replace(/(^'|'$)/g,\"\");return[r=r.replace(/\\\\(u\\d{4}|.)/g,(function(e,t){switch(e){case\"\\\\r\":return\"\\r\";case\"\\\\n\":return\"\\n\";case\"\\\\t\":return\"\\t\";case\"\\\\f\":return\"\\f\";default:return t.length>1?String.fromCharCode(\"0x\"+t.slice(1)):t}}))]},p.BooleanLiteral=function(e,t,n){return\"true\"===n.text?[!0]:[!1]},p.QuantityLiteral=function(e,t,n){var r=n.children[0],l=Number(r.terminalNodeText[0]),i=r.children[0],a=i.terminalNodeText[0];return!a&&i.children&&(a=i.children[0].terminalNodeText[0]),[new E(l,a)]},p.DateTimeLiteral=function(e,t,n){var r=n.text.slice(1);return[new M(r)]},p.TimeLiteral=function(e,t,n){var r=n.text.slice(1);return[new I(r)]},p.NumberLiteral=function(e,t,n){return[Number(n.text)]},p.Identifier=function(e,t,n){return[n.text.replace(/(^`|`$)/g,\"\")]},p.InvocationTerm=function(e,t,n){return p.doEval(e,t,n.children[0])},p.MemberInvocation=function(e,t,n){var r=p.doEval(e,t,n.children[0])[0],l=e.model;if(t){if(m.isCapitalized(r))return t.filter((function(e){return e instanceof N&&e.path===r}));var i=t.path||t.__path__;return t.reduce((function(e,t){var n,a,s=(t=R(t,i)).path+\".\"+r;if(l){var u=l.pathsDefinedElsewhere[s];u&&(s=u)}var c=l&&l.choiceTypePaths[s];if(c){var f,h=function(e,t){var n=\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(!n){if(Array.isArray(e)||(n=o(e))){n&&(e=n);var r=0,l=function(){};return{s:l,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:l}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var i,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw i}}}}(c);try{for(h.s();!(f=h.n()).done;){var p,d,y=f.value,g=r+y;if(n=null===(p=t.data)||void 0===p?void 0:p[g],a=null===(d=t.data)||void 0===d?void 0:d[\"_\"+g],void 0!==n||void 0!==a){s+=y;break}}}catch(e){h.e(e)}finally{h.f()}}else{var v,b;n=null===(v=t.data)||void 0===v?void 0:v[r],a=null===(b=t.data)||void 0===b?void 0:b[\"_\"+r],void 0===n&&void 0===a&&(n=t._data[r]),\"extension\"===r&&(s=\"Extension\")}return s=l&&l.path2Type[s]||s,m.isSome(n)||m.isSome(a)?(Array.isArray(n)?e=e.concat(n.map((function(e,t){return R(e,s,a&&a[t])}))):e.push(R(n,s,a)),e):e}),[])}return[]},p.IndexerExpression=function(e,t,n){var r=n.children[0],l=n.children[1],i=p.doEval(e,t,r),a=p.doEval(e,t,l);if(m.isEmpty(a))return[];var s=parseInt(a[0]);return i&&m.isSome(s)&&i.length>s&&s>=0?[i[s]]:[]},p.Functn=function(e,t,n){return n.children.map((function(n){return p.doEval(e,t,n)}))},p.realizeParams=function(e,t,n){return n&&n[0]&&n[0].children?n[0].children.map((function(n){return p.doEval(e,t,n)})):[]},p.FunctionInvocation=function(e,t,n){var r=p.doEval(e,t,n.children[0]),l=r[0];return r.shift(),function(e,t,n,r){var l,i=p.invocationTable[t];if(i){if(i.arity){var a=r?r.length:0,s=i.arity[a];if(s){for(var o=[],u=0;u0)for(var n={},r=0,l=e.length;r1)throw new Error(\"Could not convert to quantity: input collection contains multiple items\");if(1===e.length){var r,i=l.valDataConverted(e[0]);if(\"number\"==typeof i)n=new a(i,\"'1'\");else if(i instanceof a)n=i;else if(\"boolean\"==typeof i)n=new a(i?1:0,\"'1'\");else if(\"string\"==typeof i&&(r=u.exec(i))){var s=r[1],o=r[5],c=r[6];c&&!a.mapTimeUnitsToUCUMCode[c]||(n=new a(Number(s),o||c||\"'1'\"))}n&&t&&n.unit!==t&&(n=a.convUnitTo(n.unit,n.value,t))}return n||[]};var c=/^[+-]?\\d+(\\.\\d+)?$/;function f(e){var t=e.slice(3);s[\"to\"+t]=function(n){var r=[];if(n.length>1)throw Error(\"to \"+t+\" called for a collection of length \"+n.length);if(1===n.length){var a=i[e].checkString(l.valData(n[0]));a&&(r=a)}return r}}s.toDecimal=function(e){if(1!==e.length)return[];var t=l.valData(e[0]);return!1===t?0:!0===t?1:\"number\"==typeof t?t:\"string\"==typeof t&&c.test(t)?parseFloat(t):[]},s.toString=function(e){return 1!==e.length?[]:l.valDataConverted(e[0]).toString()},f(\"FP_Date\"),f(\"FP_DateTime\"),f(\"FP_Time\");var m=[\"true\",\"t\",\"yes\",\"y\",\"1\",\"1.0\"].reduce((function(e,t){return e[t]=!0,e}),{}),h=[\"false\",\"f\",\"no\",\"n\",\"0\",\"0.0\"].reduce((function(e,t){return e[t]=!0,e}),{});s.toBoolean=function(e){if(1!==e.length)return[];var t=l.valData(e[0]);switch(r(t)){case\"boolean\":return t;case\"number\":if(1===t)return!0;if(0===t)return!1;break;case\"string\":var n=t.toLowerCase();if(m[n])return!0;if(h[n])return!1}return[]},s.createConvertsToFn=function(e,t){return\"string\"==typeof t?function(n){return 1!==n.length?[]:r(e(n))===t}:function(n){return 1!==n.length?[]:e(n)instanceof t}};var p={Integer:function(e){var t=l.valData(e[0]);if(Number.isInteger(t))return t},Boolean:function(e){var t=l.valData(e[0]);return!0===t||!1===t?t:1===e.length||void 0},Number:function(e){var t=l.valData(e[0]);if(\"number\"==typeof t)return t},String:function(e){var t=l.valData(e[0]);if(\"string\"==typeof t)return t}};s.singleton=function(e,t){if(e.length>1)throw new Error(\"Unexpected collection\"+JSON.stringify(e)+\"; expected singleton of type \"+t);if(0===e.length)return[];var n=p[t];if(n){var r=n(e);if(void 0!==r)return r;throw new Error(\"Expected \".concat(t.toLowerCase(),\", but got: \").concat(JSON.stringify(e)))}throw new Error(\"Not supported type \"+t)};var d=new Set([\"instant\",\"time\",\"date\",\"dateTime\",\"base64Binary\",\"decimal\",\"integer64\",\"boolean\",\"string\",\"code\",\"markdown\",\"id\",\"integer\",\"unsignedInt\",\"positiveInt\",\"uri\",\"oid\",\"uuid\",\"canonical\",\"url\"]);function y(e){switch(r(e)){case\"string\":case\"number\":case\"boolean\":return!0;default:return!1}}s.hasValueFn=function(e){var t=this.model;return 1===e.length?t?[d.has(e[0].path)]:[y(l.valData(e[0]))]:[!1]},e.exports=s},6183:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}var l=n(1575),i=n(7028).ResourceNode.makeResNode,a={children:function(e){var t=this.model;return e.reduce((function(e,n){var a=l.valData(n);if(n=i(n),\"object\"===r(a)){for(var s=0,o=Object.keys(a);s0;)n.push.apply(n,t),t=a.children.call(this,t);return n}};e.exports=a},4497:function(e){var t={};function n(e){var t=/(\\d+)(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/.exec(\"\"+ +e);if(!t)return 0;var n=t[2],r=t[3];return Math.max(0,(\"0\"===n?0:(n||\"\").length)-(r||0))}function r(e,t){var n=Math.pow(10,t);return Math.round(e*n)/n}var l=t.roundToMaxPrecision=function(e){return 1e-8*Math.round(e/1e-8)};t.isEquivalent=function(e,t){if(Number.isInteger(e)&&Number.isInteger(t))return e===t;var l=Math.min(n(e),n(t));return 0===l?Math.round(e)===Math.round(t):r(e,l)===r(t,l)},t.isEqual=function(e,t){return l(e)===l(t)},e.exports=t},2589:function(e,t,n){t.atn=n(5212),t.codepointat=n(2054),t.dfa=n(7853),t.fromcodepoint=n(7700),t.tree=n(703),t.error=n(1770),t.Token=n(9616).Token,t.CommonToken=n(9616).CommonToken,t.InputStream=n(3960),t.CommonTokenStream=n(8617),t.Lexer=n(4149),t.Parser=n(4680);var r=n(9699);t.PredictionContextCache=r.PredictionContextCache,t.ParserRuleContext=n(788),t.Interval=n(5062).Interval,t.IntervalSet=n(5062).IntervalSet,t.Utils=n(7090),t.LL1Analyzer=n(2894).LL1Analyzer},4081:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){for(var n=0;n\\t>\u0004\",\"?\\t?\u0004@\\t@\u0004A\\tA\u0004B\\tB\u0004C\\tC\u0004D\\tD\u0003\u0002\u0003\",\"\u0002\u0003\u0003\u0003\u0003\u0003\u0004\u0003\u0004\u0003\u0005\u0003\",\"\u0005\u0003\u0006\u0003\u0006\u0003\u0007\u0003\u0007\u0003\\b\u0003\",\"\\b\u0003\\t\u0003\\t\u0003\\t\u0003\\t\u0003\\n\u0003\\n\u0003\\n\u0003\\n\u0003\",\"\\v\u0003\\v\u0003\\f\u0003\\f\u0003\\r\u0003\\r\u0003\\r\u0003\u000e\",\"\u0003\u000e\u0003\u000f\u0003\u000f\u0003\u0010\u0003\u0010\u0003\u0010\",\"\u0003\u0011\u0003\u0011\u0003\u0011\u0003\u0012\u0003\u0012\u0003\u0012\",\"\u0003\u0013\u0003\u0013\u0003\u0014\u0003\u0014\u0003\u0015\u0003\u0015\",\"\u0003\u0015\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0017\u0003\u0017\",\"\u0003\u0017\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018\",\"\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0019\u0003\u0019\",\"\u0003\u0019\u0003\u0019\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001b\",\"\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001c\u0003\u001c\u0003\u001c\",\"\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001d\",\"\u0003\u001d\u0003\u001e\u0003\u001e\u0003\u001f\u0003\u001f\u0003 \",'\u0003 \u0003!\u0003!\u0003!\u0003!\u0003!\u0003\"\u0003\"\u0003\"\u0003','\"\u0003\"\u0003\"\u0003#\u0003#\u0003$\u0003$\u0003$\u0003$\u0003$',\"\u0003$\u0003%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003&\u0003\",\"&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003'\u0003'\u0003(\u0003(\u0003\",\"(\u0003(\u0003(\u0003)\u0003)\u0003)\u0003)\u0003)\u0003)\u0003*\u0003\",\"*\u0003*\u0003*\u0003*\u0003+\u0003+\u0003+\u0003+\u0003,\u0003,\u0003\",\",\u0003,\u0003,\u0003-\u0003-\u0003-\u0003-\u0003-\u0003-\u0003-\u0003\",\".\u0003.\u0003.\u0003.\u0003.\u0003.\u0003.\u0003/\u0003/\u0003/\u0003\",\"/\u0003/\u0003/\u0003/\u0003/\u0003/\u0003/\u0003/\u0003/\u00030\u0003\",\"0\u00030\u00030\u00030\u00030\u00031\u00031\u00031\u00031\u00031\u0003\",\"1\u00031\u00032\u00032\u00032\u00032\u00032\u00032\u00033\u00033\u0003\",\"3\u00033\u00033\u00034\u00034\u00034\u00034\u00034\u00034\u00035\u0003\",\"5\u00035\u00035\u00035\u00035\u00035\u00035\u00036\u00036\u00036\u0003\",\"6\u00036\u00036\u00036\u00036\u00037\u00037\u00037\u00037\u00037\u0003\",\"7\u00037\u00037\u00037\u00037\u00037\u00037\u00037\u00038\u00038\u0003\",\"8\u00038\u00038\u00038\u00038\u00038\u00038\u00038\u00038\u00038\u0003\",\"8\u00058ƃ\\n8\u00058ƅ\\n8\u00058Ƈ\\n8\u00038\u00058Ɗ\",\"\\n8\u00039\u00039\u00039\u00039\u0003:\u0003:\u0003:\u0003:\u0003:\u0003\",\":\u0003:\u0003:\u0003:\u0003:\u0006:ƚ\\n:\\r:\u000e:ƛ\u0005\",\":ƞ\\n:\u0005:Ơ\\n:\u0005:Ƣ\\n:\u0003:\u0003:\u0003:\u0003\",\":\u0003:\u0003:\u0003:\u0005:ƫ\\n:\u0003;\u0005;Ʈ\\n;\u0003\",\";\u0007;Ʊ\\n;\\f;\u000e;ƴ\\v;\u0003<\u0003<\u0003<\u0007\",\"<ƹ\\n<\\f<\u000e<Ƽ\\v<\u0003<\u0003<\u0003=\u0003=\u0003\",\"=\u0007=ǃ\\n=\\f=\u000e=dž\\v=\u0003=\u0003=\u0003>\u0006\",\">Nj\\n>\\r>\u000e>nj\u0003>\u0003>\u0006>Ǒ\\n>\\r>\u000e>ǒ\",\"\u0005>Ǖ\\n>\u0003?\u0006?ǘ\\n?\\r?\u000e?Ǚ\u0003?\u0003\",\"?\u0003@\u0003@\u0003@\u0003@\u0007@Ǣ\\n@\\f@\u000e@ǥ\\v\",\"@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003A\u0003A\u0003A\u0003A\u0007\",\"Aǰ\\nA\\fA\u000eAdz\\vA\u0003A\u0003A\u0003B\u0003B\u0003\",\"B\u0005BǺ\\nB\u0003C\u0003C\u0003C\u0003C\u0003C\u0003C\u0003D\u0003\",\"D\u0003ǣ\u0002E\u0003\u0003\u0005\u0004\u0007\u0005\\t\u0006\\v\",\"\u0007\\r\\b\u000f\\t\u0011\\n\u0013\\v\u0015\\f\u0017\\r\u0019\u000e\u001b\",\"\u000f\u001d\u0010\u001f\u0011!\u0012#\u0013%\u0014'\u0015)\u0016+\",\"\u0017-\u0018/\u00191\u001a3\u001b5\u001c7\u001d9\u001e;\u001f= ?!A\",\"\\\"C#E$G%I&K'M(O)Q*S+U,W-Y.[/]0_1a2c3e4g5i6k7m8o9q:s\u0002u;w}\",\"?@Aƒ\u0002…\u0002‡\u0002\u0003\u0002\\f\u0003\",\"\u00022;\u0004\u0002--//\u0005\u0002C\\\\aac|\u0006\u00022;C\\\\aac|\u0004\",'\u0002^^bb\u0003\u0002))\u0005\u0002\\v\\f\u000f\u000f\"\"\u0004\u0002',\"\\f\\f\u000f\u000f\\n\u0002))11^^bbhhppttvv\u0005\u00022;CHch\u0002Ȕ\",\"\u0002\u0003\u0003\u0002\u0002\u0002\u0002\u0005\u0003\u0002\u0002\u0002\",\"\u0002\u0007\u0003\u0002\u0002\u0002\u0002\\t\u0003\u0002\u0002\u0002\",\"\u0002\\v\u0003\u0002\u0002\u0002\u0002\\r\u0003\u0002\u0002\u0002\",\"\u0002\u000f\u0003\u0002\u0002\u0002\u0002\u0011\u0003\u0002\u0002\u0002\",\"\u0002\u0013\u0003\u0002\u0002\u0002\u0002\u0015\u0003\u0002\u0002\u0002\",\"\u0002\u0017\u0003\u0002\u0002\u0002\u0002\u0019\u0003\u0002\u0002\u0002\",\"\u0002\u001b\u0003\u0002\u0002\u0002\u0002\u001d\u0003\u0002\u0002\u0002\",\"\u0002\u001f\u0003\u0002\u0002\u0002\u0002!\u0003\u0002\u0002\u0002\",\"\u0002#\u0003\u0002\u0002\u0002\u0002%\u0003\u0002\u0002\u0002\u0002\",\"'\u0003\u0002\u0002\u0002\u0002)\u0003\u0002\u0002\u0002\u0002+\u0003\",\"\u0002\u0002\u0002\u0002-\u0003\u0002\u0002\u0002\u0002/\u0003\u0002\",\"\u0002\u0002\u00021\u0003\u0002\u0002\u0002\u00023\u0003\u0002\u0002\",\"\u0002\u00025\u0003\u0002\u0002\u0002\u00027\u0003\u0002\u0002\u0002\",\"\u00029\u0003\u0002\u0002\u0002\u0002;\u0003\u0002\u0002\u0002\u0002\",\"=\u0003\u0002\u0002\u0002\u0002?\u0003\u0002\u0002\u0002\u0002A\u0003\",\"\u0002\u0002\u0002\u0002C\u0003\u0002\u0002\u0002\u0002E\u0003\u0002\",\"\u0002\u0002\u0002G\u0003\u0002\u0002\u0002\u0002I\u0003\u0002\u0002\",\"\u0002\u0002K\u0003\u0002\u0002\u0002\u0002M\u0003\u0002\u0002\u0002\",\"\u0002O\u0003\u0002\u0002\u0002\u0002Q\u0003\u0002\u0002\u0002\u0002\",\"S\u0003\u0002\u0002\u0002\u0002U\u0003\u0002\u0002\u0002\u0002W\u0003\",\"\u0002\u0002\u0002\u0002Y\u0003\u0002\u0002\u0002\u0002[\u0003\u0002\",\"\u0002\u0002\u0002]\u0003\u0002\u0002\u0002\u0002_\u0003\u0002\u0002\",\"\u0002\u0002a\u0003\u0002\u0002\u0002\u0002c\u0003\u0002\u0002\u0002\",\"\u0002e\u0003\u0002\u0002\u0002\u0002g\u0003\u0002\u0002\u0002\u0002\",\"i\u0003\u0002\u0002\u0002\u0002k\u0003\u0002\u0002\u0002\u0002m\u0003\",\"\u0002\u0002\u0002\u0002o\u0003\u0002\u0002\u0002\u0002q\u0003\u0002\",\"\u0002\u0002\u0002u\u0003\u0002\u0002\u0002\u0002w\u0003\u0002\u0002\",\"\u0002\u0002y\u0003\u0002\u0002\u0002\u0002{\u0003\u0002\u0002\u0002\",\"\u0002}\u0003\u0002\u0002\u0002\u0002\u0003\u0002\u0002\u0002\",\"\u0002\u0003\u0002\u0002\u0002\u0003‰\u0003\u0002\u0002\u0002\",\"\u0005‹\u0003\u0002\u0002\u0002\u0007\u0003\u0002\u0002\u0002\",\"\\t\u0003\u0002\u0002\u0002\\v‘\u0003\u0002\u0002\u0002\",\"\\r“\u0003\u0002\u0002\u0002\u000f•\u0003\u0002\u0002\u0002\",\"\u0011—\u0003\u0002\u0002\u0002\u0013›\u0003\u0002\u0002\u0002\",\"\u0015Ÿ\u0003\u0002\u0002\u0002\u0017¡\u0003\u0002\u0002\u0002\",\"\u0019£\u0003\u0002\u0002\u0002\u001b¦\u0003\u0002\u0002\u0002\",\"\u001d¨\u0003\u0002\u0002\u0002\u001fª\u0003\u0002\u0002\u0002\",\"!­\u0003\u0002\u0002\u0002#°\u0003\u0002\u0002\u0002%³\",\"\u0003\u0002\u0002\u0002'µ\u0003\u0002\u0002\u0002)·\u0003\",\"\u0002\u0002\u0002+º\u0003\u0002\u0002\u0002-½\u0003\u0002\",\"\u0002\u0002/À\u0003\u0002\u0002\u00021É\u0003\u0002\u0002\",\"\u00023Í\u0003\u0002\u0002\u00025Ð\u0003\u0002\u0002\u0002\",\"7Ô\u0003\u0002\u0002\u00029Ü\u0003\u0002\u0002\u0002;Þ\",\"\u0003\u0002\u0002\u0002=à\u0003\u0002\u0002\u0002?â\u0003\",\"\u0002\u0002\u0002Aä\u0003\u0002\u0002\u0002Cé\u0003\u0002\",\"\u0002\u0002Eï\u0003\u0002\u0002\u0002Gñ\u0003\u0002\u0002\",\"\u0002I÷\u0003\u0002\u0002\u0002Kþ\u0003\u0002\u0002\u0002\",\"Mą\u0003\u0002\u0002\u0002Oć\u0003\u0002\u0002\u0002QČ\",\"\u0003\u0002\u0002\u0002SĒ\u0003\u0002\u0002\u0002Uė\u0003\",\"\u0002\u0002\u0002Wě\u0003\u0002\u0002\u0002YĠ\u0003\u0002\",\"\u0002\u0002[ħ\u0003\u0002\u0002\u0002]Į\u0003\u0002\u0002\",\"\u0002_ĺ\u0003\u0002\u0002\u0002aŀ\u0003\u0002\u0002\u0002\",\"cŇ\u0003\u0002\u0002\u0002eō\u0003\u0002\u0002\u0002gŒ\",\"\u0003\u0002\u0002\u0002iŘ\u0003\u0002\u0002\u0002kŠ\u0003\",\"\u0002\u0002\u0002mŨ\u0003\u0002\u0002\u0002oŵ\u0003\u0002\",\"\u0002\u0002qƋ\u0003\u0002\u0002\u0002sƏ\u0003\u0002\u0002\",\"\u0002uƭ\u0003\u0002\u0002\u0002wƵ\u0003\u0002\u0002\u0002\",\"yƿ\u0003\u0002\u0002\u0002{NJ\u0003\u0002\u0002\u0002}Ǘ\",\"\u0003\u0002\u0002\u0002ǝ\u0003\u0002\u0002\u0002ǫ\",\"\u0003\u0002\u0002\u0002ƒǶ\u0003\u0002\u0002\u0002…ǻ\",\"\u0003\u0002\u0002\u0002‡ȁ\u0003\u0002\u0002\u0002‰Š\",\"\u00070\u0002\u0002Š\u0004\u0003\u0002\u0002\u0002‹Œ\",\"\u0007]\u0002\u0002Œ\u0006\u0003\u0002\u0002\u0002Ž\",\"\u0007_\u0002\u0002Ž\\b\u0003\u0002\u0002\u0002\u0007\",\"-\u0002\u0002\\n\u0003\u0002\u0002\u0002‘’\u0007/\u0002\",\"\u0002’\\f\u0003\u0002\u0002\u0002“”\u0007,\u0002\u0002\",\"”\u000e\u0003\u0002\u0002\u0002•–\u00071\u0002\u0002\",\"–\u0010\u0003\u0002\u0002\u0002—˜\u0007f\u0002\u0002\",\"˜™\u0007k\u0002\u0002™š\u0007x\u0002\u0002š\",\"\u0012\u0003\u0002\u0002\u0002›œ\u0007o\u0002\u0002œ\",\"\u0007q\u0002\u0002ž\u0007f\u0002\u0002ž\u0014\",\"\u0003\u0002\u0002\u0002Ÿ \u0007(\u0002\u0002 \u0016\",\"\u0003\u0002\u0002\u0002¡¢\u0007~\u0002\u0002¢\u0018\",\"\u0003\u0002\u0002\u0002£¤\u0007>\u0002\u0002¤¥\",\"\u0007?\u0002\u0002¥\u001a\u0003\u0002\u0002\u0002¦§\",\"\u0007>\u0002\u0002§\u001c\u0003\u0002\u0002\u0002¨©\",\"\u0007@\u0002\u0002©\u001e\u0003\u0002\u0002\u0002ª«\",\"\u0007@\u0002\u0002«¬\u0007?\u0002\u0002¬ \u0003\u0002\",\"\u0002\u0002­®\u0007k\u0002\u0002®¯\u0007u\u0002\",'\u0002¯\"\u0003\u0002\u0002\u0002°±\u0007c\u0002\u0002',\"±²\u0007u\u0002\u0002²$\u0003\u0002\u0002\u0002³\",\"´\u0007?\u0002\u0002´&\u0003\u0002\u0002\u0002µ¶\",\"\u0007€\u0002\u0002¶(\u0003\u0002\u0002\u0002·¸\",\"\u0007#\u0002\u0002¸¹\u0007?\u0002\u0002¹*\u0003\u0002\",\"\u0002\u0002º»\u0007#\u0002\u0002»¼\u0007€\",\"\u0002\u0002¼,\u0003\u0002\u0002\u0002½¾\u0007k\u0002\",\"\u0002¾¿\u0007p\u0002\u0002¿.\u0003\u0002\u0002\u0002\",\"ÀÁ\u0007e\u0002\u0002ÁÂ\u0007q\u0002\u0002Â\",\"Ã\u0007p\u0002\u0002ÃÄ\u0007v\u0002\u0002ÄÅ\",\"\u0007c\u0002\u0002ÅÆ\u0007k\u0002\u0002ÆÇ\u0007\",\"p\u0002\u0002ÇÈ\u0007u\u0002\u0002È0\u0003\u0002\u0002\",\"\u0002ÉÊ\u0007c\u0002\u0002ÊË\u0007p\u0002\u0002\",\"ËÌ\u0007f\u0002\u0002Ì2\u0003\u0002\u0002\u0002Í\",\"Î\u0007q\u0002\u0002ÎÏ\u0007t\u0002\u0002Ï4\u0003\",\"\u0002\u0002\u0002ÐÑ\u0007z\u0002\u0002ÑÒ\u0007\",\"q\u0002\u0002ÒÓ\u0007t\u0002\u0002Ó6\u0003\u0002\u0002\",\"\u0002ÔÕ\u0007k\u0002\u0002ÕÖ\u0007o\u0002\u0002\",\"Ö×\u0007r\u0002\u0002×Ø\u0007n\u0002\u0002Ø\",\"Ù\u0007k\u0002\u0002ÙÚ\u0007g\u0002\u0002ÚÛ\",\"\u0007u\u0002\u0002Û8\u0003\u0002\u0002\u0002ÜÝ\u0007\",\"*\u0002\u0002Ý:\u0003\u0002\u0002\u0002Þß\u0007+\u0002\",\"\u0002ß<\u0003\u0002\u0002\u0002àá\u0007}\u0002\u0002\",\"á>\u0003\u0002\u0002\u0002âã\u0007\u0002\u0002\",\"ã@\u0003\u0002\u0002\u0002äå\u0007v\u0002\u0002å\",\"æ\u0007t\u0002\u0002æç\u0007w\u0002\u0002çè\",\"\u0007g\u0002\u0002èB\u0003\u0002\u0002\u0002éê\u0007\",\"h\u0002\u0002êë\u0007c\u0002\u0002ëì\u0007n\u0002\",\"\u0002ìí\u0007u\u0002\u0002íî\u0007g\u0002\u0002\",\"îD\u0003\u0002\u0002\u0002ïð\u0007'\u0002\u0002ð\",\"F\u0003\u0002\u0002\u0002ñò\u0007&\u0002\u0002òó\",\"\u0007v\u0002\u0002óô\u0007j\u0002\u0002ôõ\u0007\",\"k\u0002\u0002õö\u0007u\u0002\u0002öH\u0003\u0002\u0002\",\"\u0002÷ø\u0007&\u0002\u0002øù\u0007k\u0002\u0002\",\"ùú\u0007p\u0002\u0002úû\u0007f\u0002\u0002û\",\"ü\u0007g\u0002\u0002üý\u0007z\u0002\u0002ýJ\u0003\",\"\u0002\u0002\u0002þÿ\u0007&\u0002\u0002ÿĀ\u0007\",\"v\u0002\u0002Āā\u0007q\u0002\u0002āĂ\u0007v\u0002\",\"\u0002Ăă\u0007c\u0002\u0002ăĄ\u0007n\u0002\u0002\",\"ĄL\u0003\u0002\u0002\u0002ąĆ\u0007.\u0002\u0002Ć\",\"N\u0003\u0002\u0002\u0002ćĈ\u0007{\u0002\u0002Ĉĉ\",\"\u0007g\u0002\u0002ĉĊ\u0007c\u0002\u0002Ċċ\u0007\",\"t\u0002\u0002ċP\u0003\u0002\u0002\u0002Čč\u0007o\u0002\",\"\u0002čĎ\u0007q\u0002\u0002Ďď\u0007p\u0002\u0002\",\"ďĐ\u0007v\u0002\u0002Đđ\u0007j\u0002\u0002đ\",\"R\u0003\u0002\u0002\u0002Ēē\u0007y\u0002\u0002ēĔ\",\"\u0007g\u0002\u0002Ĕĕ\u0007g\u0002\u0002ĕĖ\u0007\",\"m\u0002\u0002ĖT\u0003\u0002\u0002\u0002ėĘ\u0007f\u0002\",\"\u0002Ęę\u0007c\u0002\u0002ęĚ\u0007{\u0002\u0002\",\"ĚV\u0003\u0002\u0002\u0002ěĜ\u0007j\u0002\u0002Ĝ\",\"ĝ\u0007q\u0002\u0002ĝĞ\u0007w\u0002\u0002Ğğ\",\"\u0007t\u0002\u0002ğX\u0003\u0002\u0002\u0002Ġġ\u0007\",\"o\u0002\u0002ġĢ\u0007k\u0002\u0002Ģģ\u0007p\u0002\",\"\u0002ģĤ\u0007w\u0002\u0002Ĥĥ\u0007v\u0002\u0002\",\"ĥĦ\u0007g\u0002\u0002ĦZ\u0003\u0002\u0002\u0002ħ\",\"Ĩ\u0007u\u0002\u0002Ĩĩ\u0007g\u0002\u0002ĩĪ\",\"\u0007e\u0002\u0002Īī\u0007q\u0002\u0002īĬ\u0007\",\"p\u0002\u0002Ĭĭ\u0007f\u0002\u0002ĭ\\\\\u0003\u0002\u0002\",\"\u0002Įį\u0007o\u0002\u0002įİ\u0007k\u0002\u0002\",\"İı\u0007n\u0002\u0002ıIJ\u0007n\u0002\u0002IJ\",\"ij\u0007k\u0002\u0002ijĴ\u0007u\u0002\u0002Ĵĵ\",\"\u0007g\u0002\u0002ĵĶ\u0007e\u0002\u0002Ķķ\u0007\",\"q\u0002\u0002ķĸ\u0007p\u0002\u0002ĸĹ\u0007f\u0002\",\"\u0002Ĺ^\u0003\u0002\u0002\u0002ĺĻ\u0007{\u0002\u0002\",\"Ļļ\u0007g\u0002\u0002ļĽ\u0007c\u0002\u0002Ľ\",\"ľ\u0007t\u0002\u0002ľĿ\u0007u\u0002\u0002Ŀ`\u0003\",\"\u0002\u0002\u0002ŀŁ\u0007o\u0002\u0002Łł\u0007\",\"q\u0002\u0002łŃ\u0007p\u0002\u0002Ńń\u0007v\u0002\",\"\u0002ńŅ\u0007j\u0002\u0002Ņņ\u0007u\u0002\u0002\",\"ņb\u0003\u0002\u0002\u0002Ňň\u0007y\u0002\u0002ň\",\"ʼn\u0007g\u0002\u0002ʼnŊ\u0007g\u0002\u0002Ŋŋ\",\"\u0007m\u0002\u0002ŋŌ\u0007u\u0002\u0002Ōd\u0003\u0002\",\"\u0002\u0002ōŎ\u0007f\u0002\u0002Ŏŏ\u0007c\u0002\",\"\u0002ŏŐ\u0007{\u0002\u0002Őő\u0007u\u0002\u0002\",\"őf\u0003\u0002\u0002\u0002Œœ\u0007j\u0002\u0002œ\",\"Ŕ\u0007q\u0002\u0002Ŕŕ\u0007w\u0002\u0002ŕŖ\",\"\u0007t\u0002\u0002Ŗŗ\u0007u\u0002\u0002ŗh\u0003\u0002\",\"\u0002\u0002Řř\u0007o\u0002\u0002řŚ\u0007k\u0002\",\"\u0002Śś\u0007p\u0002\u0002śŜ\u0007w\u0002\u0002\",\"Ŝŝ\u0007v\u0002\u0002ŝŞ\u0007g\u0002\u0002Ş\",\"ş\u0007u\u0002\u0002şj\u0003\u0002\u0002\u0002Šš\",\"\u0007u\u0002\u0002šŢ\u0007g\u0002\u0002Ţţ\u0007\",\"e\u0002\u0002ţŤ\u0007q\u0002\u0002Ťť\u0007p\u0002\",\"\u0002ťŦ\u0007f\u0002\u0002Ŧŧ\u0007u\u0002\u0002\",\"ŧl\u0003\u0002\u0002\u0002Ũũ\u0007o\u0002\u0002ũ\",\"Ū\u0007k\u0002\u0002Ūū\u0007n\u0002\u0002ūŬ\",\"\u0007n\u0002\u0002Ŭŭ\u0007k\u0002\u0002ŭŮ\u0007\",\"u\u0002\u0002Ůů\u0007g\u0002\u0002ůŰ\u0007e\u0002\",\"\u0002Űű\u0007q\u0002\u0002űŲ\u0007p\u0002\u0002\",\"Ųų\u0007f\u0002\u0002ųŴ\u0007u\u0002\u0002Ŵ\",\"n\u0003\u0002\u0002\u0002ŵŶ\u0007B\u0002\u0002Ŷŷ\",\"\\t\u0002\u0002\u0002ŷŸ\\t\u0002\u0002\u0002ŸŹ\\t\u0002\",\"\u0002\u0002ŹƆ\\t\u0002\u0002\u0002źŻ\u0007/\u0002\",\"\u0002Żż\\t\u0002\u0002\u0002żƄ\\t\u0002\u0002\u0002\",\"Žž\u0007/\u0002\u0002žſ\\t\u0002\u0002\u0002ſ\",\"Ƃ\\t\u0002\u0002\u0002ƀƁ\u0007V\u0002\u0002Ɓƃ\",\"\u0005s:\u0002Ƃƀ\u0003\u0002\u0002\u0002Ƃƃ\u0003\",\"\u0002\u0002\u0002ƃƅ\u0003\u0002\u0002\u0002ƄŽ\u0003\",\"\u0002\u0002\u0002Ƅƅ\u0003\u0002\u0002\u0002ƅƇ\u0003\",\"\u0002\u0002\u0002Ɔź\u0003\u0002\u0002\u0002ƆƇ\u0003\",\"\u0002\u0002\u0002ƇƉ\u0003\u0002\u0002\u0002ƈƊ\u0007\",\"\\\\\u0002\u0002Ɖƈ\u0003\u0002\u0002\u0002ƉƊ\u0003\",\"\u0002\u0002\u0002Ɗp\u0003\u0002\u0002\u0002Ƌƌ\u0007\",\"B\u0002\u0002ƌƍ\u0007V\u0002\u0002ƍƎ\u0005s:\u0002\",\"Ǝr\u0003\u0002\u0002\u0002ƏƐ\\t\u0002\u0002\u0002Ɛ\",\"ơ\\t\u0002\u0002\u0002Ƒƒ\u0007<\u0002\u0002ƒƓ\",\"\\t\u0002\u0002\u0002ƓƟ\\t\u0002\u0002\u0002Ɣƕ\u0007\",\"<\u0002\u0002ƕƖ\\t\u0002\u0002\u0002ƖƝ\\t\u0002\u0002\",\"\u0002Ɨƙ\u00070\u0002\u0002Ƙƚ\\t\u0002\u0002\u0002\",\"ƙƘ\u0003\u0002\u0002\u0002ƚƛ\u0003\u0002\u0002\u0002\",\"ƛƙ\u0003\u0002\u0002\u0002ƛƜ\u0003\u0002\u0002\u0002\",\"Ɯƞ\u0003\u0002\u0002\u0002ƝƗ\u0003\u0002\u0002\u0002\",\"Ɲƞ\u0003\u0002\u0002\u0002ƞƠ\u0003\u0002\u0002\u0002\",\"ƟƔ\u0003\u0002\u0002\u0002ƟƠ\u0003\u0002\u0002\u0002\",\"ƠƢ\u0003\u0002\u0002\u0002ơƑ\u0003\u0002\u0002\u0002\",\"ơƢ\u0003\u0002\u0002\u0002Ƣƪ\u0003\u0002\u0002\u0002\",\"ƣƫ\u0007\\\\\u0002\u0002Ƥƥ\\t\u0003\u0002\u0002ƥ\",\"Ʀ\\t\u0002\u0002\u0002ƦƧ\\t\u0002\u0002\u0002Ƨƨ\",\"\u0007<\u0002\u0002ƨƩ\\t\u0002\u0002\u0002Ʃƫ\\t\u0002\",\"\u0002\u0002ƪƣ\u0003\u0002\u0002\u0002ƪƤ\u0003\u0002\",\"\u0002\u0002ƪƫ\u0003\u0002\u0002\u0002ƫt\u0003\u0002\",\"\u0002\u0002ƬƮ\\t\u0004\u0002\u0002ƭƬ\u0003\u0002\",\"\u0002\u0002ƮƲ\u0003\u0002\u0002\u0002ƯƱ\\t\u0005\",\"\u0002\u0002ưƯ\u0003\u0002\u0002\u0002Ʊƴ\u0003\u0002\",\"\u0002\u0002Ʋư\u0003\u0002\u0002\u0002ƲƳ\u0003\u0002\",\"\u0002\u0002Ƴv\u0003\u0002\u0002\u0002ƴƲ\u0003\u0002\",\"\u0002\u0002Ƶƺ\u0007b\u0002\u0002ƶƹ\u0005ƒ\",\"B\u0002Ʒƹ\\n\u0006\u0002\u0002Ƹƶ\u0003\u0002\u0002\",\"\u0002ƸƷ\u0003\u0002\u0002\u0002ƹƼ\u0003\u0002\u0002\",\"\u0002ƺƸ\u0003\u0002\u0002\u0002ƺƻ\u0003\u0002\u0002\",\"\u0002ƻƽ\u0003\u0002\u0002\u0002Ƽƺ\u0003\u0002\u0002\",\"\u0002ƽƾ\u0007b\u0002\u0002ƾx\u0003\u0002\u0002\u0002\",\"ƿDŽ\u0007)\u0002\u0002ǀǃ\u0005ƒB\u0002ǁ\",\"ǃ\\n\u0007\u0002\u0002ǂǀ\u0003\u0002\u0002\u0002ǂ\",\"ǁ\u0003\u0002\u0002\u0002ǃdž\u0003\u0002\u0002\u0002DŽ\",\"ǂ\u0003\u0002\u0002\u0002DŽDž\u0003\u0002\u0002\u0002Dž\",\"LJ\u0003\u0002\u0002\u0002džDŽ\u0003\u0002\u0002\u0002LJ\",\"Lj\u0007)\u0002\u0002Ljz\u0003\u0002\u0002\u0002ljNj\",\"\\t\u0002\u0002\u0002NJlj\u0003\u0002\u0002\u0002Njnj\",\"\u0003\u0002\u0002\u0002njNJ\u0003\u0002\u0002\u0002njǍ\",\"\u0003\u0002\u0002\u0002Ǎǔ\u0003\u0002\u0002\u0002ǎǐ\",\"\u00070\u0002\u0002ǏǑ\\t\u0002\u0002\u0002ǐǏ\u0003\",\"\u0002\u0002\u0002Ǒǒ\u0003\u0002\u0002\u0002ǒǐ\u0003\",\"\u0002\u0002\u0002ǒǓ\u0003\u0002\u0002\u0002ǓǕ\u0003\",\"\u0002\u0002\u0002ǔǎ\u0003\u0002\u0002\u0002ǔǕ\u0003\",\"\u0002\u0002\u0002Ǖ|\u0003\u0002\u0002\u0002ǖǘ\\t\\b\u0002\",\"\u0002Ǘǖ\u0003\u0002\u0002\u0002ǘǙ\u0003\u0002\u0002\",\"\u0002ǙǗ\u0003\u0002\u0002\u0002Ǚǚ\u0003\u0002\u0002\",\"\u0002ǚǛ\u0003\u0002\u0002\u0002Ǜǜ\\b?\u0002\u0002\",\"ǜ~\u0003\u0002\u0002\u0002ǝǞ\u00071\u0002\u0002Ǟ\",\"ǟ\u0007,\u0002\u0002ǟǣ\u0003\u0002\u0002\u0002Ǡ\",\"Ǣ\\v\u0002\u0002\u0002ǡǠ\u0003\u0002\u0002\u0002Ǣ\",\"ǥ\u0003\u0002\u0002\u0002ǣǤ\u0003\u0002\u0002\u0002ǣ\",\"ǡ\u0003\u0002\u0002\u0002ǤǦ\u0003\u0002\u0002\u0002ǥ\",\"ǣ\u0003\u0002\u0002\u0002Ǧǧ\u0007,\u0002\u0002ǧ\",\"Ǩ\u00071\u0002\u0002Ǩǩ\u0003\u0002\u0002\u0002ǩ\",\"Ǫ\\b@\u0002\u0002Ǫ€\u0003\u0002\u0002\u0002ǫǬ\",\"\u00071\u0002\u0002Ǭǭ\u00071\u0002\u0002ǭDZ\u0003\",\"\u0002\u0002\u0002Ǯǰ\\n\\t\u0002\u0002ǯǮ\u0003\u0002\",\"\u0002\u0002ǰdz\u0003\u0002\u0002\u0002DZǯ\u0003\u0002\",\"\u0002\u0002DZDz\u0003\u0002\u0002\u0002DzǴ\u0003\u0002\",\"\u0002\u0002dzDZ\u0003\u0002\u0002\u0002Ǵǵ\\bA\u0002\",\"\u0002ǵ‚\u0003\u0002\u0002\u0002Ƕǹ\u0007^\u0002\",\"\u0002ǷǺ\\t\\n\u0002\u0002ǸǺ\u0005…C\u0002ǹ\",\"Ƿ\u0003\u0002\u0002\u0002ǹǸ\u0003\u0002\u0002\u0002Ǻ\",\"„\u0003\u0002\u0002\u0002ǻǼ\u0007w\u0002\u0002Ǽ\",\"ǽ\u0005‡D\u0002ǽǾ\u0005‡D\u0002Ǿǿ\",\"\u0005‡D\u0002ǿȀ\u0005‡D\u0002Ȁ†\u0003\",\"\u0002\u0002\u0002ȁȂ\\t\\v\u0002\u0002Ȃˆ\u0003\",\"\u0002\u0002\u0002\u001a\u0002ƂƄƆƉƛƝƟ\",\"ơƪƭưƲƸƺǂDŽnjǒǔ\",\"ǙǣDZǹ\u0003\u0002\u0003\u0002\"].join(\"\"),m=(new c.atn.ATNDeserializer).deserialize(f),h=m.decisionToState.map((function(e,t){return new c.dfa.DFA(e,t)})),p=function(e){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&i(e,t)}(p,e);var t,n,o,u,f=(o=p,u=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=s(o);if(u){var n=s(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&(\"object\"===r(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return a(e)}(this,e)});function p(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,p),(t=f.call(this,e))._interp=new c.atn.LexerATNSimulator(a(t),m,h,new c.PredictionContextCache),t}return t=p,(n=[{key:\"atn\",get:function(){return m}}])&&l(t.prototype,n),Object.defineProperty(t,\"prototype\",{writable:!1}),p}(c.Lexer);o(p,\"grammarFileName\",\"FHIRPath.g4\"),o(p,\"channelNames\",[\"DEFAULT_TOKEN_CHANNEL\",\"HIDDEN\"]),o(p,\"modeNames\",[\"DEFAULT_MODE\"]),o(p,\"literalNames\",[null,\"'.'\",\"'['\",\"']'\",\"'+'\",\"'-'\",\"'*'\",\"'/'\",\"'div'\",\"'mod'\",\"'&'\",\"'|'\",\"'<='\",\"'<'\",\"'>'\",\"'>='\",\"'is'\",\"'as'\",\"'='\",\"'~'\",\"'!='\",\"'!~'\",\"'in'\",\"'contains'\",\"'and'\",\"'or'\",\"'xor'\",\"'implies'\",\"'('\",\"')'\",\"'{'\",\"'}'\",\"'true'\",\"'false'\",\"'%'\",\"'$this'\",\"'$index'\",\"'$total'\",\"','\",\"'year'\",\"'month'\",\"'week'\",\"'day'\",\"'hour'\",\"'minute'\",\"'second'\",\"'millisecond'\",\"'years'\",\"'months'\",\"'weeks'\",\"'days'\",\"'hours'\",\"'minutes'\",\"'seconds'\",\"'milliseconds'\"]),o(p,\"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,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"DATETIME\",\"TIME\",\"IDENTIFIER\",\"DELIMITEDIDENTIFIER\",\"STRING\",\"NUMBER\",\"WS\",\"COMMENT\",\"LINE_COMMENT\"]),o(p,\"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\",\"T__34\",\"T__35\",\"T__36\",\"T__37\",\"T__38\",\"T__39\",\"T__40\",\"T__41\",\"T__42\",\"T__43\",\"T__44\",\"T__45\",\"T__46\",\"T__47\",\"T__48\",\"T__49\",\"T__50\",\"T__51\",\"T__52\",\"T__53\",\"DATETIME\",\"TIME\",\"TIMEFORMAT\",\"IDENTIFIER\",\"DELIMITEDIDENTIFIER\",\"STRING\",\"NUMBER\",\"WS\",\"COMMENT\",\"LINE_COMMENT\",\"ESC\",\"UNICODE\",\"HEX\"]),p.EOF=c.Token.EOF,p.T__0=1,p.T__1=2,p.T__2=3,p.T__3=4,p.T__4=5,p.T__5=6,p.T__6=7,p.T__7=8,p.T__8=9,p.T__9=10,p.T__10=11,p.T__11=12,p.T__12=13,p.T__13=14,p.T__14=15,p.T__15=16,p.T__16=17,p.T__17=18,p.T__18=19,p.T__19=20,p.T__20=21,p.T__21=22,p.T__22=23,p.T__23=24,p.T__24=25,p.T__25=26,p.T__26=27,p.T__27=28,p.T__28=29,p.T__29=30,p.T__30=31,p.T__31=32,p.T__32=33,p.T__33=34,p.T__34=35,p.T__35=36,p.T__36=37,p.T__37=38,p.T__38=39,p.T__39=40,p.T__40=41,p.T__41=42,p.T__42=43,p.T__43=44,p.T__44=45,p.T__45=46,p.T__46=47,p.T__47=48,p.T__48=49,p.T__49=50,p.T__50=51,p.T__51=52,p.T__52=53,p.T__53=54,p.DATETIME=55,p.TIME=56,p.IDENTIFIER=57,p.DELIMITEDIDENTIFIER=58,p.STRING=59,p.NUMBER=60,p.WS=61,p.COMMENT=62,p.LINE_COMMENT=63,e.exports=p},4454:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){for(var n=0;n?\\f\u0004\u0002\",\"\u0002?@\\t\\b\u0002\u0002@P\u0005\u0004\u0003\u0005AB\\f\u0003\u0002\u0002\",\"BC\u0007\u001d\u0002\u0002CP\u0005\u0004\u0003\u0004DE\\f\u000f\u0002\",\"\u0002EF\u0007\u0003\u0002\u0002FP\u0005\\f\u0007\u0002GH\\f\u000e\u0002\",\"\u0002HI\u0007\u0004\u0002\u0002IJ\u0005\u0004\u0003\u0002JK\u0007\u0005\",\"\u0002\u0002KP\u0003\u0002\u0002\u0002LM\\f\\b\u0002\u0002MN\\t\\t\u0002\",\"\u0002NP\u0005\u001a\u000e\u0002O)\u0003\u0002\u0002\u0002O,\u0003\u0002\",\"\u0002\u0002O/\u0003\u0002\u0002\u0002O2\u0003\u0002\u0002\u0002O5\u0003\",\"\u0002\u0002\u0002O8\u0003\u0002\u0002\u0002O;\u0003\u0002\u0002\u0002\",\"O>\u0003\u0002\u0002\u0002OA\u0003\u0002\u0002\u0002OD\u0003\u0002\u0002\",\"\u0002OG\u0003\u0002\u0002\u0002OL\u0003\u0002\u0002\u0002PS\u0003\u0002\",\"\u0002\u0002QO\u0003\u0002\u0002\u0002QR\u0003\u0002\u0002\u0002R\u0005\",\"\u0003\u0002\u0002\u0002SQ\u0003\u0002\u0002\u0002T\\\\\u0005\\f\u0007\",\"\u0002U\\\\\u0005\\b\u0005\u0002V\\\\\u0005\\n\u0006\u0002WX\u0007\u001e\u0002\",\"\u0002XY\u0005\u0004\u0003\u0002YZ\u0007\u001f\u0002\u0002Z\\\\\u0003\",\"\u0002\u0002\u0002[T\u0003\u0002\u0002\u0002[U\u0003\u0002\u0002\u0002\",\"[V\u0003\u0002\u0002\u0002[W\u0003\u0002\u0002\u0002\\\\\u0007\u0003\u0002\",\"\u0002\u0002]^\u0007 \u0002\u0002^f\u0007!\u0002\u0002_f\\t\\n\u0002\u0002\",\"`f\u0007=\u0002\u0002af\u0007>\u0002\u0002bf\u00079\u0002\u0002cf\u0007\",\":\u0002\u0002df\u0005\u0012\\n\u0002e]\u0003\u0002\u0002\u0002e_\u0003\",\"\u0002\u0002\u0002e`\u0003\u0002\u0002\u0002ea\u0003\u0002\u0002\u0002\",\"eb\u0003\u0002\u0002\u0002ec\u0003\u0002\u0002\u0002ed\u0003\u0002\u0002\",\"\u0002f\\t\u0003\u0002\u0002\u0002gj\u0007$\u0002\u0002hk\u0005\u001e\",\"\u0010\u0002ik\u0007=\u0002\u0002jh\u0003\u0002\u0002\u0002ji\u0003\",\"\u0002\u0002\u0002k\\v\u0003\u0002\u0002\u0002lr\u0005\u001e\u0010\",\"\u0002mr\u0005\u000e\\b\u0002nr\u0007%\u0002\u0002or\u0007&\u0002\u0002\",\"pr\u0007'\u0002\u0002ql\u0003\u0002\u0002\u0002qm\u0003\u0002\u0002\",\"\u0002qn\u0003\u0002\u0002\u0002qo\u0003\u0002\u0002\u0002qp\u0003\u0002\",\"\u0002\u0002r\\r\u0003\u0002\u0002\u0002st\u0005\u001e\u0010\u0002tv\",\"\u0007\u001e\u0002\u0002uw\u0005\u0010\\t\u0002vu\u0003\u0002\u0002\u0002\",\"vw\u0003\u0002\u0002\u0002wx\u0003\u0002\u0002\u0002xy\u0007\u001f\u0002\",\"\u0002y\u000f\u0003\u0002\u0002\u0002z\u0005\u0004\u0003\u0002\",\"{|\u0007(\u0002\u0002|~\u0005\u0004\u0003\u0002}{\u0003\u0002\u0002\",\"\u0002~\u0003\u0002\u0002\u0002}\u0003\u0002\u0002\u0002\",\"€\u0003\u0002\u0002\u0002€\u0011\u0003\u0002\u0002\u0002\",\"\u0003\u0002\u0002\u0002‚„\u0007>\u0002\u0002\",\"ƒ…\u0005\u0014\\v\u0002„ƒ\u0003\u0002\u0002\u0002\",\"„…\u0003\u0002\u0002\u0002…\u0013\u0003\u0002\u0002\u0002\",\"†Š\u0005\u0016\\f\u0002‡Š\u0005\u0018\\r\u0002ˆ\",\"Š\u0007=\u0002\u0002‰†\u0003\u0002\u0002\u0002‰\",\"‡\u0003\u0002\u0002\u0002‰ˆ\u0003\u0002\u0002\u0002Š\",\"\u0015\u0003\u0002\u0002\u0002‹Œ\\t\\v\u0002\u0002Œ\",\"\u0017\u0003\u0002\u0002\u0002Ž\\t\\f\u0002\u0002Ž\u0019\",\"\u0003\u0002\u0002\u0002\u0005\u001c\u000f\u0002\u001b\",\"\u0003\u0002\u0002\u0002‘–\u0005\u001e\u0010\u0002’“\",\"\u0007\u0003\u0002\u0002“•\u0005\u001e\u0010\u0002”’\",\"\u0003\u0002\u0002\u0002•˜\u0003\u0002\u0002\u0002–”\",\"\u0003\u0002\u0002\u0002–—\u0003\u0002\u0002\u0002—\u001d\",\"\u0003\u0002\u0002\u0002˜–\u0003\u0002\u0002\u0002™š\",\"\\t\\r\u0002\u0002š\u001f\u0003\u0002\u0002\u0002\u000e'OQ[ejqv\",\"„‰–\"].join(\"\"),v=(new d.atn.ATNDeserializer).deserialize(g),b=v.decisionToState.map((function(e,t){return new d.dfa.DFA(e,t)})),_=new d.PredictionContextCache,C=function(e){o(n,e);var t=c(n);function n(e){var r;return i(this,n),(r=t.call(this,e))._interp=new d.atn.ParserATNSimulator(f(r),v,b,_),r.ruleNames=n.ruleNames,r.literalNames=n.literalNames,r.symbolicNames=n.symbolicNames,r}return s(n,[{key:\"atn\",get:function(){return v}},{key:\"sempred\",value:function(e,t,n){if(1===t)return this.expression_sempred(e,n);throw\"No predicate with index:\"+t}},{key:\"expression_sempred\",value:function(e,t){switch(t){case 0:return this.precpred(this._ctx,10);case 1:return this.precpred(this._ctx,9);case 2:return this.precpred(this._ctx,8);case 3:return this.precpred(this._ctx,7);case 4:return this.precpred(this._ctx,5);case 5:return this.precpred(this._ctx,4);case 6:return this.precpred(this._ctx,3);case 7:return this.precpred(this._ctx,2);case 8:return this.precpred(this._ctx,1);case 9:return this.precpred(this._ctx,13);case 10:return this.precpred(this._ctx,12);case 11:return this.precpred(this._ctx,6);default:throw\"No predicate with index:\"+t}}},{key:\"entireExpression\",value:function(){var e=new L(this,this._ctx,this.state);this.enterRule(e,0,n.RULE_entireExpression);try{this.enterOuterAlt(e,1),this.state=30,this.expression(0),this.state=31,this.match(n.EOF)}catch(t){if(!(t instanceof d.error.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}},{key:\"expression\",value:function(e){void 0===e&&(e=0);var t=this._ctx,r=this.state,l=new k(this,this._ctx,r);this.enterRecursionRule(l,2,n.RULE_expression,e);var i=0;try{switch(this.enterOuterAlt(l,1),this.state=37,this._errHandler.sync(this),this._input.LA(1)){case n.T__15:case n.T__16:case n.T__21:case n.T__22:case n.T__27:case n.T__29:case n.T__31:case n.T__32:case n.T__33:case n.T__34:case n.T__35:case n.T__36:case n.DATETIME:case n.TIME:case n.IDENTIFIER:case n.DELIMITEDIDENTIFIER:case n.STRING:case n.NUMBER:l=new A(this,l),this._ctx=l,this.state=34,this.term();break;case n.T__3:case n.T__4:l=new T(this,l),this._ctx=l,this.state=35,(i=this._input.LA(1))!==n.T__3&&i!==n.T__4?this._errHandler.recoverInline(this):(this._errHandler.reportMatch(this),this.consume()),this.state=36,this.expression(11);break;default:throw new d.error.NoViableAltException(this)}this._ctx.stop=this._input.LT(-1),this.state=79,this._errHandler.sync(this);for(var a=this._interp.adaptivePredict(this._input,2,this._ctx);2!=a&&a!=d.atn.ATN.INVALID_ALT_NUMBER;){if(1===a)switch(null!==this._parseListeners&&this.triggerExitRuleEvent(),this.state=77,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,1,this._ctx)){case 1:if(l=new O(this,new k(this,t,r)),this.pushNewRecursionContext(l,2,n.RULE_expression),this.state=39,!this.precpred(this._ctx,10))throw new d.error.FailedPredicateException(this,\"this.precpred(this._ctx, 10)\");this.state=40,0!=(-32&(i=this._input.LA(1)))||0==(1<'\",\"'>='\",\"'is'\",\"'as'\",\"'='\",\"'~'\",\"'!='\",\"'!~'\",\"'in'\",\"'contains'\",\"'and'\",\"'or'\",\"'xor'\",\"'implies'\",\"'('\",\"')'\",\"'{'\",\"'}'\",\"'true'\",\"'false'\",\"'%'\",\"'$this'\",\"'$index'\",\"'$total'\",\"','\",\"'year'\",\"'month'\",\"'week'\",\"'day'\",\"'hour'\",\"'minute'\",\"'second'\",\"'millisecond'\",\"'years'\",\"'months'\",\"'weeks'\",\"'days'\",\"'hours'\",\"'minutes'\",\"'seconds'\",\"'milliseconds'\"]),h(C,\"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,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"DATETIME\",\"TIME\",\"IDENTIFIER\",\"DELIMITEDIDENTIFIER\",\"STRING\",\"NUMBER\",\"WS\",\"COMMENT\",\"LINE_COMMENT\"]),h(C,\"ruleNames\",[\"entireExpression\",\"expression\",\"term\",\"literal\",\"externalConstant\",\"invocation\",\"functn\",\"paramList\",\"quantity\",\"unit\",\"dateTimePrecision\",\"pluralDateTimePrecision\",\"typeSpecifier\",\"qualifiedIdentifier\",\"identifier\"]),C.EOF=d.Token.EOF,C.T__0=1,C.T__1=2,C.T__2=3,C.T__3=4,C.T__4=5,C.T__5=6,C.T__6=7,C.T__7=8,C.T__8=9,C.T__9=10,C.T__10=11,C.T__11=12,C.T__12=13,C.T__13=14,C.T__14=15,C.T__15=16,C.T__16=17,C.T__17=18,C.T__18=19,C.T__19=20,C.T__20=21,C.T__21=22,C.T__22=23,C.T__23=24,C.T__24=25,C.T__25=26,C.T__26=27,C.T__27=28,C.T__28=29,C.T__29=30,C.T__30=31,C.T__31=32,C.T__32=33,C.T__33=34,C.T__34=35,C.T__35=36,C.T__36=37,C.T__37=38,C.T__38=39,C.T__39=40,C.T__40=41,C.T__41=42,C.T__42=43,C.T__43=44,C.T__44=45,C.T__45=46,C.T__46=47,C.T__47=48,C.T__48=49,C.T__49=50,C.T__50=51,C.T__51=52,C.T__52=53,C.T__53=54,C.DATETIME=55,C.TIME=56,C.IDENTIFIER=57,C.DELIMITEDIDENTIFIER=58,C.STRING=59,C.NUMBER=60,C.WS=61,C.COMMENT=62,C.LINE_COMMENT=63,C.RULE_entireExpression=0,C.RULE_expression=1,C.RULE_term=2,C.RULE_literal=3,C.RULE_externalConstant=4,C.RULE_invocation=5,C.RULE_functn=6,C.RULE_paramList=7,C.RULE_quantity=8,C.RULE_unit=9,C.RULE_dateTimePrecision=10,C.RULE_pluralDateTimePrecision=11,C.RULE_typeSpecifier=12,C.RULE_qualifiedIdentifier=13,C.RULE_identifier=14;var L=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_entireExpression,a}return s(n,[{key:\"expression\",value:function(){return this.getTypedRuleContext(k,0)}},{key:\"EOF\",value:function(){return this.getToken(C.EOF,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterEntireExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitEntireExpression(this)}}]),n}(d.ParserRuleContext),k=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_expression,a}return s(n,[{key:\"copyFrom\",value:function(e){l(m(n.prototype),\"copyFrom\",this).call(this,e)}}]),n}(d.ParserRuleContext),S=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),h(f(s=t.call(this,e)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(k):this.getTypedRuleContext(k,e)})),l((a=f(s),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterIndexerExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitIndexerExpression(this)}}]),n}(k);C.IndexerExpressionContext=S;var T=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"expression\",value:function(){return this.getTypedRuleContext(k,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterPolarityExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitPolarityExpression(this)}}]),n}(k);C.PolarityExpressionContext=T;var U=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),h(f(s=t.call(this,e)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(k):this.getTypedRuleContext(k,e)})),l((a=f(s),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterAdditiveExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitAdditiveExpression(this)}}]),n}(k);C.AdditiveExpressionContext=U;var O=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),h(f(s=t.call(this,e)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(k):this.getTypedRuleContext(k,e)})),l((a=f(s),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterMultiplicativeExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitMultiplicativeExpression(this)}}]),n}(k);C.MultiplicativeExpressionContext=O;var x=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),h(f(s=t.call(this,e)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(k):this.getTypedRuleContext(k,e)})),l((a=f(s),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterUnionExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitUnionExpression(this)}}]),n}(k);C.UnionExpressionContext=x;var M=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),h(f(s=t.call(this,e)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(k):this.getTypedRuleContext(k,e)})),l((a=f(s),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterOrExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitOrExpression(this)}}]),n}(k);C.OrExpressionContext=M;var I=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),h(f(s=t.call(this,e)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(k):this.getTypedRuleContext(k,e)})),l((a=f(s),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterAndExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitAndExpression(this)}}]),n}(k);C.AndExpressionContext=I;var E=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),h(f(s=t.call(this,e)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(k):this.getTypedRuleContext(k,e)})),l((a=f(s),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterMembershipExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitMembershipExpression(this)}}]),n}(k);C.MembershipExpressionContext=E;var w=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),h(f(s=t.call(this,e)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(k):this.getTypedRuleContext(k,e)})),l((a=f(s),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterInequalityExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitInequalityExpression(this)}}]),n}(k);C.InequalityExpressionContext=w;var N=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"expression\",value:function(){return this.getTypedRuleContext(k,0)}},{key:\"invocation\",value:function(){return this.getTypedRuleContext(X,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterInvocationExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitInvocationExpression(this)}}]),n}(k);C.InvocationExpressionContext=N;var P=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),h(f(s=t.call(this,e)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(k):this.getTypedRuleContext(k,e)})),l((a=f(s),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterEqualityExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitEqualityExpression(this)}}]),n}(k);C.EqualityExpressionContext=P;var R=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),h(f(s=t.call(this,e)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(k):this.getTypedRuleContext(k,e)})),l((a=f(s),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterImpliesExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitImpliesExpression(this)}}]),n}(k);C.ImpliesExpressionContext=R;var A=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"term\",value:function(){return this.getTypedRuleContext(F,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterTermExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitTermExpression(this)}}]),n}(k);C.TermExpressionContext=A;var D=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"expression\",value:function(){return this.getTypedRuleContext(k,0)}},{key:\"typeSpecifier\",value:function(){return this.getTypedRuleContext(ce,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterTypeExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitTypeExpression(this)}}]),n}(k);C.TypeExpressionContext=D;var F=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_term,a}return s(n,[{key:\"copyFrom\",value:function(e){l(m(n.prototype),\"copyFrom\",this).call(this,e)}}]),n}(d.ParserRuleContext),q=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"externalConstant\",value:function(){return this.getTypedRuleContext($,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterExternalConstantTerm(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitExternalConstantTerm(this)}}]),n}(F);C.ExternalConstantTermContext=q;var j=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"literal\",value:function(){return this.getTypedRuleContext(z,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterLiteralTerm(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitLiteralTerm(this)}}]),n}(F);C.LiteralTermContext=j;var B=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"expression\",value:function(){return this.getTypedRuleContext(k,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterParenthesizedTerm(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitParenthesizedTerm(this)}}]),n}(F);C.ParenthesizedTermContext=B;var H=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"invocation\",value:function(){return this.getTypedRuleContext(X,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterInvocationTerm(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitInvocationTerm(this)}}]),n}(F);C.InvocationTermContext=H;var z=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_literal,a}return s(n,[{key:\"copyFrom\",value:function(e){l(m(n.prototype),\"copyFrom\",this).call(this,e)}}]),n}(d.ParserRuleContext),G=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"TIME\",value:function(){return this.getToken(C.TIME,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterTimeLiteral(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitTimeLiteral(this)}}]),n}(z);C.TimeLiteralContext=G;var V=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterNullLiteral(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitNullLiteral(this)}}]),n}(z);C.NullLiteralContext=V;var K=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"DATETIME\",value:function(){return this.getToken(C.DATETIME,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterDateTimeLiteral(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitDateTimeLiteral(this)}}]),n}(z);C.DateTimeLiteralContext=K;var W=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"STRING\",value:function(){return this.getToken(C.STRING,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterStringLiteral(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitStringLiteral(this)}}]),n}(z);C.StringLiteralContext=W;var J=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterBooleanLiteral(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitBooleanLiteral(this)}}]),n}(z);C.BooleanLiteralContext=J;var Y=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"NUMBER\",value:function(){return this.getToken(C.NUMBER,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterNumberLiteral(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitNumberLiteral(this)}}]),n}(z);C.NumberLiteralContext=Y;var Q=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"quantity\",value:function(){return this.getTypedRuleContext(ae,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterQuantityLiteral(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitQuantityLiteral(this)}}]),n}(z);C.QuantityLiteralContext=Q;var $=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_externalConstant,a}return s(n,[{key:\"identifier\",value:function(){return this.getTypedRuleContext(me,0)}},{key:\"STRING\",value:function(){return this.getToken(C.STRING,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterExternalConstant(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitExternalConstant(this)}}]),n}(d.ParserRuleContext),X=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_invocation,a}return s(n,[{key:\"copyFrom\",value:function(e){l(m(n.prototype),\"copyFrom\",this).call(this,e)}}]),n}(d.ParserRuleContext),Z=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterTotalInvocation(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitTotalInvocation(this)}}]),n}(X);C.TotalInvocationContext=Z;var ee=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterThisInvocation(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitThisInvocation(this)}}]),n}(X);C.ThisInvocationContext=ee;var te=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterIndexInvocation(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitIndexInvocation(this)}}]),n}(X);C.IndexInvocationContext=te;var ne=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"functn\",value:function(){return this.getTypedRuleContext(le,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterFunctionInvocation(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitFunctionInvocation(this)}}]),n}(X);C.FunctionInvocationContext=ne;var re=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"identifier\",value:function(){return this.getTypedRuleContext(me,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterMemberInvocation(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitMemberInvocation(this)}}]),n}(X);C.MemberInvocationContext=re;var le=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_functn,a}return s(n,[{key:\"identifier\",value:function(){return this.getTypedRuleContext(me,0)}},{key:\"paramList\",value:function(){return this.getTypedRuleContext(ie,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterFunctn(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitFunctn(this)}}]),n}(d.ParserRuleContext),ie=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),h(f(a=t.call(this,r,l)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(k):this.getTypedRuleContext(k,e)})),a.parser=e,a.ruleIndex=C.RULE_paramList,a}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterParamList(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitParamList(this)}}]),n}(d.ParserRuleContext),ae=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_quantity,a}return s(n,[{key:\"NUMBER\",value:function(){return this.getToken(C.NUMBER,0)}},{key:\"unit\",value:function(){return this.getTypedRuleContext(se,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterQuantity(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitQuantity(this)}}]),n}(d.ParserRuleContext),se=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_unit,a}return s(n,[{key:\"dateTimePrecision\",value:function(){return this.getTypedRuleContext(oe,0)}},{key:\"pluralDateTimePrecision\",value:function(){return this.getTypedRuleContext(ue,0)}},{key:\"STRING\",value:function(){return this.getToken(C.STRING,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterUnit(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitUnit(this)}}]),n}(d.ParserRuleContext),oe=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_dateTimePrecision,a}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterDateTimePrecision(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitDateTimePrecision(this)}}]),n}(d.ParserRuleContext),ue=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_pluralDateTimePrecision,a}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterPluralDateTimePrecision(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitPluralDateTimePrecision(this)}}]),n}(d.ParserRuleContext),ce=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_typeSpecifier,a}return s(n,[{key:\"qualifiedIdentifier\",value:function(){return this.getTypedRuleContext(fe,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterTypeSpecifier(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitTypeSpecifier(this)}}]),n}(d.ParserRuleContext),fe=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),h(f(a=t.call(this,r,l)),\"identifier\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(me):this.getTypedRuleContext(me,e)})),a.parser=e,a.ruleIndex=C.RULE_qualifiedIdentifier,a}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterQualifiedIdentifier(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitQualifiedIdentifier(this)}}]),n}(d.ParserRuleContext),me=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_identifier,a}return s(n,[{key:\"IDENTIFIER\",value:function(){return this.getToken(C.IDENTIFIER,0)}},{key:\"DELIMITEDIDENTIFIER\",value:function(){return this.getToken(C.DELIMITEDIDENTIFIER,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterIdentifier(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitIdentifier(this)}}]),n}(d.ParserRuleContext);C.EntireExpressionContext=L,C.ExpressionContext=k,C.TermContext=F,C.LiteralContext=z,C.ExternalConstantContext=$,C.InvocationContext=X,C.FunctnContext=le,C.ParamListContext=ie,C.QuantityContext=ae,C.UnitContext=se,C.DateTimePrecisionContext=oe,C.PluralDateTimePrecisionContext=ue,C.TypeSpecifierContext=ce,C.QualifiedIdentifierContext=fe,C.IdentifierContext=me,e.exports=C},8168:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){var n=\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if(\"string\"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e))||t&&e&&\"number\"==typeof e.length){n&&(e=n);var r=0,l=function(){};return{s:l,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:l}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var a,s=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){o=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(o)throw a}}}}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0){for(var U=[],O=0,x=s.length;On.length)&&(t=n.length),t-=e.length;var r=n.indexOf(e,t);return-1!==r&&r===t}}),String.prototype.includes||Object.defineProperty(String.prototype,\"includes\",{value:function(){return-1!==this.indexOf.apply(this,arguments)}}),Object.assign||Object.defineProperty(Object,\"assign\",{value:function(e){if(null==e)throw new TypeError(\"Cannot convert undefined or null to object\");return r(arguments,1).reduce((function(e,t){return Object.keys(Object(t)).forEach((function(n){e[n]=t[n]})),e}),Object(e))}}),\"undefined\"==typeof btoa&&(n.g.btoa=function(e){return new Buffer.from(e,\"binary\").toString(\"base64\")}),\"undefined\"==typeof atob&&(n.g.atob=function(e){return new Buffer.from(e,\"base64\").toString(\"binary\")})},2705:function(e,t,n){var r=n(1575),l=n(4230),i={},a={};i.indexOf=function(e,t){var n=l.singleton(e,\"String\");return r.isEmpty(t)||r.isEmpty(n)?[]:n.indexOf(t)},i.substring=function(e,t,n){var i=l.singleton(e,\"String\");return r.isEmpty(i)||r.isEmpty(t)||t<0||t>=i.length?[]:void 0===n||r.isEmpty(n)?i.substring(t):i.substring(t,t+n)},i.startsWith=function(e,t){var n=l.singleton(e,\"String\");return r.isEmpty(t)||r.isEmpty(n)?[]:n.startsWith(t)},i.endsWith=function(e,t){var n=l.singleton(e,\"String\");return r.isEmpty(t)||r.isEmpty(n)?[]:n.endsWith(t)},i.containsFn=function(e,t){var n=l.singleton(e,\"String\");return r.isEmpty(t)||r.isEmpty(n)?[]:n.includes(t)},i.upper=function(e){var t=l.singleton(e,\"String\");return r.isEmpty(t)?[]:t.toUpperCase()},i.lower=function(e){var t=l.singleton(e,\"String\");return r.isEmpty(t)?[]:t.toLowerCase()},i.joinFn=function(e,t){return void 0===t&&(t=\"\"),e.map((function(e){var t=r.valData(e);if(\"string\"==typeof t)return t;throw new Error(\"Join requires a collection of strings.\")})).join(t)},i.splitFn=function(e,t){var n=l.singleton(e,\"String\");return r.isEmpty(n)?[]:n.split(t)},i.trimFn=function(e){var t=l.singleton(e,\"String\");return r.isEmpty(t)?[]:t.trim()},i.encodeFn=function(e,t){var n=l.singleton(e,\"String\");return r.isEmpty(n)?[]:\"urlbase64\"===t||\"base64url\"===t?btoa(n).replace(/\\+/g,\"-\").replace(/\\//g,\"_\"):\"base64\"===t?btoa(n):\"hex\"===t?Array.from(n).map((function(e){return e.charCodeAt(0)<128?e.charCodeAt(0).toString(16):encodeURIComponent(e).replace(/%/g,\"\")})).join(\"\"):[]},i.decodeFn=function(e,t){var n=l.singleton(e,\"String\");if(r.isEmpty(n))return[];if(\"urlbase64\"===t||\"base64url\"===t)return atob(n.replace(/-/g,\"+\").replace(/_/g,\"/\"));if(\"base64\"===t)return atob(n);if(\"hex\"===t){if(n.length%2!=0)throw new Error(\"Decode 'hex' requires an even number of characters.\");return decodeURIComponent(\"%\"+n.match(/.{2}/g).join(\"%\"))}return[]};var s=!1===new RegExp(\"\").dotAll;i.matches=s?function(e,t){var n=l.singleton(e,\"String\");return r.isEmpty(t)||r.isEmpty(n)?[]:new RegExp(t,\"s\").test(n)}:function(e,t){var n,i=l.singleton(e,\"String\");return r.isEmpty(t)||r.isEmpty(i)?[]:new RegExp((a[n=t]||(a[n]=n.replace(/\\./g,(function(e,t,n){var r=n.substr(0,t).replace(/\\\\\\\\/g,\"\").replace(/\\\\[\\][]/g,\"\"),l=\"\\\\\"===r[r.length-1],i=r.lastIndexOf(\"[\"),a=r.lastIndexOf(\"]\");return l||i>a?\".\":\"[^]\"}))),a[n])).test(i)},i.replace=function(e,t,n){var i=l.singleton(e,\"String\");if(r.isEmpty(t)||r.isEmpty(n)||r.isEmpty(i))return[];var a=new RegExp(r.escapeStringForRegExp(t),\"g\");return i.replace(a,n)},i.replaceMatches=function(e,t,n){var i=l.singleton(e,\"String\");if(r.isEmpty(t)||r.isEmpty(n)||r.isEmpty(i))return[];var a=new RegExp(t,\"g\");return i.replace(a,n)},i.length=function(e){var t=l.singleton(e,\"String\");return r.isEmpty(t)?[]:t.length},i.toChars=function(e){var t=l.singleton(e,\"String\");return r.isEmpty(t)?[]:t.split(\"\")},e.exports=i},7028:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&i(e,t)}function i(e,t){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},i(e,t)}function a(e){var t=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,l=m(e);if(t){var i=m(this).constructor;n=Reflect.construct(l,arguments,i)}else n=l.apply(this,arguments);return function(e,t){if(t&&(\"object\"===r(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e)}(this,n)}}function s(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e,t){for(var n=0;n2?new S(i)._getTimeParts():this._getTimeParts(),o=r>2?new S(a)._getTimeParts():e._getTimeParts(),u=0;u<=l&&!1!==t;++u)t=s[u]==o[u];t&&(t=void 0)}}else t=!1;return t}},{key:\"equivalentTo\",value:function(e){var t=e instanceof this.constructor;return t&&(t=this._getPrecision()==e._getPrecision())&&(t=this._getDateObj().getTime()==e._getDateObj().getTime()),t}},{key:\"compare\",value:function(e){var t=this._getPrecision(),n=e._getPrecision(),r=t<=n?this._getDateObj().getTime():this._dateAtPrecision(n).getTime(),l=n<=t?e._getDateObj().getTime():e._dateAtPrecision(t).getTime();return t!==n&&r===l?null:r-l}},{key:\"_getPrecision\",value:function(){return void 0===this.precision&&this._getMatchData(),this.precision}},{key:\"_getMatchData\",value:function(e,t){if(void 0===this.timeMatchData&&(this.timeMatchData=this.asStr.match(e),this.timeMatchData))for(var n=t;n>=0&&void 0===this.precision;--n)this.timeMatchData[n]&&(this.precision=n);return this.timeMatchData}},{key:\"_getTimeParts\",value:function(e){var t=[];t=[e[0]];var n=e[4];if(n){var r=t[0];t[0]=r.slice(0,r.length-n.length)}var l=e[1];if(l){var i=t[0];t[0]=i.slice(0,i.length-l.length),t[1]=l;var a=e[2];if(a){t[1]=l.slice(0,l.length-a.length),t[2]=a;var s=e[3];s&&(t[2]=a.slice(0,a.length-s.length),t[3]=s)}}return t}},{key:\"_getDateObj\",value:function(){if(!this.dateObj){var e=this._getPrecision();this.dateObj=this._dateAtPrecision(e)}return this.dateObj}},{key:\"_createDate\",value:function(e,t,n,r,l,i,a,s){var o=new Date(e,t,n,r,l,i,a);if(s){var u=o.getTimezoneOffset(),c=0;if(\"Z\"!=s){var f=s.split(\":\"),m=parseInt(f[0]);c=parseInt(f[1]),m<0&&(c=-c),c+=60*m}o=h(o,-u-c)}return o}}]),n}(_);k.timeUnitToAddFn={year:n(8303),month:n(8459),week:n(8998),day:n(7929),hour:n(1973),minute:n(9829),second:n(7492),millisecond:n(3936)};var S=function(e){l(n,e);var t=a(n);function n(e){return s(this,n),t.call(this,e)}return u(n,[{key:\"compare\",value:function(e){if(!(e instanceof n))throw\"Invalid comparison of a DateTime with something else\";return f(m(n.prototype),\"compare\",this).call(this,e)}},{key:\"_getMatchData\",value:function(){return f(m(n.prototype),\"_getMatchData\",this).call(this,v,5)}},{key:\"_getTimeParts\",value:function(){if(!this.timeParts){var e=this._getMatchData(),t=e[0];this.timeParts=[t];var r=e[1];if(r){this.timeParts[0]=t.slice(0,t.length-r.length),this.timeParts[1]=r;var l=e[2];if(l){this.timeParts[1]=r.slice(0,r.length-l.length),this.timeParts[2]=l;var i=e[3];i&&(this.timeParts[2]=l.slice(0,l.length-i.length),\"T\"===i[0]&&(e[3]=i.slice(1)),this.timeParts=this.timeParts.concat(f(m(n.prototype),\"_getTimeParts\",this).call(this,e.slice(3))))}}}return this.timeParts}},{key:\"_dateAtPrecision\",value:function(e){var t=this._getTimeParts(),n=this._getMatchData()[7],r=this._getPrecision(),l=parseInt(t[0]),i=r>0?parseInt(t[1].slice(1))-1:0,a=r>1?parseInt(t[2].slice(1)):1,s=r>2?parseInt(t[3]):0,o=r>3?parseInt(t[4].slice(1)):0,u=r>4?parseInt(t[5].slice(1)):0,c=t.length>6?parseInt(t[6].slice(1)):0,f=this._createDate(l,i,a,s,o,u,c,n);return e0?f.getMonth():0,a=e>1?f.getDate():1,s=e>2?f.getHours():0,o=e>3?f.getMinutes():0,f=new Date(l,i,a,s,o)),f}}]),n}(k);S.checkString=function(e){var t=new S(e);return t._getMatchData()||(t=null),t},S._timeUnitToDatePrecision={year:0,month:1,week:2,day:2,hour:3,minute:4,second:5,millisecond:6},S._datePrecisionToTimeUnit=[\"year\",\"month\",\"day\",\"hour\",\"minute\",\"second\",\"millisecond\"];var T=function(e){l(n,e);var t=a(n);function n(e){return s(this,n),\"T\"==e[0]&&(e=e.slice(1)),t.call(this,e)}return u(n,[{key:\"compare\",value:function(e){if(!(e instanceof n))throw\"Invalid comparison of a time with something else\";return f(m(n.prototype),\"compare\",this).call(this,e)}},{key:\"_dateAtPrecision\",value:function(e){var t=this._getTimeParts(),n=this._getMatchData()[4],r=this._getPrecision(),l=2010,i=parseInt(t[0]),a=r>0?parseInt(t[1].slice(1)):0,s=r>1?parseInt(t[2].slice(1)):0,o=t.length>3?parseInt(t[3].slice(1)):0,u=this._createDate(l,0,1,i,a,s,o,n);return n&&(u.setYear(l),u.setMonth(0),u.setDate(1)),e0?u.getMinutes():0,u=new Date(l,0,1,i,a)),u}},{key:\"_getMatchData\",value:function(){return f(m(n.prototype),\"_getMatchData\",this).call(this,g,2)}},{key:\"_getTimeParts\",value:function(){return this.timeParts||(this.timeParts=f(m(n.prototype),\"_getTimeParts\",this).call(this,this._getMatchData())),this.timeParts}}]),n}(k);function U(e,t){var n=e;return 3===t&&e<100&&(n=\"0\"+e),e<10&&(n=\"0\"+n),n}T.checkString=function(e){var t=new T(e);return t._getMatchData()||(t=null),t},T._timeUnitToDatePrecision={hour:0,minute:1,second:2,millisecond:3},T._datePrecisionToTimeUnit=[\"hour\",\"minute\",\"second\",\"millisecond\"],S.isoDateTime=function(e,t){void 0===t&&(t=5);var n=\"\"+e.getFullYear();if(t>0&&(n+=\"-\"+U(e.getMonth()+1),t>1&&(n+=\"-\"+U(e.getDate()),t>2&&(n+=\"T\"+S.isoTime(e,t-3)))),t>2){var r=e.getTimezoneOffset(),l=r<0?\"+\":\"-\",i=(r=Math.abs(r))%60;n+=l+U((r-i)/60)+\":\"+U(i)}return n},S.isoTime=function(e,t){void 0===t&&(t=2);var n=\"\"+U(e.getHours());return t>0&&(n+=\":\"+U(e.getMinutes()),t>1&&(n+=\":\"+U(e.getSeconds()),e.getMilliseconds()&&(n+=\".\"+U(e.getMilliseconds(),3)))),n};var O=function(e){l(n,e);var t=a(n);function n(e){return s(this,n),t.call(this,e)}return u(n,[{key:\"_getMatchData\",value:function(){return k.prototype._getMatchData.apply(this,[b,2])}}]),n}(S);O.checkString=function(e){var t=new O(e);return t._getMatchData()||(t=null),t},O.isoDate=function(e,t){return(void 0===t||t>2)&&(t=2),S.isoDateTime(e,t)};var x=function(){function e(t,n,r){s(this,e),null!=t&&t.resourceType&&(n=t.resourceType),this.path=n,this.data=t,this._data=r||{}}return u(e,[{key:\"getTypeInfo\",value:function(){var e=E.FHIR;return/^System\\.(.*)$/.test(this.path)?new E({namespace:E.System,name:RegExp.$1}):-1===this.path.indexOf(\".\")?new E({namespace:e,name:this.path}):E.model?new E({namespace:e,name:\"BackboneElement\"}):E.createByValueInNamespace({namespace:e,value:this.data})}},{key:\"toJSON\",value:function(){return JSON.stringify(this.data)}},{key:\"convertData\",value:function(){var e,t=this.data;if(E.isType(this.path,\"Quantity\")){if(\"http://unitsofmeasure.org\"===(null===(e=t)||void 0===e?void 0:e.system)&&\"number\"==typeof t.value&&\"string\"==typeof t.code){if(void 0!==t.comparator)throw new Error(\"Cannot convert a FHIR.Quantity that has a comparator\");t=new C(t.value,C.mapUCUMCodeToTimeUnits[t.code]||\"'\"+t.code+\"'\")}}else\"date\"===this.path?t=O.checkString(t)||t:\"dateTime\"===this.path?t=S.checkString(t)||t:\"time\"===this.path&&(t=T.checkString(t)||t);return t}}]),e}();x.makeResNode=function(e,t,n){return e instanceof x?e:new x(e,t,n)};var M,I,E=function(){function e(t){var n=t.name,r=t.namespace;s(this,e),this.name=n,this.namespace=r}return u(e,[{key:\"is\",value:function(t){return t instanceof e&&(!this.namespace||!t.namespace||this.namespace===t.namespace)&&(!e.model||this.namespace&&this.namespace!==e.FHIR?this.name===t.name:e.isType(this.name,t.name))}}]),e}();M=E,(I=c(I=\"model\"))in M?Object.defineProperty(M,I,{value:null,enumerable:!0,configurable:!0,writable:!0}):M[I]=null,E.isType=function(e,t){do{var n;if(e===t)return!0}while(e=null===(n=E.model)||void 0===n?void 0:n.type2Parent[e]);return!1},E.System=\"System\",E.FHIR=\"FHIR\",E.createByValueInNamespace=function(e){var t=e.namespace,n=e.value,l=r(n);return Number.isInteger(n)?l=\"integer\":\"number\"===l?l=\"decimal\":n instanceof O?l=\"date\":n instanceof S?l=\"dateTime\":n instanceof T?l=\"time\":n instanceof C&&(l=\"Quantity\"),t===E.System&&(l=l.replace(/^\\w/,(function(e){return e.toUpperCase()}))),new E({namespace:t,name:l})},E.fromValue=function(e){return e instanceof x?e.getTypeInfo():E.createByValueInNamespace({namespace:E.System,value:e})},e.exports={FP_Type:_,FP_TimeBase:k,FP_Date:O,FP_DateTime:S,FP_Time:T,FP_Quantity:C,timeRE:g,dateTimeRE:v,ResourceNode:x,TypeInfo:E,typeFn:function(e){return e.map((function(e){return E.fromValue(e)}))},isFn:function(e,t){if(0===e.length)return[];if(e.length>1)throw new Error(\"Expected singleton on left side of 'is', got \"+JSON.stringify(e));return E.fromValue(e[0]).is(t)},asFn:function(e,t){if(0===e.length)return[];if(e.length>1)throw new Error(\"Expected singleton on left side of 'as', got \"+JSON.stringify(e));return E.fromValue(e[0]).is(t)?e:[]}}},1575:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}var l={},i=n(7028).ResourceNode;l.raiseError=function(e,t){throw(t=t?t+\": \":\"\")+e},l.assertAtMostOne=function(e,t){e.length>1&&l.raiseError(\"Was expecting no more than one element but got \"+JSON.stringify(e),t)},l.assertType=function(e,t,n){var i=this.valData(e);if(t.indexOf(r(i))<0){var a=t.length>1?\"one of \"+t.join(\", \"):t[0];l.raiseError(\"Found type '\"+r(e)+\"' but was expecting \"+a,n)}return i},l.isEmpty=function(e){return Array.isArray(e)&&0==e.length},l.isSome=function(e){return null!=e&&!l.isEmpty(e)},l.isTrue=function(e){return null!=e&&(!0===e||1==e.length&&!0===e[0])},l.isFalse=function(e){return null!=e&&(!1===e||1==e.length&&!1===e[0])},l.isCapitalized=function(e){return e&&e[0]===e[0].toUpperCase()},l.flatten=function(e){return e.reduce((function(e,t){return Array.isArray(t)?e=e.concat(t):e.push(t),e}),[])},l.arraify=function(e){return Array.isArray(e)?e:l.isSome(e)?[e]:[]},l.valData=function(e){return e instanceof i?e.data:e},l.valDataConverted=function(e){return e instanceof i&&(e=e.convertData()),e},l.escapeStringForRegExp=function(e){return e.replace(/[-[\\]{}()*+?.,\\\\/^$|#\\s]/g,\"\\\\$&\")},e.exports=l},950:function(e){e.exports=function(e){var t=new Date(e.getTime()),n=t.getTimezoneOffset();return t.setSeconds(0,0),6e4*n+t.getTime()%6e4}},7929:function(e,t,n){var r=n(1429);e.exports=function(e,t){var n=r(e),l=Number(t);return n.setDate(n.getDate()+l),n}},1973:function(e,t,n){var r=n(3936);e.exports=function(e,t){var n=Number(t);return r(e,36e5*n)}},3936:function(e,t,n){var r=n(1429);e.exports=function(e,t){var n=r(e).getTime(),l=Number(t);return new Date(n+l)}},9829:function(e,t,n){var r=n(3936);e.exports=function(e,t){var n=Number(t);return r(e,6e4*n)}},8459:function(e,t,n){var r=n(1429),l=n(4926);e.exports=function(e,t){var n=r(e),i=Number(t),a=n.getMonth()+i,s=new Date(0);s.setFullYear(n.getFullYear(),a,1),s.setHours(0,0,0,0);var o=l(s);return n.setMonth(a,Math.min(o,n.getDate())),n}},7492:function(e,t,n){var r=n(3936);e.exports=function(e,t){var n=Number(t);return r(e,1e3*n)}},8998:function(e,t,n){var r=n(7929);e.exports=function(e,t){var n=Number(t);return r(e,7*n)}},8303:function(e,t,n){var r=n(8459);e.exports=function(e,t){var n=Number(t);return r(e,12*n)}},4926:function(e,t,n){var r=n(1429);e.exports=function(e){var t=r(e),n=t.getFullYear(),l=t.getMonth(),i=new Date(0);return i.setFullYear(n,l+1,0),i.setHours(0,0,0,0),i.getDate()}},7144:function(e){e.exports=function(e){return e instanceof Date}},1429:function(e,t,n){var r=n(950),l=n(7144),i=36e5,a=6e4,s=/[T ]/,o=/:/,u=/^(\\d{2})$/,c=[/^([+-]\\d{2})$/,/^([+-]\\d{3})$/,/^([+-]\\d{4})$/],f=/^(\\d{4})/,m=[/^([+-]\\d{4})/,/^([+-]\\d{5})/,/^([+-]\\d{6})/],h=/^-(\\d{2})$/,p=/^-?(\\d{3})$/,d=/^-?(\\d{2})-?(\\d{2})$/,y=/^-?W(\\d{2})$/,g=/^-?W(\\d{2})-?(\\d{1})$/,v=/^(\\d{2}([.,]\\d*)?)$/,b=/^(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,_=/^(\\d{2}):?(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,C=/([Z+-].*)$/,L=/^(Z)$/,k=/^([+-])(\\d{2})$/,S=/^([+-])(\\d{2}):?(\\d{2})$/;function T(e,t,n){t=t||0,n=n||0;var r=new Date(0);r.setUTCFullYear(e,0,4);var l=7*t+n+1-(r.getUTCDay()||7);return r.setUTCDate(r.getUTCDate()+l),r}e.exports=function(e,t){if(l(e))return new Date(e.getTime());if(\"string\"!=typeof e)return new Date(e);var n=(t||{}).additionalDigits;n=null==n?2:Number(n);var U,O,x,M=function(e){var t,n={},r=e.split(s);if(o.test(r[0])?(n.date=null,t=r[0]):(n.date=r[0],t=r[1]),t){var l=C.exec(t);l?(n.time=t.replace(l[1],\"\"),n.timezone=l[1]):n.time=t}return n}(e),I=function(e,t){var n,r=c[t],l=m[t];if(n=f.exec(e)||l.exec(e)){var i=n[1];return{year:parseInt(i,10),restDateString:e.slice(i.length)}}if(n=u.exec(e)||r.exec(e)){var a=n[1];return{year:100*parseInt(a,10),restDateString:e.slice(a.length)}}return{year:null}}(M.date,n),E=I.year,w=function(e,t){if(null===t)return null;var n,r,l;if(0===e.length)return(r=new Date(0)).setUTCFullYear(t),r;if(n=h.exec(e))return r=new Date(0),l=parseInt(n[1],10)-1,r.setUTCFullYear(t,l),r;if(n=p.exec(e)){r=new Date(0);var i=parseInt(n[1],10);return r.setUTCFullYear(t,0,i),r}if(n=d.exec(e)){r=new Date(0),l=parseInt(n[1],10)-1;var a=parseInt(n[2],10);return r.setUTCFullYear(t,l,a),r}return(n=y.exec(e))?T(t,parseInt(n[1],10)-1):(n=g.exec(e))?T(t,parseInt(n[1],10)-1,parseInt(n[2],10)-1):null}(I.restDateString,E);if(w){var N,P=w.getTime(),R=0;if(M.time&&(R=function(e){var t,n,r;if(t=v.exec(e))return(n=parseFloat(t[1].replace(\",\",\".\")))%24*i;if(t=b.exec(e))return n=parseInt(t[1],10),r=parseFloat(t[2].replace(\",\",\".\")),n%24*i+r*a;if(t=_.exec(e)){n=parseInt(t[1],10),r=parseInt(t[2],10);var l=parseFloat(t[3].replace(\",\",\".\"));return n%24*i+r*a+1e3*l}return null}(M.time)),M.timezone)U=M.timezone,N=((O=L.exec(U))?0:(O=k.exec(U))?(x=60*parseInt(O[2],10),\"+\"===O[1]?-x:x):(O=S.exec(U))?(x=60*parseInt(O[2],10)+parseInt(O[3],10),\"+\"===O[1]?-x:x):0)*a;else{var A=P+R,D=new Date(A);N=r(D);var F=new Date(A);F.setDate(D.getDate()+1);var q=r(F)-r(D);q>0&&(N+=q)}return new Date(P+R+N)}return new Date(e)}},7643:function(e){\"use strict\";e.exports=Number.isFinite||function(e){return!(\"number\"!=typeof e||e!=e||e===1/0||e===-1/0)}},1781:function(e,t,n){var r=n(7643);e.exports=Number.isInteger||function(e){return\"number\"==typeof e&&r(e)&&Math.floor(e)===e}},4557:function(e){\"use strict\";e.exports={version:\"3.7.0\"}},7698:function(e){\"use strict\";e.exports=JSON.parse('{\"license\":\"The following data (prefixes and units) was generated by the UCUM LHC code from the UCUM data and selected LOINC combinations of UCUM units. The license for the UCUM LHC code (demo and library code as well as the combined units) is located at https://github.com/lhncbc/ucum-lhc/blob/LICENSE.md.\",\"prefixes\":{\"config\":[\"code_\",\"ciCode_\",\"name_\",\"printSymbol_\",\"value_\",\"exp_\"],\"data\":[[\"E\",\"EX\",\"exa\",\"E\",1000000000000000000,\"18\"],[\"G\",\"GA\",\"giga\",\"G\",1000000000,\"9\"],[\"Gi\",\"GIB\",\"gibi\",\"Gi\",1073741824,null],[\"Ki\",\"KIB\",\"kibi\",\"Ki\",1024,null],[\"M\",\"MA\",\"mega\",\"M\",1000000,\"6\"],[\"Mi\",\"MIB\",\"mebi\",\"Mi\",1048576,null],[\"P\",\"PT\",\"peta\",\"P\",1000000000000000,\"15\"],[\"T\",\"TR\",\"tera\",\"T\",1000000000000,\"12\"],[\"Ti\",\"TIB\",\"tebi\",\"Ti\",1099511627776,null],[\"Y\",\"YA\",\"yotta\",\"Y\",1e+24,\"24\"],[\"Z\",\"ZA\",\"zetta\",\"Z\",1e+21,\"21\"],[\"a\",\"A\",\"atto\",\"a\",1e-18,\"-18\"],[\"c\",\"C\",\"centi\",\"c\",0.01,\"-2\"],[\"d\",\"D\",\"deci\",\"d\",0.1,\"-1\"],[\"da\",\"DA\",\"deka\",\"da\",10,\"1\"],[\"f\",\"F\",\"femto\",\"f\",1e-15,\"-15\"],[\"h\",\"H\",\"hecto\",\"h\",100,\"2\"],[\"k\",\"K\",\"kilo\",\"k\",1000,\"3\"],[\"m\",\"M\",\"milli\",\"m\",0.001,\"-3\"],[\"n\",\"N\",\"nano\",\"n\",1e-9,\"-9\"],[\"p\",\"P\",\"pico\",\"p\",1e-12,\"-12\"],[\"u\",\"U\",\"micro\",\"μ\",0.000001,\"-6\"],[\"y\",\"YO\",\"yocto\",\"y\",1.0000000000000001e-24,\"-24\"],[\"z\",\"ZO\",\"zepto\",\"z\",1e-21,\"-21\"]]},\"units\":{\"config\":[\"isBase_\",\"name_\",\"csCode_\",\"ciCode_\",\"property_\",\"magnitude_\",[\"dim_\",\"dimVec_\"],\"printSymbol_\",\"class_\",\"isMetric_\",\"variable_\",\"cnv_\",\"cnvPfx_\",\"isSpecial_\",\"isArbitrary_\",\"moleExp_\",\"synonyms_\",\"source_\",\"loincProperty_\",\"category_\",\"guidance_\",\"csUnitString_\",\"ciUnitString_\",\"baseFactorStr_\",\"baseFactor_\",\"defError_\"],\"data\":[[true,\"meter\",\"m\",\"M\",\"length\",1,[1,0,0,0,0,0,0],\"m\",null,false,\"L\",null,1,false,false,0,\"meters; metres; distance\",\"UCUM\",\"Len\",\"Clinical\",\"unit of length = 1.09361 yards\",null,null,null,null,false],[true,\"second - time\",\"s\",\"S\",\"time\",1,[0,1,0,0,0,0,0],\"s\",null,false,\"T\",null,1,false,false,0,\"seconds\",\"UCUM\",\"Time\",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram\",\"g\",\"G\",\"mass\",1,[0,0,1,0,0,0,0],\"g\",null,false,\"M\",null,1,false,false,0,\"grams; gm\",\"UCUM\",\"Mass\",\"Clinical\",\"\",null,null,null,null,false],[true,\"radian\",\"rad\",\"RAD\",\"plane angle\",1,[0,0,0,1,0,0,0],\"rad\",null,false,\"A\",null,1,false,false,0,\"radians\",\"UCUM\",\"Angle\",\"Clinical\",\"unit of angular measure where 1 radian = 1/2π turn = 57.296 degrees. \",null,null,null,null,false],[true,\"degree Kelvin\",\"K\",\"K\",\"temperature\",1,[0,0,0,0,1,0,0],\"K\",null,false,\"C\",null,1,false,false,0,\"Kelvin; degrees\",\"UCUM\",\"Temp\",\"Clinical\",\"absolute, thermodynamic temperature scale \",null,null,null,null,false],[true,\"coulomb\",\"C\",\"C\",\"electric charge\",1,[0,0,0,0,0,1,0],\"C\",null,false,\"Q\",null,1,false,false,0,\"coulombs\",\"UCUM\",\"\",\"Clinical\",\"defined as amount of 1 electron charge = 6.2415093×10^18 e, and equivalent to 1 Ampere-second\",null,null,null,null,false],[true,\"candela\",\"cd\",\"CD\",\"luminous intensity\",1,[0,0,0,0,0,0,1],\"cd\",null,false,\"F\",null,1,false,false,0,\"candelas\",\"UCUM\",\"\",\"Clinical\",\"SI base unit of luminous intensity\",null,null,null,null,false],[false,\"the number ten for arbitrary powers\",\"10*\",\"10*\",\"number\",10,[0,0,0,0,0,0,0],\"10\",\"dimless\",false,null,null,1,false,false,0,\"10^; 10 to the arbitrary powers\",\"UCUM\",\"Num\",\"Clinical\",\"10* by itself is the same as 10, but users can add digits after the *. For example, 10*3 = 1000.\",\"1\",\"1\",\"10\",10,false],[false,\"the number ten for arbitrary powers\",\"10^\",\"10^\",\"number\",10,[0,0,0,0,0,0,0],\"10\",\"dimless\",false,null,null,1,false,false,0,\"10*; 10 to the arbitrary power\",\"UCUM\",\"Num\",\"Clinical\",\"10* by itself is the same as 10, but users can add digits after the *. For example, 10*3 = 1000.\",\"1\",\"1\",\"10\",10,false],[false,\"the number pi\",\"[pi]\",\"[PI]\",\"number\",3.141592653589793,[0,0,0,0,0,0,0],\"π\",\"dimless\",false,null,null,1,false,false,0,\"π\",\"UCUM\",\"\",\"Constant\",\"a mathematical constant; the ratio of a circle\\'s circumference to its diameter ≈ 3.14159\",\"1\",\"1\",\"3.1415926535897932384626433832795028841971693993751058209749445923\",3.141592653589793,false],[false,\"\",\"%\",\"%\",\"fraction\",0.01,[0,0,0,0,0,0,0],\"%\",\"dimless\",false,null,null,1,false,false,0,\"percents\",\"UCUM\",\"FR; NFR; MFR; CFR; SFR Rto; etc. \",\"Clinical\",\"\",\"10*-2\",\"10*-2\",\"1\",1,false],[false,\"parts per thousand\",\"[ppth]\",\"[PPTH]\",\"fraction\",0.001,[0,0,0,0,0,0,0],\"ppth\",\"dimless\",false,null,null,1,false,false,0,\"ppth; 10^-3\",\"UCUM\",\"MCnc; MCnt\",\"Clinical\",\"[ppth] is often used in solution concentrations as 1 g/L or 1 g/kg.\\\\n\\\\nCan be ambigous and would be better if the metric units was used directly. \",\"10*-3\",\"10*-3\",\"1\",1,false],[false,\"parts per million\",\"[ppm]\",\"[PPM]\",\"fraction\",0.000001,[0,0,0,0,0,0,0],\"ppm\",\"dimless\",false,null,null,1,false,false,0,\"ppm; 10^-6\",\"UCUM\",\"MCnt; MCnc; SFr\",\"Clinical\",\"[ppm] is often used in solution concentrations as 1 mg/L or 1 mg/kg. Also used to express mole fractions as 1 mmol/mol.\\\\n\\\\n[ppm] is also used in nuclear magnetic resonance (NMR) to represent chemical shift - the difference of a measured frequency in parts per million from the reference frequency.\\\\n\\\\nCan be ambigous and would be better if the metric units was used directly. \",\"10*-6\",\"10*-6\",\"1\",1,false],[false,\"parts per billion\",\"[ppb]\",\"[PPB]\",\"fraction\",1e-9,[0,0,0,0,0,0,0],\"ppb\",\"dimless\",false,null,null,1,false,false,0,\"ppb; 10^-9\",\"UCUM\",\"MCnt; MCnc; SFr\",\"Clinical\",\"[ppb] is often used in solution concentrations as 1 ug/L or 1 ug/kg. Also used to express mole fractions as 1 umol/mol.\\\\n\\\\nCan be ambigous and would be better if the metric units was used directly. \",\"10*-9\",\"10*-9\",\"1\",1,false],[false,\"parts per trillion\",\"[pptr]\",\"[PPTR]\",\"fraction\",1e-12,[0,0,0,0,0,0,0],\"pptr\",\"dimless\",false,null,null,1,false,false,0,\"pptr; 10^-12\",\"UCUM\",\"MCnt; MCnc; SFr\",\"Clinical\",\"[pptr] is often used in solution concentrations as 1 ng/L or 1 ng/kg. Also used to express mole fractions as 1 nmol/mol.\\\\n\\\\nCan be ambigous and would be better if the metric units was used directly. \",\"10*-12\",\"10*-12\",\"1\",1,false],[false,\"mole\",\"mol\",\"MOL\",\"amount of substance\",6.0221367e+23,[0,0,0,0,0,0,0],\"mol\",\"si\",true,null,null,1,false,false,1,\"moles\",\"UCUM\",\"Sub\",\"Clinical\",\"Measure the number of molecules \",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"steradian - solid angle\",\"sr\",\"SR\",\"solid angle\",1,[0,0,0,2,0,0,0],\"sr\",\"si\",true,null,null,1,false,false,0,\"square radian; rad2; rad^2\",\"UCUM\",\"Angle\",\"Clinical\",\"unit of solid angle in three-dimensional geometry analagous to radian; used in photometry which measures the perceived brightness of object by human eye (e.g. radiant intensity = watt/steradian)\",\"rad2\",\"RAD2\",\"1\",1,false],[false,\"hertz\",\"Hz\",\"HZ\",\"frequency\",1,[0,-1,0,0,0,0,0],\"Hz\",\"si\",true,null,null,1,false,false,0,\"Herz; frequency; frequencies\",\"UCUM\",\"Freq; Num\",\"Clinical\",\"equal to one cycle per second\",\"s-1\",\"S-1\",\"1\",1,false],[false,\"newton\",\"N\",\"N\",\"force\",1000,[1,-2,1,0,0,0,0],\"N\",\"si\",true,null,null,1,false,false,0,\"Newtons\",\"UCUM\",\"Force\",\"Clinical\",\"unit of force with base units kg.m/s2\",\"kg.m/s2\",\"KG.M/S2\",\"1\",1,false],[false,\"pascal\",\"Pa\",\"PAL\",\"pressure\",1000,[-1,-2,1,0,0,0,0],\"Pa\",\"si\",true,null,null,1,false,false,0,\"pascals\",\"UCUM\",\"Pres\",\"Clinical\",\"standard unit of pressure equal to 1 newton per square meter (N/m2)\",\"N/m2\",\"N/M2\",\"1\",1,false],[false,\"joule\",\"J\",\"J\",\"energy\",1000,[2,-2,1,0,0,0,0],\"J\",\"si\",true,null,null,1,false,false,0,\"joules\",\"UCUM\",\"Enrg\",\"Clinical\",\"unit of energy defined as the work required to move an object 1 m with a force of 1 N (N.m) or an electric charge of 1 C through 1 V (C.V), or to produce 1 W for 1 s (W.s) \",\"N.m\",\"N.M\",\"1\",1,false],[false,\"watt\",\"W\",\"W\",\"power\",1000,[2,-3,1,0,0,0,0],\"W\",\"si\",true,null,null,1,false,false,0,\"watts\",\"UCUM\",\"EngRat\",\"Clinical\",\"unit of power equal to 1 Joule per second (J/s) = kg⋅m2⋅s−3\",\"J/s\",\"J/S\",\"1\",1,false],[false,\"Ampere\",\"A\",\"A\",\"electric current\",1,[0,-1,0,0,0,1,0],\"A\",\"si\",true,null,null,1,false,false,0,\"Amperes\",\"UCUM\",\"ElpotRat\",\"Clinical\",\"unit of electric current equal to flow rate of electrons equal to 16.2415×10^18 elementary charges moving past a boundary in one second or 1 Coulomb/second\",\"C/s\",\"C/S\",\"1\",1,false],[false,\"volt\",\"V\",\"V\",\"electric potential\",1000,[2,-2,1,0,0,-1,0],\"V\",\"si\",true,null,null,1,false,false,0,\"volts\",\"UCUM\",\"Elpot\",\"Clinical\",\"unit of electric potential (voltage) = 1 Joule per Coulomb (J/C)\",\"J/C\",\"J/C\",\"1\",1,false],[false,\"farad\",\"F\",\"F\",\"electric capacitance\",0.001,[-2,2,-1,0,0,2,0],\"F\",\"si\",true,null,null,1,false,false,0,\"farads; electric capacitance\",\"UCUM\",\"\",\"Clinical\",\"CGS unit of electric capacitance with base units C/V (Coulomb per Volt)\",\"C/V\",\"C/V\",\"1\",1,false],[false,\"ohm\",\"Ohm\",\"OHM\",\"electric resistance\",1000,[2,-1,1,0,0,-2,0],\"Ω\",\"si\",true,null,null,1,false,false,0,\"Ω; resistance; ohms\",\"UCUM\",\"\",\"Clinical\",\"unit of electrical resistance with units of Volt per Ampere\",\"V/A\",\"V/A\",\"1\",1,false],[false,\"siemens\",\"S\",\"SIE\",\"electric conductance\",0.001,[-2,1,-1,0,0,2,0],\"S\",\"si\",true,null,null,1,false,false,0,\"Reciprocal ohm; mho; Ω−1; conductance\",\"UCUM\",\"\",\"Clinical\",\"unit of electric conductance (the inverse of electrical resistance) equal to ohm^-1\",\"Ohm-1\",\"OHM-1\",\"1\",1,false],[false,\"weber\",\"Wb\",\"WB\",\"magnetic flux\",1000,[2,-1,1,0,0,-1,0],\"Wb\",\"si\",true,null,null,1,false,false,0,\"magnetic flux; webers\",\"UCUM\",\"\",\"Clinical\",\"unit of magnetic flux equal to Volt second\",\"V.s\",\"V.S\",\"1\",1,false],[false,\"degree Celsius\",\"Cel\",\"CEL\",\"temperature\",1,[0,0,0,0,1,0,0],\"°C\",\"si\",true,null,\"Cel\",1,true,false,0,\"°C; degrees\",\"UCUM\",\"Temp\",\"Clinical\",\"\",\"K\",null,null,1,false],[false,\"tesla\",\"T\",\"T\",\"magnetic flux density\",1000,[0,-1,1,0,0,-1,0],\"T\",\"si\",true,null,null,1,false,false,0,\"Teslas; magnetic field\",\"UCUM\",\"\",\"Clinical\",\"SI unit of magnetic field strength for magnetic field B equal to 1 Weber/square meter = 1 kg/(s2*A)\",\"Wb/m2\",\"WB/M2\",\"1\",1,false],[false,\"henry\",\"H\",\"H\",\"inductance\",1000,[2,0,1,0,0,-2,0],\"H\",\"si\",true,null,null,1,false,false,0,\"henries; inductance\",\"UCUM\",\"\",\"Clinical\",\"unit of electrical inductance; usually expressed in millihenrys (mH) or microhenrys (uH).\",\"Wb/A\",\"WB/A\",\"1\",1,false],[false,\"lumen\",\"lm\",\"LM\",\"luminous flux\",1,[0,0,0,2,0,0,1],\"lm\",\"si\",true,null,null,1,false,false,0,\"luminous flux; lumens\",\"UCUM\",\"\",\"Clinical\",\"unit of luminous flux defined as 1 lm = 1 cd⋅sr (candela times sphere)\",\"cd.sr\",\"CD.SR\",\"1\",1,false],[false,\"lux\",\"lx\",\"LX\",\"illuminance\",1,[-2,0,0,2,0,0,1],\"lx\",\"si\",true,null,null,1,false,false,0,\"illuminance; luxes\",\"UCUM\",\"\",\"Clinical\",\"unit of illuminance equal to one lumen per square meter. \",\"lm/m2\",\"LM/M2\",\"1\",1,false],[false,\"becquerel\",\"Bq\",\"BQ\",\"radioactivity\",1,[0,-1,0,0,0,0,0],\"Bq\",\"si\",true,null,null,1,false,false,0,\"activity; radiation; becquerels\",\"UCUM\",\"\",\"Clinical\",\"measure of the atomic radiation rate with units s^-1\",\"s-1\",\"S-1\",\"1\",1,false],[false,\"gray\",\"Gy\",\"GY\",\"energy dose\",1,[2,-2,0,0,0,0,0],\"Gy\",\"si\",true,null,null,1,false,false,0,\"absorbed doses; ionizing radiation doses; kerma; grays\",\"UCUM\",\"EngCnt\",\"Clinical\",\"unit of ionizing radiation dose with base units of 1 joule of radiation energy per kilogram of matter\",\"J/kg\",\"J/KG\",\"1\",1,false],[false,\"sievert\",\"Sv\",\"SV\",\"dose equivalent\",1,[2,-2,0,0,0,0,0],\"Sv\",\"si\",true,null,null,1,false,false,0,\"sieverts; radiation dose quantities; equivalent doses; effective dose; operational dose; committed dose\",\"UCUM\",\"\",\"Clinical\",\"SI unit for radiation dose equivalent equal to 1 Joule/kilogram.\",\"J/kg\",\"J/KG\",\"1\",1,false],[false,\"degree - plane angle\",\"deg\",\"DEG\",\"plane angle\",0.017453292519943295,[0,0,0,1,0,0,0],\"°\",\"iso1000\",false,null,null,1,false,false,0,\"°; degree of arc; arc degree; arcdegree; angle\",\"UCUM\",\"Angle\",\"Clinical\",\"one degree is equivalent to π/180 radians.\",\"[pi].rad/360\",\"[PI].RAD/360\",\"2\",2,false],[false,\"gon\",\"gon\",\"GON\",\"plane angle\",0.015707963267948967,[0,0,0,1,0,0,0],\"□g\",\"iso1000\",false,null,null,1,false,false,0,\"gon (grade); gons\",\"UCUM\",\"Angle\",\"Nonclinical\",\"unit of plane angle measurement equal to 1/400 circle\",\"deg\",\"DEG\",\"0.9\",0.9,false],[false,\"arc minute\",\"\\'\",\"\\'\",\"plane angle\",0.0002908882086657216,[0,0,0,1,0,0,0],\"\\'\",\"iso1000\",false,null,null,1,false,false,0,\"arcminutes; arcmin; arc minutes; arc mins\",\"UCUM\",\"Angle\",\"Clinical\",\"equal to 1/60 degree; used in optometry and opthamology (e.g. visual acuity tests)\",\"deg/60\",\"DEG/60\",\"1\",1,false],[false,\"arc second\",\"\\'\\'\",\"\\'\\'\",\"plane angle\",0.00000484813681109536,[0,0,0,1,0,0,0],\"\\'\\'\",\"iso1000\",false,null,null,1,false,false,0,\"arcseconds; arcsecs\",\"UCUM\",\"Angle\",\"Clinical\",\"equal to 1/60 arcminute = 1/3600 degree; used in optometry and opthamology (e.g. visual acuity tests)\",\"\\'/60\",\"\\'/60\",\"1\",1,false],[false,\"Liters\",\"l\",\"L\",\"volume\",0.001,[3,0,0,0,0,0,0],\"l\",\"iso1000\",true,null,null,1,false,false,0,\"cubic decimeters; decimeters cubed; decimetres; dm3; dm^3; litres; liters, LT \",\"UCUM\",\"Vol\",\"Clinical\",\"Because lower case \\\\\"l\\\\\" can be read as the number \\\\\"1\\\\\", though this is a valid UCUM units. UCUM strongly reccomends using \\\\\"L\\\\\"\",\"dm3\",\"DM3\",\"1\",1,false],[false,\"Liters\",\"L\",\"L\",\"volume\",0.001,[3,0,0,0,0,0,0],\"L\",\"iso1000\",true,null,null,1,false,false,0,\"cubic decimeters; decimeters cubed; decimetres; dm3; dm^3; litres; liters, LT \",\"UCUM\",\"Vol\",\"Clinical\",\"Because lower case \\\\\"l\\\\\" can be read as the number \\\\\"1\\\\\", though this is a valid UCUM units. UCUM strongly reccomends using \\\\\"L\\\\\"\",\"l\",null,\"1\",1,false],[false,\"are\",\"ar\",\"AR\",\"area\",100,[2,0,0,0,0,0,0],\"a\",\"iso1000\",true,null,null,1,false,false,0,\"100 m2; 100 m^2; 100 square meter; meters squared; metres\",\"UCUM\",\"Area\",\"Clinical\",\"metric base unit for area defined as 100 m^2\",\"m2\",\"M2\",\"100\",100,false],[false,\"minute\",\"min\",\"MIN\",\"time\",60,[0,1,0,0,0,0,0],\"min\",\"iso1000\",false,null,null,1,false,false,0,\"minutes\",\"UCUM\",\"Time\",\"Clinical\",\"\",\"s\",\"S\",\"60\",60,false],[false,\"hour\",\"h\",\"HR\",\"time\",3600,[0,1,0,0,0,0,0],\"h\",\"iso1000\",false,null,null,1,false,false,0,\"hours; hrs; age\",\"UCUM\",\"Time\",\"Clinical\",\"\",\"min\",\"MIN\",\"60\",60,false],[false,\"day\",\"d\",\"D\",\"time\",86400,[0,1,0,0,0,0,0],\"d\",\"iso1000\",false,null,null,1,false,false,0,\"days; age; dy; 24 hours; 24 hrs\",\"UCUM\",\"Time\",\"Clinical\",\"\",\"h\",\"HR\",\"24\",24,false],[false,\"tropical year\",\"a_t\",\"ANN_T\",\"time\",31556925.216,[0,1,0,0,0,0,0],\"at\",\"iso1000\",false,null,null,1,false,false,0,\"solar years; a tropical; years\",\"UCUM\",\"Time\",\"Clinical\",\"has an average of 365.242181 days but is constantly changing.\",\"d\",\"D\",\"365.24219\",365.24219,false],[false,\"mean Julian year\",\"a_j\",\"ANN_J\",\"time\",31557600,[0,1,0,0,0,0,0],\"aj\",\"iso1000\",false,null,null,1,false,false,0,\"mean Julian yr; a julian; years\",\"UCUM\",\"Time\",\"Clinical\",\"has an average of 365.25 days, and in everyday use, has been replaced by the Gregorian year. However, this unit is used in astronomy to calculate light year. \",\"d\",\"D\",\"365.25\",365.25,false],[false,\"mean Gregorian year\",\"a_g\",\"ANN_G\",\"time\",31556952,[0,1,0,0,0,0,0],\"ag\",\"iso1000\",false,null,null,1,false,false,0,\"mean Gregorian yr; a gregorian; years\",\"UCUM\",\"Time\",\"Clinical\",\"has an average of 365.2425 days and is the most internationally used civil calendar.\",\"d\",\"D\",\"365.2425\",365.2425,false],[false,\"year\",\"a\",\"ANN\",\"time\",31557600,[0,1,0,0,0,0,0],\"a\",\"iso1000\",false,null,null,1,false,false,0,\"years; a; yr, yrs; annum\",\"UCUM\",\"Time\",\"Clinical\",\"\",\"a_j\",\"ANN_J\",\"1\",1,false],[false,\"week\",\"wk\",\"WK\",\"time\",604800,[0,1,0,0,0,0,0],\"wk\",\"iso1000\",false,null,null,1,false,false,0,\"weeks; wks\",\"UCUM\",\"Time\",\"Clinical\",\"\",\"d\",\"D\",\"7\",7,false],[false,\"synodal month\",\"mo_s\",\"MO_S\",\"time\",2551442.976,[0,1,0,0,0,0,0],\"mos\",\"iso1000\",false,null,null,1,false,false,0,\"Moon; synodic month; lunar month; mo-s; mo s; months; moons\",\"UCUM\",\"Time\",\"Nonclinical\",\"has an average of 29.53 days per month, unit used in astronomy\",\"d\",\"D\",\"29.53059\",29.53059,false],[false,\"mean Julian month\",\"mo_j\",\"MO_J\",\"time\",2629800,[0,1,0,0,0,0,0],\"moj\",\"iso1000\",false,null,null,1,false,false,0,\"mo-julian; mo Julian; months\",\"UCUM\",\"Time\",\"Clinical\",\"has an average of 30.435 days per month\",\"a_j/12\",\"ANN_J/12\",\"1\",1,false],[false,\"mean Gregorian month\",\"mo_g\",\"MO_G\",\"time\",2629746,[0,1,0,0,0,0,0],\"mog\",\"iso1000\",false,null,null,1,false,false,0,\"months; month-gregorian; mo-gregorian\",\"UCUM\",\"Time\",\"Clinical\",\"has an average 30.436875 days per month and is from the most internationally used civil calendar.\",\"a_g/12\",\"ANN_G/12\",\"1\",1,false],[false,\"month\",\"mo\",\"MO\",\"time\",2629800,[0,1,0,0,0,0,0],\"mo\",\"iso1000\",false,null,null,1,false,false,0,\"months; duration\",\"UCUM\",\"Time\",\"Clinical\",\"based on Julian calendar which has an average of 30.435 days per month (this unit is used in astronomy but not in everyday life - see mo_g)\",\"mo_j\",\"MO_J\",\"1\",1,false],[false,\"metric ton\",\"t\",\"TNE\",\"mass\",1000000,[0,0,1,0,0,0,0],\"t\",\"iso1000\",true,null,null,1,false,false,0,\"tonnes; megagrams; tons\",\"UCUM\",\"Mass\",\"Nonclinical\",\"equal to 1000 kg used in the US (recognized by NIST as metric ton), and internationally (recognized as tonne)\",\"kg\",\"KG\",\"1e3\",1000,false],[false,\"bar\",\"bar\",\"BAR\",\"pressure\",100000000,[-1,-2,1,0,0,0,0],\"bar\",\"iso1000\",true,null,null,1,false,false,0,\"bars\",\"UCUM\",\"Pres\",\"Nonclinical\",\"unit of pressure equal to 10^5 Pascals, primarily used by meteorologists and in weather forecasting\",\"Pa\",\"PAL\",\"1e5\",100000,false],[false,\"unified atomic mass unit\",\"u\",\"AMU\",\"mass\",1.6605402e-24,[0,0,1,0,0,0,0],\"u\",\"iso1000\",true,null,null,1,false,false,0,\"unified atomic mass units; amu; Dalton; Da\",\"UCUM\",\"Mass\",\"Clinical\",\"the mass of 1/12 of an unbound Carbon-12 atom nuclide equal to 1.6606x10^-27 kg \",\"g\",\"G\",\"1.6605402e-24\",1.6605402e-24,false],[false,\"astronomic unit\",\"AU\",\"ASU\",\"length\",149597870691,[1,0,0,0,0,0,0],\"AU\",\"iso1000\",false,null,null,1,false,false,0,\"AU; units\",\"UCUM\",\"Len\",\"Clinical\",\"unit of length used in astronomy for measuring distance in Solar system\",\"Mm\",\"MAM\",\"149597.870691\",149597.870691,false],[false,\"parsec\",\"pc\",\"PRS\",\"length\",30856780000000000,[1,0,0,0,0,0,0],\"pc\",\"iso1000\",true,null,null,1,false,false,0,\"parsecs\",\"UCUM\",\"Len\",\"Clinical\",\"unit of length equal to 3.26 light years, nad used to measure large distances to objects outside our Solar System\",\"m\",\"M\",\"3.085678e16\",30856780000000000,false],[false,\"velocity of light in a vacuum\",\"[c]\",\"[C]\",\"velocity\",299792458,[1,-1,0,0,0,0,0],\"c\",\"const\",true,null,null,1,false,false,0,\"speed of light\",\"UCUM\",\"Vel\",\"Constant\",\"equal to 299792458 m/s (approximately 3 x 10^8 m/s)\",\"m/s\",\"M/S\",\"299792458\",299792458,false],[false,\"Planck constant\",\"[h]\",\"[H]\",\"action\",6.6260755e-31,[2,-1,1,0,0,0,0],\"h\",\"const\",true,null,null,1,false,false,0,\"Planck\\'s constant\",\"UCUM\",\"\",\"Constant\",\"constant = 6.62607004 × 10-34 m2.kg/s; defined as quantum of action\",\"J.s\",\"J.S\",\"6.6260755e-34\",6.6260755e-34,false],[false,\"Boltzmann constant\",\"[k]\",\"[K]\",\"(unclassified)\",1.380658e-20,[2,-2,1,0,-1,0,0],\"k\",\"const\",true,null,null,1,false,false,0,\"k; kB\",\"UCUM\",\"\",\"Constant\",\"physical constant relating energy at the individual particle level with temperature = 1.38064852 ×10^−23 J/K\",\"J/K\",\"J/K\",\"1.380658e-23\",1.380658e-23,false],[false,\"permittivity of vacuum - electric\",\"[eps_0]\",\"[EPS_0]\",\"electric permittivity\",8.854187817000001e-15,[-3,2,-1,0,0,2,0],\"ε0\",\"const\",true,null,null,1,false,false,0,\"ε0; Electric Constant; vacuum permittivity; permittivity of free space \",\"UCUM\",\"\",\"Constant\",\"approximately equal to 8.854 × 10^−12 F/m (farads per meter)\",\"F/m\",\"F/M\",\"8.854187817e-12\",8.854187817e-12,false],[false,\"permeability of vacuum - magnetic\",\"[mu_0]\",\"[MU_0]\",\"magnetic permeability\",0.0012566370614359172,[1,0,1,0,0,-2,0],\"μ0\",\"const\",true,null,null,1,false,false,0,\"μ0; vacuum permeability; permeability of free space; magnetic constant\",\"UCUM\",\"\",\"Constant\",\"equal to 4π×10^−7 N/A2 (Newtons per square ampere) ≈ 1.2566×10^−6 H/m (Henry per meter)\",\"N/A2\",\"4.[PI].10*-7.N/A2\",\"1\",0.0000012566370614359173,false],[false,\"elementary charge\",\"[e]\",\"[E]\",\"electric charge\",1.60217733e-19,[0,0,0,0,0,1,0],\"e\",\"const\",true,null,null,1,false,false,0,\"e; q; electric charges\",\"UCUM\",\"\",\"Constant\",\"the magnitude of the electric charge carried by a single electron or proton ≈ 1.60217×10^-19 Coulombs\",\"C\",\"C\",\"1.60217733e-19\",1.60217733e-19,false],[false,\"electronvolt\",\"eV\",\"EV\",\"energy\",1.60217733e-16,[2,-2,1,0,0,0,0],\"eV\",\"iso1000\",true,null,null,1,false,false,0,\"Electron Volts; electronvolts\",\"UCUM\",\"Eng\",\"Clinical\",\"unit of kinetic energy = 1 V * 1.602×10^−19 C = 1.6×10−19 Joules\",\"[e].V\",\"[E].V\",\"1\",1,false],[false,\"electron mass\",\"[m_e]\",\"[M_E]\",\"mass\",9.1093897e-28,[0,0,1,0,0,0,0],\"me\",\"const\",true,null,null,1,false,false,0,\"electron rest mass; me\",\"UCUM\",\"Mass\",\"Constant\",\"approximately equal to 9.10938356 × 10-31 kg; defined as the mass of a stationary electron\",\"g\",\"g\",\"9.1093897e-28\",9.1093897e-28,false],[false,\"proton mass\",\"[m_p]\",\"[M_P]\",\"mass\",1.6726231e-24,[0,0,1,0,0,0,0],\"mp\",\"const\",true,null,null,1,false,false,0,\"mp; masses\",\"UCUM\",\"Mass\",\"Constant\",\"approximately equal to 1.672622×10−27 kg\",\"g\",\"g\",\"1.6726231e-24\",1.6726231e-24,false],[false,\"Newtonian constant of gravitation\",\"[G]\",\"[GC]\",\"(unclassified)\",6.67259e-14,[3,-2,-1,0,0,0,0],\"G\",\"const\",true,null,null,1,false,false,0,\"G; gravitational constant; Newton\\'s constant\",\"UCUM\",\"\",\"Constant\",\"gravitational constant = 6.674×10−11 N⋅m2/kg2\",\"m3.kg-1.s-2\",\"M3.KG-1.S-2\",\"6.67259e-11\",6.67259e-11,false],[false,\"standard acceleration of free fall\",\"[g]\",\"[G]\",\"acceleration\",9.80665,[1,-2,0,0,0,0,0],\"gn\",\"const\",true,null,null,1,false,false,0,\"standard gravity; g; ɡ0; ɡn\",\"UCUM\",\"Accel\",\"Constant\",\"defined by standard = 9.80665 m/s2\",\"m/s2\",\"M/S2\",\"980665e-5\",9.80665,false],[false,\"Torr\",\"Torr\",\"Torr\",\"pressure\",133322,[-1,-2,1,0,0,0,0],\"Torr\",\"const\",false,null,null,1,false,false,0,\"torrs\",\"UCUM\",\"Pres\",\"Clinical\",\"1 torr = 1 mmHg; unit used to measure blood pressure\",\"Pa\",\"PAL\",\"133.322\",133.322,false],[false,\"standard atmosphere\",\"atm\",\"ATM\",\"pressure\",101325000,[-1,-2,1,0,0,0,0],\"atm\",\"const\",false,null,null,1,false,false,0,\"reference pressure; atmos; std atmosphere\",\"UCUM\",\"Pres\",\"Clinical\",\"defined as being precisely equal to 101,325 Pa\",\"Pa\",\"PAL\",\"101325\",101325,false],[false,\"light-year\",\"[ly]\",\"[LY]\",\"length\",9460730472580800,[1,0,0,0,0,0,0],\"l.y.\",\"const\",true,null,null,1,false,false,0,\"light years; ly\",\"UCUM\",\"Len\",\"Constant\",\"unit of astronomal distance = 5.88×10^12 mi\",\"[c].a_j\",\"[C].ANN_J\",\"1\",1,false],[false,\"gram-force\",\"gf\",\"GF\",\"force\",9.80665,[1,-2,1,0,0,0,0],\"gf\",\"const\",true,null,null,1,false,false,0,\"Newtons; gram forces\",\"UCUM\",\"Force\",\"Clinical\",\"May be specific to unit related to cardiac output\",\"g.[g]\",\"G.[G]\",\"1\",1,false],[false,\"Kayser\",\"Ky\",\"KY\",\"lineic number\",100,[-1,0,0,0,0,0,0],\"K\",\"cgs\",true,null,null,1,false,false,0,\"wavenumbers; kaysers\",\"UCUM\",\"InvLen\",\"Clinical\",\"unit of wavelength equal to cm^-1\",\"cm-1\",\"CM-1\",\"1\",1,false],[false,\"Gal\",\"Gal\",\"GL\",\"acceleration\",0.01,[1,-2,0,0,0,0,0],\"Gal\",\"cgs\",true,null,null,1,false,false,0,\"galileos; Gals\",\"UCUM\",\"Accel\",\"Clinical\",\"unit of acceleration used in gravimetry; equivalent to cm/s2 \",\"cm/s2\",\"CM/S2\",\"1\",1,false],[false,\"dyne\",\"dyn\",\"DYN\",\"force\",0.01,[1,-2,1,0,0,0,0],\"dyn\",\"cgs\",true,null,null,1,false,false,0,\"dynes\",\"UCUM\",\"Force\",\"Clinical\",\"unit of force equal to 10^-5 Newtons\",\"g.cm/s2\",\"G.CM/S2\",\"1\",1,false],[false,\"erg\",\"erg\",\"ERG\",\"energy\",0.0001,[2,-2,1,0,0,0,0],\"erg\",\"cgs\",true,null,null,1,false,false,0,\"10^-7 Joules, 10-7 Joules; 100 nJ; 100 nanoJoules; 1 dyne cm; 1 g.cm2/s2\",\"UCUM\",\"Eng\",\"Clinical\",\"unit of energy = 1 dyne centimeter = 10^-7 Joules\",\"dyn.cm\",\"DYN.CM\",\"1\",1,false],[false,\"Poise\",\"P\",\"P\",\"dynamic viscosity\",100,[-1,-1,1,0,0,0,0],\"P\",\"cgs\",true,null,null,1,false,false,0,\"dynamic viscosity; poises\",\"UCUM\",\"Visc\",\"Clinical\",\"unit of dynamic viscosity where 1 Poise = 1/10 Pascal second\",\"dyn.s/cm2\",\"DYN.S/CM2\",\"1\",1,false],[false,\"Biot\",\"Bi\",\"BI\",\"electric current\",10,[0,-1,0,0,0,1,0],\"Bi\",\"cgs\",true,null,null,1,false,false,0,\"Bi; abamperes; abA\",\"UCUM\",\"ElpotRat\",\"Clinical\",\"equal to 10 amperes\",\"A\",\"A\",\"10\",10,false],[false,\"Stokes\",\"St\",\"ST\",\"kinematic viscosity\",0.0001,[2,-1,0,0,0,0,0],\"St\",\"cgs\",true,null,null,1,false,false,0,\"kinematic viscosity\",\"UCUM\",\"Visc\",\"Clinical\",\"unit of kimematic viscosity with units cm2/s\",\"cm2/s\",\"CM2/S\",\"1\",1,false],[false,\"Maxwell\",\"Mx\",\"MX\",\"flux of magnetic induction\",0.00001,[2,-1,1,0,0,-1,0],\"Mx\",\"cgs\",true,null,null,1,false,false,0,\"magnetix flux; Maxwells\",\"UCUM\",\"\",\"Clinical\",\"unit of magnetic flux\",\"Wb\",\"WB\",\"1e-8\",1e-8,false],[false,\"Gauss\",\"G\",\"GS\",\"magnetic flux density\",0.1,[0,-1,1,0,0,-1,0],\"Gs\",\"cgs\",true,null,null,1,false,false,0,\"magnetic fields; magnetic flux density; induction; B\",\"UCUM\",\"magnetic\",\"Clinical\",\"CGS unit of magnetic flux density, known as magnetic field B; defined as one maxwell unit per square centimeter (see Oersted for CGS unit for H field)\",\"T\",\"T\",\"1e-4\",0.0001,false],[false,\"Oersted\",\"Oe\",\"OE\",\"magnetic field intensity\",79.57747154594767,[-1,-1,0,0,0,1,0],\"Oe\",\"cgs\",true,null,null,1,false,false,0,\"H magnetic B field; Oersteds\",\"UCUM\",\"\",\"Clinical\",\"CGS unit of the auxiliary magnetic field H defined as 1 dyne per unit pole = 1000/4π amperes per meter (see Gauss for CGS unit for B field)\",\"A/m\",\"/[PI].A/M\",\"250\",79.57747154594767,false],[false,\"Gilbert\",\"Gb\",\"GB\",\"magnetic tension\",0.7957747154594768,[0,-1,0,0,0,1,0],\"Gb\",\"cgs\",true,null,null,1,false,false,0,\"Gi; magnetomotive force; Gilberts\",\"UCUM\",\"\",\"Clinical\",\"unit of magnetomotive force (magnetic potential)\",\"Oe.cm\",\"OE.CM\",\"1\",1,false],[false,\"stilb\",\"sb\",\"SB\",\"lum. intensity density\",10000,[-2,0,0,0,0,0,1],\"sb\",\"cgs\",true,null,null,1,false,false,0,\"stilbs\",\"UCUM\",\"\",\"Obsolete\",\"unit of luminance; equal to and replaced by unit candela per square centimeter (cd/cm2)\",\"cd/cm2\",\"CD/CM2\",\"1\",1,false],[false,\"Lambert\",\"Lmb\",\"LMB\",\"brightness\",3183.098861837907,[-2,0,0,0,0,0,1],\"L\",\"cgs\",true,null,null,1,false,false,0,\"luminance; lamberts\",\"UCUM\",\"\",\"Clinical\",\"unit of luminance defined as 1 lambert = 1/ π candela per square meter\",\"cd/cm2/[pi]\",\"CD/CM2/[PI]\",\"1\",1,false],[false,\"phot\",\"ph\",\"PHT\",\"illuminance\",0.0001,[-2,0,0,2,0,0,1],\"ph\",\"cgs\",true,null,null,1,false,false,0,\"phots\",\"UCUM\",\"\",\"Clinical\",\"CGS photometric unit of illuminance, or luminous flux through an area equal to 10000 lumens per square meter = 10000 lux\",\"lx\",\"LX\",\"1e-4\",0.0001,false],[false,\"Curie\",\"Ci\",\"CI\",\"radioactivity\",37000000000,[0,-1,0,0,0,0,0],\"Ci\",\"cgs\",true,null,null,1,false,false,0,\"curies\",\"UCUM\",\"\",\"Obsolete\",\"unit for measuring atomic disintegration rate; replaced by the Bequerel (Bq) unit\",\"Bq\",\"BQ\",\"37e9\",37000000000,false],[false,\"Roentgen\",\"R\",\"ROE\",\"ion dose\",2.58e-7,[0,0,-1,0,0,1,0],\"R\",\"cgs\",true,null,null,1,false,false,0,\"röntgen; Roentgens\",\"UCUM\",\"\",\"Clinical\",\"unit of exposure of X-rays and gamma rays in air; unit used primarily in the US but strongly discouraged by NIST\",\"C/kg\",\"C/KG\",\"2.58e-4\",0.000258,false],[false,\"radiation absorbed dose\",\"RAD\",\"[RAD]\",\"energy dose\",0.01,[2,-2,0,0,0,0,0],\"RAD\",\"cgs\",true,null,null,1,false,false,0,\"doses\",\"UCUM\",\"\",\"Clinical\",\"unit of radiation absorbed dose used primarily in the US with base units 100 ergs per gram of material. Also see the SI unit Gray (Gy).\",\"erg/g\",\"ERG/G\",\"100\",100,false],[false,\"radiation equivalent man\",\"REM\",\"[REM]\",\"dose equivalent\",0.01,[2,-2,0,0,0,0,0],\"REM\",\"cgs\",true,null,null,1,false,false,0,\"Roentgen Equivalent in Man; rems; dose equivalents\",\"UCUM\",\"\",\"Clinical\",\"unit of equivalent dose which measures the effect of radiation on humans equal to 0.01 sievert. Used primarily in the US. Also see SI unit Sievert (Sv)\",\"RAD\",\"[RAD]\",\"1\",1,false],[false,\"inch\",\"[in_i]\",\"[IN_I]\",\"length\",0.025400000000000002,[1,0,0,0,0,0,0],\"in\",\"intcust\",false,null,null,1,false,false,0,\"inches; in; international inch; body height\",\"UCUM\",\"Len\",\"Clinical\",\"standard unit for inch in the US and internationally\",\"cm\",\"CM\",\"254e-2\",2.54,false],[false,\"foot\",\"[ft_i]\",\"[FT_I]\",\"length\",0.3048,[1,0,0,0,0,0,0],\"ft\",\"intcust\",false,null,null,1,false,false,0,\"ft; fts; foot; international foot; feet; international feet; height\",\"UCUM\",\"Len\",\"Clinical\",\"unit used in the US and internationally\",\"[in_i]\",\"[IN_I]\",\"12\",12,false],[false,\"yard\",\"[yd_i]\",\"[YD_I]\",\"length\",0.9144000000000001,[1,0,0,0,0,0,0],\"yd\",\"intcust\",false,null,null,1,false,false,0,\"international yards; yds; distance\",\"UCUM\",\"Len\",\"Clinical\",\"standard unit used in the US and internationally\",\"[ft_i]\",\"[FT_I]\",\"3\",3,false],[false,\"mile\",\"[mi_i]\",\"[MI_I]\",\"length\",1609.344,[1,0,0,0,0,0,0],\"mi\",\"intcust\",false,null,null,1,false,false,0,\"international miles; mi I; statute mile\",\"UCUM\",\"Len\",\"Clinical\",\"standard unit used in the US and internationally\",\"[ft_i]\",\"[FT_I]\",\"5280\",5280,false],[false,\"fathom\",\"[fth_i]\",\"[FTH_I]\",\"depth of water\",1.8288000000000002,[1,0,0,0,0,0,0],\"fth\",\"intcust\",false,null,null,1,false,false,0,\"international fathoms\",\"UCUM\",\"Len\",\"Nonclinical\",\"unit used in the US and internationally to measure depth of water; same length as the US fathom\",\"[ft_i]\",\"[FT_I]\",\"6\",6,false],[false,\"nautical mile\",\"[nmi_i]\",\"[NMI_I]\",\"length\",1852,[1,0,0,0,0,0,0],\"n.mi\",\"intcust\",false,null,null,1,false,false,0,\"nautical mile; nautical miles; international nautical mile; international nautical miles; nm; n.m.; nmi\",\"UCUM\",\"Len\",\"Nonclinical\",\"standard unit used in the US and internationally\",\"m\",\"M\",\"1852\",1852,false],[false,\"knot\",\"[kn_i]\",\"[KN_I]\",\"velocity\",0.5144444444444445,[1,-1,0,0,0,0,0],\"knot\",\"intcust\",false,null,null,1,false,false,0,\"kn; kt; international knots\",\"UCUM\",\"Vel\",\"Nonclinical\",\"defined as equal to one nautical mile (1.852 km) per hour\",\"[nmi_i]/h\",\"[NMI_I]/H\",\"1\",1,false],[false,\"square inch\",\"[sin_i]\",\"[SIN_I]\",\"area\",0.0006451600000000001,[2,0,0,0,0,0,0],null,\"intcust\",false,null,null,1,false,false,0,\"in2; in^2; inches squared; sq inch; inches squared; international\",\"UCUM\",\"Area\",\"Clinical\",\"standard unit used in the US and internationally\",\"[in_i]2\",\"[IN_I]2\",\"1\",1,false],[false,\"square foot\",\"[sft_i]\",\"[SFT_I]\",\"area\",0.09290304,[2,0,0,0,0,0,0],null,\"intcust\",false,null,null,1,false,false,0,\"ft2; ft^2; ft squared; sq ft; feet; international\",\"UCUM\",\"Area\",\"Clinical\",\"standard unit used in the US and internationally\",\"[ft_i]2\",\"[FT_I]2\",\"1\",1,false],[false,\"square yard\",\"[syd_i]\",\"[SYD_I]\",\"area\",0.8361273600000002,[2,0,0,0,0,0,0],null,\"intcust\",false,null,null,1,false,false,0,\"yd2; yd^2; sq. yds; yards squared; international\",\"UCUM\",\"Area\",\"Clinical\",\"standard unit used in the US and internationally\",\"[yd_i]2\",\"[YD_I]2\",\"1\",1,false],[false,\"cubic inch\",\"[cin_i]\",\"[CIN_I]\",\"volume\",0.000016387064000000003,[3,0,0,0,0,0,0],null,\"intcust\",false,null,null,1,false,false,0,\"in3; in^3; in*3; inches^3; inches*3; cu. in; cu in; cubic inches; inches cubed; cin\",\"UCUM\",\"Vol\",\"Clinical\",\"standard unit used in the US and internationally\",\"[in_i]3\",\"[IN_I]3\",\"1\",1,false],[false,\"cubic foot\",\"[cft_i]\",\"[CFT_I]\",\"volume\",0.028316846592000004,[3,0,0,0,0,0,0],null,\"intcust\",false,null,null,1,false,false,0,\"ft3; ft^3; ft*3; cu. ft; cubic feet; cubed; [ft_i]3; international\",\"UCUM\",\"Vol\",\"Clinical\",\"\",\"[ft_i]3\",\"[FT_I]3\",\"1\",1,false],[false,\"cubic yard\",\"[cyd_i]\",\"[CYD_I]\",\"volume\",0.7645548579840002,[3,0,0,0,0,0,0],\"cu.yd\",\"intcust\",false,null,null,1,false,false,0,\"cubic yards; cubic yds; cu yards; CYs; yards^3; yd^3; yds^3; yd3; yds3\",\"UCUM\",\"Vol\",\"Nonclinical\",\"standard unit used in the US and internationally\",\"[yd_i]3\",\"[YD_I]3\",\"1\",1,false],[false,\"board foot\",\"[bf_i]\",\"[BF_I]\",\"volume\",0.002359737216,[3,0,0,0,0,0,0],null,\"intcust\",false,null,null,1,false,false,0,\"BDFT; FBM; BF; board feet; international\",\"UCUM\",\"Vol\",\"Nonclinical\",\"unit of volume used to measure lumber\",\"[in_i]3\",\"[IN_I]3\",\"144\",144,false],[false,\"cord\",\"[cr_i]\",\"[CR_I]\",\"volume\",3.6245563637760005,[3,0,0,0,0,0,0],null,\"intcust\",false,null,null,1,false,false,0,\"crd I; international cords\",\"UCUM\",\"Vol\",\"Nonclinical\",\"unit of measure of dry volume used to measure firewood equal 128 ft3\",\"[ft_i]3\",\"[FT_I]3\",\"128\",128,false],[false,\"mil\",\"[mil_i]\",\"[MIL_I]\",\"length\",0.000025400000000000004,[1,0,0,0,0,0,0],\"mil\",\"intcust\",false,null,null,1,false,false,0,\"thou, thousandth; mils; international\",\"UCUM\",\"Len\",\"Clinical\",\"equal to 0.001 international inch\",\"[in_i]\",\"[IN_I]\",\"1e-3\",0.001,false],[false,\"circular mil\",\"[cml_i]\",\"[CML_I]\",\"area\",5.067074790974979e-10,[2,0,0,0,0,0,0],\"circ.mil\",\"intcust\",false,null,null,1,false,false,0,\"circular mils; cml I; international\",\"UCUM\",\"Area\",\"Clinical\",\"\",\"[pi]/4.[mil_i]2\",\"[PI]/4.[MIL_I]2\",\"1\",1,false],[false,\"hand\",\"[hd_i]\",\"[HD_I]\",\"height of horses\",0.10160000000000001,[1,0,0,0,0,0,0],\"hd\",\"intcust\",false,null,null,1,false,false,0,\"hands; international\",\"UCUM\",\"Len\",\"Nonclinical\",\"used to measure horse height\",\"[in_i]\",\"[IN_I]\",\"4\",4,false],[false,\"foot - US\",\"[ft_us]\",\"[FT_US]\",\"length\",0.3048006096012192,[1,0,0,0,0,0,0],\"ftus\",\"us-lengths\",false,null,null,1,false,false,0,\"US foot; foot US; us ft; ft us; height; visual distance; feet\",\"UCUM\",\"Len\",\"Obsolete\",\"Better to use [ft_i] which refers to the length used worldwide, including in the US; [ft_us] may be confused with land survey units. \",\"m/3937\",\"M/3937\",\"1200\",1200,false],[false,\"yard - US\",\"[yd_us]\",\"[YD_US]\",\"length\",0.9144018288036575,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"US yards; us yds; distance\",\"UCUM\",\"Len; Nrat\",\"Obsolete\",\"Better to use [yd_i] which refers to the length used worldwide, including in the US; [yd_us] refers to unit used in land surveys in the US\",\"[ft_us]\",\"[FT_US]\",\"3\",3,false],[false,\"inch - US\",\"[in_us]\",\"[IN_US]\",\"length\",0.0254000508001016,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"US inches; in us; us in; inch US\",\"UCUM\",\"Len\",\"Obsolete\",\"Better to use [in_i] which refers to the length used worldwide, including in the US\",\"[ft_us]/12\",\"[FT_US]/12\",\"1\",1,false],[false,\"rod - US\",\"[rd_us]\",\"[RD_US]\",\"length\",5.029210058420117,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"US rod; US rods; rd US; US rd\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[ft_us]\",\"[FT_US]\",\"16.5\",16.5,false],[false,\"Gunter\\'s chain - US\",\"[ch_us]\",\"[CH_US]\",\"length\",20.116840233680467,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"surveyor\\'s chain; Surveyor\\'s chain USA; Gunter’s measurement; surveyor’s measurement; Gunter\\'s Chain USA\",\"UCUM\",\"Len\",\"Obsolete\",\"historical unit used for land survey used only in the US\",\"[rd_us]\",\"[RD_US]\",\"4\",4,false],[false,\"link for Gunter\\'s chain - US\",\"[lk_us]\",\"[LK_US]\",\"length\",0.20116840233680466,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"Links for Gunter\\'s Chain USA\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[ch_us]/100\",\"[CH_US]/100\",\"1\",1,false],[false,\"Ramden\\'s chain - US\",\"[rch_us]\",\"[RCH_US]\",\"length\",30.480060960121918,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"Ramsden\\'s chain; engineer\\'s chains\",\"UCUM\",\"Len\",\"Obsolete\",\"distance measuring device used for land survey\",\"[ft_us]\",\"[FT_US]\",\"100\",100,false],[false,\"link for Ramden\\'s chain - US\",\"[rlk_us]\",\"[RLK_US]\",\"length\",0.3048006096012192,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"links for Ramsden\\'s chain\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[rch_us]/100\",\"[RCH_US]/100\",\"1\",1,false],[false,\"fathom - US\",\"[fth_us]\",\"[FTH_US]\",\"length\",1.828803657607315,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"US fathoms; fathom USA; fth us\",\"UCUM\",\"Len\",\"Obsolete\",\"same length as the international fathom - better to use international fathom ([fth_i])\",\"[ft_us]\",\"[FT_US]\",\"6\",6,false],[false,\"furlong - US\",\"[fur_us]\",\"[FUR_US]\",\"length\",201.16840233680466,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"US furlongs; fur us\",\"UCUM\",\"Len\",\"Nonclinical\",\"distance unit in horse racing\",\"[rd_us]\",\"[RD_US]\",\"40\",40,false],[false,\"mile - US\",\"[mi_us]\",\"[MI_US]\",\"length\",1609.3472186944373,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"U.S. Survey Miles; US statute miles; survey mi; US mi; distance\",\"UCUM\",\"Len\",\"Nonclinical\",\"Better to use [mi_i] which refers to the length used worldwide, including in the US\",\"[fur_us]\",\"[FUR_US]\",\"8\",8,false],[false,\"acre - US\",\"[acr_us]\",\"[ACR_US]\",\"area\",4046.872609874252,[2,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"Acre USA Survey; Acre USA; survey acres\",\"UCUM\",\"Area\",\"Nonclinical\",\"an older unit based on pre 1959 US statute lengths that is still sometimes used in the US only for land survey purposes. \",\"[rd_us]2\",\"[RD_US]2\",\"160\",160,false],[false,\"square rod - US\",\"[srd_us]\",\"[SRD_US]\",\"area\",25.292953811714074,[2,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"rod2; rod^2; sq. rod; rods squared\",\"UCUM\",\"Area\",\"Nonclinical\",\"Used only in the US to measure land area, based on US statute land survey length units\",\"[rd_us]2\",\"[RD_US]2\",\"1\",1,false],[false,\"square mile - US\",\"[smi_us]\",\"[SMI_US]\",\"area\",2589998.470319521,[2,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"mi2; mi^2; sq mi; miles squared\",\"UCUM\",\"Area\",\"Nonclinical\",\"historical unit used only in the US for land survey purposes (based on the US survey mile), not the internationally recognized [mi_i]\",\"[mi_us]2\",\"[MI_US]2\",\"1\",1,false],[false,\"section\",\"[sct]\",\"[SCT]\",\"area\",2589998.470319521,[2,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"sct; sections\",\"UCUM\",\"Area\",\"Nonclinical\",\"tract of land approximately equal to 1 mile square containing 640 acres\",\"[mi_us]2\",\"[MI_US]2\",\"1\",1,false],[false,\"township\",\"[twp]\",\"[TWP]\",\"area\",93239944.93150276,[2,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"twp; townships\",\"UCUM\",\"Area\",\"Nonclinical\",\"land measurement equal to 6 mile square\",\"[sct]\",\"[SCT]\",\"36\",36,false],[false,\"mil - US\",\"[mil_us]\",\"[MIL_US]\",\"length\",0.0000254000508001016,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"thou, thousandth; mils\",\"UCUM\",\"Len\",\"Obsolete\",\"better to use [mil_i] which is based on the internationally recognized inch\",\"[in_us]\",\"[IN_US]\",\"1e-3\",0.001,false],[false,\"inch - British\",\"[in_br]\",\"[IN_BR]\",\"length\",0.025399980000000003,[1,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"imperial inches; imp in; br in; british inches\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"cm\",\"CM\",\"2.539998\",2.539998,false],[false,\"foot - British\",\"[ft_br]\",\"[FT_BR]\",\"length\",0.30479976000000003,[1,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"British Foot; Imperial Foot; feet; imp fts; br fts\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[in_br]\",\"[IN_BR]\",\"12\",12,false],[false,\"rod - British\",\"[rd_br]\",\"[RD_BR]\",\"length\",5.02919604,[1,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"British rods; br rd\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[ft_br]\",\"[FT_BR]\",\"16.5\",16.5,false],[false,\"Gunter\\'s chain - British\",\"[ch_br]\",\"[CH_BR]\",\"length\",20.11678416,[1,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"Gunter\\'s Chain British; Gunters Chain British; Surveyor\\'s Chain British\",\"UCUM\",\"Len\",\"Obsolete\",\"historical unit used for land survey used only in Great Britain\",\"[rd_br]\",\"[RD_BR]\",\"4\",4,false],[false,\"link for Gunter\\'s chain - British\",\"[lk_br]\",\"[LK_BR]\",\"length\",0.2011678416,[1,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"Links for Gunter\\'s Chain British\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[ch_br]/100\",\"[CH_BR]/100\",\"1\",1,false],[false,\"fathom - British\",\"[fth_br]\",\"[FTH_BR]\",\"length\",1.82879856,[1,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"British fathoms; imperial fathoms; br fth; imp fth\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[ft_br]\",\"[FT_BR]\",\"6\",6,false],[false,\"pace - British\",\"[pc_br]\",\"[PC_BR]\",\"length\",0.7619994000000001,[1,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"British paces; br pc\",\"UCUM\",\"Len\",\"Nonclinical\",\"traditional unit of length equal to 152.4 centimeters, or 1.52 meter. \",\"[ft_br]\",\"[FT_BR]\",\"2.5\",2.5,false],[false,\"yard - British\",\"[yd_br]\",\"[YD_BR]\",\"length\",0.91439928,[1,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"British yards; Br yds; distance\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[ft_br]\",\"[FT_BR]\",\"3\",3,false],[false,\"mile - British\",\"[mi_br]\",\"[MI_BR]\",\"length\",1609.3427328000002,[1,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"imperial miles; British miles; English statute miles; imp mi, br mi\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[ft_br]\",\"[FT_BR]\",\"5280\",5280,false],[false,\"nautical mile - British\",\"[nmi_br]\",\"[NMI_BR]\",\"length\",1853.1825408000002,[1,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"British nautical miles; Imperial nautical miles; Admiralty miles; n.m. br; imp nm\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[ft_br]\",\"[FT_BR]\",\"6080\",6080,false],[false,\"knot - British\",\"[kn_br]\",\"[KN_BR]\",\"velocity\",0.5147729280000001,[1,-1,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"British knots; kn br; kt\",\"UCUM\",\"Vel\",\"Obsolete\",\"based on obsolete British nautical mile \",\"[nmi_br]/h\",\"[NMI_BR]/H\",\"1\",1,false],[false,\"acre\",\"[acr_br]\",\"[ACR_BR]\",\"area\",4046.850049400269,[2,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"Imperial acres; British; a; ac; ar; acr\",\"UCUM\",\"Area\",\"Nonclinical\",\"the standard unit for acre used in the US and internationally\",\"[yd_br]2\",\"[YD_BR]2\",\"4840\",4840,false],[false,\"gallon - US\",\"[gal_us]\",\"[GAL_US]\",\"fluid volume\",0.0037854117840000006,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"US gallons; US liquid gallon; gal us; Queen Anne\\'s wine gallon\",\"UCUM\",\"Vol\",\"Nonclinical\",\"only gallon unit used in the US; [gal_us] is only used in some other countries in South American and Africa to measure gasoline volume\",\"[in_i]3\",\"[IN_I]3\",\"231\",231,false],[false,\"barrel - US\",\"[bbl_us]\",\"[BBL_US]\",\"fluid volume\",0.158987294928,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"bbl\",\"UCUM\",\"Vol\",\"Nonclinical\",\"[bbl_us] is the standard unit for oil barrel, which is a unit only used in the US to measure the volume oil. \",\"[gal_us]\",\"[GAL_US]\",\"42\",42,false],[false,\"quart - US\",\"[qt_us]\",\"[QT_US]\",\"fluid volume\",0.0009463529460000001,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"US quarts; us qts\",\"UCUM\",\"Vol\",\"Clinical\",\"Used only in the US\",\"[gal_us]/4\",\"[GAL_US]/4\",\"1\",1,false],[false,\"pint - US\",\"[pt_us]\",\"[PT_US]\",\"fluid volume\",0.00047317647300000007,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"US pints; pint US; liquid pint; pt us; us pt\",\"UCUM\",\"Vol\",\"Clinical\",\"Used only in the US\",\"[qt_us]/2\",\"[QT_US]/2\",\"1\",1,false],[false,\"gill - US\",\"[gil_us]\",\"[GIL_US]\",\"fluid volume\",0.00011829411825000002,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"US gills; gil us\",\"UCUM\",\"Vol\",\"Nonclinical\",\"only used in the context of alcohol volume in the US\",\"[pt_us]/4\",\"[PT_US]/4\",\"1\",1,false],[false,\"fluid ounce - US\",\"[foz_us]\",\"[FOZ_US]\",\"fluid volume\",0.000029573529562500005,[3,0,0,0,0,0,0],\"oz fl\",\"us-volumes\",false,null,null,1,false,false,0,\"US fluid ounces; fl ozs; FO; fl. oz.; foz us\",\"UCUM\",\"Vol\",\"Clinical\",\"unit used only in the US\",\"[gil_us]/4\",\"[GIL_US]/4\",\"1\",1,false],[false,\"fluid dram - US\",\"[fdr_us]\",\"[FDR_US]\",\"fluid volume\",0.0000036966911953125006,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"US fluid drams; fdr us\",\"UCUM\",\"Vol\",\"Nonclinical\",\"equal to 1/8 US fluid ounce = 3.69 mL; used informally to mean small amount of liquor, especially Scotch whiskey\",\"[foz_us]/8\",\"[FOZ_US]/8\",\"1\",1,false],[false,\"minim - US\",\"[min_us]\",\"[MIN_US]\",\"fluid volume\",6.1611519921875e-8,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"min US; US min; ♏ US\",\"UCUM\",\"Vol\",\"Obsolete\",\"\",\"[fdr_us]/60\",\"[FDR_US]/60\",\"1\",1,false],[false,\"cord - US\",\"[crd_us]\",\"[CRD_US]\",\"fluid volume\",3.6245563637760005,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"US cord; US cords; crd us; us crd\",\"UCUM\",\"Vol\",\"Nonclinical\",\"unit of measure of dry volume used to measure firewood equal 128 ft3 (the same as international cord [cr_i])\",\"[ft_i]3\",\"[FT_I]3\",\"128\",128,false],[false,\"bushel - US\",\"[bu_us]\",\"[BU_US]\",\"dry volume\",0.03523907016688001,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"US bushels; US bsh; US bu\",\"UCUM\",\"Vol\",\"Obsolete\",\"Historical unit of dry volume that is rarely used today\",\"[in_i]3\",\"[IN_I]3\",\"2150.42\",2150.42,false],[false,\"gallon - historical\",\"[gal_wi]\",\"[GAL_WI]\",\"dry volume\",0.004404883770860001,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"Corn Gallon British; Dry Gallon US; Gallons Historical; Grain Gallon British; Winchester Corn Gallon; historical winchester gallons; wi gal\",\"UCUM\",\"Vol\",\"Obsolete\",\"historical unit of dry volume no longer used\",\"[bu_us]/8\",\"[BU_US]/8\",\"1\",1,false],[false,\"peck - US\",\"[pk_us]\",\"[PK_US]\",\"dry volume\",0.008809767541720002,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"US pecks; US pk\",\"UCUM\",\"Vol\",\"Nonclinical\",\"unit of dry volume rarely used today (can be used to measure volume of apples)\",\"[bu_us]/4\",\"[BU_US]/4\",\"1\",1,false],[false,\"dry quart - US\",\"[dqt_us]\",\"[DQT_US]\",\"dry volume\",0.0011012209427150002,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"dry quarts; dry quart US; US dry quart; dry qt; us dry qt; dqt; dqt us\",\"UCUM\",\"Vol\",\"Nonclinical\",\"historical unit of dry volume only in the US, but is rarely used today\",\"[pk_us]/8\",\"[PK_US]/8\",\"1\",1,false],[false,\"dry pint - US\",\"[dpt_us]\",\"[DPT_US]\",\"dry volume\",0.0005506104713575001,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"dry pints; dry pint US; US dry pint; dry pt; dpt; dpt us\",\"UCUM\",\"Vol\",\"Nonclinical\",\"historical unit of dry volume only in the US, but is rarely used today\",\"[dqt_us]/2\",\"[DQT_US]/2\",\"1\",1,false],[false,\"tablespoon - US\",\"[tbs_us]\",\"[TBS_US]\",\"volume\",0.000014786764781250002,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"Tbs; tbsp; tbs us; US tablespoons\",\"UCUM\",\"Vol\",\"Clinical\",\"unit defined as 0.5 US fluid ounces or 3 teaspoons - used only in the US. See [tbs_m] for the unit used internationally and in the US for nutrional labelling. \",\"[foz_us]/2\",\"[FOZ_US]/2\",\"1\",1,false],[false,\"teaspoon - US\",\"[tsp_us]\",\"[TSP_US]\",\"volume\",0.0000049289215937500005,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"tsp; t; US teaspoons\",\"UCUM\",\"Vol\",\"Nonclinical\",\"unit defined as 1/6 US fluid ounces - used only in the US. See [tsp_m] for the unit used internationally and in the US for nutrional labelling. \",\"[tbs_us]/3\",\"[TBS_US]/3\",\"1\",1,false],[false,\"cup - US customary\",\"[cup_us]\",\"[CUP_US]\",\"volume\",0.00023658823650000004,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"cup us; us cups\",\"UCUM\",\"Vol\",\"Nonclinical\",\"Unit defined as 1/2 US pint or 16 US tablespoons ≈ 236.59 mL, which is not the standard unit defined by the FDA of 240 mL - see [cup_m] (metric cup)\",\"[tbs_us]\",\"[TBS_US]\",\"16\",16,false],[false,\"fluid ounce - metric\",\"[foz_m]\",\"[FOZ_M]\",\"fluid volume\",0.000029999999999999997,[3,0,0,0,0,0,0],\"oz fl\",\"us-volumes\",false,null,null,1,false,false,0,\"metric fluid ounces; fozs m; fl ozs m\",\"UCUM\",\"Vol\",\"Clinical\",\"unit used only in the US for nutritional labelling, as set by the FDA\",\"mL\",\"ML\",\"30\",30,false],[false,\"cup - US legal\",\"[cup_m]\",\"[CUP_M]\",\"volume\",0.00023999999999999998,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"cup m; metric cups\",\"UCUM\",\"Vol\",\"Clinical\",\"standard unit equal to 240 mL used in the US for nutritional labelling, as defined by the FDA. Note that this is different from the US customary cup (236.59 mL) and the metric cup used in Commonwealth nations (250 mL).\",\"mL\",\"ML\",\"240\",240,false],[false,\"teaspoon - metric\",\"[tsp_m]\",\"[TSP_M]\",\"volume\",0.0000049999999999999996,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"tsp; t; metric teaspoons\",\"UCUM\",\"Vol\",\"Clinical\",\"standard unit used in the US and internationally\",\"mL\",\"mL\",\"5\",5,false],[false,\"tablespoon - metric\",\"[tbs_m]\",\"[TBS_M]\",\"volume\",0.000014999999999999999,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"metric tablespoons; Tbs; tbsp; T; tbs m\",\"UCUM\",\"Vol\",\"Clinical\",\"standard unit used in the US and internationally\",\"mL\",\"mL\",\"15\",15,false],[false,\"gallon- British\",\"[gal_br]\",\"[GAL_BR]\",\"volume\",0.004546090000000001,[3,0,0,0,0,0,0],null,\"brit-volumes\",false,null,null,1,false,false,0,\"imperial gallons, UK gallons; British gallons; br gal; imp gal\",\"UCUM\",\"Vol\",\"Nonclinical\",\"Used only in Great Britain and other Commonwealth countries\",\"l\",\"L\",\"4.54609\",4.54609,false],[false,\"peck - British\",\"[pk_br]\",\"[PK_BR]\",\"volume\",0.009092180000000002,[3,0,0,0,0,0,0],null,\"brit-volumes\",false,null,null,1,false,false,0,\"imperial pecks; British pecks; br pk; imp pk\",\"UCUM\",\"Vol\",\"Nonclinical\",\"unit of dry volume rarely used today (can be used to measure volume of apples)\",\"[gal_br]\",\"[GAL_BR]\",\"2\",2,false],[false,\"bushel - British\",\"[bu_br]\",\"[BU_BR]\",\"volume\",0.03636872000000001,[3,0,0,0,0,0,0],null,\"brit-volumes\",false,null,null,1,false,false,0,\"British bushels; imperial; br bsh; br bu; imp\",\"UCUM\",\"Vol\",\"Obsolete\",\"Historical unit of dry volume that is rarely used today\",\"[pk_br]\",\"[PK_BR]\",\"4\",4,false],[false,\"quart - British\",\"[qt_br]\",\"[QT_BR]\",\"volume\",0.0011365225000000002,[3,0,0,0,0,0,0],null,\"brit-volumes\",false,null,null,1,false,false,0,\"British quarts; imperial quarts; br qts\",\"UCUM\",\"Vol\",\"Clinical\",\"Used only in Great Britain and other Commonwealth countries\",\"[gal_br]/4\",\"[GAL_BR]/4\",\"1\",1,false],[false,\"pint - British\",\"[pt_br]\",\"[PT_BR]\",\"volume\",0.0005682612500000001,[3,0,0,0,0,0,0],null,\"brit-volumes\",false,null,null,1,false,false,0,\"British pints; imperial pints; pt br; br pt; imp pt; pt imp\",\"UCUM\",\"Vol\",\"Clinical\",\"Used only in Great Britain and other Commonwealth countries\",\"[qt_br]/2\",\"[QT_BR]/2\",\"1\",1,false],[false,\"gill - British\",\"[gil_br]\",\"[GIL_BR]\",\"volume\",0.00014206531250000003,[3,0,0,0,0,0,0],null,\"brit-volumes\",false,null,null,1,false,false,0,\"imperial gills; British gills; imp gill, br gill\",\"UCUM\",\"Vol\",\"Nonclinical\",\"only used in the context of alcohol volume in Great Britain\",\"[pt_br]/4\",\"[PT_BR]/4\",\"1\",1,false],[false,\"fluid ounce - British\",\"[foz_br]\",\"[FOZ_BR]\",\"volume\",0.000028413062500000005,[3,0,0,0,0,0,0],null,\"brit-volumes\",false,null,null,1,false,false,0,\"British fluid ounces; Imperial fluid ounces; br fozs; imp fozs; br fl ozs\",\"UCUM\",\"Vol\",\"Clinical\",\"Used only in Great Britain and other Commonwealth countries\",\"[gil_br]/5\",\"[GIL_BR]/5\",\"1\",1,false],[false,\"fluid dram - British\",\"[fdr_br]\",\"[FDR_BR]\",\"volume\",0.0000035516328125000006,[3,0,0,0,0,0,0],null,\"brit-volumes\",false,null,null,1,false,false,0,\"British fluid drams; fdr br\",\"UCUM\",\"Vol\",\"Nonclinical\",\"equal to 1/8 Imperial fluid ounce = 3.55 mL; used informally to mean small amount of liquor, especially Scotch whiskey\",\"[foz_br]/8\",\"[FOZ_BR]/8\",\"1\",1,false],[false,\"minim - British\",\"[min_br]\",\"[MIN_BR]\",\"volume\",5.919388020833334e-8,[3,0,0,0,0,0,0],null,\"brit-volumes\",false,null,null,1,false,false,0,\"min br; br min; ♏ br\",\"UCUM\",\"Vol\",\"Obsolete\",\"\",\"[fdr_br]/60\",\"[FDR_BR]/60\",\"1\",1,false],[false,\"grain\",\"[gr]\",\"[GR]\",\"mass\",0.06479891,[0,0,1,0,0,0,0],null,\"avoirdupois\",false,null,null,1,false,false,0,\"gr; grains\",\"UCUM\",\"Mass\",\"Nonclinical\",\"an apothecary measure of mass rarely used today\",\"mg\",\"MG\",\"64.79891\",64.79891,false],[false,\"pound\",\"[lb_av]\",\"[LB_AV]\",\"mass\",453.59237,[0,0,1,0,0,0,0],\"lb\",\"avoirdupois\",false,null,null,1,false,false,0,\"avoirdupois pounds, international pounds; av lbs; pounds\",\"UCUM\",\"Mass\",\"Clinical\",\"standard unit used in the US and internationally\",\"[gr]\",\"[GR]\",\"7000\",7000,false],[false,\"pound force - US\",\"[lbf_av]\",\"[LBF_AV]\",\"force\",4448.2216152605,[1,-2,1,0,0,0,0],\"lbf\",\"const\",false,null,null,1,false,false,0,\"lbfs; US lbf; US pound forces\",\"UCUM\",\"Force\",\"Clinical\",\"only rarely needed in health care - see [lb_av] which is the more common unit to express weight\",\"[lb_av].[g]\",\"[LB_AV].[G]\",\"1\",1,false],[false,\"ounce\",\"[oz_av]\",\"[OZ_AV]\",\"mass\",28.349523125,[0,0,1,0,0,0,0],\"oz\",\"avoirdupois\",false,null,null,1,false,false,0,\"ounces; international ounces; avoirdupois ounces; av ozs\",\"UCUM\",\"Mass\",\"Clinical\",\"standard unit used in the US and internationally\",\"[lb_av]/16\",\"[LB_AV]/16\",\"1\",1,false],[false,\"Dram mass unit\",\"[dr_av]\",\"[DR_AV]\",\"mass\",1.7718451953125,[0,0,1,0,0,0,0],null,\"avoirdupois\",false,null,null,1,false,false,0,\"Dram; drams avoirdupois; avoidupois dram; international dram\",\"UCUM\",\"Mass\",\"Clinical\",\"unit from the avoirdupois system, which is used in the US and internationally\",\"[oz_av]/16\",\"[OZ_AV]/16\",\"1\",1,false],[false,\"short hundredweight\",\"[scwt_av]\",\"[SCWT_AV]\",\"mass\",45359.237,[0,0,1,0,0,0,0],null,\"avoirdupois\",false,null,null,1,false,false,0,\"hundredweights; s cwt; scwt; avoirdupois\",\"UCUM\",\"Mass\",\"Nonclinical\",\"Used only in the US to equal 100 pounds\",\"[lb_av]\",\"[LB_AV]\",\"100\",100,false],[false,\"long hundredweight\",\"[lcwt_av]\",\"[LCWT_AV]\",\"mass\",50802.345440000005,[0,0,1,0,0,0,0],null,\"avoirdupois\",false,null,null,1,false,false,0,\"imperial hundredweights; imp cwt; lcwt; avoirdupois\",\"UCUM\",\"Mass\",\"Obsolete\",\"\",\"[lb_av]\",\"[LB_AV]\",\"112\",112,false],[false,\"short ton - US\",\"[ston_av]\",\"[STON_AV]\",\"mass\",907184.74,[0,0,1,0,0,0,0],null,\"avoirdupois\",false,null,null,1,false,false,0,\"ton; US tons; avoirdupois tons\",\"UCUM\",\"Mass\",\"Clinical\",\"Used only in the US\",\"[scwt_av]\",\"[SCWT_AV]\",\"20\",20,false],[false,\"long ton - British\",\"[lton_av]\",\"[LTON_AV]\",\"mass\",1016046.9088000001,[0,0,1,0,0,0,0],null,\"avoirdupois\",false,null,null,1,false,false,0,\"imperial tons; weight tons; British long tons; long ton avoirdupois\",\"UCUM\",\"Mass\",\"Nonclinical\",\"Used only in Great Britain and other Commonwealth countries\",\"[lcwt_av]\",\"[LCWT_AV]\",\"20\",20,false],[false,\"stone - British\",\"[stone_av]\",\"[STONE_AV]\",\"mass\",6350.293180000001,[0,0,1,0,0,0,0],null,\"avoirdupois\",false,null,null,1,false,false,0,\"British stones; avoirdupois\",\"UCUM\",\"Mass\",\"Nonclinical\",\"Used primarily in the UK and Ireland to measure body weight\",\"[lb_av]\",\"[LB_AV]\",\"14\",14,false],[false,\"pennyweight - troy\",\"[pwt_tr]\",\"[PWT_TR]\",\"mass\",1.5551738400000001,[0,0,1,0,0,0,0],null,\"troy\",false,null,null,1,false,false,0,\"dwt; denarius weights\",\"UCUM\",\"Mass\",\"Obsolete\",\"historical unit used to measure mass and cost of precious metals\",\"[gr]\",\"[GR]\",\"24\",24,false],[false,\"ounce - troy\",\"[oz_tr]\",\"[OZ_TR]\",\"mass\",31.103476800000003,[0,0,1,0,0,0,0],null,\"troy\",false,null,null,1,false,false,0,\"troy ounces; tr ozs\",\"UCUM\",\"Mass\",\"Nonclinical\",\"unit of mass for precious metals and gemstones only\",\"[pwt_tr]\",\"[PWT_TR]\",\"20\",20,false],[false,\"pound - troy\",\"[lb_tr]\",\"[LB_TR]\",\"mass\",373.2417216,[0,0,1,0,0,0,0],null,\"troy\",false,null,null,1,false,false,0,\"troy pounds; tr lbs\",\"UCUM\",\"Mass\",\"Nonclinical\",\"only used for weighing precious metals\",\"[oz_tr]\",\"[OZ_TR]\",\"12\",12,false],[false,\"scruple\",\"[sc_ap]\",\"[SC_AP]\",\"mass\",1.2959782,[0,0,1,0,0,0,0],null,\"apoth\",false,null,null,1,false,false,0,\"scruples; sc ap\",\"UCUM\",\"Mass\",\"Obsolete\",\"\",\"[gr]\",\"[GR]\",\"20\",20,false],[false,\"dram - apothecary\",\"[dr_ap]\",\"[DR_AP]\",\"mass\",3.8879346,[0,0,1,0,0,0,0],null,\"apoth\",false,null,null,1,false,false,0,\"ʒ; drachm; apothecaries drams; dr ap; dram ap\",\"UCUM\",\"Mass\",\"Nonclinical\",\"unit still used in the US occasionally to measure amount of drugs in pharmacies\",\"[sc_ap]\",\"[SC_AP]\",\"3\",3,false],[false,\"ounce - apothecary\",\"[oz_ap]\",\"[OZ_AP]\",\"mass\",31.1034768,[0,0,1,0,0,0,0],null,\"apoth\",false,null,null,1,false,false,0,\"apothecary ounces; oz ap; ap ozs; ozs ap\",\"UCUM\",\"Mass\",\"Obsolete\",\"\",\"[dr_ap]\",\"[DR_AP]\",\"8\",8,false],[false,\"pound - apothecary\",\"[lb_ap]\",\"[LB_AP]\",\"mass\",373.2417216,[0,0,1,0,0,0,0],null,\"apoth\",false,null,null,1,false,false,0,\"apothecary pounds; apothecaries pounds; ap lb; lb ap; ap lbs; lbs ap\",\"UCUM\",\"Mass\",\"Obsolete\",\"\",\"[oz_ap]\",\"[OZ_AP]\",\"12\",12,false],[false,\"ounce - metric\",\"[oz_m]\",\"[OZ_M]\",\"mass\",28,[0,0,1,0,0,0,0],null,\"apoth\",false,null,null,1,false,false,0,\"metric ounces; m ozs\",\"UCUM\",\"Mass\",\"Clinical\",\"see [oz_av] (the avoirdupois ounce) for the standard ounce used internationally; [oz_m] is equal to 28 grams and is based on the apothecaries\\' system of mass units which is used in some US pharmacies. \",\"g\",\"g\",\"28\",28,false],[false,\"line\",\"[lne]\",\"[LNE]\",\"length\",0.002116666666666667,[1,0,0,0,0,0,0],null,\"typeset\",false,null,null,1,false,false,0,\"British lines; br L; L; l\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[in_i]/12\",\"[IN_I]/12\",\"1\",1,false],[false,\"point (typography)\",\"[pnt]\",\"[PNT]\",\"length\",0.0003527777777777778,[1,0,0,0,0,0,0],null,\"typeset\",false,null,null,1,false,false,0,\"DTP points; desktop publishing point; pt; pnt\",\"UCUM\",\"Len\",\"Nonclinical\",\"typography unit for typesetter\\'s length\",\"[lne]/6\",\"[LNE]/6\",\"1\",1,false],[false,\"pica (typography)\",\"[pca]\",\"[PCA]\",\"length\",0.004233333333333334,[1,0,0,0,0,0,0],null,\"typeset\",false,null,null,1,false,false,0,\"picas\",\"UCUM\",\"Len\",\"Nonclinical\",\"typography unit for typesetter\\'s length\",\"[pnt]\",\"[PNT]\",\"12\",12,false],[false,\"Printer\\'s point (typography)\",\"[pnt_pr]\",\"[PNT_PR]\",\"length\",0.00035145980000000004,[1,0,0,0,0,0,0],null,\"typeset\",false,null,null,1,false,false,0,\"pnt pr\",\"UCUM\",\"Len\",\"Nonclinical\",\"typography unit for typesetter\\'s length\",\"[in_i]\",\"[IN_I]\",\"0.013837\",0.013837,false],[false,\"Printer\\'s pica (typography)\",\"[pca_pr]\",\"[PCA_PR]\",\"length\",0.004217517600000001,[1,0,0,0,0,0,0],null,\"typeset\",false,null,null,1,false,false,0,\"pca pr; Printer\\'s picas\",\"UCUM\",\"Len\",\"Nonclinical\",\"typography unit for typesetter\\'s length\",\"[pnt_pr]\",\"[PNT_PR]\",\"12\",12,false],[false,\"pied\",\"[pied]\",\"[PIED]\",\"length\",0.3248,[1,0,0,0,0,0,0],null,\"typeset\",false,null,null,1,false,false,0,\"pieds du roi; Paris foot; royal; French; feet\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"cm\",\"CM\",\"32.48\",32.48,false],[false,\"pouce\",\"[pouce]\",\"[POUCE]\",\"length\",0.027066666666666666,[1,0,0,0,0,0,0],null,\"typeset\",false,null,null,1,false,false,0,\"historical French inches; French royal inches\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[pied]/12\",\"[PIED]/12\",\"1\",1,false],[false,\"ligne\",\"[ligne]\",\"[LIGNE]\",\"length\",0.0022555555555555554,[1,0,0,0,0,0,0],null,\"typeset\",false,null,null,1,false,false,0,\"Paris lines; lignes\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[pouce]/12\",\"[POUCE]/12\",\"1\",1,false],[false,\"didot\",\"[didot]\",\"[DIDOT]\",\"length\",0.0003759259259259259,[1,0,0,0,0,0,0],null,\"typeset\",false,null,null,1,false,false,0,\"Didot point; dd; Didots Point; didots; points\",\"UCUM\",\"Len\",\"Obsolete\",\"typography unit for typesetter\\'s length\",\"[ligne]/6\",\"[LIGNE]/6\",\"1\",1,false],[false,\"cicero\",\"[cicero]\",\"[CICERO]\",\"length\",0.004511111111111111,[1,0,0,0,0,0,0],null,\"typeset\",false,null,null,1,false,false,0,\"Didot\\'s pica; ciceros; picas\",\"UCUM\",\"Len\",\"Obsolete\",\"typography unit for typesetter\\'s length\",\"[didot]\",\"[DIDOT]\",\"12\",12,false],[false,\"degrees Fahrenheit\",\"[degF]\",\"[DEGF]\",\"temperature\",0.5555555555555556,[0,0,0,0,1,0,0],\"°F\",\"heat\",false,null,\"degF\",1,true,false,0,\"°F; deg F\",\"UCUM\",\"Temp\",\"Clinical\",\"\",\"K\",null,null,0.5555555555555556,false],[false,\"degrees Rankine\",\"[degR]\",\"[degR]\",\"temperature\",0.5555555555555556,[0,0,0,0,1,0,0],\"°R\",\"heat\",false,null,null,1,false,false,0,\"°R; °Ra; Rankine\",\"UCUM\",\"Temp\",\"Obsolete\",\"Replaced by Kelvin\",\"K/9\",\"K/9\",\"5\",5,false],[false,\"degrees Réaumur\",\"[degRe]\",\"[degRe]\",\"temperature\",1.25,[0,0,0,0,1,0,0],\"°Ré\",\"heat\",false,null,\"degRe\",1,true,false,0,\"°Ré, °Re, °r; Réaumur; degree Reaumur; Reaumur\",\"UCUM\",\"Temp\",\"Obsolete\",\"replaced by Celsius\",\"K\",null,null,1.25,false],[false,\"calorie at 15°C\",\"cal_[15]\",\"CAL_[15]\",\"energy\",4185.8,[2,-2,1,0,0,0,0],\"cal15°C\",\"heat\",true,null,null,1,false,false,0,\"calorie 15 C; cals 15 C; calories at 15 C\",\"UCUM\",\"Enrg\",\"Nonclinical\",\"equal to 4.1855 joules; calorie most often used in engineering\",\"J\",\"J\",\"4.18580\",4.1858,false],[false,\"calorie at 20°C\",\"cal_[20]\",\"CAL_[20]\",\"energy\",4181.9,[2,-2,1,0,0,0,0],\"cal20°C\",\"heat\",true,null,null,1,false,false,0,\"calorie 20 C; cal 20 C; calories at 20 C\",\"UCUM\",\"Enrg\",\"Clinical\",\"equal to 4.18190 joules. \",\"J\",\"J\",\"4.18190\",4.1819,false],[false,\"mean calorie\",\"cal_m\",\"CAL_M\",\"energy\",4190.0199999999995,[2,-2,1,0,0,0,0],\"calm\",\"heat\",true,null,null,1,false,false,0,\"mean cals; mean calories\",\"UCUM\",\"Enrg\",\"Clinical\",\"equal to 4.19002 joules. \",\"J\",\"J\",\"4.19002\",4.19002,false],[false,\"international table calorie\",\"cal_IT\",\"CAL_IT\",\"energy\",4186.8,[2,-2,1,0,0,0,0],\"calIT\",\"heat\",true,null,null,1,false,false,0,\"calories IT; IT cals; international steam table calories\",\"UCUM\",\"Enrg\",\"Nonclinical\",\"used in engineering steam tables and defined as 1/860 international watt-hour; equal to 4.1868 joules\",\"J\",\"J\",\"4.1868\",4.1868,false],[false,\"thermochemical calorie\",\"cal_th\",\"CAL_TH\",\"energy\",4184,[2,-2,1,0,0,0,0],\"calth\",\"heat\",true,null,null,1,false,false,0,\"thermochemical calories; th cals\",\"UCUM\",\"Enrg\",\"Clinical\",\"equal to 4.184 joules; used as the unit in medicine and biochemistry (equal to cal)\",\"J\",\"J\",\"4.184\",4.184,false],[false,\"calorie\",\"cal\",\"CAL\",\"energy\",4184,[2,-2,1,0,0,0,0],\"cal\",\"heat\",true,null,null,1,false,false,0,\"gram calories; small calories\",\"UCUM\",\"Enrg\",\"Clinical\",\"equal to 4.184 joules (the same value as the thermochemical calorie, which is the most common calorie used in medicine and biochemistry)\",\"cal_th\",\"CAL_TH\",\"1\",1,false],[false,\"nutrition label Calories\",\"[Cal]\",\"[CAL]\",\"energy\",4184000,[2,-2,1,0,0,0,0],\"Cal\",\"heat\",false,null,null,1,false,false,0,\"food calories; Cal; kcal\",\"UCUM\",\"Eng\",\"Clinical\",\"\",\"kcal_th\",\"KCAL_TH\",\"1\",1,false],[false,\"British thermal unit at 39°F\",\"[Btu_39]\",\"[BTU_39]\",\"energy\",1059670,[2,-2,1,0,0,0,0],\"Btu39°F\",\"heat\",false,null,null,1,false,false,0,\"BTU 39F; BTU 39 F; B.T.U. 39 F; B.Th.U. 39 F; BThU 39 F; British thermal units\",\"UCUM\",\"Eng\",\"Nonclinical\",\"equal to 1.05967 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries\",\"kJ\",\"kJ\",\"1.05967\",1.05967,false],[false,\"British thermal unit at 59°F\",\"[Btu_59]\",\"[BTU_59]\",\"energy\",1054800,[2,-2,1,0,0,0,0],\"Btu59°F\",\"heat\",false,null,null,1,false,false,0,\"BTU 59 F; BTU 59F; B.T.U. 59 F; B.Th.U. 59 F; BThU 59F; British thermal units\",\"UCUM\",\"Eng\",\"Nonclinical\",\"equal to 1.05480 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries\",\"kJ\",\"kJ\",\"1.05480\",1.0548,false],[false,\"British thermal unit at 60°F\",\"[Btu_60]\",\"[BTU_60]\",\"energy\",1054680,[2,-2,1,0,0,0,0],\"Btu60°F\",\"heat\",false,null,null,1,false,false,0,\"BTU 60 F; BTU 60F; B.T.U. 60 F; B.Th.U. 60 F; BThU 60 F; British thermal units 60 F\",\"UCUM\",\"Eng\",\"Nonclinical\",\"equal to 1.05468 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries\",\"kJ\",\"kJ\",\"1.05468\",1.05468,false],[false,\"mean British thermal unit\",\"[Btu_m]\",\"[BTU_M]\",\"energy\",1055870,[2,-2,1,0,0,0,0],\"Btum\",\"heat\",false,null,null,1,false,false,0,\"BTU mean; B.T.U. mean; B.Th.U. mean; BThU mean; British thermal units mean; \",\"UCUM\",\"Eng\",\"Nonclinical\",\"equal to 1.05587 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries\",\"kJ\",\"kJ\",\"1.05587\",1.05587,false],[false,\"international table British thermal unit\",\"[Btu_IT]\",\"[BTU_IT]\",\"energy\",1055055.85262,[2,-2,1,0,0,0,0],\"BtuIT\",\"heat\",false,null,null,1,false,false,0,\"BTU IT; B.T.U. IT; B.Th.U. IT; BThU IT; British thermal units IT\",\"UCUM\",\"Eng\",\"Nonclinical\",\"equal to 1.055 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries\",\"kJ\",\"kJ\",\"1.05505585262\",1.05505585262,false],[false,\"thermochemical British thermal unit\",\"[Btu_th]\",\"[BTU_TH]\",\"energy\",1054350,[2,-2,1,0,0,0,0],\"Btuth\",\"heat\",false,null,null,1,false,false,0,\"BTU Th; B.T.U. Th; B.Th.U. Th; BThU Th; thermochemical British thermal units\",\"UCUM\",\"Eng\",\"Nonclinical\",\"equal to 1.054350 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries\",\"kJ\",\"kJ\",\"1.054350\",1.05435,false],[false,\"British thermal unit\",\"[Btu]\",\"[BTU]\",\"energy\",1054350,[2,-2,1,0,0,0,0],\"btu\",\"heat\",false,null,null,1,false,false,0,\"BTU; B.T.U. ; B.Th.U.; BThU; British thermal units\",\"UCUM\",\"Eng\",\"Nonclinical\",\"equal to the thermochemical British thermal unit equal to 1.054350 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries\",\"[Btu_th]\",\"[BTU_TH]\",\"1\",1,false],[false,\"horsepower - mechanical\",\"[HP]\",\"[HP]\",\"power\",745699.8715822703,[2,-3,1,0,0,0,0],null,\"heat\",false,null,null,1,false,false,0,\"imperial horsepowers\",\"UCUM\",\"EngRat\",\"Nonclinical\",\"refers to mechanical horsepower, which is unit used to measure engine power primarily in the US. \",\"[ft_i].[lbf_av]/s\",\"[FT_I].[LBF_AV]/S\",\"550\",550,false],[false,\"tex\",\"tex\",\"TEX\",\"linear mass density (of textile thread)\",0.001,[-1,0,1,0,0,0,0],\"tex\",\"heat\",true,null,null,1,false,false,0,\"linear mass density; texes\",\"UCUM\",\"\",\"Clinical\",\"unit of linear mass density for fibers equal to gram per 1000 meters\",\"g/km\",\"G/KM\",\"1\",1,false],[false,\"Denier (linear mass density)\",\"[den]\",\"[DEN]\",\"linear mass density (of textile thread)\",0.0001111111111111111,[-1,0,1,0,0,0,0],\"den\",\"heat\",false,null,null,1,false,false,0,\"den; deniers\",\"UCUM\",\"\",\"Nonclinical\",\"equal to the mass in grams per 9000 meters of the fiber (1 denier = 1 strand of silk)\",\"g/9/km\",\"G/9/KM\",\"1\",1,false],[false,\"meter of water column\",\"m[H2O]\",\"M[H2O]\",\"pressure\",9806650,[-1,-2,1,0,0,0,0],\"m HO2\",\"clinical\",true,null,null,1,false,false,0,\"mH2O; m H2O; meters of water column; metres; pressure\",\"UCUM\",\"Pres\",\"Clinical\",\"\",\"kPa\",\"KPAL\",\"980665e-5\",9.80665,false],[false,\"meter of mercury column\",\"m[Hg]\",\"M[HG]\",\"pressure\",133322000,[-1,-2,1,0,0,0,0],\"m Hg\",\"clinical\",true,null,null,1,false,false,0,\"mHg; m Hg; meters of mercury column; metres; pressure\",\"UCUM\",\"Pres\",\"Clinical\",\"\",\"kPa\",\"KPAL\",\"133.3220\",133.322,false],[false,\"inch of water column\",\"[in_i\\'H2O]\",\"[IN_I\\'H2O]\",\"pressure\",249088.91000000003,[-1,-2,1,0,0,0,0],\"in HO2\",\"clinical\",false,null,null,1,false,false,0,\"inches WC; inAq; in H2O; inch of water gauge; iwg; pressure\",\"UCUM\",\"Pres\",\"Clinical\",\"unit of pressure, especially in respiratory and ventilation care\",\"m[H2O].[in_i]/m\",\"M[H2O].[IN_I]/M\",\"1\",1,false],[false,\"inch of mercury column\",\"[in_i\\'Hg]\",\"[IN_I\\'HG]\",\"pressure\",3386378.8000000003,[-1,-2,1,0,0,0,0],\"in Hg\",\"clinical\",false,null,null,1,false,false,0,\"inHg; in Hg; pressure; inches\",\"UCUM\",\"Pres\",\"Clinical\",\"unit of pressure used in US to measure barometric pressure and occasionally blood pressure (see mm[Hg] for unit used internationally)\",\"m[Hg].[in_i]/m\",\"M[HG].[IN_I]/M\",\"1\",1,false],[false,\"peripheral vascular resistance unit\",\"[PRU]\",\"[PRU]\",\"fluid resistance\",133322000000,[-4,-1,1,0,0,0,0],\"P.R.U.\",\"clinical\",false,null,null,1,false,false,0,\"peripheral vascular resistance units; peripheral resistance unit; peripheral resistance units; PRU\",\"UCUM\",\"FldResist\",\"Clinical\",\"used to assess blood flow in the capillaries; equal to 1 mmH.min/mL = 133.3 Pa·min/mL\",\"mm[Hg].s/ml\",\"MM[HG].S/ML\",\"1\",1,false],[false,\"Wood unit\",\"[wood\\'U]\",\"[WOOD\\'U]\",\"fluid resistance\",7999320000,[-4,-1,1,0,0,0,0],\"Wood U.\",\"clinical\",false,null,null,1,false,false,0,\"hybrid reference units; HRU; mmHg.min/L; vascular resistance\",\"UCUM\",\"Pres\",\"Clinical\",\"simplified unit of measurement for for measuring pulmonary vascular resistance that uses pressure; equal to mmHg.min/L\",\"mm[Hg].min/L\",\"MM[HG].MIN/L\",\"1\",1,false],[false,\"diopter (lens)\",\"[diop]\",\"[DIOP]\",\"refraction of a lens\",1,[1,0,0,0,0,0,0],\"dpt\",\"clinical\",false,null,\"inv\",1,false,false,0,\"diopters; diop; dioptre; dpt; refractive power\",\"UCUM\",\"InvLen\",\"Clinical\",\"unit of optical power of lens represented by inverse meters (m^-1)\",\"m\",\"/M\",\"1\",1,false],[false,\"prism diopter (magnifying power)\",\"[p\\'diop]\",\"[P\\'DIOP]\",\"refraction of a prism\",1,[0,0,0,1,0,0,0],\"PD\",\"clinical\",false,null,\"tanTimes100\",1,true,false,0,\"diopters; dioptres; p diops; pdiop; dpt; pdptr; Δ; cm/m; centimeter per meter; centimetre; metre\",\"UCUM\",\"Angle\",\"Clinical\",\"unit for prism correction in eyeglass prescriptions\",\"rad\",null,null,1,false],[false,\"percent of slope\",\"%[slope]\",\"%[SLOPE]\",\"slope\",0.017453292519943295,[0,0,0,1,0,0,0],\"%\",\"clinical\",false,null,\"100tan\",1,true,false,0,\"% slope; %slope; percents slopes\",\"UCUM\",\"VelFr; ElpotRatFr; VelRtoFr; AccelFr\",\"Clinical\",\"\",\"deg\",null,null,1,false],[false,\"mesh\",\"[mesh_i]\",\"[MESH_I]\",\"lineic number\",0.025400000000000002,[1,0,0,0,0,0,0],null,\"clinical\",false,null,\"inv\",1,false,false,0,\"meshes\",\"UCUM\",\"NLen (lineic number)\",\"Clinical\",\"traditional unit of length defined as the number of strands or particles per inch\",\"[in_i]\",\"/[IN_I]\",\"1\",1,false],[false,\"French (catheter gauge) \",\"[Ch]\",\"[CH]\",\"gauge of catheters\",0.0003333333333333333,[1,0,0,0,0,0,0],\"Ch\",\"clinical\",false,null,null,1,false,false,0,\"Charrières, French scales; French gauges; Fr, Fg, Ga, FR, Ch\",\"UCUM\",\"Len; Circ; Diam\",\"Clinical\",\"\",\"mm/3\",\"MM/3\",\"1\",1,false],[false,\"drop - metric (1/20 mL)\",\"[drp]\",\"[DRP]\",\"volume\",5e-8,[3,0,0,0,0,0,0],\"drp\",\"clinical\",false,null,null,1,false,false,0,\"drop dosing units; metric drops; gtt\",\"UCUM\",\"Vol\",\"Clinical\",\"standard unit used in the US and internationally for clinical medicine but note that although [drp] is defined as 1/20 milliliter, in practice, drop sizes will vary due to external factors\",\"ml/20\",\"ML/20\",\"1\",1,false],[false,\"Hounsfield unit\",\"[hnsf\\'U]\",\"[HNSF\\'U]\",\"x-ray attenuation\",1,[0,0,0,0,0,0,0],\"HF\",\"clinical\",false,null,null,1,false,false,0,\"HU; units\",\"UCUM\",\"\",\"Clinical\",\"used to measure X-ray attenuation, especially in CT scans.\",\"1\",\"1\",\"1\",1,false],[false,\"Metabolic Equivalent of Task \",\"[MET]\",\"[MET]\",\"metabolic cost of physical activity\",5.833333333333334e-11,[3,-1,-1,0,0,0,0],\"MET\",\"clinical\",false,null,null,1,false,false,0,\"metabolic equivalents\",\"UCUM\",\"RelEngRat\",\"Clinical\",\"unit used to measure rate of energy expenditure per power in treadmill and other functional tests\",\"mL/min/kg\",\"ML/MIN/KG\",\"3.5\",3.5,false],[false,\"homeopathic potency of decimal series (retired)\",\"[hp\\'_X]\",\"[HP\\'_X]\",\"homeopathic potency (retired)\",1,[0,0,0,0,0,0,0],\"X\",\"clinical\",false,null,\"hpX\",1,true,false,0,null,\"UCUM\",null,null,null,\"1\",null,null,1,false],[false,\"homeopathic potency of centesimal series (retired)\",\"[hp\\'_C]\",\"[HP\\'_C]\",\"homeopathic potency (retired)\",1,[0,0,0,0,0,0,0],\"C\",\"clinical\",false,null,\"hpC\",1,true,false,0,null,\"UCUM\",null,null,null,\"1\",null,null,1,false],[false,\"homeopathic potency of millesimal series (retired)\",\"[hp\\'_M]\",\"[HP\\'_M]\",\"homeopathic potency (retired)\",1,[0,0,0,0,0,0,0],\"M\",\"clinical\",false,null,\"hpM\",1,true,false,0,null,\"UCUM\",null,null,null,\"1\",null,null,1,false],[false,\"homeopathic potency of quintamillesimal series (retired)\",\"[hp\\'_Q]\",\"[HP\\'_Q]\",\"homeopathic potency (retired)\",1,[0,0,0,0,0,0,0],\"Q\",\"clinical\",false,null,\"hpQ\",1,true,false,0,null,\"UCUM\",null,null,null,\"1\",null,null,1,false],[false,\"homeopathic potency of decimal hahnemannian series\",\"[hp_X]\",\"[HP_X]\",\"homeopathic potency (Hahnemann)\",1,[0,0,0,0,0,0,0],\"X\",\"clinical\",false,null,null,1,false,true,0,null,\"UCUM\",null,null,null,\"1\",\"1\",\"1\",1,false],[false,\"homeopathic potency of centesimal hahnemannian series\",\"[hp_C]\",\"[HP_C]\",\"homeopathic potency (Hahnemann)\",1,[0,0,0,0,0,0,0],\"C\",\"clinical\",false,null,null,1,false,true,0,null,\"UCUM\",null,null,null,\"1\",\"1\",\"1\",1,false],[false,\"homeopathic potency of millesimal hahnemannian series\",\"[hp_M]\",\"[HP_M]\",\"homeopathic potency (Hahnemann)\",1,[0,0,0,0,0,0,0],\"M\",\"clinical\",false,null,null,1,false,true,0,null,\"UCUM\",null,null,null,\"1\",\"1\",\"1\",1,false],[false,\"homeopathic potency of quintamillesimal hahnemannian series\",\"[hp_Q]\",\"[HP_Q]\",\"homeopathic potency (Hahnemann)\",1,[0,0,0,0,0,0,0],\"Q\",\"clinical\",false,null,null,1,false,true,0,null,\"UCUM\",null,null,null,\"1\",\"1\",\"1\",1,false],[false,\"homeopathic potency of decimal korsakovian series\",\"[kp_X]\",\"[KP_X]\",\"homeopathic potency (Korsakov)\",1,[0,0,0,0,0,0,0],\"X\",\"clinical\",false,null,null,1,false,true,0,null,\"UCUM\",null,null,null,\"1\",\"1\",\"1\",1,false],[false,\"homeopathic potency of centesimal korsakovian series\",\"[kp_C]\",\"[KP_C]\",\"homeopathic potency (Korsakov)\",1,[0,0,0,0,0,0,0],\"C\",\"clinical\",false,null,null,1,false,true,0,null,\"UCUM\",null,null,null,\"1\",\"1\",\"1\",1,false],[false,\"homeopathic potency of millesimal korsakovian series\",\"[kp_M]\",\"[KP_M]\",\"homeopathic potency (Korsakov)\",1,[0,0,0,0,0,0,0],\"M\",\"clinical\",false,null,null,1,false,true,0,null,\"UCUM\",null,null,null,\"1\",\"1\",\"1\",1,false],[false,\"homeopathic potency of quintamillesimal korsakovian series\",\"[kp_Q]\",\"[KP_Q]\",\"homeopathic potency (Korsakov)\",1,[0,0,0,0,0,0,0],\"Q\",\"clinical\",false,null,null,1,false,true,0,null,\"UCUM\",null,null,null,\"1\",\"1\",\"1\",1,false],[false,\"equivalent\",\"eq\",\"EQ\",\"amount of substance\",6.0221367e+23,[0,0,0,0,0,0,0],\"eq\",\"chemical\",true,null,null,1,false,false,1,\"equivalents\",\"UCUM\",\"Sub\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"osmole\",\"osm\",\"OSM\",\"amount of substance (dissolved particles)\",6.0221367e+23,[0,0,0,0,0,0,0],\"osm\",\"chemical\",true,null,null,1,false,false,1,\"osmoles; osmols\",\"UCUM\",\"Osmol\",\"Clinical\",\"the number of moles of solute that contribute to the osmotic pressure of a solution\",\"mol\",\"MOL\",\"1\",1,false],[false,\"pH\",\"[pH]\",\"[PH]\",\"acidity\",6.0221366999999994e+26,[-3,0,0,0,0,0,0],\"pH\",\"chemical\",false,null,\"pH\",1,true,false,0,\"pH scale\",\"UCUM\",\"LogCnc\",\"Clinical\",\"Log concentration of H+\",\"mol/l\",null,null,1,false],[false,\"gram percent\",\"g%\",\"G%\",\"mass concentration\",10000,[-3,0,1,0,0,0,0],\"g%\",\"chemical\",true,null,null,1,false,false,0,\"gram %; gram%; grams per deciliter; g/dL; gm per dL; gram percents\",\"UCUM\",\"MCnc\",\"Clinical\",\"equivalent to unit gram per deciliter (g/dL), a unit often used in medical tests to represent solution concentrations\",\"g/dl\",\"G/DL\",\"1\",1,false],[false,\"Svedberg unit\",\"[S]\",\"[S]\",\"sedimentation coefficient\",1e-13,[0,1,0,0,0,0,0],\"S\",\"chemical\",false,null,null,1,false,false,0,\"Sv; 10^-13 seconds; 100 fs; 100 femtoseconds\",\"UCUM\",\"Time\",\"Clinical\",\"unit of time used in measuring particle\\'s sedimentation rate, usually after centrifugation. \",\"s\",\"10*-13.S\",\"1\",1e-13,false],[false,\"high power field (microscope)\",\"[HPF]\",\"[HPF]\",\"view area in microscope\",1,[0,0,0,0,0,0,0],\"HPF\",\"chemical\",false,null,null,1,false,false,0,\"HPF\",\"UCUM\",\"Area\",\"Clinical\",\"area visible under the maximum magnification power of the objective in microscopy (usually 400x)\\\\n\",\"1\",\"1\",\"1\",1,false],[false,\"low power field (microscope)\",\"[LPF]\",\"[LPF]\",\"view area in microscope\",1,[0,0,0,0,0,0,0],\"LPF\",\"chemical\",false,null,null,1,false,false,0,\"LPF; fields\",\"UCUM\",\"Area\",\"Clinical\",\"area visible under the low magnification of the objective in microscopy (usually 100 x)\\\\n\",\"1\",\"1\",\"100\",100,false],[false,\"katal\",\"kat\",\"KAT\",\"catalytic activity\",6.0221367e+23,[0,-1,0,0,0,0,0],\"kat\",\"chemical\",true,null,null,1,false,false,1,\"mol/secs; moles per second; mol*sec-1; mol*s-1; mol.s-1; katals; catalytic activity; enzymatic; enzyme units; activities\",\"UCUM\",\"CAct\",\"Clinical\",\"kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.\",\"mol/s\",\"MOL/S\",\"1\",1,false],[false,\"enzyme unit\",\"U\",\"U\",\"catalytic activity\",10036894500000000,[0,-1,0,0,0,0,0],\"U\",\"chemical\",true,null,null,1,false,false,1,\"micromoles per minute; umol/min; umol per minute; umol min-1; enzymatic activity; enzyme activity\",\"UCUM\",\"CAct\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"international unit - arbitrary\",\"[iU]\",\"[IU]\",\"arbitrary\",1,[0,0,0,0,0,0,0],\"IU\",\"chemical\",true,null,null,1,false,true,0,\"international units; IE; F2\",\"UCUM\",\"Arb\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"1\",\"1\",\"1\",1,false],[false,\"international unit - arbitrary\",\"[IU]\",\"[IU]\",\"arbitrary\",1,[0,0,0,0,0,0,0],\"i.U.\",\"chemical\",true,null,null,1,false,true,0,\"international units; IE; F2\",\"UCUM\",\"Arb\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"arbitary unit\",\"[arb\\'U]\",\"[ARB\\'U]\",\"arbitrary\",1,[0,0,0,0,0,0,0],\"arb. U\",\"chemical\",false,null,null,1,false,true,0,\"arbitary units; arb units; arbU\",\"UCUM\",\"Arb\",\"Clinical\",\"relative unit of measurement to show the ratio of test measurement to reference measurement\",\"1\",\"1\",\"1\",1,false],[false,\"United States Pharmacopeia unit\",\"[USP\\'U]\",\"[USP\\'U]\",\"arbitrary\",1,[0,0,0,0,0,0,0],\"U.S.P.\",\"chemical\",false,null,null,1,false,true,0,\"USP U; USP\\'U\",\"UCUM\",\"Arb\",\"Clinical\",\"a dose unit to express potency of drugs and vitamins defined by the United States Pharmacopoeia; usually 1 USP = 1 IU\",\"1\",\"1\",\"1\",1,false],[false,\"GPL unit\",\"[GPL\\'U]\",\"[GPL\\'U]\",\"biologic activity of anticardiolipin IgG\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"GPL Units; GPL U; IgG anticardiolipin units; IgG Phospholipid\",\"UCUM\",\"ACnc; AMass\",\"Clinical\",\"Units for an antiphospholipid test\",\"1\",\"1\",\"1\",1,false],[false,\"MPL unit\",\"[MPL\\'U]\",\"[MPL\\'U]\",\"biologic activity of anticardiolipin IgM\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"MPL units; MPL U; MPL\\'U; IgM anticardiolipin units; IgM Phospholipid Units \",\"UCUM\",\"ACnc\",\"Clinical\",\"units for antiphospholipid test\",\"1\",\"1\",\"1\",1,false],[false,\"APL unit\",\"[APL\\'U]\",\"[APL\\'U]\",\"biologic activity of anticardiolipin IgA\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"APL units; APL U; IgA anticardiolipin; IgA Phospholipid; biologic activity of\",\"UCUM\",\"AMass; ACnc\",\"Clinical\",\"Units for an anti phospholipid syndrome test\",\"1\",\"1\",\"1\",1,false],[false,\"Bethesda unit\",\"[beth\\'U]\",\"[BETH\\'U]\",\"biologic activity of factor VIII inhibitor\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"BU\",\"UCUM\",\"ACnc\",\"Clinical\",\"measures of blood coagulation inhibitior for many blood factors\",\"1\",\"1\",\"1\",1,false],[false,\"anti factor Xa unit\",\"[anti\\'Xa\\'U]\",\"[ANTI\\'XA\\'U]\",\"biologic activity of factor Xa inhibitor (heparin)\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"units\",\"UCUM\",\"ACnc\",\"Clinical\",\"[anti\\'Xa\\'U] unit is equivalent to and can be converted to IU/mL. \",\"1\",\"1\",\"1\",1,false],[false,\"Todd unit\",\"[todd\\'U]\",\"[TODD\\'U]\",\"biologic activity antistreptolysin O\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"units\",\"UCUM\",\"InvThres; RtoThres\",\"Clinical\",\"the unit for the results of the testing for antistreptolysin O (ASO)\",\"1\",\"1\",\"1\",1,false],[false,\"Dye unit\",\"[dye\\'U]\",\"[DYE\\'U]\",\"biologic activity of amylase\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"units\",\"UCUM\",\"CCnc\",\"Obsolete\",\"equivalent to the Somogyi unit, which is an enzyme unit for amylase but better to use U, the standard enzyme unit for measuring catalytic activity\",\"1\",\"1\",\"1\",1,false],[false,\"Somogyi unit\",\"[smgy\\'U]\",\"[SMGY\\'U]\",\"biologic activity of amylase\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"Somogyi units; smgy U\",\"UCUM\",\"CAct\",\"Clinical\",\"measures the enzymatic activity of amylase in blood serum - better to use base units mg/mL \",\"1\",\"1\",\"1\",1,false],[false,\"Bodansky unit\",\"[bdsk\\'U]\",\"[BDSK\\'U]\",\"biologic activity of phosphatase\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"\",\"UCUM\",\"ACnc\",\"Obsolete\",\"Enzyme unit specific to alkaline phosphatase - better to use standard enzyme unit of U\",\"1\",\"1\",\"1\",1,false],[false,\"King-Armstrong unit\",\"[ka\\'U]\",\"[KA\\'U]\",\"biologic activity of phosphatase\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"King-Armstrong Units; King units\",\"UCUM\",\"AMass\",\"Obsolete\",\"enzyme units for acid phosphatase - better to use enzyme unit [U]\",\"1\",\"1\",\"1\",1,false],[false,\"Kunkel unit\",\"[knk\\'U]\",\"[KNK\\'U]\",\"arbitrary biologic activity\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,null,\"UCUM\",null,null,null,\"1\",\"1\",\"1\",1,false],[false,\"Mac Lagan unit\",\"[mclg\\'U]\",\"[MCLG\\'U]\",\"arbitrary biologic activity\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"galactose index; galactose tolerance test; thymol turbidity test unit; mclg U; units; indexes\",\"UCUM\",\"ACnc\",\"Obsolete\",\"unit for liver tests - previously used in thymol turbidity tests for liver disease diagnoses, and now is sometimes referred to in the oral galactose tolerance test\",\"1\",\"1\",\"1\",1,false],[false,\"tuberculin unit\",\"[tb\\'U]\",\"[TB\\'U]\",\"biologic activity of tuberculin\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"TU; units\",\"UCUM\",\"Arb\",\"Clinical\",\"amount of tuberculin antigen -usually in reference to a TB skin test \",\"1\",\"1\",\"1\",1,false],[false,\"50% cell culture infectious dose\",\"[CCID_50]\",\"[CCID_50]\",\"biologic activity (infectivity) of an infectious agent preparation\",1,[0,0,0,0,0,0,0],\"CCID50\",\"chemical\",false,null,null,1,false,true,0,\"CCID50; 50% cell culture infective doses\",\"UCUM\",\"NumThres\",\"Clinical\",\"\",\"1\",\"1\",\"1\",1,false],[false,\"50% tissue culture infectious dose\",\"[TCID_50]\",\"[TCID_50]\",\"biologic activity (infectivity) of an infectious agent preparation\",1,[0,0,0,0,0,0,0],\"TCID50\",\"chemical\",false,null,null,1,false,true,0,\"TCID50; 50% tissue culture infective dose\",\"UCUM\",\"NumThres\",\"Clinical\",\"\",\"1\",\"1\",\"1\",1,false],[false,\"50% embryo infectious dose\",\"[EID_50]\",\"[EID_50]\",\"biologic activity (infectivity) of an infectious agent preparation\",1,[0,0,0,0,0,0,0],\"EID50\",\"chemical\",false,null,null,1,false,true,0,\"EID50; 50% embryo infective doses; EID50 Egg Infective Dosage\",\"UCUM\",\"thresNum\",\"Clinical\",\"\",\"1\",\"1\",\"1\",1,false],[false,\"plaque forming units\",\"[PFU]\",\"[PFU]\",\"amount of an infectious agent\",1,[0,0,0,0,0,0,0],\"PFU\",\"chemical\",false,null,null,1,false,true,0,\"PFU\",\"UCUM\",\"ACnc\",\"Clinical\",\"tests usually report unit as number of PFU per unit volume\",\"1\",\"1\",\"1\",1,false],[false,\"focus forming units (cells)\",\"[FFU]\",\"[FFU]\",\"amount of an infectious agent\",1,[0,0,0,0,0,0,0],\"FFU\",\"chemical\",false,null,null,1,false,true,0,\"FFU\",\"UCUM\",\"EntNum\",\"Clinical\",\"\",\"1\",\"1\",\"1\",1,false],[false,\"colony forming units\",\"[CFU]\",\"[CFU]\",\"amount of a proliferating organism\",1,[0,0,0,0,0,0,0],\"CFU\",\"chemical\",false,null,null,1,false,true,0,\"CFU\",\"UCUM\",\"Num\",\"Clinical\",\"\",\"1\",\"1\",\"1\",1,false],[false,\"index of reactivity (allergen)\",\"[IR]\",\"[IR]\",\"amount of an allergen callibrated through in-vivo testing using the Stallergenes® method.\",1,[0,0,0,0,0,0,0],\"IR\",\"chemical\",false,null,null,1,false,true,0,\"IR; indexes\",\"UCUM\",\"Acnc\",\"Clinical\",\"amount of an allergen callibrated through in-vivo testing using the Stallergenes method. Usually reported in tests as IR/mL\",\"1\",\"1\",\"1\",1,false],[false,\"bioequivalent allergen unit\",\"[BAU]\",\"[BAU]\",\"amount of an allergen callibrated through in-vivo testing based on the ID50EAL method of (intradermal dilution for 50mm sum of erythema diameters\",1,[0,0,0,0,0,0,0],\"BAU\",\"chemical\",false,null,null,1,false,true,0,\"BAU; Bioequivalent Allergy Units; bioequivalent allergen units\",\"UCUM\",\"Arb\",\"Clinical\",\"\",\"1\",\"1\",\"1\",1,false],[false,\"allergy unit\",\"[AU]\",\"[AU]\",\"procedure defined amount of an allergen using some reference standard\",1,[0,0,0,0,0,0,0],\"AU\",\"chemical\",false,null,null,1,false,true,0,\"allergy units; allergen units; AU\",\"UCUM\",\"Arb\",\"Clinical\",\"Most standard test allergy units are reported as [IU] or as %. \",\"1\",\"1\",\"1\",1,false],[false,\"allergen unit for Ambrosia artemisiifolia\",\"[Amb\\'a\\'1\\'U]\",\"[AMB\\'A\\'1\\'U]\",\"procedure defined amount of the major allergen of ragweed.\",1,[0,0,0,0,0,0,0],\"Amb a 1 U\",\"chemical\",false,null,null,1,false,true,0,\"Amb a 1 unit; Antigen E; AgE U; allergen units\",\"UCUM\",\"Arb\",\"Clinical\",\"Amb a 1 is the major allergen in short ragweed, and can be converted Bioequivalent allergen units (BAU) where 350 Amb a 1 U/mL = 100,000 BAU/mL\",\"1\",\"1\",\"1\",1,false],[false,\"protein nitrogen unit (allergen testing)\",\"[PNU]\",\"[PNU]\",\"procedure defined amount of a protein substance\",1,[0,0,0,0,0,0,0],\"PNU\",\"chemical\",false,null,null,1,false,true,0,\"protein nitrogen units; PNU\",\"UCUM\",\"Mass\",\"Clinical\",\"defined as 0.01 ug of phosphotungstic acid-precipitable protein nitrogen. Being replaced by bioequivalent allergy units (BAU).\",\"1\",\"1\",\"1\",1,false],[false,\"Limit of flocculation\",\"[Lf]\",\"[LF]\",\"procedure defined amount of an antigen substance\",1,[0,0,0,0,0,0,0],\"Lf\",\"chemical\",false,null,null,1,false,true,0,\"Lf doses\",\"UCUM\",\"Arb\",\"Clinical\",\"the antigen content forming 1:1 ratio against 1 unit of antitoxin\",\"1\",\"1\",\"1\",1,false],[false,\"D-antigen unit (polio)\",\"[D\\'ag\\'U]\",\"[D\\'AG\\'U]\",\"procedure defined amount of a poliomyelitis d-antigen substance\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"DAgU; units\",\"UCUM\",\"Acnc\",\"Clinical\",\"unit of potency of poliovirus vaccine used for poliomyelitis prevention reported as D antigen units/mL. The unit is poliovirus type-specific.\",\"1\",\"1\",\"1\",1,false],[false,\"fibrinogen equivalent units\",\"[FEU]\",\"[FEU]\",\"amount of fibrinogen broken down into the measured d-dimers\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"FEU\",\"UCUM\",\"MCnc\",\"Clinical\",\"Note both the FEU and DDU units are used to report D-dimer measurements. 1 DDU = 1/2 FFU\",\"1\",\"1\",\"1\",1,false],[false,\"ELISA unit\",\"[ELU]\",\"[ELU]\",\"arbitrary ELISA unit\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"Enzyme-Linked Immunosorbent Assay Units; ELU; EL. U\",\"UCUM\",\"ACnc\",\"Clinical\",\"\",\"1\",\"1\",\"1\",1,false],[false,\"Ehrlich units (urobilinogen)\",\"[EU]\",\"[EU]\",\"Ehrlich unit\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"EU/dL; mg{urobilinogen}/dL\",\"UCUM\",\"ACnc\",\"Clinical\",\"\",\"1\",\"1\",\"1\",1,false],[false,\"neper\",\"Np\",\"NEP\",\"level\",1,[0,0,0,0,0,0,0],\"Np\",\"levels\",true,null,\"ln\",1,true,false,0,\"nepers\",\"UCUM\",\"LogRto\",\"Clinical\",\"logarithmic unit for ratios of measurements of physical field and power quantities, such as gain and loss of electronic signals\",\"1\",null,null,1,false],[false,\"bel\",\"B\",\"B\",\"level\",1,[0,0,0,0,0,0,0],\"B\",\"levels\",true,null,\"lg\",1,true,false,0,\"bels\",\"UCUM\",\"LogRto\",\"Clinical\",\"Logarithm of the ratio of power- or field-type quantities; usually expressed in decibels \",\"1\",null,null,1,false],[false,\"bel sound pressure\",\"B[SPL]\",\"B[SPL]\",\"pressure level\",0.02,[-1,-2,1,0,0,0,0],\"B(SPL)\",\"levels\",true,null,\"lgTimes2\",1,true,false,0,\"bel SPL; B SPL; sound pressure bels\",\"UCUM\",\"LogRto\",\"Clinical\",\"used to measure sound level in acoustics\",\"Pa\",null,null,0.00002,false],[false,\"bel volt\",\"B[V]\",\"B[V]\",\"electric potential level\",1000,[2,-2,1,0,0,-1,0],\"B(V)\",\"levels\",true,null,\"lgTimes2\",1,true,false,0,\"bel V; B V; volts bels\",\"UCUM\",\"LogRtoElp\",\"Clinical\",\"used to express power gain in electrical circuits\",\"V\",null,null,1,false],[false,\"bel millivolt\",\"B[mV]\",\"B[MV]\",\"electric potential level\",1,[2,-2,1,0,0,-1,0],\"B(mV)\",\"levels\",true,null,\"lgTimes2\",1,true,false,0,\"bel mV; B mV; millivolt bels; 10^-3V bels; 10*-3V \",\"UCUM\",\"LogRtoElp\",\"Clinical\",\"used to express power gain in electrical circuits\",\"mV\",null,null,1,false],[false,\"bel microvolt\",\"B[uV]\",\"B[UV]\",\"electric potential level\",0.001,[2,-2,1,0,0,-1,0],\"B(μV)\",\"levels\",true,null,\"lgTimes2\",1,true,false,0,\"bel uV; B uV; microvolts bels; 10^-6V bel; 10*-6V bel\",\"UCUM\",\"LogRto\",\"Clinical\",\"used to express power gain in electrical circuits\",\"uV\",null,null,1,false],[false,\"bel 10 nanovolt\",\"B[10.nV]\",\"B[10.NV]\",\"electric potential level\",0.000010000000000000003,[2,-2,1,0,0,-1,0],\"B(10 nV)\",\"levels\",true,null,\"lgTimes2\",1,true,false,0,\"bel 10 nV; B 10 nV; 10 nanovolts bels\",\"UCUM\",\"LogRtoElp\",\"Clinical\",\"used to express power gain in electrical circuits\",\"nV\",null,null,10,false],[false,\"bel watt\",\"B[W]\",\"B[W]\",\"power level\",1000,[2,-3,1,0,0,0,0],\"B(W)\",\"levels\",true,null,\"lg\",1,true,false,0,\"bel W; b W; b Watt; Watts bels\",\"UCUM\",\"LogRto\",\"Clinical\",\"used to express power\",\"W\",null,null,1,false],[false,\"bel kilowatt\",\"B[kW]\",\"B[KW]\",\"power level\",1000000,[2,-3,1,0,0,0,0],\"B(kW)\",\"levels\",true,null,\"lg\",1,true,false,0,\"bel kW; B kW; kilowatt bel; kW bel; kW B\",\"UCUM\",\"LogRto\",\"Clinical\",\"used to express power\",\"kW\",null,null,1,false],[false,\"stere\",\"st\",\"STR\",\"volume\",1,[3,0,0,0,0,0,0],\"st\",\"misc\",true,null,null,1,false,false,0,\"stère; m3; cubic meter; m^3; meters cubed; metre\",\"UCUM\",\"Vol\",\"Nonclinical\",\"equal to one cubic meter, usually used for measuring firewoord\",\"m3\",\"M3\",\"1\",1,false],[false,\"Ångström\",\"Ao\",\"AO\",\"length\",1.0000000000000002e-10,[1,0,0,0,0,0,0],\"Å\",\"misc\",false,null,null,1,false,false,0,\"Å; Angstroms; Ao; Ångströms\",\"UCUM\",\"Len\",\"Clinical\",\"equal to 10^-10 meters; used to express wave lengths and atom scaled differences \",\"nm\",\"NM\",\"0.1\",0.1,false],[false,\"barn\",\"b\",\"BRN\",\"action area\",9.999999999999999e-29,[2,0,0,0,0,0,0],\"b\",\"misc\",false,null,null,1,false,false,0,\"barns\",\"UCUM\",\"Area\",\"Clinical\",\"used in high-energy physics to express cross-sectional areas\",\"fm2\",\"FM2\",\"100\",100,false],[false,\"technical atmosphere\",\"att\",\"ATT\",\"pressure\",98066499.99999999,[-1,-2,1,0,0,0,0],\"at\",\"misc\",false,null,null,1,false,false,0,\"at; tech atm; tech atmosphere; kgf/cm2; atms; atmospheres\",\"UCUM\",\"Pres\",\"Obsolete\",\"non-SI unit of pressure equal to one kilogram-force per square centimeter\",\"kgf/cm2\",\"KGF/CM2\",\"1\",1,false],[false,\"mho\",\"mho\",\"MHO\",\"electric conductance\",0.001,[-2,1,-1,0,0,2,0],\"mho\",\"misc\",true,null,null,1,false,false,0,\"siemens; ohm reciprocals; Ω^−1; Ω-1 \",\"UCUM\",\"\",\"Obsolete\",\"unit of electric conductance (the inverse of electrical resistance) equal to ohm^-1\",\"S\",\"S\",\"1\",1,false],[false,\"pound per square inch\",\"[psi]\",\"[PSI]\",\"pressure\",6894757.293168359,[-1,-2,1,0,0,0,0],\"psi\",\"misc\",false,null,null,1,false,false,0,\"psi; lb/in2; lb per in2\",\"UCUM\",\"Pres\",\"Clinical\",\"\",\"[lbf_av]/[in_i]2\",\"[LBF_AV]/[IN_I]2\",\"1\",1,false],[false,\"circle - plane angle\",\"circ\",\"CIRC\",\"plane angle\",6.283185307179586,[0,0,0,1,0,0,0],\"circ\",\"misc\",false,null,null,1,false,false,0,\"angles; circles\",\"UCUM\",\"Angle\",\"Clinical\",\"\",\"[pi].rad\",\"[PI].RAD\",\"2\",2,false],[false,\"spere - solid angle\",\"sph\",\"SPH\",\"solid angle\",12.566370614359172,[0,0,0,2,0,0,0],\"sph\",\"misc\",false,null,null,1,false,false,0,\"speres\",\"UCUM\",\"Angle\",\"Clinical\",\"equal to the solid angle of an entire sphere = 4πsr (sr = steradian) \",\"[pi].sr\",\"[PI].SR\",\"4\",4,false],[false,\"metric carat\",\"[car_m]\",\"[CAR_M]\",\"mass\",0.2,[0,0,1,0,0,0,0],\"ctm\",\"misc\",false,null,null,1,false,false,0,\"carats; ct; car m\",\"UCUM\",\"Mass\",\"Nonclinical\",\"unit of mass for gemstones\",\"g\",\"G\",\"2e-1\",0.2,false],[false,\"carat of gold alloys\",\"[car_Au]\",\"[CAR_AU]\",\"mass fraction\",0.041666666666666664,[0,0,0,0,0,0,0],\"ctAu\",\"misc\",false,null,null,1,false,false,0,\"karats; k; kt; car au; carats\",\"UCUM\",\"MFr\",\"Nonclinical\",\"unit of purity for gold alloys\",\"/24\",\"/24\",\"1\",1,false],[false,\"Smoot\",\"[smoot]\",\"[SMOOT]\",\"length\",1.7018000000000002,[1,0,0,0,0,0,0],null,\"misc\",false,null,null,1,false,false,0,\"\",\"UCUM\",\"Len\",\"Nonclinical\",\"prank unit of length from MIT\",\"[in_i]\",\"[IN_I]\",\"67\",67,false],[false,\"meter per square seconds per square root of hertz\",\"[m/s2/Hz^(1/2)]\",\"[M/S2/HZ^(1/2)]\",\"amplitude spectral density\",1,[2,-3,0,0,0,0,0],null,\"misc\",false,null,\"sqrt\",1,true,false,0,\"m/s2/(Hz^.5); m/s2/(Hz^(1/2)); m per s2 per Hz^1/2\",\"UCUM\",\"\",\"Constant\",\"measures amplitude spectral density, and is equal to the square root of power spectral density\\\\n \",\"m2/s4/Hz\",null,null,1,false],[false,\"bit - logarithmic\",\"bit_s\",\"BIT_S\",\"amount of information\",1,[0,0,0,0,0,0,0],\"bits\",\"infotech\",false,null,\"ld\",1,true,false,0,\"bit-s; bit s; bit logarithmic\",\"UCUM\",\"LogA\",\"Nonclinical\",\"defined as the log base 2 of the number of distinct signals; cannot practically be used to express more than 1000 bits\\\\n\\\\nIn information theory, the definition of the amount of self-information and information entropy is often expressed with the binary logarithm (log base 2)\",\"1\",null,null,1,false],[false,\"bit\",\"bit\",\"BIT\",\"amount of information\",1,[0,0,0,0,0,0,0],\"bit\",\"infotech\",true,null,null,1,false,false,0,\"bits\",\"UCUM\",\"\",\"Nonclinical\",\"dimensionless information unit of 1 used in computing and digital communications\",\"1\",\"1\",\"1\",1,false],[false,\"byte\",\"By\",\"BY\",\"amount of information\",8,[0,0,0,0,0,0,0],\"B\",\"infotech\",true,null,null,1,false,false,0,\"bytes\",\"UCUM\",\"\",\"Nonclinical\",\"equal to 8 bits\",\"bit\",\"bit\",\"8\",8,false],[false,\"baud\",\"Bd\",\"BD\",\"signal transmission rate\",1,[0,1,0,0,0,0,0],\"Bd\",\"infotech\",true,null,\"inv\",1,false,false,0,\"Bd; bauds\",\"UCUM\",\"Freq\",\"Nonclinical\",\"unit to express rate in symbols per second or pulses per second. \",\"s\",\"/s\",\"1\",1,false],[false,\"per twelve hour\",\"/(12.h)\",\"/HR\",\"\",0.000023148148148148147,[0,-1,0,0,0,0,0],\"/h\",null,false,null,null,1,false,false,0,\"per 12 hours; 12hrs; 12 hrs; /12hrs\",\"LOINC\",\"Rat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per arbitrary unit\",\"/[arb\\'U]\",\"/[ARB\\'U]\",\"\",1,[0,0,0,0,0,0,0],\"/arb/ U\",null,false,null,null,1,false,true,0,\"/arbU\",\"LOINC\",\"InvA \",\"Clinical\",\"\",null,null,null,null,false],[false,\"per high power field\",\"/[HPF]\",\"/[HPF]\",\"\",1,[0,0,0,0,0,0,0],\"/HPF\",null,false,null,null,1,false,false,0,\"/HPF; per HPF\",\"LOINC\",\"Naric\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per international unit\",\"/[IU]\",\"/[IU]\",\"\",1,[0,0,0,0,0,0,0],\"/i/U.\",null,false,null,null,1,false,true,0,\"international units; /IU; per IU\",\"LOINC\",\"InvA\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",null,null,null,null,false],[false,\"per low power field\",\"/[LPF]\",\"/[LPF]\",\"\",1,[0,0,0,0,0,0,0],\"/LPF\",null,false,null,null,1,false,false,0,\"/LPF; per LPF\",\"LOINC\",\"Naric\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per 10 billion \",\"/10*10\",\"/10*10\",\"\",1e-10,[0,0,0,0,0,0,0],\"/1010<.sup>\",null,false,null,null,1,false,false,0,\"/10^10; per 10*10\",\"LOINC\",\"NFr\",\"Clinical\",\"used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator\",null,null,null,null,false],[false,\"per trillion \",\"/10*12\",\"/10*12\",\"\",1e-12,[0,0,0,0,0,0,0],\"/1012<.sup>\",null,false,null,null,1,false,false,0,\"/10^12; per 10*12\",\"LOINC\",\"NFr\",\"Clinical\",\"used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator\",null,null,null,null,false],[false,\"per thousand\",\"/10*3\",\"/10*3\",\"\",0.001,[0,0,0,0,0,0,0],\"/103<.sup>\",null,false,null,null,1,false,false,0,\"/10^3; per 10*3\",\"LOINC\",\"NFr\",\"Clinical\",\"used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator\",null,null,null,null,false],[false,\"per million\",\"/10*6\",\"/10*6\",\"\",0.000001,[0,0,0,0,0,0,0],\"/106<.sup>\",null,false,null,null,1,false,false,0,\"/10^6; per 10*6;\",\"LOINC\",\"NFr\",\"Clinical\",\"used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator\",null,null,null,null,false],[false,\"per billion\",\"/10*9\",\"/10*9\",\"\",1e-9,[0,0,0,0,0,0,0],\"/109<.sup>\",null,false,null,null,1,false,false,0,\"/10^9; per 10*9\",\"LOINC\",\"NFr\",\"Clinical\",\"used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator\",null,null,null,null,false],[false,\"per 100\",\"/100\",\"\",\"\",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,\"per hundred; 10^2; 10*2\",\"LOINC\",\"NFr\",\"Clinical\",\"used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator\",null,null,null,null,false],[false,\"per 100 cells\",\"/100{cells}\",\"\",\"\",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,\"/100 cells; /100cells; per hundred\",\"LOINC\",\"EntMass; EntNum; NFr\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per 100 neutrophils\",\"/100{neutrophils}\",\"\",\"\",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,\"/100 neutrophils; /100neutrophils; per hundred\",\"LOINC\",\"EntMass; EntNum; NFr\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per 100 spermatozoa\",\"/100{spermatozoa}\",\"\",\"\",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,\"/100 spermatozoa; /100spermatozoa; per hundred\",\"LOINC\",\"NFr\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per 100 white blood cells\",\"/100{WBCs}\",\"\",\"\",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,\"/100 WBCs; /100WBCs; per hundred\",\"LOINC\",\"Ratio; NFr\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per year\",\"/a\",\"/ANN\",\"\",3.168808781402895e-8,[0,-1,0,0,0,0,0],\"/a\",null,false,null,null,1,false,false,0,\"/Years; /yrs; yearly\",\"LOINC\",\"NRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per centimeter of water\",\"/cm[H2O]\",\"/CM[H2O]\",\"\",0.000010197162129779282,[1,2,-1,0,0,0,0],\"/cm HO2<.r>\",null,false,null,null,1,false,false,0,\"/cmH2O; /cm H2O; centimeters; centimetres\",\"LOINC\",\"InvPress\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per day\",\"/d\",\"/D\",\"\",0.000011574074074074073,[0,-1,0,0,0,0,0],\"/d\",null,false,null,null,1,false,false,0,\"/dy; per day\",\"LOINC\",\"NRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per deciliter\",\"/dL\",\"/DL\",\"\",10000,[-3,0,0,0,0,0,0],\"/dL\",null,false,null,null,1,false,false,0,\"per dL; /deciliter; decilitre\",\"LOINC\",\"NCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per gram\",\"/g\",\"/G\",\"\",1,[0,0,-1,0,0,0,0],\"/g\",null,false,null,null,1,false,false,0,\"/gm; /gram; per g\",\"LOINC\",\"NCnt\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per hour\",\"/h\",\"/HR\",\"\",0.0002777777777777778,[0,-1,0,0,0,0,0],\"/h\",null,false,null,null,1,false,false,0,\"/hr; /hour; per hr\",\"LOINC\",\"NRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per kilogram\",\"/kg\",\"/KG\",\"\",0.001,[0,0,-1,0,0,0,0],\"/kg\",null,false,null,null,1,false,false,0,\"per kg; per kilogram\",\"LOINC\",\"NCnt\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per liter\",\"/L\",\"/L\",\"\",1000,[-3,0,0,0,0,0,0],\"/L\",null,false,null,null,1,false,false,0,\"/liter; litre\",\"LOINC\",\"NCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per square meter\",\"/m2\",\"/M2\",\"\",1,[-2,0,0,0,0,0,0],\"/m2<.sup>\",null,false,null,null,1,false,false,0,\"/m^2; /m*2; /sq. m; per square meter; meter squared; metre\",\"LOINC\",\"Naric\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per cubic meter\",\"/m3\",\"/M3\",\"\",1,[-3,0,0,0,0,0,0],\"/m3<.sup>\",null,false,null,null,1,false,false,0,\"/m^3; /m*3; /cu. m; per cubic meter; meter cubed; per m3; metre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per milligram\",\"/mg\",\"/MG\",\"\",1000,[0,0,-1,0,0,0,0],\"/mg\",null,false,null,null,1,false,false,0,\"/milligram; per mg\",\"LOINC\",\"NCnt\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per minute\",\"/min\",\"/MIN\",\"\",0.016666666666666666,[0,-1,0,0,0,0,0],\"/min\",null,false,null,null,1,false,false,0,\"/minute; per mins; breaths beats per minute\",\"LOINC\",\"NRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per milliliter\",\"/mL\",\"/ML\",\"\",1000000,[-3,0,0,0,0,0,0],\"/mL\",null,false,null,null,1,false,false,0,\"/milliliter; per mL; millilitre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per millimeter\",\"/mm\",\"/MM\",\"\",1000,[-1,0,0,0,0,0,0],\"/mm\",null,false,null,null,1,false,false,0,\"/millimeter; per mm; millimetre\",\"LOINC\",\"InvLen\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per month\",\"/mo\",\"/MO\",\"\",3.802570537683474e-7,[0,-1,0,0,0,0,0],\"/mo\",null,false,null,null,1,false,false,0,\"/month; per mo; monthly; month\",\"LOINC\",\"NRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per second\",\"/s\",\"/S\",\"\",1,[0,-1,0,0,0,0,0],\"/s\",null,false,null,null,1,false,false,0,\"/second; /sec; per sec; frequency; Hertz; Herz; Hz; becquerels; Bq; s-1; s^-1\",\"LOINC\",\"NRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per enzyme unit\",\"/U\",\"/U\",\"\",9.963241120049633e-17,[0,1,0,0,0,0,0],\"/U\",null,false,null,null,1,false,false,-1,\"/enzyme units; per U\",\"LOINC\",\"InvC; NCat\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",null,null,null,null,false],[false,\"per microliter\",\"/uL\",\"/UL\",\"\",999999999.9999999,[-3,0,0,0,0,0,0],\"/μL\",null,false,null,null,1,false,false,0,\"/microliter; microlitre; /mcl; per uL\",\"LOINC\",\"ACnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per week\",\"/wk\",\"/WK\",\"\",0.0000016534391534391535,[0,-1,0,0,0,0,0],\"/wk\",null,false,null,null,1,false,false,0,\"/week; per wk; weekly, weeks\",\"LOINC\",\"NRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"APL unit per milliliter\",\"[APL\\'U]/mL\",\"[APL\\'U]/ML\",\"biologic activity of anticardiolipin IgA\",1000000,[-3,0,0,0,0,0,0],\"/mL\",\"chemical\",false,null,null,1,false,true,0,\"APL/mL; APL\\'U/mL; APL U/mL; APL/milliliter; IgA anticardiolipin units per milliliter; IgA Phospholipid Units; millilitre; biologic activity of\",\"LOINC\",\"ACnc\",\"Clinical\",\"Units for an anti phospholipid syndrome test\",\"1\",\"1\",\"1\",1,false],[false,\"arbitrary unit per milliliter\",\"[arb\\'U]/mL\",\"[ARB\\'U]/ML\",\"arbitrary\",1000000,[-3,0,0,0,0,0,0],\"(arb. U)/mL\",\"chemical\",false,null,null,1,false,true,0,\"arb\\'U/mL; arbU/mL; arb U/mL; arbitrary units per milliliter; millilitre\",\"LOINC\",\"ACnc\",\"Clinical\",\"relative unit of measurement to show the ratio of test measurement to reference measurement\",\"1\",\"1\",\"1\",1,false],[false,\"colony forming units per liter\",\"[CFU]/L\",\"[CFU]/L\",\"amount of a proliferating organism\",1000,[-3,0,0,0,0,0,0],\"CFU/L\",\"chemical\",false,null,null,1,false,true,0,\"CFU per Liter; CFU/L\",\"LOINC\",\"NCnc\",\"Clinical\",\"\",\"1\",\"1\",\"1\",1,false],[false,\"colony forming units per milliliter\",\"[CFU]/mL\",\"[CFU]/ML\",\"amount of a proliferating organism\",1000000,[-3,0,0,0,0,0,0],\"CFU/mL\",\"chemical\",false,null,null,1,false,true,0,\"CFU per mL; CFU/mL\",\"LOINC\",\"NCnc\",\"Clinical\",\"\",\"1\",\"1\",\"1\",1,false],[false,\"foot per foot - US\",\"[ft_us]/[ft_us]\",\"[FT_US]/[FT_US]\",\"length\",1,[0,0,0,0,0,0,0],\"(ftus)/(ftus)\",\"us-lengths\",false,null,null,1,false,false,0,\"ft/ft; ft per ft; feet per feet; visual acuity\",\"\",\"LenRto\",\"Clinical\",\"distance ratio to measure 20:20 vision\",\"m/3937\",\"M/3937\",\"1200\",1200,false],[false,\"GPL unit per milliliter\",\"[GPL\\'U]/mL\",\"[GPL\\'U]/ML\",\"biologic activity of anticardiolipin IgG\",1000000,[-3,0,0,0,0,0,0],\"/mL\",\"chemical\",false,null,null,1,false,true,0,\"GPL U/mL; GPL\\'U/mL; GPL/mL; GPL U per mL; IgG Phospholipid Units per milliliters; IgG anticardiolipin units; millilitres \",\"LOINC\",\"ACnc; AMass\",\"Clinical\",\"Units for an antiphospholipid test\",\"1\",\"1\",\"1\",1,false],[false,\"international unit per 2 hour\",\"[IU]/(2.h)\",\"[IU]/HR\",\"arbitrary\",0.0001388888888888889,[0,-1,0,0,0,0,0],\"(i.U.)/h\",\"chemical\",true,null,null,1,false,true,0,\"IU/2hrs; IU/2 hours; IU per 2 hrs; international units per 2 hours\",\"LOINC\",\"ARat\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"international unit per 24 hour\",\"[IU]/(24.h)\",\"[IU]/HR\",\"arbitrary\",0.000011574074074074073,[0,-1,0,0,0,0,0],\"(i.U.)/h\",\"chemical\",true,null,null,1,false,true,0,\"IU/24hr; IU/24 hours; IU per 24 hrs; international units per 24 hours\",\"LOINC\",\"ARat\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"international unit per day\",\"[IU]/d\",\"[IU]/D\",\"arbitrary\",0.000011574074074074073,[0,-1,0,0,0,0,0],\"(i.U.)/d\",\"chemical\",true,null,null,1,false,true,0,\"IU/dy; IU/days; IU per dys; international units per day\",\"LOINC\",\"ARat\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"international unit per deciliter\",\"[IU]/dL\",\"[IU]/DL\",\"arbitrary\",10000,[-3,0,0,0,0,0,0],\"(i.U.)/dL\",\"chemical\",true,null,null,1,false,true,0,\"IU/dL; IU per dL; international units per deciliters; decilitres\",\"LOINC\",\"ACnc\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"international unit per gram\",\"[IU]/g\",\"[IU]/G\",\"arbitrary\",1,[0,0,-1,0,0,0,0],\"(i.U.)/g\",\"chemical\",true,null,null,1,false,true,0,\"IU/gm; IU/gram; IU per gm; IU per g; international units per gram\",\"LOINC\",\"ACnt\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"international unit per hour\",\"[IU]/h\",\"[IU]/HR\",\"arbitrary\",0.0002777777777777778,[0,-1,0,0,0,0,0],\"(i.U.)/h\",\"chemical\",true,null,null,1,false,true,0,\"IU/hrs; IU per hours; international units per hour\",\"LOINC\",\"ARat\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"international unit per kilogram\",\"[IU]/kg\",\"[IU]/KG\",\"arbitrary\",0.001,[0,0,-1,0,0,0,0],\"(i.U.)/kg\",\"chemical\",true,null,null,1,false,true,0,\"IU/kg; IU/kilogram; IU per kg; units\",\"LOINC\",\"ACnt\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"international unit per kilogram per day\",\"[IU]/kg/d\",\"[IU]/KG/D\",\"arbitrary\",1.1574074074074074e-8,[0,-1,-1,0,0,0,0],\"(i.U.)/kg/d\",\"chemical\",true,null,null,1,false,true,0,\"IU/kg/dy; IU/kg/day; IU/kilogram/day; IU per kg per day; units\",\"LOINC\",\"ACntRat\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"international unit per liter\",\"[IU]/L\",\"[IU]/L\",\"arbitrary\",1000,[-3,0,0,0,0,0,0],\"(i.U.)/L\",\"chemical\",true,null,null,1,false,true,0,\"IU/L; IU/liter; IU per liter; units; litre\",\"LOINC\",\"ACnc\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"international unit per minute\",\"[IU]/min\",\"[IU]/MIN\",\"arbitrary\",0.016666666666666666,[0,-1,0,0,0,0,0],\"(i.U.)/min\",\"chemical\",true,null,null,1,false,true,0,\"IU/min; IU/minute; IU per minute; international units\",\"LOINC\",\"ARat\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"international unit per milliliter\",\"[IU]/mL\",\"[IU]/ML\",\"arbitrary\",1000000,[-3,0,0,0,0,0,0],\"(i.U.)/mL\",\"chemical\",true,null,null,1,false,true,0,\"IU/mL; IU per mL; international units per milliliter; millilitre\",\"LOINC\",\"ACnc\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"MPL unit per milliliter\",\"[MPL\\'U]/mL\",\"[MPL\\'U]/ML\",\"biologic activity of anticardiolipin IgM\",1000000,[-3,0,0,0,0,0,0],\"/mL\",\"chemical\",false,null,null,1,false,true,0,\"MPL/mL; MPL U/mL; MPL\\'U/mL; IgM anticardiolipin units; IgM Phospholipid Units; millilitre \",\"LOINC\",\"ACnc\",\"Clinical\",\"units for antiphospholipid test\\\\n\",\"1\",\"1\",\"1\",1,false],[false,\"number per high power field\",\"{#}/[HPF]\",\"/[HPF]\",\"\",1,[0,0,0,0,0,0,0],\"/HPF\",null,false,null,null,1,false,false,0,\"#/HPF; # per HPF; number/HPF; numbers per high power field\",\"LOINC\",\"Naric\",\"Clinical\",\"\",null,null,null,null,false],[false,\"number per low power field\",\"{#}/[LPF]\",\"/[LPF]\",\"\",1,[0,0,0,0,0,0,0],\"/LPF\",null,false,null,null,1,false,false,0,\"#/LPF; # per LPF; number/LPF; numbers per low power field\",\"LOINC\",\"Naric\",\"Clinical\",\"\",null,null,null,null,false],[false,\"IgA antiphosphatidylserine unit \",\"{APS\\'U}\",\"\",\"\",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,\"APS Unit; Phosphatidylserine Antibody IgA Units\",\"LOINC\",\"ACnc\",\"Clinical\",\"unit for antiphospholipid test\",null,null,null,null,false],[false,\"EIA index\",\"{EIA_index}\",\"\",\"\",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,\"enzyme immunoassay index\",\"LOINC\",\"ACnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"kaolin clotting time\",\"{KCT\\'U}\",\"\",\"\",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,\"KCT\",\"LOINC\",\"Time\",\"Clinical\",\"sensitive test to detect lupus anticoagulants; measured in seconds\",null,null,null,null,false],[false,\"IgM antiphosphatidylserine unit\",\"{MPS\\'U}\",\"\",\"\",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,\"Phosphatidylserine Antibody IgM Measurement \",\"LOINC\",\"ACnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"trillion per liter\",\"10*12/L\",\"(10*12)/L\",\"number\",1000000000000000,[-3,0,0,0,0,0,0],\"(1012)/L\",\"dimless\",false,null,null,1,false,false,0,\"10^12/L; 10*12 per Liter; trillion per liter; litre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"10^3 (used for cell count)\",\"10*3\",\"10*3\",\"number\",1000,[0,0,0,0,0,0,0],\"103\",\"dimless\",false,null,null,1,false,false,0,\"10^3; thousand\",\"LOINC\",\"Num\",\"Clinical\",\"usually used for counting entities (e.g. blood cells) per volume\",\"1\",\"1\",\"10\",10,false],[false,\"thousand per liter\",\"10*3/L\",\"(10*3)/L\",\"number\",1000000,[-3,0,0,0,0,0,0],\"(103)/L\",\"dimless\",false,null,null,1,false,false,0,\"10^3/L; 10*3 per liter; litre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"thousand per milliliter\",\"10*3/mL\",\"(10*3)/ML\",\"number\",1000000000,[-3,0,0,0,0,0,0],\"(103)/mL\",\"dimless\",false,null,null,1,false,false,0,\"10^3/mL; 10*3 per mL; thousand per milliliter; millilitre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"thousand per microliter\",\"10*3/uL\",\"(10*3)/UL\",\"number\",999999999999.9999,[-3,0,0,0,0,0,0],\"(103)/μL\",\"dimless\",false,null,null,1,false,false,0,\"10^3/uL; 10*3 per uL; thousand per microliter; microlitre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"10 thousand per microliter\",\"10*4/uL\",\"(10*4)/UL\",\"number\",10000000000000,[-3,0,0,0,0,0,0],\"(104)/μL\",\"dimless\",false,null,null,1,false,false,0,\"10^4/uL; 10*4 per uL; microlitre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"10^5 \",\"10*5\",\"10*5\",\"number\",100000,[0,0,0,0,0,0,0],\"105\",\"dimless\",false,null,null,1,false,false,0,\"one hundred thousand\",\"LOINC\",\"Num\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"10^6\",\"10*6\",\"10*6\",\"number\",1000000,[0,0,0,0,0,0,0],\"106\",\"dimless\",false,null,null,1,false,false,0,\"\",\"LOINC\",\"Num\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"million colony forming unit per liter\",\"10*6.[CFU]/L\",\"(10*6).[CFU]/L\",\"number\",1000000000,[-3,0,0,0,0,0,0],\"(106).CFU/L\",\"dimless\",false,null,null,1,false,true,0,\"10*6 CFU/L; 10^6 CFU/L; 10^6CFU; 10^6 CFU per liter; million colony forming units; litre\",\"LOINC\",\"ACnc\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"million international unit\",\"10*6.[IU]\",\"(10*6).[IU]\",\"number\",1000000,[0,0,0,0,0,0,0],\"(106).(i.U.)\",\"dimless\",false,null,null,1,false,true,0,\"10*6 IU; 10^6 IU; international units\",\"LOINC\",\"arb\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"1\",\"1\",\"10\",10,false],[false,\"million per 24 hour\",\"10*6/(24.h)\",\"(10*6)/HR\",\"number\",11.574074074074074,[0,-1,0,0,0,0,0],\"(106)/h\",\"dimless\",false,null,null,1,false,false,0,\"10*6/24hrs; 10^6/24 hrs; 10*6 per 24 hrs; 10^6 per 24 hours\",\"LOINC\",\"NRat\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"million per kilogram\",\"10*6/kg\",\"(10*6)/KG\",\"number\",1000,[0,0,-1,0,0,0,0],\"(106)/kg\",\"dimless\",false,null,null,1,false,false,0,\"10^6/kg; 10*6 per kg; 10*6 per kilogram; millions\",\"LOINC\",\"NCnt\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"million per liter\",\"10*6/L\",\"(10*6)/L\",\"number\",1000000000,[-3,0,0,0,0,0,0],\"(106)/L\",\"dimless\",false,null,null,1,false,false,0,\"10^6/L; 10*6 per Liter; 10^6 per Liter; litre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"million per milliliter\",\"10*6/mL\",\"(10*6)/ML\",\"number\",1000000000000,[-3,0,0,0,0,0,0],\"(106)/mL\",\"dimless\",false,null,null,1,false,false,0,\"10^6/mL; 10*6 per mL; 10*6 per milliliter; millilitre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"million per microliter\",\"10*6/uL\",\"(10*6)/UL\",\"number\",1000000000000000,[-3,0,0,0,0,0,0],\"(106)/μL\",\"dimless\",false,null,null,1,false,false,0,\"10^6/uL; 10^6 per uL; 10^6/mcl; 10^6 per mcl; 10^6 per microliter; microlitre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"10^8\",\"10*8\",\"10*8\",\"number\",100000000,[0,0,0,0,0,0,0],\"108\",\"dimless\",false,null,null,1,false,false,0,\"100 million; one hundred million; 10^8\",\"LOINC\",\"Num\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"billion per liter\",\"10*9/L\",\"(10*9)/L\",\"number\",1000000000000,[-3,0,0,0,0,0,0],\"(109)/L\",\"dimless\",false,null,null,1,false,false,0,\"10^9/L; 10*9 per Liter; litre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"billion per milliliter\",\"10*9/mL\",\"(10*9)/ML\",\"number\",1000000000000000,[-3,0,0,0,0,0,0],\"(109)/mL\",\"dimless\",false,null,null,1,false,false,0,\"10^9/mL; 10*9 per mL; 10^9 per mL; 10*9 per milliliter; millilitre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"billion per microliter\",\"10*9/uL\",\"(10*9)/UL\",\"number\",1000000000000000000,[-3,0,0,0,0,0,0],\"(109)/μL\",\"dimless\",false,null,null,1,false,false,0,\"10^9/uL; 10^9 per uL; 10^9/mcl; 10^9 per mcl; 10*9 per uL; 10*9 per mcl; 10*9/mcl; 10^9 per microliter; microlitre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"10 liter per minute per square meter\",\"10.L/(min.m2)\",\"L/(MIN.M2)\",\"\",0.00016666666666666666,[1,-1,0,0,0,0,0],\"L/(min.(m2))\",null,false,null,null,1,false,false,0,\"10 liters per minutes per square meter; 10 L per min per m2; m^2; 10 L/(min*m2); 10L/(min*m^2); litres; sq. meter; metre; meters squared\",\"LOINC\",\"ArVRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"10 liter per minute\",\"10.L/min\",\"L/MIN\",\"\",0.00016666666666666666,[3,-1,0,0,0,0,0],\"L/min\",null,false,null,null,1,false,false,0,\"10 liters per minute; 10 L per min; 10L; 10 L/min; litre\",\"LOINC\",\"VRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"10 micronewton second per centimeter to the fifth power per square meter\",\"10.uN.s/(cm5.m2)\",\"(UN.S)/(CM5.M2)\",\"\",100000000,[-6,-1,1,0,0,0,0],\"(μN.s)/(cm5).(m2)\",null,false,null,null,1,false,false,0,\"dyne seconds per centimeter5 and square meter; dyn.s/(cm5.m2); dyn.s/cm5/m2; cm^5; m^2\",\"LOINC\",\"\",\"Clinical\",\"unit to measure systemic vascular resistance per body surface area\",null,null,null,null,false],[false,\"24 hour\",\"24.h\",\"HR\",\"\",86400,[0,1,0,0,0,0,0],\"h\",null,false,null,null,1,false,false,0,\"24hrs; 24 hrs; 24 hours; days; dy\",\"LOINC\",\"Time\",\"Clinical\",\"\",null,null,null,null,false],[false,\"ampere per meter\",\"A/m\",\"A/M\",\"electric current\",1,[-1,-1,0,0,0,1,0],\"A/m\",\"si\",true,null,null,1,false,false,0,\"A/m; amp/meter; magnetic field strength; H; B; amperes per meter; metre\",\"LOINC\",\"\",\"Clinical\",\"unit of magnetic field strength\",\"C/s\",\"C/S\",\"1\",1,false],[true,\"centigram\",\"cg\",\"CG\",\"mass\",0.01,[0,0,1,0,0,0,0],\"cg\",null,false,\"M\",null,1,false,false,0,\"centigrams; cg; cgm\",\"LOINC\",\"Mass\",\"Clinical\",\"\",null,null,null,null,false],[false,\"centiliter\",\"cL\",\"CL\",\"volume\",0.00001,[3,0,0,0,0,0,0],\"cL\",\"iso1000\",true,null,null,1,false,false,0,\"centiliters; centilitres\",\"LOINC\",\"Vol\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[true,\"centimeter\",\"cm\",\"CM\",\"length\",0.01,[1,0,0,0,0,0,0],\"cm\",null,false,\"L\",null,1,false,false,0,\"centimeters; centimetres\",\"LOINC\",\"Len\",\"Clinical\",\"\",null,null,null,null,false],[false,\"centimeter of water\",\"cm[H2O]\",\"CM[H2O]\",\"pressure\",98066.5,[-1,-2,1,0,0,0,0],\"cm HO2\",\"clinical\",true,null,null,1,false,false,0,\"cm H2O; cmH2O; centimetres; pressure\",\"LOINC\",\"Pres\",\"Clinical\",\"unit of pressure mostly applies to blood pressure\",\"kPa\",\"KPAL\",\"980665e-5\",9.80665,false],[false,\"centimeter of water per liter per second\",\"cm[H2O]/L/s\",\"(CM[H2O]/L)/S\",\"pressure\",98066500,[-4,-3,1,0,0,0,0],\"(cm HO2)/L/s\",\"clinical\",true,null,null,1,false,false,0,\"cm[H2O]/(L/s); cm[H2O].s/L; cm H2O/L/sec; cmH2O/L/sec; cmH2O/Liter; cmH2O per L per secs; centimeters of water per liters per second; centimetres; litres; cm[H2O]/(L/s)\",\"LOINC\",\"PresRat\",\"Clinical\",\"unit used to measure mean pulmonary resistance\",\"kPa\",\"KPAL\",\"980665e-5\",9.80665,false],[false,\"centimeter of water per second per meter\",\"cm[H2O]/s/m\",\"(CM[H2O]/S)/M\",\"pressure\",98066.5,[-2,-3,1,0,0,0,0],\"(cm HO2)/s/m\",\"clinical\",true,null,null,1,false,false,0,\"cm[H2O]/(s.m); cm H2O/s/m; cmH2O; cmH2O/sec/m; cmH2O per secs per meters; centimeters of water per seconds per meter; centimetres; metre\",\"LOINC\",\"PresRat\",\"Clinical\",\"unit used to measure pulmonary pressure time product\",\"kPa\",\"KPAL\",\"980665e-5\",9.80665,false],[false,\"centimeter of mercury\",\"cm[Hg]\",\"CM[HG]\",\"pressure\",1333220,[-1,-2,1,0,0,0,0],\"cm Hg\",\"clinical\",true,null,null,1,false,false,0,\"centimeters of mercury; centimetres; cmHg; cm Hg\",\"LOINC\",\"Pres\",\"Clinical\",\"unit of pressure where 1 cmHg = 10 torr\",\"kPa\",\"KPAL\",\"133.3220\",133.322,false],[true,\"square centimeter\",\"cm2\",\"CM2\",\"length\",0.0001,[2,0,0,0,0,0,0],\"cm2\",null,false,\"L\",null,1,false,false,0,\"cm^2; sq cm; centimeters squared; square centimeters; centimetre; area\",\"LOINC\",\"Area\",\"Clinical\",\"\",null,null,null,null,false],[true,\"square centimeter per second\",\"cm2/s\",\"CM2/S\",\"length\",0.0001,[2,-1,0,0,0,0,0],\"(cm2)/s\",null,false,\"L\",null,1,false,false,0,\"cm^2/sec; square centimeters per second; sq cm per sec; cm2; centimeters squared; centimetres\",\"LOINC\",\"AreaRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"centipoise\",\"cP\",\"CP\",\"dynamic viscosity\",1,[-1,-1,1,0,0,0,0],\"cP\",\"cgs\",true,null,null,1,false,false,0,\"cps; centiposes\",\"LOINC\",\"Visc\",\"Clinical\",\"unit of dynamic viscosity in the CGS system with base units: 10^−3 Pa.s = 1 mPa·.s (1 millipascal second)\",\"dyn.s/cm2\",\"DYN.S/CM2\",\"1\",1,false],[false,\"centistoke\",\"cSt\",\"CST\",\"kinematic viscosity\",0.0000010000000000000002,[2,-1,0,0,0,0,0],\"cSt\",\"cgs\",true,null,null,1,false,false,0,\"centistokes\",\"LOINC\",\"Visc\",\"Clinical\",\"unit for kinematic viscosity with base units of mm^2/s (square millimeter per second)\",\"cm2/s\",\"CM2/S\",\"1\",1,false],[false,\"dekaliter per minute\",\"daL/min\",\"DAL/MIN\",\"volume\",0.00016666666666666666,[3,-1,0,0,0,0,0],\"daL/min\",\"iso1000\",true,null,null,1,false,false,0,\"dekalitres; dekaliters per minute; per min\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"dekaliter per minute per square meter\",\"daL/min/m2\",\"(DAL/MIN)/M2\",\"volume\",0.00016666666666666666,[1,-1,0,0,0,0,0],\"(daL/min)/(m2)\",\"iso1000\",true,null,null,1,false,false,0,\"daL/min/m^2; daL/minute/m2; sq. meter; dekaliters per minutes per square meter; meter squared; dekalitres; metre\",\"LOINC\",\"ArVRat\",\"Clinical\",\"The area usually is the body surface area used to normalize cardiovascular measures for patient\\'s size\",\"l\",null,\"1\",1,false],[false,\"decibel\",\"dB\",\"DB\",\"level\",1,[0,0,0,0,0,0,0],\"dB\",\"levels\",true,null,\"lg\",0.1,true,false,0,\"decibels\",\"LOINC\",\"LogRto\",\"Clinical\",\"unit most commonly used in acoustics as unit of sound pressure level. (also see B[SPL] or bel sound pressure level). \",\"1\",null,null,1,false],[false,\"degree per second\",\"deg/s\",\"DEG/S\",\"plane angle\",0.017453292519943295,[0,-1,0,1,0,0,0],\"°/s\",\"iso1000\",false,null,null,1,false,false,0,\"deg/sec; deg per sec; °/sec; twist rate; angular speed; rotational speed\",\"LOINC\",\"ARat\",\"Clinical\",\"unit of angular (rotational) speed used to express turning rate\",\"[pi].rad/360\",\"[PI].RAD/360\",\"2\",2,false],[true,\"decigram\",\"dg\",\"DG\",\"mass\",0.1,[0,0,1,0,0,0,0],\"dg\",null,false,\"M\",null,1,false,false,0,\"decigrams; dgm; 0.1 grams; 1/10 gm\",\"LOINC\",\"Mass\",\"Clinical\",\"equal to 1/10 gram\",null,null,null,null,false],[false,\"deciliter\",\"dL\",\"DL\",\"volume\",0.0001,[3,0,0,0,0,0,0],\"dL\",\"iso1000\",true,null,null,1,false,false,0,\"deciliters; decilitres; 0.1 liters; 1/10 L\",\"LOINC\",\"Vol\",\"Clinical\",\"equal to 1/10 liter\",\"l\",null,\"1\",1,false],[true,\"decimeter\",\"dm\",\"DM\",\"length\",0.1,[1,0,0,0,0,0,0],\"dm\",null,false,\"L\",null,1,false,false,0,\"decimeters; decimetres; 0.1 meters; 1/10 m; 10 cm; centimeters\",\"LOINC\",\"Len\",\"Clinical\",\"equal to 1/10 meter or 10 centimeters\",null,null,null,null,false],[true,\"square decimeter per square second\",\"dm2/s2\",\"DM2/S2\",\"length\",0.010000000000000002,[2,-2,0,0,0,0,0],\"(dm2)/(s2)\",null,false,\"L\",null,1,false,false,0,\"dm2 per s2; dm^2/s^2; decimeters squared per second squared; sq dm; sq sec\",\"LOINC\",\"EngMass (massic energy)\",\"Clinical\",\"units for energy per unit mass or Joules per kilogram (J/kg = kg.m2/s2/kg = m2/s2) \",null,null,null,null,false],[false,\"dyne second per centimeter per square meter\",\"dyn.s/(cm.m2)\",\"(DYN.S)/(CM.M2)\",\"force\",1,[-2,-1,1,0,0,0,0],\"(dyn.s)/(cm.(m2))\",\"cgs\",true,null,null,1,false,false,0,\"(dyn*s)/(cm*m2); (dyn*s)/(cm*m^2); dyn s per cm per m2; m^2; dyne seconds per centimeters per square meter; centimetres; sq. meter; squared\",\"LOINC\",\"\",\"Clinical\",\"\",\"g.cm/s2\",\"G.CM/S2\",\"1\",1,false],[false,\"dyne second per centimeter\",\"dyn.s/cm\",\"(DYN.S)/CM\",\"force\",1,[0,-1,1,0,0,0,0],\"(dyn.s)/cm\",\"cgs\",true,null,null,1,false,false,0,\"(dyn*s)/cm; dyn sec per cm; seconds; centimetre; dyne seconds\",\"LOINC\",\"\",\"Clinical\",\"\",\"g.cm/s2\",\"G.CM/S2\",\"1\",1,false],[false,\"equivalent per liter\",\"eq/L\",\"EQ/L\",\"amount of substance\",6.0221366999999994e+26,[-3,0,0,0,0,0,0],\"eq/L\",\"chemical\",true,null,null,1,false,false,1,\"eq/liter; eq/litre; eqs; equivalents per liter; litre\",\"LOINC\",\"SCnc\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"equivalent per milliliter\",\"eq/mL\",\"EQ/ML\",\"amount of substance\",6.0221367e+29,[-3,0,0,0,0,0,0],\"eq/mL\",\"chemical\",true,null,null,1,false,false,1,\"equivalent/milliliter; equivalents per milliliter; eq per mL; millilitre\",\"LOINC\",\"SCnc\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"equivalent per millimole\",\"eq/mmol\",\"EQ/MMOL\",\"amount of substance\",1000,[0,0,0,0,0,0,0],\"eq/mmol\",\"chemical\",true,null,null,1,false,false,0,\"equivalent/millimole; equivalents per millimole; eq per mmol\",\"LOINC\",\"SRto\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"equivalent per micromole\",\"eq/umol\",\"EQ/UMOL\",\"amount of substance\",1000000,[0,0,0,0,0,0,0],\"eq/μmol\",\"chemical\",true,null,null,1,false,false,0,\"equivalent/micromole; equivalents per micromole; eq per umol\",\"LOINC\",\"SRto\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[true,\"femtogram\",\"fg\",\"FG\",\"mass\",1e-15,[0,0,1,0,0,0,0],\"fg\",null,false,\"M\",null,1,false,false,0,\"fg; fgm; femtograms; weight\",\"LOINC\",\"Mass\",\"Clinical\",\"equal to 10^-15 grams\",null,null,null,null,false],[false,\"femtoliter\",\"fL\",\"FL\",\"volume\",1e-18,[3,0,0,0,0,0,0],\"fL\",\"iso1000\",true,null,null,1,false,false,0,\"femtolitres; femtoliters\",\"LOINC\",\"Vol; EntVol\",\"Clinical\",\"equal to 10^-15 liters\",\"l\",null,\"1\",1,false],[true,\"femtometer\",\"fm\",\"FM\",\"length\",1e-15,[1,0,0,0,0,0,0],\"fm\",null,false,\"L\",null,1,false,false,0,\"femtometres; femtometers\",\"LOINC\",\"Len\",\"Clinical\",\"equal to 10^-15 meters\",null,null,null,null,false],[false,\"femtomole\",\"fmol\",\"FMOL\",\"amount of substance\",602213670,[0,0,0,0,0,0,0],\"fmol\",\"si\",true,null,null,1,false,false,1,\"femtomoles\",\"LOINC\",\"EntSub\",\"Clinical\",\"equal to 10^-15 moles\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"femtomole per gram\",\"fmol/g\",\"FMOL/G\",\"amount of substance\",602213670,[0,0,-1,0,0,0,0],\"fmol/g\",\"si\",true,null,null,1,false,false,1,\"femtomoles; fmol/gm; fmol per gm\",\"LOINC\",\"SCnt\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"femtomole per liter\",\"fmol/L\",\"FMOL/L\",\"amount of substance\",602213670000,[-3,0,0,0,0,0,0],\"fmol/L\",\"si\",true,null,null,1,false,false,1,\"femtomoles; fmol per liter; litre\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"femtomole per milligram\",\"fmol/mg\",\"FMOL/MG\",\"amount of substance\",602213670000,[0,0,-1,0,0,0,0],\"fmol/mg\",\"si\",true,null,null,1,false,false,1,\"fmol per mg; femtomoles\",\"LOINC\",\"SCnt\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"femtomole per milliliter\",\"fmol/mL\",\"FMOL/ML\",\"amount of substance\",602213670000000,[-3,0,0,0,0,0,0],\"fmol/mL\",\"si\",true,null,null,1,false,false,1,\"femtomoles; millilitre; fmol per mL; fmol per milliliter\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[true,\"gram meter\",\"g.m\",\"G.M\",\"mass\",1,[1,0,1,0,0,0,0],\"g.m\",null,false,\"M\",null,1,false,false,0,\"g*m; gxm; meters; metres\",\"LOINC\",\"Enrg\",\"Clinical\",\"Unit for measuring stroke work (heart work)\",null,null,null,null,false],[true,\"gram per 100 gram\",\"g/(100.g)\",\"G/G\",\"mass\",0.01,[0,0,0,0,0,0,0],\"g/g\",null,false,\"M\",null,1,false,false,0,\"g/100 gm; 100gm; grams per 100 grams; gm per 100 gm\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram per 12 hour\",\"g/(12.h)\",\"G/HR\",\"mass\",0.000023148148148148147,[0,-1,1,0,0,0,0],\"g/h\",null,false,\"M\",null,1,false,false,0,\"gm/12hrs; 12 hrs; gm per 12 hrs; 12hrs; grams per 12 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram per 24 hour\",\"g/(24.h)\",\"G/HR\",\"mass\",0.000011574074074074073,[0,-1,1,0,0,0,0],\"g/h\",null,false,\"M\",null,1,false,false,0,\"gm/24hrs; gm/24 hrs; gm per 24 hrs; 24hrs; grams per 24 hours; gm/dy; gm per dy; grams per day\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram per 3 days\",\"g/(3.d)\",\"G/D\",\"mass\",0.000003858024691358025,[0,-1,1,0,0,0,0],\"g/d\",null,false,\"M\",null,1,false,false,0,\"gm/3dy; gm/3 dy; gm per 3 days; grams\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram per 4 hour\",\"g/(4.h)\",\"G/HR\",\"mass\",0.00006944444444444444,[0,-1,1,0,0,0,0],\"g/h\",null,false,\"M\",null,1,false,false,0,\"gm/4hrs; gm/4 hrs; gm per 4 hrs; 4hrs; grams per 4 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram per 48 hour\",\"g/(48.h)\",\"G/HR\",\"mass\",0.000005787037037037037,[0,-1,1,0,0,0,0],\"g/h\",null,false,\"M\",null,1,false,false,0,\"gm/48hrs; gm/48 hrs; gm per 48 hrs; 48hrs; grams per 48 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram per 5 hour\",\"g/(5.h)\",\"G/HR\",\"mass\",0.00005555555555555556,[0,-1,1,0,0,0,0],\"g/h\",null,false,\"M\",null,1,false,false,0,\"gm/5hrs; gm/5 hrs; gm per 5 hrs; 5hrs; grams per 5 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram per 6 hour\",\"g/(6.h)\",\"G/HR\",\"mass\",0.000046296296296296294,[0,-1,1,0,0,0,0],\"g/h\",null,false,\"M\",null,1,false,false,0,\"gm/6hrs; gm/6 hrs; gm per 6 hrs; 6hrs; grams per 6 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram per 72 hour\",\"g/(72.h)\",\"G/HR\",\"mass\",0.000003858024691358025,[0,-1,1,0,0,0,0],\"g/h\",null,false,\"M\",null,1,false,false,0,\"gm/72hrs; gm/72 hrs; gm per 72 hrs; 72hrs; grams per 72 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram per cubic centimeter\",\"g/cm3\",\"G/CM3\",\"mass\",999999.9999999999,[-3,0,1,0,0,0,0],\"g/(cm3)\",null,false,\"M\",null,1,false,false,0,\"g/cm^3; gm per cm3; g per cm^3; grams per centimeter cubed; cu. cm; centimetre; g/mL; gram per milliliter; millilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"g/cm3 = g/mL\",null,null,null,null,false],[true,\"gram per day\",\"g/d\",\"G/D\",\"mass\",0.000011574074074074073,[0,-1,1,0,0,0,0],\"g/d\",null,false,\"M\",null,1,false,false,0,\"gm/dy; gm per dy; grams per day; gm/24hrs; gm/24 hrs; gm per 24 hrs; 24hrs; grams per 24 hours; serving\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram per deciliter\",\"g/dL\",\"G/DL\",\"mass\",10000,[-3,0,1,0,0,0,0],\"g/dL\",null,false,\"M\",null,1,false,false,0,\"gm/dL; gm per dL; grams per deciliter; decilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram per gram\",\"g/g\",\"G/G\",\"mass\",1,[0,0,0,0,0,0,0],\"g/g\",null,false,\"M\",null,1,false,false,0,\"gm; grams\",\"LOINC\",\"MRto \",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram per hour\",\"g/h\",\"G/HR\",\"mass\",0.0002777777777777778,[0,-1,1,0,0,0,0],\"g/h\",null,false,\"M\",null,1,false,false,0,\"gm/hr; gm per hr; grams; intake; output\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram per hour per square meter\",\"g/h/m2\",\"(G/HR)/M2\",\"mass\",0.0002777777777777778,[-2,-1,1,0,0,0,0],\"(g/h)/(m2)\",null,false,\"M\",null,1,false,false,0,\"gm/hr/m2; gm/h/m2; /m^2; sq. m; g per hr per m2; grams per hours per square meter; meter squared; metre\",\"LOINC\",\"ArMRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram per kilogram\",\"g/kg \",\"G/KG\",\"mass\",0.001,[0,0,0,0,0,0,0],\"g/kg\",null,false,\"M\",null,1,false,false,0,\"g per kg; gram per kilograms\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram per kilogram per 8 hour \",\"g/kg/(8.h)\",\"(G/KG)/HR\",\"mass\",3.472222222222222e-8,[0,-1,0,0,0,0,0],\"(g/kg)/h\",null,false,\"M\",null,1,false,false,0,\"g/(8.kg.h); gm/kg/8hrs; 8 hrs; g per kg per 8 hrs; 8hrs; grams per kilograms per 8 hours; shift\",\"LOINC\",\"MCntRat; RelMRat\",\"Clinical\",\"unit often used to describe mass in grams of protein consumed in a 8 hours, divided by the subject\\'s body weight in kilograms. Also used to measure mass dose rate per body mass\",null,null,null,null,false],[true,\"gram per kilogram per day\",\"g/kg/d\",\"(G/KG)/D\",\"mass\",1.1574074074074074e-8,[0,-1,0,0,0,0,0],\"(g/kg)/d\",null,false,\"M\",null,1,false,false,0,\"g/(kg.d); gm/kg/dy; gm per kg per dy; grams per kilograms per day\",\"LOINC\",\"RelMRat\",\"Clinical\",\"unit often used to describe mass in grams of protein consumed in a day, divided by the subject\\'s body weight in kilograms. Also used to measure mass dose rate per body mass\",null,null,null,null,false],[true,\"gram per kilogram per hour\",\"g/kg/h\",\"(G/KG)/HR\",\"mass\",2.7777777777777776e-7,[0,-1,0,0,0,0,0],\"(g/kg)/h\",null,false,\"M\",null,1,false,false,0,\"g/(kg.h); g/kg/hr; g per kg per hrs; grams per kilograms per hour\",\"LOINC\",\"MCntRat; RelMRat\",\"Clinical\",\"unit used to measure mass dose rate per body mass\",null,null,null,null,false],[true,\"gram per kilogram per minute\",\"g/kg/min\",\"(G/KG)/MIN\",\"mass\",0.000016666666666666667,[0,-1,0,0,0,0,0],\"(g/kg)/min\",null,false,\"M\",null,1,false,false,0,\"g/(kg.min); g/kg/min; g per kg per min; grams per kilograms per minute\",\"LOINC\",\"MCntRat; RelMRat\",\"Clinical\",\"unit used to measure mass dose rate per body mass\",null,null,null,null,false],[true,\"gram per liter\",\"g/L\",\"G/L\",\"mass\",1000,[-3,0,1,0,0,0,0],\"g/L\",null,false,\"M\",null,1,false,false,0,\"gm per liter; g/liter; grams per liter; litre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram per square meter\",\"g/m2\",\"G/M2\",\"mass\",1,[-2,0,1,0,0,0,0],\"g/(m2)\",null,false,\"M\",null,1,false,false,0,\"g/m^2; gram/square meter; g/sq m; g per m2; g per m^2; grams per square meter; meters squared; metre\",\"LOINC\",\"ArMass\",\"Clinical\",\"Tests measure myocardial mass (heart ventricle system) per body surface area; unit used to measure mass dose per body surface area\",null,null,null,null,false],[true,\"gram per milligram\",\"g/mg\",\"G/MG\",\"mass\",1000,[0,0,0,0,0,0,0],\"g/mg\",null,false,\"M\",null,1,false,false,0,\"g per mg; grams per milligram\",\"LOINC\",\"MCnt; MRto\",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram per minute\",\"g/min\",\"G/MIN\",\"mass\",0.016666666666666666,[0,-1,1,0,0,0,0],\"g/min\",null,false,\"M\",null,1,false,false,0,\"g per min; grams per minute; gram/minute\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram per milliliter\",\"g/mL\",\"G/ML\",\"mass\",1000000,[-3,0,1,0,0,0,0],\"g/mL\",null,false,\"M\",null,1,false,false,0,\"g per mL; grams per milliliter; millilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram per millimole\",\"g/mmol\",\"G/MMOL\",\"mass\",1.6605401866749388e-21,[0,0,1,0,0,0,0],\"g/mmol\",null,false,\"M\",null,1,false,false,-1,\"grams per millimole; g per mmol\",\"LOINC\",\"Ratio\",\"Clinical\",\"\",null,null,null,null,false],[false,\"joule per liter\",\"J/L\",\"J/L\",\"energy\",1000000,[-1,-2,1,0,0,0,0],\"J/L\",\"si\",true,null,null,1,false,false,0,\"joules per liter; litre; J per L\",\"LOINC\",\"EngCnc\",\"Clinical\",\"\",\"N.m\",\"N.M\",\"1\",1,false],[true,\"degree Kelvin per Watt\",\"K/W\",\"K/W\",\"temperature\",0.001,[-2,3,-1,0,1,0,0],\"K/W\",null,false,\"C\",null,1,false,false,0,\"degree Kelvin/Watt; K per W; thermal ohm; thermal resistance; degrees\",\"LOINC\",\"TempEngRat\",\"Clinical\",\"unit for absolute thermal resistance equal to the reciprocal of thermal conductance. Unit used for tests to measure work of breathing\",null,null,null,null,false],[false,\"kilo international unit per liter\",\"k[IU]/L\",\"K[IU]/L\",\"arbitrary\",1000000,[-3,0,0,0,0,0,0],\"(ki.U.)/L\",\"chemical\",true,null,null,1,false,true,0,\"kIU/L; kIU per L; kIU per liter; kilo international units; litre; allergens; allergy units\",\"LOINC\",\"ACnc\",\"Clinical\",\"IgE has an WHO reference standard so IgE allergen testing can be reported as k[IU]/L\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"kilo international unit per milliliter\",\"k[IU]/mL\",\"K[IU]/ML\",\"arbitrary\",1000000000,[-3,0,0,0,0,0,0],\"(ki.U.)/mL\",\"chemical\",true,null,null,1,false,true,0,\"kIU/mL; kIU per mL; kIU per milliliter; kilo international units; millilitre; allergens; allergy units\",\"LOINC\",\"ACnc\",\"Clinical\",\"IgE has an WHO reference standard so IgE allergen testing can be reported as k[IU]/mL\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"katal per kilogram\",\"kat/kg\",\"KAT/KG\",\"catalytic activity\",602213670000000000000,[0,-1,-1,0,0,0,0],\"kat/kg\",\"chemical\",true,null,null,1,false,false,1,\"kat per kg; katals per kilogram; mol/s/kg; moles per seconds per kilogram\",\"LOINC\",\"CCnt\",\"Clinical\",\"kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.\",\"mol/s\",\"MOL/S\",\"1\",1,false],[false,\"katal per liter\",\"kat/L\",\"KAT/L\",\"catalytic activity\",6.0221366999999994e+26,[-3,-1,0,0,0,0,0],\"kat/L\",\"chemical\",true,null,null,1,false,false,1,\"kat per L; katals per liter; litre; mol/s/L; moles per seconds per liter\",\"LOINC\",\"CCnc\",\"Clinical\",\"kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.\",\"mol/s\",\"MOL/S\",\"1\",1,false],[false,\"kilocalorie\",\"kcal\",\"KCAL\",\"energy\",4184000,[2,-2,1,0,0,0,0],\"kcal\",\"heat\",true,null,null,1,false,false,0,\"kilogram calories; large calories; food calories; kcals\",\"LOINC\",\"EngRat\",\"Clinical\",\"It is equal to 1000 calories (equal to 4.184 kJ). But in practical usage, kcal refers to food calories which excludes caloric content in fiber and other constitutes that is not digestible by humans. Also see nutrition label Calories ([Cal])\",\"cal_th\",\"CAL_TH\",\"1\",1,false],[false,\"kilocalorie per 24 hour\",\"kcal/(24.h)\",\"KCAL/HR\",\"energy\",48.425925925925924,[2,-3,1,0,0,0,0],\"kcal/h\",\"heat\",true,null,null,1,false,false,0,\"kcal/24hrs; kcal/24 hrs; kcal per 24hrs; kilocalories per 24 hours; kilojoules; kJ/24hr; kJ/(24.h); kJ/dy; kilojoules per days; intake; calories burned; metabolic rate; food calories\",\"\",\"EngRat\",\"Clinical\",\"\",\"cal_th\",\"CAL_TH\",\"1\",1,false],[false,\"kilocalorie per ounce\",\"kcal/[oz_av]\",\"KCAL/[OZ_AV]\",\"energy\",147586.25679704445,[2,-2,0,0,0,0,0],\"kcal/oz\",\"heat\",true,null,null,1,false,false,0,\"kcal/oz; kcal per ozs; large calories per ounces; food calories; servings; international\",\"LOINC\",\"EngCnt\",\"Clinical\",\"used in nutrition to represent calorie of food\",\"cal_th\",\"CAL_TH\",\"1\",1,false],[false,\"kilocalorie per day\",\"kcal/d\",\"KCAL/D\",\"energy\",48.425925925925924,[2,-3,1,0,0,0,0],\"kcal/d\",\"heat\",true,null,null,1,false,false,0,\"kcal/dy; kcal per day; kilocalories per days; kilojoules; kJ/dy; kilojoules per days; intake; calories burned; metabolic rate; food calories\",\"LOINC\",\"EngRat\",\"Clinical\",\"unit in nutrition for food intake (measured in calories) in a day\",\"cal_th\",\"CAL_TH\",\"1\",1,false],[false,\"kilocalorie per hour\",\"kcal/h\",\"KCAL/HR\",\"energy\",1162.2222222222222,[2,-3,1,0,0,0,0],\"kcal/h\",\"heat\",true,null,null,1,false,false,0,\"kcal/hrs; kcals per hr; intake; kilocalories per hours; kilojoules\",\"LOINC\",\"EngRat\",\"Clinical\",\"used in nutrition to represent caloric requirement or consumption\",\"cal_th\",\"CAL_TH\",\"1\",1,false],[false,\"kilocalorie per kilogram per 24 hour\",\"kcal/kg/(24.h)\",\"(KCAL/KG)/HR\",\"energy\",0.04842592592592593,[2,-3,0,0,0,0,0],\"(kcal/kg)/h\",\"heat\",true,null,null,1,false,false,0,\"kcal/kg/24hrs; 24 hrs; kcal per kg per 24hrs; kilocalories per kilograms per 24 hours; kilojoules\",\"LOINC\",\"EngCntRat\",\"Clinical\",\"used in nutrition to represent caloric requirement per day based on subject\\'s body weight in kilograms\",\"cal_th\",\"CAL_TH\",\"1\",1,false],[true,\"kilogram\",\"kg\",\"KG\",\"mass\",1000,[0,0,1,0,0,0,0],\"kg\",null,false,\"M\",null,1,false,false,0,\"kilograms; kgs\",\"LOINC\",\"Mass\",\"Clinical\",\"\",null,null,null,null,false],[true,\"kilogram meter per second\",\"kg.m/s\",\"(KG.M)/S\",\"mass\",1000,[1,-1,1,0,0,0,0],\"(kg.m)/s\",null,false,\"M\",null,1,false,false,0,\"kg*m/s; kg.m per sec; kg*m per sec; p; momentum\",\"LOINC\",\"\",\"Clinical\",\"unit for momentum = mass times velocity\",null,null,null,null,false],[true,\"kilogram per second per square meter\",\"kg/(s.m2)\",\"KG/(S.M2)\",\"mass\",1000,[-2,-1,1,0,0,0,0],\"kg/(s.(m2))\",null,false,\"M\",null,1,false,false,0,\"kg/(s*m2); kg/(s*m^2); kg per s per m2; per sec; per m^2; kilograms per seconds per square meter; meter squared; metre\",\"LOINC\",\"ArMRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"kilogram per hour\",\"kg/h\",\"KG/HR\",\"mass\",0.2777777777777778,[0,-1,1,0,0,0,0],\"kg/h\",null,false,\"M\",null,1,false,false,0,\"kg/hr; kg per hr; kilograms per hour\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"kilogram per liter\",\"kg/L\",\"KG/L\",\"mass\",1000000,[-3,0,1,0,0,0,0],\"kg/L\",null,false,\"M\",null,1,false,false,0,\"kg per liter; litre; kilograms\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[true,\"kilogram per square meter\",\"kg/m2\",\"KG/M2\",\"mass\",1000,[-2,0,1,0,0,0,0],\"kg/(m2)\",null,false,\"M\",null,1,false,false,0,\"kg/m^2; kg/sq. m; kg per m2; per m^2; per sq. m; kilograms; meter squared; metre; BMI\",\"LOINC\",\"Ratio\",\"Clinical\",\"units for body mass index (BMI)\",null,null,null,null,false],[true,\"kilogram per cubic meter\",\"kg/m3\",\"KG/M3\",\"mass\",1000,[-3,0,1,0,0,0,0],\"kg/(m3)\",null,false,\"M\",null,1,false,false,0,\"kg/m^3; kg/cu. m; kg per m3; per m^3; per cu. m; kilograms; meters cubed; metre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[true,\"kilogram per minute\",\"kg/min\",\"KG/MIN\",\"mass\",16.666666666666668,[0,-1,1,0,0,0,0],\"kg/min\",null,false,\"M\",null,1,false,false,0,\"kilogram/minute; kg per min; kilograms per minute\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"kilogram per mole\",\"kg/mol\",\"KG/MOL\",\"mass\",1.6605401866749388e-21,[0,0,1,0,0,0,0],\"kg/mol\",null,false,\"M\",null,1,false,false,-1,\"kilogram/mole; kg per mol; kilograms per mole\",\"LOINC\",\"SCnt\",\"Clinical\",\"\",null,null,null,null,false],[true,\"kilogram per second\",\"kg/s\",\"KG/S\",\"mass\",1000,[0,-1,1,0,0,0,0],\"kg/s\",null,false,\"M\",null,1,false,false,0,\"kg/sec; kilogram/second; kg per sec; kilograms; second\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"kiloliter\",\"kL\",\"KL\",\"volume\",1,[3,0,0,0,0,0,0],\"kL\",\"iso1000\",true,null,null,1,false,false,0,\"kiloliters; kilolitres; m3; m^3; meters cubed; metre\",\"LOINC\",\"Vol\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[true,\"kilometer\",\"km\",\"KM\",\"length\",1000,[1,0,0,0,0,0,0],\"km\",null,false,\"L\",null,1,false,false,0,\"kilometers; kilometres; distance\",\"LOINC\",\"Len\",\"Clinical\",\"\",null,null,null,null,false],[false,\"kilopascal\",\"kPa\",\"KPAL\",\"pressure\",1000000,[-1,-2,1,0,0,0,0],\"kPa\",\"si\",true,null,null,1,false,false,0,\"kilopascals; pressure\",\"LOINC\",\"Pres; PPresDiff\",\"Clinical\",\"\",\"N/m2\",\"N/M2\",\"1\",1,false],[true,\"kilosecond\",\"ks\",\"KS\",\"time\",1000,[0,1,0,0,0,0,0],\"ks\",null,false,\"T\",null,1,false,false,0,\"kiloseconds; ksec\",\"LOINC\",\"Time\",\"Clinical\",\"\",null,null,null,null,false],[false,\"kilo enzyme unit\",\"kU\",\"KU\",\"catalytic activity\",10036894500000000000,[0,-1,0,0,0,0,0],\"kU\",\"chemical\",true,null,null,1,false,false,1,\"units; mmol/min; millimoles per minute\",\"LOINC\",\"CAct\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"kilo enzyme unit per gram\",\"kU/g\",\"KU/G\",\"catalytic activity\",10036894500000000000,[0,-1,-1,0,0,0,0],\"kU/g\",\"chemical\",true,null,null,1,false,false,1,\"units per grams; kU per gm\",\"LOINC\",\"CCnt\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"kilo enzyme unit per liter\",\"kU/L\",\"KU/L\",\"catalytic activity\",1.00368945e+22,[-3,-1,0,0,0,0,0],\"kU/L\",\"chemical\",true,null,null,1,false,false,1,\"units per liter; litre; enzymatic activity; enzyme activity per volume; activities\",\"LOINC\",\"ACnc; CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"kilo enzyme unit per milliliter\",\"kU/mL\",\"KU/ML\",\"catalytic activity\",1.00368945e+25,[-3,-1,0,0,0,0,0],\"kU/mL\",\"chemical\",true,null,null,1,false,false,1,\"kU per mL; units per milliliter; millilitre; enzymatic activity per volume; enzyme activities\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"Liters per 24 hour\",\"L/(24.h)\",\"L/HR\",\"volume\",1.1574074074074074e-8,[3,-1,0,0,0,0,0],\"L/h\",\"iso1000\",true,null,null,1,false,false,0,\"L/24hrs; L/24 hrs; L per 24hrs; liters per 24 hours; day; dy; litres; volume flow rate\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"Liters per 8 hour\",\"L/(8.h)\",\"L/HR\",\"volume\",3.472222222222222e-8,[3,-1,0,0,0,0,0],\"L/h\",\"iso1000\",true,null,null,1,false,false,0,\"L/8hrs; L/8 hrs; L per 8hrs; liters per 8 hours; litres; volume flow rate; shift\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"Liters per minute per square meter\",\"L/(min.m2) \",\"L/(MIN.M2)\",\"volume\",0.000016666666666666667,[1,-1,0,0,0,0,0],\"L/(min.(m2))\",\"iso1000\",true,null,null,1,false,false,0,\"L/(min.m2); L/min/m^2; L/min/sq. meter; L per min per m2; m^2; liters per minutes per square meter; meter squared; litres; metre \",\"LOINC\",\"ArVRat\",\"Clinical\",\"unit for tests that measure cardiac output per body surface area (cardiac index)\",\"l\",null,\"1\",1,false],[false,\"Liters per day\",\"L/d\",\"L/D\",\"volume\",1.1574074074074074e-8,[3,-1,0,0,0,0,0],\"L/d\",\"iso1000\",true,null,null,1,false,false,0,\"L/dy; L per day; 24hrs; 24 hrs; 24 hours; liters; litres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"Liters per hour\",\"L/h\",\"L/HR\",\"volume\",2.7777777777777776e-7,[3,-1,0,0,0,0,0],\"L/h\",\"iso1000\",true,null,null,1,false,false,0,\"L/hr; L per hr; litres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"Liters per kilogram\",\"L/kg\",\"L/KG\",\"volume\",0.000001,[3,0,-1,0,0,0,0],\"L/kg\",\"iso1000\",true,null,null,1,false,false,0,\"L per kg; litre\",\"LOINC\",\"VCnt\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"Liters per liter\",\"L/L\",\"L/L\",\"volume\",1,[0,0,0,0,0,0,0],\"L/L\",\"iso1000\",true,null,null,1,false,false,0,\"L per L; liter/liter; litre\",\"LOINC\",\"VFr\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"Liters per minute\",\"L/min\",\"L/MIN\",\"volume\",0.000016666666666666667,[3,-1,0,0,0,0,0],\"L/min\",\"iso1000\",true,null,null,1,false,false,0,\"liters per minute; litre\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"Liters per minute per square meter\",\"L/min/m2\",\"(L/MIN)/M2\",\"volume\",0.000016666666666666667,[1,-1,0,0,0,0,0],\"(L/min)/(m2)\",\"iso1000\",true,null,null,1,false,false,0,\"L/(min.m2); L/min/m^2; L/min/sq. meter; L per min per m2; m^2; liters per minutes per square meter; meter squared; litres; metre \",\"\",\"ArVRat\",\"Clinical\",\"unit for tests that measure cardiac output per body surface area (cardiac index)\",\"l\",null,\"1\",1,false],[false,\"Liters per second\",\"L/s\",\"L/S\",\"volume\",0.001,[3,-1,0,0,0,0,0],\"L/s\",\"iso1000\",true,null,null,1,false,false,0,\"L per sec; litres\",\"LOINC\",\"VRat\",\"Clinical\",\"unit used often to measure gas flow and peak expiratory flow\",\"l\",null,\"1\",1,false],[false,\"Liters per second per square second\",\"L/s/s2\",\"(L/S)/S2\",\"volume\",0.001,[3,-3,0,0,0,0,0],\"(L/s)/(s2)\",\"iso1000\",true,null,null,1,false,false,0,\"L/s/s^2; L/sec/sec2; L/sec/sec^2; L/sec/sq. sec; L per s per s2; L per sec per sec2; s^2; sec^2; liters per seconds per square second; second squared; litres \",\"LOINC\",\"ArVRat\",\"Clinical\",\"unit for tests that measure cardiac output/body surface area\",\"l\",null,\"1\",1,false],[false,\"lumen square meter\",\"lm.m2\",\"LM.M2\",\"luminous flux\",1,[2,0,0,2,0,0,1],\"lm.(m2)\",\"si\",true,null,null,1,false,false,0,\"lm*m2; lm*m^2; lumen meters squared; lumen sq. meters; metres\",\"LOINC\",\"\",\"Clinical\",\"\",\"cd.sr\",\"CD.SR\",\"1\",1,false],[true,\"meter per second\",\"m/s\",\"M/S\",\"length\",1,[1,-1,0,0,0,0,0],\"m/s\",null,false,\"L\",null,1,false,false,0,\"meter/second; m per sec; meters per second; metres; velocity; speed\",\"LOINC\",\"Vel\",\"Clinical\",\"unit of velocity\",null,null,null,null,false],[true,\"meter per square second\",\"m/s2\",\"M/S2\",\"length\",1,[1,-2,0,0,0,0,0],\"m/(s2)\",null,false,\"L\",null,1,false,false,0,\"m/s^2; m/sq. sec; m per s2; per s^2; meters per square second; second squared; sq second; metres; acceleration\",\"LOINC\",\"Accel\",\"Clinical\",\"unit of acceleration\",null,null,null,null,false],[false,\"milli international unit per liter\",\"m[IU]/L\",\"M[IU]/L\",\"arbitrary\",1,[-3,0,0,0,0,0,0],\"(mi.U.)/L\",\"chemical\",true,null,null,1,false,true,0,\"mIU/L; m IU/L; mIU per liter; units; litre\",\"LOINC\",\"ACnc\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"milli international unit per milliliter\",\"m[IU]/mL\",\"M[IU]/ML\",\"arbitrary\",1000.0000000000001,[-3,0,0,0,0,0,0],\"(mi.U.)/mL\",\"chemical\",true,null,null,1,false,true,0,\"mIU/mL; m IU/mL; mIU per mL; milli international units per milliliter; millilitre\",\"LOINC\",\"ACnc\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[true,\"square meter\",\"m2\",\"M2\",\"length\",1,[2,0,0,0,0,0,0],\"m2\",null,false,\"L\",null,1,false,false,0,\"m^2; sq m; square meters; meters squared; metres\",\"LOINC\",\"Area\",\"Clinical\",\"unit often used to represent body surface area\",null,null,null,null,false],[true,\"square meter per second\",\"m2/s\",\"M2/S\",\"length\",1,[2,-1,0,0,0,0,0],\"(m2)/s\",null,false,\"L\",null,1,false,false,0,\"m^2/sec; m2 per sec; m^2 per sec; sq m/sec; meters squared/seconds; sq m per sec; meters squared; metres\",\"LOINC\",\"ArRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"cubic meter per second\",\"m3/s\",\"M3/S\",\"length\",1,[3,-1,0,0,0,0,0],\"(m3)/s\",null,false,\"L\",null,1,false,false,0,\"m^3/sec; m3 per sec; m^3 per sec; cu m/sec; cubic meters per seconds; meters cubed; metres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milliampere\",\"mA\",\"MA\",\"electric current\",0.001,[0,-1,0,0,0,1,0],\"mA\",\"si\",true,null,null,1,false,false,0,\"mamp; milliamperes\",\"LOINC\",\"ElpotRat\",\"Clinical\",\"unit of electric current\",\"C/s\",\"C/S\",\"1\",1,false],[false,\"millibar\",\"mbar\",\"MBAR\",\"pressure\",100000,[-1,-2,1,0,0,0,0],\"mbar\",\"iso1000\",true,null,null,1,false,false,0,\"millibars\",\"LOINC\",\"Pres\",\"Clinical\",\"unit of pressure\",\"Pa\",\"PAL\",\"1e5\",100000,false],[false,\"millibar second per liter\",\"mbar.s/L\",\"(MBAR.S)/L\",\"pressure\",100000000,[-4,-1,1,0,0,0,0],\"(mbar.s)/L\",\"iso1000\",true,null,null,1,false,false,0,\"mbar*s/L; mbar.s per L; mbar*s per L; millibar seconds per liter; millibar second per litre\",\"LOINC\",\"\",\"Clinical\",\"unit to measure expiratory resistance\",\"Pa\",\"PAL\",\"1e5\",100000,false],[false,\"millibar per liter per second\",\"mbar/L/s\",\"(MBAR/L)/S\",\"pressure\",100000000,[-4,-3,1,0,0,0,0],\"(mbar/L)/s\",\"iso1000\",true,null,null,1,false,false,0,\"mbar/(L.s); mbar/L/sec; mbar/liter/second; mbar per L per sec; mbar per liter per second; millibars per liters per seconds; litres\",\"LOINC\",\"PresCncRat\",\"Clinical\",\"unit to measure expiratory resistance\",\"Pa\",\"PAL\",\"1e5\",100000,false],[false,\"milliequivalent\",\"meq\",\"MEQ\",\"amount of substance\",602213670000000000000,[0,0,0,0,0,0,0],\"meq\",\"chemical\",true,null,null,1,false,false,1,\"milliequivalents; meqs\",\"LOINC\",\"Sub\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per 2 hour\",\"meq/(2.h)\",\"MEQ/HR\",\"amount of substance\",83640787500000000,[0,-1,0,0,0,0,0],\"meq/h\",\"chemical\",true,null,null,1,false,false,1,\"meq/2hrs; meq/2 hrs; meq per 2 hrs; milliequivalents per 2 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per 24 hour\",\"meq/(24.h)\",\"MEQ/HR\",\"amount of substance\",6970065625000000,[0,-1,0,0,0,0,0],\"meq/h\",\"chemical\",true,null,null,1,false,false,1,\"meq/24hrs; meq/24 hrs; meq per 24 hrs; milliequivalents per 24 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per 8 hour\",\"meq/(8.h)\",\"MEQ/HR\",\"amount of substance\",20910196875000000,[0,-1,0,0,0,0,0],\"meq/h\",\"chemical\",true,null,null,1,false,false,1,\"meq/8hrs; meq/8 hrs; meq per 8 hrs; milliequivalents per 8 hours; shift\",\"LOINC\",\"SRat\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per day\",\"meq/d\",\"MEQ/D\",\"amount of substance\",6970065625000000,[0,-1,0,0,0,0,0],\"meq/d\",\"chemical\",true,null,null,1,false,false,1,\"meq/dy; meq per day; milliquivalents per days; meq/24hrs; meq/24 hrs; meq per 24 hrs; milliequivalents per 24 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per deciliter\",\"meq/dL\",\"MEQ/DL\",\"amount of substance\",6.022136699999999e+24,[-3,0,0,0,0,0,0],\"meq/dL\",\"chemical\",true,null,null,1,false,false,1,\"meq per dL; milliequivalents per deciliter; decilitre\",\"LOINC\",\"SCnc\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per gram\",\"meq/g\",\"MEQ/G\",\"amount of substance\",602213670000000000000,[0,0,-1,0,0,0,0],\"meq/g\",\"chemical\",true,null,null,1,false,false,1,\"mgq/gm; meq per gm; milliequivalents per gram\",\"LOINC\",\"MCnt\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per hour\",\"meq/h\",\"MEQ/HR\",\"amount of substance\",167281575000000000,[0,-1,0,0,0,0,0],\"meq/h\",\"chemical\",true,null,null,1,false,false,1,\"meq/hrs; meq per hrs; milliequivalents per hour\",\"LOINC\",\"SRat\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per kilogram\",\"meq/kg\",\"MEQ/KG\",\"amount of substance\",602213670000000000,[0,0,-1,0,0,0,0],\"meq/kg\",\"chemical\",true,null,null,1,false,false,1,\"meq per kg; milliequivalents per kilogram\",\"LOINC\",\"SCnt\",\"Clinical\",\"equivalence equals moles per valence; used to measure dose per patient body mass\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per kilogram per hour\",\"meq/kg/h\",\"(MEQ/KG)/HR\",\"amount of substance\",167281575000000,[0,-1,-1,0,0,0,0],\"(meq/kg)/h\",\"chemical\",true,null,null,1,false,false,1,\"meq/(kg.h); meq/kg/hr; meq per kg per hr; milliequivalents per kilograms per hour\",\"LOINC\",\"SCntRat\",\"Clinical\",\"equivalence equals moles per valence; unit used to measure dose rate per patient body mass\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per liter\",\"meq/L\",\"MEQ/L\",\"amount of substance\",6.0221367e+23,[-3,0,0,0,0,0,0],\"meq/L\",\"chemical\",true,null,null,1,false,false,1,\"milliequivalents per liter; litre; meq per l; acidity\",\"LOINC\",\"SCnc\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per square meter\",\"meq/m2\",\"MEQ/M2\",\"amount of substance\",602213670000000000000,[-2,0,0,0,0,0,0],\"meq/(m2)\",\"chemical\",true,null,null,1,false,false,1,\"meq/m^2; meq/sq. m; milliequivalents per square meter; meter squared; metre\",\"LOINC\",\"ArSub\",\"Clinical\",\"equivalence equals moles per valence; note that the use of m2 in clinical units ofter refers to body surface area\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per minute\",\"meq/min\",\"MEQ/MIN\",\"amount of substance\",10036894500000000000,[0,-1,0,0,0,0,0],\"meq/min\",\"chemical\",true,null,null,1,false,false,1,\"meq per min; milliequivalents per minute\",\"LOINC\",\"SRat\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per milliliter\",\"meq/mL\",\"MEQ/ML\",\"amount of substance\",6.0221367e+26,[-3,0,0,0,0,0,0],\"meq/mL\",\"chemical\",true,null,null,1,false,false,1,\"meq per mL; milliequivalents per milliliter; millilitre\",\"LOINC\",\"SCnc\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[true,\"milligram\",\"mg\",\"MG\",\"mass\",0.001,[0,0,1,0,0,0,0],\"mg\",null,false,\"M\",null,1,false,false,0,\"milligrams\",\"LOINC\",\"Mass\",\"Clinical\",\"\",null,null,null,null,false],[true,\"milligram per 10 hour\",\"mg/(10.h)\",\"MG/HR\",\"mass\",2.7777777777777777e-8,[0,-1,1,0,0,0,0],\"mg/h\",null,false,\"M\",null,1,false,false,0,\"mg/10hrs; mg/10 hrs; mg per 10 hrs; milligrams per 10 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"milligram per 12 hour\",\"mg/(12.h)\",\"MG/HR\",\"mass\",2.3148148148148148e-8,[0,-1,1,0,0,0,0],\"mg/h\",null,false,\"M\",null,1,false,false,0,\"mg/12hrs; mg/12 hrs; per 12 hrs; 12hrs; milligrams per 12 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"units used for tests in urine\",null,null,null,null,false],[true,\"milligram per 2 hour\",\"mg/(2.h)\",\"MG/HR\",\"mass\",1.3888888888888888e-7,[0,-1,1,0,0,0,0],\"mg/h\",null,false,\"M\",null,1,false,false,0,\"mg/2hrs; mg/2 hrs; mg per 2 hrs; 2hrs; milligrams per 2 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"units used for tests in urine\",null,null,null,null,false],[true,\"milligram per 24 hour\",\"mg/(24.h)\",\"MG/HR\",\"mass\",1.1574074074074074e-8,[0,-1,1,0,0,0,0],\"mg/h\",null,false,\"M\",null,1,false,false,0,\"mg/24hrs; mg/24 hrs; milligrams per 24 hours; mg/kg/dy; mg per kg per day; milligrams per kilograms per days\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"milligram per 6 hour\",\"mg/(6.h)\",\"MG/HR\",\"mass\",4.6296296296296295e-8,[0,-1,1,0,0,0,0],\"mg/h\",null,false,\"M\",null,1,false,false,0,\"mg/6hrs; mg/6 hrs; mg per 6 hrs; 6hrs; milligrams per 6 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"milligram per 72 hour\",\"mg/(72.h)\",\"MG/HR\",\"mass\",3.858024691358025e-9,[0,-1,1,0,0,0,0],\"mg/h\",null,false,\"M\",null,1,false,false,0,\"mg/72hrs; mg/72 hrs; 72 hrs; 72hrs; milligrams per 72 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"milligram per 8 hour\",\"mg/(8.h)\",\"MG/HR\",\"mass\",3.472222222222222e-8,[0,-1,1,0,0,0,0],\"mg/h\",null,false,\"M\",null,1,false,false,0,\"mg/8hrs; mg/8 hrs; milligrams per 8 hours; shift\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"milligram per day\",\"mg/d\",\"MG/D\",\"mass\",1.1574074074074074e-8,[0,-1,1,0,0,0,0],\"mg/d\",null,false,\"M\",null,1,false,false,0,\"mg/24hrs; mg/24 hrs; milligrams per 24 hours; mg/dy; mg per day; milligrams\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"milligram per deciliter\",\"mg/dL\",\"MG/DL\",\"mass\",10,[-3,0,1,0,0,0,0],\"mg/dL\",null,false,\"M\",null,1,false,false,0,\"mg per dL; milligrams per deciliter; decilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[true,\"milligram per gram\",\"mg/g\",\"MG/G\",\"mass\",0.001,[0,0,0,0,0,0,0],\"mg/g\",null,false,\"M\",null,1,false,false,0,\"mg per gm; milligrams per gram\",\"LOINC\",\"MCnt; MRto\",\"Clinical\",\"\",null,null,null,null,false],[true,\"milligram per hour\",\"mg/h\",\"MG/HR\",\"mass\",2.7777777777777776e-7,[0,-1,1,0,0,0,0],\"mg/h\",null,false,\"M\",null,1,false,false,0,\"mg/hr; mg per hr; milligrams\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"milligram per kilogram\",\"mg/kg\",\"MG/KG\",\"mass\",0.000001,[0,0,0,0,0,0,0],\"mg/kg\",null,false,\"M\",null,1,false,false,0,\"mg per kg; milligrams per kilograms\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[true,\"milligram per kilogram per 8 hour\",\"mg/kg/(8.h)\",\"(MG/KG)/HR\",\"mass\",3.472222222222222e-11,[0,-1,0,0,0,0,0],\"(mg/kg)/h\",null,false,\"M\",null,1,false,false,0,\"mg/(8.h.kg); mg/kg/8hrs; mg/kg/8 hrs; mg per kg per 8hrs; 8 hrs; milligrams per kilograms per 8 hours; shift\",\"LOINC\",\"RelMRat; MCntRat\",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[true,\"milligram per kilogram per day\",\"mg/kg/d\",\"(MG/KG)/D\",\"mass\",1.1574074074074074e-11,[0,-1,0,0,0,0,0],\"(mg/kg)/d\",null,false,\"M\",null,1,false,false,0,\"mg/(kg.d); mg/(kg.24.h)mg/kg/dy; mg per kg per day; milligrams per kilograms per days; mg/kg/(24.h); mg/kg/24hrs; 24 hrs; 24 hours\",\"LOINC\",\"RelMRat \",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[true,\"milligram per kilogram per hour\",\"mg/kg/h\",\"(MG/KG)/HR\",\"mass\",2.7777777777777777e-10,[0,-1,0,0,0,0,0],\"(mg/kg)/h\",null,false,\"M\",null,1,false,false,0,\"mg/(kg.h); mg/kg/hr; mg per kg per hr; milligrams per kilograms per hour\",\"LOINC\",\"RelMRat; MCntRat\",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[true,\"milligram per kilogram per minute\",\"mg/kg/min\",\"(MG/KG)/MIN\",\"mass\",1.6666666666666667e-8,[0,-1,0,0,0,0,0],\"(mg/kg)/min\",null,false,\"M\",null,1,false,false,0,\"mg/(kg.min); mg per kg per min; milligrams per kilograms per minute\",\"LOINC\",\"RelMRat; MCntRat\",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[true,\"milligram per liter\",\"mg/L\",\"MG/L\",\"mass\",1,[-3,0,1,0,0,0,0],\"mg/L\",null,false,\"M\",null,1,false,false,0,\"mg per l; milligrams per liter; litre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[true,\"milligram per square meter\",\"mg/m2\",\"MG/M2\",\"mass\",0.001,[-2,0,1,0,0,0,0],\"mg/(m2)\",null,false,\"M\",null,1,false,false,0,\"mg/m^2; mg/sq. m; mg per m2; mg per m^2; mg per sq. milligrams; meter squared; metre\",\"LOINC\",\"ArMass\",\"Clinical\",\"\",null,null,null,null,false],[true,\"milligram per cubic meter\",\"mg/m3\",\"MG/M3\",\"mass\",0.001,[-3,0,1,0,0,0,0],\"mg/(m3)\",null,false,\"M\",null,1,false,false,0,\"mg/m^3; mg/cu. m; mg per m3; milligrams per cubic meter; meter cubed; metre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[true,\"milligram per milligram\",\"mg/mg\",\"MG/MG\",\"mass\",1,[0,0,0,0,0,0,0],\"mg/mg\",null,false,\"M\",null,1,false,false,0,\"mg per mg; milligrams; milligram/milligram\",\"LOINC\",\"MRto\",\"Clinical\",\"\",null,null,null,null,false],[true,\"milligram per minute\",\"mg/min\",\"MG/MIN\",\"mass\",0.000016666666666666667,[0,-1,1,0,0,0,0],\"mg/min\",null,false,\"M\",null,1,false,false,0,\"mg per min; milligrams per minutes; milligram/minute\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"milligram per milliliter\",\"mg/mL\",\"MG/ML\",\"mass\",1000.0000000000001,[-3,0,1,0,0,0,0],\"mg/mL\",null,false,\"M\",null,1,false,false,0,\"mg per mL; milligrams per milliliters; millilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[true,\"milligram per millimole\",\"mg/mmol\",\"MG/MMOL\",\"mass\",1.660540186674939e-24,[0,0,1,0,0,0,0],\"mg/mmol\",null,false,\"M\",null,1,false,false,-1,\"mg per mmol; milligrams per millimole; \",\"LOINC\",\"Ratio\",\"Clinical\",\"\",null,null,null,null,false],[true,\"milligram per week\",\"mg/wk\",\"MG/WK\",\"mass\",1.6534391534391535e-9,[0,-1,1,0,0,0,0],\"mg/wk\",null,false,\"M\",null,1,false,false,0,\"mg/week; mg per wk; milligrams per weeks; milligram/week\",\"LOINC\",\"Mrat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milliliter\",\"mL\",\"ML\",\"volume\",0.000001,[3,0,0,0,0,0,0],\"mL\",\"iso1000\",true,null,null,1,false,false,0,\"milliliters; millilitres\",\"LOINC\",\"Vol\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per 10 hour\",\"mL/(10.h)\",\"ML/HR\",\"volume\",2.7777777777777777e-11,[3,-1,0,0,0,0,0],\"mL/h\",\"iso1000\",true,null,null,1,false,false,0,\"ml/10hrs; ml/10 hrs; mL per 10hrs; 10 hrs; milliliters per 10 hours; millilitres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per 12 hour\",\"mL/(12.h)\",\"ML/HR\",\"volume\",2.3148148148148147e-11,[3,-1,0,0,0,0,0],\"mL/h\",\"iso1000\",true,null,null,1,false,false,0,\"ml/12hrs; ml/12 hrs; mL per 12hrs; 12 hrs; milliliters per 12 hours; millilitres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per 2 hour\",\"mL/(2.h)\",\"ML/HR\",\"volume\",1.3888888888888888e-10,[3,-1,0,0,0,0,0],\"mL/h\",\"iso1000\",true,null,null,1,false,false,0,\"ml/2hrs; ml/2 hrs; mL per 2hrs; 2 hrs; milliliters per 2 hours; millilitres \",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per 24 hour\",\"mL/(24.h)\",\"ML/HR\",\"volume\",1.1574074074074074e-11,[3,-1,0,0,0,0,0],\"mL/h\",\"iso1000\",true,null,null,1,false,false,0,\"ml/24hrs; ml/24 hrs; mL per 24hrs; 24 hrs; milliliters per 24 hours; millilitres; ml/dy; /day; ml per dy; days; fluid outputs; fluid inputs; flow rate\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per 4 hour\",\"mL/(4.h)\",\"ML/HR\",\"volume\",6.944444444444444e-11,[3,-1,0,0,0,0,0],\"mL/h\",\"iso1000\",true,null,null,1,false,false,0,\"ml/4hrs; ml/4 hrs; mL per 4hrs; 4 hrs; milliliters per 4 hours; millilitres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per 5 hour\",\"mL/(5.h)\",\"ML/HR\",\"volume\",5.5555555555555553e-11,[3,-1,0,0,0,0,0],\"mL/h\",\"iso1000\",true,null,null,1,false,false,0,\"ml/5hrs; ml/5 hrs; mL per 5hrs; 5 hrs; milliliters per 5 hours; millilitres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per 6 hour\",\"mL/(6.h)\",\"ML/HR\",\"volume\",4.6296296296296294e-11,[3,-1,0,0,0,0,0],\"mL/h\",\"iso1000\",true,null,null,1,false,false,0,\"ml/6hrs; ml/6 hrs; mL per 6hrs; 6 hrs; milliliters per 6 hours; millilitres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per 72 hour\",\"mL/(72.h)\",\"ML/HR\",\"volume\",3.8580246913580245e-12,[3,-1,0,0,0,0,0],\"mL/h\",\"iso1000\",true,null,null,1,false,false,0,\"ml/72hrs; ml/72 hrs; mL per 72hrs; 72 hrs; milliliters per 72 hours; millilitres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per 8 hour\",\"mL/(8.h)\",\"ML/HR\",\"volume\",3.472222222222222e-11,[3,-1,0,0,0,0,0],\"mL/h\",\"iso1000\",true,null,null,1,false,false,0,\"ml/8hrs; ml/8 hrs; mL per 8hrs; 8 hrs; milliliters per 8 hours; millilitres; shift\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per 8 hour per kilogram\",\"mL/(8.h)/kg\",\"(ML/HR)/KG\",\"volume\",3.472222222222222e-14,[3,-1,-1,0,0,0,0],\"(mL/h)/kg\",\"iso1000\",true,null,null,1,false,false,0,\"mL/kg/(8.h); ml/8h/kg; ml/8 h/kg; ml/8hr/kg; ml/8 hr/kgr; mL per 8h per kg; 8 h; 8hr; 8 hr; milliliters per 8 hours per kilogram; millilitres; shift\",\"LOINC\",\"VRatCnt\",\"Clinical\",\"unit used to measure renal excretion volume rate per body mass\",\"l\",null,\"1\",1,false],[false,\"milliliter per square inch (international)\",\"mL/[sin_i]\",\"ML/[SIN_I]\",\"volume\",0.0015500031000061998,[1,0,0,0,0,0,0],\"mL\",\"iso1000\",true,null,null,1,false,false,0,\"mL/sin; mL/in2; mL/in^2; mL per sin; in2; in^2; sq. in; milliliters per square inch; inch squared\",\"LOINC\",\"ArVol\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per centimeter of water\",\"mL/cm[H2O]\",\"ML/CM[H2O]\",\"volume\",1.0197162129779282e-11,[4,2,-1,0,0,0,0],\"mL/(cm HO2)\",\"iso1000\",true,null,null,1,false,false,0,\"milliliters per centimeter of water; millilitre per centimetre of water; millilitres per centimetre of water; mL/cmH2O; mL/cm H2O; mL per cmH2O; mL per cm H2O\",\"LOINC\",\"Compli\",\"Clinical\",\"unit used to measure dynamic lung compliance\",\"l\",null,\"1\",1,false],[false,\"milliliter per day\",\"mL/d\",\"ML/D\",\"volume\",1.1574074074074074e-11,[3,-1,0,0,0,0,0],\"mL/d\",\"iso1000\",true,null,null,1,false,false,0,\"ml/day; ml per day; milliliters per day; 24 hours; 24hrs; millilitre;\",\"LOINC\",\"VRat\",\"Clinical\",\"usually used to measure fluid output or input; flow rate\",\"l\",null,\"1\",1,false],[false,\"milliliter per deciliter\",\"mL/dL\",\"ML/DL\",\"volume\",0.009999999999999998,[0,0,0,0,0,0,0],\"mL/dL\",\"iso1000\",true,null,null,1,false,false,0,\"mL per dL; millilitres; decilitre; milliliters\",\"LOINC\",\"VFr; VFrDiff\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per hour\",\"mL/h\",\"ML/HR\",\"volume\",2.7777777777777777e-10,[3,-1,0,0,0,0,0],\"mL/h\",\"iso1000\",true,null,null,1,false,false,0,\"mL/hr; mL per hr; milliliters per hour; millilitres; fluid intake; fluid output\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per kilogram\",\"mL/kg\",\"ML/KG\",\"volume\",9.999999999999999e-10,[3,0,-1,0,0,0,0],\"mL/kg\",\"iso1000\",true,null,null,1,false,false,0,\"mL per kg; milliliters per kilogram; millilitres\",\"LOINC\",\"VCnt\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per kilogram per 8 hour\",\"mL/kg/(8.h)\",\"(ML/KG)/HR\",\"volume\",3.472222222222222e-14,[3,-1,-1,0,0,0,0],\"(mL/kg)/h\",\"iso1000\",true,null,null,1,false,false,0,\"mL/(8.h.kg); mL/kg/8hrs; mL/kg/8 hrs; mL per kg per 8hrs; 8 hrs; milliliters per kilograms per 8 hours; millilitres; shift\",\"LOINC\",\"VCntRat; RelEngRat\",\"Clinical\",\"unit used to measure renal excretion volume rate per body mass\",\"l\",null,\"1\",1,false],[false,\"milliliter per kilogram per day\",\"mL/kg/d\",\"(ML/KG)/D\",\"volume\",1.1574074074074072e-14,[3,-1,-1,0,0,0,0],\"(mL/kg)/d\",\"iso1000\",true,null,null,1,false,false,0,\"mL/(kg.d); mL/kg/dy; mL per kg per day; milliliters per kilograms per day; mg/kg/24hrs; 24 hrs; per 24 hours millilitres\",\"LOINC\",\"VCntRat; RelEngRat\",\"Clinical\",\"unit used to measure renal excretion volume rate per body mass\",\"l\",null,\"1\",1,false],[false,\"milliliter per kilogram per hour\",\"mL/kg/h\",\"(ML/KG)/HR\",\"volume\",2.7777777777777774e-13,[3,-1,-1,0,0,0,0],\"(mL/kg)/h\",\"iso1000\",true,null,null,1,false,false,0,\"mL/(kg.h); mL/kg/hr; mL per kg per hr; milliliters per kilograms per hour; millilitres\",\"LOINC\",\"VCntRat; RelEngRat\",\"Clinical\",\"unit used to measure renal excretion volume rate per body mass\",\"l\",null,\"1\",1,false],[false,\"milliliter per kilogram per minute\",\"mL/kg/min\",\"(ML/KG)/MIN\",\"volume\",1.6666666666666664e-11,[3,-1,-1,0,0,0,0],\"(mL/kg)/min\",\"iso1000\",true,null,null,1,false,false,0,\"mL/(kg.min); mL/kg/dy; mL per kg per day; milliliters per kilograms per day; millilitres\",\"LOINC\",\"RelEngRat\",\"Clinical\",\"used for tests that measure activity metabolic rate compared to standard resting metabolic rate \",\"l\",null,\"1\",1,false],[false,\"milliliter per square meter\",\"mL/m2\",\"ML/M2\",\"volume\",0.000001,[1,0,0,0,0,0,0],\"mL/(m2)\",\"iso1000\",true,null,null,1,false,false,0,\"mL/m^2; mL/sq. meter; mL per m2; m^2; sq. meter; milliliters per square meter; millilitres; meter squared\",\"LOINC\",\"ArVol\",\"Clinical\",\"used for tests that relate to heart work - e.g. ventricular stroke volume; atrial volume per body surface area\",\"l\",null,\"1\",1,false],[false,\"milliliter per millibar\",\"mL/mbar\",\"ML/MBAR\",\"volume\",1e-11,[4,2,-1,0,0,0,0],\"mL/mbar\",\"iso1000\",true,null,null,1,false,false,0,\"mL per mbar; milliliters per millibar; millilitres\",\"LOINC\",\"\",\"Clinical\",\"unit used to measure dynamic lung compliance\",\"l\",null,\"1\",1,false],[false,\"milliliter per minute\",\"mL/min\",\"ML/MIN\",\"volume\",1.6666666666666667e-8,[3,-1,0,0,0,0,0],\"mL/min\",\"iso1000\",true,null,null,1,false,false,0,\"mL per min; milliliters; millilitres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per minute per square meter\",\"mL/min/m2\",\"(ML/MIN)/M2\",\"volume\",1.6666666666666667e-8,[1,-1,0,0,0,0,0],\"(mL/min)/(m2)\",\"iso1000\",true,null,null,1,false,false,0,\"ml/min/m^2; ml/min/sq. meter; mL per min per m2; m^2; sq. meter; milliliters per minutes per square meter; millilitres; metre; meter squared\",\"LOINC\",\"ArVRat\",\"Clinical\",\"unit used to measure volume per body surface area; oxygen consumption index\",\"l\",null,\"1\",1,false],[false,\"milliliter per millimeter\",\"mL/mm\",\"ML/MM\",\"volume\",0.001,[2,0,0,0,0,0,0],\"mL/mm\",\"iso1000\",true,null,null,1,false,false,0,\"mL per mm; milliliters per millimeter; millilitres; millimetre\",\"LOINC\",\"Lineic Volume\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per second\",\"mL/s\",\"ML/S\",\"volume\",0.000001,[3,-1,0,0,0,0,0],\"mL/s\",\"iso1000\",true,null,null,1,false,false,0,\"ml/sec; mL per sec; milliliters per second; millilitres\",\"LOINC\",\"Vel; VelRat; VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[true,\"millimeter\",\"mm\",\"MM\",\"length\",0.001,[1,0,0,0,0,0,0],\"mm\",null,false,\"L\",null,1,false,false,0,\"millimeters; millimetres; height; length; diameter; thickness; axis; curvature; size\",\"LOINC\",\"Len\",\"Clinical\",\"\",null,null,null,null,false],[true,\"millimeter per hour\",\"mm/h\",\"MM/HR\",\"length\",2.7777777777777776e-7,[1,-1,0,0,0,0,0],\"mm/h\",null,false,\"L\",null,1,false,false,0,\"mm/hr; mm per hr; millimeters per hour; millimetres\",\"LOINC\",\"Vel\",\"Clinical\",\"unit to measure sedimentation rate\",null,null,null,null,false],[true,\"millimeter per minute\",\"mm/min\",\"MM/MIN\",\"length\",0.000016666666666666667,[1,-1,0,0,0,0,0],\"mm/min\",null,false,\"L\",null,1,false,false,0,\"mm per min; millimeters per minute; millimetres\",\"LOINC\",\"Vel\",\"Clinical\",\"\",null,null,null,null,false],[false,\"millimeter of water\",\"mm[H2O]\",\"MM[H2O]\",\"pressure\",9806.65,[-1,-2,1,0,0,0,0],\"mm HO2\",\"clinical\",true,null,null,1,false,false,0,\"mmH2O; mm H2O; millimeters of water; millimetres\",\"LOINC\",\"Pres\",\"Clinical\",\"\",\"kPa\",\"KPAL\",\"980665e-5\",9.80665,false],[false,\"millimeter of mercury\",\"mm[Hg]\",\"MM[HG]\",\"pressure\",133322,[-1,-2,1,0,0,0,0],\"mm Hg\",\"clinical\",true,null,null,1,false,false,0,\"mmHg; mm Hg; millimeters of mercury; millimetres\",\"LOINC\",\"Pres; PPres; Ratio\",\"Clinical\",\"1 mm[Hg] = 1 torr; unit to measure blood pressure\",\"kPa\",\"KPAL\",\"133.3220\",133.322,false],[true,\"square millimeter\",\"mm2\",\"MM2\",\"length\",0.000001,[2,0,0,0,0,0,0],\"mm2\",null,false,\"L\",null,1,false,false,0,\"mm^2; sq. mm.; sq. millimeters; millimeters squared; millimetres\",\"LOINC\",\"Area\",\"Clinical\",\"\",null,null,null,null,false],[false,\"millimole\",\"mmol\",\"MMOL\",\"amount of substance\",602213670000000000000,[0,0,0,0,0,0,0],\"mmol\",\"si\",true,null,null,1,false,false,1,\"millimoles\",\"LOINC\",\"Sub\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per 12 hour\",\"mmol/(12.h)\",\"MMOL/HR\",\"amount of substance\",13940131250000000,[0,-1,0,0,0,0,0],\"mmol/h\",\"si\",true,null,null,1,false,false,1,\"mmol/12hrs; mmol/12 hrs; mmol per 12 hrs; 12hrs; millimoles per 12 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"unit for tests related to urine\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per 2 hour\",\"mmol/(2.h)\",\"MMOL/HR\",\"amount of substance\",83640787500000000,[0,-1,0,0,0,0,0],\"mmol/h\",\"si\",true,null,null,1,false,false,1,\"mmol/2hrs; mmol/2 hrs; mmol per 2 hrs; 2hrs; millimoles per 2 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"unit for tests related to urine\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per 24 hour\",\"mmol/(24.h)\",\"MMOL/HR\",\"amount of substance\",6970065625000000,[0,-1,0,0,0,0,0],\"mmol/h\",\"si\",true,null,null,1,false,false,1,\"mmol/24hrs; mmol/24 hrs; mmol per 24 hrs; 24hrs; millimoles per 24 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per 5 hour\",\"mmol/(5.h)\",\"MMOL/HR\",\"amount of substance\",33456315000000000,[0,-1,0,0,0,0,0],\"mmol/h\",\"si\",true,null,null,1,false,false,1,\"mmol/5hrs; mmol/5 hrs; mmol per 5 hrs; 5hrs; millimoles per 5 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"unit for tests related to doses\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per 6 hour\",\"mmol/(6.h)\",\"MMOL/HR\",\"amount of substance\",27880262500000000,[0,-1,0,0,0,0,0],\"mmol/h\",\"si\",true,null,null,1,false,false,1,\"mmol/6hrs; mmol/6 hrs; mmol per 6 hrs; 6hrs; millimoles per 6 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"unit for tests related to urine\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per 8 hour\",\"mmol/(8.h)\",\"MMOL/HR\",\"amount of substance\",20910196875000000,[0,-1,0,0,0,0,0],\"mmol/h\",\"si\",true,null,null,1,false,false,1,\"mmol/8hrs; mmol/8 hrs; mmol per 8 hrs; 8hrs; millimoles per 8 hours; shift\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per day\",\"mmol/d\",\"MMOL/D\",\"amount of substance\",6970065625000000,[0,-1,0,0,0,0,0],\"mmol/d\",\"si\",true,null,null,1,false,false,1,\"mmol/24hrs; mmol/24 hrs; mmol per 24 hrs; 24hrs; millimoles per 24 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per deciliter\",\"mmol/dL\",\"MMOL/DL\",\"amount of substance\",6.022136699999999e+24,[-3,0,0,0,0,0,0],\"mmol/dL\",\"si\",true,null,null,1,false,false,1,\"mmol per dL; millimoles; decilitre\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per gram\",\"mmol/g\",\"MMOL/G\",\"amount of substance\",602213670000000000000,[0,0,-1,0,0,0,0],\"mmol/g\",\"si\",true,null,null,1,false,false,1,\"mmol per gram; millimoles\",\"LOINC\",\"SCnt\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per hour\",\"mmol/h\",\"MMOL/HR\",\"amount of substance\",167281575000000000,[0,-1,0,0,0,0,0],\"mmol/h\",\"si\",true,null,null,1,false,false,1,\"mmol/hr; mmol per hr; millimoles per hour\",\"LOINC\",\"SRat\",\"Clinical\",\"unit for tests related to urine\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per kilogram\",\"mmol/kg\",\"MMOL/KG\",\"amount of substance\",602213670000000000,[0,0,-1,0,0,0,0],\"mmol/kg\",\"si\",true,null,null,1,false,false,1,\"mmol per kg; millimoles per kilogram\",\"LOINC\",\"SCnt\",\"Clinical\",\"unit for tests related to stool\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per kilogram per 8 hour\",\"mmol/kg/(8.h)\",\"(MMOL/KG)/HR\",\"amount of substance\",20910196875000,[0,-1,-1,0,0,0,0],\"(mmol/kg)/h\",\"si\",true,null,null,1,false,false,1,\"mmol/(8.h.kg); mmol/kg/8hrs; mmol/kg/8 hrs; mmol per kg per 8hrs; 8 hrs; millimoles per kilograms per 8 hours; shift\",\"LOINC\",\"CCnt\",\"Clinical\",\"unit used to measure molar dose rate per patient body mass\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per kilogram per day\",\"mmol/kg/d\",\"(MMOL/KG)/D\",\"amount of substance\",6970065625000,[0,-1,-1,0,0,0,0],\"(mmol/kg)/d\",\"si\",true,null,null,1,false,false,1,\"mmol/kg/dy; mmol/kg/day; mmol per kg per dy; millimoles per kilograms per day\",\"LOINC\",\"RelSRat\",\"Clinical\",\"unit used to measure molar dose rate per patient body mass\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per kilogram per hour\",\"mmol/kg/h\",\"(MMOL/KG)/HR\",\"amount of substance\",167281575000000,[0,-1,-1,0,0,0,0],\"(mmol/kg)/h\",\"si\",true,null,null,1,false,false,1,\"mmol/kg/hr; mmol per kg per hr; millimoles per kilograms per hour\",\"LOINC\",\"CCnt\",\"Clinical\",\"unit used to measure molar dose rate per patient body mass\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per kilogram per minute\",\"mmol/kg/min\",\"(MMOL/KG)/MIN\",\"amount of substance\",10036894500000000,[0,-1,-1,0,0,0,0],\"(mmol/kg)/min\",\"si\",true,null,null,1,false,false,1,\"mmol/(kg.min); mmol/kg/min; mmol per kg per min; millimoles per kilograms per minute\",\"LOINC\",\"CCnt\",\"Clinical\",\"unit used to measure molar dose rate per patient body mass; note that the unit for the enzyme unit U = umol/min. mmol/kg/min = kU/kg; \",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per liter\",\"mmol/L\",\"MMOL/L\",\"amount of substance\",6.0221367e+23,[-3,0,0,0,0,0,0],\"mmol/L\",\"si\",true,null,null,1,false,false,1,\"mmol per L; millimoles per liter; litre\",\"LOINC\",\"SCnc\",\"Clinical\",\"unit for tests related to doses\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per square meter\",\"mmol/m2\",\"MMOL/M2\",\"amount of substance\",602213670000000000000,[-2,0,0,0,0,0,0],\"mmol/(m2)\",\"si\",true,null,null,1,false,false,1,\"mmol/m^2; mmol/sq. meter; mmol per m2; m^2; sq. meter; millimoles; meter squared; metre\",\"LOINC\",\"ArSub\",\"Clinical\",\"unit used to measure molar dose per patient body surface area\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per minute\",\"mmol/min\",\"MMOL/MIN\",\"amount of substance\",10036894500000000000,[0,-1,0,0,0,0,0],\"mmol/min\",\"si\",true,null,null,1,false,false,1,\"mmol per min; millimoles per minute\",\"LOINC\",\"Srat; CAct\",\"Clinical\",\"unit for the enzyme unit U = umol/min. mmol/min = kU\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per millimole\",\"mmol/mmol\",\"MMOL/MMOL\",\"amount of substance\",1,[0,0,0,0,0,0,0],\"mmol/mmol\",\"si\",true,null,null,1,false,false,0,\"mmol per mmol; millimoles per millimole\",\"LOINC\",\"SRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per mole\",\"mmol/mol\",\"MMOL/MOL\",\"amount of substance\",0.001,[0,0,0,0,0,0,0],\"mmol/mol\",\"si\",true,null,null,1,false,false,0,\"mmol per mol; millimoles per mole\",\"LOINC\",\"SRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per second per liter\",\"mmol/s/L\",\"(MMOL/S)/L\",\"amount of substance\",6.0221367e+23,[-3,-1,0,0,0,0,0],\"(mmol/s)/L\",\"si\",true,null,null,1,false,false,1,\"mmol/sec/L; mmol per s per L; per sec; millimoles per seconds per liter; litre\",\"LOINC\",\"CCnc \",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"mole per kilogram\",\"mol/kg\",\"MOL/KG\",\"amount of substance\",602213670000000000000,[0,0,-1,0,0,0,0],\"mol/kg\",\"si\",true,null,null,1,false,false,1,\"mol per kg; moles; mols\",\"LOINC\",\"SCnt\",\"Clinical\",\"unit for tests related to stool\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"mole per kilogram per second\",\"mol/kg/s\",\"(MOL/KG)/S\",\"amount of substance\",602213670000000000000,[0,-1,-1,0,0,0,0],\"(mol/kg)/s\",\"si\",true,null,null,1,false,false,1,\"mol/kg/sec; mol per kg per sec; moles per kilograms per second; mols\",\"LOINC\",\"CCnt\",\"Clinical\",\"unit of catalytic activity (mol/s) per mass (kg)\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"mole per liter\",\"mol/L\",\"MOL/L\",\"amount of substance\",6.0221366999999994e+26,[-3,0,0,0,0,0,0],\"mol/L\",\"si\",true,null,null,1,false,false,1,\"mol per L; moles per liter; litre; moles; mols\",\"LOINC\",\"SCnc\",\"Clinical\",\"unit often used in tests measuring oxygen content\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"mole per cubic meter\",\"mol/m3\",\"MOL/M3\",\"amount of substance\",6.0221367e+23,[-3,0,0,0,0,0,0],\"mol/(m3)\",\"si\",true,null,null,1,false,false,1,\"mol/m^3; mol/cu. m; mol per m3; m^3; cu. meter; mols; moles; meters cubed; metre; mole per kiloliter; kilolitre; mol/kL\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"mole per milliliter\",\"mol/mL\",\"MOL/ML\",\"amount of substance\",6.0221367e+29,[-3,0,0,0,0,0,0],\"mol/mL\",\"si\",true,null,null,1,false,false,1,\"mol per mL; moles; millilitre; mols\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"mole per mole\",\"mol/mol\",\"MOL/MOL\",\"amount of substance\",1,[0,0,0,0,0,0,0],\"mol/mol\",\"si\",true,null,null,1,false,false,0,\"mol per mol; moles per mol; mols\",\"LOINC\",\"SRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"mole per second\",\"mol/s\",\"MOL/S\",\"amount of substance\",6.0221367e+23,[0,-1,0,0,0,0,0],\"mol/s\",\"si\",true,null,null,1,false,false,1,\"mol per sec; moles per second; mols\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"milliosmole\",\"mosm\",\"MOSM\",\"amount of substance (dissolved particles)\",602213670000000000000,[0,0,0,0,0,0,0],\"mosm\",\"chemical\",true,null,null,1,false,false,1,\"milliosmoles\",\"LOINC\",\"Osmol\",\"Clinical\",\"equal to 1/1000 of an osmole\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliosmole per kilogram\",\"mosm/kg\",\"MOSM/KG\",\"amount of substance (dissolved particles)\",602213670000000000,[0,0,-1,0,0,0,0],\"mosm/kg\",\"chemical\",true,null,null,1,false,false,1,\"mosm per kg; milliosmoles per kilogram\",\"LOINC\",\"Osmol\",\"Clinical\",\"\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliosmole per liter\",\"mosm/L\",\"MOSM/L\",\"amount of substance (dissolved particles)\",6.0221367e+23,[-3,0,0,0,0,0,0],\"mosm/L\",\"chemical\",true,null,null,1,false,false,1,\"mosm per liter; litre; milliosmoles\",\"LOINC\",\"Osmol\",\"Clinical\",\"\",\"mol\",\"MOL\",\"1\",1,false],[false,\"millipascal\",\"mPa\",\"MPAL\",\"pressure\",1,[-1,-2,1,0,0,0,0],\"mPa\",\"si\",true,null,null,1,false,false,0,\"millipascals\",\"LOINC\",\"Pres\",\"Clinical\",\"unit of pressure\",\"N/m2\",\"N/M2\",\"1\",1,false],[false,\"millipascal second\",\"mPa.s\",\"MPAL.S\",\"pressure\",1,[-1,-1,1,0,0,0,0],\"mPa.s\",\"si\",true,null,null,1,false,false,0,\"mPa*s; millipoise; mP; dynamic viscosity\",\"LOINC\",\"Visc\",\"Clinical\",\"base units for millipoise, a measurement of dynamic viscosity\",\"N/m2\",\"N/M2\",\"1\",1,false],[true,\"megasecond\",\"Ms\",\"MAS\",\"time\",1000000,[0,1,0,0,0,0,0],\"Ms\",null,false,\"T\",null,1,false,false,0,\"megaseconds\",\"LOINC\",\"Time\",\"Clinical\",\"\",null,null,null,null,false],[true,\"millisecond\",\"ms\",\"MS\",\"time\",0.001,[0,1,0,0,0,0,0],\"ms\",null,false,\"T\",null,1,false,false,0,\"milliseconds; duration\",\"LOINC\",\"Time\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milli enzyme unit per gram\",\"mU/g\",\"MU/G\",\"catalytic activity\",10036894500000,[0,-1,-1,0,0,0,0],\"mU/g\",\"chemical\",true,null,null,1,false,false,1,\"mU per gm; milli enzyme units per gram; enzyme activity; enzymatic activity per mass\",\"LOINC\",\"CCnt\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"milli enzyme unit per liter\",\"mU/L\",\"MU/L\",\"catalytic activity\",10036894500000000,[-3,-1,0,0,0,0,0],\"mU/L\",\"chemical\",true,null,null,1,false,false,1,\"mU per liter; litre; milli enzyme units enzymatic activity per volume; enzyme activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"milli enzyme unit per milligram\",\"mU/mg\",\"MU/MG\",\"catalytic activity\",10036894500000000,[0,-1,-1,0,0,0,0],\"mU/mg\",\"chemical\",true,null,null,1,false,false,1,\"mU per mg; milli enzyme units per milligram\",\"LOINC\",\"CCnt\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"milli enzyme unit per milliliter\",\"mU/mL\",\"MU/ML\",\"catalytic activity\",10036894500000000000,[-3,-1,0,0,0,0,0],\"mU/mL\",\"chemical\",true,null,null,1,false,false,1,\"mU per mL; milli enzyme units per milliliter; millilitre; enzymatic activity per volume; enzyme activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"milli enzyme unit per milliliter per minute\",\"mU/mL/min\",\"(MU/ML)/MIN\",\"catalytic activity\",167281575000000000,[-3,-2,0,0,0,0,0],\"(mU/mL)/min\",\"chemical\",true,null,null,1,false,false,1,\"mU per mL per min; mU per milliliters per minute; millilitres; milli enzyme units; enzymatic activity; enzyme activity\",\"LOINC\",\"CCncRat\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"millivolt\",\"mV\",\"MV\",\"electric potential\",1,[2,-2,1,0,0,-1,0],\"mV\",\"si\",true,null,null,1,false,false,0,\"millivolts\",\"LOINC\",\"Elpot\",\"Clinical\",\"unit of electric potential (voltage)\",\"J/C\",\"J/C\",\"1\",1,false],[false,\"Newton centimeter\",\"N.cm\",\"N.CM\",\"force\",10,[2,-2,1,0,0,0,0],\"N.cm\",\"si\",true,null,null,1,false,false,0,\"N*cm; Ncm; N cm; Newton*centimeters; Newton* centimetres; torque; work\",\"LOINC\",\"\",\"Clinical\",\"as a measurement of work, N.cm = 1/100 Joules;\\\\nnote that N.m is the standard unit of measurement for torque (although dimensionally equivalent to Joule), and N.cm can also be thought of as a torqe unit\",\"kg.m/s2\",\"KG.M/S2\",\"1\",1,false],[false,\"Newton second\",\"N.s\",\"N.S\",\"force\",1000,[1,-1,1,0,0,0,0],\"N.s\",\"si\",true,null,null,1,false,false,0,\"Newton*seconds; N*s; N s; Ns; impulse; imp\",\"LOINC\",\"\",\"Clinical\",\"standard unit of impulse\",\"kg.m/s2\",\"KG.M/S2\",\"1\",1,false],[true,\"nanogram\",\"ng\",\"NG\",\"mass\",1e-9,[0,0,1,0,0,0,0],\"ng\",null,false,\"M\",null,1,false,false,0,\"nanograms\",\"LOINC\",\"Mass\",\"Clinical\",\"\",null,null,null,null,false],[true,\"nanogram per 24 hour\",\"ng/(24.h)\",\"NG/HR\",\"mass\",1.1574074074074075e-14,[0,-1,1,0,0,0,0],\"ng/h\",null,false,\"M\",null,1,false,false,0,\"ng/24hrs; ng/24 hrs; nanograms per 24 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"nanogram per 8 hour\",\"ng/(8.h)\",\"NG/HR\",\"mass\",3.4722222222222224e-14,[0,-1,1,0,0,0,0],\"ng/h\",null,false,\"M\",null,1,false,false,0,\"ng/8hrs; ng/8 hrs; nanograms per 8 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"nanogram per million\",\"ng/10*6\",\"NG/(10*6)\",\"mass\",1e-15,[0,0,1,0,0,0,0],\"ng/(106)\",null,false,\"M\",null,1,false,false,0,\"ng/10^6; ng per 10*6; 10^6; nanograms\",\"LOINC\",\"MNum\",\"Clinical\",\"\",null,null,null,null,false],[true,\"nanogram per day\",\"ng/d\",\"NG/D\",\"mass\",1.1574074074074075e-14,[0,-1,1,0,0,0,0],\"ng/d\",null,false,\"M\",null,1,false,false,0,\"ng/dy; ng per day; nanograms \",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"nanogram per deciliter\",\"ng/dL\",\"NG/DL\",\"mass\",0.00001,[-3,0,1,0,0,0,0],\"ng/dL\",null,false,\"M\",null,1,false,false,0,\"ng per dL; nanograms per deciliter; decilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[true,\"nanogram per gram\",\"ng/g\",\"NG/G\",\"mass\",1e-9,[0,0,0,0,0,0,0],\"ng/g\",null,false,\"M\",null,1,false,false,0,\"ng/gm; ng per gm; nanograms per gram\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[true,\"nanogram per hour\",\"ng/h\",\"NG/HR\",\"mass\",2.777777777777778e-13,[0,-1,1,0,0,0,0],\"ng/h\",null,false,\"M\",null,1,false,false,0,\"ng/hr; ng per hr; nanograms per hour\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"nanogram per kilogram\",\"ng/kg\",\"NG/KG\",\"mass\",1e-12,[0,0,0,0,0,0,0],\"ng/kg\",null,false,\"M\",null,1,false,false,0,\"ng per kg; nanograms per kilogram\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[true,\"nanogram per kilogram per 8 hour\",\"ng/kg/(8.h)\",\"(NG/KG)/HR\",\"mass\",3.472222222222222e-17,[0,-1,0,0,0,0,0],\"(ng/kg)/h\",null,false,\"M\",null,1,false,false,0,\"ng/(8.h.kg); ng/kg/8hrs; ng/kg/8 hrs; ng per kg per 8hrs; 8 hrs; nanograms per kilograms per 8 hours; shift\",\"LOINC\",\"MRtoRat \",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[true,\"nanogram per kilogram per hour\",\"ng/kg/h\",\"(NG/KG)/HR\",\"mass\",2.7777777777777775e-16,[0,-1,0,0,0,0,0],\"(ng/kg)/h\",null,false,\"M\",null,1,false,false,0,\"ng/(kg.h); ng/kg/hr; ng per kg per hr; nanograms per kilograms per hour\",\"LOINC\",\"MRtoRat \",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[true,\"nanogram per kilogram per minute\",\"ng/kg/min\",\"(NG/KG)/MIN\",\"mass\",1.6666666666666667e-14,[0,-1,0,0,0,0,0],\"(ng/kg)/min\",null,false,\"M\",null,1,false,false,0,\"ng/(kg.min); ng per kg per min; nanograms per kilograms per minute\",\"LOINC\",\"MRtoRat \",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[true,\"nanogram per liter\",\"ng/L\",\"NG/L\",\"mass\",0.000001,[-3,0,1,0,0,0,0],\"ng/L\",null,false,\"M\",null,1,false,false,0,\"ng per L; nanograms per liter; litre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[true,\"nanogram per square meter\",\"ng/m2\",\"NG/M2\",\"mass\",1e-9,[-2,0,1,0,0,0,0],\"ng/(m2)\",null,false,\"M\",null,1,false,false,0,\"ng/m^2; ng/sq. m; ng per m2; m^2; sq. meter; nanograms; meter squared; metre\",\"LOINC\",\"ArMass\",\"Clinical\",\"unit used to measure mass dose per patient body surface area\",null,null,null,null,false],[true,\"nanogram per milligram\",\"ng/mg\",\"NG/MG\",\"mass\",0.000001,[0,0,0,0,0,0,0],\"ng/mg\",null,false,\"M\",null,1,false,false,0,\"ng per mg; nanograms\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[true,\"nanogram per milligram per hour\",\"ng/mg/h\",\"(NG/MG)/HR\",\"mass\",2.7777777777777777e-10,[0,-1,0,0,0,0,0],\"(ng/mg)/h\",null,false,\"M\",null,1,false,false,0,\"ng/mg/hr; ng per mg per hr; nanograms per milligrams per hour\",\"LOINC\",\"MRtoRat \",\"Clinical\",\"\",null,null,null,null,false],[true,\"nanogram per minute\",\"ng/min\",\"NG/MIN\",\"mass\",1.6666666666666667e-11,[0,-1,1,0,0,0,0],\"ng/min\",null,false,\"M\",null,1,false,false,0,\"ng per min; nanograms\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"nanogram per millliiter\",\"ng/mL\",\"NG/ML\",\"mass\",0.001,[-3,0,1,0,0,0,0],\"ng/mL\",null,false,\"M\",null,1,false,false,0,\"ng per mL; nanograms; millilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[true,\"nanogram per milliliter per hour\",\"ng/mL/h\",\"(NG/ML)/HR\",\"mass\",2.7777777777777776e-7,[-3,-1,1,0,0,0,0],\"(ng/mL)/h\",null,false,\"M\",null,1,false,false,0,\"ng/mL/hr; ng per mL per mL; nanograms per milliliter per hour; nanogram per millilitre per hour; nanograms per millilitre per hour; enzymatic activity per volume; enzyme activity per milliliters\",\"LOINC\",\"CCnc\",\"Clinical\",\"tests that measure enzymatic activity\",null,null,null,null,false],[true,\"nanogram per second\",\"ng/s\",\"NG/S\",\"mass\",1e-9,[0,-1,1,0,0,0,0],\"ng/s\",null,false,\"M\",null,1,false,false,0,\"ng/sec; ng per sec; nanograms per second\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"nanogram per enzyme unit\",\"ng/U\",\"NG/U\",\"mass\",9.963241120049634e-26,[0,1,1,0,0,0,0],\"ng/U\",null,false,\"M\",null,1,false,false,-1,\"ng per U; nanograms per enzyme unit\",\"LOINC\",\"CMass\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",null,null,null,null,false],[false,\"nanokatal\",\"nkat\",\"NKAT\",\"catalytic activity\",602213670000000,[0,-1,0,0,0,0,0],\"nkat\",\"chemical\",true,null,null,1,false,false,1,\"nanokatals\",\"LOINC\",\"CAct\",\"Clinical\",\"kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.\",\"mol/s\",\"MOL/S\",\"1\",1,false],[false,\"nanoliter\",\"nL\",\"NL\",\"volume\",1.0000000000000002e-12,[3,0,0,0,0,0,0],\"nL\",\"iso1000\",true,null,null,1,false,false,0,\"nanoliters; nanolitres\",\"LOINC\",\"Vol\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[true,\"nanometer\",\"nm\",\"NM\",\"length\",1e-9,[1,0,0,0,0,0,0],\"nm\",null,false,\"L\",null,1,false,false,0,\"nanometers; nanometres\",\"LOINC\",\"Len\",\"Clinical\",\"\",null,null,null,null,false],[true,\"nanometer per second per liter\",\"nm/s/L\",\"(NM/S)/L\",\"length\",0.000001,[-2,-1,0,0,0,0,0],\"(nm/s)/L\",null,false,\"L\",null,1,false,false,0,\"nm/sec/liter; nm/sec/litre; nm per s per l; nm per sec per l; nanometers per second per liter; nanometre per second per litre; nanometres per second per litre\",\"LOINC\",\"VelCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"nanomole\",\"nmol\",\"NMOL\",\"amount of substance\",602213670000000,[0,0,0,0,0,0,0],\"nmol\",\"si\",true,null,null,1,false,false,1,\"nanomoles\",\"LOINC\",\"Sub\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per 24 hour\",\"nmol/(24.h)\",\"NMOL/HR\",\"amount of substance\",6970065625,[0,-1,0,0,0,0,0],\"nmol/h\",\"si\",true,null,null,1,false,false,1,\"nmol/24hr; nmol/24 hr; nanomoles per 24 hours; nmol/day; nanomoles per day; nmol per day; nanomole/day; nanomol/day\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per day\",\"nmol/d\",\"NMOL/D\",\"amount of substance\",6970065625,[0,-1,0,0,0,0,0],\"nmol/d\",\"si\",true,null,null,1,false,false,1,\"nmol/day; nanomoles per day; nmol per day; nanomole/day; nanomol/day; nmol/24hr; nmol/24 hr; nanomoles per 24 hours; \",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per deciliter\",\"nmol/dL\",\"NMOL/DL\",\"amount of substance\",6022136700000000000,[-3,0,0,0,0,0,0],\"nmol/dL\",\"si\",true,null,null,1,false,false,1,\"nmol per dL; nanomoles per deciliter; nanomole per decilitre; nanomoles per decilitre; nanomole/deciliter; nanomole/decilitre; nanomol/deciliter; nanomol/decilitre\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per gram\",\"nmol/g\",\"NMOL/G\",\"amount of substance\",602213670000000,[0,0,-1,0,0,0,0],\"nmol/g\",\"si\",true,null,null,1,false,false,1,\"nmol per gram; nanomoles per gram; nanomole/gram\",\"LOINC\",\"SCnt\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per hour per liter\",\"nmol/h/L\",\"(NMOL/HR)/L\",\"amount of substance\",167281575000000,[-3,-1,0,0,0,0,0],\"(nmol/h)/L\",\"si\",true,null,null,1,false,false,1,\"nmol/hrs/L; nmol per hrs per L; nanomoles per hours per liter; litre; enzymatic activity per volume; enzyme activities\",\"LOINC\",\"CCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per liter\",\"nmol/L\",\"NMOL/L\",\"amount of substance\",602213670000000000,[-3,0,0,0,0,0,0],\"nmol/L\",\"si\",true,null,null,1,false,false,1,\"nmol per L; nanomoles per liter; litre\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per milligram\",\"nmol/mg\",\"NMOL/MG\",\"amount of substance\",602213670000000000,[0,0,-1,0,0,0,0],\"nmol/mg\",\"si\",true,null,null,1,false,false,1,\"nmol per mg; nanomoles per milligram\",\"LOINC\",\"SCnt\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per milligram per hour\",\"nmol/mg/h\",\"(NMOL/MG)/HR\",\"amount of substance\",167281575000000,[0,-1,-1,0,0,0,0],\"(nmol/mg)/h\",\"si\",true,null,null,1,false,false,1,\"nmol/mg/hr; nmol per mg per hr; nanomoles per milligrams per hour\",\"LOINC\",\"SCntRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per milligram of protein\",\"nmol/mg{prot}\",\"NMOL/MG\",\"amount of substance\",602213670000000000,[0,0,-1,0,0,0,0],\"nmol/mg\",\"si\",true,null,null,1,false,false,1,\"nanomoles; nmol/mg prot; nmol per mg prot\",\"LOINC\",\"Ratio; CCnt\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per minute\",\"nmol/min\",\"NMOL/MIN\",\"amount of substance\",10036894500000,[0,-1,0,0,0,0,0],\"nmol/min\",\"si\",true,null,null,1,false,false,1,\"nmol per min; nanomoles per minute; milli enzyme units; enzyme activity per volume; enzymatic activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min. nmol/min = mU (milli enzyme unit)\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per minute per milliliter\",\"nmol/min/mL\",\"(NMOL/MIN)/ML\",\"amount of substance\",10036894500000000000,[-3,-1,0,0,0,0,0],\"(nmol/min)/mL\",\"si\",true,null,null,1,false,false,1,\"nmol per min per mL; nanomoles per minutes per milliliter; millilitre; milli enzyme units per volume; enzyme activity; enzymatic activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min. nmol/mL/min = mU/mL\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per milliliter\",\"nmol/mL\",\"NMOL/ML\",\"amount of substance\",602213670000000000000,[-3,0,0,0,0,0,0],\"nmol/mL\",\"si\",true,null,null,1,false,false,1,\"nmol per mL; nanomoles per milliliter; millilitre\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per milliliter per hour\",\"nmol/mL/h\",\"(NMOL/ML)/HR\",\"amount of substance\",167281575000000000,[-3,-1,0,0,0,0,0],\"(nmol/mL)/h\",\"si\",true,null,null,1,false,false,1,\"nmol/mL/hr; nmol per mL per hr; nanomoles per milliliters per hour; millilitres; milli enzyme units per volume; enzyme activity; enzymatic activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min.\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per milliliter per minute\",\"nmol/mL/min\",\"(NMOL/ML)/MIN\",\"amount of substance\",10036894500000000000,[-3,-1,0,0,0,0,0],\"(nmol/mL)/min\",\"si\",true,null,null,1,false,false,1,\"nmol per mL per min; nanomoles per milliliters per min; millilitres; milli enzyme units per volume; enzyme activity; enzymatic activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min. nmol/mL/min = mU/mL\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per millimole\",\"nmol/mmol\",\"NMOL/MMOL\",\"amount of substance\",0.000001,[0,0,0,0,0,0,0],\"nmol/mmol\",\"si\",true,null,null,1,false,false,0,\"nmol per mmol; nanomoles per millimole\",\"LOINC\",\"SRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per millimole of creatinine\",\"nmol/mmol{creat}\",\"NMOL/MMOL\",\"amount of substance\",0.000001,[0,0,0,0,0,0,0],\"nmol/mmol\",\"si\",true,null,null,1,false,false,0,\"nanomoles\",\"LOINC\",\"SRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per mole\",\"nmol/mol\",\"NMOL/MOL\",\"amount of substance\",1e-9,[0,0,0,0,0,0,0],\"nmol/mol\",\"si\",true,null,null,1,false,false,0,\"nmol per mole; nanomoles\",\"LOINC\",\"SRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per nanomole\",\"nmol/nmol\",\"NMOL/NMOL\",\"amount of substance\",1,[0,0,0,0,0,0,0],\"nmol/nmol\",\"si\",true,null,null,1,false,false,0,\"nmol per nmol; nanomoles\",\"LOINC\",\"SRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per second\",\"nmol/s\",\"NMOL/S\",\"amount of substance\",602213670000000,[0,-1,0,0,0,0,0],\"nmol/s\",\"si\",true,null,null,1,false,false,1,\"nmol/sec; nmol per sec; nanomoles per sercond; milli enzyme units; enzyme activity; enzymatic activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min.\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per second per liter\",\"nmol/s/L\",\"(NMOL/S)/L\",\"amount of substance\",602213670000000000,[-3,-1,0,0,0,0,0],\"(nmol/s)/L\",\"si\",true,null,null,1,false,false,1,\"nmol/sec/L; nmol per s per L; nmol per sec per L; nanomoles per seconds per liter; litre; milli enzyme units per volume; enzyme activity; enzymatic activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min.\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[true,\"nanosecond\",\"ns\",\"NS\",\"time\",1e-9,[0,1,0,0,0,0,0],\"ns\",null,false,\"T\",null,1,false,false,0,\"nanoseconds\",\"LOINC\",\"Time\",\"Clinical\",\"\",null,null,null,null,false],[false,\"nanoenzyme unit per milliliter\",\"nU/mL\",\"NU/ML\",\"catalytic activity\",10036894500000,[-3,-1,0,0,0,0,0],\"nU/mL\",\"chemical\",true,null,null,1,false,false,1,\"nU per mL; nanoenzyme units per milliliter; millilitre; enzymatic activity per volume; enzyme activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 fU = pmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"Ohm meter\",\"Ohm.m\",\"OHM.M\",\"electric resistance\",1000,[3,-1,1,0,0,-2,0],\"Ω.m\",\"si\",true,null,null,1,false,false,0,\"electric resistivity; meters; metres\",\"LOINC\",\"\",\"Clinical\",\"unit of electric resistivity\",\"V/A\",\"V/A\",\"1\",1,false],[false,\"osmole per kilogram\",\"osm/kg\",\"OSM/KG\",\"amount of substance (dissolved particles)\",602213670000000000000,[0,0,-1,0,0,0,0],\"osm/kg\",\"chemical\",true,null,null,1,false,false,1,\"osm per kg; osmoles per kilogram; osmols\",\"LOINC\",\"Osmol\",\"Clinical\",\"\",\"mol\",\"MOL\",\"1\",1,false],[false,\"osmole per liter\",\"osm/L\",\"OSM/L\",\"amount of substance (dissolved particles)\",6.0221366999999994e+26,[-3,0,0,0,0,0,0],\"osm/L\",\"chemical\",true,null,null,1,false,false,1,\"osm per L; osmoles per liter; litre; osmols\",\"LOINC\",\"Osmol\",\"Clinical\",\"\",\"mol\",\"MOL\",\"1\",1,false],[false,\"picoampere\",\"pA\",\"PA\",\"electric current\",1e-12,[0,-1,0,0,0,1,0],\"pA\",\"si\",true,null,null,1,false,false,0,\"picoamperes\",\"LOINC\",\"\",\"Clinical\",\"equal to 10^-12 amperes\",\"C/s\",\"C/S\",\"1\",1,false],[true,\"picogram\",\"pg\",\"PG\",\"mass\",1e-12,[0,0,1,0,0,0,0],\"pg\",null,false,\"M\",null,1,false,false,0,\"picograms\",\"LOINC\",\"Mass; EntMass\",\"Clinical\",\"\",null,null,null,null,false],[true,\"picogram per deciliter\",\"pg/dL\",\"PG/DL\",\"mass\",9.999999999999999e-9,[-3,0,1,0,0,0,0],\"pg/dL\",null,false,\"M\",null,1,false,false,0,\"pg per dL; picograms; decilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[true,\"picogram per liter\",\"pg/L\",\"PG/L\",\"mass\",1e-9,[-3,0,1,0,0,0,0],\"pg/L\",null,false,\"M\",null,1,false,false,0,\"pg per L; picograms; litre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[true,\"picogram per milligram\",\"pg/mg\",\"PG/MG\",\"mass\",1e-9,[0,0,0,0,0,0,0],\"pg/mg\",null,false,\"M\",null,1,false,false,0,\"pg per mg; picograms\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[true,\"picogram per milliliter\",\"pg/mL\",\"PG/ML\",\"mass\",0.000001,[-3,0,1,0,0,0,0],\"pg/mL\",null,false,\"M\",null,1,false,false,0,\"pg per mL; picograms per milliliter; millilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[true,\"picogram per millimeter\",\"pg/mm\",\"PG/MM\",\"mass\",1e-9,[-1,0,1,0,0,0,0],\"pg/mm\",null,false,\"M\",null,1,false,false,0,\"pg per mm; picogram/millimeter; picogram/millimetre; picograms per millimeter; millimetre\",\"LOINC\",\"Lineic Mass\",\"Clinical\",\"\",null,null,null,null,false],[false,\"picokatal\",\"pkat\",\"PKAT\",\"catalytic activity\",602213670000,[0,-1,0,0,0,0,0],\"pkat\",\"chemical\",true,null,null,1,false,false,1,\"pkats; picokatals\",\"LOINC\",\"CAct\",\"Clinical\",\"kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.\",\"mol/s\",\"MOL/S\",\"1\",1,false],[false,\"picoliter\",\"pL\",\"PL\",\"volume\",1e-15,[3,0,0,0,0,0,0],\"pL\",\"iso1000\",true,null,null,1,false,false,0,\"picoliters; picolitres\",\"LOINC\",\"Vol\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[true,\"picometer\",\"pm\",\"PM\",\"length\",1e-12,[1,0,0,0,0,0,0],\"pm\",null,false,\"L\",null,1,false,false,0,\"picometers; picometres\",\"LOINC\",\"Len\",\"Clinical\",\"\",null,null,null,null,false],[false,\"picomole\",\"pmol\",\"PMOL\",\"amount of substance\",602213670000,[0,0,0,0,0,0,0],\"pmol\",\"si\",true,null,null,1,false,false,1,\"picomoles; pmols\",\"LOINC\",\"Sub\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"picomole per 24 hour\",\"pmol/(24.h)\",\"PMOL/HR\",\"amount of substance\",6970065.625,[0,-1,0,0,0,0,0],\"pmol/h\",\"si\",true,null,null,1,false,false,1,\"pmol/24hrs; pmol/24 hrs; pmol per 24 hrs; 24hrs; days; dy; picomoles per 24 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"picomole per day\",\"pmol/d\",\"PMOL/D\",\"amount of substance\",6970065.625,[0,-1,0,0,0,0,0],\"pmol/d\",\"si\",true,null,null,1,false,false,1,\"pmol/dy; pmol per day; 24 hours; 24hrs; 24 hrs; picomoles\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"picomole per deciliter\",\"pmol/dL\",\"PMOL/DL\",\"amount of substance\",6022136700000000,[-3,0,0,0,0,0,0],\"pmol/dL\",\"si\",true,null,null,1,false,false,1,\"pmol per dL; picomoles per deciliter; decilitre\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"picomole per gram\",\"pmol/g\",\"PMOL/G\",\"amount of substance\",602213670000,[0,0,-1,0,0,0,0],\"pmol/g\",\"si\",true,null,null,1,false,false,1,\"pmol per gm; picomoles per gram; picomole/gram\",\"LOINC\",\"SCnt\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"picomole per hour per milliliter \",\"pmol/h/mL\",\"(PMOL/HR)/ML\",\"amount of substance\",167281575000000,[-3,-1,0,0,0,0,0],\"(pmol/h)/mL\",\"si\",true,null,null,1,false,false,1,\"pmol/hrs/mL; pmol per hrs per mL; picomoles per hour per milliliter; millilitre; micro enzyme units per volume; enzymatic activity; enzyme activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min. \",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"picomole per liter\",\"pmol/L\",\"PMOL/L\",\"amount of substance\",602213670000000,[-3,0,0,0,0,0,0],\"pmol/L\",\"si\",true,null,null,1,false,false,1,\"picomole/liter; pmol per L; picomoles; litre\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"picomole per minute\",\"pmol/min\",\"PMOL/MIN\",\"amount of substance\",10036894500,[0,-1,0,0,0,0,0],\"pmol/min\",\"si\",true,null,null,1,false,false,1,\"picomole/minute; pmol per min; picomoles per minute; micro enzyme units; enzymatic activity; enzyme activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min. pmol/min = uU (micro enzyme unit)\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"picomole per milliliter\",\"pmol/mL\",\"PMOL/ML\",\"amount of substance\",602213670000000000,[-3,0,0,0,0,0,0],\"pmol/mL\",\"si\",true,null,null,1,false,false,1,\"picomole/milliliter; picomole/millilitre; pmol per mL; picomoles; millilitre; picomols; pmols\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"picomole per micromole\",\"pmol/umol\",\"PMOL/UMOL\",\"amount of substance\",0.000001,[0,0,0,0,0,0,0],\"pmol/μmol\",\"si\",true,null,null,1,false,false,0,\"pmol/mcgmol; picomole/micromole; pmol per umol; pmol per mcgmol; picomoles \",\"LOINC\",\"SRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[true,\"picosecond\",\"ps\",\"PS\",\"time\",1e-12,[0,1,0,0,0,0,0],\"ps\",null,false,\"T\",null,1,false,false,0,\"picoseconds; psec\",\"LOINC\",\"Time\",\"Clinical\",\"\",null,null,null,null,false],[false,\"picotesla\",\"pT\",\"PT\",\"magnetic flux density\",1e-9,[0,-1,1,0,0,-1,0],\"pT\",\"si\",true,null,null,1,false,false,0,\"picoteslas\",\"LOINC\",\"\",\"Clinical\",\"SI unit of magnetic field strength for magnetic field B\",\"Wb/m2\",\"WB/M2\",\"1\",1,false],[false,\"enzyme unit per 12 hour\",\"U/(12.h)\",\"U/HR\",\"catalytic activity\",232335520833.33334,[0,-2,0,0,0,0,0],\"U/h\",\"chemical\",true,null,null,1,false,false,1,\"U/12hrs; U/ 12hrs; U per 12 hrs; 12hrs; enzyme units per 12 hours; enzyme activity; enzymatic activity per time; umol per min per 12 hours; micromoles per minute per 12 hours; umol/min/12hr\",\"LOINC\",\"CRat\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per 2 hour\",\"U/(2.h)\",\"U/HR\",\"catalytic activity\",1394013125000,[0,-2,0,0,0,0,0],\"U/h\",\"chemical\",true,null,null,1,false,false,1,\"U/2hrs; U/ 2hrs; U per 2 hrs; 2hrs; enzyme units per 2 hours; enzyme activity; enzymatic activity per time; umol per minute per 2 hours; micromoles per minute; umol/min/2hr; umol per min per 2hr\",\"LOINC\",\"CRat\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per 24 hour\",\"U/(24.h)\",\"U/HR\",\"catalytic activity\",116167760416.66667,[0,-2,0,0,0,0,0],\"U/h\",\"chemical\",true,null,null,1,false,false,1,\"U/24hrs; U/ 24hrs; U per 24 hrs; 24hrs; enzyme units per 24 hours; enzyme activity; enzymatic activity per time; micromoles per minute per 24 hours; umol/min/24hr; umol per min per 24hr\",\"LOINC\",\"CRat\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per 10\",\"U/10\",\"U\",\"catalytic activity\",1003689450000000,[0,-1,0,0,0,0,0],\"U\",\"chemical\",true,null,null,1,false,false,1,\"enzyme unit/10; U per 10; enzyme units per 10; enzymatic activity; enzyme activity; micromoles per minute; umol/min/10\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per 10 billion\",\"U/10*10\",\"U/(10*10)\",\"catalytic activity\",1003689.45,[0,-1,0,0,0,0,0],\"U/(1010)\",\"chemical\",true,null,null,1,false,false,1,\"U per 10*10; enzyme units per 10*10; U per 10 billion; enzyme units; enzymatic activity; micromoles per minute per 10 billion; umol/min/10*10\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per trillion\",\"U/10*12\",\"U/(10*12)\",\"catalytic activity\",10036.8945,[0,-1,0,0,0,0,0],\"U/(1012)\",\"chemical\",true,null,null,1,false,false,1,\"enzyme unit/10*12; U per 10*12; enzyme units per 10*12; enzyme units per trillion; enzymatic activity; micromoles per minute per trillion; umol/min/10*12; umol per min per 10*12\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per million\",\"U/10*6\",\"U/(10*6)\",\"catalytic activity\",10036894500,[0,-1,0,0,0,0,0],\"U/(106)\",\"chemical\",true,null,null,1,false,false,1,\"enzyme unit/10*6; U per 10*6; enzyme units per 10*6; enzyme units; enzymatic activity per volume; micromoles per minute per million; umol/min/10*6; umol per min per 10*6\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per billion\",\"U/10*9\",\"U/(10*9)\",\"catalytic activity\",10036894.5,[0,-1,0,0,0,0,0],\"U/(109)\",\"chemical\",true,null,null,1,false,false,1,\"enzyme unit/10*9; U per 10*9; enzyme units per 10*9; enzymatic activity per volume; micromoles per minute per billion; umol/min/10*9; umol per min per 10*9\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per day\",\"U/d\",\"U/D\",\"catalytic activity\",116167760416.66667,[0,-2,0,0,0,0,0],\"U/d\",\"chemical\",true,null,null,1,false,false,1,\"U/dy; enzyme units per day; enzyme units; enzyme activity; enzymatic activity per time; micromoles per minute per day; umol/min/day; umol per min per day\",\"LOINC\",\"CRat\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per deciliter\",\"U/dL\",\"U/DL\",\"catalytic activity\",100368945000000000000,[-3,-1,0,0,0,0,0],\"U/dL\",\"chemical\",true,null,null,1,false,false,1,\"U per dL; enzyme units per deciliter; decilitre; micromoles per minute per deciliter; umol/min/dL; umol per min per dL\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per gram\",\"U/g\",\"U/G\",\"catalytic activity\",10036894500000000,[0,-1,-1,0,0,0,0],\"U/g\",\"chemical\",true,null,null,1,false,false,1,\"U/gm; U per gm; enzyme units per gram; micromoles per minute per gram; umol/min/g; umol per min per g\",\"LOINC\",\"CCnt\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per hour\",\"U/h\",\"U/HR\",\"catalytic activity\",2788026250000,[0,-2,0,0,0,0,0],\"U/h\",\"chemical\",true,null,null,1,false,false,1,\"U/hr; U per hr; enzyme units per hour; micromoles per minute per hour; umol/min/hr; umol per min per hr\",\"LOINC\",\"CRat\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per liter\",\"U/L\",\"U/L\",\"catalytic activity\",10036894500000000000,[-3,-1,0,0,0,0,0],\"U/L\",\"chemical\",true,null,null,1,false,false,1,\"enzyme unit/liter; enzyme unit/litre; U per L; enzyme units per liter; enzyme unit per litre; micromoles per minute per liter; umol/min/L; umol per min per L\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per minute\",\"U/min\",\"U/MIN\",\"catalytic activity\",167281575000000,[0,-2,0,0,0,0,0],\"U/min\",\"chemical\",true,null,null,1,false,false,1,\"enzyme unit/minute; U per min; enzyme units; umol/min/min; micromoles per minute per minute; micromoles per min per min; umol\",\"LOINC\",\"CRat\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per milliliter\",\"U/mL\",\"U/ML\",\"catalytic activity\",1.00368945e+22,[-3,-1,0,0,0,0,0],\"U/mL\",\"chemical\",true,null,null,1,false,false,1,\"U per mL; enzyme units per milliliter; millilitre; micromoles per minute per milliliter; umol/min/mL; umol per min per mL\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per second\",\"U/s\",\"U/S\",\"catalytic activity\",10036894500000000,[0,-2,0,0,0,0,0],\"U/s\",\"chemical\",true,null,null,1,false,false,1,\"U/sec; U per second; enzyme units per second; micromoles per minute per second; umol/min/sec; umol per min per sec\",\"LOINC\",\"CRat\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"micro international unit\",\"u[IU]\",\"U[IU]\",\"arbitrary\",0.000001,[0,0,0,0,0,0,0],\"μi.U.\",\"chemical\",true,null,null,1,false,true,0,\"uIU; u IU; microinternational units\",\"LOINC\",\"Arb\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"micro international unit per liter\",\"u[IU]/L\",\"U[IU]/L\",\"arbitrary\",0.001,[-3,0,0,0,0,0,0],\"(μi.U.)/L\",\"chemical\",true,null,null,1,false,true,0,\"uIU/L; u IU/L; uIU per L; microinternational units per liter; litre; \",\"LOINC\",\"ACnc\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"micro international unit per milliliter\",\"u[IU]/mL\",\"U[IU]/ML\",\"arbitrary\",1,[-3,0,0,0,0,0,0],\"(μi.U.)/mL\",\"chemical\",true,null,null,1,false,true,0,\"uIU/mL; u IU/mL; uIU per mL; microinternational units per milliliter; millilitre\",\"LOINC\",\"ACnc\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"microequivalent\",\"ueq\",\"UEQ\",\"amount of substance\",602213670000000000,[0,0,0,0,0,0,0],\"μeq\",\"chemical\",true,null,null,1,false,false,1,\"microequivalents; 10^-6 equivalents; 10-6 equivalents\",\"LOINC\",\"Sub\",\"Clinical\",\"\",\"mol\",\"MOL\",\"1\",1,false],[false,\"microequivalent per liter\",\"ueq/L\",\"UEQ/L\",\"amount of substance\",602213670000000000000,[-3,0,0,0,0,0,0],\"μeq/L\",\"chemical\",true,null,null,1,false,false,1,\"ueq per liter; litre; microequivalents\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",\"mol\",\"MOL\",\"1\",1,false],[false,\"microequivalent per milliliter\",\"ueq/mL\",\"UEQ/ML\",\"amount of substance\",6.0221367000000003e+23,[-3,0,0,0,0,0,0],\"μeq/mL\",\"chemical\",true,null,null,1,false,false,1,\"ueq per milliliter; millilitre; microequivalents\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",\"mol\",\"MOL\",\"1\",1,false],[true,\"microgram\",\"ug\",\"UG\",\"mass\",0.000001,[0,0,1,0,0,0,0],\"μg\",null,false,\"M\",null,1,false,false,0,\"mcg; micrograms; 10^-6 grams; 10-6 grams\",\"LOINC\",\"Mass\",\"Clinical\",\"\",null,null,null,null,false],[true,\"microgram per 100 gram\",\"ug/(100.g)\",\"UG/G\",\"mass\",1e-8,[0,0,0,0,0,0,0],\"μg/g\",null,false,\"M\",null,1,false,false,0,\"ug/100gm; ug/100 gm; mcg; ug per 100g; 100 gm; mcg per 100g; micrograms per 100 grams\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[true,\"microgram per 24 hour\",\"ug/(24.h)\",\"UG/HR\",\"mass\",1.1574074074074074e-11,[0,-1,1,0,0,0,0],\"μg/h\",null,false,\"M\",null,1,false,false,0,\"ug/24hrs; ug/24 hrs; mcg/24hrs; ug per 24hrs; mcg per 24hrs; 24 hrs; micrograms per 24 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"microgram per 8 hour\",\"ug/(8.h)\",\"UG/HR\",\"mass\",3.472222222222222e-11,[0,-1,1,0,0,0,0],\"μg/h\",null,false,\"M\",null,1,false,false,0,\"ug/8hrs; ug/8 hrs; mcg/8hrs; ug per 8hrs; mcg per 8hrs; 8 hrs; micrograms per 8 hours; shift\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"microgram per square foot (international)\",\"ug/[sft_i]\",\"UG/[SFT_I]\",\"mass\",0.000010763910416709721,[-2,0,1,0,0,0,0],\"μg\",null,false,\"M\",null,1,false,false,0,\"ug/sft; ug/ft2; ug/ft^2; ug/sq. ft; micrograms; sq. foot; foot squared\",\"LOINC\",\"ArMass\",\"Clinical\",\"\",null,null,null,null,false],[true,\"microgram per day\",\"ug/d\",\"UG/D\",\"mass\",1.1574074074074074e-11,[0,-1,1,0,0,0,0],\"μg/d\",null,false,\"M\",null,1,false,false,0,\"ug/dy; mcg/dy; ug per day; mcg; micrograms per day\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"microgram per deciliter\",\"ug/dL\",\"UG/DL\",\"mass\",0.009999999999999998,[-3,0,1,0,0,0,0],\"μg/dL\",null,false,\"M\",null,1,false,false,0,\"ug per dL; mcg/dl; mcg per dl; micrograms per deciliter; decilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[true,\"microgram per gram\",\"ug/g\",\"UG/G\",\"mass\",0.000001,[0,0,0,0,0,0,0],\"μg/g\",null,false,\"M\",null,1,false,false,0,\"ug per gm; mcg/gm; mcg per g; micrograms per gram\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[true,\"microgram per hour\",\"ug/h\",\"UG/HR\",\"mass\",2.7777777777777777e-10,[0,-1,1,0,0,0,0],\"μg/h\",null,false,\"M\",null,1,false,false,0,\"ug/hr; mcg/hr; mcg per hr; ug per hr; ug per hour; micrograms\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"microgram per kilogram\",\"ug/kg\",\"UG/KG\",\"mass\",9.999999999999999e-10,[0,0,0,0,0,0,0],\"μg/kg\",null,false,\"M\",null,1,false,false,0,\"ug per kg; mcg/kg; mcg per kg; micrograms per kilogram\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[true,\"microgram per kilogram per 8 hour\",\"ug/kg/(8.h)\",\"(UG/KG)/HR\",\"mass\",3.472222222222222e-14,[0,-1,0,0,0,0,0],\"(μg/kg)/h\",null,false,\"M\",null,1,false,false,0,\"ug/kg/8hrs; mcg/kg/8hrs; ug/kg/8 hrs; mcg/kg/8 hrs; ug per kg per 8hrs; 8 hrs; mcg per kg per 8hrs; micrograms per kilograms per 8 hours; shift\",\"LOINC\",\"\",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[true,\"microgram per kilogram per day\",\"ug/kg/d\",\"(UG/KG)/D\",\"mass\",1.1574074074074072e-14,[0,-1,0,0,0,0,0],\"(μg/kg)/d\",null,false,\"M\",null,1,false,false,0,\"ug/(kg.d); ug/kg/dy; mcg/kg/day; ug per kg per dy; 24 hours; 24hrs; mcg; kilograms; microgram per kilogram and day\",\"LOINC\",\"\",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[true,\"microgram per kilogram per hour\",\"ug/kg/h\",\"(UG/KG)/HR\",\"mass\",2.7777777777777774e-13,[0,-1,0,0,0,0,0],\"(μg/kg)/h\",null,false,\"M\",null,1,false,false,0,\"ug/(kg.h); ug/kg/hr; mcg/kg/hr; ug per kg per hr; mcg per kg per hr; kilograms\",\"LOINC\",\"\",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[true,\"microgram per kilogram per minute\",\"ug/kg/min\",\"(UG/KG)/MIN\",\"mass\",1.6666666666666664e-11,[0,-1,0,0,0,0,0],\"(μg/kg)/min\",null,false,\"M\",null,1,false,false,0,\"ug/kg/min; ug/kg/min; mcg/kg/min; ug per kg per min; mcg; micrograms per kilograms per minute \",\"LOINC\",\"\",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[true,\"microgram per liter\",\"ug/L\",\"UG/L\",\"mass\",0.001,[-3,0,1,0,0,0,0],\"μg/L\",null,false,\"M\",null,1,false,false,0,\"mcg/L; ug per L; mcg; micrograms per liter; litre \",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[true,\"microgram per liter per 24 hour\",\"ug/L/(24.h)\",\"(UG/L)/HR\",\"mass\",1.1574074074074074e-8,[-3,-1,1,0,0,0,0],\"(μg/L)/h\",null,false,\"M\",null,1,false,false,0,\"ug/L/24hrs; ug/L/24 hrs; mcg/L/24hrs; ug per L per 24hrs; 24 hrs; day; dy mcg; micrograms per liters per 24 hours; litres\",\"LOINC\",\"\",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[true,\"microgram per square meter\",\"ug/m2\",\"UG/M2\",\"mass\",0.000001,[-2,0,1,0,0,0,0],\"μg/(m2)\",null,false,\"M\",null,1,false,false,0,\"ug/m^2; ug/sq. m; mcg/m2; mcg/m^2; mcg/sq. m; ug per m2; m^2; sq. meter; mcg; micrograms per square meter; meter squared; metre\",\"LOINC\",\"ArMass\",\"Clinical\",\"unit used to measure mass dose per patient body surface area\",null,null,null,null,false],[true,\"microgram per cubic meter\",\"ug/m3\",\"UG/M3\",\"mass\",0.000001,[-3,0,1,0,0,0,0],\"μg/(m3)\",null,false,\"M\",null,1,false,false,0,\"ug/m^3; ug/cu. m; mcg/m3; mcg/m^3; mcg/cu. m; ug per m3; ug per m^3; ug per cu. m; mcg; micrograms per cubic meter; meter cubed; metre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[true,\"microgram per milligram\",\"ug/mg\",\"UG/MG\",\"mass\",0.001,[0,0,0,0,0,0,0],\"μg/mg\",null,false,\"M\",null,1,false,false,0,\"ug per mg; mcg/mg; mcg per mg; micromilligrams per milligram\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[true,\"microgram per minute\",\"ug/min\",\"UG/MIN\",\"mass\",1.6666666666666667e-8,[0,-1,1,0,0,0,0],\"μg/min\",null,false,\"M\",null,1,false,false,0,\"ug per min; mcg/min; mcg per min; microminutes per minute\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[true,\"microgram per milliliter\",\"ug/mL\",\"UG/ML\",\"mass\",1,[-3,0,1,0,0,0,0],\"μg/mL\",null,false,\"M\",null,1,false,false,0,\"ug per mL; mcg/mL; mcg per mL; micrograms per milliliter; millilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[true,\"microgram per millimole\",\"ug/mmol\",\"UG/MMOL\",\"mass\",1.660540186674939e-27,[0,0,1,0,0,0,0],\"μg/mmol\",null,false,\"M\",null,1,false,false,-1,\"ug per mmol; mcg/mmol; mcg per mmol; micrograms per millimole\",\"LOINC\",\"Ratio\",\"Clinical\",\"\",null,null,null,null,false],[true,\"microgram per nanogram\",\"ug/ng\",\"UG/NG\",\"mass\",999.9999999999999,[0,0,0,0,0,0,0],\"μg/ng\",null,false,\"M\",null,1,false,false,0,\"ug per ng; mcg/ng; mcg per ng; micrograms per nanogram\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[false,\"microkatal\",\"ukat\",\"UKAT\",\"catalytic activity\",602213670000000000,[0,-1,0,0,0,0,0],\"μkat\",\"chemical\",true,null,null,1,false,false,1,\"microkatals; ukats\",\"LOINC\",\"CAct\",\"Clinical\",\"kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.\",\"mol/s\",\"MOL/S\",\"1\",1,false],[false,\"microliter\",\"uL\",\"UL\",\"volume\",1e-9,[3,0,0,0,0,0,0],\"μL\",\"iso1000\",true,null,null,1,false,false,0,\"microliters; microlitres; mcl\",\"LOINC\",\"Vol\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"microliter per 2 hour\",\"uL/(2.h)\",\"UL/HR\",\"volume\",1.388888888888889e-13,[3,-1,0,0,0,0,0],\"μL/h\",\"iso1000\",true,null,null,1,false,false,0,\"uL/2hrs; uL/2 hrs; mcg/2hr; mcg per 2hr; uL per 2hr; uL per 2 hrs; microliters per 2 hours; microlitres \",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"microliter per hour\",\"uL/h\",\"UL/HR\",\"volume\",2.777777777777778e-13,[3,-1,0,0,0,0,0],\"μL/h\",\"iso1000\",true,null,null,1,false,false,0,\"uL/hr; mcg/hr; mcg per hr; uL per hr; microliters per hour; microlitres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[true,\"micrometer\",\"um\",\"UM\",\"length\",0.000001,[1,0,0,0,0,0,0],\"μm\",null,false,\"L\",null,1,false,false,0,\"micrometers; micrometres; μm; microns\",\"LOINC\",\"Len\",\"Clinical\",\"Unit of length that is usually used in tests related to the eye\",null,null,null,null,false],[true,\"microns per second\",\"um/s\",\"UM/S\",\"length\",0.000001,[1,-1,0,0,0,0,0],\"μm/s\",null,false,\"L\",null,1,false,false,0,\"um/sec; micron/second; microns/second; um per sec; micrometers per second; micrometres\",\"LOINC\",\"Vel\",\"Clinical\",\"\",null,null,null,null,false],[false,\"micromole\",\"umol\",\"UMOL\",\"amount of substance\",602213670000000000,[0,0,0,0,0,0,0],\"μmol\",\"si\",true,null,null,1,false,false,1,\"micromoles; umols\",\"LOINC\",\"Sub\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per 2 hour\",\"umol/(2.h)\",\"UMOL/HR\",\"amount of substance\",83640787500000,[0,-1,0,0,0,0,0],\"μmol/h\",\"si\",true,null,null,1,false,false,1,\"umol/2hrs; umol/2 hrs; umol per 2 hrs; 2hrs; micromoles per 2 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per 24 hour\",\"umol/(24.h)\",\"UMOL/HR\",\"amount of substance\",6970065625000,[0,-1,0,0,0,0,0],\"μmol/h\",\"si\",true,null,null,1,false,false,1,\"umol/24hrs; umol/24 hrs; umol per 24 hrs; per 24hrs; micromoles per 24 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per 8 hour\",\"umol/(8.h)\",\"UMOL/HR\",\"amount of substance\",20910196875000,[0,-1,0,0,0,0,0],\"μmol/h\",\"si\",true,null,null,1,false,false,1,\"umol/8hr; umol/8 hr; umol per 8 hr; umol per 8hr; umols per 8hr; umol per 8 hours; micromoles per 8 hours; shift\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per day\",\"umol/d\",\"UMOL/D\",\"amount of substance\",6970065625000,[0,-1,0,0,0,0,0],\"μmol/d\",\"si\",true,null,null,1,false,false,1,\"umol/day; umol per day; umols per day; umol per days; micromoles per days; umol/24hr; umol/24 hr; umol per 24 hr; umol per 24hr; umols per 24hr; umol per 24 hours; micromoles per 24 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per deciliter\",\"umol/dL\",\"UMOL/DL\",\"amount of substance\",6.0221367e+21,[-3,0,0,0,0,0,0],\"μmol/dL\",\"si\",true,null,null,1,false,false,1,\"micromole/deciliter; micromole/decilitre; umol per dL; micromoles per deciliters; micromole per decilitres\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per gram\",\"umol/g\",\"UMOL/G\",\"amount of substance\",602213670000000000,[0,0,-1,0,0,0,0],\"μmol/g\",\"si\",true,null,null,1,false,false,1,\"micromole/gram; umol per g; micromoles per gram\",\"LOINC\",\"SCnt; Ratio\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per hour\",\"umol/h\",\"UMOL/HR\",\"amount of substance\",167281575000000,[0,-1,0,0,0,0,0],\"μmol/h\",\"si\",true,null,null,1,false,false,1,\"umol/hr; umol per hr; umol per hour; micromoles per hours\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per kilogram\",\"umol/kg\",\"UMOL/KG\",\"amount of substance\",602213670000000,[0,0,-1,0,0,0,0],\"μmol/kg\",\"si\",true,null,null,1,false,false,1,\"umol per kg; micromoles per kilogram\",\"LOINC\",\"SCnt\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per liter\",\"umol/L\",\"UMOL/L\",\"amount of substance\",602213670000000000000,[-3,0,0,0,0,0,0],\"μmol/L\",\"si\",true,null,null,1,false,false,1,\"micromole/liter; micromole/litre; umol per liter; micromoles per liter; litre\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per liter per hour\",\"umol/L/h\",\"(UMOL/L)/HR\",\"amount of substance\",167281575000000000,[-3,-1,0,0,0,0,0],\"(μmol/L)/h\",\"si\",true,null,null,1,false,false,1,\"umol/liter/hr; umol/litre/hr; umol per L per hr; umol per liter per hour; micromoles per liters per hour; litre\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min; umol/L/h is a derived unit of enzyme units\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per milligram\",\"umol/mg\",\"UMOL/MG\",\"amount of substance\",602213670000000000000,[0,0,-1,0,0,0,0],\"μmol/mg\",\"si\",true,null,null,1,false,false,1,\"micromole/milligram; umol per mg; micromoles per milligram\",\"LOINC\",\"SCnt\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per minute\",\"umol/min\",\"UMOL/MIN\",\"amount of substance\",10036894500000000,[0,-1,0,0,0,0,0],\"μmol/min\",\"si\",true,null,null,1,false,false,1,\"micromole/minute; umol per min; micromoles per minute; enzyme units\",\"LOINC\",\"CAct\",\"Clinical\",\"unit for the enzyme unit U = umol/min\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per minute per gram\",\"umol/min/g\",\"(UMOL/MIN)/G\",\"amount of substance\",10036894500000000,[0,-1,-1,0,0,0,0],\"(μmol/min)/g\",\"si\",true,null,null,1,false,false,1,\"umol/min/gm; umol per min per gm; micromoles per minutes per gram; U/g; enzyme units\",\"LOINC\",\"CCnt\",\"Clinical\",\"unit for the enzyme unit U = umol/min. umol/min/g = U/g\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per minute per liter\",\"umol/min/L\",\"(UMOL/MIN)/L\",\"amount of substance\",10036894500000000000,[-3,-1,0,0,0,0,0],\"(μmol/min)/L\",\"si\",true,null,null,1,false,false,1,\"umol/min/liter; umol/minute/liter; micromoles per minutes per liter; litre; enzyme units; U/L\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min. umol/min/L = U/L\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per milliliter\",\"umol/mL\",\"UMOL/ML\",\"amount of substance\",6.0221367000000003e+23,[-3,0,0,0,0,0,0],\"μmol/mL\",\"si\",true,null,null,1,false,false,1,\"umol per mL; micromoles per milliliter; millilitre\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per milliliter per minute\",\"umol/mL/min\",\"(UMOL/ML)/MIN\",\"amount of substance\",1.00368945e+22,[-3,-1,0,0,0,0,0],\"(μmol/mL)/min\",\"si\",true,null,null,1,false,false,1,\"umol per mL per min; micromoles per milliliters per minute; millilitres\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min. umol/mL/min = U/mL\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per millimole\",\"umol/mmol\",\"UMOL/MMOL\",\"amount of substance\",0.001,[0,0,0,0,0,0,0],\"μmol/mmol\",\"si\",true,null,null,1,false,false,0,\"umol per mmol; micromoles per millimole\",\"LOINC\",\"SRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per mole\",\"umol/mol\",\"UMOL/MOL\",\"amount of substance\",0.000001,[0,0,0,0,0,0,0],\"μmol/mol\",\"si\",true,null,null,1,false,false,0,\"umol per mol; micromoles per mole\",\"LOINC\",\"SRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per micromole\",\"umol/umol\",\"UMOL/UMOL\",\"amount of substance\",1,[0,0,0,0,0,0,0],\"μmol/μmol\",\"si\",true,null,null,1,false,false,0,\"umol per umol; micromoles per micromole\",\"LOINC\",\"Srto; SFr; EntSRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"microOhm\",\"uOhm\",\"UOHM\",\"electric resistance\",0.001,[2,-1,1,0,0,-2,0],\"μΩ\",\"si\",true,null,null,1,false,false,0,\"microOhms; µΩ\",\"LOINC\",\"\",\"Clinical\",\"unit of electric resistance\",\"V/A\",\"V/A\",\"1\",1,false],[true,\"microsecond\",\"us\",\"US\",\"time\",0.000001,[0,1,0,0,0,0,0],\"μs\",null,false,\"T\",null,1,false,false,0,\"microseconds\",\"LOINC\",\"Time\",\"Clinical\",\"\",null,null,null,null,false],[false,\"micro enzyme unit per gram\",\"uU/g\",\"UU/G\",\"catalytic activity\",10036894500,[0,-1,-1,0,0,0,0],\"μU/g\",\"chemical\",true,null,null,1,false,false,1,\"uU per gm; micro enzyme units per gram; micro enzymatic activity per mass; enzyme activity\",\"LOINC\",\"CCnt\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 uU = 1pmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"micro enzyme unit per liter\",\"uU/L\",\"UU/L\",\"catalytic activity\",10036894500000,[-3,-1,0,0,0,0,0],\"μU/L\",\"chemical\",true,null,null,1,false,false,1,\"uU per L; micro enzyme units per liter; litre; enzymatic activity per volume; enzyme activity \",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 uU = 1pmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"micro enzyme unit per milliliter\",\"uU/mL\",\"UU/ML\",\"catalytic activity\",10036894500000000,[-3,-1,0,0,0,0,0],\"μU/mL\",\"chemical\",true,null,null,1,false,false,1,\"uU per mL; micro enzyme units per milliliter; millilitre; enzymatic activity per volume; enzyme activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 uU = 1pmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"microvolt\",\"uV\",\"UV\",\"electric potential\",0.001,[2,-2,1,0,0,-1,0],\"μV\",\"si\",true,null,null,1,false,false,0,\"microvolts\",\"LOINC\",\"Elpot\",\"Clinical\",\"unit of electric potential (voltage)\",\"J/C\",\"J/C\",\"1\",1,false]]}}')}},t={};function n(r){var l=t[r];if(void 0!==l)return l.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}();var r=n(9159);window.fhirpath=r}();\n//# sourceMappingURL=fhirpath.min.js.map","!function(){var e={9:function(e,i,t){e.exports={choiceTypePaths:t(824),pathsDefinedElsewhere:t(151),type2Parent:t(905),path2Type:t(752)}},824:function(e){\"use strict\";e.exports=JSON.parse('{\"ActivityDefinition.product\":[\"Reference\",\"CodeableConcept\"],\"ActivityDefinition.subject\":[\"CodeableConcept\",\"Reference\"],\"ActivityDefinition.timing\":[\"Timing\",\"DateTime\",\"Age\",\"Period\",\"Range\",\"Duration\"],\"AllergyIntolerance.onset\":[\"DateTime\",\"Age\",\"Period\",\"Range\",\"String\"],\"Annotation.author\":[\"Reference\",\"String\"],\"AuditEvent.entity.detail.value\":[\"String\",\"Base64Binary\"],\"BiologicallyDerivedProduct.collection.collected\":[\"DateTime\",\"Period\"],\"BiologicallyDerivedProduct.manipulation.time\":[\"DateTime\",\"Period\"],\"BiologicallyDerivedProduct.processing.time\":[\"DateTime\",\"Period\"],\"CarePlan.activity.detail.product\":[\"CodeableConcept\",\"Reference\"],\"CarePlan.activity.detail.scheduled\":[\"Timing\",\"Period\",\"String\"],\"ChargeItem.occurrence\":[\"DateTime\",\"Period\",\"Timing\"],\"ChargeItem.product\":[\"Reference\",\"CodeableConcept\"],\"Claim.accident.location\":[\"Address\",\"Reference\"],\"Claim.diagnosis.diagnosis\":[\"CodeableConcept\",\"Reference\"],\"Claim.item.location\":[\"CodeableConcept\",\"Address\",\"Reference\"],\"Claim.item.serviced\":[\"Date\",\"Period\"],\"Claim.procedure.procedure\":[\"CodeableConcept\",\"Reference\"],\"Claim.supportingInfo.timing\":[\"Date\",\"Period\"],\"Claim.supportingInfo.value\":[\"Boolean\",\"String\",\"Quantity\",\"Attachment\",\"Reference\"],\"ClaimResponse.addItem.location\":[\"CodeableConcept\",\"Address\",\"Reference\"],\"ClaimResponse.addItem.serviced\":[\"Date\",\"Period\"],\"ClinicalImpression.effective\":[\"DateTime\",\"Period\"],\"CodeSystem.concept.property.value\":[\"Code\",\"Coding\",\"String\",\"Integer\",\"Boolean\",\"DateTime\",\"Decimal\"],\"Communication.payload.content\":[\"String\",\"Attachment\",\"Reference\"],\"CommunicationRequest.occurrence\":[\"DateTime\",\"Period\"],\"CommunicationRequest.payload.content\":[\"String\",\"Attachment\",\"Reference\"],\"Composition.relatesTo.target\":[\"Identifier\",\"Reference\"],\"ConceptMap.source\":[\"Uri\",\"Canonical\"],\"ConceptMap.target\":[\"Uri\",\"Canonical\"],\"Condition.abatement\":[\"DateTime\",\"Age\",\"Period\",\"Range\",\"String\"],\"Condition.onset\":[\"DateTime\",\"Age\",\"Period\",\"Range\",\"String\"],\"Consent.source\":[\"Attachment\",\"Reference\"],\"Contract.friendly.content\":[\"Attachment\",\"Reference\"],\"Contract.legal.content\":[\"Attachment\",\"Reference\"],\"Contract.legallyBinding\":[\"Attachment\",\"Reference\"],\"Contract.rule.content\":[\"Attachment\",\"Reference\"],\"Contract.term.action.occurrence\":[\"DateTime\",\"Period\",\"Timing\"],\"Contract.term.asset.valuedItem.entity\":[\"CodeableConcept\",\"Reference\"],\"Contract.term.offer.answer.value\":[\"Boolean\",\"Decimal\",\"Integer\",\"Date\",\"DateTime\",\"Time\",\"String\",\"Uri\",\"Attachment\",\"Coding\",\"Quantity\",\"Reference\"],\"Contract.term.topic\":[\"CodeableConcept\",\"Reference\"],\"Contract.topic\":[\"CodeableConcept\",\"Reference\"],\"Coverage.costToBeneficiary.value\":[\"Quantity\",\"Money\"],\"CoverageEligibilityRequest.item.diagnosis.diagnosis\":[\"CodeableConcept\",\"Reference\"],\"CoverageEligibilityRequest.serviced\":[\"Date\",\"Period\"],\"CoverageEligibilityResponse.insurance.item.benefit.allowed\":[\"UnsignedInt\",\"String\",\"Money\"],\"CoverageEligibilityResponse.insurance.item.benefit.used\":[\"UnsignedInt\",\"String\",\"Money\"],\"CoverageEligibilityResponse.serviced\":[\"Date\",\"Period\"],\"DataRequirement.dateFilter.value\":[\"DateTime\",\"Period\",\"Duration\"],\"DataRequirement.subject\":[\"CodeableConcept\",\"Reference\"],\"DetectedIssue.identified\":[\"DateTime\",\"Period\"],\"DeviceDefinition.manufacturer\":[\"String\",\"Reference\"],\"DeviceRequest.code\":[\"Reference\",\"CodeableConcept\"],\"DeviceRequest.occurrence\":[\"DateTime\",\"Period\",\"Timing\"],\"DeviceRequest.parameter.value\":[\"CodeableConcept\",\"Quantity\",\"Range\",\"Boolean\"],\"DeviceUseStatement.timing\":[\"Timing\",\"Period\",\"DateTime\"],\"DiagnosticReport.effective\":[\"DateTime\",\"Period\"],\"Dosage.asNeeded\":[\"Boolean\",\"CodeableConcept\"],\"Dosage.doseAndRate.dose\":[\"Range\",\"Quantity\"],\"Dosage.doseAndRate.rate\":[\"Ratio\",\"Range\",\"Quantity\"],\"ElementDefinition.defaultValue\":[\"Base64Binary\",\"Boolean\",\"Canonical\",\"Code\",\"Date\",\"DateTime\",\"Decimal\",\"Id\",\"Instant\",\"Integer\",\"Markdown\",\"Oid\",\"PositiveInt\",\"String\",\"Time\",\"UnsignedInt\",\"Uri\",\"Url\",\"Uuid\",\"Address\",\"Age\",\"Annotation\",\"Attachment\",\"CodeableConcept\",\"Coding\",\"ContactPoint\",\"Count\",\"Distance\",\"Duration\",\"HumanName\",\"Identifier\",\"Money\",\"Period\",\"Quantity\",\"Range\",\"Ratio\",\"Reference\",\"SampledData\",\"Signature\",\"Timing\",\"ContactDetail\",\"Contributor\",\"DataRequirement\",\"Expression\",\"ParameterDefinition\",\"RelatedArtifact\",\"TriggerDefinition\",\"UsageContext\",\"Dosage\",\"Meta\"],\"ElementDefinition.example.value\":[\"Base64Binary\",\"Boolean\",\"Canonical\",\"Code\",\"Date\",\"DateTime\",\"Decimal\",\"Id\",\"Instant\",\"Integer\",\"Markdown\",\"Oid\",\"PositiveInt\",\"String\",\"Time\",\"UnsignedInt\",\"Uri\",\"Url\",\"Uuid\",\"Address\",\"Age\",\"Annotation\",\"Attachment\",\"CodeableConcept\",\"Coding\",\"ContactPoint\",\"Count\",\"Distance\",\"Duration\",\"HumanName\",\"Identifier\",\"Money\",\"Period\",\"Quantity\",\"Range\",\"Ratio\",\"Reference\",\"SampledData\",\"Signature\",\"Timing\",\"ContactDetail\",\"Contributor\",\"DataRequirement\",\"Expression\",\"ParameterDefinition\",\"RelatedArtifact\",\"TriggerDefinition\",\"UsageContext\",\"Dosage\",\"Meta\"],\"ElementDefinition.extension.value\":[\"CodeableConcept\",\"Canonical\"],\"ElementDefinition.fixed\":[\"Base64Binary\",\"Boolean\",\"Canonical\",\"Code\",\"Date\",\"DateTime\",\"Decimal\",\"Id\",\"Instant\",\"Integer\",\"Markdown\",\"Oid\",\"PositiveInt\",\"String\",\"Time\",\"UnsignedInt\",\"Uri\",\"Url\",\"Uuid\",\"Address\",\"Age\",\"Annotation\",\"Attachment\",\"CodeableConcept\",\"Coding\",\"ContactPoint\",\"Count\",\"Distance\",\"Duration\",\"HumanName\",\"Identifier\",\"Money\",\"Period\",\"Quantity\",\"Range\",\"Ratio\",\"Reference\",\"SampledData\",\"Signature\",\"Timing\",\"ContactDetail\",\"Contributor\",\"DataRequirement\",\"Expression\",\"ParameterDefinition\",\"RelatedArtifact\",\"TriggerDefinition\",\"UsageContext\",\"Dosage\",\"Meta\"],\"ElementDefinition.maxValue\":[\"Date\",\"DateTime\",\"Instant\",\"Time\",\"Decimal\",\"Integer\",\"PositiveInt\",\"UnsignedInt\",\"Quantity\"],\"ElementDefinition.minValue\":[\"Date\",\"DateTime\",\"Instant\",\"Time\",\"Decimal\",\"Integer\",\"PositiveInt\",\"UnsignedInt\",\"Quantity\"],\"ElementDefinition.pattern\":[\"Base64Binary\",\"Boolean\",\"Canonical\",\"Code\",\"Date\",\"DateTime\",\"Decimal\",\"Id\",\"Instant\",\"Integer\",\"Markdown\",\"Oid\",\"PositiveInt\",\"String\",\"Time\",\"UnsignedInt\",\"Uri\",\"Url\",\"Uuid\",\"Address\",\"Age\",\"Annotation\",\"Attachment\",\"CodeableConcept\",\"Coding\",\"ContactPoint\",\"Count\",\"Distance\",\"Duration\",\"HumanName\",\"Identifier\",\"Money\",\"Period\",\"Quantity\",\"Range\",\"Ratio\",\"Reference\",\"SampledData\",\"Signature\",\"Timing\",\"ContactDetail\",\"Contributor\",\"DataRequirement\",\"Expression\",\"ParameterDefinition\",\"RelatedArtifact\",\"TriggerDefinition\",\"UsageContext\",\"Dosage\",\"Meta\"],\"EventDefinition.subject\":[\"CodeableConcept\",\"Reference\"],\"EvidenceVariable.characteristic.definition\":[\"Reference\",\"Canonical\",\"CodeableConcept\",\"Expression\",\"DataRequirement\",\"TriggerDefinition\"],\"EvidenceVariable.characteristic.participantEffective\":[\"DateTime\",\"Period\",\"Duration\",\"Timing\"],\"ExplanationOfBenefit.accident.location\":[\"Address\",\"Reference\"],\"ExplanationOfBenefit.addItem.location\":[\"CodeableConcept\",\"Address\",\"Reference\"],\"ExplanationOfBenefit.addItem.serviced\":[\"Date\",\"Period\"],\"ExplanationOfBenefit.benefitBalance.financial.allowed\":[\"UnsignedInt\",\"String\",\"Money\"],\"ExplanationOfBenefit.benefitBalance.financial.used\":[\"UnsignedInt\",\"Money\"],\"ExplanationOfBenefit.diagnosis.diagnosis\":[\"CodeableConcept\",\"Reference\"],\"ExplanationOfBenefit.item.location\":[\"CodeableConcept\",\"Address\",\"Reference\"],\"ExplanationOfBenefit.item.serviced\":[\"Date\",\"Period\"],\"ExplanationOfBenefit.procedure.procedure\":[\"CodeableConcept\",\"Reference\"],\"ExplanationOfBenefit.supportingInfo.timing\":[\"Date\",\"Period\"],\"ExplanationOfBenefit.supportingInfo.value\":[\"Boolean\",\"String\",\"Quantity\",\"Attachment\",\"Reference\"],\"Extension.value\":[\"Base64Binary\",\"Boolean\",\"Canonical\",\"Code\",\"Date\",\"DateTime\",\"Decimal\",\"Id\",\"Instant\",\"Integer\",\"Markdown\",\"Oid\",\"PositiveInt\",\"String\",\"Time\",\"UnsignedInt\",\"Uri\",\"Url\",\"Uuid\",\"Address\",\"Age\",\"Annotation\",\"Attachment\",\"CodeableConcept\",\"Coding\",\"ContactPoint\",\"Count\",\"Distance\",\"Duration\",\"HumanName\",\"Identifier\",\"Money\",\"Period\",\"Quantity\",\"Range\",\"Ratio\",\"Reference\",\"SampledData\",\"Signature\",\"Timing\",\"ContactDetail\",\"Contributor\",\"DataRequirement\",\"Expression\",\"ParameterDefinition\",\"RelatedArtifact\",\"TriggerDefinition\",\"UsageContext\",\"Dosage\",\"Meta\"],\"FamilyMemberHistory.age\":[\"Age\",\"Range\",\"String\"],\"FamilyMemberHistory.born\":[\"Period\",\"Date\",\"String\"],\"FamilyMemberHistory.condition.onset\":[\"Age\",\"Range\",\"Period\",\"String\"],\"FamilyMemberHistory.deceased\":[\"Boolean\",\"Age\",\"Range\",\"Date\",\"String\"],\"Goal.start\":[\"Date\",\"CodeableConcept\"],\"Goal.target.detail\":[\"Quantity\",\"Range\",\"CodeableConcept\",\"String\",\"Boolean\",\"Integer\",\"Ratio\"],\"Goal.target.due\":[\"Date\",\"Duration\"],\"Group.characteristic.value\":[\"CodeableConcept\",\"Boolean\",\"Quantity\",\"Range\",\"Reference\"],\"GuidanceResponse.module\":[\"Uri\",\"Canonical\",\"CodeableConcept\"],\"Immunization.occurrence\":[\"DateTime\",\"String\"],\"Immunization.protocolApplied.doseNumber\":[\"PositiveInt\",\"String\"],\"Immunization.protocolApplied.seriesDoses\":[\"PositiveInt\",\"String\"],\"ImmunizationEvaluation.doseNumber\":[\"PositiveInt\",\"String\"],\"ImmunizationEvaluation.seriesDoses\":[\"PositiveInt\",\"String\"],\"ImmunizationRecommendation.recommendation.doseNumber\":[\"PositiveInt\",\"String\"],\"ImmunizationRecommendation.recommendation.seriesDoses\":[\"PositiveInt\",\"String\"],\"ImplementationGuide.definition.page.name\":[\"Url\",\"Reference\"],\"ImplementationGuide.definition.resource.example\":[\"Boolean\",\"Canonical\"],\"ImplementationGuide.manifest.resource.example\":[\"Boolean\",\"Canonical\"],\"Invoice.lineItem.chargeItem\":[\"Reference\",\"CodeableConcept\"],\"Library.subject\":[\"CodeableConcept\",\"Reference\"],\"Measure.subject\":[\"CodeableConcept\",\"Reference\"],\"Media.created\":[\"DateTime\",\"Period\"],\"Medication.ingredient.item\":[\"CodeableConcept\",\"Reference\"],\"MedicationAdministration.dosage.rate\":[\"Ratio\",\"Quantity\"],\"MedicationAdministration.effective\":[\"DateTime\",\"Period\"],\"MedicationAdministration.medication\":[\"CodeableConcept\",\"Reference\"],\"MedicationDispense.medication\":[\"CodeableConcept\",\"Reference\"],\"MedicationDispense.statusReason\":[\"CodeableConcept\",\"Reference\"],\"MedicationKnowledge.administrationGuidelines.indication\":[\"CodeableConcept\",\"Reference\"],\"MedicationKnowledge.administrationGuidelines.patientCharacteristics.characteristic\":[\"CodeableConcept\",\"Quantity\"],\"MedicationKnowledge.drugCharacteristic.value\":[\"CodeableConcept\",\"String\",\"Quantity\",\"Base64Binary\"],\"MedicationKnowledge.ingredient.item\":[\"CodeableConcept\",\"Reference\"],\"MedicationRequest.medication\":[\"CodeableConcept\",\"Reference\"],\"MedicationRequest.reported\":[\"Boolean\",\"Reference\"],\"MedicationRequest.substitution.allowed\":[\"Boolean\",\"CodeableConcept\"],\"MedicationStatement.effective\":[\"DateTime\",\"Period\"],\"MedicationStatement.medication\":[\"CodeableConcept\",\"Reference\"],\"MedicinalProduct.specialDesignation.indication\":[\"CodeableConcept\",\"Reference\"],\"MedicinalProductAuthorization.procedure.date\":[\"Period\",\"DateTime\"],\"MedicinalProductContraindication.otherTherapy.medication\":[\"CodeableConcept\",\"Reference\"],\"MedicinalProductIndication.otherTherapy.medication\":[\"CodeableConcept\",\"Reference\"],\"MedicinalProductInteraction.interactant.item\":[\"Reference\",\"CodeableConcept\"],\"MessageDefinition.event\":[\"Coding\",\"Uri\"],\"MessageHeader.event\":[\"Coding\",\"Uri\"],\"NutritionOrder.enteralFormula.administration.rate\":[\"Quantity\",\"Ratio\"],\"Observation.component.value\":[\"Quantity\",\"CodeableConcept\",\"String\",\"Boolean\",\"Integer\",\"Range\",\"Ratio\",\"SampledData\",\"Time\",\"DateTime\",\"Period\"],\"Observation.effective\":[\"DateTime\",\"Period\",\"Timing\",\"Instant\"],\"Observation.value\":[\"Quantity\",\"CodeableConcept\",\"String\",\"Boolean\",\"Integer\",\"Range\",\"Ratio\",\"SampledData\",\"Time\",\"DateTime\",\"Period\"],\"Parameters.parameter.value\":[\"Base64Binary\",\"Boolean\",\"Canonical\",\"Code\",\"Date\",\"DateTime\",\"Decimal\",\"Id\",\"Instant\",\"Integer\",\"Markdown\",\"Oid\",\"PositiveInt\",\"String\",\"Time\",\"UnsignedInt\",\"Uri\",\"Url\",\"Uuid\",\"Address\",\"Age\",\"Annotation\",\"Attachment\",\"CodeableConcept\",\"Coding\",\"ContactPoint\",\"Count\",\"Distance\",\"Duration\",\"HumanName\",\"Identifier\",\"Money\",\"Period\",\"Quantity\",\"Range\",\"Ratio\",\"Reference\",\"SampledData\",\"Signature\",\"Timing\",\"ContactDetail\",\"Contributor\",\"DataRequirement\",\"Expression\",\"ParameterDefinition\",\"RelatedArtifact\",\"TriggerDefinition\",\"UsageContext\",\"Dosage\",\"Meta\"],\"Patient.deceased\":[\"Boolean\",\"DateTime\"],\"Patient.multipleBirth\":[\"Boolean\",\"Integer\"],\"PlanDefinition.action.definition\":[\"Canonical\",\"Uri\"],\"PlanDefinition.action.relatedAction.offset\":[\"Duration\",\"Range\"],\"PlanDefinition.action.subject\":[\"CodeableConcept\",\"Reference\"],\"PlanDefinition.action.timing\":[\"DateTime\",\"Age\",\"Period\",\"Duration\",\"Range\",\"Timing\"],\"PlanDefinition.goal.target.detail\":[\"Quantity\",\"Range\",\"CodeableConcept\"],\"PlanDefinition.subject\":[\"CodeableConcept\",\"Reference\"],\"Population.age\":[\"Range\",\"CodeableConcept\"],\"Procedure.performed\":[\"DateTime\",\"Period\",\"String\",\"Age\",\"Range\"],\"Provenance.occurred\":[\"Period\",\"DateTime\"],\"Questionnaire.item.answerOption.value\":[\"Integer\",\"Date\",\"Time\",\"String\",\"Coding\",\"Reference\"],\"Questionnaire.item.enableWhen.answer\":[\"Boolean\",\"Decimal\",\"Integer\",\"Date\",\"DateTime\",\"Time\",\"String\",\"Coding\",\"Quantity\",\"Reference\"],\"Questionnaire.item.initial.value\":[\"Boolean\",\"Decimal\",\"Integer\",\"Date\",\"DateTime\",\"Time\",\"String\",\"Uri\",\"Attachment\",\"Coding\",\"Quantity\",\"Reference\"],\"QuestionnaireResponse.item.answer.value\":[\"Boolean\",\"Decimal\",\"Integer\",\"Date\",\"DateTime\",\"Time\",\"String\",\"Uri\",\"Attachment\",\"Coding\",\"Quantity\",\"Reference\"],\"RequestGroup.action.relatedAction.offset\":[\"Duration\",\"Range\"],\"RequestGroup.action.timing\":[\"DateTime\",\"Age\",\"Period\",\"Duration\",\"Range\",\"Timing\"],\"ResearchDefinition.subject\":[\"CodeableConcept\",\"Reference\"],\"ResearchElementDefinition.characteristic.definition\":[\"CodeableConcept\",\"Canonical\",\"Expression\",\"DataRequirement\"],\"ResearchElementDefinition.characteristic.participantEffective\":[\"DateTime\",\"Period\",\"Duration\",\"Timing\"],\"ResearchElementDefinition.characteristic.studyEffective\":[\"DateTime\",\"Period\",\"Duration\",\"Timing\"],\"ResearchElementDefinition.subject\":[\"CodeableConcept\",\"Reference\"],\"RiskAssessment.occurrence\":[\"DateTime\",\"Period\"],\"RiskAssessment.prediction.probability\":[\"Decimal\",\"Range\"],\"RiskAssessment.prediction.when\":[\"Period\",\"Range\"],\"ServiceRequest.asNeeded\":[\"Boolean\",\"CodeableConcept\"],\"ServiceRequest.occurrence\":[\"DateTime\",\"Period\",\"Timing\"],\"ServiceRequest.quantity\":[\"Quantity\",\"Ratio\",\"Range\"],\"Specimen.collection.collected\":[\"DateTime\",\"Period\"],\"Specimen.collection.fastingStatus\":[\"CodeableConcept\",\"Duration\"],\"Specimen.container.additive\":[\"CodeableConcept\",\"Reference\"],\"Specimen.processing.time\":[\"DateTime\",\"Period\"],\"SpecimenDefinition.typeTested.container.additive.additive\":[\"CodeableConcept\",\"Reference\"],\"SpecimenDefinition.typeTested.container.minimumVolume\":[\"Quantity\",\"String\"],\"StructureMap.group.rule.source.defaultValue\":[\"Base64Binary\",\"Boolean\",\"Canonical\",\"Code\",\"Date\",\"DateTime\",\"Decimal\",\"Id\",\"Instant\",\"Integer\",\"Markdown\",\"Oid\",\"PositiveInt\",\"String\",\"Time\",\"UnsignedInt\",\"Uri\",\"Url\",\"Uuid\",\"Address\",\"Age\",\"Annotation\",\"Attachment\",\"CodeableConcept\",\"Coding\",\"ContactPoint\",\"Count\",\"Distance\",\"Duration\",\"HumanName\",\"Identifier\",\"Money\",\"Period\",\"Quantity\",\"Range\",\"Ratio\",\"Reference\",\"SampledData\",\"Signature\",\"Timing\",\"ContactDetail\",\"Contributor\",\"DataRequirement\",\"Expression\",\"ParameterDefinition\",\"RelatedArtifact\",\"TriggerDefinition\",\"UsageContext\",\"Dosage\",\"Meta\"],\"StructureMap.group.rule.target.parameter.value\":[\"Id\",\"String\",\"Boolean\",\"Integer\",\"Decimal\"],\"Substance.ingredient.substance\":[\"CodeableConcept\",\"Reference\"],\"SubstanceAmount.amount\":[\"Quantity\",\"Range\",\"String\"],\"SubstanceReferenceInformation.target.amount\":[\"Quantity\",\"Range\",\"String\"],\"SubstanceSpecification.moiety.amount\":[\"Quantity\",\"String\"],\"SubstanceSpecification.property.amount\":[\"Quantity\",\"String\"],\"SubstanceSpecification.property.definingSubstance\":[\"Reference\",\"CodeableConcept\"],\"SubstanceSpecification.relationship.amount\":[\"Quantity\",\"Range\",\"Ratio\",\"String\"],\"SubstanceSpecification.relationship.substance\":[\"Reference\",\"CodeableConcept\"],\"SupplyDelivery.occurrence\":[\"DateTime\",\"Period\",\"Timing\"],\"SupplyDelivery.suppliedItem.item\":[\"CodeableConcept\",\"Reference\"],\"SupplyRequest.item\":[\"CodeableConcept\",\"Reference\"],\"SupplyRequest.occurrence\":[\"DateTime\",\"Period\",\"Timing\"],\"SupplyRequest.parameter.value\":[\"CodeableConcept\",\"Quantity\",\"Range\",\"Boolean\"],\"Task.input.value\":[\"Base64Binary\",\"Boolean\",\"Canonical\",\"Code\",\"Date\",\"DateTime\",\"Decimal\",\"Id\",\"Instant\",\"Integer\",\"Markdown\",\"Oid\",\"PositiveInt\",\"String\",\"Time\",\"UnsignedInt\",\"Uri\",\"Url\",\"Uuid\",\"Address\",\"Age\",\"Annotation\",\"Attachment\",\"CodeableConcept\",\"Coding\",\"ContactPoint\",\"Count\",\"Distance\",\"Duration\",\"HumanName\",\"Identifier\",\"Money\",\"Period\",\"Quantity\",\"Range\",\"Ratio\",\"Reference\",\"SampledData\",\"Signature\",\"Timing\",\"ContactDetail\",\"Contributor\",\"DataRequirement\",\"Expression\",\"ParameterDefinition\",\"RelatedArtifact\",\"TriggerDefinition\",\"UsageContext\",\"Dosage\",\"Meta\"],\"Task.output.value\":[\"Base64Binary\",\"Boolean\",\"Canonical\",\"Code\",\"Date\",\"DateTime\",\"Decimal\",\"Id\",\"Instant\",\"Integer\",\"Markdown\",\"Oid\",\"PositiveInt\",\"String\",\"Time\",\"UnsignedInt\",\"Uri\",\"Url\",\"Uuid\",\"Address\",\"Age\",\"Annotation\",\"Attachment\",\"CodeableConcept\",\"Coding\",\"ContactPoint\",\"Count\",\"Distance\",\"Duration\",\"HumanName\",\"Identifier\",\"Money\",\"Period\",\"Quantity\",\"Range\",\"Ratio\",\"Reference\",\"SampledData\",\"Signature\",\"Timing\",\"ContactDetail\",\"Contributor\",\"DataRequirement\",\"Expression\",\"ParameterDefinition\",\"RelatedArtifact\",\"TriggerDefinition\",\"UsageContext\",\"Dosage\",\"Meta\"],\"Timing.repeat.bounds\":[\"Duration\",\"Range\",\"Period\"],\"TriggerDefinition.timing\":[\"Timing\",\"Reference\",\"Date\",\"DateTime\"],\"UsageContext.value\":[\"CodeableConcept\",\"Quantity\",\"Range\",\"Reference\"],\"ValueSet.expansion.parameter.value\":[\"String\",\"Boolean\",\"Integer\",\"Decimal\",\"Uri\",\"Code\",\"DateTime\"]}')},752:function(e){\"use strict\";e.exports=JSON.parse('{\"Account.contained\":\"Resource\",\"Account.coverage.coverage\":\"Reference\",\"Account.coverage.extension\":\"Extension\",\"Account.coverage.id\":\"System.String\",\"Account.coverage.modifierExtension\":\"Extension\",\"Account.coverage.priority\":\"positiveInt\",\"Account.description\":\"string\",\"Account.extension\":\"Extension\",\"Account.guarantor.extension\":\"Extension\",\"Account.guarantor.id\":\"System.String\",\"Account.guarantor.modifierExtension\":\"Extension\",\"Account.guarantor.onHold\":\"boolean\",\"Account.guarantor.party\":\"Reference\",\"Account.guarantor.period\":\"Period\",\"Account.id\":\"System.String\",\"Account.identifier\":\"Identifier\",\"Account.implicitRules\":\"uri\",\"Account.language\":\"code\",\"Account.meta\":\"Meta\",\"Account.modifierExtension\":\"Extension\",\"Account.name\":\"string\",\"Account.owner\":\"Reference\",\"Account.partOf\":\"Reference\",\"Account.servicePeriod\":\"Period\",\"Account.status\":\"code\",\"Account.subject\":\"Reference\",\"Account.text\":\"Narrative\",\"Account.type\":\"CodeableConcept\",\"ActivityDefinition.approvalDate\":\"date\",\"ActivityDefinition.author\":\"ContactDetail\",\"ActivityDefinition.bodySite\":\"CodeableConcept\",\"ActivityDefinition.code\":\"CodeableConcept\",\"ActivityDefinition.contact\":\"ContactDetail\",\"ActivityDefinition.contained\":\"Resource\",\"ActivityDefinition.copyright\":\"markdown\",\"ActivityDefinition.date\":\"dateTime\",\"ActivityDefinition.description\":\"markdown\",\"ActivityDefinition.doNotPerform\":\"boolean\",\"ActivityDefinition.dosage\":\"Dosage\",\"ActivityDefinition.dynamicValue.expression\":\"Expression\",\"ActivityDefinition.dynamicValue.extension\":\"Extension\",\"ActivityDefinition.dynamicValue.id\":\"System.String\",\"ActivityDefinition.dynamicValue.modifierExtension\":\"Extension\",\"ActivityDefinition.dynamicValue.path\":\"string\",\"ActivityDefinition.editor\":\"ContactDetail\",\"ActivityDefinition.effectivePeriod\":\"Period\",\"ActivityDefinition.endorser\":\"ContactDetail\",\"ActivityDefinition.experimental\":\"boolean\",\"ActivityDefinition.extension\":\"Extension\",\"ActivityDefinition.id\":\"System.String\",\"ActivityDefinition.identifier\":\"Identifier\",\"ActivityDefinition.implicitRules\":\"uri\",\"ActivityDefinition.intent\":\"code\",\"ActivityDefinition.jurisdiction\":\"CodeableConcept\",\"ActivityDefinition.kind\":\"code\",\"ActivityDefinition.language\":\"code\",\"ActivityDefinition.lastReviewDate\":\"date\",\"ActivityDefinition.library\":\"canonical\",\"ActivityDefinition.location\":\"Reference\",\"ActivityDefinition.meta\":\"Meta\",\"ActivityDefinition.modifierExtension\":\"Extension\",\"ActivityDefinition.name\":\"string\",\"ActivityDefinition.observationRequirement\":\"Reference\",\"ActivityDefinition.observationResultRequirement\":\"Reference\",\"ActivityDefinition.participant.extension\":\"Extension\",\"ActivityDefinition.participant.id\":\"System.String\",\"ActivityDefinition.participant.modifierExtension\":\"Extension\",\"ActivityDefinition.participant.role\":\"CodeableConcept\",\"ActivityDefinition.participant.type\":\"code\",\"ActivityDefinition.priority\":\"code\",\"ActivityDefinition.productCodeableConcept\":\"CodeableConcept\",\"ActivityDefinition.productReference\":\"Reference\",\"ActivityDefinition.profile\":\"canonical\",\"ActivityDefinition.publisher\":\"string\",\"ActivityDefinition.purpose\":\"markdown\",\"ActivityDefinition.quantity\":\"Quantity\",\"ActivityDefinition.relatedArtifact\":\"RelatedArtifact\",\"ActivityDefinition.reviewer\":\"ContactDetail\",\"ActivityDefinition.specimenRequirement\":\"Reference\",\"ActivityDefinition.status\":\"code\",\"ActivityDefinition.subjectCodeableConcept\":\"CodeableConcept\",\"ActivityDefinition.subjectReference\":\"Reference\",\"ActivityDefinition.subtitle\":\"string\",\"ActivityDefinition.text\":\"Narrative\",\"ActivityDefinition.timingAge\":\"Age\",\"ActivityDefinition.timingDateTime\":\"dateTime\",\"ActivityDefinition.timingDuration\":\"Duration\",\"ActivityDefinition.timingPeriod\":\"Period\",\"ActivityDefinition.timingRange\":\"Range\",\"ActivityDefinition.timingTiming\":\"Timing\",\"ActivityDefinition.title\":\"string\",\"ActivityDefinition.topic\":\"CodeableConcept\",\"ActivityDefinition.transform\":\"canonical\",\"ActivityDefinition.url\":\"uri\",\"ActivityDefinition.usage\":\"string\",\"ActivityDefinition.useContext\":\"UsageContext\",\"ActivityDefinition.version\":\"string\",\"Address.city\":\"string\",\"Address.country\":\"string\",\"Address.district\":\"string\",\"Address.extension\":\"Extension\",\"Address.id\":\"System.String\",\"Address.line\":\"string\",\"Address.period\":\"Period\",\"Address.postalCode\":\"string\",\"Address.state\":\"string\",\"Address.text\":\"string\",\"Address.type\":\"code\",\"Address.use\":\"code\",\"AdverseEvent.actuality\":\"code\",\"AdverseEvent.category\":\"CodeableConcept\",\"AdverseEvent.contained\":\"Resource\",\"AdverseEvent.contributor\":\"Reference\",\"AdverseEvent.date\":\"dateTime\",\"AdverseEvent.detected\":\"dateTime\",\"AdverseEvent.encounter\":\"Reference\",\"AdverseEvent.event\":\"CodeableConcept\",\"AdverseEvent.extension\":\"Extension\",\"AdverseEvent.id\":\"System.String\",\"AdverseEvent.identifier\":\"Identifier\",\"AdverseEvent.implicitRules\":\"uri\",\"AdverseEvent.language\":\"code\",\"AdverseEvent.location\":\"Reference\",\"AdverseEvent.meta\":\"Meta\",\"AdverseEvent.modifierExtension\":\"Extension\",\"AdverseEvent.outcome\":\"CodeableConcept\",\"AdverseEvent.recordedDate\":\"dateTime\",\"AdverseEvent.recorder\":\"Reference\",\"AdverseEvent.referenceDocument\":\"Reference\",\"AdverseEvent.resultingCondition\":\"Reference\",\"AdverseEvent.seriousness\":\"CodeableConcept\",\"AdverseEvent.severity\":\"CodeableConcept\",\"AdverseEvent.study\":\"Reference\",\"AdverseEvent.subject\":\"Reference\",\"AdverseEvent.subjectMedicalHistory\":\"Reference\",\"AdverseEvent.suspectEntity.causality.assessment\":\"CodeableConcept\",\"AdverseEvent.suspectEntity.causality.author\":\"Reference\",\"AdverseEvent.suspectEntity.causality.extension\":\"Extension\",\"AdverseEvent.suspectEntity.causality.id\":\"System.String\",\"AdverseEvent.suspectEntity.causality.method\":\"CodeableConcept\",\"AdverseEvent.suspectEntity.causality.modifierExtension\":\"Extension\",\"AdverseEvent.suspectEntity.causality.productRelatedness\":\"string\",\"AdverseEvent.suspectEntity.extension\":\"Extension\",\"AdverseEvent.suspectEntity.id\":\"System.String\",\"AdverseEvent.suspectEntity.instance\":\"Reference\",\"AdverseEvent.suspectEntity.modifierExtension\":\"Extension\",\"AdverseEvent.text\":\"Narrative\",\"Age.code\":\"code\",\"Age.comparator\":\"code\",\"Age.extension\":\"Extension\",\"Age.id\":\"System.String\",\"Age.system\":\"uri\",\"Age.unit\":\"string\",\"Age.value\":\"decimal\",\"AllergyIntolerance.asserter\":\"Reference\",\"AllergyIntolerance.category\":\"code\",\"AllergyIntolerance.clinicalStatus\":\"CodeableConcept\",\"AllergyIntolerance.code\":\"CodeableConcept\",\"AllergyIntolerance.contained\":\"Resource\",\"AllergyIntolerance.criticality\":\"code\",\"AllergyIntolerance.encounter\":\"Reference\",\"AllergyIntolerance.extension\":\"Extension\",\"AllergyIntolerance.id\":\"System.String\",\"AllergyIntolerance.identifier\":\"Identifier\",\"AllergyIntolerance.implicitRules\":\"uri\",\"AllergyIntolerance.language\":\"code\",\"AllergyIntolerance.lastOccurrence\":\"dateTime\",\"AllergyIntolerance.meta\":\"Meta\",\"AllergyIntolerance.modifierExtension\":\"Extension\",\"AllergyIntolerance.note\":\"Annotation\",\"AllergyIntolerance.onsetAge\":\"Age\",\"AllergyIntolerance.onsetDateTime\":\"dateTime\",\"AllergyIntolerance.onsetPeriod\":\"Period\",\"AllergyIntolerance.onsetRange\":\"Range\",\"AllergyIntolerance.onsetString\":\"string\",\"AllergyIntolerance.patient\":\"Reference\",\"AllergyIntolerance.reaction.description\":\"string\",\"AllergyIntolerance.reaction.exposureRoute\":\"CodeableConcept\",\"AllergyIntolerance.reaction.extension\":\"Extension\",\"AllergyIntolerance.reaction.id\":\"System.String\",\"AllergyIntolerance.reaction.manifestation\":\"CodeableConcept\",\"AllergyIntolerance.reaction.modifierExtension\":\"Extension\",\"AllergyIntolerance.reaction.note\":\"Annotation\",\"AllergyIntolerance.reaction.onset\":\"dateTime\",\"AllergyIntolerance.reaction.severity\":\"code\",\"AllergyIntolerance.reaction.substance\":\"CodeableConcept\",\"AllergyIntolerance.recordedDate\":\"dateTime\",\"AllergyIntolerance.recorder\":\"Reference\",\"AllergyIntolerance.text\":\"Narrative\",\"AllergyIntolerance.type\":\"code\",\"AllergyIntolerance.verificationStatus\":\"CodeableConcept\",\"Annotation.authorReference\":\"Reference\",\"Annotation.authorString\":\"string\",\"Annotation.extension\":\"Extension\",\"Annotation.id\":\"System.String\",\"Annotation.text\":\"markdown\",\"Annotation.time\":\"dateTime\",\"Appointment.appointmentType\":\"CodeableConcept\",\"Appointment.basedOn\":\"Reference\",\"Appointment.cancelationReason\":\"CodeableConcept\",\"Appointment.comment\":\"string\",\"Appointment.contained\":\"Resource\",\"Appointment.created\":\"dateTime\",\"Appointment.description\":\"string\",\"Appointment.end\":\"instant\",\"Appointment.extension\":\"Extension\",\"Appointment.id\":\"System.String\",\"Appointment.identifier\":\"Identifier\",\"Appointment.implicitRules\":\"uri\",\"Appointment.language\":\"code\",\"Appointment.meta\":\"Meta\",\"Appointment.minutesDuration\":\"positiveInt\",\"Appointment.modifierExtension\":\"Extension\",\"Appointment.participant.actor\":\"Reference\",\"Appointment.participant.extension\":\"Extension\",\"Appointment.participant.id\":\"System.String\",\"Appointment.participant.modifierExtension\":\"Extension\",\"Appointment.participant.period\":\"Period\",\"Appointment.participant.required\":\"code\",\"Appointment.participant.status\":\"code\",\"Appointment.participant.type\":\"CodeableConcept\",\"Appointment.patientInstruction\":\"string\",\"Appointment.priority\":\"unsignedInt\",\"Appointment.reasonCode\":\"CodeableConcept\",\"Appointment.reasonReference\":\"Reference\",\"Appointment.requestedPeriod\":\"Period\",\"Appointment.serviceCategory\":\"CodeableConcept\",\"Appointment.serviceType\":\"CodeableConcept\",\"Appointment.slot\":\"Reference\",\"Appointment.specialty\":\"CodeableConcept\",\"Appointment.start\":\"instant\",\"Appointment.status\":\"code\",\"Appointment.supportingInformation\":\"Reference\",\"Appointment.text\":\"Narrative\",\"AppointmentResponse.actor\":\"Reference\",\"AppointmentResponse.appointment\":\"Reference\",\"AppointmentResponse.comment\":\"string\",\"AppointmentResponse.contained\":\"Resource\",\"AppointmentResponse.end\":\"instant\",\"AppointmentResponse.extension\":\"Extension\",\"AppointmentResponse.id\":\"System.String\",\"AppointmentResponse.identifier\":\"Identifier\",\"AppointmentResponse.implicitRules\":\"uri\",\"AppointmentResponse.language\":\"code\",\"AppointmentResponse.meta\":\"Meta\",\"AppointmentResponse.modifierExtension\":\"Extension\",\"AppointmentResponse.participantStatus\":\"code\",\"AppointmentResponse.participantType\":\"CodeableConcept\",\"AppointmentResponse.start\":\"instant\",\"AppointmentResponse.text\":\"Narrative\",\"Attachment.contentType\":\"code\",\"Attachment.creation\":\"dateTime\",\"Attachment.data\":\"base64Binary\",\"Attachment.extension\":\"Extension\",\"Attachment.hash\":\"base64Binary\",\"Attachment.id\":\"System.String\",\"Attachment.language\":\"code\",\"Attachment.size\":\"unsignedInt\",\"Attachment.title\":\"string\",\"Attachment.url\":\"url\",\"AuditEvent.action\":\"code\",\"AuditEvent.agent.altId\":\"string\",\"AuditEvent.agent.extension\":\"Extension\",\"AuditEvent.agent.id\":\"System.String\",\"AuditEvent.agent.location\":\"Reference\",\"AuditEvent.agent.media\":\"Coding\",\"AuditEvent.agent.modifierExtension\":\"Extension\",\"AuditEvent.agent.name\":\"string\",\"AuditEvent.agent.network.address\":\"string\",\"AuditEvent.agent.network.extension\":\"Extension\",\"AuditEvent.agent.network.id\":\"System.String\",\"AuditEvent.agent.network.modifierExtension\":\"Extension\",\"AuditEvent.agent.network.type\":\"code\",\"AuditEvent.agent.policy\":\"uri\",\"AuditEvent.agent.purposeOfUse\":\"CodeableConcept\",\"AuditEvent.agent.requestor\":\"boolean\",\"AuditEvent.agent.role\":\"CodeableConcept\",\"AuditEvent.agent.type\":\"CodeableConcept\",\"AuditEvent.agent.who\":\"Reference\",\"AuditEvent.contained\":\"Resource\",\"AuditEvent.entity.description\":\"string\",\"AuditEvent.entity.detail.extension\":\"Extension\",\"AuditEvent.entity.detail.id\":\"System.String\",\"AuditEvent.entity.detail.modifierExtension\":\"Extension\",\"AuditEvent.entity.detail.type\":\"string\",\"AuditEvent.entity.detail.valueBase64Binary\":\"base64Binary\",\"AuditEvent.entity.detail.valueString\":\"string\",\"AuditEvent.entity.extension\":\"Extension\",\"AuditEvent.entity.id\":\"System.String\",\"AuditEvent.entity.lifecycle\":\"Coding\",\"AuditEvent.entity.modifierExtension\":\"Extension\",\"AuditEvent.entity.name\":\"string\",\"AuditEvent.entity.query\":\"base64Binary\",\"AuditEvent.entity.role\":\"Coding\",\"AuditEvent.entity.securityLabel\":\"Coding\",\"AuditEvent.entity.type\":\"Coding\",\"AuditEvent.entity.what\":\"Reference\",\"AuditEvent.extension\":\"Extension\",\"AuditEvent.id\":\"System.String\",\"AuditEvent.implicitRules\":\"uri\",\"AuditEvent.language\":\"code\",\"AuditEvent.meta\":\"Meta\",\"AuditEvent.modifierExtension\":\"Extension\",\"AuditEvent.outcome\":\"code\",\"AuditEvent.outcomeDesc\":\"string\",\"AuditEvent.period\":\"Period\",\"AuditEvent.purposeOfEvent\":\"CodeableConcept\",\"AuditEvent.recorded\":\"instant\",\"AuditEvent.source.extension\":\"Extension\",\"AuditEvent.source.id\":\"System.String\",\"AuditEvent.source.modifierExtension\":\"Extension\",\"AuditEvent.source.observer\":\"Reference\",\"AuditEvent.source.site\":\"string\",\"AuditEvent.source.type\":\"Coding\",\"AuditEvent.subtype\":\"Coding\",\"AuditEvent.text\":\"Narrative\",\"AuditEvent.type\":\"Coding\",\"BackboneElement.extension\":\"Extension\",\"BackboneElement.id\":\"System.String\",\"BackboneElement.modifierExtension\":\"Extension\",\"Basic.author\":\"Reference\",\"Basic.code\":\"CodeableConcept\",\"Basic.contained\":\"Resource\",\"Basic.created\":\"date\",\"Basic.extension\":\"Extension\",\"Basic.id\":\"System.String\",\"Basic.identifier\":\"Identifier\",\"Basic.implicitRules\":\"uri\",\"Basic.language\":\"code\",\"Basic.meta\":\"Meta\",\"Basic.modifierExtension\":\"Extension\",\"Basic.subject\":\"Reference\",\"Basic.text\":\"Narrative\",\"Binary.contentType\":\"code\",\"Binary.data\":\"base64Binary\",\"Binary.id\":\"System.String\",\"Binary.implicitRules\":\"uri\",\"Binary.language\":\"code\",\"Binary.meta\":\"Meta\",\"Binary.securityContext\":\"Reference\",\"BiologicallyDerivedProduct.collection.collectedDateTime\":\"dateTime\",\"BiologicallyDerivedProduct.collection.collectedPeriod\":\"Period\",\"BiologicallyDerivedProduct.collection.collector\":\"Reference\",\"BiologicallyDerivedProduct.collection.extension\":\"Extension\",\"BiologicallyDerivedProduct.collection.id\":\"System.String\",\"BiologicallyDerivedProduct.collection.modifierExtension\":\"Extension\",\"BiologicallyDerivedProduct.collection.source\":\"Reference\",\"BiologicallyDerivedProduct.contained\":\"Resource\",\"BiologicallyDerivedProduct.extension\":\"Extension\",\"BiologicallyDerivedProduct.id\":\"System.String\",\"BiologicallyDerivedProduct.identifier\":\"Identifier\",\"BiologicallyDerivedProduct.implicitRules\":\"uri\",\"BiologicallyDerivedProduct.language\":\"code\",\"BiologicallyDerivedProduct.manipulation.description\":\"string\",\"BiologicallyDerivedProduct.manipulation.extension\":\"Extension\",\"BiologicallyDerivedProduct.manipulation.id\":\"System.String\",\"BiologicallyDerivedProduct.manipulation.modifierExtension\":\"Extension\",\"BiologicallyDerivedProduct.manipulation.timeDateTime\":\"dateTime\",\"BiologicallyDerivedProduct.manipulation.timePeriod\":\"Period\",\"BiologicallyDerivedProduct.meta\":\"Meta\",\"BiologicallyDerivedProduct.modifierExtension\":\"Extension\",\"BiologicallyDerivedProduct.parent\":\"Reference\",\"BiologicallyDerivedProduct.processing.additive\":\"Reference\",\"BiologicallyDerivedProduct.processing.description\":\"string\",\"BiologicallyDerivedProduct.processing.extension\":\"Extension\",\"BiologicallyDerivedProduct.processing.id\":\"System.String\",\"BiologicallyDerivedProduct.processing.modifierExtension\":\"Extension\",\"BiologicallyDerivedProduct.processing.procedure\":\"CodeableConcept\",\"BiologicallyDerivedProduct.processing.timeDateTime\":\"dateTime\",\"BiologicallyDerivedProduct.processing.timePeriod\":\"Period\",\"BiologicallyDerivedProduct.productCategory\":\"code\",\"BiologicallyDerivedProduct.productCode\":\"CodeableConcept\",\"BiologicallyDerivedProduct.quantity\":\"integer\",\"BiologicallyDerivedProduct.request\":\"Reference\",\"BiologicallyDerivedProduct.status\":\"code\",\"BiologicallyDerivedProduct.storage.description\":\"string\",\"BiologicallyDerivedProduct.storage.duration\":\"Period\",\"BiologicallyDerivedProduct.storage.extension\":\"Extension\",\"BiologicallyDerivedProduct.storage.id\":\"System.String\",\"BiologicallyDerivedProduct.storage.modifierExtension\":\"Extension\",\"BiologicallyDerivedProduct.storage.scale\":\"code\",\"BiologicallyDerivedProduct.storage.temperature\":\"decimal\",\"BiologicallyDerivedProduct.text\":\"Narrative\",\"BodyStructure.active\":\"boolean\",\"BodyStructure.contained\":\"Resource\",\"BodyStructure.description\":\"string\",\"BodyStructure.extension\":\"Extension\",\"BodyStructure.id\":\"System.String\",\"BodyStructure.identifier\":\"Identifier\",\"BodyStructure.image\":\"Attachment\",\"BodyStructure.implicitRules\":\"uri\",\"BodyStructure.language\":\"code\",\"BodyStructure.location\":\"CodeableConcept\",\"BodyStructure.locationQualifier\":\"CodeableConcept\",\"BodyStructure.meta\":\"Meta\",\"BodyStructure.modifierExtension\":\"Extension\",\"BodyStructure.morphology\":\"CodeableConcept\",\"BodyStructure.patient\":\"Reference\",\"BodyStructure.text\":\"Narrative\",\"Bundle.entry.extension\":\"Extension\",\"Bundle.entry.fullUrl\":\"uri\",\"Bundle.entry.id\":\"System.String\",\"Bundle.entry.modifierExtension\":\"Extension\",\"Bundle.entry.request.extension\":\"Extension\",\"Bundle.entry.request.id\":\"System.String\",\"Bundle.entry.request.ifMatch\":\"string\",\"Bundle.entry.request.ifModifiedSince\":\"instant\",\"Bundle.entry.request.ifNoneExist\":\"string\",\"Bundle.entry.request.ifNoneMatch\":\"string\",\"Bundle.entry.request.method\":\"code\",\"Bundle.entry.request.modifierExtension\":\"Extension\",\"Bundle.entry.request.url\":\"uri\",\"Bundle.entry.resource\":\"Resource\",\"Bundle.entry.response.etag\":\"string\",\"Bundle.entry.response.extension\":\"Extension\",\"Bundle.entry.response.id\":\"System.String\",\"Bundle.entry.response.lastModified\":\"instant\",\"Bundle.entry.response.location\":\"uri\",\"Bundle.entry.response.modifierExtension\":\"Extension\",\"Bundle.entry.response.outcome\":\"Resource\",\"Bundle.entry.response.status\":\"string\",\"Bundle.entry.search.extension\":\"Extension\",\"Bundle.entry.search.id\":\"System.String\",\"Bundle.entry.search.mode\":\"code\",\"Bundle.entry.search.modifierExtension\":\"Extension\",\"Bundle.entry.search.score\":\"decimal\",\"Bundle.id\":\"System.String\",\"Bundle.identifier\":\"Identifier\",\"Bundle.implicitRules\":\"uri\",\"Bundle.language\":\"code\",\"Bundle.link.extension\":\"Extension\",\"Bundle.link.id\":\"System.String\",\"Bundle.link.modifierExtension\":\"Extension\",\"Bundle.link.relation\":\"string\",\"Bundle.link.url\":\"uri\",\"Bundle.meta\":\"Meta\",\"Bundle.signature\":\"Signature\",\"Bundle.timestamp\":\"instant\",\"Bundle.total\":\"unsignedInt\",\"Bundle.type\":\"code\",\"CapabilityStatement.contact\":\"ContactDetail\",\"CapabilityStatement.contained\":\"Resource\",\"CapabilityStatement.copyright\":\"markdown\",\"CapabilityStatement.date\":\"dateTime\",\"CapabilityStatement.description\":\"markdown\",\"CapabilityStatement.document.documentation\":\"markdown\",\"CapabilityStatement.document.extension\":\"Extension\",\"CapabilityStatement.document.id\":\"System.String\",\"CapabilityStatement.document.mode\":\"code\",\"CapabilityStatement.document.modifierExtension\":\"Extension\",\"CapabilityStatement.document.profile\":\"canonical\",\"CapabilityStatement.experimental\":\"boolean\",\"CapabilityStatement.extension\":\"Extension\",\"CapabilityStatement.fhirVersion\":\"code\",\"CapabilityStatement.format\":\"code\",\"CapabilityStatement.id\":\"System.String\",\"CapabilityStatement.implementation.custodian\":\"Reference\",\"CapabilityStatement.implementation.description\":\"string\",\"CapabilityStatement.implementation.extension\":\"Extension\",\"CapabilityStatement.implementation.id\":\"System.String\",\"CapabilityStatement.implementation.modifierExtension\":\"Extension\",\"CapabilityStatement.implementation.url\":\"url\",\"CapabilityStatement.implementationGuide\":\"canonical\",\"CapabilityStatement.implicitRules\":\"uri\",\"CapabilityStatement.imports\":\"canonical\",\"CapabilityStatement.instantiates\":\"canonical\",\"CapabilityStatement.jurisdiction\":\"CodeableConcept\",\"CapabilityStatement.kind\":\"code\",\"CapabilityStatement.language\":\"code\",\"CapabilityStatement.messaging.documentation\":\"markdown\",\"CapabilityStatement.messaging.endpoint.address\":\"url\",\"CapabilityStatement.messaging.endpoint.extension\":\"Extension\",\"CapabilityStatement.messaging.endpoint.id\":\"System.String\",\"CapabilityStatement.messaging.endpoint.modifierExtension\":\"Extension\",\"CapabilityStatement.messaging.endpoint.protocol\":\"Coding\",\"CapabilityStatement.messaging.extension\":\"Extension\",\"CapabilityStatement.messaging.id\":\"System.String\",\"CapabilityStatement.messaging.modifierExtension\":\"Extension\",\"CapabilityStatement.messaging.reliableCache\":\"unsignedInt\",\"CapabilityStatement.messaging.supportedMessage.definition\":\"canonical\",\"CapabilityStatement.messaging.supportedMessage.extension\":\"Extension\",\"CapabilityStatement.messaging.supportedMessage.id\":\"System.String\",\"CapabilityStatement.messaging.supportedMessage.mode\":\"code\",\"CapabilityStatement.messaging.supportedMessage.modifierExtension\":\"Extension\",\"CapabilityStatement.meta\":\"Meta\",\"CapabilityStatement.modifierExtension\":\"Extension\",\"CapabilityStatement.name\":\"string\",\"CapabilityStatement.patchFormat\":\"code\",\"CapabilityStatement.publisher\":\"string\",\"CapabilityStatement.purpose\":\"markdown\",\"CapabilityStatement.rest.compartment\":\"canonical\",\"CapabilityStatement.rest.documentation\":\"markdown\",\"CapabilityStatement.rest.extension\":\"Extension\",\"CapabilityStatement.rest.id\":\"System.String\",\"CapabilityStatement.rest.interaction.code\":\"code\",\"CapabilityStatement.rest.interaction.documentation\":\"markdown\",\"CapabilityStatement.rest.interaction.extension\":\"Extension\",\"CapabilityStatement.rest.interaction.id\":\"System.String\",\"CapabilityStatement.rest.interaction.modifierExtension\":\"Extension\",\"CapabilityStatement.rest.mode\":\"code\",\"CapabilityStatement.rest.modifierExtension\":\"Extension\",\"CapabilityStatement.rest.resource.conditionalCreate\":\"boolean\",\"CapabilityStatement.rest.resource.conditionalDelete\":\"code\",\"CapabilityStatement.rest.resource.conditionalRead\":\"code\",\"CapabilityStatement.rest.resource.conditionalUpdate\":\"boolean\",\"CapabilityStatement.rest.resource.documentation\":\"markdown\",\"CapabilityStatement.rest.resource.extension\":\"Extension\",\"CapabilityStatement.rest.resource.id\":\"System.String\",\"CapabilityStatement.rest.resource.interaction.code\":\"code\",\"CapabilityStatement.rest.resource.interaction.documentation\":\"markdown\",\"CapabilityStatement.rest.resource.interaction.extension\":\"Extension\",\"CapabilityStatement.rest.resource.interaction.id\":\"System.String\",\"CapabilityStatement.rest.resource.interaction.modifierExtension\":\"Extension\",\"CapabilityStatement.rest.resource.modifierExtension\":\"Extension\",\"CapabilityStatement.rest.resource.operation.definition\":\"canonical\",\"CapabilityStatement.rest.resource.operation.documentation\":\"markdown\",\"CapabilityStatement.rest.resource.operation.extension\":\"Extension\",\"CapabilityStatement.rest.resource.operation.id\":\"System.String\",\"CapabilityStatement.rest.resource.operation.modifierExtension\":\"Extension\",\"CapabilityStatement.rest.resource.operation.name\":\"string\",\"CapabilityStatement.rest.resource.profile\":\"canonical\",\"CapabilityStatement.rest.resource.readHistory\":\"boolean\",\"CapabilityStatement.rest.resource.referencePolicy\":\"code\",\"CapabilityStatement.rest.resource.searchInclude\":\"string\",\"CapabilityStatement.rest.resource.searchParam.definition\":\"canonical\",\"CapabilityStatement.rest.resource.searchParam.documentation\":\"markdown\",\"CapabilityStatement.rest.resource.searchParam.extension\":\"Extension\",\"CapabilityStatement.rest.resource.searchParam.id\":\"System.String\",\"CapabilityStatement.rest.resource.searchParam.modifierExtension\":\"Extension\",\"CapabilityStatement.rest.resource.searchParam.name\":\"string\",\"CapabilityStatement.rest.resource.searchParam.type\":\"code\",\"CapabilityStatement.rest.resource.searchRevInclude\":\"string\",\"CapabilityStatement.rest.resource.supportedProfile\":\"canonical\",\"CapabilityStatement.rest.resource.type\":\"code\",\"CapabilityStatement.rest.resource.updateCreate\":\"boolean\",\"CapabilityStatement.rest.resource.versioning\":\"code\",\"CapabilityStatement.rest.security.cors\":\"boolean\",\"CapabilityStatement.rest.security.description\":\"markdown\",\"CapabilityStatement.rest.security.extension\":\"Extension\",\"CapabilityStatement.rest.security.id\":\"System.String\",\"CapabilityStatement.rest.security.modifierExtension\":\"Extension\",\"CapabilityStatement.rest.security.service\":\"CodeableConcept\",\"CapabilityStatement.software.extension\":\"Extension\",\"CapabilityStatement.software.id\":\"System.String\",\"CapabilityStatement.software.modifierExtension\":\"Extension\",\"CapabilityStatement.software.name\":\"string\",\"CapabilityStatement.software.releaseDate\":\"dateTime\",\"CapabilityStatement.software.version\":\"string\",\"CapabilityStatement.status\":\"code\",\"CapabilityStatement.text\":\"Narrative\",\"CapabilityStatement.title\":\"string\",\"CapabilityStatement.url\":\"uri\",\"CapabilityStatement.useContext\":\"UsageContext\",\"CapabilityStatement.version\":\"string\",\"CarePlan.activity.detail.code\":\"CodeableConcept\",\"CarePlan.activity.detail.dailyAmount\":\"Quantity\",\"CarePlan.activity.detail.description\":\"string\",\"CarePlan.activity.detail.doNotPerform\":\"boolean\",\"CarePlan.activity.detail.extension\":\"Extension\",\"CarePlan.activity.detail.goal\":\"Reference\",\"CarePlan.activity.detail.id\":\"System.String\",\"CarePlan.activity.detail.instantiatesCanonical\":\"canonical\",\"CarePlan.activity.detail.instantiatesUri\":\"uri\",\"CarePlan.activity.detail.kind\":\"code\",\"CarePlan.activity.detail.location\":\"Reference\",\"CarePlan.activity.detail.modifierExtension\":\"Extension\",\"CarePlan.activity.detail.performer\":\"Reference\",\"CarePlan.activity.detail.productCodeableConcept\":\"CodeableConcept\",\"CarePlan.activity.detail.productReference\":\"Reference\",\"CarePlan.activity.detail.quantity\":\"Quantity\",\"CarePlan.activity.detail.reasonCode\":\"CodeableConcept\",\"CarePlan.activity.detail.reasonReference\":\"Reference\",\"CarePlan.activity.detail.scheduledPeriod\":\"Period\",\"CarePlan.activity.detail.scheduledString\":\"string\",\"CarePlan.activity.detail.scheduledTiming\":\"Timing\",\"CarePlan.activity.detail.status\":\"code\",\"CarePlan.activity.detail.statusReason\":\"CodeableConcept\",\"CarePlan.activity.extension\":\"Extension\",\"CarePlan.activity.id\":\"System.String\",\"CarePlan.activity.modifierExtension\":\"Extension\",\"CarePlan.activity.outcomeCodeableConcept\":\"CodeableConcept\",\"CarePlan.activity.outcomeReference\":\"Reference\",\"CarePlan.activity.progress\":\"Annotation\",\"CarePlan.activity.reference\":\"Reference\",\"CarePlan.addresses\":\"Reference\",\"CarePlan.author\":\"Reference\",\"CarePlan.basedOn\":\"Reference\",\"CarePlan.careTeam\":\"Reference\",\"CarePlan.category\":\"CodeableConcept\",\"CarePlan.contained\":\"Resource\",\"CarePlan.contributor\":\"Reference\",\"CarePlan.created\":\"dateTime\",\"CarePlan.description\":\"string\",\"CarePlan.encounter\":\"Reference\",\"CarePlan.extension\":\"Extension\",\"CarePlan.goal\":\"Reference\",\"CarePlan.id\":\"System.String\",\"CarePlan.identifier\":\"Identifier\",\"CarePlan.implicitRules\":\"uri\",\"CarePlan.instantiatesCanonical\":\"canonical\",\"CarePlan.instantiatesUri\":\"uri\",\"CarePlan.intent\":\"code\",\"CarePlan.language\":\"code\",\"CarePlan.meta\":\"Meta\",\"CarePlan.modifierExtension\":\"Extension\",\"CarePlan.note\":\"Annotation\",\"CarePlan.partOf\":\"Reference\",\"CarePlan.period\":\"Period\",\"CarePlan.replaces\":\"Reference\",\"CarePlan.status\":\"code\",\"CarePlan.subject\":\"Reference\",\"CarePlan.supportingInfo\":\"Reference\",\"CarePlan.text\":\"Narrative\",\"CarePlan.title\":\"string\",\"CareTeam.category\":\"CodeableConcept\",\"CareTeam.contained\":\"Resource\",\"CareTeam.encounter\":\"Reference\",\"CareTeam.extension\":\"Extension\",\"CareTeam.id\":\"System.String\",\"CareTeam.identifier\":\"Identifier\",\"CareTeam.implicitRules\":\"uri\",\"CareTeam.language\":\"code\",\"CareTeam.managingOrganization\":\"Reference\",\"CareTeam.meta\":\"Meta\",\"CareTeam.modifierExtension\":\"Extension\",\"CareTeam.name\":\"string\",\"CareTeam.note\":\"Annotation\",\"CareTeam.participant.extension\":\"Extension\",\"CareTeam.participant.id\":\"System.String\",\"CareTeam.participant.member\":\"Reference\",\"CareTeam.participant.modifierExtension\":\"Extension\",\"CareTeam.participant.onBehalfOf\":\"Reference\",\"CareTeam.participant.period\":\"Period\",\"CareTeam.participant.role\":\"CodeableConcept\",\"CareTeam.period\":\"Period\",\"CareTeam.reasonCode\":\"CodeableConcept\",\"CareTeam.reasonReference\":\"Reference\",\"CareTeam.status\":\"code\",\"CareTeam.subject\":\"Reference\",\"CareTeam.telecom\":\"ContactPoint\",\"CareTeam.text\":\"Narrative\",\"CatalogEntry.additionalCharacteristic\":\"CodeableConcept\",\"CatalogEntry.additionalClassification\":\"CodeableConcept\",\"CatalogEntry.additionalIdentifier\":\"Identifier\",\"CatalogEntry.classification\":\"CodeableConcept\",\"CatalogEntry.contained\":\"Resource\",\"CatalogEntry.extension\":\"Extension\",\"CatalogEntry.id\":\"System.String\",\"CatalogEntry.identifier\":\"Identifier\",\"CatalogEntry.implicitRules\":\"uri\",\"CatalogEntry.language\":\"code\",\"CatalogEntry.lastUpdated\":\"dateTime\",\"CatalogEntry.meta\":\"Meta\",\"CatalogEntry.modifierExtension\":\"Extension\",\"CatalogEntry.orderable\":\"boolean\",\"CatalogEntry.referencedItem\":\"Reference\",\"CatalogEntry.relatedEntry.extension\":\"Extension\",\"CatalogEntry.relatedEntry.id\":\"System.String\",\"CatalogEntry.relatedEntry.item\":\"Reference\",\"CatalogEntry.relatedEntry.modifierExtension\":\"Extension\",\"CatalogEntry.relatedEntry.relationtype\":\"code\",\"CatalogEntry.status\":\"code\",\"CatalogEntry.text\":\"Narrative\",\"CatalogEntry.type\":\"CodeableConcept\",\"CatalogEntry.validTo\":\"dateTime\",\"CatalogEntry.validityPeriod\":\"Period\",\"ChargeItem.account\":\"Reference\",\"ChargeItem.bodysite\":\"CodeableConcept\",\"ChargeItem.code\":\"CodeableConcept\",\"ChargeItem.contained\":\"Resource\",\"ChargeItem.context\":\"Reference\",\"ChargeItem.costCenter\":\"Reference\",\"ChargeItem.definitionCanonical\":\"canonical\",\"ChargeItem.definitionUri\":\"uri\",\"ChargeItem.enteredDate\":\"dateTime\",\"ChargeItem.enterer\":\"Reference\",\"ChargeItem.extension\":\"Extension\",\"ChargeItem.factorOverride\":\"decimal\",\"ChargeItem.id\":\"System.String\",\"ChargeItem.identifier\":\"Identifier\",\"ChargeItem.implicitRules\":\"uri\",\"ChargeItem.language\":\"code\",\"ChargeItem.meta\":\"Meta\",\"ChargeItem.modifierExtension\":\"Extension\",\"ChargeItem.note\":\"Annotation\",\"ChargeItem.occurrenceDateTime\":\"dateTime\",\"ChargeItem.occurrencePeriod\":\"Period\",\"ChargeItem.occurrenceTiming\":\"Timing\",\"ChargeItem.overrideReason\":\"string\",\"ChargeItem.partOf\":\"Reference\",\"ChargeItem.performer.actor\":\"Reference\",\"ChargeItem.performer.extension\":\"Extension\",\"ChargeItem.performer.function\":\"CodeableConcept\",\"ChargeItem.performer.id\":\"System.String\",\"ChargeItem.performer.modifierExtension\":\"Extension\",\"ChargeItem.performingOrganization\":\"Reference\",\"ChargeItem.priceOverride\":\"Money\",\"ChargeItem.productCodeableConcept\":\"CodeableConcept\",\"ChargeItem.productReference\":\"Reference\",\"ChargeItem.quantity\":\"Quantity\",\"ChargeItem.reason\":\"CodeableConcept\",\"ChargeItem.requestingOrganization\":\"Reference\",\"ChargeItem.service\":\"Reference\",\"ChargeItem.status\":\"code\",\"ChargeItem.subject\":\"Reference\",\"ChargeItem.supportingInformation\":\"Reference\",\"ChargeItem.text\":\"Narrative\",\"ChargeItemDefinition.applicability.description\":\"string\",\"ChargeItemDefinition.applicability.expression\":\"string\",\"ChargeItemDefinition.applicability.extension\":\"Extension\",\"ChargeItemDefinition.applicability.id\":\"System.String\",\"ChargeItemDefinition.applicability.language\":\"string\",\"ChargeItemDefinition.applicability.modifierExtension\":\"Extension\",\"ChargeItemDefinition.approvalDate\":\"date\",\"ChargeItemDefinition.code\":\"CodeableConcept\",\"ChargeItemDefinition.contact\":\"ContactDetail\",\"ChargeItemDefinition.contained\":\"Resource\",\"ChargeItemDefinition.copyright\":\"markdown\",\"ChargeItemDefinition.date\":\"dateTime\",\"ChargeItemDefinition.derivedFromUri\":\"uri\",\"ChargeItemDefinition.description\":\"markdown\",\"ChargeItemDefinition.effectivePeriod\":\"Period\",\"ChargeItemDefinition.experimental\":\"boolean\",\"ChargeItemDefinition.extension\":\"Extension\",\"ChargeItemDefinition.id\":\"System.String\",\"ChargeItemDefinition.identifier\":\"Identifier\",\"ChargeItemDefinition.implicitRules\":\"uri\",\"ChargeItemDefinition.instance\":\"Reference\",\"ChargeItemDefinition.jurisdiction\":\"CodeableConcept\",\"ChargeItemDefinition.language\":\"code\",\"ChargeItemDefinition.lastReviewDate\":\"date\",\"ChargeItemDefinition.meta\":\"Meta\",\"ChargeItemDefinition.modifierExtension\":\"Extension\",\"ChargeItemDefinition.partOf\":\"canonical\",\"ChargeItemDefinition.propertyGroup.extension\":\"Extension\",\"ChargeItemDefinition.propertyGroup.id\":\"System.String\",\"ChargeItemDefinition.propertyGroup.modifierExtension\":\"Extension\",\"ChargeItemDefinition.propertyGroup.priceComponent.amount\":\"Money\",\"ChargeItemDefinition.propertyGroup.priceComponent.code\":\"CodeableConcept\",\"ChargeItemDefinition.propertyGroup.priceComponent.extension\":\"Extension\",\"ChargeItemDefinition.propertyGroup.priceComponent.factor\":\"decimal\",\"ChargeItemDefinition.propertyGroup.priceComponent.id\":\"System.String\",\"ChargeItemDefinition.propertyGroup.priceComponent.modifierExtension\":\"Extension\",\"ChargeItemDefinition.propertyGroup.priceComponent.type\":\"code\",\"ChargeItemDefinition.publisher\":\"string\",\"ChargeItemDefinition.replaces\":\"canonical\",\"ChargeItemDefinition.status\":\"code\",\"ChargeItemDefinition.text\":\"Narrative\",\"ChargeItemDefinition.title\":\"string\",\"ChargeItemDefinition.url\":\"uri\",\"ChargeItemDefinition.useContext\":\"UsageContext\",\"ChargeItemDefinition.version\":\"string\",\"Claim.accident.date\":\"date\",\"Claim.accident.extension\":\"Extension\",\"Claim.accident.id\":\"System.String\",\"Claim.accident.locationAddress\":\"Address\",\"Claim.accident.locationReference\":\"Reference\",\"Claim.accident.modifierExtension\":\"Extension\",\"Claim.accident.type\":\"CodeableConcept\",\"Claim.billablePeriod\":\"Period\",\"Claim.careTeam.extension\":\"Extension\",\"Claim.careTeam.id\":\"System.String\",\"Claim.careTeam.modifierExtension\":\"Extension\",\"Claim.careTeam.provider\":\"Reference\",\"Claim.careTeam.qualification\":\"CodeableConcept\",\"Claim.careTeam.responsible\":\"boolean\",\"Claim.careTeam.role\":\"CodeableConcept\",\"Claim.careTeam.sequence\":\"positiveInt\",\"Claim.contained\":\"Resource\",\"Claim.created\":\"dateTime\",\"Claim.diagnosis.diagnosisCodeableConcept\":\"CodeableConcept\",\"Claim.diagnosis.diagnosisReference\":\"Reference\",\"Claim.diagnosis.extension\":\"Extension\",\"Claim.diagnosis.id\":\"System.String\",\"Claim.diagnosis.modifierExtension\":\"Extension\",\"Claim.diagnosis.onAdmission\":\"CodeableConcept\",\"Claim.diagnosis.packageCode\":\"CodeableConcept\",\"Claim.diagnosis.sequence\":\"positiveInt\",\"Claim.diagnosis.type\":\"CodeableConcept\",\"Claim.enterer\":\"Reference\",\"Claim.extension\":\"Extension\",\"Claim.facility\":\"Reference\",\"Claim.fundsReserve\":\"CodeableConcept\",\"Claim.id\":\"System.String\",\"Claim.identifier\":\"Identifier\",\"Claim.implicitRules\":\"uri\",\"Claim.insurance.businessArrangement\":\"string\",\"Claim.insurance.claimResponse\":\"Reference\",\"Claim.insurance.coverage\":\"Reference\",\"Claim.insurance.extension\":\"Extension\",\"Claim.insurance.focal\":\"boolean\",\"Claim.insurance.id\":\"System.String\",\"Claim.insurance.identifier\":\"Identifier\",\"Claim.insurance.modifierExtension\":\"Extension\",\"Claim.insurance.preAuthRef\":\"string\",\"Claim.insurance.sequence\":\"positiveInt\",\"Claim.insurer\":\"Reference\",\"Claim.item.bodySite\":\"CodeableConcept\",\"Claim.item.careTeamSequence\":\"positiveInt\",\"Claim.item.category\":\"CodeableConcept\",\"Claim.item.detail.category\":\"CodeableConcept\",\"Claim.item.detail.extension\":\"Extension\",\"Claim.item.detail.factor\":\"decimal\",\"Claim.item.detail.id\":\"System.String\",\"Claim.item.detail.modifier\":\"CodeableConcept\",\"Claim.item.detail.modifierExtension\":\"Extension\",\"Claim.item.detail.net\":\"Money\",\"Claim.item.detail.productOrService\":\"CodeableConcept\",\"Claim.item.detail.programCode\":\"CodeableConcept\",\"Claim.item.detail.quantity\":\"Quantity\",\"Claim.item.detail.revenue\":\"CodeableConcept\",\"Claim.item.detail.sequence\":\"positiveInt\",\"Claim.item.detail.subDetail.category\":\"CodeableConcept\",\"Claim.item.detail.subDetail.extension\":\"Extension\",\"Claim.item.detail.subDetail.factor\":\"decimal\",\"Claim.item.detail.subDetail.id\":\"System.String\",\"Claim.item.detail.subDetail.modifier\":\"CodeableConcept\",\"Claim.item.detail.subDetail.modifierExtension\":\"Extension\",\"Claim.item.detail.subDetail.net\":\"Money\",\"Claim.item.detail.subDetail.productOrService\":\"CodeableConcept\",\"Claim.item.detail.subDetail.programCode\":\"CodeableConcept\",\"Claim.item.detail.subDetail.quantity\":\"Quantity\",\"Claim.item.detail.subDetail.revenue\":\"CodeableConcept\",\"Claim.item.detail.subDetail.sequence\":\"positiveInt\",\"Claim.item.detail.subDetail.udi\":\"Reference\",\"Claim.item.detail.subDetail.unitPrice\":\"Money\",\"Claim.item.detail.udi\":\"Reference\",\"Claim.item.detail.unitPrice\":\"Money\",\"Claim.item.diagnosisSequence\":\"positiveInt\",\"Claim.item.encounter\":\"Reference\",\"Claim.item.extension\":\"Extension\",\"Claim.item.factor\":\"decimal\",\"Claim.item.id\":\"System.String\",\"Claim.item.informationSequence\":\"positiveInt\",\"Claim.item.locationAddress\":\"Address\",\"Claim.item.locationCodeableConcept\":\"CodeableConcept\",\"Claim.item.locationReference\":\"Reference\",\"Claim.item.modifier\":\"CodeableConcept\",\"Claim.item.modifierExtension\":\"Extension\",\"Claim.item.net\":\"Money\",\"Claim.item.procedureSequence\":\"positiveInt\",\"Claim.item.productOrService\":\"CodeableConcept\",\"Claim.item.programCode\":\"CodeableConcept\",\"Claim.item.quantity\":\"Quantity\",\"Claim.item.revenue\":\"CodeableConcept\",\"Claim.item.sequence\":\"positiveInt\",\"Claim.item.servicedDate\":\"date\",\"Claim.item.servicedPeriod\":\"Period\",\"Claim.item.subSite\":\"CodeableConcept\",\"Claim.item.udi\":\"Reference\",\"Claim.item.unitPrice\":\"Money\",\"Claim.language\":\"code\",\"Claim.meta\":\"Meta\",\"Claim.modifierExtension\":\"Extension\",\"Claim.originalPrescription\":\"Reference\",\"Claim.patient\":\"Reference\",\"Claim.payee.extension\":\"Extension\",\"Claim.payee.id\":\"System.String\",\"Claim.payee.modifierExtension\":\"Extension\",\"Claim.payee.party\":\"Reference\",\"Claim.payee.type\":\"CodeableConcept\",\"Claim.prescription\":\"Reference\",\"Claim.priority\":\"CodeableConcept\",\"Claim.procedure.date\":\"dateTime\",\"Claim.procedure.extension\":\"Extension\",\"Claim.procedure.id\":\"System.String\",\"Claim.procedure.modifierExtension\":\"Extension\",\"Claim.procedure.procedureCodeableConcept\":\"CodeableConcept\",\"Claim.procedure.procedureReference\":\"Reference\",\"Claim.procedure.sequence\":\"positiveInt\",\"Claim.procedure.type\":\"CodeableConcept\",\"Claim.procedure.udi\":\"Reference\",\"Claim.provider\":\"Reference\",\"Claim.referral\":\"Reference\",\"Claim.related.claim\":\"Reference\",\"Claim.related.extension\":\"Extension\",\"Claim.related.id\":\"System.String\",\"Claim.related.modifierExtension\":\"Extension\",\"Claim.related.reference\":\"Identifier\",\"Claim.related.relationship\":\"CodeableConcept\",\"Claim.status\":\"code\",\"Claim.subType\":\"CodeableConcept\",\"Claim.supportingInfo.category\":\"CodeableConcept\",\"Claim.supportingInfo.code\":\"CodeableConcept\",\"Claim.supportingInfo.extension\":\"Extension\",\"Claim.supportingInfo.id\":\"System.String\",\"Claim.supportingInfo.modifierExtension\":\"Extension\",\"Claim.supportingInfo.reason\":\"CodeableConcept\",\"Claim.supportingInfo.sequence\":\"positiveInt\",\"Claim.supportingInfo.timingDate\":\"date\",\"Claim.supportingInfo.timingPeriod\":\"Period\",\"Claim.supportingInfo.valueAttachment\":\"Attachment\",\"Claim.supportingInfo.valueBoolean\":\"boolean\",\"Claim.supportingInfo.valueQuantity\":\"Quantity\",\"Claim.supportingInfo.valueReference\":\"Reference\",\"Claim.supportingInfo.valueString\":\"string\",\"Claim.text\":\"Narrative\",\"Claim.total\":\"Money\",\"Claim.type\":\"CodeableConcept\",\"Claim.use\":\"code\",\"ClaimResponse.addItem.bodySite\":\"CodeableConcept\",\"ClaimResponse.addItem.detail.extension\":\"Extension\",\"ClaimResponse.addItem.detail.factor\":\"decimal\",\"ClaimResponse.addItem.detail.id\":\"System.String\",\"ClaimResponse.addItem.detail.modifier\":\"CodeableConcept\",\"ClaimResponse.addItem.detail.modifierExtension\":\"Extension\",\"ClaimResponse.addItem.detail.net\":\"Money\",\"ClaimResponse.addItem.detail.noteNumber\":\"positiveInt\",\"ClaimResponse.addItem.detail.productOrService\":\"CodeableConcept\",\"ClaimResponse.addItem.detail.quantity\":\"Quantity\",\"ClaimResponse.addItem.detail.subDetail.extension\":\"Extension\",\"ClaimResponse.addItem.detail.subDetail.factor\":\"decimal\",\"ClaimResponse.addItem.detail.subDetail.id\":\"System.String\",\"ClaimResponse.addItem.detail.subDetail.modifier\":\"CodeableConcept\",\"ClaimResponse.addItem.detail.subDetail.modifierExtension\":\"Extension\",\"ClaimResponse.addItem.detail.subDetail.net\":\"Money\",\"ClaimResponse.addItem.detail.subDetail.noteNumber\":\"positiveInt\",\"ClaimResponse.addItem.detail.subDetail.productOrService\":\"CodeableConcept\",\"ClaimResponse.addItem.detail.subDetail.quantity\":\"Quantity\",\"ClaimResponse.addItem.detail.subDetail.unitPrice\":\"Money\",\"ClaimResponse.addItem.detail.unitPrice\":\"Money\",\"ClaimResponse.addItem.detailSequence\":\"positiveInt\",\"ClaimResponse.addItem.extension\":\"Extension\",\"ClaimResponse.addItem.factor\":\"decimal\",\"ClaimResponse.addItem.id\":\"System.String\",\"ClaimResponse.addItem.itemSequence\":\"positiveInt\",\"ClaimResponse.addItem.locationAddress\":\"Address\",\"ClaimResponse.addItem.locationCodeableConcept\":\"CodeableConcept\",\"ClaimResponse.addItem.locationReference\":\"Reference\",\"ClaimResponse.addItem.modifier\":\"CodeableConcept\",\"ClaimResponse.addItem.modifierExtension\":\"Extension\",\"ClaimResponse.addItem.net\":\"Money\",\"ClaimResponse.addItem.noteNumber\":\"positiveInt\",\"ClaimResponse.addItem.productOrService\":\"CodeableConcept\",\"ClaimResponse.addItem.programCode\":\"CodeableConcept\",\"ClaimResponse.addItem.provider\":\"Reference\",\"ClaimResponse.addItem.quantity\":\"Quantity\",\"ClaimResponse.addItem.servicedDate\":\"date\",\"ClaimResponse.addItem.servicedPeriod\":\"Period\",\"ClaimResponse.addItem.subSite\":\"CodeableConcept\",\"ClaimResponse.addItem.subdetailSequence\":\"positiveInt\",\"ClaimResponse.addItem.unitPrice\":\"Money\",\"ClaimResponse.communicationRequest\":\"Reference\",\"ClaimResponse.contained\":\"Resource\",\"ClaimResponse.created\":\"dateTime\",\"ClaimResponse.disposition\":\"string\",\"ClaimResponse.error.code\":\"CodeableConcept\",\"ClaimResponse.error.detailSequence\":\"positiveInt\",\"ClaimResponse.error.extension\":\"Extension\",\"ClaimResponse.error.id\":\"System.String\",\"ClaimResponse.error.itemSequence\":\"positiveInt\",\"ClaimResponse.error.modifierExtension\":\"Extension\",\"ClaimResponse.error.subDetailSequence\":\"positiveInt\",\"ClaimResponse.extension\":\"Extension\",\"ClaimResponse.form\":\"Attachment\",\"ClaimResponse.formCode\":\"CodeableConcept\",\"ClaimResponse.fundsReserve\":\"CodeableConcept\",\"ClaimResponse.id\":\"System.String\",\"ClaimResponse.identifier\":\"Identifier\",\"ClaimResponse.implicitRules\":\"uri\",\"ClaimResponse.insurance.businessArrangement\":\"string\",\"ClaimResponse.insurance.claimResponse\":\"Reference\",\"ClaimResponse.insurance.coverage\":\"Reference\",\"ClaimResponse.insurance.extension\":\"Extension\",\"ClaimResponse.insurance.focal\":\"boolean\",\"ClaimResponse.insurance.id\":\"System.String\",\"ClaimResponse.insurance.modifierExtension\":\"Extension\",\"ClaimResponse.insurance.sequence\":\"positiveInt\",\"ClaimResponse.insurer\":\"Reference\",\"ClaimResponse.item.adjudication.amount\":\"Money\",\"ClaimResponse.item.adjudication.category\":\"CodeableConcept\",\"ClaimResponse.item.adjudication.extension\":\"Extension\",\"ClaimResponse.item.adjudication.id\":\"System.String\",\"ClaimResponse.item.adjudication.modifierExtension\":\"Extension\",\"ClaimResponse.item.adjudication.reason\":\"CodeableConcept\",\"ClaimResponse.item.adjudication.value\":\"decimal\",\"ClaimResponse.item.detail.detailSequence\":\"positiveInt\",\"ClaimResponse.item.detail.extension\":\"Extension\",\"ClaimResponse.item.detail.id\":\"System.String\",\"ClaimResponse.item.detail.modifierExtension\":\"Extension\",\"ClaimResponse.item.detail.noteNumber\":\"positiveInt\",\"ClaimResponse.item.detail.subDetail.extension\":\"Extension\",\"ClaimResponse.item.detail.subDetail.id\":\"System.String\",\"ClaimResponse.item.detail.subDetail.modifierExtension\":\"Extension\",\"ClaimResponse.item.detail.subDetail.noteNumber\":\"positiveInt\",\"ClaimResponse.item.detail.subDetail.subDetailSequence\":\"positiveInt\",\"ClaimResponse.item.extension\":\"Extension\",\"ClaimResponse.item.id\":\"System.String\",\"ClaimResponse.item.itemSequence\":\"positiveInt\",\"ClaimResponse.item.modifierExtension\":\"Extension\",\"ClaimResponse.item.noteNumber\":\"positiveInt\",\"ClaimResponse.language\":\"code\",\"ClaimResponse.meta\":\"Meta\",\"ClaimResponse.modifierExtension\":\"Extension\",\"ClaimResponse.outcome\":\"code\",\"ClaimResponse.patient\":\"Reference\",\"ClaimResponse.payeeType\":\"CodeableConcept\",\"ClaimResponse.payment.adjustment\":\"Money\",\"ClaimResponse.payment.adjustmentReason\":\"CodeableConcept\",\"ClaimResponse.payment.amount\":\"Money\",\"ClaimResponse.payment.date\":\"date\",\"ClaimResponse.payment.extension\":\"Extension\",\"ClaimResponse.payment.id\":\"System.String\",\"ClaimResponse.payment.identifier\":\"Identifier\",\"ClaimResponse.payment.modifierExtension\":\"Extension\",\"ClaimResponse.payment.type\":\"CodeableConcept\",\"ClaimResponse.preAuthPeriod\":\"Period\",\"ClaimResponse.preAuthRef\":\"string\",\"ClaimResponse.processNote.extension\":\"Extension\",\"ClaimResponse.processNote.id\":\"System.String\",\"ClaimResponse.processNote.language\":\"CodeableConcept\",\"ClaimResponse.processNote.modifierExtension\":\"Extension\",\"ClaimResponse.processNote.number\":\"positiveInt\",\"ClaimResponse.processNote.text\":\"string\",\"ClaimResponse.processNote.type\":\"code\",\"ClaimResponse.request\":\"Reference\",\"ClaimResponse.requestor\":\"Reference\",\"ClaimResponse.status\":\"code\",\"ClaimResponse.subType\":\"CodeableConcept\",\"ClaimResponse.text\":\"Narrative\",\"ClaimResponse.total.amount\":\"Money\",\"ClaimResponse.total.category\":\"CodeableConcept\",\"ClaimResponse.total.extension\":\"Extension\",\"ClaimResponse.total.id\":\"System.String\",\"ClaimResponse.total.modifierExtension\":\"Extension\",\"ClaimResponse.type\":\"CodeableConcept\",\"ClaimResponse.use\":\"code\",\"ClinicalImpression.assessor\":\"Reference\",\"ClinicalImpression.code\":\"CodeableConcept\",\"ClinicalImpression.contained\":\"Resource\",\"ClinicalImpression.date\":\"dateTime\",\"ClinicalImpression.description\":\"string\",\"ClinicalImpression.effectiveDateTime\":\"dateTime\",\"ClinicalImpression.effectivePeriod\":\"Period\",\"ClinicalImpression.encounter\":\"Reference\",\"ClinicalImpression.extension\":\"Extension\",\"ClinicalImpression.finding.basis\":\"string\",\"ClinicalImpression.finding.extension\":\"Extension\",\"ClinicalImpression.finding.id\":\"System.String\",\"ClinicalImpression.finding.itemCodeableConcept\":\"CodeableConcept\",\"ClinicalImpression.finding.itemReference\":\"Reference\",\"ClinicalImpression.finding.modifierExtension\":\"Extension\",\"ClinicalImpression.id\":\"System.String\",\"ClinicalImpression.identifier\":\"Identifier\",\"ClinicalImpression.implicitRules\":\"uri\",\"ClinicalImpression.investigation.code\":\"CodeableConcept\",\"ClinicalImpression.investigation.extension\":\"Extension\",\"ClinicalImpression.investigation.id\":\"System.String\",\"ClinicalImpression.investigation.item\":\"Reference\",\"ClinicalImpression.investigation.modifierExtension\":\"Extension\",\"ClinicalImpression.language\":\"code\",\"ClinicalImpression.meta\":\"Meta\",\"ClinicalImpression.modifierExtension\":\"Extension\",\"ClinicalImpression.note\":\"Annotation\",\"ClinicalImpression.previous\":\"Reference\",\"ClinicalImpression.problem\":\"Reference\",\"ClinicalImpression.prognosisCodeableConcept\":\"CodeableConcept\",\"ClinicalImpression.prognosisReference\":\"Reference\",\"ClinicalImpression.protocol\":\"uri\",\"ClinicalImpression.status\":\"code\",\"ClinicalImpression.statusReason\":\"CodeableConcept\",\"ClinicalImpression.subject\":\"Reference\",\"ClinicalImpression.summary\":\"string\",\"ClinicalImpression.supportingInfo\":\"Reference\",\"ClinicalImpression.text\":\"Narrative\",\"CodeSystem.caseSensitive\":\"boolean\",\"CodeSystem.compositional\":\"boolean\",\"CodeSystem.concept.code\":\"code\",\"CodeSystem.concept.definition\":\"string\",\"CodeSystem.concept.designation.extension\":\"Extension\",\"CodeSystem.concept.designation.id\":\"System.String\",\"CodeSystem.concept.designation.language\":\"code\",\"CodeSystem.concept.designation.modifierExtension\":\"Extension\",\"CodeSystem.concept.designation.use\":\"Coding\",\"CodeSystem.concept.designation.value\":\"string\",\"CodeSystem.concept.display\":\"string\",\"CodeSystem.concept.extension\":\"Extension\",\"CodeSystem.concept.id\":\"System.String\",\"CodeSystem.concept.modifierExtension\":\"Extension\",\"CodeSystem.concept.property.code\":\"code\",\"CodeSystem.concept.property.extension\":\"Extension\",\"CodeSystem.concept.property.id\":\"System.String\",\"CodeSystem.concept.property.modifierExtension\":\"Extension\",\"CodeSystem.concept.property.valueBoolean\":\"boolean\",\"CodeSystem.concept.property.valueCode\":\"code\",\"CodeSystem.concept.property.valueCoding\":\"Coding\",\"CodeSystem.concept.property.valueDateTime\":\"dateTime\",\"CodeSystem.concept.property.valueDecimal\":\"decimal\",\"CodeSystem.concept.property.valueInteger\":\"integer\",\"CodeSystem.concept.property.valueString\":\"string\",\"CodeSystem.contact\":\"ContactDetail\",\"CodeSystem.contained\":\"Resource\",\"CodeSystem.content\":\"code\",\"CodeSystem.copyright\":\"markdown\",\"CodeSystem.count\":\"unsignedInt\",\"CodeSystem.date\":\"dateTime\",\"CodeSystem.description\":\"markdown\",\"CodeSystem.experimental\":\"boolean\",\"CodeSystem.extension\":\"Extension\",\"CodeSystem.filter.code\":\"code\",\"CodeSystem.filter.description\":\"string\",\"CodeSystem.filter.extension\":\"Extension\",\"CodeSystem.filter.id\":\"System.String\",\"CodeSystem.filter.modifierExtension\":\"Extension\",\"CodeSystem.filter.operator\":\"code\",\"CodeSystem.filter.value\":\"string\",\"CodeSystem.hierarchyMeaning\":\"code\",\"CodeSystem.id\":\"System.String\",\"CodeSystem.identifier\":\"Identifier\",\"CodeSystem.implicitRules\":\"uri\",\"CodeSystem.jurisdiction\":\"CodeableConcept\",\"CodeSystem.language\":\"code\",\"CodeSystem.meta\":\"Meta\",\"CodeSystem.modifierExtension\":\"Extension\",\"CodeSystem.name\":\"string\",\"CodeSystem.property.code\":\"code\",\"CodeSystem.property.description\":\"string\",\"CodeSystem.property.extension\":\"Extension\",\"CodeSystem.property.id\":\"System.String\",\"CodeSystem.property.modifierExtension\":\"Extension\",\"CodeSystem.property.type\":\"code\",\"CodeSystem.property.uri\":\"uri\",\"CodeSystem.publisher\":\"string\",\"CodeSystem.purpose\":\"markdown\",\"CodeSystem.status\":\"code\",\"CodeSystem.supplements\":\"canonical\",\"CodeSystem.text\":\"Narrative\",\"CodeSystem.title\":\"string\",\"CodeSystem.url\":\"uri\",\"CodeSystem.useContext\":\"UsageContext\",\"CodeSystem.valueSet\":\"canonical\",\"CodeSystem.version\":\"string\",\"CodeSystem.versionNeeded\":\"boolean\",\"CodeableConcept.coding\":\"Coding\",\"CodeableConcept.extension\":\"Extension\",\"CodeableConcept.id\":\"System.String\",\"CodeableConcept.text\":\"string\",\"Coding.code\":\"code\",\"Coding.display\":\"string\",\"Coding.extension\":\"Extension\",\"Coding.id\":\"System.String\",\"Coding.system\":\"uri\",\"Coding.userSelected\":\"boolean\",\"Coding.version\":\"string\",\"Communication.about\":\"Reference\",\"Communication.basedOn\":\"Reference\",\"Communication.category\":\"CodeableConcept\",\"Communication.contained\":\"Resource\",\"Communication.encounter\":\"Reference\",\"Communication.extension\":\"Extension\",\"Communication.id\":\"System.String\",\"Communication.identifier\":\"Identifier\",\"Communication.implicitRules\":\"uri\",\"Communication.inResponseTo\":\"Reference\",\"Communication.instantiatesCanonical\":\"canonical\",\"Communication.instantiatesUri\":\"uri\",\"Communication.language\":\"code\",\"Communication.medium\":\"CodeableConcept\",\"Communication.meta\":\"Meta\",\"Communication.modifierExtension\":\"Extension\",\"Communication.note\":\"Annotation\",\"Communication.partOf\":\"Reference\",\"Communication.payload.contentAttachment\":\"Attachment\",\"Communication.payload.contentReference\":\"Reference\",\"Communication.payload.contentString\":\"string\",\"Communication.payload.extension\":\"Extension\",\"Communication.payload.id\":\"System.String\",\"Communication.payload.modifierExtension\":\"Extension\",\"Communication.priority\":\"code\",\"Communication.reasonCode\":\"CodeableConcept\",\"Communication.reasonReference\":\"Reference\",\"Communication.received\":\"dateTime\",\"Communication.recipient\":\"Reference\",\"Communication.sender\":\"Reference\",\"Communication.sent\":\"dateTime\",\"Communication.status\":\"code\",\"Communication.statusReason\":\"CodeableConcept\",\"Communication.subject\":\"Reference\",\"Communication.text\":\"Narrative\",\"Communication.topic\":\"CodeableConcept\",\"CommunicationRequest.about\":\"Reference\",\"CommunicationRequest.authoredOn\":\"dateTime\",\"CommunicationRequest.basedOn\":\"Reference\",\"CommunicationRequest.category\":\"CodeableConcept\",\"CommunicationRequest.contained\":\"Resource\",\"CommunicationRequest.doNotPerform\":\"boolean\",\"CommunicationRequest.encounter\":\"Reference\",\"CommunicationRequest.extension\":\"Extension\",\"CommunicationRequest.groupIdentifier\":\"Identifier\",\"CommunicationRequest.id\":\"System.String\",\"CommunicationRequest.identifier\":\"Identifier\",\"CommunicationRequest.implicitRules\":\"uri\",\"CommunicationRequest.language\":\"code\",\"CommunicationRequest.medium\":\"CodeableConcept\",\"CommunicationRequest.meta\":\"Meta\",\"CommunicationRequest.modifierExtension\":\"Extension\",\"CommunicationRequest.note\":\"Annotation\",\"CommunicationRequest.occurrenceDateTime\":\"dateTime\",\"CommunicationRequest.occurrencePeriod\":\"Period\",\"CommunicationRequest.payload.contentAttachment\":\"Attachment\",\"CommunicationRequest.payload.contentReference\":\"Reference\",\"CommunicationRequest.payload.contentString\":\"string\",\"CommunicationRequest.payload.extension\":\"Extension\",\"CommunicationRequest.payload.id\":\"System.String\",\"CommunicationRequest.payload.modifierExtension\":\"Extension\",\"CommunicationRequest.priority\":\"code\",\"CommunicationRequest.reasonCode\":\"CodeableConcept\",\"CommunicationRequest.reasonReference\":\"Reference\",\"CommunicationRequest.recipient\":\"Reference\",\"CommunicationRequest.replaces\":\"Reference\",\"CommunicationRequest.requester\":\"Reference\",\"CommunicationRequest.sender\":\"Reference\",\"CommunicationRequest.status\":\"code\",\"CommunicationRequest.statusReason\":\"CodeableConcept\",\"CommunicationRequest.subject\":\"Reference\",\"CommunicationRequest.text\":\"Narrative\",\"CompartmentDefinition.code\":\"code\",\"CompartmentDefinition.contact\":\"ContactDetail\",\"CompartmentDefinition.contained\":\"Resource\",\"CompartmentDefinition.date\":\"dateTime\",\"CompartmentDefinition.description\":\"markdown\",\"CompartmentDefinition.experimental\":\"boolean\",\"CompartmentDefinition.extension\":\"Extension\",\"CompartmentDefinition.id\":\"System.String\",\"CompartmentDefinition.implicitRules\":\"uri\",\"CompartmentDefinition.language\":\"code\",\"CompartmentDefinition.meta\":\"Meta\",\"CompartmentDefinition.modifierExtension\":\"Extension\",\"CompartmentDefinition.name\":\"string\",\"CompartmentDefinition.publisher\":\"string\",\"CompartmentDefinition.purpose\":\"markdown\",\"CompartmentDefinition.resource.code\":\"code\",\"CompartmentDefinition.resource.documentation\":\"string\",\"CompartmentDefinition.resource.extension\":\"Extension\",\"CompartmentDefinition.resource.id\":\"System.String\",\"CompartmentDefinition.resource.modifierExtension\":\"Extension\",\"CompartmentDefinition.resource.param\":\"string\",\"CompartmentDefinition.search\":\"boolean\",\"CompartmentDefinition.status\":\"code\",\"CompartmentDefinition.text\":\"Narrative\",\"CompartmentDefinition.url\":\"uri\",\"CompartmentDefinition.useContext\":\"UsageContext\",\"CompartmentDefinition.version\":\"string\",\"Composition.attester.extension\":\"Extension\",\"Composition.attester.id\":\"System.String\",\"Composition.attester.mode\":\"code\",\"Composition.attester.modifierExtension\":\"Extension\",\"Composition.attester.party\":\"Reference\",\"Composition.attester.time\":\"dateTime\",\"Composition.author\":\"Reference\",\"Composition.category\":\"CodeableConcept\",\"Composition.confidentiality\":\"code\",\"Composition.contained\":\"Resource\",\"Composition.custodian\":\"Reference\",\"Composition.date\":\"dateTime\",\"Composition.encounter\":\"Reference\",\"Composition.event.code\":\"CodeableConcept\",\"Composition.event.detail\":\"Reference\",\"Composition.event.extension\":\"Extension\",\"Composition.event.id\":\"System.String\",\"Composition.event.modifierExtension\":\"Extension\",\"Composition.event.period\":\"Period\",\"Composition.extension\":\"Extension\",\"Composition.id\":\"System.String\",\"Composition.identifier\":\"Identifier\",\"Composition.implicitRules\":\"uri\",\"Composition.language\":\"code\",\"Composition.meta\":\"Meta\",\"Composition.modifierExtension\":\"Extension\",\"Composition.relatesTo.code\":\"code\",\"Composition.relatesTo.extension\":\"Extension\",\"Composition.relatesTo.id\":\"System.String\",\"Composition.relatesTo.modifierExtension\":\"Extension\",\"Composition.relatesTo.targetIdentifier\":\"Identifier\",\"Composition.relatesTo.targetReference\":\"Reference\",\"Composition.section.author\":\"Reference\",\"Composition.section.code\":\"CodeableConcept\",\"Composition.section.emptyReason\":\"CodeableConcept\",\"Composition.section.entry\":\"Reference\",\"Composition.section.extension\":\"Extension\",\"Composition.section.focus\":\"Reference\",\"Composition.section.id\":\"System.String\",\"Composition.section.mode\":\"code\",\"Composition.section.modifierExtension\":\"Extension\",\"Composition.section.orderedBy\":\"CodeableConcept\",\"Composition.section.text\":\"Narrative\",\"Composition.section.title\":\"string\",\"Composition.status\":\"code\",\"Composition.subject\":\"Reference\",\"Composition.text\":\"Narrative\",\"Composition.title\":\"string\",\"Composition.type\":\"CodeableConcept\",\"ConceptMap.contact\":\"ContactDetail\",\"ConceptMap.contained\":\"Resource\",\"ConceptMap.copyright\":\"markdown\",\"ConceptMap.date\":\"dateTime\",\"ConceptMap.description\":\"markdown\",\"ConceptMap.experimental\":\"boolean\",\"ConceptMap.extension\":\"Extension\",\"ConceptMap.group.element.code\":\"code\",\"ConceptMap.group.element.display\":\"string\",\"ConceptMap.group.element.extension\":\"Extension\",\"ConceptMap.group.element.id\":\"System.String\",\"ConceptMap.group.element.modifierExtension\":\"Extension\",\"ConceptMap.group.element.target.code\":\"code\",\"ConceptMap.group.element.target.comment\":\"string\",\"ConceptMap.group.element.target.dependsOn.display\":\"string\",\"ConceptMap.group.element.target.dependsOn.extension\":\"Extension\",\"ConceptMap.group.element.target.dependsOn.id\":\"System.String\",\"ConceptMap.group.element.target.dependsOn.modifierExtension\":\"Extension\",\"ConceptMap.group.element.target.dependsOn.property\":\"uri\",\"ConceptMap.group.element.target.dependsOn.system\":\"canonical\",\"ConceptMap.group.element.target.dependsOn.value\":\"string\",\"ConceptMap.group.element.target.display\":\"string\",\"ConceptMap.group.element.target.equivalence\":\"code\",\"ConceptMap.group.element.target.extension\":\"Extension\",\"ConceptMap.group.element.target.id\":\"System.String\",\"ConceptMap.group.element.target.modifierExtension\":\"Extension\",\"ConceptMap.group.extension\":\"Extension\",\"ConceptMap.group.id\":\"System.String\",\"ConceptMap.group.modifierExtension\":\"Extension\",\"ConceptMap.group.source\":\"uri\",\"ConceptMap.group.sourceVersion\":\"string\",\"ConceptMap.group.target\":\"uri\",\"ConceptMap.group.targetVersion\":\"string\",\"ConceptMap.group.unmapped.code\":\"code\",\"ConceptMap.group.unmapped.display\":\"string\",\"ConceptMap.group.unmapped.extension\":\"Extension\",\"ConceptMap.group.unmapped.id\":\"System.String\",\"ConceptMap.group.unmapped.mode\":\"code\",\"ConceptMap.group.unmapped.modifierExtension\":\"Extension\",\"ConceptMap.group.unmapped.url\":\"canonical\",\"ConceptMap.id\":\"System.String\",\"ConceptMap.identifier\":\"Identifier\",\"ConceptMap.implicitRules\":\"uri\",\"ConceptMap.jurisdiction\":\"CodeableConcept\",\"ConceptMap.language\":\"code\",\"ConceptMap.meta\":\"Meta\",\"ConceptMap.modifierExtension\":\"Extension\",\"ConceptMap.name\":\"string\",\"ConceptMap.publisher\":\"string\",\"ConceptMap.purpose\":\"markdown\",\"ConceptMap.sourceCanonical\":\"canonical\",\"ConceptMap.sourceUri\":\"uri\",\"ConceptMap.status\":\"code\",\"ConceptMap.targetCanonical\":\"canonical\",\"ConceptMap.targetUri\":\"uri\",\"ConceptMap.text\":\"Narrative\",\"ConceptMap.title\":\"string\",\"ConceptMap.url\":\"uri\",\"ConceptMap.useContext\":\"UsageContext\",\"ConceptMap.version\":\"string\",\"Condition.abatementAge\":\"Age\",\"Condition.abatementDateTime\":\"dateTime\",\"Condition.abatementPeriod\":\"Period\",\"Condition.abatementRange\":\"Range\",\"Condition.abatementString\":\"string\",\"Condition.asserter\":\"Reference\",\"Condition.bodySite\":\"CodeableConcept\",\"Condition.category\":\"CodeableConcept\",\"Condition.clinicalStatus\":\"CodeableConcept\",\"Condition.code\":\"CodeableConcept\",\"Condition.contained\":\"Resource\",\"Condition.encounter\":\"Reference\",\"Condition.evidence.code\":\"CodeableConcept\",\"Condition.evidence.detail\":\"Reference\",\"Condition.evidence.extension\":\"Extension\",\"Condition.evidence.id\":\"System.String\",\"Condition.evidence.modifierExtension\":\"Extension\",\"Condition.extension\":\"Extension\",\"Condition.id\":\"System.String\",\"Condition.identifier\":\"Identifier\",\"Condition.implicitRules\":\"uri\",\"Condition.language\":\"code\",\"Condition.meta\":\"Meta\",\"Condition.modifierExtension\":\"Extension\",\"Condition.note\":\"Annotation\",\"Condition.onsetAge\":\"Age\",\"Condition.onsetDateTime\":\"dateTime\",\"Condition.onsetPeriod\":\"Period\",\"Condition.onsetRange\":\"Range\",\"Condition.onsetString\":\"string\",\"Condition.recordedDate\":\"dateTime\",\"Condition.recorder\":\"Reference\",\"Condition.severity\":\"CodeableConcept\",\"Condition.stage.assessment\":\"Reference\",\"Condition.stage.extension\":\"Extension\",\"Condition.stage.id\":\"System.String\",\"Condition.stage.modifierExtension\":\"Extension\",\"Condition.stage.summary\":\"CodeableConcept\",\"Condition.stage.type\":\"CodeableConcept\",\"Condition.subject\":\"Reference\",\"Condition.text\":\"Narrative\",\"Condition.verificationStatus\":\"CodeableConcept\",\"Consent.category\":\"CodeableConcept\",\"Consent.contained\":\"Resource\",\"Consent.dateTime\":\"dateTime\",\"Consent.extension\":\"Extension\",\"Consent.id\":\"System.String\",\"Consent.identifier\":\"Identifier\",\"Consent.implicitRules\":\"uri\",\"Consent.language\":\"code\",\"Consent.meta\":\"Meta\",\"Consent.modifierExtension\":\"Extension\",\"Consent.organization\":\"Reference\",\"Consent.patient\":\"Reference\",\"Consent.performer\":\"Reference\",\"Consent.policy.authority\":\"uri\",\"Consent.policy.extension\":\"Extension\",\"Consent.policy.id\":\"System.String\",\"Consent.policy.modifierExtension\":\"Extension\",\"Consent.policy.uri\":\"uri\",\"Consent.policyRule\":\"CodeableConcept\",\"Consent.provision.action\":\"CodeableConcept\",\"Consent.provision.actor.extension\":\"Extension\",\"Consent.provision.actor.id\":\"System.String\",\"Consent.provision.actor.modifierExtension\":\"Extension\",\"Consent.provision.actor.reference\":\"Reference\",\"Consent.provision.actor.role\":\"CodeableConcept\",\"Consent.provision.class\":\"Coding\",\"Consent.provision.code\":\"CodeableConcept\",\"Consent.provision.data.extension\":\"Extension\",\"Consent.provision.data.id\":\"System.String\",\"Consent.provision.data.meaning\":\"code\",\"Consent.provision.data.modifierExtension\":\"Extension\",\"Consent.provision.data.reference\":\"Reference\",\"Consent.provision.dataPeriod\":\"Period\",\"Consent.provision.extension\":\"Extension\",\"Consent.provision.id\":\"System.String\",\"Consent.provision.modifierExtension\":\"Extension\",\"Consent.provision.period\":\"Period\",\"Consent.provision.purpose\":\"Coding\",\"Consent.provision.securityLabel\":\"Coding\",\"Consent.provision.type\":\"code\",\"Consent.scope\":\"CodeableConcept\",\"Consent.sourceAttachment\":\"Attachment\",\"Consent.sourceReference\":\"Reference\",\"Consent.status\":\"code\",\"Consent.text\":\"Narrative\",\"Consent.verification.extension\":\"Extension\",\"Consent.verification.id\":\"System.String\",\"Consent.verification.modifierExtension\":\"Extension\",\"Consent.verification.verificationDate\":\"dateTime\",\"Consent.verification.verified\":\"boolean\",\"Consent.verification.verifiedWith\":\"Reference\",\"ContactDetail.extension\":\"Extension\",\"ContactDetail.id\":\"System.String\",\"ContactDetail.name\":\"string\",\"ContactDetail.telecom\":\"ContactPoint\",\"ContactPoint.extension\":\"Extension\",\"ContactPoint.id\":\"System.String\",\"ContactPoint.period\":\"Period\",\"ContactPoint.rank\":\"positiveInt\",\"ContactPoint.system\":\"code\",\"ContactPoint.use\":\"code\",\"ContactPoint.value\":\"string\",\"Contract.alias\":\"string\",\"Contract.applies\":\"Period\",\"Contract.author\":\"Reference\",\"Contract.authority\":\"Reference\",\"Contract.contained\":\"Resource\",\"Contract.contentDefinition.copyright\":\"markdown\",\"Contract.contentDefinition.extension\":\"Extension\",\"Contract.contentDefinition.id\":\"System.String\",\"Contract.contentDefinition.modifierExtension\":\"Extension\",\"Contract.contentDefinition.publicationDate\":\"dateTime\",\"Contract.contentDefinition.publicationStatus\":\"code\",\"Contract.contentDefinition.publisher\":\"Reference\",\"Contract.contentDefinition.subType\":\"CodeableConcept\",\"Contract.contentDefinition.type\":\"CodeableConcept\",\"Contract.contentDerivative\":\"CodeableConcept\",\"Contract.domain\":\"Reference\",\"Contract.expirationType\":\"CodeableConcept\",\"Contract.extension\":\"Extension\",\"Contract.friendly.contentAttachment\":\"Attachment\",\"Contract.friendly.contentReference\":\"Reference\",\"Contract.friendly.extension\":\"Extension\",\"Contract.friendly.id\":\"System.String\",\"Contract.friendly.modifierExtension\":\"Extension\",\"Contract.id\":\"System.String\",\"Contract.identifier\":\"Identifier\",\"Contract.implicitRules\":\"uri\",\"Contract.instantiatesCanonical\":\"Reference\",\"Contract.instantiatesUri\":\"uri\",\"Contract.issued\":\"dateTime\",\"Contract.language\":\"code\",\"Contract.legal.contentAttachment\":\"Attachment\",\"Contract.legal.contentReference\":\"Reference\",\"Contract.legal.extension\":\"Extension\",\"Contract.legal.id\":\"System.String\",\"Contract.legal.modifierExtension\":\"Extension\",\"Contract.legalState\":\"CodeableConcept\",\"Contract.legallyBindingAttachment\":\"Attachment\",\"Contract.legallyBindingReference\":\"Reference\",\"Contract.meta\":\"Meta\",\"Contract.modifierExtension\":\"Extension\",\"Contract.name\":\"string\",\"Contract.relevantHistory\":\"Reference\",\"Contract.rule.contentAttachment\":\"Attachment\",\"Contract.rule.contentReference\":\"Reference\",\"Contract.rule.extension\":\"Extension\",\"Contract.rule.id\":\"System.String\",\"Contract.rule.modifierExtension\":\"Extension\",\"Contract.scope\":\"CodeableConcept\",\"Contract.signer.extension\":\"Extension\",\"Contract.signer.id\":\"System.String\",\"Contract.signer.modifierExtension\":\"Extension\",\"Contract.signer.party\":\"Reference\",\"Contract.signer.signature\":\"Signature\",\"Contract.signer.type\":\"Coding\",\"Contract.site\":\"Reference\",\"Contract.status\":\"code\",\"Contract.subType\":\"CodeableConcept\",\"Contract.subject\":\"Reference\",\"Contract.subtitle\":\"string\",\"Contract.supportingInfo\":\"Reference\",\"Contract.term.action.context\":\"Reference\",\"Contract.term.action.contextLinkId\":\"string\",\"Contract.term.action.doNotPerform\":\"boolean\",\"Contract.term.action.extension\":\"Extension\",\"Contract.term.action.id\":\"System.String\",\"Contract.term.action.intent\":\"CodeableConcept\",\"Contract.term.action.linkId\":\"string\",\"Contract.term.action.modifierExtension\":\"Extension\",\"Contract.term.action.note\":\"Annotation\",\"Contract.term.action.occurrenceDateTime\":\"dateTime\",\"Contract.term.action.occurrencePeriod\":\"Period\",\"Contract.term.action.occurrenceTiming\":\"Timing\",\"Contract.term.action.performer\":\"Reference\",\"Contract.term.action.performerLinkId\":\"string\",\"Contract.term.action.performerRole\":\"CodeableConcept\",\"Contract.term.action.performerType\":\"CodeableConcept\",\"Contract.term.action.reason\":\"string\",\"Contract.term.action.reasonCode\":\"CodeableConcept\",\"Contract.term.action.reasonLinkId\":\"string\",\"Contract.term.action.reasonReference\":\"Reference\",\"Contract.term.action.requester\":\"Reference\",\"Contract.term.action.requesterLinkId\":\"string\",\"Contract.term.action.securityLabelNumber\":\"unsignedInt\",\"Contract.term.action.status\":\"CodeableConcept\",\"Contract.term.action.subject.extension\":\"Extension\",\"Contract.term.action.subject.id\":\"System.String\",\"Contract.term.action.subject.modifierExtension\":\"Extension\",\"Contract.term.action.subject.reference\":\"Reference\",\"Contract.term.action.subject.role\":\"CodeableConcept\",\"Contract.term.action.type\":\"CodeableConcept\",\"Contract.term.applies\":\"Period\",\"Contract.term.asset.condition\":\"string\",\"Contract.term.asset.context.code\":\"CodeableConcept\",\"Contract.term.asset.context.extension\":\"Extension\",\"Contract.term.asset.context.id\":\"System.String\",\"Contract.term.asset.context.modifierExtension\":\"Extension\",\"Contract.term.asset.context.reference\":\"Reference\",\"Contract.term.asset.context.text\":\"string\",\"Contract.term.asset.extension\":\"Extension\",\"Contract.term.asset.id\":\"System.String\",\"Contract.term.asset.linkId\":\"string\",\"Contract.term.asset.modifierExtension\":\"Extension\",\"Contract.term.asset.period\":\"Period\",\"Contract.term.asset.periodType\":\"CodeableConcept\",\"Contract.term.asset.relationship\":\"Coding\",\"Contract.term.asset.scope\":\"CodeableConcept\",\"Contract.term.asset.securityLabelNumber\":\"unsignedInt\",\"Contract.term.asset.subtype\":\"CodeableConcept\",\"Contract.term.asset.text\":\"string\",\"Contract.term.asset.type\":\"CodeableConcept\",\"Contract.term.asset.typeReference\":\"Reference\",\"Contract.term.asset.usePeriod\":\"Period\",\"Contract.term.asset.valuedItem.effectiveTime\":\"dateTime\",\"Contract.term.asset.valuedItem.entityCodeableConcept\":\"CodeableConcept\",\"Contract.term.asset.valuedItem.entityReference\":\"Reference\",\"Contract.term.asset.valuedItem.extension\":\"Extension\",\"Contract.term.asset.valuedItem.factor\":\"decimal\",\"Contract.term.asset.valuedItem.id\":\"System.String\",\"Contract.term.asset.valuedItem.identifier\":\"Identifier\",\"Contract.term.asset.valuedItem.linkId\":\"string\",\"Contract.term.asset.valuedItem.modifierExtension\":\"Extension\",\"Contract.term.asset.valuedItem.net\":\"Money\",\"Contract.term.asset.valuedItem.payment\":\"string\",\"Contract.term.asset.valuedItem.paymentDate\":\"dateTime\",\"Contract.term.asset.valuedItem.points\":\"decimal\",\"Contract.term.asset.valuedItem.quantity\":\"Quantity\",\"Contract.term.asset.valuedItem.recipient\":\"Reference\",\"Contract.term.asset.valuedItem.responsible\":\"Reference\",\"Contract.term.asset.valuedItem.securityLabelNumber\":\"unsignedInt\",\"Contract.term.asset.valuedItem.unitPrice\":\"Money\",\"Contract.term.extension\":\"Extension\",\"Contract.term.id\":\"System.String\",\"Contract.term.identifier\":\"Identifier\",\"Contract.term.issued\":\"dateTime\",\"Contract.term.modifierExtension\":\"Extension\",\"Contract.term.offer.answer.extension\":\"Extension\",\"Contract.term.offer.answer.id\":\"System.String\",\"Contract.term.offer.answer.modifierExtension\":\"Extension\",\"Contract.term.offer.answer.valueAttachment\":\"Attachment\",\"Contract.term.offer.answer.valueBoolean\":\"boolean\",\"Contract.term.offer.answer.valueCoding\":\"Coding\",\"Contract.term.offer.answer.valueDate\":\"date\",\"Contract.term.offer.answer.valueDateTime\":\"dateTime\",\"Contract.term.offer.answer.valueDecimal\":\"decimal\",\"Contract.term.offer.answer.valueInteger\":\"integer\",\"Contract.term.offer.answer.valueQuantity\":\"Quantity\",\"Contract.term.offer.answer.valueReference\":\"Reference\",\"Contract.term.offer.answer.valueString\":\"string\",\"Contract.term.offer.answer.valueTime\":\"time\",\"Contract.term.offer.answer.valueUri\":\"uri\",\"Contract.term.offer.decision\":\"CodeableConcept\",\"Contract.term.offer.decisionMode\":\"CodeableConcept\",\"Contract.term.offer.extension\":\"Extension\",\"Contract.term.offer.id\":\"System.String\",\"Contract.term.offer.identifier\":\"Identifier\",\"Contract.term.offer.linkId\":\"string\",\"Contract.term.offer.modifierExtension\":\"Extension\",\"Contract.term.offer.party.extension\":\"Extension\",\"Contract.term.offer.party.id\":\"System.String\",\"Contract.term.offer.party.modifierExtension\":\"Extension\",\"Contract.term.offer.party.reference\":\"Reference\",\"Contract.term.offer.party.role\":\"CodeableConcept\",\"Contract.term.offer.securityLabelNumber\":\"unsignedInt\",\"Contract.term.offer.text\":\"string\",\"Contract.term.offer.topic\":\"Reference\",\"Contract.term.offer.type\":\"CodeableConcept\",\"Contract.term.securityLabel.category\":\"Coding\",\"Contract.term.securityLabel.classification\":\"Coding\",\"Contract.term.securityLabel.control\":\"Coding\",\"Contract.term.securityLabel.extension\":\"Extension\",\"Contract.term.securityLabel.id\":\"System.String\",\"Contract.term.securityLabel.modifierExtension\":\"Extension\",\"Contract.term.securityLabel.number\":\"unsignedInt\",\"Contract.term.subType\":\"CodeableConcept\",\"Contract.term.text\":\"string\",\"Contract.term.topicCodeableConcept\":\"CodeableConcept\",\"Contract.term.topicReference\":\"Reference\",\"Contract.term.type\":\"CodeableConcept\",\"Contract.text\":\"Narrative\",\"Contract.title\":\"string\",\"Contract.topicCodeableConcept\":\"CodeableConcept\",\"Contract.topicReference\":\"Reference\",\"Contract.type\":\"CodeableConcept\",\"Contract.url\":\"uri\",\"Contract.version\":\"string\",\"Contributor.contact\":\"ContactDetail\",\"Contributor.extension\":\"Extension\",\"Contributor.id\":\"System.String\",\"Contributor.name\":\"string\",\"Contributor.type\":\"code\",\"Count.code\":\"code\",\"Count.comparator\":\"code\",\"Count.extension\":\"Extension\",\"Count.id\":\"System.String\",\"Count.system\":\"uri\",\"Count.unit\":\"string\",\"Count.value\":\"decimal\",\"Coverage.beneficiary\":\"Reference\",\"Coverage.class.extension\":\"Extension\",\"Coverage.class.id\":\"System.String\",\"Coverage.class.modifierExtension\":\"Extension\",\"Coverage.class.name\":\"string\",\"Coverage.class.type\":\"CodeableConcept\",\"Coverage.class.value\":\"string\",\"Coverage.contained\":\"Resource\",\"Coverage.contract\":\"Reference\",\"Coverage.costToBeneficiary.exception.extension\":\"Extension\",\"Coverage.costToBeneficiary.exception.id\":\"System.String\",\"Coverage.costToBeneficiary.exception.modifierExtension\":\"Extension\",\"Coverage.costToBeneficiary.exception.period\":\"Period\",\"Coverage.costToBeneficiary.exception.type\":\"CodeableConcept\",\"Coverage.costToBeneficiary.extension\":\"Extension\",\"Coverage.costToBeneficiary.id\":\"System.String\",\"Coverage.costToBeneficiary.modifierExtension\":\"Extension\",\"Coverage.costToBeneficiary.type\":\"CodeableConcept\",\"Coverage.costToBeneficiary.valueMoney\":\"Money\",\"Coverage.costToBeneficiary.valueQuantity\":\"Quantity\",\"Coverage.dependent\":\"string\",\"Coverage.extension\":\"Extension\",\"Coverage.id\":\"System.String\",\"Coverage.identifier\":\"Identifier\",\"Coverage.implicitRules\":\"uri\",\"Coverage.language\":\"code\",\"Coverage.meta\":\"Meta\",\"Coverage.modifierExtension\":\"Extension\",\"Coverage.network\":\"string\",\"Coverage.order\":\"positiveInt\",\"Coverage.payor\":\"Reference\",\"Coverage.period\":\"Period\",\"Coverage.policyHolder\":\"Reference\",\"Coverage.relationship\":\"CodeableConcept\",\"Coverage.status\":\"code\",\"Coverage.subrogation\":\"boolean\",\"Coverage.subscriber\":\"Reference\",\"Coverage.subscriberId\":\"string\",\"Coverage.text\":\"Narrative\",\"Coverage.type\":\"CodeableConcept\",\"CoverageEligibilityRequest.contained\":\"Resource\",\"CoverageEligibilityRequest.created\":\"dateTime\",\"CoverageEligibilityRequest.enterer\":\"Reference\",\"CoverageEligibilityRequest.extension\":\"Extension\",\"CoverageEligibilityRequest.facility\":\"Reference\",\"CoverageEligibilityRequest.id\":\"System.String\",\"CoverageEligibilityRequest.identifier\":\"Identifier\",\"CoverageEligibilityRequest.implicitRules\":\"uri\",\"CoverageEligibilityRequest.insurance.businessArrangement\":\"string\",\"CoverageEligibilityRequest.insurance.coverage\":\"Reference\",\"CoverageEligibilityRequest.insurance.extension\":\"Extension\",\"CoverageEligibilityRequest.insurance.focal\":\"boolean\",\"CoverageEligibilityRequest.insurance.id\":\"System.String\",\"CoverageEligibilityRequest.insurance.modifierExtension\":\"Extension\",\"CoverageEligibilityRequest.insurer\":\"Reference\",\"CoverageEligibilityRequest.item.category\":\"CodeableConcept\",\"CoverageEligibilityRequest.item.detail\":\"Reference\",\"CoverageEligibilityRequest.item.diagnosis.diagnosisCodeableConcept\":\"CodeableConcept\",\"CoverageEligibilityRequest.item.diagnosis.diagnosisReference\":\"Reference\",\"CoverageEligibilityRequest.item.diagnosis.extension\":\"Extension\",\"CoverageEligibilityRequest.item.diagnosis.id\":\"System.String\",\"CoverageEligibilityRequest.item.diagnosis.modifierExtension\":\"Extension\",\"CoverageEligibilityRequest.item.extension\":\"Extension\",\"CoverageEligibilityRequest.item.facility\":\"Reference\",\"CoverageEligibilityRequest.item.id\":\"System.String\",\"CoverageEligibilityRequest.item.modifier\":\"CodeableConcept\",\"CoverageEligibilityRequest.item.modifierExtension\":\"Extension\",\"CoverageEligibilityRequest.item.productOrService\":\"CodeableConcept\",\"CoverageEligibilityRequest.item.provider\":\"Reference\",\"CoverageEligibilityRequest.item.quantity\":\"Quantity\",\"CoverageEligibilityRequest.item.supportingInfoSequence\":\"positiveInt\",\"CoverageEligibilityRequest.item.unitPrice\":\"Money\",\"CoverageEligibilityRequest.language\":\"code\",\"CoverageEligibilityRequest.meta\":\"Meta\",\"CoverageEligibilityRequest.modifierExtension\":\"Extension\",\"CoverageEligibilityRequest.patient\":\"Reference\",\"CoverageEligibilityRequest.priority\":\"CodeableConcept\",\"CoverageEligibilityRequest.provider\":\"Reference\",\"CoverageEligibilityRequest.purpose\":\"code\",\"CoverageEligibilityRequest.servicedDate\":\"date\",\"CoverageEligibilityRequest.servicedPeriod\":\"Period\",\"CoverageEligibilityRequest.status\":\"code\",\"CoverageEligibilityRequest.supportingInfo.appliesToAll\":\"boolean\",\"CoverageEligibilityRequest.supportingInfo.extension\":\"Extension\",\"CoverageEligibilityRequest.supportingInfo.id\":\"System.String\",\"CoverageEligibilityRequest.supportingInfo.information\":\"Reference\",\"CoverageEligibilityRequest.supportingInfo.modifierExtension\":\"Extension\",\"CoverageEligibilityRequest.supportingInfo.sequence\":\"positiveInt\",\"CoverageEligibilityRequest.text\":\"Narrative\",\"CoverageEligibilityResponse.contained\":\"Resource\",\"CoverageEligibilityResponse.created\":\"dateTime\",\"CoverageEligibilityResponse.disposition\":\"string\",\"CoverageEligibilityResponse.error.code\":\"CodeableConcept\",\"CoverageEligibilityResponse.error.extension\":\"Extension\",\"CoverageEligibilityResponse.error.id\":\"System.String\",\"CoverageEligibilityResponse.error.modifierExtension\":\"Extension\",\"CoverageEligibilityResponse.extension\":\"Extension\",\"CoverageEligibilityResponse.form\":\"CodeableConcept\",\"CoverageEligibilityResponse.id\":\"System.String\",\"CoverageEligibilityResponse.identifier\":\"Identifier\",\"CoverageEligibilityResponse.implicitRules\":\"uri\",\"CoverageEligibilityResponse.insurance.benefitPeriod\":\"Period\",\"CoverageEligibilityResponse.insurance.coverage\":\"Reference\",\"CoverageEligibilityResponse.insurance.extension\":\"Extension\",\"CoverageEligibilityResponse.insurance.id\":\"System.String\",\"CoverageEligibilityResponse.insurance.inforce\":\"boolean\",\"CoverageEligibilityResponse.insurance.item.authorizationRequired\":\"boolean\",\"CoverageEligibilityResponse.insurance.item.authorizationSupporting\":\"CodeableConcept\",\"CoverageEligibilityResponse.insurance.item.authorizationUrl\":\"uri\",\"CoverageEligibilityResponse.insurance.item.benefit.allowedMoney\":\"Money\",\"CoverageEligibilityResponse.insurance.item.benefit.allowedString\":\"string\",\"CoverageEligibilityResponse.insurance.item.benefit.allowedUnsignedInt\":\"unsignedInt\",\"CoverageEligibilityResponse.insurance.item.benefit.extension\":\"Extension\",\"CoverageEligibilityResponse.insurance.item.benefit.id\":\"System.String\",\"CoverageEligibilityResponse.insurance.item.benefit.modifierExtension\":\"Extension\",\"CoverageEligibilityResponse.insurance.item.benefit.type\":\"CodeableConcept\",\"CoverageEligibilityResponse.insurance.item.benefit.usedMoney\":\"Money\",\"CoverageEligibilityResponse.insurance.item.benefit.usedString\":\"string\",\"CoverageEligibilityResponse.insurance.item.benefit.usedUnsignedInt\":\"unsignedInt\",\"CoverageEligibilityResponse.insurance.item.category\":\"CodeableConcept\",\"CoverageEligibilityResponse.insurance.item.description\":\"string\",\"CoverageEligibilityResponse.insurance.item.excluded\":\"boolean\",\"CoverageEligibilityResponse.insurance.item.extension\":\"Extension\",\"CoverageEligibilityResponse.insurance.item.id\":\"System.String\",\"CoverageEligibilityResponse.insurance.item.modifier\":\"CodeableConcept\",\"CoverageEligibilityResponse.insurance.item.modifierExtension\":\"Extension\",\"CoverageEligibilityResponse.insurance.item.name\":\"string\",\"CoverageEligibilityResponse.insurance.item.network\":\"CodeableConcept\",\"CoverageEligibilityResponse.insurance.item.productOrService\":\"CodeableConcept\",\"CoverageEligibilityResponse.insurance.item.provider\":\"Reference\",\"CoverageEligibilityResponse.insurance.item.term\":\"CodeableConcept\",\"CoverageEligibilityResponse.insurance.item.unit\":\"CodeableConcept\",\"CoverageEligibilityResponse.insurance.modifierExtension\":\"Extension\",\"CoverageEligibilityResponse.insurer\":\"Reference\",\"CoverageEligibilityResponse.language\":\"code\",\"CoverageEligibilityResponse.meta\":\"Meta\",\"CoverageEligibilityResponse.modifierExtension\":\"Extension\",\"CoverageEligibilityResponse.outcome\":\"code\",\"CoverageEligibilityResponse.patient\":\"Reference\",\"CoverageEligibilityResponse.preAuthRef\":\"string\",\"CoverageEligibilityResponse.purpose\":\"code\",\"CoverageEligibilityResponse.request\":\"Reference\",\"CoverageEligibilityResponse.requestor\":\"Reference\",\"CoverageEligibilityResponse.servicedDate\":\"date\",\"CoverageEligibilityResponse.servicedPeriod\":\"Period\",\"CoverageEligibilityResponse.status\":\"code\",\"CoverageEligibilityResponse.text\":\"Narrative\",\"DataRequirement.codeFilter.code\":\"Coding\",\"DataRequirement.codeFilter.extension\":\"Extension\",\"DataRequirement.codeFilter.id\":\"System.String\",\"DataRequirement.codeFilter.path\":\"string\",\"DataRequirement.codeFilter.searchParam\":\"string\",\"DataRequirement.codeFilter.valueSet\":\"canonical\",\"DataRequirement.dateFilter.extension\":\"Extension\",\"DataRequirement.dateFilter.id\":\"System.String\",\"DataRequirement.dateFilter.path\":\"string\",\"DataRequirement.dateFilter.searchParam\":\"string\",\"DataRequirement.dateFilter.valueDateTime\":\"dateTime\",\"DataRequirement.dateFilter.valueDuration\":\"Duration\",\"DataRequirement.dateFilter.valuePeriod\":\"Period\",\"DataRequirement.extension\":\"Extension\",\"DataRequirement.id\":\"System.String\",\"DataRequirement.limit\":\"positiveInt\",\"DataRequirement.mustSupport\":\"string\",\"DataRequirement.profile\":\"canonical\",\"DataRequirement.sort.direction\":\"code\",\"DataRequirement.sort.extension\":\"Extension\",\"DataRequirement.sort.id\":\"System.String\",\"DataRequirement.sort.path\":\"string\",\"DataRequirement.subjectCodeableConcept\":\"CodeableConcept\",\"DataRequirement.subjectReference\":\"Reference\",\"DataRequirement.type\":\"code\",\"DetectedIssue.author\":\"Reference\",\"DetectedIssue.code\":\"CodeableConcept\",\"DetectedIssue.contained\":\"Resource\",\"DetectedIssue.detail\":\"string\",\"DetectedIssue.evidence.code\":\"CodeableConcept\",\"DetectedIssue.evidence.detail\":\"Reference\",\"DetectedIssue.evidence.extension\":\"Extension\",\"DetectedIssue.evidence.id\":\"System.String\",\"DetectedIssue.evidence.modifierExtension\":\"Extension\",\"DetectedIssue.extension\":\"Extension\",\"DetectedIssue.id\":\"System.String\",\"DetectedIssue.identifiedDateTime\":\"dateTime\",\"DetectedIssue.identifiedPeriod\":\"Period\",\"DetectedIssue.identifier\":\"Identifier\",\"DetectedIssue.implicated\":\"Reference\",\"DetectedIssue.implicitRules\":\"uri\",\"DetectedIssue.language\":\"code\",\"DetectedIssue.meta\":\"Meta\",\"DetectedIssue.mitigation.action\":\"CodeableConcept\",\"DetectedIssue.mitigation.author\":\"Reference\",\"DetectedIssue.mitigation.date\":\"dateTime\",\"DetectedIssue.mitigation.extension\":\"Extension\",\"DetectedIssue.mitigation.id\":\"System.String\",\"DetectedIssue.mitigation.modifierExtension\":\"Extension\",\"DetectedIssue.modifierExtension\":\"Extension\",\"DetectedIssue.patient\":\"Reference\",\"DetectedIssue.reference\":\"uri\",\"DetectedIssue.severity\":\"code\",\"DetectedIssue.status\":\"code\",\"DetectedIssue.text\":\"Narrative\",\"Device.contact\":\"ContactPoint\",\"Device.contained\":\"Resource\",\"Device.definition\":\"Reference\",\"Device.deviceName.extension\":\"Extension\",\"Device.deviceName.id\":\"System.String\",\"Device.deviceName.modifierExtension\":\"Extension\",\"Device.deviceName.name\":\"string\",\"Device.deviceName.type\":\"code\",\"Device.distinctIdentifier\":\"string\",\"Device.expirationDate\":\"dateTime\",\"Device.extension\":\"Extension\",\"Device.id\":\"System.String\",\"Device.identifier\":\"Identifier\",\"Device.implicitRules\":\"uri\",\"Device.language\":\"code\",\"Device.location\":\"Reference\",\"Device.lotNumber\":\"string\",\"Device.manufactureDate\":\"dateTime\",\"Device.manufacturer\":\"string\",\"Device.meta\":\"Meta\",\"Device.modelNumber\":\"string\",\"Device.modifierExtension\":\"Extension\",\"Device.note\":\"Annotation\",\"Device.owner\":\"Reference\",\"Device.parent\":\"Reference\",\"Device.partNumber\":\"string\",\"Device.patient\":\"Reference\",\"Device.property.extension\":\"Extension\",\"Device.property.id\":\"System.String\",\"Device.property.modifierExtension\":\"Extension\",\"Device.property.type\":\"CodeableConcept\",\"Device.property.valueCode\":\"CodeableConcept\",\"Device.property.valueQuantity\":\"Quantity\",\"Device.safety\":\"CodeableConcept\",\"Device.serialNumber\":\"string\",\"Device.specialization.extension\":\"Extension\",\"Device.specialization.id\":\"System.String\",\"Device.specialization.modifierExtension\":\"Extension\",\"Device.specialization.systemType\":\"CodeableConcept\",\"Device.specialization.version\":\"string\",\"Device.status\":\"code\",\"Device.statusReason\":\"CodeableConcept\",\"Device.text\":\"Narrative\",\"Device.type\":\"CodeableConcept\",\"Device.udiCarrier.carrierAIDC\":\"base64Binary\",\"Device.udiCarrier.carrierHRF\":\"string\",\"Device.udiCarrier.deviceIdentifier\":\"string\",\"Device.udiCarrier.entryType\":\"code\",\"Device.udiCarrier.extension\":\"Extension\",\"Device.udiCarrier.id\":\"System.String\",\"Device.udiCarrier.issuer\":\"uri\",\"Device.udiCarrier.jurisdiction\":\"uri\",\"Device.udiCarrier.modifierExtension\":\"Extension\",\"Device.url\":\"uri\",\"Device.version.component\":\"Identifier\",\"Device.version.extension\":\"Extension\",\"Device.version.id\":\"System.String\",\"Device.version.modifierExtension\":\"Extension\",\"Device.version.type\":\"CodeableConcept\",\"Device.version.value\":\"string\",\"DeviceDefinition.capability.description\":\"CodeableConcept\",\"DeviceDefinition.capability.extension\":\"Extension\",\"DeviceDefinition.capability.id\":\"System.String\",\"DeviceDefinition.capability.modifierExtension\":\"Extension\",\"DeviceDefinition.capability.type\":\"CodeableConcept\",\"DeviceDefinition.contact\":\"ContactPoint\",\"DeviceDefinition.contained\":\"Resource\",\"DeviceDefinition.deviceName.extension\":\"Extension\",\"DeviceDefinition.deviceName.id\":\"System.String\",\"DeviceDefinition.deviceName.modifierExtension\":\"Extension\",\"DeviceDefinition.deviceName.name\":\"string\",\"DeviceDefinition.deviceName.type\":\"code\",\"DeviceDefinition.extension\":\"Extension\",\"DeviceDefinition.id\":\"System.String\",\"DeviceDefinition.identifier\":\"Identifier\",\"DeviceDefinition.implicitRules\":\"uri\",\"DeviceDefinition.language\":\"code\",\"DeviceDefinition.languageCode\":\"CodeableConcept\",\"DeviceDefinition.manufacturerReference\":\"Reference\",\"DeviceDefinition.manufacturerString\":\"string\",\"DeviceDefinition.material.allergenicIndicator\":\"boolean\",\"DeviceDefinition.material.alternate\":\"boolean\",\"DeviceDefinition.material.extension\":\"Extension\",\"DeviceDefinition.material.id\":\"System.String\",\"DeviceDefinition.material.modifierExtension\":\"Extension\",\"DeviceDefinition.material.substance\":\"CodeableConcept\",\"DeviceDefinition.meta\":\"Meta\",\"DeviceDefinition.modelNumber\":\"string\",\"DeviceDefinition.modifierExtension\":\"Extension\",\"DeviceDefinition.note\":\"Annotation\",\"DeviceDefinition.onlineInformation\":\"uri\",\"DeviceDefinition.owner\":\"Reference\",\"DeviceDefinition.parentDevice\":\"Reference\",\"DeviceDefinition.physicalCharacteristics\":\"ProdCharacteristic\",\"DeviceDefinition.property.extension\":\"Extension\",\"DeviceDefinition.property.id\":\"System.String\",\"DeviceDefinition.property.modifierExtension\":\"Extension\",\"DeviceDefinition.property.type\":\"CodeableConcept\",\"DeviceDefinition.property.valueCode\":\"CodeableConcept\",\"DeviceDefinition.property.valueQuantity\":\"Quantity\",\"DeviceDefinition.quantity\":\"Quantity\",\"DeviceDefinition.safety\":\"CodeableConcept\",\"DeviceDefinition.shelfLifeStorage\":\"ProductShelfLife\",\"DeviceDefinition.specialization.extension\":\"Extension\",\"DeviceDefinition.specialization.id\":\"System.String\",\"DeviceDefinition.specialization.modifierExtension\":\"Extension\",\"DeviceDefinition.specialization.systemType\":\"string\",\"DeviceDefinition.specialization.version\":\"string\",\"DeviceDefinition.text\":\"Narrative\",\"DeviceDefinition.type\":\"CodeableConcept\",\"DeviceDefinition.udiDeviceIdentifier.deviceIdentifier\":\"string\",\"DeviceDefinition.udiDeviceIdentifier.extension\":\"Extension\",\"DeviceDefinition.udiDeviceIdentifier.id\":\"System.String\",\"DeviceDefinition.udiDeviceIdentifier.issuer\":\"uri\",\"DeviceDefinition.udiDeviceIdentifier.jurisdiction\":\"uri\",\"DeviceDefinition.udiDeviceIdentifier.modifierExtension\":\"Extension\",\"DeviceDefinition.url\":\"uri\",\"DeviceDefinition.version\":\"string\",\"DeviceMetric.calibration.extension\":\"Extension\",\"DeviceMetric.calibration.id\":\"System.String\",\"DeviceMetric.calibration.modifierExtension\":\"Extension\",\"DeviceMetric.calibration.state\":\"code\",\"DeviceMetric.calibration.time\":\"instant\",\"DeviceMetric.calibration.type\":\"code\",\"DeviceMetric.category\":\"code\",\"DeviceMetric.color\":\"code\",\"DeviceMetric.contained\":\"Resource\",\"DeviceMetric.extension\":\"Extension\",\"DeviceMetric.id\":\"System.String\",\"DeviceMetric.identifier\":\"Identifier\",\"DeviceMetric.implicitRules\":\"uri\",\"DeviceMetric.language\":\"code\",\"DeviceMetric.measurementPeriod\":\"Timing\",\"DeviceMetric.meta\":\"Meta\",\"DeviceMetric.modifierExtension\":\"Extension\",\"DeviceMetric.operationalStatus\":\"code\",\"DeviceMetric.parent\":\"Reference\",\"DeviceMetric.source\":\"Reference\",\"DeviceMetric.text\":\"Narrative\",\"DeviceMetric.type\":\"CodeableConcept\",\"DeviceMetric.unit\":\"CodeableConcept\",\"DeviceRequest.authoredOn\":\"dateTime\",\"DeviceRequest.basedOn\":\"Reference\",\"DeviceRequest.codeCodeableConcept\":\"CodeableConcept\",\"DeviceRequest.codeReference\":\"Reference\",\"DeviceRequest.contained\":\"Resource\",\"DeviceRequest.encounter\":\"Reference\",\"DeviceRequest.extension\":\"Extension\",\"DeviceRequest.groupIdentifier\":\"Identifier\",\"DeviceRequest.id\":\"System.String\",\"DeviceRequest.identifier\":\"Identifier\",\"DeviceRequest.implicitRules\":\"uri\",\"DeviceRequest.instantiatesCanonical\":\"canonical\",\"DeviceRequest.instantiatesUri\":\"uri\",\"DeviceRequest.insurance\":\"Reference\",\"DeviceRequest.intent\":\"code\",\"DeviceRequest.language\":\"code\",\"DeviceRequest.meta\":\"Meta\",\"DeviceRequest.modifierExtension\":\"Extension\",\"DeviceRequest.note\":\"Annotation\",\"DeviceRequest.occurrenceDateTime\":\"dateTime\",\"DeviceRequest.occurrencePeriod\":\"Period\",\"DeviceRequest.occurrenceTiming\":\"Timing\",\"DeviceRequest.parameter.code\":\"CodeableConcept\",\"DeviceRequest.parameter.extension\":\"Extension\",\"DeviceRequest.parameter.id\":\"System.String\",\"DeviceRequest.parameter.modifierExtension\":\"Extension\",\"DeviceRequest.parameter.valueBoolean\":\"boolean\",\"DeviceRequest.parameter.valueCodeableConcept\":\"CodeableConcept\",\"DeviceRequest.parameter.valueQuantity\":\"Quantity\",\"DeviceRequest.parameter.valueRange\":\"Range\",\"DeviceRequest.performer\":\"Reference\",\"DeviceRequest.performerType\":\"CodeableConcept\",\"DeviceRequest.priorRequest\":\"Reference\",\"DeviceRequest.priority\":\"code\",\"DeviceRequest.reasonCode\":\"CodeableConcept\",\"DeviceRequest.reasonReference\":\"Reference\",\"DeviceRequest.relevantHistory\":\"Reference\",\"DeviceRequest.requester\":\"Reference\",\"DeviceRequest.status\":\"code\",\"DeviceRequest.subject\":\"Reference\",\"DeviceRequest.supportingInfo\":\"Reference\",\"DeviceRequest.text\":\"Narrative\",\"DeviceUseStatement.basedOn\":\"Reference\",\"DeviceUseStatement.bodySite\":\"CodeableConcept\",\"DeviceUseStatement.contained\":\"Resource\",\"DeviceUseStatement.derivedFrom\":\"Reference\",\"DeviceUseStatement.device\":\"Reference\",\"DeviceUseStatement.extension\":\"Extension\",\"DeviceUseStatement.id\":\"System.String\",\"DeviceUseStatement.identifier\":\"Identifier\",\"DeviceUseStatement.implicitRules\":\"uri\",\"DeviceUseStatement.language\":\"code\",\"DeviceUseStatement.meta\":\"Meta\",\"DeviceUseStatement.modifierExtension\":\"Extension\",\"DeviceUseStatement.note\":\"Annotation\",\"DeviceUseStatement.reasonCode\":\"CodeableConcept\",\"DeviceUseStatement.reasonReference\":\"Reference\",\"DeviceUseStatement.recordedOn\":\"dateTime\",\"DeviceUseStatement.source\":\"Reference\",\"DeviceUseStatement.status\":\"code\",\"DeviceUseStatement.subject\":\"Reference\",\"DeviceUseStatement.text\":\"Narrative\",\"DeviceUseStatement.timingDateTime\":\"dateTime\",\"DeviceUseStatement.timingPeriod\":\"Period\",\"DeviceUseStatement.timingTiming\":\"Timing\",\"DiagnosticReport.basedOn\":\"Reference\",\"DiagnosticReport.category\":\"CodeableConcept\",\"DiagnosticReport.code\":\"CodeableConcept\",\"DiagnosticReport.conclusion\":\"string\",\"DiagnosticReport.conclusionCode\":\"CodeableConcept\",\"DiagnosticReport.contained\":\"Resource\",\"DiagnosticReport.effectiveDateTime\":\"dateTime\",\"DiagnosticReport.effectivePeriod\":\"Period\",\"DiagnosticReport.encounter\":\"Reference\",\"DiagnosticReport.extension\":\"Extension\",\"DiagnosticReport.id\":\"System.String\",\"DiagnosticReport.identifier\":\"Identifier\",\"DiagnosticReport.imagingStudy\":\"Reference\",\"DiagnosticReport.implicitRules\":\"uri\",\"DiagnosticReport.issued\":\"instant\",\"DiagnosticReport.language\":\"code\",\"DiagnosticReport.media.comment\":\"string\",\"DiagnosticReport.media.extension\":\"Extension\",\"DiagnosticReport.media.id\":\"System.String\",\"DiagnosticReport.media.link\":\"Reference\",\"DiagnosticReport.media.modifierExtension\":\"Extension\",\"DiagnosticReport.meta\":\"Meta\",\"DiagnosticReport.modifierExtension\":\"Extension\",\"DiagnosticReport.performer\":\"Reference\",\"DiagnosticReport.presentedForm\":\"Attachment\",\"DiagnosticReport.result\":\"Reference\",\"DiagnosticReport.resultsInterpreter\":\"Reference\",\"DiagnosticReport.specimen\":\"Reference\",\"DiagnosticReport.status\":\"code\",\"DiagnosticReport.subject\":\"Reference\",\"DiagnosticReport.text\":\"Narrative\",\"Distance.code\":\"code\",\"Distance.comparator\":\"code\",\"Distance.extension\":\"Extension\",\"Distance.id\":\"System.String\",\"Distance.system\":\"uri\",\"Distance.unit\":\"string\",\"Distance.value\":\"decimal\",\"DocumentManifest.author\":\"Reference\",\"DocumentManifest.contained\":\"Resource\",\"DocumentManifest.content\":\"Reference\",\"DocumentManifest.created\":\"dateTime\",\"DocumentManifest.description\":\"string\",\"DocumentManifest.extension\":\"Extension\",\"DocumentManifest.id\":\"System.String\",\"DocumentManifest.identifier\":\"Identifier\",\"DocumentManifest.implicitRules\":\"uri\",\"DocumentManifest.language\":\"code\",\"DocumentManifest.masterIdentifier\":\"Identifier\",\"DocumentManifest.meta\":\"Meta\",\"DocumentManifest.modifierExtension\":\"Extension\",\"DocumentManifest.recipient\":\"Reference\",\"DocumentManifest.related.extension\":\"Extension\",\"DocumentManifest.related.id\":\"System.String\",\"DocumentManifest.related.identifier\":\"Identifier\",\"DocumentManifest.related.modifierExtension\":\"Extension\",\"DocumentManifest.related.ref\":\"Reference\",\"DocumentManifest.source\":\"uri\",\"DocumentManifest.status\":\"code\",\"DocumentManifest.subject\":\"Reference\",\"DocumentManifest.text\":\"Narrative\",\"DocumentManifest.type\":\"CodeableConcept\",\"DocumentReference.authenticator\":\"Reference\",\"DocumentReference.author\":\"Reference\",\"DocumentReference.category\":\"CodeableConcept\",\"DocumentReference.contained\":\"Resource\",\"DocumentReference.content.attachment\":\"Attachment\",\"DocumentReference.content.extension\":\"Extension\",\"DocumentReference.content.format\":\"Coding\",\"DocumentReference.content.id\":\"System.String\",\"DocumentReference.content.modifierExtension\":\"Extension\",\"DocumentReference.context.encounter\":\"Reference\",\"DocumentReference.context.event\":\"CodeableConcept\",\"DocumentReference.context.extension\":\"Extension\",\"DocumentReference.context.facilityType\":\"CodeableConcept\",\"DocumentReference.context.id\":\"System.String\",\"DocumentReference.context.modifierExtension\":\"Extension\",\"DocumentReference.context.period\":\"Period\",\"DocumentReference.context.practiceSetting\":\"CodeableConcept\",\"DocumentReference.context.related\":\"Reference\",\"DocumentReference.context.sourcePatientInfo\":\"Reference\",\"DocumentReference.custodian\":\"Reference\",\"DocumentReference.date\":\"instant\",\"DocumentReference.description\":\"string\",\"DocumentReference.docStatus\":\"code\",\"DocumentReference.extension\":\"Extension\",\"DocumentReference.id\":\"System.String\",\"DocumentReference.identifier\":\"Identifier\",\"DocumentReference.implicitRules\":\"uri\",\"DocumentReference.language\":\"code\",\"DocumentReference.masterIdentifier\":\"Identifier\",\"DocumentReference.meta\":\"Meta\",\"DocumentReference.modifierExtension\":\"Extension\",\"DocumentReference.relatesTo.code\":\"code\",\"DocumentReference.relatesTo.extension\":\"Extension\",\"DocumentReference.relatesTo.id\":\"System.String\",\"DocumentReference.relatesTo.modifierExtension\":\"Extension\",\"DocumentReference.relatesTo.target\":\"Reference\",\"DocumentReference.securityLabel\":\"CodeableConcept\",\"DocumentReference.status\":\"code\",\"DocumentReference.subject\":\"Reference\",\"DocumentReference.text\":\"Narrative\",\"DocumentReference.type\":\"CodeableConcept\",\"DomainResource.contained\":\"Resource\",\"DomainResource.extension\":\"Extension\",\"DomainResource.id\":\"System.String\",\"DomainResource.implicitRules\":\"uri\",\"DomainResource.language\":\"code\",\"DomainResource.meta\":\"Meta\",\"DomainResource.modifierExtension\":\"Extension\",\"DomainResource.text\":\"Narrative\",\"Dosage.additionalInstruction\":\"CodeableConcept\",\"Dosage.asNeededBoolean\":\"boolean\",\"Dosage.asNeededCodeableConcept\":\"CodeableConcept\",\"Dosage.doseAndRate.doseQuantity\":\"Quantity\",\"Dosage.doseAndRate.doseRange\":\"Range\",\"Dosage.doseAndRate.extension\":\"Extension\",\"Dosage.doseAndRate.id\":\"System.String\",\"Dosage.doseAndRate.rateQuantity\":\"Quantity\",\"Dosage.doseAndRate.rateRange\":\"Range\",\"Dosage.doseAndRate.rateRatio\":\"Ratio\",\"Dosage.doseAndRate.type\":\"CodeableConcept\",\"Dosage.extension\":\"Extension\",\"Dosage.id\":\"System.String\",\"Dosage.maxDosePerAdministration\":\"Quantity\",\"Dosage.maxDosePerLifetime\":\"Quantity\",\"Dosage.maxDosePerPeriod\":\"Ratio\",\"Dosage.method\":\"CodeableConcept\",\"Dosage.modifierExtension\":\"Extension\",\"Dosage.patientInstruction\":\"string\",\"Dosage.route\":\"CodeableConcept\",\"Dosage.sequence\":\"integer\",\"Dosage.site\":\"CodeableConcept\",\"Dosage.text\":\"string\",\"Dosage.timing\":\"Timing\",\"Duration.code\":\"code\",\"Duration.comparator\":\"code\",\"Duration.extension\":\"Extension\",\"Duration.id\":\"System.String\",\"Duration.system\":\"uri\",\"Duration.unit\":\"string\",\"Duration.value\":\"decimal\",\"EffectEvidenceSynthesis.approvalDate\":\"date\",\"EffectEvidenceSynthesis.author\":\"ContactDetail\",\"EffectEvidenceSynthesis.certainty.certaintySubcomponent.extension\":\"Extension\",\"EffectEvidenceSynthesis.certainty.certaintySubcomponent.id\":\"System.String\",\"EffectEvidenceSynthesis.certainty.certaintySubcomponent.modifierExtension\":\"Extension\",\"EffectEvidenceSynthesis.certainty.certaintySubcomponent.note\":\"Annotation\",\"EffectEvidenceSynthesis.certainty.certaintySubcomponent.rating\":\"CodeableConcept\",\"EffectEvidenceSynthesis.certainty.certaintySubcomponent.type\":\"CodeableConcept\",\"EffectEvidenceSynthesis.certainty.extension\":\"Extension\",\"EffectEvidenceSynthesis.certainty.id\":\"System.String\",\"EffectEvidenceSynthesis.certainty.modifierExtension\":\"Extension\",\"EffectEvidenceSynthesis.certainty.note\":\"Annotation\",\"EffectEvidenceSynthesis.certainty.rating\":\"CodeableConcept\",\"EffectEvidenceSynthesis.contact\":\"ContactDetail\",\"EffectEvidenceSynthesis.contained\":\"Resource\",\"EffectEvidenceSynthesis.copyright\":\"markdown\",\"EffectEvidenceSynthesis.date\":\"dateTime\",\"EffectEvidenceSynthesis.description\":\"markdown\",\"EffectEvidenceSynthesis.editor\":\"ContactDetail\",\"EffectEvidenceSynthesis.effectEstimate.description\":\"string\",\"EffectEvidenceSynthesis.effectEstimate.extension\":\"Extension\",\"EffectEvidenceSynthesis.effectEstimate.id\":\"System.String\",\"EffectEvidenceSynthesis.effectEstimate.modifierExtension\":\"Extension\",\"EffectEvidenceSynthesis.effectEstimate.precisionEstimate.extension\":\"Extension\",\"EffectEvidenceSynthesis.effectEstimate.precisionEstimate.from\":\"decimal\",\"EffectEvidenceSynthesis.effectEstimate.precisionEstimate.id\":\"System.String\",\"EffectEvidenceSynthesis.effectEstimate.precisionEstimate.level\":\"decimal\",\"EffectEvidenceSynthesis.effectEstimate.precisionEstimate.modifierExtension\":\"Extension\",\"EffectEvidenceSynthesis.effectEstimate.precisionEstimate.to\":\"decimal\",\"EffectEvidenceSynthesis.effectEstimate.precisionEstimate.type\":\"CodeableConcept\",\"EffectEvidenceSynthesis.effectEstimate.type\":\"CodeableConcept\",\"EffectEvidenceSynthesis.effectEstimate.unitOfMeasure\":\"CodeableConcept\",\"EffectEvidenceSynthesis.effectEstimate.value\":\"decimal\",\"EffectEvidenceSynthesis.effectEstimate.variantState\":\"CodeableConcept\",\"EffectEvidenceSynthesis.effectivePeriod\":\"Period\",\"EffectEvidenceSynthesis.endorser\":\"ContactDetail\",\"EffectEvidenceSynthesis.exposure\":\"Reference\",\"EffectEvidenceSynthesis.exposureAlternative\":\"Reference\",\"EffectEvidenceSynthesis.extension\":\"Extension\",\"EffectEvidenceSynthesis.id\":\"System.String\",\"EffectEvidenceSynthesis.identifier\":\"Identifier\",\"EffectEvidenceSynthesis.implicitRules\":\"uri\",\"EffectEvidenceSynthesis.jurisdiction\":\"CodeableConcept\",\"EffectEvidenceSynthesis.language\":\"code\",\"EffectEvidenceSynthesis.lastReviewDate\":\"date\",\"EffectEvidenceSynthesis.meta\":\"Meta\",\"EffectEvidenceSynthesis.modifierExtension\":\"Extension\",\"EffectEvidenceSynthesis.name\":\"string\",\"EffectEvidenceSynthesis.note\":\"Annotation\",\"EffectEvidenceSynthesis.outcome\":\"Reference\",\"EffectEvidenceSynthesis.population\":\"Reference\",\"EffectEvidenceSynthesis.publisher\":\"string\",\"EffectEvidenceSynthesis.relatedArtifact\":\"RelatedArtifact\",\"EffectEvidenceSynthesis.resultsByExposure.description\":\"string\",\"EffectEvidenceSynthesis.resultsByExposure.exposureState\":\"code\",\"EffectEvidenceSynthesis.resultsByExposure.extension\":\"Extension\",\"EffectEvidenceSynthesis.resultsByExposure.id\":\"System.String\",\"EffectEvidenceSynthesis.resultsByExposure.modifierExtension\":\"Extension\",\"EffectEvidenceSynthesis.resultsByExposure.riskEvidenceSynthesis\":\"Reference\",\"EffectEvidenceSynthesis.resultsByExposure.variantState\":\"CodeableConcept\",\"EffectEvidenceSynthesis.reviewer\":\"ContactDetail\",\"EffectEvidenceSynthesis.sampleSize.description\":\"string\",\"EffectEvidenceSynthesis.sampleSize.extension\":\"Extension\",\"EffectEvidenceSynthesis.sampleSize.id\":\"System.String\",\"EffectEvidenceSynthesis.sampleSize.modifierExtension\":\"Extension\",\"EffectEvidenceSynthesis.sampleSize.numberOfParticipants\":\"integer\",\"EffectEvidenceSynthesis.sampleSize.numberOfStudies\":\"integer\",\"EffectEvidenceSynthesis.status\":\"code\",\"EffectEvidenceSynthesis.studyType\":\"CodeableConcept\",\"EffectEvidenceSynthesis.synthesisType\":\"CodeableConcept\",\"EffectEvidenceSynthesis.text\":\"Narrative\",\"EffectEvidenceSynthesis.title\":\"string\",\"EffectEvidenceSynthesis.topic\":\"CodeableConcept\",\"EffectEvidenceSynthesis.url\":\"uri\",\"EffectEvidenceSynthesis.useContext\":\"UsageContext\",\"EffectEvidenceSynthesis.version\":\"string\",\"Element.extension\":\"Extension\",\"Element.id\":\"System.String\",\"ElementDefinition.alias\":\"string\",\"ElementDefinition.base.extension\":\"Extension\",\"ElementDefinition.base.id\":\"System.String\",\"ElementDefinition.base.max\":\"string\",\"ElementDefinition.base.min\":\"unsignedInt\",\"ElementDefinition.base.path\":\"string\",\"ElementDefinition.binding.description\":\"string\",\"ElementDefinition.binding.extension\":\"Extension\",\"ElementDefinition.binding.id\":\"System.String\",\"ElementDefinition.binding.strength\":\"code\",\"ElementDefinition.binding.valueSet\":\"canonical\",\"ElementDefinition.code\":\"Coding\",\"ElementDefinition.comment\":\"markdown\",\"ElementDefinition.condition\":\"id\",\"ElementDefinition.constraint.expression\":\"string\",\"ElementDefinition.constraint.extension\":\"Extension\",\"ElementDefinition.constraint.human\":\"string\",\"ElementDefinition.constraint.id\":\"System.String\",\"ElementDefinition.constraint.key\":\"id\",\"ElementDefinition.constraint.requirements\":\"string\",\"ElementDefinition.constraint.severity\":\"code\",\"ElementDefinition.constraint.source\":\"canonical\",\"ElementDefinition.constraint.xpath\":\"string\",\"ElementDefinition.contentReference\":\"uri\",\"ElementDefinition.defaultValueAddress\":\"Address\",\"ElementDefinition.defaultValueAge\":\"Age\",\"ElementDefinition.defaultValueAnnotation\":\"Annotation\",\"ElementDefinition.defaultValueAttachment\":\"Attachment\",\"ElementDefinition.defaultValueBase64Binary\":\"base64Binary\",\"ElementDefinition.defaultValueBoolean\":\"boolean\",\"ElementDefinition.defaultValueCanonical\":\"canonical\",\"ElementDefinition.defaultValueCode\":\"code\",\"ElementDefinition.defaultValueCodeableConcept\":\"CodeableConcept\",\"ElementDefinition.defaultValueCoding\":\"Coding\",\"ElementDefinition.defaultValueContactDetail\":\"ContactDetail\",\"ElementDefinition.defaultValueContactPoint\":\"ContactPoint\",\"ElementDefinition.defaultValueContributor\":\"Contributor\",\"ElementDefinition.defaultValueCount\":\"Count\",\"ElementDefinition.defaultValueDataRequirement\":\"DataRequirement\",\"ElementDefinition.defaultValueDate\":\"date\",\"ElementDefinition.defaultValueDateTime\":\"dateTime\",\"ElementDefinition.defaultValueDecimal\":\"decimal\",\"ElementDefinition.defaultValueDistance\":\"Distance\",\"ElementDefinition.defaultValueDosage\":\"Dosage\",\"ElementDefinition.defaultValueDuration\":\"Duration\",\"ElementDefinition.defaultValueExpression\":\"Expression\",\"ElementDefinition.defaultValueHumanName\":\"HumanName\",\"ElementDefinition.defaultValueId\":\"id\",\"ElementDefinition.defaultValueIdentifier\":\"Identifier\",\"ElementDefinition.defaultValueInstant\":\"instant\",\"ElementDefinition.defaultValueInteger\":\"integer\",\"ElementDefinition.defaultValueMarkdown\":\"markdown\",\"ElementDefinition.defaultValueMeta\":\"Meta\",\"ElementDefinition.defaultValueMoney\":\"Money\",\"ElementDefinition.defaultValueOid\":\"oid\",\"ElementDefinition.defaultValueParameterDefinition\":\"ParameterDefinition\",\"ElementDefinition.defaultValuePeriod\":\"Period\",\"ElementDefinition.defaultValuePositiveInt\":\"positiveInt\",\"ElementDefinition.defaultValueQuantity\":\"Quantity\",\"ElementDefinition.defaultValueRange\":\"Range\",\"ElementDefinition.defaultValueRatio\":\"Ratio\",\"ElementDefinition.defaultValueReference\":\"Reference\",\"ElementDefinition.defaultValueRelatedArtifact\":\"RelatedArtifact\",\"ElementDefinition.defaultValueSampledData\":\"SampledData\",\"ElementDefinition.defaultValueSignature\":\"Signature\",\"ElementDefinition.defaultValueString\":\"string\",\"ElementDefinition.defaultValueTime\":\"time\",\"ElementDefinition.defaultValueTiming\":\"Timing\",\"ElementDefinition.defaultValueTriggerDefinition\":\"TriggerDefinition\",\"ElementDefinition.defaultValueUnsignedInt\":\"unsignedInt\",\"ElementDefinition.defaultValueUri\":\"uri\",\"ElementDefinition.defaultValueUrl\":\"url\",\"ElementDefinition.defaultValueUsageContext\":\"UsageContext\",\"ElementDefinition.defaultValueUuid\":\"uuid\",\"ElementDefinition.definition\":\"markdown\",\"ElementDefinition.example.extension\":\"Extension\",\"ElementDefinition.example.id\":\"System.String\",\"ElementDefinition.example.label\":\"string\",\"ElementDefinition.example.valueAddress\":\"Address\",\"ElementDefinition.example.valueAge\":\"Age\",\"ElementDefinition.example.valueAnnotation\":\"Annotation\",\"ElementDefinition.example.valueAttachment\":\"Attachment\",\"ElementDefinition.example.valueBase64Binary\":\"base64Binary\",\"ElementDefinition.example.valueBoolean\":\"boolean\",\"ElementDefinition.example.valueCanonical\":\"canonical\",\"ElementDefinition.example.valueCode\":\"code\",\"ElementDefinition.example.valueCodeableConcept\":\"CodeableConcept\",\"ElementDefinition.example.valueCoding\":\"Coding\",\"ElementDefinition.example.valueContactDetail\":\"ContactDetail\",\"ElementDefinition.example.valueContactPoint\":\"ContactPoint\",\"ElementDefinition.example.valueContributor\":\"Contributor\",\"ElementDefinition.example.valueCount\":\"Count\",\"ElementDefinition.example.valueDataRequirement\":\"DataRequirement\",\"ElementDefinition.example.valueDate\":\"date\",\"ElementDefinition.example.valueDateTime\":\"dateTime\",\"ElementDefinition.example.valueDecimal\":\"decimal\",\"ElementDefinition.example.valueDistance\":\"Distance\",\"ElementDefinition.example.valueDosage\":\"Dosage\",\"ElementDefinition.example.valueDuration\":\"Duration\",\"ElementDefinition.example.valueExpression\":\"Expression\",\"ElementDefinition.example.valueHumanName\":\"HumanName\",\"ElementDefinition.example.valueId\":\"id\",\"ElementDefinition.example.valueIdentifier\":\"Identifier\",\"ElementDefinition.example.valueInstant\":\"instant\",\"ElementDefinition.example.valueInteger\":\"integer\",\"ElementDefinition.example.valueMarkdown\":\"markdown\",\"ElementDefinition.example.valueMeta\":\"Meta\",\"ElementDefinition.example.valueMoney\":\"Money\",\"ElementDefinition.example.valueOid\":\"oid\",\"ElementDefinition.example.valueParameterDefinition\":\"ParameterDefinition\",\"ElementDefinition.example.valuePeriod\":\"Period\",\"ElementDefinition.example.valuePositiveInt\":\"positiveInt\",\"ElementDefinition.example.valueQuantity\":\"Quantity\",\"ElementDefinition.example.valueRange\":\"Range\",\"ElementDefinition.example.valueRatio\":\"Ratio\",\"ElementDefinition.example.valueReference\":\"Reference\",\"ElementDefinition.example.valueRelatedArtifact\":\"RelatedArtifact\",\"ElementDefinition.example.valueSampledData\":\"SampledData\",\"ElementDefinition.example.valueSignature\":\"Signature\",\"ElementDefinition.example.valueString\":\"string\",\"ElementDefinition.example.valueTime\":\"time\",\"ElementDefinition.example.valueTiming\":\"Timing\",\"ElementDefinition.example.valueTriggerDefinition\":\"TriggerDefinition\",\"ElementDefinition.example.valueUnsignedInt\":\"unsignedInt\",\"ElementDefinition.example.valueUri\":\"uri\",\"ElementDefinition.example.valueUrl\":\"url\",\"ElementDefinition.example.valueUsageContext\":\"UsageContext\",\"ElementDefinition.example.valueUuid\":\"uuid\",\"ElementDefinition.extension\":\"Extension\",\"ElementDefinition.extension.extension\":\"Extension\",\"ElementDefinition.extension.id\":\"System.String\",\"ElementDefinition.extension.url\":\"System.String\",\"ElementDefinition.extension.valueCanonical\":\"canonical\",\"ElementDefinition.extension.valueCodeableConcept\":\"CodeableConcept\",\"ElementDefinition.extension.valueString\":\"string\",\"ElementDefinition.fixedAddress\":\"Address\",\"ElementDefinition.fixedAge\":\"Age\",\"ElementDefinition.fixedAnnotation\":\"Annotation\",\"ElementDefinition.fixedAttachment\":\"Attachment\",\"ElementDefinition.fixedBase64Binary\":\"base64Binary\",\"ElementDefinition.fixedBoolean\":\"boolean\",\"ElementDefinition.fixedCanonical\":\"canonical\",\"ElementDefinition.fixedCode\":\"code\",\"ElementDefinition.fixedCodeableConcept\":\"CodeableConcept\",\"ElementDefinition.fixedCoding\":\"Coding\",\"ElementDefinition.fixedContactDetail\":\"ContactDetail\",\"ElementDefinition.fixedContactPoint\":\"ContactPoint\",\"ElementDefinition.fixedContributor\":\"Contributor\",\"ElementDefinition.fixedCount\":\"Count\",\"ElementDefinition.fixedDataRequirement\":\"DataRequirement\",\"ElementDefinition.fixedDate\":\"date\",\"ElementDefinition.fixedDateTime\":\"dateTime\",\"ElementDefinition.fixedDecimal\":\"decimal\",\"ElementDefinition.fixedDistance\":\"Distance\",\"ElementDefinition.fixedDosage\":\"Dosage\",\"ElementDefinition.fixedDuration\":\"Duration\",\"ElementDefinition.fixedExpression\":\"Expression\",\"ElementDefinition.fixedHumanName\":\"HumanName\",\"ElementDefinition.fixedId\":\"id\",\"ElementDefinition.fixedIdentifier\":\"Identifier\",\"ElementDefinition.fixedInstant\":\"instant\",\"ElementDefinition.fixedInteger\":\"integer\",\"ElementDefinition.fixedMarkdown\":\"markdown\",\"ElementDefinition.fixedMeta\":\"Meta\",\"ElementDefinition.fixedMoney\":\"Money\",\"ElementDefinition.fixedOid\":\"oid\",\"ElementDefinition.fixedParameterDefinition\":\"ParameterDefinition\",\"ElementDefinition.fixedPeriod\":\"Period\",\"ElementDefinition.fixedPositiveInt\":\"positiveInt\",\"ElementDefinition.fixedQuantity\":\"Quantity\",\"ElementDefinition.fixedRange\":\"Range\",\"ElementDefinition.fixedRatio\":\"Ratio\",\"ElementDefinition.fixedReference\":\"Reference\",\"ElementDefinition.fixedRelatedArtifact\":\"RelatedArtifact\",\"ElementDefinition.fixedSampledData\":\"SampledData\",\"ElementDefinition.fixedSignature\":\"Signature\",\"ElementDefinition.fixedString\":\"string\",\"ElementDefinition.fixedTime\":\"time\",\"ElementDefinition.fixedTiming\":\"Timing\",\"ElementDefinition.fixedTriggerDefinition\":\"TriggerDefinition\",\"ElementDefinition.fixedUnsignedInt\":\"unsignedInt\",\"ElementDefinition.fixedUri\":\"uri\",\"ElementDefinition.fixedUrl\":\"url\",\"ElementDefinition.fixedUsageContext\":\"UsageContext\",\"ElementDefinition.fixedUuid\":\"uuid\",\"ElementDefinition.id\":\"System.String\",\"ElementDefinition.isModifier\":\"boolean\",\"ElementDefinition.isModifierReason\":\"string\",\"ElementDefinition.isSummary\":\"boolean\",\"ElementDefinition.label\":\"string\",\"ElementDefinition.mapping.comment\":\"string\",\"ElementDefinition.mapping.extension\":\"Extension\",\"ElementDefinition.mapping.id\":\"System.String\",\"ElementDefinition.mapping.identity\":\"id\",\"ElementDefinition.mapping.language\":\"code\",\"ElementDefinition.mapping.map\":\"string\",\"ElementDefinition.max\":\"string\",\"ElementDefinition.maxLength\":\"integer\",\"ElementDefinition.maxValueDate\":\"date\",\"ElementDefinition.maxValueDateTime\":\"dateTime\",\"ElementDefinition.maxValueDecimal\":\"decimal\",\"ElementDefinition.maxValueInstant\":\"instant\",\"ElementDefinition.maxValueInteger\":\"integer\",\"ElementDefinition.maxValuePositiveInt\":\"positiveInt\",\"ElementDefinition.maxValueQuantity\":\"Quantity\",\"ElementDefinition.maxValueTime\":\"time\",\"ElementDefinition.maxValueUnsignedInt\":\"unsignedInt\",\"ElementDefinition.meaningWhenMissing\":\"markdown\",\"ElementDefinition.min\":\"unsignedInt\",\"ElementDefinition.minValueDate\":\"date\",\"ElementDefinition.minValueDateTime\":\"dateTime\",\"ElementDefinition.minValueDecimal\":\"decimal\",\"ElementDefinition.minValueInstant\":\"instant\",\"ElementDefinition.minValueInteger\":\"integer\",\"ElementDefinition.minValuePositiveInt\":\"positiveInt\",\"ElementDefinition.minValueQuantity\":\"Quantity\",\"ElementDefinition.minValueTime\":\"time\",\"ElementDefinition.minValueUnsignedInt\":\"unsignedInt\",\"ElementDefinition.modifierExtension\":\"Extension\",\"ElementDefinition.mustSupport\":\"boolean\",\"ElementDefinition.orderMeaning\":\"string\",\"ElementDefinition.path\":\"string\",\"ElementDefinition.patternAddress\":\"Address\",\"ElementDefinition.patternAge\":\"Age\",\"ElementDefinition.patternAnnotation\":\"Annotation\",\"ElementDefinition.patternAttachment\":\"Attachment\",\"ElementDefinition.patternBase64Binary\":\"base64Binary\",\"ElementDefinition.patternBoolean\":\"boolean\",\"ElementDefinition.patternCanonical\":\"canonical\",\"ElementDefinition.patternCode\":\"code\",\"ElementDefinition.patternCodeableConcept\":\"CodeableConcept\",\"ElementDefinition.patternCoding\":\"Coding\",\"ElementDefinition.patternContactDetail\":\"ContactDetail\",\"ElementDefinition.patternContactPoint\":\"ContactPoint\",\"ElementDefinition.patternContributor\":\"Contributor\",\"ElementDefinition.patternCount\":\"Count\",\"ElementDefinition.patternDataRequirement\":\"DataRequirement\",\"ElementDefinition.patternDate\":\"date\",\"ElementDefinition.patternDateTime\":\"dateTime\",\"ElementDefinition.patternDecimal\":\"decimal\",\"ElementDefinition.patternDistance\":\"Distance\",\"ElementDefinition.patternDosage\":\"Dosage\",\"ElementDefinition.patternDuration\":\"Duration\",\"ElementDefinition.patternExpression\":\"Expression\",\"ElementDefinition.patternHumanName\":\"HumanName\",\"ElementDefinition.patternId\":\"id\",\"ElementDefinition.patternIdentifier\":\"Identifier\",\"ElementDefinition.patternInstant\":\"instant\",\"ElementDefinition.patternInteger\":\"integer\",\"ElementDefinition.patternMarkdown\":\"markdown\",\"ElementDefinition.patternMeta\":\"Meta\",\"ElementDefinition.patternMoney\":\"Money\",\"ElementDefinition.patternOid\":\"oid\",\"ElementDefinition.patternParameterDefinition\":\"ParameterDefinition\",\"ElementDefinition.patternPeriod\":\"Period\",\"ElementDefinition.patternPositiveInt\":\"positiveInt\",\"ElementDefinition.patternQuantity\":\"Quantity\",\"ElementDefinition.patternRange\":\"Range\",\"ElementDefinition.patternRatio\":\"Ratio\",\"ElementDefinition.patternReference\":\"Reference\",\"ElementDefinition.patternRelatedArtifact\":\"RelatedArtifact\",\"ElementDefinition.patternSampledData\":\"SampledData\",\"ElementDefinition.patternSignature\":\"Signature\",\"ElementDefinition.patternString\":\"string\",\"ElementDefinition.patternTime\":\"time\",\"ElementDefinition.patternTiming\":\"Timing\",\"ElementDefinition.patternTriggerDefinition\":\"TriggerDefinition\",\"ElementDefinition.patternUnsignedInt\":\"unsignedInt\",\"ElementDefinition.patternUri\":\"uri\",\"ElementDefinition.patternUrl\":\"url\",\"ElementDefinition.patternUsageContext\":\"UsageContext\",\"ElementDefinition.patternUuid\":\"uuid\",\"ElementDefinition.representation\":\"code\",\"ElementDefinition.requirements\":\"markdown\",\"ElementDefinition.short\":\"string\",\"ElementDefinition.sliceIsConstraining\":\"boolean\",\"ElementDefinition.sliceName\":\"string\",\"ElementDefinition.slicing.description\":\"string\",\"ElementDefinition.slicing.discriminator.extension\":\"Extension\",\"ElementDefinition.slicing.discriminator.id\":\"System.String\",\"ElementDefinition.slicing.discriminator.path\":\"string\",\"ElementDefinition.slicing.discriminator.type\":\"code\",\"ElementDefinition.slicing.extension\":\"Extension\",\"ElementDefinition.slicing.id\":\"System.String\",\"ElementDefinition.slicing.ordered\":\"boolean\",\"ElementDefinition.slicing.rules\":\"code\",\"ElementDefinition.type.aggregation\":\"code\",\"ElementDefinition.type.code\":\"uri\",\"ElementDefinition.type.extension\":\"Extension\",\"ElementDefinition.type.id\":\"System.String\",\"ElementDefinition.type.profile\":\"canonical\",\"ElementDefinition.type.targetProfile\":\"canonical\",\"ElementDefinition.type.versioning\":\"code\",\"Encounter.account\":\"Reference\",\"Encounter.appointment\":\"Reference\",\"Encounter.basedOn\":\"Reference\",\"Encounter.class\":\"Coding\",\"Encounter.classHistory.class\":\"Coding\",\"Encounter.classHistory.extension\":\"Extension\",\"Encounter.classHistory.id\":\"System.String\",\"Encounter.classHistory.modifierExtension\":\"Extension\",\"Encounter.classHistory.period\":\"Period\",\"Encounter.contained\":\"Resource\",\"Encounter.diagnosis.condition\":\"Reference\",\"Encounter.diagnosis.extension\":\"Extension\",\"Encounter.diagnosis.id\":\"System.String\",\"Encounter.diagnosis.modifierExtension\":\"Extension\",\"Encounter.diagnosis.rank\":\"positiveInt\",\"Encounter.diagnosis.use\":\"CodeableConcept\",\"Encounter.episodeOfCare\":\"Reference\",\"Encounter.extension\":\"Extension\",\"Encounter.hospitalization.admitSource\":\"CodeableConcept\",\"Encounter.hospitalization.destination\":\"Reference\",\"Encounter.hospitalization.dietPreference\":\"CodeableConcept\",\"Encounter.hospitalization.dischargeDisposition\":\"CodeableConcept\",\"Encounter.hospitalization.extension\":\"Extension\",\"Encounter.hospitalization.id\":\"System.String\",\"Encounter.hospitalization.modifierExtension\":\"Extension\",\"Encounter.hospitalization.origin\":\"Reference\",\"Encounter.hospitalization.preAdmissionIdentifier\":\"Identifier\",\"Encounter.hospitalization.reAdmission\":\"CodeableConcept\",\"Encounter.hospitalization.specialArrangement\":\"CodeableConcept\",\"Encounter.hospitalization.specialCourtesy\":\"CodeableConcept\",\"Encounter.id\":\"System.String\",\"Encounter.identifier\":\"Identifier\",\"Encounter.implicitRules\":\"uri\",\"Encounter.language\":\"code\",\"Encounter.length\":\"Duration\",\"Encounter.location.extension\":\"Extension\",\"Encounter.location.id\":\"System.String\",\"Encounter.location.location\":\"Reference\",\"Encounter.location.modifierExtension\":\"Extension\",\"Encounter.location.period\":\"Period\",\"Encounter.location.physicalType\":\"CodeableConcept\",\"Encounter.location.status\":\"code\",\"Encounter.meta\":\"Meta\",\"Encounter.modifierExtension\":\"Extension\",\"Encounter.partOf\":\"Reference\",\"Encounter.participant.extension\":\"Extension\",\"Encounter.participant.id\":\"System.String\",\"Encounter.participant.individual\":\"Reference\",\"Encounter.participant.modifierExtension\":\"Extension\",\"Encounter.participant.period\":\"Period\",\"Encounter.participant.type\":\"CodeableConcept\",\"Encounter.period\":\"Period\",\"Encounter.priority\":\"CodeableConcept\",\"Encounter.reasonCode\":\"CodeableConcept\",\"Encounter.reasonReference\":\"Reference\",\"Encounter.serviceProvider\":\"Reference\",\"Encounter.serviceType\":\"CodeableConcept\",\"Encounter.status\":\"code\",\"Encounter.statusHistory.extension\":\"Extension\",\"Encounter.statusHistory.id\":\"System.String\",\"Encounter.statusHistory.modifierExtension\":\"Extension\",\"Encounter.statusHistory.period\":\"Period\",\"Encounter.statusHistory.status\":\"code\",\"Encounter.subject\":\"Reference\",\"Encounter.text\":\"Narrative\",\"Encounter.type\":\"CodeableConcept\",\"Endpoint.address\":\"url\",\"Endpoint.connectionType\":\"Coding\",\"Endpoint.contact\":\"ContactPoint\",\"Endpoint.contained\":\"Resource\",\"Endpoint.extension\":\"Extension\",\"Endpoint.header\":\"string\",\"Endpoint.id\":\"System.String\",\"Endpoint.identifier\":\"Identifier\",\"Endpoint.implicitRules\":\"uri\",\"Endpoint.language\":\"code\",\"Endpoint.managingOrganization\":\"Reference\",\"Endpoint.meta\":\"Meta\",\"Endpoint.modifierExtension\":\"Extension\",\"Endpoint.name\":\"string\",\"Endpoint.payloadMimeType\":\"code\",\"Endpoint.payloadType\":\"CodeableConcept\",\"Endpoint.period\":\"Period\",\"Endpoint.status\":\"code\",\"Endpoint.text\":\"Narrative\",\"EnrollmentRequest.candidate\":\"Reference\",\"EnrollmentRequest.contained\":\"Resource\",\"EnrollmentRequest.coverage\":\"Reference\",\"EnrollmentRequest.created\":\"dateTime\",\"EnrollmentRequest.extension\":\"Extension\",\"EnrollmentRequest.id\":\"System.String\",\"EnrollmentRequest.identifier\":\"Identifier\",\"EnrollmentRequest.implicitRules\":\"uri\",\"EnrollmentRequest.insurer\":\"Reference\",\"EnrollmentRequest.language\":\"code\",\"EnrollmentRequest.meta\":\"Meta\",\"EnrollmentRequest.modifierExtension\":\"Extension\",\"EnrollmentRequest.provider\":\"Reference\",\"EnrollmentRequest.status\":\"code\",\"EnrollmentRequest.text\":\"Narrative\",\"EnrollmentResponse.contained\":\"Resource\",\"EnrollmentResponse.created\":\"dateTime\",\"EnrollmentResponse.disposition\":\"string\",\"EnrollmentResponse.extension\":\"Extension\",\"EnrollmentResponse.id\":\"System.String\",\"EnrollmentResponse.identifier\":\"Identifier\",\"EnrollmentResponse.implicitRules\":\"uri\",\"EnrollmentResponse.language\":\"code\",\"EnrollmentResponse.meta\":\"Meta\",\"EnrollmentResponse.modifierExtension\":\"Extension\",\"EnrollmentResponse.organization\":\"Reference\",\"EnrollmentResponse.outcome\":\"code\",\"EnrollmentResponse.request\":\"Reference\",\"EnrollmentResponse.requestProvider\":\"Reference\",\"EnrollmentResponse.status\":\"code\",\"EnrollmentResponse.text\":\"Narrative\",\"EpisodeOfCare.account\":\"Reference\",\"EpisodeOfCare.careManager\":\"Reference\",\"EpisodeOfCare.contained\":\"Resource\",\"EpisodeOfCare.diagnosis.condition\":\"Reference\",\"EpisodeOfCare.diagnosis.extension\":\"Extension\",\"EpisodeOfCare.diagnosis.id\":\"System.String\",\"EpisodeOfCare.diagnosis.modifierExtension\":\"Extension\",\"EpisodeOfCare.diagnosis.rank\":\"positiveInt\",\"EpisodeOfCare.diagnosis.role\":\"CodeableConcept\",\"EpisodeOfCare.extension\":\"Extension\",\"EpisodeOfCare.id\":\"System.String\",\"EpisodeOfCare.identifier\":\"Identifier\",\"EpisodeOfCare.implicitRules\":\"uri\",\"EpisodeOfCare.language\":\"code\",\"EpisodeOfCare.managingOrganization\":\"Reference\",\"EpisodeOfCare.meta\":\"Meta\",\"EpisodeOfCare.modifierExtension\":\"Extension\",\"EpisodeOfCare.patient\":\"Reference\",\"EpisodeOfCare.period\":\"Period\",\"EpisodeOfCare.referralRequest\":\"Reference\",\"EpisodeOfCare.status\":\"code\",\"EpisodeOfCare.statusHistory.extension\":\"Extension\",\"EpisodeOfCare.statusHistory.id\":\"System.String\",\"EpisodeOfCare.statusHistory.modifierExtension\":\"Extension\",\"EpisodeOfCare.statusHistory.period\":\"Period\",\"EpisodeOfCare.statusHistory.status\":\"code\",\"EpisodeOfCare.team\":\"Reference\",\"EpisodeOfCare.text\":\"Narrative\",\"EpisodeOfCare.type\":\"CodeableConcept\",\"EventDefinition.approvalDate\":\"date\",\"EventDefinition.author\":\"ContactDetail\",\"EventDefinition.contact\":\"ContactDetail\",\"EventDefinition.contained\":\"Resource\",\"EventDefinition.copyright\":\"markdown\",\"EventDefinition.date\":\"dateTime\",\"EventDefinition.description\":\"markdown\",\"EventDefinition.editor\":\"ContactDetail\",\"EventDefinition.effectivePeriod\":\"Period\",\"EventDefinition.endorser\":\"ContactDetail\",\"EventDefinition.experimental\":\"boolean\",\"EventDefinition.extension\":\"Extension\",\"EventDefinition.id\":\"System.String\",\"EventDefinition.identifier\":\"Identifier\",\"EventDefinition.implicitRules\":\"uri\",\"EventDefinition.jurisdiction\":\"CodeableConcept\",\"EventDefinition.language\":\"code\",\"EventDefinition.lastReviewDate\":\"date\",\"EventDefinition.meta\":\"Meta\",\"EventDefinition.modifierExtension\":\"Extension\",\"EventDefinition.name\":\"string\",\"EventDefinition.publisher\":\"string\",\"EventDefinition.purpose\":\"markdown\",\"EventDefinition.relatedArtifact\":\"RelatedArtifact\",\"EventDefinition.reviewer\":\"ContactDetail\",\"EventDefinition.status\":\"code\",\"EventDefinition.subjectCodeableConcept\":\"CodeableConcept\",\"EventDefinition.subjectReference\":\"Reference\",\"EventDefinition.subtitle\":\"string\",\"EventDefinition.text\":\"Narrative\",\"EventDefinition.title\":\"string\",\"EventDefinition.topic\":\"CodeableConcept\",\"EventDefinition.trigger\":\"TriggerDefinition\",\"EventDefinition.url\":\"uri\",\"EventDefinition.usage\":\"string\",\"EventDefinition.useContext\":\"UsageContext\",\"EventDefinition.version\":\"string\",\"Evidence.approvalDate\":\"date\",\"Evidence.author\":\"ContactDetail\",\"Evidence.contact\":\"ContactDetail\",\"Evidence.contained\":\"Resource\",\"Evidence.copyright\":\"markdown\",\"Evidence.date\":\"dateTime\",\"Evidence.description\":\"markdown\",\"Evidence.editor\":\"ContactDetail\",\"Evidence.effectivePeriod\":\"Period\",\"Evidence.endorser\":\"ContactDetail\",\"Evidence.exposureBackground\":\"Reference\",\"Evidence.exposureVariant\":\"Reference\",\"Evidence.extension\":\"Extension\",\"Evidence.id\":\"System.String\",\"Evidence.identifier\":\"Identifier\",\"Evidence.implicitRules\":\"uri\",\"Evidence.jurisdiction\":\"CodeableConcept\",\"Evidence.language\":\"code\",\"Evidence.lastReviewDate\":\"date\",\"Evidence.meta\":\"Meta\",\"Evidence.modifierExtension\":\"Extension\",\"Evidence.name\":\"string\",\"Evidence.note\":\"Annotation\",\"Evidence.outcome\":\"Reference\",\"Evidence.publisher\":\"string\",\"Evidence.relatedArtifact\":\"RelatedArtifact\",\"Evidence.reviewer\":\"ContactDetail\",\"Evidence.shortTitle\":\"string\",\"Evidence.status\":\"code\",\"Evidence.subtitle\":\"string\",\"Evidence.text\":\"Narrative\",\"Evidence.title\":\"string\",\"Evidence.topic\":\"CodeableConcept\",\"Evidence.url\":\"uri\",\"Evidence.useContext\":\"UsageContext\",\"Evidence.version\":\"string\",\"EvidenceVariable.approvalDate\":\"date\",\"EvidenceVariable.author\":\"ContactDetail\",\"EvidenceVariable.characteristic.definitionCanonical\":\"canonical\",\"EvidenceVariable.characteristic.definitionCodeableConcept\":\"CodeableConcept\",\"EvidenceVariable.characteristic.definitionDataRequirement\":\"DataRequirement\",\"EvidenceVariable.characteristic.definitionExpression\":\"Expression\",\"EvidenceVariable.characteristic.definitionReference\":\"Reference\",\"EvidenceVariable.characteristic.definitionTriggerDefinition\":\"TriggerDefinition\",\"EvidenceVariable.characteristic.description\":\"string\",\"EvidenceVariable.characteristic.exclude\":\"boolean\",\"EvidenceVariable.characteristic.extension\":\"Extension\",\"EvidenceVariable.characteristic.groupMeasure\":\"code\",\"EvidenceVariable.characteristic.id\":\"System.String\",\"EvidenceVariable.characteristic.modifierExtension\":\"Extension\",\"EvidenceVariable.characteristic.participantEffectiveDateTime\":\"dateTime\",\"EvidenceVariable.characteristic.participantEffectiveDuration\":\"Duration\",\"EvidenceVariable.characteristic.participantEffectivePeriod\":\"Period\",\"EvidenceVariable.characteristic.participantEffectiveTiming\":\"Timing\",\"EvidenceVariable.characteristic.timeFromStart\":\"Duration\",\"EvidenceVariable.characteristic.usageContext\":\"UsageContext\",\"EvidenceVariable.contact\":\"ContactDetail\",\"EvidenceVariable.contained\":\"Resource\",\"EvidenceVariable.copyright\":\"markdown\",\"EvidenceVariable.date\":\"dateTime\",\"EvidenceVariable.description\":\"markdown\",\"EvidenceVariable.editor\":\"ContactDetail\",\"EvidenceVariable.effectivePeriod\":\"Period\",\"EvidenceVariable.endorser\":\"ContactDetail\",\"EvidenceVariable.extension\":\"Extension\",\"EvidenceVariable.id\":\"System.String\",\"EvidenceVariable.identifier\":\"Identifier\",\"EvidenceVariable.implicitRules\":\"uri\",\"EvidenceVariable.jurisdiction\":\"CodeableConcept\",\"EvidenceVariable.language\":\"code\",\"EvidenceVariable.lastReviewDate\":\"date\",\"EvidenceVariable.meta\":\"Meta\",\"EvidenceVariable.modifierExtension\":\"Extension\",\"EvidenceVariable.name\":\"string\",\"EvidenceVariable.note\":\"Annotation\",\"EvidenceVariable.publisher\":\"string\",\"EvidenceVariable.relatedArtifact\":\"RelatedArtifact\",\"EvidenceVariable.reviewer\":\"ContactDetail\",\"EvidenceVariable.shortTitle\":\"string\",\"EvidenceVariable.status\":\"code\",\"EvidenceVariable.subtitle\":\"string\",\"EvidenceVariable.text\":\"Narrative\",\"EvidenceVariable.title\":\"string\",\"EvidenceVariable.topic\":\"CodeableConcept\",\"EvidenceVariable.type\":\"code\",\"EvidenceVariable.url\":\"uri\",\"EvidenceVariable.useContext\":\"UsageContext\",\"EvidenceVariable.version\":\"string\",\"ExampleScenario.actor.actorId\":\"string\",\"ExampleScenario.actor.description\":\"markdown\",\"ExampleScenario.actor.extension\":\"Extension\",\"ExampleScenario.actor.id\":\"System.String\",\"ExampleScenario.actor.modifierExtension\":\"Extension\",\"ExampleScenario.actor.name\":\"string\",\"ExampleScenario.actor.type\":\"code\",\"ExampleScenario.contact\":\"ContactDetail\",\"ExampleScenario.contained\":\"Resource\",\"ExampleScenario.copyright\":\"markdown\",\"ExampleScenario.date\":\"dateTime\",\"ExampleScenario.experimental\":\"boolean\",\"ExampleScenario.extension\":\"Extension\",\"ExampleScenario.id\":\"System.String\",\"ExampleScenario.identifier\":\"Identifier\",\"ExampleScenario.implicitRules\":\"uri\",\"ExampleScenario.instance.containedInstance.extension\":\"Extension\",\"ExampleScenario.instance.containedInstance.id\":\"System.String\",\"ExampleScenario.instance.containedInstance.modifierExtension\":\"Extension\",\"ExampleScenario.instance.containedInstance.resourceId\":\"string\",\"ExampleScenario.instance.containedInstance.versionId\":\"string\",\"ExampleScenario.instance.description\":\"markdown\",\"ExampleScenario.instance.extension\":\"Extension\",\"ExampleScenario.instance.id\":\"System.String\",\"ExampleScenario.instance.modifierExtension\":\"Extension\",\"ExampleScenario.instance.name\":\"string\",\"ExampleScenario.instance.resourceId\":\"string\",\"ExampleScenario.instance.resourceType\":\"code\",\"ExampleScenario.instance.version.description\":\"markdown\",\"ExampleScenario.instance.version.extension\":\"Extension\",\"ExampleScenario.instance.version.id\":\"System.String\",\"ExampleScenario.instance.version.modifierExtension\":\"Extension\",\"ExampleScenario.instance.version.versionId\":\"string\",\"ExampleScenario.jurisdiction\":\"CodeableConcept\",\"ExampleScenario.language\":\"code\",\"ExampleScenario.meta\":\"Meta\",\"ExampleScenario.modifierExtension\":\"Extension\",\"ExampleScenario.name\":\"string\",\"ExampleScenario.process.description\":\"markdown\",\"ExampleScenario.process.extension\":\"Extension\",\"ExampleScenario.process.id\":\"System.String\",\"ExampleScenario.process.modifierExtension\":\"Extension\",\"ExampleScenario.process.postConditions\":\"markdown\",\"ExampleScenario.process.preConditions\":\"markdown\",\"ExampleScenario.process.step.alternative.description\":\"markdown\",\"ExampleScenario.process.step.alternative.extension\":\"Extension\",\"ExampleScenario.process.step.alternative.id\":\"System.String\",\"ExampleScenario.process.step.alternative.modifierExtension\":\"Extension\",\"ExampleScenario.process.step.alternative.title\":\"string\",\"ExampleScenario.process.step.extension\":\"Extension\",\"ExampleScenario.process.step.id\":\"System.String\",\"ExampleScenario.process.step.modifierExtension\":\"Extension\",\"ExampleScenario.process.step.operation.description\":\"markdown\",\"ExampleScenario.process.step.operation.extension\":\"Extension\",\"ExampleScenario.process.step.operation.id\":\"System.String\",\"ExampleScenario.process.step.operation.initiator\":\"string\",\"ExampleScenario.process.step.operation.initiatorActive\":\"boolean\",\"ExampleScenario.process.step.operation.modifierExtension\":\"Extension\",\"ExampleScenario.process.step.operation.name\":\"string\",\"ExampleScenario.process.step.operation.number\":\"string\",\"ExampleScenario.process.step.operation.receiver\":\"string\",\"ExampleScenario.process.step.operation.receiverActive\":\"boolean\",\"ExampleScenario.process.step.operation.type\":\"string\",\"ExampleScenario.process.step.pause\":\"boolean\",\"ExampleScenario.process.title\":\"string\",\"ExampleScenario.publisher\":\"string\",\"ExampleScenario.purpose\":\"markdown\",\"ExampleScenario.status\":\"code\",\"ExampleScenario.text\":\"Narrative\",\"ExampleScenario.url\":\"uri\",\"ExampleScenario.useContext\":\"UsageContext\",\"ExampleScenario.version\":\"string\",\"ExampleScenario.workflow\":\"canonical\",\"ExplanationOfBenefit.accident.date\":\"date\",\"ExplanationOfBenefit.accident.extension\":\"Extension\",\"ExplanationOfBenefit.accident.id\":\"System.String\",\"ExplanationOfBenefit.accident.locationAddress\":\"Address\",\"ExplanationOfBenefit.accident.locationReference\":\"Reference\",\"ExplanationOfBenefit.accident.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.accident.type\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.bodySite\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.detail.extension\":\"Extension\",\"ExplanationOfBenefit.addItem.detail.factor\":\"decimal\",\"ExplanationOfBenefit.addItem.detail.id\":\"System.String\",\"ExplanationOfBenefit.addItem.detail.modifier\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.detail.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.addItem.detail.net\":\"Money\",\"ExplanationOfBenefit.addItem.detail.noteNumber\":\"positiveInt\",\"ExplanationOfBenefit.addItem.detail.productOrService\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.detail.quantity\":\"Quantity\",\"ExplanationOfBenefit.addItem.detail.subDetail.extension\":\"Extension\",\"ExplanationOfBenefit.addItem.detail.subDetail.factor\":\"decimal\",\"ExplanationOfBenefit.addItem.detail.subDetail.id\":\"System.String\",\"ExplanationOfBenefit.addItem.detail.subDetail.modifier\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.detail.subDetail.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.addItem.detail.subDetail.net\":\"Money\",\"ExplanationOfBenefit.addItem.detail.subDetail.noteNumber\":\"positiveInt\",\"ExplanationOfBenefit.addItem.detail.subDetail.productOrService\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.detail.subDetail.quantity\":\"Quantity\",\"ExplanationOfBenefit.addItem.detail.subDetail.unitPrice\":\"Money\",\"ExplanationOfBenefit.addItem.detail.unitPrice\":\"Money\",\"ExplanationOfBenefit.addItem.detailSequence\":\"positiveInt\",\"ExplanationOfBenefit.addItem.extension\":\"Extension\",\"ExplanationOfBenefit.addItem.factor\":\"decimal\",\"ExplanationOfBenefit.addItem.id\":\"System.String\",\"ExplanationOfBenefit.addItem.itemSequence\":\"positiveInt\",\"ExplanationOfBenefit.addItem.locationAddress\":\"Address\",\"ExplanationOfBenefit.addItem.locationCodeableConcept\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.locationReference\":\"Reference\",\"ExplanationOfBenefit.addItem.modifier\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.addItem.net\":\"Money\",\"ExplanationOfBenefit.addItem.noteNumber\":\"positiveInt\",\"ExplanationOfBenefit.addItem.productOrService\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.programCode\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.provider\":\"Reference\",\"ExplanationOfBenefit.addItem.quantity\":\"Quantity\",\"ExplanationOfBenefit.addItem.servicedDate\":\"date\",\"ExplanationOfBenefit.addItem.servicedPeriod\":\"Period\",\"ExplanationOfBenefit.addItem.subDetailSequence\":\"positiveInt\",\"ExplanationOfBenefit.addItem.subSite\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.unitPrice\":\"Money\",\"ExplanationOfBenefit.benefitBalance.category\":\"CodeableConcept\",\"ExplanationOfBenefit.benefitBalance.description\":\"string\",\"ExplanationOfBenefit.benefitBalance.excluded\":\"boolean\",\"ExplanationOfBenefit.benefitBalance.extension\":\"Extension\",\"ExplanationOfBenefit.benefitBalance.financial.allowedMoney\":\"Money\",\"ExplanationOfBenefit.benefitBalance.financial.allowedString\":\"string\",\"ExplanationOfBenefit.benefitBalance.financial.allowedUnsignedInt\":\"unsignedInt\",\"ExplanationOfBenefit.benefitBalance.financial.extension\":\"Extension\",\"ExplanationOfBenefit.benefitBalance.financial.id\":\"System.String\",\"ExplanationOfBenefit.benefitBalance.financial.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.benefitBalance.financial.type\":\"CodeableConcept\",\"ExplanationOfBenefit.benefitBalance.financial.usedMoney\":\"Money\",\"ExplanationOfBenefit.benefitBalance.financial.usedUnsignedInt\":\"unsignedInt\",\"ExplanationOfBenefit.benefitBalance.id\":\"System.String\",\"ExplanationOfBenefit.benefitBalance.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.benefitBalance.name\":\"string\",\"ExplanationOfBenefit.benefitBalance.network\":\"CodeableConcept\",\"ExplanationOfBenefit.benefitBalance.term\":\"CodeableConcept\",\"ExplanationOfBenefit.benefitBalance.unit\":\"CodeableConcept\",\"ExplanationOfBenefit.benefitPeriod\":\"Period\",\"ExplanationOfBenefit.billablePeriod\":\"Period\",\"ExplanationOfBenefit.careTeam.extension\":\"Extension\",\"ExplanationOfBenefit.careTeam.id\":\"System.String\",\"ExplanationOfBenefit.careTeam.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.careTeam.provider\":\"Reference\",\"ExplanationOfBenefit.careTeam.qualification\":\"CodeableConcept\",\"ExplanationOfBenefit.careTeam.responsible\":\"boolean\",\"ExplanationOfBenefit.careTeam.role\":\"CodeableConcept\",\"ExplanationOfBenefit.careTeam.sequence\":\"positiveInt\",\"ExplanationOfBenefit.claim\":\"Reference\",\"ExplanationOfBenefit.claimResponse\":\"Reference\",\"ExplanationOfBenefit.contained\":\"Resource\",\"ExplanationOfBenefit.created\":\"dateTime\",\"ExplanationOfBenefit.diagnosis.diagnosisCodeableConcept\":\"CodeableConcept\",\"ExplanationOfBenefit.diagnosis.diagnosisReference\":\"Reference\",\"ExplanationOfBenefit.diagnosis.extension\":\"Extension\",\"ExplanationOfBenefit.diagnosis.id\":\"System.String\",\"ExplanationOfBenefit.diagnosis.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.diagnosis.onAdmission\":\"CodeableConcept\",\"ExplanationOfBenefit.diagnosis.packageCode\":\"CodeableConcept\",\"ExplanationOfBenefit.diagnosis.sequence\":\"positiveInt\",\"ExplanationOfBenefit.diagnosis.type\":\"CodeableConcept\",\"ExplanationOfBenefit.disposition\":\"string\",\"ExplanationOfBenefit.enterer\":\"Reference\",\"ExplanationOfBenefit.extension\":\"Extension\",\"ExplanationOfBenefit.facility\":\"Reference\",\"ExplanationOfBenefit.form\":\"Attachment\",\"ExplanationOfBenefit.formCode\":\"CodeableConcept\",\"ExplanationOfBenefit.fundsReserve\":\"CodeableConcept\",\"ExplanationOfBenefit.fundsReserveRequested\":\"CodeableConcept\",\"ExplanationOfBenefit.id\":\"System.String\",\"ExplanationOfBenefit.identifier\":\"Identifier\",\"ExplanationOfBenefit.implicitRules\":\"uri\",\"ExplanationOfBenefit.insurance.coverage\":\"Reference\",\"ExplanationOfBenefit.insurance.extension\":\"Extension\",\"ExplanationOfBenefit.insurance.focal\":\"boolean\",\"ExplanationOfBenefit.insurance.id\":\"System.String\",\"ExplanationOfBenefit.insurance.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.insurance.preAuthRef\":\"string\",\"ExplanationOfBenefit.insurer\":\"Reference\",\"ExplanationOfBenefit.item.adjudication.amount\":\"Money\",\"ExplanationOfBenefit.item.adjudication.category\":\"CodeableConcept\",\"ExplanationOfBenefit.item.adjudication.extension\":\"Extension\",\"ExplanationOfBenefit.item.adjudication.id\":\"System.String\",\"ExplanationOfBenefit.item.adjudication.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.item.adjudication.reason\":\"CodeableConcept\",\"ExplanationOfBenefit.item.adjudication.value\":\"decimal\",\"ExplanationOfBenefit.item.bodySite\":\"CodeableConcept\",\"ExplanationOfBenefit.item.careTeamSequence\":\"positiveInt\",\"ExplanationOfBenefit.item.category\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.category\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.extension\":\"Extension\",\"ExplanationOfBenefit.item.detail.factor\":\"decimal\",\"ExplanationOfBenefit.item.detail.id\":\"System.String\",\"ExplanationOfBenefit.item.detail.modifier\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.item.detail.net\":\"Money\",\"ExplanationOfBenefit.item.detail.noteNumber\":\"positiveInt\",\"ExplanationOfBenefit.item.detail.productOrService\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.programCode\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.quantity\":\"Quantity\",\"ExplanationOfBenefit.item.detail.revenue\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.sequence\":\"positiveInt\",\"ExplanationOfBenefit.item.detail.subDetail.category\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.subDetail.extension\":\"Extension\",\"ExplanationOfBenefit.item.detail.subDetail.factor\":\"decimal\",\"ExplanationOfBenefit.item.detail.subDetail.id\":\"System.String\",\"ExplanationOfBenefit.item.detail.subDetail.modifier\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.subDetail.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.item.detail.subDetail.net\":\"Money\",\"ExplanationOfBenefit.item.detail.subDetail.noteNumber\":\"positiveInt\",\"ExplanationOfBenefit.item.detail.subDetail.productOrService\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.subDetail.programCode\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.subDetail.quantity\":\"Quantity\",\"ExplanationOfBenefit.item.detail.subDetail.revenue\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.subDetail.sequence\":\"positiveInt\",\"ExplanationOfBenefit.item.detail.subDetail.udi\":\"Reference\",\"ExplanationOfBenefit.item.detail.subDetail.unitPrice\":\"Money\",\"ExplanationOfBenefit.item.detail.udi\":\"Reference\",\"ExplanationOfBenefit.item.detail.unitPrice\":\"Money\",\"ExplanationOfBenefit.item.diagnosisSequence\":\"positiveInt\",\"ExplanationOfBenefit.item.encounter\":\"Reference\",\"ExplanationOfBenefit.item.extension\":\"Extension\",\"ExplanationOfBenefit.item.factor\":\"decimal\",\"ExplanationOfBenefit.item.id\":\"System.String\",\"ExplanationOfBenefit.item.informationSequence\":\"positiveInt\",\"ExplanationOfBenefit.item.locationAddress\":\"Address\",\"ExplanationOfBenefit.item.locationCodeableConcept\":\"CodeableConcept\",\"ExplanationOfBenefit.item.locationReference\":\"Reference\",\"ExplanationOfBenefit.item.modifier\":\"CodeableConcept\",\"ExplanationOfBenefit.item.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.item.net\":\"Money\",\"ExplanationOfBenefit.item.noteNumber\":\"positiveInt\",\"ExplanationOfBenefit.item.procedureSequence\":\"positiveInt\",\"ExplanationOfBenefit.item.productOrService\":\"CodeableConcept\",\"ExplanationOfBenefit.item.programCode\":\"CodeableConcept\",\"ExplanationOfBenefit.item.quantity\":\"Quantity\",\"ExplanationOfBenefit.item.revenue\":\"CodeableConcept\",\"ExplanationOfBenefit.item.sequence\":\"positiveInt\",\"ExplanationOfBenefit.item.servicedDate\":\"date\",\"ExplanationOfBenefit.item.servicedPeriod\":\"Period\",\"ExplanationOfBenefit.item.subSite\":\"CodeableConcept\",\"ExplanationOfBenefit.item.udi\":\"Reference\",\"ExplanationOfBenefit.item.unitPrice\":\"Money\",\"ExplanationOfBenefit.language\":\"code\",\"ExplanationOfBenefit.meta\":\"Meta\",\"ExplanationOfBenefit.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.originalPrescription\":\"Reference\",\"ExplanationOfBenefit.outcome\":\"code\",\"ExplanationOfBenefit.patient\":\"Reference\",\"ExplanationOfBenefit.payee.extension\":\"Extension\",\"ExplanationOfBenefit.payee.id\":\"System.String\",\"ExplanationOfBenefit.payee.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.payee.party\":\"Reference\",\"ExplanationOfBenefit.payee.type\":\"CodeableConcept\",\"ExplanationOfBenefit.payment.adjustment\":\"Money\",\"ExplanationOfBenefit.payment.adjustmentReason\":\"CodeableConcept\",\"ExplanationOfBenefit.payment.amount\":\"Money\",\"ExplanationOfBenefit.payment.date\":\"date\",\"ExplanationOfBenefit.payment.extension\":\"Extension\",\"ExplanationOfBenefit.payment.id\":\"System.String\",\"ExplanationOfBenefit.payment.identifier\":\"Identifier\",\"ExplanationOfBenefit.payment.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.payment.type\":\"CodeableConcept\",\"ExplanationOfBenefit.preAuthRef\":\"string\",\"ExplanationOfBenefit.preAuthRefPeriod\":\"Period\",\"ExplanationOfBenefit.precedence\":\"positiveInt\",\"ExplanationOfBenefit.prescription\":\"Reference\",\"ExplanationOfBenefit.priority\":\"CodeableConcept\",\"ExplanationOfBenefit.procedure.date\":\"dateTime\",\"ExplanationOfBenefit.procedure.extension\":\"Extension\",\"ExplanationOfBenefit.procedure.id\":\"System.String\",\"ExplanationOfBenefit.procedure.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.procedure.procedureCodeableConcept\":\"CodeableConcept\",\"ExplanationOfBenefit.procedure.procedureReference\":\"Reference\",\"ExplanationOfBenefit.procedure.sequence\":\"positiveInt\",\"ExplanationOfBenefit.procedure.type\":\"CodeableConcept\",\"ExplanationOfBenefit.procedure.udi\":\"Reference\",\"ExplanationOfBenefit.processNote.extension\":\"Extension\",\"ExplanationOfBenefit.processNote.id\":\"System.String\",\"ExplanationOfBenefit.processNote.language\":\"CodeableConcept\",\"ExplanationOfBenefit.processNote.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.processNote.number\":\"positiveInt\",\"ExplanationOfBenefit.processNote.text\":\"string\",\"ExplanationOfBenefit.processNote.type\":\"code\",\"ExplanationOfBenefit.provider\":\"Reference\",\"ExplanationOfBenefit.referral\":\"Reference\",\"ExplanationOfBenefit.related.claim\":\"Reference\",\"ExplanationOfBenefit.related.extension\":\"Extension\",\"ExplanationOfBenefit.related.id\":\"System.String\",\"ExplanationOfBenefit.related.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.related.reference\":\"Identifier\",\"ExplanationOfBenefit.related.relationship\":\"CodeableConcept\",\"ExplanationOfBenefit.status\":\"code\",\"ExplanationOfBenefit.subType\":\"CodeableConcept\",\"ExplanationOfBenefit.supportingInfo.category\":\"CodeableConcept\",\"ExplanationOfBenefit.supportingInfo.code\":\"CodeableConcept\",\"ExplanationOfBenefit.supportingInfo.extension\":\"Extension\",\"ExplanationOfBenefit.supportingInfo.id\":\"System.String\",\"ExplanationOfBenefit.supportingInfo.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.supportingInfo.reason\":\"Coding\",\"ExplanationOfBenefit.supportingInfo.sequence\":\"positiveInt\",\"ExplanationOfBenefit.supportingInfo.timingDate\":\"date\",\"ExplanationOfBenefit.supportingInfo.timingPeriod\":\"Period\",\"ExplanationOfBenefit.supportingInfo.valueAttachment\":\"Attachment\",\"ExplanationOfBenefit.supportingInfo.valueBoolean\":\"boolean\",\"ExplanationOfBenefit.supportingInfo.valueQuantity\":\"Quantity\",\"ExplanationOfBenefit.supportingInfo.valueReference\":\"Reference\",\"ExplanationOfBenefit.supportingInfo.valueString\":\"string\",\"ExplanationOfBenefit.text\":\"Narrative\",\"ExplanationOfBenefit.total.amount\":\"Money\",\"ExplanationOfBenefit.total.category\":\"CodeableConcept\",\"ExplanationOfBenefit.total.extension\":\"Extension\",\"ExplanationOfBenefit.total.id\":\"System.String\",\"ExplanationOfBenefit.total.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.type\":\"CodeableConcept\",\"ExplanationOfBenefit.use\":\"code\",\"Expression.description\":\"string\",\"Expression.expression\":\"string\",\"Expression.extension\":\"Extension\",\"Expression.id\":\"System.String\",\"Expression.language\":\"code\",\"Expression.name\":\"id\",\"Expression.reference\":\"uri\",\"Extension.extension\":\"Extension\",\"Extension.id\":\"System.String\",\"Extension.url\":\"System.String\",\"Extension.valueAddress\":\"Address\",\"Extension.valueAge\":\"Age\",\"Extension.valueAnnotation\":\"Annotation\",\"Extension.valueAttachment\":\"Attachment\",\"Extension.valueBase64Binary\":\"base64Binary\",\"Extension.valueBoolean\":\"boolean\",\"Extension.valueCanonical\":\"canonical\",\"Extension.valueCode\":\"code\",\"Extension.valueCodeableConcept\":\"CodeableConcept\",\"Extension.valueCoding\":\"Coding\",\"Extension.valueContactDetail\":\"ContactDetail\",\"Extension.valueContactPoint\":\"ContactPoint\",\"Extension.valueContributor\":\"Contributor\",\"Extension.valueCount\":\"Count\",\"Extension.valueDataRequirement\":\"DataRequirement\",\"Extension.valueDate\":\"date\",\"Extension.valueDateTime\":\"dateTime\",\"Extension.valueDecimal\":\"decimal\",\"Extension.valueDistance\":\"Distance\",\"Extension.valueDosage\":\"Dosage\",\"Extension.valueDuration\":\"Duration\",\"Extension.valueExpression\":\"Expression\",\"Extension.valueHumanName\":\"HumanName\",\"Extension.valueId\":\"id\",\"Extension.valueIdentifier\":\"Identifier\",\"Extension.valueInstant\":\"instant\",\"Extension.valueInteger\":\"integer\",\"Extension.valueMarkdown\":\"markdown\",\"Extension.valueMeta\":\"Meta\",\"Extension.valueMoney\":\"Money\",\"Extension.valueOid\":\"oid\",\"Extension.valueParameterDefinition\":\"ParameterDefinition\",\"Extension.valuePeriod\":\"Period\",\"Extension.valuePositiveInt\":\"positiveInt\",\"Extension.valueQuantity\":\"Quantity\",\"Extension.valueRange\":\"Range\",\"Extension.valueRatio\":\"Ratio\",\"Extension.valueReference\":\"Reference\",\"Extension.valueRelatedArtifact\":\"RelatedArtifact\",\"Extension.valueSampledData\":\"SampledData\",\"Extension.valueSignature\":\"Signature\",\"Extension.valueString\":\"string\",\"Extension.valueTime\":\"time\",\"Extension.valueTiming\":\"Timing\",\"Extension.valueTriggerDefinition\":\"TriggerDefinition\",\"Extension.valueUnsignedInt\":\"unsignedInt\",\"Extension.valueUri\":\"uri\",\"Extension.valueUrl\":\"url\",\"Extension.valueUsageContext\":\"UsageContext\",\"Extension.valueUuid\":\"uuid\",\"FamilyMemberHistory.ageAge\":\"Age\",\"FamilyMemberHistory.ageRange\":\"Range\",\"FamilyMemberHistory.ageString\":\"string\",\"FamilyMemberHistory.bornDate\":\"date\",\"FamilyMemberHistory.bornPeriod\":\"Period\",\"FamilyMemberHistory.bornString\":\"string\",\"FamilyMemberHistory.condition.code\":\"CodeableConcept\",\"FamilyMemberHistory.condition.contributedToDeath\":\"boolean\",\"FamilyMemberHistory.condition.extension\":\"Extension\",\"FamilyMemberHistory.condition.id\":\"System.String\",\"FamilyMemberHistory.condition.modifierExtension\":\"Extension\",\"FamilyMemberHistory.condition.note\":\"Annotation\",\"FamilyMemberHistory.condition.onsetAge\":\"Age\",\"FamilyMemberHistory.condition.onsetPeriod\":\"Period\",\"FamilyMemberHistory.condition.onsetRange\":\"Range\",\"FamilyMemberHistory.condition.onsetString\":\"string\",\"FamilyMemberHistory.condition.outcome\":\"CodeableConcept\",\"FamilyMemberHistory.contained\":\"Resource\",\"FamilyMemberHistory.dataAbsentReason\":\"CodeableConcept\",\"FamilyMemberHistory.date\":\"dateTime\",\"FamilyMemberHistory.deceasedAge\":\"Age\",\"FamilyMemberHistory.deceasedBoolean\":\"boolean\",\"FamilyMemberHistory.deceasedDate\":\"date\",\"FamilyMemberHistory.deceasedRange\":\"Range\",\"FamilyMemberHistory.deceasedString\":\"string\",\"FamilyMemberHistory.estimatedAge\":\"boolean\",\"FamilyMemberHistory.extension\":\"Extension\",\"FamilyMemberHistory.id\":\"System.String\",\"FamilyMemberHistory.identifier\":\"Identifier\",\"FamilyMemberHistory.implicitRules\":\"uri\",\"FamilyMemberHistory.instantiatesCanonical\":\"canonical\",\"FamilyMemberHistory.instantiatesUri\":\"uri\",\"FamilyMemberHistory.language\":\"code\",\"FamilyMemberHistory.meta\":\"Meta\",\"FamilyMemberHistory.modifierExtension\":\"Extension\",\"FamilyMemberHistory.name\":\"string\",\"FamilyMemberHistory.note\":\"Annotation\",\"FamilyMemberHistory.patient\":\"Reference\",\"FamilyMemberHistory.reasonCode\":\"CodeableConcept\",\"FamilyMemberHistory.reasonReference\":\"Reference\",\"FamilyMemberHistory.relationship\":\"CodeableConcept\",\"FamilyMemberHistory.sex\":\"CodeableConcept\",\"FamilyMemberHistory.status\":\"code\",\"FamilyMemberHistory.text\":\"Narrative\",\"Flag.author\":\"Reference\",\"Flag.category\":\"CodeableConcept\",\"Flag.code\":\"CodeableConcept\",\"Flag.contained\":\"Resource\",\"Flag.encounter\":\"Reference\",\"Flag.extension\":\"Extension\",\"Flag.id\":\"System.String\",\"Flag.identifier\":\"Identifier\",\"Flag.implicitRules\":\"uri\",\"Flag.language\":\"code\",\"Flag.meta\":\"Meta\",\"Flag.modifierExtension\":\"Extension\",\"Flag.period\":\"Period\",\"Flag.status\":\"code\",\"Flag.subject\":\"Reference\",\"Flag.text\":\"Narrative\",\"Goal.achievementStatus\":\"CodeableConcept\",\"Goal.addresses\":\"Reference\",\"Goal.category\":\"CodeableConcept\",\"Goal.contained\":\"Resource\",\"Goal.description\":\"CodeableConcept\",\"Goal.expressedBy\":\"Reference\",\"Goal.extension\":\"Extension\",\"Goal.id\":\"System.String\",\"Goal.identifier\":\"Identifier\",\"Goal.implicitRules\":\"uri\",\"Goal.language\":\"code\",\"Goal.lifecycleStatus\":\"code\",\"Goal.meta\":\"Meta\",\"Goal.modifierExtension\":\"Extension\",\"Goal.note\":\"Annotation\",\"Goal.outcomeCode\":\"CodeableConcept\",\"Goal.outcomeReference\":\"Reference\",\"Goal.priority\":\"CodeableConcept\",\"Goal.startCodeableConcept\":\"CodeableConcept\",\"Goal.startDate\":\"date\",\"Goal.statusDate\":\"date\",\"Goal.statusReason\":\"string\",\"Goal.subject\":\"Reference\",\"Goal.target.detailBoolean\":\"boolean\",\"Goal.target.detailCodeableConcept\":\"CodeableConcept\",\"Goal.target.detailInteger\":\"integer\",\"Goal.target.detailQuantity\":\"Quantity\",\"Goal.target.detailRange\":\"Range\",\"Goal.target.detailRatio\":\"Ratio\",\"Goal.target.detailString\":\"string\",\"Goal.target.dueDate\":\"date\",\"Goal.target.dueDuration\":\"Duration\",\"Goal.target.extension\":\"Extension\",\"Goal.target.id\":\"System.String\",\"Goal.target.measure\":\"CodeableConcept\",\"Goal.target.modifierExtension\":\"Extension\",\"Goal.text\":\"Narrative\",\"GraphDefinition.contact\":\"ContactDetail\",\"GraphDefinition.contained\":\"Resource\",\"GraphDefinition.date\":\"dateTime\",\"GraphDefinition.description\":\"markdown\",\"GraphDefinition.experimental\":\"boolean\",\"GraphDefinition.extension\":\"Extension\",\"GraphDefinition.id\":\"System.String\",\"GraphDefinition.implicitRules\":\"uri\",\"GraphDefinition.jurisdiction\":\"CodeableConcept\",\"GraphDefinition.language\":\"code\",\"GraphDefinition.link.description\":\"string\",\"GraphDefinition.link.extension\":\"Extension\",\"GraphDefinition.link.id\":\"System.String\",\"GraphDefinition.link.max\":\"string\",\"GraphDefinition.link.min\":\"integer\",\"GraphDefinition.link.modifierExtension\":\"Extension\",\"GraphDefinition.link.path\":\"string\",\"GraphDefinition.link.sliceName\":\"string\",\"GraphDefinition.link.target.compartment.code\":\"code\",\"GraphDefinition.link.target.compartment.description\":\"string\",\"GraphDefinition.link.target.compartment.expression\":\"string\",\"GraphDefinition.link.target.compartment.extension\":\"Extension\",\"GraphDefinition.link.target.compartment.id\":\"System.String\",\"GraphDefinition.link.target.compartment.modifierExtension\":\"Extension\",\"GraphDefinition.link.target.compartment.rule\":\"code\",\"GraphDefinition.link.target.compartment.use\":\"code\",\"GraphDefinition.link.target.extension\":\"Extension\",\"GraphDefinition.link.target.id\":\"System.String\",\"GraphDefinition.link.target.modifierExtension\":\"Extension\",\"GraphDefinition.link.target.params\":\"string\",\"GraphDefinition.link.target.profile\":\"canonical\",\"GraphDefinition.link.target.type\":\"code\",\"GraphDefinition.meta\":\"Meta\",\"GraphDefinition.modifierExtension\":\"Extension\",\"GraphDefinition.name\":\"string\",\"GraphDefinition.profile\":\"canonical\",\"GraphDefinition.publisher\":\"string\",\"GraphDefinition.purpose\":\"markdown\",\"GraphDefinition.start\":\"code\",\"GraphDefinition.status\":\"code\",\"GraphDefinition.text\":\"Narrative\",\"GraphDefinition.url\":\"uri\",\"GraphDefinition.useContext\":\"UsageContext\",\"GraphDefinition.version\":\"string\",\"Group.active\":\"boolean\",\"Group.actual\":\"boolean\",\"Group.characteristic.code\":\"CodeableConcept\",\"Group.characteristic.exclude\":\"boolean\",\"Group.characteristic.extension\":\"Extension\",\"Group.characteristic.id\":\"System.String\",\"Group.characteristic.modifierExtension\":\"Extension\",\"Group.characteristic.period\":\"Period\",\"Group.characteristic.valueBoolean\":\"boolean\",\"Group.characteristic.valueCodeableConcept\":\"CodeableConcept\",\"Group.characteristic.valueQuantity\":\"Quantity\",\"Group.characteristic.valueRange\":\"Range\",\"Group.characteristic.valueReference\":\"Reference\",\"Group.code\":\"CodeableConcept\",\"Group.contained\":\"Resource\",\"Group.extension\":\"Extension\",\"Group.id\":\"System.String\",\"Group.identifier\":\"Identifier\",\"Group.implicitRules\":\"uri\",\"Group.language\":\"code\",\"Group.managingEntity\":\"Reference\",\"Group.member.entity\":\"Reference\",\"Group.member.extension\":\"Extension\",\"Group.member.id\":\"System.String\",\"Group.member.inactive\":\"boolean\",\"Group.member.modifierExtension\":\"Extension\",\"Group.member.period\":\"Period\",\"Group.meta\":\"Meta\",\"Group.modifierExtension\":\"Extension\",\"Group.name\":\"string\",\"Group.quantity\":\"unsignedInt\",\"Group.text\":\"Narrative\",\"Group.type\":\"code\",\"GuidanceResponse.contained\":\"Resource\",\"GuidanceResponse.dataRequirement\":\"DataRequirement\",\"GuidanceResponse.encounter\":\"Reference\",\"GuidanceResponse.evaluationMessage\":\"Reference\",\"GuidanceResponse.extension\":\"Extension\",\"GuidanceResponse.id\":\"System.String\",\"GuidanceResponse.identifier\":\"Identifier\",\"GuidanceResponse.implicitRules\":\"uri\",\"GuidanceResponse.language\":\"code\",\"GuidanceResponse.meta\":\"Meta\",\"GuidanceResponse.modifierExtension\":\"Extension\",\"GuidanceResponse.moduleCanonical\":\"canonical\",\"GuidanceResponse.moduleCodeableConcept\":\"CodeableConcept\",\"GuidanceResponse.moduleUri\":\"uri\",\"GuidanceResponse.note\":\"Annotation\",\"GuidanceResponse.occurrenceDateTime\":\"dateTime\",\"GuidanceResponse.outputParameters\":\"Reference\",\"GuidanceResponse.performer\":\"Reference\",\"GuidanceResponse.reasonCode\":\"CodeableConcept\",\"GuidanceResponse.reasonReference\":\"Reference\",\"GuidanceResponse.requestIdentifier\":\"Identifier\",\"GuidanceResponse.result\":\"Reference\",\"GuidanceResponse.status\":\"code\",\"GuidanceResponse.subject\":\"Reference\",\"GuidanceResponse.text\":\"Narrative\",\"HealthcareService.active\":\"boolean\",\"HealthcareService.appointmentRequired\":\"boolean\",\"HealthcareService.availabilityExceptions\":\"string\",\"HealthcareService.availableTime.allDay\":\"boolean\",\"HealthcareService.availableTime.availableEndTime\":\"time\",\"HealthcareService.availableTime.availableStartTime\":\"time\",\"HealthcareService.availableTime.daysOfWeek\":\"code\",\"HealthcareService.availableTime.extension\":\"Extension\",\"HealthcareService.availableTime.id\":\"System.String\",\"HealthcareService.availableTime.modifierExtension\":\"Extension\",\"HealthcareService.category\":\"CodeableConcept\",\"HealthcareService.characteristic\":\"CodeableConcept\",\"HealthcareService.comment\":\"string\",\"HealthcareService.communication\":\"CodeableConcept\",\"HealthcareService.contained\":\"Resource\",\"HealthcareService.coverageArea\":\"Reference\",\"HealthcareService.eligibility.code\":\"CodeableConcept\",\"HealthcareService.eligibility.comment\":\"markdown\",\"HealthcareService.eligibility.extension\":\"Extension\",\"HealthcareService.eligibility.id\":\"System.String\",\"HealthcareService.eligibility.modifierExtension\":\"Extension\",\"HealthcareService.endpoint\":\"Reference\",\"HealthcareService.extension\":\"Extension\",\"HealthcareService.extraDetails\":\"markdown\",\"HealthcareService.id\":\"System.String\",\"HealthcareService.identifier\":\"Identifier\",\"HealthcareService.implicitRules\":\"uri\",\"HealthcareService.language\":\"code\",\"HealthcareService.location\":\"Reference\",\"HealthcareService.meta\":\"Meta\",\"HealthcareService.modifierExtension\":\"Extension\",\"HealthcareService.name\":\"string\",\"HealthcareService.notAvailable.description\":\"string\",\"HealthcareService.notAvailable.during\":\"Period\",\"HealthcareService.notAvailable.extension\":\"Extension\",\"HealthcareService.notAvailable.id\":\"System.String\",\"HealthcareService.notAvailable.modifierExtension\":\"Extension\",\"HealthcareService.photo\":\"Attachment\",\"HealthcareService.program\":\"CodeableConcept\",\"HealthcareService.providedBy\":\"Reference\",\"HealthcareService.referralMethod\":\"CodeableConcept\",\"HealthcareService.serviceProvisionCode\":\"CodeableConcept\",\"HealthcareService.specialty\":\"CodeableConcept\",\"HealthcareService.telecom\":\"ContactPoint\",\"HealthcareService.text\":\"Narrative\",\"HealthcareService.type\":\"CodeableConcept\",\"HumanName.extension\":\"Extension\",\"HumanName.family\":\"string\",\"HumanName.given\":\"string\",\"HumanName.id\":\"System.String\",\"HumanName.period\":\"Period\",\"HumanName.prefix\":\"string\",\"HumanName.suffix\":\"string\",\"HumanName.text\":\"string\",\"HumanName.use\":\"code\",\"Identifier.assigner\":\"Reference\",\"Identifier.extension\":\"Extension\",\"Identifier.id\":\"System.String\",\"Identifier.period\":\"Period\",\"Identifier.system\":\"uri\",\"Identifier.type\":\"CodeableConcept\",\"Identifier.use\":\"code\",\"Identifier.value\":\"string\",\"ImagingStudy.basedOn\":\"Reference\",\"ImagingStudy.contained\":\"Resource\",\"ImagingStudy.description\":\"string\",\"ImagingStudy.encounter\":\"Reference\",\"ImagingStudy.endpoint\":\"Reference\",\"ImagingStudy.extension\":\"Extension\",\"ImagingStudy.id\":\"System.String\",\"ImagingStudy.identifier\":\"Identifier\",\"ImagingStudy.implicitRules\":\"uri\",\"ImagingStudy.interpreter\":\"Reference\",\"ImagingStudy.language\":\"code\",\"ImagingStudy.location\":\"Reference\",\"ImagingStudy.meta\":\"Meta\",\"ImagingStudy.modality\":\"Coding\",\"ImagingStudy.modifierExtension\":\"Extension\",\"ImagingStudy.note\":\"Annotation\",\"ImagingStudy.numberOfInstances\":\"unsignedInt\",\"ImagingStudy.numberOfSeries\":\"unsignedInt\",\"ImagingStudy.procedureCode\":\"CodeableConcept\",\"ImagingStudy.procedureReference\":\"Reference\",\"ImagingStudy.reasonCode\":\"CodeableConcept\",\"ImagingStudy.reasonReference\":\"Reference\",\"ImagingStudy.referrer\":\"Reference\",\"ImagingStudy.series.bodySite\":\"Coding\",\"ImagingStudy.series.description\":\"string\",\"ImagingStudy.series.endpoint\":\"Reference\",\"ImagingStudy.series.extension\":\"Extension\",\"ImagingStudy.series.id\":\"System.String\",\"ImagingStudy.series.instance.extension\":\"Extension\",\"ImagingStudy.series.instance.id\":\"System.String\",\"ImagingStudy.series.instance.modifierExtension\":\"Extension\",\"ImagingStudy.series.instance.number\":\"unsignedInt\",\"ImagingStudy.series.instance.sopClass\":\"Coding\",\"ImagingStudy.series.instance.title\":\"string\",\"ImagingStudy.series.instance.uid\":\"id\",\"ImagingStudy.series.laterality\":\"Coding\",\"ImagingStudy.series.modality\":\"Coding\",\"ImagingStudy.series.modifierExtension\":\"Extension\",\"ImagingStudy.series.number\":\"unsignedInt\",\"ImagingStudy.series.numberOfInstances\":\"unsignedInt\",\"ImagingStudy.series.performer.actor\":\"Reference\",\"ImagingStudy.series.performer.extension\":\"Extension\",\"ImagingStudy.series.performer.function\":\"CodeableConcept\",\"ImagingStudy.series.performer.id\":\"System.String\",\"ImagingStudy.series.performer.modifierExtension\":\"Extension\",\"ImagingStudy.series.specimen\":\"Reference\",\"ImagingStudy.series.started\":\"dateTime\",\"ImagingStudy.series.uid\":\"id\",\"ImagingStudy.started\":\"dateTime\",\"ImagingStudy.status\":\"code\",\"ImagingStudy.subject\":\"Reference\",\"ImagingStudy.text\":\"Narrative\",\"Immunization.contained\":\"Resource\",\"Immunization.doseQuantity\":\"Quantity\",\"Immunization.education.documentType\":\"string\",\"Immunization.education.extension\":\"Extension\",\"Immunization.education.id\":\"System.String\",\"Immunization.education.modifierExtension\":\"Extension\",\"Immunization.education.presentationDate\":\"dateTime\",\"Immunization.education.publicationDate\":\"dateTime\",\"Immunization.education.reference\":\"uri\",\"Immunization.encounter\":\"Reference\",\"Immunization.expirationDate\":\"date\",\"Immunization.extension\":\"Extension\",\"Immunization.fundingSource\":\"CodeableConcept\",\"Immunization.id\":\"System.String\",\"Immunization.identifier\":\"Identifier\",\"Immunization.implicitRules\":\"uri\",\"Immunization.isSubpotent\":\"boolean\",\"Immunization.language\":\"code\",\"Immunization.location\":\"Reference\",\"Immunization.lotNumber\":\"string\",\"Immunization.manufacturer\":\"Reference\",\"Immunization.meta\":\"Meta\",\"Immunization.modifierExtension\":\"Extension\",\"Immunization.note\":\"Annotation\",\"Immunization.occurrenceDateTime\":\"dateTime\",\"Immunization.occurrenceString\":\"string\",\"Immunization.patient\":\"Reference\",\"Immunization.performer.actor\":\"Reference\",\"Immunization.performer.extension\":\"Extension\",\"Immunization.performer.function\":\"CodeableConcept\",\"Immunization.performer.id\":\"System.String\",\"Immunization.performer.modifierExtension\":\"Extension\",\"Immunization.primarySource\":\"boolean\",\"Immunization.programEligibility\":\"CodeableConcept\",\"Immunization.protocolApplied.authority\":\"Reference\",\"Immunization.protocolApplied.doseNumberPositiveInt\":\"positiveInt\",\"Immunization.protocolApplied.doseNumberString\":\"string\",\"Immunization.protocolApplied.extension\":\"Extension\",\"Immunization.protocolApplied.id\":\"System.String\",\"Immunization.protocolApplied.modifierExtension\":\"Extension\",\"Immunization.protocolApplied.series\":\"string\",\"Immunization.protocolApplied.seriesDosesPositiveInt\":\"positiveInt\",\"Immunization.protocolApplied.seriesDosesString\":\"string\",\"Immunization.protocolApplied.targetDisease\":\"CodeableConcept\",\"Immunization.reaction.date\":\"dateTime\",\"Immunization.reaction.detail\":\"Reference\",\"Immunization.reaction.extension\":\"Extension\",\"Immunization.reaction.id\":\"System.String\",\"Immunization.reaction.modifierExtension\":\"Extension\",\"Immunization.reaction.reported\":\"boolean\",\"Immunization.reasonCode\":\"CodeableConcept\",\"Immunization.reasonReference\":\"Reference\",\"Immunization.recorded\":\"dateTime\",\"Immunization.reportOrigin\":\"CodeableConcept\",\"Immunization.route\":\"CodeableConcept\",\"Immunization.site\":\"CodeableConcept\",\"Immunization.status\":\"code\",\"Immunization.statusReason\":\"CodeableConcept\",\"Immunization.subpotentReason\":\"CodeableConcept\",\"Immunization.text\":\"Narrative\",\"Immunization.vaccineCode\":\"CodeableConcept\",\"ImmunizationEvaluation.authority\":\"Reference\",\"ImmunizationEvaluation.contained\":\"Resource\",\"ImmunizationEvaluation.date\":\"dateTime\",\"ImmunizationEvaluation.description\":\"string\",\"ImmunizationEvaluation.doseNumberPositiveInt\":\"positiveInt\",\"ImmunizationEvaluation.doseNumberString\":\"string\",\"ImmunizationEvaluation.doseStatus\":\"CodeableConcept\",\"ImmunizationEvaluation.doseStatusReason\":\"CodeableConcept\",\"ImmunizationEvaluation.extension\":\"Extension\",\"ImmunizationEvaluation.id\":\"System.String\",\"ImmunizationEvaluation.identifier\":\"Identifier\",\"ImmunizationEvaluation.immunizationEvent\":\"Reference\",\"ImmunizationEvaluation.implicitRules\":\"uri\",\"ImmunizationEvaluation.language\":\"code\",\"ImmunizationEvaluation.meta\":\"Meta\",\"ImmunizationEvaluation.modifierExtension\":\"Extension\",\"ImmunizationEvaluation.patient\":\"Reference\",\"ImmunizationEvaluation.series\":\"string\",\"ImmunizationEvaluation.seriesDosesPositiveInt\":\"positiveInt\",\"ImmunizationEvaluation.seriesDosesString\":\"string\",\"ImmunizationEvaluation.status\":\"code\",\"ImmunizationEvaluation.targetDisease\":\"CodeableConcept\",\"ImmunizationEvaluation.text\":\"Narrative\",\"ImmunizationRecommendation.authority\":\"Reference\",\"ImmunizationRecommendation.contained\":\"Resource\",\"ImmunizationRecommendation.date\":\"dateTime\",\"ImmunizationRecommendation.extension\":\"Extension\",\"ImmunizationRecommendation.id\":\"System.String\",\"ImmunizationRecommendation.identifier\":\"Identifier\",\"ImmunizationRecommendation.implicitRules\":\"uri\",\"ImmunizationRecommendation.language\":\"code\",\"ImmunizationRecommendation.meta\":\"Meta\",\"ImmunizationRecommendation.modifierExtension\":\"Extension\",\"ImmunizationRecommendation.patient\":\"Reference\",\"ImmunizationRecommendation.recommendation.contraindicatedVaccineCode\":\"CodeableConcept\",\"ImmunizationRecommendation.recommendation.dateCriterion.code\":\"CodeableConcept\",\"ImmunizationRecommendation.recommendation.dateCriterion.extension\":\"Extension\",\"ImmunizationRecommendation.recommendation.dateCriterion.id\":\"System.String\",\"ImmunizationRecommendation.recommendation.dateCriterion.modifierExtension\":\"Extension\",\"ImmunizationRecommendation.recommendation.dateCriterion.value\":\"dateTime\",\"ImmunizationRecommendation.recommendation.description\":\"string\",\"ImmunizationRecommendation.recommendation.doseNumberPositiveInt\":\"positiveInt\",\"ImmunizationRecommendation.recommendation.doseNumberString\":\"string\",\"ImmunizationRecommendation.recommendation.extension\":\"Extension\",\"ImmunizationRecommendation.recommendation.forecastReason\":\"CodeableConcept\",\"ImmunizationRecommendation.recommendation.forecastStatus\":\"CodeableConcept\",\"ImmunizationRecommendation.recommendation.id\":\"System.String\",\"ImmunizationRecommendation.recommendation.modifierExtension\":\"Extension\",\"ImmunizationRecommendation.recommendation.series\":\"string\",\"ImmunizationRecommendation.recommendation.seriesDosesPositiveInt\":\"positiveInt\",\"ImmunizationRecommendation.recommendation.seriesDosesString\":\"string\",\"ImmunizationRecommendation.recommendation.supportingImmunization\":\"Reference\",\"ImmunizationRecommendation.recommendation.supportingPatientInformation\":\"Reference\",\"ImmunizationRecommendation.recommendation.targetDisease\":\"CodeableConcept\",\"ImmunizationRecommendation.recommendation.vaccineCode\":\"CodeableConcept\",\"ImmunizationRecommendation.text\":\"Narrative\",\"ImplementationGuide.contact\":\"ContactDetail\",\"ImplementationGuide.contained\":\"Resource\",\"ImplementationGuide.copyright\":\"markdown\",\"ImplementationGuide.date\":\"dateTime\",\"ImplementationGuide.definition.extension\":\"Extension\",\"ImplementationGuide.definition.grouping.description\":\"string\",\"ImplementationGuide.definition.grouping.extension\":\"Extension\",\"ImplementationGuide.definition.grouping.id\":\"System.String\",\"ImplementationGuide.definition.grouping.modifierExtension\":\"Extension\",\"ImplementationGuide.definition.grouping.name\":\"string\",\"ImplementationGuide.definition.id\":\"System.String\",\"ImplementationGuide.definition.modifierExtension\":\"Extension\",\"ImplementationGuide.definition.page.extension\":\"Extension\",\"ImplementationGuide.definition.page.generation\":\"code\",\"ImplementationGuide.definition.page.id\":\"System.String\",\"ImplementationGuide.definition.page.modifierExtension\":\"Extension\",\"ImplementationGuide.definition.page.nameReference\":\"Reference\",\"ImplementationGuide.definition.page.nameUrl\":\"url\",\"ImplementationGuide.definition.page.title\":\"string\",\"ImplementationGuide.definition.parameter.code\":\"code\",\"ImplementationGuide.definition.parameter.extension\":\"Extension\",\"ImplementationGuide.definition.parameter.id\":\"System.String\",\"ImplementationGuide.definition.parameter.modifierExtension\":\"Extension\",\"ImplementationGuide.definition.parameter.value\":\"string\",\"ImplementationGuide.definition.resource.description\":\"string\",\"ImplementationGuide.definition.resource.exampleBoolean\":\"boolean\",\"ImplementationGuide.definition.resource.exampleCanonical\":\"canonical\",\"ImplementationGuide.definition.resource.extension\":\"Extension\",\"ImplementationGuide.definition.resource.fhirVersion\":\"code\",\"ImplementationGuide.definition.resource.groupingId\":\"id\",\"ImplementationGuide.definition.resource.id\":\"System.String\",\"ImplementationGuide.definition.resource.modifierExtension\":\"Extension\",\"ImplementationGuide.definition.resource.name\":\"string\",\"ImplementationGuide.definition.resource.reference\":\"Reference\",\"ImplementationGuide.definition.template.code\":\"code\",\"ImplementationGuide.definition.template.extension\":\"Extension\",\"ImplementationGuide.definition.template.id\":\"System.String\",\"ImplementationGuide.definition.template.modifierExtension\":\"Extension\",\"ImplementationGuide.definition.template.scope\":\"string\",\"ImplementationGuide.definition.template.source\":\"string\",\"ImplementationGuide.dependsOn.extension\":\"Extension\",\"ImplementationGuide.dependsOn.id\":\"System.String\",\"ImplementationGuide.dependsOn.modifierExtension\":\"Extension\",\"ImplementationGuide.dependsOn.packageId\":\"id\",\"ImplementationGuide.dependsOn.uri\":\"canonical\",\"ImplementationGuide.dependsOn.version\":\"string\",\"ImplementationGuide.description\":\"markdown\",\"ImplementationGuide.experimental\":\"boolean\",\"ImplementationGuide.extension\":\"Extension\",\"ImplementationGuide.fhirVersion\":\"code\",\"ImplementationGuide.global.extension\":\"Extension\",\"ImplementationGuide.global.id\":\"System.String\",\"ImplementationGuide.global.modifierExtension\":\"Extension\",\"ImplementationGuide.global.profile\":\"canonical\",\"ImplementationGuide.global.type\":\"code\",\"ImplementationGuide.id\":\"System.String\",\"ImplementationGuide.implicitRules\":\"uri\",\"ImplementationGuide.jurisdiction\":\"CodeableConcept\",\"ImplementationGuide.language\":\"code\",\"ImplementationGuide.license\":\"code\",\"ImplementationGuide.manifest.extension\":\"Extension\",\"ImplementationGuide.manifest.id\":\"System.String\",\"ImplementationGuide.manifest.image\":\"string\",\"ImplementationGuide.manifest.modifierExtension\":\"Extension\",\"ImplementationGuide.manifest.other\":\"string\",\"ImplementationGuide.manifest.page.anchor\":\"string\",\"ImplementationGuide.manifest.page.extension\":\"Extension\",\"ImplementationGuide.manifest.page.id\":\"System.String\",\"ImplementationGuide.manifest.page.modifierExtension\":\"Extension\",\"ImplementationGuide.manifest.page.name\":\"string\",\"ImplementationGuide.manifest.page.title\":\"string\",\"ImplementationGuide.manifest.rendering\":\"url\",\"ImplementationGuide.manifest.resource.exampleBoolean\":\"boolean\",\"ImplementationGuide.manifest.resource.exampleCanonical\":\"canonical\",\"ImplementationGuide.manifest.resource.extension\":\"Extension\",\"ImplementationGuide.manifest.resource.id\":\"System.String\",\"ImplementationGuide.manifest.resource.modifierExtension\":\"Extension\",\"ImplementationGuide.manifest.resource.reference\":\"Reference\",\"ImplementationGuide.manifest.resource.relativePath\":\"url\",\"ImplementationGuide.meta\":\"Meta\",\"ImplementationGuide.modifierExtension\":\"Extension\",\"ImplementationGuide.name\":\"string\",\"ImplementationGuide.packageId\":\"id\",\"ImplementationGuide.publisher\":\"string\",\"ImplementationGuide.status\":\"code\",\"ImplementationGuide.text\":\"Narrative\",\"ImplementationGuide.title\":\"string\",\"ImplementationGuide.url\":\"uri\",\"ImplementationGuide.useContext\":\"UsageContext\",\"ImplementationGuide.version\":\"string\",\"InsurancePlan.administeredBy\":\"Reference\",\"InsurancePlan.alias\":\"string\",\"InsurancePlan.contact.address\":\"Address\",\"InsurancePlan.contact.extension\":\"Extension\",\"InsurancePlan.contact.id\":\"System.String\",\"InsurancePlan.contact.modifierExtension\":\"Extension\",\"InsurancePlan.contact.name\":\"HumanName\",\"InsurancePlan.contact.purpose\":\"CodeableConcept\",\"InsurancePlan.contact.telecom\":\"ContactPoint\",\"InsurancePlan.contained\":\"Resource\",\"InsurancePlan.coverage.benefit.extension\":\"Extension\",\"InsurancePlan.coverage.benefit.id\":\"System.String\",\"InsurancePlan.coverage.benefit.limit.code\":\"CodeableConcept\",\"InsurancePlan.coverage.benefit.limit.extension\":\"Extension\",\"InsurancePlan.coverage.benefit.limit.id\":\"System.String\",\"InsurancePlan.coverage.benefit.limit.modifierExtension\":\"Extension\",\"InsurancePlan.coverage.benefit.limit.value\":\"Quantity\",\"InsurancePlan.coverage.benefit.modifierExtension\":\"Extension\",\"InsurancePlan.coverage.benefit.requirement\":\"string\",\"InsurancePlan.coverage.benefit.type\":\"CodeableConcept\",\"InsurancePlan.coverage.extension\":\"Extension\",\"InsurancePlan.coverage.id\":\"System.String\",\"InsurancePlan.coverage.modifierExtension\":\"Extension\",\"InsurancePlan.coverage.network\":\"Reference\",\"InsurancePlan.coverage.type\":\"CodeableConcept\",\"InsurancePlan.coverageArea\":\"Reference\",\"InsurancePlan.endpoint\":\"Reference\",\"InsurancePlan.extension\":\"Extension\",\"InsurancePlan.id\":\"System.String\",\"InsurancePlan.identifier\":\"Identifier\",\"InsurancePlan.implicitRules\":\"uri\",\"InsurancePlan.language\":\"code\",\"InsurancePlan.meta\":\"Meta\",\"InsurancePlan.modifierExtension\":\"Extension\",\"InsurancePlan.name\":\"string\",\"InsurancePlan.network\":\"Reference\",\"InsurancePlan.ownedBy\":\"Reference\",\"InsurancePlan.period\":\"Period\",\"InsurancePlan.plan.coverageArea\":\"Reference\",\"InsurancePlan.plan.extension\":\"Extension\",\"InsurancePlan.plan.generalCost.comment\":\"string\",\"InsurancePlan.plan.generalCost.cost\":\"Money\",\"InsurancePlan.plan.generalCost.extension\":\"Extension\",\"InsurancePlan.plan.generalCost.groupSize\":\"positiveInt\",\"InsurancePlan.plan.generalCost.id\":\"System.String\",\"InsurancePlan.plan.generalCost.modifierExtension\":\"Extension\",\"InsurancePlan.plan.generalCost.type\":\"CodeableConcept\",\"InsurancePlan.plan.id\":\"System.String\",\"InsurancePlan.plan.identifier\":\"Identifier\",\"InsurancePlan.plan.modifierExtension\":\"Extension\",\"InsurancePlan.plan.network\":\"Reference\",\"InsurancePlan.plan.specificCost.benefit.cost.applicability\":\"CodeableConcept\",\"InsurancePlan.plan.specificCost.benefit.cost.extension\":\"Extension\",\"InsurancePlan.plan.specificCost.benefit.cost.id\":\"System.String\",\"InsurancePlan.plan.specificCost.benefit.cost.modifierExtension\":\"Extension\",\"InsurancePlan.plan.specificCost.benefit.cost.qualifiers\":\"CodeableConcept\",\"InsurancePlan.plan.specificCost.benefit.cost.type\":\"CodeableConcept\",\"InsurancePlan.plan.specificCost.benefit.cost.value\":\"Quantity\",\"InsurancePlan.plan.specificCost.benefit.extension\":\"Extension\",\"InsurancePlan.plan.specificCost.benefit.id\":\"System.String\",\"InsurancePlan.plan.specificCost.benefit.modifierExtension\":\"Extension\",\"InsurancePlan.plan.specificCost.benefit.type\":\"CodeableConcept\",\"InsurancePlan.plan.specificCost.category\":\"CodeableConcept\",\"InsurancePlan.plan.specificCost.extension\":\"Extension\",\"InsurancePlan.plan.specificCost.id\":\"System.String\",\"InsurancePlan.plan.specificCost.modifierExtension\":\"Extension\",\"InsurancePlan.plan.type\":\"CodeableConcept\",\"InsurancePlan.status\":\"code\",\"InsurancePlan.text\":\"Narrative\",\"InsurancePlan.type\":\"CodeableConcept\",\"Invoice.account\":\"Reference\",\"Invoice.cancelledReason\":\"string\",\"Invoice.contained\":\"Resource\",\"Invoice.date\":\"dateTime\",\"Invoice.extension\":\"Extension\",\"Invoice.id\":\"System.String\",\"Invoice.identifier\":\"Identifier\",\"Invoice.implicitRules\":\"uri\",\"Invoice.issuer\":\"Reference\",\"Invoice.language\":\"code\",\"Invoice.lineItem.chargeItemCodeableConcept\":\"CodeableConcept\",\"Invoice.lineItem.chargeItemReference\":\"Reference\",\"Invoice.lineItem.extension\":\"Extension\",\"Invoice.lineItem.id\":\"System.String\",\"Invoice.lineItem.modifierExtension\":\"Extension\",\"Invoice.lineItem.priceComponent.amount\":\"Money\",\"Invoice.lineItem.priceComponent.code\":\"CodeableConcept\",\"Invoice.lineItem.priceComponent.extension\":\"Extension\",\"Invoice.lineItem.priceComponent.factor\":\"decimal\",\"Invoice.lineItem.priceComponent.id\":\"System.String\",\"Invoice.lineItem.priceComponent.modifierExtension\":\"Extension\",\"Invoice.lineItem.priceComponent.type\":\"code\",\"Invoice.lineItem.sequence\":\"positiveInt\",\"Invoice.meta\":\"Meta\",\"Invoice.modifierExtension\":\"Extension\",\"Invoice.note\":\"Annotation\",\"Invoice.participant.actor\":\"Reference\",\"Invoice.participant.extension\":\"Extension\",\"Invoice.participant.id\":\"System.String\",\"Invoice.participant.modifierExtension\":\"Extension\",\"Invoice.participant.role\":\"CodeableConcept\",\"Invoice.paymentTerms\":\"markdown\",\"Invoice.recipient\":\"Reference\",\"Invoice.status\":\"code\",\"Invoice.subject\":\"Reference\",\"Invoice.text\":\"Narrative\",\"Invoice.totalGross\":\"Money\",\"Invoice.totalNet\":\"Money\",\"Invoice.type\":\"CodeableConcept\",\"Library.approvalDate\":\"date\",\"Library.author\":\"ContactDetail\",\"Library.contact\":\"ContactDetail\",\"Library.contained\":\"Resource\",\"Library.content\":\"Attachment\",\"Library.copyright\":\"markdown\",\"Library.dataRequirement\":\"DataRequirement\",\"Library.date\":\"dateTime\",\"Library.description\":\"markdown\",\"Library.editor\":\"ContactDetail\",\"Library.effectivePeriod\":\"Period\",\"Library.endorser\":\"ContactDetail\",\"Library.experimental\":\"boolean\",\"Library.extension\":\"Extension\",\"Library.id\":\"System.String\",\"Library.identifier\":\"Identifier\",\"Library.implicitRules\":\"uri\",\"Library.jurisdiction\":\"CodeableConcept\",\"Library.language\":\"code\",\"Library.lastReviewDate\":\"date\",\"Library.meta\":\"Meta\",\"Library.modifierExtension\":\"Extension\",\"Library.name\":\"string\",\"Library.parameter\":\"ParameterDefinition\",\"Library.publisher\":\"string\",\"Library.purpose\":\"markdown\",\"Library.relatedArtifact\":\"RelatedArtifact\",\"Library.reviewer\":\"ContactDetail\",\"Library.status\":\"code\",\"Library.subjectCodeableConcept\":\"CodeableConcept\",\"Library.subjectReference\":\"Reference\",\"Library.subtitle\":\"string\",\"Library.text\":\"Narrative\",\"Library.title\":\"string\",\"Library.topic\":\"CodeableConcept\",\"Library.type\":\"CodeableConcept\",\"Library.url\":\"uri\",\"Library.usage\":\"string\",\"Library.useContext\":\"UsageContext\",\"Library.version\":\"string\",\"Linkage.active\":\"boolean\",\"Linkage.author\":\"Reference\",\"Linkage.contained\":\"Resource\",\"Linkage.extension\":\"Extension\",\"Linkage.id\":\"System.String\",\"Linkage.implicitRules\":\"uri\",\"Linkage.item.extension\":\"Extension\",\"Linkage.item.id\":\"System.String\",\"Linkage.item.modifierExtension\":\"Extension\",\"Linkage.item.resource\":\"Reference\",\"Linkage.item.type\":\"code\",\"Linkage.language\":\"code\",\"Linkage.meta\":\"Meta\",\"Linkage.modifierExtension\":\"Extension\",\"Linkage.text\":\"Narrative\",\"List.code\":\"CodeableConcept\",\"List.contained\":\"Resource\",\"List.date\":\"dateTime\",\"List.emptyReason\":\"CodeableConcept\",\"List.encounter\":\"Reference\",\"List.entry.date\":\"dateTime\",\"List.entry.deleted\":\"boolean\",\"List.entry.extension\":\"Extension\",\"List.entry.flag\":\"CodeableConcept\",\"List.entry.id\":\"System.String\",\"List.entry.item\":\"Reference\",\"List.entry.modifierExtension\":\"Extension\",\"List.extension\":\"Extension\",\"List.id\":\"System.String\",\"List.identifier\":\"Identifier\",\"List.implicitRules\":\"uri\",\"List.language\":\"code\",\"List.meta\":\"Meta\",\"List.mode\":\"code\",\"List.modifierExtension\":\"Extension\",\"List.note\":\"Annotation\",\"List.orderedBy\":\"CodeableConcept\",\"List.source\":\"Reference\",\"List.status\":\"code\",\"List.subject\":\"Reference\",\"List.text\":\"Narrative\",\"List.title\":\"string\",\"Location.address\":\"Address\",\"Location.alias\":\"string\",\"Location.availabilityExceptions\":\"string\",\"Location.contained\":\"Resource\",\"Location.description\":\"string\",\"Location.endpoint\":\"Reference\",\"Location.extension\":\"Extension\",\"Location.hoursOfOperation.allDay\":\"boolean\",\"Location.hoursOfOperation.closingTime\":\"time\",\"Location.hoursOfOperation.daysOfWeek\":\"code\",\"Location.hoursOfOperation.extension\":\"Extension\",\"Location.hoursOfOperation.id\":\"System.String\",\"Location.hoursOfOperation.modifierExtension\":\"Extension\",\"Location.hoursOfOperation.openingTime\":\"time\",\"Location.id\":\"System.String\",\"Location.identifier\":\"Identifier\",\"Location.implicitRules\":\"uri\",\"Location.language\":\"code\",\"Location.managingOrganization\":\"Reference\",\"Location.meta\":\"Meta\",\"Location.mode\":\"code\",\"Location.modifierExtension\":\"Extension\",\"Location.name\":\"string\",\"Location.operationalStatus\":\"Coding\",\"Location.partOf\":\"Reference\",\"Location.physicalType\":\"CodeableConcept\",\"Location.position.altitude\":\"decimal\",\"Location.position.extension\":\"Extension\",\"Location.position.id\":\"System.String\",\"Location.position.latitude\":\"decimal\",\"Location.position.longitude\":\"decimal\",\"Location.position.modifierExtension\":\"Extension\",\"Location.status\":\"code\",\"Location.telecom\":\"ContactPoint\",\"Location.text\":\"Narrative\",\"Location.type\":\"CodeableConcept\",\"MarketingStatus.country\":\"CodeableConcept\",\"MarketingStatus.dateRange\":\"Period\",\"MarketingStatus.extension\":\"Extension\",\"MarketingStatus.id\":\"System.String\",\"MarketingStatus.jurisdiction\":\"CodeableConcept\",\"MarketingStatus.modifierExtension\":\"Extension\",\"MarketingStatus.restoreDate\":\"dateTime\",\"MarketingStatus.status\":\"CodeableConcept\",\"Measure.approvalDate\":\"date\",\"Measure.author\":\"ContactDetail\",\"Measure.clinicalRecommendationStatement\":\"markdown\",\"Measure.compositeScoring\":\"CodeableConcept\",\"Measure.contact\":\"ContactDetail\",\"Measure.contained\":\"Resource\",\"Measure.copyright\":\"markdown\",\"Measure.date\":\"dateTime\",\"Measure.definition\":\"markdown\",\"Measure.description\":\"markdown\",\"Measure.disclaimer\":\"markdown\",\"Measure.editor\":\"ContactDetail\",\"Measure.effectivePeriod\":\"Period\",\"Measure.endorser\":\"ContactDetail\",\"Measure.experimental\":\"boolean\",\"Measure.extension\":\"Extension\",\"Measure.group.code\":\"CodeableConcept\",\"Measure.group.description\":\"string\",\"Measure.group.extension\":\"Extension\",\"Measure.group.id\":\"System.String\",\"Measure.group.modifierExtension\":\"Extension\",\"Measure.group.population.code\":\"CodeableConcept\",\"Measure.group.population.criteria\":\"Expression\",\"Measure.group.population.description\":\"string\",\"Measure.group.population.extension\":\"Extension\",\"Measure.group.population.id\":\"System.String\",\"Measure.group.population.modifierExtension\":\"Extension\",\"Measure.group.stratifier.code\":\"CodeableConcept\",\"Measure.group.stratifier.component.code\":\"CodeableConcept\",\"Measure.group.stratifier.component.criteria\":\"Expression\",\"Measure.group.stratifier.component.description\":\"string\",\"Measure.group.stratifier.component.extension\":\"Extension\",\"Measure.group.stratifier.component.id\":\"System.String\",\"Measure.group.stratifier.component.modifierExtension\":\"Extension\",\"Measure.group.stratifier.criteria\":\"Expression\",\"Measure.group.stratifier.description\":\"string\",\"Measure.group.stratifier.extension\":\"Extension\",\"Measure.group.stratifier.id\":\"System.String\",\"Measure.group.stratifier.modifierExtension\":\"Extension\",\"Measure.guidance\":\"markdown\",\"Measure.id\":\"System.String\",\"Measure.identifier\":\"Identifier\",\"Measure.implicitRules\":\"uri\",\"Measure.improvementNotation\":\"CodeableConcept\",\"Measure.jurisdiction\":\"CodeableConcept\",\"Measure.language\":\"code\",\"Measure.lastReviewDate\":\"date\",\"Measure.library\":\"canonical\",\"Measure.meta\":\"Meta\",\"Measure.modifierExtension\":\"Extension\",\"Measure.name\":\"string\",\"Measure.publisher\":\"string\",\"Measure.purpose\":\"markdown\",\"Measure.rateAggregation\":\"string\",\"Measure.rationale\":\"markdown\",\"Measure.relatedArtifact\":\"RelatedArtifact\",\"Measure.reviewer\":\"ContactDetail\",\"Measure.riskAdjustment\":\"string\",\"Measure.scoring\":\"CodeableConcept\",\"Measure.status\":\"code\",\"Measure.subjectCodeableConcept\":\"CodeableConcept\",\"Measure.subjectReference\":\"Reference\",\"Measure.subtitle\":\"string\",\"Measure.supplementalData.code\":\"CodeableConcept\",\"Measure.supplementalData.criteria\":\"Expression\",\"Measure.supplementalData.description\":\"string\",\"Measure.supplementalData.extension\":\"Extension\",\"Measure.supplementalData.id\":\"System.String\",\"Measure.supplementalData.modifierExtension\":\"Extension\",\"Measure.supplementalData.usage\":\"CodeableConcept\",\"Measure.text\":\"Narrative\",\"Measure.title\":\"string\",\"Measure.topic\":\"CodeableConcept\",\"Measure.type\":\"CodeableConcept\",\"Measure.url\":\"uri\",\"Measure.usage\":\"string\",\"Measure.useContext\":\"UsageContext\",\"Measure.version\":\"string\",\"MeasureReport.contained\":\"Resource\",\"MeasureReport.date\":\"dateTime\",\"MeasureReport.evaluatedResource\":\"Reference\",\"MeasureReport.extension\":\"Extension\",\"MeasureReport.group.code\":\"CodeableConcept\",\"MeasureReport.group.extension\":\"Extension\",\"MeasureReport.group.id\":\"System.String\",\"MeasureReport.group.measureScore\":\"Quantity\",\"MeasureReport.group.modifierExtension\":\"Extension\",\"MeasureReport.group.population.code\":\"CodeableConcept\",\"MeasureReport.group.population.count\":\"integer\",\"MeasureReport.group.population.extension\":\"Extension\",\"MeasureReport.group.population.id\":\"System.String\",\"MeasureReport.group.population.modifierExtension\":\"Extension\",\"MeasureReport.group.population.subjectResults\":\"Reference\",\"MeasureReport.group.stratifier.code\":\"CodeableConcept\",\"MeasureReport.group.stratifier.extension\":\"Extension\",\"MeasureReport.group.stratifier.id\":\"System.String\",\"MeasureReport.group.stratifier.modifierExtension\":\"Extension\",\"MeasureReport.group.stratifier.stratum.component.code\":\"CodeableConcept\",\"MeasureReport.group.stratifier.stratum.component.extension\":\"Extension\",\"MeasureReport.group.stratifier.stratum.component.id\":\"System.String\",\"MeasureReport.group.stratifier.stratum.component.modifierExtension\":\"Extension\",\"MeasureReport.group.stratifier.stratum.component.value\":\"CodeableConcept\",\"MeasureReport.group.stratifier.stratum.extension\":\"Extension\",\"MeasureReport.group.stratifier.stratum.id\":\"System.String\",\"MeasureReport.group.stratifier.stratum.measureScore\":\"Quantity\",\"MeasureReport.group.stratifier.stratum.modifierExtension\":\"Extension\",\"MeasureReport.group.stratifier.stratum.population.code\":\"CodeableConcept\",\"MeasureReport.group.stratifier.stratum.population.count\":\"integer\",\"MeasureReport.group.stratifier.stratum.population.extension\":\"Extension\",\"MeasureReport.group.stratifier.stratum.population.id\":\"System.String\",\"MeasureReport.group.stratifier.stratum.population.modifierExtension\":\"Extension\",\"MeasureReport.group.stratifier.stratum.population.subjectResults\":\"Reference\",\"MeasureReport.group.stratifier.stratum.value\":\"CodeableConcept\",\"MeasureReport.id\":\"System.String\",\"MeasureReport.identifier\":\"Identifier\",\"MeasureReport.implicitRules\":\"uri\",\"MeasureReport.improvementNotation\":\"CodeableConcept\",\"MeasureReport.language\":\"code\",\"MeasureReport.measure\":\"canonical\",\"MeasureReport.meta\":\"Meta\",\"MeasureReport.modifierExtension\":\"Extension\",\"MeasureReport.period\":\"Period\",\"MeasureReport.reporter\":\"Reference\",\"MeasureReport.status\":\"code\",\"MeasureReport.subject\":\"Reference\",\"MeasureReport.text\":\"Narrative\",\"MeasureReport.type\":\"code\",\"Media.basedOn\":\"Reference\",\"Media.bodySite\":\"CodeableConcept\",\"Media.contained\":\"Resource\",\"Media.content\":\"Attachment\",\"Media.createdDateTime\":\"dateTime\",\"Media.createdPeriod\":\"Period\",\"Media.device\":\"Reference\",\"Media.deviceName\":\"string\",\"Media.duration\":\"decimal\",\"Media.encounter\":\"Reference\",\"Media.extension\":\"Extension\",\"Media.frames\":\"positiveInt\",\"Media.height\":\"positiveInt\",\"Media.id\":\"System.String\",\"Media.identifier\":\"Identifier\",\"Media.implicitRules\":\"uri\",\"Media.issued\":\"instant\",\"Media.language\":\"code\",\"Media.meta\":\"Meta\",\"Media.modality\":\"CodeableConcept\",\"Media.modifierExtension\":\"Extension\",\"Media.note\":\"Annotation\",\"Media.operator\":\"Reference\",\"Media.partOf\":\"Reference\",\"Media.reasonCode\":\"CodeableConcept\",\"Media.status\":\"code\",\"Media.subject\":\"Reference\",\"Media.text\":\"Narrative\",\"Media.type\":\"CodeableConcept\",\"Media.view\":\"CodeableConcept\",\"Media.width\":\"positiveInt\",\"Medication.amount\":\"Ratio\",\"Medication.batch.expirationDate\":\"dateTime\",\"Medication.batch.extension\":\"Extension\",\"Medication.batch.id\":\"System.String\",\"Medication.batch.lotNumber\":\"string\",\"Medication.batch.modifierExtension\":\"Extension\",\"Medication.code\":\"CodeableConcept\",\"Medication.contained\":\"Resource\",\"Medication.extension\":\"Extension\",\"Medication.form\":\"CodeableConcept\",\"Medication.id\":\"System.String\",\"Medication.identifier\":\"Identifier\",\"Medication.implicitRules\":\"uri\",\"Medication.ingredient.extension\":\"Extension\",\"Medication.ingredient.id\":\"System.String\",\"Medication.ingredient.isActive\":\"boolean\",\"Medication.ingredient.itemCodeableConcept\":\"CodeableConcept\",\"Medication.ingredient.itemReference\":\"Reference\",\"Medication.ingredient.modifierExtension\":\"Extension\",\"Medication.ingredient.strength\":\"Ratio\",\"Medication.language\":\"code\",\"Medication.manufacturer\":\"Reference\",\"Medication.meta\":\"Meta\",\"Medication.modifierExtension\":\"Extension\",\"Medication.status\":\"code\",\"Medication.text\":\"Narrative\",\"MedicationAdministration.category\":\"CodeableConcept\",\"MedicationAdministration.contained\":\"Resource\",\"MedicationAdministration.context\":\"Reference\",\"MedicationAdministration.device\":\"Reference\",\"MedicationAdministration.dosage.dose\":\"Quantity\",\"MedicationAdministration.dosage.extension\":\"Extension\",\"MedicationAdministration.dosage.id\":\"System.String\",\"MedicationAdministration.dosage.method\":\"CodeableConcept\",\"MedicationAdministration.dosage.modifierExtension\":\"Extension\",\"MedicationAdministration.dosage.rateQuantity\":\"Quantity\",\"MedicationAdministration.dosage.rateRatio\":\"Ratio\",\"MedicationAdministration.dosage.route\":\"CodeableConcept\",\"MedicationAdministration.dosage.site\":\"CodeableConcept\",\"MedicationAdministration.dosage.text\":\"string\",\"MedicationAdministration.effectiveDateTime\":\"dateTime\",\"MedicationAdministration.effectivePeriod\":\"Period\",\"MedicationAdministration.eventHistory\":\"Reference\",\"MedicationAdministration.extension\":\"Extension\",\"MedicationAdministration.id\":\"System.String\",\"MedicationAdministration.identifier\":\"Identifier\",\"MedicationAdministration.implicitRules\":\"uri\",\"MedicationAdministration.instantiates\":\"uri\",\"MedicationAdministration.language\":\"code\",\"MedicationAdministration.medicationCodeableConcept\":\"CodeableConcept\",\"MedicationAdministration.medicationReference\":\"Reference\",\"MedicationAdministration.meta\":\"Meta\",\"MedicationAdministration.modifierExtension\":\"Extension\",\"MedicationAdministration.note\":\"Annotation\",\"MedicationAdministration.partOf\":\"Reference\",\"MedicationAdministration.performer.actor\":\"Reference\",\"MedicationAdministration.performer.extension\":\"Extension\",\"MedicationAdministration.performer.function\":\"CodeableConcept\",\"MedicationAdministration.performer.id\":\"System.String\",\"MedicationAdministration.performer.modifierExtension\":\"Extension\",\"MedicationAdministration.reasonCode\":\"CodeableConcept\",\"MedicationAdministration.reasonReference\":\"Reference\",\"MedicationAdministration.request\":\"Reference\",\"MedicationAdministration.status\":\"code\",\"MedicationAdministration.statusReason\":\"CodeableConcept\",\"MedicationAdministration.subject\":\"Reference\",\"MedicationAdministration.supportingInformation\":\"Reference\",\"MedicationAdministration.text\":\"Narrative\",\"MedicationDispense.authorizingPrescription\":\"Reference\",\"MedicationDispense.category\":\"CodeableConcept\",\"MedicationDispense.contained\":\"Resource\",\"MedicationDispense.context\":\"Reference\",\"MedicationDispense.daysSupply\":\"Quantity\",\"MedicationDispense.destination\":\"Reference\",\"MedicationDispense.detectedIssue\":\"Reference\",\"MedicationDispense.dosageInstruction\":\"Dosage\",\"MedicationDispense.eventHistory\":\"Reference\",\"MedicationDispense.extension\":\"Extension\",\"MedicationDispense.id\":\"System.String\",\"MedicationDispense.identifier\":\"Identifier\",\"MedicationDispense.implicitRules\":\"uri\",\"MedicationDispense.language\":\"code\",\"MedicationDispense.location\":\"Reference\",\"MedicationDispense.medicationCodeableConcept\":\"CodeableConcept\",\"MedicationDispense.medicationReference\":\"Reference\",\"MedicationDispense.meta\":\"Meta\",\"MedicationDispense.modifierExtension\":\"Extension\",\"MedicationDispense.note\":\"Annotation\",\"MedicationDispense.partOf\":\"Reference\",\"MedicationDispense.performer.actor\":\"Reference\",\"MedicationDispense.performer.extension\":\"Extension\",\"MedicationDispense.performer.function\":\"CodeableConcept\",\"MedicationDispense.performer.id\":\"System.String\",\"MedicationDispense.performer.modifierExtension\":\"Extension\",\"MedicationDispense.quantity\":\"Quantity\",\"MedicationDispense.receiver\":\"Reference\",\"MedicationDispense.status\":\"code\",\"MedicationDispense.statusReasonCodeableConcept\":\"CodeableConcept\",\"MedicationDispense.statusReasonReference\":\"Reference\",\"MedicationDispense.subject\":\"Reference\",\"MedicationDispense.substitution.extension\":\"Extension\",\"MedicationDispense.substitution.id\":\"System.String\",\"MedicationDispense.substitution.modifierExtension\":\"Extension\",\"MedicationDispense.substitution.reason\":\"CodeableConcept\",\"MedicationDispense.substitution.responsibleParty\":\"Reference\",\"MedicationDispense.substitution.type\":\"CodeableConcept\",\"MedicationDispense.substitution.wasSubstituted\":\"boolean\",\"MedicationDispense.supportingInformation\":\"Reference\",\"MedicationDispense.text\":\"Narrative\",\"MedicationDispense.type\":\"CodeableConcept\",\"MedicationDispense.whenHandedOver\":\"dateTime\",\"MedicationDispense.whenPrepared\":\"dateTime\",\"MedicationKnowledge.administrationGuidelines.dosage.dosage\":\"Dosage\",\"MedicationKnowledge.administrationGuidelines.dosage.extension\":\"Extension\",\"MedicationKnowledge.administrationGuidelines.dosage.id\":\"System.String\",\"MedicationKnowledge.administrationGuidelines.dosage.modifierExtension\":\"Extension\",\"MedicationKnowledge.administrationGuidelines.dosage.type\":\"CodeableConcept\",\"MedicationKnowledge.administrationGuidelines.extension\":\"Extension\",\"MedicationKnowledge.administrationGuidelines.id\":\"System.String\",\"MedicationKnowledge.administrationGuidelines.indicationCodeableConcept\":\"CodeableConcept\",\"MedicationKnowledge.administrationGuidelines.indicationReference\":\"Reference\",\"MedicationKnowledge.administrationGuidelines.modifierExtension\":\"Extension\",\"MedicationKnowledge.administrationGuidelines.patientCharacteristics.characteristicCodeableConcept\":\"CodeableConcept\",\"MedicationKnowledge.administrationGuidelines.patientCharacteristics.characteristicQuantity\":\"Quantity\",\"MedicationKnowledge.administrationGuidelines.patientCharacteristics.extension\":\"Extension\",\"MedicationKnowledge.administrationGuidelines.patientCharacteristics.id\":\"System.String\",\"MedicationKnowledge.administrationGuidelines.patientCharacteristics.modifierExtension\":\"Extension\",\"MedicationKnowledge.administrationGuidelines.patientCharacteristics.value\":\"string\",\"MedicationKnowledge.amount\":\"Quantity\",\"MedicationKnowledge.associatedMedication\":\"Reference\",\"MedicationKnowledge.code\":\"CodeableConcept\",\"MedicationKnowledge.contained\":\"Resource\",\"MedicationKnowledge.contraindication\":\"Reference\",\"MedicationKnowledge.cost.cost\":\"Money\",\"MedicationKnowledge.cost.extension\":\"Extension\",\"MedicationKnowledge.cost.id\":\"System.String\",\"MedicationKnowledge.cost.modifierExtension\":\"Extension\",\"MedicationKnowledge.cost.source\":\"string\",\"MedicationKnowledge.cost.type\":\"CodeableConcept\",\"MedicationKnowledge.doseForm\":\"CodeableConcept\",\"MedicationKnowledge.drugCharacteristic.extension\":\"Extension\",\"MedicationKnowledge.drugCharacteristic.id\":\"System.String\",\"MedicationKnowledge.drugCharacteristic.modifierExtension\":\"Extension\",\"MedicationKnowledge.drugCharacteristic.type\":\"CodeableConcept\",\"MedicationKnowledge.drugCharacteristic.valueBase64Binary\":\"base64Binary\",\"MedicationKnowledge.drugCharacteristic.valueCodeableConcept\":\"CodeableConcept\",\"MedicationKnowledge.drugCharacteristic.valueQuantity\":\"Quantity\",\"MedicationKnowledge.drugCharacteristic.valueString\":\"string\",\"MedicationKnowledge.extension\":\"Extension\",\"MedicationKnowledge.id\":\"System.String\",\"MedicationKnowledge.implicitRules\":\"uri\",\"MedicationKnowledge.ingredient.extension\":\"Extension\",\"MedicationKnowledge.ingredient.id\":\"System.String\",\"MedicationKnowledge.ingredient.isActive\":\"boolean\",\"MedicationKnowledge.ingredient.itemCodeableConcept\":\"CodeableConcept\",\"MedicationKnowledge.ingredient.itemReference\":\"Reference\",\"MedicationKnowledge.ingredient.modifierExtension\":\"Extension\",\"MedicationKnowledge.ingredient.strength\":\"Ratio\",\"MedicationKnowledge.intendedRoute\":\"CodeableConcept\",\"MedicationKnowledge.kinetics.areaUnderCurve\":\"Quantity\",\"MedicationKnowledge.kinetics.extension\":\"Extension\",\"MedicationKnowledge.kinetics.halfLifePeriod\":\"Duration\",\"MedicationKnowledge.kinetics.id\":\"System.String\",\"MedicationKnowledge.kinetics.lethalDose50\":\"Quantity\",\"MedicationKnowledge.kinetics.modifierExtension\":\"Extension\",\"MedicationKnowledge.language\":\"code\",\"MedicationKnowledge.manufacturer\":\"Reference\",\"MedicationKnowledge.medicineClassification.classification\":\"CodeableConcept\",\"MedicationKnowledge.medicineClassification.extension\":\"Extension\",\"MedicationKnowledge.medicineClassification.id\":\"System.String\",\"MedicationKnowledge.medicineClassification.modifierExtension\":\"Extension\",\"MedicationKnowledge.medicineClassification.type\":\"CodeableConcept\",\"MedicationKnowledge.meta\":\"Meta\",\"MedicationKnowledge.modifierExtension\":\"Extension\",\"MedicationKnowledge.monitoringProgram.extension\":\"Extension\",\"MedicationKnowledge.monitoringProgram.id\":\"System.String\",\"MedicationKnowledge.monitoringProgram.modifierExtension\":\"Extension\",\"MedicationKnowledge.monitoringProgram.name\":\"string\",\"MedicationKnowledge.monitoringProgram.type\":\"CodeableConcept\",\"MedicationKnowledge.monograph.extension\":\"Extension\",\"MedicationKnowledge.monograph.id\":\"System.String\",\"MedicationKnowledge.monograph.modifierExtension\":\"Extension\",\"MedicationKnowledge.monograph.source\":\"Reference\",\"MedicationKnowledge.monograph.type\":\"CodeableConcept\",\"MedicationKnowledge.packaging.extension\":\"Extension\",\"MedicationKnowledge.packaging.id\":\"System.String\",\"MedicationKnowledge.packaging.modifierExtension\":\"Extension\",\"MedicationKnowledge.packaging.quantity\":\"Quantity\",\"MedicationKnowledge.packaging.type\":\"CodeableConcept\",\"MedicationKnowledge.preparationInstruction\":\"markdown\",\"MedicationKnowledge.productType\":\"CodeableConcept\",\"MedicationKnowledge.regulatory.extension\":\"Extension\",\"MedicationKnowledge.regulatory.id\":\"System.String\",\"MedicationKnowledge.regulatory.maxDispense.extension\":\"Extension\",\"MedicationKnowledge.regulatory.maxDispense.id\":\"System.String\",\"MedicationKnowledge.regulatory.maxDispense.modifierExtension\":\"Extension\",\"MedicationKnowledge.regulatory.maxDispense.period\":\"Duration\",\"MedicationKnowledge.regulatory.maxDispense.quantity\":\"Quantity\",\"MedicationKnowledge.regulatory.modifierExtension\":\"Extension\",\"MedicationKnowledge.regulatory.regulatoryAuthority\":\"Reference\",\"MedicationKnowledge.regulatory.schedule.extension\":\"Extension\",\"MedicationKnowledge.regulatory.schedule.id\":\"System.String\",\"MedicationKnowledge.regulatory.schedule.modifierExtension\":\"Extension\",\"MedicationKnowledge.regulatory.schedule.schedule\":\"CodeableConcept\",\"MedicationKnowledge.regulatory.substitution.allowed\":\"boolean\",\"MedicationKnowledge.regulatory.substitution.extension\":\"Extension\",\"MedicationKnowledge.regulatory.substitution.id\":\"System.String\",\"MedicationKnowledge.regulatory.substitution.modifierExtension\":\"Extension\",\"MedicationKnowledge.regulatory.substitution.type\":\"CodeableConcept\",\"MedicationKnowledge.relatedMedicationKnowledge.extension\":\"Extension\",\"MedicationKnowledge.relatedMedicationKnowledge.id\":\"System.String\",\"MedicationKnowledge.relatedMedicationKnowledge.modifierExtension\":\"Extension\",\"MedicationKnowledge.relatedMedicationKnowledge.reference\":\"Reference\",\"MedicationKnowledge.relatedMedicationKnowledge.type\":\"CodeableConcept\",\"MedicationKnowledge.status\":\"code\",\"MedicationKnowledge.synonym\":\"string\",\"MedicationKnowledge.text\":\"Narrative\",\"MedicationRequest.authoredOn\":\"dateTime\",\"MedicationRequest.basedOn\":\"Reference\",\"MedicationRequest.category\":\"CodeableConcept\",\"MedicationRequest.contained\":\"Resource\",\"MedicationRequest.courseOfTherapyType\":\"CodeableConcept\",\"MedicationRequest.detectedIssue\":\"Reference\",\"MedicationRequest.dispenseRequest.dispenseInterval\":\"Duration\",\"MedicationRequest.dispenseRequest.expectedSupplyDuration\":\"Duration\",\"MedicationRequest.dispenseRequest.extension\":\"Extension\",\"MedicationRequest.dispenseRequest.id\":\"System.String\",\"MedicationRequest.dispenseRequest.initialFill.duration\":\"Duration\",\"MedicationRequest.dispenseRequest.initialFill.extension\":\"Extension\",\"MedicationRequest.dispenseRequest.initialFill.id\":\"System.String\",\"MedicationRequest.dispenseRequest.initialFill.modifierExtension\":\"Extension\",\"MedicationRequest.dispenseRequest.initialFill.quantity\":\"Quantity\",\"MedicationRequest.dispenseRequest.modifierExtension\":\"Extension\",\"MedicationRequest.dispenseRequest.numberOfRepeatsAllowed\":\"unsignedInt\",\"MedicationRequest.dispenseRequest.performer\":\"Reference\",\"MedicationRequest.dispenseRequest.quantity\":\"Quantity\",\"MedicationRequest.dispenseRequest.validityPeriod\":\"Period\",\"MedicationRequest.doNotPerform\":\"boolean\",\"MedicationRequest.dosageInstruction\":\"Dosage\",\"MedicationRequest.encounter\":\"Reference\",\"MedicationRequest.eventHistory\":\"Reference\",\"MedicationRequest.extension\":\"Extension\",\"MedicationRequest.groupIdentifier\":\"Identifier\",\"MedicationRequest.id\":\"System.String\",\"MedicationRequest.identifier\":\"Identifier\",\"MedicationRequest.implicitRules\":\"uri\",\"MedicationRequest.instantiatesCanonical\":\"canonical\",\"MedicationRequest.instantiatesUri\":\"uri\",\"MedicationRequest.insurance\":\"Reference\",\"MedicationRequest.intent\":\"code\",\"MedicationRequest.language\":\"code\",\"MedicationRequest.medicationCodeableConcept\":\"CodeableConcept\",\"MedicationRequest.medicationReference\":\"Reference\",\"MedicationRequest.meta\":\"Meta\",\"MedicationRequest.modifierExtension\":\"Extension\",\"MedicationRequest.note\":\"Annotation\",\"MedicationRequest.performer\":\"Reference\",\"MedicationRequest.performerType\":\"CodeableConcept\",\"MedicationRequest.priorPrescription\":\"Reference\",\"MedicationRequest.priority\":\"code\",\"MedicationRequest.reasonCode\":\"CodeableConcept\",\"MedicationRequest.reasonReference\":\"Reference\",\"MedicationRequest.recorder\":\"Reference\",\"MedicationRequest.reportedBoolean\":\"boolean\",\"MedicationRequest.reportedReference\":\"Reference\",\"MedicationRequest.requester\":\"Reference\",\"MedicationRequest.status\":\"code\",\"MedicationRequest.statusReason\":\"CodeableConcept\",\"MedicationRequest.subject\":\"Reference\",\"MedicationRequest.substitution.allowedBoolean\":\"boolean\",\"MedicationRequest.substitution.allowedCodeableConcept\":\"CodeableConcept\",\"MedicationRequest.substitution.extension\":\"Extension\",\"MedicationRequest.substitution.id\":\"System.String\",\"MedicationRequest.substitution.modifierExtension\":\"Extension\",\"MedicationRequest.substitution.reason\":\"CodeableConcept\",\"MedicationRequest.supportingInformation\":\"Reference\",\"MedicationRequest.text\":\"Narrative\",\"MedicationStatement.basedOn\":\"Reference\",\"MedicationStatement.category\":\"CodeableConcept\",\"MedicationStatement.contained\":\"Resource\",\"MedicationStatement.context\":\"Reference\",\"MedicationStatement.dateAsserted\":\"dateTime\",\"MedicationStatement.derivedFrom\":\"Reference\",\"MedicationStatement.dosage\":\"Dosage\",\"MedicationStatement.effectiveDateTime\":\"dateTime\",\"MedicationStatement.effectivePeriod\":\"Period\",\"MedicationStatement.extension\":\"Extension\",\"MedicationStatement.id\":\"System.String\",\"MedicationStatement.identifier\":\"Identifier\",\"MedicationStatement.implicitRules\":\"uri\",\"MedicationStatement.informationSource\":\"Reference\",\"MedicationStatement.language\":\"code\",\"MedicationStatement.medicationCodeableConcept\":\"CodeableConcept\",\"MedicationStatement.medicationReference\":\"Reference\",\"MedicationStatement.meta\":\"Meta\",\"MedicationStatement.modifierExtension\":\"Extension\",\"MedicationStatement.note\":\"Annotation\",\"MedicationStatement.partOf\":\"Reference\",\"MedicationStatement.reasonCode\":\"CodeableConcept\",\"MedicationStatement.reasonReference\":\"Reference\",\"MedicationStatement.status\":\"code\",\"MedicationStatement.statusReason\":\"CodeableConcept\",\"MedicationStatement.subject\":\"Reference\",\"MedicationStatement.text\":\"Narrative\",\"MedicinalProduct.additionalMonitoringIndicator\":\"CodeableConcept\",\"MedicinalProduct.attachedDocument\":\"Reference\",\"MedicinalProduct.clinicalTrial\":\"Reference\",\"MedicinalProduct.combinedPharmaceuticalDoseForm\":\"CodeableConcept\",\"MedicinalProduct.contact\":\"Reference\",\"MedicinalProduct.contained\":\"Resource\",\"MedicinalProduct.crossReference\":\"Identifier\",\"MedicinalProduct.domain\":\"Coding\",\"MedicinalProduct.extension\":\"Extension\",\"MedicinalProduct.id\":\"System.String\",\"MedicinalProduct.identifier\":\"Identifier\",\"MedicinalProduct.implicitRules\":\"uri\",\"MedicinalProduct.language\":\"code\",\"MedicinalProduct.legalStatusOfSupply\":\"CodeableConcept\",\"MedicinalProduct.manufacturingBusinessOperation.authorisationReferenceNumber\":\"Identifier\",\"MedicinalProduct.manufacturingBusinessOperation.confidentialityIndicator\":\"CodeableConcept\",\"MedicinalProduct.manufacturingBusinessOperation.effectiveDate\":\"dateTime\",\"MedicinalProduct.manufacturingBusinessOperation.extension\":\"Extension\",\"MedicinalProduct.manufacturingBusinessOperation.id\":\"System.String\",\"MedicinalProduct.manufacturingBusinessOperation.manufacturer\":\"Reference\",\"MedicinalProduct.manufacturingBusinessOperation.modifierExtension\":\"Extension\",\"MedicinalProduct.manufacturingBusinessOperation.operationType\":\"CodeableConcept\",\"MedicinalProduct.manufacturingBusinessOperation.regulator\":\"Reference\",\"MedicinalProduct.marketingStatus\":\"MarketingStatus\",\"MedicinalProduct.masterFile\":\"Reference\",\"MedicinalProduct.meta\":\"Meta\",\"MedicinalProduct.modifierExtension\":\"Extension\",\"MedicinalProduct.name.countryLanguage.country\":\"CodeableConcept\",\"MedicinalProduct.name.countryLanguage.extension\":\"Extension\",\"MedicinalProduct.name.countryLanguage.id\":\"System.String\",\"MedicinalProduct.name.countryLanguage.jurisdiction\":\"CodeableConcept\",\"MedicinalProduct.name.countryLanguage.language\":\"CodeableConcept\",\"MedicinalProduct.name.countryLanguage.modifierExtension\":\"Extension\",\"MedicinalProduct.name.extension\":\"Extension\",\"MedicinalProduct.name.id\":\"System.String\",\"MedicinalProduct.name.modifierExtension\":\"Extension\",\"MedicinalProduct.name.namePart.extension\":\"Extension\",\"MedicinalProduct.name.namePart.id\":\"System.String\",\"MedicinalProduct.name.namePart.modifierExtension\":\"Extension\",\"MedicinalProduct.name.namePart.part\":\"string\",\"MedicinalProduct.name.namePart.type\":\"Coding\",\"MedicinalProduct.name.productName\":\"string\",\"MedicinalProduct.packagedMedicinalProduct\":\"Reference\",\"MedicinalProduct.paediatricUseIndicator\":\"CodeableConcept\",\"MedicinalProduct.pharmaceuticalProduct\":\"Reference\",\"MedicinalProduct.productClassification\":\"CodeableConcept\",\"MedicinalProduct.specialDesignation.date\":\"dateTime\",\"MedicinalProduct.specialDesignation.extension\":\"Extension\",\"MedicinalProduct.specialDesignation.id\":\"System.String\",\"MedicinalProduct.specialDesignation.identifier\":\"Identifier\",\"MedicinalProduct.specialDesignation.indicationCodeableConcept\":\"CodeableConcept\",\"MedicinalProduct.specialDesignation.indicationReference\":\"Reference\",\"MedicinalProduct.specialDesignation.intendedUse\":\"CodeableConcept\",\"MedicinalProduct.specialDesignation.modifierExtension\":\"Extension\",\"MedicinalProduct.specialDesignation.species\":\"CodeableConcept\",\"MedicinalProduct.specialDesignation.status\":\"CodeableConcept\",\"MedicinalProduct.specialDesignation.type\":\"CodeableConcept\",\"MedicinalProduct.specialMeasures\":\"string\",\"MedicinalProduct.text\":\"Narrative\",\"MedicinalProduct.type\":\"CodeableConcept\",\"MedicinalProductAuthorization.contained\":\"Resource\",\"MedicinalProductAuthorization.country\":\"CodeableConcept\",\"MedicinalProductAuthorization.dataExclusivityPeriod\":\"Period\",\"MedicinalProductAuthorization.dateOfFirstAuthorization\":\"dateTime\",\"MedicinalProductAuthorization.extension\":\"Extension\",\"MedicinalProductAuthorization.holder\":\"Reference\",\"MedicinalProductAuthorization.id\":\"System.String\",\"MedicinalProductAuthorization.identifier\":\"Identifier\",\"MedicinalProductAuthorization.implicitRules\":\"uri\",\"MedicinalProductAuthorization.internationalBirthDate\":\"dateTime\",\"MedicinalProductAuthorization.jurisdiction\":\"CodeableConcept\",\"MedicinalProductAuthorization.jurisdictionalAuthorization.country\":\"CodeableConcept\",\"MedicinalProductAuthorization.jurisdictionalAuthorization.extension\":\"Extension\",\"MedicinalProductAuthorization.jurisdictionalAuthorization.id\":\"System.String\",\"MedicinalProductAuthorization.jurisdictionalAuthorization.identifier\":\"Identifier\",\"MedicinalProductAuthorization.jurisdictionalAuthorization.jurisdiction\":\"CodeableConcept\",\"MedicinalProductAuthorization.jurisdictionalAuthorization.legalStatusOfSupply\":\"CodeableConcept\",\"MedicinalProductAuthorization.jurisdictionalAuthorization.modifierExtension\":\"Extension\",\"MedicinalProductAuthorization.jurisdictionalAuthorization.validityPeriod\":\"Period\",\"MedicinalProductAuthorization.language\":\"code\",\"MedicinalProductAuthorization.legalBasis\":\"CodeableConcept\",\"MedicinalProductAuthorization.meta\":\"Meta\",\"MedicinalProductAuthorization.modifierExtension\":\"Extension\",\"MedicinalProductAuthorization.procedure.dateDateTime\":\"dateTime\",\"MedicinalProductAuthorization.procedure.datePeriod\":\"Period\",\"MedicinalProductAuthorization.procedure.extension\":\"Extension\",\"MedicinalProductAuthorization.procedure.id\":\"System.String\",\"MedicinalProductAuthorization.procedure.identifier\":\"Identifier\",\"MedicinalProductAuthorization.procedure.modifierExtension\":\"Extension\",\"MedicinalProductAuthorization.procedure.type\":\"CodeableConcept\",\"MedicinalProductAuthorization.regulator\":\"Reference\",\"MedicinalProductAuthorization.restoreDate\":\"dateTime\",\"MedicinalProductAuthorization.status\":\"CodeableConcept\",\"MedicinalProductAuthorization.statusDate\":\"dateTime\",\"MedicinalProductAuthorization.subject\":\"Reference\",\"MedicinalProductAuthorization.text\":\"Narrative\",\"MedicinalProductAuthorization.validityPeriod\":\"Period\",\"MedicinalProductContraindication.comorbidity\":\"CodeableConcept\",\"MedicinalProductContraindication.contained\":\"Resource\",\"MedicinalProductContraindication.disease\":\"CodeableConcept\",\"MedicinalProductContraindication.diseaseStatus\":\"CodeableConcept\",\"MedicinalProductContraindication.extension\":\"Extension\",\"MedicinalProductContraindication.id\":\"System.String\",\"MedicinalProductContraindication.implicitRules\":\"uri\",\"MedicinalProductContraindication.language\":\"code\",\"MedicinalProductContraindication.meta\":\"Meta\",\"MedicinalProductContraindication.modifierExtension\":\"Extension\",\"MedicinalProductContraindication.otherTherapy.extension\":\"Extension\",\"MedicinalProductContraindication.otherTherapy.id\":\"System.String\",\"MedicinalProductContraindication.otherTherapy.medicationCodeableConcept\":\"CodeableConcept\",\"MedicinalProductContraindication.otherTherapy.medicationReference\":\"Reference\",\"MedicinalProductContraindication.otherTherapy.modifierExtension\":\"Extension\",\"MedicinalProductContraindication.otherTherapy.therapyRelationshipType\":\"CodeableConcept\",\"MedicinalProductContraindication.population\":\"Population\",\"MedicinalProductContraindication.subject\":\"Reference\",\"MedicinalProductContraindication.text\":\"Narrative\",\"MedicinalProductContraindication.therapeuticIndication\":\"Reference\",\"MedicinalProductIndication.comorbidity\":\"CodeableConcept\",\"MedicinalProductIndication.contained\":\"Resource\",\"MedicinalProductIndication.diseaseStatus\":\"CodeableConcept\",\"MedicinalProductIndication.diseaseSymptomProcedure\":\"CodeableConcept\",\"MedicinalProductIndication.duration\":\"Quantity\",\"MedicinalProductIndication.extension\":\"Extension\",\"MedicinalProductIndication.id\":\"System.String\",\"MedicinalProductIndication.implicitRules\":\"uri\",\"MedicinalProductIndication.intendedEffect\":\"CodeableConcept\",\"MedicinalProductIndication.language\":\"code\",\"MedicinalProductIndication.meta\":\"Meta\",\"MedicinalProductIndication.modifierExtension\":\"Extension\",\"MedicinalProductIndication.otherTherapy.extension\":\"Extension\",\"MedicinalProductIndication.otherTherapy.id\":\"System.String\",\"MedicinalProductIndication.otherTherapy.medicationCodeableConcept\":\"CodeableConcept\",\"MedicinalProductIndication.otherTherapy.medicationReference\":\"Reference\",\"MedicinalProductIndication.otherTherapy.modifierExtension\":\"Extension\",\"MedicinalProductIndication.otherTherapy.therapyRelationshipType\":\"CodeableConcept\",\"MedicinalProductIndication.population\":\"Population\",\"MedicinalProductIndication.subject\":\"Reference\",\"MedicinalProductIndication.text\":\"Narrative\",\"MedicinalProductIndication.undesirableEffect\":\"Reference\",\"MedicinalProductIngredient.allergenicIndicator\":\"boolean\",\"MedicinalProductIngredient.contained\":\"Resource\",\"MedicinalProductIngredient.extension\":\"Extension\",\"MedicinalProductIngredient.id\":\"System.String\",\"MedicinalProductIngredient.identifier\":\"Identifier\",\"MedicinalProductIngredient.implicitRules\":\"uri\",\"MedicinalProductIngredient.language\":\"code\",\"MedicinalProductIngredient.manufacturer\":\"Reference\",\"MedicinalProductIngredient.meta\":\"Meta\",\"MedicinalProductIngredient.modifierExtension\":\"Extension\",\"MedicinalProductIngredient.role\":\"CodeableConcept\",\"MedicinalProductIngredient.specifiedSubstance.code\":\"CodeableConcept\",\"MedicinalProductIngredient.specifiedSubstance.confidentiality\":\"CodeableConcept\",\"MedicinalProductIngredient.specifiedSubstance.extension\":\"Extension\",\"MedicinalProductIngredient.specifiedSubstance.group\":\"CodeableConcept\",\"MedicinalProductIngredient.specifiedSubstance.id\":\"System.String\",\"MedicinalProductIngredient.specifiedSubstance.modifierExtension\":\"Extension\",\"MedicinalProductIngredient.specifiedSubstance.strength.concentration\":\"Ratio\",\"MedicinalProductIngredient.specifiedSubstance.strength.concentrationLowLimit\":\"Ratio\",\"MedicinalProductIngredient.specifiedSubstance.strength.country\":\"CodeableConcept\",\"MedicinalProductIngredient.specifiedSubstance.strength.extension\":\"Extension\",\"MedicinalProductIngredient.specifiedSubstance.strength.id\":\"System.String\",\"MedicinalProductIngredient.specifiedSubstance.strength.measurementPoint\":\"string\",\"MedicinalProductIngredient.specifiedSubstance.strength.modifierExtension\":\"Extension\",\"MedicinalProductIngredient.specifiedSubstance.strength.presentation\":\"Ratio\",\"MedicinalProductIngredient.specifiedSubstance.strength.presentationLowLimit\":\"Ratio\",\"MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.country\":\"CodeableConcept\",\"MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.extension\":\"Extension\",\"MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.id\":\"System.String\",\"MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.measurementPoint\":\"string\",\"MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.modifierExtension\":\"Extension\",\"MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.strength\":\"Ratio\",\"MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.strengthLowLimit\":\"Ratio\",\"MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.substance\":\"CodeableConcept\",\"MedicinalProductIngredient.substance.code\":\"CodeableConcept\",\"MedicinalProductIngredient.substance.extension\":\"Extension\",\"MedicinalProductIngredient.substance.id\":\"System.String\",\"MedicinalProductIngredient.substance.modifierExtension\":\"Extension\",\"MedicinalProductIngredient.text\":\"Narrative\",\"MedicinalProductInteraction.contained\":\"Resource\",\"MedicinalProductInteraction.description\":\"string\",\"MedicinalProductInteraction.effect\":\"CodeableConcept\",\"MedicinalProductInteraction.extension\":\"Extension\",\"MedicinalProductInteraction.id\":\"System.String\",\"MedicinalProductInteraction.implicitRules\":\"uri\",\"MedicinalProductInteraction.incidence\":\"CodeableConcept\",\"MedicinalProductInteraction.interactant.extension\":\"Extension\",\"MedicinalProductInteraction.interactant.id\":\"System.String\",\"MedicinalProductInteraction.interactant.itemCodeableConcept\":\"CodeableConcept\",\"MedicinalProductInteraction.interactant.itemReference\":\"Reference\",\"MedicinalProductInteraction.interactant.modifierExtension\":\"Extension\",\"MedicinalProductInteraction.language\":\"code\",\"MedicinalProductInteraction.management\":\"CodeableConcept\",\"MedicinalProductInteraction.meta\":\"Meta\",\"MedicinalProductInteraction.modifierExtension\":\"Extension\",\"MedicinalProductInteraction.subject\":\"Reference\",\"MedicinalProductInteraction.text\":\"Narrative\",\"MedicinalProductInteraction.type\":\"CodeableConcept\",\"MedicinalProductManufactured.contained\":\"Resource\",\"MedicinalProductManufactured.extension\":\"Extension\",\"MedicinalProductManufactured.id\":\"System.String\",\"MedicinalProductManufactured.implicitRules\":\"uri\",\"MedicinalProductManufactured.ingredient\":\"Reference\",\"MedicinalProductManufactured.language\":\"code\",\"MedicinalProductManufactured.manufacturedDoseForm\":\"CodeableConcept\",\"MedicinalProductManufactured.manufacturer\":\"Reference\",\"MedicinalProductManufactured.meta\":\"Meta\",\"MedicinalProductManufactured.modifierExtension\":\"Extension\",\"MedicinalProductManufactured.otherCharacteristics\":\"CodeableConcept\",\"MedicinalProductManufactured.physicalCharacteristics\":\"ProdCharacteristic\",\"MedicinalProductManufactured.quantity\":\"Quantity\",\"MedicinalProductManufactured.text\":\"Narrative\",\"MedicinalProductManufactured.unitOfPresentation\":\"CodeableConcept\",\"MedicinalProductPackaged.batchIdentifier.extension\":\"Extension\",\"MedicinalProductPackaged.batchIdentifier.id\":\"System.String\",\"MedicinalProductPackaged.batchIdentifier.immediatePackaging\":\"Identifier\",\"MedicinalProductPackaged.batchIdentifier.modifierExtension\":\"Extension\",\"MedicinalProductPackaged.batchIdentifier.outerPackaging\":\"Identifier\",\"MedicinalProductPackaged.contained\":\"Resource\",\"MedicinalProductPackaged.description\":\"string\",\"MedicinalProductPackaged.extension\":\"Extension\",\"MedicinalProductPackaged.id\":\"System.String\",\"MedicinalProductPackaged.identifier\":\"Identifier\",\"MedicinalProductPackaged.implicitRules\":\"uri\",\"MedicinalProductPackaged.language\":\"code\",\"MedicinalProductPackaged.legalStatusOfSupply\":\"CodeableConcept\",\"MedicinalProductPackaged.manufacturer\":\"Reference\",\"MedicinalProductPackaged.marketingAuthorization\":\"Reference\",\"MedicinalProductPackaged.marketingStatus\":\"MarketingStatus\",\"MedicinalProductPackaged.meta\":\"Meta\",\"MedicinalProductPackaged.modifierExtension\":\"Extension\",\"MedicinalProductPackaged.packageItem.alternateMaterial\":\"CodeableConcept\",\"MedicinalProductPackaged.packageItem.device\":\"Reference\",\"MedicinalProductPackaged.packageItem.extension\":\"Extension\",\"MedicinalProductPackaged.packageItem.id\":\"System.String\",\"MedicinalProductPackaged.packageItem.identifier\":\"Identifier\",\"MedicinalProductPackaged.packageItem.manufacturedItem\":\"Reference\",\"MedicinalProductPackaged.packageItem.manufacturer\":\"Reference\",\"MedicinalProductPackaged.packageItem.material\":\"CodeableConcept\",\"MedicinalProductPackaged.packageItem.modifierExtension\":\"Extension\",\"MedicinalProductPackaged.packageItem.otherCharacteristics\":\"CodeableConcept\",\"MedicinalProductPackaged.packageItem.physicalCharacteristics\":\"ProdCharacteristic\",\"MedicinalProductPackaged.packageItem.quantity\":\"Quantity\",\"MedicinalProductPackaged.packageItem.shelfLifeStorage\":\"ProductShelfLife\",\"MedicinalProductPackaged.packageItem.type\":\"CodeableConcept\",\"MedicinalProductPackaged.subject\":\"Reference\",\"MedicinalProductPackaged.text\":\"Narrative\",\"MedicinalProductPharmaceutical.administrableDoseForm\":\"CodeableConcept\",\"MedicinalProductPharmaceutical.characteristics.code\":\"CodeableConcept\",\"MedicinalProductPharmaceutical.characteristics.extension\":\"Extension\",\"MedicinalProductPharmaceutical.characteristics.id\":\"System.String\",\"MedicinalProductPharmaceutical.characteristics.modifierExtension\":\"Extension\",\"MedicinalProductPharmaceutical.characteristics.status\":\"CodeableConcept\",\"MedicinalProductPharmaceutical.contained\":\"Resource\",\"MedicinalProductPharmaceutical.device\":\"Reference\",\"MedicinalProductPharmaceutical.extension\":\"Extension\",\"MedicinalProductPharmaceutical.id\":\"System.String\",\"MedicinalProductPharmaceutical.identifier\":\"Identifier\",\"MedicinalProductPharmaceutical.implicitRules\":\"uri\",\"MedicinalProductPharmaceutical.ingredient\":\"Reference\",\"MedicinalProductPharmaceutical.language\":\"code\",\"MedicinalProductPharmaceutical.meta\":\"Meta\",\"MedicinalProductPharmaceutical.modifierExtension\":\"Extension\",\"MedicinalProductPharmaceutical.routeOfAdministration.code\":\"CodeableConcept\",\"MedicinalProductPharmaceutical.routeOfAdministration.extension\":\"Extension\",\"MedicinalProductPharmaceutical.routeOfAdministration.firstDose\":\"Quantity\",\"MedicinalProductPharmaceutical.routeOfAdministration.id\":\"System.String\",\"MedicinalProductPharmaceutical.routeOfAdministration.maxDosePerDay\":\"Quantity\",\"MedicinalProductPharmaceutical.routeOfAdministration.maxDosePerTreatmentPeriod\":\"Ratio\",\"MedicinalProductPharmaceutical.routeOfAdministration.maxSingleDose\":\"Quantity\",\"MedicinalProductPharmaceutical.routeOfAdministration.maxTreatmentPeriod\":\"Duration\",\"MedicinalProductPharmaceutical.routeOfAdministration.modifierExtension\":\"Extension\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.code\":\"CodeableConcept\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.extension\":\"Extension\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.id\":\"System.String\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.modifierExtension\":\"Extension\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.extension\":\"Extension\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.id\":\"System.String\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.modifierExtension\":\"Extension\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.supportingInformation\":\"string\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.tissue\":\"CodeableConcept\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.value\":\"Quantity\",\"MedicinalProductPharmaceutical.text\":\"Narrative\",\"MedicinalProductPharmaceutical.unitOfPresentation\":\"CodeableConcept\",\"MedicinalProductUndesirableEffect.classification\":\"CodeableConcept\",\"MedicinalProductUndesirableEffect.contained\":\"Resource\",\"MedicinalProductUndesirableEffect.extension\":\"Extension\",\"MedicinalProductUndesirableEffect.frequencyOfOccurrence\":\"CodeableConcept\",\"MedicinalProductUndesirableEffect.id\":\"System.String\",\"MedicinalProductUndesirableEffect.implicitRules\":\"uri\",\"MedicinalProductUndesirableEffect.language\":\"code\",\"MedicinalProductUndesirableEffect.meta\":\"Meta\",\"MedicinalProductUndesirableEffect.modifierExtension\":\"Extension\",\"MedicinalProductUndesirableEffect.population\":\"Population\",\"MedicinalProductUndesirableEffect.subject\":\"Reference\",\"MedicinalProductUndesirableEffect.symptomConditionEffect\":\"CodeableConcept\",\"MedicinalProductUndesirableEffect.text\":\"Narrative\",\"MessageDefinition.allowedResponse.extension\":\"Extension\",\"MessageDefinition.allowedResponse.id\":\"System.String\",\"MessageDefinition.allowedResponse.message\":\"canonical\",\"MessageDefinition.allowedResponse.modifierExtension\":\"Extension\",\"MessageDefinition.allowedResponse.situation\":\"markdown\",\"MessageDefinition.base\":\"canonical\",\"MessageDefinition.category\":\"code\",\"MessageDefinition.contact\":\"ContactDetail\",\"MessageDefinition.contained\":\"Resource\",\"MessageDefinition.copyright\":\"markdown\",\"MessageDefinition.date\":\"dateTime\",\"MessageDefinition.description\":\"markdown\",\"MessageDefinition.eventCoding\":\"Coding\",\"MessageDefinition.eventUri\":\"uri\",\"MessageDefinition.experimental\":\"boolean\",\"MessageDefinition.extension\":\"Extension\",\"MessageDefinition.focus.code\":\"code\",\"MessageDefinition.focus.extension\":\"Extension\",\"MessageDefinition.focus.id\":\"System.String\",\"MessageDefinition.focus.max\":\"string\",\"MessageDefinition.focus.min\":\"unsignedInt\",\"MessageDefinition.focus.modifierExtension\":\"Extension\",\"MessageDefinition.focus.profile\":\"canonical\",\"MessageDefinition.graph\":\"canonical\",\"MessageDefinition.id\":\"System.String\",\"MessageDefinition.identifier\":\"Identifier\",\"MessageDefinition.implicitRules\":\"uri\",\"MessageDefinition.jurisdiction\":\"CodeableConcept\",\"MessageDefinition.language\":\"code\",\"MessageDefinition.meta\":\"Meta\",\"MessageDefinition.modifierExtension\":\"Extension\",\"MessageDefinition.name\":\"string\",\"MessageDefinition.parent\":\"canonical\",\"MessageDefinition.publisher\":\"string\",\"MessageDefinition.purpose\":\"markdown\",\"MessageDefinition.replaces\":\"canonical\",\"MessageDefinition.responseRequired\":\"code\",\"MessageDefinition.status\":\"code\",\"MessageDefinition.text\":\"Narrative\",\"MessageDefinition.title\":\"string\",\"MessageDefinition.url\":\"uri\",\"MessageDefinition.useContext\":\"UsageContext\",\"MessageDefinition.version\":\"string\",\"MessageHeader.author\":\"Reference\",\"MessageHeader.contained\":\"Resource\",\"MessageHeader.definition\":\"canonical\",\"MessageHeader.destination.endpoint\":\"url\",\"MessageHeader.destination.extension\":\"Extension\",\"MessageHeader.destination.id\":\"System.String\",\"MessageHeader.destination.modifierExtension\":\"Extension\",\"MessageHeader.destination.name\":\"string\",\"MessageHeader.destination.receiver\":\"Reference\",\"MessageHeader.destination.target\":\"Reference\",\"MessageHeader.enterer\":\"Reference\",\"MessageHeader.eventCoding\":\"Coding\",\"MessageHeader.eventUri\":\"uri\",\"MessageHeader.extension\":\"Extension\",\"MessageHeader.focus\":\"Reference\",\"MessageHeader.id\":\"System.String\",\"MessageHeader.implicitRules\":\"uri\",\"MessageHeader.language\":\"code\",\"MessageHeader.meta\":\"Meta\",\"MessageHeader.modifierExtension\":\"Extension\",\"MessageHeader.reason\":\"CodeableConcept\",\"MessageHeader.response.code\":\"code\",\"MessageHeader.response.details\":\"Reference\",\"MessageHeader.response.extension\":\"Extension\",\"MessageHeader.response.id\":\"System.String\",\"MessageHeader.response.identifier\":\"id\",\"MessageHeader.response.modifierExtension\":\"Extension\",\"MessageHeader.responsible\":\"Reference\",\"MessageHeader.sender\":\"Reference\",\"MessageHeader.source.contact\":\"ContactPoint\",\"MessageHeader.source.endpoint\":\"url\",\"MessageHeader.source.extension\":\"Extension\",\"MessageHeader.source.id\":\"System.String\",\"MessageHeader.source.modifierExtension\":\"Extension\",\"MessageHeader.source.name\":\"string\",\"MessageHeader.source.software\":\"string\",\"MessageHeader.source.version\":\"string\",\"MessageHeader.text\":\"Narrative\",\"Meta.extension\":\"Extension\",\"Meta.id\":\"System.String\",\"Meta.lastUpdated\":\"instant\",\"Meta.profile\":\"canonical\",\"Meta.security\":\"Coding\",\"Meta.source\":\"uri\",\"Meta.tag\":\"Coding\",\"Meta.versionId\":\"id\",\"MetadataResource.contact\":\"ContactDetail\",\"MetadataResource.contained\":\"Resource\",\"MetadataResource.date\":\"dateTime\",\"MetadataResource.description\":\"markdown\",\"MetadataResource.experimental\":\"boolean\",\"MetadataResource.extension\":\"Extension\",\"MetadataResource.id\":\"System.String\",\"MetadataResource.implicitRules\":\"uri\",\"MetadataResource.jurisdiction\":\"CodeableConcept\",\"MetadataResource.language\":\"code\",\"MetadataResource.meta\":\"Meta\",\"MetadataResource.modifierExtension\":\"Extension\",\"MetadataResource.name\":\"string\",\"MetadataResource.publisher\":\"string\",\"MetadataResource.status\":\"code\",\"MetadataResource.text\":\"Narrative\",\"MetadataResource.title\":\"string\",\"MetadataResource.url\":\"uri\",\"MetadataResource.useContext\":\"UsageContext\",\"MetadataResource.version\":\"string\",\"MolecularSequence.contained\":\"Resource\",\"MolecularSequence.coordinateSystem\":\"integer\",\"MolecularSequence.device\":\"Reference\",\"MolecularSequence.extension\":\"Extension\",\"MolecularSequence.id\":\"System.String\",\"MolecularSequence.identifier\":\"Identifier\",\"MolecularSequence.implicitRules\":\"uri\",\"MolecularSequence.language\":\"code\",\"MolecularSequence.meta\":\"Meta\",\"MolecularSequence.modifierExtension\":\"Extension\",\"MolecularSequence.observedSeq\":\"string\",\"MolecularSequence.patient\":\"Reference\",\"MolecularSequence.performer\":\"Reference\",\"MolecularSequence.pointer\":\"Reference\",\"MolecularSequence.quality.end\":\"integer\",\"MolecularSequence.quality.extension\":\"Extension\",\"MolecularSequence.quality.fScore\":\"decimal\",\"MolecularSequence.quality.gtFP\":\"decimal\",\"MolecularSequence.quality.id\":\"System.String\",\"MolecularSequence.quality.method\":\"CodeableConcept\",\"MolecularSequence.quality.modifierExtension\":\"Extension\",\"MolecularSequence.quality.precision\":\"decimal\",\"MolecularSequence.quality.queryFP\":\"decimal\",\"MolecularSequence.quality.queryTP\":\"decimal\",\"MolecularSequence.quality.recall\":\"decimal\",\"MolecularSequence.quality.roc.extension\":\"Extension\",\"MolecularSequence.quality.roc.fMeasure\":\"decimal\",\"MolecularSequence.quality.roc.id\":\"System.String\",\"MolecularSequence.quality.roc.modifierExtension\":\"Extension\",\"MolecularSequence.quality.roc.numFN\":\"integer\",\"MolecularSequence.quality.roc.numFP\":\"integer\",\"MolecularSequence.quality.roc.numTP\":\"integer\",\"MolecularSequence.quality.roc.precision\":\"decimal\",\"MolecularSequence.quality.roc.score\":\"integer\",\"MolecularSequence.quality.roc.sensitivity\":\"decimal\",\"MolecularSequence.quality.score\":\"Quantity\",\"MolecularSequence.quality.standardSequence\":\"CodeableConcept\",\"MolecularSequence.quality.start\":\"integer\",\"MolecularSequence.quality.truthFN\":\"decimal\",\"MolecularSequence.quality.truthTP\":\"decimal\",\"MolecularSequence.quality.type\":\"code\",\"MolecularSequence.quantity\":\"Quantity\",\"MolecularSequence.readCoverage\":\"integer\",\"MolecularSequence.referenceSeq.chromosome\":\"CodeableConcept\",\"MolecularSequence.referenceSeq.extension\":\"Extension\",\"MolecularSequence.referenceSeq.genomeBuild\":\"string\",\"MolecularSequence.referenceSeq.id\":\"System.String\",\"MolecularSequence.referenceSeq.modifierExtension\":\"Extension\",\"MolecularSequence.referenceSeq.orientation\":\"code\",\"MolecularSequence.referenceSeq.referenceSeqId\":\"CodeableConcept\",\"MolecularSequence.referenceSeq.referenceSeqPointer\":\"Reference\",\"MolecularSequence.referenceSeq.referenceSeqString\":\"string\",\"MolecularSequence.referenceSeq.strand\":\"code\",\"MolecularSequence.referenceSeq.windowEnd\":\"integer\",\"MolecularSequence.referenceSeq.windowStart\":\"integer\",\"MolecularSequence.repository.datasetId\":\"string\",\"MolecularSequence.repository.extension\":\"Extension\",\"MolecularSequence.repository.id\":\"System.String\",\"MolecularSequence.repository.modifierExtension\":\"Extension\",\"MolecularSequence.repository.name\":\"string\",\"MolecularSequence.repository.readsetId\":\"string\",\"MolecularSequence.repository.type\":\"code\",\"MolecularSequence.repository.url\":\"uri\",\"MolecularSequence.repository.variantsetId\":\"string\",\"MolecularSequence.specimen\":\"Reference\",\"MolecularSequence.structureVariant.exact\":\"boolean\",\"MolecularSequence.structureVariant.extension\":\"Extension\",\"MolecularSequence.structureVariant.id\":\"System.String\",\"MolecularSequence.structureVariant.inner.end\":\"integer\",\"MolecularSequence.structureVariant.inner.extension\":\"Extension\",\"MolecularSequence.structureVariant.inner.id\":\"System.String\",\"MolecularSequence.structureVariant.inner.modifierExtension\":\"Extension\",\"MolecularSequence.structureVariant.inner.start\":\"integer\",\"MolecularSequence.structureVariant.length\":\"integer\",\"MolecularSequence.structureVariant.modifierExtension\":\"Extension\",\"MolecularSequence.structureVariant.outer.end\":\"integer\",\"MolecularSequence.structureVariant.outer.extension\":\"Extension\",\"MolecularSequence.structureVariant.outer.id\":\"System.String\",\"MolecularSequence.structureVariant.outer.modifierExtension\":\"Extension\",\"MolecularSequence.structureVariant.outer.start\":\"integer\",\"MolecularSequence.structureVariant.variantType\":\"CodeableConcept\",\"MolecularSequence.text\":\"Narrative\",\"MolecularSequence.type\":\"code\",\"MolecularSequence.variant.cigar\":\"string\",\"MolecularSequence.variant.end\":\"integer\",\"MolecularSequence.variant.extension\":\"Extension\",\"MolecularSequence.variant.id\":\"System.String\",\"MolecularSequence.variant.modifierExtension\":\"Extension\",\"MolecularSequence.variant.observedAllele\":\"string\",\"MolecularSequence.variant.referenceAllele\":\"string\",\"MolecularSequence.variant.start\":\"integer\",\"MolecularSequence.variant.variantPointer\":\"Reference\",\"Money.currency\":\"code\",\"Money.extension\":\"Extension\",\"Money.id\":\"System.String\",\"Money.value\":\"decimal\",\"NamingSystem.contact\":\"ContactDetail\",\"NamingSystem.contained\":\"Resource\",\"NamingSystem.date\":\"dateTime\",\"NamingSystem.description\":\"markdown\",\"NamingSystem.extension\":\"Extension\",\"NamingSystem.id\":\"System.String\",\"NamingSystem.implicitRules\":\"uri\",\"NamingSystem.jurisdiction\":\"CodeableConcept\",\"NamingSystem.kind\":\"code\",\"NamingSystem.language\":\"code\",\"NamingSystem.meta\":\"Meta\",\"NamingSystem.modifierExtension\":\"Extension\",\"NamingSystem.name\":\"string\",\"NamingSystem.publisher\":\"string\",\"NamingSystem.responsible\":\"string\",\"NamingSystem.status\":\"code\",\"NamingSystem.text\":\"Narrative\",\"NamingSystem.type\":\"CodeableConcept\",\"NamingSystem.uniqueId.comment\":\"string\",\"NamingSystem.uniqueId.extension\":\"Extension\",\"NamingSystem.uniqueId.id\":\"System.String\",\"NamingSystem.uniqueId.modifierExtension\":\"Extension\",\"NamingSystem.uniqueId.period\":\"Period\",\"NamingSystem.uniqueId.preferred\":\"boolean\",\"NamingSystem.uniqueId.type\":\"code\",\"NamingSystem.uniqueId.value\":\"string\",\"NamingSystem.usage\":\"string\",\"NamingSystem.useContext\":\"UsageContext\",\"Narrative.div\":\"xhtml\",\"Narrative.extension\":\"Extension\",\"Narrative.id\":\"System.String\",\"Narrative.status\":\"code\",\"NutritionOrder.allergyIntolerance\":\"Reference\",\"NutritionOrder.contained\":\"Resource\",\"NutritionOrder.dateTime\":\"dateTime\",\"NutritionOrder.encounter\":\"Reference\",\"NutritionOrder.enteralFormula.additiveProductName\":\"string\",\"NutritionOrder.enteralFormula.additiveType\":\"CodeableConcept\",\"NutritionOrder.enteralFormula.administration.extension\":\"Extension\",\"NutritionOrder.enteralFormula.administration.id\":\"System.String\",\"NutritionOrder.enteralFormula.administration.modifierExtension\":\"Extension\",\"NutritionOrder.enteralFormula.administration.quantity\":\"Quantity\",\"NutritionOrder.enteralFormula.administration.rateQuantity\":\"Quantity\",\"NutritionOrder.enteralFormula.administration.rateRatio\":\"Ratio\",\"NutritionOrder.enteralFormula.administration.schedule\":\"Timing\",\"NutritionOrder.enteralFormula.administrationInstruction\":\"string\",\"NutritionOrder.enteralFormula.baseFormulaProductName\":\"string\",\"NutritionOrder.enteralFormula.baseFormulaType\":\"CodeableConcept\",\"NutritionOrder.enteralFormula.caloricDensity\":\"Quantity\",\"NutritionOrder.enteralFormula.extension\":\"Extension\",\"NutritionOrder.enteralFormula.id\":\"System.String\",\"NutritionOrder.enteralFormula.maxVolumeToDeliver\":\"Quantity\",\"NutritionOrder.enteralFormula.modifierExtension\":\"Extension\",\"NutritionOrder.enteralFormula.routeofAdministration\":\"CodeableConcept\",\"NutritionOrder.excludeFoodModifier\":\"CodeableConcept\",\"NutritionOrder.extension\":\"Extension\",\"NutritionOrder.foodPreferenceModifier\":\"CodeableConcept\",\"NutritionOrder.id\":\"System.String\",\"NutritionOrder.identifier\":\"Identifier\",\"NutritionOrder.implicitRules\":\"uri\",\"NutritionOrder.instantiates\":\"uri\",\"NutritionOrder.instantiatesCanonical\":\"canonical\",\"NutritionOrder.instantiatesUri\":\"uri\",\"NutritionOrder.intent\":\"code\",\"NutritionOrder.language\":\"code\",\"NutritionOrder.meta\":\"Meta\",\"NutritionOrder.modifierExtension\":\"Extension\",\"NutritionOrder.note\":\"Annotation\",\"NutritionOrder.oralDiet.extension\":\"Extension\",\"NutritionOrder.oralDiet.fluidConsistencyType\":\"CodeableConcept\",\"NutritionOrder.oralDiet.id\":\"System.String\",\"NutritionOrder.oralDiet.instruction\":\"string\",\"NutritionOrder.oralDiet.modifierExtension\":\"Extension\",\"NutritionOrder.oralDiet.nutrient.amount\":\"Quantity\",\"NutritionOrder.oralDiet.nutrient.extension\":\"Extension\",\"NutritionOrder.oralDiet.nutrient.id\":\"System.String\",\"NutritionOrder.oralDiet.nutrient.modifier\":\"CodeableConcept\",\"NutritionOrder.oralDiet.nutrient.modifierExtension\":\"Extension\",\"NutritionOrder.oralDiet.schedule\":\"Timing\",\"NutritionOrder.oralDiet.texture.extension\":\"Extension\",\"NutritionOrder.oralDiet.texture.foodType\":\"CodeableConcept\",\"NutritionOrder.oralDiet.texture.id\":\"System.String\",\"NutritionOrder.oralDiet.texture.modifier\":\"CodeableConcept\",\"NutritionOrder.oralDiet.texture.modifierExtension\":\"Extension\",\"NutritionOrder.oralDiet.type\":\"CodeableConcept\",\"NutritionOrder.orderer\":\"Reference\",\"NutritionOrder.patient\":\"Reference\",\"NutritionOrder.status\":\"code\",\"NutritionOrder.supplement.extension\":\"Extension\",\"NutritionOrder.supplement.id\":\"System.String\",\"NutritionOrder.supplement.instruction\":\"string\",\"NutritionOrder.supplement.modifierExtension\":\"Extension\",\"NutritionOrder.supplement.productName\":\"string\",\"NutritionOrder.supplement.quantity\":\"Quantity\",\"NutritionOrder.supplement.schedule\":\"Timing\",\"NutritionOrder.supplement.type\":\"CodeableConcept\",\"NutritionOrder.text\":\"Narrative\",\"Observation.basedOn\":\"Reference\",\"Observation.bodySite\":\"CodeableConcept\",\"Observation.category\":\"CodeableConcept\",\"Observation.code\":\"CodeableConcept\",\"Observation.component.code\":\"CodeableConcept\",\"Observation.component.dataAbsentReason\":\"CodeableConcept\",\"Observation.component.extension\":\"Extension\",\"Observation.component.id\":\"System.String\",\"Observation.component.interpretation\":\"CodeableConcept\",\"Observation.component.modifierExtension\":\"Extension\",\"Observation.component.valueBoolean\":\"boolean\",\"Observation.component.valueCodeableConcept\":\"CodeableConcept\",\"Observation.component.valueDateTime\":\"dateTime\",\"Observation.component.valueInteger\":\"integer\",\"Observation.component.valuePeriod\":\"Period\",\"Observation.component.valueQuantity\":\"Quantity\",\"Observation.component.valueRange\":\"Range\",\"Observation.component.valueRatio\":\"Ratio\",\"Observation.component.valueSampledData\":\"SampledData\",\"Observation.component.valueString\":\"string\",\"Observation.component.valueTime\":\"time\",\"Observation.contained\":\"Resource\",\"Observation.dataAbsentReason\":\"CodeableConcept\",\"Observation.derivedFrom\":\"Reference\",\"Observation.device\":\"Reference\",\"Observation.effectiveDateTime\":\"dateTime\",\"Observation.effectiveInstant\":\"instant\",\"Observation.effectivePeriod\":\"Period\",\"Observation.effectiveTiming\":\"Timing\",\"Observation.encounter\":\"Reference\",\"Observation.extension\":\"Extension\",\"Observation.focus\":\"Reference\",\"Observation.hasMember\":\"Reference\",\"Observation.id\":\"System.String\",\"Observation.identifier\":\"Identifier\",\"Observation.implicitRules\":\"uri\",\"Observation.interpretation\":\"CodeableConcept\",\"Observation.issued\":\"instant\",\"Observation.language\":\"code\",\"Observation.meta\":\"Meta\",\"Observation.method\":\"CodeableConcept\",\"Observation.modifierExtension\":\"Extension\",\"Observation.note\":\"Annotation\",\"Observation.partOf\":\"Reference\",\"Observation.performer\":\"Reference\",\"Observation.referenceRange.age\":\"Range\",\"Observation.referenceRange.appliesTo\":\"CodeableConcept\",\"Observation.referenceRange.extension\":\"Extension\",\"Observation.referenceRange.high\":\"Quantity\",\"Observation.referenceRange.id\":\"System.String\",\"Observation.referenceRange.low\":\"Quantity\",\"Observation.referenceRange.modifierExtension\":\"Extension\",\"Observation.referenceRange.text\":\"string\",\"Observation.referenceRange.type\":\"CodeableConcept\",\"Observation.specimen\":\"Reference\",\"Observation.status\":\"code\",\"Observation.subject\":\"Reference\",\"Observation.text\":\"Narrative\",\"Observation.valueBoolean\":\"boolean\",\"Observation.valueCodeableConcept\":\"CodeableConcept\",\"Observation.valueDateTime\":\"dateTime\",\"Observation.valueInteger\":\"integer\",\"Observation.valuePeriod\":\"Period\",\"Observation.valueQuantity\":\"Quantity\",\"Observation.valueRange\":\"Range\",\"Observation.valueRatio\":\"Ratio\",\"Observation.valueSampledData\":\"SampledData\",\"Observation.valueString\":\"string\",\"Observation.valueTime\":\"time\",\"ObservationDefinition.abnormalCodedValueSet\":\"Reference\",\"ObservationDefinition.category\":\"CodeableConcept\",\"ObservationDefinition.code\":\"CodeableConcept\",\"ObservationDefinition.contained\":\"Resource\",\"ObservationDefinition.criticalCodedValueSet\":\"Reference\",\"ObservationDefinition.extension\":\"Extension\",\"ObservationDefinition.id\":\"System.String\",\"ObservationDefinition.identifier\":\"Identifier\",\"ObservationDefinition.implicitRules\":\"uri\",\"ObservationDefinition.language\":\"code\",\"ObservationDefinition.meta\":\"Meta\",\"ObservationDefinition.method\":\"CodeableConcept\",\"ObservationDefinition.modifierExtension\":\"Extension\",\"ObservationDefinition.multipleResultsAllowed\":\"boolean\",\"ObservationDefinition.normalCodedValueSet\":\"Reference\",\"ObservationDefinition.permittedDataType\":\"code\",\"ObservationDefinition.preferredReportName\":\"string\",\"ObservationDefinition.qualifiedInterval.age\":\"Range\",\"ObservationDefinition.qualifiedInterval.appliesTo\":\"CodeableConcept\",\"ObservationDefinition.qualifiedInterval.category\":\"code\",\"ObservationDefinition.qualifiedInterval.condition\":\"string\",\"ObservationDefinition.qualifiedInterval.context\":\"CodeableConcept\",\"ObservationDefinition.qualifiedInterval.extension\":\"Extension\",\"ObservationDefinition.qualifiedInterval.gender\":\"code\",\"ObservationDefinition.qualifiedInterval.gestationalAge\":\"Range\",\"ObservationDefinition.qualifiedInterval.id\":\"System.String\",\"ObservationDefinition.qualifiedInterval.modifierExtension\":\"Extension\",\"ObservationDefinition.qualifiedInterval.range\":\"Range\",\"ObservationDefinition.quantitativeDetails.conversionFactor\":\"decimal\",\"ObservationDefinition.quantitativeDetails.customaryUnit\":\"CodeableConcept\",\"ObservationDefinition.quantitativeDetails.decimalPrecision\":\"integer\",\"ObservationDefinition.quantitativeDetails.extension\":\"Extension\",\"ObservationDefinition.quantitativeDetails.id\":\"System.String\",\"ObservationDefinition.quantitativeDetails.modifierExtension\":\"Extension\",\"ObservationDefinition.quantitativeDetails.unit\":\"CodeableConcept\",\"ObservationDefinition.text\":\"Narrative\",\"ObservationDefinition.validCodedValueSet\":\"Reference\",\"OperationDefinition.affectsState\":\"boolean\",\"OperationDefinition.base\":\"canonical\",\"OperationDefinition.code\":\"code\",\"OperationDefinition.comment\":\"markdown\",\"OperationDefinition.contact\":\"ContactDetail\",\"OperationDefinition.contained\":\"Resource\",\"OperationDefinition.date\":\"dateTime\",\"OperationDefinition.description\":\"markdown\",\"OperationDefinition.experimental\":\"boolean\",\"OperationDefinition.extension\":\"Extension\",\"OperationDefinition.id\":\"System.String\",\"OperationDefinition.implicitRules\":\"uri\",\"OperationDefinition.inputProfile\":\"canonical\",\"OperationDefinition.instance\":\"boolean\",\"OperationDefinition.jurisdiction\":\"CodeableConcept\",\"OperationDefinition.kind\":\"code\",\"OperationDefinition.language\":\"code\",\"OperationDefinition.meta\":\"Meta\",\"OperationDefinition.modifierExtension\":\"Extension\",\"OperationDefinition.name\":\"string\",\"OperationDefinition.outputProfile\":\"canonical\",\"OperationDefinition.overload.comment\":\"string\",\"OperationDefinition.overload.extension\":\"Extension\",\"OperationDefinition.overload.id\":\"System.String\",\"OperationDefinition.overload.modifierExtension\":\"Extension\",\"OperationDefinition.overload.parameterName\":\"string\",\"OperationDefinition.parameter.binding.extension\":\"Extension\",\"OperationDefinition.parameter.binding.id\":\"System.String\",\"OperationDefinition.parameter.binding.modifierExtension\":\"Extension\",\"OperationDefinition.parameter.binding.strength\":\"code\",\"OperationDefinition.parameter.binding.valueSet\":\"canonical\",\"OperationDefinition.parameter.documentation\":\"string\",\"OperationDefinition.parameter.extension\":\"Extension\",\"OperationDefinition.parameter.id\":\"System.String\",\"OperationDefinition.parameter.max\":\"string\",\"OperationDefinition.parameter.min\":\"integer\",\"OperationDefinition.parameter.modifierExtension\":\"Extension\",\"OperationDefinition.parameter.name\":\"code\",\"OperationDefinition.parameter.referencedFrom.extension\":\"Extension\",\"OperationDefinition.parameter.referencedFrom.id\":\"System.String\",\"OperationDefinition.parameter.referencedFrom.modifierExtension\":\"Extension\",\"OperationDefinition.parameter.referencedFrom.source\":\"string\",\"OperationDefinition.parameter.referencedFrom.sourceId\":\"string\",\"OperationDefinition.parameter.searchType\":\"code\",\"OperationDefinition.parameter.targetProfile\":\"canonical\",\"OperationDefinition.parameter.type\":\"code\",\"OperationDefinition.parameter.use\":\"code\",\"OperationDefinition.publisher\":\"string\",\"OperationDefinition.purpose\":\"markdown\",\"OperationDefinition.resource\":\"code\",\"OperationDefinition.status\":\"code\",\"OperationDefinition.system\":\"boolean\",\"OperationDefinition.text\":\"Narrative\",\"OperationDefinition.title\":\"string\",\"OperationDefinition.type\":\"boolean\",\"OperationDefinition.url\":\"uri\",\"OperationDefinition.useContext\":\"UsageContext\",\"OperationDefinition.version\":\"string\",\"OperationOutcome.contained\":\"Resource\",\"OperationOutcome.extension\":\"Extension\",\"OperationOutcome.id\":\"System.String\",\"OperationOutcome.implicitRules\":\"uri\",\"OperationOutcome.issue.code\":\"code\",\"OperationOutcome.issue.details\":\"CodeableConcept\",\"OperationOutcome.issue.diagnostics\":\"string\",\"OperationOutcome.issue.expression\":\"string\",\"OperationOutcome.issue.extension\":\"Extension\",\"OperationOutcome.issue.id\":\"System.String\",\"OperationOutcome.issue.location\":\"string\",\"OperationOutcome.issue.modifierExtension\":\"Extension\",\"OperationOutcome.issue.severity\":\"code\",\"OperationOutcome.language\":\"code\",\"OperationOutcome.meta\":\"Meta\",\"OperationOutcome.modifierExtension\":\"Extension\",\"OperationOutcome.text\":\"Narrative\",\"Organization.active\":\"boolean\",\"Organization.address\":\"Address\",\"Organization.alias\":\"string\",\"Organization.contact.address\":\"Address\",\"Organization.contact.extension\":\"Extension\",\"Organization.contact.id\":\"System.String\",\"Organization.contact.modifierExtension\":\"Extension\",\"Organization.contact.name\":\"HumanName\",\"Organization.contact.purpose\":\"CodeableConcept\",\"Organization.contact.telecom\":\"ContactPoint\",\"Organization.contained\":\"Resource\",\"Organization.endpoint\":\"Reference\",\"Organization.extension\":\"Extension\",\"Organization.id\":\"System.String\",\"Organization.identifier\":\"Identifier\",\"Organization.implicitRules\":\"uri\",\"Organization.language\":\"code\",\"Organization.meta\":\"Meta\",\"Organization.modifierExtension\":\"Extension\",\"Organization.name\":\"string\",\"Organization.partOf\":\"Reference\",\"Organization.telecom\":\"ContactPoint\",\"Organization.text\":\"Narrative\",\"Organization.type\":\"CodeableConcept\",\"OrganizationAffiliation.active\":\"boolean\",\"OrganizationAffiliation.code\":\"CodeableConcept\",\"OrganizationAffiliation.contained\":\"Resource\",\"OrganizationAffiliation.endpoint\":\"Reference\",\"OrganizationAffiliation.extension\":\"Extension\",\"OrganizationAffiliation.healthcareService\":\"Reference\",\"OrganizationAffiliation.id\":\"System.String\",\"OrganizationAffiliation.identifier\":\"Identifier\",\"OrganizationAffiliation.implicitRules\":\"uri\",\"OrganizationAffiliation.language\":\"code\",\"OrganizationAffiliation.location\":\"Reference\",\"OrganizationAffiliation.meta\":\"Meta\",\"OrganizationAffiliation.modifierExtension\":\"Extension\",\"OrganizationAffiliation.network\":\"Reference\",\"OrganizationAffiliation.organization\":\"Reference\",\"OrganizationAffiliation.participatingOrganization\":\"Reference\",\"OrganizationAffiliation.period\":\"Period\",\"OrganizationAffiliation.specialty\":\"CodeableConcept\",\"OrganizationAffiliation.telecom\":\"ContactPoint\",\"OrganizationAffiliation.text\":\"Narrative\",\"ParameterDefinition.documentation\":\"string\",\"ParameterDefinition.extension\":\"Extension\",\"ParameterDefinition.id\":\"System.String\",\"ParameterDefinition.max\":\"string\",\"ParameterDefinition.min\":\"integer\",\"ParameterDefinition.name\":\"code\",\"ParameterDefinition.profile\":\"canonical\",\"ParameterDefinition.type\":\"code\",\"ParameterDefinition.use\":\"code\",\"Parameters.id\":\"System.String\",\"Parameters.implicitRules\":\"uri\",\"Parameters.language\":\"code\",\"Parameters.meta\":\"Meta\",\"Parameters.parameter.extension\":\"Extension\",\"Parameters.parameter.id\":\"System.String\",\"Parameters.parameter.modifierExtension\":\"Extension\",\"Parameters.parameter.name\":\"string\",\"Parameters.parameter.resource\":\"Resource\",\"Parameters.parameter.valueAddress\":\"Address\",\"Parameters.parameter.valueAge\":\"Age\",\"Parameters.parameter.valueAnnotation\":\"Annotation\",\"Parameters.parameter.valueAttachment\":\"Attachment\",\"Parameters.parameter.valueBase64Binary\":\"base64Binary\",\"Parameters.parameter.valueBoolean\":\"boolean\",\"Parameters.parameter.valueCanonical\":\"canonical\",\"Parameters.parameter.valueCode\":\"code\",\"Parameters.parameter.valueCodeableConcept\":\"CodeableConcept\",\"Parameters.parameter.valueCoding\":\"Coding\",\"Parameters.parameter.valueContactDetail\":\"ContactDetail\",\"Parameters.parameter.valueContactPoint\":\"ContactPoint\",\"Parameters.parameter.valueContributor\":\"Contributor\",\"Parameters.parameter.valueCount\":\"Count\",\"Parameters.parameter.valueDataRequirement\":\"DataRequirement\",\"Parameters.parameter.valueDate\":\"date\",\"Parameters.parameter.valueDateTime\":\"dateTime\",\"Parameters.parameter.valueDecimal\":\"decimal\",\"Parameters.parameter.valueDistance\":\"Distance\",\"Parameters.parameter.valueDosage\":\"Dosage\",\"Parameters.parameter.valueDuration\":\"Duration\",\"Parameters.parameter.valueExpression\":\"Expression\",\"Parameters.parameter.valueHumanName\":\"HumanName\",\"Parameters.parameter.valueId\":\"id\",\"Parameters.parameter.valueIdentifier\":\"Identifier\",\"Parameters.parameter.valueInstant\":\"instant\",\"Parameters.parameter.valueInteger\":\"integer\",\"Parameters.parameter.valueMarkdown\":\"markdown\",\"Parameters.parameter.valueMeta\":\"Meta\",\"Parameters.parameter.valueMoney\":\"Money\",\"Parameters.parameter.valueOid\":\"oid\",\"Parameters.parameter.valueParameterDefinition\":\"ParameterDefinition\",\"Parameters.parameter.valuePeriod\":\"Period\",\"Parameters.parameter.valuePositiveInt\":\"positiveInt\",\"Parameters.parameter.valueQuantity\":\"Quantity\",\"Parameters.parameter.valueRange\":\"Range\",\"Parameters.parameter.valueRatio\":\"Ratio\",\"Parameters.parameter.valueReference\":\"Reference\",\"Parameters.parameter.valueRelatedArtifact\":\"RelatedArtifact\",\"Parameters.parameter.valueSampledData\":\"SampledData\",\"Parameters.parameter.valueSignature\":\"Signature\",\"Parameters.parameter.valueString\":\"string\",\"Parameters.parameter.valueTime\":\"time\",\"Parameters.parameter.valueTiming\":\"Timing\",\"Parameters.parameter.valueTriggerDefinition\":\"TriggerDefinition\",\"Parameters.parameter.valueUnsignedInt\":\"unsignedInt\",\"Parameters.parameter.valueUri\":\"uri\",\"Parameters.parameter.valueUrl\":\"url\",\"Parameters.parameter.valueUsageContext\":\"UsageContext\",\"Parameters.parameter.valueUuid\":\"uuid\",\"Patient.active\":\"boolean\",\"Patient.address\":\"Address\",\"Patient.birthDate\":\"date\",\"Patient.communication.extension\":\"Extension\",\"Patient.communication.id\":\"System.String\",\"Patient.communication.language\":\"CodeableConcept\",\"Patient.communication.modifierExtension\":\"Extension\",\"Patient.communication.preferred\":\"boolean\",\"Patient.contact.address\":\"Address\",\"Patient.contact.extension\":\"Extension\",\"Patient.contact.gender\":\"code\",\"Patient.contact.id\":\"System.String\",\"Patient.contact.modifierExtension\":\"Extension\",\"Patient.contact.name\":\"HumanName\",\"Patient.contact.organization\":\"Reference\",\"Patient.contact.period\":\"Period\",\"Patient.contact.relationship\":\"CodeableConcept\",\"Patient.contact.telecom\":\"ContactPoint\",\"Patient.contained\":\"Resource\",\"Patient.deceasedBoolean\":\"boolean\",\"Patient.deceasedDateTime\":\"dateTime\",\"Patient.extension\":\"Extension\",\"Patient.gender\":\"code\",\"Patient.generalPractitioner\":\"Reference\",\"Patient.id\":\"System.String\",\"Patient.identifier\":\"Identifier\",\"Patient.implicitRules\":\"uri\",\"Patient.language\":\"code\",\"Patient.link.extension\":\"Extension\",\"Patient.link.id\":\"System.String\",\"Patient.link.modifierExtension\":\"Extension\",\"Patient.link.other\":\"Reference\",\"Patient.link.type\":\"code\",\"Patient.managingOrganization\":\"Reference\",\"Patient.maritalStatus\":\"CodeableConcept\",\"Patient.meta\":\"Meta\",\"Patient.modifierExtension\":\"Extension\",\"Patient.multipleBirthBoolean\":\"boolean\",\"Patient.multipleBirthInteger\":\"integer\",\"Patient.name\":\"HumanName\",\"Patient.photo\":\"Attachment\",\"Patient.telecom\":\"ContactPoint\",\"Patient.text\":\"Narrative\",\"PaymentNotice.amount\":\"Money\",\"PaymentNotice.contained\":\"Resource\",\"PaymentNotice.created\":\"dateTime\",\"PaymentNotice.extension\":\"Extension\",\"PaymentNotice.id\":\"System.String\",\"PaymentNotice.identifier\":\"Identifier\",\"PaymentNotice.implicitRules\":\"uri\",\"PaymentNotice.language\":\"code\",\"PaymentNotice.meta\":\"Meta\",\"PaymentNotice.modifierExtension\":\"Extension\",\"PaymentNotice.payee\":\"Reference\",\"PaymentNotice.payment\":\"Reference\",\"PaymentNotice.paymentDate\":\"date\",\"PaymentNotice.paymentStatus\":\"CodeableConcept\",\"PaymentNotice.provider\":\"Reference\",\"PaymentNotice.recipient\":\"Reference\",\"PaymentNotice.request\":\"Reference\",\"PaymentNotice.response\":\"Reference\",\"PaymentNotice.status\":\"code\",\"PaymentNotice.text\":\"Narrative\",\"PaymentReconciliation.contained\":\"Resource\",\"PaymentReconciliation.created\":\"dateTime\",\"PaymentReconciliation.detail.amount\":\"Money\",\"PaymentReconciliation.detail.date\":\"date\",\"PaymentReconciliation.detail.extension\":\"Extension\",\"PaymentReconciliation.detail.id\":\"System.String\",\"PaymentReconciliation.detail.identifier\":\"Identifier\",\"PaymentReconciliation.detail.modifierExtension\":\"Extension\",\"PaymentReconciliation.detail.payee\":\"Reference\",\"PaymentReconciliation.detail.predecessor\":\"Identifier\",\"PaymentReconciliation.detail.request\":\"Reference\",\"PaymentReconciliation.detail.response\":\"Reference\",\"PaymentReconciliation.detail.responsible\":\"Reference\",\"PaymentReconciliation.detail.submitter\":\"Reference\",\"PaymentReconciliation.detail.type\":\"CodeableConcept\",\"PaymentReconciliation.disposition\":\"string\",\"PaymentReconciliation.extension\":\"Extension\",\"PaymentReconciliation.formCode\":\"CodeableConcept\",\"PaymentReconciliation.id\":\"System.String\",\"PaymentReconciliation.identifier\":\"Identifier\",\"PaymentReconciliation.implicitRules\":\"uri\",\"PaymentReconciliation.language\":\"code\",\"PaymentReconciliation.meta\":\"Meta\",\"PaymentReconciliation.modifierExtension\":\"Extension\",\"PaymentReconciliation.outcome\":\"code\",\"PaymentReconciliation.paymentAmount\":\"Money\",\"PaymentReconciliation.paymentDate\":\"date\",\"PaymentReconciliation.paymentIdentifier\":\"Identifier\",\"PaymentReconciliation.paymentIssuer\":\"Reference\",\"PaymentReconciliation.period\":\"Period\",\"PaymentReconciliation.processNote.extension\":\"Extension\",\"PaymentReconciliation.processNote.id\":\"System.String\",\"PaymentReconciliation.processNote.modifierExtension\":\"Extension\",\"PaymentReconciliation.processNote.text\":\"string\",\"PaymentReconciliation.processNote.type\":\"code\",\"PaymentReconciliation.request\":\"Reference\",\"PaymentReconciliation.requestor\":\"Reference\",\"PaymentReconciliation.status\":\"code\",\"PaymentReconciliation.text\":\"Narrative\",\"Period.end\":\"dateTime\",\"Period.extension\":\"Extension\",\"Period.id\":\"System.String\",\"Period.start\":\"dateTime\",\"Person.active\":\"boolean\",\"Person.address\":\"Address\",\"Person.birthDate\":\"date\",\"Person.contained\":\"Resource\",\"Person.extension\":\"Extension\",\"Person.gender\":\"code\",\"Person.id\":\"System.String\",\"Person.identifier\":\"Identifier\",\"Person.implicitRules\":\"uri\",\"Person.language\":\"code\",\"Person.link.assurance\":\"code\",\"Person.link.extension\":\"Extension\",\"Person.link.id\":\"System.String\",\"Person.link.modifierExtension\":\"Extension\",\"Person.link.target\":\"Reference\",\"Person.managingOrganization\":\"Reference\",\"Person.meta\":\"Meta\",\"Person.modifierExtension\":\"Extension\",\"Person.name\":\"HumanName\",\"Person.photo\":\"Attachment\",\"Person.telecom\":\"ContactPoint\",\"Person.text\":\"Narrative\",\"PlanDefinition.action.cardinalityBehavior\":\"code\",\"PlanDefinition.action.code\":\"CodeableConcept\",\"PlanDefinition.action.condition.expression\":\"Expression\",\"PlanDefinition.action.condition.extension\":\"Extension\",\"PlanDefinition.action.condition.id\":\"System.String\",\"PlanDefinition.action.condition.kind\":\"code\",\"PlanDefinition.action.condition.modifierExtension\":\"Extension\",\"PlanDefinition.action.definitionCanonical\":\"canonical\",\"PlanDefinition.action.definitionUri\":\"uri\",\"PlanDefinition.action.description\":\"string\",\"PlanDefinition.action.documentation\":\"RelatedArtifact\",\"PlanDefinition.action.dynamicValue.expression\":\"Expression\",\"PlanDefinition.action.dynamicValue.extension\":\"Extension\",\"PlanDefinition.action.dynamicValue.id\":\"System.String\",\"PlanDefinition.action.dynamicValue.modifierExtension\":\"Extension\",\"PlanDefinition.action.dynamicValue.path\":\"string\",\"PlanDefinition.action.extension\":\"Extension\",\"PlanDefinition.action.goalId\":\"id\",\"PlanDefinition.action.groupingBehavior\":\"code\",\"PlanDefinition.action.id\":\"System.String\",\"PlanDefinition.action.input\":\"DataRequirement\",\"PlanDefinition.action.modifierExtension\":\"Extension\",\"PlanDefinition.action.output\":\"DataRequirement\",\"PlanDefinition.action.participant.extension\":\"Extension\",\"PlanDefinition.action.participant.id\":\"System.String\",\"PlanDefinition.action.participant.modifierExtension\":\"Extension\",\"PlanDefinition.action.participant.role\":\"CodeableConcept\",\"PlanDefinition.action.participant.type\":\"code\",\"PlanDefinition.action.precheckBehavior\":\"code\",\"PlanDefinition.action.prefix\":\"string\",\"PlanDefinition.action.priority\":\"code\",\"PlanDefinition.action.reason\":\"CodeableConcept\",\"PlanDefinition.action.relatedAction.actionId\":\"id\",\"PlanDefinition.action.relatedAction.extension\":\"Extension\",\"PlanDefinition.action.relatedAction.id\":\"System.String\",\"PlanDefinition.action.relatedAction.modifierExtension\":\"Extension\",\"PlanDefinition.action.relatedAction.offsetDuration\":\"Duration\",\"PlanDefinition.action.relatedAction.offsetRange\":\"Range\",\"PlanDefinition.action.relatedAction.relationship\":\"code\",\"PlanDefinition.action.requiredBehavior\":\"code\",\"PlanDefinition.action.selectionBehavior\":\"code\",\"PlanDefinition.action.subjectCodeableConcept\":\"CodeableConcept\",\"PlanDefinition.action.subjectReference\":\"Reference\",\"PlanDefinition.action.textEquivalent\":\"string\",\"PlanDefinition.action.timingAge\":\"Age\",\"PlanDefinition.action.timingDateTime\":\"dateTime\",\"PlanDefinition.action.timingDuration\":\"Duration\",\"PlanDefinition.action.timingPeriod\":\"Period\",\"PlanDefinition.action.timingRange\":\"Range\",\"PlanDefinition.action.timingTiming\":\"Timing\",\"PlanDefinition.action.title\":\"string\",\"PlanDefinition.action.transform\":\"canonical\",\"PlanDefinition.action.trigger\":\"TriggerDefinition\",\"PlanDefinition.action.type\":\"CodeableConcept\",\"PlanDefinition.approvalDate\":\"date\",\"PlanDefinition.author\":\"ContactDetail\",\"PlanDefinition.contact\":\"ContactDetail\",\"PlanDefinition.contained\":\"Resource\",\"PlanDefinition.copyright\":\"markdown\",\"PlanDefinition.date\":\"dateTime\",\"PlanDefinition.description\":\"markdown\",\"PlanDefinition.editor\":\"ContactDetail\",\"PlanDefinition.effectivePeriod\":\"Period\",\"PlanDefinition.endorser\":\"ContactDetail\",\"PlanDefinition.experimental\":\"boolean\",\"PlanDefinition.extension\":\"Extension\",\"PlanDefinition.goal.addresses\":\"CodeableConcept\",\"PlanDefinition.goal.category\":\"CodeableConcept\",\"PlanDefinition.goal.description\":\"CodeableConcept\",\"PlanDefinition.goal.documentation\":\"RelatedArtifact\",\"PlanDefinition.goal.extension\":\"Extension\",\"PlanDefinition.goal.id\":\"System.String\",\"PlanDefinition.goal.modifierExtension\":\"Extension\",\"PlanDefinition.goal.priority\":\"CodeableConcept\",\"PlanDefinition.goal.start\":\"CodeableConcept\",\"PlanDefinition.goal.target.detailCodeableConcept\":\"CodeableConcept\",\"PlanDefinition.goal.target.detailQuantity\":\"Quantity\",\"PlanDefinition.goal.target.detailRange\":\"Range\",\"PlanDefinition.goal.target.due\":\"Duration\",\"PlanDefinition.goal.target.extension\":\"Extension\",\"PlanDefinition.goal.target.id\":\"System.String\",\"PlanDefinition.goal.target.measure\":\"CodeableConcept\",\"PlanDefinition.goal.target.modifierExtension\":\"Extension\",\"PlanDefinition.id\":\"System.String\",\"PlanDefinition.identifier\":\"Identifier\",\"PlanDefinition.implicitRules\":\"uri\",\"PlanDefinition.jurisdiction\":\"CodeableConcept\",\"PlanDefinition.language\":\"code\",\"PlanDefinition.lastReviewDate\":\"date\",\"PlanDefinition.library\":\"canonical\",\"PlanDefinition.meta\":\"Meta\",\"PlanDefinition.modifierExtension\":\"Extension\",\"PlanDefinition.name\":\"string\",\"PlanDefinition.publisher\":\"string\",\"PlanDefinition.purpose\":\"markdown\",\"PlanDefinition.relatedArtifact\":\"RelatedArtifact\",\"PlanDefinition.reviewer\":\"ContactDetail\",\"PlanDefinition.status\":\"code\",\"PlanDefinition.subjectCodeableConcept\":\"CodeableConcept\",\"PlanDefinition.subjectReference\":\"Reference\",\"PlanDefinition.subtitle\":\"string\",\"PlanDefinition.text\":\"Narrative\",\"PlanDefinition.title\":\"string\",\"PlanDefinition.topic\":\"CodeableConcept\",\"PlanDefinition.type\":\"CodeableConcept\",\"PlanDefinition.url\":\"uri\",\"PlanDefinition.usage\":\"string\",\"PlanDefinition.useContext\":\"UsageContext\",\"PlanDefinition.version\":\"string\",\"Population.ageCodeableConcept\":\"CodeableConcept\",\"Population.ageRange\":\"Range\",\"Population.extension\":\"Extension\",\"Population.gender\":\"CodeableConcept\",\"Population.id\":\"System.String\",\"Population.modifierExtension\":\"Extension\",\"Population.physiologicalCondition\":\"CodeableConcept\",\"Population.race\":\"CodeableConcept\",\"Practitioner.active\":\"boolean\",\"Practitioner.address\":\"Address\",\"Practitioner.birthDate\":\"date\",\"Practitioner.communication\":\"CodeableConcept\",\"Practitioner.contained\":\"Resource\",\"Practitioner.extension\":\"Extension\",\"Practitioner.gender\":\"code\",\"Practitioner.id\":\"System.String\",\"Practitioner.identifier\":\"Identifier\",\"Practitioner.implicitRules\":\"uri\",\"Practitioner.language\":\"code\",\"Practitioner.meta\":\"Meta\",\"Practitioner.modifierExtension\":\"Extension\",\"Practitioner.name\":\"HumanName\",\"Practitioner.photo\":\"Attachment\",\"Practitioner.qualification.code\":\"CodeableConcept\",\"Practitioner.qualification.extension\":\"Extension\",\"Practitioner.qualification.id\":\"System.String\",\"Practitioner.qualification.identifier\":\"Identifier\",\"Practitioner.qualification.issuer\":\"Reference\",\"Practitioner.qualification.modifierExtension\":\"Extension\",\"Practitioner.qualification.period\":\"Period\",\"Practitioner.telecom\":\"ContactPoint\",\"Practitioner.text\":\"Narrative\",\"PractitionerRole.active\":\"boolean\",\"PractitionerRole.availabilityExceptions\":\"string\",\"PractitionerRole.availableTime.allDay\":\"boolean\",\"PractitionerRole.availableTime.availableEndTime\":\"time\",\"PractitionerRole.availableTime.availableStartTime\":\"time\",\"PractitionerRole.availableTime.daysOfWeek\":\"code\",\"PractitionerRole.availableTime.extension\":\"Extension\",\"PractitionerRole.availableTime.id\":\"System.String\",\"PractitionerRole.availableTime.modifierExtension\":\"Extension\",\"PractitionerRole.code\":\"CodeableConcept\",\"PractitionerRole.contained\":\"Resource\",\"PractitionerRole.endpoint\":\"Reference\",\"PractitionerRole.extension\":\"Extension\",\"PractitionerRole.healthcareService\":\"Reference\",\"PractitionerRole.id\":\"System.String\",\"PractitionerRole.identifier\":\"Identifier\",\"PractitionerRole.implicitRules\":\"uri\",\"PractitionerRole.language\":\"code\",\"PractitionerRole.location\":\"Reference\",\"PractitionerRole.meta\":\"Meta\",\"PractitionerRole.modifierExtension\":\"Extension\",\"PractitionerRole.notAvailable.description\":\"string\",\"PractitionerRole.notAvailable.during\":\"Period\",\"PractitionerRole.notAvailable.extension\":\"Extension\",\"PractitionerRole.notAvailable.id\":\"System.String\",\"PractitionerRole.notAvailable.modifierExtension\":\"Extension\",\"PractitionerRole.organization\":\"Reference\",\"PractitionerRole.period\":\"Period\",\"PractitionerRole.practitioner\":\"Reference\",\"PractitionerRole.specialty\":\"CodeableConcept\",\"PractitionerRole.telecom\":\"ContactPoint\",\"PractitionerRole.text\":\"Narrative\",\"Procedure.asserter\":\"Reference\",\"Procedure.basedOn\":\"Reference\",\"Procedure.bodySite\":\"CodeableConcept\",\"Procedure.category\":\"CodeableConcept\",\"Procedure.code\":\"CodeableConcept\",\"Procedure.complication\":\"CodeableConcept\",\"Procedure.complicationDetail\":\"Reference\",\"Procedure.contained\":\"Resource\",\"Procedure.encounter\":\"Reference\",\"Procedure.extension\":\"Extension\",\"Procedure.focalDevice.action\":\"CodeableConcept\",\"Procedure.focalDevice.extension\":\"Extension\",\"Procedure.focalDevice.id\":\"System.String\",\"Procedure.focalDevice.manipulated\":\"Reference\",\"Procedure.focalDevice.modifierExtension\":\"Extension\",\"Procedure.followUp\":\"CodeableConcept\",\"Procedure.id\":\"System.String\",\"Procedure.identifier\":\"Identifier\",\"Procedure.implicitRules\":\"uri\",\"Procedure.instantiatesCanonical\":\"canonical\",\"Procedure.instantiatesUri\":\"uri\",\"Procedure.language\":\"code\",\"Procedure.location\":\"Reference\",\"Procedure.meta\":\"Meta\",\"Procedure.modifierExtension\":\"Extension\",\"Procedure.note\":\"Annotation\",\"Procedure.outcome\":\"CodeableConcept\",\"Procedure.partOf\":\"Reference\",\"Procedure.performedAge\":\"Age\",\"Procedure.performedDateTime\":\"dateTime\",\"Procedure.performedPeriod\":\"Period\",\"Procedure.performedRange\":\"Range\",\"Procedure.performedString\":\"string\",\"Procedure.performer.actor\":\"Reference\",\"Procedure.performer.extension\":\"Extension\",\"Procedure.performer.function\":\"CodeableConcept\",\"Procedure.performer.id\":\"System.String\",\"Procedure.performer.modifierExtension\":\"Extension\",\"Procedure.performer.onBehalfOf\":\"Reference\",\"Procedure.reasonCode\":\"CodeableConcept\",\"Procedure.reasonReference\":\"Reference\",\"Procedure.recorder\":\"Reference\",\"Procedure.report\":\"Reference\",\"Procedure.status\":\"code\",\"Procedure.statusReason\":\"CodeableConcept\",\"Procedure.subject\":\"Reference\",\"Procedure.text\":\"Narrative\",\"Procedure.usedCode\":\"CodeableConcept\",\"Procedure.usedReference\":\"Reference\",\"ProdCharacteristic.color\":\"string\",\"ProdCharacteristic.depth\":\"Quantity\",\"ProdCharacteristic.extension\":\"Extension\",\"ProdCharacteristic.externalDiameter\":\"Quantity\",\"ProdCharacteristic.height\":\"Quantity\",\"ProdCharacteristic.id\":\"System.String\",\"ProdCharacteristic.image\":\"Attachment\",\"ProdCharacteristic.imprint\":\"string\",\"ProdCharacteristic.modifierExtension\":\"Extension\",\"ProdCharacteristic.nominalVolume\":\"Quantity\",\"ProdCharacteristic.scoring\":\"CodeableConcept\",\"ProdCharacteristic.shape\":\"string\",\"ProdCharacteristic.weight\":\"Quantity\",\"ProdCharacteristic.width\":\"Quantity\",\"ProductShelfLife.extension\":\"Extension\",\"ProductShelfLife.id\":\"System.String\",\"ProductShelfLife.identifier\":\"Identifier\",\"ProductShelfLife.modifierExtension\":\"Extension\",\"ProductShelfLife.period\":\"Quantity\",\"ProductShelfLife.specialPrecautionsForStorage\":\"CodeableConcept\",\"ProductShelfLife.type\":\"CodeableConcept\",\"Provenance.activity\":\"CodeableConcept\",\"Provenance.agent.extension\":\"Extension\",\"Provenance.agent.id\":\"System.String\",\"Provenance.agent.modifierExtension\":\"Extension\",\"Provenance.agent.onBehalfOf\":\"Reference\",\"Provenance.agent.role\":\"CodeableConcept\",\"Provenance.agent.type\":\"CodeableConcept\",\"Provenance.agent.who\":\"Reference\",\"Provenance.contained\":\"Resource\",\"Provenance.entity.extension\":\"Extension\",\"Provenance.entity.id\":\"System.String\",\"Provenance.entity.modifierExtension\":\"Extension\",\"Provenance.entity.role\":\"code\",\"Provenance.entity.what\":\"Reference\",\"Provenance.extension\":\"Extension\",\"Provenance.id\":\"System.String\",\"Provenance.implicitRules\":\"uri\",\"Provenance.language\":\"code\",\"Provenance.location\":\"Reference\",\"Provenance.meta\":\"Meta\",\"Provenance.modifierExtension\":\"Extension\",\"Provenance.occurredDateTime\":\"dateTime\",\"Provenance.occurredPeriod\":\"Period\",\"Provenance.policy\":\"uri\",\"Provenance.reason\":\"CodeableConcept\",\"Provenance.recorded\":\"instant\",\"Provenance.signature\":\"Signature\",\"Provenance.target\":\"Reference\",\"Provenance.text\":\"Narrative\",\"Quantity.code\":\"code\",\"Quantity.comparator\":\"code\",\"Quantity.extension\":\"Extension\",\"Quantity.id\":\"System.String\",\"Quantity.system\":\"uri\",\"Quantity.unit\":\"string\",\"Quantity.value\":\"decimal\",\"Questionnaire.approvalDate\":\"date\",\"Questionnaire.code\":\"Coding\",\"Questionnaire.contact\":\"ContactDetail\",\"Questionnaire.contained\":\"Resource\",\"Questionnaire.copyright\":\"markdown\",\"Questionnaire.date\":\"dateTime\",\"Questionnaire.derivedFrom\":\"canonical\",\"Questionnaire.description\":\"markdown\",\"Questionnaire.effectivePeriod\":\"Period\",\"Questionnaire.experimental\":\"boolean\",\"Questionnaire.extension\":\"Extension\",\"Questionnaire.id\":\"System.String\",\"Questionnaire.identifier\":\"Identifier\",\"Questionnaire.implicitRules\":\"uri\",\"Questionnaire.item.answerOption.extension\":\"Extension\",\"Questionnaire.item.answerOption.id\":\"System.String\",\"Questionnaire.item.answerOption.initialSelected\":\"boolean\",\"Questionnaire.item.answerOption.modifierExtension\":\"Extension\",\"Questionnaire.item.answerOption.valueCoding\":\"Coding\",\"Questionnaire.item.answerOption.valueDate\":\"date\",\"Questionnaire.item.answerOption.valueInteger\":\"integer\",\"Questionnaire.item.answerOption.valueReference\":\"Reference\",\"Questionnaire.item.answerOption.valueString\":\"string\",\"Questionnaire.item.answerOption.valueTime\":\"time\",\"Questionnaire.item.answerValueSet\":\"canonical\",\"Questionnaire.item.code\":\"Coding\",\"Questionnaire.item.definition\":\"uri\",\"Questionnaire.item.enableBehavior\":\"code\",\"Questionnaire.item.enableWhen.answerBoolean\":\"boolean\",\"Questionnaire.item.enableWhen.answerCoding\":\"Coding\",\"Questionnaire.item.enableWhen.answerDate\":\"date\",\"Questionnaire.item.enableWhen.answerDateTime\":\"dateTime\",\"Questionnaire.item.enableWhen.answerDecimal\":\"decimal\",\"Questionnaire.item.enableWhen.answerInteger\":\"integer\",\"Questionnaire.item.enableWhen.answerQuantity\":\"Quantity\",\"Questionnaire.item.enableWhen.answerReference\":\"Reference\",\"Questionnaire.item.enableWhen.answerString\":\"string\",\"Questionnaire.item.enableWhen.answerTime\":\"time\",\"Questionnaire.item.enableWhen.extension\":\"Extension\",\"Questionnaire.item.enableWhen.id\":\"System.String\",\"Questionnaire.item.enableWhen.modifierExtension\":\"Extension\",\"Questionnaire.item.enableWhen.operator\":\"code\",\"Questionnaire.item.enableWhen.question\":\"string\",\"Questionnaire.item.extension\":\"Extension\",\"Questionnaire.item.id\":\"System.String\",\"Questionnaire.item.initial.extension\":\"Extension\",\"Questionnaire.item.initial.id\":\"System.String\",\"Questionnaire.item.initial.modifierExtension\":\"Extension\",\"Questionnaire.item.initial.valueAttachment\":\"Attachment\",\"Questionnaire.item.initial.valueBoolean\":\"boolean\",\"Questionnaire.item.initial.valueCoding\":\"Coding\",\"Questionnaire.item.initial.valueDate\":\"date\",\"Questionnaire.item.initial.valueDateTime\":\"dateTime\",\"Questionnaire.item.initial.valueDecimal\":\"decimal\",\"Questionnaire.item.initial.valueInteger\":\"integer\",\"Questionnaire.item.initial.valueQuantity\":\"Quantity\",\"Questionnaire.item.initial.valueReference\":\"Reference\",\"Questionnaire.item.initial.valueString\":\"string\",\"Questionnaire.item.initial.valueTime\":\"time\",\"Questionnaire.item.initial.valueUri\":\"uri\",\"Questionnaire.item.linkId\":\"string\",\"Questionnaire.item.maxLength\":\"integer\",\"Questionnaire.item.modifierExtension\":\"Extension\",\"Questionnaire.item.prefix\":\"string\",\"Questionnaire.item.readOnly\":\"boolean\",\"Questionnaire.item.repeats\":\"boolean\",\"Questionnaire.item.required\":\"boolean\",\"Questionnaire.item.text\":\"string\",\"Questionnaire.item.type\":\"code\",\"Questionnaire.jurisdiction\":\"CodeableConcept\",\"Questionnaire.language\":\"code\",\"Questionnaire.lastReviewDate\":\"date\",\"Questionnaire.meta\":\"Meta\",\"Questionnaire.modifierExtension\":\"Extension\",\"Questionnaire.name\":\"string\",\"Questionnaire.publisher\":\"string\",\"Questionnaire.purpose\":\"markdown\",\"Questionnaire.status\":\"code\",\"Questionnaire.subjectType\":\"code\",\"Questionnaire.text\":\"Narrative\",\"Questionnaire.title\":\"string\",\"Questionnaire.url\":\"uri\",\"Questionnaire.useContext\":\"UsageContext\",\"Questionnaire.version\":\"string\",\"QuestionnaireResponse.author\":\"Reference\",\"QuestionnaireResponse.authored\":\"dateTime\",\"QuestionnaireResponse.basedOn\":\"Reference\",\"QuestionnaireResponse.contained\":\"Resource\",\"QuestionnaireResponse.encounter\":\"Reference\",\"QuestionnaireResponse.extension\":\"Extension\",\"QuestionnaireResponse.id\":\"System.String\",\"QuestionnaireResponse.identifier\":\"Identifier\",\"QuestionnaireResponse.implicitRules\":\"uri\",\"QuestionnaireResponse.item.answer.extension\":\"Extension\",\"QuestionnaireResponse.item.answer.id\":\"System.String\",\"QuestionnaireResponse.item.answer.modifierExtension\":\"Extension\",\"QuestionnaireResponse.item.answer.valueAttachment\":\"Attachment\",\"QuestionnaireResponse.item.answer.valueBoolean\":\"boolean\",\"QuestionnaireResponse.item.answer.valueCoding\":\"Coding\",\"QuestionnaireResponse.item.answer.valueDate\":\"date\",\"QuestionnaireResponse.item.answer.valueDateTime\":\"dateTime\",\"QuestionnaireResponse.item.answer.valueDecimal\":\"decimal\",\"QuestionnaireResponse.item.answer.valueInteger\":\"integer\",\"QuestionnaireResponse.item.answer.valueQuantity\":\"Quantity\",\"QuestionnaireResponse.item.answer.valueReference\":\"Reference\",\"QuestionnaireResponse.item.answer.valueString\":\"string\",\"QuestionnaireResponse.item.answer.valueTime\":\"time\",\"QuestionnaireResponse.item.answer.valueUri\":\"uri\",\"QuestionnaireResponse.item.definition\":\"uri\",\"QuestionnaireResponse.item.extension\":\"Extension\",\"QuestionnaireResponse.item.id\":\"System.String\",\"QuestionnaireResponse.item.linkId\":\"string\",\"QuestionnaireResponse.item.modifierExtension\":\"Extension\",\"QuestionnaireResponse.item.text\":\"string\",\"QuestionnaireResponse.language\":\"code\",\"QuestionnaireResponse.meta\":\"Meta\",\"QuestionnaireResponse.modifierExtension\":\"Extension\",\"QuestionnaireResponse.partOf\":\"Reference\",\"QuestionnaireResponse.questionnaire\":\"canonical\",\"QuestionnaireResponse.source\":\"Reference\",\"QuestionnaireResponse.status\":\"code\",\"QuestionnaireResponse.subject\":\"Reference\",\"QuestionnaireResponse.text\":\"Narrative\",\"Range.extension\":\"Extension\",\"Range.high\":\"Quantity\",\"Range.id\":\"System.String\",\"Range.low\":\"Quantity\",\"Ratio.denominator\":\"Quantity\",\"Ratio.extension\":\"Extension\",\"Ratio.id\":\"System.String\",\"Ratio.numerator\":\"Quantity\",\"Reference.display\":\"string\",\"Reference.extension\":\"Extension\",\"Reference.id\":\"System.String\",\"Reference.identifier\":\"Identifier\",\"Reference.reference\":\"string\",\"Reference.type\":\"uri\",\"RelatedArtifact.citation\":\"markdown\",\"RelatedArtifact.display\":\"string\",\"RelatedArtifact.document\":\"Attachment\",\"RelatedArtifact.extension\":\"Extension\",\"RelatedArtifact.id\":\"System.String\",\"RelatedArtifact.label\":\"string\",\"RelatedArtifact.resource\":\"canonical\",\"RelatedArtifact.type\":\"code\",\"RelatedArtifact.url\":\"url\",\"RelatedPerson.active\":\"boolean\",\"RelatedPerson.address\":\"Address\",\"RelatedPerson.birthDate\":\"date\",\"RelatedPerson.communication.extension\":\"Extension\",\"RelatedPerson.communication.id\":\"System.String\",\"RelatedPerson.communication.language\":\"CodeableConcept\",\"RelatedPerson.communication.modifierExtension\":\"Extension\",\"RelatedPerson.communication.preferred\":\"boolean\",\"RelatedPerson.contained\":\"Resource\",\"RelatedPerson.extension\":\"Extension\",\"RelatedPerson.gender\":\"code\",\"RelatedPerson.id\":\"System.String\",\"RelatedPerson.identifier\":\"Identifier\",\"RelatedPerson.implicitRules\":\"uri\",\"RelatedPerson.language\":\"code\",\"RelatedPerson.meta\":\"Meta\",\"RelatedPerson.modifierExtension\":\"Extension\",\"RelatedPerson.name\":\"HumanName\",\"RelatedPerson.patient\":\"Reference\",\"RelatedPerson.period\":\"Period\",\"RelatedPerson.photo\":\"Attachment\",\"RelatedPerson.relationship\":\"CodeableConcept\",\"RelatedPerson.telecom\":\"ContactPoint\",\"RelatedPerson.text\":\"Narrative\",\"RequestGroup.action.cardinalityBehavior\":\"code\",\"RequestGroup.action.code\":\"CodeableConcept\",\"RequestGroup.action.condition.expression\":\"Expression\",\"RequestGroup.action.condition.extension\":\"Extension\",\"RequestGroup.action.condition.id\":\"System.String\",\"RequestGroup.action.condition.kind\":\"code\",\"RequestGroup.action.condition.modifierExtension\":\"Extension\",\"RequestGroup.action.description\":\"string\",\"RequestGroup.action.documentation\":\"RelatedArtifact\",\"RequestGroup.action.extension\":\"Extension\",\"RequestGroup.action.groupingBehavior\":\"code\",\"RequestGroup.action.id\":\"System.String\",\"RequestGroup.action.modifierExtension\":\"Extension\",\"RequestGroup.action.participant\":\"Reference\",\"RequestGroup.action.precheckBehavior\":\"code\",\"RequestGroup.action.prefix\":\"string\",\"RequestGroup.action.priority\":\"code\",\"RequestGroup.action.relatedAction.actionId\":\"id\",\"RequestGroup.action.relatedAction.extension\":\"Extension\",\"RequestGroup.action.relatedAction.id\":\"System.String\",\"RequestGroup.action.relatedAction.modifierExtension\":\"Extension\",\"RequestGroup.action.relatedAction.offsetDuration\":\"Duration\",\"RequestGroup.action.relatedAction.offsetRange\":\"Range\",\"RequestGroup.action.relatedAction.relationship\":\"code\",\"RequestGroup.action.requiredBehavior\":\"code\",\"RequestGroup.action.resource\":\"Reference\",\"RequestGroup.action.selectionBehavior\":\"code\",\"RequestGroup.action.textEquivalent\":\"string\",\"RequestGroup.action.timingAge\":\"Age\",\"RequestGroup.action.timingDateTime\":\"dateTime\",\"RequestGroup.action.timingDuration\":\"Duration\",\"RequestGroup.action.timingPeriod\":\"Period\",\"RequestGroup.action.timingRange\":\"Range\",\"RequestGroup.action.timingTiming\":\"Timing\",\"RequestGroup.action.title\":\"string\",\"RequestGroup.action.type\":\"CodeableConcept\",\"RequestGroup.author\":\"Reference\",\"RequestGroup.authoredOn\":\"dateTime\",\"RequestGroup.basedOn\":\"Reference\",\"RequestGroup.code\":\"CodeableConcept\",\"RequestGroup.contained\":\"Resource\",\"RequestGroup.encounter\":\"Reference\",\"RequestGroup.extension\":\"Extension\",\"RequestGroup.groupIdentifier\":\"Identifier\",\"RequestGroup.id\":\"System.String\",\"RequestGroup.identifier\":\"Identifier\",\"RequestGroup.implicitRules\":\"uri\",\"RequestGroup.instantiatesCanonical\":\"canonical\",\"RequestGroup.instantiatesUri\":\"uri\",\"RequestGroup.intent\":\"code\",\"RequestGroup.language\":\"code\",\"RequestGroup.meta\":\"Meta\",\"RequestGroup.modifierExtension\":\"Extension\",\"RequestGroup.note\":\"Annotation\",\"RequestGroup.priority\":\"code\",\"RequestGroup.reasonCode\":\"CodeableConcept\",\"RequestGroup.reasonReference\":\"Reference\",\"RequestGroup.replaces\":\"Reference\",\"RequestGroup.status\":\"code\",\"RequestGroup.subject\":\"Reference\",\"RequestGroup.text\":\"Narrative\",\"ResearchDefinition.approvalDate\":\"date\",\"ResearchDefinition.author\":\"ContactDetail\",\"ResearchDefinition.comment\":\"string\",\"ResearchDefinition.contact\":\"ContactDetail\",\"ResearchDefinition.contained\":\"Resource\",\"ResearchDefinition.copyright\":\"markdown\",\"ResearchDefinition.date\":\"dateTime\",\"ResearchDefinition.description\":\"markdown\",\"ResearchDefinition.editor\":\"ContactDetail\",\"ResearchDefinition.effectivePeriod\":\"Period\",\"ResearchDefinition.endorser\":\"ContactDetail\",\"ResearchDefinition.experimental\":\"boolean\",\"ResearchDefinition.exposure\":\"Reference\",\"ResearchDefinition.exposureAlternative\":\"Reference\",\"ResearchDefinition.extension\":\"Extension\",\"ResearchDefinition.id\":\"System.String\",\"ResearchDefinition.identifier\":\"Identifier\",\"ResearchDefinition.implicitRules\":\"uri\",\"ResearchDefinition.jurisdiction\":\"CodeableConcept\",\"ResearchDefinition.language\":\"code\",\"ResearchDefinition.lastReviewDate\":\"date\",\"ResearchDefinition.library\":\"canonical\",\"ResearchDefinition.meta\":\"Meta\",\"ResearchDefinition.modifierExtension\":\"Extension\",\"ResearchDefinition.name\":\"string\",\"ResearchDefinition.outcome\":\"Reference\",\"ResearchDefinition.population\":\"Reference\",\"ResearchDefinition.publisher\":\"string\",\"ResearchDefinition.purpose\":\"markdown\",\"ResearchDefinition.relatedArtifact\":\"RelatedArtifact\",\"ResearchDefinition.reviewer\":\"ContactDetail\",\"ResearchDefinition.shortTitle\":\"string\",\"ResearchDefinition.status\":\"code\",\"ResearchDefinition.subjectCodeableConcept\":\"CodeableConcept\",\"ResearchDefinition.subjectReference\":\"Reference\",\"ResearchDefinition.subtitle\":\"string\",\"ResearchDefinition.text\":\"Narrative\",\"ResearchDefinition.title\":\"string\",\"ResearchDefinition.topic\":\"CodeableConcept\",\"ResearchDefinition.url\":\"uri\",\"ResearchDefinition.usage\":\"string\",\"ResearchDefinition.useContext\":\"UsageContext\",\"ResearchDefinition.version\":\"string\",\"ResearchElementDefinition.approvalDate\":\"date\",\"ResearchElementDefinition.author\":\"ContactDetail\",\"ResearchElementDefinition.characteristic.definitionCanonical\":\"canonical\",\"ResearchElementDefinition.characteristic.definitionCodeableConcept\":\"CodeableConcept\",\"ResearchElementDefinition.characteristic.definitionDataRequirement\":\"DataRequirement\",\"ResearchElementDefinition.characteristic.definitionExpression\":\"Expression\",\"ResearchElementDefinition.characteristic.exclude\":\"boolean\",\"ResearchElementDefinition.characteristic.extension\":\"Extension\",\"ResearchElementDefinition.characteristic.id\":\"System.String\",\"ResearchElementDefinition.characteristic.modifierExtension\":\"Extension\",\"ResearchElementDefinition.characteristic.participantEffectiveDateTime\":\"dateTime\",\"ResearchElementDefinition.characteristic.participantEffectiveDescription\":\"string\",\"ResearchElementDefinition.characteristic.participantEffectiveDuration\":\"Duration\",\"ResearchElementDefinition.characteristic.participantEffectiveGroupMeasure\":\"code\",\"ResearchElementDefinition.characteristic.participantEffectivePeriod\":\"Period\",\"ResearchElementDefinition.characteristic.participantEffectiveTimeFromStart\":\"Duration\",\"ResearchElementDefinition.characteristic.participantEffectiveTiming\":\"Timing\",\"ResearchElementDefinition.characteristic.studyEffectiveDateTime\":\"dateTime\",\"ResearchElementDefinition.characteristic.studyEffectiveDescription\":\"string\",\"ResearchElementDefinition.characteristic.studyEffectiveDuration\":\"Duration\",\"ResearchElementDefinition.characteristic.studyEffectiveGroupMeasure\":\"code\",\"ResearchElementDefinition.characteristic.studyEffectivePeriod\":\"Period\",\"ResearchElementDefinition.characteristic.studyEffectiveTimeFromStart\":\"Duration\",\"ResearchElementDefinition.characteristic.studyEffectiveTiming\":\"Timing\",\"ResearchElementDefinition.characteristic.unitOfMeasure\":\"CodeableConcept\",\"ResearchElementDefinition.characteristic.usageContext\":\"UsageContext\",\"ResearchElementDefinition.comment\":\"string\",\"ResearchElementDefinition.contact\":\"ContactDetail\",\"ResearchElementDefinition.contained\":\"Resource\",\"ResearchElementDefinition.copyright\":\"markdown\",\"ResearchElementDefinition.date\":\"dateTime\",\"ResearchElementDefinition.description\":\"markdown\",\"ResearchElementDefinition.editor\":\"ContactDetail\",\"ResearchElementDefinition.effectivePeriod\":\"Period\",\"ResearchElementDefinition.endorser\":\"ContactDetail\",\"ResearchElementDefinition.experimental\":\"boolean\",\"ResearchElementDefinition.extension\":\"Extension\",\"ResearchElementDefinition.id\":\"System.String\",\"ResearchElementDefinition.identifier\":\"Identifier\",\"ResearchElementDefinition.implicitRules\":\"uri\",\"ResearchElementDefinition.jurisdiction\":\"CodeableConcept\",\"ResearchElementDefinition.language\":\"code\",\"ResearchElementDefinition.lastReviewDate\":\"date\",\"ResearchElementDefinition.library\":\"canonical\",\"ResearchElementDefinition.meta\":\"Meta\",\"ResearchElementDefinition.modifierExtension\":\"Extension\",\"ResearchElementDefinition.name\":\"string\",\"ResearchElementDefinition.publisher\":\"string\",\"ResearchElementDefinition.purpose\":\"markdown\",\"ResearchElementDefinition.relatedArtifact\":\"RelatedArtifact\",\"ResearchElementDefinition.reviewer\":\"ContactDetail\",\"ResearchElementDefinition.shortTitle\":\"string\",\"ResearchElementDefinition.status\":\"code\",\"ResearchElementDefinition.subjectCodeableConcept\":\"CodeableConcept\",\"ResearchElementDefinition.subjectReference\":\"Reference\",\"ResearchElementDefinition.subtitle\":\"string\",\"ResearchElementDefinition.text\":\"Narrative\",\"ResearchElementDefinition.title\":\"string\",\"ResearchElementDefinition.topic\":\"CodeableConcept\",\"ResearchElementDefinition.type\":\"code\",\"ResearchElementDefinition.url\":\"uri\",\"ResearchElementDefinition.usage\":\"string\",\"ResearchElementDefinition.useContext\":\"UsageContext\",\"ResearchElementDefinition.variableType\":\"code\",\"ResearchElementDefinition.version\":\"string\",\"ResearchStudy.arm.description\":\"string\",\"ResearchStudy.arm.extension\":\"Extension\",\"ResearchStudy.arm.id\":\"System.String\",\"ResearchStudy.arm.modifierExtension\":\"Extension\",\"ResearchStudy.arm.name\":\"string\",\"ResearchStudy.arm.type\":\"CodeableConcept\",\"ResearchStudy.category\":\"CodeableConcept\",\"ResearchStudy.condition\":\"CodeableConcept\",\"ResearchStudy.contact\":\"ContactDetail\",\"ResearchStudy.contained\":\"Resource\",\"ResearchStudy.description\":\"markdown\",\"ResearchStudy.enrollment\":\"Reference\",\"ResearchStudy.extension\":\"Extension\",\"ResearchStudy.focus\":\"CodeableConcept\",\"ResearchStudy.id\":\"System.String\",\"ResearchStudy.identifier\":\"Identifier\",\"ResearchStudy.implicitRules\":\"uri\",\"ResearchStudy.keyword\":\"CodeableConcept\",\"ResearchStudy.language\":\"code\",\"ResearchStudy.location\":\"CodeableConcept\",\"ResearchStudy.meta\":\"Meta\",\"ResearchStudy.modifierExtension\":\"Extension\",\"ResearchStudy.note\":\"Annotation\",\"ResearchStudy.objective.extension\":\"Extension\",\"ResearchStudy.objective.id\":\"System.String\",\"ResearchStudy.objective.modifierExtension\":\"Extension\",\"ResearchStudy.objective.name\":\"string\",\"ResearchStudy.objective.type\":\"CodeableConcept\",\"ResearchStudy.partOf\":\"Reference\",\"ResearchStudy.period\":\"Period\",\"ResearchStudy.phase\":\"CodeableConcept\",\"ResearchStudy.primaryPurposeType\":\"CodeableConcept\",\"ResearchStudy.principalInvestigator\":\"Reference\",\"ResearchStudy.protocol\":\"Reference\",\"ResearchStudy.reasonStopped\":\"CodeableConcept\",\"ResearchStudy.relatedArtifact\":\"RelatedArtifact\",\"ResearchStudy.site\":\"Reference\",\"ResearchStudy.sponsor\":\"Reference\",\"ResearchStudy.status\":\"code\",\"ResearchStudy.text\":\"Narrative\",\"ResearchStudy.title\":\"string\",\"ResearchSubject.actualArm\":\"string\",\"ResearchSubject.assignedArm\":\"string\",\"ResearchSubject.consent\":\"Reference\",\"ResearchSubject.contained\":\"Resource\",\"ResearchSubject.extension\":\"Extension\",\"ResearchSubject.id\":\"System.String\",\"ResearchSubject.identifier\":\"Identifier\",\"ResearchSubject.implicitRules\":\"uri\",\"ResearchSubject.individual\":\"Reference\",\"ResearchSubject.language\":\"code\",\"ResearchSubject.meta\":\"Meta\",\"ResearchSubject.modifierExtension\":\"Extension\",\"ResearchSubject.period\":\"Period\",\"ResearchSubject.status\":\"code\",\"ResearchSubject.study\":\"Reference\",\"ResearchSubject.text\":\"Narrative\",\"Resource.id\":\"System.String\",\"Resource.implicitRules\":\"uri\",\"Resource.language\":\"code\",\"Resource.meta\":\"Meta\",\"RiskAssessment.basedOn\":\"Reference\",\"RiskAssessment.basis\":\"Reference\",\"RiskAssessment.code\":\"CodeableConcept\",\"RiskAssessment.condition\":\"Reference\",\"RiskAssessment.contained\":\"Resource\",\"RiskAssessment.encounter\":\"Reference\",\"RiskAssessment.extension\":\"Extension\",\"RiskAssessment.id\":\"System.String\",\"RiskAssessment.identifier\":\"Identifier\",\"RiskAssessment.implicitRules\":\"uri\",\"RiskAssessment.language\":\"code\",\"RiskAssessment.meta\":\"Meta\",\"RiskAssessment.method\":\"CodeableConcept\",\"RiskAssessment.mitigation\":\"string\",\"RiskAssessment.modifierExtension\":\"Extension\",\"RiskAssessment.note\":\"Annotation\",\"RiskAssessment.occurrenceDateTime\":\"dateTime\",\"RiskAssessment.occurrencePeriod\":\"Period\",\"RiskAssessment.parent\":\"Reference\",\"RiskAssessment.performer\":\"Reference\",\"RiskAssessment.prediction.extension\":\"Extension\",\"RiskAssessment.prediction.id\":\"System.String\",\"RiskAssessment.prediction.modifierExtension\":\"Extension\",\"RiskAssessment.prediction.outcome\":\"CodeableConcept\",\"RiskAssessment.prediction.probabilityDecimal\":\"decimal\",\"RiskAssessment.prediction.probabilityRange\":\"Range\",\"RiskAssessment.prediction.qualitativeRisk\":\"CodeableConcept\",\"RiskAssessment.prediction.rationale\":\"string\",\"RiskAssessment.prediction.relativeRisk\":\"decimal\",\"RiskAssessment.prediction.whenPeriod\":\"Period\",\"RiskAssessment.prediction.whenRange\":\"Range\",\"RiskAssessment.reasonCode\":\"CodeableConcept\",\"RiskAssessment.reasonReference\":\"Reference\",\"RiskAssessment.status\":\"code\",\"RiskAssessment.subject\":\"Reference\",\"RiskAssessment.text\":\"Narrative\",\"RiskEvidenceSynthesis.approvalDate\":\"date\",\"RiskEvidenceSynthesis.author\":\"ContactDetail\",\"RiskEvidenceSynthesis.certainty.certaintySubcomponent.extension\":\"Extension\",\"RiskEvidenceSynthesis.certainty.certaintySubcomponent.id\":\"System.String\",\"RiskEvidenceSynthesis.certainty.certaintySubcomponent.modifierExtension\":\"Extension\",\"RiskEvidenceSynthesis.certainty.certaintySubcomponent.note\":\"Annotation\",\"RiskEvidenceSynthesis.certainty.certaintySubcomponent.rating\":\"CodeableConcept\",\"RiskEvidenceSynthesis.certainty.certaintySubcomponent.type\":\"CodeableConcept\",\"RiskEvidenceSynthesis.certainty.extension\":\"Extension\",\"RiskEvidenceSynthesis.certainty.id\":\"System.String\",\"RiskEvidenceSynthesis.certainty.modifierExtension\":\"Extension\",\"RiskEvidenceSynthesis.certainty.note\":\"Annotation\",\"RiskEvidenceSynthesis.certainty.rating\":\"CodeableConcept\",\"RiskEvidenceSynthesis.contact\":\"ContactDetail\",\"RiskEvidenceSynthesis.contained\":\"Resource\",\"RiskEvidenceSynthesis.copyright\":\"markdown\",\"RiskEvidenceSynthesis.date\":\"dateTime\",\"RiskEvidenceSynthesis.description\":\"markdown\",\"RiskEvidenceSynthesis.editor\":\"ContactDetail\",\"RiskEvidenceSynthesis.effectivePeriod\":\"Period\",\"RiskEvidenceSynthesis.endorser\":\"ContactDetail\",\"RiskEvidenceSynthesis.exposure\":\"Reference\",\"RiskEvidenceSynthesis.extension\":\"Extension\",\"RiskEvidenceSynthesis.id\":\"System.String\",\"RiskEvidenceSynthesis.identifier\":\"Identifier\",\"RiskEvidenceSynthesis.implicitRules\":\"uri\",\"RiskEvidenceSynthesis.jurisdiction\":\"CodeableConcept\",\"RiskEvidenceSynthesis.language\":\"code\",\"RiskEvidenceSynthesis.lastReviewDate\":\"date\",\"RiskEvidenceSynthesis.meta\":\"Meta\",\"RiskEvidenceSynthesis.modifierExtension\":\"Extension\",\"RiskEvidenceSynthesis.name\":\"string\",\"RiskEvidenceSynthesis.note\":\"Annotation\",\"RiskEvidenceSynthesis.outcome\":\"Reference\",\"RiskEvidenceSynthesis.population\":\"Reference\",\"RiskEvidenceSynthesis.publisher\":\"string\",\"RiskEvidenceSynthesis.relatedArtifact\":\"RelatedArtifact\",\"RiskEvidenceSynthesis.reviewer\":\"ContactDetail\",\"RiskEvidenceSynthesis.riskEstimate.denominatorCount\":\"integer\",\"RiskEvidenceSynthesis.riskEstimate.description\":\"string\",\"RiskEvidenceSynthesis.riskEstimate.extension\":\"Extension\",\"RiskEvidenceSynthesis.riskEstimate.id\":\"System.String\",\"RiskEvidenceSynthesis.riskEstimate.modifierExtension\":\"Extension\",\"RiskEvidenceSynthesis.riskEstimate.numeratorCount\":\"integer\",\"RiskEvidenceSynthesis.riskEstimate.precisionEstimate.extension\":\"Extension\",\"RiskEvidenceSynthesis.riskEstimate.precisionEstimate.from\":\"decimal\",\"RiskEvidenceSynthesis.riskEstimate.precisionEstimate.id\":\"System.String\",\"RiskEvidenceSynthesis.riskEstimate.precisionEstimate.level\":\"decimal\",\"RiskEvidenceSynthesis.riskEstimate.precisionEstimate.modifierExtension\":\"Extension\",\"RiskEvidenceSynthesis.riskEstimate.precisionEstimate.to\":\"decimal\",\"RiskEvidenceSynthesis.riskEstimate.precisionEstimate.type\":\"CodeableConcept\",\"RiskEvidenceSynthesis.riskEstimate.type\":\"CodeableConcept\",\"RiskEvidenceSynthesis.riskEstimate.unitOfMeasure\":\"CodeableConcept\",\"RiskEvidenceSynthesis.riskEstimate.value\":\"decimal\",\"RiskEvidenceSynthesis.sampleSize.description\":\"string\",\"RiskEvidenceSynthesis.sampleSize.extension\":\"Extension\",\"RiskEvidenceSynthesis.sampleSize.id\":\"System.String\",\"RiskEvidenceSynthesis.sampleSize.modifierExtension\":\"Extension\",\"RiskEvidenceSynthesis.sampleSize.numberOfParticipants\":\"integer\",\"RiskEvidenceSynthesis.sampleSize.numberOfStudies\":\"integer\",\"RiskEvidenceSynthesis.status\":\"code\",\"RiskEvidenceSynthesis.studyType\":\"CodeableConcept\",\"RiskEvidenceSynthesis.synthesisType\":\"CodeableConcept\",\"RiskEvidenceSynthesis.text\":\"Narrative\",\"RiskEvidenceSynthesis.title\":\"string\",\"RiskEvidenceSynthesis.topic\":\"CodeableConcept\",\"RiskEvidenceSynthesis.url\":\"uri\",\"RiskEvidenceSynthesis.useContext\":\"UsageContext\",\"RiskEvidenceSynthesis.version\":\"string\",\"SampledData.data\":\"string\",\"SampledData.dimensions\":\"positiveInt\",\"SampledData.extension\":\"Extension\",\"SampledData.factor\":\"decimal\",\"SampledData.id\":\"System.String\",\"SampledData.lowerLimit\":\"decimal\",\"SampledData.origin\":\"Quantity\",\"SampledData.period\":\"decimal\",\"SampledData.upperLimit\":\"decimal\",\"Schedule.active\":\"boolean\",\"Schedule.actor\":\"Reference\",\"Schedule.comment\":\"string\",\"Schedule.contained\":\"Resource\",\"Schedule.extension\":\"Extension\",\"Schedule.id\":\"System.String\",\"Schedule.identifier\":\"Identifier\",\"Schedule.implicitRules\":\"uri\",\"Schedule.language\":\"code\",\"Schedule.meta\":\"Meta\",\"Schedule.modifierExtension\":\"Extension\",\"Schedule.planningHorizon\":\"Period\",\"Schedule.serviceCategory\":\"CodeableConcept\",\"Schedule.serviceType\":\"CodeableConcept\",\"Schedule.specialty\":\"CodeableConcept\",\"Schedule.text\":\"Narrative\",\"SearchParameter.base\":\"code\",\"SearchParameter.chain\":\"string\",\"SearchParameter.code\":\"code\",\"SearchParameter.comparator\":\"code\",\"SearchParameter.component.definition\":\"canonical\",\"SearchParameter.component.expression\":\"string\",\"SearchParameter.component.extension\":\"Extension\",\"SearchParameter.component.id\":\"System.String\",\"SearchParameter.component.modifierExtension\":\"Extension\",\"SearchParameter.contact\":\"ContactDetail\",\"SearchParameter.contained\":\"Resource\",\"SearchParameter.date\":\"dateTime\",\"SearchParameter.derivedFrom\":\"canonical\",\"SearchParameter.description\":\"markdown\",\"SearchParameter.experimental\":\"boolean\",\"SearchParameter.expression\":\"string\",\"SearchParameter.extension\":\"Extension\",\"SearchParameter.id\":\"System.String\",\"SearchParameter.implicitRules\":\"uri\",\"SearchParameter.jurisdiction\":\"CodeableConcept\",\"SearchParameter.language\":\"code\",\"SearchParameter.meta\":\"Meta\",\"SearchParameter.modifier\":\"code\",\"SearchParameter.modifierExtension\":\"Extension\",\"SearchParameter.multipleAnd\":\"boolean\",\"SearchParameter.multipleOr\":\"boolean\",\"SearchParameter.name\":\"string\",\"SearchParameter.publisher\":\"string\",\"SearchParameter.purpose\":\"markdown\",\"SearchParameter.status\":\"code\",\"SearchParameter.target\":\"code\",\"SearchParameter.text\":\"Narrative\",\"SearchParameter.type\":\"code\",\"SearchParameter.url\":\"uri\",\"SearchParameter.useContext\":\"UsageContext\",\"SearchParameter.version\":\"string\",\"SearchParameter.xpath\":\"string\",\"SearchParameter.xpathUsage\":\"code\",\"ServiceRequest.asNeededBoolean\":\"boolean\",\"ServiceRequest.asNeededCodeableConcept\":\"CodeableConcept\",\"ServiceRequest.authoredOn\":\"dateTime\",\"ServiceRequest.basedOn\":\"Reference\",\"ServiceRequest.bodySite\":\"CodeableConcept\",\"ServiceRequest.category\":\"CodeableConcept\",\"ServiceRequest.code\":\"CodeableConcept\",\"ServiceRequest.contained\":\"Resource\",\"ServiceRequest.doNotPerform\":\"boolean\",\"ServiceRequest.encounter\":\"Reference\",\"ServiceRequest.extension\":\"Extension\",\"ServiceRequest.id\":\"System.String\",\"ServiceRequest.identifier\":\"Identifier\",\"ServiceRequest.implicitRules\":\"uri\",\"ServiceRequest.instantiatesCanonical\":\"canonical\",\"ServiceRequest.instantiatesUri\":\"uri\",\"ServiceRequest.insurance\":\"Reference\",\"ServiceRequest.intent\":\"code\",\"ServiceRequest.language\":\"code\",\"ServiceRequest.locationCode\":\"CodeableConcept\",\"ServiceRequest.locationReference\":\"Reference\",\"ServiceRequest.meta\":\"Meta\",\"ServiceRequest.modifierExtension\":\"Extension\",\"ServiceRequest.note\":\"Annotation\",\"ServiceRequest.occurrenceDateTime\":\"dateTime\",\"ServiceRequest.occurrencePeriod\":\"Period\",\"ServiceRequest.occurrenceTiming\":\"Timing\",\"ServiceRequest.orderDetail\":\"CodeableConcept\",\"ServiceRequest.patientInstruction\":\"string\",\"ServiceRequest.performer\":\"Reference\",\"ServiceRequest.performerType\":\"CodeableConcept\",\"ServiceRequest.priority\":\"code\",\"ServiceRequest.quantityQuantity\":\"Quantity\",\"ServiceRequest.quantityRange\":\"Range\",\"ServiceRequest.quantityRatio\":\"Ratio\",\"ServiceRequest.reasonCode\":\"CodeableConcept\",\"ServiceRequest.reasonReference\":\"Reference\",\"ServiceRequest.relevantHistory\":\"Reference\",\"ServiceRequest.replaces\":\"Reference\",\"ServiceRequest.requester\":\"Reference\",\"ServiceRequest.requisition\":\"Identifier\",\"ServiceRequest.specimen\":\"Reference\",\"ServiceRequest.status\":\"code\",\"ServiceRequest.subject\":\"Reference\",\"ServiceRequest.supportingInfo\":\"Reference\",\"ServiceRequest.text\":\"Narrative\",\"Signature.data\":\"base64Binary\",\"Signature.extension\":\"Extension\",\"Signature.id\":\"System.String\",\"Signature.onBehalfOf\":\"Reference\",\"Signature.sigFormat\":\"code\",\"Signature.targetFormat\":\"code\",\"Signature.type\":\"Coding\",\"Signature.when\":\"instant\",\"Signature.who\":\"Reference\",\"Slot.appointmentType\":\"CodeableConcept\",\"Slot.comment\":\"string\",\"Slot.contained\":\"Resource\",\"Slot.end\":\"instant\",\"Slot.extension\":\"Extension\",\"Slot.id\":\"System.String\",\"Slot.identifier\":\"Identifier\",\"Slot.implicitRules\":\"uri\",\"Slot.language\":\"code\",\"Slot.meta\":\"Meta\",\"Slot.modifierExtension\":\"Extension\",\"Slot.overbooked\":\"boolean\",\"Slot.schedule\":\"Reference\",\"Slot.serviceCategory\":\"CodeableConcept\",\"Slot.serviceType\":\"CodeableConcept\",\"Slot.specialty\":\"CodeableConcept\",\"Slot.start\":\"instant\",\"Slot.status\":\"code\",\"Slot.text\":\"Narrative\",\"Specimen.accessionIdentifier\":\"Identifier\",\"Specimen.collection.bodySite\":\"CodeableConcept\",\"Specimen.collection.collectedDateTime\":\"dateTime\",\"Specimen.collection.collectedPeriod\":\"Period\",\"Specimen.collection.collector\":\"Reference\",\"Specimen.collection.duration\":\"Duration\",\"Specimen.collection.extension\":\"Extension\",\"Specimen.collection.fastingStatusCodeableConcept\":\"CodeableConcept\",\"Specimen.collection.fastingStatusDuration\":\"Duration\",\"Specimen.collection.id\":\"System.String\",\"Specimen.collection.method\":\"CodeableConcept\",\"Specimen.collection.modifierExtension\":\"Extension\",\"Specimen.collection.quantity\":\"Quantity\",\"Specimen.condition\":\"CodeableConcept\",\"Specimen.contained\":\"Resource\",\"Specimen.container.additiveCodeableConcept\":\"CodeableConcept\",\"Specimen.container.additiveReference\":\"Reference\",\"Specimen.container.capacity\":\"Quantity\",\"Specimen.container.description\":\"string\",\"Specimen.container.extension\":\"Extension\",\"Specimen.container.id\":\"System.String\",\"Specimen.container.identifier\":\"Identifier\",\"Specimen.container.modifierExtension\":\"Extension\",\"Specimen.container.specimenQuantity\":\"Quantity\",\"Specimen.container.type\":\"CodeableConcept\",\"Specimen.extension\":\"Extension\",\"Specimen.id\":\"System.String\",\"Specimen.identifier\":\"Identifier\",\"Specimen.implicitRules\":\"uri\",\"Specimen.language\":\"code\",\"Specimen.meta\":\"Meta\",\"Specimen.modifierExtension\":\"Extension\",\"Specimen.note\":\"Annotation\",\"Specimen.parent\":\"Reference\",\"Specimen.processing.additive\":\"Reference\",\"Specimen.processing.description\":\"string\",\"Specimen.processing.extension\":\"Extension\",\"Specimen.processing.id\":\"System.String\",\"Specimen.processing.modifierExtension\":\"Extension\",\"Specimen.processing.procedure\":\"CodeableConcept\",\"Specimen.processing.timeDateTime\":\"dateTime\",\"Specimen.processing.timePeriod\":\"Period\",\"Specimen.receivedTime\":\"dateTime\",\"Specimen.request\":\"Reference\",\"Specimen.status\":\"code\",\"Specimen.subject\":\"Reference\",\"Specimen.text\":\"Narrative\",\"Specimen.type\":\"CodeableConcept\",\"SpecimenDefinition.collection\":\"CodeableConcept\",\"SpecimenDefinition.contained\":\"Resource\",\"SpecimenDefinition.extension\":\"Extension\",\"SpecimenDefinition.id\":\"System.String\",\"SpecimenDefinition.identifier\":\"Identifier\",\"SpecimenDefinition.implicitRules\":\"uri\",\"SpecimenDefinition.language\":\"code\",\"SpecimenDefinition.meta\":\"Meta\",\"SpecimenDefinition.modifierExtension\":\"Extension\",\"SpecimenDefinition.patientPreparation\":\"CodeableConcept\",\"SpecimenDefinition.text\":\"Narrative\",\"SpecimenDefinition.timeAspect\":\"string\",\"SpecimenDefinition.typeCollected\":\"CodeableConcept\",\"SpecimenDefinition.typeTested.container.additive.additiveCodeableConcept\":\"CodeableConcept\",\"SpecimenDefinition.typeTested.container.additive.additiveReference\":\"Reference\",\"SpecimenDefinition.typeTested.container.additive.extension\":\"Extension\",\"SpecimenDefinition.typeTested.container.additive.id\":\"System.String\",\"SpecimenDefinition.typeTested.container.additive.modifierExtension\":\"Extension\",\"SpecimenDefinition.typeTested.container.cap\":\"CodeableConcept\",\"SpecimenDefinition.typeTested.container.capacity\":\"Quantity\",\"SpecimenDefinition.typeTested.container.description\":\"string\",\"SpecimenDefinition.typeTested.container.extension\":\"Extension\",\"SpecimenDefinition.typeTested.container.id\":\"System.String\",\"SpecimenDefinition.typeTested.container.material\":\"CodeableConcept\",\"SpecimenDefinition.typeTested.container.minimumVolumeQuantity\":\"Quantity\",\"SpecimenDefinition.typeTested.container.minimumVolumeString\":\"string\",\"SpecimenDefinition.typeTested.container.modifierExtension\":\"Extension\",\"SpecimenDefinition.typeTested.container.preparation\":\"string\",\"SpecimenDefinition.typeTested.container.type\":\"CodeableConcept\",\"SpecimenDefinition.typeTested.extension\":\"Extension\",\"SpecimenDefinition.typeTested.handling.extension\":\"Extension\",\"SpecimenDefinition.typeTested.handling.id\":\"System.String\",\"SpecimenDefinition.typeTested.handling.instruction\":\"string\",\"SpecimenDefinition.typeTested.handling.maxDuration\":\"Duration\",\"SpecimenDefinition.typeTested.handling.modifierExtension\":\"Extension\",\"SpecimenDefinition.typeTested.handling.temperatureQualifier\":\"CodeableConcept\",\"SpecimenDefinition.typeTested.handling.temperatureRange\":\"Range\",\"SpecimenDefinition.typeTested.id\":\"System.String\",\"SpecimenDefinition.typeTested.isDerived\":\"boolean\",\"SpecimenDefinition.typeTested.modifierExtension\":\"Extension\",\"SpecimenDefinition.typeTested.preference\":\"code\",\"SpecimenDefinition.typeTested.rejectionCriterion\":\"CodeableConcept\",\"SpecimenDefinition.typeTested.requirement\":\"string\",\"SpecimenDefinition.typeTested.retentionTime\":\"Duration\",\"SpecimenDefinition.typeTested.type\":\"CodeableConcept\",\"StructureDefinition.abstract\":\"boolean\",\"StructureDefinition.baseDefinition\":\"canonical\",\"StructureDefinition.contact\":\"ContactDetail\",\"StructureDefinition.contained\":\"Resource\",\"StructureDefinition.context.expression\":\"string\",\"StructureDefinition.context.extension\":\"Extension\",\"StructureDefinition.context.id\":\"System.String\",\"StructureDefinition.context.modifierExtension\":\"Extension\",\"StructureDefinition.context.type\":\"code\",\"StructureDefinition.contextInvariant\":\"string\",\"StructureDefinition.copyright\":\"markdown\",\"StructureDefinition.date\":\"dateTime\",\"StructureDefinition.derivation\":\"code\",\"StructureDefinition.description\":\"markdown\",\"StructureDefinition.differential.element\":\"ElementDefinition\",\"StructureDefinition.differential.extension\":\"Extension\",\"StructureDefinition.differential.id\":\"System.String\",\"StructureDefinition.differential.modifierExtension\":\"Extension\",\"StructureDefinition.experimental\":\"boolean\",\"StructureDefinition.extension\":\"Extension\",\"StructureDefinition.fhirVersion\":\"code\",\"StructureDefinition.id\":\"System.String\",\"StructureDefinition.identifier\":\"Identifier\",\"StructureDefinition.implicitRules\":\"uri\",\"StructureDefinition.jurisdiction\":\"CodeableConcept\",\"StructureDefinition.keyword\":\"Coding\",\"StructureDefinition.kind\":\"code\",\"StructureDefinition.language\":\"code\",\"StructureDefinition.mapping.comment\":\"string\",\"StructureDefinition.mapping.extension\":\"Extension\",\"StructureDefinition.mapping.id\":\"System.String\",\"StructureDefinition.mapping.identity\":\"id\",\"StructureDefinition.mapping.modifierExtension\":\"Extension\",\"StructureDefinition.mapping.name\":\"string\",\"StructureDefinition.mapping.uri\":\"uri\",\"StructureDefinition.meta\":\"Meta\",\"StructureDefinition.modifierExtension\":\"Extension\",\"StructureDefinition.name\":\"string\",\"StructureDefinition.publisher\":\"string\",\"StructureDefinition.purpose\":\"markdown\",\"StructureDefinition.snapshot.element\":\"ElementDefinition\",\"StructureDefinition.snapshot.extension\":\"Extension\",\"StructureDefinition.snapshot.id\":\"System.String\",\"StructureDefinition.snapshot.modifierExtension\":\"Extension\",\"StructureDefinition.status\":\"code\",\"StructureDefinition.text\":\"Narrative\",\"StructureDefinition.title\":\"string\",\"StructureDefinition.type\":\"uri\",\"StructureDefinition.url\":\"uri\",\"StructureDefinition.useContext\":\"UsageContext\",\"StructureDefinition.version\":\"string\",\"StructureMap.contact\":\"ContactDetail\",\"StructureMap.contained\":\"Resource\",\"StructureMap.copyright\":\"markdown\",\"StructureMap.date\":\"dateTime\",\"StructureMap.description\":\"markdown\",\"StructureMap.experimental\":\"boolean\",\"StructureMap.extension\":\"Extension\",\"StructureMap.group.documentation\":\"string\",\"StructureMap.group.extends\":\"id\",\"StructureMap.group.extension\":\"Extension\",\"StructureMap.group.id\":\"System.String\",\"StructureMap.group.input.documentation\":\"string\",\"StructureMap.group.input.extension\":\"Extension\",\"StructureMap.group.input.id\":\"System.String\",\"StructureMap.group.input.mode\":\"code\",\"StructureMap.group.input.modifierExtension\":\"Extension\",\"StructureMap.group.input.name\":\"id\",\"StructureMap.group.input.type\":\"string\",\"StructureMap.group.modifierExtension\":\"Extension\",\"StructureMap.group.name\":\"id\",\"StructureMap.group.rule.dependent.extension\":\"Extension\",\"StructureMap.group.rule.dependent.id\":\"System.String\",\"StructureMap.group.rule.dependent.modifierExtension\":\"Extension\",\"StructureMap.group.rule.dependent.name\":\"id\",\"StructureMap.group.rule.dependent.variable\":\"string\",\"StructureMap.group.rule.documentation\":\"string\",\"StructureMap.group.rule.extension\":\"Extension\",\"StructureMap.group.rule.id\":\"System.String\",\"StructureMap.group.rule.modifierExtension\":\"Extension\",\"StructureMap.group.rule.name\":\"id\",\"StructureMap.group.rule.source.check\":\"string\",\"StructureMap.group.rule.source.condition\":\"string\",\"StructureMap.group.rule.source.context\":\"id\",\"StructureMap.group.rule.source.defaultValueAddress\":\"Address\",\"StructureMap.group.rule.source.defaultValueAge\":\"Age\",\"StructureMap.group.rule.source.defaultValueAnnotation\":\"Annotation\",\"StructureMap.group.rule.source.defaultValueAttachment\":\"Attachment\",\"StructureMap.group.rule.source.defaultValueBase64Binary\":\"base64Binary\",\"StructureMap.group.rule.source.defaultValueBoolean\":\"boolean\",\"StructureMap.group.rule.source.defaultValueCanonical\":\"canonical\",\"StructureMap.group.rule.source.defaultValueCode\":\"code\",\"StructureMap.group.rule.source.defaultValueCodeableConcept\":\"CodeableConcept\",\"StructureMap.group.rule.source.defaultValueCoding\":\"Coding\",\"StructureMap.group.rule.source.defaultValueContactDetail\":\"ContactDetail\",\"StructureMap.group.rule.source.defaultValueContactPoint\":\"ContactPoint\",\"StructureMap.group.rule.source.defaultValueContributor\":\"Contributor\",\"StructureMap.group.rule.source.defaultValueCount\":\"Count\",\"StructureMap.group.rule.source.defaultValueDataRequirement\":\"DataRequirement\",\"StructureMap.group.rule.source.defaultValueDate\":\"date\",\"StructureMap.group.rule.source.defaultValueDateTime\":\"dateTime\",\"StructureMap.group.rule.source.defaultValueDecimal\":\"decimal\",\"StructureMap.group.rule.source.defaultValueDistance\":\"Distance\",\"StructureMap.group.rule.source.defaultValueDosage\":\"Dosage\",\"StructureMap.group.rule.source.defaultValueDuration\":\"Duration\",\"StructureMap.group.rule.source.defaultValueExpression\":\"Expression\",\"StructureMap.group.rule.source.defaultValueHumanName\":\"HumanName\",\"StructureMap.group.rule.source.defaultValueId\":\"id\",\"StructureMap.group.rule.source.defaultValueIdentifier\":\"Identifier\",\"StructureMap.group.rule.source.defaultValueInstant\":\"instant\",\"StructureMap.group.rule.source.defaultValueInteger\":\"integer\",\"StructureMap.group.rule.source.defaultValueMarkdown\":\"markdown\",\"StructureMap.group.rule.source.defaultValueMeta\":\"Meta\",\"StructureMap.group.rule.source.defaultValueMoney\":\"Money\",\"StructureMap.group.rule.source.defaultValueOid\":\"oid\",\"StructureMap.group.rule.source.defaultValueParameterDefinition\":\"ParameterDefinition\",\"StructureMap.group.rule.source.defaultValuePeriod\":\"Period\",\"StructureMap.group.rule.source.defaultValuePositiveInt\":\"positiveInt\",\"StructureMap.group.rule.source.defaultValueQuantity\":\"Quantity\",\"StructureMap.group.rule.source.defaultValueRange\":\"Range\",\"StructureMap.group.rule.source.defaultValueRatio\":\"Ratio\",\"StructureMap.group.rule.source.defaultValueReference\":\"Reference\",\"StructureMap.group.rule.source.defaultValueRelatedArtifact\":\"RelatedArtifact\",\"StructureMap.group.rule.source.defaultValueSampledData\":\"SampledData\",\"StructureMap.group.rule.source.defaultValueSignature\":\"Signature\",\"StructureMap.group.rule.source.defaultValueString\":\"string\",\"StructureMap.group.rule.source.defaultValueTime\":\"time\",\"StructureMap.group.rule.source.defaultValueTiming\":\"Timing\",\"StructureMap.group.rule.source.defaultValueTriggerDefinition\":\"TriggerDefinition\",\"StructureMap.group.rule.source.defaultValueUnsignedInt\":\"unsignedInt\",\"StructureMap.group.rule.source.defaultValueUri\":\"uri\",\"StructureMap.group.rule.source.defaultValueUrl\":\"url\",\"StructureMap.group.rule.source.defaultValueUsageContext\":\"UsageContext\",\"StructureMap.group.rule.source.defaultValueUuid\":\"uuid\",\"StructureMap.group.rule.source.element\":\"string\",\"StructureMap.group.rule.source.extension\":\"Extension\",\"StructureMap.group.rule.source.id\":\"System.String\",\"StructureMap.group.rule.source.listMode\":\"code\",\"StructureMap.group.rule.source.logMessage\":\"string\",\"StructureMap.group.rule.source.max\":\"string\",\"StructureMap.group.rule.source.min\":\"integer\",\"StructureMap.group.rule.source.modifierExtension\":\"Extension\",\"StructureMap.group.rule.source.type\":\"string\",\"StructureMap.group.rule.source.variable\":\"id\",\"StructureMap.group.rule.target.context\":\"id\",\"StructureMap.group.rule.target.contextType\":\"code\",\"StructureMap.group.rule.target.element\":\"string\",\"StructureMap.group.rule.target.extension\":\"Extension\",\"StructureMap.group.rule.target.id\":\"System.String\",\"StructureMap.group.rule.target.listMode\":\"code\",\"StructureMap.group.rule.target.listRuleId\":\"id\",\"StructureMap.group.rule.target.modifierExtension\":\"Extension\",\"StructureMap.group.rule.target.parameter.extension\":\"Extension\",\"StructureMap.group.rule.target.parameter.id\":\"System.String\",\"StructureMap.group.rule.target.parameter.modifierExtension\":\"Extension\",\"StructureMap.group.rule.target.parameter.valueBoolean\":\"boolean\",\"StructureMap.group.rule.target.parameter.valueDecimal\":\"decimal\",\"StructureMap.group.rule.target.parameter.valueId\":\"id\",\"StructureMap.group.rule.target.parameter.valueInteger\":\"integer\",\"StructureMap.group.rule.target.parameter.valueString\":\"string\",\"StructureMap.group.rule.target.transform\":\"code\",\"StructureMap.group.rule.target.variable\":\"id\",\"StructureMap.group.typeMode\":\"code\",\"StructureMap.id\":\"System.String\",\"StructureMap.identifier\":\"Identifier\",\"StructureMap.implicitRules\":\"uri\",\"StructureMap.import\":\"canonical\",\"StructureMap.jurisdiction\":\"CodeableConcept\",\"StructureMap.language\":\"code\",\"StructureMap.meta\":\"Meta\",\"StructureMap.modifierExtension\":\"Extension\",\"StructureMap.name\":\"string\",\"StructureMap.publisher\":\"string\",\"StructureMap.purpose\":\"markdown\",\"StructureMap.status\":\"code\",\"StructureMap.structure.alias\":\"string\",\"StructureMap.structure.documentation\":\"string\",\"StructureMap.structure.extension\":\"Extension\",\"StructureMap.structure.id\":\"System.String\",\"StructureMap.structure.mode\":\"code\",\"StructureMap.structure.modifierExtension\":\"Extension\",\"StructureMap.structure.url\":\"canonical\",\"StructureMap.text\":\"Narrative\",\"StructureMap.title\":\"string\",\"StructureMap.url\":\"uri\",\"StructureMap.useContext\":\"UsageContext\",\"StructureMap.version\":\"string\",\"Subscription.channel.endpoint\":\"url\",\"Subscription.channel.extension\":\"Extension\",\"Subscription.channel.header\":\"string\",\"Subscription.channel.id\":\"System.String\",\"Subscription.channel.modifierExtension\":\"Extension\",\"Subscription.channel.payload\":\"code\",\"Subscription.channel.type\":\"code\",\"Subscription.contact\":\"ContactPoint\",\"Subscription.contained\":\"Resource\",\"Subscription.criteria\":\"string\",\"Subscription.end\":\"instant\",\"Subscription.error\":\"string\",\"Subscription.extension\":\"Extension\",\"Subscription.id\":\"System.String\",\"Subscription.implicitRules\":\"uri\",\"Subscription.language\":\"code\",\"Subscription.meta\":\"Meta\",\"Subscription.modifierExtension\":\"Extension\",\"Subscription.reason\":\"string\",\"Subscription.status\":\"code\",\"Subscription.text\":\"Narrative\",\"Substance.category\":\"CodeableConcept\",\"Substance.code\":\"CodeableConcept\",\"Substance.contained\":\"Resource\",\"Substance.description\":\"string\",\"Substance.extension\":\"Extension\",\"Substance.id\":\"System.String\",\"Substance.identifier\":\"Identifier\",\"Substance.implicitRules\":\"uri\",\"Substance.ingredient.extension\":\"Extension\",\"Substance.ingredient.id\":\"System.String\",\"Substance.ingredient.modifierExtension\":\"Extension\",\"Substance.ingredient.quantity\":\"Ratio\",\"Substance.ingredient.substanceCodeableConcept\":\"CodeableConcept\",\"Substance.ingredient.substanceReference\":\"Reference\",\"Substance.instance.expiry\":\"dateTime\",\"Substance.instance.extension\":\"Extension\",\"Substance.instance.id\":\"System.String\",\"Substance.instance.identifier\":\"Identifier\",\"Substance.instance.modifierExtension\":\"Extension\",\"Substance.instance.quantity\":\"Quantity\",\"Substance.language\":\"code\",\"Substance.meta\":\"Meta\",\"Substance.modifierExtension\":\"Extension\",\"Substance.status\":\"code\",\"Substance.text\":\"Narrative\",\"SubstanceAmount.amountQuantity\":\"Quantity\",\"SubstanceAmount.amountRange\":\"Range\",\"SubstanceAmount.amountString\":\"string\",\"SubstanceAmount.amountText\":\"string\",\"SubstanceAmount.amountType\":\"CodeableConcept\",\"SubstanceAmount.extension\":\"Extension\",\"SubstanceAmount.id\":\"System.String\",\"SubstanceAmount.modifierExtension\":\"Extension\",\"SubstanceAmount.referenceRange.extension\":\"Extension\",\"SubstanceAmount.referenceRange.highLimit\":\"Quantity\",\"SubstanceAmount.referenceRange.id\":\"System.String\",\"SubstanceAmount.referenceRange.lowLimit\":\"Quantity\",\"SubstanceNucleicAcid.areaOfHybridisation\":\"string\",\"SubstanceNucleicAcid.contained\":\"Resource\",\"SubstanceNucleicAcid.extension\":\"Extension\",\"SubstanceNucleicAcid.id\":\"System.String\",\"SubstanceNucleicAcid.implicitRules\":\"uri\",\"SubstanceNucleicAcid.language\":\"code\",\"SubstanceNucleicAcid.meta\":\"Meta\",\"SubstanceNucleicAcid.modifierExtension\":\"Extension\",\"SubstanceNucleicAcid.numberOfSubunits\":\"integer\",\"SubstanceNucleicAcid.oligoNucleotideType\":\"CodeableConcept\",\"SubstanceNucleicAcid.sequenceType\":\"CodeableConcept\",\"SubstanceNucleicAcid.subunit.extension\":\"Extension\",\"SubstanceNucleicAcid.subunit.fivePrime\":\"CodeableConcept\",\"SubstanceNucleicAcid.subunit.id\":\"System.String\",\"SubstanceNucleicAcid.subunit.length\":\"integer\",\"SubstanceNucleicAcid.subunit.linkage.connectivity\":\"string\",\"SubstanceNucleicAcid.subunit.linkage.extension\":\"Extension\",\"SubstanceNucleicAcid.subunit.linkage.id\":\"System.String\",\"SubstanceNucleicAcid.subunit.linkage.identifier\":\"Identifier\",\"SubstanceNucleicAcid.subunit.linkage.modifierExtension\":\"Extension\",\"SubstanceNucleicAcid.subunit.linkage.name\":\"string\",\"SubstanceNucleicAcid.subunit.linkage.residueSite\":\"string\",\"SubstanceNucleicAcid.subunit.modifierExtension\":\"Extension\",\"SubstanceNucleicAcid.subunit.sequence\":\"string\",\"SubstanceNucleicAcid.subunit.sequenceAttachment\":\"Attachment\",\"SubstanceNucleicAcid.subunit.subunit\":\"integer\",\"SubstanceNucleicAcid.subunit.sugar.extension\":\"Extension\",\"SubstanceNucleicAcid.subunit.sugar.id\":\"System.String\",\"SubstanceNucleicAcid.subunit.sugar.identifier\":\"Identifier\",\"SubstanceNucleicAcid.subunit.sugar.modifierExtension\":\"Extension\",\"SubstanceNucleicAcid.subunit.sugar.name\":\"string\",\"SubstanceNucleicAcid.subunit.sugar.residueSite\":\"string\",\"SubstanceNucleicAcid.subunit.threePrime\":\"CodeableConcept\",\"SubstanceNucleicAcid.text\":\"Narrative\",\"SubstancePolymer.class\":\"CodeableConcept\",\"SubstancePolymer.contained\":\"Resource\",\"SubstancePolymer.copolymerConnectivity\":\"CodeableConcept\",\"SubstancePolymer.extension\":\"Extension\",\"SubstancePolymer.geometry\":\"CodeableConcept\",\"SubstancePolymer.id\":\"System.String\",\"SubstancePolymer.implicitRules\":\"uri\",\"SubstancePolymer.language\":\"code\",\"SubstancePolymer.meta\":\"Meta\",\"SubstancePolymer.modification\":\"string\",\"SubstancePolymer.modifierExtension\":\"Extension\",\"SubstancePolymer.monomerSet.extension\":\"Extension\",\"SubstancePolymer.monomerSet.id\":\"System.String\",\"SubstancePolymer.monomerSet.modifierExtension\":\"Extension\",\"SubstancePolymer.monomerSet.ratioType\":\"CodeableConcept\",\"SubstancePolymer.monomerSet.startingMaterial.amount\":\"SubstanceAmount\",\"SubstancePolymer.monomerSet.startingMaterial.extension\":\"Extension\",\"SubstancePolymer.monomerSet.startingMaterial.id\":\"System.String\",\"SubstancePolymer.monomerSet.startingMaterial.isDefining\":\"boolean\",\"SubstancePolymer.monomerSet.startingMaterial.material\":\"CodeableConcept\",\"SubstancePolymer.monomerSet.startingMaterial.modifierExtension\":\"Extension\",\"SubstancePolymer.monomerSet.startingMaterial.type\":\"CodeableConcept\",\"SubstancePolymer.repeat.averageMolecularFormula\":\"string\",\"SubstancePolymer.repeat.extension\":\"Extension\",\"SubstancePolymer.repeat.id\":\"System.String\",\"SubstancePolymer.repeat.modifierExtension\":\"Extension\",\"SubstancePolymer.repeat.numberOfUnits\":\"integer\",\"SubstancePolymer.repeat.repeatUnit.amount\":\"SubstanceAmount\",\"SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount\":\"SubstanceAmount\",\"SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.degree\":\"CodeableConcept\",\"SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.extension\":\"Extension\",\"SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.id\":\"System.String\",\"SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.modifierExtension\":\"Extension\",\"SubstancePolymer.repeat.repeatUnit.extension\":\"Extension\",\"SubstancePolymer.repeat.repeatUnit.id\":\"System.String\",\"SubstancePolymer.repeat.repeatUnit.modifierExtension\":\"Extension\",\"SubstancePolymer.repeat.repeatUnit.orientationOfPolymerisation\":\"CodeableConcept\",\"SubstancePolymer.repeat.repeatUnit.repeatUnit\":\"string\",\"SubstancePolymer.repeat.repeatUnit.structuralRepresentation.attachment\":\"Attachment\",\"SubstancePolymer.repeat.repeatUnit.structuralRepresentation.extension\":\"Extension\",\"SubstancePolymer.repeat.repeatUnit.structuralRepresentation.id\":\"System.String\",\"SubstancePolymer.repeat.repeatUnit.structuralRepresentation.modifierExtension\":\"Extension\",\"SubstancePolymer.repeat.repeatUnit.structuralRepresentation.representation\":\"string\",\"SubstancePolymer.repeat.repeatUnit.structuralRepresentation.type\":\"CodeableConcept\",\"SubstancePolymer.repeat.repeatUnitAmountType\":\"CodeableConcept\",\"SubstancePolymer.text\":\"Narrative\",\"SubstanceProtein.contained\":\"Resource\",\"SubstanceProtein.disulfideLinkage\":\"string\",\"SubstanceProtein.extension\":\"Extension\",\"SubstanceProtein.id\":\"System.String\",\"SubstanceProtein.implicitRules\":\"uri\",\"SubstanceProtein.language\":\"code\",\"SubstanceProtein.meta\":\"Meta\",\"SubstanceProtein.modifierExtension\":\"Extension\",\"SubstanceProtein.numberOfSubunits\":\"integer\",\"SubstanceProtein.sequenceType\":\"CodeableConcept\",\"SubstanceProtein.subunit.cTerminalModification\":\"string\",\"SubstanceProtein.subunit.cTerminalModificationId\":\"Identifier\",\"SubstanceProtein.subunit.extension\":\"Extension\",\"SubstanceProtein.subunit.id\":\"System.String\",\"SubstanceProtein.subunit.length\":\"integer\",\"SubstanceProtein.subunit.modifierExtension\":\"Extension\",\"SubstanceProtein.subunit.nTerminalModification\":\"string\",\"SubstanceProtein.subunit.nTerminalModificationId\":\"Identifier\",\"SubstanceProtein.subunit.sequence\":\"string\",\"SubstanceProtein.subunit.sequenceAttachment\":\"Attachment\",\"SubstanceProtein.subunit.subunit\":\"integer\",\"SubstanceProtein.text\":\"Narrative\",\"SubstanceReferenceInformation.classification.classification\":\"CodeableConcept\",\"SubstanceReferenceInformation.classification.domain\":\"CodeableConcept\",\"SubstanceReferenceInformation.classification.extension\":\"Extension\",\"SubstanceReferenceInformation.classification.id\":\"System.String\",\"SubstanceReferenceInformation.classification.modifierExtension\":\"Extension\",\"SubstanceReferenceInformation.classification.source\":\"Reference\",\"SubstanceReferenceInformation.classification.subtype\":\"CodeableConcept\",\"SubstanceReferenceInformation.comment\":\"string\",\"SubstanceReferenceInformation.contained\":\"Resource\",\"SubstanceReferenceInformation.extension\":\"Extension\",\"SubstanceReferenceInformation.gene.extension\":\"Extension\",\"SubstanceReferenceInformation.gene.gene\":\"CodeableConcept\",\"SubstanceReferenceInformation.gene.geneSequenceOrigin\":\"CodeableConcept\",\"SubstanceReferenceInformation.gene.id\":\"System.String\",\"SubstanceReferenceInformation.gene.modifierExtension\":\"Extension\",\"SubstanceReferenceInformation.gene.source\":\"Reference\",\"SubstanceReferenceInformation.geneElement.element\":\"Identifier\",\"SubstanceReferenceInformation.geneElement.extension\":\"Extension\",\"SubstanceReferenceInformation.geneElement.id\":\"System.String\",\"SubstanceReferenceInformation.geneElement.modifierExtension\":\"Extension\",\"SubstanceReferenceInformation.geneElement.source\":\"Reference\",\"SubstanceReferenceInformation.geneElement.type\":\"CodeableConcept\",\"SubstanceReferenceInformation.id\":\"System.String\",\"SubstanceReferenceInformation.implicitRules\":\"uri\",\"SubstanceReferenceInformation.language\":\"code\",\"SubstanceReferenceInformation.meta\":\"Meta\",\"SubstanceReferenceInformation.modifierExtension\":\"Extension\",\"SubstanceReferenceInformation.target.amountQuantity\":\"Quantity\",\"SubstanceReferenceInformation.target.amountRange\":\"Range\",\"SubstanceReferenceInformation.target.amountString\":\"string\",\"SubstanceReferenceInformation.target.amountType\":\"CodeableConcept\",\"SubstanceReferenceInformation.target.extension\":\"Extension\",\"SubstanceReferenceInformation.target.id\":\"System.String\",\"SubstanceReferenceInformation.target.interaction\":\"CodeableConcept\",\"SubstanceReferenceInformation.target.modifierExtension\":\"Extension\",\"SubstanceReferenceInformation.target.organism\":\"CodeableConcept\",\"SubstanceReferenceInformation.target.organismType\":\"CodeableConcept\",\"SubstanceReferenceInformation.target.source\":\"Reference\",\"SubstanceReferenceInformation.target.target\":\"Identifier\",\"SubstanceReferenceInformation.target.type\":\"CodeableConcept\",\"SubstanceReferenceInformation.text\":\"Narrative\",\"SubstanceSourceMaterial.contained\":\"Resource\",\"SubstanceSourceMaterial.countryOfOrigin\":\"CodeableConcept\",\"SubstanceSourceMaterial.developmentStage\":\"CodeableConcept\",\"SubstanceSourceMaterial.extension\":\"Extension\",\"SubstanceSourceMaterial.fractionDescription.extension\":\"Extension\",\"SubstanceSourceMaterial.fractionDescription.fraction\":\"string\",\"SubstanceSourceMaterial.fractionDescription.id\":\"System.String\",\"SubstanceSourceMaterial.fractionDescription.materialType\":\"CodeableConcept\",\"SubstanceSourceMaterial.fractionDescription.modifierExtension\":\"Extension\",\"SubstanceSourceMaterial.geographicalLocation\":\"string\",\"SubstanceSourceMaterial.id\":\"System.String\",\"SubstanceSourceMaterial.implicitRules\":\"uri\",\"SubstanceSourceMaterial.language\":\"code\",\"SubstanceSourceMaterial.meta\":\"Meta\",\"SubstanceSourceMaterial.modifierExtension\":\"Extension\",\"SubstanceSourceMaterial.organism.author.authorDescription\":\"string\",\"SubstanceSourceMaterial.organism.author.authorType\":\"CodeableConcept\",\"SubstanceSourceMaterial.organism.author.extension\":\"Extension\",\"SubstanceSourceMaterial.organism.author.id\":\"System.String\",\"SubstanceSourceMaterial.organism.author.modifierExtension\":\"Extension\",\"SubstanceSourceMaterial.organism.extension\":\"Extension\",\"SubstanceSourceMaterial.organism.family\":\"CodeableConcept\",\"SubstanceSourceMaterial.organism.genus\":\"CodeableConcept\",\"SubstanceSourceMaterial.organism.hybrid.extension\":\"Extension\",\"SubstanceSourceMaterial.organism.hybrid.hybridType\":\"CodeableConcept\",\"SubstanceSourceMaterial.organism.hybrid.id\":\"System.String\",\"SubstanceSourceMaterial.organism.hybrid.maternalOrganismId\":\"string\",\"SubstanceSourceMaterial.organism.hybrid.maternalOrganismName\":\"string\",\"SubstanceSourceMaterial.organism.hybrid.modifierExtension\":\"Extension\",\"SubstanceSourceMaterial.organism.hybrid.paternalOrganismId\":\"string\",\"SubstanceSourceMaterial.organism.hybrid.paternalOrganismName\":\"string\",\"SubstanceSourceMaterial.organism.id\":\"System.String\",\"SubstanceSourceMaterial.organism.intraspecificDescription\":\"string\",\"SubstanceSourceMaterial.organism.intraspecificType\":\"CodeableConcept\",\"SubstanceSourceMaterial.organism.modifierExtension\":\"Extension\",\"SubstanceSourceMaterial.organism.organismGeneral.class\":\"CodeableConcept\",\"SubstanceSourceMaterial.organism.organismGeneral.extension\":\"Extension\",\"SubstanceSourceMaterial.organism.organismGeneral.id\":\"System.String\",\"SubstanceSourceMaterial.organism.organismGeneral.kingdom\":\"CodeableConcept\",\"SubstanceSourceMaterial.organism.organismGeneral.modifierExtension\":\"Extension\",\"SubstanceSourceMaterial.organism.organismGeneral.order\":\"CodeableConcept\",\"SubstanceSourceMaterial.organism.organismGeneral.phylum\":\"CodeableConcept\",\"SubstanceSourceMaterial.organism.species\":\"CodeableConcept\",\"SubstanceSourceMaterial.organismId\":\"Identifier\",\"SubstanceSourceMaterial.organismName\":\"string\",\"SubstanceSourceMaterial.parentSubstanceId\":\"Identifier\",\"SubstanceSourceMaterial.parentSubstanceName\":\"string\",\"SubstanceSourceMaterial.partDescription.extension\":\"Extension\",\"SubstanceSourceMaterial.partDescription.id\":\"System.String\",\"SubstanceSourceMaterial.partDescription.modifierExtension\":\"Extension\",\"SubstanceSourceMaterial.partDescription.part\":\"CodeableConcept\",\"SubstanceSourceMaterial.partDescription.partLocation\":\"CodeableConcept\",\"SubstanceSourceMaterial.sourceMaterialClass\":\"CodeableConcept\",\"SubstanceSourceMaterial.sourceMaterialState\":\"CodeableConcept\",\"SubstanceSourceMaterial.sourceMaterialType\":\"CodeableConcept\",\"SubstanceSourceMaterial.text\":\"Narrative\",\"SubstanceSpecification.code.code\":\"CodeableConcept\",\"SubstanceSpecification.code.comment\":\"string\",\"SubstanceSpecification.code.extension\":\"Extension\",\"SubstanceSpecification.code.id\":\"System.String\",\"SubstanceSpecification.code.modifierExtension\":\"Extension\",\"SubstanceSpecification.code.source\":\"Reference\",\"SubstanceSpecification.code.status\":\"CodeableConcept\",\"SubstanceSpecification.code.statusDate\":\"dateTime\",\"SubstanceSpecification.comment\":\"string\",\"SubstanceSpecification.contained\":\"Resource\",\"SubstanceSpecification.description\":\"string\",\"SubstanceSpecification.domain\":\"CodeableConcept\",\"SubstanceSpecification.extension\":\"Extension\",\"SubstanceSpecification.id\":\"System.String\",\"SubstanceSpecification.identifier\":\"Identifier\",\"SubstanceSpecification.implicitRules\":\"uri\",\"SubstanceSpecification.language\":\"code\",\"SubstanceSpecification.meta\":\"Meta\",\"SubstanceSpecification.modifierExtension\":\"Extension\",\"SubstanceSpecification.moiety.amountQuantity\":\"Quantity\",\"SubstanceSpecification.moiety.amountString\":\"string\",\"SubstanceSpecification.moiety.extension\":\"Extension\",\"SubstanceSpecification.moiety.id\":\"System.String\",\"SubstanceSpecification.moiety.identifier\":\"Identifier\",\"SubstanceSpecification.moiety.modifierExtension\":\"Extension\",\"SubstanceSpecification.moiety.molecularFormula\":\"string\",\"SubstanceSpecification.moiety.name\":\"string\",\"SubstanceSpecification.moiety.opticalActivity\":\"CodeableConcept\",\"SubstanceSpecification.moiety.role\":\"CodeableConcept\",\"SubstanceSpecification.moiety.stereochemistry\":\"CodeableConcept\",\"SubstanceSpecification.name.domain\":\"CodeableConcept\",\"SubstanceSpecification.name.extension\":\"Extension\",\"SubstanceSpecification.name.id\":\"System.String\",\"SubstanceSpecification.name.jurisdiction\":\"CodeableConcept\",\"SubstanceSpecification.name.language\":\"CodeableConcept\",\"SubstanceSpecification.name.modifierExtension\":\"Extension\",\"SubstanceSpecification.name.name\":\"string\",\"SubstanceSpecification.name.official.authority\":\"CodeableConcept\",\"SubstanceSpecification.name.official.date\":\"dateTime\",\"SubstanceSpecification.name.official.extension\":\"Extension\",\"SubstanceSpecification.name.official.id\":\"System.String\",\"SubstanceSpecification.name.official.modifierExtension\":\"Extension\",\"SubstanceSpecification.name.official.status\":\"CodeableConcept\",\"SubstanceSpecification.name.preferred\":\"boolean\",\"SubstanceSpecification.name.source\":\"Reference\",\"SubstanceSpecification.name.status\":\"CodeableConcept\",\"SubstanceSpecification.name.type\":\"CodeableConcept\",\"SubstanceSpecification.nucleicAcid\":\"Reference\",\"SubstanceSpecification.polymer\":\"Reference\",\"SubstanceSpecification.property.amountQuantity\":\"Quantity\",\"SubstanceSpecification.property.amountString\":\"string\",\"SubstanceSpecification.property.category\":\"CodeableConcept\",\"SubstanceSpecification.property.code\":\"CodeableConcept\",\"SubstanceSpecification.property.definingSubstanceCodeableConcept\":\"CodeableConcept\",\"SubstanceSpecification.property.definingSubstanceReference\":\"Reference\",\"SubstanceSpecification.property.extension\":\"Extension\",\"SubstanceSpecification.property.id\":\"System.String\",\"SubstanceSpecification.property.modifierExtension\":\"Extension\",\"SubstanceSpecification.property.parameters\":\"string\",\"SubstanceSpecification.protein\":\"Reference\",\"SubstanceSpecification.referenceInformation\":\"Reference\",\"SubstanceSpecification.relationship.amountQuantity\":\"Quantity\",\"SubstanceSpecification.relationship.amountRange\":\"Range\",\"SubstanceSpecification.relationship.amountRatio\":\"Ratio\",\"SubstanceSpecification.relationship.amountRatioLowLimit\":\"Ratio\",\"SubstanceSpecification.relationship.amountString\":\"string\",\"SubstanceSpecification.relationship.amountType\":\"CodeableConcept\",\"SubstanceSpecification.relationship.extension\":\"Extension\",\"SubstanceSpecification.relationship.id\":\"System.String\",\"SubstanceSpecification.relationship.isDefining\":\"boolean\",\"SubstanceSpecification.relationship.modifierExtension\":\"Extension\",\"SubstanceSpecification.relationship.relationship\":\"CodeableConcept\",\"SubstanceSpecification.relationship.source\":\"Reference\",\"SubstanceSpecification.relationship.substanceCodeableConcept\":\"CodeableConcept\",\"SubstanceSpecification.relationship.substanceReference\":\"Reference\",\"SubstanceSpecification.source\":\"Reference\",\"SubstanceSpecification.sourceMaterial\":\"Reference\",\"SubstanceSpecification.status\":\"CodeableConcept\",\"SubstanceSpecification.structure.extension\":\"Extension\",\"SubstanceSpecification.structure.id\":\"System.String\",\"SubstanceSpecification.structure.isotope.extension\":\"Extension\",\"SubstanceSpecification.structure.isotope.halfLife\":\"Quantity\",\"SubstanceSpecification.structure.isotope.id\":\"System.String\",\"SubstanceSpecification.structure.isotope.identifier\":\"Identifier\",\"SubstanceSpecification.structure.isotope.modifierExtension\":\"Extension\",\"SubstanceSpecification.structure.isotope.molecularWeight.amount\":\"Quantity\",\"SubstanceSpecification.structure.isotope.molecularWeight.extension\":\"Extension\",\"SubstanceSpecification.structure.isotope.molecularWeight.id\":\"System.String\",\"SubstanceSpecification.structure.isotope.molecularWeight.method\":\"CodeableConcept\",\"SubstanceSpecification.structure.isotope.molecularWeight.modifierExtension\":\"Extension\",\"SubstanceSpecification.structure.isotope.molecularWeight.type\":\"CodeableConcept\",\"SubstanceSpecification.structure.isotope.name\":\"CodeableConcept\",\"SubstanceSpecification.structure.isotope.substitution\":\"CodeableConcept\",\"SubstanceSpecification.structure.modifierExtension\":\"Extension\",\"SubstanceSpecification.structure.molecularFormula\":\"string\",\"SubstanceSpecification.structure.molecularFormulaByMoiety\":\"string\",\"SubstanceSpecification.structure.opticalActivity\":\"CodeableConcept\",\"SubstanceSpecification.structure.representation.attachment\":\"Attachment\",\"SubstanceSpecification.structure.representation.extension\":\"Extension\",\"SubstanceSpecification.structure.representation.id\":\"System.String\",\"SubstanceSpecification.structure.representation.modifierExtension\":\"Extension\",\"SubstanceSpecification.structure.representation.representation\":\"string\",\"SubstanceSpecification.structure.representation.type\":\"CodeableConcept\",\"SubstanceSpecification.structure.source\":\"Reference\",\"SubstanceSpecification.structure.stereochemistry\":\"CodeableConcept\",\"SubstanceSpecification.text\":\"Narrative\",\"SubstanceSpecification.type\":\"CodeableConcept\",\"SupplyDelivery.basedOn\":\"Reference\",\"SupplyDelivery.contained\":\"Resource\",\"SupplyDelivery.destination\":\"Reference\",\"SupplyDelivery.extension\":\"Extension\",\"SupplyDelivery.id\":\"System.String\",\"SupplyDelivery.identifier\":\"Identifier\",\"SupplyDelivery.implicitRules\":\"uri\",\"SupplyDelivery.language\":\"code\",\"SupplyDelivery.meta\":\"Meta\",\"SupplyDelivery.modifierExtension\":\"Extension\",\"SupplyDelivery.occurrenceDateTime\":\"dateTime\",\"SupplyDelivery.occurrencePeriod\":\"Period\",\"SupplyDelivery.occurrenceTiming\":\"Timing\",\"SupplyDelivery.partOf\":\"Reference\",\"SupplyDelivery.patient\":\"Reference\",\"SupplyDelivery.receiver\":\"Reference\",\"SupplyDelivery.status\":\"code\",\"SupplyDelivery.suppliedItem.extension\":\"Extension\",\"SupplyDelivery.suppliedItem.id\":\"System.String\",\"SupplyDelivery.suppliedItem.itemCodeableConcept\":\"CodeableConcept\",\"SupplyDelivery.suppliedItem.itemReference\":\"Reference\",\"SupplyDelivery.suppliedItem.modifierExtension\":\"Extension\",\"SupplyDelivery.suppliedItem.quantity\":\"Quantity\",\"SupplyDelivery.supplier\":\"Reference\",\"SupplyDelivery.text\":\"Narrative\",\"SupplyDelivery.type\":\"CodeableConcept\",\"SupplyRequest.authoredOn\":\"dateTime\",\"SupplyRequest.category\":\"CodeableConcept\",\"SupplyRequest.contained\":\"Resource\",\"SupplyRequest.deliverFrom\":\"Reference\",\"SupplyRequest.deliverTo\":\"Reference\",\"SupplyRequest.extension\":\"Extension\",\"SupplyRequest.id\":\"System.String\",\"SupplyRequest.identifier\":\"Identifier\",\"SupplyRequest.implicitRules\":\"uri\",\"SupplyRequest.itemCodeableConcept\":\"CodeableConcept\",\"SupplyRequest.itemReference\":\"Reference\",\"SupplyRequest.language\":\"code\",\"SupplyRequest.meta\":\"Meta\",\"SupplyRequest.modifierExtension\":\"Extension\",\"SupplyRequest.occurrenceDateTime\":\"dateTime\",\"SupplyRequest.occurrencePeriod\":\"Period\",\"SupplyRequest.occurrenceTiming\":\"Timing\",\"SupplyRequest.parameter.code\":\"CodeableConcept\",\"SupplyRequest.parameter.extension\":\"Extension\",\"SupplyRequest.parameter.id\":\"System.String\",\"SupplyRequest.parameter.modifierExtension\":\"Extension\",\"SupplyRequest.parameter.valueBoolean\":\"boolean\",\"SupplyRequest.parameter.valueCodeableConcept\":\"CodeableConcept\",\"SupplyRequest.parameter.valueQuantity\":\"Quantity\",\"SupplyRequest.parameter.valueRange\":\"Range\",\"SupplyRequest.priority\":\"code\",\"SupplyRequest.quantity\":\"Quantity\",\"SupplyRequest.reasonCode\":\"CodeableConcept\",\"SupplyRequest.reasonReference\":\"Reference\",\"SupplyRequest.requester\":\"Reference\",\"SupplyRequest.status\":\"code\",\"SupplyRequest.supplier\":\"Reference\",\"SupplyRequest.text\":\"Narrative\",\"Task.authoredOn\":\"dateTime\",\"Task.basedOn\":\"Reference\",\"Task.businessStatus\":\"CodeableConcept\",\"Task.code\":\"CodeableConcept\",\"Task.contained\":\"Resource\",\"Task.description\":\"string\",\"Task.encounter\":\"Reference\",\"Task.executionPeriod\":\"Period\",\"Task.extension\":\"Extension\",\"Task.focus\":\"Reference\",\"Task.for\":\"Reference\",\"Task.groupIdentifier\":\"Identifier\",\"Task.id\":\"System.String\",\"Task.identifier\":\"Identifier\",\"Task.implicitRules\":\"uri\",\"Task.input.extension\":\"Extension\",\"Task.input.id\":\"System.String\",\"Task.input.modifierExtension\":\"Extension\",\"Task.input.type\":\"CodeableConcept\",\"Task.input.valueAddress\":\"Address\",\"Task.input.valueAge\":\"Age\",\"Task.input.valueAnnotation\":\"Annotation\",\"Task.input.valueAttachment\":\"Attachment\",\"Task.input.valueBase64Binary\":\"base64Binary\",\"Task.input.valueBoolean\":\"boolean\",\"Task.input.valueCanonical\":\"canonical\",\"Task.input.valueCode\":\"code\",\"Task.input.valueCodeableConcept\":\"CodeableConcept\",\"Task.input.valueCoding\":\"Coding\",\"Task.input.valueContactDetail\":\"ContactDetail\",\"Task.input.valueContactPoint\":\"ContactPoint\",\"Task.input.valueContributor\":\"Contributor\",\"Task.input.valueCount\":\"Count\",\"Task.input.valueDataRequirement\":\"DataRequirement\",\"Task.input.valueDate\":\"date\",\"Task.input.valueDateTime\":\"dateTime\",\"Task.input.valueDecimal\":\"decimal\",\"Task.input.valueDistance\":\"Distance\",\"Task.input.valueDosage\":\"Dosage\",\"Task.input.valueDuration\":\"Duration\",\"Task.input.valueExpression\":\"Expression\",\"Task.input.valueHumanName\":\"HumanName\",\"Task.input.valueId\":\"id\",\"Task.input.valueIdentifier\":\"Identifier\",\"Task.input.valueInstant\":\"instant\",\"Task.input.valueInteger\":\"integer\",\"Task.input.valueMarkdown\":\"markdown\",\"Task.input.valueMeta\":\"Meta\",\"Task.input.valueMoney\":\"Money\",\"Task.input.valueOid\":\"oid\",\"Task.input.valueParameterDefinition\":\"ParameterDefinition\",\"Task.input.valuePeriod\":\"Period\",\"Task.input.valuePositiveInt\":\"positiveInt\",\"Task.input.valueQuantity\":\"Quantity\",\"Task.input.valueRange\":\"Range\",\"Task.input.valueRatio\":\"Ratio\",\"Task.input.valueReference\":\"Reference\",\"Task.input.valueRelatedArtifact\":\"RelatedArtifact\",\"Task.input.valueSampledData\":\"SampledData\",\"Task.input.valueSignature\":\"Signature\",\"Task.input.valueString\":\"string\",\"Task.input.valueTime\":\"time\",\"Task.input.valueTiming\":\"Timing\",\"Task.input.valueTriggerDefinition\":\"TriggerDefinition\",\"Task.input.valueUnsignedInt\":\"unsignedInt\",\"Task.input.valueUri\":\"uri\",\"Task.input.valueUrl\":\"url\",\"Task.input.valueUsageContext\":\"UsageContext\",\"Task.input.valueUuid\":\"uuid\",\"Task.instantiatesCanonical\":\"canonical\",\"Task.instantiatesUri\":\"uri\",\"Task.insurance\":\"Reference\",\"Task.intent\":\"code\",\"Task.language\":\"code\",\"Task.lastModified\":\"dateTime\",\"Task.location\":\"Reference\",\"Task.meta\":\"Meta\",\"Task.modifierExtension\":\"Extension\",\"Task.note\":\"Annotation\",\"Task.output.extension\":\"Extension\",\"Task.output.id\":\"System.String\",\"Task.output.modifierExtension\":\"Extension\",\"Task.output.type\":\"CodeableConcept\",\"Task.output.valueAddress\":\"Address\",\"Task.output.valueAge\":\"Age\",\"Task.output.valueAnnotation\":\"Annotation\",\"Task.output.valueAttachment\":\"Attachment\",\"Task.output.valueBase64Binary\":\"base64Binary\",\"Task.output.valueBoolean\":\"boolean\",\"Task.output.valueCanonical\":\"canonical\",\"Task.output.valueCode\":\"code\",\"Task.output.valueCodeableConcept\":\"CodeableConcept\",\"Task.output.valueCoding\":\"Coding\",\"Task.output.valueContactDetail\":\"ContactDetail\",\"Task.output.valueContactPoint\":\"ContactPoint\",\"Task.output.valueContributor\":\"Contributor\",\"Task.output.valueCount\":\"Count\",\"Task.output.valueDataRequirement\":\"DataRequirement\",\"Task.output.valueDate\":\"date\",\"Task.output.valueDateTime\":\"dateTime\",\"Task.output.valueDecimal\":\"decimal\",\"Task.output.valueDistance\":\"Distance\",\"Task.output.valueDosage\":\"Dosage\",\"Task.output.valueDuration\":\"Duration\",\"Task.output.valueExpression\":\"Expression\",\"Task.output.valueHumanName\":\"HumanName\",\"Task.output.valueId\":\"id\",\"Task.output.valueIdentifier\":\"Identifier\",\"Task.output.valueInstant\":\"instant\",\"Task.output.valueInteger\":\"integer\",\"Task.output.valueMarkdown\":\"markdown\",\"Task.output.valueMeta\":\"Meta\",\"Task.output.valueMoney\":\"Money\",\"Task.output.valueOid\":\"oid\",\"Task.output.valueParameterDefinition\":\"ParameterDefinition\",\"Task.output.valuePeriod\":\"Period\",\"Task.output.valuePositiveInt\":\"positiveInt\",\"Task.output.valueQuantity\":\"Quantity\",\"Task.output.valueRange\":\"Range\",\"Task.output.valueRatio\":\"Ratio\",\"Task.output.valueReference\":\"Reference\",\"Task.output.valueRelatedArtifact\":\"RelatedArtifact\",\"Task.output.valueSampledData\":\"SampledData\",\"Task.output.valueSignature\":\"Signature\",\"Task.output.valueString\":\"string\",\"Task.output.valueTime\":\"time\",\"Task.output.valueTiming\":\"Timing\",\"Task.output.valueTriggerDefinition\":\"TriggerDefinition\",\"Task.output.valueUnsignedInt\":\"unsignedInt\",\"Task.output.valueUri\":\"uri\",\"Task.output.valueUrl\":\"url\",\"Task.output.valueUsageContext\":\"UsageContext\",\"Task.output.valueUuid\":\"uuid\",\"Task.owner\":\"Reference\",\"Task.partOf\":\"Reference\",\"Task.performerType\":\"CodeableConcept\",\"Task.priority\":\"code\",\"Task.reasonCode\":\"CodeableConcept\",\"Task.reasonReference\":\"Reference\",\"Task.relevantHistory\":\"Reference\",\"Task.requester\":\"Reference\",\"Task.restriction.extension\":\"Extension\",\"Task.restriction.id\":\"System.String\",\"Task.restriction.modifierExtension\":\"Extension\",\"Task.restriction.period\":\"Period\",\"Task.restriction.recipient\":\"Reference\",\"Task.restriction.repetitions\":\"positiveInt\",\"Task.status\":\"code\",\"Task.statusReason\":\"CodeableConcept\",\"Task.text\":\"Narrative\",\"TerminologyCapabilities.closure.extension\":\"Extension\",\"TerminologyCapabilities.closure.id\":\"System.String\",\"TerminologyCapabilities.closure.modifierExtension\":\"Extension\",\"TerminologyCapabilities.closure.translation\":\"boolean\",\"TerminologyCapabilities.codeSearch\":\"code\",\"TerminologyCapabilities.codeSystem.extension\":\"Extension\",\"TerminologyCapabilities.codeSystem.id\":\"System.String\",\"TerminologyCapabilities.codeSystem.modifierExtension\":\"Extension\",\"TerminologyCapabilities.codeSystem.subsumption\":\"boolean\",\"TerminologyCapabilities.codeSystem.uri\":\"canonical\",\"TerminologyCapabilities.codeSystem.version.code\":\"string\",\"TerminologyCapabilities.codeSystem.version.compositional\":\"boolean\",\"TerminologyCapabilities.codeSystem.version.extension\":\"Extension\",\"TerminologyCapabilities.codeSystem.version.filter.code\":\"code\",\"TerminologyCapabilities.codeSystem.version.filter.extension\":\"Extension\",\"TerminologyCapabilities.codeSystem.version.filter.id\":\"System.String\",\"TerminologyCapabilities.codeSystem.version.filter.modifierExtension\":\"Extension\",\"TerminologyCapabilities.codeSystem.version.filter.op\":\"code\",\"TerminologyCapabilities.codeSystem.version.id\":\"System.String\",\"TerminologyCapabilities.codeSystem.version.isDefault\":\"boolean\",\"TerminologyCapabilities.codeSystem.version.language\":\"code\",\"TerminologyCapabilities.codeSystem.version.modifierExtension\":\"Extension\",\"TerminologyCapabilities.codeSystem.version.property\":\"code\",\"TerminologyCapabilities.contact\":\"ContactDetail\",\"TerminologyCapabilities.contained\":\"Resource\",\"TerminologyCapabilities.copyright\":\"markdown\",\"TerminologyCapabilities.date\":\"dateTime\",\"TerminologyCapabilities.description\":\"markdown\",\"TerminologyCapabilities.expansion.extension\":\"Extension\",\"TerminologyCapabilities.expansion.hierarchical\":\"boolean\",\"TerminologyCapabilities.expansion.id\":\"System.String\",\"TerminologyCapabilities.expansion.incomplete\":\"boolean\",\"TerminologyCapabilities.expansion.modifierExtension\":\"Extension\",\"TerminologyCapabilities.expansion.paging\":\"boolean\",\"TerminologyCapabilities.expansion.parameter.documentation\":\"string\",\"TerminologyCapabilities.expansion.parameter.extension\":\"Extension\",\"TerminologyCapabilities.expansion.parameter.id\":\"System.String\",\"TerminologyCapabilities.expansion.parameter.modifierExtension\":\"Extension\",\"TerminologyCapabilities.expansion.parameter.name\":\"code\",\"TerminologyCapabilities.expansion.textFilter\":\"markdown\",\"TerminologyCapabilities.experimental\":\"boolean\",\"TerminologyCapabilities.extension\":\"Extension\",\"TerminologyCapabilities.id\":\"System.String\",\"TerminologyCapabilities.implementation.description\":\"string\",\"TerminologyCapabilities.implementation.extension\":\"Extension\",\"TerminologyCapabilities.implementation.id\":\"System.String\",\"TerminologyCapabilities.implementation.modifierExtension\":\"Extension\",\"TerminologyCapabilities.implementation.url\":\"url\",\"TerminologyCapabilities.implicitRules\":\"uri\",\"TerminologyCapabilities.jurisdiction\":\"CodeableConcept\",\"TerminologyCapabilities.kind\":\"code\",\"TerminologyCapabilities.language\":\"code\",\"TerminologyCapabilities.lockedDate\":\"boolean\",\"TerminologyCapabilities.meta\":\"Meta\",\"TerminologyCapabilities.modifierExtension\":\"Extension\",\"TerminologyCapabilities.name\":\"string\",\"TerminologyCapabilities.publisher\":\"string\",\"TerminologyCapabilities.purpose\":\"markdown\",\"TerminologyCapabilities.software.extension\":\"Extension\",\"TerminologyCapabilities.software.id\":\"System.String\",\"TerminologyCapabilities.software.modifierExtension\":\"Extension\",\"TerminologyCapabilities.software.name\":\"string\",\"TerminologyCapabilities.software.version\":\"string\",\"TerminologyCapabilities.status\":\"code\",\"TerminologyCapabilities.text\":\"Narrative\",\"TerminologyCapabilities.title\":\"string\",\"TerminologyCapabilities.translation.extension\":\"Extension\",\"TerminologyCapabilities.translation.id\":\"System.String\",\"TerminologyCapabilities.translation.modifierExtension\":\"Extension\",\"TerminologyCapabilities.translation.needsMap\":\"boolean\",\"TerminologyCapabilities.url\":\"uri\",\"TerminologyCapabilities.useContext\":\"UsageContext\",\"TerminologyCapabilities.validateCode.extension\":\"Extension\",\"TerminologyCapabilities.validateCode.id\":\"System.String\",\"TerminologyCapabilities.validateCode.modifierExtension\":\"Extension\",\"TerminologyCapabilities.validateCode.translations\":\"boolean\",\"TerminologyCapabilities.version\":\"string\",\"TestReport.contained\":\"Resource\",\"TestReport.extension\":\"Extension\",\"TestReport.id\":\"System.String\",\"TestReport.identifier\":\"Identifier\",\"TestReport.implicitRules\":\"uri\",\"TestReport.issued\":\"dateTime\",\"TestReport.language\":\"code\",\"TestReport.meta\":\"Meta\",\"TestReport.modifierExtension\":\"Extension\",\"TestReport.name\":\"string\",\"TestReport.participant.display\":\"string\",\"TestReport.participant.extension\":\"Extension\",\"TestReport.participant.id\":\"System.String\",\"TestReport.participant.modifierExtension\":\"Extension\",\"TestReport.participant.type\":\"code\",\"TestReport.participant.uri\":\"uri\",\"TestReport.result\":\"code\",\"TestReport.score\":\"decimal\",\"TestReport.setup.action.assert.detail\":\"string\",\"TestReport.setup.action.assert.extension\":\"Extension\",\"TestReport.setup.action.assert.id\":\"System.String\",\"TestReport.setup.action.assert.message\":\"markdown\",\"TestReport.setup.action.assert.modifierExtension\":\"Extension\",\"TestReport.setup.action.assert.result\":\"code\",\"TestReport.setup.action.extension\":\"Extension\",\"TestReport.setup.action.id\":\"System.String\",\"TestReport.setup.action.modifierExtension\":\"Extension\",\"TestReport.setup.action.operation.detail\":\"uri\",\"TestReport.setup.action.operation.extension\":\"Extension\",\"TestReport.setup.action.operation.id\":\"System.String\",\"TestReport.setup.action.operation.message\":\"markdown\",\"TestReport.setup.action.operation.modifierExtension\":\"Extension\",\"TestReport.setup.action.operation.result\":\"code\",\"TestReport.setup.extension\":\"Extension\",\"TestReport.setup.id\":\"System.String\",\"TestReport.setup.modifierExtension\":\"Extension\",\"TestReport.status\":\"code\",\"TestReport.teardown.action.extension\":\"Extension\",\"TestReport.teardown.action.id\":\"System.String\",\"TestReport.teardown.action.modifierExtension\":\"Extension\",\"TestReport.teardown.extension\":\"Extension\",\"TestReport.teardown.id\":\"System.String\",\"TestReport.teardown.modifierExtension\":\"Extension\",\"TestReport.test.action.extension\":\"Extension\",\"TestReport.test.action.id\":\"System.String\",\"TestReport.test.action.modifierExtension\":\"Extension\",\"TestReport.test.description\":\"string\",\"TestReport.test.extension\":\"Extension\",\"TestReport.test.id\":\"System.String\",\"TestReport.test.modifierExtension\":\"Extension\",\"TestReport.test.name\":\"string\",\"TestReport.testScript\":\"Reference\",\"TestReport.tester\":\"string\",\"TestReport.text\":\"Narrative\",\"TestScript.contact\":\"ContactDetail\",\"TestScript.contained\":\"Resource\",\"TestScript.copyright\":\"markdown\",\"TestScript.date\":\"dateTime\",\"TestScript.description\":\"markdown\",\"TestScript.destination.extension\":\"Extension\",\"TestScript.destination.id\":\"System.String\",\"TestScript.destination.index\":\"integer\",\"TestScript.destination.modifierExtension\":\"Extension\",\"TestScript.destination.profile\":\"Coding\",\"TestScript.experimental\":\"boolean\",\"TestScript.extension\":\"Extension\",\"TestScript.fixture.autocreate\":\"boolean\",\"TestScript.fixture.autodelete\":\"boolean\",\"TestScript.fixture.extension\":\"Extension\",\"TestScript.fixture.id\":\"System.String\",\"TestScript.fixture.modifierExtension\":\"Extension\",\"TestScript.fixture.resource\":\"Reference\",\"TestScript.id\":\"System.String\",\"TestScript.identifier\":\"Identifier\",\"TestScript.implicitRules\":\"uri\",\"TestScript.jurisdiction\":\"CodeableConcept\",\"TestScript.language\":\"code\",\"TestScript.meta\":\"Meta\",\"TestScript.metadata.capability.capabilities\":\"canonical\",\"TestScript.metadata.capability.description\":\"string\",\"TestScript.metadata.capability.destination\":\"integer\",\"TestScript.metadata.capability.extension\":\"Extension\",\"TestScript.metadata.capability.id\":\"System.String\",\"TestScript.metadata.capability.link\":\"uri\",\"TestScript.metadata.capability.modifierExtension\":\"Extension\",\"TestScript.metadata.capability.origin\":\"integer\",\"TestScript.metadata.capability.required\":\"boolean\",\"TestScript.metadata.capability.validated\":\"boolean\",\"TestScript.metadata.extension\":\"Extension\",\"TestScript.metadata.id\":\"System.String\",\"TestScript.metadata.link.description\":\"string\",\"TestScript.metadata.link.extension\":\"Extension\",\"TestScript.metadata.link.id\":\"System.String\",\"TestScript.metadata.link.modifierExtension\":\"Extension\",\"TestScript.metadata.link.url\":\"uri\",\"TestScript.metadata.modifierExtension\":\"Extension\",\"TestScript.modifierExtension\":\"Extension\",\"TestScript.name\":\"string\",\"TestScript.origin.extension\":\"Extension\",\"TestScript.origin.id\":\"System.String\",\"TestScript.origin.index\":\"integer\",\"TestScript.origin.modifierExtension\":\"Extension\",\"TestScript.origin.profile\":\"Coding\",\"TestScript.profile\":\"Reference\",\"TestScript.publisher\":\"string\",\"TestScript.purpose\":\"markdown\",\"TestScript.setup.action.assert.compareToSourceExpression\":\"string\",\"TestScript.setup.action.assert.compareToSourceId\":\"string\",\"TestScript.setup.action.assert.compareToSourcePath\":\"string\",\"TestScript.setup.action.assert.contentType\":\"code\",\"TestScript.setup.action.assert.description\":\"string\",\"TestScript.setup.action.assert.direction\":\"code\",\"TestScript.setup.action.assert.expression\":\"string\",\"TestScript.setup.action.assert.extension\":\"Extension\",\"TestScript.setup.action.assert.headerField\":\"string\",\"TestScript.setup.action.assert.id\":\"System.String\",\"TestScript.setup.action.assert.label\":\"string\",\"TestScript.setup.action.assert.minimumId\":\"string\",\"TestScript.setup.action.assert.modifierExtension\":\"Extension\",\"TestScript.setup.action.assert.navigationLinks\":\"boolean\",\"TestScript.setup.action.assert.operator\":\"code\",\"TestScript.setup.action.assert.path\":\"string\",\"TestScript.setup.action.assert.requestMethod\":\"code\",\"TestScript.setup.action.assert.requestURL\":\"string\",\"TestScript.setup.action.assert.resource\":\"code\",\"TestScript.setup.action.assert.response\":\"code\",\"TestScript.setup.action.assert.responseCode\":\"string\",\"TestScript.setup.action.assert.sourceId\":\"id\",\"TestScript.setup.action.assert.validateProfileId\":\"id\",\"TestScript.setup.action.assert.value\":\"string\",\"TestScript.setup.action.assert.warningOnly\":\"boolean\",\"TestScript.setup.action.extension\":\"Extension\",\"TestScript.setup.action.id\":\"System.String\",\"TestScript.setup.action.modifierExtension\":\"Extension\",\"TestScript.setup.action.operation.accept\":\"code\",\"TestScript.setup.action.operation.contentType\":\"code\",\"TestScript.setup.action.operation.description\":\"string\",\"TestScript.setup.action.operation.destination\":\"integer\",\"TestScript.setup.action.operation.encodeRequestUrl\":\"boolean\",\"TestScript.setup.action.operation.extension\":\"Extension\",\"TestScript.setup.action.operation.id\":\"System.String\",\"TestScript.setup.action.operation.label\":\"string\",\"TestScript.setup.action.operation.method\":\"code\",\"TestScript.setup.action.operation.modifierExtension\":\"Extension\",\"TestScript.setup.action.operation.origin\":\"integer\",\"TestScript.setup.action.operation.params\":\"string\",\"TestScript.setup.action.operation.requestHeader.extension\":\"Extension\",\"TestScript.setup.action.operation.requestHeader.field\":\"string\",\"TestScript.setup.action.operation.requestHeader.id\":\"System.String\",\"TestScript.setup.action.operation.requestHeader.modifierExtension\":\"Extension\",\"TestScript.setup.action.operation.requestHeader.value\":\"string\",\"TestScript.setup.action.operation.requestId\":\"id\",\"TestScript.setup.action.operation.resource\":\"code\",\"TestScript.setup.action.operation.responseId\":\"id\",\"TestScript.setup.action.operation.sourceId\":\"id\",\"TestScript.setup.action.operation.targetId\":\"id\",\"TestScript.setup.action.operation.type\":\"Coding\",\"TestScript.setup.action.operation.url\":\"string\",\"TestScript.setup.extension\":\"Extension\",\"TestScript.setup.id\":\"System.String\",\"TestScript.setup.modifierExtension\":\"Extension\",\"TestScript.status\":\"code\",\"TestScript.teardown.action.extension\":\"Extension\",\"TestScript.teardown.action.id\":\"System.String\",\"TestScript.teardown.action.modifierExtension\":\"Extension\",\"TestScript.teardown.extension\":\"Extension\",\"TestScript.teardown.id\":\"System.String\",\"TestScript.teardown.modifierExtension\":\"Extension\",\"TestScript.test.action.extension\":\"Extension\",\"TestScript.test.action.id\":\"System.String\",\"TestScript.test.action.modifierExtension\":\"Extension\",\"TestScript.test.description\":\"string\",\"TestScript.test.extension\":\"Extension\",\"TestScript.test.id\":\"System.String\",\"TestScript.test.modifierExtension\":\"Extension\",\"TestScript.test.name\":\"string\",\"TestScript.text\":\"Narrative\",\"TestScript.title\":\"string\",\"TestScript.url\":\"uri\",\"TestScript.useContext\":\"UsageContext\",\"TestScript.variable.defaultValue\":\"string\",\"TestScript.variable.description\":\"string\",\"TestScript.variable.expression\":\"string\",\"TestScript.variable.extension\":\"Extension\",\"TestScript.variable.headerField\":\"string\",\"TestScript.variable.hint\":\"string\",\"TestScript.variable.id\":\"System.String\",\"TestScript.variable.modifierExtension\":\"Extension\",\"TestScript.variable.name\":\"string\",\"TestScript.variable.path\":\"string\",\"TestScript.variable.sourceId\":\"id\",\"TestScript.version\":\"string\",\"Timing.code\":\"CodeableConcept\",\"Timing.event\":\"dateTime\",\"Timing.extension\":\"Extension\",\"Timing.id\":\"System.String\",\"Timing.modifierExtension\":\"Extension\",\"Timing.repeat.boundsDuration\":\"Duration\",\"Timing.repeat.boundsPeriod\":\"Period\",\"Timing.repeat.boundsRange\":\"Range\",\"Timing.repeat.count\":\"positiveInt\",\"Timing.repeat.countMax\":\"positiveInt\",\"Timing.repeat.dayOfWeek\":\"code\",\"Timing.repeat.duration\":\"decimal\",\"Timing.repeat.durationMax\":\"decimal\",\"Timing.repeat.durationUnit\":\"code\",\"Timing.repeat.extension\":\"Extension\",\"Timing.repeat.frequency\":\"positiveInt\",\"Timing.repeat.frequencyMax\":\"positiveInt\",\"Timing.repeat.id\":\"System.String\",\"Timing.repeat.offset\":\"unsignedInt\",\"Timing.repeat.period\":\"decimal\",\"Timing.repeat.periodMax\":\"decimal\",\"Timing.repeat.periodUnit\":\"code\",\"Timing.repeat.timeOfDay\":\"time\",\"Timing.repeat.when\":\"code\",\"TriggerDefinition.condition\":\"Expression\",\"TriggerDefinition.data\":\"DataRequirement\",\"TriggerDefinition.extension\":\"Extension\",\"TriggerDefinition.id\":\"System.String\",\"TriggerDefinition.name\":\"string\",\"TriggerDefinition.timingDate\":\"date\",\"TriggerDefinition.timingDateTime\":\"dateTime\",\"TriggerDefinition.timingReference\":\"Reference\",\"TriggerDefinition.timingTiming\":\"Timing\",\"TriggerDefinition.type\":\"code\",\"UsageContext.code\":\"Coding\",\"UsageContext.extension\":\"Extension\",\"UsageContext.id\":\"System.String\",\"UsageContext.valueCodeableConcept\":\"CodeableConcept\",\"UsageContext.valueQuantity\":\"Quantity\",\"UsageContext.valueRange\":\"Range\",\"UsageContext.valueReference\":\"Reference\",\"ValueSet.compose.extension\":\"Extension\",\"ValueSet.compose.id\":\"System.String\",\"ValueSet.compose.inactive\":\"boolean\",\"ValueSet.compose.include.concept.code\":\"code\",\"ValueSet.compose.include.concept.designation.extension\":\"Extension\",\"ValueSet.compose.include.concept.designation.id\":\"System.String\",\"ValueSet.compose.include.concept.designation.language\":\"code\",\"ValueSet.compose.include.concept.designation.modifierExtension\":\"Extension\",\"ValueSet.compose.include.concept.designation.use\":\"Coding\",\"ValueSet.compose.include.concept.designation.value\":\"string\",\"ValueSet.compose.include.concept.display\":\"string\",\"ValueSet.compose.include.concept.extension\":\"Extension\",\"ValueSet.compose.include.concept.id\":\"System.String\",\"ValueSet.compose.include.concept.modifierExtension\":\"Extension\",\"ValueSet.compose.include.extension\":\"Extension\",\"ValueSet.compose.include.filter.extension\":\"Extension\",\"ValueSet.compose.include.filter.id\":\"System.String\",\"ValueSet.compose.include.filter.modifierExtension\":\"Extension\",\"ValueSet.compose.include.filter.op\":\"code\",\"ValueSet.compose.include.filter.property\":\"code\",\"ValueSet.compose.include.filter.value\":\"string\",\"ValueSet.compose.include.id\":\"System.String\",\"ValueSet.compose.include.modifierExtension\":\"Extension\",\"ValueSet.compose.include.system\":\"uri\",\"ValueSet.compose.include.valueSet\":\"canonical\",\"ValueSet.compose.include.version\":\"string\",\"ValueSet.compose.lockedDate\":\"date\",\"ValueSet.compose.modifierExtension\":\"Extension\",\"ValueSet.contact\":\"ContactDetail\",\"ValueSet.contained\":\"Resource\",\"ValueSet.copyright\":\"markdown\",\"ValueSet.date\":\"dateTime\",\"ValueSet.description\":\"markdown\",\"ValueSet.expansion.contains.abstract\":\"boolean\",\"ValueSet.expansion.contains.code\":\"code\",\"ValueSet.expansion.contains.display\":\"string\",\"ValueSet.expansion.contains.extension\":\"Extension\",\"ValueSet.expansion.contains.id\":\"System.String\",\"ValueSet.expansion.contains.inactive\":\"boolean\",\"ValueSet.expansion.contains.modifierExtension\":\"Extension\",\"ValueSet.expansion.contains.system\":\"uri\",\"ValueSet.expansion.contains.version\":\"string\",\"ValueSet.expansion.extension\":\"Extension\",\"ValueSet.expansion.id\":\"System.String\",\"ValueSet.expansion.identifier\":\"uri\",\"ValueSet.expansion.modifierExtension\":\"Extension\",\"ValueSet.expansion.offset\":\"integer\",\"ValueSet.expansion.parameter.extension\":\"Extension\",\"ValueSet.expansion.parameter.id\":\"System.String\",\"ValueSet.expansion.parameter.modifierExtension\":\"Extension\",\"ValueSet.expansion.parameter.name\":\"string\",\"ValueSet.expansion.parameter.valueBoolean\":\"boolean\",\"ValueSet.expansion.parameter.valueCode\":\"code\",\"ValueSet.expansion.parameter.valueDateTime\":\"dateTime\",\"ValueSet.expansion.parameter.valueDecimal\":\"decimal\",\"ValueSet.expansion.parameter.valueInteger\":\"integer\",\"ValueSet.expansion.parameter.valueString\":\"string\",\"ValueSet.expansion.parameter.valueUri\":\"uri\",\"ValueSet.expansion.timestamp\":\"dateTime\",\"ValueSet.expansion.total\":\"integer\",\"ValueSet.experimental\":\"boolean\",\"ValueSet.extension\":\"Extension\",\"ValueSet.id\":\"System.String\",\"ValueSet.identifier\":\"Identifier\",\"ValueSet.immutable\":\"boolean\",\"ValueSet.implicitRules\":\"uri\",\"ValueSet.jurisdiction\":\"CodeableConcept\",\"ValueSet.language\":\"code\",\"ValueSet.meta\":\"Meta\",\"ValueSet.modifierExtension\":\"Extension\",\"ValueSet.name\":\"string\",\"ValueSet.publisher\":\"string\",\"ValueSet.purpose\":\"markdown\",\"ValueSet.status\":\"code\",\"ValueSet.text\":\"Narrative\",\"ValueSet.title\":\"string\",\"ValueSet.url\":\"uri\",\"ValueSet.useContext\":\"UsageContext\",\"ValueSet.version\":\"string\",\"VerificationResult.attestation.communicationMethod\":\"CodeableConcept\",\"VerificationResult.attestation.date\":\"date\",\"VerificationResult.attestation.extension\":\"Extension\",\"VerificationResult.attestation.id\":\"System.String\",\"VerificationResult.attestation.modifierExtension\":\"Extension\",\"VerificationResult.attestation.onBehalfOf\":\"Reference\",\"VerificationResult.attestation.proxyIdentityCertificate\":\"string\",\"VerificationResult.attestation.proxySignature\":\"Signature\",\"VerificationResult.attestation.sourceIdentityCertificate\":\"string\",\"VerificationResult.attestation.sourceSignature\":\"Signature\",\"VerificationResult.attestation.who\":\"Reference\",\"VerificationResult.contained\":\"Resource\",\"VerificationResult.extension\":\"Extension\",\"VerificationResult.failureAction\":\"CodeableConcept\",\"VerificationResult.frequency\":\"Timing\",\"VerificationResult.id\":\"System.String\",\"VerificationResult.implicitRules\":\"uri\",\"VerificationResult.language\":\"code\",\"VerificationResult.lastPerformed\":\"dateTime\",\"VerificationResult.meta\":\"Meta\",\"VerificationResult.modifierExtension\":\"Extension\",\"VerificationResult.need\":\"CodeableConcept\",\"VerificationResult.nextScheduled\":\"date\",\"VerificationResult.primarySource.canPushUpdates\":\"CodeableConcept\",\"VerificationResult.primarySource.communicationMethod\":\"CodeableConcept\",\"VerificationResult.primarySource.extension\":\"Extension\",\"VerificationResult.primarySource.id\":\"System.String\",\"VerificationResult.primarySource.modifierExtension\":\"Extension\",\"VerificationResult.primarySource.pushTypeAvailable\":\"CodeableConcept\",\"VerificationResult.primarySource.type\":\"CodeableConcept\",\"VerificationResult.primarySource.validationDate\":\"dateTime\",\"VerificationResult.primarySource.validationStatus\":\"CodeableConcept\",\"VerificationResult.primarySource.who\":\"Reference\",\"VerificationResult.status\":\"code\",\"VerificationResult.statusDate\":\"dateTime\",\"VerificationResult.target\":\"Reference\",\"VerificationResult.targetLocation\":\"string\",\"VerificationResult.text\":\"Narrative\",\"VerificationResult.validationProcess\":\"CodeableConcept\",\"VerificationResult.validationType\":\"CodeableConcept\",\"VerificationResult.validator.attestationSignature\":\"Signature\",\"VerificationResult.validator.extension\":\"Extension\",\"VerificationResult.validator.id\":\"System.String\",\"VerificationResult.validator.identityCertificate\":\"string\",\"VerificationResult.validator.modifierExtension\":\"Extension\",\"VerificationResult.validator.organization\":\"Reference\",\"VisionPrescription.contained\":\"Resource\",\"VisionPrescription.created\":\"dateTime\",\"VisionPrescription.dateWritten\":\"dateTime\",\"VisionPrescription.encounter\":\"Reference\",\"VisionPrescription.extension\":\"Extension\",\"VisionPrescription.id\":\"System.String\",\"VisionPrescription.identifier\":\"Identifier\",\"VisionPrescription.implicitRules\":\"uri\",\"VisionPrescription.language\":\"code\",\"VisionPrescription.lensSpecification.add\":\"decimal\",\"VisionPrescription.lensSpecification.axis\":\"integer\",\"VisionPrescription.lensSpecification.backCurve\":\"decimal\",\"VisionPrescription.lensSpecification.brand\":\"string\",\"VisionPrescription.lensSpecification.color\":\"string\",\"VisionPrescription.lensSpecification.cylinder\":\"decimal\",\"VisionPrescription.lensSpecification.diameter\":\"decimal\",\"VisionPrescription.lensSpecification.duration\":\"Quantity\",\"VisionPrescription.lensSpecification.extension\":\"Extension\",\"VisionPrescription.lensSpecification.eye\":\"code\",\"VisionPrescription.lensSpecification.id\":\"System.String\",\"VisionPrescription.lensSpecification.modifierExtension\":\"Extension\",\"VisionPrescription.lensSpecification.note\":\"Annotation\",\"VisionPrescription.lensSpecification.power\":\"decimal\",\"VisionPrescription.lensSpecification.prism.amount\":\"decimal\",\"VisionPrescription.lensSpecification.prism.base\":\"code\",\"VisionPrescription.lensSpecification.prism.extension\":\"Extension\",\"VisionPrescription.lensSpecification.prism.id\":\"System.String\",\"VisionPrescription.lensSpecification.prism.modifierExtension\":\"Extension\",\"VisionPrescription.lensSpecification.product\":\"CodeableConcept\",\"VisionPrescription.lensSpecification.sphere\":\"decimal\",\"VisionPrescription.meta\":\"Meta\",\"VisionPrescription.modifierExtension\":\"Extension\",\"VisionPrescription.patient\":\"Reference\",\"VisionPrescription.prescriber\":\"Reference\",\"VisionPrescription.status\":\"code\",\"VisionPrescription.text\":\"Narrative\"}')},151:function(e){\"use strict\";e.exports=JSON.parse('{\"Bundle.entry.link\":\"Bundle.link\",\"CapabilityStatement.rest.operation\":\"CapabilityStatement.rest.resource.operation\",\"CapabilityStatement.rest.searchParam\":\"CapabilityStatement.rest.resource.searchParam\",\"ChargeItemDefinition.propertyGroup.applicability\":\"ChargeItemDefinition.applicability\",\"ClaimResponse.addItem.adjudication\":\"ClaimResponse.item.adjudication\",\"ClaimResponse.addItem.detail.adjudication\":\"ClaimResponse.item.adjudication\",\"ClaimResponse.addItem.detail.subDetail.adjudication\":\"ClaimResponse.item.adjudication\",\"ClaimResponse.adjudication\":\"ClaimResponse.item.adjudication\",\"ClaimResponse.item.detail.adjudication\":\"ClaimResponse.item.adjudication\",\"ClaimResponse.item.detail.subDetail.adjudication\":\"ClaimResponse.item.adjudication\",\"CodeSystem.concept.concept\":\"CodeSystem.concept\",\"Composition.section.section\":\"Composition.section\",\"ConceptMap.group.element.target.product\":\"ConceptMap.group.element.target.dependsOn\",\"Consent.provision.provision\":\"Consent.provision\",\"Contract.term.asset.answer\":\"Contract.term.offer.answer\",\"Contract.term.group\":\"Contract.term\",\"ExampleScenario.process.step.alternative.step\":\"ExampleScenario.process.step\",\"ExampleScenario.process.step.operation.request\":\"ExampleScenario.instance.containedInstance\",\"ExampleScenario.process.step.operation.response\":\"ExampleScenario.instance.containedInstance\",\"ExampleScenario.process.step.process\":\"ExampleScenario.process\",\"ExplanationOfBenefit.addItem.adjudication\":\"ExplanationOfBenefit.item.adjudication\",\"ExplanationOfBenefit.addItem.detail.adjudication\":\"ExplanationOfBenefit.item.adjudication\",\"ExplanationOfBenefit.addItem.detail.subDetail.adjudication\":\"ExplanationOfBenefit.item.adjudication\",\"ExplanationOfBenefit.adjudication\":\"ExplanationOfBenefit.item.adjudication\",\"ExplanationOfBenefit.item.detail.adjudication\":\"ExplanationOfBenefit.item.adjudication\",\"ExplanationOfBenefit.item.detail.subDetail.adjudication\":\"ExplanationOfBenefit.item.adjudication\",\"GraphDefinition.link.target.link\":\"GraphDefinition.link\",\"ImplementationGuide.definition.page.page\":\"ImplementationGuide.definition.page\",\"Invoice.totalPriceComponent\":\"Invoice.lineItem.priceComponent\",\"MedicinalProductAuthorization.procedure.application\":\"MedicinalProductAuthorization.procedure\",\"MedicinalProductIngredient.substance.strength\":\"MedicinalProductIngredient.specifiedSubstance.strength\",\"MedicinalProductPackaged.packageItem.packageItem\":\"MedicinalProductPackaged.packageItem\",\"Observation.component.referenceRange\":\"Observation.referenceRange\",\"OperationDefinition.parameter.part\":\"OperationDefinition.parameter\",\"Parameters.parameter.part\":\"Parameters.parameter\",\"PlanDefinition.action.action\":\"PlanDefinition.action\",\"Provenance.entity.agent\":\"Provenance.agent\",\"Questionnaire.item.item\":\"Questionnaire.item\",\"QuestionnaireResponse.item.answer.item\":\"QuestionnaireResponse.item\",\"QuestionnaireResponse.item.item\":\"QuestionnaireResponse.item\",\"RequestGroup.action.action\":\"RequestGroup.action\",\"StructureMap.group.rule.rule\":\"StructureMap.group.rule\",\"SubstanceSpecification.molecularWeight\":\"SubstanceSpecification.structure.isotope.molecularWeight\",\"SubstanceSpecification.name.synonym\":\"SubstanceSpecification.name\",\"SubstanceSpecification.name.translation\":\"SubstanceSpecification.name\",\"SubstanceSpecification.structure.molecularWeight\":\"SubstanceSpecification.structure.isotope.molecularWeight\",\"TestReport.teardown.action.operation\":\"TestReport.setup.action.operation\",\"TestReport.test.action.assert\":\"TestReport.setup.action.assert\",\"TestReport.test.action.operation\":\"TestReport.setup.action.operation\",\"TestScript.teardown.action.operation\":\"TestScript.setup.action.operation\",\"TestScript.test.action.assert\":\"TestScript.setup.action.assert\",\"TestScript.test.action.operation\":\"TestScript.setup.action.operation\",\"ValueSet.compose.exclude\":\"ValueSet.compose.include\",\"ValueSet.expansion.contains.contains\":\"ValueSet.expansion.contains\",\"ValueSet.expansion.contains.designation\":\"ValueSet.compose.include.concept.designation\"}')},905:function(e){\"use strict\";e.exports=JSON.parse('{\"Account\":\"DomainResource\",\"ActivityDefinition\":\"DomainResource\",\"Address\":\"Element\",\"AdverseEvent\":\"DomainResource\",\"Age\":\"Quantity\",\"AllergyIntolerance\":\"DomainResource\",\"Annotation\":\"Element\",\"Appointment\":\"DomainResource\",\"AppointmentResponse\":\"DomainResource\",\"Attachment\":\"Element\",\"AuditEvent\":\"DomainResource\",\"BackboneElement\":\"Element\",\"Basic\":\"DomainResource\",\"Binary\":\"Resource\",\"BiologicallyDerivedProduct\":\"DomainResource\",\"BodyStructure\":\"DomainResource\",\"Bundle\":\"Resource\",\"CapabilityStatement\":\"DomainResource\",\"CarePlan\":\"DomainResource\",\"CareTeam\":\"DomainResource\",\"CatalogEntry\":\"DomainResource\",\"ChargeItem\":\"DomainResource\",\"ChargeItemDefinition\":\"DomainResource\",\"Claim\":\"DomainResource\",\"ClaimResponse\":\"DomainResource\",\"ClinicalImpression\":\"DomainResource\",\"CodeSystem\":\"DomainResource\",\"CodeableConcept\":\"Element\",\"Coding\":\"Element\",\"Communication\":\"DomainResource\",\"CommunicationRequest\":\"DomainResource\",\"CompartmentDefinition\":\"DomainResource\",\"Composition\":\"DomainResource\",\"ConceptMap\":\"DomainResource\",\"Condition\":\"DomainResource\",\"Consent\":\"DomainResource\",\"ContactDetail\":\"Element\",\"ContactPoint\":\"Element\",\"Contract\":\"DomainResource\",\"Contributor\":\"Element\",\"Count\":\"Quantity\",\"Coverage\":\"DomainResource\",\"CoverageEligibilityRequest\":\"DomainResource\",\"CoverageEligibilityResponse\":\"DomainResource\",\"DataRequirement\":\"Element\",\"DetectedIssue\":\"DomainResource\",\"Device\":\"DomainResource\",\"DeviceDefinition\":\"DomainResource\",\"DeviceMetric\":\"DomainResource\",\"DeviceRequest\":\"DomainResource\",\"DeviceUseStatement\":\"DomainResource\",\"DiagnosticReport\":\"DomainResource\",\"Distance\":\"Quantity\",\"DocumentManifest\":\"DomainResource\",\"DocumentReference\":\"DomainResource\",\"DomainResource\":\"Resource\",\"Dosage\":\"BackboneElement\",\"Duration\":\"Quantity\",\"EffectEvidenceSynthesis\":\"DomainResource\",\"ElementDefinition\":\"BackboneElement\",\"Encounter\":\"DomainResource\",\"Endpoint\":\"DomainResource\",\"EnrollmentRequest\":\"DomainResource\",\"EnrollmentResponse\":\"DomainResource\",\"EpisodeOfCare\":\"DomainResource\",\"EventDefinition\":\"DomainResource\",\"Evidence\":\"DomainResource\",\"EvidenceVariable\":\"DomainResource\",\"ExampleScenario\":\"DomainResource\",\"ExplanationOfBenefit\":\"DomainResource\",\"Expression\":\"Element\",\"Extension\":\"Element\",\"FamilyMemberHistory\":\"DomainResource\",\"Flag\":\"DomainResource\",\"Goal\":\"DomainResource\",\"GraphDefinition\":\"DomainResource\",\"Group\":\"DomainResource\",\"GuidanceResponse\":\"DomainResource\",\"HealthcareService\":\"DomainResource\",\"HumanName\":\"Element\",\"Identifier\":\"Element\",\"ImagingStudy\":\"DomainResource\",\"Immunization\":\"DomainResource\",\"ImmunizationEvaluation\":\"DomainResource\",\"ImmunizationRecommendation\":\"DomainResource\",\"ImplementationGuide\":\"DomainResource\",\"InsurancePlan\":\"DomainResource\",\"Invoice\":\"DomainResource\",\"Library\":\"DomainResource\",\"Linkage\":\"DomainResource\",\"List\":\"DomainResource\",\"Location\":\"DomainResource\",\"MarketingStatus\":\"BackboneElement\",\"Measure\":\"DomainResource\",\"MeasureReport\":\"DomainResource\",\"Media\":\"DomainResource\",\"Medication\":\"DomainResource\",\"MedicationAdministration\":\"DomainResource\",\"MedicationDispense\":\"DomainResource\",\"MedicationKnowledge\":\"DomainResource\",\"MedicationRequest\":\"DomainResource\",\"MedicationStatement\":\"DomainResource\",\"MedicinalProduct\":\"DomainResource\",\"MedicinalProductAuthorization\":\"DomainResource\",\"MedicinalProductContraindication\":\"DomainResource\",\"MedicinalProductIndication\":\"DomainResource\",\"MedicinalProductIngredient\":\"DomainResource\",\"MedicinalProductInteraction\":\"DomainResource\",\"MedicinalProductManufactured\":\"DomainResource\",\"MedicinalProductPackaged\":\"DomainResource\",\"MedicinalProductPharmaceutical\":\"DomainResource\",\"MedicinalProductUndesirableEffect\":\"DomainResource\",\"MessageDefinition\":\"DomainResource\",\"MessageHeader\":\"DomainResource\",\"Meta\":\"Element\",\"MolecularSequence\":\"DomainResource\",\"Money\":\"Element\",\"MoneyQuantity\":\"Quantity\",\"NamingSystem\":\"DomainResource\",\"Narrative\":\"Element\",\"NutritionOrder\":\"DomainResource\",\"Observation\":\"DomainResource\",\"ObservationDefinition\":\"DomainResource\",\"OperationDefinition\":\"DomainResource\",\"OperationOutcome\":\"DomainResource\",\"Organization\":\"DomainResource\",\"OrganizationAffiliation\":\"DomainResource\",\"ParameterDefinition\":\"Element\",\"Parameters\":\"Resource\",\"Patient\":\"DomainResource\",\"PaymentNotice\":\"DomainResource\",\"PaymentReconciliation\":\"DomainResource\",\"Period\":\"Element\",\"Person\":\"DomainResource\",\"PlanDefinition\":\"DomainResource\",\"Population\":\"BackboneElement\",\"Practitioner\":\"DomainResource\",\"PractitionerRole\":\"DomainResource\",\"Procedure\":\"DomainResource\",\"ProdCharacteristic\":\"BackboneElement\",\"ProductShelfLife\":\"BackboneElement\",\"Provenance\":\"DomainResource\",\"Quantity\":\"Element\",\"Questionnaire\":\"DomainResource\",\"QuestionnaireResponse\":\"DomainResource\",\"Range\":\"Element\",\"Ratio\":\"Element\",\"Reference\":\"Element\",\"RelatedArtifact\":\"Element\",\"RelatedPerson\":\"DomainResource\",\"RequestGroup\":\"DomainResource\",\"ResearchDefinition\":\"DomainResource\",\"ResearchElementDefinition\":\"DomainResource\",\"ResearchStudy\":\"DomainResource\",\"ResearchSubject\":\"DomainResource\",\"RiskAssessment\":\"DomainResource\",\"RiskEvidenceSynthesis\":\"DomainResource\",\"SampledData\":\"Element\",\"Schedule\":\"DomainResource\",\"SearchParameter\":\"DomainResource\",\"ServiceRequest\":\"DomainResource\",\"Signature\":\"Element\",\"SimpleQuantity\":\"Quantity\",\"Slot\":\"DomainResource\",\"Specimen\":\"DomainResource\",\"SpecimenDefinition\":\"DomainResource\",\"StructureDefinition\":\"DomainResource\",\"StructureMap\":\"DomainResource\",\"Subscription\":\"DomainResource\",\"Substance\":\"DomainResource\",\"SubstanceAmount\":\"BackboneElement\",\"SubstanceNucleicAcid\":\"DomainResource\",\"SubstancePolymer\":\"DomainResource\",\"SubstanceProtein\":\"DomainResource\",\"SubstanceReferenceInformation\":\"DomainResource\",\"SubstanceSourceMaterial\":\"DomainResource\",\"SubstanceSpecification\":\"DomainResource\",\"SupplyDelivery\":\"DomainResource\",\"SupplyRequest\":\"DomainResource\",\"Task\":\"DomainResource\",\"TerminologyCapabilities\":\"DomainResource\",\"TestReport\":\"DomainResource\",\"TestScript\":\"DomainResource\",\"Timing\":\"BackboneElement\",\"TriggerDefinition\":\"Element\",\"UsageContext\":\"Element\",\"ValueSet\":\"DomainResource\",\"VerificationResult\":\"DomainResource\",\"VisionPrescription\":\"DomainResource\",\"base64Binary\":\"Element\",\"boolean\":\"Element\",\"canonical\":\"uri\",\"code\":\"string\",\"date\":\"Element\",\"dateTime\":\"Element\",\"decimal\":\"Element\",\"id\":\"string\",\"instant\":\"Element\",\"integer\":\"Element\",\"markdown\":\"string\",\"oid\":\"uri\",\"positiveInt\":\"integer\",\"string\":\"Element\",\"time\":\"Element\",\"unsignedInt\":\"integer\",\"uri\":\"Element\",\"url\":\"uri\",\"uuid\":\"uri\",\"xhtml\":\"Element\"}')}},i={},t=function t(n){var o=i[n];if(void 0!==o)return o.exports;var a=i[n]={exports:{}};return e[n](a,a.exports,t),a.exports}(9);window.fhirpath_r4_model=t}();\n//# sourceMappingURL=fhirpath.r4.min.js.map","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\n// Depends on js-yaml.js from https://github.com/nodeca/js-yaml\n\n// declare global: jsyaml\n\nCodeMirror.registerHelper(\"lint\", \"yaml\", function(text) {\n var found = [];\n if (!window.jsyaml) {\n if (window.console) {\n window.console.error(\"Error: window.jsyaml not defined, CodeMirror YAML linting cannot run.\");\n }\n return found;\n }\n try { jsyaml.loadAll(text); }\n catch(e) {\n var loc = e.mark,\n // js-yaml YAMLException doesn't always provide an accurate lineno\n // e.g., when there are multiple yaml docs\n // ---\n // ---\n // foo:bar\n from = loc ? CodeMirror.Pos(loc.line, loc.column) : CodeMirror.Pos(0, 0),\n to = from;\n found.push({ from: from, to: to, message: e.message });\n }\n return found;\n});\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// This is CodeMirror (https://codemirror.net), a code editor\n// implemented in JavaScript on top of the browser's DOM.\n//\n// You can find some technical background for some of the code below\n// at http://marijnhaverbeke.nl/blog/#cm-internals .\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = global || self, global.CodeMirror = factory());\n}(this, (function () { 'use strict';\n\n // Kludges for bugs and behavior differences that can't be feature\n // detected are enabled based on userAgent etc sniffing.\n var userAgent = navigator.userAgent;\n var platform = navigator.platform;\n\n var gecko = /gecko\\/\\d/i.test(userAgent);\n var ie_upto10 = /MSIE \\d/.test(userAgent);\n var ie_11up = /Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(userAgent);\n var edge = /Edge\\/(\\d+)/.exec(userAgent);\n var ie = ie_upto10 || ie_11up || edge;\n var ie_version = ie && (ie_upto10 ? document.documentMode || 6 : +(edge || ie_11up)[1]);\n var webkit = !edge && /WebKit\\//.test(userAgent);\n var qtwebkit = webkit && /Qt\\/\\d+\\.\\d+/.test(userAgent);\n var chrome = !edge && /Chrome\\//.test(userAgent);\n var presto = /Opera\\//.test(userAgent);\n var safari = /Apple Computer/.test(navigator.vendor);\n var mac_geMountainLion = /Mac OS X 1\\d\\D([8-9]|\\d\\d)\\D/.test(userAgent);\n var phantom = /PhantomJS/.test(userAgent);\n\n var ios = safari && (/Mobile\\/\\w+/.test(userAgent) || navigator.maxTouchPoints > 2);\n var android = /Android/.test(userAgent);\n // This is woefully incomplete. Suggestions for alternative methods welcome.\n var mobile = ios || android || /webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(userAgent);\n var mac = ios || /Mac/.test(platform);\n var chromeOS = /\\bCrOS\\b/.test(userAgent);\n var windows = /win/i.test(platform);\n\n var presto_version = presto && userAgent.match(/Version\\/(\\d*\\.\\d*)/);\n if (presto_version) { presto_version = Number(presto_version[1]); }\n if (presto_version && presto_version >= 15) { presto = false; webkit = true; }\n // Some browsers use the wrong event properties to signal cmd/ctrl on OS X\n var flipCtrlCmd = mac && (qtwebkit || presto && (presto_version == null || presto_version < 12.11));\n var captureRightClick = gecko || (ie && ie_version >= 9);\n\n function classTest(cls) { return new RegExp(\"(^|\\\\s)\" + cls + \"(?:$|\\\\s)\\\\s*\") }\n\n var rmClass = function(node, cls) {\n var current = node.className;\n var match = classTest(cls).exec(current);\n if (match) {\n var after = current.slice(match.index + match[0].length);\n node.className = current.slice(0, match.index) + (after ? match[1] + after : \"\");\n }\n };\n\n function removeChildren(e) {\n for (var count = e.childNodes.length; count > 0; --count)\n { e.removeChild(e.firstChild); }\n return e\n }\n\n function removeChildrenAndAdd(parent, e) {\n return removeChildren(parent).appendChild(e)\n }\n\n function elt(tag, content, className, style) {\n var e = document.createElement(tag);\n if (className) { e.className = className; }\n if (style) { e.style.cssText = style; }\n if (typeof content == \"string\") { e.appendChild(document.createTextNode(content)); }\n else if (content) { for (var i = 0; i < content.length; ++i) { e.appendChild(content[i]); } }\n return e\n }\n // wrapper for elt, which removes the elt from the accessibility tree\n function eltP(tag, content, className, style) {\n var e = elt(tag, content, className, style);\n e.setAttribute(\"role\", \"presentation\");\n return e\n }\n\n var range;\n if (document.createRange) { range = function(node, start, end, endNode) {\n var r = document.createRange();\n r.setEnd(endNode || node, end);\n r.setStart(node, start);\n return r\n }; }\n else { range = function(node, start, end) {\n var r = document.body.createTextRange();\n try { r.moveToElementText(node.parentNode); }\n catch(e) { return r }\n r.collapse(true);\n r.moveEnd(\"character\", end);\n r.moveStart(\"character\", start);\n return r\n }; }\n\n function contains(parent, child) {\n if (child.nodeType == 3) // Android browser always returns false when child is a textnode\n { child = child.parentNode; }\n if (parent.contains)\n { return parent.contains(child) }\n do {\n if (child.nodeType == 11) { child = child.host; }\n if (child == parent) { return true }\n } while (child = child.parentNode)\n }\n\n function activeElt() {\n // IE and Edge may throw an \"Unspecified Error\" when accessing document.activeElement.\n // IE < 10 will throw when accessed while the page is loading or in an iframe.\n // IE > 9 and Edge will throw when accessed in an iframe if document.body is unavailable.\n var activeElement;\n try {\n activeElement = document.activeElement;\n } catch(e) {\n activeElement = document.body || null;\n }\n while (activeElement && activeElement.shadowRoot && activeElement.shadowRoot.activeElement)\n { activeElement = activeElement.shadowRoot.activeElement; }\n return activeElement\n }\n\n function addClass(node, cls) {\n var current = node.className;\n if (!classTest(cls).test(current)) { node.className += (current ? \" \" : \"\") + cls; }\n }\n function joinClasses(a, b) {\n var as = a.split(\" \");\n for (var i = 0; i < as.length; i++)\n { if (as[i] && !classTest(as[i]).test(b)) { b += \" \" + as[i]; } }\n return b\n }\n\n var selectInput = function(node) { node.select(); };\n if (ios) // Mobile Safari apparently has a bug where select() is broken.\n { selectInput = function(node) { node.selectionStart = 0; node.selectionEnd = node.value.length; }; }\n else if (ie) // Suppress mysterious IE10 errors\n { selectInput = function(node) { try { node.select(); } catch(_e) {} }; }\n\n function bind(f) {\n var args = Array.prototype.slice.call(arguments, 1);\n return function(){return f.apply(null, args)}\n }\n\n function copyObj(obj, target, overwrite) {\n if (!target) { target = {}; }\n for (var prop in obj)\n { if (obj.hasOwnProperty(prop) && (overwrite !== false || !target.hasOwnProperty(prop)))\n { target[prop] = obj[prop]; } }\n return target\n }\n\n // Counts the column offset in a string, taking tabs into account.\n // Used mostly to find indentation.\n function countColumn(string, end, tabSize, startIndex, startValue) {\n if (end == null) {\n end = string.search(/[^\\s\\u00a0]/);\n if (end == -1) { end = string.length; }\n }\n for (var i = startIndex || 0, n = startValue || 0;;) {\n var nextTab = string.indexOf(\"\\t\", i);\n if (nextTab < 0 || nextTab >= end)\n { return n + (end - i) }\n n += nextTab - i;\n n += tabSize - (n % tabSize);\n i = nextTab + 1;\n }\n }\n\n var Delayed = function() {\n this.id = null;\n this.f = null;\n this.time = 0;\n this.handler = bind(this.onTimeout, this);\n };\n Delayed.prototype.onTimeout = function (self) {\n self.id = 0;\n if (self.time <= +new Date) {\n self.f();\n } else {\n setTimeout(self.handler, self.time - +new Date);\n }\n };\n Delayed.prototype.set = function (ms, f) {\n this.f = f;\n var time = +new Date + ms;\n if (!this.id || time < this.time) {\n clearTimeout(this.id);\n this.id = setTimeout(this.handler, ms);\n this.time = time;\n }\n };\n\n function indexOf(array, elt) {\n for (var i = 0; i < array.length; ++i)\n { if (array[i] == elt) { return i } }\n return -1\n }\n\n // Number of pixels added to scroller and sizer to hide scrollbar\n var scrollerGap = 50;\n\n // Returned or thrown by various protocols to signal 'I'm not\n // handling this'.\n var Pass = {toString: function(){return \"CodeMirror.Pass\"}};\n\n // Reused option objects for setSelection & friends\n var sel_dontScroll = {scroll: false}, sel_mouse = {origin: \"*mouse\"}, sel_move = {origin: \"+move\"};\n\n // The inverse of countColumn -- find the offset that corresponds to\n // a particular column.\n function findColumn(string, goal, tabSize) {\n for (var pos = 0, col = 0;;) {\n var nextTab = string.indexOf(\"\\t\", pos);\n if (nextTab == -1) { nextTab = string.length; }\n var skipped = nextTab - pos;\n if (nextTab == string.length || col + skipped >= goal)\n { return pos + Math.min(skipped, goal - col) }\n col += nextTab - pos;\n col += tabSize - (col % tabSize);\n pos = nextTab + 1;\n if (col >= goal) { return pos }\n }\n }\n\n var spaceStrs = [\"\"];\n function spaceStr(n) {\n while (spaceStrs.length <= n)\n { spaceStrs.push(lst(spaceStrs) + \" \"); }\n return spaceStrs[n]\n }\n\n function lst(arr) { return arr[arr.length-1] }\n\n function map(array, f) {\n var out = [];\n for (var i = 0; i < array.length; i++) { out[i] = f(array[i], i); }\n return out\n }\n\n function insertSorted(array, value, score) {\n var pos = 0, priority = score(value);\n while (pos < array.length && score(array[pos]) <= priority) { pos++; }\n array.splice(pos, 0, value);\n }\n\n function nothing() {}\n\n function createObj(base, props) {\n var inst;\n if (Object.create) {\n inst = Object.create(base);\n } else {\n nothing.prototype = base;\n inst = new nothing();\n }\n if (props) { copyObj(props, inst); }\n return inst\n }\n\n var nonASCIISingleCaseWordChar = /[\\u00df\\u0587\\u0590-\\u05f4\\u0600-\\u06ff\\u3040-\\u309f\\u30a0-\\u30ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\uac00-\\ud7af]/;\n function isWordCharBasic(ch) {\n return /\\w/.test(ch) || ch > \"\\x80\" &&\n (ch.toUpperCase() != ch.toLowerCase() || nonASCIISingleCaseWordChar.test(ch))\n }\n function isWordChar(ch, helper) {\n if (!helper) { return isWordCharBasic(ch) }\n if (helper.source.indexOf(\"\\\\w\") > -1 && isWordCharBasic(ch)) { return true }\n return helper.test(ch)\n }\n\n function isEmpty(obj) {\n for (var n in obj) { if (obj.hasOwnProperty(n) && obj[n]) { return false } }\n return true\n }\n\n // Extending unicode characters. A series of a non-extending char +\n // any number of extending chars is treated as a single unit as far\n // as editing and measuring is concerned. This is not fully correct,\n // since some scripts/fonts/browsers also treat other configurations\n // of code points as a group.\n var extendingChars = /[\\u0300-\\u036f\\u0483-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065e\\u0670\\u06d6-\\u06dc\\u06de-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0900-\\u0902\\u093c\\u0941-\\u0948\\u094d\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2\\u09e3\\u0a01\\u0a02\\u0a3c\\u0a41\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70\\u0a71\\u0a75\\u0a81\\u0a82\\u0abc\\u0ac1-\\u0ac5\\u0ac7\\u0ac8\\u0acd\\u0ae2\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0d3e\\u0d41-\\u0d44\\u0d4d\\u0d57\\u0d62\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86\\u0f87\\u0f90-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039\\u103a\\u103d\\u103e\\u1058\\u1059\\u105e-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108d\\u109d\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193b\\u1a17\\u1a18\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1b00-\\u1b03\\u1b34\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80\\u1b81\\u1ba2-\\u1ba5\\u1ba8\\u1ba9\\u1c2c-\\u1c33\\u1c36\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1dc0-\\u1de6\\u1dfd-\\u1dff\\u200c\\u200d\\u20d0-\\u20f0\\u2cef-\\u2cf1\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua66f-\\ua672\\ua67c\\ua67d\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua825\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc\\uaa29-\\uaa2e\\uaa31\\uaa32\\uaa35\\uaa36\\uaa43\\uaa4c\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uabe5\\uabe8\\uabed\\udc00-\\udfff\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe26\\uff9e\\uff9f]/;\n function isExtendingChar(ch) { return ch.charCodeAt(0) >= 768 && extendingChars.test(ch) }\n\n // Returns a number from the range [`0`; `str.length`] unless `pos` is outside that range.\n function skipExtendingChars(str, pos, dir) {\n while ((dir < 0 ? pos > 0 : pos < str.length) && isExtendingChar(str.charAt(pos))) { pos += dir; }\n return pos\n }\n\n // Returns the value from the range [`from`; `to`] that satisfies\n // `pred` and is closest to `from`. Assumes that at least `to`\n // satisfies `pred`. Supports `from` being greater than `to`.\n function findFirst(pred, from, to) {\n // At any point we are certain `to` satisfies `pred`, don't know\n // whether `from` does.\n var dir = from > to ? -1 : 1;\n for (;;) {\n if (from == to) { return from }\n var midF = (from + to) / 2, mid = dir < 0 ? Math.ceil(midF) : Math.floor(midF);\n if (mid == from) { return pred(mid) ? from : to }\n if (pred(mid)) { to = mid; }\n else { from = mid + dir; }\n }\n }\n\n // BIDI HELPERS\n\n function iterateBidiSections(order, from, to, f) {\n if (!order) { return f(from, to, \"ltr\", 0) }\n var found = false;\n for (var i = 0; i < order.length; ++i) {\n var part = order[i];\n if (part.from < to && part.to > from || from == to && part.to == from) {\n f(Math.max(part.from, from), Math.min(part.to, to), part.level == 1 ? \"rtl\" : \"ltr\", i);\n found = true;\n }\n }\n if (!found) { f(from, to, \"ltr\"); }\n }\n\n var bidiOther = null;\n function getBidiPartAt(order, ch, sticky) {\n var found;\n bidiOther = null;\n for (var i = 0; i < order.length; ++i) {\n var cur = order[i];\n if (cur.from < ch && cur.to > ch) { return i }\n if (cur.to == ch) {\n if (cur.from != cur.to && sticky == \"before\") { found = i; }\n else { bidiOther = i; }\n }\n if (cur.from == ch) {\n if (cur.from != cur.to && sticky != \"before\") { found = i; }\n else { bidiOther = i; }\n }\n }\n return found != null ? found : bidiOther\n }\n\n // Bidirectional ordering algorithm\n // See http://unicode.org/reports/tr9/tr9-13.html for the algorithm\n // that this (partially) implements.\n\n // One-char codes used for character types:\n // L (L): Left-to-Right\n // R (R): Right-to-Left\n // r (AL): Right-to-Left Arabic\n // 1 (EN): European Number\n // + (ES): European Number Separator\n // % (ET): European Number Terminator\n // n (AN): Arabic Number\n // , (CS): Common Number Separator\n // m (NSM): Non-Spacing Mark\n // b (BN): Boundary Neutral\n // s (B): Paragraph Separator\n // t (S): Segment Separator\n // w (WS): Whitespace\n // N (ON): Other Neutrals\n\n // Returns null if characters are ordered as they appear\n // (left-to-right), or an array of sections ({from, to, level}\n // objects) in the order in which they occur visually.\n var bidiOrdering = (function() {\n // Character types for codepoints 0 to 0xff\n var lowTypes = \"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN\";\n // Character types for codepoints 0x600 to 0x6f9\n var arabicTypes = \"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111\";\n function charType(code) {\n if (code <= 0xf7) { return lowTypes.charAt(code) }\n else if (0x590 <= code && code <= 0x5f4) { return \"R\" }\n else if (0x600 <= code && code <= 0x6f9) { return arabicTypes.charAt(code - 0x600) }\n else if (0x6ee <= code && code <= 0x8ac) { return \"r\" }\n else if (0x2000 <= code && code <= 0x200b) { return \"w\" }\n else if (code == 0x200c) { return \"b\" }\n else { return \"L\" }\n }\n\n var bidiRE = /[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac]/;\n var isNeutral = /[stwN]/, isStrong = /[LRr]/, countsAsLeft = /[Lb1n]/, countsAsNum = /[1n]/;\n\n function BidiSpan(level, from, to) {\n this.level = level;\n this.from = from; this.to = to;\n }\n\n return function(str, direction) {\n var outerType = direction == \"ltr\" ? \"L\" : \"R\";\n\n if (str.length == 0 || direction == \"ltr\" && !bidiRE.test(str)) { return false }\n var len = str.length, types = [];\n for (var i = 0; i < len; ++i)\n { types.push(charType(str.charCodeAt(i))); }\n\n // W1. Examine each non-spacing mark (NSM) in the level run, and\n // change the type of the NSM to the type of the previous\n // character. If the NSM is at the start of the level run, it will\n // get the type of sor.\n for (var i$1 = 0, prev = outerType; i$1 < len; ++i$1) {\n var type = types[i$1];\n if (type == \"m\") { types[i$1] = prev; }\n else { prev = type; }\n }\n\n // W2. Search backwards from each instance of a European number\n // until the first strong type (R, L, AL, or sor) is found. If an\n // AL is found, change the type of the European number to Arabic\n // number.\n // W3. Change all ALs to R.\n for (var i$2 = 0, cur = outerType; i$2 < len; ++i$2) {\n var type$1 = types[i$2];\n if (type$1 == \"1\" && cur == \"r\") { types[i$2] = \"n\"; }\n else if (isStrong.test(type$1)) { cur = type$1; if (type$1 == \"r\") { types[i$2] = \"R\"; } }\n }\n\n // W4. A single European separator between two European numbers\n // changes to a European number. A single common separator between\n // two numbers of the same type changes to that type.\n for (var i$3 = 1, prev$1 = types[0]; i$3 < len - 1; ++i$3) {\n var type$2 = types[i$3];\n if (type$2 == \"+\" && prev$1 == \"1\" && types[i$3+1] == \"1\") { types[i$3] = \"1\"; }\n else if (type$2 == \",\" && prev$1 == types[i$3+1] &&\n (prev$1 == \"1\" || prev$1 == \"n\")) { types[i$3] = prev$1; }\n prev$1 = type$2;\n }\n\n // W5. A sequence of European terminators adjacent to European\n // numbers changes to all European numbers.\n // W6. Otherwise, separators and terminators change to Other\n // Neutral.\n for (var i$4 = 0; i$4 < len; ++i$4) {\n var type$3 = types[i$4];\n if (type$3 == \",\") { types[i$4] = \"N\"; }\n else if (type$3 == \"%\") {\n var end = (void 0);\n for (end = i$4 + 1; end < len && types[end] == \"%\"; ++end) {}\n var replace = (i$4 && types[i$4-1] == \"!\") || (end < len && types[end] == \"1\") ? \"1\" : \"N\";\n for (var j = i$4; j < end; ++j) { types[j] = replace; }\n i$4 = end - 1;\n }\n }\n\n // W7. Search backwards from each instance of a European number\n // until the first strong type (R, L, or sor) is found. If an L is\n // found, then change the type of the European number to L.\n for (var i$5 = 0, cur$1 = outerType; i$5 < len; ++i$5) {\n var type$4 = types[i$5];\n if (cur$1 == \"L\" && type$4 == \"1\") { types[i$5] = \"L\"; }\n else if (isStrong.test(type$4)) { cur$1 = type$4; }\n }\n\n // N1. A sequence of neutrals takes the direction of the\n // surrounding strong text if the text on both sides has the same\n // direction. European and Arabic numbers act as if they were R in\n // terms of their influence on neutrals. Start-of-level-run (sor)\n // and end-of-level-run (eor) are used at level run boundaries.\n // N2. Any remaining neutrals take the embedding direction.\n for (var i$6 = 0; i$6 < len; ++i$6) {\n if (isNeutral.test(types[i$6])) {\n var end$1 = (void 0);\n for (end$1 = i$6 + 1; end$1 < len && isNeutral.test(types[end$1]); ++end$1) {}\n var before = (i$6 ? types[i$6-1] : outerType) == \"L\";\n var after = (end$1 < len ? types[end$1] : outerType) == \"L\";\n var replace$1 = before == after ? (before ? \"L\" : \"R\") : outerType;\n for (var j$1 = i$6; j$1 < end$1; ++j$1) { types[j$1] = replace$1; }\n i$6 = end$1 - 1;\n }\n }\n\n // Here we depart from the documented algorithm, in order to avoid\n // building up an actual levels array. Since there are only three\n // levels (0, 1, 2) in an implementation that doesn't take\n // explicit embedding into account, we can build up the order on\n // the fly, without following the level-based algorithm.\n var order = [], m;\n for (var i$7 = 0; i$7 < len;) {\n if (countsAsLeft.test(types[i$7])) {\n var start = i$7;\n for (++i$7; i$7 < len && countsAsLeft.test(types[i$7]); ++i$7) {}\n order.push(new BidiSpan(0, start, i$7));\n } else {\n var pos = i$7, at = order.length, isRTL = direction == \"rtl\" ? 1 : 0;\n for (++i$7; i$7 < len && types[i$7] != \"L\"; ++i$7) {}\n for (var j$2 = pos; j$2 < i$7;) {\n if (countsAsNum.test(types[j$2])) {\n if (pos < j$2) { order.splice(at, 0, new BidiSpan(1, pos, j$2)); at += isRTL; }\n var nstart = j$2;\n for (++j$2; j$2 < i$7 && countsAsNum.test(types[j$2]); ++j$2) {}\n order.splice(at, 0, new BidiSpan(2, nstart, j$2));\n at += isRTL;\n pos = j$2;\n } else { ++j$2; }\n }\n if (pos < i$7) { order.splice(at, 0, new BidiSpan(1, pos, i$7)); }\n }\n }\n if (direction == \"ltr\") {\n if (order[0].level == 1 && (m = str.match(/^\\s+/))) {\n order[0].from = m[0].length;\n order.unshift(new BidiSpan(0, 0, m[0].length));\n }\n if (lst(order).level == 1 && (m = str.match(/\\s+$/))) {\n lst(order).to -= m[0].length;\n order.push(new BidiSpan(0, len - m[0].length, len));\n }\n }\n\n return direction == \"rtl\" ? order.reverse() : order\n }\n })();\n\n // Get the bidi ordering for the given line (and cache it). Returns\n // false for lines that are fully left-to-right, and an array of\n // BidiSpan objects otherwise.\n function getOrder(line, direction) {\n var order = line.order;\n if (order == null) { order = line.order = bidiOrdering(line.text, direction); }\n return order\n }\n\n // EVENT HANDLING\n\n // Lightweight event framework. on/off also work on DOM nodes,\n // registering native DOM handlers.\n\n var noHandlers = [];\n\n var on = function(emitter, type, f) {\n if (emitter.addEventListener) {\n emitter.addEventListener(type, f, false);\n } else if (emitter.attachEvent) {\n emitter.attachEvent(\"on\" + type, f);\n } else {\n var map = emitter._handlers || (emitter._handlers = {});\n map[type] = (map[type] || noHandlers).concat(f);\n }\n };\n\n function getHandlers(emitter, type) {\n return emitter._handlers && emitter._handlers[type] || noHandlers\n }\n\n function off(emitter, type, f) {\n if (emitter.removeEventListener) {\n emitter.removeEventListener(type, f, false);\n } else if (emitter.detachEvent) {\n emitter.detachEvent(\"on\" + type, f);\n } else {\n var map = emitter._handlers, arr = map && map[type];\n if (arr) {\n var index = indexOf(arr, f);\n if (index > -1)\n { map[type] = arr.slice(0, index).concat(arr.slice(index + 1)); }\n }\n }\n }\n\n function signal(emitter, type /*, values...*/) {\n var handlers = getHandlers(emitter, type);\n if (!handlers.length) { return }\n var args = Array.prototype.slice.call(arguments, 2);\n for (var i = 0; i < handlers.length; ++i) { handlers[i].apply(null, args); }\n }\n\n // The DOM events that CodeMirror handles can be overridden by\n // registering a (non-DOM) handler on the editor for the event name,\n // and preventDefault-ing the event in that handler.\n function signalDOMEvent(cm, e, override) {\n if (typeof e == \"string\")\n { e = {type: e, preventDefault: function() { this.defaultPrevented = true; }}; }\n signal(cm, override || e.type, cm, e);\n return e_defaultPrevented(e) || e.codemirrorIgnore\n }\n\n function signalCursorActivity(cm) {\n var arr = cm._handlers && cm._handlers.cursorActivity;\n if (!arr) { return }\n var set = cm.curOp.cursorActivityHandlers || (cm.curOp.cursorActivityHandlers = []);\n for (var i = 0; i < arr.length; ++i) { if (indexOf(set, arr[i]) == -1)\n { set.push(arr[i]); } }\n }\n\n function hasHandler(emitter, type) {\n return getHandlers(emitter, type).length > 0\n }\n\n // Add on and off methods to a constructor's prototype, to make\n // registering events on such objects more convenient.\n function eventMixin(ctor) {\n ctor.prototype.on = function(type, f) {on(this, type, f);};\n ctor.prototype.off = function(type, f) {off(this, type, f);};\n }\n\n // Due to the fact that we still support jurassic IE versions, some\n // compatibility wrappers are needed.\n\n function e_preventDefault(e) {\n if (e.preventDefault) { e.preventDefault(); }\n else { e.returnValue = false; }\n }\n function e_stopPropagation(e) {\n if (e.stopPropagation) { e.stopPropagation(); }\n else { e.cancelBubble = true; }\n }\n function e_defaultPrevented(e) {\n return e.defaultPrevented != null ? e.defaultPrevented : e.returnValue == false\n }\n function e_stop(e) {e_preventDefault(e); e_stopPropagation(e);}\n\n function e_target(e) {return e.target || e.srcElement}\n function e_button(e) {\n var b = e.which;\n if (b == null) {\n if (e.button & 1) { b = 1; }\n else if (e.button & 2) { b = 3; }\n else if (e.button & 4) { b = 2; }\n }\n if (mac && e.ctrlKey && b == 1) { b = 3; }\n return b\n }\n\n // Detect drag-and-drop\n var dragAndDrop = function() {\n // There is *some* kind of drag-and-drop support in IE6-8, but I\n // couldn't get it to work yet.\n if (ie && ie_version < 9) { return false }\n var div = elt('div');\n return \"draggable\" in div || \"dragDrop\" in div\n }();\n\n var zwspSupported;\n function zeroWidthElement(measure) {\n if (zwspSupported == null) {\n var test = elt(\"span\", \"\\u200b\");\n removeChildrenAndAdd(measure, elt(\"span\", [test, document.createTextNode(\"x\")]));\n if (measure.firstChild.offsetHeight != 0)\n { zwspSupported = test.offsetWidth <= 1 && test.offsetHeight > 2 && !(ie && ie_version < 8); }\n }\n var node = zwspSupported ? elt(\"span\", \"\\u200b\") :\n elt(\"span\", \"\\u00a0\", null, \"display: inline-block; width: 1px; margin-right: -1px\");\n node.setAttribute(\"cm-text\", \"\");\n return node\n }\n\n // Feature-detect IE's crummy client rect reporting for bidi text\n var badBidiRects;\n function hasBadBidiRects(measure) {\n if (badBidiRects != null) { return badBidiRects }\n var txt = removeChildrenAndAdd(measure, document.createTextNode(\"A\\u062eA\"));\n var r0 = range(txt, 0, 1).getBoundingClientRect();\n var r1 = range(txt, 1, 2).getBoundingClientRect();\n removeChildren(measure);\n if (!r0 || r0.left == r0.right) { return false } // Safari returns null in some cases (#2780)\n return badBidiRects = (r1.right - r0.right < 3)\n }\n\n // See if \"\".split is the broken IE version, if so, provide an\n // alternative way to split lines.\n var splitLinesAuto = \"\\n\\nb\".split(/\\n/).length != 3 ? function (string) {\n var pos = 0, result = [], l = string.length;\n while (pos <= l) {\n var nl = string.indexOf(\"\\n\", pos);\n if (nl == -1) { nl = string.length; }\n var line = string.slice(pos, string.charAt(nl - 1) == \"\\r\" ? nl - 1 : nl);\n var rt = line.indexOf(\"\\r\");\n if (rt != -1) {\n result.push(line.slice(0, rt));\n pos += rt + 1;\n } else {\n result.push(line);\n pos = nl + 1;\n }\n }\n return result\n } : function (string) { return string.split(/\\r\\n?|\\n/); };\n\n var hasSelection = window.getSelection ? function (te) {\n try { return te.selectionStart != te.selectionEnd }\n catch(e) { return false }\n } : function (te) {\n var range;\n try {range = te.ownerDocument.selection.createRange();}\n catch(e) {}\n if (!range || range.parentElement() != te) { return false }\n return range.compareEndPoints(\"StartToEnd\", range) != 0\n };\n\n var hasCopyEvent = (function () {\n var e = elt(\"div\");\n if (\"oncopy\" in e) { return true }\n e.setAttribute(\"oncopy\", \"return;\");\n return typeof e.oncopy == \"function\"\n })();\n\n var badZoomedRects = null;\n function hasBadZoomedRects(measure) {\n if (badZoomedRects != null) { return badZoomedRects }\n var node = removeChildrenAndAdd(measure, elt(\"span\", \"x\"));\n var normal = node.getBoundingClientRect();\n var fromRange = range(node, 0, 1).getBoundingClientRect();\n return badZoomedRects = Math.abs(normal.left - fromRange.left) > 1\n }\n\n // Known modes, by name and by MIME\n var modes = {}, mimeModes = {};\n\n // Extra arguments are stored as the mode's dependencies, which is\n // used by (legacy) mechanisms like loadmode.js to automatically\n // load a mode. (Preferred mechanism is the require/define calls.)\n function defineMode(name, mode) {\n if (arguments.length > 2)\n { mode.dependencies = Array.prototype.slice.call(arguments, 2); }\n modes[name] = mode;\n }\n\n function defineMIME(mime, spec) {\n mimeModes[mime] = spec;\n }\n\n // Given a MIME type, a {name, ...options} config object, or a name\n // string, return a mode config object.\n function resolveMode(spec) {\n if (typeof spec == \"string\" && mimeModes.hasOwnProperty(spec)) {\n spec = mimeModes[spec];\n } else if (spec && typeof spec.name == \"string\" && mimeModes.hasOwnProperty(spec.name)) {\n var found = mimeModes[spec.name];\n if (typeof found == \"string\") { found = {name: found}; }\n spec = createObj(found, spec);\n spec.name = found.name;\n } else if (typeof spec == \"string\" && /^[\\w\\-]+\\/[\\w\\-]+\\+xml$/.test(spec)) {\n return resolveMode(\"application/xml\")\n } else if (typeof spec == \"string\" && /^[\\w\\-]+\\/[\\w\\-]+\\+json$/.test(spec)) {\n return resolveMode(\"application/json\")\n }\n if (typeof spec == \"string\") { return {name: spec} }\n else { return spec || {name: \"null\"} }\n }\n\n // Given a mode spec (anything that resolveMode accepts), find and\n // initialize an actual mode object.\n function getMode(options, spec) {\n spec = resolveMode(spec);\n var mfactory = modes[spec.name];\n if (!mfactory) { return getMode(options, \"text/plain\") }\n var modeObj = mfactory(options, spec);\n if (modeExtensions.hasOwnProperty(spec.name)) {\n var exts = modeExtensions[spec.name];\n for (var prop in exts) {\n if (!exts.hasOwnProperty(prop)) { continue }\n if (modeObj.hasOwnProperty(prop)) { modeObj[\"_\" + prop] = modeObj[prop]; }\n modeObj[prop] = exts[prop];\n }\n }\n modeObj.name = spec.name;\n if (spec.helperType) { modeObj.helperType = spec.helperType; }\n if (spec.modeProps) { for (var prop$1 in spec.modeProps)\n { modeObj[prop$1] = spec.modeProps[prop$1]; } }\n\n return modeObj\n }\n\n // This can be used to attach properties to mode objects from\n // outside the actual mode definition.\n var modeExtensions = {};\n function extendMode(mode, properties) {\n var exts = modeExtensions.hasOwnProperty(mode) ? modeExtensions[mode] : (modeExtensions[mode] = {});\n copyObj(properties, exts);\n }\n\n function copyState(mode, state) {\n if (state === true) { return state }\n if (mode.copyState) { return mode.copyState(state) }\n var nstate = {};\n for (var n in state) {\n var val = state[n];\n if (val instanceof Array) { val = val.concat([]); }\n nstate[n] = val;\n }\n return nstate\n }\n\n // Given a mode and a state (for that mode), find the inner mode and\n // state at the position that the state refers to.\n function innerMode(mode, state) {\n var info;\n while (mode.innerMode) {\n info = mode.innerMode(state);\n if (!info || info.mode == mode) { break }\n state = info.state;\n mode = info.mode;\n }\n return info || {mode: mode, state: state}\n }\n\n function startState(mode, a1, a2) {\n return mode.startState ? mode.startState(a1, a2) : true\n }\n\n // STRING STREAM\n\n // Fed to the mode parsers, provides helper functions to make\n // parsers more succinct.\n\n var StringStream = function(string, tabSize, lineOracle) {\n this.pos = this.start = 0;\n this.string = string;\n this.tabSize = tabSize || 8;\n this.lastColumnPos = this.lastColumnValue = 0;\n this.lineStart = 0;\n this.lineOracle = lineOracle;\n };\n\n StringStream.prototype.eol = function () {return this.pos >= this.string.length};\n StringStream.prototype.sol = function () {return this.pos == this.lineStart};\n StringStream.prototype.peek = function () {return this.string.charAt(this.pos) || undefined};\n StringStream.prototype.next = function () {\n if (this.pos < this.string.length)\n { return this.string.charAt(this.pos++) }\n };\n StringStream.prototype.eat = function (match) {\n var ch = this.string.charAt(this.pos);\n var ok;\n if (typeof match == \"string\") { ok = ch == match; }\n else { ok = ch && (match.test ? match.test(ch) : match(ch)); }\n if (ok) {++this.pos; return ch}\n };\n StringStream.prototype.eatWhile = function (match) {\n var start = this.pos;\n while (this.eat(match)){}\n return this.pos > start\n };\n StringStream.prototype.eatSpace = function () {\n var start = this.pos;\n while (/[\\s\\u00a0]/.test(this.string.charAt(this.pos))) { ++this.pos; }\n return this.pos > start\n };\n StringStream.prototype.skipToEnd = function () {this.pos = this.string.length;};\n StringStream.prototype.skipTo = function (ch) {\n var found = this.string.indexOf(ch, this.pos);\n if (found > -1) {this.pos = found; return true}\n };\n StringStream.prototype.backUp = function (n) {this.pos -= n;};\n StringStream.prototype.column = function () {\n if (this.lastColumnPos < this.start) {\n this.lastColumnValue = countColumn(this.string, this.start, this.tabSize, this.lastColumnPos, this.lastColumnValue);\n this.lastColumnPos = this.start;\n }\n return this.lastColumnValue - (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0)\n };\n StringStream.prototype.indentation = function () {\n return countColumn(this.string, null, this.tabSize) -\n (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0)\n };\n StringStream.prototype.match = function (pattern, consume, caseInsensitive) {\n if (typeof pattern == \"string\") {\n var cased = function (str) { return caseInsensitive ? str.toLowerCase() : str; };\n var substr = this.string.substr(this.pos, pattern.length);\n if (cased(substr) == cased(pattern)) {\n if (consume !== false) { this.pos += pattern.length; }\n return true\n }\n } else {\n var match = this.string.slice(this.pos).match(pattern);\n if (match && match.index > 0) { return null }\n if (match && consume !== false) { this.pos += match[0].length; }\n return match\n }\n };\n StringStream.prototype.current = function (){return this.string.slice(this.start, this.pos)};\n StringStream.prototype.hideFirstChars = function (n, inner) {\n this.lineStart += n;\n try { return inner() }\n finally { this.lineStart -= n; }\n };\n StringStream.prototype.lookAhead = function (n) {\n var oracle = this.lineOracle;\n return oracle && oracle.lookAhead(n)\n };\n StringStream.prototype.baseToken = function () {\n var oracle = this.lineOracle;\n return oracle && oracle.baseToken(this.pos)\n };\n\n // Find the line object corresponding to the given line number.\n function getLine(doc, n) {\n n -= doc.first;\n if (n < 0 || n >= doc.size) { throw new Error(\"There is no line \" + (n + doc.first) + \" in the document.\") }\n var chunk = doc;\n while (!chunk.lines) {\n for (var i = 0;; ++i) {\n var child = chunk.children[i], sz = child.chunkSize();\n if (n < sz) { chunk = child; break }\n n -= sz;\n }\n }\n return chunk.lines[n]\n }\n\n // Get the part of a document between two positions, as an array of\n // strings.\n function getBetween(doc, start, end) {\n var out = [], n = start.line;\n doc.iter(start.line, end.line + 1, function (line) {\n var text = line.text;\n if (n == end.line) { text = text.slice(0, end.ch); }\n if (n == start.line) { text = text.slice(start.ch); }\n out.push(text);\n ++n;\n });\n return out\n }\n // Get the lines between from and to, as array of strings.\n function getLines(doc, from, to) {\n var out = [];\n doc.iter(from, to, function (line) { out.push(line.text); }); // iter aborts when callback returns truthy value\n return out\n }\n\n // Update the height of a line, propagating the height change\n // upwards to parent nodes.\n function updateLineHeight(line, height) {\n var diff = height - line.height;\n if (diff) { for (var n = line; n; n = n.parent) { n.height += diff; } }\n }\n\n // Given a line object, find its line number by walking up through\n // its parent links.\n function lineNo(line) {\n if (line.parent == null) { return null }\n var cur = line.parent, no = indexOf(cur.lines, line);\n for (var chunk = cur.parent; chunk; cur = chunk, chunk = chunk.parent) {\n for (var i = 0;; ++i) {\n if (chunk.children[i] == cur) { break }\n no += chunk.children[i].chunkSize();\n }\n }\n return no + cur.first\n }\n\n // Find the line at the given vertical position, using the height\n // information in the document tree.\n function lineAtHeight(chunk, h) {\n var n = chunk.first;\n outer: do {\n for (var i$1 = 0; i$1 < chunk.children.length; ++i$1) {\n var child = chunk.children[i$1], ch = child.height;\n if (h < ch) { chunk = child; continue outer }\n h -= ch;\n n += child.chunkSize();\n }\n return n\n } while (!chunk.lines)\n var i = 0;\n for (; i < chunk.lines.length; ++i) {\n var line = chunk.lines[i], lh = line.height;\n if (h < lh) { break }\n h -= lh;\n }\n return n + i\n }\n\n function isLine(doc, l) {return l >= doc.first && l < doc.first + doc.size}\n\n function lineNumberFor(options, i) {\n return String(options.lineNumberFormatter(i + options.firstLineNumber))\n }\n\n // A Pos instance represents a position within the text.\n function Pos(line, ch, sticky) {\n if ( sticky === void 0 ) sticky = null;\n\n if (!(this instanceof Pos)) { return new Pos(line, ch, sticky) }\n this.line = line;\n this.ch = ch;\n this.sticky = sticky;\n }\n\n // Compare two positions, return 0 if they are the same, a negative\n // number when a is less, and a positive number otherwise.\n function cmp(a, b) { return a.line - b.line || a.ch - b.ch }\n\n function equalCursorPos(a, b) { return a.sticky == b.sticky && cmp(a, b) == 0 }\n\n function copyPos(x) {return Pos(x.line, x.ch)}\n function maxPos(a, b) { return cmp(a, b) < 0 ? b : a }\n function minPos(a, b) { return cmp(a, b) < 0 ? a : b }\n\n // Most of the external API clips given positions to make sure they\n // actually exist within the document.\n function clipLine(doc, n) {return Math.max(doc.first, Math.min(n, doc.first + doc.size - 1))}\n function clipPos(doc, pos) {\n if (pos.line < doc.first) { return Pos(doc.first, 0) }\n var last = doc.first + doc.size - 1;\n if (pos.line > last) { return Pos(last, getLine(doc, last).text.length) }\n return clipToLen(pos, getLine(doc, pos.line).text.length)\n }\n function clipToLen(pos, linelen) {\n var ch = pos.ch;\n if (ch == null || ch > linelen) { return Pos(pos.line, linelen) }\n else if (ch < 0) { return Pos(pos.line, 0) }\n else { return pos }\n }\n function clipPosArray(doc, array) {\n var out = [];\n for (var i = 0; i < array.length; i++) { out[i] = clipPos(doc, array[i]); }\n return out\n }\n\n var SavedContext = function(state, lookAhead) {\n this.state = state;\n this.lookAhead = lookAhead;\n };\n\n var Context = function(doc, state, line, lookAhead) {\n this.state = state;\n this.doc = doc;\n this.line = line;\n this.maxLookAhead = lookAhead || 0;\n this.baseTokens = null;\n this.baseTokenPos = 1;\n };\n\n Context.prototype.lookAhead = function (n) {\n var line = this.doc.getLine(this.line + n);\n if (line != null && n > this.maxLookAhead) { this.maxLookAhead = n; }\n return line\n };\n\n Context.prototype.baseToken = function (n) {\n if (!this.baseTokens) { return null }\n while (this.baseTokens[this.baseTokenPos] <= n)\n { this.baseTokenPos += 2; }\n var type = this.baseTokens[this.baseTokenPos + 1];\n return {type: type && type.replace(/( |^)overlay .*/, \"\"),\n size: this.baseTokens[this.baseTokenPos] - n}\n };\n\n Context.prototype.nextLine = function () {\n this.line++;\n if (this.maxLookAhead > 0) { this.maxLookAhead--; }\n };\n\n Context.fromSaved = function (doc, saved, line) {\n if (saved instanceof SavedContext)\n { return new Context(doc, copyState(doc.mode, saved.state), line, saved.lookAhead) }\n else\n { return new Context(doc, copyState(doc.mode, saved), line) }\n };\n\n Context.prototype.save = function (copy) {\n var state = copy !== false ? copyState(this.doc.mode, this.state) : this.state;\n return this.maxLookAhead > 0 ? new SavedContext(state, this.maxLookAhead) : state\n };\n\n\n // Compute a style array (an array starting with a mode generation\n // -- for invalidation -- followed by pairs of end positions and\n // style strings), which is used to highlight the tokens on the\n // line.\n function highlightLine(cm, line, context, forceToEnd) {\n // A styles array always starts with a number identifying the\n // mode/overlays that it is based on (for easy invalidation).\n var st = [cm.state.modeGen], lineClasses = {};\n // Compute the base array of styles\n runMode(cm, line.text, cm.doc.mode, context, function (end, style) { return st.push(end, style); },\n lineClasses, forceToEnd);\n var state = context.state;\n\n // Run overlays, adjust style array.\n var loop = function ( o ) {\n context.baseTokens = st;\n var overlay = cm.state.overlays[o], i = 1, at = 0;\n context.state = true;\n runMode(cm, line.text, overlay.mode, context, function (end, style) {\n var start = i;\n // Ensure there's a token end at the current position, and that i points at it\n while (at < end) {\n var i_end = st[i];\n if (i_end > end)\n { st.splice(i, 1, end, st[i+1], i_end); }\n i += 2;\n at = Math.min(end, i_end);\n }\n if (!style) { return }\n if (overlay.opaque) {\n st.splice(start, i - start, end, \"overlay \" + style);\n i = start + 2;\n } else {\n for (; start < i; start += 2) {\n var cur = st[start+1];\n st[start+1] = (cur ? cur + \" \" : \"\") + \"overlay \" + style;\n }\n }\n }, lineClasses);\n context.state = state;\n context.baseTokens = null;\n context.baseTokenPos = 1;\n };\n\n for (var o = 0; o < cm.state.overlays.length; ++o) loop( o );\n\n return {styles: st, classes: lineClasses.bgClass || lineClasses.textClass ? lineClasses : null}\n }\n\n function getLineStyles(cm, line, updateFrontier) {\n if (!line.styles || line.styles[0] != cm.state.modeGen) {\n var context = getContextBefore(cm, lineNo(line));\n var resetState = line.text.length > cm.options.maxHighlightLength && copyState(cm.doc.mode, context.state);\n var result = highlightLine(cm, line, context);\n if (resetState) { context.state = resetState; }\n line.stateAfter = context.save(!resetState);\n line.styles = result.styles;\n if (result.classes) { line.styleClasses = result.classes; }\n else if (line.styleClasses) { line.styleClasses = null; }\n if (updateFrontier === cm.doc.highlightFrontier)\n { cm.doc.modeFrontier = Math.max(cm.doc.modeFrontier, ++cm.doc.highlightFrontier); }\n }\n return line.styles\n }\n\n function getContextBefore(cm, n, precise) {\n var doc = cm.doc, display = cm.display;\n if (!doc.mode.startState) { return new Context(doc, true, n) }\n var start = findStartLine(cm, n, precise);\n var saved = start > doc.first && getLine(doc, start - 1).stateAfter;\n var context = saved ? Context.fromSaved(doc, saved, start) : new Context(doc, startState(doc.mode), start);\n\n doc.iter(start, n, function (line) {\n processLine(cm, line.text, context);\n var pos = context.line;\n line.stateAfter = pos == n - 1 || pos % 5 == 0 || pos >= display.viewFrom && pos < display.viewTo ? context.save() : null;\n context.nextLine();\n });\n if (precise) { doc.modeFrontier = context.line; }\n return context\n }\n\n // Lightweight form of highlight -- proceed over this line and\n // update state, but don't save a style array. Used for lines that\n // aren't currently visible.\n function processLine(cm, text, context, startAt) {\n var mode = cm.doc.mode;\n var stream = new StringStream(text, cm.options.tabSize, context);\n stream.start = stream.pos = startAt || 0;\n if (text == \"\") { callBlankLine(mode, context.state); }\n while (!stream.eol()) {\n readToken(mode, stream, context.state);\n stream.start = stream.pos;\n }\n }\n\n function callBlankLine(mode, state) {\n if (mode.blankLine) { return mode.blankLine(state) }\n if (!mode.innerMode) { return }\n var inner = innerMode(mode, state);\n if (inner.mode.blankLine) { return inner.mode.blankLine(inner.state) }\n }\n\n function readToken(mode, stream, state, inner) {\n for (var i = 0; i < 10; i++) {\n if (inner) { inner[0] = innerMode(mode, state).mode; }\n var style = mode.token(stream, state);\n if (stream.pos > stream.start) { return style }\n }\n throw new Error(\"Mode \" + mode.name + \" failed to advance stream.\")\n }\n\n var Token = function(stream, type, state) {\n this.start = stream.start; this.end = stream.pos;\n this.string = stream.current();\n this.type = type || null;\n this.state = state;\n };\n\n // Utility for getTokenAt and getLineTokens\n function takeToken(cm, pos, precise, asArray) {\n var doc = cm.doc, mode = doc.mode, style;\n pos = clipPos(doc, pos);\n var line = getLine(doc, pos.line), context = getContextBefore(cm, pos.line, precise);\n var stream = new StringStream(line.text, cm.options.tabSize, context), tokens;\n if (asArray) { tokens = []; }\n while ((asArray || stream.pos < pos.ch) && !stream.eol()) {\n stream.start = stream.pos;\n style = readToken(mode, stream, context.state);\n if (asArray) { tokens.push(new Token(stream, style, copyState(doc.mode, context.state))); }\n }\n return asArray ? tokens : new Token(stream, style, context.state)\n }\n\n function extractLineClasses(type, output) {\n if (type) { for (;;) {\n var lineClass = type.match(/(?:^|\\s+)line-(background-)?(\\S+)/);\n if (!lineClass) { break }\n type = type.slice(0, lineClass.index) + type.slice(lineClass.index + lineClass[0].length);\n var prop = lineClass[1] ? \"bgClass\" : \"textClass\";\n if (output[prop] == null)\n { output[prop] = lineClass[2]; }\n else if (!(new RegExp(\"(?:^|\\\\s)\" + lineClass[2] + \"(?:$|\\\\s)\")).test(output[prop]))\n { output[prop] += \" \" + lineClass[2]; }\n } }\n return type\n }\n\n // Run the given mode's parser over a line, calling f for each token.\n function runMode(cm, text, mode, context, f, lineClasses, forceToEnd) {\n var flattenSpans = mode.flattenSpans;\n if (flattenSpans == null) { flattenSpans = cm.options.flattenSpans; }\n var curStart = 0, curStyle = null;\n var stream = new StringStream(text, cm.options.tabSize, context), style;\n var inner = cm.options.addModeClass && [null];\n if (text == \"\") { extractLineClasses(callBlankLine(mode, context.state), lineClasses); }\n while (!stream.eol()) {\n if (stream.pos > cm.options.maxHighlightLength) {\n flattenSpans = false;\n if (forceToEnd) { processLine(cm, text, context, stream.pos); }\n stream.pos = text.length;\n style = null;\n } else {\n style = extractLineClasses(readToken(mode, stream, context.state, inner), lineClasses);\n }\n if (inner) {\n var mName = inner[0].name;\n if (mName) { style = \"m-\" + (style ? mName + \" \" + style : mName); }\n }\n if (!flattenSpans || curStyle != style) {\n while (curStart < stream.start) {\n curStart = Math.min(stream.start, curStart + 5000);\n f(curStart, curStyle);\n }\n curStyle = style;\n }\n stream.start = stream.pos;\n }\n while (curStart < stream.pos) {\n // Webkit seems to refuse to render text nodes longer than 57444\n // characters, and returns inaccurate measurements in nodes\n // starting around 5000 chars.\n var pos = Math.min(stream.pos, curStart + 5000);\n f(pos, curStyle);\n curStart = pos;\n }\n }\n\n // Finds the line to start with when starting a parse. Tries to\n // find a line with a stateAfter, so that it can start with a\n // valid state. If that fails, it returns the line with the\n // smallest indentation, which tends to need the least context to\n // parse correctly.\n function findStartLine(cm, n, precise) {\n var minindent, minline, doc = cm.doc;\n var lim = precise ? -1 : n - (cm.doc.mode.innerMode ? 1000 : 100);\n for (var search = n; search > lim; --search) {\n if (search <= doc.first) { return doc.first }\n var line = getLine(doc, search - 1), after = line.stateAfter;\n if (after && (!precise || search + (after instanceof SavedContext ? after.lookAhead : 0) <= doc.modeFrontier))\n { return search }\n var indented = countColumn(line.text, null, cm.options.tabSize);\n if (minline == null || minindent > indented) {\n minline = search - 1;\n minindent = indented;\n }\n }\n return minline\n }\n\n function retreatFrontier(doc, n) {\n doc.modeFrontier = Math.min(doc.modeFrontier, n);\n if (doc.highlightFrontier < n - 10) { return }\n var start = doc.first;\n for (var line = n - 1; line > start; line--) {\n var saved = getLine(doc, line).stateAfter;\n // change is on 3\n // state on line 1 looked ahead 2 -- so saw 3\n // test 1 + 2 < 3 should cover this\n if (saved && (!(saved instanceof SavedContext) || line + saved.lookAhead < n)) {\n start = line + 1;\n break\n }\n }\n doc.highlightFrontier = Math.min(doc.highlightFrontier, start);\n }\n\n // Optimize some code when these features are not used.\n var sawReadOnlySpans = false, sawCollapsedSpans = false;\n\n function seeReadOnlySpans() {\n sawReadOnlySpans = true;\n }\n\n function seeCollapsedSpans() {\n sawCollapsedSpans = true;\n }\n\n // TEXTMARKER SPANS\n\n function MarkedSpan(marker, from, to) {\n this.marker = marker;\n this.from = from; this.to = to;\n }\n\n // Search an array of spans for a span matching the given marker.\n function getMarkedSpanFor(spans, marker) {\n if (spans) { for (var i = 0; i < spans.length; ++i) {\n var span = spans[i];\n if (span.marker == marker) { return span }\n } }\n }\n\n // Remove a span from an array, returning undefined if no spans are\n // left (we don't store arrays for lines without spans).\n function removeMarkedSpan(spans, span) {\n var r;\n for (var i = 0; i < spans.length; ++i)\n { if (spans[i] != span) { (r || (r = [])).push(spans[i]); } }\n return r\n }\n\n // Add a span to a line.\n function addMarkedSpan(line, span, op) {\n var inThisOp = op && window.WeakSet && (op.markedSpans || (op.markedSpans = new WeakSet));\n if (inThisOp && inThisOp.has(line.markedSpans)) {\n line.markedSpans.push(span);\n } else {\n line.markedSpans = line.markedSpans ? line.markedSpans.concat([span]) : [span];\n if (inThisOp) { inThisOp.add(line.markedSpans); }\n }\n span.marker.attachLine(line);\n }\n\n // Used for the algorithm that adjusts markers for a change in the\n // document. These functions cut an array of spans at a given\n // character position, returning an array of remaining chunks (or\n // undefined if nothing remains).\n function markedSpansBefore(old, startCh, isInsert) {\n var nw;\n if (old) { for (var i = 0; i < old.length; ++i) {\n var span = old[i], marker = span.marker;\n var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= startCh : span.from < startCh);\n if (startsBefore || span.from == startCh && marker.type == \"bookmark\" && (!isInsert || !span.marker.insertLeft)) {\n var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= startCh : span.to > startCh)\n ;(nw || (nw = [])).push(new MarkedSpan(marker, span.from, endsAfter ? null : span.to));\n }\n } }\n return nw\n }\n function markedSpansAfter(old, endCh, isInsert) {\n var nw;\n if (old) { for (var i = 0; i < old.length; ++i) {\n var span = old[i], marker = span.marker;\n var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= endCh : span.to > endCh);\n if (endsAfter || span.from == endCh && marker.type == \"bookmark\" && (!isInsert || span.marker.insertLeft)) {\n var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= endCh : span.from < endCh)\n ;(nw || (nw = [])).push(new MarkedSpan(marker, startsBefore ? null : span.from - endCh,\n span.to == null ? null : span.to - endCh));\n }\n } }\n return nw\n }\n\n // Given a change object, compute the new set of marker spans that\n // cover the line in which the change took place. Removes spans\n // entirely within the change, reconnects spans belonging to the\n // same marker that appear on both sides of the change, and cuts off\n // spans partially within the change. Returns an array of span\n // arrays with one element for each line in (after) the change.\n function stretchSpansOverChange(doc, change) {\n if (change.full) { return null }\n var oldFirst = isLine(doc, change.from.line) && getLine(doc, change.from.line).markedSpans;\n var oldLast = isLine(doc, change.to.line) && getLine(doc, change.to.line).markedSpans;\n if (!oldFirst && !oldLast) { return null }\n\n var startCh = change.from.ch, endCh = change.to.ch, isInsert = cmp(change.from, change.to) == 0;\n // Get the spans that 'stick out' on both sides\n var first = markedSpansBefore(oldFirst, startCh, isInsert);\n var last = markedSpansAfter(oldLast, endCh, isInsert);\n\n // Next, merge those two ends\n var sameLine = change.text.length == 1, offset = lst(change.text).length + (sameLine ? startCh : 0);\n if (first) {\n // Fix up .to properties of first\n for (var i = 0; i < first.length; ++i) {\n var span = first[i];\n if (span.to == null) {\n var found = getMarkedSpanFor(last, span.marker);\n if (!found) { span.to = startCh; }\n else if (sameLine) { span.to = found.to == null ? null : found.to + offset; }\n }\n }\n }\n if (last) {\n // Fix up .from in last (or move them into first in case of sameLine)\n for (var i$1 = 0; i$1 < last.length; ++i$1) {\n var span$1 = last[i$1];\n if (span$1.to != null) { span$1.to += offset; }\n if (span$1.from == null) {\n var found$1 = getMarkedSpanFor(first, span$1.marker);\n if (!found$1) {\n span$1.from = offset;\n if (sameLine) { (first || (first = [])).push(span$1); }\n }\n } else {\n span$1.from += offset;\n if (sameLine) { (first || (first = [])).push(span$1); }\n }\n }\n }\n // Make sure we didn't create any zero-length spans\n if (first) { first = clearEmptySpans(first); }\n if (last && last != first) { last = clearEmptySpans(last); }\n\n var newMarkers = [first];\n if (!sameLine) {\n // Fill gap with whole-line-spans\n var gap = change.text.length - 2, gapMarkers;\n if (gap > 0 && first)\n { for (var i$2 = 0; i$2 < first.length; ++i$2)\n { if (first[i$2].to == null)\n { (gapMarkers || (gapMarkers = [])).push(new MarkedSpan(first[i$2].marker, null, null)); } } }\n for (var i$3 = 0; i$3 < gap; ++i$3)\n { newMarkers.push(gapMarkers); }\n newMarkers.push(last);\n }\n return newMarkers\n }\n\n // Remove spans that are empty and don't have a clearWhenEmpty\n // option of false.\n function clearEmptySpans(spans) {\n for (var i = 0; i < spans.length; ++i) {\n var span = spans[i];\n if (span.from != null && span.from == span.to && span.marker.clearWhenEmpty !== false)\n { spans.splice(i--, 1); }\n }\n if (!spans.length) { return null }\n return spans\n }\n\n // Used to 'clip' out readOnly ranges when making a change.\n function removeReadOnlyRanges(doc, from, to) {\n var markers = null;\n doc.iter(from.line, to.line + 1, function (line) {\n if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) {\n var mark = line.markedSpans[i].marker;\n if (mark.readOnly && (!markers || indexOf(markers, mark) == -1))\n { (markers || (markers = [])).push(mark); }\n } }\n });\n if (!markers) { return null }\n var parts = [{from: from, to: to}];\n for (var i = 0; i < markers.length; ++i) {\n var mk = markers[i], m = mk.find(0);\n for (var j = 0; j < parts.length; ++j) {\n var p = parts[j];\n if (cmp(p.to, m.from) < 0 || cmp(p.from, m.to) > 0) { continue }\n var newParts = [j, 1], dfrom = cmp(p.from, m.from), dto = cmp(p.to, m.to);\n if (dfrom < 0 || !mk.inclusiveLeft && !dfrom)\n { newParts.push({from: p.from, to: m.from}); }\n if (dto > 0 || !mk.inclusiveRight && !dto)\n { newParts.push({from: m.to, to: p.to}); }\n parts.splice.apply(parts, newParts);\n j += newParts.length - 3;\n }\n }\n return parts\n }\n\n // Connect or disconnect spans from a line.\n function detachMarkedSpans(line) {\n var spans = line.markedSpans;\n if (!spans) { return }\n for (var i = 0; i < spans.length; ++i)\n { spans[i].marker.detachLine(line); }\n line.markedSpans = null;\n }\n function attachMarkedSpans(line, spans) {\n if (!spans) { return }\n for (var i = 0; i < spans.length; ++i)\n { spans[i].marker.attachLine(line); }\n line.markedSpans = spans;\n }\n\n // Helpers used when computing which overlapping collapsed span\n // counts as the larger one.\n function extraLeft(marker) { return marker.inclusiveLeft ? -1 : 0 }\n function extraRight(marker) { return marker.inclusiveRight ? 1 : 0 }\n\n // Returns a number indicating which of two overlapping collapsed\n // spans is larger (and thus includes the other). Falls back to\n // comparing ids when the spans cover exactly the same range.\n function compareCollapsedMarkers(a, b) {\n var lenDiff = a.lines.length - b.lines.length;\n if (lenDiff != 0) { return lenDiff }\n var aPos = a.find(), bPos = b.find();\n var fromCmp = cmp(aPos.from, bPos.from) || extraLeft(a) - extraLeft(b);\n if (fromCmp) { return -fromCmp }\n var toCmp = cmp(aPos.to, bPos.to) || extraRight(a) - extraRight(b);\n if (toCmp) { return toCmp }\n return b.id - a.id\n }\n\n // Find out whether a line ends or starts in a collapsed span. If\n // so, return the marker for that span.\n function collapsedSpanAtSide(line, start) {\n var sps = sawCollapsedSpans && line.markedSpans, found;\n if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) {\n sp = sps[i];\n if (sp.marker.collapsed && (start ? sp.from : sp.to) == null &&\n (!found || compareCollapsedMarkers(found, sp.marker) < 0))\n { found = sp.marker; }\n } }\n return found\n }\n function collapsedSpanAtStart(line) { return collapsedSpanAtSide(line, true) }\n function collapsedSpanAtEnd(line) { return collapsedSpanAtSide(line, false) }\n\n function collapsedSpanAround(line, ch) {\n var sps = sawCollapsedSpans && line.markedSpans, found;\n if (sps) { for (var i = 0; i < sps.length; ++i) {\n var sp = sps[i];\n if (sp.marker.collapsed && (sp.from == null || sp.from < ch) && (sp.to == null || sp.to > ch) &&\n (!found || compareCollapsedMarkers(found, sp.marker) < 0)) { found = sp.marker; }\n } }\n return found\n }\n\n // Test whether there exists a collapsed span that partially\n // overlaps (covers the start or end, but not both) of a new span.\n // Such overlap is not allowed.\n function conflictingCollapsedRange(doc, lineNo, from, to, marker) {\n var line = getLine(doc, lineNo);\n var sps = sawCollapsedSpans && line.markedSpans;\n if (sps) { for (var i = 0; i < sps.length; ++i) {\n var sp = sps[i];\n if (!sp.marker.collapsed) { continue }\n var found = sp.marker.find(0);\n var fromCmp = cmp(found.from, from) || extraLeft(sp.marker) - extraLeft(marker);\n var toCmp = cmp(found.to, to) || extraRight(sp.marker) - extraRight(marker);\n if (fromCmp >= 0 && toCmp <= 0 || fromCmp <= 0 && toCmp >= 0) { continue }\n if (fromCmp <= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.to, from) >= 0 : cmp(found.to, from) > 0) ||\n fromCmp >= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.from, to) <= 0 : cmp(found.from, to) < 0))\n { return true }\n } }\n }\n\n // A visual line is a line as drawn on the screen. Folding, for\n // example, can cause multiple logical lines to appear on the same\n // visual line. This finds the start of the visual line that the\n // given line is part of (usually that is the line itself).\n function visualLine(line) {\n var merged;\n while (merged = collapsedSpanAtStart(line))\n { line = merged.find(-1, true).line; }\n return line\n }\n\n function visualLineEnd(line) {\n var merged;\n while (merged = collapsedSpanAtEnd(line))\n { line = merged.find(1, true).line; }\n return line\n }\n\n // Returns an array of logical lines that continue the visual line\n // started by the argument, or undefined if there are no such lines.\n function visualLineContinued(line) {\n var merged, lines;\n while (merged = collapsedSpanAtEnd(line)) {\n line = merged.find(1, true).line\n ;(lines || (lines = [])).push(line);\n }\n return lines\n }\n\n // Get the line number of the start of the visual line that the\n // given line number is part of.\n function visualLineNo(doc, lineN) {\n var line = getLine(doc, lineN), vis = visualLine(line);\n if (line == vis) { return lineN }\n return lineNo(vis)\n }\n\n // Get the line number of the start of the next visual line after\n // the given line.\n function visualLineEndNo(doc, lineN) {\n if (lineN > doc.lastLine()) { return lineN }\n var line = getLine(doc, lineN), merged;\n if (!lineIsHidden(doc, line)) { return lineN }\n while (merged = collapsedSpanAtEnd(line))\n { line = merged.find(1, true).line; }\n return lineNo(line) + 1\n }\n\n // Compute whether a line is hidden. Lines count as hidden when they\n // are part of a visual line that starts with another line, or when\n // they are entirely covered by collapsed, non-widget span.\n function lineIsHidden(doc, line) {\n var sps = sawCollapsedSpans && line.markedSpans;\n if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) {\n sp = sps[i];\n if (!sp.marker.collapsed) { continue }\n if (sp.from == null) { return true }\n if (sp.marker.widgetNode) { continue }\n if (sp.from == 0 && sp.marker.inclusiveLeft && lineIsHiddenInner(doc, line, sp))\n { return true }\n } }\n }\n function lineIsHiddenInner(doc, line, span) {\n if (span.to == null) {\n var end = span.marker.find(1, true);\n return lineIsHiddenInner(doc, end.line, getMarkedSpanFor(end.line.markedSpans, span.marker))\n }\n if (span.marker.inclusiveRight && span.to == line.text.length)\n { return true }\n for (var sp = (void 0), i = 0; i < line.markedSpans.length; ++i) {\n sp = line.markedSpans[i];\n if (sp.marker.collapsed && !sp.marker.widgetNode && sp.from == span.to &&\n (sp.to == null || sp.to != span.from) &&\n (sp.marker.inclusiveLeft || span.marker.inclusiveRight) &&\n lineIsHiddenInner(doc, line, sp)) { return true }\n }\n }\n\n // Find the height above the given line.\n function heightAtLine(lineObj) {\n lineObj = visualLine(lineObj);\n\n var h = 0, chunk = lineObj.parent;\n for (var i = 0; i < chunk.lines.length; ++i) {\n var line = chunk.lines[i];\n if (line == lineObj) { break }\n else { h += line.height; }\n }\n for (var p = chunk.parent; p; chunk = p, p = chunk.parent) {\n for (var i$1 = 0; i$1 < p.children.length; ++i$1) {\n var cur = p.children[i$1];\n if (cur == chunk) { break }\n else { h += cur.height; }\n }\n }\n return h\n }\n\n // Compute the character length of a line, taking into account\n // collapsed ranges (see markText) that might hide parts, and join\n // other lines onto it.\n function lineLength(line) {\n if (line.height == 0) { return 0 }\n var len = line.text.length, merged, cur = line;\n while (merged = collapsedSpanAtStart(cur)) {\n var found = merged.find(0, true);\n cur = found.from.line;\n len += found.from.ch - found.to.ch;\n }\n cur = line;\n while (merged = collapsedSpanAtEnd(cur)) {\n var found$1 = merged.find(0, true);\n len -= cur.text.length - found$1.from.ch;\n cur = found$1.to.line;\n len += cur.text.length - found$1.to.ch;\n }\n return len\n }\n\n // Find the longest line in the document.\n function findMaxLine(cm) {\n var d = cm.display, doc = cm.doc;\n d.maxLine = getLine(doc, doc.first);\n d.maxLineLength = lineLength(d.maxLine);\n d.maxLineChanged = true;\n doc.iter(function (line) {\n var len = lineLength(line);\n if (len > d.maxLineLength) {\n d.maxLineLength = len;\n d.maxLine = line;\n }\n });\n }\n\n // LINE DATA STRUCTURE\n\n // Line objects. These hold state related to a line, including\n // highlighting info (the styles array).\n var Line = function(text, markedSpans, estimateHeight) {\n this.text = text;\n attachMarkedSpans(this, markedSpans);\n this.height = estimateHeight ? estimateHeight(this) : 1;\n };\n\n Line.prototype.lineNo = function () { return lineNo(this) };\n eventMixin(Line);\n\n // Change the content (text, markers) of a line. Automatically\n // invalidates cached information and tries to re-estimate the\n // line's height.\n function updateLine(line, text, markedSpans, estimateHeight) {\n line.text = text;\n if (line.stateAfter) { line.stateAfter = null; }\n if (line.styles) { line.styles = null; }\n if (line.order != null) { line.order = null; }\n detachMarkedSpans(line);\n attachMarkedSpans(line, markedSpans);\n var estHeight = estimateHeight ? estimateHeight(line) : 1;\n if (estHeight != line.height) { updateLineHeight(line, estHeight); }\n }\n\n // Detach a line from the document tree and its markers.\n function cleanUpLine(line) {\n line.parent = null;\n detachMarkedSpans(line);\n }\n\n // Convert a style as returned by a mode (either null, or a string\n // containing one or more styles) to a CSS style. This is cached,\n // and also looks for line-wide styles.\n var styleToClassCache = {}, styleToClassCacheWithMode = {};\n function interpretTokenStyle(style, options) {\n if (!style || /^\\s*$/.test(style)) { return null }\n var cache = options.addModeClass ? styleToClassCacheWithMode : styleToClassCache;\n return cache[style] ||\n (cache[style] = style.replace(/\\S+/g, \"cm-$&\"))\n }\n\n // Render the DOM representation of the text of a line. Also builds\n // up a 'line map', which points at the DOM nodes that represent\n // specific stretches of text, and is used by the measuring code.\n // The returned object contains the DOM node, this map, and\n // information about line-wide styles that were set by the mode.\n function buildLineContent(cm, lineView) {\n // The padding-right forces the element to have a 'border', which\n // is needed on Webkit to be able to get line-level bounding\n // rectangles for it (in measureChar).\n var content = eltP(\"span\", null, null, webkit ? \"padding-right: .1px\" : null);\n var builder = {pre: eltP(\"pre\", [content], \"CodeMirror-line\"), content: content,\n col: 0, pos: 0, cm: cm,\n trailingSpace: false,\n splitSpaces: cm.getOption(\"lineWrapping\")};\n lineView.measure = {};\n\n // Iterate over the logical lines that make up this visual line.\n for (var i = 0; i <= (lineView.rest ? lineView.rest.length : 0); i++) {\n var line = i ? lineView.rest[i - 1] : lineView.line, order = (void 0);\n builder.pos = 0;\n builder.addToken = buildToken;\n // Optionally wire in some hacks into the token-rendering\n // algorithm, to deal with browser quirks.\n if (hasBadBidiRects(cm.display.measure) && (order = getOrder(line, cm.doc.direction)))\n { builder.addToken = buildTokenBadBidi(builder.addToken, order); }\n builder.map = [];\n var allowFrontierUpdate = lineView != cm.display.externalMeasured && lineNo(line);\n insertLineContent(line, builder, getLineStyles(cm, line, allowFrontierUpdate));\n if (line.styleClasses) {\n if (line.styleClasses.bgClass)\n { builder.bgClass = joinClasses(line.styleClasses.bgClass, builder.bgClass || \"\"); }\n if (line.styleClasses.textClass)\n { builder.textClass = joinClasses(line.styleClasses.textClass, builder.textClass || \"\"); }\n }\n\n // Ensure at least a single node is present, for measuring.\n if (builder.map.length == 0)\n { builder.map.push(0, 0, builder.content.appendChild(zeroWidthElement(cm.display.measure))); }\n\n // Store the map and a cache object for the current logical line\n if (i == 0) {\n lineView.measure.map = builder.map;\n lineView.measure.cache = {};\n } else {\n (lineView.measure.maps || (lineView.measure.maps = [])).push(builder.map)\n ;(lineView.measure.caches || (lineView.measure.caches = [])).push({});\n }\n }\n\n // See issue #2901\n if (webkit) {\n var last = builder.content.lastChild;\n if (/\\bcm-tab\\b/.test(last.className) || (last.querySelector && last.querySelector(\".cm-tab\")))\n { builder.content.className = \"cm-tab-wrap-hack\"; }\n }\n\n signal(cm, \"renderLine\", cm, lineView.line, builder.pre);\n if (builder.pre.className)\n { builder.textClass = joinClasses(builder.pre.className, builder.textClass || \"\"); }\n\n return builder\n }\n\n function defaultSpecialCharPlaceholder(ch) {\n var token = elt(\"span\", \"\\u2022\", \"cm-invalidchar\");\n token.title = \"\\\\u\" + ch.charCodeAt(0).toString(16);\n token.setAttribute(\"aria-label\", token.title);\n return token\n }\n\n // Build up the DOM representation for a single token, and add it to\n // the line map. Takes care to render special characters separately.\n function buildToken(builder, text, style, startStyle, endStyle, css, attributes) {\n if (!text) { return }\n var displayText = builder.splitSpaces ? splitSpaces(text, builder.trailingSpace) : text;\n var special = builder.cm.state.specialChars, mustWrap = false;\n var content;\n if (!special.test(text)) {\n builder.col += text.length;\n content = document.createTextNode(displayText);\n builder.map.push(builder.pos, builder.pos + text.length, content);\n if (ie && ie_version < 9) { mustWrap = true; }\n builder.pos += text.length;\n } else {\n content = document.createDocumentFragment();\n var pos = 0;\n while (true) {\n special.lastIndex = pos;\n var m = special.exec(text);\n var skipped = m ? m.index - pos : text.length - pos;\n if (skipped) {\n var txt = document.createTextNode(displayText.slice(pos, pos + skipped));\n if (ie && ie_version < 9) { content.appendChild(elt(\"span\", [txt])); }\n else { content.appendChild(txt); }\n builder.map.push(builder.pos, builder.pos + skipped, txt);\n builder.col += skipped;\n builder.pos += skipped;\n }\n if (!m) { break }\n pos += skipped + 1;\n var txt$1 = (void 0);\n if (m[0] == \"\\t\") {\n var tabSize = builder.cm.options.tabSize, tabWidth = tabSize - builder.col % tabSize;\n txt$1 = content.appendChild(elt(\"span\", spaceStr(tabWidth), \"cm-tab\"));\n txt$1.setAttribute(\"role\", \"presentation\");\n txt$1.setAttribute(\"cm-text\", \"\\t\");\n builder.col += tabWidth;\n } else if (m[0] == \"\\r\" || m[0] == \"\\n\") {\n txt$1 = content.appendChild(elt(\"span\", m[0] == \"\\r\" ? \"\\u240d\" : \"\\u2424\", \"cm-invalidchar\"));\n txt$1.setAttribute(\"cm-text\", m[0]);\n builder.col += 1;\n } else {\n txt$1 = builder.cm.options.specialCharPlaceholder(m[0]);\n txt$1.setAttribute(\"cm-text\", m[0]);\n if (ie && ie_version < 9) { content.appendChild(elt(\"span\", [txt$1])); }\n else { content.appendChild(txt$1); }\n builder.col += 1;\n }\n builder.map.push(builder.pos, builder.pos + 1, txt$1);\n builder.pos++;\n }\n }\n builder.trailingSpace = displayText.charCodeAt(text.length - 1) == 32;\n if (style || startStyle || endStyle || mustWrap || css || attributes) {\n var fullStyle = style || \"\";\n if (startStyle) { fullStyle += startStyle; }\n if (endStyle) { fullStyle += endStyle; }\n var token = elt(\"span\", [content], fullStyle, css);\n if (attributes) {\n for (var attr in attributes) { if (attributes.hasOwnProperty(attr) && attr != \"style\" && attr != \"class\")\n { token.setAttribute(attr, attributes[attr]); } }\n }\n return builder.content.appendChild(token)\n }\n builder.content.appendChild(content);\n }\n\n // Change some spaces to NBSP to prevent the browser from collapsing\n // trailing spaces at the end of a line when rendering text (issue #1362).\n function splitSpaces(text, trailingBefore) {\n if (text.length > 1 && !/ /.test(text)) { return text }\n var spaceBefore = trailingBefore, result = \"\";\n for (var i = 0; i < text.length; i++) {\n var ch = text.charAt(i);\n if (ch == \" \" && spaceBefore && (i == text.length - 1 || text.charCodeAt(i + 1) == 32))\n { ch = \"\\u00a0\"; }\n result += ch;\n spaceBefore = ch == \" \";\n }\n return result\n }\n\n // Work around nonsense dimensions being reported for stretches of\n // right-to-left text.\n function buildTokenBadBidi(inner, order) {\n return function (builder, text, style, startStyle, endStyle, css, attributes) {\n style = style ? style + \" cm-force-border\" : \"cm-force-border\";\n var start = builder.pos, end = start + text.length;\n for (;;) {\n // Find the part that overlaps with the start of this text\n var part = (void 0);\n for (var i = 0; i < order.length; i++) {\n part = order[i];\n if (part.to > start && part.from <= start) { break }\n }\n if (part.to >= end) { return inner(builder, text, style, startStyle, endStyle, css, attributes) }\n inner(builder, text.slice(0, part.to - start), style, startStyle, null, css, attributes);\n startStyle = null;\n text = text.slice(part.to - start);\n start = part.to;\n }\n }\n }\n\n function buildCollapsedSpan(builder, size, marker, ignoreWidget) {\n var widget = !ignoreWidget && marker.widgetNode;\n if (widget) { builder.map.push(builder.pos, builder.pos + size, widget); }\n if (!ignoreWidget && builder.cm.display.input.needsContentAttribute) {\n if (!widget)\n { widget = builder.content.appendChild(document.createElement(\"span\")); }\n widget.setAttribute(\"cm-marker\", marker.id);\n }\n if (widget) {\n builder.cm.display.input.setUneditable(widget);\n builder.content.appendChild(widget);\n }\n builder.pos += size;\n builder.trailingSpace = false;\n }\n\n // Outputs a number of spans to make up a line, taking highlighting\n // and marked text into account.\n function insertLineContent(line, builder, styles) {\n var spans = line.markedSpans, allText = line.text, at = 0;\n if (!spans) {\n for (var i$1 = 1; i$1 < styles.length; i$1+=2)\n { builder.addToken(builder, allText.slice(at, at = styles[i$1]), interpretTokenStyle(styles[i$1+1], builder.cm.options)); }\n return\n }\n\n var len = allText.length, pos = 0, i = 1, text = \"\", style, css;\n var nextChange = 0, spanStyle, spanEndStyle, spanStartStyle, collapsed, attributes;\n for (;;) {\n if (nextChange == pos) { // Update current marker set\n spanStyle = spanEndStyle = spanStartStyle = css = \"\";\n attributes = null;\n collapsed = null; nextChange = Infinity;\n var foundBookmarks = [], endStyles = (void 0);\n for (var j = 0; j < spans.length; ++j) {\n var sp = spans[j], m = sp.marker;\n if (m.type == \"bookmark\" && sp.from == pos && m.widgetNode) {\n foundBookmarks.push(m);\n } else if (sp.from <= pos && (sp.to == null || sp.to > pos || m.collapsed && sp.to == pos && sp.from == pos)) {\n if (sp.to != null && sp.to != pos && nextChange > sp.to) {\n nextChange = sp.to;\n spanEndStyle = \"\";\n }\n if (m.className) { spanStyle += \" \" + m.className; }\n if (m.css) { css = (css ? css + \";\" : \"\") + m.css; }\n if (m.startStyle && sp.from == pos) { spanStartStyle += \" \" + m.startStyle; }\n if (m.endStyle && sp.to == nextChange) { (endStyles || (endStyles = [])).push(m.endStyle, sp.to); }\n // support for the old title property\n // https://github.com/codemirror/CodeMirror/pull/5673\n if (m.title) { (attributes || (attributes = {})).title = m.title; }\n if (m.attributes) {\n for (var attr in m.attributes)\n { (attributes || (attributes = {}))[attr] = m.attributes[attr]; }\n }\n if (m.collapsed && (!collapsed || compareCollapsedMarkers(collapsed.marker, m) < 0))\n { collapsed = sp; }\n } else if (sp.from > pos && nextChange > sp.from) {\n nextChange = sp.from;\n }\n }\n if (endStyles) { for (var j$1 = 0; j$1 < endStyles.length; j$1 += 2)\n { if (endStyles[j$1 + 1] == nextChange) { spanEndStyle += \" \" + endStyles[j$1]; } } }\n\n if (!collapsed || collapsed.from == pos) { for (var j$2 = 0; j$2 < foundBookmarks.length; ++j$2)\n { buildCollapsedSpan(builder, 0, foundBookmarks[j$2]); } }\n if (collapsed && (collapsed.from || 0) == pos) {\n buildCollapsedSpan(builder, (collapsed.to == null ? len + 1 : collapsed.to) - pos,\n collapsed.marker, collapsed.from == null);\n if (collapsed.to == null) { return }\n if (collapsed.to == pos) { collapsed = false; }\n }\n }\n if (pos >= len) { break }\n\n var upto = Math.min(len, nextChange);\n while (true) {\n if (text) {\n var end = pos + text.length;\n if (!collapsed) {\n var tokenText = end > upto ? text.slice(0, upto - pos) : text;\n builder.addToken(builder, tokenText, style ? style + spanStyle : spanStyle,\n spanStartStyle, pos + tokenText.length == nextChange ? spanEndStyle : \"\", css, attributes);\n }\n if (end >= upto) {text = text.slice(upto - pos); pos = upto; break}\n pos = end;\n spanStartStyle = \"\";\n }\n text = allText.slice(at, at = styles[i++]);\n style = interpretTokenStyle(styles[i++], builder.cm.options);\n }\n }\n }\n\n\n // These objects are used to represent the visible (currently drawn)\n // part of the document. A LineView may correspond to multiple\n // logical lines, if those are connected by collapsed ranges.\n function LineView(doc, line, lineN) {\n // The starting line\n this.line = line;\n // Continuing lines, if any\n this.rest = visualLineContinued(line);\n // Number of logical lines in this visual line\n this.size = this.rest ? lineNo(lst(this.rest)) - lineN + 1 : 1;\n this.node = this.text = null;\n this.hidden = lineIsHidden(doc, line);\n }\n\n // Create a range of LineView objects for the given lines.\n function buildViewArray(cm, from, to) {\n var array = [], nextPos;\n for (var pos = from; pos < to; pos = nextPos) {\n var view = new LineView(cm.doc, getLine(cm.doc, pos), pos);\n nextPos = pos + view.size;\n array.push(view);\n }\n return array\n }\n\n var operationGroup = null;\n\n function pushOperation(op) {\n if (operationGroup) {\n operationGroup.ops.push(op);\n } else {\n op.ownsGroup = operationGroup = {\n ops: [op],\n delayedCallbacks: []\n };\n }\n }\n\n function fireCallbacksForOps(group) {\n // Calls delayed callbacks and cursorActivity handlers until no\n // new ones appear\n var callbacks = group.delayedCallbacks, i = 0;\n do {\n for (; i < callbacks.length; i++)\n { callbacks[i].call(null); }\n for (var j = 0; j < group.ops.length; j++) {\n var op = group.ops[j];\n if (op.cursorActivityHandlers)\n { while (op.cursorActivityCalled < op.cursorActivityHandlers.length)\n { op.cursorActivityHandlers[op.cursorActivityCalled++].call(null, op.cm); } }\n }\n } while (i < callbacks.length)\n }\n\n function finishOperation(op, endCb) {\n var group = op.ownsGroup;\n if (!group) { return }\n\n try { fireCallbacksForOps(group); }\n finally {\n operationGroup = null;\n endCb(group);\n }\n }\n\n var orphanDelayedCallbacks = null;\n\n // Often, we want to signal events at a point where we are in the\n // middle of some work, but don't want the handler to start calling\n // other methods on the editor, which might be in an inconsistent\n // state or simply not expect any other events to happen.\n // signalLater looks whether there are any handlers, and schedules\n // them to be executed when the last operation ends, or, if no\n // operation is active, when a timeout fires.\n function signalLater(emitter, type /*, values...*/) {\n var arr = getHandlers(emitter, type);\n if (!arr.length) { return }\n var args = Array.prototype.slice.call(arguments, 2), list;\n if (operationGroup) {\n list = operationGroup.delayedCallbacks;\n } else if (orphanDelayedCallbacks) {\n list = orphanDelayedCallbacks;\n } else {\n list = orphanDelayedCallbacks = [];\n setTimeout(fireOrphanDelayed, 0);\n }\n var loop = function ( i ) {\n list.push(function () { return arr[i].apply(null, args); });\n };\n\n for (var i = 0; i < arr.length; ++i)\n loop( i );\n }\n\n function fireOrphanDelayed() {\n var delayed = orphanDelayedCallbacks;\n orphanDelayedCallbacks = null;\n for (var i = 0; i < delayed.length; ++i) { delayed[i](); }\n }\n\n // When an aspect of a line changes, a string is added to\n // lineView.changes. This updates the relevant part of the line's\n // DOM structure.\n function updateLineForChanges(cm, lineView, lineN, dims) {\n for (var j = 0; j < lineView.changes.length; j++) {\n var type = lineView.changes[j];\n if (type == \"text\") { updateLineText(cm, lineView); }\n else if (type == \"gutter\") { updateLineGutter(cm, lineView, lineN, dims); }\n else if (type == \"class\") { updateLineClasses(cm, lineView); }\n else if (type == \"widget\") { updateLineWidgets(cm, lineView, dims); }\n }\n lineView.changes = null;\n }\n\n // Lines with gutter elements, widgets or a background class need to\n // be wrapped, and have the extra elements added to the wrapper div\n function ensureLineWrapped(lineView) {\n if (lineView.node == lineView.text) {\n lineView.node = elt(\"div\", null, null, \"position: relative\");\n if (lineView.text.parentNode)\n { lineView.text.parentNode.replaceChild(lineView.node, lineView.text); }\n lineView.node.appendChild(lineView.text);\n if (ie && ie_version < 8) { lineView.node.style.zIndex = 2; }\n }\n return lineView.node\n }\n\n function updateLineBackground(cm, lineView) {\n var cls = lineView.bgClass ? lineView.bgClass + \" \" + (lineView.line.bgClass || \"\") : lineView.line.bgClass;\n if (cls) { cls += \" CodeMirror-linebackground\"; }\n if (lineView.background) {\n if (cls) { lineView.background.className = cls; }\n else { lineView.background.parentNode.removeChild(lineView.background); lineView.background = null; }\n } else if (cls) {\n var wrap = ensureLineWrapped(lineView);\n lineView.background = wrap.insertBefore(elt(\"div\", null, cls), wrap.firstChild);\n cm.display.input.setUneditable(lineView.background);\n }\n }\n\n // Wrapper around buildLineContent which will reuse the structure\n // in display.externalMeasured when possible.\n function getLineContent(cm, lineView) {\n var ext = cm.display.externalMeasured;\n if (ext && ext.line == lineView.line) {\n cm.display.externalMeasured = null;\n lineView.measure = ext.measure;\n return ext.built\n }\n return buildLineContent(cm, lineView)\n }\n\n // Redraw the line's text. Interacts with the background and text\n // classes because the mode may output tokens that influence these\n // classes.\n function updateLineText(cm, lineView) {\n var cls = lineView.text.className;\n var built = getLineContent(cm, lineView);\n if (lineView.text == lineView.node) { lineView.node = built.pre; }\n lineView.text.parentNode.replaceChild(built.pre, lineView.text);\n lineView.text = built.pre;\n if (built.bgClass != lineView.bgClass || built.textClass != lineView.textClass) {\n lineView.bgClass = built.bgClass;\n lineView.textClass = built.textClass;\n updateLineClasses(cm, lineView);\n } else if (cls) {\n lineView.text.className = cls;\n }\n }\n\n function updateLineClasses(cm, lineView) {\n updateLineBackground(cm, lineView);\n if (lineView.line.wrapClass)\n { ensureLineWrapped(lineView).className = lineView.line.wrapClass; }\n else if (lineView.node != lineView.text)\n { lineView.node.className = \"\"; }\n var textClass = lineView.textClass ? lineView.textClass + \" \" + (lineView.line.textClass || \"\") : lineView.line.textClass;\n lineView.text.className = textClass || \"\";\n }\n\n function updateLineGutter(cm, lineView, lineN, dims) {\n if (lineView.gutter) {\n lineView.node.removeChild(lineView.gutter);\n lineView.gutter = null;\n }\n if (lineView.gutterBackground) {\n lineView.node.removeChild(lineView.gutterBackground);\n lineView.gutterBackground = null;\n }\n if (lineView.line.gutterClass) {\n var wrap = ensureLineWrapped(lineView);\n lineView.gutterBackground = elt(\"div\", null, \"CodeMirror-gutter-background \" + lineView.line.gutterClass,\n (\"left: \" + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + \"px; width: \" + (dims.gutterTotalWidth) + \"px\"));\n cm.display.input.setUneditable(lineView.gutterBackground);\n wrap.insertBefore(lineView.gutterBackground, lineView.text);\n }\n var markers = lineView.line.gutterMarkers;\n if (cm.options.lineNumbers || markers) {\n var wrap$1 = ensureLineWrapped(lineView);\n var gutterWrap = lineView.gutter = elt(\"div\", null, \"CodeMirror-gutter-wrapper\", (\"left: \" + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + \"px\"));\n gutterWrap.setAttribute(\"aria-hidden\", \"true\");\n cm.display.input.setUneditable(gutterWrap);\n wrap$1.insertBefore(gutterWrap, lineView.text);\n if (lineView.line.gutterClass)\n { gutterWrap.className += \" \" + lineView.line.gutterClass; }\n if (cm.options.lineNumbers && (!markers || !markers[\"CodeMirror-linenumbers\"]))\n { lineView.lineNumber = gutterWrap.appendChild(\n elt(\"div\", lineNumberFor(cm.options, lineN),\n \"CodeMirror-linenumber CodeMirror-gutter-elt\",\n (\"left: \" + (dims.gutterLeft[\"CodeMirror-linenumbers\"]) + \"px; width: \" + (cm.display.lineNumInnerWidth) + \"px\"))); }\n if (markers) { for (var k = 0; k < cm.display.gutterSpecs.length; ++k) {\n var id = cm.display.gutterSpecs[k].className, found = markers.hasOwnProperty(id) && markers[id];\n if (found)\n { gutterWrap.appendChild(elt(\"div\", [found], \"CodeMirror-gutter-elt\",\n (\"left: \" + (dims.gutterLeft[id]) + \"px; width: \" + (dims.gutterWidth[id]) + \"px\"))); }\n } }\n }\n }\n\n function updateLineWidgets(cm, lineView, dims) {\n if (lineView.alignable) { lineView.alignable = null; }\n var isWidget = classTest(\"CodeMirror-linewidget\");\n for (var node = lineView.node.firstChild, next = (void 0); node; node = next) {\n next = node.nextSibling;\n if (isWidget.test(node.className)) { lineView.node.removeChild(node); }\n }\n insertLineWidgets(cm, lineView, dims);\n }\n\n // Build a line's DOM representation from scratch\n function buildLineElement(cm, lineView, lineN, dims) {\n var built = getLineContent(cm, lineView);\n lineView.text = lineView.node = built.pre;\n if (built.bgClass) { lineView.bgClass = built.bgClass; }\n if (built.textClass) { lineView.textClass = built.textClass; }\n\n updateLineClasses(cm, lineView);\n updateLineGutter(cm, lineView, lineN, dims);\n insertLineWidgets(cm, lineView, dims);\n return lineView.node\n }\n\n // A lineView may contain multiple logical lines (when merged by\n // collapsed spans). The widgets for all of them need to be drawn.\n function insertLineWidgets(cm, lineView, dims) {\n insertLineWidgetsFor(cm, lineView.line, lineView, dims, true);\n if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++)\n { insertLineWidgetsFor(cm, lineView.rest[i], lineView, dims, false); } }\n }\n\n function insertLineWidgetsFor(cm, line, lineView, dims, allowAbove) {\n if (!line.widgets) { return }\n var wrap = ensureLineWrapped(lineView);\n for (var i = 0, ws = line.widgets; i < ws.length; ++i) {\n var widget = ws[i], node = elt(\"div\", [widget.node], \"CodeMirror-linewidget\" + (widget.className ? \" \" + widget.className : \"\"));\n if (!widget.handleMouseEvents) { node.setAttribute(\"cm-ignore-events\", \"true\"); }\n positionLineWidget(widget, node, lineView, dims);\n cm.display.input.setUneditable(node);\n if (allowAbove && widget.above)\n { wrap.insertBefore(node, lineView.gutter || lineView.text); }\n else\n { wrap.appendChild(node); }\n signalLater(widget, \"redraw\");\n }\n }\n\n function positionLineWidget(widget, node, lineView, dims) {\n if (widget.noHScroll) {\n (lineView.alignable || (lineView.alignable = [])).push(node);\n var width = dims.wrapperWidth;\n node.style.left = dims.fixedPos + \"px\";\n if (!widget.coverGutter) {\n width -= dims.gutterTotalWidth;\n node.style.paddingLeft = dims.gutterTotalWidth + \"px\";\n }\n node.style.width = width + \"px\";\n }\n if (widget.coverGutter) {\n node.style.zIndex = 5;\n node.style.position = \"relative\";\n if (!widget.noHScroll) { node.style.marginLeft = -dims.gutterTotalWidth + \"px\"; }\n }\n }\n\n function widgetHeight(widget) {\n if (widget.height != null) { return widget.height }\n var cm = widget.doc.cm;\n if (!cm) { return 0 }\n if (!contains(document.body, widget.node)) {\n var parentStyle = \"position: relative;\";\n if (widget.coverGutter)\n { parentStyle += \"margin-left: -\" + cm.display.gutters.offsetWidth + \"px;\"; }\n if (widget.noHScroll)\n { parentStyle += \"width: \" + cm.display.wrapper.clientWidth + \"px;\"; }\n removeChildrenAndAdd(cm.display.measure, elt(\"div\", [widget.node], null, parentStyle));\n }\n return widget.height = widget.node.parentNode.offsetHeight\n }\n\n // Return true when the given mouse event happened in a widget\n function eventInWidget(display, e) {\n for (var n = e_target(e); n != display.wrapper; n = n.parentNode) {\n if (!n || (n.nodeType == 1 && n.getAttribute(\"cm-ignore-events\") == \"true\") ||\n (n.parentNode == display.sizer && n != display.mover))\n { return true }\n }\n }\n\n // POSITION MEASUREMENT\n\n function paddingTop(display) {return display.lineSpace.offsetTop}\n function paddingVert(display) {return display.mover.offsetHeight - display.lineSpace.offsetHeight}\n function paddingH(display) {\n if (display.cachedPaddingH) { return display.cachedPaddingH }\n var e = removeChildrenAndAdd(display.measure, elt(\"pre\", \"x\", \"CodeMirror-line-like\"));\n var style = window.getComputedStyle ? window.getComputedStyle(e) : e.currentStyle;\n var data = {left: parseInt(style.paddingLeft), right: parseInt(style.paddingRight)};\n if (!isNaN(data.left) && !isNaN(data.right)) { display.cachedPaddingH = data; }\n return data\n }\n\n function scrollGap(cm) { return scrollerGap - cm.display.nativeBarWidth }\n function displayWidth(cm) {\n return cm.display.scroller.clientWidth - scrollGap(cm) - cm.display.barWidth\n }\n function displayHeight(cm) {\n return cm.display.scroller.clientHeight - scrollGap(cm) - cm.display.barHeight\n }\n\n // Ensure the lineView.wrapping.heights array is populated. This is\n // an array of bottom offsets for the lines that make up a drawn\n // line. When lineWrapping is on, there might be more than one\n // height.\n function ensureLineHeights(cm, lineView, rect) {\n var wrapping = cm.options.lineWrapping;\n var curWidth = wrapping && displayWidth(cm);\n if (!lineView.measure.heights || wrapping && lineView.measure.width != curWidth) {\n var heights = lineView.measure.heights = [];\n if (wrapping) {\n lineView.measure.width = curWidth;\n var rects = lineView.text.firstChild.getClientRects();\n for (var i = 0; i < rects.length - 1; i++) {\n var cur = rects[i], next = rects[i + 1];\n if (Math.abs(cur.bottom - next.bottom) > 2)\n { heights.push((cur.bottom + next.top) / 2 - rect.top); }\n }\n }\n heights.push(rect.bottom - rect.top);\n }\n }\n\n // Find a line map (mapping character offsets to text nodes) and a\n // measurement cache for the given line number. (A line view might\n // contain multiple lines when collapsed ranges are present.)\n function mapFromLineView(lineView, line, lineN) {\n if (lineView.line == line)\n { return {map: lineView.measure.map, cache: lineView.measure.cache} }\n for (var i = 0; i < lineView.rest.length; i++)\n { if (lineView.rest[i] == line)\n { return {map: lineView.measure.maps[i], cache: lineView.measure.caches[i]} } }\n for (var i$1 = 0; i$1 < lineView.rest.length; i$1++)\n { if (lineNo(lineView.rest[i$1]) > lineN)\n { return {map: lineView.measure.maps[i$1], cache: lineView.measure.caches[i$1], before: true} } }\n }\n\n // Render a line into the hidden node display.externalMeasured. Used\n // when measurement is needed for a line that's not in the viewport.\n function updateExternalMeasurement(cm, line) {\n line = visualLine(line);\n var lineN = lineNo(line);\n var view = cm.display.externalMeasured = new LineView(cm.doc, line, lineN);\n view.lineN = lineN;\n var built = view.built = buildLineContent(cm, view);\n view.text = built.pre;\n removeChildrenAndAdd(cm.display.lineMeasure, built.pre);\n return view\n }\n\n // Get a {top, bottom, left, right} box (in line-local coordinates)\n // for a given character.\n function measureChar(cm, line, ch, bias) {\n return measureCharPrepared(cm, prepareMeasureForLine(cm, line), ch, bias)\n }\n\n // Find a line view that corresponds to the given line number.\n function findViewForLine(cm, lineN) {\n if (lineN >= cm.display.viewFrom && lineN < cm.display.viewTo)\n { return cm.display.view[findViewIndex(cm, lineN)] }\n var ext = cm.display.externalMeasured;\n if (ext && lineN >= ext.lineN && lineN < ext.lineN + ext.size)\n { return ext }\n }\n\n // Measurement can be split in two steps, the set-up work that\n // applies to the whole line, and the measurement of the actual\n // character. Functions like coordsChar, that need to do a lot of\n // measurements in a row, can thus ensure that the set-up work is\n // only done once.\n function prepareMeasureForLine(cm, line) {\n var lineN = lineNo(line);\n var view = findViewForLine(cm, lineN);\n if (view && !view.text) {\n view = null;\n } else if (view && view.changes) {\n updateLineForChanges(cm, view, lineN, getDimensions(cm));\n cm.curOp.forceUpdate = true;\n }\n if (!view)\n { view = updateExternalMeasurement(cm, line); }\n\n var info = mapFromLineView(view, line, lineN);\n return {\n line: line, view: view, rect: null,\n map: info.map, cache: info.cache, before: info.before,\n hasHeights: false\n }\n }\n\n // Given a prepared measurement object, measures the position of an\n // actual character (or fetches it from the cache).\n function measureCharPrepared(cm, prepared, ch, bias, varHeight) {\n if (prepared.before) { ch = -1; }\n var key = ch + (bias || \"\"), found;\n if (prepared.cache.hasOwnProperty(key)) {\n found = prepared.cache[key];\n } else {\n if (!prepared.rect)\n { prepared.rect = prepared.view.text.getBoundingClientRect(); }\n if (!prepared.hasHeights) {\n ensureLineHeights(cm, prepared.view, prepared.rect);\n prepared.hasHeights = true;\n }\n found = measureCharInner(cm, prepared, ch, bias);\n if (!found.bogus) { prepared.cache[key] = found; }\n }\n return {left: found.left, right: found.right,\n top: varHeight ? found.rtop : found.top,\n bottom: varHeight ? found.rbottom : found.bottom}\n }\n\n var nullRect = {left: 0, right: 0, top: 0, bottom: 0};\n\n function nodeAndOffsetInLineMap(map, ch, bias) {\n var node, start, end, collapse, mStart, mEnd;\n // First, search the line map for the text node corresponding to,\n // or closest to, the target character.\n for (var i = 0; i < map.length; i += 3) {\n mStart = map[i];\n mEnd = map[i + 1];\n if (ch < mStart) {\n start = 0; end = 1;\n collapse = \"left\";\n } else if (ch < mEnd) {\n start = ch - mStart;\n end = start + 1;\n } else if (i == map.length - 3 || ch == mEnd && map[i + 3] > ch) {\n end = mEnd - mStart;\n start = end - 1;\n if (ch >= mEnd) { collapse = \"right\"; }\n }\n if (start != null) {\n node = map[i + 2];\n if (mStart == mEnd && bias == (node.insertLeft ? \"left\" : \"right\"))\n { collapse = bias; }\n if (bias == \"left\" && start == 0)\n { while (i && map[i - 2] == map[i - 3] && map[i - 1].insertLeft) {\n node = map[(i -= 3) + 2];\n collapse = \"left\";\n } }\n if (bias == \"right\" && start == mEnd - mStart)\n { while (i < map.length - 3 && map[i + 3] == map[i + 4] && !map[i + 5].insertLeft) {\n node = map[(i += 3) + 2];\n collapse = \"right\";\n } }\n break\n }\n }\n return {node: node, start: start, end: end, collapse: collapse, coverStart: mStart, coverEnd: mEnd}\n }\n\n function getUsefulRect(rects, bias) {\n var rect = nullRect;\n if (bias == \"left\") { for (var i = 0; i < rects.length; i++) {\n if ((rect = rects[i]).left != rect.right) { break }\n } } else { for (var i$1 = rects.length - 1; i$1 >= 0; i$1--) {\n if ((rect = rects[i$1]).left != rect.right) { break }\n } }\n return rect\n }\n\n function measureCharInner(cm, prepared, ch, bias) {\n var place = nodeAndOffsetInLineMap(prepared.map, ch, bias);\n var node = place.node, start = place.start, end = place.end, collapse = place.collapse;\n\n var rect;\n if (node.nodeType == 3) { // If it is a text node, use a range to retrieve the coordinates.\n for (var i$1 = 0; i$1 < 4; i$1++) { // Retry a maximum of 4 times when nonsense rectangles are returned\n while (start && isExtendingChar(prepared.line.text.charAt(place.coverStart + start))) { --start; }\n while (place.coverStart + end < place.coverEnd && isExtendingChar(prepared.line.text.charAt(place.coverStart + end))) { ++end; }\n if (ie && ie_version < 9 && start == 0 && end == place.coverEnd - place.coverStart)\n { rect = node.parentNode.getBoundingClientRect(); }\n else\n { rect = getUsefulRect(range(node, start, end).getClientRects(), bias); }\n if (rect.left || rect.right || start == 0) { break }\n end = start;\n start = start - 1;\n collapse = \"right\";\n }\n if (ie && ie_version < 11) { rect = maybeUpdateRectForZooming(cm.display.measure, rect); }\n } else { // If it is a widget, simply get the box for the whole widget.\n if (start > 0) { collapse = bias = \"right\"; }\n var rects;\n if (cm.options.lineWrapping && (rects = node.getClientRects()).length > 1)\n { rect = rects[bias == \"right\" ? rects.length - 1 : 0]; }\n else\n { rect = node.getBoundingClientRect(); }\n }\n if (ie && ie_version < 9 && !start && (!rect || !rect.left && !rect.right)) {\n var rSpan = node.parentNode.getClientRects()[0];\n if (rSpan)\n { rect = {left: rSpan.left, right: rSpan.left + charWidth(cm.display), top: rSpan.top, bottom: rSpan.bottom}; }\n else\n { rect = nullRect; }\n }\n\n var rtop = rect.top - prepared.rect.top, rbot = rect.bottom - prepared.rect.top;\n var mid = (rtop + rbot) / 2;\n var heights = prepared.view.measure.heights;\n var i = 0;\n for (; i < heights.length - 1; i++)\n { if (mid < heights[i]) { break } }\n var top = i ? heights[i - 1] : 0, bot = heights[i];\n var result = {left: (collapse == \"right\" ? rect.right : rect.left) - prepared.rect.left,\n right: (collapse == \"left\" ? rect.left : rect.right) - prepared.rect.left,\n top: top, bottom: bot};\n if (!rect.left && !rect.right) { result.bogus = true; }\n if (!cm.options.singleCursorHeightPerLine) { result.rtop = rtop; result.rbottom = rbot; }\n\n return result\n }\n\n // Work around problem with bounding client rects on ranges being\n // returned incorrectly when zoomed on IE10 and below.\n function maybeUpdateRectForZooming(measure, rect) {\n if (!window.screen || screen.logicalXDPI == null ||\n screen.logicalXDPI == screen.deviceXDPI || !hasBadZoomedRects(measure))\n { return rect }\n var scaleX = screen.logicalXDPI / screen.deviceXDPI;\n var scaleY = screen.logicalYDPI / screen.deviceYDPI;\n return {left: rect.left * scaleX, right: rect.right * scaleX,\n top: rect.top * scaleY, bottom: rect.bottom * scaleY}\n }\n\n function clearLineMeasurementCacheFor(lineView) {\n if (lineView.measure) {\n lineView.measure.cache = {};\n lineView.measure.heights = null;\n if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++)\n { lineView.measure.caches[i] = {}; } }\n }\n }\n\n function clearLineMeasurementCache(cm) {\n cm.display.externalMeasure = null;\n removeChildren(cm.display.lineMeasure);\n for (var i = 0; i < cm.display.view.length; i++)\n { clearLineMeasurementCacheFor(cm.display.view[i]); }\n }\n\n function clearCaches(cm) {\n clearLineMeasurementCache(cm);\n cm.display.cachedCharWidth = cm.display.cachedTextHeight = cm.display.cachedPaddingH = null;\n if (!cm.options.lineWrapping) { cm.display.maxLineChanged = true; }\n cm.display.lineNumChars = null;\n }\n\n function pageScrollX() {\n // Work around https://bugs.chromium.org/p/chromium/issues/detail?id=489206\n // which causes page_Offset and bounding client rects to use\n // different reference viewports and invalidate our calculations.\n if (chrome && android) { return -(document.body.getBoundingClientRect().left - parseInt(getComputedStyle(document.body).marginLeft)) }\n return window.pageXOffset || (document.documentElement || document.body).scrollLeft\n }\n function pageScrollY() {\n if (chrome && android) { return -(document.body.getBoundingClientRect().top - parseInt(getComputedStyle(document.body).marginTop)) }\n return window.pageYOffset || (document.documentElement || document.body).scrollTop\n }\n\n function widgetTopHeight(lineObj) {\n var height = 0;\n if (lineObj.widgets) { for (var i = 0; i < lineObj.widgets.length; ++i) { if (lineObj.widgets[i].above)\n { height += widgetHeight(lineObj.widgets[i]); } } }\n return height\n }\n\n // Converts a {top, bottom, left, right} box from line-local\n // coordinates into another coordinate system. Context may be one of\n // \"line\", \"div\" (display.lineDiv), \"local\"./null (editor), \"window\",\n // or \"page\".\n function intoCoordSystem(cm, lineObj, rect, context, includeWidgets) {\n if (!includeWidgets) {\n var height = widgetTopHeight(lineObj);\n rect.top += height; rect.bottom += height;\n }\n if (context == \"line\") { return rect }\n if (!context) { context = \"local\"; }\n var yOff = heightAtLine(lineObj);\n if (context == \"local\") { yOff += paddingTop(cm.display); }\n else { yOff -= cm.display.viewOffset; }\n if (context == \"page\" || context == \"window\") {\n var lOff = cm.display.lineSpace.getBoundingClientRect();\n yOff += lOff.top + (context == \"window\" ? 0 : pageScrollY());\n var xOff = lOff.left + (context == \"window\" ? 0 : pageScrollX());\n rect.left += xOff; rect.right += xOff;\n }\n rect.top += yOff; rect.bottom += yOff;\n return rect\n }\n\n // Coverts a box from \"div\" coords to another coordinate system.\n // Context may be \"window\", \"page\", \"div\", or \"local\"./null.\n function fromCoordSystem(cm, coords, context) {\n if (context == \"div\") { return coords }\n var left = coords.left, top = coords.top;\n // First move into \"page\" coordinate system\n if (context == \"page\") {\n left -= pageScrollX();\n top -= pageScrollY();\n } else if (context == \"local\" || !context) {\n var localBox = cm.display.sizer.getBoundingClientRect();\n left += localBox.left;\n top += localBox.top;\n }\n\n var lineSpaceBox = cm.display.lineSpace.getBoundingClientRect();\n return {left: left - lineSpaceBox.left, top: top - lineSpaceBox.top}\n }\n\n function charCoords(cm, pos, context, lineObj, bias) {\n if (!lineObj) { lineObj = getLine(cm.doc, pos.line); }\n return intoCoordSystem(cm, lineObj, measureChar(cm, lineObj, pos.ch, bias), context)\n }\n\n // Returns a box for a given cursor position, which may have an\n // 'other' property containing the position of the secondary cursor\n // on a bidi boundary.\n // A cursor Pos(line, char, \"before\") is on the same visual line as `char - 1`\n // and after `char - 1` in writing order of `char - 1`\n // A cursor Pos(line, char, \"after\") is on the same visual line as `char`\n // and before `char` in writing order of `char`\n // Examples (upper-case letters are RTL, lower-case are LTR):\n // Pos(0, 1, ...)\n // before after\n // ab a|b a|b\n // aB a|B aB|\n // Ab |Ab A|b\n // AB B|A B|A\n // Every position after the last character on a line is considered to stick\n // to the last character on the line.\n function cursorCoords(cm, pos, context, lineObj, preparedMeasure, varHeight) {\n lineObj = lineObj || getLine(cm.doc, pos.line);\n if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj); }\n function get(ch, right) {\n var m = measureCharPrepared(cm, preparedMeasure, ch, right ? \"right\" : \"left\", varHeight);\n if (right) { m.left = m.right; } else { m.right = m.left; }\n return intoCoordSystem(cm, lineObj, m, context)\n }\n var order = getOrder(lineObj, cm.doc.direction), ch = pos.ch, sticky = pos.sticky;\n if (ch >= lineObj.text.length) {\n ch = lineObj.text.length;\n sticky = \"before\";\n } else if (ch <= 0) {\n ch = 0;\n sticky = \"after\";\n }\n if (!order) { return get(sticky == \"before\" ? ch - 1 : ch, sticky == \"before\") }\n\n function getBidi(ch, partPos, invert) {\n var part = order[partPos], right = part.level == 1;\n return get(invert ? ch - 1 : ch, right != invert)\n }\n var partPos = getBidiPartAt(order, ch, sticky);\n var other = bidiOther;\n var val = getBidi(ch, partPos, sticky == \"before\");\n if (other != null) { val.other = getBidi(ch, other, sticky != \"before\"); }\n return val\n }\n\n // Used to cheaply estimate the coordinates for a position. Used for\n // intermediate scroll updates.\n function estimateCoords(cm, pos) {\n var left = 0;\n pos = clipPos(cm.doc, pos);\n if (!cm.options.lineWrapping) { left = charWidth(cm.display) * pos.ch; }\n var lineObj = getLine(cm.doc, pos.line);\n var top = heightAtLine(lineObj) + paddingTop(cm.display);\n return {left: left, right: left, top: top, bottom: top + lineObj.height}\n }\n\n // Positions returned by coordsChar contain some extra information.\n // xRel is the relative x position of the input coordinates compared\n // to the found position (so xRel > 0 means the coordinates are to\n // the right of the character position, for example). When outside\n // is true, that means the coordinates lie outside the line's\n // vertical range.\n function PosWithInfo(line, ch, sticky, outside, xRel) {\n var pos = Pos(line, ch, sticky);\n pos.xRel = xRel;\n if (outside) { pos.outside = outside; }\n return pos\n }\n\n // Compute the character position closest to the given coordinates.\n // Input must be lineSpace-local (\"div\" coordinate system).\n function coordsChar(cm, x, y) {\n var doc = cm.doc;\n y += cm.display.viewOffset;\n if (y < 0) { return PosWithInfo(doc.first, 0, null, -1, -1) }\n var lineN = lineAtHeight(doc, y), last = doc.first + doc.size - 1;\n if (lineN > last)\n { return PosWithInfo(doc.first + doc.size - 1, getLine(doc, last).text.length, null, 1, 1) }\n if (x < 0) { x = 0; }\n\n var lineObj = getLine(doc, lineN);\n for (;;) {\n var found = coordsCharInner(cm, lineObj, lineN, x, y);\n var collapsed = collapsedSpanAround(lineObj, found.ch + (found.xRel > 0 || found.outside > 0 ? 1 : 0));\n if (!collapsed) { return found }\n var rangeEnd = collapsed.find(1);\n if (rangeEnd.line == lineN) { return rangeEnd }\n lineObj = getLine(doc, lineN = rangeEnd.line);\n }\n }\n\n function wrappedLineExtent(cm, lineObj, preparedMeasure, y) {\n y -= widgetTopHeight(lineObj);\n var end = lineObj.text.length;\n var begin = findFirst(function (ch) { return measureCharPrepared(cm, preparedMeasure, ch - 1).bottom <= y; }, end, 0);\n end = findFirst(function (ch) { return measureCharPrepared(cm, preparedMeasure, ch).top > y; }, begin, end);\n return {begin: begin, end: end}\n }\n\n function wrappedLineExtentChar(cm, lineObj, preparedMeasure, target) {\n if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj); }\n var targetTop = intoCoordSystem(cm, lineObj, measureCharPrepared(cm, preparedMeasure, target), \"line\").top;\n return wrappedLineExtent(cm, lineObj, preparedMeasure, targetTop)\n }\n\n // Returns true if the given side of a box is after the given\n // coordinates, in top-to-bottom, left-to-right order.\n function boxIsAfter(box, x, y, left) {\n return box.bottom <= y ? false : box.top > y ? true : (left ? box.left : box.right) > x\n }\n\n function coordsCharInner(cm, lineObj, lineNo, x, y) {\n // Move y into line-local coordinate space\n y -= heightAtLine(lineObj);\n var preparedMeasure = prepareMeasureForLine(cm, lineObj);\n // When directly calling `measureCharPrepared`, we have to adjust\n // for the widgets at this line.\n var widgetHeight = widgetTopHeight(lineObj);\n var begin = 0, end = lineObj.text.length, ltr = true;\n\n var order = getOrder(lineObj, cm.doc.direction);\n // If the line isn't plain left-to-right text, first figure out\n // which bidi section the coordinates fall into.\n if (order) {\n var part = (cm.options.lineWrapping ? coordsBidiPartWrapped : coordsBidiPart)\n (cm, lineObj, lineNo, preparedMeasure, order, x, y);\n ltr = part.level != 1;\n // The awkward -1 offsets are needed because findFirst (called\n // on these below) will treat its first bound as inclusive,\n // second as exclusive, but we want to actually address the\n // characters in the part's range\n begin = ltr ? part.from : part.to - 1;\n end = ltr ? part.to : part.from - 1;\n }\n\n // A binary search to find the first character whose bounding box\n // starts after the coordinates. If we run across any whose box wrap\n // the coordinates, store that.\n var chAround = null, boxAround = null;\n var ch = findFirst(function (ch) {\n var box = measureCharPrepared(cm, preparedMeasure, ch);\n box.top += widgetHeight; box.bottom += widgetHeight;\n if (!boxIsAfter(box, x, y, false)) { return false }\n if (box.top <= y && box.left <= x) {\n chAround = ch;\n boxAround = box;\n }\n return true\n }, begin, end);\n\n var baseX, sticky, outside = false;\n // If a box around the coordinates was found, use that\n if (boxAround) {\n // Distinguish coordinates nearer to the left or right side of the box\n var atLeft = x - boxAround.left < boxAround.right - x, atStart = atLeft == ltr;\n ch = chAround + (atStart ? 0 : 1);\n sticky = atStart ? \"after\" : \"before\";\n baseX = atLeft ? boxAround.left : boxAround.right;\n } else {\n // (Adjust for extended bound, if necessary.)\n if (!ltr && (ch == end || ch == begin)) { ch++; }\n // To determine which side to associate with, get the box to the\n // left of the character and compare it's vertical position to the\n // coordinates\n sticky = ch == 0 ? \"after\" : ch == lineObj.text.length ? \"before\" :\n (measureCharPrepared(cm, preparedMeasure, ch - (ltr ? 1 : 0)).bottom + widgetHeight <= y) == ltr ?\n \"after\" : \"before\";\n // Now get accurate coordinates for this place, in order to get a\n // base X position\n var coords = cursorCoords(cm, Pos(lineNo, ch, sticky), \"line\", lineObj, preparedMeasure);\n baseX = coords.left;\n outside = y < coords.top ? -1 : y >= coords.bottom ? 1 : 0;\n }\n\n ch = skipExtendingChars(lineObj.text, ch, 1);\n return PosWithInfo(lineNo, ch, sticky, outside, x - baseX)\n }\n\n function coordsBidiPart(cm, lineObj, lineNo, preparedMeasure, order, x, y) {\n // Bidi parts are sorted left-to-right, and in a non-line-wrapping\n // situation, we can take this ordering to correspond to the visual\n // ordering. This finds the first part whose end is after the given\n // coordinates.\n var index = findFirst(function (i) {\n var part = order[i], ltr = part.level != 1;\n return boxIsAfter(cursorCoords(cm, Pos(lineNo, ltr ? part.to : part.from, ltr ? \"before\" : \"after\"),\n \"line\", lineObj, preparedMeasure), x, y, true)\n }, 0, order.length - 1);\n var part = order[index];\n // If this isn't the first part, the part's start is also after\n // the coordinates, and the coordinates aren't on the same line as\n // that start, move one part back.\n if (index > 0) {\n var ltr = part.level != 1;\n var start = cursorCoords(cm, Pos(lineNo, ltr ? part.from : part.to, ltr ? \"after\" : \"before\"),\n \"line\", lineObj, preparedMeasure);\n if (boxIsAfter(start, x, y, true) && start.top > y)\n { part = order[index - 1]; }\n }\n return part\n }\n\n function coordsBidiPartWrapped(cm, lineObj, _lineNo, preparedMeasure, order, x, y) {\n // In a wrapped line, rtl text on wrapping boundaries can do things\n // that don't correspond to the ordering in our `order` array at\n // all, so a binary search doesn't work, and we want to return a\n // part that only spans one line so that the binary search in\n // coordsCharInner is safe. As such, we first find the extent of the\n // wrapped line, and then do a flat search in which we discard any\n // spans that aren't on the line.\n var ref = wrappedLineExtent(cm, lineObj, preparedMeasure, y);\n var begin = ref.begin;\n var end = ref.end;\n if (/\\s/.test(lineObj.text.charAt(end - 1))) { end--; }\n var part = null, closestDist = null;\n for (var i = 0; i < order.length; i++) {\n var p = order[i];\n if (p.from >= end || p.to <= begin) { continue }\n var ltr = p.level != 1;\n var endX = measureCharPrepared(cm, preparedMeasure, ltr ? Math.min(end, p.to) - 1 : Math.max(begin, p.from)).right;\n // Weigh against spans ending before this, so that they are only\n // picked if nothing ends after\n var dist = endX < x ? x - endX + 1e9 : endX - x;\n if (!part || closestDist > dist) {\n part = p;\n closestDist = dist;\n }\n }\n if (!part) { part = order[order.length - 1]; }\n // Clip the part to the wrapped line.\n if (part.from < begin) { part = {from: begin, to: part.to, level: part.level}; }\n if (part.to > end) { part = {from: part.from, to: end, level: part.level}; }\n return part\n }\n\n var measureText;\n // Compute the default text height.\n function textHeight(display) {\n if (display.cachedTextHeight != null) { return display.cachedTextHeight }\n if (measureText == null) {\n measureText = elt(\"pre\", null, \"CodeMirror-line-like\");\n // Measure a bunch of lines, for browsers that compute\n // fractional heights.\n for (var i = 0; i < 49; ++i) {\n measureText.appendChild(document.createTextNode(\"x\"));\n measureText.appendChild(elt(\"br\"));\n }\n measureText.appendChild(document.createTextNode(\"x\"));\n }\n removeChildrenAndAdd(display.measure, measureText);\n var height = measureText.offsetHeight / 50;\n if (height > 3) { display.cachedTextHeight = height; }\n removeChildren(display.measure);\n return height || 1\n }\n\n // Compute the default character width.\n function charWidth(display) {\n if (display.cachedCharWidth != null) { return display.cachedCharWidth }\n var anchor = elt(\"span\", \"xxxxxxxxxx\");\n var pre = elt(\"pre\", [anchor], \"CodeMirror-line-like\");\n removeChildrenAndAdd(display.measure, pre);\n var rect = anchor.getBoundingClientRect(), width = (rect.right - rect.left) / 10;\n if (width > 2) { display.cachedCharWidth = width; }\n return width || 10\n }\n\n // Do a bulk-read of the DOM positions and sizes needed to draw the\n // view, so that we don't interleave reading and writing to the DOM.\n function getDimensions(cm) {\n var d = cm.display, left = {}, width = {};\n var gutterLeft = d.gutters.clientLeft;\n for (var n = d.gutters.firstChild, i = 0; n; n = n.nextSibling, ++i) {\n var id = cm.display.gutterSpecs[i].className;\n left[id] = n.offsetLeft + n.clientLeft + gutterLeft;\n width[id] = n.clientWidth;\n }\n return {fixedPos: compensateForHScroll(d),\n gutterTotalWidth: d.gutters.offsetWidth,\n gutterLeft: left,\n gutterWidth: width,\n wrapperWidth: d.wrapper.clientWidth}\n }\n\n // Computes display.scroller.scrollLeft + display.gutters.offsetWidth,\n // but using getBoundingClientRect to get a sub-pixel-accurate\n // result.\n function compensateForHScroll(display) {\n return display.scroller.getBoundingClientRect().left - display.sizer.getBoundingClientRect().left\n }\n\n // Returns a function that estimates the height of a line, to use as\n // first approximation until the line becomes visible (and is thus\n // properly measurable).\n function estimateHeight(cm) {\n var th = textHeight(cm.display), wrapping = cm.options.lineWrapping;\n var perLine = wrapping && Math.max(5, cm.display.scroller.clientWidth / charWidth(cm.display) - 3);\n return function (line) {\n if (lineIsHidden(cm.doc, line)) { return 0 }\n\n var widgetsHeight = 0;\n if (line.widgets) { for (var i = 0; i < line.widgets.length; i++) {\n if (line.widgets[i].height) { widgetsHeight += line.widgets[i].height; }\n } }\n\n if (wrapping)\n { return widgetsHeight + (Math.ceil(line.text.length / perLine) || 1) * th }\n else\n { return widgetsHeight + th }\n }\n }\n\n function estimateLineHeights(cm) {\n var doc = cm.doc, est = estimateHeight(cm);\n doc.iter(function (line) {\n var estHeight = est(line);\n if (estHeight != line.height) { updateLineHeight(line, estHeight); }\n });\n }\n\n // Given a mouse event, find the corresponding position. If liberal\n // is false, it checks whether a gutter or scrollbar was clicked,\n // and returns null if it was. forRect is used by rectangular\n // selections, and tries to estimate a character position even for\n // coordinates beyond the right of the text.\n function posFromMouse(cm, e, liberal, forRect) {\n var display = cm.display;\n if (!liberal && e_target(e).getAttribute(\"cm-not-content\") == \"true\") { return null }\n\n var x, y, space = display.lineSpace.getBoundingClientRect();\n // Fails unpredictably on IE[67] when mouse is dragged around quickly.\n try { x = e.clientX - space.left; y = e.clientY - space.top; }\n catch (e$1) { return null }\n var coords = coordsChar(cm, x, y), line;\n if (forRect && coords.xRel > 0 && (line = getLine(cm.doc, coords.line).text).length == coords.ch) {\n var colDiff = countColumn(line, line.length, cm.options.tabSize) - line.length;\n coords = Pos(coords.line, Math.max(0, Math.round((x - paddingH(cm.display).left) / charWidth(cm.display)) - colDiff));\n }\n return coords\n }\n\n // Find the view element corresponding to a given line. Return null\n // when the line isn't visible.\n function findViewIndex(cm, n) {\n if (n >= cm.display.viewTo) { return null }\n n -= cm.display.viewFrom;\n if (n < 0) { return null }\n var view = cm.display.view;\n for (var i = 0; i < view.length; i++) {\n n -= view[i].size;\n if (n < 0) { return i }\n }\n }\n\n // Updates the display.view data structure for a given change to the\n // document. From and to are in pre-change coordinates. Lendiff is\n // the amount of lines added or subtracted by the change. This is\n // used for changes that span multiple lines, or change the way\n // lines are divided into visual lines. regLineChange (below)\n // registers single-line changes.\n function regChange(cm, from, to, lendiff) {\n if (from == null) { from = cm.doc.first; }\n if (to == null) { to = cm.doc.first + cm.doc.size; }\n if (!lendiff) { lendiff = 0; }\n\n var display = cm.display;\n if (lendiff && to < display.viewTo &&\n (display.updateLineNumbers == null || display.updateLineNumbers > from))\n { display.updateLineNumbers = from; }\n\n cm.curOp.viewChanged = true;\n\n if (from >= display.viewTo) { // Change after\n if (sawCollapsedSpans && visualLineNo(cm.doc, from) < display.viewTo)\n { resetView(cm); }\n } else if (to <= display.viewFrom) { // Change before\n if (sawCollapsedSpans && visualLineEndNo(cm.doc, to + lendiff) > display.viewFrom) {\n resetView(cm);\n } else {\n display.viewFrom += lendiff;\n display.viewTo += lendiff;\n }\n } else if (from <= display.viewFrom && to >= display.viewTo) { // Full overlap\n resetView(cm);\n } else if (from <= display.viewFrom) { // Top overlap\n var cut = viewCuttingPoint(cm, to, to + lendiff, 1);\n if (cut) {\n display.view = display.view.slice(cut.index);\n display.viewFrom = cut.lineN;\n display.viewTo += lendiff;\n } else {\n resetView(cm);\n }\n } else if (to >= display.viewTo) { // Bottom overlap\n var cut$1 = viewCuttingPoint(cm, from, from, -1);\n if (cut$1) {\n display.view = display.view.slice(0, cut$1.index);\n display.viewTo = cut$1.lineN;\n } else {\n resetView(cm);\n }\n } else { // Gap in the middle\n var cutTop = viewCuttingPoint(cm, from, from, -1);\n var cutBot = viewCuttingPoint(cm, to, to + lendiff, 1);\n if (cutTop && cutBot) {\n display.view = display.view.slice(0, cutTop.index)\n .concat(buildViewArray(cm, cutTop.lineN, cutBot.lineN))\n .concat(display.view.slice(cutBot.index));\n display.viewTo += lendiff;\n } else {\n resetView(cm);\n }\n }\n\n var ext = display.externalMeasured;\n if (ext) {\n if (to < ext.lineN)\n { ext.lineN += lendiff; }\n else if (from < ext.lineN + ext.size)\n { display.externalMeasured = null; }\n }\n }\n\n // Register a change to a single line. Type must be one of \"text\",\n // \"gutter\", \"class\", \"widget\"\n function regLineChange(cm, line, type) {\n cm.curOp.viewChanged = true;\n var display = cm.display, ext = cm.display.externalMeasured;\n if (ext && line >= ext.lineN && line < ext.lineN + ext.size)\n { display.externalMeasured = null; }\n\n if (line < display.viewFrom || line >= display.viewTo) { return }\n var lineView = display.view[findViewIndex(cm, line)];\n if (lineView.node == null) { return }\n var arr = lineView.changes || (lineView.changes = []);\n if (indexOf(arr, type) == -1) { arr.push(type); }\n }\n\n // Clear the view.\n function resetView(cm) {\n cm.display.viewFrom = cm.display.viewTo = cm.doc.first;\n cm.display.view = [];\n cm.display.viewOffset = 0;\n }\n\n function viewCuttingPoint(cm, oldN, newN, dir) {\n var index = findViewIndex(cm, oldN), diff, view = cm.display.view;\n if (!sawCollapsedSpans || newN == cm.doc.first + cm.doc.size)\n { return {index: index, lineN: newN} }\n var n = cm.display.viewFrom;\n for (var i = 0; i < index; i++)\n { n += view[i].size; }\n if (n != oldN) {\n if (dir > 0) {\n if (index == view.length - 1) { return null }\n diff = (n + view[index].size) - oldN;\n index++;\n } else {\n diff = n - oldN;\n }\n oldN += diff; newN += diff;\n }\n while (visualLineNo(cm.doc, newN) != newN) {\n if (index == (dir < 0 ? 0 : view.length - 1)) { return null }\n newN += dir * view[index - (dir < 0 ? 1 : 0)].size;\n index += dir;\n }\n return {index: index, lineN: newN}\n }\n\n // Force the view to cover a given range, adding empty view element\n // or clipping off existing ones as needed.\n function adjustView(cm, from, to) {\n var display = cm.display, view = display.view;\n if (view.length == 0 || from >= display.viewTo || to <= display.viewFrom) {\n display.view = buildViewArray(cm, from, to);\n display.viewFrom = from;\n } else {\n if (display.viewFrom > from)\n { display.view = buildViewArray(cm, from, display.viewFrom).concat(display.view); }\n else if (display.viewFrom < from)\n { display.view = display.view.slice(findViewIndex(cm, from)); }\n display.viewFrom = from;\n if (display.viewTo < to)\n { display.view = display.view.concat(buildViewArray(cm, display.viewTo, to)); }\n else if (display.viewTo > to)\n { display.view = display.view.slice(0, findViewIndex(cm, to)); }\n }\n display.viewTo = to;\n }\n\n // Count the number of lines in the view whose DOM representation is\n // out of date (or nonexistent).\n function countDirtyView(cm) {\n var view = cm.display.view, dirty = 0;\n for (var i = 0; i < view.length; i++) {\n var lineView = view[i];\n if (!lineView.hidden && (!lineView.node || lineView.changes)) { ++dirty; }\n }\n return dirty\n }\n\n function updateSelection(cm) {\n cm.display.input.showSelection(cm.display.input.prepareSelection());\n }\n\n function prepareSelection(cm, primary) {\n if ( primary === void 0 ) primary = true;\n\n var doc = cm.doc, result = {};\n var curFragment = result.cursors = document.createDocumentFragment();\n var selFragment = result.selection = document.createDocumentFragment();\n\n for (var i = 0; i < doc.sel.ranges.length; i++) {\n if (!primary && i == doc.sel.primIndex) { continue }\n var range = doc.sel.ranges[i];\n if (range.from().line >= cm.display.viewTo || range.to().line < cm.display.viewFrom) { continue }\n var collapsed = range.empty();\n if (collapsed || cm.options.showCursorWhenSelecting)\n { drawSelectionCursor(cm, range.head, curFragment); }\n if (!collapsed)\n { drawSelectionRange(cm, range, selFragment); }\n }\n return result\n }\n\n // Draws a cursor for the given range\n function drawSelectionCursor(cm, head, output) {\n var pos = cursorCoords(cm, head, \"div\", null, null, !cm.options.singleCursorHeightPerLine);\n\n var cursor = output.appendChild(elt(\"div\", \"\\u00a0\", \"CodeMirror-cursor\"));\n cursor.style.left = pos.left + \"px\";\n cursor.style.top = pos.top + \"px\";\n cursor.style.height = Math.max(0, pos.bottom - pos.top) * cm.options.cursorHeight + \"px\";\n\n if (pos.other) {\n // Secondary cursor, shown when on a 'jump' in bi-directional text\n var otherCursor = output.appendChild(elt(\"div\", \"\\u00a0\", \"CodeMirror-cursor CodeMirror-secondarycursor\"));\n otherCursor.style.display = \"\";\n otherCursor.style.left = pos.other.left + \"px\";\n otherCursor.style.top = pos.other.top + \"px\";\n otherCursor.style.height = (pos.other.bottom - pos.other.top) * .85 + \"px\";\n }\n }\n\n function cmpCoords(a, b) { return a.top - b.top || a.left - b.left }\n\n // Draws the given range as a highlighted selection\n function drawSelectionRange(cm, range, output) {\n var display = cm.display, doc = cm.doc;\n var fragment = document.createDocumentFragment();\n var padding = paddingH(cm.display), leftSide = padding.left;\n var rightSide = Math.max(display.sizerWidth, displayWidth(cm) - display.sizer.offsetLeft) - padding.right;\n var docLTR = doc.direction == \"ltr\";\n\n function add(left, top, width, bottom) {\n if (top < 0) { top = 0; }\n top = Math.round(top);\n bottom = Math.round(bottom);\n fragment.appendChild(elt(\"div\", null, \"CodeMirror-selected\", (\"position: absolute; left: \" + left + \"px;\\n top: \" + top + \"px; width: \" + (width == null ? rightSide - left : width) + \"px;\\n height: \" + (bottom - top) + \"px\")));\n }\n\n function drawForLine(line, fromArg, toArg) {\n var lineObj = getLine(doc, line);\n var lineLen = lineObj.text.length;\n var start, end;\n function coords(ch, bias) {\n return charCoords(cm, Pos(line, ch), \"div\", lineObj, bias)\n }\n\n function wrapX(pos, dir, side) {\n var extent = wrappedLineExtentChar(cm, lineObj, null, pos);\n var prop = (dir == \"ltr\") == (side == \"after\") ? \"left\" : \"right\";\n var ch = side == \"after\" ? extent.begin : extent.end - (/\\s/.test(lineObj.text.charAt(extent.end - 1)) ? 2 : 1);\n return coords(ch, prop)[prop]\n }\n\n var order = getOrder(lineObj, doc.direction);\n iterateBidiSections(order, fromArg || 0, toArg == null ? lineLen : toArg, function (from, to, dir, i) {\n var ltr = dir == \"ltr\";\n var fromPos = coords(from, ltr ? \"left\" : \"right\");\n var toPos = coords(to - 1, ltr ? \"right\" : \"left\");\n\n var openStart = fromArg == null && from == 0, openEnd = toArg == null && to == lineLen;\n var first = i == 0, last = !order || i == order.length - 1;\n if (toPos.top - fromPos.top <= 3) { // Single line\n var openLeft = (docLTR ? openStart : openEnd) && first;\n var openRight = (docLTR ? openEnd : openStart) && last;\n var left = openLeft ? leftSide : (ltr ? fromPos : toPos).left;\n var right = openRight ? rightSide : (ltr ? toPos : fromPos).right;\n add(left, fromPos.top, right - left, fromPos.bottom);\n } else { // Multiple lines\n var topLeft, topRight, botLeft, botRight;\n if (ltr) {\n topLeft = docLTR && openStart && first ? leftSide : fromPos.left;\n topRight = docLTR ? rightSide : wrapX(from, dir, \"before\");\n botLeft = docLTR ? leftSide : wrapX(to, dir, \"after\");\n botRight = docLTR && openEnd && last ? rightSide : toPos.right;\n } else {\n topLeft = !docLTR ? leftSide : wrapX(from, dir, \"before\");\n topRight = !docLTR && openStart && first ? rightSide : fromPos.right;\n botLeft = !docLTR && openEnd && last ? leftSide : toPos.left;\n botRight = !docLTR ? rightSide : wrapX(to, dir, \"after\");\n }\n add(topLeft, fromPos.top, topRight - topLeft, fromPos.bottom);\n if (fromPos.bottom < toPos.top) { add(leftSide, fromPos.bottom, null, toPos.top); }\n add(botLeft, toPos.top, botRight - botLeft, toPos.bottom);\n }\n\n if (!start || cmpCoords(fromPos, start) < 0) { start = fromPos; }\n if (cmpCoords(toPos, start) < 0) { start = toPos; }\n if (!end || cmpCoords(fromPos, end) < 0) { end = fromPos; }\n if (cmpCoords(toPos, end) < 0) { end = toPos; }\n });\n return {start: start, end: end}\n }\n\n var sFrom = range.from(), sTo = range.to();\n if (sFrom.line == sTo.line) {\n drawForLine(sFrom.line, sFrom.ch, sTo.ch);\n } else {\n var fromLine = getLine(doc, sFrom.line), toLine = getLine(doc, sTo.line);\n var singleVLine = visualLine(fromLine) == visualLine(toLine);\n var leftEnd = drawForLine(sFrom.line, sFrom.ch, singleVLine ? fromLine.text.length + 1 : null).end;\n var rightStart = drawForLine(sTo.line, singleVLine ? 0 : null, sTo.ch).start;\n if (singleVLine) {\n if (leftEnd.top < rightStart.top - 2) {\n add(leftEnd.right, leftEnd.top, null, leftEnd.bottom);\n add(leftSide, rightStart.top, rightStart.left, rightStart.bottom);\n } else {\n add(leftEnd.right, leftEnd.top, rightStart.left - leftEnd.right, leftEnd.bottom);\n }\n }\n if (leftEnd.bottom < rightStart.top)\n { add(leftSide, leftEnd.bottom, null, rightStart.top); }\n }\n\n output.appendChild(fragment);\n }\n\n // Cursor-blinking\n function restartBlink(cm) {\n if (!cm.state.focused) { return }\n var display = cm.display;\n clearInterval(display.blinker);\n var on = true;\n display.cursorDiv.style.visibility = \"\";\n if (cm.options.cursorBlinkRate > 0)\n { display.blinker = setInterval(function () {\n if (!cm.hasFocus()) { onBlur(cm); }\n display.cursorDiv.style.visibility = (on = !on) ? \"\" : \"hidden\";\n }, cm.options.cursorBlinkRate); }\n else if (cm.options.cursorBlinkRate < 0)\n { display.cursorDiv.style.visibility = \"hidden\"; }\n }\n\n function ensureFocus(cm) {\n if (!cm.hasFocus()) {\n cm.display.input.focus();\n if (!cm.state.focused) { onFocus(cm); }\n }\n }\n\n function delayBlurEvent(cm) {\n cm.state.delayingBlurEvent = true;\n setTimeout(function () { if (cm.state.delayingBlurEvent) {\n cm.state.delayingBlurEvent = false;\n if (cm.state.focused) { onBlur(cm); }\n } }, 100);\n }\n\n function onFocus(cm, e) {\n if (cm.state.delayingBlurEvent && !cm.state.draggingText) { cm.state.delayingBlurEvent = false; }\n\n if (cm.options.readOnly == \"nocursor\") { return }\n if (!cm.state.focused) {\n signal(cm, \"focus\", cm, e);\n cm.state.focused = true;\n addClass(cm.display.wrapper, \"CodeMirror-focused\");\n // This test prevents this from firing when a context\n // menu is closed (since the input reset would kill the\n // select-all detection hack)\n if (!cm.curOp && cm.display.selForContextMenu != cm.doc.sel) {\n cm.display.input.reset();\n if (webkit) { setTimeout(function () { return cm.display.input.reset(true); }, 20); } // Issue #1730\n }\n cm.display.input.receivedFocus();\n }\n restartBlink(cm);\n }\n function onBlur(cm, e) {\n if (cm.state.delayingBlurEvent) { return }\n\n if (cm.state.focused) {\n signal(cm, \"blur\", cm, e);\n cm.state.focused = false;\n rmClass(cm.display.wrapper, \"CodeMirror-focused\");\n }\n clearInterval(cm.display.blinker);\n setTimeout(function () { if (!cm.state.focused) { cm.display.shift = false; } }, 150);\n }\n\n // Read the actual heights of the rendered lines, and update their\n // stored heights to match.\n function updateHeightsInViewport(cm) {\n var display = cm.display;\n var prevBottom = display.lineDiv.offsetTop;\n for (var i = 0; i < display.view.length; i++) {\n var cur = display.view[i], wrapping = cm.options.lineWrapping;\n var height = (void 0), width = 0;\n if (cur.hidden) { continue }\n if (ie && ie_version < 8) {\n var bot = cur.node.offsetTop + cur.node.offsetHeight;\n height = bot - prevBottom;\n prevBottom = bot;\n } else {\n var box = cur.node.getBoundingClientRect();\n height = box.bottom - box.top;\n // Check that lines don't extend past the right of the current\n // editor width\n if (!wrapping && cur.text.firstChild)\n { width = cur.text.firstChild.getBoundingClientRect().right - box.left - 1; }\n }\n var diff = cur.line.height - height;\n if (diff > .005 || diff < -.005) {\n updateLineHeight(cur.line, height);\n updateWidgetHeight(cur.line);\n if (cur.rest) { for (var j = 0; j < cur.rest.length; j++)\n { updateWidgetHeight(cur.rest[j]); } }\n }\n if (width > cm.display.sizerWidth) {\n var chWidth = Math.ceil(width / charWidth(cm.display));\n if (chWidth > cm.display.maxLineLength) {\n cm.display.maxLineLength = chWidth;\n cm.display.maxLine = cur.line;\n cm.display.maxLineChanged = true;\n }\n }\n }\n }\n\n // Read and store the height of line widgets associated with the\n // given line.\n function updateWidgetHeight(line) {\n if (line.widgets) { for (var i = 0; i < line.widgets.length; ++i) {\n var w = line.widgets[i], parent = w.node.parentNode;\n if (parent) { w.height = parent.offsetHeight; }\n } }\n }\n\n // Compute the lines that are visible in a given viewport (defaults\n // the the current scroll position). viewport may contain top,\n // height, and ensure (see op.scrollToPos) properties.\n function visibleLines(display, doc, viewport) {\n var top = viewport && viewport.top != null ? Math.max(0, viewport.top) : display.scroller.scrollTop;\n top = Math.floor(top - paddingTop(display));\n var bottom = viewport && viewport.bottom != null ? viewport.bottom : top + display.wrapper.clientHeight;\n\n var from = lineAtHeight(doc, top), to = lineAtHeight(doc, bottom);\n // Ensure is a {from: {line, ch}, to: {line, ch}} object, and\n // forces those lines into the viewport (if possible).\n if (viewport && viewport.ensure) {\n var ensureFrom = viewport.ensure.from.line, ensureTo = viewport.ensure.to.line;\n if (ensureFrom < from) {\n from = ensureFrom;\n to = lineAtHeight(doc, heightAtLine(getLine(doc, ensureFrom)) + display.wrapper.clientHeight);\n } else if (Math.min(ensureTo, doc.lastLine()) >= to) {\n from = lineAtHeight(doc, heightAtLine(getLine(doc, ensureTo)) - display.wrapper.clientHeight);\n to = ensureTo;\n }\n }\n return {from: from, to: Math.max(to, from + 1)}\n }\n\n // SCROLLING THINGS INTO VIEW\n\n // If an editor sits on the top or bottom of the window, partially\n // scrolled out of view, this ensures that the cursor is visible.\n function maybeScrollWindow(cm, rect) {\n if (signalDOMEvent(cm, \"scrollCursorIntoView\")) { return }\n\n var display = cm.display, box = display.sizer.getBoundingClientRect(), doScroll = null;\n if (rect.top + box.top < 0) { doScroll = true; }\n else if (rect.bottom + box.top > (window.innerHeight || document.documentElement.clientHeight)) { doScroll = false; }\n if (doScroll != null && !phantom) {\n var scrollNode = elt(\"div\", \"\\u200b\", null, (\"position: absolute;\\n top: \" + (rect.top - display.viewOffset - paddingTop(cm.display)) + \"px;\\n height: \" + (rect.bottom - rect.top + scrollGap(cm) + display.barHeight) + \"px;\\n left: \" + (rect.left) + \"px; width: \" + (Math.max(2, rect.right - rect.left)) + \"px;\"));\n cm.display.lineSpace.appendChild(scrollNode);\n scrollNode.scrollIntoView(doScroll);\n cm.display.lineSpace.removeChild(scrollNode);\n }\n }\n\n // Scroll a given position into view (immediately), verifying that\n // it actually became visible (as line heights are accurately\n // measured, the position of something may 'drift' during drawing).\n function scrollPosIntoView(cm, pos, end, margin) {\n if (margin == null) { margin = 0; }\n var rect;\n if (!cm.options.lineWrapping && pos == end) {\n // Set pos and end to the cursor positions around the character pos sticks to\n // If pos.sticky == \"before\", that is around pos.ch - 1, otherwise around pos.ch\n // If pos == Pos(_, 0, \"before\"), pos and end are unchanged\n end = pos.sticky == \"before\" ? Pos(pos.line, pos.ch + 1, \"before\") : pos;\n pos = pos.ch ? Pos(pos.line, pos.sticky == \"before\" ? pos.ch - 1 : pos.ch, \"after\") : pos;\n }\n for (var limit = 0; limit < 5; limit++) {\n var changed = false;\n var coords = cursorCoords(cm, pos);\n var endCoords = !end || end == pos ? coords : cursorCoords(cm, end);\n rect = {left: Math.min(coords.left, endCoords.left),\n top: Math.min(coords.top, endCoords.top) - margin,\n right: Math.max(coords.left, endCoords.left),\n bottom: Math.max(coords.bottom, endCoords.bottom) + margin};\n var scrollPos = calculateScrollPos(cm, rect);\n var startTop = cm.doc.scrollTop, startLeft = cm.doc.scrollLeft;\n if (scrollPos.scrollTop != null) {\n updateScrollTop(cm, scrollPos.scrollTop);\n if (Math.abs(cm.doc.scrollTop - startTop) > 1) { changed = true; }\n }\n if (scrollPos.scrollLeft != null) {\n setScrollLeft(cm, scrollPos.scrollLeft);\n if (Math.abs(cm.doc.scrollLeft - startLeft) > 1) { changed = true; }\n }\n if (!changed) { break }\n }\n return rect\n }\n\n // Scroll a given set of coordinates into view (immediately).\n function scrollIntoView(cm, rect) {\n var scrollPos = calculateScrollPos(cm, rect);\n if (scrollPos.scrollTop != null) { updateScrollTop(cm, scrollPos.scrollTop); }\n if (scrollPos.scrollLeft != null) { setScrollLeft(cm, scrollPos.scrollLeft); }\n }\n\n // Calculate a new scroll position needed to scroll the given\n // rectangle into view. Returns an object with scrollTop and\n // scrollLeft properties. When these are undefined, the\n // vertical/horizontal position does not need to be adjusted.\n function calculateScrollPos(cm, rect) {\n var display = cm.display, snapMargin = textHeight(cm.display);\n if (rect.top < 0) { rect.top = 0; }\n var screentop = cm.curOp && cm.curOp.scrollTop != null ? cm.curOp.scrollTop : display.scroller.scrollTop;\n var screen = displayHeight(cm), result = {};\n if (rect.bottom - rect.top > screen) { rect.bottom = rect.top + screen; }\n var docBottom = cm.doc.height + paddingVert(display);\n var atTop = rect.top < snapMargin, atBottom = rect.bottom > docBottom - snapMargin;\n if (rect.top < screentop) {\n result.scrollTop = atTop ? 0 : rect.top;\n } else if (rect.bottom > screentop + screen) {\n var newTop = Math.min(rect.top, (atBottom ? docBottom : rect.bottom) - screen);\n if (newTop != screentop) { result.scrollTop = newTop; }\n }\n\n var gutterSpace = cm.options.fixedGutter ? 0 : display.gutters.offsetWidth;\n var screenleft = cm.curOp && cm.curOp.scrollLeft != null ? cm.curOp.scrollLeft : display.scroller.scrollLeft - gutterSpace;\n var screenw = displayWidth(cm) - display.gutters.offsetWidth;\n var tooWide = rect.right - rect.left > screenw;\n if (tooWide) { rect.right = rect.left + screenw; }\n if (rect.left < 10)\n { result.scrollLeft = 0; }\n else if (rect.left < screenleft)\n { result.scrollLeft = Math.max(0, rect.left + gutterSpace - (tooWide ? 0 : 10)); }\n else if (rect.right > screenw + screenleft - 3)\n { result.scrollLeft = rect.right + (tooWide ? 0 : 10) - screenw; }\n return result\n }\n\n // Store a relative adjustment to the scroll position in the current\n // operation (to be applied when the operation finishes).\n function addToScrollTop(cm, top) {\n if (top == null) { return }\n resolveScrollToPos(cm);\n cm.curOp.scrollTop = (cm.curOp.scrollTop == null ? cm.doc.scrollTop : cm.curOp.scrollTop) + top;\n }\n\n // Make sure that at the end of the operation the current cursor is\n // shown.\n function ensureCursorVisible(cm) {\n resolveScrollToPos(cm);\n var cur = cm.getCursor();\n cm.curOp.scrollToPos = {from: cur, to: cur, margin: cm.options.cursorScrollMargin};\n }\n\n function scrollToCoords(cm, x, y) {\n if (x != null || y != null) { resolveScrollToPos(cm); }\n if (x != null) { cm.curOp.scrollLeft = x; }\n if (y != null) { cm.curOp.scrollTop = y; }\n }\n\n function scrollToRange(cm, range) {\n resolveScrollToPos(cm);\n cm.curOp.scrollToPos = range;\n }\n\n // When an operation has its scrollToPos property set, and another\n // scroll action is applied before the end of the operation, this\n // 'simulates' scrolling that position into view in a cheap way, so\n // that the effect of intermediate scroll commands is not ignored.\n function resolveScrollToPos(cm) {\n var range = cm.curOp.scrollToPos;\n if (range) {\n cm.curOp.scrollToPos = null;\n var from = estimateCoords(cm, range.from), to = estimateCoords(cm, range.to);\n scrollToCoordsRange(cm, from, to, range.margin);\n }\n }\n\n function scrollToCoordsRange(cm, from, to, margin) {\n var sPos = calculateScrollPos(cm, {\n left: Math.min(from.left, to.left),\n top: Math.min(from.top, to.top) - margin,\n right: Math.max(from.right, to.right),\n bottom: Math.max(from.bottom, to.bottom) + margin\n });\n scrollToCoords(cm, sPos.scrollLeft, sPos.scrollTop);\n }\n\n // Sync the scrollable area and scrollbars, ensure the viewport\n // covers the visible area.\n function updateScrollTop(cm, val) {\n if (Math.abs(cm.doc.scrollTop - val) < 2) { return }\n if (!gecko) { updateDisplaySimple(cm, {top: val}); }\n setScrollTop(cm, val, true);\n if (gecko) { updateDisplaySimple(cm); }\n startWorker(cm, 100);\n }\n\n function setScrollTop(cm, val, forceScroll) {\n val = Math.max(0, Math.min(cm.display.scroller.scrollHeight - cm.display.scroller.clientHeight, val));\n if (cm.display.scroller.scrollTop == val && !forceScroll) { return }\n cm.doc.scrollTop = val;\n cm.display.scrollbars.setScrollTop(val);\n if (cm.display.scroller.scrollTop != val) { cm.display.scroller.scrollTop = val; }\n }\n\n // Sync scroller and scrollbar, ensure the gutter elements are\n // aligned.\n function setScrollLeft(cm, val, isScroller, forceScroll) {\n val = Math.max(0, Math.min(val, cm.display.scroller.scrollWidth - cm.display.scroller.clientWidth));\n if ((isScroller ? val == cm.doc.scrollLeft : Math.abs(cm.doc.scrollLeft - val) < 2) && !forceScroll) { return }\n cm.doc.scrollLeft = val;\n alignHorizontally(cm);\n if (cm.display.scroller.scrollLeft != val) { cm.display.scroller.scrollLeft = val; }\n cm.display.scrollbars.setScrollLeft(val);\n }\n\n // SCROLLBARS\n\n // Prepare DOM reads needed to update the scrollbars. Done in one\n // shot to minimize update/measure roundtrips.\n function measureForScrollbars(cm) {\n var d = cm.display, gutterW = d.gutters.offsetWidth;\n var docH = Math.round(cm.doc.height + paddingVert(cm.display));\n return {\n clientHeight: d.scroller.clientHeight,\n viewHeight: d.wrapper.clientHeight,\n scrollWidth: d.scroller.scrollWidth, clientWidth: d.scroller.clientWidth,\n viewWidth: d.wrapper.clientWidth,\n barLeft: cm.options.fixedGutter ? gutterW : 0,\n docHeight: docH,\n scrollHeight: docH + scrollGap(cm) + d.barHeight,\n nativeBarWidth: d.nativeBarWidth,\n gutterWidth: gutterW\n }\n }\n\n var NativeScrollbars = function(place, scroll, cm) {\n this.cm = cm;\n var vert = this.vert = elt(\"div\", [elt(\"div\", null, null, \"min-width: 1px\")], \"CodeMirror-vscrollbar\");\n var horiz = this.horiz = elt(\"div\", [elt(\"div\", null, null, \"height: 100%; min-height: 1px\")], \"CodeMirror-hscrollbar\");\n vert.tabIndex = horiz.tabIndex = -1;\n place(vert); place(horiz);\n\n on(vert, \"scroll\", function () {\n if (vert.clientHeight) { scroll(vert.scrollTop, \"vertical\"); }\n });\n on(horiz, \"scroll\", function () {\n if (horiz.clientWidth) { scroll(horiz.scrollLeft, \"horizontal\"); }\n });\n\n this.checkedZeroWidth = false;\n // Need to set a minimum width to see the scrollbar on IE7 (but must not set it on IE8).\n if (ie && ie_version < 8) { this.horiz.style.minHeight = this.vert.style.minWidth = \"18px\"; }\n };\n\n NativeScrollbars.prototype.update = function (measure) {\n var needsH = measure.scrollWidth > measure.clientWidth + 1;\n var needsV = measure.scrollHeight > measure.clientHeight + 1;\n var sWidth = measure.nativeBarWidth;\n\n if (needsV) {\n this.vert.style.display = \"block\";\n this.vert.style.bottom = needsH ? sWidth + \"px\" : \"0\";\n var totalHeight = measure.viewHeight - (needsH ? sWidth : 0);\n // A bug in IE8 can cause this value to be negative, so guard it.\n this.vert.firstChild.style.height =\n Math.max(0, measure.scrollHeight - measure.clientHeight + totalHeight) + \"px\";\n } else {\n this.vert.style.display = \"\";\n this.vert.firstChild.style.height = \"0\";\n }\n\n if (needsH) {\n this.horiz.style.display = \"block\";\n this.horiz.style.right = needsV ? sWidth + \"px\" : \"0\";\n this.horiz.style.left = measure.barLeft + \"px\";\n var totalWidth = measure.viewWidth - measure.barLeft - (needsV ? sWidth : 0);\n this.horiz.firstChild.style.width =\n Math.max(0, measure.scrollWidth - measure.clientWidth + totalWidth) + \"px\";\n } else {\n this.horiz.style.display = \"\";\n this.horiz.firstChild.style.width = \"0\";\n }\n\n if (!this.checkedZeroWidth && measure.clientHeight > 0) {\n if (sWidth == 0) { this.zeroWidthHack(); }\n this.checkedZeroWidth = true;\n }\n\n return {right: needsV ? sWidth : 0, bottom: needsH ? sWidth : 0}\n };\n\n NativeScrollbars.prototype.setScrollLeft = function (pos) {\n if (this.horiz.scrollLeft != pos) { this.horiz.scrollLeft = pos; }\n if (this.disableHoriz) { this.enableZeroWidthBar(this.horiz, this.disableHoriz, \"horiz\"); }\n };\n\n NativeScrollbars.prototype.setScrollTop = function (pos) {\n if (this.vert.scrollTop != pos) { this.vert.scrollTop = pos; }\n if (this.disableVert) { this.enableZeroWidthBar(this.vert, this.disableVert, \"vert\"); }\n };\n\n NativeScrollbars.prototype.zeroWidthHack = function () {\n var w = mac && !mac_geMountainLion ? \"12px\" : \"18px\";\n this.horiz.style.height = this.vert.style.width = w;\n this.horiz.style.pointerEvents = this.vert.style.pointerEvents = \"none\";\n this.disableHoriz = new Delayed;\n this.disableVert = new Delayed;\n };\n\n NativeScrollbars.prototype.enableZeroWidthBar = function (bar, delay, type) {\n bar.style.pointerEvents = \"auto\";\n function maybeDisable() {\n // To find out whether the scrollbar is still visible, we\n // check whether the element under the pixel in the bottom\n // right corner of the scrollbar box is the scrollbar box\n // itself (when the bar is still visible) or its filler child\n // (when the bar is hidden). If it is still visible, we keep\n // it enabled, if it's hidden, we disable pointer events.\n var box = bar.getBoundingClientRect();\n var elt = type == \"vert\" ? document.elementFromPoint(box.right - 1, (box.top + box.bottom) / 2)\n : document.elementFromPoint((box.right + box.left) / 2, box.bottom - 1);\n if (elt != bar) { bar.style.pointerEvents = \"none\"; }\n else { delay.set(1000, maybeDisable); }\n }\n delay.set(1000, maybeDisable);\n };\n\n NativeScrollbars.prototype.clear = function () {\n var parent = this.horiz.parentNode;\n parent.removeChild(this.horiz);\n parent.removeChild(this.vert);\n };\n\n var NullScrollbars = function () {};\n\n NullScrollbars.prototype.update = function () { return {bottom: 0, right: 0} };\n NullScrollbars.prototype.setScrollLeft = function () {};\n NullScrollbars.prototype.setScrollTop = function () {};\n NullScrollbars.prototype.clear = function () {};\n\n function updateScrollbars(cm, measure) {\n if (!measure) { measure = measureForScrollbars(cm); }\n var startWidth = cm.display.barWidth, startHeight = cm.display.barHeight;\n updateScrollbarsInner(cm, measure);\n for (var i = 0; i < 4 && startWidth != cm.display.barWidth || startHeight != cm.display.barHeight; i++) {\n if (startWidth != cm.display.barWidth && cm.options.lineWrapping)\n { updateHeightsInViewport(cm); }\n updateScrollbarsInner(cm, measureForScrollbars(cm));\n startWidth = cm.display.barWidth; startHeight = cm.display.barHeight;\n }\n }\n\n // Re-synchronize the fake scrollbars with the actual size of the\n // content.\n function updateScrollbarsInner(cm, measure) {\n var d = cm.display;\n var sizes = d.scrollbars.update(measure);\n\n d.sizer.style.paddingRight = (d.barWidth = sizes.right) + \"px\";\n d.sizer.style.paddingBottom = (d.barHeight = sizes.bottom) + \"px\";\n d.heightForcer.style.borderBottom = sizes.bottom + \"px solid transparent\";\n\n if (sizes.right && sizes.bottom) {\n d.scrollbarFiller.style.display = \"block\";\n d.scrollbarFiller.style.height = sizes.bottom + \"px\";\n d.scrollbarFiller.style.width = sizes.right + \"px\";\n } else { d.scrollbarFiller.style.display = \"\"; }\n if (sizes.bottom && cm.options.coverGutterNextToScrollbar && cm.options.fixedGutter) {\n d.gutterFiller.style.display = \"block\";\n d.gutterFiller.style.height = sizes.bottom + \"px\";\n d.gutterFiller.style.width = measure.gutterWidth + \"px\";\n } else { d.gutterFiller.style.display = \"\"; }\n }\n\n var scrollbarModel = {\"native\": NativeScrollbars, \"null\": NullScrollbars};\n\n function initScrollbars(cm) {\n if (cm.display.scrollbars) {\n cm.display.scrollbars.clear();\n if (cm.display.scrollbars.addClass)\n { rmClass(cm.display.wrapper, cm.display.scrollbars.addClass); }\n }\n\n cm.display.scrollbars = new scrollbarModel[cm.options.scrollbarStyle](function (node) {\n cm.display.wrapper.insertBefore(node, cm.display.scrollbarFiller);\n // Prevent clicks in the scrollbars from killing focus\n on(node, \"mousedown\", function () {\n if (cm.state.focused) { setTimeout(function () { return cm.display.input.focus(); }, 0); }\n });\n node.setAttribute(\"cm-not-content\", \"true\");\n }, function (pos, axis) {\n if (axis == \"horizontal\") { setScrollLeft(cm, pos); }\n else { updateScrollTop(cm, pos); }\n }, cm);\n if (cm.display.scrollbars.addClass)\n { addClass(cm.display.wrapper, cm.display.scrollbars.addClass); }\n }\n\n // Operations are used to wrap a series of changes to the editor\n // state in such a way that each change won't have to update the\n // cursor and display (which would be awkward, slow, and\n // error-prone). Instead, display updates are batched and then all\n // combined and executed at once.\n\n var nextOpId = 0;\n // Start a new operation.\n function startOperation(cm) {\n cm.curOp = {\n cm: cm,\n viewChanged: false, // Flag that indicates that lines might need to be redrawn\n startHeight: cm.doc.height, // Used to detect need to update scrollbar\n forceUpdate: false, // Used to force a redraw\n updateInput: 0, // Whether to reset the input textarea\n typing: false, // Whether this reset should be careful to leave existing text (for compositing)\n changeObjs: null, // Accumulated changes, for firing change events\n cursorActivityHandlers: null, // Set of handlers to fire cursorActivity on\n cursorActivityCalled: 0, // Tracks which cursorActivity handlers have been called already\n selectionChanged: false, // Whether the selection needs to be redrawn\n updateMaxLine: false, // Set when the widest line needs to be determined anew\n scrollLeft: null, scrollTop: null, // Intermediate scroll position, not pushed to DOM yet\n scrollToPos: null, // Used to scroll to a specific position\n focus: false,\n id: ++nextOpId, // Unique ID\n markArrays: null // Used by addMarkedSpan\n };\n pushOperation(cm.curOp);\n }\n\n // Finish an operation, updating the display and signalling delayed events\n function endOperation(cm) {\n var op = cm.curOp;\n if (op) { finishOperation(op, function (group) {\n for (var i = 0; i < group.ops.length; i++)\n { group.ops[i].cm.curOp = null; }\n endOperations(group);\n }); }\n }\n\n // The DOM updates done when an operation finishes are batched so\n // that the minimum number of relayouts are required.\n function endOperations(group) {\n var ops = group.ops;\n for (var i = 0; i < ops.length; i++) // Read DOM\n { endOperation_R1(ops[i]); }\n for (var i$1 = 0; i$1 < ops.length; i$1++) // Write DOM (maybe)\n { endOperation_W1(ops[i$1]); }\n for (var i$2 = 0; i$2 < ops.length; i$2++) // Read DOM\n { endOperation_R2(ops[i$2]); }\n for (var i$3 = 0; i$3 < ops.length; i$3++) // Write DOM (maybe)\n { endOperation_W2(ops[i$3]); }\n for (var i$4 = 0; i$4 < ops.length; i$4++) // Read DOM\n { endOperation_finish(ops[i$4]); }\n }\n\n function endOperation_R1(op) {\n var cm = op.cm, display = cm.display;\n maybeClipScrollbars(cm);\n if (op.updateMaxLine) { findMaxLine(cm); }\n\n op.mustUpdate = op.viewChanged || op.forceUpdate || op.scrollTop != null ||\n op.scrollToPos && (op.scrollToPos.from.line < display.viewFrom ||\n op.scrollToPos.to.line >= display.viewTo) ||\n display.maxLineChanged && cm.options.lineWrapping;\n op.update = op.mustUpdate &&\n new DisplayUpdate(cm, op.mustUpdate && {top: op.scrollTop, ensure: op.scrollToPos}, op.forceUpdate);\n }\n\n function endOperation_W1(op) {\n op.updatedDisplay = op.mustUpdate && updateDisplayIfNeeded(op.cm, op.update);\n }\n\n function endOperation_R2(op) {\n var cm = op.cm, display = cm.display;\n if (op.updatedDisplay) { updateHeightsInViewport(cm); }\n\n op.barMeasure = measureForScrollbars(cm);\n\n // If the max line changed since it was last measured, measure it,\n // and ensure the document's width matches it.\n // updateDisplay_W2 will use these properties to do the actual resizing\n if (display.maxLineChanged && !cm.options.lineWrapping) {\n op.adjustWidthTo = measureChar(cm, display.maxLine, display.maxLine.text.length).left + 3;\n cm.display.sizerWidth = op.adjustWidthTo;\n op.barMeasure.scrollWidth =\n Math.max(display.scroller.clientWidth, display.sizer.offsetLeft + op.adjustWidthTo + scrollGap(cm) + cm.display.barWidth);\n op.maxScrollLeft = Math.max(0, display.sizer.offsetLeft + op.adjustWidthTo - displayWidth(cm));\n }\n\n if (op.updatedDisplay || op.selectionChanged)\n { op.preparedSelection = display.input.prepareSelection(); }\n }\n\n function endOperation_W2(op) {\n var cm = op.cm;\n\n if (op.adjustWidthTo != null) {\n cm.display.sizer.style.minWidth = op.adjustWidthTo + \"px\";\n if (op.maxScrollLeft < cm.doc.scrollLeft)\n { setScrollLeft(cm, Math.min(cm.display.scroller.scrollLeft, op.maxScrollLeft), true); }\n cm.display.maxLineChanged = false;\n }\n\n var takeFocus = op.focus && op.focus == activeElt();\n if (op.preparedSelection)\n { cm.display.input.showSelection(op.preparedSelection, takeFocus); }\n if (op.updatedDisplay || op.startHeight != cm.doc.height)\n { updateScrollbars(cm, op.barMeasure); }\n if (op.updatedDisplay)\n { setDocumentHeight(cm, op.barMeasure); }\n\n if (op.selectionChanged) { restartBlink(cm); }\n\n if (cm.state.focused && op.updateInput)\n { cm.display.input.reset(op.typing); }\n if (takeFocus) { ensureFocus(op.cm); }\n }\n\n function endOperation_finish(op) {\n var cm = op.cm, display = cm.display, doc = cm.doc;\n\n if (op.updatedDisplay) { postUpdateDisplay(cm, op.update); }\n\n // Abort mouse wheel delta measurement, when scrolling explicitly\n if (display.wheelStartX != null && (op.scrollTop != null || op.scrollLeft != null || op.scrollToPos))\n { display.wheelStartX = display.wheelStartY = null; }\n\n // Propagate the scroll position to the actual DOM scroller\n if (op.scrollTop != null) { setScrollTop(cm, op.scrollTop, op.forceScroll); }\n\n if (op.scrollLeft != null) { setScrollLeft(cm, op.scrollLeft, true, true); }\n // If we need to scroll a specific position into view, do so.\n if (op.scrollToPos) {\n var rect = scrollPosIntoView(cm, clipPos(doc, op.scrollToPos.from),\n clipPos(doc, op.scrollToPos.to), op.scrollToPos.margin);\n maybeScrollWindow(cm, rect);\n }\n\n // Fire events for markers that are hidden/unidden by editing or\n // undoing\n var hidden = op.maybeHiddenMarkers, unhidden = op.maybeUnhiddenMarkers;\n if (hidden) { for (var i = 0; i < hidden.length; ++i)\n { if (!hidden[i].lines.length) { signal(hidden[i], \"hide\"); } } }\n if (unhidden) { for (var i$1 = 0; i$1 < unhidden.length; ++i$1)\n { if (unhidden[i$1].lines.length) { signal(unhidden[i$1], \"unhide\"); } } }\n\n if (display.wrapper.offsetHeight)\n { doc.scrollTop = cm.display.scroller.scrollTop; }\n\n // Fire change events, and delayed event handlers\n if (op.changeObjs)\n { signal(cm, \"changes\", cm, op.changeObjs); }\n if (op.update)\n { op.update.finish(); }\n }\n\n // Run the given function in an operation\n function runInOp(cm, f) {\n if (cm.curOp) { return f() }\n startOperation(cm);\n try { return f() }\n finally { endOperation(cm); }\n }\n // Wraps a function in an operation. Returns the wrapped function.\n function operation(cm, f) {\n return function() {\n if (cm.curOp) { return f.apply(cm, arguments) }\n startOperation(cm);\n try { return f.apply(cm, arguments) }\n finally { endOperation(cm); }\n }\n }\n // Used to add methods to editor and doc instances, wrapping them in\n // operations.\n function methodOp(f) {\n return function() {\n if (this.curOp) { return f.apply(this, arguments) }\n startOperation(this);\n try { return f.apply(this, arguments) }\n finally { endOperation(this); }\n }\n }\n function docMethodOp(f) {\n return function() {\n var cm = this.cm;\n if (!cm || cm.curOp) { return f.apply(this, arguments) }\n startOperation(cm);\n try { return f.apply(this, arguments) }\n finally { endOperation(cm); }\n }\n }\n\n // HIGHLIGHT WORKER\n\n function startWorker(cm, time) {\n if (cm.doc.highlightFrontier < cm.display.viewTo)\n { cm.state.highlight.set(time, bind(highlightWorker, cm)); }\n }\n\n function highlightWorker(cm) {\n var doc = cm.doc;\n if (doc.highlightFrontier >= cm.display.viewTo) { return }\n var end = +new Date + cm.options.workTime;\n var context = getContextBefore(cm, doc.highlightFrontier);\n var changedLines = [];\n\n doc.iter(context.line, Math.min(doc.first + doc.size, cm.display.viewTo + 500), function (line) {\n if (context.line >= cm.display.viewFrom) { // Visible\n var oldStyles = line.styles;\n var resetState = line.text.length > cm.options.maxHighlightLength ? copyState(doc.mode, context.state) : null;\n var highlighted = highlightLine(cm, line, context, true);\n if (resetState) { context.state = resetState; }\n line.styles = highlighted.styles;\n var oldCls = line.styleClasses, newCls = highlighted.classes;\n if (newCls) { line.styleClasses = newCls; }\n else if (oldCls) { line.styleClasses = null; }\n var ischange = !oldStyles || oldStyles.length != line.styles.length ||\n oldCls != newCls && (!oldCls || !newCls || oldCls.bgClass != newCls.bgClass || oldCls.textClass != newCls.textClass);\n for (var i = 0; !ischange && i < oldStyles.length; ++i) { ischange = oldStyles[i] != line.styles[i]; }\n if (ischange) { changedLines.push(context.line); }\n line.stateAfter = context.save();\n context.nextLine();\n } else {\n if (line.text.length <= cm.options.maxHighlightLength)\n { processLine(cm, line.text, context); }\n line.stateAfter = context.line % 5 == 0 ? context.save() : null;\n context.nextLine();\n }\n if (+new Date > end) {\n startWorker(cm, cm.options.workDelay);\n return true\n }\n });\n doc.highlightFrontier = context.line;\n doc.modeFrontier = Math.max(doc.modeFrontier, context.line);\n if (changedLines.length) { runInOp(cm, function () {\n for (var i = 0; i < changedLines.length; i++)\n { regLineChange(cm, changedLines[i], \"text\"); }\n }); }\n }\n\n // DISPLAY DRAWING\n\n var DisplayUpdate = function(cm, viewport, force) {\n var display = cm.display;\n\n this.viewport = viewport;\n // Store some values that we'll need later (but don't want to force a relayout for)\n this.visible = visibleLines(display, cm.doc, viewport);\n this.editorIsHidden = !display.wrapper.offsetWidth;\n this.wrapperHeight = display.wrapper.clientHeight;\n this.wrapperWidth = display.wrapper.clientWidth;\n this.oldDisplayWidth = displayWidth(cm);\n this.force = force;\n this.dims = getDimensions(cm);\n this.events = [];\n };\n\n DisplayUpdate.prototype.signal = function (emitter, type) {\n if (hasHandler(emitter, type))\n { this.events.push(arguments); }\n };\n DisplayUpdate.prototype.finish = function () {\n for (var i = 0; i < this.events.length; i++)\n { signal.apply(null, this.events[i]); }\n };\n\n function maybeClipScrollbars(cm) {\n var display = cm.display;\n if (!display.scrollbarsClipped && display.scroller.offsetWidth) {\n display.nativeBarWidth = display.scroller.offsetWidth - display.scroller.clientWidth;\n display.heightForcer.style.height = scrollGap(cm) + \"px\";\n display.sizer.style.marginBottom = -display.nativeBarWidth + \"px\";\n display.sizer.style.borderRightWidth = scrollGap(cm) + \"px\";\n display.scrollbarsClipped = true;\n }\n }\n\n function selectionSnapshot(cm) {\n if (cm.hasFocus()) { return null }\n var active = activeElt();\n if (!active || !contains(cm.display.lineDiv, active)) { return null }\n var result = {activeElt: active};\n if (window.getSelection) {\n var sel = window.getSelection();\n if (sel.anchorNode && sel.extend && contains(cm.display.lineDiv, sel.anchorNode)) {\n result.anchorNode = sel.anchorNode;\n result.anchorOffset = sel.anchorOffset;\n result.focusNode = sel.focusNode;\n result.focusOffset = sel.focusOffset;\n }\n }\n return result\n }\n\n function restoreSelection(snapshot) {\n if (!snapshot || !snapshot.activeElt || snapshot.activeElt == activeElt()) { return }\n snapshot.activeElt.focus();\n if (!/^(INPUT|TEXTAREA)$/.test(snapshot.activeElt.nodeName) &&\n snapshot.anchorNode && contains(document.body, snapshot.anchorNode) && contains(document.body, snapshot.focusNode)) {\n var sel = window.getSelection(), range = document.createRange();\n range.setEnd(snapshot.anchorNode, snapshot.anchorOffset);\n range.collapse(false);\n sel.removeAllRanges();\n sel.addRange(range);\n sel.extend(snapshot.focusNode, snapshot.focusOffset);\n }\n }\n\n // Does the actual updating of the line display. Bails out\n // (returning false) when there is nothing to be done and forced is\n // false.\n function updateDisplayIfNeeded(cm, update) {\n var display = cm.display, doc = cm.doc;\n\n if (update.editorIsHidden) {\n resetView(cm);\n return false\n }\n\n // Bail out if the visible area is already rendered and nothing changed.\n if (!update.force &&\n update.visible.from >= display.viewFrom && update.visible.to <= display.viewTo &&\n (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo) &&\n display.renderedView == display.view && countDirtyView(cm) == 0)\n { return false }\n\n if (maybeUpdateLineNumberWidth(cm)) {\n resetView(cm);\n update.dims = getDimensions(cm);\n }\n\n // Compute a suitable new viewport (from & to)\n var end = doc.first + doc.size;\n var from = Math.max(update.visible.from - cm.options.viewportMargin, doc.first);\n var to = Math.min(end, update.visible.to + cm.options.viewportMargin);\n if (display.viewFrom < from && from - display.viewFrom < 20) { from = Math.max(doc.first, display.viewFrom); }\n if (display.viewTo > to && display.viewTo - to < 20) { to = Math.min(end, display.viewTo); }\n if (sawCollapsedSpans) {\n from = visualLineNo(cm.doc, from);\n to = visualLineEndNo(cm.doc, to);\n }\n\n var different = from != display.viewFrom || to != display.viewTo ||\n display.lastWrapHeight != update.wrapperHeight || display.lastWrapWidth != update.wrapperWidth;\n adjustView(cm, from, to);\n\n display.viewOffset = heightAtLine(getLine(cm.doc, display.viewFrom));\n // Position the mover div to align with the current scroll position\n cm.display.mover.style.top = display.viewOffset + \"px\";\n\n var toUpdate = countDirtyView(cm);\n if (!different && toUpdate == 0 && !update.force && display.renderedView == display.view &&\n (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo))\n { return false }\n\n // For big changes, we hide the enclosing element during the\n // update, since that speeds up the operations on most browsers.\n var selSnapshot = selectionSnapshot(cm);\n if (toUpdate > 4) { display.lineDiv.style.display = \"none\"; }\n patchDisplay(cm, display.updateLineNumbers, update.dims);\n if (toUpdate > 4) { display.lineDiv.style.display = \"\"; }\n display.renderedView = display.view;\n // There might have been a widget with a focused element that got\n // hidden or updated, if so re-focus it.\n restoreSelection(selSnapshot);\n\n // Prevent selection and cursors from interfering with the scroll\n // width and height.\n removeChildren(display.cursorDiv);\n removeChildren(display.selectionDiv);\n display.gutters.style.height = display.sizer.style.minHeight = 0;\n\n if (different) {\n display.lastWrapHeight = update.wrapperHeight;\n display.lastWrapWidth = update.wrapperWidth;\n startWorker(cm, 400);\n }\n\n display.updateLineNumbers = null;\n\n return true\n }\n\n function postUpdateDisplay(cm, update) {\n var viewport = update.viewport;\n\n for (var first = true;; first = false) {\n if (!first || !cm.options.lineWrapping || update.oldDisplayWidth == displayWidth(cm)) {\n // Clip forced viewport to actual scrollable area.\n if (viewport && viewport.top != null)\n { viewport = {top: Math.min(cm.doc.height + paddingVert(cm.display) - displayHeight(cm), viewport.top)}; }\n // Updated line heights might result in the drawn area not\n // actually covering the viewport. Keep looping until it does.\n update.visible = visibleLines(cm.display, cm.doc, viewport);\n if (update.visible.from >= cm.display.viewFrom && update.visible.to <= cm.display.viewTo)\n { break }\n } else if (first) {\n update.visible = visibleLines(cm.display, cm.doc, viewport);\n }\n if (!updateDisplayIfNeeded(cm, update)) { break }\n updateHeightsInViewport(cm);\n var barMeasure = measureForScrollbars(cm);\n updateSelection(cm);\n updateScrollbars(cm, barMeasure);\n setDocumentHeight(cm, barMeasure);\n update.force = false;\n }\n\n update.signal(cm, \"update\", cm);\n if (cm.display.viewFrom != cm.display.reportedViewFrom || cm.display.viewTo != cm.display.reportedViewTo) {\n update.signal(cm, \"viewportChange\", cm, cm.display.viewFrom, cm.display.viewTo);\n cm.display.reportedViewFrom = cm.display.viewFrom; cm.display.reportedViewTo = cm.display.viewTo;\n }\n }\n\n function updateDisplaySimple(cm, viewport) {\n var update = new DisplayUpdate(cm, viewport);\n if (updateDisplayIfNeeded(cm, update)) {\n updateHeightsInViewport(cm);\n postUpdateDisplay(cm, update);\n var barMeasure = measureForScrollbars(cm);\n updateSelection(cm);\n updateScrollbars(cm, barMeasure);\n setDocumentHeight(cm, barMeasure);\n update.finish();\n }\n }\n\n // Sync the actual display DOM structure with display.view, removing\n // nodes for lines that are no longer in view, and creating the ones\n // that are not there yet, and updating the ones that are out of\n // date.\n function patchDisplay(cm, updateNumbersFrom, dims) {\n var display = cm.display, lineNumbers = cm.options.lineNumbers;\n var container = display.lineDiv, cur = container.firstChild;\n\n function rm(node) {\n var next = node.nextSibling;\n // Works around a throw-scroll bug in OS X Webkit\n if (webkit && mac && cm.display.currentWheelTarget == node)\n { node.style.display = \"none\"; }\n else\n { node.parentNode.removeChild(node); }\n return next\n }\n\n var view = display.view, lineN = display.viewFrom;\n // Loop over the elements in the view, syncing cur (the DOM nodes\n // in display.lineDiv) with the view as we go.\n for (var i = 0; i < view.length; i++) {\n var lineView = view[i];\n if (lineView.hidden) ; else if (!lineView.node || lineView.node.parentNode != container) { // Not drawn yet\n var node = buildLineElement(cm, lineView, lineN, dims);\n container.insertBefore(node, cur);\n } else { // Already drawn\n while (cur != lineView.node) { cur = rm(cur); }\n var updateNumber = lineNumbers && updateNumbersFrom != null &&\n updateNumbersFrom <= lineN && lineView.lineNumber;\n if (lineView.changes) {\n if (indexOf(lineView.changes, \"gutter\") > -1) { updateNumber = false; }\n updateLineForChanges(cm, lineView, lineN, dims);\n }\n if (updateNumber) {\n removeChildren(lineView.lineNumber);\n lineView.lineNumber.appendChild(document.createTextNode(lineNumberFor(cm.options, lineN)));\n }\n cur = lineView.node.nextSibling;\n }\n lineN += lineView.size;\n }\n while (cur) { cur = rm(cur); }\n }\n\n function updateGutterSpace(display) {\n var width = display.gutters.offsetWidth;\n display.sizer.style.marginLeft = width + \"px\";\n // Send an event to consumers responding to changes in gutter width.\n signalLater(display, \"gutterChanged\", display);\n }\n\n function setDocumentHeight(cm, measure) {\n cm.display.sizer.style.minHeight = measure.docHeight + \"px\";\n cm.display.heightForcer.style.top = measure.docHeight + \"px\";\n cm.display.gutters.style.height = (measure.docHeight + cm.display.barHeight + scrollGap(cm)) + \"px\";\n }\n\n // Re-align line numbers and gutter marks to compensate for\n // horizontal scrolling.\n function alignHorizontally(cm) {\n var display = cm.display, view = display.view;\n if (!display.alignWidgets && (!display.gutters.firstChild || !cm.options.fixedGutter)) { return }\n var comp = compensateForHScroll(display) - display.scroller.scrollLeft + cm.doc.scrollLeft;\n var gutterW = display.gutters.offsetWidth, left = comp + \"px\";\n for (var i = 0; i < view.length; i++) { if (!view[i].hidden) {\n if (cm.options.fixedGutter) {\n if (view[i].gutter)\n { view[i].gutter.style.left = left; }\n if (view[i].gutterBackground)\n { view[i].gutterBackground.style.left = left; }\n }\n var align = view[i].alignable;\n if (align) { for (var j = 0; j < align.length; j++)\n { align[j].style.left = left; } }\n } }\n if (cm.options.fixedGutter)\n { display.gutters.style.left = (comp + gutterW) + \"px\"; }\n }\n\n // Used to ensure that the line number gutter is still the right\n // size for the current document size. Returns true when an update\n // is needed.\n function maybeUpdateLineNumberWidth(cm) {\n if (!cm.options.lineNumbers) { return false }\n var doc = cm.doc, last = lineNumberFor(cm.options, doc.first + doc.size - 1), display = cm.display;\n if (last.length != display.lineNumChars) {\n var test = display.measure.appendChild(elt(\"div\", [elt(\"div\", last)],\n \"CodeMirror-linenumber CodeMirror-gutter-elt\"));\n var innerW = test.firstChild.offsetWidth, padding = test.offsetWidth - innerW;\n display.lineGutter.style.width = \"\";\n display.lineNumInnerWidth = Math.max(innerW, display.lineGutter.offsetWidth - padding) + 1;\n display.lineNumWidth = display.lineNumInnerWidth + padding;\n display.lineNumChars = display.lineNumInnerWidth ? last.length : -1;\n display.lineGutter.style.width = display.lineNumWidth + \"px\";\n updateGutterSpace(cm.display);\n return true\n }\n return false\n }\n\n function getGutters(gutters, lineNumbers) {\n var result = [], sawLineNumbers = false;\n for (var i = 0; i < gutters.length; i++) {\n var name = gutters[i], style = null;\n if (typeof name != \"string\") { style = name.style; name = name.className; }\n if (name == \"CodeMirror-linenumbers\") {\n if (!lineNumbers) { continue }\n else { sawLineNumbers = true; }\n }\n result.push({className: name, style: style});\n }\n if (lineNumbers && !sawLineNumbers) { result.push({className: \"CodeMirror-linenumbers\", style: null}); }\n return result\n }\n\n // Rebuild the gutter elements, ensure the margin to the left of the\n // code matches their width.\n function renderGutters(display) {\n var gutters = display.gutters, specs = display.gutterSpecs;\n removeChildren(gutters);\n display.lineGutter = null;\n for (var i = 0; i < specs.length; ++i) {\n var ref = specs[i];\n var className = ref.className;\n var style = ref.style;\n var gElt = gutters.appendChild(elt(\"div\", null, \"CodeMirror-gutter \" + className));\n if (style) { gElt.style.cssText = style; }\n if (className == \"CodeMirror-linenumbers\") {\n display.lineGutter = gElt;\n gElt.style.width = (display.lineNumWidth || 1) + \"px\";\n }\n }\n gutters.style.display = specs.length ? \"\" : \"none\";\n updateGutterSpace(display);\n }\n\n function updateGutters(cm) {\n renderGutters(cm.display);\n regChange(cm);\n alignHorizontally(cm);\n }\n\n // The display handles the DOM integration, both for input reading\n // and content drawing. It holds references to DOM nodes and\n // display-related state.\n\n function Display(place, doc, input, options) {\n var d = this;\n this.input = input;\n\n // Covers bottom-right square when both scrollbars are present.\n d.scrollbarFiller = elt(\"div\", null, \"CodeMirror-scrollbar-filler\");\n d.scrollbarFiller.setAttribute(\"cm-not-content\", \"true\");\n // Covers bottom of gutter when coverGutterNextToScrollbar is on\n // and h scrollbar is present.\n d.gutterFiller = elt(\"div\", null, \"CodeMirror-gutter-filler\");\n d.gutterFiller.setAttribute(\"cm-not-content\", \"true\");\n // Will contain the actual code, positioned to cover the viewport.\n d.lineDiv = eltP(\"div\", null, \"CodeMirror-code\");\n // Elements are added to these to represent selection and cursors.\n d.selectionDiv = elt(\"div\", null, null, \"position: relative; z-index: 1\");\n d.cursorDiv = elt(\"div\", null, \"CodeMirror-cursors\");\n // A visibility: hidden element used to find the size of things.\n d.measure = elt(\"div\", null, \"CodeMirror-measure\");\n // When lines outside of the viewport are measured, they are drawn in this.\n d.lineMeasure = elt(\"div\", null, \"CodeMirror-measure\");\n // Wraps everything that needs to exist inside the vertically-padded coordinate system\n d.lineSpace = eltP(\"div\", [d.measure, d.lineMeasure, d.selectionDiv, d.cursorDiv, d.lineDiv],\n null, \"position: relative; outline: none\");\n var lines = eltP(\"div\", [d.lineSpace], \"CodeMirror-lines\");\n // Moved around its parent to cover visible view.\n d.mover = elt(\"div\", [lines], null, \"position: relative\");\n // Set to the height of the document, allowing scrolling.\n d.sizer = elt(\"div\", [d.mover], \"CodeMirror-sizer\");\n d.sizerWidth = null;\n // Behavior of elts with overflow: auto and padding is\n // inconsistent across browsers. This is used to ensure the\n // scrollable area is big enough.\n d.heightForcer = elt(\"div\", null, null, \"position: absolute; height: \" + scrollerGap + \"px; width: 1px;\");\n // Will contain the gutters, if any.\n d.gutters = elt(\"div\", null, \"CodeMirror-gutters\");\n d.lineGutter = null;\n // Actual scrollable element.\n d.scroller = elt(\"div\", [d.sizer, d.heightForcer, d.gutters], \"CodeMirror-scroll\");\n d.scroller.setAttribute(\"tabIndex\", \"-1\");\n // The element in which the editor lives.\n d.wrapper = elt(\"div\", [d.scrollbarFiller, d.gutterFiller, d.scroller], \"CodeMirror\");\n\n // Work around IE7 z-index bug (not perfect, hence IE7 not really being supported)\n if (ie && ie_version < 8) { d.gutters.style.zIndex = -1; d.scroller.style.paddingRight = 0; }\n if (!webkit && !(gecko && mobile)) { d.scroller.draggable = true; }\n\n if (place) {\n if (place.appendChild) { place.appendChild(d.wrapper); }\n else { place(d.wrapper); }\n }\n\n // Current rendered range (may be bigger than the view window).\n d.viewFrom = d.viewTo = doc.first;\n d.reportedViewFrom = d.reportedViewTo = doc.first;\n // Information about the rendered lines.\n d.view = [];\n d.renderedView = null;\n // Holds info about a single rendered line when it was rendered\n // for measurement, while not in view.\n d.externalMeasured = null;\n // Empty space (in pixels) above the view\n d.viewOffset = 0;\n d.lastWrapHeight = d.lastWrapWidth = 0;\n d.updateLineNumbers = null;\n\n d.nativeBarWidth = d.barHeight = d.barWidth = 0;\n d.scrollbarsClipped = false;\n\n // Used to only resize the line number gutter when necessary (when\n // the amount of lines crosses a boundary that makes its width change)\n d.lineNumWidth = d.lineNumInnerWidth = d.lineNumChars = null;\n // Set to true when a non-horizontal-scrolling line widget is\n // added. As an optimization, line widget aligning is skipped when\n // this is false.\n d.alignWidgets = false;\n\n d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null;\n\n // Tracks the maximum line length so that the horizontal scrollbar\n // can be kept static when scrolling.\n d.maxLine = null;\n d.maxLineLength = 0;\n d.maxLineChanged = false;\n\n // Used for measuring wheel scrolling granularity\n d.wheelDX = d.wheelDY = d.wheelStartX = d.wheelStartY = null;\n\n // True when shift is held down.\n d.shift = false;\n\n // Used to track whether anything happened since the context menu\n // was opened.\n d.selForContextMenu = null;\n\n d.activeTouch = null;\n\n d.gutterSpecs = getGutters(options.gutters, options.lineNumbers);\n renderGutters(d);\n\n input.init(d);\n }\n\n // Since the delta values reported on mouse wheel events are\n // unstandardized between browsers and even browser versions, and\n // generally horribly unpredictable, this code starts by measuring\n // the scroll effect that the first few mouse wheel events have,\n // and, from that, detects the way it can convert deltas to pixel\n // offsets afterwards.\n //\n // The reason we want to know the amount a wheel event will scroll\n // is that it gives us a chance to update the display before the\n // actual scrolling happens, reducing flickering.\n\n var wheelSamples = 0, wheelPixelsPerUnit = null;\n // Fill in a browser-detected starting value on browsers where we\n // know one. These don't have to be accurate -- the result of them\n // being wrong would just be a slight flicker on the first wheel\n // scroll (if it is large enough).\n if (ie) { wheelPixelsPerUnit = -.53; }\n else if (gecko) { wheelPixelsPerUnit = 15; }\n else if (chrome) { wheelPixelsPerUnit = -.7; }\n else if (safari) { wheelPixelsPerUnit = -1/3; }\n\n function wheelEventDelta(e) {\n var dx = e.wheelDeltaX, dy = e.wheelDeltaY;\n if (dx == null && e.detail && e.axis == e.HORIZONTAL_AXIS) { dx = e.detail; }\n if (dy == null && e.detail && e.axis == e.VERTICAL_AXIS) { dy = e.detail; }\n else if (dy == null) { dy = e.wheelDelta; }\n return {x: dx, y: dy}\n }\n function wheelEventPixels(e) {\n var delta = wheelEventDelta(e);\n delta.x *= wheelPixelsPerUnit;\n delta.y *= wheelPixelsPerUnit;\n return delta\n }\n\n function onScrollWheel(cm, e) {\n var delta = wheelEventDelta(e), dx = delta.x, dy = delta.y;\n\n var display = cm.display, scroll = display.scroller;\n // Quit if there's nothing to scroll here\n var canScrollX = scroll.scrollWidth > scroll.clientWidth;\n var canScrollY = scroll.scrollHeight > scroll.clientHeight;\n if (!(dx && canScrollX || dy && canScrollY)) { return }\n\n // Webkit browsers on OS X abort momentum scrolls when the target\n // of the scroll event is removed from the scrollable element.\n // This hack (see related code in patchDisplay) makes sure the\n // element is kept around.\n if (dy && mac && webkit) {\n outer: for (var cur = e.target, view = display.view; cur != scroll; cur = cur.parentNode) {\n for (var i = 0; i < view.length; i++) {\n if (view[i].node == cur) {\n cm.display.currentWheelTarget = cur;\n break outer\n }\n }\n }\n }\n\n // On some browsers, horizontal scrolling will cause redraws to\n // happen before the gutter has been realigned, causing it to\n // wriggle around in a most unseemly way. When we have an\n // estimated pixels/delta value, we just handle horizontal\n // scrolling entirely here. It'll be slightly off from native, but\n // better than glitching out.\n if (dx && !gecko && !presto && wheelPixelsPerUnit != null) {\n if (dy && canScrollY)\n { updateScrollTop(cm, Math.max(0, scroll.scrollTop + dy * wheelPixelsPerUnit)); }\n setScrollLeft(cm, Math.max(0, scroll.scrollLeft + dx * wheelPixelsPerUnit));\n // Only prevent default scrolling if vertical scrolling is\n // actually possible. Otherwise, it causes vertical scroll\n // jitter on OSX trackpads when deltaX is small and deltaY\n // is large (issue #3579)\n if (!dy || (dy && canScrollY))\n { e_preventDefault(e); }\n display.wheelStartX = null; // Abort measurement, if in progress\n return\n }\n\n // 'Project' the visible viewport to cover the area that is being\n // scrolled into view (if we know enough to estimate it).\n if (dy && wheelPixelsPerUnit != null) {\n var pixels = dy * wheelPixelsPerUnit;\n var top = cm.doc.scrollTop, bot = top + display.wrapper.clientHeight;\n if (pixels < 0) { top = Math.max(0, top + pixels - 50); }\n else { bot = Math.min(cm.doc.height, bot + pixels + 50); }\n updateDisplaySimple(cm, {top: top, bottom: bot});\n }\n\n if (wheelSamples < 20) {\n if (display.wheelStartX == null) {\n display.wheelStartX = scroll.scrollLeft; display.wheelStartY = scroll.scrollTop;\n display.wheelDX = dx; display.wheelDY = dy;\n setTimeout(function () {\n if (display.wheelStartX == null) { return }\n var movedX = scroll.scrollLeft - display.wheelStartX;\n var movedY = scroll.scrollTop - display.wheelStartY;\n var sample = (movedY && display.wheelDY && movedY / display.wheelDY) ||\n (movedX && display.wheelDX && movedX / display.wheelDX);\n display.wheelStartX = display.wheelStartY = null;\n if (!sample) { return }\n wheelPixelsPerUnit = (wheelPixelsPerUnit * wheelSamples + sample) / (wheelSamples + 1);\n ++wheelSamples;\n }, 200);\n } else {\n display.wheelDX += dx; display.wheelDY += dy;\n }\n }\n }\n\n // Selection objects are immutable. A new one is created every time\n // the selection changes. A selection is one or more non-overlapping\n // (and non-touching) ranges, sorted, and an integer that indicates\n // which one is the primary selection (the one that's scrolled into\n // view, that getCursor returns, etc).\n var Selection = function(ranges, primIndex) {\n this.ranges = ranges;\n this.primIndex = primIndex;\n };\n\n Selection.prototype.primary = function () { return this.ranges[this.primIndex] };\n\n Selection.prototype.equals = function (other) {\n if (other == this) { return true }\n if (other.primIndex != this.primIndex || other.ranges.length != this.ranges.length) { return false }\n for (var i = 0; i < this.ranges.length; i++) {\n var here = this.ranges[i], there = other.ranges[i];\n if (!equalCursorPos(here.anchor, there.anchor) || !equalCursorPos(here.head, there.head)) { return false }\n }\n return true\n };\n\n Selection.prototype.deepCopy = function () {\n var out = [];\n for (var i = 0; i < this.ranges.length; i++)\n { out[i] = new Range(copyPos(this.ranges[i].anchor), copyPos(this.ranges[i].head)); }\n return new Selection(out, this.primIndex)\n };\n\n Selection.prototype.somethingSelected = function () {\n for (var i = 0; i < this.ranges.length; i++)\n { if (!this.ranges[i].empty()) { return true } }\n return false\n };\n\n Selection.prototype.contains = function (pos, end) {\n if (!end) { end = pos; }\n for (var i = 0; i < this.ranges.length; i++) {\n var range = this.ranges[i];\n if (cmp(end, range.from()) >= 0 && cmp(pos, range.to()) <= 0)\n { return i }\n }\n return -1\n };\n\n var Range = function(anchor, head) {\n this.anchor = anchor; this.head = head;\n };\n\n Range.prototype.from = function () { return minPos(this.anchor, this.head) };\n Range.prototype.to = function () { return maxPos(this.anchor, this.head) };\n Range.prototype.empty = function () { return this.head.line == this.anchor.line && this.head.ch == this.anchor.ch };\n\n // Take an unsorted, potentially overlapping set of ranges, and\n // build a selection out of it. 'Consumes' ranges array (modifying\n // it).\n function normalizeSelection(cm, ranges, primIndex) {\n var mayTouch = cm && cm.options.selectionsMayTouch;\n var prim = ranges[primIndex];\n ranges.sort(function (a, b) { return cmp(a.from(), b.from()); });\n primIndex = indexOf(ranges, prim);\n for (var i = 1; i < ranges.length; i++) {\n var cur = ranges[i], prev = ranges[i - 1];\n var diff = cmp(prev.to(), cur.from());\n if (mayTouch && !cur.empty() ? diff > 0 : diff >= 0) {\n var from = minPos(prev.from(), cur.from()), to = maxPos(prev.to(), cur.to());\n var inv = prev.empty() ? cur.from() == cur.head : prev.from() == prev.head;\n if (i <= primIndex) { --primIndex; }\n ranges.splice(--i, 2, new Range(inv ? to : from, inv ? from : to));\n }\n }\n return new Selection(ranges, primIndex)\n }\n\n function simpleSelection(anchor, head) {\n return new Selection([new Range(anchor, head || anchor)], 0)\n }\n\n // Compute the position of the end of a change (its 'to' property\n // refers to the pre-change end).\n function changeEnd(change) {\n if (!change.text) { return change.to }\n return Pos(change.from.line + change.text.length - 1,\n lst(change.text).length + (change.text.length == 1 ? change.from.ch : 0))\n }\n\n // Adjust a position to refer to the post-change position of the\n // same text, or the end of the change if the change covers it.\n function adjustForChange(pos, change) {\n if (cmp(pos, change.from) < 0) { return pos }\n if (cmp(pos, change.to) <= 0) { return changeEnd(change) }\n\n var line = pos.line + change.text.length - (change.to.line - change.from.line) - 1, ch = pos.ch;\n if (pos.line == change.to.line) { ch += changeEnd(change).ch - change.to.ch; }\n return Pos(line, ch)\n }\n\n function computeSelAfterChange(doc, change) {\n var out = [];\n for (var i = 0; i < doc.sel.ranges.length; i++) {\n var range = doc.sel.ranges[i];\n out.push(new Range(adjustForChange(range.anchor, change),\n adjustForChange(range.head, change)));\n }\n return normalizeSelection(doc.cm, out, doc.sel.primIndex)\n }\n\n function offsetPos(pos, old, nw) {\n if (pos.line == old.line)\n { return Pos(nw.line, pos.ch - old.ch + nw.ch) }\n else\n { return Pos(nw.line + (pos.line - old.line), pos.ch) }\n }\n\n // Used by replaceSelections to allow moving the selection to the\n // start or around the replaced test. Hint may be \"start\" or \"around\".\n function computeReplacedSel(doc, changes, hint) {\n var out = [];\n var oldPrev = Pos(doc.first, 0), newPrev = oldPrev;\n for (var i = 0; i < changes.length; i++) {\n var change = changes[i];\n var from = offsetPos(change.from, oldPrev, newPrev);\n var to = offsetPos(changeEnd(change), oldPrev, newPrev);\n oldPrev = change.to;\n newPrev = to;\n if (hint == \"around\") {\n var range = doc.sel.ranges[i], inv = cmp(range.head, range.anchor) < 0;\n out[i] = new Range(inv ? to : from, inv ? from : to);\n } else {\n out[i] = new Range(from, from);\n }\n }\n return new Selection(out, doc.sel.primIndex)\n }\n\n // Used to get the editor into a consistent state again when options change.\n\n function loadMode(cm) {\n cm.doc.mode = getMode(cm.options, cm.doc.modeOption);\n resetModeState(cm);\n }\n\n function resetModeState(cm) {\n cm.doc.iter(function (line) {\n if (line.stateAfter) { line.stateAfter = null; }\n if (line.styles) { line.styles = null; }\n });\n cm.doc.modeFrontier = cm.doc.highlightFrontier = cm.doc.first;\n startWorker(cm, 100);\n cm.state.modeGen++;\n if (cm.curOp) { regChange(cm); }\n }\n\n // DOCUMENT DATA STRUCTURE\n\n // By default, updates that start and end at the beginning of a line\n // are treated specially, in order to make the association of line\n // widgets and marker elements with the text behave more intuitive.\n function isWholeLineUpdate(doc, change) {\n return change.from.ch == 0 && change.to.ch == 0 && lst(change.text) == \"\" &&\n (!doc.cm || doc.cm.options.wholeLineUpdateBefore)\n }\n\n // Perform a change on the document data structure.\n function updateDoc(doc, change, markedSpans, estimateHeight) {\n function spansFor(n) {return markedSpans ? markedSpans[n] : null}\n function update(line, text, spans) {\n updateLine(line, text, spans, estimateHeight);\n signalLater(line, \"change\", line, change);\n }\n function linesFor(start, end) {\n var result = [];\n for (var i = start; i < end; ++i)\n { result.push(new Line(text[i], spansFor(i), estimateHeight)); }\n return result\n }\n\n var from = change.from, to = change.to, text = change.text;\n var firstLine = getLine(doc, from.line), lastLine = getLine(doc, to.line);\n var lastText = lst(text), lastSpans = spansFor(text.length - 1), nlines = to.line - from.line;\n\n // Adjust the line structure\n if (change.full) {\n doc.insert(0, linesFor(0, text.length));\n doc.remove(text.length, doc.size - text.length);\n } else if (isWholeLineUpdate(doc, change)) {\n // This is a whole-line replace. Treated specially to make\n // sure line objects move the way they are supposed to.\n var added = linesFor(0, text.length - 1);\n update(lastLine, lastLine.text, lastSpans);\n if (nlines) { doc.remove(from.line, nlines); }\n if (added.length) { doc.insert(from.line, added); }\n } else if (firstLine == lastLine) {\n if (text.length == 1) {\n update(firstLine, firstLine.text.slice(0, from.ch) + lastText + firstLine.text.slice(to.ch), lastSpans);\n } else {\n var added$1 = linesFor(1, text.length - 1);\n added$1.push(new Line(lastText + firstLine.text.slice(to.ch), lastSpans, estimateHeight));\n update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0));\n doc.insert(from.line + 1, added$1);\n }\n } else if (text.length == 1) {\n update(firstLine, firstLine.text.slice(0, from.ch) + text[0] + lastLine.text.slice(to.ch), spansFor(0));\n doc.remove(from.line + 1, nlines);\n } else {\n update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0));\n update(lastLine, lastText + lastLine.text.slice(to.ch), lastSpans);\n var added$2 = linesFor(1, text.length - 1);\n if (nlines > 1) { doc.remove(from.line + 1, nlines - 1); }\n doc.insert(from.line + 1, added$2);\n }\n\n signalLater(doc, \"change\", doc, change);\n }\n\n // Call f for all linked documents.\n function linkedDocs(doc, f, sharedHistOnly) {\n function propagate(doc, skip, sharedHist) {\n if (doc.linked) { for (var i = 0; i < doc.linked.length; ++i) {\n var rel = doc.linked[i];\n if (rel.doc == skip) { continue }\n var shared = sharedHist && rel.sharedHist;\n if (sharedHistOnly && !shared) { continue }\n f(rel.doc, shared);\n propagate(rel.doc, doc, shared);\n } }\n }\n propagate(doc, null, true);\n }\n\n // Attach a document to an editor.\n function attachDoc(cm, doc) {\n if (doc.cm) { throw new Error(\"This document is already in use.\") }\n cm.doc = doc;\n doc.cm = cm;\n estimateLineHeights(cm);\n loadMode(cm);\n setDirectionClass(cm);\n cm.options.direction = doc.direction;\n if (!cm.options.lineWrapping) { findMaxLine(cm); }\n cm.options.mode = doc.modeOption;\n regChange(cm);\n }\n\n function setDirectionClass(cm) {\n (cm.doc.direction == \"rtl\" ? addClass : rmClass)(cm.display.lineDiv, \"CodeMirror-rtl\");\n }\n\n function directionChanged(cm) {\n runInOp(cm, function () {\n setDirectionClass(cm);\n regChange(cm);\n });\n }\n\n function History(prev) {\n // Arrays of change events and selections. Doing something adds an\n // event to done and clears undo. Undoing moves events from done\n // to undone, redoing moves them in the other direction.\n this.done = []; this.undone = [];\n this.undoDepth = prev ? prev.undoDepth : Infinity;\n // Used to track when changes can be merged into a single undo\n // event\n this.lastModTime = this.lastSelTime = 0;\n this.lastOp = this.lastSelOp = null;\n this.lastOrigin = this.lastSelOrigin = null;\n // Used by the isClean() method\n this.generation = this.maxGeneration = prev ? prev.maxGeneration : 1;\n }\n\n // Create a history change event from an updateDoc-style change\n // object.\n function historyChangeFromChange(doc, change) {\n var histChange = {from: copyPos(change.from), to: changeEnd(change), text: getBetween(doc, change.from, change.to)};\n attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1);\n linkedDocs(doc, function (doc) { return attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1); }, true);\n return histChange\n }\n\n // Pop all selection events off the end of a history array. Stop at\n // a change event.\n function clearSelectionEvents(array) {\n while (array.length) {\n var last = lst(array);\n if (last.ranges) { array.pop(); }\n else { break }\n }\n }\n\n // Find the top change event in the history. Pop off selection\n // events that are in the way.\n function lastChangeEvent(hist, force) {\n if (force) {\n clearSelectionEvents(hist.done);\n return lst(hist.done)\n } else if (hist.done.length && !lst(hist.done).ranges) {\n return lst(hist.done)\n } else if (hist.done.length > 1 && !hist.done[hist.done.length - 2].ranges) {\n hist.done.pop();\n return lst(hist.done)\n }\n }\n\n // Register a change in the history. Merges changes that are within\n // a single operation, or are close together with an origin that\n // allows merging (starting with \"+\") into a single event.\n function addChangeToHistory(doc, change, selAfter, opId) {\n var hist = doc.history;\n hist.undone.length = 0;\n var time = +new Date, cur;\n var last;\n\n if ((hist.lastOp == opId ||\n hist.lastOrigin == change.origin && change.origin &&\n ((change.origin.charAt(0) == \"+\" && hist.lastModTime > time - (doc.cm ? doc.cm.options.historyEventDelay : 500)) ||\n change.origin.charAt(0) == \"*\")) &&\n (cur = lastChangeEvent(hist, hist.lastOp == opId))) {\n // Merge this change into the last event\n last = lst(cur.changes);\n if (cmp(change.from, change.to) == 0 && cmp(change.from, last.to) == 0) {\n // Optimized case for simple insertion -- don't want to add\n // new changesets for every character typed\n last.to = changeEnd(change);\n } else {\n // Add new sub-event\n cur.changes.push(historyChangeFromChange(doc, change));\n }\n } else {\n // Can not be merged, start a new event.\n var before = lst(hist.done);\n if (!before || !before.ranges)\n { pushSelectionToHistory(doc.sel, hist.done); }\n cur = {changes: [historyChangeFromChange(doc, change)],\n generation: hist.generation};\n hist.done.push(cur);\n while (hist.done.length > hist.undoDepth) {\n hist.done.shift();\n if (!hist.done[0].ranges) { hist.done.shift(); }\n }\n }\n hist.done.push(selAfter);\n hist.generation = ++hist.maxGeneration;\n hist.lastModTime = hist.lastSelTime = time;\n hist.lastOp = hist.lastSelOp = opId;\n hist.lastOrigin = hist.lastSelOrigin = change.origin;\n\n if (!last) { signal(doc, \"historyAdded\"); }\n }\n\n function selectionEventCanBeMerged(doc, origin, prev, sel) {\n var ch = origin.charAt(0);\n return ch == \"*\" ||\n ch == \"+\" &&\n prev.ranges.length == sel.ranges.length &&\n prev.somethingSelected() == sel.somethingSelected() &&\n new Date - doc.history.lastSelTime <= (doc.cm ? doc.cm.options.historyEventDelay : 500)\n }\n\n // Called whenever the selection changes, sets the new selection as\n // the pending selection in the history, and pushes the old pending\n // selection into the 'done' array when it was significantly\n // different (in number of selected ranges, emptiness, or time).\n function addSelectionToHistory(doc, sel, opId, options) {\n var hist = doc.history, origin = options && options.origin;\n\n // A new event is started when the previous origin does not match\n // the current, or the origins don't allow matching. Origins\n // starting with * are always merged, those starting with + are\n // merged when similar and close together in time.\n if (opId == hist.lastSelOp ||\n (origin && hist.lastSelOrigin == origin &&\n (hist.lastModTime == hist.lastSelTime && hist.lastOrigin == origin ||\n selectionEventCanBeMerged(doc, origin, lst(hist.done), sel))))\n { hist.done[hist.done.length - 1] = sel; }\n else\n { pushSelectionToHistory(sel, hist.done); }\n\n hist.lastSelTime = +new Date;\n hist.lastSelOrigin = origin;\n hist.lastSelOp = opId;\n if (options && options.clearRedo !== false)\n { clearSelectionEvents(hist.undone); }\n }\n\n function pushSelectionToHistory(sel, dest) {\n var top = lst(dest);\n if (!(top && top.ranges && top.equals(sel)))\n { dest.push(sel); }\n }\n\n // Used to store marked span information in the history.\n function attachLocalSpans(doc, change, from, to) {\n var existing = change[\"spans_\" + doc.id], n = 0;\n doc.iter(Math.max(doc.first, from), Math.min(doc.first + doc.size, to), function (line) {\n if (line.markedSpans)\n { (existing || (existing = change[\"spans_\" + doc.id] = {}))[n] = line.markedSpans; }\n ++n;\n });\n }\n\n // When un/re-doing restores text containing marked spans, those\n // that have been explicitly cleared should not be restored.\n function removeClearedSpans(spans) {\n if (!spans) { return null }\n var out;\n for (var i = 0; i < spans.length; ++i) {\n if (spans[i].marker.explicitlyCleared) { if (!out) { out = spans.slice(0, i); } }\n else if (out) { out.push(spans[i]); }\n }\n return !out ? spans : out.length ? out : null\n }\n\n // Retrieve and filter the old marked spans stored in a change event.\n function getOldSpans(doc, change) {\n var found = change[\"spans_\" + doc.id];\n if (!found) { return null }\n var nw = [];\n for (var i = 0; i < change.text.length; ++i)\n { nw.push(removeClearedSpans(found[i])); }\n return nw\n }\n\n // Used for un/re-doing changes from the history. Combines the\n // result of computing the existing spans with the set of spans that\n // existed in the history (so that deleting around a span and then\n // undoing brings back the span).\n function mergeOldSpans(doc, change) {\n var old = getOldSpans(doc, change);\n var stretched = stretchSpansOverChange(doc, change);\n if (!old) { return stretched }\n if (!stretched) { return old }\n\n for (var i = 0; i < old.length; ++i) {\n var oldCur = old[i], stretchCur = stretched[i];\n if (oldCur && stretchCur) {\n spans: for (var j = 0; j < stretchCur.length; ++j) {\n var span = stretchCur[j];\n for (var k = 0; k < oldCur.length; ++k)\n { if (oldCur[k].marker == span.marker) { continue spans } }\n oldCur.push(span);\n }\n } else if (stretchCur) {\n old[i] = stretchCur;\n }\n }\n return old\n }\n\n // Used both to provide a JSON-safe object in .getHistory, and, when\n // detaching a document, to split the history in two\n function copyHistoryArray(events, newGroup, instantiateSel) {\n var copy = [];\n for (var i = 0; i < events.length; ++i) {\n var event = events[i];\n if (event.ranges) {\n copy.push(instantiateSel ? Selection.prototype.deepCopy.call(event) : event);\n continue\n }\n var changes = event.changes, newChanges = [];\n copy.push({changes: newChanges});\n for (var j = 0; j < changes.length; ++j) {\n var change = changes[j], m = (void 0);\n newChanges.push({from: change.from, to: change.to, text: change.text});\n if (newGroup) { for (var prop in change) { if (m = prop.match(/^spans_(\\d+)$/)) {\n if (indexOf(newGroup, Number(m[1])) > -1) {\n lst(newChanges)[prop] = change[prop];\n delete change[prop];\n }\n } } }\n }\n }\n return copy\n }\n\n // The 'scroll' parameter given to many of these indicated whether\n // the new cursor position should be scrolled into view after\n // modifying the selection.\n\n // If shift is held or the extend flag is set, extends a range to\n // include a given position (and optionally a second position).\n // Otherwise, simply returns the range between the given positions.\n // Used for cursor motion and such.\n function extendRange(range, head, other, extend) {\n if (extend) {\n var anchor = range.anchor;\n if (other) {\n var posBefore = cmp(head, anchor) < 0;\n if (posBefore != (cmp(other, anchor) < 0)) {\n anchor = head;\n head = other;\n } else if (posBefore != (cmp(head, other) < 0)) {\n head = other;\n }\n }\n return new Range(anchor, head)\n } else {\n return new Range(other || head, head)\n }\n }\n\n // Extend the primary selection range, discard the rest.\n function extendSelection(doc, head, other, options, extend) {\n if (extend == null) { extend = doc.cm && (doc.cm.display.shift || doc.extend); }\n setSelection(doc, new Selection([extendRange(doc.sel.primary(), head, other, extend)], 0), options);\n }\n\n // Extend all selections (pos is an array of selections with length\n // equal the number of selections)\n function extendSelections(doc, heads, options) {\n var out = [];\n var extend = doc.cm && (doc.cm.display.shift || doc.extend);\n for (var i = 0; i < doc.sel.ranges.length; i++)\n { out[i] = extendRange(doc.sel.ranges[i], heads[i], null, extend); }\n var newSel = normalizeSelection(doc.cm, out, doc.sel.primIndex);\n setSelection(doc, newSel, options);\n }\n\n // Updates a single range in the selection.\n function replaceOneSelection(doc, i, range, options) {\n var ranges = doc.sel.ranges.slice(0);\n ranges[i] = range;\n setSelection(doc, normalizeSelection(doc.cm, ranges, doc.sel.primIndex), options);\n }\n\n // Reset the selection to a single range.\n function setSimpleSelection(doc, anchor, head, options) {\n setSelection(doc, simpleSelection(anchor, head), options);\n }\n\n // Give beforeSelectionChange handlers a change to influence a\n // selection update.\n function filterSelectionChange(doc, sel, options) {\n var obj = {\n ranges: sel.ranges,\n update: function(ranges) {\n this.ranges = [];\n for (var i = 0; i < ranges.length; i++)\n { this.ranges[i] = new Range(clipPos(doc, ranges[i].anchor),\n clipPos(doc, ranges[i].head)); }\n },\n origin: options && options.origin\n };\n signal(doc, \"beforeSelectionChange\", doc, obj);\n if (doc.cm) { signal(doc.cm, \"beforeSelectionChange\", doc.cm, obj); }\n if (obj.ranges != sel.ranges) { return normalizeSelection(doc.cm, obj.ranges, obj.ranges.length - 1) }\n else { return sel }\n }\n\n function setSelectionReplaceHistory(doc, sel, options) {\n var done = doc.history.done, last = lst(done);\n if (last && last.ranges) {\n done[done.length - 1] = sel;\n setSelectionNoUndo(doc, sel, options);\n } else {\n setSelection(doc, sel, options);\n }\n }\n\n // Set a new selection.\n function setSelection(doc, sel, options) {\n setSelectionNoUndo(doc, sel, options);\n addSelectionToHistory(doc, doc.sel, doc.cm ? doc.cm.curOp.id : NaN, options);\n }\n\n function setSelectionNoUndo(doc, sel, options) {\n if (hasHandler(doc, \"beforeSelectionChange\") || doc.cm && hasHandler(doc.cm, \"beforeSelectionChange\"))\n { sel = filterSelectionChange(doc, sel, options); }\n\n var bias = options && options.bias ||\n (cmp(sel.primary().head, doc.sel.primary().head) < 0 ? -1 : 1);\n setSelectionInner(doc, skipAtomicInSelection(doc, sel, bias, true));\n\n if (!(options && options.scroll === false) && doc.cm && doc.cm.getOption(\"readOnly\") != \"nocursor\")\n { ensureCursorVisible(doc.cm); }\n }\n\n function setSelectionInner(doc, sel) {\n if (sel.equals(doc.sel)) { return }\n\n doc.sel = sel;\n\n if (doc.cm) {\n doc.cm.curOp.updateInput = 1;\n doc.cm.curOp.selectionChanged = true;\n signalCursorActivity(doc.cm);\n }\n signalLater(doc, \"cursorActivity\", doc);\n }\n\n // Verify that the selection does not partially select any atomic\n // marked ranges.\n function reCheckSelection(doc) {\n setSelectionInner(doc, skipAtomicInSelection(doc, doc.sel, null, false));\n }\n\n // Return a selection that does not partially select any atomic\n // ranges.\n function skipAtomicInSelection(doc, sel, bias, mayClear) {\n var out;\n for (var i = 0; i < sel.ranges.length; i++) {\n var range = sel.ranges[i];\n var old = sel.ranges.length == doc.sel.ranges.length && doc.sel.ranges[i];\n var newAnchor = skipAtomic(doc, range.anchor, old && old.anchor, bias, mayClear);\n var newHead = skipAtomic(doc, range.head, old && old.head, bias, mayClear);\n if (out || newAnchor != range.anchor || newHead != range.head) {\n if (!out) { out = sel.ranges.slice(0, i); }\n out[i] = new Range(newAnchor, newHead);\n }\n }\n return out ? normalizeSelection(doc.cm, out, sel.primIndex) : sel\n }\n\n function skipAtomicInner(doc, pos, oldPos, dir, mayClear) {\n var line = getLine(doc, pos.line);\n if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) {\n var sp = line.markedSpans[i], m = sp.marker;\n\n // Determine if we should prevent the cursor being placed to the left/right of an atomic marker\n // Historically this was determined using the inclusiveLeft/Right option, but the new way to control it\n // is with selectLeft/Right\n var preventCursorLeft = (\"selectLeft\" in m) ? !m.selectLeft : m.inclusiveLeft;\n var preventCursorRight = (\"selectRight\" in m) ? !m.selectRight : m.inclusiveRight;\n\n if ((sp.from == null || (preventCursorLeft ? sp.from <= pos.ch : sp.from < pos.ch)) &&\n (sp.to == null || (preventCursorRight ? sp.to >= pos.ch : sp.to > pos.ch))) {\n if (mayClear) {\n signal(m, \"beforeCursorEnter\");\n if (m.explicitlyCleared) {\n if (!line.markedSpans) { break }\n else {--i; continue}\n }\n }\n if (!m.atomic) { continue }\n\n if (oldPos) {\n var near = m.find(dir < 0 ? 1 : -1), diff = (void 0);\n if (dir < 0 ? preventCursorRight : preventCursorLeft)\n { near = movePos(doc, near, -dir, near && near.line == pos.line ? line : null); }\n if (near && near.line == pos.line && (diff = cmp(near, oldPos)) && (dir < 0 ? diff < 0 : diff > 0))\n { return skipAtomicInner(doc, near, pos, dir, mayClear) }\n }\n\n var far = m.find(dir < 0 ? -1 : 1);\n if (dir < 0 ? preventCursorLeft : preventCursorRight)\n { far = movePos(doc, far, dir, far.line == pos.line ? line : null); }\n return far ? skipAtomicInner(doc, far, pos, dir, mayClear) : null\n }\n } }\n return pos\n }\n\n // Ensure a given position is not inside an atomic range.\n function skipAtomic(doc, pos, oldPos, bias, mayClear) {\n var dir = bias || 1;\n var found = skipAtomicInner(doc, pos, oldPos, dir, mayClear) ||\n (!mayClear && skipAtomicInner(doc, pos, oldPos, dir, true)) ||\n skipAtomicInner(doc, pos, oldPos, -dir, mayClear) ||\n (!mayClear && skipAtomicInner(doc, pos, oldPos, -dir, true));\n if (!found) {\n doc.cantEdit = true;\n return Pos(doc.first, 0)\n }\n return found\n }\n\n function movePos(doc, pos, dir, line) {\n if (dir < 0 && pos.ch == 0) {\n if (pos.line > doc.first) { return clipPos(doc, Pos(pos.line - 1)) }\n else { return null }\n } else if (dir > 0 && pos.ch == (line || getLine(doc, pos.line)).text.length) {\n if (pos.line < doc.first + doc.size - 1) { return Pos(pos.line + 1, 0) }\n else { return null }\n } else {\n return new Pos(pos.line, pos.ch + dir)\n }\n }\n\n function selectAll(cm) {\n cm.setSelection(Pos(cm.firstLine(), 0), Pos(cm.lastLine()), sel_dontScroll);\n }\n\n // UPDATING\n\n // Allow \"beforeChange\" event handlers to influence a change\n function filterChange(doc, change, update) {\n var obj = {\n canceled: false,\n from: change.from,\n to: change.to,\n text: change.text,\n origin: change.origin,\n cancel: function () { return obj.canceled = true; }\n };\n if (update) { obj.update = function (from, to, text, origin) {\n if (from) { obj.from = clipPos(doc, from); }\n if (to) { obj.to = clipPos(doc, to); }\n if (text) { obj.text = text; }\n if (origin !== undefined) { obj.origin = origin; }\n }; }\n signal(doc, \"beforeChange\", doc, obj);\n if (doc.cm) { signal(doc.cm, \"beforeChange\", doc.cm, obj); }\n\n if (obj.canceled) {\n if (doc.cm) { doc.cm.curOp.updateInput = 2; }\n return null\n }\n return {from: obj.from, to: obj.to, text: obj.text, origin: obj.origin}\n }\n\n // Apply a change to a document, and add it to the document's\n // history, and propagating it to all linked documents.\n function makeChange(doc, change, ignoreReadOnly) {\n if (doc.cm) {\n if (!doc.cm.curOp) { return operation(doc.cm, makeChange)(doc, change, ignoreReadOnly) }\n if (doc.cm.state.suppressEdits) { return }\n }\n\n if (hasHandler(doc, \"beforeChange\") || doc.cm && hasHandler(doc.cm, \"beforeChange\")) {\n change = filterChange(doc, change, true);\n if (!change) { return }\n }\n\n // Possibly split or suppress the update based on the presence\n // of read-only spans in its range.\n var split = sawReadOnlySpans && !ignoreReadOnly && removeReadOnlyRanges(doc, change.from, change.to);\n if (split) {\n for (var i = split.length - 1; i >= 0; --i)\n { makeChangeInner(doc, {from: split[i].from, to: split[i].to, text: i ? [\"\"] : change.text, origin: change.origin}); }\n } else {\n makeChangeInner(doc, change);\n }\n }\n\n function makeChangeInner(doc, change) {\n if (change.text.length == 1 && change.text[0] == \"\" && cmp(change.from, change.to) == 0) { return }\n var selAfter = computeSelAfterChange(doc, change);\n addChangeToHistory(doc, change, selAfter, doc.cm ? doc.cm.curOp.id : NaN);\n\n makeChangeSingleDoc(doc, change, selAfter, stretchSpansOverChange(doc, change));\n var rebased = [];\n\n linkedDocs(doc, function (doc, sharedHist) {\n if (!sharedHist && indexOf(rebased, doc.history) == -1) {\n rebaseHist(doc.history, change);\n rebased.push(doc.history);\n }\n makeChangeSingleDoc(doc, change, null, stretchSpansOverChange(doc, change));\n });\n }\n\n // Revert a change stored in a document's history.\n function makeChangeFromHistory(doc, type, allowSelectionOnly) {\n var suppress = doc.cm && doc.cm.state.suppressEdits;\n if (suppress && !allowSelectionOnly) { return }\n\n var hist = doc.history, event, selAfter = doc.sel;\n var source = type == \"undo\" ? hist.done : hist.undone, dest = type == \"undo\" ? hist.undone : hist.done;\n\n // Verify that there is a useable event (so that ctrl-z won't\n // needlessly clear selection events)\n var i = 0;\n for (; i < source.length; i++) {\n event = source[i];\n if (allowSelectionOnly ? event.ranges && !event.equals(doc.sel) : !event.ranges)\n { break }\n }\n if (i == source.length) { return }\n hist.lastOrigin = hist.lastSelOrigin = null;\n\n for (;;) {\n event = source.pop();\n if (event.ranges) {\n pushSelectionToHistory(event, dest);\n if (allowSelectionOnly && !event.equals(doc.sel)) {\n setSelection(doc, event, {clearRedo: false});\n return\n }\n selAfter = event;\n } else if (suppress) {\n source.push(event);\n return\n } else { break }\n }\n\n // Build up a reverse change object to add to the opposite history\n // stack (redo when undoing, and vice versa).\n var antiChanges = [];\n pushSelectionToHistory(selAfter, dest);\n dest.push({changes: antiChanges, generation: hist.generation});\n hist.generation = event.generation || ++hist.maxGeneration;\n\n var filter = hasHandler(doc, \"beforeChange\") || doc.cm && hasHandler(doc.cm, \"beforeChange\");\n\n var loop = function ( i ) {\n var change = event.changes[i];\n change.origin = type;\n if (filter && !filterChange(doc, change, false)) {\n source.length = 0;\n return {}\n }\n\n antiChanges.push(historyChangeFromChange(doc, change));\n\n var after = i ? computeSelAfterChange(doc, change) : lst(source);\n makeChangeSingleDoc(doc, change, after, mergeOldSpans(doc, change));\n if (!i && doc.cm) { doc.cm.scrollIntoView({from: change.from, to: changeEnd(change)}); }\n var rebased = [];\n\n // Propagate to the linked documents\n linkedDocs(doc, function (doc, sharedHist) {\n if (!sharedHist && indexOf(rebased, doc.history) == -1) {\n rebaseHist(doc.history, change);\n rebased.push(doc.history);\n }\n makeChangeSingleDoc(doc, change, null, mergeOldSpans(doc, change));\n });\n };\n\n for (var i$1 = event.changes.length - 1; i$1 >= 0; --i$1) {\n var returned = loop( i$1 );\n\n if ( returned ) return returned.v;\n }\n }\n\n // Sub-views need their line numbers shifted when text is added\n // above or below them in the parent document.\n function shiftDoc(doc, distance) {\n if (distance == 0) { return }\n doc.first += distance;\n doc.sel = new Selection(map(doc.sel.ranges, function (range) { return new Range(\n Pos(range.anchor.line + distance, range.anchor.ch),\n Pos(range.head.line + distance, range.head.ch)\n ); }), doc.sel.primIndex);\n if (doc.cm) {\n regChange(doc.cm, doc.first, doc.first - distance, distance);\n for (var d = doc.cm.display, l = d.viewFrom; l < d.viewTo; l++)\n { regLineChange(doc.cm, l, \"gutter\"); }\n }\n }\n\n // More lower-level change function, handling only a single document\n // (not linked ones).\n function makeChangeSingleDoc(doc, change, selAfter, spans) {\n if (doc.cm && !doc.cm.curOp)\n { return operation(doc.cm, makeChangeSingleDoc)(doc, change, selAfter, spans) }\n\n if (change.to.line < doc.first) {\n shiftDoc(doc, change.text.length - 1 - (change.to.line - change.from.line));\n return\n }\n if (change.from.line > doc.lastLine()) { return }\n\n // Clip the change to the size of this doc\n if (change.from.line < doc.first) {\n var shift = change.text.length - 1 - (doc.first - change.from.line);\n shiftDoc(doc, shift);\n change = {from: Pos(doc.first, 0), to: Pos(change.to.line + shift, change.to.ch),\n text: [lst(change.text)], origin: change.origin};\n }\n var last = doc.lastLine();\n if (change.to.line > last) {\n change = {from: change.from, to: Pos(last, getLine(doc, last).text.length),\n text: [change.text[0]], origin: change.origin};\n }\n\n change.removed = getBetween(doc, change.from, change.to);\n\n if (!selAfter) { selAfter = computeSelAfterChange(doc, change); }\n if (doc.cm) { makeChangeSingleDocInEditor(doc.cm, change, spans); }\n else { updateDoc(doc, change, spans); }\n setSelectionNoUndo(doc, selAfter, sel_dontScroll);\n\n if (doc.cantEdit && skipAtomic(doc, Pos(doc.firstLine(), 0)))\n { doc.cantEdit = false; }\n }\n\n // Handle the interaction of a change to a document with the editor\n // that this document is part of.\n function makeChangeSingleDocInEditor(cm, change, spans) {\n var doc = cm.doc, display = cm.display, from = change.from, to = change.to;\n\n var recomputeMaxLength = false, checkWidthStart = from.line;\n if (!cm.options.lineWrapping) {\n checkWidthStart = lineNo(visualLine(getLine(doc, from.line)));\n doc.iter(checkWidthStart, to.line + 1, function (line) {\n if (line == display.maxLine) {\n recomputeMaxLength = true;\n return true\n }\n });\n }\n\n if (doc.sel.contains(change.from, change.to) > -1)\n { signalCursorActivity(cm); }\n\n updateDoc(doc, change, spans, estimateHeight(cm));\n\n if (!cm.options.lineWrapping) {\n doc.iter(checkWidthStart, from.line + change.text.length, function (line) {\n var len = lineLength(line);\n if (len > display.maxLineLength) {\n display.maxLine = line;\n display.maxLineLength = len;\n display.maxLineChanged = true;\n recomputeMaxLength = false;\n }\n });\n if (recomputeMaxLength) { cm.curOp.updateMaxLine = true; }\n }\n\n retreatFrontier(doc, from.line);\n startWorker(cm, 400);\n\n var lendiff = change.text.length - (to.line - from.line) - 1;\n // Remember that these lines changed, for updating the display\n if (change.full)\n { regChange(cm); }\n else if (from.line == to.line && change.text.length == 1 && !isWholeLineUpdate(cm.doc, change))\n { regLineChange(cm, from.line, \"text\"); }\n else\n { regChange(cm, from.line, to.line + 1, lendiff); }\n\n var changesHandler = hasHandler(cm, \"changes\"), changeHandler = hasHandler(cm, \"change\");\n if (changeHandler || changesHandler) {\n var obj = {\n from: from, to: to,\n text: change.text,\n removed: change.removed,\n origin: change.origin\n };\n if (changeHandler) { signalLater(cm, \"change\", cm, obj); }\n if (changesHandler) { (cm.curOp.changeObjs || (cm.curOp.changeObjs = [])).push(obj); }\n }\n cm.display.selForContextMenu = null;\n }\n\n function replaceRange(doc, code, from, to, origin) {\n var assign;\n\n if (!to) { to = from; }\n if (cmp(to, from) < 0) { (assign = [to, from], from = assign[0], to = assign[1]); }\n if (typeof code == \"string\") { code = doc.splitLines(code); }\n makeChange(doc, {from: from, to: to, text: code, origin: origin});\n }\n\n // Rebasing/resetting history to deal with externally-sourced changes\n\n function rebaseHistSelSingle(pos, from, to, diff) {\n if (to < pos.line) {\n pos.line += diff;\n } else if (from < pos.line) {\n pos.line = from;\n pos.ch = 0;\n }\n }\n\n // Tries to rebase an array of history events given a change in the\n // document. If the change touches the same lines as the event, the\n // event, and everything 'behind' it, is discarded. If the change is\n // before the event, the event's positions are updated. Uses a\n // copy-on-write scheme for the positions, to avoid having to\n // reallocate them all on every rebase, but also avoid problems with\n // shared position objects being unsafely updated.\n function rebaseHistArray(array, from, to, diff) {\n for (var i = 0; i < array.length; ++i) {\n var sub = array[i], ok = true;\n if (sub.ranges) {\n if (!sub.copied) { sub = array[i] = sub.deepCopy(); sub.copied = true; }\n for (var j = 0; j < sub.ranges.length; j++) {\n rebaseHistSelSingle(sub.ranges[j].anchor, from, to, diff);\n rebaseHistSelSingle(sub.ranges[j].head, from, to, diff);\n }\n continue\n }\n for (var j$1 = 0; j$1 < sub.changes.length; ++j$1) {\n var cur = sub.changes[j$1];\n if (to < cur.from.line) {\n cur.from = Pos(cur.from.line + diff, cur.from.ch);\n cur.to = Pos(cur.to.line + diff, cur.to.ch);\n } else if (from <= cur.to.line) {\n ok = false;\n break\n }\n }\n if (!ok) {\n array.splice(0, i + 1);\n i = 0;\n }\n }\n }\n\n function rebaseHist(hist, change) {\n var from = change.from.line, to = change.to.line, diff = change.text.length - (to - from) - 1;\n rebaseHistArray(hist.done, from, to, diff);\n rebaseHistArray(hist.undone, from, to, diff);\n }\n\n // Utility for applying a change to a line by handle or number,\n // returning the number and optionally registering the line as\n // changed.\n function changeLine(doc, handle, changeType, op) {\n var no = handle, line = handle;\n if (typeof handle == \"number\") { line = getLine(doc, clipLine(doc, handle)); }\n else { no = lineNo(handle); }\n if (no == null) { return null }\n if (op(line, no) && doc.cm) { regLineChange(doc.cm, no, changeType); }\n return line\n }\n\n // The document is represented as a BTree consisting of leaves, with\n // chunk of lines in them, and branches, with up to ten leaves or\n // other branch nodes below them. The top node is always a branch\n // node, and is the document object itself (meaning it has\n // additional methods and properties).\n //\n // All nodes have parent links. The tree is used both to go from\n // line numbers to line objects, and to go from objects to numbers.\n // It also indexes by height, and is used to convert between height\n // and line object, and to find the total height of the document.\n //\n // See also http://marijnhaverbeke.nl/blog/codemirror-line-tree.html\n\n function LeafChunk(lines) {\n this.lines = lines;\n this.parent = null;\n var height = 0;\n for (var i = 0; i < lines.length; ++i) {\n lines[i].parent = this;\n height += lines[i].height;\n }\n this.height = height;\n }\n\n LeafChunk.prototype = {\n chunkSize: function() { return this.lines.length },\n\n // Remove the n lines at offset 'at'.\n removeInner: function(at, n) {\n for (var i = at, e = at + n; i < e; ++i) {\n var line = this.lines[i];\n this.height -= line.height;\n cleanUpLine(line);\n signalLater(line, \"delete\");\n }\n this.lines.splice(at, n);\n },\n\n // Helper used to collapse a small branch into a single leaf.\n collapse: function(lines) {\n lines.push.apply(lines, this.lines);\n },\n\n // Insert the given array of lines at offset 'at', count them as\n // having the given height.\n insertInner: function(at, lines, height) {\n this.height += height;\n this.lines = this.lines.slice(0, at).concat(lines).concat(this.lines.slice(at));\n for (var i = 0; i < lines.length; ++i) { lines[i].parent = this; }\n },\n\n // Used to iterate over a part of the tree.\n iterN: function(at, n, op) {\n for (var e = at + n; at < e; ++at)\n { if (op(this.lines[at])) { return true } }\n }\n };\n\n function BranchChunk(children) {\n this.children = children;\n var size = 0, height = 0;\n for (var i = 0; i < children.length; ++i) {\n var ch = children[i];\n size += ch.chunkSize(); height += ch.height;\n ch.parent = this;\n }\n this.size = size;\n this.height = height;\n this.parent = null;\n }\n\n BranchChunk.prototype = {\n chunkSize: function() { return this.size },\n\n removeInner: function(at, n) {\n this.size -= n;\n for (var i = 0; i < this.children.length; ++i) {\n var child = this.children[i], sz = child.chunkSize();\n if (at < sz) {\n var rm = Math.min(n, sz - at), oldHeight = child.height;\n child.removeInner(at, rm);\n this.height -= oldHeight - child.height;\n if (sz == rm) { this.children.splice(i--, 1); child.parent = null; }\n if ((n -= rm) == 0) { break }\n at = 0;\n } else { at -= sz; }\n }\n // If the result is smaller than 25 lines, ensure that it is a\n // single leaf node.\n if (this.size - n < 25 &&\n (this.children.length > 1 || !(this.children[0] instanceof LeafChunk))) {\n var lines = [];\n this.collapse(lines);\n this.children = [new LeafChunk(lines)];\n this.children[0].parent = this;\n }\n },\n\n collapse: function(lines) {\n for (var i = 0; i < this.children.length; ++i) { this.children[i].collapse(lines); }\n },\n\n insertInner: function(at, lines, height) {\n this.size += lines.length;\n this.height += height;\n for (var i = 0; i < this.children.length; ++i) {\n var child = this.children[i], sz = child.chunkSize();\n if (at <= sz) {\n child.insertInner(at, lines, height);\n if (child.lines && child.lines.length > 50) {\n // To avoid memory thrashing when child.lines is huge (e.g. first view of a large file), it's never spliced.\n // Instead, small slices are taken. They're taken in order because sequential memory accesses are fastest.\n var remaining = child.lines.length % 25 + 25;\n for (var pos = remaining; pos < child.lines.length;) {\n var leaf = new LeafChunk(child.lines.slice(pos, pos += 25));\n child.height -= leaf.height;\n this.children.splice(++i, 0, leaf);\n leaf.parent = this;\n }\n child.lines = child.lines.slice(0, remaining);\n this.maybeSpill();\n }\n break\n }\n at -= sz;\n }\n },\n\n // When a node has grown, check whether it should be split.\n maybeSpill: function() {\n if (this.children.length <= 10) { return }\n var me = this;\n do {\n var spilled = me.children.splice(me.children.length - 5, 5);\n var sibling = new BranchChunk(spilled);\n if (!me.parent) { // Become the parent node\n var copy = new BranchChunk(me.children);\n copy.parent = me;\n me.children = [copy, sibling];\n me = copy;\n } else {\n me.size -= sibling.size;\n me.height -= sibling.height;\n var myIndex = indexOf(me.parent.children, me);\n me.parent.children.splice(myIndex + 1, 0, sibling);\n }\n sibling.parent = me.parent;\n } while (me.children.length > 10)\n me.parent.maybeSpill();\n },\n\n iterN: function(at, n, op) {\n for (var i = 0; i < this.children.length; ++i) {\n var child = this.children[i], sz = child.chunkSize();\n if (at < sz) {\n var used = Math.min(n, sz - at);\n if (child.iterN(at, used, op)) { return true }\n if ((n -= used) == 0) { break }\n at = 0;\n } else { at -= sz; }\n }\n }\n };\n\n // Line widgets are block elements displayed above or below a line.\n\n var LineWidget = function(doc, node, options) {\n if (options) { for (var opt in options) { if (options.hasOwnProperty(opt))\n { this[opt] = options[opt]; } } }\n this.doc = doc;\n this.node = node;\n };\n\n LineWidget.prototype.clear = function () {\n var cm = this.doc.cm, ws = this.line.widgets, line = this.line, no = lineNo(line);\n if (no == null || !ws) { return }\n for (var i = 0; i < ws.length; ++i) { if (ws[i] == this) { ws.splice(i--, 1); } }\n if (!ws.length) { line.widgets = null; }\n var height = widgetHeight(this);\n updateLineHeight(line, Math.max(0, line.height - height));\n if (cm) {\n runInOp(cm, function () {\n adjustScrollWhenAboveVisible(cm, line, -height);\n regLineChange(cm, no, \"widget\");\n });\n signalLater(cm, \"lineWidgetCleared\", cm, this, no);\n }\n };\n\n LineWidget.prototype.changed = function () {\n var this$1 = this;\n\n var oldH = this.height, cm = this.doc.cm, line = this.line;\n this.height = null;\n var diff = widgetHeight(this) - oldH;\n if (!diff) { return }\n if (!lineIsHidden(this.doc, line)) { updateLineHeight(line, line.height + diff); }\n if (cm) {\n runInOp(cm, function () {\n cm.curOp.forceUpdate = true;\n adjustScrollWhenAboveVisible(cm, line, diff);\n signalLater(cm, \"lineWidgetChanged\", cm, this$1, lineNo(line));\n });\n }\n };\n eventMixin(LineWidget);\n\n function adjustScrollWhenAboveVisible(cm, line, diff) {\n if (heightAtLine(line) < ((cm.curOp && cm.curOp.scrollTop) || cm.doc.scrollTop))\n { addToScrollTop(cm, diff); }\n }\n\n function addLineWidget(doc, handle, node, options) {\n var widget = new LineWidget(doc, node, options);\n var cm = doc.cm;\n if (cm && widget.noHScroll) { cm.display.alignWidgets = true; }\n changeLine(doc, handle, \"widget\", function (line) {\n var widgets = line.widgets || (line.widgets = []);\n if (widget.insertAt == null) { widgets.push(widget); }\n else { widgets.splice(Math.min(widgets.length, Math.max(0, widget.insertAt)), 0, widget); }\n widget.line = line;\n if (cm && !lineIsHidden(doc, line)) {\n var aboveVisible = heightAtLine(line) < doc.scrollTop;\n updateLineHeight(line, line.height + widgetHeight(widget));\n if (aboveVisible) { addToScrollTop(cm, widget.height); }\n cm.curOp.forceUpdate = true;\n }\n return true\n });\n if (cm) { signalLater(cm, \"lineWidgetAdded\", cm, widget, typeof handle == \"number\" ? handle : lineNo(handle)); }\n return widget\n }\n\n // TEXTMARKERS\n\n // Created with markText and setBookmark methods. A TextMarker is a\n // handle that can be used to clear or find a marked position in the\n // document. Line objects hold arrays (markedSpans) containing\n // {from, to, marker} object pointing to such marker objects, and\n // indicating that such a marker is present on that line. Multiple\n // lines may point to the same marker when it spans across lines.\n // The spans will have null for their from/to properties when the\n // marker continues beyond the start/end of the line. Markers have\n // links back to the lines they currently touch.\n\n // Collapsed markers have unique ids, in order to be able to order\n // them, which is needed for uniquely determining an outer marker\n // when they overlap (they may nest, but not partially overlap).\n var nextMarkerId = 0;\n\n var TextMarker = function(doc, type) {\n this.lines = [];\n this.type = type;\n this.doc = doc;\n this.id = ++nextMarkerId;\n };\n\n // Clear the marker.\n TextMarker.prototype.clear = function () {\n if (this.explicitlyCleared) { return }\n var cm = this.doc.cm, withOp = cm && !cm.curOp;\n if (withOp) { startOperation(cm); }\n if (hasHandler(this, \"clear\")) {\n var found = this.find();\n if (found) { signalLater(this, \"clear\", found.from, found.to); }\n }\n var min = null, max = null;\n for (var i = 0; i < this.lines.length; ++i) {\n var line = this.lines[i];\n var span = getMarkedSpanFor(line.markedSpans, this);\n if (cm && !this.collapsed) { regLineChange(cm, lineNo(line), \"text\"); }\n else if (cm) {\n if (span.to != null) { max = lineNo(line); }\n if (span.from != null) { min = lineNo(line); }\n }\n line.markedSpans = removeMarkedSpan(line.markedSpans, span);\n if (span.from == null && this.collapsed && !lineIsHidden(this.doc, line) && cm)\n { updateLineHeight(line, textHeight(cm.display)); }\n }\n if (cm && this.collapsed && !cm.options.lineWrapping) { for (var i$1 = 0; i$1 < this.lines.length; ++i$1) {\n var visual = visualLine(this.lines[i$1]), len = lineLength(visual);\n if (len > cm.display.maxLineLength) {\n cm.display.maxLine = visual;\n cm.display.maxLineLength = len;\n cm.display.maxLineChanged = true;\n }\n } }\n\n if (min != null && cm && this.collapsed) { regChange(cm, min, max + 1); }\n this.lines.length = 0;\n this.explicitlyCleared = true;\n if (this.atomic && this.doc.cantEdit) {\n this.doc.cantEdit = false;\n if (cm) { reCheckSelection(cm.doc); }\n }\n if (cm) { signalLater(cm, \"markerCleared\", cm, this, min, max); }\n if (withOp) { endOperation(cm); }\n if (this.parent) { this.parent.clear(); }\n };\n\n // Find the position of the marker in the document. Returns a {from,\n // to} object by default. Side can be passed to get a specific side\n // -- 0 (both), -1 (left), or 1 (right). When lineObj is true, the\n // Pos objects returned contain a line object, rather than a line\n // number (used to prevent looking up the same line twice).\n TextMarker.prototype.find = function (side, lineObj) {\n if (side == null && this.type == \"bookmark\") { side = 1; }\n var from, to;\n for (var i = 0; i < this.lines.length; ++i) {\n var line = this.lines[i];\n var span = getMarkedSpanFor(line.markedSpans, this);\n if (span.from != null) {\n from = Pos(lineObj ? line : lineNo(line), span.from);\n if (side == -1) { return from }\n }\n if (span.to != null) {\n to = Pos(lineObj ? line : lineNo(line), span.to);\n if (side == 1) { return to }\n }\n }\n return from && {from: from, to: to}\n };\n\n // Signals that the marker's widget changed, and surrounding layout\n // should be recomputed.\n TextMarker.prototype.changed = function () {\n var this$1 = this;\n\n var pos = this.find(-1, true), widget = this, cm = this.doc.cm;\n if (!pos || !cm) { return }\n runInOp(cm, function () {\n var line = pos.line, lineN = lineNo(pos.line);\n var view = findViewForLine(cm, lineN);\n if (view) {\n clearLineMeasurementCacheFor(view);\n cm.curOp.selectionChanged = cm.curOp.forceUpdate = true;\n }\n cm.curOp.updateMaxLine = true;\n if (!lineIsHidden(widget.doc, line) && widget.height != null) {\n var oldHeight = widget.height;\n widget.height = null;\n var dHeight = widgetHeight(widget) - oldHeight;\n if (dHeight)\n { updateLineHeight(line, line.height + dHeight); }\n }\n signalLater(cm, \"markerChanged\", cm, this$1);\n });\n };\n\n TextMarker.prototype.attachLine = function (line) {\n if (!this.lines.length && this.doc.cm) {\n var op = this.doc.cm.curOp;\n if (!op.maybeHiddenMarkers || indexOf(op.maybeHiddenMarkers, this) == -1)\n { (op.maybeUnhiddenMarkers || (op.maybeUnhiddenMarkers = [])).push(this); }\n }\n this.lines.push(line);\n };\n\n TextMarker.prototype.detachLine = function (line) {\n this.lines.splice(indexOf(this.lines, line), 1);\n if (!this.lines.length && this.doc.cm) {\n var op = this.doc.cm.curOp\n ;(op.maybeHiddenMarkers || (op.maybeHiddenMarkers = [])).push(this);\n }\n };\n eventMixin(TextMarker);\n\n // Create a marker, wire it up to the right lines, and\n function markText(doc, from, to, options, type) {\n // Shared markers (across linked documents) are handled separately\n // (markTextShared will call out to this again, once per\n // document).\n if (options && options.shared) { return markTextShared(doc, from, to, options, type) }\n // Ensure we are in an operation.\n if (doc.cm && !doc.cm.curOp) { return operation(doc.cm, markText)(doc, from, to, options, type) }\n\n var marker = new TextMarker(doc, type), diff = cmp(from, to);\n if (options) { copyObj(options, marker, false); }\n // Don't connect empty markers unless clearWhenEmpty is false\n if (diff > 0 || diff == 0 && marker.clearWhenEmpty !== false)\n { return marker }\n if (marker.replacedWith) {\n // Showing up as a widget implies collapsed (widget replaces text)\n marker.collapsed = true;\n marker.widgetNode = eltP(\"span\", [marker.replacedWith], \"CodeMirror-widget\");\n if (!options.handleMouseEvents) { marker.widgetNode.setAttribute(\"cm-ignore-events\", \"true\"); }\n if (options.insertLeft) { marker.widgetNode.insertLeft = true; }\n }\n if (marker.collapsed) {\n if (conflictingCollapsedRange(doc, from.line, from, to, marker) ||\n from.line != to.line && conflictingCollapsedRange(doc, to.line, from, to, marker))\n { throw new Error(\"Inserting collapsed marker partially overlapping an existing one\") }\n seeCollapsedSpans();\n }\n\n if (marker.addToHistory)\n { addChangeToHistory(doc, {from: from, to: to, origin: \"markText\"}, doc.sel, NaN); }\n\n var curLine = from.line, cm = doc.cm, updateMaxLine;\n doc.iter(curLine, to.line + 1, function (line) {\n if (cm && marker.collapsed && !cm.options.lineWrapping && visualLine(line) == cm.display.maxLine)\n { updateMaxLine = true; }\n if (marker.collapsed && curLine != from.line) { updateLineHeight(line, 0); }\n addMarkedSpan(line, new MarkedSpan(marker,\n curLine == from.line ? from.ch : null,\n curLine == to.line ? to.ch : null), doc.cm && doc.cm.curOp);\n ++curLine;\n });\n // lineIsHidden depends on the presence of the spans, so needs a second pass\n if (marker.collapsed) { doc.iter(from.line, to.line + 1, function (line) {\n if (lineIsHidden(doc, line)) { updateLineHeight(line, 0); }\n }); }\n\n if (marker.clearOnEnter) { on(marker, \"beforeCursorEnter\", function () { return marker.clear(); }); }\n\n if (marker.readOnly) {\n seeReadOnlySpans();\n if (doc.history.done.length || doc.history.undone.length)\n { doc.clearHistory(); }\n }\n if (marker.collapsed) {\n marker.id = ++nextMarkerId;\n marker.atomic = true;\n }\n if (cm) {\n // Sync editor state\n if (updateMaxLine) { cm.curOp.updateMaxLine = true; }\n if (marker.collapsed)\n { regChange(cm, from.line, to.line + 1); }\n else if (marker.className || marker.startStyle || marker.endStyle || marker.css ||\n marker.attributes || marker.title)\n { for (var i = from.line; i <= to.line; i++) { regLineChange(cm, i, \"text\"); } }\n if (marker.atomic) { reCheckSelection(cm.doc); }\n signalLater(cm, \"markerAdded\", cm, marker);\n }\n return marker\n }\n\n // SHARED TEXTMARKERS\n\n // A shared marker spans multiple linked documents. It is\n // implemented as a meta-marker-object controlling multiple normal\n // markers.\n var SharedTextMarker = function(markers, primary) {\n this.markers = markers;\n this.primary = primary;\n for (var i = 0; i < markers.length; ++i)\n { markers[i].parent = this; }\n };\n\n SharedTextMarker.prototype.clear = function () {\n if (this.explicitlyCleared) { return }\n this.explicitlyCleared = true;\n for (var i = 0; i < this.markers.length; ++i)\n { this.markers[i].clear(); }\n signalLater(this, \"clear\");\n };\n\n SharedTextMarker.prototype.find = function (side, lineObj) {\n return this.primary.find(side, lineObj)\n };\n eventMixin(SharedTextMarker);\n\n function markTextShared(doc, from, to, options, type) {\n options = copyObj(options);\n options.shared = false;\n var markers = [markText(doc, from, to, options, type)], primary = markers[0];\n var widget = options.widgetNode;\n linkedDocs(doc, function (doc) {\n if (widget) { options.widgetNode = widget.cloneNode(true); }\n markers.push(markText(doc, clipPos(doc, from), clipPos(doc, to), options, type));\n for (var i = 0; i < doc.linked.length; ++i)\n { if (doc.linked[i].isParent) { return } }\n primary = lst(markers);\n });\n return new SharedTextMarker(markers, primary)\n }\n\n function findSharedMarkers(doc) {\n return doc.findMarks(Pos(doc.first, 0), doc.clipPos(Pos(doc.lastLine())), function (m) { return m.parent; })\n }\n\n function copySharedMarkers(doc, markers) {\n for (var i = 0; i < markers.length; i++) {\n var marker = markers[i], pos = marker.find();\n var mFrom = doc.clipPos(pos.from), mTo = doc.clipPos(pos.to);\n if (cmp(mFrom, mTo)) {\n var subMark = markText(doc, mFrom, mTo, marker.primary, marker.primary.type);\n marker.markers.push(subMark);\n subMark.parent = marker;\n }\n }\n }\n\n function detachSharedMarkers(markers) {\n var loop = function ( i ) {\n var marker = markers[i], linked = [marker.primary.doc];\n linkedDocs(marker.primary.doc, function (d) { return linked.push(d); });\n for (var j = 0; j < marker.markers.length; j++) {\n var subMarker = marker.markers[j];\n if (indexOf(linked, subMarker.doc) == -1) {\n subMarker.parent = null;\n marker.markers.splice(j--, 1);\n }\n }\n };\n\n for (var i = 0; i < markers.length; i++) loop( i );\n }\n\n var nextDocId = 0;\n var Doc = function(text, mode, firstLine, lineSep, direction) {\n if (!(this instanceof Doc)) { return new Doc(text, mode, firstLine, lineSep, direction) }\n if (firstLine == null) { firstLine = 0; }\n\n BranchChunk.call(this, [new LeafChunk([new Line(\"\", null)])]);\n this.first = firstLine;\n this.scrollTop = this.scrollLeft = 0;\n this.cantEdit = false;\n this.cleanGeneration = 1;\n this.modeFrontier = this.highlightFrontier = firstLine;\n var start = Pos(firstLine, 0);\n this.sel = simpleSelection(start);\n this.history = new History(null);\n this.id = ++nextDocId;\n this.modeOption = mode;\n this.lineSep = lineSep;\n this.direction = (direction == \"rtl\") ? \"rtl\" : \"ltr\";\n this.extend = false;\n\n if (typeof text == \"string\") { text = this.splitLines(text); }\n updateDoc(this, {from: start, to: start, text: text});\n setSelection(this, simpleSelection(start), sel_dontScroll);\n };\n\n Doc.prototype = createObj(BranchChunk.prototype, {\n constructor: Doc,\n // Iterate over the document. Supports two forms -- with only one\n // argument, it calls that for each line in the document. With\n // three, it iterates over the range given by the first two (with\n // the second being non-inclusive).\n iter: function(from, to, op) {\n if (op) { this.iterN(from - this.first, to - from, op); }\n else { this.iterN(this.first, this.first + this.size, from); }\n },\n\n // Non-public interface for adding and removing lines.\n insert: function(at, lines) {\n var height = 0;\n for (var i = 0; i < lines.length; ++i) { height += lines[i].height; }\n this.insertInner(at - this.first, lines, height);\n },\n remove: function(at, n) { this.removeInner(at - this.first, n); },\n\n // From here, the methods are part of the public interface. Most\n // are also available from CodeMirror (editor) instances.\n\n getValue: function(lineSep) {\n var lines = getLines(this, this.first, this.first + this.size);\n if (lineSep === false) { return lines }\n return lines.join(lineSep || this.lineSeparator())\n },\n setValue: docMethodOp(function(code) {\n var top = Pos(this.first, 0), last = this.first + this.size - 1;\n makeChange(this, {from: top, to: Pos(last, getLine(this, last).text.length),\n text: this.splitLines(code), origin: \"setValue\", full: true}, true);\n if (this.cm) { scrollToCoords(this.cm, 0, 0); }\n setSelection(this, simpleSelection(top), sel_dontScroll);\n }),\n replaceRange: function(code, from, to, origin) {\n from = clipPos(this, from);\n to = to ? clipPos(this, to) : from;\n replaceRange(this, code, from, to, origin);\n },\n getRange: function(from, to, lineSep) {\n var lines = getBetween(this, clipPos(this, from), clipPos(this, to));\n if (lineSep === false) { return lines }\n return lines.join(lineSep || this.lineSeparator())\n },\n\n getLine: function(line) {var l = this.getLineHandle(line); return l && l.text},\n\n getLineHandle: function(line) {if (isLine(this, line)) { return getLine(this, line) }},\n getLineNumber: function(line) {return lineNo(line)},\n\n getLineHandleVisualStart: function(line) {\n if (typeof line == \"number\") { line = getLine(this, line); }\n return visualLine(line)\n },\n\n lineCount: function() {return this.size},\n firstLine: function() {return this.first},\n lastLine: function() {return this.first + this.size - 1},\n\n clipPos: function(pos) {return clipPos(this, pos)},\n\n getCursor: function(start) {\n var range = this.sel.primary(), pos;\n if (start == null || start == \"head\") { pos = range.head; }\n else if (start == \"anchor\") { pos = range.anchor; }\n else if (start == \"end\" || start == \"to\" || start === false) { pos = range.to(); }\n else { pos = range.from(); }\n return pos\n },\n listSelections: function() { return this.sel.ranges },\n somethingSelected: function() {return this.sel.somethingSelected()},\n\n setCursor: docMethodOp(function(line, ch, options) {\n setSimpleSelection(this, clipPos(this, typeof line == \"number\" ? Pos(line, ch || 0) : line), null, options);\n }),\n setSelection: docMethodOp(function(anchor, head, options) {\n setSimpleSelection(this, clipPos(this, anchor), clipPos(this, head || anchor), options);\n }),\n extendSelection: docMethodOp(function(head, other, options) {\n extendSelection(this, clipPos(this, head), other && clipPos(this, other), options);\n }),\n extendSelections: docMethodOp(function(heads, options) {\n extendSelections(this, clipPosArray(this, heads), options);\n }),\n extendSelectionsBy: docMethodOp(function(f, options) {\n var heads = map(this.sel.ranges, f);\n extendSelections(this, clipPosArray(this, heads), options);\n }),\n setSelections: docMethodOp(function(ranges, primary, options) {\n if (!ranges.length) { return }\n var out = [];\n for (var i = 0; i < ranges.length; i++)\n { out[i] = new Range(clipPos(this, ranges[i].anchor),\n clipPos(this, ranges[i].head || ranges[i].anchor)); }\n if (primary == null) { primary = Math.min(ranges.length - 1, this.sel.primIndex); }\n setSelection(this, normalizeSelection(this.cm, out, primary), options);\n }),\n addSelection: docMethodOp(function(anchor, head, options) {\n var ranges = this.sel.ranges.slice(0);\n ranges.push(new Range(clipPos(this, anchor), clipPos(this, head || anchor)));\n setSelection(this, normalizeSelection(this.cm, ranges, ranges.length - 1), options);\n }),\n\n getSelection: function(lineSep) {\n var ranges = this.sel.ranges, lines;\n for (var i = 0; i < ranges.length; i++) {\n var sel = getBetween(this, ranges[i].from(), ranges[i].to());\n lines = lines ? lines.concat(sel) : sel;\n }\n if (lineSep === false) { return lines }\n else { return lines.join(lineSep || this.lineSeparator()) }\n },\n getSelections: function(lineSep) {\n var parts = [], ranges = this.sel.ranges;\n for (var i = 0; i < ranges.length; i++) {\n var sel = getBetween(this, ranges[i].from(), ranges[i].to());\n if (lineSep !== false) { sel = sel.join(lineSep || this.lineSeparator()); }\n parts[i] = sel;\n }\n return parts\n },\n replaceSelection: function(code, collapse, origin) {\n var dup = [];\n for (var i = 0; i < this.sel.ranges.length; i++)\n { dup[i] = code; }\n this.replaceSelections(dup, collapse, origin || \"+input\");\n },\n replaceSelections: docMethodOp(function(code, collapse, origin) {\n var changes = [], sel = this.sel;\n for (var i = 0; i < sel.ranges.length; i++) {\n var range = sel.ranges[i];\n changes[i] = {from: range.from(), to: range.to(), text: this.splitLines(code[i]), origin: origin};\n }\n var newSel = collapse && collapse != \"end\" && computeReplacedSel(this, changes, collapse);\n for (var i$1 = changes.length - 1; i$1 >= 0; i$1--)\n { makeChange(this, changes[i$1]); }\n if (newSel) { setSelectionReplaceHistory(this, newSel); }\n else if (this.cm) { ensureCursorVisible(this.cm); }\n }),\n undo: docMethodOp(function() {makeChangeFromHistory(this, \"undo\");}),\n redo: docMethodOp(function() {makeChangeFromHistory(this, \"redo\");}),\n undoSelection: docMethodOp(function() {makeChangeFromHistory(this, \"undo\", true);}),\n redoSelection: docMethodOp(function() {makeChangeFromHistory(this, \"redo\", true);}),\n\n setExtending: function(val) {this.extend = val;},\n getExtending: function() {return this.extend},\n\n historySize: function() {\n var hist = this.history, done = 0, undone = 0;\n for (var i = 0; i < hist.done.length; i++) { if (!hist.done[i].ranges) { ++done; } }\n for (var i$1 = 0; i$1 < hist.undone.length; i$1++) { if (!hist.undone[i$1].ranges) { ++undone; } }\n return {undo: done, redo: undone}\n },\n clearHistory: function() {\n var this$1 = this;\n\n this.history = new History(this.history);\n linkedDocs(this, function (doc) { return doc.history = this$1.history; }, true);\n },\n\n markClean: function() {\n this.cleanGeneration = this.changeGeneration(true);\n },\n changeGeneration: function(forceSplit) {\n if (forceSplit)\n { this.history.lastOp = this.history.lastSelOp = this.history.lastOrigin = null; }\n return this.history.generation\n },\n isClean: function (gen) {\n return this.history.generation == (gen || this.cleanGeneration)\n },\n\n getHistory: function() {\n return {done: copyHistoryArray(this.history.done),\n undone: copyHistoryArray(this.history.undone)}\n },\n setHistory: function(histData) {\n var hist = this.history = new History(this.history);\n hist.done = copyHistoryArray(histData.done.slice(0), null, true);\n hist.undone = copyHistoryArray(histData.undone.slice(0), null, true);\n },\n\n setGutterMarker: docMethodOp(function(line, gutterID, value) {\n return changeLine(this, line, \"gutter\", function (line) {\n var markers = line.gutterMarkers || (line.gutterMarkers = {});\n markers[gutterID] = value;\n if (!value && isEmpty(markers)) { line.gutterMarkers = null; }\n return true\n })\n }),\n\n clearGutter: docMethodOp(function(gutterID) {\n var this$1 = this;\n\n this.iter(function (line) {\n if (line.gutterMarkers && line.gutterMarkers[gutterID]) {\n changeLine(this$1, line, \"gutter\", function () {\n line.gutterMarkers[gutterID] = null;\n if (isEmpty(line.gutterMarkers)) { line.gutterMarkers = null; }\n return true\n });\n }\n });\n }),\n\n lineInfo: function(line) {\n var n;\n if (typeof line == \"number\") {\n if (!isLine(this, line)) { return null }\n n = line;\n line = getLine(this, line);\n if (!line) { return null }\n } else {\n n = lineNo(line);\n if (n == null) { return null }\n }\n return {line: n, handle: line, text: line.text, gutterMarkers: line.gutterMarkers,\n textClass: line.textClass, bgClass: line.bgClass, wrapClass: line.wrapClass,\n widgets: line.widgets}\n },\n\n addLineClass: docMethodOp(function(handle, where, cls) {\n return changeLine(this, handle, where == \"gutter\" ? \"gutter\" : \"class\", function (line) {\n var prop = where == \"text\" ? \"textClass\"\n : where == \"background\" ? \"bgClass\"\n : where == \"gutter\" ? \"gutterClass\" : \"wrapClass\";\n if (!line[prop]) { line[prop] = cls; }\n else if (classTest(cls).test(line[prop])) { return false }\n else { line[prop] += \" \" + cls; }\n return true\n })\n }),\n removeLineClass: docMethodOp(function(handle, where, cls) {\n return changeLine(this, handle, where == \"gutter\" ? \"gutter\" : \"class\", function (line) {\n var prop = where == \"text\" ? \"textClass\"\n : where == \"background\" ? \"bgClass\"\n : where == \"gutter\" ? \"gutterClass\" : \"wrapClass\";\n var cur = line[prop];\n if (!cur) { return false }\n else if (cls == null) { line[prop] = null; }\n else {\n var found = cur.match(classTest(cls));\n if (!found) { return false }\n var end = found.index + found[0].length;\n line[prop] = cur.slice(0, found.index) + (!found.index || end == cur.length ? \"\" : \" \") + cur.slice(end) || null;\n }\n return true\n })\n }),\n\n addLineWidget: docMethodOp(function(handle, node, options) {\n return addLineWidget(this, handle, node, options)\n }),\n removeLineWidget: function(widget) { widget.clear(); },\n\n markText: function(from, to, options) {\n return markText(this, clipPos(this, from), clipPos(this, to), options, options && options.type || \"range\")\n },\n setBookmark: function(pos, options) {\n var realOpts = {replacedWith: options && (options.nodeType == null ? options.widget : options),\n insertLeft: options && options.insertLeft,\n clearWhenEmpty: false, shared: options && options.shared,\n handleMouseEvents: options && options.handleMouseEvents};\n pos = clipPos(this, pos);\n return markText(this, pos, pos, realOpts, \"bookmark\")\n },\n findMarksAt: function(pos) {\n pos = clipPos(this, pos);\n var markers = [], spans = getLine(this, pos.line).markedSpans;\n if (spans) { for (var i = 0; i < spans.length; ++i) {\n var span = spans[i];\n if ((span.from == null || span.from <= pos.ch) &&\n (span.to == null || span.to >= pos.ch))\n { markers.push(span.marker.parent || span.marker); }\n } }\n return markers\n },\n findMarks: function(from, to, filter) {\n from = clipPos(this, from); to = clipPos(this, to);\n var found = [], lineNo = from.line;\n this.iter(from.line, to.line + 1, function (line) {\n var spans = line.markedSpans;\n if (spans) { for (var i = 0; i < spans.length; i++) {\n var span = spans[i];\n if (!(span.to != null && lineNo == from.line && from.ch >= span.to ||\n span.from == null && lineNo != from.line ||\n span.from != null && lineNo == to.line && span.from >= to.ch) &&\n (!filter || filter(span.marker)))\n { found.push(span.marker.parent || span.marker); }\n } }\n ++lineNo;\n });\n return found\n },\n getAllMarks: function() {\n var markers = [];\n this.iter(function (line) {\n var sps = line.markedSpans;\n if (sps) { for (var i = 0; i < sps.length; ++i)\n { if (sps[i].from != null) { markers.push(sps[i].marker); } } }\n });\n return markers\n },\n\n posFromIndex: function(off) {\n var ch, lineNo = this.first, sepSize = this.lineSeparator().length;\n this.iter(function (line) {\n var sz = line.text.length + sepSize;\n if (sz > off) { ch = off; return true }\n off -= sz;\n ++lineNo;\n });\n return clipPos(this, Pos(lineNo, ch))\n },\n indexFromPos: function (coords) {\n coords = clipPos(this, coords);\n var index = coords.ch;\n if (coords.line < this.first || coords.ch < 0) { return 0 }\n var sepSize = this.lineSeparator().length;\n this.iter(this.first, coords.line, function (line) { // iter aborts when callback returns a truthy value\n index += line.text.length + sepSize;\n });\n return index\n },\n\n copy: function(copyHistory) {\n var doc = new Doc(getLines(this, this.first, this.first + this.size),\n this.modeOption, this.first, this.lineSep, this.direction);\n doc.scrollTop = this.scrollTop; doc.scrollLeft = this.scrollLeft;\n doc.sel = this.sel;\n doc.extend = false;\n if (copyHistory) {\n doc.history.undoDepth = this.history.undoDepth;\n doc.setHistory(this.getHistory());\n }\n return doc\n },\n\n linkedDoc: function(options) {\n if (!options) { options = {}; }\n var from = this.first, to = this.first + this.size;\n if (options.from != null && options.from > from) { from = options.from; }\n if (options.to != null && options.to < to) { to = options.to; }\n var copy = new Doc(getLines(this, from, to), options.mode || this.modeOption, from, this.lineSep, this.direction);\n if (options.sharedHist) { copy.history = this.history\n ; }(this.linked || (this.linked = [])).push({doc: copy, sharedHist: options.sharedHist});\n copy.linked = [{doc: this, isParent: true, sharedHist: options.sharedHist}];\n copySharedMarkers(copy, findSharedMarkers(this));\n return copy\n },\n unlinkDoc: function(other) {\n if (other instanceof CodeMirror) { other = other.doc; }\n if (this.linked) { for (var i = 0; i < this.linked.length; ++i) {\n var link = this.linked[i];\n if (link.doc != other) { continue }\n this.linked.splice(i, 1);\n other.unlinkDoc(this);\n detachSharedMarkers(findSharedMarkers(this));\n break\n } }\n // If the histories were shared, split them again\n if (other.history == this.history) {\n var splitIds = [other.id];\n linkedDocs(other, function (doc) { return splitIds.push(doc.id); }, true);\n other.history = new History(null);\n other.history.done = copyHistoryArray(this.history.done, splitIds);\n other.history.undone = copyHistoryArray(this.history.undone, splitIds);\n }\n },\n iterLinkedDocs: function(f) {linkedDocs(this, f);},\n\n getMode: function() {return this.mode},\n getEditor: function() {return this.cm},\n\n splitLines: function(str) {\n if (this.lineSep) { return str.split(this.lineSep) }\n return splitLinesAuto(str)\n },\n lineSeparator: function() { return this.lineSep || \"\\n\" },\n\n setDirection: docMethodOp(function (dir) {\n if (dir != \"rtl\") { dir = \"ltr\"; }\n if (dir == this.direction) { return }\n this.direction = dir;\n this.iter(function (line) { return line.order = null; });\n if (this.cm) { directionChanged(this.cm); }\n })\n });\n\n // Public alias.\n Doc.prototype.eachLine = Doc.prototype.iter;\n\n // Kludge to work around strange IE behavior where it'll sometimes\n // re-fire a series of drag-related events right after the drop (#1551)\n var lastDrop = 0;\n\n function onDrop(e) {\n var cm = this;\n clearDragCursor(cm);\n if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e))\n { return }\n e_preventDefault(e);\n if (ie) { lastDrop = +new Date; }\n var pos = posFromMouse(cm, e, true), files = e.dataTransfer.files;\n if (!pos || cm.isReadOnly()) { return }\n // Might be a file drop, in which case we simply extract the text\n // and insert it.\n if (files && files.length && window.FileReader && window.File) {\n var n = files.length, text = Array(n), read = 0;\n var markAsReadAndPasteIfAllFilesAreRead = function () {\n if (++read == n) {\n operation(cm, function () {\n pos = clipPos(cm.doc, pos);\n var change = {from: pos, to: pos,\n text: cm.doc.splitLines(\n text.filter(function (t) { return t != null; }).join(cm.doc.lineSeparator())),\n origin: \"paste\"};\n makeChange(cm.doc, change);\n setSelectionReplaceHistory(cm.doc, simpleSelection(clipPos(cm.doc, pos), clipPos(cm.doc, changeEnd(change))));\n })();\n }\n };\n var readTextFromFile = function (file, i) {\n if (cm.options.allowDropFileTypes &&\n indexOf(cm.options.allowDropFileTypes, file.type) == -1) {\n markAsReadAndPasteIfAllFilesAreRead();\n return\n }\n var reader = new FileReader;\n reader.onerror = function () { return markAsReadAndPasteIfAllFilesAreRead(); };\n reader.onload = function () {\n var content = reader.result;\n if (/[\\x00-\\x08\\x0e-\\x1f]{2}/.test(content)) {\n markAsReadAndPasteIfAllFilesAreRead();\n return\n }\n text[i] = content;\n markAsReadAndPasteIfAllFilesAreRead();\n };\n reader.readAsText(file);\n };\n for (var i = 0; i < files.length; i++) { readTextFromFile(files[i], i); }\n } else { // Normal drop\n // Don't do a replace if the drop happened inside of the selected text.\n if (cm.state.draggingText && cm.doc.sel.contains(pos) > -1) {\n cm.state.draggingText(e);\n // Ensure the editor is re-focused\n setTimeout(function () { return cm.display.input.focus(); }, 20);\n return\n }\n try {\n var text$1 = e.dataTransfer.getData(\"Text\");\n if (text$1) {\n var selected;\n if (cm.state.draggingText && !cm.state.draggingText.copy)\n { selected = cm.listSelections(); }\n setSelectionNoUndo(cm.doc, simpleSelection(pos, pos));\n if (selected) { for (var i$1 = 0; i$1 < selected.length; ++i$1)\n { replaceRange(cm.doc, \"\", selected[i$1].anchor, selected[i$1].head, \"drag\"); } }\n cm.replaceSelection(text$1, \"around\", \"paste\");\n cm.display.input.focus();\n }\n }\n catch(e$1){}\n }\n }\n\n function onDragStart(cm, e) {\n if (ie && (!cm.state.draggingText || +new Date - lastDrop < 100)) { e_stop(e); return }\n if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) { return }\n\n e.dataTransfer.setData(\"Text\", cm.getSelection());\n e.dataTransfer.effectAllowed = \"copyMove\";\n\n // Use dummy image instead of default browsers image.\n // Recent Safari (~6.0.2) have a tendency to segfault when this happens, so we don't do it there.\n if (e.dataTransfer.setDragImage && !safari) {\n var img = elt(\"img\", null, null, \"position: fixed; left: 0; top: 0;\");\n img.src = \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\";\n if (presto) {\n img.width = img.height = 1;\n cm.display.wrapper.appendChild(img);\n // Force a relayout, or Opera won't use our image for some obscure reason\n img._top = img.offsetTop;\n }\n e.dataTransfer.setDragImage(img, 0, 0);\n if (presto) { img.parentNode.removeChild(img); }\n }\n }\n\n function onDragOver(cm, e) {\n var pos = posFromMouse(cm, e);\n if (!pos) { return }\n var frag = document.createDocumentFragment();\n drawSelectionCursor(cm, pos, frag);\n if (!cm.display.dragCursor) {\n cm.display.dragCursor = elt(\"div\", null, \"CodeMirror-cursors CodeMirror-dragcursors\");\n cm.display.lineSpace.insertBefore(cm.display.dragCursor, cm.display.cursorDiv);\n }\n removeChildrenAndAdd(cm.display.dragCursor, frag);\n }\n\n function clearDragCursor(cm) {\n if (cm.display.dragCursor) {\n cm.display.lineSpace.removeChild(cm.display.dragCursor);\n cm.display.dragCursor = null;\n }\n }\n\n // These must be handled carefully, because naively registering a\n // handler for each editor will cause the editors to never be\n // garbage collected.\n\n function forEachCodeMirror(f) {\n if (!document.getElementsByClassName) { return }\n var byClass = document.getElementsByClassName(\"CodeMirror\"), editors = [];\n for (var i = 0; i < byClass.length; i++) {\n var cm = byClass[i].CodeMirror;\n if (cm) { editors.push(cm); }\n }\n if (editors.length) { editors[0].operation(function () {\n for (var i = 0; i < editors.length; i++) { f(editors[i]); }\n }); }\n }\n\n var globalsRegistered = false;\n function ensureGlobalHandlers() {\n if (globalsRegistered) { return }\n registerGlobalHandlers();\n globalsRegistered = true;\n }\n function registerGlobalHandlers() {\n // When the window resizes, we need to refresh active editors.\n var resizeTimer;\n on(window, \"resize\", function () {\n if (resizeTimer == null) { resizeTimer = setTimeout(function () {\n resizeTimer = null;\n forEachCodeMirror(onResize);\n }, 100); }\n });\n // When the window loses focus, we want to show the editor as blurred\n on(window, \"blur\", function () { return forEachCodeMirror(onBlur); });\n }\n // Called when the window resizes\n function onResize(cm) {\n var d = cm.display;\n // Might be a text scaling operation, clear size caches.\n d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null;\n d.scrollbarsClipped = false;\n cm.setSize();\n }\n\n var keyNames = {\n 3: \"Pause\", 8: \"Backspace\", 9: \"Tab\", 13: \"Enter\", 16: \"Shift\", 17: \"Ctrl\", 18: \"Alt\",\n 19: \"Pause\", 20: \"CapsLock\", 27: \"Esc\", 32: \"Space\", 33: \"PageUp\", 34: \"PageDown\", 35: \"End\",\n 36: \"Home\", 37: \"Left\", 38: \"Up\", 39: \"Right\", 40: \"Down\", 44: \"PrintScrn\", 45: \"Insert\",\n 46: \"Delete\", 59: \";\", 61: \"=\", 91: \"Mod\", 92: \"Mod\", 93: \"Mod\",\n 106: \"*\", 107: \"=\", 109: \"-\", 110: \".\", 111: \"/\", 145: \"ScrollLock\",\n 173: \"-\", 186: \";\", 187: \"=\", 188: \",\", 189: \"-\", 190: \".\", 191: \"/\", 192: \"`\", 219: \"[\", 220: \"\\\\\",\n 221: \"]\", 222: \"'\", 224: \"Mod\", 63232: \"Up\", 63233: \"Down\", 63234: \"Left\", 63235: \"Right\", 63272: \"Delete\",\n 63273: \"Home\", 63275: \"End\", 63276: \"PageUp\", 63277: \"PageDown\", 63302: \"Insert\"\n };\n\n // Number keys\n for (var i = 0; i < 10; i++) { keyNames[i + 48] = keyNames[i + 96] = String(i); }\n // Alphabetic keys\n for (var i$1 = 65; i$1 <= 90; i$1++) { keyNames[i$1] = String.fromCharCode(i$1); }\n // Function keys\n for (var i$2 = 1; i$2 <= 12; i$2++) { keyNames[i$2 + 111] = keyNames[i$2 + 63235] = \"F\" + i$2; }\n\n var keyMap = {};\n\n keyMap.basic = {\n \"Left\": \"goCharLeft\", \"Right\": \"goCharRight\", \"Up\": \"goLineUp\", \"Down\": \"goLineDown\",\n \"End\": \"goLineEnd\", \"Home\": \"goLineStartSmart\", \"PageUp\": \"goPageUp\", \"PageDown\": \"goPageDown\",\n \"Delete\": \"delCharAfter\", \"Backspace\": \"delCharBefore\", \"Shift-Backspace\": \"delCharBefore\",\n \"Tab\": \"defaultTab\", \"Shift-Tab\": \"indentAuto\",\n \"Enter\": \"newlineAndIndent\", \"Insert\": \"toggleOverwrite\",\n \"Esc\": \"singleSelection\"\n };\n // Note that the save and find-related commands aren't defined by\n // default. User code or addons can define them. Unknown commands\n // are simply ignored.\n keyMap.pcDefault = {\n \"Ctrl-A\": \"selectAll\", \"Ctrl-D\": \"deleteLine\", \"Ctrl-Z\": \"undo\", \"Shift-Ctrl-Z\": \"redo\", \"Ctrl-Y\": \"redo\",\n \"Ctrl-Home\": \"goDocStart\", \"Ctrl-End\": \"goDocEnd\", \"Ctrl-Up\": \"goLineUp\", \"Ctrl-Down\": \"goLineDown\",\n \"Ctrl-Left\": \"goGroupLeft\", \"Ctrl-Right\": \"goGroupRight\", \"Alt-Left\": \"goLineStart\", \"Alt-Right\": \"goLineEnd\",\n \"Ctrl-Backspace\": \"delGroupBefore\", \"Ctrl-Delete\": \"delGroupAfter\", \"Ctrl-S\": \"save\", \"Ctrl-F\": \"find\",\n \"Ctrl-G\": \"findNext\", \"Shift-Ctrl-G\": \"findPrev\", \"Shift-Ctrl-F\": \"replace\", \"Shift-Ctrl-R\": \"replaceAll\",\n \"Ctrl-[\": \"indentLess\", \"Ctrl-]\": \"indentMore\",\n \"Ctrl-U\": \"undoSelection\", \"Shift-Ctrl-U\": \"redoSelection\", \"Alt-U\": \"redoSelection\",\n \"fallthrough\": \"basic\"\n };\n // Very basic readline/emacs-style bindings, which are standard on Mac.\n keyMap.emacsy = {\n \"Ctrl-F\": \"goCharRight\", \"Ctrl-B\": \"goCharLeft\", \"Ctrl-P\": \"goLineUp\", \"Ctrl-N\": \"goLineDown\",\n \"Ctrl-A\": \"goLineStart\", \"Ctrl-E\": \"goLineEnd\", \"Ctrl-V\": \"goPageDown\", \"Shift-Ctrl-V\": \"goPageUp\",\n \"Ctrl-D\": \"delCharAfter\", \"Ctrl-H\": \"delCharBefore\", \"Alt-Backspace\": \"delWordBefore\", \"Ctrl-K\": \"killLine\",\n \"Ctrl-T\": \"transposeChars\", \"Ctrl-O\": \"openLine\"\n };\n keyMap.macDefault = {\n \"Cmd-A\": \"selectAll\", \"Cmd-D\": \"deleteLine\", \"Cmd-Z\": \"undo\", \"Shift-Cmd-Z\": \"redo\", \"Cmd-Y\": \"redo\",\n \"Cmd-Home\": \"goDocStart\", \"Cmd-Up\": \"goDocStart\", \"Cmd-End\": \"goDocEnd\", \"Cmd-Down\": \"goDocEnd\", \"Alt-Left\": \"goGroupLeft\",\n \"Alt-Right\": \"goGroupRight\", \"Cmd-Left\": \"goLineLeft\", \"Cmd-Right\": \"goLineRight\", \"Alt-Backspace\": \"delGroupBefore\",\n \"Ctrl-Alt-Backspace\": \"delGroupAfter\", \"Alt-Delete\": \"delGroupAfter\", \"Cmd-S\": \"save\", \"Cmd-F\": \"find\",\n \"Cmd-G\": \"findNext\", \"Shift-Cmd-G\": \"findPrev\", \"Cmd-Alt-F\": \"replace\", \"Shift-Cmd-Alt-F\": \"replaceAll\",\n \"Cmd-[\": \"indentLess\", \"Cmd-]\": \"indentMore\", \"Cmd-Backspace\": \"delWrappedLineLeft\", \"Cmd-Delete\": \"delWrappedLineRight\",\n \"Cmd-U\": \"undoSelection\", \"Shift-Cmd-U\": \"redoSelection\", \"Ctrl-Up\": \"goDocStart\", \"Ctrl-Down\": \"goDocEnd\",\n \"fallthrough\": [\"basic\", \"emacsy\"]\n };\n keyMap[\"default\"] = mac ? keyMap.macDefault : keyMap.pcDefault;\n\n // KEYMAP DISPATCH\n\n function normalizeKeyName(name) {\n var parts = name.split(/-(?!$)/);\n name = parts[parts.length - 1];\n var alt, ctrl, shift, cmd;\n for (var i = 0; i < parts.length - 1; i++) {\n var mod = parts[i];\n if (/^(cmd|meta|m)$/i.test(mod)) { cmd = true; }\n else if (/^a(lt)?$/i.test(mod)) { alt = true; }\n else if (/^(c|ctrl|control)$/i.test(mod)) { ctrl = true; }\n else if (/^s(hift)?$/i.test(mod)) { shift = true; }\n else { throw new Error(\"Unrecognized modifier name: \" + mod) }\n }\n if (alt) { name = \"Alt-\" + name; }\n if (ctrl) { name = \"Ctrl-\" + name; }\n if (cmd) { name = \"Cmd-\" + name; }\n if (shift) { name = \"Shift-\" + name; }\n return name\n }\n\n // This is a kludge to keep keymaps mostly working as raw objects\n // (backwards compatibility) while at the same time support features\n // like normalization and multi-stroke key bindings. It compiles a\n // new normalized keymap, and then updates the old object to reflect\n // this.\n function normalizeKeyMap(keymap) {\n var copy = {};\n for (var keyname in keymap) { if (keymap.hasOwnProperty(keyname)) {\n var value = keymap[keyname];\n if (/^(name|fallthrough|(de|at)tach)$/.test(keyname)) { continue }\n if (value == \"...\") { delete keymap[keyname]; continue }\n\n var keys = map(keyname.split(\" \"), normalizeKeyName);\n for (var i = 0; i < keys.length; i++) {\n var val = (void 0), name = (void 0);\n if (i == keys.length - 1) {\n name = keys.join(\" \");\n val = value;\n } else {\n name = keys.slice(0, i + 1).join(\" \");\n val = \"...\";\n }\n var prev = copy[name];\n if (!prev) { copy[name] = val; }\n else if (prev != val) { throw new Error(\"Inconsistent bindings for \" + name) }\n }\n delete keymap[keyname];\n } }\n for (var prop in copy) { keymap[prop] = copy[prop]; }\n return keymap\n }\n\n function lookupKey(key, map, handle, context) {\n map = getKeyMap(map);\n var found = map.call ? map.call(key, context) : map[key];\n if (found === false) { return \"nothing\" }\n if (found === \"...\") { return \"multi\" }\n if (found != null && handle(found)) { return \"handled\" }\n\n if (map.fallthrough) {\n if (Object.prototype.toString.call(map.fallthrough) != \"[object Array]\")\n { return lookupKey(key, map.fallthrough, handle, context) }\n for (var i = 0; i < map.fallthrough.length; i++) {\n var result = lookupKey(key, map.fallthrough[i], handle, context);\n if (result) { return result }\n }\n }\n }\n\n // Modifier key presses don't count as 'real' key presses for the\n // purpose of keymap fallthrough.\n function isModifierKey(value) {\n var name = typeof value == \"string\" ? value : keyNames[value.keyCode];\n return name == \"Ctrl\" || name == \"Alt\" || name == \"Shift\" || name == \"Mod\"\n }\n\n function addModifierNames(name, event, noShift) {\n var base = name;\n if (event.altKey && base != \"Alt\") { name = \"Alt-\" + name; }\n if ((flipCtrlCmd ? event.metaKey : event.ctrlKey) && base != \"Ctrl\") { name = \"Ctrl-\" + name; }\n if ((flipCtrlCmd ? event.ctrlKey : event.metaKey) && base != \"Mod\") { name = \"Cmd-\" + name; }\n if (!noShift && event.shiftKey && base != \"Shift\") { name = \"Shift-\" + name; }\n return name\n }\n\n // Look up the name of a key as indicated by an event object.\n function keyName(event, noShift) {\n if (presto && event.keyCode == 34 && event[\"char\"]) { return false }\n var name = keyNames[event.keyCode];\n if (name == null || event.altGraphKey) { return false }\n // Ctrl-ScrollLock has keyCode 3, same as Ctrl-Pause,\n // so we'll use event.code when available (Chrome 48+, FF 38+, Safari 10.1+)\n if (event.keyCode == 3 && event.code) { name = event.code; }\n return addModifierNames(name, event, noShift)\n }\n\n function getKeyMap(val) {\n return typeof val == \"string\" ? keyMap[val] : val\n }\n\n // Helper for deleting text near the selection(s), used to implement\n // backspace, delete, and similar functionality.\n function deleteNearSelection(cm, compute) {\n var ranges = cm.doc.sel.ranges, kill = [];\n // Build up a set of ranges to kill first, merging overlapping\n // ranges.\n for (var i = 0; i < ranges.length; i++) {\n var toKill = compute(ranges[i]);\n while (kill.length && cmp(toKill.from, lst(kill).to) <= 0) {\n var replaced = kill.pop();\n if (cmp(replaced.from, toKill.from) < 0) {\n toKill.from = replaced.from;\n break\n }\n }\n kill.push(toKill);\n }\n // Next, remove those actual ranges.\n runInOp(cm, function () {\n for (var i = kill.length - 1; i >= 0; i--)\n { replaceRange(cm.doc, \"\", kill[i].from, kill[i].to, \"+delete\"); }\n ensureCursorVisible(cm);\n });\n }\n\n function moveCharLogically(line, ch, dir) {\n var target = skipExtendingChars(line.text, ch + dir, dir);\n return target < 0 || target > line.text.length ? null : target\n }\n\n function moveLogically(line, start, dir) {\n var ch = moveCharLogically(line, start.ch, dir);\n return ch == null ? null : new Pos(start.line, ch, dir < 0 ? \"after\" : \"before\")\n }\n\n function endOfLine(visually, cm, lineObj, lineNo, dir) {\n if (visually) {\n if (cm.doc.direction == \"rtl\") { dir = -dir; }\n var order = getOrder(lineObj, cm.doc.direction);\n if (order) {\n var part = dir < 0 ? lst(order) : order[0];\n var moveInStorageOrder = (dir < 0) == (part.level == 1);\n var sticky = moveInStorageOrder ? \"after\" : \"before\";\n var ch;\n // With a wrapped rtl chunk (possibly spanning multiple bidi parts),\n // it could be that the last bidi part is not on the last visual line,\n // since visual lines contain content order-consecutive chunks.\n // Thus, in rtl, we are looking for the first (content-order) character\n // in the rtl chunk that is on the last line (that is, the same line\n // as the last (content-order) character).\n if (part.level > 0 || cm.doc.direction == \"rtl\") {\n var prep = prepareMeasureForLine(cm, lineObj);\n ch = dir < 0 ? lineObj.text.length - 1 : 0;\n var targetTop = measureCharPrepared(cm, prep, ch).top;\n ch = findFirst(function (ch) { return measureCharPrepared(cm, prep, ch).top == targetTop; }, (dir < 0) == (part.level == 1) ? part.from : part.to - 1, ch);\n if (sticky == \"before\") { ch = moveCharLogically(lineObj, ch, 1); }\n } else { ch = dir < 0 ? part.to : part.from; }\n return new Pos(lineNo, ch, sticky)\n }\n }\n return new Pos(lineNo, dir < 0 ? lineObj.text.length : 0, dir < 0 ? \"before\" : \"after\")\n }\n\n function moveVisually(cm, line, start, dir) {\n var bidi = getOrder(line, cm.doc.direction);\n if (!bidi) { return moveLogically(line, start, dir) }\n if (start.ch >= line.text.length) {\n start.ch = line.text.length;\n start.sticky = \"before\";\n } else if (start.ch <= 0) {\n start.ch = 0;\n start.sticky = \"after\";\n }\n var partPos = getBidiPartAt(bidi, start.ch, start.sticky), part = bidi[partPos];\n if (cm.doc.direction == \"ltr\" && part.level % 2 == 0 && (dir > 0 ? part.to > start.ch : part.from < start.ch)) {\n // Case 1: We move within an ltr part in an ltr editor. Even with wrapped lines,\n // nothing interesting happens.\n return moveLogically(line, start, dir)\n }\n\n var mv = function (pos, dir) { return moveCharLogically(line, pos instanceof Pos ? pos.ch : pos, dir); };\n var prep;\n var getWrappedLineExtent = function (ch) {\n if (!cm.options.lineWrapping) { return {begin: 0, end: line.text.length} }\n prep = prep || prepareMeasureForLine(cm, line);\n return wrappedLineExtentChar(cm, line, prep, ch)\n };\n var wrappedLineExtent = getWrappedLineExtent(start.sticky == \"before\" ? mv(start, -1) : start.ch);\n\n if (cm.doc.direction == \"rtl\" || part.level == 1) {\n var moveInStorageOrder = (part.level == 1) == (dir < 0);\n var ch = mv(start, moveInStorageOrder ? 1 : -1);\n if (ch != null && (!moveInStorageOrder ? ch >= part.from && ch >= wrappedLineExtent.begin : ch <= part.to && ch <= wrappedLineExtent.end)) {\n // Case 2: We move within an rtl part or in an rtl editor on the same visual line\n var sticky = moveInStorageOrder ? \"before\" : \"after\";\n return new Pos(start.line, ch, sticky)\n }\n }\n\n // Case 3: Could not move within this bidi part in this visual line, so leave\n // the current bidi part\n\n var searchInVisualLine = function (partPos, dir, wrappedLineExtent) {\n var getRes = function (ch, moveInStorageOrder) { return moveInStorageOrder\n ? new Pos(start.line, mv(ch, 1), \"before\")\n : new Pos(start.line, ch, \"after\"); };\n\n for (; partPos >= 0 && partPos < bidi.length; partPos += dir) {\n var part = bidi[partPos];\n var moveInStorageOrder = (dir > 0) == (part.level != 1);\n var ch = moveInStorageOrder ? wrappedLineExtent.begin : mv(wrappedLineExtent.end, -1);\n if (part.from <= ch && ch < part.to) { return getRes(ch, moveInStorageOrder) }\n ch = moveInStorageOrder ? part.from : mv(part.to, -1);\n if (wrappedLineExtent.begin <= ch && ch < wrappedLineExtent.end) { return getRes(ch, moveInStorageOrder) }\n }\n };\n\n // Case 3a: Look for other bidi parts on the same visual line\n var res = searchInVisualLine(partPos + dir, dir, wrappedLineExtent);\n if (res) { return res }\n\n // Case 3b: Look for other bidi parts on the next visual line\n var nextCh = dir > 0 ? wrappedLineExtent.end : mv(wrappedLineExtent.begin, -1);\n if (nextCh != null && !(dir > 0 && nextCh == line.text.length)) {\n res = searchInVisualLine(dir > 0 ? 0 : bidi.length - 1, dir, getWrappedLineExtent(nextCh));\n if (res) { return res }\n }\n\n // Case 4: Nowhere to move\n return null\n }\n\n // Commands are parameter-less actions that can be performed on an\n // editor, mostly used for keybindings.\n var commands = {\n selectAll: selectAll,\n singleSelection: function (cm) { return cm.setSelection(cm.getCursor(\"anchor\"), cm.getCursor(\"head\"), sel_dontScroll); },\n killLine: function (cm) { return deleteNearSelection(cm, function (range) {\n if (range.empty()) {\n var len = getLine(cm.doc, range.head.line).text.length;\n if (range.head.ch == len && range.head.line < cm.lastLine())\n { return {from: range.head, to: Pos(range.head.line + 1, 0)} }\n else\n { return {from: range.head, to: Pos(range.head.line, len)} }\n } else {\n return {from: range.from(), to: range.to()}\n }\n }); },\n deleteLine: function (cm) { return deleteNearSelection(cm, function (range) { return ({\n from: Pos(range.from().line, 0),\n to: clipPos(cm.doc, Pos(range.to().line + 1, 0))\n }); }); },\n delLineLeft: function (cm) { return deleteNearSelection(cm, function (range) { return ({\n from: Pos(range.from().line, 0), to: range.from()\n }); }); },\n delWrappedLineLeft: function (cm) { return deleteNearSelection(cm, function (range) {\n var top = cm.charCoords(range.head, \"div\").top + 5;\n var leftPos = cm.coordsChar({left: 0, top: top}, \"div\");\n return {from: leftPos, to: range.from()}\n }); },\n delWrappedLineRight: function (cm) { return deleteNearSelection(cm, function (range) {\n var top = cm.charCoords(range.head, \"div\").top + 5;\n var rightPos = cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, \"div\");\n return {from: range.from(), to: rightPos }\n }); },\n undo: function (cm) { return cm.undo(); },\n redo: function (cm) { return cm.redo(); },\n undoSelection: function (cm) { return cm.undoSelection(); },\n redoSelection: function (cm) { return cm.redoSelection(); },\n goDocStart: function (cm) { return cm.extendSelection(Pos(cm.firstLine(), 0)); },\n goDocEnd: function (cm) { return cm.extendSelection(Pos(cm.lastLine())); },\n goLineStart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStart(cm, range.head.line); },\n {origin: \"+move\", bias: 1}\n ); },\n goLineStartSmart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStartSmart(cm, range.head); },\n {origin: \"+move\", bias: 1}\n ); },\n goLineEnd: function (cm) { return cm.extendSelectionsBy(function (range) { return lineEnd(cm, range.head.line); },\n {origin: \"+move\", bias: -1}\n ); },\n goLineRight: function (cm) { return cm.extendSelectionsBy(function (range) {\n var top = cm.cursorCoords(range.head, \"div\").top + 5;\n return cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, \"div\")\n }, sel_move); },\n goLineLeft: function (cm) { return cm.extendSelectionsBy(function (range) {\n var top = cm.cursorCoords(range.head, \"div\").top + 5;\n return cm.coordsChar({left: 0, top: top}, \"div\")\n }, sel_move); },\n goLineLeftSmart: function (cm) { return cm.extendSelectionsBy(function (range) {\n var top = cm.cursorCoords(range.head, \"div\").top + 5;\n var pos = cm.coordsChar({left: 0, top: top}, \"div\");\n if (pos.ch < cm.getLine(pos.line).search(/\\S/)) { return lineStartSmart(cm, range.head) }\n return pos\n }, sel_move); },\n goLineUp: function (cm) { return cm.moveV(-1, \"line\"); },\n goLineDown: function (cm) { return cm.moveV(1, \"line\"); },\n goPageUp: function (cm) { return cm.moveV(-1, \"page\"); },\n goPageDown: function (cm) { return cm.moveV(1, \"page\"); },\n goCharLeft: function (cm) { return cm.moveH(-1, \"char\"); },\n goCharRight: function (cm) { return cm.moveH(1, \"char\"); },\n goColumnLeft: function (cm) { return cm.moveH(-1, \"column\"); },\n goColumnRight: function (cm) { return cm.moveH(1, \"column\"); },\n goWordLeft: function (cm) { return cm.moveH(-1, \"word\"); },\n goGroupRight: function (cm) { return cm.moveH(1, \"group\"); },\n goGroupLeft: function (cm) { return cm.moveH(-1, \"group\"); },\n goWordRight: function (cm) { return cm.moveH(1, \"word\"); },\n delCharBefore: function (cm) { return cm.deleteH(-1, \"codepoint\"); },\n delCharAfter: function (cm) { return cm.deleteH(1, \"char\"); },\n delWordBefore: function (cm) { return cm.deleteH(-1, \"word\"); },\n delWordAfter: function (cm) { return cm.deleteH(1, \"word\"); },\n delGroupBefore: function (cm) { return cm.deleteH(-1, \"group\"); },\n delGroupAfter: function (cm) { return cm.deleteH(1, \"group\"); },\n indentAuto: function (cm) { return cm.indentSelection(\"smart\"); },\n indentMore: function (cm) { return cm.indentSelection(\"add\"); },\n indentLess: function (cm) { return cm.indentSelection(\"subtract\"); },\n insertTab: function (cm) { return cm.replaceSelection(\"\\t\"); },\n insertSoftTab: function (cm) {\n var spaces = [], ranges = cm.listSelections(), tabSize = cm.options.tabSize;\n for (var i = 0; i < ranges.length; i++) {\n var pos = ranges[i].from();\n var col = countColumn(cm.getLine(pos.line), pos.ch, tabSize);\n spaces.push(spaceStr(tabSize - col % tabSize));\n }\n cm.replaceSelections(spaces);\n },\n defaultTab: function (cm) {\n if (cm.somethingSelected()) { cm.indentSelection(\"add\"); }\n else { cm.execCommand(\"insertTab\"); }\n },\n // Swap the two chars left and right of each selection's head.\n // Move cursor behind the two swapped characters afterwards.\n //\n // Doesn't consider line feeds a character.\n // Doesn't scan more than one line above to find a character.\n // Doesn't do anything on an empty line.\n // Doesn't do anything with non-empty selections.\n transposeChars: function (cm) { return runInOp(cm, function () {\n var ranges = cm.listSelections(), newSel = [];\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) { continue }\n var cur = ranges[i].head, line = getLine(cm.doc, cur.line).text;\n if (line) {\n if (cur.ch == line.length) { cur = new Pos(cur.line, cur.ch - 1); }\n if (cur.ch > 0) {\n cur = new Pos(cur.line, cur.ch + 1);\n cm.replaceRange(line.charAt(cur.ch - 1) + line.charAt(cur.ch - 2),\n Pos(cur.line, cur.ch - 2), cur, \"+transpose\");\n } else if (cur.line > cm.doc.first) {\n var prev = getLine(cm.doc, cur.line - 1).text;\n if (prev) {\n cur = new Pos(cur.line, 1);\n cm.replaceRange(line.charAt(0) + cm.doc.lineSeparator() +\n prev.charAt(prev.length - 1),\n Pos(cur.line - 1, prev.length - 1), cur, \"+transpose\");\n }\n }\n }\n newSel.push(new Range(cur, cur));\n }\n cm.setSelections(newSel);\n }); },\n newlineAndIndent: function (cm) { return runInOp(cm, function () {\n var sels = cm.listSelections();\n for (var i = sels.length - 1; i >= 0; i--)\n { cm.replaceRange(cm.doc.lineSeparator(), sels[i].anchor, sels[i].head, \"+input\"); }\n sels = cm.listSelections();\n for (var i$1 = 0; i$1 < sels.length; i$1++)\n { cm.indentLine(sels[i$1].from().line, null, true); }\n ensureCursorVisible(cm);\n }); },\n openLine: function (cm) { return cm.replaceSelection(\"\\n\", \"start\"); },\n toggleOverwrite: function (cm) { return cm.toggleOverwrite(); }\n };\n\n\n function lineStart(cm, lineN) {\n var line = getLine(cm.doc, lineN);\n var visual = visualLine(line);\n if (visual != line) { lineN = lineNo(visual); }\n return endOfLine(true, cm, visual, lineN, 1)\n }\n function lineEnd(cm, lineN) {\n var line = getLine(cm.doc, lineN);\n var visual = visualLineEnd(line);\n if (visual != line) { lineN = lineNo(visual); }\n return endOfLine(true, cm, line, lineN, -1)\n }\n function lineStartSmart(cm, pos) {\n var start = lineStart(cm, pos.line);\n var line = getLine(cm.doc, start.line);\n var order = getOrder(line, cm.doc.direction);\n if (!order || order[0].level == 0) {\n var firstNonWS = Math.max(start.ch, line.text.search(/\\S/));\n var inWS = pos.line == start.line && pos.ch <= firstNonWS && pos.ch;\n return Pos(start.line, inWS ? 0 : firstNonWS, start.sticky)\n }\n return start\n }\n\n // Run a handler that was bound to a key.\n function doHandleBinding(cm, bound, dropShift) {\n if (typeof bound == \"string\") {\n bound = commands[bound];\n if (!bound) { return false }\n }\n // Ensure previous input has been read, so that the handler sees a\n // consistent view of the document\n cm.display.input.ensurePolled();\n var prevShift = cm.display.shift, done = false;\n try {\n if (cm.isReadOnly()) { cm.state.suppressEdits = true; }\n if (dropShift) { cm.display.shift = false; }\n done = bound(cm) != Pass;\n } finally {\n cm.display.shift = prevShift;\n cm.state.suppressEdits = false;\n }\n return done\n }\n\n function lookupKeyForEditor(cm, name, handle) {\n for (var i = 0; i < cm.state.keyMaps.length; i++) {\n var result = lookupKey(name, cm.state.keyMaps[i], handle, cm);\n if (result) { return result }\n }\n return (cm.options.extraKeys && lookupKey(name, cm.options.extraKeys, handle, cm))\n || lookupKey(name, cm.options.keyMap, handle, cm)\n }\n\n // Note that, despite the name, this function is also used to check\n // for bound mouse clicks.\n\n var stopSeq = new Delayed;\n\n function dispatchKey(cm, name, e, handle) {\n var seq = cm.state.keySeq;\n if (seq) {\n if (isModifierKey(name)) { return \"handled\" }\n if (/\\'$/.test(name))\n { cm.state.keySeq = null; }\n else\n { stopSeq.set(50, function () {\n if (cm.state.keySeq == seq) {\n cm.state.keySeq = null;\n cm.display.input.reset();\n }\n }); }\n if (dispatchKeyInner(cm, seq + \" \" + name, e, handle)) { return true }\n }\n return dispatchKeyInner(cm, name, e, handle)\n }\n\n function dispatchKeyInner(cm, name, e, handle) {\n var result = lookupKeyForEditor(cm, name, handle);\n\n if (result == \"multi\")\n { cm.state.keySeq = name; }\n if (result == \"handled\")\n { signalLater(cm, \"keyHandled\", cm, name, e); }\n\n if (result == \"handled\" || result == \"multi\") {\n e_preventDefault(e);\n restartBlink(cm);\n }\n\n return !!result\n }\n\n // Handle a key from the keydown event.\n function handleKeyBinding(cm, e) {\n var name = keyName(e, true);\n if (!name) { return false }\n\n if (e.shiftKey && !cm.state.keySeq) {\n // First try to resolve full name (including 'Shift-'). Failing\n // that, see if there is a cursor-motion command (starting with\n // 'go') bound to the keyname without 'Shift-'.\n return dispatchKey(cm, \"Shift-\" + name, e, function (b) { return doHandleBinding(cm, b, true); })\n || dispatchKey(cm, name, e, function (b) {\n if (typeof b == \"string\" ? /^go[A-Z]/.test(b) : b.motion)\n { return doHandleBinding(cm, b) }\n })\n } else {\n return dispatchKey(cm, name, e, function (b) { return doHandleBinding(cm, b); })\n }\n }\n\n // Handle a key from the keypress event\n function handleCharBinding(cm, e, ch) {\n return dispatchKey(cm, \"'\" + ch + \"'\", e, function (b) { return doHandleBinding(cm, b, true); })\n }\n\n var lastStoppedKey = null;\n function onKeyDown(e) {\n var cm = this;\n if (e.target && e.target != cm.display.input.getField()) { return }\n cm.curOp.focus = activeElt();\n if (signalDOMEvent(cm, e)) { return }\n // IE does strange things with escape.\n if (ie && ie_version < 11 && e.keyCode == 27) { e.returnValue = false; }\n var code = e.keyCode;\n cm.display.shift = code == 16 || e.shiftKey;\n var handled = handleKeyBinding(cm, e);\n if (presto) {\n lastStoppedKey = handled ? code : null;\n // Opera has no cut event... we try to at least catch the key combo\n if (!handled && code == 88 && !hasCopyEvent && (mac ? e.metaKey : e.ctrlKey))\n { cm.replaceSelection(\"\", null, \"cut\"); }\n }\n if (gecko && !mac && !handled && code == 46 && e.shiftKey && !e.ctrlKey && document.execCommand)\n { document.execCommand(\"cut\"); }\n\n // Turn mouse into crosshair when Alt is held on Mac.\n if (code == 18 && !/\\bCodeMirror-crosshair\\b/.test(cm.display.lineDiv.className))\n { showCrossHair(cm); }\n }\n\n function showCrossHair(cm) {\n var lineDiv = cm.display.lineDiv;\n addClass(lineDiv, \"CodeMirror-crosshair\");\n\n function up(e) {\n if (e.keyCode == 18 || !e.altKey) {\n rmClass(lineDiv, \"CodeMirror-crosshair\");\n off(document, \"keyup\", up);\n off(document, \"mouseover\", up);\n }\n }\n on(document, \"keyup\", up);\n on(document, \"mouseover\", up);\n }\n\n function onKeyUp(e) {\n if (e.keyCode == 16) { this.doc.sel.shift = false; }\n signalDOMEvent(this, e);\n }\n\n function onKeyPress(e) {\n var cm = this;\n if (e.target && e.target != cm.display.input.getField()) { return }\n if (eventInWidget(cm.display, e) || signalDOMEvent(cm, e) || e.ctrlKey && !e.altKey || mac && e.metaKey) { return }\n var keyCode = e.keyCode, charCode = e.charCode;\n if (presto && keyCode == lastStoppedKey) {lastStoppedKey = null; e_preventDefault(e); return}\n if ((presto && (!e.which || e.which < 10)) && handleKeyBinding(cm, e)) { return }\n var ch = String.fromCharCode(charCode == null ? keyCode : charCode);\n // Some browsers fire keypress events for backspace\n if (ch == \"\\x08\") { return }\n if (handleCharBinding(cm, e, ch)) { return }\n cm.display.input.onKeyPress(e);\n }\n\n var DOUBLECLICK_DELAY = 400;\n\n var PastClick = function(time, pos, button) {\n this.time = time;\n this.pos = pos;\n this.button = button;\n };\n\n PastClick.prototype.compare = function (time, pos, button) {\n return this.time + DOUBLECLICK_DELAY > time &&\n cmp(pos, this.pos) == 0 && button == this.button\n };\n\n var lastClick, lastDoubleClick;\n function clickRepeat(pos, button) {\n var now = +new Date;\n if (lastDoubleClick && lastDoubleClick.compare(now, pos, button)) {\n lastClick = lastDoubleClick = null;\n return \"triple\"\n } else if (lastClick && lastClick.compare(now, pos, button)) {\n lastDoubleClick = new PastClick(now, pos, button);\n lastClick = null;\n return \"double\"\n } else {\n lastClick = new PastClick(now, pos, button);\n lastDoubleClick = null;\n return \"single\"\n }\n }\n\n // A mouse down can be a single click, double click, triple click,\n // start of selection drag, start of text drag, new cursor\n // (ctrl-click), rectangle drag (alt-drag), or xwin\n // middle-click-paste. Or it might be a click on something we should\n // not interfere with, such as a scrollbar or widget.\n function onMouseDown(e) {\n var cm = this, display = cm.display;\n if (signalDOMEvent(cm, e) || display.activeTouch && display.input.supportsTouch()) { return }\n display.input.ensurePolled();\n display.shift = e.shiftKey;\n\n if (eventInWidget(display, e)) {\n if (!webkit) {\n // Briefly turn off draggability, to allow widgets to do\n // normal dragging things.\n display.scroller.draggable = false;\n setTimeout(function () { return display.scroller.draggable = true; }, 100);\n }\n return\n }\n if (clickInGutter(cm, e)) { return }\n var pos = posFromMouse(cm, e), button = e_button(e), repeat = pos ? clickRepeat(pos, button) : \"single\";\n window.focus();\n\n // #3261: make sure, that we're not starting a second selection\n if (button == 1 && cm.state.selectingText)\n { cm.state.selectingText(e); }\n\n if (pos && handleMappedButton(cm, button, pos, repeat, e)) { return }\n\n if (button == 1) {\n if (pos) { leftButtonDown(cm, pos, repeat, e); }\n else if (e_target(e) == display.scroller) { e_preventDefault(e); }\n } else if (button == 2) {\n if (pos) { extendSelection(cm.doc, pos); }\n setTimeout(function () { return display.input.focus(); }, 20);\n } else if (button == 3) {\n if (captureRightClick) { cm.display.input.onContextMenu(e); }\n else { delayBlurEvent(cm); }\n }\n }\n\n function handleMappedButton(cm, button, pos, repeat, event) {\n var name = \"Click\";\n if (repeat == \"double\") { name = \"Double\" + name; }\n else if (repeat == \"triple\") { name = \"Triple\" + name; }\n name = (button == 1 ? \"Left\" : button == 2 ? \"Middle\" : \"Right\") + name;\n\n return dispatchKey(cm, addModifierNames(name, event), event, function (bound) {\n if (typeof bound == \"string\") { bound = commands[bound]; }\n if (!bound) { return false }\n var done = false;\n try {\n if (cm.isReadOnly()) { cm.state.suppressEdits = true; }\n done = bound(cm, pos) != Pass;\n } finally {\n cm.state.suppressEdits = false;\n }\n return done\n })\n }\n\n function configureMouse(cm, repeat, event) {\n var option = cm.getOption(\"configureMouse\");\n var value = option ? option(cm, repeat, event) : {};\n if (value.unit == null) {\n var rect = chromeOS ? event.shiftKey && event.metaKey : event.altKey;\n value.unit = rect ? \"rectangle\" : repeat == \"single\" ? \"char\" : repeat == \"double\" ? \"word\" : \"line\";\n }\n if (value.extend == null || cm.doc.extend) { value.extend = cm.doc.extend || event.shiftKey; }\n if (value.addNew == null) { value.addNew = mac ? event.metaKey : event.ctrlKey; }\n if (value.moveOnDrag == null) { value.moveOnDrag = !(mac ? event.altKey : event.ctrlKey); }\n return value\n }\n\n function leftButtonDown(cm, pos, repeat, event) {\n if (ie) { setTimeout(bind(ensureFocus, cm), 0); }\n else { cm.curOp.focus = activeElt(); }\n\n var behavior = configureMouse(cm, repeat, event);\n\n var sel = cm.doc.sel, contained;\n if (cm.options.dragDrop && dragAndDrop && !cm.isReadOnly() &&\n repeat == \"single\" && (contained = sel.contains(pos)) > -1 &&\n (cmp((contained = sel.ranges[contained]).from(), pos) < 0 || pos.xRel > 0) &&\n (cmp(contained.to(), pos) > 0 || pos.xRel < 0))\n { leftButtonStartDrag(cm, event, pos, behavior); }\n else\n { leftButtonSelect(cm, event, pos, behavior); }\n }\n\n // Start a text drag. When it ends, see if any dragging actually\n // happen, and treat as a click if it didn't.\n function leftButtonStartDrag(cm, event, pos, behavior) {\n var display = cm.display, moved = false;\n var dragEnd = operation(cm, function (e) {\n if (webkit) { display.scroller.draggable = false; }\n cm.state.draggingText = false;\n if (cm.state.delayingBlurEvent) {\n if (cm.hasFocus()) { cm.state.delayingBlurEvent = false; }\n else { delayBlurEvent(cm); }\n }\n off(display.wrapper.ownerDocument, \"mouseup\", dragEnd);\n off(display.wrapper.ownerDocument, \"mousemove\", mouseMove);\n off(display.scroller, \"dragstart\", dragStart);\n off(display.scroller, \"drop\", dragEnd);\n if (!moved) {\n e_preventDefault(e);\n if (!behavior.addNew)\n { extendSelection(cm.doc, pos, null, null, behavior.extend); }\n // Work around unexplainable focus problem in IE9 (#2127) and Chrome (#3081)\n if ((webkit && !safari) || ie && ie_version == 9)\n { setTimeout(function () {display.wrapper.ownerDocument.body.focus({preventScroll: true}); display.input.focus();}, 20); }\n else\n { display.input.focus(); }\n }\n });\n var mouseMove = function(e2) {\n moved = moved || Math.abs(event.clientX - e2.clientX) + Math.abs(event.clientY - e2.clientY) >= 10;\n };\n var dragStart = function () { return moved = true; };\n // Let the drag handler handle this.\n if (webkit) { display.scroller.draggable = true; }\n cm.state.draggingText = dragEnd;\n dragEnd.copy = !behavior.moveOnDrag;\n on(display.wrapper.ownerDocument, \"mouseup\", dragEnd);\n on(display.wrapper.ownerDocument, \"mousemove\", mouseMove);\n on(display.scroller, \"dragstart\", dragStart);\n on(display.scroller, \"drop\", dragEnd);\n\n cm.state.delayingBlurEvent = true;\n setTimeout(function () { return display.input.focus(); }, 20);\n // IE's approach to draggable\n if (display.scroller.dragDrop) { display.scroller.dragDrop(); }\n }\n\n function rangeForUnit(cm, pos, unit) {\n if (unit == \"char\") { return new Range(pos, pos) }\n if (unit == \"word\") { return cm.findWordAt(pos) }\n if (unit == \"line\") { return new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))) }\n var result = unit(cm, pos);\n return new Range(result.from, result.to)\n }\n\n // Normal selection, as opposed to text dragging.\n function leftButtonSelect(cm, event, start, behavior) {\n if (ie) { delayBlurEvent(cm); }\n var display = cm.display, doc = cm.doc;\n e_preventDefault(event);\n\n var ourRange, ourIndex, startSel = doc.sel, ranges = startSel.ranges;\n if (behavior.addNew && !behavior.extend) {\n ourIndex = doc.sel.contains(start);\n if (ourIndex > -1)\n { ourRange = ranges[ourIndex]; }\n else\n { ourRange = new Range(start, start); }\n } else {\n ourRange = doc.sel.primary();\n ourIndex = doc.sel.primIndex;\n }\n\n if (behavior.unit == \"rectangle\") {\n if (!behavior.addNew) { ourRange = new Range(start, start); }\n start = posFromMouse(cm, event, true, true);\n ourIndex = -1;\n } else {\n var range = rangeForUnit(cm, start, behavior.unit);\n if (behavior.extend)\n { ourRange = extendRange(ourRange, range.anchor, range.head, behavior.extend); }\n else\n { ourRange = range; }\n }\n\n if (!behavior.addNew) {\n ourIndex = 0;\n setSelection(doc, new Selection([ourRange], 0), sel_mouse);\n startSel = doc.sel;\n } else if (ourIndex == -1) {\n ourIndex = ranges.length;\n setSelection(doc, normalizeSelection(cm, ranges.concat([ourRange]), ourIndex),\n {scroll: false, origin: \"*mouse\"});\n } else if (ranges.length > 1 && ranges[ourIndex].empty() && behavior.unit == \"char\" && !behavior.extend) {\n setSelection(doc, normalizeSelection(cm, ranges.slice(0, ourIndex).concat(ranges.slice(ourIndex + 1)), 0),\n {scroll: false, origin: \"*mouse\"});\n startSel = doc.sel;\n } else {\n replaceOneSelection(doc, ourIndex, ourRange, sel_mouse);\n }\n\n var lastPos = start;\n function extendTo(pos) {\n if (cmp(lastPos, pos) == 0) { return }\n lastPos = pos;\n\n if (behavior.unit == \"rectangle\") {\n var ranges = [], tabSize = cm.options.tabSize;\n var startCol = countColumn(getLine(doc, start.line).text, start.ch, tabSize);\n var posCol = countColumn(getLine(doc, pos.line).text, pos.ch, tabSize);\n var left = Math.min(startCol, posCol), right = Math.max(startCol, posCol);\n for (var line = Math.min(start.line, pos.line), end = Math.min(cm.lastLine(), Math.max(start.line, pos.line));\n line <= end; line++) {\n var text = getLine(doc, line).text, leftPos = findColumn(text, left, tabSize);\n if (left == right)\n { ranges.push(new Range(Pos(line, leftPos), Pos(line, leftPos))); }\n else if (text.length > leftPos)\n { ranges.push(new Range(Pos(line, leftPos), Pos(line, findColumn(text, right, tabSize)))); }\n }\n if (!ranges.length) { ranges.push(new Range(start, start)); }\n setSelection(doc, normalizeSelection(cm, startSel.ranges.slice(0, ourIndex).concat(ranges), ourIndex),\n {origin: \"*mouse\", scroll: false});\n cm.scrollIntoView(pos);\n } else {\n var oldRange = ourRange;\n var range = rangeForUnit(cm, pos, behavior.unit);\n var anchor = oldRange.anchor, head;\n if (cmp(range.anchor, anchor) > 0) {\n head = range.head;\n anchor = minPos(oldRange.from(), range.anchor);\n } else {\n head = range.anchor;\n anchor = maxPos(oldRange.to(), range.head);\n }\n var ranges$1 = startSel.ranges.slice(0);\n ranges$1[ourIndex] = bidiSimplify(cm, new Range(clipPos(doc, anchor), head));\n setSelection(doc, normalizeSelection(cm, ranges$1, ourIndex), sel_mouse);\n }\n }\n\n var editorSize = display.wrapper.getBoundingClientRect();\n // Used to ensure timeout re-tries don't fire when another extend\n // happened in the meantime (clearTimeout isn't reliable -- at\n // least on Chrome, the timeouts still happen even when cleared,\n // if the clear happens after their scheduled firing time).\n var counter = 0;\n\n function extend(e) {\n var curCount = ++counter;\n var cur = posFromMouse(cm, e, true, behavior.unit == \"rectangle\");\n if (!cur) { return }\n if (cmp(cur, lastPos) != 0) {\n cm.curOp.focus = activeElt();\n extendTo(cur);\n var visible = visibleLines(display, doc);\n if (cur.line >= visible.to || cur.line < visible.from)\n { setTimeout(operation(cm, function () {if (counter == curCount) { extend(e); }}), 150); }\n } else {\n var outside = e.clientY < editorSize.top ? -20 : e.clientY > editorSize.bottom ? 20 : 0;\n if (outside) { setTimeout(operation(cm, function () {\n if (counter != curCount) { return }\n display.scroller.scrollTop += outside;\n extend(e);\n }), 50); }\n }\n }\n\n function done(e) {\n cm.state.selectingText = false;\n counter = Infinity;\n // If e is null or undefined we interpret this as someone trying\n // to explicitly cancel the selection rather than the user\n // letting go of the mouse button.\n if (e) {\n e_preventDefault(e);\n display.input.focus();\n }\n off(display.wrapper.ownerDocument, \"mousemove\", move);\n off(display.wrapper.ownerDocument, \"mouseup\", up);\n doc.history.lastSelOrigin = null;\n }\n\n var move = operation(cm, function (e) {\n if (e.buttons === 0 || !e_button(e)) { done(e); }\n else { extend(e); }\n });\n var up = operation(cm, done);\n cm.state.selectingText = up;\n on(display.wrapper.ownerDocument, \"mousemove\", move);\n on(display.wrapper.ownerDocument, \"mouseup\", up);\n }\n\n // Used when mouse-selecting to adjust the anchor to the proper side\n // of a bidi jump depending on the visual position of the head.\n function bidiSimplify(cm, range) {\n var anchor = range.anchor;\n var head = range.head;\n var anchorLine = getLine(cm.doc, anchor.line);\n if (cmp(anchor, head) == 0 && anchor.sticky == head.sticky) { return range }\n var order = getOrder(anchorLine);\n if (!order) { return range }\n var index = getBidiPartAt(order, anchor.ch, anchor.sticky), part = order[index];\n if (part.from != anchor.ch && part.to != anchor.ch) { return range }\n var boundary = index + ((part.from == anchor.ch) == (part.level != 1) ? 0 : 1);\n if (boundary == 0 || boundary == order.length) { return range }\n\n // Compute the relative visual position of the head compared to the\n // anchor (<0 is to the left, >0 to the right)\n var leftSide;\n if (head.line != anchor.line) {\n leftSide = (head.line - anchor.line) * (cm.doc.direction == \"ltr\" ? 1 : -1) > 0;\n } else {\n var headIndex = getBidiPartAt(order, head.ch, head.sticky);\n var dir = headIndex - index || (head.ch - anchor.ch) * (part.level == 1 ? -1 : 1);\n if (headIndex == boundary - 1 || headIndex == boundary)\n { leftSide = dir < 0; }\n else\n { leftSide = dir > 0; }\n }\n\n var usePart = order[boundary + (leftSide ? -1 : 0)];\n var from = leftSide == (usePart.level == 1);\n var ch = from ? usePart.from : usePart.to, sticky = from ? \"after\" : \"before\";\n return anchor.ch == ch && anchor.sticky == sticky ? range : new Range(new Pos(anchor.line, ch, sticky), head)\n }\n\n\n // Determines whether an event happened in the gutter, and fires the\n // handlers for the corresponding event.\n function gutterEvent(cm, e, type, prevent) {\n var mX, mY;\n if (e.touches) {\n mX = e.touches[0].clientX;\n mY = e.touches[0].clientY;\n } else {\n try { mX = e.clientX; mY = e.clientY; }\n catch(e$1) { return false }\n }\n if (mX >= Math.floor(cm.display.gutters.getBoundingClientRect().right)) { return false }\n if (prevent) { e_preventDefault(e); }\n\n var display = cm.display;\n var lineBox = display.lineDiv.getBoundingClientRect();\n\n if (mY > lineBox.bottom || !hasHandler(cm, type)) { return e_defaultPrevented(e) }\n mY -= lineBox.top - display.viewOffset;\n\n for (var i = 0; i < cm.display.gutterSpecs.length; ++i) {\n var g = display.gutters.childNodes[i];\n if (g && g.getBoundingClientRect().right >= mX) {\n var line = lineAtHeight(cm.doc, mY);\n var gutter = cm.display.gutterSpecs[i];\n signal(cm, type, cm, line, gutter.className, e);\n return e_defaultPrevented(e)\n }\n }\n }\n\n function clickInGutter(cm, e) {\n return gutterEvent(cm, e, \"gutterClick\", true)\n }\n\n // CONTEXT MENU HANDLING\n\n // To make the context menu work, we need to briefly unhide the\n // textarea (making it as unobtrusive as possible) to let the\n // right-click take effect on it.\n function onContextMenu(cm, e) {\n if (eventInWidget(cm.display, e) || contextMenuInGutter(cm, e)) { return }\n if (signalDOMEvent(cm, e, \"contextmenu\")) { return }\n if (!captureRightClick) { cm.display.input.onContextMenu(e); }\n }\n\n function contextMenuInGutter(cm, e) {\n if (!hasHandler(cm, \"gutterContextMenu\")) { return false }\n return gutterEvent(cm, e, \"gutterContextMenu\", false)\n }\n\n function themeChanged(cm) {\n cm.display.wrapper.className = cm.display.wrapper.className.replace(/\\s*cm-s-\\S+/g, \"\") +\n cm.options.theme.replace(/(^|\\s)\\s*/g, \" cm-s-\");\n clearCaches(cm);\n }\n\n var Init = {toString: function(){return \"CodeMirror.Init\"}};\n\n var defaults = {};\n var optionHandlers = {};\n\n function defineOptions(CodeMirror) {\n var optionHandlers = CodeMirror.optionHandlers;\n\n function option(name, deflt, handle, notOnInit) {\n CodeMirror.defaults[name] = deflt;\n if (handle) { optionHandlers[name] =\n notOnInit ? function (cm, val, old) {if (old != Init) { handle(cm, val, old); }} : handle; }\n }\n\n CodeMirror.defineOption = option;\n\n // Passed to option handlers when there is no old value.\n CodeMirror.Init = Init;\n\n // These two are, on init, called from the constructor because they\n // have to be initialized before the editor can start at all.\n option(\"value\", \"\", function (cm, val) { return cm.setValue(val); }, true);\n option(\"mode\", null, function (cm, val) {\n cm.doc.modeOption = val;\n loadMode(cm);\n }, true);\n\n option(\"indentUnit\", 2, loadMode, true);\n option(\"indentWithTabs\", false);\n option(\"smartIndent\", true);\n option(\"tabSize\", 4, function (cm) {\n resetModeState(cm);\n clearCaches(cm);\n regChange(cm);\n }, true);\n\n option(\"lineSeparator\", null, function (cm, val) {\n cm.doc.lineSep = val;\n if (!val) { return }\n var newBreaks = [], lineNo = cm.doc.first;\n cm.doc.iter(function (line) {\n for (var pos = 0;;) {\n var found = line.text.indexOf(val, pos);\n if (found == -1) { break }\n pos = found + val.length;\n newBreaks.push(Pos(lineNo, found));\n }\n lineNo++;\n });\n for (var i = newBreaks.length - 1; i >= 0; i--)\n { replaceRange(cm.doc, val, newBreaks[i], Pos(newBreaks[i].line, newBreaks[i].ch + val.length)); }\n });\n option(\"specialChars\", /[\\u0000-\\u001f\\u007f-\\u009f\\u00ad\\u061c\\u200b\\u200e\\u200f\\u2028\\u2029\\ufeff\\ufff9-\\ufffc]/g, function (cm, val, old) {\n cm.state.specialChars = new RegExp(val.source + (val.test(\"\\t\") ? \"\" : \"|\\t\"), \"g\");\n if (old != Init) { cm.refresh(); }\n });\n option(\"specialCharPlaceholder\", defaultSpecialCharPlaceholder, function (cm) { return cm.refresh(); }, true);\n option(\"electricChars\", true);\n option(\"inputStyle\", mobile ? \"contenteditable\" : \"textarea\", function () {\n throw new Error(\"inputStyle can not (yet) be changed in a running editor\") // FIXME\n }, true);\n option(\"spellcheck\", false, function (cm, val) { return cm.getInputField().spellcheck = val; }, true);\n option(\"autocorrect\", false, function (cm, val) { return cm.getInputField().autocorrect = val; }, true);\n option(\"autocapitalize\", false, function (cm, val) { return cm.getInputField().autocapitalize = val; }, true);\n option(\"rtlMoveVisually\", !windows);\n option(\"wholeLineUpdateBefore\", true);\n\n option(\"theme\", \"default\", function (cm) {\n themeChanged(cm);\n updateGutters(cm);\n }, true);\n option(\"keyMap\", \"default\", function (cm, val, old) {\n var next = getKeyMap(val);\n var prev = old != Init && getKeyMap(old);\n if (prev && prev.detach) { prev.detach(cm, next); }\n if (next.attach) { next.attach(cm, prev || null); }\n });\n option(\"extraKeys\", null);\n option(\"configureMouse\", null);\n\n option(\"lineWrapping\", false, wrappingChanged, true);\n option(\"gutters\", [], function (cm, val) {\n cm.display.gutterSpecs = getGutters(val, cm.options.lineNumbers);\n updateGutters(cm);\n }, true);\n option(\"fixedGutter\", true, function (cm, val) {\n cm.display.gutters.style.left = val ? compensateForHScroll(cm.display) + \"px\" : \"0\";\n cm.refresh();\n }, true);\n option(\"coverGutterNextToScrollbar\", false, function (cm) { return updateScrollbars(cm); }, true);\n option(\"scrollbarStyle\", \"native\", function (cm) {\n initScrollbars(cm);\n updateScrollbars(cm);\n cm.display.scrollbars.setScrollTop(cm.doc.scrollTop);\n cm.display.scrollbars.setScrollLeft(cm.doc.scrollLeft);\n }, true);\n option(\"lineNumbers\", false, function (cm, val) {\n cm.display.gutterSpecs = getGutters(cm.options.gutters, val);\n updateGutters(cm);\n }, true);\n option(\"firstLineNumber\", 1, updateGutters, true);\n option(\"lineNumberFormatter\", function (integer) { return integer; }, updateGutters, true);\n option(\"showCursorWhenSelecting\", false, updateSelection, true);\n\n option(\"resetSelectionOnContextMenu\", true);\n option(\"lineWiseCopyCut\", true);\n option(\"pasteLinesPerSelection\", true);\n option(\"selectionsMayTouch\", false);\n\n option(\"readOnly\", false, function (cm, val) {\n if (val == \"nocursor\") {\n onBlur(cm);\n cm.display.input.blur();\n }\n cm.display.input.readOnlyChanged(val);\n });\n\n option(\"screenReaderLabel\", null, function (cm, val) {\n val = (val === '') ? null : val;\n cm.display.input.screenReaderLabelChanged(val);\n });\n\n option(\"disableInput\", false, function (cm, val) {if (!val) { cm.display.input.reset(); }}, true);\n option(\"dragDrop\", true, dragDropChanged);\n option(\"allowDropFileTypes\", null);\n\n option(\"cursorBlinkRate\", 530);\n option(\"cursorScrollMargin\", 0);\n option(\"cursorHeight\", 1, updateSelection, true);\n option(\"singleCursorHeightPerLine\", true, updateSelection, true);\n option(\"workTime\", 100);\n option(\"workDelay\", 100);\n option(\"flattenSpans\", true, resetModeState, true);\n option(\"addModeClass\", false, resetModeState, true);\n option(\"pollInterval\", 100);\n option(\"undoDepth\", 200, function (cm, val) { return cm.doc.history.undoDepth = val; });\n option(\"historyEventDelay\", 1250);\n option(\"viewportMargin\", 10, function (cm) { return cm.refresh(); }, true);\n option(\"maxHighlightLength\", 10000, resetModeState, true);\n option(\"moveInputWithCursor\", true, function (cm, val) {\n if (!val) { cm.display.input.resetPosition(); }\n });\n\n option(\"tabindex\", null, function (cm, val) { return cm.display.input.getField().tabIndex = val || \"\"; });\n option(\"autofocus\", null);\n option(\"direction\", \"ltr\", function (cm, val) { return cm.doc.setDirection(val); }, true);\n option(\"phrases\", null);\n }\n\n function dragDropChanged(cm, value, old) {\n var wasOn = old && old != Init;\n if (!value != !wasOn) {\n var funcs = cm.display.dragFunctions;\n var toggle = value ? on : off;\n toggle(cm.display.scroller, \"dragstart\", funcs.start);\n toggle(cm.display.scroller, \"dragenter\", funcs.enter);\n toggle(cm.display.scroller, \"dragover\", funcs.over);\n toggle(cm.display.scroller, \"dragleave\", funcs.leave);\n toggle(cm.display.scroller, \"drop\", funcs.drop);\n }\n }\n\n function wrappingChanged(cm) {\n if (cm.options.lineWrapping) {\n addClass(cm.display.wrapper, \"CodeMirror-wrap\");\n cm.display.sizer.style.minWidth = \"\";\n cm.display.sizerWidth = null;\n } else {\n rmClass(cm.display.wrapper, \"CodeMirror-wrap\");\n findMaxLine(cm);\n }\n estimateLineHeights(cm);\n regChange(cm);\n clearCaches(cm);\n setTimeout(function () { return updateScrollbars(cm); }, 100);\n }\n\n // A CodeMirror instance represents an editor. This is the object\n // that user code is usually dealing with.\n\n function CodeMirror(place, options) {\n var this$1 = this;\n\n if (!(this instanceof CodeMirror)) { return new CodeMirror(place, options) }\n\n this.options = options = options ? copyObj(options) : {};\n // Determine effective options based on given values and defaults.\n copyObj(defaults, options, false);\n\n var doc = options.value;\n if (typeof doc == \"string\") { doc = new Doc(doc, options.mode, null, options.lineSeparator, options.direction); }\n else if (options.mode) { doc.modeOption = options.mode; }\n this.doc = doc;\n\n var input = new CodeMirror.inputStyles[options.inputStyle](this);\n var display = this.display = new Display(place, doc, input, options);\n display.wrapper.CodeMirror = this;\n themeChanged(this);\n if (options.lineWrapping)\n { this.display.wrapper.className += \" CodeMirror-wrap\"; }\n initScrollbars(this);\n\n this.state = {\n keyMaps: [], // stores maps added by addKeyMap\n overlays: [], // highlighting overlays, as added by addOverlay\n modeGen: 0, // bumped when mode/overlay changes, used to invalidate highlighting info\n overwrite: false,\n delayingBlurEvent: false,\n focused: false,\n suppressEdits: false, // used to disable editing during key handlers when in readOnly mode\n pasteIncoming: -1, cutIncoming: -1, // help recognize paste/cut edits in input.poll\n selectingText: false,\n draggingText: false,\n highlight: new Delayed(), // stores highlight worker timeout\n keySeq: null, // Unfinished key sequence\n specialChars: null\n };\n\n if (options.autofocus && !mobile) { display.input.focus(); }\n\n // Override magic textarea content restore that IE sometimes does\n // on our hidden textarea on reload\n if (ie && ie_version < 11) { setTimeout(function () { return this$1.display.input.reset(true); }, 20); }\n\n registerEventHandlers(this);\n ensureGlobalHandlers();\n\n startOperation(this);\n this.curOp.forceUpdate = true;\n attachDoc(this, doc);\n\n if ((options.autofocus && !mobile) || this.hasFocus())\n { setTimeout(function () {\n if (this$1.hasFocus() && !this$1.state.focused) { onFocus(this$1); }\n }, 20); }\n else\n { onBlur(this); }\n\n for (var opt in optionHandlers) { if (optionHandlers.hasOwnProperty(opt))\n { optionHandlers[opt](this, options[opt], Init); } }\n maybeUpdateLineNumberWidth(this);\n if (options.finishInit) { options.finishInit(this); }\n for (var i = 0; i < initHooks.length; ++i) { initHooks[i](this); }\n endOperation(this);\n // Suppress optimizelegibility in Webkit, since it breaks text\n // measuring on line wrapping boundaries.\n if (webkit && options.lineWrapping &&\n getComputedStyle(display.lineDiv).textRendering == \"optimizelegibility\")\n { display.lineDiv.style.textRendering = \"auto\"; }\n }\n\n // The default configuration options.\n CodeMirror.defaults = defaults;\n // Functions to run when options are changed.\n CodeMirror.optionHandlers = optionHandlers;\n\n // Attach the necessary event handlers when initializing the editor\n function registerEventHandlers(cm) {\n var d = cm.display;\n on(d.scroller, \"mousedown\", operation(cm, onMouseDown));\n // Older IE's will not fire a second mousedown for a double click\n if (ie && ie_version < 11)\n { on(d.scroller, \"dblclick\", operation(cm, function (e) {\n if (signalDOMEvent(cm, e)) { return }\n var pos = posFromMouse(cm, e);\n if (!pos || clickInGutter(cm, e) || eventInWidget(cm.display, e)) { return }\n e_preventDefault(e);\n var word = cm.findWordAt(pos);\n extendSelection(cm.doc, word.anchor, word.head);\n })); }\n else\n { on(d.scroller, \"dblclick\", function (e) { return signalDOMEvent(cm, e) || e_preventDefault(e); }); }\n // Some browsers fire contextmenu *after* opening the menu, at\n // which point we can't mess with it anymore. Context menu is\n // handled in onMouseDown for these browsers.\n on(d.scroller, \"contextmenu\", function (e) { return onContextMenu(cm, e); });\n on(d.input.getField(), \"contextmenu\", function (e) {\n if (!d.scroller.contains(e.target)) { onContextMenu(cm, e); }\n });\n\n // Used to suppress mouse event handling when a touch happens\n var touchFinished, prevTouch = {end: 0};\n function finishTouch() {\n if (d.activeTouch) {\n touchFinished = setTimeout(function () { return d.activeTouch = null; }, 1000);\n prevTouch = d.activeTouch;\n prevTouch.end = +new Date;\n }\n }\n function isMouseLikeTouchEvent(e) {\n if (e.touches.length != 1) { return false }\n var touch = e.touches[0];\n return touch.radiusX <= 1 && touch.radiusY <= 1\n }\n function farAway(touch, other) {\n if (other.left == null) { return true }\n var dx = other.left - touch.left, dy = other.top - touch.top;\n return dx * dx + dy * dy > 20 * 20\n }\n on(d.scroller, \"touchstart\", function (e) {\n if (!signalDOMEvent(cm, e) && !isMouseLikeTouchEvent(e) && !clickInGutter(cm, e)) {\n d.input.ensurePolled();\n clearTimeout(touchFinished);\n var now = +new Date;\n d.activeTouch = {start: now, moved: false,\n prev: now - prevTouch.end <= 300 ? prevTouch : null};\n if (e.touches.length == 1) {\n d.activeTouch.left = e.touches[0].pageX;\n d.activeTouch.top = e.touches[0].pageY;\n }\n }\n });\n on(d.scroller, \"touchmove\", function () {\n if (d.activeTouch) { d.activeTouch.moved = true; }\n });\n on(d.scroller, \"touchend\", function (e) {\n var touch = d.activeTouch;\n if (touch && !eventInWidget(d, e) && touch.left != null &&\n !touch.moved && new Date - touch.start < 300) {\n var pos = cm.coordsChar(d.activeTouch, \"page\"), range;\n if (!touch.prev || farAway(touch, touch.prev)) // Single tap\n { range = new Range(pos, pos); }\n else if (!touch.prev.prev || farAway(touch, touch.prev.prev)) // Double tap\n { range = cm.findWordAt(pos); }\n else // Triple tap\n { range = new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))); }\n cm.setSelection(range.anchor, range.head);\n cm.focus();\n e_preventDefault(e);\n }\n finishTouch();\n });\n on(d.scroller, \"touchcancel\", finishTouch);\n\n // Sync scrolling between fake scrollbars and real scrollable\n // area, ensure viewport is updated when scrolling.\n on(d.scroller, \"scroll\", function () {\n if (d.scroller.clientHeight) {\n updateScrollTop(cm, d.scroller.scrollTop);\n setScrollLeft(cm, d.scroller.scrollLeft, true);\n signal(cm, \"scroll\", cm);\n }\n });\n\n // Listen to wheel events in order to try and update the viewport on time.\n on(d.scroller, \"mousewheel\", function (e) { return onScrollWheel(cm, e); });\n on(d.scroller, \"DOMMouseScroll\", function (e) { return onScrollWheel(cm, e); });\n\n // Prevent wrapper from ever scrolling\n on(d.wrapper, \"scroll\", function () { return d.wrapper.scrollTop = d.wrapper.scrollLeft = 0; });\n\n d.dragFunctions = {\n enter: function (e) {if (!signalDOMEvent(cm, e)) { e_stop(e); }},\n over: function (e) {if (!signalDOMEvent(cm, e)) { onDragOver(cm, e); e_stop(e); }},\n start: function (e) { return onDragStart(cm, e); },\n drop: operation(cm, onDrop),\n leave: function (e) {if (!signalDOMEvent(cm, e)) { clearDragCursor(cm); }}\n };\n\n var inp = d.input.getField();\n on(inp, \"keyup\", function (e) { return onKeyUp.call(cm, e); });\n on(inp, \"keydown\", operation(cm, onKeyDown));\n on(inp, \"keypress\", operation(cm, onKeyPress));\n on(inp, \"focus\", function (e) { return onFocus(cm, e); });\n on(inp, \"blur\", function (e) { return onBlur(cm, e); });\n }\n\n var initHooks = [];\n CodeMirror.defineInitHook = function (f) { return initHooks.push(f); };\n\n // Indent the given line. The how parameter can be \"smart\",\n // \"add\"/null, \"subtract\", or \"prev\". When aggressive is false\n // (typically set to true for forced single-line indents), empty\n // lines are not indented, and places where the mode returns Pass\n // are left alone.\n function indentLine(cm, n, how, aggressive) {\n var doc = cm.doc, state;\n if (how == null) { how = \"add\"; }\n if (how == \"smart\") {\n // Fall back to \"prev\" when the mode doesn't have an indentation\n // method.\n if (!doc.mode.indent) { how = \"prev\"; }\n else { state = getContextBefore(cm, n).state; }\n }\n\n var tabSize = cm.options.tabSize;\n var line = getLine(doc, n), curSpace = countColumn(line.text, null, tabSize);\n if (line.stateAfter) { line.stateAfter = null; }\n var curSpaceString = line.text.match(/^\\s*/)[0], indentation;\n if (!aggressive && !/\\S/.test(line.text)) {\n indentation = 0;\n how = \"not\";\n } else if (how == \"smart\") {\n indentation = doc.mode.indent(state, line.text.slice(curSpaceString.length), line.text);\n if (indentation == Pass || indentation > 150) {\n if (!aggressive) { return }\n how = \"prev\";\n }\n }\n if (how == \"prev\") {\n if (n > doc.first) { indentation = countColumn(getLine(doc, n-1).text, null, tabSize); }\n else { indentation = 0; }\n } else if (how == \"add\") {\n indentation = curSpace + cm.options.indentUnit;\n } else if (how == \"subtract\") {\n indentation = curSpace - cm.options.indentUnit;\n } else if (typeof how == \"number\") {\n indentation = curSpace + how;\n }\n indentation = Math.max(0, indentation);\n\n var indentString = \"\", pos = 0;\n if (cm.options.indentWithTabs)\n { for (var i = Math.floor(indentation / tabSize); i; --i) {pos += tabSize; indentString += \"\\t\";} }\n if (pos < indentation) { indentString += spaceStr(indentation - pos); }\n\n if (indentString != curSpaceString) {\n replaceRange(doc, indentString, Pos(n, 0), Pos(n, curSpaceString.length), \"+input\");\n line.stateAfter = null;\n return true\n } else {\n // Ensure that, if the cursor was in the whitespace at the start\n // of the line, it is moved to the end of that space.\n for (var i$1 = 0; i$1 < doc.sel.ranges.length; i$1++) {\n var range = doc.sel.ranges[i$1];\n if (range.head.line == n && range.head.ch < curSpaceString.length) {\n var pos$1 = Pos(n, curSpaceString.length);\n replaceOneSelection(doc, i$1, new Range(pos$1, pos$1));\n break\n }\n }\n }\n }\n\n // This will be set to a {lineWise: bool, text: [string]} object, so\n // that, when pasting, we know what kind of selections the copied\n // text was made out of.\n var lastCopied = null;\n\n function setLastCopied(newLastCopied) {\n lastCopied = newLastCopied;\n }\n\n function applyTextInput(cm, inserted, deleted, sel, origin) {\n var doc = cm.doc;\n cm.display.shift = false;\n if (!sel) { sel = doc.sel; }\n\n var recent = +new Date - 200;\n var paste = origin == \"paste\" || cm.state.pasteIncoming > recent;\n var textLines = splitLinesAuto(inserted), multiPaste = null;\n // When pasting N lines into N selections, insert one line per selection\n if (paste && sel.ranges.length > 1) {\n if (lastCopied && lastCopied.text.join(\"\\n\") == inserted) {\n if (sel.ranges.length % lastCopied.text.length == 0) {\n multiPaste = [];\n for (var i = 0; i < lastCopied.text.length; i++)\n { multiPaste.push(doc.splitLines(lastCopied.text[i])); }\n }\n } else if (textLines.length == sel.ranges.length && cm.options.pasteLinesPerSelection) {\n multiPaste = map(textLines, function (l) { return [l]; });\n }\n }\n\n var updateInput = cm.curOp.updateInput;\n // Normal behavior is to insert the new text into every selection\n for (var i$1 = sel.ranges.length - 1; i$1 >= 0; i$1--) {\n var range = sel.ranges[i$1];\n var from = range.from(), to = range.to();\n if (range.empty()) {\n if (deleted && deleted > 0) // Handle deletion\n { from = Pos(from.line, from.ch - deleted); }\n else if (cm.state.overwrite && !paste) // Handle overwrite\n { to = Pos(to.line, Math.min(getLine(doc, to.line).text.length, to.ch + lst(textLines).length)); }\n else if (paste && lastCopied && lastCopied.lineWise && lastCopied.text.join(\"\\n\") == textLines.join(\"\\n\"))\n { from = to = Pos(from.line, 0); }\n }\n var changeEvent = {from: from, to: to, text: multiPaste ? multiPaste[i$1 % multiPaste.length] : textLines,\n origin: origin || (paste ? \"paste\" : cm.state.cutIncoming > recent ? \"cut\" : \"+input\")};\n makeChange(cm.doc, changeEvent);\n signalLater(cm, \"inputRead\", cm, changeEvent);\n }\n if (inserted && !paste)\n { triggerElectric(cm, inserted); }\n\n ensureCursorVisible(cm);\n if (cm.curOp.updateInput < 2) { cm.curOp.updateInput = updateInput; }\n cm.curOp.typing = true;\n cm.state.pasteIncoming = cm.state.cutIncoming = -1;\n }\n\n function handlePaste(e, cm) {\n var pasted = e.clipboardData && e.clipboardData.getData(\"Text\");\n if (pasted) {\n e.preventDefault();\n if (!cm.isReadOnly() && !cm.options.disableInput)\n { runInOp(cm, function () { return applyTextInput(cm, pasted, 0, null, \"paste\"); }); }\n return true\n }\n }\n\n function triggerElectric(cm, inserted) {\n // When an 'electric' character is inserted, immediately trigger a reindent\n if (!cm.options.electricChars || !cm.options.smartIndent) { return }\n var sel = cm.doc.sel;\n\n for (var i = sel.ranges.length - 1; i >= 0; i--) {\n var range = sel.ranges[i];\n if (range.head.ch > 100 || (i && sel.ranges[i - 1].head.line == range.head.line)) { continue }\n var mode = cm.getModeAt(range.head);\n var indented = false;\n if (mode.electricChars) {\n for (var j = 0; j < mode.electricChars.length; j++)\n { if (inserted.indexOf(mode.electricChars.charAt(j)) > -1) {\n indented = indentLine(cm, range.head.line, \"smart\");\n break\n } }\n } else if (mode.electricInput) {\n if (mode.electricInput.test(getLine(cm.doc, range.head.line).text.slice(0, range.head.ch)))\n { indented = indentLine(cm, range.head.line, \"smart\"); }\n }\n if (indented) { signalLater(cm, \"electricInput\", cm, range.head.line); }\n }\n }\n\n function copyableRanges(cm) {\n var text = [], ranges = [];\n for (var i = 0; i < cm.doc.sel.ranges.length; i++) {\n var line = cm.doc.sel.ranges[i].head.line;\n var lineRange = {anchor: Pos(line, 0), head: Pos(line + 1, 0)};\n ranges.push(lineRange);\n text.push(cm.getRange(lineRange.anchor, lineRange.head));\n }\n return {text: text, ranges: ranges}\n }\n\n function disableBrowserMagic(field, spellcheck, autocorrect, autocapitalize) {\n field.setAttribute(\"autocorrect\", autocorrect ? \"\" : \"off\");\n field.setAttribute(\"autocapitalize\", autocapitalize ? \"\" : \"off\");\n field.setAttribute(\"spellcheck\", !!spellcheck);\n }\n\n function hiddenTextarea() {\n var te = elt(\"textarea\", null, null, \"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none\");\n var div = elt(\"div\", [te], null, \"overflow: hidden; position: relative; width: 3px; height: 0px;\");\n // The textarea is kept positioned near the cursor to prevent the\n // fact that it'll be scrolled into view on input from scrolling\n // our fake cursor out of view. On webkit, when wrap=off, paste is\n // very slow. So make the area wide instead.\n if (webkit) { te.style.width = \"1000px\"; }\n else { te.setAttribute(\"wrap\", \"off\"); }\n // If border: 0; -- iOS fails to open keyboard (issue #1287)\n if (ios) { te.style.border = \"1px solid black\"; }\n disableBrowserMagic(te);\n return div\n }\n\n // The publicly visible API. Note that methodOp(f) means\n // 'wrap f in an operation, performed on its `this` parameter'.\n\n // This is not the complete set of editor methods. Most of the\n // methods defined on the Doc type are also injected into\n // CodeMirror.prototype, for backwards compatibility and\n // convenience.\n\n function addEditorMethods(CodeMirror) {\n var optionHandlers = CodeMirror.optionHandlers;\n\n var helpers = CodeMirror.helpers = {};\n\n CodeMirror.prototype = {\n constructor: CodeMirror,\n focus: function(){window.focus(); this.display.input.focus();},\n\n setOption: function(option, value) {\n var options = this.options, old = options[option];\n if (options[option] == value && option != \"mode\") { return }\n options[option] = value;\n if (optionHandlers.hasOwnProperty(option))\n { operation(this, optionHandlers[option])(this, value, old); }\n signal(this, \"optionChange\", this, option);\n },\n\n getOption: function(option) {return this.options[option]},\n getDoc: function() {return this.doc},\n\n addKeyMap: function(map, bottom) {\n this.state.keyMaps[bottom ? \"push\" : \"unshift\"](getKeyMap(map));\n },\n removeKeyMap: function(map) {\n var maps = this.state.keyMaps;\n for (var i = 0; i < maps.length; ++i)\n { if (maps[i] == map || maps[i].name == map) {\n maps.splice(i, 1);\n return true\n } }\n },\n\n addOverlay: methodOp(function(spec, options) {\n var mode = spec.token ? spec : CodeMirror.getMode(this.options, spec);\n if (mode.startState) { throw new Error(\"Overlays may not be stateful.\") }\n insertSorted(this.state.overlays,\n {mode: mode, modeSpec: spec, opaque: options && options.opaque,\n priority: (options && options.priority) || 0},\n function (overlay) { return overlay.priority; });\n this.state.modeGen++;\n regChange(this);\n }),\n removeOverlay: methodOp(function(spec) {\n var overlays = this.state.overlays;\n for (var i = 0; i < overlays.length; ++i) {\n var cur = overlays[i].modeSpec;\n if (cur == spec || typeof spec == \"string\" && cur.name == spec) {\n overlays.splice(i, 1);\n this.state.modeGen++;\n regChange(this);\n return\n }\n }\n }),\n\n indentLine: methodOp(function(n, dir, aggressive) {\n if (typeof dir != \"string\" && typeof dir != \"number\") {\n if (dir == null) { dir = this.options.smartIndent ? \"smart\" : \"prev\"; }\n else { dir = dir ? \"add\" : \"subtract\"; }\n }\n if (isLine(this.doc, n)) { indentLine(this, n, dir, aggressive); }\n }),\n indentSelection: methodOp(function(how) {\n var ranges = this.doc.sel.ranges, end = -1;\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n if (!range.empty()) {\n var from = range.from(), to = range.to();\n var start = Math.max(end, from.line);\n end = Math.min(this.lastLine(), to.line - (to.ch ? 0 : 1)) + 1;\n for (var j = start; j < end; ++j)\n { indentLine(this, j, how); }\n var newRanges = this.doc.sel.ranges;\n if (from.ch == 0 && ranges.length == newRanges.length && newRanges[i].from().ch > 0)\n { replaceOneSelection(this.doc, i, new Range(from, newRanges[i].to()), sel_dontScroll); }\n } else if (range.head.line > end) {\n indentLine(this, range.head.line, how, true);\n end = range.head.line;\n if (i == this.doc.sel.primIndex) { ensureCursorVisible(this); }\n }\n }\n }),\n\n // Fetch the parser token for a given character. Useful for hacks\n // that want to inspect the mode state (say, for completion).\n getTokenAt: function(pos, precise) {\n return takeToken(this, pos, precise)\n },\n\n getLineTokens: function(line, precise) {\n return takeToken(this, Pos(line), precise, true)\n },\n\n getTokenTypeAt: function(pos) {\n pos = clipPos(this.doc, pos);\n var styles = getLineStyles(this, getLine(this.doc, pos.line));\n var before = 0, after = (styles.length - 1) / 2, ch = pos.ch;\n var type;\n if (ch == 0) { type = styles[2]; }\n else { for (;;) {\n var mid = (before + after) >> 1;\n if ((mid ? styles[mid * 2 - 1] : 0) >= ch) { after = mid; }\n else if (styles[mid * 2 + 1] < ch) { before = mid + 1; }\n else { type = styles[mid * 2 + 2]; break }\n } }\n var cut = type ? type.indexOf(\"overlay \") : -1;\n return cut < 0 ? type : cut == 0 ? null : type.slice(0, cut - 1)\n },\n\n getModeAt: function(pos) {\n var mode = this.doc.mode;\n if (!mode.innerMode) { return mode }\n return CodeMirror.innerMode(mode, this.getTokenAt(pos).state).mode\n },\n\n getHelper: function(pos, type) {\n return this.getHelpers(pos, type)[0]\n },\n\n getHelpers: function(pos, type) {\n var found = [];\n if (!helpers.hasOwnProperty(type)) { return found }\n var help = helpers[type], mode = this.getModeAt(pos);\n if (typeof mode[type] == \"string\") {\n if (help[mode[type]]) { found.push(help[mode[type]]); }\n } else if (mode[type]) {\n for (var i = 0; i < mode[type].length; i++) {\n var val = help[mode[type][i]];\n if (val) { found.push(val); }\n }\n } else if (mode.helperType && help[mode.helperType]) {\n found.push(help[mode.helperType]);\n } else if (help[mode.name]) {\n found.push(help[mode.name]);\n }\n for (var i$1 = 0; i$1 < help._global.length; i$1++) {\n var cur = help._global[i$1];\n if (cur.pred(mode, this) && indexOf(found, cur.val) == -1)\n { found.push(cur.val); }\n }\n return found\n },\n\n getStateAfter: function(line, precise) {\n var doc = this.doc;\n line = clipLine(doc, line == null ? doc.first + doc.size - 1: line);\n return getContextBefore(this, line + 1, precise).state\n },\n\n cursorCoords: function(start, mode) {\n var pos, range = this.doc.sel.primary();\n if (start == null) { pos = range.head; }\n else if (typeof start == \"object\") { pos = clipPos(this.doc, start); }\n else { pos = start ? range.from() : range.to(); }\n return cursorCoords(this, pos, mode || \"page\")\n },\n\n charCoords: function(pos, mode) {\n return charCoords(this, clipPos(this.doc, pos), mode || \"page\")\n },\n\n coordsChar: function(coords, mode) {\n coords = fromCoordSystem(this, coords, mode || \"page\");\n return coordsChar(this, coords.left, coords.top)\n },\n\n lineAtHeight: function(height, mode) {\n height = fromCoordSystem(this, {top: height, left: 0}, mode || \"page\").top;\n return lineAtHeight(this.doc, height + this.display.viewOffset)\n },\n heightAtLine: function(line, mode, includeWidgets) {\n var end = false, lineObj;\n if (typeof line == \"number\") {\n var last = this.doc.first + this.doc.size - 1;\n if (line < this.doc.first) { line = this.doc.first; }\n else if (line > last) { line = last; end = true; }\n lineObj = getLine(this.doc, line);\n } else {\n lineObj = line;\n }\n return intoCoordSystem(this, lineObj, {top: 0, left: 0}, mode || \"page\", includeWidgets || end).top +\n (end ? this.doc.height - heightAtLine(lineObj) : 0)\n },\n\n defaultTextHeight: function() { return textHeight(this.display) },\n defaultCharWidth: function() { return charWidth(this.display) },\n\n getViewport: function() { return {from: this.display.viewFrom, to: this.display.viewTo}},\n\n addWidget: function(pos, node, scroll, vert, horiz) {\n var display = this.display;\n pos = cursorCoords(this, clipPos(this.doc, pos));\n var top = pos.bottom, left = pos.left;\n node.style.position = \"absolute\";\n node.setAttribute(\"cm-ignore-events\", \"true\");\n this.display.input.setUneditable(node);\n display.sizer.appendChild(node);\n if (vert == \"over\") {\n top = pos.top;\n } else if (vert == \"above\" || vert == \"near\") {\n var vspace = Math.max(display.wrapper.clientHeight, this.doc.height),\n hspace = Math.max(display.sizer.clientWidth, display.lineSpace.clientWidth);\n // Default to positioning above (if specified and possible); otherwise default to positioning below\n if ((vert == 'above' || pos.bottom + node.offsetHeight > vspace) && pos.top > node.offsetHeight)\n { top = pos.top - node.offsetHeight; }\n else if (pos.bottom + node.offsetHeight <= vspace)\n { top = pos.bottom; }\n if (left + node.offsetWidth > hspace)\n { left = hspace - node.offsetWidth; }\n }\n node.style.top = top + \"px\";\n node.style.left = node.style.right = \"\";\n if (horiz == \"right\") {\n left = display.sizer.clientWidth - node.offsetWidth;\n node.style.right = \"0px\";\n } else {\n if (horiz == \"left\") { left = 0; }\n else if (horiz == \"middle\") { left = (display.sizer.clientWidth - node.offsetWidth) / 2; }\n node.style.left = left + \"px\";\n }\n if (scroll)\n { scrollIntoView(this, {left: left, top: top, right: left + node.offsetWidth, bottom: top + node.offsetHeight}); }\n },\n\n triggerOnKeyDown: methodOp(onKeyDown),\n triggerOnKeyPress: methodOp(onKeyPress),\n triggerOnKeyUp: onKeyUp,\n triggerOnMouseDown: methodOp(onMouseDown),\n\n execCommand: function(cmd) {\n if (commands.hasOwnProperty(cmd))\n { return commands[cmd].call(null, this) }\n },\n\n triggerElectric: methodOp(function(text) { triggerElectric(this, text); }),\n\n findPosH: function(from, amount, unit, visually) {\n var dir = 1;\n if (amount < 0) { dir = -1; amount = -amount; }\n var cur = clipPos(this.doc, from);\n for (var i = 0; i < amount; ++i) {\n cur = findPosH(this.doc, cur, dir, unit, visually);\n if (cur.hitSide) { break }\n }\n return cur\n },\n\n moveH: methodOp(function(dir, unit) {\n var this$1 = this;\n\n this.extendSelectionsBy(function (range) {\n if (this$1.display.shift || this$1.doc.extend || range.empty())\n { return findPosH(this$1.doc, range.head, dir, unit, this$1.options.rtlMoveVisually) }\n else\n { return dir < 0 ? range.from() : range.to() }\n }, sel_move);\n }),\n\n deleteH: methodOp(function(dir, unit) {\n var sel = this.doc.sel, doc = this.doc;\n if (sel.somethingSelected())\n { doc.replaceSelection(\"\", null, \"+delete\"); }\n else\n { deleteNearSelection(this, function (range) {\n var other = findPosH(doc, range.head, dir, unit, false);\n return dir < 0 ? {from: other, to: range.head} : {from: range.head, to: other}\n }); }\n }),\n\n findPosV: function(from, amount, unit, goalColumn) {\n var dir = 1, x = goalColumn;\n if (amount < 0) { dir = -1; amount = -amount; }\n var cur = clipPos(this.doc, from);\n for (var i = 0; i < amount; ++i) {\n var coords = cursorCoords(this, cur, \"div\");\n if (x == null) { x = coords.left; }\n else { coords.left = x; }\n cur = findPosV(this, coords, dir, unit);\n if (cur.hitSide) { break }\n }\n return cur\n },\n\n moveV: methodOp(function(dir, unit) {\n var this$1 = this;\n\n var doc = this.doc, goals = [];\n var collapse = !this.display.shift && !doc.extend && doc.sel.somethingSelected();\n doc.extendSelectionsBy(function (range) {\n if (collapse)\n { return dir < 0 ? range.from() : range.to() }\n var headPos = cursorCoords(this$1, range.head, \"div\");\n if (range.goalColumn != null) { headPos.left = range.goalColumn; }\n goals.push(headPos.left);\n var pos = findPosV(this$1, headPos, dir, unit);\n if (unit == \"page\" && range == doc.sel.primary())\n { addToScrollTop(this$1, charCoords(this$1, pos, \"div\").top - headPos.top); }\n return pos\n }, sel_move);\n if (goals.length) { for (var i = 0; i < doc.sel.ranges.length; i++)\n { doc.sel.ranges[i].goalColumn = goals[i]; } }\n }),\n\n // Find the word at the given position (as returned by coordsChar).\n findWordAt: function(pos) {\n var doc = this.doc, line = getLine(doc, pos.line).text;\n var start = pos.ch, end = pos.ch;\n if (line) {\n var helper = this.getHelper(pos, \"wordChars\");\n if ((pos.sticky == \"before\" || end == line.length) && start) { --start; } else { ++end; }\n var startChar = line.charAt(start);\n var check = isWordChar(startChar, helper)\n ? function (ch) { return isWordChar(ch, helper); }\n : /\\s/.test(startChar) ? function (ch) { return /\\s/.test(ch); }\n : function (ch) { return (!/\\s/.test(ch) && !isWordChar(ch)); };\n while (start > 0 && check(line.charAt(start - 1))) { --start; }\n while (end < line.length && check(line.charAt(end))) { ++end; }\n }\n return new Range(Pos(pos.line, start), Pos(pos.line, end))\n },\n\n toggleOverwrite: function(value) {\n if (value != null && value == this.state.overwrite) { return }\n if (this.state.overwrite = !this.state.overwrite)\n { addClass(this.display.cursorDiv, \"CodeMirror-overwrite\"); }\n else\n { rmClass(this.display.cursorDiv, \"CodeMirror-overwrite\"); }\n\n signal(this, \"overwriteToggle\", this, this.state.overwrite);\n },\n hasFocus: function() { return this.display.input.getField() == activeElt() },\n isReadOnly: function() { return !!(this.options.readOnly || this.doc.cantEdit) },\n\n scrollTo: methodOp(function (x, y) { scrollToCoords(this, x, y); }),\n getScrollInfo: function() {\n var scroller = this.display.scroller;\n return {left: scroller.scrollLeft, top: scroller.scrollTop,\n height: scroller.scrollHeight - scrollGap(this) - this.display.barHeight,\n width: scroller.scrollWidth - scrollGap(this) - this.display.barWidth,\n clientHeight: displayHeight(this), clientWidth: displayWidth(this)}\n },\n\n scrollIntoView: methodOp(function(range, margin) {\n if (range == null) {\n range = {from: this.doc.sel.primary().head, to: null};\n if (margin == null) { margin = this.options.cursorScrollMargin; }\n } else if (typeof range == \"number\") {\n range = {from: Pos(range, 0), to: null};\n } else if (range.from == null) {\n range = {from: range, to: null};\n }\n if (!range.to) { range.to = range.from; }\n range.margin = margin || 0;\n\n if (range.from.line != null) {\n scrollToRange(this, range);\n } else {\n scrollToCoordsRange(this, range.from, range.to, range.margin);\n }\n }),\n\n setSize: methodOp(function(width, height) {\n var this$1 = this;\n\n var interpret = function (val) { return typeof val == \"number\" || /^\\d+$/.test(String(val)) ? val + \"px\" : val; };\n if (width != null) { this.display.wrapper.style.width = interpret(width); }\n if (height != null) { this.display.wrapper.style.height = interpret(height); }\n if (this.options.lineWrapping) { clearLineMeasurementCache(this); }\n var lineNo = this.display.viewFrom;\n this.doc.iter(lineNo, this.display.viewTo, function (line) {\n if (line.widgets) { for (var i = 0; i < line.widgets.length; i++)\n { if (line.widgets[i].noHScroll) { regLineChange(this$1, lineNo, \"widget\"); break } } }\n ++lineNo;\n });\n this.curOp.forceUpdate = true;\n signal(this, \"refresh\", this);\n }),\n\n operation: function(f){return runInOp(this, f)},\n startOperation: function(){return startOperation(this)},\n endOperation: function(){return endOperation(this)},\n\n refresh: methodOp(function() {\n var oldHeight = this.display.cachedTextHeight;\n regChange(this);\n this.curOp.forceUpdate = true;\n clearCaches(this);\n scrollToCoords(this, this.doc.scrollLeft, this.doc.scrollTop);\n updateGutterSpace(this.display);\n if (oldHeight == null || Math.abs(oldHeight - textHeight(this.display)) > .5 || this.options.lineWrapping)\n { estimateLineHeights(this); }\n signal(this, \"refresh\", this);\n }),\n\n swapDoc: methodOp(function(doc) {\n var old = this.doc;\n old.cm = null;\n // Cancel the current text selection if any (#5821)\n if (this.state.selectingText) { this.state.selectingText(); }\n attachDoc(this, doc);\n clearCaches(this);\n this.display.input.reset();\n scrollToCoords(this, doc.scrollLeft, doc.scrollTop);\n this.curOp.forceScroll = true;\n signalLater(this, \"swapDoc\", this, old);\n return old\n }),\n\n phrase: function(phraseText) {\n var phrases = this.options.phrases;\n return phrases && Object.prototype.hasOwnProperty.call(phrases, phraseText) ? phrases[phraseText] : phraseText\n },\n\n getInputField: function(){return this.display.input.getField()},\n getWrapperElement: function(){return this.display.wrapper},\n getScrollerElement: function(){return this.display.scroller},\n getGutterElement: function(){return this.display.gutters}\n };\n eventMixin(CodeMirror);\n\n CodeMirror.registerHelper = function(type, name, value) {\n if (!helpers.hasOwnProperty(type)) { helpers[type] = CodeMirror[type] = {_global: []}; }\n helpers[type][name] = value;\n };\n CodeMirror.registerGlobalHelper = function(type, name, predicate, value) {\n CodeMirror.registerHelper(type, name, value);\n helpers[type]._global.push({pred: predicate, val: value});\n };\n }\n\n // Used for horizontal relative motion. Dir is -1 or 1 (left or\n // right), unit can be \"codepoint\", \"char\", \"column\" (like char, but\n // doesn't cross line boundaries), \"word\" (across next word), or\n // \"group\" (to the start of next group of word or\n // non-word-non-whitespace chars). The visually param controls\n // whether, in right-to-left text, direction 1 means to move towards\n // the next index in the string, or towards the character to the right\n // of the current position. The resulting position will have a\n // hitSide=true property if it reached the end of the document.\n function findPosH(doc, pos, dir, unit, visually) {\n var oldPos = pos;\n var origDir = dir;\n var lineObj = getLine(doc, pos.line);\n var lineDir = visually && doc.direction == \"rtl\" ? -dir : dir;\n function findNextLine() {\n var l = pos.line + lineDir;\n if (l < doc.first || l >= doc.first + doc.size) { return false }\n pos = new Pos(l, pos.ch, pos.sticky);\n return lineObj = getLine(doc, l)\n }\n function moveOnce(boundToLine) {\n var next;\n if (unit == \"codepoint\") {\n var ch = lineObj.text.charCodeAt(pos.ch + (dir > 0 ? 0 : -1));\n if (isNaN(ch)) {\n next = null;\n } else {\n var astral = dir > 0 ? ch >= 0xD800 && ch < 0xDC00 : ch >= 0xDC00 && ch < 0xDFFF;\n next = new Pos(pos.line, Math.max(0, Math.min(lineObj.text.length, pos.ch + dir * (astral ? 2 : 1))), -dir);\n }\n } else if (visually) {\n next = moveVisually(doc.cm, lineObj, pos, dir);\n } else {\n next = moveLogically(lineObj, pos, dir);\n }\n if (next == null) {\n if (!boundToLine && findNextLine())\n { pos = endOfLine(visually, doc.cm, lineObj, pos.line, lineDir); }\n else\n { return false }\n } else {\n pos = next;\n }\n return true\n }\n\n if (unit == \"char\" || unit == \"codepoint\") {\n moveOnce();\n } else if (unit == \"column\") {\n moveOnce(true);\n } else if (unit == \"word\" || unit == \"group\") {\n var sawType = null, group = unit == \"group\";\n var helper = doc.cm && doc.cm.getHelper(pos, \"wordChars\");\n for (var first = true;; first = false) {\n if (dir < 0 && !moveOnce(!first)) { break }\n var cur = lineObj.text.charAt(pos.ch) || \"\\n\";\n var type = isWordChar(cur, helper) ? \"w\"\n : group && cur == \"\\n\" ? \"n\"\n : !group || /\\s/.test(cur) ? null\n : \"p\";\n if (group && !first && !type) { type = \"s\"; }\n if (sawType && sawType != type) {\n if (dir < 0) {dir = 1; moveOnce(); pos.sticky = \"after\";}\n break\n }\n\n if (type) { sawType = type; }\n if (dir > 0 && !moveOnce(!first)) { break }\n }\n }\n var result = skipAtomic(doc, pos, oldPos, origDir, true);\n if (equalCursorPos(oldPos, result)) { result.hitSide = true; }\n return result\n }\n\n // For relative vertical movement. Dir may be -1 or 1. Unit can be\n // \"page\" or \"line\". The resulting position will have a hitSide=true\n // property if it reached the end of the document.\n function findPosV(cm, pos, dir, unit) {\n var doc = cm.doc, x = pos.left, y;\n if (unit == \"page\") {\n var pageSize = Math.min(cm.display.wrapper.clientHeight, window.innerHeight || document.documentElement.clientHeight);\n var moveAmount = Math.max(pageSize - .5 * textHeight(cm.display), 3);\n y = (dir > 0 ? pos.bottom : pos.top) + dir * moveAmount;\n\n } else if (unit == \"line\") {\n y = dir > 0 ? pos.bottom + 3 : pos.top - 3;\n }\n var target;\n for (;;) {\n target = coordsChar(cm, x, y);\n if (!target.outside) { break }\n if (dir < 0 ? y <= 0 : y >= doc.height) { target.hitSide = true; break }\n y += dir * 5;\n }\n return target\n }\n\n // CONTENTEDITABLE INPUT STYLE\n\n var ContentEditableInput = function(cm) {\n this.cm = cm;\n this.lastAnchorNode = this.lastAnchorOffset = this.lastFocusNode = this.lastFocusOffset = null;\n this.polling = new Delayed();\n this.composing = null;\n this.gracePeriod = false;\n this.readDOMTimeout = null;\n };\n\n ContentEditableInput.prototype.init = function (display) {\n var this$1 = this;\n\n var input = this, cm = input.cm;\n var div = input.div = display.lineDiv;\n div.contentEditable = true;\n disableBrowserMagic(div, cm.options.spellcheck, cm.options.autocorrect, cm.options.autocapitalize);\n\n function belongsToInput(e) {\n for (var t = e.target; t; t = t.parentNode) {\n if (t == div) { return true }\n if (/\\bCodeMirror-(?:line)?widget\\b/.test(t.className)) { break }\n }\n return false\n }\n\n on(div, \"paste\", function (e) {\n if (!belongsToInput(e) || signalDOMEvent(cm, e) || handlePaste(e, cm)) { return }\n // IE doesn't fire input events, so we schedule a read for the pasted content in this way\n if (ie_version <= 11) { setTimeout(operation(cm, function () { return this$1.updateFromDOM(); }), 20); }\n });\n\n on(div, \"compositionstart\", function (e) {\n this$1.composing = {data: e.data, done: false};\n });\n on(div, \"compositionupdate\", function (e) {\n if (!this$1.composing) { this$1.composing = {data: e.data, done: false}; }\n });\n on(div, \"compositionend\", function (e) {\n if (this$1.composing) {\n if (e.data != this$1.composing.data) { this$1.readFromDOMSoon(); }\n this$1.composing.done = true;\n }\n });\n\n on(div, \"touchstart\", function () { return input.forceCompositionEnd(); });\n\n on(div, \"input\", function () {\n if (!this$1.composing) { this$1.readFromDOMSoon(); }\n });\n\n function onCopyCut(e) {\n if (!belongsToInput(e) || signalDOMEvent(cm, e)) { return }\n if (cm.somethingSelected()) {\n setLastCopied({lineWise: false, text: cm.getSelections()});\n if (e.type == \"cut\") { cm.replaceSelection(\"\", null, \"cut\"); }\n } else if (!cm.options.lineWiseCopyCut) {\n return\n } else {\n var ranges = copyableRanges(cm);\n setLastCopied({lineWise: true, text: ranges.text});\n if (e.type == \"cut\") {\n cm.operation(function () {\n cm.setSelections(ranges.ranges, 0, sel_dontScroll);\n cm.replaceSelection(\"\", null, \"cut\");\n });\n }\n }\n if (e.clipboardData) {\n e.clipboardData.clearData();\n var content = lastCopied.text.join(\"\\n\");\n // iOS exposes the clipboard API, but seems to discard content inserted into it\n e.clipboardData.setData(\"Text\", content);\n if (e.clipboardData.getData(\"Text\") == content) {\n e.preventDefault();\n return\n }\n }\n // Old-fashioned briefly-focus-a-textarea hack\n var kludge = hiddenTextarea(), te = kludge.firstChild;\n cm.display.lineSpace.insertBefore(kludge, cm.display.lineSpace.firstChild);\n te.value = lastCopied.text.join(\"\\n\");\n var hadFocus = activeElt();\n selectInput(te);\n setTimeout(function () {\n cm.display.lineSpace.removeChild(kludge);\n hadFocus.focus();\n if (hadFocus == div) { input.showPrimarySelection(); }\n }, 50);\n }\n on(div, \"copy\", onCopyCut);\n on(div, \"cut\", onCopyCut);\n };\n\n ContentEditableInput.prototype.screenReaderLabelChanged = function (label) {\n // Label for screenreaders, accessibility\n if(label) {\n this.div.setAttribute('aria-label', label);\n } else {\n this.div.removeAttribute('aria-label');\n }\n };\n\n ContentEditableInput.prototype.prepareSelection = function () {\n var result = prepareSelection(this.cm, false);\n result.focus = activeElt() == this.div;\n return result\n };\n\n ContentEditableInput.prototype.showSelection = function (info, takeFocus) {\n if (!info || !this.cm.display.view.length) { return }\n if (info.focus || takeFocus) { this.showPrimarySelection(); }\n this.showMultipleSelections(info);\n };\n\n ContentEditableInput.prototype.getSelection = function () {\n return this.cm.display.wrapper.ownerDocument.getSelection()\n };\n\n ContentEditableInput.prototype.showPrimarySelection = function () {\n var sel = this.getSelection(), cm = this.cm, prim = cm.doc.sel.primary();\n var from = prim.from(), to = prim.to();\n\n if (cm.display.viewTo == cm.display.viewFrom || from.line >= cm.display.viewTo || to.line < cm.display.viewFrom) {\n sel.removeAllRanges();\n return\n }\n\n var curAnchor = domToPos(cm, sel.anchorNode, sel.anchorOffset);\n var curFocus = domToPos(cm, sel.focusNode, sel.focusOffset);\n if (curAnchor && !curAnchor.bad && curFocus && !curFocus.bad &&\n cmp(minPos(curAnchor, curFocus), from) == 0 &&\n cmp(maxPos(curAnchor, curFocus), to) == 0)\n { return }\n\n var view = cm.display.view;\n var start = (from.line >= cm.display.viewFrom && posToDOM(cm, from)) ||\n {node: view[0].measure.map[2], offset: 0};\n var end = to.line < cm.display.viewTo && posToDOM(cm, to);\n if (!end) {\n var measure = view[view.length - 1].measure;\n var map = measure.maps ? measure.maps[measure.maps.length - 1] : measure.map;\n end = {node: map[map.length - 1], offset: map[map.length - 2] - map[map.length - 3]};\n }\n\n if (!start || !end) {\n sel.removeAllRanges();\n return\n }\n\n var old = sel.rangeCount && sel.getRangeAt(0), rng;\n try { rng = range(start.node, start.offset, end.offset, end.node); }\n catch(e) {} // Our model of the DOM might be outdated, in which case the range we try to set can be impossible\n if (rng) {\n if (!gecko && cm.state.focused) {\n sel.collapse(start.node, start.offset);\n if (!rng.collapsed) {\n sel.removeAllRanges();\n sel.addRange(rng);\n }\n } else {\n sel.removeAllRanges();\n sel.addRange(rng);\n }\n if (old && sel.anchorNode == null) { sel.addRange(old); }\n else if (gecko) { this.startGracePeriod(); }\n }\n this.rememberSelection();\n };\n\n ContentEditableInput.prototype.startGracePeriod = function () {\n var this$1 = this;\n\n clearTimeout(this.gracePeriod);\n this.gracePeriod = setTimeout(function () {\n this$1.gracePeriod = false;\n if (this$1.selectionChanged())\n { this$1.cm.operation(function () { return this$1.cm.curOp.selectionChanged = true; }); }\n }, 20);\n };\n\n ContentEditableInput.prototype.showMultipleSelections = function (info) {\n removeChildrenAndAdd(this.cm.display.cursorDiv, info.cursors);\n removeChildrenAndAdd(this.cm.display.selectionDiv, info.selection);\n };\n\n ContentEditableInput.prototype.rememberSelection = function () {\n var sel = this.getSelection();\n this.lastAnchorNode = sel.anchorNode; this.lastAnchorOffset = sel.anchorOffset;\n this.lastFocusNode = sel.focusNode; this.lastFocusOffset = sel.focusOffset;\n };\n\n ContentEditableInput.prototype.selectionInEditor = function () {\n var sel = this.getSelection();\n if (!sel.rangeCount) { return false }\n var node = sel.getRangeAt(0).commonAncestorContainer;\n return contains(this.div, node)\n };\n\n ContentEditableInput.prototype.focus = function () {\n if (this.cm.options.readOnly != \"nocursor\") {\n if (!this.selectionInEditor() || activeElt() != this.div)\n { this.showSelection(this.prepareSelection(), true); }\n this.div.focus();\n }\n };\n ContentEditableInput.prototype.blur = function () { this.div.blur(); };\n ContentEditableInput.prototype.getField = function () { return this.div };\n\n ContentEditableInput.prototype.supportsTouch = function () { return true };\n\n ContentEditableInput.prototype.receivedFocus = function () {\n var input = this;\n if (this.selectionInEditor())\n { this.pollSelection(); }\n else\n { runInOp(this.cm, function () { return input.cm.curOp.selectionChanged = true; }); }\n\n function poll() {\n if (input.cm.state.focused) {\n input.pollSelection();\n input.polling.set(input.cm.options.pollInterval, poll);\n }\n }\n this.polling.set(this.cm.options.pollInterval, poll);\n };\n\n ContentEditableInput.prototype.selectionChanged = function () {\n var sel = this.getSelection();\n return sel.anchorNode != this.lastAnchorNode || sel.anchorOffset != this.lastAnchorOffset ||\n sel.focusNode != this.lastFocusNode || sel.focusOffset != this.lastFocusOffset\n };\n\n ContentEditableInput.prototype.pollSelection = function () {\n if (this.readDOMTimeout != null || this.gracePeriod || !this.selectionChanged()) { return }\n var sel = this.getSelection(), cm = this.cm;\n // On Android Chrome (version 56, at least), backspacing into an\n // uneditable block element will put the cursor in that element,\n // and then, because it's not editable, hide the virtual keyboard.\n // Because Android doesn't allow us to actually detect backspace\n // presses in a sane way, this code checks for when that happens\n // and simulates a backspace press in this case.\n if (android && chrome && this.cm.display.gutterSpecs.length && isInGutter(sel.anchorNode)) {\n this.cm.triggerOnKeyDown({type: \"keydown\", keyCode: 8, preventDefault: Math.abs});\n this.blur();\n this.focus();\n return\n }\n if (this.composing) { return }\n this.rememberSelection();\n var anchor = domToPos(cm, sel.anchorNode, sel.anchorOffset);\n var head = domToPos(cm, sel.focusNode, sel.focusOffset);\n if (anchor && head) { runInOp(cm, function () {\n setSelection(cm.doc, simpleSelection(anchor, head), sel_dontScroll);\n if (anchor.bad || head.bad) { cm.curOp.selectionChanged = true; }\n }); }\n };\n\n ContentEditableInput.prototype.pollContent = function () {\n if (this.readDOMTimeout != null) {\n clearTimeout(this.readDOMTimeout);\n this.readDOMTimeout = null;\n }\n\n var cm = this.cm, display = cm.display, sel = cm.doc.sel.primary();\n var from = sel.from(), to = sel.to();\n if (from.ch == 0 && from.line > cm.firstLine())\n { from = Pos(from.line - 1, getLine(cm.doc, from.line - 1).length); }\n if (to.ch == getLine(cm.doc, to.line).text.length && to.line < cm.lastLine())\n { to = Pos(to.line + 1, 0); }\n if (from.line < display.viewFrom || to.line > display.viewTo - 1) { return false }\n\n var fromIndex, fromLine, fromNode;\n if (from.line == display.viewFrom || (fromIndex = findViewIndex(cm, from.line)) == 0) {\n fromLine = lineNo(display.view[0].line);\n fromNode = display.view[0].node;\n } else {\n fromLine = lineNo(display.view[fromIndex].line);\n fromNode = display.view[fromIndex - 1].node.nextSibling;\n }\n var toIndex = findViewIndex(cm, to.line);\n var toLine, toNode;\n if (toIndex == display.view.length - 1) {\n toLine = display.viewTo - 1;\n toNode = display.lineDiv.lastChild;\n } else {\n toLine = lineNo(display.view[toIndex + 1].line) - 1;\n toNode = display.view[toIndex + 1].node.previousSibling;\n }\n\n if (!fromNode) { return false }\n var newText = cm.doc.splitLines(domTextBetween(cm, fromNode, toNode, fromLine, toLine));\n var oldText = getBetween(cm.doc, Pos(fromLine, 0), Pos(toLine, getLine(cm.doc, toLine).text.length));\n while (newText.length > 1 && oldText.length > 1) {\n if (lst(newText) == lst(oldText)) { newText.pop(); oldText.pop(); toLine--; }\n else if (newText[0] == oldText[0]) { newText.shift(); oldText.shift(); fromLine++; }\n else { break }\n }\n\n var cutFront = 0, cutEnd = 0;\n var newTop = newText[0], oldTop = oldText[0], maxCutFront = Math.min(newTop.length, oldTop.length);\n while (cutFront < maxCutFront && newTop.charCodeAt(cutFront) == oldTop.charCodeAt(cutFront))\n { ++cutFront; }\n var newBot = lst(newText), oldBot = lst(oldText);\n var maxCutEnd = Math.min(newBot.length - (newText.length == 1 ? cutFront : 0),\n oldBot.length - (oldText.length == 1 ? cutFront : 0));\n while (cutEnd < maxCutEnd &&\n newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1))\n { ++cutEnd; }\n // Try to move start of change to start of selection if ambiguous\n if (newText.length == 1 && oldText.length == 1 && fromLine == from.line) {\n while (cutFront && cutFront > from.ch &&\n newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1)) {\n cutFront--;\n cutEnd++;\n }\n }\n\n newText[newText.length - 1] = newBot.slice(0, newBot.length - cutEnd).replace(/^\\u200b+/, \"\");\n newText[0] = newText[0].slice(cutFront).replace(/\\u200b+$/, \"\");\n\n var chFrom = Pos(fromLine, cutFront);\n var chTo = Pos(toLine, oldText.length ? lst(oldText).length - cutEnd : 0);\n if (newText.length > 1 || newText[0] || cmp(chFrom, chTo)) {\n replaceRange(cm.doc, newText, chFrom, chTo, \"+input\");\n return true\n }\n };\n\n ContentEditableInput.prototype.ensurePolled = function () {\n this.forceCompositionEnd();\n };\n ContentEditableInput.prototype.reset = function () {\n this.forceCompositionEnd();\n };\n ContentEditableInput.prototype.forceCompositionEnd = function () {\n if (!this.composing) { return }\n clearTimeout(this.readDOMTimeout);\n this.composing = null;\n this.updateFromDOM();\n this.div.blur();\n this.div.focus();\n };\n ContentEditableInput.prototype.readFromDOMSoon = function () {\n var this$1 = this;\n\n if (this.readDOMTimeout != null) { return }\n this.readDOMTimeout = setTimeout(function () {\n this$1.readDOMTimeout = null;\n if (this$1.composing) {\n if (this$1.composing.done) { this$1.composing = null; }\n else { return }\n }\n this$1.updateFromDOM();\n }, 80);\n };\n\n ContentEditableInput.prototype.updateFromDOM = function () {\n var this$1 = this;\n\n if (this.cm.isReadOnly() || !this.pollContent())\n { runInOp(this.cm, function () { return regChange(this$1.cm); }); }\n };\n\n ContentEditableInput.prototype.setUneditable = function (node) {\n node.contentEditable = \"false\";\n };\n\n ContentEditableInput.prototype.onKeyPress = function (e) {\n if (e.charCode == 0 || this.composing) { return }\n e.preventDefault();\n if (!this.cm.isReadOnly())\n { operation(this.cm, applyTextInput)(this.cm, String.fromCharCode(e.charCode == null ? e.keyCode : e.charCode), 0); }\n };\n\n ContentEditableInput.prototype.readOnlyChanged = function (val) {\n this.div.contentEditable = String(val != \"nocursor\");\n };\n\n ContentEditableInput.prototype.onContextMenu = function () {};\n ContentEditableInput.prototype.resetPosition = function () {};\n\n ContentEditableInput.prototype.needsContentAttribute = true;\n\n function posToDOM(cm, pos) {\n var view = findViewForLine(cm, pos.line);\n if (!view || view.hidden) { return null }\n var line = getLine(cm.doc, pos.line);\n var info = mapFromLineView(view, line, pos.line);\n\n var order = getOrder(line, cm.doc.direction), side = \"left\";\n if (order) {\n var partPos = getBidiPartAt(order, pos.ch);\n side = partPos % 2 ? \"right\" : \"left\";\n }\n var result = nodeAndOffsetInLineMap(info.map, pos.ch, side);\n result.offset = result.collapse == \"right\" ? result.end : result.start;\n return result\n }\n\n function isInGutter(node) {\n for (var scan = node; scan; scan = scan.parentNode)\n { if (/CodeMirror-gutter-wrapper/.test(scan.className)) { return true } }\n return false\n }\n\n function badPos(pos, bad) { if (bad) { pos.bad = true; } return pos }\n\n function domTextBetween(cm, from, to, fromLine, toLine) {\n var text = \"\", closing = false, lineSep = cm.doc.lineSeparator(), extraLinebreak = false;\n function recognizeMarker(id) { return function (marker) { return marker.id == id; } }\n function close() {\n if (closing) {\n text += lineSep;\n if (extraLinebreak) { text += lineSep; }\n closing = extraLinebreak = false;\n }\n }\n function addText(str) {\n if (str) {\n close();\n text += str;\n }\n }\n function walk(node) {\n if (node.nodeType == 1) {\n var cmText = node.getAttribute(\"cm-text\");\n if (cmText) {\n addText(cmText);\n return\n }\n var markerID = node.getAttribute(\"cm-marker\"), range;\n if (markerID) {\n var found = cm.findMarks(Pos(fromLine, 0), Pos(toLine + 1, 0), recognizeMarker(+markerID));\n if (found.length && (range = found[0].find(0)))\n { addText(getBetween(cm.doc, range.from, range.to).join(lineSep)); }\n return\n }\n if (node.getAttribute(\"contenteditable\") == \"false\") { return }\n var isBlock = /^(pre|div|p|li|table|br)$/i.test(node.nodeName);\n if (!/^br$/i.test(node.nodeName) && node.textContent.length == 0) { return }\n\n if (isBlock) { close(); }\n for (var i = 0; i < node.childNodes.length; i++)\n { walk(node.childNodes[i]); }\n\n if (/^(pre|p)$/i.test(node.nodeName)) { extraLinebreak = true; }\n if (isBlock) { closing = true; }\n } else if (node.nodeType == 3) {\n addText(node.nodeValue.replace(/\\u200b/g, \"\").replace(/\\u00a0/g, \" \"));\n }\n }\n for (;;) {\n walk(from);\n if (from == to) { break }\n from = from.nextSibling;\n extraLinebreak = false;\n }\n return text\n }\n\n function domToPos(cm, node, offset) {\n var lineNode;\n if (node == cm.display.lineDiv) {\n lineNode = cm.display.lineDiv.childNodes[offset];\n if (!lineNode) { return badPos(cm.clipPos(Pos(cm.display.viewTo - 1)), true) }\n node = null; offset = 0;\n } else {\n for (lineNode = node;; lineNode = lineNode.parentNode) {\n if (!lineNode || lineNode == cm.display.lineDiv) { return null }\n if (lineNode.parentNode && lineNode.parentNode == cm.display.lineDiv) { break }\n }\n }\n for (var i = 0; i < cm.display.view.length; i++) {\n var lineView = cm.display.view[i];\n if (lineView.node == lineNode)\n { return locateNodeInLineView(lineView, node, offset) }\n }\n }\n\n function locateNodeInLineView(lineView, node, offset) {\n var wrapper = lineView.text.firstChild, bad = false;\n if (!node || !contains(wrapper, node)) { return badPos(Pos(lineNo(lineView.line), 0), true) }\n if (node == wrapper) {\n bad = true;\n node = wrapper.childNodes[offset];\n offset = 0;\n if (!node) {\n var line = lineView.rest ? lst(lineView.rest) : lineView.line;\n return badPos(Pos(lineNo(line), line.text.length), bad)\n }\n }\n\n var textNode = node.nodeType == 3 ? node : null, topNode = node;\n if (!textNode && node.childNodes.length == 1 && node.firstChild.nodeType == 3) {\n textNode = node.firstChild;\n if (offset) { offset = textNode.nodeValue.length; }\n }\n while (topNode.parentNode != wrapper) { topNode = topNode.parentNode; }\n var measure = lineView.measure, maps = measure.maps;\n\n function find(textNode, topNode, offset) {\n for (var i = -1; i < (maps ? maps.length : 0); i++) {\n var map = i < 0 ? measure.map : maps[i];\n for (var j = 0; j < map.length; j += 3) {\n var curNode = map[j + 2];\n if (curNode == textNode || curNode == topNode) {\n var line = lineNo(i < 0 ? lineView.line : lineView.rest[i]);\n var ch = map[j] + offset;\n if (offset < 0 || curNode != textNode) { ch = map[j + (offset ? 1 : 0)]; }\n return Pos(line, ch)\n }\n }\n }\n }\n var found = find(textNode, topNode, offset);\n if (found) { return badPos(found, bad) }\n\n // FIXME this is all really shaky. might handle the few cases it needs to handle, but likely to cause problems\n for (var after = topNode.nextSibling, dist = textNode ? textNode.nodeValue.length - offset : 0; after; after = after.nextSibling) {\n found = find(after, after.firstChild, 0);\n if (found)\n { return badPos(Pos(found.line, found.ch - dist), bad) }\n else\n { dist += after.textContent.length; }\n }\n for (var before = topNode.previousSibling, dist$1 = offset; before; before = before.previousSibling) {\n found = find(before, before.firstChild, -1);\n if (found)\n { return badPos(Pos(found.line, found.ch + dist$1), bad) }\n else\n { dist$1 += before.textContent.length; }\n }\n }\n\n // TEXTAREA INPUT STYLE\n\n var TextareaInput = function(cm) {\n this.cm = cm;\n // See input.poll and input.reset\n this.prevInput = \"\";\n\n // Flag that indicates whether we expect input to appear real soon\n // now (after some event like 'keypress' or 'input') and are\n // polling intensively.\n this.pollingFast = false;\n // Self-resetting timeout for the poller\n this.polling = new Delayed();\n // Used to work around IE issue with selection being forgotten when focus moves away from textarea\n this.hasSelection = false;\n this.composing = null;\n };\n\n TextareaInput.prototype.init = function (display) {\n var this$1 = this;\n\n var input = this, cm = this.cm;\n this.createField(display);\n var te = this.textarea;\n\n display.wrapper.insertBefore(this.wrapper, display.wrapper.firstChild);\n\n // Needed to hide big blue blinking cursor on Mobile Safari (doesn't seem to work in iOS 8 anymore)\n if (ios) { te.style.width = \"0px\"; }\n\n on(te, \"input\", function () {\n if (ie && ie_version >= 9 && this$1.hasSelection) { this$1.hasSelection = null; }\n input.poll();\n });\n\n on(te, \"paste\", function (e) {\n if (signalDOMEvent(cm, e) || handlePaste(e, cm)) { return }\n\n cm.state.pasteIncoming = +new Date;\n input.fastPoll();\n });\n\n function prepareCopyCut(e) {\n if (signalDOMEvent(cm, e)) { return }\n if (cm.somethingSelected()) {\n setLastCopied({lineWise: false, text: cm.getSelections()});\n } else if (!cm.options.lineWiseCopyCut) {\n return\n } else {\n var ranges = copyableRanges(cm);\n setLastCopied({lineWise: true, text: ranges.text});\n if (e.type == \"cut\") {\n cm.setSelections(ranges.ranges, null, sel_dontScroll);\n } else {\n input.prevInput = \"\";\n te.value = ranges.text.join(\"\\n\");\n selectInput(te);\n }\n }\n if (e.type == \"cut\") { cm.state.cutIncoming = +new Date; }\n }\n on(te, \"cut\", prepareCopyCut);\n on(te, \"copy\", prepareCopyCut);\n\n on(display.scroller, \"paste\", function (e) {\n if (eventInWidget(display, e) || signalDOMEvent(cm, e)) { return }\n if (!te.dispatchEvent) {\n cm.state.pasteIncoming = +new Date;\n input.focus();\n return\n }\n\n // Pass the `paste` event to the textarea so it's handled by its event listener.\n var event = new Event(\"paste\");\n event.clipboardData = e.clipboardData;\n te.dispatchEvent(event);\n });\n\n // Prevent normal selection in the editor (we handle our own)\n on(display.lineSpace, \"selectstart\", function (e) {\n if (!eventInWidget(display, e)) { e_preventDefault(e); }\n });\n\n on(te, \"compositionstart\", function () {\n var start = cm.getCursor(\"from\");\n if (input.composing) { input.composing.range.clear(); }\n input.composing = {\n start: start,\n range: cm.markText(start, cm.getCursor(\"to\"), {className: \"CodeMirror-composing\"})\n };\n });\n on(te, \"compositionend\", function () {\n if (input.composing) {\n input.poll();\n input.composing.range.clear();\n input.composing = null;\n }\n });\n };\n\n TextareaInput.prototype.createField = function (_display) {\n // Wraps and hides input textarea\n this.wrapper = hiddenTextarea();\n // The semihidden textarea that is focused when the editor is\n // focused, and receives input.\n this.textarea = this.wrapper.firstChild;\n };\n\n TextareaInput.prototype.screenReaderLabelChanged = function (label) {\n // Label for screenreaders, accessibility\n if(label) {\n this.textarea.setAttribute('aria-label', label);\n } else {\n this.textarea.removeAttribute('aria-label');\n }\n };\n\n TextareaInput.prototype.prepareSelection = function () {\n // Redraw the selection and/or cursor\n var cm = this.cm, display = cm.display, doc = cm.doc;\n var result = prepareSelection(cm);\n\n // Move the hidden textarea near the cursor to prevent scrolling artifacts\n if (cm.options.moveInputWithCursor) {\n var headPos = cursorCoords(cm, doc.sel.primary().head, \"div\");\n var wrapOff = display.wrapper.getBoundingClientRect(), lineOff = display.lineDiv.getBoundingClientRect();\n result.teTop = Math.max(0, Math.min(display.wrapper.clientHeight - 10,\n headPos.top + lineOff.top - wrapOff.top));\n result.teLeft = Math.max(0, Math.min(display.wrapper.clientWidth - 10,\n headPos.left + lineOff.left - wrapOff.left));\n }\n\n return result\n };\n\n TextareaInput.prototype.showSelection = function (drawn) {\n var cm = this.cm, display = cm.display;\n removeChildrenAndAdd(display.cursorDiv, drawn.cursors);\n removeChildrenAndAdd(display.selectionDiv, drawn.selection);\n if (drawn.teTop != null) {\n this.wrapper.style.top = drawn.teTop + \"px\";\n this.wrapper.style.left = drawn.teLeft + \"px\";\n }\n };\n\n // Reset the input to correspond to the selection (or to be empty,\n // when not typing and nothing is selected)\n TextareaInput.prototype.reset = function (typing) {\n if (this.contextMenuPending || this.composing) { return }\n var cm = this.cm;\n if (cm.somethingSelected()) {\n this.prevInput = \"\";\n var content = cm.getSelection();\n this.textarea.value = content;\n if (cm.state.focused) { selectInput(this.textarea); }\n if (ie && ie_version >= 9) { this.hasSelection = content; }\n } else if (!typing) {\n this.prevInput = this.textarea.value = \"\";\n if (ie && ie_version >= 9) { this.hasSelection = null; }\n }\n };\n\n TextareaInput.prototype.getField = function () { return this.textarea };\n\n TextareaInput.prototype.supportsTouch = function () { return false };\n\n TextareaInput.prototype.focus = function () {\n if (this.cm.options.readOnly != \"nocursor\" && (!mobile || activeElt() != this.textarea)) {\n try { this.textarea.focus(); }\n catch (e) {} // IE8 will throw if the textarea is display: none or not in DOM\n }\n };\n\n TextareaInput.prototype.blur = function () { this.textarea.blur(); };\n\n TextareaInput.prototype.resetPosition = function () {\n this.wrapper.style.top = this.wrapper.style.left = 0;\n };\n\n TextareaInput.prototype.receivedFocus = function () { this.slowPoll(); };\n\n // Poll for input changes, using the normal rate of polling. This\n // runs as long as the editor is focused.\n TextareaInput.prototype.slowPoll = function () {\n var this$1 = this;\n\n if (this.pollingFast) { return }\n this.polling.set(this.cm.options.pollInterval, function () {\n this$1.poll();\n if (this$1.cm.state.focused) { this$1.slowPoll(); }\n });\n };\n\n // When an event has just come in that is likely to add or change\n // something in the input textarea, we poll faster, to ensure that\n // the change appears on the screen quickly.\n TextareaInput.prototype.fastPoll = function () {\n var missed = false, input = this;\n input.pollingFast = true;\n function p() {\n var changed = input.poll();\n if (!changed && !missed) {missed = true; input.polling.set(60, p);}\n else {input.pollingFast = false; input.slowPoll();}\n }\n input.polling.set(20, p);\n };\n\n // Read input from the textarea, and update the document to match.\n // When something is selected, it is present in the textarea, and\n // selected (unless it is huge, in which case a placeholder is\n // used). When nothing is selected, the cursor sits after previously\n // seen text (can be empty), which is stored in prevInput (we must\n // not reset the textarea when typing, because that breaks IME).\n TextareaInput.prototype.poll = function () {\n var this$1 = this;\n\n var cm = this.cm, input = this.textarea, prevInput = this.prevInput;\n // Since this is called a *lot*, try to bail out as cheaply as\n // possible when it is clear that nothing happened. hasSelection\n // will be the case when there is a lot of text in the textarea,\n // in which case reading its value would be expensive.\n if (this.contextMenuPending || !cm.state.focused ||\n (hasSelection(input) && !prevInput && !this.composing) ||\n cm.isReadOnly() || cm.options.disableInput || cm.state.keySeq)\n { return false }\n\n var text = input.value;\n // If nothing changed, bail.\n if (text == prevInput && !cm.somethingSelected()) { return false }\n // Work around nonsensical selection resetting in IE9/10, and\n // inexplicable appearance of private area unicode characters on\n // some key combos in Mac (#2689).\n if (ie && ie_version >= 9 && this.hasSelection === text ||\n mac && /[\\uf700-\\uf7ff]/.test(text)) {\n cm.display.input.reset();\n return false\n }\n\n if (cm.doc.sel == cm.display.selForContextMenu) {\n var first = text.charCodeAt(0);\n if (first == 0x200b && !prevInput) { prevInput = \"\\u200b\"; }\n if (first == 0x21da) { this.reset(); return this.cm.execCommand(\"undo\") }\n }\n // Find the part of the input that is actually new\n var same = 0, l = Math.min(prevInput.length, text.length);\n while (same < l && prevInput.charCodeAt(same) == text.charCodeAt(same)) { ++same; }\n\n runInOp(cm, function () {\n applyTextInput(cm, text.slice(same), prevInput.length - same,\n null, this$1.composing ? \"*compose\" : null);\n\n // Don't leave long text in the textarea, since it makes further polling slow\n if (text.length > 1000 || text.indexOf(\"\\n\") > -1) { input.value = this$1.prevInput = \"\"; }\n else { this$1.prevInput = text; }\n\n if (this$1.composing) {\n this$1.composing.range.clear();\n this$1.composing.range = cm.markText(this$1.composing.start, cm.getCursor(\"to\"),\n {className: \"CodeMirror-composing\"});\n }\n });\n return true\n };\n\n TextareaInput.prototype.ensurePolled = function () {\n if (this.pollingFast && this.poll()) { this.pollingFast = false; }\n };\n\n TextareaInput.prototype.onKeyPress = function () {\n if (ie && ie_version >= 9) { this.hasSelection = null; }\n this.fastPoll();\n };\n\n TextareaInput.prototype.onContextMenu = function (e) {\n var input = this, cm = input.cm, display = cm.display, te = input.textarea;\n if (input.contextMenuPending) { input.contextMenuPending(); }\n var pos = posFromMouse(cm, e), scrollPos = display.scroller.scrollTop;\n if (!pos || presto) { return } // Opera is difficult.\n\n // Reset the current text selection only if the click is done outside of the selection\n // and 'resetSelectionOnContextMenu' option is true.\n var reset = cm.options.resetSelectionOnContextMenu;\n if (reset && cm.doc.sel.contains(pos) == -1)\n { operation(cm, setSelection)(cm.doc, simpleSelection(pos), sel_dontScroll); }\n\n var oldCSS = te.style.cssText, oldWrapperCSS = input.wrapper.style.cssText;\n var wrapperBox = input.wrapper.offsetParent.getBoundingClientRect();\n input.wrapper.style.cssText = \"position: static\";\n te.style.cssText = \"position: absolute; width: 30px; height: 30px;\\n top: \" + (e.clientY - wrapperBox.top - 5) + \"px; left: \" + (e.clientX - wrapperBox.left - 5) + \"px;\\n z-index: 1000; background: \" + (ie ? \"rgba(255, 255, 255, .05)\" : \"transparent\") + \";\\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);\";\n var oldScrollY;\n if (webkit) { oldScrollY = window.scrollY; } // Work around Chrome issue (#2712)\n display.input.focus();\n if (webkit) { window.scrollTo(null, oldScrollY); }\n display.input.reset();\n // Adds \"Select all\" to context menu in FF\n if (!cm.somethingSelected()) { te.value = input.prevInput = \" \"; }\n input.contextMenuPending = rehide;\n display.selForContextMenu = cm.doc.sel;\n clearTimeout(display.detectingSelectAll);\n\n // Select-all will be greyed out if there's nothing to select, so\n // this adds a zero-width space so that we can later check whether\n // it got selected.\n function prepareSelectAllHack() {\n if (te.selectionStart != null) {\n var selected = cm.somethingSelected();\n var extval = \"\\u200b\" + (selected ? te.value : \"\");\n te.value = \"\\u21da\"; // Used to catch context-menu undo\n te.value = extval;\n input.prevInput = selected ? \"\" : \"\\u200b\";\n te.selectionStart = 1; te.selectionEnd = extval.length;\n // Re-set this, in case some other handler touched the\n // selection in the meantime.\n display.selForContextMenu = cm.doc.sel;\n }\n }\n function rehide() {\n if (input.contextMenuPending != rehide) { return }\n input.contextMenuPending = false;\n input.wrapper.style.cssText = oldWrapperCSS;\n te.style.cssText = oldCSS;\n if (ie && ie_version < 9) { display.scrollbars.setScrollTop(display.scroller.scrollTop = scrollPos); }\n\n // Try to detect the user choosing select-all\n if (te.selectionStart != null) {\n if (!ie || (ie && ie_version < 9)) { prepareSelectAllHack(); }\n var i = 0, poll = function () {\n if (display.selForContextMenu == cm.doc.sel && te.selectionStart == 0 &&\n te.selectionEnd > 0 && input.prevInput == \"\\u200b\") {\n operation(cm, selectAll)(cm);\n } else if (i++ < 10) {\n display.detectingSelectAll = setTimeout(poll, 500);\n } else {\n display.selForContextMenu = null;\n display.input.reset();\n }\n };\n display.detectingSelectAll = setTimeout(poll, 200);\n }\n }\n\n if (ie && ie_version >= 9) { prepareSelectAllHack(); }\n if (captureRightClick) {\n e_stop(e);\n var mouseup = function () {\n off(window, \"mouseup\", mouseup);\n setTimeout(rehide, 20);\n };\n on(window, \"mouseup\", mouseup);\n } else {\n setTimeout(rehide, 50);\n }\n };\n\n TextareaInput.prototype.readOnlyChanged = function (val) {\n if (!val) { this.reset(); }\n this.textarea.disabled = val == \"nocursor\";\n this.textarea.readOnly = !!val;\n };\n\n TextareaInput.prototype.setUneditable = function () {};\n\n TextareaInput.prototype.needsContentAttribute = false;\n\n function fromTextArea(textarea, options) {\n options = options ? copyObj(options) : {};\n options.value = textarea.value;\n if (!options.tabindex && textarea.tabIndex)\n { options.tabindex = textarea.tabIndex; }\n if (!options.placeholder && textarea.placeholder)\n { options.placeholder = textarea.placeholder; }\n // Set autofocus to true if this textarea is focused, or if it has\n // autofocus and no other element is focused.\n if (options.autofocus == null) {\n var hasFocus = activeElt();\n options.autofocus = hasFocus == textarea ||\n textarea.getAttribute(\"autofocus\") != null && hasFocus == document.body;\n }\n\n function save() {textarea.value = cm.getValue();}\n\n var realSubmit;\n if (textarea.form) {\n on(textarea.form, \"submit\", save);\n // Deplorable hack to make the submit method do the right thing.\n if (!options.leaveSubmitMethodAlone) {\n var form = textarea.form;\n realSubmit = form.submit;\n try {\n var wrappedSubmit = form.submit = function () {\n save();\n form.submit = realSubmit;\n form.submit();\n form.submit = wrappedSubmit;\n };\n } catch(e) {}\n }\n }\n\n options.finishInit = function (cm) {\n cm.save = save;\n cm.getTextArea = function () { return textarea; };\n cm.toTextArea = function () {\n cm.toTextArea = isNaN; // Prevent this from being ran twice\n save();\n textarea.parentNode.removeChild(cm.getWrapperElement());\n textarea.style.display = \"\";\n if (textarea.form) {\n off(textarea.form, \"submit\", save);\n if (!options.leaveSubmitMethodAlone && typeof textarea.form.submit == \"function\")\n { textarea.form.submit = realSubmit; }\n }\n };\n };\n\n textarea.style.display = \"none\";\n var cm = CodeMirror(function (node) { return textarea.parentNode.insertBefore(node, textarea.nextSibling); },\n options);\n return cm\n }\n\n function addLegacyProps(CodeMirror) {\n CodeMirror.off = off;\n CodeMirror.on = on;\n CodeMirror.wheelEventPixels = wheelEventPixels;\n CodeMirror.Doc = Doc;\n CodeMirror.splitLines = splitLinesAuto;\n CodeMirror.countColumn = countColumn;\n CodeMirror.findColumn = findColumn;\n CodeMirror.isWordChar = isWordCharBasic;\n CodeMirror.Pass = Pass;\n CodeMirror.signal = signal;\n CodeMirror.Line = Line;\n CodeMirror.changeEnd = changeEnd;\n CodeMirror.scrollbarModel = scrollbarModel;\n CodeMirror.Pos = Pos;\n CodeMirror.cmpPos = cmp;\n CodeMirror.modes = modes;\n CodeMirror.mimeModes = mimeModes;\n CodeMirror.resolveMode = resolveMode;\n CodeMirror.getMode = getMode;\n CodeMirror.modeExtensions = modeExtensions;\n CodeMirror.extendMode = extendMode;\n CodeMirror.copyState = copyState;\n CodeMirror.startState = startState;\n CodeMirror.innerMode = innerMode;\n CodeMirror.commands = commands;\n CodeMirror.keyMap = keyMap;\n CodeMirror.keyName = keyName;\n CodeMirror.isModifierKey = isModifierKey;\n CodeMirror.lookupKey = lookupKey;\n CodeMirror.normalizeKeyMap = normalizeKeyMap;\n CodeMirror.StringStream = StringStream;\n CodeMirror.SharedTextMarker = SharedTextMarker;\n CodeMirror.TextMarker = TextMarker;\n CodeMirror.LineWidget = LineWidget;\n CodeMirror.e_preventDefault = e_preventDefault;\n CodeMirror.e_stopPropagation = e_stopPropagation;\n CodeMirror.e_stop = e_stop;\n CodeMirror.addClass = addClass;\n CodeMirror.contains = contains;\n CodeMirror.rmClass = rmClass;\n CodeMirror.keyNames = keyNames;\n }\n\n // EDITOR CONSTRUCTOR\n\n defineOptions(CodeMirror);\n\n addEditorMethods(CodeMirror);\n\n // Set up methods on CodeMirror's prototype to redirect to the editor's document.\n var dontDelegate = \"iter insert remove copy getEditor constructor\".split(\" \");\n for (var prop in Doc.prototype) { if (Doc.prototype.hasOwnProperty(prop) && indexOf(dontDelegate, prop) < 0)\n { CodeMirror.prototype[prop] = (function(method) {\n return function() {return method.apply(this.doc, arguments)}\n })(Doc.prototype[prop]); } }\n\n eventMixin(Doc);\n CodeMirror.inputStyles = {\"textarea\": TextareaInput, \"contenteditable\": ContentEditableInput};\n\n // Extra arguments are stored as the mode's dependencies, which is\n // used by (legacy) mechanisms like loadmode.js to automatically\n // load a mode. (Preferred mechanism is the require/define calls.)\n CodeMirror.defineMode = function(name/*, mode, …*/) {\n if (!CodeMirror.defaults.mode && name != \"null\") { CodeMirror.defaults.mode = name; }\n defineMode.apply(this, arguments);\n };\n\n CodeMirror.defineMIME = defineMIME;\n\n // Minimal default mode.\n CodeMirror.defineMode(\"null\", function () { return ({token: function (stream) { return stream.skipToEnd(); }}); });\n CodeMirror.defineMIME(\"text/plain\", \"null\");\n\n // EXTENSIONS\n\n CodeMirror.defineExtension = function (name, func) {\n CodeMirror.prototype[name] = func;\n };\n CodeMirror.defineDocExtension = function (name, func) {\n Doc.prototype[name] = func;\n };\n\n CodeMirror.fromTextArea = fromTextArea;\n\n addLegacyProps(CodeMirror);\n\n CodeMirror.version = \"5.61.1\";\n\n return CodeMirror;\n\n})));\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"javascript\", function(config, parserConfig) {\n var indentUnit = config.indentUnit;\n var statementIndent = parserConfig.statementIndent;\n var jsonldMode = parserConfig.jsonld;\n var jsonMode = parserConfig.json || jsonldMode;\n var trackScope = parserConfig.trackScope !== false\n var isTS = parserConfig.typescript;\n var wordRE = parserConfig.wordCharacters || /[\\w$\\xa1-\\uffff]/;\n\n // Tokenizer\n\n var keywords = function(){\n function kw(type) {return {type: type, style: \"keyword\"};}\n var A = kw(\"keyword a\"), B = kw(\"keyword b\"), C = kw(\"keyword c\"), D = kw(\"keyword d\");\n var operator = kw(\"operator\"), atom = {type: \"atom\", style: \"atom\"};\n\n return {\n \"if\": kw(\"if\"), \"while\": A, \"with\": A, \"else\": B, \"do\": B, \"try\": B, \"finally\": B,\n \"return\": D, \"break\": D, \"continue\": D, \"new\": kw(\"new\"), \"delete\": C, \"void\": C, \"throw\": C,\n \"debugger\": kw(\"debugger\"), \"var\": kw(\"var\"), \"const\": kw(\"var\"), \"let\": kw(\"var\"),\n \"function\": kw(\"function\"), \"catch\": kw(\"catch\"),\n \"for\": kw(\"for\"), \"switch\": kw(\"switch\"), \"case\": kw(\"case\"), \"default\": kw(\"default\"),\n \"in\": operator, \"typeof\": operator, \"instanceof\": operator,\n \"true\": atom, \"false\": atom, \"null\": atom, \"undefined\": atom, \"NaN\": atom, \"Infinity\": atom,\n \"this\": kw(\"this\"), \"class\": kw(\"class\"), \"super\": kw(\"atom\"),\n \"yield\": C, \"export\": kw(\"export\"), \"import\": kw(\"import\"), \"extends\": C,\n \"await\": C\n };\n }();\n\n var isOperatorChar = /[+\\-*&%=<>!?|~^@]/;\n var isJsonldKeyword = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)\"/;\n\n function readRegexp(stream) {\n var escaped = false, next, inSet = false;\n while ((next = stream.next()) != null) {\n if (!escaped) {\n if (next == \"/\" && !inSet) return;\n if (next == \"[\") inSet = true;\n else if (inSet && next == \"]\") inSet = false;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n }\n\n // Used as scratch variables to communicate multiple values without\n // consing up tons of objects.\n var type, content;\n function ret(tp, style, cont) {\n type = tp; content = cont;\n return style;\n }\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (ch == '\"' || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n } else if (ch == \".\" && stream.match(/^\\d[\\d_]*(?:[eE][+\\-]?[\\d_]+)?/)) {\n return ret(\"number\", \"number\");\n } else if (ch == \".\" && stream.match(\"..\")) {\n return ret(\"spread\", \"meta\");\n } else if (/[\\[\\]{}\\(\\),;\\:\\.]/.test(ch)) {\n return ret(ch);\n } else if (ch == \"=\" && stream.eat(\">\")) {\n return ret(\"=>\", \"operator\");\n } else if (ch == \"0\" && stream.match(/^(?:x[\\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/)) {\n return ret(\"number\", \"number\");\n } else if (/\\d/.test(ch)) {\n stream.match(/^[\\d_]*(?:n|(?:\\.[\\d_]*)?(?:[eE][+\\-]?[\\d_]+)?)?/);\n return ret(\"number\", \"number\");\n } else if (ch == \"/\") {\n if (stream.eat(\"*\")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n } else if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return ret(\"comment\", \"comment\");\n } else if (expressionAllowed(stream, state, 1)) {\n readRegexp(stream);\n stream.match(/^\\b(([gimyus])(?![gimyus]*\\2))+\\b/);\n return ret(\"regexp\", \"string-2\");\n } else {\n stream.eat(\"=\");\n return ret(\"operator\", \"operator\", stream.current());\n }\n } else if (ch == \"`\") {\n state.tokenize = tokenQuasi;\n return tokenQuasi(stream, state);\n } else if (ch == \"#\" && stream.peek() == \"!\") {\n stream.skipToEnd();\n return ret(\"meta\", \"meta\");\n } else if (ch == \"#\" && stream.eatWhile(wordRE)) {\n return ret(\"variable\", \"property\")\n } else if (ch == \"<\" && stream.match(\"!--\") ||\n (ch == \"-\" && stream.match(\"->\") && !/\\S/.test(stream.string.slice(0, stream.start)))) {\n stream.skipToEnd()\n return ret(\"comment\", \"comment\")\n } else if (isOperatorChar.test(ch)) {\n if (ch != \">\" || !state.lexical || state.lexical.type != \">\") {\n if (stream.eat(\"=\")) {\n if (ch == \"!\" || ch == \"=\") stream.eat(\"=\")\n } else if (/[<>*+\\-|&?]/.test(ch)) {\n stream.eat(ch)\n if (ch == \">\") stream.eat(ch)\n }\n }\n if (ch == \"?\" && stream.eat(\".\")) return ret(\".\")\n return ret(\"operator\", \"operator\", stream.current());\n } else if (wordRE.test(ch)) {\n stream.eatWhile(wordRE);\n var word = stream.current()\n if (state.lastType != \".\") {\n if (keywords.propertyIsEnumerable(word)) {\n var kw = keywords[word]\n return ret(kw.type, kw.style, word)\n }\n if (word == \"async\" && stream.match(/^(\\s|\\/\\*([^*]|\\*(?!\\/))*?\\*\\/)*[\\[\\(\\w]/, false))\n return ret(\"async\", \"keyword\", word)\n }\n return ret(\"variable\", \"variable\", word)\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next;\n if (jsonldMode && stream.peek() == \"@\" && stream.match(isJsonldKeyword)){\n state.tokenize = tokenBase;\n return ret(\"jsonld-keyword\", \"meta\");\n }\n while ((next = stream.next()) != null) {\n if (next == quote && !escaped) break;\n escaped = !escaped && next == \"\\\\\";\n }\n if (!escaped) state.tokenize = tokenBase;\n return ret(\"string\", \"string\");\n };\n }\n\n function tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == \"/\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return ret(\"comment\", \"comment\");\n }\n\n function tokenQuasi(stream, state) {\n var escaped = false, next;\n while ((next = stream.next()) != null) {\n if (!escaped && (next == \"`\" || next == \"$\" && stream.eat(\"{\"))) {\n state.tokenize = tokenBase;\n break;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n return ret(\"quasi\", \"string-2\", stream.current());\n }\n\n var brackets = \"([{}])\";\n // This is a crude lookahead trick to try and notice that we're\n // parsing the argument patterns for a fat-arrow function before we\n // actually hit the arrow token. It only works if the arrow is on\n // the same line as the arguments and there's no strange noise\n // (comments) in between. Fallback is to only notice when we hit the\n // arrow, and not declare the arguments as locals for the arrow\n // body.\n function findFatArrow(stream, state) {\n if (state.fatArrowAt) state.fatArrowAt = null;\n var arrow = stream.string.indexOf(\"=>\", stream.start);\n if (arrow < 0) return;\n\n if (isTS) { // Try to skip TypeScript return type declarations after the arguments\n var m = /:\\s*(?:\\w+(?:<[^>]*>|\\[\\])?|\\{[^}]*\\})\\s*$/.exec(stream.string.slice(stream.start, arrow))\n if (m) arrow = m.index\n }\n\n var depth = 0, sawSomething = false;\n for (var pos = arrow - 1; pos >= 0; --pos) {\n var ch = stream.string.charAt(pos);\n var bracket = brackets.indexOf(ch);\n if (bracket >= 0 && bracket < 3) {\n if (!depth) { ++pos; break; }\n if (--depth == 0) { if (ch == \"(\") sawSomething = true; break; }\n } else if (bracket >= 3 && bracket < 6) {\n ++depth;\n } else if (wordRE.test(ch)) {\n sawSomething = true;\n } else if (/[\"'\\/`]/.test(ch)) {\n for (;; --pos) {\n if (pos == 0) return\n var next = stream.string.charAt(pos - 1)\n if (next == ch && stream.string.charAt(pos - 2) != \"\\\\\") { pos--; break }\n }\n } else if (sawSomething && !depth) {\n ++pos;\n break;\n }\n }\n if (sawSomething && !depth) state.fatArrowAt = pos;\n }\n\n // Parser\n\n var atomicTypes = {\"atom\": true, \"number\": true, \"variable\": true, \"string\": true,\n \"regexp\": true, \"this\": true, \"import\": true, \"jsonld-keyword\": true};\n\n function JSLexical(indented, column, type, align, prev, info) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.prev = prev;\n this.info = info;\n if (align != null) this.align = align;\n }\n\n function inScope(state, varname) {\n if (!trackScope) return false\n for (var v = state.localVars; v; v = v.next)\n if (v.name == varname) return true;\n for (var cx = state.context; cx; cx = cx.prev) {\n for (var v = cx.vars; v; v = v.next)\n if (v.name == varname) return true;\n }\n }\n\n function parseJS(state, style, type, content, stream) {\n var cc = state.cc;\n // Communicate our context to the combinators.\n // (Less wasteful than consing up a hundred closures on every call.)\n cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc; cx.style = style;\n\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = true;\n\n while(true) {\n var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement;\n if (combinator(type, content)) {\n while(cc.length && cc[cc.length - 1].lex)\n cc.pop()();\n if (cx.marked) return cx.marked;\n if (type == \"variable\" && inScope(state, content)) return \"variable-2\";\n return style;\n }\n }\n }\n\n // Combinator utils\n\n var cx = {state: null, column: null, marked: null, cc: null};\n function pass() {\n for (var i = arguments.length - 1; i >= 0; i--) cx.cc.push(arguments[i]);\n }\n function cont() {\n pass.apply(null, arguments);\n return true;\n }\n function inList(name, list) {\n for (var v = list; v; v = v.next) if (v.name == name) return true\n return false;\n }\n function register(varname) {\n var state = cx.state;\n cx.marked = \"def\";\n if (!trackScope) return\n if (state.context) {\n if (state.lexical.info == \"var\" && state.context && state.context.block) {\n // FIXME function decls are also not block scoped\n var newContext = registerVarScoped(varname, state.context)\n if (newContext != null) {\n state.context = newContext\n return\n }\n } else if (!inList(varname, state.localVars)) {\n state.localVars = new Var(varname, state.localVars)\n return\n }\n }\n // Fall through means this is global\n if (parserConfig.globalVars && !inList(varname, state.globalVars))\n state.globalVars = new Var(varname, state.globalVars)\n }\n function registerVarScoped(varname, context) {\n if (!context) {\n return null\n } else if (context.block) {\n var inner = registerVarScoped(varname, context.prev)\n if (!inner) return null\n if (inner == context.prev) return context\n return new Context(inner, context.vars, true)\n } else if (inList(varname, context.vars)) {\n return context\n } else {\n return new Context(context.prev, new Var(varname, context.vars), false)\n }\n }\n\n function isModifier(name) {\n return name == \"public\" || name == \"private\" || name == \"protected\" || name == \"abstract\" || name == \"readonly\"\n }\n\n // Combinators\n\n function Context(prev, vars, block) { this.prev = prev; this.vars = vars; this.block = block }\n function Var(name, next) { this.name = name; this.next = next }\n\n var defaultVars = new Var(\"this\", new Var(\"arguments\", null))\n function pushcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, false)\n cx.state.localVars = defaultVars\n }\n function pushblockcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, true)\n cx.state.localVars = null\n }\n function popcontext() {\n cx.state.localVars = cx.state.context.vars\n cx.state.context = cx.state.context.prev\n }\n popcontext.lex = true\n function pushlex(type, info) {\n var result = function() {\n var state = cx.state, indent = state.indented;\n if (state.lexical.type == \"stat\") indent = state.lexical.indented;\n else for (var outer = state.lexical; outer && outer.type == \")\" && outer.align; outer = outer.prev)\n indent = outer.indented;\n state.lexical = new JSLexical(indent, cx.stream.column(), type, null, state.lexical, info);\n };\n result.lex = true;\n return result;\n }\n function poplex() {\n var state = cx.state;\n if (state.lexical.prev) {\n if (state.lexical.type == \")\")\n state.indented = state.lexical.indented;\n state.lexical = state.lexical.prev;\n }\n }\n poplex.lex = true;\n\n function expect(wanted) {\n function exp(type) {\n if (type == wanted) return cont();\n else if (wanted == \";\" || type == \"}\" || type == \")\" || type == \"]\") return pass();\n else return cont(exp);\n };\n return exp;\n }\n\n function statement(type, value) {\n if (type == \"var\") return cont(pushlex(\"vardef\", value), vardef, expect(\";\"), poplex);\n if (type == \"keyword a\") return cont(pushlex(\"form\"), parenExpr, statement, poplex);\n if (type == \"keyword b\") return cont(pushlex(\"form\"), statement, poplex);\n if (type == \"keyword d\") return cx.stream.match(/^\\s*$/, false) ? cont() : cont(pushlex(\"stat\"), maybeexpression, expect(\";\"), poplex);\n if (type == \"debugger\") return cont(expect(\";\"));\n if (type == \"{\") return cont(pushlex(\"}\"), pushblockcontext, block, poplex, popcontext);\n if (type == \";\") return cont();\n if (type == \"if\") {\n if (cx.state.lexical.info == \"else\" && cx.state.cc[cx.state.cc.length - 1] == poplex)\n cx.state.cc.pop()();\n return cont(pushlex(\"form\"), parenExpr, statement, poplex, maybeelse);\n }\n if (type == \"function\") return cont(functiondef);\n if (type == \"for\") return cont(pushlex(\"form\"), pushblockcontext, forspec, statement, popcontext, poplex);\n if (type == \"class\" || (isTS && value == \"interface\")) {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\", type == \"class\" ? type : value), className, poplex)\n }\n if (type == \"variable\") {\n if (isTS && value == \"declare\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else if (isTS && (value == \"module\" || value == \"enum\" || value == \"type\") && cx.stream.match(/^\\s*\\w/, false)) {\n cx.marked = \"keyword\"\n if (value == \"enum\") return cont(enumdef);\n else if (value == \"type\") return cont(typename, expect(\"operator\"), typeexpr, expect(\";\"));\n else return cont(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), block, poplex, poplex)\n } else if (isTS && value == \"namespace\") {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\"), expression, statement, poplex)\n } else if (isTS && value == \"abstract\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else {\n return cont(pushlex(\"stat\"), maybelabel);\n }\n }\n if (type == \"switch\") return cont(pushlex(\"form\"), parenExpr, expect(\"{\"), pushlex(\"}\", \"switch\"), pushblockcontext,\n block, poplex, poplex, popcontext);\n if (type == \"case\") return cont(expression, expect(\":\"));\n if (type == \"default\") return cont(expect(\":\"));\n if (type == \"catch\") return cont(pushlex(\"form\"), pushcontext, maybeCatchBinding, statement, poplex, popcontext);\n if (type == \"export\") return cont(pushlex(\"stat\"), afterExport, poplex);\n if (type == \"import\") return cont(pushlex(\"stat\"), afterImport, poplex);\n if (type == \"async\") return cont(statement)\n if (value == \"@\") return cont(expression, statement)\n return pass(pushlex(\"stat\"), expression, expect(\";\"), poplex);\n }\n function maybeCatchBinding(type) {\n if (type == \"(\") return cont(funarg, expect(\")\"))\n }\n function expression(type, value) {\n return expressionInner(type, value, false);\n }\n function expressionNoComma(type, value) {\n return expressionInner(type, value, true);\n }\n function parenExpr(type) {\n if (type != \"(\") return pass()\n return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex)\n }\n function expressionInner(type, value, noComma) {\n if (cx.state.fatArrowAt == cx.stream.start) {\n var body = noComma ? arrowBodyNoComma : arrowBody;\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, expect(\"=>\"), body, popcontext);\n else if (type == \"variable\") return pass(pushcontext, pattern, expect(\"=>\"), body, popcontext);\n }\n\n var maybeop = noComma ? maybeoperatorNoComma : maybeoperatorComma;\n if (atomicTypes.hasOwnProperty(type)) return cont(maybeop);\n if (type == \"function\") return cont(functiondef, maybeop);\n if (type == \"class\" || (isTS && value == \"interface\")) { cx.marked = \"keyword\"; return cont(pushlex(\"form\"), classExpression, poplex); }\n if (type == \"keyword c\" || type == \"async\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"(\") return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex, maybeop);\n if (type == \"operator\" || type == \"spread\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"[\") return cont(pushlex(\"]\"), arrayLiteral, poplex, maybeop);\n if (type == \"{\") return contCommasep(objprop, \"}\", null, maybeop);\n if (type == \"quasi\") return pass(quasi, maybeop);\n if (type == \"new\") return cont(maybeTarget(noComma));\n return cont();\n }\n function maybeexpression(type) {\n if (type.match(/[;\\}\\)\\],]/)) return pass();\n return pass(expression);\n }\n\n function maybeoperatorComma(type, value) {\n if (type == \",\") return cont(maybeexpression);\n return maybeoperatorNoComma(type, value, false);\n }\n function maybeoperatorNoComma(type, value, noComma) {\n var me = noComma == false ? maybeoperatorComma : maybeoperatorNoComma;\n var expr = noComma == false ? expression : expressionNoComma;\n if (type == \"=>\") return cont(pushcontext, noComma ? arrowBodyNoComma : arrowBody, popcontext);\n if (type == \"operator\") {\n if (/\\+\\+|--/.test(value) || isTS && value == \"!\") return cont(me);\n if (isTS && value == \"<\" && cx.stream.match(/^([^<>]|<[^<>]*>)*>\\s*\\(/, false))\n return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, me);\n if (value == \"?\") return cont(expression, expect(\":\"), expr);\n return cont(expr);\n }\n if (type == \"quasi\") { return pass(quasi, me); }\n if (type == \";\") return;\n if (type == \"(\") return contCommasep(expressionNoComma, \")\", \"call\", me);\n if (type == \".\") return cont(property, me);\n if (type == \"[\") return cont(pushlex(\"]\"), maybeexpression, expect(\"]\"), poplex, me);\n if (isTS && value == \"as\") { cx.marked = \"keyword\"; return cont(typeexpr, me) }\n if (type == \"regexp\") {\n cx.state.lastType = cx.marked = \"operator\"\n cx.stream.backUp(cx.stream.pos - cx.stream.start - 1)\n return cont(expr)\n }\n }\n function quasi(type, value) {\n if (type != \"quasi\") return pass();\n if (value.slice(value.length - 2) != \"${\") return cont(quasi);\n return cont(expression, continueQuasi);\n }\n function continueQuasi(type) {\n if (type == \"}\") {\n cx.marked = \"string-2\";\n cx.state.tokenize = tokenQuasi;\n return cont(quasi);\n }\n }\n function arrowBody(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expression);\n }\n function arrowBodyNoComma(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expressionNoComma);\n }\n function maybeTarget(noComma) {\n return function(type) {\n if (type == \".\") return cont(noComma ? targetNoComma : target);\n else if (type == \"variable\" && isTS) return cont(maybeTypeArgs, noComma ? maybeoperatorNoComma : maybeoperatorComma)\n else return pass(noComma ? expressionNoComma : expression);\n };\n }\n function target(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorComma); }\n }\n function targetNoComma(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorNoComma); }\n }\n function maybelabel(type) {\n if (type == \":\") return cont(poplex, statement);\n return pass(maybeoperatorComma, expect(\";\"), poplex);\n }\n function property(type) {\n if (type == \"variable\") {cx.marked = \"property\"; return cont();}\n }\n function objprop(type, value) {\n if (type == \"async\") {\n cx.marked = \"property\";\n return cont(objprop);\n } else if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n if (value == \"get\" || value == \"set\") return cont(getterSetter);\n var m // Work around fat-arrow-detection complication for detecting typescript typed arrow params\n if (isTS && cx.state.fatArrowAt == cx.stream.start && (m = cx.stream.match(/^\\s*:\\s*/, false)))\n cx.state.fatArrowAt = cx.stream.pos + m[0].length\n return cont(afterprop);\n } else if (type == \"number\" || type == \"string\") {\n cx.marked = jsonldMode ? \"property\" : (cx.style + \" property\");\n return cont(afterprop);\n } else if (type == \"jsonld-keyword\") {\n return cont(afterprop);\n } else if (isTS && isModifier(value)) {\n cx.marked = \"keyword\"\n return cont(objprop)\n } else if (type == \"[\") {\n return cont(expression, maybetype, expect(\"]\"), afterprop);\n } else if (type == \"spread\") {\n return cont(expressionNoComma, afterprop);\n } else if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(objprop);\n } else if (type == \":\") {\n return pass(afterprop)\n }\n }\n function getterSetter(type) {\n if (type != \"variable\") return pass(afterprop);\n cx.marked = \"property\";\n return cont(functiondef);\n }\n function afterprop(type) {\n if (type == \":\") return cont(expressionNoComma);\n if (type == \"(\") return pass(functiondef);\n }\n function commasep(what, end, sep) {\n function proceed(type, value) {\n if (sep ? sep.indexOf(type) > -1 : type == \",\") {\n var lex = cx.state.lexical;\n if (lex.info == \"call\") lex.pos = (lex.pos || 0) + 1;\n return cont(function(type, value) {\n if (type == end || value == end) return pass()\n return pass(what)\n }, proceed);\n }\n if (type == end || value == end) return cont();\n if (sep && sep.indexOf(\";\") > -1) return pass(what)\n return cont(expect(end));\n }\n return function(type, value) {\n if (type == end || value == end) return cont();\n return pass(what, proceed);\n };\n }\n function contCommasep(what, end, info) {\n for (var i = 3; i < arguments.length; i++)\n cx.cc.push(arguments[i]);\n return cont(pushlex(end, info), commasep(what, end), poplex);\n }\n function block(type) {\n if (type == \"}\") return cont();\n return pass(statement, block);\n }\n function maybetype(type, value) {\n if (isTS) {\n if (type == \":\") return cont(typeexpr);\n if (value == \"?\") return cont(maybetype);\n }\n }\n function maybetypeOrIn(type, value) {\n if (isTS && (type == \":\" || value == \"in\")) return cont(typeexpr)\n }\n function mayberettype(type) {\n if (isTS && type == \":\") {\n if (cx.stream.match(/^\\s*\\w+\\s+is\\b/, false)) return cont(expression, isKW, typeexpr)\n else return cont(typeexpr)\n }\n }\n function isKW(_, value) {\n if (value == \"is\") {\n cx.marked = \"keyword\"\n return cont()\n }\n }\n function typeexpr(type, value) {\n if (value == \"keyof\" || value == \"typeof\" || value == \"infer\" || value == \"readonly\") {\n cx.marked = \"keyword\"\n return cont(value == \"typeof\" ? expressionNoComma : typeexpr)\n }\n if (type == \"variable\" || value == \"void\") {\n cx.marked = \"type\"\n return cont(afterType)\n }\n if (value == \"|\" || value == \"&\") return cont(typeexpr)\n if (type == \"string\" || type == \"number\" || type == \"atom\") return cont(afterType);\n if (type == \"[\") return cont(pushlex(\"]\"), commasep(typeexpr, \"]\", \",\"), poplex, afterType)\n if (type == \"{\") return cont(pushlex(\"}\"), typeprops, poplex, afterType)\n if (type == \"(\") return cont(commasep(typearg, \")\"), maybeReturnType, afterType)\n if (type == \"<\") return cont(commasep(typeexpr, \">\"), typeexpr)\n if (type == \"quasi\") { return pass(quasiType, afterType); }\n }\n function maybeReturnType(type) {\n if (type == \"=>\") return cont(typeexpr)\n }\n function typeprops(type) {\n if (type.match(/[\\}\\)\\]]/)) return cont()\n if (type == \",\" || type == \";\") return cont(typeprops)\n return pass(typeprop, typeprops)\n }\n function typeprop(type, value) {\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\"\n return cont(typeprop)\n } else if (value == \"?\" || type == \"number\" || type == \"string\") {\n return cont(typeprop)\n } else if (type == \":\") {\n return cont(typeexpr)\n } else if (type == \"[\") {\n return cont(expect(\"variable\"), maybetypeOrIn, expect(\"]\"), typeprop)\n } else if (type == \"(\") {\n return pass(functiondecl, typeprop)\n } else if (!type.match(/[;\\}\\)\\],]/)) {\n return cont()\n }\n }\n function quasiType(type, value) {\n if (type != \"quasi\") return pass();\n if (value.slice(value.length - 2) != \"${\") return cont(quasiType);\n return cont(typeexpr, continueQuasiType);\n }\n function continueQuasiType(type) {\n if (type == \"}\") {\n cx.marked = \"string-2\";\n cx.state.tokenize = tokenQuasi;\n return cont(quasiType);\n }\n }\n function typearg(type, value) {\n if (type == \"variable\" && cx.stream.match(/^\\s*[?:]/, false) || value == \"?\") return cont(typearg)\n if (type == \":\") return cont(typeexpr)\n if (type == \"spread\") return cont(typearg)\n return pass(typeexpr)\n }\n function afterType(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n if (value == \"|\" || type == \".\" || value == \"&\") return cont(typeexpr)\n if (type == \"[\") return cont(typeexpr, expect(\"]\"), afterType)\n if (value == \"extends\" || value == \"implements\") { cx.marked = \"keyword\"; return cont(typeexpr) }\n if (value == \"?\") return cont(typeexpr, expect(\":\"), typeexpr)\n }\n function maybeTypeArgs(_, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n }\n function typeparam() {\n return pass(typeexpr, maybeTypeDefault)\n }\n function maybeTypeDefault(_, value) {\n if (value == \"=\") return cont(typeexpr)\n }\n function vardef(_, value) {\n if (value == \"enum\") {cx.marked = \"keyword\"; return cont(enumdef)}\n return pass(pattern, maybetype, maybeAssign, vardefCont);\n }\n function pattern(type, value) {\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(pattern) }\n if (type == \"variable\") { register(value); return cont(); }\n if (type == \"spread\") return cont(pattern);\n if (type == \"[\") return contCommasep(eltpattern, \"]\");\n if (type == \"{\") return contCommasep(proppattern, \"}\");\n }\n function proppattern(type, value) {\n if (type == \"variable\" && !cx.stream.match(/^\\s*:/, false)) {\n register(value);\n return cont(maybeAssign);\n }\n if (type == \"variable\") cx.marked = \"property\";\n if (type == \"spread\") return cont(pattern);\n if (type == \"}\") return pass();\n if (type == \"[\") return cont(expression, expect(']'), expect(':'), proppattern);\n return cont(expect(\":\"), pattern, maybeAssign);\n }\n function eltpattern() {\n return pass(pattern, maybeAssign)\n }\n function maybeAssign(_type, value) {\n if (value == \"=\") return cont(expressionNoComma);\n }\n function vardefCont(type) {\n if (type == \",\") return cont(vardef);\n }\n function maybeelse(type, value) {\n if (type == \"keyword b\" && value == \"else\") return cont(pushlex(\"form\", \"else\"), statement, poplex);\n }\n function forspec(type, value) {\n if (value == \"await\") return cont(forspec);\n if (type == \"(\") return cont(pushlex(\")\"), forspec1, poplex);\n }\n function forspec1(type) {\n if (type == \"var\") return cont(vardef, forspec2);\n if (type == \"variable\") return cont(forspec2);\n return pass(forspec2)\n }\n function forspec2(type, value) {\n if (type == \")\") return cont()\n if (type == \";\") return cont(forspec2)\n if (value == \"in\" || value == \"of\") { cx.marked = \"keyword\"; return cont(expression, forspec2) }\n return pass(expression, forspec2)\n }\n function functiondef(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondef);}\n if (type == \"variable\") {register(value); return cont(functiondef);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, statement, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondef)\n }\n function functiondecl(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondecl);}\n if (type == \"variable\") {register(value); return cont(functiondecl);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondecl)\n }\n function typename(type, value) {\n if (type == \"keyword\" || type == \"variable\") {\n cx.marked = \"type\"\n return cont(typename)\n } else if (value == \"<\") {\n return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex)\n }\n }\n function funarg(type, value) {\n if (value == \"@\") cont(expression, funarg)\n if (type == \"spread\") return cont(funarg);\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(funarg); }\n if (isTS && type == \"this\") return cont(maybetype, maybeAssign)\n return pass(pattern, maybetype, maybeAssign);\n }\n function classExpression(type, value) {\n // Class expressions may have an optional name.\n if (type == \"variable\") return className(type, value);\n return classNameAfter(type, value);\n }\n function className(type, value) {\n if (type == \"variable\") {register(value); return cont(classNameAfter);}\n }\n function classNameAfter(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, classNameAfter)\n if (value == \"extends\" || value == \"implements\" || (isTS && type == \",\")) {\n if (value == \"implements\") cx.marked = \"keyword\";\n return cont(isTS ? typeexpr : expression, classNameAfter);\n }\n if (type == \"{\") return cont(pushlex(\"}\"), classBody, poplex);\n }\n function classBody(type, value) {\n if (type == \"async\" ||\n (type == \"variable\" &&\n (value == \"static\" || value == \"get\" || value == \"set\" || (isTS && isModifier(value))) &&\n cx.stream.match(/^\\s+[\\w$\\xa1-\\uffff]/, false))) {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n return cont(classfield, classBody);\n }\n if (type == \"number\" || type == \"string\") return cont(classfield, classBody);\n if (type == \"[\")\n return cont(expression, maybetype, expect(\"]\"), classfield, classBody)\n if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (isTS && type == \"(\") return pass(functiondecl, classBody)\n if (type == \";\" || type == \",\") return cont(classBody);\n if (type == \"}\") return cont();\n if (value == \"@\") return cont(expression, classBody)\n }\n function classfield(type, value) {\n if (value == \"!\") return cont(classfield)\n if (value == \"?\") return cont(classfield)\n if (type == \":\") return cont(typeexpr, maybeAssign)\n if (value == \"=\") return cont(expressionNoComma)\n var context = cx.state.lexical.prev, isInterface = context && context.info == \"interface\"\n return pass(isInterface ? functiondecl : functiondef)\n }\n function afterExport(type, value) {\n if (value == \"*\") { cx.marked = \"keyword\"; return cont(maybeFrom, expect(\";\")); }\n if (value == \"default\") { cx.marked = \"keyword\"; return cont(expression, expect(\";\")); }\n if (type == \"{\") return cont(commasep(exportField, \"}\"), maybeFrom, expect(\";\"));\n return pass(statement);\n }\n function exportField(type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(expect(\"variable\")); }\n if (type == \"variable\") return pass(expressionNoComma, exportField);\n }\n function afterImport(type) {\n if (type == \"string\") return cont();\n if (type == \"(\") return pass(expression);\n if (type == \".\") return pass(maybeoperatorComma);\n return pass(importSpec, maybeMoreImports, maybeFrom);\n }\n function importSpec(type, value) {\n if (type == \"{\") return contCommasep(importSpec, \"}\");\n if (type == \"variable\") register(value);\n if (value == \"*\") cx.marked = \"keyword\";\n return cont(maybeAs);\n }\n function maybeMoreImports(type) {\n if (type == \",\") return cont(importSpec, maybeMoreImports)\n }\n function maybeAs(_type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(importSpec); }\n }\n function maybeFrom(_type, value) {\n if (value == \"from\") { cx.marked = \"keyword\"; return cont(expression); }\n }\n function arrayLiteral(type) {\n if (type == \"]\") return cont();\n return pass(commasep(expressionNoComma, \"]\"));\n }\n function enumdef() {\n return pass(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), commasep(enummember, \"}\"), poplex, poplex)\n }\n function enummember() {\n return pass(pattern, maybeAssign);\n }\n\n function isContinuedStatement(state, textAfter) {\n return state.lastType == \"operator\" || state.lastType == \",\" ||\n isOperatorChar.test(textAfter.charAt(0)) ||\n /[,.]/.test(textAfter.charAt(0));\n }\n\n function expressionAllowed(stream, state, backUp) {\n return state.tokenize == tokenBase &&\n /^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\\[{}\\(,;:]|=>)$/.test(state.lastType) ||\n (state.lastType == \"quasi\" && /\\{\\s*$/.test(stream.string.slice(0, stream.pos - (backUp || 0))))\n }\n\n // Interface\n\n return {\n startState: function(basecolumn) {\n var state = {\n tokenize: tokenBase,\n lastType: \"sof\",\n cc: [],\n lexical: new JSLexical((basecolumn || 0) - indentUnit, 0, \"block\", false),\n localVars: parserConfig.localVars,\n context: parserConfig.localVars && new Context(null, null, false),\n indented: basecolumn || 0\n };\n if (parserConfig.globalVars && typeof parserConfig.globalVars == \"object\")\n state.globalVars = parserConfig.globalVars;\n return state;\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = false;\n state.indented = stream.indentation();\n findFatArrow(stream, state);\n }\n if (state.tokenize != tokenComment && stream.eatSpace()) return null;\n var style = state.tokenize(stream, state);\n if (type == \"comment\") return style;\n state.lastType = type == \"operator\" && (content == \"++\" || content == \"--\") ? \"incdec\" : type;\n return parseJS(state, style, type, content, stream);\n },\n\n indent: function(state, textAfter) {\n if (state.tokenize == tokenComment || state.tokenize == tokenQuasi) return CodeMirror.Pass;\n if (state.tokenize != tokenBase) return 0;\n var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical, top\n // Kludge to prevent 'maybelse' from blocking lexical scope pops\n if (!/^\\s*else\\b/.test(textAfter)) for (var i = state.cc.length - 1; i >= 0; --i) {\n var c = state.cc[i];\n if (c == poplex) lexical = lexical.prev;\n else if (c != maybeelse && c != popcontext) break;\n }\n while ((lexical.type == \"stat\" || lexical.type == \"form\") &&\n (firstChar == \"}\" || ((top = state.cc[state.cc.length - 1]) &&\n (top == maybeoperatorComma || top == maybeoperatorNoComma) &&\n !/^[,\\.=+\\-*:?[\\(]/.test(textAfter))))\n lexical = lexical.prev;\n if (statementIndent && lexical.type == \")\" && lexical.prev.type == \"stat\")\n lexical = lexical.prev;\n var type = lexical.type, closing = firstChar == type;\n\n if (type == \"vardef\") return lexical.indented + (state.lastType == \"operator\" || state.lastType == \",\" ? lexical.info.length + 1 : 0);\n else if (type == \"form\" && firstChar == \"{\") return lexical.indented;\n else if (type == \"form\") return lexical.indented + indentUnit;\n else if (type == \"stat\")\n return lexical.indented + (isContinuedStatement(state, textAfter) ? statementIndent || indentUnit : 0);\n else if (lexical.info == \"switch\" && !closing && parserConfig.doubleIndentSwitch != false)\n return lexical.indented + (/^(?:case|default)\\b/.test(textAfter) ? indentUnit : 2 * indentUnit);\n else if (lexical.align) return lexical.column + (closing ? 0 : 1);\n else return lexical.indented + (closing ? 0 : indentUnit);\n },\n\n electricInput: /^\\s*(?:case .*?:|default:|\\{|\\})$/,\n blockCommentStart: jsonMode ? null : \"/*\",\n blockCommentEnd: jsonMode ? null : \"*/\",\n blockCommentContinue: jsonMode ? null : \" * \",\n lineComment: jsonMode ? null : \"//\",\n fold: \"brace\",\n closeBrackets: \"()[]{}''\\\"\\\"``\",\n\n helperType: jsonMode ? \"json\" : \"javascript\",\n jsonldMode: jsonldMode,\n jsonMode: jsonMode,\n\n expressionAllowed: expressionAllowed,\n\n skipExpression: function(state) {\n parseJS(state, \"atom\", \"atom\", \"true\", new CodeMirror.StringStream(\"\", 2, null))\n }\n };\n});\n\nCodeMirror.registerHelper(\"wordChars\", \"javascript\", /[\\w$]/);\n\nCodeMirror.defineMIME(\"text/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"text/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/x-javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/json\", { name: \"javascript\", json: true });\nCodeMirror.defineMIME(\"application/x-json\", { name: \"javascript\", json: true });\nCodeMirror.defineMIME(\"application/manifest+json\", { name: \"javascript\", json: true })\nCodeMirror.defineMIME(\"application/ld+json\", { name: \"javascript\", jsonld: true });\nCodeMirror.defineMIME(\"text/typescript\", { name: \"javascript\", typescript: true });\nCodeMirror.defineMIME(\"application/typescript\", { name: \"javascript\", typescript: true });\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"yaml\", function() {\n\n var cons = ['true', 'false', 'on', 'off', 'yes', 'no'];\n var keywordRegex = new RegExp(\"\\\\b((\"+cons.join(\")|(\")+\"))$\", 'i');\n\n return {\n token: function(stream, state) {\n var ch = stream.peek();\n var esc = state.escaped;\n state.escaped = false;\n /* comments */\n if (ch == \"#\" && (stream.pos == 0 || /\\s/.test(stream.string.charAt(stream.pos - 1)))) {\n stream.skipToEnd();\n return \"comment\";\n }\n\n if (stream.match(/^('([^']|\\\\.)*'?|\"([^\"]|\\\\.)*\"?)/))\n return \"string\";\n\n if (state.literal && stream.indentation() > state.keyCol) {\n stream.skipToEnd(); return \"string\";\n } else if (state.literal) { state.literal = false; }\n if (stream.sol()) {\n state.keyCol = 0;\n state.pair = false;\n state.pairStart = false;\n /* document start */\n if(stream.match('---')) { return \"def\"; }\n /* document end */\n if (stream.match('...')) { return \"def\"; }\n /* array list item */\n if (stream.match(/\\s*-\\s+/)) { return 'meta'; }\n }\n /* inline pairs/lists */\n if (stream.match(/^(\\{|\\}|\\[|\\])/)) {\n if (ch == '{')\n state.inlinePairs++;\n else if (ch == '}')\n state.inlinePairs--;\n else if (ch == '[')\n state.inlineList++;\n else\n state.inlineList--;\n return 'meta';\n }\n\n /* list separator */\n if (state.inlineList > 0 && !esc && ch == ',') {\n stream.next();\n return 'meta';\n }\n /* pairs separator */\n if (state.inlinePairs > 0 && !esc && ch == ',') {\n state.keyCol = 0;\n state.pair = false;\n state.pairStart = false;\n stream.next();\n return 'meta';\n }\n\n /* start of value of a pair */\n if (state.pairStart) {\n /* block literals */\n if (stream.match(/^\\s*(\\||\\>)\\s*/)) { state.literal = true; return 'meta'; };\n /* references */\n if (stream.match(/^\\s*(\\&|\\*)[a-z0-9\\._-]+\\b/i)) { return 'variable-2'; }\n /* numbers */\n if (state.inlinePairs == 0 && stream.match(/^\\s*-?[0-9\\.\\,]+\\s?$/)) { return 'number'; }\n if (state.inlinePairs > 0 && stream.match(/^\\s*-?[0-9\\.\\,]+\\s?(?=(,|}))/)) { return 'number'; }\n /* keywords */\n if (stream.match(keywordRegex)) { return 'keyword'; }\n }\n\n /* pairs (associative arrays) -> key */\n if (!state.pair && stream.match(/^\\s*(?:[,\\[\\]{}&*!|>'\"%@`][^\\s'\":]|[^,\\[\\]{}#&*!|>'\"%@`])[^#]*?(?=\\s*:($|\\s))/)) {\n state.pair = true;\n state.keyCol = stream.indentation();\n return \"atom\";\n }\n if (state.pair && stream.match(/^:\\s*/)) { state.pairStart = true; return 'meta'; }\n\n /* nothing found, continue */\n state.pairStart = false;\n state.escaped = (ch == '\\\\');\n stream.next();\n return null;\n },\n startState: function() {\n return {\n pair: false,\n pairStart: false,\n keyCol: 0,\n inlinePairs: 0,\n inlineList: 0,\n literal: false,\n escaped: false\n };\n },\n lineComment: \"#\",\n fold: \"indent\"\n };\n});\n\nCodeMirror.defineMIME(\"text/x-yaml\", \"yaml\");\nCodeMirror.defineMIME(\"text/yaml\", \"yaml\");\n\n});\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* BASICS */\\n\\n.CodeMirror {\\n /* Set height, width, borders, and global font properties here */\\n font-family: monospace;\\n height: 300px;\\n color: black;\\n direction: ltr;\\n}\\n\\n/* PADDING */\\n\\n.CodeMirror-lines {\\n padding: 4px 0; /* Vertical padding around content */\\n}\\n.CodeMirror pre.CodeMirror-line,\\n.CodeMirror pre.CodeMirror-line-like {\\n padding: 0 4px; /* Horizontal padding of content */\\n}\\n\\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\\n background-color: white; /* The little square between H and V scrollbars */\\n}\\n\\n/* GUTTER */\\n\\n.CodeMirror-gutters {\\n border-right: 1px solid #ddd;\\n background-color: #f7f7f7;\\n white-space: nowrap;\\n}\\n.CodeMirror-linenumbers {}\\n.CodeMirror-linenumber {\\n padding: 0 3px 0 5px;\\n min-width: 20px;\\n text-align: right;\\n color: #999;\\n white-space: nowrap;\\n}\\n\\n.CodeMirror-guttermarker { color: black; }\\n.CodeMirror-guttermarker-subtle { color: #999; }\\n\\n/* CURSOR */\\n\\n.CodeMirror-cursor {\\n border-left: 1px solid black;\\n border-right: none;\\n width: 0;\\n}\\n/* Shown when moving in bi-directional text */\\n.CodeMirror div.CodeMirror-secondarycursor {\\n border-left: 1px solid silver;\\n}\\n.cm-fat-cursor .CodeMirror-cursor {\\n width: auto;\\n border: 0 !important;\\n background: #7e7;\\n}\\n.cm-fat-cursor div.CodeMirror-cursors {\\n z-index: 1;\\n}\\n.cm-fat-cursor-mark {\\n background-color: rgba(20, 255, 20, 0.5);\\n -webkit-animation: blink 1.06s steps(1) infinite;\\n -moz-animation: blink 1.06s steps(1) infinite;\\n animation: blink 1.06s steps(1) infinite;\\n}\\n.cm-animate-fat-cursor {\\n width: auto;\\n border: 0;\\n -webkit-animation: blink 1.06s steps(1) infinite;\\n -moz-animation: blink 1.06s steps(1) infinite;\\n animation: blink 1.06s steps(1) infinite;\\n background-color: #7e7;\\n}\\n@-moz-keyframes blink {\\n 0% {}\\n 50% { background-color: transparent; }\\n 100% {}\\n}\\n@-webkit-keyframes blink {\\n 0% {}\\n 50% { background-color: transparent; }\\n 100% {}\\n}\\n@keyframes blink {\\n 0% {}\\n 50% { background-color: transparent; }\\n 100% {}\\n}\\n\\n/* Can style cursor different in overwrite (non-insert) mode */\\n.CodeMirror-overwrite .CodeMirror-cursor {}\\n\\n.cm-tab { display: inline-block; text-decoration: inherit; }\\n\\n.CodeMirror-rulers {\\n position: absolute;\\n left: 0; right: 0; top: -50px; bottom: 0;\\n overflow: hidden;\\n}\\n.CodeMirror-ruler {\\n border-left: 1px solid #ccc;\\n top: 0; bottom: 0;\\n position: absolute;\\n}\\n\\n/* DEFAULT THEME */\\n\\n.cm-s-default .cm-header {color: blue;}\\n.cm-s-default .cm-quote {color: #090;}\\n.cm-negative {color: #d44;}\\n.cm-positive {color: #292;}\\n.cm-header, .cm-strong {font-weight: bold;}\\n.cm-em {font-style: italic;}\\n.cm-link {text-decoration: underline;}\\n.cm-strikethrough {text-decoration: line-through;}\\n\\n.cm-s-default .cm-keyword {color: #708;}\\n.cm-s-default .cm-atom {color: #219;}\\n.cm-s-default .cm-number {color: #164;}\\n.cm-s-default .cm-def {color: #00f;}\\n.cm-s-default .cm-variable,\\n.cm-s-default .cm-punctuation,\\n.cm-s-default .cm-property,\\n.cm-s-default .cm-operator {}\\n.cm-s-default .cm-variable-2 {color: #05a;}\\n.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}\\n.cm-s-default .cm-comment {color: #a50;}\\n.cm-s-default .cm-string {color: #a11;}\\n.cm-s-default .cm-string-2 {color: #f50;}\\n.cm-s-default .cm-meta {color: #555;}\\n.cm-s-default .cm-qualifier {color: #555;}\\n.cm-s-default .cm-builtin {color: #30a;}\\n.cm-s-default .cm-bracket {color: #997;}\\n.cm-s-default .cm-tag {color: #170;}\\n.cm-s-default .cm-attribute {color: #00c;}\\n.cm-s-default .cm-hr {color: #999;}\\n.cm-s-default .cm-link {color: #00c;}\\n\\n.cm-s-default .cm-error {color: #f00;}\\n.cm-invalidchar {color: #f00;}\\n\\n.CodeMirror-composing { border-bottom: 2px solid; }\\n\\n/* Default styles for common addons */\\n\\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}\\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}\\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\\n.CodeMirror-activeline-background {background: #e8f2ff;}\\n\\n/* STOP */\\n\\n/* The rest of this file contains styles related to the mechanics of\\n the editor. You probably shouldn't touch them. */\\n\\n.CodeMirror {\\n position: relative;\\n overflow: hidden;\\n background: white;\\n}\\n\\n.CodeMirror-scroll {\\n overflow: scroll !important; /* Things will break if this is overridden */\\n /* 50px is the magic margin used to hide the element's real scrollbars */\\n /* See overflow: hidden in .CodeMirror */\\n margin-bottom: -50px; margin-right: -50px;\\n padding-bottom: 50px;\\n height: 100%;\\n outline: none; /* Prevent dragging from highlighting the element */\\n position: relative;\\n}\\n.CodeMirror-sizer {\\n position: relative;\\n border-right: 50px solid transparent;\\n}\\n\\n/* The fake, visible scrollbars. Used to force redraw during scrolling\\n before actual scrolling happens, thus preventing shaking and\\n flickering artifacts. */\\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\\n position: absolute;\\n z-index: 6;\\n display: none;\\n outline: none;\\n}\\n.CodeMirror-vscrollbar {\\n right: 0; top: 0;\\n overflow-x: hidden;\\n overflow-y: scroll;\\n}\\n.CodeMirror-hscrollbar {\\n bottom: 0; left: 0;\\n overflow-y: hidden;\\n overflow-x: scroll;\\n}\\n.CodeMirror-scrollbar-filler {\\n right: 0; bottom: 0;\\n}\\n.CodeMirror-gutter-filler {\\n left: 0; bottom: 0;\\n}\\n\\n.CodeMirror-gutters {\\n position: absolute; left: 0; top: 0;\\n min-height: 100%;\\n z-index: 3;\\n}\\n.CodeMirror-gutter {\\n white-space: normal;\\n height: 100%;\\n display: inline-block;\\n vertical-align: top;\\n margin-bottom: -50px;\\n}\\n.CodeMirror-gutter-wrapper {\\n position: absolute;\\n z-index: 4;\\n background: none !important;\\n border: none !important;\\n}\\n.CodeMirror-gutter-background {\\n position: absolute;\\n top: 0; bottom: 0;\\n z-index: 4;\\n}\\n.CodeMirror-gutter-elt {\\n position: absolute;\\n cursor: default;\\n z-index: 4;\\n}\\n.CodeMirror-gutter-wrapper ::selection { background-color: transparent }\\n.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }\\n\\n.CodeMirror-lines {\\n cursor: text;\\n min-height: 1px; /* prevents collapsing before first draw */\\n}\\n.CodeMirror pre.CodeMirror-line,\\n.CodeMirror pre.CodeMirror-line-like {\\n /* Reset some styles that the rest of the page might have set */\\n -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\\n border-width: 0;\\n background: transparent;\\n font-family: inherit;\\n font-size: inherit;\\n margin: 0;\\n white-space: pre;\\n word-wrap: normal;\\n line-height: inherit;\\n color: inherit;\\n z-index: 2;\\n position: relative;\\n overflow: visible;\\n -webkit-tap-highlight-color: transparent;\\n -webkit-font-variant-ligatures: contextual;\\n font-variant-ligatures: contextual;\\n}\\n.CodeMirror-wrap pre.CodeMirror-line,\\n.CodeMirror-wrap pre.CodeMirror-line-like {\\n word-wrap: break-word;\\n white-space: pre-wrap;\\n word-break: normal;\\n}\\n\\n.CodeMirror-linebackground {\\n position: absolute;\\n left: 0; right: 0; top: 0; bottom: 0;\\n z-index: 0;\\n}\\n\\n.CodeMirror-linewidget {\\n position: relative;\\n z-index: 2;\\n padding: 0.1px; /* Force widget margins to stay inside of the container */\\n}\\n\\n.CodeMirror-widget {}\\n\\n.CodeMirror-rtl pre { direction: rtl; }\\n\\n.CodeMirror-code {\\n outline: none;\\n}\\n\\n/* Force content-box sizing for the elements where we expect it */\\n.CodeMirror-scroll,\\n.CodeMirror-sizer,\\n.CodeMirror-gutter,\\n.CodeMirror-gutters,\\n.CodeMirror-linenumber {\\n -moz-box-sizing: content-box;\\n box-sizing: content-box;\\n}\\n\\n.CodeMirror-measure {\\n position: absolute;\\n width: 100%;\\n height: 0;\\n overflow: hidden;\\n visibility: hidden;\\n}\\n\\n.CodeMirror-cursor {\\n position: absolute;\\n pointer-events: none;\\n}\\n.CodeMirror-measure pre { position: static; }\\n\\ndiv.CodeMirror-cursors {\\n visibility: hidden;\\n position: relative;\\n z-index: 3;\\n}\\ndiv.CodeMirror-dragcursors {\\n visibility: visible;\\n}\\n\\n.CodeMirror-focused div.CodeMirror-cursors {\\n visibility: visible;\\n}\\n\\n.CodeMirror-selected { background: #d9d9d9; }\\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\\n.CodeMirror-crosshair { cursor: crosshair; }\\n.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }\\n.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }\\n\\n.cm-searching {\\n background-color: #ffa;\\n background-color: rgba(255, 255, 0, .4);\\n}\\n\\n/* Used to force a border model for a node */\\n.cm-force-border { padding-right: .1px; }\\n\\n@media print {\\n /* Hide the cursor when printing */\\n .CodeMirror div.CodeMirror-cursors {\\n visibility: hidden;\\n }\\n}\\n\\n/* See issue #2901 */\\n.cm-tab-wrap-hack:after { content: ''; }\\n\\n/* Help users use markselection to safely style text background */\\nspan.CodeMirror-selectedtext { background: none; }\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/codemirror/lib/codemirror.css\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"/* BASICS */\\n\\n.CodeMirror {\\n /* Set height, width, borders, and global font properties here */\\n font-family: monospace;\\n height: 300px;\\n color: black;\\n direction: ltr;\\n}\\n\\n/* PADDING */\\n\\n.CodeMirror-lines {\\n padding: 4px 0; /* Vertical padding around content */\\n}\\n.CodeMirror pre.CodeMirror-line,\\n.CodeMirror pre.CodeMirror-line-like {\\n padding: 0 4px; /* Horizontal padding of content */\\n}\\n\\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\\n background-color: white; /* The little square between H and V scrollbars */\\n}\\n\\n/* GUTTER */\\n\\n.CodeMirror-gutters {\\n border-right: 1px solid #ddd;\\n background-color: #f7f7f7;\\n white-space: nowrap;\\n}\\n.CodeMirror-linenumbers {}\\n.CodeMirror-linenumber {\\n padding: 0 3px 0 5px;\\n min-width: 20px;\\n text-align: right;\\n color: #999;\\n white-space: nowrap;\\n}\\n\\n.CodeMirror-guttermarker { color: black; }\\n.CodeMirror-guttermarker-subtle { color: #999; }\\n\\n/* CURSOR */\\n\\n.CodeMirror-cursor {\\n border-left: 1px solid black;\\n border-right: none;\\n width: 0;\\n}\\n/* Shown when moving in bi-directional text */\\n.CodeMirror div.CodeMirror-secondarycursor {\\n border-left: 1px solid silver;\\n}\\n.cm-fat-cursor .CodeMirror-cursor {\\n width: auto;\\n border: 0 !important;\\n background: #7e7;\\n}\\n.cm-fat-cursor div.CodeMirror-cursors {\\n z-index: 1;\\n}\\n.cm-fat-cursor-mark {\\n background-color: rgba(20, 255, 20, 0.5);\\n -webkit-animation: blink 1.06s steps(1) infinite;\\n -moz-animation: blink 1.06s steps(1) infinite;\\n animation: blink 1.06s steps(1) infinite;\\n}\\n.cm-animate-fat-cursor {\\n width: auto;\\n border: 0;\\n -webkit-animation: blink 1.06s steps(1) infinite;\\n -moz-animation: blink 1.06s steps(1) infinite;\\n animation: blink 1.06s steps(1) infinite;\\n background-color: #7e7;\\n}\\n@-moz-keyframes blink {\\n 0% {}\\n 50% { background-color: transparent; }\\n 100% {}\\n}\\n@-webkit-keyframes blink {\\n 0% {}\\n 50% { background-color: transparent; }\\n 100% {}\\n}\\n@keyframes blink {\\n 0% {}\\n 50% { background-color: transparent; }\\n 100% {}\\n}\\n\\n/* Can style cursor different in overwrite (non-insert) mode */\\n.CodeMirror-overwrite .CodeMirror-cursor {}\\n\\n.cm-tab { display: inline-block; text-decoration: inherit; }\\n\\n.CodeMirror-rulers {\\n position: absolute;\\n left: 0; right: 0; top: -50px; bottom: 0;\\n overflow: hidden;\\n}\\n.CodeMirror-ruler {\\n border-left: 1px solid #ccc;\\n top: 0; bottom: 0;\\n position: absolute;\\n}\\n\\n/* DEFAULT THEME */\\n\\n.cm-s-default .cm-header {color: blue;}\\n.cm-s-default .cm-quote {color: #090;}\\n.cm-negative {color: #d44;}\\n.cm-positive {color: #292;}\\n.cm-header, .cm-strong {font-weight: bold;}\\n.cm-em {font-style: italic;}\\n.cm-link {text-decoration: underline;}\\n.cm-strikethrough {text-decoration: line-through;}\\n\\n.cm-s-default .cm-keyword {color: #708;}\\n.cm-s-default .cm-atom {color: #219;}\\n.cm-s-default .cm-number {color: #164;}\\n.cm-s-default .cm-def {color: #00f;}\\n.cm-s-default .cm-variable,\\n.cm-s-default .cm-punctuation,\\n.cm-s-default .cm-property,\\n.cm-s-default .cm-operator {}\\n.cm-s-default .cm-variable-2 {color: #05a;}\\n.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}\\n.cm-s-default .cm-comment {color: #a50;}\\n.cm-s-default .cm-string {color: #a11;}\\n.cm-s-default .cm-string-2 {color: #f50;}\\n.cm-s-default .cm-meta {color: #555;}\\n.cm-s-default .cm-qualifier {color: #555;}\\n.cm-s-default .cm-builtin {color: #30a;}\\n.cm-s-default .cm-bracket {color: #997;}\\n.cm-s-default .cm-tag {color: #170;}\\n.cm-s-default .cm-attribute {color: #00c;}\\n.cm-s-default .cm-hr {color: #999;}\\n.cm-s-default .cm-link {color: #00c;}\\n\\n.cm-s-default .cm-error {color: #f00;}\\n.cm-invalidchar {color: #f00;}\\n\\n.CodeMirror-composing { border-bottom: 2px solid; }\\n\\n/* Default styles for common addons */\\n\\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}\\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}\\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\\n.CodeMirror-activeline-background {background: #e8f2ff;}\\n\\n/* STOP */\\n\\n/* The rest of this file contains styles related to the mechanics of\\n the editor. You probably shouldn't touch them. */\\n\\n.CodeMirror {\\n position: relative;\\n overflow: hidden;\\n background: white;\\n}\\n\\n.CodeMirror-scroll {\\n overflow: scroll !important; /* Things will break if this is overridden */\\n /* 50px is the magic margin used to hide the element's real scrollbars */\\n /* See overflow: hidden in .CodeMirror */\\n margin-bottom: -50px; margin-right: -50px;\\n padding-bottom: 50px;\\n height: 100%;\\n outline: none; /* Prevent dragging from highlighting the element */\\n position: relative;\\n}\\n.CodeMirror-sizer {\\n position: relative;\\n border-right: 50px solid transparent;\\n}\\n\\n/* The fake, visible scrollbars. Used to force redraw during scrolling\\n before actual scrolling happens, thus preventing shaking and\\n flickering artifacts. */\\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\\n position: absolute;\\n z-index: 6;\\n display: none;\\n outline: none;\\n}\\n.CodeMirror-vscrollbar {\\n right: 0; top: 0;\\n overflow-x: hidden;\\n overflow-y: scroll;\\n}\\n.CodeMirror-hscrollbar {\\n bottom: 0; left: 0;\\n overflow-y: hidden;\\n overflow-x: scroll;\\n}\\n.CodeMirror-scrollbar-filler {\\n right: 0; bottom: 0;\\n}\\n.CodeMirror-gutter-filler {\\n left: 0; bottom: 0;\\n}\\n\\n.CodeMirror-gutters {\\n position: absolute; left: 0; top: 0;\\n min-height: 100%;\\n z-index: 3;\\n}\\n.CodeMirror-gutter {\\n white-space: normal;\\n height: 100%;\\n display: inline-block;\\n vertical-align: top;\\n margin-bottom: -50px;\\n}\\n.CodeMirror-gutter-wrapper {\\n position: absolute;\\n z-index: 4;\\n background: none !important;\\n border: none !important;\\n}\\n.CodeMirror-gutter-background {\\n position: absolute;\\n top: 0; bottom: 0;\\n z-index: 4;\\n}\\n.CodeMirror-gutter-elt {\\n position: absolute;\\n cursor: default;\\n z-index: 4;\\n}\\n.CodeMirror-gutter-wrapper ::selection { background-color: transparent }\\n.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }\\n\\n.CodeMirror-lines {\\n cursor: text;\\n min-height: 1px; /* prevents collapsing before first draw */\\n}\\n.CodeMirror pre.CodeMirror-line,\\n.CodeMirror pre.CodeMirror-line-like {\\n /* Reset some styles that the rest of the page might have set */\\n -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\\n border-width: 0;\\n background: transparent;\\n font-family: inherit;\\n font-size: inherit;\\n margin: 0;\\n white-space: pre;\\n word-wrap: normal;\\n line-height: inherit;\\n color: inherit;\\n z-index: 2;\\n position: relative;\\n overflow: visible;\\n -webkit-tap-highlight-color: transparent;\\n -webkit-font-variant-ligatures: contextual;\\n font-variant-ligatures: contextual;\\n}\\n.CodeMirror-wrap pre.CodeMirror-line,\\n.CodeMirror-wrap pre.CodeMirror-line-like {\\n word-wrap: break-word;\\n white-space: pre-wrap;\\n word-break: normal;\\n}\\n\\n.CodeMirror-linebackground {\\n position: absolute;\\n left: 0; right: 0; top: 0; bottom: 0;\\n z-index: 0;\\n}\\n\\n.CodeMirror-linewidget {\\n position: relative;\\n z-index: 2;\\n padding: 0.1px; /* Force widget margins to stay inside of the container */\\n}\\n\\n.CodeMirror-widget {}\\n\\n.CodeMirror-rtl pre { direction: rtl; }\\n\\n.CodeMirror-code {\\n outline: none;\\n}\\n\\n/* Force content-box sizing for the elements where we expect it */\\n.CodeMirror-scroll,\\n.CodeMirror-sizer,\\n.CodeMirror-gutter,\\n.CodeMirror-gutters,\\n.CodeMirror-linenumber {\\n -moz-box-sizing: content-box;\\n box-sizing: content-box;\\n}\\n\\n.CodeMirror-measure {\\n position: absolute;\\n width: 100%;\\n height: 0;\\n overflow: hidden;\\n visibility: hidden;\\n}\\n\\n.CodeMirror-cursor {\\n position: absolute;\\n pointer-events: none;\\n}\\n.CodeMirror-measure pre { position: static; }\\n\\ndiv.CodeMirror-cursors {\\n visibility: hidden;\\n position: relative;\\n z-index: 3;\\n}\\ndiv.CodeMirror-dragcursors {\\n visibility: visible;\\n}\\n\\n.CodeMirror-focused div.CodeMirror-cursors {\\n visibility: visible;\\n}\\n\\n.CodeMirror-selected { background: #d9d9d9; }\\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\\n.CodeMirror-crosshair { cursor: crosshair; }\\n.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }\\n.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }\\n\\n.cm-searching {\\n background-color: #ffa;\\n background-color: rgba(255, 255, 0, .4);\\n}\\n\\n/* Used to force a border model for a node */\\n.cm-force-border { padding-right: .1px; }\\n\\n@media print {\\n /* Hide the cursor when printing */\\n .CodeMirror div.CodeMirror-cursors {\\n visibility: hidden;\\n }\\n}\\n\\n/* See issue #2901 */\\n.cm-tab-wrap-hack:after { content: ''; }\\n\\n/* Help users use markselection to safely style text background */\\nspan.CodeMirror-selectedtext { background: none; }\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"body {\\n padding: 0;\\n background-color: #f9f9f9;\\n font-family: sans-serif;\\n}\\n.container {\\n margin: 0;\\n display: flex;\\n flex-direction: column;\\n padding-bottom: 30px;\\n}\\n\\n#header {\\n padding: 10px 0px;\\n}\\n#header a {\\n font-size: 20px;\\n font-weight: 400;\\n text-decoration: none;\\n}\\n\\n#pane {\\n display: flex;\\n flex-direction: row;\\n}\\n#inputWrapper {\\n flex: 1;\\n}\\n#input {\\n margin-top: 3px;\\n}\\n\\n#input .CodeMirror {\\n border: 1px solid #ddd;\\n height: auto;\\n}\\n#path {\\n font-size: 20px;\\n padding: 6px 8px;\\n margin: 0;\\n margin-bottom: 10px;\\n}\\n#output {\\n flex: 0.3;\\n padding: 20px;\\n background: #f9f9f9;\\n}\\n\\nh1 {\\n margin: 10px;\\n}\\n\\n#footer {\\n position: fixed;\\n text-align: right;\\n bottom: 0px;\\n left:0px;\\n right: 0px;\\n padding: 5px 20px;\\n background: #eee;\\n opacity: 0.8;\\n z-index: 100;\\n font-size: 13px;\\n border-top: 1px solid #ddd;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./public/app.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,UAAU;EACV,yBAAyB;EACzB,uBAAuB;AACzB;AACA;EACE,SAAS;EACT,aAAa;EACb,sBAAsB;EACtB,oBAAoB;AACtB;;AAEA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,gBAAgB;EAChB,qBAAqB;AACvB;;AAEA;EACE,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,OAAO;AACT;AACA;EACE,eAAe;AACjB;;AAEA;EACE,sBAAsB;EACtB,YAAY;AACd;AACA;EACE,eAAe;EACf,gBAAgB;EAChB,SAAS;EACT,mBAAmB;AACrB;AACA;EACE,SAAS;EACT,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,eAAe;EACf,iBAAiB;EACjB,WAAW;EACX,QAAQ;EACR,UAAU;EACV,iBAAiB;EACjB,gBAAgB;EAChB,YAAY;EACZ,YAAY;EACZ,eAAe;EACf,0BAA0B;AAC5B\",\"sourcesContent\":[\"body {\\n padding: 0;\\n background-color: #f9f9f9;\\n font-family: sans-serif;\\n}\\n.container {\\n margin: 0;\\n display: flex;\\n flex-direction: column;\\n padding-bottom: 30px;\\n}\\n\\n#header {\\n padding: 10px 0px;\\n}\\n#header a {\\n font-size: 20px;\\n font-weight: 400;\\n text-decoration: none;\\n}\\n\\n#pane {\\n display: flex;\\n flex-direction: row;\\n}\\n#inputWrapper {\\n flex: 1;\\n}\\n#input {\\n margin-top: 3px;\\n}\\n\\n#input .CodeMirror {\\n border: 1px solid #ddd;\\n height: auto;\\n}\\n#path {\\n font-size: 20px;\\n padding: 6px 8px;\\n margin: 0;\\n margin-bottom: 10px;\\n}\\n#output {\\n flex: 0.3;\\n padding: 20px;\\n background: #f9f9f9;\\n}\\n\\nh1 {\\n margin: 10px;\\n}\\n\\n#footer {\\n position: fixed;\\n text-align: right;\\n bottom: 0px;\\n left:0px;\\n right: 0px;\\n padding: 5px 20px;\\n background: #eee;\\n opacity: 0.8;\\n z-index: 100;\\n font-size: 13px;\\n border-top: 1px solid #ddd;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","(function webpackUniversalModuleDefinition(root, factory) {\n/* istanbul ignore next */\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n/* istanbul ignore next */\n\telse if(typeof exports === 'object')\n\t\texports[\"esprima\"] = factory();\n\telse\n\t\troot[\"esprima\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/* istanbul ignore if */\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t/*\n\t Copyright JS Foundation and other contributors, https://js.foundation/\n\n\t Redistribution and use in source and binary forms, with or without\n\t modification, are permitted provided that the following conditions are met:\n\n\t * Redistributions of source code must retain the above copyright\n\t notice, this list of conditions and the following disclaimer.\n\t * Redistributions in binary form must reproduce the above copyright\n\t notice, this list of conditions and the following disclaimer in the\n\t documentation and/or other materials provided with the distribution.\n\n\t THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n\t AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n\t IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n\t ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY\n\t DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n\t (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n\t LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n\t ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n\t (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n\t THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\t*/\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar comment_handler_1 = __webpack_require__(1);\n\tvar jsx_parser_1 = __webpack_require__(3);\n\tvar parser_1 = __webpack_require__(8);\n\tvar tokenizer_1 = __webpack_require__(15);\n\tfunction parse(code, options, delegate) {\n\t var commentHandler = null;\n\t var proxyDelegate = function (node, metadata) {\n\t if (delegate) {\n\t delegate(node, metadata);\n\t }\n\t if (commentHandler) {\n\t commentHandler.visit(node, metadata);\n\t }\n\t };\n\t var parserDelegate = (typeof delegate === 'function') ? proxyDelegate : null;\n\t var collectComment = false;\n\t if (options) {\n\t collectComment = (typeof options.comment === 'boolean' && options.comment);\n\t var attachComment = (typeof options.attachComment === 'boolean' && options.attachComment);\n\t if (collectComment || attachComment) {\n\t commentHandler = new comment_handler_1.CommentHandler();\n\t commentHandler.attach = attachComment;\n\t options.comment = true;\n\t parserDelegate = proxyDelegate;\n\t }\n\t }\n\t var isModule = false;\n\t if (options && typeof options.sourceType === 'string') {\n\t isModule = (options.sourceType === 'module');\n\t }\n\t var parser;\n\t if (options && typeof options.jsx === 'boolean' && options.jsx) {\n\t parser = new jsx_parser_1.JSXParser(code, options, parserDelegate);\n\t }\n\t else {\n\t parser = new parser_1.Parser(code, options, parserDelegate);\n\t }\n\t var program = isModule ? parser.parseModule() : parser.parseScript();\n\t var ast = program;\n\t if (collectComment && commentHandler) {\n\t ast.comments = commentHandler.comments;\n\t }\n\t if (parser.config.tokens) {\n\t ast.tokens = parser.tokens;\n\t }\n\t if (parser.config.tolerant) {\n\t ast.errors = parser.errorHandler.errors;\n\t }\n\t return ast;\n\t}\n\texports.parse = parse;\n\tfunction parseModule(code, options, delegate) {\n\t var parsingOptions = options || {};\n\t parsingOptions.sourceType = 'module';\n\t return parse(code, parsingOptions, delegate);\n\t}\n\texports.parseModule = parseModule;\n\tfunction parseScript(code, options, delegate) {\n\t var parsingOptions = options || {};\n\t parsingOptions.sourceType = 'script';\n\t return parse(code, parsingOptions, delegate);\n\t}\n\texports.parseScript = parseScript;\n\tfunction tokenize(code, options, delegate) {\n\t var tokenizer = new tokenizer_1.Tokenizer(code, options);\n\t var tokens;\n\t tokens = [];\n\t try {\n\t while (true) {\n\t var token = tokenizer.getNextToken();\n\t if (!token) {\n\t break;\n\t }\n\t if (delegate) {\n\t token = delegate(token);\n\t }\n\t tokens.push(token);\n\t }\n\t }\n\t catch (e) {\n\t tokenizer.errorHandler.tolerate(e);\n\t }\n\t if (tokenizer.errorHandler.tolerant) {\n\t tokens.errors = tokenizer.errors();\n\t }\n\t return tokens;\n\t}\n\texports.tokenize = tokenize;\n\tvar syntax_1 = __webpack_require__(2);\n\texports.Syntax = syntax_1.Syntax;\n\t// Sync with *.json manifests.\n\texports.version = '4.0.1';\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar syntax_1 = __webpack_require__(2);\n\tvar CommentHandler = (function () {\n\t function CommentHandler() {\n\t this.attach = false;\n\t this.comments = [];\n\t this.stack = [];\n\t this.leading = [];\n\t this.trailing = [];\n\t }\n\t CommentHandler.prototype.insertInnerComments = function (node, metadata) {\n\t // innnerComments for properties empty block\n\t // `function a() {/** comments **\\/}`\n\t if (node.type === syntax_1.Syntax.BlockStatement && node.body.length === 0) {\n\t var innerComments = [];\n\t for (var i = this.leading.length - 1; i >= 0; --i) {\n\t var entry = this.leading[i];\n\t if (metadata.end.offset >= entry.start) {\n\t innerComments.unshift(entry.comment);\n\t this.leading.splice(i, 1);\n\t this.trailing.splice(i, 1);\n\t }\n\t }\n\t if (innerComments.length) {\n\t node.innerComments = innerComments;\n\t }\n\t }\n\t };\n\t CommentHandler.prototype.findTrailingComments = function (metadata) {\n\t var trailingComments = [];\n\t if (this.trailing.length > 0) {\n\t for (var i = this.trailing.length - 1; i >= 0; --i) {\n\t var entry_1 = this.trailing[i];\n\t if (entry_1.start >= metadata.end.offset) {\n\t trailingComments.unshift(entry_1.comment);\n\t }\n\t }\n\t this.trailing.length = 0;\n\t return trailingComments;\n\t }\n\t var entry = this.stack[this.stack.length - 1];\n\t if (entry && entry.node.trailingComments) {\n\t var firstComment = entry.node.trailingComments[0];\n\t if (firstComment && firstComment.range[0] >= metadata.end.offset) {\n\t trailingComments = entry.node.trailingComments;\n\t delete entry.node.trailingComments;\n\t }\n\t }\n\t return trailingComments;\n\t };\n\t CommentHandler.prototype.findLeadingComments = function (metadata) {\n\t var leadingComments = [];\n\t var target;\n\t while (this.stack.length > 0) {\n\t var entry = this.stack[this.stack.length - 1];\n\t if (entry && entry.start >= metadata.start.offset) {\n\t target = entry.node;\n\t this.stack.pop();\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t if (target) {\n\t var count = target.leadingComments ? target.leadingComments.length : 0;\n\t for (var i = count - 1; i >= 0; --i) {\n\t var comment = target.leadingComments[i];\n\t if (comment.range[1] <= metadata.start.offset) {\n\t leadingComments.unshift(comment);\n\t target.leadingComments.splice(i, 1);\n\t }\n\t }\n\t if (target.leadingComments && target.leadingComments.length === 0) {\n\t delete target.leadingComments;\n\t }\n\t return leadingComments;\n\t }\n\t for (var i = this.leading.length - 1; i >= 0; --i) {\n\t var entry = this.leading[i];\n\t if (entry.start <= metadata.start.offset) {\n\t leadingComments.unshift(entry.comment);\n\t this.leading.splice(i, 1);\n\t }\n\t }\n\t return leadingComments;\n\t };\n\t CommentHandler.prototype.visitNode = function (node, metadata) {\n\t if (node.type === syntax_1.Syntax.Program && node.body.length > 0) {\n\t return;\n\t }\n\t this.insertInnerComments(node, metadata);\n\t var trailingComments = this.findTrailingComments(metadata);\n\t var leadingComments = this.findLeadingComments(metadata);\n\t if (leadingComments.length > 0) {\n\t node.leadingComments = leadingComments;\n\t }\n\t if (trailingComments.length > 0) {\n\t node.trailingComments = trailingComments;\n\t }\n\t this.stack.push({\n\t node: node,\n\t start: metadata.start.offset\n\t });\n\t };\n\t CommentHandler.prototype.visitComment = function (node, metadata) {\n\t var type = (node.type[0] === 'L') ? 'Line' : 'Block';\n\t var comment = {\n\t type: type,\n\t value: node.value\n\t };\n\t if (node.range) {\n\t comment.range = node.range;\n\t }\n\t if (node.loc) {\n\t comment.loc = node.loc;\n\t }\n\t this.comments.push(comment);\n\t if (this.attach) {\n\t var entry = {\n\t comment: {\n\t type: type,\n\t value: node.value,\n\t range: [metadata.start.offset, metadata.end.offset]\n\t },\n\t start: metadata.start.offset\n\t };\n\t if (node.loc) {\n\t entry.comment.loc = node.loc;\n\t }\n\t node.type = type;\n\t this.leading.push(entry);\n\t this.trailing.push(entry);\n\t }\n\t };\n\t CommentHandler.prototype.visit = function (node, metadata) {\n\t if (node.type === 'LineComment') {\n\t this.visitComment(node, metadata);\n\t }\n\t else if (node.type === 'BlockComment') {\n\t this.visitComment(node, metadata);\n\t }\n\t else if (this.attach) {\n\t this.visitNode(node, metadata);\n\t }\n\t };\n\t return CommentHandler;\n\t}());\n\texports.CommentHandler = CommentHandler;\n\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\texports.Syntax = {\n\t AssignmentExpression: 'AssignmentExpression',\n\t AssignmentPattern: 'AssignmentPattern',\n\t ArrayExpression: 'ArrayExpression',\n\t ArrayPattern: 'ArrayPattern',\n\t ArrowFunctionExpression: 'ArrowFunctionExpression',\n\t AwaitExpression: 'AwaitExpression',\n\t BlockStatement: 'BlockStatement',\n\t BinaryExpression: 'BinaryExpression',\n\t BreakStatement: 'BreakStatement',\n\t CallExpression: 'CallExpression',\n\t CatchClause: 'CatchClause',\n\t ClassBody: 'ClassBody',\n\t ClassDeclaration: 'ClassDeclaration',\n\t ClassExpression: 'ClassExpression',\n\t ConditionalExpression: 'ConditionalExpression',\n\t ContinueStatement: 'ContinueStatement',\n\t DoWhileStatement: 'DoWhileStatement',\n\t DebuggerStatement: 'DebuggerStatement',\n\t EmptyStatement: 'EmptyStatement',\n\t ExportAllDeclaration: 'ExportAllDeclaration',\n\t ExportDefaultDeclaration: 'ExportDefaultDeclaration',\n\t ExportNamedDeclaration: 'ExportNamedDeclaration',\n\t ExportSpecifier: 'ExportSpecifier',\n\t ExpressionStatement: 'ExpressionStatement',\n\t ForStatement: 'ForStatement',\n\t ForOfStatement: 'ForOfStatement',\n\t ForInStatement: 'ForInStatement',\n\t FunctionDeclaration: 'FunctionDeclaration',\n\t FunctionExpression: 'FunctionExpression',\n\t Identifier: 'Identifier',\n\t IfStatement: 'IfStatement',\n\t ImportDeclaration: 'ImportDeclaration',\n\t ImportDefaultSpecifier: 'ImportDefaultSpecifier',\n\t ImportNamespaceSpecifier: 'ImportNamespaceSpecifier',\n\t ImportSpecifier: 'ImportSpecifier',\n\t Literal: 'Literal',\n\t LabeledStatement: 'LabeledStatement',\n\t LogicalExpression: 'LogicalExpression',\n\t MemberExpression: 'MemberExpression',\n\t MetaProperty: 'MetaProperty',\n\t MethodDefinition: 'MethodDefinition',\n\t NewExpression: 'NewExpression',\n\t ObjectExpression: 'ObjectExpression',\n\t ObjectPattern: 'ObjectPattern',\n\t Program: 'Program',\n\t Property: 'Property',\n\t RestElement: 'RestElement',\n\t ReturnStatement: 'ReturnStatement',\n\t SequenceExpression: 'SequenceExpression',\n\t SpreadElement: 'SpreadElement',\n\t Super: 'Super',\n\t SwitchCase: 'SwitchCase',\n\t SwitchStatement: 'SwitchStatement',\n\t TaggedTemplateExpression: 'TaggedTemplateExpression',\n\t TemplateElement: 'TemplateElement',\n\t TemplateLiteral: 'TemplateLiteral',\n\t ThisExpression: 'ThisExpression',\n\t ThrowStatement: 'ThrowStatement',\n\t TryStatement: 'TryStatement',\n\t UnaryExpression: 'UnaryExpression',\n\t UpdateExpression: 'UpdateExpression',\n\t VariableDeclaration: 'VariableDeclaration',\n\t VariableDeclarator: 'VariableDeclarator',\n\t WhileStatement: 'WhileStatement',\n\t WithStatement: 'WithStatement',\n\t YieldExpression: 'YieldExpression'\n\t};\n\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n/* istanbul ignore next */\n\tvar __extends = (this && this.__extends) || (function () {\n\t var extendStatics = Object.setPrototypeOf ||\n\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n\t function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n\t return function (d, b) {\n\t extendStatics(d, b);\n\t function __() { this.constructor = d; }\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n\t };\n\t})();\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar character_1 = __webpack_require__(4);\n\tvar JSXNode = __webpack_require__(5);\n\tvar jsx_syntax_1 = __webpack_require__(6);\n\tvar Node = __webpack_require__(7);\n\tvar parser_1 = __webpack_require__(8);\n\tvar token_1 = __webpack_require__(13);\n\tvar xhtml_entities_1 = __webpack_require__(14);\n\ttoken_1.TokenName[100 /* Identifier */] = 'JSXIdentifier';\n\ttoken_1.TokenName[101 /* Text */] = 'JSXText';\n\t// Fully qualified element name, e.g. returns \"svg:path\"\n\tfunction getQualifiedElementName(elementName) {\n\t var qualifiedName;\n\t switch (elementName.type) {\n\t case jsx_syntax_1.JSXSyntax.JSXIdentifier:\n\t var id = elementName;\n\t qualifiedName = id.name;\n\t break;\n\t case jsx_syntax_1.JSXSyntax.JSXNamespacedName:\n\t var ns = elementName;\n\t qualifiedName = getQualifiedElementName(ns.namespace) + ':' +\n\t getQualifiedElementName(ns.name);\n\t break;\n\t case jsx_syntax_1.JSXSyntax.JSXMemberExpression:\n\t var expr = elementName;\n\t qualifiedName = getQualifiedElementName(expr.object) + '.' +\n\t getQualifiedElementName(expr.property);\n\t break;\n\t /* istanbul ignore next */\n\t default:\n\t break;\n\t }\n\t return qualifiedName;\n\t}\n\tvar JSXParser = (function (_super) {\n\t __extends(JSXParser, _super);\n\t function JSXParser(code, options, delegate) {\n\t return _super.call(this, code, options, delegate) || this;\n\t }\n\t JSXParser.prototype.parsePrimaryExpression = function () {\n\t return this.match('<') ? this.parseJSXRoot() : _super.prototype.parsePrimaryExpression.call(this);\n\t };\n\t JSXParser.prototype.startJSX = function () {\n\t // Unwind the scanner before the lookahead token.\n\t this.scanner.index = this.startMarker.index;\n\t this.scanner.lineNumber = this.startMarker.line;\n\t this.scanner.lineStart = this.startMarker.index - this.startMarker.column;\n\t };\n\t JSXParser.prototype.finishJSX = function () {\n\t // Prime the next lookahead.\n\t this.nextToken();\n\t };\n\t JSXParser.prototype.reenterJSX = function () {\n\t this.startJSX();\n\t this.expectJSX('}');\n\t // Pop the closing '}' added from the lookahead.\n\t if (this.config.tokens) {\n\t this.tokens.pop();\n\t }\n\t };\n\t JSXParser.prototype.createJSXNode = function () {\n\t this.collectComments();\n\t return {\n\t index: this.scanner.index,\n\t line: this.scanner.lineNumber,\n\t column: this.scanner.index - this.scanner.lineStart\n\t };\n\t };\n\t JSXParser.prototype.createJSXChildNode = function () {\n\t return {\n\t index: this.scanner.index,\n\t line: this.scanner.lineNumber,\n\t column: this.scanner.index - this.scanner.lineStart\n\t };\n\t };\n\t JSXParser.prototype.scanXHTMLEntity = function (quote) {\n\t var result = '&';\n\t var valid = true;\n\t var terminated = false;\n\t var numeric = false;\n\t var hex = false;\n\t while (!this.scanner.eof() && valid && !terminated) {\n\t var ch = this.scanner.source[this.scanner.index];\n\t if (ch === quote) {\n\t break;\n\t }\n\t terminated = (ch === ';');\n\t result += ch;\n\t ++this.scanner.index;\n\t if (!terminated) {\n\t switch (result.length) {\n\t case 2:\n\t // e.g. '{'\n\t numeric = (ch === '#');\n\t break;\n\t case 3:\n\t if (numeric) {\n\t // e.g. 'A'\n\t hex = (ch === 'x');\n\t valid = hex || character_1.Character.isDecimalDigit(ch.charCodeAt(0));\n\t numeric = numeric && !hex;\n\t }\n\t break;\n\t default:\n\t valid = valid && !(numeric && !character_1.Character.isDecimalDigit(ch.charCodeAt(0)));\n\t valid = valid && !(hex && !character_1.Character.isHexDigit(ch.charCodeAt(0)));\n\t break;\n\t }\n\t }\n\t }\n\t if (valid && terminated && result.length > 2) {\n\t // e.g. 'A' becomes just '#x41'\n\t var str = result.substr(1, result.length - 2);\n\t if (numeric && str.length > 1) {\n\t result = String.fromCharCode(parseInt(str.substr(1), 10));\n\t }\n\t else if (hex && str.length > 2) {\n\t result = String.fromCharCode(parseInt('0' + str.substr(1), 16));\n\t }\n\t else if (!numeric && !hex && xhtml_entities_1.XHTMLEntities[str]) {\n\t result = xhtml_entities_1.XHTMLEntities[str];\n\t }\n\t }\n\t return result;\n\t };\n\t // Scan the next JSX token. This replaces Scanner#lex when in JSX mode.\n\t JSXParser.prototype.lexJSX = function () {\n\t var cp = this.scanner.source.charCodeAt(this.scanner.index);\n\t // < > / : = { }\n\t if (cp === 60 || cp === 62 || cp === 47 || cp === 58 || cp === 61 || cp === 123 || cp === 125) {\n\t var value = this.scanner.source[this.scanner.index++];\n\t return {\n\t type: 7 /* Punctuator */,\n\t value: value,\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: this.scanner.index - 1,\n\t end: this.scanner.index\n\t };\n\t }\n\t // \" '\n\t if (cp === 34 || cp === 39) {\n\t var start = this.scanner.index;\n\t var quote = this.scanner.source[this.scanner.index++];\n\t var str = '';\n\t while (!this.scanner.eof()) {\n\t var ch = this.scanner.source[this.scanner.index++];\n\t if (ch === quote) {\n\t break;\n\t }\n\t else if (ch === '&') {\n\t str += this.scanXHTMLEntity(quote);\n\t }\n\t else {\n\t str += ch;\n\t }\n\t }\n\t return {\n\t type: 8 /* StringLiteral */,\n\t value: str,\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: start,\n\t end: this.scanner.index\n\t };\n\t }\n\t // ... or .\n\t if (cp === 46) {\n\t var n1 = this.scanner.source.charCodeAt(this.scanner.index + 1);\n\t var n2 = this.scanner.source.charCodeAt(this.scanner.index + 2);\n\t var value = (n1 === 46 && n2 === 46) ? '...' : '.';\n\t var start = this.scanner.index;\n\t this.scanner.index += value.length;\n\t return {\n\t type: 7 /* Punctuator */,\n\t value: value,\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: start,\n\t end: this.scanner.index\n\t };\n\t }\n\t // `\n\t if (cp === 96) {\n\t // Only placeholder, since it will be rescanned as a real assignment expression.\n\t return {\n\t type: 10 /* Template */,\n\t value: '',\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: this.scanner.index,\n\t end: this.scanner.index\n\t };\n\t }\n\t // Identifer can not contain backslash (char code 92).\n\t if (character_1.Character.isIdentifierStart(cp) && (cp !== 92)) {\n\t var start = this.scanner.index;\n\t ++this.scanner.index;\n\t while (!this.scanner.eof()) {\n\t var ch = this.scanner.source.charCodeAt(this.scanner.index);\n\t if (character_1.Character.isIdentifierPart(ch) && (ch !== 92)) {\n\t ++this.scanner.index;\n\t }\n\t else if (ch === 45) {\n\t // Hyphen (char code 45) can be part of an identifier.\n\t ++this.scanner.index;\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t var id = this.scanner.source.slice(start, this.scanner.index);\n\t return {\n\t type: 100 /* Identifier */,\n\t value: id,\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: start,\n\t end: this.scanner.index\n\t };\n\t }\n\t return this.scanner.lex();\n\t };\n\t JSXParser.prototype.nextJSXToken = function () {\n\t this.collectComments();\n\t this.startMarker.index = this.scanner.index;\n\t this.startMarker.line = this.scanner.lineNumber;\n\t this.startMarker.column = this.scanner.index - this.scanner.lineStart;\n\t var token = this.lexJSX();\n\t this.lastMarker.index = this.scanner.index;\n\t this.lastMarker.line = this.scanner.lineNumber;\n\t this.lastMarker.column = this.scanner.index - this.scanner.lineStart;\n\t if (this.config.tokens) {\n\t this.tokens.push(this.convertToken(token));\n\t }\n\t return token;\n\t };\n\t JSXParser.prototype.nextJSXText = function () {\n\t this.startMarker.index = this.scanner.index;\n\t this.startMarker.line = this.scanner.lineNumber;\n\t this.startMarker.column = this.scanner.index - this.scanner.lineStart;\n\t var start = this.scanner.index;\n\t var text = '';\n\t while (!this.scanner.eof()) {\n\t var ch = this.scanner.source[this.scanner.index];\n\t if (ch === '{' || ch === '<') {\n\t break;\n\t }\n\t ++this.scanner.index;\n\t text += ch;\n\t if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) {\n\t ++this.scanner.lineNumber;\n\t if (ch === '\\r' && this.scanner.source[this.scanner.index] === '\\n') {\n\t ++this.scanner.index;\n\t }\n\t this.scanner.lineStart = this.scanner.index;\n\t }\n\t }\n\t this.lastMarker.index = this.scanner.index;\n\t this.lastMarker.line = this.scanner.lineNumber;\n\t this.lastMarker.column = this.scanner.index - this.scanner.lineStart;\n\t var token = {\n\t type: 101 /* Text */,\n\t value: text,\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: start,\n\t end: this.scanner.index\n\t };\n\t if ((text.length > 0) && this.config.tokens) {\n\t this.tokens.push(this.convertToken(token));\n\t }\n\t return token;\n\t };\n\t JSXParser.prototype.peekJSXToken = function () {\n\t var state = this.scanner.saveState();\n\t this.scanner.scanComments();\n\t var next = this.lexJSX();\n\t this.scanner.restoreState(state);\n\t return next;\n\t };\n\t // Expect the next JSX token to match the specified punctuator.\n\t // If not, an exception will be thrown.\n\t JSXParser.prototype.expectJSX = function (value) {\n\t var token = this.nextJSXToken();\n\t if (token.type !== 7 /* Punctuator */ || token.value !== value) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t };\n\t // Return true if the next JSX token matches the specified punctuator.\n\t JSXParser.prototype.matchJSX = function (value) {\n\t var next = this.peekJSXToken();\n\t return next.type === 7 /* Punctuator */ && next.value === value;\n\t };\n\t JSXParser.prototype.parseJSXIdentifier = function () {\n\t var node = this.createJSXNode();\n\t var token = this.nextJSXToken();\n\t if (token.type !== 100 /* Identifier */) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t return this.finalize(node, new JSXNode.JSXIdentifier(token.value));\n\t };\n\t JSXParser.prototype.parseJSXElementName = function () {\n\t var node = this.createJSXNode();\n\t var elementName = this.parseJSXIdentifier();\n\t if (this.matchJSX(':')) {\n\t var namespace = elementName;\n\t this.expectJSX(':');\n\t var name_1 = this.parseJSXIdentifier();\n\t elementName = this.finalize(node, new JSXNode.JSXNamespacedName(namespace, name_1));\n\t }\n\t else if (this.matchJSX('.')) {\n\t while (this.matchJSX('.')) {\n\t var object = elementName;\n\t this.expectJSX('.');\n\t var property = this.parseJSXIdentifier();\n\t elementName = this.finalize(node, new JSXNode.JSXMemberExpression(object, property));\n\t }\n\t }\n\t return elementName;\n\t };\n\t JSXParser.prototype.parseJSXAttributeName = function () {\n\t var node = this.createJSXNode();\n\t var attributeName;\n\t var identifier = this.parseJSXIdentifier();\n\t if (this.matchJSX(':')) {\n\t var namespace = identifier;\n\t this.expectJSX(':');\n\t var name_2 = this.parseJSXIdentifier();\n\t attributeName = this.finalize(node, new JSXNode.JSXNamespacedName(namespace, name_2));\n\t }\n\t else {\n\t attributeName = identifier;\n\t }\n\t return attributeName;\n\t };\n\t JSXParser.prototype.parseJSXStringLiteralAttribute = function () {\n\t var node = this.createJSXNode();\n\t var token = this.nextJSXToken();\n\t if (token.type !== 8 /* StringLiteral */) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t var raw = this.getTokenRaw(token);\n\t return this.finalize(node, new Node.Literal(token.value, raw));\n\t };\n\t JSXParser.prototype.parseJSXExpressionAttribute = function () {\n\t var node = this.createJSXNode();\n\t this.expectJSX('{');\n\t this.finishJSX();\n\t if (this.match('}')) {\n\t this.tolerateError('JSX attributes must only be assigned a non-empty expression');\n\t }\n\t var expression = this.parseAssignmentExpression();\n\t this.reenterJSX();\n\t return this.finalize(node, new JSXNode.JSXExpressionContainer(expression));\n\t };\n\t JSXParser.prototype.parseJSXAttributeValue = function () {\n\t return this.matchJSX('{') ? this.parseJSXExpressionAttribute() :\n\t this.matchJSX('<') ? this.parseJSXElement() : this.parseJSXStringLiteralAttribute();\n\t };\n\t JSXParser.prototype.parseJSXNameValueAttribute = function () {\n\t var node = this.createJSXNode();\n\t var name = this.parseJSXAttributeName();\n\t var value = null;\n\t if (this.matchJSX('=')) {\n\t this.expectJSX('=');\n\t value = this.parseJSXAttributeValue();\n\t }\n\t return this.finalize(node, new JSXNode.JSXAttribute(name, value));\n\t };\n\t JSXParser.prototype.parseJSXSpreadAttribute = function () {\n\t var node = this.createJSXNode();\n\t this.expectJSX('{');\n\t this.expectJSX('...');\n\t this.finishJSX();\n\t var argument = this.parseAssignmentExpression();\n\t this.reenterJSX();\n\t return this.finalize(node, new JSXNode.JSXSpreadAttribute(argument));\n\t };\n\t JSXParser.prototype.parseJSXAttributes = function () {\n\t var attributes = [];\n\t while (!this.matchJSX('/') && !this.matchJSX('>')) {\n\t var attribute = this.matchJSX('{') ? this.parseJSXSpreadAttribute() :\n\t this.parseJSXNameValueAttribute();\n\t attributes.push(attribute);\n\t }\n\t return attributes;\n\t };\n\t JSXParser.prototype.parseJSXOpeningElement = function () {\n\t var node = this.createJSXNode();\n\t this.expectJSX('<');\n\t var name = this.parseJSXElementName();\n\t var attributes = this.parseJSXAttributes();\n\t var selfClosing = this.matchJSX('/');\n\t if (selfClosing) {\n\t this.expectJSX('/');\n\t }\n\t this.expectJSX('>');\n\t return this.finalize(node, new JSXNode.JSXOpeningElement(name, selfClosing, attributes));\n\t };\n\t JSXParser.prototype.parseJSXBoundaryElement = function () {\n\t var node = this.createJSXNode();\n\t this.expectJSX('<');\n\t if (this.matchJSX('/')) {\n\t this.expectJSX('/');\n\t var name_3 = this.parseJSXElementName();\n\t this.expectJSX('>');\n\t return this.finalize(node, new JSXNode.JSXClosingElement(name_3));\n\t }\n\t var name = this.parseJSXElementName();\n\t var attributes = this.parseJSXAttributes();\n\t var selfClosing = this.matchJSX('/');\n\t if (selfClosing) {\n\t this.expectJSX('/');\n\t }\n\t this.expectJSX('>');\n\t return this.finalize(node, new JSXNode.JSXOpeningElement(name, selfClosing, attributes));\n\t };\n\t JSXParser.prototype.parseJSXEmptyExpression = function () {\n\t var node = this.createJSXChildNode();\n\t this.collectComments();\n\t this.lastMarker.index = this.scanner.index;\n\t this.lastMarker.line = this.scanner.lineNumber;\n\t this.lastMarker.column = this.scanner.index - this.scanner.lineStart;\n\t return this.finalize(node, new JSXNode.JSXEmptyExpression());\n\t };\n\t JSXParser.prototype.parseJSXExpressionContainer = function () {\n\t var node = this.createJSXNode();\n\t this.expectJSX('{');\n\t var expression;\n\t if (this.matchJSX('}')) {\n\t expression = this.parseJSXEmptyExpression();\n\t this.expectJSX('}');\n\t }\n\t else {\n\t this.finishJSX();\n\t expression = this.parseAssignmentExpression();\n\t this.reenterJSX();\n\t }\n\t return this.finalize(node, new JSXNode.JSXExpressionContainer(expression));\n\t };\n\t JSXParser.prototype.parseJSXChildren = function () {\n\t var children = [];\n\t while (!this.scanner.eof()) {\n\t var node = this.createJSXChildNode();\n\t var token = this.nextJSXText();\n\t if (token.start < token.end) {\n\t var raw = this.getTokenRaw(token);\n\t var child = this.finalize(node, new JSXNode.JSXText(token.value, raw));\n\t children.push(child);\n\t }\n\t if (this.scanner.source[this.scanner.index] === '{') {\n\t var container = this.parseJSXExpressionContainer();\n\t children.push(container);\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t return children;\n\t };\n\t JSXParser.prototype.parseComplexJSXElement = function (el) {\n\t var stack = [];\n\t while (!this.scanner.eof()) {\n\t el.children = el.children.concat(this.parseJSXChildren());\n\t var node = this.createJSXChildNode();\n\t var element = this.parseJSXBoundaryElement();\n\t if (element.type === jsx_syntax_1.JSXSyntax.JSXOpeningElement) {\n\t var opening = element;\n\t if (opening.selfClosing) {\n\t var child = this.finalize(node, new JSXNode.JSXElement(opening, [], null));\n\t el.children.push(child);\n\t }\n\t else {\n\t stack.push(el);\n\t el = { node: node, opening: opening, closing: null, children: [] };\n\t }\n\t }\n\t if (element.type === jsx_syntax_1.JSXSyntax.JSXClosingElement) {\n\t el.closing = element;\n\t var open_1 = getQualifiedElementName(el.opening.name);\n\t var close_1 = getQualifiedElementName(el.closing.name);\n\t if (open_1 !== close_1) {\n\t this.tolerateError('Expected corresponding JSX closing tag for %0', open_1);\n\t }\n\t if (stack.length > 0) {\n\t var child = this.finalize(el.node, new JSXNode.JSXElement(el.opening, el.children, el.closing));\n\t el = stack[stack.length - 1];\n\t el.children.push(child);\n\t stack.pop();\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t }\n\t return el;\n\t };\n\t JSXParser.prototype.parseJSXElement = function () {\n\t var node = this.createJSXNode();\n\t var opening = this.parseJSXOpeningElement();\n\t var children = [];\n\t var closing = null;\n\t if (!opening.selfClosing) {\n\t var el = this.parseComplexJSXElement({ node: node, opening: opening, closing: closing, children: children });\n\t children = el.children;\n\t closing = el.closing;\n\t }\n\t return this.finalize(node, new JSXNode.JSXElement(opening, children, closing));\n\t };\n\t JSXParser.prototype.parseJSXRoot = function () {\n\t // Pop the opening '<' added from the lookahead.\n\t if (this.config.tokens) {\n\t this.tokens.pop();\n\t }\n\t this.startJSX();\n\t var element = this.parseJSXElement();\n\t this.finishJSX();\n\t return element;\n\t };\n\t JSXParser.prototype.isStartOfExpression = function () {\n\t return _super.prototype.isStartOfExpression.call(this) || this.match('<');\n\t };\n\t return JSXParser;\n\t}(parser_1.Parser));\n\texports.JSXParser = JSXParser;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\t// See also tools/generate-unicode-regex.js.\n\tvar Regex = {\n\t // Unicode v8.0.0 NonAsciiIdentifierStart:\n\t NonAsciiIdentifierStart: /[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,\n\t // Unicode v8.0.0 NonAsciiIdentifierPart:\n\t NonAsciiIdentifierPart: /[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/\n\t};\n\texports.Character = {\n\t /* tslint:disable:no-bitwise */\n\t fromCodePoint: function (cp) {\n\t return (cp < 0x10000) ? String.fromCharCode(cp) :\n\t String.fromCharCode(0xD800 + ((cp - 0x10000) >> 10)) +\n\t String.fromCharCode(0xDC00 + ((cp - 0x10000) & 1023));\n\t },\n\t // https://tc39.github.io/ecma262/#sec-white-space\n\t isWhiteSpace: function (cp) {\n\t return (cp === 0x20) || (cp === 0x09) || (cp === 0x0B) || (cp === 0x0C) || (cp === 0xA0) ||\n\t (cp >= 0x1680 && [0x1680, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x202F, 0x205F, 0x3000, 0xFEFF].indexOf(cp) >= 0);\n\t },\n\t // https://tc39.github.io/ecma262/#sec-line-terminators\n\t isLineTerminator: function (cp) {\n\t return (cp === 0x0A) || (cp === 0x0D) || (cp === 0x2028) || (cp === 0x2029);\n\t },\n\t // https://tc39.github.io/ecma262/#sec-names-and-keywords\n\t isIdentifierStart: function (cp) {\n\t return (cp === 0x24) || (cp === 0x5F) ||\n\t (cp >= 0x41 && cp <= 0x5A) ||\n\t (cp >= 0x61 && cp <= 0x7A) ||\n\t (cp === 0x5C) ||\n\t ((cp >= 0x80) && Regex.NonAsciiIdentifierStart.test(exports.Character.fromCodePoint(cp)));\n\t },\n\t isIdentifierPart: function (cp) {\n\t return (cp === 0x24) || (cp === 0x5F) ||\n\t (cp >= 0x41 && cp <= 0x5A) ||\n\t (cp >= 0x61 && cp <= 0x7A) ||\n\t (cp >= 0x30 && cp <= 0x39) ||\n\t (cp === 0x5C) ||\n\t ((cp >= 0x80) && Regex.NonAsciiIdentifierPart.test(exports.Character.fromCodePoint(cp)));\n\t },\n\t // https://tc39.github.io/ecma262/#sec-literals-numeric-literals\n\t isDecimalDigit: function (cp) {\n\t return (cp >= 0x30 && cp <= 0x39); // 0..9\n\t },\n\t isHexDigit: function (cp) {\n\t return (cp >= 0x30 && cp <= 0x39) ||\n\t (cp >= 0x41 && cp <= 0x46) ||\n\t (cp >= 0x61 && cp <= 0x66); // a..f\n\t },\n\t isOctalDigit: function (cp) {\n\t return (cp >= 0x30 && cp <= 0x37); // 0..7\n\t }\n\t};\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar jsx_syntax_1 = __webpack_require__(6);\n\t/* tslint:disable:max-classes-per-file */\n\tvar JSXClosingElement = (function () {\n\t function JSXClosingElement(name) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXClosingElement;\n\t this.name = name;\n\t }\n\t return JSXClosingElement;\n\t}());\n\texports.JSXClosingElement = JSXClosingElement;\n\tvar JSXElement = (function () {\n\t function JSXElement(openingElement, children, closingElement) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXElement;\n\t this.openingElement = openingElement;\n\t this.children = children;\n\t this.closingElement = closingElement;\n\t }\n\t return JSXElement;\n\t}());\n\texports.JSXElement = JSXElement;\n\tvar JSXEmptyExpression = (function () {\n\t function JSXEmptyExpression() {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXEmptyExpression;\n\t }\n\t return JSXEmptyExpression;\n\t}());\n\texports.JSXEmptyExpression = JSXEmptyExpression;\n\tvar JSXExpressionContainer = (function () {\n\t function JSXExpressionContainer(expression) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXExpressionContainer;\n\t this.expression = expression;\n\t }\n\t return JSXExpressionContainer;\n\t}());\n\texports.JSXExpressionContainer = JSXExpressionContainer;\n\tvar JSXIdentifier = (function () {\n\t function JSXIdentifier(name) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXIdentifier;\n\t this.name = name;\n\t }\n\t return JSXIdentifier;\n\t}());\n\texports.JSXIdentifier = JSXIdentifier;\n\tvar JSXMemberExpression = (function () {\n\t function JSXMemberExpression(object, property) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXMemberExpression;\n\t this.object = object;\n\t this.property = property;\n\t }\n\t return JSXMemberExpression;\n\t}());\n\texports.JSXMemberExpression = JSXMemberExpression;\n\tvar JSXAttribute = (function () {\n\t function JSXAttribute(name, value) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXAttribute;\n\t this.name = name;\n\t this.value = value;\n\t }\n\t return JSXAttribute;\n\t}());\n\texports.JSXAttribute = JSXAttribute;\n\tvar JSXNamespacedName = (function () {\n\t function JSXNamespacedName(namespace, name) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXNamespacedName;\n\t this.namespace = namespace;\n\t this.name = name;\n\t }\n\t return JSXNamespacedName;\n\t}());\n\texports.JSXNamespacedName = JSXNamespacedName;\n\tvar JSXOpeningElement = (function () {\n\t function JSXOpeningElement(name, selfClosing, attributes) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXOpeningElement;\n\t this.name = name;\n\t this.selfClosing = selfClosing;\n\t this.attributes = attributes;\n\t }\n\t return JSXOpeningElement;\n\t}());\n\texports.JSXOpeningElement = JSXOpeningElement;\n\tvar JSXSpreadAttribute = (function () {\n\t function JSXSpreadAttribute(argument) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXSpreadAttribute;\n\t this.argument = argument;\n\t }\n\t return JSXSpreadAttribute;\n\t}());\n\texports.JSXSpreadAttribute = JSXSpreadAttribute;\n\tvar JSXText = (function () {\n\t function JSXText(value, raw) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXText;\n\t this.value = value;\n\t this.raw = raw;\n\t }\n\t return JSXText;\n\t}());\n\texports.JSXText = JSXText;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\texports.JSXSyntax = {\n\t JSXAttribute: 'JSXAttribute',\n\t JSXClosingElement: 'JSXClosingElement',\n\t JSXElement: 'JSXElement',\n\t JSXEmptyExpression: 'JSXEmptyExpression',\n\t JSXExpressionContainer: 'JSXExpressionContainer',\n\t JSXIdentifier: 'JSXIdentifier',\n\t JSXMemberExpression: 'JSXMemberExpression',\n\t JSXNamespacedName: 'JSXNamespacedName',\n\t JSXOpeningElement: 'JSXOpeningElement',\n\t JSXSpreadAttribute: 'JSXSpreadAttribute',\n\t JSXText: 'JSXText'\n\t};\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar syntax_1 = __webpack_require__(2);\n\t/* tslint:disable:max-classes-per-file */\n\tvar ArrayExpression = (function () {\n\t function ArrayExpression(elements) {\n\t this.type = syntax_1.Syntax.ArrayExpression;\n\t this.elements = elements;\n\t }\n\t return ArrayExpression;\n\t}());\n\texports.ArrayExpression = ArrayExpression;\n\tvar ArrayPattern = (function () {\n\t function ArrayPattern(elements) {\n\t this.type = syntax_1.Syntax.ArrayPattern;\n\t this.elements = elements;\n\t }\n\t return ArrayPattern;\n\t}());\n\texports.ArrayPattern = ArrayPattern;\n\tvar ArrowFunctionExpression = (function () {\n\t function ArrowFunctionExpression(params, body, expression) {\n\t this.type = syntax_1.Syntax.ArrowFunctionExpression;\n\t this.id = null;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = false;\n\t this.expression = expression;\n\t this.async = false;\n\t }\n\t return ArrowFunctionExpression;\n\t}());\n\texports.ArrowFunctionExpression = ArrowFunctionExpression;\n\tvar AssignmentExpression = (function () {\n\t function AssignmentExpression(operator, left, right) {\n\t this.type = syntax_1.Syntax.AssignmentExpression;\n\t this.operator = operator;\n\t this.left = left;\n\t this.right = right;\n\t }\n\t return AssignmentExpression;\n\t}());\n\texports.AssignmentExpression = AssignmentExpression;\n\tvar AssignmentPattern = (function () {\n\t function AssignmentPattern(left, right) {\n\t this.type = syntax_1.Syntax.AssignmentPattern;\n\t this.left = left;\n\t this.right = right;\n\t }\n\t return AssignmentPattern;\n\t}());\n\texports.AssignmentPattern = AssignmentPattern;\n\tvar AsyncArrowFunctionExpression = (function () {\n\t function AsyncArrowFunctionExpression(params, body, expression) {\n\t this.type = syntax_1.Syntax.ArrowFunctionExpression;\n\t this.id = null;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = false;\n\t this.expression = expression;\n\t this.async = true;\n\t }\n\t return AsyncArrowFunctionExpression;\n\t}());\n\texports.AsyncArrowFunctionExpression = AsyncArrowFunctionExpression;\n\tvar AsyncFunctionDeclaration = (function () {\n\t function AsyncFunctionDeclaration(id, params, body) {\n\t this.type = syntax_1.Syntax.FunctionDeclaration;\n\t this.id = id;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = false;\n\t this.expression = false;\n\t this.async = true;\n\t }\n\t return AsyncFunctionDeclaration;\n\t}());\n\texports.AsyncFunctionDeclaration = AsyncFunctionDeclaration;\n\tvar AsyncFunctionExpression = (function () {\n\t function AsyncFunctionExpression(id, params, body) {\n\t this.type = syntax_1.Syntax.FunctionExpression;\n\t this.id = id;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = false;\n\t this.expression = false;\n\t this.async = true;\n\t }\n\t return AsyncFunctionExpression;\n\t}());\n\texports.AsyncFunctionExpression = AsyncFunctionExpression;\n\tvar AwaitExpression = (function () {\n\t function AwaitExpression(argument) {\n\t this.type = syntax_1.Syntax.AwaitExpression;\n\t this.argument = argument;\n\t }\n\t return AwaitExpression;\n\t}());\n\texports.AwaitExpression = AwaitExpression;\n\tvar BinaryExpression = (function () {\n\t function BinaryExpression(operator, left, right) {\n\t var logical = (operator === '||' || operator === '&&');\n\t this.type = logical ? syntax_1.Syntax.LogicalExpression : syntax_1.Syntax.BinaryExpression;\n\t this.operator = operator;\n\t this.left = left;\n\t this.right = right;\n\t }\n\t return BinaryExpression;\n\t}());\n\texports.BinaryExpression = BinaryExpression;\n\tvar BlockStatement = (function () {\n\t function BlockStatement(body) {\n\t this.type = syntax_1.Syntax.BlockStatement;\n\t this.body = body;\n\t }\n\t return BlockStatement;\n\t}());\n\texports.BlockStatement = BlockStatement;\n\tvar BreakStatement = (function () {\n\t function BreakStatement(label) {\n\t this.type = syntax_1.Syntax.BreakStatement;\n\t this.label = label;\n\t }\n\t return BreakStatement;\n\t}());\n\texports.BreakStatement = BreakStatement;\n\tvar CallExpression = (function () {\n\t function CallExpression(callee, args) {\n\t this.type = syntax_1.Syntax.CallExpression;\n\t this.callee = callee;\n\t this.arguments = args;\n\t }\n\t return CallExpression;\n\t}());\n\texports.CallExpression = CallExpression;\n\tvar CatchClause = (function () {\n\t function CatchClause(param, body) {\n\t this.type = syntax_1.Syntax.CatchClause;\n\t this.param = param;\n\t this.body = body;\n\t }\n\t return CatchClause;\n\t}());\n\texports.CatchClause = CatchClause;\n\tvar ClassBody = (function () {\n\t function ClassBody(body) {\n\t this.type = syntax_1.Syntax.ClassBody;\n\t this.body = body;\n\t }\n\t return ClassBody;\n\t}());\n\texports.ClassBody = ClassBody;\n\tvar ClassDeclaration = (function () {\n\t function ClassDeclaration(id, superClass, body) {\n\t this.type = syntax_1.Syntax.ClassDeclaration;\n\t this.id = id;\n\t this.superClass = superClass;\n\t this.body = body;\n\t }\n\t return ClassDeclaration;\n\t}());\n\texports.ClassDeclaration = ClassDeclaration;\n\tvar ClassExpression = (function () {\n\t function ClassExpression(id, superClass, body) {\n\t this.type = syntax_1.Syntax.ClassExpression;\n\t this.id = id;\n\t this.superClass = superClass;\n\t this.body = body;\n\t }\n\t return ClassExpression;\n\t}());\n\texports.ClassExpression = ClassExpression;\n\tvar ComputedMemberExpression = (function () {\n\t function ComputedMemberExpression(object, property) {\n\t this.type = syntax_1.Syntax.MemberExpression;\n\t this.computed = true;\n\t this.object = object;\n\t this.property = property;\n\t }\n\t return ComputedMemberExpression;\n\t}());\n\texports.ComputedMemberExpression = ComputedMemberExpression;\n\tvar ConditionalExpression = (function () {\n\t function ConditionalExpression(test, consequent, alternate) {\n\t this.type = syntax_1.Syntax.ConditionalExpression;\n\t this.test = test;\n\t this.consequent = consequent;\n\t this.alternate = alternate;\n\t }\n\t return ConditionalExpression;\n\t}());\n\texports.ConditionalExpression = ConditionalExpression;\n\tvar ContinueStatement = (function () {\n\t function ContinueStatement(label) {\n\t this.type = syntax_1.Syntax.ContinueStatement;\n\t this.label = label;\n\t }\n\t return ContinueStatement;\n\t}());\n\texports.ContinueStatement = ContinueStatement;\n\tvar DebuggerStatement = (function () {\n\t function DebuggerStatement() {\n\t this.type = syntax_1.Syntax.DebuggerStatement;\n\t }\n\t return DebuggerStatement;\n\t}());\n\texports.DebuggerStatement = DebuggerStatement;\n\tvar Directive = (function () {\n\t function Directive(expression, directive) {\n\t this.type = syntax_1.Syntax.ExpressionStatement;\n\t this.expression = expression;\n\t this.directive = directive;\n\t }\n\t return Directive;\n\t}());\n\texports.Directive = Directive;\n\tvar DoWhileStatement = (function () {\n\t function DoWhileStatement(body, test) {\n\t this.type = syntax_1.Syntax.DoWhileStatement;\n\t this.body = body;\n\t this.test = test;\n\t }\n\t return DoWhileStatement;\n\t}());\n\texports.DoWhileStatement = DoWhileStatement;\n\tvar EmptyStatement = (function () {\n\t function EmptyStatement() {\n\t this.type = syntax_1.Syntax.EmptyStatement;\n\t }\n\t return EmptyStatement;\n\t}());\n\texports.EmptyStatement = EmptyStatement;\n\tvar ExportAllDeclaration = (function () {\n\t function ExportAllDeclaration(source) {\n\t this.type = syntax_1.Syntax.ExportAllDeclaration;\n\t this.source = source;\n\t }\n\t return ExportAllDeclaration;\n\t}());\n\texports.ExportAllDeclaration = ExportAllDeclaration;\n\tvar ExportDefaultDeclaration = (function () {\n\t function ExportDefaultDeclaration(declaration) {\n\t this.type = syntax_1.Syntax.ExportDefaultDeclaration;\n\t this.declaration = declaration;\n\t }\n\t return ExportDefaultDeclaration;\n\t}());\n\texports.ExportDefaultDeclaration = ExportDefaultDeclaration;\n\tvar ExportNamedDeclaration = (function () {\n\t function ExportNamedDeclaration(declaration, specifiers, source) {\n\t this.type = syntax_1.Syntax.ExportNamedDeclaration;\n\t this.declaration = declaration;\n\t this.specifiers = specifiers;\n\t this.source = source;\n\t }\n\t return ExportNamedDeclaration;\n\t}());\n\texports.ExportNamedDeclaration = ExportNamedDeclaration;\n\tvar ExportSpecifier = (function () {\n\t function ExportSpecifier(local, exported) {\n\t this.type = syntax_1.Syntax.ExportSpecifier;\n\t this.exported = exported;\n\t this.local = local;\n\t }\n\t return ExportSpecifier;\n\t}());\n\texports.ExportSpecifier = ExportSpecifier;\n\tvar ExpressionStatement = (function () {\n\t function ExpressionStatement(expression) {\n\t this.type = syntax_1.Syntax.ExpressionStatement;\n\t this.expression = expression;\n\t }\n\t return ExpressionStatement;\n\t}());\n\texports.ExpressionStatement = ExpressionStatement;\n\tvar ForInStatement = (function () {\n\t function ForInStatement(left, right, body) {\n\t this.type = syntax_1.Syntax.ForInStatement;\n\t this.left = left;\n\t this.right = right;\n\t this.body = body;\n\t this.each = false;\n\t }\n\t return ForInStatement;\n\t}());\n\texports.ForInStatement = ForInStatement;\n\tvar ForOfStatement = (function () {\n\t function ForOfStatement(left, right, body) {\n\t this.type = syntax_1.Syntax.ForOfStatement;\n\t this.left = left;\n\t this.right = right;\n\t this.body = body;\n\t }\n\t return ForOfStatement;\n\t}());\n\texports.ForOfStatement = ForOfStatement;\n\tvar ForStatement = (function () {\n\t function ForStatement(init, test, update, body) {\n\t this.type = syntax_1.Syntax.ForStatement;\n\t this.init = init;\n\t this.test = test;\n\t this.update = update;\n\t this.body = body;\n\t }\n\t return ForStatement;\n\t}());\n\texports.ForStatement = ForStatement;\n\tvar FunctionDeclaration = (function () {\n\t function FunctionDeclaration(id, params, body, generator) {\n\t this.type = syntax_1.Syntax.FunctionDeclaration;\n\t this.id = id;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = generator;\n\t this.expression = false;\n\t this.async = false;\n\t }\n\t return FunctionDeclaration;\n\t}());\n\texports.FunctionDeclaration = FunctionDeclaration;\n\tvar FunctionExpression = (function () {\n\t function FunctionExpression(id, params, body, generator) {\n\t this.type = syntax_1.Syntax.FunctionExpression;\n\t this.id = id;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = generator;\n\t this.expression = false;\n\t this.async = false;\n\t }\n\t return FunctionExpression;\n\t}());\n\texports.FunctionExpression = FunctionExpression;\n\tvar Identifier = (function () {\n\t function Identifier(name) {\n\t this.type = syntax_1.Syntax.Identifier;\n\t this.name = name;\n\t }\n\t return Identifier;\n\t}());\n\texports.Identifier = Identifier;\n\tvar IfStatement = (function () {\n\t function IfStatement(test, consequent, alternate) {\n\t this.type = syntax_1.Syntax.IfStatement;\n\t this.test = test;\n\t this.consequent = consequent;\n\t this.alternate = alternate;\n\t }\n\t return IfStatement;\n\t}());\n\texports.IfStatement = IfStatement;\n\tvar ImportDeclaration = (function () {\n\t function ImportDeclaration(specifiers, source) {\n\t this.type = syntax_1.Syntax.ImportDeclaration;\n\t this.specifiers = specifiers;\n\t this.source = source;\n\t }\n\t return ImportDeclaration;\n\t}());\n\texports.ImportDeclaration = ImportDeclaration;\n\tvar ImportDefaultSpecifier = (function () {\n\t function ImportDefaultSpecifier(local) {\n\t this.type = syntax_1.Syntax.ImportDefaultSpecifier;\n\t this.local = local;\n\t }\n\t return ImportDefaultSpecifier;\n\t}());\n\texports.ImportDefaultSpecifier = ImportDefaultSpecifier;\n\tvar ImportNamespaceSpecifier = (function () {\n\t function ImportNamespaceSpecifier(local) {\n\t this.type = syntax_1.Syntax.ImportNamespaceSpecifier;\n\t this.local = local;\n\t }\n\t return ImportNamespaceSpecifier;\n\t}());\n\texports.ImportNamespaceSpecifier = ImportNamespaceSpecifier;\n\tvar ImportSpecifier = (function () {\n\t function ImportSpecifier(local, imported) {\n\t this.type = syntax_1.Syntax.ImportSpecifier;\n\t this.local = local;\n\t this.imported = imported;\n\t }\n\t return ImportSpecifier;\n\t}());\n\texports.ImportSpecifier = ImportSpecifier;\n\tvar LabeledStatement = (function () {\n\t function LabeledStatement(label, body) {\n\t this.type = syntax_1.Syntax.LabeledStatement;\n\t this.label = label;\n\t this.body = body;\n\t }\n\t return LabeledStatement;\n\t}());\n\texports.LabeledStatement = LabeledStatement;\n\tvar Literal = (function () {\n\t function Literal(value, raw) {\n\t this.type = syntax_1.Syntax.Literal;\n\t this.value = value;\n\t this.raw = raw;\n\t }\n\t return Literal;\n\t}());\n\texports.Literal = Literal;\n\tvar MetaProperty = (function () {\n\t function MetaProperty(meta, property) {\n\t this.type = syntax_1.Syntax.MetaProperty;\n\t this.meta = meta;\n\t this.property = property;\n\t }\n\t return MetaProperty;\n\t}());\n\texports.MetaProperty = MetaProperty;\n\tvar MethodDefinition = (function () {\n\t function MethodDefinition(key, computed, value, kind, isStatic) {\n\t this.type = syntax_1.Syntax.MethodDefinition;\n\t this.key = key;\n\t this.computed = computed;\n\t this.value = value;\n\t this.kind = kind;\n\t this.static = isStatic;\n\t }\n\t return MethodDefinition;\n\t}());\n\texports.MethodDefinition = MethodDefinition;\n\tvar Module = (function () {\n\t function Module(body) {\n\t this.type = syntax_1.Syntax.Program;\n\t this.body = body;\n\t this.sourceType = 'module';\n\t }\n\t return Module;\n\t}());\n\texports.Module = Module;\n\tvar NewExpression = (function () {\n\t function NewExpression(callee, args) {\n\t this.type = syntax_1.Syntax.NewExpression;\n\t this.callee = callee;\n\t this.arguments = args;\n\t }\n\t return NewExpression;\n\t}());\n\texports.NewExpression = NewExpression;\n\tvar ObjectExpression = (function () {\n\t function ObjectExpression(properties) {\n\t this.type = syntax_1.Syntax.ObjectExpression;\n\t this.properties = properties;\n\t }\n\t return ObjectExpression;\n\t}());\n\texports.ObjectExpression = ObjectExpression;\n\tvar ObjectPattern = (function () {\n\t function ObjectPattern(properties) {\n\t this.type = syntax_1.Syntax.ObjectPattern;\n\t this.properties = properties;\n\t }\n\t return ObjectPattern;\n\t}());\n\texports.ObjectPattern = ObjectPattern;\n\tvar Property = (function () {\n\t function Property(kind, key, computed, value, method, shorthand) {\n\t this.type = syntax_1.Syntax.Property;\n\t this.key = key;\n\t this.computed = computed;\n\t this.value = value;\n\t this.kind = kind;\n\t this.method = method;\n\t this.shorthand = shorthand;\n\t }\n\t return Property;\n\t}());\n\texports.Property = Property;\n\tvar RegexLiteral = (function () {\n\t function RegexLiteral(value, raw, pattern, flags) {\n\t this.type = syntax_1.Syntax.Literal;\n\t this.value = value;\n\t this.raw = raw;\n\t this.regex = { pattern: pattern, flags: flags };\n\t }\n\t return RegexLiteral;\n\t}());\n\texports.RegexLiteral = RegexLiteral;\n\tvar RestElement = (function () {\n\t function RestElement(argument) {\n\t this.type = syntax_1.Syntax.RestElement;\n\t this.argument = argument;\n\t }\n\t return RestElement;\n\t}());\n\texports.RestElement = RestElement;\n\tvar ReturnStatement = (function () {\n\t function ReturnStatement(argument) {\n\t this.type = syntax_1.Syntax.ReturnStatement;\n\t this.argument = argument;\n\t }\n\t return ReturnStatement;\n\t}());\n\texports.ReturnStatement = ReturnStatement;\n\tvar Script = (function () {\n\t function Script(body) {\n\t this.type = syntax_1.Syntax.Program;\n\t this.body = body;\n\t this.sourceType = 'script';\n\t }\n\t return Script;\n\t}());\n\texports.Script = Script;\n\tvar SequenceExpression = (function () {\n\t function SequenceExpression(expressions) {\n\t this.type = syntax_1.Syntax.SequenceExpression;\n\t this.expressions = expressions;\n\t }\n\t return SequenceExpression;\n\t}());\n\texports.SequenceExpression = SequenceExpression;\n\tvar SpreadElement = (function () {\n\t function SpreadElement(argument) {\n\t this.type = syntax_1.Syntax.SpreadElement;\n\t this.argument = argument;\n\t }\n\t return SpreadElement;\n\t}());\n\texports.SpreadElement = SpreadElement;\n\tvar StaticMemberExpression = (function () {\n\t function StaticMemberExpression(object, property) {\n\t this.type = syntax_1.Syntax.MemberExpression;\n\t this.computed = false;\n\t this.object = object;\n\t this.property = property;\n\t }\n\t return StaticMemberExpression;\n\t}());\n\texports.StaticMemberExpression = StaticMemberExpression;\n\tvar Super = (function () {\n\t function Super() {\n\t this.type = syntax_1.Syntax.Super;\n\t }\n\t return Super;\n\t}());\n\texports.Super = Super;\n\tvar SwitchCase = (function () {\n\t function SwitchCase(test, consequent) {\n\t this.type = syntax_1.Syntax.SwitchCase;\n\t this.test = test;\n\t this.consequent = consequent;\n\t }\n\t return SwitchCase;\n\t}());\n\texports.SwitchCase = SwitchCase;\n\tvar SwitchStatement = (function () {\n\t function SwitchStatement(discriminant, cases) {\n\t this.type = syntax_1.Syntax.SwitchStatement;\n\t this.discriminant = discriminant;\n\t this.cases = cases;\n\t }\n\t return SwitchStatement;\n\t}());\n\texports.SwitchStatement = SwitchStatement;\n\tvar TaggedTemplateExpression = (function () {\n\t function TaggedTemplateExpression(tag, quasi) {\n\t this.type = syntax_1.Syntax.TaggedTemplateExpression;\n\t this.tag = tag;\n\t this.quasi = quasi;\n\t }\n\t return TaggedTemplateExpression;\n\t}());\n\texports.TaggedTemplateExpression = TaggedTemplateExpression;\n\tvar TemplateElement = (function () {\n\t function TemplateElement(value, tail) {\n\t this.type = syntax_1.Syntax.TemplateElement;\n\t this.value = value;\n\t this.tail = tail;\n\t }\n\t return TemplateElement;\n\t}());\n\texports.TemplateElement = TemplateElement;\n\tvar TemplateLiteral = (function () {\n\t function TemplateLiteral(quasis, expressions) {\n\t this.type = syntax_1.Syntax.TemplateLiteral;\n\t this.quasis = quasis;\n\t this.expressions = expressions;\n\t }\n\t return TemplateLiteral;\n\t}());\n\texports.TemplateLiteral = TemplateLiteral;\n\tvar ThisExpression = (function () {\n\t function ThisExpression() {\n\t this.type = syntax_1.Syntax.ThisExpression;\n\t }\n\t return ThisExpression;\n\t}());\n\texports.ThisExpression = ThisExpression;\n\tvar ThrowStatement = (function () {\n\t function ThrowStatement(argument) {\n\t this.type = syntax_1.Syntax.ThrowStatement;\n\t this.argument = argument;\n\t }\n\t return ThrowStatement;\n\t}());\n\texports.ThrowStatement = ThrowStatement;\n\tvar TryStatement = (function () {\n\t function TryStatement(block, handler, finalizer) {\n\t this.type = syntax_1.Syntax.TryStatement;\n\t this.block = block;\n\t this.handler = handler;\n\t this.finalizer = finalizer;\n\t }\n\t return TryStatement;\n\t}());\n\texports.TryStatement = TryStatement;\n\tvar UnaryExpression = (function () {\n\t function UnaryExpression(operator, argument) {\n\t this.type = syntax_1.Syntax.UnaryExpression;\n\t this.operator = operator;\n\t this.argument = argument;\n\t this.prefix = true;\n\t }\n\t return UnaryExpression;\n\t}());\n\texports.UnaryExpression = UnaryExpression;\n\tvar UpdateExpression = (function () {\n\t function UpdateExpression(operator, argument, prefix) {\n\t this.type = syntax_1.Syntax.UpdateExpression;\n\t this.operator = operator;\n\t this.argument = argument;\n\t this.prefix = prefix;\n\t }\n\t return UpdateExpression;\n\t}());\n\texports.UpdateExpression = UpdateExpression;\n\tvar VariableDeclaration = (function () {\n\t function VariableDeclaration(declarations, kind) {\n\t this.type = syntax_1.Syntax.VariableDeclaration;\n\t this.declarations = declarations;\n\t this.kind = kind;\n\t }\n\t return VariableDeclaration;\n\t}());\n\texports.VariableDeclaration = VariableDeclaration;\n\tvar VariableDeclarator = (function () {\n\t function VariableDeclarator(id, init) {\n\t this.type = syntax_1.Syntax.VariableDeclarator;\n\t this.id = id;\n\t this.init = init;\n\t }\n\t return VariableDeclarator;\n\t}());\n\texports.VariableDeclarator = VariableDeclarator;\n\tvar WhileStatement = (function () {\n\t function WhileStatement(test, body) {\n\t this.type = syntax_1.Syntax.WhileStatement;\n\t this.test = test;\n\t this.body = body;\n\t }\n\t return WhileStatement;\n\t}());\n\texports.WhileStatement = WhileStatement;\n\tvar WithStatement = (function () {\n\t function WithStatement(object, body) {\n\t this.type = syntax_1.Syntax.WithStatement;\n\t this.object = object;\n\t this.body = body;\n\t }\n\t return WithStatement;\n\t}());\n\texports.WithStatement = WithStatement;\n\tvar YieldExpression = (function () {\n\t function YieldExpression(argument, delegate) {\n\t this.type = syntax_1.Syntax.YieldExpression;\n\t this.argument = argument;\n\t this.delegate = delegate;\n\t }\n\t return YieldExpression;\n\t}());\n\texports.YieldExpression = YieldExpression;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar assert_1 = __webpack_require__(9);\n\tvar error_handler_1 = __webpack_require__(10);\n\tvar messages_1 = __webpack_require__(11);\n\tvar Node = __webpack_require__(7);\n\tvar scanner_1 = __webpack_require__(12);\n\tvar syntax_1 = __webpack_require__(2);\n\tvar token_1 = __webpack_require__(13);\n\tvar ArrowParameterPlaceHolder = 'ArrowParameterPlaceHolder';\n\tvar Parser = (function () {\n\t function Parser(code, options, delegate) {\n\t if (options === void 0) { options = {}; }\n\t this.config = {\n\t range: (typeof options.range === 'boolean') && options.range,\n\t loc: (typeof options.loc === 'boolean') && options.loc,\n\t source: null,\n\t tokens: (typeof options.tokens === 'boolean') && options.tokens,\n\t comment: (typeof options.comment === 'boolean') && options.comment,\n\t tolerant: (typeof options.tolerant === 'boolean') && options.tolerant\n\t };\n\t if (this.config.loc && options.source && options.source !== null) {\n\t this.config.source = String(options.source);\n\t }\n\t this.delegate = delegate;\n\t this.errorHandler = new error_handler_1.ErrorHandler();\n\t this.errorHandler.tolerant = this.config.tolerant;\n\t this.scanner = new scanner_1.Scanner(code, this.errorHandler);\n\t this.scanner.trackComment = this.config.comment;\n\t this.operatorPrecedence = {\n\t ')': 0,\n\t ';': 0,\n\t ',': 0,\n\t '=': 0,\n\t ']': 0,\n\t '||': 1,\n\t '&&': 2,\n\t '|': 3,\n\t '^': 4,\n\t '&': 5,\n\t '==': 6,\n\t '!=': 6,\n\t '===': 6,\n\t '!==': 6,\n\t '<': 7,\n\t '>': 7,\n\t '<=': 7,\n\t '>=': 7,\n\t '<<': 8,\n\t '>>': 8,\n\t '>>>': 8,\n\t '+': 9,\n\t '-': 9,\n\t '*': 11,\n\t '/': 11,\n\t '%': 11\n\t };\n\t this.lookahead = {\n\t type: 2 /* EOF */,\n\t value: '',\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: 0,\n\t start: 0,\n\t end: 0\n\t };\n\t this.hasLineTerminator = false;\n\t this.context = {\n\t isModule: false,\n\t await: false,\n\t allowIn: true,\n\t allowStrictDirective: true,\n\t allowYield: true,\n\t firstCoverInitializedNameError: null,\n\t isAssignmentTarget: false,\n\t isBindingElement: false,\n\t inFunctionBody: false,\n\t inIteration: false,\n\t inSwitch: false,\n\t labelSet: {},\n\t strict: false\n\t };\n\t this.tokens = [];\n\t this.startMarker = {\n\t index: 0,\n\t line: this.scanner.lineNumber,\n\t column: 0\n\t };\n\t this.lastMarker = {\n\t index: 0,\n\t line: this.scanner.lineNumber,\n\t column: 0\n\t };\n\t this.nextToken();\n\t this.lastMarker = {\n\t index: this.scanner.index,\n\t line: this.scanner.lineNumber,\n\t column: this.scanner.index - this.scanner.lineStart\n\t };\n\t }\n\t Parser.prototype.throwError = function (messageFormat) {\n\t var values = [];\n\t for (var _i = 1; _i < arguments.length; _i++) {\n\t values[_i - 1] = arguments[_i];\n\t }\n\t var args = Array.prototype.slice.call(arguments, 1);\n\t var msg = messageFormat.replace(/%(\\d)/g, function (whole, idx) {\n\t assert_1.assert(idx < args.length, 'Message reference must be in range');\n\t return args[idx];\n\t });\n\t var index = this.lastMarker.index;\n\t var line = this.lastMarker.line;\n\t var column = this.lastMarker.column + 1;\n\t throw this.errorHandler.createError(index, line, column, msg);\n\t };\n\t Parser.prototype.tolerateError = function (messageFormat) {\n\t var values = [];\n\t for (var _i = 1; _i < arguments.length; _i++) {\n\t values[_i - 1] = arguments[_i];\n\t }\n\t var args = Array.prototype.slice.call(arguments, 1);\n\t var msg = messageFormat.replace(/%(\\d)/g, function (whole, idx) {\n\t assert_1.assert(idx < args.length, 'Message reference must be in range');\n\t return args[idx];\n\t });\n\t var index = this.lastMarker.index;\n\t var line = this.scanner.lineNumber;\n\t var column = this.lastMarker.column + 1;\n\t this.errorHandler.tolerateError(index, line, column, msg);\n\t };\n\t // Throw an exception because of the token.\n\t Parser.prototype.unexpectedTokenError = function (token, message) {\n\t var msg = message || messages_1.Messages.UnexpectedToken;\n\t var value;\n\t if (token) {\n\t if (!message) {\n\t msg = (token.type === 2 /* EOF */) ? messages_1.Messages.UnexpectedEOS :\n\t (token.type === 3 /* Identifier */) ? messages_1.Messages.UnexpectedIdentifier :\n\t (token.type === 6 /* NumericLiteral */) ? messages_1.Messages.UnexpectedNumber :\n\t (token.type === 8 /* StringLiteral */) ? messages_1.Messages.UnexpectedString :\n\t (token.type === 10 /* Template */) ? messages_1.Messages.UnexpectedTemplate :\n\t messages_1.Messages.UnexpectedToken;\n\t if (token.type === 4 /* Keyword */) {\n\t if (this.scanner.isFutureReservedWord(token.value)) {\n\t msg = messages_1.Messages.UnexpectedReserved;\n\t }\n\t else if (this.context.strict && this.scanner.isStrictModeReservedWord(token.value)) {\n\t msg = messages_1.Messages.StrictReservedWord;\n\t }\n\t }\n\t }\n\t value = token.value;\n\t }\n\t else {\n\t value = 'ILLEGAL';\n\t }\n\t msg = msg.replace('%0', value);\n\t if (token && typeof token.lineNumber === 'number') {\n\t var index = token.start;\n\t var line = token.lineNumber;\n\t var lastMarkerLineStart = this.lastMarker.index - this.lastMarker.column;\n\t var column = token.start - lastMarkerLineStart + 1;\n\t return this.errorHandler.createError(index, line, column, msg);\n\t }\n\t else {\n\t var index = this.lastMarker.index;\n\t var line = this.lastMarker.line;\n\t var column = this.lastMarker.column + 1;\n\t return this.errorHandler.createError(index, line, column, msg);\n\t }\n\t };\n\t Parser.prototype.throwUnexpectedToken = function (token, message) {\n\t throw this.unexpectedTokenError(token, message);\n\t };\n\t Parser.prototype.tolerateUnexpectedToken = function (token, message) {\n\t this.errorHandler.tolerate(this.unexpectedTokenError(token, message));\n\t };\n\t Parser.prototype.collectComments = function () {\n\t if (!this.config.comment) {\n\t this.scanner.scanComments();\n\t }\n\t else {\n\t var comments = this.scanner.scanComments();\n\t if (comments.length > 0 && this.delegate) {\n\t for (var i = 0; i < comments.length; ++i) {\n\t var e = comments[i];\n\t var node = void 0;\n\t node = {\n\t type: e.multiLine ? 'BlockComment' : 'LineComment',\n\t value: this.scanner.source.slice(e.slice[0], e.slice[1])\n\t };\n\t if (this.config.range) {\n\t node.range = e.range;\n\t }\n\t if (this.config.loc) {\n\t node.loc = e.loc;\n\t }\n\t var metadata = {\n\t start: {\n\t line: e.loc.start.line,\n\t column: e.loc.start.column,\n\t offset: e.range[0]\n\t },\n\t end: {\n\t line: e.loc.end.line,\n\t column: e.loc.end.column,\n\t offset: e.range[1]\n\t }\n\t };\n\t this.delegate(node, metadata);\n\t }\n\t }\n\t }\n\t };\n\t // From internal representation to an external structure\n\t Parser.prototype.getTokenRaw = function (token) {\n\t return this.scanner.source.slice(token.start, token.end);\n\t };\n\t Parser.prototype.convertToken = function (token) {\n\t var t = {\n\t type: token_1.TokenName[token.type],\n\t value: this.getTokenRaw(token)\n\t };\n\t if (this.config.range) {\n\t t.range = [token.start, token.end];\n\t }\n\t if (this.config.loc) {\n\t t.loc = {\n\t start: {\n\t line: this.startMarker.line,\n\t column: this.startMarker.column\n\t },\n\t end: {\n\t line: this.scanner.lineNumber,\n\t column: this.scanner.index - this.scanner.lineStart\n\t }\n\t };\n\t }\n\t if (token.type === 9 /* RegularExpression */) {\n\t var pattern = token.pattern;\n\t var flags = token.flags;\n\t t.regex = { pattern: pattern, flags: flags };\n\t }\n\t return t;\n\t };\n\t Parser.prototype.nextToken = function () {\n\t var token = this.lookahead;\n\t this.lastMarker.index = this.scanner.index;\n\t this.lastMarker.line = this.scanner.lineNumber;\n\t this.lastMarker.column = this.scanner.index - this.scanner.lineStart;\n\t this.collectComments();\n\t if (this.scanner.index !== this.startMarker.index) {\n\t this.startMarker.index = this.scanner.index;\n\t this.startMarker.line = this.scanner.lineNumber;\n\t this.startMarker.column = this.scanner.index - this.scanner.lineStart;\n\t }\n\t var next = this.scanner.lex();\n\t this.hasLineTerminator = (token.lineNumber !== next.lineNumber);\n\t if (next && this.context.strict && next.type === 3 /* Identifier */) {\n\t if (this.scanner.isStrictModeReservedWord(next.value)) {\n\t next.type = 4 /* Keyword */;\n\t }\n\t }\n\t this.lookahead = next;\n\t if (this.config.tokens && next.type !== 2 /* EOF */) {\n\t this.tokens.push(this.convertToken(next));\n\t }\n\t return token;\n\t };\n\t Parser.prototype.nextRegexToken = function () {\n\t this.collectComments();\n\t var token = this.scanner.scanRegExp();\n\t if (this.config.tokens) {\n\t // Pop the previous token, '/' or '/='\n\t // This is added from the lookahead token.\n\t this.tokens.pop();\n\t this.tokens.push(this.convertToken(token));\n\t }\n\t // Prime the next lookahead.\n\t this.lookahead = token;\n\t this.nextToken();\n\t return token;\n\t };\n\t Parser.prototype.createNode = function () {\n\t return {\n\t index: this.startMarker.index,\n\t line: this.startMarker.line,\n\t column: this.startMarker.column\n\t };\n\t };\n\t Parser.prototype.startNode = function (token, lastLineStart) {\n\t if (lastLineStart === void 0) { lastLineStart = 0; }\n\t var column = token.start - token.lineStart;\n\t var line = token.lineNumber;\n\t if (column < 0) {\n\t column += lastLineStart;\n\t line--;\n\t }\n\t return {\n\t index: token.start,\n\t line: line,\n\t column: column\n\t };\n\t };\n\t Parser.prototype.finalize = function (marker, node) {\n\t if (this.config.range) {\n\t node.range = [marker.index, this.lastMarker.index];\n\t }\n\t if (this.config.loc) {\n\t node.loc = {\n\t start: {\n\t line: marker.line,\n\t column: marker.column,\n\t },\n\t end: {\n\t line: this.lastMarker.line,\n\t column: this.lastMarker.column\n\t }\n\t };\n\t if (this.config.source) {\n\t node.loc.source = this.config.source;\n\t }\n\t }\n\t if (this.delegate) {\n\t var metadata = {\n\t start: {\n\t line: marker.line,\n\t column: marker.column,\n\t offset: marker.index\n\t },\n\t end: {\n\t line: this.lastMarker.line,\n\t column: this.lastMarker.column,\n\t offset: this.lastMarker.index\n\t }\n\t };\n\t this.delegate(node, metadata);\n\t }\n\t return node;\n\t };\n\t // Expect the next token to match the specified punctuator.\n\t // If not, an exception will be thrown.\n\t Parser.prototype.expect = function (value) {\n\t var token = this.nextToken();\n\t if (token.type !== 7 /* Punctuator */ || token.value !== value) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t };\n\t // Quietly expect a comma when in tolerant mode, otherwise delegates to expect().\n\t Parser.prototype.expectCommaSeparator = function () {\n\t if (this.config.tolerant) {\n\t var token = this.lookahead;\n\t if (token.type === 7 /* Punctuator */ && token.value === ',') {\n\t this.nextToken();\n\t }\n\t else if (token.type === 7 /* Punctuator */ && token.value === ';') {\n\t this.nextToken();\n\t this.tolerateUnexpectedToken(token);\n\t }\n\t else {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.UnexpectedToken);\n\t }\n\t }\n\t else {\n\t this.expect(',');\n\t }\n\t };\n\t // Expect the next token to match the specified keyword.\n\t // If not, an exception will be thrown.\n\t Parser.prototype.expectKeyword = function (keyword) {\n\t var token = this.nextToken();\n\t if (token.type !== 4 /* Keyword */ || token.value !== keyword) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t };\n\t // Return true if the next token matches the specified punctuator.\n\t Parser.prototype.match = function (value) {\n\t return this.lookahead.type === 7 /* Punctuator */ && this.lookahead.value === value;\n\t };\n\t // Return true if the next token matches the specified keyword\n\t Parser.prototype.matchKeyword = function (keyword) {\n\t return this.lookahead.type === 4 /* Keyword */ && this.lookahead.value === keyword;\n\t };\n\t // Return true if the next token matches the specified contextual keyword\n\t // (where an identifier is sometimes a keyword depending on the context)\n\t Parser.prototype.matchContextualKeyword = function (keyword) {\n\t return this.lookahead.type === 3 /* Identifier */ && this.lookahead.value === keyword;\n\t };\n\t // Return true if the next token is an assignment operator\n\t Parser.prototype.matchAssign = function () {\n\t if (this.lookahead.type !== 7 /* Punctuator */) {\n\t return false;\n\t }\n\t var op = this.lookahead.value;\n\t return op === '=' ||\n\t op === '*=' ||\n\t op === '**=' ||\n\t op === '/=' ||\n\t op === '%=' ||\n\t op === '+=' ||\n\t op === '-=' ||\n\t op === '<<=' ||\n\t op === '>>=' ||\n\t op === '>>>=' ||\n\t op === '&=' ||\n\t op === '^=' ||\n\t op === '|=';\n\t };\n\t // Cover grammar support.\n\t //\n\t // When an assignment expression position starts with an left parenthesis, the determination of the type\n\t // of the syntax is to be deferred arbitrarily long until the end of the parentheses pair (plus a lookahead)\n\t // or the first comma. This situation also defers the determination of all the expressions nested in the pair.\n\t //\n\t // There are three productions that can be parsed in a parentheses pair that needs to be determined\n\t // after the outermost pair is closed. They are:\n\t //\n\t // 1. AssignmentExpression\n\t // 2. BindingElements\n\t // 3. AssignmentTargets\n\t //\n\t // In order to avoid exponential backtracking, we use two flags to denote if the production can be\n\t // binding element or assignment target.\n\t //\n\t // The three productions have the relationship:\n\t //\n\t // BindingElements ⊆ AssignmentTargets ⊆ AssignmentExpression\n\t //\n\t // with a single exception that CoverInitializedName when used directly in an Expression, generates\n\t // an early error. Therefore, we need the third state, firstCoverInitializedNameError, to track the\n\t // first usage of CoverInitializedName and report it when we reached the end of the parentheses pair.\n\t //\n\t // isolateCoverGrammar function runs the given parser function with a new cover grammar context, and it does not\n\t // effect the current flags. This means the production the parser parses is only used as an expression. Therefore\n\t // the CoverInitializedName check is conducted.\n\t //\n\t // inheritCoverGrammar function runs the given parse function with a new cover grammar context, and it propagates\n\t // the flags outside of the parser. This means the production the parser parses is used as a part of a potential\n\t // pattern. The CoverInitializedName check is deferred.\n\t Parser.prototype.isolateCoverGrammar = function (parseFunction) {\n\t var previousIsBindingElement = this.context.isBindingElement;\n\t var previousIsAssignmentTarget = this.context.isAssignmentTarget;\n\t var previousFirstCoverInitializedNameError = this.context.firstCoverInitializedNameError;\n\t this.context.isBindingElement = true;\n\t this.context.isAssignmentTarget = true;\n\t this.context.firstCoverInitializedNameError = null;\n\t var result = parseFunction.call(this);\n\t if (this.context.firstCoverInitializedNameError !== null) {\n\t this.throwUnexpectedToken(this.context.firstCoverInitializedNameError);\n\t }\n\t this.context.isBindingElement = previousIsBindingElement;\n\t this.context.isAssignmentTarget = previousIsAssignmentTarget;\n\t this.context.firstCoverInitializedNameError = previousFirstCoverInitializedNameError;\n\t return result;\n\t };\n\t Parser.prototype.inheritCoverGrammar = function (parseFunction) {\n\t var previousIsBindingElement = this.context.isBindingElement;\n\t var previousIsAssignmentTarget = this.context.isAssignmentTarget;\n\t var previousFirstCoverInitializedNameError = this.context.firstCoverInitializedNameError;\n\t this.context.isBindingElement = true;\n\t this.context.isAssignmentTarget = true;\n\t this.context.firstCoverInitializedNameError = null;\n\t var result = parseFunction.call(this);\n\t this.context.isBindingElement = this.context.isBindingElement && previousIsBindingElement;\n\t this.context.isAssignmentTarget = this.context.isAssignmentTarget && previousIsAssignmentTarget;\n\t this.context.firstCoverInitializedNameError = previousFirstCoverInitializedNameError || this.context.firstCoverInitializedNameError;\n\t return result;\n\t };\n\t Parser.prototype.consumeSemicolon = function () {\n\t if (this.match(';')) {\n\t this.nextToken();\n\t }\n\t else if (!this.hasLineTerminator) {\n\t if (this.lookahead.type !== 2 /* EOF */ && !this.match('}')) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t this.lastMarker.index = this.startMarker.index;\n\t this.lastMarker.line = this.startMarker.line;\n\t this.lastMarker.column = this.startMarker.column;\n\t }\n\t };\n\t // https://tc39.github.io/ecma262/#sec-primary-expression\n\t Parser.prototype.parsePrimaryExpression = function () {\n\t var node = this.createNode();\n\t var expr;\n\t var token, raw;\n\t switch (this.lookahead.type) {\n\t case 3 /* Identifier */:\n\t if ((this.context.isModule || this.context.await) && this.lookahead.value === 'await') {\n\t this.tolerateUnexpectedToken(this.lookahead);\n\t }\n\t expr = this.matchAsyncFunction() ? this.parseFunctionExpression() : this.finalize(node, new Node.Identifier(this.nextToken().value));\n\t break;\n\t case 6 /* NumericLiteral */:\n\t case 8 /* StringLiteral */:\n\t if (this.context.strict && this.lookahead.octal) {\n\t this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.StrictOctalLiteral);\n\t }\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t token = this.nextToken();\n\t raw = this.getTokenRaw(token);\n\t expr = this.finalize(node, new Node.Literal(token.value, raw));\n\t break;\n\t case 1 /* BooleanLiteral */:\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t token = this.nextToken();\n\t raw = this.getTokenRaw(token);\n\t expr = this.finalize(node, new Node.Literal(token.value === 'true', raw));\n\t break;\n\t case 5 /* NullLiteral */:\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t token = this.nextToken();\n\t raw = this.getTokenRaw(token);\n\t expr = this.finalize(node, new Node.Literal(null, raw));\n\t break;\n\t case 10 /* Template */:\n\t expr = this.parseTemplateLiteral();\n\t break;\n\t case 7 /* Punctuator */:\n\t switch (this.lookahead.value) {\n\t case '(':\n\t this.context.isBindingElement = false;\n\t expr = this.inheritCoverGrammar(this.parseGroupExpression);\n\t break;\n\t case '[':\n\t expr = this.inheritCoverGrammar(this.parseArrayInitializer);\n\t break;\n\t case '{':\n\t expr = this.inheritCoverGrammar(this.parseObjectInitializer);\n\t break;\n\t case '/':\n\t case '/=':\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t this.scanner.index = this.startMarker.index;\n\t token = this.nextRegexToken();\n\t raw = this.getTokenRaw(token);\n\t expr = this.finalize(node, new Node.RegexLiteral(token.regex, raw, token.pattern, token.flags));\n\t break;\n\t default:\n\t expr = this.throwUnexpectedToken(this.nextToken());\n\t }\n\t break;\n\t case 4 /* Keyword */:\n\t if (!this.context.strict && this.context.allowYield && this.matchKeyword('yield')) {\n\t expr = this.parseIdentifierName();\n\t }\n\t else if (!this.context.strict && this.matchKeyword('let')) {\n\t expr = this.finalize(node, new Node.Identifier(this.nextToken().value));\n\t }\n\t else {\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t if (this.matchKeyword('function')) {\n\t expr = this.parseFunctionExpression();\n\t }\n\t else if (this.matchKeyword('this')) {\n\t this.nextToken();\n\t expr = this.finalize(node, new Node.ThisExpression());\n\t }\n\t else if (this.matchKeyword('class')) {\n\t expr = this.parseClassExpression();\n\t }\n\t else {\n\t expr = this.throwUnexpectedToken(this.nextToken());\n\t }\n\t }\n\t break;\n\t default:\n\t expr = this.throwUnexpectedToken(this.nextToken());\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-array-initializer\n\t Parser.prototype.parseSpreadElement = function () {\n\t var node = this.createNode();\n\t this.expect('...');\n\t var arg = this.inheritCoverGrammar(this.parseAssignmentExpression);\n\t return this.finalize(node, new Node.SpreadElement(arg));\n\t };\n\t Parser.prototype.parseArrayInitializer = function () {\n\t var node = this.createNode();\n\t var elements = [];\n\t this.expect('[');\n\t while (!this.match(']')) {\n\t if (this.match(',')) {\n\t this.nextToken();\n\t elements.push(null);\n\t }\n\t else if (this.match('...')) {\n\t var element = this.parseSpreadElement();\n\t if (!this.match(']')) {\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t this.expect(',');\n\t }\n\t elements.push(element);\n\t }\n\t else {\n\t elements.push(this.inheritCoverGrammar(this.parseAssignmentExpression));\n\t if (!this.match(']')) {\n\t this.expect(',');\n\t }\n\t }\n\t }\n\t this.expect(']');\n\t return this.finalize(node, new Node.ArrayExpression(elements));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-object-initializer\n\t Parser.prototype.parsePropertyMethod = function (params) {\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t var previousStrict = this.context.strict;\n\t var previousAllowStrictDirective = this.context.allowStrictDirective;\n\t this.context.allowStrictDirective = params.simple;\n\t var body = this.isolateCoverGrammar(this.parseFunctionSourceElements);\n\t if (this.context.strict && params.firstRestricted) {\n\t this.tolerateUnexpectedToken(params.firstRestricted, params.message);\n\t }\n\t if (this.context.strict && params.stricted) {\n\t this.tolerateUnexpectedToken(params.stricted, params.message);\n\t }\n\t this.context.strict = previousStrict;\n\t this.context.allowStrictDirective = previousAllowStrictDirective;\n\t return body;\n\t };\n\t Parser.prototype.parsePropertyMethodFunction = function () {\n\t var isGenerator = false;\n\t var node = this.createNode();\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = true;\n\t var params = this.parseFormalParameters();\n\t var method = this.parsePropertyMethod(params);\n\t this.context.allowYield = previousAllowYield;\n\t return this.finalize(node, new Node.FunctionExpression(null, params.params, method, isGenerator));\n\t };\n\t Parser.prototype.parsePropertyMethodAsyncFunction = function () {\n\t var node = this.createNode();\n\t var previousAllowYield = this.context.allowYield;\n\t var previousAwait = this.context.await;\n\t this.context.allowYield = false;\n\t this.context.await = true;\n\t var params = this.parseFormalParameters();\n\t var method = this.parsePropertyMethod(params);\n\t this.context.allowYield = previousAllowYield;\n\t this.context.await = previousAwait;\n\t return this.finalize(node, new Node.AsyncFunctionExpression(null, params.params, method));\n\t };\n\t Parser.prototype.parseObjectPropertyKey = function () {\n\t var node = this.createNode();\n\t var token = this.nextToken();\n\t var key;\n\t switch (token.type) {\n\t case 8 /* StringLiteral */:\n\t case 6 /* NumericLiteral */:\n\t if (this.context.strict && token.octal) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictOctalLiteral);\n\t }\n\t var raw = this.getTokenRaw(token);\n\t key = this.finalize(node, new Node.Literal(token.value, raw));\n\t break;\n\t case 3 /* Identifier */:\n\t case 1 /* BooleanLiteral */:\n\t case 5 /* NullLiteral */:\n\t case 4 /* Keyword */:\n\t key = this.finalize(node, new Node.Identifier(token.value));\n\t break;\n\t case 7 /* Punctuator */:\n\t if (token.value === '[') {\n\t key = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t this.expect(']');\n\t }\n\t else {\n\t key = this.throwUnexpectedToken(token);\n\t }\n\t break;\n\t default:\n\t key = this.throwUnexpectedToken(token);\n\t }\n\t return key;\n\t };\n\t Parser.prototype.isPropertyKey = function (key, value) {\n\t return (key.type === syntax_1.Syntax.Identifier && key.name === value) ||\n\t (key.type === syntax_1.Syntax.Literal && key.value === value);\n\t };\n\t Parser.prototype.parseObjectProperty = function (hasProto) {\n\t var node = this.createNode();\n\t var token = this.lookahead;\n\t var kind;\n\t var key = null;\n\t var value = null;\n\t var computed = false;\n\t var method = false;\n\t var shorthand = false;\n\t var isAsync = false;\n\t if (token.type === 3 /* Identifier */) {\n\t var id = token.value;\n\t this.nextToken();\n\t computed = this.match('[');\n\t isAsync = !this.hasLineTerminator && (id === 'async') &&\n\t !this.match(':') && !this.match('(') && !this.match('*') && !this.match(',');\n\t key = isAsync ? this.parseObjectPropertyKey() : this.finalize(node, new Node.Identifier(id));\n\t }\n\t else if (this.match('*')) {\n\t this.nextToken();\n\t }\n\t else {\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t }\n\t var lookaheadPropertyKey = this.qualifiedPropertyName(this.lookahead);\n\t if (token.type === 3 /* Identifier */ && !isAsync && token.value === 'get' && lookaheadPropertyKey) {\n\t kind = 'get';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t this.context.allowYield = false;\n\t value = this.parseGetterMethod();\n\t }\n\t else if (token.type === 3 /* Identifier */ && !isAsync && token.value === 'set' && lookaheadPropertyKey) {\n\t kind = 'set';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t value = this.parseSetterMethod();\n\t }\n\t else if (token.type === 7 /* Punctuator */ && token.value === '*' && lookaheadPropertyKey) {\n\t kind = 'init';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t value = this.parseGeneratorMethod();\n\t method = true;\n\t }\n\t else {\n\t if (!key) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t kind = 'init';\n\t if (this.match(':') && !isAsync) {\n\t if (!computed && this.isPropertyKey(key, '__proto__')) {\n\t if (hasProto.value) {\n\t this.tolerateError(messages_1.Messages.DuplicateProtoProperty);\n\t }\n\t hasProto.value = true;\n\t }\n\t this.nextToken();\n\t value = this.inheritCoverGrammar(this.parseAssignmentExpression);\n\t }\n\t else if (this.match('(')) {\n\t value = isAsync ? this.parsePropertyMethodAsyncFunction() : this.parsePropertyMethodFunction();\n\t method = true;\n\t }\n\t else if (token.type === 3 /* Identifier */) {\n\t var id = this.finalize(node, new Node.Identifier(token.value));\n\t if (this.match('=')) {\n\t this.context.firstCoverInitializedNameError = this.lookahead;\n\t this.nextToken();\n\t shorthand = true;\n\t var init = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t value = this.finalize(node, new Node.AssignmentPattern(id, init));\n\t }\n\t else {\n\t shorthand = true;\n\t value = id;\n\t }\n\t }\n\t else {\n\t this.throwUnexpectedToken(this.nextToken());\n\t }\n\t }\n\t return this.finalize(node, new Node.Property(kind, key, computed, value, method, shorthand));\n\t };\n\t Parser.prototype.parseObjectInitializer = function () {\n\t var node = this.createNode();\n\t this.expect('{');\n\t var properties = [];\n\t var hasProto = { value: false };\n\t while (!this.match('}')) {\n\t properties.push(this.parseObjectProperty(hasProto));\n\t if (!this.match('}')) {\n\t this.expectCommaSeparator();\n\t }\n\t }\n\t this.expect('}');\n\t return this.finalize(node, new Node.ObjectExpression(properties));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-template-literals\n\t Parser.prototype.parseTemplateHead = function () {\n\t assert_1.assert(this.lookahead.head, 'Template literal must start with a template head');\n\t var node = this.createNode();\n\t var token = this.nextToken();\n\t var raw = token.value;\n\t var cooked = token.cooked;\n\t return this.finalize(node, new Node.TemplateElement({ raw: raw, cooked: cooked }, token.tail));\n\t };\n\t Parser.prototype.parseTemplateElement = function () {\n\t if (this.lookahead.type !== 10 /* Template */) {\n\t this.throwUnexpectedToken();\n\t }\n\t var node = this.createNode();\n\t var token = this.nextToken();\n\t var raw = token.value;\n\t var cooked = token.cooked;\n\t return this.finalize(node, new Node.TemplateElement({ raw: raw, cooked: cooked }, token.tail));\n\t };\n\t Parser.prototype.parseTemplateLiteral = function () {\n\t var node = this.createNode();\n\t var expressions = [];\n\t var quasis = [];\n\t var quasi = this.parseTemplateHead();\n\t quasis.push(quasi);\n\t while (!quasi.tail) {\n\t expressions.push(this.parseExpression());\n\t quasi = this.parseTemplateElement();\n\t quasis.push(quasi);\n\t }\n\t return this.finalize(node, new Node.TemplateLiteral(quasis, expressions));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-grouping-operator\n\t Parser.prototype.reinterpretExpressionAsPattern = function (expr) {\n\t switch (expr.type) {\n\t case syntax_1.Syntax.Identifier:\n\t case syntax_1.Syntax.MemberExpression:\n\t case syntax_1.Syntax.RestElement:\n\t case syntax_1.Syntax.AssignmentPattern:\n\t break;\n\t case syntax_1.Syntax.SpreadElement:\n\t expr.type = syntax_1.Syntax.RestElement;\n\t this.reinterpretExpressionAsPattern(expr.argument);\n\t break;\n\t case syntax_1.Syntax.ArrayExpression:\n\t expr.type = syntax_1.Syntax.ArrayPattern;\n\t for (var i = 0; i < expr.elements.length; i++) {\n\t if (expr.elements[i] !== null) {\n\t this.reinterpretExpressionAsPattern(expr.elements[i]);\n\t }\n\t }\n\t break;\n\t case syntax_1.Syntax.ObjectExpression:\n\t expr.type = syntax_1.Syntax.ObjectPattern;\n\t for (var i = 0; i < expr.properties.length; i++) {\n\t this.reinterpretExpressionAsPattern(expr.properties[i].value);\n\t }\n\t break;\n\t case syntax_1.Syntax.AssignmentExpression:\n\t expr.type = syntax_1.Syntax.AssignmentPattern;\n\t delete expr.operator;\n\t this.reinterpretExpressionAsPattern(expr.left);\n\t break;\n\t default:\n\t // Allow other node type for tolerant parsing.\n\t break;\n\t }\n\t };\n\t Parser.prototype.parseGroupExpression = function () {\n\t var expr;\n\t this.expect('(');\n\t if (this.match(')')) {\n\t this.nextToken();\n\t if (!this.match('=>')) {\n\t this.expect('=>');\n\t }\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: [],\n\t async: false\n\t };\n\t }\n\t else {\n\t var startToken = this.lookahead;\n\t var params = [];\n\t if (this.match('...')) {\n\t expr = this.parseRestElement(params);\n\t this.expect(')');\n\t if (!this.match('=>')) {\n\t this.expect('=>');\n\t }\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: [expr],\n\t async: false\n\t };\n\t }\n\t else {\n\t var arrow = false;\n\t this.context.isBindingElement = true;\n\t expr = this.inheritCoverGrammar(this.parseAssignmentExpression);\n\t if (this.match(',')) {\n\t var expressions = [];\n\t this.context.isAssignmentTarget = false;\n\t expressions.push(expr);\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t if (!this.match(',')) {\n\t break;\n\t }\n\t this.nextToken();\n\t if (this.match(')')) {\n\t this.nextToken();\n\t for (var i = 0; i < expressions.length; i++) {\n\t this.reinterpretExpressionAsPattern(expressions[i]);\n\t }\n\t arrow = true;\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: expressions,\n\t async: false\n\t };\n\t }\n\t else if (this.match('...')) {\n\t if (!this.context.isBindingElement) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t expressions.push(this.parseRestElement(params));\n\t this.expect(')');\n\t if (!this.match('=>')) {\n\t this.expect('=>');\n\t }\n\t this.context.isBindingElement = false;\n\t for (var i = 0; i < expressions.length; i++) {\n\t this.reinterpretExpressionAsPattern(expressions[i]);\n\t }\n\t arrow = true;\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: expressions,\n\t async: false\n\t };\n\t }\n\t else {\n\t expressions.push(this.inheritCoverGrammar(this.parseAssignmentExpression));\n\t }\n\t if (arrow) {\n\t break;\n\t }\n\t }\n\t if (!arrow) {\n\t expr = this.finalize(this.startNode(startToken), new Node.SequenceExpression(expressions));\n\t }\n\t }\n\t if (!arrow) {\n\t this.expect(')');\n\t if (this.match('=>')) {\n\t if (expr.type === syntax_1.Syntax.Identifier && expr.name === 'yield') {\n\t arrow = true;\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: [expr],\n\t async: false\n\t };\n\t }\n\t if (!arrow) {\n\t if (!this.context.isBindingElement) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t if (expr.type === syntax_1.Syntax.SequenceExpression) {\n\t for (var i = 0; i < expr.expressions.length; i++) {\n\t this.reinterpretExpressionAsPattern(expr.expressions[i]);\n\t }\n\t }\n\t else {\n\t this.reinterpretExpressionAsPattern(expr);\n\t }\n\t var parameters = (expr.type === syntax_1.Syntax.SequenceExpression ? expr.expressions : [expr]);\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: parameters,\n\t async: false\n\t };\n\t }\n\t }\n\t this.context.isBindingElement = false;\n\t }\n\t }\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-left-hand-side-expressions\n\t Parser.prototype.parseArguments = function () {\n\t this.expect('(');\n\t var args = [];\n\t if (!this.match(')')) {\n\t while (true) {\n\t var expr = this.match('...') ? this.parseSpreadElement() :\n\t this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t args.push(expr);\n\t if (this.match(')')) {\n\t break;\n\t }\n\t this.expectCommaSeparator();\n\t if (this.match(')')) {\n\t break;\n\t }\n\t }\n\t }\n\t this.expect(')');\n\t return args;\n\t };\n\t Parser.prototype.isIdentifierName = function (token) {\n\t return token.type === 3 /* Identifier */ ||\n\t token.type === 4 /* Keyword */ ||\n\t token.type === 1 /* BooleanLiteral */ ||\n\t token.type === 5 /* NullLiteral */;\n\t };\n\t Parser.prototype.parseIdentifierName = function () {\n\t var node = this.createNode();\n\t var token = this.nextToken();\n\t if (!this.isIdentifierName(token)) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t return this.finalize(node, new Node.Identifier(token.value));\n\t };\n\t Parser.prototype.parseNewExpression = function () {\n\t var node = this.createNode();\n\t var id = this.parseIdentifierName();\n\t assert_1.assert(id.name === 'new', 'New expression must start with `new`');\n\t var expr;\n\t if (this.match('.')) {\n\t this.nextToken();\n\t if (this.lookahead.type === 3 /* Identifier */ && this.context.inFunctionBody && this.lookahead.value === 'target') {\n\t var property = this.parseIdentifierName();\n\t expr = new Node.MetaProperty(id, property);\n\t }\n\t else {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t }\n\t else {\n\t var callee = this.isolateCoverGrammar(this.parseLeftHandSideExpression);\n\t var args = this.match('(') ? this.parseArguments() : [];\n\t expr = new Node.NewExpression(callee, args);\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t }\n\t return this.finalize(node, expr);\n\t };\n\t Parser.prototype.parseAsyncArgument = function () {\n\t var arg = this.parseAssignmentExpression();\n\t this.context.firstCoverInitializedNameError = null;\n\t return arg;\n\t };\n\t Parser.prototype.parseAsyncArguments = function () {\n\t this.expect('(');\n\t var args = [];\n\t if (!this.match(')')) {\n\t while (true) {\n\t var expr = this.match('...') ? this.parseSpreadElement() :\n\t this.isolateCoverGrammar(this.parseAsyncArgument);\n\t args.push(expr);\n\t if (this.match(')')) {\n\t break;\n\t }\n\t this.expectCommaSeparator();\n\t if (this.match(')')) {\n\t break;\n\t }\n\t }\n\t }\n\t this.expect(')');\n\t return args;\n\t };\n\t Parser.prototype.parseLeftHandSideExpressionAllowCall = function () {\n\t var startToken = this.lookahead;\n\t var maybeAsync = this.matchContextualKeyword('async');\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = true;\n\t var expr;\n\t if (this.matchKeyword('super') && this.context.inFunctionBody) {\n\t expr = this.createNode();\n\t this.nextToken();\n\t expr = this.finalize(expr, new Node.Super());\n\t if (!this.match('(') && !this.match('.') && !this.match('[')) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t }\n\t else {\n\t expr = this.inheritCoverGrammar(this.matchKeyword('new') ? this.parseNewExpression : this.parsePrimaryExpression);\n\t }\n\t while (true) {\n\t if (this.match('.')) {\n\t this.context.isBindingElement = false;\n\t this.context.isAssignmentTarget = true;\n\t this.expect('.');\n\t var property = this.parseIdentifierName();\n\t expr = this.finalize(this.startNode(startToken), new Node.StaticMemberExpression(expr, property));\n\t }\n\t else if (this.match('(')) {\n\t var asyncArrow = maybeAsync && (startToken.lineNumber === this.lookahead.lineNumber);\n\t this.context.isBindingElement = false;\n\t this.context.isAssignmentTarget = false;\n\t var args = asyncArrow ? this.parseAsyncArguments() : this.parseArguments();\n\t expr = this.finalize(this.startNode(startToken), new Node.CallExpression(expr, args));\n\t if (asyncArrow && this.match('=>')) {\n\t for (var i = 0; i < args.length; ++i) {\n\t this.reinterpretExpressionAsPattern(args[i]);\n\t }\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: args,\n\t async: true\n\t };\n\t }\n\t }\n\t else if (this.match('[')) {\n\t this.context.isBindingElement = false;\n\t this.context.isAssignmentTarget = true;\n\t this.expect('[');\n\t var property = this.isolateCoverGrammar(this.parseExpression);\n\t this.expect(']');\n\t expr = this.finalize(this.startNode(startToken), new Node.ComputedMemberExpression(expr, property));\n\t }\n\t else if (this.lookahead.type === 10 /* Template */ && this.lookahead.head) {\n\t var quasi = this.parseTemplateLiteral();\n\t expr = this.finalize(this.startNode(startToken), new Node.TaggedTemplateExpression(expr, quasi));\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t this.context.allowIn = previousAllowIn;\n\t return expr;\n\t };\n\t Parser.prototype.parseSuper = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('super');\n\t if (!this.match('[') && !this.match('.')) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t return this.finalize(node, new Node.Super());\n\t };\n\t Parser.prototype.parseLeftHandSideExpression = function () {\n\t assert_1.assert(this.context.allowIn, 'callee of new expression always allow in keyword.');\n\t var node = this.startNode(this.lookahead);\n\t var expr = (this.matchKeyword('super') && this.context.inFunctionBody) ? this.parseSuper() :\n\t this.inheritCoverGrammar(this.matchKeyword('new') ? this.parseNewExpression : this.parsePrimaryExpression);\n\t while (true) {\n\t if (this.match('[')) {\n\t this.context.isBindingElement = false;\n\t this.context.isAssignmentTarget = true;\n\t this.expect('[');\n\t var property = this.isolateCoverGrammar(this.parseExpression);\n\t this.expect(']');\n\t expr = this.finalize(node, new Node.ComputedMemberExpression(expr, property));\n\t }\n\t else if (this.match('.')) {\n\t this.context.isBindingElement = false;\n\t this.context.isAssignmentTarget = true;\n\t this.expect('.');\n\t var property = this.parseIdentifierName();\n\t expr = this.finalize(node, new Node.StaticMemberExpression(expr, property));\n\t }\n\t else if (this.lookahead.type === 10 /* Template */ && this.lookahead.head) {\n\t var quasi = this.parseTemplateLiteral();\n\t expr = this.finalize(node, new Node.TaggedTemplateExpression(expr, quasi));\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-update-expressions\n\t Parser.prototype.parseUpdateExpression = function () {\n\t var expr;\n\t var startToken = this.lookahead;\n\t if (this.match('++') || this.match('--')) {\n\t var node = this.startNode(startToken);\n\t var token = this.nextToken();\n\t expr = this.inheritCoverGrammar(this.parseUnaryExpression);\n\t if (this.context.strict && expr.type === syntax_1.Syntax.Identifier && this.scanner.isRestrictedWord(expr.name)) {\n\t this.tolerateError(messages_1.Messages.StrictLHSPrefix);\n\t }\n\t if (!this.context.isAssignmentTarget) {\n\t this.tolerateError(messages_1.Messages.InvalidLHSInAssignment);\n\t }\n\t var prefix = true;\n\t expr = this.finalize(node, new Node.UpdateExpression(token.value, expr, prefix));\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t }\n\t else {\n\t expr = this.inheritCoverGrammar(this.parseLeftHandSideExpressionAllowCall);\n\t if (!this.hasLineTerminator && this.lookahead.type === 7 /* Punctuator */) {\n\t if (this.match('++') || this.match('--')) {\n\t if (this.context.strict && expr.type === syntax_1.Syntax.Identifier && this.scanner.isRestrictedWord(expr.name)) {\n\t this.tolerateError(messages_1.Messages.StrictLHSPostfix);\n\t }\n\t if (!this.context.isAssignmentTarget) {\n\t this.tolerateError(messages_1.Messages.InvalidLHSInAssignment);\n\t }\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t var operator = this.nextToken().value;\n\t var prefix = false;\n\t expr = this.finalize(this.startNode(startToken), new Node.UpdateExpression(operator, expr, prefix));\n\t }\n\t }\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-unary-operators\n\t Parser.prototype.parseAwaitExpression = function () {\n\t var node = this.createNode();\n\t this.nextToken();\n\t var argument = this.parseUnaryExpression();\n\t return this.finalize(node, new Node.AwaitExpression(argument));\n\t };\n\t Parser.prototype.parseUnaryExpression = function () {\n\t var expr;\n\t if (this.match('+') || this.match('-') || this.match('~') || this.match('!') ||\n\t this.matchKeyword('delete') || this.matchKeyword('void') || this.matchKeyword('typeof')) {\n\t var node = this.startNode(this.lookahead);\n\t var token = this.nextToken();\n\t expr = this.inheritCoverGrammar(this.parseUnaryExpression);\n\t expr = this.finalize(node, new Node.UnaryExpression(token.value, expr));\n\t if (this.context.strict && expr.operator === 'delete' && expr.argument.type === syntax_1.Syntax.Identifier) {\n\t this.tolerateError(messages_1.Messages.StrictDelete);\n\t }\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t }\n\t else if (this.context.await && this.matchContextualKeyword('await')) {\n\t expr = this.parseAwaitExpression();\n\t }\n\t else {\n\t expr = this.parseUpdateExpression();\n\t }\n\t return expr;\n\t };\n\t Parser.prototype.parseExponentiationExpression = function () {\n\t var startToken = this.lookahead;\n\t var expr = this.inheritCoverGrammar(this.parseUnaryExpression);\n\t if (expr.type !== syntax_1.Syntax.UnaryExpression && this.match('**')) {\n\t this.nextToken();\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t var left = expr;\n\t var right = this.isolateCoverGrammar(this.parseExponentiationExpression);\n\t expr = this.finalize(this.startNode(startToken), new Node.BinaryExpression('**', left, right));\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-exp-operator\n\t // https://tc39.github.io/ecma262/#sec-multiplicative-operators\n\t // https://tc39.github.io/ecma262/#sec-additive-operators\n\t // https://tc39.github.io/ecma262/#sec-bitwise-shift-operators\n\t // https://tc39.github.io/ecma262/#sec-relational-operators\n\t // https://tc39.github.io/ecma262/#sec-equality-operators\n\t // https://tc39.github.io/ecma262/#sec-binary-bitwise-operators\n\t // https://tc39.github.io/ecma262/#sec-binary-logical-operators\n\t Parser.prototype.binaryPrecedence = function (token) {\n\t var op = token.value;\n\t var precedence;\n\t if (token.type === 7 /* Punctuator */) {\n\t precedence = this.operatorPrecedence[op] || 0;\n\t }\n\t else if (token.type === 4 /* Keyword */) {\n\t precedence = (op === 'instanceof' || (this.context.allowIn && op === 'in')) ? 7 : 0;\n\t }\n\t else {\n\t precedence = 0;\n\t }\n\t return precedence;\n\t };\n\t Parser.prototype.parseBinaryExpression = function () {\n\t var startToken = this.lookahead;\n\t var expr = this.inheritCoverGrammar(this.parseExponentiationExpression);\n\t var token = this.lookahead;\n\t var prec = this.binaryPrecedence(token);\n\t if (prec > 0) {\n\t this.nextToken();\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t var markers = [startToken, this.lookahead];\n\t var left = expr;\n\t var right = this.isolateCoverGrammar(this.parseExponentiationExpression);\n\t var stack = [left, token.value, right];\n\t var precedences = [prec];\n\t while (true) {\n\t prec = this.binaryPrecedence(this.lookahead);\n\t if (prec <= 0) {\n\t break;\n\t }\n\t // Reduce: make a binary expression from the three topmost entries.\n\t while ((stack.length > 2) && (prec <= precedences[precedences.length - 1])) {\n\t right = stack.pop();\n\t var operator = stack.pop();\n\t precedences.pop();\n\t left = stack.pop();\n\t markers.pop();\n\t var node = this.startNode(markers[markers.length - 1]);\n\t stack.push(this.finalize(node, new Node.BinaryExpression(operator, left, right)));\n\t }\n\t // Shift.\n\t stack.push(this.nextToken().value);\n\t precedences.push(prec);\n\t markers.push(this.lookahead);\n\t stack.push(this.isolateCoverGrammar(this.parseExponentiationExpression));\n\t }\n\t // Final reduce to clean-up the stack.\n\t var i = stack.length - 1;\n\t expr = stack[i];\n\t var lastMarker = markers.pop();\n\t while (i > 1) {\n\t var marker = markers.pop();\n\t var lastLineStart = lastMarker && lastMarker.lineStart;\n\t var node = this.startNode(marker, lastLineStart);\n\t var operator = stack[i - 1];\n\t expr = this.finalize(node, new Node.BinaryExpression(operator, stack[i - 2], expr));\n\t i -= 2;\n\t lastMarker = marker;\n\t }\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-conditional-operator\n\t Parser.prototype.parseConditionalExpression = function () {\n\t var startToken = this.lookahead;\n\t var expr = this.inheritCoverGrammar(this.parseBinaryExpression);\n\t if (this.match('?')) {\n\t this.nextToken();\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = true;\n\t var consequent = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t this.context.allowIn = previousAllowIn;\n\t this.expect(':');\n\t var alternate = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t expr = this.finalize(this.startNode(startToken), new Node.ConditionalExpression(expr, consequent, alternate));\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-assignment-operators\n\t Parser.prototype.checkPatternParam = function (options, param) {\n\t switch (param.type) {\n\t case syntax_1.Syntax.Identifier:\n\t this.validateParam(options, param, param.name);\n\t break;\n\t case syntax_1.Syntax.RestElement:\n\t this.checkPatternParam(options, param.argument);\n\t break;\n\t case syntax_1.Syntax.AssignmentPattern:\n\t this.checkPatternParam(options, param.left);\n\t break;\n\t case syntax_1.Syntax.ArrayPattern:\n\t for (var i = 0; i < param.elements.length; i++) {\n\t if (param.elements[i] !== null) {\n\t this.checkPatternParam(options, param.elements[i]);\n\t }\n\t }\n\t break;\n\t case syntax_1.Syntax.ObjectPattern:\n\t for (var i = 0; i < param.properties.length; i++) {\n\t this.checkPatternParam(options, param.properties[i].value);\n\t }\n\t break;\n\t default:\n\t break;\n\t }\n\t options.simple = options.simple && (param instanceof Node.Identifier);\n\t };\n\t Parser.prototype.reinterpretAsCoverFormalsList = function (expr) {\n\t var params = [expr];\n\t var options;\n\t var asyncArrow = false;\n\t switch (expr.type) {\n\t case syntax_1.Syntax.Identifier:\n\t break;\n\t case ArrowParameterPlaceHolder:\n\t params = expr.params;\n\t asyncArrow = expr.async;\n\t break;\n\t default:\n\t return null;\n\t }\n\t options = {\n\t simple: true,\n\t paramSet: {}\n\t };\n\t for (var i = 0; i < params.length; ++i) {\n\t var param = params[i];\n\t if (param.type === syntax_1.Syntax.AssignmentPattern) {\n\t if (param.right.type === syntax_1.Syntax.YieldExpression) {\n\t if (param.right.argument) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t param.right.type = syntax_1.Syntax.Identifier;\n\t param.right.name = 'yield';\n\t delete param.right.argument;\n\t delete param.right.delegate;\n\t }\n\t }\n\t else if (asyncArrow && param.type === syntax_1.Syntax.Identifier && param.name === 'await') {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t this.checkPatternParam(options, param);\n\t params[i] = param;\n\t }\n\t if (this.context.strict || !this.context.allowYield) {\n\t for (var i = 0; i < params.length; ++i) {\n\t var param = params[i];\n\t if (param.type === syntax_1.Syntax.YieldExpression) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t }\n\t }\n\t if (options.message === messages_1.Messages.StrictParamDupe) {\n\t var token = this.context.strict ? options.stricted : options.firstRestricted;\n\t this.throwUnexpectedToken(token, options.message);\n\t }\n\t return {\n\t simple: options.simple,\n\t params: params,\n\t stricted: options.stricted,\n\t firstRestricted: options.firstRestricted,\n\t message: options.message\n\t };\n\t };\n\t Parser.prototype.parseAssignmentExpression = function () {\n\t var expr;\n\t if (!this.context.allowYield && this.matchKeyword('yield')) {\n\t expr = this.parseYieldExpression();\n\t }\n\t else {\n\t var startToken = this.lookahead;\n\t var token = startToken;\n\t expr = this.parseConditionalExpression();\n\t if (token.type === 3 /* Identifier */ && (token.lineNumber === this.lookahead.lineNumber) && token.value === 'async') {\n\t if (this.lookahead.type === 3 /* Identifier */ || this.matchKeyword('yield')) {\n\t var arg = this.parsePrimaryExpression();\n\t this.reinterpretExpressionAsPattern(arg);\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: [arg],\n\t async: true\n\t };\n\t }\n\t }\n\t if (expr.type === ArrowParameterPlaceHolder || this.match('=>')) {\n\t // https://tc39.github.io/ecma262/#sec-arrow-function-definitions\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t var isAsync = expr.async;\n\t var list = this.reinterpretAsCoverFormalsList(expr);\n\t if (list) {\n\t if (this.hasLineTerminator) {\n\t this.tolerateUnexpectedToken(this.lookahead);\n\t }\n\t this.context.firstCoverInitializedNameError = null;\n\t var previousStrict = this.context.strict;\n\t var previousAllowStrictDirective = this.context.allowStrictDirective;\n\t this.context.allowStrictDirective = list.simple;\n\t var previousAllowYield = this.context.allowYield;\n\t var previousAwait = this.context.await;\n\t this.context.allowYield = true;\n\t this.context.await = isAsync;\n\t var node = this.startNode(startToken);\n\t this.expect('=>');\n\t var body = void 0;\n\t if (this.match('{')) {\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = true;\n\t body = this.parseFunctionSourceElements();\n\t this.context.allowIn = previousAllowIn;\n\t }\n\t else {\n\t body = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t }\n\t var expression = body.type !== syntax_1.Syntax.BlockStatement;\n\t if (this.context.strict && list.firstRestricted) {\n\t this.throwUnexpectedToken(list.firstRestricted, list.message);\n\t }\n\t if (this.context.strict && list.stricted) {\n\t this.tolerateUnexpectedToken(list.stricted, list.message);\n\t }\n\t expr = isAsync ? this.finalize(node, new Node.AsyncArrowFunctionExpression(list.params, body, expression)) :\n\t this.finalize(node, new Node.ArrowFunctionExpression(list.params, body, expression));\n\t this.context.strict = previousStrict;\n\t this.context.allowStrictDirective = previousAllowStrictDirective;\n\t this.context.allowYield = previousAllowYield;\n\t this.context.await = previousAwait;\n\t }\n\t }\n\t else {\n\t if (this.matchAssign()) {\n\t if (!this.context.isAssignmentTarget) {\n\t this.tolerateError(messages_1.Messages.InvalidLHSInAssignment);\n\t }\n\t if (this.context.strict && expr.type === syntax_1.Syntax.Identifier) {\n\t var id = expr;\n\t if (this.scanner.isRestrictedWord(id.name)) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictLHSAssignment);\n\t }\n\t if (this.scanner.isStrictModeReservedWord(id.name)) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord);\n\t }\n\t }\n\t if (!this.match('=')) {\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t }\n\t else {\n\t this.reinterpretExpressionAsPattern(expr);\n\t }\n\t token = this.nextToken();\n\t var operator = token.value;\n\t var right = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t expr = this.finalize(this.startNode(startToken), new Node.AssignmentExpression(operator, expr, right));\n\t this.context.firstCoverInitializedNameError = null;\n\t }\n\t }\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-comma-operator\n\t Parser.prototype.parseExpression = function () {\n\t var startToken = this.lookahead;\n\t var expr = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t if (this.match(',')) {\n\t var expressions = [];\n\t expressions.push(expr);\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t if (!this.match(',')) {\n\t break;\n\t }\n\t this.nextToken();\n\t expressions.push(this.isolateCoverGrammar(this.parseAssignmentExpression));\n\t }\n\t expr = this.finalize(this.startNode(startToken), new Node.SequenceExpression(expressions));\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-block\n\t Parser.prototype.parseStatementListItem = function () {\n\t var statement;\n\t this.context.isAssignmentTarget = true;\n\t this.context.isBindingElement = true;\n\t if (this.lookahead.type === 4 /* Keyword */) {\n\t switch (this.lookahead.value) {\n\t case 'export':\n\t if (!this.context.isModule) {\n\t this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.IllegalExportDeclaration);\n\t }\n\t statement = this.parseExportDeclaration();\n\t break;\n\t case 'import':\n\t if (!this.context.isModule) {\n\t this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.IllegalImportDeclaration);\n\t }\n\t statement = this.parseImportDeclaration();\n\t break;\n\t case 'const':\n\t statement = this.parseLexicalDeclaration({ inFor: false });\n\t break;\n\t case 'function':\n\t statement = this.parseFunctionDeclaration();\n\t break;\n\t case 'class':\n\t statement = this.parseClassDeclaration();\n\t break;\n\t case 'let':\n\t statement = this.isLexicalDeclaration() ? this.parseLexicalDeclaration({ inFor: false }) : this.parseStatement();\n\t break;\n\t default:\n\t statement = this.parseStatement();\n\t break;\n\t }\n\t }\n\t else {\n\t statement = this.parseStatement();\n\t }\n\t return statement;\n\t };\n\t Parser.prototype.parseBlock = function () {\n\t var node = this.createNode();\n\t this.expect('{');\n\t var block = [];\n\t while (true) {\n\t if (this.match('}')) {\n\t break;\n\t }\n\t block.push(this.parseStatementListItem());\n\t }\n\t this.expect('}');\n\t return this.finalize(node, new Node.BlockStatement(block));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-let-and-const-declarations\n\t Parser.prototype.parseLexicalBinding = function (kind, options) {\n\t var node = this.createNode();\n\t var params = [];\n\t var id = this.parsePattern(params, kind);\n\t if (this.context.strict && id.type === syntax_1.Syntax.Identifier) {\n\t if (this.scanner.isRestrictedWord(id.name)) {\n\t this.tolerateError(messages_1.Messages.StrictVarName);\n\t }\n\t }\n\t var init = null;\n\t if (kind === 'const') {\n\t if (!this.matchKeyword('in') && !this.matchContextualKeyword('of')) {\n\t if (this.match('=')) {\n\t this.nextToken();\n\t init = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t }\n\t else {\n\t this.throwError(messages_1.Messages.DeclarationMissingInitializer, 'const');\n\t }\n\t }\n\t }\n\t else if ((!options.inFor && id.type !== syntax_1.Syntax.Identifier) || this.match('=')) {\n\t this.expect('=');\n\t init = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t }\n\t return this.finalize(node, new Node.VariableDeclarator(id, init));\n\t };\n\t Parser.prototype.parseBindingList = function (kind, options) {\n\t var list = [this.parseLexicalBinding(kind, options)];\n\t while (this.match(',')) {\n\t this.nextToken();\n\t list.push(this.parseLexicalBinding(kind, options));\n\t }\n\t return list;\n\t };\n\t Parser.prototype.isLexicalDeclaration = function () {\n\t var state = this.scanner.saveState();\n\t this.scanner.scanComments();\n\t var next = this.scanner.lex();\n\t this.scanner.restoreState(state);\n\t return (next.type === 3 /* Identifier */) ||\n\t (next.type === 7 /* Punctuator */ && next.value === '[') ||\n\t (next.type === 7 /* Punctuator */ && next.value === '{') ||\n\t (next.type === 4 /* Keyword */ && next.value === 'let') ||\n\t (next.type === 4 /* Keyword */ && next.value === 'yield');\n\t };\n\t Parser.prototype.parseLexicalDeclaration = function (options) {\n\t var node = this.createNode();\n\t var kind = this.nextToken().value;\n\t assert_1.assert(kind === 'let' || kind === 'const', 'Lexical declaration must be either let or const');\n\t var declarations = this.parseBindingList(kind, options);\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.VariableDeclaration(declarations, kind));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-destructuring-binding-patterns\n\t Parser.prototype.parseBindingRestElement = function (params, kind) {\n\t var node = this.createNode();\n\t this.expect('...');\n\t var arg = this.parsePattern(params, kind);\n\t return this.finalize(node, new Node.RestElement(arg));\n\t };\n\t Parser.prototype.parseArrayPattern = function (params, kind) {\n\t var node = this.createNode();\n\t this.expect('[');\n\t var elements = [];\n\t while (!this.match(']')) {\n\t if (this.match(',')) {\n\t this.nextToken();\n\t elements.push(null);\n\t }\n\t else {\n\t if (this.match('...')) {\n\t elements.push(this.parseBindingRestElement(params, kind));\n\t break;\n\t }\n\t else {\n\t elements.push(this.parsePatternWithDefault(params, kind));\n\t }\n\t if (!this.match(']')) {\n\t this.expect(',');\n\t }\n\t }\n\t }\n\t this.expect(']');\n\t return this.finalize(node, new Node.ArrayPattern(elements));\n\t };\n\t Parser.prototype.parsePropertyPattern = function (params, kind) {\n\t var node = this.createNode();\n\t var computed = false;\n\t var shorthand = false;\n\t var method = false;\n\t var key;\n\t var value;\n\t if (this.lookahead.type === 3 /* Identifier */) {\n\t var keyToken = this.lookahead;\n\t key = this.parseVariableIdentifier();\n\t var init = this.finalize(node, new Node.Identifier(keyToken.value));\n\t if (this.match('=')) {\n\t params.push(keyToken);\n\t shorthand = true;\n\t this.nextToken();\n\t var expr = this.parseAssignmentExpression();\n\t value = this.finalize(this.startNode(keyToken), new Node.AssignmentPattern(init, expr));\n\t }\n\t else if (!this.match(':')) {\n\t params.push(keyToken);\n\t shorthand = true;\n\t value = init;\n\t }\n\t else {\n\t this.expect(':');\n\t value = this.parsePatternWithDefault(params, kind);\n\t }\n\t }\n\t else {\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t this.expect(':');\n\t value = this.parsePatternWithDefault(params, kind);\n\t }\n\t return this.finalize(node, new Node.Property('init', key, computed, value, method, shorthand));\n\t };\n\t Parser.prototype.parseObjectPattern = function (params, kind) {\n\t var node = this.createNode();\n\t var properties = [];\n\t this.expect('{');\n\t while (!this.match('}')) {\n\t properties.push(this.parsePropertyPattern(params, kind));\n\t if (!this.match('}')) {\n\t this.expect(',');\n\t }\n\t }\n\t this.expect('}');\n\t return this.finalize(node, new Node.ObjectPattern(properties));\n\t };\n\t Parser.prototype.parsePattern = function (params, kind) {\n\t var pattern;\n\t if (this.match('[')) {\n\t pattern = this.parseArrayPattern(params, kind);\n\t }\n\t else if (this.match('{')) {\n\t pattern = this.parseObjectPattern(params, kind);\n\t }\n\t else {\n\t if (this.matchKeyword('let') && (kind === 'const' || kind === 'let')) {\n\t this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.LetInLexicalBinding);\n\t }\n\t params.push(this.lookahead);\n\t pattern = this.parseVariableIdentifier(kind);\n\t }\n\t return pattern;\n\t };\n\t Parser.prototype.parsePatternWithDefault = function (params, kind) {\n\t var startToken = this.lookahead;\n\t var pattern = this.parsePattern(params, kind);\n\t if (this.match('=')) {\n\t this.nextToken();\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = true;\n\t var right = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t this.context.allowYield = previousAllowYield;\n\t pattern = this.finalize(this.startNode(startToken), new Node.AssignmentPattern(pattern, right));\n\t }\n\t return pattern;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-variable-statement\n\t Parser.prototype.parseVariableIdentifier = function (kind) {\n\t var node = this.createNode();\n\t var token = this.nextToken();\n\t if (token.type === 4 /* Keyword */ && token.value === 'yield') {\n\t if (this.context.strict) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord);\n\t }\n\t else if (!this.context.allowYield) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t }\n\t else if (token.type !== 3 /* Identifier */) {\n\t if (this.context.strict && token.type === 4 /* Keyword */ && this.scanner.isStrictModeReservedWord(token.value)) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord);\n\t }\n\t else {\n\t if (this.context.strict || token.value !== 'let' || kind !== 'var') {\n\t this.throwUnexpectedToken(token);\n\t }\n\t }\n\t }\n\t else if ((this.context.isModule || this.context.await) && token.type === 3 /* Identifier */ && token.value === 'await') {\n\t this.tolerateUnexpectedToken(token);\n\t }\n\t return this.finalize(node, new Node.Identifier(token.value));\n\t };\n\t Parser.prototype.parseVariableDeclaration = function (options) {\n\t var node = this.createNode();\n\t var params = [];\n\t var id = this.parsePattern(params, 'var');\n\t if (this.context.strict && id.type === syntax_1.Syntax.Identifier) {\n\t if (this.scanner.isRestrictedWord(id.name)) {\n\t this.tolerateError(messages_1.Messages.StrictVarName);\n\t }\n\t }\n\t var init = null;\n\t if (this.match('=')) {\n\t this.nextToken();\n\t init = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t }\n\t else if (id.type !== syntax_1.Syntax.Identifier && !options.inFor) {\n\t this.expect('=');\n\t }\n\t return this.finalize(node, new Node.VariableDeclarator(id, init));\n\t };\n\t Parser.prototype.parseVariableDeclarationList = function (options) {\n\t var opt = { inFor: options.inFor };\n\t var list = [];\n\t list.push(this.parseVariableDeclaration(opt));\n\t while (this.match(',')) {\n\t this.nextToken();\n\t list.push(this.parseVariableDeclaration(opt));\n\t }\n\t return list;\n\t };\n\t Parser.prototype.parseVariableStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('var');\n\t var declarations = this.parseVariableDeclarationList({ inFor: false });\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.VariableDeclaration(declarations, 'var'));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-empty-statement\n\t Parser.prototype.parseEmptyStatement = function () {\n\t var node = this.createNode();\n\t this.expect(';');\n\t return this.finalize(node, new Node.EmptyStatement());\n\t };\n\t // https://tc39.github.io/ecma262/#sec-expression-statement\n\t Parser.prototype.parseExpressionStatement = function () {\n\t var node = this.createNode();\n\t var expr = this.parseExpression();\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.ExpressionStatement(expr));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-if-statement\n\t Parser.prototype.parseIfClause = function () {\n\t if (this.context.strict && this.matchKeyword('function')) {\n\t this.tolerateError(messages_1.Messages.StrictFunction);\n\t }\n\t return this.parseStatement();\n\t };\n\t Parser.prototype.parseIfStatement = function () {\n\t var node = this.createNode();\n\t var consequent;\n\t var alternate = null;\n\t this.expectKeyword('if');\n\t this.expect('(');\n\t var test = this.parseExpression();\n\t if (!this.match(')') && this.config.tolerant) {\n\t this.tolerateUnexpectedToken(this.nextToken());\n\t consequent = this.finalize(this.createNode(), new Node.EmptyStatement());\n\t }\n\t else {\n\t this.expect(')');\n\t consequent = this.parseIfClause();\n\t if (this.matchKeyword('else')) {\n\t this.nextToken();\n\t alternate = this.parseIfClause();\n\t }\n\t }\n\t return this.finalize(node, new Node.IfStatement(test, consequent, alternate));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-do-while-statement\n\t Parser.prototype.parseDoWhileStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('do');\n\t var previousInIteration = this.context.inIteration;\n\t this.context.inIteration = true;\n\t var body = this.parseStatement();\n\t this.context.inIteration = previousInIteration;\n\t this.expectKeyword('while');\n\t this.expect('(');\n\t var test = this.parseExpression();\n\t if (!this.match(')') && this.config.tolerant) {\n\t this.tolerateUnexpectedToken(this.nextToken());\n\t }\n\t else {\n\t this.expect(')');\n\t if (this.match(';')) {\n\t this.nextToken();\n\t }\n\t }\n\t return this.finalize(node, new Node.DoWhileStatement(body, test));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-while-statement\n\t Parser.prototype.parseWhileStatement = function () {\n\t var node = this.createNode();\n\t var body;\n\t this.expectKeyword('while');\n\t this.expect('(');\n\t var test = this.parseExpression();\n\t if (!this.match(')') && this.config.tolerant) {\n\t this.tolerateUnexpectedToken(this.nextToken());\n\t body = this.finalize(this.createNode(), new Node.EmptyStatement());\n\t }\n\t else {\n\t this.expect(')');\n\t var previousInIteration = this.context.inIteration;\n\t this.context.inIteration = true;\n\t body = this.parseStatement();\n\t this.context.inIteration = previousInIteration;\n\t }\n\t return this.finalize(node, new Node.WhileStatement(test, body));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-for-statement\n\t // https://tc39.github.io/ecma262/#sec-for-in-and-for-of-statements\n\t Parser.prototype.parseForStatement = function () {\n\t var init = null;\n\t var test = null;\n\t var update = null;\n\t var forIn = true;\n\t var left, right;\n\t var node = this.createNode();\n\t this.expectKeyword('for');\n\t this.expect('(');\n\t if (this.match(';')) {\n\t this.nextToken();\n\t }\n\t else {\n\t if (this.matchKeyword('var')) {\n\t init = this.createNode();\n\t this.nextToken();\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = false;\n\t var declarations = this.parseVariableDeclarationList({ inFor: true });\n\t this.context.allowIn = previousAllowIn;\n\t if (declarations.length === 1 && this.matchKeyword('in')) {\n\t var decl = declarations[0];\n\t if (decl.init && (decl.id.type === syntax_1.Syntax.ArrayPattern || decl.id.type === syntax_1.Syntax.ObjectPattern || this.context.strict)) {\n\t this.tolerateError(messages_1.Messages.ForInOfLoopInitializer, 'for-in');\n\t }\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, 'var'));\n\t this.nextToken();\n\t left = init;\n\t right = this.parseExpression();\n\t init = null;\n\t }\n\t else if (declarations.length === 1 && declarations[0].init === null && this.matchContextualKeyword('of')) {\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, 'var'));\n\t this.nextToken();\n\t left = init;\n\t right = this.parseAssignmentExpression();\n\t init = null;\n\t forIn = false;\n\t }\n\t else {\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, 'var'));\n\t this.expect(';');\n\t }\n\t }\n\t else if (this.matchKeyword('const') || this.matchKeyword('let')) {\n\t init = this.createNode();\n\t var kind = this.nextToken().value;\n\t if (!this.context.strict && this.lookahead.value === 'in') {\n\t init = this.finalize(init, new Node.Identifier(kind));\n\t this.nextToken();\n\t left = init;\n\t right = this.parseExpression();\n\t init = null;\n\t }\n\t else {\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = false;\n\t var declarations = this.parseBindingList(kind, { inFor: true });\n\t this.context.allowIn = previousAllowIn;\n\t if (declarations.length === 1 && declarations[0].init === null && this.matchKeyword('in')) {\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, kind));\n\t this.nextToken();\n\t left = init;\n\t right = this.parseExpression();\n\t init = null;\n\t }\n\t else if (declarations.length === 1 && declarations[0].init === null && this.matchContextualKeyword('of')) {\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, kind));\n\t this.nextToken();\n\t left = init;\n\t right = this.parseAssignmentExpression();\n\t init = null;\n\t forIn = false;\n\t }\n\t else {\n\t this.consumeSemicolon();\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, kind));\n\t }\n\t }\n\t }\n\t else {\n\t var initStartToken = this.lookahead;\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = false;\n\t init = this.inheritCoverGrammar(this.parseAssignmentExpression);\n\t this.context.allowIn = previousAllowIn;\n\t if (this.matchKeyword('in')) {\n\t if (!this.context.isAssignmentTarget || init.type === syntax_1.Syntax.AssignmentExpression) {\n\t this.tolerateError(messages_1.Messages.InvalidLHSInForIn);\n\t }\n\t this.nextToken();\n\t this.reinterpretExpressionAsPattern(init);\n\t left = init;\n\t right = this.parseExpression();\n\t init = null;\n\t }\n\t else if (this.matchContextualKeyword('of')) {\n\t if (!this.context.isAssignmentTarget || init.type === syntax_1.Syntax.AssignmentExpression) {\n\t this.tolerateError(messages_1.Messages.InvalidLHSInForLoop);\n\t }\n\t this.nextToken();\n\t this.reinterpretExpressionAsPattern(init);\n\t left = init;\n\t right = this.parseAssignmentExpression();\n\t init = null;\n\t forIn = false;\n\t }\n\t else {\n\t if (this.match(',')) {\n\t var initSeq = [init];\n\t while (this.match(',')) {\n\t this.nextToken();\n\t initSeq.push(this.isolateCoverGrammar(this.parseAssignmentExpression));\n\t }\n\t init = this.finalize(this.startNode(initStartToken), new Node.SequenceExpression(initSeq));\n\t }\n\t this.expect(';');\n\t }\n\t }\n\t }\n\t if (typeof left === 'undefined') {\n\t if (!this.match(';')) {\n\t test = this.parseExpression();\n\t }\n\t this.expect(';');\n\t if (!this.match(')')) {\n\t update = this.parseExpression();\n\t }\n\t }\n\t var body;\n\t if (!this.match(')') && this.config.tolerant) {\n\t this.tolerateUnexpectedToken(this.nextToken());\n\t body = this.finalize(this.createNode(), new Node.EmptyStatement());\n\t }\n\t else {\n\t this.expect(')');\n\t var previousInIteration = this.context.inIteration;\n\t this.context.inIteration = true;\n\t body = this.isolateCoverGrammar(this.parseStatement);\n\t this.context.inIteration = previousInIteration;\n\t }\n\t return (typeof left === 'undefined') ?\n\t this.finalize(node, new Node.ForStatement(init, test, update, body)) :\n\t forIn ? this.finalize(node, new Node.ForInStatement(left, right, body)) :\n\t this.finalize(node, new Node.ForOfStatement(left, right, body));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-continue-statement\n\t Parser.prototype.parseContinueStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('continue');\n\t var label = null;\n\t if (this.lookahead.type === 3 /* Identifier */ && !this.hasLineTerminator) {\n\t var id = this.parseVariableIdentifier();\n\t label = id;\n\t var key = '$' + id.name;\n\t if (!Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) {\n\t this.throwError(messages_1.Messages.UnknownLabel, id.name);\n\t }\n\t }\n\t this.consumeSemicolon();\n\t if (label === null && !this.context.inIteration) {\n\t this.throwError(messages_1.Messages.IllegalContinue);\n\t }\n\t return this.finalize(node, new Node.ContinueStatement(label));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-break-statement\n\t Parser.prototype.parseBreakStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('break');\n\t var label = null;\n\t if (this.lookahead.type === 3 /* Identifier */ && !this.hasLineTerminator) {\n\t var id = this.parseVariableIdentifier();\n\t var key = '$' + id.name;\n\t if (!Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) {\n\t this.throwError(messages_1.Messages.UnknownLabel, id.name);\n\t }\n\t label = id;\n\t }\n\t this.consumeSemicolon();\n\t if (label === null && !this.context.inIteration && !this.context.inSwitch) {\n\t this.throwError(messages_1.Messages.IllegalBreak);\n\t }\n\t return this.finalize(node, new Node.BreakStatement(label));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-return-statement\n\t Parser.prototype.parseReturnStatement = function () {\n\t if (!this.context.inFunctionBody) {\n\t this.tolerateError(messages_1.Messages.IllegalReturn);\n\t }\n\t var node = this.createNode();\n\t this.expectKeyword('return');\n\t var hasArgument = (!this.match(';') && !this.match('}') &&\n\t !this.hasLineTerminator && this.lookahead.type !== 2 /* EOF */) ||\n\t this.lookahead.type === 8 /* StringLiteral */ ||\n\t this.lookahead.type === 10 /* Template */;\n\t var argument = hasArgument ? this.parseExpression() : null;\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.ReturnStatement(argument));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-with-statement\n\t Parser.prototype.parseWithStatement = function () {\n\t if (this.context.strict) {\n\t this.tolerateError(messages_1.Messages.StrictModeWith);\n\t }\n\t var node = this.createNode();\n\t var body;\n\t this.expectKeyword('with');\n\t this.expect('(');\n\t var object = this.parseExpression();\n\t if (!this.match(')') && this.config.tolerant) {\n\t this.tolerateUnexpectedToken(this.nextToken());\n\t body = this.finalize(this.createNode(), new Node.EmptyStatement());\n\t }\n\t else {\n\t this.expect(')');\n\t body = this.parseStatement();\n\t }\n\t return this.finalize(node, new Node.WithStatement(object, body));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-switch-statement\n\t Parser.prototype.parseSwitchCase = function () {\n\t var node = this.createNode();\n\t var test;\n\t if (this.matchKeyword('default')) {\n\t this.nextToken();\n\t test = null;\n\t }\n\t else {\n\t this.expectKeyword('case');\n\t test = this.parseExpression();\n\t }\n\t this.expect(':');\n\t var consequent = [];\n\t while (true) {\n\t if (this.match('}') || this.matchKeyword('default') || this.matchKeyword('case')) {\n\t break;\n\t }\n\t consequent.push(this.parseStatementListItem());\n\t }\n\t return this.finalize(node, new Node.SwitchCase(test, consequent));\n\t };\n\t Parser.prototype.parseSwitchStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('switch');\n\t this.expect('(');\n\t var discriminant = this.parseExpression();\n\t this.expect(')');\n\t var previousInSwitch = this.context.inSwitch;\n\t this.context.inSwitch = true;\n\t var cases = [];\n\t var defaultFound = false;\n\t this.expect('{');\n\t while (true) {\n\t if (this.match('}')) {\n\t break;\n\t }\n\t var clause = this.parseSwitchCase();\n\t if (clause.test === null) {\n\t if (defaultFound) {\n\t this.throwError(messages_1.Messages.MultipleDefaultsInSwitch);\n\t }\n\t defaultFound = true;\n\t }\n\t cases.push(clause);\n\t }\n\t this.expect('}');\n\t this.context.inSwitch = previousInSwitch;\n\t return this.finalize(node, new Node.SwitchStatement(discriminant, cases));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-labelled-statements\n\t Parser.prototype.parseLabelledStatement = function () {\n\t var node = this.createNode();\n\t var expr = this.parseExpression();\n\t var statement;\n\t if ((expr.type === syntax_1.Syntax.Identifier) && this.match(':')) {\n\t this.nextToken();\n\t var id = expr;\n\t var key = '$' + id.name;\n\t if (Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) {\n\t this.throwError(messages_1.Messages.Redeclaration, 'Label', id.name);\n\t }\n\t this.context.labelSet[key] = true;\n\t var body = void 0;\n\t if (this.matchKeyword('class')) {\n\t this.tolerateUnexpectedToken(this.lookahead);\n\t body = this.parseClassDeclaration();\n\t }\n\t else if (this.matchKeyword('function')) {\n\t var token = this.lookahead;\n\t var declaration = this.parseFunctionDeclaration();\n\t if (this.context.strict) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunction);\n\t }\n\t else if (declaration.generator) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.GeneratorInLegacyContext);\n\t }\n\t body = declaration;\n\t }\n\t else {\n\t body = this.parseStatement();\n\t }\n\t delete this.context.labelSet[key];\n\t statement = new Node.LabeledStatement(id, body);\n\t }\n\t else {\n\t this.consumeSemicolon();\n\t statement = new Node.ExpressionStatement(expr);\n\t }\n\t return this.finalize(node, statement);\n\t };\n\t // https://tc39.github.io/ecma262/#sec-throw-statement\n\t Parser.prototype.parseThrowStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('throw');\n\t if (this.hasLineTerminator) {\n\t this.throwError(messages_1.Messages.NewlineAfterThrow);\n\t }\n\t var argument = this.parseExpression();\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.ThrowStatement(argument));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-try-statement\n\t Parser.prototype.parseCatchClause = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('catch');\n\t this.expect('(');\n\t if (this.match(')')) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t var params = [];\n\t var param = this.parsePattern(params);\n\t var paramMap = {};\n\t for (var i = 0; i < params.length; i++) {\n\t var key = '$' + params[i].value;\n\t if (Object.prototype.hasOwnProperty.call(paramMap, key)) {\n\t this.tolerateError(messages_1.Messages.DuplicateBinding, params[i].value);\n\t }\n\t paramMap[key] = true;\n\t }\n\t if (this.context.strict && param.type === syntax_1.Syntax.Identifier) {\n\t if (this.scanner.isRestrictedWord(param.name)) {\n\t this.tolerateError(messages_1.Messages.StrictCatchVariable);\n\t }\n\t }\n\t this.expect(')');\n\t var body = this.parseBlock();\n\t return this.finalize(node, new Node.CatchClause(param, body));\n\t };\n\t Parser.prototype.parseFinallyClause = function () {\n\t this.expectKeyword('finally');\n\t return this.parseBlock();\n\t };\n\t Parser.prototype.parseTryStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('try');\n\t var block = this.parseBlock();\n\t var handler = this.matchKeyword('catch') ? this.parseCatchClause() : null;\n\t var finalizer = this.matchKeyword('finally') ? this.parseFinallyClause() : null;\n\t if (!handler && !finalizer) {\n\t this.throwError(messages_1.Messages.NoCatchOrFinally);\n\t }\n\t return this.finalize(node, new Node.TryStatement(block, handler, finalizer));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-debugger-statement\n\t Parser.prototype.parseDebuggerStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('debugger');\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.DebuggerStatement());\n\t };\n\t // https://tc39.github.io/ecma262/#sec-ecmascript-language-statements-and-declarations\n\t Parser.prototype.parseStatement = function () {\n\t var statement;\n\t switch (this.lookahead.type) {\n\t case 1 /* BooleanLiteral */:\n\t case 5 /* NullLiteral */:\n\t case 6 /* NumericLiteral */:\n\t case 8 /* StringLiteral */:\n\t case 10 /* Template */:\n\t case 9 /* RegularExpression */:\n\t statement = this.parseExpressionStatement();\n\t break;\n\t case 7 /* Punctuator */:\n\t var value = this.lookahead.value;\n\t if (value === '{') {\n\t statement = this.parseBlock();\n\t }\n\t else if (value === '(') {\n\t statement = this.parseExpressionStatement();\n\t }\n\t else if (value === ';') {\n\t statement = this.parseEmptyStatement();\n\t }\n\t else {\n\t statement = this.parseExpressionStatement();\n\t }\n\t break;\n\t case 3 /* Identifier */:\n\t statement = this.matchAsyncFunction() ? this.parseFunctionDeclaration() : this.parseLabelledStatement();\n\t break;\n\t case 4 /* Keyword */:\n\t switch (this.lookahead.value) {\n\t case 'break':\n\t statement = this.parseBreakStatement();\n\t break;\n\t case 'continue':\n\t statement = this.parseContinueStatement();\n\t break;\n\t case 'debugger':\n\t statement = this.parseDebuggerStatement();\n\t break;\n\t case 'do':\n\t statement = this.parseDoWhileStatement();\n\t break;\n\t case 'for':\n\t statement = this.parseForStatement();\n\t break;\n\t case 'function':\n\t statement = this.parseFunctionDeclaration();\n\t break;\n\t case 'if':\n\t statement = this.parseIfStatement();\n\t break;\n\t case 'return':\n\t statement = this.parseReturnStatement();\n\t break;\n\t case 'switch':\n\t statement = this.parseSwitchStatement();\n\t break;\n\t case 'throw':\n\t statement = this.parseThrowStatement();\n\t break;\n\t case 'try':\n\t statement = this.parseTryStatement();\n\t break;\n\t case 'var':\n\t statement = this.parseVariableStatement();\n\t break;\n\t case 'while':\n\t statement = this.parseWhileStatement();\n\t break;\n\t case 'with':\n\t statement = this.parseWithStatement();\n\t break;\n\t default:\n\t statement = this.parseExpressionStatement();\n\t break;\n\t }\n\t break;\n\t default:\n\t statement = this.throwUnexpectedToken(this.lookahead);\n\t }\n\t return statement;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-function-definitions\n\t Parser.prototype.parseFunctionSourceElements = function () {\n\t var node = this.createNode();\n\t this.expect('{');\n\t var body = this.parseDirectivePrologues();\n\t var previousLabelSet = this.context.labelSet;\n\t var previousInIteration = this.context.inIteration;\n\t var previousInSwitch = this.context.inSwitch;\n\t var previousInFunctionBody = this.context.inFunctionBody;\n\t this.context.labelSet = {};\n\t this.context.inIteration = false;\n\t this.context.inSwitch = false;\n\t this.context.inFunctionBody = true;\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t if (this.match('}')) {\n\t break;\n\t }\n\t body.push(this.parseStatementListItem());\n\t }\n\t this.expect('}');\n\t this.context.labelSet = previousLabelSet;\n\t this.context.inIteration = previousInIteration;\n\t this.context.inSwitch = previousInSwitch;\n\t this.context.inFunctionBody = previousInFunctionBody;\n\t return this.finalize(node, new Node.BlockStatement(body));\n\t };\n\t Parser.prototype.validateParam = function (options, param, name) {\n\t var key = '$' + name;\n\t if (this.context.strict) {\n\t if (this.scanner.isRestrictedWord(name)) {\n\t options.stricted = param;\n\t options.message = messages_1.Messages.StrictParamName;\n\t }\n\t if (Object.prototype.hasOwnProperty.call(options.paramSet, key)) {\n\t options.stricted = param;\n\t options.message = messages_1.Messages.StrictParamDupe;\n\t }\n\t }\n\t else if (!options.firstRestricted) {\n\t if (this.scanner.isRestrictedWord(name)) {\n\t options.firstRestricted = param;\n\t options.message = messages_1.Messages.StrictParamName;\n\t }\n\t else if (this.scanner.isStrictModeReservedWord(name)) {\n\t options.firstRestricted = param;\n\t options.message = messages_1.Messages.StrictReservedWord;\n\t }\n\t else if (Object.prototype.hasOwnProperty.call(options.paramSet, key)) {\n\t options.stricted = param;\n\t options.message = messages_1.Messages.StrictParamDupe;\n\t }\n\t }\n\t /* istanbul ignore next */\n\t if (typeof Object.defineProperty === 'function') {\n\t Object.defineProperty(options.paramSet, key, { value: true, enumerable: true, writable: true, configurable: true });\n\t }\n\t else {\n\t options.paramSet[key] = true;\n\t }\n\t };\n\t Parser.prototype.parseRestElement = function (params) {\n\t var node = this.createNode();\n\t this.expect('...');\n\t var arg = this.parsePattern(params);\n\t if (this.match('=')) {\n\t this.throwError(messages_1.Messages.DefaultRestParameter);\n\t }\n\t if (!this.match(')')) {\n\t this.throwError(messages_1.Messages.ParameterAfterRestParameter);\n\t }\n\t return this.finalize(node, new Node.RestElement(arg));\n\t };\n\t Parser.prototype.parseFormalParameter = function (options) {\n\t var params = [];\n\t var param = this.match('...') ? this.parseRestElement(params) : this.parsePatternWithDefault(params);\n\t for (var i = 0; i < params.length; i++) {\n\t this.validateParam(options, params[i], params[i].value);\n\t }\n\t options.simple = options.simple && (param instanceof Node.Identifier);\n\t options.params.push(param);\n\t };\n\t Parser.prototype.parseFormalParameters = function (firstRestricted) {\n\t var options;\n\t options = {\n\t simple: true,\n\t params: [],\n\t firstRestricted: firstRestricted\n\t };\n\t this.expect('(');\n\t if (!this.match(')')) {\n\t options.paramSet = {};\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t this.parseFormalParameter(options);\n\t if (this.match(')')) {\n\t break;\n\t }\n\t this.expect(',');\n\t if (this.match(')')) {\n\t break;\n\t }\n\t }\n\t }\n\t this.expect(')');\n\t return {\n\t simple: options.simple,\n\t params: options.params,\n\t stricted: options.stricted,\n\t firstRestricted: options.firstRestricted,\n\t message: options.message\n\t };\n\t };\n\t Parser.prototype.matchAsyncFunction = function () {\n\t var match = this.matchContextualKeyword('async');\n\t if (match) {\n\t var state = this.scanner.saveState();\n\t this.scanner.scanComments();\n\t var next = this.scanner.lex();\n\t this.scanner.restoreState(state);\n\t match = (state.lineNumber === next.lineNumber) && (next.type === 4 /* Keyword */) && (next.value === 'function');\n\t }\n\t return match;\n\t };\n\t Parser.prototype.parseFunctionDeclaration = function (identifierIsOptional) {\n\t var node = this.createNode();\n\t var isAsync = this.matchContextualKeyword('async');\n\t if (isAsync) {\n\t this.nextToken();\n\t }\n\t this.expectKeyword('function');\n\t var isGenerator = isAsync ? false : this.match('*');\n\t if (isGenerator) {\n\t this.nextToken();\n\t }\n\t var message;\n\t var id = null;\n\t var firstRestricted = null;\n\t if (!identifierIsOptional || !this.match('(')) {\n\t var token = this.lookahead;\n\t id = this.parseVariableIdentifier();\n\t if (this.context.strict) {\n\t if (this.scanner.isRestrictedWord(token.value)) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunctionName);\n\t }\n\t }\n\t else {\n\t if (this.scanner.isRestrictedWord(token.value)) {\n\t firstRestricted = token;\n\t message = messages_1.Messages.StrictFunctionName;\n\t }\n\t else if (this.scanner.isStrictModeReservedWord(token.value)) {\n\t firstRestricted = token;\n\t message = messages_1.Messages.StrictReservedWord;\n\t }\n\t }\n\t }\n\t var previousAllowAwait = this.context.await;\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.await = isAsync;\n\t this.context.allowYield = !isGenerator;\n\t var formalParameters = this.parseFormalParameters(firstRestricted);\n\t var params = formalParameters.params;\n\t var stricted = formalParameters.stricted;\n\t firstRestricted = formalParameters.firstRestricted;\n\t if (formalParameters.message) {\n\t message = formalParameters.message;\n\t }\n\t var previousStrict = this.context.strict;\n\t var previousAllowStrictDirective = this.context.allowStrictDirective;\n\t this.context.allowStrictDirective = formalParameters.simple;\n\t var body = this.parseFunctionSourceElements();\n\t if (this.context.strict && firstRestricted) {\n\t this.throwUnexpectedToken(firstRestricted, message);\n\t }\n\t if (this.context.strict && stricted) {\n\t this.tolerateUnexpectedToken(stricted, message);\n\t }\n\t this.context.strict = previousStrict;\n\t this.context.allowStrictDirective = previousAllowStrictDirective;\n\t this.context.await = previousAllowAwait;\n\t this.context.allowYield = previousAllowYield;\n\t return isAsync ? this.finalize(node, new Node.AsyncFunctionDeclaration(id, params, body)) :\n\t this.finalize(node, new Node.FunctionDeclaration(id, params, body, isGenerator));\n\t };\n\t Parser.prototype.parseFunctionExpression = function () {\n\t var node = this.createNode();\n\t var isAsync = this.matchContextualKeyword('async');\n\t if (isAsync) {\n\t this.nextToken();\n\t }\n\t this.expectKeyword('function');\n\t var isGenerator = isAsync ? false : this.match('*');\n\t if (isGenerator) {\n\t this.nextToken();\n\t }\n\t var message;\n\t var id = null;\n\t var firstRestricted;\n\t var previousAllowAwait = this.context.await;\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.await = isAsync;\n\t this.context.allowYield = !isGenerator;\n\t if (!this.match('(')) {\n\t var token = this.lookahead;\n\t id = (!this.context.strict && !isGenerator && this.matchKeyword('yield')) ? this.parseIdentifierName() : this.parseVariableIdentifier();\n\t if (this.context.strict) {\n\t if (this.scanner.isRestrictedWord(token.value)) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunctionName);\n\t }\n\t }\n\t else {\n\t if (this.scanner.isRestrictedWord(token.value)) {\n\t firstRestricted = token;\n\t message = messages_1.Messages.StrictFunctionName;\n\t }\n\t else if (this.scanner.isStrictModeReservedWord(token.value)) {\n\t firstRestricted = token;\n\t message = messages_1.Messages.StrictReservedWord;\n\t }\n\t }\n\t }\n\t var formalParameters = this.parseFormalParameters(firstRestricted);\n\t var params = formalParameters.params;\n\t var stricted = formalParameters.stricted;\n\t firstRestricted = formalParameters.firstRestricted;\n\t if (formalParameters.message) {\n\t message = formalParameters.message;\n\t }\n\t var previousStrict = this.context.strict;\n\t var previousAllowStrictDirective = this.context.allowStrictDirective;\n\t this.context.allowStrictDirective = formalParameters.simple;\n\t var body = this.parseFunctionSourceElements();\n\t if (this.context.strict && firstRestricted) {\n\t this.throwUnexpectedToken(firstRestricted, message);\n\t }\n\t if (this.context.strict && stricted) {\n\t this.tolerateUnexpectedToken(stricted, message);\n\t }\n\t this.context.strict = previousStrict;\n\t this.context.allowStrictDirective = previousAllowStrictDirective;\n\t this.context.await = previousAllowAwait;\n\t this.context.allowYield = previousAllowYield;\n\t return isAsync ? this.finalize(node, new Node.AsyncFunctionExpression(id, params, body)) :\n\t this.finalize(node, new Node.FunctionExpression(id, params, body, isGenerator));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-directive-prologues-and-the-use-strict-directive\n\t Parser.prototype.parseDirective = function () {\n\t var token = this.lookahead;\n\t var node = this.createNode();\n\t var expr = this.parseExpression();\n\t var directive = (expr.type === syntax_1.Syntax.Literal) ? this.getTokenRaw(token).slice(1, -1) : null;\n\t this.consumeSemicolon();\n\t return this.finalize(node, directive ? new Node.Directive(expr, directive) : new Node.ExpressionStatement(expr));\n\t };\n\t Parser.prototype.parseDirectivePrologues = function () {\n\t var firstRestricted = null;\n\t var body = [];\n\t while (true) {\n\t var token = this.lookahead;\n\t if (token.type !== 8 /* StringLiteral */) {\n\t break;\n\t }\n\t var statement = this.parseDirective();\n\t body.push(statement);\n\t var directive = statement.directive;\n\t if (typeof directive !== 'string') {\n\t break;\n\t }\n\t if (directive === 'use strict') {\n\t this.context.strict = true;\n\t if (firstRestricted) {\n\t this.tolerateUnexpectedToken(firstRestricted, messages_1.Messages.StrictOctalLiteral);\n\t }\n\t if (!this.context.allowStrictDirective) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.IllegalLanguageModeDirective);\n\t }\n\t }\n\t else {\n\t if (!firstRestricted && token.octal) {\n\t firstRestricted = token;\n\t }\n\t }\n\t }\n\t return body;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-method-definitions\n\t Parser.prototype.qualifiedPropertyName = function (token) {\n\t switch (token.type) {\n\t case 3 /* Identifier */:\n\t case 8 /* StringLiteral */:\n\t case 1 /* BooleanLiteral */:\n\t case 5 /* NullLiteral */:\n\t case 6 /* NumericLiteral */:\n\t case 4 /* Keyword */:\n\t return true;\n\t case 7 /* Punctuator */:\n\t return token.value === '[';\n\t default:\n\t break;\n\t }\n\t return false;\n\t };\n\t Parser.prototype.parseGetterMethod = function () {\n\t var node = this.createNode();\n\t var isGenerator = false;\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = !isGenerator;\n\t var formalParameters = this.parseFormalParameters();\n\t if (formalParameters.params.length > 0) {\n\t this.tolerateError(messages_1.Messages.BadGetterArity);\n\t }\n\t var method = this.parsePropertyMethod(formalParameters);\n\t this.context.allowYield = previousAllowYield;\n\t return this.finalize(node, new Node.FunctionExpression(null, formalParameters.params, method, isGenerator));\n\t };\n\t Parser.prototype.parseSetterMethod = function () {\n\t var node = this.createNode();\n\t var isGenerator = false;\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = !isGenerator;\n\t var formalParameters = this.parseFormalParameters();\n\t if (formalParameters.params.length !== 1) {\n\t this.tolerateError(messages_1.Messages.BadSetterArity);\n\t }\n\t else if (formalParameters.params[0] instanceof Node.RestElement) {\n\t this.tolerateError(messages_1.Messages.BadSetterRestParameter);\n\t }\n\t var method = this.parsePropertyMethod(formalParameters);\n\t this.context.allowYield = previousAllowYield;\n\t return this.finalize(node, new Node.FunctionExpression(null, formalParameters.params, method, isGenerator));\n\t };\n\t Parser.prototype.parseGeneratorMethod = function () {\n\t var node = this.createNode();\n\t var isGenerator = true;\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = true;\n\t var params = this.parseFormalParameters();\n\t this.context.allowYield = false;\n\t var method = this.parsePropertyMethod(params);\n\t this.context.allowYield = previousAllowYield;\n\t return this.finalize(node, new Node.FunctionExpression(null, params.params, method, isGenerator));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-generator-function-definitions\n\t Parser.prototype.isStartOfExpression = function () {\n\t var start = true;\n\t var value = this.lookahead.value;\n\t switch (this.lookahead.type) {\n\t case 7 /* Punctuator */:\n\t start = (value === '[') || (value === '(') || (value === '{') ||\n\t (value === '+') || (value === '-') ||\n\t (value === '!') || (value === '~') ||\n\t (value === '++') || (value === '--') ||\n\t (value === '/') || (value === '/='); // regular expression literal\n\t break;\n\t case 4 /* Keyword */:\n\t start = (value === 'class') || (value === 'delete') ||\n\t (value === 'function') || (value === 'let') || (value === 'new') ||\n\t (value === 'super') || (value === 'this') || (value === 'typeof') ||\n\t (value === 'void') || (value === 'yield');\n\t break;\n\t default:\n\t break;\n\t }\n\t return start;\n\t };\n\t Parser.prototype.parseYieldExpression = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('yield');\n\t var argument = null;\n\t var delegate = false;\n\t if (!this.hasLineTerminator) {\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = false;\n\t delegate = this.match('*');\n\t if (delegate) {\n\t this.nextToken();\n\t argument = this.parseAssignmentExpression();\n\t }\n\t else if (this.isStartOfExpression()) {\n\t argument = this.parseAssignmentExpression();\n\t }\n\t this.context.allowYield = previousAllowYield;\n\t }\n\t return this.finalize(node, new Node.YieldExpression(argument, delegate));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-class-definitions\n\t Parser.prototype.parseClassElement = function (hasConstructor) {\n\t var token = this.lookahead;\n\t var node = this.createNode();\n\t var kind = '';\n\t var key = null;\n\t var value = null;\n\t var computed = false;\n\t var method = false;\n\t var isStatic = false;\n\t var isAsync = false;\n\t if (this.match('*')) {\n\t this.nextToken();\n\t }\n\t else {\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t var id = key;\n\t if (id.name === 'static' && (this.qualifiedPropertyName(this.lookahead) || this.match('*'))) {\n\t token = this.lookahead;\n\t isStatic = true;\n\t computed = this.match('[');\n\t if (this.match('*')) {\n\t this.nextToken();\n\t }\n\t else {\n\t key = this.parseObjectPropertyKey();\n\t }\n\t }\n\t if ((token.type === 3 /* Identifier */) && !this.hasLineTerminator && (token.value === 'async')) {\n\t var punctuator = this.lookahead.value;\n\t if (punctuator !== ':' && punctuator !== '(' && punctuator !== '*') {\n\t isAsync = true;\n\t token = this.lookahead;\n\t key = this.parseObjectPropertyKey();\n\t if (token.type === 3 /* Identifier */ && token.value === 'constructor') {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.ConstructorIsAsync);\n\t }\n\t }\n\t }\n\t }\n\t var lookaheadPropertyKey = this.qualifiedPropertyName(this.lookahead);\n\t if (token.type === 3 /* Identifier */) {\n\t if (token.value === 'get' && lookaheadPropertyKey) {\n\t kind = 'get';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t this.context.allowYield = false;\n\t value = this.parseGetterMethod();\n\t }\n\t else if (token.value === 'set' && lookaheadPropertyKey) {\n\t kind = 'set';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t value = this.parseSetterMethod();\n\t }\n\t }\n\t else if (token.type === 7 /* Punctuator */ && token.value === '*' && lookaheadPropertyKey) {\n\t kind = 'init';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t value = this.parseGeneratorMethod();\n\t method = true;\n\t }\n\t if (!kind && key && this.match('(')) {\n\t kind = 'init';\n\t value = isAsync ? this.parsePropertyMethodAsyncFunction() : this.parsePropertyMethodFunction();\n\t method = true;\n\t }\n\t if (!kind) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t if (kind === 'init') {\n\t kind = 'method';\n\t }\n\t if (!computed) {\n\t if (isStatic && this.isPropertyKey(key, 'prototype')) {\n\t this.throwUnexpectedToken(token, messages_1.Messages.StaticPrototype);\n\t }\n\t if (!isStatic && this.isPropertyKey(key, 'constructor')) {\n\t if (kind !== 'method' || !method || (value && value.generator)) {\n\t this.throwUnexpectedToken(token, messages_1.Messages.ConstructorSpecialMethod);\n\t }\n\t if (hasConstructor.value) {\n\t this.throwUnexpectedToken(token, messages_1.Messages.DuplicateConstructor);\n\t }\n\t else {\n\t hasConstructor.value = true;\n\t }\n\t kind = 'constructor';\n\t }\n\t }\n\t return this.finalize(node, new Node.MethodDefinition(key, computed, value, kind, isStatic));\n\t };\n\t Parser.prototype.parseClassElementList = function () {\n\t var body = [];\n\t var hasConstructor = { value: false };\n\t this.expect('{');\n\t while (!this.match('}')) {\n\t if (this.match(';')) {\n\t this.nextToken();\n\t }\n\t else {\n\t body.push(this.parseClassElement(hasConstructor));\n\t }\n\t }\n\t this.expect('}');\n\t return body;\n\t };\n\t Parser.prototype.parseClassBody = function () {\n\t var node = this.createNode();\n\t var elementList = this.parseClassElementList();\n\t return this.finalize(node, new Node.ClassBody(elementList));\n\t };\n\t Parser.prototype.parseClassDeclaration = function (identifierIsOptional) {\n\t var node = this.createNode();\n\t var previousStrict = this.context.strict;\n\t this.context.strict = true;\n\t this.expectKeyword('class');\n\t var id = (identifierIsOptional && (this.lookahead.type !== 3 /* Identifier */)) ? null : this.parseVariableIdentifier();\n\t var superClass = null;\n\t if (this.matchKeyword('extends')) {\n\t this.nextToken();\n\t superClass = this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall);\n\t }\n\t var classBody = this.parseClassBody();\n\t this.context.strict = previousStrict;\n\t return this.finalize(node, new Node.ClassDeclaration(id, superClass, classBody));\n\t };\n\t Parser.prototype.parseClassExpression = function () {\n\t var node = this.createNode();\n\t var previousStrict = this.context.strict;\n\t this.context.strict = true;\n\t this.expectKeyword('class');\n\t var id = (this.lookahead.type === 3 /* Identifier */) ? this.parseVariableIdentifier() : null;\n\t var superClass = null;\n\t if (this.matchKeyword('extends')) {\n\t this.nextToken();\n\t superClass = this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall);\n\t }\n\t var classBody = this.parseClassBody();\n\t this.context.strict = previousStrict;\n\t return this.finalize(node, new Node.ClassExpression(id, superClass, classBody));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-scripts\n\t // https://tc39.github.io/ecma262/#sec-modules\n\t Parser.prototype.parseModule = function () {\n\t this.context.strict = true;\n\t this.context.isModule = true;\n\t this.scanner.isModule = true;\n\t var node = this.createNode();\n\t var body = this.parseDirectivePrologues();\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t body.push(this.parseStatementListItem());\n\t }\n\t return this.finalize(node, new Node.Module(body));\n\t };\n\t Parser.prototype.parseScript = function () {\n\t var node = this.createNode();\n\t var body = this.parseDirectivePrologues();\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t body.push(this.parseStatementListItem());\n\t }\n\t return this.finalize(node, new Node.Script(body));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-imports\n\t Parser.prototype.parseModuleSpecifier = function () {\n\t var node = this.createNode();\n\t if (this.lookahead.type !== 8 /* StringLiteral */) {\n\t this.throwError(messages_1.Messages.InvalidModuleSpecifier);\n\t }\n\t var token = this.nextToken();\n\t var raw = this.getTokenRaw(token);\n\t return this.finalize(node, new Node.Literal(token.value, raw));\n\t };\n\t // import {} ...;\n\t Parser.prototype.parseImportSpecifier = function () {\n\t var node = this.createNode();\n\t var imported;\n\t var local;\n\t if (this.lookahead.type === 3 /* Identifier */) {\n\t imported = this.parseVariableIdentifier();\n\t local = imported;\n\t if (this.matchContextualKeyword('as')) {\n\t this.nextToken();\n\t local = this.parseVariableIdentifier();\n\t }\n\t }\n\t else {\n\t imported = this.parseIdentifierName();\n\t local = imported;\n\t if (this.matchContextualKeyword('as')) {\n\t this.nextToken();\n\t local = this.parseVariableIdentifier();\n\t }\n\t else {\n\t this.throwUnexpectedToken(this.nextToken());\n\t }\n\t }\n\t return this.finalize(node, new Node.ImportSpecifier(local, imported));\n\t };\n\t // {foo, bar as bas}\n\t Parser.prototype.parseNamedImports = function () {\n\t this.expect('{');\n\t var specifiers = [];\n\t while (!this.match('}')) {\n\t specifiers.push(this.parseImportSpecifier());\n\t if (!this.match('}')) {\n\t this.expect(',');\n\t }\n\t }\n\t this.expect('}');\n\t return specifiers;\n\t };\n\t // import ...;\n\t Parser.prototype.parseImportDefaultSpecifier = function () {\n\t var node = this.createNode();\n\t var local = this.parseIdentifierName();\n\t return this.finalize(node, new Node.ImportDefaultSpecifier(local));\n\t };\n\t // import <* as foo> ...;\n\t Parser.prototype.parseImportNamespaceSpecifier = function () {\n\t var node = this.createNode();\n\t this.expect('*');\n\t if (!this.matchContextualKeyword('as')) {\n\t this.throwError(messages_1.Messages.NoAsAfterImportNamespace);\n\t }\n\t this.nextToken();\n\t var local = this.parseIdentifierName();\n\t return this.finalize(node, new Node.ImportNamespaceSpecifier(local));\n\t };\n\t Parser.prototype.parseImportDeclaration = function () {\n\t if (this.context.inFunctionBody) {\n\t this.throwError(messages_1.Messages.IllegalImportDeclaration);\n\t }\n\t var node = this.createNode();\n\t this.expectKeyword('import');\n\t var src;\n\t var specifiers = [];\n\t if (this.lookahead.type === 8 /* StringLiteral */) {\n\t // import 'foo';\n\t src = this.parseModuleSpecifier();\n\t }\n\t else {\n\t if (this.match('{')) {\n\t // import {bar}\n\t specifiers = specifiers.concat(this.parseNamedImports());\n\t }\n\t else if (this.match('*')) {\n\t // import * as foo\n\t specifiers.push(this.parseImportNamespaceSpecifier());\n\t }\n\t else if (this.isIdentifierName(this.lookahead) && !this.matchKeyword('default')) {\n\t // import foo\n\t specifiers.push(this.parseImportDefaultSpecifier());\n\t if (this.match(',')) {\n\t this.nextToken();\n\t if (this.match('*')) {\n\t // import foo, * as foo\n\t specifiers.push(this.parseImportNamespaceSpecifier());\n\t }\n\t else if (this.match('{')) {\n\t // import foo, {bar}\n\t specifiers = specifiers.concat(this.parseNamedImports());\n\t }\n\t else {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t }\n\t }\n\t else {\n\t this.throwUnexpectedToken(this.nextToken());\n\t }\n\t if (!this.matchContextualKeyword('from')) {\n\t var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause;\n\t this.throwError(message, this.lookahead.value);\n\t }\n\t this.nextToken();\n\t src = this.parseModuleSpecifier();\n\t }\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.ImportDeclaration(specifiers, src));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-exports\n\t Parser.prototype.parseExportSpecifier = function () {\n\t var node = this.createNode();\n\t var local = this.parseIdentifierName();\n\t var exported = local;\n\t if (this.matchContextualKeyword('as')) {\n\t this.nextToken();\n\t exported = this.parseIdentifierName();\n\t }\n\t return this.finalize(node, new Node.ExportSpecifier(local, exported));\n\t };\n\t Parser.prototype.parseExportDeclaration = function () {\n\t if (this.context.inFunctionBody) {\n\t this.throwError(messages_1.Messages.IllegalExportDeclaration);\n\t }\n\t var node = this.createNode();\n\t this.expectKeyword('export');\n\t var exportDeclaration;\n\t if (this.matchKeyword('default')) {\n\t // export default ...\n\t this.nextToken();\n\t if (this.matchKeyword('function')) {\n\t // export default function foo () {}\n\t // export default function () {}\n\t var declaration = this.parseFunctionDeclaration(true);\n\t exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration));\n\t }\n\t else if (this.matchKeyword('class')) {\n\t // export default class foo {}\n\t var declaration = this.parseClassDeclaration(true);\n\t exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration));\n\t }\n\t else if (this.matchContextualKeyword('async')) {\n\t // export default async function f () {}\n\t // export default async function () {}\n\t // export default async x => x\n\t var declaration = this.matchAsyncFunction() ? this.parseFunctionDeclaration(true) : this.parseAssignmentExpression();\n\t exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration));\n\t }\n\t else {\n\t if (this.matchContextualKeyword('from')) {\n\t this.throwError(messages_1.Messages.UnexpectedToken, this.lookahead.value);\n\t }\n\t // export default {};\n\t // export default [];\n\t // export default (1 + 2);\n\t var declaration = this.match('{') ? this.parseObjectInitializer() :\n\t this.match('[') ? this.parseArrayInitializer() : this.parseAssignmentExpression();\n\t this.consumeSemicolon();\n\t exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration));\n\t }\n\t }\n\t else if (this.match('*')) {\n\t // export * from 'foo';\n\t this.nextToken();\n\t if (!this.matchContextualKeyword('from')) {\n\t var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause;\n\t this.throwError(message, this.lookahead.value);\n\t }\n\t this.nextToken();\n\t var src = this.parseModuleSpecifier();\n\t this.consumeSemicolon();\n\t exportDeclaration = this.finalize(node, new Node.ExportAllDeclaration(src));\n\t }\n\t else if (this.lookahead.type === 4 /* Keyword */) {\n\t // export var f = 1;\n\t var declaration = void 0;\n\t switch (this.lookahead.value) {\n\t case 'let':\n\t case 'const':\n\t declaration = this.parseLexicalDeclaration({ inFor: false });\n\t break;\n\t case 'var':\n\t case 'class':\n\t case 'function':\n\t declaration = this.parseStatementListItem();\n\t break;\n\t default:\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(declaration, [], null));\n\t }\n\t else if (this.matchAsyncFunction()) {\n\t var declaration = this.parseFunctionDeclaration();\n\t exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(declaration, [], null));\n\t }\n\t else {\n\t var specifiers = [];\n\t var source = null;\n\t var isExportFromIdentifier = false;\n\t this.expect('{');\n\t while (!this.match('}')) {\n\t isExportFromIdentifier = isExportFromIdentifier || this.matchKeyword('default');\n\t specifiers.push(this.parseExportSpecifier());\n\t if (!this.match('}')) {\n\t this.expect(',');\n\t }\n\t }\n\t this.expect('}');\n\t if (this.matchContextualKeyword('from')) {\n\t // export {default} from 'foo';\n\t // export {foo} from 'foo';\n\t this.nextToken();\n\t source = this.parseModuleSpecifier();\n\t this.consumeSemicolon();\n\t }\n\t else if (isExportFromIdentifier) {\n\t // export {default}; // missing fromClause\n\t var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause;\n\t this.throwError(message, this.lookahead.value);\n\t }\n\t else {\n\t // export {foo};\n\t this.consumeSemicolon();\n\t }\n\t exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(null, specifiers, source));\n\t }\n\t return exportDeclaration;\n\t };\n\t return Parser;\n\t}());\n\texports.Parser = Parser;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t// Ensure the condition is true, otherwise throw an error.\n\t// This is only to have a better contract semantic, i.e. another safety net\n\t// to catch a logic error. The condition shall be fulfilled in normal case.\n\t// Do NOT use this to enforce a certain condition on any user input.\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tfunction assert(condition, message) {\n\t /* istanbul ignore if */\n\t if (!condition) {\n\t throw new Error('ASSERT: ' + message);\n\t }\n\t}\n\texports.assert = assert;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t/* tslint:disable:max-classes-per-file */\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar ErrorHandler = (function () {\n\t function ErrorHandler() {\n\t this.errors = [];\n\t this.tolerant = false;\n\t }\n\t ErrorHandler.prototype.recordError = function (error) {\n\t this.errors.push(error);\n\t };\n\t ErrorHandler.prototype.tolerate = function (error) {\n\t if (this.tolerant) {\n\t this.recordError(error);\n\t }\n\t else {\n\t throw error;\n\t }\n\t };\n\t ErrorHandler.prototype.constructError = function (msg, column) {\n\t var error = new Error(msg);\n\t try {\n\t throw error;\n\t }\n\t catch (base) {\n\t /* istanbul ignore else */\n\t if (Object.create && Object.defineProperty) {\n\t error = Object.create(base);\n\t Object.defineProperty(error, 'column', { value: column });\n\t }\n\t }\n\t /* istanbul ignore next */\n\t return error;\n\t };\n\t ErrorHandler.prototype.createError = function (index, line, col, description) {\n\t var msg = 'Line ' + line + ': ' + description;\n\t var error = this.constructError(msg, col);\n\t error.index = index;\n\t error.lineNumber = line;\n\t error.description = description;\n\t return error;\n\t };\n\t ErrorHandler.prototype.throwError = function (index, line, col, description) {\n\t throw this.createError(index, line, col, description);\n\t };\n\t ErrorHandler.prototype.tolerateError = function (index, line, col, description) {\n\t var error = this.createError(index, line, col, description);\n\t if (this.tolerant) {\n\t this.recordError(error);\n\t }\n\t else {\n\t throw error;\n\t }\n\t };\n\t return ErrorHandler;\n\t}());\n\texports.ErrorHandler = ErrorHandler;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\t// Error messages should be identical to V8.\n\texports.Messages = {\n\t BadGetterArity: 'Getter must not have any formal parameters',\n\t BadSetterArity: 'Setter must have exactly one formal parameter',\n\t BadSetterRestParameter: 'Setter function argument must not be a rest parameter',\n\t ConstructorIsAsync: 'Class constructor may not be an async method',\n\t ConstructorSpecialMethod: 'Class constructor may not be an accessor',\n\t DeclarationMissingInitializer: 'Missing initializer in %0 declaration',\n\t DefaultRestParameter: 'Unexpected token =',\n\t DuplicateBinding: 'Duplicate binding %0',\n\t DuplicateConstructor: 'A class may only have one constructor',\n\t DuplicateProtoProperty: 'Duplicate __proto__ fields are not allowed in object literals',\n\t ForInOfLoopInitializer: '%0 loop variable declaration may not have an initializer',\n\t GeneratorInLegacyContext: 'Generator declarations are not allowed in legacy contexts',\n\t IllegalBreak: 'Illegal break statement',\n\t IllegalContinue: 'Illegal continue statement',\n\t IllegalExportDeclaration: 'Unexpected token',\n\t IllegalImportDeclaration: 'Unexpected token',\n\t IllegalLanguageModeDirective: 'Illegal \\'use strict\\' directive in function with non-simple parameter list',\n\t IllegalReturn: 'Illegal return statement',\n\t InvalidEscapedReservedWord: 'Keyword must not contain escaped characters',\n\t InvalidHexEscapeSequence: 'Invalid hexadecimal escape sequence',\n\t InvalidLHSInAssignment: 'Invalid left-hand side in assignment',\n\t InvalidLHSInForIn: 'Invalid left-hand side in for-in',\n\t InvalidLHSInForLoop: 'Invalid left-hand side in for-loop',\n\t InvalidModuleSpecifier: 'Unexpected token',\n\t InvalidRegExp: 'Invalid regular expression',\n\t LetInLexicalBinding: 'let is disallowed as a lexically bound name',\n\t MissingFromClause: 'Unexpected token',\n\t MultipleDefaultsInSwitch: 'More than one default clause in switch statement',\n\t NewlineAfterThrow: 'Illegal newline after throw',\n\t NoAsAfterImportNamespace: 'Unexpected token',\n\t NoCatchOrFinally: 'Missing catch or finally after try',\n\t ParameterAfterRestParameter: 'Rest parameter must be last formal parameter',\n\t Redeclaration: '%0 \\'%1\\' has already been declared',\n\t StaticPrototype: 'Classes may not have static property named prototype',\n\t StrictCatchVariable: 'Catch variable may not be eval or arguments in strict mode',\n\t StrictDelete: 'Delete of an unqualified identifier in strict mode.',\n\t StrictFunction: 'In strict mode code, functions can only be declared at top level or inside a block',\n\t StrictFunctionName: 'Function name may not be eval or arguments in strict mode',\n\t StrictLHSAssignment: 'Assignment to eval or arguments is not allowed in strict mode',\n\t StrictLHSPostfix: 'Postfix increment/decrement may not have eval or arguments operand in strict mode',\n\t StrictLHSPrefix: 'Prefix increment/decrement may not have eval or arguments operand in strict mode',\n\t StrictModeWith: 'Strict mode code may not include a with statement',\n\t StrictOctalLiteral: 'Octal literals are not allowed in strict mode.',\n\t StrictParamDupe: 'Strict mode function may not have duplicate parameter names',\n\t StrictParamName: 'Parameter name eval or arguments is not allowed in strict mode',\n\t StrictReservedWord: 'Use of future reserved word in strict mode',\n\t StrictVarName: 'Variable name may not be eval or arguments in strict mode',\n\t TemplateOctalLiteral: 'Octal literals are not allowed in template strings.',\n\t UnexpectedEOS: 'Unexpected end of input',\n\t UnexpectedIdentifier: 'Unexpected identifier',\n\t UnexpectedNumber: 'Unexpected number',\n\t UnexpectedReserved: 'Unexpected reserved word',\n\t UnexpectedString: 'Unexpected string',\n\t UnexpectedTemplate: 'Unexpected quasi %0',\n\t UnexpectedToken: 'Unexpected token %0',\n\t UnexpectedTokenIllegal: 'Unexpected token ILLEGAL',\n\t UnknownLabel: 'Undefined label \\'%0\\'',\n\t UnterminatedRegExp: 'Invalid regular expression: missing /'\n\t};\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar assert_1 = __webpack_require__(9);\n\tvar character_1 = __webpack_require__(4);\n\tvar messages_1 = __webpack_require__(11);\n\tfunction hexValue(ch) {\n\t return '0123456789abcdef'.indexOf(ch.toLowerCase());\n\t}\n\tfunction octalValue(ch) {\n\t return '01234567'.indexOf(ch);\n\t}\n\tvar Scanner = (function () {\n\t function Scanner(code, handler) {\n\t this.source = code;\n\t this.errorHandler = handler;\n\t this.trackComment = false;\n\t this.isModule = false;\n\t this.length = code.length;\n\t this.index = 0;\n\t this.lineNumber = (code.length > 0) ? 1 : 0;\n\t this.lineStart = 0;\n\t this.curlyStack = [];\n\t }\n\t Scanner.prototype.saveState = function () {\n\t return {\n\t index: this.index,\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart\n\t };\n\t };\n\t Scanner.prototype.restoreState = function (state) {\n\t this.index = state.index;\n\t this.lineNumber = state.lineNumber;\n\t this.lineStart = state.lineStart;\n\t };\n\t Scanner.prototype.eof = function () {\n\t return this.index >= this.length;\n\t };\n\t Scanner.prototype.throwUnexpectedToken = function (message) {\n\t if (message === void 0) { message = messages_1.Messages.UnexpectedTokenIllegal; }\n\t return this.errorHandler.throwError(this.index, this.lineNumber, this.index - this.lineStart + 1, message);\n\t };\n\t Scanner.prototype.tolerateUnexpectedToken = function (message) {\n\t if (message === void 0) { message = messages_1.Messages.UnexpectedTokenIllegal; }\n\t this.errorHandler.tolerateError(this.index, this.lineNumber, this.index - this.lineStart + 1, message);\n\t };\n\t // https://tc39.github.io/ecma262/#sec-comments\n\t Scanner.prototype.skipSingleLineComment = function (offset) {\n\t var comments = [];\n\t var start, loc;\n\t if (this.trackComment) {\n\t comments = [];\n\t start = this.index - offset;\n\t loc = {\n\t start: {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart - offset\n\t },\n\t end: {}\n\t };\n\t }\n\t while (!this.eof()) {\n\t var ch = this.source.charCodeAt(this.index);\n\t ++this.index;\n\t if (character_1.Character.isLineTerminator(ch)) {\n\t if (this.trackComment) {\n\t loc.end = {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart - 1\n\t };\n\t var entry = {\n\t multiLine: false,\n\t slice: [start + offset, this.index - 1],\n\t range: [start, this.index - 1],\n\t loc: loc\n\t };\n\t comments.push(entry);\n\t }\n\t if (ch === 13 && this.source.charCodeAt(this.index) === 10) {\n\t ++this.index;\n\t }\n\t ++this.lineNumber;\n\t this.lineStart = this.index;\n\t return comments;\n\t }\n\t }\n\t if (this.trackComment) {\n\t loc.end = {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart\n\t };\n\t var entry = {\n\t multiLine: false,\n\t slice: [start + offset, this.index],\n\t range: [start, this.index],\n\t loc: loc\n\t };\n\t comments.push(entry);\n\t }\n\t return comments;\n\t };\n\t Scanner.prototype.skipMultiLineComment = function () {\n\t var comments = [];\n\t var start, loc;\n\t if (this.trackComment) {\n\t comments = [];\n\t start = this.index - 2;\n\t loc = {\n\t start: {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart - 2\n\t },\n\t end: {}\n\t };\n\t }\n\t while (!this.eof()) {\n\t var ch = this.source.charCodeAt(this.index);\n\t if (character_1.Character.isLineTerminator(ch)) {\n\t if (ch === 0x0D && this.source.charCodeAt(this.index + 1) === 0x0A) {\n\t ++this.index;\n\t }\n\t ++this.lineNumber;\n\t ++this.index;\n\t this.lineStart = this.index;\n\t }\n\t else if (ch === 0x2A) {\n\t // Block comment ends with '*/'.\n\t if (this.source.charCodeAt(this.index + 1) === 0x2F) {\n\t this.index += 2;\n\t if (this.trackComment) {\n\t loc.end = {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart\n\t };\n\t var entry = {\n\t multiLine: true,\n\t slice: [start + 2, this.index - 2],\n\t range: [start, this.index],\n\t loc: loc\n\t };\n\t comments.push(entry);\n\t }\n\t return comments;\n\t }\n\t ++this.index;\n\t }\n\t else {\n\t ++this.index;\n\t }\n\t }\n\t // Ran off the end of the file - the whole thing is a comment\n\t if (this.trackComment) {\n\t loc.end = {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart\n\t };\n\t var entry = {\n\t multiLine: true,\n\t slice: [start + 2, this.index],\n\t range: [start, this.index],\n\t loc: loc\n\t };\n\t comments.push(entry);\n\t }\n\t this.tolerateUnexpectedToken();\n\t return comments;\n\t };\n\t Scanner.prototype.scanComments = function () {\n\t var comments;\n\t if (this.trackComment) {\n\t comments = [];\n\t }\n\t var start = (this.index === 0);\n\t while (!this.eof()) {\n\t var ch = this.source.charCodeAt(this.index);\n\t if (character_1.Character.isWhiteSpace(ch)) {\n\t ++this.index;\n\t }\n\t else if (character_1.Character.isLineTerminator(ch)) {\n\t ++this.index;\n\t if (ch === 0x0D && this.source.charCodeAt(this.index) === 0x0A) {\n\t ++this.index;\n\t }\n\t ++this.lineNumber;\n\t this.lineStart = this.index;\n\t start = true;\n\t }\n\t else if (ch === 0x2F) {\n\t ch = this.source.charCodeAt(this.index + 1);\n\t if (ch === 0x2F) {\n\t this.index += 2;\n\t var comment = this.skipSingleLineComment(2);\n\t if (this.trackComment) {\n\t comments = comments.concat(comment);\n\t }\n\t start = true;\n\t }\n\t else if (ch === 0x2A) {\n\t this.index += 2;\n\t var comment = this.skipMultiLineComment();\n\t if (this.trackComment) {\n\t comments = comments.concat(comment);\n\t }\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t else if (start && ch === 0x2D) {\n\t // U+003E is '>'\n\t if ((this.source.charCodeAt(this.index + 1) === 0x2D) && (this.source.charCodeAt(this.index + 2) === 0x3E)) {\n\t // '-->' is a single-line comment\n\t this.index += 3;\n\t var comment = this.skipSingleLineComment(3);\n\t if (this.trackComment) {\n\t comments = comments.concat(comment);\n\t }\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t else if (ch === 0x3C && !this.isModule) {\n\t if (this.source.slice(this.index + 1, this.index + 4) === '!--') {\n\t this.index += 4; // `' is a single-line comment\n\t this.index += 3;\n\t var comment = this.skipSingleLineComment(3);\n\t if (this.trackComment) {\n\t comments = comments.concat(comment);\n\t }\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t else if (ch === 0x3C && !this.isModule) {\n\t if (this.source.slice(this.index + 1, this.index + 4) === '!--') {\n\t this.index += 4; // `