Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pYKwE-0003M1-Rt for pgsql-bugs@arkaria.postgresql.org; Sat, 04 Mar 2023 06:00:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pYKwD-0004JD-I6 for pgsql-bugs@arkaria.postgresql.org; Sat, 04 Mar 2023 06:00:09 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pYKwC-0004J2-UK for pgsql-bugs@lists.postgresql.org; Sat, 04 Mar 2023 06:00:09 +0000 Received: from mail-lf1-x12e.google.com ([2a00:1450:4864:20::12e]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1pYKw9-0005ak-Kv for pgsql-bugs@lists.postgresql.org; Sat, 04 Mar 2023 06:00:07 +0000 Received: by mail-lf1-x12e.google.com with SMTP id i9so6237988lfc.6 for ; Fri, 03 Mar 2023 22:00:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677909603; h=in-reply-to:from:references:to:content-language:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=9Z8t5F3rd7KU0p5CGfhN08/BWZ+InYFSjexXSb28Hi0=; b=pYvG7KDb44w2USaVWmgpyF3l+7Nf0UzQ7Fq7jmllqx9HkXHe01g0uFE/smAqoE3uad TpBdDsJCoPaSz56rvuQkjT499DaX7E/0BoM2fO6ASKHkuqmj/Qp0Ni10oojBXNFxiSHD 63vaCpv8zJivAkmriY06RAseukU4LZeIRFNQmmhE9yq1UfSSpFLmnzUPvUuTaWdJ4/ks IXkV+El0LnG2LYH7urP3QY5fKfo1nuA+2BMTkh8txi7ylA0Hcu1X3lead2KwnPxYgXCo hYqT+tz+r0eJ4VOOv4DABNfn+nDWScG+KSBB1VHpi9eoy5lyVFadRfebfVErmA03n3CK 5QmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677909603; h=in-reply-to:from:references:to:content-language:subject:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=9Z8t5F3rd7KU0p5CGfhN08/BWZ+InYFSjexXSb28Hi0=; b=cREhcvTMIdulhe6vX8fpT//XeWP2NcWI6h0YEmnDIqbHprToebONy1el+kcY2mR7MK MdenuvOCO1kUsSEBF35gImZlqfBxd9S5TBRKp2qOPyn/lsD/vims6flOm71m58JXLjrx GNjhLtvj7htL58ryyXpkwQWuFeGzeS1oqRVwingFcuCXUBIgd/sVPmhKBUOe5d421vVd RT9vgnD3gXDsPhZlzl0GvUWz9nWp1RaQDYR4kqZ/8OhrS8GxCAsIBdD4kIT4Rse4TUEk werrRQFhGAMyo0iAmcP5RSAUAjQ0kQFvjMGw3F2TKkm1wdQI1HKDIJYgILiTlhPzxzhu iXfw== X-Gm-Message-State: AO0yUKXvBDkg6swJp4kWECZqBQAA8l7D78CLBnxbc+N7ZSusOCppaeCa 6fHVIBhvHVqWs4Hdy5U50I7Ehd6dT0A= X-Google-Smtp-Source: AK7set+kUeC3G0OrQq6FSEolVuIluyOwWTMdRBQNDjyI3oUOoKdnDwQnOQPjgYIFGWhFgTaLGxI7Rg== X-Received: by 2002:ac2:598b:0:b0:4db:513b:6ef4 with SMTP id w11-20020ac2598b000000b004db513b6ef4mr1227935lfn.11.1677909602961; Fri, 03 Mar 2023 22:00:02 -0800 (PST) Received: from [1.0.0.7] ([178.155.5.178]) by smtp.gmail.com with ESMTPSA id t1-20020a19ad01000000b004dafde0e7b7sm697590lfc.279.2023.03.03.22.00.01 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 03 Mar 2023 22:00:01 -0800 (PST) Content-Type: multipart/mixed; boundary="------------equ0Qk55YS5j1YOgyHMaFlM5" Message-ID: <13d30799-0107-6502-c81c-39ff5f1e7eb0@gmail.com> Date: Sat, 4 Mar 2023 09:00:00 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: BUG #17821: Assertion failed in heap_update() due to heap pruning Content-Language: en-US To: pgsql-bugs@lists.postgresql.org References: <17821-dd8c334263399284@postgresql.org> From: Alexander Lakhin In-Reply-To: <17821-dd8c334263399284@postgresql.org> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------equ0Qk55YS5j1YOgyHMaFlM5 Content-Type: multipart/alternative; boundary="------------raLuoSW6aDMA9nSR9lp98CAl" --------------raLuoSW6aDMA9nSR9lp98CAl Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit 02.03.2023 16:00, PG Bug reporting form wrote: > #5 0x0000556725c44981 in ExceptionalCondition > (conditionName=conditionName@entry=0x556725dc6b00 "ItemIdIsNormal(lp)", > fileName=fileName@entry=0x556725dc48e0 "heapam.c", > lineNumber=lineNumber@entry=3024) at assert.c:66 > ... > 2023-03-02 15:22:13.031 MSK|law|test1|640094f5.1ba5ac|LOG: > ExecuteGrantStmt(): before objectNamesToOids() > 2023-03-02 15:22:13.031 MSK|law|test1|640094f5.1ba5ac|STATEMENT: GRANT ALL > ON pg_class TO public; > 2023-03-02 15:22:13.031 MSK|law|test1|640094f5.1ba5ac|LOG: > heap_page_prune_execute() before ItemIdSetUnused(); buffer: 2012, off: 24 > 2023-03-02 15:22:13.031 MSK|law|test1|640094f5.1ba5ac|STATEMENT: GRANT ALL > ON pg_class TO public; > ... > > So it looks like the session 1ba5ac made linepointer 24 unused while > pruning in the guts of objectNamesToOids(), then got the same > offset (24) from the SearchSysCache1() and finally was surprised > inside heap_update() to see an unused line pointer. > This raises two questions for me. > 1) Was it legal to prune that linepointer (what if ExecGrant do not > perform > heap_modify_tuple() in this case, will an unused line pointer be left > behind?)? > 2) Should page pruning be reflected in SysCache somehow? Further investigation gave me a positive answer to the first question. With more debug logging added I see that when that pruning executed there was a redirection happened. There was dead items found in a tuple chain starting from position 22, and redirection 22 -> 25 was performed, so item 24 became unused. The fragment of the detailed log is attached, and also you can look at a dump of the modified page at the moment of the Assert. SELECT * from heap_page_item_attrs(pg_read_binary_file('page.bin'), 1259::oid, true); shows: ...  21 |   3600 |        1 |    225 |    680 |      0 |        0 | (10,21) |          33 |      11011 |     32 | 1111111111111111111111111111111000000000 |       | ...  22 |     25 |        2 |      0 |        |        | |         |             |            | |                                          |       |  23 |      0 |        3 |      0 |        |        | |         |             |            | |                                          |       |  24 |      0 |        0 |      0 |        |        | |         |             |            | |                                          |       |  25 |   3368 |        1 |    225 | 222501 |      0 |        0 | (10,25) |       32801 |      10499 |     32 | 1111111111111111111111111111111000000000 |       | ... (25 rows) So we have only the second question left. Best regards, Alexander --------------raLuoSW6aDMA9nSR9lp98CAl Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit
02.03.2023 16:00, PG Bug reporting form wrote:
#5  0x0000556725c44981 in ExceptionalCondition
(conditionName=conditionName@entry=0x556725dc6b00 "ItemIdIsNormal(lp)",
fileName=fileName@entry=0x556725dc48e0 "heapam.c",
lineNumber=lineNumber@entry=3024) at assert.c:66
...
2023-03-02 15:22:13.031 MSK|law|test1|640094f5.1ba5ac|LOG: 
ExecuteGrantStmt(): before objectNamesToOids()
2023-03-02 15:22:13.031 MSK|law|test1|640094f5.1ba5ac|STATEMENT:  GRANT ALL
ON pg_class TO public;
2023-03-02 15:22:13.031 MSK|law|test1|640094f5.1ba5ac|LOG: 
heap_page_prune_execute() before ItemIdSetUnused(); buffer: 2012, off: 24
2023-03-02 15:22:13.031 MSK|law|test1|640094f5.1ba5ac|STATEMENT:  GRANT ALL
ON pg_class TO public;
...

So it looks like the session 1ba5ac made linepointer 24 unused while
pruning in the guts of objectNamesToOids(), then got the same
offset (24) from the SearchSysCache1() and finally was surprised
inside heap_update() to see an unused line pointer.
This raises two questions for me.
1) Was it legal to prune that linepointer (what if ExecGrant do not
perform
heap_modify_tuple() in this case, will an unused line pointer be left
behind?)?
2) Should page pruning be reflected in SysCache somehow?

