// JayData 1.5.10 
// Dual licensed under MIT and GPL v2
// Copyright JayStack Technologies (http://jaydata.org/licensing)
//
// JayData is a standards-based, cross-platform Javascript library and a set of
// practices to access and manipulate data from various online and offline sources.
//
// Credits:
//     Hajnalka Battancs, Dániel József, János Roden, László Horváth, Péter Nochta
//     Péter Zentai, Róbert Bónay, Szabolcs Czinege, Viktor Borza, Viktor Lázár,
//     Zoltán Gyebrovszki, Gábor Dolla
//
// More info: http://jaydata.org
!function(){var require=function e(t,n,r){function i(o,s){if(!n[o]){if(!t[o]){var u="function"==typeof require&&require;if(!s&&u)return u(o,!0);if(a)return a(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var p=n[o]={exports:{}};t[o][0].call(p.exports,function(e){var n=t[o][1][e];return i(n?n:e)},p,p.exports,e,t,n,r)}return n[o].exports}for(var a="function"==typeof require&&require,o=0;o<r.length;o++)i(r[o]);return i}({1:[function(e,t,n){!function(e,r){"object"==typeof n&&"undefined"!=typeof t?r(n):"function"==typeof define&&define.amd?define(["exports"],r):r(e.acorn=e.acorn||{})}(this,function(e){"use strict";function t(e,t){for(var n=65536,r=0;r<t.length;r+=2){if(n+=t[r],n>e)return!1;if(n+=t[r+1],n>=e)return!0}}function n(e,n){return 65>e?36===e:91>e?!0:97>e?95===e:123>e?!0:65535>=e?e>=170&&S.test(String.fromCharCode(e)):n===!1?!1:t(e,P)}function r(e,n){return 48>e?36===e:58>e?!0:65>e?!1:91>e?!0:97>e?95===e:123>e?!0:65535>=e?e>=170&&_.test(String.fromCharCode(e)):n===!1?!1:t(e,P)||t(e,N)}function i(e,t){return new M(e,{beforeExpr:!0,binop:t})}function a(e,t){return void 0===t&&(t={}),t.keyword=e,O[e]=new M(e,t)}function o(e){return 10===e||13===e||8232===e||8233==e}function s(e){return"[object Array]"===Object.prototype.toString.call(e)}function u(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function l(e,t){for(var n=1,r=0;;){G.lastIndex=r;var i=G.exec(e);if(!(i&&i.index<t))return new I(n,t-r);++n,r=i.index+i[0].length}}function p(e){var t={};for(var n in $)t[n]=e&&u(e,n)?e[n]:$[n];if(null==t.allowReserved&&(t.allowReserved=t.ecmaVersion<5),s(t.onToken)){var r=t.onToken;t.onToken=function(e){return r.push(e)}}return s(t.onComment)&&(t.onComment=d(t,t.onComment)),t}function d(e,t){return function(n,r,i,a,o,s){var u={type:n?"Block":"Line",value:r,start:i,end:a};e.locations&&(u.loc=new B(this,o,s)),e.ranges&&(u.range=[i,a]),t.push(u)}}function c(e){return new RegExp("^("+e.replace(/ /g,"|")+")$")}function f(e,t,n,r){return e.type=t,e.end=n,this.options.locations&&(e.loc.end=r),this.options.ranges&&(e.range[1]=n),e}function y(e,t,n,r){try{return new RegExp(e,t)}catch(i){if(void 0!==n)throw i instanceof SyntaxError&&r.raise(n,"Error parsing regular expression: "+i.message),i}}function h(e){return 65535>=e?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(1023&e)+56320))}function m(e,t){return new R(t,e).parse()}function g(e,t,n){var r=new R(n,e,t);return r.nextToken(),r.parseExpression()}function v(e,t){return new R(t,e)}var x={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",7:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},E="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",b={5:E,6:E+" const class extends export import super"},T="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿕ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞮꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ﬀ-ﬆﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼＡ-Ｚａ-ｚｦ-ﾾￂ-ￇￊ-ￏￒ-ￗￚ-ￜ",C="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࣔ-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఃా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഁ-ഃാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ູົຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭ᳲ-᳴᳸᳹᷀-᷵᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱꤀-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏０-９＿",S=new RegExp("["+T+"]"),_=new RegExp("["+T+C+"]");T=C=null;var P=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,17,26,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,26,45,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,785,52,76,44,33,24,27,35,42,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,25,391,63,32,0,449,56,264,8,2,36,18,0,50,29,881,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,881,68,12,0,67,12,65,0,32,6124,20,754,9486,1,3071,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,60,67,1213,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,10591,541],N=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,1306,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,52,0,13,2,49,13,10,2,4,9,83,11,7,0,161,11,6,9,7,3,57,0,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,87,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,423,9,838,7,2,7,17,9,57,21,2,13,19882,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,2214,6,110,6,6,9,792487,239],M=function(e,t){void 0===t&&(t={}),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null},A={beforeExpr:!0},w={startsExpr:!0},O={},j={num:new M("num",w),regexp:new M("regexp",w),string:new M("string",w),name:new M("name",w),eof:new M("eof"),bracketL:new M("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new M("]"),braceL:new M("{",{beforeExpr:!0,startsExpr:!0}),braceR:new M("}"),parenL:new M("(",{beforeExpr:!0,startsExpr:!0}),parenR:new M(")"),comma:new M(",",A),semi:new M(";",A),colon:new M(":",A),dot:new M("."),question:new M("?",A),arrow:new M("=>",A),template:new M("template"),ellipsis:new M("...",A),backQuote:new M("`",w),dollarBraceL:new M("${",{beforeExpr:!0,startsExpr:!0}),eq:new M("=",{beforeExpr:!0,isAssign:!0}),assign:new M("_=",{beforeExpr:!0,isAssign:!0}),incDec:new M("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new M("prefix",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:i("||",1),logicalAND:i("&&",2),bitwiseOR:i("|",3),bitwiseXOR:i("^",4),bitwiseAND:i("&",5),equality:i("==/!=",6),relational:i("</>",7),bitShift:i("<</>>",8),plusMin:new M("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:i("%",10),star:i("*",10),slash:i("/",10),starstar:new M("**",{beforeExpr:!0}),_break:a("break"),_case:a("case",A),_catch:a("catch"),_continue:a("continue"),_debugger:a("debugger"),_default:a("default",A),_do:a("do",{isLoop:!0,beforeExpr:!0}),_else:a("else",A),_finally:a("finally"),_for:a("for",{isLoop:!0}),_function:a("function",w),_if:a("if"),_return:a("return",A),_switch:a("switch"),_throw:a("throw",A),_try:a("try"),_var:a("var"),_const:a("const"),_while:a("while",{isLoop:!0}),_with:a("with"),_new:a("new",{beforeExpr:!0,startsExpr:!0}),_this:a("this",w),_super:a("super",w),_class:a("class"),_extends:a("extends",A),_export:a("export"),_import:a("import"),_null:a("null",w),_true:a("true",w),_false:a("false",w),_in:a("in",{beforeExpr:!0,binop:7}),_instanceof:a("instanceof",{beforeExpr:!0,binop:7}),_typeof:a("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:a("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:a("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},D=/\r\n?|\n|\u2028|\u2029/,G=new RegExp(D.source,"g"),V=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/,k=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,I=function(e,t){this.line=e,this.column=t};I.prototype.offset=function(e){return new I(this.line,this.column+e)};var B=function(e,t,n){this.start=t,this.end=n,null!==e.sourceFile&&(this.source=e.sourceFile)},$={ecmaVersion:6,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1,plugins:{}},L={},R=function(e,t,n){this.options=e=p(e),this.sourceFile=e.sourceFile,this.keywords=c(b[e.ecmaVersion>=6?6:5]);var r=e.allowReserved?"":x[e.ecmaVersion]+("module"==e.sourceType?" await":"");this.reservedWords=c(r);var i=(r?r+" ":"")+x.strict;this.reservedWordsStrict=c(i),this.reservedWordsStrictBind=c(i+" "+x.strictBind),this.input=String(t),this.containsEsc=!1,this.loadPlugins(e.plugins),n?(this.pos=n,this.lineStart=Math.max(0,this.input.lastIndexOf("\n",n)),this.curLine=this.input.slice(0,this.lineStart).split(D).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=j.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.strict=this.inModule="module"===e.sourceType,this.potentialArrowAt=-1,this.inFunction=this.inGenerator=!1,this.labels=[],0===this.pos&&e.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2)};R.prototype.isKeyword=function(e){return this.keywords.test(e)},R.prototype.isReservedWord=function(e){return this.reservedWords.test(e)},R.prototype.extend=function(e,t){this[e]=t(this[e])},R.prototype.loadPlugins=function(e){var t=this;for(var n in e){var r=L[n];if(!r)throw new Error("Plugin '"+n+"' not found");r(t,e[n])}},R.prototype.parse=function(){var e=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(e)};var F=R.prototype;F.isUseStrict=function(e){return this.options.ecmaVersion>=5&&"ExpressionStatement"===e.type&&"Literal"===e.expression.type&&"use strict"===e.expression.raw.slice(1,-1)},F.eat=function(e){return this.type===e?(this.next(),!0):!1},F.isContextual=function(e){return this.type===j.name&&this.value===e},F.eatContextual=function(e){return this.value===e&&this.eat(j.name)},F.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},F.canInsertSemicolon=function(){return this.type===j.eof||this.type===j.braceR||D.test(this.input.slice(this.lastTokEnd,this.start))},F.insertSemicolon=function(){return this.canInsertSemicolon()?(this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0):void 0},F.semicolon=function(){this.eat(j.semi)||this.insertSemicolon()||this.unexpected()},F.afterTrailingComma=function(e){return this.type==e?(this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),this.next(),!0):void 0},F.expect=function(e){this.eat(e)||this.unexpected()},F.unexpected=function(e){this.raise(null!=e?e:this.start,"Unexpected token")};var q=function(){this.shorthandAssign=0,this.trailingComma=0};F.checkPatternErrors=function(e,t){var n=e&&e.trailingComma;return t?void(n&&this.raise(n,"Comma is not permitted after the rest element")):!!n},F.checkExpressionErrors=function(e,t){var n=e&&e.shorthandAssign;return t?void(n&&this.raise(n,"Shorthand property assignments are valid only in destructuring patterns")):!!n};var U=R.prototype;U.parseTopLevel=function(e){var t=this,n=!0;for(e.body||(e.body=[]);this.type!==j.eof;){var r=t.parseStatement(!0,!0);e.body.push(r),n&&(t.isUseStrict(r)&&t.setStrict(!0),n=!1)}return this.next(),this.options.ecmaVersion>=6&&(e.sourceType=this.options.sourceType),this.finishNode(e,"Program")};var Q={kind:"loop"},H={kind:"switch"};U.isLet=function(){if(this.type!==j.name||this.options.ecmaVersion<6||"let"!=this.value)return!1;k.lastIndex=this.pos;var e=k.exec(this.input),t=this.pos+e[0].length,i=this.input.charCodeAt(t);if(91===i||123==i)return!0;if(n(i,!0)){for(var a=t+1;r(this.input.charCodeAt(a),!0);++a);var o=this.input.slice(t,a);if(!this.isKeyword(o))return!0}return!1},U.parseStatement=function(e,t){var n,r=this.type,i=this.startNode();switch(this.isLet()&&(r=j._var,n="let"),r){case j._break:case j._continue:return this.parseBreakContinueStatement(i,r.keyword);case j._debugger:return this.parseDebuggerStatement(i);case j._do:return this.parseDoStatement(i);case j._for:return this.parseForStatement(i);case j._function:return!e&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(i);case j._class:return e||this.unexpected(),this.parseClass(i,!0);case j._if:return this.parseIfStatement(i);case j._return:return this.parseReturnStatement(i);case j._switch:return this.parseSwitchStatement(i);case j._throw:return this.parseThrowStatement(i);case j._try:return this.parseTryStatement(i);case j._const:case j._var:return n=n||this.value,e||"var"==n||this.unexpected(),this.parseVarStatement(i,n);case j._while:return this.parseWhileStatement(i);case j._with:return this.parseWithStatement(i);case j.braceL:return this.parseBlock();case j.semi:return this.parseEmptyStatement(i);case j._export:case j._import:return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),r===j._import?this.parseImport(i):this.parseExport(i);default:var a=this.value,o=this.parseExpression();return r===j.name&&"Identifier"===o.type&&this.eat(j.colon)?this.parseLabeledStatement(i,a,o):this.parseExpressionStatement(i,o)}},U.parseBreakContinueStatement=function(e,t){var n=this,r="break"==t;this.next(),this.eat(j.semi)||this.insertSemicolon()?e.label=null:this.type!==j.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var i=0;i<this.labels.length;++i){var a=n.labels[i];if(null==e.label||a.name===e.label.name){if(null!=a.kind&&(r||"loop"===a.kind))break;if(e.label&&r)break}}return i===this.labels.length&&this.raise(e.start,"Unsyntactic "+t),this.finishNode(e,r?"BreakStatement":"ContinueStatement")},U.parseDebuggerStatement=function(e){return this.next(),this.semicolon(),this.finishNode(e,"DebuggerStatement")},U.parseDoStatement=function(e){return this.next(),this.labels.push(Q),e.body=this.parseStatement(!1),this.labels.pop(),this.expect(j._while),e.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(j.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},U.parseForStatement=function(e){if(this.next(),this.labels.push(Q),this.expect(j.parenL),this.type===j.semi)return this.parseFor(e,null);var t=this.isLet();if(this.type===j._var||this.type===j._const||t){var n=this.startNode(),r=t?"let":this.value;return this.next(),this.parseVar(n,!0,r),this.finishNode(n,"VariableDeclaration"),!(this.type===j._in||this.options.ecmaVersion>=6&&this.isContextual("of"))||1!==n.declarations.length||"var"!==r&&n.declarations[0].init?this.parseFor(e,n):this.parseForIn(e,n)}var i=new q,a=this.parseExpression(!0,i);return this.type===j._in||this.options.ecmaVersion>=6&&this.isContextual("of")?(this.checkPatternErrors(i,!0),this.toAssignable(a),this.checkLVal(a),this.parseForIn(e,a)):(this.checkExpressionErrors(i,!0),this.parseFor(e,a))},U.parseFunctionStatement=function(e){return this.next(),this.parseFunction(e,!0)},U.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement(!1),e.alternate=this.eat(j._else)?this.parseStatement(!1):null,this.finishNode(e,"IfStatement")},U.parseReturnStatement=function(e){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(j.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},U.parseSwitchStatement=function(e){var t=this;this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(j.braceL),this.labels.push(H);for(var n,r=!1;this.type!=j.braceR;)if(t.type===j._case||t.type===j._default){var i=t.type===j._case;n&&t.finishNode(n,"SwitchCase"),e.cases.push(n=t.startNode()),n.consequent=[],t.next(),i?n.test=t.parseExpression():(r&&t.raiseRecoverable(t.lastTokStart,"Multiple default clauses"),r=!0,n.test=null),t.expect(j.colon)}else n||t.unexpected(),n.consequent.push(t.parseStatement(!0));return n&&this.finishNode(n,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")},U.parseThrowStatement=function(e){return this.next(),D.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var J=[];U.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===j._catch){var t=this.startNode();this.next(),this.expect(j.parenL),t.param=this.parseBindingAtom(),this.checkLVal(t.param,!0),this.expect(j.parenR),t.body=this.parseBlock(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(j._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},U.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")},U.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(Q),e.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(e,"WhileStatement")},U.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement(!1),this.finishNode(e,"WithStatement")},U.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},U.parseLabeledStatement=function(e,t,n){for(var r=this,i=0;i<this.labels.length;++i)r.labels[i].name===t&&r.raise(n.start,"Label '"+t+"' is already declared");for(var a=this.type.isLoop?"loop":this.type===j._switch?"switch":null,o=this.labels.length-1;o>=0;o--){var s=r.labels[o];if(s.statementStart!=e.start)break;s.statementStart=r.start,s.kind=a}return this.labels.push({name:t,kind:a,statementStart:this.start}),e.body=this.parseStatement(!0),this.labels.pop(),e.label=n,this.finishNode(e,"LabeledStatement")},U.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},U.parseBlock=function(e){var t,n=this,r=this.startNode(),i=!0;for(r.body=[],this.expect(j.braceL);!this.eat(j.braceR);){var a=n.parseStatement(!0);r.body.push(a),i&&e&&n.isUseStrict(a)&&(t=n.strict,n.setStrict(n.strict=!0)),i=!1}return t===!1&&this.setStrict(!1),this.finishNode(r,"BlockStatement")},U.parseFor=function(e,t){return e.init=t,this.expect(j.semi),e.test=this.type===j.semi?null:this.parseExpression(),this.expect(j.semi),e.update=this.type===j.parenR?null:this.parseExpression(),this.expect(j.parenR),e.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(e,"ForStatement")},U.parseForIn=function(e,t){var n=this.type===j._in?"ForInStatement":"ForOfStatement";return this.next(),e.left=t,e.right=this.parseExpression(),this.expect(j.parenR),e.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(e,n)},U.parseVar=function(e,t,n){var r=this;for(e.declarations=[],e.kind=n;;){var i=r.startNode();if(r.parseVarId(i),r.eat(j.eq)?i.init=r.parseMaybeAssign(t):"const"!==n||r.type===j._in||r.options.ecmaVersion>=6&&r.isContextual("of")?"Identifier"==i.id.type||t&&(r.type===j._in||r.isContextual("of"))?i.init=null:r.raise(r.lastTokEnd,"Complex binding patterns require an initialization value"):r.unexpected(),e.declarations.push(r.finishNode(i,"VariableDeclarator")),!r.eat(j.comma))break}return e},U.parseVarId=function(e){e.id=this.parseBindingAtom(),this.checkLVal(e.id,!0)},U.parseFunction=function(e,t,n){this.initFunction(e),this.options.ecmaVersion>=6&&(e.generator=this.eat(j.star));var r=this.inGenerator;return this.inGenerator=e.generator,(t||this.type===j.name)&&(e.id=this.parseIdent()),this.parseFunctionParams(e),this.parseFunctionBody(e,n),this.inGenerator=r,this.finishNode(e,t?"FunctionDeclaration":"FunctionExpression")},U.parseFunctionParams=function(e){this.expect(j.parenL),e.params=this.parseBindingList(j.parenR,!1,!1,!0)},U.parseClass=function(e,t){var n=this;this.next(),this.parseClassId(e,t),this.parseClassSuper(e);var r=this.startNode(),i=!1;for(r.body=[],this.expect(j.braceL);!this.eat(j.braceR);)if(!n.eat(j.semi)){var a=n.startNode(),o=n.eat(j.star),s=n.type===j.name&&"static"===n.value;n.parsePropertyName(a),a["static"]=s&&n.type!==j.parenL,a["static"]&&(o&&n.unexpected(),o=n.eat(j.star),n.parsePropertyName(a)),a.kind="method";var u=!1;if(!a.computed){var l=a.key;o||"Identifier"!==l.type||n.type===j.parenL||"get"!==l.name&&"set"!==l.name||(u=!0,a.kind=l.name,l=n.parsePropertyName(a)),!a["static"]&&("Identifier"===l.type&&"constructor"===l.name||"Literal"===l.type&&"constructor"===l.value)&&(i&&n.raise(l.start,"Duplicate constructor in the same class"),u&&n.raise(l.start,"Constructor can't have get/set modifier"),o&&n.raise(l.start,"Constructor can't be a generator"),a.kind="constructor",i=!0)}if(n.parseClassMethod(r,a,o),u){var p="get"===a.kind?0:1;if(a.value.params.length!==p){var d=a.value.start;"get"===a.kind?n.raiseRecoverable(d,"getter should have no params"):n.raiseRecoverable(d,"setter should have exactly one param")}"set"===a.kind&&"RestElement"===a.value.params[0].type&&n.raise(a.value.params[0].start,"Setter cannot use rest params")}}return e.body=this.finishNode(r,"ClassBody"),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},U.parseClassMethod=function(e,t,n){t.value=this.parseMethod(n),e.body.push(this.finishNode(t,"MethodDefinition"))},U.parseClassId=function(e,t){e.id=this.type===j.name?this.parseIdent():t?this.unexpected():null},U.parseClassSuper=function(e){e.superClass=this.eat(j._extends)?this.parseExprSubscripts():null},U.parseExport=function(e){var t=this;if(this.next(),this.eat(j.star))return this.expectContextual("from"),e.source=this.type===j.string?this.parseExprAtom():this.unexpected(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration");if(this.eat(j._default)){var n=this.type==j.parenL,r=this.parseMaybeAssign(),i=!0;return n||"FunctionExpression"!=r.type&&"ClassExpression"!=r.type||(i=!1,r.id&&(r.type="FunctionExpression"==r.type?"FunctionDeclaration":"ClassDeclaration")),e.declaration=r,i&&this.semicolon(),this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())e.declaration=this.parseStatement(!0),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(),this.eatContextual("from"))e.source=this.type===j.string?this.parseExprAtom():this.unexpected();else{for(var a=0;a<e.specifiers.length;a++)(t.keywords.test(e.specifiers[a].local.name)||t.reservedWords.test(e.specifiers[a].local.name))&&t.unexpected(e.specifiers[a].local.start);e.source=null}this.semicolon()}return this.finishNode(e,"ExportNamedDeclaration")},U.shouldParseExportStatement=function(){return this.type.keyword||this.isLet()},U.parseExportSpecifiers=function(){var e=this,t=[],n=!0;for(this.expect(j.braceL);!this.eat(j.braceR);){if(n)n=!1;else if(e.expect(j.comma),e.afterTrailingComma(j.braceR))break;var r=e.startNode();r.local=e.parseIdent(e.type===j._default),r.exported=e.eatContextual("as")?e.parseIdent(!0):r.local,t.push(e.finishNode(r,"ExportSpecifier"))}return t},U.parseImport=function(e){return this.next(),this.type===j.string?(e.specifiers=J,e.source=this.parseExprAtom()):(e.specifiers=this.parseImportSpecifiers(),this.expectContextual("from"),e.source=this.type===j.string?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(e,"ImportDeclaration")},U.parseImportSpecifiers=function(){var e=this,t=[],n=!0;if(this.type===j.name){var r=this.startNode();if(r.local=this.parseIdent(),this.checkLVal(r.local,!0),t.push(this.finishNode(r,"ImportDefaultSpecifier")),!this.eat(j.comma))return t}if(this.type===j.star){var i=this.startNode();return this.next(),this.expectContextual("as"),i.local=this.parseIdent(),this.checkLVal(i.local,!0),t.push(this.finishNode(i,"ImportNamespaceSpecifier")),t}for(this.expect(j.braceL);!this.eat(j.braceR);){if(n)n=!1;else if(e.expect(j.comma),e.afterTrailingComma(j.braceR))break;var a=e.startNode();a.imported=e.parseIdent(!0),e.eatContextual("as")?a.local=e.parseIdent():(a.local=a.imported,e.isKeyword(a.local.name)&&e.unexpected(a.local.start),e.reservedWordsStrict.test(a.local.name)&&e.raise(a.local.start,"The keyword '"+a.local.name+"' is reserved")),e.checkLVal(a.local,!0),t.push(e.finishNode(a,"ImportSpecifier"))}return t};var K=R.prototype;K.toAssignable=function(e,t){var n=this;if(this.options.ecmaVersion>=6&&e)switch(e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":break;case"ObjectExpression":e.type="ObjectPattern";for(var r=0;r<e.properties.length;r++){var i=e.properties[r];"init"!==i.kind&&n.raise(i.key.start,"Object pattern can't contain getter or setter"),n.toAssignable(i.value,t)}break;case"ArrayExpression":e.type="ArrayPattern",this.toAssignableList(e.elements,t);break;case"AssignmentExpression":if("="!==e.operator){this.raise(e.left.end,"Only '=' operator can be used for specifying default value.");break}e.type="AssignmentPattern",delete e.operator;case"AssignmentPattern":"YieldExpression"===e.right.type&&this.raise(e.right.start,"Yield expression cannot be a default value");break;case"ParenthesizedExpression":e.expression=this.toAssignable(e.expression,t);break;case"MemberExpression":if(!t)break;default:this.raise(e.start,"Assigning to rvalue")}return e},K.toAssignableList=function(e,t){var n=this,r=e.length;if(r){var i=e[r-1];if(i&&"RestElement"==i.type)--r;else if(i&&"SpreadElement"==i.type){i.type="RestElement";var a=i.argument;this.toAssignable(a,t),"Identifier"!==a.type&&"MemberExpression"!==a.type&&"ArrayPattern"!==a.type&&this.unexpected(a.start),--r}t&&i&&"RestElement"===i.type&&"Identifier"!==i.argument.type&&this.unexpected(i.argument.start)}for(var o=0;r>o;o++){var s=e[o];s&&n.toAssignable(s,t)}return e},K.parseSpread=function(e){var t=this.startNode();return this.next(),t.argument=this.parseMaybeAssign(!1,e),this.finishNode(t,"SpreadElement")},K.parseRest=function(e){var t=this.startNode();return this.next(),e?t.argument=this.type===j.name?this.parseIdent():this.unexpected():t.argument=this.type===j.name||this.type===j.bracketL?this.parseBindingAtom():this.unexpected(),this.finishNode(t,"RestElement")},K.parseBindingAtom=function(){if(this.options.ecmaVersion<6)return this.parseIdent();switch(this.type){case j.name:return this.parseIdent();case j.bracketL:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(j.bracketR,!0,!0),this.finishNode(e,"ArrayPattern");case j.braceL:return this.parseObj(!0);default:this.unexpected()}},K.parseBindingList=function(e,t,n,r){for(var i=this,a=[],o=!0;!this.eat(e);)if(o?o=!1:i.expect(j.comma),t&&i.type===j.comma)a.push(null);else{if(n&&i.afterTrailingComma(e))break;if(i.type===j.ellipsis){var s=i.parseRest(r);i.parseBindingListItem(s),a.push(s),i.type===j.comma&&i.raise(i.start,"Comma is not permitted after the rest element"),i.expect(e);break}var u=i.parseMaybeDefault(i.start,i.startLoc);i.parseBindingListItem(u),a.push(u)}return a},K.parseBindingListItem=function(e){return e},K.parseMaybeDefault=function(e,t,n){if(n=n||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(j.eq))return n;var r=this.startNodeAt(e,t);return r.left=n,r.right=this.parseMaybeAssign(),this.finishNode(r,"AssignmentPattern")},K.checkLVal=function(e,t,n){var r=this;switch(e.type){case"Identifier":this.strict&&this.reservedWordsStrictBind.test(e.name)&&this.raiseRecoverable(e.start,(t?"Binding ":"Assigning to ")+e.name+" in strict mode"),n&&(u(n,e.name)&&this.raiseRecoverable(e.start,"Argument name clash"),n[e.name]=!0);break;case"MemberExpression":t&&this.raiseRecoverable(e.start,(t?"Binding":"Assigning to")+" member expression");break;case"ObjectPattern":for(var i=0;i<e.properties.length;i++)r.checkLVal(e.properties[i].value,t,n);break;case"ArrayPattern":for(var a=0;a<e.elements.length;a++){var o=e.elements[a];o&&r.checkLVal(o,t,n)}break;case"AssignmentPattern":this.checkLVal(e.left,t,n);break;case"RestElement":this.checkLVal(e.argument,t,n);break;case"ParenthesizedExpression":this.checkLVal(e.expression,t,n);break;default:this.raise(e.start,(t?"Binding":"Assigning to")+" rvalue")}};var z=R.prototype;z.checkPropClash=function(e,t){if(!(this.options.ecmaVersion>=6&&(e.computed||e.method||e.shorthand))){var n,r=e.key;switch(r.type){case"Identifier":n=r.name;break;case"Literal":n=String(r.value);break;default:return}var i=e.kind;if(this.options.ecmaVersion>=6)return void("__proto__"===n&&"init"===i&&(t.proto&&this.raiseRecoverable(r.start,"Redefinition of __proto__ property"),t.proto=!0));n="$"+n;var a=t[n];if(a){var o="init"!==i;(!this.strict&&!o||!a[i])&&o^a.init||this.raiseRecoverable(r.start,"Redefinition of property")}else a=t[n]={init:!1,get:!1,set:!1};a[i]=!0}},z.parseExpression=function(e,t){var n=this,r=this.start,i=this.startLoc,a=this.parseMaybeAssign(e,t);if(this.type===j.comma){var o=this.startNodeAt(r,i);for(o.expressions=[a];this.eat(j.comma);)o.expressions.push(n.parseMaybeAssign(e,t));return this.finishNode(o,"SequenceExpression")}return a},z.parseMaybeAssign=function(e,t,n){if(this.inGenerator&&this.isContextual("yield"))return this.parseYield();var r=!1;t||(t=new q,r=!0);var i=this.start,a=this.startLoc;this.type!=j.parenL&&this.type!=j.name||(this.potentialArrowAt=this.start);var o=this.parseMaybeConditional(e,t);if(n&&(o=n.call(this,o,i,a)),this.type.isAssign){this.checkPatternErrors(t,!0),r||q.call(t);var s=this.startNodeAt(i,a);return s.operator=this.value,s.left=this.type===j.eq?this.toAssignable(o):o,t.shorthandAssign=0,this.checkLVal(o),this.next(),s.right=this.parseMaybeAssign(e),this.finishNode(s,"AssignmentExpression")}return r&&this.checkExpressionErrors(t,!0),o},z.parseMaybeConditional=function(e,t){var n=this.start,r=this.startLoc,i=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return i;if(this.eat(j.question)){var a=this.startNodeAt(n,r);return a.test=i,a.consequent=this.parseMaybeAssign(),this.expect(j.colon),a.alternate=this.parseMaybeAssign(e),this.finishNode(a,"ConditionalExpression")}return i},z.parseExprOps=function(e,t){var n=this.start,r=this.startLoc,i=this.parseMaybeUnary(t,!1);return this.checkExpressionErrors(t)?i:this.parseExprOp(i,n,r,-1,e)},z.parseExprOp=function(e,t,n,r,i){var a=this.type.binop;if(null!=a&&(!i||this.type!==j._in)&&a>r){var o=this.type===j.logicalOR||this.type===j.logicalAND,s=this.value;this.next();var u=this.start,l=this.startLoc,p=this.parseExprOp(this.parseMaybeUnary(null,!1),u,l,a,i),d=this.buildBinary(t,n,e,p,s,o);return this.parseExprOp(d,t,n,r,i)}return e},z.buildBinary=function(e,t,n,r,i,a){var o=this.startNodeAt(e,t);return o.left=n,o.operator=i,o.right=r,this.finishNode(o,a?"LogicalExpression":"BinaryExpression");
},z.parseMaybeUnary=function(e,t){var n,r=this,i=this.start,a=this.startLoc;if(this.type.prefix){var o=this.startNode(),s=this.type===j.incDec;o.operator=this.value,o.prefix=!0,this.next(),o.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),s?this.checkLVal(o.argument):this.strict&&"delete"===o.operator&&"Identifier"===o.argument.type?this.raiseRecoverable(o.start,"Deleting local variable in strict mode"):t=!0,n=this.finishNode(o,s?"UpdateExpression":"UnaryExpression")}else{if(n=this.parseExprSubscripts(e),this.checkExpressionErrors(e))return n;for(;this.type.postfix&&!this.canInsertSemicolon();){var u=r.startNodeAt(i,a);u.operator=r.value,u.prefix=!1,u.argument=n,r.checkLVal(n),r.next(),n=r.finishNode(u,"UpdateExpression")}}return!t&&this.eat(j.starstar)?this.buildBinary(i,a,n,this.parseMaybeUnary(null,!1),"**",!1):n},z.parseExprSubscripts=function(e){var t=this.start,n=this.startLoc,r=this.parseExprAtom(e),i="ArrowFunctionExpression"===r.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd);return this.checkExpressionErrors(e)||i?r:this.parseSubscripts(r,t,n)},z.parseSubscripts=function(e,t,n,r){for(var i=this;;)if(i.eat(j.dot)){var a=i.startNodeAt(t,n);a.object=e,a.property=i.parseIdent(!0),a.computed=!1,e=i.finishNode(a,"MemberExpression")}else if(i.eat(j.bracketL)){var o=i.startNodeAt(t,n);o.object=e,o.property=i.parseExpression(),o.computed=!0,i.expect(j.bracketR),e=i.finishNode(o,"MemberExpression")}else if(!r&&i.eat(j.parenL)){var s=i.startNodeAt(t,n);s.callee=e,s.arguments=i.parseExprList(j.parenR,!1),e=i.finishNode(s,"CallExpression")}else{if(i.type!==j.backQuote)return e;var u=i.startNodeAt(t,n);u.tag=e,u.quasi=i.parseTemplate(),e=i.finishNode(u,"TaggedTemplateExpression")}},z.parseExprAtom=function(e){var t,n=this.potentialArrowAt==this.start;switch(this.type){case j._super:this.inFunction||this.raise(this.start,"'super' outside of function or class");case j._this:var r=this.type===j._this?"ThisExpression":"Super";return t=this.startNode(),this.next(),this.finishNode(t,r);case j.name:var i=this.start,a=this.startLoc,o=this.parseIdent(this.type!==j.name);return n&&!this.canInsertSemicolon()&&this.eat(j.arrow)?this.parseArrowExpression(this.startNodeAt(i,a),[o]):o;case j.regexp:var s=this.value;return t=this.parseLiteral(s.value),t.regex={pattern:s.pattern,flags:s.flags},t;case j.num:case j.string:return this.parseLiteral(this.value);case j._null:case j._true:case j._false:return t=this.startNode(),t.value=this.type===j._null?null:this.type===j._true,t.raw=this.type.keyword,this.next(),this.finishNode(t,"Literal");case j.parenL:return this.parseParenAndDistinguishExpression(n);case j.bracketL:return t=this.startNode(),this.next(),t.elements=this.parseExprList(j.bracketR,!0,!0,e),this.finishNode(t,"ArrayExpression");case j.braceL:return this.parseObj(!1,e);case j._function:return t=this.startNode(),this.next(),this.parseFunction(t,!1);case j._class:return this.parseClass(this.startNode(),!1);case j._new:return this.parseNew();case j.backQuote:return this.parseTemplate();default:this.unexpected()}},z.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),this.next(),this.finishNode(t,"Literal")},z.parseParenExpression=function(){this.expect(j.parenL);var e=this.parseExpression();return this.expect(j.parenR),e},z.parseParenAndDistinguishExpression=function(e){var t,n=this,r=this.start,i=this.startLoc;if(this.options.ecmaVersion>=6){this.next();for(var a,o,s=this.start,u=this.startLoc,l=[],p=!0,d=new q;this.type!==j.parenR;){if(p?p=!1:n.expect(j.comma),n.type===j.ellipsis){a=n.start,l.push(n.parseParenItem(n.parseRest()));break}n.type!==j.parenL||o||(o=n.start),l.push(n.parseMaybeAssign(!1,d,n.parseParenItem))}var c=this.start,f=this.startLoc;if(this.expect(j.parenR),e&&!this.canInsertSemicolon()&&this.eat(j.arrow))return this.checkPatternErrors(d,!0),o&&this.unexpected(o),this.parseParenArrowList(r,i,l);l.length||this.unexpected(this.lastTokStart),a&&this.unexpected(a),this.checkExpressionErrors(d,!0),l.length>1?(t=this.startNodeAt(s,u),t.expressions=l,this.finishNodeAt(t,"SequenceExpression",c,f)):t=l[0]}else t=this.parseParenExpression();if(this.options.preserveParens){var y=this.startNodeAt(r,i);return y.expression=t,this.finishNode(y,"ParenthesizedExpression")}return t},z.parseParenItem=function(e){return e},z.parseParenArrowList=function(e,t,n){return this.parseArrowExpression(this.startNodeAt(e,t),n)};var W=[];z.parseNew=function(){var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(j.dot))return e.meta=t,e.property=this.parseIdent(!0),"target"!==e.property.name&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is new.target"),this.inFunction||this.raiseRecoverable(e.start,"new.target can only be used in functions"),this.finishNode(e,"MetaProperty");var n=this.start,r=this.startLoc;return e.callee=this.parseSubscripts(this.parseExprAtom(),n,r,!0),this.eat(j.parenL)?e.arguments=this.parseExprList(j.parenR,!1):e.arguments=W,this.finishNode(e,"NewExpression")},z.parseTemplateElement=function(){var e=this.startNode();return e.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),e.tail=this.type===j.backQuote,this.finishNode(e,"TemplateElement")},z.parseTemplate=function(){var e=this,t=this.startNode();this.next(),t.expressions=[];var n=this.parseTemplateElement();for(t.quasis=[n];!n.tail;)e.expect(j.dollarBraceL),t.expressions.push(e.parseExpression()),e.expect(j.braceR),t.quasis.push(n=e.parseTemplateElement());return this.next(),this.finishNode(t,"TemplateLiteral")},z.parseObj=function(e,t){var n=this,r=this.startNode(),i=!0,a={};for(r.properties=[],this.next();!this.eat(j.braceR);){if(i)i=!1;else if(n.expect(j.comma),n.afterTrailingComma(j.braceR))break;var o,s,u,l=n.startNode();n.options.ecmaVersion>=6&&(l.method=!1,l.shorthand=!1,(e||t)&&(s=n.start,u=n.startLoc),e||(o=n.eat(j.star))),n.parsePropertyName(l),n.parsePropertyValue(l,e,o,s,u,t),n.checkPropClash(l,a),r.properties.push(n.finishNode(l,"Property"))}return this.finishNode(r,e?"ObjectPattern":"ObjectExpression")},z.parsePropertyValue=function(e,t,n,r,i,a){if(this.eat(j.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,a),e.kind="init";else if(this.options.ecmaVersion>=6&&this.type===j.parenL)t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(n);else if(this.options.ecmaVersion>=5&&!e.computed&&"Identifier"===e.key.type&&("get"===e.key.name||"set"===e.key.name)&&this.type!=j.comma&&this.type!=j.braceR){(n||t)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var o="get"===e.kind?0:1;if(e.value.params.length!==o){var s=e.value.start;"get"===e.kind?this.raiseRecoverable(s,"getter should have no params"):this.raiseRecoverable(s,"setter should have exactly one param")}"set"===e.kind&&"RestElement"===e.value.params[0].type&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}else this.options.ecmaVersion>=6&&!e.computed&&"Identifier"===e.key.type?((this.keywords.test(e.key.name)||(this.strict?this.reservedWordsStrictBind:this.reservedWords).test(e.key.name)||this.inGenerator&&"yield"==e.key.name)&&this.raiseRecoverable(e.key.start,"'"+e.key.name+"' can not be used as shorthand property"),e.kind="init",t?e.value=this.parseMaybeDefault(r,i,e.key):this.type===j.eq&&a?(a.shorthandAssign||(a.shorthandAssign=this.start),e.value=this.parseMaybeDefault(r,i,e.key)):e.value=e.key,e.shorthand=!0):this.unexpected()},z.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(j.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(j.bracketR),e.key;e.computed=!1}return e.key=this.type===j.num||this.type===j.string?this.parseExprAtom():this.parseIdent(!0)},z.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=!1,e.expression=!1)},z.parseMethod=function(e){var t=this.startNode(),n=this.inGenerator;return this.inGenerator=e,this.initFunction(t),this.expect(j.parenL),t.params=this.parseBindingList(j.parenR,!1,!1),this.options.ecmaVersion>=6&&(t.generator=e),this.parseFunctionBody(t,!1),this.inGenerator=n,this.finishNode(t,"FunctionExpression")},z.parseArrowExpression=function(e,t){var n=this.inGenerator;return this.inGenerator=!1,this.initFunction(e),e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0),this.inGenerator=n,this.finishNode(e,"ArrowFunctionExpression")},z.parseFunctionBody=function(e,t){var n=t&&this.type!==j.braceL;if(n)e.body=this.parseMaybeAssign(),e.expression=!0;else{var r=this.inFunction,i=this.labels;this.inFunction=!0,this.labels=[],e.body=this.parseBlock(!0),e.expression=!1,this.inFunction=r,this.labels=i}var a=!n&&e.body.body.length&&this.isUseStrict(e.body.body[0])?e.body.body[0]:null;if(this.strict||a){var o=this.strict;this.strict=!0,e.id&&this.checkLVal(e.id,!0),this.checkParams(e,a),this.strict=o}else t&&this.checkParams(e,a)},z.checkParams=function(e,t){for(var n=this,r={},i=0;i<e.params.length;i++)t&&n.options.ecmaVersion>=7&&"Identifier"!==e.params[i].type&&n.raiseRecoverable(t.start,"Illegal 'use strict' directive in function with non-simple parameter list"),n.checkLVal(e.params[i],!0,r)},z.parseExprList=function(e,t,n,r){for(var i=this,a=[],o=!0;!this.eat(e);){if(o)o=!1;else if(i.expect(j.comma),t&&i.afterTrailingComma(e))break;var s;n&&i.type===j.comma?s=null:i.type===j.ellipsis?(s=i.parseSpread(r),i.type===j.comma&&r&&!r.trailingComma&&(r.trailingComma=i.lastTokStart)):s=i.parseMaybeAssign(!1,r),a.push(s)}return a},z.parseIdent=function(e){var t=this.startNode();return e&&"never"==this.options.allowReserved&&(e=!1),this.type===j.name?(!e&&(this.strict?this.reservedWordsStrict:this.reservedWords).test(this.value)&&(this.options.ecmaVersion>=6||-1==this.input.slice(this.start,this.end).indexOf("\\"))&&this.raiseRecoverable(this.start,"The keyword '"+this.value+"' is reserved"),!e&&this.inGenerator&&"yield"===this.value&&this.raiseRecoverable(this.start,"Can not use 'yield' as identifier inside a generator"),t.name=this.value):e&&this.type.keyword?t.name=this.type.keyword:this.unexpected(),this.next(),this.finishNode(t,"Identifier")},z.parseYield=function(){var e=this.startNode();return this.next(),this.type==j.semi||this.canInsertSemicolon()||this.type!=j.star&&!this.type.startsExpr?(e.delegate=!1,e.argument=null):(e.delegate=this.eat(j.star),e.argument=this.parseMaybeAssign()),this.finishNode(e,"YieldExpression")};var Y=R.prototype;Y.raise=function(e,t){var n=l(this.input,e);t+=" ("+n.line+":"+n.column+")";var r=new SyntaxError(t);throw r.pos=e,r.loc=n,r.raisedAt=this.pos,r},Y.raiseRecoverable=Y.raise,Y.curPosition=function(){return this.options.locations?new I(this.curLine,this.pos-this.lineStart):void 0};var X=function(e,t,n){this.type="",this.start=t,this.end=0,e.options.locations&&(this.loc=new B(e,n)),e.options.directSourceFile&&(this.sourceFile=e.options.directSourceFile),e.options.ranges&&(this.range=[t,0])},Z=R.prototype;Z.startNode=function(){return new X(this,this.start,this.startLoc)},Z.startNodeAt=function(e,t){return new X(this,e,t)},Z.finishNode=function(e,t){return f.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},Z.finishNodeAt=function(e,t,n,r){return f.call(this,e,t,n,r)};var ee=function(e,t,n,r){this.token=e,this.isExpr=!!t,this.preserveSpace=!!n,this.override=r},te={b_stat:new ee("{",!1),b_expr:new ee("{",!0),b_tmpl:new ee("${",!0),p_stat:new ee("(",!1),p_expr:new ee("(",!0),q_tmpl:new ee("`",!0,!0,function(e){return e.readTmplToken()}),f_expr:new ee("function",!0)},ne=R.prototype;ne.initialContext=function(){return[te.b_stat]},ne.braceIsBlock=function(e){if(e===j.colon){var t=this.curContext();if(t===te.b_stat||t===te.b_expr)return!t.isExpr}return e===j._return?D.test(this.input.slice(this.lastTokEnd,this.start)):e===j._else||e===j.semi||e===j.eof||e===j.parenR?!0:e==j.braceL?this.curContext()===te.b_stat:!this.exprAllowed},ne.updateContext=function(e){var t,n=this.type;n.keyword&&e==j.dot?this.exprAllowed=!1:(t=n.updateContext)?t.call(this,e):this.exprAllowed=n.beforeExpr},j.parenR.updateContext=j.braceR.updateContext=function(){if(1==this.context.length)return void(this.exprAllowed=!0);var e=this.context.pop();e===te.b_stat&&this.curContext()===te.f_expr?(this.context.pop(),this.exprAllowed=!1):e===te.b_tmpl?this.exprAllowed=!0:this.exprAllowed=!e.isExpr},j.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?te.b_stat:te.b_expr),this.exprAllowed=!0},j.dollarBraceL.updateContext=function(){this.context.push(te.b_tmpl),this.exprAllowed=!0},j.parenL.updateContext=function(e){var t=e===j._if||e===j._for||e===j._with||e===j._while;this.context.push(t?te.p_stat:te.p_expr),this.exprAllowed=!0},j.incDec.updateContext=function(){},j._function.updateContext=function(e){e.beforeExpr&&e!==j.semi&&e!==j._else&&(e!==j.colon&&e!==j.braceL||this.curContext()!==te.b_stat)&&this.context.push(te.f_expr),this.exprAllowed=!1},j.backQuote.updateContext=function(){this.curContext()===te.q_tmpl?this.context.pop():this.context.push(te.q_tmpl),this.exprAllowed=!1};var re=function(e){this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,e.options.locations&&(this.loc=new B(e,e.startLoc,e.endLoc)),e.options.ranges&&(this.range=[e.start,e.end])},ie=R.prototype,ae="object"==typeof Packages&&"[object JavaPackage]"==Object.prototype.toString.call(Packages);ie.next=function(){this.options.onToken&&this.options.onToken(new re(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},ie.getToken=function(){return this.next(),new re(this)},"undefined"!=typeof Symbol&&(ie[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===j.eof,value:t}}}}),ie.setStrict=function(e){var t=this;if(this.strict=e,this.type===j.num||this.type===j.string){if(this.pos=this.start,this.options.locations)for(;this.pos<this.lineStart;)t.lineStart=t.input.lastIndexOf("\n",t.lineStart-2)+1,--t.curLine;this.nextToken()}},ie.curContext=function(){return this.context[this.context.length-1]},ie.nextToken=function(){var e=this.curContext();return e&&e.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(j.eof):e.override?e.override(this):void this.readToken(this.fullCharCodeAtPos())},ie.readToken=function(e){return n(e,this.options.ecmaVersion>=6)||92===e?this.readWord():this.getTokenFromCode(e)},ie.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(55295>=e||e>=57344)return e;var t=this.input.charCodeAt(this.pos+1);return(e<<10)+t-56613888},ie.skipBlockComment=function(){var e=this,t=this.options.onComment&&this.curPosition(),n=this.pos,r=this.input.indexOf("*/",this.pos+=2);if(-1===r&&this.raise(this.pos-2,"Unterminated comment"),this.pos=r+2,this.options.locations){G.lastIndex=n;for(var i;(i=G.exec(this.input))&&i.index<this.pos;)++e.curLine,e.lineStart=i.index+i[0].length}this.options.onComment&&this.options.onComment(!0,this.input.slice(n+2,r),n,this.pos,t,this.curPosition())},ie.skipLineComment=function(e){for(var t=this,n=this.pos,r=this.options.onComment&&this.curPosition(),i=this.input.charCodeAt(this.pos+=e);this.pos<this.input.length&&10!==i&&13!==i&&8232!==i&&8233!==i;)++t.pos,i=t.input.charCodeAt(t.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(n+e,this.pos),n,this.pos,r,this.curPosition())},ie.skipSpace=function(){var e=this;e:for(;this.pos<this.input.length;){var t=e.input.charCodeAt(e.pos);switch(t){case 32:case 160:++e.pos;break;case 13:10===e.input.charCodeAt(e.pos+1)&&++e.pos;case 10:case 8232:case 8233:++e.pos,e.options.locations&&(++e.curLine,e.lineStart=e.pos);break;case 47:switch(e.input.charCodeAt(e.pos+1)){case 42:e.skipBlockComment();break;case 47:e.skipLineComment(2);break;default:break e}break;default:if(!(t>8&&14>t||t>=5760&&V.test(String.fromCharCode(t))))break e;++e.pos}}},ie.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var n=this.type;this.type=e,this.value=t,this.updateContext(n)},ie.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&57>=e)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===e&&46===t?(this.pos+=3,this.finishToken(j.ellipsis)):(++this.pos,this.finishToken(j.dot))},ie.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===e?this.finishOp(j.assign,2):this.finishOp(j.slash,1)},ie.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),n=1,r=42===e?j.star:j.modulo;return this.options.ecmaVersion>=7&&42===t&&(++n,r=j.starstar,t=this.input.charCodeAt(this.pos+2)),61===t?this.finishOp(j.assign,n+1):this.finishOp(r,n)},ie.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?this.finishOp(124===e?j.logicalOR:j.logicalAND,2):61===t?this.finishOp(j.assign,2):this.finishOp(124===e?j.bitwiseOR:j.bitwiseAND,1)},ie.readToken_caret=function(){var e=this.input.charCodeAt(this.pos+1);return 61===e?this.finishOp(j.assign,2):this.finishOp(j.bitwiseXOR,1)},ie.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?45==t&&62==this.input.charCodeAt(this.pos+2)&&D.test(this.input.slice(this.lastTokEnd,this.pos))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(j.incDec,2):61===t?this.finishOp(j.assign,2):this.finishOp(j.plusMin,1)},ie.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),n=1;return t===e?(n=62===e&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+n)?this.finishOp(j.assign,n+1):this.finishOp(j.bitShift,n)):33==t&&60==e&&45==this.input.charCodeAt(this.pos+2)&&45==this.input.charCodeAt(this.pos+3)?(this.inModule&&this.unexpected(),this.skipLineComment(4),this.skipSpace(),this.nextToken()):(61===t&&(n=2),this.finishOp(j.relational,n))},ie.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return 61===t?this.finishOp(j.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===e&&62===t&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(j.arrow)):this.finishOp(61===e?j.eq:j.prefix,1)},ie.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(j.parenL);case 41:return++this.pos,this.finishToken(j.parenR);case 59:return++this.pos,this.finishToken(j.semi);case 44:return++this.pos,this.finishToken(j.comma);case 91:return++this.pos,this.finishToken(j.bracketL);case 93:return++this.pos,this.finishToken(j.bracketR);case 123:return++this.pos,this.finishToken(j.braceL);case 125:return++this.pos,this.finishToken(j.braceR);case 58:return++this.pos,this.finishToken(j.colon);case 63:return++this.pos,this.finishToken(j.question);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(j.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(120===t||88===t)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===t||79===t)return this.readRadixNumber(8);if(98===t||66===t)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 126:return this.finishOp(j.prefix,1)}this.raise(this.pos,"Unexpected character '"+h(e)+"'")},ie.finishOp=function(e,t){var n=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,n)};var oe=!!y("￿","u");ie.readRegexp=function(){for(var e,t,n=this,r=this.pos;;){n.pos>=n.input.length&&n.raise(r,"Unterminated regular expression");var i=n.input.charAt(n.pos);if(D.test(i)&&n.raise(r,"Unterminated regular expression"),e)e=!1;else{if("["===i)t=!0;else if("]"===i&&t)t=!1;else if("/"===i&&!t)break;e="\\"===i}++n.pos}var a=this.input.slice(r,this.pos);++this.pos;var o=this.readWord1(),s=a,u="";if(o){var l=/^[gim]*$/;this.options.ecmaVersion>=6&&(l=/^[gimuy]*$/),l.test(o)||this.raise(r,"Invalid regular expression flag"),o.indexOf("u")>=0&&(oe?u="u":(s=s.replace(/\\u\{([0-9a-fA-F]+)\}/g,function(e,t,i){return t=Number("0x"+t),t>1114111&&n.raise(r+i+3,"Code point out of bounds"),"x"}),s=s.replace(/\\u([a-fA-F0-9]{4})|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"),u=u.replace("u","")))}var p=null;return ae||(y(s,u,r,this),p=y(a,o)),this.finishToken(j.regexp,{pattern:a,flags:o,value:p})},ie.readInt=function(e,t){for(var n=this,r=this.pos,i=0,a=0,o=null==t?1/0:t;o>a;++a){var s,u=n.input.charCodeAt(n.pos);if(s=u>=97?u-97+10:u>=65?u-65+10:u>=48&&57>=u?u-48:1/0,s>=e)break;++n.pos,i=i*e+s}return this.pos===r||null!=t&&this.pos-r!==t?null:i},ie.readRadixNumber=function(e){this.pos+=2;var t=this.readInt(e);return null==t&&this.raise(this.start+2,"Expected number in radix "+e),n(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(j.num,t)},ie.readNumber=function(e){var t=this.pos,r=!1,i=48===this.input.charCodeAt(this.pos);e||null!==this.readInt(10)||this.raise(t,"Invalid number");var a=this.input.charCodeAt(this.pos);46===a&&(++this.pos,this.readInt(10),r=!0,a=this.input.charCodeAt(this.pos)),69!==a&&101!==a||(a=this.input.charCodeAt(++this.pos),43!==a&&45!==a||++this.pos,null===this.readInt(10)&&this.raise(t,"Invalid number"),r=!0),n(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var o,s=this.input.slice(t,this.pos);return r?o=parseFloat(s):i&&1!==s.length?/[89]/.test(s)||this.strict?this.raise(t,"Invalid number"):o=parseInt(s,8):o=parseInt(s,10),this.finishToken(j.num,o)},ie.readCodePoint=function(){var e,t=this.input.charCodeAt(this.pos);if(123===t){this.options.ecmaVersion<6&&this.unexpected();var n=++this.pos;e=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,e>1114111&&this.raise(n,"Code point out of bounds")}else e=this.readHexChar(4);return e},ie.readString=function(e){for(var t=this,n="",r=++this.pos;;){t.pos>=t.input.length&&t.raise(t.start,"Unterminated string constant");var i=t.input.charCodeAt(t.pos);if(i===e)break;92===i?(n+=t.input.slice(r,t.pos),n+=t.readEscapedChar(!1),r=t.pos):(o(i)&&t.raise(t.start,"Unterminated string constant"),++t.pos)}return n+=this.input.slice(r,this.pos++),this.finishToken(j.string,n)},ie.readTmplToken=function(){for(var e=this,t="",n=this.pos;;){e.pos>=e.input.length&&e.raise(e.start,"Unterminated template");var r=e.input.charCodeAt(e.pos);if(96===r||36===r&&123===e.input.charCodeAt(e.pos+1))return e.pos===e.start&&e.type===j.template?36===r?(e.pos+=2,e.finishToken(j.dollarBraceL)):(++e.pos,e.finishToken(j.backQuote)):(t+=e.input.slice(n,e.pos),e.finishToken(j.template,t));if(92===r)t+=e.input.slice(n,e.pos),t+=e.readEscapedChar(!0),n=e.pos;else if(o(r)){switch(t+=e.input.slice(n,e.pos),++e.pos,r){case 13:10===e.input.charCodeAt(e.pos)&&++e.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(r)}e.options.locations&&(++e.curLine,e.lineStart=e.pos),n=e.pos}else++e.pos}},ie.readEscapedChar=function(e){var t=this.input.charCodeAt(++this.pos);switch(++this.pos,t){case 110:return"\n";case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return h(this.readCodePoint());case 116:return"	";case 98:return"\b";case 118:return"\x0B";case 102:return"\f";case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),"";default:if(t>=48&&55>=t){var n=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(n,8);return r>255&&(n=n.slice(0,-1),r=parseInt(n,8)),"0"!==n&&(this.strict||e)&&this.raise(this.pos-2,"Octal literal in strict mode"),this.pos+=n.length-1,String.fromCharCode(r)}return String.fromCharCode(t)}},ie.readHexChar=function(e){var t=this.pos,n=this.readInt(16,e);return null===n&&this.raise(t,"Bad character escape sequence"),n},ie.readWord1=function(){var e=this;this.containsEsc=!1;for(var t="",i=!0,a=this.pos,o=this.options.ecmaVersion>=6;this.pos<this.input.length;){var s=e.fullCharCodeAtPos();if(r(s,o))e.pos+=65535>=s?1:2;else{if(92!==s)break;e.containsEsc=!0,t+=e.input.slice(a,e.pos);var u=e.pos;117!=e.input.charCodeAt(++e.pos)&&e.raise(e.pos,"Expecting Unicode escape sequence \\uXXXX"),++e.pos;var l=e.readCodePoint();(i?n:r)(l,o)||e.raise(u,"Invalid Unicode escape"),t+=h(l),a=e.pos}i=!1}return t+this.input.slice(a,this.pos)},ie.readWord=function(){var e=this.readWord1(),t=j.name;return(this.options.ecmaVersion>=6||!this.containsEsc)&&this.keywords.test(e)&&(t=O[e]),this.finishToken(t,e)};var se="3.3.0";e.version=se,e.parse=m,e.parseExpressionAt=g,e.tokenizer=v,e.Parser=R,e.plugins=L,e.defaultOptions=$,e.Position=I,e.SourceLocation=B,e.getLineInfo=l,e.Node=X,e.TokenType=M,e.tokTypes=j,e.TokContext=ee,e.tokContexts=te,e.isIdentifierChar=r,e.isIdentifierStart=n,e.Token=re,e.isNewLine=o,e.lineBreak=D,e.lineBreakG=G,Object.defineProperty(e,"__esModule",{value:!0})})},{}],2:[function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty,i=Object.prototype.toString,a=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===i.call(e)},o=function(e){if(!e||"[object Object]"!==i.call(e))return!1;var t=r.call(e,"constructor"),n=e.constructor&&e.constructor.prototype&&r.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!t&&!n)return!1;var a;for(a in e);return"undefined"==typeof a||r.call(e,a)};t.exports=function s(){var e,t,n,r,i,u,l=arguments[0],p=1,d=arguments.length,c=!1;for("boolean"==typeof l?(c=l,l=arguments[1]||{},p=2):("object"!=typeof l&&"function"!=typeof l||null==l)&&(l={});d>p;++p)if(e=arguments[p],null!=e)for(t in e)n=l[t],r=e[t],l!==r&&(c&&r&&(o(r)||(i=a(r)))?(i?(i=!1,u=n&&a(n)?n:[]):u=n&&o(n)?n:{},l[t]=s(c,u,r)):"undefined"!=typeof r&&(l[t]=r));return l}},{}],3:[function(e,t,n){"use strict";var r=function(){function e(){this.includes=[],this.annotations=[],this.processedAnnotations={"Org.OData.Core.V1.Computed":function(e,t){if(t.definition&&e.property&&t.definition[e.property]){var n=t.definition[e.property];"true"===e.annotation.bool&&(n.required&&delete n.required,n.computed=!0)}},"Org.OData.Core.V1.OptimisticConcurrency":function(e,t){t.definition&&Array.isArray(e.annotation.propertyPaths)&&e.annotation.propertyPaths.forEach(function(e){var n=t.definition[e];n&&(n.concurrencyMode="fixed")})}}}return e.prototype.addInclude=function(e){this.includes.push(e)},e.prototype.processEntityPropertyAnnotations=function(e,t,n,r){var i=this;void 0===r&&(r=!1),n.forEach(function(n){i.annotations.push({typeName:e,property:t,annotation:n,isStatic:r})})},e.prototype.processEntityAnnotations=function(e,t,n){return void 0===n&&(n=!1),this.processEntitySetAnnotations(e,t,n)},e.prototype.processEntitySetAnnotations=function(e,t,n){var r=this;void 0===n&&(n=!1),t.forEach(function(t){var i=t.path;r.annotations.push({typeName:e,property:i,annotation:t,isStatic:n})})},e.prototype.processSchemaAnnotations=function(e,t,n,r){var i=this;void 0===r&&(r=!1),t.forEach(function(t){var a=e.split("/"),o=a[0],s=a[1];i.annotations.push({typeName:o,property:s,annotation:t,qualifier:n,isStatic:r})})},e.prototype.preProcessAnnotation=function(e){var t=this;this.annotations.forEach(function(n){if(n.typeName===e.typeName){var r=(n.property,n.annotation),i=t.resolveAnnotationTypeAlias(r.term);r.qualifier&&(i=r.qualifier+":"+i),n.qualifier&&(i=n.qualifier+":"+i),"function"==typeof t.processedAnnotations[i]&&t.processedAnnotations[i](n,e)}})},e.prototype.addAnnotation=function(e){var t=this;this.annotations.forEach(function(n){if(e.fullName===n.typeName){var r=n.property,i=n.annotation,a=void 0,o="value"+i.annotationType;o in t&&"function"==typeof t[o]&&(a=t[o](i));var s=t.resolveAnnotationTypeAlias(i.term);i.qualifier&&(s=i.qualifier+":"+s),n.qualifier&&(s=n.qualifier+":"+s),"undefined"!=typeof Reflect&&"function"==typeof Reflect.defineMetadata&&(r?Reflect.defineMetadata(s,a,n.isStatic?e:e.prototype,r):Reflect.defineMetadata(s,a,n.isStatic?e:e.prototype))}})},e.prototype.annotationsText=function(){var e=this,t='if (typeof Reflect !== "undefined" && typeof Reflect.defineMetadata === "function") {\n';return this.annotations.forEach(function(n){var r=n.property,i=n.annotation,a=void 0,o="value"+i.annotationType;o in e&&"function"==typeof e[o]&&(a=e[o](i));var s=e.resolveAnnotationTypeAlias(i.term);i.qualifier&&(s=i.qualifier+":"+s),n.qualifier&&(s=n.qualifier+":"+s);var u='types["'+n.typeName+'"]'+(n.isStatic?"":".prototype");t+=r?'  Reflect.defineMetadata("'+s+'", '+JSON.stringify(a)+", "+u+', "'+r+'")\n':'  Reflect.defineMetadata("'+s+'", '+JSON.stringify(a)+", "+u+")\n"}),t+="}\n\n"},e.prototype.resolveAnnotationTypeAlias=function(e){for(var t=0;t<this.includes.length;t++){var n=this.includes[t];if(0===e.indexOf(n.alias+"."))return n.namespace+e.substr(n.alias.length)}return e},e.prototype.valueUnknown=function(e){},e.prototype.valueBinary=function(e){return e.binary},e.prototype.valueBool=function(e){return e.bool},e.prototype.valueDate=function(e){return e.date},e.prototype.valueDateTimeOffset=function(e){return e.dateTimeOffset},e.prototype.valueDecimal=function(e){return e.decimal},e.prototype.valueDuration=function(e){return e.duration},e.prototype.valueEnumMember=function(e){return e.enumMember},e.prototype.valueFloat=function(e){return e["float"]},e.prototype.valueGuid=function(e){return e.guid},e.prototype.valueInt=function(e){return e["int"]},e.prototype.valueString=function(e){return e.string},e.prototype.valueTimeOfDay=function(e){return e.timeOfDay},e.prototype.valuePropertyPath=function(e){return e.propertyPaths},e.prototype.valueNavigationPropertyPath=function(e){return e.navigationPropertyPaths},e.prototype.valueAnnotationPath=function(e){return e.annotationPaths},e.prototype.valueNull=function(e){return null},e}();n.Annotations=r},{}],4:[function(e,t,n){"use strict";var r=function(){function e(){}return e.src="declare module $data{\r\n    class Geography{}\r\n    class GeographyLineString{}\r\n    class GeographyPolygon{}\r\n    class GeographyMultiPoint{}\r\n    class GeographyMultiPolygon{}\r\n    class GeographyMultiLineString{}\r\n    class GeographyCollection{}\r\n\r\n    class Geometry{}\r\n    class GeometryLineString{}\r\n    class GeometryPolygon{}\r\n    class GeometryMultiPoint{}\r\n    class GeometryMultiPolygon{}\r\n    class GeometryMultiLineString{}\r\n    class GeometryCollection{}\r\n    \r\n    const enum EntityState{\r\n        Detached = 0,\r\n        Unchanged = 10,\r\n        Added = 20,\r\n        Modified = 30,\r\n        Deleted = 40\r\n    }\r\n    \r\n    interface MemberDefinition{\r\n        name: string;\r\n        type: any;\r\n        dataType: any;\r\n        elementType: any;\r\n        originalType: any;\r\n        kind: string;\r\n        classMember: boolean;\r\n        set: (value:any) => void;\r\n        get: () => any;\r\n        value: any;\r\n        initialValue: any;\r\n        method: Function;\r\n        enumerable: boolean;\r\n        configurable: boolean;\r\n        key: boolean;\r\n        computed: boolean;\r\n        storeOnObject: boolean;\r\n        monitorChanges: boolean;\r\n    }\r\n    \r\n    interface Event{\r\n        attach(eventHandler: (sender: any, event: any) => void ): void;\r\n        detach(eventHandler: () => void ): void;\r\n        fire(e: any, sender: any): void;\r\n    }\r\n\r\n    class Base<T>{\r\n        constructor();\r\n        getType: () => typeof Base;\r\n        \r\n        static addProperty(name:string, getterOrType:string | Function, setterOrGetter?:Function, setter?:Function): void;\r\n        static addMember(name:string, definition:any, isClassMember?:boolean): void;\r\n        static describeField(name:string, definition:any): void;\r\n        \r\n        static hasMetadata(key:string, property?:string): boolean;\r\n        static getAllMetadata(property?:string): any;\r\n        static getMetadata(key:string, property?:string): any;\r\n        static setMetadata(key:string, value:any, property?:string): void;\r\n    }\r\n    \r\n    class Enum extends Base<Enum>{\r\n        static extend(name:string, instanceDefinition:any, classDefinition?:any): Base<Enum>;\r\n    }\r\n    function createEnum(name:string, enumType:any, enumDefinition?:any): Base<Enum>;\r\n    \r\n    class Entity extends Base<Entity>{\r\n        static extend(name:string, instanceDefinition:any, classDefinition?:any): Base<Entity>;\r\n        \r\n        entityState: EntityState;\r\n        changedProperties: MemberDefinition[];\r\n        \r\n        propertyChanging: Event;\r\n        propertyChanged: Event;\r\n        propertyValidationError: Event;\r\n        isValid: boolean;\r\n    }\r\n    \r\n    class EntitySet<Ttype extends typeof Entity, T extends Entity> extends Queryable<T>{\r\n        add(item: T): T;\r\n        add(initData: {}): T;\r\n        attach(item: T): void;\r\n        attach(item: {}): void;\r\n        attachOrGet(item: T): T;\r\n        attachOrGet(item: {}): T;\r\n        detach(item: T): void;\r\n        detach(item: {}): void;\r\n        remove(item: T): void;\r\n        remove(item: {}): void;\r\n        elementType: Ttype;\r\n    }\r\n    \r\n    class EntityContext extends Base<EntityContext>{\r\n        constructor(config?: any);\r\n        onReady(): Promise<EntityContext>;\r\n        saveChanges(): Promise<number>;\r\n        static extend(name:string, instanceDefinition:any, classDefinition?:any): Base<EntityContext>;\r\n    }\r\n\r\n    class Queryable<T extends Entity | Edm.Primitive>{\r\n        filter(predicate: (it: T) => boolean, thisArg?: any): Queryable<T>;\r\n        filter(predicate: string, thisArg?: any): Queryable<T>;\r\n        map(projection: (it: T) => any): Queryable<any>;\r\n        map(projection: string): Queryable<any>;\r\n        orderBy(predicate: (it: T) => void): Queryable<T>;\r\n        orderBy(predicate: string): Queryable<T>;\r\n        orderByDescending(predicate: (it: T) => void): Queryable<T>;\r\n        orderByDescending(predicate: string): Queryable<T>;\r\n        include(selector: string): Queryable<T>;\r\n        skip(amount: number): Queryable<T>;\r\n        take(amount: number): Queryable<T>;\r\n        forEach(handler: (it: T) => void): Promise<T>;\r\n        length(): Promise<number>;\r\n        toArray(): Promise<T[]>;\r\n        single(predicate: (it: T) => boolean, params?: any): Promise<T>;\r\n        single(predicate: string, params?: any): Promise<T>;\r\n        first(predicate?: (it: T) => boolean, params?: any): Promise<T>;\r\n        first(predicate?: string, params?: any): Promise<T>;\r\n        removeAll(): Promise<number>;\r\n    }\r\n    class ServiceAction{}\r\n    class ServiceFunction{}\r\n    \r\n    function implementation(name:string): typeof Base;\r\n}\r\n\r\ndeclare module Edm {\r\n    type Boolean = boolean;\r\n    type Binary = Uint8Array;\r\n    type DateTime = Date;\r\n    type DateTimeOffset = Date;\r\n    type Duration = string;\r\n    type TimeOfDay = string;\r\n    type Date = string;\r\n    type Time = string;\r\n    type Decimal = string;\r\n    type Single = number;\r\n    type Float = number;\r\n    type Double = number;\r\n    type Guid = string;\r\n    type Int16 = number;\r\n    type Int32 = number;\r\n    type Int64 = string;\r\n    type Byte = number;\r\n    type SByte = number;\r\n    type String = string;\r\n    type GeographyPoint = $data.Geography;\r\n    type GeographyLineString = $data.GeographyLineString;\r\n    type GeographyPolygon = $data.GeographyPolygon;\r\n    type GeographyMultiPoint = $data.GeographyMultiPoint;\r\n    type GeographyMultiPolygon = $data.GeographyMultiPolygon;\r\n    type GeographyMultiLineString = $data.GeographyMultiLineString;\r\n    type GeographyCollection = $data.GeographyCollection;\r\n    type GeometryPoint = $data.Geometry;\r\n    type GeometryLineString = $data.GeometryLineString;\r\n    type GeometryPolygon = $data.GeometryPolygon;\r\n    type GeometryMultiPoint = $data.GeometryMultiPoint;\r\n    type GeometryMultiPolygon = $data.GeometryMultiPolygon;\r\n    type GeometryMultiLineString = $data.GeometryMultiLineString;\r\n    type GeometryCollection = $data.GeometryCollection;\r\n    type Primitive =\r\n        Boolean | Binary | Guid | DateTime | DateTimeOffset | Duration | TimeOfDay | Date | Time |\r\n        Decimal | Single | Float | Double | Int16 | Int32 | Int64 | Byte | SByte | String |\r\n        GeographyPoint | GeographyLineString | GeographyPolygon | GeographyMultiPoint | GeographyMultiLineString | GeographyMultiPolygon | GeographyCollection |\r\n        GeometryPoint | GeometryLineString | GeometryPolygon | GeometryMultiPoint | GeometryMultiLineString | GeometryMultiPolygon | GeometryCollection;\r\n}",
e}();n.JayData=r},{}],5:[function(e,t,n){"use strict";var r=e("./annotations"),i=e("./dts"),a=function(e,t,n){e&&t in e&&"undefined"!=typeof e[t]&&n(e[t])},o=function(e,t){if("boolean"==typeof e)return e;switch(e){case"true":return!0;case"false":return!1;default:return t}},s=/^Collection\((.*)\)$/,u=function(){function e(e,t,n){this.$data=e,this.options=t||{},this.metadata=n,this.options.container=this.$data.Container,this.options.baseType=this.options.baseType||"$data.Entity",this.options.entitySetType=this.options.entitySetType||"$data.EntitySet",this.options.contextType=this.options.contextType||"$data.EntityContext",this.options.collectionBaseType=this.options.collectionBaseType||"Array",this.annotationHandler=new r.Annotations}return e.prototype._getMaxValue=function(e){return"number"==typeof e?e:"max"===e?Number.MAX_VALUE:parseInt(e)},e.prototype.createTypeDefinition=function(e,t){var n=this;a(e,"type",function(e){var r=s.exec(e);r?(t.type=n.options.collectionBaseType,t.elementType=r[1]):t.type=e})},e.prototype.createReturnTypeDefinition=function(e,t){a(e,"type",function(e){var n=s.exec(e);n?(t.returnType="$data.Queryable",t.elementType=n[1]):t.returnType=e})},e.prototype.createProperty=function(e,t,n){var r=this;n||(n=t,t=void 0);var i={};return this.createTypeDefinition(n,i),a(n,"nullable",function(e){i.nullable=o(e,!0),i.required=o(e,!0)===!1}),a(n,"maxLength",function(e){i.maxLength=r._getMaxValue(e)}),a(t,"key",function(e){e.propertyRefs.some(function(e){return e.name===n.name})&&(i.key=!0)}),a(n,"annotations",function(t){r.annotationHandler.processEntityPropertyAnnotations(e,n.name,t)}),{name:n.name,definition:i}},e.prototype.createNavigationProperty=function(e,t,n){var r=this;n||(n=t,t=void 0);var i={};return this.createTypeDefinition(n,i),a(n,"nullable",function(e){i.nullable=o(e,!0),i.required=o(e,!0)===!1}),a(n,"partner",function(e){i.inverseProperty=e}),i.inverseProperty||(i.inverseProperty="$$unbound"),a(n,"annotations",function(t){r.annotationHandler.processEntityPropertyAnnotations(e,n.name,t)}),{name:n.name,definition:i}},e.prototype.createEntityDefinition=function(e,t){var n=(e.properties||[]).map(this.createProperty.bind(this,t,e)),r=(e.navigationProperties||[]).map(this.createNavigationProperty.bind(this,t,e));n=n.concat(r);var i=n.reduce(function(e,t){return e[t.name]=t.definition,e},{});return i},e.prototype.createEntityType=function(e,t){var n=this,r=e.baseType?e.baseType:this.options.baseType,i=t+"."+e.name,s=this.createEntityDefinition(e,i),u={};return a(e,"openType",function(e){o(e,!1)&&(u.openType={value:!0})}),a(e,"annotations",function(e){n.annotationHandler.processEntityAnnotations(i,e)}),{namespace:t,typeName:i,baseType:r,params:[i,this.options.container,s,u],definition:s,type:"entity"}},e.prototype.createEnumOption=function(e,t,n,r){var i=this;n||(n=t,t=void 0);var o={name:n.name,index:r};return a(n,"value",function(e){var t=+e;isNaN(t)||(o.value=t)}),a(n,"annotations",function(t){i.annotationHandler.processEntityPropertyAnnotations(e,n.name,t,!0)}),o},e.prototype.createEnumDefinition=function(e,t){var n=(e.members||[]).map(this.createEnumOption.bind(this,t,e));return n},e.prototype.createEnumType=function(e,t){var n=this,r=t+"."+e.name,i=this.createEnumDefinition(e,r);return a(e,"annotations",function(e){n.annotationHandler.processEntityAnnotations(r,e,!0)}),{namespace:t,typeName:r,baseType:"$data.Enum",params:[r,this.options.container,e.underlyingType,i],definition:i,type:"enum"}},e.prototype.createEntitySetProperty=function(e,t){var n=this,r=e.entityType,i={name:e.name,definition:{type:this.options.entitySetType,elementType:r}};return a(e,"annotations",function(e){n.annotationHandler.processEntitySetAnnotations(r,e)}),i},e.prototype.indexBy=function(e,t){return[function(n,r){return n[r[e]]=r[t],n},{}]},e.prototype.createContextDefinition=function(e,t){var n=this,r=(e.entitySets||[]).map(function(t){return n.createEntitySetProperty(t,e)}),i=r.reduce.apply(r,this.indexBy("name","definition"));return i},e.prototype.createContextType=function(e,t){if(Array.isArray(e))throw new Error("Array type is not supported here");var n=this.createContextDefinition(e,t),r=this.options.contextType,i=t+"."+e.name,a=[];return e.actionImports&&a.push.apply(a,e.actionImports),e.functionImports&&a.push.apply(a,e.functionImports),{namespace:t,typeName:i,baseType:r,params:[i,this.options.container,n],definition:n,type:"context",contextImportMethods:a}},e.prototype.createMethodParameter=function(e,t){var n={name:e.name};this.createTypeDefinition(e,n),t.params.push(n)},e.prototype.applyBoundMethod=function(e,t,n,r){var i=this,s={type:r,namespace:t,returnType:null,params:[]};a(e,"returnType",function(e){i.createReturnTypeDefinition(e,s)});var u=[].concat(e.parameters);if(u.forEach(function(e){return i.createMethodParameter(e,s)}),o(e.isBound,!1)){var l=s.params.shift();if(l.type===this.options.collectionBaseType){var p=n.filter(function(e){return e.namespace===t&&"context"===e.type});p.forEach(function(t){for(var n in t.definition){var r=t.definition[n];r.elementType===l.elementType&&(r.actions=r.actions||{},r.actions[e.name]=s)}})}else{var d=n.filter(function(e){return e.typeName===l.type&&"entity"===e.type});d.forEach(function(t){t.definition[e.name]=s})}}else{delete s.namespace;var c=t+"."+e.name,p=n.filter(function(e){return"context"===e.type});p.forEach(function(t){t.contextImportMethods.forEach(function(n){n.action!==c&&n["function"]!==c||(t.definition[e.name]=s)})})}},e.prototype.processMetadata=function(e){var t=this,n=e||[],r=[],o=[];a(this.metadata,"references",function(e){e.forEach(function(e){a(e,"includes",function(e){e.forEach(function(e){t.annotationHandler.addInclude(e)})})})});var s={};n.dts="/*//////////////////////////////////////////////////////////////////////////////////////\n//////     Autogenerated by JaySvcUtil http://JayData.org for more info        /////////\n//////                      OData  V4  TypeScript                              /////////\n//////////////////////////////////////////////////////////////////////////////////////*/\n\n",n.dts+=i.JayData.src+"\n\n";var u=this;this.metadata.dataServices.schemas.forEach(function(e){var n=e.namespace;if(s[n]=["declare module "+n+" {","}"],e.enumTypes){var i=e.enumTypes.map(function(e){return t.createEnumType(e,n)});r.push.apply(r,i)}if(e.complexTypes){var l=e.complexTypes.map(function(e){return t.createEntityType(e,n)});r.push.apply(r,l)}if(e.entityTypes){var p=e.entityTypes.map(function(e){return t.createEntityType(e,n)});r.push.apply(r,p)}if(e.actions&&o.push.apply(o,e.actions.map(function(e){return function(r){return t.applyBoundMethod(e,n,r,"$data.ServiceAction")}})),e.functions&&o.push.apply(o,e.functions.map(function(e){return function(r){return t.applyBoundMethod(e,n,r,"$data.ServiceFunction")}})),e.entityContainer){var d=e.entityContainer.map(function(e){return t.createContextType(e,u.options.namespace||n)});r.push.apply(r,d)}a(e,"annotations",function(e){e.forEach(function(e){a(e,"target",function(n){a(e,"annotations",function(r){t.annotationHandler.processSchemaAnnotations(n,r,e.qualifier)})})})})}),o.forEach(function(e){return e(r)});var l;if(n.src='(function(mod) {\n  if (typeof exports == "object" && typeof module == "object") return mod(exports, require("jaydata/core")); // CommonJS\n  if (typeof define == "function" && define.amd) return define(["exports", "jaydata/core"], mod); // AMD\n  mod($data.generatedContext || ($data.generatedContext = {}), $data); // Plain browser env\n})(function(exports, $data) {\n\nvar types = {};\n\n',r=this.orderTypeDefinitions(r),n.push.apply(n,r.map(function(e){t.annotationHandler.preProcessAnnotation(e);var r=s[e.namespace];r||(r=s[e.namespace]=["declare module "+e.namespace+" {","}"]);var i=[],a="";if("$data.Enum"==e.baseType)i.push("    export enum "+e.typeName.split(".").pop()+" {"),e.params[3]&&Object.keys(e.params[3]).length>0&&Object.keys(e.params[3]).forEach(function(t){return i.push("        "+e.params[3][t].name+",")}),a+='types["'+e.params[0]+'"] = $data.createEnum("'+e.params[0]+'", [\n'+Object.keys(e.params[3]).map(function(n){return"  "+t._createPropertyDefString(e.params[3][n])}).join(",\n")+"\n]);\n\n";else{if(i.push("    export class "+e.typeName.split(".").pop()+" extends "+e.baseType+" {"),e.baseType==u.options.contextType)i.push("        onReady(): Promise<"+e.typeName.split(".").pop()+">;"),i.push("");else{i.push("        constructor();");var o="        constructor(initData: { ";e.params[2]&&Object.keys(e.params[2]).length>0&&(o+=Object.keys(e.params[2]).map(function(t){return t+"?: "+("Array"==e.params[2][t].type?e.params[2][t].elementType+"[]":e.params[2][t].type)}).join("; ")),o+=" });",i.push(o),i.push("")}var p=e.baseType;e.baseType==t.options.contextType&&(a+="exports.type = ",l=e.typeName),a+='types["'+e.params[0]+'"] = '+(p==t.options.baseType||p==t.options.contextType?'$data("'+p+'")':'types["'+p+'"]')+'.extend("'+e.params[0]+'", ',e.params[2]&&Object.keys(e.params[2]).length>0?(a+="{\n"+Object.keys(e.params[2]).map(function(n){return"  "+n+": "+t._createPropertyDefString(e.params[2][n])}).join(",\n")+"\n}",e.baseType==t.options.contextType?Object.keys(e.params[2]).forEach(function(n){return i.push("        "+n+": "+t._typeToTS(e.params[2][n].type,e.params[2][n].elementType,e.params[2][n])+";")}):Object.keys(e.params[2]).forEach(function(n){return i.push("        "+n+": "+t._typeToTS(e.params[2][n].type,e.params[2][n].elementType,e.params[2][n])+";")})):a+="null",e.params[3]&&Object.keys(e.params[3]).length>0&&(a+=", {\n"+Object.keys(e.params[3]).map(function(n){return"  "+n+": "+t._createPropertyDefString(e.params[3][n])}).join(",\n")+"\n}"),a+=");\n\n"}if(n.src+=a,i.push("    }"),r.splice(1,0,i.join("\n")),t.options.debug&&console.log("Type generated:",e.params[0]),t.options.generateTypes!==!1){var d=t.options.container.resolveType(e.baseType),c=d.extend.apply(d,e.params);return t.annotationHandler.addAnnotation(c),c}})),n.src+='var ctxType = exports.type;\nexports.factory = function(config){\n  if (ctxType){\n    var cfg = $data.typeSystem.extend({\n      name: "oData",\n      oDataServiceHost: "'+(this.options.url&&this.options.url.replace("/$metadata","")||"")+'",\n      withCredentials: '+(this.options.withCredentials||!1)+',\n      maxDataServiceVersion: "'+(this.options.maxDataServiceVersion||"4.0")+'"\n    }, config);\n    return new ctxType(cfg);\n  }else{\n    return null;\n  }\n};\n\n',this.options.autoCreateContext){var p="string"==typeof this.options.autoCreateContext?this.options.autoCreateContext:"context";n.src+='exports["'+p+'"] = exports.factory();\n\n'}if(n.src+=this.annotationHandler.annotationsText(),n.src+="});",n.dts+=Object.keys(s).filter(function(e){return s[e]&&s[e].length>2}).map(function(e){return s[e].join("\n\n")}).join("\n\n"),l){var d=["\n\nexport var type: typeof "+l+";","export var factory: (config:any) => "+l+";"];if(this.options.autoCreateContext){var p="string"==typeof this.options.autoCreateContext?this.options.autoCreateContext:"context";d.push("export var "+p+": "+l+";")}n.dts+=d.join("\n")}return this.options.generateTypes===!1&&(n.length=0),n},e.prototype._createPropertyDefString=function(e){return e.concurrencyMode?JSON.stringify(e).replace('"concurrencyMode":"fixed"}','"concurrencyMode":$data.ConcurrencyMode.Fixed}'):JSON.stringify(e)},e.prototype._typeToTS=function(e,t,n){var r=this;if(e==this.options.entitySetType)return"$data.EntitySet<typeof "+t+", "+t+">";if("$data.Queryable"==e)return"$data.Queryable<"+t+">";if(e==this.options.collectionBaseType)return t+"[]";if("$data.ServiceAction"==e)return"{ ("+(n.params.length>0?n.params.map(function(e){return e.name+": "+r._typeToTS(e.type,e.elementType,e)}).join(", "):"")+"): Promise<void>; }";if("$data.ServiceFunction"==e){var i=this._typeToTS(n.returnType,n.elementType,n);return i.indexOf("$data.Queryable")<0&&(i="Promise<"+i+">"),"{ ("+(n.params.length>0?n.params.map(function(e){return e.name+": "+r._typeToTS(e.type,e.elementType,e)}).join(", "):"")+"): "+i+"; }"}return e},e.prototype.orderTypeDefinitions=function(e){for(var t=e.filter(function(e){return"context"===e.type}),n=[],r=[].concat(e.filter(function(e){return"context"!==e.type})),i=this.options.baseType,a=Number.MAX_VALUE;r.length;){var o=[].concat(r);r.length=0,o.forEach(function(e){a===o.length||"entity"!==e.type||e.baseType===i||n.some(function(t){return t.typeName===e.baseType})?n.push(e):r.push(e)}),a=o.length}return n.concat(t)},e}();n.Metadata=u},{"./annotations":3,"./dts":4}],6:[function(e,t,n){"use strict";var r=e("odata-v4-metadata"),i=e("./metadata"),a=e("jaydata-odatajs"),o=e("extend");n.odatajs=a;var s=function(){function e(e,t){this.$data=e,this.options=t||{},this.prepareRequest=t.prepareRequest||function(){},"undefined"==typeof n.odatajs||"undefined"==typeof n.odatajs.oData?console.error("Not Found!:","odatajs is required"):this.oData=n.odatajs.oData}return e.prototype.parse=function(e){var t=this,n=new r.Edm.Edmx(this.oData.metadata.metadataParser(null,e)),a=new i.Metadata(this.$data,this.options,n),o=a.processMetadata(),s=o.filter(function(e){return e.isAssignableTo(t.$data.EntityContext)})[0],u=this._createFactoryFunc(s);return u.type=s,u.src=o.src,u},e.prototype.load=function(){var e=this;return new Promise(function(t,n){var a=e.options.url.replace("/$metadata",""),o=a.replace(/\/+$/,"")+"/$metadata";e.options.serivceUri=a;var s=[{requestUri:o,method:e.options.method||"GET",headers:e.options.headers||{}},function(n){var a=new r.Edm.Edmx(n),o=new i.Metadata(e.$data,e.options,a),s=o.processMetadata(),u=s.filter(function(t){return t.isAssignableTo(e.$data.EntityContext)})[0],l=e._createFactoryFunc(u);l.type=u,l.src=s.src,l.dts=s.dts,t(l)},n,e.oData.metadataHandler];e._appendBasicAuth(s[0],e.options.user,e.options.password,e.options.withCredentials),e.prepareRequest.call(e,s),e.oData.request.apply(e.oData,s)})},e.prototype._createFactoryFunc=function(e){var t=this;return function(n){if(e){var r=o({name:"oData",oDataServiceHost:t.options.url.replace("/$metadata",""),user:t.options.user,password:t.options.password,withCredentials:t.options.withCredentials,maxDataServiceVersion:t.options.maxDataServiceVersion||"4.0"},n);return new e(r)}return null}},e.prototype._appendBasicAuth=function(e,t,n,r){e.headers=e.headers||{},!e.headers.Authorization&&t&&n&&(e.headers.Authorization="Basic "+this.__encodeBase64(t+":"+n)),r&&(e.withCredentials=r)},e.prototype.__encodeBase64=function(e){var t,n,r,i,a,o,s,u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",l=e,p="",d=0;do t=l.charCodeAt(d++),n=l.charCodeAt(d++),r=l.charCodeAt(d++),i=t>>2,a=(3&t)<<4|n>>4,o=(15&n)<<2|r>>6,s=63&r,isNaN(n)?o=s=64:isNaN(r)&&(s=64),p=p+u.charAt(i)+u.charAt(a)+u.charAt(o)+u.charAt(s);while(d<l.length);return p},e}();n.MetadataHandler=s},{"./metadata":5,extend:2,"jaydata-odatajs":9,"odata-v4-metadata":21}],7:[function(e,t,n){"use strict";var r=e("extend"),i=e("./metadataHandler"),a=e("jaydata-error-handler"),o=e("jaydata-promise-handler"),s=e("./metadataHandler");n.MetadataHandler=s.MetadataHandler,n.odatajs=s.odatajs;var u=function(){function e(){this.config={}}return e}();n.ServiceParams=u;var l=function(){function e(e){this.$data=e}return e.prototype.service=function(t,n,a){var s=new u;e.getParam(n,s),e.getParam(a,s),"object"==typeof t?r(s.config,t):"string"==typeof t&&(s.config=s.config||{},s.config.url=t);var l=this.$data&&this.$data.PromiseHandler?new this.$data.PromiseHandler:new o.PromiseHandler,p=l.createCallback(s.callback),d=this;return new i.MetadataHandler(this.$data,s.config).load().then(function(e){var t=e.type,n=s.config.serviceName||s.config.storeAlias;n&&"addStore"in d.$data&&d.$data.addStore(n,e,void 0===s.config.isDefault||s.config.isDefault),p.success(e,t)},function(e){p.error(e)}),l.getPromise()},e.prototype.initService=function(t,n,i){var s=new u;e.getParam(n,s),e.getParam(i,s),"object"==typeof t?r(s.config,t):"string"==typeof t&&(s.config=s.config||{},s.config.url=t);var l=this.$data&&this.$data.PromiseHandler?new this.$data.PromiseHandler:new o.PromiseHandler,p=l.createCallback(s.callback);return this.service(s.config.url,s.config,{success:function(e){var t=e();return t?t.onReady().then(function(t){t.factory=e,t.type=e.type,p.success(t,e,e.type)},p.error):p.error(new a.Exception("Missing Context Type"))},error:p.error}),l.getPromise()},e.use=function(t){var n=new e(t);t.service=n.service,t.initService=n.initService},e.getParam=function(e,t){switch(typeof e){case"object":"function"==typeof e.success||"function"==typeof e.error?t.callback=e:t.config=e;break;case"function":t.callback=e}},e}();n.DynamicMetadata=l},{"./metadataHandler":6,extend:2,"jaydata-error-handler":8,"jaydata-promise-handler":19}],8:[function(e,t,n){"use strict";var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=function(e){function t(t,n,r){e.call(this),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name=n||"Exception",this.message=t,this.data=r}return r(t,e),t.prototype._getStackTrace=function(){},t}(Error);n.Exception=i;var a=function(){function e(){}return e.requireValue=function(t,n){"undefined"!=typeof n&&null!==n||e.raise(t+" requires a value other than undefined or null")},e.requireType=function(t,n,r){var i=r instanceof Array?r:[r];return i.some(function(r){switch(typeof r){case"string":return typeof n===r;case"function":return n instanceof r;default:e.raise("Unknown type format : "+typeof r+" for: "+t)}})},e.raise=function(e){if("undefined"==typeof n.intellisense)throw e instanceof i?console.error(e.name+":",e.message+"\n",e):console.error(e),e},e.isNullOrUndefined=function(e){return void 0===e||null===e},e}();n.Guard=a},{}],9:[function(e,t,n){/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
var r={};r.version={major:4,minor:0,build:1},r.utils=e("./lib/utils.js"),r.xml=e("./lib/xml.js"),r.oData=e("./lib/odata.js"),r.utils.inBrowser()&&(window.odatajs=r),"undefined"!=typeof t&&(r.node="node",t.exports=r)},{"./lib/odata.js":10,"./lib/utils.js":17,"./lib/xml.js":18}],10:[function(e,t,n){/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
"use strict";function r(e,t,n){var r,i;for(r=0,i=h.length;i>r&&!h[r][e](t,n);r++);if(r===i)throw{message:"no handler for data"}}var i=e("./utils.js"),a=n.utils=e("./odata/odatautils.js"),o=n.handler=e("./odata/handler.js"),s=n.metadata=e("./odata/metadata.js"),u=e("./odata/net-browser.js"),l=n.net=i.inBrowser()?u:e("./odata/net.js"),p=n.json=e("./odata/json.js");n.batch=e("./odata/batch.js");var d=i.assigned,c=(i.defined,i.throwErrorCallback),f=(a.invokeRequest,o.MAX_DATA_SERVICE_VERSION),y=(a.prepareRequest,s.metadataParser),h=[p.jsonHandler,o.textHandler];n.defaultSuccess=function(e){window.alert(window.JSON.stringify(e))},n.defaultError=c,n.defaultHandler={read:function(e,t){e&&d(e.body)&&e.headers["Content-Type"]&&r("read",e,t)},write:function(e,t){r("write",e,t)},maxDataServiceVersion:f,accept:"application/json;q=0.9, */*;q=0.1"},n.defaultMetadata=[],n.read=function(e,t,r,i,a,o){var s;return s=e instanceof String||"string"==typeof e?{requestUri:e}:e,n.request(s,t,r,i,a,o)},n.request=function(e,t,r,o,s,u){t=t||n.defaultSuccess,r=r||n.defaultError,o=o||n.defaultHandler,s=s||l.defaultHttpClient,u=u||n.defaultMetadata,e.recognizeDates=i.defined(e.recognizeDates,p.jsonHandler.recognizeDates),e.callbackParameterName=i.defined(e.callbackParameterName,l.defaultHttpClient.callbackParameterName),e.formatQueryString=i.defined(e.formatQueryString,l.defaultHttpClient.formatQueryString),e.enableJsonpCallback=i.defined(e.enableJsonpCallback,l.defaultHttpClient.enableJsonpCallback);var d={metadata:u,recognizeDates:e.recognizeDates,callbackParameterName:e.callbackParameterName,formatQueryString:e.formatQueryString,enableJsonpCallback:e.enableJsonpCallback};try{return a.prepareRequest(e,o,d),a.invokeRequest(e,t,r,o,s,d)}catch(c){if(c.bIsSuccessHandlerError)throw c;r(c)}},n.parseMetadata=function(e){return y(null,e)},n.batch.batchHandler.partHandler=n.defaultHandler,n.metadataHandler=s.metadataHandler,n.jsonHandler=p.jsonHandler},{"./odata/batch.js":11,"./odata/handler.js":12,"./odata/json.js":13,"./odata/metadata.js":14,"./odata/net-browser.js":15,"./odata/odatautils.js":16,"./utils.js":17}],11:[function(e,t,n){/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
"use strict";function r(){return Math.floor(65536*(1+Math.random())).toString(16).substr(1)}function i(e){return e+r()+"-"+r()+"-"+r()}function a(e){return e.handler.partHandler}function o(e){var t=e.boundaries;return t[t.length-1]}function s(e,t,n){var r=n.contentType.properties.boundary;return{__batchResponses:l(t,{boundaries:[r],handlerContext:n})}}function u(e,t,n){var r=n.contentType=n.contentType||C(A);return r.mediaType===A?y(t,n):void 0}function l(e,t){var n="--"+o(t);f(e,t,n),c(e,t);for(var r=[],i=null;"--"!==i&&t.position<e.length;){var s,u=p(e,t),y=C(u["Content-Type"]);if(y&&y.mediaType===A){t.boundaries.push(y.properties.boundary);try{s=l(e,t)}catch(h){h.response=d(e,t,n),s=[h]}r.push({__changeResponses:s}),t.boundaries.pop(),f(e,t,"--"+o(t))}else{if(!y||"application/http"!==y.mediaType)throw{message:"invalid MIME part type "};c(e,t);var m=d(e,t,n);try{m.statusCode>=200&&m.statusCode<=299?a(t.handlerContext).read(m,t.handlerContext):m={message:"HTTP request failed",response:m}}catch(h){m=h}r.push(m)}i=e.substr(t.position,2),c(e,t)}return r}function p(e,t){var n,r,i,a={};do i=t.position,r=c(e,t),n=O.exec(r),null!==n?a[n[1]]=n[2]:t.position=i;while(r&&n);return N(a),a}function d(e,t,n){var r,i,a,o=t.position,s=w.exec(c(e,t));return s?(r=s[1],i=s[2],a=p(e,t),c(e,t)):t.position=o,{statusCode:r,statusText:i,headers:a,body:f(e,t,"\r\n"+n)}}function c(e,t){return f(e,t,"\r\n")}function f(e,t,n){var r=t.position||0,i=e.length;if(n){if(i=e.indexOf(n,r),-1===i)return null;t.position=i+n.length}else t.position=i;return e.substring(r,i)}function y(e,t){if(!_(e))throw{message:"Data is not a batch object."};var n,r,a=i("batch_"),o=e.__batchRequests,s="";for(n=0,r=o.length;r>n;n++)s+=h(a,!1)+m(o[n],t);s+=h(a,!0);var u=t.contentType.properties;return u.boundary=a,s}function h(e,t){var n="\r\n--"+e;return t&&(n+="--"),n+"\r\n"}function m(e,t,n){var r,o=e.__changeRequests;if(T(o)){if(n)throw{message:"Not Supported: change set nested in other change set"};var s=i("changeset_");r="Content-Type: "+A+"; boundary="+s+"\r\n";var u,l;for(u=0,l=o.length;l>u;u++)r+=h(s,!1)+m(o[u],t,!0);r+=h(s,!0)}else{r="Content-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\n";var p=b({},t);p.handler=S,p.request=e,p.contentType=null,M(e,a(t),p),r+=g(e)}return r}function g(e){var t=(e.method?e.method:"GET")+" "+e.requestUri+" HTTP/1.1\r\n";for(var n in e.headers)e.headers[n]&&(t=t+n+": "+e.headers[n]+"\r\n");return t+="\r\n",e.body&&(t+=e.body),t}var v=e("./../utils.js"),x=e("./odatautils.js"),E=e("./handler.js"),b=v.extend,T=v.isArray,C=(v.trimString,E.contentType),S=E.handler,_=x.isBatch,P=E.MAX_DATA_SERVICE_VERSION,N=x.normalizeHeaders,M=x.prepareRequest,A="multipart/mixed",w=/^HTTP\/1\.\d (\d{3}) (.*)$/i,O=/^([^()<>@,;:\\"\/[\]?={} \t]+)\s?:\s?(.*)/;n.batchHandler=S(s,u,A,P),n.batchSerializer=u,n.writeRequest=g},{"./../utils.js":17,"./handler.js":12,"./odatautils.js":16}],12:[function(e,t,n){/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
"use strict";function r(e){if(!e)return null;var t,n,r=e.split(";"),i={};for(t=1,n=r.length;n>t;t++){var a=r[t].split("=");i[b(a[0])]=a[1]}return{mediaType:b(r[0]),properties:i}}function i(e){if(e){var t,n=e.mediaType;for(t in e.properties)n+=";"+t+"="+e.properties[t];return n}}function a(e,t,n,r){var i={};return E(i,n),E(i,{contentType:e,dataServiceVersion:t,handler:r}),i}function o(e,t,n){if(e){var r=e.headers;r[t]||(r[t]=n)}}function s(e,t){if(e){var n=e.headers,r=n["OData-Version"];n["OData-Version"]=r?T(r,t):t}}function u(e,t){var n=e.headers;return n&&n[t]||void 0}function l(e){return r(u(e,"Content-Type"))}function p(e){var t=u(e,"OData-Version");if(t){var n=S.exec(t);if(n&&n.length)return n[1]}}function d(e,t){return e.accept.indexOf(t.mediaType)>=0}function c(e,t,n,r){if(!n||!n.headers)return!1;var i=l(n),o=p(n)||"",s=n.body;if(!x(s))return!1;if(d(e,i)){var u=a(i,o,r,e);return u.response=n,n.data=t(e,s,u),void 0!==n.data}return!1}function f(e,t,n,r){if(!n||!n.headers)return!1;var u=l(n),c=p(n);if(!u||d(e,u)){var f=a(u,c,r,e);if(f.request=n,n.body=t(e,n.data,f),void 0!==n.body)return s(n,f.dataServiceVersion||"4.0"),o(n,"Content-Type",i(f.contentType)),o(n,"OData-MaxVersion",e.maxDataServiceVersion),!0}return!1}function y(e,t,n,r){return{accept:n,maxDataServiceVersion:r,read:function(t,n){return c(this,e,t,n)},write:function(e,n){return f(this,t,e,n)}}}function h(e,t){return t}function m(e,t){return x(t)?t.toString():void 0}var g=e("./../utils.js"),v=e("./odatautils.js"),x=g.assigned,E=g.extend,b=g.trimString,T=v.maxVersion,C="4.0",S=/^\s?(\d+\.\d+);?.*$/;n.textHandler=y(h,m,"text/plain",C),n.contentType=r,n.contentTypeToString=i,n.handler=y,n.createReadWriteContext=a,n.fixRequestHeader=o,n.getRequestOrResponseHeader=u,n.getContentType=l,n.getDataServiceVersion=p,n.MAX_DATA_SERVICE_VERSION=C},{"./../utils.js":17,"./odatautils.js":16}],13:[function(e,t,n){function r(e,t,n){var r,i=V(n.recognizeDates,e.recognizeDates),a=n.metadata,o="string"==typeof t?JSON.parse(t):t;G(n.contentType)&&G(n.contentType.properties)&&(r=n.contentType.properties["odata.metadata"]);var s=$(r,1);return 0===s?o:1===s?p(o,a,i):2===s?u(o,a,i):o}function i(e,t,n){var r=n.dataServiceVersion||"4.0",i=n.contentType=n.contentType||he;if(i&&i.mediaType===he.mediaType){n.dataServiceVersion=X(r,"4.0");var o=a(t);if(o)return JSON.stringify(o,ve)}}function a(e){if(!e)return e;if(q(e))return e;if(k(e)){var t,n,r=[];for(t=0,n=e.length;n>t;t++)r[t]=a(e[t]);return r}var i={};for(var s in e)o(s)&&(i[s]=a(e[s]));return i}function o(e){if(!e)return!1;if(-1==e.indexOf("@odata."))return!0;var t,n;for(t=0,n=me.length;n>t;t++){var r=me[t];if(-1!=e.indexOf(r))return!0}return!1}function s(e,t){return{kind:e,type:t||null}}function u(e,t,n){var r;if(M.isObject(e))for(var i in e)if(e.hasOwnProperty(i)&&-1===i.indexOf("@"))if(M.isArray(e[i]))for(var a=0;a<e[i].length;++a)u(e[i][a],t,n);else if(M.isObject(e[i]))null!==e[i]&&(r=e[i+"@odata.type"],r?(r=r.substring(1),ee(r)||te(r)||u(e[i],t,n)):u(e[i],t,n));else if(r=e[i+"@odata.type"],G(r))n&&x(e,i,r.substring(1));else{var o=typeof e[i];"string"===o?h(e,i,"String"):"boolean"===o?h(e,i,"Boolean"):"number"===o&&(e[i]%1===0?h(e,i,"Int32"):h(e,i,"Decimal"))}return e}function l(e,t,n,r,i){for(var a in e)if(-1===a.indexOf("@")){for(var o=t,s=e[a],u=W(o.property,a);null===u&&void 0!==o.baseType;)o=H(o.baseType,r),u=W(o.property,a);if(k(s)){U(u.type)?m(e,a,u.type.substring(11,u.type.length-1)):g(e,a,u.type);for(var l=0;l<s.length;l++)f(s[l],u,n,r,i)}else I(s)&&null!==s?f(s,u,n,r,i):(g(e,a,u.type),i&&v(e,a,u.type))}}function p(e,t,n){if(!G(t)||k(t))return e;var r=e[D],i=_(e,t);switch(i.detectedPayloadKind){case le:return null!==i.type?c(e,i,r,t,n):g(e,"value",i.typeName);case ne:return d(e,t,i,r,n);case re:return c(e,i,r,t,n);case ae:return y(e,t,i,r,n);case ie:return null!==i.type?c(e,i,r,t,n):g(e,"value",i.typeName);case oe:return e;case PAYLOADTYPE_LINKS:return e}return e}function d(e,t,n,r,i){var a,o,s,u=[],l=e.value;for(a=0,o=l.length;o>a;a++){var p=l[a];if(V(p["@odata.type"])){var d=p["@odata.type"].substring(1),f=H(d,t),y={contentTypeOdata:n.contentTypeOdata,detectedPayloadKind:n.detectedPayloadKind,name:n.name,type:f,typeName:d};s=c(p,y,r,t,i)}else s=c(p,n,r,t,i);u.push(s)}return e.value=u,e}function c(e,t,n,r,i){h(e,"",t.typeName);for(var a=t.type;V(a)&&void 0===a.key&&void 0!==a.baseType;)a=H(a.baseType,r);if(void 0!==a.key){var o=t.name+P(e,a);e["@odata.id"]=n.substring(0,n.lastIndexOf("$metadata"))+o,e["@odata.editLink"]=o}return l(e,t.type,n,r,i),e}function f(e,t,n,r,i){var a=t.type;U(t.type)&&(a=t.type.substring(11,t.type.length-1)),h(e,"",t.type);var o=Q(a,r);null!==o&&l(e,o,n,r,i)}function y(e,t,n,r,i){if(m(e,"",n.typeName),null!==n.type){var a,o,s,u=[],l=e.value;for(a=0,o=l.length;o>a;a++){var p=l[a];if(V(p["@odata.type"])){var d=p["@odata.type"].substring(1),f=H(d,t),y={contentTypeOdata:n.contentTypeOdata,detectedPayloadKind:n.detectedPayloadKind,name:n.name,type:f,typeName:d};s=c(p,y,r,t,i)}else s=c(p,n,r,t,i);u.push(s)}e.value=u}return e}function h(e,t,n){var r=t+"@odata.type";void 0===e[r]&&(e[r]="#"+n)}function m(e,t,n){var r=t+"@odata.type";void 0===e[r]&&("Edm."===n.substring(0,4)?e[r]="#Collection("+n.substring(4)+")":e[r]="#Collection("+n+")")}function g(e,t,n){var r=t+"@odata.type";return void 0===e[r]&&("Edm."===n.substring(0,4)?e[r]="#"+n.substring(4):e[r]="#"+n),e}function v(e,t,n){"Edm.Date"===n?e[t]=A.parseDate(e[t],!0):"Edm.DateTimeOffset"===n?e[t]=A.parseDateTimeOffset(e[t],!0):"Edm.Duration"===n?e[t]=A.parseDuration(e[t],!0):"Edm.Time"===n&&(e[t]=A.parseTime(e[t],!0))}function x(e,t,n){"Date"===n?e[t]=A.parseDate(e[t],!0):"DateTimeOffset"===n?e[t]=A.parseDateTimeOffset(e[t],!0):"Duration"===n?e[t]=A.parseDuration(e[t],!0):"Time"===n&&(e[t]=A.parseTime(e[t],!0))}function E(e,t){switch(e=""+b(e,t),e=encodeURIComponent(e.replace("'","''")),t){case"Edm.Binary":return"X'"+e+"'";case"Edm.DateTime":return"datetime'"+e+"'";case"Edm.DateTimeOffset":return"datetimeoffset'"+e+"'";case"Edm.Decimal":return e+"M";case"Edm.Guid":return"guid'"+e+"'";case"Edm.Int64":return e+"L";case"Edm.Float":return e+"f";case"Edm.Double":return e+"D";case"Edm.Geography":return"geography'"+e+"'";case"Edm.Geometry":return"geometry'"+e+"'";case"Edm.Time":return"time'"+e+"'";case"Edm.String":return"'"+e+"'";default:return e}}function b(e,t){switch(t){case"Edm.Binary":return L(e);default:return e}}function T(e){var t;0>e?(t="-",e=-e):t="+";var n=Math.floor(e/60);return e-=60*n,t+F(n,2)+":"+F(e,2)}function C(e){var t=e&&ge.exec(e);if(t){var n=new Date(B(t[1]));if(t[2]){var r=B(t[3]);"-"===t[2]&&(r=-r);var i=n.getUTCMinutes();n.setUTCMinutes(i-r),n.__edmType="Edm.DateTimeOffset",n.__offset=T(r)}if(!isNaN(n.valueOf()))return n}}function S(e,t){var n={};if(-1===e.indexOf("/")){if(0===e.length)return n.detectedPayloadKind=oe,n;if("Edm.Null"===e)return n.detectedPayloadKind=le,n.isNullProperty=!0,n;if("Collection($ref)"===e)return n.detectedPayloadKind=ue,n;if("$ref"===e)return n.detectedPayloadKind=se,n}n.type=void 0,n.typeName=void 0;for(var r,i=e.split("/"),a=0;a<i.length;++a){var o=i[a];if(void 0===n.typeName){if(-1!==o.indexOf("(")){for(var s=o.length-2,u=1;u>0&&s>0;--s)"("==o.charAt(s)?u--:")"==o.charAt(s)&&u++;var l=o.substring(s+2,o.length-1);if(o=o.substring(0,s+1),M.startsWith(o,"Collection")){if(n.detectedPayloadKind=ae,n.typeName=l,r=H(n.typeName,t),null!==r){n.type=r;continue}if(r=Q(n.typeName,t),null!==r){n.type=r;continue}n.type=null;continue}n.projection=l}if(N(o)){n.typeName=o,n.type=null,n.detectedPayloadKind=le;continue}var p=z(t),d=K(p.entitySet,o);if(null!==d){n.typeName=d.entityType,n.type=H(n.typeName,t),n.name=o,n.detectedPayloadKind=ne;continue}var c=J(p.singleton,o);if(null!==c){n.typeName=c.entityType,n.type=H(n.typeName,t),n.name=o,n.detectedPayloadKind=re;continue}}else{if(M.endsWith(o,"$entity")&&n.detectedPayloadKind===ne){n.detectedPayloadKind=re;continue}if(-1!==o.indexOf(".")){if(n.typeName=o,r=H(n.typeName,t),null!==r){n.type=r;continue}if(r=Q(n.typeName,t),null!==r){n.type=r;continue}}if(n.detectedPayloadKind===ne||n.detectedPayloadKind===re){var f=W(n.type.property,o);if(null!==f){if(n.typeName=f.type,M.startsWith(f.type,"Collection")){n.detectedPayloadKind=ae;var y=f.type.substring(11,f.type.length-1);n.typeName=y,n.type=Q(y,t),n.detectedPayloadKind=ae}else n.type=Q(f.type,t),n.detectedPayloadKind=ie;n.name=o}continue}if("$delta"===o){n.deltaKind=pe;continue}if(M.endsWith(o,"/$deletedEntity")){n.deltaKind=de;continue}if(M.endsWith(o,"/$link")){n.deltaKind=ce;continue}if(M.endsWith(o,"/$deletedLink")){n.deltaKind=fe;continue}}}return n}function _(e,t){var n=e[D];if(!n||"string"!=typeof n)return null;var r=n.lastIndexOf("#");if(-1===r)return s(oe);var i=n.substring(r+1);return S(i,t)}function P(e,t){var n,r,i=t.key[0].propertyRef;if(n="(",1==i.length)r=W(t.property,i[0].name).type,n+=E(e[i[0].name],r);else for(var a=!0,o=0;o<i.length;o++)a?a=!1:n+=",",r=W(t.property,i[o].name).type,n+=i[o].name+"="+E(e[i[o].name],r);return n+=")"}function N(e){return Z(e)||ee(e)||te(e)}/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
var M=e("./../utils.js"),A=e("./odatautils.js"),w=e("./handler.js"),O="odata",j=O+".",D="@"+j+"context",G=M.assigned,V=M.defined,k=M.isArray,I=M.isObject,B=M.parseInt10,$=M.getFormatKind,L=M.convertByteArrayToHexString,R=(A.formatDateTimeOffset,A.formatDuration),F=A.formatNumberWidth,q=(A.getCanonicalTimezone,A.handler,A.isComplex,A.isPrimitive),U=A.isCollectionType,Q=A.lookupComplexType,H=A.lookupEntityType,J=A.lookupSingleton,K=A.lookupEntitySet,z=A.lookupDefaultEntityContainer,W=A.lookupProperty,Y=A.MAX_DATA_SERVICE_VERSION,X=A.maxVersion,Z=A.isPrimitiveEdmType,ee=A.isGeographyEdmType,te=A.isGeometryEdmType,ne="f",re="e",ie="p",ae="c",oe="s",se="erl",ue="erls",le="v",pe="f",de="de",ce="l",fe="dl",ye="application/json",he=w.contentType(ye),me=["@odata.id","@odata.type"],ge=/^\/Date\((-?\d+)(\+|-)?(\d+)?\)\/$/,ve=function(e,t){return t&&"Edm.Time"===t.__edmType?R(t):t},xe=w.handler(r,i,ye,Y);xe.recognizeDates=!1,n.createPayloadInfo=_,n.jsonHandler=xe,n.jsonParser=r,n.jsonSerializer=i,n.parseJsonDateString=C},{"./../utils.js":17,"./handler.js":12,"./odatautils.js":16}],14:[function(e,t,n){/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
"use strict";function r(e,t,n,r){return{attributes:e,elements:t,text:n||!1,ns:r}}function i(e){if(!e)return e;if(e.length>1){var t=e.substr(0,2);return t===t.toUpperCase()?e:e.charAt(0).toLowerCase()+e.substr(1)}return e.charAt(0).toLowerCase()}function a(e,t){var n=e.elements;if(!n)return null;var r,a;for(r=0,a=n.length;a>r;r++){var o=n[r],s=!1;if("*"===o.charAt(o.length-1)&&(s=!0,o=o.substr(0,o.length-1)),t===o){var u=i(o);return{isArray:s,propertyName:u}}}return null}function o(e){return e===S}function s(e){var t=g(e),n=v(e),r=M.elements[t];if(!r)return null;if(r.ns){if(n!==r.ns)return null}else if(!o(n))return null;var u={},l=r.attributes||[];return f(e,function(e){var t=g(e),n=v(e),r=e.value;if(n!==x){var a=null;o(n)||null===n?a="":n===_&&(a="m:"),null!==a&&(a+=t,c(l,a)&&(u[i(t)]=r))}}),y(e,function(e){var t=g(e),n=a(r,t);if(n)if(n.isArray){var i=u[n.propertyName];i||(i=[],u[n.propertyName]=i),i.push(s(e))}else u[n.propertyName]=s(e)}),r.text&&(u.text=m(e)),u}function u(e,t){var n=E(t),r=h(n);return s(r)||void 0}var l=e("./../utils.js"),p=e("./../xml.js"),d=e("./handler.js"),c=l.contains,f=(l.normalizeURI,p.xmlAttributes),y=p.xmlChildElements,h=p.xmlFirstChildElement,m=p.xmlInnerText,g=p.xmlLocalName,v=p.xmlNamespaceURI,x=(p.xmlNS,p.xmlnsNS),E=p.xmlParse,b=p.http+"docs.oasis-open.org/odata/",T=b+"ns",C=T+"/edmx",S=T+"/edm",_=T+"/metadata",P=d.MAX_DATA_SERVICE_VERSION,N="application/xml",M={elements:{Action:r(["Name","IsBound","EntitySetPath"],["ReturnType","Parameter*","Annotation*"]),ActionImport:r(["Name","Action","EntitySet","Annotation*"]),Annotation:r(["Term","Qualifier","Binary","Bool","Date","DateTimeOffset","Decimal","Duration","EnumMember","Float","Guid","Int","String","TimeOfDay","AnnotationPath","NavigationPropertyPath","Path","PropertyPath","UrlRef"],["Binary*","Bool*","Date*","DateTimeOffset*","Decimal*","Duration*","EnumMember*","Float*","Guid*","Int*","String*","TimeOfDay*","And*","Or*","Not*","Eq*","Ne*","Gt*","Ge*","Lt*","Le*","AnnotationPath*","Apply*","Cast*","Collection*","If*","IsOf*","LabeledElement*","LabeledElementReference*","Null*","NavigationPropertyPath*","Path*","PropertyPath*","Record*","UrlRef*","Annotation*"]),AnnotationPath:r(null,null,!0),Annotations:r(["Target","Qualifier"],["Annotation*"]),Apply:r(["Function"],["String*","Path*","LabeledElement*","Annotation*"]),And:r(null,null,!0),Or:r(null,null,!0),Not:r(null,null,!0),Eq:r(null,null,!0),Ne:r(null,null,!0),Gt:r(null,null,!0),Ge:r(null,null,!0),Lt:r(null,null,!0),Le:r(null,null,!0),Binary:r(null,null,!0),Bool:r(null,null,!0),Cast:r(["Type"],["Path*","Annotation*"]),Collection:r(null,["Binary*","Bool*","Date*","DateTimeOffset*","Decimal*","Duration*","EnumMember*","Float*","Guid*","Int*","String*","TimeOfDay*","And*","Or*","Not*","Eq*","Ne*","Gt*","Ge*","Lt*","Le*","AnnotationPath*","Apply*","Cast*","Collection*","If*","IsOf*","LabeledElement*","LabeledElementReference*","Null*","NavigationPropertyPath*","Path*","PropertyPath*","Record*","UrlRef*"]),ComplexType:r(["Name","BaseType","Abstract","OpenType"],["Property*","NavigationProperty*","Annotation*"]),Date:r(null,null,!0),DateTimeOffset:r(null,null,!0),Decimal:r(null,null,!0),Duration:r(null,null,!0),EntityContainer:r(["Name","Extends"],["EntitySet*","Singleton*","ActionImport*","FunctionImport*","Annotation*"]),EntitySet:r(["Name","EntityType","IncludeInServiceDocument"],["NavigationPropertyBinding*","Annotation*"]),EntityType:r(["Name","BaseType","Abstract","OpenType","HasStream"],["Key*","Property*","NavigationProperty*","Annotation*"]),EnumMember:r(null,null,!0),EnumType:r(["Name","UnderlyingType","IsFlags"],["Member*"]),Float:r(null,null,!0),Function:r(["Name","IsBound","IsComposable","EntitySetPath"],["ReturnType","Parameter*","Annotation*"]),FunctionImport:r(["Name","Function","EntitySet","IncludeInServiceDocument","Annotation*"]),Guid:r(null,null,!0),If:r(null,["Path*","String*","Annotation*"]),Int:r(null,null,!0),IsOf:r(["Type","MaxLength","Precision","Scale","Unicode","SRID","DefaultValue","Annotation*"],["Path*"]),Key:r(null,["PropertyRef*"]),LabeledElement:r(["Name"],["Binary*","Bool*","Date*","DateTimeOffset*","Decimal*","Duration*","EnumMember*","Float*","Guid*","Int*","String*","TimeOfDay*","And*","Or*","Not*","Eq*","Ne*","Gt*","Ge*","Lt*","Le*","AnnotationPath*","Apply*","Cast*","Collection*","If*","IsOf*","LabeledElement*","LabeledElementReference*","Null*","NavigationPropertyPath*","Path*","PropertyPath*","Record*","UrlRef*","Annotation*"]),LabeledElementReference:r(["Term"],["Binary*","Bool*","Date*","DateTimeOffset*","Decimal*","Duration*","EnumMember*","Float*","Guid*","Int*","String*","TimeOfDay*","And*","Or*","Not*","Eq*","Ne*","Gt*","Ge*","Lt*","Le*","AnnotationPath*","Apply*","Cast*","Collection*","If*","IsOf*","LabeledElement*","LabeledElementReference*","Null*","NavigationPropertyPath*","Path*","PropertyPath*","Record*","UrlRef*"]),Member:r(["Name","Value"],["Annotation*"]),NavigationProperty:r(["Name","Type","Nullable","Partner","ContainsTarget"],["ReferentialConstraint*","OnDelete*","Annotation*"]),NavigationPropertyBinding:r(["Path","Target"]),NavigationPropertyPath:r(null,null,!0),Null:r(null,["Annotation*"]),OnDelete:r(["Action"],["Annotation*"]),Path:r(null,null,!0),Parameter:r(["Name","Type","Nullable","MaxLength","Precision","Scale","SRID"],["Annotation*"]),Property:r(["Name","Type","Nullable","MaxLength","Precision","Scale","Unicode","SRID","DefaultValue"],["Annotation*"]),PropertyPath:r(null,null,!0),PropertyRef:r(["Name","Alias"]),PropertyValue:r(["Property","Path"],["Binary*","Bool*","Date*","DateTimeOffset*","Decimal*","Duration*","EnumMember*","Float*","Guid*","Int*","String*","TimeOfDay*","And*","Or*","Not*","Eq*","Ne*","Gt*","Ge*","Lt*","Le*","AnnotationPath*","Apply*","Cast*","Collection*","If*","IsOf*","LabeledElement*","LabeledElementReference*","Null*","NavigationPropertyPath*","Path*","PropertyPath*","Record*","UrlRef*","Annotation*"]),Record:r(null,["PropertyValue*","Property*","Annotation*"]),ReferentialConstraint:r(["Property","ReferencedProperty","Annotation*"]),ReturnType:r(["Type","Nullable","MaxLength","Precision","Scale","SRID"]),String:r(null,null,!0),Schema:r(["Namespace","Alias"],["Action*","Annotations*","Annotation*","ComplexType*","EntityContainer","EntityType*","EnumType*","Function*","Term*","TypeDefinition*","Annotation*"]),Singleton:r(["Name","Type"],["NavigationPropertyBinding*","Annotation*"]),Term:r(["Name","Type","BaseTerm","DefaultValue ","AppliesTo","Nullable","MaxLength","Precision","Scale","SRID"],["Annotation*"]),TimeOfDay:r(null,null,!0),TypeDefinition:r(["Name","UnderlyingType","MaxLength","Unicode","Precision","Scale","SRID"],["Annotation*"]),UrlRef:r(null,["Binary*","Bool*","Date*","DateTimeOffset*","Decimal*","Duration*","EnumMember*","Float*","Guid*","Int*","String*","TimeOfDay*","And*","Or*","Not*","Eq*","Ne*","Gt*","Ge*","Lt*","Le*","AnnotationPath*","Apply*","Cast*","Collection*","If*","IsOf*","LabeledElement*","LabeledElementReference*","Null*","NavigationPropertyPath*","Path*","PropertyPath*","Record*","UrlRef*","Annotation*"]),Edmx:r(["Version"],["DataServices","Reference*"],!1,C),DataServices:r(["m:MaxDataServiceVersion","m:DataServiceVersion"],["Schema*"],!1,C),Reference:r(["Uri"],["Include*","IncludeAnnotations*","Annotation*"]),Include:r(["Namespace","Alias"]),IncludeAnnotations:r(["TermNamespace","Qualifier","TargetNamespace"])}};n.metadataHandler=d.handler(u,null,N,P),n.schema=M,n.scriptCase=i,n.getChildSchema=a,n.parseConceptualModelElement=s,n.metadataParser=u},{"./../utils.js":17,"./../xml.js":18,"./handler.js":12}],15:[function(e,t,n){function r(e){return!(e.method&&"GET"!==e.method)}function i(e){var t=window.document.createElement("IFRAME");t.style.display="none";var n=e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;"),r='<html><head><script type="text/javascript" src="'+n+'"></script></head><body></body></html>',i=window.document.getElementsByTagName("BODY")[0];return i.appendChild(t),d(t,r),t}function a(){if(window.XMLHttpRequest)return new window.XMLHttpRequest;var e;if(window.ActiveXObject)try{return new window.ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(t){try{return new window.ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(n){e=n}}else e={message:"XMLHttpRequest not supported"};throw e}function o(e){return 0===e.indexOf("http://")||0===e.indexOf("https://")||0===e.indexOf("file://")}function s(e){if(!o(e))return!0;var t=window.location,n=t.protocol+"//"+t.host+"/";return 0===e.indexOf(n)}function u(e,t){try{delete window[e]}catch(n){window[e]=void 0,t===h-1&&(h-=1)}}function l(e){return e&&(d(e,""),e.parentNode.removeChild(e)),null}function p(e,t){var n,r,i=e.getAllResponseHeaders().split(/\r?\n/);for(n=0,r=i.length;r>n;n++)if(i[n]){var a=i[n].split(": ");t[a[0]]=a[1]}}function d(e,t){var n=e.contentWindow?e.contentWindow.document:e.contentDocument.document;n.open(),n.write(t),n.close()}/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
var c=e("./../utils.js"),f=c.defined,y=c.delay,h=0;n.defaultHttpClient={callbackParameterName:"$callback",formatQueryString:"$format=json",enableJsonpCallback:!1,request:function(){var e=this;return function(t,n,o){var d,c={},m=null,g=!1;c.abort=function(){d=l(d),g||(g=!0,m&&(m.abort(),m=null),o({message:"Request aborted"}))};var v,x=function(){d=l(d),g||(g=!0,m=null,o({message:"Request timed out"}))},E=t.requestUri,b=f(t.enableJsonpCallback,e.enableJsonpCallback),T=f(t.callbackParameterName,e.callbackParameterName),C=f(t.formatQueryString,e.formatQueryString);if(!b||s(E)){if(m=a(),m.onreadystatechange=function(){if(!g&&null!==m&&4===m.readyState){var e=m.statusText,r=m.status;1223===r&&(r=204,e="No Content");var i=[];p(m,i);var a={requestUri:E,statusCode:r,statusText:e,headers:i,body:m.responseText};g=!0,m=null,r>=200&&299>=r?n(a):o({message:"HTTP request failed",request:t,response:a})}},m.open(t.method||"GET",E,!0,t.user,t.password),t.headers)for(v in t.headers)m.setRequestHeader(v,t.headers[v]);t.timeoutMS&&(m.timeout=t.timeoutMS,m.ontimeout=x),"undefined"==typeof t.body?m.send():m.send(t.body)}else{if(!r(t))throw{message:"Request is not local and cannot be done through JSONP."};var S=h;h+=1;var _,P=S.toString(),N=!1;v="handleJSONP_"+P,window[v]=function(e){if(d=l(d),!g){N=!0,window.clearTimeout(_),u(v,S),window.ActiveXObject&&(e=window.JSON.parse(window.JSON.stringify(e)));var t;t=C&&"$format=json"!=C?{"Content-Type":C.substring(8),"OData-Version":"4.0"}:{"Content-Type":"application/json;odata.metadata=minimal","OData-Version":"4.0"},y(function(){l(d),n({body:e,statusCode:200,headers:t})})}};var M=t.timeoutMS?t.timeoutMS:12e4;_=window.setTimeout(x,M);var A=T+"=parent."+v;C&&(A+="&"+C);var w=E.indexOf("?");-1===w?E=E+"?"+A:w===E.length-1?E+=A:E=E+"&"+A,d=i(E)}return c}}()},n.canUseJSONP=r,n.isAbsoluteUrl=o,n.isLocalUrl=s},{"./../utils.js":17}],16:[function(e,t,n){/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
"use strict";function r(e,t){if(!e)return null;if(ne(e)){var n,i,a;for(n=0,i=e.length;i>n;n++)if(a=r(e[n],t))return a;return null}return e.dataServices?r(e.dataServices.schema,t):t(e)}function i(e,t){return e=0===e?"":"."+u(e.toString(),3),t>0&&(""===e&&(e=".000"),e+=u(t.toString(),4)),e}function a(e){return"/Date("+e.getTime()+")/"}function o(e){if("string"==typeof e)return e;var t=m(e),n=l(e.__offset);if(t&&"Z"!==n){e=new Date(e.valueOf());var r=K(n),a=e.getUTCHours()+r.d*r.h,o=e.getUTCMinutes()+r.d*r.m;e.setUTCHours(a,o)}else t||(n="");var s=e.getUTCFullYear(),p=e.getUTCMonth()+1,d="";0>=s&&(s=-(s-1),d="-");var c=i(e.getUTCMilliseconds(),e.__ns);return d+u(s,4)+"-"+u(p,2)+"-"+u(e.getUTCDate(),2)+"T"+u(e.getUTCHours(),2)+":"+u(e.getUTCMinutes(),2)+":"+u(e.getUTCSeconds(),2)+c+n}function s(e){var t=e.ms,n="";0>t&&(n="-",t=-t);var r=Math.floor(t/864e5);t-=864e5*r;var a=Math.floor(t/36e5);t-=36e5*a;var o=Math.floor(t/6e4);t-=6e4*o;var s=Math.floor(t/1e3);return t-=1e3*s,n+"P"+u(r,2)+"DT"+u(a,2)+"H"+u(o,2)+"M"+u(s,2)+i(t,e.ns)+"S"}function u(e,t,n){for(var r=e.toString(10);r.length<t;)n?r+="0":r="0"+r;return r}function l(e){return e&&"Z"!==e&&"+00:00"!==e&&"-00:00"!==e?e:"Z"}function p(e){if("string"==typeof e){var t=e.indexOf(")",10);if(0===e.indexOf("Collection(")&&t>0)return e.substring(11,t)}return null}function d(e,t,n,r,i,a){return i.request(e,function(i){try{i.headers&&R(i.headers),void 0===i.data&&204!==i.statusCode&&r.read(i,a)}catch(o){return void 0===o.request&&(o.request=e),void 0===o.response&&(o.response=i),void n(o)}try{t(i.data,i)}catch(o){throw o.bIsSuccessHandlerError=!0,o}},n)}function c(e){return h(e)&&ne(e.__batchRequests)}function f(e,t){var n=e&&e.results||e;return!!n&&y(t)||!t&&ne(n)&&!h(n[0])}function y(e){return yt.test(e)}function h(e){return!!e&&ie(e)&&!ne(e)&&!re(e)}function m(e){return"Edm.DateTimeOffset"===e.__edmType||!e.__edmType&&e.__offset}function g(e){if(!e&&!h(e))return!1;var t=e.__metadata||{},n=e.__deferred||{};return!t.type&&!!n.uri}function v(e){return h(e)&&e.__metadata&&"uri"in e.__metadata}function x(e,t){var n=e&&e.results||e;return ne(n)&&!y(t)&&h(n[0])}function E(e){return ee(ct,e)||-1===e.indexOf(".")&&ee(ft,e)}function b(e){return ee(pt,e)||-1===e.indexOf(".")&&ee(dt,e)}function T(e){if(!e&&!h(e))return!1;var t=e.__metadata,n=e.__mediaresource;return!t&&!!n&&!!n.media_src}function C(e){return re(e)||"string"==typeof e||"number"==typeof e||"boolean"==typeof e}function S(e){return ee(lt,e)}function _(e,t){return g(e)?"deferred":v(e)?"entry":x(e)?"feed":t&&t.relationship?null!==e&&void 0!==e&&x(e)?"feed":"entry":null}function P(e,t){return te(e,function(e){return e.name===t})}function N(e,t,n){return e?r(t,function(t){return $(e,t,n)}):null}function M(e,t){return te(e,function(e){return e.name===t})}function A(e,t){return te(e,function(e){return e.name===t})}function w(e,t){return N(e,t,"complexType")}function O(e,t){return N(e,t,"entityType")}function j(e){return r(e,function(e){return ie(e.entityContainer)?e.entityContainer:void 0})}function D(e,t){return N(e,t,"entityContainer")}function G(e,t){return te(e,function(e){return e.name===t})}function V(e,t){var n=null;if(e){var i=e.relationship,a=r(t,function(e){var t=B(e.namespace,i),n=e.association;if(t&&n){var r,a;for(r=0,a=n.length;a>r;r++)if(n[r].name===t)return n[r]}return null});if(a){var o=a.end[0];o.role!==e.toRole&&(o=a.end[1]),n=o.type}}return n}function k(e,t,n){if(e){var i=e.relationship,a=r(n,function(e){for(var t=e.entityContainer,n=0;n<t.length;n++){var r=t[n].associationSet;if(r)for(var a=0;a<r.length;a++)if(r[a].association==i)return r[a]}return null});if(a&&a.end[0]&&a.end[1])return a.end[0].entitySet==t?a.end[1].entitySet:a.end[0].entitySet}return null}function I(e,t){var n=r(t,function(t){var n=t.entityContainer,r=n.entitySet;if(r)for(var i=0;i<r.length;i++)if(r[i].name==e)return{entitySet:r[i],containerName:n.name,functionImport:n.functionImport};return null});return n}function B(e,t){return 0===t.indexOf(e)&&"."===t.charAt(e.length)?t.substr(e.length+1):null}function $(e,t,n){if(e&&t){var r=B(t.namespace,e);if(r)return te(t[n],function(e){return e.name===r})}return null}function L(e,t){if(e===t)return e;for(var n=e.split("."),r=t.split("."),i=n.length>=r.length?n.length:r.length,a=0;i>a;a++){var o=n[a]&&ae(n[a]),s=r[a]&&ae(r[a]);if(o>s)return e;if(s>o)return t}}function R(e){for(var t in e){var n=t.toLowerCase(),r=ht[n];if(r&&t!==r){var i=e[t];delete e[t],e[r]=i}}}function F(e){return"boolean"==typeof e?e:"string"==typeof e&&"true"===e.toLowerCase()}function q(e,t,n){var r=mt.exec(e),i=r?l(r[8]):null;if(!r||!t&&"Z"!==i){if(n)return null;throw{message:"Invalid date/time value"}}var a=ae(r[1]);0>=a&&a++;var o=r[7],s=0;if(o){if(o.length>7){if(n)return null;throw{message:"Cannot parse date/time value to given precision."}}s=u(o.substring(3),4,!0),o=u(o.substring(0,3),3,!0),o=ae(o),s=ae(s)}else o=0;var p=ae(r[4]),d=ae(r[5]),c=ae(r[6])||0;if("Z"!==i){var f=K(i),y=-f.d;p+=f.h*y,d+=f.m*y}var h=new Date;if(h.setUTCFullYear(a,ae(r[2])-1,ae(r[3])),h.setUTCHours(p,d,c,o),isNaN(h.valueOf())){if(n)return null;throw{message:"Invalid date/time value"}}return t&&(h.__edmType="Edm.DateTimeOffset",h.__offset=i),s&&(h.__ns=s),h}function U(e,t){var n=e.split("-");return 3!=n.length&&t?null:new Date(ae(n[0]),ae(n[1])-1,ae(n[2],0,0,0,0))}function Q(e,t){var n=gt.exec(e);return{h:ae(n[1]),m:ae(n[2]),s:ae(n[4]),ms:ae(n[6])}}function H(e,t){return q(e,!0,t)}function J(e){var t=vt.exec(e);if(null===t)throw{message:"Invalid duration value."};var n=t[2]||"0",r=t[3]||"0",i=ae(t[4]||0),a=ae(t[5]||0),o=ae(t[6]||0),s=parseFloat(t[7]||0);if("0"!==n||"0"!==r)throw{message:"Unsupported duration value."};var l=t[8],p=0;if(l){if(l.length>7)throw{message:"Cannot parse duration value to given precision."};p=u(l.substring(3),4,!0),l=u(l.substring(0,3),3,!0),l=ae(l),p=ae(p)}else l=0;l+=1e3*s+6e4*o+36e5*a+864e5*i,"-"===t[1]&&(l=-l);var d={ms:l,__edmType:"Edm.Time"};return p&&(d.ns=p),d}function K(e){var t=e.substring(0,1);t="+"===t?1:-1;var n=ae(e.substring(1)),r=ae(e.substring(e.indexOf(":")+1));return{d:t,h:n,m:r}}function z(e,t,n){e.method||(e.method="GET"),e.headers?R(e.headers):e.headers={},void 0===e.headers.Accept&&(e.headers.Accept=t.accept),Z(e.data)&&void 0===e.body&&t.write(e,n),Z(e.headers["OData-MaxVersion"])||(e.headers["OData-MaxVersion"]=t.maxDataServiceVersion||"4.0"),void 0===e.async&&(e.async=!0)}function W(e,t,n){if(e&&"object"==typeof e)for(var r in e){var i=e[r],a=W(i,r,n);a=n(r,a,t),a!==i&&(void 0===i?delete e[r]:e[r]=a)}return e}function Y(e,t){return t("",W(e,"",t))}var X=e("./../utils.js"),Z=X.assigned,ee=X.contains,te=X.find,ne=X.isArray,re=X.isDate,ie=X.isObject,ae=X.parseInt10,oe=function(e,t){var n=(e&&e.__metadata||{}).type;return n||(t?t.type:null)},se="Edm.",ue=se+"Boolean",le=se+"Byte",pe=se+"SByte",de=se+"Int16",ce=se+"Int32",fe=se+"Int64",ye=se+"Single",he=se+"Double",me=se+"Decimal",ge=se+"String",ve=se+"Binary",xe=se+"Date",Ee=se+"DateTimeOffset",be=se+"Duration",Te=se+"Guid",Ce=se+"Time",Se="Geography",_e=se+Se,Pe=_e+"Point",Ne=_e+"LineString",Me=_e+"Polygon",Ae=_e+"Collection",we=_e+"MultiPolygon",Oe=_e+"MultiLineString",je=_e+"MultiPoint",De=Se+"Point",Ge=Se+"LineString",Ve=Se+"Polygon",ke=Se+"Collection",Ie=Se+"MultiPolygon",Be=Se+"MultiLineString",$e=Se+"MultiPoint",Le="Geometry",Re=se+Le,Fe=Re+"Point",qe=Re+"LineString",Ue=Re+"Polygon",Qe=Re+"Collection",He=Re+"MultiPolygon",Je=Re+"MultiLineString",Ke=Re+"MultiPoint",ze=Le+"Point",We=Le+"LineString",Ye=Le+"Polygon",Xe=Le+"Collection",Ze=Le+"MultiPolygon",et=Le+"MultiLineString",tt=Le+"MultiPoint",nt="Point",rt="LineString",it="Polygon",at="MultiPoint",ot="MultiLineString",st="MultiPolygon",ut="GeometryCollection",lt=[ge,ce,fe,ue,he,ye,xe,Ee,be,Ce,me,Te,le,de,pe,ve],pt=[Re,Fe,qe,Ue,Qe,He,Je,Ke],dt=[Le,ze,We,Ye,Xe,Ze,et,tt],ct=[_e,Pe,Ne,Me,Ae,we,Oe,je],ft=[Se,De,Ge,Ve,ke,Ie,Be,$e],yt=/Collection\((.*)\)/,ht={"content-type":"Content-Type","content-encoding":"Content-Encoding","content-length":"Content-Length","odata-version":"OData-Version",accept:"Accept","accept-charset":"Accept-Charset","if-match":"If-Match","if-none-match":"If-None-Match","odata-isolation":"OData-Isolation","odata-maxversion":"OData-MaxVersion",prefer:"Prefer","content-id":"Content-ID","content-transfer-encoding":"Content-Transfer-Encoding",etag:"ETag",location:"Location","odata-entityid":"OData-EntityId","preference-applied":"Preference-Applied","retry-after":"Retry-After"},mt=/^(-?\d{4,})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2}))?(?:\.(\d+))?(.*)$/,gt=/^(\d+):(\d+)(:(\d+)(.(\d+))?)?$/,vt=/^([+-])?P(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)D)?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)(?:\.(\d+))?S)?)?/;n.dataItemTypeName=oe,n.EDM_BINARY=ve,n.EDM_BOOLEAN=ue,n.EDM_BYTE=le,n.EDM_DATE=xe,n.EDM_DATETIMEOFFSET=Ee,n.EDM_DURATION=be,n.EDM_DECIMAL=me,n.EDM_DOUBLE=he,n.EDM_GEOGRAPHY=_e,n.EDM_GEOGRAPHY_POINT=Pe,n.EDM_GEOGRAPHY_LINESTRING=Ne,n.EDM_GEOGRAPHY_POLYGON=Me,n.EDM_GEOGRAPHY_COLLECTION=Ae,n.EDM_GEOGRAPHY_MULTIPOLYGON=we,n.EDM_GEOGRAPHY_MULTILINESTRING=Oe,n.EDM_GEOGRAPHY_MULTIPOINT=je,n.EDM_GEOMETRY=Re,n.EDM_GEOMETRY_POINT=Fe,n.EDM_GEOMETRY_LINESTRING=qe,n.EDM_GEOMETRY_POLYGON=Ue,n.EDM_GEOMETRY_COLLECTION=Qe,n.EDM_GEOMETRY_MULTIPOLYGON=He,n.EDM_GEOMETRY_MULTILINESTRING=Je,n.EDM_GEOMETRY_MULTIPOINT=Ke,n.EDM_GUID=Te,n.EDM_INT16=de,n.EDM_INT32=ce,n.EDM_INT64=fe,n.EDM_SBYTE=pe,n.EDM_SINGLE=ye,n.EDM_STRING=ge,n.EDM_TIMEOFDAY=Ce,n.GEOJSON_POINT=nt,n.GEOJSON_LINESTRING=rt,n.GEOJSON_POLYGON=it,n.GEOJSON_MULTIPOINT=at,n.GEOJSON_MULTILINESTRING=ot,n.GEOJSON_MULTIPOLYGON=st,n.GEOJSON_GEOMETRYCOLLECTION=ut,n.forEachSchema=r,n.formatDateTimeOffset=o,n.formatDateTimeOffsetJSON=a,n.formatDuration=s,n.formatNumberWidth=u,n.getCanonicalTimezone=l,n.getCollectionType=p,n.invokeRequest=d,n.isBatch=c,n.isCollection=f,n.isCollectionType=y,n.isComplex=h,n.isDateTimeOffset=m,n.isDeferred=g,n.isEntry=v,n.isFeed=x,n.isGeographyEdmType=E,n.isGeometryEdmType=b,n.isNamedStream=T,n.isPrimitive=C,n.isPrimitiveEdmType=S,n.lookupComplexType=w,n.lookupDefaultEntityContainer=j,n.lookupEntityContainer=D,n.lookupEntitySet=M,n.lookupSingleton=A,n.lookupEntityType=O,n.lookupFunctionImport=G,n.lookupNavigationPropertyType=V,n.lookupNavigationPropertyEntitySet=k,n.lookupInSchema=$,n.lookupProperty=P,n.lookupInMetadata=N,n.getEntitySetInfo=I,n.maxVersion=L,n.navigationPropertyKind=_,n.normalizeHeaders=R,n.parseBool=F,n.parseDate=U,n.parseDateTimeOffset=H,n.parseDuration=J,n.parseTimeOfDay=Q,n.parseInt10=ae,n.prepareRequest=z,n.removeNamespace=B,n.traverse=Y},{"./../utils.js":17}],17:[function(e,t,n){/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
"use strict";function r(){return"undefined"!=typeof window}function i(e){return null!==e&&void 0!==e}function a(e,t){var n,r;for(n=0,r=e.length;r>n;n++)if(e[n]===t)return!0;return!1}function o(e,t){return void 0!==e?e:t}function s(e){if(1===arguments.length)return void window.setTimeout(e,0);var t=Array.prototype.slice.call(arguments,1);window.setTimeout(function(){e.apply(this,t)},0)}function u(e,t,n){if(!e)throw{message:"Assert fired: "+t,data:n}}function l(e,t){for(var n in t)e[n]=t[n];return e}function p(e,t){if(e){var n,r;for(n=0,r=e.length;r>n;n++)if(t(e[n]))return e[n]}return null}function d(e){return"[object Array]"===Object.prototype.toString.call(e)}function c(e){return"[object Date]"===Object.prototype.toString.call(e)}function f(e){return"object"==typeof e}function y(e){return parseInt(e,10)}function h(e,t,n){e.hasOwnProperty(t)&&(e[n]=e[t],delete e[t])}function m(e){throw e}function g(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function v(e,t){return void 0!==e?e:t}function x(e){var t={isAbsolute:!1};if(e){var n=k.exec(e);if(n){var r,i;for(r=0,i=I.length;i>r;r++)n[r+1]&&(t[I[r]]=n[r+1])}t.scheme&&(t.isAbsolute=!0)}return t}function E(e){return"".concat(e.scheme||"",e.authority||"",e.path||"",e.query||"",e.fragment||"")}function b(e){var t=x(e),n=t.scheme,r=t.authority;if(n&&(t.scheme=n.toLowerCase(),r)){var i=B.exec(r);i&&(t.authority="//"+(i[1]?i[1]+"@":"")+i[2].toLowerCase()+(i[3]?":"+i[3]:""))}return e=E(t),e.replace($,function(e){return e.toLowerCase()})}function T(e,t){if(!t)return e;var n=x(e);if(n.isAbsolute)return e;var r,i=x(t),a={};return n.authority?(a.authority=n.authority,r=n.path,a.query=n.query):(n.path?(r="/"===n.path.charAt(0)?n.path:C(n.path,i.path),a.query=n.query):(r=i.path,a.query=n.query||i.query),a.authority=i.authority),a.path=S(r),a.scheme=i.scheme,a.fragment=n.fragment,E(a)}function C(e,t){var n,r="/";return t&&(n=t.lastIndexOf("/"),r=t.substring(0,n),"/"!==r.charAt(r.length-1)&&(r+="/")),r+e}function S(e){for(var t,n="",r="";e;)0===e.indexOf("..")||0===e.indexOf(".")?e=e.replace(/^\.\.?\/?/g,""):0===e.indexOf("/..")?(e=e.replace(/^\/\..\/?/g,"/"),t=n.lastIndexOf("/"),n=-1===t?"":n.substring(0,t)):0===e.indexOf("/.")?e=e.replace(/^\/\.\/?/g,"/"):(r=e,t=e.indexOf("/",1),-1!==t&&(r=e.substring(0,t)),n+=r,e=e.replace(r,""));return n}function _(e){var t=[];if(void 0===window.atob)t=P(e);else for(var n=window.atob(e),r=0;r<n.length;r++)t.push(n.charCodeAt(r));for(var i="",a="0123456789ABCDEF",o=0;o<t.length;o++){var s=t[o];i+=a[s>>4],i+=a[15&s]}return i}function P(e){for(var t="",n=0;n<e.length;n++){var r=N(e[n]),i="";null!==r&&(i=r.toString(2),t+=M(i))}var a=[],o=parseInt(t.length/8,10);for(n=0;o>n;n++){var s=parseInt(t.substring(8*n,8*(n+1)),2);a.push(s)}return a}function N(e){var t=e.charCodeAt(0),n=65,r=6;return t>=65&&90>=t?t-n:t>=97&&122>=t?t-n-r:t>=48&&57>=t?t+4:"+"==e?62:"/"==e?63:null}function M(e){for(;e.length<6;)e="0"+e;return e}function A(e){return e&&e.value?e.value.length:0}function w(e,t,n){if(void 0===e||void 0===e.value)return e;0>t&&(t=0);var r=A(e);n>r&&(n=r);var i={};for(var a in e)"value"==a?i[a]=e[a].slice(t,n):i[a]=e[a];return i}function O(e,t){return void 0===t||void 0===t.value?e:void 0===e||0===Object.keys(e).length?t:void 0===e.value?(e.value=t.value,e):(e.value=e.value.concat(t.value),e)}function j(e,t){return-1!==e.indexOf(t,e.length-t.length)}function D(e,t){return 0===e.indexOf(t)}function G(e,t){var n=t;if(!i(e))return n;var r=e.toLowerCase();switch(r){case"none":n=0;break;case"minimal":n=1;break;case"full":n=2}return n}var V=function(e){return window.ActiveXObject?new window.ActiveXObject(e):null},k=/^([^:\/?#]+:)?(\/\/[^\/?#]*)?([^?#:]+)?(\?[^#]*)?(#.*)?/,I=["scheme","authority","path","query","fragment"],B=/^\/{0,2}(?:([^@]*)@)?([^:]+)(?::{1}(\d+))?/,$=/%[0-9A-F]{2}/gi;n.inBrowser=r,n.activeXObject=V,n.assigned=i,n.contains=a,n.defined=o,n.delay=s,n.djsassert=u,n.extend=l,n.find=p,n.getURIInfo=x,n.isArray=d,n.isDate=c,n.isObject=f,n.normalizeURI=T,n.normalizeURICase=b,n.parseInt10=y,n.renameProperty=h,n.throwErrorCallback=m,n.trimString=g,n.undefinedDefault=v,n.decodeBase64=P,n.convertByteArrayToHexString=_,n.getJsonValueArraryLength=A,n.sliceJsonValueArray=w,n.concatJsonValueArray=O,n.startsWith=D,n.endsWith=j,n.getFormatKind=G},{}],18:[function(e,t,n){/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
"use strict";function r(e){var t=/(^\s)|(\s$)/;return t.test(e)}function i(e){var t=/^\s*$/;return null===e||t.test(e)}function a(e){for(;null!==e&&1===e.nodeType;){var t=m(e,"space",X);if("preserve"===t)return!0;if("default"===t)break;e=e.parentNode}return!1}function o(e){var t=e.nodeName;return"xmlns"==t||0===t.indexOf("xmlns:")}function s(e,t,n){try{e.setProperty(t,n)}catch(r){}}function u(){var e=q("Msxml2.DOMDocument.3.0");return e&&(s(e,"ProhibitDTD",!0),s(e,"MaxElementDepth",256),s(e,"AllowDocumentFunction",!1),s(e,"AllowXsltScript",!1)),e}function l(){try{var e=q("Msxml2.DOMDocument.6.0");return e&&(e.async=!0),e}catch(t){return u()}}function p(e){var t=l();if(!t)return null;t.loadXML(e);var n=t.parseError;return 0!==n.errorCode&&d(n.reason,n.srcText,e),t}function d(e,t,n){throw"string"==typeof e&&(e={message:e}),Q(e,{srcText:t||"",errorXmlText:n||""})}function c(t){var n=void 0;n=F.inBrowser()?window.DOMParser&&new window.DOMParser:new(e("xmldom").DOMParser);var r;if(!n)return r=p(t),r||d("XML DOM parser not supported"),r;try{r=n.parseFromString(t,"text/xml")}catch(i){d(i,"",t)}var a=r.documentElement,o=a.namespaceURI,s=P(a);if("parsererror"===s&&o===Z){var u=T(a,Z,"sourcetext"),l=u?M(u):"";d(_(a)||"",l,t)}if("h3"===s&&o===W||C(a,W,"h3")){for(var c="",f=[],y=a.firstChild;y;)1===y.nodeType&&(c+=_(y)||""),f.push(y.nextSibling),y=y.firstChild||f.shift();c+=_(a)||"",d(c,"",t)}return r}function f(e,t){return e?e+":"+t:t}function y(e,t){if(r(t.data)){var n=g(e,X,"space");n||(n=G(e.ownerDocument,X,f("xml","space")),D(e,n)),n.value="preserve"}return e.appendChild(t),e}function h(e,t){var n,r,i=e.attributes;for(n=0,r=i.length;r>n;n++)t(i.item(n))}function m(e,t,n){var r=g(e,t,n);return r?M(r):null}function g(e,t,n){var r=e.attributes;return r.getNamedItemNS?r.getNamedItemNS(n||null,t):r.getQualifiedItem(t,n)||null}function v(e,t){var n=g(e,"base",X);return(n?J(n.value,t):t)||null}function x(e,t){A(e,!1,function(e){return 1===e.nodeType&&t(e),!0})}function E(e,t,n){var r,i,a=n.split("/");for(r=0,i=a.length;i>r;r++)e=e&&T(e,t,a[r]);return e||null}function b(e,t,n){var r=n.lastIndexOf("/"),i=n.substring(r+1),a=n.substring(0,r),o=a?E(e,t,a):e;return o?"@"===i.charAt(0)?g(o,i.substring(1),t):T(o,t,i):null}function T(e,t,n){return S(e,t,n,!1)}function C(e,t,n){if(e.getElementsByTagNameNS){var r=e.getElementsByTagNameNS(t,n);return r.length>0?r[0]:null}return S(e,t,n,!0)}function S(e,t,n,r){var i=null;return A(e,r,function(e){if(1===e.nodeType){var r=!t||N(e)===t,a=!n||P(e)===n;r&&a&&(i=e)}return null===i}),i}function _(e){var t,n=null,r=9===e.nodeType&&e.documentElement?e.documentElement:e,o=r.ownerDocument.preserveWhiteSpace===!1;return A(r,!1,function(e){if(3===e.nodeType||4===e.nodeType){var s=M(e),u=o||!i(s);u||(void 0===t&&(t=a(r)),u=t),u&&(n?n+=s:n=s)}return!0}),n}function P(e){return e.localName||e.baseName}function N(e){return e.namespaceURI||null}function M(e){return 1===e.nodeType?_(e):e.nodeValue}function A(e,t,n){for(var r=[],i=e.firstChild,a=!0;i&&a;)a=n(i),a&&(t&&i.firstChild&&r.push(i.firstChild),i=i.nextSibling||r.shift())}function w(e,t,n){for(var r=e.nextSibling;r;){if(1===r.nodeType){var i=!t||N(r)===t,a=!n||P(r)===n;if(i&&a)return r}r=r.nextSibling}return null}function O(){var e=window.document.implementation;return e&&e.createDocument?e.createDocument(null,null,null):l()}function j(e,t){if(!H(t))return D(e,t);var n,r;for(n=0,r=t.length;r>n;n++)t[n]&&D(e,t[n]);return e}function D(e,t){if(U(e!==t,"xmlAppendChild() - parent and child are one and the same!"),t){if("string"==typeof t)return y(e,B(e.ownerDocument,t));2===t.nodeType?e.setAttributeNodeNS?e.setAttributeNodeNS(t):e.setAttributeNode(t):e.appendChild(t)}return e}function G(e,t,n,r){var i=e.createAttributeNS&&e.createAttributeNS(t,n)||e.createNode(2,n,t||void 0);return i.value=r||"",i}function V(e,t,n,r){var i=e.createElementNS&&e.createElementNS(nampespaceURI,n)||e.createNode(1,n,nampespaceURI||void 0);return j(i,r||[])}function k(e,t,n){return G(e,Y,f("xmlns",n),t)}function I(e,t){for(var n="<c>"+t+"</c>",r=c(n),i=r.documentElement,a=("importNode"in e?e.importNode(i,!0):i),o=e.createDocumentFragment(),s=a.firstChild;s;)o.appendChild(s),s=s.nextSibling;return o}function B(e,t){return e.createTextNode(t)}function $(e,t,n,r,i){var a,o,s="",u=i.split("/"),l=T,p=V,d=t;for(a=0,o=u.length;o>a;a++){s=u[a],"@"===s.charAt(0)&&(s=s.substring(1),l=g,p=G);var c=l(d,n,s);c||(c=p(e,n,f(r,s)),D(d,c)),d=c}return d}function L(e){var t=window.XMLSerializer;if(t){var n=new t;return n.serializeToString(e)}if(e.xml)return e.xml;throw{message:"XML serialization unsupported"}}function R(e){var t,n=e.childNodes,r=n.length;if(0===r)return"";var i=e.ownerDocument,a=i.createDocumentFragment(),o=i.createElement("c");for(a.appendChild(o),t=0;r>t;t++)o.appendChild(n[t]);var s=L(a);for(s=s.substr(3,s.length-7),t=0;r>t;t++)e.appendChild(o.childNodes[t]);return s}var F=e("./utils.js"),q=F.activeXObject,U=F.djsassert,Q=F.extend,H=F.isArray,J=F.normalizeURI,K="http://",z=K+"www.w3.org/",W=z+"1999/xhtml",Y=z+"2000/xmlns/",X=z+"XML/1998/namespace",Z=K+"www.mozilla.org/newlayout/xml/parsererror.xml";n.http=K,n.w3org=z,n.xmlNS=X,n.xmlnsNS=Y,n.hasLeadingOrTrailingWhitespace=r,n.isXmlNSDeclaration=o,n.xmlAppendChild=D,n.xmlAppendChildren=j,n.xmlAttributeNode=g,n.xmlAttributes=h,n.xmlAttributeValue=m,n.xmlBaseURI=v,n.xmlChildElements=x,n.xmlFindElementByPath=E,n.xmlFindNodeByPath=b,n.xmlFirstChildElement=T,n.xmlFirstDescendantElement=C,n.xmlInnerText=_,n.xmlLocalName=P,n.xmlNamespaceURI=N,n.xmlNodeValue=M,n.xmlDom=O,n.xmlNewAttribute=G,n.xmlNewElement=V,n.xmlNewFragment=I,n.xmlNewNodeByPath=$,n.xmlNewNSDeclaration=k,n.xmlNewText=B,n.xmlParse=c,n.xmlQualifiedName=f,n.xmlSerialize=L,n.xmlSerializeDescendants=R,n.xmlSiblingElement=w},{"./utils.js":17,xmldom:24}],19:[function(e,t,n){"use strict";var r=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},i=e("extend"),a=e("./promiseHandlerBase"),o=function(e){function t(){e.call(this);var t=this,n=new Promise(function(e,n){t.resolve=e,t.reject=n});this.deferred={resolve:function(){t.resolve.apply(n,arguments)},reject:function(){t.reject.apply(n,arguments)},promise:n}}return r(t,e),t.prototype.createCallback=function(e){var t=a.PromiseHandlerBase.createCallbackSettings(e),n=this,r=new a.CallbackSettings;return r=i(r,{success:function(){t.success.apply(n.deferred,arguments),n.resolve.apply(n.deferred,arguments)},error:function(){Array.prototype.push.call(arguments,n.deferred),t.error.apply(n.deferred,arguments)},notify:function(){t.notify.apply(n.deferred,arguments)}})},t.prototype.getPromise=function(){return this.deferred.promise},t.compatibilityMode=function(){Promise.prototype.fail=function(e){return this.then(null,function(t){throw e(t),t})},Promise.prototype.always=function(e){return this.then(e,function(t){throw e(t),t})}},t.use=function(e){e.PromiseHandler="function"==typeof Promise?t:a.PromiseHandlerBase,e.PromiseHandlerBase=a.PromiseHandlerBase,e.Promise=a.PromiseNotImplemented},t}(a.PromiseHandlerBase);n.PromiseHandler=o},{"./promiseHandlerBase":20,extend:2}],20:[function(e,t,n){"use strict";var r=e("extend"),i=e("jaydata-error-handler"),a=function(){function e(){}return e}();n.CallbackSettings=a;var o=function(){function e(){}return e.prototype.always=function(){i.Guard.raise(new i.Exception("$data.Promise.always","Not implemented!"))},e.prototype.done=function(){i.Guard.raise(new i.Exception("$data.Promise.done","Not implemented!"))},e.prototype.fail=function(){i.Guard.raise(new i.Exception("$data.Promise.fail","Not implemented!"))},e.prototype.isRejected=function(){i.Guard.raise(new i.Exception("$data.Promise.isRejected","Not implemented!"))},e.prototype.isResolved=function(){i.Guard.raise(new i.Exception("$data.Promise.isResolved","Not implemented!"))},e.prototype.pipe=function(){i.Guard.raise(new i.Exception("$data.Promise.pipe","Not implemented!"))},e.prototype.progress=function(){i.Guard.raise(new i.Exception("$data.Promise.progress","Not implemented!"))},e.prototype.promise=function(){i.Guard.raise(new i.Exception("$data.Promise.promise","Not implemented!"))},e.prototype.state=function(){i.Guard.raise(new i.Exception("$data.Promise.state","Not implemented!"))},e.prototype.then=function(){i.Guard.raise(new i.Exception("$data.Promise.then","Not implemented!"))},e}();n.PromiseNotImplemented=o;var s=function(){function e(){}return e.defaultSuccessCallback=function(){},e.defaultNotifyCallback=function(){},e.defaultErrorCallback=function(){arguments.length>0&&arguments[arguments.length-1]&&"function"==typeof arguments[arguments.length-1].reject?((console.error||console.log).call(console,arguments[0]),arguments[arguments.length-1].reject.apply(arguments[arguments.length-1],arguments)):arguments[0]instanceof Error?console.error(arguments[0]):console.error("DefaultError:","DEFAULT ERROR CALLBACK!",arguments)},e.createCallbackSettings=function(t,n){var i=n||{success:e.defaultSuccessCallback,error:e.defaultErrorCallback,notify:e.defaultNotifyCallback},o=new a;o=null==t||void 0==t?i:"function"==typeof t?r(i,{success:t}):r(i,t);var s=function(e){function t(){e.apply(n,arguments),e=function(){}}var n=this;return t};return"function"==typeof o.error&&(o.error=s(o.error)),o},e.prototype.createCallback=function(t){return e.createCallbackSettings(t)},e.prototype.getPromise=function(){return new o},e}();n.PromiseHandlerBase=s},{extend:2,"jaydata-error-handler":8}],21:[function(e,t,n){"use strict";var r,i=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},a=this&&this.__decorate||function(e,t,n,r){var i,a=arguments.length,o=3>a?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(3>a?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},o=this&&this.__metadata||function(e,t){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(e,t):void 0},s=e("./metacode");!function(e){var t=function(){function e(e){this.className=e}return e.prototype.toString=function(){return this.className},e}();e.PrimitiveType=t,e.Binary=new t("Edm.Binary"),e.Boolean=new t("Edm.Boolean"),e.Byte=new t("Edm.Byte"),e.Date=new t("Edm.Date"),e.DateTimeOffset=new t("Edm.DateTimeOffset"),e.Decimal=new t("Edm.Decimal"),e.Double=new t("Edm.Double"),e.Duration=new t("Edm.Duration"),e.Guid=new t("Edm.Guid"),e.Int16=new t("Edm.Int16"),e.Int32=new t("Edm.Int32"),e.Int64=new t("Edm.Int64"),e.SByte=new t("Edm.SByte"),e.Single=new t("Edm.Single"),e.Stream=new t("Edm.Stream"),e.String=new t("Edm.String"),e.TimeOfDay=new t("Edm.TimeOfDay"),e.Geography=new t("Edm.Geography"),e.GeographyPoint=new t("Edm.GeographyPoint"),e.GeographyLineString=new t("Edm.GeographyLineString"),e.GeographyPolygon=new t("Edm.GeographyPolygon"),e.GeographyMultiPoint=new t("Edm.GeographyMultiPoint"),e.GeographyMultiLineString=new t("Edm.GeographyMultiLineString"),e.GeographyMultiPolygon=new t("Edm.GeographyMultiPolygon"),e.GeographyCollection=new t("Edm.GeographyCollection"),e.Geometry=new t("Edm.Geometry"),e.GeometryPoint=new t("Edm.GeometryPoint"),e.GeometryLineString=new t("Edm.GeometryLineString"),e.GeometryPolygon=new t("Edm.GeometryPolygon"),e.GeometryMultiPoint=new t("Edm.GeometryMultiPoint"),e.GeometryMultiLineString=new t("Edm.GeometryMultiLineString"),e.GeometryMultiPolygon=new t("Edm.GeometryMultiPolygon"),e.GeometryCollection=new t("Edm.GeometryCollection");var n=s.MemberAttribute,r=s.parse,u=s.required,l=s.defaultValue,p=s.parseAs,d=s.AttributeFunctionChain,c=function(e,t){return new s.AttributeFunctionChain(function(t,n){return t[e]},function(e,t){return Array.isArray(e)?e:e?[e]:[]},function(e,n){return e.map(function(e){return t(e,n)})})},f=function(e){return new s.AttributeFunctionChain(function(t,n){if(t.collection&&t.collection[0]&&Array.isArray(t.collection[0][e])&&!t[e])return t.collection[0][e].map(function(e){return e.text});var r=t[e];return Array.isArray(r)?r.filter(function(e){return"text"in e}).map(function(e){return e.text})[0]:r})},y=function(t){for(var n in e.AnnotationTypes)if(n in t||t.collection&&t.collection[0]&&n in t.collection[0])return e.AnnotationTypes[n];return L},h=function(){function e(e,t){this.parent=t,e&&this.loadFrom(e)}return e.prototype.loadFrom=function(e){var t=this,r=Object.getPrototypeOf(this);n.getMembers(r).forEach(function(i){var a=n.getAttributeValue(r,i,"serialize");if(a){var o=a.invoke(e,t);t[i]=o}})},e}();e.EdmItemBase=h;var m=function(e){function t(){e.apply(this,arguments)}return i(t,e),a([r,u,o("design:type",String)],t.prototype,"name",void 0),a([r,u,o("design:type",String)],t.prototype,"type",void 0),a([r,l(!0),o("design:type",Boolean)],t.prototype,"nullable",void 0),a([r,o("design:type",Number)],t.prototype,"maxLength",void 0),a([r,o("design:type",Number)],t.prototype,"precision",void 0),a([r,o("design:type",Number)],t.prototype,"scale",void 0),a([r,o("design:type",Boolean)],t.prototype,"unicode",void 0),a([r,l(0),o("design:type",Number)],t.prototype,"SRID",void 0),a([r,o("design:type",Object)],t.prototype,"defaultValue",void 0),a([r,o("design:type",Object)],t.prototype,"concurrencyMode",void 0),a([p(c("annotation",function(e,t){return new(y(e))(e,t)})),o("design:type",Array)],t.prototype,"annotations",void 0),t}(h);e.Property=m;var g=function(e){function t(){e.apply(this,arguments)}return i(t,e),a([r,u,o("design:type",String)],t.prototype,"name",void 0),a([r,u,o("design:type",String)],t.prototype,"type",void 0),a([r,l(!0),o("design:type",Boolean)],t.prototype,"nullable",void 0),a([r,o("design:type",String)],t.prototype,"partner",void 0),a([r,o("design:type",Boolean)],t.prototype,"containsTarget",void 0),a([p(c("referentialConstraint",function(e,t){return new v(e,t)})),o("design:type",Array)],t.prototype,"referentialConstraints",void 0),a([p(c("annotation",function(e,t){return new(y(e))(e,t)})),o("design:type",Array)],t.prototype,"annotations",void 0),t}(h);e.NavigationProperty=g;var v=function(e){function t(){e.apply(this,arguments)}return i(t,e),a([r,u,o("design:type",String)],t.prototype,"property",void 0),a([r,u,o("design:type",String)],t.prototype,"referencedProperty",void 0),t}(h);e.ReferentialConstraint=v;var x=function(e){function t(){e.apply(this,arguments)}return i(t,e),a([r,u,o("design:type",String)],t.prototype,"name",void 0),a([r,o("design:type",String)],t.prototype,"alias",void 0),t}(h);e.PropertyRef=x;var E=function(e){function t(){e.apply(this,arguments)}return i(t,e),a([p(c("propertyRef",function(e,t){return new x(e,t)})),o("design:type",Array)],t.prototype,"propertyRefs",void 0),t}(h);e.Key=E;var b=function(e){function t(){e.apply(this,arguments)}return i(t,e),a([r,u,o("design:type",String)],t.prototype,"name",void 0),a([p(new d(function(e,t){return e.key},function(e,t){return e||[]},function(e,t){return e.map(function(e){return new E(e,t)})},function(e){return e[0]})),o("design:type",E)],t.prototype,"key",void 0),a([r,o("design:type",String)],t.prototype,"baseType",void 0),a([r,o("design:type",Boolean)],t.prototype,"abstract",void 0),a([r,o("design:type",Boolean)],t.prototype,"openType",void 0),a([r,o("design:type",Boolean)],t.prototype,"hasStream",void 0),a([p(c("property",function(e,t){return new m(e,t)})),o("design:type",Array)],t.prototype,"properties",void 0),a([p(c("navigationProperty",function(e,t){return new g(e,t)})),o("design:type",Array)],t.prototype,"navigationProperties",void 0),a([p(c("annotation",function(e,t){return new(y(e))(e,t)})),o("design:type",Array)],t.prototype,"annotations",void 0),t}(h);e.EntityType=b;var T=function(e){function t(){e.apply(this,arguments)}return i(t,e),a([r,u,o("design:type",String)],t.prototype,"name",void 0),a([r,o("design:type",String)],t.prototype,"baseType",void 0),a([r,o("design:type",Boolean)],t.prototype,"abstract",void 0),a([r,o("design:type",Boolean)],t.prototype,"openType",void 0),a([r,o("design:type",Boolean)],t.prototype,"hasStream",void 0),a([p(c("property",function(e,t){return new m(e,t)})),o("design:type",Array)],t.prototype,"properties",void 0),a([p(c("navigationProperty",function(e,t){return new g(e,t)})),o("design:type",Array)],t.prototype,"navigationProperties",void 0),a([p(c("annotation",function(e,t){return new(y(e))(e,t)})),o("design:type",Array)],t.prototype,"annotations",void 0),t}(h);e.ComplexType=T;var C=function(e){function t(){e.apply(this,arguments)}return i(t,e),a([r,u,o("design:type",String)],t.prototype,"name",void 0),a([r,u,o("design:type",String)],t.prototype,"type",void 0),a([r,l(!0),o("design:type",Boolean)],t.prototype,"nullable",void 0),a([r,o("design:type",Number)],t.prototype,"maxLength",void 0),a([r,o("design:type",Number)],t.prototype,"precision",void 0),a([r,o("design:type",Number)],t.prototype,"scale",void 0),a([r,o("design:type",Boolean)],t.prototype,"unicode",void 0),a([r,l(0),o("design:type",Number)],t.prototype,"SRID",void 0),a([p(c("annotation",function(e,t){return new(y(e))(e,t)})),o("design:type",Array)],t.prototype,"annotations",void 0),t}(h);e.Parameter=C;var S=function(e){function t(){e.apply(this,arguments)}return i(t,e),a([r,o("design:type",String)],t.prototype,"type",void 0),a([r,l(!0),o("design:type",Boolean)],t.prototype,"nullable",void 0),a([p(c("annotation",function(e,t){return new(y(e))(e,t)})),o("design:type",Array)],t.prototype,"annotations",void 0),t}(h);e.ReturnType=S;var _=function(e){function t(){e.apply(this,arguments)}return i(t,e),t}(h);e.Invokable=_;var P=function(e){function t(){e.apply(this,arguments)}return i(t,e),a([r,u,o("design:type",String)],t.prototype,"name",void 0),a([r,o("design:type",Boolean)],t.prototype,"isBound",void 0),a([r,o("design:type",String)],t.prototype,"entitySetPath",void 0),a([p(c("parameter",function(e,t){return new C(e,t)})),o("design:type",Array)],t.prototype,"parameters",void 0),a([p(new d(function(e,t){return e.returnType},function(e,t){return new S(e,t)})),o("design:type",S)],t.prototype,"returnType",void 0),a([p(c("annotation",function(e,t){return new(y(e))(e,t)})),o("design:type",Array)],t.prototype,"annotations",void 0),t}(_);e.Action=P;var N=function(e){function t(){e.apply(this,arguments)}return i(t,e),a([r,u,o("design:type",String)],t.prototype,"name",void 0),a([r,o("design:type",Boolean)],t.prototype,"isBound",void 0),a([r,o("design:type",String)],t.prototype,"entitySetPath",void 0),a([p(c("parameter",function(e,t){return new C(e,t)})),o("design:type",Array)],t.prototype,"parameters",void 0),a([p(new d(function(e,t){return e.returnType},function(e,t){return new S(e,t)})),o("design:type",S)],t.prototype,"returnType",void 0),a([r,o("design:type",Boolean)],t.prototype,"isComposable",void 0),a([p(c("annotation",function(e,t){return new(y(e))(e,t)})),o("design:type",Array)],t.prototype,"annotations",void 0),t}(_);e.Function=N;var M=function(e){function t(){e.apply(this,arguments)}return i(t,e),a([r,u,o("design:type",String)],t.prototype,"name",void 0),a([r,o("design:type",Number)],t.prototype,"value",void 0),a([p(c("annotation",function(e,t){return new(y(e))(e,t)})),o("design:type",Array)],t.prototype,"annotations",void 0),t}(h);e.Member=M;var A=function(n){function s(){n.apply(this,arguments)}return i(s,n),a([r,u,o("design:type",String)],s.prototype,"name",void 0),a([r,u,o("design:type",String)],s.prototype,"namespace",void 0),a([r,l(e.Int32),o("design:type",t)],s.prototype,"underlyingType",void 0),a([r,o("design:type",Boolean)],s.prototype,"isFlags",void 0),a([p(c("member",function(e,t){return new M(e,t)})),o("design:type",Array)],s.prototype,"members",void 0),a([p(c("annotation",function(e,t){return new(y(e))(e,t)})),o("design:type",Array)],s.prototype,"annotations",void 0),s}(h);e.EnumType=A;var w=function(e){function t(){e.apply(this,arguments)}return i(t,e),a([r,u,o("design:type",String)],t.prototype,"name",void 0),a([r,u,o("design:type",String)],t.prototype,"entityType",void 0),a([p(c("annotation",function(e,t){return new(y(e))(e,t)})),o("design:type",Array)],t.prototype,"annotations",void 0),t}(h);e.EntitySet=w;var O=function(e){function t(){e.apply(this,arguments)}return i(t,e),a([r,u,o("design:type",String)],t.prototype,"name",void 0),a([r,u,o("design:type",String)],t.prototype,"action",void 0),t}(h);e.ActionImport=O;var j=function(e){function t(){e.apply(this,arguments)}return i(t,e),a([r,u,o("design:type",String)],t.prototype,"name",void 0),a([r,u,o("design:type",String)],t.prototype,"function",void 0),a([r,l(!1),o("design:type",Boolean)],t.prototype,"includeInServiceDocument",void 0),t}(h);e.FunctionImport=j;var D=function(e){function t(){e.apply(this,arguments)}return i(t,e),a([r,o("design:type",String)],t.prototype,"name",void 0),a([p(c("entitySet",function(e,t){return new w(e,t)})),o("design:type",Array)],t.prototype,"entitySets",void 0),a([p(c("actionImport",function(e,t){return new O(e,t)})),o("design:type",Array)],t.prototype,"actionImports",void 0),a([p(c("functionImport",function(e,t){return new j(e,t)})),o("design:type",Array)],t.prototype,"functionImports",void 0),t}(h);e.EntityContainer=D;var G=function(t){function n(){t.apply(this,arguments)}return i(n,t),a([r,u,o("design:type",String)],n.prototype,"namespace",void 0),a([r,o("design:type",String)],n.prototype,"alias",void 0),a([p(c("enumType",function(e,t){return new A(e,t)})),o("design:type",Array)],n.prototype,"enumTypes",void 0),a([p(c("complexType",function(e,t){return new T(e,t)})),o("design:type",Array)],n.prototype,"complexTypes",void 0),a([p(c("entityType",function(e,t){return new b(e,t)})),o("design:type",Array)],n.prototype,"entityTypes",void 0),a([p(c("action",function(e,t){return new P(e,t)})),o("design:type",Array)],n.prototype,"actions",void 0),a([p(c("function",function(t,n){return new e.Function(t,n)})),o("design:type",Array)],n.prototype,"functions",void 0),a([p(c("entityContainer",function(t,n){return new e.EntityContainer(t,n)})),o("design:type",Array)],n.prototype,"entityContainer",void 0),a([p(c("annotations",function(t,n){return new e.Annotations(t,n)})),o("design:type",Array)],n.prototype,"annotations",void 0),n}(h);e.Schema=G;var V=function(e){function t(){e.apply(this,arguments)}return i(t,e),a([p(c("schema",function(e,t){return new G(e,t)})),o("design:type",Array)],t.prototype,"schemas",void 0),t}(h);e.DataServices=V;var k=function(e){function t(){e.apply(this,arguments)}return i(t,e),a([r,o("design:type",String)],t.prototype,"uri",void 0),a([p(c("include",function(e,t){return new I(e,t)})),o("design:type",Array)],t.prototype,"includes",void 0),t}(h);e.Reference=k;var I=function(e){function t(){e.apply(this,arguments)}return i(t,e),a([r,o("design:type",String)],t.prototype,"namespace",void 0),a([r,o("design:type",String)],t.prototype,"alias",void 0),t}(h);e.ReferenceInclude=I;var B=function(t){function n(){t.apply(this,arguments)}return i(n,t),a([p(new d(function(t){return new e.DataServices(t.dataServices)})),o("design:type",V)],n.prototype,"dataServices",void 0),a([p(c("reference",function(e,t){return new k(e,t)})),o("design:type",Array)],n.prototype,"references",void 0),n}(h);e.Edmx=B;var $=function(e){function t(){e.apply(this,arguments)}return i(t,e),a([r,u,o("design:type",String)],t.prototype,"target",void 0),a([r,o("design:type",String)],t.prototype,"qualifier",void 0),a([p(c("annotation",function(e,t){return new(y(e))(e,t)})),o("design:type",Array)],t.prototype,"annotations",void 0),t}(h);e.Annotations=$;var L=function(e){function t(){e.apply(this,arguments),this.annotationType="Unknown"}return i(t,e),a([r,o("design:type",String)],t.prototype,"term",void 0),a([r,o("design:type",String)],t.prototype,"qualifier",void 0),a([r,o("design:type",String)],t.prototype,"path",void 0),t}(h);e.Annotation=L;var R=function(e){function t(){e.apply(this,arguments),this.annotationType="Binary"}return i(t,e),a([p(f("binary")),o("design:type",Object)],t.prototype,"binary",void 0),t}(L);e.BinaryAnnotation=R;var F=function(e){function t(){e.apply(this,arguments),this.annotationType="Bool"}return i(t,e),a([p(f("bool")),o("design:type",Object)],t.prototype,"bool",void 0),t}(L);e.BoolAnnotation=F;var q=function(e){function t(){e.apply(this,arguments),this.annotationType="Date"}return i(t,e),a([p(f("date")),o("design:type",Object)],t.prototype,"date",void 0),t}(L);e.DateAnnotation=q;var U=function(e){function t(){e.apply(this,arguments),this.annotationType="DateTimeOffset"}return i(t,e),a([p(f("dateTimeOffset")),o("design:type",Object)],t.prototype,"dateTimeOffset",void 0),t}(L);e.DateTimeOffsetAnnotation=U;var Q=function(e){function t(){e.apply(this,arguments),this.annotationType="Decimal"}return i(t,e),a([p(f("decimal")),o("design:type",Object)],t.prototype,"decimal",void 0),t}(L);e.DecimalAnnotation=Q;var H=function(e){function t(){e.apply(this,arguments),this.annotationType="Duration"}return i(t,e),a([p(f("duration")),o("design:type",Object)],t.prototype,"duration",void 0),t}(L);e.DurationAnnotation=H;var J=function(e){function t(){e.apply(this,arguments),this.annotationType="EnumMember"}return i(t,e),a([p(f("enumMember")),o("design:type",Object)],t.prototype,"enumMember",void 0),t}(L);e.EnumMemberAnnotation=J;var K=function(e){function t(){e.apply(this,arguments),this.annotationType="Float"}return i(t,e),a([p(f("float")),o("design:type",Object)],t.prototype,"float",void 0),t}(L);e.FloatAnnotation=K;var z=function(e){function t(){e.apply(this,arguments),this.annotationType="Guid"}return i(t,e),a([p(f("guid")),o("design:type",Object)],t.prototype,"guid",void 0),t}(L);e.GuidAnnotation=z;var W=function(e){function t(){e.apply(this,arguments),this.annotationType="Int"}return i(t,e),a([p(f("int")),o("design:type",Object)],t.prototype,"int",void 0),t}(L);e.IntAnnotation=W;var Y=function(e){function t(){e.apply(this,arguments),this.annotationType="String"}return i(t,e),a([p(f("string")),o("design:type",Object)],t.prototype,"string",void 0),t}(L);e.StringAnnotation=Y;var X=function(e){function t(){e.apply(this,arguments),this.annotationType="TimeOfDay"}return i(t,e),a([p(f("timeOfDay")),o("design:type",Object)],t.prototype,"timeOfDay",void 0),t}(L);e.TimeOfDayAnnotation=X;var Z=function(e){function t(){e.apply(this,arguments),this.annotationType="PropertyPath"}return i(t,e),a([p(f("propertyPath")),o("design:type",Object)],t.prototype,"propertyPaths",void 0),t}(L);e.PropertyPathAnnotation=Z;var ee=function(e){function t(){e.apply(this,arguments),this.annotationType="NavigationPropertyPath"}return i(t,e),a([p(f("propertyPath")),o("design:type",Object)],t.prototype,"navigationPropertyPaths",void 0),t}(L);e.NavigationPropertyPathAnnotation=ee;var te=function(e){function t(){e.apply(this,arguments),this.annotationType="AnnotationPath"}return i(t,e),a([p(f("annotationPath")),o("design:type",Object)],t.prototype,"annotationPaths",void 0),t}(L);e.AnnotationPathAnnotation=te;var ne=function(e){function t(){e.apply(this,arguments),this.annotationType="Null"}return i(t,e),a([p(f("null")),o("design:type",Array)],t.prototype,"null",void 0),t}(L);e.NullAnnotation=ne,e.AnnotationTypes={binary:R,bool:F,date:q,dateTimeOffset:U,decimal:Q,duration:H,enumMember:J,"float":K,guid:z,"int":W,string:Y,timeOfDay:X,propertyPath:Z,navigationPropertyPath:ee,annotationPath:te,"null":ne}}(r=n.Edm||(n.Edm={}))},{"./metacode":22}],22:[function(e,t,n){"use strict";function r(e){return void 0===e}var i=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},a="definition",o=function(){function e(e){this.attributeName=e}return e.prototype.registerMember=function(e,t){var n=e[a]=e[a]||{},r=n.members||[];r.indexOf(t)<0&&r.push(t),n.members=r},e.prototype.getDecoratorValue=function(e,t,n){return n},e.prototype.decorate=function(e){var t=this;return function(n,r,i){t.registerMember(n,r);var o=t.getDecoratorValue(n,r,e);n[a][t.attributeName]=n[a][t.attributeName]||{},n[a][t.attributeName][r]=o}},Object.defineProperty(e.prototype,"decorator",{get:function(){return this.decorate()},enumerable:!0,configurable:!0}),e.getMembers=function(e){return e[a].members},e.getAttributeValue=function(e,t,n){return((e[a]||{})[n]||{})[t]},e}();n.MemberAttribute=o;var s=function(){function e(){for(var e=[],t=0;t<arguments.length;t++)e[t-0]=arguments[t];this.steps=[],this.steps=e}return e.prototype.invoke=function(e,t){var n=e;return this.steps.forEach(function(e){n=e(n,t)}),n},e}();n.AttributeFunctionChain=s;var u=function(e){function t(){e.call(this,"serialize")}return i(t,e),t.prototype.getDecoratorValue=function(e,t,n){return r(n)?new s(function(e){return e[t]}):n},t}(o);n.ParseAttribute=u,n.required=new o("required").decorate(!0),n.defaultValueAttribute=new o("defaultValue"),n.defaultValue=n.defaultValueAttribute.decorate.bind(n.defaultValueAttribute),n.parseAttribute=new u,n.parse=n.parseAttribute.decorator,n.parseAs=n.parseAttribute.decorate.bind(n.parseAttribute),n.typeArgument=new o("typeArgument")},{}],23:[function(e,t,n){function r(){p=!1,s.length?l=s.concat(l):d=-1,l.length&&i()}function i(){if(!p){var e=setTimeout(r);p=!0;for(var t=l.length;t;){for(s=l,l=[];++d<t;)s&&s[d].run();d=-1,t=l.length}s=null,p=!1,clearTimeout(e)}}function a(e,t){this.fun=e,this.array=t}function o(){}var s,u=t.exports={},l=[],p=!1,d=-1;u.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new a(e,t)),1!==l.length||p||setTimeout(i,0)},a.prototype.run=function(){this.fun.apply(null,this.array)},u.title="browser",u.browser=!0,u.env={},u.argv=[],u.version="",u.versions={},u.on=o,u.addListener=o,u.once=o,u.off=o,u.removeListener=o,u.removeAllListeners=o,u.emit=o,u.binding=function(e){throw new Error("process.binding is not supported")},u.cwd=function(){return"/"},u.chdir=function(e){throw new Error("process.chdir is not supported")},u.umask=function(){return 0}},{}],24:[function(e,t,n){function r(e){this.options=e||{locator:{}}}function i(e,t,n){function r(t){var r=e[t];!r&&o&&(r=2==e.length?function(n){e(t,n)}:e),i[t]=r&&function(e){r("[xmldom "+t+"]	"+e+s(n))}||function(){}}if(!e){if(t instanceof a)return t;e=t}var i={},o=e instanceof Function;return n=n||{},r("warning"),r("error"),r("fatalError"),i}function a(){this.cdata=!1}function o(e,t){t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber}function s(e){return e?"\n@"+(e.systemId||"")+"#[line:"+e.lineNumber+",col:"+e.columnNumber+"]":void 0}function u(e,t,n){return"string"==typeof e?e.substr(t,n):e.length>=t+n||t?new java.lang.String(e,t,n)+"":e}function l(e,t){e.currentElement?e.currentElement.appendChild(t):e.document.appendChild(t)}if(r.prototype.parseFromString=function(e,t){var n=this.options,r=new p,o=n.domBuilder||new a,s=n.errorHandler,u=n.locator,l=n.xmlns||{},d={lt:"<",gt:">",amp:"&",quot:'"',apos:"'"};return u&&o.setDocumentLocator(u),r.errorHandler=i(s,o,u),r.domBuilder=n.domBuilder||o,/\/x?html?$/.test(t)&&(d.nbsp=" ",d.copy="©",l[""]="http://www.w3.org/1999/xhtml"),l.xml=l.xml||"http://www.w3.org/XML/1998/namespace",e?r.parse(e,l,d):r.errorHandler.error("invalid document source"),o.document},a.prototype={startDocument:function(){this.document=(new d).createDocument(null,null,null),this.locator&&(this.document.documentURI=this.locator.systemId)},startElement:function(e,t,n,r){var i=this.document,a=i.createElementNS(e,n||t),s=r.length;l(this,a),this.currentElement=a,this.locator&&o(this.locator,a);for(var u=0;s>u;u++){var e=r.getURI(u),p=r.getValue(u),n=r.getQName(u),d=i.createAttributeNS(e,n);d.getOffset&&o(d.getOffset(1),d),d.value=d.nodeValue=p,a.setAttributeNode(d)}},endElement:function(e,t,n){var r=this.currentElement;r.tagName;this.currentElement=r.parentNode},startPrefixMapping:function(e,t){},endPrefixMapping:function(e){},
processingInstruction:function(e,t){var n=this.document.createProcessingInstruction(e,t);this.locator&&o(this.locator,n),l(this,n)},ignorableWhitespace:function(e,t,n){},characters:function(e,t,n){if(e=u.apply(this,arguments),this.currentElement&&e){if(this.cdata){var r=this.document.createCDATASection(e);this.currentElement.appendChild(r)}else{var r=this.document.createTextNode(e);this.currentElement.appendChild(r)}this.locator&&o(this.locator,r)}},skippedEntity:function(e){},endDocument:function(){this.document.normalize()},setDocumentLocator:function(e){(this.locator=e)&&(e.lineNumber=0)},comment:function(e,t,n){e=u.apply(this,arguments);var r=this.document.createComment(e);this.locator&&o(this.locator,r),l(this,r)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(e,t,n){var r=this.document.implementation;if(r&&r.createDocumentType){var i=r.createDocumentType(e,t,n);this.locator&&o(this.locator,i),l(this,i)}},warning:function(e){console.warn("[xmldom warning]	"+e,s(this.locator))},error:function(e){console.error("[xmldom error]	"+e,s(this.locator))},fatalError:function(e){throw console.error("[xmldom fatalError]	"+e,s(this.locator)),e}},"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(e){a.prototype[e]=function(){return null}}),"function"==typeof e){var p=e("./sax").XMLReader,d=n.DOMImplementation=e("./dom").DOMImplementation;n.XMLSerializer=e("./dom").XMLSerializer,n.DOMParser=r}},{"./dom":25,"./sax":26}],25:[function(e,t,n){function r(e,t){for(var n in e)t[n]=e[n]}function i(e,t){function n(){}var i=e.prototype;if(Object.create){var a=Object.create(t.prototype);i.__proto__=a}i instanceof t||(n.prototype=t.prototype,n=new n,r(i,n),e.prototype=i=n),i.constructor!=e&&("function"!=typeof e&&console.error("unknow Class:"+e),i.constructor=e)}function a(e,t){if(t instanceof Error)var n=t;else n=this,Error.call(this,re[e]),this.message=re[e],Error.captureStackTrace&&Error.captureStackTrace(this,a);return n.code=e,t&&(this.message=this.message+": "+t),n}function o(){}function s(e,t){this._node=e,this._refresh=t,u(this)}function u(e){var t=e._node._inc||e._node.ownerDocument._inc;if(e._inc!=t){var n=e._refresh(e._node);L(e,"length",n.length),r(n,e),e._inc=t}}function l(){}function p(e,t){for(var n=e.length;n--;)if(e[n]===t)return n}function d(e,t,n,r){if(r?t[p(t,r)]=n:t[t.length++]=n,e){n.ownerElement=e;var i=e.ownerDocument;i&&(r&&x(i,e,r),v(i,e,n))}}function c(e,t,n){var r=p(t,n);if(!(r>=0))throw a(ie,new Error);for(var i=t.length-1;i>r;)t[r]=t[++r];if(t.length=i,e){var o=e.ownerDocument;o&&(x(o,e,n),n.ownerElement=null)}}function f(e){if(this._features={},e)for(var t in e)this._features=e[t]}function y(){}function h(e){return"<"==e&&"&lt;"||">"==e&&"&gt;"||"&"==e&&"&amp;"||'"'==e&&"&quot;"||"&#"+e.charCodeAt()+";"}function m(e,t){if(t(e))return!0;if(e=e.firstChild)do if(m(e,t))return!0;while(e=e.nextSibling)}function g(){}function v(e,t,n){e&&e._inc++;var r=n.namespaceURI;"http://www.w3.org/2000/xmlns/"==r&&(t._nsMap[n.prefix?n.localName:""]=n.value)}function x(e,t,n,r){e&&e._inc++;var i=n.namespaceURI;"http://www.w3.org/2000/xmlns/"==i&&delete t._nsMap[n.prefix?n.localName:""]}function E(e,t,n){if(e&&e._inc){e._inc++;var r=t.childNodes;if(n)r[r.length++]=n;else{for(var i=t.firstChild,a=0;i;)r[a++]=i,i=i.nextSibling;r.length=a}}}function b(e,t){var n=t.previousSibling,r=t.nextSibling;return n?n.nextSibling=r:e.firstChild=r,r?r.previousSibling=n:e.lastChild=n,E(e.ownerDocument,e),t}function T(e,t,n){var r=t.parentNode;if(r&&r.removeChild(t),t.nodeType===ee){var i=t.firstChild;if(null==i)return t;var a=t.lastChild}else i=a=t;var o=n?n.previousSibling:e.lastChild;i.previousSibling=o,a.nextSibling=n,o?o.nextSibling=i:e.firstChild=i,null==n?e.lastChild=a:n.previousSibling=a;do i.parentNode=e;while(i!==a&&(i=i.nextSibling));return E(e.ownerDocument||e,e),t.nodeType==ee&&(t.firstChild=t.lastChild=null),t}function C(e,t){var n=t.parentNode;if(n){var r=e.lastChild;n.removeChild(t);var r=e.lastChild}var r=e.lastChild;return t.parentNode=e,t.previousSibling=r,t.nextSibling=null,r?r.nextSibling=t:e.firstChild=t,e.lastChild=t,E(e.ownerDocument,e,t),t}function S(){this._nsMap={}}function _(){}function P(){}function N(){}function M(){}function A(){}function w(){}function O(){}function j(){}function D(){}function G(){}function V(){}function k(){}function I(e,t,n,r){switch(e.nodeType){case U:var i=e.attributes,a=i.length,o=e.firstChild,s=e.tagName;r=F===e.namespaceURI||r,t.push("<",s),n&&t.sort.apply(i,n);for(var u=0;a>u;u++)I(i.item(u),t,n,r);if(o||r&&!/^(?:meta|link|img|br|hr|input|button)$/i.test(s)){if(t.push(">"),r&&/^script$/i.test(s))o&&t.push(o.data);else for(;o;)I(o,t,n,r),o=o.nextSibling;t.push("</",s,">")}else t.push("/>");return;case X:case ee:for(var o=e.firstChild;o;)I(o,t,n,r),o=o.nextSibling;return;case Q:return t.push(" ",e.name,'="',e.value.replace(/[<&"]/g,h),'"');case H:return t.push(e.data.replace(/[<&]/g,h));case J:return t.push("<![CDATA[",e.data,"]]>");case Y:return t.push("<!--",e.data,"-->");case Z:var l=e.publicId,p=e.systemId;if(t.push("<!DOCTYPE ",e.name),l)t.push(' PUBLIC "',l),p&&"."!=p&&t.push('" "',p),t.push('">');else if(p&&"."!=p)t.push(' SYSTEM "',p,'">');else{var d=e.internalSubset;d&&t.push(" [",d,"]"),t.push(">")}return;case W:return t.push("<?",e.target," ",e.data,"?>");case K:return t.push("&",e.nodeName,";");default:t.push("??",e.nodeName)}}function B(e,t,n){var r;switch(t.nodeType){case U:r=t.cloneNode(!1),r.ownerDocument=e;case ee:break;case Q:n=!0}if(r||(r=t.cloneNode(!1)),r.ownerDocument=e,r.parentNode=null,n)for(var i=t.firstChild;i;)r.appendChild(B(e,i,n)),i=i.nextSibling;return r}function $(e,t,n){var r=new t.constructor;for(var i in t){var a=t[i];"object"!=typeof a&&a!=r[i]&&(r[i]=a)}switch(t.childNodes&&(r.childNodes=new o),r.ownerDocument=e,r.nodeType){case U:var s=t.attributes,u=r.attributes=new l,p=s.length;u._ownerElement=r;for(var d=0;p>d;d++)r.setAttributeNode($(e,s.item(d),!0));break;case Q:n=!0}if(n)for(var c=t.firstChild;c;)r.appendChild($(e,c,n)),c=c.nextSibling;return r}function L(e,t,n){e[t]=n}function R(e){switch(e.nodeType){case 1:case 11:var t=[];for(e=e.firstChild;e;)7!==e.nodeType&&8!==e.nodeType&&t.push(R(e)),e=e.nextSibling;return t.join("");default:return e.nodeValue}}var F="http://www.w3.org/1999/xhtml",q={},U=q.ELEMENT_NODE=1,Q=q.ATTRIBUTE_NODE=2,H=q.TEXT_NODE=3,J=q.CDATA_SECTION_NODE=4,K=q.ENTITY_REFERENCE_NODE=5,z=q.ENTITY_NODE=6,W=q.PROCESSING_INSTRUCTION_NODE=7,Y=q.COMMENT_NODE=8,X=q.DOCUMENT_NODE=9,Z=q.DOCUMENT_TYPE_NODE=10,ee=q.DOCUMENT_FRAGMENT_NODE=11,te=q.NOTATION_NODE=12,ne={},re={},ie=(ne.INDEX_SIZE_ERR=(re[1]="Index size error",1),ne.DOMSTRING_SIZE_ERR=(re[2]="DOMString size error",2),ne.HIERARCHY_REQUEST_ERR=(re[3]="Hierarchy request error",3),ne.WRONG_DOCUMENT_ERR=(re[4]="Wrong document",4),ne.INVALID_CHARACTER_ERR=(re[5]="Invalid character",5),ne.NO_DATA_ALLOWED_ERR=(re[6]="No data allowed",6),ne.NO_MODIFICATION_ALLOWED_ERR=(re[7]="No modification allowed",7),ne.NOT_FOUND_ERR=(re[8]="Not found",8)),ae=(ne.NOT_SUPPORTED_ERR=(re[9]="Not supported",9),ne.INUSE_ATTRIBUTE_ERR=(re[10]="Attribute in use",10));ne.INVALID_STATE_ERR=(re[11]="Invalid state",11),ne.SYNTAX_ERR=(re[12]="Syntax error",12),ne.INVALID_MODIFICATION_ERR=(re[13]="Invalid modification",13),ne.NAMESPACE_ERR=(re[14]="Invalid namespace",14),ne.INVALID_ACCESS_ERR=(re[15]="Invalid access",15);a.prototype=Error.prototype,r(ne,a),o.prototype={length:0,item:function(e){return this[e]||null},toString:function(){for(var e=[],t=0;t<this.length;t++)I(this[t],e);return e.join("")}},s.prototype.item=function(e){return u(this),this[e]},i(s,o),l.prototype={length:0,item:o.prototype.item,getNamedItem:function(e){for(var t=this.length;t--;){var n=this[t];if(n.nodeName==e)return n}},setNamedItem:function(e){var t=e.ownerElement;if(t&&t!=this._ownerElement)throw new a(ae);var n=this.getNamedItem(e.nodeName);return d(this._ownerElement,this,e,n),n},setNamedItemNS:function(e){var t,n=e.ownerElement;if(n&&n!=this._ownerElement)throw new a(ae);return t=this.getNamedItemNS(e.namespaceURI,e.localName),d(this._ownerElement,this,e,t),t},removeNamedItem:function(e){var t=this.getNamedItem(e);return c(this._ownerElement,this,t),t},removeNamedItemNS:function(e,t){var n=this.getNamedItemNS(e,t);return c(this._ownerElement,this,n),n},getNamedItemNS:function(e,t){for(var n=this.length;n--;){var r=this[n];if(r.localName==t&&r.namespaceURI==e)return r}return null}},f.prototype={hasFeature:function(e,t){var n=this._features[e.toLowerCase()];return!(!n||t&&!(t in n))},createDocument:function(e,t,n){var r=new g;if(r.implementation=this,r.childNodes=new o,r.doctype=n,n&&r.appendChild(n),t){var i=r.createElementNS(e,t);r.appendChild(i)}return r},createDocumentType:function(e,t,n){var r=new w;return r.name=e,r.nodeName=e,r.publicId=t,r.systemId=n,r}},y.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,attributes:null,parentNode:null,childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,insertBefore:function(e,t){return T(this,e,t)},replaceChild:function(e,t){this.insertBefore(e,t),t&&this.removeChild(t)},removeChild:function(e){return b(this,e)},appendChild:function(e){return this.insertBefore(e,null)},hasChildNodes:function(){return null!=this.firstChild},cloneNode:function(e){return $(this.ownerDocument||this,this,e)},normalize:function(){for(var e=this.firstChild;e;){var t=e.nextSibling;t&&t.nodeType==H&&e.nodeType==H?(this.removeChild(t),e.appendData(t.data)):(e.normalize(),e=t)}},isSupported:function(e,t){return this.ownerDocument.implementation.hasFeature(e,t)},hasAttributes:function(){return this.attributes.length>0},lookupPrefix:function(e){for(var t=this;t;){var n=t._nsMap;if(n)for(var r in n)if(n[r]==e)return r;t=2==t.nodeType?t.ownerDocument:t.parentNode}return null},lookupNamespaceURI:function(e){for(var t=this;t;){var n=t._nsMap;if(n&&e in n)return n[e];t=2==t.nodeType?t.ownerDocument:t.parentNode}return null},isDefaultNamespace:function(e){var t=this.lookupPrefix(e);return null==t}},r(q,y),r(q,y.prototype),g.prototype={nodeName:"#document",nodeType:X,doctype:null,documentElement:null,_inc:1,insertBefore:function(e,t){if(e.nodeType==ee){for(var n=e.firstChild;n;){var r=n.nextSibling;this.insertBefore(n,t),n=r}return e}return null==this.documentElement&&1==e.nodeType&&(this.documentElement=e),T(this,e,t),e.ownerDocument=this,e},removeChild:function(e){return this.documentElement==e&&(this.documentElement=null),b(this,e)},importNode:function(e,t){return B(this,e,t)},getElementById:function(e){var t=null;return m(this.documentElement,function(n){return 1==n.nodeType&&n.getAttribute("id")==e?(t=n,!0):void 0}),t},createElement:function(e){var t=new S;t.ownerDocument=this,t.nodeName=e,t.tagName=e,t.childNodes=new o;var n=t.attributes=new l;return n._ownerElement=t,t},createDocumentFragment:function(){var e=new G;return e.ownerDocument=this,e.childNodes=new o,e},createTextNode:function(e){var t=new N;return t.ownerDocument=this,t.appendData(e),t},createComment:function(e){var t=new M;return t.ownerDocument=this,t.appendData(e),t},createCDATASection:function(e){var t=new A;return t.ownerDocument=this,t.appendData(e),t},createProcessingInstruction:function(e,t){var n=new V;return n.ownerDocument=this,n.tagName=n.target=e,n.nodeValue=n.data=t,n},createAttribute:function(e){var t=new _;return t.ownerDocument=this,t.name=e,t.nodeName=e,t.localName=e,t.specified=!0,t},createEntityReference:function(e){var t=new D;return t.ownerDocument=this,t.nodeName=e,t},createElementNS:function(e,t){var n=new S,r=t.split(":"),i=n.attributes=new l;return n.childNodes=new o,n.ownerDocument=this,n.nodeName=t,n.tagName=t,n.namespaceURI=e,2==r.length?(n.prefix=r[0],n.localName=r[1]):n.localName=t,i._ownerElement=n,n},createAttributeNS:function(e,t){var n=new _,r=t.split(":");return n.ownerDocument=this,n.nodeName=t,n.name=t,n.namespaceURI=e,n.specified=!0,2==r.length?(n.prefix=r[0],n.localName=r[1]):n.localName=t,n}},i(g,y),S.prototype={nodeType:U,hasAttribute:function(e){return null!=this.getAttributeNode(e)},getAttribute:function(e){var t=this.getAttributeNode(e);return t&&t.value||""},getAttributeNode:function(e){return this.attributes.getNamedItem(e)},setAttribute:function(e,t){var n=this.ownerDocument.createAttribute(e);n.value=n.nodeValue=""+t,this.setAttributeNode(n)},removeAttribute:function(e){var t=this.getAttributeNode(e);t&&this.removeAttributeNode(t)},appendChild:function(e){return e.nodeType===ee?this.insertBefore(e,null):C(this,e)},setAttributeNode:function(e){return this.attributes.setNamedItem(e)},setAttributeNodeNS:function(e){return this.attributes.setNamedItemNS(e)},removeAttributeNode:function(e){return this.attributes.removeNamedItem(e.nodeName)},removeAttributeNS:function(e,t){var n=this.getAttributeNodeNS(e,t);n&&this.removeAttributeNode(n)},hasAttributeNS:function(e,t){return null!=this.getAttributeNodeNS(e,t)},getAttributeNS:function(e,t){var n=this.getAttributeNodeNS(e,t);return n&&n.value||""},setAttributeNS:function(e,t,n){var r=this.ownerDocument.createAttributeNS(e,t);r.value=r.nodeValue=""+n,this.setAttributeNode(r)},getAttributeNodeNS:function(e,t){return this.attributes.getNamedItemNS(e,t)},getElementsByTagName:function(e){return new s(this,function(t){var n=[];return m(t,function(r){r===t||r.nodeType!=U||"*"!==e&&r.tagName!=e||n.push(r)}),n})},getElementsByTagNameNS:function(e,t){return new s(this,function(n){var r=[];return m(n,function(i){i===n||i.nodeType!==U||"*"!==e&&i.namespaceURI!==e||"*"!==t&&i.localName!=t||r.push(i)}),r})}},g.prototype.getElementsByTagName=S.prototype.getElementsByTagName,g.prototype.getElementsByTagNameNS=S.prototype.getElementsByTagNameNS,i(S,y),_.prototype.nodeType=Q,i(_,y),P.prototype={data:"",substringData:function(e,t){return this.data.substring(e,e+t)},appendData:function(e){e=this.data+e,this.nodeValue=this.data=e,this.length=e.length},insertData:function(e,t){this.replaceData(e,0,t)},appendChild:function(e){throw new Error(re[3])},deleteData:function(e,t){this.replaceData(e,t,"")},replaceData:function(e,t,n){var r=this.data.substring(0,e),i=this.data.substring(e+t);n=r+n+i,this.nodeValue=this.data=n,this.length=n.length}},i(P,y),N.prototype={nodeName:"#text",nodeType:H,splitText:function(e){var t=this.data,n=t.substring(e);t=t.substring(0,e),this.data=this.nodeValue=t,this.length=t.length;var r=this.ownerDocument.createTextNode(n);return this.parentNode&&this.parentNode.insertBefore(r,this.nextSibling),r}},i(N,P),M.prototype={nodeName:"#comment",nodeType:Y},i(M,P),A.prototype={nodeName:"#cdata-section",nodeType:J},i(A,P),w.prototype.nodeType=Z,i(w,y),O.prototype.nodeType=te,i(O,y),j.prototype.nodeType=z,i(j,y),D.prototype.nodeType=K,i(D,y),G.prototype.nodeName="#document-fragment",G.prototype.nodeType=ee,i(G,y),V.prototype.nodeType=W,i(V,y),k.prototype.serializeToString=function(e,t){return e.toString(t)},y.prototype.toString=function(e){var t=[];return I(this,t,e),t.join("")};try{Object.defineProperty&&(Object.defineProperty(s.prototype,"length",{get:function(){return u(this),this.$$length}}),Object.defineProperty(y.prototype,"textContent",{get:function(){return R(this)},set:function(e){switch(this.nodeType){case 1:case 11:for(;this.firstChild;)this.removeChild(this.firstChild);(e||String(e))&&this.appendChild(this.ownerDocument.createTextNode(e));break;default:this.data=e,this.value=value,this.nodeValue=e}}}),L=function(e,t,n){e["$$"+t]=n})}catch(oe){}"function"==typeof e&&(n.DOMImplementation=f,n.XMLSerializer=k)},{}],26:[function(e,t,n){function r(){}function i(e,t,n,r,i){function p(e){if(e>65535){e-=65536;var t=55296+(e>>10),n=56320+(1023&e);return String.fromCharCode(t,n)}return String.fromCharCode(e)}function y(e){var t=e.slice(1,-1);return t in n?n[t]:"#"===t.charAt(0)?p(parseInt(t.substr(1).replace("x","0x"))):(i.error("entity not found:"+e),e)}function h(t){if(t>C){var n=e.substring(C,t).replace(/&#?\w+;/g,y);E&&m(C),r.characters(n,0,t-C),C=t}}function m(t,n){for(;t>=v&&(n=x.exec(e));)g=n.index,v=g+n[0].length,E.lineNumber++;E.columnNumber=t-g+1}for(var g=0,v=0,x=/.+(?:\r\n?|\n)|.*$/g,E=r.locator,b=[{currentNSMap:t}],T={},C=0;;){try{var S=e.indexOf("<",C);if(0>S){if(!e.substr(C).match(/^\s*$/)){var _=r.document,P=_.createTextNode(e.substr(C));_.appendChild(P),r.currentElement=P}return}switch(S>C&&h(S),e.charAt(S+1)){case"/":var N=e.indexOf(">",S+3),M=e.substring(S+2,N),A=b.pop(),w=A.localNSMap;if(A.tagName!=M&&i.fatalError("end tag name: "+M+" is not match the current start tagName:"+A.tagName),r.endElement(A.uri,A.localName,M),w)for(var O in w)r.endPrefixMapping(O);N++;break;case"?":E&&m(S),N=c(e,S,r);break;case"!":E&&m(S),N=d(e,S,r,i);break;default:E&&m(S);var j=new f,N=o(e,S,j,y,i),D=j.length;if(E){if(D)for(var G=0;D>G;G++){var V=j[G];m(V.offset),V.offset=a(E,{})}m(N)}!j.closed&&l(e,N,j.tagName,T)&&(j.closed=!0,n.nbsp||i.warning("unclosed xml attribute")),s(j,r,b),"http://www.w3.org/1999/xhtml"!==j.uri||j.closed?N++:N=u(e,N,j.tagName,y,r)}}catch(k){i.error("element parse error: "+k),N=-1}N>C?C=N:h(Math.max(S,C)+1)}}function a(e,t){return t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber,t}function o(e,t,n,r,i){for(var a,o,s=++t,u=x;;){var l=e.charAt(s);switch(l){case"=":if(u===E)a=e.slice(t,s),u=T;else{if(u!==b)throw new Error("attribute equal must after attrName");u=T}break;case"'":case'"':if(u===T){if(t=s+1,s=e.indexOf(l,t),!(s>0))throw new Error("attribute value no end '"+l+"' match");o=e.slice(t,s).replace(/&#?\w+;/g,r),n.add(a,o,t-1),u=S}else{if(u!=C)throw new Error('attribute value must after "="');o=e.slice(t,s).replace(/&#?\w+;/g,r),n.add(a,o,t),i.warning('attribute "'+a+'" missed start quot('+l+")!!"),t=s+1,u=S}break;case"/":switch(u){case x:n.setTagName(e.slice(t,s));case S:case _:case P:u=P,n.closed=!0;case C:case E:case b:break;default:throw new Error("attribute invalid close char('/')")}break;case"":i.error("unexpected end of input");case">":switch(u){case x:n.setTagName(e.slice(t,s));case S:case _:case P:break;case C:case E:o=e.slice(t,s),"/"===o.slice(-1)&&(n.closed=!0,o=o.slice(0,-1));case b:u===b&&(o=a),u==C?(i.warning('attribute "'+o+'" missed quot(")!!'),n.add(a,o.replace(/&#?\w+;/g,r),t)):(i.warning('attribute "'+o+'" missed value!! "'+o+'" instead!!'),n.add(o,o,t));break;case T:throw new Error("attribute value missed!!")}return s;case"":l=" ";default:if(" ">=l)switch(u){case x:n.setTagName(e.slice(t,s)),u=_;break;case E:a=e.slice(t,s),u=b;break;case C:var o=e.slice(t,s).replace(/&#?\w+;/g,r);i.warning('attribute "'+o+'" missed quot(")!!'),n.add(a,o,t);case S:u=_}else switch(u){case b:i.warning('attribute "'+a+'" missed value!! "'+a+'" instead!!'),n.add(a,a,t),t=s,u=E;break;case S:i.warning('attribute space is required"'+a+'"!!');case _:u=E,t=s;break;case T:u=C,t=s;break;case P:throw new Error("elements closed character '/' and '>' must be connected to")}}s++}}function s(e,t,n){for(var r=e.tagName,i=null,a=n[n.length-1].currentNSMap,o=e.length;o--;){var s=e[o],u=s.qName,l=s.value,d=u.indexOf(":");if(d>0)var c=s.prefix=u.slice(0,d),f=u.slice(d+1),y="xmlns"===c&&f;else f=u,c=null,y="xmlns"===u&&"";s.localName=f,y!==!1&&(null==i&&(i={},p(a,a={})),a[y]=i[y]=l,s.uri="http://www.w3.org/2000/xmlns/",t.startPrefixMapping(y,l))}for(var o=e.length;o--;){s=e[o];var c=s.prefix;c&&("xml"===c&&(s.uri="http://www.w3.org/XML/1998/namespace"),"xmlns"!==c&&(s.uri=a[c]))}var d=r.indexOf(":");d>0?(c=e.prefix=r.slice(0,d),f=e.localName=r.slice(d+1)):(c=null,f=e.localName=r);var h=e.uri=a[c||""];if(t.startElement(h,f,r,e),e.closed){if(t.endElement(h,f,r),i)for(c in i)t.endPrefixMapping(c)}else e.currentNSMap=a,e.localNSMap=i,n.push(e)}function u(e,t,n,r,i){if(/^(?:script|textarea)$/i.test(n)){var a=e.indexOf("</"+n+">",t),o=e.substring(t+1,a);if(/[&<]/.test(o))return/^script$/i.test(n)?(i.characters(o,0,o.length),a):(o=o.replace(/&#?\w+;/g,r),i.characters(o,0,o.length),a)}return t+1}function l(e,t,n,r){var i=r[n];return null==i&&(i=r[n]=e.lastIndexOf("</"+n+">")),t>i}function p(e,t){for(var n in e)t[n]=e[n]}function d(e,t,n,r){var i=e.charAt(t+2);switch(i){case"-":if("-"===e.charAt(t+3)){var a=e.indexOf("-->",t+4);return a>t?(n.comment(e,t+4,a-t-4),a+3):(r.error("Unclosed comment"),-1)}return-1;default:if("CDATA["==e.substr(t+3,6)){var a=e.indexOf("]]>",t+9);return n.startCDATA(),n.characters(e,t+9,a-t-9),n.endCDATA(),a+3}var o=h(e,t),s=o.length;if(s>1&&/!doctype/i.test(o[0][0])){var u=o[1][0],l=s>3&&/^public$/i.test(o[2][0])&&o[3][0],p=s>4&&o[4][0],d=o[s-1];return n.startDTD(u,l&&l.replace(/^(['"])(.*?)\1$/,"$2"),p&&p.replace(/^(['"])(.*?)\1$/,"$2")),n.endDTD(),d.index+d[0].length}}return-1}function c(e,t,n){var r=e.indexOf("?>",t);if(r){var i=e.substring(t,r).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(i){i[0].length;return n.processingInstruction(i[1],i[2]),r+2}return-1}return-1}function f(e){}function y(e,t){return e.__proto__=t,e}function h(e,t){var n,r=[],i=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(i.lastIndex=t,i.exec(e);n=i.exec(e);)if(r.push(n),n[1])return r}var m=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,g=new RegExp("[\\-\\.0-9"+m.source.slice(1,-1)+"·̀-ͯ\\u203F-⁀]"),v=new RegExp("^"+m.source+g.source+"*(?::"+m.source+g.source+"*)?$"),x=0,E=1,b=2,T=3,C=4,S=5,_=6,P=7;r.prototype={parse:function(e,t,n){var r=this.domBuilder;r.startDocument(),p(t,t={}),i(e,t,n,r,this.errorHandler),r.endDocument()}},f.prototype={setTagName:function(e){if(!v.test(e))throw new Error("invalid tagName:"+e);this.tagName=e},add:function(e,t,n){if(!v.test(e))throw new Error("invalid attribute:"+e);this[this.length++]={qName:e,value:t,offset:n}},length:0,getLocalName:function(e){return this[e].localName},getOffset:function(e){return this[e].offset},getQName:function(e){return this[e].qName},getURI:function(e){return this[e].uri},getValue:function(e){return this[e].value}},y({},y.prototype)instanceof y||(y=function(e,t){function n(){}n.prototype=t,n=new n;for(t in e)n[t]=e[t];return n}),"function"==typeof e&&(n.XMLReader=r)},{}],27:[function(e,t,n){t.exports={name:"jaydata",version:"1.5.10",description:"Cross-platform HTML5 data-management, JavaScript Language Query (JSLQ) support for OData, SQLite, WebSQL, IndexedDB, YQL and Facebook (packaged for Node.JS)",keywords:["HTML5 data management","JavaScript","JavaScript Language Query","JSLQ","OData","SQLite","WebSQL","IndexedDB","YQL","Facebook","cross-platform","iPhone","Android"],homepage:"http://jaydata.org",author:{name:"JayData",url:"http://jaydata.org"},dependencies:{acorn:"^3.3.0",atob:"^2.0.0",btoa:"^1.1.2",dot:"^1.0.3","jaydata-dynamic-metadata":"^0.1.16","jaydata-error-handler":"^0.0.1","jaydata-odatajs":"^4.0.1","jaydata-promise-handler":"^0.0.1","odata-v4-metadata":"^0.1.3",xmldom:"^0.1.19"},contributors:[{name:"Dániel József"},{name:"Hajnalka Battancs"},{name:"János Roden"},{name:"László Horváth"},{name:"Péter Zentai"},{name:"Péter Nochta"},{name:"Róbert Bónay"},{name:"Szabolcs Czinege"},{name:"Viktor Borza"},{name:"Viktor Lázár"},{name:"Zoltán Gyebrovszki"}],repository:{type:"git",url:"git://github.com/jaydata/jaydata.git"},engines:{node:">=0.6.0"},license:"(MIT OR GPL-2.0)",devDependencies:{babel:"^6.1.18","babel-eslint":"^5.0.0-beta4","babel-plugin-add-module-exports":"^0.1.1","babel-preset-es2015":"^6.1.18","babel-register":"^6.2.0",babelify:"^7.2.0",browserify:"^12.0.1","browserify-derequire":"^0.9.4","browserify-shim":"^3.8.11",chai:"^3.4.1",del:"^2.2.0","google-closure-compiler":"^20151015.0.0",gulp:"^3.9.0","gulp-babel":"^6.1.1","gulp-browserify":"^0.5.1","gulp-change":"^1.0.0","gulp-closure-compiler":"^0.3.1","gulp-concat":"^2.6.0","gulp-derequire":"^2.1.0","gulp-eslint":"^1.1.1","gulp-footer":"^1.0.5","gulp-header":"^1.7.1","gulp-nightwatch":"^0.2.6","gulp-nuget-pack":"0.0.6","gulp-rename":"^1.2.2","gulp-replace":"^0.5.4","gulp-sourcemaps":"^1.6.0","gulp-uglify":"^1.5.1","gulp-vinyl-zip":"^1.1.2","gulp-webserver":"^0.9.1",istanbul:"^0.4.1","jaguarjs-jsdoc":"0.0.1",jsdoc:"^3.4.0",minimist:"^1.2.0",nightwatch:"^0.8.8",npm:"^3.5.2","selenium-standalone":"^4.7.2","vinyl-buffer":"^1.0.0","vinyl-source-stream":"^1.1.0",yargs:"^3.31.0"},"browserify-shim":{atob:"global:atob",btoa:"global:btoa",jquery:"global:jQuery",angular:"global:angular",Handlebars:"global:Handlebars",kendo:"global:kendo",ko:"global:ko",q:"global:Q",Ext:"global:Ext"},scripts:{test:"mocha --compilers js:babel-register test/unit-tests/",stest:"mocha --compilers js:babel-register"}}},{}],28:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../TypeSystem/index.js"),a=r(i),o=e("jaydata-dynamic-metadata");a["default"].DynamicMetadata=o.DynamicMetadata;var s=new o.DynamicMetadata(a["default"]);a["default"].service=s.service.bind(s),a["default"].initService=s.initService.bind(s),a["default"].odatajs=o.odatajs,n["default"]=a["default"],t.exports=n["default"]},{"../TypeSystem/index.js":44,"jaydata-dynamic-metadata":7}],29:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function i(e){function t(e,t){f[e]=f[e]||[],f[e].push(t)}var n=e;n&&n.addChildContainer(this);var r={},i=[],o=[];this.classNames=r,this.consolidatedClassNames=i,this.classTypes=o;var p=[];this.mappedTo=p;var d=this;this.holder=null;var c=function(e,t){var n=d.resolveType(e),r=Object.create(n.prototype);return n.apply(r,t),r},f={};this.pendingResolutions=f,this.addChildContainer=function(e){},this.createInstance=function(e,t){return c(e,t)},this.mapType=function(e,t){u.Guard.requireValue("aliasType",e),u.Guard.requireValue("realType",t);var n=this.getType(e),r=this.getType(t),i=o.indexOf(n),a=o.indexOf(r);p[i]=a},this.isPrimitiveType=function(e){var t=this.resolveType(e);switch(!0){case t===Number:case t===String:case t===Date:case t===Boolean:case t===Array:case t===Object:case t===s["default"].Number:case t===s["default"].Integer:case t===s["default"].Date:case t===s["default"].String:case t===s["default"].Boolean:case t===s["default"].Array:case t===s["default"].Object:case t===s["default"].Guid:case t===s["default"].Byte:case t===s["default"].SByte:case t===s["default"].Decimal:case t===s["default"].Float:case t===s["default"].Int16:case t===s["default"].Int32:case t===s["default"].Int64:case t===s["default"].DateTimeOffset:case t===s["default"].Time:case t===s["default"].Day:case t===s["default"].Duration:case t===s["default"].SimpleBase:case t===s["default"].Geospatial:case t===s["default"].GeographyBase:case t===s["default"].GeographyPoint:case t===s["default"].GeographyLineString:case t===s["default"].GeographyPolygon:case t===s["default"].GeographyMultiPoint:case t===s["default"].GeographyMultiLineString:case t===s["default"].GeographyMultiPolygon:case t===s["default"].GeographyCollection:case t===s["default"].GeometryBase:case t===s["default"].GeometryPoint:case t===s["default"].GeometryLineString:case t===s["default"].GeometryPolygon:case t===s["default"].GeometryMultiPoint:case t===s["default"].GeometryMultiLineString:case t===s["default"].GeometryMultiPolygon:case t===s["default"].GeometryCollection:return!0;default:return!1}},this.resolveName=function(e){var t=this.resolveType(e),n=o.indexOf(t);return i[n]},this.resolveType=function(e,t){var n=e;n=this.getType(n,!!t,t);var r=o.indexOf(n);return"undefined"==typeof p[r]?n:o[p[r]]},this.getType=function(e,i,a){if(u.Guard.requireValue("typeOrName",e),"function"==typeof e)return e;if(!(e in r)){if(n){var s=n.getType(e,!0);if(s)return s}if(a)return void t(e,a);if(i)return;u.Guard.raise(new u.Exception("Unable to resolve type:"+e))}var l=o[r[e]];return a&&a(l),l},this.getName=function(e){var t=this.getType(e),n=o.indexOf(t);return-1==n&&u.Guard.raise("unknown type to request name for: "+e),i[n]},this.getTypes=function(){for(var e=Object.keys(r),t=[],n=0;n<e.length;n++){var i=e[n];t.push({name:i,type:o[r[i]],toString:function(){return this.name}})}return t},this.getTypeName=function(e){switch("undefined"==typeof e?"undefined":a(e)){case"object":if(null==e)return"$data.Object";if(e instanceof Array)return"$data.Array";if(e.getType)return e.getType().fullName;if(e instanceof Date)return"$data.Date";if(e instanceof s["default"].Guid)return"$data.Guid";if(e instanceof s["default"].DateTimeOffset)return"$data.DateTimeOffset";if(e instanceof s["default"].GeographyPoint)return"$data.GeographyPoint";if(e instanceof s["default"].GeographyLineString)return"$data.GeographyLineString";if(e instanceof s["default"].GeographyPolygon)return"$data.GeographyPolygon";if(e instanceof s["default"].GeographyMultiPoint)return"$data.GeographyMultiPoint";if(e instanceof s["default"].GeographyMultiLineString)return"$data.GeographyMultiLineString";if(e instanceof s["default"].GeographyMultiPolygon)return"$data.GeographyMultiPolygon";if(e instanceof s["default"].GeographyCollection)return"$data.GeographyCollection";if(e instanceof s["default"].GeographyBase)return"$data.GeographyBase";if(e instanceof s["default"].GeometryPoint)return"$data.GeometryPoint";if(e instanceof s["default"].GeometryLineString)return"$data.GeometryLineString";if(e instanceof s["default"].GeometryPolygon)return"$data.GeometryPolygon";if(e instanceof s["default"].GeometryMultiPoint)return"$data.GeometryMultiPoint";if(e instanceof s["default"].GeometryMultiLineString)return"$data.GeometryMultiLineString";if(e instanceof s["default"].GeometryMultiPolygon)return"$data.GeometryMultiPolygon";if(e instanceof s["default"].GeometryCollection)return"$data.GeometryCollection";if(e instanceof s["default"].GeometryBase)return"$data.GeometryBase";if(e instanceof s["default"].Geospatial)return"$data.Geospatial";if(e instanceof s["default"].SimpleBase)return"$data.SimpleBase";if("function"==typeof e.toHexString)return"$data.ObjectID";default:return"undefined"==typeof e?"undefined":a(e)}},this.isTypeRegistered=function(e){return"function"==typeof e?o.indexOf(e)>-1:e in r},this.unregisterType=function(e){u.Guard.raise("Unimplemented")},this.getDefault=function(e){var t=this.resolveType(e);switch(t){case s["default"].Number:return 0;case s["default"].Float:return 0;case s["default"].Decimal:return"0.0";case s["default"].Integer:return 0;case s["default"].Int16:return 0;case s["default"].Int32:return 0;case s["default"].Int64:return"0";case s["default"].Byte:return 0;case s["default"].SByte:return 0;case s["default"].String:return null;case s["default"].Boolean:return!1;default:return null}},this.getIndex=function(e){var t=this.resolveType(e);return o.indexOf(t)},this.resolveByIndex=function(e){return o[e]},this.registerType=function(e,t,a){if(e){"string"==typeof t&&(t=d.resolveType(t));var s=[];if("string"==typeof e){var u=[];u.push(e),s=u}else s=e;for(var l=0;l<s.length;l++){var p=s[l].split("."),y={};y.shortName=p[p.length-1],y.fullName=s[l],s[l]=y}var h=function(){return c(t,arguments)};"undefined"!=typeof intellisense&&intellisense.annotate(h,t);for(var l=0,m=s.length;m>l;l++){var y=s[l];"create"+y.shortName in d||("function"==typeof a?d["create"+y.shortName]=a:d["create"+y.shortName]=h);var g=o.indexOf(t);if(-1==g){g=o.push(t)-1;y.fullName;i[g]=y.fullName}r[y.fullName]=g;var v=f[y.fullName]||[];v.length>0&&(v.forEach(function(e){e(t)}),f[y.fullName]=[])}if(n&&n.registerType.apply(n,arguments),!t.name)try{t.name=s[0].shortName}catch(x){}}};var y={from:{},to:{}};this.converters=y,this.convertTo=function(e,t,n,r){if(u.Guard.requireValue("typeOrName",t),u.Guard.isNullOrUndefined(e))return e;var i,a=l.getTypeName(e),o=l.resolveType(a),a=l.resolveName(o),p=l.resolveType(t),d=l.resolveName(p);try{if("function"==typeof p["from"+a])i=p["from"+a].apply(p,arguments);else if("function"==typeof o["to"+d])i=o["to"+d].apply(o,arguments);else if(y.to[d]&&y.to[d][a])i=y.to[d][a].apply(y,arguments);else if(y.from[a]&&y.from[a][d])i=y.from[a][d].apply(y,arguments);else if(d===a||e instanceof p)i=e;else{
if(!y.to[d]||!y.to[d]["default"])throw"converter not found";i=y.to[d]["default"].apply(y,arguments)}}catch(c){u.Guard.raise(new u.Exception("Value '"+a+"' not convertable to '"+d+"'","TypeError",e))}if(p===s["default"].Array&&n&&Array.isArray(i))for(var f=0;f<i.length;f++)i[f]=this.convertTo.call(this,i[f],n,void 0,r);return i},this.registerConverter=function(e,t,n,r){var i=l.resolveName(e);if(l.isTypeRegistered(t)){y.to[i]=y.to[i]||{},y.from[i]=y.from[i]||{};var a=l.resolveName(t);n&&(y.to[i][a]=n),r&&(y.from[i][a]=r)}else y.to[i]?y.to[i]=s["default"].typeSystem.extend(y.to[i],t):y.to[i]=t,y.from[i]?y.from[i]=s["default"].typeSystem.extend(y.from[i],n):y.from[i]=n},this.createOrGetNamespace=function(e,t){for(var n=0;n<e.length;n++){var r=e[n];if(!t[r]){var i={};i.__namespace=!0,t[r]=i}t=t[r]}return t}}Object.defineProperty(n,"__esModule",{value:!0}),n.ContainerInstance=void 0;var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};n.ContainerCtor=i;var o=e("./initializeJayData.js"),s=r(o),u=e("jaydata-error-handler"),l=(e("./Extensions.js"),new i);n.ContainerInstance=l},{"./Extensions.js":30,"./initializeJayData.js":45,"jaydata-error-handler":8}],30:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});n.StringFunctions={startsWith:function(){var e,t;if(2==arguments.length)e=arguments[0],t=arguments[1];else if(1==arguments.length&&"string"==typeof this)e=this,t=arguments[0];else{if(!(this instanceof String))return!1;e=this.valueOf(),t=arguments[0]}return"string"!=typeof e?!1:0===e.indexOf(t)},endsWith:function(){var e,t;if(2==arguments.length)e=arguments[0],t=arguments[1];else if(1==arguments.length&&"string"==typeof this)e=this,t=arguments[0];else{if(!(this instanceof String))return!1;e=this.valueOf(),t=arguments[0]}return"string"!=typeof e?!1:e.slice(-t.length)===t},contains:function(){var e,t;if(2==arguments.length)e=arguments[0],t=arguments[1];else if(1==arguments.length&&"string"==typeof this)e=this,t=arguments[0];else{if(!(this instanceof String))return!1;e=this.valueOf(),t=arguments[0]}return"string"!=typeof e?!1:e.indexOf(t)>=0}}},{}],31:[function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};!function(){if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t}),Object.create||(Object.create=function(e){function t(){}return arguments.length>1&&Guard.raise(new Error("Object.create implementation only accepts the first parameter.")),t.prototype=e,new t}),!Object.keys){var e=Object.prototype.hasOwnProperty,t=!{toString:null}.propertyIsEnumerable("toString"),n=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],i=n.length;Object.keys=function(a){("object"!==("undefined"==typeof a?"undefined":r(a))&&"function"!=typeof a||null===a)&&Guard.raise(new TypeError("Object.keys called on non-object"));var o=[];for(var s in a)e.call(a,s)&&o.push(s);if(t)for(var u=0;i>u;u++)e.call(a,n[u])&&o.push(n[u]);return o}}Object.defineProperty||(Object.defineProperty=function(e,t,n){e[t]=n.value||{}}),Object.defineProperties||(Object.defineProperties=function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n].value||{})}),Array.prototype.forEach||(Array.prototype.forEach=function(e,t){for(var n=0,r=this.length;r>n;n++)t?e.call(t,this[n],n,this):e(this[n],n,this)}),Array.prototype.filter||(Array.prototype.filter=function(e,t){for(var n=[],r=0,i=this.length;i>r;r++){var a=t?e.call(t,this[r],r,this):e(this[r],r,this);a===!0&&n.push(this[r])}return n}),Array.prototype.map||(Array.prototype.map=function(e,t){for(var n=[],r=0,i=this.length;i>r;r++){var a=t?e.call(t,this[r],r,this):e(this[r],r,this);n.push(a)}return n}),Array.prototype.some||(Array.prototype.some=function(e,t){for(var n=0,r=this.length;r>n;n++){var i=t?e.call(t,this[n],n,this):e(this[n],n,this);if(i)return!0}return!1}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){for(var n=0,r=this.length;r>n;n++)if(this[n]===e)return n;return-1}),String.prototype.trimLeft||(String.prototype.trimLeft=function(){return this.replace(/^\s+/,"")}),String.prototype.trimRight||(String.prototype.trimRight=function(){return this.replace(/\s+$/,"")}),Function.prototype.bind||(Function.prototype.bind=function(e){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var t=Array.prototype.slice.call(arguments,1),n=this,r=function(){},i=function(){return n.apply(this instanceof r&&e?this:e,t.concat(Array.prototype.slice.call(arguments)))};return r.prototype=this.prototype,i.prototype=new r,i}),"undefined"==typeof Uint8Array&&(Uint8Array=function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}(function(e){if(e instanceof Uint8Array)return e;var t=this,n=Array.isArray(e)?e:new Array(e);this.length=n.length,this.byteLength=this.length,this.byteOffset=0,this.buffer={byteLength:t.length};for(var r=function(e){return n[e]},i=function(e,t){n[e]=255&(0|t)},a=function(e){n[e]=n[e]||0,Object.defineProperty(t,e,{enumerable:!0,configurable:!1,get:function(){if(isNaN(+e)||0>(0|e)||(0|e)>=t.length)try{return"undefined"!=typeof document&&document.createTextNode("").splitText(1),new RangeError("INDEX_SIZE_ERR")}catch(n){return n}return r(e)},set:function(n){if(isNaN(+e)||0>(0|e)||(0|e)>=t.length)try{return"undefined"!=typeof document&&document.createTextNode("").splitText(1),new RangeError("INDEX_SIZE_ERR")}catch(r){return r}i(0|e,n)}})},o=0;o<t.length;o++)a(o)}))}()},{}],32:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../TypeSystem.js"),a=r(i);a["default"].Class.define("$data.Logger",a["default"].TraceBase,null,{log:function(){Array.prototype.unshift.call(arguments,this.getDateFormat()),console.log.apply(console,arguments)},warn:function(){Array.prototype.unshift.call(arguments,this.getDateFormat()),console.warn.apply(console,arguments)},error:function(){Array.prototype.unshift.call(arguments,this.getDateFormat()),console.error.apply(console,arguments)},getDateFormat:function(){var e=new Date;return e.getHours()+":"+e.getMinutes()+":"+e.getSeconds()+"."+e.getMilliseconds()}}),n["default"]=a["default"],t.exports=n["default"]},{"../TypeSystem.js":34}],33:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../TypeSystem.js"),a=r(i);a["default"].Class.define("$data.TraceBase",null,null,{log:function(){},warn:function(){},error:function(){}}),a["default"].Trace=new a["default"].TraceBase,n["default"]=a["default"],t.exports=n["default"]},{"../TypeSystem.js":34}],34:[function(e,t,n){(function(t,r){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0}),n.MemberDefinition=n.Container=n.$C=void 0;var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},o=e("./initializeJayData.js"),s=i(o),u=e("jaydata-error-handler"),l=e("./Extensions.js"),p=e("./Container.js");e("./PreHtml5Compatible.js"),s["default"].StringFunctions=l.StringFunctions;var d=null;s["default"].setModelContainer=function(e){d=e},s["default"].getModelContainer=function(){return d},s["default"].defaults=s["default"].defaults||{},s["default"].defaults.openTypeDefaultPropertyName="dynamicProperties",s["default"].defaults.openTypeDefaultType="$data.Object",s["default"].defaults.openTypeDefaultValue=function(){return{}},s["default"].__global=t.browser?window:r,s["default"].setGlobal=function(e){s["default"].__global=e},function(e){function t(t,n){if(this.kind=i.property,Object.defineProperty(this,"definedBy",{value:n,enumerable:!1,configurable:!1,writable:!1}),t){if("function"==typeof t||"function"==typeof t.asFunction)this.method=t,this.kind=i.method;else if(this.enumerable=!0,this.configurable=!0,"number"==typeof t)this.value=t,this.type=e.Number,this.dataType=e.Number;else if("string"==typeof t)this.value=t,this.dataType=e.String,this.type=e.String;else for(var r in t)t.hasOwnProperty(r)&&(this[r]=t[r]);void 0!==this.type?this.dataType=this.dataType||this.type:this.type=this.dataType,this.originalType=this.type,void 0!==this.elementType&&(this.originalElementType=this.elementType)}}function n(){}function r(){this.classNames={}}function i(){}t.prototype.createPropertyDescriptor=function(e,t){var n=this,r={enumerable:void 0==this.enumerable?!0:this.enumerable,configurable:void 0==this.configurable?!0:this.configurable};return this.set&&this.get?(r.set=this.set,r.get=this.get):"value"in this||t?(r.value=t||this.value,r.writable=!0):(r.set=function(e){this.storeProperty(n,e)},r.get=function(){return this.retrieveProperty(n)}),r},t.prototype.createStorePropertyDescriptor=function(e){var t=this;return{enumerable:!1,writable:!0,configurable:t.configurable,value:e}},t.prototype.createGetMethod=function(){var e=this;return{enumerable:!1,writable:!1,configurable:!1,value:function(t,n){return this.getProperty(e,t,n)}}},t.prototype.createSetMethod=function(){var e=this;return{enumerable:!1,writable:!1,configurable:!1,value:function(t,n,r){return this.setProperty(e,t,n,r)}}},t.translateDefinition=function(n,r,i){function a(t){t&&t.isAssignableTo&&e.Entity&&t.isAssignableTo(e.Entity)&&i.childResolverThunks.push(function(){t.resolveForwardDeclarations&&t.resolveForwardDeclarations()})}var o,s=i;n.type&&c.isTypeRegistered(n.type)&&(s=c.resolveType(n.type),"function"==typeof s.translateDefinition?(o=s.translateDefinition.apply(s,arguments),o.name=o.name||r):s=i),o instanceof t||(o=new t(o||n,s),o.name=r),i.resolverThunks=i.resolverThunks||[],i.childResolverThunks=i.childResolverThunks||[];var u=o.type,l=o.elementType;return a(u),a(l),"string"==typeof u&&("@"===u[0]?(o.type=u.substr(1),o.dataType=u.substr(1)):i.resolverThunks.push(function(){var e=i.container.resolveType(u);a(e),o.type=e,o.dataType=e})),l&&"string"==typeof l&&("@"===l[0]?o.elementType=l.substr(1):i.resolverThunks.push(function(){var e=i.container.resolveType(l);a(e),o.elementType=e})),i.resolveForwardDeclarations=function(){i.resolveForwardDeclarations=function(){},e.Trace.log("resolving: "+i.fullName),this.resolverThunks.forEach(function(e){e()}),this.childResolverThunks.forEach(function(e){e()})},o},t.prototype.toJSON=function(){var e={};for(var t in this)if("defineBy"!==t&&"storageModel"!==t)if("type"!==t&&"dataType"!==t||!this[t]||"function"!=typeof this[t])e[t]=this[t];else try{e[t]=c.resolveName(this[t])}catch(n){e[t]=this[t]}return e},e.MemberDefinition=t;var a="$";n.prototype={clearCache:function(){this.arrayCache=void 0,this.pubMapPropsCache=void 0,this.keyPropsCache=void 0,this.propByTypeCache=void 0,this.pubMapMethodsCache=void 0,this.pubMapPropNamesCache=void 0},asArray:function(){if(!this.arrayCache){this.arrayCache=[];for(var e in this)0===e.indexOf(a)&&this.arrayCache.push(this[e])}return this.arrayCache},getPublicMappedProperties:function(){if(!this.pubMapPropsCache){this.pubMapPropsCache=[];for(var e in this)0===e.indexOf(a)&&"property"==this[e].kind&&!this[e].notMapped&&this[e].enumerable&&this.pubMapPropsCache.push(this[e])}return this.pubMapPropsCache},getPublicMappedPropertyNames:function(){if(!this.pubMapPropNamesCache){this.pubMapPropNamesCache=[];for(var e in this)0===e.indexOf(a)&&"property"==this[e].kind&&!this[e].notMapped&&this[e].enumerable&&this.pubMapPropNamesCache.push(this[e].name)}return this.pubMapPropNamesCache},getKeyProperties:function(){if(!this.keyPropsCache){this.keyPropsCache=[];for(var e in this)0===e.indexOf(a)&&"property"==this[e].kind&&this[e].key&&this.keyPropsCache.push(this[e])}return this.keyPropsCache},getPublicMappedMethods:function(){if(!this.pubMapMethodsCache){this.pubMapMethodsCache=[];for(var e in this)0===e.indexOf(a)&&"method"==this[e].kind&&this[e].method&&this.pubMapMethodsCache.push(this[e])}return this.pubMapMethodsCache},getPropertyByType:function(e){if(!this.propByTypeCache){this.propByTypeCache=[];for(var t in this)0===t.indexOf(a)&&this[t].dataType==e&&this.propByTypeCache.push(this[t])}return this.propByTypeCache},getMember:function(e){return this[a+e]},setMember:function(e){this[a+e.name]=e}},n.prototype.constructor=n,e.MemberDefinitionCollection=n,i.__enum=!0,i.method="method",i.property="property",i.navProperty="navProperty",i.complexProperty="complexProperty",i.field="field",e.MemberTypes=i,r.prototype={define:function(e,t,n,r,i){return this.defineEx(e,[{type:t}],n,r,i)},defineEx:function(t,n,r,i,a){r=r||e.Container,0==n.length?n.push({type:e.Base}):n.length>0&&!n[0].type&&(n[0].type=e.Base);for(var o=0,s=n.length;s>o;o++)"function"==typeof n[o]&&(n[o]={type:n[o]});var u=(i?i.constructor:void 0,t.split(".")),l=u.splice(u.length-1,1)[0];e.models=e.models||{};var p=r===e.Container?e.models:r;p=e.Container.createOrGetNamespace(u,p);var c=null;if(c=this.classFunctionBuilder(l,n,a,i),c.fullName=t,c.namespace=u.join("."),c.container=r,c.container.registerType(t,c),this.buildType(c,n,i,a),"undefined"!=typeof intellisense&&i&&i.constructor&&intellisense.annotate(c,i.constructor),p[l]=this.classNames[t]=c,"$data"==u[0]){var f=[].concat(u);f.shift();var y=e.Container.createOrGetNamespace(f,e);y[l]=c}if(d&&r==e.Container){var h=e.Container.createOrGetNamespace(u,d);h[l]=c}for(var m=c.baseTypes.length,o=0;m>o;o++){var g=c.baseTypes[o];"inheritedTypeProcessor"in g&&g.inheritedTypeProcessor(c)}return c},classFunctionBuilder:function(t,n,r,i){var a=this.bodyBuilder(n,r,i);return new Function("base","classDefinition","instanceDefinition","name","$data","return function "+t+" (){ "+a+" \n}; ")(n,r,i,t,e)},bodyBuilder:function(t,n,r){for(var i="",a="",o="",s=0,u=t.length;u>s;s++){var l=t[s],p=s;0==p?l&&l.type&&l.type!==e.Base&&l.type.fullName&&(a+="    var baseArguments = $data.typeSystem.createCtorParams(arguments, base["+p+"].params, this); \n",a+="    $data.models."+l.type.fullName+".apply(this, baseArguments); \n"):l&&l.type&&l.propagateTo?(o+="    "+(o?"":"var ")+"propagationArguments = $data.typeSystem.createCtorParams(arguments, base["+p+"].params, this); \n",o+='    this["'+l.propagateTo+'"] =  Object.create($data.models.'+l.type.fullName+".prototype); \n    $data.models."+l.type.fullName+'.apply(this["'+l.propagateTo+'"], propagationArguments); \n'):l&&l.type&&l.type.memberDefinitions&&l.type.memberDefinitions.$constructor&&!l.propagateTo&&(i+="    $data.models."+l.type.fullName+".memberDefinitions.$constructor.method.apply(this); \n")}return r&&r.constructor!=Object&&(a+="    instanceDefinition.constructor.apply(this, arguments); \n"),"\n    //mixins \n"+i+"\n    //construction \n"+a+"\n    //propagations \n"+o},buildType:function(t,r,i,a){var o=r[0].type;if(t.inheritsFrom=o,o.inheritedTo=o.inheritedTo||[],o.inheritedTo.push(t),o){t.prototype=Object.create(o.prototype),t.memberDefinitions=Object.create(o.memberDefinitions||new n),t.memberDefinitions.clearCache();var s=o.staticDefinitions;if(s&&(s=s.asArray()))for(var l=0;l<s.length;l++)this.buildMember(t,s[l],void 0,"staticDefinitions");t.baseTypes=(o.baseTypes||[]).slice();for(var l=0;l<r.length;l++)t.baseTypes.push(r[l].type);t.isAssignableTo||Object.defineProperty(t,"isAssignableTo",{value:function(e){return this===e||this.baseTypes.indexOf(e)>=0},writable:!1,enumerable:!1,configurable:!1})}var p=t.staticDefinitions&&t.staticDefinitions.getMember("openType");if(a&&(p&&delete a.openType,this.buildStaticMembers(t,a),a.constructor&&(t.classConstructor=a.constructor)),i){if(!p&&a&&("string"==typeof t.openType||t.openType===!0)&&t.isAssignableTo(e.Entity)){var d=e.defaults.openTypeDefaultPropertyName,f=c.resolveType(e.defaults.openTypeDefaultType),y=e.defaults.openTypeDefaultValue;"string"==typeof t.openType&&(d=t.openType);var h=t.getMemberDefinition(d);if(h&&c.resolveType(h.type||h.dataType)!==f&&u.Guard.raise(new u.Exception("Type Error","OpenType default type missmatch")),!h&&i[d]){var m=c.resolveType(i[d].type||i[d].dataType);m!==f&&u.Guard.raise(new u.Exception("Type Error","OpenType default type missmatch"))}if(!h&&!i[d]){var g="undefined"!=typeof y?y:function(){return{}};i[d]={type:f,defaultValue:g}}}this.buildInstanceMembers(t,i)}var v=[].concat(r);v.shift(),Object.keys(v).length>0&&this.buildInstanceMixins(t,v),t.__class=!0,t.prototype.constructor=t,Object.defineProperty(t.prototype,"getType",{value:function(){return t},writable:!1,enumerable:!1,configurable:!1})},addMethod:function(e,t,n,r){r&&"undefined"==typeof intellisense?e[t]=function(){return n.apply(this[r],arguments)}:e[t]=n},addProperty:function(e,t,n,r){if(r){if(n.configurable=!0,n.get){var i=n.get;n.get=function(){return this[r]||u.Guard.raise(new u.Exception("not inicialized")),i.apply(this[r],arguments)}}if(n.set){var a=n.set;n.set=function(){this[r]||u.Guard.raise(new u.Exception("not inicialized")),a.apply(this[r],arguments)}}}Object.defineProperty(e,t,n)},addField:function(e,t,n){u.Guard.raise("not implemented")},buildMethod:function(e,t,n){var r=t.classMember?e:e.prototype;this.addMethod(r,t.name,t.method,n);for(var i in t)"undefined"!=typeof Reflect&&Reflect.defineMetadata&&"undefined"!=typeof t[i]&&t.hasOwnProperty(i)&&Reflect.defineMetadata("definition:"+i,t[i],r,t.name)},buildProperty:function(e,t,n){var r=t.classMember?e:e.prototype,i=t.createPropertyDescriptor(e);this.addProperty(r,t.name,i,n);for(var a in t)"undefined"!=typeof Reflect&&Reflect.defineMetadata&&"undefined"!=typeof t[a]&&t.hasOwnProperty(a)&&Reflect.defineMetadata("definition:"+a,t[a],r,t.name);if(!t.classMember&&1==e.__setPropertyfunctions&&t.withoutGetSetMethod!==!0&&!("get_"+t.name in r||"set_"+t.name in r)){var o=t.createGetMethod();this.addProperty(r,"get_"+t.name,o,n);var s=t.createSetMethod();this.addProperty(r,"set_"+t.name,s,n)}},buildMember:function(e,t,r,a){switch(a=a||"memberDefinitions",e[a]=e[a]||new n,e[a].setMember(t),t.kind){case i.method:this.buildMethod(e,t,r);break;case i.navProperty:case i.complexProperty:case i.property:this.buildProperty(e,t,r);break;default:u.Guard.raise("Unknown member type: "+t.kind+","+t.name)}},buildStaticMembers:function(e,n){var r=this;for(var i in n)if(n.hasOwnProperty(i)){var a=t.translateDefinition(n[i],i,e);a.classMember=!0,r.buildMember(e,a,void 0,"staticDefinitions")}},buildInstanceMembers:function(e,n){var r=this;for(var i in n)if(n.hasOwnProperty(i)){var a=t.translateDefinition(n[i],i,e);r.buildMember(e,a,void 0,"memberDefinitions")}},copyMembers:function(e,t){function n(e){"undefined"!=typeof intellisense&&intellisense.logMessage(e)}Object.keys(e.prototype).forEach(function(r,i,a){"constructor"!==r&&"toString"!==r&&(n("copying item:"+r),t.prototype[r]=e[r])})},buildInstanceMixins:function(e,t){e.mixins=e.mixins||[],e.propagations=e.propagations||[];for(var n=0;n<t.length;n++){var r=t[n];r.propagateTo?(this.buildInstancePropagation(e,r),e.propagations.push(r),e.propagations[r.type.name]=!0):(this.buildInstanceMixin(e,r),e.mixins.push(r),e.mixins[r.type.name]=!0)}},buildInstanceMixin:function(e,t){for(var n=t.type.memberDefinitions.asArray(),r=0,i=n.length;i>r;r++){var a=n[r].name;"constructor"===a||e.memberDefinitions.getMember(a)||this.buildMember(e,n[r])}if(t.type.staticDefinitions)for(var o=t.type.staticDefinitions.asArray(),r=0,i=o.length;i>r;r++){var a=o[r].name;"constructor"===a||e.memberDefinitions.getMember(a)||this.buildMember(e,o[r],void 0,"staticDefinitions")}},buildInstancePropagation:function(e,t){for(var n=t.type.memberDefinitions.asArray(),r=0,i=n.length;i>r;r++){var a=n[r].name;"constructor"===a||e.memberDefinitions.getMember(a)||this.buildMember(e,n[r],t.propagateTo)}}};var o;e.Class=o=new r,e.ContainerClass=p.ContainerCtor;var s;e.Container=s=p.ContainerInstance,e.createContainer=function(){return new p.ContainerCtor(e.Container)};var l=function(e,t){var n="_"+e.name;this[n]?this[n]=t:Object.defineProperty(this,n,e.createStorePropertyDescriptor(t))},f=function(e){var t="_"+e.name;return this[t]};e.Class.define("$data.Base",function(){},null,{storeProperty:l,retrieveProperty:f,setProperty:function(e,t,n){this[e.name]=t,n()},getProperty:function(e,t){t.apply(this,[this[e.name]])}},{create:function(){return c.createInstance(this,arguments)},extend:function(t,n,r,i){return!n||n instanceof p.ContainerCtor||(i=r,r=n,n=void 0),e.Class.define(t,this,n,r,i)},getMemberDefinition:function(e){return this.memberDefinitions.getMember(e)},addProperty:function(n,r,i,a){var o,s=r,u=i;"string"==typeof s&&(o=r,s=i,u=a);var l={notMapped:!0,storeOnObject:!0,get:"function"==typeof s?s:function(){},set:"function"==typeof u?u:function(){},type:o},p=t.translateDefinition(l,n,this);return e.Class.buildMember(this,p),this.memberDefinitions.clearCache(),this},addMember:function(n,r,i){var a=t.translateDefinition(r,n,this);return i?(a.classMember=!0,e.Class.buildMember(this,a,void 0,"staticDefinitions"),this.staticDefinitions.clearCache()):(e.Class.buildMember(this,a),this.memberDefinitions.clearCache()),this},describeField:function(e,t){var n=this.memberDefinitions.getMember(e);return n?u.Guard.raise(new u.Exception("Field '"+e+"' already defined!","Invalid operation")):this.addMember(e,t),this},storeProperty:l,retrieveProperty:f,"from$data.Object":function(e){return e},hasMetadata:function(e,t){return"undefined"!=typeof Reflect&&Reflect.hasMetadata&&Reflect.hasMetadata(e,this.prototype,t)},getAllMetadata:function(e){var t=this,n={};if("undefined"!=typeof Reflect&&Reflect.getMetadataKeys&&Reflect.getMetadata){var r=Reflect.getMetadataKeys(this.prototype,e);r.forEach(function(r){n[r]=Reflect.getMetadata(r,t.prototype,e)})}return n},getMetadata:function(e,t){return"undefined"!=typeof Reflect&&Reflect.getMetadata?Reflect.getMetadata(e,this.prototype,t):void 0},setMetadata:function(e,t,n){return"undefined"!=typeof Reflect&&Reflect.defineMetadata&&Reflect.defineMetadata(e,t,this.prototype,n)}}),e.Class.ConstructorParameter=e.Class.define("ConstructorParameter",null,null,{constructor:function(e){this.paramIndex=e},paramIndex:{}})}(s["default"]),s["default"].defaultErrorCallback=function(){arguments.length>0&&arguments[arguments.length-1]&&"function"==typeof arguments[arguments.length-1].reject?((console.error||console.log).call(console,arguments[0]),arguments[arguments.length-1].reject.apply(arguments[arguments.length-1],arguments)):arguments[0]instanceof Error?u.Guard.raise(arguments[0]):u.Guard.raise(new u.Exception("DEFAULT ERROR CALLBACK!","DefaultError",arguments))},s["default"].defaultSuccessCallback=function(){},s["default"].defaultNotifyCallback=function(){},s["default"].typeSystem={__namespace:!0,extend:function(e){"object"!==("undefined"==typeof e?"undefined":a(e))&&"function"!=typeof e&&u.Guard.raise("Target must be object or function");for(var t=1;t<arguments.length;t++){var n=arguments[t];if(null!==n&&"undefined"!=typeof n)for(var r in n)e[r]=n[r]}return e},createCallbackSetting:function(e,t){function n(e){function t(){e.apply(n,arguments),e=function(){}}var n=this;return t}var r={success:s["default"].defaultSuccessCallback,error:s["default"].defaultErrorCallback,notify:s["default"].defaultNotifyCallback};void 0!=t&&null!=t&&(r=t);var i;return i=null==e||void 0==e?r:"function"==typeof e?this.extend(r,{success:e}):this.extend(r,e),"function"==typeof i.error&&(i.error=n(i.error)),i},createCtorParams:function(e,t,n){if(t){for(var r=[],i=0,a=t.length;a>i;i++){var o=i;t[o]instanceof s["default"].Class.ConstructorParameter?r.push(e[t[o].paramIndex]):"function"==typeof t[o]?r.push(t[o].apply(n)):r.push(t[o])}return r}return e},writePropertyValues:function(e){e&&e.getType&&e.getType().memberDefinitions&&this.writeProperties(e,e.getType().memberDefinitions.asArray().filter(function(e){return("property"==e.kind||"navProperty"==e.kind||"complexProperty"==e.kind)&&!e.prototypeProperty}))},writeProperties:function(e,t){for(var n={},r=0,i=t.length;i>r;r++){var a=t[r];n[a.name]=a.createPropertyDescriptor(null,a.value)}Object.defineProperties(e,n)},writeProperty:function(e,t,n){var r="string"==typeof t?e.getType().memberDefinitions.getMember(t):t;if(r){var i=r.createPropertyDescriptor(null,n);Object.defineProperty(e,r.name,i)}}},s["default"].debug=function(){(console.debug||console.log).apply(console,arguments)},s["default"].debugWith=function(){var e=arguments;return function(t){(console.debug||console.log).apply(console,e),"undefined"!=typeof Error&&t instanceof Error||"undefined"!=typeof u.Exception&&t instanceof u.Exception?(console.error||console.log).apply(console,arguments):(console.debug||console.log).apply(console,arguments)}},s["default"].fdebug={success:s["default"].debugWith("success"),error:s["default"].debugWith("error")};var c=(n.$C=function(){s["default"].Class.define.apply(s["default"].Class,arguments)},n.Container=s["default"].Container);n.MemberDefinition=s["default"].MemberDefinition;n["default"]=s["default"]}).call(this,e("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./Container.js":29,"./Extensions.js":30,"./PreHtml5Compatible.js":31,"./initializeJayData.js":45,_process:23,"jaydata-error-handler":8}],35:[function(_dereq_,module,exports){(function(global){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},_TypeSystem=_dereq_("../TypeSystem.js"),_TypeSystem2=_interopRequireDefault(_TypeSystem),_jaydataErrorHandler=_dereq_("jaydata-error-handler"),_btoa="undefined"!=typeof window?window.btoa:"undefined"!=typeof global?global.btoa:null,_btoa2=_interopRequireDefault(_btoa),bufferOrArray=eval('typeof Buffer !== "undefined" ? Buffer : Uint8Array');_TypeSystem2["default"].Blob=function(){},_TypeSystem2["default"].Blob.createFromHexString=function(e){if(e==e.match(new RegExp("[0-9a-fA-F]+"))[0]){for(var t=new bufferOrArray(e.length>>1),n=0,r=1,i=0;n<e.length;n+=2,r+=2,i++)t[i]=parseInt("0x"+e[n]+e[r],16);return t}_jaydataErrorHandler.Guard.raise(new _jaydataErrorHandler.Exception("TypeError: ","value not convertable to $data.Blob",e))},_TypeSystem2["default"].Blob.toString=function(e){if(!e||!e.length)return null;for(var t="",n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t},_TypeSystem2["default"].Blob.toBase64=function(e){return e&&e.length?(0,_btoa2["default"])(_TypeSystem2["default"].Blob.toString(e)):null},_TypeSystem2["default"].Blob.toArray=function(e){if(!e||!e.length)return null;for(var t=new Array(e.length),n=0;n<e.length;n++)t[n]=e[n];return t},_TypeSystem2["default"].Blob.toHexString=function(e){if(!e||!e.length)return null;for(var t="",n=0;n<e.length;n++)t+=("00"+e[n].toString(16)).slice(-2);return t.toUpperCase()},_TypeSystem2["default"].Blob.toDataURL=function(e){return e&&e.length?"data:application/octet-stream;base64,"+(0,_btoa2["default"])(_TypeSystem2["default"].Blob.toString(e)):null},_TypeSystem2["default"].Container.registerType(["$data.Blob","blob","JayBlob"],_TypeSystem2["default"].Blob),_TypeSystem2["default"].Container.registerConverter("$data.Blob",{"$data.String":function(e){if(e&&e.length){for(var t=new bufferOrArray(e.length),n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}return null},"$data.Array":function(e){return new bufferOrArray(e)},"$data.Number":function(e){return new bufferOrArray(_TypeSystem2["default"].packIEEE754(e,11,52).reverse())},"$data.Boolean":function(e){return new bufferOrArray([0|e])},"default":function(e){if("undefined"!=typeof Blob&&e instanceof Blob){var t=new XMLHttpRequest;return t.open("GET",URL.createObjectURL(e),!1),t.send(null),_TypeSystem2["default"].Container.convertTo(t.response,_TypeSystem2["default"].Blob)}if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer)return new bufferOrArray(new Uint8Array(e));if(e instanceof Uint8Array)return e;if(e.buffer)return new bufferOrArray(e);if("object"==("undefined"==typeof e?"undefined":_typeof(e))&&e instanceof Object){var n=[];for(var r in e)n[r]=e[r];if(!n.length)throw 0;return new bufferOrArray(n)}throw 0}},{"$data.String":function(e){return _TypeSystem2["default"].Blob.toString(e)},"$data.Array":function(e){return _TypeSystem2["default"].Blob.toArray(e)}})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../TypeSystem.js":34,"jaydata-error-handler":8}],36:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},a=e("../TypeSystem.js"),o=r(a);o["default"].Container.registerConverter("$data.Boolean",{"$data.String":function(e){return"true"==e.toLowerCase()?!0:"false"==e.toLowerCase()?!1:!!e},"default":function(e){return!!e}}),o["default"].Container.registerConverter("$data.Integer",{"default":function(e){if(e===Number.POSITIVE_INFINITY||e===Number.NEGATIVE_INFINITY||e===Number.MAX_VALUE||e===Number.MIN_VALUE)return e;var t=parseInt(+e,10);if(isNaN(t))throw 0;return t}}),o["default"].Container.registerConverter("$data.Int32",{"default":function(e){return 0|e}}),o["default"].Container.registerConverter("$data.Number",{"default":function(e){var t=+e;if(isNaN(t))throw 0;return t}}),o["default"].Container.registerConverter("$data.Byte",{"default":function(e){return 255&(0|e)}}),o["default"].Container.registerConverter("$data.Date",{"default":function(e){var t=new Date(e);if(isNaN(t))throw 0;return t}}),o["default"].Container.registerConverter("$data.DateTimeOffset",{"$data.Date":function(e){return e},"default":function(e){var t=new Date(e);if(isNaN(t))throw 0;return t}}),function(){function e(e){var t=/^([0-9]|0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]|[0-9])(:([0-5][0-9]|[0-9])(\.(\d+))?)?$/,n=t.exec(e);if(!n)throw 0;var r="";return r+=("00"+n[1]).slice(-2),r+=":"+("00"+n[2]).slice(-2),r+=n[4]?":"+("00"+n[4]).slice(-2):":00",n[6]&&(r+="."+(n[6]+"000").slice(0,3)),r}o["default"].Container.registerConverter("$data.Time",{"$data.String":e,"$data.Number":function(t){for(var n=[1e3,60,60],r=[0,0,0,0|t],i=0;i<n.length;i++)r[n.length-(i+1)]=r[n.length-i]/n[i]|0,r[n.length-i]-=r[n.length-(i+1)]*n[i];for(var a="",i=0;i<r.length;i++)i<r.length-1?(a+=("00"+r[i]).slice(-2),i<r.length-2&&(a+=":")):a+="."+("000"+r[i]).slice(-3);return e(a)},"$data.Date":function(t){var n=t.getHours()+":"+t.getMinutes()+":"+t.getSeconds(),r=t.getMilliseconds();return r&&(n+="."+r),e(n)}})}(),function(){function e(e){var t=/^(-?)([0-9]{1,4})-(1[0-2]|0[0-9]|[0-9])-([0-2][0-9]|3[0-1]|[0-9])$/,n=t.exec(e);if(!n)throw 0;var r=n[1];return r+=("0000"+n[2]).slice(-4),r+="-"+("00"+n[3]).slice(-2),r+="-"+("00"+n[4]).slice(-2)}function t(t){var n=t.getFullYear()+"-"+(t.getMonth()+1)+"-"+t.getDate();return e(n)}o["default"].Container.registerConverter("$data.Day",{"$data.String":e,"$data.Number":function(e){var n=864e5,r=e*n;if(isNaN(r))throw 0;return t(new Date(r))},"$data.Date":t})}(),function(){function e(e){return e}o["default"].Container.registerConverter("$data.Duration",{"$data.String":e})}(),o["default"].Container.registerConverter("$data.Decimal",{"$data.Boolean":function(e){return e?"1":"0"},"$data.Number":function(e){return e.toString()},"$data.String":function(e){if(!/^\-?([0-9]+(\.[0-9]+)?|Infinity)$/.test(e))throw 0;return e},"$data.Date":function(e){var t=e.valueOf();if(isNaN(t))throw 0;return t.toString()}}),o["default"].packIEEE754=function(e,t,n){
var r,i,a,o,s,u,l,p,d=(1<<t-1)-1;for(e!==e?(i=(1<<d)-1,a=Math.pow(2,n-1),r=0):e===1/0||e===-(1/0)?(i=(1<<d)-1,a=0,r=0>e?1:0):0===e?(i=0,a=0,r=1/e===-(1/0)?1:0):(r=0>e,e=Math.abs(e),e>=Math.pow(2,1-d)?(o=Math.min(Math.floor(Math.log(e)/Math.LN2),d),i=o+d,a=Math.round(e*Math.pow(2,n-o)-Math.pow(2,n))):(i=0,a=Math.round(e/Math.pow(2,1-d-n)))),u=[],s=n;s;s-=1)u.push(a%2?1:0),a=Math.floor(a/2);for(s=t;s;s-=1)u.push(i%2?1:0),i=Math.floor(i/2);for(u.push(r?1:0),u.reverse(),l=u.join(""),p=[];l.length;)p.push(parseInt(l.substring(0,8),2)),l=l.substring(8);return p},o["default"].unpackIEEE754=function(e,t,n){var r,i,a,o,s,u,l,p,d=[];for(r=e.length;r;r-=1)for(a=e[r-1],i=8;i;i-=1)d.push(a%2?1:0),a>>=1;return d.reverse(),o=d.join(""),s=(1<<t-1)-1,u=parseInt(o.substring(0,1),2)?-1:1,l=parseInt(o.substring(1,1+t),2),p=parseInt(o.substring(1+t),2),l===(1<<t)-1?0!==p?NaN:u*(1/0):l>0?u*Math.pow(2,l-s)*(1+p/Math.pow(2,n)):0!==p?u*Math.pow(2,-(s-1))*(p/Math.pow(2,n)):0>u?-0:0},o["default"].IEEE754=function(e,t,n){return o["default"].unpackIEEE754(o["default"].packIEEE754(e,t,n),t,n)},o["default"].Container.registerConverter("$data.Float",{"default":function(e){var t=+e;if(isNaN(t))throw 0;return o["default"].IEEE754(t,8,23)}}),o["default"].Container.registerConverter("$data.Int16",{"default":function(e){var t=65535&(0|e);return t>=32768?t-65536:t}}),o["default"].Container.registerConverter("$data.Int64",{"$data.Boolean":function(e){return e?"1":"0"},"$data.Number":function(e){var t=e.toString();if(t.indexOf(".")>0)return t.split(".")[0];if(0==t.indexOf("."))throw 0;return t},"$data.String":function(e){if(!/^\-?([0-9]+(\.[0-9]+)?|Infinity)$/.test(e))throw 0;if(e.indexOf(".")>0)return e.split(".")[0];if(0==e.indexOf("."))throw 0;return e},"$data.Date":function(e){var t=e.valueOf();if(isNaN(t))throw 0;return t.toString()}}),o["default"].Container.registerConverter("$data.SByte",{"default":function(e){var t=255&(0|e);return t>=128?t-256:t}}),o["default"].Container.registerConverter("$data.String",{"$data.Date":function(e){return e.toISOString()},"$data.ObjectID":function(e){return btoa(e.toString())},"default":function(e){return"object"===("undefined"==typeof e?"undefined":i(e))?JSON.stringify(e):e.toString()}}),o["default"].Container.registerConverter("$data.Object",{"$data.String":function(e){return JSON.parse(e)},"$data.Function":function(){throw 0}}),o["default"].Container.registerConverter("$data.Array",{"$data.String":function(e){var t=JSON.parse(e);if(!Array.isArray(t))throw 0;return t}}),o["default"].Container.registerConverter("$data.ObjectID",{"$data.ObjectID":function(e){try{return btoa(e.toString())}catch(t){return e}},"$data.String":function(e){return e}}),o["default"].Container.proxyConverter=function(e){return e},o["default"].Container.defaultConverter=function(e){return function(t){return o["default"].Container.convertTo(t,e)}},n["default"]=o["default"],t.exports=n["default"]},{"../TypeSystem.js":34}],37:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../TypeSystem.js"),a=r(i);!function(e){function t(){}function n(){}function r(){}function i(){}function a(){}function o(){}function s(){}function u(){}function l(){}function p(){}function d(){}function c(){}function f(){}function y(){}function h(){}function m(){}function g(){}function v(){}function x(){}function E(){}function b(){}function T(){}function C(){}function S(){}function _(){}function P(){}function N(){}function M(){}function A(){}function w(){}function O(){}function j(){}function D(){}e.Container.registerType("Edm.Boolean",t),e.Container.mapType(t,e.Boolean),e.Container.registerType("Edm.Binary",n),e.Container.mapType(n,e.Blob),e.Container.registerType("Edm.DateTime",r),e.Container.mapType(r,e.Date),e.Container.registerType("Edm.DateTimeOffset",i),e.Container.mapType(i,e.DateTimeOffset),e.Container.registerType("Edm.Time",a),e.Container.mapType(a,e.Time),e.Container.registerType("Edm.TimeOfDay",o),e.Container.mapType(o,e.Time),e.Container.registerType("Edm.Date",s),e.Container.mapType(s,e.Day),e.Container.registerType("Edm.Duration",u),e.Container.mapType(u,e.Duration),e.Container.registerType("Edm.Decimal",l),e.Container.mapType(l,e.Decimal),e.Container.registerType("Edm.Float",p),e.Container.mapType(p,e.Float),e.Container.registerType("Edm.Single",d),e.Container.mapType(d,e.Float),e.Container.registerType("Edm.Double",c),e.Container.mapType(c,e.Number),e.Container.registerType("Edm.Guid",f),e.Container.mapType(f,e.Guid),e.Container.registerType("Edm.Int16",y),e.Container.mapType(y,e.Int16),e.Container.registerType("Edm.Int32",h),e.Container.mapType(h,e.Integer),e.Container.registerType("Edm.Int64",m),e.Container.mapType(m,e.Int64),e.Container.registerType("Edm.Byte",g),e.Container.mapType(g,e.Byte),e.Container.registerType("Edm.SByte",v),e.Container.mapType(v,e.SByte),e.Container.registerType("Edm.String",x),e.Container.mapType(x,e.String),e.Container.registerType("Edm.GeographyPoint",E),e.Container.mapType(E,e.GeographyPoint),e.Container.registerType("Edm.GeographyLineString",b),e.Container.mapType(b,e.GeographyLineString),e.Container.registerType("Edm.GeographyPolygon",T),e.Container.mapType(T,e.GeographyPolygon),e.Container.registerType("Edm.GeographyMultiPoint",C),e.Container.mapType(C,e.GeographyMultiPoint),e.Container.registerType("Edm.GeographyMultiLineString",S),e.Container.mapType(S,e.GeographyMultiLineString),e.Container.registerType("Edm.GeographyMultiPolygon",_),e.Container.mapType(_,e.GeographyMultiPolygon),e.Container.registerType("Edm.GeographyCollection",P),e.Container.mapType(P,e.GeographyCollection),e.Container.registerType("Edm.GeometryPoint",N),e.Container.mapType(N,e.GeometryPoint),e.Container.registerType("Edm.GeometryLineString",M),e.Container.mapType(M,e.GeometryLineString),e.Container.registerType("Edm.GeometryPolygon",A),e.Container.mapType(A,e.GeometryPolygon),e.Container.registerType("Edm.GeometryMultiPoint",w),e.Container.mapType(w,e.GeometryMultiPoint),e.Container.registerType("Edm.GeometryMultiLineString",O),e.Container.mapType(O,e.GeometryMultiLineString),e.Container.registerType("Edm.GeometryMultiPolygon",j),e.Container.mapType(j,e.GeometryMultiPolygon),e.Container.registerType("Edm.GeometryCollection",D),e.Container.mapType(D,e.GeometryCollection),e.oDataEdmMapping={"$data.Byte":"Edm.Byte","$data.SByte":"Edm.SByte","$data.Decimal":"Edm.Decimal","$data.Float":"Edm.Float","$data.Int16":"Edm.Int16","$data.Int64":"Edm.Int64","$data.DateTimeOffset":"Edm.DateTimeOffset","$data.Time":"Edm.TimeOfDay","$data.Day":"Edm.Date","$data.Duration":"Edm.Duration","$data.Boolean":"Edm.Boolean","$data.Blob":"Edm.Binary","$data.Date":"Edm.DateTime","$data.Number":"Edm.Double","$data.Integer":"Edm.Int32","$data.Int32":"Edm.Int32","$data.String":"Edm.String","$data.ObjectID":"Edm.String","$data.GeographyPoint":"Edm.GeographyPoint","$data.GeographyLineString":"Edm.GeographyLineString","$data.GeographyPolygon":"Edm.GeographyPolygon","$data.GeographyMultiPoint":"Edm.GeographyMultiPoint","$data.GeographyMultiLineString":"Edm.GeographyMultiLineString","$data.GeographyMultiPolygon":"Edm.GeographyMultiPolygon","$data.GeographyCollection":"Edm.GeographyCollection","$data.GeometryPoint":"Edm.GeometryPoint","$data.GeometryLineString":"Edm.GeometryLineString","$data.GeometryPolygon":"Edm.GeometryPolygon","$data.GeometryMultiPoint":"Edm.GeometryMultiPoint","$data.GeometryMultiLineString":"Edm.GeometryMultiLineString","$data.GeometryMultiPolygon":"Edm.GeometryMultiPolygon","$data.GeometryCollection":"Edm.GeometryCollection","$data.Guid":"Edm.Guid"}}(a["default"]),n["default"]=a["default"],t.exports=n["default"]},{"../TypeSystem.js":34}],38:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},a=e("../TypeSystem.js"),o=r(a),s=e("jaydata-error-handler");o["default"].GeographyBase=function(){o["default"].Geospatial.apply(this,arguments),this.crs=this.crs||o["default"].GeographyBase.defaultCrs,o["default"].GeographyBase.validateGeoJSON(this)},o["default"].GeographyBase.disableSRID=!1,o["default"].GeographyBase.defaultCrs={properties:{name:"EPSG:4326"},type:"name"},o["default"].GeographyBase.parseFromString=function(e){var t=e.indexOf("(");if(t>=0){var n=e.substring(0,t).toLowerCase(),r=o["default"].GeographyBase.registered[n];if(r&&r.parseFromString&&r!=o["default"].GeographyBase)return r.parseFromString(e);s.Guard.raise(new s.Exception("parseFromString","Not Implemented",e))}},o["default"].GeographyBase.stringifyToUrl=function(e){if(e instanceof o["default"].GeographyBase&&e.constructor&&e.constructor.stringifyToUrl)return e.constructor.stringifyToUrl(e);if(e instanceof o["default"].GeographyBase&&e.constructor&&Array.isArray(e.constructor.validMembers)&&"coordinates"===e.constructor.validMembers[0]){var t,n=function(){var n=function(e){if(!o["default"].GeographyBase.disableSRID&&e.crs&&e.crs.properties&&e.crs.properties.name){var n=/EPSG:(\d+)/i,r=n.exec(e.crs.properties.name);r&&(t+="SRID="+r[1]+";")}return t},r=function i(e){if(Array.isArray(e[0]))for(var n=0;n<e.length;n++)n>0&&(t+=","),Array.isArray(e[n][0])&&(t+="("),i(e[n]),Array.isArray(e[n][0])&&(t+=")");else t+=e.join(" ");return t};return t="geography'",t=n(e),t+=e.type+"(",t=r(e.coordinates),t+=")'",{v:t}}();if("object"===("undefined"==typeof n?"undefined":i(n)))return n.v}else s.Guard.raise(new s.Exception("stringifyToUrl on instance type","Not Implemented",e))},o["default"].GeographyBase.registerType=function(e,t,n){o["default"].SimpleBase.registerType(e,t,n||o["default"].GeographyBase),o["default"].GeographyBase.registered=o["default"].GeographyBase.registered||{},o["default"].GeographyBase.registered[e.toLowerCase()]=t},o["default"].GeographyBase.validateGeoJSON=function(e){var t=e.type;if(t){var n=o["default"].GeographyBase.registered[t.toLowerCase()];if("function"==typeof n.validateGeoJSON){var r=n.validateGeoJSON(e);if(r)return r;s.Guard.raise(new s.Exception("Invalid '"+t+"' format!","Format Exception",e))}}console.log("GeoJSON validation missing",e)},o["default"].SimpleBase.registerType("GeographyBase",o["default"].GeographyBase,o["default"].Geospatial),o["default"].Container.registerType(["$data.GeographyBase"],o["default"].GeographyBase),o["default"].GeographyPoint=function(e,t){e&&"object"===("undefined"==typeof e?"undefined":i(e))&&Array.isArray(e)?o["default"].GeographyBase.call(this,{coordinates:e}):e&&"object"===("undefined"==typeof e?"undefined":i(e))&&("longitude"in e||"latitude"in e)?o["default"].GeographyBase.call(this,{coordinates:[e.longitude,e.latitude]}):e&&"object"===("undefined"==typeof e?"undefined":i(e))&&("lng"in e||"lat"in e)?o["default"].GeographyBase.call(this,{coordinates:[e.lng,e.lat]}):e&&"object"===("undefined"==typeof e?"undefined":i(e))?o["default"].GeographyBase.call(this,e):o["default"].GeographyBase.call(this,{coordinates:[e||0,t||0]})},o["default"].GeographyPoint.validateGeoJSON=function(e){return e&&Array.isArray(e.coordinates)&&2==e.coordinates.length&&"number"==typeof e.coordinates[0]&&"number"==typeof e.coordinates[1]},o["default"].GeographyPoint.parseFromString=function(e){var t=e.substring(e.indexOf("(")+1,e.lastIndexOf(")")),n=t.split(" ");return new o["default"].GeographyPoint(parseFloat(n[0]),parseFloat(n[1]))},o["default"].GeographyPoint.validMembers=["coordinates"],o["default"].GeographyBase.registerType("Point",o["default"].GeographyPoint),Object.defineProperty(o["default"].GeographyPoint.prototype,"longitude",{get:function(){return this.coordinates[0]},set:function(e){this.coordinates[0]=e}}),Object.defineProperty(o["default"].GeographyPoint.prototype,"latitude",{get:function(){return this.coordinates[1]},set:function(e){this.coordinates[1]=e}}),o["default"].Container.registerType(["$data.GeographyPoint","GeographyPoint","$data.Geography","Geography","geography","geo"],o["default"].GeographyPoint),o["default"].Geography=o["default"].GeographyPoint,o["default"].GeographyLineString=function(e){Array.isArray(e)?o["default"].GeographyBase.call(this,{coordinates:e}):o["default"].GeographyBase.call(this,e)},o["default"].GeographyLineString.validateGeoJSON=function(e){for(var t=e&&Array.isArray(e.coordinates),n=0;t&&n<e.coordinates.length;n++){var r=e.coordinates[n];t=t&&Array.isArray(r)&&2==r.length&&"number"==typeof r[0]&&"number"==typeof r[1]}return t},o["default"].GeographyLineString.validMembers=["coordinates"],o["default"].GeographyBase.registerType("LineString",o["default"].GeographyLineString),o["default"].Container.registerType(["$data.GeographyLineString","GeographyLineString"],o["default"].GeographyLineString),o["default"].GeographyPolygon=function(e){if("object"===("undefined"==typeof e?"undefined":i(e))&&("topLeft"in e&&"bottomRight"in e||"topRight"in e&&"bottomLeft"in e)){var t,n,r,a;"topLeft"in e&&"bottomRight"in e?(t=e.topLeft instanceof o["default"].GeographyPoint?e.topLeft:new o["default"].GeographyPoint(e.topLeft),a=e.bottomRight instanceof o["default"].GeographyPoint?e.bottomRight:new o["default"].GeographyPoint(e.bottomRight),n=new o["default"].GeographyPoint([a.coordinates[0],t.coordinates[1]]),r=new o["default"].GeographyPoint([t.coordinates[0],a.coordinates[1]])):(n=e.topRight instanceof o["default"].GeographyPoint?e.topRight:new o["default"].GeographyPoint(e.topRight),r=e.bottomLeft instanceof o["default"].GeographyPoint?e.bottomLeft:new o["default"].GeographyPoint(e.bottomLeft),t=new o["default"].GeographyPoint([r.coordinates[0],n.coordinates[1]]),a=new o["default"].GeographyPoint([n.coordinates[0],r.coordinates[1]]));var s=[];s.push([].concat(t.coordinates)),s.push([].concat(n.coordinates)),s.push([].concat(a.coordinates)),s.push([].concat(r.coordinates)),s.push([].concat(t.coordinates)),o["default"].GeographyBase.call(this,{coordinates:[s]})}else Array.isArray(e)?o["default"].GeographyBase.call(this,{coordinates:e}):o["default"].GeographyBase.call(this,e)},o["default"].GeographyPolygon.validateGeoJSON=function(e){for(var t=e&&Array.isArray(e.coordinates),n=0;t&&n<e.coordinates.length;n++)for(var r=e.coordinates[n],t=t&&Array.isArray(r),i=0;t&&i<r.length;i++){var a=r[i];t=t&&Array.isArray(a)&&2==a.length&&"number"==typeof a[0]&&"number"==typeof a[1]}return t},o["default"].GeographyPolygon.parseFromString=function(e){for(var t=e.substring(e.indexOf("(")+1,e.lastIndexOf(")")),n=t.substring(t.indexOf("(")+1,t.lastIndexOf(")")).split("),("),t=[],r=0;r<n.length;r++){for(var i=[],a=n[r].split(","),s=0;s<a.length;s++){var u=a[s].split(" ");i.push([parseFloat(u[0]),parseFloat(u[1])])}t.push(i)}return new o["default"].GeographyPolygon(t)},o["default"].GeographyPolygon.validMembers=["coordinates"],o["default"].GeographyBase.registerType("Polygon",o["default"].GeographyPolygon),o["default"].Container.registerType(["$data.GeographyPolygon","GeographyPolygon"],o["default"].GeographyPolygon),o["default"].GeographyMultiPoint=function(e){Array.isArray(e)?o["default"].GeographyBase.call(this,{coordinates:e}):o["default"].GeographyBase.call(this,e)},o["default"].GeographyMultiPoint.validateGeoJSON=function(e){for(var t=e&&Array.isArray(e.coordinates),n=0;t&&n<e.coordinates.length;n++){var r=e.coordinates[n];t=t&&Array.isArray(r)&&2==r.length&&"number"==typeof r[0]&&"number"==typeof r[1]}return t},o["default"].GeographyMultiPoint.validMembers=["coordinates"],o["default"].GeographyBase.registerType("MultiPoint",o["default"].GeographyMultiPoint),o["default"].Container.registerType(["$data.GeographyMultiPoint","GeographyMultiPoint"],o["default"].GeographyMultiPoint),o["default"].GeographyMultiLineString=function(e){Array.isArray(e)?o["default"].GeographyBase.call(this,{coordinates:e}):o["default"].GeographyBase.call(this,e)},o["default"].GeographyMultiLineString.validateGeoJSON=function(e){for(var t=e&&Array.isArray(e.coordinates),n=0;t&&n<e.coordinates.length;n++)for(var r=e.coordinates[n],t=t&&Array.isArray(r),i=0;t&&i<r.length;i++){var a=r[i];t=t&&Array.isArray(a)&&2==a.length&&"number"==typeof a[0]&&"number"==typeof a[1]}return t},o["default"].GeographyMultiLineString.validMembers=["coordinates"],o["default"].GeographyBase.registerType("MultiLineString",o["default"].GeographyMultiLineString),o["default"].Container.registerType(["$data.GeographyMultiLineString","GeographyMultiLineString"],o["default"].GeographyMultiLineString),o["default"].GeographyMultiPolygon=function(e){Array.isArray(e)?o["default"].GeographyBase.call(this,{coordinates:e}):o["default"].GeographyBase.call(this,e)},o["default"].GeographyMultiPolygon.validateGeoJSON=function(e){for(var t=e&&Array.isArray(e.coordinates),n=0;t&&n<e.coordinates.length;n++)for(var r=e.coordinates[n],t=t&&Array.isArray(r),i=0;t&&i<r.length;i++)for(var a=r[i],t=t&&Array.isArray(a),o=0;t&&o<a.length;o++){var s=a[o];t=t&&Array.isArray(s)&&2==s.length&&"number"==typeof s[0]&&"number"==typeof s[1]}return t},o["default"].GeographyMultiPolygon.validMembers=["coordinates"],o["default"].GeographyBase.registerType("MultiPolygon",o["default"].GeographyMultiPolygon),o["default"].Container.registerType(["$data.GeographyMultiPolygon","GeographyMultiPolygon"],o["default"].GeographyMultiPolygon),o["default"].GeographyCollection=function(e){Array.isArray(e)?o["default"].GeographyBase.call(this,{geometries:e}):o["default"].GeographyBase.call(this,e)},o["default"].GeographyCollection.validateGeoJSON=function(e){for(var t=e&&Array.isArray(e.geometries),n=0;t&&n<e.geometries.length;n++){var r=e.geometries[n];try{t=t&&o["default"].GeographyBase.validateGeoJSON(r)}catch(i){t=!1}}return t},o["default"].GeographyCollection.validMembers=["geometries"],o["default"].GeographyBase.registerType("GeometryCollection",o["default"].GeographyCollection),o["default"].Container.registerType(["$data.GeographyCollection","GeographyCollection"],o["default"].GeographyCollection),o["default"].Container.registerConverter(o["default"].GeographyPoint,o["default"].Object,function(e){return e?new o["default"].GeographyPoint(e):e}),o["default"].Container.registerConverter(o["default"].GeographyLineString,o["default"].Object,function(e){return e?new o["default"].GeographyLineString(e):e}),o["default"].Container.registerConverter(o["default"].GeographyPolygon,o["default"].Object,function(e){return e?new o["default"].GeographyPolygon(e):e}),o["default"].Container.registerConverter(o["default"].GeographyMultiPoint,o["default"].Object,function(e){return e?new o["default"].GeographyMultiPoint(e):e}),o["default"].Container.registerConverter(o["default"].GeographyMultiLineString,o["default"].Object,function(e){return e?new o["default"].GeographyMultiLineString(e):e}),o["default"].Container.registerConverter(o["default"].GeographyMultiPolygon,o["default"].Object,function(e){return e?new o["default"].GeographyMultiPolygon(e):e}),o["default"].Container.registerConverter(o["default"].GeographyCollection,o["default"].Object,function(e){return e?new o["default"].GeographyCollection(e):e}),n["default"]=o["default"],t.exports=n["default"]},{"../TypeSystem.js":34,"jaydata-error-handler":8}],39:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},a=e("../TypeSystem.js"),o=r(a),s=e("jaydata-error-handler");o["default"].GeometryBase=function(){o["default"].Geospatial.apply(this,arguments),this.crs=this.crs||o["default"].GeometryBase.defaultCrs,o["default"].GeometryBase.validateGeoJSON(this)},o["default"].GeometryBase.disableSRID=!1,o["default"].GeometryBase.defaultCrs={properties:{name:"EPSG:0"},type:"name"},o["default"].GeometryBase.parseFromString=function(e){var t=e.indexOf("(");if(t>=0){var n=e.substring(0,t).toLowerCase(),r=o["default"].GeometryBase.registered[n];if(r&&r.parseFromString&&r!=o["default"].GeometryBase)return r.parseFromString(e);s.Guard.raise(new s.Exception("parseFromString","Not Implemented",e))}},o["default"].GeometryBase.stringifyToUrl=function(e){if(e instanceof o["default"].GeometryBase&&e.constructor&&e.constructor.stringifyToUrl)return e.constructor.stringifyToUrl(e);if(e instanceof o["default"].GeometryBase&&e.constructor&&Array.isArray(e.constructor.validMembers)&&"coordinates"===e.constructor.validMembers[0]){var t,n=function(){var n=function(e){if(!o["default"].GeometryBase.disableSRID&&e.crs&&e.crs.properties&&e.crs.properties.name){var n=/EPSG:(\d+)/i,r=n.exec(e.crs.properties.name);r&&(t+="SRID="+r[1]+";")}return t},r=function i(e){if(Array.isArray(e[0]))for(var n=0;n<e.length;n++)n>0&&(t+=","),Array.isArray(e[n][0])&&(t+="("),i(e[n]),Array.isArray(e[n][0])&&(t+=")");else t+=e.join(" ");return t};return t="geometry'",t=n(e),t+=e.type+"(",t=r(e.coordinates),t+=")'",{v:t}}();if("object"===("undefined"==typeof n?"undefined":i(n)))return n.v}else s.Guard.raise(new s.Exception("stringifyToUrl on instance type","Not Implemented",e))},o["default"].GeometryBase.registerType=function(e,t,n){o["default"].SimpleBase.registerType(e,t,n||o["default"].GeometryBase),o["default"].GeometryBase.registered=o["default"].GeometryBase.registered||{},o["default"].GeometryBase.registered[e.toLowerCase()]=t},o["default"].GeometryBase.validateGeoJSON=function(e){var t=e.type;if(t){var n=o["default"].GeometryBase.registered[t.toLowerCase()];if("function"==typeof n.validateGeoJSON){var r=n.validateGeoJSON(e);if(r)return r;s.Guard.raise(new s.Exception("Invalid '"+t+"' format!","Format Exception",e))}}console.log("GeoJSON validation missing",e)},o["default"].SimpleBase.registerType("GeometryBase",o["default"].GeometryBase,o["default"].Geospatial),o["default"].Container.registerType(["$data.GeometryBase"],o["default"].GeometryBase),o["default"].GeometryPoint=function(e,t){var n=e;n&&"object"===("undefined"==typeof n?"undefined":i(n))&&Array.isArray(n)?o["default"].GeometryBase.call(this,{coordinates:n}):n&&"object"===("undefined"==typeof n?"undefined":i(n))&&("x"in n||"y"in n)?o["default"].GeometryBase.call(this,{coordinates:[n.x,n.y]}):n&&"object"===("undefined"==typeof n?"undefined":i(n))?o["default"].GeometryBase.call(this,n):o["default"].GeometryBase.call(this,{coordinates:[e||0,t||0]})},o["default"].GeometryPoint.validateGeoJSON=function(e){return e&&Array.isArray(e.coordinates)&&2==e.coordinates.length&&"number"==typeof e.coordinates[0]&&"number"==typeof e.coordinates[1]},o["default"].GeometryPoint.parseFromString=function(e){var t=e.substring(e.indexOf("(")+1,e.lastIndexOf(")")),n=t.split(" ");return new o["default"].GeometryPoint(parseFloat(n[0]),parseFloat(n[1]))},o["default"].GeometryPoint.validMembers=["coordinates"],o["default"].GeometryBase.registerType("Point",o["default"].GeometryPoint),Object.defineProperty(o["default"].GeometryPoint.prototype,"x",{get:function(){return this.coordinates[0]},set:function(e){this.coordinates[0]=e}}),Object.defineProperty(o["default"].GeometryPoint.prototype,"y",{get:function(){return this.coordinates[1]},set:function(e){this.coordinates[1]=e}}),o["default"].Container.registerType(["$data.GeometryPoint","GeometryPoint"],o["default"].GeometryPoint),o["default"].GeometryLineString=function(e){Array.isArray(e)?o["default"].GeometryBase.call(this,{coordinates:e}):o["default"].GeometryBase.call(this,e)},o["default"].GeometryLineString.validateGeoJSON=function(e){for(var t=e&&Array.isArray(e.coordinates),n=0;t&&n<e.coordinates.length;n++){var r=e.coordinates[n];t=t&&Array.isArray(r)&&2==r.length&&"number"==typeof r[0]&&"number"==typeof r[1]}return t},o["default"].GeometryLineString.validMembers=["coordinates"],o["default"].GeometryBase.registerType("LineString",o["default"].GeometryLineString),o["default"].Container.registerType(["$data.GeometryLineString","GeometryLineString"],o["default"].GeometryLineString),o["default"].GeometryPolygon=function(e){if("object"===("undefined"==typeof e?"undefined":i(e))&&("topLeft"in e&&"bottomRight"in e||"topRight"in e&&"bottomLeft"in e)){var t,n,r,a;"topLeft"in e&&"bottomRight"in e?(t=e.topLeft instanceof o["default"].GeometryPoint?e.topLeft:new o["default"].GeometryPoint(e.topLeft),a=e.bottomRight instanceof o["default"].GeometryPoint?e.bottomRight:new o["default"].GeometryPoint(e.bottomRight),n=new o["default"].GeometryPoint([a.coordinates[0],t.coordinates[1]]),r=new o["default"].GeometryPoint([t.coordinates[0],a.coordinates[1]])):(n=e.topRight instanceof o["default"].GeometryPoint?e.topRight:new o["default"].GeometryPoint(e.topRight),r=e.bottomLeft instanceof o["default"].GeometryPoint?e.bottomLeft:new o["default"].GeometryPoint(e.bottomLeft),t=new o["default"].GeometryPoint([r.coordinates[0],n.coordinates[1]]),a=new o["default"].GeometryPoint([n.coordinates[0],r.coordinates[1]]));var s=[];s.push([].concat(t.coordinates)),s.push([].concat(n.coordinates)),s.push([].concat(a.coordinates)),s.push([].concat(r.coordinates)),s.push([].concat(t.coordinates)),o["default"].GeometryBase.call(this,{coordinates:[s]})}else Array.isArray(e)?o["default"].GeometryBase.call(this,{coordinates:e}):o["default"].GeometryBase.call(this,e)},o["default"].GeometryPolygon.validateGeoJSON=function(e){for(var t=e&&Array.isArray(e.coordinates),n=0;t&&n<e.coordinates.length;n++)for(var r=e.coordinates[n],t=t&&Array.isArray(r),i=0;t&&i<r.length;i++){var a=r[i];t=t&&Array.isArray(a)&&2==a.length&&"number"==typeof a[0]&&"number"==typeof a[1]}return t},o["default"].GeometryPolygon.parseFromString=function(e){for(var t=e.substring(e.indexOf("(")+1,e.lastIndexOf(")")),n=t.substring(t.indexOf("(")+1,t.lastIndexOf(")")).split("),("),t=[],r=0;r<n.length;r++){for(var i=[],a=n[r].split(","),s=0;s<a.length;s++){var u=a[s].split(" ");i.push([parseFloat(u[0]),parseFloat(u[1])])}t.push(i)}return new o["default"].GeometryPolygon(t)},o["default"].GeometryPolygon.validMembers=["coordinates"],o["default"].GeometryBase.registerType("Polygon",o["default"].GeometryPolygon),o["default"].Container.registerType(["$data.GeometryPolygon","GeometryPolygon"],o["default"].GeometryPolygon),o["default"].GeometryMultiPoint=function(e){Array.isArray(e)?o["default"].GeometryBase.call(this,{coordinates:e}):o["default"].GeometryBase.call(this,e)},o["default"].GeometryMultiPoint.validateGeoJSON=function(e){for(var t=e&&Array.isArray(e.coordinates),n=0;t&&n<e.coordinates.length;n++){var r=e.coordinates[n];t=t&&Array.isArray(r)&&2==r.length&&"number"==typeof r[0]&&"number"==typeof r[1]}return t},o["default"].GeometryMultiPoint.validMembers=["coordinates"],o["default"].GeometryBase.registerType("MultiPoint",o["default"].GeometryMultiPoint),o["default"].Container.registerType(["$data.GeometryMultiPoint","GeometryMultiPoint"],o["default"].GeometryMultiPoint),o["default"].GeometryMultiLineString=function(e){Array.isArray(e)?o["default"].GeometryBase.call(this,{coordinates:e}):o["default"].GeometryBase.call(this,e)},o["default"].GeometryMultiLineString.validateGeoJSON=function(e){for(var t=e&&Array.isArray(e.coordinates),n=0;t&&n<e.coordinates.length;n++)for(var r=e.coordinates[n],t=t&&Array.isArray(r),i=0;t&&i<r.length;i++){var a=r[i];t=t&&Array.isArray(a)&&2==a.length&&"number"==typeof a[0]&&"number"==typeof a[1]}return t},o["default"].GeometryMultiLineString.validMembers=["coordinates"],o["default"].GeometryBase.registerType("MultiLineString",o["default"].GeometryMultiLineString),o["default"].Container.registerType(["$data.GeometryMultiLineString","GeometryMultiLineString"],o["default"].GeometryMultiLineString),o["default"].GeometryMultiPolygon=function(e){Array.isArray(e)?o["default"].GeometryBase.call(this,{coordinates:e}):o["default"].GeometryBase.call(this,e)},o["default"].GeometryMultiPolygon.validateGeoJSON=function(e){for(var t=e&&Array.isArray(e.coordinates),n=0;t&&n<e.coordinates.length;n++)for(var r=e.coordinates[n],t=t&&Array.isArray(r),i=0;t&&i<r.length;i++)for(var a=r[i],t=t&&Array.isArray(a),o=0;t&&o<a.length;o++){var s=a[o];t=t&&Array.isArray(s)&&2==s.length&&"number"==typeof s[0]&&"number"==typeof s[1]}return t},o["default"].GeometryMultiPolygon.validMembers=["coordinates"],o["default"].GeometryBase.registerType("MultiPolygon",o["default"].GeometryMultiPolygon),o["default"].Container.registerType(["$data.GeometryMultiPolygon","GeometryMultiPolygon"],o["default"].GeometryMultiPolygon),o["default"].GeometryCollection=function(e){Array.isArray(e)?o["default"].GeometryBase.call(this,{geometries:e}):o["default"].GeometryBase.call(this,e)},o["default"].GeometryCollection.validateGeoJSON=function(e){for(var t=e&&Array.isArray(e.geometries),n=0;t&&n<e.geometries.length;n++){var r=e.geometries[n];try{t=t&&o["default"].GeometryBase.validateGeoJSON(r)}catch(i){t=!1}}return t},o["default"].GeometryCollection.validMembers=["geometries"],o["default"].GeometryBase.registerType("GeometryCollection",o["default"].GeometryCollection),o["default"].Container.registerType(["$data.GeometryCollection","GeometryCollection"],o["default"].GeometryCollection),o["default"].Container.registerConverter(o["default"].GeometryPoint,o["default"].Object,function(e){return e?new o["default"].GeometryPoint(e):e}),o["default"].Container.registerConverter(o["default"].GeometryLineString,o["default"].Object,function(e){return e?new o["default"].GeometryLineString(e):e}),o["default"].Container.registerConverter(o["default"].GeometryPolygon,o["default"].Object,function(e){return e?new o["default"].GeometryPolygon(e):e}),o["default"].Container.registerConverter(o["default"].GeometryMultiPoint,o["default"].Object,function(e){return e?new o["default"].GeometryMultiPoint(e):e}),o["default"].Container.registerConverter(o["default"].GeometryMultiLineString,o["default"].Object,function(e){return e?new o["default"].GeometryMultiLineString(e):e}),o["default"].Container.registerConverter(o["default"].GeometryMultiPolygon,o["default"].Object,function(e){return e?new o["default"].GeometryMultiPolygon(e):e}),o["default"].Container.registerConverter(o["default"].GeometryCollection,o["default"].Object,function(e){return e?new o["default"].GeometryCollection(e):e}),n["default"]=o["default"],t.exports=n["default"]},{"../TypeSystem.js":34,"jaydata-error-handler":8}],40:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../TypeSystem.js"),a=r(i);a["default"].Geospatial=function(){if(this.type=this.constructor.type,Array.isArray(this.constructor.validMembers))for(var e=0;e<this.constructor.validMembers.length;e++){var t=this.constructor.validMembers[e];this[t]=void 0}a["default"].SimpleBase.apply(this,arguments),this.type=this.constructor.type||"Unknown"},a["default"].SimpleBase.registerType("Geospatial",a["default"].Geospatial),a["default"].Container.registerType(["$data.Geospatial","Geospatial"],a["default"].Geospatial),a["default"].point=function(e){if(e&&e.crs)return e.crs.properties&&e.crs.properties.name===a["default"].GeometryBase.defaultCrs.properties.name?new a["default"].GeometryPoint(e):new a["default"].GeographyPoint(e);if(e){if("x"in e&&"y"in e)return new a["default"].GeometryPoint(e.x,e.y);if("longitude"in e&&"latitude"in e)return new a["default"].GeographyPoint(e.longitude,e.latitude);if("lng"in e&&"lat"in e)return new a["default"].GeographyPoint(e.lng,e.lat)}},n["default"]=a["default"],t.exports=n["default"]},{"../TypeSystem.js":34}],41:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../TypeSystem.js"),a=r(i);a["default"].Guid=function(e){if(!(void 0===e||"string"==typeof e&&/^[a-zA-z0-9]{8}-[a-zA-z0-9]{4}-[a-zA-z0-9]{4}-[a-zA-z0-9]{4}-[a-zA-z0-9]{12}$/.test(e)))throw Guard.raise(new Exception("TypeError: ","value not convertable to $data.Guid",e));this.value=e||"00000000-0000-0000-0000-000000000000";
},a["default"].Container.registerType(["$data.Guid","Guid","guid"],a["default"].Guid),a["default"].Container.registerConverter("$data.Guid",{"$data.String":function(e){return e?a["default"].parseGuid(e).toString():e},"$data.Guid":function(e){return e?e.toString():e}},{"$data.String":function(e){return e?e.toString():e}}),a["default"].Guid.prototype.toJSON=function(){return this.value},a["default"].Guid.prototype.valueOf=function(){return this.value},a["default"].Guid.prototype.toString=function(){return this.value},a["default"].Guid.NewGuid=function(){return a["default"].createGuid()},a["default"].parseGuid=function(e){return new a["default"].Guid(e)},function(){/*!
    Math.uuid.js (v1.4)
    http://www.broofa.com
    mailto:robert@broofa.com
      Copyright (c) 2010 Robert Kieffer
    Dual licensed under the MIT and GPL licenses.
    */
var e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split("");a["default"].createGuid=function(t){if(t)return new a["default"].Guid(t);var n,r,i=e,o=[],s=i.length;if(n)for(r=0;n>r;r++)o[r]=i[0|Math.random()*s];else{var u;for(o[8]=o[13]=o[18]=o[23]="-",o[14]="4",r=0;36>r;r++)o[r]||(u=0|16*Math.random(),o[r]=i[19==r?3&u|8:u])}return a["default"].parseGuid(o.join(""))}}(),n["default"]=a["default"],t.exports=n["default"]},{"../TypeSystem.js":34}],42:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},a=e("../TypeSystem.js"),o=r(a);o["default"].SimpleBase=function(e){if("object"===("undefined"==typeof e?"undefined":i(e))&&e)if(Array.isArray(this.constructor.validMembers))for(var t=0;t<this.constructor.validMembers.length;t++){var n=this.constructor.validMembers[t];void 0!==e[n]&&(this[n]=e[n])}else delete e.type,o["default"].typeSystem.extend(this,e)},o["default"].SimpleBase.registerType=function(e,t,n){n=n||o["default"].SimpleBase,t.type=e,t.prototype=Object.create(n.prototype),t.prototype.constructor=t},o["default"].Container.registerType(["$data.SimpleBase","SimpleBase"],o["default"].SimpleBase),n["default"]=o["default"],t.exports=n["default"]},{"../TypeSystem.js":34}],43:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../TypeSystem.js"),a=r(i);a["default"].Number="undefined"!=typeof Number?Number:function(){},a["default"].Date="undefined"!=typeof Date?Date:function(){},a["default"].String="undefined"!=typeof String?String:function(){},a["default"].Boolean="undefined"!=typeof Boolean?Boolean:function(){},a["default"].Array="undefined"!=typeof Array?Array:function(){},a["default"].Object="undefined"!=typeof Object?Object:function(){},a["default"].Function=Function,a["default"].Byte=function(){},a["default"].SByte=function(){},a["default"].Decimal=function(){},a["default"].Float=a["default"].Single=function(){},a["default"].Integer=function(){},a["default"].Int16=function(e){},a["default"].Int32=function(){},a["default"].Int64=function(e){},a["default"].ObjectID="undefined"!=typeof a["default"].mongoDBDriver&&"undefined"!=typeof a["default"].mongoDBDriver.ObjectID?a["default"].mongoDBDriver.ObjectID:function(){},a["default"].Time=function(){},a["default"].Day=function(){},a["default"].Duration=function(){},a["default"].DateTimeOffset=function(e){this.value=e},a["default"].DateTimeOffset.prototype.toJSON=function(){return this.value instanceof Date?this.value.toISOString():this.value},a["default"].Container.registerType(["$data.Number","number","JayNumber","double"],a["default"].Number),a["default"].Container.registerType(["$data.Integer","int","integer","JayInteger"],a["default"].Integer),a["default"].Container.registerType(["$data.Int32","int32","JayInt32"],a["default"].Int32),a["default"].Container.registerType(["$data.Byte","byte","JayByte"],a["default"].Byte),a["default"].Container.registerType(["$data.SByte","sbyte","JaySByte"],a["default"].SByte),a["default"].Container.registerType(["$data.Decimal","decimal","JayDecimal"],a["default"].Decimal),a["default"].Container.registerType(["$data.Float","$data.Single","float","single","JayFloat"],a["default"].Float),a["default"].Container.registerType(["$data.Int16","int16","word","JayInt16"],a["default"].Int16),a["default"].Container.registerType(["$data.Int64","int64","long","JayInt64"],a["default"].Int64),a["default"].Container.registerType(["$data.String","string","text","character","JayString"],a["default"].String),a["default"].Container.registerType(["$data.Array","array","Array","[]","JayArray"],a["default"].Array,function(){return a["default"].Array.apply(void 0,arguments)}),a["default"].Container.registerType(["$data.Date","datetime","date","JayDate"],a["default"].Date),a["default"].Container.registerType(["$data.Time","time","JayTime"],a["default"].Time),a["default"].Container.registerType(["$data.Day","day","JayDay"],a["default"].Day),a["default"].Container.registerType(["$data.Duration","duration","JayDuration"],a["default"].Duration),a["default"].Container.registerType(["$data.DateTimeOffset","offset","datetimeoffset","JayDateTimeOffset"],a["default"].DateTimeOffset),a["default"].Container.registerType(["$data.Boolean","bool","boolean","JayBoolean"],a["default"].Boolean),a["default"].Container.registerType(["$data.Object","Object","object","{}","JayObject"],a["default"].Object),a["default"].Container.registerType(["$data.Function","Function","function"],a["default"].Function),a["default"].Container.registerType(["$data.ObjectID","ObjectID","objectId","objectid","ID","Id","id","JayObjectID"],a["default"].ObjectID),n["default"]=a["default"],t.exports=n["default"]},{"../TypeSystem.js":34}],44:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0}),n.Container=n.$C=n.Exception=n.Guard=void 0;var i=e("./TypeSystem.js"),a=r(i),o=e("./Types/Types.js"),s=(r(o),e("./Trace/Trace.js")),u=(r(s),e("./Trace/Logger.js")),l=(r(u),e("./Types/SimpleBase.js")),p=(r(l),e("./Types/Geospatial.js")),d=(r(p),e("./Types/Geography.js")),c=(r(d),e("./Types/Geometry.js")),f=(r(c),e("./Types/Guid.js")),y=(r(f),e("./Types/Blob.js")),h=(r(y),e("./Types/EdmTypes.js")),m=(r(h),e("./Types/Converter.js")),g=(r(m),e("jaydata-error-handler")),v=e("jaydata-promise-handler");v.PromiseHandler.use(a["default"]);n.Guard=g.Guard;a["default"].Guard=g.Guard;n.Exception=g.Exception;a["default"].Exception=g.Exception;n.$C=i.$C;a["default"].$C=i.$C;n.Container=i.Container;n["default"]=a["default"]},{"./Trace/Logger.js":32,"./Trace/Trace.js":33,"./TypeSystem.js":34,"./Types/Blob.js":35,"./Types/Converter.js":36,"./Types/EdmTypes.js":37,"./Types/Geography.js":38,"./Types/Geometry.js":39,"./Types/Geospatial.js":40,"./Types/Guid.js":41,"./Types/SimpleBase.js":42,"./Types/Types.js":43,"jaydata-error-handler":8,"jaydata-promise-handler":19}],45:[function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function i(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var a=e("./initializeJayDataClient.js"),o=i(a),s=e("acorn"),u=r(s),l=e("../../package.json"),p=r(l);"undefined"==typeof console&&(console={warn:function(){},error:function(){},log:function(){},dir:function(){},time:function(){},timeEnd:function(){}}),console.warn||(console.warn=function(){}),console.error||(console.error=function(){}),function(e){e.__namespace=!0,e.version="JayData "+p.version,e.versionNumber=p.version,e.root={},e.Acorn=u}(o["default"]),n["default"]=o["default"],t.exports=n["default"]},{"../../package.json":27,"./initializeJayDataClient.js":46,acorn:1}],46:[function(e,t,n){"use strict";function r(){if(this instanceof r){var e=r.implementation.apply(this,arguments);return new e(arguments[1])}return r.implementation.apply(this,arguments)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r,t.exports=n["default"]},{}],47:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../TypeSystem/index.js"),a=r(i);a["default"].Class.define("$data.Access",null,null,{},{isAuthorized:function(e,t,n,r){var i=new a["default"].PromiseHandler,o=i.createCallback(r),s=i.getPromise();return o.success(!0),s},getAccessBitmaskFromPermission:function(e){var t=a["default"].Access.None;return e.Create&&(t|=a["default"].Access.Create),e.Read&&(t|=a["default"].Access.Read),e.Update&&(t|=a["default"].Access.Update),e.Delete&&(t|=a["default"].Access.Delete),e.DeleteBatch&&(t|=a["default"].Access.DeleteBatch),e.Execute&&(t|=a["default"].Access.Execute),t},None:{value:0},Create:{value:1},Read:{value:2},Update:{value:4},Delete:{value:8},DeleteBatch:{value:16},Execute:{value:32}}),n["default"]=a["default"],t.exports=n["default"]},{"../TypeSystem/index.js":44}],48:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);a["default"].ajax=a["default"].ajax||function(){var e=arguments[arguments.length-1],t=a["default"].PromiseHandlerBase.createCallbackSettings(e);t.error("Not implemented")},n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],49:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},a=e("../../TypeSystem/index.js"),o=r(a);"undefined"!=typeof Ext&&i(Ext.Ajax)&&(o["default"].ajax=o["default"].ajax||function(e){Ext.Ajax.request(e)}),n["default"]=o["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],50:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);"undefined"!=typeof WinJS&&WinJS.xhr&&(a["default"].ajax=a["default"].ajax||function(e){a["default"].typeSystem.extend(e,{dataType:"json",headers:{}});var t={json:{accept:"application/json, text/javascript",convert:JSON.parse},text:{accept:"text/plain",convert:function(e){return e}},html:{accept:"text/html",convert:function(e){return e}},xml:{accept:"application/xml, text/xml",convert:function(e){return e}}},n=t[e.dataType.toLowerCase()];e.headers.Accept=n.accept;var r=e.success||a["default"].defaultSuccessCallback,i=e.error||a["default"].defaultErrorCallback,o=e.progress,s=function(e){var t=n.convert(e.responseText);r(t)},u=function p(e){var p=n.convert(e.responseText);i(p)},l=o;WinJS.xhr(e).done(s,u,l)}),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],51:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);"undefined"!=typeof jQuery&&jQuery.ajax&&(a["default"].ajax=a["default"].ajax||jQuery.ajax),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],52:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);a["default"].Class.define("$data.Authentication.Anonymous",a["default"].Authentication.AuthenticationBase,null,{constructor:function(e){this.configuration=e||{},this.Authenticated=!1},Login:function(e){},Logout:function(){},CreateRequest:function(e){a["default"].ajax(e)}},null),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],53:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);a["default"].Class.define("$data.Authentication.AuthenticationBase",null,null,{constructor:function(e){this.configuration=e||{},this.Authenticated=!1},Login:function(e){i.Guard.raise("Pure class")},Logout:function(){i.Guard.raise("Pure class")},CreateRequest:function(e){i.Guard.raise("Pure class")}},null),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],54:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);a["default"].Class.define("$data.Authentication.BasicAuth.BasicAuth",a["default"].Authentication.AuthenticationBase,null,{constructor:function(e){this.configuration=a["default"].typeSystem.extend({Username:"",Password:""},e)},Login:function(e){e&&"function"==typeof e.pending&&e.pending()},Logout:function(){},CreateRequest:function(e){if(e){var t=this,n=e.beforeSend;e.beforeSend=function(e){e.setRequestHeader("Authorization","Basic  "+t.__encodeBase64(t.configuration.Username+":"+t.configuration.Password)),"function"==typeof n&&n(e)},a["default"].ajax(e)}},__encodeBase64:function(e){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";input=e;var n,r,i,a,o,s="",u="",l="",p=0;do n=input.charCodeAt(p++),r=input.charCodeAt(p++),u=input.charCodeAt(p++),i=n>>2,a=(3&n)<<4|r>>4,o=(15&r)<<2|u>>6,l=63&u,isNaN(r)?o=l=64:isNaN(u)&&(l=64),s=s+t.charAt(i)+t.charAt(a)+t.charAt(o)+t.charAt(l),n=r=u="",i=a=o=l="";while(p<input.length);return s}},null),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],55:[function(_dereq_,module,exports){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(exports,"__esModule",{value:!0});var _index=_dereq_("../../TypeSystem/index.js"),_index2=_interopRequireDefault(_index);_index2["default"].Class.define("$data.Authentication.FacebookAuth",_index2["default"].Authentication.AuthenticationBase,null,{constructor:function(e){this.configuration=_index2["default"].typeSystem.extend({Url_code:"",type_code:"",scope:"",Url_token:"",type_token:"",access_token:"",app_id:""},e)},Login:function(e){if(!this.Authenticated){var t=this;t.configuration.stateCallbacks=e||{},_index2["default"].ajax({url:this.configuration.Url_code,data:"type="+t.configuration.type_code+"&client_id="+t.configuration.app_id+"&scope="+t.configuration.scope,type:"POST",dataType:"json",success:function(e){"function"==typeof t.configuration.stateCallbacks.pending&&t.configuration.stateCallbacks.pending(e),t._processRequestToken(e),t.Authenticated=!0},error:function(){"function"==typeof t.configuration.stateCallbacks.error&&t.configuration.stateCallbacks.error(arguments)}})}},Logout:function(){this.Authenticated=!1},CreateRequest:function(e){if(e){if(-1===e.url.indexOf("access_token=")&&e.url&&this.Authenticated){var t="?";e.url.indexOf(t)>0&&(t="&"),this.configuration.access_token&&(e.url=e.url+t+"access_token="+this.configuration.access_token)}_index2["default"].ajax(e)}},_processRequestToken:function _processRequestToken(verification_data){var provider=this;_index2["default"].ajax({url:provider.configuration.Url_token,data:"type="+provider.configuration.type_token+"&client_id="+provider.configuration.app_id+"&code="+verification_data.code,type:"POST",dataType:"json",success:function(e){provider.configuration.access_token=e.access_token,"function"==typeof provider.configuration.stateCallbacks.success&&provider.configuration.stateCallbacks.success(e)},error:function error(obj){var data=eval("("+obj.responseText+")");data.error&&("authorization_pending"==data.error.message?setTimeout(function(){provider._processRequestToken(verification_data)},2e3):"function"==typeof provider.configuration.stateCallbacks.abort&&provider.configuration.stateCallbacks.abort(arguments))}})}},null),exports["default"]=_index2["default"],module.exports=exports["default"]},{"../../TypeSystem/index.js":44}],56:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0}),n.Entity=n.Event=void 0;var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},a=e("../TypeSystem/index.js"),o=r(a),s=o["default"].Class.define("EventSubscriber",null,null,{constructor:function(e,t,n){this.handler=e,this.state=t,this.thisArg=n},handler:{},state:{},thisArg:{}});o["default"].Event=o["default"].Class.define("$data.Event",null,null,{constructor:function(e,t){function n(e,t){e.forEach(function(n,r){n.handler==t&&e.splice(r,1)})}var r=null;this.attach=function(e,n,i){r||(r=[]),r.push(new s(e,n,i||t))},this.detach=function(e){n(r,e)},this.fire=function(e,n){var i=n||t||this;r&&r.forEach(function(t){try{t.handler.call(t.thisArg,i,e,t.state)}catch(n){console.log("unhandled exception in event handler. exception suppressed"),console.dir(n)}})},this.fireCancelAble=function(e,n){var i=n||t||this,a=!0;return r&&r.forEach(function(t){try{a=a&&t.handler.call(t.thisArg,i,e,t.state)!==!1}catch(n){console.log("unhandled exception in event handler. exception suppressed"),console.dir(n)}}),a}}});var u=o["default"].Class.define("EventData",null,null,{eventName:{}}),l=o["default"].Class.define("PropertyChangeEventData",u,null,{constructor:function(e,t,n){this.propertyName=e,this.oldValue=t,this.newValue=n},propertyName:{},oldValue:{},newValue:{}}),p=o["default"].Class.define("PropertyValidationEventData",u,null,{constructor:function(e,t,n,r){this.propertyName=e,this.oldValue=t,this.newValue=n,this.errors=r,this.cancel=!1},propertyName:{},oldValue:{},newValue:{},errors:{},cancel:{}});o["default"].Entity=o["default"].Class.define("$data.Entity",null,null,{constructor:function(e,t){this.initData={};var n=this.getType();n.__copyPropertiesToInstance&&o["default"].typeSystem.writePropertyValues(this);var r=null;if(this.context=r,"setDefaultValues"in n&&(t&&t.setDefaultValues===!1||(!e||Object.keys(e).length<1)&&(e=n.setDefaultValues(e))),"object"===("undefined"==typeof e?"undefined":i(e))){var s=n.memberDefinitions,u=s.getPublicMappedPropertyNames();for(var l in e)if(u.indexOf(l)>-1){var p=s.getMember(l),d=a.Container.resolveType(p.type),c=e[l];if(p.concurrencyMode===o["default"].ConcurrencyMode.Fixed)this.initData[l]=c;else{if(t&&t.converters){var f=t.converters[a.Container.resolveName(d)];f&&(c=f(c))}this.initData[l]=a.Container.convertTo(c,d,p.elementType,t)}}}t&&t.entityBuilder&&t.entityBuilder(this,n.memberDefinitions.asArray(),n),this.changedProperties=void 0,this.entityState=void 0,n.inheritsFrom!=o["default"].Entity&&(this["@odata.type"]="#"+n.fullName)},toString:function(){return this.getType().fullName+"("+(this.Id||this.Name||"")+")"},toJSON:function(){var e={},t=this;return this.getType().memberDefinitions.getPublicMappedProperties().forEach(function(n){t[n.name]instanceof Date&&n.type&&a.Container.resolveType(n.type)===o["default"].DateTimeOffset?e[n.name]=new o["default"].DateTimeOffset(t[n.name]):e[n.name]=t[n.name]}),e},equals:function(e){if(e.getType()!==this.getType())return!1;for(var t=this.getType().memberDefinitions.getKeyProperties(),n=0;n<t.length;n++)if(this[t[n].name]!=e[t[n].name])return!1;return!0},propertyChanging:{dataType:o["default"].Event,storeOnObject:!0,monitorChanges:!1,notMapped:!0,enumerable:!1,prototypeProperty:!0,get:function(){return this._propertyChanging||(this._propertyChanging=new o["default"].Event("propertyChanging",this)),this._propertyChanging},set:function(e){this._propertyChanging=e}},propertyChanged:{dataType:o["default"].Event,storeOnObject:!0,monitorChanges:!1,notMapped:!0,enumerable:!1,prototypeProperty:!0,get:function(){return this._propertyChanged||(this._propertyChanged=new o["default"].Event("propertyChanged",this)),this._propertyChanged},set:function(e){this._propertyChanged=e}},propertyValidationError:{dataType:o["default"].Event,storeOnObject:!0,monitorChanges:!1,notMapped:!0,enumerable:!1,prototypeProperty:!0,get:function(){return this._propertyValidationError||(this._propertyValidationError=new o["default"].Event("propertyValidationError",this)),this._propertyValidationError},set:function(e){this._propertyValidationError=e}},storeProperty:function(e,t){e.concurrencyMode!==o["default"].ConcurrencyMode.Fixed&&(t=a.Container.convertTo(t,e.type,e.elementType));var n=null;if(0!=e.monitorChanges&&(this._propertyChanging||this._propertyChanged||"instancePropertyChanged"in this.constructor)){var r=this[e.name];n=new l(e.name,r,t),this._propertyChanging&&this.propertyChanging.fire(n)}if(0!=e.monitorChanges&&(this._propertyValidationError||"instancePropertyValidationError"in this.constructor)){var i=o["default"].Validation.Entity.ValidateEntityField(this,e,t);if(i.length>0){var r=this[e.name],s=new p(e.name,r,t,i);if(this._propertyValidationError&&this.propertyValidationError.fire(s),"instancePropertyValidationError"in this.constructor&&this.constructor.instancePropertyValidationError.fire(s,this),1==s.cancel)return}}if(1==e.storeOnObject){var u="_"+e.name;this[u]=t}else this.initData[e.name]=t;this.isValidated=!1,0!=e.monitorChanges&&this.entityState==o["default"].EntityState.Unchanged&&(this.entityState=o["default"].EntityState.Modified),this._setPropertyChanged(e),0!=e.monitorChanges&&(this._propertyChanged&&this.propertyChanged.fire(n),"instancePropertyChanged"in this.constructor&&this.constructor.instancePropertyChanged.fire(n,this))},_setPropertyChanged:function(e){0!=e.monitorChanges&&"ValidationErrors"!=e.name&&(this.changedProperties||(this.changedProperties=[]),this.changedProperties.some(function(t){return t.name==e.name})||this.changedProperties.push(e))},retrieveProperty:function(e){if(1==e.storeOnObject){var t="_"+e.name;return this[t]}return this.initData[e.name]},getProperty:function(e,t,n){if(t=o["default"].PromiseHandlerBase.createCallbackSettings(t),void 0!=this[e.name])return void(n instanceof o["default"].Transaction?t.success(this[e.name],n):t.success(this[e.name]));var r=this.context;if(this.context)return r.loadItemProperty(this,e,t,n);try{var i=this,s=this.storeToken||this.getType().storeToken;if(s&&"function"==typeof s.factory){var u=s.factory();return u.onReady().then(function(n){return n.loadItemProperty(i,e,t)})}}catch(l){}a.Guard.raise(new a.Exception("Entity not in context","Invalid operation"))},setProperty:function(e,t,n,r){this[e.name]=t;var i=new o["default"].PromiseHandler;return n=i.createCallback(n),n.success(this[e.name]),i.getPromise()},isValid:function(){return this.isValidated||(this.ValidationErrors=o["default"].Validation.Entity.ValidateEntity(this),this.isValidated=!0),0==this.ValidationErrors.length},isValidated:{dataType:"bool",storeOnObject:!0,monitorChanges:!1,notMapped:!0,enumerable:!1,value:!1},ValidationErrors:{dataType:Array,elementType:o["default"].Validation.ValidationError,storeOnObject:!0,monitorChanges:!0,notMapped:!0,enumerable:!1},resetChanges:function(){delete this._changedProperties},changedProperties:{dataType:Array,elementType:a.MemberDefinition,storeOnObject:!0,monitorChanges:!1,notMapped:!0,enumerable:!1},entityState:{dataType:"integer",storeOnObject:!0,monitorChanges:!1,notMapped:!0,enumerable:!1},remove:function(){if(o["default"].ItemStore&&"EntityInstanceRemove"in o["default"].ItemStore)return o["default"].ItemStore.EntityInstanceRemove.apply(this,arguments);throw"not implemented"},save:function(){if(o["default"].ItemStore&&"EntityInstanceSave"in o["default"].ItemStore)return o["default"].ItemStore.EntityInstanceSave.apply(this,arguments);throw"not implemented"},refresh:function(){if(o["default"].ItemStore&&"EntityInstanceRefresh"in o["default"].ItemStore)return o["default"].ItemStore.EntityInstanceRefresh.apply(this,arguments);throw"not implemented"},storeToken:{type:Object,monitorChanges:!1,notMapped:!0,storeOnObject:!0},getFieldUrl:function(e){if(this.context)return this.context.getFieldUrl(this,e);if(this.getType().storeToken&&"function"==typeof this.getType().storeToken.factory){var t=this.getType().storeToken.factory();return t.getFieldUrl(this,e)}if(this.getType().storeToken)try{var n=o["default"].ItemStore._getContextPromise("default",this.getType());if(n instanceof o["default"].EntityContext)return n.getFieldUrl(this,e)}catch(r){}return"#"}},{__setPropertyfunctions:{value:!0,notMapped:!0,enumerable:!1,storeOnObject:!0},__copyPropertiesToInstance:{value:!1,notMapped:!0,enumerable:!1,storeOnObject:!0},inheritedTypeProcessor:function(e){o["default"].ItemStore&&"EntityInheritedTypeProcessor"in o["default"].ItemStore&&o["default"].ItemStore.EntityInheritedTypeProcessor.apply(this,arguments),e.defaultValues={},e.memberDefinitions.asArray().forEach(function(t){t.hasOwnProperty("defaultValue")&&(e.defaultValues[t.name]=t.defaultValue)}),Object.keys(e.defaultValues).length>0&&(e.setDefaultValues=function(t,n){t=t||{};var r=e.defaultValues;for(var i in r)if(!(i in t)){var a=r[i];"function"==typeof a?t[i]=r[i](i,n):t[i]=r[i]}return t})},addEventListener:function(e,t){var n="on"+e;n in this||(this[n]=new o["default"].Event(e,this)),this[n].attach(t)},removeEventListener:function(e,t){var n="on"+e;n in this&&this[n].detach(t)},raiseEvent:function(e,t){var n="on"+e;n in this&&this[n].fire(t)},getFieldNames:function(){return this.memberDefinitions.getPublicMappedPropertyNames()},"from$data.Object":function(e,t,n,r){if(a.Guard.isNullOrUndefined(e))return e;var i;return r&&r.converters&&(i={converters:r.converters}),new this(e,i)}}),o["default"].define=function(e,t,n){if(!t||t instanceof o["default"].ContainerClass||(n=t,t=void 0),!n)throw new Error("json object type is not supported yet");var r={},a=[];if(Object.keys(n).forEach(function(e){var t=n[e];"object"===("undefined"==typeof t?"undefined":i(t))&&("type"in t||"get"in t||"set"in t)?(r[e]=t,t.key&&a.push(t),!("get"in t||"set"in t)||"notMapped"in t&&t.notMapped!==!0||(t.notMapped=!0,t.storeOnObject=!0),"get"in t&&!("set"in t)?t.set=function(){}:"set"in t&&!("get"in t)&&(t.get=function(){})):r[e]={type:t}}),a.length<1){var s;switch(!0){case"id"in r:s="id";break;case"Id"in r:s="Id";break;case"ID"in r:s="ID"}if(s){r[s].key=!0;o["default"].Container.resolveName(r[s].type);r[s].computed=!0}else r.Id={type:"int",key:!0,computed:!0}}var u=o["default"].Entity.extend(e,t,r);return u},o["default"].$data=o["default"].implementation=function(e){return a.Container.resolveType(e)};n.Event=o["default"].Event,n.Entity=o["default"].Entity;n["default"]=o["default"]},{"../TypeSystem/index.js":44}],57:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../TypeSystem/index.js"),a=r(i);a["default"].Class.define("$data.EntityAttachMode",null,null,{},{defaultMode:"Default",AllChanged:function(e){for(var t=e.getType().memberDefinitions.getPublicMappedProperties(),n=0;n<t.length;n++)e._setPropertyChanged(t[n]);e.entityState=a["default"].EntityState.Modified},KeepChanges:function(e){e.changedProperties&&e.changedProperties.length>0?e.entityState=a["default"].EntityState.Modified:e.entityState=a["default"].EntityState.Unchanged},Default:function(e){e.entityState=a["default"].EntityState.Unchanged,e.changedProperties=void 0}}),n["default"]=a["default"],t.exports=n["default"]},{"../TypeSystem/index.js":44}],58:[function(_dereq_,module,exports){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},_index=_dereq_("../TypeSystem/index.js"),_index2=_interopRequireDefault(_index);!function(){_index2["default"].defaults=_index2["default"].defaults||{},_index2["default"].defaults.defaultDatabaseName="JayDataDefault",_index2["default"].defaults.enableRelatedEntityReadMethods=!0,_index2["default"].defaults.relatedEntityReadMethodPrefix="get",_index2["default"].defaults.relatedEntityProxyPrefix="$relatedProxy"}(),_index2["default"].Class.define("$data.StorageModel",null,null,{constructor:function(){this.ComplexTypes=[],this.Enums=[],this.Associations=[]},LogicalType:{},LogicalTypeName:{},PhysicalType:{},PhysicalTypeName:{},EventHandlers:{},TableName:{},TableOptions:{value:void 0},ComplexTypes:{},Enums:{},Associations:{},ContextType:{},Roles:{}},null),_index2["default"].Class.define("$data.Association",null,null,{constructor:function(e){e&&(this.From=e.From,this.FromType=e.FromType,this.FromMultiplicity=e.FromMultiplicity,this.FromPropertyName=e.FromPropertyName,this.To=e.To,this.ToType=e.ToType,this.ToMultiplicity=e.ToMultiplicity,this.ToPropertyName=e.ToPropertyName)},From:{},FromType:{},FromMultiplicity:{},FromPropertyName:{},To:{},ToType:{},ToMultiplicity:{},ToPropertyName:{},ReferentialConstraint:{}},null),_index2["default"].Class.define("$data.ComplexType",_index2["default"].Association,null,{},null),_index2["default"].Class.define("$data.EntityContext",null,null,{constructor:function(e){_index2["default"].ItemStore&&"ContextRegister"in _index2["default"].ItemStore&&_index2["default"].ItemStore.ContextRegister.apply(this,arguments),e.queryCache&&(this.queryCache=e.queryCache),"string"==typeof e&&(e=0===e.indexOf("http")?{name:"oData",oDataServiceHost:e}:{name:"local",databaseName:e}),"provider"in e&&(e.name=e.provider),this.lazyLoad=!1,this.trackChanges=!1,this._entitySetReferences={},this._storageModel=[];var t=this;t._isOK=!1;var n=this._successInitProvider;if(this._successInitProvider=function(e){e instanceof _index2["default"].EntityContext?n(t):n(t,e)},this._storageModel.getStorageModel=function(e){var n=_index.Container.resolveName(e);return t._storageModel[n]},"string"==typeof e.name){var r=e.name;e.name=[r]}var i=[].concat(e.name),a=_index2["default"].PromiseHandlerBase.createCallbackSettings({success:this._successInitProvider,error:this._successInitProvider});this._initStorageModelSync(),this._initStorageModelNavigationProperties(),t._initializeEntitySets(t.getType()),_index2["default"].StorageProviderLoader.load(i,{success:function(n){t.storageProvider=new n(e,t),t.storageProvider.setContext(t),t.stateManager=new _index2["default"].EntityStateManager(t);var r=t.getType();n.name in r._storageModelCache?t._storageModel=r._storageModelCache[n.name]:(_index2["default"].defaults.enableRelatedEntityReadMethods&&t._applyRelatedEntityMethodsToTypes(),t._initializeStorageModel(),r._storageModelCache[n.name]=t._storageModel),_index2["default"].defaults.enableRelatedEntityReadMethods&&t._applyRelatedEntityMethodsToContext(),e&&e.user&&Object.defineProperty(t,"user",{value:e.user,enumerable:!0}),e&&e.checkPermission&&Object.defineProperty(t,"checkPermission",{value:e.checkPermission,enumerable:!0}),t._initializeStore(a)},error:function(){a.error("Provider fallback failed!")}}),this.addEventListener=function(e,t){var n="on"+e;n in this||(this[n]=new _index2["default"].Event(e,this)),this[n].attach(t)},this.removeEventListener=function(e,t){var n="on"+e;n in this&&this[n].detach(t)},this.raiseEvent=function(e,t){var n="on"+e;n in this&&this[n].fire(t)},this.ready=this.onReady({success:_index2["default"].defaultSuccessCallback,error:function(){_index2["default"].PromiseHandler!==_index2["default"].PromiseHandlerBase?_index2["default"].defaultErrorCallback.apply(this,arguments):_index2["default"].Trace.error(arguments)}})},beginTransaction:function(){function e(e){_index.Guard.isNullOrUndefined(e)||("boolean"==typeof e?r=e:Array.isArray(e)?t=e:n=e)}var t=null,n=null,r=!1;e(arguments[0]),e(arguments[1]),e(arguments[2]);var i=new _index2["default"].PromiseHandler;return n=i.createCallback(n),this.storageProvider._beginTran(t,r,n),i.getPromise()},_isReturnTransaction:function(e){return e instanceof _index2["default"].Base||"returnTransaction"===e},_applyTransaction:function(e,t,n,r,i){i===!0?r instanceof _index2["default"].Transaction?(Array.prototype.push.call(n,r),t.apply(e,n)):this.beginTransaction(function(r){Array.prototype.push.call(n,r),t.apply(e,n)}):t.apply(e,n)},getDataType:function getDataType(dataType){if("string"==typeof dataType){var memDef_dataType=this[dataType];return void 0!==memDef_dataType&&null!==memDef_dataType||(memDef_dataType=eval(dataType)),memDef_dataType}return dataType},_initializeEntitySets:function(e){for(var t=0,n=this._storageModel.length;n>t;t++){var r=this._storageModel[t];if(!r.BaseType){this[r.ItemName]=new _index2["default"].EntitySet(r.LogicalType,this,r.ItemName,r.EventHandlers,r.Roles);var i=this[r.ItemName];
i.name=r.ItemName,i.tableName=r.TableName,i.tableOptions=r.TableOptions,i.eventHandlers=r.EventHandlers,this._entitySetReferences[r.LogicalType.name]=i,this._initializeActions(i,e,e.getMemberDefinition(r.ItemName))}}},_initializeStore:function(e){this.storageProvider&&this.storageProvider.initializeStore(e)},_createNavPropStorageModel:function(e){var t=this;e.memberDefinitions.getPublicMappedProperties().filter(function(e){return e.inverseProperty}).forEach(function(e){var n=_index.Container.resolveType(e.elementType||e.dataType);if(!t._storageModel.filter(function(e){return e.LogicalType==n})[0]){var r=new _index2["default"].StorageModel;r.TableName=e.name,r.TableOptions=n.tableOptions,r.ItemName=n.name,r.LogicalType=n,r.LogicalTypeName=n.name,r.PhysicalTypeName=_index2["default"].EntityContext._convertLogicalTypeNameToPhysical(r.LogicalTypeName),r.ContextType=t.getType(),t._storageModel.push(r);var i=_index.Container.resolveName(n);t._storageModel[i]=r,t._createNavPropStorageModel(r.LogicalType)}})},_initStorageModelNavigationProperties:function(){for(var e=0;e<this._storageModel.length;e++){var t=this._storageModel[e];this._createNavPropStorageModel(t.LogicalType)}},_initStorageModelSync:function(){for(var e=this.getType().memberDefinitions.asArray(),t=0;t<e.length;t++){var n=e[t];if("dataType"in n){var r=_index.Container.resolveType(n.dataType);if(r&&r.isAssignableTo&&r.isAssignableTo(_index2["default"].EntitySet)){var i=_index.Container.resolveType(n.elementType),a=new _index2["default"].StorageModel;a.TableName=n.tableName||n.name,a.TableOptions=n.tableOptions,a.ItemName=n.name,a.LogicalType=i,a.LogicalTypeName=i.name,a.PhysicalTypeName=_index2["default"].EntityContext._convertLogicalTypeNameToPhysical(a.LogicalTypeName),a.ContextType=this.getType(),a.Roles=n.roles,n.indices&&(a.indices=n.indices),n.beforeCreate&&(a.EventHandlers||(a.EventHandlers={}),a.EventHandlers.beforeCreate=n.beforeCreate),n.beforeRead&&(a.EventHandlers||(a.EventHandlers={}),a.EventHandlers.beforeRead=n.beforeRead),n.beforeUpdate&&(a.EventHandlers||(a.EventHandlers={}),a.EventHandlers.beforeUpdate=n.beforeUpdate),n.beforeDelete&&(a.EventHandlers||(a.EventHandlers={}),a.EventHandlers.beforeDelete=n.beforeDelete),n.afterCreate&&(a.EventHandlers||(a.EventHandlers={}),a.EventHandlers.afterCreate=n.afterCreate),n.afterRead&&(a.EventHandlers||(a.EventHandlers={}),a.EventHandlers.afterRead=n.afterRead),n.afterUpdate&&(a.EventHandlers||(a.EventHandlers={}),a.EventHandlers.afterUpdate=n.afterUpdate),n.afterDelete&&(a.EventHandlers||(a.EventHandlers={}),a.EventHandlers.afterDelete=n.afterDelete),this._storageModel.push(a);var o=_index.Container.resolveName(i);if(this._storageModel[o]=a,i.inheritedTo){var s=this;i.inheritedTo.forEach(function(e){var t=new _index2["default"].StorageModel;t.TableName=n.tableName||n.name,t.TableOptions=n.tableOptions,t.ItemName=n.name,t.LogicalType=e,t.LogicalTypeName=e.name,t.PhysicalTypeName=_index2["default"].EntityContext._convertLogicalTypeNameToPhysical(t.LogicalTypeName),t.ContextType=s.getType(),t.BaseType=i,s._storageModel.push(t);var r=_index.Container.resolveName(e);s._storageModel[r]=t})}}}}},_inheritanceMemberDefinitions:function(e,t){var n=this;return e.inheritedTo&&e.inheritedTo.forEach(function(e){t=n._inheritanceMemberDefinitions(e,t.concat(e.memberDefinitions.getPublicMappedProperties()))}),t},_buildDbInstanceDefinition:function(e,t){e.Associations=e.Associations||[],e.ComplexTypes=e.ComplexTypes||[],e.Enums=e.Enums||[];for(var n=this._inheritanceMemberDefinitions(e.LogicalType,e.LogicalType.memberDefinitions.getPublicMappedProperties()),r=0;r<n.length;r++){var i=n[r],a=_index.Container.resolveType(i.dataType);if((this.storageProvider.supportedDataTypes.indexOf(a)>-1||a.isAssignableTo&&a.isAssignableTo(_index2["default"].Enum))&&_index.Guard.isNullOrUndefined(i.inverseProperty)){var o=JSON.parse(JSON.stringify(i));o.dataType=a,t[i.name]=o,a.isAssignableTo&&a.isAssignableTo(_index2["default"].Enum)&&this._build_EnumDefinition(t,e,a,i)}else if(this._buildDbType_navigationPropertyComplite(i,a,e),(a===_index2["default"].Array||a.isAssignableTo&&a.isAssignableTo(_index2["default"].EntitySet))&&i.inverseProperty&&"$$unbound"!==i.inverseProperty)this._buildDbType_Collection_OneManyDefinition(t,e,a,i);else if(i.inverseProperty)if("$$unbound"===i.inverseProperty)a===_index2["default"].Array?this._buildDbType_Collection_OneManyDefinition(t,e,a,i):this._buildDbType_ElementType_OneManyDefinition(t,e,a,i);else{var s=a.memberDefinitions.getMember(i.inverseProperty);if(s)if(s.elementType){_index.Container.resolveType(s.elementType);this._buildDbType_ElementType_OneManyDefinition(t,e,a,i)}else this._buildDbType_ElementType_OneOneDefinition(t,e,a,i);else"undefined"==typeof intellisense&&_index.Guard.raise(new _index.Exception("Inverse property not valid"))}else this._buildDbType_addComplexTypePropertyDefinition(t,e,a,i)}},_initializeStorageModel:function(){this.getType().memberDefinitions.asArray();if("undefined"==typeof intellisense)for(var e=0;e<this._storageModel.length;e++){var t=this._storageModel[e],n={};this._buildDbInstanceDefinition(t,n),this._buildDbType_modifyInstanceDefinition(n,t,this);var r={};r.convertTo=this._buildDbType_generateConvertToFunction(t,this),this._buildDbType_modifyClassDefinition(r,t,this),t.PhysicalType=_index2["default"].Class.define(t.PhysicalTypeName,_index2["default"].Entity,t.LogicalType.container,n,r)}},_initializeActions:function(e,t,n){if(n&&n.actions)for(var r=Object.keys(n.actions),i=0;i<r.length;i++){var a=r[i],o=n.actions[a];if("function"==typeof o)e[a]=o;else{var s=_index2["default"].MemberDefinition.translateDefinition(o,a,t);s instanceof _index2["default"].MemberDefinition&&s.kind===_index2["default"].MemberTypes.method&&(e[a]=s.method)}}},_buildDbType_navigationPropertyComplite:function(e,t,n){if(e.inverseProperty){var r=null;r=t===_index2["default"].Array||t.isAssignableTo&&t.isAssignableTo(_index2["default"].EntitySet)?this._storageModel.getStorageModel(_index.Container.resolveType(e.elementType)):this._storageModel.getStorageModel(t);var i=r.LogicalType.memberDefinitions.getMember(e.inverseProperty);i&&(i.inverseProperty?i.inverseProperty!=e.name&&"undefined"==typeof intellisense&&_index.Guard.raise(new _index.Exception("Inverse property mismatch")):i.inverseProperty=e.name)}else{var a=null;if(t===_index2["default"].Array||t.isAssignableTo&&t.isAssignableTo(_index2["default"].EntitySet)){var r=this._storageModel.getStorageModel(_index.Container.resolveType(e.elementType));if(r){a=[];for(var o=r.LogicalType.memberDefinitions.getPublicMappedProperties(),s=0;s<o.length;s++){var u=o[s];u.inverseProperty==e.name&&_index.Container.resolveType(u.dataType)===_index.Container.resolveType(n.LogicalType)&&a.push(u)}}}else{var r=this._storageModel.getStorageModel(t);if(r){a=[];for(var o=r.LogicalType.memberDefinitions.getPublicMappedProperties(),s=0;s<o.length;s++){var u=o[s];u.elementType&&u.inverseProperty==e.name&&_index.Container.resolveType(u.elementType)===n.LogicalType?a.push(u):u.inverseProperty==e.name&&_index.Container.resolveType(u.dataType)===n.LogicalType&&a.push(u)}}}if(a){a.length>1&&"undefined"!=typeof intellisense&&_index.Guard.raise(new _index.Exception("More than one inverse property refer to this member definition: "+e.name+", type: "+_index.Container.resolveName(n.LogicalType)));var l=a.pop();l&&(e.inverseProperty=l.name)}}},_buildDbType_generateConvertToFunction:function(e){return function(e){return e}},_buildDbType_modifyInstanceDefinition:function(e,t){},_buildDbType_modifyClassDefinition:function(e,t){},_buildDbType_addComplexTypePropertyDefinition:function(e,t,n,r){this._addNavigationPropertyDefinition(e,r,r.name,_index2["default"].MemberTypes.complexProperty);var i=this._createComplexElement(t.LogicalType,"",r.name,n,"","");t.ComplexTypes[r.name]=i,t.ComplexTypes.push(i)},_buildDbType_Collection_OneManyDefinition:function(e,t,n,r){var i=_index.Container.resolveType(r.elementType);void 0!==i&&null!==i||"undefined"==typeof intellisense&&_index.Guard.raise(new _index.Exception("Element type definition error","Field definition",r));var a=this._storageModel.getStorageModel(i);a||"undefined"==typeof intellisense&&_index.Guard.raise(new _index.Exception("No EntitySet definition for the following element type","Field definition",r)),this._addNavigationPropertyDefinition(e,r,r.name);var o="$$unbound"===r.inverseProperty?"$$unbound":"0..1",s=this._addAssociationElement(r.definedBy,o,r.name,a.LogicalType,"*",r.inverseProperty);t.Associations[r.name]=s,t.Associations.push(s)},_buildDbType_ElementType_OneManyDefinition:function(e,t,n,r){var i=_index.Container.resolveType(r.dataType);void 0!==i&&null!==i||"undefined"==typeof intellisense&&_index.Guard.raise(new _index.Exception("Element type definition error","Field definition",r));var a=this._storageModel.getStorageModel(i);a||"undefined"==typeof intellisense&&_index.Guard.raise(new _index.Exception("No EntitySet definition for the following element type","Field definition",r)),this._addNavigationPropertyDefinition(e,r,r.name);var o="$$unbound"===r.inverseProperty?"$$unbound":"*",s=this._addAssociationElement(r.definedBy,o,r.name,i,"0..1",r.inverseProperty);t.Associations[r.name]=s,t.Associations.push(s)},_buildDbType_ElementType_OneOneDefinition:function(e,t,n,r){var i=_index.Container.resolveType(r.dataType);void 0!==i&&null!==i||"undefined"==typeof intellisense&&_index.Guard.raise(new _index.Exception("Element type definition error","Field definition",r));var a=this._storageModel.getStorageModel(i);a||"undefined"==typeof intellisense&&_index.Guard.raise(new _index.Exception("No EntitySet definition following element type","Field definition",r));var o=a.LogicalType.memberDefinitions.getMember(r.inverseProperty);o.required||r.required||"undefined"==typeof intellisense&&"undefined"==typeof intellisense&&_index.Guard.raise(new _index.Exception("In one to one connection, one side must required!","One to One connection",r)),this._addNavigationPropertyDefinition(e,r,r.name);var s=this._addAssociationElement(r.definedBy,r.required?"0..1":"1",r.name,a.LogicalType,r.required?"1":"0..1",r.inverseProperty);t.Associations[r.name]=s,t.Associations.push(s)},_addNavigationPropertyDefinition:function(e,t,n,r){var i=JSON.parse(JSON.stringify(t));i.dataType=_index2["default"].EntitySet,i.notMapped=!0,i.kind=r?r:_index2["default"].MemberTypes.navProperty,i.association=n,e[t.name]=i},_addAssociationElement:function(e,t,n,r,i,a){return new _index2["default"].Association({From:e.name,FromType:e,FromMultiplicity:t,FromPropertyName:n,To:r.name,ToType:r,ToMultiplicity:i,ReferentialConstraint:[],ToPropertyName:a})},_createComplexElement:function(e,t,n,r,i,a){return new _index2["default"].ComplexType({From:e.name,FromType:e,FromMultiplicity:t,FromPropertyName:n,To:r.name,ToType:r,ToMultiplicity:i,ReferentialConstraint:[],ToPropertyName:a})},_build_EnumDefinition:function(e,t,n,r){t.Enums.push(n);var i=_index.Container.resolveName(n),a=this.storageProvider.fieldConverter,o=function(e){e[i]=function(t){return e["$data.Enum"].call(this,t,n)}};for(var s in a)!a[s][i]&&a[s]["$data.Enum"]&&(o(a[s]),_index2["default"].SqLiteFieldMapping&&(_index2["default"].SqLiteFieldMapping[i]="INTEGER"))},_successInitProvider:function(e,t){if(e instanceof _index2["default"].EntityContext&&void 0!==e._isOK)if(t){if(e._isOK=t,e.onReadyFunction){for(var n=0;n<e.onReadyFunction.length;n++)e.onReadyFunction[n].error(t);e.onReadyFunction=void 0}}else if(e._isOK=!0,e.onReadyFunction){for(var n=0;n<e.onReadyFunction.length;n++)e.onReadyFunction[n].success(e);e.onReadyFunction=void 0}},onReady:function(e){var t=new _index2["default"].PromiseHandler,n=t.createCallback(e);return this._isOK===!0?n.success(this):this._isOK!==!1?n.error(this._isOK):(this.onReadyFunction=this.onReadyFunction||[],this.onReadyFunction.push(n)),t.getPromise()},ready:{type:_index2["default"].Promise},getEntitySetFromElementType:function getEntitySetFromElementType(elementType){var result=this._entitySetReferences[elementType];if(!result)try{result=this._entitySetReferences[eval(elementType).name]}catch(ex){}if(!result&&elementType.isAssignableTo&&elementType.isAssignableTo(_index2["default"].Entity)){if(!this._storageModel[elementType.name]){var storageModel=new _index2["default"].StorageModel;storageModel.TableName=elementType.name,storageModel.ItemName=elementType.name,storageModel.LogicalType=elementType,storageModel.LogicalTypeName=elementType.name;var dbEntityInstanceDefinition={};this._buildDbInstanceDefinition(storageModel,dbEntityInstanceDefinition);var dbEntityClassDefinition={};dbEntityClassDefinition.convertTo=this._buildDbType_generateConvertToFunction(storageModel,this),storageModel.PhysicalTypeName=_index2["default"].EntityContext._convertLogicalTypeNameToPhysical(storageModel.LogicalTypeName),storageModel.PhysicalType=_index2["default"].Class.define(storageModel.PhysicalTypeName,_index2["default"].Entity,storageModel.LogicalType.container,dbEntityInstanceDefinition,dbEntityClassDefinition),storageModel.ContextType=this.getType(),this._storageModel.push(storageModel);var name=_index.Container.resolveName(elementType);this._storageModel[name]=storageModel}result=this._entitySetReferences[elementType.name]=new _index2["default"].EntitySet(elementType,this,elementType.name),result.tableName=storageModel.TableName}return result},executeQuery:function(e,t,n){var r=new _index2["default"].Query(e.expression,e.defaultType,this);r.transaction=n instanceof _index2["default"].Transaction?n:void 0;var i=this._isReturnTransaction(n);t=_index2["default"].PromiseHandlerBase.createCallbackSettings(t);var a=this,o={};o.success=a.executeQuerySuccess(a,i,t),o.error=a.executeQueryError(a,i,t);var s=r.getEntitySets(),u=function(){var e=!0,t=a,n=function(n){n===!1&&(e=!1),e?r.transaction?_index2["default"].QueryCache&&_index2["default"].QueryCache.isInCache(a,r)?_index2["default"].QueryCache.executeQuery(a,r,o):t.storageProvider.executeQuery(r,o):t.beginTransaction(function(e){r.transaction=e,_index2["default"].QueryCache&&_index2["default"].QueryCache.isInCache(a,r)?_index2["default"].QueryCache.executeQuery(a,r,o):t.storageProvider.executeQuery(r,o)}):(r.rawDataList=[],r.result=[],o.success(r))},i=0,u=function l(t){t===!1&&(e=!1);var a=s[i];if(a.beforeRead){i++;var o=a.beforeRead.call(this,s,r);"function"==typeof o?o.call(this,i<s.length&&e?l:n,s,r):(o===!1&&(e=!1),i<s.length&&e?l():n())}else n()};s.length?u():n()};this.user&&this.checkPermission?this.checkPermission(r.expression.nodeType===_index2["default"].Expressions.ExpressionType.BatchDelete?_index2["default"].Access.DeleteBatch:_index2["default"].Access.Read,this.user,s,{success:u,error:o.error}):u()},executeQuerySuccess:function(e,t,n){return function(r){_index2["default"].QueryCache&&_index2["default"].QueryCache.isCacheable(e,r)&&_index2["default"].QueryCache.addToCache(e,r),r.buildResultSet(e),_index2["default"].ItemStore&&"QueryResultModifier"in _index2["default"].ItemStore&&_index2["default"].ItemStore.QueryResultModifier.call(e,r);var i;if(r.expression.nodeType===_index2["default"].Expressions.ExpressionType.Single||r.expression.nodeType===_index2["default"].Expressions.ExpressionType.Find||r.expression.nodeType===_index2["default"].Expressions.ExpressionType.Count||r.expression.nodeType===_index2["default"].Expressions.ExpressionType.BatchDelete||r.expression.nodeType===_index2["default"].Expressions.ExpressionType.Some||r.expression.nodeType===_index2["default"].Expressions.ExpressionType.Every){if(1!==r.result.length)return void n.error(new _index.Exception("result count failed"));i=r.result[0]}else if(r.expression.nodeType===_index2["default"].Expressions.ExpressionType.First){if(0===r.result.length)return void n.error(new _index.Exception("result count failed"));i=r.result[0]}else"number"==typeof r.__count&&r.result&&(r.result.totalCount=r.__count),e.storageProvider._buildContinuationFunction(e,r),i=r.result;var a=function(){e._applyTransaction(n,n.success,[i],r.transaction,t)},o=0,s=r.getEntitySets(),u=function l(){var e=s[o];if(e.afterRead){o++;var t=e.afterRead.call(this,i,s,r);"function"==typeof t?t.call(this,o<s.length?l:a,i,s,r):o<s.length?l():a()}else a()};s.length?u():a()}},executeQueryError:function(e,t,n){return function(){t?n.error.apply(this,arguments):n.error.apply(this,Array.prototype.filter.call(arguments,function(e){return!(e instanceof _index2["default"].Transaction)}))}},batchExecuteQuery:function e(t,n,r){var i=new _index2["default"].PromiseHandler,a=i.createCallback(n),o=this,s={count:"length",length:"length",forEach:"forEach",toArray:"toArray",single:"single",some:"some",every:"every",first:"first",removeAll:"batchDelete"},u={count:"CountExpression",length:"CountExpression",forEach:"ForEachExpression",toArray:"ToArrayExpression",single:"SingleExpression",some:"SomeExpression",every:"EveryExpression",first:"FirstExpression",removeAll:"BatchDeleteExpression"},l=function(){return i.getPromise()};if("number"!=typeof t.length)return a.error(new _index.Exception("QueryableOptions array parameter missing","Invalid arguments")),l();for(var p=[],d=0;d<t.length;d++){var c={};if(t[d]instanceof _index2["default"].Queryable)c.queryable=t[d],c.method="toArray";else if(t[d].queryable instanceof _index2["default"].Queryable)c.queryable=t[d].queryable,c.method=t[d].method||"toArray";else{if(!(t[d][0]instanceof _index2["default"].Queryable))return a.error(new _index.Exception("$data.Queryable is missing in queryableOptions at index "+d,"Invalid arguments")),l();c.queryable=t[d][0],c.method=t[d][1]||"toArray"}if(c.queryable.entityContext!==o)return a.error(new _index.Exception("Queryable at index "+d+" contains different entity context","Invalid arguments")),l();c.queryable._checkOperation(s[c.method]||c.method),p.push(c)}for(var f=[],d=0;d<p.length;d++){var c=p[d],y=u[c.method]||c.method;if(!(y&&_index2["default"].Expressions[y]&&_index2["default"].Expressions[y].isAssignableTo(_index2["default"].Expressions.FrameOperator)))return a.error(new _index.Exception("Invalid frame method '"+y+"' in queryableOptions at index "+d,"Invalid arguments")),l();var h=_index.Container["create"+y](c.queryable.expression),m=_index.Container.createQueryExpressionCreator(c.queryable.entityContext);try{var g=m.Visit(h);c.queryable.entityContext.log({event:"EntityExpression",data:g});var v=_index.Container.createQueryable(c.queryable,g);f.push(v)}catch(x){return a.error(x),l()}}var E=[];if(o.storageProvider.supportedContextOperation&&o.storageProvider.supportedContextOperation.batchExecuteQuery){var b=_index.Container.createBatchExecuteQueryExpression(f.map(function(e){return new _index2["default"].Query(e.expression,e.defaultType,o)})),e=_index.Container.createQueryable(o,b);o.executeQuery(e,{success:function(t){for(var n=[],r=!1,i=null,s=0;s<t.length&&!r;s++){var u=t[s];o.executeQuerySuccess(o,T,{success:function(e){n.push(e)},error:function(e){r=!0,i=e}})(u)}r?a.error(i):o._applyTransaction(a,a.success,[n],e.transaction,T)},error:a.error},r)}else{var T=this._isReturnTransaction(r),C=function S(e,t,n,r){var i=e[t];return i?void o.executeQuery(f[t],{success:function(e,r){E.push(e),S(f,t+1,n,r)},error:n.error},r):n.success(r)};C(f,0,{success:function(e){o._applyTransaction(a,a.success,[E],e,T)},error:a.error},r)}return l()},saveChanges:function(e,t){_index2["default"].QueryCache&&_index2["default"].QueryCache.reset(this);for(var n=[],r=this.stateManager.trackedEntities,i=new _index2["default"].PromiseHandler,a=i.createCallback(e),o=i.getPromise(),s=this._isReturnTransaction(t),u=[];r.length>0;){for(var l=[],p=0;p<r.length;p++){var d=r[p],c=this._storageModel.getStorageModel(d.data.getType());if(d.data.entityState==_index2["default"].EntityState.Unchanged)d.skipSave=!0,u.push(d.data);else if(d.data.entityState==_index2["default"].EntityState.Modified)if(d.data.changedProperties){var f=d.data.changedProperties.some(function(e){var t=c.PhysicalType.memberDefinitions.getMember(e.name);if(t.kind==_index2["default"].MemberTypes.navProperty){var n=c.Associations[t.association],r=n.FromMultiplicity+n.ToMultiplicity;return"*0..1"==r||"0..11"==r}return!0});f||(d.skipSave=!0,u.push(d.data))}else d.skipSave=!0,u.push(d.data);this.processEntityTypeBeforeEventHandler(u,d);for(var y=[],h=c.PhysicalType.memberDefinitions.asArray(),m=0;m<h.length;m++){var g=h[m];g.kind==_index2["default"].MemberTypes.navProperty&&y.push(g)}for(var v=0;v<y.length;v++)for(var x=y[v],E=c.Associations[x.name],b=x.name,T=E.ToPropertyName,C=[].concat(d.data[b]),S=0;S<C.length;S++){var _=C[S];if(_){var P=_[T],N=E.FromMultiplicity+E.ToMultiplicity;if("$$unbound"===E.FromMultiplicity)if(_ instanceof _index2["default"].Array){d.dependentOn=d.dependentOn||[];for(var M=0;M<_.length;M++){_[M];d.dependentOn.indexOf(_)<0&&_.skipSave!==!0&&d.dependentOn.push(_)}}else d.dependentOn=d.dependentOn||[],d.dependentOn.indexOf(_)<0&&_.skipSave!==!0&&d.dependentOn.push(_);else{switch(N){case"*0..1":P?P instanceof Array?-1==P.indexOf(d.data)&&(P.push(d.data),_.initData[T]=P,_._setPropertyChanged(E.ToType.getMemberDefinition(T))):"undefined"==typeof intellisense&&_index.Guard.raise("Item must be array or subtype of array"):(_.initData[T]=[d.data],_._setPropertyChanged(E.ToType.getMemberDefinition(T)));break;default:P?P!==d.data&&"undefined"==typeof intellisense&&_index.Guard.raise("Integrity check error! Item assigned to another entity!"):(_.initData[T]=d.data,_._setPropertyChanged(E.ToType.getMemberDefinition(T)))}switch(N){case"*0..1":case"0..11":d.dependentOn=d.dependentOn||[],d.dependentOn.indexOf(_)<0&&_.skipSave!==!0&&d.dependentOn.push(_)}}_.entityState||this.discoverDependentItemEntityState(_),-1==l.indexOf(_)&&l.push(_)}}}for(var p=0;p<r.length;p++){var A=r[p];A.skipSave!==!0&&n.push(A)}r=[];for(var p=0;p<l.length;p++){var w=l[p];u.some(function(e){return e==w})||n.some(function(e){return e.data==w})||r.push({data:w,entitySet:this.getEntitySetFromElementType(w.getType().name)})}}for(var v=0;v<n.length;v++){var O=n[v];if(O.dependentOn){for(var j=[],p=0;p<O.dependentOn.length;p++)u.indexOf(O.dependentOn[p])<0?j.push(O.dependentOn[p]):(O.additionalDependentOn=O.additionalDependentOn||[],O.additionalDependentOn.push(O.dependentOn[p]));O.dependentOn=j}}u=null;var D=this;if(0==n.length)return this.stateManager.trackedEntities.length=0,D._applyTransaction(a,a.success,[0],t,s),o;for(var G=[],p=0;p<n.length;p++){var A=n[p];if(A.data.entityState===_index2["default"].EntityState.Added)for(var v=0;v<A.data.getType().memberDefinitions.getPublicMappedProperties().length;v++){var V=A.data.getType().memberDefinitions.getPublicMappedProperties()[v],k=_index.Container.resolveType(V.type);if(V.required&&!V.computed&&!A.data[V.name]&&!V.isDependentProperty)switch(k){case _index2["default"].String:case _index2["default"].Number:case _index2["default"].Float:case _index2["default"].Decimal:case _index2["default"].Integer:case _index2["default"].Int16:case _index2["default"].Int32:case _index2["default"].Int64:case _index2["default"].Byte:case _index2["default"].SByte:case _index2["default"].Date:case _index2["default"].Boolean:A.data[V.name]=_index.Container.getDefault(V.dataType)}}A.data.entityState!==_index2["default"].EntityState.Added&&A.data.entityState!==_index2["default"].EntityState.Modified||A.data.isValid()||G.push({item:A.data,errors:A.data.ValidationErrors})}if(G.length>0)return a.error(G),o;for(var I=_index2["default"].Access.None,B={},$=[],p=0;p<n.length;p++){var L=n[p],R=L.entitySet.elementType.name;$.indexOf(L.entitySet)<0&&$.push(L.entitySet);var F=this._entitySetReferences[R];if(F.beforeCreate||F.beforeUpdate||F.beforeDelete||this.user&&this.checkPermission)switch(B[R]||(B[R]={}),L.data.entityState){case _index2["default"].EntityState.Added:I|=_index2["default"].Access.Create,F.beforeCreate&&(B[R].createAll||(B[R].createAll=[]),B[R].createAll.push(L));break;case _index2["default"].EntityState.Modified:I|=_index2["default"].Access.Update,F.beforeUpdate&&(B[R].modifyAll||(B[R].modifyAll=[]),B[R].modifyAll.push(L));break;case _index2["default"].EntityState.Deleted:I|=_index2["default"].Access.Delete,F.beforeDelete&&(B[R].deleteAll||(B[R].deleteAll=[]),B[R].deleteAll.push(L))}}var q,U=function(e){if(e===!1&&(q="async",n.length=0),n.length){var r={success:function(e){D._postProcessSavedItems(a,n,e,s)},error:function(){s?a.error.apply(this,arguments):a.error.apply(this,Array.prototype.filter.call(arguments,function(e){return!(e instanceof _index2["default"].Transaction)}))}};t instanceof _index2["default"].Transaction?D.storageProvider.saveChanges(r,n,t):D.beginTransaction(!0,function(e){D.storageProvider.saveChanges(r,n,e)})}else q?a.error(new _index.Exception("Cancelled event in "+q,"CancelEvent")):D._applyTransaction(a,a.success,[0],t,s)},Q=Object.getOwnPropertyNames(B),p=0,H=["beforeUpdate","beforeDelete","beforeCreate"],J={beforeCreate:"createAll",beforeDelete:"deleteAll",beforeUpdate:"modifyAll"},K=function z(e){if(e===!1)return q="async",n.length=0,void U(e);var t=D._entitySetReferences[Q[p]],r=H.pop(),i=B[Q[p]],a=i[J[r]];if(a){for(var o=[],s=0;s<a.length;s++)o.push(a[s].data);H.length||(H=["beforeUpdate","beforeDelete","beforeCreate"],p++);var u=t[r].call(D,o);if("function"==typeof u)u.call(D,p<Q.length&&!q?z:U,o);else if(u===!1){q=t.name+"."+r;for(var l=0;l<a.length;l++){var d=a[l],c=n.indexOf(d);n.splice(c,1)}U()}else p<Q.length&&!q?z():U()}else H.length||(H=["beforeUpdate","beforeDelete","beforeCreate"],p++),p<Q.length&&!q?z():U()};return this.user&&this.checkPermission?this.checkPermission(I,this.user,$,{success:function(){p<Q.length?K():U()},error:a.error}):p<Q.length?K():U(),o},discoverDependentItemEntityState:function(e){e.storeToken===this.storeToken?e.entityState=e.changedProperties&&e.changedProperties.length?_index2["default"].EntityState.Modified:_index2["default"].EntityState.Unchanged:e.storeToken&&this.storeToken&&e.storeToken.typeName===this.storeToken.typeName&&JSON.stringify(e.storeToken.args)===JSON.stringify(this.storeToken.args)?e.entityState=e.changedProperties&&e.changedProperties.length?_index2["default"].EntityState.Modified:_index2["default"].EntityState.Unchanged:e.entityState=_index2["default"].EntityState.Added},processEntityTypeBeforeEventHandler:function(e,t){if(!t.skipSave){var n=t.data,r=n.getType(),i=n.entityState;switch(!0){case i===_index2["default"].EntityState.Added&&r.onbeforeCreate instanceof _index2["default"].Event:r.onbeforeCreate.fireCancelAble(n)===!1&&(t.skipSave=!0,e.push(n));break;case i===_index2["default"].EntityState.Modified&&r.onbeforeUpdate instanceof _index2["default"].Event:r.onbeforeUpdate.fireCancelAble(n)===!1&&(t.skipSave=!0,e.push(n));break;case i===_index2["default"].EntityState.Deleted&&r.onbeforeDelete instanceof _index2["default"].Event:r.onbeforeDelete.fireCancelAble(n)===!1&&(t.skipSave=!0,e.push(n))}}},processEntityTypeAfterEventHandler:function(e){var t=e.data,n=t.getType(),r=t.entityState;switch(!0){case r===_index2["default"].EntityState.Added&&n.onafterCreate instanceof _index2["default"].Event:n.onafterCreate.fire(t);break;case r===_index2["default"].EntityState.Modified&&n.onafterUpdate instanceof _index2["default"].Event:n.onafterUpdate.fire(t);break;case r===_index2["default"].EntityState.Deleted&&n.onafterDelete instanceof _index2["default"].Event:n.onafterDelete.fire(t)}},bulkInsert:function(e,t,n,r){var i=new _index2["default"].PromiseHandler;if(r=i.createCallback(r),"string"==typeof e){var a;for(var o in this._entitySetReferences){var s=this._entitySetReferences[o];if(s.tableName===e){a=s;break}}a||(a=this[e]),e=a}return e?this.storageProvider.bulkInsert(e,t,n,r):r.error(new _index.Exception("EntitySet not found")),i.getPromise()},prepareRequest:function(){},_postProcessSavedItems:function(e,t,n,r){this.ChangeCollector&&this.ChangeCollector instanceof _index2["default"].Notifications.ChangeCollectorBase&&this.ChangeCollector.processChangedData(t);for(var i={},a=this,o=0;o<t.length;o++){var s=t[o];s.data.storeToken||(s.data.storeToken=a.storeToken),this.processEntityTypeAfterEventHandler(s);var u=s.data.entityState;s.data.entityState=_index2["default"].EntityState.Unchanged,s.data.changedProperties=[],s.physicalData=void 0;var l=s.entitySet.elementType.name,p=a._entitySetReferences[l],d=void 0;switch(u){case _index2["default"].EntityState.Added:d="added";break;case _index2["default"].EntityState.Deleted:d="deleted";break;case _index2["default"].EntityState.Modified:d="updated"}if(d&&this.raiseEvent(d,s),p.afterCreate||p.afterUpdate||p.afterDelete)switch(i[l]||(i[l]={}),u){case _index2["default"].EntityState.Added:p.afterCreate&&(i[l].createAll||(i[l].createAll=[]),i[l].createAll.push(s));break;case _index2["default"].EntityState.Modified:p.afterUpdate&&(i[l].modifyAll||(i[l].modifyAll=[]),i[l].modifyAll.push(s));break;case _index2["default"].EntityState.Deleted:p.afterDelete&&(i[l].deleteAll||(i[l].deleteAll=[]),i[l].deleteAll.push(s))}}var c=Object.getOwnPropertyNames(i),o=0,a=this,f=["afterUpdate","afterDelete","afterCreate"],y={afterCreate:"createAll",afterDelete:"deleteAll",afterUpdate:"modifyAll"},h=function(){a.trackChanges||a.stateManager.reset(),a._applyTransaction(e,e.success,[t.length],n,r)},m=function g(){var e=a._entitySetReferences[c[o]],t=f.pop(),n=i[c[o]],r=n[y[t]];if(r){for(var s=[],u=0;u<r.length;u++)s.push(r[u].data);f.length||(f=["afterUpdate","afterDelete","afterCreate"],o++);var l=e[t].call(a,s);"function"==typeof l?l.call(a,o<c.length?g:h,s):o<c.length?g():h()}else f.length||(f=["afterUpdate","afterDelete","afterCreate"],o++),o<c.length?g():h()};o<c.length?m():h()},forEachEntitySet:function(e,t){for(var n in this._entitySetReferences){var r=this._entitySetReferences[n];e.call(t,r)}},loadItemProperty:function(e,t,n,r){_index.Guard.requireType("entity",e,_index2["default"].Entity);var i="string"==typeof t?e.getType().memberDefinitions.getMember(t):t,a=this._isReturnTransaction(r);if(void 0!=e[i.name]){var o=new _index2["default"].PromiseHandler;o.createCallback(n);return this._applyTransaction(n,n.success,[e[i.name]],r,a),o.getPromise()}var s=!0,u=this._storageModel.getStorageModel(e.getType().fullName),l=_index.Container.resolveType(i.dataType);if(l===_index2["default"].Array||l.isAssignableTo&&l.isAssignableTo(_index2["default"].EntitySet))l=_index.Container.resolveType(i.elementType),s=!1;else{for(var p,d=0;d<u.Associations.length;d++){var c=u.Associations[d];if(c.FromPropertyName==i.name){p=c;break}}p&&"0..1"===p.FromMultiplicity&&"1"===p.ToMultiplicity&&(s=!1)}var f=u.LogicalType.memberDefinitions.getKeyProperties();if(s===!0){for(var y="function (e) { return",h={},m=0;m<f.length;m++){var g=f[m];m>0&&(y+=" &&"),y+=" e."+g.name+" == this.key"+m,h["key"+m]=e[g.name]}y+="; }";var v=this.getEntitySetFromElementType(e.getType());return v.map("function (e) { return e."+i.name+" }").single(y,h,n,r)}for(var y="function (e) { return",h={},m=0;m<f.length;m++){var g=f[m];m>0&&(y+=" &&"),y+=" e."+i.inverseProperty+"."+g.name+" == this.key"+m,h["key"+m]=e[g.name]}y+="; }";var v=this.getEntitySetFromElementType(l);return v.filter(y,h).toArray(n,r)},getTraceString:function(e){var t=new _index2["default"].Query(e.expression,e.defaultType,this);return this.storageProvider.getTraceString(t)},log:function(e){},resolveBinaryOperator:function(e,t,n){return this.storageProvider.resolveBinaryOperator(e,t,n)},resolveUnaryOperator:function(e,t,n){return this.storageProvider.resolveUnaryOperator(e,t,n)},resolveFieldOperation:function(e,t,n){return this.storageProvider.resolveFieldOperation(e,t,n)},resolveSetOperations:function(e,t,n){return this.storageProvider.resolveSetOperations(e,t,n)},resolveTypeOperations:function(e,t,n){return this.storageProvider.resolveTypeOperations(e,t,n)},resolveContextOperations:function(e,t,n){return this.storageProvider.resolveContextOperations(e,t,n)},_generateServiceOperationQueryable:function(e,t,n,r){"undefined"!=typeof console&&console.log&&console.log("Obsolate: _generateServiceOperationQueryable, $data.EntityContext");
for(var i=[],a=0;a<r.length;a++){var o={};o[r[a]]=_index.Container.resolveType(_index.Container.getTypeName(n[a])),i.push(o)}var s=_index2["default"].EntityContext.generateServiceOperation({serviceName:e,returnType:_index2["default"].Queryable,elementType:this[t].elementType,params:i});return s.apply(this,n)},attach:function(e,t){e instanceof _index2["default"].EntityWrapper&&(e=e.getEntity());var n=this.getEntitySetFromElementType(e.getType());return n.attach(e,t)},attachOrGet:function(e,t){e instanceof _index2["default"].EntityWrapper&&(e=e.getEntity());var n=this.getEntitySetFromElementType(e.getType());return n.attachOrGet(e,t)},addMany:function(e){var t=this;return e.forEach(function(e){t.add(e)}),e},add:function(e){e instanceof _index2["default"].EntityWrapper&&(e=e.getEntity());var t=this.getEntitySetFromElementType(e.getType());return t.add(e)},remove:function(e){e instanceof _index2["default"].EntityWrapper&&(e=e.getEntity());var t=this.getEntitySetFromElementType(e.getType());return t.remove(e)},storeToken:{type:Object},getFieldUrl:function(e,t,n){try{var r="string"==typeof n?this[n]:n,i="string"==typeof t?t:t.name;if(e instanceof _index2["default"].Entity)r=this.getEntitySetFromElementType(e.getType());else if(!_index.Guard.isNullOrUndefined(e)&&e.constructor!==_index2["default"].Object){var a=r.elementType.memberDefinitions.getKeyProperties()[0],o={};o[a.name]=e,e=o}return e instanceof _index2["default"].Entity||(e=new r.elementType(e)),this.storageProvider.getFieldUrl(e,i,r)}catch(s){}return"#"},_applyRelatedEntityMethodsToContext:function(){if("oData"===this.storageProvider.name)for(var e in this._entitySetReferences){var t=this._entitySetReferences[e],n=_index2["default"].defaults.relatedEntityReadMethodPrefix+t.name;n in t||(t[n]=this._relatedEntityGetMethod(t.elementType,void 0,this)),n in this||(this[n]=this._relatedEntityGetMethod(t.elementType,void 0,this))}},_applyRelatedEntityMethodsToTypes:function(){if("oData"===this.storageProvider.name)for(var e in this._entitySetReferences)for(var t=this._entitySetReferences[e].elementType,n=t.memberDefinitions.getPublicMappedProperties(),r=0;r<n.length;r++){var i=n[r],a=null;if(i.inverseProperty&&_index.Container.resolveType(i.dataType)===_index2["default"].Array&&(a=_index.Container.resolveType(i.elementType))&&a.isAssignableTo&&a.isAssignableTo(_index2["default"].Entity)){var o=_index2["default"].defaults.relatedEntityReadMethodPrefix+i.name;t.getMemberDefinition(o)||t.addMember(o,this._relatedEntityGetMethod(a,i))}}},_createRelatedEntityProxyClass:function(e){var t=e.namespace+_index2["default"].defaults.relatedEntityProxyPrefix+e.name;if(!_index.Container.isTypeRegistered(t)){for(var n={},r=e.memberDefinitions.getPublicMappedProperties(),i=0;i<r.length;i++){var a=r[i],o=null;if(a.inverseProperty&&_index.Container.resolveType(a.dataType)===_index2["default"].Array&&(o=_index.Container.resolveType(a.elementType))&&o.isAssignableTo&&o.isAssignableTo(_index2["default"].Entity)){var s=_index2["default"].defaults.relatedEntityReadMethodPrefix+a.name;n[s]=this._relatedEntityGetMethod(o,a)}}_index2["default"].Class.define(t,_index2["default"].RelatedEntityProxy,null,n,null)}return _index.Container.resolveType(t)},_relatedEntityGetMethod:function(e,t,n){var r=this,i=e.memberDefinitions.getKeyProperties();return function(a){var o=r._createRelatedEntityProxyClass(e);if(1===i.length&&"object"!==("undefined"==typeof a?"undefined":_typeof(a))){var s={};s[i[0].name]=a,a=s}if("object"!==("undefined"==typeof a?"undefined":_typeof(a)))throw new _index.Exception("Key parameter is invalid");return new o(a,t,e,this,n||(this.context instanceof _index2["default"].EntityContext?this.context:void 0))}}},{inheritedTypeProcessor:function(e){e.resolveForwardDeclarations&&e.resolveForwardDeclarations()},generateServiceOperation:function(e){var t;if(e.serviceMethod){var n=e.returnType?_index.Container.resolveType(e.returnType):{};t=n.isAssignableTo&&n.isAssignableTo(_index2["default"].Queryable)?e.serviceMethod:function(){var t,n=arguments[arguments.length-1],r=new _index2["default"].PromiseHandler;"function"==typeof n?(t=r.createCallback(n),arguments[arguments.length-1]=t):(t=r.createCallback(),arguments.push(t));try{var i=e.serviceMethod.apply(this,arguments);void 0!==i&&t.success(i)}catch(a){t.error(a)}return r.getPromise()}}else t=function(){var t,n=this;if(this instanceof _index2["default"].Entity){if(e.method||(e.method="POST"),!this.context)return void _index.Guard.raise("entity not attached into context");n=this.context,t={data:this,entitySet:n.getEntitySetFromElementType(this.getType())}}var r=e.elementType?n.getEntitySetFromElementType(_index.Container.resolveType(e.elementType)):null,i=null;if(e.params){i=[];for(var a=0;a<e.params.length;a++)for(var o in e.params[a])i.push(_index.Container.createConstantExpression(arguments[a],_index.Container.resolveType(e.params[a][o]),o))}var s=_index.Container.createEntityContextExpression(n),u=(t?t.data:n).getType().getMemberDefinition(e.serviceName),l=_index.Container.createServiceOperationExpression(s,_index.Container.createMemberInfoExpression(u),i,e,t),p=arguments[arguments.length-1];if("function"!=typeof p&&(p=void 0),r){var d=_index.Container.createQueryable(r,l);return p?(l.isTerminated=!0,d._runQuery(p)):d}var c=e.returnType?_index.Container.resolveType(e.returnType):null,d=_index.Container.createQueryable(n,l);return d.defaultType=c||_index2["default"].Object,c===_index2["default"].Queryable?(d.defaultType=_index.Container.resolveType(e.elementType),p?(l.isTerminated=!0,d._runQuery(p)):d):(l.isTerminated=!0,d._runQuery(p))};var r=[];if(e.params)for(var i=0;i<e.params.length;i++){var a=e.params[i];for(var o in a)r.push({name:o,type:a[o]})}return _index2["default"].typeSystem.extend(t,e,{params:r}),t},_convertLogicalTypeNameToPhysical:function(e){return e+"_$db$"},_storageModelCache:{get:function(){return this.__storageModelCache||(this.__storageModelCache={}),this.__storageModelCache},set:function(){}}}),exports["default"]=_index2["default"],module.exports=exports["default"]},{"../TypeSystem/index.js":44}],59:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../TypeSystem/index.js"),a=r(i);a["default"].EntitySchemaConfig=function(){this.Name=""},a["default"].entitySetState={created:0,defined:1,active:2},a["default"].Class.defineEx("$data.EntitySet",[{type:a["default"].Queryable,params:[new a["default"].Class.ConstructorParameter(1)]}],null,{constructor:function(e,t,n,r,i){this.createNew=this[e.name]=this.elementType=this.defaultType=e;var o=this;t["createAdd"+e.name]=function(t){var n=new e(t);return o.add(n)},this.stateManager=new a["default"].EntityStateManager(this),this.collectionName=n,this.roles=i;for(var s in r)this[s]=r[s]},addNew:function(e,t){var n=(a["default"].PromiseHandlerBase.createCallbackSettings(t),new this.createNew(e));return this.entityContext.saveChanges(t),n},executeQuery:function(e,t){var n=a["default"].PromiseHandlerBase.createCallbackSettings(t);this.entityContext.executeQuery(e,n)},getTraceString:function(e){return this.entityContext.getTraceString(e)},setContext:function(e){this.entitySetState=a["default"].entitySetState.active,this.entityContext=e,this.entityContext[this.schema.name]=this[this.schema.name]},_trackEntity:function(e){for(var t=this.entityContext.stateManager.trackedEntities,n=0;n<t.length;n++)if(t[n].data===e)return;t.push({entitySet:this,data:e})},add:function(e){var t=e;return e instanceof a["default"].EntityWrapper?t=e.getEntity():e instanceof this.createNew||(t=new this.createNew(e)),t.entityState=a["default"].EntityState.Added,t.changedProperties=void 0,t.context=this.entityContext,this._trackEntity(t),t},addMany:function(e){var t=[],n=this;return e.forEach(function(e){t.push(n.add(e))}),t},remove:function(e){var t=e;e instanceof a["default"].EntityWrapper?t=e.getEntity():e instanceof this.createNew||(t=new this.createNew(e)),t.entityState=a["default"].EntityState.Deleted,t.changedProperties=void 0,this._trackEntity(t)},attach:function(e,t){var n=e;e instanceof a["default"].EntityWrapper?n=e.getEntity():e instanceof this.createNew||(n=new this.createNew(e));for(var r=0;r<this.entityContext.stateManager.trackedEntities.length;r++){var o=this.entityContext.stateManager.trackedEntities[r];if(o.data===n)break;o.data.equals(n)&&i.Guard.raise(new i.Exception("Context already contains this entity!!!"))}if(t===!0)n.changedProperties&&n.changedProperties.length>0?n.entityState=a["default"].EntityState.Modified:n.entityState=a["default"].EntityState.Unchanged;else{"string"==typeof t&&(t=a["default"].EntityAttachMode[t]);var s=t||a["default"].EntityAttachMode[a["default"].EntityAttachMode.defaultMode];"function"==typeof s?s.call(a["default"].EntityAttachMode,n):(n.entityState=a["default"].EntityState.Unchanged,n.changedProperties=void 0)}n.context=this.entityContext,this._trackEntity(n)},detach:function(e){var t=e;e instanceof a["default"].EntityWrapper?t=e.getEntity():e instanceof this.createNew||(t=new this.createNew(e));for(var n,r=this.entityContext.stateManager.trackedEntities,i=0;i<r.length;i++)r[i].data.equals(t)&&(n=r[i]);if(n){var o=this.entityContext.stateManager.trackedEntities.indexOf(n);return e.entityState=a["default"].EntityState.Detached,void this.entityContext.stateManager.trackedEntities.splice(o,1)}},attachOrGet:function(e,t){var n=e;e instanceof a["default"].EntityWrapper?n=e.getEntity():e instanceof this.createNew||(n=new this.createNew(e));for(var r,i=this.entityContext.stateManager.trackedEntities,o=0;o<i.length;o++)i[o].data.equals(n)&&(r=i[o]);if(r)return r.data;"string"==typeof t&&(t=a["default"].EntityAttachMode[t]);var s=t||a["default"].EntityAttachMode[a["default"].EntityAttachMode.defaultMode];return"function"==typeof s?s.call(a["default"].EntityAttachMode,n):(n.entityState=a["default"].EntityState.Unchanged,n.changedProperties=void 0),n.context=this.entityContext,this._trackEntity(n),n},loadItemProperty:function(e,t,n){return this.entityContext.loadItemProperty(e,t,n)},saveChanges:function(){return this.entityContext.saveChanges.apply(this.entityContext,arguments)},addProperty:function(e,t,n){return this.elementType.addProperty.apply(this.elementType,arguments)},expression:{get:function(){if(!this._expression){var e=i.Container.createEntityContextExpression(this.entityContext),t=this.entityContext.getType().getMemberDefinition(this.collectionName),n=i.Container.createEntitySetExpression(e,i.Container.createMemberInfoExpression(t),null,this);this._expression=n}return this._expression},set:function(e){this._expression=e}},getFieldUrl:function(e,t){return this.entityContext.getFieldUrl(e,t,this)},bulkInsert:function(e,t,n){return this.entityContext.bulkInsert(this,e,t,n)}},null),n["default"]=a["default"],t.exports=n["default"]},{"../TypeSystem/index.js":44}],60:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../TypeSystem/index.js"),a=r(i);a["default"].EntityState={Detached:0,Unchanged:10,Added:20,Modified:30,Deleted:40},n["default"]=a["default"],t.exports=n["default"]},{"../TypeSystem/index.js":44}],61:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../TypeSystem/index.js"),a=r(i);a["default"].Class.define("$data.EntityStateManager",null,null,{constructor:function(e){this.entityContext=null,this.trackedEntities=[],this.init(e)},init:function(e){this.entityContext=e},reset:function(){this.trackedEntities=[]}},null),n["default"]=a["default"],t.exports=n["default"]},{"../TypeSystem/index.js":44}],62:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../TypeSystem/index.js"),a=r(i);a["default"].Base.extend("$data.EntityWrapper",{getEntity:function(){i.Guard.raise("pure object")}}),n["default"]=a["default"],t.exports=n["default"]},{"../TypeSystem/index.js":44}],63:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0}),n.Enum=void 0;var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},a=e("../TypeSystem/index.js"),o=r(a);o["default"].createEnum=function(e,t,n,r){return o["default"].Enum.extend(e,t,n,r)},o["default"].Enum=o["default"].Class.define("$data.Enum",null,null,{constructor:function(){return a.Guard.raise(new a.Exception("Type Error","Cannot create instance from enum type!"))}},{extend:function(e,t,n,r){r||(n?(r=n,n=t,t=void 0):(r=t,t=void 0)),n=n||o["default"].Integer,n=a.Container.resolveType(n);var s={__enumType:{get:function(){return n},set:function(){},enumerable:!1,writable:!1}},u=function(e,t){return{get:function(){return e},set:function(){},enumMember:!0,index:t}},l=0,p=[o["default"].Byte,o["default"].SByte,o["default"].Int16,o["default"].Integer,o["default"].Int64].indexOf(n)>=0,d=!1,c=[];if(Array.isArray(r))for(var f=0;f<r.length;f++){var y=r[f];if("object"===("undefined"==typeof y?"undefined":i(y))&&"string"==typeof y.name)c.push({name:y.name,value:y.value,index:y.index}),"undefined"!=typeof y.index&&(d=!0);else{if("string"!=typeof y)return a.Guard.raise(new a.Exception("Type Error","Invalid enum member"));c.push({name:y,value:void 0,index:void 0})}}else if("object"===("undefined"==typeof r?"undefined":i(r)))for(var h in r){var m=r[h];"object"===("undefined"==typeof m?"undefined":i(m))?(c.push({name:h,value:m.value,index:m.index}),"undefined"!=typeof m.index&&(d=!0)):c.push({name:h,value:m,index:void 0})}d&&c.sort(function(e,t){return e.index<t.index?-1:e.index>t.index?1:0});for(var g=[],f=0;f<c.length;f++){var v=c[f];p&&"number"!=typeof v.value&&!v.value&&(v.value=l),"number"==typeof v.value&&(l=v.value),l++,g.push(v.name),s[v.name]=u(v.value,v.index)}s.getEnumName=function(e){var t=c.filter(function(t){return t.value===e})[0];return t?t.name:void 0};var x=o["default"].Base.extend.call(this,e,t,{},s);return o["default"].Container.registerConverter(e,{"default":function(e){if("string"==typeof e&&g.indexOf(e)>=0){var t=x.staticDefinitions.getMember(e);if(t)return t.get()}for(var n=0;n<c.length;n++){var r=c[n];if(r.value===e)return e}throw 0}}),x},hasMetadata:function(e,t){return"undefined"!=typeof Reflect&&Reflect.hasMetadata&&Reflect.hasMetadata(e,this,t)},getAllMetadata:function(e){var t=this,n={};if("undefined"!=typeof Reflect&&Reflect.getMetadataKeys&&Reflect.getMetadata){var r=Reflect.getMetadataKeys(this,e);r.forEach(function(r){n[r]=Reflect.getMetadata(r,t,e)})}return n},getMetadata:function(e,t){return"undefined"!=typeof Reflect&&Reflect.getMetadata?Reflect.getMetadata(e,this,t):void 0},setMetadata:function(e,t,n){return"undefined"!=typeof Reflect&&Reflect.defineMetadata&&Reflect.defineMetadata(e,t,this,n)}});n.Enum=o["default"].Enum;n["default"]=o["default"]},{"../TypeSystem/index.js":44}],64:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.ArrayLiteralExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e){this.items=e||[]},nodeType:{value:a["default"].Expressions.ExpressionType.ArrayLiteral,writable:!0},items:{value:void 0,dataType:Array,elementType:a["default"].Expressions.ExpressionNode},toString:function(e){var t="["+this.items.map(function(e){return e.toString()}).join(",")+"]";return t}},null),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],65:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.CallExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e,t,n){this.expression=e,this.member=t,this.args=n},nodeType:{value:a["default"].Expressions.ExpressionType.Call},expression:{value:void 0,dataType:a["default"].Expressions.ExpressionNode,writable:!0},member:{value:void 0,dataType:a["default"].MemberDefinition,writable:!0},type:{value:void 0,writable:!0},implementation:{get:function(){return function(e,t,n){return"function"!=typeof t&&(t=e[t]),i.Guard.requireType("method",t,Function),t.apply(e,n)}},set:function(e){i.Guard.raise("Property can not be set")}},toString:function(e){return this.object.toString()+"."+this.member.toString()+"()"}}),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],66:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},a=e("../../TypeSystem/index.js"),o=r(a);(0,a.$C)("$data.Expressions.CodeParser",null,null,{constructor:function(e){this.scopeContext=e,this.lambdaParams=[]},log:function(e){this.scopeContext&&this.scopeContext.log(e)},parseExpression:function(e,t){"object"===("undefined"==typeof e?"undefined":i(e))&&(e="");var n={success:!0,errorMessage:"",errorDetails:""};if(o["default"].Acorn)return{success:!0,expression:this.ParserBuild(o["default"].Acorn.parse("("+e.toString()+")").body[0]),errors:[]};if(o["default"].Esprima)return{success:!0,expression:this.ParserBuild(o["default"].Esprima.parse("("+e.toString()+")").body[0]),errors:[]};var r=o["default"].ASTParser.parseCode(e);if(this.log({event:"AST",data:r}),!r.success)return{success:!1,error:"ASTParser error",errorMessage:r.errors?JSON.stringify(r.errors):"could not get code"};var a=this.Build2(r.tree.first[0]);return n={success:!0,expression:a,errors:r.errors}},createExpression:function(e,t){var n=this.parseExpression(e,t);return n.success||a.Guard.raise("ExpressionParserError: "+n.errorMessage),n.expression},ParserBuild:function(e){return this["Parser"+e.type](e)},ParserExpressionStatement:function(e){return this.ParserBuild(e.expression)},ParserBlockStatement:function(e){return this.ParserBuild(e.body[0])},ParserReturnStatement:function(e){return this.ParserBuild(e.argument)},ParserMemberExpression:function(e){return new o["default"].Expressions.PropertyExpression(this.ParserBuild(e.object),new o["default"].Expressions.ConstantExpression(e.property.name||e.property.value,i(e.property.name||e.property.value)))},ParserIdentifier:function(e){return this.ParserParameter(e,this.lambdaParams.indexOf(e.name)>-1?o["default"].Expressions.ExpressionType.LambdaParameterReference:o["default"].Expressions.ExpressionType.ParameterReference)},ParserObjectExpression:function(e){for(var t=new Array(e.properties.length),n=0;n<e.properties.length;n++)t[n]=this.ParserProperty(e.properties[n]);return new o["default"].Expressions.ObjectLiteralExpression(t)},ParserArrayExpression:function(e){for(var t=new Array(e.elements.length),n=0;n<e.elements.length;n++)t[n]=this.ParserBuild(e.elements[n]);return new o["default"].Expressions.ArrayLiteralExpression(t)},ParserProperty:function(e){return new o["default"].Expressions.ObjectFieldExpression(e.key.name,this.ParserBuild(e.value))},ParserArrowFunctionExpression:function(e){return this.ParserFunctionExpression(e)},ParserFunctionExpression:function(e){for(var t=new Array(e.params.length),n=0;n<e.params.length;n++)0===n||o["default"].defaults.parameterResolutionCompatibility?(this.lambdaParams.push(e.params[n].name),t[n]=this.ParserParameter(e.params[n],o["default"].Expressions.ExpressionType.LambdaParameter)):t[n]=this.ParserParameter(e.params[n],o["default"].Expressions.ExpressionType.Parameter),t[n].owningFunction=r;var r=new o["default"].Expressions.FunctionExpression(e.id?e.id.name:e.id,t,this.ParserBuild(e.body));return r},ParserParameter:function(e,t){var n=new o["default"].Expressions.ParameterExpression(e.name,null,t);return t==o["default"].Expressions.ExpressionType.LambdaParameterReference&&(n.paramIndex=this.lambdaParams.indexOf(e.name)),n},ParserLogicalExpression:function(e){return this.ParserBinaryExpression(e)},ParserOperators:{value:{"==":{expressionType:o["default"].Expressions.ExpressionType.Equal,type:"boolean",implementation:function(e,t){return e==t}},"===":{expressionType:o["default"].Expressions.ExpressionType.EqualTyped,type:"boolean",implementation:function(e,t){return e===t}},"!=":{expressionType:o["default"].Expressions.ExpressionType.NotEqual,type:"boolean",implementation:function(e,t){return e!=t}},"!==":{expressionType:o["default"].Expressions.ExpressionType.NotEqualTyped,type:"boolean",implementation:function(e,t){return e!==t}},">":{expressionType:o["default"].Expressions.ExpressionType.GreaterThen,type:"boolean",implementation:function(e,t){return e>t}},">=":{expressionType:o["default"].Expressions.ExpressionType.GreaterThenOrEqual,type:"boolean",implementation:function(e,t){return e>=t}},"<=":{expressionType:o["default"].Expressions.ExpressionType.LessThenOrEqual,type:"boolean",implementation:function(e,t){return t>=e}},"<":{expressionType:o["default"].Expressions.ExpressionType.LessThen,type:"boolean",implementation:function(e,t){return t>e}},"&&":{expressionType:o["default"].Expressions.ExpressionType.And,type:"boolean",implementation:function(e,t){return e&&t}},"||":{expressionType:o["default"].Expressions.ExpressionType.Or,type:"boolean",implementation:function(e,t){return e||t}},"&":{expressionType:o["default"].Expressions.ExpressionType.AndBitwise,type:"number",implementation:function(e,t){return e&t}},"|":{expressionType:o["default"].Expressions.ExpressionType.OrBitwise,type:"number",implementation:function(e,t){return e|t}},"+":{expressionType:o["default"].Expressions.ExpressionType.Add,type:"number",implementation:function(e,t){return e+t}},"-":{expressionType:o["default"].Expressions.ExpressionType.Subtract,type:"number",implementation:function(e,t){return e-t}},"/":{expressionType:o["default"].Expressions.ExpressionType.Divide,type:"number",implementation:function(e,t){return e/t}},"%":{expressionType:o["default"].Expressions.ExpressionType.Modulo,type:"number",implementation:function(e,t){return e%t}},"*":{expressionType:o["default"].Expressions.ExpressionType.Multiply,type:"number",implementation:function(e,t){return e*t}},"[":{expressionType:o["default"].Expressions.ExpressionType.ArrayIndex,type:"number",implementation:function(e,t){return e[t]}},"in":{expressionType:o["default"].Expressions.ExpressionType.In,type:"boolean",implementation:function(e,t){return e in t}}}},ParserUnaryOperators:{value:{"+":{arity:"prefix",expressionType:o["default"].Expressions.ExpressionType.Positive,type:"number",implementation:function(e){return+e}},"-":{arity:"prefix",expressionType:o["default"].Expressions.ExpressionType.Negative,type:"number",implementation:function(e){return-e}},"++true":{arity:"prefix",expressionType:o["default"].Expressions.ExpressionType.Increment,type:"number",implementation:function(e){return++e}},"--true":{arity:"prefix",expressionType:o["default"].Expressions.ExpressionType.Decrement,type:"number",implementation:function(e){return--e}},"++false":{arity:"suffix",expressionType:o["default"].Expressions.ExpressionType.Increment,type:"number",implementation:function(e){return e++}},"!":{arity:"prefix",expressionType:o["default"].Expressions.ExpressionType.Not,type:"boolean",implementation:function(e){return!e}},"--false":{arity:"suffix",expressionType:o["default"].Expressions.ExpressionType.Decrement,type:"number",implementation:function(e){return e--}}}},ParserUnaryExpression:function(e){return new o["default"].Expressions.UnaryExpression(this.ParserBuild(e.argument),this.ParserUnaryOperators[e.operator],this.ParserUnaryOperators[e.operator].expressionType)},ParserUpdateExpression:function(e){return new o["default"].Expressions.UnaryExpression(this.ParserBuild(e.argument),this.ParserUnaryOperators[e.operator+e.prefix],this.ParserUnaryOperators[e.operator+e.prefix].nodeType)},ParserBinaryExpression:function(e){return new o["default"].Expressions.SimpleBinaryExpression(this.ParserBuild(e.left),this.ParserBuild(e.right),this.ParserOperators[e.operator].expressionType,e.operator,this.ParserOperators[e.operator].type)},ParserThisExpression:function(e){return new o["default"].Expressions.ThisExpression},ParserLiteral:function(e){return new o["default"].Expressions.ConstantExpression(e.value,i(e.value))},ParserCallExpression:function(e){for(var t=this.ParserBuild(e.callee),n=new Array(e.arguments.length),r=0;r<e.arguments.length;r++)n[r]=this.ParserBuild(e.arguments[r]);var a,s;switch(!0){case t instanceof o["default"].Expressions.PropertyExpression:s=t.expression,a=t.member;break;case t instanceof o["default"].Expressions.ParameterExpression:s=new o["default"].Expressions.ConstantExpression(null,i(null)),a=t}return new o["default"].Expressions.CallExpression(s,a,n)}}),n["default"]=o["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],67:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.ConstantExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e,t,n,r){this.value=e,this.type=t,this.name=n,this.elementType=r,i.Guard.isNullOrUndefined(this.value)||(this.type=i.Container.resolveType(this.type),(this.type===a["default"].Array&&this.elementType||i.Container.resolveType(i.Container.getTypeName(this.value))!==this.type)&&(this.value=i.Container.convertTo(e,this.type,this.elementType)))},nodeType:{value:a["default"].Expressions.ExpressionType.Constant,enumerable:!0},type:{value:Object,writable:!0},elementType:{value:Object,writable:!0},value:{value:void 0,writable:!0},toString:function(e){return this.value.toString()}}),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],68:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.ContinuationExpressionBuilder",a["default"].Expressions.EntityExpressionVisitor,null,{constructor:function(e){this.mode=e},compile:function(e){var t={mode:"find",skipExists:!1};this.Visit(e.expression,t);var n={skip:t.skipSize,take:t.pageSize,message:""};if("pageSize"in t){var r,i={mode:this.mode,pageSize:t.pageSize};!t.skipExists&&t.pageSize?(i.append=!0,r=this.Visit(e.expression,i)):t.skipExists&&(r=this.Visit(e.expression,i)),i.abort?(n.skip=(n.skip||0)-n.take,n.message="Invalid skip value!"):n.expression=r}else n.message="take expression not defined in the chain!";return n},VisitPagingExpression:function(e,t){switch(t.mode){case"find":e.nodeType===a["default"].Expressions.ExpressionType.Take?t.pageSize=e.amount.value:(t.skipSize=e.amount.value,t.skipExists=!0);break;case"prev":if(e.nodeType===a["default"].Expressions.ExpressionType.Skip){var n=e.amount.value-t.pageSize;t.abort=0>n&&e.amount.value>=t.pageSize;var r=i.Container.createConstantExpression(Math.max(n,0),"number");return i.Container.createPagingExpression(e.source,r,e.nodeType)}t.append&&(t.abort=!0);break;case"next":if(e.nodeType===a["default"].Expressions.ExpressionType.Skip){var n=t.pageSize+e.amount.value,r=i.Container.createConstantExpression(n,"number");return i.Container.createPagingExpression(e.source,r,e.nodeType)}if(t.append){var r=i.Container.createConstantExpression(t.pageSize,"number");return i.Container.createPagingExpression(e,r,a["default"].Expressions.ExpressionType.Skip)}}this.Visit(e.source,t)}}),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],69:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.AssociationInfoExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e){this.associationInfo=e},nodeType:{value:a["default"].Expressions.ExpressionType.AssociationInfo,enumerable:!0}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],70:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.CodeExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e,t){i.Container.resolveType(i.Container.getTypeName(e))!=a["default"].String||"function"==e.replace(/^[\s\xA0]+/,"").match("^function")||/^[^\.]*(=>)/.test(e.replace(/^[\s\xA0]+/,""))||(e="function (it) { return "+e+"; }"),this.source=e,this.parameters=t},nodeType:{value:a["default"].Expressions.ExpressionType.Code,enumerable:!0}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],71:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},a=e("../../../TypeSystem/index.js"),o=r(a);(0,a.$C)("$data.Expressions.CodeToEntityConverter",o["default"].Expressions.ExpressionVisitor,null,{constructor:function(e){this.scopeContext=e,this.parameters=[]},VisitBinary:function(e,t){var n=this.Visit(e.left,t),r=this.Visit(e.right,t);if(!(n instanceof o["default"].Expressions.ConstantExpression)&&r instanceof o["default"].Expressions.ConstantExpression||!(r instanceof o["default"].Expressions.ConstantExpression)&&n instanceof o["default"].Expressions.ConstantExpression){var i,s;r instanceof o["default"].Expressions.ConstantExpression?(i=n,s=r):(i=r,s=n);var u;if(((u=i.selector)instanceof o["default"].Expressions.MemberInfoExpression||(u=i.operation)instanceof o["default"].Expressions.MemberInfoExpression)&&u.memberDefinition&&(u.memberDefinition.type||u.memberDefinition.dataType)){var l=a.Container.resolveType(u.memberDefinition.type||u.memberDefinition.dataType),p=a.Container.resolveType(s.type);if(l!==p){var d=s.value;if(e.operator===o["default"].Expressions.ExpressionType.In)if(Array.isArray(d)){for(var c=[],f=0;f<d.length;f++)c.push(new o["default"].Expressions.ConstantExpression(d[f],l));d=c,l=o["default"].Array}else l=p;r===s?r=new o["default"].Expressions.ConstantExpression(d,l,r.name):n=new o["default"].Expressions.ConstantExpression(d,l,n.name)}}}var y=this.scopeContext.resolveBinaryOperator(e.nodeType,e,t.frameType),h=a.Container.createSimpleBinaryExpression(n,r,e.nodeType,e.operator,e.type,y);return h},VisitUnary:function(e,t){var n=this.Visit(e.operand,t),r=this.scopeContext.resolveUnaryOperator(e.nodeType,e,t.frameType),i=a.Container.createUnaryExpression(n,e.operator,e.nodeType,r);return i},VisitParameter:function(e,t){a.Guard.requireValue("context",t);var n=o["default"].Expressions.ExpressionType;switch(e.nodeType){case n.LambdaParameterReference:var r=a.Container.createEntityExpression(t.lambdaParameters[e.paramIndex],{lambda:e.name});return r;case n.LambdaParameter:break;default:a.Guard.raise("Parameter '"+e.name+"' is missing!")}},VisitThis:function(e,t){var n=this.parameters.push({name:"",value:void 0})-1,r=a.Container.createQueryParameterExpression("",n,t.queryParameters,void 0);return r},VisitFunction:function(e,t){var n=o["default"].Expressions.ExpressionVisitor.prototype.VisitFunction.apply(this,arguments);return n.body},VisitCall:function(e,t){var n,r=this,s=this.Visit(e.expression,t),u=this.Visit(e.member,t),l=e.args.map(function(e){if(e instanceof o["default"].Expressions.FunctionExpression&&(s instanceof o["default"].Expressions.EntitySetExpression||s instanceof o["default"].Expressions.FrameOperationExpression)){
var n=r.scopeContext.resolveSetOperations(u.value,s,t.frameType);n||a.Guard.raise("Unknown entity field operation: "+u.getJSON());var i=r.scopeContext.getEntitySetFromElementType(s.elementType),l=null;i?l=i.expression:a.Guard.raise("Nested operations without entity set is not supported");var p=t.frameType;t.frameType=n.frameType,t.lambdaParameters.push(l);var d=r.Visit(e,t);return t.lambdaParameters.pop(),t.frameType=p,n.frameTypeFactory?n.frameTypeFactory(l,d):new n.frameType(l,d)}return r.Visit(e,t)});switch(!0){case s instanceof o["default"].Expressions.QueryParameterExpression:var p=l.map(function(e){return e.value});return n=e.implementation(s.value,u.value,p),a.Container.createQueryParameterExpression(s.name+"$"+u.value,s.index,n,"undefined"==typeof n?"undefined":i(n));case s instanceof o["default"].Expressions.EntityFieldExpression:case s instanceof o["default"].Expressions.EntityFieldOperationExpression:var d=this.scopeContext.resolveFieldOperation(u.value,s,t.frameType);return d||a.Guard.raise("Unknown entity field operation: "+u.getJSON()),u=a.Container.createMemberInfoExpression(d),n=a.Container.createEntityFieldOperationExpression(s,u,this._resolveFunctionArguments(l,d.parameters));case s instanceof o["default"].Expressions.EntitySetExpression:case s instanceof o["default"].Expressions.FrameOperationExpression:var d=this.scopeContext.resolveSetOperations(u.value,s,t.frameType);return d||a.Guard.raise("Unknown entity field operation: "+u.getJSON()),u=a.Container.createMemberInfoExpression(d),n=a.Container.createFrameOperationExpression(s,u,this._resolveFunctionArguments(l,d.parameters));case s instanceof o["default"].Expressions.EntityExpression:var d=this.scopeContext.resolveTypeOperations(u.value,s,t.frameType);return d||a.Guard.raise("Unknown entity function operation: "+u.getJSON()),u=a.Container.createMemberInfoExpression(d),n=a.Container.createEntityFunctionOperationExpression(s,u,this._resolveFunctionArguments(l,d.method.params));case s instanceof o["default"].Expressions.EntityContextExpression:var d=this.scopeContext.resolveContextOperations(u.value,s,t.frameType);return d||a.Guard.raise("Unknown entity function operation: "+u.getJSON()),u=a.Container.createMemberInfoExpression(d),n=a.Container.createContextFunctionOperationExpression(s,u,this._resolveFunctionArguments(l,d.method.params));default:a.Guard.raise("VisitCall: Only fields can have operations: "+e.getType().name)}},_resolveFunctionArguments:function(e,t){return t&&(t=t.filter(function(e,t){return"@expression"!==e.name})),1===e.length&&e[0]instanceof o["default"].Expressions.ConstantExpression&&"object"===i(e[0].value)&&e[0].value&&t&&t[0]&&e[0].value.constructor===o["default"].Object&&t.some(function(t){return t.name in e[0].value})?t.map(function(t){var n=t.type||t.dataType||e[0].type;return new o["default"].Expressions.ConstantExpression(e[0].value[t.name],a.Container.resolveType(n),t.name)}):e.map(function(e,n){if(e instanceof o["default"].Expressions.ConstantExpression&&t&&t[n]){var r=t[n].type||t[n].dataType||e.type;return new o["default"].Expressions.ConstantExpression(e.value,a.Container.resolveType(r),t[n].name)}return e})},VisitProperty:function(e,t){var n=this.Visit(e.expression,t),r=this.Visit(e.member,t);switch(a.Guard.requireType("member",r,o["default"].Expressions.ConstantExpression),n.expressionType){case o["default"].Expressions.EntitySetExpression:case o["default"].Expressions.EntityExpression:var i=n.getMemberDefinition(r.value);i||a.Guard.raise(new a.Exception("Unknown member: "+r.value,"MemberNotFound"));var s,u,l=i.storageModel.PhysicalType.memberDefinitions.getMember(i.name);switch(l.kind){case"property":return u=a.Container.createMemberInfoExpression(i),s=a.Container.createEntityFieldExpression(n,u);case"navProperty":var p=i.storageModel.Associations[i.name],d=a.Container.createEntitySetExpression(n,a.Container.createAssociationInfoExpression(p));if("*"!==p.ToMultiplicity){var c=a.Container.createEntityExpression(d,{});return c}return d;case"complexProperty":return u=a.Container.createMemberInfoExpression(i),s=a.Container.createComplexTypeExpression(n,u)}case o["default"].Expressions.ComplexTypeExpression:var f=n.getMemberDefinition(r.value);f||a.Guard.raise("Unknown member "+r.value+" on "+n.entityType.name);var y,h=a.Container.createMemberInfoExpression(f);return y=a.Container.isPrimitiveType(a.Container.resolveType(f.dataType))?a.Container.createEntityFieldExpression(n,h):a.Container.createComplexTypeExpression(n,h);case o["default"].Expressions.QueryParameterExpression:var m=e.implementation(n.value,r.value);return this.parameters[n.index].name+="$"+r.value,this.parameters[n.index].value=m,a.Container.createQueryParameterExpression(n.name+"$"+r.value,n.index,m,a.Container.getTypeName(m));case o["default"].Expressions.EntityFieldExpression:case o["default"].Expressions.EntityFieldOperationExpression:var g=this.scopeContext.resolveFieldOperation(r.value,n,t.frameType);return g||a.Guard.raise("Unknown entity field operation: "+r.getJSON()),r=a.Container.createMemberInfoExpression(g),y=a.Container.createEntityFieldOperationExpression(n,r,[]);default:a.Guard.raise("Unknown expression type to handle: "+n.expressionType.name)}}}),n["default"]=o["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],72:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.ComplexTypeExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e,t){i.Guard.requireType("source",e,[a["default"].Expressions.EntityExpression,a["default"].Expressions.ComplexTypeExpression]),i.Guard.requireType("selector",t,[a["default"].Expressions.EntityExpression,a["default"].Expressions.MemberInfoExpression]),this.source=e,this.selector=t;var n=e.entityType.getMemberDefinition(t.memberName).dataType,r=i.Container.resolveType(n);this.entityType=r},getMemberDefinition:function(e){return this.entityType.getMemberDefinition(e)},nodeType:{value:a["default"].Expressions.ExpressionType.Com}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],73:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.EntityContextExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e){this.instance=e},instance:{enumerable:!1},nodeType:{value:a["default"].Expressions.ExpressionType.EntityContext,enumerable:!0}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],74:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.EntityExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e,t){i.Guard.requireValue("source",e),i.Guard.requireValue("selector",t),e instanceof a["default"].Expressions.EntitySetExpression||e instanceof a["default"].Expressions.ServiceOperationExpression||i.Guard.raise("Only EntitySetExpressions can be the source for an EntityExpression"),this.source=e,this.selector=t,this.entityType=this.source.elementType,this.storageModel=this.source.storageModel,i.Guard.requireValue("entityType",this.entityType),i.Guard.requireValue("storageModel",this.storageModel)},getMemberDefinition:function(e){var t=this.entityType.getMemberDefinition(e);if(!t){var n=function r(n){if(n.inheritedTo)for(var i=0;i<n.inheritedTo.length&&!(t=n.inheritedTo[i].getMemberDefinition(e));i++)r(n.inheritedTo[i])};n(this.entityType),t||i.Guard.raise(new i.Exception("Unknown member "+e+" on type "+this.entityType.name,"MemberNotFound"))}return t.storageModel=this.storageModel,t},nodeType:{value:a["default"].Expressions.ExpressionType.Entity}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],75:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.EntityExpressionVisitor",null,null,{constructor:function(){this.lambdaTypes=[]},canVisit:function(e){return e instanceof a["default"].Expressions.ExpressionNode},Visit:function(e,t){if(!this.canVisit(e))return e;var n="Visit"+e.getType().name;if(n in this){var r=this[n],i=r.call(this,e,t);return"undefined"==typeof i?e:i}return e},VisitToArrayExpression:function(e,t){var n=this.Visit(e.source,t);return n!==e.source?i.Container.createToArrayExpression(n):e},VisitForEachExpression:function(e,t){var n=this.Visit(e.source,t);return n!==e.source?i.Container.createForEachExpression(n):e},VisitMemberInfoExpression:function(e,t){return e},VisitSingleExpression:function(e,t){var n=this.Visit(e.source,t);return n!==e.source?i.Container.createSingleExpression(n):e},VisitFirstExpression:function(e,t){var n=this.Visit(e.source,t);return n!==e.source?i.Container.createFirstExpression(n):e},VisitSomeExpression:function(e,t){var n=this.Visit(e.source,t);return n!==e.source?i.Container.createSomeExpression(n):e},VisitFindExpression:function(e,t){var n=this.Visit(e.source,t);return n!==e.source?i.Container.createFindExpression(n,e.params,e.subMember):e},VisitEveryExpression:function(e,t){var n=this.Visit(e.source,t);return n!==e.source?i.Container.createEveryExpression(n):e},VisitCountExpression:function(e,t){var n=this.Visit(e.source,t);return n!==e.source?i.Container.createCountExpression(n):e},VisitBatchDeleteExpression:function(e,t){var n=this.Visit(e.source,t);return n!==e.source?i.Container.createBatchDeleteExpression(n):e},VisitBatchExecuteQueryExpression:function(e,t){for(var n=e.members.map(function(e){return this.Visit(e,t)},this),r=!0,a=0;a<e.members.length;a++)r=r&&e.members[a]===n[a];return r?e:i.Container.createBatchExecuteQueryExpression(n)},VisitObjectLiteralExpression:function(e,t){for(var n=e.members.map(function(e){return this.Visit(e,t)},this),r=!0,a=0;a<e.members.length;a++)r=r&&e.members[a]===n[a];return r?e:i.Container.createObjectLiteralExpression(n)},VisitObjectFieldExpression:function(e,t){var n=this.Visit(e.expression,t);return e.expression!==n?i.Container.createObjectFieldExpression(e.fieldName,n):e},VisitIncludeExpression:function(e,t){var n=this.Visit(e.source,t);return n!==e.source?i.Container.createIncludeExpression(n,e.selector):e},VisitUnaryExpression:function(e,t){var n=this.Visit(e.operand,t);return e.operand!==n?i.Container.createUnaryExpression(n,e.operator,e.nodeType,e.resolution):e},VisitSimpleBinaryExpression:function(e,t){var n=this.Visit(e.left,t),r=this.Visit(e.right,t);return n!==e.left||r!==e.right?new a["default"].Expressions.SimpleBinaryExpression(n,r,e.nodeType,e.operator,e.type,e.resolution):e},VisitEntityContextExpression:function(e,t){return e},VisitCodeExpression:function(e,t){return e},VisitComplexTypeExpression:function(e,t){var n=this.Visit(e.source,t),r=this.Visit(e.selector,t);if(n!==e.source||r!==e.selector){var a=i.Container.createComplexTypeExpression(n,r);return a}return e},VisitEntityExpression:function(e,t){var n=this.Visit(e.source,t),r=this.Visit(e.selector,t);if(n!==e.source||r!==e.selector){var a=i.Container.createEntityExpression(n,r);return a}return e},VisitEntityFieldExpression:function(e,t){var n=this.Visit(e.source,t),r=this.Visit(e.selector,t);if(n!==e.source||r!==e.selector){var a=i.Container.createEntityFieldExpression(n,r);return a}return e},VisitEntityFieldOperationExpression:function(e,t){var n=this.Visit(e.source,t),r=this.Visit(e.operation,t),a=e.parameters.map(function(e){return this.Visit(e)},this),o=i.Container.createEntityFieldOperationExpression(n,r,a);return o},VisitParametricQueryExpression:function(e,t){var n=this.Visit(e.expression,t),r=e.parameters.map(function(e){return this.Visit(e)},this),a=i.Container.createParametricQueryExpression(n,r);return a},VisitEntitySetExpression:function(e,t){var n=this.Visit(e.source,t),r=this.Visit(e.selector,t);return n!==e.source||r!==e.selector?i.Container.createEntitySetExpression(n,r,e.params,e.instance):e},VisitInlineCountExpression:function(e,t){var n=this.Visit(e.source,t),r=this.Visit(e.selector,t);return n!==e.source||r!==e.selector?i.Container.createInlineCountExpression(n,r,e.params,e.instance):e},VisitFilterExpression:function(e,t){var n=this.Visit(e.source,t),r=this.Visit(e.selector,t);return n!==e.source||r!==e.selector?i.Container.createFilterExpression(n,r,e.params,e.instance):e},VisitProjectionExpression:function(e,t){var n=this.Visit(e.source,t),r=this.Visit(e.selector,t);if(n!==e.source||r!==e.selector){var a=i.Container.createProjectionExpression(n,r,e.params,e.instance);return a.projectionAs=e.projectionAs,a}return e},VisitOrderExpression:function(e,t){var n=this.Visit(e.source,t),r=this.Visit(e.selector,t);return n!==e.source||r!==e.selector?i.Container.createOrderExpression(n,r,e.nodeType):e},VisitPagingExpression:function(e,t){var n=this.Visit(e.source,t),r=this.Visit(e.amount,t);return n!==e.source||r!==e.amount?i.Container.createPagingExpression(n,r,e.nodeType):e}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],76:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.EntityFieldExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e,t){this.selector=t,this.source=e,(this.selector instanceof a["default"].Expressions.MemberInfoExpression||this.selector.name)&&(this.memberName=this.selector.name)},nodeType:{value:a["default"].Expressions.ExpressionType.EntityField}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],77:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.EntityFieldOperationExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e,t,n){this.source=e,this.operation=t,this.parameters=n},nodeType:{value:a["default"].Expressions.ExpressionType.EntityFieldOperation}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],78:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.EntitySetExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e,t,n,r){function o(){for(var t=e;t;){if(t instanceof a["default"].Expressions.EntityContextExpression)return t;t=t.source}}i.Guard.requireType("source",e,[a["default"].Expressions.EntityContextExpression,a["default"].Expressions.EntitySetExpression]),i.Guard.requireType("selector",e,[a["default"].Expressions.MemberInfoExpression,a["default"].Expressions.CodeExpression,a["default"].Expressions.ParametricQueryExpression]),this.source=e,this.selector=t,this.params=n,this.instance=r,this.storage_type={};var s=o();switch(!0){case this.source instanceof a["default"].Expressions.EntityContextExpression:i.Guard.requireType("selector",t,a["default"].Expressions.MemberInfoExpression),this.elementType=t.memberDefinition.elementType,this.storageModel=s.instance._storageModel.getStorageModel(this.elementType);break;case this.source instanceof a["default"].Expressions.EntityExpression:i.Guard.requireType("selector",t,a["default"].Expressions.AssociationInfoExpression),this.elementType=t.associationInfo.ToType,this.storageModel=s.instance._storageModel.getStorageModel(this.elementType);break;case this.source instanceof a["default"].Expressions.EntitySetExpression:t instanceof a["default"].Expressions.AssociationInfoExpression?(this.elementType=t.associationInfo.ToType,this.storageModel=s.instance._storageModel.getStorageModel(t.associationInfo.ToType)):(this.elementType=this.source.elementType,this.storageModel=this.source.storageModel);break;case this.source instanceof a["default"].Expressions.ServiceOperationExpression:this.elementType=this.source.elementType,this.storageModel=this.source.storageModel;break;case this.source instanceof a["default"].Expressions.FindExpression:this.elementType=this.source.resultType,this.storageModel=s.instance._storageModel.getStorageModel(this.elementType);break;default:i.Guard.raise("take and skip must be the last expressions in the chain!")}},getMemberDefinition:function(e){var t=this.elementType.getMemberDefinition(e);return t||i.Guard.raise(new i.Exception("Unknown member "+e+" on type "+this.entityType.name,"MemberNotFound")),t.storageModel=this.storageModel,t},instance:{enumerable:!1},nodeType:{value:a["default"].Expressions.ExpressionType.EntitySet,enumerable:!0}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],79:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.ExpressionMonitor",a["default"].Expressions.EntityExpressionVisitor,null,{constructor:function(e){this.Visit=function(t,n){var r,i=t;this.canVisit(t)&&(e.VisitExpressionNode&&e.VisitExpressionNode.apply(e,arguments),r="Visit"+t.getType().name,r in e&&(i=e[r].apply(e,arguments)));var o=arguments;if(i!==t&&(o=[i,n]),i=a["default"].Expressions.EntityExpressionVisitor.prototype.Visit.apply(this,o),o=[i,n],this.canVisit(i)){var s=i.getType().name;e.MonitorExpressionNode&&e.MonitorExpressionNode.apply(e,o),r="Monitor"+s,r in e&&e[r].apply(e,o),e.MutateExpressionNode&&e.MutateExpressionNode.apply(e,o),r="Mutate"+s,r in e&&(i=e[r].apply(e,o))}return i}}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],80:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.FilterExpression",a["default"].Expressions.EntitySetExpression,null,{constructor:function(e,t){this.resultType=a["default"].Array},nodeType:{value:a["default"].Expressions.ExpressionType.Filter,enumerable:!0}}),(0,i.$C)("$data.Expressions.InlineCountExpression",a["default"].Expressions.EntitySetExpression,null,{constructor:function(e,t){},nodeType:{value:a["default"].Expressions.ExpressionType.InlineCount,enumerable:!0}}),(0,i.$C)("$data.Expressions.BatchExecuteQueryExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e){this.members=e},nodeType:{value:a["default"].Expressions.ExpressionType.BatchExecuteQuery,enumerable:!0}}),(0,i.$C)("$data.Expressions.FrameOperator",a["default"].Expressions.ExpressionNode,null,{constructor:function(){this.isTerminated=!0}}),(0,i.$C)("$data.Expressions.CountExpression",a["default"].Expressions.FrameOperator,null,{constructor:function(e){this.source=e,this.resultType=a["default"].Integer},nodeType:{value:a["default"].Expressions.ExpressionType.Count,enumerable:!0}}),(0,i.$C)("$data.Expressions.SingleExpression",a["default"].Expressions.FrameOperator,null,{constructor:function(e){this.source=e,this.resultType=a["default"].Object},nodeType:{value:a["default"].Expressions.ExpressionType.Single,enumerable:!0}}),(0,i.$C)("$data.Expressions.FindExpression",a["default"].Expressions.FrameOperator,null,{constructor:function(e,t,n){this.source=e,this.params=t,this.subMember=n,this.resultType=a["default"].Object},nodeType:{value:a["default"].Expressions.ExpressionType.Find,enumerable:!0}}),(0,i.$C)("$data.Expressions.FirstExpression",a["default"].Expressions.FrameOperator,null,{constructor:function(e){this.source=e,this.resultType=a["default"].Object},nodeType:{value:a["default"].Expressions.ExpressionType.First,enumerable:!0}}),(0,i.$C)("$data.Expressions.ForEachExpression",a["default"].Expressions.FrameOperator,null,{constructor:function(e){this.source=e,this.resultType=a["default"].Array},nodeType:{value:a["default"].Expressions.ExpressionType.ForEach,enumerable:!0}}),(0,i.$C)("$data.Expressions.ToArrayExpression",a["default"].Expressions.FrameOperator,null,{constructor:function(e){this.source=e,this.resultType=a["default"].Array},nodeType:{value:a["default"].Expressions.ExpressionType.ToArray,enumerable:!0}}),(0,i.$C)("$data.Expressions.SomeExpression",a["default"].Expressions.FrameOperator,null,{constructor:function(e,t){this.source=e,this.selector=t,this.resultType=a["default"].Object},nodeType:{value:a["default"].Expressions.ExpressionType.Some,enumerable:!0}}),(0,i.$C)("$data.Expressions.EveryExpression",a["default"].Expressions.FrameOperator,null,{constructor:function(e,t){this.source=e,this.selector=t,this.resultType=a["default"].Object},nodeType:{value:a["default"].Expressions.ExpressionType.Every,enumerable:!0}}),(0,i.$C)("$data.Expressions.BatchDeleteExpression",a["default"].Expressions.FrameOperator,null,{constructor:function(e){this.source=e,this.resultType=a["default"].Integer},nodeType:{value:a["default"].Expressions.ExpressionType.BatchDelete,enumerable:!0}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],81:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.FrameOperationExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e,t,n){switch(this.source=e,this.operation=t,this.parameters=n,!0){case this.source instanceof a["default"].Expressions.EntitySetExpression:case this.source instanceof a["default"].Expressions.FrameOperationExpression:this.elementType=this.source.elementType,this.storageModel=this.source.storageModel}},nodeType:{value:a["default"].Expressions.ExpressionType.FrameOperation}}),(0,i.$C)("$data.Expressions.EntityFunctionOperationExpression",a["default"].Expressions.FrameOperationExpression,null,{nodeType:{value:a["default"].Expressions.ExpressionType.EntityFunctionOperation}}),(0,i.$C)("$data.Expressions.ContextFunctionOperationExpression",a["default"].Expressions.FrameOperationExpression,null,{nodeType:{value:a["default"].Expressions.ExpressionType.ContextFunctionOperation}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],82:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.IncludeExpression",a["default"].Expressions.EntitySetExpression,null,{constructor:function(e,t){},nodeType:{value:a["default"].Expressions.ExpressionType.Include,writable:!0},toString:function(e){var t="unimplemented";return t}},null),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],83:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.MemberInfoExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e){this.memberDefinition=e,this.memberName=e.name},nodeType:{value:a["default"].Expressions.ExpressionType.MemberInfo,enumerable:!0}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],84:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.OrderExpression",a["default"].Expressions.EntitySetExpression,null,{constructor:function(e,t,n){this.nodeType=n},nodeType:{value:a["default"].Expressions.ExpressionType.OrderBy,writable:!0},toString:function(e){var t="unimplemented";return t}},null),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],85:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.ParametricQueryExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e,t){this.expression=e,this.parameters=t||[]},nodeType:{value:a["default"].Expressions.ExpressionType.ParametricQuery,enumerable:!0}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],86:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.ProjectionExpression",a["default"].Expressions.EntitySetExpression,null,{constructor:function(e,t,n,r){},nodeType:{value:a["default"].Expressions.ExpressionType.Projection,enumerable:!0}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],87:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.QueryExpressionCreator",a["default"].Expressions.EntityExpressionVisitor,null,{constructor:function(e){i.Guard.requireValue("scopeContext",e),this.scopeContext=e},VisitEntitySetExpression:function(e,t){return e.source instanceof a["default"].Expressions.EntityContextExpression&&this.lambdaTypes.push(e),e},VisitServiceOperationExpression:function(e,t){return e.source instanceof a["default"].Expressions.EntityContextExpression&&this.lambdaTypes.push(e),e},VisitCodeExpression:function(e,t){var n=e.source.toString(),r=i.Container.createCodeParser(this.scopeContext).createExpression(n);this.scopeContext.log({event:"JSCodeExpression",data:r});var o=i.Container.createConstantValueResolver(e.parameters,a["default"].__global,this.scopeContext),s=i.Container.createParameterResolverVisitor();r=s.Visit(r,o),this.scopeContext.log({event:"JSCodeExpressionResolved",data:r});var u=i.Container.createCodeToEntityConverter(this.scopeContext),l=u.Visit(r,{queryParameters:e.parameters,lambdaParameters:this.lambdaTypes,frameType:t.frameType}),p=i.Container.createParametricQueryExpression(l,u.parameters);return this.scopeContext.log({event:"EntityExpression",data:l}),p},VisitFilterExpression:function(e,t){var n=this.Visit(e.source,t);t=t||{},t.frameType=e.getType();var r=this.Visit(e.selector,t);return n!==e.source||r!==e.selector?i.Container.createFilterExpression(n,r,e.params,e.instance):e},VisitInlineCountExpression:function(e,t){var n=this.Visit(e.source,t);t=t||{},t.frameType=e.getType();var r=this.Visit(e.selector,t);return n!==e.source||r!==e.selector?i.Container.createInlineCountExpression(n,r,e.params,e.instance):e},VisitProjectionExpression:function(e,t){var n=this.Visit(e.source,t);t=t||{},t.frameType=e.getType();var r=this.Visit(e.selector,t);if(n!==e.source||r!==e.selector){var a=i.Container.createProjectionExpression(n,r,e.params,e.instance);return a.projectionAs=e.projectionAs,a}return e},VisitOrderExpression:function(e,t){var n=this.Visit(e.source,t);t=t||{},t.frameType=e.getType();var r=this.Visit(e.selector,t);return n!==e.source||r!==e.selector?i.Container.createOrderExpression(n,r,e.nodeType):e},VisitIncludeExpression:function(e,t){var n=this.Visit(e.source,t);t=t||{},t.frameType=e.getType();var r=this.Visit(e.selector,t);return n!==e.source||r!==e.selector?i.Container.createIncludeExpression(n,r):e}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],88:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.QueryParameterExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e,t,n,r){this.name=e,this.index=t,this.value=n,this.type=i.Container.getTypeName(n)},nodeType:{value:a["default"].Expressions.ExpressionType.QueryParameter,writable:!1}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],89:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.RepresentationExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e){},getMemberDefinition:function(e){return this.entityType.getMemberDefinition(e)},nodeType:{value:a["default"].Expressions.ExpressionType.Entity}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],90:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.ServiceOperationExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e,t,n,r,o){function s(){for(var t=e;t;){if(t instanceof a["default"].Expressions.EntityContextExpression)return t;t=t.source}}i.Guard.requireType("source",e,[a["default"].Expressions.EntityContextExpression]),i.Guard.requireType("selector",e,[a["default"].Expressions.MemberInfoExpression]),this.source=e,this.selector=t,this.params=n,this.cfg=r,this.boundItem=o;var u=s();switch(!0){case this.source instanceof a["default"].Expressions.EntityContextExpression:this.elementType=r.elementType?i.Container.resolveType(r.elementType):this.elementType?i.Container.resolveType(r.returnType):null,this.storageModel=r.elementType?u.instance._storageModel.getStorageModel(i.Container.resolveType(r.elementType)):null;break;default:i.Guard.raise("Unknown source type for EntitySetExpression: "+this.source.getType().name)}},nodeType:{value:a["default"].Expressions.ExpressionType.ServiceOperation,enumerable:!0}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],91:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}var i=e("../../TypeSystem/index.js"),a=r(i);a["default"].Class.define("$data.Expressions.ExpressionBuilder",null,null,{constructor:function(e){this.context=e},_isLambdaParam:function(e){for(var t=this.context.lambdaParams,n=0;n<t.length;n++)if(t[n]==e)return!0;return!1},_isParam:function(e){return void 0!=this.context.paramContext[e]},_isParamRoot:function(e){return this.context.paramsName==e},Build:function(e,t){var n;switch(e.arity){case"infix":"("==e.value?n=this.BuildMethodCall(e,t):"."==e.value?n=this.BuildMember(e,t):["===","==","!==","!=",">","<",">=","<="].indexOf(e.value)>=0?n=this.BuildEquality(e,t):["&&","||"].indexOf(e.value)>=0?n=this.BuildBinary(e,t):["+","-","*","/","%"].indexOf(e.value)>=0?n=this.BuildBinary(e,t):"["==e.value?n=this.BuildArrayAccess(e,t):i.Guard.raise("Value of infix node isn't implemented: "+e.value);break;case"prefix":["+","-","!"].indexOf(e.value)>=0?n=this.BuildUnary(e,t):["++","--"].indexOf(e.value)>=0?n=this.BuildIncDec(e,t):"{"==e.value?n=this.BuildNewExpression(e,t):i.Guard.raise("Value of prefix node isn't implemented: "+e.value);break;case"suffix":["++","--"].indexOf(e.value)>=0?n=this.BuildIncDec(e,t):i.Guard.raise("Value of suffix node isn't implemented: "+e.value);break;case"string":case"number":n=this.BuildLiteral(e,t);break;case"ternary":"?"==e.value?n=this.BuildDecision(e,t):i.Guard.raise("Value of ternary node isn't implemented: "+e.value);break;case null:case void 0:n="boolean"!=e.type||"true"!=e.value&&"false"!=e.value?this.BuildVariable(e,t):this.BuildBoolLiteral(e,t);break;default:i.Guard.raise("Arity isn't implemented: "+e.arity);
}return n},BuildNewExpression:function(e,t){for(var n=a["default"].Expressions.ExpressionNodeTypes.NewExpressionNode.create(!0,[]),r=e.first,i=0;i<r.length;i++)n.values.push(this.Build(r[i],n));return n},BuildLiteral:function(e,t){return a["default"].Expressions.ExpressionNodeTypes.LiteralExpressionNode.create(!0,e.arity,e.value)},BuildBoolLiteral:function(e,t){return a["default"].Expressions.ExpressionNodeTypes.LiteralExpressionNode.create(!0,e.type,"true"==e.value)},BuildVariable:function(e,t){if(!e.first){if(t.type==MEMBERACCESS){var n;n=this._isLambdaParam(e.value)?"LAMBDAPARAM":this._isParamRoot(e.value)?"PARAMETERROOT":this._isParam(e.value)?"PARAMETER":"PROPERTY"}else this._isLambdaParam(e.value)?n="LAMBDAPARAM":this._isParamRoot(e.value)?n="PARAMETERROOT":this._isParam(e.value)?n="PARAMETER":void 0!=a["default"].__global[e.value]?n="GLOBALOBJECT":i.Guard.raise(new i.Exception("Unknown variable in '"+this.context.operation+"' operation. The variable isn't referenced in the parameter context and it's not a global variable: '"+e.value+"'.","InvalidOperation",{operationName:this.context.operation,missingParameterName:e.value}));return a["default"].Expressions.ExpressionNodeTypes.VariableExpressionNode.create(!0,e.value,n)}var r=a["default"].Expressions.ExpressionNodeTypes.LiteralExpressionNode.create(!0,"name",e.value),o=a["default"].Expressions.ExpressionNodeTypes.JsonAssignExpressionNode.create(!0),s=this.Build(e.first,o);return o.left=r,o.right=s,r.JSONASSIGN=!0,s.JSONASSIGN=!0,o},BuildMember:function(e,t){if("."!=e.value||"infix"!=e.arity)return"string"==e.type?a["default"].Expressions.ExpressionNodeTypes.LiteralExpressionNode.create(!0,e.arity,e.value):a["default"].Expressions.ExpressionNodeTypes.MemberAccessExpressionNode.create(!0,null,e.value);var n=a["default"].Expressions.ExpressionNodeTypes.MemberAccessExpressionNode.create(!0),r=this.Build(e.first,n),i=this.Build(e.second,n);return n.expression=r,n.member=i,n},BuildUnary:function(e,t){var n=a["default"].Expressions.ExpressionNodeTypes.UnaryExpressionNode.create(!0,e.value);return n.operand=this.Build(e.first,n),n},BuildIncDec:function(e,t){var n=a["default"].Expressions.ExpressionNodeTypes.IncDecExpressionNode.create(!0,e.value,null,"suffix"==e.arity);return n.operand=this.Build(e.first,n),n},BuildBinary:function(e,t){e.first||i.Guard.raise("Cannot build binary: node.first is null"),e.second||i.Guard.raise("Cannot build binary: node.second is null");var n=a["default"].Expressions.ExpressionNodeTypes.BinaryExpressionNode.create(!0,e.value);return n.left=this.Build(e.first,n),n.right=this.Build(e.second,n),n},BuildEquality:function(e,t){var n=a["default"].Expressions.ExpressionNodeTypes.EqualityExpressionNode.create(!0,e.value);return n.left=this.Build(e.first,n),n.right=this.Build(e.second,n),n},BuildDecision:function(e,t){var n=a["default"].Expressions.ExpressionNodeTypes.DecisionExpressionNode.create(!0);return n.expression=this.Build(e.first,n),n.left=this.Build(e.second,n),n.right=this.Build(e.third,n),n},BuildMethodCall:function(e,t){var n=a["default"].Expressions.ExpressionNodeTypes.MethodcallExpressionNode.create(!0);"function"==e.first.type?(n.object=this.Build(e.first.first,n),n.method=e.first.second.value):(null!=e.first.type&&i.Guard.raise("Cannot build MethodCall because type is "+type),n.object=null,n.method=e.first.value);for(var r=e.second,o=[],s=0;s<r.length;s++){var u=r[s];o[s]=this.Build(u,n)}return n.args=o,n},BuildArrayAccess:function(e,t){var n=a["default"].Expressions.ExpressionNodeTypes.ArrayAccessExpressionNode.create(!0);return n.array=this.Build(e.first,n),n.index=this.Build(e.second,n),n}},null)},{"../../TypeSystem/index.js":44}],92:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function i(e){return JSON.stringify(e,null,"	")}Object.defineProperty(n,"__esModule",{value:!0});var a=e("../../TypeSystem/index.js"),o=r(a);o["default"].Class.define("$data.Expressions.ExpressionType",null,null,{},{Constant:"constant",Variable:"variable",MemberAccess:"memberAccess",Call:"call",Equal:"equal",NotEqual:"notEqual",EqualTyped:"equalTyped",NotEqualTyped:"notEqualTyped",GreaterThen:"greaterThan",LessThen:"lessThan",GreaterThenOrEqual:"greaterThanOrEqual",LessThenOrEqual:"lessThenOrEqual",Or:"or",OrBitwise:"orBitwise",And:"and",AndBitwise:"andBitwise",In:"in",Add:"add",Divide:"divide",Multiply:"multiply",Subtract:"subtract",Modulo:"modulo",ArrayIndex:"arrayIndex",New:"new",Positive:"positive",Negative:"negative",Increment:"increment",Decrement:"decrement",Not:"not",This:"this",LambdaParameterReference:"lambdaParameterReference",LambdaParameter:"lambdaParameter",ParameterReference:"parameterReference",Parameter:"parameter",ArrayLiteral:"arrayLiteral",ObjectLiteral:"objectLiteral",ObjectField:"objectField",Function:"Function",Unknown:"UNKNOWN",EntitySet:"EntitySet",ServiceOperation:"ServiceOperation",EntityField:"EntityField",EntityContext:"EntityContext",Entity:"Entity",Filter:"Filter",First:"First",Count:"Count",InlineCount:"InlineCount",BatchExecuteQuery:"BatchExecuteQuery",Single:"Single",Find:"Find",Some:"Some",Every:"Every",ToArray:"ToArray",BatchDelete:"BatchDelete",ForEach:"ForEach",Projection:"Projection",EntityMember:"EntityMember",EntityFieldOperation:"EntityFieldOperation",FrameOperation:"FrameOperation",EntityFunctionOperation:"EntityFunctionOperation",ContextFunctionOperation:"ContextFunctionOperation",EntityBinary:"EntityBinary",Code:"Code",ParametricQuery:"ParametricQuery",MemberInfo:"MemberInfo",QueryParameter:"QueryParameter",ComplexEntityField:"ComplexEntityField",Take:"Take",Skip:"Skip",OrderBy:"OrderBy",OrderByDescending:"OrderByDescending",Include:"Include",IndexedPhysicalAnd:"IndexedDBPhysicalAndFilterExpression",IndexedLogicalAnd:"IndexedDBLogicalAndFilterExpression",IndexedLogicalOr:"IndexedDBLogicalOrFilterExpression",IndexedLogicalIn:"IndexedDBLogicalInFilterExpression"}),o["default"].BinaryOperator=function(){},o["default"].binaryOperators=[{operator:"==",expressionType:o["default"].Expressions.ExpressionType.Equal,type:"boolean",implementation:function(e,t){return e==t}},{operator:"===",expressionType:o["default"].Expressions.ExpressionType.EqualTyped,type:"boolean",implementation:function(e,t){return e===t}},{operator:"!=",expressionType:o["default"].Expressions.ExpressionType.NotEqual,type:"boolean",implementation:function(e,t){return e!=t}},{operator:"!==",expressionType:o["default"].Expressions.ExpressionType.NotEqualTyped,type:"boolean",implementation:function(e,t){return e!==t}},{operator:">",expressionType:o["default"].Expressions.ExpressionType.GreaterThen,type:"boolean",implementation:function(e,t){return e>t}},{operator:">=",expressionType:o["default"].Expressions.ExpressionType.GreaterThenOrEqual,type:"boolean",implementation:function(e,t){return e>=t}},{operator:"<=",expressionType:o["default"].Expressions.ExpressionType.LessThenOrEqual,type:"boolean",implementation:function(e,t){return t>=e}},{operator:"<",expressionType:o["default"].Expressions.ExpressionType.LessThen,type:"boolean",implementation:function(e,t){return t>e}},{operator:"&&",expressionType:o["default"].Expressions.ExpressionType.And,type:"boolean",implementation:function(e,t){return e&&t}},{operator:"||",expressionType:o["default"].Expressions.ExpressionType.Or,type:"boolean",implementation:function(e,t){return e||t}},{operator:"&",expressionType:o["default"].Expressions.ExpressionType.AndBitwise,type:"number",implementation:function(e,t){return e&t}},{operator:"|",expressionType:o["default"].Expressions.ExpressionType.OrBitwise,type:"number",implementation:function(e,t){return e|t}},{operator:"+",expressionType:o["default"].Expressions.ExpressionType.Add,type:"number",implementation:function(e,t){return e+t}},{operator:"-",expressionType:o["default"].Expressions.ExpressionType.Subtract,type:"number",implementation:function(e,t){return e-t}},{operator:"/",expressionType:o["default"].Expressions.ExpressionType.Divide,type:"number",implementation:function(e,t){return e/t}},{operator:"%",expressionType:o["default"].Expressions.ExpressionType.Modulo,type:"number",implementation:function(e,t){return e%t}},{operator:"*",expressionType:o["default"].Expressions.ExpressionType.Multiply,type:"number",implementation:function(e,t){return e*t}},{operator:"[",expressionType:o["default"].Expressions.ExpressionType.ArrayIndex,type:"number",implementation:function(e,t){return e[t]}},{operator:"in",expressionType:o["default"].Expressions.ExpressionType.In,type:"boolean",implementation:function(e,t){return e in t}}],o["default"].binaryOperators.resolve=function(e){var t=o["default"].binaryOperators.filter(function(t){return t.operator==e});return t.length>0?e:void 0},o["default"].binaryOperators.contains=function(e){return o["default"].binaryOperators.some(function(t){return t.operator==e})},o["default"].binaryOperators.getOperator=function(e){var t=o["default"].binaryOperators.filter(function(t){return t.operator==e});return t.length<1&&a.Guard.raise("Unknown operator: "+e),t[0]},o["default"].unaryOperators=[{operator:"+",arity:"prefix",expressionType:o["default"].Expressions.ExpressionType.Positive,type:"number",implementation:function(e){return+e}},{operator:"-",arity:"prefix",expressionType:o["default"].Expressions.ExpressionType.Negative,type:"number",implementation:function(e){return-e}},{operator:"++",arity:"prefix",expressionType:o["default"].Expressions.ExpressionType.Increment,type:"number",implementation:function(e){return++e}},{operator:"--",arity:"prefix",expressionType:o["default"].Expressions.ExpressionType.Decrement,type:"number",implementation:function(e){return--e}},{operator:"++",arity:"suffix",expressionType:o["default"].Expressions.ExpressionType.Increment,type:"number",implementation:function(e){return e++}},{operator:"!",arity:"prefix",expressionType:o["default"].Expressions.ExpressionType.Not,type:"boolean",implementation:function(e){return!e}},{operator:"--",arity:"suffix",expressionType:o["default"].Expressions.ExpressionType.Decrement,type:"number",implementation:function(e){return e--}}],o["default"].unaryOperators.resolve=function(e){var t=o["default"].unaryOperators.filter(function(t){return t.operator==e});return t.length>0?e:void 0},o["default"].unaryOperators.contains=function(e){return o["default"].unaryOperators.some(function(t){return t.operator==e})},o["default"].unaryOperators.getOperator=function(e,t){var n=o["default"].unaryOperators.filter(function(n){return n.operator==e&&(!t||n.arity==t)});return n.length<1&&a.Guard.raise("Unknown operator: "+e),n[0]},o["default"].timeIt=function(e,t){t=t||1,console.time("!");for(var n=0;t>n;n++)e();console.timeEnd("!")},o["default"].Expressions.OperatorTypes={UNARY:"UNARY",INCDEC:"INCDEC",DECISION:"DECISION",METHODCALL:"METHODCALL",NEW:"NEW",JSONASSIGN:"JSONASSIGN",ARRAYACCESS:"ARRAYACCESS",UNKNOWN:"UNKNOWN"},o["default"].executable=!0,(0,a.$C)("$data.Expressions.ExpressionNode",null,null,{constructor:function(){this.expressionType=this.constructor},toJSON:function(){var e=(0,o["default"])("$data.Expressions.ExpressionNode").prototype,t=e.toJSON;delete e.toJSON;var n=JSON.parse(JSON.stringify(this));return n.expressionType=a.Container.resolveName(this._expressionType),e.toJSON=t,n},getJSON:function(){return i(this)},expressionType:{set:function(e){"string"==typeof e&&(e=a.Container.resolveType(e)),this._expressionType=e},get:function(e){return this._expressionType},enumerable:!0},nodeType:{value:o["default"].Expressions.ExpressionType.Unknown,writable:!1},type:{},isTerminated:{value:!1},toString:function(){return this.value}},null),(0,a.$C)("$data.Expressions.UnaryExpression",o["default"].Expressions.ExpressionNode,null,{constructor:function(e,t,n,r){this.operand=e,this.operator=t,this.nodeType=n,this.resolution=r},operator:{value:void 0,writable:!0},operand:{value:void 0,writable:!0},nodeType:{value:void 0,writable:!0}}),n["default"]=o["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],93:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.FunctionExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e,t,n){this.parameters=t||[],this.name=e,this.body=n},toString:function(e){var t=this.parameters.map(function(e){return e.toString()});t=t.join(",");var n=this.body?this.body.toString(e):"";return"function "+this.name+"("+t+") { "+n+"}"},nodeType:{value:a["default"].Expressions.ExpressionType.Function,writable:!0},parameters:{value:void 0,dataType:Array,elementType:a["default"].Expressions.ParameterExpression},body:{value:void 0,dataType:a["default"].Expressions.ExpressionNode},type:{}},null),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],94:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.ObjectFieldExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e,t){this.fieldName=e,this.expression=t},nodeType:{value:a["default"].Expressions.ExpressionType.ObjectField,writable:!0},toString:function(e){var t="unimplemented";return t}},null),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],95:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.ObjectLiteralExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e){this.members=e},nodeType:{value:a["default"].Expressions.ExpressionType.ObjectLiteral,writable:!0},toString:function(e){var t="unimplemented";return t},implementation:{get:function(){return function(e){var t={};return e.forEach(function(e){t[e.name]=e.value}),t}},set:function(){}}},null),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],96:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.PagingExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e,t,n){this.source=e,this.amount=t,this.nodeType=n},nodeType:{value:a["default"].Expressions.ExpressionType.Unknown,writable:!0},toString:function(e){var t="unimplemented";return t}},null),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],97:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.ParameterExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e,t,n){this.nodeType=n||a["default"].Expressions.ExpressionType.Parameter,this.name=e,this.type=t||"unknown"},owningFunction:{value:void 0,enumerable:!1},nodeType:{value:a["default"].Expressions.ExpressionType.Parameter,writable:!0},name:{value:void 0,dataType:String,writable:!0},type:{value:void 0,dataType:"object",writable:!0},toString:function(e){var t;return t=e?this.type+" ":"",t+=this.name}},null),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],98:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.PropertyExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e,t){this.expression=e,this.member=t,this.type=t.dataType},nodeType:{value:a["default"].Expressions.ExpressionType.MemberAccess},expression:{value:void 0,dataType:a["default"].Expressions.ExpressionNode,writable:!0},implementation:{get:function(){return function(e,t){return void 0===e[t]&&i.Guard.raise(new i.Exception("Parameter '"+t+"' not found in context","Property not found!")),e[t]}},set:function(){}},member:{value:void 0,dataType:a["default"].MemberDefinition,writable:!0},type:{value:void 0,writable:!0},toString:function(e){return this.expression.toString()+"."+this.member.toString()}}),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],99:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.SimpleBinaryExpression",a["default"].Expressions.ExpressionNode,null,{constructor:function(e,t,n,r,i,a){this.left=e,this.right=t,this.nodeType=n,this.operator=r,this.type=i,this.resolution=a},implementation:{get:function(){return a["default"].binaryOperators.getOperator(this.operator).implementation},set:function(){}},type:{value:"number",writable:!0}}),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],100:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.ThisExpression",a["default"].Expressions.ExpressionNode,null,{nodeType:{value:a["default"].Expressions.ExpressionType.This}}),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],101:[function(_dereq_,module,exports){"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},_index=_dereq_("../../../TypeSystem/index.js"),_index2=_interopRequireDefault(_index);_index2["default"].Class.define("$data.Expressions.ExecutorVisitor",_index2["default"].Expressions.ExpTreeVisitor,null,{VisitVariable:function(e,t){if(!e.executable)return e;var n=e.name==t.paramsName?t.paramContext:_index2["default"].__global[e.name];return"undefined"==typeof n&&_index.Guard.raise(new _index.Exception("Unknown variable in '"+t.operation+"' operation. The variable isn't referenced in the parameter context and it's not a global variable: '"+e.name+"'.","InvalidOperation",{operationName:t.operation,missingParameterName:e.name})),_index2["default"].Expressions.ExpressionNodeTypes.LiteralExpressionNode.create(!0,"undefined"==typeof n?"undefined":_typeof(n),n)},VisitMember:function(e,t){if(!e.executable)return e;for(var n,r=this.GetMemberChain(e),i=0;i<r.length;i++)n=0==i?t.paramContext:n[r[i].name];return _index2["default"].Expressions.ExpressionNodeTypes.LiteralExpressionNode.create(!0,"undefined"==typeof n?"undefined":_typeof(n),n)},VisitUnary:function VisitUnary(eNode,context){var operand=this.Visit(eNode.operand,context);if(operand!==eNode.operand&&(eNode=_index2["default"].Expressions.ExpressionNodeTypes.UnaryExpressionNode.create(eNode.executable,eNode.operator,operand)),!eNode.executable)return eNode;var value,src,operandValue="string"==operand.valueType?"'"+operand.value+"'":operand.value;return src="value = "+eNode.operator+" "+operandValue,eval(src),_index2["default"].Expressions.ExpressionNodeTypes.LiteralExpressionNode.create(!0,"undefined"==typeof value?"undefined":_typeof(value),value)},VisitIncDec:function(e,t){var n=this.Visit(e.operand,t);if(n!==e.operand&&(e=_index2["default"].Expressions.ExpressionNodeTypes.IncDecExpressionNode.create(e.executable,e.operator,n,e.suffix)),!e.executable)return e;var r;return r=e.suffix?"++"==e.operator?n.value++:n.value--:"++"==e.operator?++n.value:--n.value,_index2["default"].Expressions.ExpressionNodeTypes.LiteralExpressionNode.create(!0,"undefined"==typeof r?"undefined":_typeof(r),r)},VisitBinary:function VisitBinary(eNode,context){var left=this.Visit(eNode.left,context),right=this.Visit(eNode.right,context);if(left===eNode.left&&right===eNode.right||(eNode=_index2["default"].Expressions.ExpressionNodeTypes.BinaryExpressionNode.create(eNode.executable,eNode.operator,left,right)),!eNode.executable)return eNode;var value,src,leftValue="string"==left.valueType?"'"+left.value+"'":left.value,rightValue="string"==right.valueType?"'"+right.value+"'":right.value;return src="value = "+leftValue+" "+eNode.operator+" "+rightValue,eval(src),_index2["default"].Expressions.ExpressionNodeTypes.LiteralExpressionNode.create(!0,"undefined"==typeof value?"undefined":_typeof(value),value)},VisitEquality:function VisitEquality(eNode,context){var left=this.Visit(eNode.left,context),right=this.Visit(eNode.right,context);if(left===eNode.left&&right===eNode.right||(eNode=_index2["default"].Expressions.ExpressionNodeTypes.EqualityExpressionNode.create(eNode.executable,eNode.operator,left,right)),!eNode.executable)return eNode;var value,src,leftValue="string"==left.valueType?"'"+left.value+"'":left.value,rightValue="string"==right.valueType?"'"+right.value+"'":right.value;return src="value = "+leftValue+" "+eNode.operator+" "+rightValue,eval(src),_index2["default"].Expressions.ExpressionNodeTypes.LiteralExpressionNode.create(!0,"undefined"==typeof value?"undefined":_typeof(value),value)},VisitDecision:function(e,t){var n=this.Visit(e.expression,t),r=this.Visit(e.left,t),i=this.Visit(e.right,t);if(n===e.expression&&r===e.left&&i===e.right||(e=_index2["default"].Expressions.ExpressionNodeTypes.DecisionExpressionNode.create(e.executable,n,r,i)),!e.executable)return e;var a=n.value?r.value:i.value;return _index2["default"].Expressions.ExpressionNodeTypes.LiteralExpressionNode.create(!0,"undefined"==typeof a?"undefined":_typeof(a),a)},VisitMethodCall:function VisitMethodCall(eNode,context){var object=eNode.object?this.Visit(eNode.object,context):null,args=this.VisitArray(eNode.args,context);if(object===eNode.object&&args==eNode.args||(eNode=_index2["default"].Expressions.ExpressionNodeTypes.MethodcallExpressionNode.create(eNode.executable,object,eNode.method,args)),!eNode.executable)return eNode;for(var a=[],i=0;i<args.length;i++){var arg=args[i],t=_typeof(arg.value);a.push("string"==t?"'"+arg.value+"'":arg.value)}var value,src=object?"value = object.value[eNode.method]("+a.join(",")+");":"value = "+eNode.method+"("+a.join(",")+");";return eval(src),_index2["default"].Expressions.ExpressionNodeTypes.LiteralExpressionNode.create(!0,"undefined"==typeof value?"undefined":_typeof(value),value)},VisitArrayAccess:function(e,t){var n=this.Visit(e.array,t),r=this.Visit(e.index,t),i=n.value[r.value];return _index2["default"].Expressions.ExpressionNodeTypes.LiteralExpressionNode.create(!0,"undefined"==typeof i?"undefined":_typeof(i),i)}},null),exports["default"]=_index2["default"],module.exports=exports["default"]},{"../../../TypeSystem/index.js":44}],102:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}var i=e("../../../TypeSystem/index.js"),a=r(i);a["default"].Class.define("$data.Expressions.ExpTreeVisitor",null,null,{constructor:function(){this._deep=0},Visit:function(e,t){this._deep=this._deep+1;var n=null;switch(e.type){case LITERAL:n=this.VisitLiteral(e,t);break;case VARIABLE:n=this.VisitVariable(e,t);break;case MEMBERACCESS:n=this.VisitMember(e,t);break;case BINARY:n=this.VisitBinary(e,t);break;case UNARY:n=this.VisitUnary(e,t);break;case INCDEC:n=this.VisitIncDec(e,t);break;case EQUALITY:n=this.VisitEquality(e,t);break;case DECISION:n=this.VisitDecision(e,t);break;case METHODCALL:n=this.VisitMethodCall(e,t);break;case NEW:n=this.VisitNew(e,t);break;case JSONASSIGN:n=this.VisitJsonAssign(e,t);break;case ARRAYACCESS:n=this.VisitArrayAccess(e,t);break;default:i.Guard.raise("Type isn't implemented: "+e.type)}return this._deep=this._deep-1,n},VisitLiteral:function(e,t){return e},VisitVariable:function(e,t){return e},VisitMember:function(e,t){var n=this.Visit(e.expression,t),r=this.Visit(e.member,t);return n===e.expression&&r===e.member?e:a["default"].Expressions.ExpressionNodeTypes.MemberAccessExpressionNode.create(e.executable,n,r)},VisitBinary:function(e,t){var n=this.Visit(e.left,t),r=this.Visit(e.right,t);return n===e.left&&r===e.right?e:a["default"].Expressions.ExpressionNodeTypes.BinaryExpressionNode.create(e.executable,e.operator,n,r)},VisitUnary:function(e,t){var n=this.Visit(e.operand,t);return n===e.operand?e:a["default"].Expressions.ExpressionNodeTypes.UnaryExpressionNode.create(e.executable,e.operator,n)},VisitIncDec:function(e,t){var n=this.Visit(e.operand,t);return n===e.operand?e:a["default"].Expressions.ExpressionNodeTypes.IncDecExpressionNode.create(e.executable,e.operator,n,e.suffix)},VisitEquality:function(e,t){var n=this.Visit(e.left,t),r=this.Visit(e.right,t);return n===e.left&&r===e.right?e:a["default"].Expressions.ExpressionNodeTypes.EqualityExpressionNode.create(e.executable,e.operator,n,r)},VisitDecision:function(e,t){var n=this.Visit(e.expression,t),r=this.Visit(e.left,t),i=this.Visit(e.right,t);return n===e.expression&&r===e.left&&i===e.right?e:a["default"].Expressions.ExpressionNodeTypes.DecisionExpressionNode.create(e.executable,n,r,i)},VisitMethodCall:function(e,t){var n=e.object?this.Visit(e.object,t):null,r=this.VisitArray(e.args,t);return n===e.object&&r===e.args?e:a["default"].Expressions.ExpressionNodeTypes.MethodcallExpressionNode.create(e.executable,n,e.method,r)},VisitNew:function(e,t){var n=this.VisitArray(e.values,t);return n===e.values?e:a["default"].Expressions.ExpressionNodeTypes.NewExpressionNode.create(!0,n)},VisitJsonAssign:function(e,t){var n=this.Visit(e.left,t),r=this.Visit(e.right,t);return n===e.left&&r===e.right?e:(n.JSONASSIGN=!0,r.JSONASSIGN=!0,a["default"].Expressions.ExpressionNodeTypes.JsonAssignExpressionNode.create(!0,n,r))},VisitArrayAccess:function(e,t){var n=this.Visit(e.array,t),r=this.Visit(e.index,t);return n===e.array&&r===e.index?e:a["default"].Expressions.ExpressionNodeTypes.ArrayAccessExpressionNode.create(!0,n,r)},VisitArray:function(e,t){for(var n=[],r=!0,i=0;i<e.length;i++)n[i]=this.Visit(e[i],t),r=r&&n[i]===e[i];return r?e:n},GetMemberChain:function(e,t){if(e.expression.type==MEMBERACCESS){var n=this.GetMemberChain(e.expression,t);return n.push(e.member),n}return[e.expression,e.member]}},{})},{"../../../TypeSystem/index.js":44}],103:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.ExpressionVisitor",null,null,{constructor:function(){this._deep=0},Visit:function(e,t){if(!e)return e;var n=null;switch(e.expressionType){case a["default"].Expressions.ParameterExpression:n=this.VisitParameter(e,t);break;case a["default"].Expressions.ConstantExpression:n=this.VisitConstant(e,t);break;case a["default"].Expressions.FunctionExpression:n=this.VisitFunction(e,t);break;case a["default"].Expressions.CallExpression:n=this.VisitCall(e,t);break;case a["default"].Expressions.SimpleBinaryExpression:n=this.VisitBinary(e,t);break;case a["default"].Expressions.PropertyExpression:n=this.VisitProperty(e,t);break;case a["default"].Expressions.ThisExpression:a["default"].defaults.parameterResolutionCompatibility?n=this.VisitThis(e,t):i.Guard.raise("Keyword 'this' is not allowed. You should get value from parameter. (it, p1) => it.Title == p1");break;case a["default"].Expressions.ObjectLiteralExpression:n=this.VisitObjectLiteral(e,t);break;case a["default"].Expressions.ObjectFieldExpression:n=this.VisitObjectField(e,t);break;case a["default"].Expressions.ArrayLiteralExpression:n=this.VisitArrayLiteral(e,t);break;case a["default"].Expressions.UnaryExpression:n=this.VisitUnary(e,t);break;case a["default"].Expressions.EntityContextExpression:n=this.VisitEntityContext(e,t)}return this._deep=this._deep-1,n},VisitArrayLiteral:function(e,t){var n=this,r=e.items.map(function(e){return n.Visit(e,t)}),a=i.Container.createArrayLiteralExpression(r);return a},VisitObjectLiteral:function(e,t){var n=this,r=e.members.map(function(e){return n.Visit(e,t)}),a=i.Container.createObjectLiteralExpression(r);return a},VisitObjectField:function(e,t){var n=this.Visit(e.expression,t),r=i.Container.createObjectFieldExpression(e.fieldName,n);return r},VisitThis:function(e,t){return e},VisitCall:function(e,t){var n=e.args.map(function(e){return this.Visit(e,t)},this),r=this.Visit(e.expression,t),i=this.Visit(e.member,t);return new a["default"].Expressions.CallExpression(r,i,n)},VisitParameter:function(e,t){return e},VisitConstant:function(e,t){return e},VisitFunction:function(e,t){var n=this,r=e.parameters.map(function(e,r){return n.Visit(e,t)}),i=n.Visit(e.body,t),o=new a["default"].Expressions.FunctionExpression(e.name,r,i);return o},VisitBinary:function(e,t){var n=this.Visit(e.left,t),r=this.Visit(e.right,t);return new a["default"].Expressions.SimpleBinaryExpression(n,r,e.nodeType,e.operator,e.type)},VisitProperty:function(e,t){var n=this.Visit(e.expression,t),r=this.Visit(e.member,t);return new a["default"].Expressions.PropertyExpression(n,r)},VisitUnary:function(e,t){var n=this.Visit(e.operand,t);return n===e.operand?e:new a["default"].Expressions.UnaryExpression(n,e.operator,e.nodeType)},VisitEntityContext:function(e,t){return e},VisitDecision:function(e,t){var n=this.Visit(e.expression,t),r=this.Visit(e.left,t),i=this.Visit(e.right,t);return n===e.expression&&r===e.left&&i===e.right?e:a["default"].Expressions.ExpressionNodeTypes.DecisionExpressionNode.create(e.executable,n,r,i)},VisitNew:function(e,t){var n=this.VisitArray(e.values,t);return n===e.values?e:a["default"].Expressions.ExpressionNodeTypes.NewExpressionNode.create(!0,n)},VisitArrayAccess:function(e,t){var n=this.Visit(e.array,t),r=this.Visit(e.index,t);return n===e.array&&r===e.index?e:a["default"].Expressions.ExpressionNodeTypes.ArrayAccessExpressionNode.create(!0,n,r)},VisitArray:function(e,t){for(var n=[],r=!0,i=0;i<e.length;i++)n[i]=this.Visit(e[i],t),r=r&&n[i]===e[i];return r?e:n},GetMemberChain:function(e,t){if(e.expression.type==MEMBERACCESS){var n=this.GetMemberChain(e.expression,t);return n.push(e.member),n}return[e.expression,e.member]}},{}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],104:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},a=e("../../../TypeSystem/index.js"),o=r(a);(0,a.$C)("$data.Expressions.GlobalContextProcessor",o["default"].Expressions.ParameterProcessor,null,{constructor:function(e){this.global=e},canResolve:function(e){return(e.nodeType==o["default"].Expressions.ExpressionType.Parameter||o["default"].defaults.parameterResolutionCompatibility&&e.nodeType==o["default"].Expressions.ExpressionType.ParameterReference)&&this.global&&"object"===i(this.global)&&e.name in this.global},resolve:function(e){var t=this.global[e.name],n=a.Container.createConstantExpression(t,"undefined"==typeof t?"undefined":i(t),e.name);return n}}),(0,a.$C)("$data.Expressions.ConstantValueResolver",o["default"].Expressions.ParameterProcessor,null,{constructor:function(e,t,n){this.globalResolver=a.Container.createGlobalContextProcessor(t),this.paramResolver=a.Container.createGlobalContextProcessor(e),this.paramsObject=e,this.scopeContext=n},canResolve:function(e){return o["default"].defaults.parameterResolutionCompatibility?"$context"===e.name||e.nodeType==o["default"].Expressions.ExpressionType.This&&this.paramsObject?!0:this.paramResolver.canResolve(e)||this.globalResolver.canResolve(e):"$context"===e.name?!0:this.paramResolver.canResolve(e)},resolve:function(e){return"$context"===e.name?a.Container.createEntityContextExpression(this.scopeContext):o["default"].defaults.parameterResolutionCompatibility?e.nodeType==o["default"].Expressions.ExpressionType.This?a.Container.createConstantExpression(this.paramsObject,i(this.paramsObject),"this"):this.paramResolver.canResolve(e)?this.paramResolver.resolve(e):this.globalResolver.resolve(e):this.paramResolver.resolve(e);
}}),n["default"]=o["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],105:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.LambdaParameterProcessor",a["default"].Expressions.ParameterProcessor,null,{constructor:function(e){var t={};this.canResolve=function(n,r){if(n.nodeType==a["default"].Expressions.ExpressionType.LambdaParameter){var i=n.owningFunction.parameters;if(1==i.length&&n.name==i[0].name)return t[n.name]=e[0],!0;for(var o=0;o<i.length;o++)if(i[o].name==n.name)return t[n.name]=e[o],!0;return!1}return!1},this.resolve=function(e,n){var r=t[e.name],o=i.Container.createParameterExpression(e.name,r,a["default"].Expressions.ExpressionType.LambdaParameter);return o.owningFunction=e.owningFunction,o}}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],106:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},a=e("../../../TypeSystem/index.js"),o=r(a);(0,a.$C)("$data.Expressions.LocalContextProcessor",o["default"].Expressions.GlobalContextProcessor,null,{constructor:function(e){this.canResolve=function(t){return t.nodeType==o["default"].Expressions.ExpressionType.Parameter&&"undefined"!==e("typeof "+t.name)},this.resolve=function(t){var n=e(t.name),r=a.Container.createConstantExpression(n,"undefined"==typeof n?"undefined":i(n));return r}}}),n["default"]=o["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],107:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.LogicalSchemaBinderVisitor",a["default"].Expressions.ExpressionVisitor,null,{constructor:function(e,t){},VisitProperty:function(e,t){var n=this.Visit(e.expression,t),r=this.Visit(e.member,t),a=n.type,o=t.memberResolver.resolve(a,r.value);return r.type=o,i.Container.createPropertyExpression(n,r)}},{}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],108:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Expressions.ParameterProcessor",a["default"].Expressions.ExpressionVisitor,null,{constructor:function(){},Visit:function(e,t){if((e instanceof a["default"].Expressions.ParameterExpression||e instanceof a["default"].Expressions.ThisExpression)&&this.canResolve(e)){var n=this.resolve(e,t);return n!==e&&(n.resolvedBy=this.constructor.name),n}return e},canResolve:function(e){i.Guard.raise("Pure method")},resolve:function(e){i.Guard.raise("Pure method")}}),n["default"]=a["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],109:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},a=e("../../../TypeSystem/index.js"),o=r(a);(0,a.$C)("$data.Expressions.ParameterResolverVisitor",o["default"].Expressions.ExpressionVisitor,null,{constructor:function(e,t){this.lambdaParamCache={},this.paramCache={}},Visit:function(e,t){return o["default"].Expressions.ExpressionVisitor.prototype.Visit.call(this,e,t)},VisitArrayLiteral:function(e,t){var n=this,r=e.items.map(function(e){return n.Visit(e,t)}),i=r.every(function(e){return e instanceof o["default"].Expressions.ConstantExpression});return i?(r=r.map(function(e){return e.value}),a.Container.createConstantExpression(r,"array")):a.Container.createArrayLiteralExpression(r)},VisitObjectLiteral:function(e,t){var n=this,r=e.members.map(function(e){return n.Visit(e,t)}),s=r.every(function(e){return e.expression instanceof o["default"].Expressions.ConstantExpression});if(s){var u=r.map(function(e){return{name:e.fieldName,value:e.expression.value}}),l=e.implementation(u);return a.Container.createConstantExpression(l,"undefined"==typeof l?"undefined":i(l))}return a.Container.createObjectLiteralExpression(r)},VisitThis:function(e,t){return t.Visit(e,t)},VisitParameter:function(e,t){var n;switch(e.nodeType){case o["default"].Expressions.ExpressionType.Parameter:return n=t.Visit(e,t),this.paramCache[n.name]=n,n;case o["default"].Expressions.ExpressionType.ParameterReference:if(o["default"].defaults.parameterResolutionCompatibility)return t.Visit(e,t);var r=this.paramCache[e.name];if(r)return r;a.Guard.raise("Missing parameter '"+e.name+"'");break;case o["default"].Expressions.ExpressionType.LambdaParameter:return n=t.Visit(e,t),this.lambdaParamCache[n.name]=n,n;case o["default"].Expressions.ExpressionType.LambdaParameterReference:var i=this.lambdaParamCache[e.name];if(i)return n=a.Container.createParameterExpression(e.name,i.type,o["default"].Expressions.ExpressionType.LambdaParameterReference),n.paramIndex=e.paramIndex,n;break;default:return e}return e},VisitConstant:function(e,t){return e},VisitFunction:function(e,t){var n=this,r=e.parameters.map(function(e,r){var i=n.Visit(e,t);return i}),i=n.Visit(e.body,t),a=new o["default"].Expressions.FunctionExpression(e.name,r,i);return a},VisitBinary:function(e,t){var n=this.Visit(e.left,t),r=this.Visit(e.right,t),s=o["default"].Expressions;if(n instanceof s.ConstantExpression&&r instanceof s.ConstantExpression){var u=e.implementation(n.value,r.value);return a.Container.createConstantExpression(u,"undefined"==typeof u?"undefined":i(u))}return new a.Container.createSimpleBinaryExpression(n,r,e.nodeType,e.operator,e.type)},VisitUnary:function(e,t){var n=this.Visit(e.operand,t),r=o["default"].Expressions;if(n instanceof r.ConstantExpression){var s=e.operator.implementation(n.value);return a.Container.createConstantExpression(s,"undefined"==typeof s?"undefined":i(s))}return new a.Container.createUnaryExpression(n,e.operator,e.nodeType)},VisitProperty:function(e,t){var n,r=this.Visit(e.expression,t),s=this.Visit(e.member,t);return r instanceof o["default"].Expressions.ConstantExpression&&s instanceof o["default"].Expressions.ConstantExpression?(n=e.implementation(r.value,s.value),a.Container.createConstantExpression(n,"undefined"==typeof n?"undefined":i(n),r.name+"$"+s.value)):r===e.expression&&s===e.member?e:n=a.Container.createPropertyExpression(r,s)},VisitCall:function(e,t){function n(e,t,n){return t instanceof o["default"].Expressions.ConstantExpression&&(!n||n instanceof o["default"].Expressions.ConstantExpression)&&e.every(function(e){return e instanceof o["default"].Expressions.ConstantExpression})}function r(e){return e instanceof o["default"].Expressions.ConstantExpression?e.value:e}var s=o["default"].Expressions.ExpressionVisitor.prototype.VisitCall.apply(this,arguments),u=s.expression,l=s.member,p=s.args;if(n(p,l,u)){var d=l.value;"string"==typeof d&&u.value&&(d=u.value[d]),"function"!=typeof d&&a.Guard.raise("Constant expression is not a method...");var c=e.implementation(u.value,d,p.map(r));return new o["default"].Expressions.ConstantExpression(c,"undefined"==typeof c?"undefined":i(c))}return s}},{}),(0,a.$C)("$data.Expressions.AggregatedVisitor",o["default"].Expressions.ExpressionVisitor,null,{constructor:function(e){this.Visit=function(t,n){for(var r=0;r<e.length;r++){var i=e[r].Visit(t,n);if(i!==t)return i}return t}}}),n["default"]=o["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],110:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},a=e("../../../TypeSystem/index.js"),o=r(a);o["default"].Class.define("$data.Expressions.SetExecutableVisitor",o["default"].Expressions.ExpTreeVisitor,null,{Visit:function(e,t){switch(e.type){case LITERAL:return this.VisitLiteral(e,t);case VARIABLE:return this.VisitVariable(e,t);case MEMBERACCESS:return this.VisitMember(e,t);case BINARY:return this.VisitBinary(e,t);case UNARY:return this.VisitUnary(e,t);case INCDEC:return this.VisitIncDec(e,t);case EQUALITY:return this.VisitEquality(e,t);case DECISION:return this.VisitDecision(e,t);case METHODCALL:return this.VisitMethodCall(e,t);case NEW:return this.VisitNew(e,t);case JSONASSIGN:return this.VisitJsonAssign(e,t);case ARRAYACCESS:return this.VisitArrayAccess(e,t);default:a.Guard.raise("Type isn't implemented: "+e.type)}},VisitBinary:function(e,t){var n=this.Visit(e.left,t),r=this.Visit(e.right,t);return n===e.left&&r===e.right&&n.executable&&r.executable==e.executable?e:o["default"].Expressions.ExpressionNodeTypes.BinaryExpressionNode.create(n.executable&&r.executable,e.operator,n,r)},VisitUnary:function(e,t){var n=this.Visit(e.operand,t);return n===e.operand?e:o["default"].Expressions.ExpressionNodeTypes.UnaryExpressionNode.create(n.executable,e.operator,n)},VisitIncDec:function(e,t){var n=this.Visit(e.operand,t);return n===e.operand?e:o["default"].Expressions.ExpressionNodeTypes.IncDecExpressionNode.create(n.executable,e.operator,n,e.suffix)},VisitEquality:function(e,t){var n=this.Visit(e.left,t),r=this.Visit(e.right,t);return n===e.left&&r===e.right&&n.executable&&r.executable==e.executable?e:o["default"].Expressions.ExpressionNodeTypes.EqualityExpressionNode.create(n.executable&&r.executable,e.operator,n,r)},VisitDecision:function(e,t){var n=this.Visit(e.expression,t),r=this.Visit(e.left,t),i=this.Visit(e.right,t);return n===e.expression&&r===e.left&&i===e.right&&r.executable&&i.executable&&n.executable==e.executable?e:o["default"].Expressions.ExpressionNodeTypes.DecisionExpressionNode.create(r.executable&&i.executable&&n.executable,n,r,i)},VisitMethodCall:function(e,t){var n=e.object?this.Visit(e.object,t):null,r=this.VisitArray(e.args,t);return n===e.object&&r===e.args&&(null==n?!0:n.executable)==e.executable?e:o["default"].Expressions.ExpressionNodeTypes.MethodcallExpressionNode.create(null==n?!0:n.executable,n,e.method,r)},VisitNew:function(e,t){var n=this.VisitArray(e.values,t);return n===e.values?e:o["default"].Expressions.ExpressionNodeTypes.NewExpressionNode.create(!0,n)},VisitJsonAssign:function(e,t){var n=this.Visit(e.left,t),r=this.Visit(e.right,t);return n===e.left&&r===e.right?e:(n.JSONASSIGN=!0,r.JSONASSIGN=!0,o["default"].Expressions.ExpressionNodeTypes.JsonAssignExpressionNode.create(!0,n,r))},VisitArrayAccess:function(e,t){var n=this.Visit(e.array,t),r=this.Visit(e.index,t);return n===e.array&&r===e.index?e:o["default"].Expressions.ExpressionNodeTypes.ArrayAccessExpressionNode.create(!0,n,r)},VisitArray:function(e,t){for(var n=[],r=!0,i=0;i<e.length;i++)n[i]=this.Visit(e[i],t),r=r&&n[i]===e[i];return r?e:n},VisitLiteral:function(e,t){return{type:e.type,executable:!0,value:e.value,valueType:e.valueType}},VisitVariable:function(e,t){return void 0==i(t.paramContext[e.name])&&a.Guard.raise("Variable is not defined in the paramContext: "+e.name),o["default"].Expressions.ExpressionNodeTypes.VariableExpressionNode.create(!0,"Math","GLOBALOBJECT")},VisitMember:function(e,t){var n=this.GetMemberChain(e),r=n[0].name,i=t.lambdaParams.indexOf(r)>=0,s=r==t.paramsName;return s||i||a.Guard.raise("Variable is not defined in the paramContext or the lambda parameters: "+r),o["default"].Expressions.ExpressionNodeTypes.MemberAccessExpressionNode.create(s,e.expression,e.member)}},null),n["default"]=o["default"],t.exports=n["default"]},{"../../../TypeSystem/index.js":44}],111:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i),o=e("./ExpressionNode2.js"),s=(r(o),e("./ArrayLiteralExpression.js")),u=(r(s),e("./CallExpression.js")),l=(r(u),e("./CodeParser.js")),p=(r(l),e("./ConstantExpression.js")),d=(r(p),e("./FunctionExpression.js")),c=(r(d),e("./ObjectFieldExpression.js")),f=(r(c),e("./ObjectLiteralExpression.js")),y=(r(f),e("./PagingExpression.js")),h=(r(y),e("./ParameterExpression.js")),m=(r(h),e("./PropertyExpression.js")),g=(r(m),e("./SimpleBinaryExpression.js")),v=(r(g),e("./ThisExpression.js")),x=(r(v),e("./Visitors/ExpressionVisitor.js")),E=(r(x),e("./Visitors/ParameterProcessor.js")),b=(r(E),e("./Visitors/GlobalContextProcessor.js")),T=(r(b),e("./Visitors/LocalContextProcessor.js")),C=(r(T),e("./Visitors/LambdaParameterProcessor.js")),S=(r(C),e("./Visitors/ParameterResolverVisitor.js")),_=(r(S),e("./Visitors/LogicalSchemaBinderVisitor.js")),P=(r(_),e("./Visitors/ExpTreeVisitor.js")),N=(r(P),e("./Visitors/SetExecutableVisitor.js")),M=(r(N),e("./Visitors/ExecutorVisitor.js")),A=(r(M),e("./ExpressionBuilder.js")),w=(r(A),e("./EntityExpressions/AssociationInfoExpression.js")),O=(r(w),e("./EntityExpressions/CodeExpression.js")),j=(r(O),e("./EntityExpressions/CodeToEntityConverter.js")),D=(r(j),e("./EntityExpressions/ComplexTypeExpression.js")),G=(r(D),e("./EntityExpressions/EntityContextExpression.js")),V=(r(G),e("./EntityExpressions/EntityExpression.js")),k=(r(V),e("./EntityExpressions/EntityExpressionVisitor.js")),I=(r(k),e("./EntityExpressions/ExpressionMonitor.js")),B=(r(I),e("./EntityExpressions/EntityFieldExpression.js")),$=(r(B),e("./EntityExpressions/EntityFieldOperationExpression.js")),L=(r($),e("./EntityExpressions/EntitySetExpression.js")),R=(r(L),e("./EntityExpressions/FrameOperationExpression.js")),F=(r(R),e("./EntityExpressions/FilterExpression.js")),q=(r(F),e("./EntityExpressions/IncludeExpression.js")),U=(r(q),e("./EntityExpressions/MemberInfoExpression.js")),Q=(r(U),e("./EntityExpressions/OrderExpression.js")),H=(r(Q),e("./EntityExpressions/ParametricQueryExpression.js")),J=(r(H),e("./EntityExpressions/ProjectionExpression.js")),K=(r(J),e("./EntityExpressions/QueryExpressionCreator.js")),z=(r(K),e("./EntityExpressions/QueryParameterExpression.js")),W=(r(z),e("./EntityExpressions/RepresentationExpression.js")),Y=(r(W),e("./EntityExpressions/ServiceOperationExpression.js")),X=(r(Y),e("./ContinuationExpressionBuilder.js"));r(X);a["default"].defaults=a["default"].defaults||{},a["default"].defaults.parameterResolutionCompatibility=!0,n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44,"./ArrayLiteralExpression.js":64,"./CallExpression.js":65,"./CodeParser.js":66,"./ConstantExpression.js":67,"./ContinuationExpressionBuilder.js":68,"./EntityExpressions/AssociationInfoExpression.js":69,"./EntityExpressions/CodeExpression.js":70,"./EntityExpressions/CodeToEntityConverter.js":71,"./EntityExpressions/ComplexTypeExpression.js":72,"./EntityExpressions/EntityContextExpression.js":73,"./EntityExpressions/EntityExpression.js":74,"./EntityExpressions/EntityExpressionVisitor.js":75,"./EntityExpressions/EntityFieldExpression.js":76,"./EntityExpressions/EntityFieldOperationExpression.js":77,"./EntityExpressions/EntitySetExpression.js":78,"./EntityExpressions/ExpressionMonitor.js":79,"./EntityExpressions/FilterExpression.js":80,"./EntityExpressions/FrameOperationExpression.js":81,"./EntityExpressions/IncludeExpression.js":82,"./EntityExpressions/MemberInfoExpression.js":83,"./EntityExpressions/OrderExpression.js":84,"./EntityExpressions/ParametricQueryExpression.js":85,"./EntityExpressions/ProjectionExpression.js":86,"./EntityExpressions/QueryExpressionCreator.js":87,"./EntityExpressions/QueryParameterExpression.js":88,"./EntityExpressions/RepresentationExpression.js":89,"./EntityExpressions/ServiceOperationExpression.js":90,"./ExpressionBuilder.js":91,"./ExpressionNode2.js":92,"./FunctionExpression.js":93,"./ObjectFieldExpression.js":94,"./ObjectLiteralExpression.js":95,"./PagingExpression.js":96,"./ParameterExpression.js":97,"./PropertyExpression.js":98,"./SimpleBinaryExpression.js":99,"./ThisExpression.js":100,"./Visitors/ExecutorVisitor.js":101,"./Visitors/ExpTreeVisitor.js":102,"./Visitors/ExpressionVisitor.js":103,"./Visitors/GlobalContextProcessor.js":104,"./Visitors/LambdaParameterProcessor.js":105,"./Visitors/LocalContextProcessor.js":106,"./Visitors/LogicalSchemaBinderVisitor.js":107,"./Visitors/ParameterProcessor.js":108,"./Visitors/ParameterResolverVisitor.js":109,"./Visitors/SetExecutableVisitor.js":110}],112:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},a=e("../TypeSystem/index.js"),o=r(a);o["default"].Class.define("$data.ItemStoreClass",null,null,{constructor:function(){var e=this;e.itemStoreConfig={aliases:{},contextTypes:{}},e.resetStoreToDefault("local",!0),o["default"].addStore=function(){return e.addItemStoreAlias.apply(e,arguments)},o["default"].implementation=e.implementation,o["default"].Entity.addMember("storeToken",{get:function(){return this.storeConfigs&&this.storeConfigs["default"]?this.storeConfigs.stores[this.storeConfigs["default"]]:void 0},set:function(t){e._setTypeStoreConfig(this,"default",t)}},!0)},itemStoreConfig:{},attachMode:o["default"].EntityAttachMode?o["default"].EntityAttachMode.KeepChanges:!0,addItemStoreAlias:function(e,t,n){var r=this,s=new o["default"].PromiseHandler,u=s.createCallback();if("string"==typeof e){if("object"===("undefined"==typeof t?"undefined":i(t))&&"factory"in t){var l=a.Container.resolveType(t.typeName);return r.itemStoreConfig.aliases[e]=t.factory,r.itemStoreConfig.contextTypes[e]=l,n&&(r.itemStoreConfig["default"]=e),u.success(),s.getPromise()}if("function"==typeof t){var p,d=t();return d&&d instanceof o["default"].EntityContext?(u.success(d),p=s.getPromise()):p=d,p.then(function(i){return"function"==typeof i?r.addItemStoreAlias(e,i,n):i instanceof o["default"].EntityContext?i.onReady().then(function(i){return r.itemStoreConfig.aliases[e]=t,r.itemStoreConfig.contextTypes[e]=i.getType(),n&&(r.itemStoreConfig["default"]=e),i}):(s=new o["default"].PromiseHandler,u=s.createCallback(),u.error(new a.Exception("factory dont have context instance","Invalid arguments")),s.getPromise())})}}return u.error(new a.Exception("Name or factory missing","Invalid arguments")),s.getPromise()},resetStoreToDefault:function(e,t){this.itemStoreConfig.aliases[e]=this._getDefaultItemStoreFactory,delete this.itemStoreConfig.contextTypes[e],t&&(this.itemStoreConfig["default"]=e)},_setStoreAlias:function(e,t){return"object"!==("undefined"==typeof t?"undefined":i(t))||e.storeToken||(e.storeToken=t),e},_getStoreAlias:function(e,t){var n;if(e instanceof o["default"].Entity){var r=t||e.storeToken;if(r)return r;n=e.getType()}else n=e;return t||(n.storeConfigs?n.storeConfigs["default"]:void 0)||n.storeToken},_getStoreContext:function(e,t,n){var r=this._getContextPromise(e,t);if(!r||r instanceof o["default"].EntityContext){var i=new o["default"].PromiseHandler,s=i.createCallback();s.success(r),r=i.getPromise()}return r.then(function(e){if(e instanceof o["default"].EntityContext)return e.onReady();if(n)return null;var t=new o["default"].PromiseHandler,r=t.createCallback();return r.error(new a.Exception("factory return type error","Error")),t.getPromise()})},_getContextPromise:function(e,t){if(e&&"object"===("undefined"==typeof e?"undefined":i(e))&&"function"==typeof e.factory)return e.factory(t);if(e&&"object"===("undefined"==typeof e?"undefined":i(e))&&"object"===i(e.args)&&"string"==typeof e.typeName){var t=a.Container.resolveType(e.typeName);return new t(JSON.parse(JSON.stringify(e.args)))}return e&&"string"==typeof e&&t.storeConfigs&&t.storeConfigs.stores[e]&&"function"==typeof t.storeConfigs.stores[e].factory?t.storeConfigs.stores[e].factory():e&&"string"==typeof e&&t.storeConfigs&&t.storeConfigs.stores[e]?this._getDefaultItemStoreFactory(t,t.storeConfigs.stores[e]):e&&"string"==typeof e&&this.itemStoreConfig.aliases[e]?this.itemStoreConfig.aliases[e](t):e&&"function"==typeof e?e():this.itemStoreConfig.aliases[this.itemStoreConfig["default"]](t)},_getStoreEntitySet:function(e,t){var n=this._getStoreAlias(t,e),r="function"==typeof t?t:t.getType();return this._getStoreContext(n,r).then(function(e){var t=e.getEntitySetFromElementType(r);if(!t){var n=new o["default"].PromiseHandler,i=n.createCallback();return i.error("EntitySet not exist for "+r.fullName),n.getPromise()}return t})},_getDefaultItemStoreFactory:function(e,t){if(e){var n="function"==typeof e?e:e.getType(),r=o["default"].Container.resolveName(n)+"_items",r=r.replace(/\./g,"_"),a=o["default"].typeSystem.extend({collectionName:t&&t.collectionName?t.collectionName:"Items",tableName:r,initParam:{provider:"local",databaseName:r}},t),s={};s[a.collectionName]={type:o["default"].EntitySet,elementType:n},a.tableName&&(s[a.collectionName].tableName=a.tableName);var u=o["default"].EntityContext.extend(r,s),l=new u(a.initParam);return t&&"object"===("undefined"==typeof t?"undefined":i(t))&&(t.factory=l._storeToken.factory),l}},implementation:function(e,t){var n,r=o["default"].ItemStore;return"string"==typeof t?t=r.itemStoreConfig.contextTypes[t]:t instanceof o["default"].EntityContext?t=t.getType():"function"==typeof t&&t.isAssignableTo||(t=r.itemStoreConfig.contextTypes[r.itemStoreConfig["default"]]),t&&(n=r._resolveFromContext(t,e)),n||(n=a.Container.resolveType(e)),n},_resolveFromContext:function(e,t){for(var n=e.memberDefinitions.getPublicMappedProperties(),r=0;r<n.length;r++){var i=n[r];if(i.type){var s=a.Container.resolveType(i.type);if(s.isAssignableTo&&s.isAssignableTo(o["default"].EntitySet)){var u=a.Container.resolveType(i.elementType);if(u.name===t)return u}}}return null},EntityInstanceSave:function(e,t,n){var r=o["default"].ItemStore,i=this;return r._getStoreEntitySet(e,i).then(function(a){return r._getSaveMode(i,a,t,e).then(function(e){switch(e=e||"add"){case"add":a.add(i);break;case"attach":a.attach(i,n||!0);break;default:var t=new o["default"].PromiseHandler,s=t.createCallback();return s.error("save mode not supported: "+e),t.getPromise()}return a.entityContext.saveChanges().then(function(){return r._setStoreAlias(i,a.entityContext.storeToken),i})})})},EntityInstanceRemove:function(e){var t=o["default"].ItemStore,n=this;return t._getStoreEntitySet(e,n).then(function(e){return e.remove(n),e.entityContext.saveChanges().then(function(){return n})})},EntityInstanceRefresh:function(e,t){var n=o["default"].ItemStore,r=this,i=r.getType(),a=n._getKeyObjectFromEntity(r,i);return i.read(a,e).then(function(e){return i.memberDefinitions.getPublicMappedProperties().forEach(function(t){r[t.name]=e[t.name]}),r.storeToken=(t?r.storeToken:void 0)||e.storeToken,r.changedProperties=void 0,r})},EntityInheritedTypeProcessor:function(e){var t=o["default"].ItemStore;e.readAll=t.EntityTypeReadAll(e),e.read=t.EntityTypeRead(e),e.removeAll=t.EntityTypeRemoveAll(e),e.remove=t.EntityTypeRemove(e),e.get=t.EntityTypeGet(e),e.save=t.EntityTypeSave(e),e.addMany=t.EntityTypeAddMany(e),e.itemCount=t.EntityTypeItemCount(e),e.query=t.EntityTypeQuery(e),e.takeFirst=t.EntityTypeTakeFirst(e),e.setStore=t.EntityTypeSetStore(e)},EntityTypeReadAll:function(e){return function(t){var n=o["default"].ItemStore;return n._getStoreEntitySet(t,e).then(function(e){return e.forEach(function(t){n._setStoreAlias(t,e.entityContext.storeToken)})})}},EntityTypeRemoveAll:function(e){return function(t){var n=o["default"].ItemStore;return n._getStoreEntitySet(t,e).then(function(e){return e.toArray().then(function(t){return t.forEach(function(t){e.remove(t)}),e.entityContext.saveChanges().then(function(){return t})})})}},EntityTypeRead:function(e){return function(t,n){var r=o["default"].ItemStore;return r._getStoreEntitySet(n,e).then(function(e){try{var n=r._findByIdQueryable(e,t);return e.single(n.predicate,n.thisArgs).then(function(t){return r._setStoreAlias(t,e.entityContext.storeToken)})}catch(i){var a=new o["default"].PromiseHandler,s=a.createCallback();return s.error(i),a.getPromise()}})}},EntityTypeGet:function(e){return function(t,n){var r=o["default"].ItemStore,i=new e(r._getKeyObjectFromEntity(t));return i.refresh(n),i}},EntityTypeSave:function(e){return function(t,n,r){var i=(o["default"].ItemStore,new e(t));return i.save(n,r)}},EntityTypeAddMany:function(e){return function(t,n){var r=o["default"].ItemStore;return r._getStoreEntitySet(n,e).then(function(e){var n=e.addMany(t);return e.entityContext.saveChanges().then(function(){return n})})}},EntityTypeRemove:function(e){return function(t,n){var r,i=(o["default"].ItemStore,e.memberDefinitions.getKeyProperties());if(1===i.length){var a={};a[i[0].name]=t,r=new e(a)}else r=new e(t);return r.remove(n)}},EntityTypeItemCount:function(e){return function(t){var n=o["default"].ItemStore;return n._getStoreEntitySet(t,e).then(function(e){return e.length()})}},EntityTypeQuery:function(e){return function(t,n,r){var i=o["default"].ItemStore;return i._getStoreEntitySet(r,e).then(function(e){return e.filter(t,n).forEach(function(t){i._setStoreAlias(t,e.entityContext.storeToken)})})}},EntityTypeTakeFirst:function(e){return function(t,n,r){var i=o["default"].ItemStore;return i._getStoreEntitySet(r,e).then(function(e){return e.first(t,n).then(function(t){return i._setStoreAlias(t,e.entityContext.storeToken)})})}},EntityTypeSetStore:function(e){return function(t,n){"object"===("undefined"==typeof t?"undefined":i(t))&&"undefined"==typeof n&&(n=t,t="default");var r=o["default"].ItemStore,a={};if(n){if(n.tableName&&(a.tableName=n.tableName,delete n.tableName),n.collectionName&&(a.collectionName=n.collectionName,delete n.collectionName),"string"==typeof n.dataSource){var s=n.dataSource;s.lastIndexOf("/")===s.length-1&&(s=s.substring(0,s.lastIndexOf("/")));var u=s.substring(0,s.lastIndexOf("/"));a.tableName||(a.tableName=s.substring(s.lastIndexOf("/")+1));var l=n.provider||n.name;switch(l){case"oData":n.oDataServiceHost=n.oDataServiceHost||u;break;case"webApi":n.apiUrl=n.apiUrl||u}}}else n={name:"local"};return a.initParam=n,r._setTypeStoreConfig(e,t,a),e}},_setTypeStoreConfig:function(e,t,n){e.storeConfigs||(e.storeConfigs={stores:{}}),e.storeConfigs.stores[t]=n,"default"===t&&(e.storeConfigs["default"]=t)},_findByIdQueryable:function(e,t){var n=e.defaultType.memberDefinitions.getKeyProperties();if(n.length>1&&t&&"object"===("undefined"==typeof t?"undefined":i(t))){for(var r="",a={},o=0;o<n.length;o++){o>0&&(r+=" && ");var s=n[o];r+="it."+s.name+" == this."+s.name,a[s.name]=t[s.name]}return{predicate:r,thisArgs:a}}if(1===n.length)return{predicate:"it."+n[0].name+" == this.value",thisArgs:{value:t}};throw"invalid keys"},_getKeyObjectFromEntity:function(e,t){var n,r=t.memberDefinitions.getKeyProperties();if(1===r.length)n=e&&"object"===("undefined"==typeof e?"undefined":i(e))?e[r[0].name]:e;else{n={};for(var a=0;a<r.length;a++)n[r[0].name]=e?e[r[0].name]:e}return n},_getSaveMode:function(e,t,n,r){var i=this,a=new o["default"].PromiseHandler,s=a.createCallback(),u=e.getType();switch(!0){case"update"===n:s.success("attach");break;case"new"===n:s.success("add");break;case!1===u.memberDefinitions.getKeyProperties().every(function(t){return e[t.name]}):s.success("add");break;case!!e.storeToken:s.success("attach");break;default:r=this._getStoreAlias(e,r),u.read(i._getKeyObjectFromEntity(e,u),r).then(function(){s.success("attach")},function(){s.success("add")})}return a.getPromise()},ContextRegister:function(e){var t=this;"string"==typeof e.name&&(e.name=[e.name]);var n=JSON.parse(JSON.stringify(e));this.storeToken={typeName:this.getType().fullName,args:n,factory:function(){return new(t.getType())(n)}};for(var r=this.getType().memberDefinitions.getPublicMappedProperties(),i=0;i<r.length;i++){var s=r[i];if(s.type){var u=a.Container.resolveType(s.type);if(u&&u.isAssignableTo&&u.isAssignableTo(o["default"].EntitySet)){var l=a.Container.resolveType(s.elementType);l.storeToken||(l.storeToken=this.storeToken)}}}},QueryResultModifier:function(e){var t=o["default"].ItemStore,n=e.context,r=e.modelBinderConfig.$type;if("string"==typeof r&&(r=a.Container.resolveType(r)),r===o["default"].Array&&e.modelBinderConfig.$item&&e.modelBinderConfig.$item.$type&&(r=e.modelBinderConfig.$item.$type),"undefined"==typeof r&&e.result&&e.result[0]instanceof o["default"].Entity)for(var i=r?r.memberDefinitions.getPublicMappedProperties().filter(function(e){return!!e.inverseProperty}):[],s=0;s<e.result.length;s++){t._setStoreAlias(e.result[s],n.storeToken);for(var u=0;u<i.length;u++){var l=i[u];if(e.result[s][l.name]instanceof o["default"].Entity)t._setStoreAlias(e.result[s][l.name],n.storeToken);else if(Array.isArray(e.result[s][l.name]))for(var p=0;p<e.result[s][l.name].length;p++)e.result[s][l.name][p]instanceof o["default"].Entity&&t._setStoreAlias(e.result[s][l.name][p],n.storeToken)}}}}),o["default"].ItemStore=new o["default"].ItemStoreClass,o["default"].Entity.addMember("field",function(e){var t=this.memberDefinitions.getMember(e);if(t){if(t.definedBy===this)return new o["default"].MemberWrapper(t);a.Guard.raise(new a.Exception("Member '"+e+"' defined on '"+t.definedBy.fullName+"'!","Invalid Operation"))}else a.Guard.raise(new a.Exception("Member '"+e+"' not exists!","Invalid Operation"));return this},!0),o["default"].Class.define("$data.MemberWrapper",null,null,{constructor:function(e){this.memberDefinition=e},setKey:function(e){return this.memberDefinition.key=!(!e&&void 0!==e),this},setComputed:function(e){return this.memberDefinition.computed=!(!e&&void 0!==e),this},setRequired:function(e){return this.memberDefinition.required=!(!e&&void 0!==e),this},setNullable:function(e){return this.memberDefinition.nullable=!(!e&&void 0!==e),this},changeDefinition:function(e,t){return this.memberDefinition[e]=t,this}}),n["default"]=o["default"],t.exports=n["default"]},{"../TypeSystem/index.js":44}],113:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},a=e("../TypeSystem/index.js"),o=r(a);o["default"].Class.define("$data.ModelBinder",null,null,{constructor:function(e){if(this.context=e,this.providerName=null,this.context.storageProvider&&"function"==typeof this.context.storageProvider.getType&&(this.references=!this.context.storageProvider.providerConfiguration.modelBinderOptimization,this.providerName=this.context.storageProvider.providerName,!this.providerName))for(var t in o["default"].RegisteredStorageProviders)if(o["default"].RegisteredStorageProviders[t]===this.context.storageProvider.getType()){this.providerName=t;break}},_deepExtend:function(e,t){if(null===e||void 0===e)return t;for(var n in t)if(e.hasOwnProperty(n)){if("object"===i(t[n]))if(Array.isArray(t[n]))for(var r=0;r<t[n].length;r++)e[n].indexOf(t[n][r])<0&&e[n].push(t[n][r]);else this._deepExtend(e[n],t[n])}else e[n]=t[n];return this._finalize(e)},_finalize:function(e){return e instanceof o["default"].Entity&&(e.changedProperties=void 0,e.storeToken=this.context.storeToken),e},_buildSelector:function(e,t){if(e.$selector){Array.isArray(e.$selector)||(e.$selector=[e.$selector]);for(var n=0;n<e.$selector.length;n++){var r=e.$selector[n].replace("json:","");t.src+="if(";for(var i=r.split("."),a=0;a<i.length;a++)t.src+='di["'+i.slice(0,a+1).join('"]["')+'"]'+(a<i.length-1?" && ":" !== undefined && typeof di."+r+' === "object"');t.src+='){di = di["'+i.join('"]["')+'"];}'+(n<e.$selector.length-1?"else ":"")}t.src+="if (di === null){",
t.iter&&(t.src+=t.iter+" = null;"),t.src+="return null;",t.src+="}"}},_buildKey:function(e,t,n,r,o){if(n){var t=a.Container.resolveType(t),s=a.Container.getIndex(t);if(t=t.fullName||t.name,r.src+="var "+e+"Fn = function(di){",Array.isArray(n)&&1!=n.length){r.src+='var key = "";';for(var u=0;u<n.length;u++){var l="object"!==i(n[u])?n[u]:n[u].$source;r.src+='if (typeof di["'+l+'"] === "undefined") return undefined;',r.src+='if (di["'+l+'"] === null) return null;',r.src+='key += ("'+t+"_"+s+"_"+l+'#" + di["'+l+'"]);'}}else"string"!=typeof n&&(n=n[0]),r.src+='if (typeof di["'+n+'"] === "undefined") return undefined;',r.src+='if (di["'+n+'"] === null) return null;',r.src+='var key = ("'+t+"_"+s+"_"+n+'#" + di["'+n+'"]);';r.src+="return key;};"}r.src+="var "+e+" = "+(n?e+"Fn("+(o||"di")+")":"undefined")+";"},build:function(e,t){if(e.$selector){Array.isArray(e.$selector)||(e.$selector=[e.$selector]);for(var n=0;n<e.$selector.length;n++)e.$selector[n]=e.$selector[n].replace("json:","")}if(e.$value)if("function"==typeof e.$value)if(t.src+="var di = di || data;",t.src+="var fn = function(){ return meta"+(t.meta.length?"."+t.meta.join("."):"")+".$value.call(self, meta"+(t.meta.length?"."+t.meta.join("."):"")+", di); };",e.$type){var r=a.Container.resolveName(a.Container.resolveType(e.$type)),i=a.Container.getIndex(a.Container.resolveType(e.$type)),s=this.context.storageProvider.fieldConverter.fromDb[r];s?t.item='self.context.storageProvider.fieldConverter.fromDb["'+r+'"](fn())':t.item="new (Container.resolveByIndex("+i+"))(fn())"}else t.item="fn()";else if(e.$type){var r=a.Container.resolveName(a.Container.resolveType(e.$type)),i=a.Container.getIndex(a.Container.resolveType(e.$type)),s=this.context.storageProvider.fieldConverter.fromDb[r];s?t.item='self.context.storageProvider.fieldConverter.fromDb["'+r+'"]('+e.$value+")":t.item="new (Container.resolveByIndex("+i+"))("+e.$value+")"}else t.item=e.$value;else if(e.$source){var r=a.Container.resolveName(a.Container.resolveType(e.$type)),i=a.Container.getIndex(a.Container.resolveType(e.$type)),s=this.context.storageProvider.fieldConverter.fromDb[r],u="_"+r.replace(/\./gi,"_")+"_";t.forEach||(t.src+="var di = data;"),t.item=u,this._buildSelector(e,t),s?t.src+="var "+u+' = self.context.storageProvider.fieldConverter.fromDb["'+r+'"](di["'+e.$source+'"]);':t.src+="var "+u+" = new (Container.resolveByIndex("+i+'))(di["'+e.$source+'"]);',t.src+="var "+u+"_inheritance;"}else if(e.$item){t.meta.push("$item");var l=t.item&&t.current?t.item+"."+t.current:t.item?t.item:"result";if(t.iter=l,l.indexOf(".")<0&&(t.src+="var "+l+";",t.src+="var "+l+"_inheritance;"),t.src+="var fn = function(di){",e.$selector&&(t.src+='if (typeof di !== "undefined" && !(Array.isArray(di))){',this._buildSelector(e,t),t.src+="}"),this.references&&e.$keys&&this._buildKey("forKey",e.$type,e.$keys,t),t.src+=l+" = typeof "+l+' == "undefined" ? [] : '+l+";",this.references&&e.$item.$keys){var p="keycache_"+l.replace(/\./gi,"_");t.src+="var "+p+";",t.src+="var kci = keycacheIter.indexOf("+l+");",t.src+="if (kci < 0){",t.src+=p+" = [];",t.src+="keycache.push("+p+");",t.src+="keycacheIter.push("+l+");",t.src+="}else{",t.src+=p+" = keycache[kci];",t.src+="}"}t.iter=void 0,t.forEach=!0;var d="itemForKey_"+l.replace(/\./gi,"_");t.src+="var forEachFn = function(di, i){",t.src+="var diBackup = di;","sqLite"==this.providerName&&this.references&&e.$item.$keys&&this._buildKey(d,e.$type,e.$item.$keys,t);var u=t.item||"iter";t.item=u,e.$item.$source||this._buildSelector(e.$item,t),this.build(e.$item,t),this.references&&e.$keys?(t.src+="if (forKey){",t.src+="if (cache[forKey]){",t.src+=l+" = cache[forKey];",t.src+="if ("+l+".indexOf("+(t.item||u)+") < 0){",t.src+=l+".push("+(t.item||u)+");",t.src+="}}else{",t.src+="cache[forKey] = "+l+";",t.src+=l+".push("+(t.item||u)+");",t.src+="}}else{",this.references&&e.$item.$keys&&this._buildKey("cacheKey",e.$type,e.$item.$keys,t,"diBackup"),t.src+='if (typeof cacheKey != "undefined" && cacheKey !== null){',t.src+="if (keycache_"+l.replace(/\./gi,"_")+" && cacheKey){",t.src+="if (keycache_"+l.replace(/\./gi,"_")+".indexOf(cacheKey) < 0){",t.src+=l+".push("+(t.item||u)+");",t.src+="keycache_"+l.replace(/\./gi,"_")+".push(cacheKey);",t.src+="}",t.src+="}else{",t.src+=l+".push("+(t.item||u)+");",t.src+="}",t.src+="}",t.src+="}"):this.references&&e.$item.$keys?(t.src+="if (typeof "+d+' !== "undefined" && '+d+" !== null){",t.src+="if (typeof keycache_"+l.replace(/\./gi,"_")+' !== "undefined" && '+d+"){",t.src+="if (keycache_"+l.replace(/\./gi,"_")+".indexOf("+d+") < 0){",t.src+=l+".push("+(t.item||u)+");",t.src+="keycache_"+l.replace(/\./gi,"_")+".push("+d+");",t.src+="}}else{",t.src+=l+".push("+(t.item||u)+");",t.src+="}}else{",t.src+=l+".push("+(t.item||u)+");",t.src+="}"):t.src+=l+".push("+(t.item||u)+");",t.src+="};",t.src+="if (Array.isArray(di)) di.forEach(forEachFn);",t.src+="else forEachFn(di, 0);",t.forEach=!1,t.item=null,t.src+='};fn(typeof di === "undefined" ? data : di);',t.meta.pop()}else if(e.$type){t.forEach||(t.src+='if (typeof di === "undefined"){',t.src+="var di = data;",this._buildSelector(e,t),t.src+="}");var c=a.Container.resolveType(e.$type),r=a.Container.resolveName(c),i=a.Container.getIndex(c),f=c.isAssignableTo&&c.isAssignableTo(o["default"].Entity),u="_"+r.replace(/\./gi,"_")+"_";t.item==u&&(u+="new_"),t.item=u;var y=!1;if(e.$source||e.$value||c===o["default"].Array||c===o["default"].Object||c.isAssignableTo||(y=!0),c===o["default"].Object||c===o["default"].Array){var h=Object.keys(e);(1==h.length||2==h.length&&e.$selector)&&(y=!0)}if(y){var s=this.context.storageProvider.fieldConverter.fromDb[r];s?t.src+="var "+u+' = di != undefined ? self.context.storageProvider.fieldConverter.fromDb["'+r+'"](di) : di;':t.src+="var "+u+" = di;",t.src+="var "+u+"_inheritance;"}else if(this.references&&e.$keys)this._buildKey("itemKey",e.$type,e.$keys,t),t.src+="if (itemKey === null) return null;",t.src+="var "+u+";",t.src+="var "+u+"_inheritance;",t.src+="if (itemKey && cache[itemKey]){",t.src+=u+" = cache[itemKey];",t.src+="}else{",c.inheritedTo&&(t.src+='if (di && di["@odata.type"]){',t.src+='var odataTypeName = di["@odata.type"].split("#")[1];',t.src+="var odataType = Container.resolveType(odataTypeName);",t.src+="if (odataType){",t.src+=u+"_inheritance = new odataType(undefined, { setDefaultValues: false });",t.src+="}",t.src+="}else{"),f?t.src+=u+" = new (Container.resolveByIndex("+i+"))(undefined, { setDefaultValues: false });":t.src+=u+" = new (Container.resolveByIndex("+i+"))();",c.inheritedTo&&(t.src+="}"),t.src+="if (itemKey){",t.src+="cache[itemKey] = "+u+" || "+u+"_inheritance;",t.src+="}",t.src+="}";else{var m=c.isAssignableTo&&c.isAssignableTo(o["default"].Enum);t.src+="var "+u+";",t.src+="var "+u+"_inheritance;",c.inheritedTo&&(t.src+='if (di["'+t.current+'"] && di["'+t.current+'"]["@odata.type"]){',t.src+='var odataType = Container.resolveType(di["'+t.current+'"]["@odata.type"].split("#")[1]);',t.src+="if (odataType){",t.src+=u+"_inheritance = new odataType(undefined, { setDefaultValues: false });",t.src+="}",t.src+="}else{"),f?t.src+=u+" = new (Container.resolveByIndex("+i+"))(undefined, { setDefaultValues: false });":m?t.src+=u+" = Container.resolveByIndex("+i+')[di["'+t.current+'"]];':t.src+=u+" = new (Container.resolveByIndex("+i+"))();",c.inheritedTo&&(t.src+="}")}var g=null;"oData"==this.providerName&&c&&c.openType&&(g=c.openType===!0?o["default"].defaults.openTypeDefaultPropertyName:c.openType,t.src+=u+"."+g+" = {};",t.src+="for (var prop in di){ if (["+c.memberDefinitions.getPublicMappedPropertyNames().map(function(e){return'"'+e+'"'}).join(",")+'].indexOf(prop) < 0 && prop.indexOf("@") < 0 && prop.indexOf("#") < 0){ '+u+"."+g+"[prop] = di[prop]; } };"),t.src+="var "+t.item+"_type;",t.src+="var "+t.item+"_memberDefinitionNames;",t.src+="if ("+t.item+"_inheritance){",t.src+=t.item+" = "+t.item+"_inheritance;",t.src+="if (typeof "+t.item+'.getType == "function"){',t.src+=t.item+"_type = "+t.item+".getType();",t.src+=t.item+"_memberDefinitionNames = "+t.item+"_type.memberDefinitions.getPublicMappedProperties().filter(function(it){ return it.definedBy == "+t.item+"_type || it.definedBy == "+t.item+"_type.inheritsFrom; }).map(function(it){ return it.name; });",t.src+="}",t.src+="}";for(var n in e)if(n.indexOf("$")<0&&n!=g){if(t.src+="if (!"+t.item+"_memberDefinitionNames || ("+t.item+"_memberDefinitionNames && "+t.item+'_memberDefinitionNames.indexOf("'+n+'") >= 0)){',t.current=n,e[n].$item)t.meta.push(n),this.build(e[n],t),t.item=u,t.meta.pop();else if(e[n].$value){t.meta.push(n);var u=t.item;this.build(e[n],t),t.src+=u+"."+n+" = "+t.item+";",t.item=u,t.meta.pop()}else if(e[n].$source){if(t.src+="var fn = function(di){",this._buildSelector(e[n],t),e[n].$type){var r=a.Container.resolveName(a.Container.resolveType(e[n].$type)),i=a.Container.getIndex(a.Container.resolveType(e[n].$type)),s=this.context.storageProvider.fieldConverter.fromDb[r];s?t.src+='return self.context.storageProvider.fieldConverter.fromDb["'+r+'"](di["'+e[n].$source+'"]);':t.src+="return new (Container.resolveByIndex("+i+'))(di["'+e[n].$source+'"]);'}else t.src+=u+"."+n+' = di["'+e[n].$source+'"];';t.src+="};",e[n].$type?t.src+=u+"."+n+" = fn(di);":t.src+="fn(di);"}else if(e[n].$type)t.meta.push(n),t.src+="var fn = function(di){",this._buildSelector(e[n],t),this.build(e[n],t),t.src+="return "+t.item+";};",e[n].$type===o["default"].Object?t.src+=u+"."+n+" = self._deepExtend("+u+"."+n+", fn(di));":t.src+=u+"."+n+" = fn(di);",t.item=u,t.meta.pop();else if(e.$type){var v=a.Container.resolveType(e.$type).memberDefinitions.getMember(n),r=a.Container.resolveName(v.type),x=a.Container.resolveType(e.$type),E=a.Container.getIndex(e.$type),s=this.context.storageProvider.fieldConverter.fromDb[r];if(x.inheritedTo&&(t.src+='if (di["'+e[n]+'"] && di["'+e[n]+'"]["@odata.type"]){',t.src+='var odataType = Container.resolveType(di["'+e[n]+'"]["@odata.type"].split("#")[1]);',t.src+="if (odataType){",t.src+=u+"."+n+" = new odataType(undefined, { setDefaultValues: false });",t.src+="}",t.src+="}else{"),this.providerName&&v&&v.converter&&v.converter[this.providerName]&&"function"==typeof v.converter[this.providerName].fromDb)t.src+=u+"."+n+' = Container.resolveByIndex("'+E+'").memberDefinitions.getMember("'+n+'").converter.'+this.providerName+'.fromDb(di["'+e[n]+'"], Container.resolveByIndex("'+E+'").memberDefinitions.getMember("'+n+'"), self.context, Container.resolveByIndex("'+E+'"));';else if(s)t.src+=u+"."+n+' = self.context.storageProvider.fieldConverter.fromDb["'+r+'"](di["'+e[n]+'"]);';else{var i=a.Container.getIndex(a.Container.resolveType(r.memberDefinitions.getMember(n).type));t.src+=u+"."+n+" = new (Container.resolveByIndex("+i+'))(di["'+e[n]+'"]);'}x.inheritedTo&&(t.src+="}")}t.src+="}"}t.src+=u+" = self._finalize("+u+");"}},call:function(e,t){if(!Object.getOwnPropertyNames(t).length)return e;var n={src:"",meta:[]};n.src+="var self = this;",n.src+="var result;",n.src+="var cache = {};",n.src+="var keycache = [];",n.src+="var keycacheIter = [];",this.build(t,n),n.item&&(n.src+='if (typeof result === "undefined") result = '+n.item+";"),n.src+="return result;";var r=new Function("meta","data","Container",n.src).bind(this),i=r(t,e,a.Container);return i}}),n["default"]=o["default"],t.exports=n["default"]},{"../TypeSystem/index.js":44}],114:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);a["default"].Class.define("$data.Notifications.ChangeCollector",a["default"].Notifications.ChangeCollectorBase,null,{buildData:function(e){var t=[];return e.forEach(function(e){var n={entityState:e.data.entityState,typeName:e.data.getType().name},r=[];switch(e.data.entityState){case a["default"].EntityState.Added:r=e.data.getType().memberDefinitions.getPublicMappedProperties();break;case a["default"].EntityState.Modified:r=e.data.changedProperties;break;case a["default"].EntityState.Deleted:r=e.data.getType().memberDefinitions.getKeyProperties()}r.forEach(function(t){n[t.name]=e.data[t.name]}),t.push(n)}),t}},null),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],115:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);a["default"].Class.define("$data.Notifications.ChangeCollectorBase",null,null,{buildData:function(e){i.Guard.raise("Pure class")},processChangedData:function(e){this.Distrbutor&&this.Distrbutor.distributeData&&this.Distrbutor.distributeData(this.buildData(e))},Distrbutor:{enumerable:!1,dataType:a["default"].Notifications.ChangeDistributorBase,storeOnObject:!0}},null),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],116:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);a["default"].Class.define("$data.Notifications.ChangeDistributor",a["default"].Notifications.ChangeDistributorBase,null,{constructor:function(e){this.broadcastUrl=e},distributeData:function(e){a["default"].ajax({url:this.broadcastUrl,type:"POST",data:"data="+JSON.stringify(e),succes:this.success,error:this.error})},broadcastUrl:{dataType:"string"},success:function(){},error:function(){}},null),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],117:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);a["default"].Class.define("$data.Notifications.ChangeDistributorBase",null,null,{distributeData:function(e){i.Guard.raise("Pure class")}},null),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],118:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.Query",null,null,{constructor:function(e,t,n){this.expression=e,this.context=n,this.expressions=e,this.defaultType=t,this.result=[],this.rawDataList=[],this.modelBinderConfig={},this.context=n},rawDataList:{dataType:"Array"},result:{dataType:"Array"},resultType:{},buildResultSet:function(e){var t=new a["default"].ModelBinder(this.context);this.result=t.call(this.rawDataList,this.modelBinderConfig)},getEntitySets:function(){var e=[],t=this.context,n=function r(n){if(n instanceof a["default"].Expressions.EntitySetExpression&&t._entitySetReferences[n.elementType.name]&&e.indexOf(t._entitySetReferences[n.elementType.name])<0&&e.push(t._entitySetReferences[n.elementType.name]),n.source&&r(n.source),n.members)for(var i=0;i<n.members.length;i++)r(n.members[i].expression)};return n(this.expression),e}},null),n["default"]=a["default"],t.exports=n["default"]},{"../TypeSystem/index.js":44}],119:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.queryBuilder",null,null,{constructor:function(){this._fragments={},this.selectedFragment=null,this._binderConfig={},this.modelBinderConfig=this._binderConfig,this._binderConfigPropertyStack=[]},selectTextPart:function(e){this._fragments[e]||(this._fragments[e]={text:"",params:[]}),this.selectedFragment=this._fragments[e]},getTextPart:function(e){return this._fragments[e]},addText:function(e){this.selectedFragment.text+=e},addParameter:function(e){this.selectedFragment.params.push(e)},selectModelBinderProperty:function(e){this._binderConfigPropertyStack.push(this.modelBinderConfig),e in this.modelBinderConfig||(this.modelBinderConfig[e]={}),this.modelBinderConfig=this.modelBinderConfig[e]},popModelBinderProperty:function(){0===this._binderConfigPropertyStack.length?this.modelBinderConfig=this._binderConfig():this.modelBinderConfig=this._binderConfigPropertyStack.pop()},resetModelBinderProperty:function(e){this._binderConfigPropertyStack=[],this.modelBinderConfig=this._binderConfig},addKeyField:function(e){this.modelBinderConfig.$keys||(this.modelBinderConfig.$keys=new Array),this.modelBinderConfig.$keys.push(e)}}),n["default"]=a["default"],t.exports=n["default"]},{"../TypeSystem/index.js":44}],120:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../TypeSystem/index.js"),a=r(i);a["default"].Class.define("$data.QueryProvider",null,null,{constructor:function(){this.requiresExpressions=!1},executeQuery:function(e,t){},getTraceString:function(e){}},null),n["default"]=a["default"],t.exports=n["default"]},{"../TypeSystem/index.js":44}],121:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},a=e("../TypeSystem/index.js"),o=r(a);o["default"].Class.define("$data.Queryable",null,null,{constructor:function(e,t){var n=e instanceof o["default"].EntityContext?e:e.entityContext;this.defaultType=e instanceof o["default"].EntityContext?null:e.defaultType,this.entityContext=n,this.expression=t},filter:function(e,t){3===arguments.length&&(e="it."+arguments[0]+("."===arguments[1][0]?arguments[1]+"(param)":" "+arguments[1]+" param"),t={param:arguments[2]}),this._checkOperation("filter");var n=a.Container.createCodeExpression(e,t),r=this.expression;if(this.expression instanceof o["default"].Expressions.FilterExpression){r=this.expression.source;var i=this.entityContext.storageProvider.resolveBinaryOperator("and");n=a.Container.createSimpleBinaryExpression(this.expression.selector,n,"and","filter","boolean",i)}var s=a.Container.createFilterExpression(r,n),u=a.Container.createQueryable(this,s);return u},where:function(e,t){return this.filter(e,t)},map:function(e,t,n){this._checkOperation("map");var r=a.Container.createCodeExpression(e,t),i=a.Container.createProjectionExpression(this.expression,r);"default"===n?i.projectionAs=this.defaultType:n?i.projectionAs=a.Container.resolveType(n):i.projectionAs=o["default"].Object;var s=a.Container.createQueryable(this,i);return s},select:function(e,t,n){return this.map(e,t,n)},length:function(e,t){this._checkOperation("length");var n=new o["default"].PromiseHandler,r=n.createCallback(e),i=a.Container.createCountExpression(this.expression),s=a.Container.createQueryExpressionCreator(this.entityContext);try{var u=s.Visit(i);this.entityContext.log({event:"EntityExpression",data:u}),this.entityContext.executeQuery(a.Container.createQueryable(this,u),r,t)}catch(l){r.error(l)}return n.getPromise()},count:function(e,t){return this.length(e,t)},forEach:function(e,t){function n(t){t.forEach(e)}this._checkOperation("forEach");var r=new o["default"].PromiseHandler,i=r.createCallback(n),s=a.Container.createForEachExpression(this.expression),u=a.Container.createQueryExpressionCreator(this.entityContext);try{var l=u.Visit(s);this.entityContext.log({event:"EntityExpression",data:l}),this.entityContext.executeQuery(a.Container.createQueryable(this,l),i,t)}catch(p){i.error(p)}return r.getPromise()},toArray:function(e,t){if(e instanceof o["default"].Array)return this.toArray(function(t){e.length=0,t.forEach(function(t,n){e.push(t)})});this._checkOperation("toArray");var n=new o["default"].PromiseHandler,r=n.createCallback(e),i=a.Container.createToArrayExpression(this.expression),s=a.Container.createQueryExpressionCreator(this.entityContext);try{var u=s.Visit(i);this.entityContext.log({event:"EntityExpression",data:u}),this.entityContext.executeQuery(a.Container.createQueryable(this,u),r,t)}catch(l){r.error(l)}return n.getPromise()},toLiveArray:function(e,t){var n=this,r=[],i=function a(e){return function(n){var i=new o["default"].PromiseHandler,s=i.createCallback(n),u=function(e){r.length=0;var t=e;o["default"].typeSystem.extend(r,t),r.prev=a(function(e){t.prev(e)}),r.next=a(function(e){t.next(e)}),s.success.apply(this,[r].concat(Array.prototype.slice.call(arguments,1)))};e({success:u,error:s.error},t);var l=i.getPromise();return o["default"].typeSystem.extend(r,l),r}};return r.refresh=i(function(e){n.toArray(e)}),r.refresh.apply(r,arguments)},single:function(e,t,n,r){this._checkOperation("single");var i=this;e&&(i=this.filter(e,t)),i=i.take(2);var s=new o["default"].PromiseHandler,u=s.createCallback(n),l=a.Container.createSingleExpression(i.expression),p=a.Container.createQueryExpressionCreator(i.entityContext);try{var d=p.Visit(l);this.entityContext.log({event:"EntityExpression",data:d}),i.entityContext.executeQuery(a.Container.createQueryable(i,d),u,r)}catch(c){u.error(c)}return s.getPromise()},some:function(e,t,n,r){this._checkOperation("some");var i=this;e&&(i=this.filter(e,t)),i=i.take(1);var s=new o["default"].PromiseHandler,u=s.createCallback(n),l=a.Container.createSomeExpression(i.expression),p=a.Container.createQueryExpressionCreator(i.entityContext);try{var d=p.Visit(l);this.entityContext.log({event:"EntityExpression",data:d}),i.entityContext.executeQuery(a.Container.createQueryable(i,d),u,r)}catch(c){u.error(c)}return s.getPromise()},every:function(e,t,n,r){this._checkOperation("every");var i=this;e&&(i=this.filter(e,t)),i=i.take(1);var s=new o["default"].PromiseHandler,u=s.createCallback(n),l=a.Container.createEveryExpression(i.expression),p=a.Container.createQueryExpressionCreator(i.entityContext);try{var d=p.Visit(l);this.entityContext.log({event:"EntityExpression",data:d}),i.entityContext.executeQuery(a.Container.createQueryable(i,d),u,r)}catch(c){u.error(c)}return s.getPromise()},take:function(e){this._checkOperation("take");var t=a.Container.createConstantExpression(e,"integer"),n=a.Container.createPagingExpression(this.expression,t,o["default"].Expressions.ExpressionType.Take);return a.Container.createQueryable(this,n)},skip:function(e){this._checkOperation("skip");var t=a.Container.createConstantExpression(e,"integer"),n=a.Container.createPagingExpression(this.expression,t,o["default"].Expressions.ExpressionType.Skip);return a.Container.createQueryable(this,n)},order:function(e){if(""===e||void 0===e||null===e)return this;if("-"===e[0]){var t="it."+e.replace("-","");return this.orderByDescending(t)}return this.orderBy("it."+e)},orderBy:function(e,t){this._checkOperation("orderBy");var n=a.Container.createCodeExpression(e,t),r=a.Container.createOrderExpression(this.expression,n,o["default"].Expressions.ExpressionType.OrderBy),i=a.Container.createQueryable(this,r);return i},orderByDescending:function(e,t){this._checkOperation("orderByDescending");var n=a.Container.createCodeExpression(e,t),r=a.Container.createOrderExpression(this.expression,n,o["default"].Expressions.ExpressionType.OrderByDescending),i=a.Container.createQueryable(this,r);return i},first:function(e,t,n,r){this._checkOperation("first");var i=this;e&&(i=this.filter(e,t)),i=i.take(1);var s=new o["default"].PromiseHandler,u=s.createCallback(n),l=a.Container.createFirstExpression(i.expression),p=a.Container.createQueryExpressionCreator(i.entityContext);try{var d=p.Visit(l);i.entityContext.log({event:"EntityExpression",data:d}),i.entityContext.executeQuery(a.Container.createQueryable(i,d),u,r)}catch(c){u.error(c)}return s.getPromise()},find:function(e,t,n){var r=new o["default"].PromiseHandler,s=r.createCallback(t),u=this.defaultType.memberDefinitions.getKeyProperties();try{if(1===u.length&&"object"!==("undefined"==typeof e?"undefined":i(e))){var l={};l[u[0].name]=e,e=l}if("object"!==("undefined"==typeof e?"undefined":i(e)))throw new a.Exception("Key parameter is invalid");for(var p=[],d=0;d<u.length;d++){var c=u[d];if(!(c.name in e))throw new a.Exception("Key value missing");p.push(a.Container.createConstantExpression(e[c.name],c.type,c.name))}var f=this.entityContext.storageProvider.supportedSetOperations.find;if(f){var y=a.Container.createFindExpression(this.expression,p),h=a.Container.createQueryExpressionCreator(this.entityContext);try{var m=h.Visit(y);this.entityContext.log({event:"EntityExpression",data:m}),this.entityContext.executeQuery(a.Container.createQueryable(this,m),s,n)}catch(g){s.error(g)}}else{for(var v="",x={},d=0;d<p.length;d++){var E=p[d];x[E.name]=E.value,d>0&&(v+=" && "),v+="it."+E.name+" == this."+E.name}this.single(v,x,s,n)}}catch(g){s.error(g)}return r.getPromise()},include:function(e){if(this.entityContext&&this.entityContext.storageProvider&&"oData"===this.entityContext.storageProvider.name)return this.include2.apply(this,arguments);this._checkOperation("include");var t=a.Container.createConstantExpression(e,"string"),n=a.Container.createIncludeExpression(this.expression,t);return a.Container.createQueryable(this,n)},include2:function(e,t){this._checkOperation("include"),"string"==typeof e&&(e.length<3||"it."!==e.substr(0,3))&&!/^[^\.]*(=>)/.test(e)&&(e="it."+e);var n=a.Container.createCodeExpression(e,t),r=a.Container.createIncludeExpression(this.expression,n);return a.Container.createQueryable(this,r)},withInlineCount:function(e){this._checkOperation("withInlineCount");var t=a.Container.createConstantExpression(e||"allpages","string"),n=a.Container.createInlineCountExpression(this.expression,t);return a.Container.createQueryable(this,n)},withCount:function(e){return this.withInlineCount(e)},removeAll:function(e,t){this._checkOperation("batchDelete");var n=new o["default"].PromiseHandler,r=n.createCallback(e),i=a.Container.createBatchDeleteExpression(this.expression),s=a.Container.createQueryExpressionCreator(this.entityContext);try{var u=s.Visit(i);this.entityContext.log({event:"EntityExpression",data:u}),this.entityContext.executeQuery(a.Container.createQueryable(this,u),r,t)}catch(l){r.error(l)}return n.getPromise()},_runQuery:function(e,t){var n=new o["default"].PromiseHandler,r=n.createCallback(e),i=a.Container.createQueryExpressionCreator(this.entityContext);try{var s=i.Visit(this.expression);this.entityContext.log({event:"EntityExpression",data:s}),this.entityContext.executeQuery(a.Container.createQueryable(this,s),r,t)}catch(u){r.error(u)}return n.getPromise()},toTraceString:function(e){var t=this.expression;t=e?a.Container["create"+e+"Expression"](t):a.Container.createToArrayExpression(t);var n=a.Container.createQueryExpressionCreator(this.entityContext);t=n.Visit(t);var r=a.Container.createQueryable(this,t);return r.entityContext.getTraceString(r)},_checkOperation:function(e){var t=this.entityContext.resolveSetOperations(e);void 0==t.invokable||t.invokable||a.Guard.raise(new a.Exception("Operation '"+e+"' is not invokable with the provider"))},defaultType:{}},null),n["default"]=o["default"],t.exports=n["default"]},{"../TypeSystem/index.js":44}],122:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../TypeSystem/index.js"),a=r(i);a["default"].Class.define("$data.RelatedEntityProxy",null,null,{constructor:function(e,t,n,r,i){this._entityKeyObject=e,this._navigationProperty=t,this._type=n,this._parent=r,this._context=i},_entityKeyObject:{type:a["default"].Object},_ctxFactory:{},_type:{},_navigationProperty:{type:a["default"].String},_parent:{type:"$data.RelatedEntityProxy"},_context:{type:"$data.EntityContext"},_getContext:function(e){e=e||this._chainToArray();var t=e[0],n=t._context;if(!n){var r=t._parent instanceof a["default"].Entity?t._parent.storeToken:t._type.storeToken;r&&"function"==typeof r.factory&&(n=r.factory())}if(!n)throw new i.Exception("ContextNotExists");return n},_createQueryable:function(){var e=this._chainToArray(),t=e[0],n=this._getContext(e),r=null,o=null;if(t._parent instanceof a["default"].Entity){r=n.getEntitySetFromElementType(t._parent.getType());var s=n._createRelatedEntityProxyClass(r.elementType);e.unshift(new s(t._parent,void 0,r.elementType))}else r=n.getEntitySetFromElementType(t._type);o=r.expression;for(var u=null,l=0;l<e.length;l++){for(var p=e[l],d=p._type.memberDefinitions.getKeyProperties(),c=[],f=0,y=0;y<d.length;y++){var h=d[y];h.name in p._entityKeyObject&&"undefined"!=typeof p._entityKeyObject[h.name]?c.push(i.Container.createConstantExpression(p._entityKeyObject[h.name],h.type,h.name)):f++}if(f>0&&f<d.length)throw new i.Exception("Key value missing");var m=void 0;p._navigationProperty&&(m=i.Container.createMemberInfoExpression(p._navigationProperty),u=p._navigationProperty.elementType),0==f?(o=i.Container.createFindExpression(o,c,m),this._lastEntityKeys=p._entityKeyObject):(o=i.Container.createEntitySetExpression(o,m,null,n.getEntitySetFromElementType(u)),o=i.Container.createToArrayExpression(o),this._lastEntityKeys=null)}var g=i.Container.createQueryExpressionCreator(n);o=g.Visit(o);var v=i.Container.createQueryable(r,o);return v.defaultType=u||v.defaultType,v},_save:function(e,t,n){var r=new a["default"].PromiseHandler,i=r.createCallback(n);try{var o=this._createQueryable(),s=o.entityContext,u=o.defaultType;e instanceof a["default"].Entity&&(o.defaultType=u=e.getType());var l=o.toTraceString().queryText,p=e,d=e.initData||e;if(e=new u,e["@odata.context"]=l,e.getType().inheritsFrom!=a["default"].Entity&&(e["@odata.type"]="#"+u.fullName),"update"==t){s.attach(e);for(var c in d)e[c]=d[c]}else"create"==t?s.add(p):"delete"==t&&s.remove(e);s.saveChanges(i)}catch(f){i.error(f)}return r.getPromise()},create:function(e,t){return this._save(e,"create",t)},read:function(e){var t=new a["default"].PromiseHandler,n=t.createCallback(e);try{this._getContext().executeQuery(this._createQueryable(),n)}catch(r){n.error(r)}return t.getPromise()},update:function(e,t){this._save(e,"update",t)},"delete":function(e,t){return"function"==typeof e&&(t=e),this._save({},"delete",t)},_chainToArray:function(e){return e=e||[],this._parent instanceof a["default"].RelatedEntityProxy&&this._parent._chainToArray(e),e.push(this),e}},{}),n["default"]=a["default"],t.exports=n["default"]},{"../TypeSystem/index.js":44}],123:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},a=e("../TypeSystem/index.js"),o=r(a);o["default"].Class.define("$data.ServiceOperation",null,null,{},{translateDefinition:function(e,t,n){e.serviceName=t;var r=new o["default"].MemberDefinition(this.generateServiceOperation(e),this);return r.name=t,r},generateServiceOperation:function(e){var t;if(e.serviceMethod){var n=e.returnType?a.Container.resolveType(e.returnType):{};t=n.isAssignableTo&&n.isAssignableTo(o["default"].Queryable)?e.serviceMethod:function(){var t,n=arguments[arguments.length-1],r=new o["default"].PromiseHandler;"function"==typeof n?(t=r.createCallback(n),arguments[arguments.length-1]=t):(t=r.createCallback(),arguments.push(t));try{var i=e.serviceMethod.apply(this,arguments);void 0!==i&&t.success(i)}catch(a){t.error(a)}return r.getPromise()}}else t=function(){var t,n,r=this;if(this instanceof o["default"].Entity||this instanceof o["default"].EntitySet){var s;if(this instanceof o["default"].Entity)if(this.context)r=this.context,s=r.getEntitySetFromElementType(this.getType());else{if(!this.storeToken||"function"!=typeof this.storeToken.factory)return void a.Guard.raise(new a.Exception("entity can't resolve context","Not Found!",this));r=this.storeToken.factory(),s=r.getEntitySetFromElementType(this.getType())}else if(this instanceof o["default"].EntitySet){r=this.entityContext,s=this;var u=r.getType().getMemberDefinition(s.name);t=o["default"].MemberDefinition.translateDefinition(u.actions[e.serviceName],e.serviceName,s.getType())}n={data:this,entitySet:s}}var l=e.elementType?r.getEntitySetFromElementType(a.Container.resolveType(e.elementType)):null,p=null;
if(e.params)if(p=[],arguments[0]&&"object"===i(arguments[0])&&arguments[0].constructor===o["default"].Object&&e.params&&e.params[0]&&e.params[0].name in arguments[0])for(var d=arguments[0],c=0;c<e.params.length;c++){var f=e.params[c];f.name&&f.type&&f.name in d&&p.push(a.Container.createConstantExpression(d[f.name],a.Container.resolveType(f.type),f.name,f.elementType))}else for(var c=0;c<e.params.length&&"function"!=typeof arguments[c];c++){var f=e.params[c];f.name&&f.type&&void 0!==arguments[c]&&p.push(a.Container.createConstantExpression(arguments[c],a.Container.resolveType(f.type),f.name,f.elementType))}var y=a.Container.createEntityContextExpression(r);t||(t=n&&n.data?n.data.getType().getMemberDefinition(e.serviceName):r.getType().getMemberDefinition(e.serviceName));var h=a.Container.createServiceOperationExpression(y,a.Container.createMemberInfoExpression(t),p,e,n),m=arguments[arguments.length-1];if("function"!=typeof m&&("object"!==("undefined"==typeof m?"undefined":i(m))||"function"!=typeof m.success&&"function"!=typeof m.error)&&(m=void 0),l){var g=a.Container.createQueryable(l,h);return m?(h.isTerminated=!0,g._runQuery(m)):g}var v=e.returnType?a.Container.resolveType(e.returnType):null,g=a.Container.createQueryable(r,h);return g.defaultType=v||o["default"].Object,v===o["default"].Queryable?(g.defaultType=a.Container.resolveType(e.elementType),m?(h.isTerminated=!0,g._runQuery(m)):g):(h.isTerminated=!0,g._runQuery(m))};var r=e.params||[];return o["default"].typeSystem.extend(t,e,{params:r}),t}}),o["default"].Class.define("$data.ServiceAction",o["default"].ServiceOperation,null,{},{generateServiceOperation:function(e){return e.method||(e.method="POST"),o["default"].ServiceOperation.generateServiceOperation.apply(this,arguments)}}),o["default"].Class.define("$data.ServiceFunction",o["default"].ServiceOperation,null,{},{generateServiceOperation:function(e){return e.method||(e.method="GET"),o["default"].ServiceOperation.generateServiceOperation.apply(this,arguments)}}),n["default"]=o["default"],t.exports=n["default"]},{"../TypeSystem/index.js":44}],124:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../TypeSystem/index.js"),a=r(i);a["default"].storageProviders={DbCreationType:{Merge:10,DropTableIfChanged:20,DropTableIfChange:20,DropAllExistingTables:30,ErrorIfChange:40,DropDbIfChange:50}},a["default"].ConcurrencyMode={Fixed:"fixed",None:"none"},a["default"].Class.define("$data.StorageProviderBase",null,null,{constructor:function(e,t){if(this.providerConfiguration=e||{},this.name=this.getType().name,a["default"].RegisteredStorageProviders)for(var n=Object.keys(a["default"].RegisteredStorageProviders),r=0;r<n.length;r++)if(this instanceof a["default"].RegisteredStorageProviders[n[r]]){this.name=n[r];break}},providers:{},supportedDataTypes:{value:[],writable:!1},initializeStore:function(e){i.Guard.raise("Pure class")},executeQuery:function(e,t){i.Guard.raise("Pure class")},loadRawData:function(e,t){t=a["default"].PromiseHandlerBase.createCallbackSettings(t),t.error(new i.Exception("loadRawData is not supported","Invalid Operation"))},buildIndependentBlocks:function(e){function t(e){for(var t in e)if(e.hasOwnProperty(t))return!0;return!1}for(var n=[],r=[],o=0;o<e.length;o++){var s=e[o];if(s.dependentOn&&0!=s.dependentOn.length){for(var u=null,l=0;l<s.dependentOn.length;l++){var p=s.dependentOn[l];if(p.entityState!=a["default"].EntityState.Unchanged){u=u||{};for(var d=-1,c=0;c<e.length;c++)if(e[c].data==p){d=c,e[c].referredBy=e[c].referredBy||[],e[c].referredBy.push(s.data);break}-1==d&&i.Guard.raise(new i.Exception("Dependent object not found","ObjectNotFound",s.dependentOn[l])),u[d]=!0;var f=r[d]||{};f[o]=!0,r[d]=f}}null!==u&&(n[o]=u)}}for(var y=[],h=[],m=0;m<e.length;m++)n.hasOwnProperty(m)||h.push(m);for(;h.length>0;){var g=[].concat(h);h=[];for(var v=0;v<g.length;v++){var x=r[g[v]];if("undefined"!=typeof x)for(var E in x)delete n[E][g[v]],t(n[E])||(delete n[E],h.push(E));delete r[g[v]]}for(var b=[],T=0;T<g.length;T++){var C=e[g[T]];C.data.entityState!=a["default"].EntityState.Unchanged&&b.push(C)}b.length>0&&y.push(b)}return y},getTraceString:function(e){i.Guard.raise("Pure class")},setContext:function(e){this.context=e},_buildContinuationFunction:function(e,t){Array.isArray(t.result)&&(t.result.next=this._buildPagingMethod(e,t,"next"),t.result.prev=this._buildPagingMethod(e,t,"prev"))},_buildPagingMethod:function(e,t,n){return function(r){var o=new a["default"].PromiseHandler,s=o.createCallback(r),u=new a["default"].Expressions.ContinuationExpressionBuilder(n),l=u.compile(t);if(l.expression){var p=i.Container.createQueryable(e,l.expression);p.defaultType=t.defaultType,e.executeQuery(p,s)}else s.error(new i.Exception(l.message,"Invalid Operation",l));return o.getPromise()}},buildDbType_modifyInstanceDefinition:function(e,t){var n=function(t,n){var r;return n?(r=JSON.parse(JSON.stringify(e[n])),r.kind=t.kind,r.name=t.name,r.notMapped=!1):r=JSON.parse(JSON.stringify(t)),r.dataType=i.Container.resolveType(t.dataType),r.type=r.dataType,r.key=!1,r.computed=!1,r},r=function(e,t,n,r,i){var a=new Object;return a[e.name]=n,a[t.name]=i?i:r+"__"+n,a};t.Associations&&t.Associations.forEach(function(t){var i=!1,a=t.FromType,o=t.ToType,s=t.ToPropertyName,u=t.FromType.getMemberDefinition(t.FromPropertyName),l=[];u&&"string"==typeof u.keys&&u.keys?l=[u.keys]:u&&Array.isArray(u.keys)&&(l=[].concat(u.keys)),t.ReferentialConstraint=t.ReferentialConstraint||[],("*"==t.FromMultiplicity&&"0..1"==t.ToMultiplicity||"0..1"==t.FromMultiplicity&&"1"==t.ToMultiplicity)&&(a=t.ToType,o=t.FromType,s=t.FromPropertyName,i=!0),a.memberDefinitions.getPublicMappedProperties().filter(function(e){return e.key}).forEach(function(u,p){var d=r(a,o,u.name,s,l[p]);if(i){e[d[o.name]]=n(u,s);var c=o.getMemberDefinition(l[p]);c&&(c.isDependentProperty=!0,c.navigationPropertyName=t.FromPropertyName)}t.ReferentialConstraint.push(d)},this)},this),t.ComplexTypes&&t.ComplexTypes.forEach(function(t){t.ReferentialConstraint=t.ReferentialConstraint||[],t.ToType.memberDefinitions.getPublicMappedProperties().forEach(function(i){e[t.FromPropertyName+"__"+i.name]=n(i),t.ReferentialConstraint.push(r(t.ToType,t.FromType,i.name,t.FromPropertyName))},this)},this)},buildDbType_generateConvertToFunction:function(e){return function(t){var n=new e.PhysicalType;return n.entityState=t.entityState,e.PhysicalType.memberDefinitions.getPublicMappedProperties().forEach(function(e){void 0!==t[e.name]&&(n[e.name]=t[e.name])},this),e.Associations&&e.Associations.forEach(function(e){if("*"==e.FromMultiplicity&&"0..1"==e.ToMultiplicity||"0..1"==e.FromMultiplicity&&"1"==e.ToMultiplicity){var r=t[e.FromPropertyName];void 0!==r&&e.ReferentialConstraint.forEach(function(t){null!==r?n[t[e.From]]=r[t[e.To]]:n[t[e.From]]=null},this)}},this),e.ComplexTypes&&e.ComplexTypes.forEach(function(e){var r=t[e.FromPropertyName];void 0!==r&&e.ReferentialConstraint.forEach(function(t){null!==r?n[t[e.From]]=r[t[e.To]]:n[t[e.From]]=null},this)},this),n}},bulkInsert:function(e,t,n,r){r.error(new i.Exception("Not Implemented"))},supportedFieldOperations:{value:{length:{dataType:"number",allowedIn:"filter, map"},substr:{dataType:"string",allowedIn:"filter",parameters:[{name:"startFrom",dataType:"number"},{name:"length",dataType:"number"}]},toLowerCase:{dataType:"string"}},enumerable:!0,writable:!0},resolveFieldOperation:function(e,t,n){var r=this.supportedFieldOperations[e];if(Array.isArray(r)){for(var a=0;a<r.length;a++)if("default"===r[a].allowedType||i.Container.resolveType(r[a].allowedType)===i.Container.resolveType(t.selector.memberDefinition.type)&&n&&r[a].allowedIn&&(Array.isArray(r[a].allowedIn)&&r[a].allowedIn.some(function(e){return n===i.Container.resolveType(e)})||!Array.isArray(r[a].allowedIn)&&n===i.Container.resolveType(r[a].allowedIn))){r=r[a];break}a===r.length&&(r=void 0)}return r||i.Guard.raise(new i.Exception("Field operation '"+e+"' is not supported by the provider")),n&&r.allowedIn&&(r.allowedIn instanceof Array&&!r.allowedIn.some(function(e){return n===i.Container.resolveType(e)})||!(r.allowedIn instanceof Array)&&n!==i.Container.resolveType(r.allowedIn))&&i.Guard.raise(new i.Exception(e+" not supported in: "+n.name)),r.name=e,r},supportedBinaryOperators:{value:{equal:{mapTo:"eq",dataType:"boolean"}},enumerable:!0,writable:!0},resolveBinaryOperator:function(e,t,n){var r=this.supportedBinaryOperators[e];return r||i.Guard.raise(new i.Exception("Binary operator '"+e+"' is not supported by the provider")),n&&r.allowedIn&&(r.allowedIn instanceof Array&&!r.allowedIn.some(function(e){return n===i.Container.resolveType(e)})||!(r.allowedIn instanceof Array)&&n!==i.Container.resolveType(r.allowedIn))&&i.Guard.raise(new i.Exception(e+" not supported in: "+n.name)),r.name=e,r},supportedUnaryOperators:{value:{not:{mapTo:"not"}},enumerable:!0,writable:!0},resolveUnaryOperator:function(e,t,n){var r=this.supportedUnaryOperators[e];return r||i.Guard.raise(new i.Exception("Unary operator '"+e+"' is not supported by the provider")),n&&r.allowedIn&&(r.allowedIn instanceof Array&&!r.allowedIn.some(function(e){return n===i.Container.resolveType(e)})||!(r.allowedIn instanceof Array)&&n!==i.Container.resolveType(r.allowedIn))&&i.Guard.raise(new i.Exception(e+" not supported in: "+n.name)),r.name=e,r},supportedSetOperations:{value:{toArray:{invokable:!0,allowedIn:[]}},enumerable:!0,writable:!0},resolveSetOperations:function(e,t,n){var r=this.supportedSetOperations[e];r||i.Guard.raise(new i.Exception("Operation '"+e+"' is not supported by the provider"));var a=r.allowedIn||[];return n&&a&&(a instanceof Array&&!a.some(function(e){return n===i.Container.resolveType(e)})||!(a instanceof Array)&&n!==i.Container.resolveType(a))&&i.Guard.raise(new i.Exception(e+" not supported in: "+n.name)),r},resolveTypeOperations:function(e,t,n){i.Guard.raise(new i.Exception("Entity '"+t.entityType.name+"' Operation '"+e+"' is not supported by the provider"))},resolveContextOperations:function(e,t,n){i.Guard.raise(new i.Exception("Context '"+t.instance.getType().name+"' Operation '"+e+"' is not supported by the provider"))},makePhysicalTypeDefinition:function(e,t){},_beginTran:function(e,t,n){n.success(new a["default"].Transaction)},getFieldUrl:function(){return"#"},supportedAutoincrementKeys:{value:{}}},{onRegisterProvider:{value:new a["default"].Event},registerProvider:function(e,t){this.onRegisterProvider.fire({name:e,provider:t},this),a["default"].RegisteredStorageProviders=a["default"].RegisteredStorageProviders||[],a["default"].RegisteredStorageProviders[e]=t},getProvider:function(e){var t=a["default"].RegisteredStorageProviders[e];return t||console.warn("Provider not found: '"+e+"'"),t},isSupported:{get:function(){return!0},set:function(){}}}),n["default"]=a["default"],t.exports=n["default"]},{"../TypeSystem/index.js":44}],125:[function(e,t,n){(function(r,i){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var o=e("../TypeSystem/index.js"),s=a(o);s["default"].Class.define("$data.StorageProviderLoaderBase",null,null,{isSupported:function(e){s["default"].Trace.log("Detecting "+e+" provider support");var t=!0;switch(e){case"indexedDb":t=s["default"].__global.indexedDB||s["default"].__global.webkitIndexedDB||s["default"].__global.mozIndexedDB||s["default"].__global.msIndexedDB&&!/^file:/.test(s["default"].__global.location&&s["default"].__global.location.href);break;case"storm":t="XMLHttpRequest"in s["default"].__global;break;case"webSql":case"sqLite":t="openDatabase"in s["default"].__global;break;case"LocalStore":t=!!("localStorage"in s["default"].__global&&s["default"].__global.localStorage);break;case"sqLite":t="openDatabase"in s["default"].__global;break;case"mongoDB":t=s["default"].mongoDBDriver}return s["default"].Trace.log(e+" provider is "+(t?"":"not")+" supported"),t},scriptLoadTimeout:{type:"int",value:1e3},scriptLoadInterval:{type:"int",value:50},npmModules:{value:{indexedDb:"jaydata-indexeddb",InMemory:"jaydata-inmemory",LocalStore:"jaydata-inmemory",mongoDB:"jaydata-mongodb",oData:"jaydata-odata",webApi:"jaydata-webapi",sqLite:"jaydata-sqlite",webSql:"jaydata-sqlite",storm:"jaydata-storm"}},ProviderNames:{value:{indexedDb:"IndexedDb",InMemory:"InMemory",LocalStore:"InMemory",oData:"oData",webApi:"WebApi",sqLite:"SqLite",webSql:"SqLite",storm:"Storm"}},load:function(e,t){s["default"].RegisteredStorageProviders=s["default"].RegisteredStorageProviders||{},s["default"].Trace.log("Loading provider(s): "+e),t=s["default"].PromiseHandlerBase.createCallbackSettings(t);var n=this,r=e.join(",");n._fallbackCache=n._fallbackCache||{},n._fallbackCache[r]?t.success(n._fallbackCache[r]):this.find(e,{success:function(e,i){n._fallbackCache[r]=e,t.success.call(this,e)},error:t.error})},find:function(e,t){var n=e.shift(),n=this.getVirtual(n);for(Array.isArray(n)&&(e=n,n=e.shift());n&&!this.isSupported(n);)n=e.shift();if(s["default"].Trace.log("First supported provider is "+n),n||(s["default"].Trace.log("Provider fallback failed"),t.error()),s["default"].RegisteredStorageProviders){s["default"].Trace.log("Is the "+n+" provider already registered?");var i=s["default"].RegisteredStorageProviders[n];if(i)return s["default"].Trace.log(n+" provider registered"),void t.success(i);s["default"].Trace.log(n+" provider not registered")}r.browser?(s["default"].Trace.log("Browser detected trying to load provider"),this.loadProvider(n,e,t)):(s["default"].Trace.log("node.js detected trying to load NPM module"),this.loadNpmModule(n,e,t))},loadProvider:function(e,t,n){var r=this,i=s["default"].StorageProviderLoader.ProviderNames[e]||e;if(s["default"].Trace.log(e+" provider is mapped to name "+i+"Provider"),i){var a=this.getUrl(i);s["default"].Trace.log(e+" provider from URL: "+a);var o=this.loadScript;document&&document.createElement&&(s["default"].Trace.log("document and document.createElement detected, using script element loader method"),o=this.loadScriptElement),o.call(this,a,e,function(i){var a=s["default"].RegisteredStorageProviders[e];i&&a?(s["default"].Trace.log(e+" provider successfully registered"),n.success(a)):t.length>0?(s["default"].Trace.log(e+" provider failed to load, trying to fallback to "+t+" provider(s)"),r.find(t,n)):(s["default"].Trace.log(e+" provider failed to load"),n.error())})}},getUrl:function(e){var t=document.querySelector('script[src$="jaydata.min.js"]'),n=document.querySelector('script[src$="jaydata.js"]');return t?t.src.substring(0,t.src.lastIndexOf("/")+1)+"jaydataproviders/"+e+"Provider.min.js":n?n.src.substring(0,n.src.lastIndexOf("/")+1)+"jaydataproviders/"+e+"Provider.js":"jaydataproviders/"+e+"Provider.js"},loadScript:function(e,t,n){function r(){return s["default"].__global.XMLHttpRequest?new XMLHttpRequest:void 0!==s["default"].__global.ActiveXObject?new ActiveXObject("MsXml2.XmlHttp"):(s["default"].Trace.log("XMLHttpRequest or MsXml2.XmlHttp ActiveXObject not found"),void n(!1))}if(!e)return void n(!1);var i=r();i.onreadystatechange=function(){s["default"].Trace.log("HTTP request is in state: "+i.readyState),4==i.readyState&&(200==i.status||304==i.status?(s["default"].Trace.log("HTTP request succeeded"),s["default"].Trace.log("HTTP request response text: "+i.responseText),eval.call(s["default"].__global,i.responseText),"function"==typeof n?n(!0):s["default"].Trace.log("Callback function is undefined")):(s["default"].Trace.log("HTTP request status: ",i.status),"function"==typeof n?n(!1):s["default"].Trace.log("Callback function is undefined")))},i.open("GET",e,!0),i.send(null)},loadScriptElement:function(e,t,n){function r(){s["default"].Trace.log("Script element watcher iteration "+u);var e=s["default"].RegisteredStorageProviders[t];e?(s["default"].Trace.log(t+" provider registered"),n(!0)):(u--,u>0?(s["default"].Trace.log("Script element watcher next iteration"),setTimeout(r,o)):(s["default"].Trace.log("Script element loader failed"),n(!1)))}var i=document.getElementsByTagName("head")[0]||document.documentElement,a=document.createElement("script");a.type="text/javascript",a.src=e,s["default"].Trace.log("Appending child "+a+" to "+i),i.appendChild(a);var o=this.scriptLoadInterval||50,u=Math.ceil(this.scriptLoadTimeout/o);s["default"].Trace.log("Script element watcher iterating "+u+" times"),setTimeout(r,o)},loadNpmModule:function(e,t,n){var r=null;try{i.require(this.npmModules[e]),r=s["default"].RegisteredStorageProviders[e],s["default"].Trace.log("NPM module loader successfully registered "+e+" provider")}catch(a){s["default"].Trace.log("NPM module loader failed for "+e+" provider")}r?n.success(r):t.length>0?this.find(t,n):n.error()},virtualProviders:{type:s["default"].Array,value:{local:{fallbacks:["webSql","indexedDb","LocalStore"]}}},getVirtual:function(e){return this.virtualProviders[e]?[].concat(this.virtualProviders[e].fallbacks):e}}),s["default"].StorageProviderLoader=new s["default"].StorageProviderLoaderBase,n["default"]=s["default"],t.exports=n["default"]}).call(this,e("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../TypeSystem/index.js":44,_process:23}],126:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);(0,i.$C)("$data.modelBinder.FindProjectionVisitor",a["default"].Expressions.EntityExpressionVisitor,null,{constructor:function(e){this._includes=e},VisitProjectionExpression:function(e,t){this.projectionExpression=this.projectionExpression||e,t&&(t.projectionExpression=t.projectionExpression||e),this.Visit(e.source,t)},VisitIncludeExpression:function(e,t){if(this.Visit(e.source,t),!(e.selector instanceof a["default"].Expressions.ConstantExpression)){var n={};if(this.Visit(e.selector.expression,n),n.hasIncludeProjectionExpression){var r=this._includes.filter(function(e){return e.name===n.includePath})[0];r&&(r.projectionExpression=n.includeProjectionExpression),t&&(t.hasIncludeProjectionExpression=!0)}}},VisitFrameOperationExpression:function(e,t){this.Visit(e.source,t);var n=e.operation.memberDefinition;if(n&&n.frameType===a["default"].Expressions.ProjectionExpression)for(var r=0,o=n.parameters||[{name:"@expression"}],s=o.map(function(t,n){return"@expression"===t.name?e.source:e.parameters[r++]}),u=0;u<s.length;u++){var l=s[u];if(l instanceof a["default"].Expressions.ConstantExpression&&l.value instanceof a["default"].Queryable){var p=i.Container.createQueryExpressionCreator(l.value.entityContext);l=p.Visit(l.value.expression)}var d=new a["default"].modelBinder.FindProjectionVisitor(this._inculdes),c={};d.Visit(l,c);t&&c.projectionExpression&&(t.hasIncludeProjectionExpression=!0,t.includeProjectionExpression=c.projectionExpression)}},VisitAssociationInfoExpression:function(e,t){var n=e.associationInfo.FromPropertyName;t&&(t.includePath=t.includePath?t.includePath+".":"",t.includePath+=n)}}),(0,i.$C)("$data.modelBinder.ModelBinderConfigCompiler",a["default"].Expressions.EntityExpressionVisitor,null,{constructor:function(e,t,n){this._query=e,this._includes=t,this._isoDataProvider=n||!1,this.depth=[]},VisitSingleExpression:function(e){this._defaultModelBinder(e)},VisitSomeExpression:function(e){this._defaultModelBinder(e)},VisitFindExpression:function(e){this._defaultModelBinder(e)},VisitEveryExpression:function(e){this._defaultModelBinder(e)},VisitToArrayExpression:function(e){this._defaultModelBinder(e)},VisitFirstExpression:function(e){this._defaultModelBinder(e)},VisitForEachExpression:function(e){this._defaultModelBinder(e)},VisitServiceOperationExpression:function(e){if(e.cfg.returnType){var t=i.Container.resolveType(e.cfg.returnType);if("function"==typeof t.isAssignableTo&&t.isAssignableTo(a["default"].Queryable)||t===a["default"].Array)this._defaultModelBinder(e);else{var n=i.Container.createqueryBuilder();n.modelBinderConfig.$type=t,"function"==typeof t.isAssignableTo&&t.isAssignableTo(a["default"].Entity)?n.modelBinderConfig.$selector=["json:"+e.cfg.serviceName]:(n.modelBinderConfig.$type=t,n.modelBinderConfig.$value=function(t,n){return e.cfg.serviceName in n?n[e.cfg.serviceName]:n.value}),this.VisitExpression(e,n),n.resetModelBinderProperty(),this._query.modelBinderConfig=n.modelBinderConfig}}},VisitCountExpression:function(e){var t=i.Container.createqueryBuilder();t.modelBinderConfig.$type=a["default"].Array,t.selectModelBinderProperty("$item"),t.modelBinderConfig.$type=a["default"].Integer,t.modelBinderConfig.$source="cnt",t.resetModelBinderProperty(),this._query.modelBinderConfig=t.modelBinderConfig},VisitBatchDeleteExpression:function(e){var t=i.Container.createqueryBuilder();t.modelBinderConfig.$type=a["default"].Array,t.selectModelBinderProperty("$item"),t.modelBinderConfig.$type=a["default"].Integer,t.modelBinderConfig.$source="cnt",t.resetModelBinderProperty(),this._query.modelBinderConfig=t.modelBinderConfig},VisitConstantExpression:function(e,t){t.modelBinderConfig.$type=e.type,t.modelBinderConfig.$value=e.value},VisitExpression:function(e,t){var n=i.Container.createFindProjectionVisitor(this._includes),r={};n.Visit(e,r),r.projectionExpression?this.Visit(r.projectionExpression,t):this.DefaultSelection(t,this._query.defaultType,this._includes,r.hasIncludeProjectionExpression)},_defaultModelBinder:function(e){var t=i.Container.createqueryBuilder();t.modelBinderConfig.$type=a["default"].Array,this._isoDataProvider&&(t.modelBinderConfig.$selector=["json:d.results","json:d","json:results","json:value"]),t.modelBinderConfig.$item={},t.selectModelBinderProperty("$item"),this.VisitExpression(e,t),t.resetModelBinderProperty(),this._query.modelBinderConfig=t.modelBinderConfig},_inheritanceMemberDefinitions:function(e,t){var n=this;return e.inheritedTo&&e.inheritedTo.forEach(function(e){t=n._inheritanceMemberDefinitions(e,t.concat(e.memberDefinitions.getPublicMappedProperties()))}),t},_addPropertyToModelBinderConfig:function(e,t){var n=this._query.context._storageModel.getStorageModel(e);if(e.memberDefinitions){var r=this._inheritanceMemberDefinitions(e,e.memberDefinitions.getPublicMappedProperties());r.forEach(function(e){if(!n||n&&!n.Associations[e.name]&&!n.ComplexTypes[e.name]){var r=i.Container.resolveType(e.dataType);if(!n&&this._query.context.storageProvider.supportedDataTypes.indexOf(r)<0)t.selectModelBinderProperty(e.name),t.modelBinderConfig.$type=r,this._isoDataProvider?t.modelBinderConfig.$selector=["json:"+e.name+".results","json:"+e.name]:t.modelBinderConfig.$selector="json:"+e.name,this._addPropertyToModelBinderConfig(r,t),t.popModelBinderProperty();else if(e.key&&t.addKeyField(e.name),e.concurrencyMode===a["default"].ConcurrencyMode.Fixed)t.modelBinderConfig[e.name]={$source:"@odata.etag"};else if(r===a["default"].Array&&e.elementType){t.selectModelBinderProperty(e.name),t.modelBinderConfig.$type=r,this._isoDataProvider?t.modelBinderConfig.$selector=["json:"+e.name+".results","json:"+e.name]:t.modelBinderConfig.$selector="json:"+e.name,t.selectModelBinderProperty("$item");var o=i.Container.resolveType(e.elementType);t.modelBinderConfig.$type=o,this._addPropertyToModelBinderConfig(o,t),t.popModelBinderProperty(),t.popModelBinderProperty()}else t.modelBinderConfig[e.name]={$source:e.name,$type:e.type}}},this)}else t._binderConfig.$type===a["default"].Array&&(t._binderConfig.$item=t._binderConfig.$item||{},t.modelBinderConfig=t._binderConfig.$item);n&&this._addComplexTypeProperties(n.ComplexTypes,t)},_addComplexTypeProperties:function(e,t){e.forEach(function(e){if(e.ToType!==a["default"].Array)t.selectModelBinderProperty(e.FromPropertyName),t.modelBinderConfig.$type=e.ToType,this._isoDataProvider?t.modelBinderConfig.$selector=["json:"+e.FromPropertyName+".results","json:"+e.FromPropertyName]:t.modelBinderConfig.$selector="json:"+e.FromPropertyName,this._addPropertyToModelBinderConfig(e.ToType,t),t.popModelBinderProperty();else{var n=e.ToType,r=i.Container.resolveType(e.FromType.memberDefinitions.getMember(e.FromPropertyName).elementType);if(n===a["default"].Array&&r&&r.isAssignableTo&&r.isAssignableTo(a["default"].Entity)){config={$type:a["default"].Array,$selector:"json:"+e.FromPropertyName,$item:{$type:r}};for(var o=r.memberDefinitions.getPublicMappedProperties(),s=0;s<o.length;s++)config.$item[o[s].name]={$type:o[s].type,$source:o[s].name};t.modelBinderConfig[e.FromPropertyName]=config}else t.modelBinderConfig[e.FromPropertyName]={$type:e.ToType,$source:e.FromPropertyName}}},this)},DefaultSelection:function(e,t,n,r){var i=this;e.modelBinderConfig.$type=r?a["default"].Object:t;var o=this._query.context._storageModel.getStorageModel(t);this._addPropertyToModelBinderConfig(t,e),n&&!function(){var t=[];n.forEach(function(n){if(!t.some(function(e){return n.name.length>e.length&&n.name.substr(0,e.length)===e})){this.depth.push(n.name);for(var r=n.name.split("/").pop().split("."),i=null,s=o,u=0,l=0;l<r.length;l++)e.modelBinderConfig.$item&&(e.selectModelBinderProperty("$item"),u++),e.selectModelBinderProperty(r[l]),i=s.Associations[r[l]],s=this._query.context._storageModel.getStorageModel(i.ToType);this._isoDataProvider?e.modelBinderConfig.$selector=["json:"+r[r.length-1]+".results","json:"+r[r.length-1]]:e.modelBinderConfig.$selector="json:"+r[r.length-1],"*"===i.ToMultiplicity?(e.modelBinderConfig.$type=a["default"].Array,e.selectModelBinderProperty("$item"),e.modelBinderConfig.$type=n.type,n.projectionExpression?(t.push(n.name),this.Visit(n.projectionExpression,e)):this._addPropertyToModelBinderConfig(n.type,e),e.popModelBinderProperty()):(e.modelBinderConfig.$type=n.type,n.projectionExpression?(t.push(n.name),this.Visit(n.projectionExpression,e)):this._addPropertyToModelBinderConfig(n.type,e));for(var l=0;l<r.length+u;l++)e.popModelBinderProperty();this.depth.pop()}},i)}()},VisitProjectionExpression:function(e,t){this.hasProjection=!0,this.Visit(e.selector,t),e.selector&&e.selector.expression instanceof a["default"].Expressions.ObjectLiteralExpression&&(t.modelBinderConfig.$type=e.projectionAs||t.modelBinderConfig.$type||a["default"].Object)},VisitParametricQueryExpression:function(e,t){e.expression instanceof a["default"].Expressions.EntityExpression||e.expression instanceof a["default"].Expressions.EntitySetExpression?this.VisitEntityAsProjection(e,t):this.Visit(e.expression,t)},VisitEntityAsProjection:function(e,t){this.mapping="",this.Visit(e.expression,t),this.depth.push(this.mapping),this.mapping=this.depth.join(".");var n,r;if(this.mapping&&this._includes instanceof Array&&(n=this._includes.filter(function(e){return 0===e.name.indexOf(this.mapping+".")},this),n=n.map(function(e){return{name:e.name.replace(this.mapping+".",""),type:e.type}},this),r=this._includes.filter(function(e){return e.name===this.mapping},this)[0]),e.expression instanceof a["default"].Expressions.EntityExpression)if(r&&r.projectionExpression){var i=this._includes;this._includes=n;var o=this.depth;this.depth=[],this.Visit(r.projectionExpression,t),this._includes=i,this.depth=o}else this.DefaultSelection(t,e.expression.entityType,n);else if(e.expression instanceof a["default"].Expressions.EntitySetExpression){if(t.modelBinderConfig.$type=a["default"].Array,t.modelBinderConfig.$item={},t.selectModelBinderProperty("$item"),r&&r.projectionExpression){var s=this._includes;this._includes=n;var u=this.depth;this.depth=[],this.Visit(r.projectionExpression,t),this._includes=s,this.depth=u}else this.DefaultSelection(t,e.expression.elementType,n);t.popModelBinderProperty()}this.depth.pop()},VisitEntityFieldExpression:function(e,t){this.Visit(e.source,t),this.Visit(e.selector,t)},VisitMemberInfoExpression:function(e,t){t.modelBinderConfig.$type=e.memberDefinition.type,e.memberDefinition.storageModel&&e.memberName in e.memberDefinition.storageModel.ComplexTypes?this._addPropertyToModelBinderConfig(i.Container.resolveType(e.memberDefinition.type),t):t.modelBinderConfig.$type&&i.Container.resolveType(t.modelBinderConfig.$type).isAssignableTo&&i.Container.resolveType(t.modelBinderConfig.$type).isAssignableTo(a["default"].Entity)||(t.modelBinderConfig.$source=e.memberName)},VisitEntitySetExpression:function(e,t){e.source instanceof a["default"].Expressions.EntityExpression&&(this.Visit(e.source,t),this.Visit(e.selector,t))},VisitComplexTypeExpression:function(e,t){if(this.Visit(e.source,t),this.Visit(e.selector,t),"$selector"in t.modelBinderConfig&&t.modelBinderConfig.$selector.length>0)if(t.modelBinderConfig.$selector instanceof a["default"].Array){var n=t.modelBinderConfig.$selector[1];t.modelBinderConfig.$selector[0]=n+"."+e.selector.memberName+".results",t.modelBinderConfig.$selector[1]=n+"."+e.selector.memberName}else t.modelBinderConfig.$selector+="."+e.selector.memberName;else this._isoDataProvider?t.modelBinderConfig.$selector=["json:"+e.selector.memberName+".results","json:"+e.selector.memberName]:t.modelBinderConfig.$selector="json:"+e.selector.memberName},VisitEntityExpression:function(e,t){this.Visit(e.source,t)},VisitAssociationInfoExpression:function(e,t){if("$selector"in t.modelBinderConfig&&t.modelBinderConfig.$selector.length>0)if(t.modelBinderConfig.$selector instanceof a["default"].Array){var n=t.modelBinderConfig.$selector[1];t.modelBinderConfig.$selector[0]=n+"."+e.associationInfo.FromPropertyName+".results",t.modelBinderConfig.$selector[1]=n+"."+e.associationInfo.FromPropertyName}else t.modelBinderConfig.$selector+="."+e.associationInfo.FromPropertyName;else this._isoDataProvider?t.modelBinderConfig.$selector=["json:"+e.associationInfo.FromPropertyName+".results","json:"+e.associationInfo.FromPropertyName]:t.modelBinderConfig.$selector="json:"+e.associationInfo.FromPropertyName;this.mapping&&this.mapping.length>0&&(this.mapping+="."),this.mapping+=e.associationInfo.FromPropertyName},VisitObjectLiteralExpression:function(e,t){t.modelBinderConfig.$type=a["default"].Object,e.members.forEach(function(e){this.Visit(e,t)},this)},VisitObjectFieldExpression:function(e,t){t.selectModelBinderProperty(e.fieldName),e.expression instanceof a["default"].Expressions.EntityExpression||e.expression instanceof a["default"].Expressions.EntitySetExpression?this.VisitEntityAsProjection(e,t):this.Visit(e.expression,t),t.popModelBinderProperty()}}),n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],127:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../TypeSystem/index.js"),a=r(i);a["default"].Class.define("$data.Transaction",null,null,{constructor:function(){this._objectId=(new Date).getTime(),a["default"].Trace.log("create: ",this._objectId),this.oncomplete=new a["default"].Event("oncomplete",this),this.onerror=new a["default"].Event("onerror",this)},abort:function(){i.Guard.raise(new i.Exception("Not Implemented","Not Implemented",arguments))},_objectId:{type:a["default"].Integer},transaction:{type:a["default"].Object},oncomplete:{type:a["default"].Event},onerror:{type:a["default"].Event}},null),n["default"]=a["default"],t.exports=n["default"]},{"../TypeSystem/index.js":44}],128:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},a=e("../../TypeSystem/index.js"),o=r(a);o["default"].Class.define("$data.Validation.Defaults",null,null,null,{validators:{value:{required:function(e,t){return!a.Guard.isNullOrUndefined(e)},customValidator:function(e,t){return a.Guard.isNullOrUndefined(e)||"function"==typeof t?t(e):!0},minValue:function(e,t){return a.Guard.isNullOrUndefined(e)||e>=t},maxValue:function(e,t){return a.Guard.isNullOrUndefined(e)||t>=e},minLength:function(e,t){return a.Guard.isNullOrUndefined(e)||e.length>=t},maxLength:function(e,t){return a.Guard.isNullOrUndefined(e)||e.length<=t;
},length:function(e,t){return a.Guard.isNullOrUndefined(e)||e.length==t},regex:function(e,t){return a.Guard.isNullOrUndefined(e)||e.match("string"==typeof t?new RegExp(0===t.indexOf("/")&&t.lastIndexOf("/")===t.length-1?t.slice(1,-1):t):t)}}},_getGroupValidations:function(e){var t={};if(Array.isArray(e))for(var n=0;n<e.length;n++){var r=e[n];"function"==typeof this.validators[r]&&(t[r]=this.validators[r])}return t}}),o["default"].Class.define("$data.Validation.EntityValidation",o["default"].Validation.EntityValidationBase,null,{ValidateEntity:function(e){var t=[];return e.getType().memberDefinitions.getPublicMappedProperties().forEach(function(n){t=t.concat(this.ValidateEntityField(e,n,void 0,!0))},this),t},ValidateEntityField:function(e,t,n,r){var i=[],s=a.Container.resolveType(t.dataType),u=a.Container.resolveName(s),l=r?e[t.name]:n;return!t.inverseProperty&&s&&"function"==typeof s.isAssignableTo&&s.isAssignableTo(o["default"].Entity)&&(u=o["default"].Entity.fullName),this.fieldValidate(e,t,l,i,u),i},getValidationValue:function(e,t){var n;if(n=e[t]&&e[t].value?e[t].value:e[t],this.convertableValidation[t]){var r;r=this.convertableValidation[t]===!0?e.type:this.convertableValidation[t],r&&(n=a.Container.convertTo(n,r,e.elementType))}return n},getValidationMessage:function(e,t,n){var r=n;return"object"==i(e[t])&&e[t].message?r=e[t].message:e.errorMessage&&(r=e.errorMessage),r},createValidationError:function(e,t,n){return new o["default"].Validation.ValidationError(this.getValidationMessage(e,t,n),e,t)},convertableValidation:{value:{required:"$data.Boolean",minValue:!0,maxValue:!0,minLength:"$data.Integer",maxLength:"$data.Integer",length:"$data.Integer"}},supportedValidations:{value:{"$data.ObjectID":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator"]),"$data.Byte":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator","minValue","maxValue"]),"$data.SByte":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator","minValue","maxValue"]),"$data.Decimal":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator","minValue","maxValue"]),"$data.Float":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator","minValue","maxValue"]),"$data.Number":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator","minValue","maxValue"]),"$data.Int16":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator","minValue","maxValue"]),"$data.Integer":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator","minValue","maxValue"]),"$data.Int32":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator","minValue","maxValue"]),"$data.Int64":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator","minValue","maxValue"]),"$data.String":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator","minLength","maxLength","length","regex"]),"$data.Date":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator","minValue","maxValue"]),"$data.DateTimeOffset":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator","minValue","maxValue"]),"$data.Time":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator","minValue","maxValue"]),"$data.Day":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator","minValue","maxValue"]),"$data.Duration":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator"]),"$data.Boolean":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator"]),"$data.Array":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator","length"]),"$data.Object":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator"]),"$data.Guid":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator"]),"$data.Blob":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator","minLength","maxLength","length"]),"$data.GeographyPoint":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator"]),"$data.GeographyLineString":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator"]),"$data.GeographyPolygon":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator"]),"$data.GeographyMultiPoint":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator"]),"$data.GeographyMultiLineString":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator"]),"$data.GeographyMultiPolygon":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator"]),"$data.GeographyCollection":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator"]),"$data.GeometryPoint":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator"]),"$data.GeometryLineString":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator"]),"$data.GeometryPolygon":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator"]),"$data.GeometryMultiPoint":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator"]),"$data.GeometryMultiLineString":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator"]),"$data.GeometryMultiPolygon":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator"]),"$data.GeometryCollection":o["default"].Validation.Defaults._getGroupValidations(["required","customValidator"])}},fieldValidate:function(e,t,n,r,i){if(!(e.entityState==o["default"].EntityState.Modified&&e.changedProperties&&e.changedProperties.indexOf(t)<0)){var a=this.supportedValidations[i];if(a){var s=Object.keys(a);s.forEach(function(i){t[i]&&a[i]&&!a[i].call(e,n,this.getValidationValue(t,i))&&r.push(this.createValidationError(t,i,"Validation error!"))},this),i===o["default"].Entity.fullName&&n instanceof o["default"].Entity&&!n.isValid()&&r.push(this.createValidationError(t,"ComplexProperty","Validation error!"))}}}},null),o["default"].Validation.Entity=new o["default"].Validation.EntityValidation,n["default"]=o["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],129:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../../TypeSystem/index.js"),a=r(i);a["default"].Class.define("$data.Validation.ValidationError",null,null,{constructor:function(e,t,n){this.Message=e,this.PropertyDefinition=t,this.Type=n},Type:{dataType:"string"},Message:{dataType:"string"},PropertyDefinition:{dataType:a["default"].MemberDefinition}},null),a["default"].Class.define("$data.Validation.EntityValidationBase",null,null,{ValidateEntity:function(e){return[]},ValidateEntityField:function(e,t){return[]},getValidationValue:function(e,t){i.Guard.raise("Pure class")},getValidationMessage:function(e,t,n){i.Guard.raise("Pure class")}},null),a["default"].Validation=a["default"].Validation||{},a["default"].Validation.Entity=new a["default"].Validation.EntityValidationBase,n["default"]=a["default"],t.exports=n["default"]},{"../../TypeSystem/index.js":44}],130:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("../TypeSystem/index.js"),a=r(i),o=e("./Expressions/index.js"),s=(r(o),e("./Validation/EntityValidationBase.js")),u=(r(s),e("./Validation/EntityValidation.js")),l=(r(u),e("./Notifications/ChangeDistributorBase.js")),p=(r(l),e("./Notifications/ChangeCollectorBase.js")),d=(r(p),e("./Notifications/ChangeDistributor.js")),c=(r(d),e("./Notifications/ChangeCollector.js")),f=(r(c),e("./Transaction.js")),y=(r(f),e("./Access.js")),h=(r(y),e("./Entity.js")),m=(r(h),e("./Enum.js")),g=(r(m),e("./RelatedEntityProxy.js")),v=(r(g),e("./EntityContext.js")),x=(r(v),e("./QueryProvider.js")),E=(r(x),e("./ModelBinder.js")),b=(r(E),e("./QueryBuilder.js")),T=(r(b),e("./Query.js")),C=(r(T),e("./Queryable.js")),S=(r(C),e("./EntitySet.js")),_=(r(S),e("./EntityState.js")),P=(r(_),e("./EntityAttachModes.js")),N=(r(P),e("./EntityStateManager.js")),M=(r(N),e("./ItemStore.js")),A=(r(M),e("./StorageProviderLoader.js")),w=(r(A),e("./StorageProviderBase.js")),O=(r(w),e("./ServiceOperation.js")),j=(r(O),e("./EntityWrapper.js")),D=(r(j),e("./Ajax/jQueryAjaxWrapper.js")),G=(r(D),e("./Ajax/WinJSAjaxWrapper.js")),V=(r(G),e("./Ajax/ExtJSAjaxWrapper.js")),k=(r(V),e("./Ajax/AjaxStub.js")),I=(r(k),e("./StorageProviders/modelBinderConfigCompiler.js")),B=(r(I),e("./Authentication/AuthenticationBase.js")),$=(r(B),e("./Authentication/Anonymous.js")),L=(r($),e("./Authentication/FacebookAuth.js")),R=(r(L),e("./Authentication/BasicAuth.js"));r(R);n["default"]=a["default"],t.exports=n["default"]},{"../TypeSystem/index.js":44,"./Access.js":47,"./Ajax/AjaxStub.js":48,"./Ajax/ExtJSAjaxWrapper.js":49,"./Ajax/WinJSAjaxWrapper.js":50,"./Ajax/jQueryAjaxWrapper.js":51,"./Authentication/Anonymous.js":52,"./Authentication/AuthenticationBase.js":53,"./Authentication/BasicAuth.js":54,"./Authentication/FacebookAuth.js":55,"./Entity.js":56,"./EntityAttachModes.js":57,"./EntityContext.js":58,"./EntitySet.js":59,"./EntityState.js":60,"./EntityStateManager.js":61,"./EntityWrapper.js":62,"./Enum.js":63,"./Expressions/index.js":111,"./ItemStore.js":112,"./ModelBinder.js":113,"./Notifications/ChangeCollector.js":114,"./Notifications/ChangeCollectorBase.js":115,"./Notifications/ChangeDistributor.js":116,"./Notifications/ChangeDistributorBase.js":117,"./Query.js":118,"./QueryBuilder.js":119,"./QueryProvider.js":120,"./Queryable.js":121,"./RelatedEntityProxy.js":122,"./ServiceOperation.js":123,"./StorageProviderBase.js":124,"./StorageProviderLoader.js":125,"./StorageProviders/modelBinderConfigCompiler.js":126,"./Transaction.js":127,"./Validation/EntityValidation.js":128,"./Validation/EntityValidationBase.js":129}],"jaydata/core":[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var i=e("./TypeSystem/index.js"),a=r(i),o=e("./Types/Expressions/index.js"),s=(r(o),e("./JaySvcUtil/index.js")),u=(r(s),e("./Types/index.js"));r(u);n["default"]=a["default"],t.exports=n["default"]},{"./JaySvcUtil/index.js":28,"./TypeSystem/index.js":44,"./Types/Expressions/index.js":111,"./Types/index.js":130}]},{},[]);if("object"==typeof exports&&"undefined"!=typeof module)module.exports=require("jaydata/core");else if("function"==typeof define&&define.amd){var interopRequire=require;define("jaydata/core",[],function(){return interopRequire("jaydata/core")})}else{var g;"undefined"!=typeof window?(window.require=require,g=window):g="undefined"!=typeof global?global:"undefined"!=typeof self?self:this,g.$data=require("jaydata/core")}}();
//# sourceMappingURL=jaydata.min.js.map
