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

install_db shows corruption for rest encryption with innodb_data_file_path=ibdata1:3M;

Details

    • 10.1.24, 10.1.30

    Description

      When trying to install database with rest encryption and config like :

      innodb_file_per_table=0
      innodb_data_home_dir=/
      innodb_data_file_path=/home/a/innodb_data_home_dir/ibdata1:3M;/home/a/innodb_data_home_dir/ibdata2:10M:autoextend
      

      Errors below are shown:

      Space id in fsp header 3176603904,but in the page header 0
      [Note] InnoDB: Highest supported file format is Barracuda.
      [ERROR] InnoDB: Corruption: Block in space_id 0 in file //home/a/innodb_data_home_dir/ibdata1 corrupted
      [ERROR] InnoDB: Based on page type SYS (6)
      [ERROR] InnoDB: Database page corruption on disk or a failed
      [ERROR] InnoDB: Space 0 file //home/a/innodb_data_home_dir/ibdata1 read of page 192.
      [ERROR] InnoDB: You may have to recover from a backup.
      InnoDB: Page dump in ascii and hex (16384 bytes):
       len 16384; hex c32efd07000000c000000000000000000000000000042...
      2017-02-22 15:11:15 7fb0eb12ebc0 InnoDB: uncompressed page, stored checksum in field1 3274636551, calculated checksums for field1: crc32 1289775906, innodb 511039384, none 3735928559, stored checksum in field2 3103017090, calculated checksums for field2: crc32 1289775906, innodb 3103017090, none 3735928559, page LSN 0 274306, low 4 bytes of LSN at page end 274306, page number (if stored to page already) 192, space id (if created with >= MySQL-4.1.1 and stored already) 0
      and later:
      2017-02-22 15:11:15 7fb0eb12ebc0  InnoDB: Assertion failure in thread 140397834857408 in file buf0buf.cc line 4844
      ..
      mysys/stacktrace.c:268(my_print_stacktrace)[0x7fb0e91b43ea]
      buf/buf0buf.cc:4710(buf_page_io_complete(buf_page_t*))[0x558c4c25bc1a]
      buf/buf0rea.cc:262(buf_read_page_low(dberr_t*, bool, unsigned long, unsigned long, unsigned long, unsigned long, long, unsigned long, trx_t*, buf_page_t**))[0x558c4c26febf]
      buf/buf0rea.cc:474(buf_read_page(unsigned long, unsigned long, unsigned long, trx_t*, buf_page_t**))[0x558c4c2710f4]
      buf/buf0buf.cc:3002(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*))[0x558c4c2569ea]
      include/trx0rseg.ic:73(trx_rsegf_get_new)[0x558c4c21015e]
      trx/trx0rseg.cc:289(trx_rseg_create_instance)[0x558c4c210a4c]
      trx/trx0sys.cc:661(trx_sys_init_at_db_start())[0x558c4c211f6e]
      srv/srv0start.cc:2545(innobase_start_or_create_for_mysql())[0x558c4c1fb93b]
      /sql/mysqld(+0x79a5ed)[0x558c4c1385ed]
      handler/ha_innodb.cc:4439(innobase_init(void*))[0x558c4bf01ec5]
      sql/handler.cc:513(ha_initialize_handlerton(st_plugin_int*))[0x558c4bda663b]
      sql/sql_plugin.cc:1687(plugin_init(int*, char**, int))[0x558c4bda753a]
      sql/mysqld.cc:5148(init_server_components())[0x558c4bd121ad]
      sql/mysqld.cc:5739(mysqld_main(int, char**))[0x558c4bd16a4a]
      

      When trying the same without encryption - no crash happens.
      When trying single ibdata file - no crash happens (e.g. innodb_data_file_path=/home/a/innodb_data_home_dir/ibdata1:3M:autoextend )

      Attachments

        1. error.log
          111 kB
        2. error1.log
          111 kB
        3. innodb_data_home_dir.zip
          4.90 MB

        Issue Links

          Activity

            anikitin Andrii Nikitin (Inactive) added a comment - - edited

            marko could you confirm what exactly means "cannot repeat any problem when I manually restart the server" ? Did you see a crash during my_install_db or not?
            I don't think mtr is capable to customize my_install_db action, at least I didn't find the way some month ago when I was investigating this.

            Elena's command should work, - feel free to stick with it as long as you are really sure that installing your built binaries (after each compilation) is suitable action.
            (I always work with multiple versions at the same time, so hardly ever have any binaries installed on the machine - this is why I provided alternative way to reproduce the problem (without root access to the machine)).
            So you can try to use --builddir= and --srcdir= parameters instead of --basedir= (to skip "make install" step), but that would also need additional actions to make sure that server is able to find plugins. After all the actions will look exactly what my suggested three commands do.

            marko "exact plain commands" are inside those 3 simple sh scripts, just paths will vary depending on where you generated them from templates:
            gen_cnf.sh

            cat > /home/a/env1/m1-10.1/my.cnf <<EOL
            [client]
            user=root
            port=3307
            socket=/home/a/env1/m1-10.1/dt/my.sock
            [mysqld]
            server_id=1
            port=3307
            socket=/home/a/env1/m1-10.1/dt/my.sock
            datadir=/home/a/env1/m1-10.1/dt
            log-error=/home/a/env1/m1-10.1/dt/error.log
             
            pid_file=/home/a/env1/m1-10.1/dt/p.id
             
            !include /home/a/env1/m1-10.1/mysqldextra.cnf
            EOL
            cat > /home/a/env1/m1-10.1/mysqldextra.cnf <<EOL
            [mysqld]
            lc_messages_dir=$(realpath /home/a/bld/sql/share)
            plugin-dir=/home/a/env1/m1-10.1/plugin
            innodb-data-file-path="ibdata1:3M;ibdata2:10M:autoextend"
            EOL
            

            configure_rest_encryption.sh will execute exact commands dba is expected to use while generating encryption keys (again, within corresponding directories where your build is located):

            mkdir -p /home/a/env1/m1-10.1/plugin
            [[ -f /home/a/env1/m1-10.1/plugin/file_key_management.so ]] || ln ~/bld/plugin/file_key_management//file_key_management.so /home/a/env1/m1-10.1/plugin/file_key_management.so
             
            keyfile=/home/a/env1/m1-10.1/k
             
            echo "1;770A8A65DA156D24EE2A093277530142" > $keyfile.txt &&
              echo "18;F5502320F8429037B8DAEF761B189D12F5502320F8429037B8DAEF761B189D12" >> $keyfile.txt &&
              openssl enc -aes-256-cbc -md sha1 -k "ssecret" -in $keyfile.txt -out $keyfile.enc || { echo "Cannot generate key file" >&2 ;  exit 4; }
             
            cat >> /home/a/env1/m1-10.1/mysqldextra.cnf <<EOL
            plugin_load_add=file_key_management
            file_key_management_encryption_algorithm=aes_cbc
            file_key_management_filename=/home/a/env1/m1-10.1/k.enc
            file_key_management_filekey=ssecret
            innodb-encrypt-log=ON
            innodb-encryption-rotate-key-age=2
            innodb-encryption-threads=4
            innodb-tablespaces-encryption
            innodb-encrypt-tables=FORCE
            EOL
            

            install_db.sh

            ~/bld/scripts/mysql_install_db --defaults-file=/home/a/env1/m1-10.1/my.cnf --user=$(whoami) --builddir=~/bld --srcdir=~/src --force
            

            Feel free to copy the commands and adjust paths everywhere if you don't like pre-generated scripts with exactly the same content and correct paths.

            ibdata1 may contain user data (am I correct?), so it must be encrypted. Also some environment may have already configured REST encryption during datadir initialization (e.g. when datadir is wiped out completely and then restored from logical backup).

            anikitin Andrii Nikitin (Inactive) added a comment - - edited marko could you confirm what exactly means "cannot repeat any problem when I manually restart the server" ? Did you see a crash during my_install_db or not? I don't think mtr is capable to customize my_install_db action, at least I didn't find the way some month ago when I was investigating this. Elena's command should work, - feel free to stick with it as long as you are really sure that installing your built binaries (after each compilation) is suitable action. (I always work with multiple versions at the same time, so hardly ever have any binaries installed on the machine - this is why I provided alternative way to reproduce the problem (without root access to the machine)). So you can try to use --builddir= and --srcdir= parameters instead of --basedir= (to skip "make install" step), but that would also need additional actions to make sure that server is able to find plugins. After all the actions will look exactly what my suggested three commands do. marko "exact plain commands" are inside those 3 simple sh scripts, just paths will vary depending on where you generated them from templates: gen_cnf.sh cat > /home/a/env1/m1-10 .1 /my .cnf <<EOL [client] user=root port=3307 socket= /home/a/env1/m1-10 .1 /dt/my .sock [mysqld] server_id=1 port=3307 socket= /home/a/env1/m1-10 .1 /dt/my .sock datadir= /home/a/env1/m1-10 .1 /dt log-error= /home/a/env1/m1-10 .1 /dt/error .log   pid_file= /home/a/env1/m1-10 .1 /dt/p . id   !include /home/a/env1/m1-10 .1 /mysqldextra .cnf EOL cat > /home/a/env1/m1-10 .1 /mysqldextra .cnf <<EOL [mysqld] lc_messages_dir=$(realpath /home/a/bld/sql/share ) plugin- dir = /home/a/env1/m1-10 .1 /plugin innodb-data- file -path= "ibdata1:3M;ibdata2:10M:autoextend" EOL configure_rest_encryption.sh will execute exact commands dba is expected to use while generating encryption keys (again, within corresponding directories where your build is located): mkdir -p /home/a/env1/m1- 10.1 /plugin [[ -f /home/a/env1/m1- 10.1 /plugin/file_key_management.so ]] || ln ~/bld/plugin/file_key_management //file_key_management.so /home/a/env1/m1-10.1/plugin/file_key_management.so   keyfile=/home/a/env1/m1- 10.1 /k   echo "1;770A8A65DA156D24EE2A093277530142" > $keyfile.txt && echo "18;F5502320F8429037B8DAEF761B189D12F5502320F8429037B8DAEF761B189D12" >> $keyfile.txt && openssl enc -aes- 256 -cbc -md sha1 -k "ssecret" -in $keyfile.txt -out $keyfile.enc || { echo "Cannot generate key file" >& 2 ; exit 4 ; }   cat >> /home/a/env1/m1- 10.1 /mysqldextra.cnf <<EOL plugin_load_add=file_key_management file_key_management_encryption_algorithm=aes_cbc file_key_management_filename=/home/a/env1/m1- 10.1 /k.enc file_key_management_filekey=ssecret innodb-encrypt-log=ON innodb-encryption-rotate-key-age= 2 innodb-encryption-threads= 4 innodb-tablespaces-encryption innodb-encrypt-tables=FORCE EOL install_db.sh ~ /bld/scripts/mysql_install_db --defaults- file = /home/a/env1/m1-10 .1 /my .cnf --user=$( whoami ) --builddir=~ /bld --srcdir=~ /src --force Feel free to copy the commands and adjust paths everywhere if you don't like pre-generated scripts with exactly the same content and correct paths. ibdata1 may contain user data (am I correct?), so it must be encrypted. Also some environment may have already configured REST encryption during datadir initialization (e.g. when datadir is wiped out completely and then restored from logical backup).

            Confirmed, I could repeat corruption using the scripts:

            jan@jan-laptop-asus:~/mysql/mariadb-environs$ ./replant.sh m1-10.1 ~/mysql/10.1 ~/mysql/10.1
            jan@jan-laptop-asus:~/mysql/mariadb-environs$ m1-10.1/gen_cnf.sh innodb-data-file-path="ibdata1:3M;ibdata2:10M:autoextend"
            jan@jan-laptop-asus:~/mysql/mariadb-environs$ m1-10.1/configure_rest_encryption.sh
            jan@jan-laptop-asus:~/mysql/mariadb-environs$ m1-10.1/install_db.sh
            Installing MariaDB/MySQL system tables in '/home/jan/mysql/mariadb-environs/m1-10.1/dt' ...
            2017-12-15  9:39:24 140253535536512 [Note] /home/jan/mysql/10.1/sql/mysqld (mysqld 10.1.30-MariaDB-debug) starting as process 7676 ...
            OK
            Filling help tables...
            2017-12-15  9:39:29 139895452108160 [Note] /home/jan/mysql/10.1/sql/mysqld (mysqld 10.1.30-MariaDB-debug) starting as process 7709 ...
            Aborted
             
            WARNING: HELP FILES ARE NOT COMPLETELY INSTALLED!
            The "HELP" command might not work properly.
            Creating OpenGIS required SP-s...
            2017-12-15  9:39:30 139923984815488 [Note] /home/jan/mysql/10.1/sql/mysqld (mysqld 10.1.30-MariaDB-debug) starting as process 7726 ...
            Aborted
             
            WARNING: OPENGIS REQUIRED SP-S WERE NOT COMPLETELY INSTALLED!
            GIS extentions might not work properly.
            

            In error log you see:

            2017-12-15  9:39:29 139895452108160 [ERROR] InnoDB: Database page corruption on disk or a failed file read of tablespace ./ibdata1 page  [page id: space=0, page number=192]. You may have to recover from a backup.
            2017-12-15 09:39:29 7f3bf2ba8580 InnoDB: Page dump in ascii and hex (16384 bytes):
             len 16384; hex ae6e77c7000000c000000000000000000000000000186ceb0006000000000018b1b7000000002dc6269ae5ceb2f861b0747bcc8d861eef901a7f067a18926abcbd2035c2ee52f9fdbc6389866aea4c0119e3258811b4325ad279e5019426abec953b2bc32233f0409d013ef3794ed3d49c597d26e8de7100ce6f3b4ee6ed455619a77680fab6fece640c74580e8a19532ed05f81d5a265db756618ca230b15e2ad80ab40c380ee2e7a02d867235f40c25f243ff7e3f9e9046f09248d29d567cdc4a57bb2dfd4954b383ab5612687f183bfaba2d21596a4241380a4e68ce1d66fab634c0c5d5c2dfa5615d562e03ff711db32042bc20b38d64b3bc314af6eb11e1a2720ec5b792df11ddc8445cce20d7d5054716b3e6699468e31984644b174bd4ebd75d441c4bca1a44030657e37b06a0adfa34629d7c92de1252e4522f2b68d83fa6061c6d4d259a7a2eaffcc3913c0b764d49bd26cc96e7c3649f65f98066be2be5d30b8f9a4f5dddea403f62197b307d6955a7aab9cdbd86eb036e816c045c7b482a8722f3ee152b3c83f21e26d8905aca026860d1c26312252a29a97807f2dae7b9de306451f88d24b935050a684575c22ecc4cba66b8ddc3e969cb4b0ab7c84f60598d1c99a1d6b2424265dddb302af2c1be9f19e3a2df31a206bd564915b63541d5baf54f1009f34d5e16c0dbf50cb8bca8102122b14c3d5f4805682cd1cfb4269b5281393043373a99db7037343077a607e903bf4d44322ec9d8c29aa599c1f8ddec8c335afe5fa7c68523e713ffad146f85038e20b8ba3d7f3bef7ed8eb6627ca9ea14dcdc0ae398dfd014a965044614782d6c5e22877d569e1b72a877d3ac26a6ef81c3ca3cc9a4be88e1a3350654541781e147b0de65dbbb65ff67b3415375f1f6653c2243a9d2a1cbd9bffbda8bf0b343c6765510298bf9ef6b3ff5a140e94e498c9eba316c29410aaba59de2126e58ba0a6191f4218a57f41ac43b0ebac68623653fdba2504656f5f5879c2002757f7d6a50e0cd4f2b94f0aa2a0b3afaf9497b6375585115e3f0cdcb9c6ce351d725b1fc745a087690f790fb79f35b5159af316c3f710e384d894c11feffc0d39e69f291146be6cd38c7152030dfc17bff3a064daf0c436267661f28c881be446488e90c0fe894e786ec7594f9f95e811c123ec9b772f582d1155a790f7aa887c310c8f96a2bd2560c57829951b850fe10437b54ac9459643e3136af45dea920ae4471e3cd8713719a3f1907d5f076d4b40f28be7eccfd589933a87e87a9efe21733fb1e068f37dda9ee061280185c4e646562680f765e7364269783e505c13991a35f317653373795c1e1ccfe0b42c0ea1ed3cd3464a851505c3dbeffb8a0cfc930d8a4234b9ef7cd190281226e842d0b1c0314846c8f2f5274528b40ca7ffe47c07d79911e8a782e15dda291ae1cbc1e58e8f95a93acf3f9394cc25eda4149eac5edb941191c421f5cbb78286e898f9b00645e4d308e1b645fc81c3f674253e5314aab8a0d8938fe0f313add215c5adda2f026419f7e421c3b6a761da1d1c2025b2cab226b0ca470c0b0f4e7e24f229aa65f0c752cbb18e1806381685c70a032ca51d550a1619ae29e78cf7bf36be4ca33249230520fe1004eec3a465c9cdd49d10052a32c6582f0c2d7ec195aa66988e7fa79d21bc7641289b5088095620f160a6e0ca2db2467bcf38881a5ce782ba4acfd377c16121f30cdc2003c6d06c3831238758107e272a7e9ebea1440c18bd35d927058eb10fac6b2fd1354dbb2c9f6985090414743e4cbcbd0d5f783afff94e6d787dcd1d457148071d22ec1883345d4fcd5e8e7c234028346f96d8699cf155ebd7abd3c9e7692b5310bde6b59c11dfe6c6f452a4b9502077594358f22b82486225ad131f569ce4324255c352de577295030bea0c72180fd5ed9f5fc9101405db2217d8f7a3e654b585adfc390a4fa69bc3af0d5798bd93547cc3ef9bc2759d5b692c97a44a71aefc76c7e5daad87cc7bb8646c244e9fdb2702b23b9c644fc75cf7996e5c82c2d457a29a27800876b56c01311e5c2fbc31cab3c27b6a0ca735021f5653e1e283da7689d47838d84c8a0442c83f5095afb0659d611f6c88b5d4b923f9769a69b020eee40344f939213feffed2609a2cc66e4ed116df1077403168d58f4034a3e391301bce6ceff852adb9b5f1cc1a80b0bf28c0273c4a696c521dfbd56e7ccecfd51beb8bbf94b961d8bc57055aa5d20e11d866e69b8416d757bc4a31cc46fc05a9fb14b5bd454d9617168aab9779430341e07994c9747a6f8fa86962ea50a33aba1fc4c0ab42c79e93e68d7eac29956db06ca36df1356917c5ef0202680ce3164a6bb86068cff2f8aca5bfb05cc296658e6032c288286cbfc1c47355964beeb066015e348537715337ec52f2fc9cd22b900c1d616ea38fee2bf13870185a9aabde169444f32e6c672a43b8a4a2285df1ea82c4e22b76883830e515ba82045e7746c2244399e5299bd699e4b216d6dd97aaca2dec68c31c271ecf8c1ec79961817092c00bcc0cff74f0136cda1568f690c791849836e19ba9fb93d9eb1de18ad66ca1f48924f6b69cea84648fdcf6f1531979e93103b0840de0e9f5160d09256e54d50438c6ca416f2763e68f69585e18a331cf35d393af88cc53a2a6c7f6e7b1ee34c2f634a08761e4945bad8345166efbd16998069b7d5efd668821a106a01da1d4df4193400bac1e6ed090a3d2ba326c24597ab50434370827cc1ad95b94456796015c475f162fd0aba9c08125eade651844d998ffcdf8f930a71085e04e8ea28cf691572d057924ee56bcb6bd759c864eb74bba3943b3dd67799bef8136c3af7f2638445cbd87b29399e59f8a4cf7dcede90f4c98788733771d1b43c17b8bc3905c7e741bff03c60160671bcf3d107c1226cb7e6ec203c826c48cb87e53b068a8c087e85d1d5b56ded221e74b6c4fcc0c452d7ac018b9556dd8cc5fb0c8f06ebdb96ddc3f6b33e650772ac900f17b097be1538780fcf0d76a586aa49d3883b0fa2da9b1870abf69055e8ca680d8413de19262efd4b151569a6aebf2ced094ff2eef0604ddac6cea018c5225c17180265a5501f6f495eb0b2ee3ad004a75bb52c26215511a2eee8821da9c815af51d90b9e2676cac1c3c2298f8636aee496d5ab1b7e1d9e308df9aa4ac202f13f91bd74a3796c7a4e09fb89c5d38b459185c7c328cf22d3dac3dd7e94dfe2b8c1ce4ba720a550b73e017504aea9b463d5ec8b1e4396723214855eefb94c8154ea8312b43edff77bce886bcc2d28acf03c09236b3138e06b762c6391305d70a0eeaa4ba7fbd46e4235c55f5b38f9e3b6fc3c528b85fbf6bfef5f6d46fd4ba488497a17108d8390b986fafcaf34a9120ee963474623b10e80812a2e14c7707dc7158f300bf95c0bf0bcb8211524df2ed6167ca69d0ca257e2dca5a9ba2719c87b79ee74f7624f6524a30998dc0c51514e4381aa04c0f3acf70a9f65bc6dbfe69b888bbb36ccd71b10f5af1b8d18f8f72e0f3862a121127a10db693a5c7e7aeb0fc3af334681e5ead63f5570d18c63c5d60fe2e6c3ead418888f4681d5c3d3dbd396dfe64d7226bfeeefb946a4c7787ac81787b4c40f28bd2826ba9d304506e54a344d06c5e70331bbaa9b7cb6e0b8b27697e36f56db9aeba1e20823eb4081df2a08cbca8f739c0435f520091708e9d414ef59c4f6130357365f3e487b95fd60d19c908f7cca2519f88f0508ad0dd6e6bbbd62736e678a64d51c4880b0b21141fa5d485c507ff616f522c8ffb6c87554d8b02d06857f01b94a73b87ba2952307aa9793f3c8b0dc3a81eab689dbedd2fb31e13d823d236edb2756131a90bacf90fae5d95790a6cee91f771517e294f5f33878ec8840671eccc9d6dba21dcfcd1970465bec9e136aa1f4a7360f6c8f8081e241c369c945acc268bbec28be2edcea4669a48482bee5e21f0cf3b7a5ad0149ee98a1ccbf3e3e62258dcdc1ac4a6b8a2d0a01f8e022faa4dd57ecd2961edc82e174aa278113ac80bdbe4074e77660018227a0b3ade1265da620e8564c81790c14c0a250a10b2605c2cb1bb2d8c10e6ba29a35410bae1280edd461d1f67593d926b7cc53e390ac8d114ca5e954e73035130a19009d80703ff3fe28a7bdbc36a7980e64cd56f29737682d191a397249d8ebf308d6ca2828f593bfb5c617a33a075f652be80b0928c066a3b89e88950c41aa13d4171685cd4de639a46cf198ede3df9703613d49781bc25446c42106db9a8378f06d0c5e2e227abda97c0a1cd26dbc3c3a30d94767016d309edde86d18415a87e8dc271dd36c2f9705ddfbde066284a3c1ac9cadc16e1884d850261d9870adb365b1cb24a6187694902856a02428445acb80582538937fcebf30fee5a36d3d5184ae744835c4d0449e4e0665e9f5048c94f232159edb925a7340ed8af832dcc59b8b6c48452291739a6a1865de4db0c8e4be16aaa55c65e3b39af6bd5b0206a5b651b691416e4df57abab85154aed81ce23d215122a74ec916686cd261f87c282416956d70a35ef7b8c961b0bc588129e36fc44149beb505ae5de7771bcf06964fd3c536af355197662889569d2719276996f9db354ef0159fb27d1a3b55e8eacc6385263110e8f2f99decbf2b41d5eea856c123942e671c7c377609d98be829d7b83177e12c82e301b2fc6f967afdd14d3b0b204507904761298da5cf7bb889ef76fdec441ff2db18e0d5c93265fcfbd4d97b30c12af5cfd57b6571aaacd5606e0ac1b502a2b1f2276ed227fe22fcf076ae3a2f88a35dbe25ade6667abfcb6a2c5faf717b861339f35df1c3a8bb138d6d13ae27ad65c3164b62a0f7c52e41f493b514dde9f28a3a837e52a014b3519beba0846dc3496271b59daa75021c2bac523711c3ecd29a7397d75051bc46202453c4bf84fac8cf913fe0573ce3cdb043c7a1cd3b8b4adac377544696aa183346b8d9114872d9c0ed524e111a785ab39ad65c4854f18c613f856451899c6897a0f8b5130efe1c8b38d2d0e8336171e4e2c5993c6ee66b03e4b828b01f23800b588c6326fd8113d2c2041f83e5f390f6a7d33a9c20889a55333f3c14d04ccd66298b72359bb1e1761d70e073afc207596921c293e411a5ff733ea484a34492fb6337ebab375c1f8e57211505d00ed0cad598a886302dde5b9ce03edd8a456786a2483634f04661009c70e9d8aacd6372a3d01ffd9a518f5d97d3592b68832613b07a8f5fe7f119aec3be9e22b9d5b8c93bc248619efff71cfbb73ba8fce25719cda81a4e13da0bca07671fbb4ac1701e91287d0d847fd020b0b09b7b274853a3fcae841cdeff40ffc39643a53bcb42b446f7f9be2351c6c2a2071553e6913fbcd8daa4b2632042b3bc95e1b8566018d8a59321b67d799be85535f07c58c2e5ebc17626be58344f601ab4246473abfb664c2d487908f67f83b7723690c6fadb3823cbebbda60303cb994cdcc946a5f4b375c0d447508985487fe5572d9c02e4460d26de3b74cc210b288cb443629319333334b0db6e8bb63a7273ba1187297b1f84be0772f28627d73097b95c2e397a93bbb8316bdd1f49b3ad17fde9f03e911a7cbacd58190a1bef5d2022ba8422edbf7097eaf1c22697ed3061d6adf7d2d9dc7cbdd366090b60391918c60d9c4e098c6a218d4d0cf2d6aa4c63b64bc69c4cd35fa6d0a83d2bb0a101d9426096dec7f05379f557c0ac3512286afbac34f8e264f6347301bf30de689806543467743f77ace5f0edf261537fcc22cf038b54c6b5f56e35ce8ec8819f1fda80aabd0cd1ce4a9b4a9852270bd6a3d13aff3cd473aa88ae5b52a1d4a31e0075a194747e94b016bbb7cf3e215aed72e85f6d524066ee398acc8c6c7253139990305a995b37fb8f3c8079b626b96728eb92e718610cf5d4be424f91fa48cb018bb30ff870f09c8adce8b8e72e4882ee3a76bc3f457bb1028aaa7273a6c4eb36b25082d2559944040e6e0d90cf474ec99891344572daa24061b14180274e05c3a801f8a46b75d959e18f31d274254d229f64b109fb0375a3bfe9ae626192c21a80c4dac4fd350d2a4be66d99b900ffc8a296a54cce9a0d238870ebadd170341908d94b6ce024060bf9e64eeb0422f06696168157f323055f307efefdebd7a6464b6a50fabcb7f1d2289b6bab61adcd45868a69fe3a395c8bef2fe83494d91efd32d0cad3d25823a0b857a62424d4735d1db6b6690b60ded864fdf647463b7bc37d07100e47af9436b0b0b5b6ee84b1fb0ce2cea5ea9152ef607346c0d1b7221e54354b80c50c37226076bded7ce34eca0b2aff874b9697f001ea89b14ebd3e1fa93b3e609b2138407ee7d7e0d899d5a1881802e270dd3103d452993d2c006289b2bc87c9830bc8cbdccc137d4ba6c99ba53ac7f31522ea1a9f99ed59ddfe164ac875f1d17600ee35245a11f2f0e5173eaffff6179226d1f0921cfc634df2401158f5512c7a78ebaf889bef9a91f62d161d96c0c4049102fe2d0e43d511265e3378d1cf0bd35ac963114f3f84467562a596a8e19dde99f371bd690f45281b79e7d02ffdef26235606c81389341beca20315093572cdd244b985f6f562d4e7fabb2a2508518aa6d9190e22f4775c80be6a21d579df8f2d9c11f6ac4a33fa74985841b50331c00f60a5e05262310af545958c882171dc1e8e67dd69d938fbd30513509c59ea46f5d2a08920b607a0c2064e7881154b0de43087ce620267c21a6d66fabaa511ee9dfe9f8a0a92c8194ebcbacc3fb2ba240aeea4636ea1becb563c0e9588278390c39f3fa06aefe36a8c6bc8aa88df155992323e54893bad97bcae49d670ff24336622dad91e0e86eb1c2bdadbffe4bf952d2f2779e2a9dabb3867d906927e144356fa3ae2d482dd61e7dbfa29865627d5d478a998df80a8f7f0a4f562ee18e7bcbb4c44c5b32f675d1774f70406ebec6bf33f424dcabb15e98fcd5486e5c4bd4330a2dd981a897361543e36a6ecf23d5cd38ce769b35802c2aeb13b272737d34a3448f00edf7a243781b9106e39b931f897a63b57c63c46124beaae4577bad451eb961c8faafe4c4f220d8cbf64fdf96bbeee6d552cfcd2460d8a12ca53082c0513ee72ab8ed4792d369593ff12ba86d303fa53dc6a28bd674b5c9a7cc270ac20ae64382ae7221745d54c01c4e6b57914a0435892700e7c856f8ab07b1a94b3a425edb44551b69704d3b64eb5ffb69c5fbd8d566debe1b99ebbc4bab1ae8b32de0c262626b6103e5e6aaf89695b5f0d5bc5f2b0b77da84ab1c7eb4bb1b90cf33503c028aee03d404ad682e73246701d8757bfceae829438470bf227dcc7da95aacbf53696886be903aede3fe25e71143db821fbffaa38314a1f71ebc2de0e10265bb95e273e30337d434f6ccf05e7c615bdfbbfe29521b2fdef67b54c95d106aaa28ff1873057ba071947f8a97bd8940415cc467d4c9b14168ad297b6e9e6269934fb2b073e577b7b9109bb609048f4f5f3c53ddbcec3aab08329e56148bb0da64adac594a76bca3d60ba6c41b0c4eaf3aa56920b7211a00884b6acc1592cce0aea67708b7e3379e00fe7d93dbbf28d8ff94ead0ed77629c244a176d396c834045953855818702e8dfa4fe5c57c30d864dc8b60acca97bab124492be34440acf428c12d92cb3d73a93f977ad2824172b82708f2e8d1524d7d515ece2444dec6b8ba6288282d474e9acc18e0eeb0f2fac9146e1cf15a21a66a3b4b6f380749b8cc84a0a75ed0acc049acc0fafc083ae09856bef74c4281d2c445639be38abf12ecf191ec541c6a55d0a14fb24d46bcaff56ac27bc06e951e8ad08c664a9ebfb1960a1abfab05c33db2121db90065aad127bd72d345b16627262ec8e4f5f55b93958f2ca6f15d6795cb01489e6779a8cbb20fede121cf0106d7d11db5254c2ffaeed1b7c33e3f9c252e9e1f7ac3ae9f2c116ef38a10742719f023a696813c30240ee8ad7271ff68b92dc877782c4f2639f8f6462b0c2436aef466d48669d22d67e57277bb573b9512f325f21daa3b3de3099dc0de38a9ce5c103e6dab23adf4065396a1b97373fb8857f38945688b695bb6d48578b3276372ad4b5e455770aa00349663f9a07039ac1a4ff19d3d83b52503a97a84e11056bff8d79c24e5bb3bec53aac6dfa5a7089ec0188464ff351d99d0c2f0268a6a7d93a31991a484fb593ca465905300b578d6c6bfd07da203ffd7b0188b541abb662b484e7dba5f1843a91b6a57c76d383d8a913ac7c46ec45be93f3f6d00a2f2b307d6df67c0b3c9d95b46b0358d50fe5f1b65ed40e7b492c897dedbb15c79ccb635b34b5baa91ae6a86732d76d40e305dda62b97fbe7361c31409496261c8a48a09951789100a629a90a7e3b6b9705fb21755a0e2e0aad41732772ab66b4c588215691a1135c35215dc560c5737abc83193edd81198039ce76c1f3e152989a33f8b84ff2edd60c821a40e5f7dc545a95ad25e249ba49fe2877074f405a0b8730c4d9d4152b512d3ae562dd2bd2878601e4643ee12eb9a8cb70060bf80a9b9e9cd833a3b495270d4afefc2fb827a8f0e05d0ae62007a33b42cb7b1f192c255dac17ea4a9189c31d0aecbd7e5f573e77c831cc286d99e3e2d1ba68cedd5d74a33798b27cbf477fab4a4626e6cfb96ac7355ec0c241b0c9ec647070856bae1ee2e46f2b47eca2802521c5e4fcc20b39d6a35c71f8e663af3c001a5d8fb1c37d4b21ba4d9d73cd49dcfb04345216681c4ec58fdf1741ddbe27b12b91b738a845a6d98331bb18f1b26c403bfc3e27c4a830fbc4595fd0a360304eddc2ad499f35e1418c1508e00eb496c2ded81000e1024e17fc20a30add64861b0d960e900f882c452248e9cecc10a0750d65ce3e20c41cf8297b62dbe8f28222fe7a883f6580d2173fa53032e128e25c2f5c1742862884657f43041b8885107194f7de7c44c212e3fa1433d84f94ec589897d4d3598941c489612de806c4e4c73ffdedf35129ad11d3750eb6739c10a1b26d46fc924dc9f036e5d4d4f341c4092131dbe8b3e1a255bed6a3a67fc4dca7f8886a62c6cdc97c4a886bedbab12931fcfe5661be52d0bd163445d1d89e760d496ab0de7b5f259c7991020eddb9e433896ee246e8a7b05dd8e360022849c9a3ee966586c6efe2bb43584358f67e4348a6250e681b71ce0d1d441e95f44f1968fc71914876ea85f68731257624be8cf75188cc0f8419761d99ac30f8f6795956eef5ff65afdcae98d1f2b87bb1841fbc142f9ba1b134e692a147b85e8f2b2cfee81da0b0a092653bbf8320df54a7c8368430377b4baf5b802f8f23d35427ba99354c5c6a250fec168b1ea62fff3b8c5e63df5334f49ce1da053e57f81eae4ca9f7e0faeaa61663514565fb77df034b713f6e3278c0ccc485da5ff174dd08a6c9c60bdfa9101fe14c0371f65e5c4ddc086ade75371c20c000ce0ce28fd0539f49328f4f3a94cc9b22bcde70b2574dec45d1305bb64d49ccf31e07c820486f525656d623fb513c3bf094b4585c323df031e22457f152ac464060cecbb1a75daa52e74950044535ea626347df07f68c51189e426c53579f1ec70c3b76796a2861362f8f800429b0ab7fa1a22387746f314bc16b81282e8f3c70bcd38ee53db94a154f35fce97624a1f467f7fa98514bf6a7f0507679cb6e8aaf641d5583f4964a58ab078874f67d7b59d6a73c859feaca914c1b62e78f734e96f45811fc5cae98722d0f51688ee9c3eb470717e797a7419fe37c5e5c764f62b55582f3e12afbd84762a60c46c8af9dcbba2f4bb923122921acba395f2266908359fcb1e74c3542a2e05add372bc3ee32ed278a07aa553ec9aba6055c47a2139efedc9fe45d7b41fc102e08bf17277495adb05f4abae9dde96dd798d916b12326e7f001ce4448ad0bb5d13be40c764d76c382048fde85db631f8ea43da8cf13c2fdc8143c5457c75e90fad611b7371b340a32df91c1ac6040a652aac2119768c70e41ec383b3e5b415926c287840a3dd03b0971fa334c06262b94d01d834162f868942808efa2df2eab99112bc6156942cf38ea945911c8305225fc3ad8c3ccfbe4b594e82f08d3d0264da17ea73deb147c1cc34fab5cf21e2b957572ae89ac8a72575c56d43d97e851177a2ce2c5ea6f8e660b9645362d6db044b4c3a88b50fd6372c793cb82862408cdd66c2d5de1903c4fb70151cb4bd4b57a261f283017d2a2bc33b8ed8884e5eaed1d8ead1378112015b3d3a26b86b449a78c9c532a9a7fa6e9b0bf6e8c6794095e403c35cdbe63b5bf805384d5a1d70c5fdc6cc3f312eb16c9b100e8165f072ddacfba9e541a48bc158aa872ac199a4849d5078d45e45887eb3ef93b8f443d7d28672a2c808eb77552d3782eeefc43781103f5c9ba37817c854263673fe5ad7a390c86ce0f5934201b978a0bd4e01f486ae29cac6ef9a4076bc8a645e7377c40b4a4bdf97647793fe7f1fd2b9b40d2c67fde6706027e99dda32dbbb2727bc3a41df699c662217efb9e55f6cb3cb33a689d85f1e8b3caaff232983c0bfabf7724f1e1bd9c6c20c95a174debe7fac24d4e0cf7f485694efd0353141e145a5fa3ac001246c2ed19907d1486b0cf0e04c674ae037580d999ec8314ba251ec7db13579c10407f70cf87f57dd50c8062f92474d09becb3dc7b69fff21c476fbbf8ecd717c792f8bdadc8b6fdb71fd05a01c48c0af5cf0578b07189eba6a5e21ef39f9951a3ec902649d8ca7b50cdb381b9259aeb256a4c6a852ce57af503557f5b64159fdbb3d1a04693aa2e7eef55a8d5f8762b57c6d0e3056dccf5677eb8209eb4b39c51e4607883f3cb603d45559f3a342c97e4451ba8e7506ffd2bc94d6a0687fbe9a00923d467117e81aebe0b048d8460c6539307e048e6a0ab0724ee4edfa13adba2c6b7345f7f5f608359a628af3b25e76fffb829b98a726f37a2941954b410f4ec05baee7ba11d1bb86c9536efdfd3f3d51d56d54058d0d5101234cf6a4c2c6cbf7741913bfa6b624948ff40dc89bda07a1348af7c2f6d1945d5bed432b17f7337112aa9ea3be3300b75b1c9d9c5c37dafc344eb7656565e8e790f0661d3525de94a8757e120662cfa37d0903c5e10c0bae40f3e7a53395fdba0fea068527777f6db59901014171dd075a9732f5b4bf8c39dfe78c806cc1792f3b98b064fbb5db138e40c341fd969c830ed868e59c3a2aa5fa710458179e8cca0ae01049d3f8e68cc0f8deb2e0bf51eb8c2b531699624a0f79c5ac2b0f127e02ca28e83906b795cb538d563fc29b6bed279c599e94719849f840682fb49b4ca9147597a63e74d5f2151ddeebf55fb283cbed44e9edbc9f3892e16a7b9e68fcddc41c9a65e7f98c9e7289503ac688893bf4924235aaf70f71e3d7269b6dde4aeeadd06948106f4c2578723a1880d80514d3facb8e0f26985b3f0323ec5fe34f67d4e3fdccf884cdd8e1dcbe0b5f9060bb789993c4c35f0db85861ab6d208269a0385d1afb695ebf7a2e9f02628b483bac2062080dc42afa6faf316c5d31f09cf8f3ace71af221b025a1549dfab5c04fd2ad64b316e848caf2b8bb0e2a7e179e960acaeeef21ea6307ca7edb49edebfee64797c26ca26d9cf47dd84ef55bbf22ae3812baafd482c0cc6f6bd5a3de92cb0801601888e0735c9536a9f8f41a5879f01624cb36e495dfbf97b59a1821854d83df5bdb4b0183df883afbff8cf2640d09342b319d12dae5221166b7653065162b4ac324b62989f996ccf7882202edd0ecc801ed1d03c47c341b1fd96deb91dbf6421a295fdf575583388bb405207fc259aee891d6fbe43e82641670ca0cee51a1ba4a31ac6158c2a770b6aef604c8427d0da9666107ffb8301da3ff5cd40d5d11a26943e08941251ea91667629a9fe5560a6e997db1af63ec34d623cf8398b2b45b59e11ab3e6cfdca9337bf1f7dba8d3397fe3e68345740c241be80b23925304797408d0f7940800fa0786997a39eb35868df65d15b7b019fcda1008d5b9b2d53ca82304bf04b8e780afaff526a669d6f8212b828329114ea3e6583301942c109344549b75d72da74d9ca9a5d1551acb365a589ea56cf724ea56d8cbe8737ade3283f2db3dfb0d675eba1044dc247afc2e8f95012e65d0d346ec95b139f9b4290c0d79320dfc089f2d4c918c0c2cca40395529afe160563290fc0221ad1d3d8597e1f024177790ff11db620b7cc0361ff1324624b75306789404eb0f49a9a982aad6cd12d50846f970110c6a6417dd6f05fa77727dea50717e23d8d656904f08a5f2a9d986ddd4bdd1c029adb4861c7042d07452653438694bd074cfe61f700e5325e238b9c48398004676bf6e8e25dda19bc21b9fbd55629045b7a6f5fc39165a70d827106c4a216e6b6f51b2bacdf54e7f73c3730ea06d33b9dcfe88cbb3e9c01bc1a1c2a3ace9d50abcddc11dbe3a5f4c34602cda2d33dca999b6b5d2caa8f1fb9edc81fdf9c997154a4dbea12d2ba77b9ec132928c1a4f3644f5bcb7aef03e0bfd94e5ce3bab5e0441f08a035d47775f2baf953371191b7f5c609126ac3904bfdb6dcdbd816db442cc18bcd18edb5b363948fbcd87959c5c16914b04801572e8427f60e52f948f1d140274f1f5fb2a6493b4aabdc288570a0d16b1feef9bdb8ab25c1dead210ab5535ff0a538be985388f9c487032eadfa9cb60f2d935316a081b503a19531437fde082c953fd08c69f58ac38556a51ccaf7943da4ce1a7017c052b12a3021edac56b8d76ea52b31cc4fcae0fedc5d1e0a178757492c97c0517393974ea48f70313988f5a18877adb4a50e8460e6131740571317736c17e320cb06dacb4bd908b50e386022e95c8b976ce40d272ca16999d0f911a8be70fdb0411418e44f7958894316513e91b53d23963bae55dd1ed20621beede9246b91d1cb98f1a0138a16f82fe36b3dc83b20aa4f9b8bc793925dd0817255a3f0e78e7d0e61564571d7265c7f974bd29bf5c2ccac41c55a9cc323aba522271b72c1f14c2fc038c8a0da6066c7747582073435ba8c99e7f928ab1d8eb0a403d19a32b0e67cdee09bca1247dbef0a861c22799d3e7582a2e1876ebbfc8ece43b76f6e2e5976873d18c0228b626c8eb3e2dcb7031426794ef476eda76a506a156202fa596968dd54b50c63280aa4184ca598cf81fe8b02c2b134d76596dae4b4efa3b6b844c57ac4e7e0d81ddae42ab4fdfe9e7841c57876657418cddb8d120a51c4e1c02cea6c16f51a93093d4cabbe460a783320eff88aceebbc17df05cec31d3c6217a07319e7e8d08e4140b82a964665a57afbc54f2ac7f62ce4437182c1a00819da4e898f2f54ccaef66a25a8453cddbed6b69c9ff5affe7b2d12c1ee2e24c13b948483a52a981ecbc92eabdbed6b9f2d769fce84e2f5f249d864ddaad1d80ad435c8e998f77ea6a47ca5c63d331bcf7ce9841c1e148f52ff0c66af255c5a60394785b8b6e2bc7bdc66adb959e138788ee72022a7e4ef49ada81297ff71c1cd871a81b7cb5c79f1c0365dd800de9fa799425d266eefd09cdc7616da534d3abfab1dfd398ff9b2c5006cd66f0875a8d6d62528252b0e72163775dcbe99fe33b21721995208ae53e570d35e84dff02473a7044e98ec9c3deaba012b6eef1bb881893d4618588d6443e74511baaf1eb9c1b52b6027b5dadc027807ad8f8ab2674aadf3f3c78628e8495c0dd7a6b499f802228b35221fa8adf939c2665653f55df7c6bc0da2c6a8a5cb3e978b7fefb2ca5ebb3718699c6bf15c0022954faffacf97537b961130866a0f037fcb53856129313425836f2240c869c433acd6b0b92ada517995ec3de176ec152570af23a9f30b0abcfdbdd52891aa45fb563fecfdcd98729dc452c1b729b67f59586300ecba37d293fea830b8082bd09afa86b5b8b94d7bcea7c9af2ad3996afe9132a495d24fdf863f7bf22547e96824f4c6856fb9340295b55cc1afbedf932d005c61555a544f5ef7cd9896f5563f681f4a4f0abdf3154d4ad73b576eef01b7b286746a9a2e9905f1b681eca12da3a8f422dda391636be676653cc6a561df1612fd035fc1debe11ab55f94392687642af2be5fdd6f4dedc33a1027a795ac713ccfe049a4a34fc4d3a40746dadb5e4afd082a70cfcdc12b19dbbfe0a22c9a2d06bc419a14fc7c250a8383537f82f9356112851147b205d9c44180a5dc3decda3eb51db597c9e4d641e6c4b55f5e9a0ed160165cdefaa9bca5bb1b045ea621d1057c50faac270f376753bfe0a4645fb74c2f689ae22321746b352742746e909c8bf89cb1ed371713720220718f16e9c5d0378fca4e18721539183a25b4cddc8a55851dc719979b4b368562bee1f0c1f721baa77e6e474a6e38f70f9f800fe5845494939477a5e40a182200efea8ad9ea6af248fb4136e6693bcd628573ea92f628d181ffaea1c1b68e9caf6f0e6167caaa73a87d096e1abeb9259dd923c8c3a9a64a511777719928ee7e6ac5f7a9f795c6e2f79fb802a96f9a32acdb97b938db3da0ac54a0d6bcd53c68948cebc068c4b1f94cf463906aa284c28956d5d25054080b07f32493ea3294cfe6be6d33ccfa2a473754995ada3dfe492ba2516c66031c37e99129342173fd59192f301a92aa4be27492f7d2959786d7db348bef941b8d6a6b9c0eb35430c95b2af5e28c9ed0f160c02b3c8a9dcb8aa680a9e9d2db3dc020084d3c7191e922659610328ddeb2ea9d4cfcf40fa8ec6f50f0d6f223a33dc4a58e50cf072d5d931bedef34adda2671d6be0780090a57b688feff12bc360e1edb9d881a8c0376666795ddaa0169b33962a6c559042db9c3dd0dd944bd3e39410224737597408091314ee5b30c8f53ab310ba5f09f9709027e660f58254d6ae23e845d5a0f50e6d71c01cba2588feda81ebe3a1b98e688cc3ec5b23ebfa02c9d98d1c115a90e5a0c298bb5c3106c538d16efa96e86d00a495d099109729d2d1faab3df7e2d3e74f2c4aeaa2e6f82c26b1ce31a09aa4f0ca525b8a078bb8c7a0a7b4a28213b35d5dec4816e814c02eea60540e58348a9f755572fd1da815e408496fab3a8c1c5772162bbd0e846359035a8645dc8ad6abbb0c60bd129883f40b8b067cbd8a0f5a16d2cd3d7c963eb082f19e884c545620eead0ce90a930cb379908a52cd79ace13bc7b91a6fe612cccded81be22daad6894a76a1d6adbdf47266ce18cf00896f14ae73cadeb2c6dd14eb9cf9b5c008ab34d9bd216400d1bf84d0ee17a3502a4052a6a5e8333c685e1014153c2c1075186daac6d5d8b7b82072bda75dee62b0c751d08e699b0d0c477236da1c956b09635f0fe31e131ce19b923145f04d10c8aac498882d562fba85c8618e15b22d1dbf8fc4b86ba752bf6084d5cb65974cc8f0ee4fb5f1e6018f4f7c831e4901699ba1b5e3fcd3cbc738f3d9ae986768d0a7fddf0736be28ded24b5d5bbd00128b8662931d6f5a0372ef15184ab06582df88affff936b98c6ec564289a9ee5c803584d87aef7d92f0a0fda5a45d6a9e057b9d6fb90185095cb0279dec60afb1c35e30b64b33ef5640c509c7f61338eb1a4f6f0a6eea552d8968b64323232fcb99660aa573048219d1643aa29d9933405f3589885839044a6a7a277490e0b8ea38dd0324b565b302e6bcb5df3c5cecadfcf1885330e5bfd66ec06e07430e3f4b255fed06d6d075c6637a38ab103bbe5082e9ba3c94909722cda05235cfa3cb1eab45f4f6e18d176b85f4d16fc072b55505ac5762351f2e931120775948ac61c19326558ee935e9e2706429228b9bc0f71c7d66f7ba6983f8cb1533737431119bd4f86bfde047851a9d471975eaf791fc0987ea0edda95e8271ed3e625e6320949e60bd93d5a53e1b1d0c5395c8d0d54ed44ae9b6cc136040c56b34d995f6d11e374e63417fe9dc0bfb576ec8536b22ac143df7b380107ddff077a4bf39183e3f5505f29b9914b69f11596c53f9a4263aaf90d95e5f16d51eb333438da82bfad714eb18a6476dea5b5f96e2fa8aab09c8d1e3af41534a9db5ebb7cc8fc2e0ec4e3a1948fb421a64d26e249397c73b23a65771e4a7fd2085b22961c95fd87f1f7d9ca9aef3a150db9f2d891430fcf58ce82240086b29ee1e7b5450ff132fde68ef26d6d16415afc891799b8ff9d805f7bb71ee10084fe9de9ccbb73b56a49a652e49092c8b69f0aa650c8e88e4736e8aad14c9161293e4186c120140b3d77039d1c0dab4dcf337ebd30661c428d825acbb1c5d85903dfba91b91841047f2d9bbc48f0d619ea49fe22197b28998b0c6cf39a5913fad8bd083d3bb2b068b5ca07bb5333b0ca7b61ee1dba4721ec6e4c8c6f7ab13180ec2e638808aca30c6feb744c3a20aa2aa0f5b5bfd0b45d792e9cc75d6b4e03f165714c1376660b218943f30ae6701636937fc96bd528650423b3a4c363f469cde98ab392683d99e9dfb52ba9f1cf3e41577379990f900843f2dac33c70d20459121596dbf0902c85894fbd1d24e702b67dccbb5423624d6303f65b8d0345355066d58d031f98953513cd6ded1d40c2fe8b74eb5bf0e78fa2fe8c94dbdbabbeb5e5e1bd96fb935638496dc13580a907da67752d10e2d8caf296692dab48e74c651295366dc863183aafde82ba27c55940049844278f7fb2e7c0722f932e5ee4dd319d7fc58e686728e6033f34f48239f458781075766d3798e6ae875d321c293d9d5497504a0dad7864c92c4a48a5451b26f5aba53603f4eba7f86fed322d99e9292599c0c99116f6b6a6dc59a6bd40a2525a162c849eed480d3ae471654442c2ce04f815a20f8f56a3249ce30ee129dfd23d0fed280123cfb82231d3e6f107148f8c7fcb6492574460be93553bf36117a50f20f8910377ad5e56d2f3dc77831f1343bb3c7a075ed50d7918104cdbe6f0f53b9ff93d5b24f2cc65ca125028003e6973908662b4c9bd007d483511f8101461a3334f0d0354a12ecc6922f1e35fdb8ff1a2901af3b105bd182ea850643c20166cb83721e9fa399538df3aaf895879744d8bd410594c19d5e8169dcc0d478ca8adac44458e39b4f351be38062ed7adf24f0abc760aa27b062f40d9d0c042d39bec99ae62faace08791fa83f838c09e1166091e4e7d6ecf75afee24702a3c7ebbee77f118ab42ee0e839adbaa0453bba32c7b75174b88327faa5ab6e301283a755bb86354a512fe3b6a8a39d5e1b3ed91280d455c4d521e67ac074651d138e04ad6d4032dd6b9156c12f619fabb2932953f2da953f5937f9358f949db278176c094a3499e1fe1cbe11cad4325a35ec978d61a38dbe45b8e86f0c04b5371b363e1726941b696775e2a2722c63013f5d19c35610fd07a442f4a8b59047c72e3e5b4e20c950ddc5717cdcd651cadfbffb3e241d9d0fafe73be34c7f1f3402adc2f3b31e6be90f9ac03fc52ff348de5e41730f27f64b0ae196dd913b7e2b865b0344aa1b17735b1f908279ea4dccd1c213c013259cfbb30bb64acfbb7643c6ae449443b9ed75814c7eecd776de073e1ec757a3170f2fca265410da25b6e658df860e0041d7f73db888a0b419b484a449c3232fe2351bff3e435d54f261774d8e9f261b5d8bb42d7e3720c08fc0c897abff009654b5a11985fd5caaccb02546d57fe8437b8c662817559cad7cb92e57db31c423eb82fdc40319d072cccf0b5ac8bb6e024d648e2bdcdb5cce832fb6bee08040eea988e02d28ab8204b861eb4c5b8ebbf744b7d1f9339c59619de8e4f9d332a8026d596e475e0a1fccda44a6f517da1f25c99f4e469296fac62c5ad2dd69d07f1c160591188fb3f265ba8d5cb83fd80adb310c91e862797a189baad5967c80c7169c1d09c706b6ca265bf2cce8a8a138879649a215df15c3e40833a00b3bb191706efa027275a2fd4b6594e4507ac493f9af6f88efe97b722037e1355269aa5c7a2b1592c072c7708da6e76376ecbeb987d8f21a7d3b3781df14977168b69bca586463b128790a51ded37e0efade14c63d0bbd88ac9315571270cfb46fca6e4d3576a8d00fca756fe2e12388b2ba3f4c39b904728f84a45522b287db8974efe6846d3bdf958c4739811e05d3d97b1cb2b4fded0ffb7cfa20c7ba21f448cbd193f88c952755aefe2b30e78f202f5d65852d0b863253ecaaa01eaca6c925c76d72897ef806a3d0b24c584be2cad5b8b67c29ad82397ae22950e3f9b19f79df9028e506d1f015d2975bd247a3d696df0d4e0a088ad55381d479433aaad0c5383cc2660a6706286ecce0161707c789bc632ebe51368aa73b91aa69b5bf56873305c72c90233a536a7d39ee53cb619f2082402406c52c66e68886c4e4d818389954cdac6e5624ac2c4cb0e4ddfba773ce7a6dc57b219188cc4dfb12146253c8c7657155a56b44f493b8866627a22a602b73a9b5ff7e230d4b5b710ec6a3ea025bbc80eb470ce196daf6bac785df6d9df441be69d7121774ffed1241e419ee4770b5d80898b63ac73fa425370359722c03280754d3f95b1d592ae9c6b4b6b604a6431bb3ec3b8d68ed9d8a1332238575ea11e2a9fb0a603ad00a756f1eb53655a4b5c4e33815c768420d24f90ded2be4b44908abe5b306d9b50611914f81f3b6542088778c039eda08960fd5c402f32382ef550794bb77e52c9fd34972cf860c52cfa269a89ef66c5824568acf6b8d9eacabe23ca86f38f6d8b2e68cb002d796c9ee75121f28ebb7edcfedc583c9978fe6cfbf179c2b9093cc683a29504678dbc68d00a70af3950068e9bb992f82afb6463243d509a9f2306eb4cbbe49f8d4ec01d98c3837e3259ae621a764c2ea1d879b24d4f93c281714e15017eea8c310719df29ea453381fc62e9af7340fb63f29d8c9560274aa49f2c5ada34024bbfe175fdc7c15aa502cffd4dab1a1546f79fcbbb6e4f3ee93c9683a2ad056296388bb3e5fb34045791b44b516de65f198f11ab7bc9bef1fafcbb869873f0d6df047b58f2cacd0e46203b1c37f26e1e32aa3a0e6b1ef2646fef7118f6a12397f66d4e16b4ab760bec6542d99d3d088704fed17d96e115b97bd83e937903c3e5b8df3f70932de583a03b9deed8a788c59fcb5c1132ac112abc12a59f714fa4f9b2718473bc3121cc22664244b41bb8cfdcd983fbaa5b7b3b92c3ad53ae6576a97c52c39f79e188bbde37e531eab26cea3f6fcdfda48f03ca75cfd78bd971c88f301a5377d5415e304daeb987cf5e20634cee4076e3100414a06ff31728f39dc3e71b63bbbdaa8b8f001b98d51cbd72417d15c9a2b02593d4a7e8898316b263adba49f693918ece69d90f74479bea304058b69a4cf23d508fb2a89dc83fac8574297918a68214c9c9e75c68293dff18b870a1862168465c5f6664e09f3f350227a48aae6624918a1c91ce202eff8dfa1b8e47cd908fb70d31c74abec1f004b124d8d5c339672993831b220cbbeedfab9e2eb36576bde4f881b46964f335251be025cebded50248330b197ccf496fe532e2936882a3be5da8533d8aceaab37d6867b1626cac94b0aeef62346872c90333a790e8b505fab9c6feec19e1305b12d515807481c887bd4a6c6063ac80732999131b3ca2db911fa2b0bb191a308c2ab137c47c044f714324a3613eac5fe2dd52cb5b983cf73ec14dc3c8e91c0d4240517612676271eeb5804f30dcd1c01a0f21098b59cea1007df5c96d3fc08ce32e1ef20144fc488a969ff68cfcc715ebc7fb44a439ae834388963df8490c411e5c0863f7f7e5d0e10da472c4396936f50fa832f0eb4454f08550339b765c8c9389f6748d775ba1ba06962a9893492ee2b1ec31ab0c151425e9ded5cca3ed3c6a33ba731c7f84b066aa54e1fb8bbdbcfe9fdfe7bc578d564b6d84c88d87b8982fd3a29aa7659bdd7b897e93e9b2fcea6c341972f3f1c119b9624dbcc91c7b6552edc2cae3eee2bd08d38143b8512113a7d0cd18b80a595a6c665bc5a1575018c0ddce29c4b532b8b55d42b1765ca10127120e98cb2f437db4114b4b56145e2650a651e515c20027a3f255bc7618c9890fb18774eaf01fbea2c7d3416bccd631cf53f4cc0b85754896c2d909ac683a63e6d91a1dadaf102a03a972b3ab3b012b4fc0dbc693f429a7887f6fb1e9728b1b410139565d55d5c84f39e0c60101d0c76400c0386d9f4038ac8cb2d4f16578ffa70ea9206cfcb6810db4765ed3d0886192a9b30a8e469256fc82149e3d2750c55cf745542a1bd9724caad9c9bf57a3df43739c340dc6ab4c8b0688bb2d3c7bedd731ed860df4daa470d24bec6e2c82183492c82526fbec1f97af49ba8a65d186049e7ef1a4944a7217e38ad2435bbbf70fbf5af08fa293e94551508f59ee86dfc261b368689d167e5020a994208d622ed9e9763b154b6434396201f23c06ab28f6d092afe34a120755fbdafa693e6f944664818b2d90b884a13a74f4fc498dbc2ccabaf15aa722f679e0651dc5b6f8f03e743cd2a5ec8ccacb8d3f7894c38e96b57f3c1727a8c798b341c0872b22389b2122d6a1915fd7c315e13826185ffa99645f84bdbb57c757fbe09937891bd477f40d697e45f8e4c7e739c6541a304fccbd10d17d9efb46949ef640fd8bca8a3d498c3f5593ce3f6ef49453de1fd660a766c69578d9519e6986f8f3b5b2ccb0aaa7cea150c0336029d4d30bdd58901f9f7120f1667d342866b08c523e809ecc3399c3562306463184d052a134331b548a86c76bc3b8fad27271b623432ed615f3e4b0b9d05db9fa265cc72d359fef9b1ddd6a06f2780e81b6576017647a7f6032d25fe1c0c7d3971fabf1b65d2047c8a25c23acb73fad71154c864b839392d2061e59b22229633ccd61312bb7819bb998d9b7c2ee49c67322766ab5e7d8b354dcf4a6df0d8234d20744dd0ec604742cfa943013c0b3f2300e91d690e443ac71ea4aacb23c127c27cc33943844025552b98875ea48c840c2bdc0827ae23b38633a8c0fb537a2675484c5fe1b971a9a751b88d4db7c70f69379da1e3fe35dc17c380fa409e2a7861452902103456f4b9e10a724e1050d832d92221e2b34a212a01353a8e4eb03774384c126caaecd46d1987c1e8ba6bf6cf8e3a985a738ebc9ec8a9e8186b25cdf9a411fc52c30f37bd9618b1a22404f52951ebe241abbdbb684dd3ff7432c611e19b12d516f6aa0634646fef830bcdfaa47a4e4022d30179b7800683e9bb4338693a5c1381f8e503ab5463d70a57fdbd17383bf4b0b21b2e7d650336fd3c42ad69ec06a8231c9ae570248b5c65cc340bed94380372f67e9d942b3751e6a0aa809cdc4d2a68c885bc5702c79de628614c17f3e88faf1be284c1958f6537d8529e9102bc86e4560f430e1a62c6c92300c4eec1263710b5de104e9359d208e7f389f73780c37e66a575f829f2e1074578ea184d32602319f9c9402a421e61be6688d6400c9d74ac047993db0fad0060d466e83e048c2ca03c25b9bcf972b8f51e8011a8534843a182dd93d383dfa171613c1d37d9900c1d4536032b44eff17ce46d709f18a35c531ed4a4718795ebaa1b90c9f0920d94dd314257419ae9f07b57cf4df948f4357d76c090439078e54fcc156d404b29a89e7a2f045c2a8369f0b0a09e9fcc17ea68f9815692c0f3bdfd5be87d342c7ddff12b59f0727277bf404d01987dce7df04f5241d4b12d8dceeb6026cd381444c2d5c6007ee61376f0ed852283c22cc3a0f2b67b052bbf5561084598782052498ada5a84854d865dc7fb24a92dbbf3f7b11ef727f92ea911fb228f1ee0cf3b0757d65a4a713f75f65c43d549b681ab51343442ed41bbee45322b554419339a9365fa1a589924873553a0cfd5dca6cc5e9760541badbb3eb04a71dddf0fa1ee7c71cdc86258201becd13649a3db96687a484cf0ab2bc6679f7df490e1c7063bc7fe182ede564b6b98c9307cbfc2d164cabeca27093bf8bf25c676f97cf6cbfb0aa6420732f77405f90dccbbaa036d8f079a0aabf657ca01bc2c7939a0390353f1d5431b761053b8d4392d427871e31f74f20dcb66726109d88d0ca43752f789c38638aac05c1848f815bb9c4a94ec6f08a04bc7306541cdd0b122d8e8737e1b41abb73578f576da167f0fbeecdb5c2de7f468f2cf9cbe03ea946c1010ab4bbf3186a64255a6c49833296be197ba600ccacc2a576362df74c920ce3e7b93e9cd7108ceee20776046fada0b3030ca43029bd946052f12003423f7bb06c98a680672aa819825aac715e686dfe1b0f84645a777d27cfa5df09d81a76df2d66ba27232d6cb4a9be5017e809d02c94477ec10044fe9d6e707e03c50d7d22e981361b9660f18bf166cf28f021125b132e74908dfe7dc2a9a4864e96ebcbef4545eace8e02be7bfdf530e92ee2fe70fd032f6484e39696a218923760cfadf224c2389c5483b8bdfb5062fa8ce61049d63c54d480d1b1ee1c8ec7c9278856181dfa37d98e09448aa7a9060f9b9dc9a0539e5e365ef634d43dd11db465effab7a7c568de2b3731b39e957e2f0fa3c0529f09740419bce7cb84b7d5e18f17911997c7e8bec556d7f7ef9fe4f9e1ed061aa06ce7da6b0b4f46b29fff8a4b93e3e454d65a8779e439a7420220c3dbbb3d0aa1ad8aa57fdee3df52b803bdfeb45338faa254cc90cd472599fca41523c4695a46a5f0221aa7af89ea3b714bc8e3cfc398dec578f24efc92df87f1558124dc0df1f47ee04c3a0a1845158559c4cc10042ee3854a424b2f796ad739576feda4313b8bed746b19a69eb06cfaacb1c26f32b48937b8c1293576ed19f8ad2b20b5acfda99f4e69f31c43aad937fb2ef2f85b5067be177abdc593f4c1943ffd16ed6603b86f1f98c82eddc6953ab640fa15374ac66c7c45e52dfe8444d48d53568ef37c96b1d551a36bf01b22fd352fbc09c3cc7f78060652d7fe336727f8b35aef6be849cce94f19c27cdac93a7332d9ca7afa1f7eba0ed72a3b6c1dee26f4be00144e689ef7867b4573421ad36a9adbb6c79da45de7e3759b0ab6d250b2773b790827163c67a4adad800a55aa2877918f2475bda69ab12d79ba65dcb188a10813ec33f8bc526c4c75fb6202b03d7f4f72969cff8343e44fb6fe26543ded0045f245faa24e5d5d2a2e73b3e54b278168c85a03d13cb0bfc9aee8726fcf173ff5a528d79bd1f2967cc109395e530db9c8637f1d69d00186ceb; asc  nw                   l               - &     a t{         z  j   5  R   c  j L   %   2Z y   &   ;+ "3 @  > yN   Y}&  q  o;N  EV  v     d tX   S. _   e uf  #      @   .z  g#_@ _$?     o $ ) g   {    K8: a&          $       o cL ]\- V  b ?   2 +  8 K;   n   '  [y-    E   }PTqk>f F 1 FD t N u A    @0e~7 j   F)  - %.E"     `a   Y     9   d   l n|6I _  k  ]0         !     Zz    n 6   E    r/> R  ?! m    &   &1"R     - {   E   K PP  W\"    k  >     |        k$$&]    ,    :-   k d [cT [ T   4  l  P      +     V    Bi (   3s    sC z`~ ;  C"   ) Y      5   |hR>q?  F P8           b|            e F x-l^" }V  r w  &     <      5 TT   G  e  e g ASu  e<"C           C vU )   k?  @ NI   1l)A      nX  a  ! W   ;    #e?  PFV      u }jP  O+   * :  I{cuXQ      l Q %  tZ v    y [QY 1l?q 8M L      i   k  8   0  { : M  Cbgf (   Dd         u   ^   >  r    Zy z      j+ V W  Q P  C{T  Yd>16 E    Dq    q ?    v   ( ~  X 3 ~     3    7       \Ndebh v^sd&     9  _1vS77      B     4d QP\=      0  #K      "n -     l /RtR @   G }y   x.        X  Z    9L ^ AI    A  B \ x(n    d^M0  d_  ?gBS 1J    8  1: !\Z   &A ~B ;jv     [, "k  p     O"  _ u,    c h\p 2 Q P a   x { k  3$ 0R   N :F\  I  R ,e      Z i   y   d      b   n   $g      x+   7|   0   <m    8u   r     @   ] pX       T     P AGC                W  q .  3E      4  F m    ^ z < v  1  kY   loE*K   u 5 " $ "Z 1 i C$%\5- w)P0   !  ^     @] !} z>eKXZ     i :  y  5G >  'Y    zD    l~]  |   F D   p+#  D u y   ,-Ez) x  kV         <'   sP! e> (= h G     D,   Z  Y     ]K ? i     @4O      &   f   m  t   X  J>9       *  _        s    !  V    Q    K    pU ]    ni Amu{    o Z  K[ T aqh  w 04   L G     .  3   L  ,y >h    V   6  V |^  &  1d      /  [   )fX  ,(     G5Yd   `  HSw 3~ //  "      8           iDO2  r ; J"    ,N" h   Q[  E tl"D9 R  i K!mm z     1 q    y    ,     O 6  V i y I n    =     f  H Oki  FH  o 1    ; @   Q`  V MPC l   v>h     3  ]9:   :*l n{  L/cJ v IE  4Qf     i    h   j   M  4       =+ & E  PCCp |    DVy`  u b      ^  Q M       q ^   ( i r W N k k Y d t   ;= w    l:  c E  {)9 Y   }       s7q  <   9   A  <`  q     "l    < lH   ;    ~    m " t     R     V              >e r        8x   v   I  ;     p   U  h     &. K  i   ,  O   `M      "\   e P oI^   :   [ ,&!U          Q   &v    )  6      ~  0   J   ?  t ylzN      E    ( "    ~      K   P > u    c    C r2  ^  L T    >  {  k -(  < #k18 kv,c 0]p   K   nB5 _[8    <R      _mF K  Iz          4    cGF#    *.  p}   0  \    ! $ .  |    W     '  {y t bOe$     QQNC         e m      6           . 8b ! z  i:\~z    3F    ?Up  c           F         Mr&    F  xz      ( (&  0E  J4M    1   |    v  oV      # @  *    s  5         Y    W6_>H{  `    | %           bsng d  H    A ]H\P    "    uT  -     Js {  #        :        1 = =#n 'V         W     w      8x  @g          pF[   j   6 l    A i E  h  ( .  Fi             I     >>b%    Jk -    "   W       t '      @t v`  '    &]   VL y    P  &        k  5A      a  u  &  S     L  T 05      p?  (   6   d V  7h-  9rI      ((       : _e+   ( f      A       M 9 l       a=Ix  TF !    x m ^."z  |   m <:0 Gg m0   m AZ   '  l/      b       n   P&  p  e  $  v  (V $(DZ  X%8    0   m=Q  tH5  D N e      2    Zs@   2    lHE" s j e M       \e     [    Q  AnM z  QT    =!Q" N  hl a |($  mp ^   a  X ) o AI    ] w    O  6 5Q f( V ' 'i   5N    } ;U   c &1       +A   V # .g |7v    )  1w ,     o z  M;  E  Ga)   {   v  D       2e    {0 *   {eq   `n       'n ' "  v :/  ] %  fz  j,_ q{  9 ]      m  ' e  Kb   .A        : ~R   Q    m Ibq   u  + R7     s  PQ F $S       ? W<   C   ; J  wTF   3F   Hr   RN  xZ   \HT  a? dQ  h         8   3aq    <n k   (  #  X c&              :    U3?<  L f) r5   v p s   Yi!      s>   D  c7  7\  W!          0- [  >  Eg  H64 Fa  p    cr     Q ]  Y+h &  z _       "    ; Ha      ;   W    N     g  J p  (}        {'HS       @   C ; B F   #Q     S  ?     c B     V`    ! }y  U5 |X    v& X4O`  $ds  fL-Hy     r6    8#        L  F   u  GP  H  W-   F & ;t ! (  Cb  334  n  :rs   ){    r  ' 0  \.9z   1k  I      >  |  X    ] "  "  p    &  0a      |  f  `9     N  j! M    Lc K  L _   =+    B`    Sy W  5 (j  4  d 4s  0 h  T4gt?w     aS  "   T   n5             J J R'    : < s   [R     u  t~      >!Z r _mR@f 9   lrS   0Z [7  < y & g(    a    BO  H      p       .H  :v ?E{    rs   6 P  U D  n   GN   4Er  @a A 'N      ku Y  1 t%M" d    u    ba        5 *K m        L   # p   p4   Kl $    N  " f   W # _0~     FKjP     ( k a  E  i :9\  / 4    2    X#  W $$ s]   i `  d  GF;{ }   G  6              R `sF   " T5K   7"`v  | N  *  K       N >  ;>` !8@~           p 1  R =, b            }K    :   "     Y   J u  v  5$Z     >     &     cM @ X Q,zx        -         - C  &^3x    Z c O? Fub        q i E( y  /  &#V    4      5r  D    b    *% Q     " w\  j! y  -    J3 t XA  1  `  Rb1  E   !q   g i 8    P Y F          Nx  K  0  b g  mf             N   ?  $   cn   V<   '    ? j  j k     Y 2>T ;    I p $3f"       +      -/'y    8g   ~ CV :    a   ) V'  x         b     LD  /g] t     k ?BM      T    C0     saT>6   =\   i X    ;''7 J4H   z$7   n9 1   ;W <F K  Ew  Q      LO"   d  k  mU,  F    S ,   r   y-6         S j( gK\ | p   d8* " E L    y  CX p | o  {    %  EQ     N    _  Vm          2  &&&  >^j  i[_ [    } J   K    5  (  =@J   2Fp  W     8G  '       6  k    ? ^q = !   81J q     &[ ^'>03}COl          !   g L        0W   G  {     F}L         & 4 + >W{{   ` H    =      ) aH   J    k =` lA     V  r       Y,   gp ~3y    =     N   v) D v   4 YS X p.  O  |0 d  `     $I+ D@  ( -  =s ? z  Ar '    RM}Q^ $D    b (-GN          n  Z! j;Ko8 I     ^   I     :  V  LB   Ec         T jU  O MF   j { n     fJ          =     e  ' r E f'&.    [   ,  ]g   H gy      !       %L/     >? %.  z   , n   t'  #   <0$   rq h - wx,O&9  F+ $6  f  i -g rw W;   %   ;=     8  \ >m #   S   ss  W  Eh i[   x 'cr K^EWp  4 c  p9  O  =  %  z   V    $  ; S          d 5     & j}       Y< e S  x    }       T  f+HN} _ C  jW m8=  :  n [ ??m       g    [F 5 P _ e @        \y  5 K[   j s-v  0] b   sa   Iba         b      p_  U      2w* kLX  i  5 R  V W7  1        l > )  ?   . ` !  _} E Z ^$     pt    s M AR    V-  (x` FC       `       :;IRp      z     b z3 ,     U  ~    1      s |      >-      J3y '  w   bnl   sU  $    G  V   .F  ~ ( R ^O    j5   f:       7      <    CE!f   X  t   {   s  Zm 3    &     |J   E   6    *   ^   P   Il-     $    0  Ha  `     R$      P \   A    -  ("/    X !s S .  %   t(b FW 0A  Q  O}  L!.? C=  N   }M5   H    lNLs   5    7P g9   & o $   n]MO4 @     > %[ j:g M     ,l             f  -  cD]   `       Y       C8  $n {   6 "   > fXln + 5 5 g 4 bP       A _D       n _hs WbK  u    A a     g  n _ Z     +   A  B    Ni* {           &S  2  J| hC w       =5B{  T   P  h  b     = 3OI   S       ~   af5 V_ } 4    '   H]   M  l `       7 e       Sq      (  9  (   L  +   %t  ]   d   1 |    %emb?     KE  #   "E  * d     u  .t  DS^ &4}  h    & 5y  p  g    b   B     "8wF            8 S   T _  bJ F      j   g     A X?Id   x Og   js Y      .x 4 oE      "      > pq~yzt  7   d +UX/>    v*` l        1"      &i 5   t T*.   r > . x z S   `U z!9    E        rwIZ         y  k 2n    D   ]  @ d l8 H  ] 1  C   </  C E|u   a sq @ -      e* ! v p         l(x@       4 bb M  4 /  B   -      aV ,   E    "_   <  KYN   = d   s  G  4   !  WW*    %u mC ~  w  ,^   ` dSb   KL:    7,y< (b@  f       p    KW a   }*+ ;   N^     7   [=:& kD x  2   n     y@    \  ;[  8MZ p    ?1. l    e r     A   X  *     Px ^E ~     C   r    wU-7    7  ?\  x  T&6s Z    l   B  x  N    )    @v  d^sw  JK  dw        ,g  p`'   2  '' :A i f"    _l  3   _  <  #)     rO        t    $    HV   51A E  :  $l.    Hk   LgJ 7X    1K Q } 5y       W P  / GM   =    ! v    q|y/    o q    H  \ W     j^! 9   >  d      8  Y  V   R W P5W  AY  =  i:    Z _ b |m 0V  Vw    K9  F  ?<   UY  B ~DQ  u       h     =Fq      H F e90~  j  rN      ,ksE    5 b   ^v      & z)A KA N [        Sn  ?=Q mT   Q #L      t     $         4      ][ C+  3q     3  [   \7  4N eee    f 5%   u~  b  }       @   3       'w m    Aq  Z 2    9    l y/;  d     @ A      h  :*  q X       I          Q  +S  bJ y  +  ~  ( 9    S V?  k ' Y  q I @h/  L  u  >t       _    D    8  j{ h     e    r P:   ;  B5   q  & m J   iH oL%xr:          & [? # _ Og            _ ` x    _  Xa m  i 8]  i^ z.  b H;  b   * o 1l]1        ! % T    O  d   H     *~       ! c  ~ I    G  l m  } N [ " 8       ok       `   s\ 6    Xy  $ 6        ! M  [ K    :    d  4+1    " f e0e +J $ )      "          |4   m    B )_ WU 8      Y      > d p   Q  J1 aX  p     B}  fa   0   \  ]  iC  A%   gb   V n }  c 4 #     [Y       3{     9    Et $   # S yt          z9 5   ]            < #         & i  !+  ) N  X3  ,  DT u - M    U  6ZX  l $ V   sz 2   =  g^  D $z .   .e  F   9  )  y2    -L   , @9U)  `V2   !  =    $ w    b | 6  2F$ S x    I         F p  jd  o  wr} Pq~#  V O           )    pB tRe48iK t   p S% 8     Fv n %       Ub E    9 Zp ' lJ!nkoQ    N s s  m3                      :_L4`, -3                  JM  -+ {  2   O6D     >     ; ^ A   ]Gw_+  3q   \` & 9   m   m B      [69H     \  K   r B ` /     t   *d      W          \     U5  S   8  Hp2    `  51j  P: S 7    S    X 8UjQ  yC L   | +      k v R           xut  |  99t H     Z  z JP F a1t q1w6 ~2  m     P   .   v @ r             A D    1e   S 9c  ]   b    F       8 o  6         y9%   %Z? x    dW re  t ) \,   U  2: R"q ,          lwGX sC[          @=  + g     $}   a '   X*. v     ;v    hs   ( &  >- p1Bg  Gn v   V /     KP 2  A  Y     ,+ MvYm KN ;k LW N~    B O     W fWA       N     oQ 0     `  2       } \ 1  !z 1 ~       dfZW  T   b D7 ,         L  f Z S   ki  Z    ,   L  HH:R            i  N/_$  M     C\   w jG \c 1    A  H /  j U    x[ n+   j       r *~N    )     q  |     e     y % f     am 4         ,P  f  Z mbR R  !cw]    ;!r     >W 5 M  G:pD                a   D>tQ      R  {]  ' z   &t  ?<xb     zkI  "( R!     &ee?U |k  ,j \  x   ,   q       )T    u7 a  f  7  8V   BX6 $   C: k      ^   n RW  : 0     R   _ c     ) E, r g   0   })?         k[     |   9    *I]$  c  "T~  OLhV  @)[U     2    U D  |  oUc       1T  s v   {(gF    _ h    : B- 9 6 gfS jV  a/ 5      _ 9& d*  _ oM  : '   q<  I  O    F  ^J  *p   +     , -  A   |%   S   5a   G    A   =  >       A   _^   ` \        ^ !  |P  ' 7gS   d_ L/h  #!tk5'Btn       7  r  q     7  N r 9 :%    U      K6 b     !  ~nGJn8       T   w    "      j H A6 i; b s   (          o ag  s } n   %  #    JQ wq ( ~j            o 2    8 =  T    <h    h   L c j    V  PT    $  2    m3  *G7T Z = I+ Qlf  7  )4!s Y /0   K t        4     jk   T0 [*      ` +<          =   M<q  "e  2     L     oP   # =   P  -]    4  &q      W      6        vfg    i 9b  Y -     D >9A $su @  1N    S 1       ~f X%Mj > ]Z P      X     :     >  >  ,       Z )    lS    n   I]   r -    ~->t    .o  k     O  %  x  z {J(!;5    n L    @  H  UW/   ^@       w!b   F5 5 d]  j     ) ?@  g     m,   c  /    Eb      0 7   ,     {   a,     -   Jv     rf     o  s             4  !d        P*@R   3<h^   <, u m       r  ] b  Q  i   Gr6   k c_        1E M      -V/   a   -     k R `   e L   O     O|  I i        8    gh     6 (  K][     b  oZ r   J e      6  n d(     XM    /   ZE   W     P   y     5  d > d P  a3        R   d222   ` W0H!  C )  4  X    D   wI      2KV[0.k ]        3 [ f   t0   U  mm \f7       .   I r,  #\ <   _On  v _M   +UPZ v#Q  1  u     2eX  ^ ' B (   q  o{  ?  S77C   O    xQ  q ^ y   ~     '   % 2 I   =ZS    9\  T D  l 6  V M _m  t 4      v  6 * C {8     zK     P_)  Ki    ? Bc      mQ 348    qN  dv    n/      :  4  ^ |  .       ! M& I9|s :ew J   ["           :      C  X  $       E  2    mm AZ        _{          s jI R        P   G6   L a)>A     =w     M 3~ 0f B  Z    Y      A  -  H    I " {(   l  Y     =;  h    S3  {a   G! nL oz 1  .c     o tL:  *      ]y.  ]kN  eqL vf ! C   p 6   k (e #   c i     h=    +   >AWsy    C   <p  Y      ,  O  $   }  T#bMc  [  E5Pf      5  m  @   t [                  V8Im 5    gu-      i- H Le  6m c :    ' Y@  D'     r/ .^  1    hg(  ?4  9 Xx uvm7    ]2 )= T PJ  xd ,JH E &   6     o 2-  )%         Y  @ RZ ,   H : qeDB        V $    )  =  ( #  "1         d WD`  U; a       w ^V   w   C <z ^  y  L    ;  =[$  e  P( >is  b    }H5    a 3O  T . i"  _           . Pd<  l 7!  9 8 :  XytM   YL       G    DE 9  Q 8 .   O  v  { /@   B     b        8   f  N}n u  $p*<~  w   B       S  ,{u K 2  Z   (:u[ cT   ;j 9     ( E\MR g  FQ 8 J   -   l     )2 ?- S    X I ' v   I       C% ^ x  8  [    KSq c riA  w^*'" 0    5a  zD/J Y |r        W   e      A    s 4   @* /;1       R 4    0  d   m     e 4J  w5   '     !< 2Y  0 d   d<j ID;  X    wm s  uz1p   eA  [ne  `    s    A HJD 22 #Q   5 O& t   a   B  r     z   eKZ  _     TmW  7  b uY     }  B> / @1  ,       $ H      2 k            K       tK}  9     O 3* &   u     JoQ}  \   i)o b  -     `Y   ?&[            '     Yg  qi   pkl e ,     yd !] \>@ :        ''Z/  YNE  I?       " ~ U&     Y, ,w  nv7n   } !   x  Iw  i   F;      7    Lc     1Uq'  F    Wj    V . 8 +     G( JER+(}  N hF   X s   ]=   +O       {  D   ?  RuZ    x    XR  c%>     l \v (   j= $   , [ g   #  "  ?       Pm  ])u $z=im      U8 G 3   S  &` pb    ap|x  2   h s    [ hs0\r  3 6    <    $ @lR nh lNM    L   bJ    M  w<   W       !F%< vW ZV OI; fbz"   : _  0     j> %    p  m k x]   D   q!wO  $ A  w ]   c s BSp5 " 2 uM?      kKk`Jd1 >       3"8W^  *       V  SeZK\N3 \v   O    KD   [0m Pa    ;eB  x 9   ` \@/28. PyK ~R  4 , ` , &   f  Eh       #    m .h  -yl  Q!   ~   X< x l  y   <     g  h  p 9P      * dc$=P  #  L    N     ~2Y b vL.  y MO   qN  ~  1   ) E3  b  s@ c    `'J  ,Z 4 K  u   Z    M   F    nO> <     b 8    4 W  KQm _    {        s    {X    F ; 7 n 2 : k  do q   #  mN   v  eB  =     }    { > y     ?p -   ;        \ 2  *    qO   q s 1! "fBD         [{;   S ev |R  y    7 1  l ?o      u    q  0 Sw A^0M    ^ cL @v     o  (     c           rA}    %        c  I     i  tG  0@X  L =P     ?  t)y       \h)=   p  !hF\_fd  ?5 '   f$      .     G     1 J     $   9g)   "      . ev     id 5%  %   P$ 0      S.)6 *;   3    7  { &  K   #F , 3:y  P_  o      -QX H  {    :  2  1  -   +        |G D  2J6    - ,    s   <    $  a&v'  X                \     2    O   i h  q^   JC  48 c        ? ~]   G,C  oP  /  EO U 9 e  8 gH u   ib  4  +     QB^  \ >   ; 1  K j N        { x d  L  {   :) vY     > /   A /?    $     U. , > +  8 ;   :}        e Z u      KS+ U + e   q     7 A   aE e e Q\  z?%[ a     wN    ,}4   c  ?L  WT l-     >m       : +:       i?B x     (     e ]\    `   v@         -O W  p     h  Ge =   * 0  i%o !I  u U tUB   $     z= 79 @ j   h      s  ` M G $    ! I, Ro   z    ] `I   ID !~8 $5  p     )> U     m & 6   g    B  "   c T CC   # j  m * 4  u_      DfH     J  OO         r/g  Q [o   C *^       L8 kW  rz y 4  r #   -j   |1^  a    E K  |u    x  G @   _ L~s eA          iI d         Y<   IE=  f vliW     o ;[,   |    6  M0         g B k  #    9 5b0dc M * C1 H lv ;  '' b42 a_>K      e r Y      o'   ev vG   -%   }9q   e  | % : s   T d 99- a  "" 3     x     |.  g2'f ^} 5M Jm  #M tM  `GB  C < ?#   i D:     # ' | 9C @%U+  ^    +  ' #  3   Sz&uHL_  q  Q  M   i7    5     @ *xaE)  4V    rN P 2 "!  J!* 5: N 7t8L l   m     k   : Zs       k%     R  7     $  )Q  A   hM  t2          4do      zN@"  y      C8i:\      Tc  W   8;    .}e 6 <B i   #   p$ \e 4   8 r ~  +7Q      M*h   W    (aL           e7 R      V C  b  #    &7    N Y      7  ~f u )   Ex  M2`#   @*B a f  @  t  y     ` f >  , <%   r      SHC        qa< 7    E6 +D  | mp   \S   q            1BWA   {W M H 5}v  C x O  m@K)  z/ \* i        h  V     [ }4,}  +Y rrw @M  } } ORA  -   `& 8 D    ~  v   "  ,    { + Ua E x RI  Z  M ]  $ -      ' .   "    ; W ZJq?u \C I   Q44B A  E2+UD 3  e  X $ 5S      ^ `T   > Jq     |q  bX    6I   hzHL  + g }     ;   . VKk  0|   d   ' ;  % v |     B 2 t       m      W   ,y9 9 S  C v S  9-Bxq  t   fra     7R    8  \ H    J  o  K 0eA   "  s~ A  5x v       \-  h       l   K 1  BU   3)k   `   *Wcb t   >{   q    w`F   00 C   F /  4#     h r   %         FE w | ]    m  k r2  J   ~    Dw   O     <P  .  a f    l    % 2 I    * Hd n   T^   +   S   /   2 HN9ij! #v   "L#  H;    /  a  c MH      | x a   }   H z `     9  e cMC   F^  z|V   s 9 W   < )  @A  | K}^  y  |~  Um ~  O   a   }    k)    >>EMe w C t " =       W  = + ;  E3  %L   rY  AR<F  j_ ! z       < 9  W $  -   X M   G      QXU L  B 8T $    s v  C    F  i      & +H {   Wn      Z      1 :     /   { w  Y?L C  n `;       iS d  St f  ^R  DMH 5h 7 k U 6   / R   <   `e-  6r  5         '    3-        r     oK  D   xg W4! 6   ly E ~7Y  m% 's   qc zJ    Z  y  G[ i     ]     > ?  &  _  +    )i  4>D o eC   _$_ $     ;>T x    =       &  s ZR y  )g     0   7     l ;
            InnoDB: End of page dump
            2017-12-15 09:39:29 7f3bf2ba8580 InnoDB: uncompressed page, stored checksum in field1 2926475207, calculated checksums for field1: crc32 3780270371, innodb 1905261382, none 3735928559, stored checksum in field2 938595997, calculated checksums for field2: crc32 3780270371, innodb 938595997, none 3735928559, page LSN 0 1600747, low 4 bytes of LSN at page end 1600747, page number (if stored to page already) 192, space id (if created with >= MySQL-4.1.1 and stored already) 0
            InnoDB: page type 6 meaning SYS
            InnoDB: Page may be a system page
            2017-12-15  9:39:29 139895452108160 [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.
            2017-12-15  9:39:29 139895452108160 [ERROR] InnoDB: Ending processing because of a corrupt database page.
            2017-12-15 09:39:29 7f3bf2ba8580  InnoDB: Assertion failure in thread 139895452108160 in file ha_innodb.cc line 22004
            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.
            171215  9:39:29 [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.30-MariaDB-debug
            key_buffer_size=134217728
            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 = 467266 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
            /home/jan/mysql/10.1/sql/mysqld(my_print_stacktrace+0x38)[0x555fb02483b8]
            /home/jan/mysql/10.1/sql/mysqld(handle_fatal_signal+0x394)[0x555fafbe2c43]
            /lib/x86_64-linux-gnu/libpthread.so.0(+0x110c0)[0x7f3bf28360c0]
            /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcf)[0x7f3bf0044fcf]
            /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7f3bf00463fa]
            /home/jan/mysql/10.1/sql/mysqld(+0xa6befe)[0x555faff3eefe]
            /home/jan/mysql/10.1/sql/mysqld(+0xc5501f)[0x555fb012801f]
            /home/jan/mysql/10.1/sql/mysqld(+0xc7399e)[0x555fb014699e]
            /home/jan/mysql/10.1/sql/mysqld(+0xc73e7c)[0x555fb0146e7c]
            /home/jan/mysql/10.1/sql/mysqld(+0xc50e94)[0x555fb0123e94]
            /home/jan/mysql/10.1/sql/mysqld(+0xbe4a41)[0x555fb00b7a41]
            /home/jan/mysql/10.1/sql/mysqld(+0xbe5172)[0x555fb00b8172]
            /home/jan/mysql/10.1/sql/mysqld(+0xbe5476)[0x555fb00b8476]
            /home/jan/mysql/10.1/sql/mysqld(+0xbe5709)[0x555fb00b8709]
            /home/jan/mysql/10.1/sql/mysqld(+0xbe86af)[0x555fb00bb6af]
            /home/jan/mysql/10.1/sql/mysqld(+0xbbf8fe)[0x555fb00928fe]
            /home/jan/mysql/10.1/sql/mysqld(+0xa4d870)[0x555faff20870]
            /home/jan/mysql/10.1/sql/mysqld(_Z24ha_initialize_handlertonP13st_plugin_int+0xf3)[0x555fafbe4c98]
            /home/jan/mysql/10.1/sql/mysqld(+0x4ec401)[0x555faf9bf401]
            /home/jan/mysql/10.1/sql/mysqld(_Z11plugin_initPiPPci+0x91d)[0x555faf9c0003]
            /home/jan/mysql/10.1/sql/mysqld(+0x40ab93)[0x555faf8ddb93]
            mysys/stacktrace.c:267(my_print_stacktrace)[0x555faf8dec13]
            sql/signal_handler.cc:168(handle_fatal_signal)[0x555faf8d4210]
            buf/buf0rea.cc:272(buf_read_page_low(dberr_t*, bool, unsigned long, unsigned long, unsigned long, unsigned long, long, unsigned long, trx_t*))[0x7f3bf00322b1]
            trx/trx0sys.cc:683(seg.cc:360)[0x555faf8d40ea]
            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.
            2017-12-15  9:39:30 139923984815488 [Note] InnoDB: innodb_empty_free_list_algorithm has been changed to legacy because of small buffer pool size. In order to use backoff, increase buffer pool at least up to 20MB.
             
            2017-12-15  9:39:30 139923984815488 [Note] InnoDB: Using mutexes to ref count buffer pool pages
            2017-12-15  9:39:30 139923984815488 [Note] InnoDB:  InnoDB: !!!!!!!! UNIV_DEBUG switched on !!!!!!!!!
            2017-12-15  9:39:30 139923984815488 [Note] InnoDB:  InnoDB: !!!!!!!! UNIV_SYNC_DEBUG switched on !!!!!!!!!
            2017-12-15  9:39:30 139923984815488 [Note] InnoDB: The InnoDB memory heap is disabled
            2017-12-15  9:39:30 139923984815488 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
            2017-12-15  9:39:30 139923984815488 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
            2017-12-15  9:39:30 139923984815488 [Note] InnoDB: Compressed tables use zlib 1.2.8
            2017-12-15  9:39:30 139923984815488 [Note] InnoDB: Using Linux native AIO
            2017-12-15  9:39:30 139923984815488 [Note] InnoDB: Using SSE crc32 instructions
            2017-12-15  9:39:30 139923984815488 [Note] InnoDB: Initializing buffer pool, size = 128.0M
            2017-12-15  9:39:30 139923984815488 [Note] InnoDB: Completed initialization of buffer pool
            2017-12-15  9:39:30 139923984815488 [Note] InnoDB: Highest supported file format is Barracuda.
            2017-12-15  9:39:30 139923984815488 [ERROR] InnoDB: Database page corruption on disk or a failed file read of tablespace ./ibdata1 page  [page id: space=0, page number=192]. You may have to recover from a backup.
            2017-12-15 09:39:30 7f4297691580 InnoDB: Page dump in ascii and hex (16384 bytes):
             len 16384; hex ae6e77c7000000c000000000000000000000000000186ceb0006000000000018b1b7000000002dc6269ae5ceb2f861b0747bcc8d861e
            <cut>
            2017-12-15 09:39:30 7f4297691580 InnoDB: uncompressed page, stored checksum in field1 2926475207, calculated checksums for field1: crc32 3780270371, innodb 1905261382, none 3735928559, stored checksum in field2 938595997, calculated checksums for field2: crc32 3780270371, innodb 938595997, none 3735928559, page LSN 0 1600747, low 4 bytes of LSN at page end 1600747, page number (if stored to page already) 192, space id (if created with >= MySQL-4.1.1 and stored already) 0
            InnoDB: page type 6 meaning SYS
            InnoDB: Page may be a system page
            2017-12-15  9:39:30 139923984815488 [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.
            2017-12-15  9:39:30 139923984815488 [ERROR] InnoDB: Ending processing because of a corrupt database page.
            2017-12-15 09:39:30 7f4297691580  InnoDB: Assertion failure in thread 139923984815488 in file ha_innodb.cc line 22004
            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.
            171215  9:39:30 [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.30-MariaDB-debug
            key_buffer_size=134217728
            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 = 467266 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
            /home/jan/mysql/10.1/sql/mysqld(my_print_stacktrace+0x38)[0x55f7232f13b8]
            /home/jan/mysql/10.1/sql/mysqld(handle_fatal_signal+0x394)[0x55f722c8bc43]
            /lib/x86_64-linux-gnu/libpthread.so.0(+0x110c0)[0x7f429731f0c0]
            /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcf)[0x7f4294b2dfcf]
            /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7f4294b2f3fa]
            mysys/stacktrace.c:267(my_print_stacktrace)[0x55f722fe7efe]
            handler/ha_innodb.cc:22006(ib_logf(ib_log_level_t, char const*, ...))[0x55f7231d101f]
            buf/buf0rea.cc:272(buf_read_page_low(dberr_t*, bool, unsigned long, unsigned long, unsigned long, unsigned long, long, unsigned long, trx_t*))[0x55f7231ef99e]
            buf/buf0rea.cc:505(buf_read_page(unsigned long, unsigned long, unsigned long, trx_t*))[0x55f7231efe7c]
            buf/buf0buf.cc:3084(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*))[0x55f7231cce94]
            include/trx0rseg.ic:70(trx_rsegf_get_new(unsigned long, unsigned long, unsigned long, mtr_t*))[0x55f723160a41]
            trx/trx0rseg.cc:205(trx_rseg_mem_create(unsigned long, unsigned long, unsigned long, unsigned long, ib_bh_t*, mtr_t*))[0x55f723161172]
            trx/trx0rseg.cc:290(trx_rseg_create_instance(unsigned char*, ib_bh_t*, mtr_t*))[0x55f723161476]
            trx/trx0rseg.cc:360(trx_rseg_array_init(unsigned char*, ib_bh_t*, mtr_t*))[0x55f723161709]
            trx/trx0sys.cc:683(trx_sys_init_at_db_start())[0x55f7231646af]
            srv/srv0start.cc:2654(innobase_start_or_create_for_mysql())[0x55f72313b8fe]
            handler/ha_innodb.cc:4475(innobase_init(void*))[0x55f722fc9870]
            sql/handler.cc:521(ha_initialize_handlerton(st_plugin_int*))[0x55f722c8dc98]
            sql/sql_plugin.cc:1404(plugin_initialize(st_mem_root*, st_plugin_int*, int*, char**, bool))[0x55f722a68401]
            sql/sql_plugin.cc:1681(plugin_init(int*, char**, int))[0x55f722a69003]
            sql/mysqld.cc:5152(init_server_components())[0x55f722986b93]
            sql/mysqld.cc:5741(mysqld_main(int, char**))[0x55f722987c13]
            sql/main.cc:26(main)[0x55f72297d210]
            /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1)[0x7f4294b1b2b1]
            /home/jan/mysql/10.1/sql/mysqld(_start+0x2a)[0x55f72297d0ea]
            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.
            

            jplindst Jan Lindström (Inactive) added a comment - - edited Confirmed, I could repeat corruption using the scripts: jan@jan-laptop-asus:~/mysql/mariadb-environs$ ./replant.sh m1-10.1 ~/mysql/10.1 ~/mysql/10.1 jan@jan-laptop-asus:~/mysql/mariadb-environs$ m1-10.1/gen_cnf.sh innodb-data-file-path="ibdata1:3M;ibdata2:10M:autoextend" jan@jan-laptop-asus:~/mysql/mariadb-environs$ m1-10.1/configure_rest_encryption.sh jan@jan-laptop-asus:~/mysql/mariadb-environs$ m1-10.1/install_db.sh Installing MariaDB/MySQL system tables in '/home/jan/mysql/mariadb-environs/m1-10.1/dt' ... 2017-12-15 9:39:24 140253535536512 [Note] /home/jan/mysql/10.1/sql/mysqld (mysqld 10.1.30-MariaDB-debug) starting as process 7676 ... OK Filling help tables... 2017-12-15 9:39:29 139895452108160 [Note] /home/jan/mysql/10.1/sql/mysqld (mysqld 10.1.30-MariaDB-debug) starting as process 7709 ... Aborted   WARNING: HELP FILES ARE NOT COMPLETELY INSTALLED! The "HELP" command might not work properly. Creating OpenGIS required SP-s... 2017-12-15 9:39:30 139923984815488 [Note] /home/jan/mysql/10.1/sql/mysqld (mysqld 10.1.30-MariaDB-debug) starting as process 7726 ... Aborted   WARNING: OPENGIS REQUIRED SP-S WERE NOT COMPLETELY INSTALLED! GIS extentions might not work properly. In error log you see: 2017-12-15 9:39:29 139895452108160 [ERROR] InnoDB: Database page corruption on disk or a failed file read of tablespace ./ibdata1 page [page id: space=0, page number=192]. You may have to recover from a backup. 2017-12-15 09:39:29 7f3bf2ba8580 InnoDB: Page dump in ascii and hex (16384 bytes): len 16384; hex ae6e77c7000000c000000000000000000000000000186ceb0006000000000018b1b7000000002dc6269ae5ceb2f861b0747bcc8d861eef901a7f067a18926abcbd2035c2ee52f9fdbc6389866aea4c0119e3258811b4325ad279e5019426abec953b2bc32233f0409d013ef3794ed3d49c597d26e8de7100ce6f3b4ee6ed455619a77680fab6fece640c74580e8a19532ed05f81d5a265db756618ca230b15e2ad80ab40c380ee2e7a02d867235f40c25f243ff7e3f9e9046f09248d29d567cdc4a57bb2dfd4954b383ab5612687f183bfaba2d21596a4241380a4e68ce1d66fab634c0c5d5c2dfa5615d562e03ff711db32042bc20b38d64b3bc314af6eb11e1a2720ec5b792df11ddc8445cce20d7d5054716b3e6699468e31984644b174bd4ebd75d441c4bca1a44030657e37b06a0adfa34629d7c92de1252e4522f2b68d83fa6061c6d4d259a7a2eaffcc3913c0b764d49bd26cc96e7c3649f65f98066be2be5d30b8f9a4f5dddea403f62197b307d6955a7aab9cdbd86eb036e816c045c7b482a8722f3ee152b3c83f21e26d8905aca026860d1c26312252a29a97807f2dae7b9de306451f88d24b935050a684575c22ecc4cba66b8ddc3e969cb4b0ab7c84f60598d1c99a1d6b2424265dddb302af2c1be9f19e3a2df31a206bd564915b63541d5baf54f1009f34d5e16c0dbf50cb8bca8102122b14c3d5f4805682cd1cfb4269b5281393043373a99db7037343077a607e903bf4d44322ec9d8c29aa599c1f8ddec8c335afe5fa7c68523e713ffad146f85038e20b8ba3d7f3bef7ed8eb6627ca9ea14dcdc0ae398dfd014a965044614782d6c5e22877d569e1b72a877d3ac26a6ef81c3ca3cc9a4be88e1a3350654541781e147b0de65dbbb65ff67b3415375f1f6653c2243a9d2a1cbd9bffbda8bf0b343c6765510298bf9ef6b3ff5a140e94e498c9eba316c29410aaba59de2126e58ba0a6191f4218a57f41ac43b0ebac68623653fdba2504656f5f5879c2002757f7d6a50e0cd4f2b94f0aa2a0b3afaf9497b6375585115e3f0cdcb9c6ce351d725b1fc745a087690f790fb79f35b5159af316c3f710e384d894c11feffc0d39e69f291146be6cd38c7152030dfc17bff3a064daf0c436267661f28c881be446488e90c0fe894e786ec7594f9f95e811c123ec9b772f582d1155a790f7aa887c310c8f96a2bd2560c57829951b850fe10437b54ac9459643e3136af45dea920ae4471e3cd8713719a3f1907d5f076d4b40f28be7eccfd589933a87e87a9efe21733fb1e068f37dda9ee061280185c4e646562680f765e7364269783e505c13991a35f317653373795c1e1ccfe0b42c0ea1ed3cd3464a851505c3dbeffb8a0cfc930d8a4234b9ef7cd190281226e842d0b1c0314846c8f2f5274528b40ca7ffe47c07d79911e8a782e15dda291ae1cbc1e58e8f95a93acf3f9394cc25eda4149eac5edb941191c421f5cbb78286e898f9b00645e4d308e1b645fc81c3f674253e5314aab8a0d8938fe0f313add215c5adda2f026419f7e421c3b6a761da1d1c2025b2cab226b0ca470c0b0f4e7e24f229aa65f0c752cbb18e1806381685c70a032ca51d550a1619ae29e78cf7bf36be4ca33249230520fe1004eec3a465c9cdd49d10052a32c6582f0c2d7ec195aa66988e7fa79d21bc7641289b5088095620f160a6e0ca2db2467bcf38881a5ce782ba4acfd377c16121f30cdc2003c6d06c3831238758107e272a7e9ebea1440c18bd35d927058eb10fac6b2fd1354dbb2c9f6985090414743e4cbcbd0d5f783afff94e6d787dcd1d457148071d22ec1883345d4fcd5e8e7c234028346f96d8699cf155ebd7abd3c9e7692b5310bde6b59c11dfe6c6f452a4b9502077594358f22b82486225ad131f569ce4324255c352de577295030bea0c72180fd5ed9f5fc9101405db2217d8f7a3e654b585adfc390a4fa69bc3af0d5798bd93547cc3ef9bc2759d5b692c97a44a71aefc76c7e5daad87cc7bb8646c244e9fdb2702b23b9c644fc75cf7996e5c82c2d457a29a27800876b56c01311e5c2fbc31cab3c27b6a0ca735021f5653e1e283da7689d47838d84c8a0442c83f5095afb0659d611f6c88b5d4b923f9769a69b020eee40344f939213feffed2609a2cc66e4ed116df1077403168d58f4034a3e391301bce6ceff852adb9b5f1cc1a80b0bf28c0273c4a696c521dfbd56e7ccecfd51beb8bbf94b961d8bc57055aa5d20e11d866e69b8416d757bc4a31cc46fc05a9fb14b5bd454d9617168aab9779430341e07994c9747a6f8fa86962ea50a33aba1fc4c0ab42c79e93e68d7eac29956db06ca36df1356917c5ef0202680ce3164a6bb86068cff2f8aca5bfb05cc296658e6032c288286cbfc1c47355964beeb066015e348537715337ec52f2fc9cd22b900c1d616ea38fee2bf13870185a9aabde169444f32e6c672a43b8a4a2285df1ea82c4e22b76883830e515ba82045e7746c2244399e5299bd699e4b216d6dd97aaca2dec68c31c271ecf8c1ec79961817092c00bcc0cff74f0136cda1568f690c791849836e19ba9fb93d9eb1de18ad66ca1f48924f6b69cea84648fdcf6f1531979e93103b0840de0e9f5160d09256e54d50438c6ca416f2763e68f69585e18a331cf35d393af88cc53a2a6c7f6e7b1ee34c2f634a08761e4945bad8345166efbd16998069b7d5efd668821a106a01da1d4df4193400bac1e6ed090a3d2ba326c24597ab50434370827cc1ad95b94456796015c475f162fd0aba9c08125eade651844d998ffcdf8f930a71085e04e8ea28cf691572d057924ee56bcb6bd759c864eb74bba3943b3dd67799bef8136c3af7f2638445cbd87b29399e59f8a4cf7dcede90f4c98788733771d1b43c17b8bc3905c7e741bff03c60160671bcf3d107c1226cb7e6ec203c826c48cb87e53b068a8c087e85d1d5b56ded221e74b6c4fcc0c452d7ac018b9556dd8cc5fb0c8f06ebdb96ddc3f6b33e650772ac900f17b097be1538780fcf0d76a586aa49d3883b0fa2da9b1870abf69055e8ca680d8413de19262efd4b151569a6aebf2ced094ff2eef0604ddac6cea018c5225c17180265a5501f6f495eb0b2ee3ad004a75bb52c26215511a2eee8821da9c815af51d90b9e2676cac1c3c2298f8636aee496d5ab1b7e1d9e308df9aa4ac202f13f91bd74a3796c7a4e09fb89c5d38b459185c7c328cf22d3dac3dd7e94dfe2b8c1ce4ba720a550b73e017504aea9b463d5ec8b1e4396723214855eefb94c8154ea8312b43edff77bce886bcc2d28acf03c09236b3138e06b762c6391305d70a0eeaa4ba7fbd46e4235c55f5b38f9e3b6fc3c528b85fbf6bfef5f6d46fd4ba488497a17108d8390b986fafcaf34a9120ee963474623b10e80812a2e14c7707dc7158f300bf95c0bf0bcb8211524df2ed6167ca69d0ca257e2dca5a9ba2719c87b79ee74f7624f6524a30998dc0c51514e4381aa04c0f3acf70a9f65bc6dbfe69b888bbb36ccd71b10f5af1b8d18f8f72e0f3862a121127a10db693a5c7e7aeb0fc3af334681e5ead63f5570d18c63c5d60fe2e6c3ead418888f4681d5c3d3dbd396dfe64d7226bfeeefb946a4c7787ac81787b4c40f28bd2826ba9d304506e54a344d06c5e70331bbaa9b7cb6e0b8b27697e36f56db9aeba1e20823eb4081df2a08cbca8f739c0435f520091708e9d414ef59c4f6130357365f3e487b95fd60d19c908f7cca2519f88f0508ad0dd6e6bbbd62736e678a64d51c4880b0b21141fa5d485c507ff616f522c8ffb6c87554d8b02d06857f01b94a73b87ba2952307aa9793f3c8b0dc3a81eab689dbedd2fb31e13d823d236edb2756131a90bacf90fae5d95790a6cee91f771517e294f5f33878ec8840671eccc9d6dba21dcfcd1970465bec9e136aa1f4a7360f6c8f8081e241c369c945acc268bbec28be2edcea4669a48482bee5e21f0cf3b7a5ad0149ee98a1ccbf3e3e62258dcdc1ac4a6b8a2d0a01f8e022faa4dd57ecd2961edc82e174aa278113ac80bdbe4074e77660018227a0b3ade1265da620e8564c81790c14c0a250a10b2605c2cb1bb2d8c10e6ba29a35410bae1280edd461d1f67593d926b7cc53e390ac8d114ca5e954e73035130a19009d80703ff3fe28a7bdbc36a7980e64cd56f29737682d191a397249d8ebf308d6ca2828f593bfb5c617a33a075f652be80b0928c066a3b89e88950c41aa13d4171685cd4de639a46cf198ede3df9703613d49781bc25446c42106db9a8378f06d0c5e2e227abda97c0a1cd26dbc3c3a30d94767016d309edde86d18415a87e8dc271dd36c2f9705ddfbde066284a3c1ac9cadc16e1884d850261d9870adb365b1cb24a6187694902856a02428445acb80582538937fcebf30fee5a36d3d5184ae744835c4d0449e4e0665e9f5048c94f232159edb925a7340ed8af832dcc59b8b6c48452291739a6a1865de4db0c8e4be16aaa55c65e3b39af6bd5b0206a5b651b691416e4df57abab85154aed81ce23d215122a74ec916686cd261f87c282416956d70a35ef7b8c961b0bc588129e36fc44149beb505ae5de7771bcf06964fd3c536af355197662889569d2719276996f9db354ef0159fb27d1a3b55e8eacc6385263110e8f2f99decbf2b41d5eea856c123942e671c7c377609d98be829d7b83177e12c82e301b2fc6f967afdd14d3b0b204507904761298da5cf7bb889ef76fdec441ff2db18e0d5c93265fcfbd4d97b30c12af5cfd57b6571aaacd5606e0ac1b502a2b1f2276ed227fe22fcf076ae3a2f88a35dbe25ade6667abfcb6a2c5faf717b861339f35df1c3a8bb138d6d13ae27ad65c3164b62a0f7c52e41f493b514dde9f28a3a837e52a014b3519beba0846dc3496271b59daa75021c2bac523711c3ecd29a7397d75051bc46202453c4bf84fac8cf913fe0573ce3cdb043c7a1cd3b8b4adac377544696aa183346b8d9114872d9c0ed524e111a785ab39ad65c4854f18c613f856451899c6897a0f8b5130efe1c8b38d2d0e8336171e4e2c5993c6ee66b03e4b828b01f23800b588c6326fd8113d2c2041f83e5f390f6a7d33a9c20889a55333f3c14d04ccd66298b72359bb1e1761d70e073afc207596921c293e411a5ff733ea484a34492fb6337ebab375c1f8e57211505d00ed0cad598a886302dde5b9ce03edd8a456786a2483634f04661009c70e9d8aacd6372a3d01ffd9a518f5d97d3592b68832613b07a8f5fe7f119aec3be9e22b9d5b8c93bc248619efff71cfbb73ba8fce25719cda81a4e13da0bca07671fbb4ac1701e91287d0d847fd020b0b09b7b274853a3fcae841cdeff40ffc39643a53bcb42b446f7f9be2351c6c2a2071553e6913fbcd8daa4b2632042b3bc95e1b8566018d8a59321b67d799be85535f07c58c2e5ebc17626be58344f601ab4246473abfb664c2d487908f67f83b7723690c6fadb3823cbebbda60303cb994cdcc946a5f4b375c0d447508985487fe5572d9c02e4460d26de3b74cc210b288cb443629319333334b0db6e8bb63a7273ba1187297b1f84be0772f28627d73097b95c2e397a93bbb8316bdd1f49b3ad17fde9f03e911a7cbacd58190a1bef5d2022ba8422edbf7097eaf1c22697ed3061d6adf7d2d9dc7cbdd366090b60391918c60d9c4e098c6a218d4d0cf2d6aa4c63b64bc69c4cd35fa6d0a83d2bb0a101d9426096dec7f05379f557c0ac3512286afbac34f8e264f6347301bf30de689806543467743f77ace5f0edf261537fcc22cf038b54c6b5f56e35ce8ec8819f1fda80aabd0cd1ce4a9b4a9852270bd6a3d13aff3cd473aa88ae5b52a1d4a31e0075a194747e94b016bbb7cf3e215aed72e85f6d524066ee398acc8c6c7253139990305a995b37fb8f3c8079b626b96728eb92e718610cf5d4be424f91fa48cb018bb30ff870f09c8adce8b8e72e4882ee3a76bc3f457bb1028aaa7273a6c4eb36b25082d2559944040e6e0d90cf474ec99891344572daa24061b14180274e05c3a801f8a46b75d959e18f31d274254d229f64b109fb0375a3bfe9ae626192c21a80c4dac4fd350d2a4be66d99b900ffc8a296a54cce9a0d238870ebadd170341908d94b6ce024060bf9e64eeb0422f06696168157f323055f307efefdebd7a6464b6a50fabcb7f1d2289b6bab61adcd45868a69fe3a395c8bef2fe83494d91efd32d0cad3d25823a0b857a62424d4735d1db6b6690b60ded864fdf647463b7bc37d07100e47af9436b0b0b5b6ee84b1fb0ce2cea5ea9152ef607346c0d1b7221e54354b80c50c37226076bded7ce34eca0b2aff874b9697f001ea89b14ebd3e1fa93b3e609b2138407ee7d7e0d899d5a1881802e270dd3103d452993d2c006289b2bc87c9830bc8cbdccc137d4ba6c99ba53ac7f31522ea1a9f99ed59ddfe164ac875f1d17600ee35245a11f2f0e5173eaffff6179226d1f0921cfc634df2401158f5512c7a78ebaf889bef9a91f62d161d96c0c4049102fe2d0e43d511265e3378d1cf0bd35ac963114f3f84467562a596a8e19dde99f371bd690f45281b79e7d02ffdef26235606c81389341beca20315093572cdd244b985f6f562d4e7fabb2a2508518aa6d9190e22f4775c80be6a21d579df8f2d9c11f6ac4a33fa74985841b50331c00f60a5e05262310af545958c882171dc1e8e67dd69d938fbd30513509c59ea46f5d2a08920b607a0c2064e7881154b0de43087ce620267c21a6d66fabaa511ee9dfe9f8a0a92c8194ebcbacc3fb2ba240aeea4636ea1becb563c0e9588278390c39f3fa06aefe36a8c6bc8aa88df155992323e54893bad97bcae49d670ff24336622dad91e0e86eb1c2bdadbffe4bf952d2f2779e2a9dabb3867d906927e144356fa3ae2d482dd61e7dbfa29865627d5d478a998df80a8f7f0a4f562ee18e7bcbb4c44c5b32f675d1774f70406ebec6bf33f424dcabb15e98fcd5486e5c4bd4330a2dd981a897361543e36a6ecf23d5cd38ce769b35802c2aeb13b272737d34a3448f00edf7a243781b9106e39b931f897a63b57c63c46124beaae4577bad451eb961c8faafe4c4f220d8cbf64fdf96bbeee6d552cfcd2460d8a12ca53082c0513ee72ab8ed4792d369593ff12ba86d303fa53dc6a28bd674b5c9a7cc270ac20ae64382ae7221745d54c01c4e6b57914a0435892700e7c856f8ab07b1a94b3a425edb44551b69704d3b64eb5ffb69c5fbd8d566debe1b99ebbc4bab1ae8b32de0c262626b6103e5e6aaf89695b5f0d5bc5f2b0b77da84ab1c7eb4bb1b90cf33503c028aee03d404ad682e73246701d8757bfceae829438470bf227dcc7da95aacbf53696886be903aede3fe25e71143db821fbffaa38314a1f71ebc2de0e10265bb95e273e30337d434f6ccf05e7c615bdfbbfe29521b2fdef67b54c95d106aaa28ff1873057ba071947f8a97bd8940415cc467d4c9b14168ad297b6e9e6269934fb2b073e577b7b9109bb609048f4f5f3c53ddbcec3aab08329e56148bb0da64adac594a76bca3d60ba6c41b0c4eaf3aa56920b7211a00884b6acc1592cce0aea67708b7e3379e00fe7d93dbbf28d8ff94ead0ed77629c244a176d396c834045953855818702e8dfa4fe5c57c30d864dc8b60acca97bab124492be34440acf428c12d92cb3d73a93f977ad2824172b82708f2e8d1524d7d515ece2444dec6b8ba6288282d474e9acc18e0eeb0f2fac9146e1cf15a21a66a3b4b6f380749b8cc84a0a75ed0acc049acc0fafc083ae09856bef74c4281d2c445639be38abf12ecf191ec541c6a55d0a14fb24d46bcaff56ac27bc06e951e8ad08c664a9ebfb1960a1abfab05c33db2121db90065aad127bd72d345b16627262ec8e4f5f55b93958f2ca6f15d6795cb01489e6779a8cbb20fede121cf0106d7d11db5254c2ffaeed1b7c33e3f9c252e9e1f7ac3ae9f2c116ef38a10742719f023a696813c30240ee8ad7271ff68b92dc877782c4f2639f8f6462b0c2436aef466d48669d22d67e57277bb573b9512f325f21daa3b3de3099dc0de38a9ce5c103e6dab23adf4065396a1b97373fb8857f38945688b695bb6d48578b3276372ad4b5e455770aa00349663f9a07039ac1a4ff19d3d83b52503a97a84e11056bff8d79c24e5bb3bec53aac6dfa5a7089ec0188464ff351d99d0c2f0268a6a7d93a31991a484fb593ca465905300b578d6c6bfd07da203ffd7b0188b541abb662b484e7dba5f1843a91b6a57c76d383d8a913ac7c46ec45be93f3f6d00a2f2b307d6df67c0b3c9d95b46b0358d50fe5f1b65ed40e7b492c897dedbb15c79ccb635b34b5baa91ae6a86732d76d40e305dda62b97fbe7361c31409496261c8a48a09951789100a629a90a7e3b6b9705fb21755a0e2e0aad41732772ab66b4c588215691a1135c35215dc560c5737abc83193edd81198039ce76c1f3e152989a33f8b84ff2edd60c821a40e5f7dc545a95ad25e249ba49fe2877074f405a0b8730c4d9d4152b512d3ae562dd2bd2878601e4643ee12eb9a8cb70060bf80a9b9e9cd833a3b495270d4afefc2fb827a8f0e05d0ae62007a33b42cb7b1f192c255dac17ea4a9189c31d0aecbd7e5f573e77c831cc286d99e3e2d1ba68cedd5d74a33798b27cbf477fab4a4626e6cfb96ac7355ec0c241b0c9ec647070856bae1ee2e46f2b47eca2802521c5e4fcc20b39d6a35c71f8e663af3c001a5d8fb1c37d4b21ba4d9d73cd49dcfb04345216681c4ec58fdf1741ddbe27b12b91b738a845a6d98331bb18f1b26c403bfc3e27c4a830fbc4595fd0a360304eddc2ad499f35e1418c1508e00eb496c2ded81000e1024e17fc20a30add64861b0d960e900f882c452248e9cecc10a0750d65ce3e20c41cf8297b62dbe8f28222fe7a883f6580d2173fa53032e128e25c2f5c1742862884657f43041b8885107194f7de7c44c212e3fa1433d84f94ec589897d4d3598941c489612de806c4e4c73ffdedf35129ad11d3750eb6739c10a1b26d46fc924dc9f036e5d4d4f341c4092131dbe8b3e1a255bed6a3a67fc4dca7f8886a62c6cdc97c4a886bedbab12931fcfe5661be52d0bd163445d1d89e760d496ab0de7b5f259c7991020eddb9e433896ee246e8a7b05dd8e360022849c9a3ee966586c6efe2bb43584358f67e4348a6250e681b71ce0d1d441e95f44f1968fc71914876ea85f68731257624be8cf75188cc0f8419761d99ac30f8f6795956eef5ff65afdcae98d1f2b87bb1841fbc142f9ba1b134e692a147b85e8f2b2cfee81da0b0a092653bbf8320df54a7c8368430377b4baf5b802f8f23d35427ba99354c5c6a250fec168b1ea62fff3b8c5e63df5334f49ce1da053e57f81eae4ca9f7e0faeaa61663514565fb77df034b713f6e3278c0ccc485da5ff174dd08a6c9c60bdfa9101fe14c0371f65e5c4ddc086ade75371c20c000ce0ce28fd0539f49328f4f3a94cc9b22bcde70b2574dec45d1305bb64d49ccf31e07c820486f525656d623fb513c3bf094b4585c323df031e22457f152ac464060cecbb1a75daa52e74950044535ea626347df07f68c51189e426c53579f1ec70c3b76796a2861362f8f800429b0ab7fa1a22387746f314bc16b81282e8f3c70bcd38ee53db94a154f35fce97624a1f467f7fa98514bf6a7f0507679cb6e8aaf641d5583f4964a58ab078874f67d7b59d6a73c859feaca914c1b62e78f734e96f45811fc5cae98722d0f51688ee9c3eb470717e797a7419fe37c5e5c764f62b55582f3e12afbd84762a60c46c8af9dcbba2f4bb923122921acba395f2266908359fcb1e74c3542a2e05add372bc3ee32ed278a07aa553ec9aba6055c47a2139efedc9fe45d7b41fc102e08bf17277495adb05f4abae9dde96dd798d916b12326e7f001ce4448ad0bb5d13be40c764d76c382048fde85db631f8ea43da8cf13c2fdc8143c5457c75e90fad611b7371b340a32df91c1ac6040a652aac2119768c70e41ec383b3e5b415926c287840a3dd03b0971fa334c06262b94d01d834162f868942808efa2df2eab99112bc6156942cf38ea945911c8305225fc3ad8c3ccfbe4b594e82f08d3d0264da17ea73deb147c1cc34fab5cf21e2b957572ae89ac8a72575c56d43d97e851177a2ce2c5ea6f8e660b9645362d6db044b4c3a88b50fd6372c793cb82862408cdd66c2d5de1903c4fb70151cb4bd4b57a261f283017d2a2bc33b8ed8884e5eaed1d8ead1378112015b3d3a26b86b449a78c9c532a9a7fa6e9b0bf6e8c6794095e403c35cdbe63b5bf805384d5a1d70c5fdc6cc3f312eb16c9b100e8165f072ddacfba9e541a48bc158aa872ac199a4849d5078d45e45887eb3ef93b8f443d7d28672a2c808eb77552d3782eeefc43781103f5c9ba37817c854263673fe5ad7a390c86ce0f5934201b978a0bd4e01f486ae29cac6ef9a4076bc8a645e7377c40b4a4bdf97647793fe7f1fd2b9b40d2c67fde6706027e99dda32dbbb2727bc3a41df699c662217efb9e55f6cb3cb33a689d85f1e8b3caaff232983c0bfabf7724f1e1bd9c6c20c95a174debe7fac24d4e0cf7f485694efd0353141e145a5fa3ac001246c2ed19907d1486b0cf0e04c674ae037580d999ec8314ba251ec7db13579c10407f70cf87f57dd50c8062f92474d09becb3dc7b69fff21c476fbbf8ecd717c792f8bdadc8b6fdb71fd05a01c48c0af5cf0578b07189eba6a5e21ef39f9951a3ec902649d8ca7b50cdb381b9259aeb256a4c6a852ce57af503557f5b64159fdbb3d1a04693aa2e7eef55a8d5f8762b57c6d0e3056dccf5677eb8209eb4b39c51e4607883f3cb603d45559f3a342c97e4451ba8e7506ffd2bc94d6a0687fbe9a00923d467117e81aebe0b048d8460c6539307e048e6a0ab0724ee4edfa13adba2c6b7345f7f5f608359a628af3b25e76fffb829b98a726f37a2941954b410f4ec05baee7ba11d1bb86c9536efdfd3f3d51d56d54058d0d5101234cf6a4c2c6cbf7741913bfa6b624948ff40dc89bda07a1348af7c2f6d1945d5bed432b17f7337112aa9ea3be3300b75b1c9d9c5c37dafc344eb7656565e8e790f0661d3525de94a8757e120662cfa37d0903c5e10c0bae40f3e7a53395fdba0fea068527777f6db59901014171dd075a9732f5b4bf8c39dfe78c806cc1792f3b98b064fbb5db138e40c341fd969c830ed868e59c3a2aa5fa710458179e8cca0ae01049d3f8e68cc0f8deb2e0bf51eb8c2b531699624a0f79c5ac2b0f127e02ca28e83906b795cb538d563fc29b6bed279c599e94719849f840682fb49b4ca9147597a63e74d5f2151ddeebf55fb283cbed44e9edbc9f3892e16a7b9e68fcddc41c9a65e7f98c9e7289503ac688893bf4924235aaf70f71e3d7269b6dde4aeeadd06948106f4c2578723a1880d80514d3facb8e0f26985b3f0323ec5fe34f67d4e3fdccf884cdd8e1dcbe0b5f9060bb789993c4c35f0db85861ab6d208269a0385d1afb695ebf7a2e9f02628b483bac2062080dc42afa6faf316c5d31f09cf8f3ace71af221b025a1549dfab5c04fd2ad64b316e848caf2b8bb0e2a7e179e960acaeeef21ea6307ca7edb49edebfee64797c26ca26d9cf47dd84ef55bbf22ae3812baafd482c0cc6f6bd5a3de92cb0801601888e0735c9536a9f8f41a5879f01624cb36e495dfbf97b59a1821854d83df5bdb4b0183df883afbff8cf2640d09342b319d12dae5221166b7653065162b4ac324b62989f996ccf7882202edd0ecc801ed1d03c47c341b1fd96deb91dbf6421a295fdf575583388bb405207fc259aee891d6fbe43e82641670ca0cee51a1ba4a31ac6158c2a770b6aef604c8427d0da9666107ffb8301da3ff5cd40d5d11a26943e08941251ea91667629a9fe5560a6e997db1af63ec34d623cf8398b2b45b59e11ab3e6cfdca9337bf1f7dba8d3397fe3e68345740c241be80b23925304797408d0f7940800fa0786997a39eb35868df65d15b7b019fcda1008d5b9b2d53ca82304bf04b8e780afaff526a669d6f8212b828329114ea3e6583301942c109344549b75d72da74d9ca9a5d1551acb365a589ea56cf724ea56d8cbe8737ade3283f2db3dfb0d675eba1044dc247afc2e8f95012e65d0d346ec95b139f9b4290c0d79320dfc089f2d4c918c0c2cca40395529afe160563290fc0221ad1d3d8597e1f024177790ff11db620b7cc0361ff1324624b75306789404eb0f49a9a982aad6cd12d50846f970110c6a6417dd6f05fa77727dea50717e23d8d656904f08a5f2a9d986ddd4bdd1c029adb4861c7042d07452653438694bd074cfe61f700e5325e238b9c48398004676bf6e8e25dda19bc21b9fbd55629045b7a6f5fc39165a70d827106c4a216e6b6f51b2bacdf54e7f73c3730ea06d33b9dcfe88cbb3e9c01bc1a1c2a3ace9d50abcddc11dbe3a5f4c34602cda2d33dca999b6b5d2caa8f1fb9edc81fdf9c997154a4dbea12d2ba77b9ec132928c1a4f3644f5bcb7aef03e0bfd94e5ce3bab5e0441f08a035d47775f2baf953371191b7f5c609126ac3904bfdb6dcdbd816db442cc18bcd18edb5b363948fbcd87959c5c16914b04801572e8427f60e52f948f1d140274f1f5fb2a6493b4aabdc288570a0d16b1feef9bdb8ab25c1dead210ab5535ff0a538be985388f9c487032eadfa9cb60f2d935316a081b503a19531437fde082c953fd08c69f58ac38556a51ccaf7943da4ce1a7017c052b12a3021edac56b8d76ea52b31cc4fcae0fedc5d1e0a178757492c97c0517393974ea48f70313988f5a18877adb4a50e8460e6131740571317736c17e320cb06dacb4bd908b50e386022e95c8b976ce40d272ca16999d0f911a8be70fdb0411418e44f7958894316513e91b53d23963bae55dd1ed20621beede9246b91d1cb98f1a0138a16f82fe36b3dc83b20aa4f9b8bc793925dd0817255a3f0e78e7d0e61564571d7265c7f974bd29bf5c2ccac41c55a9cc323aba522271b72c1f14c2fc038c8a0da6066c7747582073435ba8c99e7f928ab1d8eb0a403d19a32b0e67cdee09bca1247dbef0a861c22799d3e7582a2e1876ebbfc8ece43b76f6e2e5976873d18c0228b626c8eb3e2dcb7031426794ef476eda76a506a156202fa596968dd54b50c63280aa4184ca598cf81fe8b02c2b134d76596dae4b4efa3b6b844c57ac4e7e0d81ddae42ab4fdfe9e7841c57876657418cddb8d120a51c4e1c02cea6c16f51a93093d4cabbe460a783320eff88aceebbc17df05cec31d3c6217a07319e7e8d08e4140b82a964665a57afbc54f2ac7f62ce4437182c1a00819da4e898f2f54ccaef66a25a8453cddbed6b69c9ff5affe7b2d12c1ee2e24c13b948483a52a981ecbc92eabdbed6b9f2d769fce84e2f5f249d864ddaad1d80ad435c8e998f77ea6a47ca5c63d331bcf7ce9841c1e148f52ff0c66af255c5a60394785b8b6e2bc7bdc66adb959e138788ee72022a7e4ef49ada81297ff71c1cd871a81b7cb5c79f1c0365dd800de9fa799425d266eefd09cdc7616da534d3abfab1dfd398ff9b2c5006cd66f0875a8d6d62528252b0e72163775dcbe99fe33b21721995208ae53e570d35e84dff02473a7044e98ec9c3deaba012b6eef1bb881893d4618588d6443e74511baaf1eb9c1b52b6027b5dadc027807ad8f8ab2674aadf3f3c78628e8495c0dd7a6b499f802228b35221fa8adf939c2665653f55df7c6bc0da2c6a8a5cb3e978b7fefb2ca5ebb3718699c6bf15c0022954faffacf97537b961130866a0f037fcb53856129313425836f2240c869c433acd6b0b92ada517995ec3de176ec152570af23a9f30b0abcfdbdd52891aa45fb563fecfdcd98729dc452c1b729b67f59586300ecba37d293fea830b8082bd09afa86b5b8b94d7bcea7c9af2ad3996afe9132a495d24fdf863f7bf22547e96824f4c6856fb9340295b55cc1afbedf932d005c61555a544f5ef7cd9896f5563f681f4a4f0abdf3154d4ad73b576eef01b7b286746a9a2e9905f1b681eca12da3a8f422dda391636be676653cc6a561df1612fd035fc1debe11ab55f94392687642af2be5fdd6f4dedc33a1027a795ac713ccfe049a4a34fc4d3a40746dadb5e4afd082a70cfcdc12b19dbbfe0a22c9a2d06bc419a14fc7c250a8383537f82f9356112851147b205d9c44180a5dc3decda3eb51db597c9e4d641e6c4b55f5e9a0ed160165cdefaa9bca5bb1b045ea621d1057c50faac270f376753bfe0a4645fb74c2f689ae22321746b352742746e909c8bf89cb1ed371713720220718f16e9c5d0378fca4e18721539183a25b4cddc8a55851dc719979b4b368562bee1f0c1f721baa77e6e474a6e38f70f9f800fe5845494939477a5e40a182200efea8ad9ea6af248fb4136e6693bcd628573ea92f628d181ffaea1c1b68e9caf6f0e6167caaa73a87d096e1abeb9259dd923c8c3a9a64a511777719928ee7e6ac5f7a9f795c6e2f79fb802a96f9a32acdb97b938db3da0ac54a0d6bcd53c68948cebc068c4b1f94cf463906aa284c28956d5d25054080b07f32493ea3294cfe6be6d33ccfa2a473754995ada3dfe492ba2516c66031c37e99129342173fd59192f301a92aa4be27492f7d2959786d7db348bef941b8d6a6b9c0eb35430c95b2af5e28c9ed0f160c02b3c8a9dcb8aa680a9e9d2db3dc020084d3c7191e922659610328ddeb2ea9d4cfcf40fa8ec6f50f0d6f223a33dc4a58e50cf072d5d931bedef34adda2671d6be0780090a57b688feff12bc360e1edb9d881a8c0376666795ddaa0169b33962a6c559042db9c3dd0dd944bd3e39410224737597408091314ee5b30c8f53ab310ba5f09f9709027e660f58254d6ae23e845d5a0f50e6d71c01cba2588feda81ebe3a1b98e688cc3ec5b23ebfa02c9d98d1c115a90e5a0c298bb5c3106c538d16efa96e86d00a495d099109729d2d1faab3df7e2d3e74f2c4aeaa2e6f82c26b1ce31a09aa4f0ca525b8a078bb8c7a0a7b4a28213b35d5dec4816e814c02eea60540e58348a9f755572fd1da815e408496fab3a8c1c5772162bbd0e846359035a8645dc8ad6abbb0c60bd129883f40b8b067cbd8a0f5a16d2cd3d7c963eb082f19e884c545620eead0ce90a930cb379908a52cd79ace13bc7b91a6fe612cccded81be22daad6894a76a1d6adbdf47266ce18cf00896f14ae73cadeb2c6dd14eb9cf9b5c008ab34d9bd216400d1bf84d0ee17a3502a4052a6a5e8333c685e1014153c2c1075186daac6d5d8b7b82072bda75dee62b0c751d08e699b0d0c477236da1c956b09635f0fe31e131ce19b923145f04d10c8aac498882d562fba85c8618e15b22d1dbf8fc4b86ba752bf6084d5cb65974cc8f0ee4fb5f1e6018f4f7c831e4901699ba1b5e3fcd3cbc738f3d9ae986768d0a7fddf0736be28ded24b5d5bbd00128b8662931d6f5a0372ef15184ab06582df88affff936b98c6ec564289a9ee5c803584d87aef7d92f0a0fda5a45d6a9e057b9d6fb90185095cb0279dec60afb1c35e30b64b33ef5640c509c7f61338eb1a4f6f0a6eea552d8968b64323232fcb99660aa573048219d1643aa29d9933405f3589885839044a6a7a277490e0b8ea38dd0324b565b302e6bcb5df3c5cecadfcf1885330e5bfd66ec06e07430e3f4b255fed06d6d075c6637a38ab103bbe5082e9ba3c94909722cda05235cfa3cb1eab45f4f6e18d176b85f4d16fc072b55505ac5762351f2e931120775948ac61c19326558ee935e9e2706429228b9bc0f71c7d66f7ba6983f8cb1533737431119bd4f86bfde047851a9d471975eaf791fc0987ea0edda95e8271ed3e625e6320949e60bd93d5a53e1b1d0c5395c8d0d54ed44ae9b6cc136040c56b34d995f6d11e374e63417fe9dc0bfb576ec8536b22ac143df7b380107ddff077a4bf39183e3f5505f29b9914b69f11596c53f9a4263aaf90d95e5f16d51eb333438da82bfad714eb18a6476dea5b5f96e2fa8aab09c8d1e3af41534a9db5ebb7cc8fc2e0ec4e3a1948fb421a64d26e249397c73b23a65771e4a7fd2085b22961c95fd87f1f7d9ca9aef3a150db9f2d891430fcf58ce82240086b29ee1e7b5450ff132fde68ef26d6d16415afc891799b8ff9d805f7bb71ee10084fe9de9ccbb73b56a49a652e49092c8b69f0aa650c8e88e4736e8aad14c9161293e4186c120140b3d77039d1c0dab4dcf337ebd30661c428d825acbb1c5d85903dfba91b91841047f2d9bbc48f0d619ea49fe22197b28998b0c6cf39a5913fad8bd083d3bb2b068b5ca07bb5333b0ca7b61ee1dba4721ec6e4c8c6f7ab13180ec2e638808aca30c6feb744c3a20aa2aa0f5b5bfd0b45d792e9cc75d6b4e03f165714c1376660b218943f30ae6701636937fc96bd528650423b3a4c363f469cde98ab392683d99e9dfb52ba9f1cf3e41577379990f900843f2dac33c70d20459121596dbf0902c85894fbd1d24e702b67dccbb5423624d6303f65b8d0345355066d58d031f98953513cd6ded1d40c2fe8b74eb5bf0e78fa2fe8c94dbdbabbeb5e5e1bd96fb935638496dc13580a907da67752d10e2d8caf296692dab48e74c651295366dc863183aafde82ba27c55940049844278f7fb2e7c0722f932e5ee4dd319d7fc58e686728e6033f34f48239f458781075766d3798e6ae875d321c293d9d5497504a0dad7864c92c4a48a5451b26f5aba53603f4eba7f86fed322d99e9292599c0c99116f6b6a6dc59a6bd40a2525a162c849eed480d3ae471654442c2ce04f815a20f8f56a3249ce30ee129dfd23d0fed280123cfb82231d3e6f107148f8c7fcb6492574460be93553bf36117a50f20f8910377ad5e56d2f3dc77831f1343bb3c7a075ed50d7918104cdbe6f0f53b9ff93d5b24f2cc65ca125028003e6973908662b4c9bd007d483511f8101461a3334f0d0354a12ecc6922f1e35fdb8ff1a2901af3b105bd182ea850643c20166cb83721e9fa399538df3aaf895879744d8bd410594c19d5e8169dcc0d478ca8adac44458e39b4f351be38062ed7adf24f0abc760aa27b062f40d9d0c042d39bec99ae62faace08791fa83f838c09e1166091e4e7d6ecf75afee24702a3c7ebbee77f118ab42ee0e839adbaa0453bba32c7b75174b88327faa5ab6e301283a755bb86354a512fe3b6a8a39d5e1b3ed91280d455c4d521e67ac074651d138e04ad6d4032dd6b9156c12f619fabb2932953f2da953f5937f9358f949db278176c094a3499e1fe1cbe11cad4325a35ec978d61a38dbe45b8e86f0c04b5371b363e1726941b696775e2a2722c63013f5d19c35610fd07a442f4a8b59047c72e3e5b4e20c950ddc5717cdcd651cadfbffb3e241d9d0fafe73be34c7f1f3402adc2f3b31e6be90f9ac03fc52ff348de5e41730f27f64b0ae196dd913b7e2b865b0344aa1b17735b1f908279ea4dccd1c213c013259cfbb30bb64acfbb7643c6ae449443b9ed75814c7eecd776de073e1ec757a3170f2fca265410da25b6e658df860e0041d7f73db888a0b419b484a449c3232fe2351bff3e435d54f261774d8e9f261b5d8bb42d7e3720c08fc0c897abff009654b5a11985fd5caaccb02546d57fe8437b8c662817559cad7cb92e57db31c423eb82fdc40319d072cccf0b5ac8bb6e024d648e2bdcdb5cce832fb6bee08040eea988e02d28ab8204b861eb4c5b8ebbf744b7d1f9339c59619de8e4f9d332a8026d596e475e0a1fccda44a6f517da1f25c99f4e469296fac62c5ad2dd69d07f1c160591188fb3f265ba8d5cb83fd80adb310c91e862797a189baad5967c80c7169c1d09c706b6ca265bf2cce8a8a138879649a215df15c3e40833a00b3bb191706efa027275a2fd4b6594e4507ac493f9af6f88efe97b722037e1355269aa5c7a2b1592c072c7708da6e76376ecbeb987d8f21a7d3b3781df14977168b69bca586463b128790a51ded37e0efade14c63d0bbd88ac9315571270cfb46fca6e4d3576a8d00fca756fe2e12388b2ba3f4c39b904728f84a45522b287db8974efe6846d3bdf958c4739811e05d3d97b1cb2b4fded0ffb7cfa20c7ba21f448cbd193f88c952755aefe2b30e78f202f5d65852d0b863253ecaaa01eaca6c925c76d72897ef806a3d0b24c584be2cad5b8b67c29ad82397ae22950e3f9b19f79df9028e506d1f015d2975bd247a3d696df0d4e0a088ad55381d479433aaad0c5383cc2660a6706286ecce0161707c789bc632ebe51368aa73b91aa69b5bf56873305c72c90233a536a7d39ee53cb619f2082402406c52c66e68886c4e4d818389954cdac6e5624ac2c4cb0e4ddfba773ce7a6dc57b219188cc4dfb12146253c8c7657155a56b44f493b8866627a22a602b73a9b5ff7e230d4b5b710ec6a3ea025bbc80eb470ce196daf6bac785df6d9df441be69d7121774ffed1241e419ee4770b5d80898b63ac73fa425370359722c03280754d3f95b1d592ae9c6b4b6b604a6431bb3ec3b8d68ed9d8a1332238575ea11e2a9fb0a603ad00a756f1eb53655a4b5c4e33815c768420d24f90ded2be4b44908abe5b306d9b50611914f81f3b6542088778c039eda08960fd5c402f32382ef550794bb77e52c9fd34972cf860c52cfa269a89ef66c5824568acf6b8d9eacabe23ca86f38f6d8b2e68cb002d796c9ee75121f28ebb7edcfedc583c9978fe6cfbf179c2b9093cc683a29504678dbc68d00a70af3950068e9bb992f82afb6463243d509a9f2306eb4cbbe49f8d4ec01d98c3837e3259ae621a764c2ea1d879b24d4f93c281714e15017eea8c310719df29ea453381fc62e9af7340fb63f29d8c9560274aa49f2c5ada34024bbfe175fdc7c15aa502cffd4dab1a1546f79fcbbb6e4f3ee93c9683a2ad056296388bb3e5fb34045791b44b516de65f198f11ab7bc9bef1fafcbb869873f0d6df047b58f2cacd0e46203b1c37f26e1e32aa3a0e6b1ef2646fef7118f6a12397f66d4e16b4ab760bec6542d99d3d088704fed17d96e115b97bd83e937903c3e5b8df3f70932de583a03b9deed8a788c59fcb5c1132ac112abc12a59f714fa4f9b2718473bc3121cc22664244b41bb8cfdcd983fbaa5b7b3b92c3ad53ae6576a97c52c39f79e188bbde37e531eab26cea3f6fcdfda48f03ca75cfd78bd971c88f301a5377d5415e304daeb987cf5e20634cee4076e3100414a06ff31728f39dc3e71b63bbbdaa8b8f001b98d51cbd72417d15c9a2b02593d4a7e8898316b263adba49f693918ece69d90f74479bea304058b69a4cf23d508fb2a89dc83fac8574297918a68214c9c9e75c68293dff18b870a1862168465c5f6664e09f3f350227a48aae6624918a1c91ce202eff8dfa1b8e47cd908fb70d31c74abec1f004b124d8d5c339672993831b220cbbeedfab9e2eb36576bde4f881b46964f335251be025cebded50248330b197ccf496fe532e2936882a3be5da8533d8aceaab37d6867b1626cac94b0aeef62346872c90333a790e8b505fab9c6feec19e1305b12d515807481c887bd4a6c6063ac80732999131b3ca2db911fa2b0bb191a308c2ab137c47c044f714324a3613eac5fe2dd52cb5b983cf73ec14dc3c8e91c0d4240517612676271eeb5804f30dcd1c01a0f21098b59cea1007df5c96d3fc08ce32e1ef20144fc488a969ff68cfcc715ebc7fb44a439ae834388963df8490c411e5c0863f7f7e5d0e10da472c4396936f50fa832f0eb4454f08550339b765c8c9389f6748d775ba1ba06962a9893492ee2b1ec31ab0c151425e9ded5cca3ed3c6a33ba731c7f84b066aa54e1fb8bbdbcfe9fdfe7bc578d564b6d84c88d87b8982fd3a29aa7659bdd7b897e93e9b2fcea6c341972f3f1c119b9624dbcc91c7b6552edc2cae3eee2bd08d38143b8512113a7d0cd18b80a595a6c665bc5a1575018c0ddce29c4b532b8b55d42b1765ca10127120e98cb2f437db4114b4b56145e2650a651e515c20027a3f255bc7618c9890fb18774eaf01fbea2c7d3416bccd631cf53f4cc0b85754896c2d909ac683a63e6d91a1dadaf102a03a972b3ab3b012b4fc0dbc693f429a7887f6fb1e9728b1b410139565d55d5c84f39e0c60101d0c76400c0386d9f4038ac8cb2d4f16578ffa70ea9206cfcb6810db4765ed3d0886192a9b30a8e469256fc82149e3d2750c55cf745542a1bd9724caad9c9bf57a3df43739c340dc6ab4c8b0688bb2d3c7bedd731ed860df4daa470d24bec6e2c82183492c82526fbec1f97af49ba8a65d186049e7ef1a4944a7217e38ad2435bbbf70fbf5af08fa293e94551508f59ee86dfc261b368689d167e5020a994208d622ed9e9763b154b6434396201f23c06ab28f6d092afe34a120755fbdafa693e6f944664818b2d90b884a13a74f4fc498dbc2ccabaf15aa722f679e0651dc5b6f8f03e743cd2a5ec8ccacb8d3f7894c38e96b57f3c1727a8c798b341c0872b22389b2122d6a1915fd7c315e13826185ffa99645f84bdbb57c757fbe09937891bd477f40d697e45f8e4c7e739c6541a304fccbd10d17d9efb46949ef640fd8bca8a3d498c3f5593ce3f6ef49453de1fd660a766c69578d9519e6986f8f3b5b2ccb0aaa7cea150c0336029d4d30bdd58901f9f7120f1667d342866b08c523e809ecc3399c3562306463184d052a134331b548a86c76bc3b8fad27271b623432ed615f3e4b0b9d05db9fa265cc72d359fef9b1ddd6a06f2780e81b6576017647a7f6032d25fe1c0c7d3971fabf1b65d2047c8a25c23acb73fad71154c864b839392d2061e59b22229633ccd61312bb7819bb998d9b7c2ee49c67322766ab5e7d8b354dcf4a6df0d8234d20744dd0ec604742cfa943013c0b3f2300e91d690e443ac71ea4aacb23c127c27cc33943844025552b98875ea48c840c2bdc0827ae23b38633a8c0fb537a2675484c5fe1b971a9a751b88d4db7c70f69379da1e3fe35dc17c380fa409e2a7861452902103456f4b9e10a724e1050d832d92221e2b34a212a01353a8e4eb03774384c126caaecd46d1987c1e8ba6bf6cf8e3a985a738ebc9ec8a9e8186b25cdf9a411fc52c30f37bd9618b1a22404f52951ebe241abbdbb684dd3ff7432c611e19b12d516f6aa0634646fef830bcdfaa47a4e4022d30179b7800683e9bb4338693a5c1381f8e503ab5463d70a57fdbd17383bf4b0b21b2e7d650336fd3c42ad69ec06a8231c9ae570248b5c65cc340bed94380372f67e9d942b3751e6a0aa809cdc4d2a68c885bc5702c79de628614c17f3e88faf1be284c1958f6537d8529e9102bc86e4560f430e1a62c6c92300c4eec1263710b5de104e9359d208e7f389f73780c37e66a575f829f2e1074578ea184d32602319f9c9402a421e61be6688d6400c9d74ac047993db0fad0060d466e83e048c2ca03c25b9bcf972b8f51e8011a8534843a182dd93d383dfa171613c1d37d9900c1d4536032b44eff17ce46d709f18a35c531ed4a4718795ebaa1b90c9f0920d94dd314257419ae9f07b57cf4df948f4357d76c090439078e54fcc156d404b29a89e7a2f045c2a8369f0b0a09e9fcc17ea68f9815692c0f3bdfd5be87d342c7ddff12b59f0727277bf404d01987dce7df04f5241d4b12d8dceeb6026cd381444c2d5c6007ee61376f0ed852283c22cc3a0f2b67b052bbf5561084598782052498ada5a84854d865dc7fb24a92dbbf3f7b11ef727f92ea911fb228f1ee0cf3b0757d65a4a713f75f65c43d549b681ab51343442ed41bbee45322b554419339a9365fa1a589924873553a0cfd5dca6cc5e9760541badbb3eb04a71dddf0fa1ee7c71cdc86258201becd13649a3db96687a484cf0ab2bc6679f7df490e1c7063bc7fe182ede564b6b98c9307cbfc2d164cabeca27093bf8bf25c676f97cf6cbfb0aa6420732f77405f90dccbbaa036d8f079a0aabf657ca01bc2c7939a0390353f1d5431b761053b8d4392d427871e31f74f20dcb66726109d88d0ca43752f789c38638aac05c1848f815bb9c4a94ec6f08a04bc7306541cdd0b122d8e8737e1b41abb73578f576da167f0fbeecdb5c2de7f468f2cf9cbe03ea946c1010ab4bbf3186a64255a6c49833296be197ba600ccacc2a576362df74c920ce3e7b93e9cd7108ceee20776046fada0b3030ca43029bd946052f12003423f7bb06c98a680672aa819825aac715e686dfe1b0f84645a777d27cfa5df09d81a76df2d66ba27232d6cb4a9be5017e809d02c94477ec10044fe9d6e707e03c50d7d22e981361b9660f18bf166cf28f021125b132e74908dfe7dc2a9a4864e96ebcbef4545eace8e02be7bfdf530e92ee2fe70fd032f6484e39696a218923760cfadf224c2389c5483b8bdfb5062fa8ce61049d63c54d480d1b1ee1c8ec7c9278856181dfa37d98e09448aa7a9060f9b9dc9a0539e5e365ef634d43dd11db465effab7a7c568de2b3731b39e957e2f0fa3c0529f09740419bce7cb84b7d5e18f17911997c7e8bec556d7f7ef9fe4f9e1ed061aa06ce7da6b0b4f46b29fff8a4b93e3e454d65a8779e439a7420220c3dbbb3d0aa1ad8aa57fdee3df52b803bdfeb45338faa254cc90cd472599fca41523c4695a46a5f0221aa7af89ea3b714bc8e3cfc398dec578f24efc92df87f1558124dc0df1f47ee04c3a0a1845158559c4cc10042ee3854a424b2f796ad739576feda4313b8bed746b19a69eb06cfaacb1c26f32b48937b8c1293576ed19f8ad2b20b5acfda99f4e69f31c43aad937fb2ef2f85b5067be177abdc593f4c1943ffd16ed6603b86f1f98c82eddc6953ab640fa15374ac66c7c45e52dfe8444d48d53568ef37c96b1d551a36bf01b22fd352fbc09c3cc7f78060652d7fe336727f8b35aef6be849cce94f19c27cdac93a7332d9ca7afa1f7eba0ed72a3b6c1dee26f4be00144e689ef7867b4573421ad36a9adbb6c79da45de7e3759b0ab6d250b2773b790827163c67a4adad800a55aa2877918f2475bda69ab12d79ba65dcb188a10813ec33f8bc526c4c75fb6202b03d7f4f72969cff8343e44fb6fe26543ded0045f245faa24e5d5d2a2e73b3e54b278168c85a03d13cb0bfc9aee8726fcf173ff5a528d79bd1f2967cc109395e530db9c8637f1d69d00186ceb; asc nw l - & a t{ z j 5 R c j L % 2Z y & ;+ "3 @ > yN Y}& q o;N EV v d tX S. _ e uf # @ .z g#_@ _$? o $ ) g { K8: a& $ o cL ]\- V b ? 2 + 8 K; n ' [y- E }PTqk>f F 1 FD t N u A @0e~7 j F) - %.E" `a Y 9 d l n|6I _ k ]0 ! Zz n 6 E r/> R ?! m & &1"R - { E K PP W\" k > | k$$&] , :- k d [cT [ T 4 l P + V Bi ( 3s sC z`~ ; C" ) Y 5 |hR>q? F P8 b| e F x-l^" }V r w & < 5 TT G e e g ASu e<"C C vU ) k? @ NI 1l)A nX a ! W ; #e? PFV u }jP O+ * : I{cuXQ l Q % tZ v y [QY 1l?q 8M L i k 8 0 { : M Cbgf ( Dd u ^ > r Zy z j+ V W Q P C{T Yd>16 E Dq q ? v ( ~ X 3 ~ 3 7 \Ndebh v^sd& 9 _1vS77 B 4d QP\= 0 #K "n - l /RtR @ G }y x. X Z 9L ^ AI A B \ x(n d^M0 d_ ?gBS 1J 8 1: !\Z &A ~B ;jv [, "k p O" _ u, c h\p 2 Q P a x { k 3$ 0R N :F\ I R ,e Z i y d b n $g x+ 7| 0 <m 8u r @ ] pX T P AGC W q . 3E 4 F m ^ z < v 1 kY loE*K u 5 " $ "Z 1 i C$%\5- w)P0 ! ^ @] !} z>eKXZ i : y 5G > 'Y zD l~] | F D p+# D u y ,-Ez) x kV <' sP! e> (= h G D, Z Y ]K ? i @4O & f m t X J>9 * _ s ! V Q K pU ] ni Amu{ o Z K[ T aqh w 04 L G . 3 L ,y >h V 6 V |^ & 1d / [ )fX ,( G5Yd ` HSw 3~ // " 8 iDO2 r ; J" ,N" h Q[ E tl"D9 R i K!mm z 1 q y , O 6 V i y I n = f H Oki FH o 1 ; @ Q` V MPC l v>h 3 ]9: :*l n{ L/cJ v IE 4Qf i h j M 4 =+ & E PCCp | DVy` u b ^ Q M q ^ ( i r W N k k Y d t ;= w l: c E {)9 Y } s7q < 9 A <` q "l < lH ; ~ m " t R V >e r 8x v I ; p U h &. K i , O `M "\ e P oI^ : [ ,&!U Q &v ) 6 ~ 0 J ? t ylzN E ( " ~ K P > u c C r2 ^ L T > { k -( < #k18 kv,c 0]p K nB5 _[8 <R _mF K Iz 4 cGF# *. p} 0 \ ! $ . | W ' {y t bOe$ QQNC e m 6 . 8b ! z i:\~z 3F ?Up c F Mr& F xz ( (& 0E J4M 1 | v oV # @ * s 5 Y W6_>H{ ` | % bsng d H A ]H\P " uT - Js { # : 1 = =#n 'V W w 8x @g pF[ j 6 l A i E h ( . Fi I >>b% Jk - " W t ' @t v` ' &] VL y P & k 5A a u & S L T 05 p? ( 6 d V 7h- 9rI (( : _e+ ( f A M 9 l a=Ix TF ! x m ^."z | m <:0 Gg m0 m AZ ' l/ b n P& p e $ v (V $(DZ X%8 0 m=Q tH5 D N e 2 Zs@ 2 lHE" s j e M \e [ Q AnM z QT =!Q" N hl a |($ mp ^ a X ) o AI ] w O 6 5Q f( V ' 'i 5N } ;U c &1 +A V # .g |7v ) 1w , o z M; E Ga) { v D 2e {0 * {eq `n 'n ' " v :/ ] % fz j,_ q{ 9 ] m ' e Kb .A : ~R Q m Ibq u + R7 s PQ F $S ? W< C ; J wTF 3F Hr RN xZ \HT a? dQ h 8 3aq <n k ( # X c& : U3?< L f) r5 v p s Yi! s> D c7 7\ W! 0- [ > Eg H64 Fa p cr Q ] Y+h & z _ " ; Ha ; W N g J p (} {'HS @ C ; B F #Q S ? c B V` ! }y U5 |X v& X4O` $ds fL-Hy r6 8# L F u GP H W- F & ;t ! ( Cb 334 n :rs ){ r ' 0 \.9z 1k I > | X ] " " p & 0a | f `9 N j! M Lc K L _ =+ B` Sy W 5 (j 4 d 4s 0 h T4gt?w aS " T n5 J J R' : < s [R u t~ >!Z r _mR@f 9 lrS 0Z [7 < y & g( a BO H p .H :v ?E{ rs 6 P U D n GN 4Er @a A 'N ku Y 1 t%M" d u ba 5 *K m L # p p4 Kl $ N " f W # _0~ FKjP ( k a E i :9\ / 4 2 X# W $$ s] i ` d GF;{ } G 6 R `sF " T5K 7"`v | N * K N > ;>` !8@~ p 1 R =, b }K : " Y J u v 5$Z > & cM @ X Q,zx - - C &^3x Z c O? Fub q i E( y / &#V 4 5r D b *% Q " w\ j! y - J3 t XA 1 ` Rb1 E !q g i 8 P Y F Nx K 0 b g mf N ? $ cn V< ' ? j j k Y 2>T ; I p $3f" + -/'y 8g ~ CV : a ) V' x b LD /g] t k ?BM T C0 saT>6 =\ i X ;''7 J4H z$7 n9 1 ;W <F K Ew Q LO" d k mU, F S , r y-6 S j( gK\ | p d8* " E L y CX p | o { % EQ N _ Vm 2 &&& >^j i[_ [ } J K 5 ( =@J 2Fp W 8G ' 6 k ? ^q = ! 81J q &[ ^'>03}COl ! g L 0W G { F}L & 4 + >W{{ ` H = ) aH J k =` lA V r Y, gp ~3y = N v) D v 4 YS X p. O |0 d ` $I+ D@ ( - =s ? z Ar ' RM}Q^ $D b (-GN n Z! j;Ko8 I ^ I : V LB Ec T jU O MF j { n fJ = e ' r E f'&. [ , ]g H gy ! %L/ >? %. z , n t' # <0$ rq h - wx,O&9 F+ $6 f i -g rw W; % ;= 8 \ >m # S ss W Eh i[ x 'cr K^EWp 4 c p9 O = % z V $ ; S d 5 & j} Y< e S x } T f+HN} _ C jW m8= : n [ ??m g [F 5 P _ e @ \y 5 K[ j s-v 0] b sa Iba b p_ U 2w* kLX i 5 R V W7 1 l > ) ? . ` ! _} E Z ^$ pt s M AR V- (x` FC ` :;IRp z b z3 , U ~ 1 s | >- J3y ' w bnl sU $ G V .F ~ ( R ^O j5 f: 7 < CE!f X t { s Zm 3 & |J E 6 * ^ P Il- $ 0 Ha ` R$ P \ A - ("/ X !s S . % t(b FW 0A Q O} L!.? C= N }M5 H lNLs 5 7P g9 & o $ n]MO4 @ > %[ j:g M ,l f - cD] ` Y C8 $n { 6 " > fXln + 5 5 g 4 bP A _D n _hs WbK u A a g n _ Z + A B Ni* { &S 2 J| hC w =5B{ T P h b = 3OI S ~ af5 V_ } 4 ' H] M l ` 7 e Sq ( 9 ( L + %t ] d 1 | %emb? KE # "E * d u .t DS^ &4} h & 5y p g b B "8wF 8 S T _ bJ F j g A X?Id x Og js Y .x 4 oE " > pq~yzt 7 d +UX/> v*` l 1" &i 5 t T*. r > . x z S `U z!9 E rwIZ y k 2n D ] @ d l8 H ] 1 C </ C E|u a sq @ - e* ! v p l(x@ 4 bb M 4 / B - aV , E "_ < KYN = d s G 4 ! WW* %u mC ~ w ,^ ` dSb KL: 7,y< (b@ f p KW a }*+ ; N^ 7 [=:& kD x 2 n y@ \ ;[ 8MZ p ?1. l e r A X * Px ^E ~ C r wU-7 7 ?\ x T&6s Z l B x N ) @v d^sw JK dw ,g p`' 2 '' :A i f" _l 3 _ < #) rO t $ HV 51A E : $l. Hk LgJ 7X 1K Q } 5y W P / GM = ! v q|y/ o q H \ W j^! 9 > d 8 Y V R W P5W AY = i: Z _ b |m 0V Vw K9 F ?< UY B ~DQ u h =Fq H F e90~ j rN ,ksE 5 b ^v & z)A KA N [ Sn ?=Q mT Q #L t $ 4 ][ C+ 3q 3 [ \7 4N eee f 5% u~ b } @ 3 'w m Aq Z 2 9 l y/; d @ A h :* q X I Q +S bJ y + ~ ( 9 S V? k ' Y q I @h/ L u >t _ D 8 j{ h e r P: ; B5 q & m J iH oL%xr: & [? # _ Og _ ` x _ Xa m i 8] i^ z. b H; b * o 1l]1 ! % T O d H *~ ! c ~ I G l m } N [ " 8 ok ` s\ 6 Xy $ 6 ! M [ K : d 4+1 " f e0e +J $ ) " |4 m B )_ WU 8 Y > d p Q J1 aX p B} fa 0 \ ] iC A% gb V n } c 4 # [Y 3{ 9 Et $ # S yt z9 5 ] < # & i !+ ) N X3 , DT u - M U 6ZX l $ V sz 2 = g^ D $z . .e F 9 ) y2 -L , @9U) `V2 ! = $ w b | 6 2F$ S x I F p jd o wr} Pq~# V O ) pB tRe48iK t p S% 8 Fv n % Ub E 9 Zp ' lJ!nkoQ N s s m3 :_L4`, -3 JM -+ { 2 O6D > ; ^ A ]Gw_+ 3q \` & 9 m m B [69H \ K r B ` / t *d W \ U5 S 8 Hp2 ` 51j P: S 7 S X 8UjQ yC L | + k v R xut | 99t H Z z JP F a1t q1w6 ~2 m P . v @ r A D 1e S 9c ] b F 8 o 6 y9% %Z? x dW re t ) \, U 2: R"q , lwGX sC[ @= + g $} a ' X*. v ;v hs ( & >- p1Bg Gn v V / KP 2 A Y ,+ MvYm KN ;k LW N~ B O W fWA N oQ 0 ` 2 } \ 1 !z 1 ~ dfZW T b D7 , L f Z S ki Z , L HH:R i N/_$ M C\ w jG \c 1 A H / j U x[ n+ j r *~N ) q | e y % f am 4 ,P f Z mbR R !cw] ;!r >W 5 M G:pD a D>tQ R {] ' z &t ?<xb zkI "( R! &ee?U |k ,j \ x , q )T u7 a f 7 8V BX6 $ C: k ^ n RW : 0 R _ c ) E, r g 0 })? k[ | 9 *I]$ c "T~ OLhV @)[U 2 U D | oUc 1T s v {(gF _ h : B- 9 6 gfS jV a/ 5 _ 9& d* _ oM : ' q< I O F ^J *p + , - A |% S 5a G A = > A _^ ` \ ^ ! |P ' 7gS d_ L/h #!tk5'Btn 7 r q 7 N r 9 :% U K6 b ! ~nGJn8 T w " j H A6 i; b s ( o ag s } n % # JQ wq ( ~j o 2 8 = T <h h L c j V PT $ 2 m3 *G7T Z = I+ Qlf 7 )4!s Y /0 K t 4 jk T0 [* ` +< = M<q "e 2 L oP # = P -] 4 &q W 6 vfg i 9b Y - D >9A $su @ 1N S 1 ~f X%Mj > ]Z P X : > > , Z ) lS n I] r - ~->t .o k O % x z {J(!;5 n L @ H UW/ ^@ w!b F5 5 d] j ) ?@ g m, c / Eb 0 7 , { a, - Jv rf o s 4 !d P*@R 3<h^ <, u m r ] b Q i Gr6 k c_ 1E M -V/ a - k R ` e L O O| I i 8 gh 6 ( K][ b oZ r J e 6 n d( XM / ZE W P y 5 d > d P a3 R d222 ` W0H! C ) 4 X D wI 2KV[0.k ] 3 [ f t0 U mm \f7 . I r, #\ < _On v _M +UPZ v#Q 1 u 2eX ^ ' B ( q o{ ? S77C O xQ q ^ y ~ ' % 2 I =ZS 9\ T D l 6 V M _m t 4 v 6 * C {8 zK P_) Ki ? Bc mQ 348 qN dv n/ : 4 ^ | . ! M& I9|s :ew J [" : C X $ E 2 mm AZ _{ s jI R P G6 L a)>A =w M 3~ 0f B Z Y A - H I " {( l Y =; h S3 {a G! nL oz 1 .c o tL: * ]y. ]kN eqL vf ! C p 6 k (e # c i h= + >AWsy C <p Y , O $ } T#bMc [ E5Pf 5 m @ t [ V8Im 5 gu- i- H Le 6m c : ' Y@ D' r/ .^ 1 hg( ?4 9 Xx uvm7 ]2 )= T PJ xd ,JH E & 6 o 2- )% Y @ RZ , H : qeDB V $ ) = ( # "1 d WD` U; a w ^V w C <z ^ y L ; =[$ e P( >is b }H5 a 3O T . i" _ . Pd< l 7! 9 8 : XytM YL G DE 9 Q 8 . O v { /@ B b 8 f N}n u $p*<~ w B S ,{u K 2 Z (:u[ cT ;j 9 ( E\MR g FQ 8 J - l )2 ?- S X I ' v I C% ^ x 8 [ KSq c riA w^*'" 0 5a zD/J Y |r W e A s 4 @* /;1 R 4 0 d m e 4J w5 ' !< 2Y 0 d d<j ID; X wm s uz1p eA [ne ` s A HJD 22 #Q 5 O& t a B r z eKZ _ TmW 7 b uY } B> / @1 , $ H 2 k K tK} 9 O 3* & u JoQ} \ i)o b - `Y ?&[ ' Yg qi pkl e , yd !] \>@ : ''Z/ YNE I? " ~ U& Y, ,w nv7n } ! x Iw i F; 7 Lc 1Uq' F Wj V . 8 + G( JER+(} N hF X s ]= +O { D ? RuZ x XR c%> l \v ( j= $ , [ g # " ? Pm ])u $z=im U8 G 3 S &` pb ap|x 2 h s [ hs0\r 3 6 < $ @lR nh lNM L bJ M w< W !F%< vW ZV OI; fbz" : _ 0 j> % p m k x] D q!wO $ A w ] c s BSp5 " 2 uM? kKk`Jd1 > 3"8W^ * V SeZK\N3 \v O KD [0m Pa ;eB x 9 ` \@/28. PyK ~R 4 , ` , & f Eh # m .h -yl Q! ~ X< x l y < g h p 9P * dc$=P # L N ~2Y b vL. y MO qN ~ 1 ) E3 b s@ c `'J ,Z 4 K u Z M F nO> < b 8 4 W KQm _ { s {X F ; 7 n 2 : k do q # mN v eB = } { > y ?p - ; \ 2 * qO q s 1! "fBD [{; S ev |R y 7 1 l ?o u q 0 Sw A^0M ^ cL @v o ( c rA} % c I i tG 0@X L =P ? t)y \h)= p !hF\_fd ?5 ' f$ . G 1 J $ 9g) " . ev id 5% % P$ 0 S.)6 *; 3 7 { & K #F , 3:y P_ o -QX H { : 2 1 - + |G D 2J6 - , s < $ a&v' X \ 2 O i h q^ JC 48 c ? ~] G,C oP / EO U 9 e 8 gH u ib 4 + QB^ \ > ; 1 K j N { x d L { :) vY > / A /? $ U. , > + 8 ; :} e Z u KS+ U + e q 7 A aE e e Q\ z?%[ a wN ,}4 c ?L WT l- >m : +: i?B x ( e ]\ ` v@ -O W p h Ge = * 0 i%o !I u U tUB $ z= 79 @ j h s ` M G $ ! I, Ro z ] `I ID !~8 $5 p )> U m & 6 g B " c T CC # j m * 4 u_ DfH J OO r/g Q [o C *^ L8 kW rz y 4 r # -j |1^ a E K |u x G @ _ L~s eA iI d Y< IE= f vliW o ;[, | 6 M0 g B k # 9 5b0dc M * C1 H lv ; '' b42 a_>K e r Y o' ev vG -% }9q e | % : s T d 99- a "" 3 x |. g2'f ^} 5M Jm #M tM `GB C < ?# i D: # ' | 9C @%U+ ^ + ' # 3 Sz&uHL_ q Q M i7 5 @ *xaE) 4V rN P 2 "! J!* 5: N 7t8L l m k : Zs k% R 7 $ )Q A hM t2 4do zN@" y C8i:\ Tc W 8; .}e 6 <B i # p$ \e 4 8 r ~ +7Q M*h W (aL e7 R V C b # &7 N Y 7 ~f u ) Ex M2`# @*B a f @ t y ` f > , <% r SHC qa< 7 E6 +D | mp \S q 1BWA {W M H 5}v C x O m@K) z/ \* i h V [ }4,} +Y rrw @M } } ORA - `& 8 D ~ v " , { + Ua E x RI Z M ] $ - ' . " ; W ZJq?u \C I Q44B A E2+UD 3 e X $ 5S ^ `T > Jq |q bX 6I hzHL + g } ; . VKk 0| d ' ; % v | B 2 t m W ,y9 9 S C v S 9-Bxq t fra 7R 8 \ H J o K 0eA " s~ A 5x v \- h l K 1 BU 3)k ` *Wcb t >{ q w`F 00 C F / 4# h r % FE w | ] m k r2 J ~ Dw O <P . a f l % 2 I * Hd n T^ + S / 2 HN9ij! #v "L# H; / a c MH | x a } H z ` 9 e cMC F^ z|V s 9 W < ) @A | K}^ y |~ Um ~ O a } k) >>EMe w C t " = W = + ; E3 %L rY AR<F j_ ! z < 9 W $ - X M G QXU L B 8T $ s v C F i & +H { Wn Z 1 : / { w Y?L C n `; iS d St f ^R DMH 5h 7 k U 6 / R < `e- 6r 5 ' 3- r oK D xg W4! 6 ly E ~7Y m% 's qc zJ Z y G[ i ] > ? & _ + )i 4>D o eC _$_ $ ;>T x = & s ZR y )g 0 7 l ; InnoDB: End of page dump 2017-12-15 09:39:29 7f3bf2ba8580 InnoDB: uncompressed page, stored checksum in field1 2926475207, calculated checksums for field1: crc32 3780270371, innodb 1905261382, none 3735928559, stored checksum in field2 938595997, calculated checksums for field2: crc32 3780270371, innodb 938595997, none 3735928559, page LSN 0 1600747, low 4 bytes of LSN at page end 1600747, page number (if stored to page already) 192, space id (if created with >= MySQL-4.1.1 and stored already) 0 InnoDB: page type 6 meaning SYS InnoDB: Page may be a system page 2017-12-15 9:39:29 139895452108160 [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. 2017-12-15 9:39:29 139895452108160 [ERROR] InnoDB: Ending processing because of a corrupt database page. 2017-12-15 09:39:29 7f3bf2ba8580 InnoDB: Assertion failure in thread 139895452108160 in file ha_innodb.cc line 22004 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. 171215 9:39:29 [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.30-MariaDB-debug key_buffer_size=134217728 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 = 467266 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 /home/jan/mysql/10.1/sql/mysqld(my_print_stacktrace+0x38)[0x555fb02483b8] /home/jan/mysql/10.1/sql/mysqld(handle_fatal_signal+0x394)[0x555fafbe2c43] /lib/x86_64-linux-gnu/libpthread.so.0(+0x110c0)[0x7f3bf28360c0] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcf)[0x7f3bf0044fcf] /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7f3bf00463fa] /home/jan/mysql/10.1/sql/mysqld(+0xa6befe)[0x555faff3eefe] /home/jan/mysql/10.1/sql/mysqld(+0xc5501f)[0x555fb012801f] /home/jan/mysql/10.1/sql/mysqld(+0xc7399e)[0x555fb014699e] /home/jan/mysql/10.1/sql/mysqld(+0xc73e7c)[0x555fb0146e7c] /home/jan/mysql/10.1/sql/mysqld(+0xc50e94)[0x555fb0123e94] /home/jan/mysql/10.1/sql/mysqld(+0xbe4a41)[0x555fb00b7a41] /home/jan/mysql/10.1/sql/mysqld(+0xbe5172)[0x555fb00b8172] /home/jan/mysql/10.1/sql/mysqld(+0xbe5476)[0x555fb00b8476] /home/jan/mysql/10.1/sql/mysqld(+0xbe5709)[0x555fb00b8709] /home/jan/mysql/10.1/sql/mysqld(+0xbe86af)[0x555fb00bb6af] /home/jan/mysql/10.1/sql/mysqld(+0xbbf8fe)[0x555fb00928fe] /home/jan/mysql/10.1/sql/mysqld(+0xa4d870)[0x555faff20870] /home/jan/mysql/10.1/sql/mysqld(_Z24ha_initialize_handlertonP13st_plugin_int+0xf3)[0x555fafbe4c98] /home/jan/mysql/10.1/sql/mysqld(+0x4ec401)[0x555faf9bf401] /home/jan/mysql/10.1/sql/mysqld(_Z11plugin_initPiPPci+0x91d)[0x555faf9c0003] /home/jan/mysql/10.1/sql/mysqld(+0x40ab93)[0x555faf8ddb93] mysys/stacktrace.c:267(my_print_stacktrace)[0x555faf8dec13] sql/signal_handler.cc:168(handle_fatal_signal)[0x555faf8d4210] buf/buf0rea.cc:272(buf_read_page_low(dberr_t*, bool, unsigned long, unsigned long, unsigned long, unsigned long, long, unsigned long, trx_t*))[0x7f3bf00322b1] trx/trx0sys.cc:683(seg.cc:360)[0x555faf8d40ea] 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. 2017-12-15 9:39:30 139923984815488 [Note] InnoDB: innodb_empty_free_list_algorithm has been changed to legacy because of small buffer pool size. In order to use backoff, increase buffer pool at least up to 20MB.   2017-12-15 9:39:30 139923984815488 [Note] InnoDB: Using mutexes to ref count buffer pool pages 2017-12-15 9:39:30 139923984815488 [Note] InnoDB: InnoDB: !!!!!!!! UNIV_DEBUG switched on !!!!!!!!! 2017-12-15 9:39:30 139923984815488 [Note] InnoDB: InnoDB: !!!!!!!! UNIV_SYNC_DEBUG switched on !!!!!!!!! 2017-12-15 9:39:30 139923984815488 [Note] InnoDB: The InnoDB memory heap is disabled 2017-12-15 9:39:30 139923984815488 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2017-12-15 9:39:30 139923984815488 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier 2017-12-15 9:39:30 139923984815488 [Note] InnoDB: Compressed tables use zlib 1.2.8 2017-12-15 9:39:30 139923984815488 [Note] InnoDB: Using Linux native AIO 2017-12-15 9:39:30 139923984815488 [Note] InnoDB: Using SSE crc32 instructions 2017-12-15 9:39:30 139923984815488 [Note] InnoDB: Initializing buffer pool, size = 128.0M 2017-12-15 9:39:30 139923984815488 [Note] InnoDB: Completed initialization of buffer pool 2017-12-15 9:39:30 139923984815488 [Note] InnoDB: Highest supported file format is Barracuda. 2017-12-15 9:39:30 139923984815488 [ERROR] InnoDB: Database page corruption on disk or a failed file read of tablespace ./ibdata1 page [page id: space=0, page number=192]. You may have to recover from a backup. 2017-12-15 09:39:30 7f4297691580 InnoDB: Page dump in ascii and hex (16384 bytes): len 16384; hex ae6e77c7000000c000000000000000000000000000186ceb0006000000000018b1b7000000002dc6269ae5ceb2f861b0747bcc8d861e <cut> 2017-12-15 09:39:30 7f4297691580 InnoDB: uncompressed page, stored checksum in field1 2926475207, calculated checksums for field1: crc32 3780270371, innodb 1905261382, none 3735928559, stored checksum in field2 938595997, calculated checksums for field2: crc32 3780270371, innodb 938595997, none 3735928559, page LSN 0 1600747, low 4 bytes of LSN at page end 1600747, page number (if stored to page already) 192, space id (if created with >= MySQL-4.1.1 and stored already) 0 InnoDB: page type 6 meaning SYS InnoDB: Page may be a system page 2017-12-15 9:39:30 139923984815488 [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. 2017-12-15 9:39:30 139923984815488 [ERROR] InnoDB: Ending processing because of a corrupt database page. 2017-12-15 09:39:30 7f4297691580 InnoDB: Assertion failure in thread 139923984815488 in file ha_innodb.cc line 22004 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. 171215 9:39:30 [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.30-MariaDB-debug key_buffer_size=134217728 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 = 467266 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 /home/jan/mysql/10.1/sql/mysqld(my_print_stacktrace+0x38)[0x55f7232f13b8] /home/jan/mysql/10.1/sql/mysqld(handle_fatal_signal+0x394)[0x55f722c8bc43] /lib/x86_64-linux-gnu/libpthread.so.0(+0x110c0)[0x7f429731f0c0] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcf)[0x7f4294b2dfcf] /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7f4294b2f3fa] mysys/stacktrace.c:267(my_print_stacktrace)[0x55f722fe7efe] handler/ha_innodb.cc:22006(ib_logf(ib_log_level_t, char const*, ...))[0x55f7231d101f] buf/buf0rea.cc:272(buf_read_page_low(dberr_t*, bool, unsigned long, unsigned long, unsigned long, unsigned long, long, unsigned long, trx_t*))[0x55f7231ef99e] buf/buf0rea.cc:505(buf_read_page(unsigned long, unsigned long, unsigned long, trx_t*))[0x55f7231efe7c] buf/buf0buf.cc:3084(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*))[0x55f7231cce94] include/trx0rseg.ic:70(trx_rsegf_get_new(unsigned long, unsigned long, unsigned long, mtr_t*))[0x55f723160a41] trx/trx0rseg.cc:205(trx_rseg_mem_create(unsigned long, unsigned long, unsigned long, unsigned long, ib_bh_t*, mtr_t*))[0x55f723161172] trx/trx0rseg.cc:290(trx_rseg_create_instance(unsigned char*, ib_bh_t*, mtr_t*))[0x55f723161476] trx/trx0rseg.cc:360(trx_rseg_array_init(unsigned char*, ib_bh_t*, mtr_t*))[0x55f723161709] trx/trx0sys.cc:683(trx_sys_init_at_db_start())[0x55f7231646af] srv/srv0start.cc:2654(innobase_start_or_create_for_mysql())[0x55f72313b8fe] handler/ha_innodb.cc:4475(innobase_init(void*))[0x55f722fc9870] sql/handler.cc:521(ha_initialize_handlerton(st_plugin_int*))[0x55f722c8dc98] sql/sql_plugin.cc:1404(plugin_initialize(st_mem_root*, st_plugin_int*, int*, char**, bool))[0x55f722a68401] sql/sql_plugin.cc:1681(plugin_init(int*, char**, int))[0x55f722a69003] sql/mysqld.cc:5152(init_server_components())[0x55f722986b93] sql/mysqld.cc:5741(mysqld_main(int, char**))[0x55f722987c13] sql/main.cc:26(main)[0x55f72297d210] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1)[0x7f4294b1b2b1] /home/jan/mysql/10.1/sql/mysqld(_start+0x2a)[0x55f72297d0ea] 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.

            The error log message somewhat misleadingly says:

            2017-12-15  9:39:29 139895452108160 [ERROR] InnoDB: Database page corruption on disk or a failed file read of tablespace ./ibdata1 page  [page id: space=0, page number=192]. You may have to recover from a backup.
            

            It is the system tablespace, but assuming innodb_page_size=16384 (the default) and innodb_data_file_path=ibdata1:3M;ibdata2:10M:autoextend, page 192 should be the very first page of the file ibdata2. But the message always refers to the first file of the tablespace. (Some other InnoDB error message displays the page number relative to the start of the file, but here 192 is correct, because the hex dump shows the same page number (000000c0) at bytes 4‥7.)

            The code that I removed should have removed a write to the first page of ibdata1 only. The initial MDEV-12113 commit removed the (very wrong) write to the first page of ibdata2 already. I believe that my code removal should not affect the reproducibility of this problem.

            marko Marko Mäkelä added a comment - The error log message somewhat misleadingly says: 2017-12-15 9:39:29 139895452108160 [ERROR] InnoDB: Database page corruption on disk or a failed file read of tablespace ./ibdata1 page [page id: space=0, page number=192]. You may have to recover from a backup. It is the system tablespace, but assuming innodb_page_size=16384 (the default) and innodb_data_file_path=ibdata1:3M;ibdata2:10M:autoextend , page 192 should be the very first page of the file ibdata2 . But the message always refers to the first file of the tablespace. (Some other InnoDB error message displays the page number relative to the start of the file, but here 192 is correct, because the hex dump shows the same page number ( 000000c0 ) at bytes 4‥7.) The code that I removed should have removed a write to the first page of ibdata1 only. The initial MDEV-12113 commit removed the (very wrong) write to the first page of ibdata2 already. I believe that my code removal should not affect the reproducibility of this problem.

            Found offending commit by bisecting:

            d27ce36bc807f0c3c803e192ad1851f7f86a0 is the first bad commit
            commit 352d27ce36bc807f0c3c803e192ad1851f7f86a0
            Author: Jan Lindström <jan.lindstrom@mariadb.com>
            Date:   Tue Aug 29 14:23:34 2017 +0300
             
                MDEV-13557: Startup failure, unable to decrypt ibdata1
            

            jplindst Jan Lindström (Inactive) added a comment - Found offending commit by bisecting: d27ce36bc807f0c3c803e192ad1851f7f86a0 is the first bad commit commit 352d27ce36bc807f0c3c803e192ad1851f7f86a0 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Aug 29 14:23:34 2017 +0300   MDEV-13557: Startup failure, unable to decrypt ibdata1

            jplindst, please close this ticket and file a new one for the regression, linked as "related to" this one and linked as "caused by" MDEV-13557. The bug was originally fixed in MariaDB 10.1.25, 10.2.7, 10.3.1. The regression that you mention was introduced in MariaDB 10.1.27, 10.2.9, 10.3.2 (two minor 10.1 and 10.2 releases later). A proper test case would have caught this regression on Buildbot.

            marko Marko Mäkelä added a comment - jplindst , please close this ticket and file a new one for the regression, linked as "related to" this one and linked as "caused by" MDEV-13557 . The bug was originally fixed in MariaDB 10.1.25, 10.2.7, 10.3.1 . The regression that you mention was introduced in MariaDB 10.1.27, 10.2.9, 10.3.2 (two minor 10.1 and 10.2 releases later). A proper test case would have caught this regression on Buildbot.

            People

              jplindst Jan Lindström (Inactive)
              anikitin Andrii Nikitin (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.