diff --git a/app.js b/app.js index ee22a98..b19ff95 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),a=n(7567),s=a.deepEqual,l=a.maxCollSizeForDeepEqual;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,a=t.length;if(i&&a)if(i+a>l){var u={};t.forEach((function(e){var t=o(e);u[t]?a--:u[t]=!0}));for(var c=0;c0;++c){var f=e[c],d=o(f);u[d]&&(n.push(f),u[d]=!1,a--)}}else n=r(e).filter((function(e){return t.some((function(t){return s(e,t)}))}));return n},i.exclude=function(e,t){var n=[],i=e.length,r=t.length;if(!r)return e;if(i)if(i+r>l){var a={};t.forEach((function(e){var t=o(e);a[t]=!0})),n=e.filter((function(e){return!a[o(e)]}))}else n=e.filter((function(e){return!t.some((function(t){return s(e,t)}))}));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={deepEqual: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)},maxCollSizeForDeepEqual:6}},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},c.lte=function(e,t){if(!e.length||!t.length)return[];var n=i(m(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},c.gte=function(e,t){if(!e.length||!t.length)return[];var n=i(m(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=c},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=n(7567),c=u.deepEqual,f=u.maxCollSizeForDeepEqual,d={};function m(e,t){var n=e.length,r=t.length,o=n<=r;if(o)if(n+r>f){var a=t.reduce((function(e,t){return e[l(t)]=!0,e}),{});o=!e.some((function(e){return!a[l(e)]}))}else for(var s=function(n,r){var a=i.valData(e[n]);o=t.some((function(e){return c(a,i.valData(e))}))},u=0,d=e.length;ue.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)if(e.length>c)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 A(o)._getTimeParts():this._getTimeParts(),l=i>2?new A(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}(b);D.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 A=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}(D);A.checkString=function(e){var t=new A(e);return t._getMatchData()||(t=null),t},A._timeUnitToDatePrecision={year:0,month:1,week:2,day:2,hour:3,minute:4,second:5,millisecond:6},A._datePrecisionToTimeUnit=["year","month","day","hour","minute","second","millisecond"];var R=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}(D);function M(e,t){var n=e;return 3===t&&e<100&&(n="0"+e),e<10&&(n="0"+n),n}R.checkString=function(e){var t=new R(e);return t._getMatchData()||(t=null),t},R._timeUnitToDatePrecision={hour:0,minute:1,second:2,millisecond:3},R._datePrecisionToTimeUnit=["hour","minute","second","millisecond"],A.isoDateTime=function(e,t){void 0===t&&(t=5);var n=""+e.getFullYear();if(t>0&&(n+="-"+M(e.getMonth()+1),t>1&&(n+="-"+M(e.getDate()),t>2&&(n+="T"+A.isoTime(e,t-3)))),t>2){var i=e.getTimezoneOffset(),r=i<0?"+":"-",o=(i=Math.abs(i))%60;n+=r+M((i-o)/60)+":"+M(o)}return n},A.isoTime=function(e,t){void 0===t&&(t=2);var n=""+M(e.getHours());return t>0&&(n+=":"+M(e.getMinutes()),t>1&&(n+=":"+M(e.getSeconds()),e.getMilliseconds()&&(n+="."+M(e.getMilliseconds(),3)))),n};var k=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 D.prototype._getMatchData.apply(this,[C,2])}}]),n}(A);k.checkString=function(e){var t=new k(e);return t._getMatchData()||(t=null),t},k.isoDate=function(e,t){return(void 0===t||t>2)&&(t=2),A.isoDateTime(e,t)};var T=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 D.prototype._getMatchData.apply(this,[x,5])}}]),n}(A);T.checkString=function(e){var t=new T(e);return t._getMatchData()||(t=null),t};var w=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=O.FHIR;return/^System\.(.*)$/.test(this.path)?new O({namespace:O.System,name:RegExp.$1}):-1===this.path.indexOf(".")?new O({namespace:e,name:this.path}):O.model?new O({namespace:e,name:"BackboneElement"}):O.createByValueInNamespace({namespace:e,value:this.data})}},{key:"toJSON",value:function(){return JSON.stringify(this.data)}},{key:"convertData",value:function(){var e=this.data,t=O.typeToClassWithCheckString[this.path];if(t)e=t.checkString(e)||e;else if(O.isType(this.path,"Quantity")){var n;if("http://unitsofmeasure.org"===(null===(n=e)||void 0===n?void 0:n.system)&&"number"==typeof e.value&&"string"==typeof e.code){if(void 0!==e.comparator)throw new Error("Cannot convert a FHIR.Quantity that has a comparator");e=new S(e.value,S.mapUCUMCodeToTimeUnits[e.code]||"'"+e.code+"'")}}return e}}]),e}();w.makeResNode=function(e,t,n){return e instanceof w?e:new w(e,t,n)};var I,P,O=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}();I=O,(P=c(P="model"))in I?Object.defineProperty(I,P,{value:null,enumerable:!0,configurable:!0,writable:!0}):I[P]=null,O.typeToClassWithCheckString={date:k,dateTime:A,instant:T,time:R},O.isType=function(e,t){do{var n;if(e===t)return!0}while(e=null===(n=O.model)||void 0===n?void 0:n.type2Parent[e]);return!1},O.System="System",O.FHIR="FHIR",O.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 k?r="date":n instanceof A?r="dateTime":n instanceof R?r="time":n instanceof S&&(r="Quantity"),t===O.System&&(r=r.replace(/^\w/,(function(e){return e.toUpperCase()}))),new O({namespace:t,name:r})},O.fromValue=function(e){return e instanceof w?e.getTypeInfo():O.createByValueInNamespace({namespace:O.System,value:e})},e.exports={FP_Type:b,FP_TimeBase:D,FP_Date:k,FP_DateTime:A,FP_Instant:T,FP_Time:R,FP_Quantity:S,timeRE:y,dateTimeRE:v,ResourceNode:w,TypeInfo:O,typeFn:function(e){return e.map((function(e){return O.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 O.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 O.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.8.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)}(); +!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,b=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 b&&(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 x(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 b&&n instanceof b)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=b.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 x)return t;if(n instanceof x)return n}return t instanceof b&&(t=new S([t.getParent()],[t.returnState])),n instanceof b&&(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 b},n[l.STAR_BLOCK_START]=function(){return new x},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 x(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=x.getConflictingAltSubsets(e);return x.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===b.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:b,RangeTransition:x,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 b;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 b;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}(x);e.exports={BailErrorStrategy:S,DefaultErrorStrategy:x}},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),x=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}(b),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),a=n(7567),s=a.deepEqual,l=a.maxCollSizeForDeepEqual;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,a=t.length;if(i&&a)if(i+a>l){var u={};t.forEach((function(e){var t=o(e);u[t]?a--:u[t]=!0}));for(var c=0;c0;++c){var f=e[c],d=o(f);u[d]&&(n.push(f),u[d]=!1,a--)}}else n=r(e).filter((function(e){return t.some((function(t){return s(e,t)}))}));return n},i.exclude=function(e,t){var n=[],i=e.length,r=t.length;if(!r)return e;if(i)if(i+r>l){var a={};t.forEach((function(e){var t=o(e);a[t]=!0})),n=e.filter((function(e){return!a[o(e)]}))}else n=e.filter((function(e){return!t.some((function(t){return s(e,t)}))}));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={deepEqual: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)},maxCollSizeForDeepEqual:6}},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},c.lte=function(e,t){if(!e.length||!t.length)return[];var n=i(m(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},c.gte=function(e,t){if(!e.length||!t.length)return[];var n=i(m(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=c},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=n(7567),c=u.deepEqual,f=u.maxCollSizeForDeepEqual,d={};function m(e,t){var n=e.length,r=t.length,o=n<=r;if(o)if(n+r>f){var a=t.reduce((function(e,t){return e[l(t)]=!0,e}),{});o=!e.some((function(e){return!a[l(e)]}))}else for(var s=function(n,r){var a=i.valData(e[n]);o=t.some((function(e){return c(a,i.valData(e))}))},u=0,d=e.length;ue.length)&&(t=e.length);for(var n=0,i=new Array(t);n":{fn:b.gt,arity:{2:["Any","Any"]},nullable:!0},"<=":{fn:b.lte,arity:{2:["Any","Any"]},nullable:!0},">=":{fn:b.gte,arity:{2:["Any","Any"]},nullable:!0},containsOp:{fn:x.contains,arity:{2:["Any","Any"]}},inOp:{fn:x.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,a,s=null!==(r=null===(o=e.userInvocationTable)||void 0===o?void 0:o[t])&&void 0!==r?r:p.invocationTable[t];if(s){if(s.arity){var l=i?i.length:0,u=s.arity[l];if(u){for(var c=[],f=0;f0)if(e.length>c)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)})),b=new h.PredictionContextCache,x=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,b),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(x,"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(x,"ruleNames",["entireExpression","expression","term","literal","externalConstant","invocation","functn","paramList","quantity","unit","dateTimePrecision","pluralDateTimePrecision","typeSpecifier","qualifiedIdentifier","identifier"]),x.EOF=h.Token.EOF,x.T__0=1,x.T__1=2,x.T__2=3,x.T__3=4,x.T__4=5,x.T__5=6,x.T__6=7,x.T__7=8,x.T__8=9,x.T__9=10,x.T__10=11,x.T__11=12,x.T__12=13,x.T__13=14,x.T__14=15,x.T__15=16,x.T__16=17,x.T__17=18,x.T__18=19,x.T__19=20,x.T__20=21,x.T__21=22,x.T__22=23,x.T__23=24,x.T__24=25,x.T__25=26,x.T__26=27,x.T__27=28,x.T__28=29,x.T__29=30,x.T__30=31,x.T__31=32,x.T__32=33,x.T__33=34,x.T__34=35,x.T__35=36,x.T__36=37,x.T__37=38,x.T__38=39,x.T__39=40,x.T__40=41,x.T__41=42,x.T__42=43,x.T__43=44,x.T__44=45,x.T__45=46,x.T__46=47,x.T__47=48,x.T__48=49,x.T__49=50,x.T__50=51,x.T__51=52,x.T__52=53,x.T__53=54,x.DATETIME=55,x.TIME=56,x.IDENTIFIER=57,x.DELIMITEDIDENTIFIER=58,x.STRING=59,x.NUMBER=60,x.WS=61,x.COMMENT=62,x.LINE_COMMENT=63,x.RULE_entireExpression=0,x.RULE_expression=1,x.RULE_term=2,x.RULE_literal=3,x.RULE_externalConstant=4,x.RULE_invocation=5,x.RULE_functn=6,x.RULE_paramList=7,x.RULE_quantity=8,x.RULE_unit=9,x.RULE_dateTimePrecision=10,x.RULE_pluralDateTimePrecision=11,x.RULE_typeSpecifier=12,x.RULE_qualifiedIdentifier=13,x.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=x.RULE_entireExpression,a}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(E,0)}},{key:"EOF",value:function(){return this.getToken(x.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=x.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);x.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);x.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);x.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);x.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);x.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);x.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);x.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);x.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);x.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);x.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);x.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);x.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);x.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);x.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=x.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);x.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);x.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);x.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);x.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=x.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(x.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);x.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);x.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(x.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);x.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(x.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);x.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);x.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(x.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);x.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);x.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=x.RULE_externalConstant,a}return s(n,[{key:"identifier",value:function(){return this.getTypedRuleContext(de,0)}},{key:"STRING",value:function(){return this.getToken(x.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=x.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}($);x.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}($);x.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}($);x.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}($);x.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}($);x.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=x.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=x.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=x.RULE_quantity,a}return s(n,[{key:"NUMBER",value:function(){return this.getToken(x.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=x.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(x.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=x.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=x.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=x.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=x.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=x.RULE_identifier,a}return s(n,[{key:"IDENTIFIER",value:function(){return this.getToken(x.IDENTIFIER,0)}},{key:"DELIMITEDIDENTIFIER",value:function(){return this.getToken(x.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);x.EntireExpressionContext=S,x.ExpressionContext=E,x.TermContext=B,x.LiteralContext=H,x.ExternalConstantContext=Y,x.InvocationContext=$,x.FunctnContext=re,x.ParamListContext=oe,x.QuantityContext=ae,x.UnitContext=se,x.DateTimePrecisionContext=le,x.PluralDateTimePrecisionContext=ue,x.TypeSpecifierContext=ce,x.QualifiedIdentifierContext=fe,x.IdentifierContext=de,e.exports=x},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 A(o)._getTimeParts():this._getTimeParts(),l=i>2?new A(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);D.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 A=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}(D);A.checkString=function(e){var t=new A(e);return t._getMatchData()||(t=null),t},A._timeUnitToDatePrecision={year:0,month:1,week:2,day:2,hour:3,minute:4,second:5,millisecond:6},A._datePrecisionToTimeUnit=["year","month","day","hour","minute","second","millisecond"];var R=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}(D);function M(e,t){var n=e;return 3===t&&e<100&&(n="0"+e),e<10&&(n="0"+n),n}R.checkString=function(e){var t=new R(e);return t._getMatchData()||(t=null),t},R._timeUnitToDatePrecision={hour:0,minute:1,second:2,millisecond:3},R._datePrecisionToTimeUnit=["hour","minute","second","millisecond"],A.isoDateTime=function(e,t){void 0===t&&(t=5);var n=""+e.getFullYear();if(t>0&&(n+="-"+M(e.getMonth()+1),t>1&&(n+="-"+M(e.getDate()),t>2&&(n+="T"+A.isoTime(e,t-3)))),t>2){var i=e.getTimezoneOffset(),r=i<0?"+":"-",o=(i=Math.abs(i))%60;n+=r+M((i-o)/60)+":"+M(o)}return n},A.isoTime=function(e,t){void 0===t&&(t=2);var n=""+M(e.getHours());return t>0&&(n+=":"+M(e.getMinutes()),t>1&&(n+=":"+M(e.getSeconds()),e.getMilliseconds()&&(n+="."+M(e.getMilliseconds(),3)))),n};var k=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 D.prototype._getMatchData.apply(this,[C,2])}}]),n}(A);k.checkString=function(e){var t=new k(e);return t._getMatchData()||(t=null),t},k.isoDate=function(e,t){return(void 0===t||t>2)&&(t=2),A.isoDateTime(e,t)};var T=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 D.prototype._getMatchData.apply(this,[b,5])}}]),n}(A);T.checkString=function(e){var t=new T(e);return t._getMatchData()||(t=null),t};var w=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=O.FHIR;return/^System\.(.*)$/.test(this.path)?new O({namespace:O.System,name:RegExp.$1}):-1===this.path.indexOf(".")?new O({namespace:e,name:this.path}):O.model?new O({namespace:e,name:"BackboneElement"}):O.createByValueInNamespace({namespace:e,value:this.data})}},{key:"toJSON",value:function(){return JSON.stringify(this.data)}},{key:"convertData",value:function(){var e=this.data,t=O.typeToClassWithCheckString[this.path];if(t)e=t.checkString(e)||e;else if(O.isType(this.path,"Quantity")){var n;if("http://unitsofmeasure.org"===(null===(n=e)||void 0===n?void 0:n.system)&&"number"==typeof e.value&&"string"==typeof e.code){if(void 0!==e.comparator)throw new Error("Cannot convert a FHIR.Quantity that has a comparator");e=new S(e.value,S.mapUCUMCodeToTimeUnits[e.code]||"'"+e.code+"'")}}return e}}]),e}();w.makeResNode=function(e,t,n){return e instanceof w?e:new w(e,t,n)};var I,P,O=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}();I=O,(P=c(P="model"))in I?Object.defineProperty(I,P,{value:null,enumerable:!0,configurable:!0,writable:!0}):I[P]=null,O.typeToClassWithCheckString={date:k,dateTime:A,instant:T,time:R},O.isType=function(e,t){do{var n;if(e===t)return!0}while(e=null===(n=O.model)||void 0===n?void 0:n.type2Parent[e]);return!1},O.System="System",O.FHIR="FHIR",O.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 k?r="date":n instanceof A?r="dateTime":n instanceof R?r="time":n instanceof S&&(r="Quantity"),t===O.System&&(r=r.replace(/^\w/,(function(e){return e.toUpperCase()}))),new O({namespace:t,name:r})},O.fromValue=function(e){return e instanceof w?e.getTypeInfo():O.createByValueInNamespace({namespace:O.System,value:e})},e.exports={FP_Type:x,FP_TimeBase:D,FP_Date:k,FP_DateTime:A,FP_Instant:T,FP_Time:R,FP_Quantity:S,timeRE:y,dateTimeRE:v,ResourceNode:w,TypeInfo:O,typeFn:function(e){return e.map((function(e){return O.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 O.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 O.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*)?)$/,b=/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,x=/([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=x.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=b.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.9.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),b=/win/i.test(t),x=f&&e.match(/Version\/(\d*\.\d*)/);x&&(x=Number(x[1])),x&&x>=15&&(f=!1,l=!0);var S=v&&(u||f&&(null==x||x<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 be(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function xe(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Se(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function Ee(e){be(e),xe(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={};xt(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,xt(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=bt(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,b=0;bp||S.collapsed&&x.to==p&&x.from==p)){if(null!=x.to&&x.to!=p&&y>x.to&&(y=x.to,u=""),S.className&&(l+=" "+S.className),S.css&&(s=(s?s+";":"")+S.css),S.startStyle&&x.from==p&&(c+=" "+S.startStyle),S.endStyle&&x.to==y&&(C||(C=[])).push(S.endStyle,x.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=x)}else x.from>p&&y>x.from&&(y=x.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=b.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,b=null==i&&t==d,x=0==f,S=!h||f==h.length-1;if(v.top-y.top<=3){var E=(u?b:C)&&S,D=(u?C:b)&&x?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&&x?s:y.left,M=u?l:p(e,r,"before"),k=u?s:p(t,r,"after"),T=u&&b&&S?l:v.right):(R=u?p(e,r,"before"):s,M=!u&&C&&x?l:y.right,k=!u&&b&&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 xo))){var s=[];this.collapse(s),this.children=[new xo(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||(be(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;be(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,b=s,x=va(e,t,i.unit),S=b.anchor;nt(x.anchor,S)>0?(C=x.head,S=at(b.from(),x.anchor)):(C=x.anchor,S=ot(b.to(),x.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&&(be(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&&be(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&&be(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 ba(e,t){return Ca(e,t,"gutterClick",!0)}function xa(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&&!ba(e,t)&&!En(e.display,t)){be(t);var i=e.findWordAt(n);Jr(e.doc,i.anchor,i.head)}}})):function(t){return ge(e,t)||be(t)}),de(t.scroller,"contextmenu",(function(t){return xa(e,t)})),de(t.input.getField(),"contextmenu",(function(n){t.scroller.contains(n.target)||xa(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)&&!ba(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(),be(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 x=tt(t,m),S=tt(l,d.length?J(d).length-p:0);return f.length>1||f[0]||nt(x,S)?(go(i.doc,f,x,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)||be(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",!b),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=xr,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=be,e.e_stopPropagation=xe,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 b(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 x={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 x.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 b(A.stream,A.state),R("{"==e?j:H)}function Z(e){return b(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,xe):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 be(e,t){return"variable"==e&&A.stream.match(/^\s*[?:]/,!1)||"?"==t?M(be):":"==e?M(pe):"spread"==e?M(be):R(pe)}function xe(e,t){return"<"==t?M(B(">"),se(pe,">"),F,xe):"|"==t||"."==e||"&"==t?M(pe):"["==e?M(pe,q("]"),xe):"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,xe)}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(),b(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,b=this.isolateCoverGrammar(this.parseAssignmentExpression);e=this.finalize(this.startNode(t),new a.AssignmentExpression(C,e,b)),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!==b&&s!==E&&s!==x&&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'),b.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,b)?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,b,u===n)&&(P=!0,null===e.tag&&(e.tag="?")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===M&&(P=g&&V(e,x))),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 b(this,e,t,n);case"utf8":case"utf-8":return x(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 46a648a..780728e 100644 --- a/app.js.map +++ b/app.js.map @@ -1 +1 @@ -{"version":3,"file":"app.js","mappings":"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AAwB,sCAAsC,eAAe,gBAAgB,iBAAiB,eAAe,eAAe,eAAe,eAAe,eAAe,gBAAgB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,eAAe,eAAe,eAAe,iBAAiB,gBAAgB,eAAe,eAAe,eAAe,eAAe,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,eAAe,eAAe,eAAe,eAAe,eAAe,iBAAiB,kBAAkB,iBAAiB,eAAe,eAAe,gBAAgB,eAAe,gBAAgB,eAAe,eAAe,eAAe,eAAe,eAAe,eAAe,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,eAAe,iBAAiB,eAAe,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,gBAAgB,iBAAiB,eAAe,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,eAAe,gBAAgB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,gBAAgB,iBAAiB,eAAe,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,kBAAkB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,gBAAgB,iBAAiB,eAAe,iBAAiB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,iBAAiB,gBAAgB,gBAAgB,gBAAgB,oBAAoB,iBAAiB,kBAAkB,iBAAiB,iBAAiB,gBAAgB,eAAe,eAAe,eAAe,eAAe,gB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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 X[e[0]]+X[e[1]]+X[e[2]]+X[e[3]]+\"-\"+X[e[4]]+X[e[5]]+\"-\"+X[e[6]]+X[e[7]]+\"-\"+X[e[8]]+X[e[9]]+\"-\"+X[e[10]]+X[e[11]]+X[e[12]]+X[e[13]]+X[e[14]]+X[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 R(u,l,a,0!==s);case T.PRECEDENCE:return new P(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}(),X=function(){for(var e=[],t=0;t<256;t++)e[t]=(t+256).toString(16).substr(1).toUpperCase();return e}();e.exports=Z},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=P.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}),R}(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),a=n(7567),s=a.deepEqual,o=a.maxCollSizeForDeepEqual;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,a=t.length;if(r&&a)if(r+a>o){var u={};t.forEach((function(e){var t=i(e);u[t]?a--:u[t]=!0}));for(var c=0;c0;++c){var f=e[c],m=i(f);u[m]&&(n.push(f),u[m]=!1,a--)}}else n=l(e).filter((function(e){return t.some((function(t){return s(e,t)}))}));return n},r.exclude=function(e,t){var n=[],r=e.length,l=t.length;if(!l)return e;if(r)if(r+l>o){var a={};t.forEach((function(e){var t=i(e);a[t]=!0})),n=e.filter((function(e){return!a[i(e)]}))}else n=e.filter((function(e){return!t.some((function(t){return s(e,t)}))}));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={deepEqual: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)},maxCollSizeForDeepEqual:6}},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},c.lte=function(e,t){if(!e.length||!t.length)return[];var n=r(h(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},c.gte=function(e,t){if(!e.length||!t.length)return[];var n=r(h(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=c},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=n(7567),c=u.deepEqual,f=u.maxCollSizeForDeepEqual,m={};function h(e,t){var n=e.length,l=t.length,i=n<=l;if(i)if(n+l>f){var a=t.reduce((function(e,t){return e[o(t)]=!0,e}),{});i=!e.some((function(e){return!a[o(e)]}))}else for(var s=function(n,l){var a=r.valData(e[n]);i=t.some((function(e){return c(a,r.valData(e))}))},u=0,m=e.length;ue.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?P(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 R({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=P(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 P(e,s,a&&a[t])}))):e.push(P(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)if(e.length>c)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(Z,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 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.enterEqualityExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitEqualityExpression(this)}}]),n}(k);C.EqualityExpressionContext=R;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.enterImpliesExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitImpliesExpression(this)}}]),n}(k);C.ImpliesExpressionContext=P;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(Z,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),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_invocation,a}return s(n,[{key:\"copyFrom\",value:function(e){l(m(n.prototype),\"copyFrom\",this).call(this,e)}}]),n}(d.ParserRuleContext),X=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}(Z);C.TotalInvocationContext=X;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}(Z);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}(Z);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}(Z);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}(Z);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=Z,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 T(i)._getTimeParts():this._getTimeParts(),o=r>2?new T(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}(C);S.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 T=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}(S);T.checkString=function(e){var t=new T(e);return t._getMatchData()||(t=null),t},T._timeUnitToDatePrecision={year:0,month:1,week:2,day:2,hour:3,minute:4,second:5,millisecond:6},T._datePrecisionToTimeUnit=[\"year\",\"month\",\"day\",\"hour\",\"minute\",\"second\",\"millisecond\"];var U=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}(S);function O(e,t){var n=e;return 3===t&&e<100&&(n=\"0\"+e),e<10&&(n=\"0\"+n),n}U.checkString=function(e){var t=new U(e);return t._getMatchData()||(t=null),t},U._timeUnitToDatePrecision={hour:0,minute:1,second:2,millisecond:3},U._datePrecisionToTimeUnit=[\"hour\",\"minute\",\"second\",\"millisecond\"],T.isoDateTime=function(e,t){void 0===t&&(t=5);var n=\"\"+e.getFullYear();if(t>0&&(n+=\"-\"+O(e.getMonth()+1),t>1&&(n+=\"-\"+O(e.getDate()),t>2&&(n+=\"T\"+T.isoTime(e,t-3)))),t>2){var r=e.getTimezoneOffset(),l=r<0?\"+\":\"-\",i=(r=Math.abs(r))%60;n+=l+O((r-i)/60)+\":\"+O(i)}return n},T.isoTime=function(e,t){void 0===t&&(t=2);var n=\"\"+O(e.getHours());return t>0&&(n+=\":\"+O(e.getMinutes()),t>1&&(n+=\":\"+O(e.getSeconds()),e.getMilliseconds()&&(n+=\".\"+O(e.getMilliseconds(),3)))),n};var x=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 S.prototype._getMatchData.apply(this,[b,2])}}]),n}(T);x.checkString=function(e){var t=new x(e);return t._getMatchData()||(t=null),t},x.isoDate=function(e,t){return(void 0===t||t>2)&&(t=2),T.isoDateTime(e,t)};var M=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 S.prototype._getMatchData.apply(this,[_,5])}}]),n}(T);M.checkString=function(e){var t=new M(e);return t._getMatchData()||(t=null),t};var I=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=N.FHIR;return/^System\\.(.*)$/.test(this.path)?new N({namespace:N.System,name:RegExp.$1}):-1===this.path.indexOf(\".\")?new N({namespace:e,name:this.path}):N.model?new N({namespace:e,name:\"BackboneElement\"}):N.createByValueInNamespace({namespace:e,value:this.data})}},{key:\"toJSON\",value:function(){return JSON.stringify(this.data)}},{key:\"convertData\",value:function(){var e=this.data,t=N.typeToClassWithCheckString[this.path];if(t)e=t.checkString(e)||e;else if(N.isType(this.path,\"Quantity\")){var n;if(\"http://unitsofmeasure.org\"===(null===(n=e)||void 0===n?void 0:n.system)&&\"number\"==typeof e.value&&\"string\"==typeof e.code){if(void 0!==e.comparator)throw new Error(\"Cannot convert a FHIR.Quantity that has a comparator\");e=new L(e.value,L.mapUCUMCodeToTimeUnits[e.code]||\"'\"+e.code+\"'\")}}return e}}]),e}();I.makeResNode=function(e,t,n){return e instanceof I?e:new I(e,t,n)};var E,w,N=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}();E=N,(w=c(w=\"model\"))in E?Object.defineProperty(E,w,{value:null,enumerable:!0,configurable:!0,writable:!0}):E[w]=null,N.typeToClassWithCheckString={date:x,dateTime:T,instant:M,time:U},N.isType=function(e,t){do{var n;if(e===t)return!0}while(e=null===(n=N.model)||void 0===n?void 0:n.type2Parent[e]);return!1},N.System=\"System\",N.FHIR=\"FHIR\",N.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 x?l=\"date\":n instanceof T?l=\"dateTime\":n instanceof U?l=\"time\":n instanceof L&&(l=\"Quantity\"),t===N.System&&(l=l.replace(/^\\w/,(function(e){return e.toUpperCase()}))),new N({namespace:t,name:l})},N.fromValue=function(e){return e instanceof I?e.getTypeInfo():N.createByValueInNamespace({namespace:N.System,value:e})},e.exports={FP_Type:C,FP_TimeBase:S,FP_Date:x,FP_DateTime:T,FP_Instant:M,FP_Time:U,FP_Quantity:L,timeRE:g,dateTimeRE:v,ResourceNode:I,TypeInfo:N,typeFn:function(e){return e.map((function(e){return N.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 N.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 N.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,R=w.getTime(),P=0;if(M.time&&(P=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=R+P,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(R+P+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.8.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(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; // `