You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by se...@apache.org on 2016/10/20 22:12:38 UTC
[01/23] hive git commit: HIVE-14977:Flaky test: fix order_null.q and
union_fast_stats.q (Prasanth Jayachandran reviewed by Siddharth Seth)
Repository: hive
Updated Branches:
refs/heads/hive-14535 a057e12cf -> b60bbc28a
HIVE-14977:Flaky test: fix order_null.q and union_fast_stats.q (Prasanth Jayachandran reviewed by Siddharth Seth)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/dedfaf90
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/dedfaf90
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/dedfaf90
Branch: refs/heads/hive-14535
Commit: dedfaf909d33966ef3a430dec56f3e94e9f065b6
Parents: 044f1fa
Author: Prasanth Jayachandran <pr...@apache.org>
Authored: Wed Oct 19 11:02:38 2016 -0700
Committer: Prasanth Jayachandran <pr...@apache.org>
Committed: Wed Oct 19 11:02:38 2016 -0700
----------------------------------------------------------------------
.../test/resources/testconfiguration.properties | 13 +++++------
.../queries/clientpositive/acid_globallimit.q | 2 +-
.../clientpositive/llap/acid_globallimit.q.out | 24 ++++++++++----------
3 files changed, 19 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/dedfaf90/itests/src/test/resources/testconfiguration.properties
----------------------------------------------------------------------
diff --git a/itests/src/test/resources/testconfiguration.properties b/itests/src/test/resources/testconfiguration.properties
index 73cc8a9..8868631 100644
--- a/itests/src/test/resources/testconfiguration.properties
+++ b/itests/src/test/resources/testconfiguration.properties
@@ -54,8 +54,7 @@ minitez.query.files=explainuser_3.q,\
tez_union_with_udf.q
-minillap.shared.query.files=acid_globallimit.q,\
- insert_into1.q,\
+minillap.shared.query.files=insert_into1.q,\
insert_into2.q,\
insert_values_orig_table.,\
llapdecider.q,\
@@ -83,8 +82,7 @@ minillap.shared.query.files=acid_globallimit.q,\
cte_4.q,\
llap_nullscan.q,\
dynamic_partition_pruning_2.q,\
- tez_union_dynamic_partition.q,\
- union_fast_stats.q
+ tez_union_dynamic_partition.q
minillaplocal.shared.query.files=alter_merge_2_orc.q,\
alter_merge_orc.q,\
@@ -214,7 +212,6 @@ minillaplocal.shared.query.files=alter_merge_2_orc.q,\
orc_ppd_schema_evol_1b.q,\
orc_ppd_schema_evol_2a.q,\
orc_ppd_schema_evol_2b.q,\
- order_null.q,\
parallel.q,\
ptf.q,\
ptf_matchpath.q,\
@@ -434,11 +431,11 @@ minillap.query.files=acid_bucket_pruning.q,\
orc_ppd_schema_evol_3a.q,\
global_limit.q,\
dynamic_partition_pruning_2.q,\
- union_fast_stats.q,\
tez_union_dynamic_partition.q,\
load_fs2.q
-minillaplocal.query.files=acid_vectorization_missing_cols.q,\
+minillaplocal.query.files=acid_globallimit.q,\
+ acid_vectorization_missing_cols.q,\
alter_merge_stats_orc.q,\
auto_join30.q,\
auto_join_filters.q,\
@@ -517,6 +514,7 @@ minillaplocal.query.files=acid_vectorization_missing_cols.q,\
orc_ppd_date.q,\
orc_ppd_decimal.q,\
orc_ppd_timestamp.q,\
+ order_null.q,\
partition_multilevels.q,\
ptf.q,\
ptf_streaming.q,\
@@ -583,6 +581,7 @@ minillaplocal.query.files=acid_vectorization_missing_cols.q,\
tez_vector_dynpart_hashjoin_2.q,\
uber_reduce.q,\
udaf_collect_set_2.q,\
+ union_fast_stats.q,\
union_remove_26.q,\
union_top_level.q,\
vector_auto_smb_mapjoin_14.q,\
http://git-wip-us.apache.org/repos/asf/hive/blob/dedfaf90/ql/src/test/queries/clientpositive/acid_globallimit.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/acid_globallimit.q b/ql/src/test/queries/clientpositive/acid_globallimit.q
index 7fa4c07..233b6b4 100644
--- a/ql/src/test/queries/clientpositive/acid_globallimit.q
+++ b/ql/src/test/queries/clientpositive/acid_globallimit.q
@@ -11,6 +11,6 @@ TBLPROPERTIES ("transactional"="true");
insert into table acidtest1 select cint, cstring1 from alltypesorc where cint is not null order by cint;
-select cast (c1 as string) from acidtest1 limit 10;
+select cast (c1 as string) from acidtest1 order by c1 limit 10;
drop table acidtest1;
http://git-wip-us.apache.org/repos/asf/hive/blob/dedfaf90/ql/src/test/results/clientpositive/llap/acid_globallimit.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/acid_globallimit.q.out b/ql/src/test/results/clientpositive/llap/acid_globallimit.q.out
index 6f0e46e..12545c7 100644
--- a/ql/src/test/results/clientpositive/llap/acid_globallimit.q.out
+++ b/ql/src/test/results/clientpositive/llap/acid_globallimit.q.out
@@ -24,24 +24,24 @@ POSTHOOK: Input: default@alltypesorc
POSTHOOK: Output: default@acidtest1
POSTHOOK: Lineage: acidtest1.c1 SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
POSTHOOK: Lineage: acidtest1.c2 SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
-PREHOOK: query: select cast (c1 as string) from acidtest1 limit 10
+PREHOOK: query: select cast (c1 as string) from acidtest1 order by c1 limit 10
PREHOOK: type: QUERY
PREHOOK: Input: default@acidtest1
#### A masked pattern was here ####
-POSTHOOK: query: select cast (c1 as string) from acidtest1 limit 10
+POSTHOOK: query: select cast (c1 as string) from acidtest1 order by c1 limit 10
POSTHOOK: type: QUERY
POSTHOOK: Input: default@acidtest1
#### A masked pattern was here ####
--340178543
--339581189
--339244391
-356535438
--338184935
--338131778
-356416560
-844686816
-355274340
--821957276
+-1000318990
+-1000804087
+-1000977746
+-1001217298
+-1001446082
+-1001487162
+-1001510525
+-1002045753
+-1002277189
+-1002350795
PREHOOK: query: drop table acidtest1
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@acidtest1
[05/23] hive git commit: HIVE-15008. Cleanup local workDir when
MiniHS2 starts up in FS_ONLY mode. (Siddharth Seth,
reviewed by Prasanth Jayachandran)
Posted by se...@apache.org.
HIVE-15008. Cleanup local workDir when MiniHS2 starts up in FS_ONLY mode. (Siddharth Seth, reviewed by Prasanth Jayachandran)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/9072575e
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/9072575e
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/9072575e
Branch: refs/heads/hive-14535
Commit: 9072575eaa92290bf241d38ae490a96fe0822be6
Parents: 3252bed
Author: Siddharth Seth <ss...@apache.org>
Authored: Wed Oct 19 19:07:20 2016 -0700
Committer: Siddharth Seth <ss...@apache.org>
Committed: Wed Oct 19 19:07:20 2016 -0700
----------------------------------------------------------------------
.../org/apache/hive/jdbc/miniHS2/MiniHS2.java | 71 +++++++++++++++-----
.../TestBeelineConnectionUsingHiveSite.java | 7 --
.../TestBeelineWithHS2ConnectionFile.java | 12 ++--
.../apache/hive/jdbc/TestJdbcWithMiniHS2.java | 7 +-
.../test/java/org/apache/hive/jdbc/TestSSL.java | 9 ++-
.../jdbc/TestServiceDiscoveryWithMiniHS2.java | 6 +-
.../org/apache/hive/jdbc/TestXSRFFilter.java | 14 +++-
.../org/apache/hadoop/hive/ql/QTestUtil.java | 2 +-
8 files changed, 92 insertions(+), 36 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/9072575e/itests/hive-unit/src/main/java/org/apache/hive/jdbc/miniHS2/MiniHS2.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/main/java/org/apache/hive/jdbc/miniHS2/MiniHS2.java b/itests/hive-unit/src/main/java/org/apache/hive/jdbc/miniHS2/MiniHS2.java
index ddc2690..f02f0e3 100644
--- a/itests/hive-unit/src/main/java/org/apache/hive/jdbc/miniHS2/MiniHS2.java
+++ b/itests/hive-unit/src/main/java/org/apache/hive/jdbc/miniHS2/MiniHS2.java
@@ -19,11 +19,14 @@
package org.apache.hive.jdbc.miniHS2;
import java.io.File;
+import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
+
+import com.google.common.base.Preconditions;
import org.apache.commons.io.FileUtils;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
@@ -46,10 +49,13 @@ import org.apache.hive.service.cli.thrift.ThriftBinaryCLIService;
import org.apache.hive.service.cli.thrift.ThriftCLIServiceClient;
import org.apache.hive.service.cli.thrift.ThriftHttpCLIService;
import org.apache.hive.service.server.HiveServer2;
-
-import com.google.common.io.Files;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class MiniHS2 extends AbstractHiveService {
+
+ private static final Logger LOG = LoggerFactory.getLogger(MiniHS2.class);
+
public static final String HS2_BINARY_MODE = "binary";
public static final String HS2_HTTP_MODE = "http";
private static final String driverName = "org.apache.hive.jdbc.HiveDriver";
@@ -58,7 +64,7 @@ public class MiniHS2 extends AbstractHiveService {
private static final String tmpDir = System.getProperty("test.tmp.dir");
private HiveServer2 hiveServer2 = null;
private final File baseDir;
- private final Path baseDfsDir;
+ private final Path baseFsDir;
private MiniMrShim mr;
private MiniDFSShim dfs;
private MiniLlapCluster llapCluster = null;
@@ -66,18 +72,19 @@ public class MiniHS2 extends AbstractHiveService {
private boolean useMiniKdc = false;
private final String serverPrincipal;
private final boolean isMetastoreRemote;
- private MiniClusterType miniClusterType = MiniClusterType.DFS_ONLY;
+ private final boolean cleanupLocalDirOnStartup;
+ private MiniClusterType miniClusterType = MiniClusterType.LOCALFS_ONLY;
public enum MiniClusterType {
MR,
TEZ,
LLAP,
- DFS_ONLY;
+ LOCALFS_ONLY;
}
public static class Builder {
private HiveConf hiveConf = new HiveConf();
- private MiniClusterType miniClusterType = MiniClusterType.DFS_ONLY;
+ private MiniClusterType miniClusterType = MiniClusterType.LOCALFS_ONLY;
private boolean useMiniKdc = false;
private String serverPrincipal;
private String serverKeytab;
@@ -86,6 +93,7 @@ public class MiniHS2 extends AbstractHiveService {
private boolean usePortsFromConf = false;
private String authType = "KERBEROS";
private boolean isHA = false;
+ private boolean cleanupLocalDirOnStartup = true;
public Builder() {
}
@@ -131,6 +139,11 @@ public class MiniHS2 extends AbstractHiveService {
return this;
}
+ public Builder cleanupLocalDirOnStartup(boolean val) {
+ this.cleanupLocalDirOnStartup = val;
+ return this;
+ }
+
public MiniHS2 build() throws Exception {
if (miniClusterType == MiniClusterType.MR && useMiniKdc) {
throw new IOException("Can't create secure miniMr ... yet");
@@ -141,7 +154,7 @@ public class MiniHS2 extends AbstractHiveService {
hiveConf.setVar(ConfVars.HIVE_SERVER2_TRANSPORT_MODE, HS2_BINARY_MODE);
}
return new MiniHS2(hiveConf, miniClusterType, useMiniKdc, serverPrincipal, serverKeytab,
- isMetastoreRemote, usePortsFromConf, authType, isHA);
+ isMetastoreRemote, usePortsFromConf, authType, isHA, cleanupLocalDirOnStartup);
}
}
@@ -179,7 +192,7 @@ public class MiniHS2 extends AbstractHiveService {
private MiniHS2(HiveConf hiveConf, MiniClusterType miniClusterType, boolean useMiniKdc,
String serverPrincipal, String serverKeytab, boolean isMetastoreRemote,
- boolean usePortsFromConf, String authType, boolean isHA) throws Exception {
+ boolean usePortsFromConf, String authType, boolean isHA, boolean cleanupLocalDirOnStartup) throws Exception {
// Always use localhost for hostname as some tests like SSL CN validation ones
// are tied to localhost being present in the certificate name
super(
@@ -196,11 +209,12 @@ public class MiniHS2 extends AbstractHiveService {
this.useMiniKdc = useMiniKdc;
this.serverPrincipal = serverPrincipal;
this.isMetastoreRemote = isMetastoreRemote;
- baseDir = new File(tmpDir + "/local_base");
+ this.cleanupLocalDirOnStartup = cleanupLocalDirOnStartup;
+ baseDir = getBaseDir();
localFS = FileSystem.getLocal(hiveConf);
FileSystem fs;
- if (miniClusterType != MiniClusterType.DFS_ONLY) {
+ if (miniClusterType != MiniClusterType.LOCALFS_ONLY) {
// Initialize dfs
dfs = ShimLoader.getHadoopShims().getMiniDfs(hiveConf, 4, true, null, isHA);
fs = dfs.getFileSystem();
@@ -227,11 +241,18 @@ public class MiniHS2 extends AbstractHiveService {
}
// store the config in system properties
mr.setupConfiguration(getHiveConf());
- baseDfsDir = new Path(new Path(fs.getUri()), "/base");
+ baseFsDir = new Path(new Path(fs.getUri()), "/base");
} else {
- // This is DFS only mode, just initialize the dfs root directory.
+ // This is FS only mode, just initialize the dfs root directory.
fs = FileSystem.getLocal(hiveConf);
- baseDfsDir = new Path("file://" + baseDir.toURI().getPath());
+ baseFsDir = new Path("file://" + baseDir.toURI().getPath());
+
+ if (cleanupLocalDirOnStartup) {
+ // Cleanup baseFsDir since it can be shared across tests.
+ LOG.info("Attempting to cleanup baseFsDir: {} while setting up MiniHS2", baseDir);
+ Preconditions.checkState(baseFsDir.depth() >= 3); // Avoid "/tmp", directories closer to "/"
+ fs.delete(baseFsDir, true);
+ }
}
if (useMiniKdc) {
hiveConf.setVar(ConfVars.HIVE_SERVER2_KERBEROS_PRINCIPAL, serverPrincipal);
@@ -242,8 +263,8 @@ public class MiniHS2 extends AbstractHiveService {
"jdbc:derby:;databaseName=" + baseDir.getAbsolutePath() + File.separator
+ "test_metastore;create=true";
- fs.mkdirs(baseDfsDir);
- Path wareHouseDir = new Path(baseDfsDir, "warehouse");
+ fs.mkdirs(baseFsDir);
+ Path wareHouseDir = new Path(baseFsDir, "warehouse");
// Create warehouse with 777, so that user impersonation has no issues.
FileSystem.mkdirs(fs, wareHouseDir, FULL_PERM);
@@ -259,7 +280,7 @@ public class MiniHS2 extends AbstractHiveService {
hiveConf.setIntVar(ConfVars.HIVE_SERVER2_THRIFT_PORT, getBinaryPort());
hiveConf.setIntVar(ConfVars.HIVE_SERVER2_THRIFT_HTTP_PORT, getHttpPort());
- Path scratchDir = new Path(baseDfsDir, "scratch");
+ Path scratchDir = new Path(baseFsDir, "scratch");
// Create root scratchdir with write all, so that user impersonation has no issues.
Utilities.createDirsWithPermission(hiveConf, scratchDir, WRITE_ALL_PERM, true);
System.setProperty(HiveConf.ConfVars.SCRATCHDIR.varname, scratchDir.toString());
@@ -271,7 +292,7 @@ public class MiniHS2 extends AbstractHiveService {
}
public MiniHS2(HiveConf hiveConf) throws Exception {
- this(hiveConf, MiniClusterType.DFS_ONLY);
+ this(hiveConf, MiniClusterType.LOCALFS_ONLY);
}
public MiniHS2(HiveConf hiveConf, MiniClusterType clusterType) throws Exception {
@@ -281,7 +302,7 @@ public class MiniHS2 extends AbstractHiveService {
public MiniHS2(HiveConf hiveConf, MiniClusterType clusterType,
boolean usePortsFromConf) throws Exception {
this(hiveConf, clusterType, false, null, null, false, usePortsFromConf,
- "KERBEROS", false);
+ "KERBEROS", false, true);
}
public void start(Map<String, String> confOverlay) throws Exception {
@@ -516,4 +537,18 @@ public class MiniHS2 extends AbstractHiveService {
public Service.STATE getState() {
return hiveServer2.getServiceState();
}
+
+ static File getBaseDir() {
+ File baseDir = new File(tmpDir + "/local_base");
+ return baseDir;
+ }
+
+ public static void cleanupLocalDir() throws IOException {
+ File baseDir = getBaseDir();
+ try {
+ org.apache.hadoop.hive.common.FileUtils.deleteDirectory(baseDir);
+ } catch (FileNotFoundException e) {
+ // Ignore. Safe if it does not exist.
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/hive/blob/9072575e/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineConnectionUsingHiveSite.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineConnectionUsingHiveSite.java b/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineConnectionUsingHiveSite.java
index fe77667..1ad764b 100644
--- a/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineConnectionUsingHiveSite.java
+++ b/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineConnectionUsingHiveSite.java
@@ -20,8 +20,6 @@ package org.apache.hive.beeline.hs2connection;
import java.io.File;
import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
-import org.apache.hive.beeline.hs2connection.HS2ConnectionFileParser;
-import org.apache.hive.jdbc.miniHS2.MiniHS2;
import org.junit.Test;
public class TestBeelineConnectionUsingHiveSite extends TestBeelineWithHS2ConnectionFile {
@@ -83,11 +81,6 @@ public class TestBeelineConnectionUsingHiveSite extends TestBeelineWithHS2Connec
System.setProperty(JAVA_TRUST_STORE_PASS_PROP, KEY_STORE_TRUST_STORE_PASSWORD);
}
- @Override
- protected MiniHS2 getNewMiniHS2() throws Exception {
- return new MiniHS2(hiveConf, MiniHS2.MiniClusterType.DFS_ONLY, true);
- }
-
private void setupHs2() throws Exception {
confOverlay.put(ConfVars.HIVE_SERVER2_TRANSPORT_MODE.varname, HS2_HTTP_MODE);
confOverlay.put(ConfVars.HIVE_SERVER2_THRIFT_HTTP_PATH.varname, HS2_HTTP_ENDPOINT);
http://git-wip-us.apache.org/repos/asf/hive/blob/9072575e/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineWithHS2ConnectionFile.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineWithHS2ConnectionFile.java b/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineWithHS2ConnectionFile.java
index 32e9afd..7fc3d52 100644
--- a/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineWithHS2ConnectionFile.java
+++ b/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineWithHS2ConnectionFile.java
@@ -35,9 +35,6 @@ import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
import org.apache.hive.beeline.BeeLine;
-import org.apache.hive.beeline.hs2connection.HS2ConnectionFileParser;
-import org.apache.hive.beeline.hs2connection.HiveSiteHS2ConnectionFileParser;
-import org.apache.hive.beeline.hs2connection.UserHS2ConnectionFileParser;
import org.apache.hive.jdbc.miniHS2.MiniHS2;
import org.apache.hive.service.cli.CLIServiceClient;
import org.apache.hive.service.cli.HiveSQLException;
@@ -45,6 +42,7 @@ import org.apache.hive.service.cli.OperationHandle;
import org.apache.hive.service.cli.RowSet;
import org.apache.hive.service.cli.SessionHandle;
import org.junit.After;
+import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
@@ -144,9 +142,15 @@ public abstract class TestBeelineWithHS2ConnectionFile {
@BeforeClass
public static void beforeTest() throws Exception {
+ MiniHS2.cleanupLocalDir();
Class.forName(MiniHS2.getJdbcDriverName());
}
+ @AfterClass
+ public static void afterClass() throws IOException {
+ MiniHS2.cleanupLocalDir();
+ }
+
@Before
public void before() throws Exception {
DriverManager.setLoginTimeout(0);
@@ -162,7 +166,7 @@ public abstract class TestBeelineWithHS2ConnectionFile {
}
protected MiniHS2 getNewMiniHS2() throws Exception {
- return new MiniHS2(hiveConf);
+ return new MiniHS2.Builder().withConf(hiveConf).cleanupLocalDirOnStartup(false).build();
}
@After
http://git-wip-us.apache.org/repos/asf/hive/blob/9072575e/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java
index 34565e9..c84570b 100644
--- a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java
+++ b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
@@ -88,6 +89,7 @@ public class TestJdbcWithMiniHS2 {
@BeforeClass
public static void setupBeforeClass() throws Exception {
+ MiniHS2.cleanupLocalDir();
HiveConf conf = new HiveConf();
dataFileDir = conf.get("test.data.files").replace('\\', '/').replace("c:", "");
kvDataFilePath = new Path(dataFileDir, "kv1.txt");
@@ -184,7 +186,7 @@ public class TestJdbcWithMiniHS2 {
private static void startMiniHS2(HiveConf conf) throws Exception {
conf.setBoolVar(ConfVars.HIVE_SUPPORT_CONCURRENCY, false);
conf.setBoolVar(ConfVars.HIVE_SERVER2_LOGGING_OPERATION_ENABLED, false);
- miniHS2 = new MiniHS2(conf);
+ miniHS2 = new MiniHS2.Builder().withConf(conf).cleanupLocalDirOnStartup(false).build();
Map<String, String> confOverlay = new HashMap<String, String>();
miniHS2.start(confOverlay);
}
@@ -195,10 +197,11 @@ public class TestJdbcWithMiniHS2 {
}
}
- private static void cleanupMiniHS2() {
+ private static void cleanupMiniHS2() throws IOException {
if (miniHS2 != null) {
miniHS2.cleanup();
}
+ MiniHS2.cleanupLocalDir();
}
private static void openDefaultConnections() throws Exception {
http://git-wip-us.apache.org/repos/asf/hive/blob/9072575e/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestSSL.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestSSL.java b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestSSL.java
index 2f4db0d..4036b53 100644
--- a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestSSL.java
+++ b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestSSL.java
@@ -37,6 +37,7 @@ import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
import org.apache.hive.jdbc.miniHS2.MiniHS2;
import org.junit.After;
+import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.Assume;
import org.junit.Before;
@@ -70,9 +71,15 @@ public class TestSSL {
@BeforeClass
public static void beforeTest() throws Exception {
+ MiniHS2.cleanupLocalDir();
Class.forName(MiniHS2.getJdbcDriverName());
}
+ @AfterClass
+ public static void afterClass() throws Exception {
+ MiniHS2.cleanupLocalDir();
+ }
+
@Before
public void setUp() throws Exception {
DriverManager.setLoginTimeout(0);
@@ -80,7 +87,7 @@ public class TestSSL {
dataFileDir = System.getProperty("test.data.files");
}
dataFileDir = dataFileDir.replace('\\', '/').replace("c:", "");
- miniHS2 = new MiniHS2(conf);
+ miniHS2 = new MiniHS2.Builder().withConf(conf).cleanupLocalDirOnStartup(false).build();
confOverlay = new HashMap<String, String>();
}
http://git-wip-us.apache.org/repos/asf/hive/blob/9072575e/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestServiceDiscoveryWithMiniHS2.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestServiceDiscoveryWithMiniHS2.java b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestServiceDiscoveryWithMiniHS2.java
index 907ccb0..e8051e4 100644
--- a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestServiceDiscoveryWithMiniHS2.java
+++ b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestServiceDiscoveryWithMiniHS2.java
@@ -41,7 +41,7 @@ import org.junit.BeforeClass;
import org.junit.Test;
public class TestServiceDiscoveryWithMiniHS2 {
- private static MiniHS2 miniHS2 = null;
+ private MiniHS2 miniHS2 = null;
private static HiveConf hiveConf;
private static TestingServer zkServer;
private static String zkRootNamespace = "hs2test";
@@ -52,6 +52,7 @@ public class TestServiceDiscoveryWithMiniHS2 {
@BeforeClass
public static void beforeTest() throws Exception {
+ MiniHS2.cleanupLocalDir();
zkServer = new TestingServer();
Class.forName(MiniHS2.getJdbcDriverName());
hiveConf = new HiveConf();
@@ -68,11 +69,12 @@ public class TestServiceDiscoveryWithMiniHS2 {
zkServer.close();
zkServer = null;
}
+ MiniHS2.cleanupLocalDir();
}
@Before
public void setUp() throws Exception {
- miniHS2 = new MiniHS2(hiveConf);
+ miniHS2 = new MiniHS2.Builder().withConf(hiveConf).cleanupLocalDirOnStartup(false).build();
}
@After
http://git-wip-us.apache.org/repos/asf/hive/blob/9072575e/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestXSRFFilter.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestXSRFFilter.java b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestXSRFFilter.java
index 2b0ffbe..88a403a 100644
--- a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestXSRFFilter.java
+++ b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestXSRFFilter.java
@@ -18,6 +18,7 @@
package org.apache.hive.jdbc;
+import java.io.IOException;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
@@ -34,6 +35,8 @@ import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
import org.apache.hive.jdbc.miniHS2.MiniHS2;
import org.apache.hive.jdbc.XsrfHttpRequestInterceptor;
import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -48,6 +51,15 @@ public class TestXSRFFilter {
private Connection hs2Conn = null;
+ @BeforeClass
+ public static void beforeClass() throws IOException {
+ MiniHS2.cleanupLocalDir();
+ }
+
+ @AfterClass
+ public static void afterClass() throws IOException {
+ MiniHS2.cleanupLocalDir();
+ }
// This is not modeled as a @Before, because it needs to be parameterized per-test.
// If there is a better way to do this, we should do it.
@@ -55,7 +67,7 @@ public class TestXSRFFilter {
Class.forName(MiniHS2.getJdbcDriverName());
HiveConf conf = new HiveConf();
conf.setBoolVar(ConfVars.HIVE_SUPPORT_CONCURRENCY, false);
- miniHS2 = new MiniHS2(conf);
+ miniHS2 = new MiniHS2.Builder().withConf(conf).cleanupLocalDirOnStartup(false).build();
dataFileDir = conf.get("test.data.files").replace('\\', '/').replace("c:", "");
kvDataFilePath = new Path(dataFileDir, "kv1.txt");
Map<String,String> confOverlay = new HashMap<String, String>();
http://git-wip-us.apache.org/repos/asf/hive/blob/9072575e/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
----------------------------------------------------------------------
diff --git a/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java b/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
index ff640d3..0525335 100644
--- a/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
+++ b/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
@@ -509,7 +509,7 @@ public class QTestUtil {
}
public QTestUtil(String outDir, String logDir, MiniClusterType clusterType,
- String confDir, String hadoopVer, String initScript, String cleanupScript,
+ String confDir, String hadzoopVer, String initScript, String cleanupScript,
boolean useHBaseMetastore, boolean withLlapIo, FsType fsType)
throws Exception {
LOG.info("Setting up QTestUtil with outDir={}, logDir={}, clusterType={}, confDir={}," +
[04/23] hive git commit: HIVE-15010 Make LockComponent aware if it's
part of dynamic partition operation (Eugene Koifman, reviewed by Wei Zheng)
Posted by se...@apache.org.
HIVE-15010 Make LockComponent aware if it's part of dynamic partition operation (Eugene Koifman, reviewed by Wei Zheng)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/3252bed8
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/3252bed8
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/3252bed8
Branch: refs/heads/hive-14535
Commit: 3252bed8faccc84cdf560e43674d31a9144abbe4
Parents: f20ec2e
Author: Eugene Koifman <ek...@hortonworks.com>
Authored: Wed Oct 19 14:20:29 2016 -0700
Committer: Eugene Koifman <ek...@hortonworks.com>
Committed: Wed Oct 19 14:20:29 2016 -0700
----------------------------------------------------------------------
metastore/if/hive_metastore.thrift | 3 +-
.../gen/thrift/gen-cpp/hive_metastore_types.cpp | 22 ++++
.../gen/thrift/gen-cpp/hive_metastore_types.h | 12 +-
.../hive/metastore/api/LockComponent.java | 109 ++++++++++++++++++-
.../src/gen/thrift/gen-php/metastore/Types.php | 23 ++++
.../gen/thrift/gen-py/hive_metastore/ttypes.py | 15 ++-
.../gen/thrift/gen-rb/hive_metastore_types.rb | 4 +-
7 files changed, 179 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/3252bed8/metastore/if/hive_metastore.thrift
----------------------------------------------------------------------
diff --git a/metastore/if/hive_metastore.thrift b/metastore/if/hive_metastore.thrift
index 9f6ef91..42cb6f0 100755
--- a/metastore/if/hive_metastore.thrift
+++ b/metastore/if/hive_metastore.thrift
@@ -670,7 +670,8 @@ struct LockComponent {
4: optional string tablename,
5: optional string partitionname,
6: optional DataOperationType operationType = DataOperationType.UNSET,
- 7: optional bool isAcid = false
+ 7: optional bool isAcid = false,
+ 8: optional bool isDynamicPartitionWrite = false
}
struct LockRequest {
http://git-wip-us.apache.org/repos/asf/hive/blob/3252bed8/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp
----------------------------------------------------------------------
diff --git a/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp b/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp
index 89541fa..f3aaf7e 100644
--- a/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp
+++ b/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp
@@ -12675,6 +12675,11 @@ void LockComponent::__set_isAcid(const bool val) {
__isset.isAcid = true;
}
+void LockComponent::__set_isDynamicPartitionWrite(const bool val) {
+ this->isDynamicPartitionWrite = val;
+__isset.isDynamicPartitionWrite = true;
+}
+
uint32_t LockComponent::read(::apache::thrift::protocol::TProtocol* iprot) {
apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
@@ -12761,6 +12766,14 @@ uint32_t LockComponent::read(::apache::thrift::protocol::TProtocol* iprot) {
xfer += iprot->skip(ftype);
}
break;
+ case 8:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->isDynamicPartitionWrite);
+ this->__isset.isDynamicPartitionWrite = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
default:
xfer += iprot->skip(ftype);
break;
@@ -12816,6 +12829,11 @@ uint32_t LockComponent::write(::apache::thrift::protocol::TProtocol* oprot) cons
xfer += oprot->writeBool(this->isAcid);
xfer += oprot->writeFieldEnd();
}
+ if (this->__isset.isDynamicPartitionWrite) {
+ xfer += oprot->writeFieldBegin("isDynamicPartitionWrite", ::apache::thrift::protocol::T_BOOL, 8);
+ xfer += oprot->writeBool(this->isDynamicPartitionWrite);
+ xfer += oprot->writeFieldEnd();
+ }
xfer += oprot->writeFieldStop();
xfer += oprot->writeStructEnd();
return xfer;
@@ -12830,6 +12848,7 @@ void swap(LockComponent &a, LockComponent &b) {
swap(a.partitionname, b.partitionname);
swap(a.operationType, b.operationType);
swap(a.isAcid, b.isAcid);
+ swap(a.isDynamicPartitionWrite, b.isDynamicPartitionWrite);
swap(a.__isset, b.__isset);
}
@@ -12841,6 +12860,7 @@ LockComponent::LockComponent(const LockComponent& other551) {
partitionname = other551.partitionname;
operationType = other551.operationType;
isAcid = other551.isAcid;
+ isDynamicPartitionWrite = other551.isDynamicPartitionWrite;
__isset = other551.__isset;
}
LockComponent& LockComponent::operator=(const LockComponent& other552) {
@@ -12851,6 +12871,7 @@ LockComponent& LockComponent::operator=(const LockComponent& other552) {
partitionname = other552.partitionname;
operationType = other552.operationType;
isAcid = other552.isAcid;
+ isDynamicPartitionWrite = other552.isDynamicPartitionWrite;
__isset = other552.__isset;
return *this;
}
@@ -12864,6 +12885,7 @@ void LockComponent::printTo(std::ostream& out) const {
out << ", " << "partitionname="; (__isset.partitionname ? (out << to_string(partitionname)) : (out << "<null>"));
out << ", " << "operationType="; (__isset.operationType ? (out << to_string(operationType)) : (out << "<null>"));
out << ", " << "isAcid="; (__isset.isAcid ? (out << to_string(isAcid)) : (out << "<null>"));
+ out << ", " << "isDynamicPartitionWrite="; (__isset.isDynamicPartitionWrite ? (out << to_string(isDynamicPartitionWrite)) : (out << "<null>"));
out << ")";
}
http://git-wip-us.apache.org/repos/asf/hive/blob/3252bed8/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
----------------------------------------------------------------------
diff --git a/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h b/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
index 303c298..1252a2d 100644
--- a/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
+++ b/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
@@ -5179,11 +5179,12 @@ inline std::ostream& operator<<(std::ostream& out, const CommitTxnRequest& obj)
}
typedef struct _LockComponent__isset {
- _LockComponent__isset() : tablename(false), partitionname(false), operationType(true), isAcid(true) {}
+ _LockComponent__isset() : tablename(false), partitionname(false), operationType(true), isAcid(true), isDynamicPartitionWrite(true) {}
bool tablename :1;
bool partitionname :1;
bool operationType :1;
bool isAcid :1;
+ bool isDynamicPartitionWrite :1;
} _LockComponent__isset;
class LockComponent {
@@ -5191,7 +5192,7 @@ class LockComponent {
LockComponent(const LockComponent&);
LockComponent& operator=(const LockComponent&);
- LockComponent() : type((LockType::type)0), level((LockLevel::type)0), dbname(), tablename(), partitionname(), operationType((DataOperationType::type)5), isAcid(false) {
+ LockComponent() : type((LockType::type)0), level((LockLevel::type)0), dbname(), tablename(), partitionname(), operationType((DataOperationType::type)5), isAcid(false), isDynamicPartitionWrite(false) {
operationType = (DataOperationType::type)5;
}
@@ -5204,6 +5205,7 @@ class LockComponent {
std::string partitionname;
DataOperationType::type operationType;
bool isAcid;
+ bool isDynamicPartitionWrite;
_LockComponent__isset __isset;
@@ -5221,6 +5223,8 @@ class LockComponent {
void __set_isAcid(const bool val);
+ void __set_isDynamicPartitionWrite(const bool val);
+
bool operator == (const LockComponent & rhs) const
{
if (!(type == rhs.type))
@@ -5245,6 +5249,10 @@ class LockComponent {
return false;
else if (__isset.isAcid && !(isAcid == rhs.isAcid))
return false;
+ if (__isset.isDynamicPartitionWrite != rhs.__isset.isDynamicPartitionWrite)
+ return false;
+ else if (__isset.isDynamicPartitionWrite && !(isDynamicPartitionWrite == rhs.isDynamicPartitionWrite))
+ return false;
return true;
}
bool operator != (const LockComponent &rhs) const {
http://git-wip-us.apache.org/repos/asf/hive/blob/3252bed8/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/LockComponent.java
----------------------------------------------------------------------
diff --git a/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/LockComponent.java b/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/LockComponent.java
index 26d1b76..d349508 100644
--- a/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/LockComponent.java
+++ b/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/LockComponent.java
@@ -45,6 +45,7 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
private static final org.apache.thrift.protocol.TField PARTITIONNAME_FIELD_DESC = new org.apache.thrift.protocol.TField("partitionname", org.apache.thrift.protocol.TType.STRING, (short)5);
private static final org.apache.thrift.protocol.TField OPERATION_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("operationType", org.apache.thrift.protocol.TType.I32, (short)6);
private static final org.apache.thrift.protocol.TField IS_ACID_FIELD_DESC = new org.apache.thrift.protocol.TField("isAcid", org.apache.thrift.protocol.TType.BOOL, (short)7);
+ private static final org.apache.thrift.protocol.TField IS_DYNAMIC_PARTITION_WRITE_FIELD_DESC = new org.apache.thrift.protocol.TField("isDynamicPartitionWrite", org.apache.thrift.protocol.TType.BOOL, (short)8);
private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
static {
@@ -59,6 +60,7 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
private String partitionname; // optional
private DataOperationType operationType; // optional
private boolean isAcid; // optional
+ private boolean isDynamicPartitionWrite; // optional
/** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -80,7 +82,8 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
* @see DataOperationType
*/
OPERATION_TYPE((short)6, "operationType"),
- IS_ACID((short)7, "isAcid");
+ IS_ACID((short)7, "isAcid"),
+ IS_DYNAMIC_PARTITION_WRITE((short)8, "isDynamicPartitionWrite");
private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -109,6 +112,8 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
return OPERATION_TYPE;
case 7: // IS_ACID
return IS_ACID;
+ case 8: // IS_DYNAMIC_PARTITION_WRITE
+ return IS_DYNAMIC_PARTITION_WRITE;
default:
return null;
}
@@ -150,8 +155,9 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
// isset id assignments
private static final int __ISACID_ISSET_ID = 0;
+ private static final int __ISDYNAMICPARTITIONWRITE_ISSET_ID = 1;
private byte __isset_bitfield = 0;
- private static final _Fields optionals[] = {_Fields.TABLENAME,_Fields.PARTITIONNAME,_Fields.OPERATION_TYPE,_Fields.IS_ACID};
+ private static final _Fields optionals[] = {_Fields.TABLENAME,_Fields.PARTITIONNAME,_Fields.OPERATION_TYPE,_Fields.IS_ACID,_Fields.IS_DYNAMIC_PARTITION_WRITE};
public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
static {
Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -169,6 +175,8 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, DataOperationType.class)));
tmpMap.put(_Fields.IS_ACID, new org.apache.thrift.meta_data.FieldMetaData("isAcid", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+ tmpMap.put(_Fields.IS_DYNAMIC_PARTITION_WRITE, new org.apache.thrift.meta_data.FieldMetaData("isDynamicPartitionWrite", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
metaDataMap = Collections.unmodifiableMap(tmpMap);
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(LockComponent.class, metaDataMap);
}
@@ -178,6 +186,8 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
this.isAcid = false;
+ this.isDynamicPartitionWrite = false;
+
}
public LockComponent(
@@ -215,6 +225,7 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
this.operationType = other.operationType;
}
this.isAcid = other.isAcid;
+ this.isDynamicPartitionWrite = other.isDynamicPartitionWrite;
}
public LockComponent deepCopy() {
@@ -232,6 +243,8 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
this.isAcid = false;
+ this.isDynamicPartitionWrite = false;
+
}
/**
@@ -418,6 +431,28 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
__isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ISACID_ISSET_ID, value);
}
+ public boolean isIsDynamicPartitionWrite() {
+ return this.isDynamicPartitionWrite;
+ }
+
+ public void setIsDynamicPartitionWrite(boolean isDynamicPartitionWrite) {
+ this.isDynamicPartitionWrite = isDynamicPartitionWrite;
+ setIsDynamicPartitionWriteIsSet(true);
+ }
+
+ public void unsetIsDynamicPartitionWrite() {
+ __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ISDYNAMICPARTITIONWRITE_ISSET_ID);
+ }
+
+ /** Returns true if field isDynamicPartitionWrite is set (has been assigned a value) and false otherwise */
+ public boolean isSetIsDynamicPartitionWrite() {
+ return EncodingUtils.testBit(__isset_bitfield, __ISDYNAMICPARTITIONWRITE_ISSET_ID);
+ }
+
+ public void setIsDynamicPartitionWriteIsSet(boolean value) {
+ __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ISDYNAMICPARTITIONWRITE_ISSET_ID, value);
+ }
+
public void setFieldValue(_Fields field, Object value) {
switch (field) {
case TYPE:
@@ -476,6 +511,14 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
}
break;
+ case IS_DYNAMIC_PARTITION_WRITE:
+ if (value == null) {
+ unsetIsDynamicPartitionWrite();
+ } else {
+ setIsDynamicPartitionWrite((Boolean)value);
+ }
+ break;
+
}
}
@@ -502,6 +545,9 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
case IS_ACID:
return isIsAcid();
+ case IS_DYNAMIC_PARTITION_WRITE:
+ return isIsDynamicPartitionWrite();
+
}
throw new IllegalStateException();
}
@@ -527,6 +573,8 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
return isSetOperationType();
case IS_ACID:
return isSetIsAcid();
+ case IS_DYNAMIC_PARTITION_WRITE:
+ return isSetIsDynamicPartitionWrite();
}
throw new IllegalStateException();
}
@@ -607,6 +655,15 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
return false;
}
+ boolean this_present_isDynamicPartitionWrite = true && this.isSetIsDynamicPartitionWrite();
+ boolean that_present_isDynamicPartitionWrite = true && that.isSetIsDynamicPartitionWrite();
+ if (this_present_isDynamicPartitionWrite || that_present_isDynamicPartitionWrite) {
+ if (!(this_present_isDynamicPartitionWrite && that_present_isDynamicPartitionWrite))
+ return false;
+ if (this.isDynamicPartitionWrite != that.isDynamicPartitionWrite)
+ return false;
+ }
+
return true;
}
@@ -649,6 +706,11 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
if (present_isAcid)
list.add(isAcid);
+ boolean present_isDynamicPartitionWrite = true && (isSetIsDynamicPartitionWrite());
+ list.add(present_isDynamicPartitionWrite);
+ if (present_isDynamicPartitionWrite)
+ list.add(isDynamicPartitionWrite);
+
return list.hashCode();
}
@@ -730,6 +792,16 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
return lastComparison;
}
}
+ lastComparison = Boolean.valueOf(isSetIsDynamicPartitionWrite()).compareTo(other.isSetIsDynamicPartitionWrite());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetIsDynamicPartitionWrite()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isDynamicPartitionWrite, other.isDynamicPartitionWrite);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
return 0;
}
@@ -809,6 +881,12 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
sb.append(this.isAcid);
first = false;
}
+ if (isSetIsDynamicPartitionWrite()) {
+ if (!first) sb.append(", ");
+ sb.append("isDynamicPartitionWrite:");
+ sb.append(this.isDynamicPartitionWrite);
+ first = false;
+ }
sb.append(")");
return sb.toString();
}
@@ -922,6 +1000,14 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
+ case 8: // IS_DYNAMIC_PARTITION_WRITE
+ if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+ struct.isDynamicPartitionWrite = iprot.readBool();
+ struct.setIsDynamicPartitionWriteIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
default:
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
@@ -976,6 +1062,11 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
oprot.writeBool(struct.isAcid);
oprot.writeFieldEnd();
}
+ if (struct.isSetIsDynamicPartitionWrite()) {
+ oprot.writeFieldBegin(IS_DYNAMIC_PARTITION_WRITE_FIELD_DESC);
+ oprot.writeBool(struct.isDynamicPartitionWrite);
+ oprot.writeFieldEnd();
+ }
oprot.writeFieldStop();
oprot.writeStructEnd();
}
@@ -1009,7 +1100,10 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
if (struct.isSetIsAcid()) {
optionals.set(3);
}
- oprot.writeBitSet(optionals, 4);
+ if (struct.isSetIsDynamicPartitionWrite()) {
+ optionals.set(4);
+ }
+ oprot.writeBitSet(optionals, 5);
if (struct.isSetTablename()) {
oprot.writeString(struct.tablename);
}
@@ -1022,6 +1116,9 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
if (struct.isSetIsAcid()) {
oprot.writeBool(struct.isAcid);
}
+ if (struct.isSetIsDynamicPartitionWrite()) {
+ oprot.writeBool(struct.isDynamicPartitionWrite);
+ }
}
@Override
@@ -1033,7 +1130,7 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
struct.setLevelIsSet(true);
struct.dbname = iprot.readString();
struct.setDbnameIsSet(true);
- BitSet incoming = iprot.readBitSet(4);
+ BitSet incoming = iprot.readBitSet(5);
if (incoming.get(0)) {
struct.tablename = iprot.readString();
struct.setTablenameIsSet(true);
@@ -1050,6 +1147,10 @@ public class LockComponent implements org.apache.thrift.TBase<LockComponent, Loc
struct.isAcid = iprot.readBool();
struct.setIsAcidIsSet(true);
}
+ if (incoming.get(4)) {
+ struct.isDynamicPartitionWrite = iprot.readBool();
+ struct.setIsDynamicPartitionWriteIsSet(true);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/hive/blob/3252bed8/metastore/src/gen/thrift/gen-php/metastore/Types.php
----------------------------------------------------------------------
diff --git a/metastore/src/gen/thrift/gen-php/metastore/Types.php b/metastore/src/gen/thrift/gen-php/metastore/Types.php
index 18895cf..61171c2 100644
--- a/metastore/src/gen/thrift/gen-php/metastore/Types.php
+++ b/metastore/src/gen/thrift/gen-php/metastore/Types.php
@@ -12719,6 +12719,10 @@ class LockComponent {
* @var bool
*/
public $isAcid = false;
+ /**
+ * @var bool
+ */
+ public $isDynamicPartitionWrite = false;
public function __construct($vals=null) {
if (!isset(self::$_TSPEC)) {
@@ -12751,6 +12755,10 @@ class LockComponent {
'var' => 'isAcid',
'type' => TType::BOOL,
),
+ 8 => array(
+ 'var' => 'isDynamicPartitionWrite',
+ 'type' => TType::BOOL,
+ ),
);
}
if (is_array($vals)) {
@@ -12775,6 +12783,9 @@ class LockComponent {
if (isset($vals['isAcid'])) {
$this->isAcid = $vals['isAcid'];
}
+ if (isset($vals['isDynamicPartitionWrite'])) {
+ $this->isDynamicPartitionWrite = $vals['isDynamicPartitionWrite'];
+ }
}
}
@@ -12846,6 +12857,13 @@ class LockComponent {
$xfer += $input->skip($ftype);
}
break;
+ case 8:
+ if ($ftype == TType::BOOL) {
+ $xfer += $input->readBool($this->isDynamicPartitionWrite);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
default:
$xfer += $input->skip($ftype);
break;
@@ -12894,6 +12912,11 @@ class LockComponent {
$xfer += $output->writeBool($this->isAcid);
$xfer += $output->writeFieldEnd();
}
+ if ($this->isDynamicPartitionWrite !== null) {
+ $xfer += $output->writeFieldBegin('isDynamicPartitionWrite', TType::BOOL, 8);
+ $xfer += $output->writeBool($this->isDynamicPartitionWrite);
+ $xfer += $output->writeFieldEnd();
+ }
$xfer += $output->writeFieldStop();
$xfer += $output->writeStructEnd();
return $xfer;
http://git-wip-us.apache.org/repos/asf/hive/blob/3252bed8/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
----------------------------------------------------------------------
diff --git a/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py b/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
index 65a65dd..879fc99 100644
--- a/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
+++ b/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
@@ -8792,6 +8792,7 @@ class LockComponent:
- partitionname
- operationType
- isAcid
+ - isDynamicPartitionWrite
"""
thrift_spec = (
@@ -8803,9 +8804,10 @@ class LockComponent:
(5, TType.STRING, 'partitionname', None, None, ), # 5
(6, TType.I32, 'operationType', None, 5, ), # 6
(7, TType.BOOL, 'isAcid', None, False, ), # 7
+ (8, TType.BOOL, 'isDynamicPartitionWrite', None, False, ), # 8
)
- def __init__(self, type=None, level=None, dbname=None, tablename=None, partitionname=None, operationType=thrift_spec[6][4], isAcid=thrift_spec[7][4],):
+ def __init__(self, type=None, level=None, dbname=None, tablename=None, partitionname=None, operationType=thrift_spec[6][4], isAcid=thrift_spec[7][4], isDynamicPartitionWrite=thrift_spec[8][4],):
self.type = type
self.level = level
self.dbname = dbname
@@ -8813,6 +8815,7 @@ class LockComponent:
self.partitionname = partitionname
self.operationType = operationType
self.isAcid = isAcid
+ self.isDynamicPartitionWrite = isDynamicPartitionWrite
def read(self, iprot):
if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -8858,6 +8861,11 @@ class LockComponent:
self.isAcid = iprot.readBool()
else:
iprot.skip(ftype)
+ elif fid == 8:
+ if ftype == TType.BOOL:
+ self.isDynamicPartitionWrite = iprot.readBool()
+ else:
+ iprot.skip(ftype)
else:
iprot.skip(ftype)
iprot.readFieldEnd()
@@ -8896,6 +8904,10 @@ class LockComponent:
oprot.writeFieldBegin('isAcid', TType.BOOL, 7)
oprot.writeBool(self.isAcid)
oprot.writeFieldEnd()
+ if self.isDynamicPartitionWrite is not None:
+ oprot.writeFieldBegin('isDynamicPartitionWrite', TType.BOOL, 8)
+ oprot.writeBool(self.isDynamicPartitionWrite)
+ oprot.writeFieldEnd()
oprot.writeFieldStop()
oprot.writeStructEnd()
@@ -8918,6 +8930,7 @@ class LockComponent:
value = (value * 31) ^ hash(self.partitionname)
value = (value * 31) ^ hash(self.operationType)
value = (value * 31) ^ hash(self.isAcid)
+ value = (value * 31) ^ hash(self.isDynamicPartitionWrite)
return value
def __repr__(self):
http://git-wip-us.apache.org/repos/asf/hive/blob/3252bed8/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
----------------------------------------------------------------------
diff --git a/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb b/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
index 51adf50..cf64423 100644
--- a/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
+++ b/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
@@ -1967,6 +1967,7 @@ class LockComponent
PARTITIONNAME = 5
OPERATIONTYPE = 6
ISACID = 7
+ ISDYNAMICPARTITIONWRITE = 8
FIELDS = {
TYPE => {:type => ::Thrift::Types::I32, :name => 'type', :enum_class => ::LockType},
@@ -1975,7 +1976,8 @@ class LockComponent
TABLENAME => {:type => ::Thrift::Types::STRING, :name => 'tablename', :optional => true},
PARTITIONNAME => {:type => ::Thrift::Types::STRING, :name => 'partitionname', :optional => true},
OPERATIONTYPE => {:type => ::Thrift::Types::I32, :name => 'operationType', :default => 5, :optional => true, :enum_class => ::DataOperationType},
- ISACID => {:type => ::Thrift::Types::BOOL, :name => 'isAcid', :default => false, :optional => true}
+ ISACID => {:type => ::Thrift::Types::BOOL, :name => 'isAcid', :default => false, :optional => true},
+ ISDYNAMICPARTITIONWRITE => {:type => ::Thrift::Types::BOOL, :name => 'isDynamicPartitionWrite', :default => false, :optional => true}
}
def struct_fields; FIELDS; end
[07/23] hive git commit: HIVE-15013. Config dir generated for tests
should not be under the test tmp directory. (Siddharth Seth,
reviewed by Prasanth Jayachandran)
Posted by se...@apache.org.
HIVE-15013. Config dir generated for tests should not be under the test tmp directory. (Siddharth Seth, reviewed by Prasanth Jayachandran)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/b75f0797
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/b75f0797
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/b75f0797
Branch: refs/heads/hive-14535
Commit: b75f079767f8a41a33fbef5ad8b6c876cff4ae6e
Parents: a7dbd4e
Author: Siddharth Seth <ss...@apache.org>
Authored: Wed Oct 19 23:49:41 2016 -0700
Committer: Siddharth Seth <ss...@apache.org>
Committed: Wed Oct 19 23:49:41 2016 -0700
----------------------------------------------------------------------
pom.xml | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/b75f0797/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 98d2dc2..6dad4cd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -77,6 +77,7 @@
<test.hive.hadoop.classpath>${maven.test.classpath}</test.hive.hadoop.classpath>
<test.log4j.scheme>file://</test.log4j.scheme>
<test.tmp.dir>${project.build.directory}/tmp</test.tmp.dir>
+ <test.conf.dir>${project.build.directory}/testconf</test.conf.dir>
<test.tmp.dir.uri>file://${test.tmp.dir}</test.tmp.dir.uri>
<!-- Determines the log level of the console logger, hive.log is independent of this-->
<test.console.log.level>INFO</test.console.log.level>
@@ -921,12 +922,13 @@
<configuration>
<target>
<delete dir="${test.tmp.dir}" />
+ <delete dir="${test.conf.dir}" />
<delete dir="${test.warehouse.dir}" />
<mkdir dir="${test.tmp.dir}" />
<mkdir dir="${test.warehouse.dir}" />
- <mkdir dir="${test.tmp.dir}/conf" />
+ <mkdir dir="${test.conf.dir}" />
<!-- copies hive-site.xml so it can be modified -->
- <copy todir="${test.tmp.dir}/conf/">
+ <copy todir="${test.conf.dir}">
<fileset dir="${basedir}/${hive.path.to.root}/data/conf/"/>
</copy>
</target>
@@ -1003,13 +1005,13 @@
<failIfNoTests>false</failIfNoTests>
<argLine>-Xmx2048m -XX:MaxPermSize=512m</argLine>
<additionalClasspathElements>
- <additionalClasspathElement>${test.tmp.dir}/conf</additionalClasspathElement>
+ <additionalClasspathElement>${test.conf.dir}</additionalClasspathElement>
<additionalClasspathElement>${basedir}/${hive.path.to.root}/conf</additionalClasspathElement>
</additionalClasspathElements>
<environmentVariables>
<TZ>US/Pacific</TZ>
<LANG>en_US.UTF-8</LANG>
- <HADOOP_CLASSPATH>${test.tmp.dir}/conf:${basedir}/${hive.path.to.root}/conf</HADOOP_CLASSPATH>
+ <HADOOP_CLASSPATH>${test.conf.dir}:${basedir}/${hive.path.to.root}/conf</HADOOP_CLASSPATH>
<HIVE_HADOOP_TEST_CLASSPATH>${test.hive.hadoop.classpath}</HIVE_HADOOP_TEST_CLASSPATH>
<SPARK_SUBMIT_CLASSPATH>${spark.home}/lib/spark-assembly-${spark.version}-hadoop2.4.0.jar:${test.hive.hadoop.classpath}</SPARK_SUBMIT_CLASSPATH>
<SPARK_OSX_TEST_OPTS>-Dorg.xerial.snappy.tempdir=/tmp -Dorg.xerial.snappy.lib.name=libsnappyjava.jnilib</SPARK_OSX_TEST_OPTS>
@@ -1030,7 +1032,7 @@
<!-- required for hive-exec jar path and tests which reference a jar -->
<maven.local.repository>${maven.repo.local}</maven.local.repository>
<mapred.job.tracker>local</mapred.job.tracker>
- <log4j.configurationFile>${test.log4j.scheme}${test.tmp.dir}/conf/hive-log4j2.properties</log4j.configurationFile>
+ <log4j.configurationFile>${test.log4j.scheme}${test.conf.dir}/hive-log4j2.properties</log4j.configurationFile>
<hive.test.console.log.level>${test.console.log.level}</hive.test.console.log.level>
<log4j.debug>true</log4j.debug>
<!-- don't diry up /tmp -->
@@ -1049,7 +1051,7 @@
<java.net.preferIPv4Stack>true</java.net.preferIPv4Stack>
<!-- EnforceReadOnlyTables hook and QTestUtil -->
<test.src.tables>src,src1,srcbucket,srcbucket2,src_json,src_thrift,src_sequencefile,srcpart,alltypesorc,src_hbase,cbo_t1,cbo_t2,cbo_t3,src_cbo,part,lineitem</test.src.tables>
- <java.security.krb5.conf>${test.tmp.dir}/conf/krb5.conf</java.security.krb5.conf>
+ <java.security.krb5.conf>${test.conf.dir}/krb5.conf</java.security.krb5.conf>
<!-- Required by spark to work around SPARK-14958 -->
<antlr.version>${antlr.version}</antlr.version>
<qfile>${qfile}</qfile>
[06/23] hive git commit: HIVE-15006. Rename
TestBeelineWithHS2ConnectionFile to avoid it being interpreted as a test
file.. (Siddharth Seth, reviewed by Prasanth Jayachandran)
Posted by se...@apache.org.
HIVE-15006. Rename TestBeelineWithHS2ConnectionFile to avoid it being interpreted as a test file.. (Siddharth Seth, reviewed by Prasanth Jayachandran)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/a7dbd4e0
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/a7dbd4e0
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/a7dbd4e0
Branch: refs/heads/hive-14535
Commit: a7dbd4e0da7e3eaac1889b0b75b68ad9677deac5
Parents: 9072575
Author: Siddharth Seth <ss...@apache.org>
Authored: Wed Oct 19 22:24:23 2016 -0700
Committer: Siddharth Seth <ss...@apache.org>
Committed: Wed Oct 19 22:24:23 2016 -0700
----------------------------------------------------------------------
.../BeelineWithHS2ConnectionFileTestBase.java | 218 +++++++++++++++++++
.../TestBeelineConnectionUsingHiveSite.java | 2 +-
.../TestBeelineWithHS2ConnectionFile.java | 218 -------------------
.../TestBeelineWithUserHs2ConnectionFile.java | 3 +-
4 files changed, 220 insertions(+), 221 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/a7dbd4e0/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/BeelineWithHS2ConnectionFileTestBase.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/BeelineWithHS2ConnectionFileTestBase.java b/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/BeelineWithHS2ConnectionFileTestBase.java
new file mode 100644
index 0000000..2fb6453
--- /dev/null
+++ b/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/BeelineWithHS2ConnectionFileTestBase.java
@@ -0,0 +1,218 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hive.beeline.hs2connection;
+
+import static org.junit.Assert.assertFalse;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintStream;
+import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
+import java.sql.DriverManager;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
+import org.apache.hive.beeline.BeeLine;
+import org.apache.hive.jdbc.miniHS2.MiniHS2;
+import org.apache.hive.service.cli.CLIServiceClient;
+import org.apache.hive.service.cli.HiveSQLException;
+import org.apache.hive.service.cli.OperationHandle;
+import org.apache.hive.service.cli.RowSet;
+import org.apache.hive.service.cli.SessionHandle;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.BeforeClass;
+
+public abstract class BeelineWithHS2ConnectionFileTestBase {
+ protected MiniHS2 miniHS2;
+ protected HiveConf hiveConf = new HiveConf();
+ protected final String tableName = "testBeelineTable";
+ protected String dataFileDir = hiveConf.get("test.data.files");
+ protected static final String LOCALHOST_KEY_STORE_NAME = "keystore.jks";
+ protected static final String TRUST_STORE_NAME = "truststore.jks";
+ protected static final String KEY_STORE_TRUST_STORE_PASSWORD = "HiveJdbc";
+ protected static final String HS2_HTTP_MODE = "http";
+ protected static final String HS2_HTTP_ENDPOINT = "cliservice";
+ private final String fileLocation =
+ System.getProperty("java.io.tmpdir") + "testHs2ConnectionConfig.xml";
+ protected static final String JAVA_TRUST_STORE_PROP = "javax.net.ssl.trustStore";
+ protected static final String JAVA_TRUST_STORE_PASS_PROP = "javax.net.ssl.trustStorePassword";
+
+ protected Map<String, String> confOverlay = new HashMap<>();
+
+ protected class TestBeeLine extends BeeLine {
+ UserHS2ConnectionFileParser testHs2ConfigFileManager;
+ ByteArrayOutputStream os;
+
+ TestBeeLine(List<String> defaultHS2ConnectionFiles) {
+ testHs2ConfigFileManager = new UserHS2ConnectionFileParser(defaultHS2ConnectionFiles);
+ os = new ByteArrayOutputStream();
+ PrintStream beelineOutputStream = new PrintStream(os);
+ setOutputStream(beelineOutputStream);
+ setErrorStream(beelineOutputStream);
+ }
+
+ TestBeeLine() {
+ testHs2ConfigFileManager = new UserHS2ConnectionFileParser(null);
+ os = new ByteArrayOutputStream();
+ PrintStream beelineOutputStream = new PrintStream(os);
+ setOutputStream(beelineOutputStream);
+ setErrorStream(beelineOutputStream);
+ }
+
+ public String getOutput() throws UnsupportedEncodingException {
+ return os.toString("UTF8");
+ }
+
+ @Override
+ public HS2ConnectionFileParser getUserHS2ConnFileParser() {
+ return testHs2ConfigFileManager;
+ }
+
+ @Override
+ public HS2ConnectionFileParser getHiveSiteHS2ConnectionFileParser() {
+ HiveSiteHS2ConnectionFileParser ret = new HiveSiteHS2ConnectionFileParser();
+ ret.setHiveConf(miniHS2.getHiveConf());
+ return ret;
+ }
+ }
+
+ /*
+ * Wrapper class to write a HS2ConnectionConfig file
+ */
+ protected class Hs2ConnectionXmlConfigFileWriter {
+ private final PrintWriter writer;
+ private final File file;
+ private final Configuration conf;
+
+ protected Hs2ConnectionXmlConfigFileWriter() throws IOException {
+ file = new File(fileLocation);
+ conf = new Configuration(false);
+ try {
+ if (file.exists()) {
+ file.delete();
+ }
+ file.createNewFile();
+ writer = new PrintWriter(file.getAbsolutePath(), "UTF-8");
+ } finally {
+ file.deleteOnExit();
+ }
+ }
+
+ protected void writeProperty(String key, String value) {
+ conf.set(key, value);
+ }
+
+ protected String path() {
+ return file.getAbsolutePath();
+ }
+
+ protected void close() throws IOException {
+ try {
+ conf.writeXml(writer);
+ } finally {
+ writer.close();
+ }
+ }
+ }
+
+ @BeforeClass
+ public static void beforeTest() throws Exception {
+ MiniHS2.cleanupLocalDir();
+ Class.forName(MiniHS2.getJdbcDriverName());
+ }
+
+ @AfterClass
+ public static void afterClass() throws IOException {
+ MiniHS2.cleanupLocalDir();
+ }
+
+ @Before
+ public void before() throws Exception {
+ DriverManager.setLoginTimeout(0);
+ if (!System.getProperty("test.data.files", "").isEmpty()) {
+ dataFileDir = System.getProperty("test.data.files");
+ }
+ dataFileDir = dataFileDir.replace('\\', '/').replace("c:", "");
+ hiveConf = new HiveConf();
+ miniHS2 = getNewMiniHS2();
+ confOverlay = new HashMap<String, String>();
+ confOverlay.put(ConfVars.HIVE_SUPPORT_CONCURRENCY.varname, "false");
+ confOverlay.put(ConfVars.HIVE_SERVER2_TRANSPORT_MODE.varname, "binary");
+ }
+
+ protected MiniHS2 getNewMiniHS2() throws Exception {
+ return new MiniHS2.Builder().withConf(hiveConf).cleanupLocalDirOnStartup(false).build();
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ if (miniHS2 != null && miniHS2.isStarted()) {
+ miniHS2.stop();
+ }
+ miniHS2 = null;
+ System.clearProperty(JAVA_TRUST_STORE_PROP);
+ System.clearProperty(JAVA_TRUST_STORE_PASS_PROP);
+ }
+
+ protected void createTable() throws HiveSQLException {
+ CLIServiceClient serviceClient = miniHS2.getServiceClient();
+ SessionHandle sessHandle = serviceClient.openSession("foo", "bar");
+ serviceClient.executeStatement(sessHandle, "DROP TABLE IF EXISTS " + tableName, confOverlay);
+ serviceClient.executeStatement(sessHandle, "CREATE TABLE " + tableName + " (id INT)",
+ confOverlay);
+ OperationHandle opHandle =
+ serviceClient.executeStatement(sessHandle, "SHOW TABLES", confOverlay);
+ RowSet rowSet = serviceClient.fetchResults(opHandle);
+ assertFalse(rowSet.numRows() == 0);
+ }
+
+ protected String testBeeLineConnection(String path, String[] beelineArgs,
+ String expectedOutput) throws IOException {
+ TestBeeLine beeLine = null;
+ try {
+ if(path != null) {
+ List<String> testLocations = new ArrayList<>();
+ testLocations.add(path);
+ beeLine = new TestBeeLine(testLocations);
+ } else {
+ beeLine = new TestBeeLine();
+ }
+ beeLine.begin(beelineArgs, null);
+ String output = beeLine.getOutput();
+ System.out.println(output);
+ Assert.assertNotNull(output);
+ Assert.assertTrue("Output " + output + " does not contain " + expectedOutput,
+ output.toLowerCase().contains(expectedOutput.toLowerCase()));
+ return output;
+ } finally {
+ if (beeLine != null) {
+ beeLine.close();
+ }
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/a7dbd4e0/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineConnectionUsingHiveSite.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineConnectionUsingHiveSite.java b/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineConnectionUsingHiveSite.java
index 1ad764b..8bff87c 100644
--- a/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineConnectionUsingHiveSite.java
+++ b/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineConnectionUsingHiveSite.java
@@ -22,7 +22,7 @@ import java.io.File;
import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
import org.junit.Test;
-public class TestBeelineConnectionUsingHiveSite extends TestBeelineWithHS2ConnectionFile {
+public class TestBeelineConnectionUsingHiveSite extends BeelineWithHS2ConnectionFileTestBase {
@Test
public void testBeelineConnectionHttp() throws Exception {
setupHs2();
http://git-wip-us.apache.org/repos/asf/hive/blob/a7dbd4e0/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineWithHS2ConnectionFile.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineWithHS2ConnectionFile.java b/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineWithHS2ConnectionFile.java
deleted file mode 100644
index 7fc3d52..0000000
--- a/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineWithHS2ConnectionFile.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.hive.beeline.hs2connection;
-
-import static org.junit.Assert.assertFalse;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintStream;
-import java.io.PrintWriter;
-import java.io.UnsupportedEncodingException;
-import java.sql.DriverManager;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hive.conf.HiveConf;
-import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
-import org.apache.hive.beeline.BeeLine;
-import org.apache.hive.jdbc.miniHS2.MiniHS2;
-import org.apache.hive.service.cli.CLIServiceClient;
-import org.apache.hive.service.cli.HiveSQLException;
-import org.apache.hive.service.cli.OperationHandle;
-import org.apache.hive.service.cli.RowSet;
-import org.apache.hive.service.cli.SessionHandle;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
-
-public abstract class TestBeelineWithHS2ConnectionFile {
- protected MiniHS2 miniHS2;
- protected HiveConf hiveConf = new HiveConf();
- protected final String tableName = "testBeelineTable";
- protected String dataFileDir = hiveConf.get("test.data.files");
- protected static final String LOCALHOST_KEY_STORE_NAME = "keystore.jks";
- protected static final String TRUST_STORE_NAME = "truststore.jks";
- protected static final String KEY_STORE_TRUST_STORE_PASSWORD = "HiveJdbc";
- protected static final String HS2_HTTP_MODE = "http";
- protected static final String HS2_HTTP_ENDPOINT = "cliservice";
- private final String fileLocation =
- System.getProperty("java.io.tmpdir") + "testHs2ConnectionConfig.xml";
- protected static final String JAVA_TRUST_STORE_PROP = "javax.net.ssl.trustStore";
- protected static final String JAVA_TRUST_STORE_PASS_PROP = "javax.net.ssl.trustStorePassword";
-
- protected Map<String, String> confOverlay = new HashMap<>();
-
- protected class TestBeeLine extends BeeLine {
- UserHS2ConnectionFileParser testHs2ConfigFileManager;
- ByteArrayOutputStream os;
-
- TestBeeLine(List<String> defaultHS2ConnectionFiles) {
- testHs2ConfigFileManager = new UserHS2ConnectionFileParser(defaultHS2ConnectionFiles);
- os = new ByteArrayOutputStream();
- PrintStream beelineOutputStream = new PrintStream(os);
- setOutputStream(beelineOutputStream);
- setErrorStream(beelineOutputStream);
- }
-
- TestBeeLine() {
- testHs2ConfigFileManager = new UserHS2ConnectionFileParser(null);
- os = new ByteArrayOutputStream();
- PrintStream beelineOutputStream = new PrintStream(os);
- setOutputStream(beelineOutputStream);
- setErrorStream(beelineOutputStream);
- }
-
- public String getOutput() throws UnsupportedEncodingException {
- return os.toString("UTF8");
- }
-
- @Override
- public HS2ConnectionFileParser getUserHS2ConnFileParser() {
- return testHs2ConfigFileManager;
- }
-
- @Override
- public HS2ConnectionFileParser getHiveSiteHS2ConnectionFileParser() {
- HiveSiteHS2ConnectionFileParser ret = new HiveSiteHS2ConnectionFileParser();
- ret.setHiveConf(miniHS2.getHiveConf());
- return ret;
- }
- }
-
- /*
- * Wrapper class to write a HS2ConnectionConfig file
- */
- protected class Hs2ConnectionXmlConfigFileWriter {
- private final PrintWriter writer;
- private final File file;
- private final Configuration conf;
-
- protected Hs2ConnectionXmlConfigFileWriter() throws IOException {
- file = new File(fileLocation);
- conf = new Configuration(false);
- try {
- if (file.exists()) {
- file.delete();
- }
- file.createNewFile();
- writer = new PrintWriter(file.getAbsolutePath(), "UTF-8");
- } finally {
- file.deleteOnExit();
- }
- }
-
- protected void writeProperty(String key, String value) {
- conf.set(key, value);
- }
-
- protected String path() {
- return file.getAbsolutePath();
- }
-
- protected void close() throws IOException {
- try {
- conf.writeXml(writer);
- } finally {
- writer.close();
- }
- }
- }
-
- @BeforeClass
- public static void beforeTest() throws Exception {
- MiniHS2.cleanupLocalDir();
- Class.forName(MiniHS2.getJdbcDriverName());
- }
-
- @AfterClass
- public static void afterClass() throws IOException {
- MiniHS2.cleanupLocalDir();
- }
-
- @Before
- public void before() throws Exception {
- DriverManager.setLoginTimeout(0);
- if (!System.getProperty("test.data.files", "").isEmpty()) {
- dataFileDir = System.getProperty("test.data.files");
- }
- dataFileDir = dataFileDir.replace('\\', '/').replace("c:", "");
- hiveConf = new HiveConf();
- miniHS2 = getNewMiniHS2();
- confOverlay = new HashMap<String, String>();
- confOverlay.put(ConfVars.HIVE_SUPPORT_CONCURRENCY.varname, "false");
- confOverlay.put(ConfVars.HIVE_SERVER2_TRANSPORT_MODE.varname, "binary");
- }
-
- protected MiniHS2 getNewMiniHS2() throws Exception {
- return new MiniHS2.Builder().withConf(hiveConf).cleanupLocalDirOnStartup(false).build();
- }
-
- @After
- public void tearDown() throws Exception {
- if (miniHS2 != null && miniHS2.isStarted()) {
- miniHS2.stop();
- }
- miniHS2 = null;
- System.clearProperty(JAVA_TRUST_STORE_PROP);
- System.clearProperty(JAVA_TRUST_STORE_PASS_PROP);
- }
-
- protected void createTable() throws HiveSQLException {
- CLIServiceClient serviceClient = miniHS2.getServiceClient();
- SessionHandle sessHandle = serviceClient.openSession("foo", "bar");
- serviceClient.executeStatement(sessHandle, "DROP TABLE IF EXISTS " + tableName, confOverlay);
- serviceClient.executeStatement(sessHandle, "CREATE TABLE " + tableName + " (id INT)",
- confOverlay);
- OperationHandle opHandle =
- serviceClient.executeStatement(sessHandle, "SHOW TABLES", confOverlay);
- RowSet rowSet = serviceClient.fetchResults(opHandle);
- assertFalse(rowSet.numRows() == 0);
- }
-
- protected String testBeeLineConnection(String path, String[] beelineArgs,
- String expectedOutput) throws IOException {
- TestBeeLine beeLine = null;
- try {
- if(path != null) {
- List<String> testLocations = new ArrayList<>();
- testLocations.add(path);
- beeLine = new TestBeeLine(testLocations);
- } else {
- beeLine = new TestBeeLine();
- }
- beeLine.begin(beelineArgs, null);
- String output = beeLine.getOutput();
- System.out.println(output);
- Assert.assertNotNull(output);
- Assert.assertTrue("Output " + output + " does not contain " + expectedOutput,
- output.toLowerCase().contains(expectedOutput.toLowerCase()));
- return output;
- } finally {
- if (beeLine != null) {
- beeLine.close();
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/hive/blob/a7dbd4e0/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineWithUserHs2ConnectionFile.java
----------------------------------------------------------------------
diff --git a/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineWithUserHs2ConnectionFile.java b/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineWithUserHs2ConnectionFile.java
index 0f86186..3684f14 100644
--- a/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineWithUserHs2ConnectionFile.java
+++ b/itests/hive-unit/src/test/java/org/apache/hive/beeline/hs2connection/TestBeelineWithUserHs2ConnectionFile.java
@@ -21,10 +21,9 @@ import java.io.File;
import java.net.URI;
import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
-import org.apache.hive.beeline.hs2connection.HS2ConnectionFileParser;
import org.junit.Test;
-public class TestBeelineWithUserHs2ConnectionFile extends TestBeelineWithHS2ConnectionFile {
+public class TestBeelineWithUserHs2ConnectionFile extends BeelineWithHS2ConnectionFileTestBase {
@Test
public void testBeelineConnectionHttp() throws Exception {
[17/23] hive git commit: HIVE-14913 : Add new unit tests (Vineet Garg
via Ashutosh Chauhan)
Posted by se...@apache.org.
HIVE-14913 : Add new unit tests (Vineet Garg via Ashutosh Chauhan)
Signed-off-by: Ashutosh Chauhan <ha...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/bbfc4d9d
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/bbfc4d9d
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/bbfc4d9d
Branch: refs/heads/hive-14535
Commit: bbfc4d9d25f6e28a490f410294022c8fa5f1b389
Parents: b303fca
Author: Vineet Garg <vg...@hortonworks.com>
Authored: Thu Oct 20 09:01:08 2016 -0700
Committer: Ashutosh Chauhan <ha...@apache.org>
Committed: Thu Oct 20 09:01:08 2016 -0700
----------------------------------------------------------------------
.../test/resources/testconfiguration.properties | 1 +
.../queries/clientpositive/acid_table_stats.q | 1 +
ql/src/test/queries/clientpositive/cte_1.q | 32 +-
ql/src/test/queries/clientpositive/cte_2.q | 5 +
.../clientpositive/current_date_timestamp.q | 102 +
.../queries/clientpositive/join_acid_non_acid.q | 10 +
.../test/queries/clientpositive/lvj_mapjoin.q | 9 +
.../test/queries/clientpositive/orc_ppd_basic.q | 48 +
.../schema_evol_orc_acid_part_update.q | 42 +
.../queries/clientpositive/vectorization_0.q | 67 +
.../clientpositive/acid_table_stats.q.out | 13 +
ql/src/test/results/clientpositive/cte_1.q.out | 18948 +++++++++++
ql/src/test/results/clientpositive/cte_2.q.out | 28 +
.../clientpositive/current_date_timestamp.q.out | 350 +
.../results/clientpositive/llap/cte_1.q.out | 18948 +++++++++++
.../results/clientpositive/llap/cte_2.q.out | 28 +
.../llap/join_acid_non_acid.q.out | 16 +
.../clientpositive/llap/lvj_mapjoin.q.out | 47 +
.../clientpositive/llap/orc_ppd_basic.q.out | 220 +
.../llap/schema_evol_orc_acid_part_update.q.out | 1148 +
.../clientpositive/llap/vectorization_0.q.out | 29603 ++++++++++++++++
.../clientpositive/spark/vectorization_0.q.out | 29599 ++++++++++++++++
.../clientpositive/vectorization_0.q.out | 29871 +++++++++++++++++
23 files changed, 129135 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/itests/src/test/resources/testconfiguration.properties
----------------------------------------------------------------------
diff --git a/itests/src/test/resources/testconfiguration.properties b/itests/src/test/resources/testconfiguration.properties
index 8868631..09833ff 100644
--- a/itests/src/test/resources/testconfiguration.properties
+++ b/itests/src/test/resources/testconfiguration.properties
@@ -468,6 +468,7 @@ minillaplocal.query.files=acid_globallimit.q,\
cbo_rp_windowing_2.q,\
cbo_subq_not_in.q,\
constprog_dpp.q,\
+ current_date_timestamp.q,\
correlationoptimizer1.q,\
correlationoptimizer2.q,\
correlationoptimizer4.q,\
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/queries/clientpositive/acid_table_stats.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/acid_table_stats.q b/ql/src/test/queries/clientpositive/acid_table_stats.q
index 23d0df4..9a3d97e 100644
--- a/ql/src/test/queries/clientpositive/acid_table_stats.q
+++ b/ql/src/test/queries/clientpositive/acid_table_stats.q
@@ -64,6 +64,7 @@ desc formatted acid partition(ds='2008-04-08');
set hive.compute.query.using.stats=false;
select count(*) from acid where ds='2008-04-08';
+select count(key) from acid;
set hive.compute.query.using.stats=true;
explain select count(*) from acid where ds='2008-04-08';
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/queries/clientpositive/cte_1.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/cte_1.q b/ql/src/test/queries/clientpositive/cte_1.q
index ca4132f..2956339 100644
--- a/ql/src/test/queries/clientpositive/cte_1.q
+++ b/ql/src/test/queries/clientpositive/cte_1.q
@@ -25,4 +25,34 @@ select * from (select key from q1) a;
with q1 as ( select key from q2 where key = '5'),
q2 as ( select key from src where key = '5')
-select * from (select key from q1) a;
\ No newline at end of file
+select * from (select key from q1) a;
+
+with q1 as (select * from alltypesorc)
+ select s1.key, s1.value
+ from src s1
+ where key > 3
+ and s1.value in (select q1.cstring1
+ from q1
+ where cint > 900);
+
+with q1 as (select * from src)
+ select key, value,
+ max(value) over (partition by key)
+ from q1;
+
+with q1 as (select * from alltypesorc)
+ from q1
+ select cint, cstring1, avg(csmallint)
+ group by cint, cstring1 with rollup;
+
+drop table if exists cte9_t1;
+create table cte9_t1 as
+ with q1 as (select cint, cstring1 from alltypesorc where cint > 70)
+ select * from q1;
+
+drop table if exists cte10_t1;
+create table cte10_t1 as
+ with q1 as (select cint, cstring1 from alltypesorc where cint > 70)
+ select * from q1;
+with q1 as (select cint , cstring1 from alltypesorc where age < 50)
+ select * from cte10_t1;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/queries/clientpositive/cte_2.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/cte_2.q b/ql/src/test/queries/clientpositive/cte_2.q
index b49620a..d226116 100644
--- a/ql/src/test/queries/clientpositive/cte_2.q
+++ b/ql/src/test/queries/clientpositive/cte_2.q
@@ -53,4 +53,9 @@ select * from v1
drop view v1;
+drop view if exists view_3;
+create view view_3 as select cstring2, AVG(cint) from alltypesorc group by cstring2 limit 10;
+
+drop view if exists view_4;
+create view view_4 as select s.cstring1, v.ctimestamp1 from alltypesorc s join alltypesorc v on (s.cstring2= v.cstring1);
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/queries/clientpositive/current_date_timestamp.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/current_date_timestamp.q b/ql/src/test/queries/clientpositive/current_date_timestamp.q
index 9bed885..a1157ce 100644
--- a/ql/src/test/queries/clientpositive/current_date_timestamp.q
+++ b/ql/src/test/queries/clientpositive/current_date_timestamp.q
@@ -1,4 +1,106 @@
select current_timestamp = current_timestamp(), current_date = current_date() from src limit 5;
set hive.test.currenttimestamp =2012-01-01 01:02:03;
+
+--ensure that timestamp is same for all the rows while using current_timestamp() query should return single row
+select count(*) from (select current_timestamp() from alltypesorc union select current_timestamp() from src limit 5 ) subq;
+
+select count(*) from (select current_timestamp() from alltypesorc
+ union
+ select current_timestamp() from src
+ limit 5 ) subqr;
+
+--current_timestamp() should appear as expression
+explain extended select current_timestamp() from alltypesorc;
+
+--current_timestamp() + insert
+create temporary table tmp_runtimeconstant(
+ ts1 timestamp,
+ ts2 timestamp,
+ dt date,
+ s string,
+ v varchar(50),
+ c char(50)
+ );
+insert into table tmp_runtimeconstant
+ select current_timestamp(),
+ cast(current_timestamp() as timestamp),
+ cast(current_timestamp() as date),
+ cast(current_timestamp() as string),
+ cast(current_timestamp() as varchar(50)),
+ cast(current_timestamp() as char(50))
+ from alltypesorc limit 5;
+select ts1 = ts2,
+ to_date(ts2) = dt,
+ s = v,
+ v = c
+from tmp_runtimeconstant;
+
+--current_date() + insert
+drop table if exists tmp_runtimeconstant;
+create temporary table tmp_runtimeconstant(d date, t timestamp);
+insert into table tmp_runtimeconstant
+ select current_date(), current_timestamp() from alltypesorc limit 5;
+select to_date(t)=d from tmp_runtimeconstant;
+
+--current_timestamp() + current_date() + where
+drop table if exists tmp_runtimeconstant;
+create temporary table tmp_runtimeconstant(t timestamp, d date);
+insert into table tmp_runtimeconstant
+ select current_timestamp(), current_date() from alltypesorc limit 5;
+select count(*) from tmp_runtimeconstant
+ where current_timestamp() >= t
+ and current_date <> d;
+
+
+--current_timestamp() as argument for unix_timestamp(), hour(), minute(), second()
+select unix_timestamp(current_timestamp()),
+ hour(current_timestamp()),
+ minute(current_timestamp()),
+ second(current_timestamp())
+ from alltypesorc limit 5;
+
+--current_timestamp() as argument for various date udfs
+select to_date(current_timestamp()),
+ year(current_timestamp()),
+ month(current_timestamp()),
+ day(current_timestamp()),
+ weekofyear(current_timestamp()),
+ datediff(current_timestamp(),current_timestamp),
+ to_date(date_add(current_timestamp(), 31)),
+ to_date(date_sub(current_timestamp(), 31)),
+ last_day(current_timestamp()),
+ next_day(current_timestamp(),'FRIDAY')
+ from alltypesorc limit 5;
+
+--current_date() as argument for various date udfs
+select to_date(current_date()),
+ year(current_date()),
+ month(current_date()),
+ day(current_date()),
+ weekofyear(current_date()),
+ datediff(current_date(),current_date),
+ to_date(date_add(current_date(), 31)),
+ to_date(date_sub(current_date(), 31)),
+ last_day(current_date()),
+ next_day(current_date(),'FRIDAY')
+ from alltypesorc limit 5;
+
+select current_timestamp() - current_timestamp(),
+ current_timestamp() - current_date(),
+ current_date() - current_timestamp(),
+ current_date() - current_date()
+ from alltypesorc limit 1;
+
+select ctimestamp1 - current_date(),
+ ctimestamp1- ctimestamp2,
+ current_date() - current_date(),
+ current_date() - ctimestamp2
+from alltypesorc
+where ctimestamp1 is not null
+ and ctimestamp2 is not null
+ limit 5;
select current_date, current_timestamp from src limit 5;
+
+set hive.support.quoted.identifiers=none;
+select `[kv]+.+` from srcpart order by key;
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/queries/clientpositive/join_acid_non_acid.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/join_acid_non_acid.q b/ql/src/test/queries/clientpositive/join_acid_non_acid.q
index 866b466..53b4b9e 100644
--- a/ql/src/test/queries/clientpositive/join_acid_non_acid.q
+++ b/ql/src/test/queries/clientpositive/join_acid_non_acid.q
@@ -22,3 +22,13 @@ SET hive.doing.acid=false;
SELECT t1.*, t2.* FROM orc_table t1
JOIN orc_update_table t2 ON t1.k1=t2.k1 ORDER BY t1.k1;
+
+set hive.support.concurrency=true;
+set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
+set hive.enforce.bucketing=true;
+set hive.auto.convert.join=false;
+set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
+
+select t1.k1, t1.f1 from orc_table t1
+ union all
+select t2.k1, t2.f1 from orc_update_table t2;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/queries/clientpositive/lvj_mapjoin.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/lvj_mapjoin.q b/ql/src/test/queries/clientpositive/lvj_mapjoin.q
index b726e2a..5fb9a23 100644
--- a/ql/src/test/queries/clientpositive/lvj_mapjoin.q
+++ b/ql/src/test/queries/clientpositive/lvj_mapjoin.q
@@ -36,3 +36,12 @@ select sub1.aid, sub1.avalue, sub2.bvalue
from sub1,sub2
where sub1.aid=sub2.bid;
+create temporary table tmp_lateral_view(
+ arst array<struct<age:int,name:string>>
+ ) stored as orc;
+insert into table tmp_lateral_view
+ select array(named_struct('age',cint,'name',cstring1))
+ from alltypesorc limit 10;
+select arst.name, arst.age
+ from tmp_lateral_view
+ lateral view inline(arst) arst;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/queries/clientpositive/orc_ppd_basic.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/orc_ppd_basic.q b/ql/src/test/queries/clientpositive/orc_ppd_basic.q
index 43f2c85..c3ba24a 100644
--- a/ql/src/test/queries/clientpositive/orc_ppd_basic.q
+++ b/ql/src/test/queries/clientpositive/orc_ppd_basic.q
@@ -189,3 +189,51 @@ set hive.optimize.index.filter=false;
select count(*) from orc_ppd where f=74.72;
set hive.optimize.index.filter=true;
select count(*) from orc_ppd where f=74.72;
+
+
+create temporary table tmp_orcppd
+ stored as orc
+ as select ctinyint, csmallint, cint , cbigint, cfloat, cdouble,
+ cstring1, cstring2, ctimestamp1, ctimestamp2
+ from alltypesorc limit 20;
+insert into table tmp_orcppd
+ values(null, null, null, null, null,
+ null, null, null, null, null);
+
+drop table if exists tbl_orcppd_1_1;
+
+create table tbl_orcppd_1_1 as
+ select count(*) from tmp_orcppd
+ where ctimestamp1> current_timestamp() and
+ ctimestamp2 > current_timestamp() and
+ cstring1 like 'a*' and
+ cstring2 like 'a*';
+
+drop table if exists tmp_orcppd;
+
+create temporary table tmp_orcppd
+ stored as orc
+ as select ctimestamp1, ctimestamp2
+ from alltypesorc limit 10;
+insert into table tmp_orcppd
+ values(null, null);
+
+drop table if exists tbl_orcppd_2_1;
+create table tbl_orcppd_2_1 as
+ select count(*) from tmp_orcppd
+ where ctimestamp1 in (cast('2065-08-13 19:03:52' as timestamp), cast('2071-01-16 20:21:17' as timestamp), current_timestamp());
+set hive.optimize.index.filter=true;
+
+drop table if exists tmp_orcppd;
+create temporary table tmp_orcppd
+ stored as orc
+ as select ts, da
+ from orc_ppd_staging ;
+insert into table tmp_orcppd
+ values(null, null);
+
+drop table if exists tbl_orcppd_3_1;
+create table tbl_orcppd_3_1 as
+ select count(*) from tmp_orcppd
+ group by ts, da
+ having ts in (select ctimestamp1 from alltypesorc limit 10);
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/queries/clientpositive/schema_evol_orc_acid_part_update.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/schema_evol_orc_acid_part_update.q b/ql/src/test/queries/clientpositive/schema_evol_orc_acid_part_update.q
index d971649..e62d21c 100644
--- a/ql/src/test/queries/clientpositive/schema_evol_orc_acid_part_update.q
+++ b/ql/src/test/queries/clientpositive/schema_evol_orc_acid_part_update.q
@@ -115,3 +115,45 @@ alter table partitioned_delete_2 partition(part=2) compact 'major';
select insert_num,part,a,b,c,d from partitioned_delete_2;
DROP TABLE partitioned_delete_2;
+
+--following tests is moved from system tests
+drop table if exists missing_ddl_2;
+create table missing_ddl_2(name string, age int);
+insert overwrite table missing_ddl_2 select value, key from srcbucket;
+alter table missing_ddl_2 add columns (gps double);
+
+set hive.exec.dynamic.partition.mode=nonstrict;
+set hive.optimize.sort.dynamic.partition=true;
+
+DROP TABLE IF EXISTS all100kjson_textfile_orc;
+CREATE TABLE all100kjson_textfile_orc (
+ si smallint,
+ i int,
+ b bigint,
+ f float,
+ d double,
+ s string,
+ bo boolean,
+ ts timestamp)
+ PARTITIONED BY (t tinyint)
+ ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
+ WITH SERDEPROPERTIES ('timestamp.formats'='yyyy-MM-dd\'T\'HH:mm:ss')
+ STORED AS TEXTFILE;
+
+INSERT INTO TABLE all100kjson_textfile_orc PARTITION (t) SELECT csmallint, cint, cbigint, cfloat, cdouble, cstring1, cboolean1, ctimestamp1, ctinyint FROM alltypesorc WHERE ctinyint > 0;
+
+ALTER TABLE all100kjson_textfile_orc
+ SET FILEFORMAT
+ INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'
+ OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'
+ SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde';
+
+INSERT INTO TABLE all100kjson_textfile_orc PARTITION (t) SELECT csmallint, cint, cbigint, cfloat, cdouble, cstring1, cboolean1, ctimestamp1, ctinyint FROM alltypesorc WHERE ctinyint < 1 and ctinyint > -50 ;
+
+-- HIVE-11977: Hive should handle an external avro table with zero length files present
+DROP TABLE IF EXISTS emptyavro;
+CREATE TABLE emptyavro (i int)
+ PARTITIONED BY (s string)
+ STORED AS AVRO;
+load data local inpath '../../data/files/empty1.txt' into table emptyavro PARTITION (s='something');
+SELECT COUNT(*) from emptyavro;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/queries/clientpositive/vectorization_0.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vectorization_0.q b/ql/src/test/queries/clientpositive/vectorization_0.q
index caa6a6a..f4cf8c4 100644
--- a/ql/src/test/queries/clientpositive/vectorization_0.q
+++ b/ql/src/test/queries/clientpositive/vectorization_0.q
@@ -205,3 +205,70 @@ WHERE (((cstring2 LIKE '%b%')
AND ((cboolean2 = 1)
AND (3569 = ctinyint))));
+EXPLAIN extended
+select count(*) from alltypesorc
+ where (((cstring1 LIKE 'a%') or ((cstring1 like 'b%') or (cstring1 like 'c%'))) or
+ ((length(cstring1) < 50 ) and ((cstring1 like '%n') and (length(cstring1) > 0))));
+
+select count(*) from alltypesorc
+ where (((cstring1 LIKE 'a%') or ((cstring1 like 'b%') or (cstring1 like 'c%'))) or
+ ((length(cstring1) < 50 ) and ((cstring1 like '%n') and (length(cstring1) > 0))));
+
+set hive.vectorized.execution.enabled=true;
+set hive.compute.query.using.stats=false;
+
+select min(ctinyint), max(ctinyint), sum(ctinyint), avg(ctinyint) from alltypesorc;
+select min(csmallint), max(csmallint), sum(csmallint), avg(csmallint) from alltypesorc;
+select min(cint), max(cint), sum(cint), avg(cint) from alltypesorc;
+select min(cbigint), max(cbigint), sum(cbigint), avg(cbigint) from alltypesorc;
+select min(cdouble), max(cdouble), sum(cdouble), avg(cdouble) from alltypesorc;
+select distinct cstring1 from alltypesorc;
+select distinct cstring1, ctinyint from alltypesorc;
+select cstring1, max(cbigint) from alltypesorc
+ group by cstring1
+ order by cstring1 desc;
+
+set hive.vectorized.execution.reduce.enabled=true;
+set hive.vectorized.execution.reduce.groupby.enabled=true;
+select cstring1, cint, ctinyint from alltypesorc
+ where cstring1 > 'religion';
+select cstring1, cint, ctinyint from alltypesorc where cstring1 <> 'religion';
+
+select ctinyint, csmallint, cint, cbigint, cdouble, cdouble, cstring1 from alltypesorc
+ where ctinyint > 0 and csmallint > 0 and cint > 0 and cbigint > 0 and
+ cfloat > 0.0 and cdouble > 0.0 and cstring1 > 'm';
+
+set hive.optimize.point.lookup=false;
+--test to make sure multi and/or expressions are being vectorized
+explain extended select * from alltypesorc where
+ (cint=49 and cfloat=3.5) or
+ (cint=47 and cfloat=2.09) or
+ (cint=45 and cfloat=3.02);
+
+set hive.optimize.point.lookup=true;
+set hive.optimize.point.lookup.min=1;
+
+explain extended select * from alltypesorc where
+ (cint=49 and cfloat=3.5) or
+ (cint=47 and cfloat=2.09) or
+ (cint=45 and cfloat=3.02);
+
+explain extended select * from alltypesorc where
+ (cint=49 or cfloat=3.5) and
+ (cint=47 or cfloat=2.09) and
+ (cint=45 or cfloat=3.02);
+
+explain extended select count(*),cstring1 from alltypesorc where cstring1='biology'
+ or cstring1='history'
+ or cstring1='topology' group by cstring1 order by cstring1;
+
+
+drop table if exists cast_string_to_int_1;
+drop table if exists cast_string_to_int_2;
+
+create table cast_string_to_int_1 as select CAST(CAST(key as float) as string),value from srcbucket;
+create table cast_string_to_int_2(i int,s string);
+insert overwrite table cast_string_to_int_2 select * from cast_string_to_int_1;
+
+--moving ALL_1 system test here
+select all key from src;
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/results/clientpositive/acid_table_stats.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/acid_table_stats.q.out b/ql/src/test/results/clientpositive/acid_table_stats.q.out
index d5c509c..58d391d 100644
--- a/ql/src/test/results/clientpositive/acid_table_stats.q.out
+++ b/ql/src/test/results/clientpositive/acid_table_stats.q.out
@@ -686,6 +686,19 @@ POSTHOOK: Input: default@acid
POSTHOOK: Input: default@acid@ds=2008-04-08
#### A masked pattern was here ####
1000
+PREHOOK: query: select count(key) from acid
+PREHOOK: type: QUERY
+PREHOOK: Input: default@acid
+PREHOOK: Input: default@acid@ds=2008-04-08
+PREHOOK: Input: default@acid@ds=2008-04-09
+#### A masked pattern was here ####
+POSTHOOK: query: select count(key) from acid
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@acid
+POSTHOOK: Input: default@acid@ds=2008-04-08
+POSTHOOK: Input: default@acid@ds=2008-04-09
+#### A masked pattern was here ####
+2000
PREHOOK: query: explain select count(*) from acid where ds='2008-04-08'
PREHOOK: type: QUERY
POSTHOOK: query: explain select count(*) from acid where ds='2008-04-08'
[18/23] hive git commit: HIVE-14985 : Remove UDF-s created during
test runs (Peter Vary, reviewed by Sergey Shelukhin)
Posted by se...@apache.org.
HIVE-14985 : Remove UDF-s created during test runs (Peter Vary, reviewed by Sergey Shelukhin)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/19999dad
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/19999dad
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/19999dad
Branch: refs/heads/hive-14535
Commit: 19999dad89557a1121bd26b804e449fb09825564
Parents: bbfc4d9
Author: Sergey Shelukhin <se...@apache.org>
Authored: Thu Oct 20 13:04:29 2016 -0700
Committer: Sergey Shelukhin <se...@apache.org>
Committed: Thu Oct 20 13:04:29 2016 -0700
----------------------------------------------------------------------
.../org/apache/hadoop/hive/ql/QTestUtil.java | 43 +++++++++++++++++++-
1 file changed, 42 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/19999dad/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
----------------------------------------------------------------------
diff --git a/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java b/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
index 0525335..a873721 100644
--- a/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
+++ b/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
@@ -165,6 +165,7 @@ public class QTestUtil {
private final Set<String> qJavaVersionSpecificOutput;
private static final String SORT_SUFFIX = ".sorted";
private final HashSet<String> srcTables;
+ private final Set<String> srcUDFs;
private final MiniClusterType clusterType;
private final FsType fsType;
private ParseDriver pd;
@@ -213,6 +214,30 @@ public class QTestUtil {
return srcTables;
}
+ /**
+ * Returns the default UDF names which should not be removed when resetting the test database
+ * @return The list of the UDF names not to remove
+ */
+ private Set<String> getSrcUDFs() {
+ HashSet<String> srcUDFs = new HashSet<String>();
+ // FIXME: moved default value to here...for now
+ // i think this features is never really used from the command line
+ String defaultTestSrcUDFs = "qtest_get_java_boolean";
+ for (String srcUDF : System.getProperty("test.src.udfs", defaultTestSrcUDFs).trim().split(","))
+ {
+ srcUDF = srcUDF.trim();
+ if (!srcUDF.isEmpty()) {
+ srcUDFs.add(srcUDF);
+ }
+ }
+ if (srcUDFs.isEmpty()) {
+ throw new RuntimeException("Source UDFs cannot be empty");
+ }
+ return srcUDFs;
+ }
+
+
+
public HiveConf getConf() {
return conf;
}
@@ -527,6 +552,7 @@ public class QTestUtil {
this.logDir = logDir;
this.useHBaseMetastore = useHBaseMetastore;
this.srcTables=getSrcTables();
+ this.srcUDFs = getSrcUDFs();
// HIVE-14443 move this fall-back logic to CliConfigs
if (confDir != null && !confDir.isEmpty()) {
@@ -892,6 +918,19 @@ public class QTestUtil {
}
}
+ public void clearUDFsCreatedDuringTests() throws Exception {
+ if (System.getenv(QTEST_LEAVE_FILES) != null) {
+ return;
+ }
+ // Delete functions created by the tests
+ // It is enough to remove functions from the default database, other databases are dropped
+ for (String udfName : db.getFunctions(DEFAULT_DATABASE_NAME, ".*")) {
+ if (!srcUDFs.contains(udfName)) {
+ db.dropFunction(DEFAULT_DATABASE_NAME, udfName);
+ }
+ }
+ }
+
/**
* Clear out any side effects of running tests
*/
@@ -933,7 +972,7 @@ public class QTestUtil {
}
}
if (!DEFAULT_DATABASE_NAME.equals(dbName)) {
- // Drop cascade, may need to drop functions
+ // Drop cascade, functions dropped by cascade
db.dropDatabase(dbName, true, true, true);
}
}
@@ -980,6 +1019,7 @@ public class QTestUtil {
db = Hive.get(conf); // propagate new conf to meta store
clearTablesCreatedDuringTests();
+ clearUDFsCreatedDuringTests();
clearKeysCreatedInTests();
}
@@ -1001,6 +1041,7 @@ public class QTestUtil {
}
clearTablesCreatedDuringTests();
+ clearUDFsCreatedDuringTests();
clearKeysCreatedInTests();
File cleanupFile = new File(cleanupScript);
[02/23] hive git commit: HIVE-15022: Missing hs2-connection-timed-out
in BeeLine.properties (Peter Vary, reviewed by Sergio Pena)
Posted by se...@apache.org.
HIVE-15022: Missing hs2-connection-timed-out in BeeLine.properties (Peter Vary, reviewed by Sergio Pena)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/6d2eb1c4
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/6d2eb1c4
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/6d2eb1c4
Branch: refs/heads/hive-14535
Commit: 6d2eb1c4126b0a0f02a2b1788448c5ed70d80373
Parents: dedfaf9
Author: Sergio Pena <se...@cloudera.com>
Authored: Wed Oct 19 15:49:28 2016 -0500
Committer: Sergio Pena <se...@cloudera.com>
Committed: Wed Oct 19 15:49:28 2016 -0500
----------------------------------------------------------------------
beeline/src/main/resources/BeeLine.properties | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/6d2eb1c4/beeline/src/main/resources/BeeLine.properties
----------------------------------------------------------------------
diff --git a/beeline/src/main/resources/BeeLine.properties b/beeline/src/main/resources/BeeLine.properties
index df31bff..141f0c6 100644
--- a/beeline/src/main/resources/BeeLine.properties
+++ b/beeline/src/main/resources/BeeLine.properties
@@ -147,7 +147,7 @@ hs2-unexpected-end-of-file: Unexpected end of file when reading from HS2 server.
cause might be too many concurrent connections. Please ask the administrator to check the number \
of active connections, and adjust hive.server2.thrift.max.worker.threads if applicable.
hs2-could-not-open-connection: Could not open connection to the HS2 server. Please check the \
-server URI and if the URI is correct, then ask the administrator to check the server status.\
+server URI and if the URI is correct, then ask the administrator to check the server status.
hs2-connection-timed-out: Connection timeout when communicating with HS2 server.
hs2-unknown-connection-problem: Unknown HS2 problem when communicating with Thrift server.
hs2-unexpected-error: Unexpected HS2 error when communicating with the Thrift server.
[19/23] hive git commit: HIVE-14671 : merge master into hive-14535
(Sergey Shelukhin)
Posted by se...@apache.org.
HIVE-14671 : merge master into hive-14535 (Sergey Shelukhin)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/98b0b8ee
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/98b0b8ee
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/98b0b8ee
Branch: refs/heads/hive-14535
Commit: 98b0b8ee88a35fd5517dad82505a9651262c69c7
Parents: a057e12 19999da
Author: Sergey Shelukhin <se...@apache.org>
Authored: Thu Oct 20 15:02:43 2016 -0700
Committer: Sergey Shelukhin <se...@apache.org>
Committed: Thu Oct 20 15:02:43 2016 -0700
----------------------------------------------------------------------
beeline/src/main/resources/BeeLine.properties | 2 +-
.../org/apache/hive/jdbc/miniHS2/MiniHS2.java | 71 +-
.../BeelineWithHS2ConnectionFileTestBase.java | 218 +
.../TestBeelineConnectionUsingHiveSite.java | 9 +-
.../TestBeelineWithHS2ConnectionFile.java | 214 -
.../TestBeelineWithUserHs2ConnectionFile.java | 3 +-
.../apache/hive/jdbc/TestJdbcWithMiniHS2.java | 7 +-
.../test/java/org/apache/hive/jdbc/TestSSL.java | 9 +-
.../jdbc/TestServiceDiscoveryWithMiniHS2.java | 6 +-
.../org/apache/hive/jdbc/TestXSRFFilter.java | 14 +-
.../test/resources/testconfiguration.properties | 14 +-
.../org/apache/hadoop/hive/ql/QTestUtil.java | 45 +-
metastore/if/hive_metastore.thrift | 3 +-
.../gen/thrift/gen-cpp/hive_metastore_types.cpp | 22 +
.../gen/thrift/gen-cpp/hive_metastore_types.h | 12 +-
.../hive/metastore/api/LockComponent.java | 109 +-
.../src/gen/thrift/gen-php/metastore/Types.php | 23 +
.../gen/thrift/gen-py/hive_metastore/ttypes.py | 15 +-
.../gen/thrift/gen-rb/hive_metastore_types.rb | 4 +-
pom.xml | 14 +-
.../hive/ql/udf/generic/GenericUDAFSum.java | 16 +-
.../queries/clientpositive/acid_globallimit.q | 2 +-
.../queries/clientpositive/acid_table_stats.q | 1 +
ql/src/test/queries/clientpositive/cte_1.q | 32 +-
ql/src/test/queries/clientpositive/cte_2.q | 5 +
.../clientpositive/current_date_timestamp.q | 102 +
.../queries/clientpositive/decimal_precision.q | 7 +
.../queries/clientpositive/join_acid_non_acid.q | 10 +
.../test/queries/clientpositive/lvj_mapjoin.q | 9 +
.../test/queries/clientpositive/orc_ppd_basic.q | 48 +
.../schema_evol_orc_acid_part_update.q | 42 +
.../queries/clientpositive/vectorization_0.q | 67 +
.../clientpositive/acid_table_stats.q.out | 13 +
ql/src/test/results/clientpositive/cte_1.q.out | 18948 +++++++++++
ql/src/test/results/clientpositive/cte_2.q.out | 28 +
.../clientpositive/current_date_timestamp.q.out | 350 +
.../clientpositive/decimal_precision.q.out | 36 +
.../clientpositive/llap/acid_globallimit.q.out | 24 +-
.../results/clientpositive/llap/cte_1.q.out | 18948 +++++++++++
.../results/clientpositive/llap/cte_2.q.out | 28 +
.../llap/join_acid_non_acid.q.out | 16 +
.../clientpositive/llap/lvj_mapjoin.q.out | 47 +
.../clientpositive/llap/orc_ppd_basic.q.out | 220 +
.../llap/schema_evol_orc_acid_part_update.q.out | 1148 +
.../clientpositive/llap/vectorization_0.q.out | 29603 ++++++++++++++++
.../clientpositive/spark/vectorization_0.q.out | 29599 ++++++++++++++++
.../clientpositive/vectorization_0.q.out | 29871 +++++++++++++++++
.../ptest2/src/main/resources/batch-exec.vm | 2 -
48 files changed, 129744 insertions(+), 292 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/98b0b8ee/metastore/if/hive_metastore.thrift
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/98b0b8ee/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/98b0b8ee/metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/98b0b8ee/metastore/src/gen/thrift/gen-php/metastore/Types.php
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/98b0b8ee/metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/98b0b8ee/metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb
----------------------------------------------------------------------
[21/23] hive git commit: HIVE-15019 : handle import for MM tables
(Sergey Shelukhin)
Posted by se...@apache.org.
HIVE-15019 : handle import for MM tables (Sergey Shelukhin)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/8004f71e
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/8004f71e
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/8004f71e
Branch: refs/heads/hive-14535
Commit: 8004f71e50c682a664215e04e2b387195c5932da
Parents: 98b0b8e
Author: Sergey Shelukhin <se...@apache.org>
Authored: Thu Oct 20 15:05:24 2016 -0700
Committer: Sergey Shelukhin <se...@apache.org>
Committed: Thu Oct 20 15:05:24 2016 -0700
----------------------------------------------------------------------
.../hadoop/hive/common/ValidWriteIds.java | 15 +-
.../org/apache/hadoop/hive/conf/HiveConf.java | 2 +
.../hadoop/hive/metastore/HiveMetaStore.java | 3 +
.../apache/hadoop/hive/ql/exec/CopyTask.java | 48 +-
.../org/apache/hadoop/hive/ql/exec/DDLTask.java | 30 +-
.../hive/ql/exec/DependencyCollectionTask.java | 1 -
.../hadoop/hive/ql/exec/ImportCommitTask.java | 65 ++
.../hadoop/hive/ql/exec/ImportCommitWork.java | 48 ++
.../apache/hadoop/hive/ql/exec/MoveTask.java | 10 +-
.../apache/hadoop/hive/ql/exec/TaskFactory.java | 2 +
.../apache/hadoop/hive/ql/metadata/Hive.java | 7 +-
.../hive/ql/parse/DDLSemanticAnalyzer.java | 8 +-
.../apache/hadoop/hive/ql/parse/EximUtil.java | 6 +-
.../hive/ql/parse/ImportSemanticAnalyzer.java | 206 ++++---
.../hive/ql/parse/LoadSemanticAnalyzer.java | 1 -
.../hadoop/hive/ql/parse/SemanticAnalyzer.java | 2 +-
.../hadoop/hive/ql/parse/TaskCompiler.java | 2 +-
.../apache/hadoop/hive/ql/plan/CopyWork.java | 9 +
.../hadoop/hive/ql/plan/CreateTableDesc.java | 14 +-
.../hadoop/hive/ql/plan/LoadTableDesc.java | 14 +-
ql/src/test/queries/clientpositive/mm_all.q | 119 +++-
ql/src/test/queries/clientpositive/mm_current.q | 83 ++-
.../results/clientpositive/llap/mm_all.q.out | 586 +++++++++++++++++--
.../clientpositive/llap/mm_current.q.out | 447 ++++++--------
24 files changed, 1209 insertions(+), 519 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/common/src/java/org/apache/hadoop/hive/common/ValidWriteIds.java
----------------------------------------------------------------------
diff --git a/common/src/java/org/apache/hadoop/hive/common/ValidWriteIds.java b/common/src/java/org/apache/hadoop/hive/common/ValidWriteIds.java
index 7ef4f55..df0278c 100644
--- a/common/src/java/org/apache/hadoop/hive/common/ValidWriteIds.java
+++ b/common/src/java/org/apache/hadoop/hive/common/ValidWriteIds.java
@@ -137,7 +137,20 @@ public class ValidWriteIds {
}
}
-
+ public static class AnyIdDirFilter implements PathFilter {
+ @Override
+ public boolean accept(Path path) {
+ String name = path.getName();
+ if (!name.startsWith(MM_PREFIX + "_")) return false;
+ String idStr = name.substring(MM_PREFIX.length() + 1);
+ try {
+ Long.parseLong(idStr);
+ } catch (NumberFormatException ex) {
+ return false;
+ }
+ return true;
+ }
+ }
public static Long extractWriteId(Path file) {
String fileName = file.getName();
String[] parts = fileName.split("_", 3);
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
----------------------------------------------------------------------
diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
index ccc29f8..8a00f07 100644
--- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
+++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
@@ -1209,6 +1209,8 @@ public class HiveConf extends Configuration {
HIVETESTMODE("hive.test.mode", false,
"Whether Hive is running in test mode. If yes, it turns on sampling and prefixes the output tablename.",
false),
+ HIVEEXIMTESTMODE("hive.exim.test.mode", false,
+ "The subset of test mode that only enables custom path handling for ExIm.", false),
HIVETESTMODEPREFIX("hive.test.mode.prefix", "test_",
"In test mode, specfies prefixes for the output table", false),
HIVETESTMODESAMPLEFREQ("hive.test.mode.samplefreq", 32,
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
----------------------------------------------------------------------
diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
index 9f16eb2..4436f3a 100644
--- a/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
+++ b/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
@@ -6570,6 +6570,9 @@ public class HiveMetaStore extends ThriftHiveMetastore {
private MTableWrite getActiveTableWrite(RawStore ms, String dbName,
String tblName, long writeId) throws MetaException {
MTableWrite tw = ms.getTableWrite(dbName, tblName, writeId);
+ if (tw == null) {
+ return null;
+ }
assert tw.getState().length() == 1;
char state = tw.getState().charAt(0);
if (state != MM_WRITE_OPEN) {
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/java/org/apache/hadoop/hive/ql/exec/CopyTask.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/CopyTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/CopyTask.java
index cbe0aca..a8a44bc 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/CopyTask.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/CopyTask.java
@@ -18,14 +18,20 @@
package org.apache.hadoop.hive.ql.exec;
+import java.io.FileNotFoundException;
+import java.io.IOException;
import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.fs.PathFilter;
import org.apache.hadoop.hive.common.FileUtils;
+import org.apache.hadoop.hive.common.ValidWriteIds;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.ql.DriverContext;
import org.apache.hadoop.hive.ql.parse.LoadSemanticAnalyzer;
@@ -37,7 +43,6 @@ import org.apache.hadoop.util.StringUtils;
* CopyTask implementation.
**/
public class CopyTask extends Task<CopyWork> implements Serializable {
-
private static final long serialVersionUID = 1L;
private static transient final Logger LOG = LoggerFactory.getLogger(CopyTask.class);
@@ -60,7 +65,7 @@ public class CopyTask extends Task<CopyWork> implements Serializable {
FileSystem srcFs = fromPath.getFileSystem(conf);
dstFs = toPath.getFileSystem(conf);
- FileStatus[] srcs = LoadSemanticAnalyzer.matchFilesOrDir(srcFs, fromPath);
+ FileStatus[] srcs = matchFilesOrDir(srcFs, fromPath, work.isSourceMm());
if (srcs == null || srcs.length == 0) {
if (work.isErrorOnSrcEmpty()) {
console.printError("No files matching path: " + fromPath.toString());
@@ -97,6 +102,45 @@ public class CopyTask extends Task<CopyWork> implements Serializable {
}
}
+ // Note: initially copied from LoadSemanticAnalyzer.
+ private static FileStatus[] matchFilesOrDir(
+ FileSystem fs, Path path, boolean isSourceMm) throws IOException {
+ if (!isSourceMm) return matchFilesOneDir(fs, path, null);
+ // TODO: this doesn't handle list bucketing properly. Does the original exim do that?
+ FileStatus[] mmDirs = fs.listStatus(path, new ValidWriteIds.AnyIdDirFilter());
+ if (mmDirs == null || mmDirs.length == 0) return null;
+ List<FileStatus> allFiles = new ArrayList<FileStatus>();
+ for (FileStatus mmDir : mmDirs) {
+ Utilities.LOG14535.info("Found source MM directory " + mmDir.getPath());
+ matchFilesOneDir(fs, mmDir.getPath(), allFiles);
+ }
+ return allFiles.toArray(new FileStatus[allFiles.size()]);
+ }
+
+ private static FileStatus[] matchFilesOneDir(
+ FileSystem fs, Path path, List<FileStatus> result) throws IOException {
+ FileStatus[] srcs = fs.globStatus(path, new EximPathFilter());
+ if (srcs != null && srcs.length == 1) {
+ if (srcs[0].isDirectory()) {
+ srcs = fs.listStatus(srcs[0].getPath(), FileUtils.HIDDEN_FILES_PATH_FILTER);
+ }
+ }
+ if (result != null && srcs != null) {
+ for (int i = 0; i < srcs.length; ++i) {
+ result.add(srcs[i]);
+ }
+ }
+ return srcs;
+ }
+
+ private static final class EximPathFilter implements PathFilter {
+ @Override
+ public boolean accept(Path p) {
+ String name = p.getName();
+ return name.equals("_metadata") ? true : !name.startsWith("_") && !name.startsWith(".");
+ }
+ }
+
@Override
public StageType getType() {
return StageType.COPY;
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
index bb9eaf5..1f89f27 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
@@ -4045,7 +4045,7 @@ public class DDLTask extends Task<DDLWork> implements Serializable {
tbl.getDataLocation());
// create the table
- if (crtTbl.getReplaceMode()){
+ if (crtTbl.getReplaceMode()) {
// replace-mode creates are really alters using CreateTableDesc.
try {
db.alterTable(tbl.getDbName()+"."+tbl.getTableName(),tbl,null);
@@ -4059,28 +4059,36 @@ public class DDLTask extends Task<DDLWork> implements Serializable {
} else {
db.createTable(tbl, crtTbl.getIfNotExists());
}
- if (crtTbl.isCTAS()) {
+ Long mmWriteId = crtTbl.getInitialMmWriteId();
+ if (crtTbl.isCTAS() || mmWriteId != null) {
Table createdTable = db.getTable(tbl.getDbName(), tbl.getTableName());
- if (crtTbl.getInitialWriteId() != null) {
+ if (mmWriteId != null) {
// TODO# this would be retrieved via ACID before the query runs; for now we rely on it
// being zero at start; we can't create a write ID before we create the table here.
long initialWriteId = db.getNextTableWriteId(tbl.getDbName(), tbl.getTableName());
- if (initialWriteId != crtTbl.getInitialWriteId()) {
- throw new HiveException("Initial write ID mismatch - expected "
- + crtTbl.getInitialWriteId() + " but got " + initialWriteId);
+ if (initialWriteId != mmWriteId) {
+ throw new HiveException("Initial write ID mismatch - expected " + mmWriteId
+ + " but got " + initialWriteId);
+ }
+ // CTAS create the table on a directory that already exists; import creates the table
+ // first (in parallel with copies?), then commits after all the loads.
+ if (crtTbl.isCTAS()) {
+ db.commitMmTableWrite(tbl, initialWriteId);
}
- db.commitMmTableWrite(tbl, initialWriteId);
}
- DataContainer dc = new DataContainer(createdTable.getTTable());
- SessionState.get().getLineageState().setLineage(
- createdTable.getPath(), dc, createdTable.getCols()
- );
+ if (crtTbl.isCTAS()) {
+ DataContainer dc = new DataContainer(createdTable.getTTable());
+ SessionState.get().getLineageState().setLineage(
+ createdTable.getPath(), dc, createdTable.getCols()
+ );
+ }
}
}
work.getOutputs().add(new WriteEntity(tbl, WriteEntity.WriteType.DDL_NO_LOCK));
return 0;
}
+
/**
* Create a new table like an existing table.
*
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/java/org/apache/hadoop/hive/ql/exec/DependencyCollectionTask.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/DependencyCollectionTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/DependencyCollectionTask.java
index 9189cfc..e639572 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/DependencyCollectionTask.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/DependencyCollectionTask.java
@@ -20,7 +20,6 @@ package org.apache.hadoop.hive.ql.exec;
import java.io.Serializable;
-import org.apache.hadoop.hive.ql.Context;
import org.apache.hadoop.hive.ql.DriverContext;
import org.apache.hadoop.hive.ql.plan.DependencyCollectionWork;
import org.apache.hadoop.hive.ql.plan.api.StageType;
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/java/org/apache/hadoop/hive/ql/exec/ImportCommitTask.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/ImportCommitTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/ImportCommitTask.java
new file mode 100644
index 0000000..efa9bc3
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/ImportCommitTask.java
@@ -0,0 +1,65 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.exec;
+
+import org.apache.hadoop.hive.ql.DriverContext;
+import org.apache.hadoop.hive.ql.metadata.Hive;
+import org.apache.hadoop.hive.ql.metadata.Table;
+import org.apache.hadoop.hive.ql.parse.ExplainConfiguration.AnalyzeState;
+import org.apache.hadoop.hive.ql.plan.api.StageType;
+import org.apache.hadoop.util.StringUtils;
+
+public class ImportCommitTask extends Task<ImportCommitWork> {
+
+ private static final long serialVersionUID = 1L;
+
+ public ImportCommitTask() {
+ super();
+ }
+
+ @Override
+ public int execute(DriverContext driverContext) {
+ Utilities.LOG14535.info("Executing ImportCommit for " + work.getMmWriteId());
+
+ try {
+ if (driverContext.getCtx().getExplainAnalyze() == AnalyzeState.RUNNING) {
+ return 0;
+ }
+ Hive db = getHive();
+ Table tbl = db.getTable(work.getDbName(), work.getTblName());
+ db.commitMmTableWrite(tbl, work.getMmWriteId());
+ return 0;
+ } catch (Exception e) {
+ console.printError("Failed with exception " + e.getMessage(), "\n"
+ + StringUtils.stringifyException(e));
+ setException(e);
+ return 1;
+ }
+ }
+
+ @Override
+ public StageType getType() {
+ return StageType.MOVE; // The commit for import is normally done as part of MoveTask.
+ }
+
+ @Override
+ public String getName() {
+ return "IMPORT_COMMIT";
+ }
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/java/org/apache/hadoop/hive/ql/exec/ImportCommitWork.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/ImportCommitWork.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/ImportCommitWork.java
new file mode 100644
index 0000000..f62d237
--- /dev/null
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/ImportCommitWork.java
@@ -0,0 +1,48 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hive.ql.exec;
+
+import java.io.Serializable;
+
+import org.apache.hadoop.hive.ql.plan.Explain;
+import org.apache.hadoop.hive.ql.plan.Explain.Level;
+
+@Explain(displayName = "Import Commit", explainLevels = { Level.USER, Level.DEFAULT, Level.EXTENDED })
+public class ImportCommitWork implements Serializable {
+ private static final long serialVersionUID = 1L;
+ private String dbName, tblName;
+ private long mmWriteId;
+
+ public ImportCommitWork(String dbName, String tblName, long mmWriteId) {
+ this.mmWriteId = mmWriteId;
+ this.dbName = dbName;
+ this.tblName = tblName;
+ }
+
+ public long getMmWriteId() {
+ return mmWriteId;
+ }
+
+ public String getDbName() {
+ return dbName;
+ }
+
+ public String getTblName() {
+ return tblName;
+ }
+}
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/java/org/apache/hadoop/hive/ql/exec/MoveTask.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/MoveTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/MoveTask.java
index eea4357..99c52fa 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/MoveTask.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/MoveTask.java
@@ -326,6 +326,10 @@ public class MoveTask extends Task<MoveWork> implements Serializable {
if (tbd.getPartitionSpec().size() == 0) {
dc = new DataContainer(table.getTTable());
Utilities.LOG14535.info("loadTable called from " + tbd.getSourcePath() + " into " + tbd.getTable().getTableName());
+ if (tbd.isMmTable() && !tbd.isCommitMmWrite()) {
+ throw new HiveException(
+ "Only single-partition LoadTableDesc can skip commiting write ID");
+ }
db.loadTable(tbd.getSourcePath(), tbd.getTable().getTableName(), tbd.getReplace(),
work.isSrcLocal(), isSkewedStoredAsDirs(tbd), isAcid, hasFollowingStatsTask(),
tbd.getMmWriteId());
@@ -386,12 +390,13 @@ public class MoveTask extends Task<MoveWork> implements Serializable {
db.validatePartitionNameCharacters(partVals);
Utilities.LOG14535.info("loadPartition called from " + tbd.getSourcePath()
+ " into " + tbd.getTable().getTableName());
+ boolean isCommitMmWrite = tbd.isCommitMmWrite();
db.loadSinglePartition(tbd.getSourcePath(), tbd.getTable().getTableName(),
tbd.getPartitionSpec(), tbd.getReplace(),
tbd.getInheritTableSpecs(), isSkewedStoredAsDirs(tbd), work.isSrcLocal(),
(work.getLoadTableWork().getWriteType() != AcidUtils.Operation.NOT_ACID &&
work.getLoadTableWork().getWriteType() != AcidUtils.Operation.INSERT_ONLY),
- hasFollowingStatsTask(), tbd.getMmWriteId());
+ hasFollowingStatsTask(), tbd.getMmWriteId(), isCommitMmWrite);
Partition partn = db.getPartition(table, tbd.getPartitionSpec(), false);
if (ti.bucketCols != null || ti.sortCols != null) {
@@ -428,6 +433,9 @@ public class MoveTask extends Task<MoveWork> implements Serializable {
// iterate over it and call loadPartition() here.
// The reason we don't do inside HIVE-1361 is the latter is large and we
// want to isolate any potential issue it may introduce.
+ if (tbd.isMmTable() && !tbd.isCommitMmWrite()) {
+ throw new HiveException("Only single-partition LoadTableDesc can skip commiting write ID");
+ }
Map<Map<String, String>, Partition> dp =
db.loadDynamicPartitions(
tbd.getSourcePath(),
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/java/org/apache/hadoop/hive/ql/exec/TaskFactory.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/TaskFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/TaskFactory.java
index 14fd61a..822ff41 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/TaskFactory.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/TaskFactory.java
@@ -100,6 +100,8 @@ public final class TaskFactory {
MergeFileTask.class));
taskvec.add(new TaskTuple<DependencyCollectionWork>(DependencyCollectionWork.class,
DependencyCollectionTask.class));
+ taskvec.add(new TaskTuple<ImportCommitWork>(ImportCommitWork.class,
+ ImportCommitTask.class));
taskvec.add(new TaskTuple<PartialScanWork>(PartialScanWork.class,
PartialScanTask.class));
taskvec.add(new TaskTuple<IndexMetadataChangeWork>(IndexMetadataChangeWork.class,
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java b/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
index d6dc2d3..30b22d7 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
@@ -1502,14 +1502,15 @@ public class Hive {
public void loadSinglePartition(Path loadPath, String tableName,
Map<String, String> partSpec, boolean replace, boolean inheritTableSpecs,
boolean isSkewedStoreAsSubdir, boolean isSrcLocal, boolean isAcid,
- boolean hasFollowingStatsTask, Long mmWriteId) throws HiveException {
+ boolean hasFollowingStatsTask, Long mmWriteId, boolean isCommitMmWrite)
+ throws HiveException {
Table tbl = getTable(tableName);
boolean isMmTableWrite = (mmWriteId != null);
Preconditions.checkState(isMmTableWrite == MetaStoreUtils.isMmTable(tbl.getParameters()));
loadPartition(loadPath, tbl, partSpec, replace, inheritTableSpecs,
isSkewedStoreAsSubdir, isSrcLocal, isAcid, hasFollowingStatsTask, mmWriteId);
- if (isMmTableWrite) {
- // The assumption behind committing here is that this partition is the only one outputted
+ if (isMmTableWrite && isCommitMmWrite) {
+ // The assumption behind committing here is that this partition is the only one outputted.
commitMmTableWrite(tbl, mmWriteId);
}
}
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
index 03c2e79..a018b54 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
@@ -1060,10 +1060,10 @@ public class DDLSemanticAnalyzer extends BaseSemanticAnalyzer {
// so the operation is atomic.
Path queryTmpdir = ctx.getExternalTmpPath(newTblPartLoc);
truncateTblDesc.setOutputDir(queryTmpdir);
+ // TODO# movetask is created here; handle MM tables
LoadTableDesc ltd = new LoadTableDesc(queryTmpdir, tblDesc,
- partSpec == null ? new HashMap<String, String>() : partSpec);
+ partSpec == null ? new HashMap<String, String>() : partSpec, null);
ltd.setLbCtx(lbCtx);
- // TODO# movetask is created here; handle MM tables
Task<MoveWork> moveTsk = TaskFactory.get(new MoveWork(null, null, ltd, null, false),
conf);
truncateTask.addDependentTask(moveTsk);
@@ -1677,10 +1677,10 @@ public class DDLSemanticAnalyzer extends BaseSemanticAnalyzer {
TableDesc tblDesc = Utilities.getTableDesc(tblObj);
Path queryTmpdir = ctx.getExternalTmpPath(newTblPartLoc);
mergeDesc.setOutputDir(queryTmpdir);
+ // No need to handle MM tables - unsupported path.
LoadTableDesc ltd = new LoadTableDesc(queryTmpdir, tblDesc,
- partSpec == null ? new HashMap<String, String>() : partSpec);
+ partSpec == null ? new HashMap<String, String>() : partSpec, null);
ltd.setLbCtx(lbCtx);
- // No need to handle MM tables - unsupported path.
Task<MoveWork> moveTsk = TaskFactory.get(new MoveWork(null, null, ltd, null, false), conf);
mergeTask.addDependentTask(moveTsk);
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/java/org/apache/hadoop/hive/ql/parse/EximUtil.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/EximUtil.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/EximUtil.java
index 167f7a5..3826d9f 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/EximUtil.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/EximUtil.java
@@ -74,7 +74,8 @@ public class EximUtil {
*/
static URI getValidatedURI(HiveConf conf, String dcPath) throws SemanticException {
try {
- boolean testMode = conf.getBoolVar(HiveConf.ConfVars.HIVETESTMODE);
+ boolean testMode = conf.getBoolVar(HiveConf.ConfVars.HIVETESTMODE)
+ || conf.getBoolVar(HiveConf.ConfVars.HIVEEXIMTESTMODE);
URI uri = new Path(dcPath).toUri();
String scheme = uri.getScheme();
String authority = uri.getAuthority();
@@ -136,7 +137,8 @@ public class EximUtil {
}
public static String relativeToAbsolutePath(HiveConf conf, String location) throws SemanticException {
- boolean testMode = conf.getBoolVar(HiveConf.ConfVars.HIVETESTMODE);
+ boolean testMode = conf.getBoolVar(HiveConf.ConfVars.HIVETESTMODE)
+ || conf.getBoolVar(HiveConf.ConfVars.HIVEEXIMTESTMODE);
if (testMode) {
URI uri = new Path(location).toUri();
String scheme = uri.getScheme();
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/java/org/apache/hadoop/hive/ql/parse/ImportSemanticAnalyzer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/ImportSemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/ImportSemanticAnalyzer.java
index 043de2f..2a525e7 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/ImportSemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/ImportSemanticAnalyzer.java
@@ -38,7 +38,9 @@ import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hive.common.FileUtils;
import org.apache.hadoop.hive.common.StatsSetupConst;
+import org.apache.hadoop.hive.common.ValidWriteIds;
import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.metastore.MetaStoreUtils;
import org.apache.hadoop.hive.metastore.TableType;
import org.apache.hadoop.hive.metastore.Warehouse;
import org.apache.hadoop.hive.metastore.api.Database;
@@ -48,6 +50,7 @@ import org.apache.hadoop.hive.metastore.api.Order;
import org.apache.hadoop.hive.metastore.api.Partition;
import org.apache.hadoop.hive.ql.ErrorMsg;
import org.apache.hadoop.hive.ql.QueryState;
+import org.apache.hadoop.hive.ql.exec.ImportCommitWork;
import org.apache.hadoop.hive.ql.exec.Task;
import org.apache.hadoop.hive.ql.exec.TaskFactory;
import org.apache.hadoop.hive.ql.exec.Utilities;
@@ -121,6 +124,7 @@ public class ImportSemanticAnalyzer extends BaseSemanticAnalyzer {
}
// get partition metadata if partition specified
if (child.getChildCount() == 2) {
+ @SuppressWarnings("unused") // TODO: wtf?
ASTNode partspec = (ASTNode) child.getChild(1);
isPartSpecSet = true;
parsePartitionSpec(child, parsedPartSpec);
@@ -158,9 +162,13 @@ public class ImportSemanticAnalyzer extends BaseSemanticAnalyzer {
// Create table associated with the import
// Executed if relevant, and used to contain all the other details about the table if not.
- CreateTableDesc tblDesc = getBaseCreateTableDescFromTable(dbname,rv.getTable());
+ CreateTableDesc tblDesc = getBaseCreateTableDescFromTable(dbname, rv.getTable());
+ boolean isSourceMm = MetaStoreUtils.isMmTable(tblDesc.getTblProps());
- if (isExternalSet){
+ if (isExternalSet) {
+ if (isSourceMm) {
+ throw new SemanticException("Cannot import an MM table as external");
+ }
tblDesc.setExternal(isExternalSet);
// This condition-check could have been avoided, but to honour the old
// default of not calling if it wasn't set, we retain that behaviour.
@@ -219,21 +227,32 @@ public class ImportSemanticAnalyzer extends BaseSemanticAnalyzer {
Table table = tableIfExists(tblDesc);
if (table != null){
- checkTable(table, tblDesc,replicationSpec);
+ checkTable(table, tblDesc, replicationSpec);
LOG.debug("table " + tblDesc.getTableName() + " exists: metadata checked");
tableExists = true;
}
+ Long mmWriteId = null;
+ if (table != null && MetaStoreUtils.isMmTable(table.getParameters())) {
+ mmWriteId = db.getNextTableWriteId(table.getDbName(), table.getTableName());
+ } else if (table == null && isSourceMm) {
+ // We could import everything as is - directories and IDs, but that won't work with ACID
+ // txn ids in future. So, let's import everything into the new MM directory with ID == 0.
+ mmWriteId = 0l;
+ }
+ if (mmWriteId != null) {
+ tblDesc.setInitialMmWriteId(mmWriteId);
+ }
if (!replicationSpec.isInReplicationScope()){
createRegularImportTasks(
rootTasks, tblDesc, partitionDescs,
isPartSpecSet, replicationSpec, table,
- fromURI, fs, wh);
+ fromURI, fs, wh, mmWriteId, isSourceMm);
} else {
createReplImportTasks(
rootTasks, tblDesc, partitionDescs,
isPartSpecSet, replicationSpec, table,
- fromURI, fs, wh);
+ fromURI, fs, wh, mmWriteId, isSourceMm);
}
} catch (SemanticException e) {
throw e;
@@ -318,45 +337,42 @@ public class ImportSemanticAnalyzer extends BaseSemanticAnalyzer {
return tblDesc;
}
- private Task<?> loadTable(URI fromURI, Table table, boolean replace, Path tgtPath) {
+ private Task<?> loadTable(URI fromURI, Table table, boolean replace, Path tgtPath,
+ Long mmWriteId, boolean isSourceMm) {
Path dataPath = new Path(fromURI.toString(), "data");
- Path tmpPath = ctx.getExternalTmpPath(tgtPath);
- Task<?> copyTask = TaskFactory.get(new CopyWork(dataPath,
- tmpPath, false), conf);
- // TODO# we assume mm=false here
- LoadTableDesc loadTableWork = new LoadTableDesc(tmpPath,
- Utilities.getTableDesc(table), new TreeMap<String, String>(),
- replace, null);
- Task<?> loadTableTask = TaskFactory.get(new MoveWork(getInputs(),
- getOutputs(), loadTableWork, null, false), conf);
+ Path destPath = mmWriteId == null ? ctx.getExternalTmpPath(tgtPath)
+ : new Path(tgtPath, ValidWriteIds.getMmFilePrefix(mmWriteId));
+ Utilities.LOG14535.info("adding import work for table with source location: "
+ + dataPath + "; table: " + tgtPath + "; copy destination " + destPath + "; mm "
+ + mmWriteId + " (src " + isSourceMm + ") for " + (table == null ? "a new table" : table.getTableName()));
+
+ CopyWork cv = new CopyWork(dataPath, destPath, false);
+ cv.setIsSourceMm(isSourceMm);
+ LoadTableDesc loadTableWork = new LoadTableDesc(destPath,
+ Utilities.getTableDesc(table), new TreeMap<String, String>(), replace, mmWriteId);
+ MoveWork mv = new MoveWork(getInputs(), getOutputs(), loadTableWork, null, false);
+ @SuppressWarnings("unchecked")
+ Task<?> loadTableTask = TaskFactory.get(mv, conf), copyTask = TaskFactory.get(cv, conf);
copyTask.addDependentTask(loadTableTask);
rootTasks.add(copyTask);
return loadTableTask;
}
+ @SuppressWarnings("unchecked")
private Task<?> createTableTask(CreateTableDesc tableDesc){
- return TaskFactory.get(new DDLWork(
- getInputs(),
- getOutputs(),
- tableDesc
- ), conf);
+ return TaskFactory.get(new DDLWork(getInputs(), getOutputs(), tableDesc), conf);
}
+ @SuppressWarnings("unchecked")
private Task<?> dropTableTask(Table table){
- return TaskFactory.get(new DDLWork(
- getInputs(),
- getOutputs(),
- new DropTableDesc(table.getTableName(), null, true, true, null)
- ), conf);
+ return TaskFactory.get(new DDLWork(getInputs(), getOutputs(),
+ new DropTableDesc(table.getTableName(), null, true, true, null)), conf);
}
+ @SuppressWarnings("unchecked")
private Task<? extends Serializable> alterTableTask(CreateTableDesc tableDesc) {
tableDesc.setReplaceMode(true);
- return TaskFactory.get(new DDLWork(
- getInputs(),
- getOutputs(),
- tableDesc
- ), conf);
+ return TaskFactory.get(new DDLWork(getInputs(), getOutputs(), tableDesc), conf);
}
private Task<? extends Serializable> alterSinglePartition(
@@ -365,50 +381,54 @@ public class ImportSemanticAnalyzer extends BaseSemanticAnalyzer {
ReplicationSpec replicationSpec, org.apache.hadoop.hive.ql.metadata.Partition ptn) {
addPartitionDesc.setReplaceMode(true);
addPartitionDesc.getPartition(0).setLocation(ptn.getLocation()); // use existing location
- return TaskFactory.get(new DDLWork(
- getInputs(),
- getOutputs(),
- addPartitionDesc
- ), conf);
+ @SuppressWarnings("unchecked")
+ Task<?> r = TaskFactory.get(new DDLWork(getInputs(), getOutputs(), addPartitionDesc), conf);
+ return r;
}
private Task<?> addSinglePartition(URI fromURI, FileSystem fs, CreateTableDesc tblDesc,
- Table table, Warehouse wh,
- AddPartitionDesc addPartitionDesc, ReplicationSpec replicationSpec)
+ Table table, Warehouse wh, AddPartitionDesc addPartitionDesc,
+ ReplicationSpec replicationSpec, Long mmWriteId, boolean isSourceMm, Task<?> commitTask)
throws MetaException, IOException, HiveException {
AddPartitionDesc.OnePartitionDesc partSpec = addPartitionDesc.getPartition(0);
if (tblDesc.isExternal() && tblDesc.getLocation() == null) {
LOG.debug("Importing in-place: adding AddPart for partition "
+ partSpecToString(partSpec.getPartSpec()));
// addPartitionDesc already has the right partition location
+ @SuppressWarnings("unchecked")
Task<?> addPartTask = TaskFactory.get(new DDLWork(getInputs(),
getOutputs(), addPartitionDesc), conf);
return addPartTask;
} else {
String srcLocation = partSpec.getLocation();
fixLocationInPartSpec(fs, tblDesc, table, wh, replicationSpec, partSpec);
- LOG.debug("adding dependent CopyWork/AddPart/MoveWork for partition "
- + partSpecToString(partSpec.getPartSpec())
- + " with source location: " + srcLocation);
Path tgtLocation = new Path(partSpec.getLocation());
- Path tmpPath = ctx.getExternalTmpPath(tgtLocation);
- Task<?> copyTask = TaskFactory.get(new CopyWork(new Path(srcLocation),
- tmpPath, false), conf);
- Task<?> addPartTask = TaskFactory.get(new DDLWork(getInputs(),
- getOutputs(), addPartitionDesc), conf);
- // TODO# we assume mm=false here
- LoadTableDesc loadTableWork = new LoadTableDesc(tmpPath,
- Utilities.getTableDesc(table),
- partSpec.getPartSpec(), true, null);
+ Path destPath = mmWriteId == null ? ctx.getExternalTmpPath(tgtLocation)
+ : new Path(tgtLocation, ValidWriteIds.getMmFilePrefix(mmWriteId));
+ Path moveTaskSrc = mmWriteId == null ? destPath : tgtLocation;
+ Utilities.LOG14535.info("adding import work for partition with source location: "
+ + srcLocation + "; target: " + tgtLocation + "; copy dest " + destPath + "; mm "
+ + mmWriteId + " (src " + isSourceMm + ") for " + partSpecToString(partSpec.getPartSpec()));
+ CopyWork cw = new CopyWork(new Path(srcLocation), destPath, false);
+ cw.setIsSourceMm(isSourceMm);
+ DDLWork dw = new DDLWork(getInputs(), getOutputs(), addPartitionDesc);
+ LoadTableDesc loadTableWork = new LoadTableDesc(moveTaskSrc, Utilities.getTableDesc(table),
+ partSpec.getPartSpec(), true, mmWriteId);
loadTableWork.setInheritTableSpecs(false);
- // TODO# movetask is created here; handle MM tables
- Task<?> loadPartTask = TaskFactory.get(new MoveWork(
- getInputs(), getOutputs(), loadTableWork, null, false),
- conf);
+ // Do not commit the write ID from each task; need to commit once.
+ // TODO: we should just change the import to use a single MoveTask, like dynparts.
+ loadTableWork.setIntermediateInMmWrite(mmWriteId != null);
+ MoveWork mv = new MoveWork(getInputs(), getOutputs(), loadTableWork, null, false);
+ @SuppressWarnings("unchecked")
+ Task<?> copyTask = TaskFactory.get(cw, conf), addPartTask = TaskFactory.get(dw, conf),
+ loadPartTask = TaskFactory.get(mv, conf);
copyTask.addDependentTask(loadPartTask);
addPartTask.addDependentTask(loadPartTask);
rootTasks.add(copyTask);
+ if (commitTask != null) {
+ loadPartTask.addDependentTask(commitTask);
+ }
return addPartTask;
}
}
@@ -572,13 +592,11 @@ public class ImportSemanticAnalyzer extends BaseSemanticAnalyzer {
Class<? extends OutputFormat> replaced = HiveFileFormatUtils
.getOutputFormatSubstitute(origin);
if (replaced == null) {
- throw new SemanticException(ErrorMsg.INVALID_OUTPUT_FORMAT_TYPE
- .getMsg());
+ throw new SemanticException(ErrorMsg.INVALID_OUTPUT_FORMAT_TYPE.getMsg());
}
importedofc = replaced.getCanonicalName();
} catch(Exception e) {
- throw new SemanticException(ErrorMsg.INVALID_OUTPUT_FORMAT_TYPE
- .getMsg());
+ throw new SemanticException(ErrorMsg.INVALID_OUTPUT_FORMAT_TYPE.getMsg());
}
if ((!existingifc.equals(importedifc))
|| (!existingofc.equals(importedofc))) {
@@ -685,43 +703,42 @@ public class ImportSemanticAnalyzer extends BaseSemanticAnalyzer {
/**
* Create tasks for regular import, no repl complexity
*/
- private void createRegularImportTasks(
- List<Task<? extends Serializable>> rootTasks,
- CreateTableDesc tblDesc,
- List<AddPartitionDesc> partitionDescs,
- boolean isPartSpecSet,
- ReplicationSpec replicationSpec,
- Table table, URI fromURI, FileSystem fs, Warehouse wh)
+ private void createRegularImportTasks(List<Task<? extends Serializable>> rootTasks,
+ CreateTableDesc tblDesc, List<AddPartitionDesc> partitionDescs, boolean isPartSpecSet,
+ ReplicationSpec replicationSpec, Table table, URI fromURI, FileSystem fs, Warehouse wh,
+ Long mmWriteId, boolean isSourceMm)
throws HiveException, URISyntaxException, IOException, MetaException {
- if (table != null){
+ if (table != null) {
if (table.isPartitioned()) {
LOG.debug("table partitioned");
+ Task<?> ict = createImportCommitTask(table.getDbName(), table.getTableName(), mmWriteId);
for (AddPartitionDesc addPartitionDesc : partitionDescs) {
Map<String, String> partSpec = addPartitionDesc.getPartition(0).getPartSpec();
org.apache.hadoop.hive.ql.metadata.Partition ptn = null;
if ((ptn = db.getPartition(table, partSpec, false)) == null) {
- rootTasks.add(addSinglePartition(fromURI, fs, tblDesc, table, wh, addPartitionDesc, replicationSpec));
+ rootTasks.add(addSinglePartition(fromURI, fs, tblDesc, table, wh, addPartitionDesc,
+ replicationSpec, mmWriteId, isSourceMm, ict));
} else {
throw new SemanticException(
ErrorMsg.PARTITION_EXISTS.getMsg(partSpecToString(partSpec)));
}
}
-
} else {
LOG.debug("table non-partitioned");
// ensure if destination is not empty only for regular import
Path tgtPath = new Path(table.getDataLocation().toString());
FileSystem tgtFs = FileSystem.get(tgtPath.toUri(), conf);
checkTargetLocationEmpty(tgtFs, tgtPath, replicationSpec);
- loadTable(fromURI, table, false, tgtPath);
+ loadTable(fromURI, table, false, tgtPath, mmWriteId, isSourceMm);
}
// Set this to read because we can't overwrite any existing partitions
outputs.add(new WriteEntity(table, WriteEntity.WriteType.DDL_NO_LOCK));
} else {
LOG.debug("table " + tblDesc.getTableName() + " does not exist");
+ @SuppressWarnings("unchecked")
Task<?> t = TaskFactory.get(new DDLWork(getInputs(), getOutputs(), tblDesc), conf);
table = new Table(tblDesc.getDatabaseName(), tblDesc.getTableName());
Database parentDb = db.getDatabase(tblDesc.getDatabaseName());
@@ -731,9 +748,11 @@ public class ImportSemanticAnalyzer extends BaseSemanticAnalyzer {
outputs.add(new WriteEntity(parentDb, WriteEntity.WriteType.DDL_SHARED));
if (isPartitioned(tblDesc)) {
+ Task<?> ict = createImportCommitTask(
+ tblDesc.getDatabaseName(), tblDesc.getTableName(), mmWriteId);
for (AddPartitionDesc addPartitionDesc : partitionDescs) {
- t.addDependentTask(
- addSinglePartition(fromURI, fs, tblDesc, table, wh, addPartitionDesc, replicationSpec));
+ t.addDependentTask(addSinglePartition(fromURI, fs, tblDesc, table, wh, addPartitionDesc,
+ replicationSpec, mmWriteId, isSourceMm, ict));
}
} else {
LOG.debug("adding dependent CopyWork/MoveWork for table");
@@ -750,24 +769,30 @@ public class ImportSemanticAnalyzer extends BaseSemanticAnalyzer {
}
FileSystem tgtFs = FileSystem.get(tablePath.toUri(), conf);
checkTargetLocationEmpty(tgtFs, tablePath, replicationSpec);
- t.addDependentTask(loadTable(fromURI, table, false, tablePath));
+ t.addDependentTask(loadTable(fromURI, table, false, tablePath, mmWriteId, isSourceMm));
}
}
rootTasks.add(t);
}
}
+ private Task<?> createImportCommitTask(String dbName, String tblName, Long mmWriteId) {
+ @SuppressWarnings("unchecked")
+ Task<ImportCommitWork> ict = (mmWriteId == null) ? null : TaskFactory.get(
+ new ImportCommitWork(dbName, tblName, mmWriteId), conf);
+ return ict;
+ }
+
/**
* Create tasks for repl import
*/
- private void createReplImportTasks(
- List<Task<? extends Serializable>> rootTasks,
- CreateTableDesc tblDesc,
- List<AddPartitionDesc> partitionDescs,
- boolean isPartSpecSet, ReplicationSpec replicationSpec, Table table, URI fromURI, FileSystem fs, Warehouse wh)
+ private void createReplImportTasks(List<Task<? extends Serializable>> rootTasks,
+ CreateTableDesc tblDesc, List<AddPartitionDesc> partitionDescs, boolean isPartSpecSet,
+ ReplicationSpec replicationSpec, Table table, URI fromURI, FileSystem fs, Warehouse wh,
+ Long mmWriteId, boolean isSourceMm)
throws HiveException, URISyntaxException, IOException, MetaException {
- Task dr = null;
+ Task<?> dr = null;
WriteEntity.WriteType lockType = WriteEntity.WriteType.DDL_NO_LOCK;
if ((table != null) && (isPartitioned(tblDesc) != table.isPartitioned())){
@@ -810,18 +835,21 @@ public class ImportSemanticAnalyzer extends BaseSemanticAnalyzer {
lockType = WriteEntity.WriteType.DDL_SHARED;
}
- Task t = createTableTask(tblDesc);
+ Task<?> t = createTableTask(tblDesc);
table = new Table(tblDesc.getDatabaseName(), tblDesc.getTableName());
if (!replicationSpec.isMetadataOnly()) {
if (isPartitioned(tblDesc)) {
+ Task<?> ict = createImportCommitTask(
+ tblDesc.getDatabaseName(), tblDesc.getTableName(), mmWriteId);
for (AddPartitionDesc addPartitionDesc : partitionDescs) {
- t.addDependentTask(
- addSinglePartition(fromURI, fs, tblDesc, table, wh, addPartitionDesc, replicationSpec));
+ t.addDependentTask(addSinglePartition(fromURI, fs, tblDesc, table, wh,
+ addPartitionDesc, replicationSpec, mmWriteId, isSourceMm, ict));
}
} else {
LOG.debug("adding dependent CopyWork/MoveWork for table");
- t.addDependentTask(loadTable(fromURI, table, true, new Path(tblDesc.getLocation())));
+ t.addDependentTask(loadTable(
+ fromURI, table, true, new Path(tblDesc.getLocation()), mmWriteId, isSourceMm));
}
}
if (dr == null){
@@ -837,22 +865,25 @@ public class ImportSemanticAnalyzer extends BaseSemanticAnalyzer {
if (table.isPartitioned()) {
LOG.debug("table partitioned");
for (AddPartitionDesc addPartitionDesc : partitionDescs) {
-
Map<String, String> partSpec = addPartitionDesc.getPartition(0).getPartSpec();
org.apache.hadoop.hive.ql.metadata.Partition ptn = null;
-
+ Task<?> ict = replicationSpec.isMetadataOnly() ? null : createImportCommitTask(
+ tblDesc.getDatabaseName(), tblDesc.getTableName(), mmWriteId);
if ((ptn = db.getPartition(table, partSpec, false)) == null) {
if (!replicationSpec.isMetadataOnly()){
- rootTasks.add(addSinglePartition(fromURI, fs, tblDesc, table, wh, addPartitionDesc, replicationSpec));
+ rootTasks.add(addSinglePartition(fromURI, fs, tblDesc, table, wh, addPartitionDesc,
+ replicationSpec, mmWriteId, isSourceMm, ict));
}
} else {
// If replicating, then the partition already existing means we need to replace, maybe, if
// the destination ptn's repl.last.id is older than the replacement's.
if (replicationSpec.allowReplacementInto(ptn)){
if (!replicationSpec.isMetadataOnly()){
- rootTasks.add(addSinglePartition(fromURI, fs, tblDesc, table, wh, addPartitionDesc, replicationSpec));
+ rootTasks.add(addSinglePartition(fromURI, fs, tblDesc, table, wh,
+ addPartitionDesc, replicationSpec, mmWriteId, isSourceMm, ict));
} else {
- rootTasks.add(alterSinglePartition(fromURI, fs, tblDesc, table, wh, addPartitionDesc, replicationSpec, ptn));
+ rootTasks.add(alterSinglePartition(fromURI, fs, tblDesc, table, wh,
+ addPartitionDesc, replicationSpec, ptn));
}
if (lockType == WriteEntity.WriteType.DDL_NO_LOCK){
lockType = WriteEntity.WriteType.DDL_SHARED;
@@ -876,7 +907,8 @@ public class ImportSemanticAnalyzer extends BaseSemanticAnalyzer {
return; // silently return, table is newer than our replacement.
}
if (!replicationSpec.isMetadataOnly()) {
- loadTable(fromURI, table, true, new Path(fromURI)); // repl-imports are replace-into
+ // repl-imports are replace-into
+ loadTable(fromURI, table, true, new Path(fromURI), mmWriteId, isSourceMm);
} else {
rootTasks.add(alterTableTask(tblDesc));
}
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/java/org/apache/hadoop/hive/ql/parse/LoadSemanticAnalyzer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/LoadSemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/LoadSemanticAnalyzer.java
index e38b0f7..26274f5 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/LoadSemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/LoadSemanticAnalyzer.java
@@ -261,7 +261,6 @@ public class LoadSemanticAnalyzer extends BaseSemanticAnalyzer {
}
}
- // TODO# movetask is created here; handle MM tables
Long mmWriteId = null;
Table tbl = ts.tableHandle;
if (MetaStoreUtils.isMmTable(tbl.getParameters())) {
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
index f74c0a9..0d83abf 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
@@ -6692,7 +6692,7 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
// TODO# this should really get current ACID txn; assuming ACID works correctly the txn
// should have been opened to create the ACID table. For now use the first ID.
mmWriteId = 0l;
- tblDesc.setInitialWriteId(mmWriteId);
+ tblDesc.setInitialMmWriteId(mmWriteId);
}
} else if (viewDesc != null) {
field_schemas = new ArrayList<FieldSchema>();
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/java/org/apache/hadoop/hive/ql/parse/TaskCompiler.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/TaskCompiler.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/TaskCompiler.java
index e177925..d09e401 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/TaskCompiler.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/TaskCompiler.java
@@ -317,7 +317,7 @@ public abstract class TaskCompiler {
if (pCtx.getQueryProperties().isCTAS()) {
CreateTableDesc ctd = pCtx.getCreateTable();
dataSinkForCtas = ctd.getAndUnsetWriter();
- mmWriteIdForCtas = ctd.getInitialWriteId();
+ mmWriteIdForCtas = ctd.getInitialMmWriteId();
loc = ctd.getLocation();
} else {
loc = pCtx.getCreateViewDesc().getLocation();
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/java/org/apache/hadoop/hive/ql/plan/CopyWork.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/CopyWork.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/CopyWork.java
index 9a4e782..2e484ba 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/CopyWork.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/CopyWork.java
@@ -33,6 +33,7 @@ public class CopyWork implements Serializable {
private Path fromPath;
private Path toPath;
private boolean errorOnSrcEmpty;
+ private boolean isMm = false;
public CopyWork() {
}
@@ -65,4 +66,12 @@ public class CopyWork implements Serializable {
return errorOnSrcEmpty;
}
+ public void setIsSourceMm(boolean isMm) {
+ this.isMm = isMm;
+ }
+
+ public boolean isSourceMm() {
+ return isMm ;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.java
index 7609068..4b452b6 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.java
@@ -94,7 +94,7 @@ public class CreateTableDesc extends DDLDesc implements Serializable {
private boolean isCTAS = false;
List<SQLPrimaryKey> primaryKeys;
List<SQLForeignKey> foreignKeys;
- private Long initialWriteId;
+ private Long initialMmWriteId; // Initial MM write ID for CTAS and import.
// The FSOP configuration for the FSOP that is going to write initial data during ctas.
// This is not needed beyond compilation, so it is transient.
private transient FileSinkDesc writer;
@@ -829,14 +829,16 @@ public class CreateTableDesc extends DDLDesc implements Serializable {
return tbl;
}
- public void setInitialWriteId(Long mmWriteId) {
- this.initialWriteId = mmWriteId;
+ public void setInitialMmWriteId(Long mmWriteId) {
+ this.initialMmWriteId = mmWriteId;
}
- public Long getInitialWriteId() {
- return initialWriteId;
+ public Long getInitialMmWriteId() {
+ return initialMmWriteId;
}
+
+
public FileSinkDesc getAndUnsetWriter() {
FileSinkDesc fsd = writer;
writer = null;
@@ -846,6 +848,4 @@ public class CreateTableDesc extends DDLDesc implements Serializable {
public void setWriter(FileSinkDesc writer) {
this.writer = writer;
}
-
-
}
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/java/org/apache/hadoop/hive/ql/plan/LoadTableDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/LoadTableDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/LoadTableDesc.java
index bf858b6..1b7d325 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/LoadTableDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/LoadTableDesc.java
@@ -47,6 +47,7 @@ public class LoadTableDesc extends org.apache.hadoop.hive.ql.plan.LoadDesc
// TODO: the below seems like they should just be combined into partitionDesc
private org.apache.hadoop.hive.ql.plan.TableDesc table;
private Map<String, String> partitionSpec; // NOTE: this partitionSpec has to be ordered map
+ private boolean commitMmWriteId = true;
private LoadTableDesc(final Path sourcePath,
final org.apache.hadoop.hive.ql.plan.TableDesc table,
@@ -88,9 +89,8 @@ public class LoadTableDesc extends org.apache.hadoop.hive.ql.plan.LoadDesc
*/
public LoadTableDesc(final Path sourcePath,
final org.apache.hadoop.hive.ql.plan.TableDesc table,
- final Map<String, String> partitionSpec) {
- // TODO# we assume mm=false here
- this(sourcePath, table, partitionSpec, true, AcidUtils.Operation.NOT_ACID, null);
+ final Map<String, String> partitionSpec, Long mmWriteId) {
+ this(sourcePath, table, partitionSpec, true, AcidUtils.Operation.NOT_ACID, mmWriteId);
}
public LoadTableDesc(final Path sourcePath,
@@ -189,4 +189,12 @@ public class LoadTableDesc extends org.apache.hadoop.hive.ql.plan.LoadDesc
public Long getMmWriteId() {
return mmWriteId;
}
+
+ public void setIntermediateInMmWrite(boolean b) {
+ this.commitMmWriteId = !b;
+ }
+
+ public boolean isCommitMmWrite() {
+ return commitMmWriteId;
+ }
}
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/test/queries/clientpositive/mm_all.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/mm_all.q b/ql/src/test/queries/clientpositive/mm_all.q
index 5377568..6639aaa 100644
--- a/ql/src/test/queries/clientpositive/mm_all.q
+++ b/ql/src/test/queries/clientpositive/mm_all.q
@@ -270,38 +270,93 @@ drop table load2_mm;
drop table intermediate2;
--- IMPORT
-
-
-
--- TODO# future
---
---create table exim_department ( dep_id int) stored as textfile;
---dfs -rmr target/tmp/ql/test/data/exports/exim_department;
---export table exim_department to 'ql/test/data/exports/exim_department';
---drop table exim_department;
---create database importer;
---use importer;
---create table exim_department ( dep_id int) stored as textfile;
---import from 'ql/test/data/exports/exim_department';
---
---
---create table exim_department ( dep_id int) stored as textfile;
---load data local inpath "../../data/files/test.dat" into table exim_department;
---dfs ${system:test.dfs.mkdir} target/tmp/ql/test/data/exports/exim_department/test;
---dfs -rmr target/tmp/ql/test/data/exports/exim_department;
---export table exim_department to 'ql/test/data/exports/exim_department';
---drop table exim_department;
---
---create database importer;
---use importer;
---
---set hive.security.authorization.enabled=true;
---import from 'ql/test/data/exports/exim_department';
-
-
-
--- TODO multi-insert, truncate
+drop table intermediate_nonpart;
+drop table intermmediate_part;
+drop table intermmediate_nonpart;
+create table intermediate_nonpart(key int, p int);
+insert into intermediate_nonpart select * from intermediate;
+create table intermmediate_nonpart(key int, p int) tblproperties('hivecommit'='true');
+insert into intermmediate_nonpart select * from intermediate;
+create table intermmediate(key int) partitioned by (p int) tblproperties('hivecommit'='true');
+insert into table intermmediate partition(p) select key, p from intermediate;
+
+set hive.exim.test.mode=true;
+
+export table intermediate_nonpart to 'ql/test/data/exports/intermediate_nonpart';
+export table intermmediate_nonpart to 'ql/test/data/exports/intermmediate_nonpart';
+export table intermediate to 'ql/test/data/exports/intermediate_part';
+export table intermmediate to 'ql/test/data/exports/intermmediate_part';
+
+drop table intermediate_nonpart;
+drop table intermmediate_part;
+drop table intermmediate_nonpart;
+
+-- non-MM export to MM table, with and without partitions
+
+drop table import0_mm;
+create table import0_mm(key int, p int) tblproperties('hivecommit'='true');
+import table import0_mm from 'ql/test/data/exports/intermediate_nonpart';
+select * from import0_mm order by key, p;
+drop table import0_mm;
+
+
+
+drop table import1_mm;
+create table import1_mm(key int) partitioned by (p int)
+ stored as orc tblproperties('hivecommit'='true');
+import table import1_mm from 'ql/test/data/exports/intermediate_part';
+select * from import1_mm order by key, p;
+drop table import1_mm;
+
+
+-- MM export into new MM table, non-part and part
+
+drop table import2_mm;
+import table import2_mm from 'ql/test/data/exports/intermmediate_nonpart';
+desc import2_mm;
+select * from import2_mm order by key, p;
+drop table import2_mm;
+
+drop table import3_mm;
+import table import3_mm from 'ql/test/data/exports/intermmediate_part';
+desc import3_mm;
+select * from import3_mm order by key, p;
+drop table import3_mm;
+
+-- MM export into existing MM table, non-part and partial part
+
+drop table import4_mm;
+create table import4_mm(key int, p int) tblproperties('hivecommit'='true');
+import table import4_mm from 'ql/test/data/exports/intermmediate_nonpart';
+select * from import4_mm order by key, p;
+drop table import4_mm;
+
+drop table import5_mm;
+create table import5_mm(key int) partitioned by (p int) tblproperties('hivecommit'='true');
+import table import5_mm partition(p=455) from 'ql/test/data/exports/intermmediate_part';
+select * from import5_mm order by key, p;
+drop table import5_mm;
+
+-- MM export into existing non-MM table, non-part and part
+
+drop table import6_mm;
+create table import6_mm(key int, p int);
+import table import6_mm from 'ql/test/data/exports/intermmediate_nonpart';
+select * from import6_mm order by key, p;
+drop table import6_mm;
+
+drop table import7_mm;
+create table import7_mm(key int) partitioned by (p int);
+import table import7_mm from 'ql/test/data/exports/intermmediate_part';
+select * from import7_mm order by key, p;
+drop table import7_mm;
+
+
+
+set hive.exim.test.mode=false;
+
+
+-- TODO# multi-insert, truncate
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/test/queries/clientpositive/mm_current.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/mm_current.q b/ql/src/test/queries/clientpositive/mm_current.q
index 391017b..ab28d35 100644
--- a/ql/src/test/queries/clientpositive/mm_current.q
+++ b/ql/src/test/queries/clientpositive/mm_current.q
@@ -11,53 +11,42 @@ create table intermediate(key int) partitioned by (p int) stored as orc;
insert into table intermediate partition(p='455') select distinct key from src where key >= 0 order by key desc limit 2;
insert into table intermediate partition(p='456') select distinct key from src where key is not null order by key asc limit 2;
-
-
-drop table load0_mm;
-create table load0_mm (key string, value string) stored as textfile tblproperties('hivecommit'='true');
-load data local inpath '../../data/files/kv1.txt' into table load0_mm;
-select count(1) from load0_mm;
-load data local inpath '../../data/files/kv2.txt' into table load0_mm;
-select count(1) from load0_mm;
-load data local inpath '../../data/files/kv2.txt' overwrite into table load0_mm;
-select count(1) from load0_mm;
-drop table load0_mm;
-
-
-drop table intermediate2;
-create table intermediate2 (key string, value string) stored as textfile
-location 'file:${system:test.tmp.dir}/intermediate2';
-load data local inpath '../../data/files/kv1.txt' into table intermediate2;
-load data local inpath '../../data/files/kv2.txt' into table intermediate2;
-load data local inpath '../../data/files/kv3.txt' into table intermediate2;
-
-drop table load1_mm;
-create table load1_mm (key string, value string) stored as textfile tblproperties('hivecommit'='true');
-load data inpath 'file:${system:test.tmp.dir}/intermediate2/kv2.txt' into table load1_mm;
-load data inpath 'file:${system:test.tmp.dir}/intermediate2/kv1.txt' into table load1_mm;
-select count(1) from load1_mm;
-load data local inpath '../../data/files/kv1.txt' into table intermediate2;
-load data local inpath '../../data/files/kv2.txt' into table intermediate2;
-load data local inpath '../../data/files/kv3.txt' into table intermediate2;
-load data inpath 'file:${system:test.tmp.dir}/intermediate2/kv*.txt' overwrite into table load1_mm;
-select count(1) from load1_mm;
-load data local inpath '../../data/files/kv2.txt' into table intermediate2;
-load data inpath 'file:${system:test.tmp.dir}/intermediate2/kv2.txt' overwrite into table load1_mm;
-select count(1) from load1_mm;
-drop table load1_mm;
-
-drop table load2_mm;
-create table load2_mm (key string, value string)
- partitioned by (k int, l int) stored as textfile tblproperties('hivecommit'='true');
-load data local inpath '../../data/files/kv1.txt' into table intermediate2;
-load data local inpath '../../data/files/kv2.txt' into table intermediate2;
-load data local inpath '../../data/files/kv3.txt' into table intermediate2;
-load data inpath 'file:${system:test.tmp.dir}/intermediate2/kv*.txt' into table load2_mm partition(k=5, l=5);
-select count(1) from load2_mm;
-drop table load2_mm;
-drop table intermediate2;
-
-
+drop table intermediate_nonpart;
+drop table intermmediate_part;
+drop table intermmediate_nonpart;
+
+
+create table intermediate_nonpart(key int, p int);
+insert into intermediate_nonpart select * from intermediate;
+create table intermmediate_nonpart(key int, p int) tblproperties('hivecommit'='true');
+insert into intermmediate_nonpart select * from intermediate;
+create table intermmediate(key int) partitioned by (p int) tblproperties('hivecommit'='true');
+insert into table intermmediate partition(p) select key, p from intermediate;
+
+set hive.exim.test.mode=true;
+
+export table intermediate_nonpart to 'ql/test/data/exports/intermediate_nonpart';
+export table intermmediate_nonpart to 'ql/test/data/exports/intermmediate_nonpart';
+export table intermediate to 'ql/test/data/exports/intermediate_part';
+export table intermmediate to 'ql/test/data/exports/intermmediate_part';
+
+drop table intermediate_nonpart;
+drop table intermmediate_part;
+drop table intermmediate_nonpart;
+
+-- MM export into existing non-MM table, non-part and part
+
+drop table import6_mm;
+create table import6_mm(key int, p int);
+import table import6_mm from 'ql/test/data/exports/intermmediate_nonpart';
+select * from import6_mm order by key, p;
+drop table import6_mm;
+
+drop table import7_mm;
+create table import7_mm(key int) partitioned by (p int);
+import table import7_mm from 'ql/test/data/exports/intermmediate_part';
+select * from import7_mm order by key, p;
+drop table import7_mm;
drop table intermediate;
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/test/results/clientpositive/llap/mm_all.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/mm_all.q.out b/ql/src/test/results/clientpositive/llap/mm_all.q.out
index 6569369..7d77047 100644
--- a/ql/src/test/results/clientpositive/llap/mm_all.q.out
+++ b/ql/src/test/results/clientpositive/llap/mm_all.q.out
@@ -1924,37 +1924,541 @@ POSTHOOK: query: drop table intermediate2
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@intermediate2
POSTHOOK: Output: default@intermediate2
-PREHOOK: query: -- IMPORT
+PREHOOK: query: drop table intermediate_nonpart
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table intermediate_nonpart
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table intermmediate_part
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table intermmediate_part
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table intermmediate_nonpart
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table intermmediate_nonpart
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table intermediate_nonpart(key int, p int)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@intermediate_nonpart
+POSTHOOK: query: create table intermediate_nonpart(key int, p int)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@intermediate_nonpart
+PREHOOK: query: insert into intermediate_nonpart select * from intermediate
+PREHOOK: type: QUERY
+PREHOOK: Input: default@intermediate
+PREHOOK: Input: default@intermediate@p=455
+PREHOOK: Input: default@intermediate@p=456
+PREHOOK: Input: default@intermediate@p=457
+PREHOOK: Output: default@intermediate_nonpart
+POSTHOOK: query: insert into intermediate_nonpart select * from intermediate
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@intermediate
+POSTHOOK: Input: default@intermediate@p=455
+POSTHOOK: Input: default@intermediate@p=456
+POSTHOOK: Input: default@intermediate@p=457
+POSTHOOK: Output: default@intermediate_nonpart
+POSTHOOK: Lineage: intermediate_nonpart.key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: intermediate_nonpart.p SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+PREHOOK: query: create table intermmediate_nonpart(key int, p int) tblproperties('hivecommit'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@intermmediate_nonpart
+POSTHOOK: query: create table intermmediate_nonpart(key int, p int) tblproperties('hivecommit'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@intermmediate_nonpart
+PREHOOK: query: insert into intermmediate_nonpart select * from intermediate
+PREHOOK: type: QUERY
+PREHOOK: Input: default@intermediate
+PREHOOK: Input: default@intermediate@p=455
+PREHOOK: Input: default@intermediate@p=456
+PREHOOK: Input: default@intermediate@p=457
+PREHOOK: Output: default@intermmediate_nonpart
+POSTHOOK: query: insert into intermmediate_nonpart select * from intermediate
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@intermediate
+POSTHOOK: Input: default@intermediate@p=455
+POSTHOOK: Input: default@intermediate@p=456
+POSTHOOK: Input: default@intermediate@p=457
+POSTHOOK: Output: default@intermmediate_nonpart
+POSTHOOK: Lineage: intermmediate_nonpart.key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: intermmediate_nonpart.p SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+PREHOOK: query: create table intermmediate(key int) partitioned by (p int) tblproperties('hivecommit'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@intermmediate
+POSTHOOK: query: create table intermmediate(key int) partitioned by (p int) tblproperties('hivecommit'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@intermmediate
+PREHOOK: query: insert into table intermmediate partition(p) select key, p from intermediate
+PREHOOK: type: QUERY
+PREHOOK: Input: default@intermediate
+PREHOOK: Input: default@intermediate@p=455
+PREHOOK: Input: default@intermediate@p=456
+PREHOOK: Input: default@intermediate@p=457
+PREHOOK: Output: default@intermmediate
+POSTHOOK: query: insert into table intermmediate partition(p) select key, p from intermediate
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@intermediate
+POSTHOOK: Input: default@intermediate@p=455
+POSTHOOK: Input: default@intermediate@p=456
+POSTHOOK: Input: default@intermediate@p=457
+POSTHOOK: Output: default@intermmediate@p=455
+POSTHOOK: Output: default@intermmediate@p=456
+POSTHOOK: Output: default@intermmediate@p=457
+POSTHOOK: Lineage: intermmediate PARTITION(p=455).key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: intermmediate PARTITION(p=456).key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: intermmediate PARTITION(p=457).key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+PREHOOK: query: export table intermediate_nonpart to 'ql/test/data/exports/intermediate_nonpart'
+PREHOOK: type: EXPORT
+PREHOOK: Input: default@intermediate_nonpart
+#### A masked pattern was here ####
+POSTHOOK: query: export table intermediate_nonpart to 'ql/test/data/exports/intermediate_nonpart'
+POSTHOOK: type: EXPORT
+POSTHOOK: Input: default@intermediate_nonpart
+#### A masked pattern was here ####
+PREHOOK: query: export table intermmediate_nonpart to 'ql/test/data/exports/intermmediate_nonpart'
+PREHOOK: type: EXPORT
+PREHOOK: Input: default@intermmediate_nonpart
+#### A masked pattern was here ####
+POSTHOOK: query: export table intermmediate_nonpart to 'ql/test/data/exports/intermmediate_nonpart'
+POSTHOOK: type: EXPORT
+POSTHOOK: Input: default@intermmediate_nonpart
+#### A masked pattern was here ####
+PREHOOK: query: export table intermediate to 'ql/test/data/exports/intermediate_part'
+PREHOOK: type: EXPORT
+PREHOOK: Input: default@intermediate@p=455
+PREHOOK: Input: default@intermediate@p=456
+PREHOOK: Input: default@intermediate@p=457
+#### A masked pattern was here ####
+POSTHOOK: query: export table intermediate to 'ql/test/data/exports/intermediate_part'
+POSTHOOK: type: EXPORT
+POSTHOOK: Input: default@intermediate@p=455
+POSTHOOK: Input: default@intermediate@p=456
+POSTHOOK: Input: default@intermediate@p=457
+#### A masked pattern was here ####
+PREHOOK: query: export table intermmediate to 'ql/test/data/exports/intermmediate_part'
+PREHOOK: type: EXPORT
+PREHOOK: Input: default@intermmediate@p=455
+PREHOOK: Input: default@intermmediate@p=456
+PREHOOK: Input: default@intermmediate@p=457
+#### A masked pattern was here ####
+POSTHOOK: query: export table intermmediate to 'ql/test/data/exports/intermmediate_part'
+POSTHOOK: type: EXPORT
+POSTHOOK: Input: default@intermmediate@p=455
+POSTHOOK: Input: default@intermmediate@p=456
+POSTHOOK: Input: default@intermmediate@p=457
+#### A masked pattern was here ####
+PREHOOK: query: drop table intermediate_nonpart
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@intermediate_nonpart
+PREHOOK: Output: default@intermediate_nonpart
+POSTHOOK: query: drop table intermediate_nonpart
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@intermediate_nonpart
+POSTHOOK: Output: default@intermediate_nonpart
+PREHOOK: query: drop table intermmediate_part
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table intermmediate_part
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table intermmediate_nonpart
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@intermmediate_nonpart
+PREHOOK: Output: default@intermmediate_nonpart
+POSTHOOK: query: drop table intermmediate_nonpart
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@intermmediate_nonpart
+POSTHOOK: Output: default@intermmediate_nonpart
+PREHOOK: query: -- non-MM export to MM table, with and without partitions
+drop table import0_mm
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: -- non-MM export to MM table, with and without partitions
+drop table import0_mm
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table import0_mm(key int, p int) tblproperties('hivecommit'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@import0_mm
+POSTHOOK: query: create table import0_mm(key int, p int) tblproperties('hivecommit'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@import0_mm
+PREHOOK: query: import table import0_mm from 'ql/test/data/exports/intermediate_nonpart'
+PREHOOK: type: IMPORT
+#### A masked pattern was here ####
+PREHOOK: Output: default@import0_mm
+POSTHOOK: query: import table import0_mm from 'ql/test/data/exports/intermediate_nonpart'
+POSTHOOK: type: IMPORT
+#### A masked pattern was here ####
+POSTHOOK: Output: default@import0_mm
+PREHOOK: query: select * from import0_mm order by key, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@import0_mm
+#### A masked pattern was here ####
+POSTHOOK: query: select * from import0_mm order by key, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@import0_mm
+#### A masked pattern was here ####
+0 456
+10 456
+97 455
+98 455
+100 457
+103 457
+PREHOOK: query: drop table import0_mm
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@import0_mm
+PREHOOK: Output: default@import0_mm
+POSTHOOK: query: drop table import0_mm
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@import0_mm
+POSTHOOK: Output: default@import0_mm
+PREHOOK: query: drop table import1_mm
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table import1_mm
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table import1_mm(key int) partitioned by (p int)
+ stored as orc tblproperties('hivecommit'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@import1_mm
+POSTHOOK: query: create table import1_mm(key int) partitioned by (p int)
+ stored as orc tblproperties('hivecommit'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@import1_mm
+PREHOOK: query: import table import1_mm from 'ql/test/data/exports/intermediate_part'
+PREHOOK: type: IMPORT
+#### A masked pattern was here ####
+PREHOOK: Output: default@import1_mm
+POSTHOOK: query: import table import1_mm from 'ql/test/data/exports/intermediate_part'
+POSTHOOK: type: IMPORT
+#### A masked pattern was here ####
+POSTHOOK: Output: default@import1_mm
+POSTHOOK: Output: default@import1_mm@p=455
+POSTHOOK: Output: default@import1_mm@p=456
+POSTHOOK: Output: default@import1_mm@p=457
+PREHOOK: query: select * from import1_mm order by key, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@import1_mm
+PREHOOK: Input: default@import1_mm@p=455
+PREHOOK: Input: default@import1_mm@p=456
+PREHOOK: Input: default@import1_mm@p=457
+#### A masked pattern was here ####
+POSTHOOK: query: select * from import1_mm order by key, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@import1_mm
+POSTHOOK: Input: default@import1_mm@p=455
+POSTHOOK: Input: default@import1_mm@p=456
+POSTHOOK: Input: default@import1_mm@p=457
+#### A masked pattern was here ####
+0 456
+10 456
+97 455
+98 455
+100 457
+103 457
+PREHOOK: query: drop table import1_mm
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@import1_mm
+PREHOOK: Output: default@import1_mm
+POSTHOOK: query: drop table import1_mm
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@import1_mm
+POSTHOOK: Output: default@import1_mm
+PREHOOK: query: -- MM export into new MM table, non-part and part
+
+drop table import2_mm
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: -- MM export into new MM table, non-part and part
+
+drop table import2_mm
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: import table import2_mm from 'ql/test/data/exports/intermmediate_nonpart'
+PREHOOK: type: IMPORT
+#### A masked pattern was here ####
+PREHOOK: Output: database:default
+POSTHOOK: query: import table import2_mm from 'ql/test/data/exports/intermmediate_nonpart'
+POSTHOOK: type: IMPORT
+#### A masked pattern was here ####
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@import2_mm
+PREHOOK: query: desc import2_mm
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@import2_mm
+POSTHOOK: query: desc import2_mm
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@import2_mm
+key int
+p int
+PREHOOK: query: select * from import2_mm order by key, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@import2_mm
+#### A masked pattern was here ####
+POSTHOOK: query: select * from import2_mm order by key, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@import2_mm
+#### A masked pattern was here ####
+0 456
+10 456
+97 455
+98 455
+100 457
+103 457
+PREHOOK: query: drop table import2_mm
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@import2_mm
+PREHOOK: Output: default@import2_mm
+POSTHOOK: query: drop table import2_mm
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@import2_mm
+POSTHOOK: Output: default@import2_mm
+PREHOOK: query: drop table import3_mm
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table import3_mm
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: import table import3_mm from 'ql/test/data/exports/intermmediate_part'
+PREHOOK: type: IMPORT
+#### A masked pattern was here ####
+PREHOOK: Output: database:default
+POSTHOOK: query: import table import3_mm from 'ql/test/data/exports/intermmediate_part'
+POSTHOOK: type: IMPORT
+#### A masked pattern was here ####
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@import3_mm
+POSTHOOK: Output: default@import3_mm@p=455
+POSTHOOK: Output: default@import3_mm@p=456
+POSTHOOK: Output: default@import3_mm@p=457
+PREHOOK: query: desc import3_mm
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@import3_mm
+POSTHOOK: query: desc import3_mm
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@import3_mm
+key int
+p int
+
+# Partition Information
+# col_name data_type comment
+
+p int
+PREHOOK: query: select * from import3_mm order by key, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@import3_mm
+PREHOOK: Input: default@import3_mm@p=455
+PREHOOK: Input: default@import3_mm@p=456
+PREHOOK: Input: default@import3_mm@p=457
+#### A masked pattern was here ####
+POSTHOOK: query: select * from import3_mm order by key, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@import3_mm
+POSTHOOK: Input: default@import3_mm@p=455
+POSTHOOK: Input: default@import3_mm@p=456
+POSTHOOK: Input: default@import3_mm@p=457
+#### A masked pattern was here ####
+0 456
+10 456
+97 455
+98 455
+100 457
+103 457
+PREHOOK: query: drop table import3_mm
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@import3_mm
+PREHOOK: Output: default@import3_mm
+POSTHOOK: query: drop table import3_mm
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@import3_mm
+POSTHOOK: Output: default@import3_mm
+PREHOOK: query: -- MM export into existing MM table, non-part and partial part
--- TODO# future
---
---create table exim_department ( dep_id int) stored as textfile;
-#### A masked pattern was here ####
---export table exim_department to 'ql/test/data/exports/exim_department';
---drop table exim_department;
---create database importer;
---use importer;
---create table exim_department ( dep_id int) stored as textfile;
---import from 'ql/test/data/exports/exim_department';
---
---
---create table exim_department ( dep_id int) stored as textfile;
---load data local inpath "../../data/files/test.dat" into table exim_department;
-#### A masked pattern was here ####
---export table exim_department to 'ql/test/data/exports/exim_department';
---drop table exim_department;
---
---create database importer;
---use importer;
---
---set hive.security.authorization.enabled=true;
---import from 'ql/test/data/exports/exim_department';
+drop table import4_mm
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: -- MM export into existing MM table, non-part and partial part
+drop table import4_mm
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table import4_mm(key int, p int) tblproperties('hivecommit'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@import4_mm
+POSTHOOK: query: create table import4_mm(key int, p int) tblproperties('hivecommit'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@import4_mm
+PREHOOK: query: import table import4_mm from 'ql/test/data/exports/intermmediate_nonpart'
+PREHOOK: type: IMPORT
+#### A masked pattern was here ####
+PREHOOK: Output: default@import4_mm
+POSTHOOK: query: import table import4_mm from 'ql/test/data/exports/intermmediate_nonpart'
+POSTHOOK: type: IMPORT
+#### A masked pattern was here ####
+POSTHOOK: Output: default@import4_mm
+PREHOOK: query: select * from import4_mm order by key, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@import4_mm
+#### A masked pattern was here ####
+POSTHOOK: query: select * from import4_mm order by key, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@import4_mm
+#### A masked pattern was here ####
+0 456
+10 456
+97 455
+98 455
+100 457
+103 457
+PREHOOK: query: drop table import4_mm
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@import4_mm
+PREHOOK: Output: default@import4_mm
+POSTHOOK: query: drop table import4_mm
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@import4_mm
+POSTHOOK: Output: default@import4_mm
+PREHOOK: query: drop table import5_mm
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table import5_mm
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table import5_mm(key int) partitioned by (p int) tblproperties('hivecommit'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@import5_mm
+POSTHOOK: query: create table import5_mm(key int) partitioned by (p int) tblproperties('hivecommit'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@import5_mm
+PREHOOK: query: import table import5_mm partition(p=455) from 'ql/test/data/exports/intermmediate_part'
+PREHOOK: type: IMPORT
+#### A masked pattern was here ####
+PREHOOK: Output: default@import5_mm
+POSTHOOK: query: import table import5_mm partition(p=455) from 'ql/test/data/exports/intermmediate_part'
+POSTHOOK: type: IMPORT
+#### A masked pattern was here ####
+POSTHOOK: Output: default@import5_mm
+POSTHOOK: Output: default@import5_mm@p=455
+PREHOOK: query: select * from import5_mm order by key, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@import5_mm
+PREHOOK: Input: default@import5_mm@p=455
+#### A masked pattern was here ####
+POSTHOOK: query: select * from import5_mm order by key, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@import5_mm
+POSTHOOK: Input: default@import5_mm@p=455
+#### A masked pattern was here ####
+97 455
+98 455
+PREHOOK: query: drop table import5_mm
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@import5_mm
+PREHOOK: Output: default@import5_mm
+POSTHOOK: query: drop table import5_mm
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@import5_mm
+POSTHOOK: Output: default@import5_mm
+PREHOOK: query: -- MM export into existing non-MM table, non-part and part
+drop table import6_mm
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: -- MM export into existing non-MM table, non-part and part
--- TODO multi-insert, truncate
+drop table import6_mm
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table import6_mm(key int, p int)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@import6_mm
+POSTHOOK: query: create table import6_mm(key int, p int)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@import6_mm
+PREHOOK: query: import table import6_mm from 'ql/test/data/exports/intermmediate_nonpart'
+PREHOOK: type: IMPORT
+#### A masked pattern was here ####
+PREHOOK: Output: default@import6_mm
+POSTHOOK: query: import table import6_mm from 'ql/test/data/exports/intermmediate_nonpart'
+POSTHOOK: type: IMPORT
+#### A masked pattern was here ####
+POSTHOOK: Output: default@import6_mm
+PREHOOK: query: select * from import6_mm order by key, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@import6_mm
+#### A masked pattern was here ####
+POSTHOOK: query: select * from import6_mm order by key, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@import6_mm
+#### A masked pattern was here ####
+0 456
+10 456
+97 455
+98 455
+100 457
+103 457
+PREHOOK: query: drop table import6_mm
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@import6_mm
+PREHOOK: Output: default@import6_mm
+POSTHOOK: query: drop table import6_mm
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@import6_mm
+POSTHOOK: Output: default@import6_mm
+PREHOOK: query: drop table import7_mm
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table import7_mm
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table import7_mm(key int) partitioned by (p int)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@import7_mm
+POSTHOOK: query: create table import7_mm(key int) partitioned by (p int)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@import7_mm
+PREHOOK: query: import table import7_mm from 'ql/test/data/exports/intermmediate_part'
+PREHOOK: type: IMPORT
+#### A masked pattern was here ####
+PREHOOK: Output: default@import7_mm
+POSTHOOK: query: import table import7_mm from 'ql/test/data/exports/intermmediate_part'
+POSTHOOK: type: IMPORT
+#### A masked pattern was here ####
+POSTHOOK: Output: default@import7_mm
+POSTHOOK: Output: default@import7_mm@p=455
+POSTHOOK: Output: default@import7_mm@p=456
+POSTHOOK: Output: default@import7_mm@p=457
+PREHOOK: query: select * from import7_mm order by key, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@import7_mm
+PREHOOK: Input: default@import7_mm@p=455
+PREHOOK: Input: default@import7_mm@p=456
+PREHOOK: Input: default@import7_mm@p=457
+#### A masked pattern was here ####
+POSTHOOK: query: select * from import7_mm order by key, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@import7_mm
+POSTHOOK: Input: default@import7_mm@p=455
+POSTHOOK: Input: default@import7_mm@p=456
+POSTHOOK: Input: default@import7_mm@p=457
+#### A masked pattern was here ####
+0 456
+10 456
+97 455
+98 455
+100 457
+103 457
+PREHOOK: query: drop table import7_mm
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@import7_mm
+PREHOOK: Output: default@import7_mm
+POSTHOOK: query: drop table import7_mm
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@import7_mm
+POSTHOOK: Output: default@import7_mm
+PREHOOK: query: -- TODO# multi-insert, truncate
@@ -1962,37 +2466,7 @@ drop table intermediate
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@intermediate
PREHOOK: Output: default@intermediate
-POSTHOOK: query: -- IMPORT
-
-
-
--- TODO# future
---
---create table exim_department ( dep_id int) stored as textfile;
-#### A masked pattern was here ####
---export table exim_department to 'ql/test/data/exports/exim_department';
---drop table exim_department;
---create database importer;
---use importer;
---create table exim_department ( dep_id int) stored as textfile;
---import from 'ql/test/data/exports/exim_department';
---
---
---create table exim_department ( dep_id int) stored as textfile;
---load data local inpath "../../data/files/test.dat" into table exim_department;
-#### A masked pattern was here ####
---export table exim_department to 'ql/test/data/exports/exim_department';
---drop table exim_department;
---
---create database importer;
---use importer;
---
---set hive.security.authorization.enabled=true;
---import from 'ql/test/data/exports/exim_department';
-
-
-
--- TODO multi-insert, truncate
+POSTHOOK: query: -- TODO# multi-insert, truncate
[08/23] hive git commit: HIVE-13423: Handle the overflow case for
decimal datatype for sum() (Aihua Xu, reviewed by Xuefu Zhang, Chaoyu Tang)
Posted by se...@apache.org.
HIVE-13423: Handle the overflow case for decimal datatype for sum() (Aihua Xu, reviewed by Xuefu Zhang, Chaoyu Tang)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/b303fca9
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/b303fca9
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/b303fca9
Branch: refs/heads/hive-14535
Commit: b303fca9564360cdf90bfd8d729dc3bc8178ecb1
Parents: b75f079
Author: Aihua Xu <ai...@apache.org>
Authored: Fri Oct 14 17:17:44 2016 -0400
Committer: Aihua Xu <ai...@apache.org>
Committed: Thu Oct 20 09:38:37 2016 -0400
----------------------------------------------------------------------
.../hive/ql/udf/generic/GenericUDAFSum.java | 16 +++++++--
.../queries/clientpositive/decimal_precision.q | 7 ++++
.../clientpositive/decimal_precision.q.out | 36 ++++++++++++++++++++
3 files changed, 56 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/b303fca9/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFSum.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFSum.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFSum.java
index f53554c..38269f4 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFSum.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFSum.java
@@ -38,6 +38,7 @@ import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils.Object
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils;
import org.apache.hadoop.hive.serde2.typeinfo.DecimalTypeInfo;
+import org.apache.hadoop.hive.serde2.typeinfo.HiveDecimalUtils;
import org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
@@ -207,8 +208,6 @@ public class GenericUDAFSum extends AbstractGenericUDAFResolver {
super.init(m, parameters);
result = new HiveDecimalWritable(HiveDecimal.ZERO);
inputOI = (PrimitiveObjectInspector) parameters[0];
- outputOI = (PrimitiveObjectInspector) ObjectInspectorUtils.getStandardObjectInspector(inputOI,
- ObjectInspectorCopyOption.JAVA);
// The output precision is 10 greater than the input which should cover at least
// 10b rows. The scale is the same as the input.
DecimalTypeInfo outputTypeInfo = null;
@@ -218,7 +217,11 @@ public class GenericUDAFSum extends AbstractGenericUDAFResolver {
} else {
outputTypeInfo = (DecimalTypeInfo) inputOI.getTypeInfo();
}
- return PrimitiveObjectInspectorFactory.getPrimitiveWritableObjectInspector(outputTypeInfo);
+ ObjectInspector oi = PrimitiveObjectInspectorFactory.getPrimitiveWritableObjectInspector(outputTypeInfo);
+ outputOI = (PrimitiveObjectInspector) ObjectInspectorUtils.getStandardObjectInspector(
+ oi, ObjectInspectorCopyOption.JAVA);
+
+ return oi;
}
/** class for storing decimal sum value. */
@@ -287,6 +290,13 @@ public class GenericUDAFSum extends AbstractGenericUDAFResolver {
if (myagg.empty || myagg.sum == null) {
return null;
}
+ if (myagg.sum != null) {
+ if (HiveDecimalUtils.enforcePrecisionScale(myagg.sum, (DecimalTypeInfo)outputOI.getTypeInfo()) == null) {
+ LOG.warn("The sum of a column with data type HiveDecimal is out of range");
+ return null;
+ }
+ }
+
result.set(myagg.sum);
return result;
}
http://git-wip-us.apache.org/repos/asf/hive/blob/b303fca9/ql/src/test/queries/clientpositive/decimal_precision.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/decimal_precision.q b/ql/src/test/queries/clientpositive/decimal_precision.q
index 7d77455..e917f20 100644
--- a/ql/src/test/queries/clientpositive/decimal_precision.q
+++ b/ql/src/test/queries/clientpositive/decimal_precision.q
@@ -27,3 +27,10 @@ SELECT MIN(cast('12345678901234567890.12345678' as decimal(38,18))) FROM DECIMAL
SELECT COUNT(cast('12345678901234567890.12345678' as decimal(38,18))) FROM DECIMAL_PRECISION;
DROP TABLE DECIMAL_PRECISION;
+
+-- Expect overflow and return null as the value
+CREATE TABLE DECIMAL_PRECISION(dec decimal(38,18));
+INSERT INTO DECIMAL_PRECISION VALUES(98765432109876543210.12345), (98765432109876543210.12345);
+SELECT SUM(dec) FROM DECIMAL_PRECISION;
+
+DROP TABLE DECIMAL_PRECISION;
http://git-wip-us.apache.org/repos/asf/hive/blob/b303fca9/ql/src/test/results/clientpositive/decimal_precision.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/decimal_precision.q.out b/ql/src/test/results/clientpositive/decimal_precision.q.out
index cb17e0d..a607d9f 100644
--- a/ql/src/test/results/clientpositive/decimal_precision.q.out
+++ b/ql/src/test/results/clientpositive/decimal_precision.q.out
@@ -631,3 +631,39 @@ POSTHOOK: query: DROP TABLE DECIMAL_PRECISION
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@decimal_precision
POSTHOOK: Output: default@decimal_precision
+PREHOOK: query: -- Expect overflow and return null as the value
+CREATE TABLE DECIMAL_PRECISION(dec decimal(38,18))
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@DECIMAL_PRECISION
+POSTHOOK: query: -- Expect overflow and return null as the value
+CREATE TABLE DECIMAL_PRECISION(dec decimal(38,18))
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@DECIMAL_PRECISION
+PREHOOK: query: INSERT INTO DECIMAL_PRECISION VALUES(98765432109876543210.12345), (98765432109876543210.12345)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@values__tmp__table__1
+PREHOOK: Output: default@decimal_precision
+POSTHOOK: query: INSERT INTO DECIMAL_PRECISION VALUES(98765432109876543210.12345), (98765432109876543210.12345)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@values__tmp__table__1
+POSTHOOK: Output: default@decimal_precision
+POSTHOOK: Lineage: decimal_precision.dec EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+PREHOOK: query: SELECT SUM(dec) FROM DECIMAL_PRECISION
+PREHOOK: type: QUERY
+PREHOOK: Input: default@decimal_precision
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT SUM(dec) FROM DECIMAL_PRECISION
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@decimal_precision
+#### A masked pattern was here ####
+NULL
+PREHOOK: query: DROP TABLE DECIMAL_PRECISION
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@decimal_precision
+PREHOOK: Output: default@decimal_precision
+POSTHOOK: query: DROP TABLE DECIMAL_PRECISION
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@decimal_precision
+POSTHOOK: Output: default@decimal_precision
[14/23] hive git commit: HIVE-14913 : Add new unit tests (Vineet Garg
via Ashutosh Chauhan)
Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/results/clientpositive/llap/cte_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/cte_1.q.out b/ql/src/test/results/clientpositive/llap/cte_1.q.out
index 41ffdc7..e309ce8 100644
--- a/ql/src/test/results/clientpositive/llap/cte_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/cte_1.q.out
@@ -124,3 +124,18951 @@ POSTHOOK: Input: default@src
5
5
5
+PREHOOK: query: with q1 as (select * from alltypesorc)
+ select s1.key, s1.value
+ from src s1
+ where key > 3
+ and s1.value in (select q1.cstring1
+ from q1
+ where cint > 900)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: with q1 as (select * from alltypesorc)
+ select s1.key, s1.value
+ from src s1
+ where key > 3
+ and s1.value in (select q1.cstring1
+ from q1
+ where cint > 900)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+PREHOOK: query: with q1 as (select * from src)
+ select key, value,
+ max(value) over (partition by key)
+ from q1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: with q1 as (select * from src)
+ select key, value,
+ max(value) over (partition by key)
+ from q1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+10 val_10 val_10
+100 val_100 val_100
+100 val_100 val_100
+103 val_103 val_103
+103 val_103 val_103
+104 val_104 val_104
+104 val_104 val_104
+105 val_105 val_105
+11 val_11 val_11
+111 val_111 val_111
+113 val_113 val_113
+113 val_113 val_113
+114 val_114 val_114
+116 val_116 val_116
+118 val_118 val_118
+118 val_118 val_118
+119 val_119 val_119
+119 val_119 val_119
+119 val_119 val_119
+12 val_12 val_12
+12 val_12 val_12
+120 val_120 val_120
+120 val_120 val_120
+125 val_125 val_125
+125 val_125 val_125
+126 val_126 val_126
+128 val_128 val_128
+128 val_128 val_128
+128 val_128 val_128
+129 val_129 val_129
+129 val_129 val_129
+131 val_131 val_131
+133 val_133 val_133
+134 val_134 val_134
+134 val_134 val_134
+136 val_136 val_136
+137 val_137 val_137
+137 val_137 val_137
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+143 val_143 val_143
+145 val_145 val_145
+146 val_146 val_146
+146 val_146 val_146
+149 val_149 val_149
+149 val_149 val_149
+15 val_15 val_15
+15 val_15 val_15
+150 val_150 val_150
+152 val_152 val_152
+152 val_152 val_152
+153 val_153 val_153
+155 val_155 val_155
+156 val_156 val_156
+157 val_157 val_157
+158 val_158 val_158
+160 val_160 val_160
+162 val_162 val_162
+163 val_163 val_163
+164 val_164 val_164
+164 val_164 val_164
+165 val_165 val_165
+165 val_165 val_165
+166 val_166 val_166
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+168 val_168 val_168
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+17 val_17 val_17
+170 val_170 val_170
+172 val_172 val_172
+172 val_172 val_172
+174 val_174 val_174
+174 val_174 val_174
+175 val_175 val_175
+175 val_175 val_175
+176 val_176 val_176
+176 val_176 val_176
+177 val_177 val_177
+178 val_178 val_178
+179 val_179 val_179
+179 val_179 val_179
+18 val_18 val_18
+18 val_18 val_18
+180 val_180 val_180
+181 val_181 val_181
+183 val_183 val_183
+186 val_186 val_186
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+189 val_189 val_189
+19 val_19 val_19
+190 val_190 val_190
+191 val_191 val_191
+191 val_191 val_191
+192 val_192 val_192
+193 val_193 val_193
+193 val_193 val_193
+193 val_193 val_193
+194 val_194 val_194
+195 val_195 val_195
+195 val_195 val_195
+196 val_196 val_196
+197 val_197 val_197
+197 val_197 val_197
+199 val_199 val_199
+199 val_199 val_199
+199 val_199 val_199
+2 val_2 val_2
+20 val_20 val_20
+200 val_200 val_200
+200 val_200 val_200
+201 val_201 val_201
+202 val_202 val_202
+203 val_203 val_203
+203 val_203 val_203
+205 val_205 val_205
+205 val_205 val_205
+207 val_207 val_207
+207 val_207 val_207
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+209 val_209 val_209
+209 val_209 val_209
+213 val_213 val_213
+213 val_213 val_213
+214 val_214 val_214
+216 val_216 val_216
+216 val_216 val_216
+217 val_217 val_217
+217 val_217 val_217
+218 val_218 val_218
+219 val_219 val_219
+219 val_219 val_219
+221 val_221 val_221
+221 val_221 val_221
+222 val_222 val_222
+223 val_223 val_223
+223 val_223 val_223
+224 val_224 val_224
+224 val_224 val_224
+226 val_226 val_226
+228 val_228 val_228
+229 val_229 val_229
+229 val_229 val_229
+230 val_230 val_230
+230 val_230 val_230
+230 val_230 val_230
+230 val_230 val_230
+230 val_230 val_230
+233 val_233 val_233
+233 val_233 val_233
+235 val_235 val_235
+237 val_237 val_237
+237 val_237 val_237
+238 val_238 val_238
+238 val_238 val_238
+239 val_239 val_239
+239 val_239 val_239
+24 val_24 val_24
+24 val_24 val_24
+241 val_241 val_241
+242 val_242 val_242
+242 val_242 val_242
+244 val_244 val_244
+247 val_247 val_247
+248 val_248 val_248
+249 val_249 val_249
+252 val_252 val_252
+255 val_255 val_255
+255 val_255 val_255
+256 val_256 val_256
+256 val_256 val_256
+257 val_257 val_257
+258 val_258 val_258
+26 val_26 val_26
+26 val_26 val_26
+260 val_260 val_260
+262 val_262 val_262
+263 val_263 val_263
+265 val_265 val_265
+265 val_265 val_265
+266 val_266 val_266
+27 val_27 val_27
+272 val_272 val_272
+272 val_272 val_272
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+274 val_274 val_274
+275 val_275 val_275
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+278 val_278 val_278
+278 val_278 val_278
+28 val_28 val_28
+280 val_280 val_280
+280 val_280 val_280
+281 val_281 val_281
+281 val_281 val_281
+282 val_282 val_282
+282 val_282 val_282
+283 val_283 val_283
+284 val_284 val_284
+285 val_285 val_285
+286 val_286 val_286
+287 val_287 val_287
+288 val_288 val_288
+288 val_288 val_288
+289 val_289 val_289
+291 val_291 val_291
+292 val_292 val_292
+296 val_296 val_296
+298 val_298 val_298
+298 val_298 val_298
+298 val_298 val_298
+30 val_30 val_30
+302 val_302 val_302
+305 val_305 val_305
+306 val_306 val_306
+307 val_307 val_307
+307 val_307 val_307
+308 val_308 val_308
+309 val_309 val_309
+309 val_309 val_309
+310 val_310 val_310
+311 val_311 val_311
+311 val_311 val_311
+311 val_311 val_311
+315 val_315 val_315
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+317 val_317 val_317
+317 val_317 val_317
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+321 val_321 val_321
+321 val_321 val_321
+322 val_322 val_322
+322 val_322 val_322
+323 val_323 val_323
+325 val_325 val_325
+325 val_325 val_325
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+33 val_33 val_33
+331 val_331 val_331
+331 val_331 val_331
+332 val_332 val_332
+333 val_333 val_333
+333 val_333 val_333
+335 val_335 val_335
+336 val_336 val_336
+338 val_338 val_338
+339 val_339 val_339
+34 val_34 val_34
+341 val_341 val_341
+342 val_342 val_342
+342 val_342 val_342
+344 val_344 val_344
+344 val_344 val_344
+345 val_345 val_345
+348 val_348 val_348
+348 val_348 val_348
+348 val_348 val_348
+348 val_348 val_348
+348 val_348 val_348
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+351 val_351 val_351
+353 val_353 val_353
+353 val_353 val_353
+356 val_356 val_356
+360 val_360 val_360
+362 val_362 val_362
+364 val_364 val_364
+365 val_365 val_365
+366 val_366 val_366
+367 val_367 val_367
+367 val_367 val_367
+368 val_368 val_368
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+37 val_37 val_37
+37 val_37 val_37
+373 val_373 val_373
+374 val_374 val_374
+375 val_375 val_375
+377 val_377 val_377
+378 val_378 val_378
+379 val_379 val_379
+382 val_382 val_382
+382 val_382 val_382
+384 val_384 val_384
+384 val_384 val_384
+384 val_384 val_384
+386 val_386 val_386
+389 val_389 val_389
+392 val_392 val_392
+393 val_393 val_393
+394 val_394 val_394
+395 val_395 val_395
+395 val_395 val_395
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+397 val_397 val_397
+397 val_397 val_397
+399 val_399 val_399
+399 val_399 val_399
+4 val_4 val_4
+400 val_400 val_400
+401 val_401 val_401
+401 val_401 val_401
+401 val_401 val_401
+401 val_401 val_401
+401 val_401 val_401
+402 val_402 val_402
+403 val_403 val_403
+403 val_403 val_403
+403 val_403 val_403
+404 val_404 val_404
+404 val_404 val_404
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+407 val_407 val_407
+409 val_409 val_409
+409 val_409 val_409
+409 val_409 val_409
+41 val_41 val_41
+411 val_411 val_411
+413 val_413 val_413
+413 val_413 val_413
+414 val_414 val_414
+414 val_414 val_414
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+418 val_418 val_418
+419 val_419 val_419
+42 val_42 val_42
+42 val_42 val_42
+421 val_421 val_421
+424 val_424 val_424
+424 val_424 val_424
+427 val_427 val_427
+429 val_429 val_429
+429 val_429 val_429
+43 val_43 val_43
+430 val_430 val_430
+430 val_430 val_430
+430 val_430 val_430
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+432 val_432 val_432
+435 val_435 val_435
+436 val_436 val_436
+437 val_437 val_437
+438 val_438 val_438
+438 val_438 val_438
+438 val_438 val_438
+439 val_439 val_439
+439 val_439 val_439
+44 val_44 val_44
+443 val_443 val_443
+444 val_444 val_444
+446 val_446 val_446
+448 val_448 val_448
+449 val_449 val_449
+452 val_452 val_452
+453 val_453 val_453
+454 val_454 val_454
+454 val_454 val_454
+454 val_454 val_454
+455 val_455 val_455
+457 val_457 val_457
+458 val_458 val_458
+458 val_458 val_458
+459 val_459 val_459
+459 val_459 val_459
+460 val_460 val_460
+462 val_462 val_462
+462 val_462 val_462
+463 val_463 val_463
+463 val_463 val_463
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+467 val_467 val_467
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+469 val_469 val_469
+469 val_469 val_469
+469 val_469 val_469
+469 val_469 val_469
+469 val_469 val_469
+47 val_47 val_47
+470 val_470 val_470
+472 val_472 val_472
+475 val_475 val_475
+477 val_477 val_477
+478 val_478 val_478
+478 val_478 val_478
+479 val_479 val_479
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+481 val_481 val_481
+482 val_482 val_482
+483 val_483 val_483
+484 val_484 val_484
+485 val_485 val_485
+487 val_487 val_487
+489 val_489 val_489
+489 val_489 val_489
+489 val_489 val_489
+489 val_489 val_489
+490 val_490 val_490
+491 val_491 val_491
+492 val_492 val_492
+492 val_492 val_492
+493 val_493 val_493
+494 val_494 val_494
+495 val_495 val_495
+496 val_496 val_496
+497 val_497 val_497
+498 val_498 val_498
+498 val_498 val_498
+498 val_498 val_498
+5 val_5 val_5
+5 val_5 val_5
+5 val_5 val_5
+51 val_51 val_51
+51 val_51 val_51
+53 val_53 val_53
+54 val_54 val_54
+57 val_57 val_57
+58 val_58 val_58
+58 val_58 val_58
+64 val_64 val_64
+65 val_65 val_65
+66 val_66 val_66
+67 val_67 val_67
+67 val_67 val_67
+69 val_69 val_69
+70 val_70 val_70
+70 val_70 val_70
+70 val_70 val_70
+72 val_72 val_72
+72 val_72 val_72
+74 val_74 val_74
+76 val_76 val_76
+76 val_76 val_76
+77 val_77 val_77
+78 val_78 val_78
+8 val_8 val_8
+80 val_80 val_80
+82 val_82 val_82
+83 val_83 val_83
+83 val_83 val_83
+84 val_84 val_84
+84 val_84 val_84
+85 val_85 val_85
+86 val_86 val_86
+87 val_87 val_87
+9 val_9 val_9
+90 val_90 val_90
+90 val_90 val_90
+90 val_90 val_90
+92 val_92 val_92
+95 val_95 val_95
+95 val_95 val_95
+96 val_96 val_96
+97 val_97 val_97
+97 val_97 val_97
+98 val_98 val_98
+98 val_98 val_98
+PREHOOK: query: with q1 as (select * from alltypesorc)
+ from q1
+ select cint, cstring1, avg(csmallint)
+ group by cint, cstring1 with rollup
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: with q1 as (select * from alltypesorc)
+ from q1
+ select cint, cstring1, avg(csmallint)
+ group by cint, cstring1 with rollup
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+NULL NULL 810.5504687159363
+NULL NULL 2735.0
+NULL NULL 2735.0
+NULL 2x14G717LqcPA7Ic5 NULL
+NULL 3Ke6A1U847tV73 NULL
+NULL 45ja5suO NULL
+NULL 4R0XI865tG1o NULL
+NULL 4fNIOF6ul NULL
+NULL 62vmI4 NULL
+NULL 64Vxl8QS NULL
+NULL 74bXXWTpyU68 NULL
+NULL 75bFXC7TqGo1SEaYAx4C58m NULL
+NULL 84O1C65C5k88bI7i4 NULL
+NULL 8We4u3732apuHDPV NULL
+NULL AmPHc4NUg3HwJ NULL
+NULL AyLa71bfxi250l8A518jspLC NULL
+NULL J84WKCH NULL
+NULL Jk1t16oBoeM0CCry7XQvR37h NULL
+NULL LKRvI78ReJ6OGetwpvK NULL
+NULL LR2AKy0dPt8vFdIV5760jriw NULL
+NULL MqcMK622OR2 NULL
+NULL Oye1OEeN NULL
+NULL Pw53BBJ NULL
+NULL THog3nx6pd1Bb NULL
+NULL Ul085f84S33Xd32u NULL
+NULL W114Au1ELrT7tRYnqE3MxCv NULL
+NULL Xw6nBW1A205Rv7rE NULL
+NULL Yssb82rdfylDv4K NULL
+NULL a7GT5lui7rc NULL
+NULL b062i16kuwQerAvO5D2cBp3 NULL
+NULL b5GwV NULL
+NULL c61B47I604gymFJ NULL
+NULL d1135cW8G6QCDM8LiD0c NULL
+NULL efnt3 NULL
+NULL fVgv88OvQR1BB7toX NULL
+NULL gC1t8pc NULL
+NULL iNuVE35DF NULL
+NULL l3r8T4QgT63 NULL
+NULL nS00h3HkN0 NULL
+NULL nc1y0EKQ51B4U0F06 NULL
+NULL nlVvHbKNkU5I04XtkP6 NULL
+NULL p61uO61KDWhQ8b648ac2xyFO NULL
+NULL r2uhJH3 NULL
+NULL r4jOncC4N6ov2LdxmkWAfJ7J NULL
+NULL wa73jb5WDRp2le0wf NULL
+NULL y605nF0K3mMoM75j NULL
+-1073279343 NULL NULL
+-1073279343 oj1YrV5Wa NULL
+-1073051226 NULL -7382.0
+-1073051226 A34p7oRr2WvUJNf -7382.0
+-1072910839 NULL NULL
+-1072910839 0iqrc5 NULL
+-1072081801 NULL 8373.0
+-1072081801 dPkN74F7 8373.0
+-1072076362 NULL -5470.0
+-1072076362 2uLyD28144vklju213J1mr -5470.0
+-1071480828 NULL NULL
+-1071480828 aw724t8c5558x2xneC624 NULL
+-1071363017 NULL NULL
+-1071363017 Anj0oF NULL
+-1070883071 NULL -741.0
+-1070883071 0ruyd6Y50JpdGRf6HqD -741.0
+-1070551679 NULL -947.0
+-1070551679 iUR3Q -947.0
+-1069736047 NULL NULL
+-1069736047 k17Am8uPHWk02cEf1jet NULL
+-1069512165 NULL 11417.0
+-1069512165 8x6mobxQl6Ef0Hl1 11417.0
+-1069109166 NULL 8390.0
+-1069109166 vW36C22KS75R 8390.0
+-1069103950 NULL NULL
+-1069103950 41A0nYX72UOSfxO4053xy NULL
+-1069097390 NULL NULL
+-1069097390 B553840U1H2b1M06l6N81 NULL
+-1068623584 NULL -14005.0
+-1068623584 s5O357fO5pF0 -14005.0
+-1068336533 NULL NULL
+-1068336533 PUn1YVC NULL
+-1068247011 NULL NULL
+-1068247011 dPbX4jd1v47r1bB6506si NULL
+-1068206466 NULL NULL
+-1068206466 F3u1yJaQywofxCCM4v4jScY NULL
+-1067874703 NULL NULL
+-1067874703 us1gH35lcpND NULL
+-1067683781 NULL NULL
+-1067683781 IbgbUvP5 NULL
+-1067386090 NULL -3977.0
+-1067386090 HBtg2r6pR16VC73 -3977.0
+-1066922682 NULL -9987.0
+-1066922682 0RrH6XDA1 -9987.0
+-1066684273 NULL NULL
+-1066684273 2W4Kg220OcCy065HG60k6e NULL
+-1066226047 NULL -9439.0
+-1066226047 8GIqX3tvNqrgH -9439.0
+-1065775394 NULL NULL
+-1065775394 aD88uS2N8DmqPlvjOa7F46i7 NULL
+-1065117869 NULL 2538.0
+-1065117869 jWVP6gOkq12mdh 2538.0
+-1064981602 NULL NULL
+-1064981602 aY3tpnr6wfvmWMG0U881 NULL
+-1064949302 NULL 6454.0
+-1064949302 8u8tR858jC01y8Ft66nYRnb6 6454.0
+-1064718136 NULL NULL
+-1064718136 k7i5RkMq88H0s NULL
+-1064623720 NULL NULL
+-1064623720 47INeW44yvsne46Mu NULL
+-1063745167 NULL NULL
+-1063745167 L47nqo NULL
+-1063498122 NULL -11480.0
+-1063498122 703Y1U84Wa28ryl -11480.0
+-1063164541 NULL NULL
+-1063164541 1NydRD5y5o3 NULL
+-1062973443 NULL 10541.0
+-1062973443 144eST755Fvf6nLi74SK 10541.0
+-1061614989 NULL -4234.0
+-1061614989 61Oa7M7Pl17d7auyXra6 -4234.0
+-1061509617 NULL NULL
+-1061509617 YE7I5JK87tW5 NULL
+-1061057428 NULL -1085.0
+-1061057428 P58wqaXf0alLttK226h6FPPw -1085.0
+-1060990068 NULL NULL
+-1060990068 EQT56g5A73m3j NULL
+-1060670281 NULL NULL
+-1060670281 nn4BmhMm71Dr4R7sw8Y1dQR NULL
+-1060624784 NULL NULL
+-1060624784 Das7E73 NULL
+-1059941909 NULL 8782.0
+-1059941909 Bu880nx 8782.0
+-1059487309 NULL NULL
+-1059487309 8Q4H5tVMm6r NULL
+-1059338191 NULL 7322.0
+-1059338191 S12r0UF 7322.0
+-1059047258 NULL 12452.0
+-1059047258 e2B6K7FJH77Y4i7h6B43U 12452.0
+-1058897881 NULL NULL
+-1058897881 6fPk0A NULL
+-1058844180 NULL NULL
+-1058844180 C6hoSE4L6NCrA NULL
+-1058286942 NULL NULL
+-1058286942 R6q656btrqQM6a5nQ4GcVg NULL
+-1056684111 NULL 13991.0
+-1056684111 7K7y062ndg5aRSBsx 13991.0
+-1055945837 NULL 13690.0
+-1055945837 Qc722Gg4280 13690.0
+-1055669248 NULL 2570.0
+-1055669248 U7r33N1GT 2570.0
+-1055316250 NULL -14990.0
+-1055316250 0DM5PsdSMaTmhOK4YxC5u7j -14990.0
+-1055185482 NULL NULL
+-1055185482 l20vn2Awc NULL
+-1055076545 NULL NULL
+-1055076545 5l4yXhHX0Y1jgmw4 NULL
+-1055040773 NULL NULL
+-1055040773 1t2c87D721uxcFhn2 NULL
+-1054958082 NULL NULL
+-1054958082 im6VJRHh5EGfS7FVhw NULL
+-1054849160 NULL NULL
+-1054849160 CEGOy NULL
+-1053385587 NULL 14504.0
+-1053385587 65VIeeMM00MHr8I0 14504.0
+-1053254526 NULL NULL
+-1053254526 p014F NULL
+-1053238077 NULL -3704.0
+-1053238077 46tDHL8 -3704.0
+-1052745800 NULL -12404.0
+-1052745800 gA0pGkli -12404.0
+-1052668265 NULL NULL
+-1052668265 kTME0 NULL
+-1052322972 NULL -7433.0
+-1052322972 C60KTh -7433.0
+-1051223597 NULL NULL
+-1051223597 7i7FJDchQc1 NULL
+-1050684541 NULL -8261.0
+-1050684541 D7uQjIbBdnn -8261.0
+-1050657303 NULL -6999.0
+-1050657303 cD68D3aJ6G88N1C -6999.0
+-1050388484 NULL NULL
+-1050388484 B26L6Qp134xe0wy0Si NULL
+-1050165799 NULL 8634.0
+-1050165799 hA4lNb 8634.0
+-1049984461 NULL NULL
+-1049984461 qUY8Rl34NWRg NULL
+-1048934049 NULL -524.0
+-1048934049 CjC3BPy1KH421o32f8 -524.0
+-1048696030 NULL NULL
+-1048696030 fKbw64QavqgbDL2t60s NULL
+-1048097158 NULL NULL
+-1048097158 fpt3gpLE NULL
+-1047782718 NULL NULL
+-1047782718 38Y7wt NULL
+-1047036113 NULL NULL
+-1047036113 Js07yFa2qnrfVU1j2e3 NULL
+-1046913669 NULL NULL
+-1046913669 40r4yyU6T0A0Mekf24k NULL
+-1046766350 NULL NULL
+-1046766350 s4LPR6Bg0j25SWD8 NULL
+-1046399794 NULL 4130.0
+-1046399794 4o0SAld6t67x881120Otu2 4130.0
+-1045867222 NULL -8034.0
+-1045867222 gdoaNjlr4H8gbNV -8034.0
+-1045737053 NULL NULL
+-1045737053 FGQf6n21ES NULL
+-1045196363 NULL -5039.0
+-1045196363 35lk428d1BN8Qp1M27 -5039.0
+-1045181724 NULL -5706.0
+-1045181724 kJFq4Dt -5706.0
+-1045087657 NULL -5865.0
+-1045087657 hV0A77g6ThTl1 -5865.0
+-1044828205 NULL NULL
+-1044828205 Ej05nrdc8CVXYu1Axy6W NULL
+-1044748460 NULL NULL
+-1044748460 d1158gMS8i68jPb2v3L NULL
+-1044357977 NULL NULL
+-1044357977 nqThW83 NULL
+-1044207190 NULL 5381.0
+-1044207190 YsR62pfC2Hc 5381.0
+-1044093617 NULL -3422.0
+-1044093617 0Dlv8g24a1Q43 -3422.0
+-1043979188 NULL NULL
+-1043979188 2d3tQdCGQN5k7u7S NULL
+-1043573508 NULL 16216.0
+-1043573508 7n7CK4Pg11vhm6ax3H5 16216.0
+-1043132597 NULL 12302.0
+-1043132597 yVj2368XQ64rY25N8jCGSeW 12302.0
+-1043082182 NULL 9180.0
+-1043082182 17RI340fft1fahy586Y 9180.0
+-1042805968 NULL 5133.0
+-1042805968 QUnIT4yAVU 5133.0
+-1042712895 NULL 9296.0
+-1042712895 iD2KrmBUbvNjuhHR2r 9296.0
+-1042396242 NULL 9583.0
+-1042396242 3E1ynn7EtEFXaiQ772b86gVL 9583.0
+-1041734429 NULL -836.0
+-1041734429 wVq06T0QJ -836.0
+-1041391389 NULL -12970.0
+-1041391389 IL6Ct0hm2 -12970.0
+-1041353707 NULL NULL
+-1041353707 25Qky6lf2pt5FP47Mqmb NULL
+-1041252354 NULL 756.0
+-1041252354 0ruah 756.0
+-1039776293 NULL 13704.0
+-1039776293 LaONIKN 13704.0
+-1039762548 NULL -3802.0
+-1039762548 ki4pfORasIn14cM2G -3802.0
+-1039715238 NULL NULL
+-1039715238 oOt2v NULL
+-1039637549 NULL NULL
+-1039637549 KH8n8pUDpPj0hPA6 NULL
+-1039533140 NULL NULL
+-1039533140 342c18wA5vW61bEV NULL
+-1039524403 NULL -4773.0
+-1039524403 Bd1f156OCy1u -4773.0
+-1039514580 NULL NULL
+-1039514580 IjDM0V0b7savVtf2tbHOy NULL
+-1039495786 NULL NULL
+-1039495786 b0BEyNEe1bvQ NULL
+-1039355325 NULL NULL
+-1039355325 r17jGvc7gR NULL
+-1039292315 NULL NULL
+-1039292315 07488p5vb4d2 NULL
+-1039064141 NULL NULL
+-1039064141 hLEVieIhDXuQ8W2YF NULL
+-1039017475 NULL NULL
+-1039017475 wO3YtYQ6XLp7w NULL
+-1038649744 NULL NULL
+-1038649744 yl7A1QkSCYHui8cwp4b1OW43 NULL
+-1038517790 NULL -14648.0
+-1038517790 DYBN0 -14648.0
+-1037297218 NULL 10880.0
+-1037297218 lXhthv3GoliXESKJV703 10880.0
+-1037267681 NULL NULL
+-1037267681 gfML7L7et NULL
+-1037188286 NULL 5144.0
+-1037188286 1HF15l 5144.0
+-1037147679 NULL 3617.0
+-1037147679 4R0Dk 3617.0
+-1037086954 NULL 4048.0
+-1037086954 65n3amk86ayb7 4048.0
+-1036761336 NULL NULL
+-1036761336 QSdVNqav1efvKUht5o3N6 NULL
+-1036396564 NULL -14238.0
+-1036396564 gO13PbgBt48eAg84Bq8 -14238.0
+-1036025370 NULL NULL
+-1036025370 8dDe31b5 NULL
+-1035148422 NULL 7228.0
+-1035148422 3GU0iMHI286JAUnA0f 7228.0
+-1034002107 NULL 13650.0
+-1034002107 aa6sWJ28wU1wvv6it 13650.0
+-1033919841 NULL NULL
+-1033919841 6lk5XcgAmKuHHjg NULL
+-1033608051 NULL -3287.0
+-1033608051 jENe6I6 -3287.0
+-1033128942 NULL NULL
+-1033128942 467PTEoVhqi3kdYqdl6uT NULL
+-1032255988 NULL NULL
+-1032255988 78Mf2pj8fKk5Sq2L8 NULL
+-1032115017 NULL NULL
+-1032115017 yc2pX4jTI0xKh5xTys NULL
+-1031797254 NULL -326.0
+-1031797254 sKEJ8vy8kHWK7D -326.0
+-1031594611 NULL NULL
+-1031594611 dFE1VTv3P5WDi20YecUuv7 NULL
+-1031230441 NULL -4561.0
+-1031230441 iF1fQ7gn0qgpH7HKS5N3 -4561.0
+-1030993426 NULL NULL
+-1030993426 76VqjvX6hmnmvmDWOa8wi8 NULL
+-1030634297 NULL 15011.0
+-1030634297 2060qh1mQdiLrqGg0Jc5K 15011.0
+-1030506764 NULL -5689.0
+-1030506764 S8H7q -5689.0
+-1029979211 NULL NULL
+-1029979211 3StDSaH7 NULL
+-1029879672 NULL NULL
+-1029879672 i7n1eoq1Iw3r5q3qI3464 NULL
+-1029267410 NULL -5497.0
+-1029267410 in6jU6Ke8n -5497.0
+-1028293812 NULL 13237.0
+-1028293812 uY5BRu6VpGUPj4 13237.0
+-1028205384 NULL -15865.0
+-1028205384 tVopY8s0qF0dNI2yQdJXOX6 -15865.0
+-1027845003 NULL 15332.0
+-1027845003 Re88fHL7 15332.0
+-1026479711 NULL -2414.0
+-1026479711 806vT7T4G4Y4 -2414.0
+-1026019772 NULL NULL
+-1026019772 T6Al7d0hN770XB65M0F2g NULL
+-1025914257 NULL -4405.0
+-1025914257 EEr7sgEv4lqC76GKb4LI7p -4405.0
+-1024321144 NULL NULL
+-1024321144 CE22Wjuk7d20ouN NULL
+-1024159115 NULL -1885.0
+-1024159115 3a7WcjS0uc0bqUmPmu -1885.0
+-1023919084 NULL NULL
+-1023919084 3cT82 NULL
+-1023749761 NULL NULL
+-1023749761 77IBEt1Or1c24vWPvigS3w13 NULL
+-1023644243 NULL NULL
+-1023644243 Cxas82oA2hX884xmYQ2jrpDX NULL
+-1023481424 NULL 2306.0
+-1023481424 77jNF 2306.0
+-1023165277 NULL NULL
+-1023165277 438Lxo541TwY5ID80cnR5 NULL
+-1022702965 NULL NULL
+-1022702965 k3a17i1ndf NULL
+-1022326946 NULL NULL
+-1022326946 C1E8E3vVL16j NULL
+-1021742369 NULL NULL
+-1021742369 yOnsF4mFp NULL
+-1021337976 NULL -11929.0
+-1021337976 U4o3sWAqLydj0y -11929.0
+-1020725923 NULL NULL
+-1020725923 J25yM2B04A2M NULL
+-1020568554 NULL 492.0
+-1020568554 fX2DVO612 492.0
+-1020466796 NULL NULL
+-1020466796 7hCJ5yJvt0775jjgq8S0bX6W NULL
+-1020464283 NULL -5126.0
+-1020464283 xknXeDuW -5126.0
+-1020374418 NULL 9766.0
+-1020374418 1aI03p 9766.0
+-1020120834 NULL NULL
+-1020120834 6Ob80MBP350rI275 NULL
+-1019836360 NULL -872.0
+-1019836360 8vFbY6BM35cX2G -872.0
+-1019393508 NULL 4274.0
+-1019393508 05XlEbko5Dd31Yw87y7V 4274.0
+-1019324856 NULL NULL
+-1019324856 Yv7NbK3bBtLv2oCp7g622yO NULL
+-1019324384 NULL NULL
+-1019324384 G1Av5h73JFU7HEfj71hJ10 NULL
+-1018959984 NULL 6882.0
+-1018959984 s7Ct1y6ga8FJla5 6882.0
+-1018796894 NULL 15284.0
+-1018796894 76dOOD7kG6dtWnpBjR8 15284.0
+-1017266554 NULL NULL
+-1017266554 DU1m68i1Q7W3 NULL
+-1017122654 NULL -12826.0
+-1017122654 mCoC5T -12826.0
+-1016986173 NULL 9897.0
+-1016986173 6MS6smd0Rcn3ld 9897.0
+-1016835101 NULL NULL
+-1016835101 Md2lY0T7reBu NULL
+-1016801620 NULL NULL
+-1016801620 8vKN51JNM7 NULL
+-1016704824 NULL NULL
+-1016704824 3KB27MO3K1u5o NULL
+-1016663846 NULL -11403.0
+-1016663846 3l7KiBCbB0 -11403.0
+-1016256312 NULL -6216.0
+-1016256312 O1Rlpc2lK3YRjAQu34gE2UK5 -6216.0
+-1015614511 NULL -2849.0
+-1015614511 j3LaR1p1e2 -2849.0
+-1015510885 NULL NULL
+-1015510885 Kw7fOuw4DHeyXe2yg NULL
+-1015272448 NULL NULL
+-1015272448 jTQ68531mP NULL
+-1014275037 NULL NULL
+-1014275037 PrKs7TD0B7kj847u56pce NULL
+-1014120220 NULL 6770.0
+-1014120220 ojrHQys7e2N52 6770.0
+-1013988078 NULL 3944.0
+-1013988078 F3OEU67i11yDY0Lok02y6 3944.0
+-1013781936 NULL 5926.0
+-1013781936 hnq6hkAfna 5926.0
+-1013659284 NULL NULL
+-1013659284 x8IaCF6n4u NULL
+-1012066281 NULL 4376.0
+-1012066281 Kv017 4376.0
+-1012011232 NULL NULL
+-1012011232 7q0iMi2GDq0Q NULL
+-1011976278 NULL 13126.0
+-1011976278 LxB3GrxHyeem1fekvgm 13126.0
+-1011944040 NULL NULL
+-1011944040 X81pl2c1Y NULL
+-1011024551 NULL NULL
+-1011024551 cTWO4kFIrl1n NULL
+-1010636986 NULL NULL
+-1010636986 2p0iX031016VDNb6KWJ NULL
+-1009874474 NULL NULL
+-1009874474 8IkicjRJ21c054Id NULL
+-1009862371 NULL -410.0
+-1009862371 oaIPb217712Xf738 -410.0
+-1009581584 NULL NULL
+-1009581584 I884R85q1kn NULL
+-1009451677 NULL 11324.0
+-1009451677 7l1OMS06fGPw 11324.0
+-1009389747 NULL NULL
+-1009389747 LIJuG07tfqoLu8K NULL
+-1009352973 NULL -6439.0
+-1009352973 brlusDQ60JO68Qx5r6CY -6439.0
+-1009299079 NULL -2596.0
+-1009299079 t5p3LN7q -2596.0
+-1009173337 NULL -2985.0
+-1009173337 Kn22pycavya023VJqu -2985.0
+-1009059822 NULL 15580.0
+-1009059822 S74dET7kWU7 15580.0
+-1008549738 NULL 1308.0
+-1008549738 8pRkOXod8QLx2jax3AxJ 1308.0
+-1008498471 NULL NULL
+-1008498471 8uc06Qq7RP2P1RAf NULL
+-1007972409 NULL 14665.0
+-1007972409 QRofyh6UgWdm 14665.0
+-1007835480 NULL NULL
+-1007835480 btgw707cKS2odwbePK2B NULL
+-1007815487 NULL NULL
+-1007815487 IpyrlcegF4443KoFVNX NULL
+-1007552849 NULL 2108.0
+-1007552849 w6TGrxC 2108.0
+-1007330209 NULL -12558.0
+-1007330209 pg6MXmv06w1IPinrVuLU6qWI -12558.0
+-1007097729 NULL NULL
+-1007097729 r8564D7t NULL
+-1006411472 NULL 14460.0
+-1006411472 hQAra 14460.0
+-1006409417 NULL 3467.0
+-1006409417 2bD1h 3467.0
+-1005204676 NULL NULL
+-1005204676 mli7064t5U NULL
+-1005155523 NULL NULL
+-1005155523 1062158y NULL
+-1004894301 NULL 676.0
+-1004894301 xWu1O6561qVT 676.0
+-1004803191 NULL 8058.0
+-1004803191 Xf1MhqkA5n6 8058.0
+-1004604371 NULL 6617.0
+-1004604371 2618CM 6617.0
+-1003938647 NULL 6637.0
+-1003938647 R04RF7qkQ8Gn1PPd33pU6 6637.0
+-1003789565 NULL NULL
+-1003789565 dq1Ji5vGb4GVow42 NULL
+-1003720773 NULL 6383.0
+-1003720773 SqOW5p2JiWtBn3 6383.0
+-1003701605 NULL 176.0
+-1003701605 IN0pT43W73j0viT885YKU16 176.0
+-1003663525 NULL NULL
+-1003663525 mPp7oQ4Adp2f7Hl82 NULL
+-1003653258 NULL 384.0
+-1003653258 36g21Q 384.0
+-1003461762 NULL NULL
+-1003461762 0lhcglI NULL
+-1002943066 NULL 8381.0
+-1002943066 3obyVy5iSrWwgK7R3u6YHi 8381.0
+-1002568394 NULL 5012.0
+-1002568394 Vpsyy3y3607I45wt80mt8v 5012.0
+-1002498271 NULL NULL
+-1002498271 4A7p4HkPm01W0 NULL
+-1002435712 NULL NULL
+-1002435712 G6KW4uOD55dfWK NULL
+-1002431520 NULL 3259.0
+-1002431520 JxI8vHvRp2qUEeHIFB 3259.0
+-1002350795 NULL -7893.0
+-1002350795 UD71663I2qu1c5pqA2Kf1 -7893.0
+-1002277189 NULL 10937.0
+-1002277189 gGFiuV 10937.0
+-1002045753 NULL 8401.0
+-1002045753 bjQP6L 8401.0
+-1001510525 NULL 10887.0
+-1001510525 b4R0JR2yv3Gk30228 10887.0
+-1001487162 NULL 12961.0
+-1001487162 UrDe6x72B5ycy 12961.0
+-1001446082 NULL NULL
+-1001446082 CqdMb86r52TC3NgM187 NULL
+-1001217298 NULL -14171.0
+-1001217298 arVcY7cHiMpnKLp1tj7 -14171.0
+-1000977746 NULL 11602.0
+-1000977746 gSL2wI2m2i778C3WU 11602.0
+-1000804087 NULL NULL
+-1000804087 H8LCu4M2u4f1S NULL
+-1000318990 NULL NULL
+-1000318990 wtuJ56tof2pQf NULL
+-999783487 NULL NULL
+-999783487 I6Yl6OVpH65i NULL
+-999260869 NULL 5312.0
+-999260869 PovkPN 5312.0
+-998835088 NULL 9182.0
+-998835088 327LJ26mRqM 9182.0
+-998386072 NULL NULL
+-998386072 75KN62a2iAf0j5Jol77wH7 NULL
+-998124283 NULL 4762.0
+-998124283 EavI0LN82c3A1UN 4762.0
+-996912892 NULL NULL
+-996912892 3FhN0p4lstJDMEtXC1005J0Y NULL
+-996769125 NULL -10813.0
+-996769125 BRM3geidCoOv6Kw -10813.0
+-996346808 NULL NULL
+-996346808 LgMBG6G3Oc5baLkjeP50i8 NULL
+-995540123 NULL 2137.0
+-995540123 iO4Vsa4mC3r05C 2137.0
+-994853271 NULL NULL
+-994853271 YNsNwqw8y7D65 NULL
+-994852952 NULL NULL
+-994852952 vcB3rQ NULL
+-994675218 NULL -13240.0
+-994675218 RAaC3XB8wMh8On8X -13240.0
+-994644593 NULL NULL
+-994644593 N7ED661T508c1vmM NULL
+-994634414 NULL -11377.0
+-994634414 PNs6tw6fjOl1yNl1e -11377.0
+-994526450 NULL NULL
+-994526450 Y55ytQtGRN8l58131e NULL
+-994104389 NULL NULL
+-994104389 piK2mt5jDn NULL
+-993786473 NULL NULL
+-993786473 qAoGjP7q7r8p460I3aT5x7o NULL
+-993447992 NULL NULL
+-993447992 UAx76nB02256 NULL
+-993291633 NULL NULL
+-993291633 8reJCOg48gHGHDs NULL
+-992653997 NULL NULL
+-992653997 YIxsR NULL
+-992454835 NULL NULL
+-992454835 MWoHbU5I00oL7X86882y8cou NULL
+-992176092 NULL 7031.0
+-992176092 O6o7xl47446MR 7031.0
+-991137058 NULL -3128.0
+-991137058 hAd5Sr6Iosm0 -3128.0
+-991049363 NULL NULL
+-991049363 yif2md2VvY NULL
+-990879541 NULL 10767.0
+-990879541 c0A7Ma63T77BgT71 10767.0
+-990765448 NULL -2693.0
+-990765448 Ki4yIh3hXjHn26 -2693.0
+-990740632 NULL NULL
+-990740632 T8qIr36l6EYHj87DVl8h NULL
+-989969289 NULL -7662.0
+-989969289 UK0lin57gy -7662.0
+-989521057 NULL -10688.0
+-989521057 E5ud7eWss5yUDB6657GIS -10688.0
+-989395010 NULL -16172.0
+-989395010 ROLlg0rtT -16172.0
+-989220156 NULL -70.0
+-989220156 LAg3ad48X41nC22ThrX4 -70.0
+-989154705 NULL 14445.0
+-989154705 Y7vBl4PXIPqRBJSx3sd75 14445.0
+-988289401 NULL NULL
+-988289401 CeG187j NULL
+-987261044 NULL 3978.0
+-987261044 3meYy6xhwQL4817A3UM 3978.0
+-987252715 NULL NULL
+-987252715 CUa3sAF216u7IeQ NULL
+-986848527 NULL 7571.0
+-986848527 YCSg3CF070FDEip2r7djAA 7571.0
+-985746213 NULL NULL
+-985746213 BI77180Jc0ga4eu2TD3n NULL
+-985655403 NULL NULL
+-985655403 esc3k10A074II2a6h45 NULL
+-984148230 NULL 10015.0
+-984148230 cklLRY5lqR5bojRXCTaAFg 10015.0
+-983336429 NULL NULL
+-983336429 8U0bLsWq8444DJ5TW NULL
+-982218899 NULL 13786.0
+-982218899 TBbxkMGlYD17B7d76b7x3 13786.0
+-981967139 NULL NULL
+-981967139 04w7DF25lHW4 NULL
+-981827348 NULL NULL
+-981827348 vk2yV084Uf14ULLNJI NULL
+-981825987 NULL NULL
+-981825987 4x1067604ekVjosSK5d2umw NULL
+-981689559 NULL -31.0
+-981689559 iSWa0uvV1O16A3H -31.0
+-981529187 NULL NULL
+-981529187 KCaXaJvGKfj1tr NULL
+-981501268 NULL 12800.0
+-981501268 NC7F5u31 12800.0
+-981445439 NULL NULL
+-981445439 1RH526 NULL
+-980921154 NULL NULL
+-980921154 j337j4544rq NULL
+-980795786 NULL -4843.0
+-980795786 rELQhxExg7NKKs8hS5c -4843.0
+-980511555 NULL NULL
+-980511555 1TBB2v0eBqlr4c7d NULL
+-980375431 NULL NULL
+-980375431 mc3NjQOr14RVi NULL
+-980072140 NULL NULL
+-980072140 Jt7E0sR3X7V NULL
+-979733794 NULL NULL
+-979733794 0mrwaF7Lj8 NULL
+-979494445 NULL NULL
+-979494445 o6kKvK7SDJ6 NULL
+-979430024 NULL -9418.0
+-979430024 WU7g0T0a15w2v5t -9418.0
+-979388590 NULL 2045.0
+-979388590 ovf0gMXhh2H86Alw2C0 2045.0
+-978898374 NULL NULL
+-978898374 ShA4jlmOwF8u7kjN NULL
+-978516833 NULL NULL
+-978516833 75nB4HFf6o8qwf7gRdfNL NULL
+-978064614 NULL NULL
+-978064614 LSGQPxLff8bpk NULL
+-978062582 NULL NULL
+-978062582 2oSudUNUX6 NULL
+-977680439 NULL -5654.0
+-977680439 u654E6tw3O5dpRaV8 -5654.0
+-977661266 NULL NULL
+-977661266 b NULL
+-976688676 NULL NULL
+-976688676 Ph2xOHI4 NULL
+-974538365 NULL 4516.0
+-974538365 10lL0XD6WP2x64f70N0fHmC1 4516.0
+-974429749 NULL 10933.0
+-974429749 6V8P632qsh08uP2oc3o 10933.0
+-973002254 NULL -13269.0
+-973002254 yHf3d -13269.0
+-972704111 NULL -10146.0
+-972704111 K8vvk4yC81N7ToL2XVb3d -10146.0
+-972401405 NULL NULL
+-972401405 es103bnsOVpy NULL
+-971914566 NULL NULL
+-971914566 6502UQ2Jb18nD7kNw NULL
+-971659088 NULL NULL
+-971659088 GVsdgDhg NULL
+-971594866 NULL -3079.0
+-971594866 2bc3O0wh -3079.0
+-971543377 NULL NULL
+-971543377 uN803aW NULL
+-971434630 NULL -6849.0
+-971434630 ASSe7kYrOuU1RY5xfqOu4 -6849.0
+-970918963 NULL NULL
+-970918963 suoqdh NULL
+-970831643 NULL 2930.0
+-970831643 538e1Ht8T4tNdGJa5 2930.0
+-970640948 NULL NULL
+-970640948 frhe0 NULL
+-970458577 NULL -12937.0
+-970458577 nh2k85JcV054IH -12937.0
+-969472955 NULL -11432.0
+-969472955 6C5aLN4wM0 -11432.0
+-969455852 NULL NULL
+-969455852 0Apbh7X08i2JyMK NULL
+-969157542 NULL 8738.0
+-969157542 4Y8NFk7mqmC3 8738.0
+-968854798 NULL 8848.0
+-968854798 11R5e0X4LOeDU3kGt 8848.0
+-968537902 NULL -7803.0
+-968537902 22s7l8b06mB7664p -7803.0
+-968054937 NULL 14266.0
+-968054937 3l2B8dk37cU2tI73S74Iw 14266.0
+-967848414 NULL NULL
+-967848414 LHow6beTFmm4fPjj43Qy NULL
+-967332397 NULL NULL
+-967332397 V3xf5QPg7EABK NULL
+-966800904 NULL 12585.0
+-966800904 A5d3WY0X3i8b 12585.0
+-966581785 NULL 5323.0
+-966581785 6vl6871LI44R1g1A58lhDH5r 5323.0
+-966248336 NULL 11685.0
+-966248336 6255bIgnJx36iq1nNFiQ1 11685.0
+-965597463 NULL NULL
+-965597463 b0G65a66732y6yE65hQ0 NULL
+-964492915 NULL NULL
+-964492915 fs2RNhI5c10lFG7O NULL
+-964373678 NULL -9013.0
+-964373678 58dScG1eiYxH -9013.0
+-963400769 NULL NULL
+-963400769 l1xK7L0L6TjOPrB1tc NULL
+-963057170 NULL NULL
+-963057170 QdHVkD7V11xI8fC NULL
+-961419563 NULL -15748.0
+-961419563 442rSKupjwM -15748.0
+-960321207 NULL NULL
+-960321207 JvGVOip65N3hgA NULL
+-959745051 NULL -5818.0
+-959745051 0W67K0mT27r22f817281Ocq -5818.0
+-959536113 NULL 183.0
+-959536113 6sv3ND7cm7oj62dW5A8ms 183.0
+-958302213 NULL NULL
+-958302213 5d4rPb72As3cr1UU04go8 NULL
+-958249981 NULL 2531.0
+-958249981 liesHDBdq2Y18k4frvp3u 2531.0
+-958189198 NULL -12313.0
+-958189198 B0q1K7dlcKAC46176yc83 -12313.0
+-958151799 NULL -5513.0
+-958151799 8n431HuJF6X2x46Rt -5513.0
+-958046031 NULL 12073.0
+-958046031 ytj7g5W 12073.0
+-957669269 NULL 5188.0
+-957669269 OQk1qTc7L6BHW0IU5cbY 5188.0
+-956384224 NULL -5503.0
+-956384224 UnBWlD3B -5503.0
+-956049586 NULL -10014.0
+-956049586 Hj3R632OuQwd0r -10014.0
+-956027484 NULL NULL
+-956027484 1w7DPjq NULL
+-956005635 NULL 6362.0
+-956005635 pkx6Ce4rM6PyWw4q1T 6362.0
+-955690983 NULL -4191.0
+-955690983 7UcmGTD0H3teObxa3PIKsChx -4191.0
+-954917203 NULL NULL
+-954917203 1M4eTm8OcOW2dAMV2V5slS1 NULL
+-954361618 NULL -11009.0
+-954361618 8e5DWN6xSnwJyy -11009.0
+-952682211 NULL NULL
+-952682211 5qF06th6U7v2nLJ NULL
+-952354560 NULL 10437.0
+-952354560 8Mw4p5Jvd 10437.0
+-951788179 NULL NULL
+-951788179 4MUYUYLAD7d0lk70NJjc6LB6 NULL
+-950198887 NULL NULL
+-950198887 58hP5c4e3S68K72k1tO1Edw NULL
+-950164694 NULL NULL
+-950164694 DS4iDURlsq418pFh8 NULL
+-949589359 NULL NULL
+-949589359 6n3S324AM NULL
+-949587513 NULL NULL
+-949587513 NULL NULL
+-949286785 NULL NULL
+-949286785 XWuYuk5qpn5Khs3764E56 NULL
+-947302120 NULL NULL
+-947302120 035i4wu42Rs3Uu1ft5K0AOe NULL
+-947255611 NULL 13661.0
+-947255611 vgKx505VdPsHO 13661.0
+-947250116 NULL 2803.0
+-947250116 Kc1lPGJx6JXTcDsck00 2803.0
+-947119457 NULL NULL
+-947119457 K3Ajb4l11HjWeEEnM02w NULL
+-946531910 NULL NULL
+-946531910 66Mx4v NULL
+-946347591 NULL NULL
+-946347591 vfY7008pQEkX2F315E NULL
+-945792347 NULL 1638.0
+-945792347 O5L38Cc7moc2 1638.0
+-945525067 NULL 680.0
+-945525067 K8COoSc8N 680.0
+-944446388 NULL 4199.0
+-944446388 2I805mn6PngvT2rj 4199.0
+-944227723 NULL 1307.0
+-944227723 03Kvh3FL1P5FN0BY37kHpH 1307.0
+-944135193 NULL NULL
+-944135193 M32Kp NULL
+-943342622 NULL NULL
+-943342622 3w6XYq04J0Lb3Sv82eOV2HJ NULL
+-943276546 NULL 6206.0
+-943276546 7PE3Nv5LTl 6206.0
+-942970125 NULL NULL
+-942970125 7V65Eih84lc86QMJ2O NULL
+-941887337 NULL NULL
+-941887337 dIaRCgF47dy7ICv2EWJ4YN NULL
+-941753533 NULL NULL
+-941753533 033ffm5082ng0V NULL
+-941583325 NULL -10829.0
+-941583325 ijeMq4LXB5UJ4Q27LsX -10829.0
+-940778067 NULL NULL
+-940778067 vjtW5U2e1 NULL
+-940211279 NULL 336.0
+-940211279 gqf1847u6CuJaw4D6 336.0
+-939769556 NULL NULL
+-939769556 Xc3mi NULL
+-939492022 NULL NULL
+-939492022 uT5e2 NULL
+-939175504 NULL -12288.0
+-939175504 J54mWKFYUD081SIe -12288.0
+-938612134 NULL NULL
+-938612134 6bnEapMI6L NULL
+-938540627 NULL NULL
+-938540627 I642k31ww3Dpg87fN41 NULL
+-938412408 NULL NULL
+-938412408 AQeg2Ym4L NULL
+-938297418 NULL NULL
+-938297418 G7IJs50P82Y5G4s1nH52Y2j NULL
+-938136664 NULL NULL
+-938136664 Md0yyD6nXB1OBFdM2Gc NULL
+-937792363 NULL -4909.0
+-937792363 7Qy0j102iq4kv45G -4909.0
+-937557606 NULL NULL
+-937557606 2251WSv5eA2l6WqesdKPM2 NULL
+-937519227 NULL NULL
+-937519227 Y5u0Yy NULL
+-936910207 NULL NULL
+-936910207 ImYiNP1Y0JoBfQLbd NULL
+-936752168 NULL NULL
+-936752168 aH8tj4fj5to6URm5U6oonnd7 NULL
+-936628759 NULL NULL
+-936628759 4H51gSf4ykVH NULL
+-935954054 NULL NULL
+-935954054 v6lPjluh77k5 NULL
+-935902496 NULL -3406.0
+-935902496 1Uwni6D5JQ -3406.0
+-935790912 NULL -12757.0
+-935790912 H8MrS6CwPO16RoSj -12757.0
+-935243511 NULL 3290.0
+-935243511 88Gp8064umWOY 3290.0
+-934621405 NULL -852.0
+-934621405 5OcrJ -852.0
+-934495072 NULL -8103.0
+-934495072 cv6sd53W530KHEOy7 -8103.0
+-934037832 NULL -4583.0
+-934037832 GclmMLkS0 -4583.0
+-933664265 NULL 13750.0
+-933664265 ue8IUf0GlY18RT325P2tu 13750.0
+-933211703 NULL NULL
+-933211703 V630OaEm NULL
+-932998902 NULL NULL
+-932998902 kAr0ffWGEU7MHSKp NULL
+-932621913 NULL 8285.0
+-932621913 7etT21xSNx 8285.0
+-932242433 NULL NULL
+-932242433 6F8wR45s5ys8AkrBE17dn2oV NULL
+-932173888 NULL NULL
+-932173888 0N7O6L1Gg1ja NULL
+-932081829 NULL 2156.0
+-932081829 74VDRA6 2156.0
+-931748444 NULL 10538.0
+-931748444 qNE6PL88c2r64x3FvK 10538.0
+-931195659 NULL -12704.0
+-931195659 5y65rNnX4IsiQHRe8327 -12704.0
+-930947105 NULL 7187.0
+-930947105 lOyq082EPF1mv7Aldf 7187.0
+-930924528 NULL 3242.0
+-930924528 6317KIB8strmpE85j 3242.0
+-930688343 NULL -8351.0
+-930688343 r8AH7UhYMb4w6nN30C -8351.0
+-930463965 NULL NULL
+-930463965 ldk1K NULL
+-930286025 NULL NULL
+-930286025 5mOUrM8o4W6A NULL
+-930153712 NULL NULL
+-930153712 Jj21024T2xdn6 NULL
+-929968036 NULL -1865.0
+-929968036 7axyXd55ji4n -1865.0
+-929911781 NULL -10084.0
+-929911781 VWD2O2vD -10084.0
+-928500968 NULL NULL
+-928500968 34oSgU32X NULL
+-928315588 NULL -12244.0
+-928315588 6THl7n0OK0Eiq7 -12244.0
+-927796109 NULL NULL
+-927796109 ASm1a20I155Y NULL
+-927731540 NULL NULL
+-927731540 pIO3OuP40U8U1i112A NULL
+-926898562 NULL -5249.0
+-926898562 0OerNktBX10PyHs1sE -5249.0
+-925970696 NULL NULL
+-925970696 46uf5iNX NULL
+-925336063 NULL NULL
+-925336063 060EnWLmWE4K8Pv NULL
+-924196532 NULL NULL
+-924196532 LfUyaaMR2 NULL
+-924070723 NULL NULL
+-924070723 G82p1 NULL
+-923967881 NULL -11896.0
+-923967881 kE4AFD1BKG -11896.0
+-923783523 NULL -5511.0
+-923783523 bd6LedV7 -5511.0
+-923565158 NULL 7265.0
+-923565158 S8b1BRKPK4cTM3nbaI 7265.0
+-923400421 NULL NULL
+-923400421 MJ7Ej4tBYS8l2mK NULL
+-923394075 NULL 4695.0
+-923394075 K428Y0T0R2ui6S 4695.0
+-923308739 NULL 16343.0
+-923308739 K27XxFR7JP5b07DPwL 16343.0
+-923159888 NULL 12456.0
+-923159888 2dBEmWgC3OK06DpPc78Ew6l 12456.0
+-923085953 NULL 15530.0
+-923085953 Y452MvjJO04RMqES3O3 15530.0
+-922125566 NULL NULL
+-922125566 7BojnC3DIBmmGo8 NULL
+-922060433 NULL -15760.0
+-922060433 CHP5367P06dFMPWw23eQ -15760.0
+-921532922 NULL 3806.0
+-921532922 q2gwWd 3806.0
+-921442365 NULL -9863.0
+-921442365 hM4h8a4aXwJP1127xAC -9863.0
+-921160274 NULL NULL
+-921160274 G0PNHsT6RM4 NULL
+-920640297 NULL -11092.0
+-920640297 KgXWlcGb1q0 -11092.0
+-920239032 NULL NULL
+-920239032 xYc4JeNp63 NULL
+-919940926 NULL NULL
+-919940926 i1P3Wlat5EnBugL24oS4I3 NULL
+-919606143 NULL NULL
+-919606143 LOP6Akks01gG1 NULL
+-919086142 NULL -10390.0
+-919086142 uP86Gk44hMQJd -10390.0
+-919000494 NULL -14534.0
+-919000494 SDw8F62m1k4E8tR1YSIfT8 -14534.0
+-918847065 NULL 12969.0
+-918847065 kJPN7Y1u 12969.0
+-918789155 NULL NULL
+-918789155 07E7K7b8A20SU0y1Dls8ph NULL
+-918529931 NULL 5265.0
+-918529931 TI3s2Wwu6V5I 5265.0
+-918121938 NULL -13932.0
+-918121938 oVbH3m8HbK1lc7T23YH57C -13932.0
+-917825506 NULL NULL
+-917825506 41Uxbkbws7x1oN1M5I NULL
+-917704043 NULL -10286.0
+-917704043 3q4Mex4ok5Wj6j706Vh -10286.0
+-917493150 NULL NULL
+-917493150 wB06b612o55 NULL
+-917046030 NULL NULL
+-917046030 r3CkPpt24 NULL
+-916999377 NULL NULL
+-916999377 2H45o NULL
+-916961534 NULL NULL
+-916961534 x28I3iV5XV870TUy3Fww NULL
+-916953929 NULL -14533.0
+-916953929 X5yxXhH276Da44jYTNH -14533.0
+-916222455 NULL NULL
+-916222455 dG8B5PQ3b85U362G6huu NULL
+-916043488 NULL 3151.0
+-916043488 BPm3v8Y4 3151.0
+-915948843 NULL 5468.0
+-915948843 631404U8x6HaGp62LP6o 5468.0
+-915663531 NULL 6474.0
+-915663531 Ru7fjpH4C0YOXs6E 6474.0
+-915661374 NULL -10967.0
+-915661374 3VI3qF5L1rHaYfdh -10967.0
+-915640580 NULL NULL
+-915640580 HhttPdKp4 NULL
+-915397772 NULL NULL
+-915397772 oL6efjpa0wqd2oPGrY5 NULL
+-915318164 NULL NULL
+-915318164 IpqVS NULL
+-914887396 NULL NULL
+-914887396 o2IY6 NULL
+-914258866 NULL -1639.0
+-914258866 833RMHSwWvEg01S -1639.0
+-913794094 NULL NULL
+-913794094 x5x5bxme NULL
+-913679461 NULL 1997.0
+-913679461 V0aUb2c8h6sjlr1EaX5 1997.0
+-913636403 NULL 583.0
+-913636403 6bRSgHOELMA 583.0
+-912375058 NULL 423.0
+-912375058 RDLOWd758CODQgBBA8hd172 423.0
+-912295013 NULL NULL
+-912295013 oE25GuI6446Hq06G4f NULL
+-912111773 NULL NULL
+-912111773 6mQ6vL4d NULL
+-911635327 NULL 8335.0
+-911635327 njaAsltsX10oT 8335.0
+-911476567 NULL 151.0
+-911476567 8166346wkHn 151.0
+-911324411 NULL NULL
+-911324411 0dtVL5IFPf NULL
+-911228872 NULL NULL
+-911228872 o78FOQh4Cb NULL
+-910580287 NULL NULL
+-910580287 a8b541Q2 NULL
+-910451798 NULL NULL
+-910451798 W8515aW82L NULL
+-909727812 NULL 186.0
+-909727812 GhpgUQt6bUc8o8XVJuQ7 186.0
+-909436335 NULL -4713.0
+-909436335 5Qs1U0b3B0c7Le72Q3537o -4713.0
+-909182530 NULL -15920.0
+-909182530 l7OeCG6Wug1Rl42lSpR -15920.0
+-908724863 NULL -15454.0
+-908724863 2By078 -15454.0
+-907944783 NULL 4059.0
+-907944783 Csi0Uf 4059.0
+-907424078 NULL NULL
+-907424078 fwo2yaxByegAga0 NULL
+-907260907 NULL -2565.0
+-907260907 oyxhfOgpr -2565.0
+-907171178 NULL NULL
+-907171178 HfdKopI NULL
+-906869010 NULL NULL
+-906869010 djLQ52K3s5ReY3TQyWRl6 NULL
+-906573604 NULL -15016.0
+-906573604 h2Q4cPeN8N81eVRhLb -15016.0
+-905885890 NULL 14557.0
+-905885890 Holgr1pin 14557.0
+-904839154 NULL -11563.0
+-904839154 Cgxm73PXWLlvbIm -11563.0
+-904556183 NULL -8980.0
+-904556183 Y6L2obKBywPjBP -8980.0
+-904482179 NULL NULL
+-904482179 k3GuA6TkIg322clu8v55qt NULL
+-904319033 NULL -14585.0
+-904319033 puBJkwCpLJ7W3O144W -14585.0
+-903930060 NULL -15851.0
+-903930060 WpFX83866M7mrm -15851.0
+-902987695 NULL -2179.0
+-902987695 D2cd5 -2179.0
+-901934849 NULL NULL
+-901934849 6tH7O0gw0gJ NULL
+-901668129 NULL NULL
+-901668129 P3p570gQ8 NULL
+-901621628 NULL NULL
+-901621628 6i3yr5yS8g5fm8I NULL
+-900865361 NULL NULL
+-900865361 mvl88OrMd5O2WYb NULL
+-900785703 NULL NULL
+-900785703 khbfu5Ui5SQ88sCkT05Vq NULL
+-900747299 NULL NULL
+-900747299 6EkcHQJ8dg NULL
+-900583154 NULL NULL
+-900583154 1sJei0Gh NULL
+-900044062 NULL NULL
+-900044062 YwV7DVLB0kut0S5p NULL
+-899756697 NULL NULL
+-899756697 5nDHTQtR7 NULL
+-899654283 NULL 15570.0
+-899654283 5cN3HGI4KhCrP 15570.0
+-899422227 NULL NULL
+-899422227 73xdw4X NULL
+-899385340 NULL NULL
+-899385340 b1Q3yX NULL
+-898241885 NULL NULL
+-898241885 pM6Gt05s1YJeii NULL
+-898159835 NULL -11098.0
+-898159835 dU3yfLb6E1y0pxkF5V3q2ca7 -11098.0
+-897937425 NULL -8153.0
+-897937425 317wH7BrLo671 -8153.0
+-896870823 NULL -11838.0
+-896870823 fduo5V7B450uUI3H436Q8 -11838.0
+-896721091 NULL -5772.0
+-896721091 26x031 -5772.0
+-896629175 NULL -13008.0
+-896629175 10 -13008.0
+-895220143 NULL NULL
+-895220143 Xtw4eM002sS1101p NULL
+-894717108 NULL NULL
+-894717108 GPijCx2T8HpOF1dN6 NULL
+-894716315 NULL -16379.0
+-894716315 2ArdYqML3654nUjGJk3 -16379.0
+-894394703 NULL -3178.0
+-894394703 tFtQ26aDMi1tJ026luPcu -3178.0
+-893936088 NULL NULL
+-893936088 j5QBwD36Ay5 NULL
+-892924454 NULL NULL
+-892924454 akfWVGu2g0io NULL
+-892838981 NULL 14187.0
+-892838981 lB0rr84T78QE8UDVl0e1qI 14187.0
+-892021712 NULL NULL
+-892021712 SimYF0Eg747f7 NULL
+-891785445 NULL NULL
+-891785445 31m1d3P3AD NULL
+-891685715 NULL NULL
+-891685715 G3a6E0Mll NULL
+-891462242 NULL NULL
+-891462242 ebM416Q021xLQ0h8qDS7qw7U NULL
+-891360004 NULL NULL
+-891360004 2G6B67cu1BUqRd3I52Ug20 NULL
+-891316721 NULL -16030.0
+-891316721 gBg7S1x5obicN -16030.0
+-889865534 NULL 13080.0
+-889865534 6U78kBJIpi8IK 13080.0
+-889347475 NULL -15020.0
+-889347475 XR134uVnw0 -15020.0
+-889199554 NULL 10147.0
+-889199554 BWiKbU8s3 10147.0
+-888580429 NULL -11781.0
+-888580429 s78853HC8E -11781.0
+-888297283 NULL NULL
+-888297283 883d6jHJd20KHEEu0R1Kx41 NULL
+-888269444 NULL NULL
+-888269444 F13clAHtHaUN2t6wLxE7S3T NULL
+-888205906 NULL NULL
+-888205906 HjA52J2d64r1fFmBITy1 NULL
+-887750610 NULL NULL
+-887750610 ffT4cTjYf2NJ NULL
+-886426182 NULL NULL
+-886426182 0i88xYq3gx1nW4vKjp7vBp3 NULL
+-885978876 NULL 12578.0
+-885978876 2Q18K28dIIL 12578.0
+-885862812 NULL 11253.0
+-885862812 ne08407 11253.0
+-885788893 NULL NULL
+-885788893 LX6QHG6sEmBAIbA6e6Am24 NULL
+-885777373 NULL NULL
+-885777373 F3wAY4D4XxYt NULL
+-885643945 NULL -15237.0
+-885643945 VU46u4nh7 -15237.0
+-885024586 NULL NULL
+-885024586 8E57cicQ2cn6Ld NULL
+-884913446 NULL NULL
+-884913446 USRi4RC1gq NULL
+-884671420 NULL NULL
+-884671420 QbGMK NULL
+-884258732 NULL -6786.0
+-884258732 A6M1di6LUH -6786.0
+-884036730 NULL NULL
+-884036730 EJPe8rNq3c5piv4 NULL
+-883621809 NULL 1360.0
+-883621809 36N3svcnLD30QwA6im3 1360.0
+-883321517 NULL NULL
+-883321517 RJsFsi3a85svGBfT8 NULL
+-883070198 NULL NULL
+-883070198 3q00y4llsXx3Ao NULL
+-882327854 NULL 6348.0
+-882327854 u67X1Fjm 6348.0
+-882306033 NULL 6798.0
+-882306033 3h01b8LfJ812JV4gwhfT8u 6798.0
+-882279083 NULL NULL
+-882279083 BYD32YqIWlOgNpL NULL
+-881691043 NULL 6262.0
+-881691043 6238rs225bo0RaTw5 6262.0
+-881630661 NULL NULL
+-881630661 3e27C1jTdTQPdvCWi4if NULL
+-879467959 NULL -15727.0
+-879467959 H8fHVjq8WdXUE4uRPjnyv -15727.0
+-878577676 NULL NULL
+-878577676 ea23p2penJ5W5T4 NULL
+-878189860 NULL 6071.0
+-878189860 3H2oU6X61KsBGr 6071.0
+-878138057 NULL 8128.0
+-878138057 pE1ogG1QvOu0Wabw6xaK7 8128.0
+-877935440 NULL NULL
+-877935440 mLcj2Cd6L317mcE8Wyv5 NULL
+-877904231 NULL NULL
+-877904231 6Dnq5hvbkk NULL
+-876398260 NULL NULL
+-876398260 2kechLGLtV1b2FK6h NULL
+-876146622 NULL 2624.0
+-876146622 dQsIgL 2624.0
+-875527384 NULL NULL
+-875527384 3W0GorVd6GStPF5S43 NULL
+-875176385 NULL NULL
+-875176385 2dU734cvN0P2k65CE NULL
+-874869587 NULL 3540.0
+-874869587 XGUO2CP2gvDb 3540.0
+-874677727 NULL NULL
+-874677727 HJPWlb23N NULL
+-874250037 NULL -10928.0
+-874250037 K3imEW3S7DRihILRDg7qq -10928.0
+-873326413 NULL NULL
+-873326413 CDpW47u3jamce NULL
+-873076557 NULL 14197.0
+-873076557 m1r44v7Vm6O6Et2 14197.0
+-873020594 NULL 8854.0
+-873020594 6648LI57SdO7 8854.0
+-871945058 NULL NULL
+-871945058 lcL6t NULL
+-871906906 NULL -13617.0
+-871906906 dV86D7yr0I62C -13617.0
+-871729045 NULL 14015.0
+-871729045 7cyjB646NeRKiJ2 14015.0
+-871616990 NULL -15590.0
+-871616990 yfR36R70W0G1KV4dmi1 -15590.0
+-871053717 NULL 15217.0
+-871053717 QEF7UG67MDaTK504bNrF 15217.0
+-870474082 NULL NULL
+-870474082 tdFP6MjN5b NULL
+-870467382 NULL NULL
+-870467382 0TN06s2WtHc NULL
+-870425713 NULL -5903.0
+-870425713 muCmnW -5903.0
+-869516919 NULL -12524.0
+-869516919 08toVN737ni -12524.0
+-869486135 NULL NULL
+-869486135 3hF4a683G4Vc2N1 NULL
+-868817933 NULL NULL
+-868817933 g2E87 NULL
+-867544560 NULL 4898.0
+-867544560 xvB8xiamF7iQXl 4898.0
+-867442312 NULL -2476.0
+-867442312 J15C2 -2476.0
+-867244616 NULL -7246.0
+-867244616 rmshOh3J4a8 -7246.0
+-866979144 NULL -4050.0
+-866979144 oX8e2n7518CMTFQP -4050.0
+-866635979 NULL NULL
+-866635979 TBI20Ba2YuO44754E2BM NULL
+-865393033 NULL 15600.0
+-865393033 yujO07KWj 15600.0
+-865331336 NULL NULL
+-865331336 prt6lty28No8xni NULL
+-865283615 NULL -7691.0
+-865283615 j8fJ4l2w4F8fI51 -7691.0
+-864971483 NULL 15786.0
+-864971483 86S3F 15786.0
+-864283055 NULL NULL
+-864283055 K7qIIaDS5myN14c0cJeiaW0U NULL
+-863968456 NULL NULL
+-863968456 X48kUVK NULL
+-863937148 NULL NULL
+-863937148 vUum3jv NULL
+-863239524 NULL NULL
+-863239524 Nr3652 NULL
+-863132856 NULL -7645.0
+-863132856 CFJ0FK0U143Js1C433sB -7645.0
+-862663154 NULL -10288.0
+-862663154 4fB0amev -10288.0
+-861976705 NULL 13894.0
+-861976705 Q282L11WWFni6av8FGn 13894.0
+-861754250 NULL NULL
+-861754250 74aYA3Gbe0GnVm6lR3Vjh NULL
+-861509703 NULL NULL
+-861509703 5tdqo738BN NULL
+-861480849 NULL 8068.0
+-861480849 04H5odDUy1D1rhGLXGu 8068.0
+-861309065 NULL 11795.0
+-861309065 df3lR0B 11795.0
+-860437234 NULL -16300.0
+-860437234 Fb2W1r24opqN8m6571p -16300.0
+-860076303 NULL -6204.0
+-860076303 LBaRLg3 -6204.0
+-859482455 NULL NULL
+-859482455 14fnT7A11Y6fE NULL
+-859441069 NULL 804.0
+-859441069 01JwN1NVt1HU3sW3 804.0
+-857706481 NULL 7598.0
+-857706481 5Xab46Lyo 7598.0
+-857698490 NULL NULL
+-857698490 SeT3MaHfQ2 NULL
+-857484124 NULL NULL
+-857484124 65NJ5u6TD716OP4hB NULL
+-857251816 NULL NULL
+-857251816 II1600yobW7p NULL
+-854749761 NULL NULL
+-854749761 pL11U1oq48Oj202Wy2W7B NULL
+-854062357 NULL NULL
+-854062357 2j2W3xc42VkSq4Nh NULL
+-853928913 NULL NULL
+-853928913 y67hcqjKO4U8fUb0HQ2usfR NULL
+-853693520 NULL NULL
+-853693520 i6G060 NULL
+-853266570 NULL NULL
+-853266570 uHdg0rSe NULL
+-853174251 NULL -8708.0
+-853174251 kf0sFoH0CK1HEIOTntq -8708.0
+-853118632 NULL NULL
+-853118632 er5IUhd505r0lT6sc20Tef5q NULL
+-852886934 NULL 14782.0
+-852886934 80gvNBSa2gsK 14782.0
+-852864663 NULL NULL
+-852864663 bMKsgu5OdWu4vjTa1nt NULL
+-852228124 NULL -7170.0
+-852228124 563414Ge0cqfJ8v5SaIQ2W3j -7170.0
+-852028718 NULL 13117.0
+-852028718 4H8qjd2yd36j5W 13117.0
+-851613195 NULL NULL
+-851613195 34p208wH32 NULL
+-851067861 NULL NULL
+-851067861 lD0h1L8852501n NULL
+-850655056 NULL 270.0
+-850655056 35nkObNsO2p045cJ3 270.0
+-850434394 NULL NULL
+-850434394 4eWh0BTSBEu2 NULL
+-850295959 NULL NULL
+-850295959 WMIgGA73 NULL
+-850094446 NULL NULL
+-850094446 8Bshk4eu870M3VyJ8c4D1upr NULL
+-849805213 NULL -8090.0
+-849805213 Q0TBQ1G -8090.0
+-849536850 NULL NULL
+-849536850 U3MM60y4t4Ykm NULL
+-849286968 NULL NULL
+-849286968 U83eH0Y8P1 NULL
+-848947717 NULL NULL
+-848947717 34o2M3 NULL
+-848499154 NULL NULL
+-848499154 hnrm68NiEQCL4 NULL
+-848015950 NULL NULL
+-848015950 6shc3Y NULL
+-847982475 NULL NULL
+-847982475 0A2k346GBQ NULL
+-847027327 NULL 7125.0
+-847027327 uDfpSf0NyIIVM4fEiB 7125.0
+-846755534 NULL NULL
+-846755534 HkX7hlT2TK0Je7ersfx72o NULL
+-846621959 NULL NULL
+-846621959 vYn2xNo5rSob8 NULL
+-846295151 NULL -11227.0
+-846295151 MJXhdk7vIa46PIHO5R67oc -11227.0
+-846105768 NULL NULL
+-846105768 EPCRx8ObNv51rOF NULL
+-845913091 NULL NULL
+-845913091 30J4VggeJfk6l24Wj3Q28 NULL
+-845450039 NULL NULL
+-845450039 HG52N6amN NULL
+-845351824 NULL -11392.0
+-845351824 1WRcDois5 -11392.0
+-844936480 NULL 967.0
+-844936480 c10CM0 967.0
+-844484962 NULL -4971.0
+-844484962 KwqjKvxg17Ro85YEQYKl -4971.0
+-844012686 NULL 1681.0
+-844012686 3U6OMM3 1681.0
+-843407989 NULL NULL
+-843407989 wLm0KO7A8v2S88GbFqMvP4 NULL
+-841726321 NULL -4011.0
+-841726321 dLYpl55rytQl5 -4011.0
+-841119873 NULL NULL
+-841119873 c06VUBp33f60n5jx3o1LWkpF NULL
+-841037187 NULL NULL
+-841037187 2sJpP82Tgm NULL
+-840060695 NULL 3642.0
+-840060695 wwp1nVv5UU85 3642.0
+-839442116 NULL NULL
+-839442116 ai6nt5l5gCA3p71Q NULL
+-839336166 NULL NULL
+-839336166 r5osh2m507Ot387emvDxNY NULL
+-839128780 NULL NULL
+-839128780 H581dL8J4qjjb1DAPl NULL
+-838938703 NULL 13331.0
+-838938703 1n7x4rXnvWH4wpAlqR 13331.0
+-838810013 NULL NULL
+-838810013 N016jPED08o NULL
+-838092834 NULL NULL
+-838092834 ugwHoBG4yXt5uEB NULL
+-837529554 NULL NULL
+-837529554 yAl0UQdXg0 NULL
+-837502922 NULL -4665.0
+-837502922 1x4u8Rl7K43d -4665.0
+-837491676 NULL -5701.0
+-837491676 l7tR3qF46ej7i4uNNuT -5701.0
+-837401773 NULL NULL
+-837401773 0qc8p NULL
+-836821859 NULL NULL
+-836821859 3tARUFE5DqTe7 NULL
+-835897529 NULL NULL
+-835897529 pn1RqShxA031bNd NULL
+-835885621 NULL NULL
+-835885621 IQnp6a50KF NULL
+-834997594 NULL NULL
+-834997594 nhv8Bo2VCHouwa01x1 NULL
+-834792062 NULL NULL
+-834792062 vuNP0Q21M NULL
+-833770179 NULL -10682.0
+-833770179 NEK1MY7NTS36Ov4FI7xQx -10682.0
+-833480226 NULL NULL
+-833480226 rNGcxI3PkU2K NULL
+-833350254 NULL -2626.0
+-833350254 ij735 -2626.0
+-833225522 NULL NULL
+-833225522 f448c4T81BR NULL
+-831789704 NULL NULL
+-831789704 HnxkMvjEL0rF NULL
+-831527643 NULL -4242.0
+-831527643 mo7jS24bQ1gHL83xV1h -4242.0
+-831468557 NULL NULL
+-831468557 5ealv0e6tmDnoS0bOmX NULL
+-831072496 NULL -14674.0
+-831072496 105aFDAt30c4rI4U -14674.0
+-830792891 NULL 4991.0
+-830792891 a 4991.0
+-830610139 NULL NULL
+-830610139 3FD2bt1EIaA0YrK NULL
+-830330452 NULL -3056.0
+-830330452 x1j2lFY5YIM5 -3056.0
+-830255911 NULL -15550.0
+-830255911 s0v64CJR22531 -15550.0
+-829660206 NULL -269.0
+-829660206 V78Fw1q -269.0
+-829429490 NULL NULL
+-829429490 DJxhgDD0mIQeDgs8 NULL
+-829409877 NULL NULL
+-829409877 WnN1oFEwhY4Heri3J7Jp8St NULL
+-829224292 NULL NULL
+-829224292 M7xB374ixGAp NULL
+-828175356 NULL 5679.0
+-828175356 id8wug16 5679.0
+-828036042 NULL -11179.0
+-828036042 g5IWA5kuuD7uqD6e -11179.0
+-827490071 NULL -28.0
+-827490071 CbbC4f5L6l3L6k -28.0
+-827437326 NULL NULL
+-827437326 doI56Fdj4YgK3Q335155DC6 NULL
+-827212561 NULL NULL
+-827212561 NULL NULL
+-826698716 NULL -7554.0
+-826698716 sUPw866pq -7554.0
+-826497289 NULL -16309.0
+-826497289 54o058c3mK6ewOQ5 -16309.0
+-825630453 NULL NULL
+-825630453 A4GncFvJV8J2o0 NULL
+-824231957 NULL 571.0
+-824231957 pCP7Qwk2d1i5vBo 571.0
+-823911743 NULL 9528.0
+-823911743 W4GLKnA2Nwk0HJ 9528.0
+-823391707 NULL NULL
+-823391707 YXy2ny NULL
+-822796861 NULL 4980.0
+-822796861 l5nrEK5m0jdOLive1Abf 4980.0
+-822641109 NULL -1988.0
+-822641109 126aSR -1988.0
+-822105069 NULL NULL
+-822105069 HN3I58 NULL
+-821957276 NULL NULL
+-821957276 827237W7G6hlU0Y60L6Sm8 NULL
+-821544816 NULL NULL
+-821544816 361M8OmUcKBPrFTcY5 NULL
+-821479281 NULL NULL
+-821479281 OA8N5i1UCdUv87i NULL
+-820979485 NULL NULL
+-820979485 x8RcAb7i5eeGulx4U200AN8F NULL
+-820914973 NULL NULL
+-820914973 O5hC1xAT0EgNEke1U2a NULL
+-820334107 NULL -11044.0
+-820334107 k2TbxJ8 -11044.0
+-820296689 NULL -9716.0
+-820296689 NjjnM2LBF4a6Ru3V11F2L5F -9716.0
+-820082961 NULL NULL
+-820082961 nuKKHi NULL
+-819695018 NULL NULL
+-819695018 KM06o1 NULL
+-819686939 NULL -15267.0
+-819686939 d77tW1Y01AT7U -15267.0
+-819657767 NULL -14640.0
+-819657767 101n6n461o -14640.0
+-819293491 NULL NULL
+-819293491 rNQc0BIm7sXFm NULL
+-819152895 NULL NULL
+-819152895 NULL NULL
+-819072322 NULL NULL
+-819072322 1x1vyb NULL
+-818778720 NULL -13177.0
+-818778720 Y2C704h6OUXJQ3 -13177.0
+-818530073 NULL 12364.0
+-818530073 4MBCqDL6Ajkinmi6b66mV3l 12364.0
+-818322129 NULL -8814.0
+-818322129 8hMHl64qhfWSdC -8814.0
+-817914787 NULL NULL
+-817914787 24IGcUngY NULL
+-817390578 NULL NULL
+-817390578 t18Qu NULL
+-816466475 NULL NULL
+-816466475 TJ0dMNm6s44r77567jk5 NULL
+-816457176 NULL NULL
+-816457176 Dk6tb8PWF643qyp258O2 NULL
+-816258769 NULL NULL
+-816258769 NkGnA NULL
+-816219598 NULL -6913.0
+-816219598 SMeUi5ykXo0Vi6I -6913.0
+-815431072 NULL 3658.0
+-815431072 5RyN2I4gSo 3658.0
+-815246045 NULL 863.0
+-815246045 41ET3yiToLbb 863.0
+-815145125 NULL -1050.0
+-815145125 KW3ODiKfbW3fS03W625w0 -1050.0
+-814733321 NULL 14208.0
+-814733321 AL03kjYOWmhlSL7 14208.0
+-814492539 NULL NULL
+-814492539 0JiVbqP3cG7I20UlHuc NULL
+-814278392 NULL NULL
+-814278392 hM04012HKnNf8M7KhUi1x NULL
+-814200252 NULL NULL
+-814200252 8WC462P3JLhaXTN NULL
+-813519584 NULL 15869.0
+-813519584 7g13w40lHv7wDaf1m4MQ8m 15869.0
+-813470399 NULL 1719.0
+-813470399 2c06XNT8UBA24Wj6A 1719.0
+-813066804 NULL 253.0
+-813066804 fo7hQ0lLo0K78 253.0
+-812907272 NULL 16171.0
+-812907272 3HlOeEUFSLcdPk 16171.0
+-812890478 NULL NULL
+-812890478 N6BMOr83ecL NULL
+-812631881 NULL NULL
+-812631881 2eJegODpls2LBS2vAFl1OvQ NULL
+-812125875 NULL NULL
+-812125875 S7ilpQTm4W0w NULL
+-812098587 NULL 3844.0
+-812098587 S7a45WOo7 3844.0
+-811617946 NULL NULL
+-811617946 ka4xX NULL
+-811374694 NULL NULL
+-811374694 5sQ4qB4ML02YI5Jo NULL
+-811306029 NULL NULL
+-811306029 8TY873CPrH82JPwf NULL
+-810657270 NULL NULL
+-810657270 38XES7ME0108oTOlH1I7BiWn NULL
+-810605184 NULL NULL
+-810605184 5Y2H4C4 NULL
+-809646785 NULL NULL
+-809646785 hO87j00S6nkbuEFh1rL5ie NULL
+-809434660 NULL NULL
+-809434660 16P2kxk NULL
+-809338218 NULL NULL
+-809338218 OLGDak48jmju2r2v26LQIlx6 NULL
+-809162203 NULL NULL
+-809162203 shMOr3b8w1F4F38D4wih0 NULL
+-808977278 NULL NULL
+-808977278 kN1P50L5yeSw NULL
+-808669759 NULL 2489.0
+-808669759 WQk67I0Gk 2489.0
+-808412943 NULL 10896.0
+-808412943 32Q066E 10896.0
+-807026780 NULL -11797.0
+-807026780 53OS1HM8 -11797.0
+-806862853 NULL 1154.0
+-806862853 3M5o368CP0fJpOiskA6pYeVu 1154.0
+-806644736 NULL NULL
+-806644736 N5sqt2k NULL
+-806577273 NULL -9151.0
+-806577273 Fg05tGcQqI78e4cgDn538v -9151.0
+-805261582 NULL NULL
+-805261582 Sf0Oqe1G NULL
+-804959350 NULL -8072.0
+-804959350 v2wRf43gpDUt1lfieq -8072.0
+-804390280 NULL -10737.0
+-804390280 uNJPm -10737.0
+-803922887 NULL 11044.0
+-803922887 NlcyfK 11044.0
+-803890067 NULL -14982.0
+-803890067 e4ie13qpm6LnXF21C5 -14982.0
+-803735837 NULL -731.0
+-803735837 F65r0poAe2 -731.0
+-803418256 NULL 4328.0
+-803418256 2STdm3wq2BF3JJ6DdRWbl 4328.0
+-803212304 NULL -12742.0
+-803212304 8xFru -12742.0
+-803037284 NULL 12744.0
+-803037284 tbT14Ok7O3 12744.0
+-802835753 NULL 5389.0
+-802835753 vp8Wvr40Cc3xhVFK230H 5389.0
+-802740333 NULL 10725.0
+-802740333 QI3ERh13R 10725.0
+-802706391 NULL NULL
+-802706391 fXlXavWXcFSIIBpA0EFW NULL
+-802505616 NULL NULL
+-802505616 07l7e0adRi8LBK6xlp NULL
+-801853022 NULL 4102.0
+-801853022 246uQD3RQ50gYIC 4102.0
+-801826220 NULL NULL
+-801826220 jqTYMlhRr2crw1Oo NULL
+-801477739 NULL 7120.0
+-801477739 qngJ5VN31QNp3E6GBwnHW 7120.0
+-799860725 NULL NULL
+-799860725 b01GFHiSj4Yig1tk4bSex NULL
+-799465722 NULL 8437.0
+-799465722 owIkpnSNVggUyb 8437.0
+-799432675 NULL 8219.0
+-799432675 6b72Wg1nICD 8219.0
+-799316028 NULL NULL
+-799316028 MjLlK02ifGBIrla0EE NULL
+-798837262 NULL NULL
+-798837262 U16wryUI NULL
+-798734139 NULL NULL
+-798734139 FO81NX2MQ1Tv2 NULL
+-798407322 NULL -7179.0
+-798407322 pSueHN -7179.0
+-797105418 NULL 221.0
+-797105418 WIEX4XTWhXhLlUN2R5U 221.0
+-796614931 NULL -4586.0
+-796614931 NL26D4S5nlPfyP322Jdf -4586.0
+-796484582 NULL NULL
+-796484582 gj5IRDNe62057M NULL
+-796067023 NULL NULL
+-796067023 lBoQXomNtF2131ymAFCB NULL
+-795697606 NULL 2384.0
+-795697606 k461t1SjcE7 2384.0
+-795348154 NULL 10681.0
+-795348154 AS86Ghu6q7 10681.0
+-794965918 NULL -14280.0
+-794965918 4jY48jNU58G17PN75 -14280.0
+-794175309 NULL NULL
+-794175309 NIp47 NULL
+-793534749 NULL NULL
+-793534749 SrPY18L7FKBp8WO NULL
+-793309769 NULL NULL
+-793309769 Bu1QtYr5sfcMxyD2c650GW NULL
+-792974154 NULL NULL
+-792974154 bO45EOf7qg NULL
+-792579516 NULL -972.0
+-792579516 1rK23 -972.0
+-792520485 NULL NULL
+-792520485 rhOWNGEuth8f875WLX NULL
+-792320898 NULL -11447.0
+-792320898 r323qatD6 -11447.0
+-791904835 NULL NULL
+-791904835 5TVADgO1Sm3 NULL
+-790372233 NULL NULL
+-790372233 s26CNKKyFYtKdyb8tjVNOI4 NULL
+-790091464 NULL NULL
+-790091464 wb5t2UC67jy84KejtAa0B3 NULL
+-788756901 NULL -2477.0
+-788756901 bTT4xqcq -2477.0
+-788340979 NULL -12026.0
+-788340979 orlgoEeyBMj56nf30c -12026.0
+-788249780 NULL NULL
+-788249780 t6WHE0 NULL
+-787673764 NULL 7358.0
+-787673764 o12yq 7358.0
+-786987890 NULL -3937.0
+-786987890 Vn4S1kpwhJ016S007em56Ll -3937.0
+-786957690 NULL -11542.0
+-786957690 7Nu0NxOnHSsecxU56XQbJR -11542.0
+-786856993 NULL 11603.0
+-786856993 5hnxP2wPy2xu 11603.0
+-786733525 NULL -15289.0
+-786733525 OVMDTY5Y4L8iaNgw8V3qrfHP -15289.0
+-786730910 NULL -12443.0
+-786730910 r4fjAjel4jHu27vYa1Vox3 -12443.0
+-786511858 NULL NULL
+-786511858 7Kp283Fa5 NULL
+-785399865 NULL NULL
+-785399865 cWKyPK NULL
+-783282474 NULL 10852.0
+-783282474 sRY8V5YDK4MvY 10852.0
+-783026310 NULL NULL
+-783026310 5EkunkVdHYCBxI30D36L6oM NULL
+-783004176 NULL -16092.0
+-783004176 7JDt8xM8G778vdBUA1 -16092.0
+-781894394 NULL -11227.0
+-781894394 r670GY0N4E6UGSDB4ol7Dq -11227.0
+-781678672 NULL 4434.0
+-781678672 QYW7H8ta63kcfM 4434.0
+-780969554 NULL -10291.0
+-780969554 3EUchdWMUIeH -10291.0
+-780875740 NULL 2438.0
+-780875740 L28vl 2438.0
+-779155816 NULL 1008.0
+-779155816 LI5r3n388rMETn6 1008.0
+-778541551 NULL 15678.0
+-778541551 t66fkUkSNP78t2856Lcn 15678.0
+-778279302 NULL -4837.0
+-778279302 WhgF327bC -4837.0
+-778246344 NULL NULL
+-778246344 tKRUQ0e NULL
+-778016256 NULL -13050.0
+-778016256 UL8rV5M81k6hVJ -13050.0
+-777462522 NULL -7508.0
+-777462522 P6ueYr2 -7508.0
+-777049854 NULL NULL
+-777049854 Egf7KV7TeT NULL
+-776603040 NULL NULL
+-776603040 M5MJdPI5Agcy5T NULL
+-776253314 NULL NULL
+-776253314 DWNvg304j4KTMEs2174Cy1 NULL
+-776034535 NULL NULL
+-776034535 B5ixKlEEhbWPV64wjMe8Os NULL
+-775576170 NULL 7006.0
+-775576170 0F5hWvBF2QOa8A5ThNXq 7006.0
+-775326158 NULL NULL
+-775326158 eQ80MW0h728I204P87YXc NULL
+-775148395 NULL -2415.0
+-775148395 meeTTbLafs2P5R326YX -2415.0
+-774129472 NULL NULL
+-774129472 jeOFkUX5u5flcN5hCr4 NULL
+-772812640 NULL NULL
+-772812640 uu20hX NULL
+-772614141 NULL 15490.0
+-772614141 e8VT3kOBd654uL7eH 15490.0
+-772447230 NULL 10671.0
+-772447230 a0YMQr03O 10671.0
+-772037548 NULL NULL
+-772037548 e4j6pjQIS16PPiA86wnd4Ke NULL
+-771993806 NULL 9517.0
+-771993806 b565l4rv1444T25Gv0 9517.0
+-771786697 NULL 11056.0
+-771786697 A2REERChgbC5c4 11056.0
+-771611394 NULL -8703.0
+-771611394 RD6GIHDtJFX4481 -8703.0
+-770958258 NULL 8059.0
+-770958258 uXu1mj3tWs36cGpu4p3aHq 8059.0
+-770852384 NULL NULL
+-770852384 252YCGI2DXxpdm7 NULL
+-770833110 NULL 11010.0
+-770833110 H42eLKO 11010.0
+-770484362 NULL 4869.0
+-770484362 kkbBss8Ie65SWe 4869.0
+-770058550 NULL NULL
+-770058550 NkytEWShAd84ojaKa7A NULL
+-769831732 NULL NULL
+-769831732 vvT8tpW518 NULL
+-769401304 NULL -14355.0
+-769401304 b2Mvom63qTp4o -14355.0
+-768237704 NULL NULL
+-768237704 2X0XRt20B70F7B NULL
+-767533824 NULL NULL
+-767533824 3y1D3A7yxnQenJs NULL
+-767291532 NULL NULL
+-767291532 2V1uLd04r0RYwOkCb4M650 NULL
+-767080360 NULL NULL
+-767080360 5dENnx6VjU14iaLFV0IR NULL
+-766689905 NULL 8759.0
+-766689905 40U0TKk6diRgJyuF2nNRvwX 8759.0
+-766356937 NULL 9863.0
+-766356937 3Fv6q4 9863.0
+-766298505 NULL NULL
+-766298505 tKyw2O2N NULL
+-766188002 NULL NULL
+-766188002 5oUu102B4tP7 NULL
+-764942166 NULL NULL
+-764942166 7aiqnEep0bBDD04D370 NULL
+-764743983 NULL 12553.0
+-764743983 g8my0HUWRfpYm65D85r 12553.0
+-764462878 NULL NULL
+-764462878 D5SANA44B8Jm NULL
+-764411410 NULL 7724.0
+-764411410 emSl6BHnVPfb3DF 7724.0
+-764178373 NULL NULL
+-764178373 XJtfPtv77 NULL
+-764043397 NULL NULL
+-764043397 7SgB6fRom0PLEjCH1 NULL
+-763516052 NULL -5964.0
+-763516052 GQnJxB67 -5964.0
+-763305556 NULL 15154.0
+-763305556 66r78Ydee71CbjdYC4AJ7p 15154.0
+-762443988 NULL NULL
+-762443988 iB4VI NULL
+-762216959 NULL NULL
+-762216959 v2xYG8X7P8HjL3n83 NULL
+-761848023 NULL NULL
+-761848023 f8bmVVkEd2TmeFy7wKq11 NULL
+-761589729 NULL NULL
+-761589729 QT8H3G133r01VKlM3P45iP NULL
+-761324268 NULL NULL
+-761324268 mOofw7T57kng3V161Mg4YYK NULL
+-761238457 NULL -1583.0
+-761238457 2wg3vWU73P -1583.0
+-761010465 NULL NULL
+-761010465 W3bnCmB NULL
+-760793071 NULL 2505.0
+-760793071 r78rHjV753fk 2505.0
+-760170906 NULL NULL
+-760170906 h15Uw8Uidj2K5OYWOqQ5 NULL
+-760064186 NULL -8681.0
+-760064186 jT4878c3Xl6Td2He37E -8681.0
+-759733294 NULL NULL
+-759733294 1381p1T7376j NULL
+-759670834 NULL -5469.0
+-759670834 Uj28ubp026RCw -5469.0
+-759561469 NULL 9835.0
+-759561469 Y23NbD7X86FbcRP4 9835.0
+-759392740 NULL NULL
+-759392740 b44J5OuRTQmmQ8LSyy3EJWFC NULL
+-759301896 NULL 1887.0
+-759301896 04p3riU20lo7A7s0OvBepl 1887.0
+-758062600 NULL 7111.0
+-758062600 vA0bEQqO50LlKcj7AAR56P63 7111.0
+-757292921 NULL NULL
+-757292921 FMVqyn08R5kuEv8 NULL
+-757279959 NULL NULL
+-757279959 XFs4Txv64 NULL
+-757031735 NULL NULL
+-757031735 6AmfdSoTPmVvXdgM8CP20sx NULL
+-756618727 NULL 8381.0
+-756618727 3m1iT73ta75bK6Uek0R15bk 8381.0
+-756134523 NULL NULL
+-756134523 v555LQ NULL
+-756025241 NULL NULL
+-756025241 7jtP3C204M33 NULL
+-754845455 NULL -2737.0
+-754845455 4emY37V37o2B3dw426G7v -2737.0
+-754555297 NULL -1767.0
+-754555297 P5PT4r2Syq367 -1767.0
+-753745605 NULL 9677.0
+-753745605 5h6A0ennI 9677.0
+-753518696 NULL 12479.0
+-753518696 JNvHHPxCgj8DDGXQ4S4J 12479.0
+-753212347 NULL 5815.0
+-753212347 Kroshtr 5815.0
+-752592373 NULL -12214.0
+-752592373 vHmH8uLxnn3 -12214.0
+-752544676 NULL -1268.0
+-752544676 nq1ILBd14E500xFU2 -1268.0
+-752438482 NULL NULL
+-752438482 0rNlSy15Xy1Sx NULL
+-752189183 NULL NULL
+-752189183 1JGq6EC86Lc67B NULL
+-752093742 NULL -8130.0
+-752093742 JUrP4 -8130.0
+-751232356 NULL -27.0
+-751232356 aBL26v67ENBr3T47crW -27.0
+-750478127 NULL 13049.0
+-750478127 O2aPT 13049.0
+-750229909 NULL -5369.0
+-750229909 0qPPiSO4o5ar2J7Cml -5369.0
+-750036400 NULL NULL
+-750036400 M22umK0Q1S2Q80358P6 NULL
+-749367136 NULL NULL
+-749367136 vu46n3nUvv7ls2K4k18tvw NULL
+-749219999 NULL -15202.0
+-749219999 8tw6WvMeBl -15202.0
+-749205511 NULL NULL
+-749205511 R426VY66G3alY1rISv8 NULL
+-749171518 NULL -948.0
+-749171518 w0DQUy50WiL3x37FO0V3BUsD -948.0
+-749140515 NULL NULL
+-749140515 t8Lh68DM18aEr4G7J7dX2Ee3 NULL
+-748768326 NULL NULL
+-748768326 T6ubsbx62cmP NULL
+-748695819 NULL NULL
+-748695819 Dtsb7s36eASJVh1Xi32K NULL
+-748287202 NULL NULL
+-748287202 ngUkOdOBOk67o3mcc NULL
+-746687884 NULL 5831.0
+-746687884 x65DlyX2Q41Xq7AEIS6 5831.0
+-746411545 NULL 8982.0
+-746411545 7t7tL288aFIHcovPB8 8982.0
+-746397183 NULL -12964.0
+-746397183 seBu6qmL15E2WFJC37raLXVL -12964.0
+-745791354 NULL 1517.0
+-745791354 5T0k456v4 1517.0
+-745089551 NULL NULL
+-745089551 X7V01RlgoCPC NULL
+-745056837 NULL NULL
+-745056837 Tt1BcY8q3welBr7o22KI3jF NULL
+-744949831 NULL 4122.0
+-744949831 7C1L24VM7Ya 4122.0
+-744728348 NULL NULL
+-744728348 47kMyrkI1u51WS7y75pyy6S NULL
+-744217268 NULL NULL
+-744217268 7Xt47WK7fF0OYPUVU3Br2d7M NULL
+-744216386 NULL 15524.0
+-744216386 c6oaqf0P6yLPl 15524.0
+-743921863 NULL NULL
+-743921863 B7grxpIo8Tf33RjGTg0 NULL
+-743039371 NULL NULL
+-743039371 v5Ai3KlB6mT NULL
+-743030587 NULL -4682.0
+-743030587 6wSoiDE22846jIPRH87 -4682.0
+-742909456 NULL -11326.0
+-742909456 LOeiVy1yE -11326.0
+-742909275 NULL NULL
+-742909275 W3CqX8FmJInM1Bj733 NULL
+-742907493 NULL 1912.0
+-742907493 fyy678nyJ 1912.0
+-742677488 NULL 8047.0
+-742677488 mjO2T3mw 8047.0
+-742672838 NULL 12499.0
+-742672838 5SUwkc 12499.0
+-742561638 NULL NULL
+-742561638 34vL40uLcr11po3k NULL
+-742416139 NULL NULL
+-742416139 8eiti74gc5m01xyMKSjUIx NULL
+-741433118 NULL -2991.0
+-741433118 DKu7H1t4Xp7x -2991.0
+-741339611 NULL -7465.0
+-741339611 8nHEnu -7465.0
+-741171393 NULL NULL
+-741171393 KxewntCJ0mlktP NULL
+-740823515 NULL NULL
+-740823515 SM7dk420iy847o8hn NULL
+-740792160 NULL -1388.0
+-740792160 6P5hI87IBw5BwP4T36lkB2 -1388.0
+-740228725 NULL 208.0
+-740228725 s1144yNh6c8C172Rt35gs8W 208.0
+-739906131 NULL NULL
+-739906131 HgP1PNA6gggV0v0L801 NULL
+-739895170 NULL NULL
+-739895170 c333R38QfrwRxL6 NULL
+-739867273 NULL NULL
+-739867273 3naCWc31dAKsWl6B NULL
+-739502997 NULL NULL
+-739502997 50J08qKXC44G8HDMu7FF NULL
+-739006691 NULL -5920.0
+-739006691 6aOBGB8OUjUW -5920.0
+-738747840 NULL NULL
+-738747840 vmAT10eeE47fgH20pLi NULL
+-738340092 NULL NULL
+-738340092 e6F51mDOrN481rfhqk67lF40 NULL
+-738306196 NULL NULL
+-738306196 NULL NULL
+-737908233 NULL 12197.0
+-737908233 aH38aH4ob 12197.0
+-737864729 NULL NULL
+-737864729 plmMo28a0B5CtT63uC NULL
+-737485644 NULL NULL
+-737485644 OQQgFcOqtpjdsCCejbvAAi NULL
+-737481933 NULL -5000.0
+-737481933 p17JVeQ653n6bqAd1U -5000.0
+-737386226 NULL NULL
+-737386226 BfGE56ef2ej NULL
+-736991807 NULL -9397.0
+-736991807 XI2ak7U1yv05DAI71 -9397.0
+-736467451 NULL 9570.0
+-736467451 hrO0S0XuD1W4 9570.0
+-736164643 NULL 9931.0
+-736164643 R0hA3Hq2VsjnFh 9931.0
+-736091351 NULL NULL
+-736091351 Y3y7fhrNY0jD3 NULL
+-735935786 NULL NULL
+-735935786 u41obQ17leqGpf7MTP3a NULL
+-735854636 NULL 14061.0
+-735854636 1r83U1NHOu8n42Kn8gTpb 14061.0
+-735849607 NULL -13345.0
+-735849607 6XR3D100e -13345.0
+-735694489 NULL -13377.0
+-735694489 pExfh0681v3E6 -13377.0
+-735527781 NULL NULL
+-735527781 Uwyw8I50 NULL
+-735434877 NULL NULL
+-735434877 0D6533 NULL
+-735434221 NULL NULL
+-735434221 S21x1133h NULL
+-735428232 NULL -9305.0
+-735428232 7MJd7FQgF0U2O -9305.0
+-734604102 NULL NULL
+-734604102 5yInU8IMwclXc2 NULL
+-734267047 NULL NULL
+-734267047 swXIs3182y1 NULL
+-733761968 NULL NULL
+-733761968 c23S6Ky4w7Ld21lAbB NULL
+-733170197 NULL NULL
+-733170197 77Xe27p0 NULL
+-732816018 NULL -11484.0
+-732816018 2SDuH1XKN0 -11484.0
+-732307278 NULL NULL
+-732307278 14272peG NULL
+-732065049 NULL NULL
+-732065049 hSb1x4 NULL
+-731427364 NULL NULL
+-731427364 cb33ksHDf3lMrp0OW4dMdvos NULL
+-730289443 NULL NULL
+-730289443 2n2cwjWAp2R56c2GYtKHQf0i NULL
+-730274540 NULL 184.0
+-730274540 l74x86GvdbDjbKlTDSet 184.0
+-730200970 NULL NULL
+-730200970 Ca1Tsx2aY1q NULL
+-730076015 NULL 477.0
+-730076015 ss 477.0
+-729494353 NULL NULL
+-729494353 K2mrUY NULL
+-729196225 NULL NULL
+-729196225 J1an665U NULL
+-729075167 NULL NULL
+-729075167 m3itBVH5 NULL
+-727471145 NULL NULL
+-727471145 MgMjEMssUEN1 NULL
+-727408446 NULL -12375.0
+-727408446 CV6cC5cYQ7Ybki12sokm5Mb -12375.0
+-727158360 NULL NULL
+-727158360 0uA7It5CJu16eJ4JS1uuxNJ NULL
+-726473298 NULL NULL
+-726473298 OFy1a1xf37f75b5N NULL
+-726087078 NULL NULL
+-726087078 qNaAh8CdJxxTG8y0 NULL
+-726003912 NULL -6947.0
+-726003912 3VAKJ8mb2ABVNB73 -6947.0
+-725473374 NULL -7961.0
+-725473374 2y2n4Oh0B5PHX8mAMXq4wId2 -7961.0
+-725416692 NULL NULL
+-725416692 Ja872lhYn6T31tPIOB85eb NULL
+-725093321 NULL 5204.0
+-725093321 5eY1KB3 5204.0
+-725009730 NULL 6867.0
+-725009730 38vX8Oyvme 6867.0
+-724537508 NULL 7601.0
+-724537508 kf3B156 7601.0
+-724156789 NULL NULL
+-724156789 ANpel663M NULL
+-724060262 NULL -3214.0
+-724060262 WR23n63UMj53mr6v -3214.0
+-723614366 NULL NULL
+-723614366 5UbQg8TK4M8M71HeMyjKE46W NULL
+-723592170 NULL -14014.0
+-723592170 NOLF8Cv0gchW6gNPX4 -14014.0
+-722944609 NULL NULL
+-722944609 71rC651of3swM7w13027216 NULL
+-722873402 NULL NULL
+-722873402 8GloEukQ0c68JDmnYL53 NULL
+-722639484 NULL NULL
+-722639484 5d346Sw21w4 NULL
+-721614386 NULL 10419.0
+-721614386 10 10419.0
+-720557696 NULL -4213.0
+-720557696 l8a3n6TRqVKuh0j14h3 -4213.0
+-720277866 NULL NULL
+-720277866 M462UC NULL
+-720001688 NULL -8236.0
+-720001688 wKX3SY -8236.0
+-719899789 NULL -10134.0
+-719899789 umNykRkKiih6Cx6K42 -10134.0
+-719840187 NULL NULL
+-719840187 Wg1pcPx06 NULL
+-719612366 NULL 2570.0
+-719612366 1Tr66A4C6WsuK 2570.0
+-718863675 NULL NULL
+-718863675 NSLFx NULL
+-718719178 NULL NULL
+-718719178 6IVP5k05jNwj1Jqr8UAPD1r NULL
+-718664327 NULL NULL
+-718664327 tm85HNL7au4na NULL
+-718594328 NULL -6352.0
+-718594328 kNiLPXX0ANEwwNotk -6352.0
+-718299286 NULL -14224.0
+-718299286 Qg446fs0y6K5wk4ly37V -14224.0
+-718063540 NULL NULL
+-718063540 1wb02g3mc NULL
+-716198125 NULL 4943.0
+-716198125 DRodCrmwkH35tuMes8V 4943.0
+-715566961 NULL NULL
+-715566961 AuQ7FrUgXua NULL
+-714487901 NULL NULL
+-714487901 iD4A3pEIP5pkv3 NULL
+-714255290 NULL 8521.0
+-714255290 ol6KFpp67So1KEp 8521.0
+-714107996 NULL NULL
+-714107996 806X4jKS0Lo7cO NULL
+-713284555 NULL NULL
+-713284555 ladcLQv2Hj7mc NULL
+-712811861 NULL NULL
+-712811861 qC2BA3oYp NULL
+-712573435 NULL NULL
+-712573435 U6pNsB0e00xOD5JGR7I NULL
+-711795817 NULL NULL
+-711795817 4hMaavAE NULL
+-711576614 NULL NULL
+-711576614 cb5LPuiF NULL
+-711545009 NULL 12440.0
+-711545009 BI34Ap4r3c210R1UBF6Lp 12440.0
+-711482620 NULL 1252.0
+-711482620 m82LRy1eagTwDU1bceV 1252.0
+-711481384 NULL NULL
+-711481384 ov5xeO NULL
+-711465111 NULL -13228.0
+-711465111 Qd6E0xuPQ2Q3cJOD4k2SV5M -13228.0
+-711123222 NULL -12100.0
+-711123222 XJk8krRPmgi7Le3a4t2X -12100.0
+-711088427 NULL 3709.0
+-711088427 U8gc1Gs1Yw6kx4XNtI6 3709.0
+-710765959 NULL 16242.0
+-710765959 JJIVc80Pgv 16242.0
+-710706524 NULL NULL
+-710706524 y3VheNURDylWr0mse3mv0 NULL
+-710318638 NULL 11550.0
+-710318638 S45x7dofb8hIodJ4e7bV5P 11550.0
+-709987288 NULL -14159.0
+-709987288 rwQVgJyb85BtCNlnXM47008 -14159.0
+-709936547 NULL NULL
+-709936547 YXbTksK2YAt32i4vi6xyT2 NULL
+-709716529 NULL NULL
+-709716529 woiNv162mnSJ NULL
+-709701040 NULL 2326.0
+-709701040 Nd6hm74FA4k65m2A 2326.0
+-708939757 NULL -11906.0
+-708939757 4t88O3hdap24Qp4182u1 -11906.0
+-708844983 NULL NULL
+-708844983 Qy84s51BfLUtbt NULL
+-708830292 NULL 8825.0
+-708830292 NeXCu 8825.0
+-707000433 NULL NULL
+-707000433 316t3Sw NULL
+-706922198 NULL NULL
+-706922198 28131eU1pSKC35ADujoL NULL
+-706843609 NULL NULL
+-706843609 AmYxfSOBdJv8B48l0VAeeI NULL
+-706227781 NULL NULL
+-706227781 jO055kB85qLIyl5VJVkj8 NULL
+-706213503 NULL NULL
+-706213503 48xYJd1 NULL
+-706163634 NULL 13366.0
+-706163634 V4Rn66rM3aHx5 13366.0
+-705207660 NULL NULL
+-705207660 m1cWNMV8fcdiJAmDPPLg3y NULL
+-704909057 NULL -10278.0
+-704909057 04m0G4 -10278.0
+-704628812 NULL NULL
+-704628812 xlB1L NULL
+-704297012 NULL -7572.0
+-704297012 780mFMK0kakDt0nB -7572.0
+-703928918 NULL NULL
+-703928918 2fbAP8EJ4D5sArmrfUo3r NULL
+-703523559 NULL NULL
+-703523559 Ydq2dX NULL
+-703039722 NULL NULL
+-703039722 7WYO11kWn6fT2pOlh5sTDIwG NULL
+-701824447 NULL 13246.0
+-701824447 cL5mDs1nJgQ0IbgBH 13246.0
+-701668855 NULL NULL
+-701668855 f527p7MLm6Griq41TA8cR4 NULL
+-701166275 NULL NULL
+-701166275 46Y3G8Rf12bRc7KcY NULL
+-701037296 NULL -4190.0
+-701037296 J2El2C63y31dNp4rx -4190.0
+-700300206 NULL NULL
+-700300206 kdqQE010 NULL
+-699797732 NULL 4012.0
+-699797732 JLB4Y 4012.0
+-698914845 NULL 13561.0
+-698914845 8b1rapGl7vy44odt4jFI 13561.0
+-698529907 NULL NULL
+-698529907 gv7hVe3 NULL
+-698191930 NULL NULL
+-698191930 00MmJs1fiJp37y60mj4Ej8 NULL
+-697609216 NULL NULL
+-697609216 jxkVe1YhhX3 NULL
+-697488741 NULL 5417.0
+-697488741 vl31hFdNGwaI 5417.0
+-697427403 NULL NULL
+-697427403 vA254Q0K7g NULL
+-697278196 NULL 15038.0
+-697278196 W4evHL60eNc8P3HVs 15038.0
+-696436296 NULL -9449.0
+-696436296 384j1RPibybB6R -9449.0
+-695803240 NULL NULL
+-695803240 4nKk4I7T6I4GruCj18 NULL
+-695529452 NULL NULL
+-695529452 7s6O45GD7p4ASq08a26v8 NULL
+-695504237 NULL NULL
+-695504237 5314P0Xu85GA60lJaVPd10 NULL
+-694015335 NULL 9540.0
+-694015335 y3XV0j2p80 9540.0
+-693906915 NULL NULL
+-693906915 4j16o2bV34xFa36 NULL
+-693724726 NULL NULL
+-693724726 23R287wx8g5N22kp034161 NULL
+-693113839 NULL NULL
+-693113839 03SnoFNyeHxQ2X NULL
+-692803121 NULL NULL
+-692803121 V6IvSow NULL
+-692700240 NULL 10368.0
+-692700240 CR57NnVhHbrfuaD 10368.0
+-692652612 NULL -16015.0
+-692652612 x11H3Bbq7N -16015.0
+-692591329 NULL -12485.0
+-692591329 055VA1s2XC7q70aD8S0PLpa -12485.0
+-692469187 NULL NULL
+-692469187 6h6Kk4v030PNPj3Kc NULL
+-691793383 NULL NULL
+-691793383 40i6Qf07 NULL
+-691500474 NULL NULL
+-691500474 r1RYHxl1G1um8 NULL
+-690785065 NULL NULL
+-690785065 2YOJT4Sveu NULL
+-690377505 NULL NULL
+-690377505 QuuIO6rBsRCOs7AcM2 NULL
+-690254761 NULL NULL
+-690254761 dv4kivc NULL
+-689498872 NULL NULL
+-689498872 8ndB1604 NULL
+-689268099 NULL 5478.0
+-689268099 5N2rSTIXMp1 5478.0
+-689159238 NULL 657.0
+-689159238 MjI4i6E 657.0
+-688450515 NULL -14946.0
+-688450515 006bb3K -14946.0
+-688179977 NULL NULL
+-688179977 b NULL
+-687787721 NULL NULL
+-687787721 cvqc36vwri7R6kbXKO NULL
+-687741322 NULL 5948.0
+-687741322 v782YnRD5 5948.0
+-687691627 NULL NULL
+-687691627 Y8QG0P1v36K02sXHc84 NULL
+-687470971 NULL NULL
+-687470971 o76L1vdV0 NULL
+-687172465 NULL -5307.0
+-687172465 dPDI1Xegw -5307.0
+-686726503 NULL -15432.0
+-686726503 507ydguwwD2G5Xm -15432.0
+-686436142 NULL NULL
+-686436142 61shR2LjQ NULL
+-685079469 NULL 1970.0
+-685079469 L4WQG81b36T 1970.0
+-684931335 NULL -15906.0
+-684931335 RsyD82XJvE3bY83IP0 -15906.0
+-684842867 NULL NULL
+-684842867 1kFnQ8Xw3 NULL
+-684471798 NULL 9588.0
+-684471798 0Fx62li4 9588.0
+-684231619 NULL -15534.0
+-684231619 13YQWi5 -15534.0
+-683591861 NULL -6060.0
+-683591861 TT4CHN -6060.0
+-683525493 NULL -384.0
+-683525493 Q2V028 -384.0
+-683520575 NULL NULL
+-683520575 d5gs2s6trx20upPuW3SAi4o NULL
+-682804669 NULL NULL
+-682804669 4Y6F2QEy0v68 NULL
+-681738484 NULL 867.0
+-681738484 AH6e820tOV6HSThd30w 867.0
+-681570624 NULL 5989.0
+-681570624 VXXGafnyn1mkpSpsOd8 5989.0
+-680963583 NULL -6789.0
+-680963583 WBT2XnSX5c176OF -6789.0
+-680871647 NULL NULL
+-680871647 f0QmOLoGtou7gq42fy01Brn NULL
+-680526056 NULL NULL
+-680526056 3R4fUi3r5212N4L05I47VU3 NULL
+-680417016 NULL 14099.0
+-680417016 AFv66x72c72hjHPYqV0y4Qi 14099.0
+-680152656 NULL NULL
+-680152656 Bm8K5s1OHOM1YA65S NULL
+-679633235 NULL 11166.0
+-679633235 16XJOPr281TmT72Y7xqB 11166.0
+-679459513 NULL NULL
+-679459513 2H2X40NiXBIW2f NULL
+-679447706 NULL 8005.0
+-679447706 iQ51KkUwoE6YRVW4 8005.0
+-678315326 NULL 2480.0
+-678315326 pMb26nLwOep46S63x1WjPC 2480.0
+-677995242 NULL NULL
+-677995242 KsmxnX6DTb247Stt NULL
+-677971807 NULL NULL
+-677971807 mnfiV3 NULL
+-677517681 NULL 14826.0
+-677517681 w5p2hepgTqRaL2ELCl 14826.0
+-677042919 NULL 1258.0
+-677042919 4YJx505OYOoh0r6SnMF6UF8 1258.0
+-676939616 NULL 4661.0
+-676939616 8YHG1 4661.0
+-676680436 NULL 7751.0
+-676680436 6y204sjgbO 7751.0
+-675737118 NULL NULL
+-675737118 j3Vya61f2BWk3H NULL
+-675551396 NULL NULL
+-675551396 170wJmORY68C7jdI6 NULL
+-675249658 NULL 13618.0
+-675249658 87SexCLsDwtqFHL73T6255 13618.0
+-674846687 NULL NULL
+-674846687 8l433e5J6I0fj0PM NULL
+-674384350 NULL 12220.0
+-674384350 FqW3gSD2 12220.0
+-674231012 NULL 16280.0
+-674231012 y4AB7n55M6 16280.0
+-673848121 NULL NULL
+-673848121 gjsL355dId0aH1mj0yGky1 NULL
+-673181993 NULL NULL
+-673181993 IblvAnYcnAwTiEM NULL
+-673034938 NULL NULL
+-673034938 0pOTqi3O44rEnGQ NULL
+-672191091 NULL 13358.0
+-672191091 Q54v68tVoY852n3kuOO5 13358.0
+-671940285 NULL 15076.0
+-671940285 Se4jyihvl80uOdFD 15076.0
+-671342269 NULL -16274.0
+-671342269 3DE7EQo4KyT0hS -16274.0
+-671097916 NULL NULL
+-671097916 iR76SEs2C4V NULL
+-670969300 NULL 1187.0
+-670969300 88RyHpqWAT8f71rv0 1187.0
+-670908417 NULL NULL
+-670908417 NULL NULL
+-670497702 NULL NULL
+-670497702 gSJS1mpb5Khx8140U3 NULL
+-670376861 NULL NULL
+-670376861 uRcc7 NULL
+-669632311 NULL NULL
+-669632311 3r3sDvfUkG0yTP3LnX5mNQRr NULL
+-669373262 NULL NULL
+-669373262 Y00YWUI2gXA NULL
+-667926140 NULL NULL
+-667926140 vkbGEG4q11J550U7u5EnSs NULL
+-667036345 NULL NULL
+-667036345 bX48CaI1txU5AGn2AmEuKj NULL
+-667019924 NULL NULL
+-667019924 uo1oJ7l NULL
+-666880837 NULL 1043.0
+-666880837 Dq1bA4POpt5yuC5L1t 1043.0
+-666649586 NULL -11776.0
+-666649586 8308ogefQEebr48 -11776.0
+-666529801 NULL NULL
+-666529801 DqpcjoX3m2h4hj4721T2M NULL
+-666325620 NULL NULL
+-666325620 a5MyXRAIwPX1CO3w53Rar8wf NULL
+-666109639 NULL -1379.0
+-666109639 aNPQtU530N76 -1379.0
+-665749876 NULL 8591.0
+-665749876 4bKIO5xLDn544QH2 8591.0
+-665315088 NULL -11774.0
+-665315088 88G108W -11774.0
+-665185806 NULL -2779.0
+-665185806 c5E4j1 -2779.0
+-664764100 NULL NULL
+-664764100 3yeq763N NULL
+-664758147 NULL -6192.0
+-664758147 QW7bld1X2L -6192.0
+-664501487 NULL NULL
+-664501487 TYkMYn1v6giCqpy30s NULL
+-664344817 NULL NULL
+-664344817 5e8nU8q6vy6hcskp844R8Kt NULL
+-664341725 NULL NULL
+-664341725 64K51WMTs NULL
+-664084238 NULL -2477.0
+-664084238 5wwtFk8g4 -2477.0
+-664049013 NULL 2663.0
+-664049013 s3Q3nW2K1uFid4x1NeDVn5 2663.0
+-663707772 NULL NULL
+-663707772 M76D058tDDD25v3g NULL
+-663328541 NULL -5198.0
+-663328541 D7G7Ubc64866fFh -5198.0
+-663027791 NULL NULL
+-663027791 053saXP1gR5mg06644Qd NULL
+-662882243 NULL NULL
+-662882243 V5oM8YBx2Kq63oy0um7 NULL
+-662503053 NULL NULL
+-662503053 a1N8y NULL
+-662446721 NULL 9071.0
+-662446721 HR8x5tq1Wv25njjUXp 9071.0
+-662355156 NULL -5400.0
+-662355156 BH3PJ6Nf5T0Tg -5400.0
+-662294896 NULL -14518.0
+-662294896 Gk17JaCg7 -14518.0
+-661755475 NULL NULL
+-661755475 05RA7lJ5odEHh13Uj8JkO15D NULL
+-661621138 NULL NULL
+-661621138 L15l8i5k558tBcDV20 NULL
+-661477150 NULL NULL
+-661477150 216N1n3bRv NULL
+-660286687 NULL 1012.0
+-660286687 4f8ynytRB62xY5AoVfELTku 1012.0
+-660174857 NULL NULL
+-660174857 VkXY4IOSO NULL
+-660093358 NULL NULL
+-660093358 jH7VH38C77M08h5GNPp8M NULL
+-660084489 NULL NULL
+-660084489 AfW67EWaHMIQ7yvfqHRUwB NULL
+-659859636 NULL 10289.0
+-659859636 kStdI4lGTUx 10289.0
+-659186324 NULL NULL
+-659186324 QDK4Rtj7CX01p NULL
+-659145473 NULL NULL
+-659145473 iaD4Rnj1 NULL
+-659068128 NULL 12214.0
+-659068128 13q2kEQ65Y8EY0S88y7uFa5q 12214.0
+-659065840 NULL NULL
+-659065840 KjAOvl4yBG7Rw7d NULL
+-658968870 NULL NULL
+-658968870 5UuE7jmo6vi40e7 NULL
+-657828756 NULL -5958.0
+-657828756 S4Ww7287AGI80OOTGeN60 -5958.0
+-657809731 NULL 14054.0
+-657809731 AKSumJy2fP 14054.0
+-657384344 NULL 6900.0
+-657384344 Mp0srA26pW81q335754k00 6900.0
+-657225349 NULL NULL
+-657225349 U1aid52v NULL
+-656987896 NULL NULL
+-656987896 NULL NULL
+-656621483 NULL 11248.0
+-656621483 6bO0XXrj 11248.0
+-656593869 NULL NULL
+-656593869 62JFFg7GbAn1 NULL
+-656149143 NULL NULL
+-656149143 M10C4DWJ0Gn NULL
+-656146882 NULL NULL
+-656146882 12YH5vxufod8Wu1R NULL
+-655795794 NULL 4090.0
+-655795794 NwuQjkMCF4KqgmCh1D7PH5 4090.0
+-655733894 NULL NULL
+-655733894 HA1yh NULL
+-655641600 NULL -8129.0
+-655641600 sq301oxBJAfWx3ldfvFs1dF3 -8129.0
+-654968650 NULL -8557.0
+-654968650 s7We5FvPwxD0 -8557.0
+-654830637 NULL NULL
+-654830637 iW12567av NULL
+-654751567 NULL -4809.0
+-654751567 HM0GBe1SIB0GMA8274T21 -4809.0
+-654374827 NULL NULL
+-654374827 OEfPnHnIYueoup NULL
+-654231359 NULL -3640.0
+-654231359 854W2USVx2swYb5 -3640.0
+-654132946 NULL NULL
+-654132946 1emD5WuAWePl22 NULL
+-653871722 NULL 13268.0
+-653871722 7v1FU 13268.0
+-653502799 NULL 14398.0
+-653502799 H25ywXWg5J 14398.0
+-652756870 NULL NULL
+-652756870 3N1o1bou84BHA70 NULL
+-652391262 NULL 4943.0
+-652391262 cNav7FGYOHd3EUXMS 4943.0
+-651266779 NULL NULL
+-651266779 sr5s7Tu8 NULL
+-651131620 NULL 1385.0
+-651131620 324X0 1385.0
+-650579342 NULL NULL
+-650579342 4p32f3dqm6X0Vyd NULL
+-650301029 NULL NULL
+-650301029 L0MMUTo8C5rj NULL
+-650239890 NULL -9841.0
+-650239890 3080Y5smP4JT6 -9841.0
+-650027443 NULL NULL
+-650027443 5nV8bh0O NULL
+-649760889 NULL -2305.0
+-649760889 683xqGH06ttCI5q -2305.0
+-648704945 NULL NULL
+-648704945 02v8WnLuYDos3Cq NULL
+-648392003 NULL -12374.0
+-648392003 eWc3t8r71Mlq -12374.0
+-648068904 NULL 3756.0
+-648068904 01L3ajd5YosmyM330V3s 3756.0
+-647642792 NULL NULL
+-647642792 EKsWjbi762Thn44n NULL
+-647247257 NULL NULL
+-647247257 2C1S7MUYL5NWPARvQU NULL
+-646910476 NULL NULL
+-646910476 BcTvH1XwLh0QJGAU2wA NULL
+-646477070 NULL NULL
+-646477070 xBQhmqkimw7Du6qnJk NULL
+-646339276 NULL NULL
+-646339276 2yd00UDPJUO37S4qfT0gHyg NULL
+-646295381 NULL NULL
+-646295381 1B3WMD5LSk65B2Moa NULL
+-645781572 NULL NULL
+-645781572 278v67J NULL
+-645776788 NULL NULL
+-645776788 thdJS602TWQpuNxcpWwk0 NULL
+-645108590 NULL -1309.0
+-645108590 hnyI5T -1309.0
+-644743845 NULL -9934.0
+-644743845 pECUTmRpXCoh4iVU0e -9934.0
+-644442330 NULL NULL
+-644442330 Y0P5Re5poIwn NULL
+-644125466 NULL -8040.0
+-644125466 kDgST488GNctbHl -8040.0
+-643591379 NULL -14133.0
+-643591379 Kw3RwUP6RQaQCgVSHjU0Gqr4 -14133.0
+-643109215 NULL NULL
+-643109215 KPS5d134FEJJu NULL
+-642457423 NULL NULL
+-642457423 ijmD5iqIymg NULL
+-642352375 NULL NULL
+-642352375 2vtmB0qNlHlGV15P1p NULL
+-642242459 NULL -228.0
+-642242459 084055856V0l -228.0
+-642177596 NULL 5609.0
+-642177596 KAbJb 5609.0
+-642100019 NULL -10879.0
+-642100019 6D82psrBv0Hi07o -10879.0
+-641108454 NULL -1655.0
+-641108454 275JjYk724e -1655.0
+-640911032 NULL NULL
+-640911032 04Yu8RntCU7amJtj NULL
+-640155079 NULL 13878.0
+-640155079 Jh7KP0 13878.0
+-639830056 NULL NULL
+-639830056 q0qMo2mPF NULL
+-639730180 NULL NULL
+-639730180 LD1u8eTfXl NULL
+-639661074 NULL -5544.0
+-639661074 Ku22N3ec -5544.0
+-638825747 NULL NULL
+-638825747 ox4gTH52 NULL
+-638546466 NULL NULL
+-638546466 CJIO2 NULL
+-638494713 NULL -16168.0
+-638494713 d4YeS73lyC6l -16168.0
+-638371995 NULL NULL
+-638371995 7Sb0367 NULL
+-638236518 NULL -13470.0
+-638236518 D8uSK63TOFY064bwF -13470.0
+-637617059 NULL -9886.0
+-637617059 6E5g66uV1fm6 -9886.0
+-637615240 NULL 7029.0
+-637615240 4aE5M3pU0 7029.0
+-637588182 NULL 9962.0
+-637588182 e4rLBwDgWm1S4fl264fmpC 9962.0
+-637544459 NULL -2049.0
+-637544459 346v1tVDI4iB -2049.0
+-637509859 NULL NULL
+-637509859 hCwu446fq4108mQ4x62Pr NULL
+-637485072 NULL -8346.0
+-637485072 BfW7r -8346.0
+-637440229 NULL NULL
+-637440229 uY123ioA1pjD4Ife5M NULL
+-637305415 NULL NULL
+-637305415 y4M5U7WAv4eCCp7 NULL
+-637153545 NULL NULL
+-637153545 j60Kr2t1K NULL
+-637056796 NULL NULL
+-637056796 VCpG74Yh5 NULL
+-637039550 NULL 10429.0
+-637039550 W3P5WMsmv6UJnfph5D 10429.0
+-636737599 NULL 12853.0
+-636737599 1lh1E3r8fKyRTiC1HwYgN 12853.0
+-636495740 NULL -5121.0
+-636495740 3USqL4 -5121.0
+-636393710 NULL -5909.0
+-636393710 aQ6My4WFN5vO -5909.0
+-635141101 NULL NULL
+-635141101 ss NULL
+-634659237 NULL -5194.0
+-634659237 r01Hdc6b2CRo -5194.0
+-633442328 NULL NULL
+-633442328 K5OgpFUUHCnm3oif6f NULL
+-632554773 NULL 236.0
+-632554773 jc3G2mefLm8mpl8tua3b3 236.0
+-632278524 NULL NULL
+-632278524 5if5K NULL
+-632107906 NULL 9390.0
+-632107906 4tFQX5 9390.0
+-631783210 NULL NULL
+-631783210 8cC24gh NULL
+-631010149 NULL -8731.0
+-631010149 6c6b1XPMiEw5 -8731.0
+-630890827 NULL -7150.0
+-630890827 jKQKJXa3DJGks56Si1cENL8 -7150.0
+-630226103 NULL NULL
+-630226103 vQ0a2oe83D2j36d375fkya NULL
+-629973107 NULL NULL
+-629973107 b NULL
+-629867172 NULL -3277.0
+-629867172 kro4Xu41bB7hiFa -3277.0
+-629475503 NULL NULL
+-629475503 X1cNlHRHJ5h6H8qs832 NULL
+-629330638 NULL NULL
+-629330638 hhb12d5EV7 NULL
+-629254416 NULL 2017.0
+-629254416 f6f4h5NY5Ffi 2017.0
+-627968479 NULL -13012.0
+-627968479 U408t6TLdH18sJeyO -13012.0
+-627816582 NULL -14173.0
+-627816582 g72r712ymd -14173.0
+-627021559 NULL 14688.0
+-627021559 F4e1XPV2Hwg7a3d3x530818 14688.0
+-626932448 NULL -1546.0
+-626932448 E07SN5VEyl -1546.0
+-626424514 NULL NULL
+-626424514 8v3WfTYF315bFL NULL
+-625837902 NULL -5836.0
+-625837902 aD78M5u4m0FfR78 -5836.0
+-625602345 NULL NULL
+-625602345 tN335oXx NULL
+-624769630 NULL NULL
+-624769630 1063cEnGjSal NULL
+-624505634 NULL NULL
+-624505634 N2h00u8 NULL
+-623381272 NULL NULL
+-623381272 ktJI200FR0TY4Oq NULL
+-623012636 NULL 5512.0
+-623012636 m1Bd53TD 5512.0
+-622956305 NULL NULL
+-622956305 b4iTs NULL
+-622859701 NULL 1388.0
+-622859701 sFfOv7WlW1b4ANUm01Xq 1388.0
+-621783323 NULL -8459.0
+-621783323 37JyNK3B4QVE05unM5q -8459.0
+-621149015 NULL -5490.0
+-621149015 876nMq6Po0d428mkF -5490.0
+-620996505 NULL -9677.0
+-620996505 Tx2ghNxT1b -9677.0
+-620782562 NULL -450.0
+-620782562 1rf8FQaP3T01QBY0hAA5PMb -450.0
+-620295346 NULL -2011.0
+-620295346 7SVXqa1T1 -2011.0
+-620140340 NULL NULL
+-620140340 YBRSCj3Qdb24l1MnE5IIr NULL
+-619943931 NULL NULL
+-619943931 iASE7cWnCT4NRf NULL
+-619704614 NULL NULL
+-619704614 1If2J08V08IqLbDcOc184k0 NULL
+-619571504 NULL 2776.0
+-619571504 C1KV2I0wL8wk7C6371 2776.0
+-619392061 NULL NULL
+-619392061 LAi381BGdEy78j4ke NULL
+-618935259 NULL NULL
+-618935259 b NULL
+-618636239 NULL -13323.0
+-618636239 ak3wct6anGAdab6IH -13323.0
+-618456924 NULL 7628.0
+-618456924 4E0nI655Vd0uNE31pU8x4SD 7628.0
+-617998763 NULL 1373.0
+-617998763 x058FPu4i1B7v1W 1373.0
+-617263915 NULL NULL
+-617263915 8IgBmN0xkLDIlj2y NULL
+-617025388 NULL NULL
+-617025388 PLFB86o84end3tdsS2hVL NULL
+-616810827 NULL NULL
+-616810827 RVa8teOcCN NULL
+-616680895 NULL -16149.0
+-616680895 0AgcEEPHf4vXNU -16149.0
+-616147774 NULL NULL
+-616147774 PUjn241mg3Qfjj6nG51 NULL
+-615585213 NULL 10268.0
+-615585213 vD1G3Nt7U24 10268.0
+-614871565 NULL -7717.0
+-614871565 2fM8qRJm8x3SkFAvM75 -7717.0
+-614828184 NULL -5241.0
+-614828184 58Vl5WFf8p -5241.0
+-614727924 NULL NULL
+-614727924 ARECS NULL
+-614678162 NULL 14675.0
+-614678162 oa2Tuhc5i72WE417y1 14675.0
+-614265907 NULL NULL
+-614265907 eicMhR0nJt12OH7IO2651bO NULL
+-614168073 NULL 15740.0
+-614168073 6p2vWrdBsj30fSy0c7o5X7m5 15740.0
+-614043298 NULL NULL
+-614043298 e035q4Ba4721NL1l NULL
+-614035346 NULL -13154.0
+-614035346 0onk8EVH -13154.0
+-613772247 NULL NULL
+-613772247 j2UTaANoWtpw2co6Nj3bR2UG NULL
+-613078619 NULL 6052.0
+-613078619 8jKISHtr45yX5sUE0FGdMY 6052.0
+-611994002 NULL NULL
+-611994002 12Y88CFE3600p4daxwcd1x NULL
+-610887675 NULL 3702.0
+-610887675 nYK5s12fK544K 3702.0
+-610854924 NULL NULL
+-610854924 0T08CcDm0fDWR25u NULL
+-610692263 NULL NULL
+-610692263 IAX1cjB8p2 NULL
+-610644732 NULL NULL
+-610644732 FKDPbFp241 NULL
+-610433121 NULL 9774.0
+-610433121 dIw0j 9774.0
+-610020492 NULL NULL
+-610020492 w2FFs00 NULL
+-609917990 NULL NULL
+-609917990 3h8mD2F76eq4mS NULL
+-609818054 NULL NULL
+-609818054 H8dq1J4bt18aF4W48 NULL
+-609338438 NULL NULL
+-609338438 c34CVGK345 NULL
+-609169973 NULL NULL
+-609169973 u6HT8fTw6IgPf2 NULL
+-609095216 NULL 5607.0
+-609095216 51pI6Y6pcEoC4 5607.0
+-609075254 NULL -7555.0
+-609075254 rR4SvF6ME4BtJOx0Q -7555.0
+-609074876 NULL NULL
+-609074876 EcM71 NULL
+-608762183 NULL 5645.0
+-608762183 hW33k4mf1gQ 5645.0
+-608412235 NULL NULL
+-608412235 iINw0m NULL
+-607386418 NULL NULL
+-607386418 05oYA4ya5 NULL
+-607308279 NULL 2234.0
+-607308279 7Y00tGm 2234.0
+-607145105 NULL NULL
+-607145105 0rtl1C NULL
+-606964047 NULL -5282.0
+-606964047 sW5pS8s02FERo5xGn0p -5282.0
+-606705834 NULL NULL
+-606705834 miQXFj3fd8Uk388 NULL
+-606187635 NULL -9076.0
+-606187635 r61k2JwKD1gGJ2D33e7C -9076.0
+-605795810 NULL 81.0
+-605795810 X7L6W 81.0
+-605156830 NULL NULL
+-605156830 5NM44RohO4r6 NULL
+-605065222 NULL NULL
+-605065222 GciA5Y0kP NULL
+-604409214 NULL NULL
+-604409214 oa1p31X62jj14cJ4 NULL
+-603844681 NULL -6622.0
+-603844681 Ovk06Dok3I -6622.0
+-603645790 NULL NULL
+-603645790 2sQ408i6h2V7MI7 NULL
+-603601682 NULL NULL
+-603601682 poE6hx8xV36vG NULL
+-603332229 NULL -12127.0
+-603332229 EkPP1 -12127.0
+-602670850 NULL -7980.0
+-602670850 XD4Ss -7980.0
+-602640740 NULL NULL
+-602640740 s1K04o1 NULL
+-602583536 NULL 13167.0
+-602583536 4gBPJa 13167.0
+-602403777 NULL NULL
+-602403777 M5TxI32kgu NULL
+-602029849 NULL NULL
+-602029849 u8PxNYK4 NULL
+-601968139 NULL NULL
+-601968139 ALpMVq8Q6P01w6 NULL
+-601825532 NULL 11021.0
+-601825532 v4gQqo0bxX256o7EEN42lSoU 11021.0
+-601697788 NULL 15349.0
+-601697788 d64pbe5ih0aYr8gR77 15349.0
+-601502867 NULL NULL
+-601502867 M152O NULL
+-601451098 NULL NULL
+-601451098 5iRDem4pt4 NULL
+-601007307 NULL NULL
+-601007307 nF0c6J04lo3lD0GhK8b7n3g NULL
+-600422927 NULL NULL
+-600422927 A30e7a8ia36g25YQc8xTXBgB NULL
+-600414708 NULL NULL
+-600414708 78NRspEDoL7 NULL
+-600048425 NULL -1079.0
+-600048425 rWCcVpLiV5bqW -1079.0
+-599017697 NULL 3629.0
+
<TRUNCATED>
[10/23] hive git commit: HIVE-14913 : Add new unit tests (Vineet Garg
via Ashutosh Chauhan)
Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/results/clientpositive/spark/vectorization_0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vectorization_0.q.out b/ql/src/test/results/clientpositive/spark/vectorization_0.q.out
index 22fe7cd..e5f5359 100644
--- a/ql/src/test/results/clientpositive/spark/vectorization_0.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorization_0.q.out
@@ -1093,3 +1093,29602 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@alltypesorc
#### A masked pattern was here ####
-3.875652215945533E8 3.875652215945533E8 -3.875716535945533E8 1.436387455459401E9 3.875716535945533E8 0.0 2.06347151720204902E18 3.875716535945533E8 3.875652215945533E8 3.875716535945533E8 1.0 10934 -37224.52399241924 1.0517370547117279E9 -2.06347151720204902E18 1.5020929380914048E17 -64 64
+PREHOOK: query: EXPLAIN extended
+select count(*) from alltypesorc
+ where (((cstring1 LIKE 'a%') or ((cstring1 like 'b%') or (cstring1 like 'c%'))) or
+ ((length(cstring1) < 50 ) and ((cstring1 like '%n') and (length(cstring1) > 0))))
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN extended
+select count(*) from alltypesorc
+ where (((cstring1 LIKE 'a%') or ((cstring1 like 'b%') or (cstring1 like 'c%'))) or
+ ((length(cstring1) < 50 ) and ((cstring1 like '%n') and (length(cstring1) > 0))))
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-1
+ Spark
+ Edges:
+ Reducer 2 <- Map 1 (GROUP, 1)
+#### A masked pattern was here ####
+ Vertices:
+ Map 1
+ Map Operator Tree:
+ TableScan
+ alias: alltypesorc
+ Statistics: Num rows: 12288 Data size: 377237 Basic stats: COMPLETE Column stats: NONE
+ GatherStats: false
+ Filter Operator
+ isSamplingPred: false
+ predicate: ((cstring1 like 'a%') or (cstring1 like 'b%') or (cstring1 like 'c%') or ((length(cstring1) < 50) and (cstring1 like '%n') and (length(cstring1) > 0))) (type: boolean)
+ Statistics: Num rows: 12288 Data size: 377237 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ Statistics: Num rows: 12288 Data size: 377237 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ null sort order:
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
+ Execution mode: vectorized
+ Path -> Alias:
+#### A masked pattern was here ####
+ Path -> Partition:
+#### A masked pattern was here ####
+ Partition
+ base file name: alltypesorc
+ input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+ output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
+ properties:
+ COLUMN_STATS_ACCURATE {"BASIC_STATS":"true","COLUMN_STATS":{"cbigint":"true","cboolean1":"true","cboolean2":"true","cdouble":"true","cfloat":"true","cint":"true","csmallint":"true","cstring1":"true","cstring2":"true","ctimestamp1":"true","ctimestamp2":"true","ctinyint":"true"}}
+ bucket_count -1
+ columns ctinyint,csmallint,cint,cbigint,cfloat,cdouble,cstring1,cstring2,ctimestamp1,ctimestamp2,cboolean1,cboolean2
+ columns.comments
+ columns.types tinyint:smallint:int:bigint:float:double:string:string:timestamp:timestamp:boolean:boolean
+#### A masked pattern was here ####
+ name default.alltypesorc
+ numFiles 1
+ numRows 12288
+ rawDataSize 0
+ serialization.ddl struct alltypesorc { byte ctinyint, i16 csmallint, i32 cint, i64 cbigint, float cfloat, double cdouble, string cstring1, string cstring2, timestamp ctimestamp1, timestamp ctimestamp2, bool cboolean1, bool cboolean2}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde
+ totalSize 377237
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde
+
+ input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+ output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
+ properties:
+ COLUMN_STATS_ACCURATE {"BASIC_STATS":"true","COLUMN_STATS":{"cbigint":"true","cboolean1":"true","cboolean2":"true","cdouble":"true","cfloat":"true","cint":"true","csmallint":"true","cstring1":"true","cstring2":"true","ctimestamp1":"true","ctimestamp2":"true","ctinyint":"true"}}
+ bucket_count -1
+ columns ctinyint,csmallint,cint,cbigint,cfloat,cdouble,cstring1,cstring2,ctimestamp1,ctimestamp2,cboolean1,cboolean2
+ columns.comments
+ columns.types tinyint:smallint:int:bigint:float:double:string:string:timestamp:timestamp:boolean:boolean
+#### A masked pattern was here ####
+ name default.alltypesorc
+ numFiles 1
+ numRows 12288
+ rawDataSize 0
+ serialization.ddl struct alltypesorc { byte ctinyint, i16 csmallint, i32 cint, i64 cbigint, float cfloat, double cdouble, string cstring1, string cstring2, timestamp ctimestamp1, timestamp ctimestamp2, bool cboolean1, bool cboolean2}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde
+ totalSize 377237
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde
+ name: default.alltypesorc
+ name: default.alltypesorc
+ Truncated Path -> Alias:
+ /alltypesorc [alltypesorc]
+ Reducer 2
+ Execution mode: vectorized
+ Needs Tagging: false
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations: count(VALUE._col0)
+ mode: mergepartial
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+#### A masked pattern was here ####
+ NumFilesPerFileSink: 1
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+#### A masked pattern was here ####
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ properties:
+ columns _col0
+ columns.types bigint
+ escape.delim \
+ hive.serialization.extend.additional.nesting.levels true
+ serialization.escape.crlf true
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ TotalFiles: 1
+ GatherStats: false
+ MultiFileSpray: false
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ ListSink
+
+PREHOOK: query: select count(*) from alltypesorc
+ where (((cstring1 LIKE 'a%') or ((cstring1 like 'b%') or (cstring1 like 'c%'))) or
+ ((length(cstring1) < 50 ) and ((cstring1 like '%n') and (length(cstring1) > 0))))
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select count(*) from alltypesorc
+ where (((cstring1 LIKE 'a%') or ((cstring1 like 'b%') or (cstring1 like 'c%'))) or
+ ((length(cstring1) < 50 ) and ((cstring1 like '%n') and (length(cstring1) > 0))))
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+1370
+PREHOOK: query: select min(ctinyint), max(ctinyint), sum(ctinyint), avg(ctinyint) from alltypesorc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select min(ctinyint), max(ctinyint), sum(ctinyint), avg(ctinyint) from alltypesorc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+-64 62 -39856 -4.344925324321378
+PREHOOK: query: select min(csmallint), max(csmallint), sum(csmallint), avg(csmallint) from alltypesorc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select min(csmallint), max(csmallint), sum(csmallint), avg(csmallint) from alltypesorc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+-16379 16376 7435990 810.5504687159363
+PREHOOK: query: select min(cint), max(cint), sum(cint), avg(cint) from alltypesorc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select min(cint), max(cint), sum(cint), avg(cint) from alltypesorc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+-1073279343 1073680599 1438050863785 1.567699622571678E8
+PREHOOK: query: select min(cbigint), max(cbigint), sum(cbigint), avg(cbigint) from alltypesorc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select min(cbigint), max(cbigint), sum(cbigint), avg(cbigint) from alltypesorc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+-2147311592 2145498388 -1698460028409 -1.8515862077935246E8
+PREHOOK: query: select min(cdouble), max(cdouble), sum(cdouble), avg(cdouble) from alltypesorc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select min(cdouble), max(cdouble), sum(cdouble), avg(cdouble) from alltypesorc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+-16379.0 9763215.5639 5.622365303050001E7 6128.586552267278
+PREHOOK: query: select distinct cstring1 from alltypesorc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select distinct cstring1 from alltypesorc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+0042l0d5rPD6sMlJ7Ue0q
+006bb3K
+00LnqxnThlCib
+00MmJs1fiJp37y60mj4Ej8
+00PafC7v
+00RG6GmXCvpNN32S3045C26
+00ekFtl
+00iT08
+00k3yt70n476d6UQA
+014ILGhXxNY7g02hl0Xw
+01I27lE0Ec60Vhk6H72
+01JwN1NVt1HU3sW3
+01L3ajd5YosmyM330V3s
+01oQGbtfGX
+01wk5BRpjoirtQ0KKd2m5X
+02VRbSC5I
+02e5aKv
+02k5poW73QsWM
+02v8WnLuYDos3Cq
+02vDyIVT752
+032Uf58fO
+032inJMJt
+0333uXvwB3ADRa4aP1h
+033ffm5082ng0V
+035i4wu42Rs3Uu1ft5K0AOe
+036tLb
+037y7w5M624WjR07c6
+03Kvh3FL1P5FN0BY37kHpH
+03R4fW3q25Kl
+03SnoFNyeHxQ2X
+03ej428XuL0ryi86e542
+03jQEYjRQjm7
+03n0QGH
+03x70MmrDft3GtJF7y82QL8
+047Nh03HwK
+04A5E86G57oUmoA1r7V
+04H5odDUy1D1rhGLXGu
+04Q88m1uOy0RT86F3K7
+04RSj8yWf6GOxxq6B37jHlTO
+04Y1mA17
+04Yu8RntCU7amJtj
+04fq7M416mV7CwI1q
+04m0G4
+04p3riU20lo7A7s0OvBepl
+04q7g1Qm8cvCmny4S7r
+04vwGN4a82bd6y
+04w7DF25lHW4
+04x2PT7M1favj
+04yYaarM36u3dD3Ho
+053saXP1gR5mg06644Qd
+055VA1s2XC7q70aD8S0PLpa
+058p4c1
+05B0hwk3h12Vv5nOO07WfR
+05RA7lJ5odEHh13Uj8JkO15D
+05XlEbko5Dd31Yw87y7V
+05YFCwrpOl
+05jXQ1CW68sF7G
+05oYA4ya5
+05qf7K4cL0
+060EnWLmWE4K8Pv
+067wD7F8YQ8h32jPa
+06KkQ1787E25QFmGj87yjd
+06Q47xVf1d5JSdb
+06geS0K71heCEffYM
+06hsr0Q0bQe
+06pY725
+07488p5vb4d2
+07E7K7b8A20SU0y1Dls8ph
+07Hofhidd5ClnNx8jTl1
+07l7e0adRi8LBK6xlp
+07rw6mP4WPoYcTNy1R
+07x1c
+081M8a6yJtxj6w51C4d
+084055856V0l
+0863bBy3dkL74WtiERo3L
+08R5I
+08c0T6WJ7gREGr4
+08dVHRg
+08k7WHcnY6K3XyNyK21IaE
+08s07Nn26i3mlR5Bl83Ppo8L
+08toVN737ni
+0A2k346GBQ
+0AKcTvbG7
+0AP3HERf5Ra
+0AaJ5c3bS7m2i
+0AgcEEPHf4vXNU
+0AkI4K24GeFC1Aa2Sr6
+0Apbh7X08i2JyMK
+0CIbHqN05doWKk36Q4
+0CjRwkbxbqh7T0brNr01
+0CkUHn44bl6xbyYLk
+0D6533
+0D7WTl75H3U8V4YFTj1A
+0DM5PsdSMaTmhOK4YxC5u7j
+0DWYRJMc8q8DX2ltX0442
+0Dlv8g24a1Q43
+0E4MkMvDVTEIU4B3
+0EIL81O
+0EU2GSKN4svnsv
+0EnEEuG7h0d01
+0Ew7eF4wD3Oo
+0F5hWvBF2QOa8A5ThNXq
+0FEc2M56c3aXrUw885
+0Fx62li4
+0G60dEaeNN2vkI
+0Grrbs3Mu0
+0HTm73B
+0HxgXxO8E4kP4pBLH8qH
+0I62LB
+0IThjaO883De3DbuerQDt0
+0IX8xRUO
+0J1T41Nj0r72
+0J74Ryg8
+0JiVbqP3cG7I20UlHuc
+0K68k3bdl7jO7
+0KFxcEp5oX6e5365X
+0KG4XT6262r
+0KO13sQD80owUvaRJkgg
+0KX8Y7a660sb
+0LeTlxj6K50Te6uWM
+0M6LCA6u038J33jdFuHfF0AS
+0MGeqBDWUco
+0MPx71oMa
+0N4fmSaB0op1780h
+0N7O6L1Gg1ja
+0OD14f5eu
+0OHV13
+0OerNktBX10PyHs1sE
+0OtfuTVJM42tR837710A7u
+0Pgnxt8CrtOEWy
+0RrH6XDA1
+0RvxJiyole51yN5
+0Ryd7J0wt3N80Yc64GCpr1
+0S3XIH2NDeS0xS
+0SPVSOVDI73t
+0T08CcDm0fDWR25u
+0TN06s2WtHc
+0TQ0HK5x8
+0Tm1yO56P2KC5O18
+0UR5vFxRwBc8qtO
+0UcJbaN8
+0UrqL6yRfK
+0VWukLt
+0W67K0mT27r22f817281Ocq
+0WwMu34P26BUdcVu8q
+0Y641jaPl
+0Y77KBQmKC14u
+0YAn3Qyo
+0a5Aa136
+0ag0Cv
+0b3rr
+0cg0haOcvRSlXg36n2k3k4
+0ciu8m3N8Mds44yxps
+0dtVL5IFPf
+0eBe1
+0eL7WBS304SQ6PAp853
+0eODhoL30gUMY
+0f4422CBSl
+0fjN1U4ogbI
+0g852B
+0h45LRqh8jhT7sxcubL
+0i7NWa31V138w77wJf
+0i88xYq3gx1nW4vKjp7vBp3
+0iqrc5
+0j0P462my2xp8vCY2Oh8s6rn
+0jP5vF5FAwp
+0jRGf5f1Q05O175
+0k3GM
+0kywHd7EpIq611b5F8dkKd
+0l4J5G2jaDC
+0lhcglI
+0m6YOPivJ0VtmA4R6
+0m8aHX5yF5muTQW
+0mQ565Vg5K1886
+0mokQ053qtj
+0mrq5CsKD4aq5mt26hUAYN54
+0mrwaF7Lj8
+0mwvEC1g5p7Ai5p3VWwc
+0ne4VG
+0njk0OC3d8486u
+0o5aasUct374Q
+0oNy2Lac8mgIoM408U8bisc
+0onk8EVH
+0ovL2T
+0p3nIvm1c20J2e
+0p5PiWBMN2nO0y88tnHcw
+0p7O07686VbFeGpK5Aa3
+0p7sCjwPHtR5u1
+0pOH7A4O8aQ37NuBqn
+0pOTqi3O44rEnGQ
+0qC12eb788WuYsfVmiN078
+0qPPiSO4o5ar2J7Cml
+0qc8p
+0qcrw48qRprN58USuMjd6
+0qh7Ce5WJGFQgK1U0pl0
+0rNlSy15Xy1Sx
+0rP6A8v2S16EOlTfIDW
+0rdrrU461v
+0rtl1C
+0rtwy7qvCV34lod33
+0ruah
+0ruyd6Y50JpdGRf6HqD
+0sB8K
+0siU5JLRoUBPi88Kenqg4
+0t7onX5VSj3h
+0tM3bkx6xWaqmX5XC8Md3h
+0tkxbt
+0uA7It5CJu16eJ4JS1uuxNJ
+0un2h56KS7gYB37L
+0uu4FunxNR7iOvw7NyH7mo
+0w036Qnm3WkA73cw142j1l
+0w0Kn7n
+0wyLcN8FuKeK
+0x112O1
+0xfBP5JTQaqgj
+0xhsgG3Kg141Yy4dG1
+0xsFvigkQf7CEPVyXX78vG7D
+0y7AJ4Mgm5KvSXXPh2802
+0yVT3lMBd8sp536d
+10
+100VTM7PEW8GH1uE
+100xJdkyc
+101n6n461o
+1047piRsT3c3r134I
+105aFDAt30c4rI4U
+1062158y
+1063cEnGjSal
+10Hr5oB07Ohu0622u
+10M3eGUsKVonbl70DyoCk25
+10TYIE5S35U6dj3N
+10V3pN5r5lI2qWl2lG103
+10Wu570aLPO0p02P17FeH
+10Yr6
+10c4qt584m5y6uWT
+10dUdwyXp5XwgpkTxLffmv3x
+10lL0XD6WP2x64f70N0fHmC1
+10ljXCFT6fG6Qi3S7414e
+10pO8p1LNx4Y
+10vke853
+1110xVQF524nk2h2k4Aw225
+116MTW7f3P3
+118iOoSACcy2X4f2k4Y
+11Cjb3gHPUSjs1Dg3Co443SD
+11F2M
+11JF0rvxETQpaqxn
+11R5e0X4LOeDU3kGt
+11gEw8B737tUg
+11sV8qlJk
+121307nh6r0H31Mg
+122J3HlhqBW1D43
+122V22t5dxC876kB
+126aSR
+12E1XSdKn04W1fN3ggwOv32
+12Y88CFE3600p4daxwcd1x
+12YH5vxufod8Wu1R
+12l86v8r1ACbP
+12njwnswv3XcLx0a30tnc
+12yT2agBjx3yQ
+131Dphpt2j2FB
+1324Nbqc0C7h6niurp77wT
+134V61S01dD11l
+135FVb62E6
+1381p1T7376j
+13AA4buw5j0xj33Fie0FAl5
+13Dmcbvc0
+13YQWi5
+13q2kEQ65Y8EY0S88y7uFa5q
+14272peG
+142dJq8N6LAR
+142kQq4fbeX3mT
+144eST755Fvf6nLi74SK
+1470P
+148JFHQ0ua53LXaI
+14I0G813dY7
+14N0bi51I5FviXeCQ03F21
+14UXn3xvdW88b
+14V5RTX2R1
+14aO58n
+14fnT7A11Y6fE
+14q6lr0573yWa7u
+14xUC67Kd7mcnC3
+1527XhEpKMnW2I2E7eCu
+15EKKV43LqDgt2DS1w
+15cWEp2JVNf8
+15iI6DdPRxH
+15nhBUmm0Fj7J2jmVgEE5C0C
+15w3qCVPlsGoqbi1
+164334b43QNUJ
+16L335OgyOKH4565
+16P2kxk
+16T0Q0hg2
+16XJOPr281TmT72Y7xqB
+16f7lbK5unxiEgoLr73
+16qqkM5M66EMI3uWjWy
+16twtB4w2UMSEu3q1L07AMj
+170wJmORY68C7jdI6
+17RI340fft1fahy586Y
+17tj7wL42AfkIWb11q1d6wwe
+181O0OJ0P36g7g37vM2M6
+18330cCeptCu564M15
+18LS1tJ2uUNc2X4
+1A0Vt
+1AQR8H78mO7jyb2PBF
+1AV8SL56Iv0rm3vw
+1Av1DMN8BV7
+1B2Gb0
+1B3WMD5LSk65B2Moa
+1BA21MegTTKR67HG3
+1BQ22Cx70452I4mV1
+1D81pm8hqi640BbIhA
+1DQ1RnVsCy
+1Dj48xi11k5
+1EQPbIb2Wc0v60b
+1Ef7Tg
+1F1K4Rd
+1FC278dD8i67Hw
+1FNNhmiFLGw425NA13g
+1FkF48y5
+1GIFlv7Vi0434AjY
+1H6wGP
+1HF15l
+1Hw16y3hmpG1O6hXfd6
+1I0750N5l6vsLXoySV
+1If2J08V08IqLbDcOc184k0
+1Iry1n1c
+1JGq6EC86Lc67B
+1JRm406Na8hu
+1JVmE8QhNpG6IOT36c
+1Jq7kLUa3loRL
+1K0M0lJ25
+1KXD04k80RltvQY
+1LRgweD3Na
+1Lh6Uoq3WhNtOqQHu7WN7U
+1M4Nh6OhsxQ2XeIDW03q12
+1M4eTm8OcOW2dAMV2V5slS1
+1MJ884f1w6B38WBeya
+1N6BDpg65g6
+1N77rGXKwbO78axvICg8Gh8
+1NHb6w5M3W
+1Nq1NaA58A
+1NydRD5y5o3
+1OQ5KA
+1P0HN1edMF8
+1P2TFQRLS8P
+1Q6X12GH8AjV1QTh0y4TU3Vm
+1R480AiLgVaTEIcn3hUy8X
+1RH526
+1RN2A6iFf36F1T2a1Syj
+1RWm38Sn4LfJyr7341Mg
+1S8S88v8yJQW5cVKm
+1SJm77
+1SkJLW1H
+1Sq6q2cfuq8
+1T15H6MJi81crs35pDY8p4
+1T1oN5BQ
+1TBB2v0eBqlr4c7d
+1Tr66A4C6WsuK
+1U0Y0li08r50
+1Uwni6D5JQ
+1V07gCB41Psbr5xtLiK4E
+1V26wN5LmrcPV
+1VfAQ43G1EEip2
+1VtwojBM48g0
+1W0U2Bpb
+1WAm0QJtWv06c15qd
+1WRcDois5
+1WfqtP0V8Ky332UD
+1Wqy6K6WJaUuutA4l6iQ
+1a47CF0K67apXs
+1aI03p
+1alMTip5YTi6R3K4Pk8
+1bVmr6A03dX2uSj
+1cGVWH7n1QU
+1cO0m
+1cVy44
+1ccoB38
+1d8jOa45wiiv
+1e3i0H8MvWpar7
+1ek48
+1emD5WuAWePl22
+1ev82P6
+1f4D404j6JJn45418LWXBO
+1f4h0JU667ht28ergbmQ42
+1fPLKUK0
+1g4rMLDk488w2
+1gDXGG5x1D1v67
+1gE6P06R6Au
+1gEDdyI
+1gdr1s14ckUm4h0A6Qj
+1gsKPxa3Fr6sT
+1hs013
+1hsB1W3qV57jP4vG
+1hy4qfv
+1j3rth56N41X17c1S
+1j80NSLbNMdIc2H3R01D703
+1jDB0
+1kFnQ8Xw3
+1kYyjHtA0
+1kcFiFLMrMi1rhHn
+1lH74g2m8G3mf5Tn
+1lh1E3r8fKyRTiC1HwYgN
+1lxocR56Tc6bWcLf1GHE7
+1m6h0T
+1mYj3F8wwhWgvemD5E
+1meQ3kXTFFWELpid
+1mop6Ft
+1n4A087jV3AdXoNYLUp
+1n7x4rXnvWH4wpAlqR
+1nnwS4QL88H4N4NItBY7Nje
+1o5T8oXJi5CAYe8540C
+1oiwKGMsFXabXo
+1pUrix3
+1pxO53oqqBm2
+1q2P1wSl82q13
+1q3IAyF41KDbkoUH0UF8d
+1q3cS3s0IWSVPe0J
+1q6mOJMMOOaF1FraYJET8Y
+1r3uaJGN7oo7If84Yc
+1r83U1NHOu8n42Kn8gTpb
+1rK23
+1rf8FQaP3T01QBY0hAA5PMb
+1rr8w33DhG7xf1U
+1sJei0Gh
+1sU7A2KLR2QaP3Qu
+1t2c87D721uxcFhn2
+1t4KWqqqSILisWU5S4md8837
+1t87645camEy7yy0Awe1M1
+1tJ44D7df078VJPOgd38
+1tcrgsn5g
+1u170q
+1u4j8lva4XKq
+1uerCssknyIB4
+1um44A551e
+1v6A2yY2i
+1vAA65LuIcGceY632
+1vMvKTO0AI5XSa3F1DYNp6
+1vMw7D5H1qCv
+1w6mvRv543W805LP
+1w7DPjq
+1wMPbWHES0gcJ4C7438
+1wb02g3mc
+1x1vyb
+1x4u8Rl7K43d
+2004JF1
+203a3lQM031om7ei8r
+2060qh1mQdiLrqGg0Jc5K
+20761P12SQ04f8374
+20AgBx22737wF7TvGJT8xdV
+20QwDjvR1
+20UhDXCa138uNih2J
+20ub5m0Qgh
+21177SI08X0RDP7y70pe157O
+211K713b0vBiUWYr
+214UsrYtB1W4GJ
+216N1n3bRv
+21I7qFxw2vnAO7N1R1yUMhr0
+21UE6fJyy
+21c1MADfD3n1QJ6j
+21g1f5Pxbwev02i2
+21k073eUyWivL
+21l7ppi3Q73w7DMg75H1e
+223qftA0b
+2251WSv5eA2l6WqesdKPM2
+225M5e1OeEOu7v
+225vmIW8L75bEWVwFc
+22RO52O0M1M01M0Uk74eGx
+22UwE
+22Yf3twSI62x1b1S7Lg6G
+22s17wD60356NWi2m30gkHbm
+22s7l8b06mB7664p
+22w42i7d7D2lhn6jfnlSN
+2302W3RLPU4Hpg
+230qXv8c48waG1R6CHr
+23I1IWV72hJD8Pd7FGk8lS
+23R287wx8g5N22kp034161
+23tv5Q87XXL2JRhI6D
+23w7BrP228j42Elayn83Vi
+2401K84yO
+243SuYo3E
+2450EV33jpg
+245ELjN84
+246uQD3RQ50gYIC
+2488b5alBL0PX1
+24IGcUngY
+24Xq1VVJ
+24jbgb42dtP
+24t2xP3S
+24t42K005K7v84Nx820euxD
+252YCGI2DXxpdm7
+25MqX
+25Qky6lf2pt5FP47Mqmb
+25f8XNj
+25l26587m1fsM43r
+25umK0M57MLXesxE
+25w0iMiN06MP
+25yg11q44eL27O18V6fRc
+2618CM
+26Mx1k447Tk5
+26X2i11X25iC6x1KF
+26bLm8Ci6ebiJNpXa
+26k31c65n85xP
+26x031
+26xX874ghxkA8bV
+270E55oU861Csr73n
+271Q17NmKVPMlC
+275JjYk724e
+278v67J
+27M4Etiyf304s0aob
+27Sk86k4X
+27Xm6ui
+27lDtVbT38gR
+27pDBUla2gH6KpsN0O0g
+27pysB0Qg6oA8Cf4cjWChH7J
+27tTvOU3G86FdnSY74
+28131eU1pSKC35ADujoL
+2848p1S1240
+28DIm820euPTCMJxiNBtVF
+28KA13CH50X3tB0
+28MAXOSiX
+28Oe6r21yux7Lk47
+28os423
+2AFlPMvg7wgi45s4J
+2AI2KkK774duG2okMaJg
+2APHAC8q86BH3BqWiiK2PN2
+2Amg22mSeD4C6OL64
+2ArdYqML3654nUjGJk3
+2BFlmLpq7F1O6
+2Bn5g5acI28H
+2By078
+2C1S7MUYL5NWPARvQU
+2CiDSqJiKEr0JHgKF38uC
+2DOSO6D0pM
+2E41VxRBT043Jn6Ggf4no0O
+2EwNEy772jR0Adg3
+2F8b4jJ1722A2Pxu
+2FBdToh5748vG3p1f4A2Koql
+2Fis0xsRWB447Evs6Fa5cH
+2G6B67cu1BUqRd3I52Ug20
+2GN33486Eatu7tJi2832NSx5
+2Gic14
+2H2FnbDdb58GeL7kE2
+2H2X40NiXBIW2f
+2H45o
+2H8VG2l5e4H
+2I805mn6PngvT2rj
+2Is2C874
+2Iu8hD8x4NyXVo51
+2Kkk1q2T8Wfedft
+2L8uS24vDmMefb6XqR85U4C
+2LTgnBrqS3DAE446015Nc
+2Lkkts02qWf10RplnFExc
+2LwwBU36
+2M016T
+2M106hVFEhu
+2MCek73Rwx
+2MXQgy3CnV528om4I77x51i7
+2Mf0x4c2BF24c2w734t1EY72
+2Mu6L0wVGTbTT062fEPi6
+2Mwn2qTjLVk
+2NR62NFR5
+2OQAraVYMghEPUOfSU8YV3
+2PDsg
+2Pcm3
+2Q032bA7kXvFD0bhrGftiH
+2Q18K28dIIL
+2Q1RY
+2QJ1CmlPPD4fLq7
+2QK5G0sH2ja1J1Cq8kjc76JQ
+2QLj36ndEKWf0rQ760470y5v
+2QNVLQqPARH24r6rb4
+2QYq8Y
+2RbYGSs0tvc6C574BcmprP
+2SDuH1XKN0
+2SOiwMlQ55T05111LrY5
+2STdm3wq2BF3JJ6DdRWbl
+2Spj5Vq6Ngjb2dStLbFt7R
+2T5u0u67tRE3Mm4Tvqdb8eL7
+2T6W6I7vsKk3j6Jx6Shkq3
+2TP8Ryblc8A01
+2TWTx
+2TtPF15
+2U06fQ
+2UTX78oBg574jiOyOy2
+2UXtO8TI7g3MluJ
+2UY1jX2B1xNeR5h1qnw3
+2Uxl6l5oEs2Ds8CpKH
+2V1uLd04r0RYwOkCb4M650
+2V6VBAtpi0QQD
+2VBb0ATBqIx4n1Gm7W8
+2VC0DK60DgLH
+2W4Kg220OcCy065HG60k6e
+2W4pf6Qy1bP
+2W5VeOi75DI33He6HWk
+2WB7711J
+2WKo5
+2WTglrLC8A01S3N36yRm45
+2Wn3m7QhneidkMX1q
+2X0XRt20B70F7B
+2X4Yj8B
+2Xgj2n
+2YHQ00GQxt
+2YJVQFBo3T2Foy43GcA
+2YOJT4Sveu
+2a388Phe6
+2a7V63IL7jK3o
+2b2VT
+2b7P4DSK3
+2bD1h
+2bV4kSyKcoqKqgO6iXsE
+2bc3O0wh
+2c06XNT8UBA24Wj6A
+2c4e2
+2cNlfY8O65MhvmBjMq3MM2X
+2cla1Q3o3E8H2
+2cumAMuRN4kC5dJd888m
+2d361
+2d3tQdCGQN5k7u7S
+2dBEmWgC3OK06DpPc78Ew6l
+2dU734cvN0P2k65CE
+2diFRgr78diK6rSl0J
+2dj7o
+2eF0C4T4B0
+2eJegODpls2LBS2vAFl1OvQ
+2elvVv5Ru3a3OXP1k
+2fM8qRJm8x3SkFAvM75
+2fbAP8EJ4D5sArmrfUo3r
+2fu24
+2g07108CQP0nN6tb
+2g8EaK4cQPk82MpQPXlL54RW
+2gaHj
+2h2qsp14cr
+2hOb8J1
+2iVjtVVhM8R57oy
+2j2W3xc42VkSq4Nh
+2j6rY0poRw58s4ov2h
+2jU3jtuGteBoe0Cmf3gr
+2jpKwIdt6T
+2kQ5t0876n4JffOpftYceg5
+2kWQ1XKrr6K5THWA3ck250ab
+2kechLGLtV1b2FK6h
+2ljg4si1A
+2m58rF
+2mk4x457Jc0apJ
+2mwT8k
+2n2cwjWAp2R56c2GYtKHQf0i
+2nioOF436ID
+2o1aSX46bT5lbybk1K4U
+2oIGN5REv78NrkB5Id2u
+2oSudUNUX6
+2oWrqUD1xjbsy1Q2Ecoa0CG
+2of2Yx7uYE6fE
+2p0iX031016VDNb6KWJ
+2p6SD
+2p7ND20blG8t2cy1VRh16
+2q3K4S2rTX7K2by4c7H2
+2qYs0rStqVuO8Rg47
+2qh6a3is304PThbc
+2s3N5qbQ4pPGcwC0L6q
+2sF6Qdn5w5qO805cSaFV
+2sJpP82Tgm
+2sQ408i6h2V7MI7
+2svmgiXe6
+2tV7k
+2taQsaEJVXuJ
+2u7a6SbanjfvG
+2uE6vb52q
+2uLyD28144vklju213J1mr
+2v26F2Ok
+2v5SC7L0SqtYe83ugkh
+2v5Ux
+2v73jy37DkO67k257
+2v8x2Nmr15
+2vCAjK
+2vXyUmN8p0lFrAjL1q3wOB6
+2vdVp
+2vtmB0qNlHlGV15P1p
+2w7HaRyy7SDnxGIdgT7s6
+2wRURKtw8
+2wak50xB5nHswbX
+2wbgE0Yo1RX82H2sp4f1l5
+2wg3vWU73P
+2wgUNj08KLsG4wks06
+2wv4mHH5001Rlwe5vG
+2x14G717LqcPA7Ic5
+2x480cpEl
+2x58ER5s73ga5cx8U17K
+2xdvQ
+2xgkuN5E8h7t51
+2y2n4Oh0B5PHX8mAMXq4wId2
+2y7hKN32yv3
+2yK4Bx76O
+2yd00UDPJUO37S4qfT0gHyg
+300gt
+3080Y5smP4JT6
+30J4VggeJfk6l24Wj3Q28
+30S16Yv88FUQsDS2
+30raB4mNQ1Fy0TFyR7kriGif
+30u668e
+314nQ6nVj
+315P3EH1I6vi6
+316qk10jD0dkAh78
+316t3Sw
+317wH7BrLo671
+31A6tiD0K20miSf85
+31H4o7hC07b
+31RpuaAqBaH5ILfc
+31m1d3P3AD
+31nyhCE127sfC8qNGr6X
+31p023gt0v70DBDg8d2
+31rhe
+31u8TV1q3hv2kNyJP
+324X0
+327LJ26mRqM
+32OjMMVB54jv35
+32Q066E
+32cB3f
+32t5QB82iY3
+32v414p63Jv1B4tO1xy
+3341180kSV
+337CVUc
+33cr1j
+33g681L
+33mc66c
+33oQ31
+33woPLwH3MFmK
+342N64u7yB
+342c18wA5vW61bEV
+3445NVr7c7wfE3Px
+346v1tVDI4iB
+34ETSx805Wcvol7f
+34KEcbvGIp1t
+34N4EY63M1GFWuW0boW
+34P6jvO10s66T30S
+34o2M3
+34oSgU32X
+34p208wH32
+34vL40uLcr11po3k
+357GvGhVK0325aU
+35AUaVfS3BhcFg
+35lk428d1BN8Qp1M27
+35nkObNsO2p045cJ3
+35veP3L
+361M8OmUcKBPrFTcY5
+365IQF87op3G5G7
+3683w5f61yvbWKD71qtL8K6h
+368K1rQxOIUGl7
+36E3s7M68N2
+36N3svcnLD30QwA6im3
+36VHT5MyHq0Ei
+36VNqaapb4Y2E5l38
+36b2dm4iGWVn3wkl1A7
+36fFwTWHYaD563T4Yjx1
+36g21Q
+370Iao42Ne47KoMuv7L0GKqE
+37DtsTbag75dgC
+37EE5NIy
+37JyNK3B4QVE05unM5q
+37nx5s6QE3F
+37p34Jc2nloL
+37sehiO8Ivl64meKtR
+37ybSqX
+384j1RPibybB6R
+385cyYam0b0nAF717o
+38TsU
+38XES7ME0108oTOlH1I7BiWn
+38Y2u
+38Y7wt
+38vX8Oyvme
+3AKRFwBnv2163LyKqSXy
+3AleqfnbvCOK755F
+3AsYyeNCcv0R7fmt3K1uL
+3B3ubgg3B6a
+3Bm0J3xwvp
+3C1y7deXML
+3C388PPl50v
+3C487cjRTM14
+3ConB
+3CrD10MgcCY1d5E21
+3D8duxU6ikxujMiA3a1s3C1
+3DE7EQo4KyT0hS
+3DGKgMe5vV
+3E1n5Vbvp
+3E1qqlB24B
+3E1ynn7EtEFXaiQ772b86gVL
+3EM77
+3EUchdWMUIeH
+3EYb6FUI5ckmAd24bR7Juc0
+3Ea11tis
+3EdQS
+3F5nYf7D2P4YGlpTQb7Qm0J
+3FD2bt1EIaA0YrK
+3FEIL4w6ojn37iBWD770c
+3FXmaPtM8
+3FhN0p4lstJDMEtXC1005J0Y
+3Fhv1QY7Y776eQ38a
+3FuBrCe3T58bk1Km8
+3Fv6q4
+3G0hB0J4W5
+3GQ55vjr7oQI3u55bFk4GOL
+3GU0iMHI286JAUnA0f
+3H10xyM3GNP1
+3H2oU6X61KsBGr
+3HD1V6tKqe7gTGEC25JLF4
+3HhL08q56583
+3HlOeEUFSLcdPk
+3Idv5J5S26xE
+3JpLF0U3uFrIM
+3KB27MO3K1u5o
+3KS55
+3Ke6A1U847tV73
+3L2hivdJPOxVN
+3LWXOlGelGXQu64Lxws
+3M5o368CP0fJpOiskA6pYeVu
+3MNavGRlSAvHwbH55xrvY4I0
+3N1o1bou84BHA70
+3NXGGhNOjVMRWV
+3OpBF
+3P8kF2E1f68xG6sWx8
+3PAm03r2we02Ye3xy
+3Q2X6uNR28uvSJ5CXA25N4j
+3QUVFRtWix17GBQlFP8kF
+3Qm5PpAGbhf8NkWHJPv
+3Qn72niu1tSo14
+3R4fUi3r5212N4L05I47VU3
+3R68Yksg5JRtKk
+3S3Q2JL16PXfq27bdjC3T
+3SaS218squQ6hlv5H76M0C7p
+3StDSaH7
+3T12mSFCYnrAx7EokPLq8002
+3TI27lYx84dA7T
+3U6OMM3
+3UM32OYoBAub4rQs8tdq8
+3UN38KH8
+3USqL4
+3UtQ8
+3VAKJ8mb2ABVNB73
+3VI3qF5L1rHaYfdh
+3VK3CE7sganaEC
+3Vl0BaJ372
+3W0GorVd6GStPF5S43
+3WsVeqb28VWEEOLI8ail
+3X0nrU
+3X6iff67S3
+3YKfSH
+3YXp6Mn7N2jSCncj8S6DX2U
+3a0wpaDU3V
+3a7WcjS0uc0bqUmPmu
+3abOQ1oI
+3afvyfFbo6GH6JS416cesO
+3bKNkOve3
+3c4ER4QtMJwx83mT5Xp
+3cQp060
+3cT82
+3d1IDSME4v0F0LJbBr
+3d631tcs1g
+3dRX8I6b1UMfx
+3ddyT3U
+3e0MAK75O1V4Vw2mNM1UiX23
+3e27C1jTdTQPdvCWi4if
+3eRIt6koMhrPL5C64
+3epPVP3r6d
+3es7qU4J
+3fAi1N4CaJf1CpL2oIV
+3fHq6hA2VAdj4gO13MJTE
+3fPay5Or38giJylBUGwW
+3fT7I6UC6
+3gh6J5
+3gubGh4J18TV
+3h01b8LfJ812JV4gwhfT8u
+3h8mD2F76eq4mS
+3hF4a683G4Vc2N1
+3ioX5Nm0A878KIjG
+3kE81u6MpejF
+3kFb68
+3kXN3Q24nA206Le
+3kt58sfq
+3kv5ra4874pD8G3FRJC
+3l2B8dk37cU2tI73S74Iw
+3l7KiBCbB0
+3lb086sJ4qp5M3qJw6C8NjS
+3m1iT73ta75bK6Uek0R15bk
+3mM337C
+3mQI8u6Qx0sf2b03t86084
+3meYy6xhwQL4817A3UM
+3n32XXuwXR5ES
+3n72v2K42wYgtoeJrjhHnDm
+3nCoRI5m217k0BN0W2P7oDGf
+3naCWc31dAKsWl6B
+3o27DtX883
+3obyVy5iSrWwgK7R3u6YHi
+3ocGWW4eY55A
+3p52k8g15nQB2biT1bn7
+3p6nJWFNC6
+3p7ishFv1NEH3Q645h5D1
+3pFU58Ow1lnt7vRnbB
+3pOa05vw4J
+3q00y4llsXx3Ao
+3q0QQv5fggdv
+3q4Mex4ok5Wj6j706Vh
+3r23H05wF1
+3r3sDvfUkG0yTP3LnX5mNQRr
+3r818RKi7V2ME3NtTt
+3rDE5ohocdMweTS7gspnT3
+3rki40
+3sLC0Y2417i4n6Q5xcMF7
+3t072wsOIw022u12
+3t3EB
+3tARUFE5DqTe7
+3tluu
+3tnGS05xI820jmhlJES
+3uU325ocmMi8PM2hP
+3uo540mYV
+3vB11S
+3vk7hJ7ur64k4n48i2L8om
+3vsY0
+3w6XYq04J0Lb3Sv82eOV2HJ
+3weWVXQv3HgolM52OI2J8NAn
+3wlj3rr4GuYKMG6QxL64jT
+3x3rDvQ1TE6qIo
+3x7Jjk
+3xN13QA1u4nP
+3xa2cIfnRg3LQpKRUkUF
+3y1D3A7yxnQenJs
+3yAAXOS
+3yJpSNg1f2m3J486g4TF1uT
+3yaploii6645LP604gTB0
+3yb1J836s0x
+3yeQxU
+3yeq763N
+407CiWn5Sd0J4mlgB0X8Fu5G
+40CP0hDas6g7m
+40PQ82QY6
+40U0TKk6diRgJyuF2nNRvwX
+40WAu
+40i6Qf07
+40ks5556SV
+40n4Pw3EiSUL2e0
+40r4yyU6T0A0Mekf24k
+40rIa7T1gy1eb4b7Ge2VDN
+40vWkNP0f6DJQu
+410L723g40Le351u
+410uuUJB7nKBg
+417u8MVN77syjg88qN2
+4186Py40K286Oc
+418K4e01f6b
+41A0nYX72UOSfxO4053xy
+41ET3yiToLbb
+41GNy4
+41JX1nMdWvorK
+41MRiDLLRHaL18
+41MThX
+41OuKHD4wRu238388Cq
+41PLN7aXgP57M4Rr3
+41Uxbkbws7x1oN1M5I
+41smYLf4cuu65p1
+41xyA
+4236PQ
+425s7e8Q4LHYWbQ35I0
+42HiN0uMiVuj0Dc
+42NY72w
+42P7NX7gcwgOb727JtqNh
+42r63DM4K
+42rU7
+42w66x1PK4xu0P6fuXd
+4310N74Q4YtU2e
+431LM1vmKy0K1m
+435oSIASgSON6
+438Lxo541TwY5ID80cnR5
+43Ad7
+43Uw5KU1
+43d0nGQNH8m6wcT7p0T5Buu
+43gX6s3LEYUcX668Ig5y
+43h32gpaBvB4T3elN4s
+43q1I1xa1G33UlA34D4
+43wxS75R7cg
+442rSKupjwM
+44vcS2S5wu684R05fq01fu
+451H003P8UYu2
+45HoP7
+45WlaD0HipAojCT
+45ja5suO
+45pXKo1kmC
+467PTEoVhqi3kdYqdl6uT
+46J0D1L5q4xsdl0
+46X778w0r1Ueuv052rvegFJi
+46Y3G8Rf12bRc7KcY
+46a8K1
+46aF585n7xBB
+46tDHL8
+46uf5iNX
+472NXRAi53NVuETqVanD5l6
+47INeW44yvsne46Mu
+47XnhX
+47dILPXIlxYFSSu
+47kMyrkI1u51WS7y75pyy6S
+47x5248dXuiqta
+47xesJJ32Ia
+488l506x
+48Dj7hY48w7
+48GqfHPFLUxk42ov2bo2mmjq
+48fOGR7H6oNnh7m3Y
+48s0Wy10k
+48xYJd1
+4A7p4HkPm01W0
+4Bh47BqptHhw08erm
+4BxeN7PLh00qDKq13Nu8eVQ
+4CLH5Pd31NWO
+4Cf7gWmeh3Gw3bHx50iT2
+4D64Q522LOJY7lu4
+4E0nI655Vd0uNE31pU8x4SD
+4E4kmNOo5dbi25IJPfr05To
+4F3Tu14b35h26Q7
+4FANhS2t7p58VJ
+4GEqmyTpaQ
+4H51gSf4ykVH
+4H8qjd2yd36j5W
+4HI5bS2f78nG4Ig1l7
+4HkvsutO84B
+4HuS7f55wM87e
+4HvM3Jab3pv6V
+4I23s0o7xIji73bi3y74T5ql
+4If8MQc4
+4JmPDMvrnJnjYB0a015e
+4JyvISV2yO32C16
+4K1nnlkt7786Sq8x0ARXtr
+4KhrrQ0nJ7bMNTvhSCA
+4Ko41XvrHww1YXrctT
+4Kug5S2q
+4L44FU3D3OA0FN4y
+4LQe2Pd4m640E58XFA
+4LXBIdqdsL746Rf
+4LtlcjfB4
+4MBCqDL6Ajkinmi6b66mV3l
+4MUYUYLAD7d0lk70NJjc6LB6
+4Ma84C526OTHw0tbwxaQ
+4Me3k5h
+4Mk3721iRh6
+4Mn8007R4LoxG
+4MsDFIDY76
+4O41kg
+4O84Y581OK0x7sYP5Qvd
+4OaUPT5Nv11mnb1XInK3
+4Pu62
+4Pv3ny42Wj23L
+4Q15WWw0S
+4QG23O2GKF6BUe13O7A2C
+4QL5UDAU0u7
+4R0Dk
+4R0XI865tG1o
+4R8agGBIHRA
+4RpFMC366k71GL1j5Xd5
+4S44vF
+4SLME5xxs7k
+4U4HK
+4Uh5kCybH
+4UtjbA8bV4lkm
+4V2osM67mkXG
+4W3748j3JCC
+4W6pl6oLfgN0ax
+4W835c5Tu0aa4X2
+4W87PCaousB
+4WElvvXB261gE3
+4Y2uw5v1YJ8Jsq7wPSA
+4Y6F2QEy0v68
+4Y8NFk7mqmC3
+4YJx505OYOoh0r6SnMF6UF8
+4YN58DH0Hhxv5Oc4
+4YNyI4NW644vp0gN3
+4YW4ASjU70MkyO2biMUV6
+4aE5M3pU0
+4bKIO5xLDn544QH2
+4c2KT50dog5
+4c41c6
+4cCAsIVs3
+4dYt6bF5xfHG2v4Fd56P
+4dogOB620W83nFvbfA3H5su
+4e1D6b2moaJ2LPJ70u
+4e4RSbbS
+4eFGE3dwF5
+4eWh0BTSBEu2
+4emY37V37o2B3dw426G7v
+4evX80TlSNP08l52Dlq1dOKD
+4f7D1im2ntLFeq5khY5
+4f8ynytRB62xY5AoVfELTku
+4fB0amev
+4fNIOF6ul
+4fSnp6
+4fgGH1hKp6j210ju47F4
+4gBPJa
+4h3m5Dy0nQ
+4hMaavAE
+4hVoMF62WFn82
+4hW4Nf1WU04
+4hyAJ1G3u61
+4i11T6y6lT4073XW46yaalO
+4iAo20FElOq0ihncuFJO314W
+4iUAI35X037k6V45lOR5
+4ieWq56f7mIjQNs783D
+4ifPMpwgOae51tiNLW7B
+4j16o2bV34xFa36
+4j1R8ITWf5JSIWbP6b
+4j8sceYx6vwS3L
+4jGPKNFY4TP2K8Gw
+4jY48jNU58G17PN75
+4jYpLVDnj352U5rl72UlK0w
+4k1RqRL
+4kMasVoB7lX1wc5i64bNk
+4kUFI473BsE2rgG
+4kyK2032wUS2iyU28i
+4l6OX60y
+4lBxj4Um88
+4lKBN0OF1pkx47YV46
+4lN2ugyM0MGtsv4Ak1
+4m4yDuu60Po
+4mL72FdfnCuoExb
+4mWvIJC3fkoF0XMf24g0
+4nKk4I7T6I4GruCj18
+4nKp83r82u7BI77SX27g4xDT
+4o0SAld6t67x881120Otu2
+4p32f3dqm6X0Vyd
+4s0J04m4B52
+4s0o0KVP7H3EU753v0Y
+4s1k1B653oP
+4srDycbXO8
+4stOSK0N7i8
+4t88O3hdap24Qp4182u1
+4tFQX5
+4teNUJ1
+4uJDm4ULDm3282Q32vwjD
+4uu1N8OXG4R0gmj0hPf41
+4v2OOIq40B8
+4v3613837dytHDDLO
+4x1067604ekVjosSK5d2umw
+4xV5SUxYbcNcFk
+4xgO0kF44085iT4b0p65E
+4y5o6RndF
+4yAo7t54rr50u6Vci3p
+4yCd7wSAHaHQj5f70x
+4ywIOdqIu2gvc
+4ywtoYwxb
+5001TmV0w
+5042V
+5045L00
+507ydguwwD2G5Xm
+50J08qKXC44G8HDMu7FF
+50f35
+50nbm6coT162C0gSHAy3DB
+514eg00Ro1RtB8GGeUCHYAqS
+51ovN80JSnc7SrwD
+51pI6Y6pcEoC4
+51pwyg3Pdfr0
+52033t
+522FH212n
+525Nle4MDKGH75d
+52j4j3FJ6YP1qxTbH46a1
+52x3fW10Sfgy0gQC
+5308t82fc4
+5314P0Xu85GA60lJaVPd10
+538bk4x8fME
+538e1Ht8T4tNdGJa5
+53OS1HM8
+53VR1
+53db1o6XRU2CbwxytJFIg
+5427N64msn31
+545Gtyb6TO01J
+54GiCgon04NXfnms6b5WRj3W
+54L167LPWI4Xl340Xve8MU01
+54T2y
+54o058c3mK6ewOQ5
+54yQ6
+556IHnw5U5QfD4
+55W7c
+55b1rXQ20u321On2QrDo51K8
+55laBDd2J6deffIvr0EknAc
+55xSuTYE4361
+560K0jDFkQG50aGtt8SVA
+561Np54L
+563414Ge0cqfJ8v5SaIQ2W3j
+567H50IcGCq1a3u1
+56BMQS65YdOhgR
+56EtJ6FmSp47bf0Jj
+56Q41bkHqEF5446pGgJ6Jj
+570Sgf1L12mIrag2hICI51t
+5712We1FSa
+57156tYxJ163
+577208620tV8mWC6Y
+57WA7Sm6RuEiouyjK3
+57vi3IQLIES0Q16OTuiC4Hf7
+5844aXalb33GMTW
+587FWG5e1NylA0SQD
+5882EoppT
+58M3ixFwbF5TH4x1FxFr
+58R6lyHwWi8r
+58Vl5WFf8p
+58dScG1eiYxH
+58hP5c4e3S68K72k1tO1Edw
+58xyX
+5AKJ8et8E642uY4j6b
+5BFMY8Bb582h6
+5BO6u6
+5BQei07Qp1B1SWD08Nf4
+5BkJb
+5C26Uu6I1Dd7e1xcwSi0FR0
+5CbP5V2x14qPOqL3J
+5DDtS4Q
+5E1p5y1HXY82QUbObgeA
+5EK347RAoD0E2pw25F6Q1mFC
+5EOwuCtm184
+5EjVb30Y5
+5EkunkVdHYCBxI30D36L6oM
+5F31f22Fy1tSMjqt800
+5F33L3INq76oh68VPwnc45B
+5FD1Pq2Me0754jnw64jq68
+5Fytvc0SA8G48x0B
+5G1Xp277YJRklEO5kHx
+5GQ6Wm675hwy3eAq3m6NGCUL
+5Hc2Yn58
+5Hy1y6
+5I8oh5Sb56pDl2V05R02
+5Jm0c0pa7
+5Jwa8e3
+5K0nRX6VFCm
+5K4lM3GNCDNNA4H5H
+5KKYrlH3cWSmFE56X6tP
+5L4I0gIg7R5fM7
+5LI5OsAUx5KfqojNG2k
+5LIO05T80cT
+5Lak148nw7OyU7Q
+5M28dJ734D7fDRWCQbOnb6
+5M5i18Ol0T6u
+5M62EjXtos2G
+5MLQj
+5MU66wbAk41JUMg0055Nlv
+5MXAF37Wk4503wh37YOO56
+5Mh0fckJax75u8dlM7w
+5N2rSTIXMp1
+5NM44RohO4r6
+5NWKJdl8j26
+5Nxj5JxuW
+5O4amH0XK1mu8716
+5ON517IeD8XDLAhh
+5OOnLN015tAyeCnl6
+5OcrJ
+5OtqBAUJVYmw824aXp7
+5Pg84i1bGapv5qoYCrtvV3VW
+5Q1O33oqrTMit1GsEy7h
+5Q5UxO88
+5QLs0LVK1g
+5QXlOox5GF
+5Qs1U0b3B0c7Le72Q3537o
+5R2j1whJ607JG3J1M811
+5RSKya5o4bhQ
+5RyN2I4gSo
+5SE7y08pr6GCv576W8724G2V
+5SJ2q18tk53g4SdDvlH3
+5SUwkc
+5SfTfH5QcH6yN4u5K
+5Sig5dg
+5T0k456v4
+5TI6JBd6
+5TVADgO1Sm3
+5UakrIuHrVadic8Y4C
+5UbQg8TK4M8M71HeMyjKE46W
+5Uh3u36dO
+5UuE7jmo6vi40e7
+5V14R7pp4m2XvyB3dDDqgxQ0
+5V15opaByT3DY4
+5VVjy5IoG2Cu2GcdHEU72qsu
+5Vd7QcLbL4c1d3Xb38G
+5VexJO
+5Vypcl14RV5OcLe
+5Wn74X54OPT5nIbTVM
+5WnxPBNK2ltE8V25WkKgr71
+5X8nN2cGsveSou53xnr1V
+5Xab46Lyo
+5Y2H4C4
+5Y503avvhX3gUECL3
+5a1WX31BgmldK0J4F6DAICMi
+5a7WjXX5w1bkc8hv8Xx5LM
+5aKn0fEo1T28d73Ntd8DN
+5b38BDVq7FrK342c0iI2w26H
+5b5ILkyshcQJ04
+5b7222ls0wgFVAff7D
+5bE05Udr7Xm
+5bd5T5FEdOrYRW00bvs
+5c5pKk4sUhqMX54
+5cC5thW3jHmOE06MRNc
+5cD132LLXI13CK5eGM
+5cEU055y5C
+5cN3HGI4KhCrP
+5cVgjDl5Vs7
+5ctB5Don6vvjSc6a
+5d346Sw21w4
+5d4rPb72As3cr1UU04go8
+5dENnx6VjU14iaLFV0IR
+5dSXoPq2rsu2WRNG5T2WDLgQ
+5dy3B2G0T18JX
+5e8nU8q6vy6hcskp844R8Kt
+5eNS6
+5eY1KB3
+5ealv0e6tmDnoS0bOmX
+5f0u27Q1PvB1gCMn
+5f20hgbl5yG38L15f4m
+5g8SC6Ol3gb0433c0B6
+5gOeUOB
+5h04mA3qHKIDx05St0NNx
+5h6A0ennI
+5hDJVR4lj
+5hnxP2wPy2xu
+5hwHlC8uO8
+5i22c264N0CF7W
+5i7MvTNnSmh5nvP0kj
+5iRDem4pt4
+5if5K
+5ii2578DCFrCPlxlw1qa3p
+5j3588UoxeUDcD4tg5vH75W6
+5j7GJ8OCXgMVIcK7
+5k53084hr
+5k7EVDst86qAgdJaC
+5kX417RB64367vBw38XVJB44
+5keIL
+5kiN628ldFC6
+5kpmU7nYjC6
+5l4yXhHX0Y1jgmw4
+5lO3R6cjxRdsCi
+5m1276sq8QAT2
+5mGEOMBdF680P2jD
+5mOUrM8o4W6A
+5mPiHh
+5myx87LGMU
+5nA54
+5nAPf8Jm
+5nDHTQtR7
+5nV8bh0O
+5nXLE
+5o8dPu1J5lPI0
+5oUu102B4tP7
+5ocI6aD
+5of6ay
+5p6D71O3t2j4Rjkiv7UG
+5p73w4mBKifB5
+5pQgNc6aqws4H4mOtk4FIX
+5ps7e8
+5qF06th6U7v2nLJ
+5qS5Ev7u3SoIqva0jurc0I
+5qlw1VJGq2yHFBrf14
+5rvGhuUle
+5ryBb3VcnJhasRP45
+5sQ4qB4ML02YI5Jo
+5snabe7BNqKyRv3Pel77rG
+5t6nkDHD1Ls8012Cg2
+5tP1Y43S
+5tdqo738BN
+5u03Le2wIj
+5u0iXh2Y84QgUXkfi726oF0E
+5uu6IvJTmY8N85kdnn
+5vYQ13d84b7f1326iS6
+5wf4DOCHD2jarRA76GQ6dX2
+5wpDt358nV
+5wwtFk8g4
+5x611H4wu3oJ8WU5Rma
+5xFJJo8XfL3P4D0F8urjoY6w
+5xVb76eiua8
+5xaNVvLa
+5xx1I7x0xtC4LJ
+5y65rNnX4IsiQHRe8327
+5yFe2HK
+5yInU8IMwclXc2
+5yLXtQjDD
+60041SoajDs4F2C
+603r01G4J
+604G83753
+60KqhA
+60M56qKrd2j
+60NH2a6SQ15c48rbXckK5k8
+60S63VPytWwf5Hu6j75cHa
+60Ydc418lOl284ss63
+60fNYu4mIaX7cI4y
+60h3hwpEHd7ay6THn
+615Mv
+6175g1QUr6
+61A6n4nFNN1VFalcB
+61Oa7M7Pl17d7auyXra6
+61b7h3g8gQVJjx
+61eT82N24
+61fdP5u
+61gE6oOT4E0G83
+61koHg
+61shR2LjQ
+61u4nyOWkEKfsnkFsDWYr
+621A4nD7wucvR3o7l0
+6238rs225bo0RaTw5
+6255bIgnJx36iq1nNFiQ1
+626YHDK48bST5D6KNHL3
+62JFFg7GbAn1
+62Q7DRed301Gx
+62iCPoy17
+62vmI4
+631404U8x6HaGp62LP6o
+6317KIB8strmpE85j
+636WDH0
+63Bc8F
+63HcQ7E3o2M73mtoUlsr1
+63JM3G76qq1sB
+63L57061J754YaaV
+63QHPb4LMH52Rr52
+63Y5AC7
+63r768eM3J1AolawQa4m78J
+642LsMiNArr0ufitL3l7RCU7
+64BdFi2c15JM5X17
+64IHiaxNk4lo
+64K51WMTs
+64Voa783jTa3gYtxdseMb7
+64Vxl8QS
+64eh17n32TkR5g5bvt4p
+64ivIAGCT7J
+64ouy
+64r6E
+64xc3K542PGU2l2
+6502UQ2Jb18nD7kNw
+651R8MJPy8jvOnu3d
+651rcX4uUheL07lI5m7
+655LE2hp0lh
+658SAQuUGC
+65NJ5u6TD716OP4hB
+65VIeeMM00MHr8I0
+65g3I051uQt48Hrs
+65mIi6OLkWrv1iSiM1wia
+65n3amk86ayb7
+6648LI57SdO7
+667DXh55Q45p77fOJ4j6
+667XJt2
+66LF5V8Q27044V1J
+66Mx4v
+66d0I3bc84i67ItF682yp
+66r78Ydee71CbjdYC4AJ7p
+66wWE8r6
+674ILv3V2TxFqXP6wSbL
+678iebWrL34TlW1
+67CifPaaWjudYUDTB0IU
+67LS2DjuCX36e6t1m
+67NuMjv428MRK7O
+67V7N05VD1IM37
+683xqGH06ttCI5q
+685RhQF6ctilEV3S2h
+686HHW45wojg5OCxqdn
+68QfqfP1AK8f8
+68k8JcLTRwf8X2P7nE4X
+68ri6
+6A176GMq3e
+6AGBVrkVMspguq568DHw8r5
+6AJtt50DqWDaDKY
+6AmfdSoTPmVvXdgM8CP20sx
+6C4m8
+6C5aLN4wM0
+6CwqchP12fO3J5Y
+6D3WT
+6D47xA0FaDfy4h
+6D4H88YldHdj0
+6D82psrBv0Hi07o
+6D8Kub2t61I80E6Qe8VkYW
+6D8pQ38Wn
+6DH2dA4
+6Dnq5hvbkk
+6E5g66uV1fm6
+6EkcHQJ8dg
+6F5nuSdvKK5ny2E7BF2j6
+6F6R3hOO17jki175
+6F8wR45s5ys8AkrBE17dn2oV
+6FY0I4YdYA
+6Fd38ih
+6Ferlt3M8
+6G76C41KuHO5okBwq
+6G82mK8omEjd
+6G87V4
+6GpbwQ3mT
+6GvBv4565ks
+6H2gys6m6qldIy4bENoFI
+6H463iHBu1HNq3oBr1ehE
+6ISl3L45y5Q5U57op34v88gr
+6IVP5k05jNwj1Jqr8UAPD1r
+6IWllEnT
+6IY8ud47LutPL77K0
+6J2wyLGv
+6JLTA0I2Jx60HU470LO
+6K4d0il
+6K78X
+6KG7M5SbVWfA8J2wYvDbR
+6KRNb14xEP
+6Kf33n60w2Roh12vlTn
+6Ld4Q60l3KhhGt6
+6LrxCc20102P10n
+6M744VRsSH88eIrG3i
+6MS6smd0Rcn3ld
+6Mf2X0s3
+6MmsFsevV
+6NGoA77CWv035qcLG8O
+6Nv48811uGNPQ188I8o
+6O1S46uxV
+6Ob80MBP350rI275
+6OdmC8H5
+6Oum3ppGek741ab5d888d2
+6P5hI87IBw5BwP4T36lkB2
+6PO0RC7kcbOd
+6Pkr6mt6rI3Cno71h1EPb
+6PpbCyjf6c88b
+6Qb7hMltqN0MY0xRf8
+6Qjs3Ih3xykeT0
+6Qpnvx8GDLewljdK15rHn5Ur
+6R1Vtt
+6R6Mcd8hW
+6SxF1xVO
+6T3G2q7oM51doi66vO
+6THl7n0OK0Eiq7
+6TgaX4LO
+6Tnr41Pj3OS
+6U50ut7NIQ
+6U73ihbtbGkqB
+6U78kBJIpi8IK
+6Uags1mv741m620LKQBQ75n
+6V57hA
+6V8Ok8kTDSE86D8h0q06qi
+6V8P632qsh08uP2oc3o
+6Vi2T08qV
+6WRFtUnuF3scFWKkY4h782J
+6Weo4BXewS0
+6X5JRqA20OBFr
+6XR3D100e
+6Xh62epM8Akab
+6a2D5K5rTI2Q2HaK3v1VO5F
+6a31r6b28cEO50W
+6a421YV
+6aOBGB8OUjUW
+6ajiL10gD2Tr8
+6atrHPq73d
+6b72Wg1nICD
+6bO0XXrj
+6bRSgHOELMA
+6bf1hDU2gvI
+6bnEapMI6L
+6c6b1XPMiEw5
+6cb4K60F1fHx0BTu2
+6dATrG
+6dGA0
+6dmGc73H4C2jRXnSi
+6e5Vk3f3pMdefo
+6eFM3n2MB3pMT5
+6eeRVS85xD2q6Q8356
+6fB40r75kxeX3k10
+6fPk0A
+6fRvRXCD7GeBiEK2qfQC2Yf
+6g482F6IEbD2mKeLE153e0w
+6gG4WwoSJ887F15fK824g3e
+6gYlws
+6gn67gaXBQowu43N0M
+6gydmP72Cl38jkVsB5I8IWj
+6h6Kk4v030PNPj3Kc
+6i3yr5yS8g5fm8I
+6iN0jrPL8I11
+6iS3rFP5FLlyoojA
+6k775i02NM8tHyWkkUSbb8O
+6kT46TpQ0yPY0
+6kTCAoN08A
+6lG12Lw
+6lcf7Qp
+6ljwSqpl7n47
+6lk5XcgAmKuHHjg
+6lqfp6xy7uLrK1oqee
+6lv8V
+6m3p4wd4i7GCSm0PCO
+6m476JFPvAvlp7KTyU5C
+6mDJr6FCiu6d12VCj
+6mQ6vL4d
+6n3S324AM
+6n66eyH75yp56c2PdxQ
+6nhFMfJ6
+6o50QhXglfo0TlCF
+6o6LI186a161V7N5UJ6Sp
+6oAU0mBFKtwXOIAp7Yqi75H7
+6olFV6c18IdYv6pBJG1
+6p0GBdNQ2l5m15T
+6p2vWrdBsj30fSy0c7o5X7m5
+6p53xRtJ
+6po0G2233TEv
+6qFCTec4H4fY5YnL4esu7
+6qdYTwkc3L5LGy
+6r3F47uD4in2
+6r452KVx
+6s3xvhV71f7c6l0Y8
+6s6m3UL4WP00J7qOQ52h7
+6sB2kOb37
+6shc3Y
+6sv3ND7cm7oj62dW5A8ms
+6t557nSSrg1s0Q
+6tEhc2NS7268Tmn2E
+6tH7O0gw0gJ
+6tVht52PUI48RYfv5
+6tnH37n7Ow3sLtJBwoGs
+6uCnyE0GG6807Sm0Q6UyG
+6v1086YVc6I73mp
+6v614exqRd6KU
+6vl6871LI44R1g1A58lhDH5r
+6wSoiDE22846jIPRH87
+6x1C4Y57mY3
+6xm3103e5OE0C82nL3G
+6xn1INe8xSG0487IUAaMYRH1
+6y204sjgbO
+70070HP7Kb8Lrj
+701CeWq
+701s1GC02Pver3F57aj20e
+702XRI
+703Y1U84Wa28ryl
+704TqKdO554m38WDk0W2g
+707R5coSE4fhbU4ptKS1Y
+70X2iduWv1bEM21785FOdY6
+70a3Xg
+70ab3f1kT2bN5F
+71027fBh8760gbL7aF4K
+712Lg15d315FxK18hTxLG
+713lDu43
+716Tk0iWs7Y
+718J87Xo87S0x7
+71Jt3gli42yRhyWk0
+71KN0p4NhE4xm4ixm
+71L3HdDt342V8ky
+71X501p38PuQ41j
+71rC651of3swM7w13027216
+71xiJm
+720r2q1xoXc3Kcf3
+7227l
+722i4VcO4A373
+7258G5fYVY
+72F3g4s43q208a2
+72M1iL43IC7n
+72PfIF567Op
+72bY12xdTJH3jnIsdW03
+72dKfCFk5Ec
+733cqp8GjjmYR84G7UyWcOu7
+7342q5oFQL8QIl7cO
+73JSh62cDpvx33obP7c
+73m0kME31orwbJhm4
+73xdw4X
+73yDbT5WqsMNEB7FmJ3h
+743510L4r5Npy
+74DT3mMTYm2eEjo3
+74KfTA5ji7V0
+74Qvx57RdhAO3v4JB
+74VDRA6
+74W3My8nI
+74aYA3Gbe0GnVm6lR3Vjh
+74bXXWTpyU68
+74iV6r7bnrdp03E4uW
+74nRe6WYOO7MD7632BOS
+74shmoR1
+74w2cGm0
+74xX6fg
+74xqdI
+758SskfjqM6DdFRN0a
+758jnDonq2KPB3
+75I0sKm1yRm4x181eDLU
+75KN62a2iAf0j5Jol77wH7
+75OuwM0O3qDy
+75RG2c8
+75UKgd
+75Y6J
+75bFXC7TqGo1SEaYAx4C58m
+75cBSvBTtog25E28v
+75nB4HFf6o8qwf7gRdfNL
+760H6
+763gCfCExoaB1yJmP
+764u1WA24hRh3rs
+7660JjSpC0gG
+767fOfF1Oj8fyOv6YFI16rM
+76Gi03D76LwH75q5Qm8641aE
+76URYL8H3
+76VqjvX6hmnmvmDWOa8wi8
+76Xl5E7ttiejsqcvfJmtNB0
+76dOOD7kG6dtWnpBjR8
+76iHNk3p
+76vQ4v6BuhJ401g6U6
+770y82
+7716wo8bn1
+771j7A2oQyUEA1gti
+775e0LbXs7vkg3j8QSEnc
+77752s462NM3V5Flwuw6t
+77E8Xqg4LgN6ShBGOC4
+77IBEt1Or1c24vWPvigS3w13
+77U1exR00smD242q6fs8sv2
+77WBDf3sbTiSpv8SS4cp
+77Xe27p0
+77jNF
+780mFMK0kakDt0nB
+781UTqpT6gVs6WA8
+7827246tBw33
+78BOELSKlk1as7F
+78J23v
+78Ls67c
+78Mf2pj8fKk5Sq2L8
+78NRspEDoL7
+78P3GRrMus
+78Pqc5
+78WeV1A4Fuo7mPSX
+78aNdayQnTX1e13sq1Bn0Y
+78p35uTby
+78sBmK71Yt0F5q3
+7A80ue3836206PwI4
+7ADE3U3HRd8aCc
+7AJH2574A48M0I1wN
+7ANVdSdbl
+7BhEv636HK
+7BojnC3DIBmmGo8
+7C1L24VM7Ya
+7CKu35ao6U121E3o
+7CMoc7AjVxXnpchvH3
+7CN6Umbd77shwU0vM40
+7D436RM5BwJ2ykbsgu
+7Dl7rr2aa2bfovt1yny5v
+7EOTdCSaFwhwSd1xuwGp6T6e
+7Fu3P11UxJJ101
+7G06EQdECMJ7l1oW
+7GCfB5odqYDW1gq7iBWJ
+7GFyG3
+7GeACqY0R
+7H4jdc4mIdrlM832TaQVvclh
+7J7jjIVHSIjGh4oEBsox533
+7JDt8xM8G778vdBUA1
+7Jg216IPQ2H7
+7K7y062ndg5aRSBsx
+7Kp283Fa5
+7L507r40AX3T6mHaO8
+7L6td4208eOQ1Kvq220
+7LdfF1415i51qpmHQI
+7M515cSr37Sj
+7MHXQ0V71I
+7MJd7FQgF0U2O
+7NSlm
+7NgRlBPxMo4
+7Nu0NxOnHSsecxU56XQbJR
+7OBJ788LeOqT3GGdn5QOmP
+7OnIvTMO27Hksu6
+7PE3Nv5LTl
+7PdUcgGs1W2es
+7PuoKiD38nQmIK4T
+7Qi7qWR73P143aR
+7QlOGyGCDX8Prdm
+7Qy0j102iq4kv45G
+7S271S3
+7SDjFwa2o2KQ5FM43l
+7SND06C
+7SNpQFhk20XW6LON1g
+7SVXqa1T1
+7Sb0367
+7SchQY2j74BW7dQNy5G5
+7SgB6fRom0PLEjCH1
+7ShU45Cr6l8
+7Spfb6Q8pJBNWi3T
+7TSXOfbQHsNGLE
+7Trpkqliv5w
+7UcmGTD0H3teObxa3PIKsChx
+7V65Eih84lc86QMJ2O
+7VFqt831tqF8B74sT06h5
+7W1JdVTdYHJc2KMvx6Luj
+7WLVW6F4h71Dgk7
+7WYO11kWn6fT2pOlh5sTDIwG
+7X8C04JN7LRyG
+7XhwAvjDFx87
+7Xt47WK7fF0OYPUVU3Br2d7M
+7XxsQY58e7QTwB83
+7Y00tGm
+7YJJ1NwK3COpMARUo
+7YdpF7T2
+7a44BmyY6sULOArK1Jv65nnn
+7afdC4616LFIHN
+7aiqnEep0bBDD04D370
+7axyXd55ji4n
+7bD30suWFdI4o5Jp6m
+7bO18f2QAcD2
+7bj4Yo7E5XDT
+7bv4R8
+7c4q8O8ft1FuY1Mbsme
+7cyjB646NeRKiJ2
+7d13Iix50R2X48opJt
+7d4b5KTsS62wJ
+7dqm3Oc6um
+7e6ntfBnB0m82i6k83
+7e8cuG44
+7e8m5J774M2W
+7et28dsw03son237
+7etT21xSNx
+7frh87sO28DX
+7g13w40lHv7wDaf1m4MQ8m
+7g5OT6f7u1A30FLeC06sv
+7g83b3nl
+7gGmkmKO80vxDN4
+7h2kGPt4
+7hCJ5yJvt0775jjgq8S0bX6W
+7hX1B0bSs
+7i03i80
+7i7FJDchQc1
+7iDJPlr1E85
+7jMF7DI2PbNDel6Lm54C
+7jtP3C204M33
+7k0Ypeij4V2jcvT66TW5
+7kSDl
+7kSfXX04U3
+7l1OMS06fGPw
+7lsB56s1512O40v8Lb7
+7n7CK4Pg11vhm6ax3H5
+7noHlf7x0E4t
+7o0LS1
+7oGCjqpW2HtYrd6h2
+7ois1q60TPT4ckv5
+7p5eY6u03Oc
+7q0iMi2GDq0Q
+7qAUegnj7P450rLp6
+7qYP01VYV7LgSn3bdxRcv6RI
+7r1Q4v63c47B
+7r8qT5PoU0hvo5wVvwMwR3
+7rV220ruFc6Y3LhE0
+7ru0ySl7vhRybOK17h2I637
+7s6O45GD7p4ASq08a26v8
+7sA426CHy4
+7sm5h
+7smvc50Lf0Vc75l0Aw1
+7t7tL288aFIHcovPB8
+7tdXvglBVQXI0
+7txJwfuE1675k322G6
+7u351EK474IcTOFW
+7u65oy5nW8B
+7uC1DPghO17iHS4
+7uEJE7MbCywRC46tr
+7uXaLmLAl6CsJ61pC14htB1W
+7uhFTn8OiQ
+7v1FU
+7v3bUgTi6IBDVdvyb6sU
+7vH6I81S0
+7w4U48Dkch7l6d2sr3PpVP
+7wH3hBKdO55Xq3gEEe0
+7x1m6Q06VGAwOm34m
+7xINFn3pugc8IOw4GWi7nR
+7xY3raCHiT3hA
+7xh48cBvt34812U1at
+7xo2E2XiGXV0uXEfBy8p2o
+7y06q4eHWy
+802oI1
+806X4jKS0Lo7cO
+806vT7T4G4Y4
+80EcbF3
+80K4C
+80U275bv
+80gvNBSa2gsK
+814ktH55a87815v563V81C1
+8166346wkHn
+818vxXu11
+81ILAecf7Pp4
+81Rg5rR0IaInWw
+81TewRpuYX3
+81teE8XJM6
+821UdmGbkEf4j
+821c2733Uja2E3kEtAX83c0c
+8264P8f1IX
+827237W7G6hlU0Y60L6Sm8
+828DT2lU8KStt674pGctB52
+82A762MP5i04n3Yn6oHPLn4
+82If7B6m5DWsXE8LE
+82LYD2g04BheHqsm0
+82MujA
+82TqgL1CXYgKl4
+82V4K75apw
+8308ogefQEebr48
+833RMHSwWvEg01S
+836DI5VY12j1Cd
+83bn3y1
+83c65JF048U86Gsy
+83d6qEj647pMQC7
+83lsq0C1IyG0a0FauApW
+83tP8
+840ng7eC1Ap8bgNEgSAVnwas
+8411i6
+84CIr82
+84HS58kw8B32q717TMOCYKx
+84L7MdH7
+84O1C65C5k88bI7i4
+84TvhtF
+84r3mGgD287JAMVv
+854W2USVx2swYb5
+85AFBCqB
+85cpPHm5B0GD
+85s4lIu161r
+865ub2nreG8h0r7
+86C34fOeI
+86CWKiqv
+86D3lv
+86P27LE
+86S3F
+86c88IWA7d8EK2N
+86o66
+876nMq6Po0d428mkF
+87Gan1I33d5v1
+87SexCLsDwtqFHL73T6255
+87oee8IK
+87rDPuuSqyt2M7j16nOitai
+87y8G77XofAGWgM115XGM
+882D66N7Q73Uk21Rh3i3Hu
+883d6jHJd20KHEEu0R1Kx41
+886wwGvXf6
+88FnP7ihMB4f88TJN278CT
+88G108W
+88Gp8064umWOY
+88RyHpqWAT8f71rv0
+88SB8
+88XSe1n
+88dJOgqIlfUA411
+88uIRN0UF3KgxUukV7l82nN6
+8A3dS
+8AqHq
+8B1e0uEbua066H8dUrR742
+8B7U2E2o5byWd3KV7i
+8Bshk4eu870M3VyJ8c4D1upr
+8DiQ6F8xlhM188R0eyIOb
+8E2EQRxxnb6ejKo5
+8E57cicQ2cn6Ld
+8E6m0haq3625pJ32EE
+8EGKOm
+8EPG0Xi307qd
+8Eg3VyND
+8Eop5f14qyd5QAN4v0sR8
+8F0hWV76XxO87NUJ7
+8F0xRJ8Cf8S
+8F3j56
+8Fif8LgR5X32HbH4
+8FkV3
+8FpQRPC5B82ow502W46FQB
+8Fx0J88
+8G78nBONNQCut4hVOKki
+8G82H54442m0AjgH3a4h
+8GIqX3tvNqrgH
+8GloEukQ0c68JDmnYL53
+8H81KcrcWG4xB
+8I1kuCMp7I25yji
+8IcQ0DU
+8Ie6o54y
+8IgBmN0xkLDIlj2y
+8IkicjRJ21c054Id
+8IlM1oJ7KSGx6hU7i6
+8IpUdD64akX6LGbx
+8J5OB7K26PEV7kdbeHr3
+8JNVrH3Lasa826
+8JNt8dc84gCJC0tN
+8JUFg0n
+8JUh1T63oLSOUc5UpCUFO0K
+8Jvom23dkWvvqv81DY5Ub3
+8L3xdOeN
+8Lh4G52x4
+8M42dX6x214GLI
+8M43BDUxQ2t5
+8M8BPR10t2W0ypOh8
+8Mp2JEiFxAfApNR
+8Mw4p5Jvd
+8NNQA83qWu5LDDj02
+8Ne2K6rxP6Lllx1c
+8Nj7qpHBTH1GUkMM1BXr2
+8NjevW2H3Kjnws2iC2qrom
+8O6hJAm5RYLGl1
+8Pa8a8MJ24
+8PpV88OGb
+8Q14Obe1sC82s2s10v44Pb
+8Q4H5tVMm6r
+8QWCbCQMIc3bsI7
+8QcNg01GEF
+8Qr143GYBM
+8R3EG13518F1O071Xy8
+8R6D2RO65Eml57fKYNV667j0
+8RYSCOw18284ncYbFjG2kq6
+8RbQ4MgwR
+8S7pAI056
+8SGc8Ly1WTgwV1
+8ShAFcD734S8Q26WjMwpq0Q
+8TM0eO67oHDf3spTRmJ8k
+8TY873CPrH82JPwf
+8U0bLsWq8444DJ5TW
+8UL6BjDVbGE3B6tlmdeP52
+8VOMo4k2fVr88MuEw72V6N
+8W3527304W1WeGNo0q12l
+8W3nO2rOr026L8
+8WC462P3JLhaXTN
+8We4u3732apuHDPV
+8X155
+8X8meHq2tUPTeP
+8Xmc82JogMCeiE5
+8Y7yHw
+8YHG1
+8a6xVdr21Uy
+8b1rapGl7vy44odt4jFI
+8bpqjd66y7AER2QoK
+8bq4WFH5B3s74f8yk5iRT3
+8cC24gh
+8cjN6m1e
+8cn0K
+8d4D1
+8dDe31b5
+8ddUotw
+8e5DWN6xSnwJyy
+8eBnNbUAGV6AAAshW
+8eSO14
+8eiti74gc5m01xyMKSjUIx
+8ev7c4JiIUUM5R8yV30
+8evw1sI852U4bid
+8f6s7W5E4823
+8fILes
+8fjJStK8D7bsF7P3d65118S
+8gkio4o1
+8h4gdqCM0H8j1M2M052hSHS
+8h8C80lK4l6
+8hI2axJ4xQc2ilt
+8hMHl64qhfWSdC
+8hh0tf6iia8rV
+8huHS0jX056Ukdx3
+8iF83
+8iHtdkJ6d
+8iX3Lj03
+8jE8SDSLqc
+8jKISHtr45yX5sUE0FGdMY
+8jQqh182kkY6
+8jjmTVU3rT
+8jya8308Md7
+8k1748I2BIW53LK8dmc
+8k2NIi3tY7t68
+8k5161277021n
+8k6Lo3U
+8kCu38T0uhtX8TsI0t
+8kGcCA5
+8kq3a2DBcvac7BwtO4
+8l433e5J6I0fj0PM
+8l50D2mQ2
+8lALowC26N0kJ371
+8lAl0YbpyMmPgI
+8m6012
+8mo3htjWw1Pxd8A
+8n431HuJF6X2x46Rt
+8nHEnu
+8nU3Geor45VFUs26
+8ndB1604
+8nrs8SX553uTd63hTJ
+8nwQ8LI1TiX30
+8o0l440qDP1
+8o32V0Pboeu66dD
+8pRkOXod8QLx2jax3AxJ
+8pbggxc
+8qG35U66qmjIeLy5Iir6Yy21
+8qVY4hgVfu4JW41cTi
+8qhEui604mB8
+8r2TI3Svqra1Jc253gAYR3
+8r4JLW
+8r5uX85x2Pn7g3gJ0
+8rac067JIBxRah56sw
+8reJCOg48gHGHDs
+8s0kR1e4QVV7QO
+8sGhaa2c
+8tF35fd8P30QE4nDj1YkEj
+8tHGDS0N2uj85
+8tL4e4XE8jF2YLJ8l
+8tVuiCkFtGW5KX
+8tw6WvMeBl
+8u8tR858jC01y8Ft66nYRnb6
+8uWu7hh467KSMsxmX68
+8uc06Qq7RP2P1RAf
+8v064ye21c
+8v0iU4C
+8v3M46A
+8v3WfTYF315bFL
+8v8D0Sfhscn45vBdn6H
+8vFbY6BM35cX2G
+8vKN51JNM7
+8vohWoS
+8w25qduHs0MI5K33SGY3
+8w7oRLS1
+8wc23uR13Fu23GVUp
+8x0kI0603QJ6sd0404n
+8x2RxHAY2Y
+8x33aIF0uGR
+8x6mobxQl6Ef0Hl1
+8xFru
+8xLnT
+8xML5SQm27gN
+8xij3lSDUdgO0kEVm2Bw8JRW
+8yLnMOGxRK4e0Nff
+A063k5
+A0A8SL0PuOtjj27670
+A1g0Myv7
+A1g358aWFHPT06lWjso8OeQ
+A1h6G3bgyRxxvyhyWhVL
+A2OkkG6xRsW2VXqggE
+A2PcqxNGNI
+A2REERChgbC5c4
+A30e7a8ia36g25YQc8xTXBgB
+A34p7oRr2WvUJNf
+A36LkA3imTr2tB7b
+A3lqQ7ei3m008SlRm
+A41x50OQPCeiC0M278DNC1LC
+A43eyp8856SP83
+A4GncFvJV8J2o0
+A4Ja7hpu3tCJx82
+A4T1b
+A5d3WY0X3i8b
+A5hjodl6Y
+A5ps3gmcx07K
+A6CX2HDWN8
+A6F00275L4jx8tNc
+A6M1di6LUH
+A6RKQvA5fWw6
+A71P2rA
+A72HPe7U2Ss24o0mmt58YXMm
+A74OqWUyE2kkH1o0Y
+A74P2VrP7Ao34C87cV8634
+A84V2Y4A
+AASM5H55Q142monqAx3u
+AAeRTP
+AD6Wgeg
+ADaW50SE6OE3Y
+AFhn1et6NTnUO3F81D1i
+AFv66x72c72hjHPYqV0y4Qi
+AGI4mak
+AGYktyr3k0GMQx7bWp
+AH6e820tOV6HSThd30w
+AHd7wkKJOW0oL11A30rx1
+AIIfMPtsjP3fDtTNKxGo17Tl
+AIqMWf4G31cTSrfl1M6VKm
+AKSumJy2fP
+AL03kjYOWmhlSL7
+ALpMVq8Q6P01w6
+AMW7A
+ANpel663M
+APvOgiDChph5N
+AQeg2Ym4L
+ARECS
+ARhwoFDQ3Q
+AS86Ghu6q7
+ASSe7kYrOuU1RY5xfqOu4
+ASm1a20I155Y
+ATiN8ic3g0Jv0lJL0
+AU1Wbf
+AaE3g
+Ad4KRAdOpE25j1BV
+Ae8v6oxYn77701gt
+AfW67EWaHMIQ7yvfqHRUwB
+Ag7jo42O8LQxbFwe6TK
+Ahnqoop12M16YT
+AiTECUywimGFu071n28A
+Aiw4841qJ03Y3Prap73V0hub
+Ajte53RpwICi8C00IAY
+Ako362FErCK8F2v31h3Ns260
+AmPHc4NUg3HwJ
+AmSQty0F5Y
+AmYxfSOBdJv8B48l0VAeeI
+Anj0oF
+Asb78n5F8touWJspj6y
+AtJMWIQ0TN4v1Vrj1pHI
+AuQ7FrUgXua
+AwVW3sV2gsM
+AyLa71bfxi250l8A518jspLC
+AyXm00Txvx0L5CyvWXQtsyAG
+Ayw2CUsH0QjG64m2cmDy
+B0As0723A520pE
+B0bp3
+B0q1K7dlcKAC46176yc83
+B1NGi
+B1lkUgPnf7ddbeKxPOGtP4n
+B21noFx80
+B257X5x
+B26L6Qp134xe0wy0Si
+B2pg4xQ01oKud01
+B350G70tUHdR4F5331F
+B40xYNyR664gLo
+B44Mnpnu1Fv1M
+B4QXimuNY4jvyEB0o
+B50OoxbIK
+B553840U1H2b1M06l6N81
+B5ObAu54
+B5gq0hh5ud722DLrR
+B5ixKlEEhbWPV64wjMe8Os
+B61uSoc
+B66gbJv648C5k08Xvd
+B6Sx6ydj
+B78T0SnxlCe5AQ522GBUf6c6
+B7P12uoI
+B7aMvVm446mg46CL
+B7grxpIo8Tf33RjGTg0
+B7k5EESc6
+B8KDHDSu5H
+B8SW6aM7KrJe07p
+BD5BG4
+BDw128DPSapP0X0
+BH3PJ6Nf5T0Tg
+BI34Ap4r3c210R1UBF6Lp
+BI77180Jc0ga4eu2TD3n
+BIMMVF72hPLrx5b
+BIV45xaS7N41bFOEk0EI34
+BJPV6JwJ8p
+BJTr1JVEjCQMQ0
+BLoMwUJ51ns6pd
+BLyBF45iOWdg58oNy
+BM68SI
+BPm3v8Y4
+BQ60TJs02sdrNnE8d8
+BRL163CF0o
+BRM3geidCoOv6Kw
+BS36Mx2tu76K
+BS8FR
+BSmA3fAai62QpNjmL66y8d
+BT3MW6yT0Dt
+BU3NV3Jv7pW45knPt8
+BV10NpgCXpb7T80Ry2
+BWiKbU8s3
+BYD32YqIWlOgNpL
+BYt5Ww10GR12r8jQffd25Q
+Bb2AdwWmQOcwJhqF
+Bbow1DFvD65Sx6
+BcTvH1XwLh0QJGAU2wA
+Bd06F615GTlaWOiSY2
+Bd1f156OCy1u
+BeCJRnF7x42QV53G
+Bey152YLpPVVmJ36w3
+BfDk1WlFIoug
+BfGE56ef2ej
+BfJ4pWLp
+BfW7r
+Bfp3iMp7A
+Bg2B3Pf88p
+Bgk2cxNJk7f4rMmW38Dl3S1
+BhVBA
+BkB01vNgv
+BkETJ6DBO0vFxb6pd828TtL1
+Bl1vfIc3iDf8iM7S1p8o2
+Bm8K5s1OHOM1YA65S
+Bn7V5uRXt
+Bq245sjauEPf
+Br10oq82CD25XOpViN0OVP3w
+BseYtnk307lA6Q4c1Lw2
+Bsi3VIb
+BtFw6oEqg3wwdU
+Bu1QtYr5sfcMxyD2c650GW
+Bu4Dn5U0tvu
+Bu880nx
+BuPfkehWx0mcq26yta7bf
+BuSLb058f2
+Bue8jN31oeS
+Bug1pfMQCEHkV6M1O4u
+Bw430F8581
+BwXBC7rU57
+BxH575uxOuCE6sxn6frt
+By4JbbLm4g1Kyq67Er
+Byv03ok
+C0182BFsm3
+C03MjgFY8ye3
+C043G
+C0Ew43p
+C1E8E3vVL16j
+C1KV2I0wL8wk7C6371
+C1f7dac7BM
+C2HD3c8PSr8q
+C30EryLS
+C32YIF3mQaXSTkCV8D2u7L7
+C3rew41
+C3s1RP5q7vW4B
+C470S3c
+C47O7D3RF
+C5JS4qveshY7mhNv4W
+C5gxw26dt75
+C60KTh
+C61uNfErrDn42
+C63fh05R7De33TmqtehvIfxv
+C677g7qo071FQ4a
+C6hoSE4L6NCrA
+C71F2Bh8
+C77Mm2Bv5tV32bB3IHK
+C7H805
+CAgHwQHau58X
+CCm4BXjLPAys
+CDpW47u3jamce
+CDxPimlul3S23D
+CE22Wjuk7d20ouN
+CEGOy
+CEIf818kp62v
+CFJ0FK0U143Js1C433sB
+CHP5367P06dFMPWw23eQ
+CI31dv2fj53Ncc
+CJIO2
+CKln3JQk346jaT47ns
+CKu4687wOrD56FN
+CN30RbmhOI5ipQ6x47ca5gK
+CO2Agp0ngS0d6tcnBi4
+CP1IS
+CR57NnVhHbrfuaD
+CRP2ah1peUgDrj750RU53l
+CS7804r4A
+CTGvoAMolvq147
+CUa3sAF216u7IeQ
+CUaLDB
+CV6cC5cYQ7Ybki12sokm5Mb
+CV8faVl08s0
+CXUWPmJcjj88pp
+CXpa3gF20
+Ca1Tsx2aY1q
+CbQNlJb76sx257
+CbULhCEo3m8Q357
+CbbC4f5L6l3L6k
+Cd6HS76Hi77r7YGGH1
+CdOTWH8E2E3POA1pghh
+CeG187j
+Cfcf1e8dF672e
+Cgxm73PXWLlvbIm
+CjC3BPy1KH421o32f8
+CjhiR
+CjnWXicg77g2GwDWN1
+Ck1y00F5
+CmX7o
+CmsLN67Kn06aGHb0nWJrh0o
+CoMlAAYdRSe
+CpJNPe416g82r
+Cq7458Q8iJtn4aq8I3E
+CqVN87Pm5hyraKaq45O
+CqdMb86r52TC3NgM187
+Crlnej6pMKb
+Csi0Uf
+CtU2PW66tBCk0swxglxDIp2F
+CvyRV3W8I3I21kS5
+Cw412mnXhN1F
+CwKybtG8352074kNi8cV6qSN
+CxLLn
+Cxas82oA2hX884xmYQ2jrpDX
+CxevjU4dESW7kcgYUY01x
+Cxv2002dg27NL7053ily2CE
+D02Xb5NBPo58PrT3i00
+D2cd5
+D2s2711
+D300Wwybt50R66GNV
+D3aT0bC8
+D3rrf4BKs5TE
+D40tyXI
+D47gT3qx6tQ51hCO
+D47x12qBG7n82y
+D4tl3Bm
+D51v22DPjSeSplVUk
+D58FB1lUvSdKjxDqXeE17j8
+D5Eid
+D5SANA44B8Jm
+D5sR4yKd
+D63exrPA1TG2XQd6406tA
+D64qsn86uCx0AFCDKU538
+D65SRo
+D6BS618N87J
+D6UtO8l3
+D7G7Ubc64866fFh
+D7d5u8c2q2td7F8wwQSn2Tab
+D7nv643DTrg0H
+D7uQjIbBdnn
+D8uSK63TOFY064bwF
+DB7G66662B588sgbu4tP
+DBdP640m2jjC
+DCDvH0Ro1C
+DGu7ynB5SM3A864nRD
+DHsQn6ygx86F
+DHw7or6
+DHy1oyJ2887Mr5
+DJxhgDD0mIQeDgs8
+DKMC7jIoLI5
+DKu7H1t4Xp7x
+DM3fMIDl770Nt083jjTQ2Uh
+DOBR48RQx025y13q4767snyt
+DP2B8S3qG
+DP5Ce5
+DPdyR
+DPrJ1
+DRodCrmwkH35tuMes8V
+DS4iDURlsq418pFh8
+DTJuXU1T0G13S0d18Al7XcR1
+DU1m68i1Q7W3
+DU7L1P2nx0y6387K6HrltN
+DUSKf88a
+DUxeD78eL1Ci82O7
+DVIFt1UEtwik44e82
+DVv6SE
+DWNvg304j4KTMEs2174Cy1
+DWVt0e
+DWewuaY
+DWxOD6Dlkiw3O5FfA0K
+DX2rT
+DYBN0
+DaV6Mq83h805DSGAI
+Das7E73
+Df13qWE
+Df7N7eedkot
+DfTvU1F4hkNd5lJ4FGSe
+DglR0T
+Dk6tb8PWF643qyp258O2
+Dpx32r5sd2v4Q5rAo64T
+Dq1bA4POpt5yuC5L1t
+DqpcjoX3m2h4hj4721T2M
+DrXH5D4L1gTCAqG
+Dtlr84bf14YfQ
+DtnT3Y2qlp5HYmS
+Dtsb7s36eASJVh1Xi32K
+DuLQkL6
+Dxc5s8wD6v47
+Dy70nFW20WY
+DyDe58BA
+E07SN5VEyl
+E0E7P7p84ltGE4
+E1K2fsDf8P
+E1fHP15nPQXjBxCo3u
+E1iWm444b
+E1pF32w3iVk3Q4E28
+E20mj4rXE8p38WB0
+E4Gnt5L5lB4cej2WU7
+E4JEjNiE
+E4ekAO
+E50C7d53L56
+E50oY
+E5ud7eWss5yUDB6657GIS
+E6EfhWpAlcoU2hr
+E700DGqQTWX5s
+E7T18u2ir5LfC5yywht
+E82GlbIr2v62H5d248gn662
+E8O8814lE4JkJc52Ure
+E8p1D7g26MAGrt616dfRC
+EAP1B57a5132algoul51
+EDEC5l
+EEr7sgEv4lqC76GKb4LI7p
+EGLa1s85
+EHS5Xo4
+EI6S4ARfxC3gTET8r
+EIDkp
+EJPe8rNq3c5piv4
+EJval1Oc0x27mdpL1Y
+EKl0r2F5MYb5ufApRh
+EKsWjbi762Thn44n
+EL8OqvHD
+ELY30563as
+EN21f1
+EO25LXi25UV6oD
+EPCRx8ObNv51rOF
+EPGIl3Mq6
+EQT56g5A73m3j
+ERv3LDq47PD87kYanTw70I
+ET3d4F2I4lV
+EThN3q3g4GbNl1hj1DI6M
+EUl4i
+EV6iD4RKEH7F4DJV
+EWh0x08
+EX3K4E0EI1YiI1x
+EX3gUtFMk1Pnuhs5v
+EXWsAOlGYtb053ExF6u5FLyb
+EY2fCS
+EavI0LN82c3A1UN
+EbLh7DAd
+EcM71
+Ee5lLQ15D4SLNmBo2
+Eg14uIJR0L4A0
+EgNL5xh01N5mU1iKCWKFQcfn
+Egf7KV7TeT
+Ej05nrdc8CVXYu1Axy6W
+Ej1201f0iV3
+Ej38vEPdjT
+EjY6DSn57x1v5h
+EkPP1
+El12E1cY5NV5icR6r0
+El5RUByTr1xve1tM
+ElhqquN7n
+Eo3tUJICSn2
+Eohh21
+Eq4NvWHH4Qb
+EqAU5Jit8kJfgutgf0U7Ren5
+EqUT4hfjoX45
+ErbOvqGF6Yyik074
+Erx54avV3Muo
+Et733lj33Gg5S0ET3
+EtktiuSQJDs18
+Evy38C7jJH13gywu
+Ew6cjg680S1IsOa4ueVQmLBT
+EwBPJgY4JDm
+ExWpHq2H5O0nP
+Exp3Ic8q2g8D2i347
+F08xx7g2V6CB0q3y
+F10SR3l5836pq7TCfYeGrEl1
+F13clAHtHaUN2t6wLxE7S3T
+F1eRVdjR66sHY20F
+F3OEU67i11yDY0Lok02y6
+F3f8ccwGF
+F3u1yJaQywofxCCM4v4jScY
+F3wAY4D4XxYt
+F4FgvW2v
+F4J3N2IsV4JvOl8i0B
+F4e1XPV2Hwg7a3d3x530818
+F5n0SfL8CT53dFr51vvW0S3
+F63t6sNxS3C0yBtcHAUU8
+F65r0poAe2
+F66v7
+F6Gfb3iU850A
+F88n72F
+F8CSOeOY1K85PUlf
+F8D816El20x4myKT1dtjX
+F8GnKjK353rHy6
+F8iVJQQdC6O4
+FBWY8rR466Y
+FBpLbIy1k2Rw44G1j0
+FEefA
+FG0nEK47BRaoVQ5B2HMA6K
+FGQf6n21ES
+FGx13w3IFFT718DDr5
+FIVQ8
+FJfamcF044ljD0
+FKDPbFp241
+FL21OE2AbCwyN8c
+FM8CJ05Prlm
+FMVqyn08R5kuEv8
+FNMnNPw2Ya1NHyBW8W
+FO3Y3Dm052jfCS3WQ
+FO81NX2MQ1Tv2
+FOFRXW66k6iU4jUcdYKC78h
+FQ2113IMyn
+FRrIYhIOx63k83E353
+FU0S1qBBcs7T04
+FUuADXtCD5
+FVq4l0ohQ6VBFe
+FWCW47mXs2a
+FWdV3V4qGH003
+FWwENlTM6u
+FY6nYvlylGTw0vQ544uJ
+Fb2W1r24opqN8m6571p
+FdAhEb7oy3UhbF5my
+FdU12l
+FdnoO3o3TWb
+Fdsa3uDj6
+FdxyM7c
+Fe4Bfs
+Fe5nVb0
+Fg05tGcQqI78e4cgDn538v
+FgJ7Hft6845s1766oyt82q
+Fh0xg4mjc7N4jCrkL
+FhXANp2KDtMmA2gFd778pA
+Fj7LiN85m
+FjUt2ol81V3DS18I
+FkpSyCaSiA2X28rAMNt5687
+Fm50h7GKQ470RHTNW1iJ8qs6
+FmYRwaLP
+Foel1tOTi6t168aeq0sTSY4
+FpcR5Ph
+FpsIohh60Bho67Fb7f
+Fq87rJI5RvYG3
+FqW3gSD2
+Frlb0SoQ8
+FvrWP
+FwMw41y68NnU0FGJ5k6
+FxEvW
+G0PNHsT6RM4
+G0QdT8I4
+G1Av5h73JFU7HEfj71hJ10
+G1E36
+G1u0pUmU6ehCm
+G2P1ogIIyMgo6j2a27egS
+G2s1ly
+G35LCd6yIc0T02l4u7yd208
+G3a6E0Mll
+G3gsRF
+G3yY14P0epy8DUS5KR
+G45Bym22IHR5hd
+G4XIV50v8Ncd3
+G4o54J523mDEWchsL
+G54It40daSr8MF
+G5gF05ux
+G5n81R5jjsG5Gp58vqNa
+G666cWjnfHEpEXGA2Ar1
+G6KW4uOD55dfWK
+G6M7256nG
+G7IJs50P82Y5G4s1nH52Y2j
+G7Ve8Px6a7J0DafBodF8JMma
+G82p1
+G86cmDjPo3
+G87T0sx6ujgM
+G8N7338fFG
+G8Yan
+G8kGyEK0wjdLTlpJp33Jds
+G8l7gR7rrC80rk
+G8prSshTWnX1Aj4K
+GCAqH7rTc5Jt1Rie02v
+GCq73lyB3wuOCajYs
+GDW1pK2834Y
+GEO5N1eUca
+GEwSJy0Bk1KRf1JxHqY
+GFH0nk84rU7
+GHJf387
+GHU6et8f3CY
+GI8y0O4mKt7nev21K4KOt1
+GJdBrSK3oAPYg6JhqnY0Dp
+GJm85Pul65cWoFKG4
+GMmPjjyXyvqt1bpEVw
+GNN83p7
+GP1Kc84XR7Vk10384m7S2J
+GPijCx2T8HpOF1dN6
+GPntPwnx0
+GQnJxB67
+GR340IBvbTi10
+GS7Sinl7k2srPHIdC7xsu
+GT42YMo1UNyUyuh
+GV0Wt1N7Q
+GVsdgDhg
+GX1nfv0HF8O3
+GY0R5v7a8x43DO5
+Ga0dkV
+Gb5w0aja8H
+GbRXDIgHx85Lc2I4F4Gfuby
+GciA5Y0kP
+GclmMLkS0
+GdC5XV8b522xytD
+GdK381w3v
+GdT0mf0U4Q0Mc8AFsCJ6a61
+Gdit38HC7PGtq6N32F7m2
+GeuIPxcBXM3W70cSPfqC
+GfDE41J2VXOw41Vm33414P
+Gg6B3fm2KvV4mnVO08GYQd
+GhpgUQt6bUc8o8XVJuQ7
+Ghx2a1SF4w11N4880KqG5TW
+Gk17JaCg7
+Gk7eAq875sHou
+Gkj4u7q
+GlCK4Dw7uIb1bsY
+GlxQ7y5rMDn40jXcQA4A3UNg
+Gn2Q3q7bvg6J56K
+Gn3vmUxHWNV3np0
+God464085G8vN
+GpPrRO0c420y483T6l52sP1
+GvcXQ8626I6NBGQm4w
+GxsOc
+H1I67eBt4Lj6hL07
+H1V38u
+H1v2G
+H1wKsxw3t00r7
+H25ywXWg5J
+H270yPJ55i1W
+H37833CDTytf1mp4
+H3N013d41ipMop
+H3Nyq7H1t221
+H3bTj310QaL012cPe
+H3fTKUU0Y5gdpKcO641j7M
+H42eLKO
+H4LBA6246B2N3OkOpx
+H4fFjtoak
+H4g4563WvqWkArS
+H4gEuhB
+H581dL8J4qjjb1DAPl
+H5alUwndRKm
+H5e5cVK87a2m16gCSNtgI3q
+H5mOb2OF3E8oI25
+H68KPMRgSB70
+H6UGGj6Bq4n0Dxr
+H718V0l3GE1fI06Kfs
+H7EiGb70
+H7KCa0l6TRDuEG0
+H7s6xH4q88HKL2
+H8LCu4M2u4f1S
+H8MrS6CwPO16RoSj
+H8P4VX62803V
+H8PP4887
+H8dq1J4bt18aF4W48
+H8fHVjq8WdXUE4uRPjnyv
+H8mh48T7
+HA1yh
+HBWrcQ4pLka11738w
+HBtg2r6pR16VC73
+HE362S2kjL1G
+HF2p067p2
+HG52N6amN
+HJPWlb23N
+HLuX8
+HM0GBe1SIB0GMA8274T21
+HN3I58
+HNeY04c4q5MRO524OG34
+HP824Y7lQ7bvAhrEx
+HP835voXi4JJFIQH4Bj24t3e
+HPeuF
+HPn23UupQ
+HR8x5tq1Wv25njjUXp
+HTe03
+HUV1KPXXn5Wvk
+HV2K1WhShOVtguITMU
+HV8VCk6oGdeG71
+HXUyE4BVO5tji6
+HbE35H3mF
+HcN230scg88eow4b
+HcPXG7EhIs11eU4iYK5G
+HcbsR51rXDw7016fVOt83YaX
+He3002YAN1xWYJ5jVWaN
+He570RJQUrj7VmG
+Hf8123hK0
+HfAollgq3EG6
+HfU3sd23vI54H4y
+HfdKopI
+HgP1PNA6gggV0v0L801
+Hh8Q8yObmEPI017
+HhttPdKp4
+Hj3R632OuQwd0r
+HjA52J2d64r1fFmBITy1
+HjNA1CEw6w4
+HkX7hlT2TK0Je7ersfx72o
+Hlf2S88w
+HmBi32XWTjC3dd7stD0GY
+HnA5J
+HnxkMvjEL0rF
+Ho2IJ5Vpi16A
+Holgr1pin
+HpsjM0
+HpyPf
+HqNMKJMV50xDX30GD
+HrSQbAWX2F731V7
+Hs1UjxW81
+HtI02nss6t8S0fqH4vcLkCD
+HuetF38A4rj7w2
+HxBe5ucg73m6
+HyL5Mriw867oUioTmr2SLfO0
+I0ac41cnFsVAkHmhupt
+I12pYjar
+I1MWQo6y
+I1be6JuP8HeaA8UI8c
+I22Uu37618CP747pe5
+I2p1w
+I357kVmhkel010Hs16
+I35E0Rr2
+I3F7N7s7M
+I3XOX0B0
+I3w7NEK56OB4G26h7MU
+I50781U82Bk0
+I5Bn3UVGU8LFd2kl2
+I642k31ww3Dpg87fN41
+I6E1Y
+I6FvRp84S2UGHl8orYl
+I6Yl6OVpH65i
+I6b10lD8IFt
+I6yTE4ellX8C7
+I7PxStf5Gs12BP07FO
+I82Ofg1C8f
+I884R85q1kn
+I8xs313m1Nk0aC4ofVyYV
+IA46V76LhS4etye16E
+IAX1cjB8p2
+IAt2dH2QaCv582C
+IAwj1cWek32011lq1J8mf2d
+IBVBmf6H8vCc4n
+ICHiqYG8Uj
+IFDa6Y1D4JuF50F2su708Wt
+IFW3AU8X61t86CljEALEgrr
+IGG1BJ
+IHuJh
+II1600yobW7p
+IICO3W
+IIX7QoB77864R6qOfLfhNJI4
+IJ8QBH5I2
+IJo7wcG3SrlP
+IJxBli
+IL6Ct0hm2
+ILCAW28PE
+ILH82L
+IN0pT43W73j0viT885YKU16
+INxp2d10SKEd75iE4A7Yq2vc
+IQ22672kj6OBu1T3
+IQnp6a50KF
+IRiw0v
+IU3HcXEu8b8J27ITo8EcwT
+IUtkHTnBRV
+IViYKd
+IW8oEsDH0V0rY5U
+IWNnWp4jmtO78
+IXMkdqJHU46dVte76I3Cy36m
+IYn0ytVO134cGgRH1Mo00
+IaaNQ61LShbK54SI
+IbCc6D7WIC
+IbgbUvP5
+IblvAnYcnAwTiEM
+Ic1W4QSJrJ18s0jnHx1N35
+IcM1YI
+IeE7W6eniofdN
+IgMk407Y
+IifFS03pnGO
+Iit87iX
+IjDM0V0b7savVtf2tbHOy
+Ik28kU0xl50FU3Uk4opJYBA
+ImYiNP1Y0JoBfQLbd
+Iny0u
+Io7Mj0g8fwd7L8b4Di
+IorWR
+IpqVS
+IpyrlcegF4443KoFVNX
+Is4ogkJ64Sqcqf
+Iv4nCgiva
+Iv73gFc
+Iw8wY
+IwT2y4ak76hu1BgGDSKuI
+Iwu3T706wKyBs33
+Ix8dXlDbC3S44L1FQJqpwa
+Iy2ED
+IyLp421t
+J0VTT0R8t1JcxdoOO
+J0XLG7KG22lDNyU0
+J15C2
+J1an665U
+J1kjNdL12V8
+J20OeVpcLCw5DqyWYV
+J25yM2B04A2M
+J2El2C63y31dNp4rx
+J34ijU3243
+J3FC0FK17nbi6
+J3HnM2C4sNnO
+J467JW
+J4m3I
+J54mWKFYUD081SIe
+J637uL7i0V6x
+J64y0E31kLxdtx
+J67TT5A
+J6S681J6JPB2SD6Uc08U1
+J6fBeMaj7b6M8
+J6javud13C2wG244
+J7SUI8OhGQNq
+J84WKCH
+J8p4pS3A8G75Ct2
+JAT5D2Fkpd5FC
+JC6BaR5i7
+JDWi48mC38uf
+JGw3BC7C1R2gjvR02kQg
+JH051GV4O3FyM7
+JHGoQkiiNx0K522UDD4
+JIyVq7kh6B
+JJIVc80Pgv
+JKmY3010a4e
+JL7RPL2daChHQp7TY7
+JLB4Y
+JLB7v50LP4KVsH2or1ih8821
+JLoXP3cQ3g7Fh1kpF
+JM6Axp30xv
+JNvHHPxCgj8DDGXQ4S4J
+JPW8Mvvjq2GJj6
+JPd15l3I6F4Na
+JPh1g4nGHIT0
+JPrU65giKMJpNd0611w4qcF
+JRN4nLo30dv0bRtsrJa
+JSiXO2i7Cm88uXUES6EldW1I
+JSjAUy
+JUm3vwG65q33
+JUrP4
+JVCOfSTVb
+JXySu
+Ja872lhYn6T31tPIOB85eb
+JbOAgILdJQ
+JfbKgKX7gbq8s1d5QJj7F6oq
+JflBAt2610d014j72qx7IXHO
+Jg86cfk1Uc4jL
+JgmG3
+Jh7KP0
+JhS7I21kB6X43NB8U8
+Jj21024T2xdn6
+JjSn7CL7q0
+Jk1t16oBoeM0CCry7XQvR37h
+Jk72xErx1U6M2x0B4W56
+Jm1d3h3OxQE
+JnJSY4
+JogdA3We8QF5qf65v1
+Jqk7D0nwmvre2d1AnH8qL5vl
+JrReU7qfE
+Js07yFa2qnrfVU1j2e3
+Jsnr2nIA
+Jt7E0sR3X7V
+JtE5Fxg
+Ju5Gq3IN77dD3541425UN
+JvGVOip65N3hgA
+JwtDd8psW2VA
+JxI8vHvRp2qUEeHIFB
+JxddK7Pl4VF48
+Jy4CAuL25v4JrHsIdj3d4q2M
+K05HlW2Kgr2Mdwr6
+K11m3K43m5XFX40RJm1q
+K1gQm1u7ExEr
+K26B60qNA761SuYdXKhu
+K27XxFR7JP5b07DPwL
+K2Hjg3
+K2R478jQIc54
+K2mrUY
+K2uHR7U36540Kx6tC
+K31Po8dhUXDBDt
+K34k7XH40NxjMX1dl
+K3Ajb4l11HjWeEEnM02w
+K3imEW3S7DRihILRDg7qq
+K428Y0T0R2ui6S
+K4Npj34S8iAOa6qRd7y88Sb
+K4lBe860
+K54bM1PBEyv85M7J6G
+K55mHG1D07
+K56DBI
+K5H5uc6M367aVUqW1QP72smC
+K5OgpFUUHCnm3oif6f
+K630vaVf
+K6J1LIb5
+K7qIIaDS5myN14c0cJeiaW0U
+K7ra5
+K7tGy146ydka
+K8COoSc8N
+K8TPbdRi7X5jHjOVXe30S31
+K8Y8N
+K8YDBRohSU3621J3pw4m3333
+K8vvk4yC81N7ToL2XVb3d
+KA2M874c7v83T
+KAO6W6
+KAbJb
+KB3sgv2UcA152
+KBV5WE6y76le
+KCaXaJvGKfj1tr
+KDr0tMRnCJJIBA84
+KF2uQ3u2s35eysuX7s48R05
+KFSPYD
+KG0HCim7s5nX
+KG2X4bEy5bahXgT7OPn
+KGO1w3WFD0CAuu
+KH8n8pUDpPj0hPA6
+KHtD2A2hp6OjFgS73gdgE
+KIXnc1tg5tx7JUmV14
+KJBwt
+KJeFD8m6cR26L
+KJmChr2CEaA
+KKQ82Pvc
+KM06o1
+KMIq0X61hnjo1
+KPS5d134FEJJu
+KQsF81TFt
+KRh240EDwPr2sS30cUTs2pB
+KRm0RfHnXwI5lA0VO5k7e
+KUih81wokgXk
+KW3ODiKfbW3fS03W625w0
+KX1Q20pJWbuqe35t
+KXT886hLF65QtuNe5MM36A
+KXvq4OfKW641X0d4WHM2md0
+KXw5SRW2jj
+Kamb1E
+Kc1lPGJx6JXTcDsck00
+KcGTq8B5161je52Gm
+Kft68MpoAc4tLMS2ck3
+KgXWlcGb1q0
+Ki4yIh3hXjHn26
+Kii2TSi
+Kj0Rtt5r6bFQ2NGQ
+KjAOvl4yBG7Rw7d
+Kk7EsvD4vMj2ijUnhyW48
+KlP8GX12PxC4giG475
+Kn22pycavya023VJqu
+KnmtSR55J731b
+KoTnkL5820App0hb
+Kr84i37e2e6KO18IBoHSHIc0
+Kroshtr
+KsmxnX6DTb247Stt
+Kst24
+Ktp44q
+Ku22N3ec
+Kv017
+Kw3RwUP6RQaQCgVSHjU0Gqr4
+Kw7fOuw4DHeyXe2yg
+KwqjKvxg17Ro85YEQYKl
+KxewntCJ0mlktP
+KymYC73
+L04f4y3Lyo5r46mp2
+L057p1HPpJsmA3a
+L05l0uM5UWt80OvwJ68M88N
+L0MMUTo8C5rj
+L0if56g18jb2G4ThBy8FLD
+L15l8i5k558tBcDV20
+L1Q62u2
+L28vl
+L2Ps4
+L2rPI4lTVflM42RL3fu5
+L3Jpr8lO8Lt2PYA7JDLj8L
+L417R4I8nG6Mps
+L47nqo
+L4N36wrG
+L4WQG81b36T
+L4nk83x6pU
+L577vXI27E4kGm
+L5X4732Ib1Vj5ev
+L64VGc
+L6i8QtMXLeaW6
+L6sf8vbxQUw1NIDX
+L7n644820
+L7pnTrIg7Gaj0Vni13rRQeE
+L85qF6846XR20TxUp8i
+L8Xlx3485W3NxHr0q
+LAB23hT5
+LADu77ed6bPf
+LAFo0rFpPj1aW8Js4Scpa
+LALDOC84aIS8V1
+LAg3ad48X41nC22ThrX4
+LAi381BGdEy78j4ke
+LBaRLg3
+LBbgRmSXQxdgWwM48I
+LCDBN0aaC17yk5kx8bq
+LCUh4H7E8RT8opWRW8m
+LD1u8eTfXl
+LFgU5WT87C2yJ4W4YU0r8Pp
+LFo3Ls
+LG13x2kvfvoJ5p4650xdQPo
+LH7Gx2g0V3EV2Y1J17
+LHow6beTFmm4fPjj43Qy
+LHtKPAbAXa4QGM2y
+LI5r3n388rMETn6
+LIJuG07tfqoLu8K
+LKRvI78ReJ6OGetwpvK
+LM30M
+LN64uJaOEGiHX0T8cS2
+LO0cOvQAgidX
+LOP6Akks01gG1
+LOeiVy1yE
+LP5AMypx5
+LQd03j0RQEIsglKmjFPuYXJ2
+LR2AKy0dPt8vFdIV5760jriw
+LSGQPxLff8bpk
+LSJtFA66
+LSX841mxv72hO7
+LSt435WAB5OKB
+LT14Ev
+LT5xeh55eL8WC3PaW
+LVM703TE5Iog006
+LVx3B1X8B
+LW2YYOKsIxYejJ3tCDEs
+LX6QHG6sEmBAIbA6e6Am24
+LXmcL8DQ616e
+LXs6Xx05R8n6Yg
+LaONIKN
+Lcat8FGEhBw
+LcfhOxSVg68ACRvw1xC7LU
+LdiBaUk
+Le1vfH
+LeYdntmr2P7ynH8FtcbRVteN
+LeatLR1l
+Lf85vk5I753lwILPp8YY
+LfUyaaMR2
+Lg53Ftt6PwHEMDk0Y
+LgMBG6G3Oc5baLkjeP50i8
+Lhd3twEA66xDq
+Li0KjRXWmaO1emA1b8EB
+LiFH6M60q
+Lj7E348IVT40r6IaNt6V2V
+LkREl5A05DK6wq3YlrRn01j
+Lp1M1UVg5gTdy71ilu
+LqgNlmnG1ygCm04278Yv
+LrB67irl3Ple5OW
+LrOMx3GjUHE614W7s36tp
+LxB3GrxHyeem1fekvgm
+LxPISu8dfmMlrHNr
+LxX7UfG58X6b2TTCwkEyp6
+M03632WBAO3Ot
+M07G7IO4gFx1o
+M0J1l7pujAvtkGH
+M0JtV
+M0kjTU3N2L5P
+M10C4DWJ0Gn
+M152O
+M1cu826gIgIfo
+M20p14od2
+M22umK0Q1S2Q80358P6
+M285Wp6
+M31sGqF45Ub0oR0hq2
+M32Kp
+M342Il45i225s06pbi5BJe5
+M3Vcm3o
+M3aR2541oGHpP2mTt0d68
+M3e586V3688s64J7j
+M3jjDj4cJP3yk67GlPULUx
+M3qqxj71FawLd2slbwTO0
+M45b3SlE5q5n
+M462UC
+M4HtnssfQiEAD0jYL6
+M4O8OkhX3T1D2MMuf2Pm
+M5857hgh7234V88EX
+M5MJdPI5Agcy5T
+M5TxI32kgu
+M6567
+M6bPuQa0qryvlavpXdYX7
+M6fqXU5eC
+M6g5TG0BW1bbK8
+M70kEecXx1706B
+M76D058tDDD25v3g
+M7J5a5vG8s3
+M7OQK3MFU5QYjW1ja5jEj2E0
+M7xB374ixGAp
+M8HJdPuVmG5T1GM3jqjsKg
+M8YT251
+M8e34VyN1iJ5IA80f5ufnd
+MA2MxDjC0g1fxA0671
+MB020S5OTtc8oO3iB08I4L
+MBXMM0lijJe2H22vU
+MCL83EIwhTq5L3clV2S1c8Q
+MD7aMN1a0s7S1H2QS530
+MDHRWctP3rjjvG0eio7SJ
+MDKi1SBx5l6Sb
+MFH46gf1UMw2xqJS6VO820
+MFaMcxlV
+MGsGfU7253gN2Hnt2W
+MJ7Ej4tBYS8l2mK
+MJXhdk7vIa46PIHO5R67oc
+MK45RAOe4Ugk4UJ0B
+MKa5eNCgK6M7H4LHIve
+MMNg1j0L2
+MO262WPPSYSVGe6X
+MOdF5501fG
+MP277gwYLn
+MP6mdTJr380
+MQ0fqWv7k48r6kw
+MQ1rdDUFVb2Ek
+MRoENDT50CoGq45C
+MT2jH3JvtKhS2
+MTf2Cww6bhry38k0mB
+MUg2eGVMxLEn2JlY3stOYR
+MWoHbU5I00oL7X86882y8cou
+MXefAh62BQEYn6T54AuUf
+MY5E0vP2
+MYCu0Tp74VhvcT7fg1dTyG
+Md0yyD6nXB1OBFdM2Gc
+Md2lY0T7reBu
+MegDovU0eCg3fkXrbtkH
+Mekui5MM6PUU06e
+MfC1iJXG0UIde2k4Rt
+MgMjEMssUEN1
+MjI4i6E
+MjLlK02ifGBIrla0EE
+Mk4tWJvwrb
+MlWjcCEREOKUL1e6gQ61
+MmMPCF2
+Mn25o4t044QATs
+MowB20mIxthiV3
+Mp0srA26pW81q335754k00
+Mp3bVu805l
+MpcgmXIn662H8
+MqcMK622OR2
+Mr3q8uV
+Mryf6uJbjJI4y
+MuGs8A1QEKUOppjLc
+MveCxn2pneC75WCdN76kovr
+MxIVt
+My4DaO425f86c7
+MyQ868wQ7iUnX
+Myso8FwW4ov0AQ
+N016jPED08o
+N0wAwpxkrbl81WRj4
+N16sP2YTPvJFPcoCDlg86Qv
+N17J6bKt243
+N1MDwf
+N1O7npivCIR77
+N1uIFVXv1hO13c7cnEK1s
+N2FH0or4rUw3OV
+N2Jfon7dyCN2Pmm1JA
+N2TL0cw5gA4VFFI6xo
+N2h00u8
+N304RM2d
+N334idEn4hyyO64
+N3K7NJPTO620OUo
+N3hv6M7W7kPGp4g5h5D4GGiU
+N3ieX
+N4c8u78LI12Qjau
+N5sqt2k
+N5yMwlmd8beg7N2jPn
+N62KU05S73f5I0F77DK
+N6BMOr83ecL
+N6Dh6XreCWb0aA4nmDnFOO
+N6G5QssB8L7DoJW6BSSGFUFI
+N7Cd61u56HG5ih0AD2u6
+N7ED661T508c1vmM
+N7L608vFx24p0uNVwJr2o6G
+N7jXiULOjt7xH2SgHwC
+N8222wByj
+N8Ueiln43iooW
+N8hEI6kjLn8m
+NABd3KhjjaVfcj2Q7SJ46
+NC7F5u31
+NEGa0N8MJ2dnn3MKAfl6u
+NEK1MY7NTS36Ov4FI7xQx
+NGPH4Gm5Nq4e4Ub0D4S
+NH35LOhV6MoyA6t0bXl2T
+NIp47
+NKh216VSO7v1mbyW
+NL26D4S5nlPfyP322Jdf
+NLeWW8OXjm1680DM5MU
+NMpVM487tCGA5p31R4g8
+NN4Fkgp6GXx1fv7bLx
+NOCE8N1D5yL2NU6
+NOCfvcKS
+NOLF8Cv0gchW6gNPX4
+NOg4pvkcNV838CleFwsNLnOK
+NOl00pk86Qix8KT3QA0pva
+NRXGu
+NSLFx
+NU7HSxxQR1770qn5gF7N
+NUF2mivU8hgb7bX5b23tEE
+NULL
+NVrYp75d3laTb3Ii1a4m0j
+NaDO45Xxri3X
+Nd4eP1162w103p7cuq4
+Nd6hm74FA4k65m2A
+NdtQ8j30gg2U5O
+NeXCu
+Nf1SX4jg2f7nyT
+NfuN3581n
+NgfUMoYbR7kETkr8
+Nh3E7W0Cb1
+Ni0502Nm8
+NiIO5P7b67gyBUw7W4XMpsRh
+NjjnM2LBF4a6Ru3V11F2L5F
+NkGnA
+NkytEWShAd84ojaKa7A
+NlXgOC4tik26lq0
+NlcyfK
+NmsV7i1Ao32P
+Nmt6E360X6dpX58CR2
+Nnp43RtjHVRbEhbREog
+No3B0Y
+Nr3652
+Nt2mbbKT4IdOj8Cgh
+NtCOg6Jx6B
+NwuQjkMCF4KqgmCh1D7PH5
+Nxd2HCv
+NxtVjEh
+Nxy6uK6mWCk
+O1Kq8bfOEoDR
+O1Rlpc2lK3YRjAQu34gE2UK5
+O1fW6627aJkal
+O2U2c43Dx4QtYQ3ynA1CLGI3
+O2aPT
+O35aM54x2F07Uq0f
+O3k76JCgFN83d58REWNvt243
+O4g51XLy16E6ANqm
+O56QsHRU7FCsDRCX5Ay2
+O5L38Cc7moc2
+O5RI7q7e
+O5hC1xAT0EgNEke1U2a
+O656pe22AVUYD1OG8O4
+O65HL
+O67yi603cB120qS
+O6o7xl47446MR
+O745471yqQLem
+O7mH0141NeSt21
+O87k6FTgfM5A
+O8Qu7DJOCJI63
+O8VNn236c111
+O8YlG62p5C
+O8cWpb
+OA8N5i1UCdUv87i
+OAC52E50O5i
+OBbyvnMMUh1iJ80EKnx178
+ODLrXI8882q8LS8
+ODS2ChEt6148Hijbbe7l
+ODcBlv740YOO2D
+OE4GQ84apBXD6
+OEfPnHnIYueoup
+OFy1a1xf37f75b5N
+OGXnr5s0B
+OHG2wWD83Ba
+OIj6IQ7c4U
+OJtk6
+OKFeq
+OKlMC73w40s4852R75
+OLGDak48jmju2r2v26LQIlx6
+OLq35YO3U
+ON30Mh8A8
+OOPorJCyeuR
+OOv831H5DA41gTrj
+OOxiRM5Eqgu81j4o3v6
+OP2JURmj
+OP2o26bb8V3
+OQQgFcOqtpjdsCCejbvAAi
+OQj5VtJ6ckRaiyanP15Es18
+OQk1qTc7L6BHW0IU5cbY
+OSBq0b
+OSNmJ7Y26rxub5G0301
+OST82YETg7Je2xE0J2
+OSc0r
+OTjMvEr0QiygFX856t7FPPlu
+OTn0Dj2HiBi05Baq1Xt
+OU86sF3aM16q
+OUUn180cqH5Gf1sO
+OVJrt7Ag4JY573PrTY
+OVMDTY5Y4L8iaNgw8V3qrfHP
+OXHevCW4J150lO46s031n
+OXo62h3Qhvl2C
+OYC73wSr
+Ocv25R6uD751tb7f2
+OdF11J0B1b5v
+OdKPu
+Odc3l6Y0PG
+OgARV6n1iMYIW1VUm1ybG
+Oi00P6K0mQf07v7j66QXRb4
+Oi4wXnLvOLI42
+Oj17D50M3suPXf1J22R
+OlmEvw5VCuK8Cy8raUDS
+Omn3514WtBGS26q10wG
+Oq7ddTu
+OqM62X0G3j7XpBOTt70
+Oqh7OlT63e0RO74or
+Oqj3145snjOaP7P7rN8xe
+Or43Y6lI
+OsgSff3KLTaXQ21Sh3rKJ1
+Osyki0P18kNjc2k5
+Ovk06Dok3I
+Ox3HlDd245
+OxfCar17
+Oxg1Ig1DBIXwwQv4u0
+Oy556808N3x61lc5Y015
+OyQm637Y8T5223y1Ha20q70G
+Oye1OEeN
+Oyt670i0bysk650i2to
+P051D3DF78P14Bi3
+P11Rvk
+P1OsIJBOYl
+P1YjcPKUWkRD8SKp
+P1tjCVg3C82le3u24xbJ12Y
+P23cQyt
+P25oSI6FYWWQ
+P2DNeo00PA7DJF0
+P2o1Lq44s3
+P33TSSHI7Y66Cw4lsb4h7Vf
+P3484jw0Gpff2VgoSdALY
+P35JtWWC5M42H7cTpwJN
+P35q3
+P37TWjlF65Y
+P3Bh3QyPL4c
+P3T4PNGG1QqCpM
+P3ejfC
+P3p570gQ8
+P4shXtBlvn
+P55EBnQ5cCF5RW443l0U
+P58wqaXf0alLttK226h6FPPw
+P5PT4r2Syq367
+P5X6554E66k
+P5fGyI5L8Slr
+P5iS0
+P61xNCa0H
+P64485rj
+P6TF4jQ
+P6ueYr2
+P865P0DpHN1nLgB
+P8MKw51H
+P8NPOlehc210j8c781
+P8pPp60OlbF7
+PADsH06
+PC25sHxt4J
+PENNSb206f
+PG47iVjL87G6kcT
+PGRP1R0
+PGx2v0c7M8w32y2lANR0
+PHs7k4HAS63aJa
+PK1Ato
+PKyDxRfT7OOR370M1u64Gb4
+PLFB86o84end3tdsS2hVL
+PMoJ1NvQoAm5a
+PNk062
+PNs6tw6fjOl1yNl1e
+PNypQte7Gq17k8w77G5cvAn
+POMHxg1V87N57tlSe
+PQ71uI1bCFcvHK7
+PQv3N3YYx
+PT3jjlj8SP67iLnF7p5nW
+PTl81NEYpvuKFBbxAOVh
+PUNia61
+PUjn241mg3Qfjj6nG51
+PUn1YVC
+PWAPwbw
+PYSh3CD1vxxH3Aq2B
+Pc18F2c6iW766Vd
+Pcj70ddpJ0iD
+Pe8evPIv2Q0nM7
+PflAmQ3KlJImr
+Pg2g8HLPyO4vOPaFdg
+Ph2xOHI4
+Pi82o7b1r22Q0miJ2HPet
+Pjmv0I66
+Pk628E4Tl5b
+PlOxor04p5cvVl
+Pm1l0q2mlqmy2L55XFdLrx
+PnD8l5
+Po4rrk
+PovkPN
+Pr48bUEafA4584KN30RanD6q
+PrKs7TD0B7kj847u56pce
+Pw53BBJ
+PxgAPl26H6hsU47TPD
+PyQ4Q7MF23J4AtYu6W
+Q0PCmMLk
+Q0TBQ1G
+Q175gcO2v35jI7s1ApR1
+Q1JAdUlCVORmR0Q5X5Vf5u6
+Q1Y703ieFHD16F7
+Q1klq3EyXKfX3523gIQ5n4f
+Q22Upqia
+Q282L11WWFni6av8FGn
+Q2B430rRMeowV73
+Q2TIySPl735
+Q2V028
+Q2cD8XsSGtv888622N
+Q31pMN30tPv010W0U2h1s124
+Q3F7MokUsoVf1xHYCorS
+Q3k1H7E0N8B0vl22437
+Q443wtttcf01y
+Q54v68tVoY852n3kuOO5
+Q5AY2oNpDSOIxy
+Q6LDBb
+Q72e8c
+Q82FD1RrW
+Q86x37
+Q8ypy3QCBUcVq6H
+QAHN2k5a5UY046x7ae
+QAgnk2L5bnLH580a143KUc
+QCqa3FP8v3D
+QDK4Rtj7CX01p
+QDuS4V7k07suxy3
+QEF7UG67MDaTK504bNrF
+QI3ERh13R
+QJocgOK5m46i2F1rfSCy
+QJxfy45
+QL665K2OF6nQ7Agd6Q
+QN3Ru4uhSNA62bgc4HI35
+QOev2x2w0723qyqs23d3k28
+QOh77Nn0071FMlBWw
+QOt28D6Ov
+QOwp866GD0E0g3nwq
+QP4koLS5P7NSwq5Ja8480606
+QRQRpg
+QRofyh6UgWdm
+QRq4fxOau2jef55O5X1
+QS5W14A
+QSdVNqav1efvKUht5o3N6
+QT8H3G133r01VKlM3P45iP
+QTTWGUR2P2b08Dn62ea
+QUnIT4yAVU
+QW7bld1X2L
+QWfu6dR4Na2g5
+QY2hg47yl0v
+QYW7H8ta63kcfM
+Qa8XbKYNym5Se
+QbGMK
+QbdFB1d7vfaM7
+Qc722Gg4280
+Qc8i8a3TFBT7M4tb1GFhH
+Qcgkl434Q8113uls
+Qd6E0xuPQ2Q3cJOD4k2SV5M
+QdHVkD7V11xI8fC
+Qdb2N3CC1LwlHy6uljrv
+QeIDu0qC0H6kRKlqVGe36J
+Qfy07
+Qg446fs0y6K5wk4ly37V
+QgA6r86x0JrfdHuM
+Qgoscb7
+Qi73PEPD3E
+QiOcvR0kt6r7f0R7fiPxQTCU
+QjASi0tbFqIACJ68VtCYwh
+QjlVHKWJ5oU
+Qk8f11O7Q
+Qm31gHB65
+QmLnREo0ilui1XsaM4MYp
+Qmin46
+Qnu2kAd
+Qq3MD84DHC14CDiEGB7p04DO
+QujrLX8h1cDf3QaCFF1
+QuuIO6rBsRCOs7AcM2
+Qy84s51BfLUtbt
+QypVV34u5H01Y4xfS
+R03eo03Ntqej0VDQbL3
+R04RF7qkQ8Gn1PPd33pU6
+R0hA3Hq2VsjnFh
+R0mjxoFLf4
+R0n26g5jglBqe6IUt
+R1VmJ10Ie
+R1dYp46f6
+R20lxgp
+R2j4UBj
+R2ps2rO
+R4220N4v
+R426VY66G3alY1rISv8
+R4H6pBoQyT2m6jMgObct1s1
+R4MT4f5U
+R4e7Gf
+R5G2op1F3HcO13Bn5aKjSN
+R61IdER
+R65wU
+R67sCaYYhq3sQkA6aW1R0vd
+R6q656btrqQM6a5nQ4GcVg
+R6xXNwfbk
+R70XMwQQS
+R782cV4vNeIPfIrAoiWy
+R7u871Dc73JF5
+R875Td3QD
+R8B6PMUCp8Fuw
+R8EqThU
+R8FExC0uA82bWC
+RAUe5p
+RAaC3XB8wMh8On8X
+RBtE7gkmLOh22A4
+RBvPK67
+RD6GIHDtJFX4481
+RDLOWd758CODQgBBA8hd172
+RE6h44gEq6x0Eey
+REktKOM0feNR1k
+REq7q4Gr20HvT36r68
+RFDIm4Is12
+RG57safmo8UjXo4c1230u
+RG82Im42Kp
+RGHO7206v2aR2
+RHAKc71wc7w4iNwmG8g8GT7
+RHmS8V3K3lwHRXMOOQh
+RJsFsi3a85svGBfT8
+ROLlg0rtT
+RQ0w6D70LdsmsdP2fM
+RQU057I5Y544Pot
+RQbQ5
+RR75iYIk1Ni2005Ua74s58cY
+RS1Ec5u4hvD
+RTobm5x6f8eXB77
+RVa8teOcCN
+RW6K24
+RXUV8A0GA8efTk6PuvunY
+RY01bhu1p0G
+RY5S78C4
+RYxq5
+RaVXc0k4i2X
+Rdj0Jt0pa8fLFYq24hu3UR
+Re88fHL7
+ReN3066RXtQ3
+RemA6I854lkA3IFqso5b
+Rf6HFx81J7abMFkh5l
+RhOnR
+RiF2m743j35L16v
+RigNg
+RkRIURA28W
+RlrTc
+RmHlM
+RofP7f28bOQVdiqDqB45Q
+RqGu3
+RrsV1KTEI3yJ0RglUN2
+RsDHrL27QLW
+RsYTaV3rFO0kS2R4
+RsyD82XJvE3bY83IP0
+RtaC46i4DIukN7svr21U46G0
+Ru7fjpH4C0YOXs6E
+Rue8aABtan
+RvXrVMQEEE
+RxIBul6t78rw01d
+RyE4Y3w2gXf
+S0LP25K12US3
+S12r0UF
+S1Oect6pTauCf8OiYQTgQG0
+S21x1133h
+S2I2nIEii3X5
+S2XuI4SnrfBF
+S2m2y868yuWBh3T
+S37aN18
+S3cXoU7X01TxWJ
+S45s3B0rSCbDkMx3Q
+S45x7dofb8hIodJ4e7bV5P
+S48lTs10R
+S4Ww7287AGI80OOTGeN60
+S5MwtN1mg3CO46HGJ0UrK1Ab
+S5RB5whaBLeLnMBAUm4oXX
+S6RMk
+S74dET7kWU7
+S7UM6KgdxTofi6rwXBFa2a
+S7a45WOo7
+S7ilpQTm4W0w
+S802T685lde
+S87OO
+S8H7q
+S8b1BRKPK4cTM3nbaI
+SADBxBjA50uC6BpWY27Dh48v
+SAMSy306XN58JWyyg4KO442i
+SB5T2xl173s6i18r6
+SBV3XOTy5q54
+SBjl520125icn82UXE601mFn
+SCh73
+SDw8F62m1k4E8tR1YSIfT8
+SE4SQ1Mk7n50W7832a68e
+SE70BON7C5PmaUdg
+SI0aUsOw28FfHfuCHj5pd
+SIUKQ52i702FMVn5
+SK5274FsS
+SM7dk420iy847o8hn
+SMXqH
+SMeUi5ykXo0Vi6I
+SN5NB5L3gpe2RtR2w50sNAd
+SQ11E10EY5RbywY480mmc1P8
+SQo81Uq6IwK035
+SR1wh2Rpe17Y4KosS64FNh
+SV7p0rH15H
+SVI1m5jI
+SW0it4ahVmrEGRrVT1QT5S
+SaLkDRK8Eo45NsVo
+Sago0hfsWqeGkVo8n38Hh5eC
+SbaXC0mXWAJCc
+Sd20gdOoONPhK2OX4
+Sd8C6q6L7l72qsa
+Se4jyihvl80uOdFD
+SeT3MaHfQ2
+Sekt3bIDh7sr6X8
+Sf0Oqe1G
+Sf45K8ueb68jp6s8
+Sg1FGtK367wF7noky2
+SgVxsU2832X4w
+ShA4jlmOwF8u7kjN
+SimYF0Eg747f7
+Sm7i8BB
+Sn4Y23KEE20LV
+So2K42KNS063nP0N1
+SqOW5p2JiWtBn3
+SrPY18L7FKBp8WO
+SuXw5fsNLcQuca1uWkJ150
+Sv5fP736jr43u8dlx10lIOwi
+Sw74GCctTG3OmA1S330EC
+T0Gq3D4N50YY48AG8OQBqTU
+T0Y8Vi41EYW4CpQ6Hg1Xg30w
+T0rmM12M1kobD2yqIsO
+T1CwC4PW8Q5GeXTK5CU
+T2o8XRFAL0HC4ikDQnfoCymw
+T3D1O22bKcQigRmWhE5iXG5
+T3UqJ0
+T3qQxO7gFwJNh4Mb3
+T43TP
+T56Yg20W
+T5eOivl6F4ew1
+T66vQ50YfGj
+T6Al7d0hN770XB65M0F2g
+T6ubsbx62cmP
+T712Py4Bg5in472VXtSC
+T77vl5bqL
+T7eUGy8NktrfLCyXKIK
+T8764UNruF67h3
+T8G173Q7r
+T8SE1Ko
+T8qIr36l6EYHj87DVl8h
+TBI20Ba2YuO44754E2BM
+TBbxkMGlYD17B7d76b7x3
+TBj2D5CqREcC5
+TD01cg4gOr1msv1b
+TD5Y632oD1u
+TDC44S74UJWtQ2b3l7tQXq
+TFRri2x57auqTyFCG
+TGM2pgsoNL0kVVPrBM2
+THh5lsUQ8a23g62
+THog3nx6pd1Bb
+TI3s2Wwu6V5I
+TJ0dMNm6s44r77567jk5
+TLQnUq18RANfJ4L3nmmD7i
+TLrbx2m635Jg8
+TNaUMA6If0kmHQp2xRhqr
+TNva0R8
+TNxkTGadB87QTkpe177
+TP3nXW588VD6P
+TT4CHN
+TT8P3I43af6MUGcC75
+TUD1CCM80q3J370
+TY6onJD
+TYkMYn1v6giCqpy30s
+TdnHPQ5q1mp
+TgS6dAlI2w4y
+TiI8AiopSL
+TjA21WuE8m63UJis51Y
+TjEG1
+TlU343q2ha8vt
+To6s02tm
+ToOQ4YhGHo
+TouYieKTG
+Tqar00A
+TrVt3076w4QSXF83Io
+Tt1BcY8q3welBr7o22KI3jF
+Tt484a
+Tuga7PeYvD460mTs1paJ8He
+Tw06W0Qga0
+TwQ5pcrWoA7l44iWn6r
+Tx2ghNxT1b
+TxE436GJgq7
+TxL3nqa285133l
+U0F6534QCV20j78O6681Fr
+U16wryUI
+U1aid52v
+U2414rwp5V8W20qd8kk5
+U2KLqT2
+U3MM60y4t4Ykm
+U3pW0g
+U3w6s7fnQOxVv0pOLHmEP
+U408t6TLdH18sJeyO
+U4MrN4CKBl84
+U4o3sWAqLydj0y
+U5C75sQhdB0
+U616In80F54RI
+U68Np7DCKJO8
+U6h7bMr4OGIrgb
+U6pNsB0e00xOD5JGR7I
+U70UOCk8B7pI7k
+U76E6e5kOFi76knQwFHM
+U7GdiO
+U7JukXmI
+U7r33N1GT
+U83eH0Y8P1
+U8gc1Gs1Yw6kx4XNtI6
+U8qkvKqHFm85
+U8s5kjQhx1t1g47m0A66Yi3
+UA0H368kj
+UAJ47y03rc3gd04Apc
+UAx76nB02256
+UB0pacKH5Icw
+UB2u4GH6Y51e
+UB3lDAw2A8A341Bv61iO6
+UD71663I2qu1c5pqA2Kf1
+UDXHJf5
+UExcNQO
+UFwddOjC38Fj
+UHU8rd3IJ8Ne8A
+UK0lin57gy
+UL8rV5M81k6hVJ
+UP583HP0cV24I3o5MC54l0F
+UQv8T28745qO62T
+UR2F0Uwk6E5
+UR4W5ynqpg
+UR83Iqx405t0jOOhF
+URXvI2HsAa4AtO0fx58JYF
+USRi4RC1gq
+UUBET8444iJDvjUlq3en
+UYfsscw4LauF37kk4
+Ub176WlT6f78Y5s
+Ud5G4
+UeKB2Tf
+UfUD41M7m
+Uhps6mMh3IfHB3j7yH62K
+Uj28ubp026RCw
+Ul085f84S33Xd32u
+UlWG4BWte66
+UnBWlD3B
+UpgW013RlYKu1NusJDW
+UrDe6x72B5ycy
+Usb4N
+Ut5NYg5XWb
+UtFC8i5
+UtriJV4U5N2J7M
+Uuskn6Pny0Op4J3T1
+Uwyw8I50
+Ux34b0jriL3aTLaNEoYI
+UyJQsLguJo
+UyyIU1l7M
+V00PDpTXsnhkTuVbki5xL
+V04OvF27208o
+V0O4tCF2N
+V0aUb2c8h6sjlr1EaX5
+V0w3pYUxg4Pe85bSga6
+V165NFpSX4b
+V2075fV
+V284s5H2BBaoJAb3
+V2Dy80R4bnQX8s
+V2NEmm6d0kLFGa5s01k
+V2Qo0J
+V2pd46En
+V3Jyb
+V3xf5QPg7EABK
+V4Rn66rM3aHx5
+V4c6wY3jblNaug4DmyrR
+V57x8Ma3SD2eM877o5
+V5O0Paqve81yx8E223UpK17
+V5oM8YBx2Kq63oy0um7
+V5u6EjQhsMFyr2vF
+V630OaEm
+V6IvSow
+V746122yhMM3iEs
+V78Fw1q
+V7bu03S4t3F2XVt0P
+V7sUJ07Xv4b74g
+V8bPJ6NC4k
+V8nNN6
+VAv3o4ihQU0V87NMwfyg31
+VBVp7N
+VC5R8kT0F7y3Y
+VCpG74Yh5
+VDTWq
+VF8w7AjS6
+VFxw08l
+VH1O2Pd0B4mK1b62djD
+VK8svLN8
+VLVJ2YFurner0i58drukgj
+VMlhJes4CVgyK7uFOX
+VOE1mmY18b02ArowYML0bx
+VPkNqEMA7Jg1x
+VTJ74SnX0NTD2P234T55P5J
+VU42OCI8nDXA0M
+VU46u4nh7
+VWD2O2vD
+VWIJM32
+VXXGafnyn1mkpSpsOd8
+Vb8ub0i0Maa
+VbPmiEv5SDp
+VcK8V5jpv
+VfD3Byd4aV358l12
+VhrdQM4gb5
+ViqXS6s88N1yr14lj7I
+Vk0CBX0oP
+Vk2Iv4mbULOS56roWfC3t8wE
+VkXY4IOSO
+Vn4S1kpwhJ016S007em56Ll
+Vp5I58Cls2jANj
+Vpsyy3y3607I45wt80mt8v
+VqevY22vG478444ob4XCKnb
+VqxF5T5p2bx7R1d4DB
+VrRTMth0WY7T
+VugB74M4f31f0
+W0K88hHwlY6g5JNIeRT311G3
+W0rvA4H1xn0xMG4uk0
+W114Au1ELrT7tRYnqE3MxCv
+W1w0N6QI
+W2M0XkTK4jth34Cm0c0
+W2mhptJ
+W3CqX8FmJInM1Bj733
+W3O305wOGjyH2l0f
+W3Ox658xU7SX7gBNCs
+W3P5WMsmv6UJnfph5D
+W3bnCmB
+W3h83yyQNOicy1k7lw0Rb6
+W45L2Xb54yhtJMWDFb
+W4BV6M3DalIc8ypF5K3j
+W4G22U32r8Ck
+W4GLKnA2Nwk0HJ
+W4MsK1d70i
+W4TEt52sKL0ndx4jeCahICDW
+W4evHL60eNc8P3HVs
+W6863eA
+W772E0x
+W7mug7eN
+W8515aW82L
+W8A4i055
+W8IM4inL46o67VXd
+WA6Cb1YeX7TOI7j3jnrh7W
+WAE3FjRSY77c
+WBCaAb0o2Lsob4aiUHhvDx
+WBT2XnSX5c176OF
+WGPA8WlP5X
+WIEX4XTWhXhLlUN2R5U
+WJ1r723bTaKv3WE1ujD
+WJ2kju5T4G65ckkpP
+WJ4Y31ONd2
+WKH6j0Dtb3VNsOa4uFq2v
+WL65H3J
+WMIgGA73
+WML05unAVOf1F5IDw1S1Yv1
+WQj6R
+WQk67I0Gk
+WR23n63UMj53mr6v
+WRkks7PCYNV8HBrjy0C61V
+WT37Vm67A7YcqB
+WU7g0T0a15w2v5t
+WUQQRWTJ1wK1H4
+WWo570W28lhx415
+WYv3r54T7Ct4h607XnR
+WaK84Y0Qn4HE1V0SH8akT3j
+Wbf0Mio
+We3CdnjxFCPE
+Wf2j420jD275MyMlw2
+Wg1pcPx06
+WhTuEkrt5Qrp5kj4xtFl8uW0
+WhgF327bC
+Wi0as040LC5n10bhhR8aVPV
+WjHDUL4OQP6G
+WkqBL6Dy843ehb30l54rQ3b
+Wl0MOM1F2J
+Wl8KM
+Wn8q3duQ4MX1jn0v12OqaX
+WnN1oFEwhY4Heri3J7Jp8St
+Wp7k2ma86M411kltU8O5gmBy
+Wp8cr
+WpFX83866M7mrm
+Wq28q24Of
+Wq8t31o3E6Nd
+Wqob22iBp115g3sS3RCy6K3e
+Wu3285CX753
+Wu4j4UNU6JLF70XKoN0X4
+Wv6BkKRpxN
+Ww2y51r3L600x
+WxJ1m2qV553MQ5vgJG8cj
+X18ccPrLl
+X1cNlHRHJ5h6H8qs832
+X1haQ
+X2NWPju6MGJ
+X48kUVK
+X4mk605REMUcE
+X4t00BhQ7X376hiL
+X53h8r5nuFYOY3vop381283
+X57jtRW1LHg
+X5PG4t5RM68kF
+X5oShc74RP
+X5pO0i1Yd6055F5FPNY
+X5yxXhH276Da44jYTNH
+X6155iP
+X75olERkL08uR
+X7L6W
+X7V01RlgoCPC
+X7dqPo6hTvhF4
+X7vKpt286BLxBIgQ
+X81pl2c1Y
+X8MD0KOvHXE1g6R
+XA0uP5c61MU
+XA4u0uf7
+XBTRwI0J
+XBfrKWaX68o7HCfKf
+XD4Ss
+XDk6RIOI658Y64W6
+XFs4Txv64
+XGUO2CP2gvDb
+XH6I7A417
+XI2ak7U1yv05DAI71
+XI5Jwr7nd
+XJA0cCSg
+XJk8krRPmgi7Le3a4t2X
+XJtfPtv77
+XK6Y01Dev2K67i4224v
+XKb3MvO6I8a656xQv2ikTV
+XMFgr8DLLoX7m2en6X
+XMd2TpQd0MJ2Kjh1d4Pf5
+XNho43uPjWG6c5bH8g122l6
+XOypj8
+XP2cjyx
+XR134uVnw0
+XSv8Ti8c
+XU13On4
+XU3r6DD43W6431EtcFUhc2V
+XWIExC7NI3bqu6VhR14g2
+XWuYuk5qpn5Khs3764E56
+XWx44KOWat
+XYWXe8O2Lst07b2x88yX
+Xa2GCKqo2Tguwk71s21XMn2
+Xc3mi
+Xe01mh1Ku5BD
+XeI6xQ2v1E
+Xf1MhqkA5n6
+Xi7kOTT
+Xl3YYF83e
+XoNJiEg0S8u
+XqKG6hVEyI5D
+Xr1Lmw7g3730qA0N6n
+XtF80FdC1a3Uw22G6GIPr
+Xtw4eM002sS1101p
+Xvyjl2vcUcxY4
+Xw6nBW1A205Rv7rE
+Xxk00X
+XyG3M688p4eP46
+XylAH4
+Y00YWUI2gXA
+Y0C8RDq78O723K8l
+Y0P5Re5poIwn
+Y18g03MSsp7t11J
+Y1B7s
+Y1gVqivH
+Y1jTLjDyI5F8
+Y1vK3
+Y1xGi7I0CLTWr0D
+Y23NbD7X86FbcRP4
+Y2C704h6OUXJQ3
+Y3oJ30U4LUuen7U6JjfaexL6
+Y3sLd5mt5phri
+Y3y7fhrNY0jD3
+Y4040E2ykhl2ih58m55Pfyaq
+Y442l2y0Y5rdjju4tIR
+Y452MvjJO04RMqES3O3
+Y48gjhCI3D7wk2X026ereD
+Y4JQvk
+Y4TBnhowH7L2Gm
+Y4bpC53ea4Adxlo
+Y55ytQtGRN8l58131e
+Y5ls7N3Qy30h43866R3cL53
+Y5u0Yy
+Y5x3JuI3M8jngv5N
+Y675q0vY538
+Y6L2obKBywPjBP
+Y6P8Ji868U7u8W3X2GHNiOLh
+Y6d74Lf1ji3v
+Y6n3LVp5tIlVm3kc
+Y6net7wDJ2TVjq2u7H8aRCyA
+Y76SnsrcY42lcA
+Y7vBl4PXIPqRBJSx3sd75
+Y8QG0P1v36K02sXHc84
+Y8WfaAvW6
+Y8ktTV23GelYC65
+Y8q0gMXFDD4qo2nSC8
+YAF7MKQtl26DO2n6AqHW74Nf
+YBRSCj3Qdb24l1MnE5IIr
+YCSg3CF070FDEip2r7djAA
+YCY6SM1FK83x0XYANbo
+YE7I5JK87tW5
+YEsQpLvkf0vcXjWhQo4
+YG6upJAu1AHo1g85T
+YHVB0
+YIxsR
+YJVDXD374nD
+YKgjnm8n7x70AI0m7M
+YLh18Tir3Ga
+YNsNwqw8y7D65
+YPJn4lAy8rr58
+YQb5VlQtDsThbG3YoBfy
+YQv5p677HhxqP0wNOy3K
+YRLL1E
+YT433hdTP2
+YU35V
+YUKS3r4spEtph1kg7
+YWIKIppGcJ7j1pxAH
+YX250
+YXbTksK2YAt32i4vi6xyT2
+YXqWPGc
+YXy2ny
+YY7Ji0cFe7R1
+Yas32KF
+Ybpj38RTTYl7CnJXPNx1g4C
+Yc6gaH2OFF7cymt8q23Fr
+YdG61y00526u5
+YdRXUcPre
+Ydq2dX
+YeBR35
+YeSkUwB5tOhwVE0nJfsJvo
+Yj656R8h5j
+YjyfU613tjGy
+YkfDreGs8Xi
+Ykmey2mN6W4
+Yl6DY284s40Np2xg3QXxpi
+Ylc4W
+YnT6eMr3y77hRu
+Yp6VJPVqnDR0fHkl
+YpM63
+YsR62pfC2Hc
+Ysm7SDldbQqRr2qRm2XE0le2
+Yssb82rdfylDv4K
+YtN1m7B
+Ytgl8
+Yts214m8mDhRw4F2d56
+YuLAwEusr5vuTT07mPi2388j
+Yv7NbK3bBtLv2oCp7g622yO
+Yv85R3umfQLpMkcqJHS
+YwV7DVLB0kut0S5p
+YwXWK0XCJ2kgubiO0Q2a
+a
+a01020v7267VMksO75bI0
+a0P3sn1ihxJCsTLDb
+a0YMQr03O
+a0mdHI0HtSL0o8
+a10E76jX35YwquKCTA
+a1N8y
+a1PD7
+a1hgKVq4wykLJ8271nHWvPB3
+a1sV4Se71EjpRn
+a2037
+a250165354I3O4fw42l7DG
+a3EhVU6Wuy7ycJ7wY7h2gv
+a3sk76Jt1SL
+a4F87eJ6H
+a4PMyxYPeTA0Js14lFCV3f
+a4frS6y6Q83Q460cwK2Tp24
+a4ncnCrCg3
+a58Ux
+a5MyXRAIwPX1CO3w53Rar8wf
+a7654w
+a7GT5lui7rc
+a7P5omBy
+a85tf8VS
+a88x2Cl
+a8S42TQ83u641QM
+a8b541Q2
+aALrx8bSr75vWBR30H65X24X
+aBL26v67ENBr3T47crW
+aC14b1kcXO
+aCU4m258
+aD78M5u4m0FfR78
+aD88uS2N8DmqPlvjOa7F46i7
+aDNmF88FfTwOx7u
+aEgURECDWj44
+aEi5JQHQPd4Y8
+aEvOE7hUNO0d67AM3V7BwUCK
+aGx8GQM1
+aH38aH4ob
+aH8tj4fj5to6URm5U6oonnd7
+aHlYp8D37Q61Jk4Tk
+aJBC20kS7q51m
+aK37I6N52tj0w32cgU5g
+aKbAu2WJV8HWHU6K1Ukq
+aNPQtU530N76
+aNuMW2
+aQ2wqmciE6f76RG
+aQ6My4WFN5vO
+aQW84A
+aR5lMx65ohf25L6NBe5O0JL8
+aT5XuK
+aTuJRwHes2vW1Rl
+aV8Pd81
+aY3tpnr6wfvmWMG0U881
+aYu0vLeby72ti3L1BXRywG
+aa6sWJ28wU1wvv6it
+ab7c7YFq68UX1Po
+abD0Sb0Xj5M72xMXQWyUaJ2
+ac38VdOhD4a0
+ad1nwBvW6Q1CV
+aecE60o4
+ah5Eixq6P7Q5
+ah6jo34tl
+ai6nt5l5gCA3p71Q
+aiWFqnj
+aicQ513r2FtX2
+ak3wct6anGAdab6IH
+akSq5ElsFg
+akfWVGu2g0io
+al8C016TUxSmoj4
+amj5TglKcJV4yx
+anVE0u
+ann6ipj6
+ao2occ3M3dN0rNOufKa57uuu
+ap7PY4878sX8F6YUn6Wh1Vg4
+apkavpl8qlCLwq
+arVcY7cHiMpnKLp1tj7
+au3q16lrAbWbHFqF
+auGhMXSG3mUqnh
+aw724t8c5558x2xneC624
+awXW5ct
+axFM7O3Cmu4Ax3y0Fmd
+axu5k1BMtA6Ki0
+ay5XPK0e5q3173
+b
+b01GFHiSj4Yig1tk4bSex
+b02HtfW
+b062i16kuwQerAvO5D2cBp3
+b0BEyNEe1bvQ
+b0G65a66732y6yE65hQ0
+b0m3GJH2xd
+b0r8g21X6I2TvvPj623IKR
+b17XPAx6pbQ7
+b17euUA
+b1Q3yX
+b253HskJLFwL5nahVGVE
+b2Mvom63qTp4o
+b2Xcl8MXhcs7x3KOV
+b2mHRIps75fH7821d
+b3T1L5u7us8
+b44J5OuRTQmmQ8LSyy3EJWFC
+b4R0JR2yv3Gk30228
+b4iTs
+b4ntuTq8cuj0E66Gakn
+b565l4rv1444T25Gv0
+b5GwV
+b5JRqQxwXbTOtfi
+b5SoK8
+b5Yi033H6f4Wfaa0E62F3i5
+b67jQ
+b7tPXCg67lmmr
+b8Gy2h4Svch4dC84a
+b8KY04
+b8uHW6ME5uThM
+bBAKio7bAmQq7vIlsc8H14a
+bBM3EEnw13S0y
+bFmH03DgwC5s88
+bFmcKUp7iPlg0bAV1T
+bFurgD38OUb87f16I21
+bFvG3S5iJh0B1vsBsiV42Pbb
+bGBcSi10VWt
+bHf404
+bI55nJLOusG5i
+bJQO0
+bK1Ops664m7u46sIF7Cgn7
+bKj3K500DR2Qx1
+bM34sI6W5h
+bMKsgu5OdWu4vjTa1nt
+bMyM0QL
+bN0AFh0hT
+bO45EOf7qg
+bP3R4cDVvx6t
+bQQWG6
+bQmm3Sk5f0ib
+bTT4xqcq
+bU42b017V0K1G5v1L3B
+bUAbw6cKb8gjLj7Kf
+bULnwrQ
+bUYKB511
+bV7F2d53o2Aj6Ri2x2c
+bVvdKDfUwoKNMosc2esLYVe
+bWhq42DR5G1Ypd
+bX48CaI1txU5AGn2AmEuKj
+bXNd8y50350i1Chtw
+bXQMX15tRQ8PeY0jg
+bXmqr7WJQWrLR271l
+bXrHpJ1X
+bYcrtRvKkf28m64rY3q43
+bbdu1ap5
+bc014i7354F36p
+bd6LedV7
+bdUdCOP6OR1b2AtN
+bfE8u5XQPK7ie4o6wE1Tfv
+bg6X4a4R5F6E
+bh5xM4L38FqJEcT3A7l
+bhG6Fq0J77
+bjQP6L
+bkN76SCX7oYleR0
+bnQ8QsKBD7L0213Wx7cB16n6
+bo54OxoS6UHe605B4L
+bopk3aa
+bp2buWAbX7JBQHLuun
+bq2VE4s1Ps
+bq7qevqgOC
+brlusDQ60JO68Qx5r6CY
+btcI68W882
+btgw707cKS2odwbePK2B
+bvPndT2Y5m61D0CKug0t3
+bvg7bP3mln3ILuC888M5DEF
+bvoO6VwRmH6181mdOm87Do
+bx3NrGJIw088yHD5461A
+c06VUBp33f60n5jx3o1LWkpF
+c0A7Ma63T77BgT71
+c0gO7g27mjW4XEaUK1fXvEk
+c10CM0
+c1V8o1A
+c23S6Ky4w7Ld21lAbB
+c2xCAAm6W24ho1Ett
+c300w5
+c333R38QfrwRxL6
+c34CVGK345
+c4jN67LlOd5e0tc333TN0riL
+c4pp20
+c5E4j1
+c61B47I604gymFJ
+c61SOJvyi4PAdi0o
+c6oaqf0P6yLPl
+c7VDm103iwF1c7M
+c7awd4680fkDD47oM0N
+c7j0PI24L0M27GoF43v4Ucf
+c81L2dm5Ly68S6H36M6o
+c8V83575
+c8b3TkeXYCq0fvRes62t5H
+c8bml600KY814miIU8p1BP
+cAULCRDJ
+cBKNq4fPymUw1KeEAEf1dw77
+cC0aTA226U0YLJm2CX1m
+cC7QeLfb
+cCaJdJUbsd4Su8F
+cD68D3aJ6G88N1C
+cFBpX7cJIRmrVPXg0CfP
+cJnFkUL5gOyHR67G1
+cL4J4B
+cL5mDs1nJgQ0IbgBH
+cL6DXVE0d8hnE6
+cM0xm3h8463l57s
+cM67e3WsUcSGq
+cNav7FGYOHd3EUXMS
+cOCa6w8Nk34tS1g
+cQ8To
+cR5KqKwc60t
+cR8uq5
+cSGwrp02p
+cT06r11FDv
+cTWO4kFIrl1n
+cU6HuP4A323
+cUbphr2Or2aJQ0wNK3
+cW0KiR4B
+cWKyPK
+cWsTrfWEqgH34d5rO
+cXX24dH7tblSj46j2g
+casvJ6NR
+cb33ksHDf3lMrp0OW4dMdvos
+cb5LPuiF
+cbo7HQc
+ccaAm7Y
+cd5iw78V2n8N0x
+cd6Xc861fDCGe
+ce6C1MhLw
+ceKdxB8IQVLd7AMLH32PV
+cg3hK1u47UJKr82PdlkoOf
+cgAGtv0pf0ob0MSVY1Tx3
+ci2PQIjy8yUPk7es2y5yg2
+ciiIP56o
+cimuDJm856U6ia35Q
+cklLRY5lqR5bojRXCTaAFg
+cnlMCD66T2Yyf42RG4Gv08
+cp30v1
+cre3m4OHF4H4x7nM
+csb2ufhCB
+ct55nKy6085wEBl
+ctL23E5x1d1
+cuN6W1lBJtv3PFN7UdoLX2I
+cv6sd53W530KHEOy7
+cv71a87hIMbVuJ2dAX
+cvLH6Eat2yFsyy7p
+cvqc36vwri7R6kbXKO
+cwEvSRx2cuarX7I21UGe
+d05ua0EQjlFMb
+d0a3qw2gtsmG2
+d0gyx37c36ijHBhwvVqm842
+d1135cW8G6QCDM8LiD0c
+d1158gMS8i68jPb2v3L
+d1N0u454kG87DN3o
+d23u5801Hv6md41F
+d2A5U2557V347stTcy5bb
+d3gFFis50Wy6FG76XeGT5Ou
+d3o1712a03n20qvi62U7
+d3pn8
+d3yQbTLvpGyi0
+d4YeS73lyC6l
+d52Q4
+d55pP6gPa2Opv0B05C7LoX
+d57LuTxW0Pk5cXu
+d58e0
+d5I5x4dq6tFbftHT
+d5gs2s6trx20upPuW3SAi4o
+d64pbe5ih0aYr8gR77
+d6kPi7FNW1Y
+d7468A5L3hm8c7gYb2
+d77tW1Y01AT7U
+d8W5CN1kB6O6ovPhy1C3M
+d8p1NiE467oJer5eVW2DBi
+dD15XhaAk
+dDf3se3j
+dF7kljY4Pc
+dF87w5r20
+dFE1VTv3P5WDi20YecUuv7
+dFhWoN8nr0oDs
+dG8B5PQ3b85U362G6huu
+dGF1yf
+dHC8If3liFqC
+dIaRCgF47dy7ICv2EWJ4YN
+dIw0j
+dJ6UMgP76K8hC6dVfqFW
+dLYpl55rytQl5
+dMFNhH2q
+dMG4N
+dNH34R81dS0y
+dOIg2
+dOYnqgaXoJ1P3ERwxe5N7
+dOw7MSwkn3F6yrvP4UN1Ul0
+dPDI1Xegw
+dPPDUuv2ISw501i2p
+dPbX4jd1v47r1bB6506si
+dPkN74F7
+dQsIgL
+dR3U7vP8MB1pmRmoumgi
+dRxyUb0v2VA
+dTTnUqcnmXBBIU1YN01b
+dU3yfLb6E1y0pxkF5V3q2ca7
+dUEsVT8aX3Nfi801YY
+dV86D7yr0I62C
+dYeh5IM0vISxwv
+dYqT7Ci8R0
+dcQOYT1M0S80x1
+ddB0uwG5vP6efRY28vx
+df3lR0B
+dfGQS66i2xSq5TmD7
+dhDYJ076SFcC
+di55PD6eD
+djLQ52K3s5ReY3TQyWRl6
+dlCRB1gt7D8hRQe6
+doI56Fdj4YgK3Q335155DC6
+dp4upQcltH1d7o
+dpSr737SQ81Ww2xh6c
+dpXsh6
+dq1Ji5vGb4GVow42
+dqSh2nXp
+drGld1C74Thqq38208jQ7B
+drQo4PU
+drU0J0cDrY6S083r7T5Nd
+ds5YqbRvhf3Sb2
+dsKMPeiKlSpS630o
+dub50S584AxqyPI0r80RA3ks
+dun2EEixI701imr3d6a
+dv4kivc
+dva4oJ47tw0wM52vCYU
+dw0MWNGD4iGKowp8qa8q
+e005B5q
+e035q4Ba4721NL1l
+e05ddw658QcMr
+e13dNAo71UXm4Yt1u
+e15NrPMW0E8yCvPO4DN
+e2B6K7FJH77Y4i7h6B43U
+e2m8waBVlVU
+e2tRWV1I2oE
+e3H7id0B6Vk8oY
+e3st3MhTgljOA8h1THm2
+e45JkEc41VGF88lgenm
+e4B88ElS8GH6sSaR3i
+e4ie13qpm6LnXF21C5
+e4j6pjQIS16PPiA86wnd4Ke
+e4rLBwDgWm1S4fl264fmpC
+e542YmP0Fu1hw25eP263UA
+e5YfpR
+e5sXd504D1x18iN3uTMsKIc
+e6F51mDOrN481rfhqk67lF40
+e6SAAy5o0so6LM30k
+e7sC5M0H5K6EgSTf41X
+e882yM7Pp1RA3
+e8HP8Yt7uoB
+e8Ul5Q72
+e8VT3kOBd654uL7eH
+e8Yq6dHfa7d61IgPcKrO
+e8b2tc81ieVb0dF132Uuo
+eAGNl00o8pA000I48
+eBRuEI2
+eC818exjsX8l
+eCd2BHx36NE3eVQQX7YO2c
+eDYumNXO773v5X
+eDfHPeW364TY4A2Jhm
+eEn3GIKD1RcY5tu7BH
+eF0N0Nk
+eHxtaCo643hV3BIi2Le35Eq
+eIyS41R32
+eJROSNhugc3kQR7Pb
+eJd04J4HSwx0RM6
+eJyS37rSqP
+eKu2BS26qOY0
+eMf071FkRwWIQ63
+eN62nb
+eNsh5tYa
+ePEMYxe7t8t45A1078305K
+eQ80MW0h728I204P87YXc
+eQw2b7C8
+eUx01FREb2LD4kle4dpS
+eVs446
+eWc3t8r71Mlq
+eWq33N3Xk6
+eX01IDE0Y7qmepEq57Gh6x2
+eXJSaD2y6i8Cr2wwmc
+eYi4x1MVI7
+eYkUnb8
+ea23p2penJ5W5T4
+eaju2o4x863Hs4pskfDBRYnp
+ebM416Q021xLQ0h8qDS7qw7U
+ecYs1527OxTl
+eeLpfP6O
+effwRyk4TvV58kcP
+efnt3
+eh85P0V0g
+eicMhR0nJt12OH7IO2651bO
+eis5ky6Km
+emSl6BHnVPfb3DF
+emhgE87754iUcRPl1vf
+en63YvV2PB76duGPhyLQa
+eoIG247
+er5IUhd505r0lT6sc20Tef5q
+es103bnsOVpy
+esc3k10A074II2a6h45
+etHtCC
+eu3X5Qfp4sHv5H
+euqLv
+euuqs32N6R4266A
+evAKb23
+ewpwJSDQ7V8yVPSl1x2E8ey
+f0Gw70hO6b
+f0QmOLoGtou7gq42fy01Brn
+f0kvl83Omd4xIlPq1
+f0rlf3P0ce6V8Q4hiIX
+f12qhlvH
+f163cH4DfXvJ1nw36Sq6Pu
+f1b7368iTH
+f2IpQuEKjVlAdLrmeSqeH8
+f2i6luEMKiT1KnRPTat40mX
+f3oGa8ByjMs5eo7462S84Aa
+f3t6786LDH6E8RV8nXU6Ep0
+f3ylU62g8n4VsaJawXV88
+f43bB2d6AhS8
+f448c4T81BR
+f4K7sWDgJQ1uemjKGDw4wo1
+f527p7MLm6Griq41TA8cR4
+f5c6e
+f5elgJP3k07
+f5wvsWTPgXUx8m7
+f5x7305T7Whj10BhLb5W
+f60N6lQ1JF8TPt
+f62KPh6SmIy
+f64ukp86atDBYWH5eW
+f6B6I2d7180wveu1BG63b
+f6WR6jF
+f6f4h5NY5Ffi
+f6kFn6sYs67ud2bx8eEsu2R
+f74WL82kGAkHoFCYuHu
+f7oB3Nx8
+f8bmVVkEd2TmeFy7wKq11
+f8e16sE7qHnJFq8IjXe6uSE
+f8iUpkOj7
+fAlgqr6d0P817Xv2
+fBTrfOGxGui72
+fCf8y2hv5UrvJR2i1mD0yuc
+fCw04e5L8Q6scDQ52Hnd
+fD6eaS1f
+fDT36nHCL182d2buS0P
+fE6QXN3HR04aEMiV6AM8
+fEU8HAO6NWJjF44X87
+fEg7R6A80Sc
+fFKkdcf
+fFWXv3oM1DRI7ELpv6kf8
+fFk28b88dvM
+fIjNh3dt21cMWe8
+fJWe8p2jkqws5d04a5lSvLH
+fKbw64QavqgbDL2t60s
+fMHmD1111V5u4iBxLK8QV
+fMx10nWYRbs
+fN3OH7lI2iTEW75Cq4
+fNDP5n
+fQUFR672Q0R0G2b6NVqx2m
+fR7eEX2v1LPkujF
+fS3f60E1s
+fVgv88OvQR1BB7toX
+fX2DVO612
+fXlXavWXcFSIIBpA0EFW
+far4S170PC
+fbR231f
+fduo5V7B450uUI3H436Q8
+ferMX1t
+ffT4cTjYf2NJ
+ffuO8wdQSN7ExGO
+fg7BpI
+fjIC8p2sYlu7rwnNYtm0i
+fju0XS06MyUS7Nqk8P8
+fkA37sOkxCp44hlIKV
+fn2If82nABUmJ7J6LW
+fn7k8uv2T7Ifrg
+fnVSD0s7dK
+fo617
+fo7hQ0lLo0K78
+fpgauY3B1
+fpt3gpLE
+fqa4UONO5MWDc7865q
+frhe0
+fs2RNhI5c10lFG7O
+fv6s5tGQJO45BvV4m8C
+fwaY4Kd6l4oW1Vxy
+fwgu11vt0371iw6
+fwo2yaxByegAga0
+fx6tfesnSixgAl5h
+fy80g
+fyy678nyJ
+g0AoxG8FyF
+g0C6gENIKCKayurchl7pjs2
+g0Kgv01XSAbU8u
+g1V8qsFsRDjt2MtJn
+g1k40P8l
+g2213
+g243G86C2uHdC38K
+g28jQ233uRHM7JG5E4
+g2E87
+g2WGU1d
+g2i0JT65x
+g2vI6MW2
+g4Gl6D
+g4dmKe2yoPRI8hBGgLdStl
+g4teBBvh
+g552y0x1B4n
+g5IWA5kuuD7uqD6e
+g5ImOPrB4l0a4cXWq0
+g5su4Pm4QR6jx
+g5v0R16ha6eI
+g6VL0j3k7pEcBq0Hbsk
+g6YBvB2o1c3qbfV6N
+g6euntqquMH
+g72r712ymd
+g7eEN741
+g8d0MGKWIe2r6wivyyl
+g8my0HUWRfpYm65D85r
+g8n6YN
+gA0M8GmMH6TcQCGdQi40Mj
+gA0pGkli
+gBg7S1x5obicN
+gC1t8pc
+gGFiuV
+gHsu7HyRW25P4w3518PIv5
+gL4Yd4kwC7853nBBfiWTmk
+gLGK7D0V
+gMX151eyr85V6Km
+gMc3d13G6rM5
+gMxuFTWhkh5RQ1VJ
+gO13PbgBt48eAg84Bq8
+gOYmowua857xqiBSnM0
+gSJS1mpb5Khx8140U3
+gSL2wI2m2i778C3WU
+gUpuTY5eI0dujb
+gVS43C76q67h70Yi
+gXu3tUhVtYp
+gY5CjIAG71Fh
+ga113oX5cQ3BKfs
+gcGG4GVX7MxDB50GG7Mk
+gcjQDkje3H2N
+gcnk28ttRLv13O3ms6p10y
+gcoE6Bkah
+gdoaNjlr4H8gbNV
+gebKn580IF5wc8d8C1
+gew1eby3AlYSvPICC3
+gfML7L7et
+gfSFVGxrOrW0Bu3UuhmFb50
+gfkqq1a3n56XaYAB
+gj5IRDNe62057M
+gjXv2q0AL7Pvi8hvW2041hJ
+gjqfa41BgO5pRK03
+gjsL355dId0aH1mj0yGky1
+gk0kJenBW237uQoxGBx36
+gl03UrAU4bWrOvqwwf
+glmq52NQ3r
+gls8SspE
+gm1ouRn6LL8IvrB
+gppEomS0ce2G6k6
+gqf1847u6CuJaw4D6
+gqgj30mc6Sb2aY8chi4
+gtulO7xHeSn
+gu1GY0
+gv7hVe3
+gw2d6kEFV35L7RPc61vpc
+gwwQD5RH36V3t4buLdOyT
+gxV35xi1i6
+h00AaUR4T644OOB
+h00VUsWU6m0j8OkrJ58l
+h033pR0WjHA8gaBF5
+h0F64HhMhM78JIo3tWkVN
+h0GHsDG38rg700WO7D0EuG13
+h15Uw8Uidj2K5OYWOqQ5
+h16y0qg
+h1iuKxGwo
+h1xHE
+h218Rb5gYs
+h2Q4cPeN8N81eVRhLb
+h2Sf5Q335KntN1ee1WHT
+h2c0frokSYjfs
+h2rkj7jL
+h301kgvvRS1JMq4S8dl
+h3qJh214D
+h4D3a3pF8s82471v7
+h4cKISr0jU
+h4omSc1jcLLwW
+h522G
+h5M1D3a1q528tDjybg8
+h5ptNc6T0l75uWGi2VW
+h5s74V3xB6SKD71q7tkjXlW
+h6a7neMIjQj81mHy43orcR1
+h6pSh1A3WMOI3eY4IxD
+h78X8w3p3vmI04F8u
+h7AiQX2QT2Ch6A
+h7p2nWBK37qeYg8351jf0
+h85CHOY0SM0YA
+h86fWF
+h8H1xHyUnDR5IrGqI
+hA4lNb
+hA4vIK10755e76nB
+hANtHaOf
+hAd5Sr6Iosm0
+hCwu446fq4108mQ4x62Pr
+hFV4Y46
+hGgIokL8VLdv70x7Co03QOvN
+hIpBJRGP12lL1QsnGUPa
+hKX47YOR
+hLEVieIhDXuQ8W2YF
+hLUON7y0c8wI04U
+hM04012HKnNf8M7KhUi1x
+hM4h8a4aXwJP1127xAC
+hO87j00S6nkbuEFh1rL5ie
+hQAra
+hR5oke50Iv54GVUI3AC7s2es
+hRUvK70d5B4F
+hS5Q54kmJc24T8um
+hSOv2xDX05WjxI13
+hSb1x4
+hUe5btrA1
+hV0A77g6ThTl1
+hW33k4mf1gQ
+hX1uXs3XerL24PgMqj0
+hX448PDJKp50xo
+hYH6n1Js
+ha4TkVEql240gCbQ17A
+habBG0aDt3MJeAL6
+hbHr0AGhP30hRfpMbI
+hd2iP4vyF
+hd5NMHtI3AWTCX01GJU
+hgy7Y
+hhb12d5EV7
+hjKNtgUy
+hkW5538D2R46LB5t
+hl4w6g0LGTr2q7740MWXNhi6
+hn35LQWu0t6
+hnq6hkAfna
+hnrm68NiEQCL4
+hnyI5T
+hoH5fhBc08
+hpB4Tn5E7507P
+hqHBv4edb2b6Hy4Q5u3
+hrO0S0XuD1W4
+hrSdTD2Q05
+hs5N5IQsM6SM
+hu6I51nNlePTerleQ
+hw5maSbD
+hw7e2oF7
+hwHV45CiW4O
+hweo7wU2YAcJFa0axo
+hxH7487S3TS
+hyUX5
+hyi44EO7Eqi4QI1qQ7h
+i06I7xgR0
+i0CT7RF71a67AT2RfOW32
+i0NyLxxV1f
+i0mx8w5HB8THd5N
+i0o7RFi0
+i1P3Wlat5EnBugL24oS4I3
+i1u8rB8WdUF8ROFmHnrs
+i2WiP
+i2nn656t
+i330V4Y0Lm4ajyKqM1X2Y
+i54P3
+i5bJlwLtK8
+i5nMr21nMygX2qWwtTbMag10
+i6G060
+i6bSV5cidX0CxDqq2f5Y
+i7n1eoq1Iw3r5q3qI3464
+i80O3j8a8nd0ohVCHE2oVs
+i82vCQCIiC16TWidK37m7
+i8Sn3a6i30o1o
+iASE7cWnCT4NRf
+iB4VI
+iD2KrmBUbvNjuhHR2r
+iD4A3pEIP5pkv3
+iDlPQmQC7RSxNA
+iEb04t2x333EF5wHoKRs6oKB
+iF1fQ7gn0qgpH7HKS5N3
+iG1K1q1
+iINw0m
+iIs0Lb6
+iJ0wje577Op
+iJloCx17VlmyNl881XJ8187
+iKF22p74hKMcl6gypC8nqq
+iNuVE35DF
+iO4Vsa4mC3r05C
+iP2ABL
+iQ51KkUwoE6YRVW4
+iQq6r8j4suqBapdr7m35j
+iR76SEs2C4V
+iS4P5128HY44wa
+iS5AY33Qun8O1UqRcPMV
+iSWa0uvV1O16A3H
+iStQPx6j8SvMc
+iUAMMN23Vq5jREr832nxXn
+iUR3Q
+iVt3aUt4Cy322x2w18lw4ku
+iW12567av
+iWCNyh222
+iaD4Rnj1
+ibHg41d7f
+ibR7QuG2aL3O
+icCP7UDP0d1h5q
+id8wug16
+idV7C76V518CeEHos5N4g
+ie3QYAuCo
+ie5lYXc8JAh00p0yd15xb
+ie83eEmqsGF834r4COpw7j
+ifm05ON
+igMQ8
+iggCGFADtrd6k25FD4r4375I
+ihk4IyjQeRwF6
+ihlorJE62ik1WuKfS
+ii6d0V0
+iiki1A
+ij735
+ijU4c
+ijeMq4LXB5UJ4Q27LsX
+ijmD5iqIymg
+ik3r8Ug0xoL8oGWkF8CWUbO
+il3l6en5b3J
+ilM1UO8k4hDR4ERgh102530
+im6VJRHh5EGfS7FVhw
+imH3YwNd33DOtJ
+imHOGF5tr78FHO5dM8JFlRI
+in6jU6Ke8n
+ioGNy2Sr5Y4vnJS7w34l2a5u
+ioU8KlM6LHCw4V86C
+ip3Y6RAg87Hgr3u
+iuSQEi3rpt2ctxK08ut3
+iurkQr677H1
<TRUNCATED>
[22/23] hive git commit: HIVE-15020 : handle truncate for MM tables
(not atomic yet) (Sergey Shelukhin)
Posted by se...@apache.org.
HIVE-15020 : handle truncate for MM tables (not atomic yet) (Sergey Shelukhin)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/ff1ea20c
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/ff1ea20c
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/ff1ea20c
Branch: refs/heads/hive-14535
Commit: ff1ea20cb72e7e754fca1fc00e712adec257a204
Parents: 8004f71
Author: Sergey Shelukhin <se...@apache.org>
Authored: Thu Oct 20 15:07:39 2016 -0700
Committer: Sergey Shelukhin <se...@apache.org>
Committed: Thu Oct 20 15:07:39 2016 -0700
----------------------------------------------------------------------
.../apache/hadoop/hive/ql/exec/TaskFactory.java | 1 +
.../hive/ql/parse/DDLSemanticAnalyzer.java | 9 +-
.../queries/clientnegative/mm_truncate_cols.q | 3 +
ql/src/test/queries/clientpositive/mm_all.q | 20 ++-
.../clientnegative/mm_truncate_cols.q.out | 9 ++
.../results/clientpositive/llap/mm_all.q.out | 152 +++++++++++++------
6 files changed, 136 insertions(+), 58 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/ff1ea20c/ql/src/java/org/apache/hadoop/hive/ql/exec/TaskFactory.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/TaskFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/TaskFactory.java
index 822ff41..1cd20e3 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/TaskFactory.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/TaskFactory.java
@@ -147,6 +147,7 @@ public final class TaskFactory {
throw new RuntimeException("No task for work class " + workClass.getName());
}
+ @SafeVarargs
public static <T extends Serializable> Task<T> get(T work, HiveConf conf,
Task<? extends Serializable>... tasklist) {
Task<T> ret = get((Class<T>) work.getClass(), conf);
http://git-wip-us.apache.org/repos/asf/hive/blob/ff1ea20c/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
index a018b54..038cbbf 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
@@ -963,6 +963,10 @@ public class DDLSemanticAnalyzer extends BaseSemanticAnalyzer {
if (indexes != null && indexes.size() > 0) {
throw new SemanticException(ErrorMsg.TRUNCATE_COLUMN_INDEXED_TABLE.getMsg());
}
+ // It would be possible to support this, but this is such a pointless command.
+ if (MetaStoreUtils.isMmTable(table.getParameters())) {
+ throw new SemanticException("Truncating MM table columns not presently supported");
+ }
List<String> bucketCols = null;
Class<? extends InputFormat> inputFormatClass = null;
@@ -1060,12 +1064,11 @@ public class DDLSemanticAnalyzer extends BaseSemanticAnalyzer {
// so the operation is atomic.
Path queryTmpdir = ctx.getExternalTmpPath(newTblPartLoc);
truncateTblDesc.setOutputDir(queryTmpdir);
- // TODO# movetask is created here; handle MM tables
LoadTableDesc ltd = new LoadTableDesc(queryTmpdir, tblDesc,
partSpec == null ? new HashMap<String, String>() : partSpec, null);
ltd.setLbCtx(lbCtx);
- Task<MoveWork> moveTsk = TaskFactory.get(new MoveWork(null, null, ltd, null, false),
- conf);
+ @SuppressWarnings("unchecked")
+ Task<MoveWork> moveTsk = TaskFactory.get(new MoveWork(null, null, ltd, null, false), conf);
truncateTask.addDependentTask(moveTsk);
// Recalculate the HDFS stats if auto gather stats is set
http://git-wip-us.apache.org/repos/asf/hive/blob/ff1ea20c/ql/src/test/queries/clientnegative/mm_truncate_cols.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientnegative/mm_truncate_cols.q b/ql/src/test/queries/clientnegative/mm_truncate_cols.q
new file mode 100644
index 0000000..1780118
--- /dev/null
+++ b/ql/src/test/queries/clientnegative/mm_truncate_cols.q
@@ -0,0 +1,3 @@
+CREATE TABLE mm_table(key int, value string) tblproperties('hivecommit'='true');
+
+TRUNCATE TABLE mm_table COLUMNS (value);
http://git-wip-us.apache.org/repos/asf/hive/blob/ff1ea20c/ql/src/test/queries/clientpositive/mm_all.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/mm_all.q b/ql/src/test/queries/clientpositive/mm_all.q
index 6639aaa..d440136 100644
--- a/ql/src/test/queries/clientpositive/mm_all.q
+++ b/ql/src/test/queries/clientpositive/mm_all.q
@@ -21,6 +21,10 @@ insert into table part_mm partition(key_mm='455') select key from intermediate;
insert into table part_mm partition(key_mm='456') select key from intermediate;
insert into table part_mm partition(key_mm='455') select key from intermediate;
select * from part_mm order by key, key_mm;
+truncate table part_mm partition(key_mm='455');
+select * from part_mm order by key, key_mm;
+truncate table part_mm;
+select * from part_mm order by key, key_mm;
drop table part_mm;
drop table simple_mm;
@@ -30,6 +34,8 @@ insert overwrite table simple_mm select key from intermediate;
select * from simple_mm order by key;
insert into table simple_mm select key from intermediate;
select * from simple_mm order by key;
+truncate table simple_mm;
+select * from simple_mm;
drop table simple_mm;
@@ -201,9 +207,9 @@ drop table iow0_mm;
create table iow0_mm(key int) tblproperties('hivecommit'='true');
insert overwrite table iow0_mm select key from intermediate;
insert into table iow0_mm select key + 1 from intermediate;
-select * from iow0_mm;
+select * from iow0_mm order by key;
insert overwrite table iow0_mm select key + 2 from intermediate;
-select * from iow0_mm;
+select * from iow0_mm order by key;
drop table iow0_mm;
@@ -213,13 +219,13 @@ insert overwrite table iow1_mm partition (key2)
select key as k1, key from intermediate union all select key as k1, key from intermediate;
insert into table iow1_mm partition (key2)
select key + 1 as k1, key from intermediate union all select key as k1, key from intermediate;
-select * from iow1_mm;
+select * from iow1_mm order by key, key2;
insert overwrite table iow1_mm partition (key2)
select key + 3 as k1, key from intermediate union all select key + 4 as k1, key from intermediate;
-select * from iow1_mm;
+select * from iow1_mm order by key, key2;
insert overwrite table iow1_mm partition (key2)
select key + 3 as k1, key + 3 from intermediate union all select key + 2 as k1, key + 2 from intermediate;
-select * from iow1_mm;
+select * from iow1_mm order by key, key2;
drop table iow1_mm;
@@ -351,12 +357,10 @@ import table import7_mm from 'ql/test/data/exports/intermmediate_part';
select * from import7_mm order by key, p;
drop table import7_mm;
-
-
set hive.exim.test.mode=false;
--- TODO# multi-insert, truncate
+-- TODO# multi-insert
http://git-wip-us.apache.org/repos/asf/hive/blob/ff1ea20c/ql/src/test/results/clientnegative/mm_truncate_cols.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/mm_truncate_cols.q.out b/ql/src/test/results/clientnegative/mm_truncate_cols.q.out
new file mode 100644
index 0000000..015f251
--- /dev/null
+++ b/ql/src/test/results/clientnegative/mm_truncate_cols.q.out
@@ -0,0 +1,9 @@
+PREHOOK: query: CREATE TABLE mm_table(key int, value string) tblproperties('hivecommit'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@mm_table
+POSTHOOK: query: CREATE TABLE mm_table(key int, value string) tblproperties('hivecommit'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@mm_table
+FAILED: SemanticException org.apache.hadoop.hive.ql.parse.SemanticException: Truncating MM table columns not presently supported
http://git-wip-us.apache.org/repos/asf/hive/blob/ff1ea20c/ql/src/test/results/clientpositive/llap/mm_all.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/mm_all.q.out b/ql/src/test/results/clientpositive/llap/mm_all.q.out
index 7d77047..bdd365d 100644
--- a/ql/src/test/results/clientpositive/llap/mm_all.q.out
+++ b/ql/src/test/results/clientpositive/llap/mm_all.q.out
@@ -180,6 +180,50 @@ POSTHOOK: Input: default@part_mm@key_mm=456
103 455
103 455
103 456
+PREHOOK: query: truncate table part_mm partition(key_mm='455')
+PREHOOK: type: TRUNCATETABLE
+PREHOOK: Output: default@part_mm@key_mm=455
+POSTHOOK: query: truncate table part_mm partition(key_mm='455')
+POSTHOOK: type: TRUNCATETABLE
+POSTHOOK: Output: default@part_mm@key_mm=455
+PREHOOK: query: select * from part_mm order by key, key_mm
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_mm
+PREHOOK: Input: default@part_mm@key_mm=455
+PREHOOK: Input: default@part_mm@key_mm=456
+#### A masked pattern was here ####
+POSTHOOK: query: select * from part_mm order by key, key_mm
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_mm
+POSTHOOK: Input: default@part_mm@key_mm=455
+POSTHOOK: Input: default@part_mm@key_mm=456
+#### A masked pattern was here ####
+0 456
+10 456
+97 456
+98 456
+100 456
+103 456
+PREHOOK: query: truncate table part_mm
+PREHOOK: type: TRUNCATETABLE
+PREHOOK: Output: default@part_mm@key_mm=455
+PREHOOK: Output: default@part_mm@key_mm=456
+POSTHOOK: query: truncate table part_mm
+POSTHOOK: type: TRUNCATETABLE
+POSTHOOK: Output: default@part_mm@key_mm=455
+POSTHOOK: Output: default@part_mm@key_mm=456
+PREHOOK: query: select * from part_mm order by key, key_mm
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_mm
+PREHOOK: Input: default@part_mm@key_mm=455
+PREHOOK: Input: default@part_mm@key_mm=456
+#### A masked pattern was here ####
+POSTHOOK: query: select * from part_mm order by key, key_mm
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_mm
+POSTHOOK: Input: default@part_mm@key_mm=455
+POSTHOOK: Input: default@part_mm@key_mm=456
+#### A masked pattern was here ####
PREHOOK: query: drop table part_mm
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@part_mm
@@ -279,6 +323,20 @@ POSTHOOK: Input: default@simple_mm
100
103
103
+PREHOOK: query: truncate table simple_mm
+PREHOOK: type: TRUNCATETABLE
+PREHOOK: Output: default@simple_mm
+POSTHOOK: query: truncate table simple_mm
+POSTHOOK: type: TRUNCATETABLE
+POSTHOOK: Output: default@simple_mm
+PREHOOK: query: select * from simple_mm
+PREHOOK: type: QUERY
+PREHOOK: Input: default@simple_mm
+#### A masked pattern was here ####
+POSTHOOK: query: select * from simple_mm
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@simple_mm
+#### A masked pattern was here ####
PREHOOK: query: drop table simple_mm
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@simple_mm
@@ -1299,26 +1357,26 @@ POSTHOOK: Input: default@intermediate@p=456
POSTHOOK: Input: default@intermediate@p=457
POSTHOOK: Output: default@iow0_mm
POSTHOOK: Lineage: iow0_mm.key EXPRESSION [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
-PREHOOK: query: select * from iow0_mm
+PREHOOK: query: select * from iow0_mm order by key
PREHOOK: type: QUERY
PREHOOK: Input: default@iow0_mm
#### A masked pattern was here ####
-POSTHOOK: query: select * from iow0_mm
+POSTHOOK: query: select * from iow0_mm order by key
POSTHOOK: type: QUERY
POSTHOOK: Input: default@iow0_mm
#### A masked pattern was here ####
-98
-97
-100
-103
0
+1
10
-99
+11
+97
98
+98
+99
+100
101
+103
104
-1
-11
PREHOOK: query: insert overwrite table iow0_mm select key + 2 from intermediate
PREHOOK: type: QUERY
PREHOOK: Input: default@intermediate
@@ -1334,20 +1392,20 @@ POSTHOOK: Input: default@intermediate@p=456
POSTHOOK: Input: default@intermediate@p=457
POSTHOOK: Output: default@iow0_mm
POSTHOOK: Lineage: iow0_mm.key EXPRESSION [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
-PREHOOK: query: select * from iow0_mm
+PREHOOK: query: select * from iow0_mm order by key
PREHOOK: type: QUERY
PREHOOK: Input: default@iow0_mm
#### A masked pattern was here ####
-POSTHOOK: query: select * from iow0_mm
+POSTHOOK: query: select * from iow0_mm order by key
POSTHOOK: type: QUERY
POSTHOOK: Input: default@iow0_mm
#### A masked pattern was here ####
-100
+2
+12
99
+100
102
105
-2
-12
PREHOOK: query: drop table iow0_mm
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@iow0_mm
@@ -1422,7 +1480,7 @@ POSTHOOK: Lineage: iow1_mm PARTITION(key2=103).key EXPRESSION [(intermediate)int
POSTHOOK: Lineage: iow1_mm PARTITION(key2=10).key EXPRESSION [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
POSTHOOK: Lineage: iow1_mm PARTITION(key2=97).key EXPRESSION [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
POSTHOOK: Lineage: iow1_mm PARTITION(key2=98).key EXPRESSION [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
-PREHOOK: query: select * from iow1_mm
+PREHOOK: query: select * from iow1_mm order by key, key2
PREHOOK: type: QUERY
PREHOOK: Input: default@iow1_mm
PREHOOK: Input: default@iow1_mm@key2=0
@@ -1432,7 +1490,7 @@ PREHOOK: Input: default@iow1_mm@key2=103
PREHOOK: Input: default@iow1_mm@key2=97
PREHOOK: Input: default@iow1_mm@key2=98
#### A masked pattern was here ####
-POSTHOOK: query: select * from iow1_mm
+POSTHOOK: query: select * from iow1_mm order by key, key2
POSTHOOK: type: QUERY
POSTHOOK: Input: default@iow1_mm
POSTHOOK: Input: default@iow1_mm@key2=0
@@ -1444,28 +1502,28 @@ POSTHOOK: Input: default@iow1_mm@key2=98
#### A masked pattern was here ####
0 0
0 0
-1 0
0 0
+1 0
10 10
10 10
-11 10
10 10
-100 100
-100 100
-101 100
-100 100
-103 103
-103 103
-104 103
-103 103
+11 10
97 97
97 97
-98 97
97 97
+98 97
98 98
98 98
-99 98
98 98
+99 98
+100 100
+100 100
+100 100
+101 100
+103 103
+103 103
+103 103
+104 103
PREHOOK: query: insert overwrite table iow1_mm partition (key2)
select key + 3 as k1, key from intermediate union all select key + 4 as k1, key from intermediate
PREHOOK: type: QUERY
@@ -1493,7 +1551,7 @@ POSTHOOK: Lineage: iow1_mm PARTITION(key2=103).key EXPRESSION [(intermediate)int
POSTHOOK: Lineage: iow1_mm PARTITION(key2=10).key EXPRESSION [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
POSTHOOK: Lineage: iow1_mm PARTITION(key2=97).key EXPRESSION [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
POSTHOOK: Lineage: iow1_mm PARTITION(key2=98).key EXPRESSION [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
-PREHOOK: query: select * from iow1_mm
+PREHOOK: query: select * from iow1_mm order by key, key2
PREHOOK: type: QUERY
PREHOOK: Input: default@iow1_mm
PREHOOK: Input: default@iow1_mm@key2=0
@@ -1503,7 +1561,7 @@ PREHOOK: Input: default@iow1_mm@key2=103
PREHOOK: Input: default@iow1_mm@key2=97
PREHOOK: Input: default@iow1_mm@key2=98
#### A masked pattern was here ####
-POSTHOOK: query: select * from iow1_mm
+POSTHOOK: query: select * from iow1_mm order by key, key2
POSTHOOK: type: QUERY
POSTHOOK: Input: default@iow1_mm
POSTHOOK: Input: default@iow1_mm@key2=0
@@ -1517,14 +1575,14 @@ POSTHOOK: Input: default@iow1_mm@key2=98
4 0
13 10
14 10
-103 100
-104 100
-106 103
-107 103
100 97
101 97
101 98
102 98
+103 100
+104 100
+106 103
+107 103
PREHOOK: query: insert overwrite table iow1_mm partition (key2)
select key + 3 as k1, key + 3 from intermediate union all select key + 2 as k1, key + 2 from intermediate
PREHOOK: type: QUERY
@@ -1562,7 +1620,7 @@ POSTHOOK: Lineage: iow1_mm PARTITION(key2=13).key EXPRESSION [(intermediate)inte
POSTHOOK: Lineage: iow1_mm PARTITION(key2=2).key EXPRESSION [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
POSTHOOK: Lineage: iow1_mm PARTITION(key2=3).key EXPRESSION [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
POSTHOOK: Lineage: iow1_mm PARTITION(key2=99).key EXPRESSION [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
-PREHOOK: query: select * from iow1_mm
+PREHOOK: query: select * from iow1_mm order by key, key2
PREHOOK: type: QUERY
PREHOOK: Input: default@iow1_mm
PREHOOK: Input: default@iow1_mm@key2=0
@@ -1581,7 +1639,7 @@ PREHOOK: Input: default@iow1_mm@key2=97
PREHOOK: Input: default@iow1_mm@key2=98
PREHOOK: Input: default@iow1_mm@key2=99
#### A masked pattern was here ####
-POSTHOOK: query: select * from iow1_mm
+POSTHOOK: query: select * from iow1_mm order by key, key2
POSTHOOK: type: QUERY
POSTHOOK: Input: default@iow1_mm
POSTHOOK: Input: default@iow1_mm@key2=0
@@ -1600,26 +1658,26 @@ POSTHOOK: Input: default@iow1_mm@key2=97
POSTHOOK: Input: default@iow1_mm@key2=98
POSTHOOK: Input: default@iow1_mm@key2=99
#### A masked pattern was here ####
+2 2
3 0
+3 3
4 0
+12 12
13 10
+13 13
14 10
+99 99
+100 97
100 100
100 100
+101 97
+101 98
101 101
+102 98
102 102
103 103
105 105
106 106
-12 12
-13 13
-2 2
-3 3
-100 97
-101 97
-101 98
-102 98
-99 99
PREHOOK: query: drop table iow1_mm
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@iow1_mm
@@ -2458,7 +2516,7 @@ POSTHOOK: query: drop table import7_mm
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@import7_mm
POSTHOOK: Output: default@import7_mm
-PREHOOK: query: -- TODO# multi-insert, truncate
+PREHOOK: query: -- TODO# multi-insert
@@ -2466,7 +2524,7 @@ drop table intermediate
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@intermediate
PREHOOK: Output: default@intermediate
-POSTHOOK: query: -- TODO# multi-insert, truncate
+POSTHOOK: query: -- TODO# multi-insert
[09/23] hive git commit: HIVE-14913 : Add new unit tests (Vineet Garg
via Ashutosh Chauhan)
Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/results/clientpositive/vectorization_0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vectorization_0.q.out b/ql/src/test/results/clientpositive/vectorization_0.q.out
index ac33721..37fdc46 100644
--- a/ql/src/test/results/clientpositive/vectorization_0.q.out
+++ b/ql/src/test/results/clientpositive/vectorization_0.q.out
@@ -1108,3 +1108,29874 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@alltypesorc
#### A masked pattern was here ####
-3.875652215945533E8 3.875652215945533E8 -3.875716535945533E8 1.436387455459401E9 3.875716535945533E8 0.0 2.06347151720204902E18 3.875716535945533E8 3.875652215945533E8 3.875716535945533E8 1.0 10934 -37224.52399241924 1.0517370547117279E9 -2.06347151720204902E18 1.5020929380914048E17 -64 64
+PREHOOK: query: EXPLAIN extended
+select count(*) from alltypesorc
+ where (((cstring1 LIKE 'a%') or ((cstring1 like 'b%') or (cstring1 like 'c%'))) or
+ ((length(cstring1) < 50 ) and ((cstring1 like '%n') and (length(cstring1) > 0))))
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN extended
+select count(*) from alltypesorc
+ where (((cstring1 LIKE 'a%') or ((cstring1 like 'b%') or (cstring1 like 'c%'))) or
+ ((length(cstring1) < 50 ) and ((cstring1 like '%n') and (length(cstring1) > 0))))
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-1
+ Map Reduce
+ Map Operator Tree:
+ TableScan
+ alias: alltypesorc
+ Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
+ GatherStats: false
+ Filter Operator
+ isSamplingPred: false
+ predicate: ((cstring1 like 'a%') or (cstring1 like 'b%') or (cstring1 like 'c%') or ((length(cstring1) < 50) and (cstring1 like '%n') and (length(cstring1) > 0))) (type: boolean)
+ Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ null sort order:
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
+ Execution mode: vectorized
+ Path -> Alias:
+#### A masked pattern was here ####
+ Path -> Partition:
+#### A masked pattern was here ####
+ Partition
+ base file name: alltypesorc
+ input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+ output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
+ properties:
+ COLUMN_STATS_ACCURATE {"BASIC_STATS":"true","COLUMN_STATS":{"cbigint":"true","cboolean1":"true","cboolean2":"true","cdouble":"true","cfloat":"true","cint":"true","csmallint":"true","cstring1":"true","cstring2":"true","ctimestamp1":"true","ctimestamp2":"true","ctinyint":"true"}}
+ bucket_count -1
+ columns ctinyint,csmallint,cint,cbigint,cfloat,cdouble,cstring1,cstring2,ctimestamp1,ctimestamp2,cboolean1,cboolean2
+ columns.comments
+ columns.types tinyint:smallint:int:bigint:float:double:string:string:timestamp:timestamp:boolean:boolean
+#### A masked pattern was here ####
+ name default.alltypesorc
+ numFiles 1
+ numRows 12288
+ rawDataSize 2641964
+ serialization.ddl struct alltypesorc { byte ctinyint, i16 csmallint, i32 cint, i64 cbigint, float cfloat, double cdouble, string cstring1, string cstring2, timestamp ctimestamp1, timestamp ctimestamp2, bool cboolean1, bool cboolean2}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde
+ totalSize 377237
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde
+
+ input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+ output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
+ properties:
+ COLUMN_STATS_ACCURATE {"BASIC_STATS":"true","COLUMN_STATS":{"cbigint":"true","cboolean1":"true","cboolean2":"true","cdouble":"true","cfloat":"true","cint":"true","csmallint":"true","cstring1":"true","cstring2":"true","ctimestamp1":"true","ctimestamp2":"true","ctinyint":"true"}}
+ bucket_count -1
+ columns ctinyint,csmallint,cint,cbigint,cfloat,cdouble,cstring1,cstring2,ctimestamp1,ctimestamp2,cboolean1,cboolean2
+ columns.comments
+ columns.types tinyint:smallint:int:bigint:float:double:string:string:timestamp:timestamp:boolean:boolean
+#### A masked pattern was here ####
+ name default.alltypesorc
+ numFiles 1
+ numRows 12288
+ rawDataSize 2641964
+ serialization.ddl struct alltypesorc { byte ctinyint, i16 csmallint, i32 cint, i64 cbigint, float cfloat, double cdouble, string cstring1, string cstring2, timestamp ctimestamp1, timestamp ctimestamp2, bool cboolean1, bool cboolean2}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde
+ totalSize 377237
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde
+ name: default.alltypesorc
+ name: default.alltypesorc
+ Truncated Path -> Alias:
+ /alltypesorc [alltypesorc]
+ Needs Tagging: false
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations: count(VALUE._col0)
+ mode: mergepartial
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+#### A masked pattern was here ####
+ NumFilesPerFileSink: 1
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+#### A masked pattern was here ####
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ properties:
+ columns _col0
+ columns.types bigint
+ escape.delim \
+ hive.serialization.extend.additional.nesting.levels true
+ serialization.escape.crlf true
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ TotalFiles: 1
+ GatherStats: false
+ MultiFileSpray: false
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ ListSink
+
+PREHOOK: query: select count(*) from alltypesorc
+ where (((cstring1 LIKE 'a%') or ((cstring1 like 'b%') or (cstring1 like 'c%'))) or
+ ((length(cstring1) < 50 ) and ((cstring1 like '%n') and (length(cstring1) > 0))))
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select count(*) from alltypesorc
+ where (((cstring1 LIKE 'a%') or ((cstring1 like 'b%') or (cstring1 like 'c%'))) or
+ ((length(cstring1) < 50 ) and ((cstring1 like '%n') and (length(cstring1) > 0))))
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+1370
+PREHOOK: query: select min(ctinyint), max(ctinyint), sum(ctinyint), avg(ctinyint) from alltypesorc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select min(ctinyint), max(ctinyint), sum(ctinyint), avg(ctinyint) from alltypesorc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+-64 62 -39856 -4.344925324321378
+PREHOOK: query: select min(csmallint), max(csmallint), sum(csmallint), avg(csmallint) from alltypesorc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select min(csmallint), max(csmallint), sum(csmallint), avg(csmallint) from alltypesorc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+-16379 16376 7435990 810.5504687159363
+PREHOOK: query: select min(cint), max(cint), sum(cint), avg(cint) from alltypesorc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select min(cint), max(cint), sum(cint), avg(cint) from alltypesorc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+-1073279343 1073680599 1438050863785 1.567699622571678E8
+PREHOOK: query: select min(cbigint), max(cbigint), sum(cbigint), avg(cbigint) from alltypesorc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select min(cbigint), max(cbigint), sum(cbigint), avg(cbigint) from alltypesorc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+-2147311592 2145498388 -1698460028409 -1.8515862077935246E8
+PREHOOK: query: select min(cdouble), max(cdouble), sum(cdouble), avg(cdouble) from alltypesorc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select min(cdouble), max(cdouble), sum(cdouble), avg(cdouble) from alltypesorc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+-16379.0 9763215.5639 5.622365303050001E7 6128.586552267278
+PREHOOK: query: select distinct cstring1 from alltypesorc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select distinct cstring1 from alltypesorc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+0042l0d5rPD6sMlJ7Ue0q
+006bb3K
+00LnqxnThlCib
+00MmJs1fiJp37y60mj4Ej8
+00PafC7v
+00RG6GmXCvpNN32S3045C26
+00ekFtl
+00iT08
+00k3yt70n476d6UQA
+014ILGhXxNY7g02hl0Xw
+01I27lE0Ec60Vhk6H72
+01JwN1NVt1HU3sW3
+01L3ajd5YosmyM330V3s
+01oQGbtfGX
+01wk5BRpjoirtQ0KKd2m5X
+02VRbSC5I
+02e5aKv
+02k5poW73QsWM
+02v8WnLuYDos3Cq
+02vDyIVT752
+032Uf58fO
+032inJMJt
+0333uXvwB3ADRa4aP1h
+033ffm5082ng0V
+035i4wu42Rs3Uu1ft5K0AOe
+036tLb
+037y7w5M624WjR07c6
+03Kvh3FL1P5FN0BY37kHpH
+03R4fW3q25Kl
+03SnoFNyeHxQ2X
+03ej428XuL0ryi86e542
+03jQEYjRQjm7
+03n0QGH
+03x70MmrDft3GtJF7y82QL8
+047Nh03HwK
+04A5E86G57oUmoA1r7V
+04H5odDUy1D1rhGLXGu
+04Q88m1uOy0RT86F3K7
+04RSj8yWf6GOxxq6B37jHlTO
+04Y1mA17
+04Yu8RntCU7amJtj
+04fq7M416mV7CwI1q
+04m0G4
+04p3riU20lo7A7s0OvBepl
+04q7g1Qm8cvCmny4S7r
+04vwGN4a82bd6y
+04w7DF25lHW4
+04x2PT7M1favj
+04yYaarM36u3dD3Ho
+053saXP1gR5mg06644Qd
+055VA1s2XC7q70aD8S0PLpa
+058p4c1
+05B0hwk3h12Vv5nOO07WfR
+05RA7lJ5odEHh13Uj8JkO15D
+05XlEbko5Dd31Yw87y7V
+05YFCwrpOl
+05jXQ1CW68sF7G
+05oYA4ya5
+05qf7K4cL0
+060EnWLmWE4K8Pv
+067wD7F8YQ8h32jPa
+06KkQ1787E25QFmGj87yjd
+06Q47xVf1d5JSdb
+06geS0K71heCEffYM
+06hsr0Q0bQe
+06pY725
+07488p5vb4d2
+07E7K7b8A20SU0y1Dls8ph
+07Hofhidd5ClnNx8jTl1
+07l7e0adRi8LBK6xlp
+07rw6mP4WPoYcTNy1R
+07x1c
+081M8a6yJtxj6w51C4d
+084055856V0l
+0863bBy3dkL74WtiERo3L
+08R5I
+08c0T6WJ7gREGr4
+08dVHRg
+08k7WHcnY6K3XyNyK21IaE
+08s07Nn26i3mlR5Bl83Ppo8L
+08toVN737ni
+0A2k346GBQ
+0AKcTvbG7
+0AP3HERf5Ra
+0AaJ5c3bS7m2i
+0AgcEEPHf4vXNU
+0AkI4K24GeFC1Aa2Sr6
+0Apbh7X08i2JyMK
+0CIbHqN05doWKk36Q4
+0CjRwkbxbqh7T0brNr01
+0CkUHn44bl6xbyYLk
+0D6533
+0D7WTl75H3U8V4YFTj1A
+0DM5PsdSMaTmhOK4YxC5u7j
+0DWYRJMc8q8DX2ltX0442
+0Dlv8g24a1Q43
+0E4MkMvDVTEIU4B3
+0EIL81O
+0EU2GSKN4svnsv
+0EnEEuG7h0d01
+0Ew7eF4wD3Oo
+0F5hWvBF2QOa8A5ThNXq
+0FEc2M56c3aXrUw885
+0Fx62li4
+0G60dEaeNN2vkI
+0Grrbs3Mu0
+0HTm73B
+0HxgXxO8E4kP4pBLH8qH
+0I62LB
+0IThjaO883De3DbuerQDt0
+0IX8xRUO
+0J1T41Nj0r72
+0J74Ryg8
+0JiVbqP3cG7I20UlHuc
+0K68k3bdl7jO7
+0KFxcEp5oX6e5365X
+0KG4XT6262r
+0KO13sQD80owUvaRJkgg
+0KX8Y7a660sb
+0LeTlxj6K50Te6uWM
+0M6LCA6u038J33jdFuHfF0AS
+0MGeqBDWUco
+0MPx71oMa
+0N4fmSaB0op1780h
+0N7O6L1Gg1ja
+0OD14f5eu
+0OHV13
+0OerNktBX10PyHs1sE
+0OtfuTVJM42tR837710A7u
+0Pgnxt8CrtOEWy
+0RrH6XDA1
+0RvxJiyole51yN5
+0Ryd7J0wt3N80Yc64GCpr1
+0S3XIH2NDeS0xS
+0SPVSOVDI73t
+0T08CcDm0fDWR25u
+0TN06s2WtHc
+0TQ0HK5x8
+0Tm1yO56P2KC5O18
+0UR5vFxRwBc8qtO
+0UcJbaN8
+0UrqL6yRfK
+0VWukLt
+0W67K0mT27r22f817281Ocq
+0WwMu34P26BUdcVu8q
+0Y641jaPl
+0Y77KBQmKC14u
+0YAn3Qyo
+0a5Aa136
+0ag0Cv
+0b3rr
+0cg0haOcvRSlXg36n2k3k4
+0ciu8m3N8Mds44yxps
+0dtVL5IFPf
+0eBe1
+0eL7WBS304SQ6PAp853
+0eODhoL30gUMY
+0f4422CBSl
+0fjN1U4ogbI
+0g852B
+0h45LRqh8jhT7sxcubL
+0i7NWa31V138w77wJf
+0i88xYq3gx1nW4vKjp7vBp3
+0iqrc5
+0j0P462my2xp8vCY2Oh8s6rn
+0jP5vF5FAwp
+0jRGf5f1Q05O175
+0k3GM
+0kywHd7EpIq611b5F8dkKd
+0l4J5G2jaDC
+0lhcglI
+0m6YOPivJ0VtmA4R6
+0m8aHX5yF5muTQW
+0mQ565Vg5K1886
+0mokQ053qtj
+0mrq5CsKD4aq5mt26hUAYN54
+0mrwaF7Lj8
+0mwvEC1g5p7Ai5p3VWwc
+0ne4VG
+0njk0OC3d8486u
+0o5aasUct374Q
+0oNy2Lac8mgIoM408U8bisc
+0onk8EVH
+0ovL2T
+0p3nIvm1c20J2e
+0p5PiWBMN2nO0y88tnHcw
+0p7O07686VbFeGpK5Aa3
+0p7sCjwPHtR5u1
+0pOH7A4O8aQ37NuBqn
+0pOTqi3O44rEnGQ
+0qC12eb788WuYsfVmiN078
+0qPPiSO4o5ar2J7Cml
+0qc8p
+0qcrw48qRprN58USuMjd6
+0qh7Ce5WJGFQgK1U0pl0
+0rNlSy15Xy1Sx
+0rP6A8v2S16EOlTfIDW
+0rdrrU461v
+0rtl1C
+0rtwy7qvCV34lod33
+0ruah
+0ruyd6Y50JpdGRf6HqD
+0sB8K
+0siU5JLRoUBPi88Kenqg4
+0t7onX5VSj3h
+0tM3bkx6xWaqmX5XC8Md3h
+0tkxbt
+0uA7It5CJu16eJ4JS1uuxNJ
+0un2h56KS7gYB37L
+0uu4FunxNR7iOvw7NyH7mo
+0w036Qnm3WkA73cw142j1l
+0w0Kn7n
+0wyLcN8FuKeK
+0x112O1
+0xfBP5JTQaqgj
+0xhsgG3Kg141Yy4dG1
+0xsFvigkQf7CEPVyXX78vG7D
+0y7AJ4Mgm5KvSXXPh2802
+0yVT3lMBd8sp536d
+10
+100VTM7PEW8GH1uE
+100xJdkyc
+101n6n461o
+1047piRsT3c3r134I
+105aFDAt30c4rI4U
+1062158y
+1063cEnGjSal
+10Hr5oB07Ohu0622u
+10M3eGUsKVonbl70DyoCk25
+10TYIE5S35U6dj3N
+10V3pN5r5lI2qWl2lG103
+10Wu570aLPO0p02P17FeH
+10Yr6
+10c4qt584m5y6uWT
+10dUdwyXp5XwgpkTxLffmv3x
+10lL0XD6WP2x64f70N0fHmC1
+10ljXCFT6fG6Qi3S7414e
+10pO8p1LNx4Y
+10vke853
+1110xVQF524nk2h2k4Aw225
+116MTW7f3P3
+118iOoSACcy2X4f2k4Y
+11Cjb3gHPUSjs1Dg3Co443SD
+11F2M
+11JF0rvxETQpaqxn
+11R5e0X4LOeDU3kGt
+11gEw8B737tUg
+11sV8qlJk
+121307nh6r0H31Mg
+122J3HlhqBW1D43
+122V22t5dxC876kB
+126aSR
+12E1XSdKn04W1fN3ggwOv32
+12Y88CFE3600p4daxwcd1x
+12YH5vxufod8Wu1R
+12l86v8r1ACbP
+12njwnswv3XcLx0a30tnc
+12yT2agBjx3yQ
+131Dphpt2j2FB
+1324Nbqc0C7h6niurp77wT
+134V61S01dD11l
+135FVb62E6
+1381p1T7376j
+13AA4buw5j0xj33Fie0FAl5
+13Dmcbvc0
+13YQWi5
+13q2kEQ65Y8EY0S88y7uFa5q
+14272peG
+142dJq8N6LAR
+142kQq4fbeX3mT
+144eST755Fvf6nLi74SK
+1470P
+148JFHQ0ua53LXaI
+14I0G813dY7
+14N0bi51I5FviXeCQ03F21
+14UXn3xvdW88b
+14V5RTX2R1
+14aO58n
+14fnT7A11Y6fE
+14q6lr0573yWa7u
+14xUC67Kd7mcnC3
+1527XhEpKMnW2I2E7eCu
+15EKKV43LqDgt2DS1w
+15cWEp2JVNf8
+15iI6DdPRxH
+15nhBUmm0Fj7J2jmVgEE5C0C
+15w3qCVPlsGoqbi1
+164334b43QNUJ
+16L335OgyOKH4565
+16P2kxk
+16T0Q0hg2
+16XJOPr281TmT72Y7xqB
+16f7lbK5unxiEgoLr73
+16qqkM5M66EMI3uWjWy
+16twtB4w2UMSEu3q1L07AMj
+170wJmORY68C7jdI6
+17RI340fft1fahy586Y
+17tj7wL42AfkIWb11q1d6wwe
+181O0OJ0P36g7g37vM2M6
+18330cCeptCu564M15
+18LS1tJ2uUNc2X4
+1A0Vt
+1AQR8H78mO7jyb2PBF
+1AV8SL56Iv0rm3vw
+1Av1DMN8BV7
+1B2Gb0
+1B3WMD5LSk65B2Moa
+1BA21MegTTKR67HG3
+1BQ22Cx70452I4mV1
+1D81pm8hqi640BbIhA
+1DQ1RnVsCy
+1Dj48xi11k5
+1EQPbIb2Wc0v60b
+1Ef7Tg
+1F1K4Rd
+1FC278dD8i67Hw
+1FNNhmiFLGw425NA13g
+1FkF48y5
+1GIFlv7Vi0434AjY
+1H6wGP
+1HF15l
+1Hw16y3hmpG1O6hXfd6
+1I0750N5l6vsLXoySV
+1If2J08V08IqLbDcOc184k0
+1Iry1n1c
+1JGq6EC86Lc67B
+1JRm406Na8hu
+1JVmE8QhNpG6IOT36c
+1Jq7kLUa3loRL
+1K0M0lJ25
+1KXD04k80RltvQY
+1LRgweD3Na
+1Lh6Uoq3WhNtOqQHu7WN7U
+1M4Nh6OhsxQ2XeIDW03q12
+1M4eTm8OcOW2dAMV2V5slS1
+1MJ884f1w6B38WBeya
+1N6BDpg65g6
+1N77rGXKwbO78axvICg8Gh8
+1NHb6w5M3W
+1Nq1NaA58A
+1NydRD5y5o3
+1OQ5KA
+1P0HN1edMF8
+1P2TFQRLS8P
+1Q6X12GH8AjV1QTh0y4TU3Vm
+1R480AiLgVaTEIcn3hUy8X
+1RH526
+1RN2A6iFf36F1T2a1Syj
+1RWm38Sn4LfJyr7341Mg
+1S8S88v8yJQW5cVKm
+1SJm77
+1SkJLW1H
+1Sq6q2cfuq8
+1T15H6MJi81crs35pDY8p4
+1T1oN5BQ
+1TBB2v0eBqlr4c7d
+1Tr66A4C6WsuK
+1U0Y0li08r50
+1Uwni6D5JQ
+1V07gCB41Psbr5xtLiK4E
+1V26wN5LmrcPV
+1VfAQ43G1EEip2
+1VtwojBM48g0
+1W0U2Bpb
+1WAm0QJtWv06c15qd
+1WRcDois5
+1WfqtP0V8Ky332UD
+1Wqy6K6WJaUuutA4l6iQ
+1a47CF0K67apXs
+1aI03p
+1alMTip5YTi6R3K4Pk8
+1bVmr6A03dX2uSj
+1cGVWH7n1QU
+1cO0m
+1cVy44
+1ccoB38
+1d8jOa45wiiv
+1e3i0H8MvWpar7
+1ek48
+1emD5WuAWePl22
+1ev82P6
+1f4D404j6JJn45418LWXBO
+1f4h0JU667ht28ergbmQ42
+1fPLKUK0
+1g4rMLDk488w2
+1gDXGG5x1D1v67
+1gE6P06R6Au
+1gEDdyI
+1gdr1s14ckUm4h0A6Qj
+1gsKPxa3Fr6sT
+1hs013
+1hsB1W3qV57jP4vG
+1hy4qfv
+1j3rth56N41X17c1S
+1j80NSLbNMdIc2H3R01D703
+1jDB0
+1kFnQ8Xw3
+1kYyjHtA0
+1kcFiFLMrMi1rhHn
+1lH74g2m8G3mf5Tn
+1lh1E3r8fKyRTiC1HwYgN
+1lxocR56Tc6bWcLf1GHE7
+1m6h0T
+1mYj3F8wwhWgvemD5E
+1meQ3kXTFFWELpid
+1mop6Ft
+1n4A087jV3AdXoNYLUp
+1n7x4rXnvWH4wpAlqR
+1nnwS4QL88H4N4NItBY7Nje
+1o5T8oXJi5CAYe8540C
+1oiwKGMsFXabXo
+1pUrix3
+1pxO53oqqBm2
+1q2P1wSl82q13
+1q3IAyF41KDbkoUH0UF8d
+1q3cS3s0IWSVPe0J
+1q6mOJMMOOaF1FraYJET8Y
+1r3uaJGN7oo7If84Yc
+1r83U1NHOu8n42Kn8gTpb
+1rK23
+1rf8FQaP3T01QBY0hAA5PMb
+1rr8w33DhG7xf1U
+1sJei0Gh
+1sU7A2KLR2QaP3Qu
+1t2c87D721uxcFhn2
+1t4KWqqqSILisWU5S4md8837
+1t87645camEy7yy0Awe1M1
+1tJ44D7df078VJPOgd38
+1tcrgsn5g
+1u170q
+1u4j8lva4XKq
+1uerCssknyIB4
+1um44A551e
+1v6A2yY2i
+1vAA65LuIcGceY632
+1vMvKTO0AI5XSa3F1DYNp6
+1vMw7D5H1qCv
+1w6mvRv543W805LP
+1w7DPjq
+1wMPbWHES0gcJ4C7438
+1wb02g3mc
+1x1vyb
+1x4u8Rl7K43d
+2004JF1
+203a3lQM031om7ei8r
+2060qh1mQdiLrqGg0Jc5K
+20761P12SQ04f8374
+20AgBx22737wF7TvGJT8xdV
+20QwDjvR1
+20UhDXCa138uNih2J
+20ub5m0Qgh
+21177SI08X0RDP7y70pe157O
+211K713b0vBiUWYr
+214UsrYtB1W4GJ
+216N1n3bRv
+21I7qFxw2vnAO7N1R1yUMhr0
+21UE6fJyy
+21c1MADfD3n1QJ6j
+21g1f5Pxbwev02i2
+21k073eUyWivL
+21l7ppi3Q73w7DMg75H1e
+223qftA0b
+2251WSv5eA2l6WqesdKPM2
+225M5e1OeEOu7v
+225vmIW8L75bEWVwFc
+22RO52O0M1M01M0Uk74eGx
+22UwE
+22Yf3twSI62x1b1S7Lg6G
+22s17wD60356NWi2m30gkHbm
+22s7l8b06mB7664p
+22w42i7d7D2lhn6jfnlSN
+2302W3RLPU4Hpg
+230qXv8c48waG1R6CHr
+23I1IWV72hJD8Pd7FGk8lS
+23R287wx8g5N22kp034161
+23tv5Q87XXL2JRhI6D
+23w7BrP228j42Elayn83Vi
+2401K84yO
+243SuYo3E
+2450EV33jpg
+245ELjN84
+246uQD3RQ50gYIC
+2488b5alBL0PX1
+24IGcUngY
+24Xq1VVJ
+24jbgb42dtP
+24t2xP3S
+24t42K005K7v84Nx820euxD
+252YCGI2DXxpdm7
+25MqX
+25Qky6lf2pt5FP47Mqmb
+25f8XNj
+25l26587m1fsM43r
+25umK0M57MLXesxE
+25w0iMiN06MP
+25yg11q44eL27O18V6fRc
+2618CM
+26Mx1k447Tk5
+26X2i11X25iC6x1KF
+26bLm8Ci6ebiJNpXa
+26k31c65n85xP
+26x031
+26xX874ghxkA8bV
+270E55oU861Csr73n
+271Q17NmKVPMlC
+275JjYk724e
+278v67J
+27M4Etiyf304s0aob
+27Sk86k4X
+27Xm6ui
+27lDtVbT38gR
+27pDBUla2gH6KpsN0O0g
+27pysB0Qg6oA8Cf4cjWChH7J
+27tTvOU3G86FdnSY74
+28131eU1pSKC35ADujoL
+2848p1S1240
+28DIm820euPTCMJxiNBtVF
+28KA13CH50X3tB0
+28MAXOSiX
+28Oe6r21yux7Lk47
+28os423
+2AFlPMvg7wgi45s4J
+2AI2KkK774duG2okMaJg
+2APHAC8q86BH3BqWiiK2PN2
+2Amg22mSeD4C6OL64
+2ArdYqML3654nUjGJk3
+2BFlmLpq7F1O6
+2Bn5g5acI28H
+2By078
+2C1S7MUYL5NWPARvQU
+2CiDSqJiKEr0JHgKF38uC
+2DOSO6D0pM
+2E41VxRBT043Jn6Ggf4no0O
+2EwNEy772jR0Adg3
+2F8b4jJ1722A2Pxu
+2FBdToh5748vG3p1f4A2Koql
+2Fis0xsRWB447Evs6Fa5cH
+2G6B67cu1BUqRd3I52Ug20
+2GN33486Eatu7tJi2832NSx5
+2Gic14
+2H2FnbDdb58GeL7kE2
+2H2X40NiXBIW2f
+2H45o
+2H8VG2l5e4H
+2I805mn6PngvT2rj
+2Is2C874
+2Iu8hD8x4NyXVo51
+2Kkk1q2T8Wfedft
+2L8uS24vDmMefb6XqR85U4C
+2LTgnBrqS3DAE446015Nc
+2Lkkts02qWf10RplnFExc
+2LwwBU36
+2M016T
+2M106hVFEhu
+2MCek73Rwx
+2MXQgy3CnV528om4I77x51i7
+2Mf0x4c2BF24c2w734t1EY72
+2Mu6L0wVGTbTT062fEPi6
+2Mwn2qTjLVk
+2NR62NFR5
+2OQAraVYMghEPUOfSU8YV3
+2PDsg
+2Pcm3
+2Q032bA7kXvFD0bhrGftiH
+2Q18K28dIIL
+2Q1RY
+2QJ1CmlPPD4fLq7
+2QK5G0sH2ja1J1Cq8kjc76JQ
+2QLj36ndEKWf0rQ760470y5v
+2QNVLQqPARH24r6rb4
+2QYq8Y
+2RbYGSs0tvc6C574BcmprP
+2SDuH1XKN0
+2SOiwMlQ55T05111LrY5
+2STdm3wq2BF3JJ6DdRWbl
+2Spj5Vq6Ngjb2dStLbFt7R
+2T5u0u67tRE3Mm4Tvqdb8eL7
+2T6W6I7vsKk3j6Jx6Shkq3
+2TP8Ryblc8A01
+2TWTx
+2TtPF15
+2U06fQ
+2UTX78oBg574jiOyOy2
+2UXtO8TI7g3MluJ
+2UY1jX2B1xNeR5h1qnw3
+2Uxl6l5oEs2Ds8CpKH
+2V1uLd04r0RYwOkCb4M650
+2V6VBAtpi0QQD
+2VBb0ATBqIx4n1Gm7W8
+2VC0DK60DgLH
+2W4Kg220OcCy065HG60k6e
+2W4pf6Qy1bP
+2W5VeOi75DI33He6HWk
+2WB7711J
+2WKo5
+2WTglrLC8A01S3N36yRm45
+2Wn3m7QhneidkMX1q
+2X0XRt20B70F7B
+2X4Yj8B
+2Xgj2n
+2YHQ00GQxt
+2YJVQFBo3T2Foy43GcA
+2YOJT4Sveu
+2a388Phe6
+2a7V63IL7jK3o
+2b2VT
+2b7P4DSK3
+2bD1h
+2bV4kSyKcoqKqgO6iXsE
+2bc3O0wh
+2c06XNT8UBA24Wj6A
+2c4e2
+2cNlfY8O65MhvmBjMq3MM2X
+2cla1Q3o3E8H2
+2cumAMuRN4kC5dJd888m
+2d361
+2d3tQdCGQN5k7u7S
+2dBEmWgC3OK06DpPc78Ew6l
+2dU734cvN0P2k65CE
+2diFRgr78diK6rSl0J
+2dj7o
+2eF0C4T4B0
+2eJegODpls2LBS2vAFl1OvQ
+2elvVv5Ru3a3OXP1k
+2fM8qRJm8x3SkFAvM75
+2fbAP8EJ4D5sArmrfUo3r
+2fu24
+2g07108CQP0nN6tb
+2g8EaK4cQPk82MpQPXlL54RW
+2gaHj
+2h2qsp14cr
+2hOb8J1
+2iVjtVVhM8R57oy
+2j2W3xc42VkSq4Nh
+2j6rY0poRw58s4ov2h
+2jU3jtuGteBoe0Cmf3gr
+2jpKwIdt6T
+2kQ5t0876n4JffOpftYceg5
+2kWQ1XKrr6K5THWA3ck250ab
+2kechLGLtV1b2FK6h
+2ljg4si1A
+2m58rF
+2mk4x457Jc0apJ
+2mwT8k
+2n2cwjWAp2R56c2GYtKHQf0i
+2nioOF436ID
+2o1aSX46bT5lbybk1K4U
+2oIGN5REv78NrkB5Id2u
+2oSudUNUX6
+2oWrqUD1xjbsy1Q2Ecoa0CG
+2of2Yx7uYE6fE
+2p0iX031016VDNb6KWJ
+2p6SD
+2p7ND20blG8t2cy1VRh16
+2q3K4S2rTX7K2by4c7H2
+2qYs0rStqVuO8Rg47
+2qh6a3is304PThbc
+2s3N5qbQ4pPGcwC0L6q
+2sF6Qdn5w5qO805cSaFV
+2sJpP82Tgm
+2sQ408i6h2V7MI7
+2svmgiXe6
+2tV7k
+2taQsaEJVXuJ
+2u7a6SbanjfvG
+2uE6vb52q
+2uLyD28144vklju213J1mr
+2v26F2Ok
+2v5SC7L0SqtYe83ugkh
+2v5Ux
+2v73jy37DkO67k257
+2v8x2Nmr15
+2vCAjK
+2vXyUmN8p0lFrAjL1q3wOB6
+2vdVp
+2vtmB0qNlHlGV15P1p
+2w7HaRyy7SDnxGIdgT7s6
+2wRURKtw8
+2wak50xB5nHswbX
+2wbgE0Yo1RX82H2sp4f1l5
+2wg3vWU73P
+2wgUNj08KLsG4wks06
+2wv4mHH5001Rlwe5vG
+2x14G717LqcPA7Ic5
+2x480cpEl
+2x58ER5s73ga5cx8U17K
+2xdvQ
+2xgkuN5E8h7t51
+2y2n4Oh0B5PHX8mAMXq4wId2
+2y7hKN32yv3
+2yK4Bx76O
+2yd00UDPJUO37S4qfT0gHyg
+300gt
+3080Y5smP4JT6
+30J4VggeJfk6l24Wj3Q28
+30S16Yv88FUQsDS2
+30raB4mNQ1Fy0TFyR7kriGif
+30u668e
+314nQ6nVj
+315P3EH1I6vi6
+316qk10jD0dkAh78
+316t3Sw
+317wH7BrLo671
+31A6tiD0K20miSf85
+31H4o7hC07b
+31RpuaAqBaH5ILfc
+31m1d3P3AD
+31nyhCE127sfC8qNGr6X
+31p023gt0v70DBDg8d2
+31rhe
+31u8TV1q3hv2kNyJP
+324X0
+327LJ26mRqM
+32OjMMVB54jv35
+32Q066E
+32cB3f
+32t5QB82iY3
+32v414p63Jv1B4tO1xy
+3341180kSV
+337CVUc
+33cr1j
+33g681L
+33mc66c
+33oQ31
+33woPLwH3MFmK
+342N64u7yB
+342c18wA5vW61bEV
+3445NVr7c7wfE3Px
+346v1tVDI4iB
+34ETSx805Wcvol7f
+34KEcbvGIp1t
+34N4EY63M1GFWuW0boW
+34P6jvO10s66T30S
+34o2M3
+34oSgU32X
+34p208wH32
+34vL40uLcr11po3k
+357GvGhVK0325aU
+35AUaVfS3BhcFg
+35lk428d1BN8Qp1M27
+35nkObNsO2p045cJ3
+35veP3L
+361M8OmUcKBPrFTcY5
+365IQF87op3G5G7
+3683w5f61yvbWKD71qtL8K6h
+368K1rQxOIUGl7
+36E3s7M68N2
+36N3svcnLD30QwA6im3
+36VHT5MyHq0Ei
+36VNqaapb4Y2E5l38
+36b2dm4iGWVn3wkl1A7
+36fFwTWHYaD563T4Yjx1
+36g21Q
+370Iao42Ne47KoMuv7L0GKqE
+37DtsTbag75dgC
+37EE5NIy
+37JyNK3B4QVE05unM5q
+37nx5s6QE3F
+37p34Jc2nloL
+37sehiO8Ivl64meKtR
+37ybSqX
+384j1RPibybB6R
+385cyYam0b0nAF717o
+38TsU
+38XES7ME0108oTOlH1I7BiWn
+38Y2u
+38Y7wt
+38vX8Oyvme
+3AKRFwBnv2163LyKqSXy
+3AleqfnbvCOK755F
+3AsYyeNCcv0R7fmt3K1uL
+3B3ubgg3B6a
+3Bm0J3xwvp
+3C1y7deXML
+3C388PPl50v
+3C487cjRTM14
+3ConB
+3CrD10MgcCY1d5E21
+3D8duxU6ikxujMiA3a1s3C1
+3DE7EQo4KyT0hS
+3DGKgMe5vV
+3E1n5Vbvp
+3E1qqlB24B
+3E1ynn7EtEFXaiQ772b86gVL
+3EM77
+3EUchdWMUIeH
+3EYb6FUI5ckmAd24bR7Juc0
+3Ea11tis
+3EdQS
+3F5nYf7D2P4YGlpTQb7Qm0J
+3FD2bt1EIaA0YrK
+3FEIL4w6ojn37iBWD770c
+3FXmaPtM8
+3FhN0p4lstJDMEtXC1005J0Y
+3Fhv1QY7Y776eQ38a
+3FuBrCe3T58bk1Km8
+3Fv6q4
+3G0hB0J4W5
+3GQ55vjr7oQI3u55bFk4GOL
+3GU0iMHI286JAUnA0f
+3H10xyM3GNP1
+3H2oU6X61KsBGr
+3HD1V6tKqe7gTGEC25JLF4
+3HhL08q56583
+3HlOeEUFSLcdPk
+3Idv5J5S26xE
+3JpLF0U3uFrIM
+3KB27MO3K1u5o
+3KS55
+3Ke6A1U847tV73
+3L2hivdJPOxVN
+3LWXOlGelGXQu64Lxws
+3M5o368CP0fJpOiskA6pYeVu
+3MNavGRlSAvHwbH55xrvY4I0
+3N1o1bou84BHA70
+3NXGGhNOjVMRWV
+3OpBF
+3P8kF2E1f68xG6sWx8
+3PAm03r2we02Ye3xy
+3Q2X6uNR28uvSJ5CXA25N4j
+3QUVFRtWix17GBQlFP8kF
+3Qm5PpAGbhf8NkWHJPv
+3Qn72niu1tSo14
+3R4fUi3r5212N4L05I47VU3
+3R68Yksg5JRtKk
+3S3Q2JL16PXfq27bdjC3T
+3SaS218squQ6hlv5H76M0C7p
+3StDSaH7
+3T12mSFCYnrAx7EokPLq8002
+3TI27lYx84dA7T
+3U6OMM3
+3UM32OYoBAub4rQs8tdq8
+3UN38KH8
+3USqL4
+3UtQ8
+3VAKJ8mb2ABVNB73
+3VI3qF5L1rHaYfdh
+3VK3CE7sganaEC
+3Vl0BaJ372
+3W0GorVd6GStPF5S43
+3WsVeqb28VWEEOLI8ail
+3X0nrU
+3X6iff67S3
+3YKfSH
+3YXp6Mn7N2jSCncj8S6DX2U
+3a0wpaDU3V
+3a7WcjS0uc0bqUmPmu
+3abOQ1oI
+3afvyfFbo6GH6JS416cesO
+3bKNkOve3
+3c4ER4QtMJwx83mT5Xp
+3cQp060
+3cT82
+3d1IDSME4v0F0LJbBr
+3d631tcs1g
+3dRX8I6b1UMfx
+3ddyT3U
+3e0MAK75O1V4Vw2mNM1UiX23
+3e27C1jTdTQPdvCWi4if
+3eRIt6koMhrPL5C64
+3epPVP3r6d
+3es7qU4J
+3fAi1N4CaJf1CpL2oIV
+3fHq6hA2VAdj4gO13MJTE
+3fPay5Or38giJylBUGwW
+3fT7I6UC6
+3gh6J5
+3gubGh4J18TV
+3h01b8LfJ812JV4gwhfT8u
+3h8mD2F76eq4mS
+3hF4a683G4Vc2N1
+3ioX5Nm0A878KIjG
+3kE81u6MpejF
+3kFb68
+3kXN3Q24nA206Le
+3kt58sfq
+3kv5ra4874pD8G3FRJC
+3l2B8dk37cU2tI73S74Iw
+3l7KiBCbB0
+3lb086sJ4qp5M3qJw6C8NjS
+3m1iT73ta75bK6Uek0R15bk
+3mM337C
+3mQI8u6Qx0sf2b03t86084
+3meYy6xhwQL4817A3UM
+3n32XXuwXR5ES
+3n72v2K42wYgtoeJrjhHnDm
+3nCoRI5m217k0BN0W2P7oDGf
+3naCWc31dAKsWl6B
+3o27DtX883
+3obyVy5iSrWwgK7R3u6YHi
+3ocGWW4eY55A
+3p52k8g15nQB2biT1bn7
+3p6nJWFNC6
+3p7ishFv1NEH3Q645h5D1
+3pFU58Ow1lnt7vRnbB
+3pOa05vw4J
+3q00y4llsXx3Ao
+3q0QQv5fggdv
+3q4Mex4ok5Wj6j706Vh
+3r23H05wF1
+3r3sDvfUkG0yTP3LnX5mNQRr
+3r818RKi7V2ME3NtTt
+3rDE5ohocdMweTS7gspnT3
+3rki40
+3sLC0Y2417i4n6Q5xcMF7
+3t072wsOIw022u12
+3t3EB
+3tARUFE5DqTe7
+3tluu
+3tnGS05xI820jmhlJES
+3uU325ocmMi8PM2hP
+3uo540mYV
+3vB11S
+3vk7hJ7ur64k4n48i2L8om
+3vsY0
+3w6XYq04J0Lb3Sv82eOV2HJ
+3weWVXQv3HgolM52OI2J8NAn
+3wlj3rr4GuYKMG6QxL64jT
+3x3rDvQ1TE6qIo
+3x7Jjk
+3xN13QA1u4nP
+3xa2cIfnRg3LQpKRUkUF
+3y1D3A7yxnQenJs
+3yAAXOS
+3yJpSNg1f2m3J486g4TF1uT
+3yaploii6645LP604gTB0
+3yb1J836s0x
+3yeQxU
+3yeq763N
+407CiWn5Sd0J4mlgB0X8Fu5G
+40CP0hDas6g7m
+40PQ82QY6
+40U0TKk6diRgJyuF2nNRvwX
+40WAu
+40i6Qf07
+40ks5556SV
+40n4Pw3EiSUL2e0
+40r4yyU6T0A0Mekf24k
+40rIa7T1gy1eb4b7Ge2VDN
+40vWkNP0f6DJQu
+410L723g40Le351u
+410uuUJB7nKBg
+417u8MVN77syjg88qN2
+4186Py40K286Oc
+418K4e01f6b
+41A0nYX72UOSfxO4053xy
+41ET3yiToLbb
+41GNy4
+41JX1nMdWvorK
+41MRiDLLRHaL18
+41MThX
+41OuKHD4wRu238388Cq
+41PLN7aXgP57M4Rr3
+41Uxbkbws7x1oN1M5I
+41smYLf4cuu65p1
+41xyA
+4236PQ
+425s7e8Q4LHYWbQ35I0
+42HiN0uMiVuj0Dc
+42NY72w
+42P7NX7gcwgOb727JtqNh
+42r63DM4K
+42rU7
+42w66x1PK4xu0P6fuXd
+4310N74Q4YtU2e
+431LM1vmKy0K1m
+435oSIASgSON6
+438Lxo541TwY5ID80cnR5
+43Ad7
+43Uw5KU1
+43d0nGQNH8m6wcT7p0T5Buu
+43gX6s3LEYUcX668Ig5y
+43h32gpaBvB4T3elN4s
+43q1I1xa1G33UlA34D4
+43wxS75R7cg
+442rSKupjwM
+44vcS2S5wu684R05fq01fu
+451H003P8UYu2
+45HoP7
+45WlaD0HipAojCT
+45ja5suO
+45pXKo1kmC
+467PTEoVhqi3kdYqdl6uT
+46J0D1L5q4xsdl0
+46X778w0r1Ueuv052rvegFJi
+46Y3G8Rf12bRc7KcY
+46a8K1
+46aF585n7xBB
+46tDHL8
+46uf5iNX
+472NXRAi53NVuETqVanD5l6
+47INeW44yvsne46Mu
+47XnhX
+47dILPXIlxYFSSu
+47kMyrkI1u51WS7y75pyy6S
+47x5248dXuiqta
+47xesJJ32Ia
+488l506x
+48Dj7hY48w7
+48GqfHPFLUxk42ov2bo2mmjq
+48fOGR7H6oNnh7m3Y
+48s0Wy10k
+48xYJd1
+4A7p4HkPm01W0
+4Bh47BqptHhw08erm
+4BxeN7PLh00qDKq13Nu8eVQ
+4CLH5Pd31NWO
+4Cf7gWmeh3Gw3bHx50iT2
+4D64Q522LOJY7lu4
+4E0nI655Vd0uNE31pU8x4SD
+4E4kmNOo5dbi25IJPfr05To
+4F3Tu14b35h26Q7
+4FANhS2t7p58VJ
+4GEqmyTpaQ
+4H51gSf4ykVH
+4H8qjd2yd36j5W
+4HI5bS2f78nG4Ig1l7
+4HkvsutO84B
+4HuS7f55wM87e
+4HvM3Jab3pv6V
+4I23s0o7xIji73bi3y74T5ql
+4If8MQc4
+4JmPDMvrnJnjYB0a015e
+4JyvISV2yO32C16
+4K1nnlkt7786Sq8x0ARXtr
+4KhrrQ0nJ7bMNTvhSCA
+4Ko41XvrHww1YXrctT
+4Kug5S2q
+4L44FU3D3OA0FN4y
+4LQe2Pd4m640E58XFA
+4LXBIdqdsL746Rf
+4LtlcjfB4
+4MBCqDL6Ajkinmi6b66mV3l
+4MUYUYLAD7d0lk70NJjc6LB6
+4Ma84C526OTHw0tbwxaQ
+4Me3k5h
+4Mk3721iRh6
+4Mn8007R4LoxG
+4MsDFIDY76
+4O41kg
+4O84Y581OK0x7sYP5Qvd
+4OaUPT5Nv11mnb1XInK3
+4Pu62
+4Pv3ny42Wj23L
+4Q15WWw0S
+4QG23O2GKF6BUe13O7A2C
+4QL5UDAU0u7
+4R0Dk
+4R0XI865tG1o
+4R8agGBIHRA
+4RpFMC366k71GL1j5Xd5
+4S44vF
+4SLME5xxs7k
+4U4HK
+4Uh5kCybH
+4UtjbA8bV4lkm
+4V2osM67mkXG
+4W3748j3JCC
+4W6pl6oLfgN0ax
+4W835c5Tu0aa4X2
+4W87PCaousB
+4WElvvXB261gE3
+4Y2uw5v1YJ8Jsq7wPSA
+4Y6F2QEy0v68
+4Y8NFk7mqmC3
+4YJx505OYOoh0r6SnMF6UF8
+4YN58DH0Hhxv5Oc4
+4YNyI4NW644vp0gN3
+4YW4ASjU70MkyO2biMUV6
+4aE5M3pU0
+4bKIO5xLDn544QH2
+4c2KT50dog5
+4c41c6
+4cCAsIVs3
+4dYt6bF5xfHG2v4Fd56P
+4dogOB620W83nFvbfA3H5su
+4e1D6b2moaJ2LPJ70u
+4e4RSbbS
+4eFGE3dwF5
+4eWh0BTSBEu2
+4emY37V37o2B3dw426G7v
+4evX80TlSNP08l52Dlq1dOKD
+4f7D1im2ntLFeq5khY5
+4f8ynytRB62xY5AoVfELTku
+4fB0amev
+4fNIOF6ul
+4fSnp6
+4fgGH1hKp6j210ju47F4
+4gBPJa
+4h3m5Dy0nQ
+4hMaavAE
+4hVoMF62WFn82
+4hW4Nf1WU04
+4hyAJ1G3u61
+4i11T6y6lT4073XW46yaalO
+4iAo20FElOq0ihncuFJO314W
+4iUAI35X037k6V45lOR5
+4ieWq56f7mIjQNs783D
+4ifPMpwgOae51tiNLW7B
+4j16o2bV34xFa36
+4j1R8ITWf5JSIWbP6b
+4j8sceYx6vwS3L
+4jGPKNFY4TP2K8Gw
+4jY48jNU58G17PN75
+4jYpLVDnj352U5rl72UlK0w
+4k1RqRL
+4kMasVoB7lX1wc5i64bNk
+4kUFI473BsE2rgG
+4kyK2032wUS2iyU28i
+4l6OX60y
+4lBxj4Um88
+4lKBN0OF1pkx47YV46
+4lN2ugyM0MGtsv4Ak1
+4m4yDuu60Po
+4mL72FdfnCuoExb
+4mWvIJC3fkoF0XMf24g0
+4nKk4I7T6I4GruCj18
+4nKp83r82u7BI77SX27g4xDT
+4o0SAld6t67x881120Otu2
+4p32f3dqm6X0Vyd
+4s0J04m4B52
+4s0o0KVP7H3EU753v0Y
+4s1k1B653oP
+4srDycbXO8
+4stOSK0N7i8
+4t88O3hdap24Qp4182u1
+4tFQX5
+4teNUJ1
+4uJDm4ULDm3282Q32vwjD
+4uu1N8OXG4R0gmj0hPf41
+4v2OOIq40B8
+4v3613837dytHDDLO
+4x1067604ekVjosSK5d2umw
+4xV5SUxYbcNcFk
+4xgO0kF44085iT4b0p65E
+4y5o6RndF
+4yAo7t54rr50u6Vci3p
+4yCd7wSAHaHQj5f70x
+4ywIOdqIu2gvc
+4ywtoYwxb
+5001TmV0w
+5042V
+5045L00
+507ydguwwD2G5Xm
+50J08qKXC44G8HDMu7FF
+50f35
+50nbm6coT162C0gSHAy3DB
+514eg00Ro1RtB8GGeUCHYAqS
+51ovN80JSnc7SrwD
+51pI6Y6pcEoC4
+51pwyg3Pdfr0
+52033t
+522FH212n
+525Nle4MDKGH75d
+52j4j3FJ6YP1qxTbH46a1
+52x3fW10Sfgy0gQC
+5308t82fc4
+5314P0Xu85GA60lJaVPd10
+538bk4x8fME
+538e1Ht8T4tNdGJa5
+53OS1HM8
+53VR1
+53db1o6XRU2CbwxytJFIg
+5427N64msn31
+545Gtyb6TO01J
+54GiCgon04NXfnms6b5WRj3W
+54L167LPWI4Xl340Xve8MU01
+54T2y
+54o058c3mK6ewOQ5
+54yQ6
+556IHnw5U5QfD4
+55W7c
+55b1rXQ20u321On2QrDo51K8
+55laBDd2J6deffIvr0EknAc
+55xSuTYE4361
+560K0jDFkQG50aGtt8SVA
+561Np54L
+563414Ge0cqfJ8v5SaIQ2W3j
+567H50IcGCq1a3u1
+56BMQS65YdOhgR
+56EtJ6FmSp47bf0Jj
+56Q41bkHqEF5446pGgJ6Jj
+570Sgf1L12mIrag2hICI51t
+5712We1FSa
+57156tYxJ163
+577208620tV8mWC6Y
+57WA7Sm6RuEiouyjK3
+57vi3IQLIES0Q16OTuiC4Hf7
+5844aXalb33GMTW
+587FWG5e1NylA0SQD
+5882EoppT
+58M3ixFwbF5TH4x1FxFr
+58R6lyHwWi8r
+58Vl5WFf8p
+58dScG1eiYxH
+58hP5c4e3S68K72k1tO1Edw
+58xyX
+5AKJ8et8E642uY4j6b
+5BFMY8Bb582h6
+5BO6u6
+5BQei07Qp1B1SWD08Nf4
+5BkJb
+5C26Uu6I1Dd7e1xcwSi0FR0
+5CbP5V2x14qPOqL3J
+5DDtS4Q
+5E1p5y1HXY82QUbObgeA
+5EK347RAoD0E2pw25F6Q1mFC
+5EOwuCtm184
+5EjVb30Y5
+5EkunkVdHYCBxI30D36L6oM
+5F31f22Fy1tSMjqt800
+5F33L3INq76oh68VPwnc45B
+5FD1Pq2Me0754jnw64jq68
+5Fytvc0SA8G48x0B
+5G1Xp277YJRklEO5kHx
+5GQ6Wm675hwy3eAq3m6NGCUL
+5Hc2Yn58
+5Hy1y6
+5I8oh5Sb56pDl2V05R02
+5Jm0c0pa7
+5Jwa8e3
+5K0nRX6VFCm
+5K4lM3GNCDNNA4H5H
+5KKYrlH3cWSmFE56X6tP
+5L4I0gIg7R5fM7
+5LI5OsAUx5KfqojNG2k
+5LIO05T80cT
+5Lak148nw7OyU7Q
+5M28dJ734D7fDRWCQbOnb6
+5M5i18Ol0T6u
+5M62EjXtos2G
+5MLQj
+5MU66wbAk41JUMg0055Nlv
+5MXAF37Wk4503wh37YOO56
+5Mh0fckJax75u8dlM7w
+5N2rSTIXMp1
+5NM44RohO4r6
+5NWKJdl8j26
+5Nxj5JxuW
+5O4amH0XK1mu8716
+5ON517IeD8XDLAhh
+5OOnLN015tAyeCnl6
+5OcrJ
+5OtqBAUJVYmw824aXp7
+5Pg84i1bGapv5qoYCrtvV3VW
+5Q1O33oqrTMit1GsEy7h
+5Q5UxO88
+5QLs0LVK1g
+5QXlOox5GF
+5Qs1U0b3B0c7Le72Q3537o
+5R2j1whJ607JG3J1M811
+5RSKya5o4bhQ
+5RyN2I4gSo
+5SE7y08pr6GCv576W8724G2V
+5SJ2q18tk53g4SdDvlH3
+5SUwkc
+5SfTfH5QcH6yN4u5K
+5Sig5dg
+5T0k456v4
+5TI6JBd6
+5TVADgO1Sm3
+5UakrIuHrVadic8Y4C
+5UbQg8TK4M8M71HeMyjKE46W
+5Uh3u36dO
+5UuE7jmo6vi40e7
+5V14R7pp4m2XvyB3dDDqgxQ0
+5V15opaByT3DY4
+5VVjy5IoG2Cu2GcdHEU72qsu
+5Vd7QcLbL4c1d3Xb38G
+5VexJO
+5Vypcl14RV5OcLe
+5Wn74X54OPT5nIbTVM
+5WnxPBNK2ltE8V25WkKgr71
+5X8nN2cGsveSou53xnr1V
+5Xab46Lyo
+5Y2H4C4
+5Y503avvhX3gUECL3
+5a1WX31BgmldK0J4F6DAICMi
+5a7WjXX5w1bkc8hv8Xx5LM
+5aKn0fEo1T28d73Ntd8DN
+5b38BDVq7FrK342c0iI2w26H
+5b5ILkyshcQJ04
+5b7222ls0wgFVAff7D
+5bE05Udr7Xm
+5bd5T5FEdOrYRW00bvs
+5c5pKk4sUhqMX54
+5cC5thW3jHmOE06MRNc
+5cD132LLXI13CK5eGM
+5cEU055y5C
+5cN3HGI4KhCrP
+5cVgjDl5Vs7
+5ctB5Don6vvjSc6a
+5d346Sw21w4
+5d4rPb72As3cr1UU04go8
+5dENnx6VjU14iaLFV0IR
+5dSXoPq2rsu2WRNG5T2WDLgQ
+5dy3B2G0T18JX
+5e8nU8q6vy6hcskp844R8Kt
+5eNS6
+5eY1KB3
+5ealv0e6tmDnoS0bOmX
+5f0u27Q1PvB1gCMn
+5f20hgbl5yG38L15f4m
+5g8SC6Ol3gb0433c0B6
+5gOeUOB
+5h04mA3qHKIDx05St0NNx
+5h6A0ennI
+5hDJVR4lj
+5hnxP2wPy2xu
+5hwHlC8uO8
+5i22c264N0CF7W
+5i7MvTNnSmh5nvP0kj
+5iRDem4pt4
+5if5K
+5ii2578DCFrCPlxlw1qa3p
+5j3588UoxeUDcD4tg5vH75W6
+5j7GJ8OCXgMVIcK7
+5k53084hr
+5k7EVDst86qAgdJaC
+5kX417RB64367vBw38XVJB44
+5keIL
+5kiN628ldFC6
+5kpmU7nYjC6
+5l4yXhHX0Y1jgmw4
+5lO3R6cjxRdsCi
+5m1276sq8QAT2
+5mGEOMBdF680P2jD
+5mOUrM8o4W6A
+5mPiHh
+5myx87LGMU
+5nA54
+5nAPf8Jm
+5nDHTQtR7
+5nV8bh0O
+5nXLE
+5o8dPu1J5lPI0
+5oUu102B4tP7
+5ocI6aD
+5of6ay
+5p6D71O3t2j4Rjkiv7UG
+5p73w4mBKifB5
+5pQgNc6aqws4H4mOtk4FIX
+5ps7e8
+5qF06th6U7v2nLJ
+5qS5Ev7u3SoIqva0jurc0I
+5qlw1VJGq2yHFBrf14
+5rvGhuUle
+5ryBb3VcnJhasRP45
+5sQ4qB4ML02YI5Jo
+5snabe7BNqKyRv3Pel77rG
+5t6nkDHD1Ls8012Cg2
+5tP1Y43S
+5tdqo738BN
+5u03Le2wIj
+5u0iXh2Y84QgUXkfi726oF0E
+5uu6IvJTmY8N85kdnn
+5vYQ13d84b7f1326iS6
+5wf4DOCHD2jarRA76GQ6dX2
+5wpDt358nV
+5wwtFk8g4
+5x611H4wu3oJ8WU5Rma
+5xFJJo8XfL3P4D0F8urjoY6w
+5xVb76eiua8
+5xaNVvLa
+5xx1I7x0xtC4LJ
+5y65rNnX4IsiQHRe8327
+5yFe2HK
+5yInU8IMwclXc2
+5yLXtQjDD
+60041SoajDs4F2C
+603r01G4J
+604G83753
+60KqhA
+60M56qKrd2j
+60NH2a6SQ15c48rbXckK5k8
+60S63VPytWwf5Hu6j75cHa
+60Ydc418lOl284ss63
+60fNYu4mIaX7cI4y
+60h3hwpEHd7ay6THn
+615Mv
+6175g1QUr6
+61A6n4nFNN1VFalcB
+61Oa7M7Pl17d7auyXra6
+61b7h3g8gQVJjx
+61eT82N24
+61fdP5u
+61gE6oOT4E0G83
+61koHg
+61shR2LjQ
+61u4nyOWkEKfsnkFsDWYr
+621A4nD7wucvR3o7l0
+6238rs225bo0RaTw5
+6255bIgnJx36iq1nNFiQ1
+626YHDK48bST5D6KNHL3
+62JFFg7GbAn1
+62Q7DRed301Gx
+62iCPoy17
+62vmI4
+631404U8x6HaGp62LP6o
+6317KIB8strmpE85j
+636WDH0
+63Bc8F
+63HcQ7E3o2M73mtoUlsr1
+63JM3G76qq1sB
+63L57061J754YaaV
+63QHPb4LMH52Rr52
+63Y5AC7
+63r768eM3J1AolawQa4m78J
+642LsMiNArr0ufitL3l7RCU7
+64BdFi2c15JM5X17
+64IHiaxNk4lo
+64K51WMTs
+64Voa783jTa3gYtxdseMb7
+64Vxl8QS
+64eh17n32TkR5g5bvt4p
+64ivIAGCT7J
+64ouy
+64r6E
+64xc3K542PGU2l2
+6502UQ2Jb18nD7kNw
+651R8MJPy8jvOnu3d
+651rcX4uUheL07lI5m7
+655LE2hp0lh
+658SAQuUGC
+65NJ5u6TD716OP4hB
+65VIeeMM00MHr8I0
+65g3I051uQt48Hrs
+65mIi6OLkWrv1iSiM1wia
+65n3amk86ayb7
+6648LI57SdO7
+667DXh55Q45p77fOJ4j6
+667XJt2
+66LF5V8Q27044V1J
+66Mx4v
+66d0I3bc84i67ItF682yp
+66r78Ydee71CbjdYC4AJ7p
+66wWE8r6
+674ILv3V2TxFqXP6wSbL
+678iebWrL34TlW1
+67CifPaaWjudYUDTB0IU
+67LS2DjuCX36e6t1m
+67NuMjv428MRK7O
+67V7N05VD1IM37
+683xqGH06ttCI5q
+685RhQF6ctilEV3S2h
+686HHW45wojg5OCxqdn
+68QfqfP1AK8f8
+68k8JcLTRwf8X2P7nE4X
+68ri6
+6A176GMq3e
+6AGBVrkVMspguq568DHw8r5
+6AJtt50DqWDaDKY
+6AmfdSoTPmVvXdgM8CP20sx
+6C4m8
+6C5aLN4wM0
+6CwqchP12fO3J5Y
+6D3WT
+6D47xA0FaDfy4h
+6D4H88YldHdj0
+6D82psrBv0Hi07o
+6D8Kub2t61I80E6Qe8VkYW
+6D8pQ38Wn
+6DH2dA4
+6Dnq5hvbkk
+6E5g66uV1fm6
+6EkcHQJ8dg
+6F5nuSdvKK5ny2E7BF2j6
+6F6R3hOO17jki175
+6F8wR45s5ys8AkrBE17dn2oV
+6FY0I4YdYA
+6Fd38ih
+6Ferlt3M8
+6G76C41KuHO5okBwq
+6G82mK8omEjd
+6G87V4
+6GpbwQ3mT
+6GvBv4565ks
+6H2gys6m6qldIy4bENoFI
+6H463iHBu1HNq3oBr1ehE
+6ISl3L45y5Q5U57op34v88gr
+6IVP5k05jNwj1Jqr8UAPD1r
+6IWllEnT
+6IY8ud47LutPL77K0
+6J2wyLGv
+6JLTA0I2Jx60HU470LO
+6K4d0il
+6K78X
+6KG7M5SbVWfA8J2wYvDbR
+6KRNb14xEP
+6Kf33n60w2Roh12vlTn
+6Ld4Q60l3KhhGt6
+6LrxCc20102P10n
+6M744VRsSH88eIrG3i
+6MS6smd0Rcn3ld
+6Mf2X0s3
+6MmsFsevV
+6NGoA77CWv035qcLG8O
+6Nv48811uGNPQ188I8o
+6O1S46uxV
+6Ob80MBP350rI275
+6OdmC8H5
+6Oum3ppGek741ab5d888d2
+6P5hI87IBw5BwP4T36lkB2
+6PO0RC7kcbOd
+6Pkr6mt6rI3Cno71h1EPb
+6PpbCyjf6c88b
+6Qb7hMltqN0MY0xRf8
+6Qjs3Ih3xykeT0
+6Qpnvx8GDLewljdK15rHn5Ur
+6R1Vtt
+6R6Mcd8hW
+6SxF1xVO
+6T3G2q7oM51doi66vO
+6THl7n0OK0Eiq7
+6TgaX4LO
+6Tnr41Pj3OS
+6U50ut7NIQ
+6U73ihbtbGkqB
+6U78kBJIpi8IK
+6Uags1mv741m620LKQBQ75n
+6V57hA
+6V8Ok8kTDSE86D8h0q06qi
+6V8P632qsh08uP2oc3o
+6Vi2T08qV
+6WRFtUnuF3scFWKkY4h782J
+6Weo4BXewS0
+6X5JRqA20OBFr
+6XR3D100e
+6Xh62epM8Akab
+6a2D5K5rTI2Q2HaK3v1VO5F
+6a31r6b28cEO50W
+6a421YV
+6aOBGB8OUjUW
+6ajiL10gD2Tr8
+6atrHPq73d
+6b72Wg1nICD
+6bO0XXrj
+6bRSgHOELMA
+6bf1hDU2gvI
+6bnEapMI6L
+6c6b1XPMiEw5
+6cb4K60F1fHx0BTu2
+6dATrG
+6dGA0
+6dmGc73H4C2jRXnSi
+6e5Vk3f3pMdefo
+6eFM3n2MB3pMT5
+6eeRVS85xD2q6Q8356
+6fB40r75kxeX3k10
+6fPk0A
+6fRvRXCD7GeBiEK2qfQC2Yf
+6g482F6IEbD2mKeLE153e0w
+6gG4WwoSJ887F15fK824g3e
+6gYlws
+6gn67gaXBQowu43N0M
+6gydmP72Cl38jkVsB5I8IWj
+6h6Kk4v030PNPj3Kc
+6i3yr5yS8g5fm8I
+6iN0jrPL8I11
+6iS3rFP5FLlyoojA
+6k775i02NM8tHyWkkUSbb8O
+6kT46TpQ0yPY0
+6kTCAoN08A
+6lG12Lw
+6lcf7Qp
+6ljwSqpl7n47
+6lk5XcgAmKuHHjg
+6lqfp6xy7uLrK1oqee
+6lv8V
+6m3p4wd4i7GCSm0PCO
+6m476JFPvAvlp7KTyU5C
+6mDJr6FCiu6d12VCj
+6mQ6vL4d
+6n3S324AM
+6n66eyH75yp56c2PdxQ
+6nhFMfJ6
+6o50QhXglfo0TlCF
+6o6LI186a161V7N5UJ6Sp
+6oAU0mBFKtwXOIAp7Yqi75H7
+6olFV6c18IdYv6pBJG1
+6p0GBdNQ2l5m15T
+6p2vWrdBsj30fSy0c7o5X7m5
+6p53xRtJ
+6po0G2233TEv
+6qFCTec4H4fY5YnL4esu7
+6qdYTwkc3L5LGy
+6r3F47uD4in2
+6r452KVx
+6s3xvhV71f7c6l0Y8
+6s6m3UL4WP00J7qOQ52h7
+6sB2kOb37
+6shc3Y
+6sv3ND7cm7oj62dW5A8ms
+6t557nSSrg1s0Q
+6tEhc2NS7268Tmn2E
+6tH7O0gw0gJ
+6tVht52PUI48RYfv5
+6tnH37n7Ow3sLtJBwoGs
+6uCnyE0GG6807Sm0Q6UyG
+6v1086YVc6I73mp
+6v614exqRd6KU
+6vl6871LI44R1g1A58lhDH5r
+6wSoiDE22846jIPRH87
+6x1C4Y57mY3
+6xm3103e5OE0C82nL3G
+6xn1INe8xSG0487IUAaMYRH1
+6y204sjgbO
+70070HP7Kb8Lrj
+701CeWq
+701s1GC02Pver3F57aj20e
+702XRI
+703Y1U84Wa28ryl
+704TqKdO554m38WDk0W2g
+707R5coSE4fhbU4ptKS1Y
+70X2iduWv1bEM21785FOdY6
+70a3Xg
+70ab3f1kT2bN5F
+71027fBh8760gbL7aF4K
+712Lg15d315FxK18hTxLG
+713lDu43
+716Tk0iWs7Y
+718J87Xo87S0x7
+71Jt3gli42yRhyWk0
+71KN0p4NhE4xm4ixm
+71L3HdDt342V8ky
+71X501p38PuQ41j
+71rC651of3swM7w13027216
+71xiJm
+720r2q1xoXc3Kcf3
+7227l
+722i4VcO4A373
+7258G5fYVY
+72F3g4s43q208a2
+72M1iL43IC7n
+72PfIF567Op
+72bY12xdTJH3jnIsdW03
+72dKfCFk5Ec
+733cqp8GjjmYR84G7UyWcOu7
+7342q5oFQL8QIl7cO
+73JSh62cDpvx33obP7c
+73m0kME31orwbJhm4
+73xdw4X
+73yDbT5WqsMNEB7FmJ3h
+743510L4r5Npy
+74DT3mMTYm2eEjo3
+74KfTA5ji7V0
+74Qvx57RdhAO3v4JB
+74VDRA6
+74W3My8nI
+74aYA3Gbe0GnVm6lR3Vjh
+74bXXWTpyU68
+74iV6r7bnrdp03E4uW
+74nRe6WYOO7MD7632BOS
+74shmoR1
+74w2cGm0
+74xX6fg
+74xqdI
+758SskfjqM6DdFRN0a
+758jnDonq2KPB3
+75I0sKm1yRm4x181eDLU
+75KN62a2iAf0j5Jol77wH7
+75OuwM0O3qDy
+75RG2c8
+75UKgd
+75Y6J
+75bFXC7TqGo1SEaYAx4C58m
+75cBSvBTtog25E28v
+75nB4HFf6o8qwf7gRdfNL
+760H6
+763gCfCExoaB1yJmP
+764u1WA24hRh3rs
+7660JjSpC0gG
+767fOfF1Oj8fyOv6YFI16rM
+76Gi03D76LwH75q5Qm8641aE
+76URYL8H3
+76VqjvX6hmnmvmDWOa8wi8
+76Xl5E7ttiejsqcvfJmtNB0
+76dOOD7kG6dtWnpBjR8
+76iHNk3p
+76vQ4v6BuhJ401g6U6
+770y82
+7716wo8bn1
+771j7A2oQyUEA1gti
+775e0LbXs7vkg3j8QSEnc
+77752s462NM3V5Flwuw6t
+77E8Xqg4LgN6ShBGOC4
+77IBEt1Or1c24vWPvigS3w13
+77U1exR00smD242q6fs8sv2
+77WBDf3sbTiSpv8SS4cp
+77Xe27p0
+77jNF
+780mFMK0kakDt0nB
+781UTqpT6gVs6WA8
+7827246tBw33
+78BOELSKlk1as7F
+78J23v
+78Ls67c
+78Mf2pj8fKk5Sq2L8
+78NRspEDoL7
+78P3GRrMus
+78Pqc5
+78WeV1A4Fuo7mPSX
+78aNdayQnTX1e13sq1Bn0Y
+78p35uTby
+78sBmK71Yt0F5q3
+7A80ue3836206PwI4
+7ADE3U3HRd8aCc
+7AJH2574A48M0I1wN
+7ANVdSdbl
+7BhEv636HK
+7BojnC3DIBmmGo8
+7C1L24VM7Ya
+7CKu35ao6U121E3o
+7CMoc7AjVxXnpchvH3
+7CN6Umbd77shwU0vM40
+7D436RM5BwJ2ykbsgu
+7Dl7rr2aa2bfovt1yny5v
+7EOTdCSaFwhwSd1xuwGp6T6e
+7Fu3P11UxJJ101
+7G06EQdECMJ7l1oW
+7GCfB5odqYDW1gq7iBWJ
+7GFyG3
+7GeACqY0R
+7H4jdc4mIdrlM832TaQVvclh
+7J7jjIVHSIjGh4oEBsox533
+7JDt8xM8G778vdBUA1
+7Jg216IPQ2H7
+7K7y062ndg5aRSBsx
+7Kp283Fa5
+7L507r40AX3T6mHaO8
+7L6td4208eOQ1Kvq220
+7LdfF1415i51qpmHQI
+7M515cSr37Sj
+7MHXQ0V71I
+7MJd7FQgF0U2O
+7NSlm
+7NgRlBPxMo4
+7Nu0NxOnHSsecxU56XQbJR
+7OBJ788LeOqT3GGdn5QOmP
+7OnIvTMO27Hksu6
+7PE3Nv5LTl
+7PdUcgGs1W2es
+7PuoKiD38nQmIK4T
+7Qi7qWR73P143aR
+7QlOGyGCDX8Prdm
+7Qy0j102iq4kv45G
+7S271S3
+7SDjFwa2o2KQ5FM43l
+7SND06C
+7SNpQFhk20XW6LON1g
+7SVXqa1T1
+7Sb0367
+7SchQY2j74BW7dQNy5G5
+7SgB6fRom0PLEjCH1
+7ShU45Cr6l8
+7Spfb6Q8pJBNWi3T
+7TSXOfbQHsNGLE
+7Trpkqliv5w
+7UcmGTD0H3teObxa3PIKsChx
+7V65Eih84lc86QMJ2O
+7VFqt831tqF8B74sT06h5
+7W1JdVTdYHJc2KMvx6Luj
+7WLVW6F4h71Dgk7
+7WYO11kWn6fT2pOlh5sTDIwG
+7X8C04JN7LRyG
+7XhwAvjDFx87
+7Xt47WK7fF0OYPUVU3Br2d7M
+7XxsQY58e7QTwB83
+7Y00tGm
+7YJJ1NwK3COpMARUo
+7YdpF7T2
+7a44BmyY6sULOArK1Jv65nnn
+7afdC4616LFIHN
+7aiqnEep0bBDD04D370
+7axyXd55ji4n
+7bD30suWFdI4o5Jp6m
+7bO18f2QAcD2
+7bj4Yo7E5XDT
+7bv4R8
+7c4q8O8ft1FuY1Mbsme
+7cyjB646NeRKiJ2
+7d13Iix50R2X48opJt
+7d4b5KTsS62wJ
+7dqm3Oc6um
+7e6ntfBnB0m82i6k83
+7e8cuG44
+7e8m5J774M2W
+7et28dsw03son237
+7etT21xSNx
+7frh87sO28DX
+7g13w40lHv7wDaf1m4MQ8m
+7g5OT6f7u1A30FLeC06sv
+7g83b3nl
+7gGmkmKO80vxDN4
+7h2kGPt4
+7hCJ5yJvt0775jjgq8S0bX6W
+7hX1B0bSs
+7i03i80
+7i7FJDchQc1
+7iDJPlr1E85
+7jMF7DI2PbNDel6Lm54C
+7jtP3C204M33
+7k0Ypeij4V2jcvT66TW5
+7kSDl
+7kSfXX04U3
+7l1OMS06fGPw
+7lsB56s1512O40v8Lb7
+7n7CK4Pg11vhm6ax3H5
+7noHlf7x0E4t
+7o0LS1
+7oGCjqpW2HtYrd6h2
+7ois1q60TPT4ckv5
+7p5eY6u03Oc
+7q0iMi2GDq0Q
+7qAUegnj7P450rLp6
+7qYP01VYV7LgSn3bdxRcv6RI
+7r1Q4v63c47B
+7r8qT5PoU0hvo5wVvwMwR3
+7rV220ruFc6Y3LhE0
+7ru0ySl7vhRybOK17h2I637
+7s6O45GD7p4ASq08a26v8
+7sA426CHy4
+7sm5h
+7smvc50Lf0Vc75l0Aw1
+7t7tL288aFIHcovPB8
+7tdXvglBVQXI0
+7txJwfuE1675k322G6
+7u351EK474IcTOFW
+7u65oy5nW8B
+7uC1DPghO17iHS4
+7uEJE7MbCywRC46tr
+7uXaLmLAl6CsJ61pC14htB1W
+7uhFTn8OiQ
+7v1FU
+7v3bUgTi6IBDVdvyb6sU
+7vH6I81S0
+7w4U48Dkch7l6d2sr3PpVP
+7wH3hBKdO55Xq3gEEe0
+7x1m6Q06VGAwOm34m
+7xINFn3pugc8IOw4GWi7nR
+7xY3raCHiT3hA
+7xh48cBvt34812U1at
+7xo2E2XiGXV0uXEfBy8p2o
+7y06q4eHWy
+802oI1
+806X4jKS0Lo7cO
+806vT7T4G4Y4
+80EcbF3
+80K4C
+80U275bv
+80gvNBSa2gsK
+814ktH55a87815v563V81C1
+8166346wkHn
+818vxXu11
+81ILAecf7Pp4
+81Rg5rR0IaInWw
+81TewRpuYX3
+81teE8XJM6
+821UdmGbkEf4j
+821c2733Uja2E3kEtAX83c0c
+8264P8f1IX
+827237W7G6hlU0Y60L6Sm8
+828DT2lU8KStt674pGctB52
+82A762MP5i04n3Yn6oHPLn4
+82If7B6m5DWsXE8LE
+82LYD2g04BheHqsm0
+82MujA
+82TqgL1CXYgKl4
+82V4K75apw
+8308ogefQEebr48
+833RMHSwWvEg01S
+836DI5VY12j1Cd
+83bn3y1
+83c65JF048U86Gsy
+83d6qEj647pMQC7
+83lsq0C1IyG0a0FauApW
+83tP8
+840ng7eC1Ap8bgNEgSAVnwas
+8411i6
+84CIr82
+84HS58kw8B32q717TMOCYKx
+84L7MdH7
+84O1C65C5k88bI7i4
+84TvhtF
+84r3mGgD287JAMVv
+854W2USVx2swYb5
+85AFBCqB
+85cpPHm5B0GD
+85s4lIu161r
+865ub2nreG8h0r7
+86C34fOeI
+86CWKiqv
+86D3lv
+86P27LE
+86S3F
+86c88IWA7d8EK2N
+86o66
+876nMq6Po0d428mkF
+87Gan1I33d5v1
+87SexCLsDwtqFHL73T6255
+87oee8IK
+87rDPuuSqyt2M7j16nOitai
+87y8G77XofAGWgM115XGM
+882D66N7Q73Uk21Rh3i3Hu
+883d6jHJd20KHEEu0R1Kx41
+886wwGvXf6
+88FnP7ihMB4f88TJN278CT
+88G108W
+88Gp8064umWOY
+88RyHpqWAT8f71rv0
+88SB8
+88XSe1n
+88dJOgqIlfUA411
+88uIRN0UF3KgxUukV7l82nN6
+8A3dS
+8AqHq
+8B1e0uEbua066H8dUrR742
+8B7U2E2o5byWd3KV7i
+8Bshk4eu870M3VyJ8c4D1upr
+8DiQ6F8xlhM188R0eyIOb
+8E2EQRxxnb6ejKo5
+8E57cicQ2cn6Ld
+8E6m0haq3625pJ32EE
+8EGKOm
+8EPG0Xi307qd
+8Eg3VyND
+8Eop5f14qyd5QAN4v0sR8
+8F0hWV76XxO87NUJ7
+8F0xRJ8Cf8S
+8F3j56
+8Fif8LgR5X32HbH4
+8FkV3
+8FpQRPC5B82ow502W46FQB
+8Fx0J88
+8G78nBONNQCut4hVOKki
+8G82H54442m0AjgH3a4h
+8GIqX3tvNqrgH
+8GloEukQ0c68JDmnYL53
+8H81KcrcWG4xB
+8I1kuCMp7I25yji
+8IcQ0DU
+8Ie6o54y
+8IgBmN0xkLDIlj2y
+8IkicjRJ21c054Id
+8IlM1oJ7KSGx6hU7i6
+8IpUdD64akX6LGbx
+8J5OB7K26PEV7kdbeHr3
+8JNVrH3Lasa826
+8JNt8dc84gCJC0tN
+8JUFg0n
+8JUh1T63oLSOUc5UpCUFO0K
+8Jvom23dkWvvqv81DY5Ub3
+8L3xdOeN
+8Lh4G52x4
+8M42dX6x214GLI
+8M43BDUxQ2t5
+8M8BPR10t2W0ypOh8
+8Mp2JEiFxAfApNR
+8Mw4p5Jvd
+8NNQA83qWu5LDDj02
+8Ne2K6rxP6Lllx1c
+8Nj7qpHBTH1GUkMM1BXr2
+8NjevW2H3Kjnws2iC2qrom
+8O6hJAm5RYLGl1
+8Pa8a8MJ24
+8PpV88OGb
+8Q14Obe1sC82s2s10v44Pb
+8Q4H5tVMm6r
+8QWCbCQMIc3bsI7
+8QcNg01GEF
+8Qr143GYBM
+8R3EG13518F1O071Xy8
+8R6D2RO65Eml57fKYNV667j0
+8RYSCOw18284ncYbFjG2kq6
+8RbQ4MgwR
+8S7pAI056
+8SGc8Ly1WTgwV1
+8ShAFcD734S8Q26WjMwpq0Q
+8TM0eO67oHDf3spTRmJ8k
+8TY873CPrH82JPwf
+8U0bLsWq8444DJ5TW
+8UL6BjDVbGE3B6tlmdeP52
+8VOMo4k2fVr88MuEw72V6N
+8W3527304W1WeGNo0q12l
+8W3nO2rOr026L8
+8WC462P3JLhaXTN
+8We4u3732apuHDPV
+8X155
+8X8meHq2tUPTeP
+8Xmc82JogMCeiE5
+8Y7yHw
+8YHG1
+8a6xVdr21Uy
+8b1rapGl7vy44odt4jFI
+8bpqjd66y7AER2QoK
+8bq4WFH5B3s74f8yk5iRT3
+8cC24gh
+8cjN6m1e
+8cn0K
+8d4D1
+8dDe31b5
+8ddUotw
+8e5DWN6xSnwJyy
+8eBnNbUAGV6AAAshW
+8eSO14
+8eiti74gc5m01xyMKSjUIx
+8ev7c4JiIUUM5R8yV30
+8evw1sI852U4bid
+8f6s7W5E4823
+8fILes
+8fjJStK8D7bsF7P3d65118S
+8gkio4o1
+8h4gdqCM0H8j1M2M052hSHS
+8h8C80lK4l6
+8hI2axJ4xQc2ilt
+8hMHl64qhfWSdC
+8hh0tf6iia8rV
+8huHS0jX056Ukdx3
+8iF83
+8iHtdkJ6d
+8iX3Lj03
+8jE8SDSLqc
+8jKISHtr45yX5sUE0FGdMY
+8jQqh182kkY6
+8jjmTVU3rT
+8jya8308Md7
+8k1748I2BIW53LK8dmc
+8k2NIi3tY7t68
+8k5161277021n
+8k6Lo3U
+8kCu38T0uhtX8TsI0t
+8kGcCA5
+8kq3a2DBcvac7BwtO4
+8l433e5J6I0fj0PM
+8l50D2mQ2
+8lALowC26N0kJ371
+8lAl0YbpyMmPgI
+8m6012
+8mo3htjWw1Pxd8A
+8n431HuJF6X2x46Rt
+8nHEnu
+8nU3Geor45VFUs26
+8ndB1604
+8nrs8SX553uTd63hTJ
+8nwQ8LI1TiX30
+8o0l440qDP1
+8o32V0Pboeu66dD
+8pRkOXod8QLx2jax3AxJ
+8pbggxc
+8qG35U66qmjIeLy5Iir6Yy21
+8qVY4hgVfu4JW41cTi
+8qhEui604mB8
+8r2TI3Svqra1Jc253gAYR3
+8r4JLW
+8r5uX85x2Pn7g3gJ0
+8rac067JIBxRah56sw
+8reJCOg48gHGHDs
+8s0kR1e4QVV7QO
+8sGhaa2c
+8tF35fd8P30QE4nDj1YkEj
+8tHGDS0N2uj85
+8tL4e4XE8jF2YLJ8l
+8tVuiCkFtGW5KX
+8tw6WvMeBl
+8u8tR858jC01y8Ft66nYRnb6
+8uWu7hh467KSMsxmX68
+8uc06Qq7RP2P1RAf
+8v064ye21c
+8v0iU4C
+8v3M46A
+8v3WfTYF315bFL
+8v8D0Sfhscn45vBdn6H
+8vFbY6BM35cX2G
+8vKN51JNM7
+8vohWoS
+8w25qduHs0MI5K33SGY3
+8w7oRLS1
+8wc23uR13Fu23GVUp
+8x0kI0603QJ6sd0404n
+8x2RxHAY2Y
+8x33aIF0uGR
+8x6mobxQl6Ef0Hl1
+8xFru
+8xLnT
+8xML5SQm27gN
+8xij3lSDUdgO0kEVm2Bw8JRW
+8yLnMOGxRK4e0Nff
+A063k5
+A0A8SL0PuOtjj27670
+A1g0Myv7
+A1g358aWFHPT06lWjso8OeQ
+A1h6G3bgyRxxvyhyWhVL
+A2OkkG6xRsW2VXqggE
+A2PcqxNGNI
+A2REERChgbC5c4
+A30e7a8ia36g25YQc8xTXBgB
+A34p7oRr2WvUJNf
+A36LkA3imTr2tB7b
+A3lqQ7ei3m008SlRm
+A41x50OQPCeiC0M278DNC1LC
+A43eyp8856SP83
+A4GncFvJV8J2o0
+A4Ja7hpu3tCJx82
+A4T1b
+A5d3WY0X3i8b
+A5hjodl6Y
+A5ps3gmcx07K
+A6CX2HDWN8
+A6F00275L4jx8tNc
+A6M1di6LUH
+A6RKQvA5fWw6
+A71P2rA
+A72HPe7U2Ss24o0mmt58YXMm
+A74OqWUyE2kkH1o0Y
+A74P2VrP7Ao34C87cV8634
+A84V2Y4A
+AASM5H55Q142monqAx3u
+AAeRTP
+AD6Wgeg
+ADaW50SE6OE3Y
+AFhn1et6NTnUO3F81D1i
+AFv66x72c72hjHPYqV0y4Qi
+AGI4mak
+AGYktyr3k0GMQx7bWp
+AH6e820tOV6HSThd30w
+AHd7wkKJOW0oL11A30rx1
+AIIfMPtsjP3fDtTNKxGo17Tl
+AIqMWf4G31cTSrfl1M6VKm
+AKSumJy2fP
+AL03kjYOWmhlSL7
+ALpMVq8Q6P01w6
+AMW7A
+ANpel663M
+APvOgiDChph5N
+AQeg2Ym4L
+ARECS
+ARhwoFDQ3Q
+AS86Ghu6q7
+ASSe7kYrOuU1RY5xfqOu4
+ASm1a20I155Y
+ATiN8ic3g0Jv0lJL0
+AU1Wbf
+AaE3g
+Ad4KRAdOpE25j1BV
+Ae8v6oxYn77701gt
+AfW67EWaHMIQ7yvfqHRUwB
+Ag7jo42O8LQxbFwe6TK
+Ahnqoop12M16YT
+AiTECUywimGFu071n28A
+Aiw4841qJ03Y3Prap73V0hub
+Ajte53RpwICi8C00IAY
+Ako362FErCK8F2v31h3Ns260
+AmPHc4NUg3HwJ
+AmSQty0F5Y
+AmYxfSOBdJv8B48l0VAeeI
+Anj0oF
+Asb78n5F8touWJspj6y
+AtJMWIQ0TN4v1Vrj1pHI
+AuQ7FrUgXua
+AwVW3sV2gsM
+AyLa71bfxi250l8A518jspLC
+AyXm00Txvx0L5CyvWXQtsyAG
+Ayw2CUsH0QjG64m2cmDy
+B0As0723A520pE
+B0bp3
+B0q1K7dlcKAC46176yc83
+B1NGi
+B1lkUgPnf7ddbeKxPOGtP4n
+B21noFx80
+B257X5x
+B26L6Qp134xe0wy0Si
+B2pg4xQ01oKud01
+B350G70tUHdR4F5331F
+B40xYNyR664gLo
+B44Mnpnu1Fv1M
+B4QXimuNY4jvyEB0o
+B50OoxbIK
+B553840U1H2b1M06l6N81
+B5ObAu54
+B5gq0hh5ud722DLrR
+B5ixKlEEhbWPV64wjMe8Os
+B61uSoc
+B66gbJv648C5k08Xvd
+B6Sx6ydj
+B78T0SnxlCe5AQ522GBUf6c6
+B7P12uoI
+B7aMvVm446mg46CL
+B7grxpIo8Tf33RjGTg0
+B7k5EESc6
+B8KDHDSu5H
+B8SW6aM7KrJe07p
+BD5BG4
+BDw128DPSapP0X0
+BH3PJ6Nf5T0Tg
+BI34Ap4r3c210R1UBF6Lp
+BI77180Jc0ga4eu2TD3n
+BIMMVF72hPLrx5b
+BIV45xaS7N41bFOEk0EI34
+BJPV6JwJ8p
+BJTr1JVEjCQMQ0
+BLoMwUJ51ns6pd
+BLyBF45iOWdg58oNy
+BM68SI
+BPm3v8Y4
+BQ60TJs02sdrNnE8d8
+BRL163CF0o
+BRM3geidCoOv6Kw
+BS36Mx2tu76K
+BS8FR
+BSmA3fAai62QpNjmL66y8d
+BT3MW6yT0Dt
+BU3NV3Jv7pW45knPt8
+BV10NpgCXpb7T80Ry2
+BWiKbU8s3
+BYD32YqIWlOgNpL
+BYt5Ww10GR12r8jQffd25Q
+Bb2AdwWmQOcwJhqF
+Bbow1DFvD65Sx6
+BcTvH1XwLh0QJGAU2wA
+Bd06F615GTlaWOiSY2
+Bd1f156OCy1u
+BeCJRnF7x42QV53G
+Bey152YLpPVVmJ36w3
+BfDk1WlFIoug
+BfGE56ef2ej
+BfJ4pWLp
+BfW7r
+Bfp3iMp7A
+Bg2B3Pf88p
+Bgk2cxNJk7f4rMmW38Dl3S1
+BhVBA
+BkB01vNgv
+BkETJ6DBO0vFxb6pd828TtL1
+Bl1vfIc3iDf8iM7S1p8o2
+Bm8K5s1OHOM1YA65S
+Bn7V5uRXt
+Bq245sjauEPf
+Br10oq82CD25XOpViN0OVP3w
+BseYtnk307lA6Q4c1Lw2
+Bsi3VIb
+BtFw6oEqg3wwdU
+Bu1QtYr5sfcMxyD2c650GW
+Bu4Dn5U0tvu
+Bu880nx
+BuPfkehWx0mcq26yta7bf
+BuSLb058f2
+Bue8jN31oeS
+Bug1pfMQCEHkV6M1O4u
+Bw430F8581
+BwXBC7rU57
+BxH575uxOuCE6sxn6frt
+By4JbbLm4g1Kyq67Er
+Byv03ok
+C0182BFsm3
+C03MjgFY8ye3
+C043G
+C0Ew43p
+C1E8E3vVL16j
+C1KV2I0wL8wk7C6371
+C1f7dac7BM
+C2HD3c8PSr8q
+C30EryLS
+C32YIF3mQaXSTkCV8D2u7L7
+C3rew41
+C3s1RP5q7vW4B
+C470S3c
+C47O7D3RF
+C5JS4qveshY7mhNv4W
+C5gxw26dt75
+C60KTh
+C61uNfErrDn42
+C63fh05R7De33TmqtehvIfxv
+C677g7qo071FQ4a
+C6hoSE4L6NCrA
+C71F2Bh8
+C77Mm2Bv5tV32bB3IHK
+C7H805
+CAgHwQHau58X
+CCm4BXjLPAys
+CDpW47u3jamce
+CDxPimlul3S23D
+CE22Wjuk7d20ouN
+CEGOy
+CEIf818kp62v
+CFJ0FK0U143Js1C433sB
+CHP5367P06dFMPWw23eQ
+CI31dv2fj53Ncc
+CJIO2
+CKln3JQk346jaT47ns
+CKu4687wOrD56FN
+CN30RbmhOI5ipQ6x47ca5gK
+CO2Agp0ngS0d6tcnBi4
+CP1IS
+CR57NnVhHbrfuaD
+CRP2ah1peUgDrj750RU53l
+CS7804r4A
+CTGvoAMolvq147
+CUa3sAF216u7IeQ
+CUaLDB
+CV6cC5cYQ7Ybki12sokm5Mb
+CV8faVl08s0
+CXUWPmJcjj88pp
+CXpa3gF20
+Ca1Tsx2aY1q
+CbQNlJb76sx257
+CbULhCEo3m8Q357
+CbbC4f5L6l3L6k
+Cd6HS76Hi77r7YGGH1
+CdOTWH8E2E3POA1pghh
+CeG187j
+Cfcf1e8dF672e
+Cgxm73PXWLlvbIm
+CjC3BPy1KH421o32f8
+CjhiR
+CjnWXicg77g2GwDWN1
+Ck1y00F5
+CmX7o
+CmsLN67Kn06aGHb0nWJrh0o
+CoMlAAYdRSe
+CpJNPe416g82r
+Cq7458Q8iJtn4aq8I3E
+CqVN87Pm5hyraKaq45O
+CqdMb86r52TC3NgM187
+Crlnej6pMKb
+Csi0Uf
+CtU2PW66tBCk0swxglxDIp2F
+CvyRV3W8I3I21kS5
+Cw412mnXhN1F
+CwKybtG8352074kNi8cV6qSN
+CxLLn
+Cxas82oA2hX884xmYQ2jrpDX
+CxevjU4dESW7kcgYUY01x
+Cxv2002dg27NL7053ily2CE
+D02Xb5NBPo58PrT3i00
+D2cd5
+D2s2711
+D300Wwybt50R66GNV
+D3aT0bC8
+D3rrf4BKs5TE
+D40tyXI
+D47gT3qx6tQ51hCO
+D47x12qBG7n82y
+D4tl3Bm
+D51v22DPjSeSplVUk
+D58FB1lUvSdKjxDqXeE17j8
+D5Eid
+D5SANA44B8Jm
+D5sR4yKd
+D63exrPA1TG2XQd6406tA
+D64qsn86uCx0AFCDKU538
+D65SRo
+D6BS618N87J
+D6UtO8l3
+D7G7Ubc64866fFh
+D7d5u8c2q2td7F8wwQSn2Tab
+D7nv643DTrg0H
+D7uQjIbBdnn
+D8uSK63TOFY064bwF
+DB7G66662B588sgbu4tP
+DBdP640m2jjC
+DCDvH0Ro1C
+DGu7ynB5SM3A864nRD
+DHsQn6ygx86F
+DHw7or6
+DHy1oyJ2887Mr5
+DJxhgDD0mIQeDgs8
+DKMC7jIoLI5
+DKu7H1t4Xp7x
+DM3fMIDl770Nt083jjTQ2Uh
+DOBR48RQx025y13q4767snyt
+DP2B8S3qG
+DP5Ce5
+DPdyR
+DPrJ1
+DRodCrmwkH35tuMes8V
+DS4iDURlsq418pFh8
+DTJuXU1T0G13S0d18Al7XcR1
+DU1m68i1Q7W3
+DU7L1P2nx0y6387K6HrltN
+DUSKf88a
+DUxeD78eL1Ci82O7
+DVIFt1UEtwik44e82
+DVv6SE
+DWNvg304j4KTMEs2174Cy1
+DWVt0e
+DWewuaY
+DWxOD6Dlkiw3O5FfA0K
+DX2rT
+DYBN0
+DaV6Mq83h805DSGAI
+Das7E73
+Df13qWE
+Df7N7eedkot
+DfTvU1F4hkNd5lJ4FGSe
+DglR0T
+Dk6tb8PWF643qyp258O2
+Dpx32r5sd2v4Q5rAo64T
+Dq1bA4POpt5yuC5L1t
+DqpcjoX3m2h4hj4721T2M
+DrXH5D4L1gTCAqG
+Dtlr84bf14YfQ
+DtnT3Y2qlp5HYmS
+Dtsb7s36eASJVh1Xi32K
+DuLQkL6
+Dxc5s8wD6v47
+Dy70nFW20WY
+DyDe58BA
+E07SN5VEyl
+E0E7P7p84ltGE4
+E1K2fsDf8P
+E1fHP15nPQXjBxCo3u
+E1iWm444b
+E1pF32w3iVk3Q4E28
+E20mj4rXE8p38WB0
+E4Gnt5L5lB4cej2WU7
+E4JEjNiE
+E4ekAO
+E50C7d53L56
+E50oY
+E5ud7eWss5yUDB6657GIS
+E6EfhWpAlcoU2hr
+E700DGqQTWX5s
+E7T18u2ir5LfC5yywht
+E82GlbIr2v62H5d248gn662
+E8O8814lE4JkJc52Ure
+E8p1D7g26MAGrt616dfRC
+EAP1B57a5132algoul51
+EDEC5l
+EEr7sgEv4lqC76GKb4LI7p
+EGLa1s85
+EHS5Xo4
+EI6S4ARfxC3gTET8r
+EIDkp
+EJPe8rNq3c5piv4
+EJval1Oc0x27mdpL1Y
+EKl0r2F5MYb5ufApRh
+EKsWjbi762Thn44n
+EL8OqvHD
+ELY30563as
+EN21f1
+EO25LXi25UV6oD
+EPCRx8ObNv51rOF
+EPGIl3Mq6
+EQT56g5A73m3j
+ERv3LDq47PD87kYanTw70I
+ET3d4F2I4lV
+EThN3q3g4GbNl1hj1DI6M
+EUl4i
+EV6iD4RKEH7F4DJV
+EWh0x08
+EX3K4E0EI1YiI1x
+EX3gUtFMk1Pnuhs5v
+EXWsAOlGYtb053ExF6u5FLyb
+EY2fCS
+EavI0LN82c3A1UN
+EbLh7DAd
+EcM71
+Ee5lLQ15D4SLNmBo2
+Eg14uIJR0L4A0
+EgNL5xh01N5mU1iKCWKFQcfn
+Egf7KV7TeT
+Ej05nrdc8CVXYu1Axy6W
+Ej1201f0iV3
+Ej38vEPdjT
+EjY6DSn57x1v5h
+EkPP1
+El12E1cY5NV5icR6r0
+El5RUByTr1xve1tM
+ElhqquN7n
+Eo3tUJICSn2
+Eohh21
+Eq4NvWHH4Qb
+EqAU5Jit8kJfgutgf0U7Ren5
+EqUT4hfjoX45
+ErbOvqGF6Yyik074
+Erx54avV3Muo
+Et733lj33Gg5S0ET3
+EtktiuSQJDs18
+Evy38C7jJH13gywu
+Ew6cjg680S1IsOa4ueVQmLBT
+EwBPJgY4JDm
+ExWpHq2H5O0nP
+Exp3Ic8q2g8D2i347
+F08xx7g2V6CB0q3y
+F10SR3l5836pq7TCfYeGrEl1
+F13clAHtHaUN2t6wLxE7S3T
+F1eRVdjR66sHY20F
+F3OEU67i11yDY0Lok02y6
+F3f8ccwGF
+F3u1yJaQywofxCCM4v4jScY
+F3wAY4D4XxYt
+F4FgvW2v
+F4J3N2IsV4JvOl8i0B
+F4e1XPV2Hwg7a3d3x530818
+F5n0SfL8CT53dFr51vvW0S3
+F63t6sNxS3C0yBtcHAUU8
+F65r0poAe2
+F66v7
+F6Gfb3iU850A
+F88n72F
+F8CSOeOY1K85PUlf
+F8D816El20x4myKT1dtjX
+F8GnKjK353rHy6
+F8iVJQQdC6O4
+FBWY8rR466Y
+FBpLbIy1k2Rw44G1j0
+FEefA
+FG0nEK47BRaoVQ5B2HMA6K
+FGQf6n21ES
+FGx13w3IFFT718DDr5
+FIVQ8
+FJfamcF044ljD0
+FKDPbFp241
+FL21OE2AbCwyN8c
+FM8CJ05Prlm
+FMVqyn08R5kuEv8
+FNMnNPw2Ya1NHyBW8W
+FO3Y3Dm052jfCS3WQ
+FO81NX2MQ1Tv2
+FOFRXW66k6iU4jUcdYKC78h
+FQ2113IMyn
+FRrIYhIOx63k83E353
+FU0S1qBBcs7T04
+FUuADXtCD5
+FVq4l0ohQ6VBFe
+FWCW47mXs2a
+FWdV3V4qGH003
+FWwENlTM6u
+FY6nYvlylGTw0vQ544uJ
+Fb2W1r24opqN8m6571p
+FdAhEb7oy3UhbF5my
+FdU12l
+FdnoO3o3TWb
+Fdsa3uDj6
+FdxyM7c
+Fe4Bfs
+Fe5nVb0
+Fg05tGcQqI78e4cgDn538v
+FgJ7Hft6845s1766oyt82q
+Fh0xg4mjc7N4jCrkL
+FhXANp2KDtMmA2gFd778pA
+Fj7LiN85m
+FjUt2ol81V3DS18I
+FkpSyCaSiA2X28rAMNt5687
+Fm50h7GKQ470RHTNW1iJ8qs6
+FmYRwaLP
+Foel1tOTi6t168aeq0sTSY4
+FpcR5Ph
+FpsIohh60Bho67Fb7f
+Fq87rJI5RvYG3
+FqW3gSD2
+Frlb0SoQ8
+FvrWP
+FwMw41y68NnU0FGJ5k6
+FxEvW
+G0PNHsT6RM4
+G0QdT8I4
+G1Av5h73JFU7HEfj71hJ10
+G1E36
+G1u0pUmU6ehCm
+G2P1ogIIyMgo6j2a27egS
+G2s1ly
+G35LCd6yIc0T02l4u7yd208
+G3a6E0Mll
+G3gsRF
+G3yY14P0epy8DUS5KR
+G45Bym22IHR5hd
+G4XIV50v8Ncd3
+G4o54J523mDEWchsL
+G54It40daSr8MF
+G5gF05ux
+G5n81R5jjsG5Gp58vqNa
+G666cWjnfHEpEXGA2Ar1
+G6KW4uOD55dfWK
+G6M7256nG
+G7IJs50P82Y5G4s1nH52Y2j
+G7Ve8Px6a7J0DafBodF8JMma
+G82p1
+G86cmDjPo3
+G87T0sx6ujgM
+G8N7338fFG
+G8Yan
+G8kGyEK0wjdLTlpJp33Jds
+G8l7gR7rrC80rk
+G8prSshTWnX1Aj4K
+GCAqH7rTc5Jt1Rie02v
+GCq73lyB3wuOCajYs
+GDW1pK2834Y
+GEO5N1eUca
+GEwSJy0Bk1KRf1JxHqY
+GFH0nk84rU7
+GHJf387
+GHU6et8f3CY
+GI8y0O4mKt7nev21K4KOt1
+GJdBrSK3oAPYg6JhqnY0Dp
+GJm85Pul65cWoFKG4
+GMmPjjyXyvqt1bpEVw
+GNN83p7
+GP1Kc84XR7Vk10384m7S2J
+GPijCx2T8HpOF1dN6
+GPntPwnx0
+GQnJxB67
+GR340IBvbTi10
+GS7Sinl7k2srPHIdC7xsu
+GT42YMo1UNyUyuh
+GV0Wt1N7Q
+GVsdgDhg
+GX1nfv0HF8O3
+GY0R5v7a8x43DO5
+Ga0dkV
+Gb5w0aja8H
+GbRXDIgHx85Lc2I4F4Gfuby
+GciA5Y0kP
+GclmMLkS0
+GdC5XV8b522xytD
+GdK381w3v
+GdT0mf0U4Q0Mc8AFsCJ6a61
+Gdit38HC7PGtq6N32F7m2
+GeuIPxcBXM3W70cSPfqC
+GfDE41J2VXOw41Vm33414P
+Gg6B3fm2KvV4mnVO08GYQd
+GhpgUQt6bUc8o8XVJuQ7
+Ghx2a1SF4w11N4880KqG5TW
+Gk17JaCg7
+Gk7eAq875sHou
+Gkj4u7q
+GlCK4Dw7uIb1bsY
+GlxQ7y5rMDn40jXcQA4A3UNg
+Gn2Q3q7bvg6J56K
+Gn3vmUxHWNV3np0
+God464085G8vN
+GpPrRO0c420y483T6l52sP1
+GvcXQ8626I6NBGQm4w
+GxsOc
+H1I67eBt4Lj6hL07
+H1V38u
+H1v2G
+H1wKsxw3t00r7
+H25ywXWg5J
+H270yPJ55i1W
+H37833CDTytf1mp4
+H3N013d41ipMop
+H3Nyq7H1t221
+H3bTj310QaL012cPe
+H3fTKUU0Y5gdpKcO641j7M
+H42eLKO
+H4LBA6246B2N3OkOpx
+H4fFjtoak
+H4g4563WvqWkArS
+H4gEuhB
+H581dL8J4qjjb1DAPl
+H5alUwndRKm
+H5e5cVK87a2m16gCSNtgI3q
+H5mOb2OF3E8oI25
+H68KPMRgSB70
+H6UGGj6Bq4n0Dxr
+H718V0l3GE1fI06Kfs
+H7EiGb70
+H7KCa0l6TRDuEG0
+H7s6xH4q88HKL2
+H8LCu4M2u4f1S
+H8MrS6CwPO16RoSj
+H8P4VX62803V
+H8PP4887
+H8dq1J4bt18aF4W48
+H8fHVjq8WdXUE4uRPjnyv
+H8mh48T7
+HA1yh
+HBWrcQ4pLka11738w
+HBtg2r6pR16VC73
+HE362S2kjL1G
+HF2p067p2
+HG52N6amN
+HJPWlb23N
+HLuX8
+HM0GBe1SIB0GMA8274T21
+HN3I58
+HNeY04c4q5MRO524OG34
+HP824Y7lQ7bvAhrEx
+HP835voXi4JJFIQH4Bj24t3e
+HPeuF
+HPn23UupQ
+HR8x5tq1Wv25njjUXp
+HTe03
+HUV1KPXXn5Wvk
+HV2K1WhShOVtguITMU
+HV8VCk6oGdeG71
+HXUyE4BVO5tji6
+HbE35H3mF
+HcN230scg88eow4b
+HcPXG7EhIs11eU4iYK5G
+HcbsR51rXDw7016fVOt83YaX
+He3002YAN1xWYJ5jVWaN
+He570RJQUrj7VmG
+Hf8123hK0
+HfAollgq3EG6
+HfU3sd23vI54H4y
+HfdKopI
+HgP1PNA6gggV0v0L801
+Hh8Q8yObmEPI017
+HhttPdKp4
+Hj3R632OuQwd0r
+HjA52J2d64r1fFmBITy1
+HjNA1CEw6w4
+HkX7hlT2TK0Je7ersfx72o
+Hlf2S88w
+HmBi32XWTjC3dd7stD0GY
+HnA5J
+HnxkMvjEL0rF
+Ho2IJ5Vpi16A
+Holgr1pin
+HpsjM0
+HpyPf
+HqNMKJMV50xDX30GD
+HrSQbAWX2F731V7
+Hs1UjxW81
+HtI02nss6t8S0fqH4vcLkCD
+HuetF38A4rj7w2
+HxBe5ucg73m6
+HyL5Mriw867oUioTmr2SLfO0
+I0ac41cnFsVAkHmhupt
+I12pYjar
+I1MWQo6y
+I1be6JuP8HeaA8UI8c
+I22Uu37618CP747pe5
+I2p1w
+I357kVmhkel010Hs16
+I35E0Rr2
+I3F7N7s7M
+I3XOX0B0
+I3w7NEK56OB4G26h7MU
+I50781U82Bk0
+I5Bn3UVGU8LFd2kl2
+I642k31ww3Dpg87fN41
+I6E1Y
+I6FvRp84S2UGHl8orYl
+I6Yl6OVpH65i
+I6b10lD8IFt
+I6yTE4ellX8C7
+I7PxStf5Gs12BP07FO
+I82Ofg1C8f
+I884R85q1kn
+I8xs313m1Nk0aC4ofVyYV
+IA46V76LhS4etye16E
+IAX1cjB8p2
+IAt2dH2QaCv582C
+IAwj1cWek32011lq1J8mf2d
+IBVBmf6H8vCc4n
+ICHiqYG8Uj
+IFDa6Y1D4JuF50F2su708Wt
+IFW3AU8X61t86CljEALEgrr
+IGG1BJ
+IHuJh
+II1600yobW7p
+IICO3W
+IIX7QoB77864R6qOfLfhNJI4
+IJ8QBH5I2
+IJo7wcG3SrlP
+IJxBli
+IL6Ct0hm2
+ILCAW28PE
+ILH82L
+IN0pT43W73j0viT885YKU16
+INxp2d10SKEd75iE4A7Yq2vc
+IQ22672kj6OBu1T3
+IQnp6a50KF
+IRiw0v
+IU3HcXEu8b8J27ITo8EcwT
+IUtkHTnBRV
+IViYKd
+IW8oEsDH0V0rY5U
+IWNnWp4jmtO78
+IXMkdqJHU46dVte76I3Cy36m
+IYn0ytVO134cGgRH1Mo00
+IaaNQ61LShbK54SI
+IbCc6D7WIC
+IbgbUvP5
+IblvAnYcnAwTiEM
+Ic1W4QSJrJ18s0jnHx1N35
+IcM1YI
+IeE7W6eniofdN
+IgMk407Y
+IifFS03pnGO
+Iit87iX
+IjDM0V0b7savVtf2tbHOy
+Ik28kU0xl50FU3Uk4opJYBA
+ImYiNP1Y0JoBfQLbd
+Iny0u
+Io7Mj0g8fwd7L8b4Di
+IorWR
+IpqVS
+IpyrlcegF4443KoFVNX
+Is4ogkJ64Sqcqf
+Iv4nCgiva
+Iv73gFc
+Iw8wY
+IwT2y4ak76hu1BgGDSKuI
+Iwu3T706wKyBs33
+Ix8dXlDbC3S44L1FQJqpwa
+Iy2ED
+IyLp421t
+J0VTT0R8t1JcxdoOO
+J0XLG7KG22lDNyU0
+J15C2
+J1an665U
+J1kjNdL12V8
+J20OeVpcLCw5DqyWYV
+J25yM2B04A2M
+J2El2C63y31dNp4rx
+J34ijU3243
+J3FC0FK17nbi6
+J3HnM2C4sNnO
+J467JW
+J4m3I
+J54mWKFYUD081SIe
+J637uL7i0V6x
+J64y0E31kLxdtx
+J67TT5A
+J6S681J6JPB2SD6Uc08U1
+J6fBeMaj7b6M8
+J6javud13C2wG244
+J7SUI8OhGQNq
+J84WKCH
+J8p4pS3A8G75Ct2
+JAT5D2Fkpd5FC
+JC6BaR5i7
+JDWi48mC38uf
+JGw3BC7C1R2gjvR02kQg
+JH051GV4O3FyM7
+JHGoQkiiNx0K522UDD4
+JIyVq7kh6B
+JJIVc80Pgv
+JKmY3010a4e
+JL7RPL2daChHQp7TY7
+JLB4Y
+JLB7v50LP4KVsH2or1ih8821
+JLoXP3cQ3g7Fh1kpF
+JM6Axp30xv
+JNvHHPxCgj8DDGXQ4S4J
+JPW8Mvvjq2GJj6
+JPd15l3I6F4Na
+JPh1g4nGHIT0
+JPrU65giKMJpNd0611w4qcF
+JRN4nLo30dv0bRtsrJa
+JSiXO2i7Cm88uXUES6EldW1I
+JSjAUy
+JUm3vwG65q33
+JUrP4
+JVCOfSTVb
+JXySu
+Ja872lhYn6T31tPIOB85eb
+JbOAgILdJQ
+JfbKgKX7gbq8s1d5QJj7F6oq
+JflBAt2610d014j72qx7IXHO
+Jg86cfk1Uc4jL
+JgmG3
+Jh7KP0
+JhS7I21kB6X43NB8U8
+Jj21024T2xdn6
+JjSn7CL7q0
+Jk1t16oBoeM0CCry7XQvR37h
+Jk72xErx1U6M2x0B4W56
+Jm1d3h3OxQE
+JnJSY4
+JogdA3We8QF5qf65v1
+Jqk7D0nwmvre2d1AnH8qL5vl
+JrReU7qfE
+Js07yFa2qnrfVU1j2e3
+Jsnr2nIA
+Jt7E0sR3X7V
+JtE5Fxg
+Ju5Gq3IN77dD3541425UN
+JvGVOip65N3hgA
+JwtDd8psW2VA
+JxI8vHvRp2qUEeHIFB
+JxddK7Pl4VF48
+Jy4CAuL25v4JrHsIdj3d4q2M
+K05HlW2Kgr2Mdwr6
+K11m3K43m5XFX40RJm1q
+K1gQm1u7ExEr
+K26B60qNA761SuYdXKhu
+K27XxFR7JP5b07DPwL
+K2Hjg3
+K2R478jQIc54
+K2mrUY
+K2uHR7U36540Kx6tC
+K31Po8dhUXDBDt
+K34k7XH40NxjMX1dl
+K3Ajb4l11HjWeEEnM02w
+K3imEW3S7DRihILRDg7qq
+K428Y0T0R2ui6S
+K4Npj34S8iAOa6qRd7y88Sb
+K4lBe860
+K54bM1PBEyv85M7J6G
+K55mHG1D07
+K56DBI
+K5H5uc6M367aVUqW1QP72smC
+K5OgpFUUHCnm3oif6f
+K630vaVf
+K6J1LIb5
+K7qIIaDS5myN14c0cJeiaW0U
+K7ra5
+K7tGy146ydka
+K8COoSc8N
+K8TPbdRi7X5jHjOVXe30S31
+K8Y8N
+K8YDBRohSU3621J3pw4m3333
+K8vvk4yC81N7ToL2XVb3d
+KA2M874c7v83T
+KAO6W6
+KAbJb
+KB3sgv2UcA152
+KBV5WE6y76le
+KCaXaJvGKfj1tr
+KDr0tMRnCJJIBA84
+KF2uQ3u2s35eysuX7s48R05
+KFSPYD
+KG0HCim7s5nX
+KG2X4bEy5bahXgT7OPn
+KGO1w3WFD0CAuu
+KH8n8pUDpPj0hPA6
+KHtD2A2hp6OjFgS73gdgE
+KIXnc1tg5tx7JUmV14
+KJBwt
+KJeFD8m6cR26L
+KJmChr2CEaA
+KKQ82Pvc
+KM06o1
+KMIq0X61hnjo1
+KPS5d134FEJJu
+KQsF81TFt
+KRh240EDwPr2sS30cUTs2pB
+KRm0RfHnXwI5lA0VO5k7e
+KUih81wokgXk
+KW3ODiKfbW3fS03W625w0
+KX1Q20pJWbuqe35t
+KXT886hLF65QtuNe5MM36A
+KXvq4OfKW641X0d4WHM2md0
+KXw5SRW2jj
+Kamb1E
+Kc1lPGJx6JXTcDsck00
+KcGTq8B5161je52Gm
+Kft68MpoAc4tLMS2ck3
+KgXWlcGb1q0
+Ki4yIh3hXjHn26
+Kii2TSi
+Kj0Rtt5r6bFQ2NGQ
+KjAOvl4yBG7Rw7d
+Kk7EsvD4vMj2ijUnhyW48
+KlP8GX12PxC4giG475
+Kn22pycavya023VJqu
+KnmtSR55J731b
+KoTnkL5820App0hb
+Kr84i37e2e6KO18IBoHSHIc0
+Kroshtr
+KsmxnX6DTb247Stt
+Kst24
+Ktp44q
+Ku22N3ec
+Kv017
+Kw3RwUP6RQaQCgVSHjU0Gqr4
+Kw7fOuw4DHeyXe2yg
+KwqjKvxg17Ro85YEQYKl
+KxewntCJ0mlktP
+KymYC73
+L04f4y3Lyo5r46mp2
+L057p1HPpJsmA3a
+L05l0uM5UWt80OvwJ68M88N
+L0MMUTo8C5rj
+L0if56g18jb2G4ThBy8FLD
+L15l8i5k558tBcDV20
+L1Q62u2
+L28vl
+L2Ps4
+L2rPI4lTVflM42RL3fu5
+L3Jpr8lO8Lt2PYA7JDLj8L
+L417R4I8nG6Mps
+L47nqo
+L4N36wrG
+L4WQG81b36T
+L4nk83x6pU
+L577vXI27E4kGm
+L5X4732Ib1Vj5ev
+L64VGc
+L6i8QtMXLeaW6
+L6sf8vbxQUw1NIDX
+L7n644820
+L7pnTrIg7Gaj0Vni13rRQeE
+L85qF6846XR20TxUp8i
+L8Xlx3485W3NxHr0q
+LAB23hT5
+LADu77ed6bPf
+LAFo0rFpPj1aW8Js4Scpa
+LALDOC84aIS8V1
+LAg3ad48X41nC22ThrX4
+LAi381BGdEy78j4ke
+LBaRLg3
+LBbgRmSXQxdgWwM48I
+LCDBN0aaC17yk5kx8bq
+LCUh4H7E8RT8opWRW8m
+LD1u8eTfXl
+LFgU5WT87C2yJ4W4YU0r8Pp
+LFo3Ls
+LG13x2kvfvoJ5p4650xdQPo
+LH7Gx2g0V3EV2Y1J17
+LHow6beTFmm4fPjj43Qy
+LHtKPAbAXa4QGM2y
+LI5r3n388rMETn6
+LIJuG07tfqoLu8K
+LKRvI78ReJ6OGetwpvK
+LM30M
+LN64uJaOEGiHX0T8cS2
+LO0cOvQAgidX
+LOP6Akks01gG1
+LOeiVy1yE
+LP5AMypx5
+LQd03j0RQEIsglKmjFPuYXJ2
+LR2AKy0dPt8vFdIV5760jriw
+LSGQPxLff8bpk
+LSJtFA66
+LSX841mxv72hO7
+LSt435WAB5OKB
+LT14Ev
+LT5xeh55eL8WC3PaW
+LVM703TE5Iog006
+LVx3B1X8B
+LW2YYOKsIxYejJ3tCDEs
+LX6QHG6sEmBAIbA6e6Am24
+LXmcL8DQ616e
+LXs6Xx05R8n6Yg
+LaONIKN
+Lcat8FGEhBw
+LcfhOxSVg68ACRvw1xC7LU
+LdiBaUk
+Le1vfH
+LeYdntmr2P7ynH8FtcbRVteN
+LeatLR1l
+Lf85vk5I753lwILPp8YY
+LfUyaaMR2
+Lg53Ftt6PwHEMDk0Y
+LgMBG6G3Oc5baLkjeP50i8
+Lhd3twEA66xDq
+Li0KjRXWmaO1emA1b8EB
+LiFH6M60q
+Lj7E348IVT40r6IaNt6V2V
+LkREl5A05DK6wq3YlrRn01j
+Lp1M1UVg5gTdy71ilu
+LqgNlmnG1ygCm04278Yv
+LrB67irl3Ple5OW
+LrOMx3GjUHE614W7s36tp
+LxB3GrxHyeem1fekvgm
+LxPISu8dfmMlrHNr
+LxX7UfG58X6b2TTCwkEyp6
+M03632WBAO3Ot
+M07G7IO4gFx1o
+M0J1l7pujAvtkGH
+M0JtV
+M0kjTU3N2L5P
+M10C4DWJ0Gn
+M152O
+M1cu826gIgIfo
+M20p14od2
+M22umK0Q1S2Q80358P6
+M285Wp6
+M31sGqF45Ub0oR0hq2
+M32Kp
+M342Il45i225s06pbi5BJe5
+M3Vcm3o
+M3aR2541oGHpP2mTt0d68
+M3e586V3688s64J7j
+M3jjDj4cJP3yk67GlPULUx
+M3qqxj71FawLd2slbwTO0
+M45b3SlE5q5n
+M462UC
+M4HtnssfQiEAD0jYL6
+M4O8OkhX3T1D2MMuf2Pm
+M5857hgh7234V88EX
+M5MJdPI5Agcy5T
+M5TxI32kgu
+M6567
+M6bPuQa0qryvlavpXdYX7
+M6fqXU5eC
+M6g5TG0BW1bbK8
+M70kEecXx1706B
+M76D058tDDD25v3g
+M7J5a5vG8s3
+M7OQK3MFU5QYjW1ja5jEj2E0
+M7xB374ixGAp
+M8HJdPuVmG5T1GM3jqjsKg
+M8YT251
+M8e34VyN1iJ5IA80f5ufnd
+MA2MxDjC0g1fxA0671
+MB020S5OTtc8oO3iB08I4L
+MBXMM0lijJe2H22vU
+MCL83EIwhTq5L3clV2S1c8Q
+MD7aMN1a0s7S1H2QS530
+MDHRWctP3rjjvG0eio7SJ
+MDKi1SBx5l6Sb
+MFH46gf1UMw2xqJS6VO820
+MFaMcxlV
+MGsGfU7253gN2Hnt2W
+MJ7Ej4tBYS8l2mK
+MJXhdk7vIa46PIHO5R67oc
+MK45RAOe4Ugk4UJ0B
+MKa5eNCgK6M7H4LHIve
+MMNg1j0L2
+MO262WPPSYSVGe6X
+MOdF5501fG
+MP277gwYLn
+MP6mdTJr380
+MQ0fqWv7k48r6kw
+MQ1rdDUFVb2Ek
+MRoENDT50CoGq45C
+MT2jH3JvtKhS2
+MTf2Cww6bhry38k0mB
+MUg2eGVMxLEn2JlY3stOYR
+MWoHbU5I00oL7X86882y8cou
+MXefAh62BQEYn6T54AuUf
+MY5E0vP2
+MYCu0Tp74VhvcT7fg1dTyG
+Md0yyD6nXB1OBFdM2Gc
+Md2lY0T7reBu
+MegDovU0eCg3fkXrbtkH
+Mekui5MM6PUU06e
+MfC1iJXG0UIde2k4Rt
+MgMjEMssUEN1
+MjI4i6E
+MjLlK02ifGBIrla0EE
+Mk4tWJvwrb
+MlWjcCEREOKUL1e6gQ61
+MmMPCF2
+Mn25o4t044QATs
+MowB20mIxthiV3
+Mp0srA26pW81q335754k00
+Mp3bVu805l
+MpcgmXIn662H8
+MqcMK622OR2
+Mr3q8uV
+Mryf6uJbjJI4y
+MuGs8A1QEKUOppjLc
+MveCxn2pneC75WCdN76kovr
+MxIVt
+My4DaO425f86c7
+MyQ868wQ7iUnX
+Myso8FwW4ov0AQ
+N016jPED08o
+N0wAwpxkrbl81WRj4
+N16sP2YTPvJFPcoCDlg86Qv
+N17J6bKt243
+N1MDwf
+N1O7npivCIR77
+N1uIFVXv1hO13c7cnEK1s
+N2FH0or4rUw3OV
+N2Jfon7dyCN2Pmm1JA
+N2TL0cw5gA4VFFI6xo
+N2h00u8
+N304RM2d
+N334idEn4hyyO64
+N3K7NJPTO620OUo
+N3hv6M7W7kPGp4g5h5D4GGiU
+N3ieX
+N4c8u78LI12Qjau
+N5sqt2k
+N5yMwlmd8beg7N2jPn
+N62KU05S73f5I0F77DK
+N6BMOr83ecL
+N6Dh6XreCWb0aA4nmDnFOO
+N6G5QssB8L7DoJW6BSSGFUFI
+N7Cd61u56HG5ih0AD2u6
+N7ED661T508c1vmM
+N7L608vFx24p0uNVwJr2o6G
+N7jXiULOjt7xH2SgHwC
+N8222wByj
+N8Ueiln43iooW
+N8hEI6kjLn8m
+NABd3KhjjaVfcj2Q7SJ46
+NC7F5u31
+NEGa0N8MJ2dnn3MKAfl6u
+NEK1MY7NTS36Ov4FI7xQx
+NGPH4Gm5Nq4e4Ub0D4S
+NH35LOhV6MoyA6t0bXl2T
+NIp47
+NKh216VSO7v1mbyW
+NL26D4S5nlPfyP322Jdf
+NLeWW8OXjm1680DM5MU
+NMpVM487tCGA5p31R4g8
+NN4Fkgp6GXx1fv7bLx
+NOCE8N1D5yL2NU6
+NOCfvcKS
+NOLF8Cv0gchW6gNPX4
+NOg4pvkcNV838CleFwsNLnOK
+NOl00pk86Qix8KT3QA0pva
+NRXGu
+NSLFx
+NU7HSxxQR1770qn5gF7N
+NUF2mivU8hgb7bX5b23tEE
+NULL
+NVrYp75d3laTb3Ii1a4m0j
+NaDO45Xxri3X
+Nd4eP1162w103p7cuq4
+Nd6hm74FA4k65m2A
+NdtQ8j30gg2U5O
+NeXCu
+Nf1SX4jg2f7nyT
+NfuN3581n
+NgfUMoYbR7kETkr8
+Nh3E7W0Cb1
+Ni0502Nm8
+NiIO5P7b67gyBUw7W4XMpsRh
+NjjnM2LBF4a6Ru3V11F2L5F
+NkGnA
+NkytEWShAd84ojaKa7A
+NlXgOC4tik26lq0
+NlcyfK
+NmsV7i1Ao32P
+Nmt6E360X6dpX58CR2
+Nnp43RtjHVRbEhbREog
+No3B0Y
+Nr3652
+Nt2mbbKT4IdOj8Cgh
+NtCOg6Jx6B
+NwuQjkMCF4KqgmCh1D7PH5
+Nxd2HCv
+NxtVjEh
+Nxy6uK6mWCk
+O1Kq8bfOEoDR
+O1Rlpc2lK3YRjAQu34gE2UK5
+O1fW6627aJkal
+O2U2c43Dx4QtYQ3ynA1CLGI3
+O2aPT
+O35aM54x2F07Uq0f
+O3k76JCgFN83d58REWNvt243
+O4g51XLy16E6ANqm
+O56QsHRU7FCsDRCX5Ay2
+O5L38Cc7moc2
+O5RI7q7e
+O5hC1xAT0EgNEke1U2a
+O656pe22AVUYD1OG8O4
+O65HL
+O67yi603cB120qS
+O6o7xl47446MR
+O745471yqQLem
+O7mH0141NeSt21
+O87k6FTgfM5A
+O8Qu7DJOCJI63
+O8VNn236c111
+O8YlG62p5C
+O8cWpb
+OA8N5i1UCdUv87i
+OAC52E50O5i
+OBbyvnMMUh1iJ80EKnx178
+ODLrXI8882q8LS8
+ODS2ChEt6148Hijbbe7l
+ODcBlv740YOO2D
+OE4GQ84apBXD6
+OEfPnHnIYueoup
+OFy1a1xf37f75b5N
+OGXnr5s0B
+OHG2wWD83Ba
+OIj6IQ7c4U
+OJtk6
+OKFeq
+OKlMC73w40s4852R75
+OLGDak48jmju2r2v26LQIlx6
+OLq35YO3U
+ON30Mh8A8
+OOPorJCyeuR
+OOv831H5DA41gTrj
+OOxiRM5Eqgu81j4o3v6
+OP2JURmj
+OP2o26bb8V3
+OQQgFcOqtpjdsCCejbvAAi
+OQj5VtJ6ckRaiyanP15Es18
+OQk1qTc7L6BHW0IU5cbY
+OSBq0b
+OSNmJ7Y26rxub5G0301
+OST82YETg7Je2xE0J2
+OSc0r
+OTjMvEr0QiygFX856t7FPPlu
+OTn0Dj2HiBi05Baq1Xt
+OU86sF3aM16q
+OUUn180cqH5Gf1sO
+OVJrt7Ag4JY573PrTY
+OVMDTY5Y4L8iaNgw8V3qrfHP
+OXHevCW4J150lO46s031n
+OXo62h3Qhvl2C
+OYC73wSr
+Ocv25R6uD751tb7f2
+OdF11J0B1b5v
+OdKPu
+Odc3l6Y0PG
+OgARV6n1iMYIW1VUm1ybG
+Oi00P6K0mQf07v7j66QXRb4
+Oi4wXnLvOLI42
+Oj17D50M3suPXf1J22R
+OlmEvw5VCuK8Cy8raUDS
+Omn3514WtBGS26q10wG
+Oq7ddTu
+OqM62X0G3j7XpBOTt70
+Oqh7OlT63e0RO74or
+Oqj3145snjOaP7P7rN8xe
+Or43Y6lI
+OsgSff3KLTaXQ21Sh3rKJ1
+Osyki0P18kNjc2k5
+Ovk06Dok3I
+Ox3HlDd245
+OxfCar17
+Oxg1Ig1DBIXwwQv4u0
+Oy556808N3x61lc5Y015
+OyQm637Y8T5223y1Ha20q70G
+Oye1OEeN
+Oyt670i0bysk650i2to
+P051D3DF78P14Bi3
+P11Rvk
+P1OsIJBOYl
+P1YjcPKUWkRD8SKp
+P1tjCVg3C82le3u24xbJ12Y
+P23cQyt
+P25oSI6FYWWQ
+P2DNeo00PA7DJF0
+P2o1Lq44s3
+P33TSSHI7Y66Cw4lsb4h7Vf
+P3484jw0Gpff2VgoSdALY
+P35JtWWC5M42H7cTpwJN
+P35q3
+P37TWjlF65Y
+P3Bh3QyPL4c
+P3T4PNGG1QqCpM
+P3ejfC
+P3p570gQ8
+P4shXtBlvn
+P55EBnQ5cCF5RW443l0U
+P58wqaXf0alLttK226h6FPPw
+P5PT4r2Syq367
+P5X6554E66k
+P5fGyI5L8Slr
+P5iS0
+P61xNCa0H
+P64485rj
+P6TF4jQ
+P6ueYr2
+P865P0DpHN1nLgB
+P8MKw51H
+P8NPOlehc210j8c781
+P8pPp60OlbF7
+PADsH06
+PC25sHxt4J
+PENNSb206f
+PG47iVjL87G6kcT
+PGRP1R0
+PGx2v0c7M8w32y2lANR0
+PHs7k4HAS63aJa
+PK1Ato
+PKyDxRfT7OOR370M1u64Gb4
+PLFB86o84end3tdsS2hVL
+PMoJ1NvQoAm5a
+PNk062
+PNs6tw6fjOl1yNl1e
+PNypQte7Gq17k8w77G5cvAn
+POMHxg1V87N57tlSe
+PQ71uI1bCFcvHK7
+PQv3N3YYx
+PT3jjlj8SP67iLnF7p5nW
+PTl81NEYpvuKFBbxAOVh
+PUNia61
+PUjn241mg3Qfjj6nG51
+PUn1YVC
+PWAPwbw
+PYSh3CD1vxxH3Aq2B
+Pc18F2c6iW766Vd
+Pcj70ddpJ0iD
+Pe8evPIv2Q0nM7
+PflAmQ3KlJImr
+Pg2g8HLPyO4vOPaFdg
+Ph2xOHI4
+Pi82o7b1r22Q0miJ2HPet
+Pjmv0I66
+Pk628E4Tl5b
+PlOxor04p5cvVl
+Pm1l0q2mlqmy2L55XFdLrx
+PnD8l5
+Po4rrk
+PovkPN
+Pr48bUEafA4584KN30RanD6q
+PrKs7TD0B7kj847u56pce
+Pw53BBJ
+PxgAPl26H6hsU47TPD
+PyQ4Q7MF23J4AtYu6W
+Q0PCmMLk
+Q0TBQ1G
+Q175gcO2v35jI7s1ApR1
+Q1JAdUlCVORmR0Q5X5Vf5u6
+Q1Y703ieFHD16F7
+Q1klq3EyXKfX3523gIQ5n4f
+Q22Upqia
+Q282L11WWFni6av8FGn
+Q2B430rRMeowV73
+Q2TIySPl735
+Q2V028
+Q2cD8XsSGtv888622N
+Q31pMN30tPv010W0U2h1s124
+Q3F7MokUsoVf1xHYCorS
+Q3k1H7E0N8B0vl22437
+Q443wtttcf01y
+Q54v68tVoY852n3kuOO5
+Q5AY2oNpDSOIxy
+Q6LDBb
+Q72e8c
+Q82FD1RrW
+Q86x37
+Q8ypy3QCBUcVq6H
+QAHN2k5a5UY046x7ae
+QAgnk2L5bnLH580a143KUc
+QCqa3FP8v3D
+QDK4Rtj7CX01p
+QDuS4V7k07suxy3
+QEF7UG67MDaTK504bNrF
+QI3ERh13R
+QJocgOK5m46i2F1rfSCy
+QJxfy45
+QL665K2OF6nQ7Agd6Q
+QN3Ru4uhSNA62bgc4HI35
+QOev2x2w0723qyqs23d3k28
+QOh77Nn0071FMlBWw
+QOt28D6Ov
+QOwp866GD0E0g3nwq
+QP4koLS5P7NSwq5Ja8480606
+QRQRpg
+QRofyh6UgWdm
+QRq4fxOau2jef55O5X1
+QS5W14A
+QSdVNqav1efvKUht5o3N6
+QT8H3G133r01VKlM3P45iP
+QTTWGUR2P2b08Dn62ea
+QUnIT4yAVU
+QW7bld1X2L
+QWfu6dR4Na2g5
+QY2hg47yl0v
+QYW7H8ta63kcfM
+Qa8XbKYNym5Se
+QbGMK
+QbdFB1d7vfaM7
+Qc722Gg4280
+Qc8i8a3TFBT7M4tb1GFhH
+Qcgkl434Q8113uls
+Qd6E0xuPQ2Q3cJOD4k2SV5M
+QdHVkD7V11xI8fC
+Qdb2N3CC1LwlHy6uljrv
+QeIDu0qC0H6kRKlqVGe36J
+Qfy07
+Qg446fs0y6K5wk4ly37V
+QgA6r86x0JrfdHuM
+Qgoscb7
+Qi73PEPD3E
+QiOcvR0kt6r7f0R7fiPxQTCU
+QjASi0tbFqIACJ68VtCYwh
+QjlVHKWJ5oU
+Qk8f11O7Q
+Qm31gHB65
+QmLnREo0ilui1XsaM4MYp
+Qmin46
+Qnu2kAd
+Qq3MD84DHC14CDiEGB7p04DO
+QujrLX8h1cDf3QaCFF1
+QuuIO6rBsRCOs7AcM2
+Qy84s51BfLUtbt
+QypVV34u5H01Y4xfS
+R03eo03Ntqej0VDQbL3
+R04RF7qkQ8Gn1PPd33pU6
+R0hA3Hq2VsjnFh
+R0mjxoFLf4
+R0n26g5jglBqe6IUt
+R1VmJ10Ie
+R1dYp46f6
+R20lxgp
+R2j4UBj
+R2ps2rO
+R4220N4v
+R426VY66G3alY1rISv8
+R4H6pBoQyT2m6jMgObct1s1
+R4MT4f5U
+R4e7Gf
+R5G2op1F3HcO13Bn5aKjSN
+R61IdER
+R65wU
+R67sCaYYhq3sQkA6aW1R0vd
+R6q656btrqQM6a5nQ4GcVg
+R6xXNwfbk
+R70XMwQQS
+R782cV4vNeIPfIrAoiWy
+R7u871Dc73JF5
+R875Td3QD
+R8B6PMUCp8Fuw
+R8EqThU
+R8FExC0uA82bWC
+RAUe5p
+RAaC3XB8wMh8On8X
+RBtE7gkmLOh22A4
+RBvPK67
+RD6GIHDtJFX4481
+RDLOWd758CODQgBBA8hd172
+RE6h44gEq6x0Eey
+REktKOM0feNR1k
+REq7q4Gr20HvT36r68
+RFDIm4Is12
+RG57safmo8UjXo4c1230u
+RG82Im42Kp
+RGHO7206v2aR2
+RHAKc71wc7w4iNwmG8g8GT7
+RHmS8V3K3lwHRXMOOQh
+RJsFsi3a85svGBfT8
+ROLlg0rtT
+RQ0w6D70LdsmsdP2fM
+RQU057I5Y544Pot
+RQbQ5
+RR75iYIk1Ni2005Ua74s58cY
+RS1Ec5u4hvD
+RTobm5x6f8eXB77
+RVa8teOcCN
+RW6K24
+RXUV8A0GA8efTk6PuvunY
+RY01bhu1p0G
+RY5S78C4
+RYxq5
+RaVXc0k4i2X
+Rdj0Jt0pa8fLFYq24hu3UR
+Re88fHL7
+ReN3066RXtQ3
+RemA6I854lkA3IFqso5b
+Rf6HFx81J7abMFkh5l
+RhOnR
+RiF2m743j35L16v
+RigNg
+RkRIURA28W
+RlrTc
+RmHlM
+RofP7f28bOQVdiqDqB45Q
+RqGu3
+RrsV1KTEI3yJ0RglUN2
+RsDHrL27QLW
+RsYTaV3rFO0kS2R4
+RsyD82XJvE3bY83IP0
+RtaC46i4DIukN7svr21U46G0
+Ru7fjpH4C0YOXs6E
+Rue8aABtan
+RvXrVMQEEE
+RxIBul6t78rw01d
+RyE4Y3w2gXf
+S0LP25K12US3
+S12r0UF
+S1Oect6pTauCf8OiYQTgQG0
+S21x1133h
+S2I2nIEii3X5
+S2XuI4SnrfBF
+S2m2y868yuWBh3T
+S37aN18
+S3cXoU7X01TxWJ
+S45s3B0rSCbDkMx3Q
+S45x7dofb8hIodJ4e7bV5P
+S48lTs10R
+S4Ww7287AGI80OOTGeN60
+S5MwtN1mg3CO46HGJ0UrK1Ab
+S5RB5whaBLeLnMBAUm4oXX
+S6RMk
+S74dET7kWU7
+S7UM6KgdxTofi6rwXBFa2a
+S7a45WOo7
+S7ilpQTm4W0w
+S802T685lde
+S87OO
+S8H7q
+S8b1BRKPK4cTM3nbaI
+SADBxBjA50uC6BpWY27Dh48v
+SAMSy306XN58JWyyg4KO442i
+SB5T2xl173s6i18r6
+SBV3XOTy5q54
+SBjl520125icn82UXE601mFn
+SCh73
+SDw8F62m1k4E8tR1YSIfT8
+SE4SQ1Mk7n50W7832a68e
+SE70BON7C5PmaUdg
+SI0aUsOw28FfHfuCHj5pd
+SIUKQ52i702FMVn5
+SK5274FsS
+SM7dk420iy847o8hn
+SMXqH
+SMeUi5ykXo0Vi6I
+SN5NB5L3gpe2RtR2w50sNAd
+SQ11E10EY5RbywY480mmc1P8
+SQo81Uq6IwK035
+SR1wh2Rpe17Y4KosS64FNh
+SV7p0rH15H
+SVI1m5jI
+SW0it4ahVmrEGRrVT1QT5S
+SaLkDRK8Eo45NsVo
+Sago0hfsWqeGkVo8n38Hh5eC
+SbaXC0mXWAJCc
+Sd20gdOoONPhK2OX4
+Sd8C6q6L7l72qsa
+Se4jyihvl80uOdFD
+SeT3MaHfQ2
+Sekt3bIDh7sr6X8
+Sf0Oqe1G
+Sf45K8ueb68jp6s8
+Sg1FGtK367wF7noky2
+SgVxsU2832X4w
+ShA4jlmOwF8u7kjN
+SimYF0Eg747f7
+Sm7i8BB
+Sn4Y23KEE20LV
+So2K42KNS063nP0N1
+SqOW5p2JiWtBn3
+SrPY18L7FKBp8WO
+SuXw5fsNLcQuca1uWkJ150
+Sv5fP736jr43u8dlx10lIOwi
+Sw74GCctTG3OmA1S330EC
+T0Gq3D4N50YY48AG8OQBqTU
+T0Y8Vi41EYW4CpQ6Hg1Xg30w
+T0rmM12M1kobD2yqIsO
+T1CwC4PW8Q5GeXTK5CU
+T2o8XRFAL0HC4ikDQnfoCymw
+T3D1O22bKcQigRmWhE5iXG5
+T3UqJ0
+T3qQxO7gFwJNh4Mb3
+T43TP
+T56Yg20W
+T5eOivl6F4ew1
+T66vQ50YfGj
+T6Al7d0hN770XB65M0F2g
+T6ubsbx62cmP
+T712Py4Bg5in472VXtSC
+T77vl5bqL
+T7eUGy8NktrfLCyXKIK
+T8764UNruF67h3
+T8G173Q7r
+T8SE1Ko
+T8qIr36l6EYHj87DVl8h
+TBI20Ba2YuO44754E2BM
+TBbxkMGlYD17B7d76b7x3
+TBj2D5CqREcC5
+TD01cg4gOr1msv1b
+TD5Y632oD1u
+TDC44S74UJWtQ2b3l7tQXq
+TFRri2x57auqTyFCG
+TGM2pgsoNL0kVVPrBM2
+THh5lsUQ8a23g62
+THog3nx6pd1Bb
+TI3s2Wwu6V5I
+TJ0dMNm6s44r77567jk5
+TLQnUq18RANfJ4L3nmmD7i
+TLrbx2m635Jg8
+TNaUMA6If0kmHQp2xRhqr
+TNva0R8
+TNxkTGadB87QTkpe177
+TP3nXW588VD6P
+TT4CHN
+TT8P3I43af6MUGcC75
+TUD1CCM80q3J370
+TY6onJD
+TYkMYn1v6giCqpy30s
+TdnHPQ5q1mp
+TgS6dAlI2w4y
+TiI8AiopSL
+TjA21WuE8m63UJis51Y
+TjEG1
+TlU343q2ha8vt
+To6s02tm
+ToOQ4YhGHo
+TouYieKTG
+Tqar00A
+TrVt3076w4QSXF83Io
+Tt1BcY8q3welBr7o22KI3jF
+Tt484a
+Tuga7PeYvD460mTs1paJ8He
+Tw06W0Qga0
+TwQ5pcrWoA7l44iWn6r
+Tx2ghNxT1b
+TxE436GJgq7
+TxL3nqa285133l
+U0F6534QCV20j78O6681Fr
+U16wryUI
+U1aid52v
+U2414rwp5V8W20qd8kk5
+U2KLqT2
+U3MM60y4t4Ykm
+U3pW0g
+U3w6s7fnQOxVv0pOLHmEP
+U408t6TLdH18sJeyO
+U4MrN4CKBl84
+U4o3sWAqLydj0y
+U5C75sQhdB0
+U616In80F54RI
+U68Np7DCKJO8
+U6h7bMr4OGIrgb
+U6pNsB0e00xOD5JGR7I
+U70UOCk8B7pI7k
+U76E6e5kOFi76knQwFHM
+U7GdiO
+U7JukXmI
+U7r33N1GT
+U83eH0Y8P1
+U8gc1Gs1Yw6kx4XNtI6
+U8qkvKqHFm85
+U8s5kjQhx1t1g47m0A66Yi3
+UA0H368kj
+UAJ47y03rc3gd04Apc
+UAx76nB02256
+UB0pacKH5Icw
+UB2u4GH6Y51e
+UB3lDAw2A8A341Bv61iO6
+UD71663I2qu1c5pqA2Kf1
+UDXHJf5
+UExcNQO
+UFwddOjC38Fj
+UHU8rd3IJ8Ne8A
+UK0lin57gy
+UL8rV5M81k6hVJ
+UP583HP0cV24I3o5MC54l0F
+UQv8T28745qO62T
+UR2F0Uwk6E5
+UR4W5ynqpg
+UR83Iqx405t0jOOhF
+URXvI2HsAa4AtO0fx58JYF
+USRi4RC1gq
+UUBET8444iJDvjUlq3en
+UYfsscw4LauF37kk4
+Ub176WlT6f78Y5s
+Ud5G4
+UeKB2Tf
+UfUD41M7m
+Uhps6mMh3IfHB3j7yH62K
+Uj28ubp026RCw
+Ul085f84S33Xd32u
+UlWG4BWte66
+UnBWlD3B
+UpgW013RlYKu1NusJDW
+UrDe6x72B5ycy
+Usb4N
+Ut5NYg5XWb
+UtFC8i5
+UtriJV4U5N2J7M
+Uuskn6Pny0Op4J3T1
+Uwyw8I50
+Ux34b0jriL3aTLaNEoYI
+UyJQsLguJo
+UyyIU1l7M
+V00PDpTXsnhkTuVbki5xL
+V04OvF27208o
+V0O4tCF2N
+V0aUb2c8h6sjlr1EaX5
+V0w3pYUxg4Pe85bSga6
+V165NFpSX4b
+V2075fV
+V284s5H2BBaoJAb3
+V2Dy80R4bnQX8s
+V2NEmm6d0kLFGa5s01k
+V2Qo0J
+V2pd46En
+V3Jyb
+V3xf5QPg7EABK
+V4Rn66rM3aHx5
+V4c6wY3jblNaug4DmyrR
+V57x8Ma3SD2eM877o5
+V5O0Paqve81yx8E223UpK17
+V5oM8YBx2Kq63oy0um7
+V5u6EjQhsMFyr2vF
+V630OaEm
+V6IvSow
+V746122yhMM3iEs
+V78Fw1q
+V7bu03S4t3F2XVt0P
+V7sUJ07Xv4b74g
+V8bPJ6NC4k
+V8nNN6
+VAv3o4ihQU0V87NMwfyg31
+VBVp7N
+VC5R8kT0F7y3Y
+VCpG74Yh5
+VDTWq
+VF8w7AjS6
+VFxw08l
+VH1O2Pd0B4mK1b62djD
+VK8svLN8
+VLVJ2YFurner0i58drukgj
+VMlhJes4CVgyK7uFOX
+VOE1mmY18b02ArowYML0bx
+VPkNqEMA7Jg1x
+VTJ74SnX0NTD2P234T55P5J
+VU42OCI8nDXA0M
+VU46u4nh7
+VWD2O2vD
+VWIJM32
+VXXGafnyn1mkpSpsOd8
+Vb8ub0i0Maa
+VbPmiEv5SDp
+VcK8V5jpv
+VfD3Byd4aV358l12
+VhrdQM4gb5
+ViqXS6s88N1yr14lj7I
+Vk0CBX0oP
+Vk2Iv4mbULOS56roWfC3t8wE
+VkXY4IOSO
+Vn4S1kpwhJ016S007em56Ll
+Vp5I58Cls2jANj
+Vpsyy3y3607I45wt80mt8v
+VqevY22vG478444ob4XCKnb
+VqxF5T5p2bx7R1d4DB
+VrRTMth0WY7T
+VugB74M4f31f0
+W0K88hHwlY6g5JNIeRT311G3
+W0rvA4H1xn0xMG4uk0
+W114Au1ELrT7tRYnqE3MxCv
+W1w0N6QI
+W2M0XkTK4jth34Cm0c0
+W2mhptJ
+W3CqX8FmJInM1Bj733
+W3O305wOGjyH2l0f
+W3Ox658xU7SX7gBNCs
+W3P5WMsmv6UJnfph5D
+W3bnCmB
+W3h83yyQNOicy1k7lw0Rb6
+W45L2Xb54yhtJMWDFb
+W4BV6M3DalIc8ypF5K3j
+W4G22U32r8Ck
+W4GLKnA2Nwk0HJ
+W4MsK1d70i
+W4TEt52sKL0ndx4jeCahICDW
+W4evHL60eNc8P3HVs
+W6863eA
+W772E0x
+W7mug7eN
+W8515aW82L
+W8A4i055
+W8IM4inL46o67VXd
+WA6Cb1YeX7TOI7j3jnrh7W
+WAE3FjRSY77c
+WBCaAb0o2Lsob4aiUHhvDx
+WBT2XnSX5c176OF
+WGPA8WlP5X
+WIEX4XTWhXhLlUN2R5U
+WJ1r723bTaKv3WE1ujD
+WJ2kju5T4G65ckkpP
+WJ4Y31ONd2
+WKH6j0Dtb3VNsOa4uFq2v
+WL65H3J
+WMIgGA73
+WML05unAVOf1F5IDw1S1Yv1
+WQj6R
+WQk67I0Gk
+WR23n63UMj53mr6v
+WRkks7PCYNV8HBrjy0C61V
+WT37Vm67A7YcqB
+WU7g0T0a15w2v5t
+WUQQRWTJ1wK1H4
+WWo570W28lhx415
+WYv3r54T7Ct4h607XnR
+WaK84Y0Qn4HE1V0SH8akT3j
+Wbf0Mio
+We3CdnjxFCPE
+Wf2j420jD275MyMlw2
+Wg1pcPx06
+WhTuEkrt5Qrp5kj4xtFl8uW0
+WhgF327bC
+Wi0as040LC5n10bhhR8aVPV
+WjHDUL4OQP6G
+WkqBL6Dy843ehb30l54rQ3b
+Wl0MOM1F2J
+Wl8KM
+Wn8q3duQ4MX1jn0v12OqaX
+WnN1oFEwhY4Heri3J7Jp8St
+Wp7k2ma86M411kltU8O5gmBy
+Wp8cr
+WpFX83866M7mrm
+Wq28q24Of
+Wq8t31o3E6Nd
+Wqob22iBp115g3sS3RCy6K3e
+Wu3285CX753
+Wu4j4UNU6JLF70XKoN0X4
+Wv6BkKRpxN
+Ww2y51r3L600x
+WxJ1m2qV553MQ5vgJG8cj
+X18ccPrLl
+X1cNlHRHJ5h6H8qs832
+X1haQ
+X2NWPju6MGJ
+X48kUVK
+X4mk605REMUcE
+X4t00BhQ7X376hiL
+X53h8r5nuFYOY3vop381283
+X57jtRW1LHg
+X5PG4t5RM68kF
+X5oShc74RP
+X5pO0i1Yd6055F5FPNY
+X5yxXhH276Da44jYTNH
+X6155iP
+X75olERkL08uR
+X7L6W
+X7V01RlgoCPC
+X7dqPo6hTvhF4
+X7vKpt286BLxBIgQ
+X81pl2c1Y
+X8MD0KOvHXE1g6R
+XA0uP5c61MU
+XA4u0uf7
+XBTRwI0J
+XBfrKWaX68o7HCfKf
+XD4Ss
+XDk6RIOI658Y64W6
+XFs4Txv64
+XGUO2CP2gvDb
+XH6I7A417
+XI2ak7U1yv05DAI71
+XI5Jwr7nd
+XJA0cCSg
+XJk8krRPmgi7Le3a4t2X
+XJtfPtv77
+XK6Y01Dev2K67i4224v
+XKb3MvO6I8a656xQv2ikTV
+XMFgr8DLLoX7m2en6X
+XMd2TpQd0MJ2Kjh1d4Pf5
+XNho43uPjWG6c5bH8g122l6
+XOypj8
+XP2cjyx
+XR134uVnw0
+XSv8Ti8c
+XU13On4
+XU3r6DD43W6431EtcFUhc2V
+XWIExC7NI3bqu6VhR14g2
+XWuYuk5qpn5Khs3764E56
+XWx44KOWat
+XYWXe8O2Lst07b2x88yX
+Xa2GCKqo2Tguwk71s21XMn2
+Xc3mi
+Xe01mh1Ku5BD
+XeI6xQ2v1E
+Xf1MhqkA5n6
+Xi7kOTT
+Xl3YYF83e
+XoNJiEg0S8u
+XqKG6hVEyI5D
+Xr1Lmw7g3730qA0N6n
+XtF80FdC1a3Uw22G6GIPr
+Xtw4eM002sS1101p
+Xvyjl2vcUcxY4
+Xw6nBW1A205Rv7rE
+Xxk00X
+XyG3M688p4eP46
+XylAH4
+Y00YWUI2gXA
+Y0C8RDq78O723K8l
+Y0P5Re5poIwn
+Y18g03MSsp7t11J
+Y1B7s
+Y1gVqivH
+Y1jTLjDyI5F8
+Y1vK3
+Y1xGi7I0CLTWr0D
+Y23NbD7X86FbcRP4
+Y2C704h6OUXJQ3
+Y3oJ30U4LUuen7U6JjfaexL6
+Y3sLd5mt5phri
+Y3y7fhrNY0jD3
+Y4040E2ykhl2ih58m55Pfyaq
+Y442l2y0Y5rdjju4tIR
+Y452MvjJO04RMqES3O3
+Y48gjhCI3D7wk2X026ereD
+Y4JQvk
+Y4TBnhowH7L2Gm
+Y4bpC53ea4Adxlo
+Y55ytQtGRN8l58131e
+Y5ls7N3Qy30h43866R3cL53
+Y5u0Yy
+Y5x3JuI3M8jngv5N
+Y675q0vY538
+Y6L2obKBywPjBP
+Y6P8Ji868U7u8W3X2GHNiOLh
+Y6d74Lf1ji3v
+Y6n3LVp5tIlVm3kc
+Y6net7wDJ2TVjq2u7H8aRCyA
+Y76SnsrcY42lcA
+Y7vBl4PXIPqRBJSx3sd75
+Y8QG0P1v36K02sXHc84
+Y8WfaAvW6
+Y8ktTV23GelYC65
+Y8q0gMXFDD4qo2nSC8
+YAF7MKQtl26DO2n6AqHW74Nf
+YBRSCj3Qdb24l1MnE5IIr
+YCSg3CF070FDEip2r7djAA
+YCY6SM1FK83x0XYANbo
+YE7I5JK87tW5
+YEsQpLvkf0vcXjWhQo4
+YG6upJAu1AHo1g85T
+YHVB0
+YIxsR
+YJVDXD374nD
+YKgjnm8n7x70AI0m7M
+YLh18Tir3Ga
+YNsNwqw8y7D65
+YPJn4lAy8rr58
+YQb5VlQtDsThbG3YoBfy
+YQv5p677HhxqP0wNOy3K
+YRLL1E
+YT433hdTP2
+YU35V
+YUKS3r4spEtph1kg7
+YWIKIppGcJ7j1pxAH
+YX250
+YXbTksK2YAt32i4vi6xyT2
+YXqWPGc
+YXy2ny
+YY7Ji0cFe7R1
+Yas32KF
+Ybpj38RTTYl7CnJXPNx1g4C
+Yc6gaH2OFF7cymt8q23Fr
+YdG61y00526u5
+YdRXUcPre
+Ydq2dX
+YeBR35
+YeSkUwB5tOhwVE0nJfsJvo
+Yj656R8h5j
+YjyfU613tjGy
+YkfDreGs8Xi
+Ykmey2mN6W4
+Yl6DY284s40Np2xg3QXxpi
+Ylc4W
+YnT6eMr3y77hRu
+Yp6VJPVqnDR0fHkl
+YpM63
+YsR62pfC2Hc
+Ysm7SDldbQqRr2qRm2XE0le2
+Yssb82rdfylDv4K
+YtN1m7B
+Ytgl8
+Yts214m8mDhRw4F2d56
+YuLAwEusr5vuTT07mPi2388j
+Yv7NbK3bBtLv2oCp7g622yO
+Yv85R3umfQLpMkcqJHS
+YwV7DVLB0kut0S5p
+YwXWK0XCJ2kgubiO0Q2a
+a
+a01020v7267VMksO75bI0
+a0P3sn1ihxJCsTLDb
+a0YMQr03O
+a0mdHI0HtSL0o8
+a10E76jX35YwquKCTA
+a1N8y
+a1PD7
+a1hgKVq4wykLJ8271nHWvPB3
+a1sV4Se71EjpRn
+a2037
+a250165354I3O4fw42l7DG
+a3EhVU6Wuy7ycJ7wY7h2gv
+a3sk76Jt1SL
+a4F87eJ6H
+a4PMyxYPeTA0Js14lFCV3f
+a4frS6y6Q83Q460cwK2Tp24
+a4ncnCrCg3
+a58Ux
+a5MyXRAIwPX1CO3w53Rar8wf
+a7654w
+a7GT5lui7rc
+a7P5omBy
+a85tf8VS
+a88x2Cl
+a8S42TQ83u641QM
+a8b541Q2
+aALrx8bSr75vWBR30H65X24X
+aBL26v67ENBr3T47crW
+aC14b1kcXO
+aCU4m258
+aD78M5u4m0FfR78
+aD88uS2N8DmqPlvjOa7F46i7
+aDNmF88FfTwOx7u
+aEgURECDWj44
+aEi5JQHQPd4Y8
+aEvOE7hUNO0d67AM3V7BwUCK
+aGx8GQM1
+aH38aH4ob
+aH8tj4fj5to6URm5U6oonnd7
+aHlYp8D37Q61Jk4Tk
+aJBC20kS7q51m
+aK37I6N52tj0w32cgU5g
+aKbAu2WJV8HWHU6K1Ukq
+aNPQtU530N76
+aNuMW2
+aQ2wqmciE6f76RG
+aQ6My4WFN5vO
+aQW84A
+aR5lMx65ohf25L6NBe5O0JL8
+aT5XuK
+aTuJRwHes2vW1Rl
+aV8Pd81
+aY3tpnr6wfvmWMG0U881
+aYu0vLeby72ti3L1BXRywG
+aa6sWJ28wU1wvv6it
+ab7c7YFq68UX1Po
+abD0Sb0Xj5M72xMXQWyUaJ2
+ac38VdOhD4a0
+ad1nwBvW6Q1CV
+aecE60o4
+ah5Eixq6P7Q5
+ah6jo34tl
+ai6nt5l5gCA3p71Q
+aiWFqnj
+aicQ513r2FtX2
+ak3wct6anGAdab6IH
+akSq5ElsFg
+akfWVGu2g0io
+al8C016TUxSmoj4
+amj5TglKcJV4yx
+anVE0u
+ann6ipj6
+ao2occ3M3dN0rNOufKa57uuu
+ap7PY4878sX8F6YUn6Wh1Vg4
+apkavpl8qlCLwq
+arVcY7cHiMpnKLp1tj7
+au3q16lrAbWbHFqF
+auGhMXSG3mUqnh
+aw724t8c5558x2xneC624
+awXW5ct
+axFM7O3Cmu4Ax3y0Fmd
+axu5k1BMtA6Ki0
+ay5XPK0e5q3173
+b
+b01GFHiSj4Yig1tk4bSex
+b02HtfW
+b062i16kuwQerAvO5D2cBp3
+b0BEyNEe1bvQ
+b0G65a66732y6yE65hQ0
+b0m3GJH2xd
+b0r8g21X6I2TvvPj623IKR
+b17XPAx6pbQ7
+b17euUA
+b1Q3yX
+b253HskJLFwL5nahVGVE
+b2Mvom63qTp4o
+b2Xcl8MXhcs7x3KOV
+b2mHRIps75fH7821d
+b3T1L5u7us8
+b44J5OuRTQmmQ8LSyy3EJWFC
+b4R0JR2yv3Gk30228
+b4iTs
+b4ntuTq8cuj0E66Gakn
+b565l4rv1444T25Gv0
+b5GwV
+b5JRqQxwXbTOtfi
+b5SoK8
+b5Yi033H6f4Wfaa0E62F3i5
+b67jQ
+b7tPXCg67lmmr
+b8Gy2h4Svch4dC84a
+b8KY04
+b8uHW6ME5uThM
+bBAKio7bAmQq7vIlsc8H14a
+bBM3EEnw13S0y
+bFmH03DgwC5s88
+bFmcKUp7iPlg0bAV1T
+bFurgD38OUb87f16I21
+bFvG3S5iJh0B1vsBsiV42Pbb
+bGBcSi10VWt
+bHf404
+bI55nJLOusG5i
+bJQO0
+bK1Ops664m7u46sIF7Cgn7
+bKj3K500DR2Qx1
+bM34sI6W5h
+bMKsgu5OdWu4vjTa1nt
+bMyM0QL
+bN0AFh0hT
+bO45EOf7qg
+bP3R4cDVvx6t
+bQQWG6
+bQmm3Sk5f0ib
+bTT4xqcq
+bU42b017V0K1G5v1L3B
+bUAbw6cKb8gjLj7Kf
+bULnwrQ
+bUYKB511
+bV7F2d53o2Aj6Ri2x2c
+bVvdKDfUwoKNMosc2esLYVe
+bWhq42DR5G1Ypd
+bX48CaI1txU5AGn2AmEuKj
+bXNd8y50350i1Chtw
+bXQMX15tRQ8PeY0jg
+bXmqr7WJQWrLR271l
+bXrHpJ1X
+bYcrtRvKkf28m64rY3q43
+bbdu1ap5
+bc014i7354F36p
+bd6LedV7
+bdUdCOP6OR1b2AtN
+bfE8u5XQPK7ie4o6wE1Tfv
+bg6X4a4R5F6E
+bh5xM4L38FqJEcT3A7l
+bhG6Fq0J77
+bjQP6L
+bkN76SCX7oYleR0
+bnQ8QsKBD7L0213Wx7cB16n6
+bo54OxoS6UHe605B4L
+bopk3aa
+bp2buWAbX7JBQHLuun
+bq2VE4s1Ps
+bq7qevqgOC
+brlusDQ60JO68Qx5r6CY
+btcI68W882
+btgw707cKS2odwbePK2B
+bvPndT2Y5m61D0CKug0t3
+bvg7bP3mln3ILuC888M5DEF
+bvoO6VwRmH6181mdOm87Do
+bx3NrGJIw088yHD5461A
+c06VUBp33f60n5jx3o1LWkpF
+c0A7Ma63T77BgT71
+c0gO7g27mjW4XEaUK1fXvEk
+c10CM0
+c1V8o1A
+c23S6Ky4w7Ld21lAbB
+c2xCAAm6W24ho1Ett
+c300w5
+c333R38QfrwRxL6
+c34CVGK345
+c4jN67LlOd5e0tc333TN0riL
+c4pp20
+c5E4j1
+c61B47I604gymFJ
+c61SOJvyi4PAdi0o
+c6oaqf0P6yLPl
+c7VDm103iwF1c7M
+c7awd4680fkDD47oM0N
+c7j0PI24L0M27GoF43v4Ucf
+c81L2dm5Ly68S6H36M6o
+c8V83575
+c8b3TkeXYCq0fvRes62t5H
+c8bml600KY814miIU8p1BP
+cAULCRDJ
+cBKNq4fPymUw1KeEAEf1dw77
+cC0aTA226U0YLJm2CX1m
+cC7QeLfb
+cCaJdJUbsd4Su8F
+cD68D3aJ6G88N1C
+cFBpX7cJIRmrVPXg0CfP
+cJnFkUL5gOyHR67G1
+cL4J4B
+cL5mDs1nJgQ0IbgBH
+cL6DXVE0d8hnE6
+cM0xm3h8463l57s
+cM67e3WsUcSGq
+cNav7FGYOHd3EUXMS
+cOCa6w8Nk34tS1g
+cQ8To
+cR5KqKwc60t
+cR8uq5
+cSGwrp02p
+cT06r11FDv
+cTWO4kFIrl1n
+cU6HuP4A323
+cUbphr2Or2aJQ0wNK3
+cW0KiR4B
+cWKyPK
+cWsTrfWEqgH34d5rO
+cXX24dH7tblSj46j2g
+casvJ6NR
+cb33ksHDf3lMrp0OW4dMdvos
+cb5LPuiF
+cbo7HQc
+ccaAm7Y
+cd5iw78V2n8N0x
+cd6Xc861fDCGe
+ce6C1MhLw
+ceKdxB8IQVLd7AMLH32PV
+cg3hK1u47UJKr82PdlkoOf
+cgAGtv0pf0ob0MSVY1Tx3
+ci2PQIjy8yUPk7es2y5yg2
+ciiIP56o
+cimuDJm856U6ia35Q
+cklLRY5lqR5bojRXCTaAFg
+cnlMCD66T2Yyf42RG4Gv08
+cp30v1
+cre3m4OHF4H4x7nM
+csb2ufhCB
+ct55nKy6085wEBl
+ctL23E5x1d1
+cuN6W1lBJtv3PFN7UdoLX2I
+cv6sd53W530KHEOy7
+cv71a87hIMbVuJ2dAX
+cvLH6Eat2yFsyy7p
+cvqc36vwri7R6kbXKO
+cwEvSRx2cuarX7I21UGe
+d05ua0EQjlFMb
+d0a3qw2gtsmG2
+d0gyx37c36ijHBhwvVqm842
+d1135cW8G6QCDM8LiD0c
+d1158gMS8i68jPb2v3L
+d1N0u454kG87DN3o
+d23u5801Hv6md41F
+d2A5U2557V347stTcy5bb
+d3gFFis50Wy6FG76XeGT5Ou
+d3o1712a03n20qvi62U7
+d3pn8
+d3yQbTLvpGyi0
+d4YeS73lyC6l
+d52Q4
+d55pP6gPa2Opv0B05C7LoX
+d57LuTxW0Pk5cXu
+d58e0
+d5I5x4dq6tFbftHT
+d5gs2s6trx20upPuW3SAi4o
+d64pbe5ih0aYr8gR77
+d6kPi7FNW1Y
+d7468A5L3hm8c7gYb2
+d77tW1Y01AT7U
+d8W5CN1kB6O6ovPhy1C3M
+d8p1NiE467oJer5eVW2DBi
+dD15XhaAk
+dDf3se3j
+dF7kljY4Pc
+dF87w5r20
+dFE1VTv3P5WDi20YecUuv7
+dFhWoN8nr0oDs
+dG8B5PQ3b85U362G6huu
+dGF1yf
+dHC8If3liFqC
+dIaRCgF47dy7ICv2EWJ4YN
+dIw0j
+dJ6UMgP76K8hC6dVfqFW
+dLYpl55rytQl5
+dMFNhH2q
+dMG4N
+dNH34R81dS0y
+dOIg2
+dOYnqgaXoJ1P3ERwxe5N7
+dOw7MSwkn3F6yrvP4UN1Ul0
+dPDI1Xegw
+dPPDUuv2ISw501i2p
+dPbX4jd1v47r1bB6506si
+dPkN74F7
+dQsIgL
+dR3U7vP8MB1pmRmoumgi
+dRxyUb0v2VA
+dTTnUqcnmXBBIU1YN01b
+dU3yfLb6E1y0pxkF5V3q2ca7
+dUEsVT8aX3Nfi801YY
+dV86D7yr0I62C
+dYeh5IM0vISxwv
+dYqT7Ci8R0
+dcQOYT1M0S80x1
+ddB0uwG5vP6efRY28vx
+df3lR0B
+dfGQS66i2xSq5TmD7
+dhDYJ076SFcC
+di55PD6eD
+djLQ52K3s5ReY3TQyWRl6
+dlCRB1gt7D8hRQe6
+doI56Fdj4YgK3Q335155DC6
+dp4upQcltH1d7o
+dpSr737SQ81Ww2xh6c
+dpXsh6
+dq1Ji5vGb4GVow42
+dqSh2nXp
+drGld1C74Thqq38208jQ7B
+drQo4PU
+drU0J0cDrY6S083r7T5Nd
+ds5YqbRvhf3Sb2
+dsKMPeiKlSpS630o
+dub50S584AxqyPI0r80RA3ks
+dun2EEixI701imr3d6a
+dv4kivc
+dva4oJ47tw0wM52vCYU
+dw0MWNGD4iGKowp8qa8q
+e005B5q
+e035q4Ba4721NL1l
+e05ddw658QcMr
+e13dNAo71UXm4Yt1u
+e15NrPMW0E8yCvPO4DN
+e2B6K7FJH77Y4i7h6B43U
+e2m8waBVlVU
+e2tRWV1I2oE
+e3H7id0B6Vk8oY
+e3st3MhTgljOA8h1THm2
+e45JkEc41VGF88lgenm
+e4B88ElS8GH6sSaR3i
+e4ie13qpm6LnXF21C5
+e4j6pjQIS16PPiA86wnd4Ke
+e4rLBwDgWm1S4fl264fmpC
+e542YmP0Fu1hw25eP263UA
+e5YfpR
+e5sXd504D1x18iN3uTMsKIc
+e6F51mDOrN481rfhqk67lF40
+e6SAAy5o0so6LM30k
+e7sC5M0H5K6EgSTf41X
+e882yM7Pp1RA3
+e8HP8Yt7uoB
+e8Ul5Q72
+e8VT3kOBd654uL7eH
+e8Yq6dHfa7d61IgPcKrO
+e8b2tc81ieVb0dF132Uuo
+eAGNl00o8pA000I48
+eBRuEI2
+eC818exjsX8l
+eCd2BHx36NE3eVQQX7YO2c
+eDYumNXO773v5X
+eDfHPeW364TY4A2Jhm
+eEn3GIKD1RcY5tu7BH
+eF0N0Nk
+eHxtaCo643hV3BIi2Le35Eq
+eIyS41R32
+eJROSNhugc3kQR7Pb
+eJd04J4HSwx0RM6
+eJyS37rSqP
+eKu2BS26qOY0
+eMf071FkRwWIQ63
+eN62nb
+eNsh5tYa
+ePEMYxe7t8t45A1078305K
+eQ80MW0h728I204P87YXc
+eQw2b7C8
+eUx01FREb2LD4kle4dpS
+eVs446
+eWc3t8r71Mlq
+eWq33N3Xk6
+eX01IDE0Y7qmepEq57Gh6x2
+eXJSaD2y6i8Cr2wwmc
+eYi4x1MVI7
+eYkUnb8
+ea23p2penJ5W5T4
+eaju2o4x863Hs4pskfDBRYnp
+ebM416Q021xLQ0h8qDS7qw7U
+ecYs1527OxTl
+eeLpfP6O
+effwRyk4TvV58kcP
+efnt3
+eh85P0V0g
+eicMhR0nJt12OH7IO2651bO
+eis5ky6Km
+emSl6BHnVPfb3DF
+emhgE87754iUcRPl1vf
+en63YvV2PB76duGPhyLQa
+eoIG247
+er5IUhd505r0lT6sc20Tef5q
+es103bnsOVpy
+esc3k10A074II2a6h45
+etHtCC
+eu3X5Qfp4sHv5H
+euqLv
+euuqs32N6R4266A
+evAKb23
+ewpwJSDQ7V8yVPSl1x2E8ey
+f0Gw70hO6b
+f0QmOLoGtou7gq42fy01Brn
+f0kvl83Omd4xIlPq1
+f0rlf3P0ce6V8Q4hiIX
+f12qhlvH
+f163cH4DfXvJ1nw36Sq6Pu
+f1b7368iTH
+f2IpQuEKjVlAdLrmeSqeH8
+f2i6luEMKiT1KnRPTat40mX
+f3oGa8ByjMs5eo7462S84Aa
+f3t6786LDH6E8RV8nXU6Ep0
+f3ylU62g8n4VsaJawXV88
+f43bB2d6AhS8
+f448c4T81BR
+f4K7sWDgJQ1uemjKGDw4wo1
+f527p7MLm6Griq41TA8cR4
+f5c6e
+f5elgJP3k07
+f5wvsWTPgXUx8m7
+f5x7305T7Whj10BhLb5W
+f60N6lQ1JF8TPt
+f62KPh6SmIy
+f64ukp86atDBYWH5eW
+f6B6I2d7180wveu1BG63b
+f6WR6jF
+f6f4h5NY5Ffi
+f6kFn6sYs67ud2bx8eEsu2R
+f74WL82kGAkHoFCYuHu
+f7oB3Nx8
+f8bmVVkEd2TmeFy7wKq11
+f8e16sE7qHnJFq8IjXe6uSE
+f8iUpkOj7
+fAlgqr6d0P817Xv2
+fBTrfOGxGui72
+fCf8y2hv5UrvJR2i1mD0yuc
+fCw04e5L8Q6scDQ52Hnd
+fD6eaS1f
+fDT36nHCL182d2buS0P
+fE6QXN3HR04aEMiV6AM8
+fEU8HAO6NWJjF44X87
+fEg7R6A80Sc
+fFKkdcf
+fFWXv3oM1DRI7ELpv6kf8
+fFk28b88dvM
+fIjNh3dt21cMWe8
+fJWe8p2jkqws5d04a5lSvLH
+fKbw64QavqgbDL2t60s
+fMHmD1111V5u4iBxLK8QV
+fMx10nWYRbs
+fN3OH7lI2iTEW75Cq4
+fNDP5n
+fQUFR672Q0R0G2b6NVqx2m
+fR7eEX2v1LPkujF
+fS3f60E1s
+fVgv88OvQR1BB7toX
+fX2DVO612
+fXlXavWXcFSIIBpA0EFW
+far4S170PC
+fbR231f
+fduo5V7B450uUI3H436Q8
+ferMX1t
+ffT4cTjYf2NJ
+ffuO8wdQSN7ExGO
+fg7BpI
+fjIC8p2sYlu7rwnNYtm0i
+fju0XS06MyUS7Nqk8P8
+fkA37sOkxCp44hlIKV
+fn2If82nABUmJ7J6LW
+fn7k8uv2T7Ifrg
+fnVSD0s7dK
+fo617
+fo7hQ0lLo0K78
+fpgauY3B1
+fpt3gpLE
+fqa4UONO5MWDc7865q
+frhe0
+fs2RNhI5c10lFG7O
+fv6s5tGQJO45BvV4m8C
+fwaY4Kd6l4oW1Vxy
+fwgu11vt0371iw6
+fwo2yaxByegAga0
+fx6tfesnSixgAl5h
+fy80g
+fyy678nyJ
+g0AoxG8FyF
+g0C6gENIKCKayurchl7pjs2
+g0Kgv01XSAbU8u
+g1V8qsFsRDjt2MtJn
+g1k40P8l
+g2213
+g243G86C2uHdC38K
+g28jQ233uRHM7JG5E4
+g2E87
+g2WGU1d
+g2i0JT65x
+g2vI6MW2
+g4Gl6D
+g4dmKe2yoPRI8hBGgLdStl
+g4teBBvh
+g552y0x1B4n
+g5IWA5kuuD7uqD6e
+g5ImOPrB4l0a4cXWq0
+g5su4Pm4QR6jx
+g5v0R16ha6eI
+g6VL0j3k7pEcBq0Hbsk
+g6YBvB2o1c3qbfV6N
+g6euntqquMH
+g72r712ymd
+g7eEN741
+g8d0MGKWIe2r6wivyyl
+g8my0HUWRfpYm65D85r
+g8n6YN
+gA0M8GmMH6TcQCGdQi40Mj
+gA0pGkli
+gBg7S1x5obicN
+gC1t8pc
+gGFiuV
+gHsu7HyRW25P4w3518PIv5
+gL4Yd4kwC7853nBBfiWTmk
+gLGK7D0V
+gMX151eyr85V6Km
+gMc3d13G6rM5
+gMxuFTWhkh5RQ1VJ
+gO13PbgBt48eAg84Bq8
+gOYmowua857xqiBSnM0
+gSJS1mpb5Khx8140U3
+gSL2wI2m2i778C3WU
+gUpuTY5eI0dujb
+gVS43C76q67h70Yi
+gXu3tUhVtYp
+gY5CjIAG71Fh
+ga113oX5cQ3BKfs
+gcGG4GVX7MxDB50GG7Mk
+gcjQDkje3H2N
+gcnk28ttRLv13O3ms6p10y
+gcoE6Bkah
+gdoaNjlr4H8gbNV
+gebKn580IF5wc8d8C1
+gew1eby3AlYSvPICC3
+gfML7L7et
+gfSFVGxrOrW0Bu3UuhmFb50
+gfkqq1a3n56XaYAB
+gj5IRDNe62057M
+gjXv2q0AL7Pvi8hvW2041hJ
+gjqfa41BgO5pRK03
+gjsL355dId0aH1mj0yGky1
+gk0kJenBW237uQoxGBx36
+gl03UrAU4bWrOvqwwf
+glmq52NQ3r
+gls8SspE
+gm1ouRn6LL8IvrB
+gppEomS0ce2G6k6
+gqf1847u6CuJaw4D6
+gqgj30mc6Sb2aY8chi4
+gtulO7xHeSn
+gu1GY0
+gv7hVe3
+gw2d6kEFV35L7RPc61vpc
+gwwQD5RH36V3t4buLdOyT
+gxV35xi1i6
+h00AaUR4T644OOB
+h00VUsWU6m0j8OkrJ58l
+h033pR0WjHA8gaBF5
+h0F64HhMhM78JIo3tWkVN
+h0GHsDG38rg700WO7D0EuG13
+h15Uw8Uidj2K5OYWOqQ5
+h16y0qg
+h1iuKxGwo
+h1xHE
+h218Rb5gYs
+h2Q4cPeN8N81eVRhLb
+h2Sf5Q335KntN1ee1WHT
+h2c0frokSYjfs
+h2rkj7jL
+h301kgvvRS1JMq4S8dl
+h3qJh214D
+h4D3a3pF8s82471v7
+h4cKISr0jU
+h4omSc1jcLLwW
+h522G
+h5M1D3a1q528tDjybg8
+h5ptNc6T0l75uWGi2VW
+h5s74V3xB6SKD71q7tkjXlW
+h6a7neMIjQj81mHy43orcR1
+h6pSh1A3WMOI3eY4IxD
+h78X8w3p3vmI04F8u
+h7AiQX2QT2Ch6A
+h7p2nWBK37qeYg8351jf0
+h85CHOY0SM0YA
+h86fWF
+h8H1xHyUnDR5IrGqI
+hA4lNb
+hA4vIK10755e76nB
+hANtHaOf
+hAd5Sr6Iosm0
+hCwu446fq4108mQ4x62Pr
+hFV4Y46
+hGgIokL8VLdv70x7Co03QOvN
+hIpBJRGP12lL1QsnGUPa
+hKX47YOR
+hLEVieIhDXuQ8W2YF
+hLUON7y0c8wI04U
+hM04012HKnNf8M7KhUi1x
+hM4h8a4aXwJP1127xAC
+hO87j00S6nkbuEFh1rL5ie
+hQAra
+hR5oke50Iv54GVUI3AC7s2es
+hRUvK70d5B4F
+hS5Q54kmJc24T8um
+hSOv2xDX05WjxI13
+hSb1x4
+hUe5btrA1
+hV0A77g6ThTl1
+hW33k4mf1gQ
+hX1uXs3XerL24PgMqj0
+hX448PDJKp50xo
+hYH6n1Js
+ha4TkVEql240gCbQ17A
+habBG0aDt3MJeAL6
+hbHr0AGhP30hRfpMbI
+hd2iP4vyF
+hd5NMHtI3AWTCX01GJU
+hgy7Y
+hhb12d5EV7
+hjKNtgUy
+hkW5538D2R46LB5t
+hl4w6g0LGTr2q7740MWXNhi6
+hn35LQWu0t6
+hnq6hkAfna
+hnrm68NiEQCL4
+hnyI5T
+hoH5fhBc08
+hpB4Tn5E7507P
+hqHBv4edb2b6Hy4Q5u3
+hrO0S0XuD1W4
+hrSdTD2Q05
+hs5N5IQsM6SM
+hu6I51nNlePTerleQ
+hw5maSbD
+hw7e2oF7
+hwHV45CiW4O
+hweo7wU2YAcJFa0axo
+hxH7487S3TS
+hyUX5
+hyi44EO7Eqi4QI1qQ7h
+i06I7xgR0
+i0CT7RF71a67AT2RfOW32
+i0NyLxxV1f
+i0mx8w5HB8THd5N
+i0o7RFi0
+i1P3Wlat5EnBugL24oS4I3
+i1u8rB8WdUF8ROFmHnrs
+i2WiP
+i2nn656t
+i330V4Y0Lm4ajyKqM1X2Y
+i54P3
+i5bJlwLtK8
+i5nMr21nMygX2qWwtTbMag10
+i6G060
+i6bSV5cidX0CxDqq2f5Y
+i7n1eoq1Iw3r5q3qI3464
+i80O3j8a8nd0ohVCHE2oVs
+i82vCQCIiC16TWidK37m7
+i8Sn3a6i30o1o
+iASE7cWnCT4NRf
+iB4VI
+iD2KrmBUbvNjuhHR2r
+iD4A3pEIP5pkv3
+iDlPQmQC7RSxNA
+iEb04t2x333EF5wHoKRs6oKB
+iF1fQ7gn0qgpH7HKS5N3
+iG1K1q1
+iINw0m
+iIs0Lb6
+iJ0wje577Op
+iJloCx17VlmyNl881XJ8187
+iKF22p74hKMcl6gypC8nqq
+iNuVE35DF
+iO4Vsa4mC3r05C
+iP2ABL
+iQ51KkUwoE6YRVW4
+iQq6r8j4suqBapdr7m35j
+iR76SEs2C4V
+iS4P5128HY44wa
+iS5AY33Qun8O1UqRcPMV
+iSWa0uvV1O16A3H
+iStQPx6j8SvMc
+iUAMMN23Vq5jREr832nxXn
+iUR3Q
+iVt3aUt4Cy322x2w18lw4ku
+iW12567av
+iWCNyh222
+iaD4Rnj1
+ibHg41d7f
+ibR7QuG2aL3O
+icCP7UDP0d1h5q
+id8wug16
+idV7C76V518CeEHos5N4g
+ie3QYAuCo
+ie5lYXc8JAh00p0yd15xb
+ie83eEmqsGF834r4COpw7j
+ifm05ON
+igMQ8
+iggCGFADtrd6k25FD4r4375I
+ihk4IyjQeRwF6
+ihlorJE62ik1WuKfS
+ii6d0V0
+iiki1A
+ij735
+ijU4c
+ijeMq4LXB5UJ4Q27LsX
+ijmD5iqIymg
+ik3r8Ug0xoL8oGWkF8CWUbO
+il3l6en5b3J
+ilM1UO8k4hDR4ERgh102530
+im6VJRHh5EGfS7FVhw
+imH3YwNd33DOtJ
+imHOGF5tr78FHO5dM8JFlRI
+in6jU6Ke8n
+ioGNy2Sr5Y4vnJS7w34l2a5u
+ioU8KlM6LHCw4V86C
+ip3Y6RAg87Hgr3u
+iuSQEi3rpt2ctxK08ut3
+iurkQr677H1YV1J70rNk
+iw1Xi4d6QnFiPEVoRb225UE
+j0L50J2e82
+j0Sw233w51d1PQ
+j0t1Apo7x66D60C5
+j1BD3noYLxu
+j1ILd3p6Ry5jVC16
+j1lyplu58dBa
+j2UTaANoWtpw2co6Nj3bR2UG
+j2dqLVpEPr87jVGVotModCHd
+j337j4544rq
+j3LaR1p1e2
+j3Vya61f2BWk3H
+j51d0i7u3KGhTKavw1C
+j5QBwD36Ay5
+j5uHPfYypfS4dcT7nd
+j60Kr2t1K
+j6BCm4g8G2k
+j6KUDTK
+j83cOtj22H5Aje7H3
+j8fJ4l2w4F8fI51
+jB10lvkjJlMJ
+jB2kAo4v
+jENe6I6
+jH7VH38C77M08h5GNPp8M
+jK5m2h
+jKNJ3m5Bo6w
+jKOcSGq5CIGQK8wPD13l7
+jKQKJXa3DJGks56Si1cENL8
+jL3mXoEuM0B
+jLX0SrR6OP
+jO055kB85qLIyl5VJVkj8
+jOwQK4j08aYY8mhwcYU5
+jSUVVR
+jSqRIf7HS
+jT4878c3Xl6Td2He37E
+jT4A7EfBJf5xjeP8x
+jTQ68531mP
+jU6BuS50j
+jVV883J5rXAE5pI6qK
+jWVP6gOkq12mdh
+jXQPXUOT6OR75ChPwBr
+jXnS0M0vmQSg1Y61g
+jXpBexSQ3hC342hdkv
+jc2uH8nPb5K4F0eC
+jc3G2mefLm8mpl8tua3b3
+
<TRUNCATED>
[16/23] hive git commit: HIVE-14913 : Add new unit tests (Vineet Garg
via Ashutosh Chauhan)
Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/results/clientpositive/cte_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cte_1.q.out b/ql/src/test/results/clientpositive/cte_1.q.out
index 6e7acf6..61fd1af 100644
--- a/ql/src/test/results/clientpositive/cte_1.q.out
+++ b/ql/src/test/results/clientpositive/cte_1.q.out
@@ -169,3 +169,18951 @@ POSTHOOK: Input: default@src
5
5
5
+PREHOOK: query: with q1 as (select * from alltypesorc)
+ select s1.key, s1.value
+ from src s1
+ where key > 3
+ and s1.value in (select q1.cstring1
+ from q1
+ where cint > 900)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: with q1 as (select * from alltypesorc)
+ select s1.key, s1.value
+ from src s1
+ where key > 3
+ and s1.value in (select q1.cstring1
+ from q1
+ where cint > 900)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+PREHOOK: query: with q1 as (select * from src)
+ select key, value,
+ max(value) over (partition by key)
+ from q1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: with q1 as (select * from src)
+ select key, value,
+ max(value) over (partition by key)
+ from q1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+10 val_10 val_10
+100 val_100 val_100
+100 val_100 val_100
+103 val_103 val_103
+103 val_103 val_103
+104 val_104 val_104
+104 val_104 val_104
+105 val_105 val_105
+11 val_11 val_11
+111 val_111 val_111
+113 val_113 val_113
+113 val_113 val_113
+114 val_114 val_114
+116 val_116 val_116
+118 val_118 val_118
+118 val_118 val_118
+119 val_119 val_119
+119 val_119 val_119
+119 val_119 val_119
+12 val_12 val_12
+12 val_12 val_12
+120 val_120 val_120
+120 val_120 val_120
+125 val_125 val_125
+125 val_125 val_125
+126 val_126 val_126
+128 val_128 val_128
+128 val_128 val_128
+128 val_128 val_128
+129 val_129 val_129
+129 val_129 val_129
+131 val_131 val_131
+133 val_133 val_133
+134 val_134 val_134
+134 val_134 val_134
+136 val_136 val_136
+137 val_137 val_137
+137 val_137 val_137
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+143 val_143 val_143
+145 val_145 val_145
+146 val_146 val_146
+146 val_146 val_146
+149 val_149 val_149
+149 val_149 val_149
+15 val_15 val_15
+15 val_15 val_15
+150 val_150 val_150
+152 val_152 val_152
+152 val_152 val_152
+153 val_153 val_153
+155 val_155 val_155
+156 val_156 val_156
+157 val_157 val_157
+158 val_158 val_158
+160 val_160 val_160
+162 val_162 val_162
+163 val_163 val_163
+164 val_164 val_164
+164 val_164 val_164
+165 val_165 val_165
+165 val_165 val_165
+166 val_166 val_166
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+168 val_168 val_168
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+17 val_17 val_17
+170 val_170 val_170
+172 val_172 val_172
+172 val_172 val_172
+174 val_174 val_174
+174 val_174 val_174
+175 val_175 val_175
+175 val_175 val_175
+176 val_176 val_176
+176 val_176 val_176
+177 val_177 val_177
+178 val_178 val_178
+179 val_179 val_179
+179 val_179 val_179
+18 val_18 val_18
+18 val_18 val_18
+180 val_180 val_180
+181 val_181 val_181
+183 val_183 val_183
+186 val_186 val_186
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+189 val_189 val_189
+19 val_19 val_19
+190 val_190 val_190
+191 val_191 val_191
+191 val_191 val_191
+192 val_192 val_192
+193 val_193 val_193
+193 val_193 val_193
+193 val_193 val_193
+194 val_194 val_194
+195 val_195 val_195
+195 val_195 val_195
+196 val_196 val_196
+197 val_197 val_197
+197 val_197 val_197
+199 val_199 val_199
+199 val_199 val_199
+199 val_199 val_199
+2 val_2 val_2
+20 val_20 val_20
+200 val_200 val_200
+200 val_200 val_200
+201 val_201 val_201
+202 val_202 val_202
+203 val_203 val_203
+203 val_203 val_203
+205 val_205 val_205
+205 val_205 val_205
+207 val_207 val_207
+207 val_207 val_207
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+209 val_209 val_209
+209 val_209 val_209
+213 val_213 val_213
+213 val_213 val_213
+214 val_214 val_214
+216 val_216 val_216
+216 val_216 val_216
+217 val_217 val_217
+217 val_217 val_217
+218 val_218 val_218
+219 val_219 val_219
+219 val_219 val_219
+221 val_221 val_221
+221 val_221 val_221
+222 val_222 val_222
+223 val_223 val_223
+223 val_223 val_223
+224 val_224 val_224
+224 val_224 val_224
+226 val_226 val_226
+228 val_228 val_228
+229 val_229 val_229
+229 val_229 val_229
+230 val_230 val_230
+230 val_230 val_230
+230 val_230 val_230
+230 val_230 val_230
+230 val_230 val_230
+233 val_233 val_233
+233 val_233 val_233
+235 val_235 val_235
+237 val_237 val_237
+237 val_237 val_237
+238 val_238 val_238
+238 val_238 val_238
+239 val_239 val_239
+239 val_239 val_239
+24 val_24 val_24
+24 val_24 val_24
+241 val_241 val_241
+242 val_242 val_242
+242 val_242 val_242
+244 val_244 val_244
+247 val_247 val_247
+248 val_248 val_248
+249 val_249 val_249
+252 val_252 val_252
+255 val_255 val_255
+255 val_255 val_255
+256 val_256 val_256
+256 val_256 val_256
+257 val_257 val_257
+258 val_258 val_258
+26 val_26 val_26
+26 val_26 val_26
+260 val_260 val_260
+262 val_262 val_262
+263 val_263 val_263
+265 val_265 val_265
+265 val_265 val_265
+266 val_266 val_266
+27 val_27 val_27
+272 val_272 val_272
+272 val_272 val_272
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+274 val_274 val_274
+275 val_275 val_275
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+278 val_278 val_278
+278 val_278 val_278
+28 val_28 val_28
+280 val_280 val_280
+280 val_280 val_280
+281 val_281 val_281
+281 val_281 val_281
+282 val_282 val_282
+282 val_282 val_282
+283 val_283 val_283
+284 val_284 val_284
+285 val_285 val_285
+286 val_286 val_286
+287 val_287 val_287
+288 val_288 val_288
+288 val_288 val_288
+289 val_289 val_289
+291 val_291 val_291
+292 val_292 val_292
+296 val_296 val_296
+298 val_298 val_298
+298 val_298 val_298
+298 val_298 val_298
+30 val_30 val_30
+302 val_302 val_302
+305 val_305 val_305
+306 val_306 val_306
+307 val_307 val_307
+307 val_307 val_307
+308 val_308 val_308
+309 val_309 val_309
+309 val_309 val_309
+310 val_310 val_310
+311 val_311 val_311
+311 val_311 val_311
+311 val_311 val_311
+315 val_315 val_315
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+317 val_317 val_317
+317 val_317 val_317
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+321 val_321 val_321
+321 val_321 val_321
+322 val_322 val_322
+322 val_322 val_322
+323 val_323 val_323
+325 val_325 val_325
+325 val_325 val_325
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+33 val_33 val_33
+331 val_331 val_331
+331 val_331 val_331
+332 val_332 val_332
+333 val_333 val_333
+333 val_333 val_333
+335 val_335 val_335
+336 val_336 val_336
+338 val_338 val_338
+339 val_339 val_339
+34 val_34 val_34
+341 val_341 val_341
+342 val_342 val_342
+342 val_342 val_342
+344 val_344 val_344
+344 val_344 val_344
+345 val_345 val_345
+348 val_348 val_348
+348 val_348 val_348
+348 val_348 val_348
+348 val_348 val_348
+348 val_348 val_348
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+351 val_351 val_351
+353 val_353 val_353
+353 val_353 val_353
+356 val_356 val_356
+360 val_360 val_360
+362 val_362 val_362
+364 val_364 val_364
+365 val_365 val_365
+366 val_366 val_366
+367 val_367 val_367
+367 val_367 val_367
+368 val_368 val_368
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+37 val_37 val_37
+37 val_37 val_37
+373 val_373 val_373
+374 val_374 val_374
+375 val_375 val_375
+377 val_377 val_377
+378 val_378 val_378
+379 val_379 val_379
+382 val_382 val_382
+382 val_382 val_382
+384 val_384 val_384
+384 val_384 val_384
+384 val_384 val_384
+386 val_386 val_386
+389 val_389 val_389
+392 val_392 val_392
+393 val_393 val_393
+394 val_394 val_394
+395 val_395 val_395
+395 val_395 val_395
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+397 val_397 val_397
+397 val_397 val_397
+399 val_399 val_399
+399 val_399 val_399
+4 val_4 val_4
+400 val_400 val_400
+401 val_401 val_401
+401 val_401 val_401
+401 val_401 val_401
+401 val_401 val_401
+401 val_401 val_401
+402 val_402 val_402
+403 val_403 val_403
+403 val_403 val_403
+403 val_403 val_403
+404 val_404 val_404
+404 val_404 val_404
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+407 val_407 val_407
+409 val_409 val_409
+409 val_409 val_409
+409 val_409 val_409
+41 val_41 val_41
+411 val_411 val_411
+413 val_413 val_413
+413 val_413 val_413
+414 val_414 val_414
+414 val_414 val_414
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+418 val_418 val_418
+419 val_419 val_419
+42 val_42 val_42
+42 val_42 val_42
+421 val_421 val_421
+424 val_424 val_424
+424 val_424 val_424
+427 val_427 val_427
+429 val_429 val_429
+429 val_429 val_429
+43 val_43 val_43
+430 val_430 val_430
+430 val_430 val_430
+430 val_430 val_430
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+432 val_432 val_432
+435 val_435 val_435
+436 val_436 val_436
+437 val_437 val_437
+438 val_438 val_438
+438 val_438 val_438
+438 val_438 val_438
+439 val_439 val_439
+439 val_439 val_439
+44 val_44 val_44
+443 val_443 val_443
+444 val_444 val_444
+446 val_446 val_446
+448 val_448 val_448
+449 val_449 val_449
+452 val_452 val_452
+453 val_453 val_453
+454 val_454 val_454
+454 val_454 val_454
+454 val_454 val_454
+455 val_455 val_455
+457 val_457 val_457
+458 val_458 val_458
+458 val_458 val_458
+459 val_459 val_459
+459 val_459 val_459
+460 val_460 val_460
+462 val_462 val_462
+462 val_462 val_462
+463 val_463 val_463
+463 val_463 val_463
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+467 val_467 val_467
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+469 val_469 val_469
+469 val_469 val_469
+469 val_469 val_469
+469 val_469 val_469
+469 val_469 val_469
+47 val_47 val_47
+470 val_470 val_470
+472 val_472 val_472
+475 val_475 val_475
+477 val_477 val_477
+478 val_478 val_478
+478 val_478 val_478
+479 val_479 val_479
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+481 val_481 val_481
+482 val_482 val_482
+483 val_483 val_483
+484 val_484 val_484
+485 val_485 val_485
+487 val_487 val_487
+489 val_489 val_489
+489 val_489 val_489
+489 val_489 val_489
+489 val_489 val_489
+490 val_490 val_490
+491 val_491 val_491
+492 val_492 val_492
+492 val_492 val_492
+493 val_493 val_493
+494 val_494 val_494
+495 val_495 val_495
+496 val_496 val_496
+497 val_497 val_497
+498 val_498 val_498
+498 val_498 val_498
+498 val_498 val_498
+5 val_5 val_5
+5 val_5 val_5
+5 val_5 val_5
+51 val_51 val_51
+51 val_51 val_51
+53 val_53 val_53
+54 val_54 val_54
+57 val_57 val_57
+58 val_58 val_58
+58 val_58 val_58
+64 val_64 val_64
+65 val_65 val_65
+66 val_66 val_66
+67 val_67 val_67
+67 val_67 val_67
+69 val_69 val_69
+70 val_70 val_70
+70 val_70 val_70
+70 val_70 val_70
+72 val_72 val_72
+72 val_72 val_72
+74 val_74 val_74
+76 val_76 val_76
+76 val_76 val_76
+77 val_77 val_77
+78 val_78 val_78
+8 val_8 val_8
+80 val_80 val_80
+82 val_82 val_82
+83 val_83 val_83
+83 val_83 val_83
+84 val_84 val_84
+84 val_84 val_84
+85 val_85 val_85
+86 val_86 val_86
+87 val_87 val_87
+9 val_9 val_9
+90 val_90 val_90
+90 val_90 val_90
+90 val_90 val_90
+92 val_92 val_92
+95 val_95 val_95
+95 val_95 val_95
+96 val_96 val_96
+97 val_97 val_97
+97 val_97 val_97
+98 val_98 val_98
+98 val_98 val_98
+PREHOOK: query: with q1 as (select * from alltypesorc)
+ from q1
+ select cint, cstring1, avg(csmallint)
+ group by cint, cstring1 with rollup
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: with q1 as (select * from alltypesorc)
+ from q1
+ select cint, cstring1, avg(csmallint)
+ group by cint, cstring1 with rollup
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+NULL NULL 810.5504687159363
+NULL NULL 2735.0
+NULL NULL 2735.0
+NULL 2x14G717LqcPA7Ic5 NULL
+NULL 3Ke6A1U847tV73 NULL
+NULL 45ja5suO NULL
+NULL 4R0XI865tG1o NULL
+NULL 4fNIOF6ul NULL
+NULL 62vmI4 NULL
+NULL 64Vxl8QS NULL
+NULL 74bXXWTpyU68 NULL
+NULL 75bFXC7TqGo1SEaYAx4C58m NULL
+NULL 84O1C65C5k88bI7i4 NULL
+NULL 8We4u3732apuHDPV NULL
+NULL AmPHc4NUg3HwJ NULL
+NULL AyLa71bfxi250l8A518jspLC NULL
+NULL J84WKCH NULL
+NULL Jk1t16oBoeM0CCry7XQvR37h NULL
+NULL LKRvI78ReJ6OGetwpvK NULL
+NULL LR2AKy0dPt8vFdIV5760jriw NULL
+NULL MqcMK622OR2 NULL
+NULL Oye1OEeN NULL
+NULL Pw53BBJ NULL
+NULL THog3nx6pd1Bb NULL
+NULL Ul085f84S33Xd32u NULL
+NULL W114Au1ELrT7tRYnqE3MxCv NULL
+NULL Xw6nBW1A205Rv7rE NULL
+NULL Yssb82rdfylDv4K NULL
+NULL a7GT5lui7rc NULL
+NULL b062i16kuwQerAvO5D2cBp3 NULL
+NULL b5GwV NULL
+NULL c61B47I604gymFJ NULL
+NULL d1135cW8G6QCDM8LiD0c NULL
+NULL efnt3 NULL
+NULL fVgv88OvQR1BB7toX NULL
+NULL gC1t8pc NULL
+NULL iNuVE35DF NULL
+NULL l3r8T4QgT63 NULL
+NULL nS00h3HkN0 NULL
+NULL nc1y0EKQ51B4U0F06 NULL
+NULL nlVvHbKNkU5I04XtkP6 NULL
+NULL p61uO61KDWhQ8b648ac2xyFO NULL
+NULL r2uhJH3 NULL
+NULL r4jOncC4N6ov2LdxmkWAfJ7J NULL
+NULL wa73jb5WDRp2le0wf NULL
+NULL y605nF0K3mMoM75j NULL
+-1073279343 NULL NULL
+-1073279343 oj1YrV5Wa NULL
+-1073051226 NULL -7382.0
+-1073051226 A34p7oRr2WvUJNf -7382.0
+-1072910839 NULL NULL
+-1072910839 0iqrc5 NULL
+-1072081801 NULL 8373.0
+-1072081801 dPkN74F7 8373.0
+-1072076362 NULL -5470.0
+-1072076362 2uLyD28144vklju213J1mr -5470.0
+-1071480828 NULL NULL
+-1071480828 aw724t8c5558x2xneC624 NULL
+-1071363017 NULL NULL
+-1071363017 Anj0oF NULL
+-1070883071 NULL -741.0
+-1070883071 0ruyd6Y50JpdGRf6HqD -741.0
+-1070551679 NULL -947.0
+-1070551679 iUR3Q -947.0
+-1069736047 NULL NULL
+-1069736047 k17Am8uPHWk02cEf1jet NULL
+-1069512165 NULL 11417.0
+-1069512165 8x6mobxQl6Ef0Hl1 11417.0
+-1069109166 NULL 8390.0
+-1069109166 vW36C22KS75R 8390.0
+-1069103950 NULL NULL
+-1069103950 41A0nYX72UOSfxO4053xy NULL
+-1069097390 NULL NULL
+-1069097390 B553840U1H2b1M06l6N81 NULL
+-1068623584 NULL -14005.0
+-1068623584 s5O357fO5pF0 -14005.0
+-1068336533 NULL NULL
+-1068336533 PUn1YVC NULL
+-1068247011 NULL NULL
+-1068247011 dPbX4jd1v47r1bB6506si NULL
+-1068206466 NULL NULL
+-1068206466 F3u1yJaQywofxCCM4v4jScY NULL
+-1067874703 NULL NULL
+-1067874703 us1gH35lcpND NULL
+-1067683781 NULL NULL
+-1067683781 IbgbUvP5 NULL
+-1067386090 NULL -3977.0
+-1067386090 HBtg2r6pR16VC73 -3977.0
+-1066922682 NULL -9987.0
+-1066922682 0RrH6XDA1 -9987.0
+-1066684273 NULL NULL
+-1066684273 2W4Kg220OcCy065HG60k6e NULL
+-1066226047 NULL -9439.0
+-1066226047 8GIqX3tvNqrgH -9439.0
+-1065775394 NULL NULL
+-1065775394 aD88uS2N8DmqPlvjOa7F46i7 NULL
+-1065117869 NULL 2538.0
+-1065117869 jWVP6gOkq12mdh 2538.0
+-1064981602 NULL NULL
+-1064981602 aY3tpnr6wfvmWMG0U881 NULL
+-1064949302 NULL 6454.0
+-1064949302 8u8tR858jC01y8Ft66nYRnb6 6454.0
+-1064718136 NULL NULL
+-1064718136 k7i5RkMq88H0s NULL
+-1064623720 NULL NULL
+-1064623720 47INeW44yvsne46Mu NULL
+-1063745167 NULL NULL
+-1063745167 L47nqo NULL
+-1063498122 NULL -11480.0
+-1063498122 703Y1U84Wa28ryl -11480.0
+-1063164541 NULL NULL
+-1063164541 1NydRD5y5o3 NULL
+-1062973443 NULL 10541.0
+-1062973443 144eST755Fvf6nLi74SK 10541.0
+-1061614989 NULL -4234.0
+-1061614989 61Oa7M7Pl17d7auyXra6 -4234.0
+-1061509617 NULL NULL
+-1061509617 YE7I5JK87tW5 NULL
+-1061057428 NULL -1085.0
+-1061057428 P58wqaXf0alLttK226h6FPPw -1085.0
+-1060990068 NULL NULL
+-1060990068 EQT56g5A73m3j NULL
+-1060670281 NULL NULL
+-1060670281 nn4BmhMm71Dr4R7sw8Y1dQR NULL
+-1060624784 NULL NULL
+-1060624784 Das7E73 NULL
+-1059941909 NULL 8782.0
+-1059941909 Bu880nx 8782.0
+-1059487309 NULL NULL
+-1059487309 8Q4H5tVMm6r NULL
+-1059338191 NULL 7322.0
+-1059338191 S12r0UF 7322.0
+-1059047258 NULL 12452.0
+-1059047258 e2B6K7FJH77Y4i7h6B43U 12452.0
+-1058897881 NULL NULL
+-1058897881 6fPk0A NULL
+-1058844180 NULL NULL
+-1058844180 C6hoSE4L6NCrA NULL
+-1058286942 NULL NULL
+-1058286942 R6q656btrqQM6a5nQ4GcVg NULL
+-1056684111 NULL 13991.0
+-1056684111 7K7y062ndg5aRSBsx 13991.0
+-1055945837 NULL 13690.0
+-1055945837 Qc722Gg4280 13690.0
+-1055669248 NULL 2570.0
+-1055669248 U7r33N1GT 2570.0
+-1055316250 NULL -14990.0
+-1055316250 0DM5PsdSMaTmhOK4YxC5u7j -14990.0
+-1055185482 NULL NULL
+-1055185482 l20vn2Awc NULL
+-1055076545 NULL NULL
+-1055076545 5l4yXhHX0Y1jgmw4 NULL
+-1055040773 NULL NULL
+-1055040773 1t2c87D721uxcFhn2 NULL
+-1054958082 NULL NULL
+-1054958082 im6VJRHh5EGfS7FVhw NULL
+-1054849160 NULL NULL
+-1054849160 CEGOy NULL
+-1053385587 NULL 14504.0
+-1053385587 65VIeeMM00MHr8I0 14504.0
+-1053254526 NULL NULL
+-1053254526 p014F NULL
+-1053238077 NULL -3704.0
+-1053238077 46tDHL8 -3704.0
+-1052745800 NULL -12404.0
+-1052745800 gA0pGkli -12404.0
+-1052668265 NULL NULL
+-1052668265 kTME0 NULL
+-1052322972 NULL -7433.0
+-1052322972 C60KTh -7433.0
+-1051223597 NULL NULL
+-1051223597 7i7FJDchQc1 NULL
+-1050684541 NULL -8261.0
+-1050684541 D7uQjIbBdnn -8261.0
+-1050657303 NULL -6999.0
+-1050657303 cD68D3aJ6G88N1C -6999.0
+-1050388484 NULL NULL
+-1050388484 B26L6Qp134xe0wy0Si NULL
+-1050165799 NULL 8634.0
+-1050165799 hA4lNb 8634.0
+-1049984461 NULL NULL
+-1049984461 qUY8Rl34NWRg NULL
+-1048934049 NULL -524.0
+-1048934049 CjC3BPy1KH421o32f8 -524.0
+-1048696030 NULL NULL
+-1048696030 fKbw64QavqgbDL2t60s NULL
+-1048097158 NULL NULL
+-1048097158 fpt3gpLE NULL
+-1047782718 NULL NULL
+-1047782718 38Y7wt NULL
+-1047036113 NULL NULL
+-1047036113 Js07yFa2qnrfVU1j2e3 NULL
+-1046913669 NULL NULL
+-1046913669 40r4yyU6T0A0Mekf24k NULL
+-1046766350 NULL NULL
+-1046766350 s4LPR6Bg0j25SWD8 NULL
+-1046399794 NULL 4130.0
+-1046399794 4o0SAld6t67x881120Otu2 4130.0
+-1045867222 NULL -8034.0
+-1045867222 gdoaNjlr4H8gbNV -8034.0
+-1045737053 NULL NULL
+-1045737053 FGQf6n21ES NULL
+-1045196363 NULL -5039.0
+-1045196363 35lk428d1BN8Qp1M27 -5039.0
+-1045181724 NULL -5706.0
+-1045181724 kJFq4Dt -5706.0
+-1045087657 NULL -5865.0
+-1045087657 hV0A77g6ThTl1 -5865.0
+-1044828205 NULL NULL
+-1044828205 Ej05nrdc8CVXYu1Axy6W NULL
+-1044748460 NULL NULL
+-1044748460 d1158gMS8i68jPb2v3L NULL
+-1044357977 NULL NULL
+-1044357977 nqThW83 NULL
+-1044207190 NULL 5381.0
+-1044207190 YsR62pfC2Hc 5381.0
+-1044093617 NULL -3422.0
+-1044093617 0Dlv8g24a1Q43 -3422.0
+-1043979188 NULL NULL
+-1043979188 2d3tQdCGQN5k7u7S NULL
+-1043573508 NULL 16216.0
+-1043573508 7n7CK4Pg11vhm6ax3H5 16216.0
+-1043132597 NULL 12302.0
+-1043132597 yVj2368XQ64rY25N8jCGSeW 12302.0
+-1043082182 NULL 9180.0
+-1043082182 17RI340fft1fahy586Y 9180.0
+-1042805968 NULL 5133.0
+-1042805968 QUnIT4yAVU 5133.0
+-1042712895 NULL 9296.0
+-1042712895 iD2KrmBUbvNjuhHR2r 9296.0
+-1042396242 NULL 9583.0
+-1042396242 3E1ynn7EtEFXaiQ772b86gVL 9583.0
+-1041734429 NULL -836.0
+-1041734429 wVq06T0QJ -836.0
+-1041391389 NULL -12970.0
+-1041391389 IL6Ct0hm2 -12970.0
+-1041353707 NULL NULL
+-1041353707 25Qky6lf2pt5FP47Mqmb NULL
+-1041252354 NULL 756.0
+-1041252354 0ruah 756.0
+-1039776293 NULL 13704.0
+-1039776293 LaONIKN 13704.0
+-1039762548 NULL -3802.0
+-1039762548 ki4pfORasIn14cM2G -3802.0
+-1039715238 NULL NULL
+-1039715238 oOt2v NULL
+-1039637549 NULL NULL
+-1039637549 KH8n8pUDpPj0hPA6 NULL
+-1039533140 NULL NULL
+-1039533140 342c18wA5vW61bEV NULL
+-1039524403 NULL -4773.0
+-1039524403 Bd1f156OCy1u -4773.0
+-1039514580 NULL NULL
+-1039514580 IjDM0V0b7savVtf2tbHOy NULL
+-1039495786 NULL NULL
+-1039495786 b0BEyNEe1bvQ NULL
+-1039355325 NULL NULL
+-1039355325 r17jGvc7gR NULL
+-1039292315 NULL NULL
+-1039292315 07488p5vb4d2 NULL
+-1039064141 NULL NULL
+-1039064141 hLEVieIhDXuQ8W2YF NULL
+-1039017475 NULL NULL
+-1039017475 wO3YtYQ6XLp7w NULL
+-1038649744 NULL NULL
+-1038649744 yl7A1QkSCYHui8cwp4b1OW43 NULL
+-1038517790 NULL -14648.0
+-1038517790 DYBN0 -14648.0
+-1037297218 NULL 10880.0
+-1037297218 lXhthv3GoliXESKJV703 10880.0
+-1037267681 NULL NULL
+-1037267681 gfML7L7et NULL
+-1037188286 NULL 5144.0
+-1037188286 1HF15l 5144.0
+-1037147679 NULL 3617.0
+-1037147679 4R0Dk 3617.0
+-1037086954 NULL 4048.0
+-1037086954 65n3amk86ayb7 4048.0
+-1036761336 NULL NULL
+-1036761336 QSdVNqav1efvKUht5o3N6 NULL
+-1036396564 NULL -14238.0
+-1036396564 gO13PbgBt48eAg84Bq8 -14238.0
+-1036025370 NULL NULL
+-1036025370 8dDe31b5 NULL
+-1035148422 NULL 7228.0
+-1035148422 3GU0iMHI286JAUnA0f 7228.0
+-1034002107 NULL 13650.0
+-1034002107 aa6sWJ28wU1wvv6it 13650.0
+-1033919841 NULL NULL
+-1033919841 6lk5XcgAmKuHHjg NULL
+-1033608051 NULL -3287.0
+-1033608051 jENe6I6 -3287.0
+-1033128942 NULL NULL
+-1033128942 467PTEoVhqi3kdYqdl6uT NULL
+-1032255988 NULL NULL
+-1032255988 78Mf2pj8fKk5Sq2L8 NULL
+-1032115017 NULL NULL
+-1032115017 yc2pX4jTI0xKh5xTys NULL
+-1031797254 NULL -326.0
+-1031797254 sKEJ8vy8kHWK7D -326.0
+-1031594611 NULL NULL
+-1031594611 dFE1VTv3P5WDi20YecUuv7 NULL
+-1031230441 NULL -4561.0
+-1031230441 iF1fQ7gn0qgpH7HKS5N3 -4561.0
+-1030993426 NULL NULL
+-1030993426 76VqjvX6hmnmvmDWOa8wi8 NULL
+-1030634297 NULL 15011.0
+-1030634297 2060qh1mQdiLrqGg0Jc5K 15011.0
+-1030506764 NULL -5689.0
+-1030506764 S8H7q -5689.0
+-1029979211 NULL NULL
+-1029979211 3StDSaH7 NULL
+-1029879672 NULL NULL
+-1029879672 i7n1eoq1Iw3r5q3qI3464 NULL
+-1029267410 NULL -5497.0
+-1029267410 in6jU6Ke8n -5497.0
+-1028293812 NULL 13237.0
+-1028293812 uY5BRu6VpGUPj4 13237.0
+-1028205384 NULL -15865.0
+-1028205384 tVopY8s0qF0dNI2yQdJXOX6 -15865.0
+-1027845003 NULL 15332.0
+-1027845003 Re88fHL7 15332.0
+-1026479711 NULL -2414.0
+-1026479711 806vT7T4G4Y4 -2414.0
+-1026019772 NULL NULL
+-1026019772 T6Al7d0hN770XB65M0F2g NULL
+-1025914257 NULL -4405.0
+-1025914257 EEr7sgEv4lqC76GKb4LI7p -4405.0
+-1024321144 NULL NULL
+-1024321144 CE22Wjuk7d20ouN NULL
+-1024159115 NULL -1885.0
+-1024159115 3a7WcjS0uc0bqUmPmu -1885.0
+-1023919084 NULL NULL
+-1023919084 3cT82 NULL
+-1023749761 NULL NULL
+-1023749761 77IBEt1Or1c24vWPvigS3w13 NULL
+-1023644243 NULL NULL
+-1023644243 Cxas82oA2hX884xmYQ2jrpDX NULL
+-1023481424 NULL 2306.0
+-1023481424 77jNF 2306.0
+-1023165277 NULL NULL
+-1023165277 438Lxo541TwY5ID80cnR5 NULL
+-1022702965 NULL NULL
+-1022702965 k3a17i1ndf NULL
+-1022326946 NULL NULL
+-1022326946 C1E8E3vVL16j NULL
+-1021742369 NULL NULL
+-1021742369 yOnsF4mFp NULL
+-1021337976 NULL -11929.0
+-1021337976 U4o3sWAqLydj0y -11929.0
+-1020725923 NULL NULL
+-1020725923 J25yM2B04A2M NULL
+-1020568554 NULL 492.0
+-1020568554 fX2DVO612 492.0
+-1020466796 NULL NULL
+-1020466796 7hCJ5yJvt0775jjgq8S0bX6W NULL
+-1020464283 NULL -5126.0
+-1020464283 xknXeDuW -5126.0
+-1020374418 NULL 9766.0
+-1020374418 1aI03p 9766.0
+-1020120834 NULL NULL
+-1020120834 6Ob80MBP350rI275 NULL
+-1019836360 NULL -872.0
+-1019836360 8vFbY6BM35cX2G -872.0
+-1019393508 NULL 4274.0
+-1019393508 05XlEbko5Dd31Yw87y7V 4274.0
+-1019324856 NULL NULL
+-1019324856 Yv7NbK3bBtLv2oCp7g622yO NULL
+-1019324384 NULL NULL
+-1019324384 G1Av5h73JFU7HEfj71hJ10 NULL
+-1018959984 NULL 6882.0
+-1018959984 s7Ct1y6ga8FJla5 6882.0
+-1018796894 NULL 15284.0
+-1018796894 76dOOD7kG6dtWnpBjR8 15284.0
+-1017266554 NULL NULL
+-1017266554 DU1m68i1Q7W3 NULL
+-1017122654 NULL -12826.0
+-1017122654 mCoC5T -12826.0
+-1016986173 NULL 9897.0
+-1016986173 6MS6smd0Rcn3ld 9897.0
+-1016835101 NULL NULL
+-1016835101 Md2lY0T7reBu NULL
+-1016801620 NULL NULL
+-1016801620 8vKN51JNM7 NULL
+-1016704824 NULL NULL
+-1016704824 3KB27MO3K1u5o NULL
+-1016663846 NULL -11403.0
+-1016663846 3l7KiBCbB0 -11403.0
+-1016256312 NULL -6216.0
+-1016256312 O1Rlpc2lK3YRjAQu34gE2UK5 -6216.0
+-1015614511 NULL -2849.0
+-1015614511 j3LaR1p1e2 -2849.0
+-1015510885 NULL NULL
+-1015510885 Kw7fOuw4DHeyXe2yg NULL
+-1015272448 NULL NULL
+-1015272448 jTQ68531mP NULL
+-1014275037 NULL NULL
+-1014275037 PrKs7TD0B7kj847u56pce NULL
+-1014120220 NULL 6770.0
+-1014120220 ojrHQys7e2N52 6770.0
+-1013988078 NULL 3944.0
+-1013988078 F3OEU67i11yDY0Lok02y6 3944.0
+-1013781936 NULL 5926.0
+-1013781936 hnq6hkAfna 5926.0
+-1013659284 NULL NULL
+-1013659284 x8IaCF6n4u NULL
+-1012066281 NULL 4376.0
+-1012066281 Kv017 4376.0
+-1012011232 NULL NULL
+-1012011232 7q0iMi2GDq0Q NULL
+-1011976278 NULL 13126.0
+-1011976278 LxB3GrxHyeem1fekvgm 13126.0
+-1011944040 NULL NULL
+-1011944040 X81pl2c1Y NULL
+-1011024551 NULL NULL
+-1011024551 cTWO4kFIrl1n NULL
+-1010636986 NULL NULL
+-1010636986 2p0iX031016VDNb6KWJ NULL
+-1009874474 NULL NULL
+-1009874474 8IkicjRJ21c054Id NULL
+-1009862371 NULL -410.0
+-1009862371 oaIPb217712Xf738 -410.0
+-1009581584 NULL NULL
+-1009581584 I884R85q1kn NULL
+-1009451677 NULL 11324.0
+-1009451677 7l1OMS06fGPw 11324.0
+-1009389747 NULL NULL
+-1009389747 LIJuG07tfqoLu8K NULL
+-1009352973 NULL -6439.0
+-1009352973 brlusDQ60JO68Qx5r6CY -6439.0
+-1009299079 NULL -2596.0
+-1009299079 t5p3LN7q -2596.0
+-1009173337 NULL -2985.0
+-1009173337 Kn22pycavya023VJqu -2985.0
+-1009059822 NULL 15580.0
+-1009059822 S74dET7kWU7 15580.0
+-1008549738 NULL 1308.0
+-1008549738 8pRkOXod8QLx2jax3AxJ 1308.0
+-1008498471 NULL NULL
+-1008498471 8uc06Qq7RP2P1RAf NULL
+-1007972409 NULL 14665.0
+-1007972409 QRofyh6UgWdm 14665.0
+-1007835480 NULL NULL
+-1007835480 btgw707cKS2odwbePK2B NULL
+-1007815487 NULL NULL
+-1007815487 IpyrlcegF4443KoFVNX NULL
+-1007552849 NULL 2108.0
+-1007552849 w6TGrxC 2108.0
+-1007330209 NULL -12558.0
+-1007330209 pg6MXmv06w1IPinrVuLU6qWI -12558.0
+-1007097729 NULL NULL
+-1007097729 r8564D7t NULL
+-1006411472 NULL 14460.0
+-1006411472 hQAra 14460.0
+-1006409417 NULL 3467.0
+-1006409417 2bD1h 3467.0
+-1005204676 NULL NULL
+-1005204676 mli7064t5U NULL
+-1005155523 NULL NULL
+-1005155523 1062158y NULL
+-1004894301 NULL 676.0
+-1004894301 xWu1O6561qVT 676.0
+-1004803191 NULL 8058.0
+-1004803191 Xf1MhqkA5n6 8058.0
+-1004604371 NULL 6617.0
+-1004604371 2618CM 6617.0
+-1003938647 NULL 6637.0
+-1003938647 R04RF7qkQ8Gn1PPd33pU6 6637.0
+-1003789565 NULL NULL
+-1003789565 dq1Ji5vGb4GVow42 NULL
+-1003720773 NULL 6383.0
+-1003720773 SqOW5p2JiWtBn3 6383.0
+-1003701605 NULL 176.0
+-1003701605 IN0pT43W73j0viT885YKU16 176.0
+-1003663525 NULL NULL
+-1003663525 mPp7oQ4Adp2f7Hl82 NULL
+-1003653258 NULL 384.0
+-1003653258 36g21Q 384.0
+-1003461762 NULL NULL
+-1003461762 0lhcglI NULL
+-1002943066 NULL 8381.0
+-1002943066 3obyVy5iSrWwgK7R3u6YHi 8381.0
+-1002568394 NULL 5012.0
+-1002568394 Vpsyy3y3607I45wt80mt8v 5012.0
+-1002498271 NULL NULL
+-1002498271 4A7p4HkPm01W0 NULL
+-1002435712 NULL NULL
+-1002435712 G6KW4uOD55dfWK NULL
+-1002431520 NULL 3259.0
+-1002431520 JxI8vHvRp2qUEeHIFB 3259.0
+-1002350795 NULL -7893.0
+-1002350795 UD71663I2qu1c5pqA2Kf1 -7893.0
+-1002277189 NULL 10937.0
+-1002277189 gGFiuV 10937.0
+-1002045753 NULL 8401.0
+-1002045753 bjQP6L 8401.0
+-1001510525 NULL 10887.0
+-1001510525 b4R0JR2yv3Gk30228 10887.0
+-1001487162 NULL 12961.0
+-1001487162 UrDe6x72B5ycy 12961.0
+-1001446082 NULL NULL
+-1001446082 CqdMb86r52TC3NgM187 NULL
+-1001217298 NULL -14171.0
+-1001217298 arVcY7cHiMpnKLp1tj7 -14171.0
+-1000977746 NULL 11602.0
+-1000977746 gSL2wI2m2i778C3WU 11602.0
+-1000804087 NULL NULL
+-1000804087 H8LCu4M2u4f1S NULL
+-1000318990 NULL NULL
+-1000318990 wtuJ56tof2pQf NULL
+-999783487 NULL NULL
+-999783487 I6Yl6OVpH65i NULL
+-999260869 NULL 5312.0
+-999260869 PovkPN 5312.0
+-998835088 NULL 9182.0
+-998835088 327LJ26mRqM 9182.0
+-998386072 NULL NULL
+-998386072 75KN62a2iAf0j5Jol77wH7 NULL
+-998124283 NULL 4762.0
+-998124283 EavI0LN82c3A1UN 4762.0
+-996912892 NULL NULL
+-996912892 3FhN0p4lstJDMEtXC1005J0Y NULL
+-996769125 NULL -10813.0
+-996769125 BRM3geidCoOv6Kw -10813.0
+-996346808 NULL NULL
+-996346808 LgMBG6G3Oc5baLkjeP50i8 NULL
+-995540123 NULL 2137.0
+-995540123 iO4Vsa4mC3r05C 2137.0
+-994853271 NULL NULL
+-994853271 YNsNwqw8y7D65 NULL
+-994852952 NULL NULL
+-994852952 vcB3rQ NULL
+-994675218 NULL -13240.0
+-994675218 RAaC3XB8wMh8On8X -13240.0
+-994644593 NULL NULL
+-994644593 N7ED661T508c1vmM NULL
+-994634414 NULL -11377.0
+-994634414 PNs6tw6fjOl1yNl1e -11377.0
+-994526450 NULL NULL
+-994526450 Y55ytQtGRN8l58131e NULL
+-994104389 NULL NULL
+-994104389 piK2mt5jDn NULL
+-993786473 NULL NULL
+-993786473 qAoGjP7q7r8p460I3aT5x7o NULL
+-993447992 NULL NULL
+-993447992 UAx76nB02256 NULL
+-993291633 NULL NULL
+-993291633 8reJCOg48gHGHDs NULL
+-992653997 NULL NULL
+-992653997 YIxsR NULL
+-992454835 NULL NULL
+-992454835 MWoHbU5I00oL7X86882y8cou NULL
+-992176092 NULL 7031.0
+-992176092 O6o7xl47446MR 7031.0
+-991137058 NULL -3128.0
+-991137058 hAd5Sr6Iosm0 -3128.0
+-991049363 NULL NULL
+-991049363 yif2md2VvY NULL
+-990879541 NULL 10767.0
+-990879541 c0A7Ma63T77BgT71 10767.0
+-990765448 NULL -2693.0
+-990765448 Ki4yIh3hXjHn26 -2693.0
+-990740632 NULL NULL
+-990740632 T8qIr36l6EYHj87DVl8h NULL
+-989969289 NULL -7662.0
+-989969289 UK0lin57gy -7662.0
+-989521057 NULL -10688.0
+-989521057 E5ud7eWss5yUDB6657GIS -10688.0
+-989395010 NULL -16172.0
+-989395010 ROLlg0rtT -16172.0
+-989220156 NULL -70.0
+-989220156 LAg3ad48X41nC22ThrX4 -70.0
+-989154705 NULL 14445.0
+-989154705 Y7vBl4PXIPqRBJSx3sd75 14445.0
+-988289401 NULL NULL
+-988289401 CeG187j NULL
+-987261044 NULL 3978.0
+-987261044 3meYy6xhwQL4817A3UM 3978.0
+-987252715 NULL NULL
+-987252715 CUa3sAF216u7IeQ NULL
+-986848527 NULL 7571.0
+-986848527 YCSg3CF070FDEip2r7djAA 7571.0
+-985746213 NULL NULL
+-985746213 BI77180Jc0ga4eu2TD3n NULL
+-985655403 NULL NULL
+-985655403 esc3k10A074II2a6h45 NULL
+-984148230 NULL 10015.0
+-984148230 cklLRY5lqR5bojRXCTaAFg 10015.0
+-983336429 NULL NULL
+-983336429 8U0bLsWq8444DJ5TW NULL
+-982218899 NULL 13786.0
+-982218899 TBbxkMGlYD17B7d76b7x3 13786.0
+-981967139 NULL NULL
+-981967139 04w7DF25lHW4 NULL
+-981827348 NULL NULL
+-981827348 vk2yV084Uf14ULLNJI NULL
+-981825987 NULL NULL
+-981825987 4x1067604ekVjosSK5d2umw NULL
+-981689559 NULL -31.0
+-981689559 iSWa0uvV1O16A3H -31.0
+-981529187 NULL NULL
+-981529187 KCaXaJvGKfj1tr NULL
+-981501268 NULL 12800.0
+-981501268 NC7F5u31 12800.0
+-981445439 NULL NULL
+-981445439 1RH526 NULL
+-980921154 NULL NULL
+-980921154 j337j4544rq NULL
+-980795786 NULL -4843.0
+-980795786 rELQhxExg7NKKs8hS5c -4843.0
+-980511555 NULL NULL
+-980511555 1TBB2v0eBqlr4c7d NULL
+-980375431 NULL NULL
+-980375431 mc3NjQOr14RVi NULL
+-980072140 NULL NULL
+-980072140 Jt7E0sR3X7V NULL
+-979733794 NULL NULL
+-979733794 0mrwaF7Lj8 NULL
+-979494445 NULL NULL
+-979494445 o6kKvK7SDJ6 NULL
+-979430024 NULL -9418.0
+-979430024 WU7g0T0a15w2v5t -9418.0
+-979388590 NULL 2045.0
+-979388590 ovf0gMXhh2H86Alw2C0 2045.0
+-978898374 NULL NULL
+-978898374 ShA4jlmOwF8u7kjN NULL
+-978516833 NULL NULL
+-978516833 75nB4HFf6o8qwf7gRdfNL NULL
+-978064614 NULL NULL
+-978064614 LSGQPxLff8bpk NULL
+-978062582 NULL NULL
+-978062582 2oSudUNUX6 NULL
+-977680439 NULL -5654.0
+-977680439 u654E6tw3O5dpRaV8 -5654.0
+-977661266 NULL NULL
+-977661266 b NULL
+-976688676 NULL NULL
+-976688676 Ph2xOHI4 NULL
+-974538365 NULL 4516.0
+-974538365 10lL0XD6WP2x64f70N0fHmC1 4516.0
+-974429749 NULL 10933.0
+-974429749 6V8P632qsh08uP2oc3o 10933.0
+-973002254 NULL -13269.0
+-973002254 yHf3d -13269.0
+-972704111 NULL -10146.0
+-972704111 K8vvk4yC81N7ToL2XVb3d -10146.0
+-972401405 NULL NULL
+-972401405 es103bnsOVpy NULL
+-971914566 NULL NULL
+-971914566 6502UQ2Jb18nD7kNw NULL
+-971659088 NULL NULL
+-971659088 GVsdgDhg NULL
+-971594866 NULL -3079.0
+-971594866 2bc3O0wh -3079.0
+-971543377 NULL NULL
+-971543377 uN803aW NULL
+-971434630 NULL -6849.0
+-971434630 ASSe7kYrOuU1RY5xfqOu4 -6849.0
+-970918963 NULL NULL
+-970918963 suoqdh NULL
+-970831643 NULL 2930.0
+-970831643 538e1Ht8T4tNdGJa5 2930.0
+-970640948 NULL NULL
+-970640948 frhe0 NULL
+-970458577 NULL -12937.0
+-970458577 nh2k85JcV054IH -12937.0
+-969472955 NULL -11432.0
+-969472955 6C5aLN4wM0 -11432.0
+-969455852 NULL NULL
+-969455852 0Apbh7X08i2JyMK NULL
+-969157542 NULL 8738.0
+-969157542 4Y8NFk7mqmC3 8738.0
+-968854798 NULL 8848.0
+-968854798 11R5e0X4LOeDU3kGt 8848.0
+-968537902 NULL -7803.0
+-968537902 22s7l8b06mB7664p -7803.0
+-968054937 NULL 14266.0
+-968054937 3l2B8dk37cU2tI73S74Iw 14266.0
+-967848414 NULL NULL
+-967848414 LHow6beTFmm4fPjj43Qy NULL
+-967332397 NULL NULL
+-967332397 V3xf5QPg7EABK NULL
+-966800904 NULL 12585.0
+-966800904 A5d3WY0X3i8b 12585.0
+-966581785 NULL 5323.0
+-966581785 6vl6871LI44R1g1A58lhDH5r 5323.0
+-966248336 NULL 11685.0
+-966248336 6255bIgnJx36iq1nNFiQ1 11685.0
+-965597463 NULL NULL
+-965597463 b0G65a66732y6yE65hQ0 NULL
+-964492915 NULL NULL
+-964492915 fs2RNhI5c10lFG7O NULL
+-964373678 NULL -9013.0
+-964373678 58dScG1eiYxH -9013.0
+-963400769 NULL NULL
+-963400769 l1xK7L0L6TjOPrB1tc NULL
+-963057170 NULL NULL
+-963057170 QdHVkD7V11xI8fC NULL
+-961419563 NULL -15748.0
+-961419563 442rSKupjwM -15748.0
+-960321207 NULL NULL
+-960321207 JvGVOip65N3hgA NULL
+-959745051 NULL -5818.0
+-959745051 0W67K0mT27r22f817281Ocq -5818.0
+-959536113 NULL 183.0
+-959536113 6sv3ND7cm7oj62dW5A8ms 183.0
+-958302213 NULL NULL
+-958302213 5d4rPb72As3cr1UU04go8 NULL
+-958249981 NULL 2531.0
+-958249981 liesHDBdq2Y18k4frvp3u 2531.0
+-958189198 NULL -12313.0
+-958189198 B0q1K7dlcKAC46176yc83 -12313.0
+-958151799 NULL -5513.0
+-958151799 8n431HuJF6X2x46Rt -5513.0
+-958046031 NULL 12073.0
+-958046031 ytj7g5W 12073.0
+-957669269 NULL 5188.0
+-957669269 OQk1qTc7L6BHW0IU5cbY 5188.0
+-956384224 NULL -5503.0
+-956384224 UnBWlD3B -5503.0
+-956049586 NULL -10014.0
+-956049586 Hj3R632OuQwd0r -10014.0
+-956027484 NULL NULL
+-956027484 1w7DPjq NULL
+-956005635 NULL 6362.0
+-956005635 pkx6Ce4rM6PyWw4q1T 6362.0
+-955690983 NULL -4191.0
+-955690983 7UcmGTD0H3teObxa3PIKsChx -4191.0
+-954917203 NULL NULL
+-954917203 1M4eTm8OcOW2dAMV2V5slS1 NULL
+-954361618 NULL -11009.0
+-954361618 8e5DWN6xSnwJyy -11009.0
+-952682211 NULL NULL
+-952682211 5qF06th6U7v2nLJ NULL
+-952354560 NULL 10437.0
+-952354560 8Mw4p5Jvd 10437.0
+-951788179 NULL NULL
+-951788179 4MUYUYLAD7d0lk70NJjc6LB6 NULL
+-950198887 NULL NULL
+-950198887 58hP5c4e3S68K72k1tO1Edw NULL
+-950164694 NULL NULL
+-950164694 DS4iDURlsq418pFh8 NULL
+-949589359 NULL NULL
+-949589359 6n3S324AM NULL
+-949587513 NULL NULL
+-949587513 NULL NULL
+-949286785 NULL NULL
+-949286785 XWuYuk5qpn5Khs3764E56 NULL
+-947302120 NULL NULL
+-947302120 035i4wu42Rs3Uu1ft5K0AOe NULL
+-947255611 NULL 13661.0
+-947255611 vgKx505VdPsHO 13661.0
+-947250116 NULL 2803.0
+-947250116 Kc1lPGJx6JXTcDsck00 2803.0
+-947119457 NULL NULL
+-947119457 K3Ajb4l11HjWeEEnM02w NULL
+-946531910 NULL NULL
+-946531910 66Mx4v NULL
+-946347591 NULL NULL
+-946347591 vfY7008pQEkX2F315E NULL
+-945792347 NULL 1638.0
+-945792347 O5L38Cc7moc2 1638.0
+-945525067 NULL 680.0
+-945525067 K8COoSc8N 680.0
+-944446388 NULL 4199.0
+-944446388 2I805mn6PngvT2rj 4199.0
+-944227723 NULL 1307.0
+-944227723 03Kvh3FL1P5FN0BY37kHpH 1307.0
+-944135193 NULL NULL
+-944135193 M32Kp NULL
+-943342622 NULL NULL
+-943342622 3w6XYq04J0Lb3Sv82eOV2HJ NULL
+-943276546 NULL 6206.0
+-943276546 7PE3Nv5LTl 6206.0
+-942970125 NULL NULL
+-942970125 7V65Eih84lc86QMJ2O NULL
+-941887337 NULL NULL
+-941887337 dIaRCgF47dy7ICv2EWJ4YN NULL
+-941753533 NULL NULL
+-941753533 033ffm5082ng0V NULL
+-941583325 NULL -10829.0
+-941583325 ijeMq4LXB5UJ4Q27LsX -10829.0
+-940778067 NULL NULL
+-940778067 vjtW5U2e1 NULL
+-940211279 NULL 336.0
+-940211279 gqf1847u6CuJaw4D6 336.0
+-939769556 NULL NULL
+-939769556 Xc3mi NULL
+-939492022 NULL NULL
+-939492022 uT5e2 NULL
+-939175504 NULL -12288.0
+-939175504 J54mWKFYUD081SIe -12288.0
+-938612134 NULL NULL
+-938612134 6bnEapMI6L NULL
+-938540627 NULL NULL
+-938540627 I642k31ww3Dpg87fN41 NULL
+-938412408 NULL NULL
+-938412408 AQeg2Ym4L NULL
+-938297418 NULL NULL
+-938297418 G7IJs50P82Y5G4s1nH52Y2j NULL
+-938136664 NULL NULL
+-938136664 Md0yyD6nXB1OBFdM2Gc NULL
+-937792363 NULL -4909.0
+-937792363 7Qy0j102iq4kv45G -4909.0
+-937557606 NULL NULL
+-937557606 2251WSv5eA2l6WqesdKPM2 NULL
+-937519227 NULL NULL
+-937519227 Y5u0Yy NULL
+-936910207 NULL NULL
+-936910207 ImYiNP1Y0JoBfQLbd NULL
+-936752168 NULL NULL
+-936752168 aH8tj4fj5to6URm5U6oonnd7 NULL
+-936628759 NULL NULL
+-936628759 4H51gSf4ykVH NULL
+-935954054 NULL NULL
+-935954054 v6lPjluh77k5 NULL
+-935902496 NULL -3406.0
+-935902496 1Uwni6D5JQ -3406.0
+-935790912 NULL -12757.0
+-935790912 H8MrS6CwPO16RoSj -12757.0
+-935243511 NULL 3290.0
+-935243511 88Gp8064umWOY 3290.0
+-934621405 NULL -852.0
+-934621405 5OcrJ -852.0
+-934495072 NULL -8103.0
+-934495072 cv6sd53W530KHEOy7 -8103.0
+-934037832 NULL -4583.0
+-934037832 GclmMLkS0 -4583.0
+-933664265 NULL 13750.0
+-933664265 ue8IUf0GlY18RT325P2tu 13750.0
+-933211703 NULL NULL
+-933211703 V630OaEm NULL
+-932998902 NULL NULL
+-932998902 kAr0ffWGEU7MHSKp NULL
+-932621913 NULL 8285.0
+-932621913 7etT21xSNx 8285.0
+-932242433 NULL NULL
+-932242433 6F8wR45s5ys8AkrBE17dn2oV NULL
+-932173888 NULL NULL
+-932173888 0N7O6L1Gg1ja NULL
+-932081829 NULL 2156.0
+-932081829 74VDRA6 2156.0
+-931748444 NULL 10538.0
+-931748444 qNE6PL88c2r64x3FvK 10538.0
+-931195659 NULL -12704.0
+-931195659 5y65rNnX4IsiQHRe8327 -12704.0
+-930947105 NULL 7187.0
+-930947105 lOyq082EPF1mv7Aldf 7187.0
+-930924528 NULL 3242.0
+-930924528 6317KIB8strmpE85j 3242.0
+-930688343 NULL -8351.0
+-930688343 r8AH7UhYMb4w6nN30C -8351.0
+-930463965 NULL NULL
+-930463965 ldk1K NULL
+-930286025 NULL NULL
+-930286025 5mOUrM8o4W6A NULL
+-930153712 NULL NULL
+-930153712 Jj21024T2xdn6 NULL
+-929968036 NULL -1865.0
+-929968036 7axyXd55ji4n -1865.0
+-929911781 NULL -10084.0
+-929911781 VWD2O2vD -10084.0
+-928500968 NULL NULL
+-928500968 34oSgU32X NULL
+-928315588 NULL -12244.0
+-928315588 6THl7n0OK0Eiq7 -12244.0
+-927796109 NULL NULL
+-927796109 ASm1a20I155Y NULL
+-927731540 NULL NULL
+-927731540 pIO3OuP40U8U1i112A NULL
+-926898562 NULL -5249.0
+-926898562 0OerNktBX10PyHs1sE -5249.0
+-925970696 NULL NULL
+-925970696 46uf5iNX NULL
+-925336063 NULL NULL
+-925336063 060EnWLmWE4K8Pv NULL
+-924196532 NULL NULL
+-924196532 LfUyaaMR2 NULL
+-924070723 NULL NULL
+-924070723 G82p1 NULL
+-923967881 NULL -11896.0
+-923967881 kE4AFD1BKG -11896.0
+-923783523 NULL -5511.0
+-923783523 bd6LedV7 -5511.0
+-923565158 NULL 7265.0
+-923565158 S8b1BRKPK4cTM3nbaI 7265.0
+-923400421 NULL NULL
+-923400421 MJ7Ej4tBYS8l2mK NULL
+-923394075 NULL 4695.0
+-923394075 K428Y0T0R2ui6S 4695.0
+-923308739 NULL 16343.0
+-923308739 K27XxFR7JP5b07DPwL 16343.0
+-923159888 NULL 12456.0
+-923159888 2dBEmWgC3OK06DpPc78Ew6l 12456.0
+-923085953 NULL 15530.0
+-923085953 Y452MvjJO04RMqES3O3 15530.0
+-922125566 NULL NULL
+-922125566 7BojnC3DIBmmGo8 NULL
+-922060433 NULL -15760.0
+-922060433 CHP5367P06dFMPWw23eQ -15760.0
+-921532922 NULL 3806.0
+-921532922 q2gwWd 3806.0
+-921442365 NULL -9863.0
+-921442365 hM4h8a4aXwJP1127xAC -9863.0
+-921160274 NULL NULL
+-921160274 G0PNHsT6RM4 NULL
+-920640297 NULL -11092.0
+-920640297 KgXWlcGb1q0 -11092.0
+-920239032 NULL NULL
+-920239032 xYc4JeNp63 NULL
+-919940926 NULL NULL
+-919940926 i1P3Wlat5EnBugL24oS4I3 NULL
+-919606143 NULL NULL
+-919606143 LOP6Akks01gG1 NULL
+-919086142 NULL -10390.0
+-919086142 uP86Gk44hMQJd -10390.0
+-919000494 NULL -14534.0
+-919000494 SDw8F62m1k4E8tR1YSIfT8 -14534.0
+-918847065 NULL 12969.0
+-918847065 kJPN7Y1u 12969.0
+-918789155 NULL NULL
+-918789155 07E7K7b8A20SU0y1Dls8ph NULL
+-918529931 NULL 5265.0
+-918529931 TI3s2Wwu6V5I 5265.0
+-918121938 NULL -13932.0
+-918121938 oVbH3m8HbK1lc7T23YH57C -13932.0
+-917825506 NULL NULL
+-917825506 41Uxbkbws7x1oN1M5I NULL
+-917704043 NULL -10286.0
+-917704043 3q4Mex4ok5Wj6j706Vh -10286.0
+-917493150 NULL NULL
+-917493150 wB06b612o55 NULL
+-917046030 NULL NULL
+-917046030 r3CkPpt24 NULL
+-916999377 NULL NULL
+-916999377 2H45o NULL
+-916961534 NULL NULL
+-916961534 x28I3iV5XV870TUy3Fww NULL
+-916953929 NULL -14533.0
+-916953929 X5yxXhH276Da44jYTNH -14533.0
+-916222455 NULL NULL
+-916222455 dG8B5PQ3b85U362G6huu NULL
+-916043488 NULL 3151.0
+-916043488 BPm3v8Y4 3151.0
+-915948843 NULL 5468.0
+-915948843 631404U8x6HaGp62LP6o 5468.0
+-915663531 NULL 6474.0
+-915663531 Ru7fjpH4C0YOXs6E 6474.0
+-915661374 NULL -10967.0
+-915661374 3VI3qF5L1rHaYfdh -10967.0
+-915640580 NULL NULL
+-915640580 HhttPdKp4 NULL
+-915397772 NULL NULL
+-915397772 oL6efjpa0wqd2oPGrY5 NULL
+-915318164 NULL NULL
+-915318164 IpqVS NULL
+-914887396 NULL NULL
+-914887396 o2IY6 NULL
+-914258866 NULL -1639.0
+-914258866 833RMHSwWvEg01S -1639.0
+-913794094 NULL NULL
+-913794094 x5x5bxme NULL
+-913679461 NULL 1997.0
+-913679461 V0aUb2c8h6sjlr1EaX5 1997.0
+-913636403 NULL 583.0
+-913636403 6bRSgHOELMA 583.0
+-912375058 NULL 423.0
+-912375058 RDLOWd758CODQgBBA8hd172 423.0
+-912295013 NULL NULL
+-912295013 oE25GuI6446Hq06G4f NULL
+-912111773 NULL NULL
+-912111773 6mQ6vL4d NULL
+-911635327 NULL 8335.0
+-911635327 njaAsltsX10oT 8335.0
+-911476567 NULL 151.0
+-911476567 8166346wkHn 151.0
+-911324411 NULL NULL
+-911324411 0dtVL5IFPf NULL
+-911228872 NULL NULL
+-911228872 o78FOQh4Cb NULL
+-910580287 NULL NULL
+-910580287 a8b541Q2 NULL
+-910451798 NULL NULL
+-910451798 W8515aW82L NULL
+-909727812 NULL 186.0
+-909727812 GhpgUQt6bUc8o8XVJuQ7 186.0
+-909436335 NULL -4713.0
+-909436335 5Qs1U0b3B0c7Le72Q3537o -4713.0
+-909182530 NULL -15920.0
+-909182530 l7OeCG6Wug1Rl42lSpR -15920.0
+-908724863 NULL -15454.0
+-908724863 2By078 -15454.0
+-907944783 NULL 4059.0
+-907944783 Csi0Uf 4059.0
+-907424078 NULL NULL
+-907424078 fwo2yaxByegAga0 NULL
+-907260907 NULL -2565.0
+-907260907 oyxhfOgpr -2565.0
+-907171178 NULL NULL
+-907171178 HfdKopI NULL
+-906869010 NULL NULL
+-906869010 djLQ52K3s5ReY3TQyWRl6 NULL
+-906573604 NULL -15016.0
+-906573604 h2Q4cPeN8N81eVRhLb -15016.0
+-905885890 NULL 14557.0
+-905885890 Holgr1pin 14557.0
+-904839154 NULL -11563.0
+-904839154 Cgxm73PXWLlvbIm -11563.0
+-904556183 NULL -8980.0
+-904556183 Y6L2obKBywPjBP -8980.0
+-904482179 NULL NULL
+-904482179 k3GuA6TkIg322clu8v55qt NULL
+-904319033 NULL -14585.0
+-904319033 puBJkwCpLJ7W3O144W -14585.0
+-903930060 NULL -15851.0
+-903930060 WpFX83866M7mrm -15851.0
+-902987695 NULL -2179.0
+-902987695 D2cd5 -2179.0
+-901934849 NULL NULL
+-901934849 6tH7O0gw0gJ NULL
+-901668129 NULL NULL
+-901668129 P3p570gQ8 NULL
+-901621628 NULL NULL
+-901621628 6i3yr5yS8g5fm8I NULL
+-900865361 NULL NULL
+-900865361 mvl88OrMd5O2WYb NULL
+-900785703 NULL NULL
+-900785703 khbfu5Ui5SQ88sCkT05Vq NULL
+-900747299 NULL NULL
+-900747299 6EkcHQJ8dg NULL
+-900583154 NULL NULL
+-900583154 1sJei0Gh NULL
+-900044062 NULL NULL
+-900044062 YwV7DVLB0kut0S5p NULL
+-899756697 NULL NULL
+-899756697 5nDHTQtR7 NULL
+-899654283 NULL 15570.0
+-899654283 5cN3HGI4KhCrP 15570.0
+-899422227 NULL NULL
+-899422227 73xdw4X NULL
+-899385340 NULL NULL
+-899385340 b1Q3yX NULL
+-898241885 NULL NULL
+-898241885 pM6Gt05s1YJeii NULL
+-898159835 NULL -11098.0
+-898159835 dU3yfLb6E1y0pxkF5V3q2ca7 -11098.0
+-897937425 NULL -8153.0
+-897937425 317wH7BrLo671 -8153.0
+-896870823 NULL -11838.0
+-896870823 fduo5V7B450uUI3H436Q8 -11838.0
+-896721091 NULL -5772.0
+-896721091 26x031 -5772.0
+-896629175 NULL -13008.0
+-896629175 10 -13008.0
+-895220143 NULL NULL
+-895220143 Xtw4eM002sS1101p NULL
+-894717108 NULL NULL
+-894717108 GPijCx2T8HpOF1dN6 NULL
+-894716315 NULL -16379.0
+-894716315 2ArdYqML3654nUjGJk3 -16379.0
+-894394703 NULL -3178.0
+-894394703 tFtQ26aDMi1tJ026luPcu -3178.0
+-893936088 NULL NULL
+-893936088 j5QBwD36Ay5 NULL
+-892924454 NULL NULL
+-892924454 akfWVGu2g0io NULL
+-892838981 NULL 14187.0
+-892838981 lB0rr84T78QE8UDVl0e1qI 14187.0
+-892021712 NULL NULL
+-892021712 SimYF0Eg747f7 NULL
+-891785445 NULL NULL
+-891785445 31m1d3P3AD NULL
+-891685715 NULL NULL
+-891685715 G3a6E0Mll NULL
+-891462242 NULL NULL
+-891462242 ebM416Q021xLQ0h8qDS7qw7U NULL
+-891360004 NULL NULL
+-891360004 2G6B67cu1BUqRd3I52Ug20 NULL
+-891316721 NULL -16030.0
+-891316721 gBg7S1x5obicN -16030.0
+-889865534 NULL 13080.0
+-889865534 6U78kBJIpi8IK 13080.0
+-889347475 NULL -15020.0
+-889347475 XR134uVnw0 -15020.0
+-889199554 NULL 10147.0
+-889199554 BWiKbU8s3 10147.0
+-888580429 NULL -11781.0
+-888580429 s78853HC8E -11781.0
+-888297283 NULL NULL
+-888297283 883d6jHJd20KHEEu0R1Kx41 NULL
+-888269444 NULL NULL
+-888269444 F13clAHtHaUN2t6wLxE7S3T NULL
+-888205906 NULL NULL
+-888205906 HjA52J2d64r1fFmBITy1 NULL
+-887750610 NULL NULL
+-887750610 ffT4cTjYf2NJ NULL
+-886426182 NULL NULL
+-886426182 0i88xYq3gx1nW4vKjp7vBp3 NULL
+-885978876 NULL 12578.0
+-885978876 2Q18K28dIIL 12578.0
+-885862812 NULL 11253.0
+-885862812 ne08407 11253.0
+-885788893 NULL NULL
+-885788893 LX6QHG6sEmBAIbA6e6Am24 NULL
+-885777373 NULL NULL
+-885777373 F3wAY4D4XxYt NULL
+-885643945 NULL -15237.0
+-885643945 VU46u4nh7 -15237.0
+-885024586 NULL NULL
+-885024586 8E57cicQ2cn6Ld NULL
+-884913446 NULL NULL
+-884913446 USRi4RC1gq NULL
+-884671420 NULL NULL
+-884671420 QbGMK NULL
+-884258732 NULL -6786.0
+-884258732 A6M1di6LUH -6786.0
+-884036730 NULL NULL
+-884036730 EJPe8rNq3c5piv4 NULL
+-883621809 NULL 1360.0
+-883621809 36N3svcnLD30QwA6im3 1360.0
+-883321517 NULL NULL
+-883321517 RJsFsi3a85svGBfT8 NULL
+-883070198 NULL NULL
+-883070198 3q00y4llsXx3Ao NULL
+-882327854 NULL 6348.0
+-882327854 u67X1Fjm 6348.0
+-882306033 NULL 6798.0
+-882306033 3h01b8LfJ812JV4gwhfT8u 6798.0
+-882279083 NULL NULL
+-882279083 BYD32YqIWlOgNpL NULL
+-881691043 NULL 6262.0
+-881691043 6238rs225bo0RaTw5 6262.0
+-881630661 NULL NULL
+-881630661 3e27C1jTdTQPdvCWi4if NULL
+-879467959 NULL -15727.0
+-879467959 H8fHVjq8WdXUE4uRPjnyv -15727.0
+-878577676 NULL NULL
+-878577676 ea23p2penJ5W5T4 NULL
+-878189860 NULL 6071.0
+-878189860 3H2oU6X61KsBGr 6071.0
+-878138057 NULL 8128.0
+-878138057 pE1ogG1QvOu0Wabw6xaK7 8128.0
+-877935440 NULL NULL
+-877935440 mLcj2Cd6L317mcE8Wyv5 NULL
+-877904231 NULL NULL
+-877904231 6Dnq5hvbkk NULL
+-876398260 NULL NULL
+-876398260 2kechLGLtV1b2FK6h NULL
+-876146622 NULL 2624.0
+-876146622 dQsIgL 2624.0
+-875527384 NULL NULL
+-875527384 3W0GorVd6GStPF5S43 NULL
+-875176385 NULL NULL
+-875176385 2dU734cvN0P2k65CE NULL
+-874869587 NULL 3540.0
+-874869587 XGUO2CP2gvDb 3540.0
+-874677727 NULL NULL
+-874677727 HJPWlb23N NULL
+-874250037 NULL -10928.0
+-874250037 K3imEW3S7DRihILRDg7qq -10928.0
+-873326413 NULL NULL
+-873326413 CDpW47u3jamce NULL
+-873076557 NULL 14197.0
+-873076557 m1r44v7Vm6O6Et2 14197.0
+-873020594 NULL 8854.0
+-873020594 6648LI57SdO7 8854.0
+-871945058 NULL NULL
+-871945058 lcL6t NULL
+-871906906 NULL -13617.0
+-871906906 dV86D7yr0I62C -13617.0
+-871729045 NULL 14015.0
+-871729045 7cyjB646NeRKiJ2 14015.0
+-871616990 NULL -15590.0
+-871616990 yfR36R70W0G1KV4dmi1 -15590.0
+-871053717 NULL 15217.0
+-871053717 QEF7UG67MDaTK504bNrF 15217.0
+-870474082 NULL NULL
+-870474082 tdFP6MjN5b NULL
+-870467382 NULL NULL
+-870467382 0TN06s2WtHc NULL
+-870425713 NULL -5903.0
+-870425713 muCmnW -5903.0
+-869516919 NULL -12524.0
+-869516919 08toVN737ni -12524.0
+-869486135 NULL NULL
+-869486135 3hF4a683G4Vc2N1 NULL
+-868817933 NULL NULL
+-868817933 g2E87 NULL
+-867544560 NULL 4898.0
+-867544560 xvB8xiamF7iQXl 4898.0
+-867442312 NULL -2476.0
+-867442312 J15C2 -2476.0
+-867244616 NULL -7246.0
+-867244616 rmshOh3J4a8 -7246.0
+-866979144 NULL -4050.0
+-866979144 oX8e2n7518CMTFQP -4050.0
+-866635979 NULL NULL
+-866635979 TBI20Ba2YuO44754E2BM NULL
+-865393033 NULL 15600.0
+-865393033 yujO07KWj 15600.0
+-865331336 NULL NULL
+-865331336 prt6lty28No8xni NULL
+-865283615 NULL -7691.0
+-865283615 j8fJ4l2w4F8fI51 -7691.0
+-864971483 NULL 15786.0
+-864971483 86S3F 15786.0
+-864283055 NULL NULL
+-864283055 K7qIIaDS5myN14c0cJeiaW0U NULL
+-863968456 NULL NULL
+-863968456 X48kUVK NULL
+-863937148 NULL NULL
+-863937148 vUum3jv NULL
+-863239524 NULL NULL
+-863239524 Nr3652 NULL
+-863132856 NULL -7645.0
+-863132856 CFJ0FK0U143Js1C433sB -7645.0
+-862663154 NULL -10288.0
+-862663154 4fB0amev -10288.0
+-861976705 NULL 13894.0
+-861976705 Q282L11WWFni6av8FGn 13894.0
+-861754250 NULL NULL
+-861754250 74aYA3Gbe0GnVm6lR3Vjh NULL
+-861509703 NULL NULL
+-861509703 5tdqo738BN NULL
+-861480849 NULL 8068.0
+-861480849 04H5odDUy1D1rhGLXGu 8068.0
+-861309065 NULL 11795.0
+-861309065 df3lR0B 11795.0
+-860437234 NULL -16300.0
+-860437234 Fb2W1r24opqN8m6571p -16300.0
+-860076303 NULL -6204.0
+-860076303 LBaRLg3 -6204.0
+-859482455 NULL NULL
+-859482455 14fnT7A11Y6fE NULL
+-859441069 NULL 804.0
+-859441069 01JwN1NVt1HU3sW3 804.0
+-857706481 NULL 7598.0
+-857706481 5Xab46Lyo 7598.0
+-857698490 NULL NULL
+-857698490 SeT3MaHfQ2 NULL
+-857484124 NULL NULL
+-857484124 65NJ5u6TD716OP4hB NULL
+-857251816 NULL NULL
+-857251816 II1600yobW7p NULL
+-854749761 NULL NULL
+-854749761 pL11U1oq48Oj202Wy2W7B NULL
+-854062357 NULL NULL
+-854062357 2j2W3xc42VkSq4Nh NULL
+-853928913 NULL NULL
+-853928913 y67hcqjKO4U8fUb0HQ2usfR NULL
+-853693520 NULL NULL
+-853693520 i6G060 NULL
+-853266570 NULL NULL
+-853266570 uHdg0rSe NULL
+-853174251 NULL -8708.0
+-853174251 kf0sFoH0CK1HEIOTntq -8708.0
+-853118632 NULL NULL
+-853118632 er5IUhd505r0lT6sc20Tef5q NULL
+-852886934 NULL 14782.0
+-852886934 80gvNBSa2gsK 14782.0
+-852864663 NULL NULL
+-852864663 bMKsgu5OdWu4vjTa1nt NULL
+-852228124 NULL -7170.0
+-852228124 563414Ge0cqfJ8v5SaIQ2W3j -7170.0
+-852028718 NULL 13117.0
+-852028718 4H8qjd2yd36j5W 13117.0
+-851613195 NULL NULL
+-851613195 34p208wH32 NULL
+-851067861 NULL NULL
+-851067861 lD0h1L8852501n NULL
+-850655056 NULL 270.0
+-850655056 35nkObNsO2p045cJ3 270.0
+-850434394 NULL NULL
+-850434394 4eWh0BTSBEu2 NULL
+-850295959 NULL NULL
+-850295959 WMIgGA73 NULL
+-850094446 NULL NULL
+-850094446 8Bshk4eu870M3VyJ8c4D1upr NULL
+-849805213 NULL -8090.0
+-849805213 Q0TBQ1G -8090.0
+-849536850 NULL NULL
+-849536850 U3MM60y4t4Ykm NULL
+-849286968 NULL NULL
+-849286968 U83eH0Y8P1 NULL
+-848947717 NULL NULL
+-848947717 34o2M3 NULL
+-848499154 NULL NULL
+-848499154 hnrm68NiEQCL4 NULL
+-848015950 NULL NULL
+-848015950 6shc3Y NULL
+-847982475 NULL NULL
+-847982475 0A2k346GBQ NULL
+-847027327 NULL 7125.0
+-847027327 uDfpSf0NyIIVM4fEiB 7125.0
+-846755534 NULL NULL
+-846755534 HkX7hlT2TK0Je7ersfx72o NULL
+-846621959 NULL NULL
+-846621959 vYn2xNo5rSob8 NULL
+-846295151 NULL -11227.0
+-846295151 MJXhdk7vIa46PIHO5R67oc -11227.0
+-846105768 NULL NULL
+-846105768 EPCRx8ObNv51rOF NULL
+-845913091 NULL NULL
+-845913091 30J4VggeJfk6l24Wj3Q28 NULL
+-845450039 NULL NULL
+-845450039 HG52N6amN NULL
+-845351824 NULL -11392.0
+-845351824 1WRcDois5 -11392.0
+-844936480 NULL 967.0
+-844936480 c10CM0 967.0
+-844484962 NULL -4971.0
+-844484962 KwqjKvxg17Ro85YEQYKl -4971.0
+-844012686 NULL 1681.0
+-844012686 3U6OMM3 1681.0
+-843407989 NULL NULL
+-843407989 wLm0KO7A8v2S88GbFqMvP4 NULL
+-841726321 NULL -4011.0
+-841726321 dLYpl55rytQl5 -4011.0
+-841119873 NULL NULL
+-841119873 c06VUBp33f60n5jx3o1LWkpF NULL
+-841037187 NULL NULL
+-841037187 2sJpP82Tgm NULL
+-840060695 NULL 3642.0
+-840060695 wwp1nVv5UU85 3642.0
+-839442116 NULL NULL
+-839442116 ai6nt5l5gCA3p71Q NULL
+-839336166 NULL NULL
+-839336166 r5osh2m507Ot387emvDxNY NULL
+-839128780 NULL NULL
+-839128780 H581dL8J4qjjb1DAPl NULL
+-838938703 NULL 13331.0
+-838938703 1n7x4rXnvWH4wpAlqR 13331.0
+-838810013 NULL NULL
+-838810013 N016jPED08o NULL
+-838092834 NULL NULL
+-838092834 ugwHoBG4yXt5uEB NULL
+-837529554 NULL NULL
+-837529554 yAl0UQdXg0 NULL
+-837502922 NULL -4665.0
+-837502922 1x4u8Rl7K43d -4665.0
+-837491676 NULL -5701.0
+-837491676 l7tR3qF46ej7i4uNNuT -5701.0
+-837401773 NULL NULL
+-837401773 0qc8p NULL
+-836821859 NULL NULL
+-836821859 3tARUFE5DqTe7 NULL
+-835897529 NULL NULL
+-835897529 pn1RqShxA031bNd NULL
+-835885621 NULL NULL
+-835885621 IQnp6a50KF NULL
+-834997594 NULL NULL
+-834997594 nhv8Bo2VCHouwa01x1 NULL
+-834792062 NULL NULL
+-834792062 vuNP0Q21M NULL
+-833770179 NULL -10682.0
+-833770179 NEK1MY7NTS36Ov4FI7xQx -10682.0
+-833480226 NULL NULL
+-833480226 rNGcxI3PkU2K NULL
+-833350254 NULL -2626.0
+-833350254 ij735 -2626.0
+-833225522 NULL NULL
+-833225522 f448c4T81BR NULL
+-831789704 NULL NULL
+-831789704 HnxkMvjEL0rF NULL
+-831527643 NULL -4242.0
+-831527643 mo7jS24bQ1gHL83xV1h -4242.0
+-831468557 NULL NULL
+-831468557 5ealv0e6tmDnoS0bOmX NULL
+-831072496 NULL -14674.0
+-831072496 105aFDAt30c4rI4U -14674.0
+-830792891 NULL 4991.0
+-830792891 a 4991.0
+-830610139 NULL NULL
+-830610139 3FD2bt1EIaA0YrK NULL
+-830330452 NULL -3056.0
+-830330452 x1j2lFY5YIM5 -3056.0
+-830255911 NULL -15550.0
+-830255911 s0v64CJR22531 -15550.0
+-829660206 NULL -269.0
+-829660206 V78Fw1q -269.0
+-829429490 NULL NULL
+-829429490 DJxhgDD0mIQeDgs8 NULL
+-829409877 NULL NULL
+-829409877 WnN1oFEwhY4Heri3J7Jp8St NULL
+-829224292 NULL NULL
+-829224292 M7xB374ixGAp NULL
+-828175356 NULL 5679.0
+-828175356 id8wug16 5679.0
+-828036042 NULL -11179.0
+-828036042 g5IWA5kuuD7uqD6e -11179.0
+-827490071 NULL -28.0
+-827490071 CbbC4f5L6l3L6k -28.0
+-827437326 NULL NULL
+-827437326 doI56Fdj4YgK3Q335155DC6 NULL
+-827212561 NULL NULL
+-827212561 NULL NULL
+-826698716 NULL -7554.0
+-826698716 sUPw866pq -7554.0
+-826497289 NULL -16309.0
+-826497289 54o058c3mK6ewOQ5 -16309.0
+-825630453 NULL NULL
+-825630453 A4GncFvJV8J2o0 NULL
+-824231957 NULL 571.0
+-824231957 pCP7Qwk2d1i5vBo 571.0
+-823911743 NULL 9528.0
+-823911743 W4GLKnA2Nwk0HJ 9528.0
+-823391707 NULL NULL
+-823391707 YXy2ny NULL
+-822796861 NULL 4980.0
+-822796861 l5nrEK5m0jdOLive1Abf 4980.0
+-822641109 NULL -1988.0
+-822641109 126aSR -1988.0
+-822105069 NULL NULL
+-822105069 HN3I58 NULL
+-821957276 NULL NULL
+-821957276 827237W7G6hlU0Y60L6Sm8 NULL
+-821544816 NULL NULL
+-821544816 361M8OmUcKBPrFTcY5 NULL
+-821479281 NULL NULL
+-821479281 OA8N5i1UCdUv87i NULL
+-820979485 NULL NULL
+-820979485 x8RcAb7i5eeGulx4U200AN8F NULL
+-820914973 NULL NULL
+-820914973 O5hC1xAT0EgNEke1U2a NULL
+-820334107 NULL -11044.0
+-820334107 k2TbxJ8 -11044.0
+-820296689 NULL -9716.0
+-820296689 NjjnM2LBF4a6Ru3V11F2L5F -9716.0
+-820082961 NULL NULL
+-820082961 nuKKHi NULL
+-819695018 NULL NULL
+-819695018 KM06o1 NULL
+-819686939 NULL -15267.0
+-819686939 d77tW1Y01AT7U -15267.0
+-819657767 NULL -14640.0
+-819657767 101n6n461o -14640.0
+-819293491 NULL NULL
+-819293491 rNQc0BIm7sXFm NULL
+-819152895 NULL NULL
+-819152895 NULL NULL
+-819072322 NULL NULL
+-819072322 1x1vyb NULL
+-818778720 NULL -13177.0
+-818778720 Y2C704h6OUXJQ3 -13177.0
+-818530073 NULL 12364.0
+-818530073 4MBCqDL6Ajkinmi6b66mV3l 12364.0
+-818322129 NULL -8814.0
+-818322129 8hMHl64qhfWSdC -8814.0
+-817914787 NULL NULL
+-817914787 24IGcUngY NULL
+-817390578 NULL NULL
+-817390578 t18Qu NULL
+-816466475 NULL NULL
+-816466475 TJ0dMNm6s44r77567jk5 NULL
+-816457176 NULL NULL
+-816457176 Dk6tb8PWF643qyp258O2 NULL
+-816258769 NULL NULL
+-816258769 NkGnA NULL
+-816219598 NULL -6913.0
+-816219598 SMeUi5ykXo0Vi6I -6913.0
+-815431072 NULL 3658.0
+-815431072 5RyN2I4gSo 3658.0
+-815246045 NULL 863.0
+-815246045 41ET3yiToLbb 863.0
+-815145125 NULL -1050.0
+-815145125 KW3ODiKfbW3fS03W625w0 -1050.0
+-814733321 NULL 14208.0
+-814733321 AL03kjYOWmhlSL7 14208.0
+-814492539 NULL NULL
+-814492539 0JiVbqP3cG7I20UlHuc NULL
+-814278392 NULL NULL
+-814278392 hM04012HKnNf8M7KhUi1x NULL
+-814200252 NULL NULL
+-814200252 8WC462P3JLhaXTN NULL
+-813519584 NULL 15869.0
+-813519584 7g13w40lHv7wDaf1m4MQ8m 15869.0
+-813470399 NULL 1719.0
+-813470399 2c06XNT8UBA24Wj6A 1719.0
+-813066804 NULL 253.0
+-813066804 fo7hQ0lLo0K78 253.0
+-812907272 NULL 16171.0
+-812907272 3HlOeEUFSLcdPk 16171.0
+-812890478 NULL NULL
+-812890478 N6BMOr83ecL NULL
+-812631881 NULL NULL
+-812631881 2eJegODpls2LBS2vAFl1OvQ NULL
+-812125875 NULL NULL
+-812125875 S7ilpQTm4W0w NULL
+-812098587 NULL 3844.0
+-812098587 S7a45WOo7 3844.0
+-811617946 NULL NULL
+-811617946 ka4xX NULL
+-811374694 NULL NULL
+-811374694 5sQ4qB4ML02YI5Jo NULL
+-811306029 NULL NULL
+-811306029 8TY873CPrH82JPwf NULL
+-810657270 NULL NULL
+-810657270 38XES7ME0108oTOlH1I7BiWn NULL
+-810605184 NULL NULL
+-810605184 5Y2H4C4 NULL
+-809646785 NULL NULL
+-809646785 hO87j00S6nkbuEFh1rL5ie NULL
+-809434660 NULL NULL
+-809434660 16P2kxk NULL
+-809338218 NULL NULL
+-809338218 OLGDak48jmju2r2v26LQIlx6 NULL
+-809162203 NULL NULL
+-809162203 shMOr3b8w1F4F38D4wih0 NULL
+-808977278 NULL NULL
+-808977278 kN1P50L5yeSw NULL
+-808669759 NULL 2489.0
+-808669759 WQk67I0Gk 2489.0
+-808412943 NULL 10896.0
+-808412943 32Q066E 10896.0
+-807026780 NULL -11797.0
+-807026780 53OS1HM8 -11797.0
+-806862853 NULL 1154.0
+-806862853 3M5o368CP0fJpOiskA6pYeVu 1154.0
+-806644736 NULL NULL
+-806644736 N5sqt2k NULL
+-806577273 NULL -9151.0
+-806577273 Fg05tGcQqI78e4cgDn538v -9151.0
+-805261582 NULL NULL
+-805261582 Sf0Oqe1G NULL
+-804959350 NULL -8072.0
+-804959350 v2wRf43gpDUt1lfieq -8072.0
+-804390280 NULL -10737.0
+-804390280 uNJPm -10737.0
+-803922887 NULL 11044.0
+-803922887 NlcyfK 11044.0
+-803890067 NULL -14982.0
+-803890067 e4ie13qpm6LnXF21C5 -14982.0
+-803735837 NULL -731.0
+-803735837 F65r0poAe2 -731.0
+-803418256 NULL 4328.0
+-803418256 2STdm3wq2BF3JJ6DdRWbl 4328.0
+-803212304 NULL -12742.0
+-803212304 8xFru -12742.0
+-803037284 NULL 12744.0
+-803037284 tbT14Ok7O3 12744.0
+-802835753 NULL 5389.0
+-802835753 vp8Wvr40Cc3xhVFK230H 5389.0
+-802740333 NULL 10725.0
+-802740333 QI3ERh13R 10725.0
+-802706391 NULL NULL
+-802706391 fXlXavWXcFSIIBpA0EFW NULL
+-802505616 NULL NULL
+-802505616 07l7e0adRi8LBK6xlp NULL
+-801853022 NULL 4102.0
+-801853022 246uQD3RQ50gYIC 4102.0
+-801826220 NULL NULL
+-801826220 jqTYMlhRr2crw1Oo NULL
+-801477739 NULL 7120.0
+-801477739 qngJ5VN31QNp3E6GBwnHW 7120.0
+-799860725 NULL NULL
+-799860725 b01GFHiSj4Yig1tk4bSex NULL
+-799465722 NULL 8437.0
+-799465722 owIkpnSNVggUyb 8437.0
+-799432675 NULL 8219.0
+-799432675 6b72Wg1nICD 8219.0
+-799316028 NULL NULL
+-799316028 MjLlK02ifGBIrla0EE NULL
+-798837262 NULL NULL
+-798837262 U16wryUI NULL
+-798734139 NULL NULL
+-798734139 FO81NX2MQ1Tv2 NULL
+-798407322 NULL -7179.0
+-798407322 pSueHN -7179.0
+-797105418 NULL 221.0
+-797105418 WIEX4XTWhXhLlUN2R5U 221.0
+-796614931 NULL -4586.0
+-796614931 NL26D4S5nlPfyP322Jdf -4586.0
+-796484582 NULL NULL
+-796484582 gj5IRDNe62057M NULL
+-796067023 NULL NULL
+-796067023 lBoQXomNtF2131ymAFCB NULL
+-795697606 NULL 2384.0
+-795697606 k461t1SjcE7 2384.0
+-795348154 NULL 10681.0
+-795348154 AS86Ghu6q7 10681.0
+-794965918 NULL -14280.0
+-794965918 4jY48jNU58G17PN75 -14280.0
+-794175309 NULL NULL
+-794175309 NIp47 NULL
+-793534749 NULL NULL
+-793534749 SrPY18L7FKBp8WO NULL
+-793309769 NULL NULL
+-793309769 Bu1QtYr5sfcMxyD2c650GW NULL
+-792974154 NULL NULL
+-792974154 bO45EOf7qg NULL
+-792579516 NULL -972.0
+-792579516 1rK23 -972.0
+-792520485 NULL NULL
+-792520485 rhOWNGEuth8f875WLX NULL
+-792320898 NULL -11447.0
+-792320898 r323qatD6 -11447.0
+-791904835 NULL NULL
+-791904835 5TVADgO1Sm3 NULL
+-790372233 NULL NULL
+-790372233 s26CNKKyFYtKdyb8tjVNOI4 NULL
+-790091464 NULL NULL
+-790091464 wb5t2UC67jy84KejtAa0B3 NULL
+-788756901 NULL -2477.0
+-788756901 bTT4xqcq -2477.0
+-788340979 NULL -12026.0
+-788340979 orlgoEeyBMj56nf30c -12026.0
+-788249780 NULL NULL
+-788249780 t6WHE0 NULL
+-787673764 NULL 7358.0
+-787673764 o12yq 7358.0
+-786987890 NULL -3937.0
+-786987890 Vn4S1kpwhJ016S007em56Ll -3937.0
+-786957690 NULL -11542.0
+-786957690 7Nu0NxOnHSsecxU56XQbJR -11542.0
+-786856993 NULL 11603.0
+-786856993 5hnxP2wPy2xu 11603.0
+-786733525 NULL -15289.0
+-786733525 OVMDTY5Y4L8iaNgw8V3qrfHP -15289.0
+-786730910 NULL -12443.0
+-786730910 r4fjAjel4jHu27vYa1Vox3 -12443.0
+-786511858 NULL NULL
+-786511858 7Kp283Fa5 NULL
+-785399865 NULL NULL
+-785399865 cWKyPK NULL
+-783282474 NULL 10852.0
+-783282474 sRY8V5YDK4MvY 10852.0
+-783026310 NULL NULL
+-783026310 5EkunkVdHYCBxI30D36L6oM NULL
+-783004176 NULL -16092.0
+-783004176 7JDt8xM8G778vdBUA1 -16092.0
+-781894394 NULL -11227.0
+-781894394 r670GY0N4E6UGSDB4ol7Dq -11227.0
+-781678672 NULL 4434.0
+-781678672 QYW7H8ta63kcfM 4434.0
+-780969554 NULL -10291.0
+-780969554 3EUchdWMUIeH -10291.0
+-780875740 NULL 2438.0
+-780875740 L28vl 2438.0
+-779155816 NULL 1008.0
+-779155816 LI5r3n388rMETn6 1008.0
+-778541551 NULL 15678.0
+-778541551 t66fkUkSNP78t2856Lcn 15678.0
+-778279302 NULL -4837.0
+-778279302 WhgF327bC -4837.0
+-778246344 NULL NULL
+-778246344 tKRUQ0e NULL
+-778016256 NULL -13050.0
+-778016256 UL8rV5M81k6hVJ -13050.0
+-777462522 NULL -7508.0
+-777462522 P6ueYr2 -7508.0
+-777049854 NULL NULL
+-777049854 Egf7KV7TeT NULL
+-776603040 NULL NULL
+-776603040 M5MJdPI5Agcy5T NULL
+-776253314 NULL NULL
+-776253314 DWNvg304j4KTMEs2174Cy1 NULL
+-776034535 NULL NULL
+-776034535 B5ixKlEEhbWPV64wjMe8Os NULL
+-775576170 NULL 7006.0
+-775576170 0F5hWvBF2QOa8A5ThNXq 7006.0
+-775326158 NULL NULL
+-775326158 eQ80MW0h728I204P87YXc NULL
+-775148395 NULL -2415.0
+-775148395 meeTTbLafs2P5R326YX -2415.0
+-774129472 NULL NULL
+-774129472 jeOFkUX5u5flcN5hCr4 NULL
+-772812640 NULL NULL
+-772812640 uu20hX NULL
+-772614141 NULL 15490.0
+-772614141 e8VT3kOBd654uL7eH 15490.0
+-772447230 NULL 10671.0
+-772447230 a0YMQr03O 10671.0
+-772037548 NULL NULL
+-772037548 e4j6pjQIS16PPiA86wnd4Ke NULL
+-771993806 NULL 9517.0
+-771993806 b565l4rv1444T25Gv0 9517.0
+-771786697 NULL 11056.0
+-771786697 A2REERChgbC5c4 11056.0
+-771611394 NULL -8703.0
+-771611394 RD6GIHDtJFX4481 -8703.0
+-770958258 NULL 8059.0
+-770958258 uXu1mj3tWs36cGpu4p3aHq 8059.0
+-770852384 NULL NULL
+-770852384 252YCGI2DXxpdm7 NULL
+-770833110 NULL 11010.0
+-770833110 H42eLKO 11010.0
+-770484362 NULL 4869.0
+-770484362 kkbBss8Ie65SWe 4869.0
+-770058550 NULL NULL
+-770058550 NkytEWShAd84ojaKa7A NULL
+-769831732 NULL NULL
+-769831732 vvT8tpW518 NULL
+-769401304 NULL -14355.0
+-769401304 b2Mvom63qTp4o -14355.0
+-768237704 NULL NULL
+-768237704 2X0XRt20B70F7B NULL
+-767533824 NULL NULL
+-767533824 3y1D3A7yxnQenJs NULL
+-767291532 NULL NULL
+-767291532 2V1uLd04r0RYwOkCb4M650 NULL
+-767080360 NULL NULL
+-767080360 5dENnx6VjU14iaLFV0IR NULL
+-766689905 NULL 8759.0
+-766689905 40U0TKk6diRgJyuF2nNRvwX 8759.0
+-766356937 NULL 9863.0
+-766356937 3Fv6q4 9863.0
+-766298505 NULL NULL
+-766298505 tKyw2O2N NULL
+-766188002 NULL NULL
+-766188002 5oUu102B4tP7 NULL
+-764942166 NULL NULL
+-764942166 7aiqnEep0bBDD04D370 NULL
+-764743983 NULL 12553.0
+-764743983 g8my0HUWRfpYm65D85r 12553.0
+-764462878 NULL NULL
+-764462878 D5SANA44B8Jm NULL
+-764411410 NULL 7724.0
+-764411410 emSl6BHnVPfb3DF 7724.0
+-764178373 NULL NULL
+-764178373 XJtfPtv77 NULL
+-764043397 NULL NULL
+-764043397 7SgB6fRom0PLEjCH1 NULL
+-763516052 NULL -5964.0
+-763516052 GQnJxB67 -5964.0
+-763305556 NULL 15154.0
+-763305556 66r78Ydee71CbjdYC4AJ7p 15154.0
+-762443988 NULL NULL
+-762443988 iB4VI NULL
+-762216959 NULL NULL
+-762216959 v2xYG8X7P8HjL3n83 NULL
+-761848023 NULL NULL
+-761848023 f8bmVVkEd2TmeFy7wKq11 NULL
+-761589729 NULL NULL
+-761589729 QT8H3G133r01VKlM3P45iP NULL
+-761324268 NULL NULL
+-761324268 mOofw7T57kng3V161Mg4YYK NULL
+-761238457 NULL -1583.0
+-761238457 2wg3vWU73P -1583.0
+-761010465 NULL NULL
+-761010465 W3bnCmB NULL
+-760793071 NULL 2505.0
+-760793071 r78rHjV753fk 2505.0
+-760170906 NULL NULL
+-760170906 h15Uw8Uidj2K5OYWOqQ5 NULL
+-760064186 NULL -8681.0
+-760064186 jT4878c3Xl6Td2He37E -8681.0
+-759733294 NULL NULL
+-759733294 1381p1T7376j NULL
+-759670834 NULL -5469.0
+-759670834 Uj28ubp026RCw -5469.0
+-759561469 NULL 9835.0
+-759561469 Y23NbD7X86FbcRP4 9835.0
+-759392740 NULL NULL
+-759392740 b44J5OuRTQmmQ8LSyy3EJWFC NULL
+-759301896 NULL 1887.0
+-759301896 04p3riU20lo7A7s0OvBepl 1887.0
+-758062600 NULL 7111.0
+-758062600 vA0bEQqO50LlKcj7AAR56P63 7111.0
+-757292921 NULL NULL
+-757292921 FMVqyn08R5kuEv8 NULL
+-757279959 NULL NULL
+-757279959 XFs4Txv64 NULL
+-757031735 NULL NULL
+-757031735 6AmfdSoTPmVvXdgM8CP20sx NULL
+-756618727 NULL 8381.0
+-756618727 3m1iT73ta75bK6Uek0R15bk 8381.0
+-756134523 NULL NULL
+-756134523 v555LQ NULL
+-756025241 NULL NULL
+-756025241 7jtP3C204M33 NULL
+-754845455 NULL -2737.0
+-754845455 4emY37V37o2B3dw426G7v -2737.0
+-754555297 NULL -1767.0
+-754555297 P5PT4r2Syq367 -1767.0
+-753745605 NULL 9677.0
+-753745605 5h6A0ennI 9677.0
+-753518696 NULL 12479.0
+-753518696 JNvHHPxCgj8DDGXQ4S4J 12479.0
+-753212347 NULL 5815.0
+-753212347 Kroshtr 5815.0
+-752592373 NULL -12214.0
+-752592373 vHmH8uLxnn3 -12214.0
+-752544676 NULL -1268.0
+-752544676 nq1ILBd14E500xFU2 -1268.0
+-752438482 NULL NULL
+-752438482 0rNlSy15Xy1Sx NULL
+-752189183 NULL NULL
+-752189183 1JGq6EC86Lc67B NULL
+-752093742 NULL -8130.0
+-752093742 JUrP4 -8130.0
+-751232356 NULL -27.0
+-751232356 aBL26v67ENBr3T47crW -27.0
+-750478127 NULL 13049.0
+-750478127 O2aPT 13049.0
+-750229909 NULL -5369.0
+-750229909 0qPPiSO4o5ar2J7Cml -5369.0
+-750036400 NULL NULL
+-750036400 M22umK0Q1S2Q80358P6 NULL
+-749367136 NULL NULL
+-749367136 vu46n3nUvv7ls2K4k18tvw NULL
+-749219999 NULL -15202.0
+-749219999 8tw6WvMeBl -15202.0
+-749205511 NULL NULL
+-749205511 R426VY66G3alY1rISv8 NULL
+-749171518 NULL -948.0
+-749171518 w0DQUy50WiL3x37FO0V3BUsD -948.0
+-749140515 NULL NULL
+-749140515 t8Lh68DM18aEr4G7J7dX2Ee3 NULL
+-748768326 NULL NULL
+-748768326 T6ubsbx62cmP NULL
+-748695819 NULL NULL
+-748695819 Dtsb7s36eASJVh1Xi32K NULL
+-748287202 NULL NULL
+-748287202 ngUkOdOBOk67o3mcc NULL
+-746687884 NULL 5831.0
+-746687884 x65DlyX2Q41Xq7AEIS6 5831.0
+-746411545 NULL 8982.0
+-746411545 7t7tL288aFIHcovPB8 8982.0
+-746397183 NULL -12964.0
+-746397183 seBu6qmL15E2WFJC37raLXVL -12964.0
+-745791354 NULL 1517.0
+-745791354 5T0k456v4 1517.0
+-745089551 NULL NULL
+-745089551 X7V01RlgoCPC NULL
+-745056837 NULL NULL
+-745056837 Tt1BcY8q3welBr7o22KI3jF NULL
+-744949831 NULL 4122.0
+-744949831 7C1L24VM7Ya 4122.0
+-744728348 NULL NULL
+-744728348 47kMyrkI1u51WS7y75pyy6S NULL
+-744217268 NULL NULL
+-744217268 7Xt47WK7fF0OYPUVU3Br2d7M NULL
+-744216386 NULL 15524.0
+-744216386 c6oaqf0P6yLPl 15524.0
+-743921863 NULL NULL
+-743921863 B7grxpIo8Tf33RjGTg0 NULL
+-743039371 NULL NULL
+-743039371 v5Ai3KlB6mT NULL
+-743030587 NULL -4682.0
+-743030587 6wSoiDE22846jIPRH87 -4682.0
+-742909456 NULL -11326.0
+-742909456 LOeiVy1yE -11326.0
+-742909275 NULL NULL
+-742909275 W3CqX8FmJInM1Bj733 NULL
+-742907493 NULL 1912.0
+-742907493 fyy678nyJ 1912.0
+-742677488 NULL 8047.0
+-742677488 mjO2T3mw 8047.0
+-742672838 NULL 12499.0
+-742672838 5SUwkc 12499.0
+-742561638 NULL NULL
+-742561638 34vL40uLcr11po3k NULL
+-742416139 NULL NULL
+-742416139 8eiti74gc5m01xyMKSjUIx NULL
+-741433118 NULL -2991.0
+-741433118 DKu7H1t4Xp7x -2991.0
+-741339611 NULL -7465.0
+-741339611 8nHEnu -7465.0
+-741171393 NULL NULL
+-741171393 KxewntCJ0mlktP NULL
+-740823515 NULL NULL
+-740823515 SM7dk420iy847o8hn NULL
+-740792160 NULL -1388.0
+-740792160 6P5hI87IBw5BwP4T36lkB2 -1388.0
+-740228725 NULL 208.0
+-740228725 s1144yNh6c8C172Rt35gs8W 208.0
+-739906131 NULL NULL
+-739906131 HgP1PNA6gggV0v0L801 NULL
+-739895170 NULL NULL
+-739895170 c333R38QfrwRxL6 NULL
+-739867273 NULL NULL
+-739867273 3naCWc31dAKsWl6B NULL
+-739502997 NULL NULL
+-739502997 50J08qKXC44G8HDMu7FF NULL
+-739006691 NULL -5920.0
+-739006691 6aOBGB8OUjUW -5920.0
+-738747840 NULL NULL
+-738747840 vmAT10eeE47fgH20pLi NULL
+-738340092 NULL NULL
+-738340092 e6F51mDOrN481rfhqk67lF40 NULL
+-738306196 NULL NULL
+-738306196 NULL NULL
+-737908233 NULL 12197.0
+-737908233 aH38aH4ob 12197.0
+-737864729 NULL NULL
+-737864729 plmMo28a0B5CtT63uC NULL
+-737485644 NULL NULL
+-737485644 OQQgFcOqtpjdsCCejbvAAi NULL
+-737481933 NULL -5000.0
+-737481933 p17JVeQ653n6bqAd1U -5000.0
+-737386226 NULL NULL
+-737386226 BfGE56ef2ej NULL
+-736991807 NULL -9397.0
+-736991807 XI2ak7U1yv05DAI71 -9397.0
+-736467451 NULL 9570.0
+-736467451 hrO0S0XuD1W4 9570.0
+-736164643 NULL 9931.0
+-736164643 R0hA3Hq2VsjnFh 9931.0
+-736091351 NULL NULL
+-736091351 Y3y7fhrNY0jD3 NULL
+-735935786 NULL NULL
+-735935786 u41obQ17leqGpf7MTP3a NULL
+-735854636 NULL 14061.0
+-735854636 1r83U1NHOu8n42Kn8gTpb 14061.0
+-735849607 NULL -13345.0
+-735849607 6XR3D100e -13345.0
+-735694489 NULL -13377.0
+-735694489 pExfh0681v3E6 -13377.0
+-735527781 NULL NULL
+-735527781 Uwyw8I50 NULL
+-735434877 NULL NULL
+-735434877 0D6533 NULL
+-735434221 NULL NULL
+-735434221 S21x1133h NULL
+-735428232 NULL -9305.0
+-735428232 7MJd7FQgF0U2O -9305.0
+-734604102 NULL NULL
+-734604102 5yInU8IMwclXc2 NULL
+-734267047 NULL NULL
+-734267047 swXIs3182y1 NULL
+-733761968 NULL NULL
+-733761968 c23S6Ky4w7Ld21lAbB NULL
+-733170197 NULL NULL
+-733170197 77Xe27p0 NULL
+-732816018 NULL -11484.0
+-732816018 2SDuH1XKN0 -11484.0
+-732307278 NULL NULL
+-732307278 14272peG NULL
+-732065049 NULL NULL
+-732065049 hSb1x4 NULL
+-731427364 NULL NULL
+-731427364 cb33ksHDf3lMrp0OW4dMdvos NULL
+-730289443 NULL NULL
+-730289443 2n2cwjWAp2R56c2GYtKHQf0i NULL
+-730274540 NULL 184.0
+-730274540 l74x86GvdbDjbKlTDSet 184.0
+-730200970 NULL NULL
+-730200970 Ca1Tsx2aY1q NULL
+-730076015 NULL 477.0
+-730076015 ss 477.0
+-729494353 NULL NULL
+-729494353 K2mrUY NULL
+-729196225 NULL NULL
+-729196225 J1an665U NULL
+-729075167 NULL NULL
+-729075167 m3itBVH5 NULL
+-727471145 NULL NULL
+-727471145 MgMjEMssUEN1 NULL
+-727408446 NULL -12375.0
+-727408446 CV6cC5cYQ7Ybki12sokm5Mb -12375.0
+-727158360 NULL NULL
+-727158360 0uA7It5CJu16eJ4JS1uuxNJ NULL
+-726473298 NULL NULL
+-726473298 OFy1a1xf37f75b5N NULL
+-726087078 NULL NULL
+-726087078 qNaAh8CdJxxTG8y0 NULL
+-726003912 NULL -6947.0
+-726003912 3VAKJ8mb2ABVNB73 -6947.0
+-725473374 NULL -7961.0
+-725473374 2y2n4Oh0B5PHX8mAMXq4wId2 -7961.0
+-725416692 NULL NULL
+-725416692 Ja872lhYn6T31tPIOB85eb NULL
+-725093321 NULL 5204.0
+-725093321 5eY1KB3 5204.0
+-725009730 NULL 6867.0
+-725009730 38vX8Oyvme 6867.0
+-724537508 NULL 7601.0
+-724537508 kf3B156 7601.0
+-724156789 NULL NULL
+-724156789 ANpel663M NULL
+-724060262 NULL -3214.0
+-724060262 WR23n63UMj53mr6v -3214.0
+-723614366 NULL NULL
+-723614366 5UbQg8TK4M8M71HeMyjKE46W NULL
+-723592170 NULL -14014.0
+-723592170 NOLF8Cv0gchW6gNPX4 -14014.0
+-722944609 NULL NULL
+-722944609 71rC651of3swM7w13027216 NULL
+-722873402 NULL NULL
+-722873402 8GloEukQ0c68JDmnYL53 NULL
+-722639484 NULL NULL
+-722639484 5d346Sw21w4 NULL
+-721614386 NULL 10419.0
+-721614386 10 10419.0
+-720557696 NULL -4213.0
+-720557696 l8a3n6TRqVKuh0j14h3 -4213.0
+-720277866 NULL NULL
+-720277866 M462UC NULL
+-720001688 NULL -8236.0
+-720001688 wKX3SY -8236.0
+-719899789 NULL -10134.0
+-719899789 umNykRkKiih6Cx6K42 -10134.0
+-719840187 NULL NULL
+-719840187 Wg1pcPx06 NULL
+-719612366 NULL 2570.0
+-719612366 1Tr66A4C6WsuK 2570.0
+-718863675 NULL NULL
+-718863675 NSLFx NULL
+-718719178 NULL NULL
+-718719178 6IVP5k05jNwj1Jqr8UAPD1r NULL
+-718664327 NULL NULL
+-718664327 tm85HNL7au4na NULL
+-718594328 NULL -6352.0
+-718594328 kNiLPXX0ANEwwNotk -6352.0
+-718299286 NULL -14224.0
+-718299286 Qg446fs0y6K5wk4ly37V -14224.0
+-718063540 NULL NULL
+-718063540 1wb02g3mc NULL
+-716198125 NULL 4943.0
+-716198125 DRodCrmwkH35tuMes8V 4943.0
+-715566961 NULL NULL
+-715566961 AuQ7FrUgXua NULL
+-714487901 NULL NULL
+-714487901 iD4A3pEIP5pkv3 NULL
+-714255290 NULL 8521.0
+-714255290 ol6KFpp67So1KEp 8521.0
+-714107996 NULL NULL
+-714107996 806X4jKS0Lo7cO NULL
+-713284555 NULL NULL
+-713284555 ladcLQv2Hj7mc NULL
+-712811861 NULL NULL
+-712811861 qC2BA3oYp NULL
+-712573435 NULL NULL
+-712573435 U6pNsB0e00xOD5JGR7I NULL
+-711795817 NULL NULL
+-711795817 4hMaavAE NULL
+-711576614 NULL NULL
+-711576614 cb5LPuiF NULL
+-711545009 NULL 12440.0
+-711545009 BI34Ap4r3c210R1UBF6Lp 12440.0
+-711482620 NULL 1252.0
+-711482620 m82LRy1eagTwDU1bceV 1252.0
+-711481384 NULL NULL
+-711481384 ov5xeO NULL
+-711465111 NULL -13228.0
+-711465111 Qd6E0xuPQ2Q3cJOD4k2SV5M -13228.0
+-711123222 NULL -12100.0
+-711123222 XJk8krRPmgi7Le3a4t2X -12100.0
+-711088427 NULL 3709.0
+-711088427 U8gc1Gs1Yw6kx4XNtI6 3709.0
+-710765959 NULL 16242.0
+-710765959 JJIVc80Pgv 16242.0
+-710706524 NULL NULL
+-710706524 y3VheNURDylWr0mse3mv0 NULL
+-710318638 NULL 11550.0
+-710318638 S45x7dofb8hIodJ4e7bV5P 11550.0
+-709987288 NULL -14159.0
+-709987288 rwQVgJyb85BtCNlnXM47008 -14159.0
+-709936547 NULL NULL
+-709936547 YXbTksK2YAt32i4vi6xyT2 NULL
+-709716529 NULL NULL
+-709716529 woiNv162mnSJ NULL
+-709701040 NULL 2326.0
+-709701040 Nd6hm74FA4k65m2A 2326.0
+-708939757 NULL -11906.0
+-708939757 4t88O3hdap24Qp4182u1 -11906.0
+-708844983 NULL NULL
+-708844983 Qy84s51BfLUtbt NULL
+-708830292 NULL 8825.0
+-708830292 NeXCu 8825.0
+-707000433 NULL NULL
+-707000433 316t3Sw NULL
+-706922198 NULL NULL
+-706922198 28131eU1pSKC35ADujoL NULL
+-706843609 NULL NULL
+-706843609 AmYxfSOBdJv8B48l0VAeeI NULL
+-706227781 NULL NULL
+-706227781 jO055kB85qLIyl5VJVkj8 NULL
+-706213503 NULL NULL
+-706213503 48xYJd1 NULL
+-706163634 NULL 13366.0
+-706163634 V4Rn66rM3aHx5 13366.0
+-705207660 NULL NULL
+-705207660 m1cWNMV8fcdiJAmDPPLg3y NULL
+-704909057 NULL -10278.0
+-704909057 04m0G4 -10278.0
+-704628812 NULL NULL
+-704628812 xlB1L NULL
+-704297012 NULL -7572.0
+-704297012 780mFMK0kakDt0nB -7572.0
+-703928918 NULL NULL
+-703928918 2fbAP8EJ4D5sArmrfUo3r NULL
+-703523559 NULL NULL
+-703523559 Ydq2dX NULL
+-703039722 NULL NULL
+-703039722 7WYO11kWn6fT2pOlh5sTDIwG NULL
+-701824447 NULL 13246.0
+-701824447 cL5mDs1nJgQ0IbgBH 13246.0
+-701668855 NULL NULL
+-701668855 f527p7MLm6Griq41TA8cR4 NULL
+-701166275 NULL NULL
+-701166275 46Y3G8Rf12bRc7KcY NULL
+-701037296 NULL -4190.0
+-701037296 J2El2C63y31dNp4rx -4190.0
+-700300206 NULL NULL
+-700300206 kdqQE010 NULL
+-699797732 NULL 4012.0
+-699797732 JLB4Y 4012.0
+-698914845 NULL 13561.0
+-698914845 8b1rapGl7vy44odt4jFI 13561.0
+-698529907 NULL NULL
+-698529907 gv7hVe3 NULL
+-698191930 NULL NULL
+-698191930 00MmJs1fiJp37y60mj4Ej8 NULL
+-697609216 NULL NULL
+-697609216 jxkVe1YhhX3 NULL
+-697488741 NULL 5417.0
+-697488741 vl31hFdNGwaI 5417.0
+-697427403 NULL NULL
+-697427403 vA254Q0K7g NULL
+-697278196 NULL 15038.0
+-697278196 W4evHL60eNc8P3HVs 15038.0
+-696436296 NULL -9449.0
+-696436296 384j1RPibybB6R -9449.0
+-695803240 NULL NULL
+-695803240 4nKk4I7T6I4GruCj18 NULL
+-695529452 NULL NULL
+-695529452 7s6O45GD7p4ASq08a26v8 NULL
+-695504237 NULL NULL
+-695504237 5314P0Xu85GA60lJaVPd10 NULL
+-694015335 NULL 9540.0
+-694015335 y3XV0j2p80 9540.0
+-693906915 NULL NULL
+-693906915 4j16o2bV34xFa36 NULL
+-693724726 NULL NULL
+-693724726 23R287wx8g5N22kp034161 NULL
+-693113839 NULL NULL
+-693113839 03SnoFNyeHxQ2X NULL
+-692803121 NULL NULL
+-692803121 V6IvSow NULL
+-692700240 NULL 10368.0
+-692700240 CR57NnVhHbrfuaD 10368.0
+-692652612 NULL -16015.0
+-692652612 x11H3Bbq7N -16015.0
+-692591329 NULL -12485.0
+-692591329 055VA1s2XC7q70aD8S0PLpa -12485.0
+-692469187 NULL NULL
+-692469187 6h6Kk4v030PNPj3Kc NULL
+-691793383 NULL NULL
+-691793383 40i6Qf07 NULL
+-691500474 NULL NULL
+-691500474 r1RYHxl1G1um8 NULL
+-690785065 NULL NULL
+-690785065 2YOJT4Sveu NULL
+-690377505 NULL NULL
+-690377505 QuuIO6rBsRCOs7AcM2 NULL
+-690254761 NULL NULL
+-690254761 dv4kivc NULL
+-689498872 NULL NULL
+-689498872 8ndB1604 NULL
+-689268099 NULL 5478.0
+-689268099 5N2rSTIXMp1 5478.0
+-689159238 NULL 657.0
+-689159238 MjI4i6E 657.0
+-688450515 NULL -14946.0
+-688450515 006bb3K -14946.0
+-688179977 NULL NULL
+-688179977 b NULL
+-687787721 NULL NULL
+-687787721 cvqc36vwri7R6kbXKO NULL
+-687741322 NULL 5948.0
+-687741322 v782YnRD5 5948.0
+-687691627 NULL NULL
+-687691627 Y8QG0P1v36K02sXHc84 NULL
+-687470971 NULL NULL
+-687470971 o76L1vdV0 NULL
+-687172465 NULL -5307.0
+-687172465 dPDI1Xegw -5307.0
+-686726503 NULL -15432.0
+-686726503 507ydguwwD2G5Xm -15432.0
+-686436142 NULL NULL
+-686436142 61shR2LjQ NULL
+-685079469 NULL 1970.0
+-685079469 L4WQG81b36T 1970.0
+-684931335 NULL -15906.0
+-684931335 RsyD82XJvE3bY83IP0 -15906.0
+-684842867 NULL NULL
+-684842867 1kFnQ8Xw3 NULL
+-684471798 NULL 9588.0
+-684471798 0Fx62li4 9588.0
+-684231619 NULL -15534.0
+-684231619 13YQWi5 -15534.0
+-683591861 NULL -6060.0
+-683591861 TT4CHN -6060.0
+-683525493 NULL -384.0
+-683525493 Q2V028 -384.0
+-683520575 NULL NULL
+-683520575 d5gs2s6trx20upPuW3SAi4o NULL
+-682804669 NULL NULL
+-682804669 4Y6F2QEy0v68 NULL
+-681738484 NULL 867.0
+-681738484 AH6e820tOV6HSThd30w 867.0
+-681570624 NULL 5989.0
+-681570624 VXXGafnyn1mkpSpsOd8 5989.0
+-680963583 NULL -6789.0
+-680963583 WBT2XnSX5c176OF -6789.0
+-680871647 NULL NULL
+-680871647 f0QmOLoGtou7gq42fy01Brn NULL
+-680526056 NULL NULL
+-680526056 3R4fUi3r5212N4L05I47VU3 NULL
+-680417016 NULL 14099.0
+-680417016 AFv66x72c72hjHPYqV0y4Qi 14099.0
+-680152656 NULL NULL
+-680152656 Bm8K5s1OHOM1YA65S NULL
+-679633235 NULL 11166.0
+-679633235 16XJOPr281TmT72Y7xqB 11166.0
+-679459513 NULL NULL
+-679459513 2H2X40NiXBIW2f NULL
+-679447706 NULL 8005.0
+-679447706 iQ51KkUwoE6YRVW4 8005.0
+-678315326 NULL 2480.0
+-678315326 pMb26nLwOep46S63x1WjPC 2480.0
+-677995242 NULL NULL
+-677995242 KsmxnX6DTb247Stt NULL
+-677971807 NULL NULL
+-677971807 mnfiV3 NULL
+-677517681 NULL 14826.0
+-677517681 w5p2hepgTqRaL2ELCl 14826.0
+-677042919 NULL 1258.0
+-677042919 4YJx505OYOoh0r6SnMF6UF8 1258.0
+-676939616 NULL 4661.0
+-676939616 8YHG1 4661.0
+-676680436 NULL 7751.0
+-676680436 6y204sjgbO 7751.0
+-675737118 NULL NULL
+-675737118 j3Vya61f2BWk3H NULL
+-675551396 NULL NULL
+-675551396 170wJmORY68C7jdI6 NULL
+-675249658 NULL 13618.0
+-675249658 87SexCLsDwtqFHL73T6255 13618.0
+-674846687 NULL NULL
+-674846687 8l433e5J6I0fj0PM NULL
+-674384350 NULL 12220.0
+-674384350 FqW3gSD2 12220.0
+-674231012 NULL 16280.0
+-674231012 y4AB7n55M6 16280.0
+-673848121 NULL NULL
+-673848121 gjsL355dId0aH1mj0yGky1 NULL
+-673181993 NULL NULL
+-673181993 IblvAnYcnAwTiEM NULL
+-673034938 NULL NULL
+-673034938 0pOTqi3O44rEnGQ NULL
+-672191091 NULL 13358.0
+-672191091 Q54v68tVoY852n3kuOO5 13358.0
+-671940285 NULL 15076.0
+-671940285 Se4jyihvl80uOdFD 15076.0
+-671342269 NULL -16274.0
+-671342269 3DE7EQo4KyT0hS -16274.0
+-671097916 NULL NULL
+-671097916 iR76SEs2C4V NULL
+-670969300 NULL 1187.0
+-670969300 88RyHpqWAT8f71rv0 1187.0
+-670908417 NULL NULL
+-670908417 NULL NULL
+-670497702 NULL NULL
+-670497702 gSJS1mpb5Khx8140U3 NULL
+-670376861 NULL NULL
+-670376861 uRcc7 NULL
+-669632311 NULL NULL
+-669632311 3r3sDvfUkG0yTP3LnX5mNQRr NULL
+-669373262 NULL NULL
+-669373262 Y00YWUI2gXA NULL
+-667926140 NULL NULL
+-667926140 vkbGEG4q11J550U7u5EnSs NULL
+-667036345 NULL NULL
+-667036345 bX48CaI1txU5AGn2AmEuKj NULL
+-667019924 NULL NULL
+-667019924 uo1oJ7l NULL
+-666880837 NULL 1043.0
+-666880837 Dq1bA4POpt5yuC5L1t 1043.0
+-666649586 NULL -11776.0
+-666649586 8308ogefQEebr48 -11776.0
+-666529801 NULL NULL
+-666529801 DqpcjoX3m2h4hj4721T2M NULL
+-666325620 NULL NULL
+-666325620 a5MyXRAIwPX1CO3w53Rar8wf NULL
+-666109639 NULL -1379.0
+-666109639 aNPQtU530N76 -1379.0
+-665749876 NULL 8591.0
+-665749876 4bKIO5xLDn544QH2 8591.0
+-665315088 NULL -11774.0
+-665315088 88G108W -11774.0
+-665185806 NULL -2779.0
+-665185806 c5E4j1 -2779.0
+-664764100 NULL NULL
+-664764100 3yeq763N NULL
+-664758147 NULL -6192.0
+-664758147 QW7bld1X2L -6192.0
+-664501487 NULL NULL
+-664501487 TYkMYn1v6giCqpy30s NULL
+-664344817 NULL NULL
+-664344817 5e8nU8q6vy6hcskp844R8Kt NULL
+-664341725 NULL NULL
+-664341725 64K51WMTs NULL
+-664084238 NULL -2477.0
+-664084238 5wwtFk8g4 -2477.0
+-664049013 NULL 2663.0
+-664049013 s3Q3nW2K1uFid4x1NeDVn5 2663.0
+-663707772 NULL NULL
+-663707772 M76D058tDDD25v3g NULL
+-663328541 NULL -5198.0
+-663328541 D7G7Ubc64866fFh -5198.0
+-663027791 NULL NULL
+-663027791 053saXP1gR5mg06644Qd NULL
+-662882243 NULL NULL
+-662882243 V5oM8YBx2Kq63oy0um7 NULL
+-662503053 NULL NULL
+-662503053 a1N8y NULL
+-662446721 NULL 9071.0
+-662446721 HR8x5tq1Wv25njjUXp 9071.0
+-662355156 NULL -5400.0
+-662355156 BH3PJ6Nf5T0Tg -5400.0
+-662294896 NULL -14518.0
+-662294896 Gk17JaCg7 -14518.0
+-661755475 NULL NULL
+-661755475 05RA7lJ5odEHh13Uj8JkO15D NULL
+-661621138 NULL NULL
+-661621138 L15l8i5k558tBcDV20 NULL
+-661477150 NULL NULL
+-661477150 216N1n3bRv NULL
+-660286687 NULL 1012.0
+-660286687 4f8ynytRB62xY5AoVfELTku 1012.0
+-660174857 NULL NULL
+-660174857 VkXY4IOSO NULL
+-660093358 NULL NULL
+-660093358 jH7VH38C77M08h5GNPp8M NULL
+-660084489 NULL NULL
+-660084489 AfW67EWaHMIQ7yvfqHRUwB NULL
+-659859636 NULL 10289.0
+-659859636 kStdI4lGTUx 10289.0
+-659186324 NULL NULL
+-659186324 QDK4Rtj7CX01p NULL
+-659145473 NULL NULL
+-659145473 iaD4Rnj1 NULL
+-659068128 NULL 12214.0
+-659068128 13q2kEQ65Y8EY0S88y7uFa5q 12214.0
+-659065840 NULL NULL
+-659065840 KjAOvl4yBG7Rw7d NULL
+-658968870 NULL NULL
+-658968870 5UuE7jmo6vi40e7 NULL
+-657828756 NULL -5958.0
+-657828756 S4Ww7287AGI80OOTGeN60 -5958.0
+-657809731 NULL 14054.0
+-657809731 AKSumJy2fP 14054.0
+-657384344 NULL 6900.0
+-657384344 Mp0srA26pW81q335754k00 6900.0
+-657225349 NULL NULL
+-657225349 U1aid52v NULL
+-656987896 NULL NULL
+-656987896 NULL NULL
+-656621483 NULL 11248.0
+-656621483 6bO0XXrj 11248.0
+-656593869 NULL NULL
+-656593869 62JFFg7GbAn1 NULL
+-656149143 NULL NULL
+-656149143 M10C4DWJ0Gn NULL
+-656146882 NULL NULL
+-656146882 12YH5vxufod8Wu1R NULL
+-655795794 NULL 4090.0
+-655795794 NwuQjkMCF4KqgmCh1D7PH5 4090.0
+-655733894 NULL NULL
+-655733894 HA1yh NULL
+-655641600 NULL -8129.0
+-655641600 sq301oxBJAfWx3ldfvFs1dF3 -8129.0
+-654968650 NULL -8557.0
+-654968650 s7We5FvPwxD0 -8557.0
+-654830637 NULL NULL
+-654830637 iW12567av NULL
+-654751567 NULL -4809.0
+-654751567 HM0GBe1SIB0GMA8274T21 -4809.0
+-654374827 NULL NULL
+-654374827 OEfPnHnIYueoup NULL
+-654231359 NULL -3640.0
+-654231359 854W2USVx2swYb5 -3640.0
+-654132946 NULL NULL
+-654132946 1emD5WuAWePl22 NULL
+-653871722 NULL 13268.0
+-653871722 7v1FU 13268.0
+-653502799 NULL 14398.0
+-653502799 H25ywXWg5J 14398.0
+-652756870 NULL NULL
+-652756870 3N1o1bou84BHA70 NULL
+-652391262 NULL 4943.0
+-652391262 cNav7FGYOHd3EUXMS 4943.0
+-651266779 NULL NULL
+-651266779 sr5s7Tu8 NULL
+-651131620 NULL 1385.0
+-651131620 324X0 1385.0
+-650579342 NULL NULL
+-650579342 4p32f3dqm6X0Vyd NULL
+-650301029 NULL NULL
+-650301029 L0MMUTo8C5rj NULL
+-650239890 NULL -9841.0
+-650239890 3080Y5smP4JT6 -9841.0
+-650027443 NULL NULL
+-650027443 5nV8bh0O NULL
+-649760889 NULL -2305.0
+-649760889 683xqGH06ttCI5q -2305.0
+-648704945 NULL NULL
+-648704945 02v8WnLuYDos3Cq NULL
+-648392003 NULL -12374.0
+-648392003 eWc3t8r71Mlq -12374.0
+-648068904 NULL 3756.0
+-648068904 01L3ajd5YosmyM330V3s 3756.0
+-647642792 NULL NULL
+-647642792 EKsWjbi762Thn44n NULL
+-647247257 NULL NULL
+-647247257 2C1S7MUYL5NWPARvQU NULL
+-646910476 NULL NULL
+-646910476 BcTvH1XwLh0QJGAU2wA NULL
+-646477070 NULL NULL
+-646477070 xBQhmqkimw7Du6qnJk NULL
+-646339276 NULL NULL
+-646339276 2yd00UDPJUO37S4qfT0gHyg NULL
+-646295381 NULL NULL
+-646295381 1B3WMD5LSk65B2Moa NULL
+-645781572 NULL NULL
+-645781572 278v67J NULL
+-645776788 NULL NULL
+-645776788 thdJS602TWQpuNxcpWwk0 NULL
+-645108590 NULL -1309.0
+-645108590 hnyI5T -1309.0
+-644743845 NULL -9934.0
+-644743845 pECUTmRpXCoh4iVU0e -9934.0
+-644442330 NULL NULL
+-644442330 Y0P5Re5poIwn NULL
+-644125466 NULL -8040.0
+-644125466 kDgST488GNctbHl -8040.0
+-643591379 NULL -14133.0
+-643591379 Kw3RwUP6RQaQCgVSHjU0Gqr4 -14133.0
+-643109215 NULL NULL
+-643109215 KPS5d134FEJJu NULL
+-642457423 NULL NULL
+-642457423 ijmD5iqIymg NULL
+-642352375 NULL NULL
+-642352375 2vtmB0qNlHlGV15P1p NULL
+-642242459 NULL -228.0
+-642242459 084055856V0l -228.0
+-642177596 NULL 5609.0
+-642177596 KAbJb 5609.0
+-642100019 NULL -10879.0
+-642100019 6D82psrBv0Hi07o -10879.0
+-641108454 NULL -1655.0
+-641108454 275JjYk724e -1655.0
+-640911032 NULL NULL
+-640911032 04Yu8RntCU7amJtj NULL
+-640155079 NULL 13878.0
+-640155079 Jh7KP0 13878.0
+-639830056 NULL NULL
+-639830056 q0qMo2mPF NULL
+-639730180 NULL NULL
+-639730180 LD1u8eTfXl NULL
+-639661074 NULL -5544.0
+-639661074 Ku22N3ec -5544.0
+-638825747 NULL NULL
+-638825747 ox4gTH52 NULL
+-638546466 NULL NULL
+-638546466 CJIO2 NULL
+-638494713 NULL -16168.0
+-638494713 d4YeS73lyC6l -16168.0
+-638371995 NULL NULL
+-638371995 7Sb0367 NULL
+-638236518 NULL -13470.0
+-638236518 D8uSK63TOFY064bwF -13470.0
+-637617059 NULL -9886.0
+-637617059 6E5g66uV1fm6 -9886.0
+-637615240 NULL 7029.0
+-637615240 4aE5M3pU0 7029.0
+-637588182 NULL 9962.0
+-637588182 e4rLBwDgWm1S4fl264fmpC 9962.0
+-637544459 NULL -2049.0
+-637544459 346v1tVDI4iB -2049.0
+-637509859 NULL NULL
+-637509859 hCwu446fq4108mQ4x62Pr NULL
+-637485072 NULL -8346.0
+-637485072 BfW7r -8346.0
+-637440229 NULL NULL
+-637440229 uY123ioA1pjD4Ife5M NULL
+-637305415 NULL NULL
+-637305415 y4M5U7WAv4eCCp7 NULL
+-637153545 NULL NULL
+-637153545 j60Kr2t1K NULL
+-637056796 NULL NULL
+-637056796 VCpG74Yh5 NULL
+-637039550 NULL 10429.0
+-637039550 W3P5WMsmv6UJnfph5D 10429.0
+-636737599 NULL 12853.0
+-636737599 1lh1E3r8fKyRTiC1HwYgN 12853.0
+-636495740 NULL -5121.0
+-636495740 3USqL4 -5121.0
+-636393710 NULL -5909.0
+-636393710 aQ6My4WFN5vO -5909.0
+-635141101 NULL NULL
+-635141101 ss NULL
+-634659237 NULL -5194.0
+-634659237 r01Hdc6b2CRo -5194.0
+-633442328 NULL NULL
+-633442328 K5OgpFUUHCnm3oif6f NULL
+-632554773 NULL 236.0
+-632554773 jc3G2mefLm8mpl8tua3b3 236.0
+-632278524 NULL NULL
+-632278524 5if5K NULL
+-632107906 NULL 9390.0
+-632107906 4tFQX5 9390.0
+-631783210 NULL NULL
+-631783210 8cC24gh NULL
+-631010149 NULL -8731.0
+-631010149 6c6b1XPMiEw5 -8731.0
+-630890827 NULL -7150.0
+-630890827 jKQKJXa3DJGks56Si1cENL8 -7150.0
+-630226103 NULL NULL
+-630226103 vQ0a2oe83D2j36d375fkya NULL
+-629973107 NULL NULL
+-629973107 b NULL
+-629867172 NULL -3277.0
+-629867172 kro4Xu41bB7hiFa -3277.0
+-629475503 NULL NULL
+-629475503 X1cNlHRHJ5h6H8qs832 NULL
+-629330638 NULL NULL
+-629330638 hhb12d5EV7 NULL
+-629254416 NULL 2017.0
+-629254416 f6f4h5NY5Ffi 2017.0
+-627968479 NULL -13012.0
+-627968479 U408t6TLdH18sJeyO -13012.0
+-627816582 NULL -14173.0
+-627816582 g72r712ymd -14173.0
+-627021559 NULL 14688.0
+-627021559 F4e1XPV2Hwg7a3d3x530818 14688.0
+-626932448 NULL -1546.0
+-626932448 E07SN5VEyl -1546.0
+-626424514 NULL NULL
+-626424514 8v3WfTYF315bFL NULL
+-625837902 NULL -5836.0
+-625837902 aD78M5u4m0FfR78 -5836.0
+-625602345 NULL NULL
+-625602345 tN335oXx NULL
+-624769630 NULL NULL
+-624769630 1063cEnGjSal NULL
+-624505634 NULL NULL
+-624505634 N2h00u8 NULL
+-623381272 NULL NULL
+-623381272 ktJI200FR0TY4Oq NULL
+-623012636 NULL 5512.0
+-623012636 m1Bd53TD 5512.0
+-622956305 NULL NULL
+-622956305 b4iTs NULL
+-622859701 NULL 1388.0
+-622859701 sFfOv7WlW1b4ANUm01Xq 1388.0
+-621783323 NULL -8459.0
+-621783323 37JyNK3B4QVE05unM5q -8459.0
+-621149015 NULL -5490.0
+-621149015 876nMq6Po0d428mkF -5490.0
+-620996505 NULL -9677.0
+-620996505 Tx2ghNxT1b -9677.0
+-620782562 NULL -450.0
+-620782562 1rf8FQaP3T01QBY0hAA5PMb -450.0
+-620295346 NULL -2011.0
+-620295346 7SVXqa1T1 -2011.0
+-620140340 NULL NULL
+-620140340 YBRSCj3Qdb24l1MnE5IIr NULL
+-619943931 NULL NULL
+-619943931 iASE7cWnCT4NRf NULL
+-619704614 NULL NULL
+-619704614 1If2J08V08IqLbDcOc184k0 NULL
+-619571504 NULL 2776.0
+-619571504 C1KV2I0wL8wk7C6371 2776.0
+-619392061 NULL NULL
+-619392061 LAi381BGdEy78j4ke NULL
+-618935259 NULL NULL
+-618935259 b NULL
+-618636239 NULL -13323.0
+-618636239 ak3wct6anGAdab6IH -13323.0
+-618456924 NULL 7628.0
+-618456924 4E0nI655Vd0uNE31pU8x4SD 7628.0
+-617998763 NULL 1373.0
+-617998763 x058FPu4i1B7v1W 1373.0
+-617263915 NULL NULL
+-617263915 8IgBmN0xkLDIlj2y NULL
+-617025388 NULL NULL
+-617025388 PLFB86o84end3tdsS2hVL NULL
+-616810827 NULL NULL
+-616810827 RVa8teOcCN NULL
+-616680895 NULL -16149.0
+-616680895 0AgcEEPHf4vXNU -16149.0
+-616147774 NULL NULL
+-616147774 PUjn241mg3Qfjj6nG51 NULL
+-615585213 NULL 10268.0
+-615585213 vD1G3Nt7U24 10268.0
+-614871565 NULL -7717.0
+-614871565 2fM8qRJm8x3SkFAvM75 -7717.0
+-614828184 NULL -5241.0
+-614828184 58Vl5WFf8p -5241.0
+-614727924 NULL NULL
+-614727924 ARECS NULL
+-614678162 NULL 14675.0
+-614678162 oa2Tuhc5i72WE417y1 14675.0
+-614265907 NULL NULL
+-614265907 eicMhR0nJt12OH7IO2651bO NULL
+-614168073 NULL 15740.0
+-614168073 6p2vWrdBsj30fSy0c7o5X7m5 15740.0
+-614043298 NULL NULL
+-614043298 e035q4Ba4721NL1l NULL
+-614035346 NULL -13154.0
+-614035346 0onk8EVH -13154.0
+-613772247 NULL NULL
+-613772247 j2UTaANoWtpw2co6Nj3bR2UG NULL
+-613078619 NULL 6052.0
+-613078619 8jKISHtr45yX5sUE0FGdMY 6052.0
+-611994002 NULL NULL
+-611994002 12Y88CFE3600p4daxwcd1x NULL
+-610887675 NULL 3702.0
+-610887675 nYK5s12fK544K 3702.0
+-610854924 NULL NULL
+-610854924 0T08CcDm0fDWR25u NULL
+-610692263 NULL NULL
+-610692263 IAX1cjB8p2 NULL
+-610644732 NULL NULL
+-610644732 FKDPbFp241 NULL
+-610433121 NULL 9774.0
+-610433121 dIw0j 9774.0
+-610020492 NULL NULL
+-610020492 w2FFs00 NULL
+-609917990 NULL NULL
+-609917990 3h8mD2F76eq4mS NULL
+-609818054 NULL NULL
+-609818054 H8dq1J4bt18aF4W48 NULL
+-609338438 NULL NULL
+-609338438 c34CVGK345 NULL
+-609169973 NULL NULL
+-609169973 u6HT8fTw6IgPf2 NULL
+-609095216 NULL 5607.0
+-609095216 51pI6Y6pcEoC4 5607.0
+-609075254 NULL -7555.0
+-609075254 rR4SvF6ME4BtJOx0Q -7555.0
+-609074876 NULL NULL
+-609074876 EcM71 NULL
+-608762183 NULL 5645.0
+-608762183 hW33k4mf1gQ 5645.0
+-608412235 NULL NULL
+-608412235 iINw0m NULL
+-607386418 NULL NULL
+-607386418 05oYA4ya5 NULL
+-607308279 NULL 2234.0
+-607308279 7Y00tGm 2234.0
+-607145105 NULL NULL
+-607145105 0rtl1C NULL
+-606964047 NULL -5282.0
+-606964047 sW5pS8s02FERo5xGn0p -5282.0
+-606705834 NULL NULL
+-606705834 miQXFj3fd8Uk388 NULL
+-606187635 NULL -9076.0
+-606187635 r61k2JwKD1gGJ2D33e7C -9076.0
+-605795810 NULL 81.0
+-605795810 X7L6W 81.0
+-605156830 NULL NULL
+-605156830 5NM44RohO4r6 NULL
+-605065222 NULL NULL
+-605065222 GciA5Y0kP NULL
+-604409214 NULL NULL
+-604409214 oa1p31X62jj14cJ4 NULL
+-603844681 NULL -6622.0
+-603844681 Ovk06Dok3I -6622.0
+-603645790 NULL NULL
+-603645790 2sQ408i6h2V7MI7 NULL
+-603601682 NULL NULL
+-603601682 poE6hx8xV36vG NULL
+-603332229 NULL -12127.0
+-603332229 EkPP1 -12127.0
+-602670850 NULL -7980.0
+-602670850 XD4Ss -7980.0
+-602640740 NULL NULL
+-602640740 s1K04o1 NULL
+-602583536 NULL 13167.0
+-602583536 4gBPJa 13167.0
+-602403777 NULL NULL
+-602403777 M5TxI32kgu NULL
+-602029849 NULL NULL
+-602029849 u8PxNYK4 NULL
+-601968139 NULL NULL
+-601968139 ALpMVq8Q6P01w6 NULL
+-601825532 NULL 11021.0
+-601825532 v4gQqo0bxX256o7EEN42lSoU 11021.0
+-601697788 NULL 15349.0
+-601697788 d64pbe5ih0aYr8gR77 15349.0
+-601502867 NULL NULL
+-601502867 M152O NULL
+-601451098 NULL NULL
+-601451098 5iRDem4pt4 NULL
+-601007307 NULL NULL
+-601007307 nF0c6J04lo3lD0GhK8b7n3g NULL
+-600422927 NULL NULL
+-600422927 A30e7a8ia36g25YQc8xTXBgB NULL
+-600414708 NULL NULL
+-600414708 78NRspEDoL7 NULL
+-600048425 NULL -1079.0
+-600048425 rWCcVpLiV5bqW -1079.0
+-599017697 NULL 3629.0
+-599017697 Bey152YLpPVVmJ
<TRUNCATED>
[20/23] hive git commit: HIVE-15019 : handle import for MM tables
(Sergey Shelukhin)
Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/8004f71e/ql/src/test/results/clientpositive/llap/mm_current.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/mm_current.q.out b/ql/src/test/results/clientpositive/llap/mm_current.q.out
index 7ccc2ee..98f37a1 100644
--- a/ql/src/test/results/clientpositive/llap/mm_current.q.out
+++ b/ql/src/test/results/clientpositive/llap/mm_current.q.out
@@ -28,302 +28,231 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@intermediate@p=456
POSTHOOK: Lineage: intermediate PARTITION(p=456).key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
-PREHOOK: query: drop table load0_mm
+PREHOOK: query: drop table intermediate_nonpart
PREHOOK: type: DROPTABLE
-POSTHOOK: query: drop table load0_mm
+POSTHOOK: query: drop table intermediate_nonpart
POSTHOOK: type: DROPTABLE
-PREHOOK: query: create table load0_mm (key string, value string) stored as textfile tblproperties('hivecommit'='true')
+PREHOOK: query: drop table intermmediate_part
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table intermmediate_part
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table intermmediate_nonpart
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table intermmediate_nonpart
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table intermediate_nonpart(key int, p int)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
-PREHOOK: Output: default@load0_mm
-POSTHOOK: query: create table load0_mm (key string, value string) stored as textfile tblproperties('hivecommit'='true')
+PREHOOK: Output: default@intermediate_nonpart
+POSTHOOK: query: create table intermediate_nonpart(key int, p int)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
-POSTHOOK: Output: default@load0_mm
-PREHOOK: query: load data local inpath '../../data/files/kv1.txt' into table load0_mm
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@load0_mm
-POSTHOOK: query: load data local inpath '../../data/files/kv1.txt' into table load0_mm
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@load0_mm
-PREHOOK: query: select count(1) from load0_mm
+POSTHOOK: Output: default@intermediate_nonpart
+PREHOOK: query: insert into intermediate_nonpart select * from intermediate
PREHOOK: type: QUERY
-PREHOOK: Input: default@load0_mm
-#### A masked pattern was here ####
-POSTHOOK: query: select count(1) from load0_mm
+PREHOOK: Input: default@intermediate
+PREHOOK: Input: default@intermediate@p=455
+PREHOOK: Input: default@intermediate@p=456
+PREHOOK: Output: default@intermediate_nonpart
+POSTHOOK: query: insert into intermediate_nonpart select * from intermediate
POSTHOOK: type: QUERY
-POSTHOOK: Input: default@load0_mm
-#### A masked pattern was here ####
-500
-PREHOOK: query: load data local inpath '../../data/files/kv2.txt' into table load0_mm
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@load0_mm
-POSTHOOK: query: load data local inpath '../../data/files/kv2.txt' into table load0_mm
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@load0_mm
-PREHOOK: query: select count(1) from load0_mm
+POSTHOOK: Input: default@intermediate
+POSTHOOK: Input: default@intermediate@p=455
+POSTHOOK: Input: default@intermediate@p=456
+POSTHOOK: Output: default@intermediate_nonpart
+POSTHOOK: Lineage: intermediate_nonpart.key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: intermediate_nonpart.p SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+PREHOOK: query: create table intermmediate_nonpart(key int, p int) tblproperties('hivecommit'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@intermmediate_nonpart
+POSTHOOK: query: create table intermmediate_nonpart(key int, p int) tblproperties('hivecommit'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@intermmediate_nonpart
+PREHOOK: query: insert into intermmediate_nonpart select * from intermediate
PREHOOK: type: QUERY
-PREHOOK: Input: default@load0_mm
-#### A masked pattern was here ####
-POSTHOOK: query: select count(1) from load0_mm
+PREHOOK: Input: default@intermediate
+PREHOOK: Input: default@intermediate@p=455
+PREHOOK: Input: default@intermediate@p=456
+PREHOOK: Output: default@intermmediate_nonpart
+POSTHOOK: query: insert into intermmediate_nonpart select * from intermediate
POSTHOOK: type: QUERY
-POSTHOOK: Input: default@load0_mm
-#### A masked pattern was here ####
-1000
-PREHOOK: query: load data local inpath '../../data/files/kv2.txt' overwrite into table load0_mm
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@load0_mm
-POSTHOOK: query: load data local inpath '../../data/files/kv2.txt' overwrite into table load0_mm
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@load0_mm
-PREHOOK: query: select count(1) from load0_mm
+POSTHOOK: Input: default@intermediate
+POSTHOOK: Input: default@intermediate@p=455
+POSTHOOK: Input: default@intermediate@p=456
+POSTHOOK: Output: default@intermmediate_nonpart
+POSTHOOK: Lineage: intermmediate_nonpart.key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: intermmediate_nonpart.p SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+PREHOOK: query: create table intermmediate(key int) partitioned by (p int) tblproperties('hivecommit'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@intermmediate
+POSTHOOK: query: create table intermmediate(key int) partitioned by (p int) tblproperties('hivecommit'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@intermmediate
+PREHOOK: query: insert into table intermmediate partition(p) select key, p from intermediate
PREHOOK: type: QUERY
-PREHOOK: Input: default@load0_mm
-#### A masked pattern was here ####
-POSTHOOK: query: select count(1) from load0_mm
+PREHOOK: Input: default@intermediate
+PREHOOK: Input: default@intermediate@p=455
+PREHOOK: Input: default@intermediate@p=456
+PREHOOK: Output: default@intermmediate
+POSTHOOK: query: insert into table intermmediate partition(p) select key, p from intermediate
POSTHOOK: type: QUERY
-POSTHOOK: Input: default@load0_mm
-#### A masked pattern was here ####
-500
-PREHOOK: query: drop table load0_mm
+POSTHOOK: Input: default@intermediate
+POSTHOOK: Input: default@intermediate@p=455
+POSTHOOK: Input: default@intermediate@p=456
+POSTHOOK: Output: default@intermmediate@p=455
+POSTHOOK: Output: default@intermmediate@p=456
+POSTHOOK: Lineage: intermmediate PARTITION(p=455).key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: intermmediate PARTITION(p=456).key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+PREHOOK: query: export table intermediate_nonpart to 'ql/test/data/exports/intermediate_nonpart'
+PREHOOK: type: EXPORT
+PREHOOK: Input: default@intermediate_nonpart
+#### A masked pattern was here ####
+POSTHOOK: query: export table intermediate_nonpart to 'ql/test/data/exports/intermediate_nonpart'
+POSTHOOK: type: EXPORT
+POSTHOOK: Input: default@intermediate_nonpart
+#### A masked pattern was here ####
+PREHOOK: query: export table intermmediate_nonpart to 'ql/test/data/exports/intermmediate_nonpart'
+PREHOOK: type: EXPORT
+PREHOOK: Input: default@intermmediate_nonpart
+#### A masked pattern was here ####
+POSTHOOK: query: export table intermmediate_nonpart to 'ql/test/data/exports/intermmediate_nonpart'
+POSTHOOK: type: EXPORT
+POSTHOOK: Input: default@intermmediate_nonpart
+#### A masked pattern was here ####
+PREHOOK: query: export table intermediate to 'ql/test/data/exports/intermediate_part'
+PREHOOK: type: EXPORT
+PREHOOK: Input: default@intermediate@p=455
+PREHOOK: Input: default@intermediate@p=456
+#### A masked pattern was here ####
+POSTHOOK: query: export table intermediate to 'ql/test/data/exports/intermediate_part'
+POSTHOOK: type: EXPORT
+POSTHOOK: Input: default@intermediate@p=455
+POSTHOOK: Input: default@intermediate@p=456
+#### A masked pattern was here ####
+PREHOOK: query: export table intermmediate to 'ql/test/data/exports/intermmediate_part'
+PREHOOK: type: EXPORT
+PREHOOK: Input: default@intermmediate@p=455
+PREHOOK: Input: default@intermmediate@p=456
+#### A masked pattern was here ####
+POSTHOOK: query: export table intermmediate to 'ql/test/data/exports/intermmediate_part'
+POSTHOOK: type: EXPORT
+POSTHOOK: Input: default@intermmediate@p=455
+POSTHOOK: Input: default@intermmediate@p=456
+#### A masked pattern was here ####
+PREHOOK: query: drop table intermediate_nonpart
PREHOOK: type: DROPTABLE
-PREHOOK: Input: default@load0_mm
-PREHOOK: Output: default@load0_mm
-POSTHOOK: query: drop table load0_mm
+PREHOOK: Input: default@intermediate_nonpart
+PREHOOK: Output: default@intermediate_nonpart
+POSTHOOK: query: drop table intermediate_nonpart
POSTHOOK: type: DROPTABLE
-POSTHOOK: Input: default@load0_mm
-POSTHOOK: Output: default@load0_mm
-PREHOOK: query: drop table intermediate2
+POSTHOOK: Input: default@intermediate_nonpart
+POSTHOOK: Output: default@intermediate_nonpart
+PREHOOK: query: drop table intermmediate_part
PREHOOK: type: DROPTABLE
-POSTHOOK: query: drop table intermediate2
+POSTHOOK: query: drop table intermmediate_part
POSTHOOK: type: DROPTABLE
-PREHOOK: query: create table intermediate2 (key string, value string) stored as textfile
-#### A masked pattern was here ####
-PREHOOK: type: CREATETABLE
-#### A masked pattern was here ####
-PREHOOK: Output: database:default
-PREHOOK: Output: default@intermediate2
-POSTHOOK: query: create table intermediate2 (key string, value string) stored as textfile
-#### A masked pattern was here ####
-POSTHOOK: type: CREATETABLE
-#### A masked pattern was here ####
-POSTHOOK: Output: database:default
-POSTHOOK: Output: default@intermediate2
-PREHOOK: query: load data local inpath '../../data/files/kv1.txt' into table intermediate2
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@intermediate2
-POSTHOOK: query: load data local inpath '../../data/files/kv1.txt' into table intermediate2
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@intermediate2
-PREHOOK: query: load data local inpath '../../data/files/kv2.txt' into table intermediate2
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@intermediate2
-POSTHOOK: query: load data local inpath '../../data/files/kv2.txt' into table intermediate2
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@intermediate2
-PREHOOK: query: load data local inpath '../../data/files/kv3.txt' into table intermediate2
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@intermediate2
-POSTHOOK: query: load data local inpath '../../data/files/kv3.txt' into table intermediate2
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@intermediate2
-PREHOOK: query: drop table load1_mm
+PREHOOK: query: drop table intermmediate_nonpart
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@intermmediate_nonpart
+PREHOOK: Output: default@intermmediate_nonpart
+POSTHOOK: query: drop table intermmediate_nonpart
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@intermmediate_nonpart
+POSTHOOK: Output: default@intermmediate_nonpart
+PREHOOK: query: -- MM export into existing non-MM table, non-part and part
+
+drop table import6_mm
PREHOOK: type: DROPTABLE
-POSTHOOK: query: drop table load1_mm
+POSTHOOK: query: -- MM export into existing non-MM table, non-part and part
+
+drop table import6_mm
POSTHOOK: type: DROPTABLE
-PREHOOK: query: create table load1_mm (key string, value string) stored as textfile tblproperties('hivecommit'='true')
+PREHOOK: query: create table import6_mm(key int, p int)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
-PREHOOK: Output: default@load1_mm
-POSTHOOK: query: create table load1_mm (key string, value string) stored as textfile tblproperties('hivecommit'='true')
+PREHOOK: Output: default@import6_mm
+POSTHOOK: query: create table import6_mm(key int, p int)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
-POSTHOOK: Output: default@load1_mm
-#### A masked pattern was here ####
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@load1_mm
-#### A masked pattern was here ####
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@load1_mm
-#### A masked pattern was here ####
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@load1_mm
-#### A masked pattern was here ####
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@load1_mm
-PREHOOK: query: select count(1) from load1_mm
-PREHOOK: type: QUERY
-PREHOOK: Input: default@load1_mm
-#### A masked pattern was here ####
-POSTHOOK: query: select count(1) from load1_mm
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@load1_mm
-#### A masked pattern was here ####
-1000
-PREHOOK: query: load data local inpath '../../data/files/kv1.txt' into table intermediate2
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@intermediate2
-POSTHOOK: query: load data local inpath '../../data/files/kv1.txt' into table intermediate2
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@intermediate2
-PREHOOK: query: load data local inpath '../../data/files/kv2.txt' into table intermediate2
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@intermediate2
-POSTHOOK: query: load data local inpath '../../data/files/kv2.txt' into table intermediate2
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@intermediate2
-PREHOOK: query: load data local inpath '../../data/files/kv3.txt' into table intermediate2
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@intermediate2
-POSTHOOK: query: load data local inpath '../../data/files/kv3.txt' into table intermediate2
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@intermediate2
-#### A masked pattern was here ####
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@load1_mm
-#### A masked pattern was here ####
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@load1_mm
-PREHOOK: query: select count(1) from load1_mm
-PREHOOK: type: QUERY
-PREHOOK: Input: default@load1_mm
-#### A masked pattern was here ####
-POSTHOOK: query: select count(1) from load1_mm
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@load1_mm
-#### A masked pattern was here ####
-1050
-PREHOOK: query: load data local inpath '../../data/files/kv2.txt' into table intermediate2
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@intermediate2
-POSTHOOK: query: load data local inpath '../../data/files/kv2.txt' into table intermediate2
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@intermediate2
-#### A masked pattern was here ####
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@load1_mm
-#### A masked pattern was here ####
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@load1_mm
-PREHOOK: query: select count(1) from load1_mm
-PREHOOK: type: QUERY
-PREHOOK: Input: default@load1_mm
-#### A masked pattern was here ####
-POSTHOOK: query: select count(1) from load1_mm
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@load1_mm
-#### A masked pattern was here ####
-500
-PREHOOK: query: drop table load1_mm
-PREHOOK: type: DROPTABLE
-PREHOOK: Input: default@load1_mm
-PREHOOK: Output: default@load1_mm
-POSTHOOK: query: drop table load1_mm
-POSTHOOK: type: DROPTABLE
-POSTHOOK: Input: default@load1_mm
-POSTHOOK: Output: default@load1_mm
-PREHOOK: query: drop table load2_mm
+POSTHOOK: Output: default@import6_mm
+PREHOOK: query: drop table import7_mm
PREHOOK: type: DROPTABLE
-POSTHOOK: query: drop table load2_mm
+POSTHOOK: query: drop table import7_mm
POSTHOOK: type: DROPTABLE
-PREHOOK: query: create table load2_mm (key string, value string)
- partitioned by (k int, l int) stored as textfile tblproperties('hivecommit'='true')
+PREHOOK: query: create table import7_mm(key int) partitioned by (p int)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
-PREHOOK: Output: default@load2_mm
-POSTHOOK: query: create table load2_mm (key string, value string)
- partitioned by (k int, l int) stored as textfile tblproperties('hivecommit'='true')
+PREHOOK: Output: default@import7_mm
+POSTHOOK: query: create table import7_mm(key int) partitioned by (p int)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
-POSTHOOK: Output: default@load2_mm
-PREHOOK: query: load data local inpath '../../data/files/kv1.txt' into table intermediate2
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@intermediate2
-POSTHOOK: query: load data local inpath '../../data/files/kv1.txt' into table intermediate2
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@intermediate2
-PREHOOK: query: load data local inpath '../../data/files/kv2.txt' into table intermediate2
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@intermediate2
-POSTHOOK: query: load data local inpath '../../data/files/kv2.txt' into table intermediate2
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@intermediate2
-PREHOOK: query: load data local inpath '../../data/files/kv3.txt' into table intermediate2
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@intermediate2
-POSTHOOK: query: load data local inpath '../../data/files/kv3.txt' into table intermediate2
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@intermediate2
-#### A masked pattern was here ####
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@load2_mm
+POSTHOOK: Output: default@import7_mm
+PREHOOK: query: import table import6_mm from 'ql/test/data/exports/intermmediate_nonpart'
+PREHOOK: type: IMPORT
+#### A masked pattern was here ####
+PREHOOK: Output: default@import6_mm
+POSTHOOK: query: import table import6_mm from 'ql/test/data/exports/intermmediate_nonpart'
+POSTHOOK: type: IMPORT
+#### A masked pattern was here ####
+POSTHOOK: Output: default@import6_mm
+PREHOOK: query: import table import7_mm from 'ql/test/data/exports/intermmediate_part'
+PREHOOK: type: IMPORT
+#### A masked pattern was here ####
+PREHOOK: Output: default@import7_mm
+POSTHOOK: query: import table import7_mm from 'ql/test/data/exports/intermmediate_part'
+POSTHOOK: type: IMPORT
+#### A masked pattern was here ####
+POSTHOOK: Output: default@import7_mm
+POSTHOOK: Output: default@import7_mm@p=455
+POSTHOOK: Output: default@import7_mm@p=456
+PREHOOK: query: select * from import6_mm order by key, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@import6_mm
#### A masked pattern was here ####
-POSTHOOK: type: LOAD
+POSTHOOK: query: select * from import6_mm order by key, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@import6_mm
#### A masked pattern was here ####
-POSTHOOK: Output: default@load2_mm
-POSTHOOK: Output: default@load2_mm@k=5/l=5
-PREHOOK: query: select count(1) from load2_mm
+0 456
+10 456
+97 455
+98 455
+PREHOOK: query: select * from import7_mm order by key, p
PREHOOK: type: QUERY
-PREHOOK: Input: default@load2_mm
-PREHOOK: Input: default@load2_mm@k=5/l=5
+PREHOOK: Input: default@import7_mm
+PREHOOK: Input: default@import7_mm@p=455
+PREHOOK: Input: default@import7_mm@p=456
#### A masked pattern was here ####
-POSTHOOK: query: select count(1) from load2_mm
+POSTHOOK: query: select * from import7_mm order by key, p
POSTHOOK: type: QUERY
-POSTHOOK: Input: default@load2_mm
-POSTHOOK: Input: default@load2_mm@k=5/l=5
-#### A masked pattern was here ####
-1025
-PREHOOK: query: drop table load2_mm
+POSTHOOK: Input: default@import7_mm
+POSTHOOK: Input: default@import7_mm@p=455
+POSTHOOK: Input: default@import7_mm@p=456
+#### A masked pattern was here ####
+0 456
+10 456
+97 455
+98 455
+PREHOOK: query: drop table import6_mm
PREHOOK: type: DROPTABLE
-PREHOOK: Input: default@load2_mm
-PREHOOK: Output: default@load2_mm
-POSTHOOK: query: drop table load2_mm
+PREHOOK: Input: default@import6_mm
+PREHOOK: Output: default@import6_mm
+POSTHOOK: query: drop table import6_mm
POSTHOOK: type: DROPTABLE
-POSTHOOK: Input: default@load2_mm
-POSTHOOK: Output: default@load2_mm
-PREHOOK: query: drop table intermediate2
+POSTHOOK: Input: default@import6_mm
+POSTHOOK: Output: default@import6_mm
+PREHOOK: query: drop table import7_mm
PREHOOK: type: DROPTABLE
-PREHOOK: Input: default@intermediate2
-PREHOOK: Output: default@intermediate2
-POSTHOOK: query: drop table intermediate2
+PREHOOK: Input: default@import7_mm
+PREHOOK: Output: default@import7_mm
+POSTHOOK: query: drop table import7_mm
POSTHOOK: type: DROPTABLE
-POSTHOOK: Input: default@intermediate2
-POSTHOOK: Output: default@intermediate2
+POSTHOOK: Input: default@import7_mm
+POSTHOOK: Output: default@import7_mm
PREHOOK: query: drop table intermediate
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@intermediate
[23/23] hive git commit: HIVE-15021 : handle (or add a test for)
multi-insert into MM tables (Sergey Shelukhin)
Posted by se...@apache.org.
HIVE-15021 : handle (or add a test for) multi-insert into MM tables (Sergey Shelukhin)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/b60bbc28
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/b60bbc28
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/b60bbc28
Branch: refs/heads/hive-14535
Commit: b60bbc28afc3e683e8e146a6ef9999fd5467b2ca
Parents: ff1ea20
Author: Sergey Shelukhin <se...@apache.org>
Authored: Thu Oct 20 15:08:48 2016 -0700
Committer: Sergey Shelukhin <se...@apache.org>
Committed: Thu Oct 20 15:08:48 2016 -0700
----------------------------------------------------------------------
ql/src/test/queries/clientpositive/mm_all.q | 57 ++-
ql/src/test/queries/clientpositive/mm_current.q | 89 ++--
.../results/clientpositive/llap/mm_all.q.out | 463 ++++++++++++++++-
.../clientpositive/llap/mm_current.q.out | 495 ++++++++++++-------
4 files changed, 888 insertions(+), 216 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/b60bbc28/ql/src/test/queries/clientpositive/mm_all.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/mm_all.q b/ql/src/test/queries/clientpositive/mm_all.q
index d440136..9d1bf8a 100644
--- a/ql/src/test/queries/clientpositive/mm_all.q
+++ b/ql/src/test/queries/clientpositive/mm_all.q
@@ -360,7 +360,62 @@ drop table import7_mm;
set hive.exim.test.mode=false;
--- TODO# multi-insert
+
+drop table multi0_1_mm;
+drop table multi0_2_mm;
+create table multi0_1_mm (key int, key2 int) tblproperties('hivecommit'='true');
+create table multi0_2_mm (key int, key2 int) tblproperties('hivecommit'='true');
+
+from intermediate
+insert overwrite table multi0_1_mm select key, p
+insert overwrite table multi0_2_mm select p, key;
+
+select * from multi0_1_mm order by key, key2;
+select * from multi0_2_mm order by key, key2;
+
+set hive.merge.mapredfiles=true;
+set hive.merge.sparkfiles=true;
+set hive.merge.tezfiles=true;
+
+from intermediate
+insert into table multi0_1_mm select p, key
+insert overwrite table multi0_2_mm select key, p;
+select * from multi0_1_mm order by key, key2;
+select * from multi0_2_mm order by key, key2;
+
+set hive.merge.mapredfiles=false;
+set hive.merge.sparkfiles=false;
+set hive.merge.tezfiles=false;
+
+drop table multi0_1_mm;
+drop table multi0_2_mm;
+
+
+drop table multi1_mm;
+create table multi1_mm (key int, key2 int) partitioned by (p int) tblproperties('hivecommit'='true');
+from intermediate
+insert into table multi1_mm partition(p=1) select p, key
+insert into table multi1_mm partition(p=2) select key, p;
+select * from multi1_mm order by key, key2, p;
+from intermediate
+insert into table multi1_mm partition(p=2) select p, key
+insert overwrite table multi1_mm partition(p=1) select key, p;
+select * from multi1_mm order by key, key2, p;
+
+from intermediate
+insert into table multi1_mm partition(p) select p, key, p
+insert into table multi1_mm partition(p=1) select key, p;
+select key, key2, p from multi1_mm order by key, key2, p;
+
+from intermediate
+insert into table multi1_mm partition(p) select p, key, 1
+insert into table multi1_mm partition(p=1) select key, p;
+select key, key2, p from multi1_mm order by key, key2, p;
+drop table multi1_mm;
+
+
+
+
http://git-wip-us.apache.org/repos/asf/hive/blob/b60bbc28/ql/src/test/queries/clientpositive/mm_current.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/mm_current.q b/ql/src/test/queries/clientpositive/mm_current.q
index ab28d35..bb166cf 100644
--- a/ql/src/test/queries/clientpositive/mm_current.q
+++ b/ql/src/test/queries/clientpositive/mm_current.q
@@ -11,42 +11,59 @@ create table intermediate(key int) partitioned by (p int) stored as orc;
insert into table intermediate partition(p='455') select distinct key from src where key >= 0 order by key desc limit 2;
insert into table intermediate partition(p='456') select distinct key from src where key is not null order by key asc limit 2;
-drop table intermediate_nonpart;
-drop table intermmediate_part;
-drop table intermmediate_nonpart;
-
-
-create table intermediate_nonpart(key int, p int);
-insert into intermediate_nonpart select * from intermediate;
-create table intermmediate_nonpart(key int, p int) tblproperties('hivecommit'='true');
-insert into intermmediate_nonpart select * from intermediate;
-create table intermmediate(key int) partitioned by (p int) tblproperties('hivecommit'='true');
-insert into table intermmediate partition(p) select key, p from intermediate;
-
-set hive.exim.test.mode=true;
-
-export table intermediate_nonpart to 'ql/test/data/exports/intermediate_nonpart';
-export table intermmediate_nonpart to 'ql/test/data/exports/intermmediate_nonpart';
-export table intermediate to 'ql/test/data/exports/intermediate_part';
-export table intermmediate to 'ql/test/data/exports/intermmediate_part';
-
-drop table intermediate_nonpart;
-drop table intermmediate_part;
-drop table intermmediate_nonpart;
-
--- MM export into existing non-MM table, non-part and part
-
-drop table import6_mm;
-create table import6_mm(key int, p int);
-import table import6_mm from 'ql/test/data/exports/intermmediate_nonpart';
-select * from import6_mm order by key, p;
-drop table import6_mm;
-
-drop table import7_mm;
-create table import7_mm(key int) partitioned by (p int);
-import table import7_mm from 'ql/test/data/exports/intermmediate_part';
-select * from import7_mm order by key, p;
-drop table import7_mm;
+
+drop table multi0_1_mm;
+drop table multi0_2_mm;
+create table multi0_1_mm (key int, key2 int) tblproperties('hivecommit'='true');
+create table multi0_2_mm (key int, key2 int) tblproperties('hivecommit'='true');
+
+from intermediate
+insert overwrite table multi0_1_mm select key, p
+insert overwrite table multi0_2_mm select p, key;
+
+select * from multi0_1_mm order by key, key2;
+select * from multi0_2_mm order by key, key2;
+
+set hive.merge.mapredfiles=true;
+set hive.merge.sparkfiles=true;
+set hive.merge.tezfiles=true;
+
+from intermediate
+insert into table multi0_1_mm select p, key
+insert overwrite table multi0_2_mm select key, p;
+select * from multi0_1_mm order by key, key2;
+select * from multi0_2_mm order by key, key2;
+
+set hive.merge.mapredfiles=false;
+set hive.merge.sparkfiles=false;
+set hive.merge.tezfiles=false;
+
+drop table multi0_1_mm;
+drop table multi0_2_mm;
+
+
+drop table multi1_mm;
+create table multi1_mm (key int, key2 int) partitioned by (p int) tblproperties('hivecommit'='true');
+from intermediate
+insert into table multi1_mm partition(p=1) select p, key
+insert into table multi1_mm partition(p=2) select key, p;
+select * from multi1_mm order by key, key2, p;
+from intermediate
+insert into table multi1_mm partition(p=2) select p, key
+insert overwrite table multi1_mm partition(p=1) select key, p;
+select * from multi1_mm order by key, key2, p;
+
+from intermediate
+insert into table multi1_mm partition(p) select p, key, p
+insert into table multi1_mm partition(p=1) select key, p;
+select key, key2, p from multi1_mm order by key, key2, p;
+
+from intermediate
+insert into table multi1_mm partition(p) select p, key, 1
+insert into table multi1_mm partition(p=1) select key, p;
+select key, key2, p from multi1_mm order by key, key2, p;
+drop table multi1_mm;
+
drop table intermediate;
http://git-wip-us.apache.org/repos/asf/hive/blob/b60bbc28/ql/src/test/results/clientpositive/llap/mm_all.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/mm_all.q.out b/ql/src/test/results/clientpositive/llap/mm_all.q.out
index bdd365d..57c878c 100644
--- a/ql/src/test/results/clientpositive/llap/mm_all.q.out
+++ b/ql/src/test/results/clientpositive/llap/mm_all.q.out
@@ -2516,19 +2516,462 @@ POSTHOOK: query: drop table import7_mm
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@import7_mm
POSTHOOK: Output: default@import7_mm
-PREHOOK: query: -- TODO# multi-insert
-
-
-
-drop table intermediate
+PREHOOK: query: drop table multi0_1_mm
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table multi0_1_mm
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table multi0_2_mm
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table multi0_2_mm
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table multi0_1_mm (key int, key2 int) tblproperties('hivecommit'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@multi0_1_mm
+POSTHOOK: query: create table multi0_1_mm (key int, key2 int) tblproperties('hivecommit'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@multi0_1_mm
+PREHOOK: query: create table multi0_2_mm (key int, key2 int) tblproperties('hivecommit'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@multi0_2_mm
+POSTHOOK: query: create table multi0_2_mm (key int, key2 int) tblproperties('hivecommit'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@multi0_2_mm
+PREHOOK: query: from intermediate
+insert overwrite table multi0_1_mm select key, p
+insert overwrite table multi0_2_mm select p, key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@intermediate
+PREHOOK: Input: default@intermediate@p=455
+PREHOOK: Input: default@intermediate@p=456
+PREHOOK: Input: default@intermediate@p=457
+PREHOOK: Output: default@multi0_1_mm
+PREHOOK: Output: default@multi0_2_mm
+POSTHOOK: query: from intermediate
+insert overwrite table multi0_1_mm select key, p
+insert overwrite table multi0_2_mm select p, key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@intermediate
+POSTHOOK: Input: default@intermediate@p=455
+POSTHOOK: Input: default@intermediate@p=456
+POSTHOOK: Input: default@intermediate@p=457
+POSTHOOK: Output: default@multi0_1_mm
+POSTHOOK: Output: default@multi0_2_mm
+POSTHOOK: Lineage: multi0_1_mm.key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi0_1_mm.key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi0_2_mm.key SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi0_2_mm.key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+PREHOOK: query: select * from multi0_1_mm order by key, key2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@multi0_1_mm
+#### A masked pattern was here ####
+POSTHOOK: query: select * from multi0_1_mm order by key, key2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@multi0_1_mm
+#### A masked pattern was here ####
+0 456
+10 456
+97 455
+98 455
+100 457
+103 457
+PREHOOK: query: select * from multi0_2_mm order by key, key2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@multi0_2_mm
+#### A masked pattern was here ####
+POSTHOOK: query: select * from multi0_2_mm order by key, key2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@multi0_2_mm
+#### A masked pattern was here ####
+455 97
+455 98
+456 0
+456 10
+457 100
+457 103
+PREHOOK: query: from intermediate
+insert into table multi0_1_mm select p, key
+insert overwrite table multi0_2_mm select key, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@intermediate
+PREHOOK: Input: default@intermediate@p=455
+PREHOOK: Input: default@intermediate@p=456
+PREHOOK: Input: default@intermediate@p=457
+PREHOOK: Output: default@multi0_1_mm
+PREHOOK: Output: default@multi0_2_mm
+POSTHOOK: query: from intermediate
+insert into table multi0_1_mm select p, key
+insert overwrite table multi0_2_mm select key, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@intermediate
+POSTHOOK: Input: default@intermediate@p=455
+POSTHOOK: Input: default@intermediate@p=456
+POSTHOOK: Input: default@intermediate@p=457
+POSTHOOK: Output: default@multi0_1_mm
+POSTHOOK: Output: default@multi0_2_mm
+POSTHOOK: Lineage: multi0_1_mm.key SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi0_1_mm.key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi0_2_mm.key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi0_2_mm.key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+PREHOOK: query: select * from multi0_1_mm order by key, key2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@multi0_1_mm
+#### A masked pattern was here ####
+POSTHOOK: query: select * from multi0_1_mm order by key, key2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@multi0_1_mm
+#### A masked pattern was here ####
+0 456
+10 456
+97 455
+98 455
+100 457
+103 457
+455 97
+455 98
+456 0
+456 10
+457 100
+457 103
+PREHOOK: query: select * from multi0_2_mm order by key, key2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@multi0_2_mm
+#### A masked pattern was here ####
+POSTHOOK: query: select * from multi0_2_mm order by key, key2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@multi0_2_mm
+#### A masked pattern was here ####
+0 456
+10 456
+97 455
+98 455
+100 457
+103 457
+PREHOOK: query: drop table multi0_1_mm
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@multi0_1_mm
+PREHOOK: Output: default@multi0_1_mm
+POSTHOOK: query: drop table multi0_1_mm
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@multi0_1_mm
+POSTHOOK: Output: default@multi0_1_mm
+PREHOOK: query: drop table multi0_2_mm
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@multi0_2_mm
+PREHOOK: Output: default@multi0_2_mm
+POSTHOOK: query: drop table multi0_2_mm
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@multi0_2_mm
+POSTHOOK: Output: default@multi0_2_mm
+PREHOOK: query: drop table multi1_mm
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table multi1_mm
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table multi1_mm (key int, key2 int) partitioned by (p int) tblproperties('hivecommit'='true')
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@multi1_mm
+POSTHOOK: query: create table multi1_mm (key int, key2 int) partitioned by (p int) tblproperties('hivecommit'='true')
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@multi1_mm
+PREHOOK: query: from intermediate
+insert into table multi1_mm partition(p=1) select p, key
+insert into table multi1_mm partition(p=2) select key, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@intermediate
+PREHOOK: Input: default@intermediate@p=455
+PREHOOK: Input: default@intermediate@p=456
+PREHOOK: Input: default@intermediate@p=457
+PREHOOK: Output: default@multi1_mm@p=1
+PREHOOK: Output: default@multi1_mm@p=2
+POSTHOOK: query: from intermediate
+insert into table multi1_mm partition(p=1) select p, key
+insert into table multi1_mm partition(p=2) select key, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@intermediate
+POSTHOOK: Input: default@intermediate@p=455
+POSTHOOK: Input: default@intermediate@p=456
+POSTHOOK: Input: default@intermediate@p=457
+POSTHOOK: Output: default@multi1_mm@p=1
+POSTHOOK: Output: default@multi1_mm@p=2
+POSTHOOK: Lineage: multi1_mm PARTITION(p=1).key SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=1).key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=2).key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=2).key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+PREHOOK: query: select * from multi1_mm order by key, key2, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@multi1_mm
+PREHOOK: Input: default@multi1_mm@p=1
+PREHOOK: Input: default@multi1_mm@p=2
+#### A masked pattern was here ####
+POSTHOOK: query: select * from multi1_mm order by key, key2, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@multi1_mm
+POSTHOOK: Input: default@multi1_mm@p=1
+POSTHOOK: Input: default@multi1_mm@p=2
+#### A masked pattern was here ####
+0 456 2
+10 456 2
+97 455 2
+98 455 2
+100 457 2
+103 457 2
+455 97 1
+455 98 1
+456 0 1
+456 10 1
+457 100 1
+457 103 1
+PREHOOK: query: from intermediate
+insert into table multi1_mm partition(p=2) select p, key
+insert overwrite table multi1_mm partition(p=1) select key, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@intermediate
+PREHOOK: Input: default@intermediate@p=455
+PREHOOK: Input: default@intermediate@p=456
+PREHOOK: Input: default@intermediate@p=457
+PREHOOK: Output: default@multi1_mm@p=1
+PREHOOK: Output: default@multi1_mm@p=2
+POSTHOOK: query: from intermediate
+insert into table multi1_mm partition(p=2) select p, key
+insert overwrite table multi1_mm partition(p=1) select key, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@intermediate
+POSTHOOK: Input: default@intermediate@p=455
+POSTHOOK: Input: default@intermediate@p=456
+POSTHOOK: Input: default@intermediate@p=457
+POSTHOOK: Output: default@multi1_mm@p=1
+POSTHOOK: Output: default@multi1_mm@p=2
+POSTHOOK: Lineage: multi1_mm PARTITION(p=1).key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=1).key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=2).key SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=2).key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+PREHOOK: query: select * from multi1_mm order by key, key2, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@multi1_mm
+PREHOOK: Input: default@multi1_mm@p=1
+PREHOOK: Input: default@multi1_mm@p=2
+#### A masked pattern was here ####
+POSTHOOK: query: select * from multi1_mm order by key, key2, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@multi1_mm
+POSTHOOK: Input: default@multi1_mm@p=1
+POSTHOOK: Input: default@multi1_mm@p=2
+#### A masked pattern was here ####
+0 456 1
+0 456 2
+10 456 1
+10 456 2
+97 455 1
+97 455 2
+98 455 1
+98 455 2
+100 457 1
+100 457 2
+103 457 1
+103 457 2
+455 97 1
+455 97 2
+455 98 1
+455 98 2
+456 0 1
+456 0 2
+456 10 1
+456 10 2
+457 100 1
+457 100 2
+457 103 1
+457 103 2
+PREHOOK: query: from intermediate
+insert into table multi1_mm partition(p) select p, key, p
+insert into table multi1_mm partition(p=1) select key, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@intermediate
+PREHOOK: Input: default@intermediate@p=455
+PREHOOK: Input: default@intermediate@p=456
+PREHOOK: Input: default@intermediate@p=457
+PREHOOK: Output: default@multi1_mm
+PREHOOK: Output: default@multi1_mm@p=1
+POSTHOOK: query: from intermediate
+insert into table multi1_mm partition(p) select p, key, p
+insert into table multi1_mm partition(p=1) select key, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@intermediate
+POSTHOOK: Input: default@intermediate@p=455
+POSTHOOK: Input: default@intermediate@p=456
+POSTHOOK: Input: default@intermediate@p=457
+POSTHOOK: Output: default@multi1_mm@p=1
+POSTHOOK: Output: default@multi1_mm@p=455
+POSTHOOK: Output: default@multi1_mm@p=456
+POSTHOOK: Output: default@multi1_mm@p=457
+POSTHOOK: Lineage: multi1_mm PARTITION(p=1).key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=1).key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=455).key SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=455).key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=456).key SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=456).key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=457).key SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=457).key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+PREHOOK: query: select key, key2, p from multi1_mm order by key, key2, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@multi1_mm
+PREHOOK: Input: default@multi1_mm@p=1
+PREHOOK: Input: default@multi1_mm@p=2
+PREHOOK: Input: default@multi1_mm@p=455
+PREHOOK: Input: default@multi1_mm@p=456
+PREHOOK: Input: default@multi1_mm@p=457
+#### A masked pattern was here ####
+POSTHOOK: query: select key, key2, p from multi1_mm order by key, key2, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@multi1_mm
+POSTHOOK: Input: default@multi1_mm@p=1
+POSTHOOK: Input: default@multi1_mm@p=2
+POSTHOOK: Input: default@multi1_mm@p=455
+POSTHOOK: Input: default@multi1_mm@p=456
+POSTHOOK: Input: default@multi1_mm@p=457
+#### A masked pattern was here ####
+0 456 1
+0 456 1
+0 456 2
+10 456 1
+10 456 1
+10 456 2
+97 455 1
+97 455 1
+97 455 2
+98 455 1
+98 455 1
+98 455 2
+100 457 1
+100 457 1
+100 457 2
+103 457 1
+103 457 1
+103 457 2
+455 97 1
+455 97 2
+455 97 455
+455 98 1
+455 98 2
+455 98 455
+456 0 1
+456 0 2
+456 0 456
+456 10 1
+456 10 2
+456 10 456
+457 100 1
+457 100 2
+457 100 457
+457 103 1
+457 103 2
+457 103 457
+PREHOOK: query: from intermediate
+insert into table multi1_mm partition(p) select p, key, 1
+insert into table multi1_mm partition(p=1) select key, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@intermediate
+PREHOOK: Input: default@intermediate@p=455
+PREHOOK: Input: default@intermediate@p=456
+PREHOOK: Input: default@intermediate@p=457
+PREHOOK: Output: default@multi1_mm
+PREHOOK: Output: default@multi1_mm@p=1
+POSTHOOK: query: from intermediate
+insert into table multi1_mm partition(p) select p, key, 1
+insert into table multi1_mm partition(p=1) select key, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@intermediate
+POSTHOOK: Input: default@intermediate@p=455
+POSTHOOK: Input: default@intermediate@p=456
+POSTHOOK: Input: default@intermediate@p=457
+POSTHOOK: Output: default@multi1_mm@p=1
+POSTHOOK: Lineage: multi1_mm PARTITION(p=1).key SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=1).key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=1).key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=1).key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+PREHOOK: query: select key, key2, p from multi1_mm order by key, key2, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@multi1_mm
+PREHOOK: Input: default@multi1_mm@p=1
+PREHOOK: Input: default@multi1_mm@p=2
+PREHOOK: Input: default@multi1_mm@p=455
+PREHOOK: Input: default@multi1_mm@p=456
+PREHOOK: Input: default@multi1_mm@p=457
+#### A masked pattern was here ####
+POSTHOOK: query: select key, key2, p from multi1_mm order by key, key2, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@multi1_mm
+POSTHOOK: Input: default@multi1_mm@p=1
+POSTHOOK: Input: default@multi1_mm@p=2
+POSTHOOK: Input: default@multi1_mm@p=455
+POSTHOOK: Input: default@multi1_mm@p=456
+POSTHOOK: Input: default@multi1_mm@p=457
+#### A masked pattern was here ####
+0 456 1
+0 456 1
+0 456 1
+0 456 2
+10 456 1
+10 456 1
+10 456 1
+10 456 2
+97 455 1
+97 455 1
+97 455 1
+97 455 2
+98 455 1
+98 455 1
+98 455 1
+98 455 2
+100 457 1
+100 457 1
+100 457 1
+100 457 2
+103 457 1
+103 457 1
+103 457 1
+103 457 2
+455 97 1
+455 97 1
+455 97 2
+455 97 455
+455 98 1
+455 98 1
+455 98 2
+455 98 455
+456 0 1
+456 0 1
+456 0 2
+456 0 456
+456 10 1
+456 10 1
+456 10 2
+456 10 456
+457 100 1
+457 100 1
+457 100 2
+457 100 457
+457 103 1
+457 103 1
+457 103 2
+457 103 457
+PREHOOK: query: drop table multi1_mm
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@multi1_mm
+PREHOOK: Output: default@multi1_mm
+POSTHOOK: query: drop table multi1_mm
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@multi1_mm
+POSTHOOK: Output: default@multi1_mm
+PREHOOK: query: drop table intermediate
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@intermediate
PREHOOK: Output: default@intermediate
-POSTHOOK: query: -- TODO# multi-insert
-
-
-
-drop table intermediate
+POSTHOOK: query: drop table intermediate
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@intermediate
POSTHOOK: Output: default@intermediate
http://git-wip-us.apache.org/repos/asf/hive/blob/b60bbc28/ql/src/test/results/clientpositive/llap/mm_current.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/mm_current.q.out b/ql/src/test/results/clientpositive/llap/mm_current.q.out
index 98f37a1..0522288 100644
--- a/ql/src/test/results/clientpositive/llap/mm_current.q.out
+++ b/ql/src/test/results/clientpositive/llap/mm_current.q.out
@@ -28,231 +28,388 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@src
POSTHOOK: Output: default@intermediate@p=456
POSTHOOK: Lineage: intermediate PARTITION(p=456).key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
-PREHOOK: query: drop table intermediate_nonpart
+PREHOOK: query: drop table multi0_1_mm
PREHOOK: type: DROPTABLE
-POSTHOOK: query: drop table intermediate_nonpart
+POSTHOOK: query: drop table multi0_1_mm
POSTHOOK: type: DROPTABLE
-PREHOOK: query: drop table intermmediate_part
+PREHOOK: query: drop table multi0_2_mm
PREHOOK: type: DROPTABLE
-POSTHOOK: query: drop table intermmediate_part
+POSTHOOK: query: drop table multi0_2_mm
POSTHOOK: type: DROPTABLE
-PREHOOK: query: drop table intermmediate_nonpart
-PREHOOK: type: DROPTABLE
-POSTHOOK: query: drop table intermmediate_nonpart
-POSTHOOK: type: DROPTABLE
-PREHOOK: query: create table intermediate_nonpart(key int, p int)
+PREHOOK: query: create table multi0_1_mm (key int, key2 int) tblproperties('hivecommit'='false')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
-PREHOOK: Output: default@intermediate_nonpart
-POSTHOOK: query: create table intermediate_nonpart(key int, p int)
+PREHOOK: Output: default@multi0_1_mm
+POSTHOOK: query: create table multi0_1_mm (key int, key2 int) tblproperties('hivecommit'='false')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
-POSTHOOK: Output: default@intermediate_nonpart
-PREHOOK: query: insert into intermediate_nonpart select * from intermediate
-PREHOOK: type: QUERY
-PREHOOK: Input: default@intermediate
-PREHOOK: Input: default@intermediate@p=455
-PREHOOK: Input: default@intermediate@p=456
-PREHOOK: Output: default@intermediate_nonpart
-POSTHOOK: query: insert into intermediate_nonpart select * from intermediate
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@intermediate
-POSTHOOK: Input: default@intermediate@p=455
-POSTHOOK: Input: default@intermediate@p=456
-POSTHOOK: Output: default@intermediate_nonpart
-POSTHOOK: Lineage: intermediate_nonpart.key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
-POSTHOOK: Lineage: intermediate_nonpart.p SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
-PREHOOK: query: create table intermmediate_nonpart(key int, p int) tblproperties('hivecommit'='true')
+POSTHOOK: Output: default@multi0_1_mm
+PREHOOK: query: create table multi0_2_mm (key int, key2 int) tblproperties('hivecommit'='false')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
-PREHOOK: Output: default@intermmediate_nonpart
-POSTHOOK: query: create table intermmediate_nonpart(key int, p int) tblproperties('hivecommit'='true')
+PREHOOK: Output: default@multi0_2_mm
+POSTHOOK: query: create table multi0_2_mm (key int, key2 int) tblproperties('hivecommit'='false')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
-POSTHOOK: Output: default@intermmediate_nonpart
-PREHOOK: query: insert into intermmediate_nonpart select * from intermediate
+POSTHOOK: Output: default@multi0_2_mm
+PREHOOK: query: from intermediate
+insert overwrite table multi0_1_mm select key, p
+insert overwrite table multi0_2_mm select p, key
PREHOOK: type: QUERY
PREHOOK: Input: default@intermediate
PREHOOK: Input: default@intermediate@p=455
PREHOOK: Input: default@intermediate@p=456
-PREHOOK: Output: default@intermmediate_nonpart
-POSTHOOK: query: insert into intermmediate_nonpart select * from intermediate
+PREHOOK: Output: default@multi0_1_mm
+PREHOOK: Output: default@multi0_2_mm
+POSTHOOK: query: from intermediate
+insert overwrite table multi0_1_mm select key, p
+insert overwrite table multi0_2_mm select p, key
POSTHOOK: type: QUERY
POSTHOOK: Input: default@intermediate
POSTHOOK: Input: default@intermediate@p=455
POSTHOOK: Input: default@intermediate@p=456
-POSTHOOK: Output: default@intermmediate_nonpart
-POSTHOOK: Lineage: intermmediate_nonpart.key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
-POSTHOOK: Lineage: intermmediate_nonpart.p SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
-PREHOOK: query: create table intermmediate(key int) partitioned by (p int) tblproperties('hivecommit'='true')
-PREHOOK: type: CREATETABLE
-PREHOOK: Output: database:default
-PREHOOK: Output: default@intermmediate
-POSTHOOK: query: create table intermmediate(key int) partitioned by (p int) tblproperties('hivecommit'='true')
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: database:default
-POSTHOOK: Output: default@intermmediate
-PREHOOK: query: insert into table intermmediate partition(p) select key, p from intermediate
+POSTHOOK: Output: default@multi0_1_mm
+POSTHOOK: Output: default@multi0_2_mm
+POSTHOOK: Lineage: multi0_1_mm.key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi0_1_mm.key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi0_2_mm.key SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi0_2_mm.key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+PREHOOK: query: select * from multi0_1_mm order by key, key2
PREHOOK: type: QUERY
-PREHOOK: Input: default@intermediate
-PREHOOK: Input: default@intermediate@p=455
-PREHOOK: Input: default@intermediate@p=456
-PREHOOK: Output: default@intermmediate
-POSTHOOK: query: insert into table intermmediate partition(p) select key, p from intermediate
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@intermediate
-POSTHOOK: Input: default@intermediate@p=455
-POSTHOOK: Input: default@intermediate@p=456
-POSTHOOK: Output: default@intermmediate@p=455
-POSTHOOK: Output: default@intermmediate@p=456
-POSTHOOK: Lineage: intermmediate PARTITION(p=455).key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
-POSTHOOK: Lineage: intermmediate PARTITION(p=456).key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
-PREHOOK: query: export table intermediate_nonpart to 'ql/test/data/exports/intermediate_nonpart'
-PREHOOK: type: EXPORT
-PREHOOK: Input: default@intermediate_nonpart
+PREHOOK: Input: default@multi0_1_mm
#### A masked pattern was here ####
-POSTHOOK: query: export table intermediate_nonpart to 'ql/test/data/exports/intermediate_nonpart'
-POSTHOOK: type: EXPORT
-POSTHOOK: Input: default@intermediate_nonpart
+POSTHOOK: query: select * from multi0_1_mm order by key, key2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@multi0_1_mm
#### A masked pattern was here ####
-PREHOOK: query: export table intermmediate_nonpart to 'ql/test/data/exports/intermmediate_nonpart'
-PREHOOK: type: EXPORT
-PREHOOK: Input: default@intermmediate_nonpart
+0 456
+10 456
+97 455
+98 455
+PREHOOK: query: select * from multi0_2_mm order by key, key2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@multi0_2_mm
#### A masked pattern was here ####
-POSTHOOK: query: export table intermmediate_nonpart to 'ql/test/data/exports/intermmediate_nonpart'
-POSTHOOK: type: EXPORT
-POSTHOOK: Input: default@intermmediate_nonpart
+POSTHOOK: query: select * from multi0_2_mm order by key, key2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@multi0_2_mm
#### A masked pattern was here ####
-PREHOOK: query: export table intermediate to 'ql/test/data/exports/intermediate_part'
-PREHOOK: type: EXPORT
+455 97
+455 98
+456 0
+456 10
+PREHOOK: query: from intermediate
+insert into table multi0_1_mm select p, key
+insert overwrite table multi0_2_mm select key, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@intermediate
PREHOOK: Input: default@intermediate@p=455
PREHOOK: Input: default@intermediate@p=456
-#### A masked pattern was here ####
-POSTHOOK: query: export table intermediate to 'ql/test/data/exports/intermediate_part'
-POSTHOOK: type: EXPORT
+PREHOOK: Output: default@multi0_1_mm
+PREHOOK: Output: default@multi0_2_mm
+POSTHOOK: query: from intermediate
+insert into table multi0_1_mm select p, key
+insert overwrite table multi0_2_mm select key, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@intermediate
POSTHOOK: Input: default@intermediate@p=455
POSTHOOK: Input: default@intermediate@p=456
+POSTHOOK: Output: default@multi0_1_mm
+POSTHOOK: Output: default@multi0_2_mm
+POSTHOOK: Lineage: multi0_1_mm.key SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi0_1_mm.key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi0_2_mm.key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi0_2_mm.key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+PREHOOK: query: select * from multi0_1_mm order by key, key2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@multi0_1_mm
#### A masked pattern was here ####
-PREHOOK: query: export table intermmediate to 'ql/test/data/exports/intermmediate_part'
-PREHOOK: type: EXPORT
-PREHOOK: Input: default@intermmediate@p=455
-PREHOOK: Input: default@intermmediate@p=456
+POSTHOOK: query: select * from multi0_1_mm order by key, key2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@multi0_1_mm
#### A masked pattern was here ####
-POSTHOOK: query: export table intermmediate to 'ql/test/data/exports/intermmediate_part'
-POSTHOOK: type: EXPORT
-POSTHOOK: Input: default@intermmediate@p=455
-POSTHOOK: Input: default@intermmediate@p=456
+0 456
+10 456
+97 455
+98 455
+455 97
+455 98
+456 0
+456 10
+PREHOOK: query: select * from multi0_2_mm order by key, key2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@multi0_2_mm
#### A masked pattern was here ####
-PREHOOK: query: drop table intermediate_nonpart
-PREHOOK: type: DROPTABLE
-PREHOOK: Input: default@intermediate_nonpart
-PREHOOK: Output: default@intermediate_nonpart
-POSTHOOK: query: drop table intermediate_nonpart
-POSTHOOK: type: DROPTABLE
-POSTHOOK: Input: default@intermediate_nonpart
-POSTHOOK: Output: default@intermediate_nonpart
-PREHOOK: query: drop table intermmediate_part
-PREHOOK: type: DROPTABLE
-POSTHOOK: query: drop table intermmediate_part
-POSTHOOK: type: DROPTABLE
-PREHOOK: query: drop table intermmediate_nonpart
+POSTHOOK: query: select * from multi0_2_mm order by key, key2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@multi0_2_mm
+#### A masked pattern was here ####
+0 456
+10 456
+97 455
+98 455
+PREHOOK: query: drop table multi0_1_mm
PREHOOK: type: DROPTABLE
-PREHOOK: Input: default@intermmediate_nonpart
-PREHOOK: Output: default@intermmediate_nonpart
-POSTHOOK: query: drop table intermmediate_nonpart
+PREHOOK: Input: default@multi0_1_mm
+PREHOOK: Output: default@multi0_1_mm
+POSTHOOK: query: drop table multi0_1_mm
POSTHOOK: type: DROPTABLE
-POSTHOOK: Input: default@intermmediate_nonpart
-POSTHOOK: Output: default@intermmediate_nonpart
-PREHOOK: query: -- MM export into existing non-MM table, non-part and part
-
-drop table import6_mm
+POSTHOOK: Input: default@multi0_1_mm
+POSTHOOK: Output: default@multi0_1_mm
+PREHOOK: query: drop table multi0_2_mm
PREHOOK: type: DROPTABLE
-POSTHOOK: query: -- MM export into existing non-MM table, non-part and part
-
-drop table import6_mm
+PREHOOK: Input: default@multi0_2_mm
+PREHOOK: Output: default@multi0_2_mm
+POSTHOOK: query: drop table multi0_2_mm
POSTHOOK: type: DROPTABLE
-PREHOOK: query: create table import6_mm(key int, p int)
-PREHOOK: type: CREATETABLE
-PREHOOK: Output: database:default
-PREHOOK: Output: default@import6_mm
-POSTHOOK: query: create table import6_mm(key int, p int)
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: database:default
-POSTHOOK: Output: default@import6_mm
-PREHOOK: query: drop table import7_mm
+POSTHOOK: Input: default@multi0_2_mm
+POSTHOOK: Output: default@multi0_2_mm
+PREHOOK: query: drop table multi1_mm
PREHOOK: type: DROPTABLE
-POSTHOOK: query: drop table import7_mm
+POSTHOOK: query: drop table multi1_mm
POSTHOOK: type: DROPTABLE
-PREHOOK: query: create table import7_mm(key int) partitioned by (p int)
+PREHOOK: query: create table multi1_mm (key int, key2 int) partitioned by (p int) tblproperties('hivecommit'='false')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
-PREHOOK: Output: default@import7_mm
-POSTHOOK: query: create table import7_mm(key int) partitioned by (p int)
+PREHOOK: Output: default@multi1_mm
+POSTHOOK: query: create table multi1_mm (key int, key2 int) partitioned by (p int) tblproperties('hivecommit'='false')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
-POSTHOOK: Output: default@import7_mm
-PREHOOK: query: import table import6_mm from 'ql/test/data/exports/intermmediate_nonpart'
-PREHOOK: type: IMPORT
+POSTHOOK: Output: default@multi1_mm
+PREHOOK: query: from intermediate
+insert into table multi1_mm partition(p=1) select p, key
+insert into table multi1_mm partition(p=2) select key, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@intermediate
+PREHOOK: Input: default@intermediate@p=455
+PREHOOK: Input: default@intermediate@p=456
+PREHOOK: Output: default@multi1_mm@p=1
+PREHOOK: Output: default@multi1_mm@p=2
+POSTHOOK: query: from intermediate
+insert into table multi1_mm partition(p=1) select p, key
+insert into table multi1_mm partition(p=2) select key, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@intermediate
+POSTHOOK: Input: default@intermediate@p=455
+POSTHOOK: Input: default@intermediate@p=456
+POSTHOOK: Output: default@multi1_mm@p=1
+POSTHOOK: Output: default@multi1_mm@p=2
+POSTHOOK: Lineage: multi1_mm PARTITION(p=1).key SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=1).key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=2).key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=2).key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+PREHOOK: query: select * from multi1_mm order by key, key2, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@multi1_mm
+PREHOOK: Input: default@multi1_mm@p=1
+PREHOOK: Input: default@multi1_mm@p=2
#### A masked pattern was here ####
-PREHOOK: Output: default@import6_mm
-POSTHOOK: query: import table import6_mm from 'ql/test/data/exports/intermmediate_nonpart'
-POSTHOOK: type: IMPORT
+POSTHOOK: query: select * from multi1_mm order by key, key2, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@multi1_mm
+POSTHOOK: Input: default@multi1_mm@p=1
+POSTHOOK: Input: default@multi1_mm@p=2
#### A masked pattern was here ####
-POSTHOOK: Output: default@import6_mm
-PREHOOK: query: import table import7_mm from 'ql/test/data/exports/intermmediate_part'
-PREHOOK: type: IMPORT
+0 456 2
+10 456 2
+97 455 2
+98 455 2
+455 97 1
+455 98 1
+456 0 1
+456 10 1
+PREHOOK: query: from intermediate
+insert into table multi1_mm partition(p=2) select p, key
+insert overwrite table multi1_mm partition(p=1) select key, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@intermediate
+PREHOOK: Input: default@intermediate@p=455
+PREHOOK: Input: default@intermediate@p=456
+PREHOOK: Output: default@multi1_mm@p=1
+PREHOOK: Output: default@multi1_mm@p=2
+POSTHOOK: query: from intermediate
+insert into table multi1_mm partition(p=2) select p, key
+insert overwrite table multi1_mm partition(p=1) select key, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@intermediate
+POSTHOOK: Input: default@intermediate@p=455
+POSTHOOK: Input: default@intermediate@p=456
+POSTHOOK: Output: default@multi1_mm@p=1
+POSTHOOK: Output: default@multi1_mm@p=2
+POSTHOOK: Lineage: multi1_mm PARTITION(p=1).key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=1).key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=2).key SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=2).key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+PREHOOK: query: select * from multi1_mm order by key, key2, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@multi1_mm
+PREHOOK: Input: default@multi1_mm@p=1
+PREHOOK: Input: default@multi1_mm@p=2
#### A masked pattern was here ####
-PREHOOK: Output: default@import7_mm
-POSTHOOK: query: import table import7_mm from 'ql/test/data/exports/intermmediate_part'
-POSTHOOK: type: IMPORT
+POSTHOOK: query: select * from multi1_mm order by key, key2, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@multi1_mm
+POSTHOOK: Input: default@multi1_mm@p=1
+POSTHOOK: Input: default@multi1_mm@p=2
#### A masked pattern was here ####
-POSTHOOK: Output: default@import7_mm
-POSTHOOK: Output: default@import7_mm@p=455
-POSTHOOK: Output: default@import7_mm@p=456
-PREHOOK: query: select * from import6_mm order by key, p
+0 456 1
+0 456 2
+10 456 1
+10 456 2
+97 455 1
+97 455 2
+98 455 1
+98 455 2
+455 97 1
+455 97 2
+455 98 1
+455 98 2
+456 0 1
+456 0 2
+456 10 1
+456 10 2
+PREHOOK: query: from intermediate
+insert into table multi1_mm partition(p) select p, key, p
+insert into table multi1_mm partition(p=1) select key, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@intermediate
+PREHOOK: Input: default@intermediate@p=455
+PREHOOK: Input: default@intermediate@p=456
+PREHOOK: Output: default@multi1_mm
+PREHOOK: Output: default@multi1_mm@p=1
+POSTHOOK: query: from intermediate
+insert into table multi1_mm partition(p) select p, key, p
+insert into table multi1_mm partition(p=1) select key, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@intermediate
+POSTHOOK: Input: default@intermediate@p=455
+POSTHOOK: Input: default@intermediate@p=456
+POSTHOOK: Output: default@multi1_mm@p=1
+POSTHOOK: Output: default@multi1_mm@p=455
+POSTHOOK: Output: default@multi1_mm@p=456
+POSTHOOK: Lineage: multi1_mm PARTITION(p=1).key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=1).key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=455).key SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=455).key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=456).key SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=456).key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+PREHOOK: query: select key, key2, p from multi1_mm order by key, key2, p
PREHOOK: type: QUERY
-PREHOOK: Input: default@import6_mm
+PREHOOK: Input: default@multi1_mm
+PREHOOK: Input: default@multi1_mm@p=1
+PREHOOK: Input: default@multi1_mm@p=2
+PREHOOK: Input: default@multi1_mm@p=455
+PREHOOK: Input: default@multi1_mm@p=456
#### A masked pattern was here ####
-POSTHOOK: query: select * from import6_mm order by key, p
+POSTHOOK: query: select key, key2, p from multi1_mm order by key, key2, p
POSTHOOK: type: QUERY
-POSTHOOK: Input: default@import6_mm
+POSTHOOK: Input: default@multi1_mm
+POSTHOOK: Input: default@multi1_mm@p=1
+POSTHOOK: Input: default@multi1_mm@p=2
+POSTHOOK: Input: default@multi1_mm@p=455
+POSTHOOK: Input: default@multi1_mm@p=456
#### A masked pattern was here ####
-0 456
-10 456
-97 455
-98 455
-PREHOOK: query: select * from import7_mm order by key, p
+0 456 1
+0 456 1
+0 456 2
+10 456 1
+10 456 1
+10 456 2
+97 455 1
+97 455 1
+97 455 2
+98 455 1
+98 455 1
+98 455 2
+455 97 1
+455 97 2
+455 97 455
+455 98 1
+455 98 2
+455 98 455
+456 0 1
+456 0 2
+456 0 456
+456 10 1
+456 10 2
+456 10 456
+PREHOOK: query: from intermediate
+insert into table multi1_mm partition(p) select p, key, 1
+insert into table multi1_mm partition(p=1) select key, p
PREHOOK: type: QUERY
-PREHOOK: Input: default@import7_mm
-PREHOOK: Input: default@import7_mm@p=455
-PREHOOK: Input: default@import7_mm@p=456
+PREHOOK: Input: default@intermediate
+PREHOOK: Input: default@intermediate@p=455
+PREHOOK: Input: default@intermediate@p=456
+PREHOOK: Output: default@multi1_mm
+PREHOOK: Output: default@multi1_mm@p=1
+POSTHOOK: query: from intermediate
+insert into table multi1_mm partition(p) select p, key, 1
+insert into table multi1_mm partition(p=1) select key, p
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@intermediate
+POSTHOOK: Input: default@intermediate@p=455
+POSTHOOK: Input: default@intermediate@p=456
+POSTHOOK: Output: default@multi1_mm@p=1
+POSTHOOK: Lineage: multi1_mm PARTITION(p=1).key SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=1).key SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=1).key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: multi1_mm PARTITION(p=1).key2 SIMPLE [(intermediate)intermediate.FieldSchema(name:p, type:int, comment:null), ]
+PREHOOK: query: select key, key2, p from multi1_mm order by key, key2, p
+PREHOOK: type: QUERY
+PREHOOK: Input: default@multi1_mm
+PREHOOK: Input: default@multi1_mm@p=1
+PREHOOK: Input: default@multi1_mm@p=2
+PREHOOK: Input: default@multi1_mm@p=455
+PREHOOK: Input: default@multi1_mm@p=456
#### A masked pattern was here ####
-POSTHOOK: query: select * from import7_mm order by key, p
+POSTHOOK: query: select key, key2, p from multi1_mm order by key, key2, p
POSTHOOK: type: QUERY
-POSTHOOK: Input: default@import7_mm
-POSTHOOK: Input: default@import7_mm@p=455
-POSTHOOK: Input: default@import7_mm@p=456
+POSTHOOK: Input: default@multi1_mm
+POSTHOOK: Input: default@multi1_mm@p=1
+POSTHOOK: Input: default@multi1_mm@p=2
+POSTHOOK: Input: default@multi1_mm@p=455
+POSTHOOK: Input: default@multi1_mm@p=456
#### A masked pattern was here ####
-0 456
-10 456
-97 455
-98 455
-PREHOOK: query: drop table import6_mm
-PREHOOK: type: DROPTABLE
-PREHOOK: Input: default@import6_mm
-PREHOOK: Output: default@import6_mm
-POSTHOOK: query: drop table import6_mm
-POSTHOOK: type: DROPTABLE
-POSTHOOK: Input: default@import6_mm
-POSTHOOK: Output: default@import6_mm
-PREHOOK: query: drop table import7_mm
+0 456 1
+0 456 1
+0 456 1
+0 456 2
+10 456 1
+10 456 1
+10 456 1
+10 456 2
+97 455 1
+97 455 1
+97 455 1
+97 455 2
+98 455 1
+98 455 1
+98 455 1
+98 455 2
+455 97 1
+455 97 1
+455 97 2
+455 97 455
+455 98 1
+455 98 1
+455 98 2
+455 98 455
+456 0 1
+456 0 1
+456 0 2
+456 0 456
+456 10 1
+456 10 1
+456 10 2
+456 10 456
+PREHOOK: query: drop table multi1_mm
PREHOOK: type: DROPTABLE
-PREHOOK: Input: default@import7_mm
-PREHOOK: Output: default@import7_mm
-POSTHOOK: query: drop table import7_mm
+PREHOOK: Input: default@multi1_mm
+PREHOOK: Output: default@multi1_mm
+POSTHOOK: query: drop table multi1_mm
POSTHOOK: type: DROPTABLE
-POSTHOOK: Input: default@import7_mm
-POSTHOOK: Output: default@import7_mm
+POSTHOOK: Input: default@multi1_mm
+POSTHOOK: Output: default@multi1_mm
PREHOOK: query: drop table intermediate
PREHOOK: type: DROPTABLE
PREHOOK: Input: default@intermediate
[13/23] hive git commit: HIVE-14913 : Add new unit tests (Vineet Garg
via Ashutosh Chauhan)
Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/results/clientpositive/llap/cte_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/cte_2.q.out b/ql/src/test/results/clientpositive/llap/cte_2.q.out
index 017bded..e42d538 100644
--- a/ql/src/test/results/clientpositive/llap/cte_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/cte_2.q.out
@@ -188,3 +188,31 @@ POSTHOOK: query: drop view v1
POSTHOOK: type: DROPVIEW
POSTHOOK: Input: default@v1
POSTHOOK: Output: default@v1
+PREHOOK: query: drop view if exists view_3
+PREHOOK: type: DROPVIEW
+POSTHOOK: query: drop view if exists view_3
+POSTHOOK: type: DROPVIEW
+PREHOOK: query: create view view_3 as select cstring2, AVG(cint) from alltypesorc group by cstring2 limit 10
+PREHOOK: type: CREATEVIEW
+PREHOOK: Input: default@alltypesorc
+PREHOOK: Output: database:default
+PREHOOK: Output: default@view_3
+POSTHOOK: query: create view view_3 as select cstring2, AVG(cint) from alltypesorc group by cstring2 limit 10
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Input: default@alltypesorc
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@view_3
+PREHOOK: query: drop view if exists view_4
+PREHOOK: type: DROPVIEW
+POSTHOOK: query: drop view if exists view_4
+POSTHOOK: type: DROPVIEW
+PREHOOK: query: create view view_4 as select s.cstring1, v.ctimestamp1 from alltypesorc s join alltypesorc v on (s.cstring2= v.cstring1)
+PREHOOK: type: CREATEVIEW
+PREHOOK: Input: default@alltypesorc
+PREHOOK: Output: database:default
+PREHOOK: Output: default@view_4
+POSTHOOK: query: create view view_4 as select s.cstring1, v.ctimestamp1 from alltypesorc s join alltypesorc v on (s.cstring2= v.cstring1)
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Input: default@alltypesorc
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@view_4
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/results/clientpositive/llap/join_acid_non_acid.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/join_acid_non_acid.q.out b/ql/src/test/results/clientpositive/llap/join_acid_non_acid.q.out
index 4905351..efe7699 100644
--- a/ql/src/test/results/clientpositive/llap/join_acid_non_acid.q.out
+++ b/ql/src/test/results/clientpositive/llap/join_acid_non_acid.q.out
@@ -56,3 +56,19 @@ POSTHOOK: Input: default@orc_table
POSTHOOK: Input: default@orc_update_table
#### A masked pattern was here ####
1 x 1 a I
+PREHOOK: query: select t1.k1, t1.f1 from orc_table t1
+ union all
+select t2.k1, t2.f1 from orc_update_table t2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@orc_table
+PREHOOK: Input: default@orc_update_table
+#### A masked pattern was here ####
+POSTHOOK: query: select t1.k1, t1.f1 from orc_table t1
+ union all
+select t2.k1, t2.f1 from orc_update_table t2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@orc_table
+POSTHOOK: Input: default@orc_update_table
+#### A masked pattern was here ####
+1 x
+1 a
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/results/clientpositive/llap/lvj_mapjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/lvj_mapjoin.q.out b/ql/src/test/results/clientpositive/llap/lvj_mapjoin.q.out
index dd4d024..366eda0 100644
--- a/ql/src/test/results/clientpositive/llap/lvj_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/llap/lvj_mapjoin.q.out
@@ -295,3 +295,50 @@ POSTHOOK: Input: default@expod2
2 a222 b2
2 a222 b22
2 a222 b222
+PREHOOK: query: create temporary table tmp_lateral_view(
+ arst array<struct<age:int,name:string>>
+ ) stored as orc
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tmp_lateral_view
+POSTHOOK: query: create temporary table tmp_lateral_view(
+ arst array<struct<age:int,name:string>>
+ ) stored as orc
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tmp_lateral_view
+PREHOOK: query: insert into table tmp_lateral_view
+ select array(named_struct('age',cint,'name',cstring1))
+ from alltypesorc limit 10
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+PREHOOK: Output: default@tmp_lateral_view
+POSTHOOK: query: insert into table tmp_lateral_view
+ select array(named_struct('age',cint,'name',cstring1))
+ from alltypesorc limit 10
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+POSTHOOK: Output: default@tmp_lateral_view
+POSTHOOK: Lineage: tmp_lateral_view.arst EXPRESSION [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), (alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+PREHOOK: query: select arst.name, arst.age
+ from tmp_lateral_view
+ lateral view inline(arst) arst
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tmp_lateral_view
+#### A masked pattern was here ####
+POSTHOOK: query: select arst.name, arst.age
+ from tmp_lateral_view
+ lateral view inline(arst) arst
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tmp_lateral_view
+#### A masked pattern was here ####
+cvLH6Eat2yFsyy7p 528534767
+cvLH6Eat2yFsyy7p 528534767
+cvLH6Eat2yFsyy7p 528534767
+cvLH6Eat2yFsyy7p 528534767
+cvLH6Eat2yFsyy7p 528534767
+cvLH6Eat2yFsyy7p 528534767
+cvLH6Eat2yFsyy7p 528534767
+cvLH6Eat2yFsyy7p 528534767
+cvLH6Eat2yFsyy7p 528534767
+cvLH6Eat2yFsyy7p 528534767
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/results/clientpositive/llap/orc_ppd_basic.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/orc_ppd_basic.q.out b/ql/src/test/results/clientpositive/llap/orc_ppd_basic.q.out
index aa37ff3..f50d28b 100644
--- a/ql/src/test/results/clientpositive/llap/orc_ppd_basic.q.out
+++ b/ql/src/test/results/clientpositive/llap/orc_ppd_basic.q.out
@@ -1354,3 +1354,223 @@ Stage-1 LLAP IO COUNTERS:
ROWS_EMITTED: 2100
SELECTED_ROWGROUPS: 3
2
+PREHOOK: query: create temporary table tmp_orcppd
+ stored as orc
+ as select ctinyint, csmallint, cint , cbigint, cfloat, cdouble,
+ cstring1, cstring2, ctimestamp1, ctimestamp2
+ from alltypesorc limit 20
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@alltypesorc
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tmp_orcppd
+Stage-1 FILE SYSTEM COUNTERS:
+ HDFS_BYTES_READ: 0
+ HDFS_BYTES_WRITTEN: 1571
+ HDFS_READ_OPS: 3
+ HDFS_LARGE_READ_OPS: 0
+ HDFS_WRITE_OPS: 3
+Stage-1 HIVE COUNTERS:
+ CREATED_FILES: 1
+ DESERIALIZE_ERRORS: 0
+ RECORDS_IN_Map_1: 24
+ RECORDS_OUT_1_default.tmp_orcppd: 20
+ RECORDS_OUT_INTERMEDIATE_Map_1: 20
+Stage-1 LLAP IO COUNTERS:
+ CACHE_HIT_BYTES: 105700
+ CACHE_MISS_BYTES: 0
+ METADATA_CACHE_HIT: 2
+ NUM_DECODED_BATCHES: 1
+ NUM_VECTOR_BATCHES: 5
+ ROWS_EMITTED: 5000
+ SELECTED_ROWGROUPS: 3
+PREHOOK: query: insert into table tmp_orcppd
+ values(null, null, null, null, null,
+ null, null, null, null, null)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@values__tmp__table__1
+PREHOOK: Output: default@tmp_orcppd
+Stage-1 FILE SYSTEM COUNTERS:
+ HDFS_BYTES_READ: 30
+ HDFS_BYTES_WRITTEN: 724
+ HDFS_READ_OPS: 4
+ HDFS_LARGE_READ_OPS: 0
+ HDFS_WRITE_OPS: 3
+Stage-1 HIVE COUNTERS:
+ CREATED_FILES: 1
+ DESERIALIZE_ERRORS: 0
+ RECORDS_IN_Map_1: 1
+ RECORDS_OUT_1_default.tmp_orcppd: 1
+PREHOOK: query: drop table if exists tbl_orcppd_1_1
+PREHOOK: type: DROPTABLE
+PREHOOK: query: create table tbl_orcppd_1_1 as
+ select count(*) from tmp_orcppd
+ where ctimestamp1> current_timestamp() and
+ ctimestamp2 > current_timestamp() and
+ cstring1 like 'a*' and
+ cstring2 like 'a*'
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@tmp_orcppd
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tbl_orcppd_1_1
+Stage-1 FILE SYSTEM COUNTERS:
+ HDFS_BYTES_READ: 0
+ HDFS_BYTES_WRITTEN: 80
+ HDFS_READ_OPS: 3
+ HDFS_LARGE_READ_OPS: 0
+ HDFS_WRITE_OPS: 3
+Stage-1 HIVE COUNTERS:
+ CREATED_FILES: 1
+ RECORDS_OUT_1_default.tbl_orcppd_1_1: 1
+PREHOOK: query: drop table if exists tmp_orcppd
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@tmp_orcppd
+PREHOOK: Output: default@tmp_orcppd
+PREHOOK: query: create temporary table tmp_orcppd
+ stored as orc
+ as select ctimestamp1, ctimestamp2
+ from alltypesorc limit 10
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@alltypesorc
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tmp_orcppd
+Stage-1 FILE SYSTEM COUNTERS:
+ HDFS_BYTES_READ: 0
+ HDFS_BYTES_WRITTEN: 491
+ HDFS_READ_OPS: 3
+ HDFS_LARGE_READ_OPS: 0
+ HDFS_WRITE_OPS: 3
+Stage-1 HIVE COUNTERS:
+ CREATED_FILES: 1
+ DESERIALIZE_ERRORS: 0
+ RECORDS_IN_Map_1: 14
+ RECORDS_OUT_1_default.tmp_orcppd: 10
+ RECORDS_OUT_INTERMEDIATE_Map_1: 10
+Stage-1 LLAP IO COUNTERS:
+ CACHE_HIT_BYTES: 30589
+ CACHE_MISS_BYTES: 0
+ METADATA_CACHE_HIT: 3
+ NUM_DECODED_BATCHES: 1
+ NUM_VECTOR_BATCHES: 5
+ ROWS_EMITTED: 5000
+ SELECTED_ROWGROUPS: 3
+PREHOOK: query: insert into table tmp_orcppd
+ values(null, null)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@values__tmp__table__2
+PREHOOK: Output: default@tmp_orcppd
+Stage-1 FILE SYSTEM COUNTERS:
+ HDFS_BYTES_READ: 6
+ HDFS_BYTES_WRITTEN: 317
+ HDFS_READ_OPS: 4
+ HDFS_LARGE_READ_OPS: 0
+ HDFS_WRITE_OPS: 3
+Stage-1 HIVE COUNTERS:
+ CREATED_FILES: 1
+ DESERIALIZE_ERRORS: 0
+ RECORDS_IN_Map_1: 1
+ RECORDS_OUT_1_default.tmp_orcppd: 1
+PREHOOK: query: drop table if exists tbl_orcppd_2_1
+PREHOOK: type: DROPTABLE
+PREHOOK: query: create table tbl_orcppd_2_1 as
+ select count(*) from tmp_orcppd
+ where ctimestamp1 in (cast('2065-08-13 19:03:52' as timestamp), cast('2071-01-16 20:21:17' as timestamp), current_timestamp())
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@tmp_orcppd
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tbl_orcppd_2_1
+Stage-1 FILE SYSTEM COUNTERS:
+ HDFS_BYTES_READ: 0
+ HDFS_BYTES_WRITTEN: 80
+ HDFS_READ_OPS: 3
+ HDFS_LARGE_READ_OPS: 0
+ HDFS_WRITE_OPS: 3
+Stage-1 HIVE COUNTERS:
+ CREATED_FILES: 1
+ RECORDS_OUT_1_default.tbl_orcppd_2_1: 1
+PREHOOK: query: drop table if exists tmp_orcppd
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@tmp_orcppd
+PREHOOK: Output: default@tmp_orcppd
+PREHOOK: query: create temporary table tmp_orcppd
+ stored as orc
+ as select ts, da
+ from orc_ppd_staging
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@orc_ppd_staging
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tmp_orcppd
+Stage-1 FILE SYSTEM COUNTERS:
+ HDFS_BYTES_READ: 846
+ HDFS_BYTES_WRITTEN: 2979
+ HDFS_READ_OPS: 9
+ HDFS_LARGE_READ_OPS: 0
+ HDFS_WRITE_OPS: 3
+Stage-1 HIVE COUNTERS:
+ CREATED_FILES: 1
+ DESERIALIZE_ERRORS: 0
+ RECORDS_IN_Map_1: 2100
+ RECORDS_OUT_1_default.tmp_orcppd: 2100
+Stage-1 LLAP IO COUNTERS:
+ ALLOCATED_BYTES: 786432
+ ALLOCATED_USED_BYTES: 38
+ CACHE_HIT_BYTES: 2587
+ CACHE_MISS_BYTES: 32
+ METADATA_CACHE_HIT: 3
+ METADATA_CACHE_MISS: 3
+ NUM_DECODED_BATCHES: 5
+ NUM_VECTOR_BATCHES: 5
+ ROWS_EMITTED: 2100
+ SELECTED_ROWGROUPS: 5
+PREHOOK: query: insert into table tmp_orcppd
+ values(null, null)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@values__tmp__table__3
+PREHOOK: Output: default@tmp_orcppd
+Stage-1 FILE SYSTEM COUNTERS:
+ HDFS_BYTES_READ: 6
+ HDFS_BYTES_WRITTEN: 315
+ HDFS_READ_OPS: 4
+ HDFS_LARGE_READ_OPS: 0
+ HDFS_WRITE_OPS: 3
+Stage-1 HIVE COUNTERS:
+ CREATED_FILES: 1
+ DESERIALIZE_ERRORS: 0
+ RECORDS_IN_Map_1: 1
+ RECORDS_OUT_1_default.tmp_orcppd: 1
+PREHOOK: query: drop table if exists tbl_orcppd_3_1
+PREHOOK: type: DROPTABLE
+PREHOOK: query: create table tbl_orcppd_3_1 as
+ select count(*) from tmp_orcppd
+ group by ts, da
+ having ts in (select ctimestamp1 from alltypesorc limit 10)
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@alltypesorc
+PREHOOK: Input: default@tmp_orcppd
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tbl_orcppd_3_1
+Stage-1 FILE SYSTEM COUNTERS:
+ HDFS_BYTES_READ: 5623
+ HDFS_BYTES_WRITTEN: 48
+ HDFS_READ_OPS: 5
+ HDFS_LARGE_READ_OPS: 0
+ HDFS_WRITE_OPS: 1
+Stage-1 HIVE COUNTERS:
+ DESERIALIZE_ERRORS: 0
+ RECORDS_IN_Map_1: 2100
+ RECORDS_IN_Map_4: 14
+ RECORDS_OUT_1_default.tbl_orcppd_3_1: 0
+ RECORDS_OUT_INTERMEDIATE_Map_1: 254
+ RECORDS_OUT_INTERMEDIATE_Map_4: 10
+ RECORDS_OUT_INTERMEDIATE_Reducer_2: 254
+ RECORDS_OUT_INTERMEDIATE_Reducer_5: 9
+Stage-1 LLAP IO COUNTERS:
+ ALLOCATED_BYTES: 786432
+ ALLOCATED_USED_BYTES: 6361
+ CACHE_HIT_BYTES: 16353
+ CACHE_MISS_BYTES: 2590
+ METADATA_CACHE_HIT: 3
+ METADATA_CACHE_MISS: 2
+ NUM_DECODED_BATCHES: 3
+ NUM_VECTOR_BATCHES: 13
+ ROWS_EMITTED: 12100
+ SELECTED_ROWGROUPS: 4
[03/23] hive git commit: HIVE-15009. ptest - avoid unnecessary cleanup from previous test runs in batch-exec.vm. (Siddharth Seth, reviewed by Sergio Peña)
Posted by se...@apache.org.
HIVE-15009. ptest - avoid unnecessary cleanup from previous test runs in batch-exec.vm. (Siddharth Seth, reviewed by Sergio Pe�a)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/f20ec2e9
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/f20ec2e9
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/f20ec2e9
Branch: refs/heads/hive-14535
Commit: f20ec2e93445ebe362ed0a67ad13c814ac6b59a1
Parents: 6d2eb1c
Author: Siddharth Seth <ss...@apache.org>
Authored: Wed Oct 19 13:51:02 2016 -0700
Committer: Siddharth Seth <ss...@apache.org>
Committed: Wed Oct 19 13:51:02 2016 -0700
----------------------------------------------------------------------
testutils/ptest2/src/main/resources/batch-exec.vm | 2 --
1 file changed, 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/f20ec2e9/testutils/ptest2/src/main/resources/batch-exec.vm
----------------------------------------------------------------------
diff --git a/testutils/ptest2/src/main/resources/batch-exec.vm b/testutils/ptest2/src/main/resources/batch-exec.vm
index e71a8e2..00487ce 100644
--- a/testutils/ptest2/src/main/resources/batch-exec.vm
+++ b/testutils/ptest2/src/main/resources/batch-exec.vm
@@ -54,8 +54,6 @@ then
fi
echo "$$" > batch.pid
find ./ -name 'TEST-*.xml' -delete
-find ./ -name 'hive.log' -delete
-find ./ -name junit_metastore_db | xargs -r rm -rf
date +"%Y-%m-%d %T.%3N"
echo "Pre test cleanup done"
ret=0
[15/23] hive git commit: HIVE-14913 : Add new unit tests (Vineet Garg
via Ashutosh Chauhan)
Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/results/clientpositive/cte_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/cte_2.q.out b/ql/src/test/results/clientpositive/cte_2.q.out
index 4b0bc71..f68d9df 100644
--- a/ql/src/test/results/clientpositive/cte_2.q.out
+++ b/ql/src/test/results/clientpositive/cte_2.q.out
@@ -188,3 +188,31 @@ POSTHOOK: query: drop view v1
POSTHOOK: type: DROPVIEW
POSTHOOK: Input: default@v1
POSTHOOK: Output: default@v1
+PREHOOK: query: drop view if exists view_3
+PREHOOK: type: DROPVIEW
+POSTHOOK: query: drop view if exists view_3
+POSTHOOK: type: DROPVIEW
+PREHOOK: query: create view view_3 as select cstring2, AVG(cint) from alltypesorc group by cstring2 limit 10
+PREHOOK: type: CREATEVIEW
+PREHOOK: Input: default@alltypesorc
+PREHOOK: Output: database:default
+PREHOOK: Output: default@view_3
+POSTHOOK: query: create view view_3 as select cstring2, AVG(cint) from alltypesorc group by cstring2 limit 10
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Input: default@alltypesorc
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@view_3
+PREHOOK: query: drop view if exists view_4
+PREHOOK: type: DROPVIEW
+POSTHOOK: query: drop view if exists view_4
+POSTHOOK: type: DROPVIEW
+PREHOOK: query: create view view_4 as select s.cstring1, v.ctimestamp1 from alltypesorc s join alltypesorc v on (s.cstring2= v.cstring1)
+PREHOOK: type: CREATEVIEW
+PREHOOK: Input: default@alltypesorc
+PREHOOK: Output: database:default
+PREHOOK: Output: default@view_4
+POSTHOOK: query: create view view_4 as select s.cstring1, v.ctimestamp1 from alltypesorc s join alltypesorc v on (s.cstring2= v.cstring1)
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Input: default@alltypesorc
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@view_4
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/results/clientpositive/current_date_timestamp.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/current_date_timestamp.q.out b/ql/src/test/results/clientpositive/current_date_timestamp.q.out
index 9c26095..93e5104 100644
--- a/ql/src/test/results/clientpositive/current_date_timestamp.q.out
+++ b/ql/src/test/results/clientpositive/current_date_timestamp.q.out
@@ -11,6 +11,356 @@ true true
true true
true true
true true
+PREHOOK: query: --ensure that timestamp is same for all the rows while using current_timestamp() query should return single row
+select count(*) from (select current_timestamp() from alltypesorc union select current_timestamp() from src limit 5 ) subq
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: --ensure that timestamp is same for all the rows while using current_timestamp() query should return single row
+select count(*) from (select current_timestamp() from alltypesorc union select current_timestamp() from src limit 5 ) subq
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+1
+PREHOOK: query: select count(*) from (select current_timestamp() from alltypesorc
+ union
+ select current_timestamp() from src
+ limit 5 ) subqr
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: select count(*) from (select current_timestamp() from alltypesorc
+ union
+ select current_timestamp() from src
+ limit 5 ) subqr
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+1
+PREHOOK: query: --current_timestamp() should appear as expression
+explain extended select current_timestamp() from alltypesorc
+PREHOOK: type: QUERY
+POSTHOOK: query: --current_timestamp() should appear as expression
+explain extended select current_timestamp() from alltypesorc
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ TableScan
+ alias: alltypesorc
+ Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: COMPLETE
+ GatherStats: false
+ Select Operator
+ expressions: 2012-01-01 01:02:03.0 (type: timestamp)
+ outputColumnNames: _col0
+ Statistics: Num rows: 12288 Data size: 491520 Basic stats: COMPLETE Column stats: COMPLETE
+ ListSink
+
+PREHOOK: query: --current_timestamp() + insert
+create temporary table tmp_runtimeconstant(
+ ts1 timestamp,
+ ts2 timestamp,
+ dt date,
+ s string,
+ v varchar(50),
+ c char(50)
+ )
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tmp_runtimeconstant
+POSTHOOK: query: --current_timestamp() + insert
+create temporary table tmp_runtimeconstant(
+ ts1 timestamp,
+ ts2 timestamp,
+ dt date,
+ s string,
+ v varchar(50),
+ c char(50)
+ )
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tmp_runtimeconstant
+PREHOOK: query: insert into table tmp_runtimeconstant
+ select current_timestamp(),
+ cast(current_timestamp() as timestamp),
+ cast(current_timestamp() as date),
+ cast(current_timestamp() as string),
+ cast(current_timestamp() as varchar(50)),
+ cast(current_timestamp() as char(50))
+ from alltypesorc limit 5
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+PREHOOK: Output: default@tmp_runtimeconstant
+POSTHOOK: query: insert into table tmp_runtimeconstant
+ select current_timestamp(),
+ cast(current_timestamp() as timestamp),
+ cast(current_timestamp() as date),
+ cast(current_timestamp() as string),
+ cast(current_timestamp() as varchar(50)),
+ cast(current_timestamp() as char(50))
+ from alltypesorc limit 5
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+POSTHOOK: Output: default@tmp_runtimeconstant
+POSTHOOK: Lineage: tmp_runtimeconstant.c SIMPLE []
+POSTHOOK: Lineage: tmp_runtimeconstant.dt SIMPLE []
+POSTHOOK: Lineage: tmp_runtimeconstant.s SIMPLE []
+POSTHOOK: Lineage: tmp_runtimeconstant.ts1 SIMPLE []
+POSTHOOK: Lineage: tmp_runtimeconstant.ts2 SIMPLE []
+POSTHOOK: Lineage: tmp_runtimeconstant.v SIMPLE []
+PREHOOK: query: select ts1 = ts2,
+ to_date(ts2) = dt,
+ s = v,
+ v = c
+from tmp_runtimeconstant
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tmp_runtimeconstant
+#### A masked pattern was here ####
+POSTHOOK: query: select ts1 = ts2,
+ to_date(ts2) = dt,
+ s = v,
+ v = c
+from tmp_runtimeconstant
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tmp_runtimeconstant
+#### A masked pattern was here ####
+true true true true
+true true true true
+true true true true
+true true true true
+true true true true
+PREHOOK: query: --current_date() + insert
+drop table if exists tmp_runtimeconstant
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@tmp_runtimeconstant
+PREHOOK: Output: default@tmp_runtimeconstant
+POSTHOOK: query: --current_date() + insert
+drop table if exists tmp_runtimeconstant
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@tmp_runtimeconstant
+POSTHOOK: Output: default@tmp_runtimeconstant
+PREHOOK: query: create temporary table tmp_runtimeconstant(d date, t timestamp)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tmp_runtimeconstant
+POSTHOOK: query: create temporary table tmp_runtimeconstant(d date, t timestamp)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tmp_runtimeconstant
+PREHOOK: query: insert into table tmp_runtimeconstant
+ select current_date(), current_timestamp() from alltypesorc limit 5
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+PREHOOK: Output: default@tmp_runtimeconstant
+POSTHOOK: query: insert into table tmp_runtimeconstant
+ select current_date(), current_timestamp() from alltypesorc limit 5
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+POSTHOOK: Output: default@tmp_runtimeconstant
+POSTHOOK: Lineage: tmp_runtimeconstant.d SIMPLE []
+POSTHOOK: Lineage: tmp_runtimeconstant.t SIMPLE []
+PREHOOK: query: select to_date(t)=d from tmp_runtimeconstant
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tmp_runtimeconstant
+#### A masked pattern was here ####
+POSTHOOK: query: select to_date(t)=d from tmp_runtimeconstant
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tmp_runtimeconstant
+#### A masked pattern was here ####
+true
+true
+true
+true
+true
+PREHOOK: query: --current_timestamp() + current_date() + where
+drop table if exists tmp_runtimeconstant
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@tmp_runtimeconstant
+PREHOOK: Output: default@tmp_runtimeconstant
+POSTHOOK: query: --current_timestamp() + current_date() + where
+drop table if exists tmp_runtimeconstant
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@tmp_runtimeconstant
+POSTHOOK: Output: default@tmp_runtimeconstant
+PREHOOK: query: create temporary table tmp_runtimeconstant(t timestamp, d date)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tmp_runtimeconstant
+POSTHOOK: query: create temporary table tmp_runtimeconstant(t timestamp, d date)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tmp_runtimeconstant
+PREHOOK: query: insert into table tmp_runtimeconstant
+ select current_timestamp(), current_date() from alltypesorc limit 5
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+PREHOOK: Output: default@tmp_runtimeconstant
+POSTHOOK: query: insert into table tmp_runtimeconstant
+ select current_timestamp(), current_date() from alltypesorc limit 5
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+POSTHOOK: Output: default@tmp_runtimeconstant
+POSTHOOK: Lineage: tmp_runtimeconstant.d SIMPLE []
+POSTHOOK: Lineage: tmp_runtimeconstant.t SIMPLE []
+PREHOOK: query: select count(*) from tmp_runtimeconstant
+ where current_timestamp() >= t
+ and current_date <> d
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tmp_runtimeconstant
+#### A masked pattern was here ####
+POSTHOOK: query: select count(*) from tmp_runtimeconstant
+ where current_timestamp() >= t
+ and current_date <> d
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tmp_runtimeconstant
+#### A masked pattern was here ####
+0
+PREHOOK: query: --current_timestamp() as argument for unix_timestamp(), hour(), minute(), second()
+select unix_timestamp(current_timestamp()),
+ hour(current_timestamp()),
+ minute(current_timestamp()),
+ second(current_timestamp())
+ from alltypesorc limit 5
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: --current_timestamp() as argument for unix_timestamp(), hour(), minute(), second()
+select unix_timestamp(current_timestamp()),
+ hour(current_timestamp()),
+ minute(current_timestamp()),
+ second(current_timestamp())
+ from alltypesorc limit 5
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+1325408523 1 2 3
+1325408523 1 2 3
+1325408523 1 2 3
+1325408523 1 2 3
+1325408523 1 2 3
+PREHOOK: query: --current_timestamp() as argument for various date udfs
+select to_date(current_timestamp()),
+ year(current_timestamp()),
+ month(current_timestamp()),
+ day(current_timestamp()),
+ weekofyear(current_timestamp()),
+ datediff(current_timestamp(),current_timestamp),
+ to_date(date_add(current_timestamp(), 31)),
+ to_date(date_sub(current_timestamp(), 31)),
+ last_day(current_timestamp()),
+ next_day(current_timestamp(),'FRIDAY')
+ from alltypesorc limit 5
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: --current_timestamp() as argument for various date udfs
+select to_date(current_timestamp()),
+ year(current_timestamp()),
+ month(current_timestamp()),
+ day(current_timestamp()),
+ weekofyear(current_timestamp()),
+ datediff(current_timestamp(),current_timestamp),
+ to_date(date_add(current_timestamp(), 31)),
+ to_date(date_sub(current_timestamp(), 31)),
+ last_day(current_timestamp()),
+ next_day(current_timestamp(),'FRIDAY')
+ from alltypesorc limit 5
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+2012-01-01 2012 1 1 52 0 2012-02-01 2011-12-01 2012-01-31 2012-01-06
+2012-01-01 2012 1 1 52 0 2012-02-01 2011-12-01 2012-01-31 2012-01-06
+2012-01-01 2012 1 1 52 0 2012-02-01 2011-12-01 2012-01-31 2012-01-06
+2012-01-01 2012 1 1 52 0 2012-02-01 2011-12-01 2012-01-31 2012-01-06
+2012-01-01 2012 1 1 52 0 2012-02-01 2011-12-01 2012-01-31 2012-01-06
+PREHOOK: query: --current_date() as argument for various date udfs
+select to_date(current_date()),
+ year(current_date()),
+ month(current_date()),
+ day(current_date()),
+ weekofyear(current_date()),
+ datediff(current_date(),current_date),
+ to_date(date_add(current_date(), 31)),
+ to_date(date_sub(current_date(), 31)),
+ last_day(current_date()),
+ next_day(current_date(),'FRIDAY')
+ from alltypesorc limit 5
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: --current_date() as argument for various date udfs
+select to_date(current_date()),
+ year(current_date()),
+ month(current_date()),
+ day(current_date()),
+ weekofyear(current_date()),
+ datediff(current_date(),current_date),
+ to_date(date_add(current_date(), 31)),
+ to_date(date_sub(current_date(), 31)),
+ last_day(current_date()),
+ next_day(current_date(),'FRIDAY')
+ from alltypesorc limit 5
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+2012-01-01 2012 1 1 52 0 2012-02-01 2011-12-01 2012-01-31 2012-01-06
+2012-01-01 2012 1 1 52 0 2012-02-01 2011-12-01 2012-01-31 2012-01-06
+2012-01-01 2012 1 1 52 0 2012-02-01 2011-12-01 2012-01-31 2012-01-06
+2012-01-01 2012 1 1 52 0 2012-02-01 2011-12-01 2012-01-31 2012-01-06
+2012-01-01 2012 1 1 52 0 2012-02-01 2011-12-01 2012-01-31 2012-01-06
+PREHOOK: query: select current_timestamp() - current_timestamp(),
+ current_timestamp() - current_date(),
+ current_date() - current_timestamp(),
+ current_date() - current_date()
+ from alltypesorc limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select current_timestamp() - current_timestamp(),
+ current_timestamp() - current_date(),
+ current_date() - current_timestamp(),
+ current_date() - current_date()
+ from alltypesorc limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+0 00:00:00.000000000 0 01:02:03.000000000 -0 01:02:03.000000000 0 00:00:00.000000000
+PREHOOK: query: select ctimestamp1 - current_date(),
+ ctimestamp1- ctimestamp2,
+ current_date() - current_date(),
+ current_date() - ctimestamp2
+from alltypesorc
+where ctimestamp1 is not null
+ and ctimestamp2 is not null
+ limit 5
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select ctimestamp1 - current_date(),
+ ctimestamp1- ctimestamp2,
+ current_date() - current_date(),
+ current_date() - ctimestamp2
+from alltypesorc
+where ctimestamp1 is not null
+ and ctimestamp2 is not null
+ limit 5
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+-15340 08:00:12.326000000 -0 00:00:21.201000000 0 00:00:00.000000000 15340 07:59:51.125000000
+-15340 08:00:03.213000000 -0 00:00:04.759000000 0 00:00:00.000000000 15340 07:59:58.454000000
+-15340 08:00:14.813000000 -0 00:00:21.774000000 0 00:00:00.000000000 15340 07:59:53.039000000
+-15340 08:00:08.566000000 -0 00:00:21.918000000 0 00:00:00.000000000 15340 07:59:46.648000000
+-15340 07:59:44.993000000 -0 00:00:00.141000000 0 00:00:00.000000000 15340 07:59:44.852000000
PREHOOK: query: select current_date, current_timestamp from src limit 5
PREHOOK: type: QUERY
PREHOOK: Input: default@src
[11/23] hive git commit: HIVE-14913 : Add new unit tests (Vineet Garg
via Ashutosh Chauhan)
Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/results/clientpositive/llap/vectorization_0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorization_0.q.out b/ql/src/test/results/clientpositive/llap/vectorization_0.q.out
index faceb5c..7e1bae1 100644
--- a/ql/src/test/results/clientpositive/llap/vectorization_0.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorization_0.q.out
@@ -1117,3 +1117,29606 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@alltypesorc
#### A masked pattern was here ####
-3.875652215945533E8 3.875652215945533E8 -3.875716535945533E8 1.436387455459401E9 3.875716535945533E8 0.0 2.06347151720204902E18 3.875716535945533E8 3.875652215945533E8 3.875716535945533E8 1.0 10934 -37224.52399241924 1.0517370547117279E9 -2.06347151720204902E18 1.5020929380914048E17 -64 64
+PREHOOK: query: EXPLAIN extended
+select count(*) from alltypesorc
+ where (((cstring1 LIKE 'a%') or ((cstring1 like 'b%') or (cstring1 like 'c%'))) or
+ ((length(cstring1) < 50 ) and ((cstring1 like '%n') and (length(cstring1) > 0))))
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN extended
+select count(*) from alltypesorc
+ where (((cstring1 LIKE 'a%') or ((cstring1 like 'b%') or (cstring1 like 'c%'))) or
+ ((length(cstring1) < 50 ) and ((cstring1 like '%n') and (length(cstring1) > 0))))
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+#### A masked pattern was here ####
+ Edges:
+ Reducer 2 <- Map 1 (SIMPLE_EDGE)
+#### A masked pattern was here ####
+ Vertices:
+ Map 1
+ Map Operator Tree:
+ TableScan
+ alias: alltypesorc
+ Statistics: Num rows: 12288 Data size: 862450 Basic stats: COMPLETE Column stats: COMPLETE
+ GatherStats: false
+ Filter Operator
+ isSamplingPred: false
+ predicate: ((cstring1 like 'a%') or (cstring1 like 'b%') or (cstring1 like 'c%') or ((length(cstring1) < 50) and (cstring1 like '%n') and (length(cstring1) > 0))) (type: boolean)
+ Statistics: Num rows: 12288 Data size: 862450 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ Statistics: Num rows: 12288 Data size: 862450 Basic stats: COMPLETE Column stats: COMPLETE
+ Group By Operator
+ aggregations: count()
+ mode: hash
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ null sort order:
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
+ Execution mode: vectorized, llap
+ LLAP IO: all inputs
+ Path -> Alias:
+#### A masked pattern was here ####
+ Path -> Partition:
+#### A masked pattern was here ####
+ Partition
+ base file name: alltypesorc
+ input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+ output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
+ properties:
+ COLUMN_STATS_ACCURATE {"BASIC_STATS":"true","COLUMN_STATS":{"cbigint":"true","cboolean1":"true","cboolean2":"true","cdouble":"true","cfloat":"true","cint":"true","csmallint":"true","cstring1":"true","cstring2":"true","ctimestamp1":"true","ctimestamp2":"true","ctinyint":"true"}}
+ bucket_count -1
+ columns ctinyint,csmallint,cint,cbigint,cfloat,cdouble,cstring1,cstring2,ctimestamp1,ctimestamp2,cboolean1,cboolean2
+ columns.comments
+ columns.types tinyint:smallint:int:bigint:float:double:string:string:timestamp:timestamp:boolean:boolean
+#### A masked pattern was here ####
+ name default.alltypesorc
+ numFiles 1
+ numRows 12288
+ rawDataSize 2641964
+ serialization.ddl struct alltypesorc { byte ctinyint, i16 csmallint, i32 cint, i64 cbigint, float cfloat, double cdouble, string cstring1, string cstring2, timestamp ctimestamp1, timestamp ctimestamp2, bool cboolean1, bool cboolean2}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde
+ totalSize 377237
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde
+
+ input format: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+ output format: org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat
+ properties:
+ COLUMN_STATS_ACCURATE {"BASIC_STATS":"true","COLUMN_STATS":{"cbigint":"true","cboolean1":"true","cboolean2":"true","cdouble":"true","cfloat":"true","cint":"true","csmallint":"true","cstring1":"true","cstring2":"true","ctimestamp1":"true","ctimestamp2":"true","ctinyint":"true"}}
+ bucket_count -1
+ columns ctinyint,csmallint,cint,cbigint,cfloat,cdouble,cstring1,cstring2,ctimestamp1,ctimestamp2,cboolean1,cboolean2
+ columns.comments
+ columns.types tinyint:smallint:int:bigint:float:double:string:string:timestamp:timestamp:boolean:boolean
+#### A masked pattern was here ####
+ name default.alltypesorc
+ numFiles 1
+ numRows 12288
+ rawDataSize 2641964
+ serialization.ddl struct alltypesorc { byte ctinyint, i16 csmallint, i32 cint, i64 cbigint, float cfloat, double cdouble, string cstring1, string cstring2, timestamp ctimestamp1, timestamp ctimestamp2, bool cboolean1, bool cboolean2}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde
+ totalSize 377237
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde
+ name: default.alltypesorc
+ name: default.alltypesorc
+ Truncated Path -> Alias:
+ /alltypesorc [alltypesorc]
+ Reducer 2
+ Execution mode: vectorized, llap
+ Needs Tagging: false
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations: count(VALUE._col0)
+ mode: mergepartial
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+#### A masked pattern was here ####
+ NumFilesPerFileSink: 1
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+#### A masked pattern was here ####
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ properties:
+ columns _col0
+ columns.types bigint
+ escape.delim \
+ hive.serialization.extend.additional.nesting.levels true
+ serialization.escape.crlf true
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ TotalFiles: 1
+ GatherStats: false
+ MultiFileSpray: false
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ ListSink
+
+PREHOOK: query: select count(*) from alltypesorc
+ where (((cstring1 LIKE 'a%') or ((cstring1 like 'b%') or (cstring1 like 'c%'))) or
+ ((length(cstring1) < 50 ) and ((cstring1 like '%n') and (length(cstring1) > 0))))
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select count(*) from alltypesorc
+ where (((cstring1 LIKE 'a%') or ((cstring1 like 'b%') or (cstring1 like 'c%'))) or
+ ((length(cstring1) < 50 ) and ((cstring1 like '%n') and (length(cstring1) > 0))))
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+1370
+PREHOOK: query: select min(ctinyint), max(ctinyint), sum(ctinyint), avg(ctinyint) from alltypesorc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select min(ctinyint), max(ctinyint), sum(ctinyint), avg(ctinyint) from alltypesorc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+-64 62 -39856 -4.344925324321378
+PREHOOK: query: select min(csmallint), max(csmallint), sum(csmallint), avg(csmallint) from alltypesorc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select min(csmallint), max(csmallint), sum(csmallint), avg(csmallint) from alltypesorc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+-16379 16376 7435990 810.5504687159363
+PREHOOK: query: select min(cint), max(cint), sum(cint), avg(cint) from alltypesorc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select min(cint), max(cint), sum(cint), avg(cint) from alltypesorc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+-1073279343 1073680599 1438050863785 1.567699622571678E8
+PREHOOK: query: select min(cbigint), max(cbigint), sum(cbigint), avg(cbigint) from alltypesorc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select min(cbigint), max(cbigint), sum(cbigint), avg(cbigint) from alltypesorc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+-2147311592 2145498388 -1698460028409 -1.8515862077935246E8
+PREHOOK: query: select min(cdouble), max(cdouble), sum(cdouble), avg(cdouble) from alltypesorc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select min(cdouble), max(cdouble), sum(cdouble), avg(cdouble) from alltypesorc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+-16379.0 9763215.5639 5.622365303050001E7 6128.586552267278
+PREHOOK: query: select distinct cstring1 from alltypesorc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+POSTHOOK: query: select distinct cstring1 from alltypesorc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+#### A masked pattern was here ####
+0042l0d5rPD6sMlJ7Ue0q
+006bb3K
+00LnqxnThlCib
+00MmJs1fiJp37y60mj4Ej8
+00PafC7v
+00RG6GmXCvpNN32S3045C26
+00ekFtl
+00iT08
+00k3yt70n476d6UQA
+014ILGhXxNY7g02hl0Xw
+01I27lE0Ec60Vhk6H72
+01JwN1NVt1HU3sW3
+01L3ajd5YosmyM330V3s
+01oQGbtfGX
+01wk5BRpjoirtQ0KKd2m5X
+02VRbSC5I
+02e5aKv
+02k5poW73QsWM
+02v8WnLuYDos3Cq
+02vDyIVT752
+032Uf58fO
+032inJMJt
+0333uXvwB3ADRa4aP1h
+033ffm5082ng0V
+035i4wu42Rs3Uu1ft5K0AOe
+036tLb
+037y7w5M624WjR07c6
+03Kvh3FL1P5FN0BY37kHpH
+03R4fW3q25Kl
+03SnoFNyeHxQ2X
+03ej428XuL0ryi86e542
+03jQEYjRQjm7
+03n0QGH
+03x70MmrDft3GtJF7y82QL8
+047Nh03HwK
+04A5E86G57oUmoA1r7V
+04H5odDUy1D1rhGLXGu
+04Q88m1uOy0RT86F3K7
+04RSj8yWf6GOxxq6B37jHlTO
+04Y1mA17
+04Yu8RntCU7amJtj
+04fq7M416mV7CwI1q
+04m0G4
+04p3riU20lo7A7s0OvBepl
+04q7g1Qm8cvCmny4S7r
+04vwGN4a82bd6y
+04w7DF25lHW4
+04x2PT7M1favj
+04yYaarM36u3dD3Ho
+053saXP1gR5mg06644Qd
+055VA1s2XC7q70aD8S0PLpa
+058p4c1
+05B0hwk3h12Vv5nOO07WfR
+05RA7lJ5odEHh13Uj8JkO15D
+05XlEbko5Dd31Yw87y7V
+05YFCwrpOl
+05jXQ1CW68sF7G
+05oYA4ya5
+05qf7K4cL0
+060EnWLmWE4K8Pv
+067wD7F8YQ8h32jPa
+06KkQ1787E25QFmGj87yjd
+06Q47xVf1d5JSdb
+06geS0K71heCEffYM
+06hsr0Q0bQe
+06pY725
+07488p5vb4d2
+07E7K7b8A20SU0y1Dls8ph
+07Hofhidd5ClnNx8jTl1
+07l7e0adRi8LBK6xlp
+07rw6mP4WPoYcTNy1R
+07x1c
+081M8a6yJtxj6w51C4d
+084055856V0l
+0863bBy3dkL74WtiERo3L
+08R5I
+08c0T6WJ7gREGr4
+08dVHRg
+08k7WHcnY6K3XyNyK21IaE
+08s07Nn26i3mlR5Bl83Ppo8L
+08toVN737ni
+0A2k346GBQ
+0AKcTvbG7
+0AP3HERf5Ra
+0AaJ5c3bS7m2i
+0AgcEEPHf4vXNU
+0AkI4K24GeFC1Aa2Sr6
+0Apbh7X08i2JyMK
+0CIbHqN05doWKk36Q4
+0CjRwkbxbqh7T0brNr01
+0CkUHn44bl6xbyYLk
+0D6533
+0D7WTl75H3U8V4YFTj1A
+0DM5PsdSMaTmhOK4YxC5u7j
+0DWYRJMc8q8DX2ltX0442
+0Dlv8g24a1Q43
+0E4MkMvDVTEIU4B3
+0EIL81O
+0EU2GSKN4svnsv
+0EnEEuG7h0d01
+0Ew7eF4wD3Oo
+0F5hWvBF2QOa8A5ThNXq
+0FEc2M56c3aXrUw885
+0Fx62li4
+0G60dEaeNN2vkI
+0Grrbs3Mu0
+0HTm73B
+0HxgXxO8E4kP4pBLH8qH
+0I62LB
+0IThjaO883De3DbuerQDt0
+0IX8xRUO
+0J1T41Nj0r72
+0J74Ryg8
+0JiVbqP3cG7I20UlHuc
+0K68k3bdl7jO7
+0KFxcEp5oX6e5365X
+0KG4XT6262r
+0KO13sQD80owUvaRJkgg
+0KX8Y7a660sb
+0LeTlxj6K50Te6uWM
+0M6LCA6u038J33jdFuHfF0AS
+0MGeqBDWUco
+0MPx71oMa
+0N4fmSaB0op1780h
+0N7O6L1Gg1ja
+0OD14f5eu
+0OHV13
+0OerNktBX10PyHs1sE
+0OtfuTVJM42tR837710A7u
+0Pgnxt8CrtOEWy
+0RrH6XDA1
+0RvxJiyole51yN5
+0Ryd7J0wt3N80Yc64GCpr1
+0S3XIH2NDeS0xS
+0SPVSOVDI73t
+0T08CcDm0fDWR25u
+0TN06s2WtHc
+0TQ0HK5x8
+0Tm1yO56P2KC5O18
+0UR5vFxRwBc8qtO
+0UcJbaN8
+0UrqL6yRfK
+0VWukLt
+0W67K0mT27r22f817281Ocq
+0WwMu34P26BUdcVu8q
+0Y641jaPl
+0Y77KBQmKC14u
+0YAn3Qyo
+0a5Aa136
+0ag0Cv
+0b3rr
+0cg0haOcvRSlXg36n2k3k4
+0ciu8m3N8Mds44yxps
+0dtVL5IFPf
+0eBe1
+0eL7WBS304SQ6PAp853
+0eODhoL30gUMY
+0f4422CBSl
+0fjN1U4ogbI
+0g852B
+0h45LRqh8jhT7sxcubL
+0i7NWa31V138w77wJf
+0i88xYq3gx1nW4vKjp7vBp3
+0iqrc5
+0j0P462my2xp8vCY2Oh8s6rn
+0jP5vF5FAwp
+0jRGf5f1Q05O175
+0k3GM
+0kywHd7EpIq611b5F8dkKd
+0l4J5G2jaDC
+0lhcglI
+0m6YOPivJ0VtmA4R6
+0m8aHX5yF5muTQW
+0mQ565Vg5K1886
+0mokQ053qtj
+0mrq5CsKD4aq5mt26hUAYN54
+0mrwaF7Lj8
+0mwvEC1g5p7Ai5p3VWwc
+0ne4VG
+0njk0OC3d8486u
+0o5aasUct374Q
+0oNy2Lac8mgIoM408U8bisc
+0onk8EVH
+0ovL2T
+0p3nIvm1c20J2e
+0p5PiWBMN2nO0y88tnHcw
+0p7O07686VbFeGpK5Aa3
+0p7sCjwPHtR5u1
+0pOH7A4O8aQ37NuBqn
+0pOTqi3O44rEnGQ
+0qC12eb788WuYsfVmiN078
+0qPPiSO4o5ar2J7Cml
+0qc8p
+0qcrw48qRprN58USuMjd6
+0qh7Ce5WJGFQgK1U0pl0
+0rNlSy15Xy1Sx
+0rP6A8v2S16EOlTfIDW
+0rdrrU461v
+0rtl1C
+0rtwy7qvCV34lod33
+0ruah
+0ruyd6Y50JpdGRf6HqD
+0sB8K
+0siU5JLRoUBPi88Kenqg4
+0t7onX5VSj3h
+0tM3bkx6xWaqmX5XC8Md3h
+0tkxbt
+0uA7It5CJu16eJ4JS1uuxNJ
+0un2h56KS7gYB37L
+0uu4FunxNR7iOvw7NyH7mo
+0w036Qnm3WkA73cw142j1l
+0w0Kn7n
+0wyLcN8FuKeK
+0x112O1
+0xfBP5JTQaqgj
+0xhsgG3Kg141Yy4dG1
+0xsFvigkQf7CEPVyXX78vG7D
+0y7AJ4Mgm5KvSXXPh2802
+0yVT3lMBd8sp536d
+10
+100VTM7PEW8GH1uE
+100xJdkyc
+101n6n461o
+1047piRsT3c3r134I
+105aFDAt30c4rI4U
+1062158y
+1063cEnGjSal
+10Hr5oB07Ohu0622u
+10M3eGUsKVonbl70DyoCk25
+10TYIE5S35U6dj3N
+10V3pN5r5lI2qWl2lG103
+10Wu570aLPO0p02P17FeH
+10Yr6
+10c4qt584m5y6uWT
+10dUdwyXp5XwgpkTxLffmv3x
+10lL0XD6WP2x64f70N0fHmC1
+10ljXCFT6fG6Qi3S7414e
+10pO8p1LNx4Y
+10vke853
+1110xVQF524nk2h2k4Aw225
+116MTW7f3P3
+118iOoSACcy2X4f2k4Y
+11Cjb3gHPUSjs1Dg3Co443SD
+11F2M
+11JF0rvxETQpaqxn
+11R5e0X4LOeDU3kGt
+11gEw8B737tUg
+11sV8qlJk
+121307nh6r0H31Mg
+122J3HlhqBW1D43
+122V22t5dxC876kB
+126aSR
+12E1XSdKn04W1fN3ggwOv32
+12Y88CFE3600p4daxwcd1x
+12YH5vxufod8Wu1R
+12l86v8r1ACbP
+12njwnswv3XcLx0a30tnc
+12yT2agBjx3yQ
+131Dphpt2j2FB
+1324Nbqc0C7h6niurp77wT
+134V61S01dD11l
+135FVb62E6
+1381p1T7376j
+13AA4buw5j0xj33Fie0FAl5
+13Dmcbvc0
+13YQWi5
+13q2kEQ65Y8EY0S88y7uFa5q
+14272peG
+142dJq8N6LAR
+142kQq4fbeX3mT
+144eST755Fvf6nLi74SK
+1470P
+148JFHQ0ua53LXaI
+14I0G813dY7
+14N0bi51I5FviXeCQ03F21
+14UXn3xvdW88b
+14V5RTX2R1
+14aO58n
+14fnT7A11Y6fE
+14q6lr0573yWa7u
+14xUC67Kd7mcnC3
+1527XhEpKMnW2I2E7eCu
+15EKKV43LqDgt2DS1w
+15cWEp2JVNf8
+15iI6DdPRxH
+15nhBUmm0Fj7J2jmVgEE5C0C
+15w3qCVPlsGoqbi1
+164334b43QNUJ
+16L335OgyOKH4565
+16P2kxk
+16T0Q0hg2
+16XJOPr281TmT72Y7xqB
+16f7lbK5unxiEgoLr73
+16qqkM5M66EMI3uWjWy
+16twtB4w2UMSEu3q1L07AMj
+170wJmORY68C7jdI6
+17RI340fft1fahy586Y
+17tj7wL42AfkIWb11q1d6wwe
+181O0OJ0P36g7g37vM2M6
+18330cCeptCu564M15
+18LS1tJ2uUNc2X4
+1A0Vt
+1AQR8H78mO7jyb2PBF
+1AV8SL56Iv0rm3vw
+1Av1DMN8BV7
+1B2Gb0
+1B3WMD5LSk65B2Moa
+1BA21MegTTKR67HG3
+1BQ22Cx70452I4mV1
+1D81pm8hqi640BbIhA
+1DQ1RnVsCy
+1Dj48xi11k5
+1EQPbIb2Wc0v60b
+1Ef7Tg
+1F1K4Rd
+1FC278dD8i67Hw
+1FNNhmiFLGw425NA13g
+1FkF48y5
+1GIFlv7Vi0434AjY
+1H6wGP
+1HF15l
+1Hw16y3hmpG1O6hXfd6
+1I0750N5l6vsLXoySV
+1If2J08V08IqLbDcOc184k0
+1Iry1n1c
+1JGq6EC86Lc67B
+1JRm406Na8hu
+1JVmE8QhNpG6IOT36c
+1Jq7kLUa3loRL
+1K0M0lJ25
+1KXD04k80RltvQY
+1LRgweD3Na
+1Lh6Uoq3WhNtOqQHu7WN7U
+1M4Nh6OhsxQ2XeIDW03q12
+1M4eTm8OcOW2dAMV2V5slS1
+1MJ884f1w6B38WBeya
+1N6BDpg65g6
+1N77rGXKwbO78axvICg8Gh8
+1NHb6w5M3W
+1Nq1NaA58A
+1NydRD5y5o3
+1OQ5KA
+1P0HN1edMF8
+1P2TFQRLS8P
+1Q6X12GH8AjV1QTh0y4TU3Vm
+1R480AiLgVaTEIcn3hUy8X
+1RH526
+1RN2A6iFf36F1T2a1Syj
+1RWm38Sn4LfJyr7341Mg
+1S8S88v8yJQW5cVKm
+1SJm77
+1SkJLW1H
+1Sq6q2cfuq8
+1T15H6MJi81crs35pDY8p4
+1T1oN5BQ
+1TBB2v0eBqlr4c7d
+1Tr66A4C6WsuK
+1U0Y0li08r50
+1Uwni6D5JQ
+1V07gCB41Psbr5xtLiK4E
+1V26wN5LmrcPV
+1VfAQ43G1EEip2
+1VtwojBM48g0
+1W0U2Bpb
+1WAm0QJtWv06c15qd
+1WRcDois5
+1WfqtP0V8Ky332UD
+1Wqy6K6WJaUuutA4l6iQ
+1a47CF0K67apXs
+1aI03p
+1alMTip5YTi6R3K4Pk8
+1bVmr6A03dX2uSj
+1cGVWH7n1QU
+1cO0m
+1cVy44
+1ccoB38
+1d8jOa45wiiv
+1e3i0H8MvWpar7
+1ek48
+1emD5WuAWePl22
+1ev82P6
+1f4D404j6JJn45418LWXBO
+1f4h0JU667ht28ergbmQ42
+1fPLKUK0
+1g4rMLDk488w2
+1gDXGG5x1D1v67
+1gE6P06R6Au
+1gEDdyI
+1gdr1s14ckUm4h0A6Qj
+1gsKPxa3Fr6sT
+1hs013
+1hsB1W3qV57jP4vG
+1hy4qfv
+1j3rth56N41X17c1S
+1j80NSLbNMdIc2H3R01D703
+1jDB0
+1kFnQ8Xw3
+1kYyjHtA0
+1kcFiFLMrMi1rhHn
+1lH74g2m8G3mf5Tn
+1lh1E3r8fKyRTiC1HwYgN
+1lxocR56Tc6bWcLf1GHE7
+1m6h0T
+1mYj3F8wwhWgvemD5E
+1meQ3kXTFFWELpid
+1mop6Ft
+1n4A087jV3AdXoNYLUp
+1n7x4rXnvWH4wpAlqR
+1nnwS4QL88H4N4NItBY7Nje
+1o5T8oXJi5CAYe8540C
+1oiwKGMsFXabXo
+1pUrix3
+1pxO53oqqBm2
+1q2P1wSl82q13
+1q3IAyF41KDbkoUH0UF8d
+1q3cS3s0IWSVPe0J
+1q6mOJMMOOaF1FraYJET8Y
+1r3uaJGN7oo7If84Yc
+1r83U1NHOu8n42Kn8gTpb
+1rK23
+1rf8FQaP3T01QBY0hAA5PMb
+1rr8w33DhG7xf1U
+1sJei0Gh
+1sU7A2KLR2QaP3Qu
+1t2c87D721uxcFhn2
+1t4KWqqqSILisWU5S4md8837
+1t87645camEy7yy0Awe1M1
+1tJ44D7df078VJPOgd38
+1tcrgsn5g
+1u170q
+1u4j8lva4XKq
+1uerCssknyIB4
+1um44A551e
+1v6A2yY2i
+1vAA65LuIcGceY632
+1vMvKTO0AI5XSa3F1DYNp6
+1vMw7D5H1qCv
+1w6mvRv543W805LP
+1w7DPjq
+1wMPbWHES0gcJ4C7438
+1wb02g3mc
+1x1vyb
+1x4u8Rl7K43d
+2004JF1
+203a3lQM031om7ei8r
+2060qh1mQdiLrqGg0Jc5K
+20761P12SQ04f8374
+20AgBx22737wF7TvGJT8xdV
+20QwDjvR1
+20UhDXCa138uNih2J
+20ub5m0Qgh
+21177SI08X0RDP7y70pe157O
+211K713b0vBiUWYr
+214UsrYtB1W4GJ
+216N1n3bRv
+21I7qFxw2vnAO7N1R1yUMhr0
+21UE6fJyy
+21c1MADfD3n1QJ6j
+21g1f5Pxbwev02i2
+21k073eUyWivL
+21l7ppi3Q73w7DMg75H1e
+223qftA0b
+2251WSv5eA2l6WqesdKPM2
+225M5e1OeEOu7v
+225vmIW8L75bEWVwFc
+22RO52O0M1M01M0Uk74eGx
+22UwE
+22Yf3twSI62x1b1S7Lg6G
+22s17wD60356NWi2m30gkHbm
+22s7l8b06mB7664p
+22w42i7d7D2lhn6jfnlSN
+2302W3RLPU4Hpg
+230qXv8c48waG1R6CHr
+23I1IWV72hJD8Pd7FGk8lS
+23R287wx8g5N22kp034161
+23tv5Q87XXL2JRhI6D
+23w7BrP228j42Elayn83Vi
+2401K84yO
+243SuYo3E
+2450EV33jpg
+245ELjN84
+246uQD3RQ50gYIC
+2488b5alBL0PX1
+24IGcUngY
+24Xq1VVJ
+24jbgb42dtP
+24t2xP3S
+24t42K005K7v84Nx820euxD
+252YCGI2DXxpdm7
+25MqX
+25Qky6lf2pt5FP47Mqmb
+25f8XNj
+25l26587m1fsM43r
+25umK0M57MLXesxE
+25w0iMiN06MP
+25yg11q44eL27O18V6fRc
+2618CM
+26Mx1k447Tk5
+26X2i11X25iC6x1KF
+26bLm8Ci6ebiJNpXa
+26k31c65n85xP
+26x031
+26xX874ghxkA8bV
+270E55oU861Csr73n
+271Q17NmKVPMlC
+275JjYk724e
+278v67J
+27M4Etiyf304s0aob
+27Sk86k4X
+27Xm6ui
+27lDtVbT38gR
+27pDBUla2gH6KpsN0O0g
+27pysB0Qg6oA8Cf4cjWChH7J
+27tTvOU3G86FdnSY74
+28131eU1pSKC35ADujoL
+2848p1S1240
+28DIm820euPTCMJxiNBtVF
+28KA13CH50X3tB0
+28MAXOSiX
+28Oe6r21yux7Lk47
+28os423
+2AFlPMvg7wgi45s4J
+2AI2KkK774duG2okMaJg
+2APHAC8q86BH3BqWiiK2PN2
+2Amg22mSeD4C6OL64
+2ArdYqML3654nUjGJk3
+2BFlmLpq7F1O6
+2Bn5g5acI28H
+2By078
+2C1S7MUYL5NWPARvQU
+2CiDSqJiKEr0JHgKF38uC
+2DOSO6D0pM
+2E41VxRBT043Jn6Ggf4no0O
+2EwNEy772jR0Adg3
+2F8b4jJ1722A2Pxu
+2FBdToh5748vG3p1f4A2Koql
+2Fis0xsRWB447Evs6Fa5cH
+2G6B67cu1BUqRd3I52Ug20
+2GN33486Eatu7tJi2832NSx5
+2Gic14
+2H2FnbDdb58GeL7kE2
+2H2X40NiXBIW2f
+2H45o
+2H8VG2l5e4H
+2I805mn6PngvT2rj
+2Is2C874
+2Iu8hD8x4NyXVo51
+2Kkk1q2T8Wfedft
+2L8uS24vDmMefb6XqR85U4C
+2LTgnBrqS3DAE446015Nc
+2Lkkts02qWf10RplnFExc
+2LwwBU36
+2M016T
+2M106hVFEhu
+2MCek73Rwx
+2MXQgy3CnV528om4I77x51i7
+2Mf0x4c2BF24c2w734t1EY72
+2Mu6L0wVGTbTT062fEPi6
+2Mwn2qTjLVk
+2NR62NFR5
+2OQAraVYMghEPUOfSU8YV3
+2PDsg
+2Pcm3
+2Q032bA7kXvFD0bhrGftiH
+2Q18K28dIIL
+2Q1RY
+2QJ1CmlPPD4fLq7
+2QK5G0sH2ja1J1Cq8kjc76JQ
+2QLj36ndEKWf0rQ760470y5v
+2QNVLQqPARH24r6rb4
+2QYq8Y
+2RbYGSs0tvc6C574BcmprP
+2SDuH1XKN0
+2SOiwMlQ55T05111LrY5
+2STdm3wq2BF3JJ6DdRWbl
+2Spj5Vq6Ngjb2dStLbFt7R
+2T5u0u67tRE3Mm4Tvqdb8eL7
+2T6W6I7vsKk3j6Jx6Shkq3
+2TP8Ryblc8A01
+2TWTx
+2TtPF15
+2U06fQ
+2UTX78oBg574jiOyOy2
+2UXtO8TI7g3MluJ
+2UY1jX2B1xNeR5h1qnw3
+2Uxl6l5oEs2Ds8CpKH
+2V1uLd04r0RYwOkCb4M650
+2V6VBAtpi0QQD
+2VBb0ATBqIx4n1Gm7W8
+2VC0DK60DgLH
+2W4Kg220OcCy065HG60k6e
+2W4pf6Qy1bP
+2W5VeOi75DI33He6HWk
+2WB7711J
+2WKo5
+2WTglrLC8A01S3N36yRm45
+2Wn3m7QhneidkMX1q
+2X0XRt20B70F7B
+2X4Yj8B
+2Xgj2n
+2YHQ00GQxt
+2YJVQFBo3T2Foy43GcA
+2YOJT4Sveu
+2a388Phe6
+2a7V63IL7jK3o
+2b2VT
+2b7P4DSK3
+2bD1h
+2bV4kSyKcoqKqgO6iXsE
+2bc3O0wh
+2c06XNT8UBA24Wj6A
+2c4e2
+2cNlfY8O65MhvmBjMq3MM2X
+2cla1Q3o3E8H2
+2cumAMuRN4kC5dJd888m
+2d361
+2d3tQdCGQN5k7u7S
+2dBEmWgC3OK06DpPc78Ew6l
+2dU734cvN0P2k65CE
+2diFRgr78diK6rSl0J
+2dj7o
+2eF0C4T4B0
+2eJegODpls2LBS2vAFl1OvQ
+2elvVv5Ru3a3OXP1k
+2fM8qRJm8x3SkFAvM75
+2fbAP8EJ4D5sArmrfUo3r
+2fu24
+2g07108CQP0nN6tb
+2g8EaK4cQPk82MpQPXlL54RW
+2gaHj
+2h2qsp14cr
+2hOb8J1
+2iVjtVVhM8R57oy
+2j2W3xc42VkSq4Nh
+2j6rY0poRw58s4ov2h
+2jU3jtuGteBoe0Cmf3gr
+2jpKwIdt6T
+2kQ5t0876n4JffOpftYceg5
+2kWQ1XKrr6K5THWA3ck250ab
+2kechLGLtV1b2FK6h
+2ljg4si1A
+2m58rF
+2mk4x457Jc0apJ
+2mwT8k
+2n2cwjWAp2R56c2GYtKHQf0i
+2nioOF436ID
+2o1aSX46bT5lbybk1K4U
+2oIGN5REv78NrkB5Id2u
+2oSudUNUX6
+2oWrqUD1xjbsy1Q2Ecoa0CG
+2of2Yx7uYE6fE
+2p0iX031016VDNb6KWJ
+2p6SD
+2p7ND20blG8t2cy1VRh16
+2q3K4S2rTX7K2by4c7H2
+2qYs0rStqVuO8Rg47
+2qh6a3is304PThbc
+2s3N5qbQ4pPGcwC0L6q
+2sF6Qdn5w5qO805cSaFV
+2sJpP82Tgm
+2sQ408i6h2V7MI7
+2svmgiXe6
+2tV7k
+2taQsaEJVXuJ
+2u7a6SbanjfvG
+2uE6vb52q
+2uLyD28144vklju213J1mr
+2v26F2Ok
+2v5SC7L0SqtYe83ugkh
+2v5Ux
+2v73jy37DkO67k257
+2v8x2Nmr15
+2vCAjK
+2vXyUmN8p0lFrAjL1q3wOB6
+2vdVp
+2vtmB0qNlHlGV15P1p
+2w7HaRyy7SDnxGIdgT7s6
+2wRURKtw8
+2wak50xB5nHswbX
+2wbgE0Yo1RX82H2sp4f1l5
+2wg3vWU73P
+2wgUNj08KLsG4wks06
+2wv4mHH5001Rlwe5vG
+2x14G717LqcPA7Ic5
+2x480cpEl
+2x58ER5s73ga5cx8U17K
+2xdvQ
+2xgkuN5E8h7t51
+2y2n4Oh0B5PHX8mAMXq4wId2
+2y7hKN32yv3
+2yK4Bx76O
+2yd00UDPJUO37S4qfT0gHyg
+300gt
+3080Y5smP4JT6
+30J4VggeJfk6l24Wj3Q28
+30S16Yv88FUQsDS2
+30raB4mNQ1Fy0TFyR7kriGif
+30u668e
+314nQ6nVj
+315P3EH1I6vi6
+316qk10jD0dkAh78
+316t3Sw
+317wH7BrLo671
+31A6tiD0K20miSf85
+31H4o7hC07b
+31RpuaAqBaH5ILfc
+31m1d3P3AD
+31nyhCE127sfC8qNGr6X
+31p023gt0v70DBDg8d2
+31rhe
+31u8TV1q3hv2kNyJP
+324X0
+327LJ26mRqM
+32OjMMVB54jv35
+32Q066E
+32cB3f
+32t5QB82iY3
+32v414p63Jv1B4tO1xy
+3341180kSV
+337CVUc
+33cr1j
+33g681L
+33mc66c
+33oQ31
+33woPLwH3MFmK
+342N64u7yB
+342c18wA5vW61bEV
+3445NVr7c7wfE3Px
+346v1tVDI4iB
+34ETSx805Wcvol7f
+34KEcbvGIp1t
+34N4EY63M1GFWuW0boW
+34P6jvO10s66T30S
+34o2M3
+34oSgU32X
+34p208wH32
+34vL40uLcr11po3k
+357GvGhVK0325aU
+35AUaVfS3BhcFg
+35lk428d1BN8Qp1M27
+35nkObNsO2p045cJ3
+35veP3L
+361M8OmUcKBPrFTcY5
+365IQF87op3G5G7
+3683w5f61yvbWKD71qtL8K6h
+368K1rQxOIUGl7
+36E3s7M68N2
+36N3svcnLD30QwA6im3
+36VHT5MyHq0Ei
+36VNqaapb4Y2E5l38
+36b2dm4iGWVn3wkl1A7
+36fFwTWHYaD563T4Yjx1
+36g21Q
+370Iao42Ne47KoMuv7L0GKqE
+37DtsTbag75dgC
+37EE5NIy
+37JyNK3B4QVE05unM5q
+37nx5s6QE3F
+37p34Jc2nloL
+37sehiO8Ivl64meKtR
+37ybSqX
+384j1RPibybB6R
+385cyYam0b0nAF717o
+38TsU
+38XES7ME0108oTOlH1I7BiWn
+38Y2u
+38Y7wt
+38vX8Oyvme
+3AKRFwBnv2163LyKqSXy
+3AleqfnbvCOK755F
+3AsYyeNCcv0R7fmt3K1uL
+3B3ubgg3B6a
+3Bm0J3xwvp
+3C1y7deXML
+3C388PPl50v
+3C487cjRTM14
+3ConB
+3CrD10MgcCY1d5E21
+3D8duxU6ikxujMiA3a1s3C1
+3DE7EQo4KyT0hS
+3DGKgMe5vV
+3E1n5Vbvp
+3E1qqlB24B
+3E1ynn7EtEFXaiQ772b86gVL
+3EM77
+3EUchdWMUIeH
+3EYb6FUI5ckmAd24bR7Juc0
+3Ea11tis
+3EdQS
+3F5nYf7D2P4YGlpTQb7Qm0J
+3FD2bt1EIaA0YrK
+3FEIL4w6ojn37iBWD770c
+3FXmaPtM8
+3FhN0p4lstJDMEtXC1005J0Y
+3Fhv1QY7Y776eQ38a
+3FuBrCe3T58bk1Km8
+3Fv6q4
+3G0hB0J4W5
+3GQ55vjr7oQI3u55bFk4GOL
+3GU0iMHI286JAUnA0f
+3H10xyM3GNP1
+3H2oU6X61KsBGr
+3HD1V6tKqe7gTGEC25JLF4
+3HhL08q56583
+3HlOeEUFSLcdPk
+3Idv5J5S26xE
+3JpLF0U3uFrIM
+3KB27MO3K1u5o
+3KS55
+3Ke6A1U847tV73
+3L2hivdJPOxVN
+3LWXOlGelGXQu64Lxws
+3M5o368CP0fJpOiskA6pYeVu
+3MNavGRlSAvHwbH55xrvY4I0
+3N1o1bou84BHA70
+3NXGGhNOjVMRWV
+3OpBF
+3P8kF2E1f68xG6sWx8
+3PAm03r2we02Ye3xy
+3Q2X6uNR28uvSJ5CXA25N4j
+3QUVFRtWix17GBQlFP8kF
+3Qm5PpAGbhf8NkWHJPv
+3Qn72niu1tSo14
+3R4fUi3r5212N4L05I47VU3
+3R68Yksg5JRtKk
+3S3Q2JL16PXfq27bdjC3T
+3SaS218squQ6hlv5H76M0C7p
+3StDSaH7
+3T12mSFCYnrAx7EokPLq8002
+3TI27lYx84dA7T
+3U6OMM3
+3UM32OYoBAub4rQs8tdq8
+3UN38KH8
+3USqL4
+3UtQ8
+3VAKJ8mb2ABVNB73
+3VI3qF5L1rHaYfdh
+3VK3CE7sganaEC
+3Vl0BaJ372
+3W0GorVd6GStPF5S43
+3WsVeqb28VWEEOLI8ail
+3X0nrU
+3X6iff67S3
+3YKfSH
+3YXp6Mn7N2jSCncj8S6DX2U
+3a0wpaDU3V
+3a7WcjS0uc0bqUmPmu
+3abOQ1oI
+3afvyfFbo6GH6JS416cesO
+3bKNkOve3
+3c4ER4QtMJwx83mT5Xp
+3cQp060
+3cT82
+3d1IDSME4v0F0LJbBr
+3d631tcs1g
+3dRX8I6b1UMfx
+3ddyT3U
+3e0MAK75O1V4Vw2mNM1UiX23
+3e27C1jTdTQPdvCWi4if
+3eRIt6koMhrPL5C64
+3epPVP3r6d
+3es7qU4J
+3fAi1N4CaJf1CpL2oIV
+3fHq6hA2VAdj4gO13MJTE
+3fPay5Or38giJylBUGwW
+3fT7I6UC6
+3gh6J5
+3gubGh4J18TV
+3h01b8LfJ812JV4gwhfT8u
+3h8mD2F76eq4mS
+3hF4a683G4Vc2N1
+3ioX5Nm0A878KIjG
+3kE81u6MpejF
+3kFb68
+3kXN3Q24nA206Le
+3kt58sfq
+3kv5ra4874pD8G3FRJC
+3l2B8dk37cU2tI73S74Iw
+3l7KiBCbB0
+3lb086sJ4qp5M3qJw6C8NjS
+3m1iT73ta75bK6Uek0R15bk
+3mM337C
+3mQI8u6Qx0sf2b03t86084
+3meYy6xhwQL4817A3UM
+3n32XXuwXR5ES
+3n72v2K42wYgtoeJrjhHnDm
+3nCoRI5m217k0BN0W2P7oDGf
+3naCWc31dAKsWl6B
+3o27DtX883
+3obyVy5iSrWwgK7R3u6YHi
+3ocGWW4eY55A
+3p52k8g15nQB2biT1bn7
+3p6nJWFNC6
+3p7ishFv1NEH3Q645h5D1
+3pFU58Ow1lnt7vRnbB
+3pOa05vw4J
+3q00y4llsXx3Ao
+3q0QQv5fggdv
+3q4Mex4ok5Wj6j706Vh
+3r23H05wF1
+3r3sDvfUkG0yTP3LnX5mNQRr
+3r818RKi7V2ME3NtTt
+3rDE5ohocdMweTS7gspnT3
+3rki40
+3sLC0Y2417i4n6Q5xcMF7
+3t072wsOIw022u12
+3t3EB
+3tARUFE5DqTe7
+3tluu
+3tnGS05xI820jmhlJES
+3uU325ocmMi8PM2hP
+3uo540mYV
+3vB11S
+3vk7hJ7ur64k4n48i2L8om
+3vsY0
+3w6XYq04J0Lb3Sv82eOV2HJ
+3weWVXQv3HgolM52OI2J8NAn
+3wlj3rr4GuYKMG6QxL64jT
+3x3rDvQ1TE6qIo
+3x7Jjk
+3xN13QA1u4nP
+3xa2cIfnRg3LQpKRUkUF
+3y1D3A7yxnQenJs
+3yAAXOS
+3yJpSNg1f2m3J486g4TF1uT
+3yaploii6645LP604gTB0
+3yb1J836s0x
+3yeQxU
+3yeq763N
+407CiWn5Sd0J4mlgB0X8Fu5G
+40CP0hDas6g7m
+40PQ82QY6
+40U0TKk6diRgJyuF2nNRvwX
+40WAu
+40i6Qf07
+40ks5556SV
+40n4Pw3EiSUL2e0
+40r4yyU6T0A0Mekf24k
+40rIa7T1gy1eb4b7Ge2VDN
+40vWkNP0f6DJQu
+410L723g40Le351u
+410uuUJB7nKBg
+417u8MVN77syjg88qN2
+4186Py40K286Oc
+418K4e01f6b
+41A0nYX72UOSfxO4053xy
+41ET3yiToLbb
+41GNy4
+41JX1nMdWvorK
+41MRiDLLRHaL18
+41MThX
+41OuKHD4wRu238388Cq
+41PLN7aXgP57M4Rr3
+41Uxbkbws7x1oN1M5I
+41smYLf4cuu65p1
+41xyA
+4236PQ
+425s7e8Q4LHYWbQ35I0
+42HiN0uMiVuj0Dc
+42NY72w
+42P7NX7gcwgOb727JtqNh
+42r63DM4K
+42rU7
+42w66x1PK4xu0P6fuXd
+4310N74Q4YtU2e
+431LM1vmKy0K1m
+435oSIASgSON6
+438Lxo541TwY5ID80cnR5
+43Ad7
+43Uw5KU1
+43d0nGQNH8m6wcT7p0T5Buu
+43gX6s3LEYUcX668Ig5y
+43h32gpaBvB4T3elN4s
+43q1I1xa1G33UlA34D4
+43wxS75R7cg
+442rSKupjwM
+44vcS2S5wu684R05fq01fu
+451H003P8UYu2
+45HoP7
+45WlaD0HipAojCT
+45ja5suO
+45pXKo1kmC
+467PTEoVhqi3kdYqdl6uT
+46J0D1L5q4xsdl0
+46X778w0r1Ueuv052rvegFJi
+46Y3G8Rf12bRc7KcY
+46a8K1
+46aF585n7xBB
+46tDHL8
+46uf5iNX
+472NXRAi53NVuETqVanD5l6
+47INeW44yvsne46Mu
+47XnhX
+47dILPXIlxYFSSu
+47kMyrkI1u51WS7y75pyy6S
+47x5248dXuiqta
+47xesJJ32Ia
+488l506x
+48Dj7hY48w7
+48GqfHPFLUxk42ov2bo2mmjq
+48fOGR7H6oNnh7m3Y
+48s0Wy10k
+48xYJd1
+4A7p4HkPm01W0
+4Bh47BqptHhw08erm
+4BxeN7PLh00qDKq13Nu8eVQ
+4CLH5Pd31NWO
+4Cf7gWmeh3Gw3bHx50iT2
+4D64Q522LOJY7lu4
+4E0nI655Vd0uNE31pU8x4SD
+4E4kmNOo5dbi25IJPfr05To
+4F3Tu14b35h26Q7
+4FANhS2t7p58VJ
+4GEqmyTpaQ
+4H51gSf4ykVH
+4H8qjd2yd36j5W
+4HI5bS2f78nG4Ig1l7
+4HkvsutO84B
+4HuS7f55wM87e
+4HvM3Jab3pv6V
+4I23s0o7xIji73bi3y74T5ql
+4If8MQc4
+4JmPDMvrnJnjYB0a015e
+4JyvISV2yO32C16
+4K1nnlkt7786Sq8x0ARXtr
+4KhrrQ0nJ7bMNTvhSCA
+4Ko41XvrHww1YXrctT
+4Kug5S2q
+4L44FU3D3OA0FN4y
+4LQe2Pd4m640E58XFA
+4LXBIdqdsL746Rf
+4LtlcjfB4
+4MBCqDL6Ajkinmi6b66mV3l
+4MUYUYLAD7d0lk70NJjc6LB6
+4Ma84C526OTHw0tbwxaQ
+4Me3k5h
+4Mk3721iRh6
+4Mn8007R4LoxG
+4MsDFIDY76
+4O41kg
+4O84Y581OK0x7sYP5Qvd
+4OaUPT5Nv11mnb1XInK3
+4Pu62
+4Pv3ny42Wj23L
+4Q15WWw0S
+4QG23O2GKF6BUe13O7A2C
+4QL5UDAU0u7
+4R0Dk
+4R0XI865tG1o
+4R8agGBIHRA
+4RpFMC366k71GL1j5Xd5
+4S44vF
+4SLME5xxs7k
+4U4HK
+4Uh5kCybH
+4UtjbA8bV4lkm
+4V2osM67mkXG
+4W3748j3JCC
+4W6pl6oLfgN0ax
+4W835c5Tu0aa4X2
+4W87PCaousB
+4WElvvXB261gE3
+4Y2uw5v1YJ8Jsq7wPSA
+4Y6F2QEy0v68
+4Y8NFk7mqmC3
+4YJx505OYOoh0r6SnMF6UF8
+4YN58DH0Hhxv5Oc4
+4YNyI4NW644vp0gN3
+4YW4ASjU70MkyO2biMUV6
+4aE5M3pU0
+4bKIO5xLDn544QH2
+4c2KT50dog5
+4c41c6
+4cCAsIVs3
+4dYt6bF5xfHG2v4Fd56P
+4dogOB620W83nFvbfA3H5su
+4e1D6b2moaJ2LPJ70u
+4e4RSbbS
+4eFGE3dwF5
+4eWh0BTSBEu2
+4emY37V37o2B3dw426G7v
+4evX80TlSNP08l52Dlq1dOKD
+4f7D1im2ntLFeq5khY5
+4f8ynytRB62xY5AoVfELTku
+4fB0amev
+4fNIOF6ul
+4fSnp6
+4fgGH1hKp6j210ju47F4
+4gBPJa
+4h3m5Dy0nQ
+4hMaavAE
+4hVoMF62WFn82
+4hW4Nf1WU04
+4hyAJ1G3u61
+4i11T6y6lT4073XW46yaalO
+4iAo20FElOq0ihncuFJO314W
+4iUAI35X037k6V45lOR5
+4ieWq56f7mIjQNs783D
+4ifPMpwgOae51tiNLW7B
+4j16o2bV34xFa36
+4j1R8ITWf5JSIWbP6b
+4j8sceYx6vwS3L
+4jGPKNFY4TP2K8Gw
+4jY48jNU58G17PN75
+4jYpLVDnj352U5rl72UlK0w
+4k1RqRL
+4kMasVoB7lX1wc5i64bNk
+4kUFI473BsE2rgG
+4kyK2032wUS2iyU28i
+4l6OX60y
+4lBxj4Um88
+4lKBN0OF1pkx47YV46
+4lN2ugyM0MGtsv4Ak1
+4m4yDuu60Po
+4mL72FdfnCuoExb
+4mWvIJC3fkoF0XMf24g0
+4nKk4I7T6I4GruCj18
+4nKp83r82u7BI77SX27g4xDT
+4o0SAld6t67x881120Otu2
+4p32f3dqm6X0Vyd
+4s0J04m4B52
+4s0o0KVP7H3EU753v0Y
+4s1k1B653oP
+4srDycbXO8
+4stOSK0N7i8
+4t88O3hdap24Qp4182u1
+4tFQX5
+4teNUJ1
+4uJDm4ULDm3282Q32vwjD
+4uu1N8OXG4R0gmj0hPf41
+4v2OOIq40B8
+4v3613837dytHDDLO
+4x1067604ekVjosSK5d2umw
+4xV5SUxYbcNcFk
+4xgO0kF44085iT4b0p65E
+4y5o6RndF
+4yAo7t54rr50u6Vci3p
+4yCd7wSAHaHQj5f70x
+4ywIOdqIu2gvc
+4ywtoYwxb
+5001TmV0w
+5042V
+5045L00
+507ydguwwD2G5Xm
+50J08qKXC44G8HDMu7FF
+50f35
+50nbm6coT162C0gSHAy3DB
+514eg00Ro1RtB8GGeUCHYAqS
+51ovN80JSnc7SrwD
+51pI6Y6pcEoC4
+51pwyg3Pdfr0
+52033t
+522FH212n
+525Nle4MDKGH75d
+52j4j3FJ6YP1qxTbH46a1
+52x3fW10Sfgy0gQC
+5308t82fc4
+5314P0Xu85GA60lJaVPd10
+538bk4x8fME
+538e1Ht8T4tNdGJa5
+53OS1HM8
+53VR1
+53db1o6XRU2CbwxytJFIg
+5427N64msn31
+545Gtyb6TO01J
+54GiCgon04NXfnms6b5WRj3W
+54L167LPWI4Xl340Xve8MU01
+54T2y
+54o058c3mK6ewOQ5
+54yQ6
+556IHnw5U5QfD4
+55W7c
+55b1rXQ20u321On2QrDo51K8
+55laBDd2J6deffIvr0EknAc
+55xSuTYE4361
+560K0jDFkQG50aGtt8SVA
+561Np54L
+563414Ge0cqfJ8v5SaIQ2W3j
+567H50IcGCq1a3u1
+56BMQS65YdOhgR
+56EtJ6FmSp47bf0Jj
+56Q41bkHqEF5446pGgJ6Jj
+570Sgf1L12mIrag2hICI51t
+5712We1FSa
+57156tYxJ163
+577208620tV8mWC6Y
+57WA7Sm6RuEiouyjK3
+57vi3IQLIES0Q16OTuiC4Hf7
+5844aXalb33GMTW
+587FWG5e1NylA0SQD
+5882EoppT
+58M3ixFwbF5TH4x1FxFr
+58R6lyHwWi8r
+58Vl5WFf8p
+58dScG1eiYxH
+58hP5c4e3S68K72k1tO1Edw
+58xyX
+5AKJ8et8E642uY4j6b
+5BFMY8Bb582h6
+5BO6u6
+5BQei07Qp1B1SWD08Nf4
+5BkJb
+5C26Uu6I1Dd7e1xcwSi0FR0
+5CbP5V2x14qPOqL3J
+5DDtS4Q
+5E1p5y1HXY82QUbObgeA
+5EK347RAoD0E2pw25F6Q1mFC
+5EOwuCtm184
+5EjVb30Y5
+5EkunkVdHYCBxI30D36L6oM
+5F31f22Fy1tSMjqt800
+5F33L3INq76oh68VPwnc45B
+5FD1Pq2Me0754jnw64jq68
+5Fytvc0SA8G48x0B
+5G1Xp277YJRklEO5kHx
+5GQ6Wm675hwy3eAq3m6NGCUL
+5Hc2Yn58
+5Hy1y6
+5I8oh5Sb56pDl2V05R02
+5Jm0c0pa7
+5Jwa8e3
+5K0nRX6VFCm
+5K4lM3GNCDNNA4H5H
+5KKYrlH3cWSmFE56X6tP
+5L4I0gIg7R5fM7
+5LI5OsAUx5KfqojNG2k
+5LIO05T80cT
+5Lak148nw7OyU7Q
+5M28dJ734D7fDRWCQbOnb6
+5M5i18Ol0T6u
+5M62EjXtos2G
+5MLQj
+5MU66wbAk41JUMg0055Nlv
+5MXAF37Wk4503wh37YOO56
+5Mh0fckJax75u8dlM7w
+5N2rSTIXMp1
+5NM44RohO4r6
+5NWKJdl8j26
+5Nxj5JxuW
+5O4amH0XK1mu8716
+5ON517IeD8XDLAhh
+5OOnLN015tAyeCnl6
+5OcrJ
+5OtqBAUJVYmw824aXp7
+5Pg84i1bGapv5qoYCrtvV3VW
+5Q1O33oqrTMit1GsEy7h
+5Q5UxO88
+5QLs0LVK1g
+5QXlOox5GF
+5Qs1U0b3B0c7Le72Q3537o
+5R2j1whJ607JG3J1M811
+5RSKya5o4bhQ
+5RyN2I4gSo
+5SE7y08pr6GCv576W8724G2V
+5SJ2q18tk53g4SdDvlH3
+5SUwkc
+5SfTfH5QcH6yN4u5K
+5Sig5dg
+5T0k456v4
+5TI6JBd6
+5TVADgO1Sm3
+5UakrIuHrVadic8Y4C
+5UbQg8TK4M8M71HeMyjKE46W
+5Uh3u36dO
+5UuE7jmo6vi40e7
+5V14R7pp4m2XvyB3dDDqgxQ0
+5V15opaByT3DY4
+5VVjy5IoG2Cu2GcdHEU72qsu
+5Vd7QcLbL4c1d3Xb38G
+5VexJO
+5Vypcl14RV5OcLe
+5Wn74X54OPT5nIbTVM
+5WnxPBNK2ltE8V25WkKgr71
+5X8nN2cGsveSou53xnr1V
+5Xab46Lyo
+5Y2H4C4
+5Y503avvhX3gUECL3
+5a1WX31BgmldK0J4F6DAICMi
+5a7WjXX5w1bkc8hv8Xx5LM
+5aKn0fEo1T28d73Ntd8DN
+5b38BDVq7FrK342c0iI2w26H
+5b5ILkyshcQJ04
+5b7222ls0wgFVAff7D
+5bE05Udr7Xm
+5bd5T5FEdOrYRW00bvs
+5c5pKk4sUhqMX54
+5cC5thW3jHmOE06MRNc
+5cD132LLXI13CK5eGM
+5cEU055y5C
+5cN3HGI4KhCrP
+5cVgjDl5Vs7
+5ctB5Don6vvjSc6a
+5d346Sw21w4
+5d4rPb72As3cr1UU04go8
+5dENnx6VjU14iaLFV0IR
+5dSXoPq2rsu2WRNG5T2WDLgQ
+5dy3B2G0T18JX
+5e8nU8q6vy6hcskp844R8Kt
+5eNS6
+5eY1KB3
+5ealv0e6tmDnoS0bOmX
+5f0u27Q1PvB1gCMn
+5f20hgbl5yG38L15f4m
+5g8SC6Ol3gb0433c0B6
+5gOeUOB
+5h04mA3qHKIDx05St0NNx
+5h6A0ennI
+5hDJVR4lj
+5hnxP2wPy2xu
+5hwHlC8uO8
+5i22c264N0CF7W
+5i7MvTNnSmh5nvP0kj
+5iRDem4pt4
+5if5K
+5ii2578DCFrCPlxlw1qa3p
+5j3588UoxeUDcD4tg5vH75W6
+5j7GJ8OCXgMVIcK7
+5k53084hr
+5k7EVDst86qAgdJaC
+5kX417RB64367vBw38XVJB44
+5keIL
+5kiN628ldFC6
+5kpmU7nYjC6
+5l4yXhHX0Y1jgmw4
+5lO3R6cjxRdsCi
+5m1276sq8QAT2
+5mGEOMBdF680P2jD
+5mOUrM8o4W6A
+5mPiHh
+5myx87LGMU
+5nA54
+5nAPf8Jm
+5nDHTQtR7
+5nV8bh0O
+5nXLE
+5o8dPu1J5lPI0
+5oUu102B4tP7
+5ocI6aD
+5of6ay
+5p6D71O3t2j4Rjkiv7UG
+5p73w4mBKifB5
+5pQgNc6aqws4H4mOtk4FIX
+5ps7e8
+5qF06th6U7v2nLJ
+5qS5Ev7u3SoIqva0jurc0I
+5qlw1VJGq2yHFBrf14
+5rvGhuUle
+5ryBb3VcnJhasRP45
+5sQ4qB4ML02YI5Jo
+5snabe7BNqKyRv3Pel77rG
+5t6nkDHD1Ls8012Cg2
+5tP1Y43S
+5tdqo738BN
+5u03Le2wIj
+5u0iXh2Y84QgUXkfi726oF0E
+5uu6IvJTmY8N85kdnn
+5vYQ13d84b7f1326iS6
+5wf4DOCHD2jarRA76GQ6dX2
+5wpDt358nV
+5wwtFk8g4
+5x611H4wu3oJ8WU5Rma
+5xFJJo8XfL3P4D0F8urjoY6w
+5xVb76eiua8
+5xaNVvLa
+5xx1I7x0xtC4LJ
+5y65rNnX4IsiQHRe8327
+5yFe2HK
+5yInU8IMwclXc2
+5yLXtQjDD
+60041SoajDs4F2C
+603r01G4J
+604G83753
+60KqhA
+60M56qKrd2j
+60NH2a6SQ15c48rbXckK5k8
+60S63VPytWwf5Hu6j75cHa
+60Ydc418lOl284ss63
+60fNYu4mIaX7cI4y
+60h3hwpEHd7ay6THn
+615Mv
+6175g1QUr6
+61A6n4nFNN1VFalcB
+61Oa7M7Pl17d7auyXra6
+61b7h3g8gQVJjx
+61eT82N24
+61fdP5u
+61gE6oOT4E0G83
+61koHg
+61shR2LjQ
+61u4nyOWkEKfsnkFsDWYr
+621A4nD7wucvR3o7l0
+6238rs225bo0RaTw5
+6255bIgnJx36iq1nNFiQ1
+626YHDK48bST5D6KNHL3
+62JFFg7GbAn1
+62Q7DRed301Gx
+62iCPoy17
+62vmI4
+631404U8x6HaGp62LP6o
+6317KIB8strmpE85j
+636WDH0
+63Bc8F
+63HcQ7E3o2M73mtoUlsr1
+63JM3G76qq1sB
+63L57061J754YaaV
+63QHPb4LMH52Rr52
+63Y5AC7
+63r768eM3J1AolawQa4m78J
+642LsMiNArr0ufitL3l7RCU7
+64BdFi2c15JM5X17
+64IHiaxNk4lo
+64K51WMTs
+64Voa783jTa3gYtxdseMb7
+64Vxl8QS
+64eh17n32TkR5g5bvt4p
+64ivIAGCT7J
+64ouy
+64r6E
+64xc3K542PGU2l2
+6502UQ2Jb18nD7kNw
+651R8MJPy8jvOnu3d
+651rcX4uUheL07lI5m7
+655LE2hp0lh
+658SAQuUGC
+65NJ5u6TD716OP4hB
+65VIeeMM00MHr8I0
+65g3I051uQt48Hrs
+65mIi6OLkWrv1iSiM1wia
+65n3amk86ayb7
+6648LI57SdO7
+667DXh55Q45p77fOJ4j6
+667XJt2
+66LF5V8Q27044V1J
+66Mx4v
+66d0I3bc84i67ItF682yp
+66r78Ydee71CbjdYC4AJ7p
+66wWE8r6
+674ILv3V2TxFqXP6wSbL
+678iebWrL34TlW1
+67CifPaaWjudYUDTB0IU
+67LS2DjuCX36e6t1m
+67NuMjv428MRK7O
+67V7N05VD1IM37
+683xqGH06ttCI5q
+685RhQF6ctilEV3S2h
+686HHW45wojg5OCxqdn
+68QfqfP1AK8f8
+68k8JcLTRwf8X2P7nE4X
+68ri6
+6A176GMq3e
+6AGBVrkVMspguq568DHw8r5
+6AJtt50DqWDaDKY
+6AmfdSoTPmVvXdgM8CP20sx
+6C4m8
+6C5aLN4wM0
+6CwqchP12fO3J5Y
+6D3WT
+6D47xA0FaDfy4h
+6D4H88YldHdj0
+6D82psrBv0Hi07o
+6D8Kub2t61I80E6Qe8VkYW
+6D8pQ38Wn
+6DH2dA4
+6Dnq5hvbkk
+6E5g66uV1fm6
+6EkcHQJ8dg
+6F5nuSdvKK5ny2E7BF2j6
+6F6R3hOO17jki175
+6F8wR45s5ys8AkrBE17dn2oV
+6FY0I4YdYA
+6Fd38ih
+6Ferlt3M8
+6G76C41KuHO5okBwq
+6G82mK8omEjd
+6G87V4
+6GpbwQ3mT
+6GvBv4565ks
+6H2gys6m6qldIy4bENoFI
+6H463iHBu1HNq3oBr1ehE
+6ISl3L45y5Q5U57op34v88gr
+6IVP5k05jNwj1Jqr8UAPD1r
+6IWllEnT
+6IY8ud47LutPL77K0
+6J2wyLGv
+6JLTA0I2Jx60HU470LO
+6K4d0il
+6K78X
+6KG7M5SbVWfA8J2wYvDbR
+6KRNb14xEP
+6Kf33n60w2Roh12vlTn
+6Ld4Q60l3KhhGt6
+6LrxCc20102P10n
+6M744VRsSH88eIrG3i
+6MS6smd0Rcn3ld
+6Mf2X0s3
+6MmsFsevV
+6NGoA77CWv035qcLG8O
+6Nv48811uGNPQ188I8o
+6O1S46uxV
+6Ob80MBP350rI275
+6OdmC8H5
+6Oum3ppGek741ab5d888d2
+6P5hI87IBw5BwP4T36lkB2
+6PO0RC7kcbOd
+6Pkr6mt6rI3Cno71h1EPb
+6PpbCyjf6c88b
+6Qb7hMltqN0MY0xRf8
+6Qjs3Ih3xykeT0
+6Qpnvx8GDLewljdK15rHn5Ur
+6R1Vtt
+6R6Mcd8hW
+6SxF1xVO
+6T3G2q7oM51doi66vO
+6THl7n0OK0Eiq7
+6TgaX4LO
+6Tnr41Pj3OS
+6U50ut7NIQ
+6U73ihbtbGkqB
+6U78kBJIpi8IK
+6Uags1mv741m620LKQBQ75n
+6V57hA
+6V8Ok8kTDSE86D8h0q06qi
+6V8P632qsh08uP2oc3o
+6Vi2T08qV
+6WRFtUnuF3scFWKkY4h782J
+6Weo4BXewS0
+6X5JRqA20OBFr
+6XR3D100e
+6Xh62epM8Akab
+6a2D5K5rTI2Q2HaK3v1VO5F
+6a31r6b28cEO50W
+6a421YV
+6aOBGB8OUjUW
+6ajiL10gD2Tr8
+6atrHPq73d
+6b72Wg1nICD
+6bO0XXrj
+6bRSgHOELMA
+6bf1hDU2gvI
+6bnEapMI6L
+6c6b1XPMiEw5
+6cb4K60F1fHx0BTu2
+6dATrG
+6dGA0
+6dmGc73H4C2jRXnSi
+6e5Vk3f3pMdefo
+6eFM3n2MB3pMT5
+6eeRVS85xD2q6Q8356
+6fB40r75kxeX3k10
+6fPk0A
+6fRvRXCD7GeBiEK2qfQC2Yf
+6g482F6IEbD2mKeLE153e0w
+6gG4WwoSJ887F15fK824g3e
+6gYlws
+6gn67gaXBQowu43N0M
+6gydmP72Cl38jkVsB5I8IWj
+6h6Kk4v030PNPj3Kc
+6i3yr5yS8g5fm8I
+6iN0jrPL8I11
+6iS3rFP5FLlyoojA
+6k775i02NM8tHyWkkUSbb8O
+6kT46TpQ0yPY0
+6kTCAoN08A
+6lG12Lw
+6lcf7Qp
+6ljwSqpl7n47
+6lk5XcgAmKuHHjg
+6lqfp6xy7uLrK1oqee
+6lv8V
+6m3p4wd4i7GCSm0PCO
+6m476JFPvAvlp7KTyU5C
+6mDJr6FCiu6d12VCj
+6mQ6vL4d
+6n3S324AM
+6n66eyH75yp56c2PdxQ
+6nhFMfJ6
+6o50QhXglfo0TlCF
+6o6LI186a161V7N5UJ6Sp
+6oAU0mBFKtwXOIAp7Yqi75H7
+6olFV6c18IdYv6pBJG1
+6p0GBdNQ2l5m15T
+6p2vWrdBsj30fSy0c7o5X7m5
+6p53xRtJ
+6po0G2233TEv
+6qFCTec4H4fY5YnL4esu7
+6qdYTwkc3L5LGy
+6r3F47uD4in2
+6r452KVx
+6s3xvhV71f7c6l0Y8
+6s6m3UL4WP00J7qOQ52h7
+6sB2kOb37
+6shc3Y
+6sv3ND7cm7oj62dW5A8ms
+6t557nSSrg1s0Q
+6tEhc2NS7268Tmn2E
+6tH7O0gw0gJ
+6tVht52PUI48RYfv5
+6tnH37n7Ow3sLtJBwoGs
+6uCnyE0GG6807Sm0Q6UyG
+6v1086YVc6I73mp
+6v614exqRd6KU
+6vl6871LI44R1g1A58lhDH5r
+6wSoiDE22846jIPRH87
+6x1C4Y57mY3
+6xm3103e5OE0C82nL3G
+6xn1INe8xSG0487IUAaMYRH1
+6y204sjgbO
+70070HP7Kb8Lrj
+701CeWq
+701s1GC02Pver3F57aj20e
+702XRI
+703Y1U84Wa28ryl
+704TqKdO554m38WDk0W2g
+707R5coSE4fhbU4ptKS1Y
+70X2iduWv1bEM21785FOdY6
+70a3Xg
+70ab3f1kT2bN5F
+71027fBh8760gbL7aF4K
+712Lg15d315FxK18hTxLG
+713lDu43
+716Tk0iWs7Y
+718J87Xo87S0x7
+71Jt3gli42yRhyWk0
+71KN0p4NhE4xm4ixm
+71L3HdDt342V8ky
+71X501p38PuQ41j
+71rC651of3swM7w13027216
+71xiJm
+720r2q1xoXc3Kcf3
+7227l
+722i4VcO4A373
+7258G5fYVY
+72F3g4s43q208a2
+72M1iL43IC7n
+72PfIF567Op
+72bY12xdTJH3jnIsdW03
+72dKfCFk5Ec
+733cqp8GjjmYR84G7UyWcOu7
+7342q5oFQL8QIl7cO
+73JSh62cDpvx33obP7c
+73m0kME31orwbJhm4
+73xdw4X
+73yDbT5WqsMNEB7FmJ3h
+743510L4r5Npy
+74DT3mMTYm2eEjo3
+74KfTA5ji7V0
+74Qvx57RdhAO3v4JB
+74VDRA6
+74W3My8nI
+74aYA3Gbe0GnVm6lR3Vjh
+74bXXWTpyU68
+74iV6r7bnrdp03E4uW
+74nRe6WYOO7MD7632BOS
+74shmoR1
+74w2cGm0
+74xX6fg
+74xqdI
+758SskfjqM6DdFRN0a
+758jnDonq2KPB3
+75I0sKm1yRm4x181eDLU
+75KN62a2iAf0j5Jol77wH7
+75OuwM0O3qDy
+75RG2c8
+75UKgd
+75Y6J
+75bFXC7TqGo1SEaYAx4C58m
+75cBSvBTtog25E28v
+75nB4HFf6o8qwf7gRdfNL
+760H6
+763gCfCExoaB1yJmP
+764u1WA24hRh3rs
+7660JjSpC0gG
+767fOfF1Oj8fyOv6YFI16rM
+76Gi03D76LwH75q5Qm8641aE
+76URYL8H3
+76VqjvX6hmnmvmDWOa8wi8
+76Xl5E7ttiejsqcvfJmtNB0
+76dOOD7kG6dtWnpBjR8
+76iHNk3p
+76vQ4v6BuhJ401g6U6
+770y82
+7716wo8bn1
+771j7A2oQyUEA1gti
+775e0LbXs7vkg3j8QSEnc
+77752s462NM3V5Flwuw6t
+77E8Xqg4LgN6ShBGOC4
+77IBEt1Or1c24vWPvigS3w13
+77U1exR00smD242q6fs8sv2
+77WBDf3sbTiSpv8SS4cp
+77Xe27p0
+77jNF
+780mFMK0kakDt0nB
+781UTqpT6gVs6WA8
+7827246tBw33
+78BOELSKlk1as7F
+78J23v
+78Ls67c
+78Mf2pj8fKk5Sq2L8
+78NRspEDoL7
+78P3GRrMus
+78Pqc5
+78WeV1A4Fuo7mPSX
+78aNdayQnTX1e13sq1Bn0Y
+78p35uTby
+78sBmK71Yt0F5q3
+7A80ue3836206PwI4
+7ADE3U3HRd8aCc
+7AJH2574A48M0I1wN
+7ANVdSdbl
+7BhEv636HK
+7BojnC3DIBmmGo8
+7C1L24VM7Ya
+7CKu35ao6U121E3o
+7CMoc7AjVxXnpchvH3
+7CN6Umbd77shwU0vM40
+7D436RM5BwJ2ykbsgu
+7Dl7rr2aa2bfovt1yny5v
+7EOTdCSaFwhwSd1xuwGp6T6e
+7Fu3P11UxJJ101
+7G06EQdECMJ7l1oW
+7GCfB5odqYDW1gq7iBWJ
+7GFyG3
+7GeACqY0R
+7H4jdc4mIdrlM832TaQVvclh
+7J7jjIVHSIjGh4oEBsox533
+7JDt8xM8G778vdBUA1
+7Jg216IPQ2H7
+7K7y062ndg5aRSBsx
+7Kp283Fa5
+7L507r40AX3T6mHaO8
+7L6td4208eOQ1Kvq220
+7LdfF1415i51qpmHQI
+7M515cSr37Sj
+7MHXQ0V71I
+7MJd7FQgF0U2O
+7NSlm
+7NgRlBPxMo4
+7Nu0NxOnHSsecxU56XQbJR
+7OBJ788LeOqT3GGdn5QOmP
+7OnIvTMO27Hksu6
+7PE3Nv5LTl
+7PdUcgGs1W2es
+7PuoKiD38nQmIK4T
+7Qi7qWR73P143aR
+7QlOGyGCDX8Prdm
+7Qy0j102iq4kv45G
+7S271S3
+7SDjFwa2o2KQ5FM43l
+7SND06C
+7SNpQFhk20XW6LON1g
+7SVXqa1T1
+7Sb0367
+7SchQY2j74BW7dQNy5G5
+7SgB6fRom0PLEjCH1
+7ShU45Cr6l8
+7Spfb6Q8pJBNWi3T
+7TSXOfbQHsNGLE
+7Trpkqliv5w
+7UcmGTD0H3teObxa3PIKsChx
+7V65Eih84lc86QMJ2O
+7VFqt831tqF8B74sT06h5
+7W1JdVTdYHJc2KMvx6Luj
+7WLVW6F4h71Dgk7
+7WYO11kWn6fT2pOlh5sTDIwG
+7X8C04JN7LRyG
+7XhwAvjDFx87
+7Xt47WK7fF0OYPUVU3Br2d7M
+7XxsQY58e7QTwB83
+7Y00tGm
+7YJJ1NwK3COpMARUo
+7YdpF7T2
+7a44BmyY6sULOArK1Jv65nnn
+7afdC4616LFIHN
+7aiqnEep0bBDD04D370
+7axyXd55ji4n
+7bD30suWFdI4o5Jp6m
+7bO18f2QAcD2
+7bj4Yo7E5XDT
+7bv4R8
+7c4q8O8ft1FuY1Mbsme
+7cyjB646NeRKiJ2
+7d13Iix50R2X48opJt
+7d4b5KTsS62wJ
+7dqm3Oc6um
+7e6ntfBnB0m82i6k83
+7e8cuG44
+7e8m5J774M2W
+7et28dsw03son237
+7etT21xSNx
+7frh87sO28DX
+7g13w40lHv7wDaf1m4MQ8m
+7g5OT6f7u1A30FLeC06sv
+7g83b3nl
+7gGmkmKO80vxDN4
+7h2kGPt4
+7hCJ5yJvt0775jjgq8S0bX6W
+7hX1B0bSs
+7i03i80
+7i7FJDchQc1
+7iDJPlr1E85
+7jMF7DI2PbNDel6Lm54C
+7jtP3C204M33
+7k0Ypeij4V2jcvT66TW5
+7kSDl
+7kSfXX04U3
+7l1OMS06fGPw
+7lsB56s1512O40v8Lb7
+7n7CK4Pg11vhm6ax3H5
+7noHlf7x0E4t
+7o0LS1
+7oGCjqpW2HtYrd6h2
+7ois1q60TPT4ckv5
+7p5eY6u03Oc
+7q0iMi2GDq0Q
+7qAUegnj7P450rLp6
+7qYP01VYV7LgSn3bdxRcv6RI
+7r1Q4v63c47B
+7r8qT5PoU0hvo5wVvwMwR3
+7rV220ruFc6Y3LhE0
+7ru0ySl7vhRybOK17h2I637
+7s6O45GD7p4ASq08a26v8
+7sA426CHy4
+7sm5h
+7smvc50Lf0Vc75l0Aw1
+7t7tL288aFIHcovPB8
+7tdXvglBVQXI0
+7txJwfuE1675k322G6
+7u351EK474IcTOFW
+7u65oy5nW8B
+7uC1DPghO17iHS4
+7uEJE7MbCywRC46tr
+7uXaLmLAl6CsJ61pC14htB1W
+7uhFTn8OiQ
+7v1FU
+7v3bUgTi6IBDVdvyb6sU
+7vH6I81S0
+7w4U48Dkch7l6d2sr3PpVP
+7wH3hBKdO55Xq3gEEe0
+7x1m6Q06VGAwOm34m
+7xINFn3pugc8IOw4GWi7nR
+7xY3raCHiT3hA
+7xh48cBvt34812U1at
+7xo2E2XiGXV0uXEfBy8p2o
+7y06q4eHWy
+802oI1
+806X4jKS0Lo7cO
+806vT7T4G4Y4
+80EcbF3
+80K4C
+80U275bv
+80gvNBSa2gsK
+814ktH55a87815v563V81C1
+8166346wkHn
+818vxXu11
+81ILAecf7Pp4
+81Rg5rR0IaInWw
+81TewRpuYX3
+81teE8XJM6
+821UdmGbkEf4j
+821c2733Uja2E3kEtAX83c0c
+8264P8f1IX
+827237W7G6hlU0Y60L6Sm8
+828DT2lU8KStt674pGctB52
+82A762MP5i04n3Yn6oHPLn4
+82If7B6m5DWsXE8LE
+82LYD2g04BheHqsm0
+82MujA
+82TqgL1CXYgKl4
+82V4K75apw
+8308ogefQEebr48
+833RMHSwWvEg01S
+836DI5VY12j1Cd
+83bn3y1
+83c65JF048U86Gsy
+83d6qEj647pMQC7
+83lsq0C1IyG0a0FauApW
+83tP8
+840ng7eC1Ap8bgNEgSAVnwas
+8411i6
+84CIr82
+84HS58kw8B32q717TMOCYKx
+84L7MdH7
+84O1C65C5k88bI7i4
+84TvhtF
+84r3mGgD287JAMVv
+854W2USVx2swYb5
+85AFBCqB
+85cpPHm5B0GD
+85s4lIu161r
+865ub2nreG8h0r7
+86C34fOeI
+86CWKiqv
+86D3lv
+86P27LE
+86S3F
+86c88IWA7d8EK2N
+86o66
+876nMq6Po0d428mkF
+87Gan1I33d5v1
+87SexCLsDwtqFHL73T6255
+87oee8IK
+87rDPuuSqyt2M7j16nOitai
+87y8G77XofAGWgM115XGM
+882D66N7Q73Uk21Rh3i3Hu
+883d6jHJd20KHEEu0R1Kx41
+886wwGvXf6
+88FnP7ihMB4f88TJN278CT
+88G108W
+88Gp8064umWOY
+88RyHpqWAT8f71rv0
+88SB8
+88XSe1n
+88dJOgqIlfUA411
+88uIRN0UF3KgxUukV7l82nN6
+8A3dS
+8AqHq
+8B1e0uEbua066H8dUrR742
+8B7U2E2o5byWd3KV7i
+8Bshk4eu870M3VyJ8c4D1upr
+8DiQ6F8xlhM188R0eyIOb
+8E2EQRxxnb6ejKo5
+8E57cicQ2cn6Ld
+8E6m0haq3625pJ32EE
+8EGKOm
+8EPG0Xi307qd
+8Eg3VyND
+8Eop5f14qyd5QAN4v0sR8
+8F0hWV76XxO87NUJ7
+8F0xRJ8Cf8S
+8F3j56
+8Fif8LgR5X32HbH4
+8FkV3
+8FpQRPC5B82ow502W46FQB
+8Fx0J88
+8G78nBONNQCut4hVOKki
+8G82H54442m0AjgH3a4h
+8GIqX3tvNqrgH
+8GloEukQ0c68JDmnYL53
+8H81KcrcWG4xB
+8I1kuCMp7I25yji
+8IcQ0DU
+8Ie6o54y
+8IgBmN0xkLDIlj2y
+8IkicjRJ21c054Id
+8IlM1oJ7KSGx6hU7i6
+8IpUdD64akX6LGbx
+8J5OB7K26PEV7kdbeHr3
+8JNVrH3Lasa826
+8JNt8dc84gCJC0tN
+8JUFg0n
+8JUh1T63oLSOUc5UpCUFO0K
+8Jvom23dkWvvqv81DY5Ub3
+8L3xdOeN
+8Lh4G52x4
+8M42dX6x214GLI
+8M43BDUxQ2t5
+8M8BPR10t2W0ypOh8
+8Mp2JEiFxAfApNR
+8Mw4p5Jvd
+8NNQA83qWu5LDDj02
+8Ne2K6rxP6Lllx1c
+8Nj7qpHBTH1GUkMM1BXr2
+8NjevW2H3Kjnws2iC2qrom
+8O6hJAm5RYLGl1
+8Pa8a8MJ24
+8PpV88OGb
+8Q14Obe1sC82s2s10v44Pb
+8Q4H5tVMm6r
+8QWCbCQMIc3bsI7
+8QcNg01GEF
+8Qr143GYBM
+8R3EG13518F1O071Xy8
+8R6D2RO65Eml57fKYNV667j0
+8RYSCOw18284ncYbFjG2kq6
+8RbQ4MgwR
+8S7pAI056
+8SGc8Ly1WTgwV1
+8ShAFcD734S8Q26WjMwpq0Q
+8TM0eO67oHDf3spTRmJ8k
+8TY873CPrH82JPwf
+8U0bLsWq8444DJ5TW
+8UL6BjDVbGE3B6tlmdeP52
+8VOMo4k2fVr88MuEw72V6N
+8W3527304W1WeGNo0q12l
+8W3nO2rOr026L8
+8WC462P3JLhaXTN
+8We4u3732apuHDPV
+8X155
+8X8meHq2tUPTeP
+8Xmc82JogMCeiE5
+8Y7yHw
+8YHG1
+8a6xVdr21Uy
+8b1rapGl7vy44odt4jFI
+8bpqjd66y7AER2QoK
+8bq4WFH5B3s74f8yk5iRT3
+8cC24gh
+8cjN6m1e
+8cn0K
+8d4D1
+8dDe31b5
+8ddUotw
+8e5DWN6xSnwJyy
+8eBnNbUAGV6AAAshW
+8eSO14
+8eiti74gc5m01xyMKSjUIx
+8ev7c4JiIUUM5R8yV30
+8evw1sI852U4bid
+8f6s7W5E4823
+8fILes
+8fjJStK8D7bsF7P3d65118S
+8gkio4o1
+8h4gdqCM0H8j1M2M052hSHS
+8h8C80lK4l6
+8hI2axJ4xQc2ilt
+8hMHl64qhfWSdC
+8hh0tf6iia8rV
+8huHS0jX056Ukdx3
+8iF83
+8iHtdkJ6d
+8iX3Lj03
+8jE8SDSLqc
+8jKISHtr45yX5sUE0FGdMY
+8jQqh182kkY6
+8jjmTVU3rT
+8jya8308Md7
+8k1748I2BIW53LK8dmc
+8k2NIi3tY7t68
+8k5161277021n
+8k6Lo3U
+8kCu38T0uhtX8TsI0t
+8kGcCA5
+8kq3a2DBcvac7BwtO4
+8l433e5J6I0fj0PM
+8l50D2mQ2
+8lALowC26N0kJ371
+8lAl0YbpyMmPgI
+8m6012
+8mo3htjWw1Pxd8A
+8n431HuJF6X2x46Rt
+8nHEnu
+8nU3Geor45VFUs26
+8ndB1604
+8nrs8SX553uTd63hTJ
+8nwQ8LI1TiX30
+8o0l440qDP1
+8o32V0Pboeu66dD
+8pRkOXod8QLx2jax3AxJ
+8pbggxc
+8qG35U66qmjIeLy5Iir6Yy21
+8qVY4hgVfu4JW41cTi
+8qhEui604mB8
+8r2TI3Svqra1Jc253gAYR3
+8r4JLW
+8r5uX85x2Pn7g3gJ0
+8rac067JIBxRah56sw
+8reJCOg48gHGHDs
+8s0kR1e4QVV7QO
+8sGhaa2c
+8tF35fd8P30QE4nDj1YkEj
+8tHGDS0N2uj85
+8tL4e4XE8jF2YLJ8l
+8tVuiCkFtGW5KX
+8tw6WvMeBl
+8u8tR858jC01y8Ft66nYRnb6
+8uWu7hh467KSMsxmX68
+8uc06Qq7RP2P1RAf
+8v064ye21c
+8v0iU4C
+8v3M46A
+8v3WfTYF315bFL
+8v8D0Sfhscn45vBdn6H
+8vFbY6BM35cX2G
+8vKN51JNM7
+8vohWoS
+8w25qduHs0MI5K33SGY3
+8w7oRLS1
+8wc23uR13Fu23GVUp
+8x0kI0603QJ6sd0404n
+8x2RxHAY2Y
+8x33aIF0uGR
+8x6mobxQl6Ef0Hl1
+8xFru
+8xLnT
+8xML5SQm27gN
+8xij3lSDUdgO0kEVm2Bw8JRW
+8yLnMOGxRK4e0Nff
+A063k5
+A0A8SL0PuOtjj27670
+A1g0Myv7
+A1g358aWFHPT06lWjso8OeQ
+A1h6G3bgyRxxvyhyWhVL
+A2OkkG6xRsW2VXqggE
+A2PcqxNGNI
+A2REERChgbC5c4
+A30e7a8ia36g25YQc8xTXBgB
+A34p7oRr2WvUJNf
+A36LkA3imTr2tB7b
+A3lqQ7ei3m008SlRm
+A41x50OQPCeiC0M278DNC1LC
+A43eyp8856SP83
+A4GncFvJV8J2o0
+A4Ja7hpu3tCJx82
+A4T1b
+A5d3WY0X3i8b
+A5hjodl6Y
+A5ps3gmcx07K
+A6CX2HDWN8
+A6F00275L4jx8tNc
+A6M1di6LUH
+A6RKQvA5fWw6
+A71P2rA
+A72HPe7U2Ss24o0mmt58YXMm
+A74OqWUyE2kkH1o0Y
+A74P2VrP7Ao34C87cV8634
+A84V2Y4A
+AASM5H55Q142monqAx3u
+AAeRTP
+AD6Wgeg
+ADaW50SE6OE3Y
+AFhn1et6NTnUO3F81D1i
+AFv66x72c72hjHPYqV0y4Qi
+AGI4mak
+AGYktyr3k0GMQx7bWp
+AH6e820tOV6HSThd30w
+AHd7wkKJOW0oL11A30rx1
+AIIfMPtsjP3fDtTNKxGo17Tl
+AIqMWf4G31cTSrfl1M6VKm
+AKSumJy2fP
+AL03kjYOWmhlSL7
+ALpMVq8Q6P01w6
+AMW7A
+ANpel663M
+APvOgiDChph5N
+AQeg2Ym4L
+ARECS
+ARhwoFDQ3Q
+AS86Ghu6q7
+ASSe7kYrOuU1RY5xfqOu4
+ASm1a20I155Y
+ATiN8ic3g0Jv0lJL0
+AU1Wbf
+AaE3g
+Ad4KRAdOpE25j1BV
+Ae8v6oxYn77701gt
+AfW67EWaHMIQ7yvfqHRUwB
+Ag7jo42O8LQxbFwe6TK
+Ahnqoop12M16YT
+AiTECUywimGFu071n28A
+Aiw4841qJ03Y3Prap73V0hub
+Ajte53RpwICi8C00IAY
+Ako362FErCK8F2v31h3Ns260
+AmPHc4NUg3HwJ
+AmSQty0F5Y
+AmYxfSOBdJv8B48l0VAeeI
+Anj0oF
+Asb78n5F8touWJspj6y
+AtJMWIQ0TN4v1Vrj1pHI
+AuQ7FrUgXua
+AwVW3sV2gsM
+AyLa71bfxi250l8A518jspLC
+AyXm00Txvx0L5CyvWXQtsyAG
+Ayw2CUsH0QjG64m2cmDy
+B0As0723A520pE
+B0bp3
+B0q1K7dlcKAC46176yc83
+B1NGi
+B1lkUgPnf7ddbeKxPOGtP4n
+B21noFx80
+B257X5x
+B26L6Qp134xe0wy0Si
+B2pg4xQ01oKud01
+B350G70tUHdR4F5331F
+B40xYNyR664gLo
+B44Mnpnu1Fv1M
+B4QXimuNY4jvyEB0o
+B50OoxbIK
+B553840U1H2b1M06l6N81
+B5ObAu54
+B5gq0hh5ud722DLrR
+B5ixKlEEhbWPV64wjMe8Os
+B61uSoc
+B66gbJv648C5k08Xvd
+B6Sx6ydj
+B78T0SnxlCe5AQ522GBUf6c6
+B7P12uoI
+B7aMvVm446mg46CL
+B7grxpIo8Tf33RjGTg0
+B7k5EESc6
+B8KDHDSu5H
+B8SW6aM7KrJe07p
+BD5BG4
+BDw128DPSapP0X0
+BH3PJ6Nf5T0Tg
+BI34Ap4r3c210R1UBF6Lp
+BI77180Jc0ga4eu2TD3n
+BIMMVF72hPLrx5b
+BIV45xaS7N41bFOEk0EI34
+BJPV6JwJ8p
+BJTr1JVEjCQMQ0
+BLoMwUJ51ns6pd
+BLyBF45iOWdg58oNy
+BM68SI
+BPm3v8Y4
+BQ60TJs02sdrNnE8d8
+BRL163CF0o
+BRM3geidCoOv6Kw
+BS36Mx2tu76K
+BS8FR
+BSmA3fAai62QpNjmL66y8d
+BT3MW6yT0Dt
+BU3NV3Jv7pW45knPt8
+BV10NpgCXpb7T80Ry2
+BWiKbU8s3
+BYD32YqIWlOgNpL
+BYt5Ww10GR12r8jQffd25Q
+Bb2AdwWmQOcwJhqF
+Bbow1DFvD65Sx6
+BcTvH1XwLh0QJGAU2wA
+Bd06F615GTlaWOiSY2
+Bd1f156OCy1u
+BeCJRnF7x42QV53G
+Bey152YLpPVVmJ36w3
+BfDk1WlFIoug
+BfGE56ef2ej
+BfJ4pWLp
+BfW7r
+Bfp3iMp7A
+Bg2B3Pf88p
+Bgk2cxNJk7f4rMmW38Dl3S1
+BhVBA
+BkB01vNgv
+BkETJ6DBO0vFxb6pd828TtL1
+Bl1vfIc3iDf8iM7S1p8o2
+Bm8K5s1OHOM1YA65S
+Bn7V5uRXt
+Bq245sjauEPf
+Br10oq82CD25XOpViN0OVP3w
+BseYtnk307lA6Q4c1Lw2
+Bsi3VIb
+BtFw6oEqg3wwdU
+Bu1QtYr5sfcMxyD2c650GW
+Bu4Dn5U0tvu
+Bu880nx
+BuPfkehWx0mcq26yta7bf
+BuSLb058f2
+Bue8jN31oeS
+Bug1pfMQCEHkV6M1O4u
+Bw430F8581
+BwXBC7rU57
+BxH575uxOuCE6sxn6frt
+By4JbbLm4g1Kyq67Er
+Byv03ok
+C0182BFsm3
+C03MjgFY8ye3
+C043G
+C0Ew43p
+C1E8E3vVL16j
+C1KV2I0wL8wk7C6371
+C1f7dac7BM
+C2HD3c8PSr8q
+C30EryLS
+C32YIF3mQaXSTkCV8D2u7L7
+C3rew41
+C3s1RP5q7vW4B
+C470S3c
+C47O7D3RF
+C5JS4qveshY7mhNv4W
+C5gxw26dt75
+C60KTh
+C61uNfErrDn42
+C63fh05R7De33TmqtehvIfxv
+C677g7qo071FQ4a
+C6hoSE4L6NCrA
+C71F2Bh8
+C77Mm2Bv5tV32bB3IHK
+C7H805
+CAgHwQHau58X
+CCm4BXjLPAys
+CDpW47u3jamce
+CDxPimlul3S23D
+CE22Wjuk7d20ouN
+CEGOy
+CEIf818kp62v
+CFJ0FK0U143Js1C433sB
+CHP5367P06dFMPWw23eQ
+CI31dv2fj53Ncc
+CJIO2
+CKln3JQk346jaT47ns
+CKu4687wOrD56FN
+CN30RbmhOI5ipQ6x47ca5gK
+CO2Agp0ngS0d6tcnBi4
+CP1IS
+CR57NnVhHbrfuaD
+CRP2ah1peUgDrj750RU53l
+CS7804r4A
+CTGvoAMolvq147
+CUa3sAF216u7IeQ
+CUaLDB
+CV6cC5cYQ7Ybki12sokm5Mb
+CV8faVl08s0
+CXUWPmJcjj88pp
+CXpa3gF20
+Ca1Tsx2aY1q
+CbQNlJb76sx257
+CbULhCEo3m8Q357
+CbbC4f5L6l3L6k
+Cd6HS76Hi77r7YGGH1
+CdOTWH8E2E3POA1pghh
+CeG187j
+Cfcf1e8dF672e
+Cgxm73PXWLlvbIm
+CjC3BPy1KH421o32f8
+CjhiR
+CjnWXicg77g2GwDWN1
+Ck1y00F5
+CmX7o
+CmsLN67Kn06aGHb0nWJrh0o
+CoMlAAYdRSe
+CpJNPe416g82r
+Cq7458Q8iJtn4aq8I3E
+CqVN87Pm5hyraKaq45O
+CqdMb86r52TC3NgM187
+Crlnej6pMKb
+Csi0Uf
+CtU2PW66tBCk0swxglxDIp2F
+CvyRV3W8I3I21kS5
+Cw412mnXhN1F
+CwKybtG8352074kNi8cV6qSN
+CxLLn
+Cxas82oA2hX884xmYQ2jrpDX
+CxevjU4dESW7kcgYUY01x
+Cxv2002dg27NL7053ily2CE
+D02Xb5NBPo58PrT3i00
+D2cd5
+D2s2711
+D300Wwybt50R66GNV
+D3aT0bC8
+D3rrf4BKs5TE
+D40tyXI
+D47gT3qx6tQ51hCO
+D47x12qBG7n82y
+D4tl3Bm
+D51v22DPjSeSplVUk
+D58FB1lUvSdKjxDqXeE17j8
+D5Eid
+D5SANA44B8Jm
+D5sR4yKd
+D63exrPA1TG2XQd6406tA
+D64qsn86uCx0AFCDKU538
+D65SRo
+D6BS618N87J
+D6UtO8l3
+D7G7Ubc64866fFh
+D7d5u8c2q2td7F8wwQSn2Tab
+D7nv643DTrg0H
+D7uQjIbBdnn
+D8uSK63TOFY064bwF
+DB7G66662B588sgbu4tP
+DBdP640m2jjC
+DCDvH0Ro1C
+DGu7ynB5SM3A864nRD
+DHsQn6ygx86F
+DHw7or6
+DHy1oyJ2887Mr5
+DJxhgDD0mIQeDgs8
+DKMC7jIoLI5
+DKu7H1t4Xp7x
+DM3fMIDl770Nt083jjTQ2Uh
+DOBR48RQx025y13q4767snyt
+DP2B8S3qG
+DP5Ce5
+DPdyR
+DPrJ1
+DRodCrmwkH35tuMes8V
+DS4iDURlsq418pFh8
+DTJuXU1T0G13S0d18Al7XcR1
+DU1m68i1Q7W3
+DU7L1P2nx0y6387K6HrltN
+DUSKf88a
+DUxeD78eL1Ci82O7
+DVIFt1UEtwik44e82
+DVv6SE
+DWNvg304j4KTMEs2174Cy1
+DWVt0e
+DWewuaY
+DWxOD6Dlkiw3O5FfA0K
+DX2rT
+DYBN0
+DaV6Mq83h805DSGAI
+Das7E73
+Df13qWE
+Df7N7eedkot
+DfTvU1F4hkNd5lJ4FGSe
+DglR0T
+Dk6tb8PWF643qyp258O2
+Dpx32r5sd2v4Q5rAo64T
+Dq1bA4POpt5yuC5L1t
+DqpcjoX3m2h4hj4721T2M
+DrXH5D4L1gTCAqG
+Dtlr84bf14YfQ
+DtnT3Y2qlp5HYmS
+Dtsb7s36eASJVh1Xi32K
+DuLQkL6
+Dxc5s8wD6v47
+Dy70nFW20WY
+DyDe58BA
+E07SN5VEyl
+E0E7P7p84ltGE4
+E1K2fsDf8P
+E1fHP15nPQXjBxCo3u
+E1iWm444b
+E1pF32w3iVk3Q4E28
+E20mj4rXE8p38WB0
+E4Gnt5L5lB4cej2WU7
+E4JEjNiE
+E4ekAO
+E50C7d53L56
+E50oY
+E5ud7eWss5yUDB6657GIS
+E6EfhWpAlcoU2hr
+E700DGqQTWX5s
+E7T18u2ir5LfC5yywht
+E82GlbIr2v62H5d248gn662
+E8O8814lE4JkJc52Ure
+E8p1D7g26MAGrt616dfRC
+EAP1B57a5132algoul51
+EDEC5l
+EEr7sgEv4lqC76GKb4LI7p
+EGLa1s85
+EHS5Xo4
+EI6S4ARfxC3gTET8r
+EIDkp
+EJPe8rNq3c5piv4
+EJval1Oc0x27mdpL1Y
+EKl0r2F5MYb5ufApRh
+EKsWjbi762Thn44n
+EL8OqvHD
+ELY30563as
+EN21f1
+EO25LXi25UV6oD
+EPCRx8ObNv51rOF
+EPGIl3Mq6
+EQT56g5A73m3j
+ERv3LDq47PD87kYanTw70I
+ET3d4F2I4lV
+EThN3q3g4GbNl1hj1DI6M
+EUl4i
+EV6iD4RKEH7F4DJV
+EWh0x08
+EX3K4E0EI1YiI1x
+EX3gUtFMk1Pnuhs5v
+EXWsAOlGYtb053ExF6u5FLyb
+EY2fCS
+EavI0LN82c3A1UN
+EbLh7DAd
+EcM71
+Ee5lLQ15D4SLNmBo2
+Eg14uIJR0L4A0
+EgNL5xh01N5mU1iKCWKFQcfn
+Egf7KV7TeT
+Ej05nrdc8CVXYu1Axy6W
+Ej1201f0iV3
+Ej38vEPdjT
+EjY6DSn57x1v5h
+EkPP1
+El12E1cY5NV5icR6r0
+El5RUByTr1xve1tM
+ElhqquN7n
+Eo3tUJICSn2
+Eohh21
+Eq4NvWHH4Qb
+EqAU5Jit8kJfgutgf0U7Ren5
+EqUT4hfjoX45
+ErbOvqGF6Yyik074
+Erx54avV3Muo
+Et733lj33Gg5S0ET3
+EtktiuSQJDs18
+Evy38C7jJH13gywu
+Ew6cjg680S1IsOa4ueVQmLBT
+EwBPJgY4JDm
+ExWpHq2H5O0nP
+Exp3Ic8q2g8D2i347
+F08xx7g2V6CB0q3y
+F10SR3l5836pq7TCfYeGrEl1
+F13clAHtHaUN2t6wLxE7S3T
+F1eRVdjR66sHY20F
+F3OEU67i11yDY0Lok02y6
+F3f8ccwGF
+F3u1yJaQywofxCCM4v4jScY
+F3wAY4D4XxYt
+F4FgvW2v
+F4J3N2IsV4JvOl8i0B
+F4e1XPV2Hwg7a3d3x530818
+F5n0SfL8CT53dFr51vvW0S3
+F63t6sNxS3C0yBtcHAUU8
+F65r0poAe2
+F66v7
+F6Gfb3iU850A
+F88n72F
+F8CSOeOY1K85PUlf
+F8D816El20x4myKT1dtjX
+F8GnKjK353rHy6
+F8iVJQQdC6O4
+FBWY8rR466Y
+FBpLbIy1k2Rw44G1j0
+FEefA
+FG0nEK47BRaoVQ5B2HMA6K
+FGQf6n21ES
+FGx13w3IFFT718DDr5
+FIVQ8
+FJfamcF044ljD0
+FKDPbFp241
+FL21OE2AbCwyN8c
+FM8CJ05Prlm
+FMVqyn08R5kuEv8
+FNMnNPw2Ya1NHyBW8W
+FO3Y3Dm052jfCS3WQ
+FO81NX2MQ1Tv2
+FOFRXW66k6iU4jUcdYKC78h
+FQ2113IMyn
+FRrIYhIOx63k83E353
+FU0S1qBBcs7T04
+FUuADXtCD5
+FVq4l0ohQ6VBFe
+FWCW47mXs2a
+FWdV3V4qGH003
+FWwENlTM6u
+FY6nYvlylGTw0vQ544uJ
+Fb2W1r24opqN8m6571p
+FdAhEb7oy3UhbF5my
+FdU12l
+FdnoO3o3TWb
+Fdsa3uDj6
+FdxyM7c
+Fe4Bfs
+Fe5nVb0
+Fg05tGcQqI78e4cgDn538v
+FgJ7Hft6845s1766oyt82q
+Fh0xg4mjc7N4jCrkL
+FhXANp2KDtMmA2gFd778pA
+Fj7LiN85m
+FjUt2ol81V3DS18I
+FkpSyCaSiA2X28rAMNt5687
+Fm50h7GKQ470RHTNW1iJ8qs6
+FmYRwaLP
+Foel1tOTi6t168aeq0sTSY4
+FpcR5Ph
+FpsIohh60Bho67Fb7f
+Fq87rJI5RvYG3
+FqW3gSD2
+Frlb0SoQ8
+FvrWP
+FwMw41y68NnU0FGJ5k6
+FxEvW
+G0PNHsT6RM4
+G0QdT8I4
+G1Av5h73JFU7HEfj71hJ10
+G1E36
+G1u0pUmU6ehCm
+G2P1ogIIyMgo6j2a27egS
+G2s1ly
+G35LCd6yIc0T02l4u7yd208
+G3a6E0Mll
+G3gsRF
+G3yY14P0epy8DUS5KR
+G45Bym22IHR5hd
+G4XIV50v8Ncd3
+G4o54J523mDEWchsL
+G54It40daSr8MF
+G5gF05ux
+G5n81R5jjsG5Gp58vqNa
+G666cWjnfHEpEXGA2Ar1
+G6KW4uOD55dfWK
+G6M7256nG
+G7IJs50P82Y5G4s1nH52Y2j
+G7Ve8Px6a7J0DafBodF8JMma
+G82p1
+G86cmDjPo3
+G87T0sx6ujgM
+G8N7338fFG
+G8Yan
+G8kGyEK0wjdLTlpJp33Jds
+G8l7gR7rrC80rk
+G8prSshTWnX1Aj4K
+GCAqH7rTc5Jt1Rie02v
+GCq73lyB3wuOCajYs
+GDW1pK2834Y
+GEO5N1eUca
+GEwSJy0Bk1KRf1JxHqY
+GFH0nk84rU7
+GHJf387
+GHU6et8f3CY
+GI8y0O4mKt7nev21K4KOt1
+GJdBrSK3oAPYg6JhqnY0Dp
+GJm85Pul65cWoFKG4
+GMmPjjyXyvqt1bpEVw
+GNN83p7
+GP1Kc84XR7Vk10384m7S2J
+GPijCx2T8HpOF1dN6
+GPntPwnx0
+GQnJxB67
+GR340IBvbTi10
+GS7Sinl7k2srPHIdC7xsu
+GT42YMo1UNyUyuh
+GV0Wt1N7Q
+GVsdgDhg
+GX1nfv0HF8O3
+GY0R5v7a8x43DO5
+Ga0dkV
+Gb5w0aja8H
+GbRXDIgHx85Lc2I4F4Gfuby
+GciA5Y0kP
+GclmMLkS0
+GdC5XV8b522xytD
+GdK381w3v
+GdT0mf0U4Q0Mc8AFsCJ6a61
+Gdit38HC7PGtq6N32F7m2
+GeuIPxcBXM3W70cSPfqC
+GfDE41J2VXOw41Vm33414P
+Gg6B3fm2KvV4mnVO08GYQd
+GhpgUQt6bUc8o8XVJuQ7
+Ghx2a1SF4w11N4880KqG5TW
+Gk17JaCg7
+Gk7eAq875sHou
+Gkj4u7q
+GlCK4Dw7uIb1bsY
+GlxQ7y5rMDn40jXcQA4A3UNg
+Gn2Q3q7bvg6J56K
+Gn3vmUxHWNV3np0
+God464085G8vN
+GpPrRO0c420y483T6l52sP1
+GvcXQ8626I6NBGQm4w
+GxsOc
+H1I67eBt4Lj6hL07
+H1V38u
+H1v2G
+H1wKsxw3t00r7
+H25ywXWg5J
+H270yPJ55i1W
+H37833CDTytf1mp4
+H3N013d41ipMop
+H3Nyq7H1t221
+H3bTj310QaL012cPe
+H3fTKUU0Y5gdpKcO641j7M
+H42eLKO
+H4LBA6246B2N3OkOpx
+H4fFjtoak
+H4g4563WvqWkArS
+H4gEuhB
+H581dL8J4qjjb1DAPl
+H5alUwndRKm
+H5e5cVK87a2m16gCSNtgI3q
+H5mOb2OF3E8oI25
+H68KPMRgSB70
+H6UGGj6Bq4n0Dxr
+H718V0l3GE1fI06Kfs
+H7EiGb70
+H7KCa0l6TRDuEG0
+H7s6xH4q88HKL2
+H8LCu4M2u4f1S
+H8MrS6CwPO16RoSj
+H8P4VX62803V
+H8PP4887
+H8dq1J4bt18aF4W48
+H8fHVjq8WdXUE4uRPjnyv
+H8mh48T7
+HA1yh
+HBWrcQ4pLka11738w
+HBtg2r6pR16VC73
+HE362S2kjL1G
+HF2p067p2
+HG52N6amN
+HJPWlb23N
+HLuX8
+HM0GBe1SIB0GMA8274T21
+HN3I58
+HNeY04c4q5MRO524OG34
+HP824Y7lQ7bvAhrEx
+HP835voXi4JJFIQH4Bj24t3e
+HPeuF
+HPn23UupQ
+HR8x5tq1Wv25njjUXp
+HTe03
+HUV1KPXXn5Wvk
+HV2K1WhShOVtguITMU
+HV8VCk6oGdeG71
+HXUyE4BVO5tji6
+HbE35H3mF
+HcN230scg88eow4b
+HcPXG7EhIs11eU4iYK5G
+HcbsR51rXDw7016fVOt83YaX
+He3002YAN1xWYJ5jVWaN
+He570RJQUrj7VmG
+Hf8123hK0
+HfAollgq3EG6
+HfU3sd23vI54H4y
+HfdKopI
+HgP1PNA6gggV0v0L801
+Hh8Q8yObmEPI017
+HhttPdKp4
+Hj3R632OuQwd0r
+HjA52J2d64r1fFmBITy1
+HjNA1CEw6w4
+HkX7hlT2TK0Je7ersfx72o
+Hlf2S88w
+HmBi32XWTjC3dd7stD0GY
+HnA5J
+HnxkMvjEL0rF
+Ho2IJ5Vpi16A
+Holgr1pin
+HpsjM0
+HpyPf
+HqNMKJMV50xDX30GD
+HrSQbAWX2F731V7
+Hs1UjxW81
+HtI02nss6t8S0fqH4vcLkCD
+HuetF38A4rj7w2
+HxBe5ucg73m6
+HyL5Mriw867oUioTmr2SLfO0
+I0ac41cnFsVAkHmhupt
+I12pYjar
+I1MWQo6y
+I1be6JuP8HeaA8UI8c
+I22Uu37618CP747pe5
+I2p1w
+I357kVmhkel010Hs16
+I35E0Rr2
+I3F7N7s7M
+I3XOX0B0
+I3w7NEK56OB4G26h7MU
+I50781U82Bk0
+I5Bn3UVGU8LFd2kl2
+I642k31ww3Dpg87fN41
+I6E1Y
+I6FvRp84S2UGHl8orYl
+I6Yl6OVpH65i
+I6b10lD8IFt
+I6yTE4ellX8C7
+I7PxStf5Gs12BP07FO
+I82Ofg1C8f
+I884R85q1kn
+I8xs313m1Nk0aC4ofVyYV
+IA46V76LhS4etye16E
+IAX1cjB8p2
+IAt2dH2QaCv582C
+IAwj1cWek32011lq1J8mf2d
+IBVBmf6H8vCc4n
+ICHiqYG8Uj
+IFDa6Y1D4JuF50F2su708Wt
+IFW3AU8X61t86CljEALEgrr
+IGG1BJ
+IHuJh
+II1600yobW7p
+IICO3W
+IIX7QoB77864R6qOfLfhNJI4
+IJ8QBH5I2
+IJo7wcG3SrlP
+IJxBli
+IL6Ct0hm2
+ILCAW28PE
+ILH82L
+IN0pT43W73j0viT885YKU16
+INxp2d10SKEd75iE4A7Yq2vc
+IQ22672kj6OBu1T3
+IQnp6a50KF
+IRiw0v
+IU3HcXEu8b8J27ITo8EcwT
+IUtkHTnBRV
+IViYKd
+IW8oEsDH0V0rY5U
+IWNnWp4jmtO78
+IXMkdqJHU46dVte76I3Cy36m
+IYn0ytVO134cGgRH1Mo00
+IaaNQ61LShbK54SI
+IbCc6D7WIC
+IbgbUvP5
+IblvAnYcnAwTiEM
+Ic1W4QSJrJ18s0jnHx1N35
+IcM1YI
+IeE7W6eniofdN
+IgMk407Y
+IifFS03pnGO
+Iit87iX
+IjDM0V0b7savVtf2tbHOy
+Ik28kU0xl50FU3Uk4opJYBA
+ImYiNP1Y0JoBfQLbd
+Iny0u
+Io7Mj0g8fwd7L8b4Di
+IorWR
+IpqVS
+IpyrlcegF4443KoFVNX
+Is4ogkJ64Sqcqf
+Iv4nCgiva
+Iv73gFc
+Iw8wY
+IwT2y4ak76hu1BgGDSKuI
+Iwu3T706wKyBs33
+Ix8dXlDbC3S44L1FQJqpwa
+Iy2ED
+IyLp421t
+J0VTT0R8t1JcxdoOO
+J0XLG7KG22lDNyU0
+J15C2
+J1an665U
+J1kjNdL12V8
+J20OeVpcLCw5DqyWYV
+J25yM2B04A2M
+J2El2C63y31dNp4rx
+J34ijU3243
+J3FC0FK17nbi6
+J3HnM2C4sNnO
+J467JW
+J4m3I
+J54mWKFYUD081SIe
+J637uL7i0V6x
+J64y0E31kLxdtx
+J67TT5A
+J6S681J6JPB2SD6Uc08U1
+J6fBeMaj7b6M8
+J6javud13C2wG244
+J7SUI8OhGQNq
+J84WKCH
+J8p4pS3A8G75Ct2
+JAT5D2Fkpd5FC
+JC6BaR5i7
+JDWi48mC38uf
+JGw3BC7C1R2gjvR02kQg
+JH051GV4O3FyM7
+JHGoQkiiNx0K522UDD4
+JIyVq7kh6B
+JJIVc80Pgv
+JKmY3010a4e
+JL7RPL2daChHQp7TY7
+JLB4Y
+JLB7v50LP4KVsH2or1ih8821
+JLoXP3cQ3g7Fh1kpF
+JM6Axp30xv
+JNvHHPxCgj8DDGXQ4S4J
+JPW8Mvvjq2GJj6
+JPd15l3I6F4Na
+JPh1g4nGHIT0
+JPrU65giKMJpNd0611w4qcF
+JRN4nLo30dv0bRtsrJa
+JSiXO2i7Cm88uXUES6EldW1I
+JSjAUy
+JUm3vwG65q33
+JUrP4
+JVCOfSTVb
+JXySu
+Ja872lhYn6T31tPIOB85eb
+JbOAgILdJQ
+JfbKgKX7gbq8s1d5QJj7F6oq
+JflBAt2610d014j72qx7IXHO
+Jg86cfk1Uc4jL
+JgmG3
+Jh7KP0
+JhS7I21kB6X43NB8U8
+Jj21024T2xdn6
+JjSn7CL7q0
+Jk1t16oBoeM0CCry7XQvR37h
+Jk72xErx1U6M2x0B4W56
+Jm1d3h3OxQE
+JnJSY4
+JogdA3We8QF5qf65v1
+Jqk7D0nwmvre2d1AnH8qL5vl
+JrReU7qfE
+Js07yFa2qnrfVU1j2e3
+Jsnr2nIA
+Jt7E0sR3X7V
+JtE5Fxg
+Ju5Gq3IN77dD3541425UN
+JvGVOip65N3hgA
+JwtDd8psW2VA
+JxI8vHvRp2qUEeHIFB
+JxddK7Pl4VF48
+Jy4CAuL25v4JrHsIdj3d4q2M
+K05HlW2Kgr2Mdwr6
+K11m3K43m5XFX40RJm1q
+K1gQm1u7ExEr
+K26B60qNA761SuYdXKhu
+K27XxFR7JP5b07DPwL
+K2Hjg3
+K2R478jQIc54
+K2mrUY
+K2uHR7U36540Kx6tC
+K31Po8dhUXDBDt
+K34k7XH40NxjMX1dl
+K3Ajb4l11HjWeEEnM02w
+K3imEW3S7DRihILRDg7qq
+K428Y0T0R2ui6S
+K4Npj34S8iAOa6qRd7y88Sb
+K4lBe860
+K54bM1PBEyv85M7J6G
+K55mHG1D07
+K56DBI
+K5H5uc6M367aVUqW1QP72smC
+K5OgpFUUHCnm3oif6f
+K630vaVf
+K6J1LIb5
+K7qIIaDS5myN14c0cJeiaW0U
+K7ra5
+K7tGy146ydka
+K8COoSc8N
+K8TPbdRi7X5jHjOVXe30S31
+K8Y8N
+K8YDBRohSU3621J3pw4m3333
+K8vvk4yC81N7ToL2XVb3d
+KA2M874c7v83T
+KAO6W6
+KAbJb
+KB3sgv2UcA152
+KBV5WE6y76le
+KCaXaJvGKfj1tr
+KDr0tMRnCJJIBA84
+KF2uQ3u2s35eysuX7s48R05
+KFSPYD
+KG0HCim7s5nX
+KG2X4bEy5bahXgT7OPn
+KGO1w3WFD0CAuu
+KH8n8pUDpPj0hPA6
+KHtD2A2hp6OjFgS73gdgE
+KIXnc1tg5tx7JUmV14
+KJBwt
+KJeFD8m6cR26L
+KJmChr2CEaA
+KKQ82Pvc
+KM06o1
+KMIq0X61hnjo1
+KPS5d134FEJJu
+KQsF81TFt
+KRh240EDwPr2sS30cUTs2pB
+KRm0RfHnXwI5lA0VO5k7e
+KUih81wokgXk
+KW3ODiKfbW3fS03W625w0
+KX1Q20pJWbuqe35t
+KXT886hLF65QtuNe5MM36A
+KXvq4OfKW641X0d4WHM2md0
+KXw5SRW2jj
+Kamb1E
+Kc1lPGJx6JXTcDsck00
+KcGTq8B5161je52Gm
+Kft68MpoAc4tLMS2ck3
+KgXWlcGb1q0
+Ki4yIh3hXjHn26
+Kii2TSi
+Kj0Rtt5r6bFQ2NGQ
+KjAOvl4yBG7Rw7d
+Kk7EsvD4vMj2ijUnhyW48
+KlP8GX12PxC4giG475
+Kn22pycavya023VJqu
+KnmtSR55J731b
+KoTnkL5820App0hb
+Kr84i37e2e6KO18IBoHSHIc0
+Kroshtr
+KsmxnX6DTb247Stt
+Kst24
+Ktp44q
+Ku22N3ec
+Kv017
+Kw3RwUP6RQaQCgVSHjU0Gqr4
+Kw7fOuw4DHeyXe2yg
+KwqjKvxg17Ro85YEQYKl
+KxewntCJ0mlktP
+KymYC73
+L04f4y3Lyo5r46mp2
+L057p1HPpJsmA3a
+L05l0uM5UWt80OvwJ68M88N
+L0MMUTo8C5rj
+L0if56g18jb2G4ThBy8FLD
+L15l8i5k558tBcDV20
+L1Q62u2
+L28vl
+L2Ps4
+L2rPI4lTVflM42RL3fu5
+L3Jpr8lO8Lt2PYA7JDLj8L
+L417R4I8nG6Mps
+L47nqo
+L4N36wrG
+L4WQG81b36T
+L4nk83x6pU
+L577vXI27E4kGm
+L5X4732Ib1Vj5ev
+L64VGc
+L6i8QtMXLeaW6
+L6sf8vbxQUw1NIDX
+L7n644820
+L7pnTrIg7Gaj0Vni13rRQeE
+L85qF6846XR20TxUp8i
+L8Xlx3485W3NxHr0q
+LAB23hT5
+LADu77ed6bPf
+LAFo0rFpPj1aW8Js4Scpa
+LALDOC84aIS8V1
+LAg3ad48X41nC22ThrX4
+LAi381BGdEy78j4ke
+LBaRLg3
+LBbgRmSXQxdgWwM48I
+LCDBN0aaC17yk5kx8bq
+LCUh4H7E8RT8opWRW8m
+LD1u8eTfXl
+LFgU5WT87C2yJ4W4YU0r8Pp
+LFo3Ls
+LG13x2kvfvoJ5p4650xdQPo
+LH7Gx2g0V3EV2Y1J17
+LHow6beTFmm4fPjj43Qy
+LHtKPAbAXa4QGM2y
+LI5r3n388rMETn6
+LIJuG07tfqoLu8K
+LKRvI78ReJ6OGetwpvK
+LM30M
+LN64uJaOEGiHX0T8cS2
+LO0cOvQAgidX
+LOP6Akks01gG1
+LOeiVy1yE
+LP5AMypx5
+LQd03j0RQEIsglKmjFPuYXJ2
+LR2AKy0dPt8vFdIV5760jriw
+LSGQPxLff8bpk
+LSJtFA66
+LSX841mxv72hO7
+LSt435WAB5OKB
+LT14Ev
+LT5xeh55eL8WC3PaW
+LVM703TE5Iog006
+LVx3B1X8B
+LW2YYOKsIxYejJ3tCDEs
+LX6QHG6sEmBAIbA6e6Am24
+LXmcL8DQ616e
+LXs6Xx05R8n6Yg
+LaONIKN
+Lcat8FGEhBw
+LcfhOxSVg68ACRvw1xC7LU
+LdiBaUk
+Le1vfH
+LeYdntmr2P7ynH8FtcbRVteN
+LeatLR1l
+Lf85vk5I753lwILPp8YY
+LfUyaaMR2
+Lg53Ftt6PwHEMDk0Y
+LgMBG6G3Oc5baLkjeP50i8
+Lhd3twEA66xDq
+Li0KjRXWmaO1emA1b8EB
+LiFH6M60q
+Lj7E348IVT40r6IaNt6V2V
+LkREl5A05DK6wq3YlrRn01j
+Lp1M1UVg5gTdy71ilu
+LqgNlmnG1ygCm04278Yv
+LrB67irl3Ple5OW
+LrOMx3GjUHE614W7s36tp
+LxB3GrxHyeem1fekvgm
+LxPISu8dfmMlrHNr
+LxX7UfG58X6b2TTCwkEyp6
+M03632WBAO3Ot
+M07G7IO4gFx1o
+M0J1l7pujAvtkGH
+M0JtV
+M0kjTU3N2L5P
+M10C4DWJ0Gn
+M152O
+M1cu826gIgIfo
+M20p14od2
+M22umK0Q1S2Q80358P6
+M285Wp6
+M31sGqF45Ub0oR0hq2
+M32Kp
+M342Il45i225s06pbi5BJe5
+M3Vcm3o
+M3aR2541oGHpP2mTt0d68
+M3e586V3688s64J7j
+M3jjDj4cJP3yk67GlPULUx
+M3qqxj71FawLd2slbwTO0
+M45b3SlE5q5n
+M462UC
+M4HtnssfQiEAD0jYL6
+M4O8OkhX3T1D2MMuf2Pm
+M5857hgh7234V88EX
+M5MJdPI5Agcy5T
+M5TxI32kgu
+M6567
+M6bPuQa0qryvlavpXdYX7
+M6fqXU5eC
+M6g5TG0BW1bbK8
+M70kEecXx1706B
+M76D058tDDD25v3g
+M7J5a5vG8s3
+M7OQK3MFU5QYjW1ja5jEj2E0
+M7xB374ixGAp
+M8HJdPuVmG5T1GM3jqjsKg
+M8YT251
+M8e34VyN1iJ5IA80f5ufnd
+MA2MxDjC0g1fxA0671
+MB020S5OTtc8oO3iB08I4L
+MBXMM0lijJe2H22vU
+MCL83EIwhTq5L3clV2S1c8Q
+MD7aMN1a0s7S1H2QS530
+MDHRWctP3rjjvG0eio7SJ
+MDKi1SBx5l6Sb
+MFH46gf1UMw2xqJS6VO820
+MFaMcxlV
+MGsGfU7253gN2Hnt2W
+MJ7Ej4tBYS8l2mK
+MJXhdk7vIa46PIHO5R67oc
+MK45RAOe4Ugk4UJ0B
+MKa5eNCgK6M7H4LHIve
+MMNg1j0L2
+MO262WPPSYSVGe6X
+MOdF5501fG
+MP277gwYLn
+MP6mdTJr380
+MQ0fqWv7k48r6kw
+MQ1rdDUFVb2Ek
+MRoENDT50CoGq45C
+MT2jH3JvtKhS2
+MTf2Cww6bhry38k0mB
+MUg2eGVMxLEn2JlY3stOYR
+MWoHbU5I00oL7X86882y8cou
+MXefAh62BQEYn6T54AuUf
+MY5E0vP2
+MYCu0Tp74VhvcT7fg1dTyG
+Md0yyD6nXB1OBFdM2Gc
+Md2lY0T7reBu
+MegDovU0eCg3fkXrbtkH
+Mekui5MM6PUU06e
+MfC1iJXG0UIde2k4Rt
+MgMjEMssUEN1
+MjI4i6E
+MjLlK02ifGBIrla0EE
+Mk4tWJvwrb
+MlWjcCEREOKUL1e6gQ61
+MmMPCF2
+Mn25o4t044QATs
+MowB20mIxthiV3
+Mp0srA26pW81q335754k00
+Mp3bVu805l
+MpcgmXIn662H8
+MqcMK622OR2
+Mr3q8uV
+Mryf6uJbjJI4y
+MuGs8A1QEKUOppjLc
+MveCxn2pneC75WCdN76kovr
+MxIVt
+My4DaO425f86c7
+MyQ868wQ7iUnX
+Myso8FwW4ov0AQ
+N016jPED08o
+N0wAwpxkrbl81WRj4
+N16sP2YTPvJFPcoCDlg86Qv
+N17J6bKt243
+N1MDwf
+N1O7npivCIR77
+N1uIFVXv1hO13c7cnEK1s
+N2FH0or4rUw3OV
+N2Jfon7dyCN2Pmm1JA
+N2TL0cw5gA4VFFI6xo
+N2h00u8
+N304RM2d
+N334idEn4hyyO64
+N3K7NJPTO620OUo
+N3hv6M7W7kPGp4g5h5D4GGiU
+N3ieX
+N4c8u78LI12Qjau
+N5sqt2k
+N5yMwlmd8beg7N2jPn
+N62KU05S73f5I0F77DK
+N6BMOr83ecL
+N6Dh6XreCWb0aA4nmDnFOO
+N6G5QssB8L7DoJW6BSSGFUFI
+N7Cd61u56HG5ih0AD2u6
+N7ED661T508c1vmM
+N7L608vFx24p0uNVwJr2o6G
+N7jXiULOjt7xH2SgHwC
+N8222wByj
+N8Ueiln43iooW
+N8hEI6kjLn8m
+NABd3KhjjaVfcj2Q7SJ46
+NC7F5u31
+NEGa0N8MJ2dnn3MKAfl6u
+NEK1MY7NTS36Ov4FI7xQx
+NGPH4Gm5Nq4e4Ub0D4S
+NH35LOhV6MoyA6t0bXl2T
+NIp47
+NKh216VSO7v1mbyW
+NL26D4S5nlPfyP322Jdf
+NLeWW8OXjm1680DM5MU
+NMpVM487tCGA5p31R4g8
+NN4Fkgp6GXx1fv7bLx
+NOCE8N1D5yL2NU6
+NOCfvcKS
+NOLF8Cv0gchW6gNPX4
+NOg4pvkcNV838CleFwsNLnOK
+NOl00pk86Qix8KT3QA0pva
+NRXGu
+NSLFx
+NU7HSxxQR1770qn5gF7N
+NUF2mivU8hgb7bX5b23tEE
+NULL
+NVrYp75d3laTb3Ii1a4m0j
+NaDO45Xxri3X
+Nd4eP1162w103p7cuq4
+Nd6hm74FA4k65m2A
+NdtQ8j30gg2U5O
+NeXCu
+Nf1SX4jg2f7nyT
+NfuN3581n
+NgfUMoYbR7kETkr8
+Nh3E7W0Cb1
+Ni0502Nm8
+NiIO5P7b67gyBUw7W4XMpsRh
+NjjnM2LBF4a6Ru3V11F2L5F
+NkGnA
+NkytEWShAd84ojaKa7A
+NlXgOC4tik26lq0
+NlcyfK
+NmsV7i1Ao32P
+Nmt6E360X6dpX58CR2
+Nnp43RtjHVRbEhbREog
+No3B0Y
+Nr3652
+Nt2mbbKT4IdOj8Cgh
+NtCOg6Jx6B
+NwuQjkMCF4KqgmCh1D7PH5
+Nxd2HCv
+NxtVjEh
+Nxy6uK6mWCk
+O1Kq8bfOEoDR
+O1Rlpc2lK3YRjAQu34gE2UK5
+O1fW6627aJkal
+O2U2c43Dx4QtYQ3ynA1CLGI3
+O2aPT
+O35aM54x2F07Uq0f
+O3k76JCgFN83d58REWNvt243
+O4g51XLy16E6ANqm
+O56QsHRU7FCsDRCX5Ay2
+O5L38Cc7moc2
+O5RI7q7e
+O5hC1xAT0EgNEke1U2a
+O656pe22AVUYD1OG8O4
+O65HL
+O67yi603cB120qS
+O6o7xl47446MR
+O745471yqQLem
+O7mH0141NeSt21
+O87k6FTgfM5A
+O8Qu7DJOCJI63
+O8VNn236c111
+O8YlG62p5C
+O8cWpb
+OA8N5i1UCdUv87i
+OAC52E50O5i
+OBbyvnMMUh1iJ80EKnx178
+ODLrXI8882q8LS8
+ODS2ChEt6148Hijbbe7l
+ODcBlv740YOO2D
+OE4GQ84apBXD6
+OEfPnHnIYueoup
+OFy1a1xf37f75b5N
+OGXnr5s0B
+OHG2wWD83Ba
+OIj6IQ7c4U
+OJtk6
+OKFeq
+OKlMC73w40s4852R75
+OLGDak48jmju2r2v26LQIlx6
+OLq35YO3U
+ON30Mh8A8
+OOPorJCyeuR
+OOv831H5DA41gTrj
+OOxiRM5Eqgu81j4o3v6
+OP2JURmj
+OP2o26bb8V3
+OQQgFcOqtpjdsCCejbvAAi
+OQj5VtJ6ckRaiyanP15Es18
+OQk1qTc7L6BHW0IU5cbY
+OSBq0b
+OSNmJ7Y26rxub5G0301
+OST82YETg7Je2xE0J2
+OSc0r
+OTjMvEr0QiygFX856t7FPPlu
+OTn0Dj2HiBi05Baq1Xt
+OU86sF3aM16q
+OUUn180cqH5Gf1sO
+OVJrt7Ag4JY573PrTY
+OVMDTY5Y4L8iaNgw8V3qrfHP
+OXHevCW4J150lO46s031n
+OXo62h3Qhvl2C
+OYC73wSr
+Ocv25R6uD751tb7f2
+OdF11J0B1b5v
+OdKPu
+Odc3l6Y0PG
+OgARV6n1iMYIW1VUm1ybG
+Oi00P6K0mQf07v7j66QXRb4
+Oi4wXnLvOLI42
+Oj17D50M3suPXf1J22R
+OlmEvw5VCuK8Cy8raUDS
+Omn3514WtBGS26q10wG
+Oq7ddTu
+OqM62X0G3j7XpBOTt70
+Oqh7OlT63e0RO74or
+Oqj3145snjOaP7P7rN8xe
+Or43Y6lI
+OsgSff3KLTaXQ21Sh3rKJ1
+Osyki0P18kNjc2k5
+Ovk06Dok3I
+Ox3HlDd245
+OxfCar17
+Oxg1Ig1DBIXwwQv4u0
+Oy556808N3x61lc5Y015
+OyQm637Y8T5223y1Ha20q70G
+Oye1OEeN
+Oyt670i0bysk650i2to
+P051D3DF78P14Bi3
+P11Rvk
+P1OsIJBOYl
+P1YjcPKUWkRD8SKp
+P1tjCVg3C82le3u24xbJ12Y
+P23cQyt
+P25oSI6FYWWQ
+P2DNeo00PA7DJF0
+P2o1Lq44s3
+P33TSSHI7Y66Cw4lsb4h7Vf
+P3484jw0Gpff2VgoSdALY
+P35JtWWC5M42H7cTpwJN
+P35q3
+P37TWjlF65Y
+P3Bh3QyPL4c
+P3T4PNGG1QqCpM
+P3ejfC
+P3p570gQ8
+P4shXtBlvn
+P55EBnQ5cCF5RW443l0U
+P58wqaXf0alLttK226h6FPPw
+P5PT4r2Syq367
+P5X6554E66k
+P5fGyI5L8Slr
+P5iS0
+P61xNCa0H
+P64485rj
+P6TF4jQ
+P6ueYr2
+P865P0DpHN1nLgB
+P8MKw51H
+P8NPOlehc210j8c781
+P8pPp60OlbF7
+PADsH06
+PC25sHxt4J
+PENNSb206f
+PG47iVjL87G6kcT
+PGRP1R0
+PGx2v0c7M8w32y2lANR0
+PHs7k4HAS63aJa
+PK1Ato
+PKyDxRfT7OOR370M1u64Gb4
+PLFB86o84end3tdsS2hVL
+PMoJ1NvQoAm5a
+PNk062
+PNs6tw6fjOl1yNl1e
+PNypQte7Gq17k8w77G5cvAn
+POMHxg1V87N57tlSe
+PQ71uI1bCFcvHK7
+PQv3N3YYx
+PT3jjlj8SP67iLnF7p5nW
+PTl81NEYpvuKFBbxAOVh
+PUNia61
+PUjn241mg3Qfjj6nG51
+PUn1YVC
+PWAPwbw
+PYSh3CD1vxxH3Aq2B
+Pc18F2c6iW766Vd
+Pcj70ddpJ0iD
+Pe8evPIv2Q0nM7
+PflAmQ3KlJImr
+Pg2g8HLPyO4vOPaFdg
+Ph2xOHI4
+Pi82o7b1r22Q0miJ2HPet
+Pjmv0I66
+Pk628E4Tl5b
+PlOxor04p5cvVl
+Pm1l0q2mlqmy2L55XFdLrx
+PnD8l5
+Po4rrk
+PovkPN
+Pr48bUEafA4584KN30RanD6q
+PrKs7TD0B7kj847u56pce
+Pw53BBJ
+PxgAPl26H6hsU47TPD
+PyQ4Q7MF23J4AtYu6W
+Q0PCmMLk
+Q0TBQ1G
+Q175gcO2v35jI7s1ApR1
+Q1JAdUlCVORmR0Q5X5Vf5u6
+Q1Y703ieFHD16F7
+Q1klq3EyXKfX3523gIQ5n4f
+Q22Upqia
+Q282L11WWFni6av8FGn
+Q2B430rRMeowV73
+Q2TIySPl735
+Q2V028
+Q2cD8XsSGtv888622N
+Q31pMN30tPv010W0U2h1s124
+Q3F7MokUsoVf1xHYCorS
+Q3k1H7E0N8B0vl22437
+Q443wtttcf01y
+Q54v68tVoY852n3kuOO5
+Q5AY2oNpDSOIxy
+Q6LDBb
+Q72e8c
+Q82FD1RrW
+Q86x37
+Q8ypy3QCBUcVq6H
+QAHN2k5a5UY046x7ae
+QAgnk2L5bnLH580a143KUc
+QCqa3FP8v3D
+QDK4Rtj7CX01p
+QDuS4V7k07suxy3
+QEF7UG67MDaTK504bNrF
+QI3ERh13R
+QJocgOK5m46i2F1rfSCy
+QJxfy45
+QL665K2OF6nQ7Agd6Q
+QN3Ru4uhSNA62bgc4HI35
+QOev2x2w0723qyqs23d3k28
+QOh77Nn0071FMlBWw
+QOt28D6Ov
+QOwp866GD0E0g3nwq
+QP4koLS5P7NSwq5Ja8480606
+QRQRpg
+QRofyh6UgWdm
+QRq4fxOau2jef55O5X1
+QS5W14A
+QSdVNqav1efvKUht5o3N6
+QT8H3G133r01VKlM3P45iP
+QTTWGUR2P2b08Dn62ea
+QUnIT4yAVU
+QW7bld1X2L
+QWfu6dR4Na2g5
+QY2hg47yl0v
+QYW7H8ta63kcfM
+Qa8XbKYNym5Se
+QbGMK
+QbdFB1d7vfaM7
+Qc722Gg4280
+Qc8i8a3TFBT7M4tb1GFhH
+Qcgkl434Q8113uls
+Qd6E0xuPQ2Q3cJOD4k2SV5M
+QdHVkD7V11xI8fC
+Qdb2N3CC1LwlHy6uljrv
+QeIDu0qC0H6kRKlqVGe36J
+Qfy07
+Qg446fs0y6K5wk4ly37V
+QgA6r86x0JrfdHuM
+Qgoscb7
+Qi73PEPD3E
+QiOcvR0kt6r7f0R7fiPxQTCU
+QjASi0tbFqIACJ68VtCYwh
+QjlVHKWJ5oU
+Qk8f11O7Q
+Qm31gHB65
+QmLnREo0ilui1XsaM4MYp
+Qmin46
+Qnu2kAd
+Qq3MD84DHC14CDiEGB7p04DO
+QujrLX8h1cDf3QaCFF1
+QuuIO6rBsRCOs7AcM2
+Qy84s51BfLUtbt
+QypVV34u5H01Y4xfS
+R03eo03Ntqej0VDQbL3
+R04RF7qkQ8Gn1PPd33pU6
+R0hA3Hq2VsjnFh
+R0mjxoFLf4
+R0n26g5jglBqe6IUt
+R1VmJ10Ie
+R1dYp46f6
+R20lxgp
+R2j4UBj
+R2ps2rO
+R4220N4v
+R426VY66G3alY1rISv8
+R4H6pBoQyT2m6jMgObct1s1
+R4MT4f5U
+R4e7Gf
+R5G2op1F3HcO13Bn5aKjSN
+R61IdER
+R65wU
+R67sCaYYhq3sQkA6aW1R0vd
+R6q656btrqQM6a5nQ4GcVg
+R6xXNwfbk
+R70XMwQQS
+R782cV4vNeIPfIrAoiWy
+R7u871Dc73JF5
+R875Td3QD
+R8B6PMUCp8Fuw
+R8EqThU
+R8FExC0uA82bWC
+RAUe5p
+RAaC3XB8wMh8On8X
+RBtE7gkmLOh22A4
+RBvPK67
+RD6GIHDtJFX4481
+RDLOWd758CODQgBBA8hd172
+RE6h44gEq6x0Eey
+REktKOM0feNR1k
+REq7q4Gr20HvT36r68
+RFDIm4Is12
+RG57safmo8UjXo4c1230u
+RG82Im42Kp
+RGHO7206v2aR2
+RHAKc71wc7w4iNwmG8g8GT7
+RHmS8V3K3lwHRXMOOQh
+RJsFsi3a85svGBfT8
+ROLlg0rtT
+RQ0w6D70LdsmsdP2fM
+RQU057I5Y544Pot
+RQbQ5
+RR75iYIk1Ni2005Ua74s58cY
+RS1Ec5u4hvD
+RTobm5x6f8eXB77
+RVa8teOcCN
+RW6K24
+RXUV8A0GA8efTk6PuvunY
+RY01bhu1p0G
+RY5S78C4
+RYxq5
+RaVXc0k4i2X
+Rdj0Jt0pa8fLFYq24hu3UR
+Re88fHL7
+ReN3066RXtQ3
+RemA6I854lkA3IFqso5b
+Rf6HFx81J7abMFkh5l
+RhOnR
+RiF2m743j35L16v
+RigNg
+RkRIURA28W
+RlrTc
+RmHlM
+RofP7f28bOQVdiqDqB45Q
+RqGu3
+RrsV1KTEI3yJ0RglUN2
+RsDHrL27QLW
+RsYTaV3rFO0kS2R4
+RsyD82XJvE3bY83IP0
+RtaC46i4DIukN7svr21U46G0
+Ru7fjpH4C0YOXs6E
+Rue8aABtan
+RvXrVMQEEE
+RxIBul6t78rw01d
+RyE4Y3w2gXf
+S0LP25K12US3
+S12r0UF
+S1Oect6pTauCf8OiYQTgQG0
+S21x1133h
+S2I2nIEii3X5
+S2XuI4SnrfBF
+S2m2y868yuWBh3T
+S37aN18
+S3cXoU7X01TxWJ
+S45s3B0rSCbDkMx3Q
+S45x7dofb8hIodJ4e7bV5P
+S48lTs10R
+S4Ww7287AGI80OOTGeN60
+S5MwtN1mg3CO46HGJ0UrK1Ab
+S5RB5whaBLeLnMBAUm4oXX
+S6RMk
+S74dET7kWU7
+S7UM6KgdxTofi6rwXBFa2a
+S7a45WOo7
+S7ilpQTm4W0w
+S802T685lde
+S87OO
+S8H7q
+S8b1BRKPK4cTM3nbaI
+SADBxBjA50uC6BpWY27Dh48v
+SAMSy306XN58JWyyg4KO442i
+SB5T2xl173s6i18r6
+SBV3XOTy5q54
+SBjl520125icn82UXE601mFn
+SCh73
+SDw8F62m1k4E8tR1YSIfT8
+SE4SQ1Mk7n50W7832a68e
+SE70BON7C5PmaUdg
+SI0aUsOw28FfHfuCHj5pd
+SIUKQ52i702FMVn5
+SK5274FsS
+SM7dk420iy847o8hn
+SMXqH
+SMeUi5ykXo0Vi6I
+SN5NB5L3gpe2RtR2w50sNAd
+SQ11E10EY5RbywY480mmc1P8
+SQo81Uq6IwK035
+SR1wh2Rpe17Y4KosS64FNh
+SV7p0rH15H
+SVI1m5jI
+SW0it4ahVmrEGRrVT1QT5S
+SaLkDRK8Eo45NsVo
+Sago0hfsWqeGkVo8n38Hh5eC
+SbaXC0mXWAJCc
+Sd20gdOoONPhK2OX4
+Sd8C6q6L7l72qsa
+Se4jyihvl80uOdFD
+SeT3MaHfQ2
+Sekt3bIDh7sr6X8
+Sf0Oqe1G
+Sf45K8ueb68jp6s8
+Sg1FGtK367wF7noky2
+SgVxsU2832X4w
+ShA4jlmOwF8u7kjN
+SimYF0Eg747f7
+Sm7i8BB
+Sn4Y23KEE20LV
+So2K42KNS063nP0N1
+SqOW5p2JiWtBn3
+SrPY18L7FKBp8WO
+SuXw5fsNLcQuca1uWkJ150
+Sv5fP736jr43u8dlx10lIOwi
+Sw74GCctTG3OmA1S330EC
+T0Gq3D4N50YY48AG8OQBqTU
+T0Y8Vi41EYW4CpQ6Hg1Xg30w
+T0rmM12M1kobD2yqIsO
+T1CwC4PW8Q5GeXTK5CU
+T2o8XRFAL0HC4ikDQnfoCymw
+T3D1O22bKcQigRmWhE5iXG5
+T3UqJ0
+T3qQxO7gFwJNh4Mb3
+T43TP
+T56Yg20W
+T5eOivl6F4ew1
+T66vQ50YfGj
+T6Al7d0hN770XB65M0F2g
+T6ubsbx62cmP
+T712Py4Bg5in472VXtSC
+T77vl5bqL
+T7eUGy8NktrfLCyXKIK
+T8764UNruF67h3
+T8G173Q7r
+T8SE1Ko
+T8qIr36l6EYHj87DVl8h
+TBI20Ba2YuO44754E2BM
+TBbxkMGlYD17B7d76b7x3
+TBj2D5CqREcC5
+TD01cg4gOr1msv1b
+TD5Y632oD1u
+TDC44S74UJWtQ2b3l7tQXq
+TFRri2x57auqTyFCG
+TGM2pgsoNL0kVVPrBM2
+THh5lsUQ8a23g62
+THog3nx6pd1Bb
+TI3s2Wwu6V5I
+TJ0dMNm6s44r77567jk5
+TLQnUq18RANfJ4L3nmmD7i
+TLrbx2m635Jg8
+TNaUMA6If0kmHQp2xRhqr
+TNva0R8
+TNxkTGadB87QTkpe177
+TP3nXW588VD6P
+TT4CHN
+TT8P3I43af6MUGcC75
+TUD1CCM80q3J370
+TY6onJD
+TYkMYn1v6giCqpy30s
+TdnHPQ5q1mp
+TgS6dAlI2w4y
+TiI8AiopSL
+TjA21WuE8m63UJis51Y
+TjEG1
+TlU343q2ha8vt
+To6s02tm
+ToOQ4YhGHo
+TouYieKTG
+Tqar00A
+TrVt3076w4QSXF83Io
+Tt1BcY8q3welBr7o22KI3jF
+Tt484a
+Tuga7PeYvD460mTs1paJ8He
+Tw06W0Qga0
+TwQ5pcrWoA7l44iWn6r
+Tx2ghNxT1b
+TxE436GJgq7
+TxL3nqa285133l
+U0F6534QCV20j78O6681Fr
+U16wryUI
+U1aid52v
+U2414rwp5V8W20qd8kk5
+U2KLqT2
+U3MM60y4t4Ykm
+U3pW0g
+U3w6s7fnQOxVv0pOLHmEP
+U408t6TLdH18sJeyO
+U4MrN4CKBl84
+U4o3sWAqLydj0y
+U5C75sQhdB0
+U616In80F54RI
+U68Np7DCKJO8
+U6h7bMr4OGIrgb
+U6pNsB0e00xOD5JGR7I
+U70UOCk8B7pI7k
+U76E6e5kOFi76knQwFHM
+U7GdiO
+U7JukXmI
+U7r33N1GT
+U83eH0Y8P1
+U8gc1Gs1Yw6kx4XNtI6
+U8qkvKqHFm85
+U8s5kjQhx1t1g47m0A66Yi3
+UA0H368kj
+UAJ47y03rc3gd04Apc
+UAx76nB02256
+UB0pacKH5Icw
+UB2u4GH6Y51e
+UB3lDAw2A8A341Bv61iO6
+UD71663I2qu1c5pqA2Kf1
+UDXHJf5
+UExcNQO
+UFwddOjC38Fj
+UHU8rd3IJ8Ne8A
+UK0lin57gy
+UL8rV5M81k6hVJ
+UP583HP0cV24I3o5MC54l0F
+UQv8T28745qO62T
+UR2F0Uwk6E5
+UR4W5ynqpg
+UR83Iqx405t0jOOhF
+URXvI2HsAa4AtO0fx58JYF
+USRi4RC1gq
+UUBET8444iJDvjUlq3en
+UYfsscw4LauF37kk4
+Ub176WlT6f78Y5s
+Ud5G4
+UeKB2Tf
+UfUD41M7m
+Uhps6mMh3IfHB3j7yH62K
+Uj28ubp026RCw
+Ul085f84S33Xd32u
+UlWG4BWte66
+UnBWlD3B
+UpgW013RlYKu1NusJDW
+UrDe6x72B5ycy
+Usb4N
+Ut5NYg5XWb
+UtFC8i5
+UtriJV4U5N2J7M
+Uuskn6Pny0Op4J3T1
+Uwyw8I50
+Ux34b0jriL3aTLaNEoYI
+UyJQsLguJo
+UyyIU1l7M
+V00PDpTXsnhkTuVbki5xL
+V04OvF27208o
+V0O4tCF2N
+V0aUb2c8h6sjlr1EaX5
+V0w3pYUxg4Pe85bSga6
+V165NFpSX4b
+V2075fV
+V284s5H2BBaoJAb3
+V2Dy80R4bnQX8s
+V2NEmm6d0kLFGa5s01k
+V2Qo0J
+V2pd46En
+V3Jyb
+V3xf5QPg7EABK
+V4Rn66rM3aHx5
+V4c6wY3jblNaug4DmyrR
+V57x8Ma3SD2eM877o5
+V5O0Paqve81yx8E223UpK17
+V5oM8YBx2Kq63oy0um7
+V5u6EjQhsMFyr2vF
+V630OaEm
+V6IvSow
+V746122yhMM3iEs
+V78Fw1q
+V7bu03S4t3F2XVt0P
+V7sUJ07Xv4b74g
+V8bPJ6NC4k
+V8nNN6
+VAv3o4ihQU0V87NMwfyg31
+VBVp7N
+VC5R8kT0F7y3Y
+VCpG74Yh5
+VDTWq
+VF8w7AjS6
+VFxw08l
+VH1O2Pd0B4mK1b62djD
+VK8svLN8
+VLVJ2YFurner0i58drukgj
+VMlhJes4CVgyK7uFOX
+VOE1mmY18b02ArowYML0bx
+VPkNqEMA7Jg1x
+VTJ74SnX0NTD2P234T55P5J
+VU42OCI8nDXA0M
+VU46u4nh7
+VWD2O2vD
+VWIJM32
+VXXGafnyn1mkpSpsOd8
+Vb8ub0i0Maa
+VbPmiEv5SDp
+VcK8V5jpv
+VfD3Byd4aV358l12
+VhrdQM4gb5
+ViqXS6s88N1yr14lj7I
+Vk0CBX0oP
+Vk2Iv4mbULOS56roWfC3t8wE
+VkXY4IOSO
+Vn4S1kpwhJ016S007em56Ll
+Vp5I58Cls2jANj
+Vpsyy3y3607I45wt80mt8v
+VqevY22vG478444ob4XCKnb
+VqxF5T5p2bx7R1d4DB
+VrRTMth0WY7T
+VugB74M4f31f0
+W0K88hHwlY6g5JNIeRT311G3
+W0rvA4H1xn0xMG4uk0
+W114Au1ELrT7tRYnqE3MxCv
+W1w0N6QI
+W2M0XkTK4jth34Cm0c0
+W2mhptJ
+W3CqX8FmJInM1Bj733
+W3O305wOGjyH2l0f
+W3Ox658xU7SX7gBNCs
+W3P5WMsmv6UJnfph5D
+W3bnCmB
+W3h83yyQNOicy1k7lw0Rb6
+W45L2Xb54yhtJMWDFb
+W4BV6M3DalIc8ypF5K3j
+W4G22U32r8Ck
+W4GLKnA2Nwk0HJ
+W4MsK1d70i
+W4TEt52sKL0ndx4jeCahICDW
+W4evHL60eNc8P3HVs
+W6863eA
+W772E0x
+W7mug7eN
+W8515aW82L
+W8A4i055
+W8IM4inL46o67VXd
+WA6Cb1YeX7TOI7j3jnrh7W
+WAE3FjRSY77c
+WBCaAb0o2Lsob4aiUHhvDx
+WBT2XnSX5c176OF
+WGPA8WlP5X
+WIEX4XTWhXhLlUN2R5U
+WJ1r723bTaKv3WE1ujD
+WJ2kju5T4G65ckkpP
+WJ4Y31ONd2
+WKH6j0Dtb3VNsOa4uFq2v
+WL65H3J
+WMIgGA73
+WML05unAVOf1F5IDw1S1Yv1
+WQj6R
+WQk67I0Gk
+WR23n63UMj53mr6v
+WRkks7PCYNV8HBrjy0C61V
+WT37Vm67A7YcqB
+WU7g0T0a15w2v5t
+WUQQRWTJ1wK1H4
+WWo570W28lhx415
+WYv3r54T7Ct4h607XnR
+WaK84Y0Qn4HE1V0SH8akT3j
+Wbf0Mio
+We3CdnjxFCPE
+Wf2j420jD275MyMlw2
+Wg1pcPx06
+WhTuEkrt5Qrp5kj4xtFl8uW0
+WhgF327bC
+Wi0as040LC5n10bhhR8aVPV
+WjHDUL4OQP6G
+WkqBL6Dy843ehb30l54rQ3b
+Wl0MOM1F2J
+Wl8KM
+Wn8q3duQ4MX1jn0v12OqaX
+WnN1oFEwhY4Heri3J7Jp8St
+Wp7k2ma86M411kltU8O5gmBy
+Wp8cr
+WpFX83866M7mrm
+Wq28q24Of
+Wq8t31o3E6Nd
+Wqob22iBp115g3sS3RCy6K3e
+Wu3285CX753
+Wu4j4UNU6JLF70XKoN0X4
+Wv6BkKRpxN
+Ww2y51r3L600x
+WxJ1m2qV553MQ5vgJG8cj
+X18ccPrLl
+X1cNlHRHJ5h6H8qs832
+X1haQ
+X2NWPju6MGJ
+X48kUVK
+X4mk605REMUcE
+X4t00BhQ7X376hiL
+X53h8r5nuFYOY3vop381283
+X57jtRW1LHg
+X5PG4t5RM68kF
+X5oShc74RP
+X5pO0i1Yd6055F5FPNY
+X5yxXhH276Da44jYTNH
+X6155iP
+X75olERkL08uR
+X7L6W
+X7V01RlgoCPC
+X7dqPo6hTvhF4
+X7vKpt286BLxBIgQ
+X81pl2c1Y
+X8MD0KOvHXE1g6R
+XA0uP5c61MU
+XA4u0uf7
+XBTRwI0J
+XBfrKWaX68o7HCfKf
+XD4Ss
+XDk6RIOI658Y64W6
+XFs4Txv64
+XGUO2CP2gvDb
+XH6I7A417
+XI2ak7U1yv05DAI71
+XI5Jwr7nd
+XJA0cCSg
+XJk8krRPmgi7Le3a4t2X
+XJtfPtv77
+XK6Y01Dev2K67i4224v
+XKb3MvO6I8a656xQv2ikTV
+XMFgr8DLLoX7m2en6X
+XMd2TpQd0MJ2Kjh1d4Pf5
+XNho43uPjWG6c5bH8g122l6
+XOypj8
+XP2cjyx
+XR134uVnw0
+XSv8Ti8c
+XU13On4
+XU3r6DD43W6431EtcFUhc2V
+XWIExC7NI3bqu6VhR14g2
+XWuYuk5qpn5Khs3764E56
+XWx44KOWat
+XYWXe8O2Lst07b2x88yX
+Xa2GCKqo2Tguwk71s21XMn2
+Xc3mi
+Xe01mh1Ku5BD
+XeI6xQ2v1E
+Xf1MhqkA5n6
+Xi7kOTT
+Xl3YYF83e
+XoNJiEg0S8u
+XqKG6hVEyI5D
+Xr1Lmw7g3730qA0N6n
+XtF80FdC1a3Uw22G6GIPr
+Xtw4eM002sS1101p
+Xvyjl2vcUcxY4
+Xw6nBW1A205Rv7rE
+Xxk00X
+XyG3M688p4eP46
+XylAH4
+Y00YWUI2gXA
+Y0C8RDq78O723K8l
+Y0P5Re5poIwn
+Y18g03MSsp7t11J
+Y1B7s
+Y1gVqivH
+Y1jTLjDyI5F8
+Y1vK3
+Y1xGi7I0CLTWr0D
+Y23NbD7X86FbcRP4
+Y2C704h6OUXJQ3
+Y3oJ30U4LUuen7U6JjfaexL6
+Y3sLd5mt5phri
+Y3y7fhrNY0jD3
+Y4040E2ykhl2ih58m55Pfyaq
+Y442l2y0Y5rdjju4tIR
+Y452MvjJO04RMqES3O3
+Y48gjhCI3D7wk2X026ereD
+Y4JQvk
+Y4TBnhowH7L2Gm
+Y4bpC53ea4Adxlo
+Y55ytQtGRN8l58131e
+Y5ls7N3Qy30h43866R3cL53
+Y5u0Yy
+Y5x3JuI3M8jngv5N
+Y675q0vY538
+Y6L2obKBywPjBP
+Y6P8Ji868U7u8W3X2GHNiOLh
+Y6d74Lf1ji3v
+Y6n3LVp5tIlVm3kc
+Y6net7wDJ2TVjq2u7H8aRCyA
+Y76SnsrcY42lcA
+Y7vBl4PXIPqRBJSx3sd75
+Y8QG0P1v36K02sXHc84
+Y8WfaAvW6
+Y8ktTV23GelYC65
+Y8q0gMXFDD4qo2nSC8
+YAF7MKQtl26DO2n6AqHW74Nf
+YBRSCj3Qdb24l1MnE5IIr
+YCSg3CF070FDEip2r7djAA
+YCY6SM1FK83x0XYANbo
+YE7I5JK87tW5
+YEsQpLvkf0vcXjWhQo4
+YG6upJAu1AHo1g85T
+YHVB0
+YIxsR
+YJVDXD374nD
+YKgjnm8n7x70AI0m7M
+YLh18Tir3Ga
+YNsNwqw8y7D65
+YPJn4lAy8rr58
+YQb5VlQtDsThbG3YoBfy
+YQv5p677HhxqP0wNOy3K
+YRLL1E
+YT433hdTP2
+YU35V
+YUKS3r4spEtph1kg7
+YWIKIppGcJ7j1pxAH
+YX250
+YXbTksK2YAt32i4vi6xyT2
+YXqWPGc
+YXy2ny
+YY7Ji0cFe7R1
+Yas32KF
+Ybpj38RTTYl7CnJXPNx1g4C
+Yc6gaH2OFF7cymt8q23Fr
+YdG61y00526u5
+YdRXUcPre
+Ydq2dX
+YeBR35
+YeSkUwB5tOhwVE0nJfsJvo
+Yj656R8h5j
+YjyfU613tjGy
+YkfDreGs8Xi
+Ykmey2mN6W4
+Yl6DY284s40Np2xg3QXxpi
+Ylc4W
+YnT6eMr3y77hRu
+Yp6VJPVqnDR0fHkl
+YpM63
+YsR62pfC2Hc
+Ysm7SDldbQqRr2qRm2XE0le2
+Yssb82rdfylDv4K
+YtN1m7B
+Ytgl8
+Yts214m8mDhRw4F2d56
+YuLAwEusr5vuTT07mPi2388j
+Yv7NbK3bBtLv2oCp7g622yO
+Yv85R3umfQLpMkcqJHS
+YwV7DVLB0kut0S5p
+YwXWK0XCJ2kgubiO0Q2a
+a
+a01020v7267VMksO75bI0
+a0P3sn1ihxJCsTLDb
+a0YMQr03O
+a0mdHI0HtSL0o8
+a10E76jX35YwquKCTA
+a1N8y
+a1PD7
+a1hgKVq4wykLJ8271nHWvPB3
+a1sV4Se71EjpRn
+a2037
+a250165354I3O4fw42l7DG
+a3EhVU6Wuy7ycJ7wY7h2gv
+a3sk76Jt1SL
+a4F87eJ6H
+a4PMyxYPeTA0Js14lFCV3f
+a4frS6y6Q83Q460cwK2Tp24
+a4ncnCrCg3
+a58Ux
+a5MyXRAIwPX1CO3w53Rar8wf
+a7654w
+a7GT5lui7rc
+a7P5omBy
+a85tf8VS
+a88x2Cl
+a8S42TQ83u641QM
+a8b541Q2
+aALrx8bSr75vWBR30H65X24X
+aBL26v67ENBr3T47crW
+aC14b1kcXO
+aCU4m258
+aD78M5u4m0FfR78
+aD88uS2N8DmqPlvjOa7F46i7
+aDNmF88FfTwOx7u
+aEgURECDWj44
+aEi5JQHQPd4Y8
+aEvOE7hUNO0d67AM3V7BwUCK
+aGx8GQM1
+aH38aH4ob
+aH8tj4fj5to6URm5U6oonnd7
+aHlYp8D37Q61Jk4Tk
+aJBC20kS7q51m
+aK37I6N52tj0w32cgU5g
+aKbAu2WJV8HWHU6K1Ukq
+aNPQtU530N76
+aNuMW2
+aQ2wqmciE6f76RG
+aQ6My4WFN5vO
+aQW84A
+aR5lMx65ohf25L6NBe5O0JL8
+aT5XuK
+aTuJRwHes2vW1Rl
+aV8Pd81
+aY3tpnr6wfvmWMG0U881
+aYu0vLeby72ti3L1BXRywG
+aa6sWJ28wU1wvv6it
+ab7c7YFq68UX1Po
+abD0Sb0Xj5M72xMXQWyUaJ2
+ac38VdOhD4a0
+ad1nwBvW6Q1CV
+aecE60o4
+ah5Eixq6P7Q5
+ah6jo34tl
+ai6nt5l5gCA3p71Q
+aiWFqnj
+aicQ513r2FtX2
+ak3wct6anGAdab6IH
+akSq5ElsFg
+akfWVGu2g0io
+al8C016TUxSmoj4
+amj5TglKcJV4yx
+anVE0u
+ann6ipj6
+ao2occ3M3dN0rNOufKa57uuu
+ap7PY4878sX8F6YUn6Wh1Vg4
+apkavpl8qlCLwq
+arVcY7cHiMpnKLp1tj7
+au3q16lrAbWbHFqF
+auGhMXSG3mUqnh
+aw724t8c5558x2xneC624
+awXW5ct
+axFM7O3Cmu4Ax3y0Fmd
+axu5k1BMtA6Ki0
+ay5XPK0e5q3173
+b
+b01GFHiSj4Yig1tk4bSex
+b02HtfW
+b062i16kuwQerAvO5D2cBp3
+b0BEyNEe1bvQ
+b0G65a66732y6yE65hQ0
+b0m3GJH2xd
+b0r8g21X6I2TvvPj623IKR
+b17XPAx6pbQ7
+b17euUA
+b1Q3yX
+b253HskJLFwL5nahVGVE
+b2Mvom63qTp4o
+b2Xcl8MXhcs7x3KOV
+b2mHRIps75fH7821d
+b3T1L5u7us8
+b44J5OuRTQmmQ8LSyy3EJWFC
+b4R0JR2yv3Gk30228
+b4iTs
+b4ntuTq8cuj0E66Gakn
+b565l4rv1444T25Gv0
+b5GwV
+b5JRqQxwXbTOtfi
+b5SoK8
+b5Yi033H6f4Wfaa0E62F3i5
+b67jQ
+b7tPXCg67lmmr
+b8Gy2h4Svch4dC84a
+b8KY04
+b8uHW6ME5uThM
+bBAKio7bAmQq7vIlsc8H14a
+bBM3EEnw13S0y
+bFmH03DgwC5s88
+bFmcKUp7iPlg0bAV1T
+bFurgD38OUb87f16I21
+bFvG3S5iJh0B1vsBsiV42Pbb
+bGBcSi10VWt
+bHf404
+bI55nJLOusG5i
+bJQO0
+bK1Ops664m7u46sIF7Cgn7
+bKj3K500DR2Qx1
+bM34sI6W5h
+bMKsgu5OdWu4vjTa1nt
+bMyM0QL
+bN0AFh0hT
+bO45EOf7qg
+bP3R4cDVvx6t
+bQQWG6
+bQmm3Sk5f0ib
+bTT4xqcq
+bU42b017V0K1G5v1L3B
+bUAbw6cKb8gjLj7Kf
+bULnwrQ
+bUYKB511
+bV7F2d53o2Aj6Ri2x2c
+bVvdKDfUwoKNMosc2esLYVe
+bWhq42DR5G1Ypd
+bX48CaI1txU5AGn2AmEuKj
+bXNd8y50350i1Chtw
+bXQMX15tRQ8PeY0jg
+bXmqr7WJQWrLR271l
+bXrHpJ1X
+bYcrtRvKkf28m64rY3q43
+bbdu1ap5
+bc014i7354F36p
+bd6LedV7
+bdUdCOP6OR1b2AtN
+bfE8u5XQPK7ie4o6wE1Tfv
+bg6X4a4R5F6E
+bh5xM4L38FqJEcT3A7l
+bhG6Fq0J77
+bjQP6L
+bkN76SCX7oYleR0
+bnQ8QsKBD7L0213Wx7cB16n6
+bo54OxoS6UHe605B4L
+bopk3aa
+bp2buWAbX7JBQHLuun
+bq2VE4s1Ps
+bq7qevqgOC
+brlusDQ60JO68Qx5r6CY
+btcI68W882
+btgw707cKS2odwbePK2B
+bvPndT2Y5m61D0CKug0t3
+bvg7bP3mln3ILuC888M5DEF
+bvoO6VwRmH6181mdOm87Do
+bx3NrGJIw088yHD5461A
+c06VUBp33f60n5jx3o1LWkpF
+c0A7Ma63T77BgT71
+c0gO7g27mjW4XEaUK1fXvEk
+c10CM0
+c1V8o1A
+c23S6Ky4w7Ld21lAbB
+c2xCAAm6W24ho1Ett
+c300w5
+c333R38QfrwRxL6
+c34CVGK345
+c4jN67LlOd5e0tc333TN0riL
+c4pp20
+c5E4j1
+c61B47I604gymFJ
+c61SOJvyi4PAdi0o
+c6oaqf0P6yLPl
+c7VDm103iwF1c7M
+c7awd4680fkDD47oM0N
+c7j0PI24L0M27GoF43v4Ucf
+c81L2dm5Ly68S6H36M6o
+c8V83575
+c8b3TkeXYCq0fvRes62t5H
+c8bml600KY814miIU8p1BP
+cAULCRDJ
+cBKNq4fPymUw1KeEAEf1dw77
+cC0aTA226U0YLJm2CX1m
+cC7QeLfb
+cCaJdJUbsd4Su8F
+cD68D3aJ6G88N1C
+cFBpX7cJIRmrVPXg0CfP
+cJnFkUL5gOyHR67G1
+cL4J4B
+cL5mDs1nJgQ0IbgBH
+cL6DXVE0d8hnE6
+cM0xm3h8463l57s
+cM67e3WsUcSGq
+cNav7FGYOHd3EUXMS
+cOCa6w8Nk34tS1g
+cQ8To
+cR5KqKwc60t
+cR8uq5
+cSGwrp02p
+cT06r11FDv
+cTWO4kFIrl1n
+cU6HuP4A323
+cUbphr2Or2aJQ0wNK3
+cW0KiR4B
+cWKyPK
+cWsTrfWEqgH34d5rO
+cXX24dH7tblSj46j2g
+casvJ6NR
+cb33ksHDf3lMrp0OW4dMdvos
+cb5LPuiF
+cbo7HQc
+ccaAm7Y
+cd5iw78V2n8N0x
+cd6Xc861fDCGe
+ce6C1MhLw
+ceKdxB8IQVLd7AMLH32PV
+cg3hK1u47UJKr82PdlkoOf
+cgAGtv0pf0ob0MSVY1Tx3
+ci2PQIjy8yUPk7es2y5yg2
+ciiIP56o
+cimuDJm856U6ia35Q
+cklLRY5lqR5bojRXCTaAFg
+cnlMCD66T2Yyf42RG4Gv08
+cp30v1
+cre3m4OHF4H4x7nM
+csb2ufhCB
+ct55nKy6085wEBl
+ctL23E5x1d1
+cuN6W1lBJtv3PFN7UdoLX2I
+cv6sd53W530KHEOy7
+cv71a87hIMbVuJ2dAX
+cvLH6Eat2yFsyy7p
+cvqc36vwri7R6kbXKO
+cwEvSRx2cuarX7I21UGe
+d05ua0EQjlFMb
+d0a3qw2gtsmG2
+d0gyx37c36ijHBhwvVqm842
+d1135cW8G6QCDM8LiD0c
+d1158gMS8i68jPb2v3L
+d1N0u454kG87DN3o
+d23u5801Hv6md41F
+d2A5U2557V347stTcy5bb
+d3gFFis50Wy6FG76XeGT5Ou
+d3o1712a03n20qvi62U7
+d3pn8
+d3yQbTLvpGyi0
+d4YeS73lyC6l
+d52Q4
+d55pP6gPa2Opv0B05C7LoX
+d57LuTxW0Pk5cXu
+d58e0
+d5I5x4dq6tFbftHT
+d5gs2s6trx20upPuW3SAi4o
+d64pbe5ih0aYr8gR77
+d6kPi7FNW1Y
+d7468A5L3hm8c7gYb2
+d77tW1Y01AT7U
+d8W5CN1kB6O6ovPhy1C3M
+d8p1NiE467oJer5eVW2DBi
+dD15XhaAk
+dDf3se3j
+dF7kljY4Pc
+dF87w5r20
+dFE1VTv3P5WDi20YecUuv7
+dFhWoN8nr0oDs
+dG8B5PQ3b85U362G6huu
+dGF1yf
+dHC8If3liFqC
+dIaRCgF47dy7ICv2EWJ4YN
+dIw0j
+dJ6UMgP76K8hC6dVfqFW
+dLYpl55rytQl5
+dMFNhH2q
+dMG4N
+dNH34R81dS0y
+dOIg2
+dOYnqgaXoJ1P3ERwxe5N7
+dOw7MSwkn3F6yrvP4UN1Ul0
+dPDI1Xegw
+dPPDUuv2ISw501i2p
+dPbX4jd1v47r1bB6506si
+dPkN74F7
+dQsIgL
+dR3U7vP8MB1pmRmoumgi
+dRxyUb0v2VA
+dTTnUqcnmXBBIU1YN01b
+dU3yfLb6E1y0pxkF5V3q2ca7
+dUEsVT8aX3Nfi801YY
+dV86D7yr0I62C
+dYeh5IM0vISxwv
+dYqT7Ci8R0
+dcQOYT1M0S80x1
+ddB0uwG5vP6efRY28vx
+df3lR0B
+dfGQS66i2xSq5TmD7
+dhDYJ076SFcC
+di55PD6eD
+djLQ52K3s5ReY3TQyWRl6
+dlCRB1gt7D8hRQe6
+doI56Fdj4YgK3Q335155DC6
+dp4upQcltH1d7o
+dpSr737SQ81Ww2xh6c
+dpXsh6
+dq1Ji5vGb4GVow42
+dqSh2nXp
+drGld1C74Thqq38208jQ7B
+drQo4PU
+drU0J0cDrY6S083r7T5Nd
+ds5YqbRvhf3Sb2
+dsKMPeiKlSpS630o
+dub50S584AxqyPI0r80RA3ks
+dun2EEixI701imr3d6a
+dv4kivc
+dva4oJ47tw0wM52vCYU
+dw0MWNGD4iGKowp8qa8q
+e005B5q
+e035q4Ba4721NL1l
+e05ddw658QcMr
+e13dNAo71UXm4Yt1u
+e15NrPMW0E8yCvPO4DN
+e2B6K7FJH77Y4i7h6B43U
+e2m8waBVlVU
+e2tRWV1I2oE
+e3H7id0B6Vk8oY
+e3st3MhTgljOA8h1THm2
+e45JkEc41VGF88lgenm
+e4B88ElS8GH6sSaR3i
+e4ie13qpm6LnXF21C5
+e4j6pjQIS16PPiA86wnd4Ke
+e4rLBwDgWm1S4fl264fmpC
+e542YmP0Fu1hw25eP263UA
+e5YfpR
+e5sXd504D1x18iN3uTMsKIc
+e6F51mDOrN481rfhqk67lF40
+e6SAAy5o0so6LM30k
+e7sC5M0H5K6EgSTf41X
+e882yM7Pp1RA3
+e8HP8Yt7uoB
+e8Ul5Q72
+e8VT3kOBd654uL7eH
+e8Yq6dHfa7d61IgPcKrO
+e8b2tc81ieVb0dF132Uuo
+eAGNl00o8pA000I48
+eBRuEI2
+eC818exjsX8l
+eCd2BHx36NE3eVQQX7YO2c
+eDYumNXO773v5X
+eDfHPeW364TY4A2Jhm
+eEn3GIKD1RcY5tu7BH
+eF0N0Nk
+eHxtaCo643hV3BIi2Le35Eq
+eIyS41R32
+eJROSNhugc3kQR7Pb
+eJd04J4HSwx0RM6
+eJyS37rSqP
+eKu2BS26qOY0
+eMf071FkRwWIQ63
+eN62nb
+eNsh5tYa
+ePEMYxe7t8t45A1078305K
+eQ80MW0h728I204P87YXc
+eQw2b7C8
+eUx01FREb2LD4kle4dpS
+eVs446
+eWc3t8r71Mlq
+eWq33N3Xk6
+eX01IDE0Y7qmepEq57Gh6x2
+eXJSaD2y6i8Cr2wwmc
+eYi4x1MVI7
+eYkUnb8
+ea23p2penJ5W5T4
+eaju2o4x863Hs4pskfDBRYnp
+ebM416Q021xLQ0h8qDS7qw7U
+ecYs1527OxTl
+eeLpfP6O
+effwRyk4TvV58kcP
+efnt3
+eh85P0V0g
+eicMhR0nJt12OH7IO2651bO
+eis5ky6Km
+emSl6BHnVPfb3DF
+emhgE87754iUcRPl1vf
+en63YvV2PB76duGPhyLQa
+eoIG247
+er5IUhd505r0lT6sc20Tef5q
+es103bnsOVpy
+esc3k10A074II2a6h45
+etHtCC
+eu3X5Qfp4sHv5H
+euqLv
+euuqs32N6R4266A
+evAKb23
+ewpwJSDQ7V8yVPSl1x2E8ey
+f0Gw70hO6b
+f0QmOLoGtou7gq42fy01Brn
+f0kvl83Omd4xIlPq1
+f0rlf3P0ce6V8Q4hiIX
+f12qhlvH
+f163cH4DfXvJ1nw36Sq6Pu
+f1b7368iTH
+f2IpQuEKjVlAdLrmeSqeH8
+f2i6luEMKiT1KnRPTat40mX
+f3oGa8ByjMs5eo7462S84Aa
+f3t6786LDH6E8RV8nXU6Ep0
+f3ylU62g8n4VsaJawXV88
+f43bB2d6AhS8
+f448c4T81BR
+f4K7sWDgJQ1uemjKGDw4wo1
+f527p7MLm6Griq41TA8cR4
+f5c6e
+f5elgJP3k07
+f5wvsWTPgXUx8m7
+f5x7305T7Whj10BhLb5W
+f60N6lQ1JF8TPt
+f62KPh6SmIy
+f64ukp86atDBYWH5eW
+f6B6I2d7180wveu1BG63b
+f6WR6jF
+f6f4h5NY5Ffi
+f6kFn6sYs67ud2bx8eEsu2R
+f74WL82kGAkHoFCYuHu
+f7oB3Nx8
+f8bmVVkEd2TmeFy7wKq11
+f8e16sE7qHnJFq8IjXe6uSE
+f8iUpkOj7
+fAlgqr6d0P817Xv2
+fBTrfOGxGui72
+fCf8y2hv5UrvJR2i1mD0yuc
+fCw04e5L8Q6scDQ52Hnd
+fD6eaS1f
+fDT36nHCL182d2buS0P
+fE6QXN3HR04aEMiV6AM8
+fEU8HAO6NWJjF44X87
+fEg7R6A80Sc
+fFKkdcf
+fFWXv3oM1DRI7ELpv6kf8
+fFk28b88dvM
+fIjNh3dt21cMWe8
+fJWe8p2jkqws5d04a5lSvLH
+fKbw64QavqgbDL2t60s
+fMHmD1111V5u4iBxLK8QV
+fMx10nWYRbs
+fN3OH7lI2iTEW75Cq4
+fNDP5n
+fQUFR672Q0R0G2b6NVqx2m
+fR7eEX2v1LPkujF
+fS3f60E1s
+fVgv88OvQR1BB7toX
+fX2DVO612
+fXlXavWXcFSIIBpA0EFW
+far4S170PC
+fbR231f
+fduo5V7B450uUI3H436Q8
+ferMX1t
+ffT4cTjYf2NJ
+ffuO8wdQSN7ExGO
+fg7BpI
+fjIC8p2sYlu7rwnNYtm0i
+fju0XS06MyUS7Nqk8P8
+fkA37sOkxCp44hlIKV
+fn2If82nABUmJ7J6LW
+fn7k8uv2T7Ifrg
+fnVSD0s7dK
+fo617
+fo7hQ0lLo0K78
+fpgauY3B1
+fpt3gpLE
+fqa4UONO5MWDc7865q
+frhe0
+fs2RNhI5c10lFG7O
+fv6s5tGQJO45BvV4m8C
+fwaY4Kd6l4oW1Vxy
+fwgu11vt0371iw6
+fwo2yaxByegAga0
+fx6tfesnSixgAl5h
+fy80g
+fyy678nyJ
+g0AoxG8FyF
+g0C6gENIKCKayurchl7pjs2
+g0Kgv01XSAbU8u
+g1V8qsFsRDjt2MtJn
+g1k40P8l
+g2213
+g243G86C2uHdC38K
+g28jQ233uRHM7JG5E4
+g2E87
+g2WGU1d
+g2i0JT65x
+g2vI6MW2
+g4Gl6D
+g4dmKe2yoPRI8hBGgLdStl
+g4teBBvh
+g552y0x1B4n
+g5IWA5kuuD7uqD6e
+g5ImOPrB4l0a4cXWq0
+g5su4Pm4QR6jx
+g5v0R16ha6eI
+g6VL0j3k7pEcBq0Hbsk
+g6YBvB2o1c3qbfV6N
+g6euntqquMH
+g72r712ymd
+g7eEN741
+g8d0MGKWIe2r6wivyyl
+g8my0HUWRfpYm65D85r
+g8n6YN
+gA0M8GmMH6TcQCGdQi40Mj
+gA0pGkli
+gBg7S1x5obicN
+gC1t8pc
+gGFiuV
+gHsu7HyRW25P4w3518PIv5
+gL4Yd4kwC7853nBBfiWTmk
+gLGK7D0V
+gMX151eyr85V6Km
+gMc3d13G6rM5
+gMxuFTWhkh5RQ1VJ
+gO13PbgBt48eAg84Bq8
+gOYmowua857xqiBSnM0
+gSJS1mpb5Khx8140U3
+gSL2wI2m2i778C3WU
+gUpuTY5eI0dujb
+gVS43C76q67h70Yi
+gXu3tUhVtYp
+gY5CjIAG71Fh
+ga113oX5cQ3BKfs
+gcGG4GVX7MxDB50GG7Mk
+gcjQDkje3H2N
+gcnk28ttRLv13O3ms6p10y
+gcoE6Bkah
+gdoaNjlr4H8gbNV
+gebKn580IF5wc8d8C1
+gew1eby3AlYSvPICC3
+gfML7L7et
+gfSFVGxrOrW0Bu3UuhmFb50
+gfkqq1a3n56XaYAB
+gj5IRDNe62057M
+gjXv2q0AL7Pvi8hvW2041hJ
+gjqfa41BgO5pRK03
+gjsL355dId0aH1mj0yGky1
+gk0kJenBW237uQoxGBx36
+gl03UrAU4bWrOvqwwf
+glmq52NQ3r
+gls8SspE
+gm1ouRn6LL8IvrB
+gppEomS0ce2G6k6
+gqf1847u6CuJaw4D6
+gqgj30mc6Sb2aY8chi4
+gtulO7xHeSn
+gu1GY0
+gv7hVe3
+gw2d6kEFV35L7RPc61vpc
+gwwQD5RH36V3t4buLdOyT
+gxV35xi1i6
+h00AaUR4T644OOB
+h00VUsWU6m0j8OkrJ58l
+h033pR0WjHA8gaBF5
+h0F64HhMhM78JIo3tWkVN
+h0GHsDG38rg700WO7D0EuG13
+h15Uw8Uidj2K5OYWOqQ5
+h16y0qg
+h1iuKxGwo
+h1xHE
+h218Rb5gYs
+h2Q4cPeN8N81eVRhLb
+h2Sf5Q335KntN1ee1WHT
+h2c0frokSYjfs
+h2rkj7jL
+h301kgvvRS1JMq4S8dl
+h3qJh214D
+h4D3a3pF8s82471v7
+h4cKISr0jU
+h4omSc1jcLLwW
+h522G
+h5M1D3a1q528tDjybg8
+h5ptNc6T0l75uWGi2VW
+h5s74V3xB6SKD71q7tkjXlW
+h6a7neMIjQj81mHy43orcR1
+h6pSh1A3WMOI3eY4IxD
+h78X8w3p3vmI04F8u
+h7AiQX2QT2Ch6A
+h7p2nWBK37qeYg8351jf0
+h85CHOY0SM0YA
+h86fWF
+h8H1xHyUnDR5IrGqI
+hA4lNb
+hA4vIK10755e76nB
+hANtHaOf
+hAd5Sr6Iosm0
+hCwu446fq4108mQ4x62Pr
+hFV4Y46
+hGgIokL8VLdv70x7Co03QOvN
+hIpBJRGP12lL1QsnGUPa
+hKX47YOR
+hLEVieIhDXuQ8W2YF
+hLUON7y0c8wI04U
+hM04012HKnNf8M7KhUi1x
+hM4h8a4aXwJP1127xAC
+hO87j00S6nkbuEFh1rL5ie
+hQAra
+hR5oke50Iv54GVUI3AC7s2es
+hRUvK70d5B4F
+hS5Q54kmJc24T8um
+hSOv2xDX05WjxI13
+hSb1x4
+hUe5btrA1
+hV0A77g6ThTl1
+hW33k4mf1gQ
+hX1uXs3XerL24PgMqj0
+hX448PDJKp50xo
+hYH6n1Js
+ha4TkVEql240gCbQ17A
+habBG0aDt3MJeAL6
+hbHr0AGhP30hRfpMbI
+hd2iP4vyF
+hd5NMHtI3AWTCX01GJU
+hgy7Y
+hhb12d5EV7
+hjKNtgUy
+hkW5538D2R46LB5t
+hl4w6g0LGTr2q7740MWXNhi6
+hn35LQWu0t6
+hnq6hkAfna
+hnrm68NiEQCL4
+hnyI5T
+hoH5fhBc08
+hpB4Tn5E7507P
+hqHBv4edb2b6Hy4Q5u3
+hrO0S0XuD1W4
+hrSdTD2Q05
+hs5N5IQsM6SM
+hu6I51nNlePTerleQ
+hw5maSbD
+hw7e2oF7
+hwHV45CiW4O
+hweo7wU2YAcJFa0axo
+hxH7487S3TS
+hyUX5
+hyi44EO7Eqi4QI1qQ7h
+i06I7xgR0
+i0CT7RF71a67AT2RfOW32
+i0NyLxxV1f
+i0mx8w5HB8THd5N
+i0o7RFi0
+i1P3Wlat5EnBugL24oS4I3
+i1u8rB8WdUF8ROFmHnrs
+i2WiP
+i2nn656t
+i330V4Y0Lm4ajyKqM1X2Y
+i54P3
+i5bJlwLtK8
+i5nMr21nMygX2qWwtTbMag10
+i6G060
+i6bSV5cidX0CxDqq2f5Y
+i7n1eoq1Iw3r5q3qI3464
+i80O3j8a8nd0ohVCHE2oVs
+i82vCQCIiC16TWidK37m7
+i8Sn3a6i30o1o
+iASE7cWnCT4NRf
+iB4VI
+iD2KrmBUbvNjuhHR2r
+iD4A3pEIP5pkv3
+iDlPQmQC7RSxNA
+iEb04t2x333EF5wHoKRs6oKB
+iF1fQ7gn0qgpH7HKS5N3
+iG1K1q1
+iINw0m
+iIs0Lb6
+iJ0wje577Op
+iJloCx17VlmyNl881XJ8187
+iKF22p74hKMcl6gypC8nqq
+iNuVE35DF
+iO4Vsa4mC3r05C
+iP2ABL
+iQ51KkUwoE6YRVW4
+iQq6r8j4suqBapdr7m35j
+iR76SEs2C4V
+iS4P5128HY44wa
+iS5AY33Qun8O1UqRcPMV
+iSWa0uvV1O16A3H
+iStQPx6j8SvMc
+iUAMMN23Vq5jREr832nxXn
+iUR3Q
+iVt3aUt4Cy322x2w18lw4ku
+iW12567av
+iWCNyh222
+iaD4Rnj1
+ibHg41d7f
+ibR7QuG2aL3O
+icCP7UDP0d1h5q
+id8wug16
+idV7C76V518CeEHos5N4g
+ie3QYAuCo
+ie5lYXc8JAh00p0yd15xb
+ie83eEmqsGF834r4COpw7j
+ifm05ON
+igMQ8
+iggCGFADtrd6k25FD4r4375I
+ihk4IyjQeRwF6
+ihlorJE62ik1WuKfS
+ii6d0V0
+iiki1A
+ij735
+ijU4c
+ijeMq4LXB5UJ4Q27LsX
+ijmD5iqIymg
+ik3r8Ug0xoL8oGWkF8CWUbO
+il3l6en5b3J
+ilM1UO8k4hDR4ERgh102530
+im6VJRHh5EGfS7FVhw
+imH3YwNd33DOtJ
+imHOGF5tr78FHO
<TRUNCATED>
[12/23] hive git commit: HIVE-14913 : Add new unit tests (Vineet Garg
via Ashutosh Chauhan)
Posted by se...@apache.org.
http://git-wip-us.apache.org/repos/asf/hive/blob/bbfc4d9d/ql/src/test/results/clientpositive/llap/schema_evol_orc_acid_part_update.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/schema_evol_orc_acid_part_update.q.out b/ql/src/test/results/clientpositive/llap/schema_evol_orc_acid_part_update.q.out
index ed698e1..5c1f980 100644
--- a/ql/src/test/results/clientpositive/llap/schema_evol_orc_acid_part_update.q.out
+++ b/ql/src/test/results/clientpositive/llap/schema_evol_orc_acid_part_update.q.out
@@ -585,3 +585,1151 @@ POSTHOOK: query: DROP TABLE partitioned_delete_2
POSTHOOK: type: DROPTABLE
POSTHOOK: Input: default@partitioned_delete_2
POSTHOOK: Output: default@partitioned_delete_2
+PREHOOK: query: --following tests is moved from system tests
+drop table if exists missing_ddl_2
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: --following tests is moved from system tests
+drop table if exists missing_ddl_2
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table missing_ddl_2(name string, age int)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@missing_ddl_2
+POSTHOOK: query: create table missing_ddl_2(name string, age int)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@missing_ddl_2
+PREHOOK: query: insert overwrite table missing_ddl_2 select value, key from srcbucket
+PREHOOK: type: QUERY
+PREHOOK: Input: default@srcbucket
+PREHOOK: Output: default@missing_ddl_2
+POSTHOOK: query: insert overwrite table missing_ddl_2 select value, key from srcbucket
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@srcbucket
+POSTHOOK: Output: default@missing_ddl_2
+POSTHOOK: Lineage: missing_ddl_2.age SIMPLE [(srcbucket)srcbucket.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: missing_ddl_2.name SIMPLE [(srcbucket)srcbucket.FieldSchema(name:value, type:string, comment:null), ]
+value key
+PREHOOK: query: alter table missing_ddl_2 add columns (gps double)
+PREHOOK: type: ALTERTABLE_ADDCOLS
+PREHOOK: Input: default@missing_ddl_2
+PREHOOK: Output: default@missing_ddl_2
+POSTHOOK: query: alter table missing_ddl_2 add columns (gps double)
+POSTHOOK: type: ALTERTABLE_ADDCOLS
+POSTHOOK: Input: default@missing_ddl_2
+POSTHOOK: Output: default@missing_ddl_2
+PREHOOK: query: DROP TABLE IF EXISTS all100kjson_textfile_orc
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE IF EXISTS all100kjson_textfile_orc
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: CREATE TABLE all100kjson_textfile_orc (
+ si smallint,
+ i int,
+ b bigint,
+ f float,
+ d double,
+ s string,
+ bo boolean,
+ ts timestamp)
+ PARTITIONED BY (t tinyint)
+ ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
+ WITH SERDEPROPERTIES ('timestamp.formats'='yyyy-MM-dd\'T\'HH:mm:ss')
+ STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@all100kjson_textfile_orc
+POSTHOOK: query: CREATE TABLE all100kjson_textfile_orc (
+ si smallint,
+ i int,
+ b bigint,
+ f float,
+ d double,
+ s string,
+ bo boolean,
+ ts timestamp)
+ PARTITIONED BY (t tinyint)
+ ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
+ WITH SERDEPROPERTIES ('timestamp.formats'='yyyy-MM-dd\'T\'HH:mm:ss')
+ STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@all100kjson_textfile_orc
+PREHOOK: query: INSERT INTO TABLE all100kjson_textfile_orc PARTITION (t) SELECT csmallint, cint, cbigint, cfloat, cdouble, cstring1, cboolean1, ctimestamp1, ctinyint FROM alltypesorc WHERE ctinyint > 0
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+PREHOOK: Output: default@all100kjson_textfile_orc
+POSTHOOK: query: INSERT INTO TABLE all100kjson_textfile_orc PARTITION (t) SELECT csmallint, cint, cbigint, cfloat, cdouble, cstring1, cboolean1, ctimestamp1, ctinyint FROM alltypesorc WHERE ctinyint > 0
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=1
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=10
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=11
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=12
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=13
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=14
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=15
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=16
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=17
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=18
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=19
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=2
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=20
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=21
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=22
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=23
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=24
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=25
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=26
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=27
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=28
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=29
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=3
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=30
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=31
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=32
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=33
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=34
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=35
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=36
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=37
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=38
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=39
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=4
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=40
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=41
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=42
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=43
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=44
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=45
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=46
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=47
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=48
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=49
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=5
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=50
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=51
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=52
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=53
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=54
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=55
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=56
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=57
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=58
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=59
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=6
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=60
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=61
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=62
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=7
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=8
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=9
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=10).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=10).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=10).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=10).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=10).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=10).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=10).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=10).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=11).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=11).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=11).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=11).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=11).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=11).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=11).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=11).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=12).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=12).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=12).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=12).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=12).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=12).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=12).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=12).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=13).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=13).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=13).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=13).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=13).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=13).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=13).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=13).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=14).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=14).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=14).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=14).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=14).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=14).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=14).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=14).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=15).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=15).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=15).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=15).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=15).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=15).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=15).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=15).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=16).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=16).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=16).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=16).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=16).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=16).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=16).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=16).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=17).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=17).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=17).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=17).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=17).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=17).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=17).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=17).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=18).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=18).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=18).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=18).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=18).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=18).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=18).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=18).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=19).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=19).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=19).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=19).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=19).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=19).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=19).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=19).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=1).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=1).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=1).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=1).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=1).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=1).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=1).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=1).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=20).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=20).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=20).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=20).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=20).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=20).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=20).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=20).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=21).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=21).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=21).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=21).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=21).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=21).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=21).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=21).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=22).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=22).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=22).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=22).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=22).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=22).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=22).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=22).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=23).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=23).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=23).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=23).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=23).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=23).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=23).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=23).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=24).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=24).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=24).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=24).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=24).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=24).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=24).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=24).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=25).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=25).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=25).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=25).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=25).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=25).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=25).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=25).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=26).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=26).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=26).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=26).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=26).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=26).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=26).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=26).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=27).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=27).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=27).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=27).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=27).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=27).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=27).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=27).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=28).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=28).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=28).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=28).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=28).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=28).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=28).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=28).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=29).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=29).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=29).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=29).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=29).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=29).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=29).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=29).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=2).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=2).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=2).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=2).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=2).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=2).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=2).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=2).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=30).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=30).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=30).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=30).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=30).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=30).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=30).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=30).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=31).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=31).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=31).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=31).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=31).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=31).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=31).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=31).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=32).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=32).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=32).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=32).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=32).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=32).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=32).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=32).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=33).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=33).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=33).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=33).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=33).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=33).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=33).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=33).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=34).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=34).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=34).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=34).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=34).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=34).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=34).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=34).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=35).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=35).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=35).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=35).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=35).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=35).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=35).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=35).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=36).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=36).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=36).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=36).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=36).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=36).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=36).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=36).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=37).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=37).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=37).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=37).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=37).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=37).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=37).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=37).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=38).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=38).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=38).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=38).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=38).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=38).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=38).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=38).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=39).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=39).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=39).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=39).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=39).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=39).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=39).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=39).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=3).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=3).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=3).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=3).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=3).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=3).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=3).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=3).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=40).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=40).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=40).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=40).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=40).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=40).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=40).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=40).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=41).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=41).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=41).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=41).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=41).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=41).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=41).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=41).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=42).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=42).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=42).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=42).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=42).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=42).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=42).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=42).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=43).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=43).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=43).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=43).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=43).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=43).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=43).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=43).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=44).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=44).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=44).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=44).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=44).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=44).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=44).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=44).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=45).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=45).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=45).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=45).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=45).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=45).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=45).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=45).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=46).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=46).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=46).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=46).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=46).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=46).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=46).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=46).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=47).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=47).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=47).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=47).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=47).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=47).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=47).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=47).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=48).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=48).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=48).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=48).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=48).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=48).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=48).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=48).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=49).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=49).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=49).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=49).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=49).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=49).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=49).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=49).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=4).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=4).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=4).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=4).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=4).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=4).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=4).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=4).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=50).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=50).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=50).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=50).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=50).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=50).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=50).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=50).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=51).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=51).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=51).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=51).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=51).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=51).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=51).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=51).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=52).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=52).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=52).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=52).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=52).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=52).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=52).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=52).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=53).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=53).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=53).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=53).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=53).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=53).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=53).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=53).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=54).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=54).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=54).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=54).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=54).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=54).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=54).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=54).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=55).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=55).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=55).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=55).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=55).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=55).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=55).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=55).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=56).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=56).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=56).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=56).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=56).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=56).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=56).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=56).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=57).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=57).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=57).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=57).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=57).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=57).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=57).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=57).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=58).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=58).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=58).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=58).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=58).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=58).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=58).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=58).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=59).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=59).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=59).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=59).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=59).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=59).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=59).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=59).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=5).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=5).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=5).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=5).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=5).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=5).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=5).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=5).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=60).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=60).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=60).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=60).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=60).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=60).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=60).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=60).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=61).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=61).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=61).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=61).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=61).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=61).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=61).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=61).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=62).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=62).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=62).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=62).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=62).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=62).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=62).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=62).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=6).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=6).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=6).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=6).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=6).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=6).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=6).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=6).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=7).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=7).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=7).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=7).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=7).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=7).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=7).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=7).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=8).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=8).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=8).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=8).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=8).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=8).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=8).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=8).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=9).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=9).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=9).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=9).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=9).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, type:int, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=9).s SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cstring1, type:string, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=9).si SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:csmallint, type:smallint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=9).ts SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:ctimestamp1, type:timestamp, comment:null), ]
+csmallint cint cbigint cfloat cdouble cstring1 cboolean1 ctimestamp1 ctinyint
+PREHOOK: query: ALTER TABLE all100kjson_textfile_orc
+ SET FILEFORMAT
+ INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'
+ OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'
+ SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
+PREHOOK: type: ALTERTABLE_FILEFORMAT
+PREHOOK: Input: default@all100kjson_textfile_orc
+PREHOOK: Output: default@all100kjson_textfile_orc
+POSTHOOK: query: ALTER TABLE all100kjson_textfile_orc
+ SET FILEFORMAT
+ INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'
+ OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'
+ SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
+POSTHOOK: type: ALTERTABLE_FILEFORMAT
+POSTHOOK: Input: default@all100kjson_textfile_orc
+POSTHOOK: Output: default@all100kjson_textfile_orc
+PREHOOK: query: INSERT INTO TABLE all100kjson_textfile_orc PARTITION (t) SELECT csmallint, cint, cbigint, cfloat, cdouble, cstring1, cboolean1, ctimestamp1, ctinyint FROM alltypesorc WHERE ctinyint < 1 and ctinyint > -50
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alltypesorc
+PREHOOK: Output: default@all100kjson_textfile_orc
+POSTHOOK: query: INSERT INTO TABLE all100kjson_textfile_orc PARTITION (t) SELECT csmallint, cint, cbigint, cfloat, cdouble, cstring1, cboolean1, ctimestamp1, ctinyint FROM alltypesorc WHERE ctinyint < 1 and ctinyint > -50
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alltypesorc
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-1
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-10
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-11
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-12
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-13
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-14
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-15
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-16
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-17
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-18
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-19
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-2
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-20
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-21
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-22
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-23
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-24
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-25
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-26
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-27
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-28
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-29
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-3
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-30
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-31
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-32
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-33
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-34
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-35
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-36
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-37
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-38
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-39
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-4
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-40
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-41
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-42
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-43
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-44
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-45
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-46
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-47
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-48
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-49
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-5
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-6
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-7
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-8
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=-9
+POSTHOOK: Output: default@all100kjson_textfile_orc@t=0
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=-10).b SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cbigint, type:bigint, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=-10).bo SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cboolean1, type:boolean, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=-10).d SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cdouble, type:double, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=-10).f SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cfloat, type:float, comment:null), ]
+POSTHOOK: Lineage: all100kjson_textfile_orc PARTITION(t=-10).i SIMPLE [(alltypesorc)alltypesorc.FieldSchema(name:cint, typ
<TRUNCATED>