mirror of
https://github.com/stleary/JSON-java.git
synced 2026-01-24 00:03:17 -05:00
Compare commits
21 Commits
20211205
...
6daabb43ab
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6daabb43ab | ||
|
|
57f785c42e | ||
|
|
3eecd67a3b | ||
|
|
5a587bbdfd | ||
|
|
e0534b3ec7 | ||
|
|
88ca19042b | ||
|
|
b4036e6a8e | ||
|
|
6f92a3ab4e | ||
|
|
beae279b21 | ||
|
|
a642329314 | ||
|
|
9abb35ad39 | ||
|
|
c0a1d5f741 | ||
|
|
04a765647e | ||
|
|
4f78ec666a | ||
|
|
7d6b76de37 | ||
|
|
5cfe216ffd | ||
|
|
c33ad9c062 | ||
|
|
7a124d857d | ||
|
|
f1b0210b8a | ||
|
|
20b4f85efe | ||
|
|
5bc8dae5d0 |
43
.github/workflows/codeql-analysis.yml
vendored
Normal file
43
.github/workflows/codeql-analysis.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [ master ]
|
||||
schedule:
|
||||
- cron: '18 18 * * 1'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [ 'java' ]
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
- run: "mvn clean compile -Dmaven.test.skip=true -Dmaven.site.skip=true -Dmaven.javadoc.skip=true"
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v1
|
||||
2
.github/workflows/pipeline.yml
vendored
2
.github/workflows/pipeline.yml
vendored
@@ -42,7 +42,7 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
# build against supported Java LTS versions:
|
||||
java: [ 1.7, 8, 11 ]
|
||||
java: [ 8, 11 ]
|
||||
name: Java ${{ matrix.java }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
@@ -218,7 +218,7 @@ import java.util.Properties;
|
||||
}
|
||||
```
|
||||
<h2>Part 2: Conversion methods</h2>
|
||||
<p>We don't need to have a JSON docuemnt to work. This project also admits conversions from other type of files.</p>
|
||||
<p>We don't need to have a JSON document to work. This project also admits conversions from other type of files.</p>
|
||||
<p>Secondly, we can also convert from JSON to those type of files.</p>
|
||||
|
||||
<h3>Extra: Conversion to JSONArray</h3>
|
||||
|
||||
23
LICENSE
23
LICENSE
@@ -1,23 +1,2 @@
|
||||
|
||||
Copyright (c) 2002 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ JSON in Java [package org.json]
|
||||
|
||||
[](https://mvnrepository.com/artifact/org.json/json)
|
||||
|
||||
**[Click here if you just want the latest release jar file.](https://search.maven.org/remotecontent?filepath=org/json/json/20210307/json-20210307.jar)**
|
||||
**[Click here if you just want the latest release jar file.](https://search.maven.org/remotecontent?filepath=org/json/json/20220320/json-20220320.jar)**
|
||||
|
||||
|
||||
# Overview
|
||||
@@ -28,8 +28,6 @@ Project goals include:
|
||||
|
||||
The files in this package implement JSON encoders and decoders. The package can also convert between JSON and XML, HTTP headers, Cookies, and CDL.
|
||||
|
||||
The license includes this restriction: ["The software shall be used for good, not evil."](https://en.wikipedia.org/wiki/Douglas_Crockford#%22Good,_not_Evil%22) If your conscience cannot live with that, then choose a different package.
|
||||
|
||||
# If you would like to contribute to this project
|
||||
|
||||
For more information on contributions, please see [CONTRIBUTING.md](https://github.com/stleary/JSON-java/blob/master/docs/CONTRIBUTING.md)
|
||||
@@ -106,4 +104,4 @@ For more information on files, please see [FILES.md](https://github.com/stleary/
|
||||
|
||||
# Release history:
|
||||
|
||||
For the release history, please see [RELEASES.md](https://github.com/stleary/JSON-java/blob/master/docs/RELEASES.md)
|
||||
For the release history, please see [RELEASES.md](https://github.com/stleary/JSON-java/blob/master/docs/RELEASES.md)
|
||||
|
||||
@@ -30,7 +30,7 @@ subprojects {
|
||||
}
|
||||
|
||||
group = 'org.json'
|
||||
version = 'v20200429-SNAPSHOT'
|
||||
version = 'v20211205-SNAPSHOT'
|
||||
description = 'JSON in Java'
|
||||
sourceCompatibility = '1.7'
|
||||
|
||||
|
||||
@@ -5,6 +5,8 @@ and artifactId "json". For example:
|
||||
[https://search.maven.org/search?q=g:org.json%20AND%20a:json&core=gav](https://search.maven.org/search?q=g:org.json%20AND%20a:json&core=gav)
|
||||
|
||||
~~~
|
||||
20220320 Wrap StackOverflow with JSONException
|
||||
|
||||
20211205 Recent commits and some bug fixes for similar()
|
||||
|
||||
20210307 Recent commits and potentially breaking fix to JSONPointer
|
||||
|
||||
29
pom.xml
29
pom.xml
@@ -3,7 +3,7 @@
|
||||
|
||||
<groupId>org.json</groupId>
|
||||
<artifactId>json</artifactId>
|
||||
<version>20211205</version>
|
||||
<version>20220320</version>
|
||||
<packaging>bundle</packaging>
|
||||
|
||||
<name>JSON in Java</name>
|
||||
@@ -18,10 +18,6 @@
|
||||
This is a reference implementation. There is a large number of JSON packages
|
||||
in Java. Perhaps someday the Java community will standardize on one. Until
|
||||
then, choose carefully.
|
||||
|
||||
The license includes this restriction: "The software shall be used for good,
|
||||
not evil." If your conscience cannot live with that, then choose a different
|
||||
package.
|
||||
</description>
|
||||
<url>https://github.com/douglascrockford/JSON-java</url>
|
||||
|
||||
@@ -39,28 +35,9 @@
|
||||
|
||||
<licenses>
|
||||
<license>
|
||||
<name>The JSON License</name>
|
||||
<url>http://json.org/license.html</url>
|
||||
<name>Public Domain</name>
|
||||
<url>https://github.com/stleary/JSON-java/blob/master/LICENSE</url>
|
||||
<distribution>repo</distribution>
|
||||
<comments>Copyright (c) 2002 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
|
||||
associated documentation files (the "Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
|
||||
following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial
|
||||
portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
|
||||
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
||||
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
</comments>
|
||||
</license>
|
||||
</licenses>
|
||||
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json;
|
||||
|
||||
/*
|
||||
Copyright (c) 2002 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,27 +3,7 @@ package org.json;
|
||||
import java.util.Locale;
|
||||
|
||||
/*
|
||||
Copyright (c) 2002 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json;
|
||||
|
||||
/*
|
||||
Copyright (c) 2002 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json;
|
||||
|
||||
/*
|
||||
Copyright (c) 2002 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json;
|
||||
|
||||
/*
|
||||
Copyright (c) 2002 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json;
|
||||
|
||||
/*
|
||||
Copyright (c) 2002 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -288,7 +268,7 @@ public class JSONArray implements Iterable<Object> {
|
||||
.equalsIgnoreCase("true"))) {
|
||||
return true;
|
||||
}
|
||||
throw wrongValueFormatException(index, "boolean", null);
|
||||
throw wrongValueFormatException(index, "boolean", object, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -309,7 +289,7 @@ public class JSONArray implements Iterable<Object> {
|
||||
try {
|
||||
return Double.parseDouble(object.toString());
|
||||
} catch (Exception e) {
|
||||
throw wrongValueFormatException(index, "double", e);
|
||||
throw wrongValueFormatException(index, "double", object, e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -331,7 +311,7 @@ public class JSONArray implements Iterable<Object> {
|
||||
try {
|
||||
return Float.parseFloat(object.toString());
|
||||
} catch (Exception e) {
|
||||
throw wrongValueFormatException(index, "float", e);
|
||||
throw wrongValueFormatException(index, "float", object, e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -353,7 +333,7 @@ public class JSONArray implements Iterable<Object> {
|
||||
}
|
||||
return JSONObject.stringToNumber(object.toString());
|
||||
} catch (Exception e) {
|
||||
throw wrongValueFormatException(index, "number", e);
|
||||
throw wrongValueFormatException(index, "number", object, e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -378,7 +358,7 @@ public class JSONArray implements Iterable<Object> {
|
||||
// If it did, I would re-implement this with the Enum.valueOf
|
||||
// method and place any thrown exception in the JSONException
|
||||
throw wrongValueFormatException(index, "enum of type "
|
||||
+ JSONObject.quote(clazz.getSimpleName()), null);
|
||||
+ JSONObject.quote(clazz.getSimpleName()), opt(index), null);
|
||||
}
|
||||
return val;
|
||||
}
|
||||
@@ -441,7 +421,7 @@ public class JSONArray implements Iterable<Object> {
|
||||
try {
|
||||
return Integer.parseInt(object.toString());
|
||||
} catch (Exception e) {
|
||||
throw wrongValueFormatException(index, "int", e);
|
||||
throw wrongValueFormatException(index, "int", object, e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -460,7 +440,7 @@ public class JSONArray implements Iterable<Object> {
|
||||
if (object instanceof JSONArray) {
|
||||
return (JSONArray) object;
|
||||
}
|
||||
throw wrongValueFormatException(index, "JSONArray", null);
|
||||
throw wrongValueFormatException(index, "JSONArray", object, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -478,7 +458,7 @@ public class JSONArray implements Iterable<Object> {
|
||||
if (object instanceof JSONObject) {
|
||||
return (JSONObject) object;
|
||||
}
|
||||
throw wrongValueFormatException(index, "JSONObject", null);
|
||||
throw wrongValueFormatException(index, "JSONObject", object, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -499,7 +479,7 @@ public class JSONArray implements Iterable<Object> {
|
||||
try {
|
||||
return Long.parseLong(object.toString());
|
||||
} catch (Exception e) {
|
||||
throw wrongValueFormatException(index, "long", e);
|
||||
throw wrongValueFormatException(index, "long", object, e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -517,7 +497,7 @@ public class JSONArray implements Iterable<Object> {
|
||||
if (object instanceof String) {
|
||||
return (String) object;
|
||||
}
|
||||
throw wrongValueFormatException(index, "String", null);
|
||||
throw wrongValueFormatException(index, "String", object, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1464,6 +1444,7 @@ public class JSONArray implements Iterable<Object> {
|
||||
* <small>(right bracket)</small>.
|
||||
* @throws JSONException if a called function fails
|
||||
*/
|
||||
@SuppressWarnings("resource")
|
||||
public String toString(int indentFactor) throws JSONException {
|
||||
StringWriter sw = new StringWriter();
|
||||
synchronized (sw.getBuffer()) {
|
||||
@@ -1513,6 +1494,7 @@ public class JSONArray implements Iterable<Object> {
|
||||
* @return The writer.
|
||||
* @throws JSONException if a called function fails or unable to write
|
||||
*/
|
||||
@SuppressWarnings("resource")
|
||||
public Writer write(Writer writer, int indentFactor, int indent)
|
||||
throws JSONException {
|
||||
try {
|
||||
@@ -1680,22 +1662,6 @@ public class JSONArray implements Iterable<Object> {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new JSONException in a common format for incorrect conversions.
|
||||
* @param idx index of the item
|
||||
* @param valueType the type of value being coerced to
|
||||
* @param cause optional cause of the coercion failure
|
||||
* @return JSONException that can be thrown.
|
||||
*/
|
||||
private static JSONException wrongValueFormatException(
|
||||
int idx,
|
||||
String valueType,
|
||||
Throwable cause) {
|
||||
return new JSONException(
|
||||
"JSONArray[" + idx + "] is not a " + valueType + "."
|
||||
, cause);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new JSONException in a common format for incorrect conversions.
|
||||
* @param idx index of the item
|
||||
@@ -1708,8 +1674,19 @@ public class JSONArray implements Iterable<Object> {
|
||||
String valueType,
|
||||
Object value,
|
||||
Throwable cause) {
|
||||
if(value == null) {
|
||||
return new JSONException(
|
||||
"JSONArray[" + idx + "] is not a " + valueType + " (null)."
|
||||
, cause);
|
||||
}
|
||||
// don't try to toString collections or known object types that could be large.
|
||||
if(value instanceof Map || value instanceof Iterable || value instanceof JSONObject) {
|
||||
return new JSONException(
|
||||
"JSONArray[" + idx + "] is not a " + valueType + " (" + value.getClass() + ")."
|
||||
, cause);
|
||||
}
|
||||
return new JSONException(
|
||||
"JSONArray[" + idx + "] is not a " + valueType + " (" + value + ")."
|
||||
"JSONArray[" + idx + "] is not a " + valueType + " (" + value.getClass() + " : " + value + ")."
|
||||
, cause);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json;
|
||||
|
||||
/*
|
||||
Copyright (c) 2002 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json;
|
||||
|
||||
/*
|
||||
Copyright (c) 2008 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,31 +1,10 @@
|
||||
package org.json;
|
||||
|
||||
import java.io.Closeable;
|
||||
|
||||
/*
|
||||
Copyright (c) 2002 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import java.io.Closeable;
|
||||
import java.io.IOException;
|
||||
import java.io.StringWriter;
|
||||
import java.io.Writer;
|
||||
@@ -166,6 +145,10 @@ public class JSONObject {
|
||||
*/
|
||||
private final Map<String, Object> map;
|
||||
|
||||
public Class<? extends Map> getMapType() {
|
||||
return map.getClass();
|
||||
}
|
||||
|
||||
/**
|
||||
* It is sometimes more convenient and less ambiguous to have a
|
||||
* <code>NULL</code> object than to use Java's <code>null</code> value.
|
||||
@@ -225,12 +208,19 @@ public class JSONObject {
|
||||
throw x.syntaxError("A JSONObject text must begin with '{'");
|
||||
}
|
||||
for (;;) {
|
||||
char prev = x.getPrevious();
|
||||
c = x.nextClean();
|
||||
switch (c) {
|
||||
case 0:
|
||||
throw x.syntaxError("A JSONObject text must end with '}'");
|
||||
case '}':
|
||||
return;
|
||||
case '{':
|
||||
case '[':
|
||||
if(prev=='{') {
|
||||
throw x.syntaxError("A JSON Object can not directly nest another JSON Object or JSON Array.");
|
||||
}
|
||||
// fall through
|
||||
default:
|
||||
x.back();
|
||||
key = x.nextValue().toString();
|
||||
@@ -602,7 +592,7 @@ public class JSONObject {
|
||||
// JSONException should really take a throwable argument.
|
||||
// If it did, I would re-implement this with the Enum.valueOf
|
||||
// method and place any thrown exception in the JSONException
|
||||
throw wrongValueFormatException(key, "enum of type " + quote(clazz.getSimpleName()), null);
|
||||
throw wrongValueFormatException(key, "enum of type " + quote(clazz.getSimpleName()), opt(key), null);
|
||||
}
|
||||
return val;
|
||||
}
|
||||
@@ -628,7 +618,7 @@ public class JSONObject {
|
||||
.equalsIgnoreCase("true"))) {
|
||||
return true;
|
||||
}
|
||||
throw wrongValueFormatException(key, "Boolean", null);
|
||||
throw wrongValueFormatException(key, "Boolean", object, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -690,7 +680,7 @@ public class JSONObject {
|
||||
try {
|
||||
return Double.parseDouble(object.toString());
|
||||
} catch (Exception e) {
|
||||
throw wrongValueFormatException(key, "double", e);
|
||||
throw wrongValueFormatException(key, "double", object, e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -712,7 +702,7 @@ public class JSONObject {
|
||||
try {
|
||||
return Float.parseFloat(object.toString());
|
||||
} catch (Exception e) {
|
||||
throw wrongValueFormatException(key, "float", e);
|
||||
throw wrongValueFormatException(key, "float", object, e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -734,7 +724,7 @@ public class JSONObject {
|
||||
}
|
||||
return stringToNumber(object.toString());
|
||||
} catch (Exception e) {
|
||||
throw wrongValueFormatException(key, "number", e);
|
||||
throw wrongValueFormatException(key, "number", object, e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -756,7 +746,7 @@ public class JSONObject {
|
||||
try {
|
||||
return Integer.parseInt(object.toString());
|
||||
} catch (Exception e) {
|
||||
throw wrongValueFormatException(key, "int", e);
|
||||
throw wrongValueFormatException(key, "int", object, e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -774,7 +764,7 @@ public class JSONObject {
|
||||
if (object instanceof JSONArray) {
|
||||
return (JSONArray) object;
|
||||
}
|
||||
throw wrongValueFormatException(key, "JSONArray", null);
|
||||
throw wrongValueFormatException(key, "JSONArray", object, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -791,7 +781,7 @@ public class JSONObject {
|
||||
if (object instanceof JSONObject) {
|
||||
return (JSONObject) object;
|
||||
}
|
||||
throw wrongValueFormatException(key, "JSONObject", null);
|
||||
throw wrongValueFormatException(key, "JSONObject", object, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -812,7 +802,7 @@ public class JSONObject {
|
||||
try {
|
||||
return Long.parseLong(object.toString());
|
||||
} catch (Exception e) {
|
||||
throw wrongValueFormatException(key, "long", e);
|
||||
throw wrongValueFormatException(key, "long", object, e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -868,7 +858,7 @@ public class JSONObject {
|
||||
if (object instanceof String) {
|
||||
return (String) object;
|
||||
}
|
||||
throw wrongValueFormatException(key, "string", null);
|
||||
throw wrongValueFormatException(key, "string", object, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1194,12 +1184,11 @@ public class JSONObject {
|
||||
}
|
||||
if (exact) {
|
||||
return new BigDecimal(((Number)val).doubleValue());
|
||||
}else {
|
||||
// use the string constructor so that we maintain "nice" values for doubles and floats
|
||||
// the double constructor will translate doubles to "exact" values instead of the likely
|
||||
// intended representation
|
||||
return new BigDecimal(val.toString());
|
||||
}
|
||||
// use the string constructor so that we maintain "nice" values for doubles and floats
|
||||
// the double constructor will translate doubles to "exact" values instead of the likely
|
||||
// intended representation
|
||||
return new BigDecimal(val.toString());
|
||||
}
|
||||
if (val instanceof Long || val instanceof Integer
|
||||
|| val instanceof Short || val instanceof Byte){
|
||||
@@ -2014,6 +2003,7 @@ public class JSONObject {
|
||||
* A String
|
||||
* @return A String correctly formatted for insertion in a JSON text.
|
||||
*/
|
||||
@SuppressWarnings("resource")
|
||||
public static String quote(String string) {
|
||||
StringWriter sw = new StringWriter();
|
||||
synchronized (sw.getBuffer()) {
|
||||
@@ -2134,7 +2124,7 @@ public class JSONObject {
|
||||
} else if (valueThis instanceof Number && valueOther instanceof Number) {
|
||||
if (!isNumberSimilar((Number)valueThis, (Number)valueOther)) {
|
||||
return false;
|
||||
};
|
||||
}
|
||||
} else if (!valueThis.equals(valueOther)) {
|
||||
return false;
|
||||
}
|
||||
@@ -2402,6 +2392,7 @@ public class JSONObject {
|
||||
* @throws JSONException
|
||||
* If the object contains an invalid number.
|
||||
*/
|
||||
@SuppressWarnings("resource")
|
||||
public String toString(int indentFactor) throws JSONException {
|
||||
StringWriter w = new StringWriter();
|
||||
synchronized (w.getBuffer()) {
|
||||
@@ -2495,9 +2486,7 @@ public class JSONObject {
|
||||
if (objectsRecord != null) {
|
||||
return new JSONObject(object, objectsRecord);
|
||||
}
|
||||
else {
|
||||
return new JSONObject(object);
|
||||
}
|
||||
return new JSONObject(object);
|
||||
}
|
||||
catch (JSONException exception) {
|
||||
throw exception;
|
||||
@@ -2520,6 +2509,7 @@ public class JSONObject {
|
||||
return this.write(writer, 0, 0);
|
||||
}
|
||||
|
||||
@SuppressWarnings("resource")
|
||||
static final Writer writeValue(Writer writer, Object value,
|
||||
int indentFactor, int indent) throws JSONException, IOException {
|
||||
if (value == null || value.equals(null)) {
|
||||
@@ -2597,6 +2587,7 @@ public class JSONObject {
|
||||
* @throws JSONException if a called function has an error or a write error
|
||||
* occurs
|
||||
*/
|
||||
@SuppressWarnings("resource")
|
||||
public Writer write(Writer writer, int indentFactor, int indent)
|
||||
throws JSONException {
|
||||
try {
|
||||
@@ -2679,22 +2670,6 @@ public class JSONObject {
|
||||
return results;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new JSONException in a common format for incorrect conversions.
|
||||
* @param key name of the key
|
||||
* @param valueType the type of value being coerced to
|
||||
* @param cause optional cause of the coercion failure
|
||||
* @return JSONException that can be thrown.
|
||||
*/
|
||||
private static JSONException wrongValueFormatException(
|
||||
String key,
|
||||
String valueType,
|
||||
Throwable cause) {
|
||||
return new JSONException(
|
||||
"JSONObject[" + quote(key) + "] is not a " + valueType + "."
|
||||
, cause);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new JSONException in a common format for incorrect conversions.
|
||||
* @param key name of the key
|
||||
@@ -2707,8 +2682,20 @@ public class JSONObject {
|
||||
String valueType,
|
||||
Object value,
|
||||
Throwable cause) {
|
||||
if(value == null) {
|
||||
|
||||
return new JSONException(
|
||||
"JSONObject[" + quote(key) + "] is not a " + valueType + " (null)."
|
||||
, cause);
|
||||
}
|
||||
// don't try to toString collections or known object types that could be large.
|
||||
if(value instanceof Map || value instanceof Iterable || value instanceof JSONObject) {
|
||||
return new JSONException(
|
||||
"JSONObject[" + quote(key) + "] is not a " + valueType + " (" + value.getClass() + ")."
|
||||
, cause);
|
||||
}
|
||||
return new JSONException(
|
||||
"JSONObject[" + quote(key) + "] is not a " + valueType + " (" + value + ")."
|
||||
"JSONObject[" + quote(key) + "] is not a " + valueType + " (" + value.getClass() + " : " + value + ")."
|
||||
, cause);
|
||||
}
|
||||
|
||||
|
||||
@@ -10,27 +10,7 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/*
|
||||
Copyright (c) 2002 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json;
|
||||
|
||||
/*
|
||||
Copyright (c) 2002 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json;
|
||||
|
||||
/*
|
||||
Copyright (c) 2018 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import static java.lang.annotation.ElementType.METHOD;
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json;
|
||||
|
||||
/*
|
||||
Copyright (c) 2018 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import static java.lang.annotation.ElementType.METHOD;
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json;
|
||||
|
||||
/*
|
||||
Copyright (c) 2002 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json;
|
||||
|
||||
/*
|
||||
Copyright (c) 2006 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import java.io.StringWriter;
|
||||
|
||||
@@ -8,27 +8,7 @@ import java.io.Reader;
|
||||
import java.io.StringReader;
|
||||
|
||||
/*
|
||||
Copyright (c) 2002 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -209,6 +189,12 @@ public class JSONTokener {
|
||||
this.previous = (char) c;
|
||||
return this.previous;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the last character read from the input or '\0' if nothing has been read yet.
|
||||
* @return the last character read from the input.
|
||||
*/
|
||||
protected char getPrevious() { return this.previous;}
|
||||
|
||||
/**
|
||||
* Increments the internal indexes according to the previous character
|
||||
@@ -428,10 +414,18 @@ public class JSONTokener {
|
||||
return this.nextString(c);
|
||||
case '{':
|
||||
this.back();
|
||||
return new JSONObject(this);
|
||||
try {
|
||||
return new JSONObject(this);
|
||||
} catch (StackOverflowError e) {
|
||||
throw new JSONException("JSON Array or Object depth too large to process.", e);
|
||||
}
|
||||
case '[':
|
||||
this.back();
|
||||
return new JSONArray(this);
|
||||
try {
|
||||
return new JSONArray(this);
|
||||
} catch (StackOverflowError e) {
|
||||
throw new JSONException("JSON Array or Object depth too large to process.", e);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -5,27 +5,7 @@ import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
/*
|
||||
Copyright (c) 2006 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json;
|
||||
|
||||
/*
|
||||
Copyright (c) 2002 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import java.util.Enumeration;
|
||||
|
||||
@@ -1,32 +1,11 @@
|
||||
package org.json;
|
||||
|
||||
/*
|
||||
Copyright (c) 2015 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import java.io.Reader;
|
||||
import java.io.StringReader;
|
||||
import java.lang.reflect.Method;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.util.Iterator;
|
||||
|
||||
@@ -1,26 +1,6 @@
|
||||
package org.json;
|
||||
/*
|
||||
Copyright (c) 2002 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json;
|
||||
|
||||
/*
|
||||
Copyright (c) 2002 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import java.io.Reader;
|
||||
|
||||
@@ -1,26 +1,6 @@
|
||||
package org.json;
|
||||
/*
|
||||
Copyright (c) 2002 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json.junit;
|
||||
|
||||
/*
|
||||
Copyright (c) 2020 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
@@ -190,7 +170,7 @@ public class CDLTest {
|
||||
CDL.toJSONArray(badLine);
|
||||
fail("Expecting an exception");
|
||||
} catch (JSONException e) {
|
||||
System.out.println("Message" + e.getMessage());
|
||||
//System.out.println("Message" + e.getMessage());
|
||||
assertEquals("Expecting an exception message",
|
||||
"Bad character 'V' (86). at 20 [character 9 line 2]",
|
||||
e.getMessage());
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json.junit;
|
||||
|
||||
/*
|
||||
Copyright (c) 2020 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json.junit;
|
||||
|
||||
/*
|
||||
Copyright (c) 2020 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json.junit;
|
||||
|
||||
/*
|
||||
Copyright (c) 2020 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json.junit;
|
||||
|
||||
/*
|
||||
Copyright (c) 2020 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json.junit;
|
||||
|
||||
/*
|
||||
Copyright (c) 2020 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
@@ -29,8 +9,10 @@ import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.StringWriter;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
@@ -47,6 +29,7 @@ import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
import org.json.JSONPointerException;
|
||||
import org.json.JSONTokener;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.jayway.jsonpath.Configuration;
|
||||
@@ -234,6 +217,10 @@ public class JSONArrayTest {
|
||||
assertTrue(
|
||||
"The RAW Collection should give me the same as the Typed Collection",
|
||||
expected.similar(jaObj));
|
||||
Util.checkJSONArrayMaps(expected);
|
||||
Util.checkJSONArrayMaps(jaObj);
|
||||
Util.checkJSONArrayMaps(jaRaw);
|
||||
Util.checkJSONArrayMaps(jaInt);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -272,6 +259,7 @@ public class JSONArrayTest {
|
||||
myList.get(i),
|
||||
jsonArray.getString(myInts.length + i));
|
||||
}
|
||||
Util.checkJSONArrayMaps(jsonArray);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -305,6 +293,9 @@ public class JSONArrayTest {
|
||||
assertTrue(
|
||||
"The RAW Collection should give me the same as the Typed Collection",
|
||||
expected.similar(jaInt));
|
||||
Util.checkJSONArraysMaps(new ArrayList<JSONArray>(Arrays.asList(
|
||||
jaRaw, jaObj, jaInt
|
||||
)));
|
||||
}
|
||||
|
||||
|
||||
@@ -348,6 +339,9 @@ public class JSONArrayTest {
|
||||
assertTrue(
|
||||
"The RAW Collection should give me the same as the Typed Collection",
|
||||
expected.similar(jaObjObj));
|
||||
Util.checkJSONArraysMaps(new ArrayList<JSONArray>(Arrays.asList(
|
||||
expected, jaRaw, jaStrObj, jaStrInt, jaObjObj
|
||||
)));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -394,6 +388,7 @@ public class JSONArrayTest {
|
||||
new Long(-1).equals(jsonArray.getLong(12)));
|
||||
|
||||
assertTrue("Array value null", jsonArray.isNull(-1));
|
||||
Util.checkJSONArrayMaps(jsonArray);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -409,7 +404,7 @@ public class JSONArrayTest {
|
||||
assertTrue("expected getBoolean to fail", false);
|
||||
} catch (JSONException e) {
|
||||
assertEquals("Expected an exception message",
|
||||
"JSONArray[4] is not a boolean.",e.getMessage());
|
||||
"JSONArray[4] is not a boolean (class java.lang.String : hello).",e.getMessage());
|
||||
}
|
||||
try {
|
||||
jsonArray.get(-1);
|
||||
@@ -423,43 +418,44 @@ public class JSONArrayTest {
|
||||
assertTrue("expected getDouble to fail", false);
|
||||
} catch (JSONException e) {
|
||||
assertEquals("Expected an exception message",
|
||||
"JSONArray[4] is not a double.",e.getMessage());
|
||||
"JSONArray[4] is not a double (class java.lang.String : hello).",e.getMessage());
|
||||
}
|
||||
try {
|
||||
jsonArray.getInt(4);
|
||||
assertTrue("expected getInt to fail", false);
|
||||
} catch (JSONException e) {
|
||||
assertEquals("Expected an exception message",
|
||||
"JSONArray[4] is not a int.",e.getMessage());
|
||||
"JSONArray[4] is not a int (class java.lang.String : hello).",e.getMessage());
|
||||
}
|
||||
try {
|
||||
jsonArray.getJSONArray(4);
|
||||
assertTrue("expected getJSONArray to fail", false);
|
||||
} catch (JSONException e) {
|
||||
assertEquals("Expected an exception message",
|
||||
"JSONArray[4] is not a JSONArray.",e.getMessage());
|
||||
"JSONArray[4] is not a JSONArray (class java.lang.String : hello).",e.getMessage());
|
||||
}
|
||||
try {
|
||||
jsonArray.getJSONObject(4);
|
||||
assertTrue("expected getJSONObject to fail", false);
|
||||
} catch (JSONException e) {
|
||||
assertEquals("Expected an exception message",
|
||||
"JSONArray[4] is not a JSONObject.",e.getMessage());
|
||||
"JSONArray[4] is not a JSONObject (class java.lang.String : hello).",e.getMessage());
|
||||
}
|
||||
try {
|
||||
jsonArray.getLong(4);
|
||||
assertTrue("expected getLong to fail", false);
|
||||
} catch (JSONException e) {
|
||||
assertEquals("Expected an exception message",
|
||||
"JSONArray[4] is not a long.",e.getMessage());
|
||||
"JSONArray[4] is not a long (class java.lang.String : hello).",e.getMessage());
|
||||
}
|
||||
try {
|
||||
jsonArray.getString(5);
|
||||
assertTrue("expected getString to fail", false);
|
||||
} catch (JSONException e) {
|
||||
assertEquals("Expected an exception message",
|
||||
"JSONArray[5] is not a String.",e.getMessage());
|
||||
"JSONArray[5] is not a String (class java.math.BigDecimal : 0.002345).",e.getMessage());
|
||||
}
|
||||
Util.checkJSONArrayMaps(jsonArray);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -496,6 +492,7 @@ public class JSONArrayTest {
|
||||
assertTrue("expected value4", "value4".equals(jsonArray.query("/10/key4")));
|
||||
assertTrue("expected 0", Integer.valueOf(0).equals(jsonArray.query("/11")));
|
||||
assertTrue("expected \"-1\"", "-1".equals(jsonArray.query("/12")));
|
||||
Util.checkJSONArrayMaps(jsonArray);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -509,6 +506,9 @@ public class JSONArrayTest {
|
||||
assertTrue("expected JSONArray length 13. instead found "+jsonArray.length(), jsonArray.length() == 13);
|
||||
JSONArray nestedJsonArray = jsonArray.getJSONArray(9);
|
||||
assertTrue("expected JSONArray length 1", nestedJsonArray.length() == 1);
|
||||
Util.checkJSONArraysMaps(new ArrayList<JSONArray>(Arrays.asList(
|
||||
jsonArray, nestedJsonArray
|
||||
)));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -584,6 +584,10 @@ public class JSONArrayTest {
|
||||
"hello".equals(jsonArray.optString(4)));
|
||||
assertTrue("Array opt string default implicit",
|
||||
"".equals(jsonArray.optString(-1)));
|
||||
Util.checkJSONArraysMaps(new ArrayList<JSONArray>(Arrays.asList(
|
||||
jsonArray, nestedJsonArray
|
||||
)));
|
||||
Util.checkJSONObjectMaps(nestedJsonObject);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -598,7 +602,9 @@ public class JSONArrayTest {
|
||||
assertTrue("unexpected optLong value",ja.optLong(0,0)==123);
|
||||
assertTrue("unexpected optDouble value",ja.optDouble(0,0.0)==123.0);
|
||||
assertTrue("unexpected optBigInteger value",ja.optBigInteger(0,BigInteger.ZERO).compareTo(new BigInteger("123"))==0);
|
||||
assertTrue("unexpected optBigDecimal value",ja.optBigDecimal(0,BigDecimal.ZERO).compareTo(new BigDecimal("123"))==0); }
|
||||
assertTrue("unexpected optBigDecimal value",ja.optBigDecimal(0,BigDecimal.ZERO).compareTo(new BigDecimal("123"))==0);
|
||||
Util.checkJSONArrayMaps(ja);
|
||||
}
|
||||
|
||||
/**
|
||||
* Exercise the JSONArray.put(value) method with various parameters
|
||||
@@ -674,6 +680,8 @@ public class JSONArrayTest {
|
||||
assertTrue("expected 2 items in [9]", ((List<?>)(JsonPath.read(doc, "$[9]"))).size() == 2);
|
||||
assertTrue("expected 1", Integer.valueOf(1).equals(jsonArray.query("/9/0")));
|
||||
assertTrue("expected 2", Integer.valueOf(2).equals(jsonArray.query("/9/1")));
|
||||
Util.checkJSONArrayMaps(jsonArray);
|
||||
Util.checkJSONObjectMaps(jsonObject);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -753,6 +761,8 @@ public class JSONArrayTest {
|
||||
assertTrue("expected 2", Integer.valueOf(2).equals(jsonArray.query("/9/1")));
|
||||
assertTrue("expected 1 item in [10]", ((Map<?,?>)(JsonPath.read(doc, "$[10]"))).size() == 1);
|
||||
assertTrue("expected v1", "v1".equals(jsonArray.query("/10/k1")));
|
||||
Util.checkJSONObjectMaps(jsonObject);
|
||||
Util.checkJSONArrayMaps(jsonArray);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -769,6 +779,7 @@ public class JSONArrayTest {
|
||||
jsonArray.remove(0);
|
||||
assertTrue("array should be empty", null == jsonArray.remove(5));
|
||||
assertTrue("jsonArray should be empty", jsonArray.isEmpty());
|
||||
Util.checkJSONArrayMaps(jsonArray);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -808,6 +819,12 @@ public class JSONArrayTest {
|
||||
otherJsonArray.put("world");
|
||||
assertTrue("arrays values differ",
|
||||
!jsonArray.similar(otherJsonArray));
|
||||
Util.checkJSONArraysMaps(new ArrayList<JSONArray>(Arrays.asList(
|
||||
jsonArray, otherJsonArray
|
||||
)));
|
||||
Util.checkJSONObjectsMaps(new ArrayList<JSONObject>(Arrays.asList(
|
||||
jsonObject, otherJsonObject
|
||||
)));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -891,6 +908,7 @@ public class JSONArrayTest {
|
||||
for (String s : jsonArray4Strs) {
|
||||
list.contains(s);
|
||||
}
|
||||
Util.checkJSONArrayMaps(jsonArray);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -902,6 +920,9 @@ public class JSONArrayTest {
|
||||
JSONArray jsonArray = new JSONArray();
|
||||
assertTrue("toJSONObject should return null",
|
||||
null == jsonArray.toJSONObject(names));
|
||||
Util.checkJSONArraysMaps(new ArrayList<JSONArray>(Arrays.asList(
|
||||
names, jsonArray
|
||||
)));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -923,6 +944,7 @@ public class JSONArrayTest {
|
||||
assertTrue("expected 5", Integer.valueOf(5).equals(jsonArray.query("/4")));
|
||||
assertTrue("expected 6", Integer.valueOf(6).equals(jsonArray.query("/5")));
|
||||
assertTrue("expected 7", Integer.valueOf(7).equals(jsonArray.query("/6")));
|
||||
Util.checkJSONArrayMaps(jsonArray);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -965,6 +987,10 @@ public class JSONArrayTest {
|
||||
assertTrue("Array value string long",
|
||||
new Long(-1).equals(Long.parseLong((String) it.next())));
|
||||
assertTrue("should be at end of array", !it.hasNext());
|
||||
Util.checkJSONArraysMaps(new ArrayList<JSONArray>(Arrays.asList(
|
||||
jsonArray, nestedJsonArray
|
||||
)));
|
||||
Util.checkJSONObjectMaps(nestedJsonObject);
|
||||
}
|
||||
|
||||
@Test(expected = JSONPointerException.class)
|
||||
@@ -1007,6 +1033,7 @@ public class JSONArrayTest {
|
||||
} finally {
|
||||
stringWriter.close();
|
||||
}
|
||||
Util.checkJSONArrayMaps(jsonArray);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1066,9 +1093,11 @@ public class JSONArrayTest {
|
||||
&& actualStr.contains("\"key2\": false")
|
||||
&& actualStr.contains("\"key3\": 3.14")
|
||||
);
|
||||
Util.checkJSONArrayMaps(finalArray);
|
||||
} finally {
|
||||
stringWriter.close();
|
||||
}
|
||||
Util.checkJSONArrayMaps(jsonArray);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1179,6 +1208,7 @@ public class JSONArrayTest {
|
||||
// assert that the new list is mutable
|
||||
assertTrue("Removing an entry should succeed", list.remove(2) != null);
|
||||
assertTrue("List should have 2 elements", list.size() == 2);
|
||||
Util.checkJSONArrayMaps(jsonArray);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1187,13 +1217,13 @@ public class JSONArrayTest {
|
||||
*/
|
||||
@Test
|
||||
public void testJSONArrayInt() {
|
||||
assertNotNull(new JSONArray(0));
|
||||
assertNotNull(new JSONArray(5));
|
||||
// Check Size -> Even though the capacity of the JSONArray can be specified using a positive
|
||||
// integer but the length of JSONArray always reflects upon the items added into it.
|
||||
assertEquals(0l, new JSONArray(10).length());
|
||||
assertNotNull(new JSONArray(0));
|
||||
assertNotNull(new JSONArray(5));
|
||||
// Check Size -> Even though the capacity of the JSONArray can be specified using a positive
|
||||
// integer but the length of JSONArray always reflects upon the items added into it.
|
||||
// assertEquals(0l, new JSONArray(10).length());
|
||||
try {
|
||||
assertNotNull("Should throw an exception", new JSONArray(-1));
|
||||
assertNotNull("Should throw an exception", new JSONArray(-1));
|
||||
} catch (JSONException e) {
|
||||
assertEquals("Expected an exception message",
|
||||
"JSONArray initial capacity cannot be negative.",
|
||||
@@ -1220,8 +1250,8 @@ public class JSONArrayTest {
|
||||
((Collection<Object>)o).add("test");
|
||||
((Collection<Object>)o).add(false);
|
||||
try {
|
||||
a = new JSONArray(o);
|
||||
assertNull("Should error", a);
|
||||
JSONArray a0 = new JSONArray(o);
|
||||
assertNull("Should error", a0);
|
||||
} catch (JSONException ex) {
|
||||
}
|
||||
|
||||
@@ -1229,10 +1259,11 @@ public class JSONArrayTest {
|
||||
// this is required for backwards compatibility
|
||||
o = a;
|
||||
try {
|
||||
a = new JSONArray(o);
|
||||
assertNull("Should error", a);
|
||||
JSONArray a1 = new JSONArray(o);
|
||||
assertNull("Should error", a1);
|
||||
} catch (JSONException ex) {
|
||||
}
|
||||
Util.checkJSONArrayMaps(a);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1249,6 +1280,9 @@ public class JSONArrayTest {
|
||||
for(int i = 0; i < a1.length(); i++) {
|
||||
assertEquals("index " + i + " are equal", a1.get(i), a2.get(i));
|
||||
}
|
||||
Util.checkJSONArraysMaps(new ArrayList<JSONArray>(Arrays.asList(
|
||||
a1, a2
|
||||
)));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1266,6 +1300,9 @@ public class JSONArrayTest {
|
||||
for(int i = 0; i < a1.length(); i++) {
|
||||
assertEquals("index " + i + " are equal", a1.get(i), a2.get(i));
|
||||
}
|
||||
Util.checkJSONArraysMaps(new ArrayList<JSONArray>(Arrays.asList(
|
||||
a1, a2
|
||||
)));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1281,5 +1318,20 @@ public class JSONArrayTest {
|
||||
jsonArray.clear(); //Clears the JSONArray
|
||||
assertTrue("expected jsonArray.length() == 0", jsonArray.length() == 0); //Check if its length is 0
|
||||
jsonArray.getInt(0); //Should throws org.json.JSONException: JSONArray[0] not found
|
||||
Util.checkJSONArrayMaps(jsonArray);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests for stack overflow. See https://github.com/stleary/JSON-java/issues/654
|
||||
*/
|
||||
@Test(expected = JSONException.class)
|
||||
public void issue654StackOverflowInputWellFormed() {
|
||||
//String input = new String(java.util.Base64.getDecoder().decode(base64Bytes));
|
||||
final InputStream resourceAsStream = JSONObjectTest.class.getClassLoader().getResourceAsStream("Issue654WellFormedArray.json");
|
||||
JSONTokener tokener = new JSONTokener(resourceAsStream);
|
||||
JSONArray json_input = new JSONArray(tokener);
|
||||
assertNotNull(json_input);
|
||||
fail("Excepected Exception.");
|
||||
Util.checkJSONArrayMaps(json_input);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json.junit;
|
||||
|
||||
/*
|
||||
Copyright (c) 2020 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
@@ -158,7 +138,7 @@ public class JSONMLTest {
|
||||
assertTrue("Expecting an exception", false);
|
||||
} catch (JSONException e) {
|
||||
assertEquals("Expecting an exception message",
|
||||
"JSONArray[0] is not a String.",
|
||||
"JSONArray[0] is not a String (class org.json.JSONArray).",
|
||||
e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json.junit;
|
||||
|
||||
/*
|
||||
Copyright (c) 2020 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,27 +1,7 @@
|
||||
package org.json.junit;
|
||||
|
||||
/*
|
||||
Copyright (c) 2020 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json.junit;
|
||||
|
||||
/*
|
||||
Copyright (c) 2020 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json.junit;
|
||||
|
||||
/*
|
||||
Copyright (c) 2020 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json.junit;
|
||||
|
||||
/*
|
||||
Copyright (c) 2020 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json.junit;
|
||||
|
||||
/*
|
||||
Copyright (c) 2020 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json.junit;
|
||||
|
||||
/*
|
||||
Copyright (c) 2020 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
@@ -78,7 +58,6 @@ public class Util {
|
||||
* or something else.
|
||||
* @param value created by the code to be tested
|
||||
* @param expectedValue created specifically for comparing
|
||||
* @param key key to the jsonObject entry to be compared
|
||||
*/
|
||||
private static void compareActualVsExpectedObjects(Object value,
|
||||
Object expectedValue) {
|
||||
@@ -117,4 +96,106 @@ public class Util {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that all JSONObject maps are the same as the default ctor
|
||||
* @param jsonObjects list of objects to be tested
|
||||
*/
|
||||
public static void checkJSONObjectsMaps(List<JSONObject> jsonObjects) {
|
||||
if (jsonObjects == null || jsonObjects.size() == 0) {
|
||||
return;
|
||||
}
|
||||
Class<? extends Map> mapType = new JSONObject().getMapType();
|
||||
for (JSONObject jsonObject : jsonObjects) {
|
||||
if (jsonObject != null) {
|
||||
assertTrue(mapType == jsonObject.getMapType());
|
||||
checkJSONObjectMaps(jsonObject, mapType);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that all JSONObject maps are the same as the default ctor
|
||||
* @param jsonObject the object to be tested
|
||||
*/
|
||||
public static void checkJSONObjectMaps(JSONObject jsonObject) {
|
||||
if (jsonObject != null) {
|
||||
checkJSONObjectMaps(jsonObject, jsonObject.getMapType());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that all JSONObject maps are the same as mapType
|
||||
* @param jsonObject object to be tested
|
||||
* @param mapType mapType to test against
|
||||
*/
|
||||
public static void checkJSONObjectMaps(JSONObject jsonObject, Class<? extends Map> mapType) {
|
||||
if (mapType == null) {
|
||||
mapType = new JSONObject().getMapType();
|
||||
}
|
||||
Set<String> keys = jsonObject.keySet();
|
||||
for (String key : keys) {
|
||||
Object val = jsonObject.get(key);
|
||||
if (val instanceof JSONObject) {
|
||||
JSONObject jsonObjectVal = (JSONObject) val;
|
||||
assertTrue(mapType == ((JSONObject) val).getMapType());
|
||||
checkJSONObjectMaps(jsonObjectVal, mapType);
|
||||
} else if (val instanceof JSONArray) {
|
||||
JSONArray jsonArrayVal = (JSONArray)val;
|
||||
checkJSONArrayMaps(jsonArrayVal, mapType);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that all JSONObject maps in the JSONArray object match the default map
|
||||
* @param jsonArrays list of JSONArray objects to be tested
|
||||
*/
|
||||
public static void checkJSONArraysMaps(List<JSONArray> jsonArrays) {
|
||||
if (jsonArrays == null || jsonArrays.size() == 0) {
|
||||
return;
|
||||
}
|
||||
Class<? extends Map> mapType = new JSONObject().getMapType();
|
||||
for (JSONArray jsonArray : jsonArrays) {
|
||||
if (jsonArray != null) {
|
||||
checkJSONArrayMaps(jsonArray, mapType);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that all JSONObject maps in the JSONArray object match mapType
|
||||
* @param jsonArray object to be tested
|
||||
* @param mapType map type to be tested against
|
||||
*/
|
||||
public static void checkJSONArrayMaps(JSONArray jsonArray, Class<? extends Map> mapType) {
|
||||
if (jsonArray == null) {
|
||||
return;
|
||||
}
|
||||
if (mapType == null) {
|
||||
mapType = new JSONObject().getMapType();
|
||||
}
|
||||
Iterator<Object> it = jsonArray.iterator();
|
||||
while (it.hasNext()) {
|
||||
Object val = it.next();
|
||||
if (val instanceof JSONObject) {
|
||||
JSONObject jsonObjectVal = (JSONObject)val;
|
||||
checkJSONObjectMaps(jsonObjectVal, mapType);
|
||||
} else if (val instanceof JSONArray) {
|
||||
JSONArray jsonArrayVal = (JSONArray)val;
|
||||
checkJSONArrayMaps(jsonArrayVal, mapType);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that all JSONObject maps nested in the JSONArray match
|
||||
* the default mapType
|
||||
* @param jsonArray the object to be tested
|
||||
*/
|
||||
public static void checkJSONArrayMaps(JSONArray jsonArray) {
|
||||
if (jsonArray != null) {
|
||||
checkJSONArrayMaps(jsonArray, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json.junit;
|
||||
|
||||
/*
|
||||
Copyright (c) 2020 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
@@ -1,27 +1,7 @@
|
||||
package org.json.junit;
|
||||
|
||||
/*
|
||||
Copyright (c) 2020 JSON.org
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
The Software shall be used for Good, not Evil.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
Public Domain.
|
||||
*/
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
822
src/test/resources/Issue654WellFormedArray.json
Normal file
822
src/test/resources/Issue654WellFormedArray.json
Normal file
@@ -0,0 +1,822 @@
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",
|
||||
["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",["a",[]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
]]]]]]]]]]]]
|
||||
822
src/test/resources/Issue654WellFormedObject.json
Normal file
822
src/test/resources/Issue654WellFormedObject.json
Normal file
@@ -0,0 +1,822 @@
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":
|
||||
{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{"a":{}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
}}}}}}}}}}}}
|
||||
Reference in New Issue
Block a user