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>