<?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>43522</bug_id>
          
          <creation_ts>2010-08-04 16:54:38 -0700</creation_ts>
          <short_desc>Change callback APIs to include an Error object in one callback, instead of having a second callback for failure.</short_desc>
          <delta_ts>2010-08-04 17:06:44 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>260277</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-08-04 16:54:38 -0700</bug_when>
    <thetext>Change callback APIs to include an Error object in one callback, instead of having a second callback for failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260280</commentid>
    <comment_count>1</comment_count>
      <attachid>63513</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-08-04 16:58:05 -0700</bug_when>
    <thetext>Created attachment 63513
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260281</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-04 17:02:19 -0700</bug_when>
    <thetext>Attachment 63513 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit2/UIProcess/API/C/WKAPICast.h:79:  More than one command on the same line  [whitespace/newline] [4]
WebKit2/UIProcess/API/C/WKError.cpp:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/UIProcess/API/C/WKError.cpp:29:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 3 in 13 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>260282</commentid>
    <comment_count>3</comment_count>
      <attachid>63513</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-08-04 17:04:26 -0700</bug_when>
    <thetext>Comment on attachment 63513
Patch

&gt; -
&gt; +        RefPtr&lt;WebError&gt; error = WebError::create();
&gt; +        m_callback(0, toRef(error.release().releaseRef()), m_context);

This would require the reciever of the callback to adopt the error, which I don&apos;t think is what we want.  Instead, this should just call error.get().

If you change this, r=me.  Also, what Ada said.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260283</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-08-04 17:06:44 -0700</bug_when>
    <thetext>Committed r64688: &lt;http://trac.webkit.org/changeset/64688&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63513</attachid>
            <date>2010-08-04 16:58:05 -0700</date>
            <delta_ts>2010-08-04 17:04:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43522-20100804165804.patch</filename>
            <type>text/plain</type>
            <size>23952</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NDY4NykKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDYgQEAKKzIwMTAtMDgtMDQgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENo
