Bug 10467

Summary: [arm] [3.3/3.4 regression] ICE in pre_insert_copy_insn,
Product: gcc Reporter: lzhen
Component: targetAssignee: Not yet assigned to anyone <unassigned>
Status: RESOLVED FIXED    
Severity: normal CC: dwelch, gcc-bugs, lzhen
Priority: P2 Keywords: ice-on-valid-code
Version: 3.2   
Target Milestone: 3.3.3   
Host: i686-pc-cygwin Target: arm-unknown-elf
Build: i686-pc-cygwin Known to work:
Known to fail: Last reconfirmed: 2003-05-25 13:36:34
Attachments: dhry_1.c
dhry_1.i
reduced testcase.i

Description lzhen 2003-04-23 17:46:00 UTC
/usr/arm-elf/bin/gcc -c -I./.. -I./../../../../h -I./../../../../h/threadx -I./../../../..
/h/tcpip -I./../pbuilder -I./../../../rphttpd -I./../../../bsp/customize -I./../../../bsp
-g -O2 -mbig-endian -mcpu=arm7tdmi -mthumb -mthumb-interwork -D__THUMB -D__GNU__ -DNETOS_G
NU_TOOLS -DNET_OS -DNET_WORKS -D_POSIX_SOURCE  ./../dhry_1.c -o objs/dhry_1.o
../dhry_1.c: In function `Proc_1':
../dhry_1.c:386: Internal compiler error in pre_insert_copy_insn, at gcse.c:4859
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
make: *** [objs/dhry_1.o] Error 1

Release:
unknown

Environment:
windows 2000
Comment 1 Wolfgang Bangerth 2003-04-23 17:57:44 UTC
State-Changed-From-To: open->feedback
State-Changed-Why: You didn't send _preprocessed_ sources, and you also didn't
    say which version of gcc you are using. Please review the
    web page that is listed in the error message.
    
    Thanks 
      Wolfgang
Comment 2 lzhen 2003-04-24 13:19:41 UTC
From: "Zhen, Li" <LZhen@NetSilicon.com>
To: <bangerth@dealii.org>,
	<gcc-bugs@gcc.gnu.org>,
	<gcc-prs@gcc.gnu.org>,
	"Zhen, Li" <LZhen@NetSilicon.com>,
	<nobody@gcc.gnu.org>,
	<gcc-gnats@gcc.gnu.org>
Cc:  
Subject: RE: c/10467: internal compiler error
Date: Thu, 24 Apr 2003 13:19:41 -0400

 This is a multi-part message in MIME format.
 
 ------_=_NextPart_001_01C30A85.B113E427
 Content-Type: text/plain;
 	charset="iso-8859-1"
 Content-Transfer-Encoding: quoted-printable
 
 Sorry, the gcc version is 3.2, and the preprocessed file is attached:
 
 THANKS,=20
 
 Li
 
 
 -----Original Message-----
 From: bangerth@dealii.org [mailto:bangerth@dealii.org]
 Sent: Wednesday, April 23, 2003 1:58 PM
 To: gcc-bugs@gcc.gnu.org; gcc-prs@gcc.gnu.org; Zhen, Li;
 nobody@gcc.gnu.org
 Subject: Re: c/10467: internal compiler error
 
 
 Synopsis: internal compiler error
 
 State-Changed-From-To: open->feedback
 State-Changed-By: bangerth
 State-Changed-When: Wed Apr 23 17:57:44 2003
 State-Changed-Why:
     You didn't send _preprocessed_ sources, and you also didn't
     say which version of gcc you are using. Please review the
     web page that is listed in the error message.
    =20
     Thanks=20
       Wolfgang
 
 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=3Dview%20audit-trail&database=3D=
 gcc&pr=3D10467
 
 ------_=_NextPart_001_01C30A85.B113E427
 Content-Type: application/octet-stream;
 	name="dhry_1.i"
 Content-Transfer-Encoding: base64
 Content-Description: dhry_1.i
 Content-Disposition: attachment;
 	filename="dhry_1.i"
 
 IyAxICIuLi9kaHJ5XzEuYyINCiMgMSAiPGJ1aWx0LWluPiINCiMgMSAiPGNvbW1hbmQgbGluZT4i
 DQojIDEgIi4uL2RocnlfMS5jIg0KIyA2MyAiLi4vZGhyeV8xLmMiDQojIDEgIi4uL2RocnkuaCIg
 MQ0KIyAzODAgIi4uL2RocnkuaCINCiAgdHlwZWRlZiBlbnVtIHtJZGVudF8xLCBJZGVudF8yLCBJ
 ZGVudF8zLCBJZGVudF80LCBJZGVudF81fQ0KICAgICAgICAgICAgICAgIEVudW1lcmF0aW9uOw0K
 DQoNCg0KDQoNCiMgMSAiL3Vzci9hcm0tZWxmL2luY2x1ZGUvc3RkaW8uaCIgMSAzIDQNCiMgMjkg
 Ii91c3IvYXJtLWVsZi9pbmNsdWRlL3N0ZGlvLmgiIDMgNA0KIyAxICIvdXNyL2FybS1lbGYvaW5j
 bHVkZS9fYW5zaS5oIiAxIDMgNA0KIyAxNSAiL3Vzci9hcm0tZWxmL2luY2x1ZGUvX2Fuc2kuaCIg
 MyA0DQojIDEgIi91c3IvYXJtLWVsZi9pbmNsdWRlL25ld2xpYi5oIiAxIDMgNA0KIyAxNiAiL3Vz
 ci9hcm0tZWxmL2luY2x1ZGUvX2Fuc2kuaCIgMiAzIDQNCiMgMSAiL3Vzci9hcm0tZWxmL2luY2x1
 ZGUvc3lzL2NvbmZpZy5oIiAxIDMgNA0KDQoNCg0KIyAxICIvdXNyL2FybS1lbGYvaW5jbHVkZS9t
 YWNoaW5lL2llZWVmcC5oIiAxIDMgNA0KIyA1ICIvdXNyL2FybS1lbGYvaW5jbHVkZS9zeXMvY29u
 ZmlnLmgiIDIgMyA0DQojIDE3ICIvdXNyL2FybS1lbGYvaW5jbHVkZS9fYW5zaS5oIiAyIDMgNA0K
 IyAzMCAiL3Vzci9hcm0tZWxmL2luY2x1ZGUvc3RkaW8uaCIgMiAzIDQNCg0KDQoNCg0KIyAxICIv
 dXNyL2xpYi9nY2MtbGliL2FybS1lbGYvMy4yL2luY2x1ZGUvc3RkZGVmLmgiIDEgMyA0DQojIDIw
 MSAiL3Vzci9saWIvZ2NjLWxpYi9hcm0tZWxmLzMuMi9pbmNsdWRlL3N0ZGRlZi5oIiAzIDQNCnR5
 cGVkZWYgbG9uZyB1bnNpZ25lZCBpbnQgc2l6ZV90Ow0KIyAzNSAiL3Vzci9hcm0tZWxmL2luY2x1
 ZGUvc3RkaW8uaCIgMiAzIDQNCg0KDQojIDEgIi91c3IvbGliL2djYy1saWIvYXJtLWVsZi8zLjIv
 aW5jbHVkZS9zdGRhcmcuaCIgMSAzIDQNCiMgNDMgIi91c3IvbGliL2djYy1saWIvYXJtLWVsZi8z
 LjIvaW5jbHVkZS9zdGRhcmcuaCIgMyA0DQp0eXBlZGVmIF9fYnVpbHRpbl92YV9saXN0IF9fZ251
 Y192YV9saXN0Ow0KIyAzOCAiL3Vzci9hcm0tZWxmL2luY2x1ZGUvc3RkaW8uaCIgMiAzIDQNCg0K
 DQoNCg0KDQoNCg0KIyAxICIvdXNyL2FybS1lbGYvaW5jbHVkZS9zeXMvcmVlbnQuaCIgMSAzIDQN
 CiMgMTQgIi91c3IvYXJtLWVsZi9pbmNsdWRlL3N5cy9yZWVudC5oIiAzIDQNCiMgMSAiL3Vzci9h
 cm0tZWxmL2luY2x1ZGUvc3lzL190eXBlcy5oIiAxIDMgNA0KIyAxMiAiL3Vzci9hcm0tZWxmL2lu
 Y2x1ZGUvc3lzL190eXBlcy5oIiAzIDQNCnR5cGVkZWYgbG9uZyBfb2ZmX3Q7DQpfX2V4dGVuc2lv
 bl9fIHR5cGVkZWYgbG9uZyBsb25nIF9vZmY2NF90Ow0KDQoNCnR5cGVkZWYgaW50IF9zc2l6ZV90
 Ow0KDQoNCg0KDQoNCiMgMSAiL3Vzci9saWIvZ2NjLWxpYi9hcm0tZWxmLzMuMi9pbmNsdWRlL3N0
 ZGRlZi5oIiAxIDMgNA0KIyAzMjEgIi91c3IvbGliL2djYy1saWIvYXJtLWVsZi8zLjIvaW5jbHVk
 ZS9zdGRkZWYuaCIgMyA0DQp0eXBlZGVmIHVuc2lnbmVkIGludCB3aW50X3Q7DQojIDIzICIvdXNy
 L2FybS1lbGYvaW5jbHVkZS9zeXMvX3R5cGVzLmgiIDIgMyA0DQoNCg0KdHlwZWRlZiBzdHJ1Y3QN
 CnsNCiAgaW50IF9fY291bnQ7DQogIHVuaW9uDQogIHsNCiAgICB3aW50X3QgX193Y2g7DQogICAg
 dW5zaWduZWQgY2hhciBfX3djaGJbNF07DQogIH0gX192YWx1ZTsNCn0gX21ic3RhdGVfdDsNCg0K
 dHlwZWRlZiBpbnQgX2Zsb2NrX3Q7DQojIDE1ICIvdXNyL2FybS1lbGYvaW5jbHVkZS9zeXMvcmVl
 bnQuaCIgMiAzIDQNCg0KDQoNCg0KdHlwZWRlZiB1bnNpZ25lZCBsb25nIF9fVUxvbmc7DQojIDQw
 ICIvdXNyL2FybS1lbGYvaW5jbHVkZS9zeXMvcmVlbnQuaCIgMyA0DQpzdHJ1Y3QgX0JpZ2ludA0K
 ew0KICBzdHJ1Y3QgX0JpZ2ludCAqX25leHQ7DQogIGludCBfaywgX21heHdkcywgX3NpZ24sIF93
 ZHM7DQogIF9fVUxvbmcgX3hbMV07DQp9Ow0KDQoNCnN0cnVjdCBfX3RtDQp7DQogIGludCBfX3Rt
 X3NlYzsNCiAgaW50IF9fdG1fbWluOw0KICBpbnQgX190bV9ob3VyOw0KICBpbnQgX190bV9tZGF5
 Ow0KICBpbnQgX190bV9tb247DQogIGludCBfX3RtX3llYXI7DQogIGludCBfX3RtX3dkYXk7DQog
 IGludCBfX3RtX3lkYXk7DQogIGludCBfX3RtX2lzZHN0Ow0KfTsNCiMgNjggIi91c3IvYXJtLWVs
 Zi9pbmNsdWRlL3N5cy9yZWVudC5oIiAzIDQNCnN0cnVjdCBfYXRleGl0IHsNCiAgICAgICAgc3Ry
 dWN0IF9hdGV4aXQgKl9uZXh0Ow0KICAgICAgICBpbnQgX2luZDsNCiAgICAgICAgdm9pZCAoKl9m
 bnNbMzJdKSh2b2lkKTsNCiAgICAgICAgdm9pZCAqX2ZuYXJnc1szMl07DQogICAgICAgIF9fVUxv
 bmcgX2ZudHlwZXM7DQp9Ow0KIyA5MSAiL3Vzci9hcm0tZWxmL2luY2x1ZGUvc3lzL3JlZW50Lmgi
 IDMgNA0Kc3RydWN0IF9fc2J1ZiB7DQogICAgICAgIHVuc2lnbmVkIGNoYXIgKl9iYXNlOw0KICAg
 ICAgICBpbnQgX3NpemU7DQp9Ow0KDQoNCg0KDQoNCg0KdHlwZWRlZiBsb25nIF9mcG9zX3Q7DQoj
 IDE1NiAiL3Vzci9hcm0tZWxmL2luY2x1ZGUvc3lzL3JlZW50LmgiIDMgNA0Kc3RydWN0IF9fc0ZJ
 TEUgew0KICB1bnNpZ25lZCBjaGFyICpfcDsNCiAgaW50IF9yOw0KICBpbnQgX3c7DQogIHNob3J0
 IF9mbGFnczsNCiAgc2hvcnQgX2ZpbGU7DQogIHN0cnVjdCBfX3NidWYgX2JmOw0KICBpbnQgX2xi
 ZnNpemU7DQoNCg0KDQoNCg0KDQogIHZvaWQgKiBfY29va2llOw0KDQogIGludCAoKl9yZWFkKSAo
 dm9pZCAqIF9jb29raWUsIGNoYXIgKl9idWYsIGludCBfbik7DQogIGludCAoKl93cml0ZSkgKHZv
 aWQgKiBfY29va2llLCBjb25zdCBjaGFyICpfYnVmLCBpbnQgX24pOw0KDQogIF9mcG9zX3QgKCpf
 c2VlaykgKHZvaWQgKiBfY29va2llLCBfZnBvc190IF9vZmZzZXQsIGludCBfd2hlbmNlKTsNCiAg
 aW50ICgqX2Nsb3NlKSAodm9pZCAqIF9jb29raWUpOw0KDQoNCiAgc3RydWN0IF9fc2J1ZiBfdWI7
 DQogIHVuc2lnbmVkIGNoYXIgKl91cDsNCiAgaW50IF91cjsNCg0KDQogIHVuc2lnbmVkIGNoYXIg
 X3VidWZbM107DQogIHVuc2lnbmVkIGNoYXIgX25idWZbMV07DQoNCg0KICBzdHJ1Y3QgX19zYnVm
 IF9sYjsNCg0KDQogIGludCBfYmxrc2l6ZTsNCiAgaW50IF9vZmZzZXQ7DQoNCg0KICBzdHJ1Y3Qg
 X3JlZW50ICpfZGF0YTsNCg0KDQoNCiAgX2Zsb2NrX3QgX2xvY2s7DQoNCn07DQojIDI0OSAiL3Vz
 ci9hcm0tZWxmL2luY2x1ZGUvc3lzL3JlZW50LmgiIDMgNA0KdHlwZWRlZiBzdHJ1Y3QgX19zRklM
 RSBfX0ZJTEU7DQoNCg0Kc3RydWN0IF9nbHVlDQp7DQogIHN0cnVjdCBfZ2x1ZSAqX25leHQ7DQog
 IGludCBfbmlvYnM7DQogIF9fRklMRSAqX2lvYnM7DQp9Ow0KIyAyODAgIi91c3IvYXJtLWVsZi9p
 bmNsdWRlL3N5cy9yZWVudC5oIiAzIDQNCnN0cnVjdCBfcmFuZDQ4IHsNCiAgdW5zaWduZWQgc2hv
 cnQgX3NlZWRbM107DQogIHVuc2lnbmVkIHNob3J0IF9tdWx0WzNdOw0KICB1bnNpZ25lZCBzaG9y
 dCBfYWRkOw0KDQoNCg0KDQp9Ow0KIyA1MzIgIi91c3IvYXJtLWVsZi9pbmNsdWRlL3N5cy9yZWVu
 dC5oIiAzIDQNCnN0cnVjdCBfcmVlbnQNCnsNCiAgaW50IF9lcnJubzsNCg0KDQoNCg0KICBfX0ZJ
 TEUgKl9zdGRpbiwgKl9zdGRvdXQsICpfc3RkZXJyOw0KDQogIGludCBfaW5jOw0KICBjaGFyIF9l
 bWVyZ2VuY3lbMjVdOw0KDQogIGludCBfY3VycmVudF9jYXRlZ29yeTsNCiAgY29uc3QgY2hhciAq
 X2N1cnJlbnRfbG9jYWxlOw0KDQogIGludCBfX3NkaWRpbml0Ow0KDQogIHZvaWQgKCpfX2NsZWFu
 dXApIChzdHJ1Y3QgX3JlZW50ICopOw0KDQoNCiAgc3RydWN0IF9CaWdpbnQgKl9yZXN1bHQ7DQog
 IGludCBfcmVzdWx0X2s7DQogIHN0cnVjdCBfQmlnaW50ICpfcDVzOw0KICBzdHJ1Y3QgX0JpZ2lu
 dCAqKl9mcmVlbGlzdDsNCg0KDQogIGludCBfY3Z0bGVuOw0KICBjaGFyICpfY3Z0YnVmOw0KDQog
 IHVuaW9uDQogICAgew0KICAgICAgc3RydWN0DQogICAgICAgIHsNCiAgICAgICAgICB1bnNpZ25l
 ZCBpbnQgX3VudXNlZF9yYW5kOw0KICAgICAgICAgIGNoYXIgKiBfc3RydG9rX2xhc3Q7DQogICAg
 ICAgICAgY2hhciBfYXNjdGltZV9idWZbMjZdOw0KICAgICAgICAgIHN0cnVjdCBfX3RtIF9sb2Nh
 bHRpbWVfYnVmOw0KICAgICAgICAgIGludCBfZ2FtbWFfc2lnbmdhbTsNCiAgICAgICAgICBfX2V4
 dGVuc2lvbl9fIHVuc2lnbmVkIGxvbmcgbG9uZyBfcmFuZF9uZXh0Ow0KICAgICAgICAgIHN0cnVj
 dCBfcmFuZDQ4IF9yNDg7DQogICAgICAgICAgX21ic3RhdGVfdCBfbWJsZW5fc3RhdGU7DQogICAg
 ICAgICAgX21ic3RhdGVfdCBfbWJ0b3djX3N0YXRlOw0KICAgICAgICAgIF9tYnN0YXRlX3QgX3dj
 dG9tYl9zdGF0ZTsNCiAgICAgICAgICBjaGFyIF9sNjRhX2J1Zls4XTsNCiAgICAgICAgICBjaGFy
 IF9zaWduYWxfYnVmWzI0XTsNCiAgICAgICAgICBpbnQgX2dldGRhdGVfZXJyOw0KICAgICAgICAg
 IF9tYnN0YXRlX3QgX21icmxlbl9zdGF0ZTsNCiAgICAgICAgICBfbWJzdGF0ZV90IF9tYnJ0b3dj
 X3N0YXRlOw0KICAgICAgICAgIF9tYnN0YXRlX3QgX21ic3J0b3djc19zdGF0ZTsNCiAgICAgICAg
 ICBfbWJzdGF0ZV90IF93Y3J0b21iX3N0YXRlOw0KICAgICAgICAgIF9tYnN0YXRlX3QgX3djc3J0
 b21ic19zdGF0ZTsNCiAgICAgICAgfSBfcmVlbnQ7DQoNCg0KDQogICAgICBzdHJ1Y3QNCiAgICAg
 ICAgew0KDQogICAgICAgICAgdW5zaWduZWQgY2hhciAqIF9uZXh0ZlszMF07DQogICAgICAgICAg
 dW5zaWduZWQgaW50IF9ubWFsbG9jWzMwXTsNCiAgICAgICAgfSBfdW51c2VkOw0KICAgIH0gX25l
 dzsNCg0KDQogIHN0cnVjdCBfYXRleGl0ICpfYXRleGl0Ow0KICBzdHJ1Y3QgX2F0ZXhpdCBfYXRl
 eGl0MDsNCg0KDQogIHZvaWQgKCoqKF9zaWdfZnVuYykpKGludCk7DQoNCg0KDQoNCiAgc3RydWN0
 IF9nbHVlIF9fc2dsdWU7DQogIF9fRklMRSBfX3NmWzNdOw0KfTsNCiMgNzI4ICIvdXNyL2FybS1l
 bGYvaW5jbHVkZS9zeXMvcmVlbnQuaCIgMyA0DQpleHRlcm4gc3RydWN0IF9yZWVudCAqX2ltcHVy
 ZV9wdHIgOw0KDQp2b2lkIF9yZWNsYWltX3JlZW50IChzdHJ1Y3QgX3JlZW50ICopOw0KIyA0NiAi
 L3Vzci9hcm0tZWxmL2luY2x1ZGUvc3RkaW8uaCIgMiAzIDQNCiMgMSAiL3Vzci9hcm0tZWxmL2lu
 Y2x1ZGUvc3lzL3R5cGVzLmgiIDEgMyA0DQojIDI0ICIvdXNyL2FybS1lbGYvaW5jbHVkZS9zeXMv
 dHlwZXMuaCIgMyA0DQp0eXBlZGVmIHNob3J0IGludCBfX2ludDE2X3Q7DQp0eXBlZGVmIHVuc2ln
 bmVkIHNob3J0IGludCBfX3VpbnQxNl90Ow0KDQoNCg0KDQoNCnR5cGVkZWYgaW50IF9faW50MzJf
 dDsNCnR5cGVkZWYgdW5zaWduZWQgaW50IF9fdWludDMyX3Q7DQoNCg0KDQoNCg0KDQpfX2V4dGVu
 c2lvbl9fIHR5cGVkZWYgbG9uZyBsb25nIF9faW50NjRfdDsNCl9fZXh0ZW5zaW9uX18gdHlwZWRl
 ZiB1bnNpZ25lZCBsb25nIGxvbmcgX191aW50NjRfdDsNCiMgNTkgIi91c3IvYXJtLWVsZi9pbmNs
 dWRlL3N5cy90eXBlcy5oIiAzIDQNCiMgMSAiL3Vzci9saWIvZ2NjLWxpYi9hcm0tZWxmLzMuMi9p
 bmNsdWRlL3N0ZGRlZi5oIiAxIDMgNA0KIyAxNDcgIi91c3IvbGliL2djYy1saWIvYXJtLWVsZi8z
 LjIvaW5jbHVkZS9zdGRkZWYuaCIgMyA0DQp0eXBlZGVmIGxvbmcgaW50IHB0cmRpZmZfdDsNCiMg
 Mjk0ICIvdXNyL2xpYi9nY2MtbGliL2FybS1lbGYvMy4yL2luY2x1ZGUvc3RkZGVmLmgiIDMgNA0K
 dHlwZWRlZiBpbnQgd2NoYXJfdDsNCiMgNjAgIi91c3IvYXJtLWVsZi9pbmNsdWRlL3N5cy90eXBl
 cy5oIiAyIDMgNA0KIyAxICIvdXNyL2FybS1lbGYvaW5jbHVkZS9tYWNoaW5lL3R5cGVzLmgiIDEg
 MyA0DQojIDM2ICIvdXNyL2FybS1lbGYvaW5jbHVkZS9tYWNoaW5lL3R5cGVzLmgiIDMgNA0KdHlw
 ZWRlZiBsb25nIGludCBfX29mZl90Ow0KdHlwZWRlZiBpbnQgX19waWRfdDsNCg0KX19leHRlbnNp
 b25fXyB0eXBlZGVmIGxvbmcgbG9uZyBpbnQgX19sb2ZmX3Q7DQojIDYxICIvdXNyL2FybS1lbGYv
 aW5jbHVkZS9zeXMvdHlwZXMuaCIgMiAzIDQNCiMgOTQgIi91c3IvYXJtLWVsZi9pbmNsdWRlL3N5
 cy90eXBlcy5oIiAzIDQNCnR5cGVkZWYgdW5zaWduZWQgbG9uZyBjbG9ja190Ow0KDQoNCg0KDQp0
 eXBlZGVmIGxvbmcgdGltZV90Ow0KDQoNCg0KDQpzdHJ1Y3QgdGltZXNwZWMgew0KICB0aW1lX3Qg
 dHZfc2VjOw0KICBsb25nIHR2X25zZWM7DQp9Ow0KDQpzdHJ1Y3QgaXRpbWVyc3BlYyB7DQogIHN0
 cnVjdCB0aW1lc3BlYyBpdF9pbnRlcnZhbDsNCiAgc3RydWN0IHRpbWVzcGVjIGl0X3ZhbHVlOw0K
 fTsNCg0KDQp0eXBlZGVmIGxvbmcgZGFkZHJfdDsNCnR5cGVkZWYgY2hhciAqIGNhZGRyX3Q7DQoN
 Cg0KDQoNCg0KDQoNCnR5cGVkZWYgdW5zaWduZWQgc2hvcnQgaW5vX3Q7DQojIDE1OCAiL3Vzci9h
 cm0tZWxmL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDMgNA0KdHlwZWRlZiBzaG9ydCBkZXZfdDsNCg0K
 DQoNCg0KdHlwZWRlZiBsb25nIG9mZl90Ow0KDQp0eXBlZGVmIHVuc2lnbmVkIHNob3J0IHVpZF90
 Ow0KdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBnaWRfdDsNCg0KDQp0eXBlZGVmIGludCBwaWRfdDsN
 CnR5cGVkZWYgbG9uZyBrZXlfdDsNCnR5cGVkZWYgX3NzaXplX3Qgc3NpemVfdDsNCiMgMTg0ICIv
 dXNyL2FybS1lbGYvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMyA0DQp0eXBlZGVmIHVuc2lnbmVkIGlu
 dCBtb2RlX3QgX19hdHRyaWJ1dGVfXyAoKF9fbW9kZV9fIChfX1NJX18pKSk7DQoNCg0KDQp0eXBl
 ZGVmIHVuc2lnbmVkIHNob3J0IG5saW5rX3Q7DQojIDQ3ICIvdXNyL2FybS1lbGYvaW5jbHVkZS9z
 dGRpby5oIiAyIDMgNA0KDQoNCg0KdHlwZWRlZiBfZnBvc190IGZwb3NfdDsNCnR5cGVkZWYgX19G
 SUxFIEZJTEU7DQoNCg0KDQoNCg0KIyAxICIvdXNyL2FybS1lbGYvaW5jbHVkZS9zeXMvc3RkaW8u
 aCIgMSAzIDQNCiMgNTggIi91c3IvYXJtLWVsZi9pbmNsdWRlL3N0ZGlvLmgiIDIgMyA0DQojIDE2
 MiAiL3Vzci9hcm0tZWxmL2luY2x1ZGUvc3RkaW8uaCIgMyA0DQpGSUxFICogdG1wZmlsZSAodm9p
 ZCk7DQpjaGFyICogdG1wbmFtIChjaGFyICopOw0KaW50IGZjbG9zZSAoRklMRSAqKTsNCmludCBm
 Zmx1c2ggKEZJTEUgKik7DQpGSUxFICogZnJlb3BlbiAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFy
 ICosIEZJTEUgKik7DQp2b2lkIHNldGJ1ZiAoRklMRSAqLCBjaGFyICopOw0KaW50IHNldHZidWYg
 KEZJTEUgKiwgY2hhciAqLCBpbnQsIHNpemVfdCk7DQppbnQgZnByaW50ZiAoRklMRSAqLCBjb25z
 dCBjaGFyICosIC4uLik7DQppbnQgZnNjYW5mIChGSUxFICosIGNvbnN0IGNoYXIgKiwgLi4uKTsN
 CmludCBwcmludGYgKGNvbnN0IGNoYXIgKiwgLi4uKTsNCmludCBzY2FuZiAoY29uc3QgY2hhciAq
 LCAuLi4pOw0KaW50IHNzY2FuZiAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIC4uLik7DQpp
 bnQgdmZwcmludGYgKEZJTEUgKiwgY29uc3QgY2hhciAqLCBfX2dudWNfdmFfbGlzdCk7DQppbnQg
 dnByaW50ZiAoY29uc3QgY2hhciAqLCBfX2dudWNfdmFfbGlzdCk7DQppbnQgdnNwcmludGYgKGNo
 YXIgKiwgY29uc3QgY2hhciAqLCBfX2dudWNfdmFfbGlzdCk7DQppbnQgZmdldGMgKEZJTEUgKik7
 DQpjaGFyICogZmdldHMgKGNoYXIgKiwgaW50LCBGSUxFICopOw0KaW50IGZwdXRjIChpbnQsIEZJ
 TEUgKik7DQppbnQgZnB1dHMgKGNvbnN0IGNoYXIgKiwgRklMRSAqKTsNCmludCBnZXRjIChGSUxF
 ICopOw0KaW50IGdldGNoYXIgKHZvaWQpOw0KY2hhciAqIGdldHMgKGNoYXIgKik7DQppbnQgcHV0
 YyAoaW50LCBGSUxFICopOw0KaW50IHB1dGNoYXIgKGludCk7DQppbnQgcHV0cyAoY29uc3QgY2hh
 ciAqKTsNCmludCB1bmdldGMgKGludCwgRklMRSAqKTsNCnNpemVfdCBmcmVhZCAodm9pZCAqLCBz
 aXplX3QgX3NpemUsIHNpemVfdCBfbiwgRklMRSAqKTsNCnNpemVfdCBmd3JpdGUgKGNvbnN0IHZv
 aWQgKiAsIHNpemVfdCBfc2l6ZSwgc2l6ZV90IF9uLCBGSUxFICopOw0KaW50IGZnZXRwb3MgKEZJ
 TEUgKiwgZnBvc190ICopOw0KaW50IGZzZWVrIChGSUxFICosIGxvbmcsIGludCk7DQppbnQgZnNl
 dHBvcyAoRklMRSAqLCBjb25zdCBmcG9zX3QgKik7DQpsb25nIGZ0ZWxsICggRklMRSAqKTsNCnZv
 aWQgcmV3aW5kIChGSUxFICopOw0Kdm9pZCBjbGVhcmVyciAoRklMRSAqKTsNCmludCBmZW9mIChG
 SUxFICopOw0KaW50IGZlcnJvciAoRklMRSAqKTsNCnZvaWQgcGVycm9yIChjb25zdCBjaGFyICop
 Ow0KDQpGSUxFICogZm9wZW4gKGNvbnN0IGNoYXIgKl9uYW1lLCBjb25zdCBjaGFyICpfdHlwZSk7
 DQppbnQgc3ByaW50ZiAoY2hhciAqLCBjb25zdCBjaGFyICosIC4uLik7DQppbnQgcmVtb3ZlIChj
 b25zdCBjaGFyICopOw0KaW50IHJlbmFtZSAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOw0K
 DQoNCmludCBhc3ByaW50ZiAoY2hhciAqKiwgY29uc3QgY2hhciAqLCAuLi4pOw0KaW50IGZzZWVr
 byAoRklMRSAqLCBvZmZfdCwgaW50KTsNCm9mZl90IGZ0ZWxsbyAoIEZJTEUgKik7DQppbnQgdmZp
 cHJpbnRmIChGSUxFICosIGNvbnN0IGNoYXIgKiwgX19nbnVjX3ZhX2xpc3QpOw0KaW50IGlwcmlu
 dGYgKGNvbnN0IGNoYXIgKiwgLi4uKTsNCmludCBmaXByaW50ZiAoRklMRSAqLCBjb25zdCBjaGFy
 ICosIC4uLik7DQppbnQgc2lwcmludGYgKGNoYXIgKiwgY29uc3QgY2hhciAqLCAuLi4pOw0KY2hh
 ciAqIHRlbXBuYW0gKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsNCmludCB2YXNwcmludGYg
 KGNoYXIgKiosIGNvbnN0IGNoYXIgKiwgX19nbnVjX3ZhX2xpc3QpOw0KaW50IHZzbnByaW50ZiAo
 Y2hhciAqLCBzaXplX3QsIGNvbnN0IGNoYXIgKiwgX19nbnVjX3ZhX2xpc3QpOw0KaW50IHZmc2Nh
 bmYgKEZJTEUgKiwgY29uc3QgY2hhciAqLCBfX2dudWNfdmFfbGlzdCk7DQppbnQgdnNjYW5mIChj
 b25zdCBjaGFyICosIF9fZ251Y192YV9saXN0KTsNCmludCB2c3NjYW5mIChjb25zdCBjaGFyICos
 IGNvbnN0IGNoYXIgKiwgX19nbnVjX3ZhX2xpc3QpOw0KDQppbnQgZmNsb3NlYWxsICh2b2lkKTsN
 CmludCBzbnByaW50ZiAoY2hhciAqLCBzaXplX3QsIGNvbnN0IGNoYXIgKiwgLi4uKTsNCiMgMjMx
 ICIvdXNyL2FybS1lbGYvaW5jbHVkZS9zdGRpby5oIiAzIDQNCkZJTEUgKiBmZG9wZW4gKGludCwg
 Y29uc3QgY2hhciAqKTsNCg0KaW50IGZpbGVubyAoRklMRSAqKTsNCmludCBnZXR3IChGSUxFICop
 Ow0KaW50IHBjbG9zZSAoRklMRSAqKTsNCkZJTEUgKiBwb3BlbiAoY29uc3QgY2hhciAqLCBjb25z
 dCBjaGFyICopOw0KaW50IHB1dHcgKGludCwgRklMRSAqKTsNCnZvaWQgc2V0YnVmZmVyIChGSUxF
 ICosIGNoYXIgKiwgaW50KTsNCmludCBzZXRsaW5lYnVmIChGSUxFICopOw0KaW50IGdldGNfdW5s
 b2NrZWQgKEZJTEUgKik7DQppbnQgZ2V0Y2hhcl91bmxvY2tlZCAodm9pZCk7DQp2b2lkIGZsb2Nr
 ZmlsZSAoRklMRSAqKTsNCmludCBmdHJ5bG9ja2ZpbGUgKEZJTEUgKik7DQp2b2lkIGZ1bmxvY2tm
 aWxlIChGSUxFICopOw0KaW50IHB1dGNfdW5sb2NrZWQgKGludCwgRklMRSAqKTsNCmludCBwdXRj
 aGFyX3VubG9ja2VkIChpbnQpOw0KDQoNCg0KDQoNCg0KaW50IF9hc3ByaW50Zl9yIChzdHJ1Y3Qg
 X3JlZW50ICosIGNoYXIgKiosIGNvbnN0IGNoYXIgKiwgLi4uKTsNCmludCBfZmNsb3NlYWxsX3Ig
 KHN0cnVjdCBfcmVlbnQgKik7DQpGSUxFICogX2Zkb3Blbl9yIChzdHJ1Y3QgX3JlZW50ICosIGlu
 dCwgY29uc3QgY2hhciAqKTsNCkZJTEUgKiBfZm9wZW5fciAoc3RydWN0IF9yZWVudCAqLCBjb25z
 dCBjaGFyICosIGNvbnN0IGNoYXIgKik7DQppbnQgX2ZzY2FuZl9yIChzdHJ1Y3QgX3JlZW50ICos
 IEZJTEUgKiwgY29uc3QgY2hhciAqLCAuLi4pOw0KaW50IF9nZXRjaGFyX3IgKHN0cnVjdCBfcmVl
 bnQgKik7DQpjaGFyICogX2dldHNfciAoc3RydWN0IF9yZWVudCAqLCBjaGFyICopOw0KaW50IF9p
 cHJpbnRmX3IgKHN0cnVjdCBfcmVlbnQgKiwgY29uc3QgY2hhciAqLCAuLi4pOw0KaW50IF9ta3N0
 ZW1wX3IgKHN0cnVjdCBfcmVlbnQgKiwgY2hhciAqKTsNCmNoYXIgKiBfbWt0ZW1wX3IgKHN0cnVj
 dCBfcmVlbnQgKiwgY2hhciAqKTsNCnZvaWQgX3BlcnJvcl9yIChzdHJ1Y3QgX3JlZW50ICosIGNv
 bnN0IGNoYXIgKik7DQppbnQgX3ByaW50Zl9yIChzdHJ1Y3QgX3JlZW50ICosIGNvbnN0IGNoYXIg
 KiwgLi4uKTsNCmludCBfcHV0Y2hhcl9yIChzdHJ1Y3QgX3JlZW50ICosIGludCk7DQppbnQgX3B1
 dHNfciAoc3RydWN0IF9yZWVudCAqLCBjb25zdCBjaGFyICopOw0KaW50IF9yZW1vdmVfciAoc3Ry
 dWN0IF9yZWVudCAqLCBjb25zdCBjaGFyICopOw0KaW50IF9yZW5hbWVfciAoc3RydWN0IF9yZWVu
 dCAqLCBjb25zdCBjaGFyICpfb2xkLCBjb25zdCBjaGFyICpfbmV3KTsNCg0KaW50IF9zY2FuZl9y
 IChzdHJ1Y3QgX3JlZW50ICosIGNvbnN0IGNoYXIgKiwgLi4uKTsNCmludCBfc3ByaW50Zl9yIChz
 dHJ1Y3QgX3JlZW50ICosIGNoYXIgKiwgY29uc3QgY2hhciAqLCAuLi4pOw0KaW50IF9zbnByaW50
 Zl9yIChzdHJ1Y3QgX3JlZW50ICosIGNoYXIgKiwgc2l6ZV90LCBjb25zdCBjaGFyICosIC4uLik7
 DQppbnQgX3NzY2FuZl9yIChzdHJ1Y3QgX3JlZW50ICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hh
 ciAqLCAuLi4pOw0KY2hhciAqIF90ZW1wbmFtX3IgKHN0cnVjdCBfcmVlbnQgKiwgY29uc3QgY2hh
 ciAqLCBjb25zdCBjaGFyICopOw0KRklMRSAqIF90bXBmaWxlX3IgKHN0cnVjdCBfcmVlbnQgKik7
 DQpjaGFyICogX3RtcG5hbV9yIChzdHJ1Y3QgX3JlZW50ICosIGNoYXIgKik7DQppbnQgX3Zhc3By
 aW50Zl9yIChzdHJ1Y3QgX3JlZW50ICosIGNoYXIgKiosIGNvbnN0IGNoYXIgKiwgX19nbnVjX3Zh
 X2xpc3QpOw0KaW50IF92ZnByaW50Zl9yIChzdHJ1Y3QgX3JlZW50ICosIEZJTEUgKiwgY29uc3Qg
 Y2hhciAqLCBfX2dudWNfdmFfbGlzdCk7DQppbnQgX3ZwcmludGZfciAoc3RydWN0IF9yZWVudCAq
 LCBjb25zdCBjaGFyICosIF9fZ251Y192YV9saXN0KTsNCmludCBfdnNwcmludGZfciAoc3RydWN0
 IF9yZWVudCAqLCBjaGFyICosIGNvbnN0IGNoYXIgKiwgX19nbnVjX3ZhX2xpc3QpOw0KaW50IF92
 c25wcmludGZfciAoc3RydWN0IF9yZWVudCAqLCBjaGFyICosIHNpemVfdCwgY29uc3QgY2hhciAq
 LCBfX2dudWNfdmFfbGlzdCk7DQppbnQgX3Zmc2NhbmZfciAoc3RydWN0IF9yZWVudCAqLCBGSUxF
 ICosIGNvbnN0IGNoYXIgKiwgX19nbnVjX3ZhX2xpc3QpOw0KaW50IF92c2NhbmZfciAoc3RydWN0
 IF9yZWVudCAqLCBjb25zdCBjaGFyICosIF9fZ251Y192YV9saXN0KTsNCmludCBfdnNzY2FuZl9y
 IChzdHJ1Y3QgX3JlZW50ICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBfX2dudWNfdmFf
 bGlzdCk7DQoNCnNzaXplX3QgX19nZXRkZWxpbSAoY2hhciAqKiwgc2l6ZV90ICosIGludCwgRklM
 RSAqKTsNCnNzaXplX3QgX19nZXRsaW5lIChjaGFyICoqLCBzaXplX3QgKiwgRklMRSAqKTsNCiMg
 MzA5ICIvdXNyL2FybS1lbGYvaW5jbHVkZS9zdGRpby5oIiAzIDQNCmludCBfX3NyZ2V0IChGSUxF
 ICopOw0KaW50IF9fc3didWYgKGludCwgRklMRSAqKTsNCg0KDQoNCg0KDQoNCkZJTEUgKmZ1bm9w
 ZW4gKGNvbnN0IHZvaWQgKiBfY29va2llLCBpbnQgKCpyZWFkZm4pKHZvaWQgKiBfY29va2llLCBj
 aGFyICpfYnVmLCBpbnQgX24pLCBpbnQgKCp3cml0ZWZuKSh2b2lkICogX2Nvb2tpZSwgY29uc3Qg
 Y2hhciAqX2J1ZiwgaW50IF9uKSwgZnBvc190ICgqc2Vla2ZuKSh2b2lkICogX2Nvb2tpZSwgZnBv
 c190IF9vZmYsIGludCBfd2hlbmNlKSwgaW50ICgqY2xvc2Vmbikodm9pZCAqIF9jb29raWUpKTsN
 CiMgNDE2ICIvdXNyL2FybS1lbGYvaW5jbHVkZS9zdGRpby5oIiAzIDQNCg0KIyAzODggIi4uL2Ro
 cnkuaCIgMg0KDQoNCg0KDQoNCg0KDQp0eXBlZGVmIGludCBPbmVfVGhpcnR5Ow0KdHlwZWRlZiBp
 bnQgT25lX0ZpZnR5Ow0KdHlwZWRlZiBjaGFyIENhcGl0YWxfTGV0dGVyOw0KdHlwZWRlZiBpbnQg
 Qm9vbGVhbjsNCnR5cGVkZWYgY2hhciBTdHJfMzAgWzMxXTsNCnR5cGVkZWYgaW50IEFycl8xX0Rp
 bSBbNTBdOw0KdHlwZWRlZiBpbnQgQXJyXzJfRGltIFs1MF0gWzUwXTsNCg0KdHlwZWRlZiBzdHJ1
 Y3QgcmVjb3JkDQogICAgew0KICAgIHN0cnVjdCByZWNvcmQgKlB0cl9Db21wOw0KICAgIEVudW1l
 cmF0aW9uIERpc2NyOw0KICAgIHVuaW9uIHsNCiAgICAgICAgICBzdHJ1Y3Qgew0KICAgICAgICAg
 ICAgICAgICAgRW51bWVyYXRpb24gRW51bV9Db21wOw0KICAgICAgICAgICAgICAgICAgaW50IElu
 dF9Db21wOw0KICAgICAgICAgICAgICAgICAgY2hhciBTdHJfQ29tcCBbMzFdOw0KICAgICAgICAg
 ICAgICAgICAgfSB2YXJfMTsNCiAgICAgICAgICBzdHJ1Y3Qgew0KICAgICAgICAgICAgICAgICAg
 RW51bWVyYXRpb24gRV9Db21wXzI7DQogICAgICAgICAgICAgICAgICBjaGFyIFN0cl8yX0NvbXAg
 WzMxXTsNCiAgICAgICAgICAgICAgICAgIH0gdmFyXzI7DQogICAgICAgICAgc3RydWN0IHsNCiAg
 ICAgICAgICAgICAgICAgIGNoYXIgQ2hfMV9Db21wOw0KICAgICAgICAgICAgICAgICAgY2hhciBD
 aF8yX0NvbXA7DQogICAgICAgICAgICAgICAgICB9IHZhcl8zOw0KICAgICAgICAgIH0gdmFyaWFu
 dDsNCiAgICAgIH0gUmVjX1R5cGUsICpSZWNfUG9pbnRlcjsNCiMgNjQgIi4uL2RocnlfMS5jIiAy
 DQojIDEgIi4uLy4uLy4uLy4uL2gvdGhyZWFkeC90eF9hcGkuaCIgMQ0KIyAxMDkgIi4uLy4uLy4u
 Ly4uL2gvdGhyZWFkeC90eF9hcGkuaCINCiMgMSAiLi4vLi4vLi4vLi4vaC90aHJlYWR4L3R4X3Bv
 cnQuaCIgMQ0KIyA5NyAiLi4vLi4vLi4vLi4vaC90aHJlYWR4L3R4X3BvcnQuaCINCnR5cGVkZWYg
 dm9pZCAqIFZPSURfUFRSOw0KdHlwZWRlZiBjaGFyIENIQVI7DQp0eXBlZGVmIGNoYXIgKiBDSEFS
 X1BUUjsNCnR5cGVkZWYgdW5zaWduZWQgY2hhciBVQ0hBUjsNCnR5cGVkZWYgdW5zaWduZWQgY2hh
 ciAqIFVDSEFSX1BUUjsNCnR5cGVkZWYgaW50IElOVDsNCnR5cGVkZWYgaW50ICogSU5UX1BUUjsN
 CnR5cGVkZWYgdW5zaWduZWQgaW50IFVJTlQ7DQp0eXBlZGVmIHVuc2lnbmVkIGludCAqIFVJTlRf
 UFRSOw0KdHlwZWRlZiBsb25nIExPTkc7DQp0eXBlZGVmIGxvbmcgKiBMT05HX1BUUjsNCg0KDQoN
 Cg0KDQoNCg0KdHlwZWRlZiB1bnNpZ25lZCBsb25nIFVMT05HOw0KDQp0eXBlZGVmIHVuc2lnbmVk
 IGxvbmcgKiBVTE9OR19QVFI7DQojIDE0NyAiLi4vLi4vLi4vLi4vaC90aHJlYWR4L3R4X3BvcnQu
 aCINCnVuc2lnbmVkIGludCBfdHhfdGhyZWFkX2ludGVycnVwdF9jb250cm9sKHVuc2lnbmVkIGlu
 dCBuZXdfcG9zdHVyZSk7DQojIDIzMSAiLi4vLi4vLi4vLi4vaC90aHJlYWR4L3R4X3BvcnQuaCIN
 CmV4dGVybiBDSEFSIF90eF92ZXJzaW9uX2lkW107DQojIDExMCAiLi4vLi4vLi4vLi4vaC90aHJl
 YWR4L3R4X2FwaS5oIiAyDQojIDIzNCAiLi4vLi4vLi4vLi4vaC90aHJlYWR4L3R4X2FwaS5oIg0K
 dHlwZWRlZiBzdHJ1Y3QgVFhfSU5URVJOQUxfVElNRVJfU1RSVUNUDQp7DQoNCg0KICAgIFVMT05H
 IHR4X3JlbWFpbmluZ190aWNrczsNCiAgICBVTE9ORyB0eF9yZV9pbml0aWFsaXplX3RpY2tzOw0K
 DQoNCiAgICB2b2lkICgqdHhfdGltZW91dF9mdW5jdGlvbikoVUxPTkcpOw0KICAgIFVMT05HIHR4
 X3RpbWVvdXRfcGFyYW07DQoNCg0KDQoNCiAgICBzdHJ1Y3QgVFhfSU5URVJOQUxfVElNRVJfU1RS
 VUNUDQogICAgICAgICAgICAgICAgKnR4X2FjdGl2ZV9uZXh0LA0KICAgICAgICAgICAgICAgICp0
 eF9hY3RpdmVfcHJldmlvdXM7DQoNCg0KICAgIHN0cnVjdCBUWF9JTlRFUk5BTF9USU1FUl9TVFJV
 Q1QNCiAgICAgICAgICAgICAgICAqKnR4X2xpc3RfaGVhZDsNCn0gVFhfSU5URVJOQUxfVElNRVI7
 DQoNCg0KDQoNCnR5cGVkZWYgc3RydWN0IFRYX1RJTUVSX1NUUlVDVA0Kew0KDQoNCiAgICBVTE9O
 RyB0eF90aW1lcl9pZDsNCg0KDQogICAgQ0hBUl9QVFIgdHhfdGltZXJfbmFtZTsNCg0KDQoNCg0K
 DQoNCiAgICBUWF9JTlRFUk5BTF9USU1FUiB0eF90aW1lcl9pbnRlcm5hbDsNCg0KDQogICAgc3Ry
 dWN0IFRYX1RJTUVSX1NUUlVDVA0KICAgICAgICAgICAgICAgICp0eF90aW1lcl9jcmVhdGVkX25l
 eHQsDQogICAgICAgICAgICAgICAgKnR4X3RpbWVyX2NyZWF0ZWRfcHJldmlvdXM7DQp9IFRYX1RJ
 TUVSOw0KDQp0eXBlZGVmIFRYX1RJTUVSICogVFhfVElNRVJfUFRSOw0KDQoNCg0KDQoNCg0KdHlw
 ZWRlZiBzdHJ1Y3QgVFhfVEhSRUFEX1NUUlVDVA0Kew0KDQoNCg0KDQogICAgVUxPTkcgdHhfdGhy
 ZWFkX2lkOw0KICAgIFVMT05HIHR4X3J1bl9jb3VudDsNCiAgICBWT0lEX1BUUiB0eF9zdGFja19w
 dHI7DQogICAgVk9JRF9QVFIgdHhfc3RhY2tfc3RhcnQ7DQogICAgVk9JRF9QVFIgdHhfc3RhY2tf
 ZW5kOw0KICAgIFVMT05HIHR4X3N0YWNrX3NpemU7DQogICAgVUxPTkcgdHhfdGltZV9zbGljZTsN
 CiAgICBVTE9ORyB0eF9uZXdfdGltZV9zbGljZTsNCg0KDQogICAgc3RydWN0IFRYX1RIUkVBRF9T
 VFJVQ1QNCiAgICAgICAgICAgICAgICAqdHhfcmVhZHlfbmV4dCwNCiAgICAgICAgICAgICAgICAq
 dHhfcmVhZHlfcHJldmlvdXM7DQoNCg0KDQoNCg0KICAgDQoNCg0KDQoNCg0KDQoNCiAgICBDSEFS
 X1BUUiB0eF90aHJlYWRfbmFtZTsNCiAgICBVSU5UIHR4X3ByaW9yaXR5Ow0KICAgIFVJTlQgdHhf
 c3RhdGU7DQogICAgVUlOVCB0eF9kZWxheWVkX3N1c3BlbmQ7DQogICAgVUlOVCB0eF9zdXNwZW5k
 aW5nOw0KICAgIFVJTlQgdHhfcHJlZW1wdF90aHJlc2hvbGQ7DQogICAgVUxPTkcgdHhfcHJpb3Jp
 dHlfYml0Ow0KDQoNCiAgICB2b2lkICgqdHhfdGhyZWFkX2VudHJ5KShVTE9ORyk7DQogICAgVUxP
 TkcgdHhfZW50cnlfcGFyYW1ldGVyOw0KDQoNCg0KICAgIFRYX0lOVEVSTkFMX1RJTUVSDQogICAg
 ICAgICAgICAgICAgdHhfdGhyZWFkX3RpbWVyOw0KDQoNCg0KDQoNCiAgICB2b2lkICgqdHhfc3Vz
 cGVuZF9jbGVhbnVwKShzdHJ1Y3QgVFhfVEhSRUFEX1NUUlVDVCAqKTsNCiAgICBWT0lEX1BUUiB0
 eF9zdXNwZW5kX2NvbnRyb2xfYmxvY2s7DQogICAgc3RydWN0IFRYX1RIUkVBRF9TVFJVQ1QNCiAg
 ICAgICAgICAgICAgICAqdHhfc3VzcGVuZGVkX25leHQsDQogICAgICAgICAgICAgICAgKnR4X3N1
 c3BlbmRlZF9wcmV2aW91czsNCiAgICBVTE9ORyB0eF9zdXNwZW5kX2luZm87DQogICAgVk9JRF9Q
 VFIgdHhfYWRkaXRpb25hbF9zdXNwZW5kX2luZm87DQogICAgVUlOVCB0eF9zdXNwZW5kX29wdGlv
 bjsNCiAgICBVSU5UIHR4X3N1c3BlbmRfc3RhdHVzOw0KDQoNCiAgICBWT0lEX1BUUiB0eF9laF9n
 bG9iYWxzOw0KDQoNCg0KICAgICAgICBWT0lEX1BUUiB0eF9wb3NpeF9zaWduYWxbMl07DQoNCg0K
 DQoNCiAgICBzdHJ1Y3QgVFhfVEhSRUFEX1NUUlVDVA0KICAgICAgICAgICAgICAgICp0eF9jcmVh
 dGVkX25leHQsDQogICAgICAgICAgICAgICAgKnR4X2NyZWF0ZWRfcHJldmlvdXM7DQoNCg0KDQog
 ICAgVk9JRF9QVFIgdHhfZmlsZXhfcHRyOw0KDQoNCiAgICAgICAgaW50IHR4X2Vycm5vOw0KDQp9
 IFRYX1RIUkVBRDsNCg0KdHlwZWRlZiBUWF9USFJFQUQgKiBUWF9USFJFQURfUFRSOw0KDQoNCg0K
 DQp0eXBlZGVmIHN0cnVjdCBUWF9TRU1BUEhPUkVfU1RSVUNUDQp7DQoNCg0KICAgIFVMT05HIHR4
 X3NlbWFwaG9yZV9pZDsNCg0KDQogICAgQ0hBUl9QVFIgdHhfc2VtYXBob3JlX25hbWU7DQoNCg0K
 DQogICAgVUxPTkcgdHhfc2VtYXBob3JlX2NvdW50Ow0KDQoNCg0KICAgIHN0cnVjdCBUWF9USFJF
 QURfU1RSVUNUICp0eF9zZW1hcGhvcmVfc3VzcGVuc2lvbl9saXN0Ow0KICAgIFVMT05HIHR4X3Nl
 bWFwaG9yZV9zdXNwZW5kZWRfY291bnQ7DQoNCg0KICAgIHN0cnVjdCBUWF9TRU1BUEhPUkVfU1RS
 VUNUDQogICAgICAgICAgICAgICAgKnR4X3NlbWFwaG9yZV9jcmVhdGVkX25leHQsDQogICAgICAg
 ICAgICAgICAgKnR4X3NlbWFwaG9yZV9jcmVhdGVkX3ByZXZpb3VzOw0KDQp9IFRYX1NFTUFQSE9S
 RTsNCg0KdHlwZWRlZiBUWF9TRU1BUEhPUkUgKiBUWF9TRU1BUEhPUkVfUFRSOw0KDQoNCg0KDQp0
 eXBlZGVmIHN0cnVjdCBUWF9RVUVVRV9TVFJVQ1QNCnsNCg0KDQogICAgVUxPTkcgdHhfcXVldWVf
 aWQ7DQoNCg0KICAgIENIQVJfUFRSIHR4X3F1ZXVlX25hbWU7DQoNCg0KICAgIFVJTlQgdHhfcXVl
 dWVfbWVzc2FnZV9zaXplOw0KDQoNCiAgICBVTE9ORyB0eF9xdWV1ZV9jYXBhY2l0eTsNCg0KDQoN
 CiAgICBVTE9ORyB0eF9xdWV1ZV9lbnF1ZXVlZDsNCiAgICBVTE9ORyB0eF9xdWV1ZV9hdmFpbGFi
 bGVfc3RvcmFnZTsNCg0KDQoNCiAgICBVTE9OR19QVFIgdHhfcXVldWVfc3RhcnQ7DQogICAgVUxP
 TkdfUFRSIHR4X3F1ZXVlX2VuZDsNCg0KDQoNCiAgICBVTE9OR19QVFIgdHhfcXVldWVfcmVhZDsN
 CiAgICBVTE9OR19QVFIgdHhfcXVldWVfd3JpdGU7DQoNCg0KDQogICAgc3RydWN0IFRYX1RIUkVB
 RF9TVFJVQ1QgKnR4X3F1ZXVlX3N1c3BlbnNpb25fbGlzdDsNCiAgICBVTE9ORyB0eF9xdWV1ZV9z
 dXNwZW5kZWRfY291bnQ7DQoNCg0KICAgIHN0cnVjdCBUWF9RVUVVRV9TVFJVQ1QNCiAgICAgICAg
 ICAgICAgICAqdHhfcXVldWVfY3JlYXRlZF9uZXh0LA0KICAgICAgICAgICAgICAgICp0eF9xdWV1
 ZV9jcmVhdGVkX3ByZXZpb3VzOw0KDQp9IFRYX1FVRVVFOw0KDQp0eXBlZGVmIFRYX1FVRVVFICog
 VFhfUVVFVUVfUFRSOw0KDQoNCg0KDQp0eXBlZGVmIHN0cnVjdCBUWF9FVkVOVF9GTEFHU19HUk9V
 UF9TVFJVQ1QNCnsNCg0KDQogICAgVUxPTkcgdHhfZXZlbnRfZmxhZ3NfaWQ7DQoNCg0KICAgIENI
 QVJfUFRSIHR4X2V2ZW50X2ZsYWdzX25hbWU7DQoNCg0KDQogICAgVUxPTkcgdHhfZXZlbnRfZmxh
 Z3NfY3VycmVudDsNCg0KDQoNCiAgICBVSU5UIHR4X2V2ZW50X2ZsYWdzX3Jlc2V0X3NlYXJjaDsN
 Cg0KDQoNCiAgICBzdHJ1Y3QgVFhfVEhSRUFEX1NUUlVDVCAqdHhfZXZlbnRfZmxhZ3Nfc3VzcGVu
 c2lvbl9saXN0Ow0KICAgIFVMT05HIHR4X2V2ZW50X2ZsYWdzX3N1c3BlbmRlZF9jb3VudDsNCg0K
 DQogICAgc3RydWN0IFRYX0VWRU5UX0ZMQUdTX0dST1VQX1NUUlVDVA0KICAgICAgICAgICAgICAg
 ICp0eF9ldmVudF9mbGFnc19jcmVhdGVkX25leHQsDQogICAgICAgICAgICAgICAgKnR4X2V2ZW50
 X2ZsYWdzX2NyZWF0ZWRfcHJldmlvdXM7DQoNCn0gVFhfRVZFTlRfRkxBR1NfR1JPVVA7DQoNCnR5
 cGVkZWYgVFhfRVZFTlRfRkxBR1NfR1JPVVAgKiBUWF9FVkVOVF9GTEFHU19HUk9VUF9QVFI7DQoN
 Cg0KDQoNCnR5cGVkZWYgc3RydWN0IFRYX0JMT0NLX1BPT0xfU1RSVUNUDQp7DQoNCg0KICAgIFVM
 T05HIHR4X2Jsb2NrX3Bvb2xfaWQ7DQoNCg0KICAgIENIQVJfUFRSIHR4X2Jsb2NrX3Bvb2xfbmFt
 ZTsNCg0KDQogICAgVUxPTkcgdHhfYmxvY2tfcG9vbF9hdmFpbGFibGU7DQoNCg0KICAgIFVMT05H
 IHR4X2Jsb2NrX3Bvb2xfdG90YWw7DQoNCg0KICAgIENIQVJfUFRSIHR4X2Jsb2NrX3Bvb2xfYXZh
 aWxhYmxlX2xpc3Q7DQoNCg0KICAgIENIQVJfUFRSIHR4X2Jsb2NrX3Bvb2xfc3RhcnQ7DQoNCg0K
 ICAgIFVMT05HIHR4X2Jsb2NrX3Bvb2xfc2l6ZTsNCg0KDQogICAgVUxPTkcgdHhfYmxvY2tfcG9v
 bF9ibG9ja19zaXplOw0KDQoNCg0KICAgIHN0cnVjdCBUWF9USFJFQURfU1RSVUNUICp0eF9ibG9j
 a19wb29sX3N1c3BlbnNpb25fbGlzdDsNCiAgICBVTE9ORyB0eF9ibG9ja19wb29sX3N1c3BlbmRl
 ZF9jb3VudDsNCg0KDQogICAgc3RydWN0IFRYX0JMT0NLX1BPT0xfU1RSVUNUDQogICAgICAgICAg
 ICAgICAgKnR4X2Jsb2NrX3Bvb2xfY3JlYXRlZF9uZXh0LA0KICAgICAgICAgICAgICAgICp0eF9i
 bG9ja19wb29sX2NyZWF0ZWRfcHJldmlvdXM7DQoNCn0gVFhfQkxPQ0tfUE9PTDsNCg0KdHlwZWRl
 ZiBUWF9CTE9DS19QT09MICogVFhfQkxPQ0tfUE9PTF9QVFI7DQoNCg0KDQoNCnR5cGVkZWYgc3Ry
 dWN0IFRYX0JZVEVfUE9PTF9TVFJVQ1QNCnsNCg0KDQogICAgVUxPTkcgdHhfYnl0ZV9wb29sX2lk
 Ow0KDQoNCiAgICBDSEFSX1BUUiB0eF9ieXRlX3Bvb2xfbmFtZTsNCg0KDQogICAgVUxPTkcgdHhf
 Ynl0ZV9wb29sX2F2YWlsYWJsZTsNCg0KDQogICAgVUxPTkcgdHhfYnl0ZV9wb29sX2ZyYWdtZW50
 czsNCg0KDQogICAgQ0hBUl9QVFIgdHhfYnl0ZV9wb29sX2xpc3Q7DQoNCg0KDQogICAgQ0hBUl9Q
 VFIgdHhfYnl0ZV9wb29sX3NlYXJjaDsNCg0KDQogICAgQ0hBUl9QVFIgdHhfYnl0ZV9wb29sX3N0
 YXJ0Ow0KDQoNCiAgICBVTE9ORyB0eF9ieXRlX3Bvb2xfc2l6ZTsNCg0KDQoNCg0KICAgIHN0cnVj
 dCBUWF9USFJFQURfU1RSVUNUICp0eF9ieXRlX3Bvb2xfb3duZXI7DQoNCg0KDQogICAgc3RydWN0
 IFRYX1RIUkVBRF9TVFJVQ1QgKnR4X2J5dGVfcG9vbF9zdXNwZW5zaW9uX2xpc3Q7DQogICAgVUxP
 TkcgdHhfYnl0ZV9wb29sX3N1c3BlbmRlZF9jb3VudDsNCg0KDQogICAgc3RydWN0IFRYX0JZVEVf
 UE9PTF9TVFJVQ1QNCiAgICAgICAgICAgICAgICAqdHhfYnl0ZV9wb29sX2NyZWF0ZWRfbmV4dCwN
 CiAgICAgICAgICAgICAgICAqdHhfYnl0ZV9wb29sX2NyZWF0ZWRfcHJldmlvdXM7DQoNCn0gVFhf
 QllURV9QT09MOw0KDQp0eXBlZGVmIFRYX0JZVEVfUE9PTCAqIFRYX0JZVEVfUE9PTF9QVFI7DQoN
 Cg0KDQoNCnR5cGVkZWYgc3RydWN0IFRYX01VVEVYX1NUUlVDVA0Kew0KDQoNCiAgICBVTE9ORyB0
 eF9tdXRleF9pZDsNCg0KDQogICAgQ0hBUl9QVFIgdHhfbXV0ZXhfbmFtZTsNCg0KDQogICAgVUxP
 TkcgdHhfbXV0ZXhfb3duZXJzaGlwX2NvdW50Ow0KDQoNCg0KICAgIFRYX1RIUkVBRCAqdHhfbXV0
 ZXhfb3duZXI7DQoNCg0KDQogICAgVUlOVCB0eF9tdXRleF9pbmhlcml0Ow0KDQoNCg0KICAgIFVJ
 TlQgdHhfbXV0ZXhfb3JpZ2luYWxfcHJpb3JpdHk7DQogICAgVUlOVCB0eF9tdXRleF9vcmlnaW5h
 bF90aHJlc2hvbGQ7DQoNCg0KDQogICAgc3RydWN0IFRYX1RIUkVBRF9TVFJVQ1QgKnR4X211dGV4
 X3N1c3BlbnNpb25fbGlzdDsNCiAgICBVTE9ORyB0eF9tdXRleF9zdXNwZW5kZWRfY291bnQ7DQoN
 Cg0KICAgIHN0cnVjdCBUWF9NVVRFWF9TVFJVQ1QNCiAgICAgICAgICAgICAgICAqdHhfbXV0ZXhf
 Y3JlYXRlZF9uZXh0LA0KICAgICAgICAgICAgICAgICp0eF9tdXRleF9jcmVhdGVkX3ByZXZpb3Vz
 Ow0KDQp9IFRYX01VVEVYOw0KDQp0eXBlZGVmIFRYX01VVEVYICogVFhfTVVURVhfUFRSOw0KIyA4
 MDEgIi4uLy4uLy4uLy4uL2gvdGhyZWFkeC90eF9hcGkuaCINCnZvaWQgX3R4X2luaXRpYWxpemVf
 a2VybmVsX2VudGVyKHZvaWQpOw0KDQpVSU5UIF90eGVfYnl0ZV9hbGxvY2F0ZShUWF9CWVRFX1BP
 T0wgKnBvb2xfcHRyLCB2b2lkICoqbWVtb3J5X3B0ciwgVUxPTkcgbWVtb3J5X3NpemUsDQogICAg
 ICAgICAgICAgICAgICAgIFVMT05HIHdhaXRfb3B0aW9uKTsNClVJTlQgX3R4ZV9ieXRlX3Bvb2xf
 Y3JlYXRlKFRYX0JZVEVfUE9PTCAqcG9vbF9wdHIsIENIQVIgKm5hbWVfcHRyLCB2b2lkICpwb29s
 X3N0YXJ0LA0KICAgICAgICAgICAgICAgICAgICBVTE9ORyBwb29sX3NpemUpOw0KVUlOVCBfdHhl
 X2J5dGVfcG9vbF9kZWxldGUoVFhfQllURV9QT09MICpwb29sX3B0cik7DQpVSU5UIF90eGVfYnl0
 ZV9wb29sX2luZm9fZ2V0KFRYX0JZVEVfUE9PTCAqcG9vbF9wdHIsIENIQVIgKipuYW1lLCBVTE9O
 RyAqYXZhaWxhYmxlX2J5dGVzLA0KICAgICAgICAgICAgICAgICAgICBVTE9ORyAqZnJhZ21lbnRz
 LCBUWF9USFJFQUQgKipmaXJzdF9zdXNwZW5kZWQsDQogICAgICAgICAgICAgICAgICAgIFVMT05H
 ICpzdXNwZW5kZWRfY291bnQsIFRYX0JZVEVfUE9PTCAqKm5leHRfcG9vbCk7DQpVSU5UIF90eGVf
 Ynl0ZV9wb29sX3ByaW9yaXRpemUoVFhfQllURV9QT09MICpwb29sX3B0cik7DQpVSU5UIF90eGVf
 Ynl0ZV9yZWxlYXNlKHZvaWQgKm1lbW9yeV9wdHIpOw0KDQpVSU5UIF90eGVfYmxvY2tfYWxsb2Nh
 dGUoVFhfQkxPQ0tfUE9PTCAqcG9vbF9wdHIsIHZvaWQgKipibG9ja19wdHIsIFVMT05HIHdhaXRf
 b3B0aW9uKTsNClVJTlQgX3R4ZV9ibG9ja19wb29sX2NyZWF0ZShUWF9CTE9DS19QT09MICpwb29s
 X3B0ciwgQ0hBUiAqbmFtZV9wdHIsIFVMT05HIGJsb2NrX3NpemUsDQogICAgICAgICAgICAgICAg
 ICAgIHZvaWQgKnBvb2xfc3RhcnQsIFVMT05HIHBvb2xfc2l6ZSk7DQpVSU5UIF90eGVfYmxvY2tf
 cG9vbF9kZWxldGUoVFhfQkxPQ0tfUE9PTCAqcG9vbF9wdHIpOw0KVUlOVCBfdHhlX2Jsb2NrX3Bv
 b2xfaW5mb19nZXQoVFhfQkxPQ0tfUE9PTCAqcG9vbF9wdHIsIENIQVIgKipuYW1lLCBVTE9ORyAq
 YXZhaWxhYmxlX2Jsb2NrcywNCiAgICAgICAgICAgICAgICAgICAgVUxPTkcgKnRvdGFsX2Jsb2Nr
 cywgVFhfVEhSRUFEICoqZmlyc3Rfc3VzcGVuZGVkLA0KICAgICAgICAgICAgICAgICAgICBVTE9O
 RyAqc3VzcGVuZGVkX2NvdW50LCBUWF9CTE9DS19QT09MICoqbmV4dF9wb29sKTsNClVJTlQgX3R4
 ZV9ibG9ja19wb29sX3ByaW9yaXRpemUoVFhfQkxPQ0tfUE9PTCAqcG9vbF9wdHIpOw0KVUlOVCBf
 dHhlX2Jsb2NrX3JlbGVhc2Uodm9pZCAqYmxvY2tfcHRyKTsNCg0KVUlOVCBfdHhlX2V2ZW50X2Zs
 YWdzX2NyZWF0ZShUWF9FVkVOVF9GTEFHU19HUk9VUCAqZ3JvdXBfcHRyLCBDSEFSICpuYW1lX3B0
 cik7DQpVSU5UIF90eGVfZXZlbnRfZmxhZ3NfZGVsZXRlKFRYX0VWRU5UX0ZMQUdTX0dST1VQICpn
 cm91cF9wdHIpOw0KVUlOVCBfdHhlX2V2ZW50X2ZsYWdzX2dldChUWF9FVkVOVF9GTEFHU19HUk9V
 UCAqZ3JvdXBfcHRyLCBVTE9ORyByZXF1ZXN0ZWRfZmxhZ3MsDQogICAgICAgICAgICAgICAgICAg
 IFVJTlQgZ2V0X29wdGlvbiwgVUxPTkcgKmFjdHVhbF9mbGFnc19wdHIsIFVMT05HIHdhaXRfb3B0
 aW9uKTsNClVJTlQgX3R4ZV9ldmVudF9mbGFnc19pbmZvX2dldChUWF9FVkVOVF9GTEFHU19HUk9V
 UCAqZ3JvdXBfcHRyLCBDSEFSICoqbmFtZSwgVUxPTkcgKmN1cnJlbnRfZmxhZ3MsDQogICAgICAg
 ICAgICAgICAgICAgIFRYX1RIUkVBRCAqKmZpcnN0X3N1c3BlbmRlZCwgVUxPTkcgKnN1c3BlbmRl
 ZF9jb3VudCwNCiAgICAgICAgICAgICAgICAgICAgVFhfRVZFTlRfRkxBR1NfR1JPVVAgKipuZXh0
 X2dyb3VwKTsNClVJTlQgX3R4ZV9ldmVudF9mbGFnc19zZXQoVFhfRVZFTlRfRkxBR1NfR1JPVVAg
 Kmdyb3VwX3B0ciwgVUxPTkcgZmxhZ3NfdG9fc2V0LA0KICAgICAgICAgICAgICAgICAgICBVSU5U
 IHNldF9vcHRpb24pOw0KDQpVSU5UIF90eF90aHJlYWRfaW50ZXJydXB0X2NvbnRyb2woVUlOVCBu
 ZXdfcG9zdHVyZSk7DQoNClVJTlQgX3R4ZV9xdWV1ZV9jcmVhdGUoVFhfUVVFVUUgKnF1ZXVlX3B0
 ciwgQ0hBUiAqbmFtZV9wdHIsIFVJTlQgbWVzc2FnZV9zaXplLA0KICAgICAgICAgICAgICAgICAg
 ICAgICAgdm9pZCAqcXVldWVfc3RhcnQsIFVMT05HIHF1ZXVlX3NpemUpOw0KVUlOVCBfdHhlX3F1
 ZXVlX2RlbGV0ZShUWF9RVUVVRSAqcXVldWVfcHRyKTsNClVJTlQgX3R4ZV9xdWV1ZV9mbHVzaChU
 WF9RVUVVRSAqcXVldWVfcHRyKTsNClVJTlQgX3R4ZV9xdWV1ZV9pbmZvX2dldChUWF9RVUVVRSAq
 cXVldWVfcHRyLCBDSEFSICoqbmFtZSwgVUxPTkcgKmVucXVldWVkLCBVTE9ORyAqYXZhaWxhYmxl
 X3N0b3JhZ2UsDQogICAgICAgICAgICAgICAgICAgIFRYX1RIUkVBRCAqKmZpcnN0X3N1c3BlbmRl
 ZCwgVUxPTkcgKnN1c3BlbmRlZF9jb3VudCwgVFhfUVVFVUUgKipuZXh0X3F1ZXVlKTsNClVJTlQg
 X3R4ZV9xdWV1ZV9yZWNlaXZlKFRYX1FVRVVFICpxdWV1ZV9wdHIsIHZvaWQgKmRlc3RpbmF0aW9u
 X3B0ciwgVUxPTkcgd2FpdF9vcHRpb24pOw0KVUlOVCBfdHhlX3F1ZXVlX3NlbmQoVFhfUVVFVUUg
 KnF1ZXVlX3B0ciwgdm9pZCAqc291cmNlX3B0ciwgVUxPTkcgd2FpdF9vcHRpb24pOw0KVUlOVCBf
 dHhlX3F1ZXVlX2Zyb250X3NlbmQoVFhfUVVFVUUgKnF1ZXVlX3B0ciwgdm9pZCAqc291cmNlX3B0
 ciwgVUxPTkcgd2FpdF9vcHRpb24pOw0KVUlOVCBfdHhlX3F1ZXVlX3ByaW9yaXRpemUoVFhfUVVF
 VUUgKnF1ZXVlX3B0cik7DQoNCg0KVUlOVCBfdHhlX3NlbWFwaG9yZV9jcmVhdGUoVFhfU0VNQVBI
 T1JFICpzZW1hcGhvcmVfcHRyLCBDSEFSICpuYW1lX3B0ciwgVUxPTkcgaW5pdGlhbF9jb3VudCk7
 DQpVSU5UIF90eGVfc2VtYXBob3JlX2RlbGV0ZShUWF9TRU1BUEhPUkUgKnNlbWFwaG9yZV9wdHIp
 Ow0KVUlOVCBfdHhlX3NlbWFwaG9yZV9nZXQoVFhfU0VNQVBIT1JFICpzZW1hcGhvcmVfcHRyLCBV
 TE9ORyB3YWl0X29wdGlvbik7DQpVSU5UIF90eGVfc2VtYXBob3JlX2luZm9fZ2V0KFRYX1NFTUFQ
 SE9SRSAqc2VtYXBob3JlX3B0ciwgQ0hBUiAqKm5hbWUsIFVMT05HICpjdXJyZW50X3ZhbHVlLA0K
 ICAgICAgICAgICAgICAgICAgICBUWF9USFJFQUQgKipmaXJzdF9zdXNwZW5kZWQsIFVMT05HICpz
 dXNwZW5kZWRfY291bnQsDQogICAgICAgICAgICAgICAgICAgIFRYX1NFTUFQSE9SRSAqKm5leHRf
 c2VtYXBob3JlKTsNClVJTlQgX3R4ZV9zZW1hcGhvcmVfcHJpb3JpdGl6ZShUWF9TRU1BUEhPUkUg
 KnNlbWFwaG9yZV9wdHIpOw0KVUlOVCBfdHhlX3NlbWFwaG9yZV9wdXQoVFhfU0VNQVBIT1JFICpz
 ZW1hcGhvcmVfcHRyKTsNCg0KVUlOVCBfdHhlX211dGV4X2NyZWF0ZShUWF9NVVRFWCAqbXV0ZXhf
 cHRyLCBDSEFSICpuYW1lX3B0ciwgVUlOVCBpbmhlcml0KTsNClVJTlQgX3R4ZV9tdXRleF9kZWxl
 dGUoVFhfTVVURVggKm11dGV4X3B0cik7DQpVSU5UIF90eGVfbXV0ZXhfZ2V0KFRYX01VVEVYICpt
 dXRleF9wdHIsIFVMT05HIHdhaXRfb3B0aW9uKTsNClVJTlQgX3R4ZV9tdXRleF9pbmZvX2dldChU
 WF9NVVRFWCAqbXV0ZXhfcHRyLCBDSEFSICoqbmFtZSwgVUxPTkcgKmNvdW50LCBUWF9USFJFQUQg
 Kipvd25lciwNCiAgICAgICAgICAgICAgICAgICAgVFhfVEhSRUFEICoqZmlyc3Rfc3VzcGVuZGVk
 LCBVTE9ORyAqc3VzcGVuZGVkX2NvdW50LA0KICAgICAgICAgICAgICAgICAgICBUWF9NVVRFWCAq
 Km5leHRfbXV0ZXgpOw0KVUlOVCBfdHhlX211dGV4X3ByaW9yaXRpemUoVFhfTVVURVggKm11dGV4
 X3B0cik7DQpVSU5UIF90eGVfbXV0ZXhfcHV0KFRYX01VVEVYICptdXRleF9wdHIpOw0KDQpVSU5U
 IF90eGVfdGhyZWFkX2NyZWF0ZShUWF9USFJFQUQgKnRocmVhZF9wdHIsIENIQVIgKm5hbWVfcHRy
 LA0KICAgICAgICAgICAgICAgIHZvaWQgKCplbnRyeV9mdW5jdGlvbikoVUxPTkcpLCBVTE9ORyBl
 bnRyeV9pbnB1dCwNCiAgICAgICAgICAgICAgICB2b2lkICpzdGFja19zdGFydCwgVUxPTkcgc3Rh
 Y2tfc2l6ZSwNCiAgICAgICAgICAgICAgICBVSU5UIHByaW9yaXR5LCBVSU5UIHByZWVtcHRfdGhy
 ZXNob2xkLA0KICAgICAgICAgICAgICAgIFVMT05HIHRpbWVfc2xpY2UsIFVJTlQgYXV0b19zdGFy
 dCk7DQpVSU5UIF90eGVfdGhyZWFkX2RlbGV0ZShUWF9USFJFQUQgKnRocmVhZF9wdHIpOw0KVFhf
 VEhSRUFEICpfdHhfdGhyZWFkX2lkZW50aWZ5KHZvaWQpOw0KVUlOVCBfdHhlX3RocmVhZF9pbmZv
 X2dldChUWF9USFJFQUQgKnRocmVhZF9wdHIsIENIQVIgKipuYW1lLCBVSU5UICpzdGF0ZSwgVUxP
 TkcgKnJ1bl9jb3VudCwNCiAgICAgICAgICAgICAgICBVSU5UICpwcmlvcml0eSwgVUlOVCAqcHJl
 ZW1wdGlvbl90aHJlc2hvbGQsIFVMT05HICp0aW1lX3NsaWNlLA0KICAgICAgICAgICAgICAgIFRY
 X1RIUkVBRCAqKm5leHRfdGhyZWFkLCBUWF9USFJFQUQgKipuZXh0X3N1c3BlbmRlZF90aHJlYWQp
 Ow0KVUlOVCBfdHhlX3RocmVhZF9wcmVlbXB0aW9uX2NoYW5nZShUWF9USFJFQUQgKnRocmVhZF9w
 dHIsIFVJTlQgbmV3X3RocmVzaG9sZCwNCiAgICAgICAgICAgICAgICAgICAgICAgIFVJTlQgKm9s
 ZF90aHJlc2hvbGQpOw0KVUlOVCBfdHhlX3RocmVhZF9wcmlvcml0eV9jaGFuZ2UoVFhfVEhSRUFE
 ICp0aHJlYWRfcHRyLCBVSU5UIG5ld19wcmlvcml0eSwNCiAgICAgICAgICAgICAgICAgICAgICAg
 IFVJTlQgKm9sZF9wcmlvcml0eSk7DQp2b2lkIF90eGVfdGhyZWFkX3JlbGlucXVpc2godm9pZCk7
 DQpVSU5UIF90eGVfdGhyZWFkX3Jlc3VtZV9hcGkoVFhfVEhSRUFEICp0aHJlYWRfcHRyKTsNClVJ
 TlQgX3R4X3RocmVhZF9zbGVlcChVTE9ORyB0aW1lcl90aWNrcyk7DQpVSU5UIF90eGVfdGhyZWFk
 X3N1c3BlbmRfYXBpKFRYX1RIUkVBRCAqdGhyZWFkX3B0cik7DQpVSU5UIF90eGVfdGhyZWFkX3Rl
 cm1pbmF0ZShUWF9USFJFQUQgKnRocmVhZF9wdHIpOw0KVUlOVCBfdHhlX3RocmVhZF90aW1lX3Ns
 aWNlX2NoYW5nZShUWF9USFJFQUQgKnRocmVhZF9wdHIsIFVMT05HIG5ld190aW1lX3NsaWNlLCBV
 TE9ORyAqb2xkX3RpbWVfc2xpY2UpOw0KVUlOVCBfdHhlX3RocmVhZF93YWl0X2Fib3J0KFRYX1RI
 UkVBRCAqdGhyZWFkX3B0cik7DQoNClVMT05HIF90eF90aW1lX2dldCh2b2lkKTsNCnZvaWQgX3R4
 X3RpbWVfc2V0KFVMT05HIG5ld190aW1lKTsNCg0KVUlOVCBfdHhlX3RpbWVyX2FjdGl2YXRlX2Fw
 aShUWF9USU1FUiAqdGltZXJfcHRyKTsNClVJTlQgX3R4ZV90aW1lcl9jaGFuZ2UoVFhfVElNRVIg
 KnRpbWVyX3B0ciwgVUxPTkcgaW5pdGlhbF90aWNrcywgVUxPTkcgcmVzY2hlZHVsZV90aWNrcyk7
 DQpVSU5UIF90eGVfdGltZXJfY3JlYXRlKFRYX1RJTUVSICp0aW1lcl9wdHIsIENIQVIgKm5hbWVf
 cHRyLA0KICAgICAgICAgICAgICAgIHZvaWQgKCpleHBpcmF0aW9uX2Z1bmN0aW9uKShVTE9ORyks
 IFVMT05HIGV4cGlyYXRpb25faW5wdXQsIFVMT05HIGluaXRpYWxfdGlja3MsDQogICAgICAgICAg
 ICAgICAgVUxPTkcgcmVzY2hlZHVsZV90aWNrcywgVUlOVCBhdXRvX2FjdGl2YXRlKTsNClVJTlQg
 X3R4ZV90aW1lcl9kZWFjdGl2YXRlX2FwaShUWF9USU1FUiAqdGltZXJfcHRyKTsNClVJTlQgX3R4
 ZV90aW1lcl9kZWxldGUoVFhfVElNRVIgKnRpbWVyX3B0cik7DQpVSU5UIF90eGVfdGltZXJfaW5m
 b19nZXQoVFhfVElNRVIgKnRpbWVyX3B0ciwgQ0hBUiAqKm5hbWUsIFVJTlQgKmFjdGl2ZSwgVUxP
 TkcgKnJlbWFpbmluZ190aWNrcywNCiAgICAgICAgICAgICAgICBVTE9ORyAqcmVzY2hlZHVsZV90
 aWNrcywgVFhfVElNRVIgKipuZXh0X3RpbWVyKTsNCiMgNjUgIi4uL2RocnlfMS5jIiAyDQojIDEg
 Ii4uLy4uLy4uLy4uL2gvYnNwX2FwaS5oIiAxDQojIDU0ICIuLi8uLi8uLi8uLi9oL2JzcF9hcGku
 aCINCiMgMSAiLi4vLi4vLi4vLi4vaC9ucHR0eXBlcy5oIiAxDQojIDY5ICIuLi8uLi8uLi8uLi9o
 L25wdHR5cGVzLmgiDQojIDEgIi91c3IvYXJtLWVsZi9pbmNsdWRlL2xpbWl0cy5oIiAxIDMgNA0K
 IyAxMjUgIi91c3IvYXJtLWVsZi9pbmNsdWRlL2xpbWl0cy5oIiAzIDQNCiMgMSAiL3Vzci9saWIv
 Z2NjLWxpYi9hcm0tZWxmLzMuMi9pbmNsdWRlL2xpbWl0cy5oIiAxIDMgNA0KIyAxMjYgIi91c3Iv
 YXJtLWVsZi9pbmNsdWRlL2xpbWl0cy5oIiAyIDMgNA0KIyA3MCAiLi4vLi4vLi4vLi4vaC9ucHR0
 eXBlcy5oIiAyDQojIDEgIi4uLy4uLy4uLy4uL2gvZXJyaG5kbHIuaCIgMQ0KIyAxMTcgIi4uLy4u
 Ly4uLy4uL2gvZXJyaG5kbHIuaCINCnZvaWQgY3VzdG9taXplRXJyb3JIYW5kbGVyKGludCBlcnJv
 ckNvZGUsIGludCBzdWJjb2RlKTsNCiMgMTUwICIuLi8uLi8uLi8uLi9oL2VycmhuZGxyLmgiDQp2
 b2lkIGNyYXNoX2Zvcl9kZWJ1ZyhpbnQgZXJyb3JDb2RlKTsNCiMgNzEgIi4uLy4uLy4uLy4uL2gv
 bnB0dHlwZXMuaCIgMg0KIyAyMzUgIi4uLy4uLy4uLy4uL2gvbnB0dHlwZXMuaCINCnR5cGVkZWYg
 Y2hhciBJTlQ4Ow0KDQoNCg0KDQoNCg0KDQp0eXBlZGVmIHNob3J0IGludCBJTlQxNjsNCiMgMjUz
 ICIuLi8uLi8uLi8uLi9oL25wdHR5cGVzLmgiDQp0eXBlZGVmIElOVDE2IEVSUk9SOw0KDQoNCg0K
 DQoNCg0KdHlwZWRlZiBsb25nIGludCBJTlQzMjsNCiMgMjcyICIuLi8uLi8uLi8uLi9oL25wdHR5
 cGVzLmgiDQp0eXBlZGVmIHVuc2lnbmVkIGNoYXIgV09SRDg7DQoNCg0KdHlwZWRlZiB1bnNpZ25l
 ZCBjaGFyIEJZVEU7DQojIDI4NCAiLi4vLi4vLi4vLi4vaC9ucHR0eXBlcy5oIg0KdHlwZWRlZiBz
 aG9ydCB1bnNpZ25lZCBXT1JEMTY7DQoNCg0KDQoNCg0KDQoNCnR5cGVkZWYgbG9uZyB1bnNpZ25l
 ZCBXT1JEMzI7DQojIDM0MiAiLi4vLi4vLi4vLi4vaC9ucHR0eXBlcy5oIg0KdHlwZWRlZiBpbnQg
 Qk9PTEVBTjsNCiMgNTUgIi4uLy4uLy4uLy4uL2gvYnNwX2FwaS5oIiAyDQojIDEgIi4uLy4uLy4u
 Ly4uL2gvYnNwLmgiIDENCiMgMzIgIi4uLy4uLy4uLy4uL2gvYnNwLmgiDQojIDEgIi4uLy4uLy4u
 Ly4uL2gvYnNwX2FwaS5oIiAxDQojIDMzICIuLi8uLi8uLi8uLi9oL2JzcC5oIiAyDQojIDI4NCAi
 Li4vLi4vLi4vLi4vaC9ic3AuaCINCmV4dGVybiBjb25zdCB1bnNpZ25lZCBpbnQgT3B0UmVnV2Fp
 dEFuZEJ1cnN0TWFzazsNCmV4dGVybiBjb25zdCB1bnNpZ25lZCBpbnQgT3B0UmVnUnN5bmNNYXNr
 Ow0KZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIGludCBBZGRSZWdCdXJzdE1hc2s7DQpleHRlcm4gY29u
 c3QgdW5zaWduZWQgaW50IGNzMUFkZFJlZ0VET1NldHRpbmdNYXNrOw0KDQp0eXBlZGVmIHN0cnVj
 dA0Kew0KDQoNCg0KDQogICAgY29uc3QgdW5zaWduZWQgaW50IHVzZXNJbnRlcm5hbE9zY2lsbGF0
 b3I7DQoNCg0KICAgIGNvbnN0IHVuc2lnbmVkIGludCBjczBXYWl0U3RhdGVzOw0KDQoNCiAgICBj
 b25zdCB1bnNpZ25lZCBpbnQgY3MwQnVzQ3ljbGVzOw0KDQoNCiAgICBjb25zdCB1bnNpZ25lZCBp
 bnQgY3MwQnVzU2l6ZTsNCg0KDQoNCiAgICBjb25zdCB1bnNpZ25lZCBpbnQgY3MwVXNlUnN5bmM7
 DQoNCg0KICAgIGNvbnN0IHVuc2lnbmVkIGludCBjczBBZGRSZWdCdXJzdDsNCg0KDQogICAgY29u
 c3QgdW5zaWduZWQgaW50IGNzMUVkb01vZGU7DQoNCg0KICAgIGNvbnN0IHVuc2lnbmVkIGludCBj
 czFJZGxlQml0Ow0KDQoNCiAgICBjb25zdCB1bnNpZ25lZCBpbnQgY3MxRWRvV2FpdFN0YXRlczsN
 Cg0KDQogICAgY29uc3QgdW5zaWduZWQgaW50IGNzMUVkb0J1c0N5Y2xlczsNCg0KDQogICAgY29u
 c3QgdW5zaWduZWQgaW50IGNzMUVkb0J1c1NpemU7DQoNCg0KICAgIGNvbnN0IHVuc2lnbmVkIGlu
 dCBjczFTZFdhaXRTdGF0ZXM7DQoNCg0KICAgIGNvbnN0IHVuc2lnbmVkIGludCBjczFTZEJ1c0N5
 Y2xlczsNCg0KDQogICAgY29uc3QgdW5zaWduZWQgaW50IGNzMVNkQnVzU2l6ZTsNCg0KDQogICAg
 Y29uc3QgdW5zaWduZWQgaW50IGNzM1dhaXRTdGF0ZXM7DQp9IE5BSW5pdFJlZ2lzdGVyVHlwZTsN
 CiMgMzU3ICIuLi8uLi8uLi8uLi9oL2JzcC5oIg0KZXh0ZXJuIGNvbnN0IE5BSW5pdFJlZ2lzdGVy
 VHlwZSBOQU5ldGFybUluaXREYXRhW107DQoNCmV4dGVybiBjb25zdCB1bnNpZ25lZCBpbnQgTkFP
 cHRSZWdXYWl0QW5kQnVyc3RNYXNrOw0KZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIGludCBOQU9wdFJl
 Z1JzeW5jTWFzazsNCmV4dGVybiBjb25zdCB1bnNpZ25lZCBpbnQgTkFBZGRSZWdCdXJzdE1hc2s7
 DQpleHRlcm4gY29uc3QgdW5zaWduZWQgaW50IE5BY3MxQWRkUmVnRURPU2V0dGluZ01hc2s7DQoN
 CmV4dGVybiB1bnNpZ25lZCBpbnQgTkFnZXRQbGxWYWx1ZUJhc2VkT25DaGlwVHlwZSh2b2lkKTsN
 CmV4dGVybiB1bnNpZ25lZCBpbnQgTkF1c2VzVGhlSW50ZXJuYWxPc2NpbGxhdG9yKHZvaWQpOw0K
 IyA1NiAiLi4vLi4vLi4vLi4vaC9ic3BfYXBpLmgiIDINCiMgNjkgIi4uLy4uLy4uLy4uL2gvYnNw
 X2FwaS5oIg0KdHlwZWRlZiBlbnVtDQp7DQogICAgbmFIaWdoUHJpb3JpdHksDQogICAgbmFNZWRp
 dW1Qcmlvcml0eSwNCiAgICBuYUxvd1ByaW9yaXR5LA0KICAgIG5hRGVmYXVsdFByaW9yaXR5LA0K
 ICAgIG5hRnRwUHJpb3JpdHksDQogICAgbmFTbm1wUHJpb3JpdHkNCn0gYnNwUHJpb3JpdHlFbnVt
 VHlwZTsNCiMgMTAxICIuLi8uLi8uLi8uLi9oL2JzcF9hcGkuaCINCldPUkQzMiBOQUJzcFRpY2tz
 UGVyU2Vjb25kKHZvaWQpOw0KIyAxMjIgIi4uLy4uLy4uLy4uL2gvYnNwX2FwaS5oIg0KaW50IE5B
 QnNwR2V0VWRwRGVidWdQb3J0KHZvaWQpOw0KIyAxNDMgIi4uLy4uLy4uLy4uL2gvYnNwX2FwaS5o
 Ig0KaW50IE5BQnNwU2VyaWFsUG9ydFR5cGUoaW50IHBvcnQpOw0KIyAxNzEgIi4uLy4uLy4uLy4u
 L2gvYnNwX2FwaS5oIg0KVUlOVCBOQVRyYW5zbGF0ZVByaW9yaXR5TGV2ZWwoYnNwUHJpb3JpdHlF
 bnVtVHlwZSBsZXZlbCk7DQojIDE5NCAiLi4vLi4vLi4vLi4vaC9ic3BfYXBpLmgiDQppbnQgTkFC
 c3BOdnJhbURyaXZlcih2b2lkKTsNCiMgMjIwICIuLi8uLi8uLi8uLi9oL2JzcF9hcGkuaCINCkJP
 T0xFQU4gTkFCc3BHZXRFZXByb21JbmZvKFdPUkQzMiAqYmFzZSwgV09SRDMyICpzaXplKTsNCiMg
 MjQzICIuLi8uLi8uLi8uLi9oL2JzcF9hcGkuaCINCmludCBOQUJzcEZsYXNoQmFua3Modm9pZCk7
 DQojIDY2ICIuLi9kaHJ5XzEuYyIgMg0KIyA3NiAiLi4vZGhyeV8xLmMiDQpSZWNfUG9pbnRlciBQ
 dHJfR2xvYiwNCiAgICAgICAgICAgICAgICBOZXh0X1B0cl9HbG9iOw0KaW50IEludF9HbG9iOw0K
 Qm9vbGVhbiBCb29sX0dsb2I7DQpjaGFyIENoXzFfR2xvYiwNCiAgICAgICAgICAgICAgICBDaF8y
 X0dsb2I7DQppbnQgQXJyXzFfR2xvYls1MF07DQppbnQgQXJyXzJfR2xvYiBbNTBdIFs1MF07DQpp
 bnQgTnVtYmVyX09mX1J1bnM7DQpTdHJfMzAgc2Vjb25kU3RyaW5nLCB0aGlyZFN0cmluZzsNCg0K
 DQoNCg0KDQoNCg0KZXh0ZXJuIGNoYXIgKm1hbGxvYyAoKTsNCkVudW1lcmF0aW9uIEZ1bmNfMSAo
 KTsNCg0KDQoNCiAgICAgICAgQm9vbGVhbiBSZWcgPSAwOw0KIyAxMDkgIi4uL2RocnlfMS5jIg0K
 bG9uZyBCZWdpbl9UaW1lLA0KICAgICAgICAgICAgICAgIEVuZF9UaW1lLA0KICAgICAgICAgICAg
 ICAgIFVzZXJfVGltZTsNCmZsb2F0IE1pY3Jvc2Vjb25kcywNCiAgICAgICAgICAgICAgICBEaHJ5
 c3RvbmVzX1Blcl9TZWNvbmQ7DQoNCg0KDQoNCg0KDQoNCnZvaWQgbG9jYWxTdHJjcHkoY2hhciAq
 ZGVzdCwgY2hhciAqc3JjKTsNCnZvaWQgZGhyeXN0b25lMl8xIChyZWdpc3RlciBpbnQgTnVtYmVy
 X09mX1J1bnMsIGNoYXIgKlN0cl8xX0xvYyk7DQoNCg0KDQpleHRlcm4gdW5zaWduZWQgbG9uZyBO
 QUlSUU1hc2s7DQpleHRlcm4gVFhfU0VNQVBIT1JFIGJlbmNobWFya1NlbWFwaG9yZTsNCg0Kdm9p
 ZCBydW5EaHJ5c3RvbmUyXzEoKQ0Kew0KICAgIFN0cl8zMCBTdHJfMV9Mb2M7DQoNCg0KICAgIHVu
 c2lnbmVkIHNhdmVkSWVyOw0KICAgIHVuc2lnbmVkICppZXIgPSAodW5zaWduZWQgKikgMHhmZmIw
 MDAzMDsNCiAgICB1bnNpZ25lZCBsb25nIHNhdmVkTkFJUlFNYXNrOw0KDQoNCg0KDQoNCiAgICBO
 dW1iZXJfT2ZfUnVucyA9IDI1MDAwMDsNCiAgICBfdHhlX3NlbWFwaG9yZV9wdXQgKCZiZW5jaG1h
 cmtTZW1hcGhvcmUpOw0KICAgIF90eF90aHJlYWRfc2xlZXAoMTApOw0KICAgIF90eGVfc2VtYXBo
 b3JlX2dldCAoJmJlbmNobWFya1NlbWFwaG9yZSwgMHhGRkZGRkZGRlVMKTsNCg0KDQoNCiAgICBz
 dHJjcHkgKHNlY29uZFN0cmluZywgIkRIUllTVE9ORSBQUk9HUkFNLCAyJ05EIFNUUklORyIpOw0K
 ICAgIHN0cmNweSAodGhpcmRTdHJpbmcsICJESFJZU1RPTkUgUFJPR1JBTSwgMydSRCBTVFJJTkci
 KTsNCg0KDQoNCg0KDQoNCiAgICAgICAgTmV4dF9QdHJfR2xvYiA9IChSZWNfUG9pbnRlcikgbWFs
 bG9jKHNpemVvZihSZWNfVHlwZSkpOw0KICAgICAgICBQdHJfR2xvYiA9IChSZWNfUG9pbnRlcikg
 bWFsbG9jKHNpemVvZihSZWNfVHlwZSkpOw0KDQogICAgUHRyX0dsb2ItPlB0cl9Db21wID0gTmV4
 dF9QdHJfR2xvYjsNCiAgICBQdHJfR2xvYi0+RGlzY3IgPSBJZGVudF8xOw0KICAgIFB0cl9HbG9i
 LT52YXJpYW50LnZhcl8xLkVudW1fQ29tcCA9IElkZW50XzM7DQogICAgUHRyX0dsb2ItPnZhcmlh
 bnQudmFyXzEuSW50X0NvbXAgPSA0MDsNCiAgICBsb2NhbFN0cmNweSAoUHRyX0dsb2ItPnZhcmlh
 bnQudmFyXzEuU3RyX0NvbXAsDQogICAgICAgICAgIkRIUllTVE9ORSBQUk9HUkFNLCBTT01FIFNU
 UklORyIpOw0KICAgIGxvY2FsU3RyY3B5IChTdHJfMV9Mb2MsICJESFJZU1RPTkUgUFJPR1JBTSwg
 MSdTVCBTVFJJTkciKTsNCg0KICAgIEFycl8yX0dsb2IgWzhdWzddID0gMTA7DQojIDE4OCAiLi4v
 ZGhyeV8xLmMiDQogICAgc2F2ZWRJZXIgPSAqaWVyOw0KICAgICppZXIgPSAwOw0KICAgIHNhdmVk
 TkFJUlFNYXNrID0gTkFJUlFNYXNrOw0KICAgIE5BSVJRTWFzayA9IDB4MjA7DQogICAgKmllciA9
 IDB4MjA7DQoNCg0KDQoNCg0KICAgIEJlZ2luX1RpbWUgPSBfdHhfdGltZV9nZXQoKTsNCg0KDQoN
 Cg0KDQogICAgZGhyeXN0b25lMl8xIChOdW1iZXJfT2ZfUnVucywgU3RyXzFfTG9jKTsNCg0KDQoN
 Cg0KDQoNCiAgICBFbmRfVGltZSA9IF90eF90aW1lX2dldCgpOw0KDQoNCg0KDQogICAgKmllciA9
 IDA7DQogICAgTkFJUlFNYXNrID0gc2F2ZWROQUlSUU1hc2s7DQogICAgKmllciA9IHNhdmVkSWVy
 Ow0KDQogICAgX3R4X3RocmVhZF9zbGVlcCg1KTsNCg0KICAgIFVzZXJfVGltZSA9IEVuZF9UaW1l
 IC0gQmVnaW5fVGltZTsNCg0KDQoNCg0KICAgIF90eGVfc2VtYXBob3JlX3B1dCAoJmJlbmNobWFy
 a1NlbWFwaG9yZSk7DQogICAgX3R4X3RocmVhZF9zbGVlcCgxMCk7DQogICAgX3R4ZV9zZW1hcGhv
 cmVfZ2V0ICgmYmVuY2htYXJrU2VtYXBob3JlLCAweEZGRkZGRkZGVUwpOw0KDQp9DQoNCg0KDQp2
 b2lkIGRocnlzdG9uZTJfMSAocmVnaXN0ZXIgaW50IE51bWJlcl9PZl9SdW5zLCBjaGFyICpTdHJf
 MV9Mb2MpDQoNCg0KDQoNCnsNCiAgICAgICAgT25lX0ZpZnR5IEludF8xX0xvYzsNCiAgT25lX0Zp
 ZnR5IEludF8yX0xvYzsNCiAgICAgICAgT25lX0ZpZnR5IEludF8zX0xvYzsNCiAgY2hhciBDaF9J
 bmRleDsNCiAgICAgICAgRW51bWVyYXRpb24gRW51bV9Mb2M7DQoNCiAgICAgICAgU3RyXzMwIFN0
 cl8yX0xvYzsNCiAgaW50IFJ1bl9JbmRleDsNCg0KDQoNCiAgZm9yIChSdW5fSW5kZXggPSAxOyBS
 dW5fSW5kZXggPD0gTnVtYmVyX09mX1J1bnM7ICsrUnVuX0luZGV4KQ0KICB7DQoNCiAgICBQcm9j
 XzUoKTsNCiAgICBQcm9jXzQoKTsNCg0KICAgIEludF8xX0xvYyA9IDI7DQogICAgSW50XzJfTG9j
 ID0gMzsNCiAgICBsb2NhbFN0cmNweSAoU3RyXzJfTG9jLCBzZWNvbmRTdHJpbmcpOw0KICAgIEVu
 dW1fTG9jID0gSWRlbnRfMjsNCiAgICBCb29sX0dsb2IgPSAhIEZ1bmNfMiAoU3RyXzFfTG9jLCBT
 dHJfMl9Mb2MpOw0KDQogICAgd2hpbGUgKEludF8xX0xvYyA8IEludF8yX0xvYykNCiAgICB7DQog
 ICAgICBJbnRfM19Mb2MgPSA1ICogSW50XzFfTG9jIC0gSW50XzJfTG9jOw0KDQogICAgICBQcm9j
 XzcgKEludF8xX0xvYywgSW50XzJfTG9jLCAmSW50XzNfTG9jKTsNCg0KICAgICAgSW50XzFfTG9j
 ICs9IDE7DQogICAgfQ0KDQogICAgUHJvY184IChBcnJfMV9HbG9iLCBBcnJfMl9HbG9iLCBJbnRf
 MV9Mb2MsIEludF8zX0xvYyk7DQoNCiAgICBQcm9jXzEgKFB0cl9HbG9iKTsNCiAgICBmb3IgKENo
 X0luZGV4ID0gJ0EnOyBDaF9JbmRleCA8PSBDaF8yX0dsb2I7ICsrQ2hfSW5kZXgpDQoNCiAgICB7
 DQogICAgICBpZiAoRW51bV9Mb2MgPT0gRnVuY18xIChDaF9JbmRleCwgJ0MnKSkNCg0KICAgICAg
 ICB7DQogICAgICAgIFByb2NfNiAoSWRlbnRfMSwgJkVudW1fTG9jKTsNCiAgICAgICAgbG9jYWxT
 dHJjcHkgKFN0cl8yX0xvYywgdGhpcmRTdHJpbmcpOw0KICAgICAgICBJbnRfMl9Mb2MgPSBSdW5f
 SW5kZXg7DQogICAgICAgIEludF9HbG9iID0gUnVuX0luZGV4Ow0KICAgICAgICB9DQogICAgfQ0K
 DQogICAgSW50XzJfTG9jID0gSW50XzJfTG9jICogSW50XzFfTG9jOw0KDQoNCg0KDQoNCg0KICAg
 ICAgSW50XzFfTG9jID0gbG9jYWxEaXZpZGUgKEludF8zX0xvYywgSW50XzJfTG9jKTsNCg0KICAg
 IEludF8yX0xvYyA9IDcgKiAoSW50XzJfTG9jIC0gSW50XzNfTG9jKSAtIEludF8xX0xvYzsNCg0K
 ICAgIFByb2NfMiAoJkludF8xX0xvYyk7DQoNCg0KICB9DQojIDMyNiAiLi4vZGhyeV8xLmMiDQp9
 DQojIDM0OSAiLi4vZGhyeV8xLmMiDQp2b2lkIGxvY2FsU3RyY3B5KHJlZ2lzdGVyIGNoYXIgKmRl
 c3QsIHJlZ2lzdGVyIGNoYXIgKnNyYykNCnsNCiAgICB3aGlsZSAoKmRlc3QrKyA9ICpzcmMrKyk7
 DQp9DQoNCg0KUHJvY18xIChQdHJfVmFsX1BhcikNCg0KDQogUmVjX1BvaW50ZXIgUHRyX1ZhbF9Q
 YXI7DQoNCnsNCiAgUmVjX1BvaW50ZXIgTmV4dF9SZWNvcmQgPSBQdHJfVmFsX1Bhci0+UHRyX0Nv
 bXA7DQoNCg0KDQoNCiAgKlB0cl9WYWxfUGFyLT5QdHJfQ29tcCA9ICpQdHJfR2xvYjsNCiAgUHRy
 X1ZhbF9QYXItPnZhcmlhbnQudmFyXzEuSW50X0NvbXAgPSA1Ow0KICBOZXh0X1JlY29yZC0+dmFy
 aWFudC52YXJfMS5JbnRfQ29tcA0KICAgICAgICA9IFB0cl9WYWxfUGFyLT52YXJpYW50LnZhcl8x
 LkludF9Db21wOw0KICBOZXh0X1JlY29yZC0+UHRyX0NvbXAgPSBQdHJfVmFsX1Bhci0+UHRyX0Nv
 bXA7DQogIFByb2NfMyAoJk5leHRfUmVjb3JkLT5QdHJfQ29tcCk7DQoNCg0KICBpZiAoTmV4dF9S
 ZWNvcmQtPkRpc2NyID09IElkZW50XzEpDQoNCiAgew0KICAgIE5leHRfUmVjb3JkLT52YXJpYW50
 LnZhcl8xLkludF9Db21wID0gNjsNCiAgICBQcm9jXzYgKFB0cl9WYWxfUGFyLT52YXJpYW50LnZh
 cl8xLkVudW1fQ29tcCwNCiAgICAgICAgICAgJk5leHRfUmVjb3JkLT52YXJpYW50LnZhcl8xLkVu
 dW1fQ29tcCk7DQogICAgTmV4dF9SZWNvcmQtPlB0cl9Db21wID0gUHRyX0dsb2ItPlB0cl9Db21w
 Ow0KICAgIFByb2NfNyAoTmV4dF9SZWNvcmQtPnZhcmlhbnQudmFyXzEuSW50X0NvbXAsIDEwLA0K
 ICAgICAgICAgICAmTmV4dF9SZWNvcmQtPnZhcmlhbnQudmFyXzEuSW50X0NvbXApOw0KICB9DQog
 IGVsc2UNCiAgICAqUHRyX1ZhbF9QYXIgPSAqUHRyX1ZhbF9QYXItPlB0cl9Db21wOw0KfQ0KDQoN
 ClByb2NfMiAoSW50X1Bhcl9SZWYpDQoNCg0KDQoNCk9uZV9GaWZ0eSAqSW50X1Bhcl9SZWY7DQp7
 DQogIE9uZV9GaWZ0eSBJbnRfTG9jOw0KICBFbnVtZXJhdGlvbiBFbnVtX0xvYzsNCg0KICBJbnRf
 TG9jID0gKkludF9QYXJfUmVmICsgMTA7DQogIGRvDQogICAgaWYgKENoXzFfR2xvYiA9PSAnQScp
 DQoNCiAgICB7DQogICAgICBJbnRfTG9jIC09IDE7DQogICAgICAqSW50X1Bhcl9SZWYgPSBJbnRf
 TG9jIC0gSW50X0dsb2I7DQogICAgICBFbnVtX0xvYyA9IElkZW50XzE7DQogICAgfQ0KICB3aGls
 ZSAoRW51bV9Mb2MgIT0gSWRlbnRfMSk7DQp9DQoNCg0KUHJvY18zIChQdHJfUmVmX1BhcikNCg0K
 DQoNCg0KUmVjX1BvaW50ZXIgKlB0cl9SZWZfUGFyOw0KDQp7DQogIGlmIChQdHJfR2xvYiAhPSAw
 KQ0KDQogICAgKlB0cl9SZWZfUGFyID0gUHRyX0dsb2ItPlB0cl9Db21wOw0KICBQcm9jXzcgKDEw
 LCBJbnRfR2xvYiwgJlB0cl9HbG9iLT52YXJpYW50LnZhcl8xLkludF9Db21wKTsNCn0NCg0KDQpQ
 cm9jXzQgKCkNCg0KDQp7DQogIEJvb2xlYW4gQm9vbF9Mb2M7DQoNCiAgQm9vbF9Mb2MgPSBDaF8x
 X0dsb2IgPT0gJ0EnOw0KICBCb29sX0dsb2IgPSBCb29sX0xvYyB8IEJvb2xfR2xvYjsNCiAgQ2hf
 Ml9HbG9iID0gJ0InOw0KfQ0KDQoNClByb2NfNSAoKQ0KDQoNCnsNCiAgQ2hfMV9HbG9iID0gJ0En
 Ow0KICBCb29sX0dsb2IgPSAwOw0KfQ0KIyA0NzEgIi4uL2RocnlfMS5jIg0KaW50IGxvY2FsRGl2
 aWRlIChpbnQgZGl2aXNvciwgaW50IGRpdmlzZWUpDQoNCnsNCiMgNDg0ICIuLi9kaHJ5XzEuYyIN
 CiAgICByZXR1cm4gZGl2aXNlZS9kaXZpc29yOw0KfQ0K
 
 ------_=_NextPart_001_01C30A85.B113E427--

Comment 3 lzhen 2003-04-24 13:39:40 UTC
From: "Zhen, Li" <LZhen@NetSilicon.com>
To: <bangerth@dealii.org>,
	<gcc-bugs@gcc.gnu.org>,
	<gcc-prs@gcc.gnu.org>,
	"Zhen, Li" <LZhen@NetSilicon.com>,
	<nobody@gcc.gnu.org>,
	<gcc-gnats@gcc.gnu.org>
Cc:  
Subject: RE: target/10467: [arm] ICE in pre_insert_copy_insn, 
Date: Thu, 24 Apr 2003 13:39:40 -0400

 without -mthumb, it was compiled fine.
 
 Thanks,
 
 Li
 
 
 -----Original Message-----
 From: bangerth@dealii.org [mailto:bangerth@dealii.org]
 Sent: Thursday, April 24, 2003 1:24 PM
 To: gcc-bugs@gcc.gnu.org; gcc-prs@gcc.gnu.org; Zhen, Li;
 nobody@gcc.gnu.org
 Subject: Re: target/10467: [arm] ICE in pre_insert_copy_insn,=20
 
 
 Old Synopsis: internal compiler error
 New Synopsis: [arm] ICE in pre_insert_copy_insn,=20
 
 State-Changed-From-To: feedback->open
 State-Changed-By: bangerth
 State-Changed-When: Thu Apr 24 17:24:15 2003
 State-Changed-Why:
     Preprocessed sources received. needs someone with an=20
     ARM platform to verify
 
 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=3Dview%20audit-trail&database=3D=
 gcc&pr=3D10467

Comment 4 Wolfgang Bangerth 2003-04-24 17:24:15 UTC
State-Changed-From-To: feedback->open
State-Changed-Why: Preprocessed sources received. needs someone with an 
    ARM platform to verify
Comment 5 Dara Hazeghi 2003-05-14 15:17:35 UTC
From: Dara Hazeghi <dhazeghi@yahoo.com>
To: lzhen@netsilicon.com, gcc-gnats@gcc.gnu.org, nobody@gcc.gnu.org
Cc:  
Subject: Re: target/10467: [arm] ICE in pre_insert_copy_insn,
Date: Wed, 14 May 2003 15:17:35 -0700

 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit- 
 trail&database=gcc&pr=10467
 
 Hello,
 
 I can confirm that this bug also appear on 3.1, 3.3 branch and mainline  
 (20030509), using a cross-compiler.
 
 Dara
Comment 6 Dara Hazeghi 2003-06-28 01:40:31 UTC
Confirmed with gcc 3.3 branch and mainline (20030627).
Comment 7 Dara Hazeghi 2003-06-28 02:01:44 UTC
Created attachment 4298 [details]
reduced testcase.i
Comment 8 Dara Hazeghi 2003-07-09 21:47:42 UTC
*** Bug 6860 has been marked as a duplicate of this bug. ***
Comment 9 Dara Hazeghi 2003-07-09 21:48:52 UTC
Actually a regression from 3.0.x
Comment 10 Mark Mitchell 2003-10-16 09:45:20 UTC
Postponed until GCC 3.3.3.
Comment 11 GCC Commits 2003-11-08 14:43:33 UTC
Subject: Bug 10467

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	sayle@gcc.gnu.org	2003-11-08 14:43:31

Modified files:
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/gcc.dg: 20031108-1.c 

Log message:
	PR optimization/10467
	* gcc.dg/20031108-1.c: New test case.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.3175&r2=1.3176
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20031108-1.c.diff?cvsroot=gcc&r1=NONE&r2=1.1

Comment 12 GCC Commits 2003-11-08 15:24:36 UTC
Subject: Bug 10467

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_3-branch
Changes by:	sayle@gcc.gnu.org	2003-11-08 15:24:33

Modified files:
	gcc            : ChangeLog gcse.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/gcc.dg: 20030926-1.c 20031108-1.c 

Log message:
	Backport from mainline
	PR optimization/10467
	PR optimization/11741
	* gcse.c (pre_insert_copy_insn): Tweak the logic for finding the
	appropriate set to match the code in hash_scan_insn.
	
	* gcc.dg/20030926-1.c: New test case.
	* gcc.dg/20031108-1.c: New test case.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.16114.2.801&r2=1.16114.2.802
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/gcse.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.223.2.7&r2=1.223.2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.2261.2.314&r2=1.2261.2.315
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20030926-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=NONE&r2=1.1.12.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20031108-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=NONE&r2=1.1.2.1

Comment 13 Andrew Pinski 2003-11-08 16:28:22 UTC
Fixed for 3.3.3.