// SpryJSONDataSet.js - version 0.6 - Spry Pre-Release 1.6.1
//
// Copyright (c) 2007. Adobe Systems Incorporated.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
//   * Redistributions of source code must retain the above copyright notice,
//     this list of conditions and the following disclaimer.
//   * Redistributions in binary form must reproduce the above copyright notice,
//     this list of conditions and the following disclaimer in the documentation
//     and/or other materials provided with the distribution.
//   * Neither the name of Adobe Systems Incorporated nor the names of its
//     contributors may be used to endorse or promote products derived from this
//     software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('7.8.c=s(1B,1W){3.a="";3.M=1D;3.O=D;3.p=[];3.1M=1D;3.1w=D;7.8.1Z.26(3,1B,1W);2 1r=o 3.p;4(1r=="1k"||(1r=="x"&&3.p.I!=U))3.p=[3.p]};7.8.c.B=C 7.8.1Z();7.8.c.B.I=7.8.c;7.8.c.B.25=s(){2 T=[];4(3.1O)T.y(3.1O);4(3.a)T.y(3.a);4(3.1v&&3.1v.1V)T.y(3.1v.1V);q T};7.8.c.B.24=s(){q 3.O};7.8.c.B.23=s(){q 3.a};7.8.c.B.27=s(a){4(3.a!=a){3.a=a;4(3.1S&&3.O){3.28("22");3.2c(3.O)}}};7.8.c.19=s(a,w){2 V=[];4(a&&w){2 m="";2 16="";2 17=a.1Y(/\\./);4(17!=-1){m=a.1z(0,17);16=a.1z(17+1)}F m=a;2 h=[];4(m&&o w=="x"){2 6=w[m];2 H=o 6;4(H!=2b&&H!=D){4(6&&H=="x"&&6.I==U)h=h.13(6);F h.y(6)}}2 N=h.z;4(16){d(2 i=0;i<N;i++)V=V.13(7.8.c.19(16,h[i]))}F V=h}q V};7.8.c.1K=s(6,1m){2 1J=1m?1m:"1f";2 5=C J;2 H=o 6;4(H=="x")7.8.c.1h(5,6);F 5[1J]=6;5.1C=6;q 5};7.8.c.1h=s(18,S,1H){4(S&&18){d(2 m Q S){4(1H&&o S[m]=="x")2d;18[m]=S[m]}}q 18};7.8.c.1e=s(w,a,M){2 b=C J;b.f=[];b.A={};4(!a)a="";2 6=w;2 H=o 6;2 1t="";4(H!="x"||!6){4(6!=D){2 5=C J;5.1f=6;5.E=0;b.f.y(5);b.A[5.E]=5}q b}2 h=[];4(6.I==U){2 W=6.z;4(W<1)q b;2 1L=o 6[0];4(1L!="x"){d(2 i=0;i<W;i++){2 5=C J;5.1f=6[i];5.E=i;b.f.y(5);b.A[5.E]=5}q b}4(6[0].I==U)q b;4(a){d(2 i=0;i<W;i++)h=h.13(7.8.c.19(a,6[i]))}F{d(2 i=0;i<W;i++)h.y(6[i])}}F{4(a)h=7.8.c.19(a,6);F h.y(6)}2 N=h.z;4(a&&N>=1&&o h[0]!="x")1t=a.1G(/.*\\./,"");4(!M){d(2 i=0;i<N;i++){2 5=7.8.c.1K(h[i],1t,M);5.E=i;b.A[i]=5;b.f.y(5)}}F{2 1E=0;d(2 i=0;i<N;i++){2 6=h[i];2 15=[];2 1a=0;d(2 1b Q 6){2 m=6[1b];2 20=o m;4(20==\'x\'&&m.I==U){15.y(1b);1a=2r.2t(1a,6[1b].z)}}2 1U=15.z;d(2 j=0;j<1a;j++){2 5=C J;d(2 k=0;k<1U;k++){2 K=15[k];5[K]=6[K][j]}5.E=1E++;b.A[5.E]=5;b.f.y(5)}}}q b};7.8.c.B.1o=s(b,p){4(!b||!p)q;2 14=p.z;4(14<1)q;2 f=b.f;2 A={};2 Z=[];2 10=[];2 1n=[];d(2 i=0;i<14;i++){2 G=p[i];4(o G=="x"){1n[i]=G.M;G=G.a}4(!G)G="";Z[i]=7.8.1P.1X(D,G,3.1A);10[i]=Z[i].1G(/\\[.*\\]/g,"")}2 5;2 1c=f.z;2 12=[];d(2 i=0;i<1c;i++){5=f[i];2 X=[5];d(2 j=0;j<14;j++){2 P=7.8.c.1e(5.1C,Z[j],1n[j]);4(P&&P.f&&P.f.z){4(o p[j]=="x"&&p[j].p){2 L=p[j].p;1d=o L;4(1d=="1k")L=[L];F 4(1d=="x"&&1d.I==J)L=[L];3.1o(P,L)}2 1j=P.f;2 1I=1j.z;2 Y=10[j]+".";2 1x=X.z;2 1i=[];d(2 k=0;k<1x;k++){2 1N=X[k];d(2 l=0;l<1I;l++){2 11=C J;2 1q=1j[l];d(2 m Q 1q){2 1g=Y+m;4(Y==m||Y.1Y(C 2l("\\\\."+m+"\\\\.$"))!=-1)1g=10[j];11[1g]=1q[m]}7.8.c.1h(11,1N);1i.y(11)}}X=1i}}12=12.13(X)}f=12;1c=f.z;d(i=0;i<1c;i++){5=f[i];5.E=i;A[5.E]=5}b.f=f;b.A=A};7.8.c.B.1T=s(1s,1l){1R{4(/^("(\\\\.|[^"\\\\\\n\\r])*?"|[,:{}\\[\\]0-9.\\-+2h-u \\n\\r\\t])+?$/.2f(1s)){2 j=21(\'(\'+1s+\')\');4(o 1l===\'s\'){s 1p(k,v){4(v&&o v===\'x\'){d(2 i Q v){4(v.2w(i)){v[i]=1p(i,v[i])}}}q 1l(k,v)}j=1p(\'\',j)}q j}}1y(e){}2m C 2v("2u 2s 2p 2j 1k.")};7.8.c.B.1Q=s(){2 5=3.2a()[0];d(2 K Q 5){4(!3.2o[K]){2 1u=o 5[K];4(1u=="2q")3.2k(K,1u)}}};7.8.c.B.1F=s(R){4(3.1w)R=3.1w(3,R);2 w;1R{w=3.1M?3.1T(R):21("("+R+")")}1y(e){7.2i.2g("2n 2e Q c.1F: "+e);w={}}4(w==D)w="D";2 b=7.8.c.1e(w,7.8.1P.1X(D,3.a,3.1A),3.M);3.1o(b,3.p);3.O=R;3.29=w;3.f=b.f;3.A=b.A;3.1S=(3.O!=D);3.1Q()};',62,157,'||var|this|if|row|obj|Spry|Data||path|rs|JSONDataSet|for||data||matches|||||prop||typeof|subPaths|return||function||||jsonObj|object|push|length|dataHash|prototype|new|null|ds_RowID|else|subPath|objType|constructor|Object|colName|sp|pathIsObjectOfArrays|numMatches|doc|newRS|in|rawDataDoc|srcObj|strArr|Array|results|arrLen|newRows|cleanedPath|pathArray|cleanedPathArray|newRowObj|newData|concat|numSubPaths|colNames|leftOverPath|offset|dstObj|getMatchingObjects|maxNumRows|propName|numRows|spType|flattenDataIntoRecordSet|column0|newPropName|copyProps|joinedRows|newRSData|string|filter|basicColumnName|isObjectOfArraysArr|flattenSubPaths|walk|newRSRow|jwType|str|basicColName|type|requestInfo|preparseFunc|numNewRows|catch|substring|dataSetsForDataRefStrings|dataSetURL|ds_JSONObject|false|rowID|loadDataIntoDataSet|replace|suppressObjProps|numRSRows|basicName|flattenObject|eleType|useParser|newRow|url|Region|syncColumnTypesToData|try|dataWasLoaded|parseJSON|numColNames|postData|dataSetOptions|processDataRefString|search|HTTPSourceDataSet|propyType|eval|onPreLoad|getPath|getDocument|getDataRefStrings|call|setPath|notifyObservers|docObj|getData|undefined|setDataFromDoc|continue|exception|test|reportError|Eaeflnr|Debug|JSON|setColumnType|RegExp|throw|Caught|columnTypes|parse|number|Math|to|max|Failed|Error|hasOwnProperty'.split('|'),0,{}))

