From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19739 invoked by alias); 24 Dec 2009 01:54:33 -0000 Received: (qmail 18044 invoked by uid 22791); 24 Dec 2009 01:54:22 -0000 X-SWARE-Spam-Status: No, hits=-0.9 required=5.0 tests=AWL,BAYES_05,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail-yx0-f180.google.com (HELO mail-yx0-f180.google.com) (209.85.210.180) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 24 Dec 2009 01:54:08 +0000 Received: by yxe10 with SMTP id 10so3280613yxe.12 for ; Wed, 23 Dec 2009 17:54:06 -0800 (PST) MIME-Version: 1.0 Received: by 10.151.92.12 with SMTP id u12mr16974367ybl.32.1261619646607; Wed, 23 Dec 2009 17:54:06 -0800 (PST) In-Reply-To: <8d62b6fe0912231751p1202294cw83430e8d53af0951@mail.gmail.com> References: <4B2BD97E.1020106@vmware.com> <20091220133009.GI2788@adacore.com> <20091223065141.GT2788@adacore.com> <8d62b6fe0912231751p1202294cw83430e8d53af0951@mail.gmail.com> Date: Thu, 24 Dec 2009 01:54:00 -0000 Message-ID: <8d62b6fe0912231754s326a7566k1cddbff639ab3d7d@mail.gmail.com> Subject: Fwd: [RFC] Add support of software single step to process record From: shuchang zhou To: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=000e0cd256ace0b0b9047b6fb63a Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-12/txt/msg00376.txt.bz2 --000e0cd256ace0b0b9047b6fb63a Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 4690 ---------- Forwarded message ---------- From: shuchang zhou Date: Thu, Dec 24, 2009 at 9:51 AM Subject: Re: [RFC] Add support of software single step to process record To: Hui Zhu Cc: gdb-patches@sourceware.org, msnyder@vmware.com Still get errors. Current patch is in attachment (I just integrated the patch you sent me with mine, basically dropping my version of linux-mips-tdep.c). (gdb) b main Breakpoint 1 at 0x400730: file t.c, line 17. (gdb) set debug infrun 1 (gdb) set debug record 1 (gdb) r Starting program: /root/tmpd/a.out infrun: proceed (addr=3D0xffffffff, signal=3D0, step=3D0) infrun: resume (step=3D0, signal=3D0), trap_expected=3D0 infrun: wait_for_inferior (treat_exec_as_sigtrap=3D0) infrun: target_wait (-1, status) =3D infrun:=A0=A0 12655 [process 12655], infrun:=A0=A0 status->kind =3D stopped, signal =3D SIGTRAP infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc =3D 0x2aaba7c0 infrun: BPSTAT_WHAT_CHECK_SHLIBS infrun: no stepping, continue infrun: resume (step=3D1, signal=3D0), trap_expected=3D1 infrun: prepare_to_wait infrun: target_wait (-1, status) =3D infrun:=A0=A0 12655 [process 12655], infrun:=A0=A0 status->kind =3D stopped, signal =3D SIGTRAP infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc =3D 0x2aaab620 infrun: software single step trap for process 12655 infrun: no stepping, continue infrun: resume (step=3D0, signal=3D0), trap_expected=3D0 infrun: prepare_to_wait infrun: target_wait (-1, status) =3D infrun:=A0=A0 12655 [process 12655], infrun:=A0=A0 status->kind =3D stopped, signal =3D SIGTRAP infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc =3D 0x2aaba7c0 infrun: BPSTAT_WHAT_CHECK_SHLIBS infrun: no stepping, continue infrun: resume (step=3D1, signal=3D0), trap_expected=3D1 infrun: prepare_to_wait infrun: target_wait (-1, status) =3D infrun:=A0=A0 12655 [process 12655], infrun:=A0=A0 status->kind =3D stopped, signal =3D SIGTRAP infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc =3D 0x2aaabff0 infrun: software single step trap for process 12655 infrun: no stepping, continue infrun: resume (step=3D0, signal=3D0), trap_expected=3D0 infrun: prepare_to_wait infrun: target_wait (-1, status) =3D infrun:=A0=A0 12655 [process 12655], infrun:=A0=A0 status->kind =3D stopped, signal =3D SIGTRAP infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc =3D 0x400730 infrun: BPSTAT_WHAT_STOP_NOISY infrun: stop_stepping Breakpoint 1, main () at t.c:17 17=A0=A0=A0 =A0 xyz =3D 0;=A0=A0=A0=A0=A0 /* break in main */ (gdb) record Process record: record_open Process record: record_open (gdb) n infrun: clear_proceed_status_thread (process 12655) infrun: proceed (addr=3D0xffffffff, signal=3D144, step=3D1) infrun: resume (step=3D1, signal=3D0), trap_expected=3D1 record: mips_record_32 insn =3D 0x8f828034 main () at t.c:17 17=A0=A0=A0 =A0 xyz =3D 0;=A0=A0=A0=A0=A0 /* break in main */ ptrace: Input/output error. (gdb) (gdb) quit A debugging session is active. =A0=A0=A0 Inferior 1 [process 12655] will be killed. Quit anyway? (y or n) y Process record: record_kill Process record: record_close And then it hangs the terminal. On Wed, Dec 23, 2009 at 5:23 PM, Hui Zhu wrote: > > Cool. =A0I think your idea is more better than I did. =A0Thanks. > > This is the new patch. > > Best regards, > Hui > > On Wed, Dec 23, 2009 at 14:51, Joel Brobecker wro= te: > >> Joel, I remove the current_gdbarch() from this patch, but for > >> get_current_frame, I cannot find any function that fit for replace it. > >> =A0Could you help me with it? > > > > Upon further investigation, I believe that this is the only way to do > > this. =A0I don't think you can get the frame from the arguments provided > > to "resume". I did a quick research and infrun.c:resume does the same > > thing (actually, it's maybe_software_singlestep). > > > >> + =A0if (single_step_breakpoints[0] !=3D NULL > >> + =A0 =A0 =A0|| single_step_breakpoints[1] !=3D NULL) > >> + =A0 =A0return 1; > >> + > >> + =A0return 0; > > > > Style nit: You really don't have to fix this, as this is a matter of > > style more than correctness, but we usually write the above code as > > > > =A0return (single_step_breakpoints[0] !=3D NULL > > =A0 =A0 =A0 =A0 =A0|| single_step_breakpoints[1] !=3D NULL) > > > > This avoids the type of mistake you made. =A0I tend to like the style > > you used when there are several consecutive if conditions that allow > > me to return early (a type of soft assert), or to avoid unreasonable > > nesting levels. > > > > -- > > Joel > > --000e0cd256ace0b0b9047b6fb63a Content-Type: text/plain; charset=US-ASCII; name="gdb3.diff" Content-Disposition: attachment; filename="gdb3.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g3kvj3cg1 Content-length: 106275 ZGlmZiAtLWdpdCBhL2dkYi9icmVha3BvaW50LmMgYi9nZGIvYnJlYWtwb2lu dC5jCm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKaW5kZXggNDdh MTBmNi4uZjVhYjZjNAotLS0gYS9nZGIvYnJlYWtwb2ludC5jCisrKyBiL2dk Yi9icmVha3BvaW50LmMKQEAgLTk2MjQsNiArOTYyNCwxNiBAQCBpbnNlcnRf c2luZ2xlX3N0ZXBfYnJlYWtwb2ludCAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsCiAJICAgICBwYWRkcmVzcyAoZ2RiYXJjaCwgbmV4dF9wYykpOwogfQog CisvKiBDaGVjayBpZiB0aGUgYnJlYWtwb2ludHMgdXNlZCBmb3Igc29mdHdh cmUgc2luZ2xlIHN0ZXBwaW5nCisgICB3ZXJlIGluc2VydGVkIG9yIG5vdC4g ICovCisKK2ludAorc2luZ2xlX3N0ZXBfYnJlYWtwb2ludHNfaW5zZXJ0ZWQg KHZvaWQpCit7CisgIHJldHVybiAoc2luZ2xlX3N0ZXBfYnJlYWtwb2ludHNb MF0gIT0gTlVMTAorICAgICAgICAgIHx8IHNpbmdsZV9zdGVwX2JyZWFrcG9p bnRzWzFdICE9IE5VTEwpOworfQorCiAvKiBSZW1vdmUgYW5kIGRlbGV0ZSBh bnkgYnJlYWtwb2ludHMgdXNlZCBmb3Igc29mdHdhcmUgc2luZ2xlIHN0ZXAu ICAqLwogCiB2b2lkCmRpZmYgLS1naXQgYS9nZGIvYnJlYWtwb2ludC5oIGIv Z2RiL2JyZWFrcG9pbnQuaAppbmRleCA1ZWJkMzZjLi5iYjU2NTE1IDEwMDY0 NAotLS0gYS9nZGIvYnJlYWtwb2ludC5oCisrKyBiL2dkYi9icmVha3BvaW50 LmgKQEAgLTk0NCw2ICs5NDQsNyBAQCBleHRlcm4gaW50IHJlbW92ZV9od193 YXRjaHBvaW50cyAodm9pZCk7CiAgICB0d2ljZSBiZWZvcmUgcmVtb3ZlIGlz IGNhbGxlZC4gICovCiBleHRlcm4gdm9pZCBpbnNlcnRfc2luZ2xlX3N0ZXBf YnJlYWtwb2ludCAoc3RydWN0IGdkYmFyY2ggKiwKIAkJCQkJICAgc3RydWN0 IGFkZHJlc3Nfc3BhY2UgKiwgQ09SRV9BRERSKTsKK2V4dGVybiBpbnQgc2lu Z2xlX3N0ZXBfYnJlYWtwb2ludHNfaW5zZXJ0ZWQgKHZvaWQpOwogZXh0ZXJu IHZvaWQgcmVtb3ZlX3NpbmdsZV9zdGVwX2JyZWFrcG9pbnRzICh2b2lkKTsK IAogLyogTWFuYWdlIG1hbnVhbCBicmVha3BvaW50cywgc2VwYXJhdGUgZnJv bSB0aGUgbm9ybWFsIGNoYWluIG9mCmRpZmYgLS1naXQgYS9nZGIvY29uZmln dXJlLnRndCBiL2dkYi9jb25maWd1cmUudGd0CmluZGV4IDY5YjFmMjcuLmZl NThkMWYgMTAwNjQ0Ci0tLSBhL2dkYi9jb25maWd1cmUudGd0CisrKyBiL2dk Yi9jb25maWd1cmUudGd0CkBAIC0zMzcsNyArMzM3LDggQEAgbWlwcyotc2dp LWlyaXg2KikKIG1pcHMqLSotbGludXgqKQogCSMgVGFyZ2V0OiBMaW51eC9N SVBTCiAJZ2RiX3RhcmdldF9vYnM9Im1pcHMtdGRlcC5vIG1pcHMtbGludXgt dGRlcC5vIGdsaWJjLXRkZXAubyBcCi0JCQljb3JlbG93Lm8gc29saWIubyBz b2xpYi1zdnI0Lm8gc3ltZmlsZS1tZW0ubyIKKwkJCWNvcmVsb3cubyBzb2xp Yi5vIHNvbGliLXN2cjQubyBzeW1maWxlLW1lbS5vIFwKKwkJCWxpbnV4LXRk ZXAubyBsaW51eC1yZWNvcmQubyIKIAlnZGJfc2ltPS4uL3NpbS9taXBzL2xp YnNpbS5hCiAJYnVpbGRfZ2Ric2VydmVyPXllcwogCTs7CmRpZmYgLS1naXQg YS9nZGIvbWlwcy1saW51eC10ZGVwLmMgYi9nZGIvbWlwcy1saW51eC10ZGVw LmMKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQppbmRleCA1NjQw MWU1Li43ZDdkYmMyCi0tLSBhL2dkYi9taXBzLWxpbnV4LXRkZXAuYworKysg Yi9nZGIvbWlwcy1saW51eC10ZGVwLmMKQEAgLTM5LDYgKzM5LDEwIEBACiAj aW5jbHVkZSAibWlwcy1saW51eC10ZGVwLmgiCiAjaW5jbHVkZSAiZ2xpYmMt dGRlcC5oIgogCisjaW5jbHVkZSAicmVjb3JkLmgiCisjaW5jbHVkZSAibGlu dXgtcmVjb3JkLmgiCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKIHN0YXRpYyBz dHJ1Y3QgdGFyZ2V0X3NvX29wcyBtaXBzX3N2cjRfc29fb3BzOwogCiAvKiBG aWd1cmUgb3V0IHdoZXJlIHRoZSBsb25nam1wIHdpbGwgbGFuZC4KQEAgLTEx MzMsNiArMTEzNyw5MjYgQEAgbWlwc19saW51eF9zeXNjYWxsX25leHRfcGMg KHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSkKICAgcmV0dXJuIHBjICsgNDsK IH0KIAorc3RhdGljIGludAorbWlwc19hbGxfYnV0X2lwX3JlZ2lzdGVyc19y ZWNvcmQgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUpCit7CisgIGludCBp OworICAKKyAgZm9yIChpID0gTUlQU19aRVJPX1JFR05VTTsgaSA8PSBNSVBT X1JBX1JFR05VTTsgaSsrKQorICAgIGlmIChyZWNvcmRfYXJjaF9saXN0X2Fk ZF9yZWcgKHJlZ2NhY2hlLCBpKSkKKyAgICAgIHJldHVybiAtMTsKKworICAv KiBzYXZlIGZzciAqLworICBpZiAocmVjb3JkX2FyY2hfbGlzdF9hZGRfcmVn IChyZWdjYWNoZSwgTUlQU19FTUJFRF9GUDBfUkVHTlVNICsgMzIpKQorICAg IHJldHVybiAtMTsKKworICByZXR1cm4gMDsKK30KKworLyogbWlwc19jYW5v bmljYWxpemVfc3lzY2FsbCBtYXBzIGZyb20gdGhlIG5hdGl2ZSBNSVBTIExp bnV4IHNldAorICAgb2Ygc3lzY2FsbCBpZHMgaW50byBhIGNhbm9uaWNhbCBz ZXQgb2Ygc3lzY2FsbCBpZHMgdXNlZCBieQorICAgcHJvY2VzcyByZWNvcmQu ICAqLworCitzdGF0aWMgZW51bSBnZGJfc3lzY2FsbAorbWlwc19jYW5vbmlj YWxpemVfc3lzY2FsbCAoaW50IHN5c2NhbGwpCit7CisgIHN3aXRjaCAoc3lz Y2FsbCkgeworICAgIGNhc2UgbWlwc19zeXNfTzMyX2V4aXQ6CisgICAgY2Fz ZSBtaXBzX3N5c19leGl0OgorICAgIGNhc2UgbWlwc19zeXNfTjMyX2V4aXQ6 CisgICAgICByZXR1cm4gZ2RiX3N5c19leGl0OworICAgIGNhc2UgbWlwc19z eXNfTzMyX2Zvcms6CisgICAgY2FzZSBtaXBzX3N5c19mb3JrOgorICAgIGNh c2UgbWlwc19zeXNfTjMyX2Zvcms6CisgICAgICByZXR1cm4gZ2RiX3N5c19m b3JrOworICAgIGNhc2UgbWlwc19zeXNfTzMyX3JlYWQ6CisgICAgY2FzZSBt aXBzX3N5c19yZWFkOgorICAgIGNhc2UgbWlwc19zeXNfTjMyX3JlYWQ6Cisg ICAgICByZXR1cm4gZ2RiX3N5c19yZWFkOworICAgIGNhc2UgbWlwc19zeXNf TzMyX3dyaXRlOgorICAgIGNhc2UgbWlwc19zeXNfd3JpdGU6CisgICAgY2Fz ZSBtaXBzX3N5c19OMzJfd3JpdGU6CisgICAgICByZXR1cm4gZ2RiX3N5c193 cml0ZTsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9vcGVuOgorICAgIGNhc2Ug bWlwc19zeXNfb3BlbjoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9vcGVuOgor ICAgICAgcmV0dXJuIGdkYl9zeXNfb3BlbjsKKyAgICBjYXNlIG1pcHNfc3lz X08zMl9jbG9zZToKKyAgICBjYXNlIG1pcHNfc3lzX2Nsb3NlOgorICAgIGNh c2UgbWlwc19zeXNfTjMyX2Nsb3NlOgorICAgICAgcmV0dXJuIGdkYl9zeXNf Y2xvc2U7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfd2FpdHBpZDoKKyAgICAg IHJldHVybiBnZGJfc3lzX3dhaXRwaWQ7CisgICAgY2FzZSBtaXBzX3N5c19P MzJfY3JlYXQ6CisgICAgY2FzZSBtaXBzX3N5c19jcmVhdDoKKyAgICBjYXNl IG1pcHNfc3lzX04zMl9jcmVhdDoKKyAgICAgIHJldHVybiBnZGJfc3lzX2Ny ZWF0OworICAgIGNhc2UgbWlwc19zeXNfTzMyX2xpbms6CisgICAgY2FzZSBt aXBzX3N5c19saW5rOgorICAgIGNhc2UgbWlwc19zeXNfTjMyX2xpbms6Cisg ICAgICByZXR1cm4gZ2RiX3N5c19saW5rOworICAgIGNhc2UgbWlwc19zeXNf TzMyX3VubGluazoKKyAgICBjYXNlIG1pcHNfc3lzX3VubGluazoKKyAgICBj YXNlIG1pcHNfc3lzX04zMl91bmxpbms6CisgICAgICByZXR1cm4gZ2RiX3N5 c191bmxpbms7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfZXhlY3ZlOgorICAg IGNhc2UgbWlwc19zeXNfZXhlY3ZlOgorICAgIGNhc2UgbWlwc19zeXNfTjMy X2V4ZWN2ZToKKyAgICAgIHJldHVybiBnZGJfc3lzX2V4ZWN2ZTsKKyAgICBj YXNlIG1pcHNfc3lzX08zMl9jaGRpcjoKKyAgICBjYXNlIG1pcHNfc3lzX2No ZGlyOgorICAgIGNhc2UgbWlwc19zeXNfTjMyX2NoZGlyOgorICAgICAgcmV0 dXJuIGdkYl9zeXNfY2hkaXI7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfdGlt ZToKKyAgICBjYXNlIG1pcHNfc3lzX04zMl90aW1lOgorICAgICAgcmV0dXJu IGdkYl9zeXNfdGltZTsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9ta25vZDoK KyAgICBjYXNlIG1pcHNfc3lzX21rbm9kOgorICAgIGNhc2UgbWlwc19zeXNf TjMyX21rbm9kOgorICAgICAgcmV0dXJuIGdkYl9zeXNfbWtub2Q7CisgICAg Y2FzZSBtaXBzX3N5c19PMzJfY2htb2Q6CisgICAgY2FzZSBtaXBzX3N5c19j aG1vZDoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9jaG1vZDoKKyAgICAgIHJl dHVybiBnZGJfc3lzX2NobW9kOworICAgIGNhc2UgbWlwc19zeXNfTzMyX3N0 YXQ6CisgICAgY2FzZSBtaXBzX3N5c19zdGF0OgorICAgIGNhc2UgbWlwc19z eXNfTjMyX3N0YXQ6CisgICAgICByZXR1cm4gZ2RiX3N5c19zdGF0OworICAg IGNhc2UgbWlwc19zeXNfTzMyX2xzZWVrOgorICAgIGNhc2UgbWlwc19zeXNf bHNlZWs6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfbHNlZWs6CisgICAgICBy ZXR1cm4gZ2RiX3N5c19sc2VlazsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9n ZXRwaWQ6CisgICAgY2FzZSBtaXBzX3N5c19nZXRwaWQ6CisgICAgY2FzZSBt aXBzX3N5c19OMzJfZ2V0cGlkOgorICAgICAgcmV0dXJuIGdkYl9zeXNfZ2V0 cGlkOworICAgIGNhc2UgbWlwc19zeXNfTzMyX21vdW50OgorICAgIGNhc2Ug bWlwc19zeXNfbW91bnQ6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfbW91bnQ6 CisgICAgICByZXR1cm4gZ2RiX3N5c19tb3VudDsKKyAgICBjYXNlIG1pcHNf c3lzX08zMl9zdGltZToKKyAgICAgIHJldHVybiBnZGJfc3lzX3N0aW1lOwor ICAgIGNhc2UgbWlwc19zeXNfTzMyX3B0cmFjZToKKyAgICBjYXNlIG1pcHNf c3lzX3B0cmFjZToKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9wdHJhY2U6Cisg ICAgICByZXR1cm4gZ2RiX3N5c19wdHJhY2U7CisgICAgY2FzZSBtaXBzX3N5 c19PMzJfYWxhcm06CisgICAgY2FzZSBtaXBzX3N5c19hbGFybToKKyAgICBj YXNlIG1pcHNfc3lzX04zMl9hbGFybToKKyAgICAgIHJldHVybiBnZGJfc3lz X2FsYXJtOworICAgIGNhc2UgbWlwc19zeXNfTzMyX2ZzdGF0OgorICAgIGNh c2UgbWlwc19zeXNfZnN0YXQ6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfZnN0 YXQ6CisgICAgICByZXR1cm4gZ2RiX3N5c19mc3RhdDsKKyAgICBjYXNlIG1p cHNfc3lzX08zMl9wYXVzZToKKyAgICBjYXNlIG1pcHNfc3lzX3BhdXNlOgor ICAgIGNhc2UgbWlwc19zeXNfTjMyX3BhdXNlOgorICAgICAgcmV0dXJuIGdk Yl9zeXNfcGF1c2U7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfdXRpbWU6Cisg ICAgY2FzZSBtaXBzX3N5c191dGltZToKKyAgICBjYXNlIG1pcHNfc3lzX04z Ml91dGltZToKKyAgICAgIHJldHVybiBnZGJfc3lzX3V0aW1lOworICAgIGNh c2UgbWlwc19zeXNfTzMyX2FjY2VzczoKKyAgICBjYXNlIG1pcHNfc3lzX2Fj Y2VzczoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9hY2Nlc3M6CisgICAgICBy ZXR1cm4gZ2RiX3N5c19hY2Nlc3M7CisgICAgY2FzZSBtaXBzX3N5c19PMzJf bmljZToKKyAgICAgIHJldHVybiBnZGJfc3lzX25pY2U7CisgICAgY2FzZSBt aXBzX3N5c19PMzJfc3luYzoKKyAgICBjYXNlIG1pcHNfc3lzX3N5bmM6Cisg ICAgY2FzZSBtaXBzX3N5c19OMzJfc3luYzoKKyAgICAgIHJldHVybiBnZGJf c3lzX3N5bmM7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfa2lsbDoKKyAgICBj YXNlIG1pcHNfc3lzX2tpbGw6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfa2ls bDoKKyAgICAgIHJldHVybiBnZGJfc3lzX2tpbGw7CisgICAgY2FzZSBtaXBz X3N5c19PMzJfcmVuYW1lOgorICAgIGNhc2UgbWlwc19zeXNfcmVuYW1lOgor ICAgIGNhc2UgbWlwc19zeXNfTjMyX3JlbmFtZToKKyAgICAgIHJldHVybiBn ZGJfc3lzX3JlbmFtZTsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9ta2RpcjoK KyAgICBjYXNlIG1pcHNfc3lzX21rZGlyOgorICAgIGNhc2UgbWlwc19zeXNf TjMyX21rZGlyOgorICAgICAgcmV0dXJuIGdkYl9zeXNfbWtkaXI7CisgICAg Y2FzZSBtaXBzX3N5c19PMzJfcm1kaXI6CisgICAgY2FzZSBtaXBzX3N5c19y bWRpcjoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9ybWRpcjoKKyAgICAgIHJl dHVybiBnZGJfc3lzX3JtZGlyOworICAgIGNhc2UgbWlwc19zeXNfTzMyX2R1 cDoKKyAgICBjYXNlIG1pcHNfc3lzX2R1cDoKKyAgICBjYXNlIG1pcHNfc3lz X04zMl9kdXA6CisgICAgICByZXR1cm4gZ2RiX3N5c19kdXA7CisgICAgY2Fz ZSBtaXBzX3N5c19PMzJfcGlwZToKKyAgICBjYXNlIG1pcHNfc3lzX3BpcGU6 CisgICAgY2FzZSBtaXBzX3N5c19OMzJfcGlwZToKKyAgICAgIHJldHVybiBn ZGJfc3lzX3BpcGU7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfdGltZXM6Cisg ICAgY2FzZSBtaXBzX3N5c190aW1lczoKKyAgICBjYXNlIG1pcHNfc3lzX04z Ml90aW1lczoKKyAgICAgIHJldHVybiBnZGJfc3lzX3RpbWVzOworICAgIGNh c2UgbWlwc19zeXNfTzMyX2JyazoKKyAgICBjYXNlIG1pcHNfc3lzX2JyazoK KyAgICBjYXNlIG1pcHNfc3lzX04zMl9icms6CisgICAgICByZXR1cm4gZ2Ri X3N5c19icms7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfc2lnbmFsOgorICAg ICAgcmV0dXJuIGdkYl9zeXNfc2lnbmFsOworICAgIGNhc2UgbWlwc19zeXNf TzMyX2FjY3Q6CisgICAgY2FzZSBtaXBzX3N5c19hY2N0OgorICAgIGNhc2Ug bWlwc19zeXNfTjMyX2FjY3Q6CisgICAgICByZXR1cm4gZ2RiX3N5c19hY2N0 OworICAgIGNhc2UgbWlwc19zeXNfTzMyX3Vtb3VudDoKKyAgICAgIHJldHVy biBnZGJfc3lzX3Vtb3VudDsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9pb2N0 bDoKKyAgICBjYXNlIG1pcHNfc3lzX2lvY3RsOgorICAgIGNhc2UgbWlwc19z eXNfTjMyX2lvY3RsOgorICAgICAgcmV0dXJuIGdkYl9zeXNfaW9jdGw7Cisg ICAgY2FzZSBtaXBzX3N5c19PMzJfZmNudGw6CisgICAgY2FzZSBtaXBzX3N5 c19mY250bDoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9mY250bDoKKyAgICAg IHJldHVybiBnZGJfc3lzX2ZjbnRsOworICAgIGNhc2UgbWlwc19zeXNfTzMy X3NldHBnaWQ6CisgICAgY2FzZSBtaXBzX3N5c19zZXRwZ2lkOgorICAgIGNh c2UgbWlwc19zeXNfTjMyX3NldHBnaWQ6CisgICAgICByZXR1cm4gZ2RiX3N5 c19zZXRwZ2lkOworICAgIGNhc2UgbWlwc19zeXNfTzMyX3VtYXNrOgorICAg IGNhc2UgbWlwc19zeXNfdW1hc2s6CisgICAgY2FzZSBtaXBzX3N5c19OMzJf dW1hc2s6CisgICAgICByZXR1cm4gZ2RiX3N5c191bWFzazsKKyAgICBjYXNl IG1pcHNfc3lzX08zMl9jaHJvb3Q6CisgICAgY2FzZSBtaXBzX3N5c19jaHJv b3Q6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfY2hyb290OgorICAgICAgcmV0 dXJuIGdkYl9zeXNfY2hyb290OworICAgIGNhc2UgbWlwc19zeXNfTzMyX3Vz dGF0OgorICAgIGNhc2UgbWlwc19zeXNfdXN0YXQ6CisgICAgY2FzZSBtaXBz X3N5c19OMzJfdXN0YXQ6CisgICAgICByZXR1cm4gZ2RiX3N5c191c3RhdDsK KyAgICBjYXNlIG1pcHNfc3lzX08zMl9kdXAyOgorICAgIGNhc2UgbWlwc19z eXNfZHVwMjoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9kdXAyOgorICAgICAg cmV0dXJuIGdkYl9zeXNfZHVwMjsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9n ZXRwcGlkOgorICAgIGNhc2UgbWlwc19zeXNfZ2V0cHBpZDoKKyAgICBjYXNl IG1pcHNfc3lzX04zMl9nZXRwcGlkOgorICAgICAgcmV0dXJuIGdkYl9zeXNf Z2V0cHBpZDsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9nZXRwZ3JwOgorICAg IGNhc2UgbWlwc19zeXNfZ2V0cGdycDoKKyAgICBjYXNlIG1pcHNfc3lzX04z Ml9nZXRwZ3JwOgorICAgICAgcmV0dXJuIGdkYl9zeXNfZ2V0cGdycDsKKyAg ICBjYXNlIG1pcHNfc3lzX08zMl9zZXRzaWQ6CisgICAgY2FzZSBtaXBzX3N5 c19zZXRzaWQ6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfc2V0c2lkOgorICAg ICAgcmV0dXJuIGdkYl9zeXNfc2V0c2lkOworICAgIGNhc2UgbWlwc19zeXNf TzMyX3NpZ2FjdGlvbjoKKyAgICAgIHJldHVybiBnZGJfc3lzX3NpZ2FjdGlv bjsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9zZ2V0bWFzazoKKyAgICAgIHJl dHVybiBnZGJfc3lzX3NnZXRtYXNrOworICAgIGNhc2UgbWlwc19zeXNfTzMy X3NzZXRtYXNrOgorICAgICAgcmV0dXJuIGdkYl9zeXNfc3NldG1hc2s7Cisg ICAgY2FzZSBtaXBzX3N5c19PMzJfc2lnc3VzcGVuZDoKKyAgICAgIHJldHVy biBnZGJfc3lzX3NpZ3N1c3BlbmQ7CisgICAgY2FzZSBtaXBzX3N5c19PMzJf c2lncGVuZGluZzoKKyAgICAgIHJldHVybiBnZGJfc3lzX3NpZ3BlbmRpbmc7 CisgICAgY2FzZSBtaXBzX3N5c19PMzJfc2V0aG9zdG5hbWU6CisgICAgY2Fz ZSBtaXBzX3N5c19zZXRob3N0bmFtZToKKyAgICBjYXNlIG1pcHNfc3lzX04z Ml9zZXRob3N0bmFtZToKKyAgICAgIHJldHVybiBnZGJfc3lzX3NldGhvc3Ru YW1lOworICAgIGNhc2UgbWlwc19zeXNfTzMyX3NldHJsaW1pdDoKKyAgICBj YXNlIG1pcHNfc3lzX3NldHJsaW1pdDoKKyAgICBjYXNlIG1pcHNfc3lzX04z Ml9zZXRybGltaXQ6CisgICAgICByZXR1cm4gZ2RiX3N5c19zZXRybGltaXQ7 CisgICAgY2FzZSBtaXBzX3N5c19PMzJfZ2V0cnVzYWdlOgorICAgIGNhc2Ug bWlwc19zeXNfZ2V0cnVzYWdlOgorICAgIGNhc2UgbWlwc19zeXNfTjMyX2dl dHJ1c2FnZToKKyAgICAgIHJldHVybiBnZGJfc3lzX2dldHJ1c2FnZTsKKyAg ICBjYXNlIG1pcHNfc3lzX08zMl9nZXR0aW1lb2ZkYXk6CisgICAgY2FzZSBt aXBzX3N5c19nZXR0aW1lb2ZkYXk6CisgICAgY2FzZSBtaXBzX3N5c19OMzJf Z2V0dGltZW9mZGF5OgorICAgICAgcmV0dXJuIGdkYl9zeXNfZ2V0dGltZW9m ZGF5OworICAgIGNhc2UgbWlwc19zeXNfTzMyX3NldHRpbWVvZmRheToKKyAg ICBjYXNlIG1pcHNfc3lzX3NldHRpbWVvZmRheToKKyAgICBjYXNlIG1pcHNf c3lzX04zMl9zZXR0aW1lb2ZkYXk6CisgICAgICByZXR1cm4gZ2RiX3N5c19z ZXR0aW1lb2ZkYXk7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfc3ltbGluazoK KyAgICBjYXNlIG1pcHNfc3lzX3N5bWxpbms6CisgICAgY2FzZSBtaXBzX3N5 c19OMzJfc3ltbGluazoKKyAgICAgIHJldHVybiBnZGJfc3lzX3N5bWxpbms7 CisgICAgY2FzZSBtaXBzX3N5c19PMzJfbHN0YXQ6CisgICAgY2FzZSBtaXBz X3N5c19sc3RhdDoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9sc3RhdDoKKyAg ICAgIHJldHVybiBnZGJfc3lzX2xzdGF0OworICAgIGNhc2UgbWlwc19zeXNf TzMyX3JlYWRsaW5rOgorICAgIGNhc2UgbWlwc19zeXNfcmVhZGxpbms6Cisg ICAgY2FzZSBtaXBzX3N5c19OMzJfcmVhZGxpbms6CisgICAgICByZXR1cm4g Z2RiX3N5c19yZWFkbGluazsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl91c2Vs aWI6CisgICAgICByZXR1cm4gZ2RiX3N5c191c2VsaWI7CisgICAgY2FzZSBt aXBzX3N5c19PMzJfc3dhcG9uOgorICAgIGNhc2UgbWlwc19zeXNfc3dhcG9u OgorICAgIGNhc2UgbWlwc19zeXNfTjMyX3N3YXBvbjoKKyAgICAgIHJldHVy biBnZGJfc3lzX3N3YXBvbjsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9yZWJv b3Q6CisgICAgY2FzZSBtaXBzX3N5c19yZWJvb3Q6CisgICAgY2FzZSBtaXBz X3N5c19OMzJfcmVib290OgorICAgICAgcmV0dXJuIGdkYl9zeXNfcmVib290 OworICAgIGNhc2UgbWlwc19zeXNfTzMyX211bm1hcDoKKyAgICBjYXNlIG1p cHNfc3lzX211bm1hcDoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9tdW5tYXA6 CisgICAgICByZXR1cm4gZ2RiX3N5c19tdW5tYXA7CisgICAgY2FzZSBtaXBz X3N5c19PMzJfdHJ1bmNhdGU6CisgICAgY2FzZSBtaXBzX3N5c190cnVuY2F0 ZToKKyAgICBjYXNlIG1pcHNfc3lzX04zMl90cnVuY2F0ZToKKyAgICAgIHJl dHVybiBnZGJfc3lzX3RydW5jYXRlOworICAgIGNhc2UgbWlwc19zeXNfTzMy X2Z0cnVuY2F0ZToKKyAgICBjYXNlIG1pcHNfc3lzX2Z0cnVuY2F0ZToKKyAg ICBjYXNlIG1pcHNfc3lzX04zMl9mdHJ1bmNhdGU6CisgICAgICByZXR1cm4g Z2RiX3N5c19mdHJ1bmNhdGU7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfZmNo bW9kOgorICAgIGNhc2UgbWlwc19zeXNfZmNobW9kOgorICAgIGNhc2UgbWlw c19zeXNfTjMyX2ZjaG1vZDoKKyAgICAgIHJldHVybiBnZGJfc3lzX2ZjaG1v ZDsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9nZXRwcmlvcml0eToKKyAgICBj YXNlIG1pcHNfc3lzX2dldHByaW9yaXR5OgorICAgIGNhc2UgbWlwc19zeXNf TjMyX2dldHByaW9yaXR5OgorICAgICAgcmV0dXJuIGdkYl9zeXNfZ2V0cHJp b3JpdHk7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfc2V0cHJpb3JpdHk6Cisg ICAgY2FzZSBtaXBzX3N5c19zZXRwcmlvcml0eToKKyAgICBjYXNlIG1pcHNf c3lzX04zMl9zZXRwcmlvcml0eToKKyAgICAgIHJldHVybiBnZGJfc3lzX3Nl dHByaW9yaXR5OworICAgIGNhc2UgbWlwc19zeXNfTzMyX3N0YXRmczoKKyAg ICBjYXNlIG1pcHNfc3lzX3N0YXRmczoKKyAgICBjYXNlIG1pcHNfc3lzX04z Ml9zdGF0ZnM6CisgICAgICByZXR1cm4gZ2RiX3N5c19zdGF0ZnM7CisgICAg Y2FzZSBtaXBzX3N5c19PMzJfZnN0YXRmczoKKyAgICBjYXNlIG1pcHNfc3lz X2ZzdGF0ZnM6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfZnN0YXRmczoKKyAg ICAgIHJldHVybiBnZGJfc3lzX2ZzdGF0ZnM7CisgICAgY2FzZSBtaXBzX3N5 c19PMzJfaW9wZXJtOgorICAgICAgcmV0dXJuIGdkYl9zeXNfaW9wZXJtOwor ICAgIGNhc2UgbWlwc19zeXNfTzMyX3NvY2tldGNhbGw6CisgICAgICByZXR1 cm4gZ2RiX3N5c19zb2NrZXRjYWxsOworICAgIGNhc2UgbWlwc19zeXNfTzMy X3N5c2xvZzoKKyAgICBjYXNlIG1pcHNfc3lzX3N5c2xvZzoKKyAgICBjYXNl IG1pcHNfc3lzX04zMl9zeXNsb2c6CisgICAgICByZXR1cm4gZ2RiX3N5c19z eXNsb2c7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfc2V0aXRpbWVyOgorICAg IGNhc2UgbWlwc19zeXNfc2V0aXRpbWVyOgorICAgIGNhc2UgbWlwc19zeXNf TjMyX3NldGl0aW1lcjoKKyAgICAgIHJldHVybiBnZGJfc3lzX3NldGl0aW1l cjsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9nZXRpdGltZXI6CisgICAgY2Fz ZSBtaXBzX3N5c19nZXRpdGltZXI6CisgICAgY2FzZSBtaXBzX3N5c19OMzJf Z2V0aXRpbWVyOgorICAgICAgcmV0dXJuIGdkYl9zeXNfZ2V0aXRpbWVyOwor ICAgIGNhc2UgbWlwc19zeXNfTzMyX3VuYW1lOgorICAgIGNhc2UgbWlwc19z eXNfdW5hbWU6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfdW5hbWU6CisgICAg ICByZXR1cm4gZ2RiX3N5c191bmFtZTsKKyAgICBjYXNlIG1pcHNfc3lzX08z Ml9pb3BsOgorICAgICAgcmV0dXJuIGdkYl9zeXNfaW9wbDsKKyAgICBjYXNl IG1pcHNfc3lzX08zMl92aGFuZ3VwOgorICAgIGNhc2UgbWlwc19zeXNfdmhh bmd1cDoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl92aGFuZ3VwOgorICAgICAg cmV0dXJuIGdkYl9zeXNfdmhhbmd1cDsKKyAgICBjYXNlIG1pcHNfc3lzX08z Ml93YWl0NDoKKyAgICBjYXNlIG1pcHNfc3lzX3dhaXQ0OgorICAgIGNhc2Ug bWlwc19zeXNfTjMyX3dhaXQ0OgorICAgICAgcmV0dXJuIGdkYl9zeXNfd2Fp dDQ7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfc3dhcG9mZjoKKyAgICBjYXNl IG1pcHNfc3lzX3N3YXBvZmY6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfc3dh cG9mZjoKKyAgICAgIHJldHVybiBnZGJfc3lzX3N3YXBvZmY7CisgICAgY2Fz ZSBtaXBzX3N5c19PMzJfc3lzaW5mbzoKKyAgICBjYXNlIG1pcHNfc3lzX3N5 c2luZm86CisgICAgY2FzZSBtaXBzX3N5c19OMzJfc3lzaW5mbzoKKyAgICAg IHJldHVybiBnZGJfc3lzX3N5c2luZm87CisgICAgY2FzZSBtaXBzX3N5c19P MzJfaXBjOgorICAgICAgcmV0dXJuIGdkYl9zeXNfaXBjOworICAgIGNhc2Ug bWlwc19zeXNfTzMyX2ZzeW5jOgorICAgIGNhc2UgbWlwc19zeXNfZnN5bmM6 CisgICAgY2FzZSBtaXBzX3N5c19OMzJfZnN5bmM6CisgICAgICByZXR1cm4g Z2RiX3N5c19mc3luYzsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9zaWdyZXR1 cm46CisgICAgICByZXR1cm4gZ2RiX3N5c19zaWdyZXR1cm47CisgICAgY2Fz ZSBtaXBzX3N5c19PMzJfY2xvbmU6CisgICAgY2FzZSBtaXBzX3N5c19jbG9u ZToKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9jbG9uZToKKyAgICAgIHJldHVy biBnZGJfc3lzX2Nsb25lOworICAgIGNhc2UgbWlwc19zeXNfTzMyX3NldGRv bWFpbm5hbWU6CisgICAgY2FzZSBtaXBzX3N5c19zZXRkb21haW5uYW1lOgor ICAgIGNhc2UgbWlwc19zeXNfTjMyX3NldGRvbWFpbm5hbWU6CisgICAgICBy ZXR1cm4gZ2RiX3N5c19zZXRkb21haW5uYW1lOworICAgIGNhc2UgbWlwc19z eXNfTzMyX21vZGlmeV9sZHQ6CisgICAgICByZXR1cm4gZ2RiX3N5c19tb2Rp ZnlfbGR0OworICAgIGNhc2UgbWlwc19zeXNfTzMyX2FkanRpbWV4OgorICAg IGNhc2UgbWlwc19zeXNfYWRqdGltZXg6CisgICAgY2FzZSBtaXBzX3N5c19O MzJfYWRqdGltZXg6CisgICAgICByZXR1cm4gZ2RiX3N5c19hZGp0aW1leDsK KyAgICBjYXNlIG1pcHNfc3lzX08zMl9tcHJvdGVjdDoKKyAgICBjYXNlIG1p cHNfc3lzX21wcm90ZWN0OgorICAgIGNhc2UgbWlwc19zeXNfTjMyX21wcm90 ZWN0OgorICAgICAgcmV0dXJuIGdkYl9zeXNfbXByb3RlY3Q7CisgICAgY2Fz ZSBtaXBzX3N5c19PMzJfc2lncHJvY21hc2s6CisgICAgICByZXR1cm4gZ2Ri X3N5c19zaWdwcm9jbWFzazsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9pbml0 X21vZHVsZToKKyAgICBjYXNlIG1pcHNfc3lzX2luaXRfbW9kdWxlOgorICAg IGNhc2UgbWlwc19zeXNfTjMyX2luaXRfbW9kdWxlOgorICAgICAgcmV0dXJu IGdkYl9zeXNfaW5pdF9tb2R1bGU7CisgICAgY2FzZSBtaXBzX3N5c19PMzJf ZGVsZXRlX21vZHVsZToKKyAgICBjYXNlIG1pcHNfc3lzX2RlbGV0ZV9tb2R1 bGU6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfZGVsZXRlX21vZHVsZToKKyAg ICAgIHJldHVybiBnZGJfc3lzX2RlbGV0ZV9tb2R1bGU7CisgICAgY2FzZSBt aXBzX3N5c19PMzJfcXVvdGFjdGw6CisgICAgY2FzZSBtaXBzX3N5c19xdW90 YWN0bDoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9xdW90YWN0bDoKKyAgICAg IHJldHVybiBnZGJfc3lzX3F1b3RhY3RsOworICAgIGNhc2UgbWlwc19zeXNf TzMyX2dldHBnaWQ6CisgICAgY2FzZSBtaXBzX3N5c19nZXRwZ2lkOgorICAg IGNhc2UgbWlwc19zeXNfTjMyX2dldHBnaWQ6CisgICAgICByZXR1cm4gZ2Ri X3N5c19nZXRwZ2lkOworICAgIGNhc2UgbWlwc19zeXNfTzMyX2ZjaGRpcjoK KyAgICBjYXNlIG1pcHNfc3lzX2ZjaGRpcjoKKyAgICBjYXNlIG1pcHNfc3lz X04zMl9mY2hkaXI6CisgICAgICByZXR1cm4gZ2RiX3N5c19mY2hkaXI7Cisg ICAgY2FzZSBtaXBzX3N5c19PMzJfYmRmbHVzaDoKKyAgICAgIHJldHVybiBn ZGJfc3lzX2JkZmx1c2g7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfc3lzZnM6 CisgICAgY2FzZSBtaXBzX3N5c19zeXNmczoKKyAgICBjYXNlIG1pcHNfc3lz X04zMl9zeXNmczoKKyAgICAgIHJldHVybiBnZGJfc3lzX3N5c2ZzOworICAg IGNhc2UgbWlwc19zeXNfTzMyX3BlcnNvbmFsaXR5OgorICAgIGNhc2UgbWlw c19zeXNfcGVyc29uYWxpdHk6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfcGVy c29uYWxpdHk6CisgICAgICByZXR1cm4gZ2RiX3N5c19wZXJzb25hbGl0eTsK KyAgICBjYXNlIG1pcHNfc3lzX08zMl9nZXRkZW50czoKKyAgICBjYXNlIG1p cHNfc3lzX2dldGRlbnRzOgorICAgIGNhc2UgbWlwc19zeXNfTjMyX2dldGRl bnRzOgorICAgICAgcmV0dXJuIGdkYl9zeXNfZ2V0ZGVudHM7CisgICAgY2Fz ZSBtaXBzX3N5c19PMzJfZmxvY2s6CisgICAgY2FzZSBtaXBzX3N5c19mbG9j azoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9mbG9jazoKKyAgICAgIHJldHVy biBnZGJfc3lzX2Zsb2NrOworICAgIGNhc2UgbWlwc19zeXNfTzMyX21zeW5j OgorICAgIGNhc2UgbWlwc19zeXNfbXN5bmM6CisgICAgY2FzZSBtaXBzX3N5 c19OMzJfbXN5bmM6CisgICAgICByZXR1cm4gZ2RiX3N5c19tc3luYzsKKyAg ICBjYXNlIG1pcHNfc3lzX08zMl9yZWFkdjoKKyAgICBjYXNlIG1pcHNfc3lz X3JlYWR2OgorICAgIGNhc2UgbWlwc19zeXNfTjMyX3JlYWR2OgorICAgICAg cmV0dXJuIGdkYl9zeXNfcmVhZHY7CisgICAgY2FzZSBtaXBzX3N5c19PMzJf d3JpdGV2OgorICAgIGNhc2UgbWlwc19zeXNfd3JpdGV2OgorICAgIGNhc2Ug bWlwc19zeXNfTjMyX3dyaXRldjoKKyAgICAgIHJldHVybiBnZGJfc3lzX3dy aXRldjsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9nZXRzaWQ6CisgICAgY2Fz ZSBtaXBzX3N5c19nZXRzaWQ6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfZ2V0 c2lkOgorICAgICAgcmV0dXJuIGdkYl9zeXNfZ2V0c2lkOworICAgIGNhc2Ug bWlwc19zeXNfTzMyX2ZkYXRhc3luYzoKKyAgICBjYXNlIG1pcHNfc3lzX2Zk YXRhc3luYzoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9mZGF0YXN5bmM6Cisg ICAgICByZXR1cm4gZ2RiX3N5c19mZGF0YXN5bmM7CisgICAgY2FzZSBtaXBz X3N5c19PMzJfbWxvY2s6CisgICAgY2FzZSBtaXBzX3N5c19tbG9jazoKKyAg ICBjYXNlIG1pcHNfc3lzX04zMl9tbG9jazoKKyAgICAgIHJldHVybiBnZGJf c3lzX21sb2NrOworICAgIGNhc2UgbWlwc19zeXNfTzMyX211bmxvY2s6Cisg ICAgY2FzZSBtaXBzX3N5c19tdW5sb2NrOgorICAgIGNhc2UgbWlwc19zeXNf TjMyX211bmxvY2s6CisgICAgICByZXR1cm4gZ2RiX3N5c19tdW5sb2NrOwor ICAgIGNhc2UgbWlwc19zeXNfTzMyX21sb2NrYWxsOgorICAgIGNhc2UgbWlw c19zeXNfbWxvY2thbGw6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfbWxvY2th bGw6CisgICAgICByZXR1cm4gZ2RiX3N5c19tbG9ja2FsbDsKKyAgICBjYXNl IG1pcHNfc3lzX08zMl9tdW5sb2NrYWxsOgorICAgIGNhc2UgbWlwc19zeXNf bXVubG9ja2FsbDoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9tdW5sb2NrYWxs OgorICAgICAgcmV0dXJuIGdkYl9zeXNfbXVubG9ja2FsbDsKKyAgICBjYXNl IG1pcHNfc3lzX08zMl9zY2hlZF9zZXRwYXJhbToKKyAgICBjYXNlIG1pcHNf c3lzX3NjaGVkX3NldHBhcmFtOgorICAgIGNhc2UgbWlwc19zeXNfTjMyX3Nj aGVkX3NldHBhcmFtOgorICAgICAgcmV0dXJuIGdkYl9zeXNfc2NoZWRfc2V0 cGFyYW07CisgICAgY2FzZSBtaXBzX3N5c19PMzJfc2NoZWRfZ2V0cGFyYW06 CisgICAgY2FzZSBtaXBzX3N5c19zY2hlZF9nZXRwYXJhbToKKyAgICBjYXNl IG1pcHNfc3lzX04zMl9zY2hlZF9nZXRwYXJhbToKKyAgICAgIHJldHVybiBn ZGJfc3lzX3NjaGVkX2dldHBhcmFtOworICAgIGNhc2UgbWlwc19zeXNfTzMy X3NjaGVkX3NldHNjaGVkdWxlcjoKKyAgICBjYXNlIG1pcHNfc3lzX3NjaGVk X3NldHNjaGVkdWxlcjoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9zY2hlZF9z ZXRzY2hlZHVsZXI6CisgICAgICByZXR1cm4gZ2RiX3N5c19zY2hlZF9zZXRz Y2hlZHVsZXI7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfc2NoZWRfZ2V0c2No ZWR1bGVyOgorICAgIGNhc2UgbWlwc19zeXNfc2NoZWRfZ2V0c2NoZWR1bGVy OgorICAgIGNhc2UgbWlwc19zeXNfTjMyX3NjaGVkX2dldHNjaGVkdWxlcjoK KyAgICAgIHJldHVybiBnZGJfc3lzX3NjaGVkX2dldHNjaGVkdWxlcjsKKyAg ICBjYXNlIG1pcHNfc3lzX08zMl9zY2hlZF95aWVsZDoKKyAgICBjYXNlIG1p cHNfc3lzX3NjaGVkX3lpZWxkOgorICAgIGNhc2UgbWlwc19zeXNfTjMyX3Nj aGVkX3lpZWxkOgorICAgICAgcmV0dXJuIGdkYl9zeXNfc2NoZWRfeWllbGQ7 CisgICAgY2FzZSBtaXBzX3N5c19PMzJfc2NoZWRfZ2V0X3ByaW9yaXR5X21h eDoKKyAgICBjYXNlIG1pcHNfc3lzX3NjaGVkX2dldF9wcmlvcml0eV9tYXg6 CisgICAgY2FzZSBtaXBzX3N5c19OMzJfc2NoZWRfZ2V0X3ByaW9yaXR5X21h eDoKKyAgICAgIHJldHVybiBnZGJfc3lzX3NjaGVkX2dldF9wcmlvcml0eV9t YXg7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfc2NoZWRfZ2V0X3ByaW9yaXR5 X21pbjoKKyAgICBjYXNlIG1pcHNfc3lzX3NjaGVkX2dldF9wcmlvcml0eV9t aW46CisgICAgY2FzZSBtaXBzX3N5c19OMzJfc2NoZWRfZ2V0X3ByaW9yaXR5 X21pbjoKKyAgICAgIHJldHVybiBnZGJfc3lzX3NjaGVkX2dldF9wcmlvcml0 eV9taW47CisgICAgY2FzZSBtaXBzX3N5c19PMzJfc2NoZWRfcnJfZ2V0X2lu dGVydmFsOgorICAgIGNhc2UgbWlwc19zeXNfc2NoZWRfcnJfZ2V0X2ludGVy dmFsOgorICAgIGNhc2UgbWlwc19zeXNfTjMyX3NjaGVkX3JyX2dldF9pbnRl cnZhbDoKKyAgICAgIHJldHVybiBnZGJfc3lzX3NjaGVkX3JyX2dldF9pbnRl cnZhbDsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9uYW5vc2xlZXA6CisgICAg Y2FzZSBtaXBzX3N5c19uYW5vc2xlZXA6CisgICAgY2FzZSBtaXBzX3N5c19O MzJfbmFub3NsZWVwOgorICAgICAgcmV0dXJuIGdkYl9zeXNfbmFub3NsZWVw OworICAgIGNhc2UgbWlwc19zeXNfTzMyX21yZW1hcDoKKyAgICBjYXNlIG1p cHNfc3lzX21yZW1hcDoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9tcmVtYXA6 CisgICAgICByZXR1cm4gZ2RiX3N5c19tcmVtYXA7CisgICAgY2FzZSBtaXBz X3N5c19PMzJfdm04NjoKKyAgICAgIHJldHVybiBnZGJfc3lzX3ZtODY7Cisg ICAgY2FzZSBtaXBzX3N5c19PMzJfcG9sbDoKKyAgICBjYXNlIG1pcHNfc3lz X3BvbGw6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfcG9sbDoKKyAgICAgIHJl dHVybiBnZGJfc3lzX3BvbGw7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfbmZz c2VydmN0bDoKKyAgICBjYXNlIG1pcHNfc3lzX25mc3NlcnZjdGw6CisgICAg Y2FzZSBtaXBzX3N5c19OMzJfbmZzc2VydmN0bDoKKyAgICAgIHJldHVybiBn ZGJfc3lzX25mc3NlcnZjdGw7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfcHJj dGw6CisgICAgY2FzZSBtaXBzX3N5c19wcmN0bDoKKyAgICBjYXNlIG1pcHNf c3lzX04zMl9wcmN0bDoKKyAgICAgIHJldHVybiBnZGJfc3lzX3ByY3RsOwor ICAgIGNhc2UgbWlwc19zeXNfTzMyX3J0X3NpZ3JldHVybjoKKyAgICBjYXNl IG1pcHNfc3lzX3J0X3NpZ3JldHVybjoKKyAgICBjYXNlIG1pcHNfc3lzX04z Ml9ydF9zaWdyZXR1cm46CisgICAgICByZXR1cm4gZ2RiX3N5c19ydF9zaWdy ZXR1cm47CisgICAgY2FzZSBtaXBzX3N5c19PMzJfcnRfc2lnYWN0aW9uOgor ICAgIGNhc2UgbWlwc19zeXNfcnRfc2lnYWN0aW9uOgorICAgIGNhc2UgbWlw c19zeXNfTjMyX3J0X3NpZ2FjdGlvbjoKKyAgICAgIHJldHVybiBnZGJfc3lz X3J0X3NpZ2FjdGlvbjsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9ydF9zaWdw cm9jbWFzazoKKyAgICBjYXNlIG1pcHNfc3lzX3J0X3NpZ3Byb2NtYXNrOgor ICAgIGNhc2UgbWlwc19zeXNfTjMyX3J0X3NpZ3Byb2NtYXNrOgorICAgICAg cmV0dXJuIGdkYl9zeXNfcnRfc2lncHJvY21hc2s7CisgICAgY2FzZSBtaXBz X3N5c19PMzJfcnRfc2lncGVuZGluZzoKKyAgICBjYXNlIG1pcHNfc3lzX3J0 X3NpZ3BlbmRpbmc6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfcnRfc2lncGVu ZGluZzoKKyAgICAgIHJldHVybiBnZGJfc3lzX3J0X3NpZ3BlbmRpbmc7Cisg ICAgY2FzZSBtaXBzX3N5c19PMzJfcnRfc2lndGltZWR3YWl0OgorICAgIGNh c2UgbWlwc19zeXNfcnRfc2lndGltZWR3YWl0OgorICAgIGNhc2UgbWlwc19z eXNfTjMyX3J0X3NpZ3RpbWVkd2FpdDoKKyAgICAgIHJldHVybiBnZGJfc3lz X3J0X3NpZ3RpbWVkd2FpdDsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9ydF9z aWdxdWV1ZWluZm86CisgICAgY2FzZSBtaXBzX3N5c19ydF9zaWdxdWV1ZWlu Zm86CisgICAgY2FzZSBtaXBzX3N5c19OMzJfcnRfc2lncXVldWVpbmZvOgor ICAgICAgcmV0dXJuIGdkYl9zeXNfcnRfc2lncXVldWVpbmZvOworICAgIGNh c2UgbWlwc19zeXNfTzMyX3J0X3NpZ3N1c3BlbmQ6CisgICAgY2FzZSBtaXBz X3N5c19ydF9zaWdzdXNwZW5kOgorICAgIGNhc2UgbWlwc19zeXNfTjMyX3J0 X3NpZ3N1c3BlbmQ6CisgICAgICByZXR1cm4gZ2RiX3N5c19ydF9zaWdzdXNw ZW5kOworICAgIGNhc2UgbWlwc19zeXNfTzMyX2dldGN3ZDoKKyAgICBjYXNl IG1pcHNfc3lzX2dldGN3ZDoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9nZXRj d2Q6CisgICAgICByZXR1cm4gZ2RiX3N5c19nZXRjd2Q7CisgICAgY2FzZSBt aXBzX3N5c19PMzJfY2FwZ2V0OgorICAgIGNhc2UgbWlwc19zeXNfY2FwZ2V0 OgorICAgIGNhc2UgbWlwc19zeXNfTjMyX2NhcGdldDoKKyAgICAgIHJldHVy biBnZGJfc3lzX2NhcGdldDsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9jYXBz ZXQ6CisgICAgY2FzZSBtaXBzX3N5c19jYXBzZXQ6CisgICAgY2FzZSBtaXBz X3N5c19OMzJfY2Fwc2V0OgorICAgICAgcmV0dXJuIGdkYl9zeXNfY2Fwc2V0 OworICAgIGNhc2UgbWlwc19zeXNfTzMyX3NpZ2FsdHN0YWNrOgorICAgIGNh c2UgbWlwc19zeXNfc2lnYWx0c3RhY2s6CisgICAgY2FzZSBtaXBzX3N5c19O MzJfc2lnYWx0c3RhY2s6CisgICAgICByZXR1cm4gZ2RiX3N5c19zaWdhbHRz dGFjazsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9zZW5kZmlsZToKKyAgICBj YXNlIG1pcHNfc3lzX3NlbmRmaWxlOgorICAgIGNhc2UgbWlwc19zeXNfTjMy X3NlbmRmaWxlOgorICAgICAgcmV0dXJuIGdkYl9zeXNfc2VuZGZpbGU7Cisg ICAgY2FzZSBtaXBzX3N5c19PMzJfZ2V0cmxpbWl0OgorICAgIGNhc2UgbWlw c19zeXNfZ2V0cmxpbWl0OgorICAgIGNhc2UgbWlwc19zeXNfTjMyX2dldHJs aW1pdDoKKyAgICAgIHJldHVybiBnZGJfc3lzX2dldHJsaW1pdDsKKyAgICBj YXNlIG1pcHNfc3lzX08zMl9tbWFwMjoKKyAgICAgIHJldHVybiBnZGJfc3lz X21tYXAyOworICAgIGNhc2UgbWlwc19zeXNfTzMyX3RydW5jYXRlNjQ6Cisg ICAgICByZXR1cm4gZ2RiX3N5c190cnVuY2F0ZTY0OworICAgIGNhc2UgbWlw c19zeXNfTzMyX2Z0cnVuY2F0ZTY0OgorICAgICAgcmV0dXJuIGdkYl9zeXNf ZnRydW5jYXRlNjQ7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfc3RhdDY0Ogor ICAgICAgcmV0dXJuIGdkYl9zeXNfc3RhdDY0OworICAgIGNhc2UgbWlwc19z eXNfTzMyX2xzdGF0NjQ6CisgICAgICByZXR1cm4gZ2RiX3N5c19sc3RhdDY0 OworICAgIGNhc2UgbWlwc19zeXNfTzMyX2ZzdGF0NjQ6CisgICAgICByZXR1 cm4gZ2RiX3N5c19mc3RhdDY0OworICAgIGNhc2UgbWlwc19zeXNfTzMyX2xj aG93bjoKKyAgICBjYXNlIG1pcHNfc3lzX2xjaG93bjoKKyAgICBjYXNlIG1p cHNfc3lzX04zMl9sY2hvd246CisgICAgICByZXR1cm4gZ2RiX3N5c19sY2hv d247CisgICAgY2FzZSBtaXBzX3N5c19PMzJfZ2V0dWlkOgorICAgIGNhc2Ug bWlwc19zeXNfZ2V0dWlkOgorICAgIGNhc2UgbWlwc19zeXNfTjMyX2dldHVp ZDoKKyAgICAgIHJldHVybiBnZGJfc3lzX2dldHVpZDsKKyAgICBjYXNlIG1p cHNfc3lzX08zMl9nZXRnaWQ6CisgICAgY2FzZSBtaXBzX3N5c19nZXRnaWQ6 CisgICAgY2FzZSBtaXBzX3N5c19OMzJfZ2V0Z2lkOgorICAgICAgcmV0dXJu IGdkYl9zeXNfZ2V0Z2lkOworICAgIGNhc2UgbWlwc19zeXNfTzMyX2dldGV1 aWQ6CisgICAgY2FzZSBtaXBzX3N5c19nZXRldWlkOgorICAgIGNhc2UgbWlw c19zeXNfTjMyX2dldGV1aWQ6CisgICAgICByZXR1cm4gZ2RiX3N5c19nZXRl dWlkOworICAgIGNhc2UgbWlwc19zeXNfTzMyX2dldGVnaWQ6CisgICAgY2Fz ZSBtaXBzX3N5c19nZXRlZ2lkOgorICAgIGNhc2UgbWlwc19zeXNfTjMyX2dl dGVnaWQ6CisgICAgICByZXR1cm4gZ2RiX3N5c19nZXRlZ2lkOworICAgIGNh c2UgbWlwc19zeXNfTzMyX3NldHJldWlkOgorICAgIGNhc2UgbWlwc19zeXNf c2V0cmV1aWQ6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfc2V0cmV1aWQ6Cisg ICAgICByZXR1cm4gZ2RiX3N5c19zZXRyZXVpZDsKKyAgICBjYXNlIG1pcHNf c3lzX08zMl9zZXRyZWdpZDoKKyAgICBjYXNlIG1pcHNfc3lzX3NldHJlZ2lk OgorICAgIGNhc2UgbWlwc19zeXNfTjMyX3NldHJlZ2lkOgorICAgICAgcmV0 dXJuIGdkYl9zeXNfc2V0cmVnaWQ7CisgICAgY2FzZSBtaXBzX3N5c19PMzJf Z2V0Z3JvdXBzOgorICAgIGNhc2UgbWlwc19zeXNfZ2V0Z3JvdXBzOgorICAg IGNhc2UgbWlwc19zeXNfTjMyX2dldGdyb3VwczoKKyAgICAgIHJldHVybiBn ZGJfc3lzX2dldGdyb3VwczsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9zZXRn cm91cHM6CisgICAgY2FzZSBtaXBzX3N5c19zZXRncm91cHM6CisgICAgY2Fz ZSBtaXBzX3N5c19OMzJfc2V0Z3JvdXBzOgorICAgICAgcmV0dXJuIGdkYl9z eXNfc2V0Z3JvdXBzOworICAgIGNhc2UgbWlwc19zeXNfTzMyX2ZjaG93bjoK KyAgICBjYXNlIG1pcHNfc3lzX2ZjaG93bjoKKyAgICBjYXNlIG1pcHNfc3lz X04zMl9mY2hvd246CisgICAgICByZXR1cm4gZ2RiX3N5c19mY2hvd247Cisg ICAgY2FzZSBtaXBzX3N5c19PMzJfc2V0cmVzdWlkOgorICAgIGNhc2UgbWlw c19zeXNfc2V0cmVzdWlkOgorICAgIGNhc2UgbWlwc19zeXNfTjMyX3NldHJl c3VpZDoKKyAgICAgIHJldHVybiBnZGJfc3lzX3NldHJlc3VpZDsKKyAgICBj YXNlIG1pcHNfc3lzX08zMl9nZXRyZXN1aWQ6CisgICAgY2FzZSBtaXBzX3N5 c19nZXRyZXN1aWQ6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfZ2V0cmVzdWlk OgorICAgICAgcmV0dXJuIGdkYl9zeXNfZ2V0cmVzdWlkOworICAgIGNhc2Ug bWlwc19zeXNfTzMyX3NldHJlc2dpZDoKKyAgICBjYXNlIG1pcHNfc3lzX3Nl dHJlc2dpZDoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9zZXRyZXNnaWQ6Cisg ICAgICByZXR1cm4gZ2RiX3N5c19zZXRyZXNnaWQ7CisgICAgY2FzZSBtaXBz X3N5c19PMzJfZ2V0cmVzZ2lkOgorICAgIGNhc2UgbWlwc19zeXNfZ2V0cmVz Z2lkOgorICAgIGNhc2UgbWlwc19zeXNfTjMyX2dldHJlc2dpZDoKKyAgICAg IHJldHVybiBnZGJfc3lzX2dldHJlc2dpZDsKKyAgICBjYXNlIG1pcHNfc3lz X08zMl9jaG93bjoKKyAgICBjYXNlIG1pcHNfc3lzX2Nob3duOgorICAgIGNh c2UgbWlwc19zeXNfTjMyX2Nob3duOgorICAgICAgcmV0dXJuIGdkYl9zeXNf Y2hvd247CisgICAgY2FzZSBtaXBzX3N5c19PMzJfc2V0dWlkOgorICAgIGNh c2UgbWlwc19zeXNfc2V0dWlkOgorICAgIGNhc2UgbWlwc19zeXNfTjMyX3Nl dHVpZDoKKyAgICAgIHJldHVybiBnZGJfc3lzX3NldHVpZDsKKyAgICBjYXNl IG1pcHNfc3lzX08zMl9zZXRnaWQ6CisgICAgY2FzZSBtaXBzX3N5c19zZXRn aWQ6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfc2V0Z2lkOgorICAgICAgcmV0 dXJuIGdkYl9zeXNfc2V0Z2lkOworICAgIGNhc2UgbWlwc19zeXNfTzMyX3Nl dGZzdWlkOgorICAgIGNhc2UgbWlwc19zeXNfc2V0ZnN1aWQ6CisgICAgY2Fz ZSBtaXBzX3N5c19OMzJfc2V0ZnN1aWQ6CisgICAgICByZXR1cm4gZ2RiX3N5 c19zZXRmc3VpZDsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9zZXRmc2dpZDoK KyAgICBjYXNlIG1pcHNfc3lzX3NldGZzZ2lkOgorICAgIGNhc2UgbWlwc19z eXNfTjMyX3NldGZzZ2lkOgorICAgICAgcmV0dXJuIGdkYl9zeXNfc2V0ZnNn aWQ7CisgICAgY2FzZSBtaXBzX3N5c19waXZvdF9yb290OgorICAgIGNhc2Ug bWlwc19zeXNfTjMyX3Bpdm90X3Jvb3Q6CisgICAgICByZXR1cm4gZ2RiX3N5 c19waXZvdF9yb290OworICAgIGNhc2UgbWlwc19zeXNfTzMyX21pbmNvcmU6 CisgICAgY2FzZSBtaXBzX3N5c19taW5jb3JlOgorICAgIGNhc2UgbWlwc19z eXNfTjMyX21pbmNvcmU6CisgICAgICByZXR1cm4gZ2RiX3N5c19taW5jb3Jl OworICAgIGNhc2UgbWlwc19zeXNfTzMyX21hZHZpc2U6CisgICAgY2FzZSBt aXBzX3N5c19tYWR2aXNlOgorICAgIGNhc2UgbWlwc19zeXNfTjMyX21hZHZp c2U6CisgICAgICByZXR1cm4gZ2RiX3N5c19tYWR2aXNlOworICAgIGNhc2Ug bWlwc19zeXNfTzMyX2dldGRlbnRzNjQ6CisgICAgICByZXR1cm4gZ2RiX3N5 c19nZXRkZW50czY0OworICAgIGNhc2UgbWlwc19zeXNfTzMyX2ZjbnRsNjQ6 CisgICAgY2FzZSBtaXBzX3N5c19OMzJfZmNudGw2NDoKKyAgICAgIHJldHVy biBnZGJfc3lzX2ZjbnRsNjQ7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfZ2V0 dGlkOgorICAgIGNhc2UgbWlwc19zeXNfZ2V0dGlkOgorICAgIGNhc2UgbWlw c19zeXNfTjMyX2dldHRpZDoKKyAgICAgIHJldHVybiBnZGJfc3lzX2dldHRp ZDsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9yZWFkYWhlYWQ6CisgICAgY2Fz ZSBtaXBzX3N5c19yZWFkYWhlYWQ6CisgICAgY2FzZSBtaXBzX3N5c19OMzJf cmVhZGFoZWFkOgorICAgICAgcmV0dXJuIGdkYl9zeXNfcmVhZGFoZWFkOwor ICAgIGNhc2UgbWlwc19zeXNfTzMyX3NldHhhdHRyOgorICAgIGNhc2UgbWlw c19zeXNfc2V0eGF0dHI6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfc2V0eGF0 dHI6CisgICAgICByZXR1cm4gZ2RiX3N5c19zZXR4YXR0cjsKKyAgICBjYXNl IG1pcHNfc3lzX08zMl9sc2V0eGF0dHI6CisgICAgY2FzZSBtaXBzX3N5c19s c2V0eGF0dHI6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfbHNldHhhdHRyOgor ICAgICAgcmV0dXJuIGdkYl9zeXNfbHNldHhhdHRyOworICAgIGNhc2UgbWlw c19zeXNfTzMyX2ZzZXR4YXR0cjoKKyAgICBjYXNlIG1pcHNfc3lzX2ZzZXR4 YXR0cjoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9mc2V0eGF0dHI6CisgICAg ICByZXR1cm4gZ2RiX3N5c19mc2V0eGF0dHI7CisgICAgY2FzZSBtaXBzX3N5 c19PMzJfZ2V0eGF0dHI6CisgICAgY2FzZSBtaXBzX3N5c19nZXR4YXR0cjoK KyAgICBjYXNlIG1pcHNfc3lzX04zMl9nZXR4YXR0cjoKKyAgICAgIHJldHVy biBnZGJfc3lzX2dldHhhdHRyOworICAgIGNhc2UgbWlwc19zeXNfTzMyX2xn ZXR4YXR0cjoKKyAgICBjYXNlIG1pcHNfc3lzX2xnZXR4YXR0cjoKKyAgICBj YXNlIG1pcHNfc3lzX04zMl9sZ2V0eGF0dHI6CisgICAgICByZXR1cm4gZ2Ri X3N5c19sZ2V0eGF0dHI7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfZmdldHhh dHRyOgorICAgIGNhc2UgbWlwc19zeXNfZmdldHhhdHRyOgorICAgIGNhc2Ug bWlwc19zeXNfTjMyX2ZnZXR4YXR0cjoKKyAgICAgIHJldHVybiBnZGJfc3lz X2ZnZXR4YXR0cjsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9saXN0eGF0dHI6 CisgICAgY2FzZSBtaXBzX3N5c19saXN0eGF0dHI6CisgICAgY2FzZSBtaXBz X3N5c19OMzJfbGlzdHhhdHRyOgorICAgICAgcmV0dXJuIGdkYl9zeXNfbGlz dHhhdHRyOworICAgIGNhc2UgbWlwc19zeXNfTzMyX2xsaXN0eGF0dHI6Cisg ICAgY2FzZSBtaXBzX3N5c19sbGlzdHhhdHRyOgorICAgIGNhc2UgbWlwc19z eXNfTjMyX2xsaXN0eGF0dHI6CisgICAgICByZXR1cm4gZ2RiX3N5c19sbGlz dHhhdHRyOworICAgIGNhc2UgbWlwc19zeXNfTzMyX2ZsaXN0eGF0dHI6Cisg ICAgY2FzZSBtaXBzX3N5c19mbGlzdHhhdHRyOgorICAgIGNhc2UgbWlwc19z eXNfTjMyX2ZsaXN0eGF0dHI6CisgICAgICByZXR1cm4gZ2RiX3N5c19mbGlz dHhhdHRyOworICAgIGNhc2UgbWlwc19zeXNfTzMyX3JlbW92ZXhhdHRyOgor ICAgIGNhc2UgbWlwc19zeXNfcmVtb3ZleGF0dHI6CisgICAgY2FzZSBtaXBz X3N5c19OMzJfcmVtb3ZleGF0dHI6CisgICAgICByZXR1cm4gZ2RiX3N5c19y ZW1vdmV4YXR0cjsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9scmVtb3ZleGF0 dHI6CisgICAgY2FzZSBtaXBzX3N5c19scmVtb3ZleGF0dHI6CisgICAgY2Fz ZSBtaXBzX3N5c19OMzJfbHJlbW92ZXhhdHRyOgorICAgICAgcmV0dXJuIGdk Yl9zeXNfbHJlbW92ZXhhdHRyOworICAgIGNhc2UgbWlwc19zeXNfTzMyX2Zy ZW1vdmV4YXR0cjoKKyAgICBjYXNlIG1pcHNfc3lzX2ZyZW1vdmV4YXR0cjoK KyAgICBjYXNlIG1pcHNfc3lzX04zMl9mcmVtb3ZleGF0dHI6CisgICAgICBy ZXR1cm4gZ2RiX3N5c19mcmVtb3ZleGF0dHI7CisgICAgY2FzZSBtaXBzX3N5 c19PMzJfdGtpbGw6CisgICAgY2FzZSBtaXBzX3N5c190a2lsbDoKKyAgICBj YXNlIG1pcHNfc3lzX04zMl90a2lsbDoKKyAgICAgIHJldHVybiBnZGJfc3lz X3RraWxsOworICAgIGNhc2UgbWlwc19zeXNfTzMyX3NlbmRmaWxlNjQ6Cisg ICAgY2FzZSBtaXBzX3N5c19OMzJfc2VuZGZpbGU2NDoKKyAgICAgIHJldHVy biBnZGJfc3lzX3NlbmRmaWxlNjQ7CisgICAgY2FzZSBtaXBzX3N5c19PMzJf ZnV0ZXg6CisgICAgY2FzZSBtaXBzX3N5c19mdXRleDoKKyAgICBjYXNlIG1p cHNfc3lzX04zMl9mdXRleDoKKyAgICAgIHJldHVybiBnZGJfc3lzX2Z1dGV4 OworICAgIGNhc2UgbWlwc19zeXNfTzMyX3NjaGVkX3NldGFmZmluaXR5Ogor ICAgIGNhc2UgbWlwc19zeXNfc2NoZWRfc2V0YWZmaW5pdHk6CisgICAgY2Fz ZSBtaXBzX3N5c19OMzJfc2NoZWRfc2V0YWZmaW5pdHk6CisgICAgICByZXR1 cm4gZ2RiX3N5c19zY2hlZF9zZXRhZmZpbml0eTsKKyAgICBjYXNlIG1pcHNf c3lzX08zMl9zY2hlZF9nZXRhZmZpbml0eToKKyAgICBjYXNlIG1pcHNfc3lz X3NjaGVkX2dldGFmZmluaXR5OgorICAgIGNhc2UgbWlwc19zeXNfTjMyX3Nj aGVkX2dldGFmZmluaXR5OgorICAgICAgcmV0dXJuIGdkYl9zeXNfc2NoZWRf Z2V0YWZmaW5pdHk7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfc29ja2V0Ogor ICAgIGNhc2UgbWlwc19zeXNfc29ja2V0OgorICAgIGNhc2UgbWlwc19zeXNf TjMyX3NvY2tldDoKKyAgICAgIHJldHVybiBnZGJfc3lzX3NvY2tldDsKKyAg ICBjYXNlIG1pcHNfc3lzX08zMl9jb25uZWN0OgorICAgIGNhc2UgbWlwc19z eXNfY29ubmVjdDoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9jb25uZWN0Ogor ICAgICAgcmV0dXJuIGdkYl9zeXNfY29ubmVjdDsKKyAgICBjYXNlIG1pcHNf c3lzX08zMl9hY2NlcHQ6CisgICAgY2FzZSBtaXBzX3N5c19hY2NlcHQ6Cisg ICAgY2FzZSBtaXBzX3N5c19OMzJfYWNjZXB0OgorICAgICAgcmV0dXJuIGdk Yl9zeXNfYWNjZXB0OworICAgIGNhc2UgbWlwc19zeXNfTzMyX3NlbmR0bzoK KyAgICBjYXNlIG1pcHNfc3lzX3NlbmR0bzoKKyAgICBjYXNlIG1pcHNfc3lz X04zMl9zZW5kdG86CisgICAgICByZXR1cm4gZ2RiX3N5c19zZW5kdG87Cisg ICAgY2FzZSBtaXBzX3N5c19PMzJfcmVjdmZyb206CisgICAgY2FzZSBtaXBz X3N5c19yZWN2ZnJvbToKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9yZWN2ZnJv bToKKyAgICAgIHJldHVybiBnZGJfc3lzX3JlY3Zmcm9tOworICAgIGNhc2Ug bWlwc19zeXNfTzMyX3NlbmRtc2c6CisgICAgY2FzZSBtaXBzX3N5c19zZW5k bXNnOgorICAgIGNhc2UgbWlwc19zeXNfTjMyX3NlbmRtc2c6CisgICAgICBy ZXR1cm4gZ2RiX3N5c19zZW5kbXNnOworICAgIGNhc2UgbWlwc19zeXNfTzMy X3JlY3Ztc2c6CisgICAgY2FzZSBtaXBzX3N5c19yZWN2bXNnOgorICAgIGNh c2UgbWlwc19zeXNfTjMyX3JlY3Ztc2c6CisgICAgICByZXR1cm4gZ2RiX3N5 c19yZWN2bXNnOworICAgIGNhc2UgbWlwc19zeXNfTzMyX3NodXRkb3duOgor ICAgIGNhc2UgbWlwc19zeXNfc2h1dGRvd246CisgICAgY2FzZSBtaXBzX3N5 c19OMzJfc2h1dGRvd246CisgICAgICByZXR1cm4gZ2RiX3N5c19zaHV0ZG93 bjsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9iaW5kOgorICAgIGNhc2UgbWlw c19zeXNfYmluZDoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9iaW5kOgorICAg ICAgcmV0dXJuIGdkYl9zeXNfYmluZDsKKyAgICBjYXNlIG1pcHNfc3lzX08z Ml9saXN0ZW46CisgICAgY2FzZSBtaXBzX3N5c19saXN0ZW46CisgICAgY2Fz ZSBtaXBzX3N5c19OMzJfbGlzdGVuOgorICAgICAgcmV0dXJuIGdkYl9zeXNf bGlzdGVuOworICAgIGNhc2UgbWlwc19zeXNfTzMyX2dldHNvY2tuYW1lOgor ICAgIGNhc2UgbWlwc19zeXNfZ2V0c29ja25hbWU6CisgICAgY2FzZSBtaXBz X3N5c19OMzJfZ2V0c29ja25hbWU6CisgICAgICByZXR1cm4gZ2RiX3N5c19n ZXRzb2NrbmFtZTsKKyAgICBjYXNlIG1pcHNfc3lzX08zMl9nZXRwZWVybmFt ZToKKyAgICBjYXNlIG1pcHNfc3lzX2dldHBlZXJuYW1lOgorICAgIGNhc2Ug bWlwc19zeXNfTjMyX2dldHBlZXJuYW1lOgorICAgICAgcmV0dXJuIGdkYl9z eXNfZ2V0cGVlcm5hbWU7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfc29ja2V0 cGFpcjoKKyAgICBjYXNlIG1pcHNfc3lzX3NvY2tldHBhaXI6CisgICAgY2Fz ZSBtaXBzX3N5c19OMzJfc29ja2V0cGFpcjoKKyAgICAgIHJldHVybiBnZGJf c3lzX3NvY2tldHBhaXI7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfc2V0c29j a29wdDoKKyAgICBjYXNlIG1pcHNfc3lzX3NldHNvY2tvcHQ6CisgICAgY2Fz ZSBtaXBzX3N5c19OMzJfc2V0c29ja29wdDoKKyAgICAgIHJldHVybiBnZGJf c3lzX3NldHNvY2tvcHQ7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfZ2V0c29j a29wdDoKKyAgICBjYXNlIG1pcHNfc3lzX2dldHNvY2tvcHQ6CisgICAgY2Fz ZSBtaXBzX3N5c19OMzJfZ2V0c29ja29wdDoKKyAgICAgIHJldHVybiBnZGJf c3lzX2dldHNvY2tvcHQ7CisgICAgY2FzZSBtaXBzX3N5c19PMzJfcmVjdjoK KyAgICAgIHJldHVybiBnZGJfc3lzX3JlY3Y7CisgICAgY2FzZSBtaXBzX3N5 c19zaG1nZXQ6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfc2htZ2V0OgorICAg ICAgcmV0dXJuIGdkYl9zeXNfc2htZ2V0OworICAgIGNhc2UgbWlwc19zeXNf c2htYXQ6CisgICAgY2FzZSBtaXBzX3N5c19OMzJfc2htYXQ6CisgICAgICBy ZXR1cm4gZ2RiX3N5c19zaG1hdDsKKyAgICBjYXNlIG1pcHNfc3lzX3NobWN0 bDoKKyAgICBjYXNlIG1pcHNfc3lzX04zMl9zaG1jdGw6CisgICAgICByZXR1 cm4gZ2RiX3N5c19zaG1jdGw7CisgICAgY2FzZSBtaXBzX3N5c19zZW1nZXQ6 CisgICAgY2FzZSBtaXBzX3N5c19OMzJfc2VtZ2V0OgorICAgICAgcmV0dXJu IGdkYl9zeXNfc2VtZ2V0OworICAgIGNhc2UgbWlwc19zeXNfc2Vtb3A6Cisg ICAgY2FzZSBtaXBzX3N5c19OMzJfc2Vtb3A6CisgICAgICByZXR1cm4gZ2Ri X3N5c19zZW1vcDsKKyAgICBjYXNlIG1pcHNfc3lzX3NlbWN0bDoKKyAgICBj YXNlIG1pcHNfc3lzX04zMl9zZW1jdGw6CisgICAgICByZXR1cm4gZ2RiX3N5 c19zZW1jdGw7CisgICAgY2FzZSBtaXBzX3N5c19zaG1kdDoKKyAgICBjYXNl IG1pcHNfc3lzX04zMl9zaG1kdDoKKyAgICAgIHJldHVybiBnZGJfc3lzX3No bWR0OworICAgIGNhc2UgbWlwc19zeXNfbXNnZ2V0OgorICAgIGNhc2UgbWlw c19zeXNfTjMyX21zZ2dldDoKKyAgICAgIHJldHVybiBnZGJfc3lzX21zZ2dl dDsKKyAgICBjYXNlIG1pcHNfc3lzX21zZ3NuZDoKKyAgICBjYXNlIG1pcHNf c3lzX04zMl9tc2dzbmQ6CisgICAgICByZXR1cm4gZ2RiX3N5c19tc2dzbmQ7 CisgICAgY2FzZSBtaXBzX3N5c19tc2dyY3Y6CisgICAgY2FzZSBtaXBzX3N5 c19OMzJfbXNncmN2OgorICAgICAgcmV0dXJuIGdkYl9zeXNfbXNncmN2Owor ICAgIGNhc2UgbWlwc19zeXNfbXNnY3RsOgorICAgIGNhc2UgbWlwc19zeXNf TjMyX21zZ2N0bDoKKyAgICAgIHJldHVybiBnZGJfc3lzX21zZ2N0bDsKKyAg ICBjYXNlIG1pcHNfc3lzX3NlbXRpbWVkb3A6CisgICAgY2FzZSBtaXBzX3N5 c19OMzJfc2VtdGltZWRvcDoKKyAgICAgIHJldHVybiBnZGJfc3lzX3NlbXRp bWVkb3A7CisKKyAgZGVmYXVsdDoKKyAgICByZXR1cm4gLTE7CisgIH0KK30K KworLyogUGFyc2UgdGhlIGFyZ3VtZW50cyBvZiBjdXJyZW50IHN5c3RlbSBj YWxsIGluc3RydWN0aW9uIGFuZCByZWNvcmQKKyAgIHRoZSB2YWx1ZXMgb2Yg dGhlIHJlZ2lzdGVycyBhbmQgbWVtb3J5IHRoYXQgd2lsbCBiZSBjaGFuZ2Vk IGludG8KKyAgICJyZWNvcmRfYXJjaF9saXN0Ii4gIFRoaXMgaW5zdHJ1Y3Rp b24gaXMgInN5c2NhbGwiLgorCisgICBSZXR1cm4gLTEgaWYgc29tZXRoaW5n IHdyb25nLiAgKi8KKworc3RhdGljIHN0cnVjdCBsaW51eF9yZWNvcmRfdGRl cCBtaXBzX2xpbnV4X3JlY29yZF90ZGVwOworCitzdGF0aWMgaW50CittaXBz X2xpbnV4X3N5c2NhbGxfcmVjb3JkIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2Nh Y2hlKQoreworICBpbnQgcmV0OworICBMT05HRVNUIHN5c2NhbGxfbmF0aXZl OworICBlbnVtIGdkYl9zeXNjYWxsIHN5c2NhbGxfZ2RiOworCisgIHJlZ2Nh Y2hlX3Jhd19yZWFkX3NpZ25lZCAocmVnY2FjaGUsIE1JUFNfVjBfUkVHTlVN LCAmc3lzY2FsbF9uYXRpdmUpOworCisgIHN5c2NhbGxfZ2RiID0gbWlwc19j YW5vbmljYWxpemVfc3lzY2FsbCAoc3lzY2FsbF9uYXRpdmUpOworCisgIGlm IChzeXNjYWxsX2dkYiA8IDApCisgIHsKKyAgICBwcmludGZfdW5maWx0ZXJl ZCAoXygiUHJvY2VzcyByZWNvcmQgYW5kIHJlcGxheSB0YXJnZXQgZG9lc24n dCAiCisgICAgICAgICJzdXBwb3J0IHN5c2NhbGwgbnVtYmVyICVzXG4iKSwg CisgICAgICAgIHBsb25nZXN0IChzeXNjYWxsX25hdGl2ZSkpOworICAgIHJl dHVybiAtMTsKKyAgfQorCisgIGlmIChzeXNjYWxsX2dkYiA9PSBnZGJfc3lz X3NpZ3JldHVybgorICAgICAgfHwgc3lzY2FsbF9nZGIgPT0gZ2RiX3N5c19y dF9zaWdyZXR1cm4pCisgIHsKKyAgICBpZiAobWlwc19hbGxfYnV0X2lwX3Jl Z2lzdGVyc19yZWNvcmQgKHJlZ2NhY2hlKSkKKyAgICAgIHJldHVybiAtMTsK KyAgICByZXR1cm4gMDsKKyAgfQorCisgIHJldCA9IHJlY29yZF9saW51eF9z eXN0ZW1fY2FsbCAoc3lzY2FsbF9nZGIsIHJlZ2NhY2hlLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZtaXBzX2xpbnV4X3JlY29yZF90 ZGVwKTsKKyAgaWYgKHJldCkKKyAgICByZXR1cm4gcmV0OworCisgIC8qIFJl Y29yZCB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBzeXN0ZW0gY2FsbC4gICov CisgIGlmIChyZWNvcmRfYXJjaF9saXN0X2FkZF9yZWcgKHJlZ2NhY2hlLCBN SVBTX1YwX1JFR05VTSkpCisgICAgcmV0dXJuIC0xOworCisgIHJldHVybiAw OworfQorCisjZGVmaW5lIE1JUFNfTElOVVhfeHN0YXRlIDI3MAorI2RlZmlu ZSBNSVBTX0xJTlVYX2ZyYW1lX3NpemUgNzMyCisKK2ludAorbWlwc19saW51 eF9yZWNvcmRfc2lnbmFsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCByZWdjYWNoZSAq cmVnY2FjaGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVt IHRhcmdldF9zaWduYWwgc2lnbmFsKQoreworICBVTE9OR0VTVCBzcDsKKwor ICBpZiAobWlwc19hbGxfYnV0X2lwX3JlZ2lzdGVyc19yZWNvcmQgKHJlZ2Nh Y2hlKSkKKyAgICByZXR1cm4gLTE7CisKKyAgaWYgKHJlY29yZF9hcmNoX2xp c3RfYWRkX3JlZyAocmVnY2FjaGUsIE1JUFNfU1BfUkVHTlVNKSkKKyAgICBy ZXR1cm4gLTE7CisKKyAgLyogUmVjb3JkIHRoZSBjaGFuZ2UgaW4gdGhlIHN0 YWNrLiAgKi8KKyAgcmVnY2FjaGVfcmF3X3JlYWRfdW5zaWduZWQgKHJlZ2Nh Y2hlLCBNSVBTX1NQX1JFR05VTSwgJnNwKTsKKyAgLyogVGhpcyBpcyBmb3Ig eHN0YXRlLgorICBzcCAtPSBzaXplb2YgKHN0cnVjdCBfZnBzdGF0ZSk7ICAq LworICBzcCAtPSBNSVBTX0xJTlVYX3hzdGF0ZTsKKyAgLyogVGhpcyBpcyBm b3IgZnJhbWVfc2l6ZS4KKyAgc3AgLT0gc2l6ZW9mIChzdHJ1Y3QgcnRfc2ln ZnJhbWUpOyAgKi8KKyAgc3AgLT0gTUlQU19MSU5VWF9mcmFtZV9zaXplOwor ICBpZiAocmVjb3JkX2FyY2hfbGlzdF9hZGRfbWVtIChzcCwKKyAgICAgIE1J UFNfTElOVVhfeHN0YXRlICsgTUlQU19MSU5VWF9mcmFtZV9zaXplKSkKKyAg ICByZXR1cm4gLTE7CisKKyAgaWYgKHJlY29yZF9hcmNoX2xpc3RfYWRkX2Vu ZCAoKSkKKyAgICByZXR1cm4gLTE7CisKKyAgcmV0dXJuIDA7Cit9CisKK2lu dAorbWlwc19zeXNjYWxsIChlbnVtIG1pcHNfYWJpIGFiaSwgZW51bSBtaXBz X3N5c2NhbGxfb2Zmc2V0IG9mZnNldCkKK3sKKyAgc3dpdGNoIChhYmkpIHsK KyAgICBjYXNlIE1JUFNfQUJJX08zMjoKKyAgICAgIHJldHVybiBvZmZzZXQg KyA0MDAwOworICAgIGNhc2UgTUlQU19BQklfTjMyOgorICAgICAgcmV0dXJu IG9mZnNldCArIDYwMDA7CisgICAgY2FzZSBNSVBTX0FCSV9ONjQ6CisgICAg ICByZXR1cm4gb2Zmc2V0ICsgNTAwMDsKKyAgICBkZWZhdWx0OgorICAgICAg YnJlYWs7CisgIH0KKyAgZ2RiX2Fzc2VydCAoMCk7CisgIHJldHVybiAtMTsK K30KKwogLyogSW5pdGlhbGl6ZSBvbmUgb2YgdGhlIEdOVS9MaW51eCBPUyBB QklzLiAgKi8KIAogc3RhdGljIHZvaWQKQEAgLTExNDMsNiArMjA2NywxNzAg QEAgbWlwc19saW51eF9pbml0X2FiaSAoc3RydWN0IGdkYmFyY2hfaW5mbyBp bmZvLAogICBlbnVtIG1pcHNfYWJpIGFiaSA9IG1pcHNfYWJpIChnZGJhcmNo KTsKICAgc3RydWN0IHRkZXNjX2FyY2hfZGF0YSAqdGRlc2NfZGF0YSA9ICh2 b2lkICopIGluZm8udGRlcF9pbmZvOwogCisgIHNldF9nZGJhcmNoX3Byb2Nl c3NfcmVjb3JkIChnZGJhcmNoLCBtaXBzX3JlY29yZCk7CisgIHNldF9nZGJh cmNoX3Byb2Nlc3NfcmVjb3JkX3NpZ25hbCAoZ2RiYXJjaCwgbWlwc19saW51 eF9yZWNvcmRfc2lnbmFsKTsKKworICAvKiBJbml0aWFsaXplIHRoZSBtaXBz X2xpbnV4X3JlY29yZF90ZGVwLiAgKi8KKyAgLyogVGhlc2UgdmFsdWVzIGFy ZSB0aGUgc2l6ZSBvZiB0aGUgdHlwZSB0aGF0IHdpbGwgYmUgdXNlZCBpbiBh IHN5c3RlbQorICBjYWxsLiAgVGhleSBhcmUgb2J0YWluZWQgZnJvbSBMaW51 eCBLZXJuZWwgc291cmNlLiAgKi8KKyAgbWlwc19saW51eF9yZWNvcmRfdGRl cC5zaXplX3BvaW50ZXIKKyAgICAgID0gZ2RiYXJjaF9wdHJfYml0IChnZGJh cmNoKSAvIFRBUkdFVF9DSEFSX0JJVDsKKyAgbWlwc19saW51eF9yZWNvcmRf dGRlcC5zaXplX19vbGRfa2VybmVsX3N0YXQgPSAzMjsKKyAgbWlwc19saW51 eF9yZWNvcmRfdGRlcC5zaXplX3RtcyA9IDE2OworICBtaXBzX2xpbnV4X3Jl Y29yZF90ZGVwLnNpemVfbG9mZl90ID0gODsKKyAgbWlwc19saW51eF9yZWNv cmRfdGRlcC5zaXplX2Zsb2NrID0gMTY7CisgIG1pcHNfbGludXhfcmVjb3Jk X3RkZXAuc2l6ZV9vbGRvbGRfdXRzbmFtZSA9IDQ1OworICBtaXBzX2xpbnV4 X3JlY29yZF90ZGVwLnNpemVfdXN0YXQgPSAyMDsKKyAgbWlwc19saW51eF9y ZWNvcmRfdGRlcC5zaXplX29sZF9zaWdhY3Rpb24gPSAxNDA7CisgIG1pcHNf bGludXhfcmVjb3JkX3RkZXAuc2l6ZV9vbGRfc2lnc2V0X3QgPSAxMjg7Cisg IG1pcHNfbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9ybGltaXQgPSA4OworICBt aXBzX2xpbnV4X3JlY29yZF90ZGVwLnNpemVfcnVzYWdlID0gNzI7CisgIG1p cHNfbGludXhfcmVjb3JkX3RkZXAuc2l6ZV90aW1ldmFsID0gODsKKyAgbWlw c19saW51eF9yZWNvcmRfdGRlcC5zaXplX3RpbWV6b25lID0gODsKKyAgbWlw c19saW51eF9yZWNvcmRfdGRlcC5zaXplX29sZF9naWRfdCA9IDI7CisgIG1p cHNfbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9vbGRfdWlkX3QgPSAyOworICBt aXBzX2xpbnV4X3JlY29yZF90ZGVwLnNpemVfZmRfc2V0ID0gMTI4OworICBt aXBzX2xpbnV4X3JlY29yZF90ZGVwLnNpemVfZGlyZW50ID0gMjY4OworICBt aXBzX2xpbnV4X3JlY29yZF90ZGVwLnNpemVfZGlyZW50NjQgPSAyNzY7Cisg IG1pcHNfbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9zdGF0ZnMgPSA2NDsKKyAg bWlwc19saW51eF9yZWNvcmRfdGRlcC5zaXplX3N0YXRmczY0ID0gODQ7Cisg IG1pcHNfbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9zb2NrYWRkciA9IDE2Owor ICBtaXBzX2xpbnV4X3JlY29yZF90ZGVwLnNpemVfaW50CisgICAgICA9IGdk YmFyY2hfaW50X2JpdCAoZ2RiYXJjaCkgLyBUQVJHRVRfQ0hBUl9CSVQ7Cisg IG1pcHNfbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9sb25nCisgICAgICA9IGdk YmFyY2hfbG9uZ19iaXQgKGdkYmFyY2gpIC8gVEFSR0VUX0NIQVJfQklUOwor ICBtaXBzX2xpbnV4X3JlY29yZF90ZGVwLnNpemVfdWxvbmcKKyAgICAgID0g Z2RiYXJjaF9sb25nX2JpdCAoZ2RiYXJjaCkgLyBUQVJHRVRfQ0hBUl9CSVQ7 CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9tc2doZHIgPSAyODsK KyAgbWlwc19saW51eF9yZWNvcmRfdGRlcC5zaXplX2l0aW1lcnZhbCA9IDE2 OworICBtaXBzX2xpbnV4X3JlY29yZF90ZGVwLnNpemVfc3RhdCA9IDg4Owor ICBtaXBzX2xpbnV4X3JlY29yZF90ZGVwLnNpemVfb2xkX3V0c25hbWUgPSAz MjU7CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9zeXNpbmZvID0g NjQ7CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9tc3FpZF9kcyA9 IDg4OworICBtaXBzX2xpbnV4X3JlY29yZF90ZGVwLnNpemVfc2htaWRfZHMg PSA4NDsKKyAgbWlwc19saW51eF9yZWNvcmRfdGRlcC5zaXplX25ld191dHNu YW1lID0gMzkwOworICBtaXBzX2xpbnV4X3JlY29yZF90ZGVwLnNpemVfdGlt ZXggPSAxMjg7CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9tZW1f ZHFpbmZvID0gMjQ7CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9p Zl9kcWJsayA9IDY4OworICBtaXBzX2xpbnV4X3JlY29yZF90ZGVwLnNpemVf ZnNfcXVvdGFfc3RhdCA9IDY4OworICBtaXBzX2xpbnV4X3JlY29yZF90ZGVw LnNpemVfdGltZXNwZWMgPSA4OworICBtaXBzX2xpbnV4X3JlY29yZF90ZGVw LnNpemVfcG9sbGZkID0gODsKKyAgbWlwc19saW51eF9yZWNvcmRfdGRlcC5z aXplX05GU19GSFNJWkUgPSAzMjsKKyAgbWlwc19saW51eF9yZWNvcmRfdGRl cC5zaXplX2tuZnNkX2ZoID0gMTMyOworICBtaXBzX2xpbnV4X3JlY29yZF90 ZGVwLnNpemVfVEFTS19DT01NX0xFTiA9IDE2OworICBtaXBzX2xpbnV4X3Jl Y29yZF90ZGVwLnNpemVfc2lnYWN0aW9uID0gMTQwOworICBtaXBzX2xpbnV4 X3JlY29yZF90ZGVwLnNpemVfc2lnc2V0X3QgPSA4OworICBtaXBzX2xpbnV4 X3JlY29yZF90ZGVwLnNpemVfc2lnaW5mb190ID0gMTI4OworICBtaXBzX2xp bnV4X3JlY29yZF90ZGVwLnNpemVfY2FwX3VzZXJfZGF0YV90ID0gMTI7Cisg IG1pcHNfbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9zdGFja190ID0gMTI7Cisg IG1pcHNfbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9vZmZfdCA9IG1pcHNfbGlu dXhfcmVjb3JkX3RkZXAuc2l6ZV9sb25nOworICBtaXBzX2xpbnV4X3JlY29y ZF90ZGVwLnNpemVfc3RhdDY0ID0gOTY7CisgIG1pcHNfbGludXhfcmVjb3Jk X3RkZXAuc2l6ZV9naWRfdCA9IDI7CisgIG1pcHNfbGludXhfcmVjb3JkX3Rk ZXAuc2l6ZV91aWRfdCA9IDI7CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAu c2l6ZV9QQUdFX1NJWkUgPSA0MDk2OworICBtaXBzX2xpbnV4X3JlY29yZF90 ZGVwLnNpemVfZmxvY2s2NCA9IDI0OworICBtaXBzX2xpbnV4X3JlY29yZF90 ZGVwLnNpemVfdXNlcl9kZXNjID0gMTY7CisgIG1pcHNfbGludXhfcmVjb3Jk X3RkZXAuc2l6ZV9pb19ldmVudCA9IDMyOworICBtaXBzX2xpbnV4X3JlY29y ZF90ZGVwLnNpemVfaW9jYiA9IDY0OworICBtaXBzX2xpbnV4X3JlY29yZF90 ZGVwLnNpemVfZXBvbGxfZXZlbnQgPSAxMjsKKyAgbWlwc19saW51eF9yZWNv cmRfdGRlcC5zaXplX2l0aW1lcnNwZWMKKyAgICAgID0gbWlwc19saW51eF9y ZWNvcmRfdGRlcC5zaXplX3RpbWVzcGVjICogMjsKKyAgbWlwc19saW51eF9y ZWNvcmRfdGRlcC5zaXplX21xX2F0dHIgPSAzMjsKKyAgbWlwc19saW51eF9y ZWNvcmRfdGRlcC5zaXplX3NpZ2luZm8gPSAxMjg7CisgIG1pcHNfbGludXhf cmVjb3JkX3RkZXAuc2l6ZV90ZXJtaW9zID0gMzY7CisgIG1pcHNfbGludXhf cmVjb3JkX3RkZXAuc2l6ZV90ZXJtaW9zMiA9IDQ0OworICBtaXBzX2xpbnV4 X3JlY29yZF90ZGVwLnNpemVfcGlkX3QgPSA0OworICBtaXBzX2xpbnV4X3Jl Y29yZF90ZGVwLnNpemVfd2luc2l6ZSA9IDg7CisgIG1pcHNfbGludXhfcmVj b3JkX3RkZXAuc2l6ZV9zZXJpYWxfc3RydWN0ID0gNjA7CisgIG1pcHNfbGlu dXhfcmVjb3JkX3RkZXAuc2l6ZV9zZXJpYWxfaWNvdW50ZXJfc3RydWN0ID0g ODA7CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9oYXllc19lc3Bf Y29uZmlnID0gMTI7CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAuc2l6ZV9z aXplX3QgPSA0OworICBtaXBzX2xpbnV4X3JlY29yZF90ZGVwLnNpemVfaW92 ZWMgPSA4OworCisgIC8qIFRoZXNlIHZhbHVlcyBhcmUgdGhlIHNlY29uZCBh cmd1bWVudCBvZiBzeXN0ZW0gY2FsbCAic3lzX2lvY3RsIi4KKyAgVGhleSBh cmUgb2J0YWluZWQgZnJvbSBMaW51eCBLZXJuZWwgc291cmNlLiAgKi8KKyAg bWlwc19saW51eF9yZWNvcmRfdGRlcC5pb2N0bF9UQ0dFVFMgPSAweDU0MDE7 CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAuaW9jdGxfVENTRVRTID0gMHg1 NDAyOworICBtaXBzX2xpbnV4X3JlY29yZF90ZGVwLmlvY3RsX1RDU0VUU1cg PSAweDU0MDM7CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAuaW9jdGxfVENT RVRTRiA9IDB4NTQwNDsKKyAgbWlwc19saW51eF9yZWNvcmRfdGRlcC5pb2N0 bF9UQ0dFVEEgPSAweDU0MDU7CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAu aW9jdGxfVENTRVRBID0gMHg1NDA2OworICBtaXBzX2xpbnV4X3JlY29yZF90 ZGVwLmlvY3RsX1RDU0VUQVcgPSAweDU0MDc7CisgIG1pcHNfbGludXhfcmVj b3JkX3RkZXAuaW9jdGxfVENTRVRBRiA9IDB4NTQwODsKKyAgbWlwc19saW51 eF9yZWNvcmRfdGRlcC5pb2N0bF9UQ1NCUksgPSAweDU0MDk7CisgIG1pcHNf bGludXhfcmVjb3JkX3RkZXAuaW9jdGxfVENYT05DID0gMHg1NDBBOworICBt aXBzX2xpbnV4X3JlY29yZF90ZGVwLmlvY3RsX1RDRkxTSCA9IDB4NTQwQjsK KyAgbWlwc19saW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DRVhDTCA9IDB4 NTQwQzsKKyAgbWlwc19saW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DTlhD TCA9IDB4NTQwRDsKKyAgbWlwc19saW51eF9yZWNvcmRfdGRlcC5pb2N0bF9U SU9DU0NUVFkgPSAweDU0MEU7CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAu aW9jdGxfVElPQ0dQR1JQID0gMHg1NDBGOworICBtaXBzX2xpbnV4X3JlY29y ZF90ZGVwLmlvY3RsX1RJT0NTUEdSUCA9IDB4NTQxMDsKKyAgbWlwc19saW51 eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DT1VUUSA9IDB4NTQxMTsKKyAgbWlw c19saW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DU1RJID0gMHg1NDEyOwor ICBtaXBzX2xpbnV4X3JlY29yZF90ZGVwLmlvY3RsX1RJT0NHV0lOU1ogPSAw eDU0MTM7CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAuaW9jdGxfVElPQ1NX SU5TWiA9IDB4NTQxNDsKKyAgbWlwc19saW51eF9yZWNvcmRfdGRlcC5pb2N0 bF9USU9DTUdFVCA9IDB4NTQxNTsKKyAgbWlwc19saW51eF9yZWNvcmRfdGRl cC5pb2N0bF9USU9DTUJJUyA9IDB4NTQxNjsKKyAgbWlwc19saW51eF9yZWNv cmRfdGRlcC5pb2N0bF9USU9DTUJJQyA9IDB4NTQxNzsKKyAgbWlwc19saW51 eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DTVNFVCA9IDB4NTQxODsKKyAgbWlw c19saW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DR1NPRlRDQVIgPSAweDU0 MTk7CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAuaW9jdGxfVElPQ1NTT0ZU Q0FSID0gMHg1NDFBOworICBtaXBzX2xpbnV4X3JlY29yZF90ZGVwLmlvY3Rs X0ZJT05SRUFEID0gMHg1NDFCOworICBtaXBzX2xpbnV4X3JlY29yZF90ZGVw LmlvY3RsX1RJT0NJTlEgPSBtaXBzX2xpbnV4X3JlY29yZF90ZGVwLmlvY3Rs X0ZJT05SRUFEOworICBtaXBzX2xpbnV4X3JlY29yZF90ZGVwLmlvY3RsX1RJ T0NMSU5VWCA9IDB4NTQxQzsKKyAgbWlwc19saW51eF9yZWNvcmRfdGRlcC5p b2N0bF9USU9DQ09OUyA9IDB4NTQxRDsKKyAgbWlwc19saW51eF9yZWNvcmRf dGRlcC5pb2N0bF9USU9DR1NFUklBTCA9IDB4NTQxRTsKKyAgbWlwc19saW51 eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DU1NFUklBTCA9IDB4NTQxRjsKKyAg bWlwc19saW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DUEtUID0gMHg1NDIw OworICBtaXBzX2xpbnV4X3JlY29yZF90ZGVwLmlvY3RsX0ZJT05CSU8gPSAw eDU0MjE7CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAuaW9jdGxfVElPQ05P VFRZID0gMHg1NDIyOworICBtaXBzX2xpbnV4X3JlY29yZF90ZGVwLmlvY3Rs X1RJT0NTRVREID0gMHg1NDIzOworICBtaXBzX2xpbnV4X3JlY29yZF90ZGVw LmlvY3RsX1RJT0NHRVREID0gMHg1NDI0OworICBtaXBzX2xpbnV4X3JlY29y ZF90ZGVwLmlvY3RsX1RDU0JSS1AgPSAweDU0MjU7CisgIG1pcHNfbGludXhf cmVjb3JkX3RkZXAuaW9jdGxfVElPQ1RUWUdTVFJVQ1QgPSAweDU0MjY7Cisg IG1pcHNfbGludXhfcmVjb3JkX3RkZXAuaW9jdGxfVElPQ1NCUksgPSAweDU0 Mjc7CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAuaW9jdGxfVElPQ0NCUksg PSAweDU0Mjg7CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAuaW9jdGxfVElP Q0dTSUQgPSAweDU0Mjk7CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAuaW9j dGxfVENHRVRTMiA9IDB4ODAyYzU0MmE7CisgIG1pcHNfbGludXhfcmVjb3Jk X3RkZXAuaW9jdGxfVENTRVRTMiA9IDB4NDAyYzU0MmI7CisgIG1pcHNfbGlu dXhfcmVjb3JkX3RkZXAuaW9jdGxfVENTRVRTVzIgPSAweDQwMmM1NDJjOwor ICBtaXBzX2xpbnV4X3JlY29yZF90ZGVwLmlvY3RsX1RDU0VUU0YyID0gMHg0 MDJjNTQyZDsKKyAgbWlwc19saW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9D R1BUTiA9IDB4ODAwNDU0MzA7CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAu aW9jdGxfVElPQ1NQVExDSyA9IDB4NDAwNDU0MzE7CisgIG1pcHNfbGludXhf cmVjb3JkX3RkZXAuaW9jdGxfRklPTkNMRVggPSAweDU0NTA7CisgIG1pcHNf bGludXhfcmVjb3JkX3RkZXAuaW9jdGxfRklPQ0xFWCA9IDB4NTQ1MTsKKyAg bWlwc19saW51eF9yZWNvcmRfdGRlcC5pb2N0bF9GSU9BU1lOQyA9IDB4NTQ1 MjsKKyAgbWlwc19saW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DU0VSQ09O RklHID0gMHg1NDUzOworICBtaXBzX2xpbnV4X3JlY29yZF90ZGVwLmlvY3Rs X1RJT0NTRVJHV0lMRCA9IDB4NTQ1NDsKKyAgbWlwc19saW51eF9yZWNvcmRf dGRlcC5pb2N0bF9USU9DU0VSU1dJTEQgPSAweDU0NTU7CisgIG1pcHNfbGlu dXhfcmVjb3JkX3RkZXAuaW9jdGxfVElPQ0dMQ0tUUk1JT1MgPSAweDU0NTY7 CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAuaW9jdGxfVElPQ1NMQ0tUUk1J T1MgPSAweDU0NTc7CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAuaW9jdGxf VElPQ1NFUkdTVFJVQ1QgPSAweDU0NTg7CisgIG1pcHNfbGludXhfcmVjb3Jk X3RkZXAuaW9jdGxfVElPQ1NFUkdFVExTUiA9IDB4NTQ1OTsKKyAgbWlwc19s aW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DU0VSR0VUTVVMVEkgPSAweDU0 NUE7CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAuaW9jdGxfVElPQ1NFUlNF VE1VTFRJID0gMHg1NDVCOworICBtaXBzX2xpbnV4X3JlY29yZF90ZGVwLmlv Y3RsX1RJT0NNSVdBSVQgPSAweDU0NUM7CisgIG1pcHNfbGludXhfcmVjb3Jk X3RkZXAuaW9jdGxfVElPQ0dJQ09VTlQgPSAweDU0NUQ7CisgIG1pcHNfbGlu dXhfcmVjb3JkX3RkZXAuaW9jdGxfVElPQ0dIQVlFU0VTUCA9IDB4NTQ1RTsK KyAgbWlwc19saW51eF9yZWNvcmRfdGRlcC5pb2N0bF9USU9DU0hBWUVTRVNQ ID0gMHg1NDVGOworICBtaXBzX2xpbnV4X3JlY29yZF90ZGVwLmlvY3RsX0ZJ T1FTSVpFID0gMHg1NDYwOworCisgIC8qIFRoZXNlIHZhbHVlcyBhcmUgdGhl IHNlY29uZCBhcmd1bWVudCBvZiBzeXN0ZW0gY2FsbCAic3lzX2ZjbnRsIgor ICBhbmQgInN5c19mY250bDY0Ii4gIFRoZXkgYXJlIG9idGFpbmVkIGZyb20g TGludXggS2VybmVsIHNvdXJjZS4gICovCisgIG1pcHNfbGludXhfcmVjb3Jk X3RkZXAuZmNudGxfRl9HRVRMSyA9IDU7CisgIG1pcHNfbGludXhfcmVjb3Jk X3RkZXAuZmNudGxfRl9HRVRMSzY0ID0gMTI7CisgIG1pcHNfbGludXhfcmVj b3JkX3RkZXAuZmNudGxfRl9TRVRMSzY0ID0gMTM7CisgIG1pcHNfbGludXhf cmVjb3JkX3RkZXAuZmNudGxfRl9TRVRMS1c2NCA9IDE0OworCisgIG1pcHNf bGludXhfcmVjb3JkX3RkZXAuYXJnMSA9IE1JUFNfQTBfUkVHTlVNOworICBt aXBzX2xpbnV4X3JlY29yZF90ZGVwLmFyZzIgPSBNSVBTX0EwX1JFR05VTSAr IDE7CisgIG1pcHNfbGludXhfcmVjb3JkX3RkZXAuYXJnMyA9IE1JUFNfQTBf UkVHTlVNICsgMjsKKyAgbWlwc19saW51eF9yZWNvcmRfdGRlcC5hcmc0ID0g TUlQU19BMF9SRUdOVU0gKyAzOworICBtaXBzX2xpbnV4X3JlY29yZF90ZGVw LmFyZzUgPSBNSVBTX1VOVVNFRF9SRUdOVU07IC8qIFRPRE86ICovCisgIG1p cHNfbGludXhfcmVjb3JkX3RkZXAuYXJnNiA9IE1JUFNfVU5VU0VEX1JFR05V TTsKKworICB0ZGVwLT5taXBzX3N5c2NhbGxfcmVjb3JkID0gbWlwc19saW51 eF9zeXNjYWxsX3JlY29yZDsKKyAgCiAgIHN3aXRjaCAoYWJpKQogICAgIHsK ICAgICAgIGNhc2UgTUlQU19BQklfTzMyOgpkaWZmIC0tZ2l0IGEvZ2RiL21p cHMtbGludXgtdGRlcC5oIGIvZ2RiL21pcHMtbGludXgtdGRlcC5oCm9sZCBt b2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKaW5kZXggOGZjZjljMy4uMDA4 ODhjNwotLS0gYS9nZGIvbWlwcy1saW51eC10ZGVwLmgKKysrIGIvZ2RiL21p cHMtbGludXgtdGRlcC5oCkBAIC0xMDAsMyArMTAwLDY4OSBAQCBlbnVtIHsK IC8qIFJldHVybiAxIGlmIE1JUFNfUkVTVEFSVF9SRUdOVU0gaXMgdXNhYmxl LiAgKi8KIAogaW50IG1pcHNfbGludXhfcmVzdGFydF9yZWdfcCAoc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2gpOworCisvKiBFbnVtIHRoYXQgZGVmaW5lcyB0 aGUgc3lzY2FsbCBpZGVudGlmaWVycyBmb3IgbWlwcyBsaW51eC4KKyAgIFVz ZWQgZm9yIHByb2Nlc3MgcmVjb3JkL3JlcGxheSwgdGhlc2Ugd2lsbCBiZSB0 cmFuc2xhdGVkIGludG8KKyAgIGEgZ2RiLWNhbm9uaWNhbCBzZXQgb2Ygc3lz Y2FsbCBpZHMgaW4gbGludXgtcmVjb3JkLmMuICAqLworIAorZW51bSBtaXBz X3N5c2NhbGxfb2Zmc2V0IHsKKyAgbWlwc19zeXNfTzMyX3N5c2NhbGwgPSA0 MDAwLAorICBtaXBzX3N5c19PMzJfZXhpdCA9IDQwMDEsCisgIG1pcHNfc3lz X08zMl9mb3JrID0gNDAwMiwKKyAgbWlwc19zeXNfTzMyX3JlYWQgPSA0MDAz LAorICBtaXBzX3N5c19PMzJfd3JpdGUgPSA0MDA0LAorICBtaXBzX3N5c19P MzJfb3BlbiA9IDQwMDUsCisgIG1pcHNfc3lzX08zMl9jbG9zZSA9IDQwMDYs CisgIG1pcHNfc3lzX08zMl93YWl0cGlkID0gNDAwNywKKyAgbWlwc19zeXNf TzMyX2NyZWF0ID0gNDAwOCwKKyAgbWlwc19zeXNfTzMyX2xpbmsgPSA0MDA5 LAorICBtaXBzX3N5c19PMzJfdW5saW5rID0gNDAxMCwKKyAgbWlwc19zeXNf TzMyX2V4ZWN2ZSA9IDQwMTEsCisgIG1pcHNfc3lzX08zMl9jaGRpciA9IDQw MTIsCisgIG1pcHNfc3lzX08zMl90aW1lID0gNDAxMywKKyAgbWlwc19zeXNf TzMyX21rbm9kID0gNDAxNCwKKyAgbWlwc19zeXNfTzMyX2NobW9kID0gNDAx NSwKKyAgbWlwc19zeXNfTzMyX2xjaG93biA9IDQwMTYsCisgIG1pcHNfc3lz X08zMl9icmVhayA9IDQwMTcsCisgIG1pcHNfc3lzX08zMl91bnVzZWQxOCA9 IDQwMTgsCisgIG1pcHNfc3lzX08zMl9sc2VlayA9IDQwMTksCisgIG1pcHNf c3lzX08zMl9nZXRwaWQgPSA0MDIwLAorICBtaXBzX3N5c19PMzJfbW91bnQg PSA0MDIxLAorICBtaXBzX3N5c19PMzJfdW1vdW50ID0gNDAyMiwKKyAgbWlw c19zeXNfTzMyX3NldHVpZCA9IDQwMjMsCisgIG1pcHNfc3lzX08zMl9nZXR1 aWQgPSA0MDI0LAorICBtaXBzX3N5c19PMzJfc3RpbWUgPSA0MDI1LAorICBt aXBzX3N5c19PMzJfcHRyYWNlID0gNDAyNiwKKyAgbWlwc19zeXNfTzMyX2Fs YXJtID0gNDAyNywKKyAgbWlwc19zeXNfTzMyX3VudXNlZDI4ID0gNDAyOCwK KyAgbWlwc19zeXNfTzMyX3BhdXNlID0gNDAyOSwKKyAgbWlwc19zeXNfTzMy X3V0aW1lID0gNDAzMCwKKyAgbWlwc19zeXNfTzMyX3N0dHkgPSA0MDMxLAor ICBtaXBzX3N5c19PMzJfZ3R0eSA9IDQwMzIsCisgIG1pcHNfc3lzX08zMl9h Y2Nlc3MgPSA0MDMzLAorICBtaXBzX3N5c19PMzJfbmljZSA9IDQwMzQsCisg IG1pcHNfc3lzX08zMl9mdGltZSA9IDQwMzUsCisgIG1pcHNfc3lzX08zMl9z eW5jID0gNDAzNiwKKyAgbWlwc19zeXNfTzMyX2tpbGwgPSA0MDM3LAorICBt aXBzX3N5c19PMzJfcmVuYW1lID0gNDAzOCwKKyAgbWlwc19zeXNfTzMyX21r ZGlyID0gNDAzOSwKKyAgbWlwc19zeXNfTzMyX3JtZGlyID0gNDA0MCwKKyAg bWlwc19zeXNfTzMyX2R1cCA9IDQwNDEsCisgIG1pcHNfc3lzX08zMl9waXBl ID0gNDA0MiwKKyAgbWlwc19zeXNfTzMyX3RpbWVzID0gNDA0MywKKyAgbWlw c19zeXNfTzMyX3Byb2YgPSA0MDQ0LAorICBtaXBzX3N5c19PMzJfYnJrID0g NDA0NSwKKyAgbWlwc19zeXNfTzMyX3NldGdpZCA9IDQwNDYsCisgIG1pcHNf c3lzX08zMl9nZXRnaWQgPSA0MDQ3LAorICBtaXBzX3N5c19PMzJfc2lnbmFs ID0gNDA0OCwKKyAgbWlwc19zeXNfTzMyX2dldGV1aWQgPSA0MDQ5LAorICBt aXBzX3N5c19PMzJfZ2V0ZWdpZCA9IDQwNTAsCisgIG1pcHNfc3lzX08zMl9h Y2N0ID0gNDA1MSwKKyAgbWlwc19zeXNfTzMyX3Vtb3VudDIgPSA0MDUyLAor ICBtaXBzX3N5c19PMzJfbG9jayA9IDQwNTMsCisgIG1pcHNfc3lzX08zMl9p b2N0bCA9IDQwNTQsCisgIG1pcHNfc3lzX08zMl9mY250bCA9IDQwNTUsCisg IG1pcHNfc3lzX08zMl9tcHggPSA0MDU2LAorICBtaXBzX3N5c19PMzJfc2V0 cGdpZCA9IDQwNTcsCisgIG1pcHNfc3lzX08zMl91bGltaXQgPSA0MDU4LAor ICBtaXBzX3N5c19PMzJfdW51c2VkNTkgPSA0MDU5LAorICBtaXBzX3N5c19P MzJfdW1hc2sgPSA0MDYwLAorICBtaXBzX3N5c19PMzJfY2hyb290ID0gNDA2 MSwKKyAgbWlwc19zeXNfTzMyX3VzdGF0ID0gNDA2MiwKKyAgbWlwc19zeXNf TzMyX2R1cDIgPSA0MDYzLAorICBtaXBzX3N5c19PMzJfZ2V0cHBpZCA9IDQw NjQsCisgIG1pcHNfc3lzX08zMl9nZXRwZ3JwID0gNDA2NSwKKyAgbWlwc19z eXNfTzMyX3NldHNpZCA9IDQwNjYsCisgIG1pcHNfc3lzX08zMl9zaWdhY3Rp b24gPSA0MDY3LAorICBtaXBzX3N5c19PMzJfc2dldG1hc2sgPSA0MDY4LAor ICBtaXBzX3N5c19PMzJfc3NldG1hc2sgPSA0MDY5LAorICBtaXBzX3N5c19P MzJfc2V0cmV1aWQgPSA0MDcwLAorICBtaXBzX3N5c19PMzJfc2V0cmVnaWQg PSA0MDcxLAorICBtaXBzX3N5c19PMzJfc2lnc3VzcGVuZCA9IDQwNzIsCisg IG1pcHNfc3lzX08zMl9zaWdwZW5kaW5nID0gNDA3MywKKyAgbWlwc19zeXNf TzMyX3NldGhvc3RuYW1lID0gNDA3NCwKKyAgbWlwc19zeXNfTzMyX3NldHJs aW1pdCA9IDQwNzUsCisgIG1pcHNfc3lzX08zMl9nZXRybGltaXQgPSA0MDc2 LAorICBtaXBzX3N5c19PMzJfZ2V0cnVzYWdlID0gNDA3NywKKyAgbWlwc19z eXNfTzMyX2dldHRpbWVvZmRheSA9IDQwNzgsCisgIG1pcHNfc3lzX08zMl9z ZXR0aW1lb2ZkYXkgPSA0MDc5LAorICBtaXBzX3N5c19PMzJfZ2V0Z3JvdXBz ID0gNDA4MCwKKyAgbWlwc19zeXNfTzMyX3NldGdyb3VwcyA9IDQwODEsCisg IG1pcHNfc3lzX08zMl9yZXNlcnZlZDgyID0gNDA4MiwKKyAgbWlwc19zeXNf TzMyX3N5bWxpbmsgPSA0MDgzLAorICBtaXBzX3N5c19PMzJfdW51c2VkODQg PSA0MDg0LAorICBtaXBzX3N5c19PMzJfcmVhZGxpbmsgPSA0MDg1LAorICBt aXBzX3N5c19PMzJfdXNlbGliID0gNDA4NiwKKyAgbWlwc19zeXNfTzMyX3N3 YXBvbiA9IDQwODcsCisgIG1pcHNfc3lzX08zMl9yZWJvb3QgPSA0MDg4LAor ICBtaXBzX3N5c19PMzJfcmVhZGRpciA9IDQwODksCisgIG1pcHNfc3lzX08z Ml9tbWFwID0gNDA5MCwKKyAgbWlwc19zeXNfTzMyX211bm1hcCA9IDQwOTEs CisgIG1pcHNfc3lzX08zMl90cnVuY2F0ZSA9IDQwOTIsCisgIG1pcHNfc3lz X08zMl9mdHJ1bmNhdGUgPSA0MDkzLAorICBtaXBzX3N5c19PMzJfZmNobW9k ID0gNDA5NCwKKyAgbWlwc19zeXNfTzMyX2ZjaG93biA9IDQwOTUsCisgIG1p cHNfc3lzX08zMl9nZXRwcmlvcml0eSA9IDQwOTYsCisgIG1pcHNfc3lzX08z Ml9zZXRwcmlvcml0eSA9IDQwOTcsCisgIG1pcHNfc3lzX08zMl9wcm9maWwg PSA0MDk4LAorICBtaXBzX3N5c19PMzJfc3RhdGZzID0gNDA5OSwKKyAgbWlw c19zeXNfTzMyX2ZzdGF0ZnMgPSA0MTAwLAorICBtaXBzX3N5c19PMzJfaW9w ZXJtID0gNDEwMSwKKyAgbWlwc19zeXNfTzMyX3NvY2tldGNhbGwgPSA0MTAy LAorICBtaXBzX3N5c19PMzJfc3lzbG9nID0gNDEwMywKKyAgbWlwc19zeXNf TzMyX3NldGl0aW1lciA9IDQxMDQsCisgIG1pcHNfc3lzX08zMl9nZXRpdGlt ZXIgPSA0MTA1LAorICBtaXBzX3N5c19PMzJfc3RhdCA9IDQxMDYsCisgIG1p cHNfc3lzX08zMl9sc3RhdCA9IDQxMDcsCisgIG1pcHNfc3lzX08zMl9mc3Rh dCA9IDQxMDgsCisgIG1pcHNfc3lzX08zMl91bnVzZWQxMDkgPSA0MTA5LAor ICBtaXBzX3N5c19PMzJfaW9wbCA9IDQxMTAsCisgIG1pcHNfc3lzX08zMl92 aGFuZ3VwID0gNDExMSwKKyAgbWlwc19zeXNfTzMyX2lkbGUgPSA0MTEyLAor ICBtaXBzX3N5c19PMzJfdm04NiA9IDQxMTMsCisgIG1pcHNfc3lzX08zMl93 YWl0NCA9IDQxMTQsCisgIG1pcHNfc3lzX08zMl9zd2Fwb2ZmID0gNDExNSwK KyAgbWlwc19zeXNfTzMyX3N5c2luZm8gPSA0MTE2LAorICBtaXBzX3N5c19P MzJfaXBjID0gNDExNywKKyAgbWlwc19zeXNfTzMyX2ZzeW5jID0gNDExOCwK KyAgbWlwc19zeXNfTzMyX3NpZ3JldHVybiA9IDQxMTksCisgIG1pcHNfc3lz X08zMl9jbG9uZSA9IDQxMjAsCisgIG1pcHNfc3lzX08zMl9zZXRkb21haW5u YW1lID0gNDEyMSwKKyAgbWlwc19zeXNfTzMyX3VuYW1lID0gNDEyMiwKKyAg bWlwc19zeXNfTzMyX21vZGlmeV9sZHQgPSA0MTIzLAorICBtaXBzX3N5c19P MzJfYWRqdGltZXggPSA0MTI0LAorICBtaXBzX3N5c19PMzJfbXByb3RlY3Qg PSA0MTI1LAorICBtaXBzX3N5c19PMzJfc2lncHJvY21hc2sgPSA0MTI2LAor ICBtaXBzX3N5c19PMzJfY3JlYXRlX21vZHVsZSA9IDQxMjcsCisgIG1pcHNf c3lzX08zMl9pbml0X21vZHVsZSA9IDQxMjgsCisgIG1pcHNfc3lzX08zMl9k ZWxldGVfbW9kdWxlID0gNDEyOSwKKyAgbWlwc19zeXNfTzMyX2dldF9rZXJu ZWxfc3ltcyA9IDQxMzAsCisgIG1pcHNfc3lzX08zMl9xdW90YWN0bCA9IDQx MzEsCisgIG1pcHNfc3lzX08zMl9nZXRwZ2lkID0gNDEzMiwKKyAgbWlwc19z eXNfTzMyX2ZjaGRpciA9IDQxMzMsCisgIG1pcHNfc3lzX08zMl9iZGZsdXNo ID0gNDEzNCwKKyAgbWlwc19zeXNfTzMyX3N5c2ZzID0gNDEzNSwKKyAgbWlw c19zeXNfTzMyX3BlcnNvbmFsaXR5ID0gNDEzNiwKKyAgbWlwc19zeXNfTzMy X2Fmc19zeXNjYWxsID0gNDEzNywKKyAgbWlwc19zeXNfTzMyX3NldGZzdWlk ID0gNDEzOCwKKyAgbWlwc19zeXNfTzMyX3NldGZzZ2lkID0gNDEzOSwKKyAg bWlwc19zeXNfTzMyX19sbHNlZWsgPSA0MTQwLAorICBtaXBzX3N5c19PMzJf Z2V0ZGVudHMgPSA0MTQxLAorICBtaXBzX3N5c19PMzJfX25ld3NlbGVjdCA9 IDQxNDIsCisgIG1pcHNfc3lzX08zMl9mbG9jayA9IDQxNDMsCisgIG1pcHNf c3lzX08zMl9tc3luYyA9IDQxNDQsCisgIG1pcHNfc3lzX08zMl9yZWFkdiA9 IDQxNDUsCisgIG1pcHNfc3lzX08zMl93cml0ZXYgPSA0MTQ2LAorICBtaXBz X3N5c19PMzJfY2FjaGVmbHVzaCA9IDQxNDcsCisgIG1pcHNfc3lzX08zMl9j YWNoZWN0bCA9IDQxNDgsCisgIG1pcHNfc3lzX08zMl9zeXNtaXBzID0gNDE0 OSwKKyAgbWlwc19zeXNfTzMyX3VudXNlZDE1MCA9IDQxNTAsCisgIG1pcHNf c3lzX08zMl9nZXRzaWQgPSA0MTUxLAorICBtaXBzX3N5c19PMzJfZmRhdGFz eW5jID0gNDE1MiwKKyAgbWlwc19zeXNfTzMyX19zeXNjdGwgPSA0MTUzLAor ICBtaXBzX3N5c19PMzJfbWxvY2sgPSA0MTU0LAorICBtaXBzX3N5c19PMzJf bXVubG9jayA9IDQxNTUsCisgIG1pcHNfc3lzX08zMl9tbG9ja2FsbCA9IDQx NTYsCisgIG1pcHNfc3lzX08zMl9tdW5sb2NrYWxsID0gNDE1NywKKyAgbWlw c19zeXNfTzMyX3NjaGVkX3NldHBhcmFtID0gNDE1OCwKKyAgbWlwc19zeXNf TzMyX3NjaGVkX2dldHBhcmFtID0gNDE1OSwKKyAgbWlwc19zeXNfTzMyX3Nj aGVkX3NldHNjaGVkdWxlciA9IDQxNjAsCisgIG1pcHNfc3lzX08zMl9zY2hl ZF9nZXRzY2hlZHVsZXIgPSA0MTYxLAorICBtaXBzX3N5c19PMzJfc2NoZWRf eWllbGQgPSA0MTYyLAorICBtaXBzX3N5c19PMzJfc2NoZWRfZ2V0X3ByaW9y aXR5X21heCA9IDQxNjMsCisgIG1pcHNfc3lzX08zMl9zY2hlZF9nZXRfcHJp b3JpdHlfbWluID0gNDE2NCwKKyAgbWlwc19zeXNfTzMyX3NjaGVkX3JyX2dl dF9pbnRlcnZhbCA9IDQxNjUsCisgIG1pcHNfc3lzX08zMl9uYW5vc2xlZXAg PSA0MTY2LAorICBtaXBzX3N5c19PMzJfbXJlbWFwID0gNDE2NywKKyAgbWlw c19zeXNfTzMyX2FjY2VwdCA9IDQxNjgsCisgIG1pcHNfc3lzX08zMl9iaW5k ID0gNDE2OSwKKyAgbWlwc19zeXNfTzMyX2Nvbm5lY3QgPSA0MTcwLAorICBt aXBzX3N5c19PMzJfZ2V0cGVlcm5hbWUgPSA0MTcxLAorICBtaXBzX3N5c19P MzJfZ2V0c29ja25hbWUgPSA0MTcyLAorICBtaXBzX3N5c19PMzJfZ2V0c29j a29wdCA9IDQxNzMsCisgIG1pcHNfc3lzX08zMl9saXN0ZW4gPSA0MTc0LAor ICBtaXBzX3N5c19PMzJfcmVjdiA9IDQxNzUsCisgIG1pcHNfc3lzX08zMl9y ZWN2ZnJvbSA9IDQxNzYsCisgIG1pcHNfc3lzX08zMl9yZWN2bXNnID0gNDE3 NywKKyAgbWlwc19zeXNfTzMyX3NlbmQgPSA0MTc4LAorICBtaXBzX3N5c19P MzJfc2VuZG1zZyA9IDQxNzksCisgIG1pcHNfc3lzX08zMl9zZW5kdG8gPSA0 MTgwLAorICBtaXBzX3N5c19PMzJfc2V0c29ja29wdCA9IDQxODEsCisgIG1p cHNfc3lzX08zMl9zaHV0ZG93biA9IDQxODIsCisgIG1pcHNfc3lzX08zMl9z b2NrZXQgPSA0MTgzLAorICBtaXBzX3N5c19PMzJfc29ja2V0cGFpciA9IDQx ODQsCisgIG1pcHNfc3lzX08zMl9zZXRyZXN1aWQgPSA0MTg1LAorICBtaXBz X3N5c19PMzJfZ2V0cmVzdWlkID0gNDE4NiwKKyAgbWlwc19zeXNfTzMyX3F1 ZXJ5X21vZHVsZSA9IDQxODcsCisgIG1pcHNfc3lzX08zMl9wb2xsID0gNDE4 OCwKKyAgbWlwc19zeXNfTzMyX25mc3NlcnZjdGwgPSA0MTg5LAorICBtaXBz X3N5c19PMzJfc2V0cmVzZ2lkID0gNDE5MCwKKyAgbWlwc19zeXNfTzMyX2dl dHJlc2dpZCA9IDQxOTEsCisgIG1pcHNfc3lzX08zMl9wcmN0bCA9IDQxOTIs CisgIG1pcHNfc3lzX08zMl9ydF9zaWdyZXR1cm4gPSA0MTkzLAorICBtaXBz X3N5c19PMzJfcnRfc2lnYWN0aW9uID0gNDE5NCwKKyAgbWlwc19zeXNfTzMy X3J0X3NpZ3Byb2NtYXNrID0gNDE5NSwKKyAgbWlwc19zeXNfTzMyX3J0X3Np Z3BlbmRpbmcgPSA0MTk2LAorICBtaXBzX3N5c19PMzJfcnRfc2lndGltZWR3 YWl0ID0gNDE5NywKKyAgbWlwc19zeXNfTzMyX3J0X3NpZ3F1ZXVlaW5mbyA9 IDQxOTgsCisgIG1pcHNfc3lzX08zMl9ydF9zaWdzdXNwZW5kID0gNDE5OSwK KyAgbWlwc19zeXNfTzMyX3ByZWFkID0gNDIwMCwKKyAgbWlwc19zeXNfTzMy X3B3cml0ZSA9IDQyMDEsCisgIG1pcHNfc3lzX08zMl9jaG93biA9IDQyMDIs CisgIG1pcHNfc3lzX08zMl9nZXRjd2QgPSA0MjAzLAorICBtaXBzX3N5c19P MzJfY2FwZ2V0ID0gNDIwNCwKKyAgbWlwc19zeXNfTzMyX2NhcHNldCA9IDQy MDUsCisgIG1pcHNfc3lzX08zMl9zaWdhbHRzdGFjayA9IDQyMDYsCisgIG1p cHNfc3lzX08zMl9zZW5kZmlsZSA9IDQyMDcsCisgIG1pcHNfc3lzX08zMl9n ZXRwbXNnID0gNDIwOCwKKyAgbWlwc19zeXNfTzMyX3B1dHBtc2cgPSA0MjA5 LAorICBtaXBzX3N5c19PMzJfbW1hcDIgPSA0MjEwLAorICBtaXBzX3N5c19P MzJfdHJ1bmNhdGU2NCA9IDQyMTEsCisgIG1pcHNfc3lzX08zMl9mdHJ1bmNh dGU2NCA9IDQyMTIsCisgIG1pcHNfc3lzX08zMl9zdGF0NjQgPSA0MjEzLAor ICBtaXBzX3N5c19PMzJfbHN0YXQ2NCA9IDQyMTQsCisgIG1pcHNfc3lzX08z Ml9mc3RhdDY0ID0gNDIxNSwKKyAgbWlwc19zeXNfTzMyX3Jvb3RfcGl2b3Qg PSA0MjE2LAorICBtaXBzX3N5c19PMzJfbWluY29yZSA9IDQyMTcsCisgIG1p cHNfc3lzX08zMl9tYWR2aXNlID0gNDIxOCwKKyAgbWlwc19zeXNfTzMyX2dl dGRlbnRzNjQgPSA0MjE5LAorICBtaXBzX3N5c19PMzJfZmNudGw2NCA9IDQy MjAsCisgIG1pcHNfc3lzX08zMl9zZWN1cml0eSA9IDQyMjEsCisgIG1pcHNf c3lzX08zMl9nZXR0aWQgPSA0MjIyLAorICBtaXBzX3N5c19PMzJfcmVhZGFo ZWFkID0gNDIyMywKKyAgbWlwc19zeXNfTzMyX3NldHhhdHRyID0gNDIyNCwK KyAgbWlwc19zeXNfTzMyX2xzZXR4YXR0ciA9IDQyMjUsCisgIG1pcHNfc3lz X08zMl9mc2V0eGF0dHIgPSA0MjI2LAorICBtaXBzX3N5c19PMzJfZ2V0eGF0 dHIgPSA0MjI3LAorICBtaXBzX3N5c19PMzJfbGdldHhhdHRyID0gNDIyOCwK KyAgbWlwc19zeXNfTzMyX2ZnZXR4YXR0ciA9IDQyMjksCisgIG1pcHNfc3lz X08zMl9saXN0eGF0dHIgPSA0MjMwLAorICBtaXBzX3N5c19PMzJfbGxpc3R4 YXR0ciA9IDQyMzEsCisgIG1pcHNfc3lzX08zMl9mbGlzdHhhdHRyID0gNDIz MiwKKyAgbWlwc19zeXNfTzMyX3JlbW92ZXhhdHRyID0gNDIzMywKKyAgbWlw c19zeXNfTzMyX2xyZW1vdmV4YXR0ciA9IDQyMzQsCisgIG1pcHNfc3lzX08z Ml9mcmVtb3ZleGF0dHIgPSA0MjM1LAorICBtaXBzX3N5c19PMzJfdGtpbGwg PSA0MjM2LAorICBtaXBzX3N5c19PMzJfc2VuZGZpbGU2NCA9IDQyMzcsCisg IG1pcHNfc3lzX08zMl9mdXRleCA9IDQyMzgsCisgIG1pcHNfc3lzX08zMl9z Y2hlZF9zZXRhZmZpbml0eSA9IDQyMzksCisgIG1pcHNfc3lzX08zMl9zY2hl ZF9nZXRhZmZpbml0eSA9IDQyNDAsCisgIG1pcHNfc3lzX3J3X3BlcmZvcm1h bmNlX2NvdW50ZXIgPSA1MjQ4LAorICBtaXBzX3N5c19yZWFkID0gNTAwMCwK KyAgbWlwc19zeXNfd3JpdGUgPSA1MDAxLAorICBtaXBzX3N5c19vcGVuID0g NTAwMiwKKyAgbWlwc19zeXNfY2xvc2UgPSA1MDAzLAorICBtaXBzX3N5c19z dGF0ID0gNTAwNCwKKyAgbWlwc19zeXNfZnN0YXQgPSA1MDA1LAorICBtaXBz X3N5c19sc3RhdCA9IDUwMDYsCisgIG1pcHNfc3lzX3BvbGwgPSA1MDA3LAor ICBtaXBzX3N5c19sc2VlayA9IDUwMDgsCisgIG1pcHNfc3lzX21tYXAgPSA1 MDA5LAorICBtaXBzX3N5c19tcHJvdGVjdCA9IDUwMTAsCisgIG1pcHNfc3lz X211bm1hcCA9IDUwMTEsCisgIG1pcHNfc3lzX2JyayA9IDUwMTIsCisgIG1p cHNfc3lzX3J0X3NpZ2FjdGlvbiA9IDUwMTMsCisgIG1pcHNfc3lzX3J0X3Np Z3Byb2NtYXNrID0gNTAxNCwKKyAgbWlwc19zeXNfaW9jdGwgPSA1MDE1LAor ICBtaXBzX3N5c19wcmVhZCA9IDUwMTYsCisgIG1pcHNfc3lzX3B3cml0ZSA9 IDUwMTcsCisgIG1pcHNfc3lzX3JlYWR2ID0gNTAxOCwKKyAgbWlwc19zeXNf d3JpdGV2ID0gNTAxOSwKKyAgbWlwc19zeXNfYWNjZXNzID0gNTAyMCwKKyAg bWlwc19zeXNfcGlwZSA9IDUwMjEsCisgIG1pcHNfc3lzX19uZXdzZWxlY3Qg PSA1MDIyLAorICBtaXBzX3N5c19zY2hlZF95aWVsZCA9IDUwMjMsCisgIG1p cHNfc3lzX21yZW1hcCA9IDUwMjQsCisgIG1pcHNfc3lzX21zeW5jID0gNTAy NSwKKyAgbWlwc19zeXNfbWluY29yZSA9IDUwMjYsCisgIG1pcHNfc3lzX21h ZHZpc2UgPSA1MDI3LAorICBtaXBzX3N5c19zaG1nZXQgPSA1MDI4LAorICBt aXBzX3N5c19zaG1hdCA9IDUwMjksCisgIG1pcHNfc3lzX3NobWN0bCA9IDUw MzAsCisgIG1pcHNfc3lzX2R1cCA9IDUwMzEsCisgIG1pcHNfc3lzX2R1cDIg PSA1MDMyLAorICBtaXBzX3N5c19wYXVzZSA9IDUwMzMsCisgIG1pcHNfc3lz X25hbm9zbGVlcCA9IDUwMzQsCisgIG1pcHNfc3lzX2dldGl0aW1lciA9IDUw MzUsCisgIG1pcHNfc3lzX3NldGl0aW1lciA9IDUwMzYsCisgIG1pcHNfc3lz X2FsYXJtID0gNTAzNywKKyAgbWlwc19zeXNfZ2V0cGlkID0gNTAzOCwKKyAg bWlwc19zeXNfc2VuZGZpbGUgPSA1MDM5LAorICBtaXBzX3N5c19zb2NrZXQg PSA1MDQwLAorICBtaXBzX3N5c19jb25uZWN0ID0gNTA0MSwKKyAgbWlwc19z eXNfYWNjZXB0ID0gNTA0MiwKKyAgbWlwc19zeXNfc2VuZHRvID0gNTA0MywK KyAgbWlwc19zeXNfcmVjdmZyb20gPSA1MDQ0LAorICBtaXBzX3N5c19zZW5k bXNnID0gNTA0NSwKKyAgbWlwc19zeXNfcmVjdm1zZyA9IDUwNDYsCisgIG1p cHNfc3lzX3NodXRkb3duID0gNTA0NywKKyAgbWlwc19zeXNfYmluZCA9IDUw NDgsCisgIG1pcHNfc3lzX2xpc3RlbiA9IDUwNDksCisgIG1pcHNfc3lzX2dl dHNvY2tuYW1lID0gNTA1MCwKKyAgbWlwc19zeXNfZ2V0cGVlcm5hbWUgPSA1 MDUxLAorICBtaXBzX3N5c19zb2NrZXRwYWlyID0gNTA1MiwKKyAgbWlwc19z eXNfc2V0c29ja29wdCA9IDUwNTMsCisgIG1pcHNfc3lzX2dldHNvY2tvcHQg PSA1MDU0LAorICBtaXBzX3N5c19jbG9uZSA9IDUwNTUsCisgIG1pcHNfc3lz X2ZvcmsgPSA1MDU2LAorICBtaXBzX3N5c19leGVjdmUgPSA1MDU3LAorICBt aXBzX3N5c19leGl0ID0gNTA1OCwKKyAgbWlwc19zeXNfd2FpdDQgPSA1MDU5 LAorICBtaXBzX3N5c19raWxsID0gNTA2MCwKKyAgbWlwc19zeXNfdW5hbWUg PSA1MDYxLAorICBtaXBzX3N5c19zZW1nZXQgPSA1MDYyLAorICBtaXBzX3N5 c19zZW1vcCA9IDUwNjMsCisgIG1pcHNfc3lzX3NlbWN0bCA9IDUwNjQsCisg IG1pcHNfc3lzX3NobWR0ID0gNTA2NSwKKyAgbWlwc19zeXNfbXNnZ2V0ID0g NTA2NiwKKyAgbWlwc19zeXNfbXNnc25kID0gNTA2NywKKyAgbWlwc19zeXNf bXNncmN2ID0gNTA2OCwKKyAgbWlwc19zeXNfbXNnY3RsID0gNTA2OSwKKyAg bWlwc19zeXNfZmNudGwgPSA1MDcwLAorICBtaXBzX3N5c19mbG9jayA9IDUw NzEsCisgIG1pcHNfc3lzX2ZzeW5jID0gNTA3MiwKKyAgbWlwc19zeXNfZmRh dGFzeW5jID0gNTA3MywKKyAgbWlwc19zeXNfdHJ1bmNhdGUgPSA1MDc0LAor ICBtaXBzX3N5c19mdHJ1bmNhdGUgPSA1MDc1LAorICBtaXBzX3N5c19nZXRk ZW50cyA9IDUwNzYsCisgIG1pcHNfc3lzX2dldGN3ZCA9IDUwNzcsCisgIG1p cHNfc3lzX2NoZGlyID0gNTA3OCwKKyAgbWlwc19zeXNfZmNoZGlyID0gNTA3 OSwKKyAgbWlwc19zeXNfcmVuYW1lID0gNTA4MCwKKyAgbWlwc19zeXNfbWtk aXIgPSA1MDgxLAorICBtaXBzX3N5c19ybWRpciA9IDUwODIsCisgIG1pcHNf c3lzX2NyZWF0ID0gNTA4MywKKyAgbWlwc19zeXNfbGluayA9IDUwODQsCisg IG1pcHNfc3lzX3VubGluayA9IDUwODUsCisgIG1pcHNfc3lzX3N5bWxpbmsg PSA1MDg2LAorICBtaXBzX3N5c19yZWFkbGluayA9IDUwODcsCisgIG1pcHNf c3lzX2NobW9kID0gNTA4OCwKKyAgbWlwc19zeXNfZmNobW9kID0gNTA4OSwK KyAgbWlwc19zeXNfY2hvd24gPSA1MDkwLAorICBtaXBzX3N5c19mY2hvd24g PSA1MDkxLAorICBtaXBzX3N5c19sY2hvd24gPSA1MDkyLAorICBtaXBzX3N5 c191bWFzayA9IDUwOTMsCisgIG1pcHNfc3lzX2dldHRpbWVvZmRheSA9IDUw OTQsCisgIG1pcHNfc3lzX2dldHJsaW1pdCA9IDUwOTUsCisgIG1pcHNfc3lz X2dldHJ1c2FnZSA9IDUwOTYsCisgIG1pcHNfc3lzX3N5c2luZm8gPSA1MDk3 LAorICBtaXBzX3N5c190aW1lcyA9IDUwOTgsCisgIG1pcHNfc3lzX3B0cmFj ZSA9IDUwOTksCisgIG1pcHNfc3lzX2dldHVpZCA9IDUxMDAsCisgIG1pcHNf c3lzX3N5c2xvZyA9IDUxMDEsCisgIG1pcHNfc3lzX2dldGdpZCA9IDUxMDIs CisgIG1pcHNfc3lzX3NldHVpZCA9IDUxMDMsCisgIG1pcHNfc3lzX3NldGdp ZCA9IDUxMDQsCisgIG1pcHNfc3lzX2dldGV1aWQgPSA1MTA1LAorICBtaXBz X3N5c19nZXRlZ2lkID0gNTEwNiwKKyAgbWlwc19zeXNfc2V0cGdpZCA9IDUx MDcsCisgIG1pcHNfc3lzX2dldHBwaWQgPSA1MTA4LAorICBtaXBzX3N5c19n ZXRwZ3JwID0gNTEwOSwKKyAgbWlwc19zeXNfc2V0c2lkID0gNTExMCwKKyAg bWlwc19zeXNfc2V0cmV1aWQgPSA1MTExLAorICBtaXBzX3N5c19zZXRyZWdp ZCA9IDUxMTIsCisgIG1pcHNfc3lzX2dldGdyb3VwcyA9IDUxMTMsCisgIG1p cHNfc3lzX3NldGdyb3VwcyA9IDUxMTQsCisgIG1pcHNfc3lzX3NldHJlc3Vp ZCA9IDUxMTUsCisgIG1pcHNfc3lzX2dldHJlc3VpZCA9IDUxMTYsCisgIG1p cHNfc3lzX3NldHJlc2dpZCA9IDUxMTcsCisgIG1pcHNfc3lzX2dldHJlc2dp ZCA9IDUxMTgsCisgIG1pcHNfc3lzX2dldHBnaWQgPSA1MTE5LAorICBtaXBz X3N5c19zZXRmc3VpZCA9IDUxMjAsCisgIG1pcHNfc3lzX3NldGZzZ2lkID0g NTEyMSwKKyAgbWlwc19zeXNfZ2V0c2lkID0gNTEyMiwKKyAgbWlwc19zeXNf Y2FwZ2V0ID0gNTEyMywKKyAgbWlwc19zeXNfY2Fwc2V0ID0gNTEyNCwKKyAg bWlwc19zeXNfcnRfc2lncGVuZGluZyA9IDUxMjUsCisgIG1pcHNfc3lzX3J0 X3NpZ3RpbWVkd2FpdCA9IDUxMjYsCisgIG1pcHNfc3lzX3J0X3NpZ3F1ZXVl aW5mbyA9IDUxMjcsCisgIG1pcHNfc3lzX3J0X3NpZ3N1c3BlbmQgPSA1MTI4 LAorICBtaXBzX3N5c19zaWdhbHRzdGFjayA9IDUxMjksCisgIG1pcHNfc3lz X3V0aW1lID0gNTEzMCwKKyAgbWlwc19zeXNfbWtub2QgPSA1MTMxLAorICBt aXBzX3N5c19wZXJzb25hbGl0eSA9IDUxMzIsCisgIG1pcHNfc3lzX3VzdGF0 ID0gNTEzMywKKyAgbWlwc19zeXNfc3RhdGZzID0gNTEzNCwKKyAgbWlwc19z eXNfZnN0YXRmcyA9IDUxMzUsCisgIG1pcHNfc3lzX3N5c2ZzID0gNTEzNiwK KyAgbWlwc19zeXNfZ2V0cHJpb3JpdHkgPSA1MTM3LAorICBtaXBzX3N5c19z ZXRwcmlvcml0eSA9IDUxMzgsCisgIG1pcHNfc3lzX3NjaGVkX3NldHBhcmFt ID0gNTEzOSwKKyAgbWlwc19zeXNfc2NoZWRfZ2V0cGFyYW0gPSA1MTQwLAor ICBtaXBzX3N5c19zY2hlZF9zZXRzY2hlZHVsZXIgPSA1MTQxLAorICBtaXBz X3N5c19zY2hlZF9nZXRzY2hlZHVsZXIgPSA1MTQyLAorICBtaXBzX3N5c19z Y2hlZF9nZXRfcHJpb3JpdHlfbWF4ID0gNTE0MywKKyAgbWlwc19zeXNfc2No ZWRfZ2V0X3ByaW9yaXR5X21pbiA9IDUxNDQsCisgIG1pcHNfc3lzX3NjaGVk X3JyX2dldF9pbnRlcnZhbCA9IDUxNDUsCisgIG1pcHNfc3lzX21sb2NrID0g NTE0NiwKKyAgbWlwc19zeXNfbXVubG9jayA9IDUxNDcsCisgIG1pcHNfc3lz X21sb2NrYWxsID0gNTE0OCwKKyAgbWlwc19zeXNfbXVubG9ja2FsbCA9IDUx NDksCisgIG1pcHNfc3lzX3ZoYW5ndXAgPSA1MTUwLAorICBtaXBzX3N5c19w aXZvdF9yb290ID0gNTE1MSwKKyAgbWlwc19zeXNfX3N5c2N0bCA9IDUxNTIs CisgIG1pcHNfc3lzX3ByY3RsID0gNTE1MywKKyAgbWlwc19zeXNfYWRqdGlt ZXggPSA1MTU0LAorICBtaXBzX3N5c19zZXRybGltaXQgPSA1MTU1LAorICBt aXBzX3N5c19jaHJvb3QgPSA1MTU2LAorICBtaXBzX3N5c19zeW5jID0gNTE1 NywKKyAgbWlwc19zeXNfYWNjdCA9IDUxNTgsCisgIG1pcHNfc3lzX3NldHRp bWVvZmRheSA9IDUxNTksCisgIG1pcHNfc3lzX21vdW50ID0gNTE2MCwKKyAg bWlwc19zeXNfdW1vdW50MiA9IDUxNjEsCisgIG1pcHNfc3lzX3N3YXBvbiA9 IDUxNjIsCisgIG1pcHNfc3lzX3N3YXBvZmYgPSA1MTYzLAorICBtaXBzX3N5 c19yZWJvb3QgPSA1MTY0LAorICBtaXBzX3N5c19zZXRob3N0bmFtZSA9IDUx NjUsCisgIG1pcHNfc3lzX3NldGRvbWFpbm5hbWUgPSA1MTY2LAorICBtaXBz X3N5c19jcmVhdGVfbW9kdWxlID0gNTE2NywKKyAgbWlwc19zeXNfaW5pdF9t b2R1bGUgPSA1MTY4LAorICBtaXBzX3N5c19kZWxldGVfbW9kdWxlID0gNTE2 OSwKKyAgbWlwc19zeXNfZ2V0X2tlcm5lbF9zeW1zID0gNTE3MCwKKyAgbWlw c19zeXNfcXVlcnlfbW9kdWxlID0gNTE3MSwKKyAgbWlwc19zeXNfcXVvdGFj dGwgPSA1MTcyLAorICBtaXBzX3N5c19uZnNzZXJ2Y3RsID0gNTE3MywKKyAg bWlwc19zeXNfZ2V0cG1zZyA9IDUxNzQsCisgIG1pcHNfc3lzX3B1dHBtc2cg PSA1MTc1LAorICBtaXBzX3N5c19hZnNfc3lzY2FsbCA9IDUxNzYsCisgIG1p cHNfc3lzX3NlY3VyaXR5ID0gNTE3NywKKyAgbWlwc19zeXNfZ2V0dGlkID0g NTE3OCwKKyAgbWlwc19zeXNfcmVhZGFoZWFkID0gNTE3OSwKKyAgbWlwc19z eXNfc2V0eGF0dHIgPSA1MTgwLAorICBtaXBzX3N5c19sc2V0eGF0dHIgPSA1 MTgxLAorICBtaXBzX3N5c19mc2V0eGF0dHIgPSA1MTgyLAorICBtaXBzX3N5 c19nZXR4YXR0ciA9IDUxODMsCisgIG1pcHNfc3lzX2xnZXR4YXR0ciA9IDUx ODQsCisgIG1pcHNfc3lzX2ZnZXR4YXR0ciA9IDUxODUsCisgIG1pcHNfc3lz X2xpc3R4YXR0ciA9IDUxODYsCisgIG1pcHNfc3lzX2xsaXN0eGF0dHIgPSA1 MTg3LAorICBtaXBzX3N5c19mbGlzdHhhdHRyID0gNTE4OCwKKyAgbWlwc19z eXNfcmVtb3ZleGF0dHIgPSA1MTg5LAorICBtaXBzX3N5c19scmVtb3ZleGF0 dHIgPSA1MTkwLAorICBtaXBzX3N5c19mcmVtb3ZleGF0dHIgPSA1MTkxLAor ICBtaXBzX3N5c190a2lsbCA9IDUxOTIsCisgIG1pcHNfc3lzX3VudXNlZDE5 MyA9IDUxOTMsCisgIG1pcHNfc3lzX2Z1dGV4ID0gNTE5NCwKKyAgbWlwc19z eXNfc2NoZWRfc2V0YWZmaW5pdHkgPSA1MTk1LAorICBtaXBzX3N5c19zY2hl ZF9nZXRhZmZpbml0eSA9IDUxOTYsCisgIG1pcHNfc3lzX2NhY2hlZmx1c2gg PSA1MTk3LAorICBtaXBzX3N5c19jYWNoZWN0bCA9IDUxOTgsCisgIG1pcHNf c3lzX3N5c21pcHMgPSA1MTk5LAorICBtaXBzX3N5c191bnVzZWQyMDAgPSA1 MjAwLAorICBtaXBzX3N5c191bnVzZWQyMDEgPSA1MjAxLAorICBtaXBzX3N5 c191bnVzZWQyMDIgPSA1MjAyLAorICBtaXBzX3N5c191bnVzZWQyMDMgPSA1 MjAzLAorICBtaXBzX3N5c191bnVzZWQyMDQgPSA1MjA0LAorICBtaXBzX3N5 c191bnVzZWQyMDUgPSA1MjA1LAorICBtaXBzX3N5c191bnVzZWQyMDYgPSA1 MjA2LAorICBtaXBzX3N5c191bnVzZWQyMDcgPSA1MjA3LAorICBtaXBzX3N5 c191bnVzZWQyMDggPSA1MjA4LAorICBtaXBzX3N5c191bnVzZWQyMDkgPSA1 MjA5LAorICBtaXBzX3N5c191bnVzZWQyMTAgPSA1MjEwLAorICBtaXBzX3N5 c19ydF9zaWdyZXR1cm4gPSA1MjExLAorICBtaXBzX3N5c191bnVzZWQyMTIg PSA1MjEyLAorICBtaXBzX3N5c191bnVzZWQyMTMgPSA1MjEzLAorICBtaXBz X3N5c19zZW10aW1lZG9wID0gNTIxNCwKKyAgbWlwc19zeXNfTjMyX3JlYWQg PSA2MDAwLAorICBtaXBzX3N5c19OMzJfd3JpdGUgPSA2MDAxLAorICBtaXBz X3N5c19OMzJfb3BlbiA9IDYwMDIsCisgIG1pcHNfc3lzX04zMl9jbG9zZSA9 IDYwMDMsCisgIG1pcHNfc3lzX04zMl9zdGF0ID0gNjAwNCwKKyAgbWlwc19z eXNfTjMyX2ZzdGF0ID0gNjAwNSwKKyAgbWlwc19zeXNfTjMyX2xzdGF0ID0g NjAwNiwKKyAgbWlwc19zeXNfTjMyX3BvbGwgPSA2MDA3LAorICBtaXBzX3N5 c19OMzJfbHNlZWsgPSA2MDA4LAorICBtaXBzX3N5c19OMzJfbW1hcCA9IDYw MDksCisgIG1pcHNfc3lzX04zMl9tcHJvdGVjdCA9IDYwMTAsCisgIG1pcHNf c3lzX04zMl9tdW5tYXAgPSA2MDExLAorICBtaXBzX3N5c19OMzJfYnJrID0g NjAxMiwKKyAgbWlwc19zeXNfTjMyX3J0X3NpZ2FjdGlvbiA9IDYwMTMsCisg IG1pcHNfc3lzX04zMl9ydF9zaWdwcm9jbWFzayA9IDYwMTQsCisgIG1pcHNf c3lzX04zMl9pb2N0bCA9IDYwMTUsCisgIG1pcHNfc3lzX04zMl9wcmVhZCA9 IDYwMTYsCisgIG1pcHNfc3lzX04zMl9wd3JpdGUgPSA2MDE3LAorICBtaXBz X3N5c19OMzJfcmVhZHYgPSA2MDE4LAorICBtaXBzX3N5c19OMzJfd3JpdGV2 ID0gNjAxOSwKKyAgbWlwc19zeXNfTjMyX2FjY2VzcyA9IDYwMjAsCisgIG1p cHNfc3lzX04zMl9waXBlID0gNjAyMSwKKyAgbWlwc19zeXNfTjMyX19uZXdz ZWxlY3QgPSA2MDIyLAorICBtaXBzX3N5c19OMzJfc2NoZWRfeWllbGQgPSA2 MDIzLAorICBtaXBzX3N5c19OMzJfbXJlbWFwID0gNjAyNCwKKyAgbWlwc19z eXNfTjMyX21zeW5jID0gNjAyNSwKKyAgbWlwc19zeXNfTjMyX21pbmNvcmUg PSA2MDI2LAorICBtaXBzX3N5c19OMzJfbWFkdmlzZSA9IDYwMjcsCisgIG1p cHNfc3lzX04zMl9zaG1nZXQgPSA2MDI4LAorICBtaXBzX3N5c19OMzJfc2ht YXQgPSA2MDI5LAorICBtaXBzX3N5c19OMzJfc2htY3RsID0gNjAzMCwKKyAg bWlwc19zeXNfTjMyX2R1cCA9IDYwMzEsCisgIG1pcHNfc3lzX04zMl9kdXAy ID0gNjAzMiwKKyAgbWlwc19zeXNfTjMyX3BhdXNlID0gNjAzMywKKyAgbWlw c19zeXNfTjMyX25hbm9zbGVlcCA9IDYwMzQsCisgIG1pcHNfc3lzX04zMl9n ZXRpdGltZXIgPSA2MDM1LAorICBtaXBzX3N5c19OMzJfc2V0aXRpbWVyID0g NjAzNiwKKyAgbWlwc19zeXNfTjMyX2FsYXJtID0gNjAzNywKKyAgbWlwc19z eXNfTjMyX2dldHBpZCA9IDYwMzgsCisgIG1pcHNfc3lzX04zMl9zZW5kZmls ZSA9IDYwMzksCisgIG1pcHNfc3lzX04zMl9zb2NrZXQgPSA2MDQwLAorICBt aXBzX3N5c19OMzJfY29ubmVjdCA9IDYwNDEsCisgIG1pcHNfc3lzX04zMl9h Y2NlcHQgPSA2MDQyLAorICBtaXBzX3N5c19OMzJfc2VuZHRvID0gNjA0MywK KyAgbWlwc19zeXNfTjMyX3JlY3Zmcm9tID0gNjA0NCwKKyAgbWlwc19zeXNf TjMyX3NlbmRtc2cgPSA2MDQ1LAorICBtaXBzX3N5c19OMzJfcmVjdm1zZyA9 IDYwNDYsCisgIG1pcHNfc3lzX04zMl9zaHV0ZG93biA9IDYwNDcsCisgIG1p cHNfc3lzX04zMl9iaW5kID0gNjA0OCwKKyAgbWlwc19zeXNfTjMyX2xpc3Rl biA9IDYwNDksCisgIG1pcHNfc3lzX04zMl9nZXRzb2NrbmFtZSA9IDYwNTAs CisgIG1pcHNfc3lzX04zMl9nZXRwZWVybmFtZSA9IDYwNTEsCisgIG1pcHNf c3lzX04zMl9zb2NrZXRwYWlyID0gNjA1MiwKKyAgbWlwc19zeXNfTjMyX3Nl dHNvY2tvcHQgPSA2MDUzLAorICBtaXBzX3N5c19OMzJfZ2V0c29ja29wdCA9 IDYwNTQsCisgIG1pcHNfc3lzX04zMl9jbG9uZSA9IDYwNTUsCisgIG1pcHNf c3lzX04zMl9mb3JrID0gNjA1NiwKKyAgbWlwc19zeXNfTjMyX2V4ZWN2ZSA9 IDYwNTcsCisgIG1pcHNfc3lzX04zMl9leGl0ID0gNjA1OCwKKyAgbWlwc19z eXNfTjMyX3dhaXQ0ID0gNjA1OSwKKyAgbWlwc19zeXNfTjMyX2tpbGwgPSA2 MDYwLAorICBtaXBzX3N5c19OMzJfdW5hbWUgPSA2MDYxLAorICBtaXBzX3N5 c19OMzJfc2VtZ2V0ID0gNjA2MiwKKyAgbWlwc19zeXNfTjMyX3NlbW9wID0g NjA2MywKKyAgbWlwc19zeXNfTjMyX3NlbWN0bCA9IDYwNjQsCisgIG1pcHNf c3lzX04zMl9zaG1kdCA9IDYwNjUsCisgIG1pcHNfc3lzX04zMl9tc2dnZXQg PSA2MDY2LAorICBtaXBzX3N5c19OMzJfbXNnc25kID0gNjA2NywKKyAgbWlw c19zeXNfTjMyX21zZ3JjdiA9IDYwNjgsCisgIG1pcHNfc3lzX04zMl9tc2dj dGwgPSA2MDY5LAorICBtaXBzX3N5c19OMzJfZmNudGwgPSA2MDcwLAorICBt aXBzX3N5c19OMzJfZmxvY2sgPSA2MDcxLAorICBtaXBzX3N5c19OMzJfZnN5 bmMgPSA2MDcyLAorICBtaXBzX3N5c19OMzJfZmRhdGFzeW5jID0gNjA3MywK KyAgbWlwc19zeXNfTjMyX3RydW5jYXRlID0gNjA3NCwKKyAgbWlwc19zeXNf TjMyX2Z0cnVuY2F0ZSA9IDYwNzUsCisgIG1pcHNfc3lzX04zMl9nZXRkZW50 cyA9IDYwNzYsCisgIG1pcHNfc3lzX04zMl9nZXRjd2QgPSA2MDc3LAorICBt aXBzX3N5c19OMzJfY2hkaXIgPSA2MDc4LAorICBtaXBzX3N5c19OMzJfZmNo ZGlyID0gNjA3OSwKKyAgbWlwc19zeXNfTjMyX3JlbmFtZSA9IDYwODAsCisg IG1pcHNfc3lzX04zMl9ta2RpciA9IDYwODEsCisgIG1pcHNfc3lzX04zMl9y bWRpciA9IDYwODIsCisgIG1pcHNfc3lzX04zMl9jcmVhdCA9IDYwODMsCisg IG1pcHNfc3lzX04zMl9saW5rID0gNjA4NCwKKyAgbWlwc19zeXNfTjMyX3Vu bGluayA9IDYwODUsCisgIG1pcHNfc3lzX04zMl9zeW1saW5rID0gNjA4NiwK KyAgbWlwc19zeXNfTjMyX3JlYWRsaW5rID0gNjA4NywKKyAgbWlwc19zeXNf TjMyX2NobW9kID0gNjA4OCwKKyAgbWlwc19zeXNfTjMyX2ZjaG1vZCA9IDYw ODksCisgIG1pcHNfc3lzX04zMl9jaG93biA9IDYwOTAsCisgIG1pcHNfc3lz X04zMl9mY2hvd24gPSA2MDkxLAorICBtaXBzX3N5c19OMzJfbGNob3duID0g NjA5MiwKKyAgbWlwc19zeXNfTjMyX3VtYXNrID0gNjA5MywKKyAgbWlwc19z eXNfTjMyX2dldHRpbWVvZmRheSA9IDYwOTQsCisgIG1pcHNfc3lzX04zMl9n ZXRybGltaXQgPSA2MDk1LAorICBtaXBzX3N5c19OMzJfZ2V0cnVzYWdlID0g NjA5NiwKKyAgbWlwc19zeXNfTjMyX3N5c2luZm8gPSA2MDk3LAorICBtaXBz X3N5c19OMzJfdGltZXMgPSA2MDk4LAorICBtaXBzX3N5c19OMzJfcHRyYWNl ID0gNjA5OSwKKyAgbWlwc19zeXNfTjMyX2dldHVpZCA9IDYxMDAsCisgIG1p cHNfc3lzX04zMl9zeXNsb2cgPSA2MTAxLAorICBtaXBzX3N5c19OMzJfZ2V0 Z2lkID0gNjEwMiwKKyAgbWlwc19zeXNfTjMyX3NldHVpZCA9IDYxMDMsCisg IG1pcHNfc3lzX04zMl9zZXRnaWQgPSA2MTA0LAorICBtaXBzX3N5c19OMzJf Z2V0ZXVpZCA9IDYxMDUsCisgIG1pcHNfc3lzX04zMl9nZXRlZ2lkID0gNjEw NiwKKyAgbWlwc19zeXNfTjMyX3NldHBnaWQgPSA2MTA3LAorICBtaXBzX3N5 c19OMzJfZ2V0cHBpZCA9IDYxMDgsCisgIG1pcHNfc3lzX04zMl9nZXRwZ3Jw ID0gNjEwOSwKKyAgbWlwc19zeXNfTjMyX3NldHNpZCA9IDYxMTAsCisgIG1p cHNfc3lzX04zMl9zZXRyZXVpZCA9IDYxMTEsCisgIG1pcHNfc3lzX04zMl9z ZXRyZWdpZCA9IDYxMTIsCisgIG1pcHNfc3lzX04zMl9nZXRncm91cHMgPSA2 MTEzLAorICBtaXBzX3N5c19OMzJfc2V0Z3JvdXBzID0gNjExNCwKKyAgbWlw c19zeXNfTjMyX3NldHJlc3VpZCA9IDYxMTUsCisgIG1pcHNfc3lzX04zMl9n ZXRyZXN1aWQgPSA2MTE2LAorICBtaXBzX3N5c19OMzJfc2V0cmVzZ2lkID0g NjExNywKKyAgbWlwc19zeXNfTjMyX2dldHJlc2dpZCA9IDYxMTgsCisgIG1p cHNfc3lzX04zMl9nZXRwZ2lkID0gNjExOSwKKyAgbWlwc19zeXNfTjMyX3Nl dGZzdWlkID0gNjEyMCwKKyAgbWlwc19zeXNfTjMyX3NldGZzZ2lkID0gNjEy MSwKKyAgbWlwc19zeXNfTjMyX2dldHNpZCA9IDYxMjIsCisgIG1pcHNfc3lz X04zMl9jYXBnZXQgPSA2MTIzLAorICBtaXBzX3N5c19OMzJfY2Fwc2V0ID0g NjEyNCwKKyAgbWlwc19zeXNfTjMyX3J0X3NpZ3BlbmRpbmcgPSA2MTI1LAor ICBtaXBzX3N5c19OMzJfcnRfc2lndGltZWR3YWl0ID0gNjEyNiwKKyAgbWlw c19zeXNfTjMyX3J0X3NpZ3F1ZXVlaW5mbyA9IDYxMjcsCisgIG1pcHNfc3lz X04zMl9ydF9zaWdzdXNwZW5kID0gNjEyOCwKKyAgbWlwc19zeXNfTjMyX3Np Z2FsdHN0YWNrID0gNjEyOSwKKyAgbWlwc19zeXNfTjMyX3V0aW1lID0gNjEz MCwKKyAgbWlwc19zeXNfTjMyX21rbm9kID0gNjEzMSwKKyAgbWlwc19zeXNf TjMyX3BlcnNvbmFsaXR5ID0gNjEzMiwKKyAgbWlwc19zeXNfTjMyX3VzdGF0 ID0gNjEzMywKKyAgbWlwc19zeXNfTjMyX3N0YXRmcyA9IDYxMzQsCisgIG1p cHNfc3lzX04zMl9mc3RhdGZzID0gNjEzNSwKKyAgbWlwc19zeXNfTjMyX3N5 c2ZzID0gNjEzNiwKKyAgbWlwc19zeXNfTjMyX2dldHByaW9yaXR5ID0gNjEz NywKKyAgbWlwc19zeXNfTjMyX3NldHByaW9yaXR5ID0gNjEzOCwKKyAgbWlw c19zeXNfTjMyX3NjaGVkX3NldHBhcmFtID0gNjEzOSwKKyAgbWlwc19zeXNf TjMyX3NjaGVkX2dldHBhcmFtID0gNjE0MCwKKyAgbWlwc19zeXNfTjMyX3Nj aGVkX3NldHNjaGVkdWxlciA9IDYxNDEsCisgIG1pcHNfc3lzX04zMl9zY2hl ZF9nZXRzY2hlZHVsZXIgPSA2MTQyLAorICBtaXBzX3N5c19OMzJfc2NoZWRf Z2V0X3ByaW9yaXR5X21heCA9IDYxNDMsCisgIG1pcHNfc3lzX04zMl9zY2hl ZF9nZXRfcHJpb3JpdHlfbWluID0gNjE0NCwKKyAgbWlwc19zeXNfTjMyX3Nj aGVkX3JyX2dldF9pbnRlcnZhbCA9IDYxNDUsCisgIG1pcHNfc3lzX04zMl9t bG9jayA9IDYxNDYsCisgIG1pcHNfc3lzX04zMl9tdW5sb2NrID0gNjE0NywK KyAgbWlwc19zeXNfTjMyX21sb2NrYWxsID0gNjE0OCwKKyAgbWlwc19zeXNf TjMyX211bmxvY2thbGwgPSA2MTQ5LAorICBtaXBzX3N5c19OMzJfdmhhbmd1 cCA9IDYxNTAsCisgIG1pcHNfc3lzX04zMl9waXZvdF9yb290ID0gNjE1MSwK KyAgbWlwc19zeXNfTjMyX19zeXNjdGwgPSA2MTUyLAorICBtaXBzX3N5c19O MzJfcHJjdGwgPSA2MTUzLAorICBtaXBzX3N5c19OMzJfYWRqdGltZXggPSA2 MTU0LAorICBtaXBzX3N5c19OMzJfc2V0cmxpbWl0ID0gNjE1NSwKKyAgbWlw c19zeXNfTjMyX2Nocm9vdCA9IDYxNTYsCisgIG1pcHNfc3lzX04zMl9zeW5j ID0gNjE1NywKKyAgbWlwc19zeXNfTjMyX2FjY3QgPSA2MTU4LAorICBtaXBz X3N5c19OMzJfc2V0dGltZW9mZGF5ID0gNjE1OSwKKyAgbWlwc19zeXNfTjMy X21vdW50ID0gNjE2MCwKKyAgbWlwc19zeXNfTjMyX3Vtb3VudDIgPSA2MTYx LAorICBtaXBzX3N5c19OMzJfc3dhcG9uID0gNjE2MiwKKyAgbWlwc19zeXNf TjMyX3N3YXBvZmYgPSA2MTYzLAorICBtaXBzX3N5c19OMzJfcmVib290ID0g NjE2NCwKKyAgbWlwc19zeXNfTjMyX3NldGhvc3RuYW1lID0gNjE2NSwKKyAg bWlwc19zeXNfTjMyX3NldGRvbWFpbm5hbWUgPSA2MTY2LAorICBtaXBzX3N5 c19OMzJfY3JlYXRlX21vZHVsZSA9IDYxNjcsCisgIG1pcHNfc3lzX04zMl9p bml0X21vZHVsZSA9IDYxNjgsCisgIG1pcHNfc3lzX04zMl9kZWxldGVfbW9k dWxlID0gNjE2OSwKKyAgbWlwc19zeXNfTjMyX2dldF9rZXJuZWxfc3ltcyA9 IDYxNzAsCisgIG1pcHNfc3lzX04zMl9xdWVyeV9tb2R1bGUgPSA2MTcxLAor ICBtaXBzX3N5c19OMzJfcXVvdGFjdGwgPSA2MTcyLAorICBtaXBzX3N5c19O MzJfbmZzc2VydmN0bCA9IDYxNzMsCisgIG1pcHNfc3lzX04zMl9nZXRwbXNn ID0gNjE3NCwKKyAgbWlwc19zeXNfTjMyX3B1dHBtc2cgPSA2MTc1LAorICBt aXBzX3N5c19OMzJfYWZzX3N5c2NhbGwgPSA2MTc2LAorICBtaXBzX3N5c19O MzJfc2VjdXJpdHkgPSA2MTc3LAorICBtaXBzX3N5c19OMzJfZ2V0dGlkID0g NjE3OCwKKyAgbWlwc19zeXNfTjMyX3JlYWRhaGVhZCA9IDYxNzksCisgIG1p cHNfc3lzX04zMl9zZXR4YXR0ciA9IDYxODAsCisgIG1pcHNfc3lzX04zMl9s c2V0eGF0dHIgPSA2MTgxLAorICBtaXBzX3N5c19OMzJfZnNldHhhdHRyID0g NjE4MiwKKyAgbWlwc19zeXNfTjMyX2dldHhhdHRyID0gNjE4MywKKyAgbWlw c19zeXNfTjMyX2xnZXR4YXR0ciA9IDYxODQsCisgIG1pcHNfc3lzX04zMl9m Z2V0eGF0dHIgPSA2MTg1LAorICBtaXBzX3N5c19OMzJfbGlzdHhhdHRyID0g NjE4NiwKKyAgbWlwc19zeXNfTjMyX2xsaXN0eGF0dHIgPSA2MTg3LAorICBt aXBzX3N5c19OMzJfZmxpc3R4YXR0ciA9IDYxODgsCisgIG1pcHNfc3lzX04z Ml9yZW1vdmV4YXR0ciA9IDYxODksCisgIG1pcHNfc3lzX04zMl9scmVtb3Zl eGF0dHIgPSA2MTkwLAorICBtaXBzX3N5c19OMzJfZnJlbW92ZXhhdHRyID0g NjE5MSwKKyAgbWlwc19zeXNfTjMyX3RraWxsID0gNjE5MiwKKyAgbWlwc19z eXNfTjMyX3RpbWUgPSA2MTkzLAorICBtaXBzX3N5c19OMzJfZnV0ZXggPSA2 MTk0LAorICBtaXBzX3N5c19OMzJfc2NoZWRfc2V0YWZmaW5pdHkgPSA2MTk1 LAorICBtaXBzX3N5c19OMzJfc2NoZWRfZ2V0YWZmaW5pdHkgPSA2MTk2LAor ICBtaXBzX3N5c19OMzJfY2FjaGVmbHVzaCA9IDYxOTcsCisgIG1pcHNfc3lz X04zMl9jYWNoZWN0bCA9IDYxOTgsCisgIG1pcHNfc3lzX04zMl9zeXNtaXBz ID0gNjE5OSwKKyAgbWlwc19zeXNfTjMyX3VudXNlZDIwMCA9IDYyMDAsCisg IG1pcHNfc3lzX04zMl91bnVzZWQyMDEgPSA2MjAxLAorICBtaXBzX3N5c19O MzJfdW51c2VkMjAyID0gNjIwMiwKKyAgbWlwc19zeXNfTjMyX3VudXNlZDIw MyA9IDYyMDMsCisgIG1pcHNfc3lzX04zMl91bnVzZWQyMDQgPSA2MjA0LAor ICBtaXBzX3N5c19OMzJfdW51c2VkMjA1ID0gNjIwNSwKKyAgbWlwc19zeXNf TjMyX3VudXNlZDIwNiA9IDYyMDYsCisgIG1pcHNfc3lzX04zMl91bnVzZWQy MDcgPSA2MjA3LAorICBtaXBzX3N5c19OMzJfdW51c2VkMjA4ID0gNjIwOCwK KyAgbWlwc19zeXNfTjMyX3VudXNlZDIwOSA9IDYyMDksCisgIG1pcHNfc3lz X04zMl91bnVzZWQyMTAgPSA2MjEwLAorICBtaXBzX3N5c19OMzJfcnRfc2ln cmV0dXJuID0gNjIxMSwKKyAgbWlwc19zeXNfTjMyX2ZjbnRsNjQgPSA2MjEy LAorICBtaXBzX3N5c19OMzJfdW51c2VkMjEzID0gNjIxMywKKyAgbWlwc19z eXNfTjMyX3VudXNlZDIxNCA9IDYyMTQsCisgIG1pcHNfc3lzX04zMl9zZW10 aW1lZG9wID0gNjIxNSwKKyAgbWlwc19zeXNfTjMyX3VudXNlZDIxNiA9IDYy MTYsCisgIG1pcHNfc3lzX04zMl91bnVzZWQyMTcgPSA2MjE3LAorICBtaXBz X3N5c19OMzJfdW51c2VkMjE4ID0gNjIxOCwKKyAgbWlwc19zeXNfTjMyX3Nl bmRmaWxlNjQgPSA2MjE5Cit9OworCitpbnQgbWlwc19zeXNjYWxsIChlbnVt IG1pcHNfYWJpIGFiaSwgZW51bSBtaXBzX3N5c2NhbGxfb2Zmc2V0IG9mZnNl dCk7CmRpZmYgLS1naXQgYS9nZGIvbWlwcy10ZGVwLmMgYi9nZGIvbWlwcy10 ZGVwLmMKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQppbmRleCBj NGQyNGZmLi42NjAxMTk3Ci0tLSBhL2dkYi9taXBzLXRkZXAuYworKysgYi9n ZGIvbWlwcy10ZGVwLmMKQEAgLTU5LDYgKzU5LDkgQEAKICNpbmNsdWRlICJ1 c2VyLXJlZ3MuaCIKICNpbmNsdWRlICJ2YWxwcmludC5oIgogCisjaW5jbHVk ZSAicmVjb3JkLmgiCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKIHN0YXRpYyBj b25zdCBzdHJ1Y3Qgb2JqZmlsZV9kYXRhICptaXBzX3Bkcl9kYXRhOwogCiBz dGF0aWMgc3RydWN0IHR5cGUgKm1pcHNfcmVnaXN0ZXJfdHlwZSAoc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2gsIGludCByZWdudW0pOwpAQCAtNTQyNiw2ICs1 NDI5LDczNSBAQCB2YWx1ZV9vZl9taXBzX3VzZXJfcmVnIChzdHJ1Y3QgZnJh bWVfaW5mbyAqZnJhbWUsIGNvbnN0IHZvaWQgKmJhdG9uKQogICByZXR1cm4g dmFsdWVfb2ZfcmVnaXN0ZXIgKCpyZWdfcCwgZnJhbWUpOwogfQogCisvKiBX aGVuICJyZWNvcmRfZGVsYXlfc2xvdCIgaXMgdHJ1ZSAobWVhbiB0aGF0IHRo ZSBwcmV2IGluc3RydWN0aW9uIGhhcyBkZWxheQorICAgc2xvdCksIEdEQiAg bmVlZCB0byBkZWFsIHdpdGggaW5zdHJjdGlvbiBpbiB0aGUgZGVsYXkgc2xv dCB0aGF0IGFkZHJlc3MgaXMKKyAgICJtaXBzX2RlbGF5X3Nsb3RfYWRkciIg YW5kIHRoZSBpbnN0cnVjdGlvbiBpbiB0YXJnZXQgb2YgZGVsYXkgc2xvdAor ICAgaW5zdHJ1Y3Rpb24gdGhhdCBhZGRyZXNzIGlzICJtaXBzX3RhcmdldF9h ZGRyIi4gKi8KK3N0YXRpYyBpbnQgcmVjb3JkX2RlbGF5X3Nsb3Q7CitzdGF0 aWMgQ09SRV9BRERSIG1pcHNfZGVsYXlfc2xvdF9hZGRyOworc3RhdGljIENP UkVfQUREUiBtaXBzX3RhcmdldF9hZGRyOworCisvKiBSZWNvcmQgdGhlIHZh bHVlIG9mIHRoZSBtZW1vcnkgdGhhdCB3aWxsYmUgY2hhbmdlZCBpbiBjdXJy ZW50IDMyIGJpdHMgaW5zdHJ1Y3Rpb24KKyAgIHRvICJyZWNvcmRfYXJjaF9s aXN0Ii4KKyAgIFJldHVybiAtMSBpZiBzb21ldGhpbmcgd3JvbmcuICovCitz dGF0aWMgaW50CittaXBzX3JlY29yZF8zMiAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsIHN0cnVjdCByZWdjYWNoZSAqIHJlY29yZF9yZWdjYWNoZSwgQ09S RV9BRERSIHBjKQoreworICB1aW50MzJfdCBpbnNuID0gKHVpbnQzMl90KSBt aXBzX2ZldGNoX2luc3RydWN0aW9uIChnZGJhcmNoLCBwYyk7CisgIHVpbnQz Ml90IG9wY29kZTsKKyAgY29uc3Qgc3RydWN0IG1pcHNfcmVnbnVtICpyZWdu dW0gPSBtaXBzX3JlZ251bSAoZ2RiYXJjaCk7CisgIGludCBhZGRfcGMgPSAx OworICB1aW50MzJfdCB0bXB1MzI7CisKKyAgaWYgKHJlY29yZF9kZWJ1ZykK KyAgICB7CisgICAgICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2cs CisJCQkgICJyZWNvcmQ6IG1pcHNfcmVjb3JkXzMyIGluc24gPSAweCUwOHhc biIsCisJCQkgICh1bnNpZ25lZCBpbnQpIGluc24pOworICAgIH0KKworICBv cGNvZGUgPSBpbnNuID4+IDI2OworICBzd2l0Y2ggKG9wY29kZSkKKyAgICB7 CisgICAgY2FzZSAweDAwOgorICAgICAgc3dpdGNoICgoaW5zbiA+PiAwKSAm IDB4M2YpCisJeworCSAgLyogc2xsICovCisJY2FzZSAweDAwOgorCSAgLyog c3JsICovCisJY2FzZSAweDAyOgorCSAgLyogc3JhICovCisJY2FzZSAweDAz OgorCSAgLyogc2xsdiAqLworCWNhc2UgMHgwNDoKKwkgIC8qIHNybHYgKi8K KwljYXNlIDB4MDY6CisJICAvKiBzcmF2ICovCisJY2FzZSAweDA3OgorCSAg LyogbW92eiAqLworCWNhc2UgMHgwYToKKwkgIC8qIG1vdm4gKi8KKwljYXNl IDB4MGI6CisJICAvKiBtZmhpICovCisJY2FzZSAweDEwOgorCSAgLyogbWZs byAqLworCWNhc2UgMHgxMjoKKwkgIC8qIGFkZCAqLworCWNhc2UgMHgyMDoK KwkgIC8qIGFkZHUgKi8KKwljYXNlIDB4MjE6CisJICAvKiBzdWIgKi8KKwlj YXNlIDB4MjI6CisJICAvKiBzdWJ1ICovCisJY2FzZSAweDIzOgorCSAgLyog YW5kICovCisJY2FzZSAweDI0OgorCSAgLyogb3IgKi8KKwljYXNlIDB4MjU6 CisJICAvKiB4b3IgKi8KKwljYXNlIDB4MjY6CisJICAvKiBub3IgKi8KKwlj YXNlIDB4Mjc6CisJICAvKiBzbHQgKi8KKwljYXNlIDB4MmE6CisJICAvKiBz bHR1ICovCisJY2FzZSAweDJiOgorCSAgZ290byBzZXRfcmQ7CisJICBicmVh azsKKwkgIC8qIGpyICovCisJY2FzZSAweDA4OgorCSAgcmVnY2FjaGVfcmF3 X3JlYWQgKHJlY29yZF9yZWdjYWNoZSwgKGluc24gPj4gMjEpICYgMHgxZiwK KwkJCSAgICAgKGdkYl9ieXRlICopICYgbWlwc190YXJnZXRfYWRkcik7CisJ ICBnb3RvIHNldF9kZWxheV9zbG90X3BjOworCSAgYnJlYWs7CisJICAvKiBq YWxyICovCisJY2FzZSAweDA5OgorCSAgeworCSAgICB1aW50MzJfdCByZCA9 IChpbnNuID4+IDExKSAmIDB4MWY7CisJICAgIGlmIChyZCAhPSAwKQorCSAg ICAgIHsKKwkJaWYgKHJlY29yZF9hcmNoX2xpc3RfYWRkX3JlZyAocmVjb3Jk X3JlZ2NhY2hlLCByZCkpCisJCSAgeworCQkgICAgcmV0dXJuICgtMSk7CisJ CSAgfQorCSAgICAgIH0KKwkgICAgcmVnY2FjaGVfcmF3X3JlYWQgKHJlY29y ZF9yZWdjYWNoZSwgKGluc24gPj4gMjEpICYgMHgxZiwKKwkJCSAgICAgICAo Z2RiX2J5dGUgKikgJiBtaXBzX3RhcmdldF9hZGRyKTsKKwkgICAgZ290byBz ZXRfZGVsYXlfc2xvdF9wYzsKKwkgIH0KKwkgIGJyZWFrOworCSAgLyogc3lu YyAqLworCWNhc2UgMHgwZjoKKwkgIGJyZWFrOworCSAgLyogbXRoaSAqLwor CWNhc2UgMHgxMToKKwkgIGlmIChyZWNvcmRfYXJjaF9saXN0X2FkZF9yZWcg KHJlY29yZF9yZWdjYWNoZSwgcmVnbnVtLT5oaSkpCisJICAgIHsKKwkgICAg ICByZXR1cm4gKC0xKTsKKwkgICAgfQorCSAgYnJlYWs7CisJICAvKiBtdGxv ICovCisJY2FzZSAweDEzOgorCSAgaWYgKHJlY29yZF9hcmNoX2xpc3RfYWRk X3JlZyAocmVjb3JkX3JlZ2NhY2hlLCByZWdudW0tPmxvKSkKKwkgICAgewor CSAgICAgIHJldHVybiAoLTEpOworCSAgICB9CisJICBicmVhazsKKwkgIC8q IG11bHQgKi8KKwljYXNlIDB4MTg6CisJICAvKiBtdWx0dSAqLworCWNhc2Ug MHgxOToKKwkgIC8qIGRpdiAqLworCWNhc2UgMHgxYToKKwkgIC8qIGRpdnUg Ki8KKwljYXNlIDB4MWI6CisJICBnb3RvIHNldF9oaV9sbzsKKwkgIGJyZWFr OworCWRlZmF1bHQ6CisJICBnb3RvIG5vX3N1cHBvcnQ7CisJICBicmVhazsK Kwl9CisgICAgICBicmVhazsKKworICAgIGNhc2UgMHgwMToKKyAgICAgIHN3 aXRjaCAoKGluc24gPj4gMTYpICYgMHgxZikKKwl7CisJICAvKiBibHR6ICov CisJY2FzZSAweDAwOgorCSAgcmVnY2FjaGVfcmF3X3JlYWQgKHJlY29yZF9y ZWdjYWNoZSwgKGluc24gPj4gMjEpICYgMHgxZiwKKwkJCSAgICAgKGdkYl9i eXRlICopICYgdG1wdTMyKTsKKwkgIGlmICh0bXB1MzIgPCAwKQorCSAgICB7 CisJICAgICAgZ290byBzZXRfaW1tX2RlbGF5X3Nsb3RfcGM7CisJICAgIH0K KwkgIGJyZWFrOworCSAgLyogYmdleiAqLworCWNhc2UgMHgwMToKKwkgIHJl Z2NhY2hlX3Jhd19yZWFkIChyZWNvcmRfcmVnY2FjaGUsIChpbnNuID4+IDIx KSAmIDB4MWYsCisJCQkgICAgIChnZGJfYnl0ZSAqKSAmIHRtcHUzMik7CisJ ICBpZiAodG1wdTMyID49IDApCisJICAgIHsKKwkgICAgICBnb3RvIHNldF9p bW1fZGVsYXlfc2xvdF9wYzsKKwkgICAgfQorCSAgYnJlYWs7CisJICAvKiBi bHR6bCAqLworCWNhc2UgMHgwMjoKKwkgIHJlZ2NhY2hlX3Jhd19yZWFkIChy ZWNvcmRfcmVnY2FjaGUsIChpbnNuID4+IDIxKSAmIDB4MWYsCisJCQkgICAg IChnZGJfYnl0ZSAqKSAmIHRtcHUzMik7CisJICBpZiAodG1wdTMyIDwgMCkK KwkgICAgeworCSAgICAgIGdvdG8gc2V0X2ltbV9kZWxheV9zbG90X3BjOwor CSAgICB9CisJICBlbHNlCisJICAgIHsKKwkgICAgICBnb3RvIHNldF9wYzsK KwkgICAgfQorCSAgYnJlYWs7CisJICAvKiBiZ2V6bCAqLworCWNhc2UgMHgw MzoKKwkgIHJlZ2NhY2hlX3Jhd19yZWFkIChyZWNvcmRfcmVnY2FjaGUsIChp bnNuID4+IDIxKSAmIDB4MWYsCisJCQkgICAgIChnZGJfYnl0ZSAqKSAmIHRt cHUzMik7CisJICBpZiAodG1wdTMyID49IDApCisJICAgIHsKKwkgICAgICBn b3RvIHNldF9pbW1fZGVsYXlfc2xvdF9wYzsKKwkgICAgfQorCSAgZWxzZQor CSAgICB7CisJICAgICAgZ290byBzZXRfcGM7CisJICAgIH0KKwkgIGJyZWFr OworCSAgLyogYmx0emFsICovCisJY2FzZSAweDEwOgorCSAgaWYgKHJlY29y ZF9hcmNoX2xpc3RfYWRkX3JlZyAocmVjb3JkX3JlZ2NhY2hlLCAzMSkpCisJ ICAgIHsKKwkgICAgICByZXR1cm4gKC0xKTsKKwkgICAgfQorCSAgcmVnY2Fj aGVfcmF3X3JlYWQgKHJlY29yZF9yZWdjYWNoZSwgKGluc24gPj4gMjEpICYg MHgxZiwKKwkJCSAgICAgKGdkYl9ieXRlICopICYgdG1wdTMyKTsKKwkgIGlm ICh0bXB1MzIgPCAwKQorCSAgICB7CisJICAgICAgZ290byBzZXRfaW1tX2Rl bGF5X3Nsb3RfcGM7CisJICAgIH0KKwkgIGJyZWFrOworCSAgLyogYmdlemFs ICovCisJY2FzZSAweDExOgorCSAgaWYgKHJlY29yZF9hcmNoX2xpc3RfYWRk X3JlZyAocmVjb3JkX3JlZ2NhY2hlLCAzMSkpCisJICAgIHsKKwkgICAgICBy ZXR1cm4gKC0xKTsKKwkgICAgfQorCSAgcmVnY2FjaGVfcmF3X3JlYWQgKHJl Y29yZF9yZWdjYWNoZSwgKGluc24gPj4gMjEpICYgMHgxZiwKKwkJCSAgICAg KGdkYl9ieXRlICopICYgdG1wdTMyKTsKKwkgIGlmICh0bXB1MzIgPj0gMCkK KwkgICAgeworCSAgICAgIGdvdG8gc2V0X2ltbV9kZWxheV9zbG90X3BjOwor CSAgICB9CisJICBicmVhazsKKwkgIC8qIGJsdHphbGwgKi8KKwljYXNlIDB4 MTI6CisJICBpZiAocmVjb3JkX2FyY2hfbGlzdF9hZGRfcmVnIChyZWNvcmRf cmVnY2FjaGUsIDMxKSkKKwkgICAgeworCSAgICAgIHJldHVybiAoLTEpOwor CSAgICB9CisJICByZWdjYWNoZV9yYXdfcmVhZCAocmVjb3JkX3JlZ2NhY2hl LCAoaW5zbiA+PiAyMSkgJiAweDFmLAorCQkJICAgICAoZ2RiX2J5dGUgKikg JiB0bXB1MzIpOworCSAgaWYgKHRtcHUzMiA8IDApCisJICAgIHsKKwkgICAg ICBnb3RvIHNldF9pbW1fZGVsYXlfc2xvdF9wYzsKKwkgICAgfQorCSAgZWxz ZQorCSAgICB7CisJICAgICAgZ290byBzZXRfcGM7CisJICAgIH0KKwkgIGJy ZWFrOworCSAgLyogYmdlemFsbCAqLworCWNhc2UgMHgxMzoKKwkgIGlmIChy ZWNvcmRfYXJjaF9saXN0X2FkZF9yZWcgKHJlY29yZF9yZWdjYWNoZSwgMzEp KQorCSAgICB7CisJICAgICAgcmV0dXJuICgtMSk7CisJICAgIH0KKwkgIHJl Z2NhY2hlX3Jhd19yZWFkIChyZWNvcmRfcmVnY2FjaGUsIChpbnNuID4+IDIx KSAmIDB4MWYsCisJCQkgICAgIChnZGJfYnl0ZSAqKSAmIHRtcHUzMik7CisJ ICBpZiAodG1wdTMyID49IDApCisJICAgIHsKKwkgICAgICBnb3RvIHNldF9p bW1fZGVsYXlfc2xvdF9wYzsKKwkgICAgfQorCSAgZWxzZQorCSAgICB7CisJ ICAgICAgZ290byBzZXRfcGM7CisJICAgIH0KKwkgIGJyZWFrOworCWRlZmF1 bHQ6CisJICBnb3RvIG5vX3N1cHBvcnQ7CisJICBicmVhazsKKwl9CisgICAg ICBicmVhazsKKworICAgICAgLyogaiAqLworICAgIGNhc2UgMHgwMjoKKyAg ICAgIG1pcHNfdGFyZ2V0X2FkZHIgPQorCShwYyAmIDB4ZjAwMDAwMDApIHwg KCgoaW5zbiA+PiAwKSAmIDB4MDNmZmZmZmYpIDw8IDIpOworICAgICAgZ290 byBzZXRfZGVsYXlfc2xvdF9wYzsKKyAgICAgIGJyZWFrOworCisgICAgICAv KiBiZXEgKi8KKyAgICBjYXNlIDB4MDQ6CisgICAgICB7CisJdWludDMyX3Qg dG1wOworCXJlZ2NhY2hlX3Jhd19yZWFkIChyZWNvcmRfcmVnY2FjaGUsIChp bnNuID4+IDIxKSAmIDB4MWYsCisJICAoZ2RiX2J5dGUgKikgJiB0bXB1MzIp OworCXJlZ2NhY2hlX3Jhd19yZWFkIChyZWNvcmRfcmVnY2FjaGUsIChpbnNu ID4+IDE2KSAmIDB4MWYsCisJICAoZ2RiX2J5dGUgKikgJiB0bXApOworCWlm ICh0bXB1MzIgPT0gdG1wKQorCSAgeworCSAgICBnb3RvIHNldF9pbW1fZGVs YXlfc2xvdF9wYzsKKwkgIH0KKyAgICAgIH0KKyAgICAgIGJyZWFrOworCisg ICAgICAvKiBibmUgKi8KKyAgICBjYXNlIDB4MDU6CisgICAgICB7CisJdWlu dDMyX3QgdG1wOworCXJlZ2NhY2hlX3Jhd19yZWFkIChyZWNvcmRfcmVnY2Fj aGUsIChpbnNuID4+IDIxKSAmIDB4MWYsCisJICAoZ2RiX2J5dGUgKikgJiB0 bXB1MzIpOworCXJlZ2NhY2hlX3Jhd19yZWFkIChyZWNvcmRfcmVnY2FjaGUs IChpbnNuID4+IDE2KSAmIDB4MWYsCisJICAoZ2RiX2J5dGUgKikgJiB0bXAp OworCWlmICh0bXB1MzIgIT0gdG1wKQorCSAgeworCSAgICBnb3RvIHNldF9p bW1fZGVsYXlfc2xvdF9wYzsKKwkgIH0KKyAgICAgIH0KKyAgICAgIGJyZWFr OworCisgICAgICAvKiBibGV6ICovCisgICAgY2FzZSAweDA2OgorICAgICAg cmVnY2FjaGVfcmF3X3JlYWQgKHJlY29yZF9yZWdjYWNoZSwgKGluc24gPj4g MjEpICYgMHgxZiwKKwkoZ2RiX2J5dGUgKikgJiB0bXB1MzIpOworICAgICAg aWYgKHRtcHUzMiA8PSAwKQorCXsKKwkgIGdvdG8gc2V0X2ltbV9kZWxheV9z bG90X3BjOworCX0KKyAgICAgIGJyZWFrOworCisgICAgICAvKiBiZ3R6ICov CisgICAgY2FzZSAweDA3OgorICAgICAgcmVnY2FjaGVfcmF3X3JlYWQgKHJl Y29yZF9yZWdjYWNoZSwgKGluc24gPj4gMjEpICYgMHgxZiwKKwkoZ2RiX2J5 dGUgKikgJiB0bXB1MzIpOworICAgICAgaWYgKHRtcHUzMiA+IDApCisJewor CSAgZ290byBzZXRfaW1tX2RlbGF5X3Nsb3RfcGM7CisJfQorICAgICAgYnJl YWs7CisKKyAgICAgIC8qIGJlcWwgKi8KKyAgICBjYXNlIDB4MTQ6CisgICAg ICB7CisJdWludDMyX3QgdG1wOworCXJlZ2NhY2hlX3Jhd19yZWFkIChyZWNv cmRfcmVnY2FjaGUsIChpbnNuID4+IDIxKSAmIDB4MWYsCisJICAoZ2RiX2J5 dGUgKikgJiB0bXB1MzIpOworCXJlZ2NhY2hlX3Jhd19yZWFkIChyZWNvcmRf cmVnY2FjaGUsIChpbnNuID4+IDE2KSAmIDB4MWYsCisJICAoZ2RiX2J5dGUg KikgJiB0bXApOworCWlmICh0bXB1MzIgPT0gdG1wKQorCSAgeworCSAgICBn b3RvIHNldF9pbW1fZGVsYXlfc2xvdF9wYzsKKwkgIH0KKwllbHNlCisJICB7 CisJICAgIGdvdG8gc2V0X3BjOworCSAgfQorICAgICAgfQorICAgICAgYnJl YWs7CisKKyAgICAgIC8qIGJuZWwgKi8KKyAgICBjYXNlIDB4MTU6CisgICAg ICB7CisJdWludDMyX3QgdG1wOworCXJlZ2NhY2hlX3Jhd19yZWFkIChyZWNv cmRfcmVnY2FjaGUsIChpbnNuID4+IDIxKSAmIDB4MWYsCisJICAoZ2RiX2J5 dGUgKikgJiB0bXB1MzIpOworCXJlZ2NhY2hlX3Jhd19yZWFkIChyZWNvcmRf cmVnY2FjaGUsIChpbnNuID4+IDE2KSAmIDB4MWYsCisJICAoZ2RiX2J5dGUg KikgJiB0bXApOworCWlmICh0bXB1MzIgPT0gdG1wKQorCSAgeworCSAgICBn b3RvIHNldF9pbW1fZGVsYXlfc2xvdF9wYzsKKwkgIH0KKwllbHNlCisJICB7 CisJICAgIGdvdG8gc2V0X3BjOworCSAgfQorICAgICAgfQorICAgICAgYnJl YWs7CisKKyAgICAgIC8qIGJsZXpsICovCisgICAgY2FzZSAweDE2OgorICAg ICAgcmVnY2FjaGVfcmF3X3JlYWQgKHJlY29yZF9yZWdjYWNoZSwgKGluc24g Pj4gMjEpICYgMHgxZiwKKwkoZ2RiX2J5dGUgKikgJiB0bXB1MzIpOworICAg ICAgaWYgKHRtcHUzMiA8PSAwKQorCXsKKwkgIGdvdG8gc2V0X2ltbV9kZWxh eV9zbG90X3BjOworCX0KKyAgICAgIGVsc2UKKwl7CisJICBnb3RvIHNldF9w YzsKKwl9CisgICAgICBicmVhazsKKworICAgICAgLyogYmd0emwgKi8KKyAg ICBjYXNlIDB4MTc6CisgICAgICByZWdjYWNoZV9yYXdfcmVhZCAocmVjb3Jk X3JlZ2NhY2hlLCAoaW5zbiA+PiAyMSkgJiAweDFmLAorCShnZGJfYnl0ZSAq KSAmIHRtcHUzMik7CisgICAgICBpZiAodG1wdTMyID4gMCkKKwl7CisJICBn b3RvIHNldF9pbW1fZGVsYXlfc2xvdF9wYzsKKwl9CisgICAgICBlbHNlCisJ eworCSAgZ290byBzZXRfcGM7CisJfQorICAgICAgYnJlYWs7CisKKyAgICAg IC8qIGphbCAqLworICAgIGNhc2UgMHgwMzoKKyAgICAgIGlmIChyZWNvcmRf YXJjaF9saXN0X2FkZF9yZWcgKHJlY29yZF9yZWdjYWNoZSwgMzEpKQorCXsK KwkgIHJldHVybiAoLTEpOworCX0KKyAgICAgIG1pcHNfdGFyZ2V0X2FkZHIg PQorCShwYyAmIDB4ZjAwMDAwMDApIHwgKCgoaW5zbiA+PiAwKSAmIDB4MDNm ZmZmZmYpIDw8IDIpOworICAgICAgZ290byBzZXRfZGVsYXlfc2xvdF9wYzsK KyAgICAgIGJyZWFrOworCisgICAgICAvKiBqYWx4ICovCisgICAgY2FzZSAw eDFkOgorICAgICAgZ290byBub19zdXBwb3J0OworICAgICAgYnJlYWs7CisK KyAgICAgIC8qIGFkZGkgKi8KKyAgICBjYXNlIDB4MDg6CisgICAgICAvKiBh ZGRpdSAqLworICAgIGNhc2UgMHgwOToKKyAgICAgIC8qIHNsdGkgKi8KKyAg ICBjYXNlIDB4MGE6CisgICAgICAvKiBzbHRpdSAqLworICAgIGNhc2UgMHgw YjoKKyAgICAgIC8qIGFuZGkgKi8KKyAgICBjYXNlIDB4MGM6CisgICAgICAv KiBvcmkgKi8KKyAgICBjYXNlIDB4MGQ6CisgICAgICAvKiB4b3JpICovCisg ICAgY2FzZSAweDBlOgorICAgICAgLyogbHVpICovCisgICAgY2FzZSAweDBm OgorICAgICAgZ290byBzZXRfcnQ7CisgICAgICBicmVhazsKKworICAgICAg LyogQ09QMCAqLworICAgIGNhc2UgMHgxMDoKKyAgICAgIGlmICgoaW5zbiA+ PiAyNSkgJiAweDEpCisJeworCSAgc3dpdGNoICgoaW5zbiA+PiAwKSAmIDB4 M2YpCisJICAgIHsKKwkgICAgICAvKiBlcmV0ICovCisJICAgIGNhc2UgMHgx ODoKKwkgICAgICBnb3RvIHNldF9wYzsKKwkgICAgICBicmVhazsKKwkgICAg ZGVmYXVsdDoKKwkgICAgICBnb3RvIG5vX3N1cHBvcnQ7CisJICAgICAgYnJl YWs7CisJICAgIH0KKwl9CisgICAgICBlbHNlCisJeworCSAgc3dpdGNoICgo aW5zbiA+PiAyMSkgJiAweDFmKQorCSAgICB7CisJICAgICAgLyogbWZjMCAq LworCSAgICBjYXNlIDB4MDA6CisJICAgICAgZ290byBzZXRfcnQ7CisJICAg ICAgYnJlYWs7CisJICAgICAgLyogbXRjMCAqLworCSAgICBjYXNlIDB4MDQ6 CisJICAgICAgeworCQlzd2l0Y2ggKChpbnNuID4+IDExKSAmIDB4MWYpCisJ CSAgeworCQkgIGNhc2UgMTM6CisJCSAgICAvKiBDYXVzZSAqLworCQkgICAg aWYgKHJlY29yZF9hcmNoX2xpc3RfYWRkX3JlZyAocmVjb3JkX3JlZ2NhY2hl LCByZWdudW0tPmNhdXNlKSkKKwkJICAgICAgeworCQkJcmV0dXJuICgtMSk7 CisJCSAgICAgIH0KKwkJICBjYXNlIDg6CisJCSAgICAvKiBiYWR2YWRkciAq LworCQkgICAgaWYgKHJlY29yZF9hcmNoX2xpc3RfYWRkX3JlZyAocmVjb3Jk X3JlZ2NhY2hlLCByZWdudW0tPmJhZHZhZGRyKSkKKwkJICAgICAgeworCQkJ cmV0dXJuICgtMSk7CisJCSAgICAgIH0KKwkJICB9CisJICAgICAgfQorCSAg ICAgIGJyZWFrOworCSAgICBkZWZhdWx0OgorCSAgICAgIGdvdG8gbm9fc3Vw cG9ydDsKKwkgICAgICBicmVhazsKKwkgICAgfQorCX0KKyAgICAgIGJyZWFr OworCisgICAgY2FzZSAweDFjOgorICAgICAgc3dpdGNoICgoaW5zbiA+PiAw KSAmIDB4M2YpCisJeworCSAgLyogbWFkZCAqLworCWNhc2UgMHgwMDoKKwkg IC8qIG1hZGR1ICovCisJY2FzZSAweDAxOgorCSAgLyogbXN1YiAqLworCWNh c2UgMHgwNDoKKwkgIC8qIG1zdWJ1ICovCisJY2FzZSAweDA1OgorCSAgZ290 byBzZXRfaGlfbG87CisJICBicmVhazsKKwkgIC8qIG11bCAqLworCWNhc2Ug MHgwMjoKKwkgIHsKKwkgICAgdWludDMyX3QgcmQgPSAoaW5zbiA+PiAxMSkg JiAweDFmOworCSAgICBpZiAocmQgIT0gMCkKKwkgICAgICB7CisJCWlmIChy ZWNvcmRfYXJjaF9saXN0X2FkZF9yZWcgKHJlY29yZF9yZWdjYWNoZSwgcmQp KQorCQkgIHsKKwkJICAgIHJldHVybiAoLTEpOworCQkgIH0KKwkgICAgICB9 CisJICAgIGdvdG8gc2V0X2hpX2xvOworCSAgfQorCSAgYnJlYWs7CisJICAv KiBjbG8gKi8KKwljYXNlIDB4MjE6CisJICAvKiBjbHogKi8KKwljYXNlIDB4 MjA6CisJICBnb3RvIHNldF9yZDsKKwkgIGJyZWFrOworCWRlZmF1bHQ6CisJ ICBnb3RvIG5vX3N1cHBvcnQ7CisJICBicmVhazsKKwl9CisgICAgICBicmVh azsKKworICAgICAgLyogbGIgKi8KKyAgICBjYXNlIDB4MjA6CisgICAgICAv KiBsaCAqLworICAgIGNhc2UgMHgyMToKKyAgICAgIC8qIGx3bCAqLworICAg IGNhc2UgMHgyMjoKKyAgICAgIC8qIGx3ICovCisgICAgY2FzZSAweDIzOgor ICAgICAgLyogbGJ1ICovCisgICAgY2FzZSAweDI0OgorICAgICAgLyogbGh1 ICovCisgICAgY2FzZSAweDI1OgorICAgICAgLyogbHdyICovCisgICAgY2Fz ZSAweDI2OgorICAgICAgLyogbGwgKi8KKyAgICBjYXNlIDB4MzA6CisgICAg ICBnb3RvIHNldF9ydDsKKyAgICAgIGJyZWFrOworCisgICAgICAvKiBzYiAq LworICAgIGNhc2UgMHgyODoKKyAgICAgIC8qIHNoICovCisgICAgY2FzZSAw eDI5OgorICAgICAgLyogc3dsICovCisgICAgY2FzZSAweDJhOgorICAgICAg Lyogc3cgKi8KKyAgICBjYXNlIDB4MmI6CisgICAgICAvKiBzd3IgKi8KKyAg ICBjYXNlIDB4MmU6CisgICAgICAvKiBzYyAqLworICAgIGNhc2UgMHgzODoK KyAgICAgIHsKKwl1aW50MzJfdCBhZGRyOworCisJLyogYWRkciAqLworCS8q IGJhc2UgKi8KKwlyZWdjYWNoZV9yYXdfcmVhZCAocmVjb3JkX3JlZ2NhY2hl LCAoaW5zbiA+PiAyMSkgJiAweDFmLAorCQkJICAgKGdkYl9ieXRlICopICYg YWRkcik7CisJLyogb2Zmc2V0ICovCisJYWRkciArPSAoaW5zbiA+PiAwKSAm IDB4ZmZmZjsKKworCXN3aXRjaCAob3Bjb2RlKQorCSAgeworCSAgICAvKiBz YiAqLworCSAgY2FzZSAweDI4OgorCSAgICBpZiAocmVjb3JkX2FyY2hfbGlz dF9hZGRfbWVtIChhZGRyLCAxKSkKKwkgICAgICB7CisJCXJldHVybiAoLTEp OworCSAgICAgIH0KKwkgICAgYnJlYWs7CisJICAgIC8qIHNoICovCisJICBj YXNlIDB4Mjk6CisJICAgIGlmIChyZWNvcmRfYXJjaF9saXN0X2FkZF9tZW0g KGFkZHIsIDIpKQorCSAgICAgIHsKKwkJcmV0dXJuICgtMSk7CisJICAgICAg fQorCSAgICBicmVhazsKKwkgICAgLyogc3dsICovCisJICBjYXNlIDB4MmE6 CisJICAgIC8qIHN3ciAqLworCSAgY2FzZSAweDJlOgorCSAgICBpZiAocmVj b3JkX2FyY2hfbGlzdF9hZGRfbWVtIChhZGRyICYgMHhmZmZmZmYwMCwgMikp CisJICAgICAgeworCQlyZXR1cm4gKC0xKTsKKwkgICAgICB9CisJICAgIGJy ZWFrOworCSAgICAvKiBzdyAqLworCSAgY2FzZSAweDJiOgorCSAgICBpZiAo cmVjb3JkX2FyY2hfbGlzdF9hZGRfbWVtIChhZGRyLCA0KSkKKwkgICAgICB7 CisJCXJldHVybiAoLTEpOworCSAgICAgIH0KKwkgICAgYnJlYWs7CisJICAg IC8qIHNjICovCisJICBjYXNlIDB4Mzg6CisJICAgIGlmIChyZWNvcmRfYXJj aF9saXN0X2FkZF9tZW0gKGFkZHIsIDQpKQorCSAgICAgIHsKKwkJcmV0dXJu ICgtMSk7CisJICAgICAgfQorCSAgICBnb3RvIHNldF9ydDsKKwkgICAgYnJl YWs7CisJICB9CisgICAgICB9CisgICAgICBicmVhazsKKyAgICAgIC8qIHBy ZWYgKi8KKyAgICBjYXNlIDB4MzM6CisgICAgICBicmVhazsKKworICAgIGRl ZmF1bHQ6CisgICAgICBnb3RvIG5vX3N1cHBvcnQ7CisgICAgICBicmVhazsK KyAgICB9CisKK291dDoKKyAgaWYgKHJlY29yZF9kZWxheV9zbG90KQorICAg IHsKKyAgICAgIGlmIChhZGRfcGMpCisJeworCSAgaWYgKHJlY29yZF9hcmNo X2xpc3RfYWRkX3JlZyAocmVjb3JkX3JlZ2NhY2hlLCByZWdudW0tPnBjKSkK KwkgICAgeworCSAgICAgIHJldHVybiAoLTEpOworCSAgICB9CisJICBhZGRf cGMgPSAwOworCX0KKyAgICB9CisgIGlmIChyZWNvcmRfYXJjaF9saXN0X2Fk ZF9lbmQgKCkpCisgICAgeworICAgICAgcmV0dXJuICgtMSk7CisgICAgfQor ICByZXR1cm4gKDApOworCitub19zdXBwb3J0OgorICBwcmludGZfdW5maWx0 ZXJlZCAoXworCQkgICAgICgicmVjb3JkOiByZWNvcmQgYW5kIHJldmVyc2Ug ZnVuY3Rpb24gZG9uJ3Qgc3VwcG9ydCAzMiBiaXRzIGluc3RydWN0aW9uIDB4 JTA4eC5cbiIpLAorCQkgICAgICh1bnNpZ25lZCBpbnQpIGluc24pOworICBy ZXR1cm4gKC0xKTsKKworc2V0X3JkOgorICB7CisgICAgdWludDMyX3QgcmQg PSAoaW5zbiA+PiAxMSkgJiAweDFmOworICAgIGlmIChyZCAhPSAwKQorICAg ICAgeworCWlmIChyZWNvcmRfYXJjaF9saXN0X2FkZF9yZWcgKHJlY29yZF9y ZWdjYWNoZSwgcmQpKQorCSAgeworCSAgICByZXR1cm4gKC0xKTsKKwkgIH0K KyAgICAgIH0KKyAgfQorICBnb3RvIG91dDsKKworc2V0X3J0OgorICB7Cisg ICAgdWludDMyX3QgcnQgPSAoaW5zbiA+PiAxNikgJiAweDFmOworICAgIGlm IChydCAhPSAwKQorICAgICAgeworCWlmIChyZWNvcmRfYXJjaF9saXN0X2Fk ZF9yZWcgKHJlY29yZF9yZWdjYWNoZSwgcnQpKQorCSAgeworCSAgICByZXR1 cm4gKC0xKTsKKwkgIH0KKyAgICAgIH0KKyAgfQorICBnb3RvIG91dDsKKwor c2V0X2ltbV9kZWxheV9zbG90X3BjOgorICB7CisgICAgdWludDMyX3QgaW1t ID0gKGluc24gPj4gMCkgJiAweGZmZmY7CisgICAgaWYgKGltbSA+PiAxNSkK KyAgICAgIHsKKwlpbW0gfD0gMHhmZmZmMDAwMDsKKyAgICAgIH0KKyAgICBp bW0gPDw9IDI7CisgICAgbWlwc190YXJnZXRfYWRkciA9IHBjICsgNCArIGlt bTsKKyAgfQorICBnb3RvIHNldF9kZWxheV9zbG90X3BjOworCitzZXRfZGVs YXlfc2xvdF9wYzoKKyAgbWlwc19kZWxheV9zbG90X2FkZHIgPSBwYyArIDQ7 CisgIHJlY29yZF9kZWxheV9zbG90Kys7CisgIGdvdG8gc2V0X3BjOworCitz ZXRfcGM6CisgIGlmIChyZWNvcmRfYXJjaF9saXN0X2FkZF9yZWcgKHJlY29y ZF9yZWdjYWNoZSwgcmVnbnVtLT5wYykpCisgICAgeworICAgICAgcmV0dXJu ICgtMSk7CisgICAgfQorICBhZGRfcGMgPSAwOworICBnb3RvIG91dDsKKwor c2V0X2hpX2xvOgorICBpZiAocmVjb3JkX2FyY2hfbGlzdF9hZGRfcmVnIChy ZWNvcmRfcmVnY2FjaGUsIHJlZ251bS0+aGkpKQorICAgIHsKKyAgICAgIHJl dHVybiAoLTEpOworICAgIH0KKyAgaWYgKHJlY29yZF9hcmNoX2xpc3RfYWRk X3JlZyAocmVjb3JkX3JlZ2NhY2hlLCByZWdudW0tPmxvKSkKKyAgICB7Cisg ICAgICByZXR1cm4gKC0xKTsKKyAgICB9CisgIGdvdG8gb3V0OworfQorCisv KiBSZWNvcmQgdGhlIHZhbHVlIG9mIHRoZSBtZW1vcnkgdGhhdCB3aWxsYmUg Y2hhbmdlZCBpbiBjdXJyZW50IGluc3RydWN0aW9uCisgICB0byAicmVjb3Jk X2FyY2hfbGlzdCIuCisgICBSZXR1cm4gLTEgaWYgc29tZXRoaW5nIHdyb25n LiAqLworaW50IG1pcHNfcmVjb3JkIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCwgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgQ09SRV9BRERSIGFkZHIp Cit7CisgIENPUkVfQUREUiBwYyA9IGFkZHI7CisvKgorICBpZiAocmVjb3Jk X2RlYnVnKQorICAgIHsKKyAgICAgIGZwcmludGZfdW5maWx0ZXJlZCAoZ2Ri X3N0ZGxvZywgInJlY29yZDogbWlwc19yZWNvcmQgcGMgPSAweCVwXG4iLAor CQkJICAodm9pZCAqKShwYykpOworICAgIH0KKyovCisgIGlmIChtaXBzX3Bj X2lzX21pcHMxNiAocGMpKQorICAgIHsKKyAgICAgIHByaW50Zl91bmZpbHRl cmVkIChfCisJCQkgKCJyZWNvcmQ6IHJlY29yZCBhbmQgcmV2ZXJzZSBmdW5j dGlvbiBkb24ndCBzdXBwb3J0IG1pcHMxNi5cbiIpKTsKKyAgICAgIHJldHVy biAoLTEpOworICAgIH0KKworICBpZiAocmVjb3JkX2RlbGF5X3Nsb3QpCisg ICAgeworICAgICAgaWYgKG1pcHNfcmVjb3JkXzMyIChnZGJhcmNoLCByZWdj YWNoZSwgbWlwc19kZWxheV9zbG90X2FkZHIpKQorCXsKKwkgIHJldHVybiAo LTEpOworCX0KKyAgICAgIGlmIChtaXBzX3JlY29yZF8zMiAoZ2RiYXJjaCwg cmVnY2FjaGUsIG1pcHNfdGFyZ2V0X2FkZHIpKQorCXsKKwkgIHJldHVybiAo LTEpOworCX0KKyAgICAgIHJlY29yZF9kZWxheV9zbG90LS07CisgICAgfQor ICByZXR1cm4gKG1pcHNfcmVjb3JkXzMyIChnZGJhcmNoLCByZWdjYWNoZSwg cGMpKTsKK30KKyNpZiAwCitzdGF0aWMgdm9pZCBtaXBzX3JlY29yZF9kYXNt IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCkKK3sKKyAgY29uc3Qgc3RydWN0 IG1pcHNfcmVnbnVtICpyZWdudW07CisgIFVMT05HRVNUIHBjOworCisgIGlm IChtaXBzX3BjX2lzX21pcHMxNiAocmVhZF9wYyAoKSkpCisgICAgeworICAg ICAgZXJyb3IgKF8KKwkgICAgICgicmVjb3JkOiByZWNvcmQgYW5kIHJldmVy c2UgZnVuY3Rpb24gZG9uJ3Qgc3VwcG9ydCBtaXBzMTYuXG4iKSk7CisgICAg fQorCisgIHJlZ251bSA9IG1pcHNfcmVnbnVtIChnZGJhcmNoKTsKKyAgcmVn Y2FjaGVfY29va2VkX3JlYWRfdW5zaWduZWQgKHJlY29yZF9yZWdjYWNoZSwg cmVnbnVtLT5wYywgJnBjKTsKKyAgaWYgKGdkYl9pc19yZXZlcnNlKQorICAg IHsKKyAgICAgIHBjIC09IDQ7CisgICAgfQorICBlbHNlCisgICAgeworICAg ICAgcGMgKz0gNDsKKyAgICB9CisgIHJlZ2NhY2hlX2Nvb2tlZF93cml0ZV91 bnNpZ25lZCAocmVjb3JkX3JlZ2NhY2hlLCByZWdudW0tPnBjLCBwYyk7Cit9 CisjZW5kaWYKIHN0YXRpYyBzdHJ1Y3QgZ2RiYXJjaCAqCiBtaXBzX2dkYmFy Y2hfaW5pdCAoc3RydWN0IGdkYmFyY2hfaW5mbyBpbmZvLCBzdHJ1Y3QgZ2Ri YXJjaF9saXN0ICphcmNoZXMpCiB7CmRpZmYgLS1naXQgYS9nZGIvbWlwcy10 ZGVwLmggYi9nZGIvbWlwcy10ZGVwLmgKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBt b2RlIDEwMDc1NQppbmRleCBkN2JlNjZhLi5hZDExNWQwCi0tLSBhL2dkYi9t aXBzLXRkZXAuaAorKysgYi9nZGIvbWlwcy10ZGVwLmgKQEAgLTk5LDYgKzk5 LDkgQEAgc3RydWN0IGdkYmFyY2hfdGRlcAogICAvKiBSZXR1cm4gdGhlIGV4 cGVjdGVkIG5leHQgUEMgaWYgRlJBTUUgaXMgc3RvcHBlZCBhdCBhIHN5c2Nh bGwKICAgICAgaW5zdHJ1Y3Rpb24uICAqLwogICBDT1JFX0FERFIgKCpzeXNj YWxsX25leHRfcGMpIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpOworICAg CisgIC8qIFBhcnNlIHN5c2NhbGwgYXJncy4gICovCisgIGludCAoKm1pcHNf c3lzY2FsbF9yZWNvcmQpIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlKTsK IH07CiAKIC8qIFJlZ2lzdGVyIG51bWJlcnMgb2YgdmFyaW91cyBpbXBvcnRh bnQgcmVnaXN0ZXJzLiAgKi8KQEAgLTE1Miw0ICsxNTUsNiBAQCBleHRlcm4g dW5zaWduZWQgaW50IG1pcHNfYWJpX3JlZ3NpemUgKHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoKTsKIGV4dGVybiBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKm1pcHNf dGRlc2NfZ3AzMjsKIGV4dGVybiBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKm1pcHNf dGRlc2NfZ3A2NDsKIAorZXh0ZXJuIGludCBtaXBzX3JlY29yZCAoc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIENPUkVfQUREUiBh ZGRyKTsKICNlbmRpZiAvKiBNSVBTX1RERVBfSCAqLwpkaWZmIC0tZ2l0IGEv Z2RiL3JlY29yZC5jIGIvZ2RiL3JlY29yZC5jCm9sZCBtb2RlIDEwMDY0NApu ZXcgbW9kZSAxMDA3NTUKaW5kZXggMzI3NTU1ZC4uODAwNjMxNAotLS0gYS9n ZGIvcmVjb3JkLmMKKysrIGIvZ2RiL3JlY29yZC5jCkBAIC0xMDAyLDkgKzEw MDIsMjMgQEAgcmVjb3JkX3Jlc3VtZSAoc3RydWN0IHRhcmdldF9vcHMgKm9w cywgcHRpZF90IHB0aWQsIGludCBzdGVwLAogCiAgIGlmICghUkVDT1JEX0lT X1JFUExBWSkKICAgICB7CisgICAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCA9IHRhcmdldF90aHJlYWRfYXJjaGl0ZWN0dXJlIChwdGlkKTsKKwogICAg ICAgcmVjb3JkX21lc3NhZ2UgKGdldF9jdXJyZW50X3JlZ2NhY2hlICgpLCBz aWduYWwpOwogICAgICAgcmVjb3JkX2JlbmVhdGhfdG9fcmVzdW1lIChyZWNv cmRfYmVuZWF0aF90b19yZXN1bWVfb3BzLCBwdGlkLCAxLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzaWduYWwpOworCisgICAgICAgaWYg KGdkYmFyY2hfc29mdHdhcmVfc2luZ2xlX3N0ZXBfcCAoZ2RiYXJjaCkpCisg ICAgICAgICB7CisgICAgICAgICAgIGlmICghc2luZ2xlX3N0ZXBfYnJlYWtw b2ludHNfaW5zZXJ0ZWQgKCkpCisgICAgICAgICAgICAgZ2RiYXJjaF9zb2Z0 d2FyZV9zaW5nbGVfc3RlcCAoZ2RiYXJjaCwgZ2V0X2N1cnJlbnRfZnJhbWUg KCkpOworICAgICAgICAgICByZWNvcmRfYmVuZWF0aF90b19yZXN1bWUgKHJl Y29yZF9iZW5lYXRoX3RvX3Jlc3VtZV9vcHMsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcHRpZCwgc3RlcCwgc2lnbmFsKTsKKyAg ICAgICAgICAgcmVjb3JkX3Jlc3VtZV9zdGVwID0gMDsKKyAgICAgICAgIH0K KyAgICAgICBlbHNlCisgICAgICAgICByZWNvcmRfYmVuZWF0aF90b19yZXN1 bWUgKHJlY29yZF9iZW5lYXRoX3RvX3Jlc3VtZV9vcHMsIHB0aWQsIDEsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZ25hbCk7CiAg ICAgfQogfQogCkBAIC0xMDc3LDYgKzEwOTEsNyBAQCByZWNvcmRfd2FpdCAo c3RydWN0IHRhcmdldF9vcHMgKm9wcywKIAkgIC8qIFRoaXMgaXMgbm90IGEg c2luZ2xlIHN0ZXAuICAqLwogCSAgcHRpZF90IHJldDsKIAkgIENPUkVfQURE UiB0bXBfcGM7CisgICAgICAgICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gg PSB0YXJnZXRfdGhyZWFkX2FyY2hpdGVjdHVyZSAoaW5mZXJpb3JfcHRpZCk7 CiAKIAkgIHdoaWxlICgxKQogCSAgICB7CkBAIC0xMDk5LDYgKzExMTQsOSBA QCByZWNvcmRfd2FpdCAoc3RydWN0IHRhcmdldF9vcHMgKm9wcywKIAkJICB0 bXBfcGMgPSByZWdjYWNoZV9yZWFkX3BjIChyZWdjYWNoZSk7CiAJCSAgYXNw YWNlID0gZ2V0X3JlZ2NhY2hlX2FzcGFjZSAocmVnY2FjaGUpOwogCisgICAg ICAgICAgICAgICAgICBpZiAoZ2RiYXJjaF9zb2Z0d2FyZV9zaW5nbGVfc3Rl cF9wIChnZGJhcmNoKSkKKyAgICAgICAgICAgICAgICAgICAgcmVtb3ZlX3Np bmdsZV9zdGVwX2JyZWFrcG9pbnRzICgpOworCiAJCSAgaWYgKHRhcmdldF9z dG9wcGVkX2J5X3dhdGNocG9pbnQgKCkpCiAJCSAgICB7CiAJCSAgICAgIC8q IEFsd2F5cyBpbnRlcmVzdGVkIGluIHdhdGNocG9pbnRzLiAgKi8KQEAgLTEx MjksOSArMTE0NywxOCBAQCByZWNvcmRfd2FpdCAoc3RydWN0IHRhcmdldF9v cHMgKm9wcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwog ICAJCQl9CiAKLQkJICAgICAgcmVjb3JkX2JlbmVhdGhfdG9fcmVzdW1lIChy ZWNvcmRfYmVuZWF0aF90b19yZXN1bWVfb3BzLAotCQkJCQkJcHRpZCwgMSwK LQkJCQkJCVRBUkdFVF9TSUdOQUxfMCk7CisgICAgICAgICAgICAgICAgICAg ICAgaWYgKGdkYmFyY2hfc29mdHdhcmVfc2luZ2xlX3N0ZXBfcCAoZ2RiYXJj aCkpCisgICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg ICAgICAgICAgICAgIGdkYmFyY2hfc29mdHdhcmVfc2luZ2xlX3N0ZXAgKGdk YmFyY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGdldF9jdXJyZW50X2ZyYW1lICgpKTsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkX2JlbmVhdGhfdG9fcmVz dW1lIChyZWNvcmRfYmVuZWF0aF90b19yZXN1bWVfb3BzLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0 aWQsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgVEFSR0VUX1NJR05BTF8wKTsKKyAgICAgICAgICAg ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICBlbHNlCisJ CSAgICAgICAgcmVjb3JkX2JlbmVhdGhfdG9fcmVzdW1lIChyZWNvcmRfYmVu ZWF0aF90b19yZXN1bWVfb3BzLAorCQkJCQkJICBwdGlkLCAxLAorCQkJCQkJ ICBUQVJHRVRfU0lHTkFMXzApOwogCQkgICAgICBjb250aW51ZTsKIAkJICAg IH0KIAkJfQo= --000e0cd256ace0b0b9047b6fb63a--