Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-15566

System tablespace does not easily key rotate to unencrypted

    Details

    • Sprint:
      10.3.6

      Description

      mtr test case:

       
      --source include/have_innodb.inc
      # Test uses restart
      --source include/not_embedded.inc
      --source filekeys_plugin.inc
       
      --disable_warnings
      set global innodb_file_per_table=OFF;
      set global innodb_file_format='Barracuda';
      --enable_warnings
       
      call mtr.add_suppression("mysqld: file-key-management-filename is not set");
      call mtr.add_suppression("Plugin 'file_key_management' init function returned error.");
      call mtr.add_suppression("Plugin 'file_key_management' registration as a ENCRYPTION failed.");
       
      create table t1(a int not null primary key, b char(200)) engine=innodb;
      insert into t1 values (1, 'secretdata');
       
      --echo
      --echo # Restart server with encryption
      -- let $restart_parameters=--plugin-load-add=$FILE_KEY_MANAGEMENT_SO --loose-file-key-management --loose-file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys.txt --file-key-management-encryption-algorithm=aes_cbc --innodb-encrypt-tables=ON --innodb-encryption-threads=4 --innodb-tablespaces-encryption --innodb-encryption-rotate-key-age=15
      -- source include/restart_mysqld.inc
       
      --echo # Wait until encryption threads have encrypted all tablespaces
       
      --let $tables_count= `select count(*) from information_schema.tables where engine = 'InnoDB'`
      --let $wait_timeout= 600
      --let $wait_condition=SELECT COUNT(*) >= $tables_count FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND ROTATING_OR_FLUSHING = 0;
      --source include/wait_condition.inc
       
      SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
      SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
       
      --echo # Success!
       
      SELECT * from t1;
       
      --echo # Now turn off encryption and wait for threads to decrypt all tablespaces
      SET GLOBAL innodb_encrypt_tables = off;
       
      --let $wait_condition=SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0 AND ROTATING_OR_FLUSHING = 0;
      --source include/wait_condition.inc
       
      SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
      SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
       
      --echo # Success!
       
      --echo
      --echo # Restart server with no encryption setup, there should be no crashes
      --let $restart_parameters=--skip-file-key-management --innodb-encrypt-tables=OFF --innodb-encryption-threads=0 --innodb-tablespaces-encryption
      -- source include/restart_mysqld.inc
       
      SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
      SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
       
      SELECT * from t1;
      DROP TABLE t1;
      

      Causes following crash:

      encryption.innodb-remove-encryption 'innodb_plugin' [ fail ]
              Test ended at 2018-04-04 10:51:38
       
      CURRENT_TEST: encryption.innodb-remove-encryption
      mysqltest: At line 53: query 'SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0' failed: 2013: Lost connection to MySQL server during query
       
      The result from queries just before the failure was:
      < snip >
      mysql/innodb_table_stats
      mysql/innodb_index_stats
      ./ibdata1
      # Success!
      SELECT * from t1;
      a	b
      1	secretdata
      # Now turn off encryption and wait for threads to decrypt all tablespaces
      SET GLOBAL innodb_encrypt_tables = off;
      SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
      NAME
      mysql/innodb_table_stats
      mysql/innodb_index_stats
      ./ibdata1
      SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
      NAME
      # Success!
       
      # Restart server with no encryption setup, there should be no crashes
      SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
       
      More results from queries before failure can be found in /home/jan/mysql/10.1-tmp/mysql-test/var/log/innodb-remove-encryption.log
       
       
      Server [mysqld.1 - pid: 24973, winpid: 24973, exit: 256] failed during test run
      Server log from this test:
      ----------SERVER LOG START-----------
      2018-04-04 10:51:17 140011536948352 [Note] /home/jan/mysql/10.1-tmp/sql/mysqld (mysqld 10.1.32-MariaDB-debug) starting as process 24666 ...
      2018-04-04 10:51:17 140011536948352 [Warning] Could not increase number of max_open_files to more than 1024 (request: 4162)
      2018-04-04 10:51:17 140011536948352 [ERROR] mysqld: file-key-management-filename is not set
      2018-04-04 10:51:17 140011536948352 [ERROR] Plugin 'file_key_management' init function returned error.
      2018-04-04 10:51:17 140011536948352 [ERROR] Plugin 'file_key_management' registration as a ENCRYPTION failed.
      2018-04-04 10:51:17 140011536948352 [Note] Plugin 'partition' is disabled.
      2018-04-04 10:51:17 140011536948352 [Note] Plugin 'SEQUENCE' is disabled.
      2018-04-04 10:51:17 140011536948352 [Note] InnoDB: Using mutexes to ref count buffer pool pages
      2018-04-04 10:51:17 140011536948352 [Note] InnoDB:  InnoDB: !!!!!!!! UNIV_DEBUG switched on !!!!!!!!!
      2018-04-04 10:51:17 140011536948352 [Note] InnoDB:  InnoDB: !!!!!!!! UNIV_SYNC_DEBUG switched on !!!!!!!!!
      2018-04-04 10:51:17 140011536948352 [Note] InnoDB: The InnoDB memory heap is disabled
      2018-04-04 10:51:17 140011536948352 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
      2018-04-04 10:51:17 140011536948352 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
      2018-04-04 10:51:17 140011536948352 [Note] InnoDB: Compressed tables use zlib 1.2.8
      2018-04-04 10:51:17 140011536948352 [Note] InnoDB: Using Linux native AIO
      2018-04-04 10:51:17 140011536948352 [Note] InnoDB: Using SSE crc32 instructions
      2018-04-04 10:51:17 140011536948352 [Note] InnoDB: Initializing buffer pool, size = 8.0M
      2018-04-04 10:51:17 140011536948352 [Note] InnoDB: Completed initialization of buffer pool
      2018-04-04 10:51:17 140011536948352 [Note] InnoDB: Highest supported file format is Barracuda.
      2018-04-04 10:51:18 140011536948352 [Note] InnoDB: 128 rollback segment(s) are active.
      2018-04-04 10:51:18 140011536948352 [Note] InnoDB: Waiting for purge to start
      2018-04-04 10:51:18 140011536948352 [Note] InnoDB: 5.6.37 started; log sequence number 1629444
      2018-04-04 10:51:18 140011143952128 [Note] InnoDB: Dumping buffer pool(s) not yet started
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_SYS_DATAFILES' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_SYS_TABLESTATS' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_CMP' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'XTRADB_READ_VIEW' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'XTRADB_RSEG' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_FT_DELETED' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_LOCK_WAITS' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'CHANGED_PAGE_BITMAPS' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_TABLESPACES_ENCRYPTION' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_SYS_FIELDS' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'XTRADB_INTERNAL_HASH_TABLES' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_TABLESPACES_SCRUBBING' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_CMPMEM_RESET' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_FT_INDEX_TABLE' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_FT_BEING_DELETED' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_MUTEXES' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_FT_CONFIG' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'FEEDBACK' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_FT_INDEX_CACHE' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_FT_DEFAULT_STOPWORD' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_CMP_RESET' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_SYS_COLUMNS' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_CMP_PER_INDEX_RESET' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_SYS_TABLESPACES' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_SYS_SEMAPHORE_WAITS' is disabled.
      2018-04-04 10:51:18 140011536948352 [Note] Plugin 'INNODB_SYS_INDEXES' is disabled.
      2018-04-04 10:51:18 140011536948352 [Warning] /home/jan/mysql/10.1-tmp/sql/mysqld: unknown option '--loose-pam-debug'
      2018-04-04 10:51:18 140011536948352 [Warning] /home/jan/mysql/10.1-tmp/sql/mysqld: unknown option '--loose-skip-plugin-innodb-changed-pages'
      2018-04-04 10:51:18 140011536948352 [Note] Server socket created on IP: '127.0.0.1'.
      2018-04-04 10:51:18 140011536948352 [Note] /home/jan/mysql/10.1-tmp/sql/mysqld: ready for connections.
      Version: '10.1.32-MariaDB-debug'  socket: '/home/jan/mysql/10.1-tmp/mysql-test/var/tmp/mysqld.1.sock'  port: 16000  Source distribution
      2018-04-04 10:51:18 140011536009984 [Note] /home/jan/mysql/10.1-tmp/sql/mysqld: Normal shutdown
      2018-04-04 10:51:18 140011536009984 [Note] Event Scheduler: Purging the queue. 0 events
      2018-04-04 10:51:18 140011206850304 [Note] InnoDB: FTS optimize thread exiting.
      2018-04-04 10:51:18 140011536009984 [Note] InnoDB: Starting shutdown...
      2018-04-04 10:51:20 140011536009984 [Note] InnoDB: Shutdown completed; log sequence number 1632558
      2018-04-04 10:51:20 140011536009984 [Note] Debug sync points hit:                   1008
      2018-04-04 10:51:20 140011536009984 [Note] Debug sync points executed:              0
      2018-04-04 10:51:20 140011536009984 [Note] Debug sync points max active per thread: 0
      2018-04-04 10:51:20 140011536009984 [Note] /home/jan/mysql/10.1-tmp/sql/mysqld: Shutdown complete
       
      2018-04-04 10:51:21 140671079197824 [Note] /home/jan/mysql/10.1-tmp/sql/mysqld (mysqld 10.1.32-MariaDB-debug) starting as process 24760 ...
      2018-04-04 10:51:21 140671079197824 [Warning] Could not increase number of max_open_files to more than 1024 (request: 4162)
      2018-04-04 10:51:21 140671079197824 [Note] Plugin 'partition' is disabled.
      2018-04-04 10:51:21 140671079197824 [Note] Plugin 'SEQUENCE' is disabled.
      2018-04-04 10:51:21 140671079197824 [Note] InnoDB: Using mutexes to ref count buffer pool pages
      2018-04-04 10:51:21 140671079197824 [Note] InnoDB:  InnoDB: !!!!!!!! UNIV_DEBUG switched on !!!!!!!!!
      2018-04-04 10:51:21 140671079197824 [Note] InnoDB:  InnoDB: !!!!!!!! UNIV_SYNC_DEBUG switched on !!!!!!!!!
      2018-04-04 10:51:21 140671079197824 [Note] InnoDB: The InnoDB memory heap is disabled
      2018-04-04 10:51:21 140671079197824 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
      2018-04-04 10:51:21 140671079197824 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
      2018-04-04 10:51:21 140671079197824 [Note] InnoDB: Compressed tables use zlib 1.2.8
      2018-04-04 10:51:21 140671079197824 [Note] InnoDB: Using Linux native AIO
      2018-04-04 10:51:21 140671079197824 [Note] InnoDB: Using SSE crc32 instructions
      2018-04-04 10:51:21 140671079197824 [Note] InnoDB: Initializing buffer pool, size = 8.0M
      2018-04-04 10:51:21 140671079197824 [Note] InnoDB: Completed initialization of buffer pool
      2018-04-04 10:51:21 140671079197824 [Note] InnoDB: Highest supported file format is Barracuda.
      2018-04-04 10:51:22 140671079197824 [Note] InnoDB: 128 rollback segment(s) are active.
      2018-04-04 10:51:22 140671079197824 [Note] InnoDB: Waiting for purge to start
      2018-04-04 10:51:22 140671079197824 [Note] InnoDB: 5.6.37 started; log sequence number 1632558
      2018-04-04 10:51:22 140671079197824 [Note] InnoDB: Creating #1 encryption thread id 140670677280512 total threads 4.
      2018-04-04 10:51:22 140671079197824 [Note] InnoDB: Creating #2 encryption thread id 140670660507392 total threads 4.
      2018-04-04 10:51:22 140670685673216 [Note] InnoDB: Dumping buffer pool(s) not yet started
      2018-04-04 10:51:22 140671079197824 [Note] InnoDB: Creating #3 encryption thread id 140670652114688 total threads 4.
      2018-04-04 10:51:22 140671079197824 [Note] InnoDB: Creating #4 encryption thread id 140670643721984 total threads 4.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_SYS_DATAFILES' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_SYS_TABLESTATS' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_CMP' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'XTRADB_READ_VIEW' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'XTRADB_RSEG' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_FT_DELETED' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_LOCK_WAITS' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'CHANGED_PAGE_BITMAPS' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_SYS_FIELDS' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'XTRADB_INTERNAL_HASH_TABLES' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_TABLESPACES_SCRUBBING' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_CMPMEM_RESET' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_FT_INDEX_TABLE' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_FT_BEING_DELETED' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_MUTEXES' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_FT_CONFIG' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'FEEDBACK' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_FT_INDEX_CACHE' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_FT_DEFAULT_STOPWORD' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_CMP_RESET' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_SYS_COLUMNS' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_CMP_PER_INDEX_RESET' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_SYS_TABLESPACES' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_SYS_SEMAPHORE_WAITS' is disabled.
      2018-04-04 10:51:22 140671079197824 [Note] Plugin 'INNODB_SYS_INDEXES' is disabled.
      2018-04-04 10:51:22 140671079197824 [Warning] /home/jan/mysql/10.1-tmp/sql/mysqld: unknown option '--loose-pam-debug'
      2018-04-04 10:51:22 140671079197824 [Warning] /home/jan/mysql/10.1-tmp/sql/mysqld: unknown option '--loose-skip-plugin-innodb-changed-pages'
      2018-04-04 10:51:22 140671079197824 [Note] Server socket created on IP: '127.0.0.1'.
      2018-04-04 10:51:22 140671079197824 [Note] /home/jan/mysql/10.1-tmp/sql/mysqld: ready for connections.
      Version: '10.1.32-MariaDB-debug'  socket: '/home/jan/mysql/10.1-tmp/mysql-test/var/tmp/mysqld.1.sock'  port: 16000  Source distribution
      2018-04-04 10:51:34 140671078259456 [Note] /home/jan/mysql/10.1-tmp/sql/mysqld: Normal shutdown
      2018-04-04 10:51:34 140671078259456 [Note] Event Scheduler: Purging the queue. 0 events
      2018-04-04 10:51:34 140670748571392 [Note] InnoDB: FTS optimize thread exiting.
      2018-04-04 10:51:34 140671078259456 [Note] InnoDB: Starting shutdown...
      2018-04-04 10:51:36 140671078259456 [Note] InnoDB: Shutdown completed; log sequence number 1636206
      2018-04-04 10:51:36 140671078259456 [Note] Debug sync points hit:                   2182
      2018-04-04 10:51:36 140671078259456 [Note] Debug sync points executed:              0
      2018-04-04 10:51:36 140671078259456 [Note] Debug sync points max active per thread: 0
      2018-04-04 10:51:36 140671078259456 [Note] /home/jan/mysql/10.1-tmp/sql/mysqld: Shutdown complete
       
      2018-04-04 10:51:36 140568167758976 [Note] /home/jan/mysql/10.1-tmp/sql/mysqld (mysqld 10.1.32-MariaDB-debug) starting as process 24974 ...
      2018-04-04 10:51:36 140568167758976 [Warning] Could not increase number of max_open_files to more than 1024 (request: 4162)
      2018-04-04 10:51:36 140568167758976 [Note] Plugin 'file_key_management' is disabled.
      2018-04-04 10:51:36 140568167758976 [Note] Plugin 'partition' is disabled.
      2018-04-04 10:51:36 140568167758976 [Note] Plugin 'SEQUENCE' is disabled.
      2018-04-04 10:51:37 140568167758976 [Note] InnoDB: Using mutexes to ref count buffer pool pages
      2018-04-04 10:51:37 140568167758976 [Note] InnoDB:  InnoDB: !!!!!!!! UNIV_DEBUG switched on !!!!!!!!!
      2018-04-04 10:51:37 140568167758976 [Note] InnoDB:  InnoDB: !!!!!!!! UNIV_SYNC_DEBUG switched on !!!!!!!!!
      2018-04-04 10:51:37 140568167758976 [Note] InnoDB: The InnoDB memory heap is disabled
      2018-04-04 10:51:37 140568167758976 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
      2018-04-04 10:51:37 140568167758976 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
      2018-04-04 10:51:37 140568167758976 [Note] InnoDB: Compressed tables use zlib 1.2.8
      2018-04-04 10:51:37 140568167758976 [Note] InnoDB: Using Linux native AIO
      2018-04-04 10:51:37 140568167758976 [Note] InnoDB: Using SSE crc32 instructions
      2018-04-04 10:51:37 140568167758976 [Note] InnoDB: Initializing buffer pool, size = 8.0M
      2018-04-04 10:51:37 140568167758976 [Note] InnoDB: Completed initialization of buffer pool
      2018-04-04 10:51:37 140568167758976 [Note] InnoDB: Highest supported file format is Barracuda.
      2018-04-04 10:51:38 140568167758976 [Note] InnoDB: 128 rollback segment(s) are active.
      2018-04-04 10:51:38 140568167758976 [Note] InnoDB: Waiting for purge to start
      2018-04-04 10:51:38 140567828735744 [ERROR] InnoDB: Database page corruption on disk or a failed file read of tablespace ./ibdata1 page  [page id: space=0, page number=307]. You may have to recover from a backup.
      2018-04-04 10:51:38 7fd87f7fa700 InnoDB: Page dump in ascii and hex (16384 bytes):
       len 16384; hex 9651612d00000133ffffffffffffffff000000000018ed5145bf000000018a4108a7000000005d8b2a76e34137e5190c09f2627d33a05ad2bcb86c1291e29191473eaf4883c15e3c3f6d055b3fe4520fb6cd3fdaf392b852dfa108b1886966fee2d30ce32fd607a71c62e16a40b633dbfcfa1b550c5280e2e1b4b6a7fb1d156753832ba6964d87c644422539c6ded02507e753ae5620451943c7eab13f0be4a0e4fa572af1147223bb3aa921b64d51fe800dd7f443f11dfd9e3d930c7dfe3a98e61f47bb078c9184c88416ce6faacebf0e3d8739396055b5a67dc72ed8c7ddfbe96e59bc26be2c955857b4c0877b5a4e72a7e6b8481d20c3563f67df68d8bf14ed0de1bbe88d4087d72c9dca27fd8e3fd21097fab3e4624452a1608bbfa63a7e74b8a4417df7180bd89e7d6d70b3d28f46c7b0df96774ae486f889b70956684f53b69767ec9c729bb4cfc0ad37991723e5a399898ae87f75814ebcb912e860e87019b567302c0a4727ec925ca13852bece07ed200f50dfb7f3a230507bce2fae787650c004a9647c4734f230bb8a93552dff4afde465d723869448d2a85d4863a4292377875f6bf38070505ffe202a286970696cc1e79e02addcfa0d8d0b4f40607b8b1f2f10355153de6aa2d230bf2c22bef1f8f49e543dd1e391f6f10d6dcf89ceac6f7bc93fe963c20e7f3f8c4512dc5632d7d2177245beaa6f605f2878ecea2f5c5f29f08511c5585acbb4094aea7ad29a4e6ba6d438c016b3905da754ada79f4399db4fd4a3f5d18b5353b2d2c98c70f6ab2e4aab89142bc1754a6ea0cee4a9b6849f6a12503f03d69c5119d7afa91c10a122c4a934204d1bd6cdb65a9b60949388779f0c9eb996522bc7b3502ef136dfc2bfcac1126b3823bfb786c94c0e9cb0d9cd8faaf1b08a1d49f9dda437dae042a6a5afb45855553f4e1ba0505a9b8f77108a13a1f617ba3bdff34101ca058d471a486be9c57198036a387a2a89e2ee2521ad6ff2927c4e91e10e1e652cd8dd524e63c989be892b88271bafd9967f382efcd4831199e0f24c63f88f2a619eb1bd28489fb1158cb99ecfb82ddfda0fb8ebf471bddcdff1e383847fd8b6dcdd97a4dea3be70b5c5a313e16f08556041712e04317dfaa8d43dc48555bcebb771d4c3e09dc012b9a194ed92651b915c4db2916d11b23050bcc39f4ebda3fab2a883ea43f6b830b304859b0d469fa801fe743b66f4160d20e7492682cd4172bcf656f36552f35cd7cbab780342e20b5ac5f53679baf5b1a381855973e2aed12714d452c64b524b038846c30e0cb151dea59ffaea956c3c740bc98d5e2472fe24deda052d3c3b172f505bdd271a0809464c0d5be9787eab2d7fed620dd72a0101e7cfb3aae2000a380fd1ab587306a954dadf8d8d6773d9c502b6cadd534c54d647d58980f6612d9eedd4235faab90fc8423a7b412822eeb80398f8d89a7f5b63839da16132e35f12e399c3d09b1b5e67e5d3b73d36988a1f432a8386f78ca0b7dffa02c8e9343e725b0262957b09a5a6c775f77b9faf631c361a78e54d526f560be767650d67a6a7cd16476f2c57c5fbf62b7f7a6381561e8a2266c7848ab1bd656814fd6babc77f275da64b4fba965fc10a052b56b18ba367c3062d294396ab0fecb8b6c58f788bcb60e46b75c616a03506e17566ca1d21e28b5b77600ac0fa0bac1555b23c4e7b2348670600fec023b258d961fae1763f6d840cdb45b73b3da0c728440b0b45a37b7e33a601ef3c2afadb45cf08ae38ca05d50cbefdcfd982f4395688bcc77912c9244acd12393e705f68d70af3b5b8b64f379cb7b7829be2659562f2b46cc4a92370f1f14b394c14fde60129fc5825c8b6851bbf474f523922d2de5b3735bed7ea19a90e4eedc65e4461ea3138c414b6d01ad03687536f51eed7cb5eb2d77f7d91057ce3a413d292ad3a7641291607adf2bfbf2b8ebfd578005d835995dcf654120b3f8ef4de2d8e17dbd48983290f0769d8ef273496ac68fb5a18a13b3bd4d4305e0ba43fb99195287a397e05486495c51afa5526867a8b188e044a2ebd05da99d33baadb1edd6cae579bd1edd000394566469b5c8b25304f27a1de84e8807e8210e10a519d2fb8d8275413055d17f9638eb1c9d67670d897ec99c12f841b6160fbd22bdc18982a3034cd8576e578a979eb773197fe82f482b0bcf35edab474b50ea962b00255ed39cf6c9673aa53eda8e8ac0dd8fac345cd33f15ecf169969892e7261a81099b216c1bf1c7a04010c12cc1915d17c0b11954bf0bdb675fbada0d25d1b15562763a49bdabb6d3ff0c3a8ccc1deed7f08b7aa8ed3a17e0cb5a2853c4dc0e2522e2a0f6f0c7823c225522bbe2ad7ba2a9462205eb413ff7ab9864ffde2a84868f42511049bf354c9407940b316fae1fe74793e256edc6dffa993c3d4a3229bf322c62b584e18e20f95a3b5edd2c74a8415fa99e5fc2656edccca6695436e219952b5522e477e58854bd0595dc062f0f202989ffeed3f0e8210eabe33d4916bbd6bc601559ad917ad4305cf8fd4d8bd1c2563e5e054572380a5b24c6a2a0651e8b2653c23a544adeb2929a8add793e2d1c3b48302b32098dd702d9a67f4577da7a4737b7dba96afa92aee4d5aef0ae04c7f06dc5e424b77fe7d45d2a384a9422b0cad80991112a5c86f00762acfa3d316af6dedc8eb2d4623967c0eb1397648e21c95a49b9a5af89affce5c776cd75795f58b8aa51b452204b08ab4d4c99870554e1eb0fb822dbce7412308342b157c35663c5e469ea61e21078e70e6a730b78c24fc8e5771a4c84df87ebddf1ce280f739d00e51883896e97350f751f42f22893f336488c355aa1e63ddf6f82e643b7f2292927fbe354e140e3154099234479ff36b4ff308d2e1202c12f292d92d0e2ee7e691f7d752bc8049924c28f16a4558c9790712d8b6a0fef8fec5ffa4121bf7b5ee2baff096c81be162e89e2d7ba95af2a7d32cd8b3a364f457e8a54f71f6ebc0f25e802851bc6cd25c9e9afe77a0dc81522d846c123682a0dc8137ff6335f1e96009ea86a8a57000dacc2a23f0b7ff6279bd142879d9522f4e3450f01052c8dc4eb84a0a2f7ff7ce03370178b2e68a5a0a45de500fac3f1b159a49028ca6b2a64d35758314cd274a759e5a4f5c4000a9422d8bd08e5f5aeb203848f3e5225b96e582db16b84ec406c2693266ee480b51eb7b78b1c4439289fa4553c49dac82eabeee890e052b5712cbfb8371d5d8312a9661d8939b3ffb85e94f7f53f4f0a1f71f84bc00b06bf5beb90964d6c698f2f8e5b59685a4a9226a6800f6327be50e2d0c3db09f44d9585ede0d3c818463f660d70bc66188d1492062de981bd8f8e2fe323cda7beaf6c50e6c485e3cbf51a33185949954f20bab517c13f5562ff570776d7b9c578e3f2e2a3fed8822fbda493a786c950754adeb1e80967faf7b46cd3797a0318ac8d697cebf5854083357b290487196c62479ae804f73ebc3a746df9aa564391fb055300731b2087254f3d23d7033a572dd35aec04c554f776c626530a81c6f89a45a0674c717a69bf06dc963cbe9377edf5a1acf99bb1e1383459046f27f2ceb88eedda31598c3ce08ce322d779b40a9a5eb42e15d62ad1cb1a2bcb08e05fa3d834dd1696aeafcb9ae99a51ae46567ce180d880ce0d9ace1103ddde435b2bf0ca6dc97b98f888e2621455d60d39c03649a83fce203faf7d982d5b7770f581231b5c8a07d0279709bc5717f2b2cb17e136afc37be93d98ab7221ae8e974422c8d46b0b713ca2d8a4cdc08cec3f3d335c7c8fc4fdbc246133e924c58438fb654792c1b188156ea2fd1b11f9613463bd7c2bf037070b992625175c5805977d064abce20baf854e0b686672c7d46eb16d3a64387edab6c1ae9cfeee2989b844f22bc3c9517a6577502c121b5f2d85d342a3a387ce11aefa333b6eb681ccdca0c36557082686077d3715c8ffb9b20b6567aa0d2345d0d07e7c1e0c2a2db2dc62ca9afcecc3857d24be0b8d0b439613e3a7c91e977802e68ea60fd2cd8d62388a5c83cf4552307ec68e5bd98dec22510dedfc3c060799283e362b56a44e422a109f2b240d0450e4bb5005b15184dfa947ce43066804e70ac38107bdea25c6387c4caf2b9386e28619a65c6ce804b7d4227683d205ecb4ed43200b7ab107e7964047326959614b5f8d00da8d19d4f66ab9421ecb98bcf597824428ac49c9622cf2f8ef73aeca383f53963bd4e52477b545694ffb038397e8c11c44683687b5eb9aa9ba614dedb3ff08501cf2545209190720b9af13bf9e5319b71abef641284802bc13cdf3c73f958d4438222645d92073f1df9ead8a5b3ed03fda6b2e5194951c38dcbd634dab3a3ba625a86dc81e0fd9b426b57bdc902752c7bcb8f6efc439bab59de71d58f70012c35195f2fb836eae8ea05b77509d64123bb3eb918f1ca97f2aeec293065dbd64d95fc1abfb9e646cb6181e83dcbfb8338cfccf581ead8cfc874573b2d502a2ebbf12372b2f397cfe3637d913ed909f49f5132693974756e17a86a5c09b778881ea4f5c68a4e5c589f06056132a814bc56eb9d4f4bc1a408811d1f779df634dd06eeb95ce4cad404999a9b66e35252466e5e50b87be7fcca9499b4f2004adbd86aed94955181e0043e5ec039555f38af55e9bf418d280517845ea55729372e3f7c0673e357dd08f3598749752f64dc1611ca4de8818951d5807cc121c0a76ea229b616ba7d6114f9c9dac2f7f6fe16f34b81895b50ded6d81bf7cfaebd99af5d697491e7192c87265fdde1b35cfc459545ba422bdbc843cac7cacfaebd93d133daec64991b07b336e483cc58b14ba8a4643ed05ba4b36c5cea24a655e96100187772fc40e03a732994d3622534143d57212b73345972cdcfa8ed36f36e9626d35aa005bb18cceeae1cc3ac205b79df80c117910eaa79879408fde75f5508034aab79b75a46f62cf7ee180b2ee758e81a6b0fdb883911b89fbe0eb166f9e912bd7fd861b5a49cd2bcfe4df5252dab6c79e58acc643e7401b15c8ea15d2e6a18be5f1766c67cbf2006f25bf5facd25a374ada538aedacd2b8feb74cbce9d694734691f14e5f8dc9ece895f76759a36d5b38b1f3225f7955bc22545b82d13010dd8adc853f69e6464e96f13710aa0cc57688cb72980044e2d0f146e4ac4a5a4550b179f2ac02ec1054a57e98a14c48dda342ddc40da9069745841acb85599930c6cc8bc043f8f53dbbfa38c1de92b0a95f396b9b969d63eb9a4581a3b770b048e12256f6b8809b37940bd56be69ed7930d4891af427ceccaaea1d259096e72444a33576261c19eea4f1cde6518bb0ed552b9730657ea375c96c85a415711f80fcaa10fbaf2eaa9e6973f348a8431a1364e36835a896ca89892c4606836615f048f4cb5d30e726c92d0c5d766c13f4634254d1d8f2aeb60c77e6dd8a413d283e290173f9cd17cb475052547d4cfed965ae61077a9e95a5f8c3123f1946315f475edec2463ceccebec98d46c8f5b6f5a0340091fd5897cf908ca576442700781a1cfb6af08a6103c02b2c0ad714857a6945dd9cbeb1650a79fe8d21a7f87e9ba7ab793d42a8ed274b200e3c20e0d97f663d905bff3f1a81e366d5733d9d4919156f0cbdb5ad249aba202063d5637f6a812d5973a4d9dec367b3d0bf6432ea3227805b58fdb0c3ad6e3d2c90ccc88e72203d791c99b02345aff1230fb7780ea3c41694abeafd6b5093edc7fc90918679fe83309f4fa2821f6f8e5f5d3fc6a7f57a700faeed57ab777d859fa07da3c3d295b1841cc22c61cf2666343d91390d7adc5cd5044562e18335b986c19a32ecfe40db6b2670d61e3b020c8af52403dd088f6811fa4c654422dfd3b896763564bf04c62e06622025992d609dc5835bdc39aa8d480f731e97ae3c5ca1844e5b48e0f4f3197425fdc84b4d53af3e4184330586fa800f64329193c1342f62f8fdaea7b5800377c8e3b83973dd41914146fed26c0913b0f47bfab030177406326287ccd3088f2b5b6d282eb763a35cc814eee2db060ba5302f589dbd08a1de1fa05d03ee3aaa9d97428c30ccfbc38c905fa5c6bfead900f521f9c9aa681c2d549babd5b23c36dfbf57205762fda399ad2aa27b979f49fafdb8219e0fd01fc97936c261c38e6b45863c5b969109e91e3778bf345ad42a234abfa911ddbed4b27c2efea7663789ef9a63bd235358bd75fbdd1966b63af53701a43593d59feb9b9ee82e8510b327a0ce2e77dca740994a7e7c8b696564b3e3dde0f7ac22f21176cfcdd39a9197e64a6c23e5e35898109a81a7e75ca8d45e5c825a764e143552b031b9c131f296e25524079c328e63dbe606f34e2559ac45f2a1a41a9da06226a815dda64d8832eaa4ad204d591e028965e2433d633f1b989b7cf03d2c0980d787171650605018004d910fa9ff3a943d7d08d87c1dad7188c72f65d101712c398908071c90f8e2b0cb3be8fdd17dcb9277ffce709f5184edb653ed98e0b8624488c00d7bd605e2a84c1bcb6cb3bf117c781bd591845df7a3ed357ab1ff3c6c5c1fe6747ee9b1034c38a56ce33d7d363961a0bdb0f3a485a71522078484d78dd3795ab82de9e9bbadbc9a917d1247be6e18047d601e6ce28802012ae11181cbf2972c138fadfeb96f1b9b812f7290c26794321c36ab3ef83941cb57f69784895a029b98aee774cdc13b3d0a0fb71af8a4b85d07eefbbe72e64dd1b085487fe1f9099803df20d69273c3e1047204b954ec37f0c91812a74ccf9f2a586e481abdda584a2ce8e049d658192b83065b15a31257162282823c8bd06cb9057af62c8ad330f536f21b73ccef3b1ca77dc66db25f48de83f5c9ac1a9e6ff7ccef4e5180102a774290b9b45eb805d7e7389c28c3ab81f07cab876ff843e79d452893dac26d217ea057bfc3b4f82533d43fbf1ca24f151aa86450cc45ef941217c31e76c8df94fef0e893358a727698769c44a2d4bc3f919f6f78c3366b85fa01bc936fba7b44488cbf7a8990f2a10cc2c7559955effca06fb259e122402b2883eb5f412d33cab973c25788d787295d14d0f5a2e19bd939cc880d03e3be88cdae85e7083baf3260067c39d9a2b955447ee8b8c51e6fe62fdd57cf5a96fc5e4632799b9d063a3ac4bb2147e219657e924642bafe571324c2d82e3084db9c6b48ac71d4c83e22f1d9cfc611f51ed887e0708dd3f4d8a93f2c983019d4e5b7d9fd652cd95b7c785190ba3ada552eb7fcd18129333fa8f0fc4156a9d96651c919b4c91feeb5691a98d5c137840c4e212c55e741100dc41bdb39a13660e21ca9142736177fa3c0a9b5b7fbea86be6dc0ebba4e873aefc3cd67202b7deb4ac30e60dfa19b21211ad7866d239c3476d81f2d0851d39884c6e1b0f06313c2cca262c4ec2019fdd7bcbfe5c233b840cd8ee5aac86747694969b81d3bade08b77f21c3e5a1d49a0d8d5660668ea2c5cfe1d44ae8c7e4d5ee1ea95ab365329006679c90559873a409028ac0dc98437fc9bcc0d038ed9996ddf8e04f1739109d34ce6a4fb96f070a693394d3107f3d5d7915947f142c1146f6c6bdab5091914eb03b493be78df5d926e6ec7a683bebb708bc7cf8c7f83079e1ed4324ce671d23e6d48cde91a8628be79d1a3392fd2a42da9851728fd1d90501c7560d0db5d4ffcbf7260611c37ac9629086e6d0450895aa57959a077fcb7df97e37887b3bfc6828cd900b7d29308917dcd783f819d085e7ef8986f5bbdf81a546672eaea1bd800bd2f92530378d7bbee3f2b2249acd09bc6cad533dc4cda688bc514b50f35e3a8effc4cd197e6a0e1e7d3eded3ad75f2fceae661c5ac875616dc3412617f9fa7981a38b8b985f1f61ef8e209248bad7de9e44dbaed7f838054514b3ccd635db39a4e0b0f5381932e0a285b981f0797d56259db84e122be1377643716bd19efda64b6846e2a1270b6c697508197ca70ecafad2d3a5686d9bf8b7d3bb2732ba50bc03c953325557e977acb2033a70e60d3a98953a28628cb32f188a379a0c6aab077aef27c3529a87285ecc48fd1621938c863d0ee0dec48b03628e903bb8f6fd896f28cf82ac8c48ca0dccec6f93b2053b6771c75126c2f908ceb9e2cf03d8b68ded976fd1a4d196f9e8a622c7c15345688ea354c93309c02f410fb2453474cda761be5d862f5c77854332c9f84b39273668c21b07445b0d91046280507ddc8281a46b560adee6f2559105efb7daf3b18601738fae851a55112f005c6826f5b09880a26540f3248eae1fc9befda7647c474158f93be1d0f46c2d4a68ce69f6e9128bf101c05479ad7d528ac82bb4bc96fb0962550bd3a7a7e6b3136065b69b9b7007b148b5034b378df63b49646dd414962a8256594c1678f7ed0e8febaa26eb71a4019ad5c3374c580bd386d664e18a5a7a429c5ac6b2f4d1fcfddba5e06729665bb18c682450d569bceeaa3954425cce4bef50c0ce202315caa196563cb06ac725661c7ef086c2cb3cc06deb5284c2e59785fa840fa06ca587bb4e5e393bf97812effe6c8f2a37ae2cca01e1f96feb692a2d43e25dee546092f23aa37e18531117365c55e9ab8932adc05e63dfd1372e925dac956de306af27ca0a240ff8ada998fccfd80b1774b69cb839d65d73c900c6405dbc5a32ab2a09d2854878c9ca11557cc5b04d0d67601bab7a70bd920ef59d2c02fcb95a90a87ba5c100df9f29beb13e319cc19752f5d6c08d6899bb5ad2ec8350da18b2d23193b7da925213a6b6befa4b13d3e0d541271233dcd607a6d2610827feabbaff2a720b46bd7845f9a022610d0314ff7f315efbe957270136da32ec40a6f220ba706e860e7f0c9bd1beb92cc3b96afc2e4271b77e9433f019b215d64d7d4314668d8ea048e1edf8f5134f12cd93f077dae3c880f8e1bff25ba475633617d9e34726f47e66beef16463cdc21ebeba6905e22572d38ae19931154752060e354dd082214eda8c1f0da0f4de72a170b3ae55b1825a264ff669bdb6f51bc7339dfc6a7a4f981657b3c4205485ef19d5d519f995c0ed7cbdb64d96aa3f01a18c9b6658f05c0ddc4d8e818fe7365e81d3d85a40e646564369667cb2c3debe15c939ef426783845f4070a59ca8e84b254dfdc2d2f195c97a51c6f778ff0736a51df86ae10f0c8d779b0f896eb437cb75b9a2063e5d47d24db7d576639abdcaf230bc7633fd89f64b0ec81dfdb11547d7ce303384ee98288c51169870a7d9d7fbee08bc282eded25552a542fd40d0927b87e002b4d27217286792e40b9882f613fe385445f239ab5f9500a5491532fc651119d285ef9681c5cb6a7e80e588727e64a1f762b421cf1d4c15ccd18bcbcbdb6453074d256b41ce7f5100462e6b783a535dbd987da2a26d34c08fbc959aea7e09cb500e719851a958921ae7d8b8c81c270d465999e70d31fcec929a44edc915d6b1c24c6747fa408567129463bad3f3ae83d2c653b43c8d2aa15c01b3db58b0d2524d773fc32ff1b94d15f237bf3a5f5fdfb0c3072c35613b5076df135fae9d325e782f0b54fef028144e2fdfab2ace3acc067d63016357ab4df603cd2e5a59b64d79455fa59424bf0630171f45a2aae01c641faf65d01f11197c32dc12ed98a524348c00d7287ef680febd0b8a29fcbc2ec416d6e3d4282f596cea47e436796b50f39d9beac6b91669290ce6f3de72f3bf851b22abeaadd9276264ea150900100c37c784b29e3d94aa34f34feadfa8e4eed644825fefdfb543966f67d806173f20dcbd1993dfca29470680369b63f0cec285ed229acf6817b1aca7a1f29e9ad4f3e0303aa10ca1739af2857c4fa643c98e60c8683833d64bee314a65d7f463ae7c42bc5775d557e5247d8821d021640279d159f5069cd160b763119afa059b230ddf636bbe70754f669e5ef619d00533967123398a6b2da497e6025b45c4630dff71eae2c6ddc26b69d5eea12f57b96d15c315a6e55cdd25fec99cdd67df9e0cb48a8535af62472162c55c36eddfbc9f3de7c35a4af1f310252720da8d29a186ea44391fe590bde9085e909871b2cb507fb9b79000ff4b0736a26c7ca1909e0a12147110b17dfe2f627b591890afc2fcba2b00b35bd8eb6e2b919025e0dce8bcc8222560a9023f6c80fc1b3d0665e02a1581ad85e9111da8f0a728bb2efd2358f87f8de8ac63e174135c59be394c343cbb349c7bf125667883f11d117bd6a55f0011b2df653ae042745f455a8d2a320589dc02b0a3ee8e2f59d05bca05f7756830dd0c151315ba4a1805713d3508f92162dd0c4acc377891e03eb86d66d7bd2fbdb3a3bab6f643fba21fe479cdb402491f16f7843b39845e7d06ae5e2379641896e77d0da2e2edcb77434cfaa5385f6afa89afdc385080138daa46fdb5f3de7ad722dfdc3b7449b45a869b6b8ac8227c4e119edf41db25cd696b7c07da992c8b5c8ff8ec9f8e5b7ae5b4e7ade8538316ead172059ece4e265458b6fefdbd993fdb0182c8748e6e4fef5089c6784227c7a6c5ed08a2a92c0295fa7ec329bf5565ba234ac3909fdfbee8e678f545860f60cd62389864e7786be40a76cac538b1cd4da3aae07224d35f0ce002ead10918688323f7bd257570dbc4d395c596760f2cf095d733ccde4dc9d94796b29e4dea591364c572497676352f9fb25c214d63b46bcb526beac9a11d4ede3225a1bb6930fa707c31ea1d45a9fd5f22c66d0ecc2f8e4592fa0e68a8acb8c9b2d90d2e6106214bae6e8864773c7a5813867f339a24ff842a2b172f5117fde4e0ff515c229095a507501747855ed9f8cdd176ccc41bf713f7d1f25056068cd8baa60e26db1a7a9cfd6f30af1945f94317a4e0efd5b1be1297617e7d6b091992bb50c4260cc142898513873bd68d2ab3bc3024930028dd25590bdd23bb25773681e6e54e52339b23c36cff039bde588f1cb970070db3086815b78493d8d36dad55be6179cffed458ab8535a61a29466ecc7c66e2dd8e623c3cd8ccb72c118ece5955f1a3cbc082ac514de11398c9fa150ed8a60a5ca0bda814e28a671dacdfab71a995b09d070193b77c204fc97f1b6e479f95c274f68381d189219585af21910914a9b0723d30484730a8329ba0820fddc859978fa44b9e691265bbc944a839be5d724dbac74388cd0db6b06863c9d976a69bfc0c4b8b0d2ebf51cbe46ea88ff8a17653c764d03f454c78ff410c69c3677186625fed317772be58fb833fd5c2ac0ee1f606eab082711df167e81fdbb6442bca16413bbf1ce8b153453714780e36498790bdf6bfa2aaf09bcdb660892cb91e6a9a6eb9dfc330342625f688279a30097369fc31ceda42375f8f7f832a869d3bff5c5424a84dd1810f2b8171f4bae4e59addded7c41714d7f500881c1245365927bd316083fb5a2b0af31d8feb56245c8d24a65378463bdbd7486ece8a5348a9bb3063c9904fe8cbd51fe9544db312b886532f24372dab5e8007a9ffdff98294e9a1463c47f6ced021157120cfb680d998c5316c6826a6e8ab3c03a37aa1bfb4b7036448e897ddb05ed74815c17e4fe4e7a5f4c08126f0c5632c878d238d2cdcfc365c8a26ad7554221dff1969a23292a8100b5ff4dd6160c44b2632c134e3bd34bdcb0da18d1566951e29cb333d110a25bb52871d89cdc1ecb2958a0bca35269bde060f7557d894f8d9a925ca67e3b34a52a62e80ee58162ef56c6add6e32d92be6b225792979409d896fd6fb406c4857cdf8924083807498269e16722c910782709da3fd864656ffc32d9b6bd743c15d54a3b721ae272d6891500ffb1f93ee6cb40c5cc1a0003a6e8b2d8beed77761ce8655ef36af2324b482ee296aee54b7afc7aa49c0ab2844d8000ea0228615b53d5f8be6323b7e6480b56b81da8e503f863673a97a8dc92f6d7b5d408649e58e57d92bed669e0e97ec7a0ce58aaacff34700e87402a6437e0fcdf2847ef2bdba116c78b2265011da90a335d9373abe657822f9f1f031eef9f70e1a5bd83fe5e150a804e8e2616ea92afe85394a65e17d827654c6d35d073f29fa36eea696b3daf3d3888dfd7e456a9f494fc6a27bfd42c649c5a60734c8b285a7b701b3c0765467da035efbe13aaa52b66e17928a7d58610ae12d4d921a5f76959646d91bbaf8cdc9b277cf0eb42b029a47772b19c24dd44782db3ff7357f0698706e3708936e1e4c454f590ed7c5d7ca765912687aacbbcc4d2dfeeeaeb566bd36a0ae3638b49b672603f454a1d1704462fd1c097f10a36ff4a75ecf05c51c0cda097f3e1b6d1e92549c10f7222099f56e9f0382dc1ed5900e84e16b2c240fe189aea7cc0792d658e6c1f24954117012f9c8e020e7024879ae3aad278f94d491e69cfd6fd3ccc97ca4feee613759eab52637b6a9ceb7606f8208cdba55e221742e225400366fa15f947296709346b37a5639204243689e93a1fefc8c910aa1f7f738fa3a5e7322e19da36cf9d709b30f484d0343f5c47c4f164cb07034f7df953a6e5a756fea07650105625ea8ff338fd28a4d3365cd4bfdacdf2b176f4f69dc15415d8a645ac7f035a75dccf4d68531c35289e33b3862d3f2b9bc5a2ba8247c669d8f93534d351822e8900f1f35a45596cf55f8fc2fb47e6981207a12fcdd2fdd28098e734c0cd3a26b8f10e02c4dac5b2433849c43294b704346fce8cde8d7c1a245c97daaa0ba9aaaa468332e0f463da2f8e99efca5006e8fcf397f587d9b03d0d198576697414e934fdece1d2fce26a37aa8f5f00505b38fb72eaadd5ec37e1fcbf73420c8e79d1a877c8aface43381ebe3ed537cf47a53cc9f77698289269eb49ec1ee0a8857f42b61b5885492631d3af165b961463737874fd8e19f3e8e4b29f84ccc9d1923d884e7f4b31736f86dcd4ae260dcf3f5605ed1a1d8395240e7615c363d35a9e44d8700c9830a2f85d81be4fdaa2c38319b1c1354c8183e973f33fa880642b611e2ebc7726c850ff9f81ea356188e54aeae25cb555423a86c37f48cad1f336c07594a021305e3af84ad7d0cdf237345f6669cdaf7f3c006f21838beb35d9a96f39f3ae268c7b9ccbbecc9aca3c56089c7fae1922e00a5aea9babbb15dbe1a58ea882979ea05b9b79d40718dbec258bd9cfae5732927e18278e16de34399dc5d9019b3abd800c209dbb4b9b5939afa1a3f588e5b743842013f9cdb93f413165ef64a4a96515e3cbcb950ffa38a34bf83f3ec490c72fb3291b08e1b0584c3f3531f68613fc0e03eb8c0a77361da027ce05f8a0007873e0f2048543acadb0a0a3d4985e3e01559b09ac780bb6e8309e586a5ab3c6910848641592264d1866f7d17d4de0e0998ad1c6da5553a7044610eb7f5ef8b1aaa641d5a4bc04974443ed106f3d84271638b7572fbcb346d07b5b1ce51929542f447147727aecd9803bfea4af534d80318b3ed8a88575e6286d7fa1bf3ff7d4e80d07f115583650c979b367ee66de8926a2a5a97599d0c7207b9d2d6ec7ea7f45765b3f21cb3449ad76dc4d7f82f6c969122c420036f3995fed38729ceb14b4abb8c96c6186f6a58a61b0d7210906e4e144800f1121323560c9f8ee861de6672570e41a61f0934584e03e65e2096cf7c0dd4d69916d4556af641d3e1eb9194ef00a545990c5101864216fd253944ffbd692b5bfb21ccf1c7768f49545f750bc43444758e7d2430928ded6999ed62b4a5edc25e5d7f581caa9d4f1869bd8e9b9827020118ddc5a280503c70f2ffad0d3467d0534859faea8493e399f3d2e35f8808268b1fade8616117ca59f0573cc74fe989cfc50fa583f925693bd00a04ce8354766a2487fc380acf79469b77cf069d8ea02586eebccc7cd220f98b38ad843c2bfd390723be8f82778a60067c0daa5a71875f170a8606c2f6a4c1adc4750080820a54382f9ad0ba6d884ee49bc7cff44e77d2210b3a61f14bd6deae95d03b1dd959aea82030042f811fe77b4310364661c8bc3d094a0e6cb80ec120c860f50031688b1cedc33e78900075f13e4a51c38661352ebc7167f5b9c575c07b851a689370702968eccc694bad7a9adedef62f5c1836246b0ec93723d80df51a3421406c5933bda72f61c4d8006e9186aea0b74be2530862f8254859786259ca3ea5b0b1b010fc006e7c0f3f5b975ad35d9e978a90419aefbfd7402c5d3908f6dd259b088d038cd3e03a98d09dc577715feebf41c9260517d47d41b1e343dac6e7f215224b16a38d9e3bda51f770c598319dea09a7f0f1be1f97aa59c081f3c0bbbfc46413bd223936cce4f329067564c4cbcce4085e7b08370934eecbd84498cb9cabc41aaf351a9d36909dfbf6a9ef684dd69c29327d8abd9cacd0b6171fc73578f2dbd3c560ecfc33c18db99aee7c4f205863669564356e09d174bec52179dd4b768c15e8a45d9e2c44780f4c052c2c7c6822d74764cbaded3cb1a64eeae0ca27df88f083928477a64a375692a7ce13de7c07a3600a4584a6a118adc0719c3149c1e8d64473672edd86e220a1dc9ef08c5365095f31c306cbc191d9c77cf1906c5efbd8765914bf9e6f665d3da350a7c7c461b0eb93a28e9003165165f3399e0591da9420a3db2dc05b052c7eb7a224d158beb6959cd29d386369025953ac2a5fc07009b5333f14109fdae7fe98fa52dadab0729619434c340018f5fb96d2ddedf6de29ed4cafadf4f31703fea39c10f1b176971bc8673d3c6ba6c3fb563c9528989909b940646d8b6a217c368ce7cd4fa039aa1225feee0b9976d9b8704fef46ef9875d2a38797ac314bf679e94e0a0bbfdd85c8929b13519df959228a0554f3fdc7c55a864e4277915e1b6415aabc34af1b759a5bbf3c8cb93b17db4c74a1ede27c0c28b9f8e9b83a069589557e8f5cbd5396b0fd3badbbcd6731b642f5c9d83287c396786c2396d2fa0b47e090ebd8cb086f60fd227c942be590e195b60cdd1ed05564b68720673aa711fae4a2979df5ec461b688c5125b9296c6bd1097cb786fa85c050bedba9da4652dc91f78f8f954a91742085641bded1f705e25c1d2da1af3cecb75b05d25faa47ac152ff0766084b5704f583a6bdc580f8a68ffa6b7f508176bad9e94218b2815c3dbbe63da7ce66be89150ecac741a3eed091ab92475ec5ab28e1c43dc49e5135917702933f53af5d756f1019bd221586d9c380bd2f86ef1d85d6b51f21a46977cf916b668a60fb7f3f4cb301f61d09aa57757c487848c8db9b5e45e91ca9b951f9eb20cc3ce98b5ae20b85b5fdda01ea05cf0c3117e9c36fc1fe79a714770e254e72b665434006467a6686b300ce5c709144912effad8b054b8348d1e22ee2290c47c298665d6d5e9336d0fc6c12cb0af1d499f6df00207f7c9f6195c0e943dbbffc4d15f39a17327d7b2f77d2c9eca4b16ccf73e93b3b81853336f9cc66e6465c02f84016039db8de10d24e1bdd7d1c0411063c8e67272d3ab82e1126a1913444a9793f10d30623da2cb18b3ab6c9fe73b79c779b110f07d6b7a84c32ec52b8c150d9c67d169223a5940cfc2d94f933fca85088d9db21423f4ebf120d4d742426056c981c238c69f6d4d81305a6610429b8c82b334fafb9b29944fb681b1de238594aa7f158f5f65572df44fdaa9d509a53b2e98e19c6c3559437edbbdefaf7df7f4534b5e67e20921842215910a00e9c4c8a333c2d9817b0e68f7839955558bc447abcd2e4f16daf3cc08d88edade280282fcfb80a83478b0a567a34810886866f9c281ae329c0c211140907ae460ebcb38ebf567a573fb95c787d524fe4b77c09dc339e7d1196f5de3b5def3b547ff7d3f0447eb6c5b8d56a6b18d416e202d2c3f50e105bb0926a3946633eb700054af8769b1a0853c8a58c907d88a52f08e57cabdd652717e202412fbe31559d8b88fc3a551596dfa7a8b2565482f4785d42bda0c761f609c47223a853c449f3542efaff21e879836474b04fc65f1e207b4643b1fb95504df9f00f4d67f68d72117cb79d1f92d9f7dfeb7a240df58c51bc26734925062496d517d84115e1a0a7a99ef9582ebb028dc54597b3a3b9e85842dae820af10f210ef81b1712e4662b811510817ac4c8769f566e7557b5f553251016aa93edffa993df6b77499f854f52d676d648b1d8cd501a8791e229e123a6cc6c3e4d0e189a425cc559210013aea50485aa94eee44fcde013910ff2105173242eaaf4b77d8e6b3b0a6229405869b15f6900d558f8ee916855a298353968dbd40043cd55b19e8f0b83343cc191eca289350122791ffdc61ce563347faac3d409dd1bc601b7551b1f00ad26d12c1045f3a2313f7ee2c4ed0d58cdafe2f85ccd8ebb4f851cf6db2c53bf4fdbd9551f6ebf74ac159213477ceef86a29fe200470a79b6b9a403dc431d542352dd11dd75c761983e05ff51d55ddf970e1a307b8d15d5e3b5fefe31912597644cc2497b7ea9b046133d6e1d3551ff79731a482c47329485012f58157077b3248e0466817ed6bcc40779947bd1909bf19e150ef4003c9574f4384bb98211c3b467cd24dfd22274262e88ba1d929d42ad26b6378c6a7984b3d1a7478767dec22676f4c36b59e96fc8b4a2f37514e0e2968ae71ac78533877820577278c72c0014396be87f5ccb75bfa8107bd7b08a9a234ec1d6693bbdc31cd3257d11a3acd62a6e174022f34bb0ffd5b32e994e71bef09f1c255fcbedc3164dcf1bc173668ff6d8198bc8e4cd9abd3c1f3fed7cd14c2e03ebf5403480d04fb7ffd083cd6871dcb41e32e700c300f6b0071f5765a9fe439c9b5d648ed5b09f55bc651a04b464b2d2d8d8539f7ad16a3768b4b580a4d7ef20eb082032893cf18a549dcdc3c2d736f3175e188f0d593802d11c4990617fa9bb06842041b213e89db25480ad7ed2183b922d5a90248094e76570ffcb2f1ac26e2f7709469484a0b587a78f8b2bc04b31c833f473d2b18933386e9ae49f35046fd7cc93b16a12fef2cfb5580c1f3944493196f3ceba11c3dc99a9ebbb855748ae74935b68ab7228a4d5f122ef264583304b016d563ae296cb7489a8dc9676ef5dbb876a36b1bcd6f87e24e4ab95a0ca06d5c8bacf0872b7464665b0c8ba81de135817dd08a04c413825fd6fe2acb002c4f43877502ef9d7257e03abf96aa4680f0391dcfd9b7f3d2383a840c9dc637feb962e47159e285c364da3d5dddf2bfcdc7a5b23b1bfb5b8c4aeb81a0456413bb3f89f7729c93fa74b0d9adec08ebcdd2a9ac6e5ee60080c2ca01704286728691dceca496ecc47ba4a4caed0bf44c78b76c8a78c7bb8778f2fd3d807670aad657956b74a498b3a9cea369d22376a51f34e7206084b40912ec47d499799a31347140174a3fcc61ced1f24b78641c52aa55efcb4c3109040763c98e31990ee58dcec07321fe289f6d4a4949123507c3af36dd98eaaed461b41590b3df893ddaeee2c5a43ab1aa6a9f0dda63f5e45ed3bf54489714dbdd05288c22445fdc4231f63c0d78955fcc345dbefb7be0dc1f48902379b62ea395e7f0aa5e777477a8138d666dbc86ecc58abfc859e30ad8dd92aacf0c58cf5b3b856471022d228163f47f14cac328fc99a4dd1a28788f43428019d747596f3d41890762b28e1cd2b406bc167a69c3597c241e222f2e88bc6c35e1e6587cf9fa8251b28adfb646b7bec73a78d60880646ae8ccf2096553d87bd617c98c7093f62a7855a75d721d47b832323ea07cbfeac433f1e20196f864502b7607f4192d1fc0138e60578e7a2cb6d2924ef040e282d5d516b11d0d347ad716567826af2326f41d8b5f291c73c4aedaf0e4adfbc7ad92232879ef284095a1a089a6153951b6622aee08e3625e30aa83b38091f4facd61c15b51dcbde55b5e31c81e99f82c0804cf2128c3779e9e909674405d11b2f271d36bd55e7189950f4dfe6ac6ac73146ef49617bc752431a00882c840df856fc3f0dca2809f5055f3b09507e64b96a95bace16d1ab2110a8a2e0d3f95e8da2779d815cbb83a8a9ac6220510e21cfeabfd9369b9bfc9e9045a2e51dd4744c61cf51dbdb99fcb16221a8bd857d5509479c80d941ead1a91b83365b85313b89ba1b1e2c204d54d7b5b5b5601df640800ae74dc5512e4ebf827801fe059ca1b2996e71e87438cd6a42a38f98805a0924d4f8b43b584825bcb30d06e46b7f39f4c0827adcfabc59b8d335b6a9dc2a286cc0524c6bdf205106aa65d8fefa900c66be51815ce282dbefd775369a693e2b291ac4c3df2793cdb891875ab86346e55cfa2010e79dbf107aacb2070d387ba315f513978034390e5b6c2125d689ad988de98689e6cb37cbd4880b9514cf58f71ad08ec178cbfb70ee265cdefee91da9193d0fae07aebb15b80d83fed8a75c09a66bd3f25471d23288db1927074b5acb868ac36ae295ea223e2f9391a8c1f76d4f1fc552ee1041b1470cf5c67a6eb430780a5648de24789ab1b7cf8529e8ad4e851e398d68d888dd2e00fbf203c49cd02cebfe8e6657719cba53ac1b3d2e67bddd584e8f49e93f70f3f579152a0bc00daaebbac48533ff768eb65efa2460841206871a523884cd881c0b8aacdbe9bbf65aa96338adcd301a6d51b1f02df1b1f20fa49838710ef2fe50eed89105c5f0c1ddacfa8871385afa2edefbdfc933a79e44dc6c0a65fa724604e51cae8c9b0097bfa251bfa6a5081c15cdbed8f5d7912b61fa2dd3efe2d7c82c770aebfc38a409e9c5790bc87c72ad5ea9ada10b07908f45a7529938d4df402fb8c5e5732bda631026491f6bb54954083208c355004a4ec4ed5486946c3c349f640fd66c662d640c35a1a373b0ae56c4f5c8daee95e430a5bee38b73f86f52ac1ba837cb80f1ab884e10f82411c13d8ec7c79c4904522dd75b358ff67a837f552040ae5d3f3b653a21bf2f5dc35def32b74b5ec155a5f3d544b3701618a7c9d14e5fa36201ab1c6835487d88bd6ffb798e6e1d20d403306169b391c50097e515ad82bbd523b695b21e30b3c51ecf0004d4df09973474ad80cf10056b8ecfab000f2ecdc022517a1e678eda18167dead7eb58c2785f4c1ab6ed2261d8fe58415024224c0020e40e36779da6c4de0a743ff66149a3704055b986b04a45ec21acdd51891424409daf259a48c251ba7319511a3f8ead21ad5ff956a5014bc4a20ab08267974c9baf81f65b8ce73ad637d66932325e778eb5e474bdcea5e8338388b078a45d342d2a73588566dbd1416bad46a11534bb5c9ef036ce1cfdf5250998dc54b2583a23ef2b995a1794206a6aca5baf1b77abb77b4a1afb18c492523874bab988c54dc85f57fea15e8c5e793172dcc8274aa94d74fbe41d2eafdbc609859a1e4b72161cc5e503e6ef4b70560efa9f47a0317f3f951e9b820e24f0c6faab7b2ed06c6027563617c03606c3477160ec9156afbc20f58f9aec0410926b63ad724ab39510102222b717e06cc5017f1116dc33073a7a2e81cd7577d625ec2fce20b3399bba8ea2248377a5df52b47565cb74fb1a4a97a5ba067671810a5ff118a536173b064c34205d70ff2faef0dbd045dff95c27654984c2644e1b25f413777df3579f8b4deefe0d70984fa2acf057bea50f69d8cfa6869057a7413030ab1662fba8f186767c63cc45d40d70269452bcc26c44b15ce0f792396f66d7e2a719cefbd19854bd50703b4e2e8f12583d0f59f3d43ab8b4d523124737cb3c28ccc9f4ea543c454874a94fd4299799b173bfd52bf48ed2fb5d6def5b70be8f6e618cf3ee7cd24519fda5c6b37a5b8d991653130fc3938e3e1597ed4cad619fa8f67de424a4971e0986a77b9fb896c320097e1c5bf0d83a6907fe256b93f19d584e47e6d1ea108302862c2465dc5f351e89b44ffb0e2513bf783e63449dc6d586192a3982b46696821cb55a30fa3b2ef54657f3cdf979bea955d6ab4bc547b8c17979f60430ae433e0f5f16f4434b01a8ddfc1e9d483dd26b485e41252259c8dd72be74c4cc1d07d290b0e7de8ec84bc6ebb4fffb6a44ff6e4ee06fc45000bdab2c5860bb8b3573ff8f59dd3f4c241e45fd9f9a4ace1915de893a96d704f5a126ae8a442839b25d246beea6470347d85accd6794d9f24268b7e082d3597eb5300a5b76f28d025d35dc9eb07771893b8ac795152e96e63f0ce3e824a95fa09900c7e8e4e0833a8b899cf4a49ea91e63697b9f82ae1a14af8141596cf5b893efd0da4ec81b6d0d850bbfb34d6ef4227aac59e505aff157f49e87a86348abb6499d451e9ae91b84dd74a430f402414f37cd9e72a1dcfe8225db7607a33e0c45c6bd6fa653cc396f9fe508f59a62d43e79ad44f4ebe3bdc11c2c1263c045a7310f85a3f5d3f1b9f50c04727a9a2a80500f27f5c98475af797a5c8bc57399b3f09f2b6ce5e528f9c85e1e035197620c304deb8fa53a2d081b56739dc0aa7c4f34c34bb42177fb420550953ac48a8eb2621f71753f2b11c69328a7cbc4e1c8ce7ad26d21c08a1d87e23f91afd2002ca0cd65fc5a9d87eba588743e107a0a37c4561db3b1e35bd5df59dab97c34517cae3cd76f4b4d97611a336ab6743fcac3dbf6cbd7c77050b62f011ea3a345bbdcd3d9196a89aa1f419c2acbb03bf2b29eaea9ddf2afc70f15a1d8242ecb3fa800741ac7976e160abe8784c3dfd3cce6d59e3209a14adbfa00bed3caad5215e31c83850173dfb01afec072587dde6ffe8cb49650dfcd6cd0bf5f9a67edd8d354e257474eab23fc3634535eee5ebb35fc72725217fcebb9cd364bdeb316ab96565a7f0f70841314fb67136d68eed92ae771c1ba2bb9227f44958ab169c32c61a05a4cac124de52ab441b48c6d0ae5b9ef1fc10c6e5c9908be81a14b04765ba9ac179adc45d7a3bb6e6e6d22831a4403814e39a8d7f11080f68d80d852a19aeb3870bc2a8a9c04d6f9db8d37d89146265a00d86d852619210a3d959c8a5bea55567fb941b681600659ef1d606d2999d0a4a66f76f799699a34cb71eecb7b4053692ed7286a811106def8c25ca724f65b0c68a89b0fa3f5b3a44a7c1e0995cbe47002d432b22983f08e69fd9f45220186921d3312d9368fed7e98937295f7bc1a6afd1399b6dd6f09424bf6402e1458b509c183029215933139769a806143dc56e843312fd870a0e28af3ac6f7b3852c459854c5eef463adc97bd75bf1a98009121a4909de88f7701e5e491cde77b91dc983ec1c646be4a228b9ed8e81ee2748a74384acc2ddcf1c28fc8fa48050627213a26c78417ec470ec1490b545c8fd167c8c40c6b7a61754e5ce2584c58b7c7b55cfebb90261adc5aa1618885c09ac0b9ef203ed4b0baa7749bf4e3ba373623cdae14b99bdda08ad62502ac13d67f60370fa676a3a0db6f130dabfc0885fe20f62d00c339fa9c25c297f7a2b4a7970e272d78d92421bba7ca8b7f33e433c934eeda6fa045f2f0e82e5fecb56b5a3514967ed84c9d105fdfc175b4e88c0b355ac4eb4ecf4dce6207f67dfa0e367e98ee26528c718d796a906f6dc07302b7a7b13311d56d17dce002a70950c32d8834b1efe7a3df05bf7a5acc61cbeff45e4e85f2bef105dcc54ffe47bb6d69a729e6bed510621606f4ef93406060a8d19144e33aa0c53b473baacf2cb8f1aa2134201f57f733c3db30312a0f8e7ec6f0d15eb065be0c101e7a3a7355699495cf81ad3f25def38ba5c698ec99eacc0f4d5674a535ab806e44d70aaabea29b59459adba2bde5d0658d4f44d65086567b7e248084c279d2e5071a51b2fae69679e3a0d41b9b0241a0fdb86dd518f87fd331dd08e09a6307f17ef28e29c3a713290b6f8ab3f610854b6531c4a06f74510cfc618de8377d6ba3e56d7068cd93ffe596179cb27af0d7c3720dbc6ddd8ab06c50332c09ca78d473e7a57d39acc4e75ad60287814e2eb09ef618824a47a387bf784fdb536140afe75956aacb76efc4282b0599cd9693908b8cb9fe941ebf96ad6f78ad0ec489b0e5939b99ca078fd62e4f9c7263637c6b375ada36afa20dc6988205170046f1085a49d995346cadeeca2e23ec98966336f2a43346e4f8ecea6589884e343b24ed3f42906952b7e24c50569a2641d8b3a90c7b35984cb7684345d769ddef9dfca43f423700b9c0a4ecdafb3259819f95f030c3c80328573ace99e679d608eda406bd2135db365087fddc1c5044d5b37452909bed8d54a9a843330bdcf25ab4f7342d19bff232cab7d2b8c9401a8ddfb9d733f9098a384d62b987fecb01ae3ae7484c2a3ad0d0a28896b55377d2e15b1a02ffc12e53baf61e9f31bc300175961ab09a09133317deea74db1fee1ef2a3a10c1c6d986ff6b85a0ea04d3a275aa63e0878fd1e5dcd5898fab2365edabe9aba3b2a3e75395d21b236a3f6d21a0f8a792865ff002b14c290a93fd2f86bcbea06bd3292521af6e5ecfd62213626fbaaea8f5b2d2dd9c993101feb9bc0ed5d2b3bad373a750c12e03616bd1d9ea9199d4432301a5c37de98207b3c15dcb840b6953b6e10774a24f561bd47700d55a59791c5d698f7c0a41f3be8618937f081728e4c0baad5907e4e213d5bff496e5363b74ad1c23369eafe36d5064268d60726f9a954f89bce87233655a8e55d9e2957044657229e73f0eef46cbfc7f1df29d04c0df38dec196be7b3465f204dbd23c70b1b3521a35eb8a5f82fb45436bd9b16fa21c5dcd1f8634e48f622866b400caf0d5937d9b729b04d73561c85d9e818eed22b36e6e0854328e9faf99bf8c65f083240f58016be79c858249ab55635cf82b59df67438cba35e9880c6ac34a4534a080a9ac8fbc1cd1ed906c57105297353ee69260f4ab2b1efcb6adb893520e6db2fd7fce64767d3f519217409ef13be29ab908cd2462f21cd04b00f542f97163d5c239073af3f2d3c191e9b1d1ea85e1ec15daeb3f77020625b86ef9c326acb6190ddb6d6ca3c101d513eb38443e0a845484368b32ec5abecacad78dc8529a52b5b5e5e204af64c46e598c23af59c13d8e42a871bdede9fdfbee0c673bec458255911d50043543817661b7e8a707aaad3f24446a5a12127c48a0866c8b88d6d946b8b4432501221f910321d39b3303702da6e7ebf8d6a03d22e4b4a375a15603af67227bcee8e72c472265cdfba73f575ea38aad790f4fe2e01a04c85f08e8f671fb64cba88e12d0fe9816d2df0bfed05f4693fa45e681a1399eae674af4e233194a72f7dd7ba556c52fcbac5cd30808afc1645c5d45d4538ba658dff0018ed51; asc  Qa-   3               QE      A      ] *v A7     b}3 Z   l     G> H  ^<?m [? R   ?    R     if     /    b j@ 3    U R         gS +  M  DB%9   %  S V E C   ?     W*  r# : ! MQ     C    =  } :   G         o    = 99`U  } .     nY & , XW   {ZNr   H   V?g h         @  ,  '  ?      bDR `   :~t  A}     }mp   F    wJ      VhOS  g  r     7  #       u N    ` p  g0, G'  \ 8R      P    0P{ / xvP   d|G4 0   U- J  e #  H  ]Hc )#w _k  pP_  *(ipil          O@`{  / 5QS j  0 ,"     T=      m    o{ ? c   ? E  V2   rE  o`_(x  /\_)    XZ   J z  Nk  8    ] T   C  O     SS    p  .J   + uJn       j P?   Q       "  4 M    Z `   w     R+  P. 6      k8#    L           I   7  B    XUU?N  PZ  w       ;  A    G Hk  q  j8z*   %! o  |N    e,  RNc    + '     8.       Lc  *a   (H        -      q                 p     o U`Aq. 1}   =  U   q           e  \M  m  0P   N       C  0     F    t;f     I&  Ar  V eR \   x B  Z  6y      Ys   '  R KRK  F    Q      l<t   ^$r $   -<; /P[ '   FL [ x~ -  b  *         8   Xs  T    gs      SLT G    a-   #_    B:{A("        [c   a2 _       ^g   =6   C*           4>r[ b {    u {  c 6 x MRoV  ge g    Go,W   + zc V  "f     eh  k   '] KO  _   +V   g  -)C        x  ` ku   5  uf  !  [w`      U <N{#Hg    # X a  v?m   E ;=  (D  E {~3   <*  E   8          9V   y  $J  9>p_h      O7      e b  l  #p  K9L    ) X%     GOR9"  [75      N  ^Da 18      6 SoQ   ^   }  |      :vA)      +   x ] Y   T  ?   -      )  i  '4  h Z  ;;  0^  ?   (z9~ Hd    U& z    J.     ;    l W     9EfF \ %0O'     ~    Q /  'T  ]  c    vp     /  a`  +   *04  v x y w1        ^  t   b  U 9 l s S        E 3 ^   i .ra        z        |   K   u    ]  V'c    m?              ~    <M  R.* o x# %R+ *  * b ^   z  O   Hh %    T @y@     ty>%n m      "  " +XN         J      &V   f Cn! R R.G~X K Y] b       ?     3  k k  U    C       %c  TW#   Lj* Q  e<# D  ))              p- g W}  s{}    * MZ   L   ^BKw }E    B+        o v*     m   -F# |  9vH      Z    \wl W      E"       pUN    -  A# 4+ |5f<^F   !  p  0  $  Wq  M ~      9  Q 8  sP Q /" ?3d  U  c   .d; "    5N  1T  4G  kO     ,    - .     R  I L( jEX y                +      b  -{ Z   ,   d W  Oq    ^ (Q l \   w   R- l 6    7 c5  `     p   *#   by  (y R/N4P  R  N J /    7 x   Z E P  ?   I     M5u   'Ju ZO\@  B-   _Z  8H  "[      N   i2f H Q {x  C   ES          +W    q  1* a   ?   O S         k    d           "jh  2{  - =  D X^  <  c `   a  I b       2< {    lH^< Q 1   T   Q|  V/ pwm{ W ?.*?  "  I:xl  T       {F 7  1      XT 3W  Hq  $y  Os   F   d9  U0 1  rT  =p3 r 5  LUOwlbe0  o  Z t     m c  7~ Z       E F  ,           2-w @   B ]b         = M ij        eg          =  5          &!E]`   d           w X 1   } yp  q +, ~ j 7     "   tB, F    - L      5   O  F > LXC  Ty,   V /     F;    pp  bQu  Yw d     T   g,}F    C   l        O" <   Wu  !   ]4*:8|    3  h    6Up h`w q\     Vz  4]        - ,    8W K    9a>:|  w .h ` ,  #   < U#  h     %     `y   b jD "    @ E K  [  M  | 0f Np 8 {  \c     8n(a e   K}B'h= ^ N 2    ~yd s&          Of  !    Yx$B    " /  :    9c NRG{TV   89~   F h{^       ?    %E   r   ;  1 q  d   + < <s X C "d]  ?             IQ    4    bZ      BkW   u,{  n C  Y q  p ,5 _/ 6     u  A# >        )0e  M      F a  =   8        tW;-P*.  #r     c} >    Q2i9tun  j\  x      N\X   a2   V  OK      w  4    \       f RRFn^P {        J  j   Q   >^ 9U_8 U  A (   ^ W)7.?| s W   Y Iu/d    M   Q  | !  n )   }a          K  [P          ]it   , &_   \ E E B+  C        3  d    6   X K  d> [  l\ $ U a  wr @ :s)  b%4 =W!+s4Yr    6 n & Z           [y       y     _U  J y ZF ,    . X  k   9      f      a      M %- ly   d>t  \  ].j  _ f |    [   % t  8   +  t   iG4i        _vu 6    2%  [ %E -      S  dd o q   Wh  )  N-  nJ   U   * .  JW      4- @  itXA  U   l   ? S      +      i >  X ;w    %ok   y@ V i y0    '     %   $D 5v&       Q   U+ 0e~ u l   q       .  is H C  d h5     ,F  f  H  ]0 & - ]vl  cBT      w   A=(>) s    GPRT}L  e a z      ? F1_G^  F<     F     4   X     vD' x   j  a  +,    ziE    e y  !  ~   y=B  'K  <    f= [ ?   f s= I  o    $    c c j -Ys    g   d2 2' [X    n=,    r =y   #E  #  x        kP       y  0 O   o _]?   zp   W w}   }        ,a &f4= 9 z \  Eb  5    2  @ k&p  ;    $    h  LeD"    v5d   . b % -`   [ 9  H s   <\  N[H    t%  KMS >A 3     d2   4/b       w   9s A AF  l    {  0 t 2b     +[m(. c \        0/X       ]  :   B 0     _       !   h -T    <6  W Wb    * {  I   !     y6 a  kE <[     7x 4Z *#J       |.  f7   c #SX u   f : 7  5       .   '  .w  @ J~| ied      "  v       Jl#  X      \  ^\ ZvN 5R 1  1   U$  2 c    N%Y E      b&    M 2    MY   e C=c?   | =,      P`P  M    : =}  |  q  /e  q,9         ;   }  w  p Q   S    bD   {    L  l   |x    ]   5z  <l\  t~   L8 l =}69a        "      yZ -       } G n  }` l    *      ,     o   /r  g 2 6 > 9A W    Z     t  ;=       ]    r M   H          s   r  T 7     L  *XnH   XJ,  I X +  [   W "  <  l  z ,  0 6  s  ;  } m _H       o   NQ  *wB   ^    8 (    |  o C  E(   m!~ W    %3 ?   O   dP E      v       5 rv v D   ?  ox 6k     o {DH  z       U U   o Y "@+(  _A-3  s W   )]       9            ; 2` |9   UD~    o / W Z  ^F2y   ::  !G  e~ FB  W $  .0   kH q  >"          p     ?, 0      e, [|xQ  : U.    )3?   AV  fQ       i    7  N!,U A     9 6`    '6           m   N :   g +} J  `   !!   m# 4v  - Q       c    b          3 @     gGiIi  ;   w  >Z I   f h ,\  D  ~M^    6S) fy  Y :@ (    7        m    s   L     p  9M1     YG B  olk          x ] nn     p          2L q >mH    ( y  9/  -   (   P u`  ]O  r`a 7  ) nm P Z yY w     x             } x?   ^~  o[   Tfr      / S x   ?+"I      3 L h     5    L         : _/  f Z uam A&   y     _ a    H    D    8 E    5 9    8 2      y}V%  N + 7vCqk    KhF  ' liu  |       hm     '2 P   S2UW w   :p  :  :(b  /  7  j  z ' R  (^ H  !   =      b  ;    o(    H    o   ;gq Q&             o       "  SEh  T 3  /A  E4t  a ] /\w C2  K9'6h   D[   b P}    kV    U         s    U / \h&     e@ $       d|GAX ;   l-Jh i       Ty }R  +     bU       `e   p  H  K7  ;Idm   * VYL x      & q     7LX    d  ZzB Z         g)f[  h$P i   9TB\ K P   #    V< j %f ~    < m R         l   N^9; x   l *7 ,    o i*-C ] T`  : ~ S  6\U   2  ^c  7. ]  m   '  $          t   9 ]s   @] Z2 *   Hx   U|  M g`  zp     ,   Z  {     )  >1   R    h  Z   P    1    R     K    A' 3     a '    *r F xE  "a     1^  W' 6 2 @    pn        ,  j .Bq ~ 3     M}C f   H     O    w        [ uc6   G& ~f   F< !    ^"W-8    Tu ` T  "       M *  : [ % d f  oQ s9      e{<B H^  ]Q  \    d j      e         se  =   ded6 g ,=  \   &x8E   Y    T  -/ \   ow  sjQ       y    C| [  c  }$ }Wf9   #  c?  d      T}|  8N     i  }         %U*T/   ' ~ +M'!r y.@  /a?  D_#   P T S/ Q  (^ h \    X ' J v+B    \      E0t V      b    5    *& L   Y            ! }    p e  p    ) N  ]k $ t   Vq)F; ?: =,e;C      =   %$ s 2    _#{      0r V   m 5   %    O   D        g 0 5z  `<    d  U YBK c q Z*   A  ]     - .  RCH  r  h         Amn=B     ~Cg   9   k f   o= /; Q *    v&N P    |xK)  J O4    N dH%   T9f } as     =   ph i ?  (^ )   {  z )  O>      9 (W  d<      =d    ] F:  + w]U~RG     @'   Pi   v1   Y 0  6   T i  a  S9g 3    I~`% \F0    ,m &  ^   {  \1ZnU  _    }   H SZ $r ,U n     |5   1 Rr     n C  Y        ,    y    sj&      !G      '     /    5       ^     "V  #      f^  X  ^     r    5      > A5     C  I   Vg ?    jU   - S  'E U    X  + >       _wV    Q1[   W  P   -    w      m{   :; od? ! G  @$  oxC  E  j  7 A nw  ..  t4  S          8  o _=  r-   D E i    '       \    }            [Nz  81n   Y   eE o       , H      g "|zl^  *  )_  2  V[ 4 9     g TX`   #  Nw  @ l S    :  "M5   .     2?{ WW  M9\Yg`   ]s<     yk)    6LW$ gcR  %   ;F  &       "Z          Z   ,f     Y/       -    b     Gs   8g 9 O B  r    N    ) ZPu txU     l A q?} % `h   ` m         _ 1zN  [  )v      +  B`  ( Q8s h  ;  I0   U   ; Wsh nT #9 <6  9       p 0  [xI= 6  [     E  SZa  f   n-  #    r     _ <  *    9   P  `     N( q      [  p ;w       y \'Oh8    XZ    J  #   s  )       x D   &[  J    $  t8   k  <  ji          F     e<vM  T      6w f%   w+   3 \*   `n  '   ~   dB  d      4SqG  d y  k *    f          3 Bb_h y   6     #u   2 i    BJ        K NY   |AqM P   $Se {   ?    1   bE  Je7 c  t    4    <     Q  D 1+ e2 Cr    z    )N  c  l   W   h   S   jn   :7   Kp6D  }   t \   Nz_L  o V2 x 8    e  j UB!    #)*    M   D c, N; K     ViQ   3   [ (q     )X   Ri  ` U} O   \ ~;4 *b    b V    -  k"W       o    |  $ 8 I i g"  x'  ? deo 2   t<  J;r  r       >  @           wv  e^ j 2KH.    Kz z     M    (a[S   c#  H V      cg:         d X }   i  ~   X   4p  @*d7   (G +     "e    3] s  W /      p     ^   N &     S  ^  'eLm5 s   n ik= =8    V    j'  ,d Z`sL (Z{p < eF} 5     +f y(        !  iYdm      '|  B ) wr  $ Dx-  sW i   p 6   T   |]| e &          Vk j  c I r`?EJ   F/     6 Ju  \Q         %I  r"  V  8-  Y  N   @    | y-e l $ A  /    p$     x MI i   <   O   u  Rc{j  v      ^" B %@ f   G)g 4k7 c  $6  :        s    2.  6  p 0   4?\G  d   O} S   V  vP V%   8 (  6\      v    T   E   Zu  MhS 5( 3  -?+     G i  54 Q .    ZEYl _   G     /       4  :&        C8I 2   4o    | $\       F 2  c /    P         =   vit  4      j7  _ P[8 r    7   sB  y  w    3    S| zS  wi  &       W +a  T c : e aF77 O   > K) L   #      6 m J `   `^   9R@ a\6=5  M     /      ,81   T  > ?3   B     rl      V  T  % UT# l7    3l YJ       }  #sE f        8  ]    : h         `     .       ]  X  )y     @q   X    s)'  x m C  ]                ?X [t8B ?      ^ JJ Q^<  P   4    I r 2        S ha?  >   sa  | _    >  HT:    =I    Y     n      <i   AY"d  o}        m U:pDa       d ZK ItD>    Bqc ur  4m    Q  B G w'      J 4       W^b      }N    U e   6~ m  j*Z Y  r     ~  We    D  m   /l  "   o9    )  KJ     ojX   r  nN H    #V    a frW A   4XN  ^   |      Uj A        E  Q  B  %9D  i+[ !   v IT_u  4Du }$0   i  b    ^] X   O i    '       P<p    4g SHY         _  &    aa  Y W< O        %i;     Tvj$  8  yF w     %    |    8  <+ 9 #   w ` |  Zq _          u    T8/   m N     Nw ! :a K     ;  Y   0 /   {C 6Fa  = J l     `  1h    >x  u >JQ  a5. qg   u {  h pp)h  iK z    /\ 6$k  7#    4!@lY3  /a   n     K S b %HYxbY >       n| ?[ Z ]    A    @,]9   %       :    wq_  A &   }A  C     "K    ; Q p  1          Y       d  "96   ) ud     ^{ 7 4   D       5  6      hM  )2}         5x    `  3     |O Xcf d5n  t  !y Kv    ] ,Dx L ,,|h" Gd   <  N   '      w J7V     |  ` E      q 1I   Dsg.         Se _1       |  l^  vY   of]= P   a        Qe 9        - [ ,~  $ X      8ci YS *_ p  3?        R   r  CL4          ) L            v   g=<k   V< (    @dm j!|6   O 9  %    v  pO F  u     1K y N         Q  Y"  T    Z NBw ^ d   4  u [ <  ;  Lt   | (    :   U~ \ S   ;   g1 B   2   xl#    G      o` "| +         Ud   g:         F h Q% )lk  |     P    FR      J t  d      \ -  <  [  _ G  / v`  pOX:k X  h      k   ! (    c | k  P  t >    $u Z   C I  Y p)3 :  V    !Xm 8   n  ]kQ  F |   h      0 a   wW        ^               [_    \   ~ 6    qGp T +fT4 dg hk0     I     T 4  " "  |) e   3m   ,   I m       \  =    _9 s'   },  K   >    S3o  nde /  `9    $     A c  rr     j  DJ    0b=     l  ;y y   }kz  . +    g i":Y@   O ?       #      BB`V   8  mM 0Zf B    4   ) O    #      _eW- O     ;.   l5YC~    }  SK^g  ! "        3   { h   UU  G  .O         (      4x  g H  hf    2  ! @ z `  8  g s     $ Kw   9   o]     G }? G l[ V   An -,?P    &  f3 p T  i   < X    R  W   Rq~ $    Y     QYm z %eH/G  +  v ` G": <D 5B      6GK  e    d;  U       h !  y  - }   @ X   g4 PbImQ}  ^  z      ( TY{:;   -     !      f+    z  v VnuW  S%         kwI  OR v H   P    ) #  l>M   B\ Y!          O       Qs$.   } k; b)@Xi _i  X   hU  59h   C U     4<     5 "y     c4          U    & , E  1?~    X    \   O    ,S O  U n t    G|  j)   p  k @= 1 B5-   \v   _  U  p     ]^;_    YvD $     a3   U   1   s)HP   W {2H Fh  k @w G      P @  WOC   ! ;F| M "'Bb    ) * kcx   K= txv} "goL6     J/7QN )h q xS8w  w' r  C      [    {   4  f   1 2W  : b  t /4   [2        U   1d    6h m    L           > T H      <    A .p 0 k q vZ  9   H [  [ Q KFK--  9    v KX M~     (    I  <-so1u      -        hB  !>  %H   !  "   H NvW     &  p iHJ Xzx       ?G=+  3   I PF | ;  / , U    D  o<   =     Ut  I5   " M_ . dX3    c )l H   gn   v k  o  NJ Z  m\    +tdf[     5 }      _  *  ,OC u   rW :   F  9      8:    7  b qY   d =]       ;  [ J   Ed  ?  r   t          n^      pB r        {      Lx l x   x  = vp  W kt      i #v  4  `     G  y 14q@ J? a   Kxd R U  L1   c  1      s! ( mJII 5   6     a      =     :  j   c  ^  TH     ( "D_ B1 < x _ 4]  {   H #y .     ^wtw   fm       Y        X [; dq -" c     (     (x CB   GYo=A  b        zi Y|$ "/.  l5  X|   Q    F   :x   dj    eS {    p  *xU ]r G 22> |   3     dP+v   -    `W z,   N @        4z  Vx& #&   _) s          #(y (@      9Q b*   b^0        a [Q   [^1    ,   !( w    t@]   q k ^q   M j  s n    u$1    @  o      PU     K  [  m     . ?   'y    :   "        i     Z.Q GD         "   W P y        3e S         M{[[V  d   t U    '   Y  )    C   *8     MO C   [ 0 nF   L '      3[j      $     j ]     k    (-  wSi      L= y<   u  4nU    y      p   1_Q9x C     ]h     h l | H  QL  q         e          z  [  ?  u  f ?%G #(   pt   h 6 )^ #  9   v   U.    p \g  C   d  G   | R    Q           <I      ew   :    {         ?W R       HS? h e  F A hq # L         e  3              I    /     \_               :y M   _ $`NQ     { %  jP  \   ]y     > -|  p    @  W    *      y  Zu)  M    ^W2  1 d   T @   5P   N HiF  I @ f b @ Z 7;  lO\   ^C [ 8 ?  *   |        A    |y  E" u X g 7 R      S     5  +t   Z_=TK7 a |    6     T           @3   9 P ~QZ + R;i[!  <Q   MM  sGJ    V         %   x   g  ~  '    n &      B$   @ gy lM  C f  7  [ k  ^      BD   Y  %  1          jP  J   &yt    e  s c}f #% x ^GK  ^ 88   E B  5 Vm     j SK    l   RP   K%  >    yB       z w     I%# K   T           -  t   O A    ` Y   !a ^P>n   `   z    Q    O o       uca| `l4w    j   X   A & : $ 9Q  "+q~  P   m 0s     W}b^    3    "H7z] +GV\ O   z[ gg      Sas d B         ]   vT L&D  _A7w 5y         *  { P    hi zt    f/   gg < ]@  iE+ & K   y#  m~*q     K       %    =C  MR1$s|     N C T J  B y  ; R H /           >  $Q  \k7    e10 98  Y~      g BJIq  jw   l2           V ?    ~m   0(b F]  Q  D   Q;   4I mXa   +Fih! U     Te <     ]j  T{    `C  3   oD4         &    R%   + LL  })  }    n O   O     E         W?      A _      ]   mpOZ j  B  % F  dp4}   g   Bh    Y~ 0 [v   ]5   wq ;    .  ?   $ _        :        ci{       AYl      N  m     Mn "z Y    W    cH  I E      t 0  AO7  r    % v  > E  o S 9o     b >y D      , c E 1          rz * P '   u yz\  s    +l  (  ^  Q b 0M   :-  Vs   |O4 K !w B P :    b qu?+   (      z m!     ?    ,  e Z     t> z 7 V    [  Y  |4Q| < oKM a 3j t?       pP /    E     j   A *  ;             $. ?  t   n            2  J       R      s     rX} o    P  l  _ g   T WGN # 64S^ ^ 5 rrR     6K     VZ  p    g mh  * q  + " D   i ,a ZL  M * A  m       n\     K v[     E   nnm"  D  N9         R   8p *       7  F&Z  m & ! =   [ UV  A  ` Y  `m)    ov  i 4 q  {@Si. (j      \ $ [ h       J|     p  2 )   i  E"    3  6  ~  r    j     o BK @. X        19v  aC V C1/ p     o{8R Y L^ F:   u     !     w      {   >  F J"      t t8J -      H  '!:&    G  I T\  g   kzauN\ XLX   \   &  Z a        >    t    76#         %     `7  v   o         -  9  %        '-x $!     3 3 4  o E   ._  kZ5  ~ L  _  u    5Z  N M b  }  6~  &R q yj om s    3  m      P - 4       zZ a   ^N       O G mi )    b     @``   D :  ;G;  ,   !4  W 3  01*  ~   ^ e    z:sUi     ?%           MVt 5  nD      YE      e OD P V{~$   y    Q    y      A   m     1    c  ~  )   ) o     Ke1  otQ  a  7}k  mph        z   r  m   lP3,  x s  }9   Z    N.     JG   xO Sa@  YV  v  (+               ox             .O rcc|k7Z 6         F  ZI  4l   .#   c6  3F    e  N4;$ ?B iR  LPV &A    {5 L hCE i     ?B7       2Y    0   (W:   y      !5 6P    PD  tR    T  C3   Z  4-   2     @     3   8Mb      : HL*:      Sw  [    .S    1 0 u      3   t         m o  Z  M:'Z > x  ] X   6^    ;*>u9]! 6      y(e  +    ?  k    2 R     b!6&    [--         ]+; 7:u   6       D20 \7   {<   @  ;n wJ$ a Gp U          ; a 7  r L    ~N!=[ InSc J  3i  6  Bh  &  T    #6U  ] )W FW" s   l    ) L     k  F_ M #   5! ^   / T6    !    cNH " k@   Y7  ) MsV       +6   C(      _ 2@    y X$  V5     t8  ^    4 SJ           q )sS i& J    j  5   /   Gg   !t    )    F/!    T/  =\# s ?-<      ^  ]   p b[   2j a     <  Q>  C  EHCh .     x  ) +[^^ J LF   :     *         s  X%Y   CT8 f ~ pz   DF  !'   f   m k D2P !  2 9 07  n~  j  .KJ7Z `: r'   r r&\  s u 8     .  L    g  L   -   m-     i? ^h     t N#1  /}  UlR    0    E  ]E8 e     Q;
      InnoDB: End of page dump
      2018-04-04 10:51:38 7fd87f7fa700 InnoDB: uncompressed page, stored checksum in field1 2521915693, calculated checksums for field1: crc32 2319517863, innodb 1156539104, none 3735928559, stored checksum in field2 3127217663, calculated checksums for field2: crc32 2319517863, innodb 3127217663, none 3735928559, page LSN 0 1633617, low 4 bytes of LSN at page end 1633617, page number (if stored to page already) 307, space id (if created with >= MySQL-4.1.1 and stored already) 0
      InnoDB: page type 17855 meaning INDEX
      InnoDB: Page may be an index page where index id is 12630490021493489517
      2018-04-04 10:51:38 140567828735744 [Note] InnoDB: It is also possible that your operating system has corrupted its own file cache and rebooting your computer removes the error. If the corrupt page is an index page. You can also try to fix the corruption by dumping, dropping, and reimporting the corrupt table. You can use CHECK TABLE to scan your table for corruption. Please refer to http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html for information about forcing recovery.
      2018-04-04 10:51:38 140567828735744 [ERROR] InnoDB: Ending processing because of a corrupt database page.
      2018-04-04 10:51:38 7fd87f7fa700  InnoDB: Assertion failure in thread 140567828735744 in file ha_innodb.cc line 20704
      InnoDB: We intentionally generate a memory trap.
      InnoDB: Submit a detailed bug report to https://jira.mariadb.org/
      InnoDB: If you get repeated assertion failures or crashes, even
      InnoDB: immediately after the mysqld startup, there may be
      InnoDB: corruption in the InnoDB tablespace. Please refer to
      InnoDB: http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html
      InnoDB: about forcing recovery.
      180404 10:51:38 [ERROR] mysqld got signal 6 ;
      This could be because you hit a bug. It is also possible that this binary
      or one of the libraries it was linked against is corrupt, improperly built,
      or misconfigured. This error can also be caused by malfunctioning hardware.
       
      To report this bug, see https://mariadb.com/kb/en/reporting-bugs
       
      We will try our best to scrape up some info that will hopefully help
      diagnose the problem, but since we have already crashed, 
      something is definitely wrong and this may fail.
       
      Server version: 10.1.32-MariaDB-debug
      key_buffer_size=1048576
      read_buffer_size=131072
      max_used_connections=0
      max_threads=153
      thread_count=0
      It is possible that mysqld could use up to 
      key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 63044 K  bytes of memory
      Hope that's ok; if not, decrease some variables in the equation.
       
      Thread pointer: 0x0
      Attempting backtrace. You can use the following information to find out
      where mysqld died. If you see no messages after this, something went
      terribly wrong...
      stack_bottom = 0x0 thread_stack 0x48400
      2018-04-04 10:51:38 140568167758976 [Note] InnoDB: 5.6.37 started; log sequence number 1636206
      2018-04-04 10:51:38 140567774230272 [Note] InnoDB: Dumping buffer pool(s) not yet started
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_SYS_DATAFILES' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_SYS_TABLESTATS' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_CMP' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'XTRADB_READ_VIEW' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'XTRADB_RSEG' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_FT_DELETED' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_LOCK_WAITS' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'CHANGED_PAGE_BITMAPS' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_SYS_FIELDS' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'XTRADB_INTERNAL_HASH_TABLES' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_TABLESPACES_SCRUBBING' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_CMPMEM_RESET' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_FT_INDEX_TABLE' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_FT_BEING_DELETED' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_MUTEXES' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_FT_CONFIG' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'FEEDBACK' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_FT_INDEX_CACHE' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_FT_DEFAULT_STOPWORD' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_CMP_RESET' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_SYS_COLUMNS' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_CMP_PER_INDEX_RESET' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_SYS_TABLESPACES' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_SYS_SEMAPHORE_WAITS' is disabled.
      2018-04-04 10:51:38 140568167758976 [Note] Plugin 'INNODB_SYS_INDEXES' is disabled.
      2018-04-04 10:51:38 140568167758976 [Warning] /home/jan/mysql/10.1-tmp/sql/mysqld: unknown option '--loose-pam-debug'
      2018-04-04 10:51:38 140568167758976 [Warning] /home/jan/mysql/10.1-tmp/sql/mysqld: unknown option '--loose-skip-plugin-innodb-changed-pages'
      2018-04-04 10:51:38 140568167758976 [Note] Server socket created on IP: '127.0.0.1'.
      2018-04-04 10:51:38 140568167758976 [Note] /home/jan/mysql/10.1-tmp/sql/mysqld: ready for connections.
      Version: '10.1.32-MariaDB-debug'  socket: '/home/jan/mysql/10.1-tmp/mysql-test/var/tmp/mysqld.1.sock'  port: 16000  Source distribution
      mysys/stacktrace.c:267(my_print_stacktrace)[0x5556981b2622]
      sql/signal_handler.cc:168(handle_fatal_signal)[0x555697b4c68d]
      /lib/x86_64-linux-gnu/libpthread.so.0(+0x11f50)[0x7fd893752f50]
      linux/raise.c:51(__GI_raise)[0x7fd8909bde7b]
      stdlib/abort.c:81(__GI_abort)[0x7fd8909bf231]
      handler/ha_innodb.cc:20706(ib_logf(ib_log_level_t, char const*, ...))[0x7fd889703f97]
      buf/buf0buf.cc:4939(buf_page_io_complete(buf_page_t*, bool))[0x7fd88961f934]
      buf/buf0rea.cc:228(buf_read_page_low(dberr_t*, bool, unsigned long, unsigned long, unsigned long, unsigned long, long, unsigned long))[0x7fd88963c3f7]
      buf/buf0rea.cc:450(buf_read_page(unsigned long, unsigned long, unsigned long))[0x7fd88963c9c5]
      buf/buf0buf.cc:3185(buf_page_get_gen(unsigned long, unsigned long, unsigned long, unsigned long, buf_block_t*, unsigned long, char const*, unsigned long, mtr_t*, dberr_t*))[0x7fd88961b816]
      btr/btr0cur.cc:612(btr_cur_search_to_nth_level(dict_index_t*, unsigned long, dtuple_t const*, unsigned long, unsigned long, btr_cur_t*, unsigned long, char const*, unsigned long, mtr_t*))[0x7fd8895ecccc]
      include/btr0pcur.ic:439(btr_pcur_open_low(dict_index_t*, unsigned long, dtuple_t const*, unsigned long, unsigned long, btr_pcur_t*, char const*, unsigned long, mtr_t*))[0x7fd889819031]
      row/row0row.cc:745(row_search_on_row_ref(btr_pcur_t*, unsigned long, dict_table_t const*, dtuple_t const*, mtr_t*))[0x7fd88981ac50]
      row/row0purge.cc:105(row_purge_reposition_pcur(unsigned long, purge_node_t*, mtr_t*))[0x7fd889813f9c]
      row/row0purge.cc:150(row_purge_remove_clust_if_poss_low(purge_node_t*, unsigned long))[0x7fd8898140db]
      row/row0purge.cc:213(row_purge_remove_clust_if_poss(purge_node_t*))[0x7fd88981431f]
      row/row0purge.cc:591(row_purge_del_mark(purge_node_t*))[0x7fd889814da3]
      row/row0purge.cc:860(row_purge_record_func(purge_node_t*, unsigned char*, que_thr_t const*, bool))[0x7fd88981569b]
      row/row0purge.cc:916(row_purge(purge_node_t*, unsigned char*, que_thr_t*))[0x7fd889815892]
      row/row0purge.cc:998(row_purge_step(que_thr_t*))[0x7fd889815b27]
      que/que0que.cc:1079(que_thr_step(que_thr_t*))[0x7fd8897b51c1]
      que/que0que.cc:1141(que_run_threads_low(que_thr_t*))[0x7fd8897b53c7]
      que/que0que.cc:1184(que_run_threads(que_thr_t*))[0x7fd8897b5556]
      trx/trx0purge.cc:1229(trx_purge(unsigned long, unsigned long, bool))[0x7fd889868f8e]
      srv/srv0srv.cc:2724(srv_do_purge(unsigned long, unsigned long*))[0x7fd88984eb5a]
      srv/srv0srv.cc:2870(srv_purge_coordinator_thread)[0x7fd88984f0c1]
      nptl/pthread_create.c:463(start_thread)[0x7fd8937485aa]
      x86_64/clone.S:97(clone)[0x7fd890a7fcbf]
      The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
      information that should help you find out what is causing the crash.
      Writing a core file
      ----------SERVER LOG END-------------
      
      

      As you can easily see the page is encrypted.

        Attachments

          Activity

            People

            • Assignee:
              jplindst Jan Lindström
              Reporter:
              jplindst Jan Lindström
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: