<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>69795</bug_id>
          
          <creation_ts>2011-10-10 15:39:36 -0700</creation_ts>
          <short_desc>DFG: Switch GetById / PutById to use callOperation</short_desc>
          <delta_ts>2011-10-10 16:47:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>481240</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-10-10 15:39:36 -0700</bug_when>
    <thetext>Also make the take base as a cell, so 32_64 doesn&apos;t have to set up the cell tag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481242</commentid>
    <comment_count>1</comment_count>
      <attachid>110423</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-10-10 15:43:33 -0700</bug_when>
    <thetext>Created attachment 110423
The patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481244</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-10 15:46:40 -0700</bug_when>
    <thetext>Attachment 110423 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1

Last 3072 characters of output:
ource/JavaScriptCore/dfg/DFGOperations.cpp:296:  The parameter name &quot;exec&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/dfg/DFGOperations.cpp:296:  The parameter name &quot;returnAddress&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/dfg/DFGOperations.cpp:319:  The parameter name &quot;exec&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/dfg/DFGOperations.cpp:319:  The parameter name &quot;returnAddress&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/dfg/DFGOperations.cpp:339:  The parameter name &quot;exec&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/dfg/DFGOperations.cpp:339:  The parameter name &quot;returnAddress&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/dfg/DFGOperations.cpp:359:  The parameter name &quot;exec&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/dfg/DFGOperations.cpp:359:  The parameter name &quot;returnAddress&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/dfg/DFGOperations.cpp:444:  The parameter name &quot;exec&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/dfg/DFGOperations.cpp:444:  The parameter name &quot;returnAddress&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/dfg/DFGOperations.cpp:467:  The parameter name &quot;exec&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/dfg/DFGOperations.cpp:467:  The parameter name &quot;returnAddress&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/dfg/DFGOperations.cpp:490:  The parameter name &quot;exec&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/dfg/DFGOperations.cpp:490:  The parameter name &quot;returnAddress&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/dfg/DFGOperations.cpp:513:  The parameter name &quot;exec&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/dfg/DFGOperations.cpp:513:  The parameter name &quot;returnAddress&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/dfg/DFGOperations.h:75:  DFG_OPERATION is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/JavaScriptCore/dfg/DFGOperations.h:86:  DFG_OPERATION is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/JavaScriptCore/dfg/DFGOperations.h:87:  DFG_OPERATION is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 19 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>481292</commentid>
    <comment_count>3</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-10-10 16:47:52 -0700</bug_when>
    <thetext>fixed in r97101</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110423</attachid>
            <date>2011-10-10 15:43:33 -0700</date>
            <delta_ts>2011-10-10 15:45:46 -0700</delta_ts>
            <desc>The patch</desc>
            <filename>69795.patch</filename>
            <type>text/plain</type>
            <size>37546</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTcwOTkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAK
KzIwMTEtMTAtMTAgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFyYWNsb3VnaEBhcHBsZS5jb20+CisK
KyAgICAgICAgREZHOiBTd2l0Y2ggR2V0QnlJZCAvIFB1dEJ5SWQgdG8gdXNlIGNhbGxPcGVyYXRp
b24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5Nzk1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxzbyBt
YWtlIHRoZSB0YWtlIGJhc2UgYXMgYSBjZWxsLCBzbyAzMl82NCBkb2Vzbid0IGhhdmUgdG8gc2V0
IHVwIHRoZSBjZWxsIHRhZy4KKworICAgICAgICAqIGRmZy9ERkdKSVRDb2RlR2VuZXJhdG9yLmg6
CisgICAgICAgIChKU0M6OkRGRzo6Y2FsbE9wZXJhdGlvbik6CisgICAgICAgICogZGZnL0RGR0pJ
VENvZGVHZW5lcmF0b3IzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6SklUQ29kZUdlbmVy
YXRvcjo6Y2FjaGVkR2V0QnlJZCk6CisgICAgICAgIChKU0M6OkRGRzo6SklUQ29kZUdlbmVyYXRv
cjo6Y2FjaGVkUHV0QnlJZCk6CisgICAgICAgICogZGZnL0RGR0pJVENvZGVHZW5lcmF0b3I2NC5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6SklUQ29kZUdlbmVyYXRvcjo6Y2FjaGVkR2V0QnlJZCk6
CisgICAgICAgIChKU0M6OkRGRzo6SklUQ29kZUdlbmVyYXRvcjo6Y2FjaGVkUHV0QnlJZCk6Cisg
ICAgICAgICogZGZnL0RGR09wZXJhdGlvbnMuY3BwOgorICAgICAgICAqIGRmZy9ERkdPcGVyYXRp
b25zLmg6CisgICAgICAgICogZGZnL0RGR1JlcGF0Y2guY3BwOgorICAgICAgICAoSlNDOjpERkc6
OmFwcHJvcHJpYXRlUHV0QnlJZEZ1bmN0aW9uKToKKwogMjAxMS0xMC0xMCAgRmlsaXAgUGl6bG8g
IDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJb04gKHI5NTM5OSk6IFdlYiBw
cm9jZXNzIGhhbmdzIHdoZW4gb3BlbmluZyBkb2N1bWVudHMgb24gR29vZ2xlIERvY3MKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvcjMyXzY0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0
b3IzMl82NC5jcHAJKHJldmlzaW9uIDk3MDg3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdKSVRDb2RlR2VuZXJhdG9yMzJfNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDE5LDYg
KzEwMTksOCBAQCB2b2lkIEpJVENvZGVHZW5lcmF0b3I6Om5vblNwZWN1bGF0aXZlSW5zCiAKIEpJ
VENvbXBpbGVyOjpDYWxsIEpJVENvZGVHZW5lcmF0b3I6OmNhY2hlZEdldEJ5SWQoR1BSUmVnIGJh
c2VQYXlsb2FkR1BSLCBHUFJSZWcgcmVzdWx0VGFnR1BSLCBHUFJSZWcgcmVzdWx0UGF5bG9hZEdQ
UiwgR1BSUmVnIHNjcmF0Y2hHUFIsIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIsIEpJVENvbXBp
bGVyOjpKdW1wIHNsb3dQYXRoVGFyZ2V0LCBOb2RlVHlwZSBub2RlVHlwZSkKIHsKKyAgICBBU1NF
UlQobm9kZVR5cGUgPT0gR2V0QnlJZCB8fCBub2RlVHlwZSA9PSBHZXRNZXRob2QpOworCiAgICAg
SklUQ29tcGlsZXI6OkRhdGFMYWJlbFB0ciBzdHJ1Y3R1cmVUb0NvbXBhcmU7CiAgICAgSklUQ29t
cGlsZXI6Okp1bXAgc3RydWN0dXJlQ2hlY2sgPSBtX2ppdC5icmFuY2hQdHJXaXRoUGF0Y2goSklU
Q29tcGlsZXI6Ok5vdEVxdWFsLCBKSVRDb21waWxlcjo6QWRkcmVzcyhiYXNlUGF5bG9hZEdQUiwg
SlNDZWxsOjpzdHJ1Y3R1cmVPZmZzZXQoKSksIHN0cnVjdHVyZVRvQ29tcGFyZSwgSklUQ29tcGls
ZXI6OlRydXN0ZWRJbW1QdHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oLTEpKSk7CiAgICAgCkBA
IC0xMDM2LDI1ICsxMDM4LDcgQEAgSklUQ29tcGlsZXI6OkNhbGwgSklUQ29kZUdlbmVyYXRvcjo6
Y2FjaAogICAgIEpJVENvbXBpbGVyOjpMYWJlbCBzbG93Q2FzZSA9IG1faml0LmxhYmVsKCk7CiAK
ICAgICBzaWxlbnRTcGlsbEFsbFJlZ2lzdGVycyhyZXN1bHRUYWdHUFIsIHJlc3VsdFBheWxvYWRH
UFIpOwotICAgIG1faml0LnB1c2goSklUQ29tcGlsZXI6OlRydXN0ZWRJbW0zMihyZWludGVycHJl
dF9jYXN0PGludD4oaWRlbnRpZmllcihpZGVudGlmaWVyTnVtYmVyKSkpKTsKLSAgICBtX2ppdC5w
dXNoKFRydXN0ZWRJbW0zMihKU1ZhbHVlOjpDZWxsVGFnKSk7Ci0gICAgbV9qaXQucHVzaChiYXNl
UGF5bG9hZEdQUik7Ci0gICAgbV9qaXQucHVzaChHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7
Ci0gICAgSklUQ29tcGlsZXI6OkNhbGwgZnVuY3Rpb25DYWxsOwotICAgIHN3aXRjaCAobm9kZVR5
cGUpIHsKLSAgICBjYXNlIEdldEJ5SWQ6Ci0gICAgICAgIGZ1bmN0aW9uQ2FsbCA9IGFwcGVuZENh
bGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uR2V0QnlJZE9wdGltaXplKTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgICAgIAotICAgIGNhc2UgR2V0TWV0aG9kOgotICAgICAgICBmdW5jdGlvbkNh
bGwgPSBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbkdldE1ldGhvZE9wdGlt
aXplKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIAotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gSklUQ29tcGlsZXI6OkNhbGwoKTsK
LSAgICB9Ci0gICAgc2V0dXBSZXN1bHRzKHJlc3VsdFRhZ0dQUiwgcmVzdWx0UGF5bG9hZEdQUik7
CisgICAgSklUQ29tcGlsZXI6OkNhbGwgZnVuY3Rpb25DYWxsID0gY2FsbE9wZXJhdGlvbihub2Rl
VHlwZSA9PSBHZXRCeUlkID8gb3BlcmF0aW9uR2V0QnlJZE9wdGltaXplIDogb3BlcmF0aW9uR2V0
TWV0aG9kT3B0aW1pemUsIHJlc3VsdFRhZ0dQUiwgcmVzdWx0UGF5bG9hZEdQUiwgYmFzZVBheWxv
YWRHUFIsIGlkZW50aWZpZXIoaWRlbnRpZmllck51bWJlcikpOwogICAgIHNpbGVudEZpbGxBbGxS
ZWdpc3RlcnMocmVzdWx0VGFnR1BSLCByZXN1bHRQYXlsb2FkR1BSKTsKICAgICAKICAgICBkb25l
LmxpbmsoJm1faml0KTsKQEAgLTEwOTQsMTMgKzEwNzgsNyBAQCB2b2lkIEpJVENvZGVHZW5lcmF0
b3I6OmNhY2hlZFB1dEJ5SWQoR1BSCiAgICAgSklUQ29tcGlsZXI6OkxhYmVsIHNsb3dDYXNlID0g
bV9qaXQubGFiZWwoKTsKIAogICAgIHNpbGVudFNwaWxsQWxsUmVnaXN0ZXJzKEludmFsaWRHUFJS
ZWcpOwotICAgIG1faml0LnB1c2goSklUQ29tcGlsZXI6OlRydXN0ZWRJbW0zMihyZWludGVycHJl
dF9jYXN0PGludD4oaWRlbnRpZmllcihpZGVudGlmaWVyTnVtYmVyKSkpKTsKLSAgICBtX2ppdC5w
dXNoKFRydXN0ZWRJbW0zMihKU1ZhbHVlOjpDZWxsVGFnKSk7Ci0gICAgbV9qaXQucHVzaChiYXNl
UGF5bG9hZEdQUik7Ci0gICAgbV9qaXQucHVzaCh2YWx1ZVRhZ0dQUik7Ci0gICAgbV9qaXQucHVz
aCh2YWx1ZVBheWxvYWRHUFIpOwotICAgIG1faml0LnB1c2goR1BSSW5mbzo6Y2FsbEZyYW1lUmVn
aXN0ZXIpOwotICAgIFZfREZHT3BlcmF0aW9uX0VKSkkgb3B0aW1pemVkQ2FsbDsKKyAgICBWX0RG
R09wZXJhdGlvbl9FSkNJIG9wdGltaXplZENhbGw7CiAgICAgaWYgKG1faml0LmNvZGVCbG9jaygp
LT5pc1N0cmljdE1vZGUoKSkgewogICAgICAgICBpZiAocHV0S2luZCA9PSBEaXJlY3QpCiAgICAg
ICAgICAgICBvcHRpbWl6ZWRDYWxsID0gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdE9wdGlt
aXplOwpAQCAtMTExMiw3ICsxMDkwLDcgQEAgdm9pZCBKSVRDb2RlR2VuZXJhdG9yOjpjYWNoZWRQ
dXRCeUlkKEdQUgogICAgICAgICBlbHNlCiAgICAgICAgICAgICBvcHRpbWl6ZWRDYWxsID0gb3Bl
cmF0aW9uUHV0QnlJZE5vblN0cmljdE9wdGltaXplOwogICAgIH0KLSAgICBKSVRDb21waWxlcjo6
Q2FsbCBmdW5jdGlvbkNhbGwgPSBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wdGltaXpl
ZENhbGwpOworICAgIEpJVENvbXBpbGVyOjpDYWxsIGZ1bmN0aW9uQ2FsbCA9IGNhbGxPcGVyYXRp
b24ob3B0aW1pemVkQ2FsbCwgdmFsdWVUYWdHUFIsIHZhbHVlUGF5bG9hZEdQUiwgYmFzZVBheWxv
YWRHUFIsIGlkZW50aWZpZXIoaWRlbnRpZmllck51bWJlcikpOwogICAgIHNpbGVudEZpbGxBbGxS
ZWdpc3RlcnMoSW52YWxpZEdQUlJlZyk7CiAKICAgICBkb25lLmxpbmsoJm1faml0KTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvcjY0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3I2
NC5jcHAJKHJldmlzaW9uIDk3MDg3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdK
SVRDb2RlR2VuZXJhdG9yNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NjgsNiArOTY4LDggQEAg
dm9pZCBKSVRDb2RlR2VuZXJhdG9yOjpub25TcGVjdWxhdGl2ZUlucwogCiBKSVRDb21waWxlcjo6
Q2FsbCBKSVRDb2RlR2VuZXJhdG9yOjpjYWNoZWRHZXRCeUlkKEdQUlJlZyBiYXNlR1BSLCBHUFJS
ZWcgcmVzdWx0R1BSLCBHUFJSZWcgc2NyYXRjaEdQUiwgdW5zaWduZWQgaWRlbnRpZmllck51bWJl
ciwgSklUQ29tcGlsZXI6Okp1bXAgc2xvd1BhdGhUYXJnZXQsIE5vZGVUeXBlIG5vZGVUeXBlKQog
eworICAgIEFTU0VSVChub2RlVHlwZSA9PSBHZXRCeUlkIHx8IG5vZGVUeXBlID09IEdldE1ldGhv
ZCk7CisKICAgICBKSVRDb21waWxlcjo6RGF0YUxhYmVsUHRyIHN0cnVjdHVyZVRvQ29tcGFyZTsK
ICAgICBKSVRDb21waWxlcjo6SnVtcCBzdHJ1Y3R1cmVDaGVjayA9IG1faml0LmJyYW5jaFB0cldp
dGhQYXRjaChKSVRDb21waWxlcjo6Tm90RXF1YWwsIEpJVENvbXBpbGVyOjpBZGRyZXNzKGJhc2VH
UFIsIEpTQ2VsbDo6c3RydWN0dXJlT2Zmc2V0KCkpLCBzdHJ1Y3R1cmVUb0NvbXBhcmUsIEpJVENv
bXBpbGVyOjpUcnVzdGVkSW1tUHRyKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KC0xKSkpOwogICAg
IApAQCAtOTg0LDI0ICs5ODYsNyBAQCBKSVRDb21waWxlcjo6Q2FsbCBKSVRDb2RlR2VuZXJhdG9y
OjpjYWNoCiAgICAgSklUQ29tcGlsZXI6OkxhYmVsIHNsb3dDYXNlID0gbV9qaXQubGFiZWwoKTsK
IAogICAgIHNpbGVudFNwaWxsQWxsUmVnaXN0ZXJzKHJlc3VsdEdQUik7Ci0gICAgbV9qaXQubW92
ZShiYXNlR1BSLCBHUFJJbmZvOjphcmd1bWVudEdQUjEpOwotICAgIG1faml0Lm1vdmUoSklUQ29t
cGlsZXI6OkltbVB0cihpZGVudGlmaWVyKGlkZW50aWZpZXJOdW1iZXIpKSwgR1BSSW5mbzo6YXJn
dW1lbnRHUFIyKTsKLSAgICBtX2ppdC5tb3ZlKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBH
UFJJbmZvOjphcmd1bWVudEdQUjApOwotICAgIEpJVENvbXBpbGVyOjpDYWxsIGZ1bmN0aW9uQ2Fs
bDsKLSAgICBzd2l0Y2ggKG5vZGVUeXBlKSB7Ci0gICAgY2FzZSBHZXRCeUlkOgotICAgICAgICBm
dW5jdGlvbkNhbGwgPSBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbkdldEJ5
SWRPcHRpbWl6ZSk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICAKLSAgICBjYXNlIEdldE1ldGhv
ZDoKLSAgICAgICAgZnVuY3Rpb25DYWxsID0gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhv
cGVyYXRpb25HZXRNZXRob2RPcHRpbWl6ZSk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICAKLSAg
ICBkZWZhdWx0OgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJu
IEpJVENvbXBpbGVyOjpDYWxsKCk7Ci0gICAgfQotICAgIG1faml0Lm1vdmUoR1BSSW5mbzo6cmV0
dXJuVmFsdWVHUFIsIHJlc3VsdEdQUik7CisgICAgSklUQ29tcGlsZXI6OkNhbGwgZnVuY3Rpb25D
YWxsID0gY2FsbE9wZXJhdGlvbihub2RlVHlwZSA9PSBHZXRCeUlkID8gb3BlcmF0aW9uR2V0QnlJ
ZE9wdGltaXplIDogb3BlcmF0aW9uR2V0TWV0aG9kT3B0aW1pemUsIHJlc3VsdEdQUiwgYmFzZUdQ
UiwgaWRlbnRpZmllcihpZGVudGlmaWVyTnVtYmVyKSk7CiAgICAgc2lsZW50RmlsbEFsbFJlZ2lz
dGVycyhyZXN1bHRHUFIpOwogICAgIAogICAgIGRvbmUubGluaygmbV9qaXQpOwpAQCAtMTA0Mywx
MCArMTAyOCw3IEBAIHZvaWQgSklUQ29kZUdlbmVyYXRvcjo6Y2FjaGVkUHV0QnlJZChHUFIKICAg
ICBKSVRDb21waWxlcjo6TGFiZWwgc2xvd0Nhc2UgPSBtX2ppdC5sYWJlbCgpOwogCiAgICAgc2ls
ZW50U3BpbGxBbGxSZWdpc3RlcnMoSW52YWxpZEdQUlJlZyk7Ci0gICAgc2V0dXBUd29TdHViQXJn
czxHUFJJbmZvOjphcmd1bWVudEdQUjEsIEdQUkluZm86OmFyZ3VtZW50R1BSMj4odmFsdWVHUFIs
IGJhc2VHUFIpOwotICAgIG1faml0Lm1vdmUoSklUQ29tcGlsZXI6OkltbVB0cihpZGVudGlmaWVy
KGlkZW50aWZpZXJOdW1iZXIpKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIzKTsKLSAgICBtX2ppdC5t
b3ZlKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBHUFJJbmZvOjphcmd1bWVudEdQUjApOwot
ICAgIFZfREZHT3BlcmF0aW9uX0VKSkkgb3B0aW1pemVkQ2FsbDsKKyAgICBWX0RGR09wZXJhdGlv
bl9FSkNJIG9wdGltaXplZENhbGw7CiAgICAgaWYgKG1faml0LmNvZGVCbG9jaygpLT5pc1N0cmlj
dE1vZGUoKSkgewogICAgICAgICBpZiAocHV0S2luZCA9PSBEaXJlY3QpCiAgICAgICAgICAgICBv
cHRpbWl6ZWRDYWxsID0gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdE9wdGltaXplOwpAQCAt
MTA1OCw3ICsxMDQwLDcgQEAgdm9pZCBKSVRDb2RlR2VuZXJhdG9yOjpjYWNoZWRQdXRCeUlkKEdQ
UgogICAgICAgICBlbHNlCiAgICAgICAgICAgICBvcHRpbWl6ZWRDYWxsID0gb3BlcmF0aW9uUHV0
QnlJZE5vblN0cmljdE9wdGltaXplOwogICAgIH0KLSAgICBKSVRDb21waWxlcjo6Q2FsbCBmdW5j
dGlvbkNhbGwgPSBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wdGltaXplZENhbGwpOwor
ICAgIEpJVENvbXBpbGVyOjpDYWxsIGZ1bmN0aW9uQ2FsbCA9IGNhbGxPcGVyYXRpb24ob3B0aW1p
emVkQ2FsbCwgdmFsdWVHUFIsIGJhc2VHUFIsIGlkZW50aWZpZXIoaWRlbnRpZmllck51bWJlcikp
OwogICAgIHNpbGVudEZpbGxBbGxSZWdpc3RlcnMoSW52YWxpZEdQUlJlZyk7CiAKICAgICBkb25l
LmxpbmsoJm1faml0KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29k
ZUdlbmVyYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
SklUQ29kZUdlbmVyYXRvci5oCShyZXZpc2lvbiA5NzA4NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDk4LDkg
KzEwOTgsOSBAQCBwcm90ZWN0ZWQ6CiAKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhj
ZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KLSAgICBKSVRD
b21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfREZHT3BlcmF0aW9uX0VKSSBvcGVyYXRpb24s
IEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBJZGVudGlmaWVyKiBpZGVudGlmaWVyKQorICAg
IEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9ERkdPcGVyYXRpb25fRUNJIG9wZXJh
dGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEsIElkZW50aWZpZXIqIGlkZW50aWZpZXIp
CiAgICAgewotICAgICAgICByZXR1cm4gY2FsbE9wZXJhdGlvbigoSl9ERkdPcGVyYXRpb25fRUpQ
KW9wZXJhdGlvbiwgcmVzdWx0LCBhcmcxLCBpZGVudGlmaWVyKTsKKyAgICAgICAgcmV0dXJuIGNh
bGxPcGVyYXRpb24oKEpfREZHT3BlcmF0aW9uX0VQUClvcGVyYXRpb24sIHJlc3VsdCwgYXJnMSwg
aWRlbnRpZmllcik7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24o
Sl9ERkdPcGVyYXRpb25fRUpBIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEs
IEdQUlJlZyBhcmcyKQogICAgIHsKQEAgLTExNTYsNyArMTE1Niw3IEBAIHByb3RlY3RlZDoKIAog
ICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVy
YXRpb24sIHJlc3VsdCk7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRp
b24oVl9ERkdPcGVyYXRpb25fRUpKUCBvcGVyYXRpb24sIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJn
Miwgdm9pZCogcG9pbnRlcikKKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZf
REZHT3BlcmF0aW9uX0VKUFAgb3BlcmF0aW9uLCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIHZv
aWQqIHBvaW50ZXIpCiAgICAgewogICAgICAgICBzZXR1cFN0dWJBcmd1bWVudHMoYXJnMSwgYXJn
Mik7CiAgICAgICAgIG1faml0Lm1vdmUoSklUQ29tcGlsZXI6OlRydXN0ZWRJbW1QdHIocG9pbnRl
ciksIEdQUkluZm86OmFyZ3VtZW50R1BSMyk7CkBAIC0xMTY0LDkgKzExNjQsOSBAQCBwcm90ZWN0
ZWQ6CiAKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0
aW9uKTsKICAgICB9Ci0gICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0RGR09w
ZXJhdGlvbl9FSkpJIG9wZXJhdGlvbiwgR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBJZGVudGlm
aWVyKiBpZGVudGlmaWVyKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9E
RkdPcGVyYXRpb25fRUpDSSBvcGVyYXRpb24sIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMiwgSWRl
bnRpZmllciogaWRlbnRpZmllcikKICAgICB7Ci0gICAgICAgIHJldHVybiBjYWxsT3BlcmF0aW9u
KChWX0RGR09wZXJhdGlvbl9FSkpQKW9wZXJhdGlvbiwgYXJnMSwgYXJnMiwgaWRlbnRpZmllcik7
CisgICAgICAgIHJldHVybiBjYWxsT3BlcmF0aW9uKChWX0RGR09wZXJhdGlvbl9FSlBQKW9wZXJh
dGlvbiwgYXJnMSwgYXJnMiwgaWRlbnRpZmllcik7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpD
YWxsIGNhbGxPcGVyYXRpb24oVl9ERkdPcGVyYXRpb25fRUpKSiBvcGVyYXRpb24sIEdQUlJlZyBh
cmcxLCBHUFJSZWcgYXJnMiwgR1BSUmVnIGFyZzMpCiAgICAgewpAQCAtMTI5Miw5ICsxMjkyLDkg
QEAgcHJvdGVjdGVkOgogCiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNo
ZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0VGFnLCByZXN1bHRQYXlsb2FkKTsKICAgICB9
Ci0gICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0RGR09wZXJhdGlvbl9FSkkg
b3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwgR1BSUmVn
IGFyZzFUYWcsIEdQUlJlZyBhcmcxUGF5bG9hZCwgSWRlbnRpZmllciogaWRlbnRpZmllcikKKyAg
ICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfREZHT3BlcmF0aW9uX0VDSSBvcGVy
YXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBHUFJSZWcgYXJn
MSwgSWRlbnRpZmllciogaWRlbnRpZmllcikKICAgICB7Ci0gICAgICAgIHJldHVybiBjYWxsT3Bl
cmF0aW9uKChKX0RGR09wZXJhdGlvbl9FSlApb3BlcmF0aW9uLCByZXN1bHRUYWcsIHJlc3VsdFBh
eWxvYWQsIGFyZzFUYWcsIGFyZzFQYXlsb2FkLCBpZGVudGlmaWVyKTsKKyAgICAgICAgcmV0dXJu
IGNhbGxPcGVyYXRpb24oKEpfREZHT3BlcmF0aW9uX0VQUClvcGVyYXRpb24sIHJlc3VsdFRhZywg
cmVzdWx0UGF5bG9hZCwgYXJnMSwgaWRlbnRpZmllcik7CiAgICAgfQogICAgIEpJVENvbXBpbGVy
OjpDYWxsIGNhbGxPcGVyYXRpb24oSl9ERkdPcGVyYXRpb25fRUpBIG9wZXJhdGlvbiwgR1BSUmVn
IHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIEdQUlJlZyBhcmcxVGFnLCBHUFJSZWcg
YXJnMVBheWxvYWQsIEdQUlJlZyBhcmcyKQogICAgIHsKQEAgLTEzNTgsMjAgKzEzNTgsMTkgQEAg
cHJvdGVjdGVkOgogCiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNr
U2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0VGFnLCByZXN1bHRQYXlsb2FkKTsKICAgICB9Ci0g
ICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0RGR09wZXJhdGlvbl9FSkpQIG9w
ZXJhdGlvbiwgR1BSUmVnIGFyZzFUYWcsIEdQUlJlZyBhcmcxUGF5bG9hZCwgR1BSUmVnIGFyZzJU
YWcsIEdQUlJlZyBhcmcyUGF5bG9hZCwgdm9pZCogcG9pbnRlcikKKyAgICBKSVRDb21waWxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKFZfREZHT3BlcmF0aW9uX0VKUFAgb3BlcmF0aW9uLCBHUFJSZWcg
YXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBHUFJSZWcgYXJnMiwgdm9pZCogcG9pbnRlcikK
ICAgICB7CiAgICAgICAgIG1faml0LnB1c2goSklUQ29tcGlsZXI6OlRydXN0ZWRJbW0zMihyZWlu
dGVycHJldF9jYXN0PGludD4ocG9pbnRlcikpKTsKLSAgICAgICAgbV9qaXQucHVzaChhcmcyVGFn
KTsKLSAgICAgICAgbV9qaXQucHVzaChhcmcyUGF5bG9hZCk7CisgICAgICAgIG1faml0LnB1c2go
YXJnMik7CiAgICAgICAgIG1faml0LnB1c2goYXJnMVRhZyk7CiAgICAgICAgIG1faml0LnB1c2go
YXJnMVBheWxvYWQpOwogICAgICAgICBtX2ppdC5wdXNoKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lz
dGVyKTsKIAogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVy
YXRpb24pOwogICAgIH0KLSAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfREZH
T3BlcmF0aW9uX0VKSkkgb3BlcmF0aW9uLCBHUFJSZWcgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXls
b2FkLCBHUFJSZWcgYXJnMlRhZywgR1BSUmVnIGFyZzJQYXlsb2FkLCBJZGVudGlmaWVyKiBpZGVu
dGlmaWVyKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9ERkdPcGVyYXRp
b25fRUpDSSBvcGVyYXRpb24sIEdQUlJlZyBhcmcxVGFnLCBHUFJSZWcgYXJnMVBheWxvYWQsIEdQ
UlJlZyBhcmcyLCBJZGVudGlmaWVyKiBpZGVudGlmaWVyKQogICAgIHsKLSAgICAgICAgcmV0dXJu
IGNhbGxPcGVyYXRpb24oKFZfREZHT3BlcmF0aW9uX0VKSlApb3BlcmF0aW9uLCBhcmcxVGFnLCBh
cmcxUGF5bG9hZCwgYXJnMlRhZywgYXJnMlBheWxvYWQsIGlkZW50aWZpZXIpOworICAgICAgICBy
ZXR1cm4gY2FsbE9wZXJhdGlvbigoVl9ERkdPcGVyYXRpb25fRUpQUClvcGVyYXRpb24sIGFyZzFU
YWcsIGFyZzFQYXlsb2FkLCBhcmcyLCBpZGVudGlmaWVyKTsKICAgICB9CiAgICAgSklUQ29tcGls
ZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0RGR09wZXJhdGlvbl9FQ0pKIG9wZXJhdGlvbiwgR1BS
UmVnIGFyZzEsIEdQUlJlZyBhcmcyVGFnLCBHUFJSZWcgYXJnMlBheWxvYWQsIEdQUlJlZyBhcmcz
VGFnLCBHUFJSZWcgYXJnM1BheWxvYWQpCiAgICAgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCShyZXZpc2lvbiA5NzA4NykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4
MywyNCArMjgzLDI0IEBAIEVuY29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9uR2UK
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVmFsdWUoYmFzZSkuZ2V0KGV4ZWMsIGlkZW50
KSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZChF
eGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBJZGVudGlmaWVyKiBw
cm9wZXJ0eU5hbWUpCitFbmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5
SWQoRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwqIGJhc2UsIElkZW50aWZpZXIqIHByb3BlcnR5TmFt
ZSkKIHsKLSAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFz
ZSk7CisgICAgSlNWYWx1ZSBiYXNlVmFsdWUoYmFzZSk7CiAgICAgUHJvcGVydHlTbG90IHNsb3Qo
YmFzZVZhbHVlKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGJhc2VWYWx1ZS5nZXQoZXhl
YywgKnByb3BlcnR5TmFtZSwgc2xvdCkpOwogfQogCiAjaWYgQ1BVKFg4Nl82NCkKLUVuY29kZWRK
U1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9uR2V0TWV0aG9kT3B0aW1pemVXaXRoUmV0dXJu
QWRkcmVzcyhFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgSWRlbnRpZmllciosIFJldHVybkFk
ZHJlc3NQdHIpOworRW5jb2RlZEpTVmFsdWUgREZHX09QRVJBVElPTiBvcGVyYXRpb25HZXRNZXRo
b2RPcHRpbWl6ZVdpdGhSZXR1cm5BZGRyZXNzKEV4ZWNTdGF0ZSosIEpTQ2VsbCosIElkZW50aWZp
ZXIqLCBSZXR1cm5BZGRyZXNzUHRyKTsKIEZVTkNUSU9OX1dSQVBQRVJfV0lUSF9BUkc0X1JFVFVS
Tl9BRERSRVNTKG9wZXJhdGlvbkdldE1ldGhvZE9wdGltaXplKTsKLUVuY29kZWRKU1ZhbHVlIERG
R19PUEVSQVRJT04gb3BlcmF0aW9uR2V0TWV0aG9kT3B0aW1pemVXaXRoUmV0dXJuQWRkcmVzcyhF
eGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBJZGVudGlmaWVyKiBw
cm9wZXJ0eU5hbWUsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykKK0VuY29kZWRKU1Zh
bHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9uR2V0TWV0aG9kT3B0aW1pemVXaXRoUmV0dXJuQWRk
cmVzcyhFeGVjU3RhdGUqIGV4ZWMsIEpTQ2VsbCogYmFzZSwgSWRlbnRpZmllciogcHJvcGVydHlO
YW1lLCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MpCiAjZWxpZiBDUFUoWDg2KQotRW5j
b2RlZEpTVmFsdWUgREZHX09QRVJBVElPTiBvcGVyYXRpb25HZXRNZXRob2RPcHRpbWl6ZVdpdGhS
ZXR1cm5BZGRyZXNzKFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcywgRXhlY1N0YXRlKiBl
eGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgSWRlbnRpZmllciogcHJvcGVydHlOYW1l
KTsKK0VuY29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9uR2V0TWV0aG9kT3B0aW1p
emVXaXRoUmV0dXJuQWRkcmVzcyhSZXR1cm5BZGRyZXNzUHRyLCBFeGVjU3RhdGUqLCBKU0NlbGwq
LCBJZGVudGlmaWVyKik7CiBGVU5DVElPTl9XUkFQUEVSX1dJVEhfQVJHNF9SRVRVUk5fQUREUkVT
UyhvcGVyYXRpb25HZXRNZXRob2RPcHRpbWl6ZSk7Ci1FbmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFU
SU9OIG9wZXJhdGlvbkdldE1ldGhvZE9wdGltaXplV2l0aFJldHVybkFkZHJlc3MoUmV0dXJuQWRk
cmVzc1B0ciByZXR1cm5BZGRyZXNzLCBFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRCYXNlLCBJZGVudGlmaWVyKiBwcm9wZXJ0eU5hbWUpCitFbmNvZGVkSlNWYWx1ZSBERkdf
T1BFUkFUSU9OIG9wZXJhdGlvbkdldE1ldGhvZE9wdGltaXplV2l0aFJldHVybkFkZHJlc3MoUmV0
dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzLCBFeGVjU3RhdGUqIGV4ZWMsIEpTQ2VsbCogYmFz
ZSwgSWRlbnRpZmllciogcHJvcGVydHlOYW1lKQogI2VuZGlmCiB7Ci0gICAgSlNWYWx1ZSBiYXNl
VmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpOworICAgIEpTVmFsdWUgYmFzZVZh
bHVlKGJhc2UpOwogICAgIFByb3BlcnR5U2xvdCBzbG90KGJhc2VWYWx1ZSk7CiAgICAgSlNWYWx1
ZSByZXN1bHQgPSBiYXNlVmFsdWUuZ2V0KGV4ZWMsICpwcm9wZXJ0eU5hbWUsIHNsb3QpOwogCkBA
IC0zMTQsMTYgKzMxNCwxNiBAQCBFbmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OIG9wZXJhdGlv
bkdlCiB9CiAKICNpZiBDUFUoWDg2XzY0KQotRW5jb2RlZEpTVmFsdWUgREZHX09QRVJBVElPTiBv
cGVyYXRpb25HZXRCeUlkQnVpbGRMaXN0V2l0aFJldHVybkFkZHJlc3MoRXhlY1N0YXRlKiwgRW5j
b2RlZEpTVmFsdWUsIElkZW50aWZpZXIqLCBSZXR1cm5BZGRyZXNzUHRyKTsKK0VuY29kZWRKU1Zh
bHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZEJ1aWxkTGlzdFdpdGhSZXR1cm5BZGRy
ZXNzKEV4ZWNTdGF0ZSosIEpTQ2VsbCosIElkZW50aWZpZXIqLCBSZXR1cm5BZGRyZXNzUHRyKTsK
IEZVTkNUSU9OX1dSQVBQRVJfV0lUSF9BUkc0X1JFVFVSTl9BRERSRVNTKG9wZXJhdGlvbkdldEJ5
SWRCdWlsZExpc3QpOwotRW5jb2RlZEpTVmFsdWUgREZHX09QRVJBVElPTiBvcGVyYXRpb25HZXRC
eUlkQnVpbGRMaXN0V2l0aFJldHVybkFkZHJlc3MoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkQmFzZSwgSWRlbnRpZmllciogcHJvcGVydHlOYW1lLCBSZXR1cm5BZGRyZXNz
UHRyIHJldHVybkFkZHJlc3MpCitFbmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OIG9wZXJhdGlv
bkdldEJ5SWRCdWlsZExpc3RXaXRoUmV0dXJuQWRkcmVzcyhFeGVjU3RhdGUqIGV4ZWMsIEpTQ2Vs
bCogYmFzZSwgSWRlbnRpZmllciogcHJvcGVydHlOYW1lLCBSZXR1cm5BZGRyZXNzUHRyIHJldHVy
bkFkZHJlc3MpCiAjZWxpZiBDUFUoWDg2KQotRW5jb2RlZEpTVmFsdWUgREZHX09QRVJBVElPTiBv
cGVyYXRpb25HZXRCeUlkQnVpbGRMaXN0V2l0aFJldHVybkFkZHJlc3MoUmV0dXJuQWRkcmVzc1B0
ciByZXR1cm5BZGRyZXNzLCBFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRC
YXNlLCBJZGVudGlmaWVyKiBwcm9wZXJ0eU5hbWUpOworRW5jb2RlZEpTVmFsdWUgREZHX09QRVJB
VElPTiBvcGVyYXRpb25HZXRCeUlkQnVpbGRMaXN0V2l0aFJldHVybkFkZHJlc3MoUmV0dXJuQWRk
cmVzc1B0ciwgRXhlY1N0YXRlKiwgSlNDZWxsKiwgSWRlbnRpZmllciopOwogRlVOQ1RJT05fV1JB
UFBFUl9XSVRIX0FSRzRfUkVUVVJOX0FERFJFU1Mob3BlcmF0aW9uR2V0QnlJZEJ1aWxkTGlzdCk7
Ci1FbmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRCdWlsZExpc3RX
aXRoUmV0dXJuQWRkcmVzcyhSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MsIEV4ZWNTdGF0
ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIElkZW50aWZpZXIqIHByb3BlcnR5
TmFtZSkKK0VuY29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZEJ1aWxk
TGlzdFdpdGhSZXR1cm5BZGRyZXNzKFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcywgRXhl
Y1N0YXRlKiBleGVjLCBKU0NlbGwqIGJhc2UsIElkZW50aWZpZXIqIHByb3BlcnR5TmFtZSkKICNl
bmRpZgogewotICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRC
YXNlKTsKKyAgICBKU1ZhbHVlIGJhc2VWYWx1ZShiYXNlKTsKICAgICBQcm9wZXJ0eVNsb3Qgc2xv
dChiYXNlVmFsdWUpOwogICAgIEpTVmFsdWUgcmVzdWx0ID0gYmFzZVZhbHVlLmdldChleGVjLCAq
cHJvcGVydHlOYW1lLCBzbG90KTsKIApAQCAtMzM0LDE2ICszMzQsMTYgQEAgRW5jb2RlZEpTVmFs
dWUgREZHX09QRVJBVElPTiBvcGVyYXRpb25HZQogfQogCiAjaWYgQ1BVKFg4Nl82NCkKLUVuY29k
ZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZFByb3RvQnVpbGRMaXN0V2l0
aFJldHVybkFkZHJlc3MoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIElkZW50aWZpZXIqLCBS
ZXR1cm5BZGRyZXNzUHRyKTsKK0VuY29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9u
R2V0QnlJZFByb3RvQnVpbGRMaXN0V2l0aFJldHVybkFkZHJlc3MoRXhlY1N0YXRlKiwgSlNDZWxs
KiwgSWRlbnRpZmllciosIFJldHVybkFkZHJlc3NQdHIpOwogRlVOQ1RJT05fV1JBUFBFUl9XSVRI
X0FSRzRfUkVUVVJOX0FERFJFU1Mob3BlcmF0aW9uR2V0QnlJZFByb3RvQnVpbGRMaXN0KTsKLUVu
Y29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZFByb3RvQnVpbGRMaXN0
V2l0aFJldHVybkFkZHJlc3MoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
QmFzZSwgSWRlbnRpZmllciogcHJvcGVydHlOYW1lLCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFk
ZHJlc3MpCitFbmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRQcm90
b0J1aWxkTGlzdFdpdGhSZXR1cm5BZGRyZXNzKEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBiYXNl
LCBJZGVudGlmaWVyKiBwcm9wZXJ0eU5hbWUsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVz
cykKICNlbGlmIENQVShYODYpCi1FbmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OIG9wZXJhdGlv
bkdldEJ5SWRQcm90b0J1aWxkTGlzdFdpdGhSZXR1cm5BZGRyZXNzKFJldHVybkFkZHJlc3NQdHIg
cmV0dXJuQWRkcmVzcywgRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFz
ZSwgSWRlbnRpZmllciogcHJvcGVydHlOYW1lKTsKK0VuY29kZWRKU1ZhbHVlIERGR19PUEVSQVRJ
T04gb3BlcmF0aW9uR2V0QnlJZFByb3RvQnVpbGRMaXN0V2l0aFJldHVybkFkZHJlc3MoUmV0dXJu
QWRkcmVzc1B0ciwgRXhlY1N0YXRlKiwgSlNDZWxsKiwgSWRlbnRpZmllciopOwogRlVOQ1RJT05f
V1JBUFBFUl9XSVRIX0FSRzRfUkVUVVJOX0FERFJFU1Mob3BlcmF0aW9uR2V0QnlJZFByb3RvQnVp
bGRMaXN0KTsKLUVuY29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZFBy
b3RvQnVpbGRMaXN0V2l0aFJldHVybkFkZHJlc3MoUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRy
ZXNzLCBFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBJZGVudGlm
aWVyKiBwcm9wZXJ0eU5hbWUpCitFbmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OIG9wZXJhdGlv
bkdldEJ5SWRQcm90b0J1aWxkTGlzdFdpdGhSZXR1cm5BZGRyZXNzKFJldHVybkFkZHJlc3NQdHIg
cmV0dXJuQWRkcmVzcywgRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwqIGJhc2UsIElkZW50aWZpZXIq
IHByb3BlcnR5TmFtZSkKICNlbmRpZgogewotICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1
ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKTsKKyAgICBKU1ZhbHVlIGJhc2VWYWx1ZShiYXNlKTsKICAg
ICBQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlVmFsdWUpOwogICAgIEpTVmFsdWUgcmVzdWx0ID0gYmFz
ZVZhbHVlLmdldChleGVjLCAqcHJvcGVydHlOYW1lLCBzbG90KTsKIApAQCAtMzU0LDE2ICszNTQs
MTYgQEAgRW5jb2RlZEpTVmFsdWUgREZHX09QRVJBVElPTiBvcGVyYXRpb25HZQogfQogCiAjaWYg
Q1BVKFg4Nl82NCkKLUVuY29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJ
ZE9wdGltaXplV2l0aFJldHVybkFkZHJlc3MoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIElk
ZW50aWZpZXIqLCBSZXR1cm5BZGRyZXNzUHRyKTsKK0VuY29kZWRKU1ZhbHVlIERGR19PUEVSQVRJ
T04gb3BlcmF0aW9uR2V0QnlJZE9wdGltaXplV2l0aFJldHVybkFkZHJlc3MoRXhlY1N0YXRlKiwg
SlNDZWxsKiwgSWRlbnRpZmllciosIFJldHVybkFkZHJlc3NQdHIpOwogRlVOQ1RJT05fV1JBUFBF
Ul9XSVRIX0FSRzRfUkVUVVJOX0FERFJFU1Mob3BlcmF0aW9uR2V0QnlJZE9wdGltaXplKTsKLUVu
Y29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZE9wdGltaXplV2l0aFJl
dHVybkFkZHJlc3MoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwg
SWRlbnRpZmllciogcHJvcGVydHlOYW1lLCBSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3Mp
CitFbmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRPcHRpbWl6ZVdp
dGhSZXR1cm5BZGRyZXNzKEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBiYXNlLCBJZGVudGlmaWVy
KiBwcm9wZXJ0eU5hbWUsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykKICNlbGlmIENQ
VShYODYpCi1FbmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRPcHRp
bWl6ZVdpdGhSZXR1cm5BZGRyZXNzKFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcywgRXhl
Y1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgSWRlbnRpZmllciogcHJv
cGVydHlOYW1lKTsKK0VuY29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJ
ZE9wdGltaXplV2l0aFJldHVybkFkZHJlc3MoUmV0dXJuQWRkcmVzc1B0ciwgRXhlY1N0YXRlKiwg
SlNDZWxsKiwgSWRlbnRpZmllciopOwogRlVOQ1RJT05fV1JBUFBFUl9XSVRIX0FSRzRfUkVUVVJO
X0FERFJFU1Mob3BlcmF0aW9uR2V0QnlJZE9wdGltaXplKTsKLUVuY29kZWRKU1ZhbHVlIERGR19P
UEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZE9wdGltaXplV2l0aFJldHVybkFkZHJlc3MoUmV0dXJu
QWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzLCBFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRCYXNlLCBJZGVudGlmaWVyKiBwcm9wZXJ0eU5hbWUpCitFbmNvZGVkSlNWYWx1ZSBE
RkdfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRPcHRpbWl6ZVdpdGhSZXR1cm5BZGRyZXNzKFJl
dHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcywgRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwqIGJh
c2UsIElkZW50aWZpZXIqIHByb3BlcnR5TmFtZSkKICNlbmRpZgogewotICAgIEpTVmFsdWUgYmFz
ZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKTsKKyAgICBKU1ZhbHVlIGJhc2VW
YWx1ZShiYXNlKTsKICAgICBQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlVmFsdWUpOwogICAgIEpTVmFs
dWUgcmVzdWx0ID0gYmFzZVZhbHVlLmdldChleGVjLCAqcHJvcGVydHlOYW1lLCBzbG90KTsKIApA
QCAtNDE0LDExOCArNDE0LDExOCBAQCBFbmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OIG9wZXJh
dGlvbkFyCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShhcnJheS0+cG9wKCkpOwogfQogICAg
ICAgICAKLXZvaWQgREZHX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0KEV4ZWNTdGF0
ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkQmFzZSwgSWRlbnRpZmllciogcHJvcGVydHlOYW1lKQordm9pZCBERkdfT1BFUkFUSU9OIG9w
ZXJhdGlvblB1dEJ5SWRTdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUsIEpTQ2VsbCogYmFzZSwgSWRlbnRpZmllciogcHJvcGVydHlOYW1lKQogewogICAg
IFB1dFByb3BlcnR5U2xvdCBzbG90KHRydWUpOwotICAgIEpTVmFsdWU6OmRlY29kZShlbmNvZGVk
QmFzZSkucHV0KGV4ZWMsICpwcm9wZXJ0eU5hbWUsIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFs
dWUpLCBzbG90KTsKKyAgICBiYXNlLT5wdXQoZXhlYywgKnByb3BlcnR5TmFtZSwgSlNWYWx1ZTo6
ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwogfQogCi12b2lkIERGR19PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlJZE5vblN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIElkZW50aWZpZXIqIHByb3Bl
cnR5TmFtZSkKK3ZvaWQgREZHX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0KEV4
ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBKU0NlbGwqIGJhc2Us
IElkZW50aWZpZXIqIHByb3BlcnR5TmFtZSkKIHsKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChm
YWxzZSk7Ci0gICAgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKS5wdXQoZXhlYywgKnByb3Bl
cnR5TmFtZSwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOworICAgIGJhc2Ut
PnB1dChleGVjLCAqcHJvcGVydHlOYW1lLCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKSwg
c2xvdCk7CiB9CiAKLXZvaWQgREZHX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3Ry
aWN0KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkQmFzZSwgSWRlbnRpZmllciogcHJvcGVydHlOYW1lKQordm9pZCBERkdf
T1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEpTQ2VsbCogYmFzZSwgSWRlbnRpZmllciogcHJv
cGVydHlOYW1lKQogewogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KHRydWUpOwotICAgIEpTVmFs
dWU6OmRlY29kZShlbmNvZGVkQmFzZSkucHV0RGlyZWN0KGV4ZWMsICpwcm9wZXJ0eU5hbWUsIEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpLCBzbG90KTsKKyAgICBKU1ZhbHVlKGJhc2UpLnB1
dERpcmVjdChleGVjLCAqcHJvcGVydHlOYW1lLCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVl
KSwgc2xvdCk7CiB9CiAKLXZvaWQgREZHX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0
Tm9uU3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgSWRlbnRpZmllciogcHJvcGVydHlOYW1lKQordm9p
ZCBERkdfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3QoRXhlY1N0YXRl
KiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEpTQ2VsbCogYmFzZSwgSWRlbnRp
ZmllciogcHJvcGVydHlOYW1lKQogewogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KGZhbHNlKTsK
LSAgICBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLnB1dERpcmVjdChleGVjLCAqcHJvcGVy
dHlOYW1lLCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKSwgc2xvdCk7CisgICAgSlNWYWx1
ZShiYXNlKS5wdXREaXJlY3QoZXhlYywgKnByb3BlcnR5TmFtZSwgSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRWYWx1ZSksIHNsb3QpOwogfQogCiAjaWYgQ1BVKFg4Nl82NCkKLXZvaWQgREZHX09QRVJB
VElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0T3B0aW1pemVXaXRoUmV0dXJuQWRkcmVzcyhFeGVj
U3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIElkZW50aWZpZXIqLCBSZXR1
cm5BZGRyZXNzUHRyKTsKK3ZvaWQgREZHX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0
T3B0aW1pemVXaXRoUmV0dXJuQWRkcmVzcyhFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgSlND
ZWxsKiwgSWRlbnRpZmllciosIFJldHVybkFkZHJlc3NQdHIpOwogRlVOQ1RJT05fV1JBUFBFUl9X
SVRIX0FSRzVfUkVUVVJOX0FERFJFU1Mob3BlcmF0aW9uUHV0QnlJZFN0cmljdE9wdGltaXplKTsK
LXZvaWQgREZHX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0T3B0aW1pemVXaXRoUmV0
dXJuQWRkcmVzcyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIElkZW50aWZpZXIqIHByb3BlcnR5TmFtZSwgUmV0
dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzKQordm9pZCBERkdfT1BFUkFUSU9OIG9wZXJhdGlv
blB1dEJ5SWRTdHJpY3RPcHRpbWl6ZVdpdGhSZXR1cm5BZGRyZXNzKEV4ZWNTdGF0ZSogZXhlYywg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBKU0NlbGwqIGJhc2UsIElkZW50aWZpZXIqIHBy
b3BlcnR5TmFtZSwgUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzKQogI2VsaWYgQ1BVKFg4
NikKLXZvaWQgREZHX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0T3B0aW1pemVXaXRo
UmV0dXJuQWRkcmVzcyhSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MsIEV4ZWNTdGF0ZSog
ZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
QmFzZSwgSWRlbnRpZmllciogcHJvcGVydHlOYW1lKTsKK3ZvaWQgREZHX09QRVJBVElPTiBvcGVy
YXRpb25QdXRCeUlkU3RyaWN0T3B0aW1pemVXaXRoUmV0dXJuQWRkcmVzcyhSZXR1cm5BZGRyZXNz
UHRyLCBFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgSlNDZWxsKiwgSWRlbnRpZmllciopOwog
RlVOQ1RJT05fV1JBUFBFUl9XSVRIX0FSRzVfUkVUVVJOX0FERFJFU1Mob3BlcmF0aW9uUHV0QnlJ
ZFN0cmljdE9wdGltaXplKTsKLXZvaWQgREZHX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3Ry
aWN0T3B0aW1pemVXaXRoUmV0dXJuQWRkcmVzcyhSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJl
c3MsIEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkQmFzZSwgSWRlbnRpZmllciogcHJvcGVydHlOYW1lKQordm9pZCBERkdf
T1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RPcHRpbWl6ZVdpdGhSZXR1cm5BZGRyZXNz
KFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcywgRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEpTQ2VsbCogYmFzZSwgSWRlbnRpZmllciogcHJvcGVydHlO
YW1lKQogI2VuZGlmCiB7CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNv
ZGVkVmFsdWUpOwotICAgIEpTVmFsdWUgYmFzZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFz
ZSk7CisgICAgSlNWYWx1ZSBiYXNlVmFsdWUoYmFzZSk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNs
b3QodHJ1ZSk7CiAgICAgCi0gICAgYmFzZS5wdXQoZXhlYywgKnByb3BlcnR5TmFtZSwgdmFsdWUs
IHNsb3QpOworICAgIGJhc2VWYWx1ZS5wdXQoZXhlYywgKnByb3BlcnR5TmFtZSwgdmFsdWUsIHNs
b3QpOwogICAgIAogICAgIFN0cnVjdHVyZVN0dWJJbmZvJiBzdHViSW5mbyA9IGV4ZWMtPmNvZGVC
bG9jaygpLT5nZXRTdHViSW5mbyhyZXR1cm5BZGRyZXNzKTsKICAgICBpZiAoc3R1YkluZm8uc2Vl
bikKLSAgICAgICAgZGZnUmVwYXRjaFB1dEJ5SUQoZXhlYywgYmFzZSwgKnByb3BlcnR5TmFtZSwg
c2xvdCwgc3R1YkluZm8sIE5vdERpcmVjdCk7CisgICAgICAgIGRmZ1JlcGF0Y2hQdXRCeUlEKGV4
ZWMsIGJhc2VWYWx1ZSwgKnByb3BlcnR5TmFtZSwgc2xvdCwgc3R1YkluZm8sIE5vdERpcmVjdCk7
CiAgICAgZWxzZQogICAgICAgICBzdHViSW5mby5zZWVuID0gdHJ1ZTsKIH0KIAogI2lmIENQVShY
ODZfNjQpCi12b2lkIERGR19PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdE9wdGlt
aXplV2l0aFJldHVybkFkZHJlc3MoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRK
U1ZhbHVlLCBJZGVudGlmaWVyKiwgUmV0dXJuQWRkcmVzc1B0cik7Cit2b2lkIERGR19PUEVSQVRJ
T04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdE9wdGltaXplV2l0aFJldHVybkFkZHJlc3MoRXhl
Y1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEpTQ2VsbCosIElkZW50aWZpZXIqLCBSZXR1cm5BZGRy
ZXNzUHRyKTsKIEZVTkNUSU9OX1dSQVBQRVJfV0lUSF9BUkc1X1JFVFVSTl9BRERSRVNTKG9wZXJh
dGlvblB1dEJ5SWROb25TdHJpY3RPcHRpbWl6ZSk7Ci12b2lkIERGR19PUEVSQVRJT04gb3BlcmF0
aW9uUHV0QnlJZE5vblN0cmljdE9wdGltaXplV2l0aFJldHVybkFkZHJlc3MoRXhlY1N0YXRlKiBl
eGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRC
YXNlLCBJZGVudGlmaWVyKiBwcm9wZXJ0eU5hbWUsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRk
cmVzcykKK3ZvaWQgREZHX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0T3B0aW1p
emVXaXRoUmV0dXJuQWRkcmVzcyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgSlNDZWxsKiBiYXNlLCBJZGVudGlmaWVyKiBwcm9wZXJ0eU5hbWUsIFJldHVybkFk
ZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykKICNlbGlmIENQVShYODYpCi12b2lkIERGR19PUEVSQVRJ
T04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdE9wdGltaXplV2l0aFJldHVybkFkZHJlc3MoUmV0
dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzLCBFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIElkZW50aWZpZXIq
IHByb3BlcnR5TmFtZSk7Cit2b2lkIERGR19PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0
cmljdE9wdGltaXplV2l0aFJldHVybkFkZHJlc3MoUmV0dXJuQWRkcmVzc1B0ciwgRXhlY1N0YXRl
KiwgRW5jb2RlZEpTVmFsdWUsIEpTQ2VsbCosIElkZW50aWZpZXIqKTsKIEZVTkNUSU9OX1dSQVBQ
RVJfV0lUSF9BUkc1X1JFVFVSTl9BRERSRVNTKG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RPcHRp
bWl6ZSk7Ci12b2lkIERGR19PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdE9wdGlt
aXplV2l0aFJldHVybkFkZHJlc3MoUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzLCBFeGVj
U3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZEJhc2UsIElkZW50aWZpZXIqIHByb3BlcnR5TmFtZSkKK3ZvaWQgREZHX09QRVJBVElP
TiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0T3B0aW1pemVXaXRoUmV0dXJuQWRkcmVzcyhSZXR1
cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MsIEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFZhbHVlLCBKU0NlbGwqIGJhc2UsIElkZW50aWZpZXIqIHByb3BlcnR5TmFtZSkK
ICNlbmRpZgogewogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZh
bHVlKTsKLSAgICBKU1ZhbHVlIGJhc2UgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpOwor
ICAgIEpTVmFsdWUgYmFzZVZhbHVlKGJhc2UpOwogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KGZh
bHNlKTsKICAgICAKLSAgICBiYXNlLnB1dChleGVjLCAqcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xv
dCk7CisgICAgYmFzZVZhbHVlLnB1dChleGVjLCAqcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7
CiAgICAgCiAgICAgU3RydWN0dXJlU3R1YkluZm8mIHN0dWJJbmZvID0gZXhlYy0+Y29kZUJsb2Nr
KCktPmdldFN0dWJJbmZvKHJldHVybkFkZHJlc3MpOwogICAgIGlmIChzdHViSW5mby5zZWVuKQot
ICAgICAgICBkZmdSZXBhdGNoUHV0QnlJRChleGVjLCBiYXNlLCAqcHJvcGVydHlOYW1lLCBzbG90
LCBzdHViSW5mbywgTm90RGlyZWN0KTsKKyAgICAgICAgZGZnUmVwYXRjaFB1dEJ5SUQoZXhlYywg
YmFzZVZhbHVlLCAqcHJvcGVydHlOYW1lLCBzbG90LCBzdHViSW5mbywgTm90RGlyZWN0KTsKICAg
ICBlbHNlCiAgICAgICAgIHN0dWJJbmZvLnNlZW4gPSB0cnVlOwogfQogCiAjaWYgQ1BVKFg4Nl82
NCkKLXZvaWQgREZHX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1p
emVXaXRoUmV0dXJuQWRkcmVzcyhFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUsIElkZW50aWZpZXIqLCBSZXR1cm5BZGRyZXNzUHRyKTsKK3ZvaWQgREZHX09QRVJBVElP
TiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemVXaXRoUmV0dXJuQWRkcmVzcyhF
eGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgSlNDZWxsKiwgSWRlbnRpZmllciosIFJldHVybkFk
ZHJlc3NQdHIpOwogRlVOQ1RJT05fV1JBUFBFUl9XSVRIX0FSRzVfUkVUVVJOX0FERFJFU1Mob3Bl
cmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdE9wdGltaXplKTsKLXZvaWQgREZHX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemVXaXRoUmV0dXJuQWRkcmVzcyhFeGVj
U3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZEJhc2UsIElkZW50aWZpZXIqIHByb3BlcnR5TmFtZSwgUmV0dXJuQWRkcmVzc1B0ciBy
ZXR1cm5BZGRyZXNzKQordm9pZCBERkdfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RT
dHJpY3RPcHRpbWl6ZVdpdGhSZXR1cm5BZGRyZXNzKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlLCBKU0NlbGwqIGJhc2UsIElkZW50aWZpZXIqIHByb3BlcnR5TmFt
ZSwgUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzKQogI2VsaWYgQ1BVKFg4NikKLXZvaWQg
REZHX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemVXaXRoUmV0
dXJuQWRkcmVzcyhSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3MsIEV4ZWNTdGF0ZSogZXhl
YywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFz
ZSwgSWRlbnRpZmllciogcHJvcGVydHlOYW1lKTsKK3ZvaWQgREZHX09QRVJBVElPTiBvcGVyYXRp
b25QdXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemVXaXRoUmV0dXJuQWRkcmVzcyhSZXR1cm5BZGRy
ZXNzUHRyLCBFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgSlNDZWxsKiwgSWRlbnRpZmllciop
OwogRlVOQ1RJT05fV1JBUFBFUl9XSVRIX0FSRzVfUkVUVVJOX0FERFJFU1Mob3BlcmF0aW9uUHV0
QnlJZERpcmVjdFN0cmljdE9wdGltaXplKTsKLXZvaWQgREZHX09QRVJBVElPTiBvcGVyYXRpb25Q
dXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemVXaXRoUmV0dXJuQWRkcmVzcyhSZXR1cm5BZGRyZXNz
UHRyIHJldHVybkFkZHJlc3MsIEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgSWRlbnRpZmllciogcHJvcGVydHlO
YW1lKQordm9pZCBERkdfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3RPcHRp
bWl6ZVdpdGhSZXR1cm5BZGRyZXNzKFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcywgRXhl
Y1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEpTQ2VsbCogYmFzZSwg
SWRlbnRpZmllciogcHJvcGVydHlOYW1lKQogI2VuZGlmCiB7CiAgICAgSlNWYWx1ZSB2YWx1ZSA9
IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwotICAgIEpTVmFsdWUgYmFzZSA9IEpTVmFs
dWU6OmRlY29kZShlbmNvZGVkQmFzZSk7CisgICAgSlNWYWx1ZSBiYXNlVmFsdWUoYmFzZSk7CiAg
ICAgUHV0UHJvcGVydHlTbG90IHNsb3QodHJ1ZSk7CiAgICAgCi0gICAgYmFzZS5wdXREaXJlY3Qo
ZXhlYywgKnByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpOworICAgIGJhc2VWYWx1ZS5wdXREaXJl
Y3QoZXhlYywgKnByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpOwogICAgIAogICAgIFN0cnVjdHVy
ZVN0dWJJbmZvJiBzdHViSW5mbyA9IGV4ZWMtPmNvZGVCbG9jaygpLT5nZXRTdHViSW5mbyhyZXR1
cm5BZGRyZXNzKTsKICAgICBpZiAoc3R1YkluZm8uc2VlbikKLSAgICAgICAgZGZnUmVwYXRjaFB1
dEJ5SUQoZXhlYywgYmFzZSwgKnByb3BlcnR5TmFtZSwgc2xvdCwgc3R1YkluZm8sIERpcmVjdCk7
CisgICAgICAgIGRmZ1JlcGF0Y2hQdXRCeUlEKGV4ZWMsIGJhc2VWYWx1ZSwgKnByb3BlcnR5TmFt
ZSwgc2xvdCwgc3R1YkluZm8sIERpcmVjdCk7CiAgICAgZWxzZQogICAgICAgICBzdHViSW5mby5z
ZWVuID0gdHJ1ZTsKIH0KIAogI2lmIENQVShYODZfNjQpCi12b2lkIERGR19PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdE9wdGltaXplV2l0aFJldHVybkFkZHJlc3MoRXhl
Y1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBJZGVudGlmaWVyKiwgUmV0
dXJuQWRkcmVzc1B0cik7Cit2b2lkIERGR19PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVj
dE5vblN0cmljdE9wdGltaXplV2l0aFJldHVybkFkZHJlc3MoRXhlY1N0YXRlKiwgRW5jb2RlZEpT
VmFsdWUsIEpTQ2VsbCosIElkZW50aWZpZXIqLCBSZXR1cm5BZGRyZXNzUHRyKTsKIEZVTkNUSU9O
X1dSQVBQRVJfV0lUSF9BUkc1X1JFVFVSTl9BRERSRVNTKG9wZXJhdGlvblB1dEJ5SWREaXJlY3RO
b25TdHJpY3RPcHRpbWl6ZSk7Ci12b2lkIERGR19PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERp
cmVjdE5vblN0cmljdE9wdGltaXplV2l0aFJldHVybkFkZHJlc3MoRXhlY1N0YXRlKiBleGVjLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBJ
ZGVudGlmaWVyKiBwcm9wZXJ0eU5hbWUsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykK
K3ZvaWQgREZHX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0T3B0aW1p
emVXaXRoUmV0dXJuQWRkcmVzcyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgSlNDZWxsKiBiYXNlLCBJZGVudGlmaWVyKiBwcm9wZXJ0eU5hbWUsIFJldHVybkFk
ZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykKICNlbGlmIENQVShYODYpCi12b2lkIERGR19PUEVSQVRJ
T04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdE9wdGltaXplV2l0aFJldHVybkFkZHJl
c3MoUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzLCBFeGVjU3RhdGUqIGV4ZWMsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIElkZW50
aWZpZXIqIHByb3BlcnR5TmFtZSk7Cit2b2lkIERGR19PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJ
ZERpcmVjdE5vblN0cmljdE9wdGltaXplV2l0aFJldHVybkFkZHJlc3MoUmV0dXJuQWRkcmVzc1B0
ciwgRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEpTQ2VsbCosIElkZW50aWZpZXIqKTsKIEZV
TkNUSU9OX1dSQVBQRVJfV0lUSF9BUkc1X1JFVFVSTl9BRERSRVNTKG9wZXJhdGlvblB1dEJ5SWRE
aXJlY3ROb25TdHJpY3RPcHRpbWl6ZSk7Ci12b2lkIERGR19PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlJZERpcmVjdE5vblN0cmljdE9wdGltaXplV2l0aFJldHVybkFkZHJlc3MoUmV0dXJuQWRkcmVz
c1B0ciByZXR1cm5BZGRyZXNzLCBFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIElkZW50aWZpZXIqIHByb3BlcnR5
TmFtZSkKK3ZvaWQgREZHX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0
T3B0aW1pemVXaXRoUmV0dXJuQWRkcmVzcyhSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJlc3Ms
IEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBKU0NlbGwqIGJh
c2UsIElkZW50aWZpZXIqIHByb3BlcnR5TmFtZSkKICNlbmRpZgogewogICAgIEpTVmFsdWUgdmFs
dWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKLSAgICBKU1ZhbHVlIGJhc2UgPSBK
U1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpOworICAgIEpTVmFsdWUgYmFzZVZhbHVlKGJhc2Up
OwogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KGZhbHNlKTsKICAgICAKLSAgICBiYXNlLnB1dERp
cmVjdChleGVjLCAqcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CisgICAgYmFzZVZhbHVlLnB1
dERpcmVjdChleGVjLCAqcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CiAgICAgCiAgICAgU3Ry
dWN0dXJlU3R1YkluZm8mIHN0dWJJbmZvID0gZXhlYy0+Y29kZUJsb2NrKCktPmdldFN0dWJJbmZv
KHJldHVybkFkZHJlc3MpOwogICAgIGlmIChzdHViSW5mby5zZWVuKQotICAgICAgICBkZmdSZXBh
dGNoUHV0QnlJRChleGVjLCBiYXNlLCAqcHJvcGVydHlOYW1lLCBzbG90LCBzdHViSW5mbywgRGly
ZWN0KTsKKyAgICAgICAgZGZnUmVwYXRjaFB1dEJ5SUQoZXhlYywgYmFzZVZhbHVlLCAqcHJvcGVy
dHlOYW1lLCBzbG90LCBzdHViSW5mbywgRGlyZWN0KTsKICAgICBlbHNlCiAgICAgICAgIHN0dWJJ
bmZvLnNlZW4gPSB0cnVlOwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdP
cGVyYXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdP
cGVyYXRpb25zLmgJKHJldmlzaW9uIDk3MDg3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdPcGVyYXRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTcyLDcgKzcyLDcgQEAgdHlwZWRl
ZiBFbmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OICgqSgogdHlwZWRlZiBFbmNvZGVkSlNWYWx1
ZSBERkdfT1BFUkFUSU9OICgqSl9ERkdPcGVyYXRpb25fRUpKKShFeGVjU3RhdGUqLCBFbmNvZGVk
SlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBERkdfT1BF
UkFUSU9OICgqSl9ERkdPcGVyYXRpb25fRUopKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlKTsK
IHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgREZHX09QRVJBVElPTiAoKkpfREZHT3BlcmF0aW9uX0VK
UCkoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIHZvaWQqKTsKLXR5cGVkZWYgRW5jb2RlZEpT
VmFsdWUgREZHX09QRVJBVElPTiAoKkpfREZHT3BlcmF0aW9uX0VKSSkoRXhlY1N0YXRlKiwgRW5j
b2RlZEpTVmFsdWUsIElkZW50aWZpZXIqKTsKK3R5cGVkZWYgRW5jb2RlZEpTVmFsdWUgREZHX09Q
RVJBVElPTiAoKkpfREZHT3BlcmF0aW9uX0VDSSkoRXhlY1N0YXRlKiwgSlNDZWxsKiwgSWRlbnRp
ZmllciopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OICgqSl9ERkdPcGVy
YXRpb25fRVApKEV4ZWNTdGF0ZSosIHZvaWQqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgREZH
X09QRVJBVElPTiAoKkpfREZHT3BlcmF0aW9uX0VQUCkoRXhlY1N0YXRlKiwgdm9pZCosIHZvaWQq
KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgREZHX09QRVJBVElPTiAoKkpfREZHT3BlcmF0aW9u
X0VHSSkoRXhlY1N0YXRlKiwgR2xvYmFsUmVzb2x2ZUluZm8qLCBJZGVudGlmaWVyKik7CkBAIC04
Myw4ICs4Myw4IEBAIHR5cGVkZWYgUmVnaXN0ZXJTaXplZEJvb2xlYW4gREZHX09QRVJBVEkKIHR5
cGVkZWYgUmVnaXN0ZXJTaXplZEJvb2xlYW4gREZHX09QRVJBVElPTiAoKkJfREZHT3BlcmF0aW9u
X0VKSikoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVk
ZWYgdm9pZCBERkdfT1BFUkFUSU9OICgqVl9ERkdPcGVyYXRpb25fRUpKSikoRXhlY1N0YXRlKiwg
RW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVm
IHZvaWQgREZHX09QRVJBVElPTiAoKlZfREZHT3BlcmF0aW9uX0VDSkopKEV4ZWNTdGF0ZSosIEpT
Q2VsbCosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSk7Ci10eXBlZGVmIHZvaWQgREZH
X09QRVJBVElPTiAoKlZfREZHT3BlcmF0aW9uX0VKSlApKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSwgdm9pZCopOwotdHlwZWRlZiB2b2lkIERGR19PUEVSQVRJT04g
KCpWX0RGR09wZXJhdGlvbl9FSkpJKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUsIElkZW50aWZpZXIqKTsKK3R5cGVkZWYgdm9pZCBERkdfT1BFUkFUSU9OICgqVl9E
RkdPcGVyYXRpb25fRUpQUCkoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1Zh
bHVlLCB2b2lkKik7Cit0eXBlZGVmIHZvaWQgREZHX09QRVJBVElPTiAoKlZfREZHT3BlcmF0aW9u
X0VKQ0kpKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBKU0NlbGwqLCBJZGVudGlmaWVyKik7
CiB0eXBlZGVmIHZvaWQgREZHX09QRVJBVElPTiAoKlZfREZHT3BlcmF0aW9uX0VQWkopKEV4ZWNT
dGF0ZSosIHZvaWQqLCBpbnQzMl90LCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIHZvaWQgREZH
X09QRVJBVElPTiAoKlZfREZHT3BlcmF0aW9uX0VBWkopKEV4ZWNTdGF0ZSosIEpTQXJyYXkqLCBp
bnQzMl90LCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIGRvdWJsZSAoKkRfREZHT3BlcmF0aW9u
X0REKShkb3VibGUsIGRvdWJsZSk7IC8vIFVzaW5nIGRlZmF1bHQgY2FsbGluZyBjb252ZW50aW9u
cyEKQEAgLTEwMywxMSArMTAzLDExIEBAIEVuY29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3Bl
cmF0aW9uQXIKIEVuY29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9uQXJpdGhNb2Qo
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMik7CiBF
bmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5VmFsKEV4ZWNTdGF0ZSos
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkUHJvcGVy
dHkpOwogRW5jb2RlZEpTVmFsdWUgREZHX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeVZhbENlbGwo
RXhlY1N0YXRlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFByb3BlcnR5KTsKLUVu
Y29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZChFeGVjU3RhdGUqLCBF
bmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgSWRlbnRpZmllciopOwotRW5jb2RlZEpTVmFsdWUg
REZHX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkQnVpbGRMaXN0KEV4ZWNTdGF0ZSosIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBJZGVudGlmaWVyKik7Ci1FbmNvZGVkSlNWYWx1ZSBERkdf
T1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRQcm90b0J1aWxkTGlzdChFeGVjU3RhdGUqLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgSWRlbnRpZmllciopOwotRW5jb2RlZEpTVmFsdWUgREZH
X09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkT3B0aW1pemUoRXhlY1N0YXRlKiwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZEJhc2UsIElkZW50aWZpZXIqKTsKLUVuY29kZWRKU1ZhbHVlIERGR19PUEVS
QVRJT04gb3BlcmF0aW9uR2V0TWV0aG9kT3B0aW1pemUoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZEJhc2UsIElkZW50aWZpZXIqKTsKK0VuY29kZWRKU1ZhbHVlIERGR19PUEVSQVRJ
T04gb3BlcmF0aW9uR2V0QnlJZChFeGVjU3RhdGUqLCBKU0NlbGwqLCBJZGVudGlmaWVyKik7CitF
bmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRCdWlsZExpc3QoRXhl
Y1N0YXRlKiwgSlNDZWxsKiwgSWRlbnRpZmllciopOworRW5jb2RlZEpTVmFsdWUgREZHX09QRVJB
VElPTiBvcGVyYXRpb25HZXRCeUlkUHJvdG9CdWlsZExpc3QoRXhlY1N0YXRlKiwgSlNDZWxsKiwg
SWRlbnRpZmllciopOworRW5jb2RlZEpTVmFsdWUgREZHX09QRVJBVElPTiBvcGVyYXRpb25HZXRC
eUlkT3B0aW1pemUoRXhlY1N0YXRlKiwgSlNDZWxsKiwgSWRlbnRpZmllciopOworRW5jb2RlZEpT
VmFsdWUgREZHX09QRVJBVElPTiBvcGVyYXRpb25HZXRNZXRob2RPcHRpbWl6ZShFeGVjU3RhdGUq
LCBKU0NlbGwqLCBJZGVudGlmaWVyKik7CiBFbmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OIG9w
ZXJhdGlvbkluc3RhbmNlT2YoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgdmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGJhc2UsIEVuY29kZWRKU1ZhbHVlIHByb3RvdHlwZSk7CiBFbmNvZGVkSlNWYWx1
ZSBERkdfT1BFUkFUSU9OIG9wZXJhdGlvblJlc29sdmUoRXhlY1N0YXRlKiwgSWRlbnRpZmllciop
OwogRW5jb2RlZEpTVmFsdWUgREZHX09QRVJBVElPTiBvcGVyYXRpb25SZXNvbHZlQmFzZShFeGVj
U3RhdGUqLCBJZGVudGlmaWVyKik7CkBAIC0xMjYsMTQgKzEyNiwxNCBAQCB2b2lkIERGR19PUEVS
QVRJT04gb3BlcmF0aW9uUHV0QnlWYWxDZWxsCiB2b2lkIERGR19PUEVSQVRJT04gb3BlcmF0aW9u
UHV0QnlWYWxCZXlvbmRBcnJheUJvdW5kcyhFeGVjU3RhdGUqLCBKU0FycmF5KiwgaW50MzJfdCBp
bmRleCwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKTsKIEVuY29kZWRKU1ZhbHVlIERGR19P
UEVSQVRJT04gb3BlcmF0aW9uQXJyYXlQdXNoKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSwgSlNBcnJheSopOwogRW5jb2RlZEpTVmFsdWUgREZHX09QRVJBVElPTiBvcGVy
YXRpb25BcnJheVBvcChFeGVjU3RhdGUqLCBKU0FycmF5Kik7Ci12b2lkIERGR19PUEVSQVRJT04g
b3BlcmF0aW9uUHV0QnlJZFN0cmljdChFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBJZGVudGlmaWVyKik7Ci12b2lkIERG
R19PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdChFeGVjU3RhdGUqLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBJZGVudGlm
aWVyKik7Ci12b2lkIERGR19PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdChF
eGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRCYXNlLCBJZGVudGlmaWVyKik7Ci12b2lkIERGR19PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlJZERpcmVjdE5vblN0cmljdChFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBJZGVudGlmaWVyKik7Ci12b2lkIERGR19P
UEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSosIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIElkZW50
aWZpZXIqKTsKLXZvaWQgREZHX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0T3B0
aW1pemUoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkQmFzZSwgSWRlbnRpZmllciopOwotdm9pZCBERkdfT1BFUkFUSU9OIG9wZXJh
dGlvblB1dEJ5SWREaXJlY3RTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBJZGVudGlmaWVyKik7
Ci12b2lkIERGR19PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdE9wdGlt
aXplKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZEJhc2UsIElkZW50aWZpZXIqKTsKK3ZvaWQgREZHX09QRVJBVElPTiBvcGVyYXRp
b25QdXRCeUlkU3RyaWN0KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwg
SlNDZWxsKiBiYXNlLCBJZGVudGlmaWVyKik7Cit2b2lkIERGR19PUEVSQVRJT04gb3BlcmF0aW9u
UHV0QnlJZE5vblN0cmljdChFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUs
IEpTQ2VsbCogYmFzZSwgSWRlbnRpZmllciopOwordm9pZCBERkdfT1BFUkFUSU9OIG9wZXJhdGlv
blB1dEJ5SWREaXJlY3RTdHJpY3QoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlLCBKU0NlbGwqIGJhc2UsIElkZW50aWZpZXIqKTsKK3ZvaWQgREZHX09QRVJBVElPTiBvcGVy
YXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSwgSlNDZWxsKiBiYXNlLCBJZGVudGlmaWVyKik7Cit2b2lkIERGR19PUEVSQVRJ
T04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRWYWx1ZSwgSlNDZWxsKiBiYXNlLCBJZGVudGlmaWVyKik7Cit2b2lkIERGR19P
UEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSosIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgSlNDZWxsKiBiYXNlLCBJZGVudGlmaWVyKik7Cit2
b2lkIERGR19PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdE9wdGltaXplKEV4
ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgSlNDZWxsKiBiYXNlLCBJZGVu
dGlmaWVyKik7Cit2b2lkIERGR19PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0
cmljdE9wdGltaXplKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgSlND
ZWxsKiBiYXNlLCBJZGVudGlmaWVyKik7CiBSZWdpc3RlclNpemVkQm9vbGVhbiBERkdfT1BFUkFU
SU9OIG9wZXJhdGlvbkNvbXBhcmVMZXNzKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIpOwogUmVnaXN0ZXJTaXplZEJvb2xlYW4g
REZHX09QRVJBVElPTiBvcGVyYXRpb25Db21wYXJlTGVzc0VxKEV4ZWNTdGF0ZSosIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIpOwogUmVnaXN0ZXJT
aXplZEJvb2xlYW4gREZHX09QRVJBVElPTiBvcGVyYXRpb25Db21wYXJlR3JlYXRlcihFeGVjU3Rh
dGUqLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3Ay
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUmVwYXRjaC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdSZXBhdGNoLmNwcAkocmV2aXNp
b24gOTcwODcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1JlcGF0Y2guY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00NzMsNyArNDczLDcgQEAgdm9pZCBkZmdCdWlsZEdldEJ5SURQcm90
b0xpc3QoRXhlY1N0YXRlKgogICAgICAgICBkZmdSZXBhdGNoQ2FsbChleGVjLT5jb2RlQmxvY2so
KSwgc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLCBvcGVyYXRpb25HZXRCeUlkKTsKIH0KIAot
c3RhdGljIFZfREZHT3BlcmF0aW9uX0VKSkkgYXBwcm9wcmlhdGVQdXRCeUlkRnVuY3Rpb24oY29u
c3QgUHV0UHJvcGVydHlTbG90ICZzbG90LCBQdXRLaW5kIHB1dEtpbmQpCitzdGF0aWMgVl9ERkdP
cGVyYXRpb25fRUpDSSBhcHByb3ByaWF0ZVB1dEJ5SWRGdW5jdGlvbihjb25zdCBQdXRQcm9wZXJ0
eVNsb3QgJnNsb3QsIFB1dEtpbmQgcHV0S2luZCkKIHsKICAgICBpZiAoc2xvdC5pc1N0cmljdE1v
ZGUoKSkgewogICAgICAgICBpZiAocHV0S2luZCA9PSBEaXJlY3QpCg==
</data>
<flag name="review"
          id="107933"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>