Further investigation gave me a positive answer to the first question.
With more debug logging added I see that when that pruning executed
there was a redirection happened. There was dead items found in a tuple
chain starting from position 22, and redirection 22 -> 25 was performed,
so item 24 became unused.
The fragment of the detailed log is attached, and also you can look at
a dump of the modified page at the moment of the Assert.

SELECT * from heap_page_item_attrs(pg_read_binary_file('page.bin'), 1259::oid, true);
shows:
...
 21 |   3600 |        1 |    225 |    680 |      0 |        0 | (10,21) |          33 |      11011 |     32 | 1111111111111111111111111111111000000000 |       | ...
 22 |     25 |        2 |      0 |        |        |          |         |             |            |        |                                          |       |
 23 |      0 |        3 |      0 |        |        |          |         |             |            |        |                                          |       |
 24 |      0 |        0 |      0 |        |        |          |         |             |            |        |                                          |       |
 25 |   3368 |        1 |    225 | 222501 |      0 |        0 | (10,25) |       32801 |      10499 |     32 | 1111111111111111111111111111111000000000 |       | ...
(25 rows)

So we have only the second question left.

Best regards,
Alexander
--------------raLuoSW6aDMA9nSR9lp98CAl-- --------------equ0Qk55YS5j1YOgyHMaFlM5 Content-Type: text/x-log; charset=UTF-8; name="server.log" Content-Disposition: attachment; filename="server.log" Content-Transfer-Encoding: base64 MjAyMy0wMy0wNCAwNjo1NzoxNC44MzQgTVNLfGxhd3x0ZXN0MXw2NDAyYzE5YS4xZTJiYmN8 TE9HOiAgY29ubmVjdGlvbiBhdXRob3JpemVkOiB1c2VyPWxhdyBkYXRhYmFzZT10ZXN0MSBh cHBsaWNhdGlvbl9uYW1lPXBzcWwKMjAyMy0wMy0wNCAwNjo1NzoxNC44MzQgTVNLfGxhd3x0 ZXN0MXw2NDAyYzE5YS4xZTJiYmR8TE9HOiAgY29ubmVjdGlvbiBhdXRob3JpemVkOiB1c2Vy PWxhdyBkYXRhYmFzZT10ZXN0MSBhcHBsaWNhdGlvbl9uYW1lPXBzcWwKMjAyMy0wMy0wNCAw Njo1NzoxNC44MzggTVNLfGxhd3x0ZXN0MXw2NDAyYzE5YS4xZTJiYmR8TE9HOiAgc3RhdGVt ZW50OiBHUkFOVCBBTEwgT04gcGdfY2xhc3MgVE8gcHVibGljOwoyMDIzLTAzLTA0IDA2OjU3 OjE0LjgzOCBNU0t8bGF3fHRlc3QxfDY0MDJjMTlhLjFlMmJiZHxMT0c6ICBFeGVjdXRlR3Jh bnRTdG10KCk6IGJlZm9yZSBvYmplY3ROYW1lc1RvT2lkcygpCjIwMjMtMDMtMDQgMDY6NTc6 MTQuODM4IE1TS3xsYXd8dGVzdDF8NjQwMmMxOWEuMWUyYmJkfFNUQVRFTUVOVDogIEdSQU5U IEFMTCBPTiBwZ19jbGFzcyBUTyBwdWJsaWM7CjIwMjMtMDMtMDQgMDY6NTc6MTQuODM4IE1T S3xsYXd8dGVzdDF8NjQwMmMxOWEuMWUyYmJkfExPRzogIEV4ZWN1dGVHcmFudFN0bXQoKTog YWZ0ZXIgb2JqZWN0TmFtZXNUb09pZHMoKQoyMDIzLTAzLTA0IDA2OjU3OjE0LjgzOCBNU0t8 bGF3fHRlc3QxfDY0MDJjMTlhLjFlMmJiZHxTVEFURU1FTlQ6ICBHUkFOVCBBTEwgT04gcGdf Y2xhc3MgVE8gcHVibGljOwoyMDIzLTAzLTA0IDA2OjU3OjE0LjgzOCBNU0t8bGF3fHRlc3Qx fDY0MDJjMTlhLjFlMmJiZHxMT0c6ICBFeGVjR3JhbnRfUmVsYXRpb24oKSBhZnRlciBTZWFy Y2hTeXNDYWNoZTEoKTsgSXRlbVBvaW50ZXJHZXRPZmZzZXROdW1iZXIoJnR1cGxlLT50X3Nl bGYpOiAyNAoyMDIzLTAzLTA0IDA2OjU3OjE0LjgzOCBNU0t8bGF3fHRlc3QxfDY0MDJjMTlh LjFlMmJiZHxTVEFURU1FTlQ6ICBHUkFOVCBBTEwgT04gcGdfY2xhc3MgVE8gcHVibGljOwoy MDIzLTAzLTA0IDA2OjU3OjE0LjgzOCBNU0t8bGF3fHRlc3QxfDY0MDJjMTlhLjFlMmJiZHxM T0c6ICBFeGVjR3JhbnRfUmVsYXRpb25pKCk6IGJlZm9yZSBDYXRhbG9nVHVwbGVVcGRhdGUo KTsgSXRlbVBvaW50ZXJHZXRPZmZzZXROdW1iZXIoJm5ld3R1cGxlLT50X3NlbGYpOiAyNAoy MDIzLTAzLTA0IDA2OjU3OjE0LjgzOCBNU0t8bGF3fHRlc3QxfDY0MDJjMTlhLjFlMmJiZHxT VEFURU1FTlQ6ICBHUkFOVCBBTEwgT04gcGdfY2xhc3MgVE8gcHVibGljOwoyMDIzLTAzLTA0 IDA2OjU3OjE0LjgzOCBNU0t8bGF3fHRlc3QxfDY0MDJjMTlhLjFlMmJiZHxMT0c6ICBoZWFw X3VwZGF0ZSgpOiBhZnRlciBSZWFkQnVmZmVyKCk7IGJ1ZmZlcjogMjAxNCwgSXRlbVBvaW50 ZXJHZXRPZmZzZXROdW1iZXIob3RpZCk6IDI0CjIwMjMtMDMtMDQgMDY6NTc6MTQuODM4IE1T S3xsYXd8dGVzdDF8NjQwMmMxOWEuMWUyYmJkfFNUQVRFTUVOVDogIEdSQU5UIEFMTCBPTiBw Z19jbGFzcyBUTyBwdWJsaWM7CjIwMjMtMDMtMDQgMDY6NTc6MTQuODM4IE1TS3xsYXd8dGVz dDF8NjQwMmMxOWEuMWUyYmJkfExPRzogIGhlYXBfdXBkYXRlKCk6IGFmdGVyIFBhZ2VHZXRJ dGVtSWQoKTsgSXRlbVBvaW50ZXJHZXRPZmZzZXROdW1iZXIob3RpZCk6IDI0LCBscC0+bHBf ZmxhZ3M6IDEKMjAyMy0wMy0wNCAwNjo1NzoxNC44MzggTVNLfGxhd3x0ZXN0MXw2NDAyYzE5 YS4xZTJiYmR8U1RBVEVNRU5UOiAgR1JBTlQgQUxMIE9OIHBnX2NsYXNzIFRPIHB1YmxpYzsK MjAyMy0wMy0wNCAwNjo1NzoxNC44MzggTVNLfGxhd3x0ZXN0MXw2NDAyYzE5YS4xZTJiYmN8 TE9HOiAgc3RhdGVtZW50OiBHUkFOVCBBTEwgT04gcGdfY2xhc3MgVE8gcHVibGljOwoyMDIz LTAzLTA0IDA2OjU3OjE0LjgzOCBNU0t8bGF3fHRlc3QxfDY0MDJjMTlhLjFlMmJiY3xMT0c6 ICBFeGVjdXRlR3JhbnRTdG10KCk6IGJlZm9yZSBvYmplY3ROYW1lc1RvT2lkcygpCjIwMjMt MDMtMDQgMDY6NTc6MTQuODM4IE1TS3xsYXd8dGVzdDF8NjQwMmMxOWEuMWUyYmJjfFNUQVRF TUVOVDogIEdSQU5UIEFMTCBPTiBwZ19jbGFzcyBUTyBwdWJsaWM7CjIwMjMtMDMtMDQgMDY6 NTc6MTQuODM4IE1TS3xsYXd8dGVzdDF8NjQwMmMxOWEuMWUyYmJjfExPRzogIGhlYXBfcHJ1 bmVfY2hhaW4oKSBiZWZvcmUgaGVhcF9wcnVuZV9yZWNvcmRfdW51c2VkKCkgMjsgbmNoYWlu OiAzLCBjaGFpbml0ZW1zWzBdOiAyMiwgbGF0ZXN0ZGVhZDogMjQsIGNoYWluaXRlbXNbMV06 IDI0CjIwMjMtMDMtMDQgMDY6NTc6MTQuODM4IE1TS3xsYXd8dGVzdDF8NjQwMmMxOWEuMWUy YmJjfFNUQVRFTUVOVDogIEdSQU5UIEFMTCBPTiBwZ19jbGFzcyBUTyBwdWJsaWM7CjIwMjMt MDMtMDQgMDY6NTc6MTQuODM4IE1TS3xsYXd8dGVzdDF8NjQwMmMxOWEuMWUyYmJjfExPRzog IGhlYXBfcHJ1bmVfY2hhaW4oKSBiZWZvcmUgaGVhcF9wcnVuZV9yZWNvcmRfcmVkaXJlY3Qo KTsgaTogMiwgbmNoYWluOiAzLCByb290b2ZmbnVtOiAyMiwgY2hhaW5pdGVtc1syXTogMjUK MjAyMy0wMy0wNCAwNjo1NzoxNC44MzggTVNLfGxhd3x0ZXN0MXw2NDAyYzE5YS4xZTJiYmN8 U1RBVEVNRU5UOiAgR1JBTlQgQUxMIE9OIHBnX2NsYXNzIFRPIHB1YmxpYzsKMjAyMy0wMy0w NCAwNjo1NzoxNC44MzggTVNLfGxhd3x0ZXN0MXw2NDAyYzE5YS4xZTJiYmN8TE9HOiAgaGVh cF9wYWdlX3BydW5lKCkgYmVmb3JlIGhlYXBfcGFnZV9wcnVuZV9leGVjdXRlKCk7IGJ1ZmZl cjogMjAxNCwgQnVmZmVyR2V0QmxvY2tOdW1iZXIoYnVmZmVyKTogMTAsIHByc3RhdGUubnJl ZGlyZWN0ZWQ6IDEsIHByc3RhdGUubmRlYWQ6IDAsIHByc3RhdGUubnVudXNlZDogMSwgcHJz dGF0ZS5ub3d1bnVzZWRbMF06IDI0CjIwMjMtMDMtMDQgMDY6NTc6MTQuODM4IE1TS3xsYXd8 dGVzdDF8NjQwMmMxOWEuMWUyYmJjfFNUQVRFTUVOVDogIEdSQU5UIEFMTCBPTiBwZ19jbGFz cyBUTyBwdWJsaWM7CjIwMjMtMDMtMDQgMDY6NTc6MTQuODM4IE1TS3xsYXd8dGVzdDF8NjQw MmMxOWEuMWUyYmJjfExPRzogIGhlYXBfcGFnZV9wcnVuZV9leGVjdXRlKCkgYmVmb3JlIEl0 ZW1JZFNldFJlZGlyZWN0KCk7IGJ1ZmZlcjogMjAxNCwgZnJvbW9mZjogMjIsIHRvb2ZmOiAy NSwgZnJvbWxwOiAweDdmYWM5MjA1YWM2YwoyMDIzLTAzLTA0IDA2OjU3OjE0LjgzOCBNU0t8 bGF3fHRlc3QxfDY0MDJjMTlhLjFlMmJiY3xTVEFURU1FTlQ6ICBHUkFOVCBBTEwgT04gcGdf Y2xhc3MgVE8gcHVibGljOwoyMDIzLTAzLTA0IDA2OjU3OjE0LjgzOCBNU0t8bGF3fHRlc3Qx fDY0MDJjMTlhLjFlMmJiY3xMT0c6ICBoZWFwX3BhZ2VfcHJ1bmVfZXhlY3V0ZSgpIGJlZm9y ZSBJdGVtSWRTZXRVbnVzZWQoKTsgYnVmZmVyOiAyMDE0LCBvZmY6IDI0LCBscDogMHg3ZmFj OTIwNWFjNzQKMjAyMy0wMy0wNCAwNjo1NzoxNC44MzggTVNLfGxhd3x0ZXN0MXw2NDAyYzE5 YS4xZTJiYmN8U1RBVEVNRU5UOiAgR1JBTlQgQUxMIE9OIHBnX2NsYXNzIFRPIHB1YmxpYzsK MjAyMy0wMy0wNCAwNjo1NzoxNC44MzggTVNLfGxhd3x0ZXN0MXw2NDAyYzE5YS4xZTJiYmN8 TE9HOiAgRXhlY3V0ZUdyYW50U3RtdCgpOiBhZnRlciBvYmplY3ROYW1lc1RvT2lkcygpCjIw MjMtMDMtMDQgMDY6NTc6MTQuODM4IE1TS3xsYXd8dGVzdDF8NjQwMmMxOWEuMWUyYmJjfFNU QVRFTUVOVDogIEdSQU5UIEFMTCBPTiBwZ19jbGFzcyBUTyBwdWJsaWM7CjIwMjMtMDMtMDQg MDY6NTc6MTQuODM4IE1TS3xsYXd8dGVzdDF8NjQwMmMxOWEuMWUyYmJjfExPRzogIEV4ZWNH cmFudF9SZWxhdGlvbigpIGFmdGVyIFNlYXJjaFN5c0NhY2hlMSgpOyBJdGVtUG9pbnRlckdl dE9mZnNldE51bWJlcigmdHVwbGUtPnRfc2VsZik6IDI0CjIwMjMtMDMtMDQgMDY6NTc6MTQu ODM4IE1TS3xsYXd8dGVzdDF8NjQwMmMxOWEuMWUyYmJjfFNUQVRFTUVOVDogIEdSQU5UIEFM TCBPTiBwZ19jbGFzcyBUTyBwdWJsaWM7CjIwMjMtMDMtMDQgMDY6NTc6MTQuODM4IE1TS3xs YXd8dGVzdDF8NjQwMmMxOWEuMWUyYmJjfExPRzogIEV4ZWNHcmFudF9SZWxhdGlvbmkoKTog YmVmb3JlIENhdGFsb2dUdXBsZVVwZGF0ZSgpOyBJdGVtUG9pbnRlckdldE9mZnNldE51bWJl cigmbmV3dHVwbGUtPnRfc2VsZik6IDI0CjIwMjMtMDMtMDQgMDY6NTc6MTQuODM4IE1TS3xs YXd8dGVzdDF8NjQwMmMxOWEuMWUyYmJjfFNUQVRFTUVOVDogIEdSQU5UIEFMTCBPTiBwZ19j bGFzcyBUTyBwdWJsaWM7CjIwMjMtMDMtMDQgMDY6NTc6MTQuODM4IE1TS3xsYXd8dGVzdDF8 NjQwMmMxOWEuMWUyYmJjfExPRzogIGhlYXBfdXBkYXRlKCk6IGFmdGVyIFJlYWRCdWZmZXIo KTsgYnVmZmVyOiAyMDE0LCBJdGVtUG9pbnRlckdldE9mZnNldE51bWJlcihvdGlkKTogMjQK MjAyMy0wMy0wNCAwNjo1NzoxNC44MzggTVNLfGxhd3x0ZXN0MXw2NDAyYzE5YS4xZTJiYmN8 U1RBVEVNRU5UOiAgR1JBTlQgQUxMIE9OIHBnX2NsYXNzIFRPIHB1YmxpYzsKMjAyMy0wMy0w NCAwNjo1NzoxNC44MzggTVNLfGxhd3x0ZXN0MXw2NDAyYzE5YS4xZTJiYmN8TE9HOiAgaGVh cF91cGRhdGUoKTogYWZ0ZXIgUGFnZUdldEl0ZW1JZCgpOyBJdGVtUG9pbnRlckdldE9mZnNl dE51bWJlcihvdGlkKTogMjQsIGxwLT5scF9mbGFnczogMAoyMDIzLTAzLTA0IDA2OjU3OjE0 LjgzOCBNU0t8bGF3fHRlc3QxfDY0MDJjMTlhLjFlMmJiY3xTVEFURU1FTlQ6ICBHUkFOVCBB TEwgT04gcGdfY2xhc3MgVE8gcHVibGljOwpUUkFQOiBmYWlsZWQgQXNzZXJ0KCJJdGVtSWRJ c05vcm1hbChscCkiKSwgRmlsZTogImhlYXBhbS5jIiwgTGluZTogMzAyNSwgUElEOiAxOTc3 Mjc2Cg== --------------equ0Qk55YS5j1YOgyHMaFlM5 Content-Type: application/octet-stream; name="page.bin" Content-Disposition: attachment; filename="page.bin" Content-Transfer-Encoding: base64 AAAAADhHzQYAAAEAfAAoDQAgBCAAAAAAGJ/CATCewgFIncIBYJzCAXibwgGQmsIB4JlYAfiY wgFImFgBYJfCAbCWWAHIlcIB4JTCATCUWAFIk8IBYJLCAbCRWAHIkMIB4I/CAfiOwgEQjsIB GQABAACAAQAAAAAAKI3CAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 AABlbGVtZW50X3R5cGVzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAqTAAAMkxAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAIC/AAAAAAAA AAAAAHB2HQAAAAEAAAAAAW4AAAAAAAAAAAAAAAAAawEAAAAAAAAACQQAAAIAAAABAAAACgAA AAoAAAB/QAAAAAAAAAAAAAAKAAAAAgAAAAAAAAAAAAAAAAAAkgIAAAAAAAABAAAAAAAKAAcA IQABKyD///8/AAAAAADMMQAAX3BnX2ZvcmVpZ25fdGFibGVfY29sdW1ucwAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKkwAADOMQAAAAAAAAoAAAAAAAAAAAAAAAAA AAAAAAAAAACAvwAAAAAAAAAAAABwdgQAAAABAAAAAAFuAAAAAAAAAAAAAAAAAAAAAACPAgAA AAAAAAAAAAAAAAoABgAhAAMrIP///38AAAAAAMIxAABkYXRhX3R5cGVfcHJpdmlsZWdlcwAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqTAAAMQxAAAAAAAA CgAAAAAAAAAAAAAAAAAAAAAAAAAAAIC/AAAAAAAAAAAAAHB2BQAAAAEAAAAAAW4AAAAAAAAA AAAAAAAAawEAAAAAAAAACQQAAAIAAAABAAAACgAAAAoAAAB/QAAAAAAAAAAAAAAKAAAAAgAA AAAAAAAAAAAAAAAAjQIAAAAAAAAAAAAAAAAKAAUAIQADKyD///9/AAAAAAC9MQAAdmlld3MA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAKkwAAC/MQAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAACAvwAAAAAAAAAAAABwdgoA AAABAAAAAAFuAAAAAAAAAAAAAAAAAGsBAAAAAAAAAAkEAAACAAAAAQAAAAoAAAAKAAAAf0AA AAAAAAAAAAAACgAAAAIAAAAAAAAAAAAAAAAAAIsCAAAAAAAAAAAAAAAACgAEACEAAysg//// fwAAAAAAuDEAAHZpZXdfdGFibGVfdXNhZ2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAACpMAAAujEAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAA gL8AAAAAAAAAAAAAcHYGAAAAAQAAAAABbgAAAAAAAAAAAAAAAABrAQAAAAAAAAAJBAAAAgAA AAEAAAAKAAAACgAAAH9AAAAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAACJAgAAAAAAAAAA AAAAAAoAAwAhAAMrIP///38AAAAAALMxAAB2aWV3X3JvdXRpbmVfdXNhZ2UAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqTAAALUxAAAAAAAACgAAAAAA AAAAAAAAAAAAAAAAAAAAAIC/AAAAAAAAAAAAAHB2BgAAAAEAAAAAAW4AAAAAAAAAAAAAAAAA awEAAAAAAAAACQQAAAIAAAABAAAACgAAAAoAAAB/QAAAAAAAAAAAAAAKAAAAAgAAAAAAAAAA AAAAAAAAhwIAAAAAAAAAAAAAAAAKAAIAIQADKyD///9/AAAAAACuMQAAdmlld19jb2x1bW5f dXNhZ2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKkw AACwMQAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAACAvwAAAAAAAAAAAABwdgcAAAABAAAA AAFuAAAAAAAAAAAAAAAAAGsBAAAAAAAAAAkEAAACAAAAAQAAAAoAAAAKAAAAf0AAAAAAAAAA AAAACgAAAAIAAAAAAAAAAAAAAAAAAIUCAAAAAAAAAAAAAAAACgABACEAAysg////fwAAAAAA qTEAAHVzZXJfZGVmaW5lZF90eXBlcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAACpMAAAqzEAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAgL8AAAAA AAAAAAAAcHYdAAAAAQAAAAABbgAAAAAAAAAAAAAAAABrAQAAAAAAAAAJBAAAAgAAAAEAAAAK AAAACgAAAH9AAAAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAAA= --------------equ0Qk55YS5j1YOgyHMaFlM5--