YW5nZSBjYWxsYmFjayBBUElzIHRvIGluY2x1ZGUgYW4gRXJyb3Igb2JqZWN0IGluIG9uZSBjYWxs
YmFjaywgaW5zdGVhZCBvZiBoYXZpbmcgYSBzZWNvbmQgY2FsbGJhY2sgZm9yIGZhaWx1cmUuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzUyMgorCisg
ICAgICAgIFRoaXMgaW5jbHVkZXMgYWRkaW5nIGEgV0tFcnJvclJlZiBvYmplY3Qgd2hpY2ggLSBm
b3Igbm93IC0gZWl0aGVyIGV4aXN0cyBvciBkb2Vzbid0LgorICAgICAgICBJbiB0aGUgZnV0dXJl
LCBpdCBtYXkgY29udGFpbiB1c2VmdWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGVycm9yLgorICAg
ICAgICAKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogd2luL1dlYktpdDIudmNwcm9qOgorICAgICAgICAKKyAgICAgICAgKiBTaGFyZWQvQVBJ
T2JqZWN0Lmg6CisgICAgICAgIChXZWJLaXQ6OkFQSU9iamVjdDo6KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0MvV0tBUElDYXN0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLQmFz
ZS5oOgorICAgICAgICAKKyAgICAgICAgKiBTaGFyZWQvV2ViRXJyb3IuaDogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OldlYkVycm9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJFcnJv
cjo6V2ViRXJyb3IpOgorICAgICAgICAoV2ViS2l0OjpXZWJFcnJvcjo6dHlwZSk6CisgICAgICAg
IAorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0Vycm9yLmNwcDogQWRkZWQuCisgICAgICAg
IChXS0Vycm9yR2V0VHlwZUlEKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tFcnJvci5o
OiBBZGRlZC4KKyAgICAgICAgCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHA6
CisgICAgICAgIChXS1BhZ2VSdW5KYXZhU2NyaXB0SW5NYWluRnJhbWUpOgorICAgICAgICAoY2Fs
bFJ1bkphdmFTY3JpcHRCbG9ja0FuZFJlbGVhc2UpOgorICAgICAgICAoV0tQYWdlUnVuSmF2YVNj
cmlwdEluTWFpbkZyYW1lX2IpOgorICAgICAgICAoV0tQYWdlUmVuZGVyVHJlZUV4dGVybmFsUmVw
cmVzZW50YXRpb24pOgorICAgICAgICAoY2FsbFJlbmRlclRyZWVFeHRlcm5hbFJlcHJlc2VudGF0
aW9uQmxvY2tBbmREaXNwb3NlKToKKyAgICAgICAgKFdLUGFnZVJlbmRlclRyZWVFeHRlcm5hbFJl
cHJlc2VudGF0aW9uX2IpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oOgorICAgICAgICAKKyAgICAg
ICAgKiBVSVByb2Nlc3MvR2VuZXJpY0NhbGxiYWNrLmg6CisgICAgICAgIChXZWJLaXQ6OkdlbmVy
aWNDYWxsYmFjazo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6R2VuZXJpY0NhbGxiYWNrOjpw
ZXJmb3JtQ2FsbGJhY2tXaXRoUmV0dXJuVmFsdWUpOgorICAgICAgICAoV2ViS2l0OjpHZW5lcmlj
Q2FsbGJhY2s6OmludmFsaWRhdGUpOgorICAgICAgICAoV2ViS2l0OjpHZW5lcmljQ2FsbGJhY2s6
OkdlbmVyaWNDYWxsYmFjayk6CisKIDIwMTAtMDgtMDQgIEFkYSBDaGFuICA8YWRhY2hhbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgV2luZG93cyBidWlsZCBmaXggICAgICAgIApJbmRleDogV2ViS2l0
Mi9TaGFyZWQvQVBJT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9TaGFyZWQvQVBJT2Jq
ZWN0LmgJKHJldmlzaW9uIDY0Njg3KQorKysgV2ViS2l0Mi9TaGFyZWQvQVBJT2JqZWN0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcgQEAgcHVibGljOgogICAgICAgICAvLyBCYXNlIHR5
cGVzCiAgICAgICAgIFR5cGVBcnJheSwKICAgICAgICAgVHlwZURhdGEsCisgICAgICAgIFR5cGVF
cnJvciwKICAgICAgICAgVHlwZVN0cmluZywKICAgICAgICAgVHlwZVVSTCwKICAgICAgICAgCklu
ZGV4OiBXZWJLaXQyL1NoYXJlZC9XZWJFcnJvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvU2hh
cmVkL1dlYkVycm9yLmgJKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL1NoYXJlZC9XZWJFcnJvci5o
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJF
cnJvcl9oCisjZGVmaW5lIFdlYkVycm9yX2gKKworI2luY2x1ZGUgIkFQSU9iamVjdC5oIgorCisj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKKy8vIFdl
YkVycm9yIC0gQW4gZXJyb3IgdHlwZSBzdWl0YWJsZSBmb3IgdmVuZGluZyB0byBhbiBBUEkuCisK
K2NsYXNzIFdlYkVycm9yIDogcHVibGljIEFQSU9iamVjdCB7CitwdWJsaWM6CisgICAgc3RhdGlj
IGNvbnN0IFR5cGUgQVBJVHlwZSA9IFR5cGVFcnJvcjsKKworICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFdlYkVycm9yPiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBX
ZWJFcnJvcik7CisgICAgfQorCitwcml2YXRlOgorICAgIFdlYkVycm9yKCkKKyAgICB7CisgICAg
fQorCisgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBBUElUeXBlOyB9Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFdlYkVycm9yX2gKSW5kZXg6
IFdlYktpdDIvVUlQcm9jZXNzL0dlbmVyaWNDYWxsYmFjay5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dDIvVUlQcm9jZXNzL0dlbmVyaWNDYWxsYmFjay5oCShyZXZpc2lvbiA2NDY4NykKKysrIFdlYktp
dDIvVUlQcm9jZXNzL0dlbmVyaWNDYWxsYmFjay5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsy
Nyw4IEBACiAjZGVmaW5lIEdlbmVyaWNDYWxsYmFja19oCiAKICNpbmNsdWRlICJXS0FQSUNhc3Qu
aCIKKworI2luY2x1ZGUgIldlYkVycm9yLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4K
ICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCkBAIC0zNSwxMiArMzcsMTEgQEAgbmFtZXNw
YWNlIFdlYktpdCB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBBUElSZXR1cm5WYWx1ZVR5cGUsIHR5cGVu
YW1lIEludGVybmFsUmV0dXJuVmFsdWVUeXBlID0gdHlwZW5hbWUgQVBJVHlwZUluZm88QVBJUmV0
dXJuVmFsdWVUeXBlPjo6SW1wbFR5cGU+CiBjbGFzcyBHZW5lcmljQ2FsbGJhY2sgOiBwdWJsaWMg
UmVmQ291bnRlZDxHZW5lcmljQ2FsbGJhY2s8QVBJUmV0dXJuVmFsdWVUeXBlLCBJbnRlcm5hbFJl
dHVyblZhbHVlVHlwZT4gPiB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiB2b2lkICgqQ2FsbGJhY2tG
dW5jdGlvbikoQVBJUmV0dXJuVmFsdWVUeXBlLCB2b2lkKik7Ci0gICAgdHlwZWRlZiB2b2lkICgq
Q2FsbGJhY2tEaXNwb3NlRnVuY3Rpb24pKHZvaWQqKTsKKyAgICB0eXBlZGVmIHZvaWQgKCpDYWxs
YmFja0Z1bmN0aW9uKShBUElSZXR1cm5WYWx1ZVR5cGUsIFdLRXJyb3JSZWYsIHZvaWQqKTsKIAot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEdlbmVyaWNDYWxsYmFjaz4gY3JlYXRlKHZvaWQqIGNvbnRl
eHQsIENhbGxiYWNrRnVuY3Rpb24gY2FsbGJhY2ssIENhbGxiYWNrRGlzcG9zZUZ1bmN0aW9uIGRp
c3Bvc2VDYWxsYmFjaykKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxHZW5lcmljQ2FsbGJhY2s+IGNy
ZWF0ZSh2b2lkKiBjb250ZXh0LCBDYWxsYmFja0Z1bmN0aW9uIGNhbGxiYWNrKQogICAgIHsKLSAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBHZW5lcmljQ2FsbGJhY2soY29udGV4dCwgY2FsbGJh
Y2ssIGRpc3Bvc2VDYWxsYmFjaykpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEdlbmVy
aWNDYWxsYmFjayhjb250ZXh0LCBjYWxsYmFjaykpOwogICAgIH0KIAogICAgIH5HZW5lcmljQ2Fs
bGJhY2soKQpAQCAtNTIsMjAgKzUzLDE5IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIEFTU0VS
VChtX2NhbGxiYWNrKTsKIAotICAgICAgICBtX2NhbGxiYWNrKHRvUmVmKHJldHVyblZhbHVlKSwg
bV9jb250ZXh0KTsKKyAgICAgICAgbV9jYWxsYmFjayh0b1JlZihyZXR1cm5WYWx1ZSksIDAsIG1f
Y29udGV4dCk7CiAKICAgICAgICAgbV9jYWxsYmFjayA9IDA7Ci0gICAgICAgIG1fZGlzcG9zZUNh
bGxiYWNrID0gMDsKICAgICB9CiAgICAgCiAgICAgdm9pZCBpbnZhbGlkYXRlKCkKICAgICB7CiAg
ICAgICAgIEFTU0VSVChtX2NhbGxiYWNrKTsKIAotICAgICAgICBtX2Rpc3Bvc2VDYWxsYmFjayht
X2NvbnRleHQpOwotCisgICAgICAgIFJlZlB0cjxXZWJFcnJvcj4gZXJyb3IgPSBXZWJFcnJvcjo6
Y3JlYXRlKCk7CisgICAgICAgIG1fY2FsbGJhY2soMCwgdG9SZWYoZXJyb3IucmVsZWFzZSgpLnJl
bGVhc2VSZWYoKSksIG1fY29udGV4dCk7CisgICAgICAgIAogICAgICAgICBtX2NhbGxiYWNrID0g
MDsKLSAgICAgICAgbV9kaXNwb3NlQ2FsbGJhY2sgPSAwOwogICAgIH0KIAogICAgIHVpbnQ2NF90
IGNhbGxiYWNrSUQoKSBjb25zdCB7IHJldHVybiBtX2NhbGxiYWNrSUQ7IH0KQEAgLTc3LDE3ICs3
NywxNSBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gdW5pcXVlQ2FsbGJhY2tJRCsrOwogICAg
IH0KIAotICAgIEdlbmVyaWNDYWxsYmFjayh2b2lkKiBjb250ZXh0LCBDYWxsYmFja0Z1bmN0aW9u
IGNhbGxiYWNrLCBDYWxsYmFja0Rpc3Bvc2VGdW5jdGlvbiBkaXNwb3NlQ2FsbGJhY2spCisgICAg
R2VuZXJpY0NhbGxiYWNrKHZvaWQqIGNvbnRleHQsIENhbGxiYWNrRnVuY3Rpb24gY2FsbGJhY2sp
CiAgICAgICAgIDogbV9jb250ZXh0KGNvbnRleHQpCiAgICAgICAgICwgbV9jYWxsYmFjayhjYWxs
YmFjaykKLSAgICAgICAgLCBtX2Rpc3Bvc2VDYWxsYmFjayhkaXNwb3NlQ2FsbGJhY2spCiAgICAg
ICAgICwgbV9jYWxsYmFja0lEKGdlbmVyYXRlQ2FsbGJhY2tJRCgpKQogICAgIHsKICAgICB9CiAK
ICAgICB2b2lkKiBtX2NvbnRleHQ7CiAgICAgQ2FsbGJhY2tGdW5jdGlvbiBtX2NhbGxiYWNrOwot
ICAgIENhbGxiYWNrRGlzcG9zZUZ1bmN0aW9uIG1fZGlzcG9zZUNhbGxiYWNrOwogICAgIHVpbnQ2
NF90IG1fY2FsbGJhY2tJRDsKIH07CiAKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
QVBJQ2FzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2Fz
dC5oCShyZXZpc2lvbiA2NDY4NykKKysrIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2Fz
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3IEBAIGNsYXNzIFdlYkJhY2tGb3J3YXJk
TGlzdDsKIGNsYXNzIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW07CiBjbGFzcyBXZWJDb250ZXh0Owog
Y2xhc3MgV2ViRGF0YTsKK2NsYXNzIFdlYkVycm9yOwogY2xhc3MgV2ViRnJhbWVQb2xpY3lMaXN0
ZW5lclByb3h5OwogY2xhc3MgV2ViRnJhbWVQcm94eTsKIGNsYXNzIFdlYk5hdmlnYXRpb25EYXRh
OwpAQCAtNzUsNiArNzYsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBJbXBsVHlwZUluZm88V2ViQmFj
a0ZvCiB0ZW1wbGF0ZTw+IHN0cnVjdCBJbXBsVHlwZUluZm88V2ViQmFja0ZvcndhcmRMaXN0SXRl
bSo+ICAgICAgICAgeyB0eXBlZGVmIFdLQmFja0ZvcndhcmRMaXN0SXRlbVJlZiBBUElUeXBlOyB9
OwogdGVtcGxhdGU8PiBzdHJ1Y3QgSW1wbFR5cGVJbmZvPFdlYkNvbnRleHQqPiAgICAgICAgICAg
ICAgICAgICAgIHsgdHlwZWRlZiBXS0NvbnRleHRSZWYgQVBJVHlwZTsgfTsKIHRlbXBsYXRlPD4g
c3RydWN0IEltcGxUeXBlSW5mbzxXZWJEYXRhKj4gICAgICAgICAgICAgICAgICAgICAgICB7IHR5
cGVkZWYgV0tEYXRhUmVmIEFQSVR5cGU7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBJbXBsVHlwZUlu
Zm88V2ViRXJyb3IqPiAgICAgICAgICAgICAgICAgICAgICAgeyB0eXBlZGVmIFdLRXJyb3JSZWYg
QVBJVHlwZTsgfTsKIHRlbXBsYXRlPD4gc3RydWN0IEltcGxUeXBlSW5mbzxXZWJGcmFtZVBvbGlj
eUxpc3RlbmVyUHJveHkqPiAgICB7IHR5cGVkZWYgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmIEFQ
SVR5cGU7IH07CiB0ZW1wbGF0ZTw+IHN0cnVjdCBJbXBsVHlwZUluZm88V2ViRnJhbWVQcm94eSo+
ICAgICAgICAgICAgICAgICAgeyB0eXBlZGVmIFdLRnJhbWVSZWYgQVBJVHlwZTsgfTsKIHRlbXBs
YXRlPD4gc3RydWN0IEltcGxUeXBlSW5mbzxXZWJOYXZpZ2F0aW9uRGF0YSo+ICAgICAgICAgICAg
ICB7IHR5cGVkZWYgV0tOYXZpZ2F0aW9uRGF0YVJlZiBBUElUeXBlOyB9OwpJbmRleDogV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tCYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tCYXNlLmgJKHJldmlzaW9uIDY0Njg3KQorKysgV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tCYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDcgQEAgdHlwZWRlZiBz
dHJ1Y3QgT3BhcXVlV0tCYWNrRm9yd2FyZExpc3RJdAogdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlV0tC
YWNrRm9yd2FyZExpc3RSZWYqIFdLQmFja0ZvcndhcmRMaXN0UmVmOwogdHlwZWRlZiBzdHJ1Y3Qg
T3BhcXVlV0tDb250ZXh0KiBXS0NvbnRleHRSZWY7CiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVXS0Rh
dGEqIFdLRGF0YVJlZjsKK3R5cGVkZWYgc3RydWN0IE9wYXF1ZVdLRXJyb3IqIFdLRXJyb3JSZWY7
CiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVXS0ZyYW1lKiBXS0ZyYW1lUmVmOwogdHlwZWRlZiBzdHJ1
Y3QgT3BhcXVlV0tGcmFtZVBvbGljeUxpc3RlbmVyKiBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWY7
CiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVXS05hdmlnYXRpb25EYXRhUmVmKiBXS05hdmlnYXRpb25E
YXRhUmVmOwpJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tFcnJvci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tFcnJvci5jcHAJKHJldmlzaW9uIDAp
CisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Vycm9yLmNwcAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJXS0Vycm9yLmgiCisKKyNpbmNs
dWRlICJXZWJFcnJvci5oIgorI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgorCit1c2luZyBuYW1lc3Bh
Y2UgV2ViS2l0OworCitXS1R5cGVJRCBXS0Vycm9yR2V0VHlwZUlEKCkKK3sKKyAgICByZXR1cm4g
dG9SZWYoV2ViRXJyb3I6OkFQSVR5cGUpOworfQpJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tFcnJvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRXJy
b3IuaAkocmV2aXNpb24gMCkKKysrIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRXJyb3IuaAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV0tFcnJv
cl9oCisjZGVmaW5lIFdLRXJyb3JfaAorCisjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KKwor
I2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCitXS19FWFBPUlQgV0tU
eXBlSUQgV0tFcnJvckdldFR5cGVJRCgpOworCitXS19FWFBPUlQgV0tFcnJvclJlZiBXS0Vycm9y
UmV0YWluKFdLRXJyb3JSZWYgZXJyb3IpOworV0tfRVhQT1JUIHZvaWQgV0tFcnJvclJlbGVhc2Uo
V0tFcnJvclJlZiBlcnJvcik7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKK1dL
X0RFQ0xBUkVfUkVUQUlOX1JFTEVBU0VfT1ZFUkxPQURTKFdLRXJyb3IpCisKKyNlbmRpZiAvLyBX
S0Vycm9yX2gKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAkocmV2aXNpb24gNjQ2
ODcpCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xNjEsNTMgKzE2MSw0MSBAQCB2b2lkIFdLUGFnZVNldFBhZ2VVSUNsaWVudChXS1BhZ2VS
ZWYgcGFnCiAgICAgICAgIHRvV0socGFnZVJlZiktPmluaXRpYWxpemVVSUNsaWVudCh3a0NsaWVu
dCk7CiB9CiAKLXZvaWQgV0tQYWdlUnVuSmF2YVNjcmlwdEluTWFpbkZyYW1lKFdLUGFnZVJlZiBw
YWdlUmVmLCBXS1N0cmluZ1JlZiBzY3JpcHRSZWYsIHZvaWQqIGNvbnRleHQsIFdLUGFnZVJ1bkph
dmFTY3JpcHRGdW5jdGlvbiBjYWxsYmFjaywgV0tQYWdlUnVuSmF2YVNjcmlwdERpc3Bvc2VGdW5j
dGlvbiBkaXNwb3NlRnVuY3Rpb24pCit2b2lkIFdLUGFnZVJ1bkphdmFTY3JpcHRJbk1haW5GcmFt
ZShXS1BhZ2VSZWYgcGFnZVJlZiwgV0tTdHJpbmdSZWYgc2NyaXB0UmVmLCB2b2lkKiBjb250ZXh0
LCBXS1BhZ2VSdW5KYXZhU2NyaXB0RnVuY3Rpb24gY2FsbGJhY2spCiB7Ci0gICAgdG9XSyhwYWdl
UmVmKS0+cnVuSmF2YVNjcmlwdEluTWFpbkZyYW1lKHRvV0soc2NyaXB0UmVmKS0+c3RyaW5nKCks
IFNjcmlwdFJldHVyblZhbHVlQ2FsbGJhY2s6OmNyZWF0ZShjb250ZXh0LCBjYWxsYmFjaywgZGlz
cG9zZUZ1bmN0aW9uKSk7CisgICAgdG9XSyhwYWdlUmVmKS0+cnVuSmF2YVNjcmlwdEluTWFpbkZy
YW1lKHRvV0soc2NyaXB0UmVmKS0+c3RyaW5nKCksIFNjcmlwdFJldHVyblZhbHVlQ2FsbGJhY2s6
OmNyZWF0ZShjb250ZXh0LCBjYWxsYmFjaykpOwogfQogCiAjaWZkZWYgX19CTE9DS1NfXwotc3Rh
dGljIHZvaWQgY2FsbFJ1bkphdmFTY3JpcHRCbG9ja0FuZFJlbGVhc2UoV0tTdHJpbmdSZWYgcmVz
dWx0VmFsdWUsIHZvaWQqIGNvbnRleHQpCi17Ci0gICAgV0tQYWdlUnVuSmF2YVNjcmlwdEJsb2Nr
IGJsb2NrID0gKFdLUGFnZVJ1bkphdmFTY3JpcHRCbG9jayljb250ZXh0OwotICAgIGJsb2NrKHJl
c3VsdFZhbHVlKTsKLSAgICBCbG9ja19yZWxlYXNlKGJsb2NrKTsKLX0KLQotc3RhdGljIHZvaWQg
ZGlzcG9zZVJ1bkphdmFTY3JpcHRCbG9jayh2b2lkKiBjb250ZXh0KQorc3RhdGljIHZvaWQgY2Fs
bFJ1bkphdmFTY3JpcHRCbG9ja0FuZFJlbGVhc2UoV0tTdHJpbmdSZWYgcmVzdWx0VmFsdWUsIFdL
RXJyb3JSZWYgZXJyb3IsIHZvaWQqIGNvbnRleHQpCiB7CiAgICAgV0tQYWdlUnVuSmF2YVNjcmlw
dEJsb2NrIGJsb2NrID0gKFdLUGFnZVJ1bkphdmFTY3JpcHRCbG9jayljb250ZXh0OworICAgIGJs
b2NrKHJlc3VsdFZhbHVlLCBlcnJvcik7CiAgICAgQmxvY2tfcmVsZWFzZShibG9jayk7CiB9CiAK
IHZvaWQgV0tQYWdlUnVuSmF2YVNjcmlwdEluTWFpbkZyYW1lX2IoV0tQYWdlUmVmIHBhZ2VSZWYs
IFdLU3RyaW5nUmVmIHNjcmlwdFJlZiwgV0tQYWdlUnVuSmF2YVNjcmlwdEJsb2NrIGJsb2NrKQog
ewotICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRJbk1haW5GcmFtZShwYWdlUmVmLCBzY3JpcHRSZWYs
IEJsb2NrX2NvcHkoYmxvY2spLCBjYWxsUnVuSmF2YVNjcmlwdEJsb2NrQW5kUmVsZWFzZSwgZGlz
cG9zZVJ1bkphdmFTY3JpcHRCbG9jayk7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdEluTWFpbkZy
YW1lKHBhZ2VSZWYsIHNjcmlwdFJlZiwgQmxvY2tfY29weShibG9jayksIGNhbGxSdW5KYXZhU2Ny
aXB0QmxvY2tBbmRSZWxlYXNlKTsKIH0KICNlbmRpZgogCi12b2lkIFdLUGFnZVJlbmRlclRyZWVF
eHRlcm5hbFJlcHJlc2VudGF0aW9uKFdLUGFnZVJlZiBwYWdlUmVmLCB2b2lkKiBjb250ZXh0LCBX
S1BhZ2VSZW5kZXJUcmVlRXh0ZXJuYWxSZXByZXNlbnRhdGlvbkZ1bmN0aW9uIGNhbGxiYWNrLCBX
S1BhZ2VSZW5kZXJUcmVlRXh0ZXJuYWxSZXByZXNlbnRhdGlvbkRpc3Bvc2VGdW5jdGlvbiBkaXNw
b3NlRnVuY3Rpb24pCit2b2lkIFdLUGFnZVJlbmRlclRyZWVFeHRlcm5hbFJlcHJlc2VudGF0aW9u
KFdLUGFnZVJlZiBwYWdlUmVmLCB2b2lkKiBjb250ZXh0LCBXS1BhZ2VSZW5kZXJUcmVlRXh0ZXJu
YWxSZXByZXNlbnRhdGlvbkZ1bmN0aW9uIGNhbGxiYWNrKQogewotICAgIHRvV0socGFnZVJlZikt
PmdldFJlbmRlclRyZWVFeHRlcm5hbFJlcHJlc2VudGF0aW9uKFJlbmRlclRyZWVFeHRlcm5hbFJl
cHJlc2VudGF0aW9uQ2FsbGJhY2s6OmNyZWF0ZShjb250ZXh0LCBjYWxsYmFjaywgZGlzcG9zZUZ1
bmN0aW9uKSk7CisgICAgdG9XSyhwYWdlUmVmKS0+Z2V0UmVuZGVyVHJlZUV4dGVybmFsUmVwcmVz
ZW50YXRpb24oUmVuZGVyVHJlZUV4dGVybmFsUmVwcmVzZW50YXRpb25DYWxsYmFjazo6Y3JlYXRl
KGNvbnRleHQsIGNhbGxiYWNrKSk7CiB9CiAKICNpZmRlZiBfX0JMT0NLU19fCi1zdGF0aWMgdm9p
ZCBjYWxsUmVuZGVyVHJlZUV4dGVybmFsUmVwcmVzZW50YXRpb25CbG9ja0FuZERpc3Bvc2UoV0tT
dHJpbmdSZWYgcmVzdWx0VmFsdWUsIHZvaWQqIGNvbnRleHQpCi17Ci0gICAgV0tQYWdlUmVuZGVy
VHJlZUV4dGVybmFsUmVwcmVzZW50YXRpb25CbG9jayBibG9jayA9IChXS1BhZ2VSZW5kZXJUcmVl
RXh0ZXJuYWxSZXByZXNlbnRhdGlvbkJsb2NrKWNvbnRleHQ7Ci0gICAgYmxvY2socmVzdWx0VmFs
dWUpOwotICAgIEJsb2NrX3JlbGVhc2UoYmxvY2spOwotfQotCi1zdGF0aWMgdm9pZCBkaXNwb3Nl
UmVuZGVyVHJlZUV4dGVybmFsUmVwcmVzZW50YXRpb25CbG9jayh2b2lkKiBjb250ZXh0KQorc3Rh
dGljIHZvaWQgY2FsbFJlbmRlclRyZWVFeHRlcm5hbFJlcHJlc2VudGF0aW9uQmxvY2tBbmREaXNw
b3NlKFdLU3RyaW5nUmVmIHJlc3VsdFZhbHVlLCBXS0Vycm9yUmVmIGVycm9yLCB2b2lkKiBjb250
ZXh0KQogewogICAgIFdLUGFnZVJlbmRlclRyZWVFeHRlcm5hbFJlcHJlc2VudGF0aW9uQmxvY2sg
YmxvY2sgPSAoV0tQYWdlUmVuZGVyVHJlZUV4dGVybmFsUmVwcmVzZW50YXRpb25CbG9jayljb250
ZXh0OworICAgIGJsb2NrKHJlc3VsdFZhbHVlLCBlcnJvcik7CiAgICAgQmxvY2tfcmVsZWFzZShi
bG9jayk7CiB9CiAKIHZvaWQgV0tQYWdlUmVuZGVyVHJlZUV4dGVybmFsUmVwcmVzZW50YXRpb25f
YihXS1BhZ2VSZWYgcGFnZVJlZiwgV0tQYWdlUmVuZGVyVHJlZUV4dGVybmFsUmVwcmVzZW50YXRp
b25CbG9jayBibG9jaykKIHsKLSAgICBXS1BhZ2VSZW5kZXJUcmVlRXh0ZXJuYWxSZXByZXNlbnRh
dGlvbihwYWdlUmVmLCBCbG9ja19jb3B5KGJsb2NrKSwgY2FsbFJlbmRlclRyZWVFeHRlcm5hbFJl
cHJlc2VudGF0aW9uQmxvY2tBbmREaXNwb3NlLCBkaXNwb3NlUmVuZGVyVHJlZUV4dGVybmFsUmVw
cmVzZW50YXRpb25CbG9jayk7CisgICAgV0tQYWdlUmVuZGVyVHJlZUV4dGVybmFsUmVwcmVzZW50
YXRpb24ocGFnZVJlZiwgQmxvY2tfY29weShibG9jayksIGNhbGxSZW5kZXJUcmVlRXh0ZXJuYWxS
ZXByZXNlbnRhdGlvbkJsb2NrQW5kRGlzcG9zZSk7CiB9CiAjZW5kaWYKIApJbmRleDogV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQYWdlLmgJKHJldmlzaW9uIDY0Njg3KQorKysgV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2NywxMSArMTY3LDEwIEBAIFdLX0VY
UE9SVCB2b2lkIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQKIFdLX0VYUE9SVCB2b2lkIFdLUGFn
ZVNldFBhZ2VQb2xpY3lDbGllbnQoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IFdLUGFnZVBvbGljeUNs
aWVudCogY2xpZW50KTsKIFdLX0VYUE9SVCB2b2lkIFdLUGFnZVNldFBhZ2VVSUNsaWVudChXS1Bh
Z2VSZWYgcGFnZSwgY29uc3QgV0tQYWdlVUlDbGllbnQqIGNsaWVudCk7CiAKLXR5cGVkZWYgdm9p
ZCAoKldLUGFnZVJ1bkphdmFTY3JpcHRGdW5jdGlvbikoV0tTdHJpbmdSZWYsIHZvaWQqKTsKLXR5
cGVkZWYgdm9pZCAoKldLUGFnZVJ1bkphdmFTY3JpcHREaXNwb3NlRnVuY3Rpb24pKHZvaWQqKTsK
LVdLX0VYUE9SVCB2b2lkIFdLUGFnZVJ1bkphdmFTY3JpcHRJbk1haW5GcmFtZShXS1BhZ2VSZWYg
cGFnZSwgV0tTdHJpbmdSZWYgc2NyaXB0LCB2b2lkICpjb250ZXh0LCBXS1BhZ2VSdW5KYXZhU2Ny
aXB0RnVuY3Rpb24gZnVuY3Rpb24sIFdLUGFnZVJ1bkphdmFTY3JpcHREaXNwb3NlRnVuY3Rpb24g
ZGlzcG9zZUZ1bmN0aW9uKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZVJ1bkphdmFTY3JpcHRGdW5j
dGlvbikoV0tTdHJpbmdSZWYsIFdLRXJyb3JSZWYsIHZvaWQqKTsKK1dLX0VYUE9SVCB2b2lkIFdL
UGFnZVJ1bkphdmFTY3JpcHRJbk1haW5GcmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYg
c2NyaXB0LCB2b2lkICpjb250ZXh0LCBXS1BhZ2VSdW5KYXZhU2NyaXB0RnVuY3Rpb24gZnVuY3Rp
b24pOwogI2lmZGVmIF9fQkxPQ0tTX18KLXR5cGVkZWYgdm9pZCAoXldLUGFnZVJ1bkphdmFTY3Jp
cHRCbG9jaykoV0tTdHJpbmdSZWYpOwordHlwZWRlZiB2b2lkICheV0tQYWdlUnVuSmF2YVNjcmlw
dEJsb2NrKShXS1N0cmluZ1JlZiwgV0tFcnJvclJlZik7CiBXS19FWFBPUlQgdm9pZCBXS1BhZ2VS
dW5KYXZhU2NyaXB0SW5NYWluRnJhbWVfYihXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgc2Ny
aXB0LCBXS1BhZ2VSdW5KYXZhU2NyaXB0QmxvY2sgYmxvY2spOwogI2VuZGlmCiAKSW5kZXg6IFdl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmgJKHJldmlzaW9uIDY0Njg3KQorKysg
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zMywxMiArMzMsMTEgQEAKIGV4dGVybiAiQyIgewogI2VuZGlmCiAKLXR5cGVkZWYgdm9pZCAo
KldLUGFnZVJlbmRlclRyZWVFeHRlcm5hbFJlcHJlc2VudGF0aW9uRnVuY3Rpb24pKFdLU3RyaW5n
UmVmLCB2b2lkKik7Ci10eXBlZGVmIHZvaWQgKCpXS1BhZ2VSZW5kZXJUcmVlRXh0ZXJuYWxSZXBy
ZXNlbnRhdGlvbkRpc3Bvc2VGdW5jdGlvbikodm9pZCopOwotV0tfRVhQT1JUIHZvaWQgV0tQYWdl
UmVuZGVyVHJlZUV4dGVybmFsUmVwcmVzZW50YXRpb24oV0tQYWdlUmVmIHBhZ2UsIHZvaWQgKmNv
bnRleHQsIFdLUGFnZVJlbmRlclRyZWVFeHRlcm5hbFJlcHJlc2VudGF0aW9uRnVuY3Rpb24gZnVu
Y3Rpb24sIFdLUGFnZVJlbmRlclRyZWVFeHRlcm5hbFJlcHJlc2VudGF0aW9uRGlzcG9zZUZ1bmN0
aW9uIGRpc3Bvc2VGdW5jdGlvbik7Cit0eXBlZGVmIHZvaWQgKCpXS1BhZ2VSZW5kZXJUcmVlRXh0
ZXJuYWxSZXByZXNlbnRhdGlvbkZ1bmN0aW9uKShXS1N0cmluZ1JlZiwgV0tFcnJvclJlZiwgdm9p
ZCopOworV0tfRVhQT1JUIHZvaWQgV0tQYWdlUmVuZGVyVHJlZUV4dGVybmFsUmVwcmVzZW50YXRp
b24oV0tQYWdlUmVmIHBhZ2UsIHZvaWQgKmNvbnRleHQsIFdLUGFnZVJlbmRlclRyZWVFeHRlcm5h
bFJlcHJlc2VudGF0aW9uRnVuY3Rpb24gZnVuY3Rpb24pOwogCiAjaWZkZWYgX19CTE9DS1NfXwot
dHlwZWRlZiB2b2lkICheV0tQYWdlUmVuZGVyVHJlZUV4dGVybmFsUmVwcmVzZW50YXRpb25CbG9j
aykoV0tTdHJpbmdSZWYpOwordHlwZWRlZiB2b2lkICheV0tQYWdlUmVuZGVyVHJlZUV4dGVybmFs
UmVwcmVzZW50YXRpb25CbG9jaykoV0tTdHJpbmdSZWYsIFdLRXJyb3JSZWYpOwogV0tfRVhQT1JU
IHZvaWQgV0tQYWdlUmVuZGVyVHJlZUV4dGVybmFsUmVwcmVzZW50YXRpb25fYihXS1BhZ2VSZWYg
cGFnZSwgV0tQYWdlUmVuZGVyVHJlZUV4dGVybmFsUmVwcmVzZW50YXRpb25CbG9jayBibG9jayk7
CiAjZW5kaWYKIApJbmRleDogV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHJldmlzaW9uIDY0Njg3KQorKysgV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTg4LDYgKzg4LDkgQEAKIAkJNTE0QUY2QzgxMjA5
RUU3MzAwQTI2Qzk3IC8qIFdLRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MTRBRjZDNjEyMDlFRTczMDBBMjZDOTcgLyogV0tEYXRhLmNwcCAq
LzsgfTsKIAkJNTE0QUY2QzkxMjA5RUU3MzAwQTI2Qzk3IC8qIFdLRGF0YS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0QUY2QzcxMjA5RUU3MzAwQTI2
Qzk3IC8qIFdLRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsg
fTsgfTsKIAkJNTE1NzhCODMxMjA5RUNFRjAwQTM3QzRBIC8qIFdlYkRhdGEuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNTc4QjgyMTIwOUVDRUYwMEEz
N0M0QSAvKiBXZWJEYXRhLmggKi87IH07CisJCTUxNkE0QTU5MTIwQTFBQjUwMEMwNUI3RiAvKiBX
S0Vycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTZBNEE1NzEyMEExQUI1MDBDMDVCN0YgLyogV0tFcnJvci5oICovOyB9OworCQk1MTZBNEE1QTEy
MEExQUI1MDBDMDVCN0YgLyogV0tFcnJvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTZBNEE1ODEyMEExQUI1MDBDMDVCN0YgLyogV0tFcnJvci5j
cHAgKi87IH07CisJCTUxNkE0QTVEMTIwQTJDQ0QwMEMwNUI3RiAvKiBXZWJFcnJvci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2QTRBNUIxMjBBMkND
RDAwQzA1QjdGIC8qIFdlYkVycm9yLmggKi87IH07CiAJCTVEQUQ3MjlDMTE2RkY4NjIwMEVFNTM5
NiAvKiBBcHBLaXQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMDg2N0Q2QTVGRTg0MDMwN0MwMkFBQzA3IC8qIEFwcEtpdC5mcmFtZXdv
cmsgKi87IH07CiAJCTZEOEE5MUE2MTFGMEVGRDEwMEREMDFGRSAvKiBjb20uYXBwbGUuV2ViUHJv
Y2Vzcy5zYiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NkQ4QTkxQTUxMUYwRUZEMTAwREQwMUZFIC8qIGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiICovOyB9
OwogCQk4REMyRUY1MzA0ODZBNjk0MDA5OEIyMTYgLyogSW5mb1BsaXN0LnN0cmluZ3MgaW4gUmVz
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4OUMxNjY2RkU4NDEx
NThDMDJBQUMwNyAvKiBJbmZvUGxpc3Quc3RyaW5ncyAqLzsgfTsKQEAgLTM5NSw2ICszOTgsOSBA
QAogCQk1MTRBRjZDNjEyMDlFRTczMDBBMjZDOTcgLyogV0tEYXRhLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTUxNEFGNkM3MTIwOUVFNzMwMEEyNkM5NyAvKiBXS0RhdGEuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTUxNTc4QjgyMTIwOUVDRUYwMEEzN0M0QSAvKiBXZWJEYXRhLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkRhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTE2QTRBNTcxMjBBMUFCNTAwQzA1QjdGIC8qIFdLRXJyb3IuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV0tFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk1MTZBNEE1ODEyMEExQUI1MDBDMDVCN0YgLyogV0tFcnJvci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS0Vycm9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNTE2QTRBNUIxMjBBMkNDRDAwQzA1QjdGIC8qIFdlYkVycm9yLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTVEQUQ3Mjk0MTE2RkY3MEIwMEVFNTM5NiAvKiBXZWJQcm9jZXNzLnhjY29u
ZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFdlYlByb2Nlc3MueGNjb25maWc7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQUQ3M0YxMTE2RkY5MEMwMEVFNTM5NiAv
KiBCYXNlVGFyZ2V0LnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IEJh
c2VUYXJnZXQueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZEOEE5MUE1
MTFGMEVGRDEwMEREMDFGRSAvKiBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYiAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IG5hbWUgPSBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYjsgcGF0aCA9IFdlYlByb2Nlc3MvY29t
LmFwcGxlLldlYlByb2Nlc3Muc2I7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03ODgs
NiArNzk0LDcgQEAKIAkJCQlCQ0M1NzE2MTExNUFEQjQyMDAxQ0NBRjkgLyogTm90SW1wbGVtZW50
ZWQuaCAqLywKIAkJCQlCQzFERDdCMTExNERDMzk2MDA1QURBRjMgLyogV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmggKi8sCiAJCQkJNTE1NzhCODIxMjA5RUNFRjAwQTM3QzRBIC8qIFdlYkRhdGEuaCAq
LywKKwkJCQk1MTZBNEE1QjEyMEEyQ0NEMDBDMDVCN0YgLyogV2ViRXJyb3IuaCAqLywKIAkJCQlC
QzAzMkRBRjEwRjQzODBGMDA1OEMxNUEgLyogV2ViRXZlbnQuaCAqLywKIAkJCQlCQzAzMkRCMDEw
RjQzODBGMDA1OEMxNUEgLyogV2ViRXZlbnRDb252ZXJzaW9uLmNwcCAqLywKIAkJCQlCQzAzMkRC
MTEwRjQzODBGMDA1OEMxNUEgLyogV2ViRXZlbnRDb252ZXJzaW9uLmggKi8sCkBAIC05OTUsNiAr
MTAwMiw4IEBACiAJCQkJQkNDOTM4RTAxMTgwREU0NDAwODVFNUZFIC8qIFdLQ29udGV4dFByaXZh
dGUuaCAqLywKIAkJCQk1MTRBRjZDNjEyMDlFRTczMDBBMjZDOTcgLyogV0tEYXRhLmNwcCAqLywK
IAkJCQk1MTRBRjZDNzEyMDlFRTczMDBBMjZDOTcgLyogV0tEYXRhLmggKi8sCisJCQkJNTE2QTRB
NTgxMjBBMUFCNTAwQzA1QjdGIC8qIFdLRXJyb3IuY3BwICovLAorCQkJCTUxNkE0QTU3MTIwQTFB
QjUwMEMwNUI3RiAvKiBXS0Vycm9yLmggKi8sCiAJCQkJQkNEMDEzOTgxMTBGQTQyMDAwM0I4QTY3
IC8qIFdLRnJhbWUuY3BwICovLAogCQkJCUJDRDAxMzk3MTEwRkE0MjAwMDNCOEE2NyAvKiBXS0Zy
YW1lLmggKi8sCiAJCQkJQkNCOUY2QTQxMTIzREQwRDAwQTEzN0UwIC8qIFdLRnJhbWVQb2xpY3lM
aXN0ZW5lci5jcHAgKi8sCkBAIC0xMzY0LDYgKzEzNzMsOCBAQAogCQkJCTUxNTc4QjgzMTIwOUVD
RUYwMEEzN0M0QSAvKiBXZWJEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTRBRjZDOTEyMDlF
RTczMDBBMjZDOTcgLyogV0tEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMEUzQUE3QzEyMDlF
ODNDMDBBNDlEMDEgLyogTW9kdWxlLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTZBNEE1OTEyMEEx
QUI1MDBDMDVCN0YgLyogV0tFcnJvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE2QTRBNUQxMjBB
MkNDRDAwQzA1QjdGIC8qIFdlYkVycm9yLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTE1NzAsNiArMTU4
MSw3IEBACiAJCQkJNTE0QUY2QzgxMjA5RUU3MzAwQTI2Qzk3IC8qIFdLRGF0YS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlDMEUzQUE3QTEyMDlFODMwMDBBNDlEMDEgLyogTW9kdWxlTWFjLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQzBFM0FBN0IxMjA5RTgzNTAwQTQ5RDAxIC8qIE1vZHVsZS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk1MTZBNEE1QTEyMEExQUI1MDBDMDVCN0YgLyogV0tFcnJvci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFdlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCShyZXZpc2lvbiA2NDY4NykKKysr
IFdlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC05ODEsNiArOTgx
LDEwIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXFVJUHJvY2Vzc1xXZWJFcnJvci5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxl
DQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQ
cm94eS5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpAQCAtMTEzOSw2ICsxMTQzLDE0IEBACiAJ
CQkJCQk+DQogCQkJCQk8L0ZpbGU+DQogCQkJCQk8RmlsZQ0KKwkJCQkJCVJlbGF0aXZlUGF0aD0i
Li5cVUlQcm9jZXNzXEFQSVxDXFdLRXJyb3IuY3BwIg0KKwkJCQkJCT4NCisJCQkJCTwvRmlsZT4N
CisJCQkJCTxGaWxlDQorCQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcQVBJXENcV0tF
cnJvci5oIg0KKwkJCQkJCT4NCisJCQkJCTwvRmlsZT4NCisJCQkJCTxGaWxlDQogCQkJCQkJUmVs
YXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcQVBJXENcV0tGcmFtZS5jcHAiDQogCQkJCQkJPg0KIAkJ
CQkJPC9GaWxlPg0K
</data>
<flag name="review"
          id="51883"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>