<?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>100325</bug_id>
          
          <creation_ts>2012-10-24 21:25:49 -0700</creation_ts>
          <short_desc>Yet more MessageReceivering</short_desc>
          <delta_ts>2017-05-09 15:59:22 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>750344</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-10-24 21:25:49 -0700</bug_when>
    <thetext>Yet more MessageReceivering</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>750349</commentid>
    <comment_count>1</comment_count>
      <attachid>170546</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-10-24 21:42:23 -0700</bug_when>
    <thetext>Created attachment 170546
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>750350</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-24 21:45:34 -0700</bug_when>
    <thetext>Attachment 170546 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1
Source/WebKit2/UIProcess/WebPageProxy.h:37:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 11 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>752608</commentid>
    <comment_count>3</comment_count>
      <attachid>171057</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-10-26 17:18:03 -0700</bug_when>
    <thetext>Created attachment 171057
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752609</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-26 17:21:51 -0700</bug_when>
    <thetext>Attachment 171057 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1
Source/WebKit2/UIProcess/WebPageProxy.h:37:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 10 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>752833</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-10-27 13:48:57 -0700</bug_when>
    <thetext>Committed r132740: &lt;http://trac.webkit.org/changeset/132740&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752894</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-27 22:36:52 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 100603</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752899</commentid>
    <comment_count>7</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-10-27 22:50:19 -0700</bug_when>
    <thetext>I rolled it out in r132743 due to crashes.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170546</attachid>
            <date>2012-10-24 21:42:23 -0700</date>
            <delta_ts>2012-10-26 17:18:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100325-20121024214100.patch</filename>
            <type>text/plain</type>
            <size>26510</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjQ0MykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDYxIEBACisyMDEyLTEwLTI0ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgWWV0IG1vcmUgTWVzc2FnZVJlY2VpdmVy
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAz
MjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtl
IERvd25sb2FkUHJveHksIFdlYlBhZ2VQcm94eSwgYW5kIFdlYlBhZ2VHcm91cFByb3h5IE1lc3Nh
Z2VSZWNlaXZlcnMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpEb3dubG9hZFByb3h5OjpEb3dubG9hZFByb3h5KToK
KyAgICAgICAgKFdlYktpdDo6RG93bmxvYWRQcm94eTo6aW52YWxpZGF0ZSk6CisgICAgICAgIChX
ZWJLaXQ6OkRvd25sb2FkUHJveHk6OmRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAgICAgKFdlYktp
dDo6RG93bmxvYWRQcm94eTo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkuaDoKKyAgICAgICAgKERvd25sb2FkUHJveHkp
OgorICAgICAgICBNYWtlIGEgTWVzc2FnZVJlY2VpdmVyLgorCisgICAgICAgICogVUlQcm9jZXNz
L1dlYkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpXZWJDb250ZXh0
KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6YWRkTWVzc2FnZVJlY2VpdmVyKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6cmVtb3ZlTWVzc2FnZVJlY2VpdmVyKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViQ29udGV4dDo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJDb250ZXh0OjpkaWRSZWNlaXZlU3luY01lc3NhZ2UpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJDb250ZXh0Lmg6CisgICAgICAgIEFkZCBhZGRpdGlvbmFsIE1lc3NhZ2VSZWNlaXZl
ck1hcCBmb3J3YXJkcywgYW5kIHN0b3AgZGVhbGluZyB3aXRoIERvd25sb2FkUHJveHkgZXhwbGlj
aXRseS4KKyAgICAgICAgCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6V2ViUGFnZVByb3h5KToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5Ojp+V2ViUGFnZVByb3h5KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lmg6CisgICAgICAgIE1ha2UgYSBNZXNzYWdlUmVjZWl2ZXIsIGJ1dCBrZWVwIHN1YiBv
YmplY3RzIHVzaW5nIGRpZFJlY2VpdmVNZXNzYWdlIGZvciBub3cgKGxpa2UgV2ViUGFnZSkuCisg
ICAgICAgIAorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmFkZE1lc3NhZ2VSZWNlaXZlcik6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6cmVtb3ZlTWVzc2FnZVJlY2VpdmVyKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgIEdpdmUgV2ViUHJvY2Vz
c1Byb3h5IGEgTWVzc2FnZVJlY2VpdmVyTWFwIGFuZCBhbGwgdGhlIGFwcHJvcHJpYXRlIGZvcndh
cmRpbmcgbWV0aG9kcy4KKyAgICAgICAgCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2VHcm91cFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZUdyb3VwUHJveHk6
OldlYlBhZ2VHcm91cFByb3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZUdyb3VwUHJveHk6
On5XZWJQYWdlR3JvdXBQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VHcm91cFByb3h5
OjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2VHcm91cFByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VHcm91cFByb3h5Ojppc1Zp
c2libGVUb0hpc3RvcnlDbGllbnQpOgorICAgICAgICAoV2ViUGFnZUdyb3VwUHJveHkpOgorICAg
ICAgICBNYWtlIGEgTWVzc2FnZVJlY2VpdmVyIGFuZCByZWdpc3Rlci91bnJlZ2lzdGVyIHdpdGgg
dGhlIFdlYlByb2Nlc3MuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpkaWRSZWNlaXZlU3luY01lc3NhZ2UpOgorICAg
ICAgICBSZW1vdmUgZXh0cmFuZW91cyByZXR1cm4gc3RhdGVtZW50LgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgIFN0b3AgaGFuZGxpbmcg
V2ViUGFnZUdyb3VwUHJveHkgc3BlY2lhbC4KKwogMjAxMi0xMC0yNCAgQW5kZXJzIENhcmxzc29u
ICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgaXQgYSBjb21waWxlIGVycm9y
IHRvIHNlbmQgYSBzeW5jIG1lc3NhZ2UgYXMgYXN5bmMgKGFuZCB2aWNlIHZlcnNhKQpJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAkocmV2aXNpb24gMTMyNDI2KQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMzYsNyArMTM2LDYgQEAgV2ViQ29udGV4dDo6V2ViQ29udGV4dChQcm9jZXNzTW9kZWwg
cHJvYwogI2VuZGlmCiB7CiAgICAgYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJDb250
ZXh0OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIHRoaXMpOwotICAgIGFkZE1lc3NhZ2VSZWNlaXZl
cihNZXNzYWdlczo6RG93bmxvYWRQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsK
ICAgICBhZGRNZXNzYWdlUmVjZWl2ZXIoQ29yZUlQQzo6TWVzc2FnZUtpbmRUcmFpdHM8V2ViQ29u
dGV4dExlZ2FjeU1lc3NhZ2U6OktpbmQ+OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIHRoaXMpOwog
CiAgICAgLy8gTk9URTogVGhlc2Ugc3ViLW9iamVjdHMgbXVzdCBiZSBpbml0aWFsaXplZCBhZnRl
ciBtX21lc3NhZ2VSZWNlaXZlck1hcC4uCkBAIC03OTAsNiArNzg5LDE2IEBAIHZvaWQgV2ViQ29u
dGV4dDo6YWRkTWVzc2FnZVJlY2VpdmVyKENvcmUKICAgICBtX21lc3NhZ2VSZWNlaXZlck1hcC5h
ZGRNZXNzYWdlUmVjZWl2ZXIobWVzc2FnZVJlY2VpdmVyTmFtZSwgbWVzc2FnZVJlY2VpdmVyKTsK
IH0KIAordm9pZCBXZWJDb250ZXh0OjphZGRNZXNzYWdlUmVjZWl2ZXIoQ29yZUlQQzo6U3RyaW5n
UmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIENv
cmVJUEM6Ok1lc3NhZ2VSZWNlaXZlciogbWVzc2FnZVJlY2VpdmVyKQoreworICAgIG1fbWVzc2Fn
ZVJlY2VpdmVyTWFwLmFkZE1lc3NhZ2VSZWNlaXZlcihtZXNzYWdlUmVjZWl2ZXJOYW1lLCBkZXN0
aW5hdGlvbklELCBtZXNzYWdlUmVjZWl2ZXIpOworfQorCit2b2lkIFdlYkNvbnRleHQ6OnJlbW92
ZU1lc3NhZ2VSZWNlaXZlcihDb3JlSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVy
TmFtZSwgdWludDY0X3QgZGVzdGluYXRpb25JRCkKK3sKKyAgICBtX21lc3NhZ2VSZWNlaXZlck1h
cC5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIobWVzc2FnZVJlY2VpdmVyTmFtZSwgZGVzdGluYXRpb25J
RCk7Cit9CisKIGJvb2wgV2ViQ29udGV4dDo6ZGlzcGF0Y2hNZXNzYWdlKENvcmVJUEM6OkNvbm5l
Y3Rpb24qIGNvbm5lY3Rpb24sIENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6
Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIHJldHVybiBtX21lc3NhZ2VSZWNlaXZl
ck1hcC5kaXNwYXRjaE1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKQEAg
LTgwNywxMyArODE2LDYgQEAgdm9pZCBXZWJDb250ZXh0OjpkaWRSZWNlaXZlTWVzc2FnZShDb3Jl
SQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBD
OjpNZXNzYWdlQ2xhc3NEb3dubG9hZFByb3h5PigpKSB7Ci0gICAgICAgIGlmIChEb3dubG9hZFBy
b3h5KiBkb3dubG9hZFByb3h5ID0gbV9kb3dubG9hZHMuZ2V0KGRlY29kZXIuZGVzdGluYXRpb25J
RCgpKS5nZXQoKSkKLSAgICAgICAgICAgIGRvd25sb2FkUHJveHktPmRpZFJlY2VpdmVEb3dubG9h
ZFByb3h5TWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpOwotICAgICAgICAK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIHN3aXRjaCAobWVzc2FnZUlELmdldDxXZWJD
b250ZXh0TGVnYWN5TWVzc2FnZTo6S2luZD4oKSkgewogICAgICAgICBjYXNlIFdlYkNvbnRleHRM
ZWdhY3lNZXNzYWdlOjpQb3N0TWVzc2FnZTogewogICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2VO
YW1lOwpAQCAtODQxLDEyICs4NDMsNiBAQCB2b2lkIFdlYkNvbnRleHQ6OmRpZFJlY2VpdmVTeW5j
TWVzc2FnZShDCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAobWVzc2FnZUlELmlz
PENvcmVJUEM6Ok1lc3NhZ2VDbGFzc0Rvd25sb2FkUHJveHk+KCkpIHsKLSAgICAgICAgaWYgKERv
d25sb2FkUHJveHkqIGRvd25sb2FkUHJveHkgPSBtX2Rvd25sb2Fkcy5nZXQoZGVjb2Rlci5kZXN0
aW5hdGlvbklEKCkpLmdldCgpKQotICAgICAgICAgICAgZG93bmxvYWRQcm94eS0+ZGlkUmVjZWl2
ZVN5bmNEb3dubG9hZFByb3h5TWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIs
IHJlcGx5RW5jb2Rlcik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICBzd2l0Y2ggKG1l
c3NhZ2VJRC5nZXQ8V2ViQ29udGV4dExlZ2FjeU1lc3NhZ2U6OktpbmQ+KCkpIHsKICAgICAgICAg
Y2FzZSBXZWJDb250ZXh0TGVnYWN5TWVzc2FnZTo6UG9zdFN5bmNocm9ub3VzTWVzc2FnZTogewog
ICAgICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBwcm9iYWJseSBlbmNvZGUgc29tZXRoaW5n
IGluIHRoZSBjYXNlIHRoYXQgdGhlIGFyZ3VtZW50cyBkbyBub3QgZGVjb2RlIGNvcnJlY3RseS4K
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAkocmV2aXNpb24gMTMyNDI2
KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAkod29ya2luZyBjb3B5
KQpAQCAtNTAsMzAgKzUwLDMxIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBEb3dubG9h
ZFByb3h5OwogY2xhc3MgV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJQcm94eTsKLSNpZiBFTkFC
TEUoQkFUVEVSWV9TVEFUVVMpCi1jbGFzcyBXZWJCYXR0ZXJ5TWFuYWdlclByb3h5OwotI2VuZGlm
CiBjbGFzcyBXZWJDb29raWVNYW5hZ2VyUHJveHk7CiBjbGFzcyBXZWJEYXRhYmFzZU1hbmFnZXJQ
cm94eTsKIGNsYXNzIFdlYkdlb2xvY2F0aW9uTWFuYWdlclByb3h5OwogY2xhc3MgV2ViSWNvbkRh
dGFiYXNlOwogY2xhc3MgV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5OwogY2xhc3MgV2Vi
TWVkaWFDYWNoZU1hbmFnZXJQcm94eTsKLSNpZiBFTkFCTEUoTkVUV09SS19JTkZPKQotY2xhc3Mg
V2ViTmV0d29ya0luZm9NYW5hZ2VyUHJveHk7Ci0jZW5kaWYKIGNsYXNzIFdlYk5vdGlmaWNhdGlv
bk1hbmFnZXJQcm94eTsKIGNsYXNzIFdlYlBhZ2VHcm91cDsKIGNsYXNzIFdlYlBhZ2VQcm94eTsK
IGNsYXNzIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHk7CitzdHJ1Y3QgU3RhdGlzdGljc0Rh
dGE7CitzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKKworI2lmIEVOQUJMRShC
QVRURVJZX1NUQVRVUykKK2NsYXNzIFdlYkJhdHRlcnlNYW5hZ2VyUHJveHk7CisjZW5kaWYKKyNp
ZiBFTkFCTEUoTkVUV09SS19JTkZPKQorY2xhc3MgV2ViTmV0d29ya0luZm9NYW5hZ2VyUHJveHk7
CisjZW5kaWYKICNpZiBVU0UoU09VUCkKIGNsYXNzIFdlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5
OwogI2VuZGlmCiAjaWYgRU5BQkxFKFZJQlJBVElPTikKIGNsYXNzIFdlYlZpYnJhdGlvblByb3h5
OwogI2VuZGlmCi1zdHJ1Y3QgU3RhdGlzdGljc0RhdGE7Ci1zdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVyczsKICAgICAKIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPFdLRGljdGlvbmFy
eVJlZj4gRGljdGlvbmFyeUNhbGxiYWNrOwogCkBAIC04Nyw2ICs4OCw5IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgY29uc3QgVmVjdG9yPFdlYkNvbnRleHQqPiYgYWxsQ29udGV4dHMoKTsKIAogICAg
IHZvaWQgYWRkTWVzc2FnZVJlY2VpdmVyKENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdl
UmVjZWl2ZXJOYW1lLCBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIqKTsKKyAgICB2b2lkIGFkZE1l
c3NhZ2VSZWNlaXZlcihDb3JlSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFt
ZSwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyKik7Cisg
ICAgdm9pZCByZW1vdmVNZXNzYWdlUmVjZWl2ZXIoQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlIG1l
c3NhZ2VSZWNlaXZlck5hbWUsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQpOworCiAgICAgYm9vbCBk
aXNwYXRjaE1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwg
Q29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICBib29sIGRpc3BhdGNoU3luY01lc3NhZ2Uo
Q29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2Fn
ZURlY29kZXImLCBPd25QdHI8Q29yZUlQQzo6TWVzc2FnZUVuY29kZXI+Jik7CiAKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiAxMzI0MjYp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNs
dWRlICJEb3dubG9hZFByb3h5LmgiCiAjaW5jbHVkZSAiRHJhd2luZ0FyZWFQcm94eS5oIgorI2lu
Y2x1ZGUgIkRyYXdpbmdBcmVhUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIkV2ZW50RGlzcGF0
Y2hlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiRmluZEluZGljYXRvci5oIgogI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKQEAgLTY5LDYgKzcwLDcgQEAKICNpbmNsdWRlICJXZWJQYWdlR3JvdXAuaCIKICNp
bmNsdWRlICJXZWJQYWdlR3JvdXBEYXRhLmgiCiAjaW5jbHVkZSAiV2ViUGFnZU1lc3NhZ2VzLmgi
CisjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQb3B1cEl0
ZW0uaCIKICNpbmNsdWRlICJXZWJQb3B1cE1lbnVQcm94eS5oIgogI2luY2x1ZGUgIldlYlByZWZl
cmVuY2VzLmgiCkBAIC04OCw2ICs5MCwxNCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvV2luZG93RmVh
dHVyZXMuaD4KICNpbmNsdWRlIDxzdGRpby5oPgogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyNp
bmNsdWRlICJXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmgiCisjZW5kaWYKKworI2lmIEVOQUJM
RShGVUxMU0NSRUVOX0FQSSkKKyNpbmNsdWRlICJXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5TWVz
c2FnZXMuaCIKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFdFQl9JTlRFTlRTKQogI2luY2x1ZGUgIklu
dGVudERhdGEuaCIKICNpbmNsdWRlICJJbnRlbnRTZXJ2aWNlSW5mby5oIgpAQCAtMjQ0LDYgKzI1
NCwyMCBAQCBXZWJQYWdlUHJveHk6OldlYlBhZ2VQcm94eShQYWdlQ2xpZW50KiBwCiAKICAgICBX
ZWJDb250ZXh0OjpzdGF0aXN0aWNzKCkud2tQYWdlQ291bnQrKzsKIAorICAgIG1fcHJvY2Vzcy0+
YWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Om1lc3NhZ2VSZWNlaXZl
ck5hbWUoKSwgbV9wYWdlSUQsIHRoaXMpOworCisgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJl
IGRvbmUgaW4gdGhlIG9iamVjdCBjb25zdHJ1Y3RvcnMsIGFuZCB0aGUgb2JqZWN0cyB0aGVtc2Vs
dmVzIHNob3VsZCBiZSBtZXNzYWdlIHJlY2VpdmVycy4KKyAgICBtX3Byb2Nlc3MtPmFkZE1lc3Nh
Z2VSZWNlaXZlcihNZXNzYWdlczo6RHJhd2luZ0FyZWFQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFt
ZSgpLCBtX3BhZ2VJRCwgdGhpcyk7CisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorICAg
IG1fcHJvY2Vzcy0+YWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpMYXllclRyZWVDb29yZGlu
YXRvclByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcGFnZUlELCB0aGlzKTsKKyNlbmRp
ZgorI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgbV9wcm9jZXNzLT5hZGRNZXNzYWdlUmVjZWl2
ZXIoTWVzc2FnZXM6OldlYkluc3BlY3RvclByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1f
cGFnZUlELCB0aGlzKTsKKyNlbmRpZgorI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKKyAgICBt
X3Byb2Nlc3MtPmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFn
ZXJQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCwgdGhpcyk7CisjZW5kaWYK
KwogICAgIG1fcGFnZUdyb3VwLT5hZGRQYWdlKHRoaXMpOwogfQogCkBAIC0yNTksNiArMjgzLDIw
IEBAIFdlYlBhZ2VQcm94eTo6fldlYlBhZ2VQcm94eSgpCiAKICAgICBtX3BhZ2VHcm91cC0+cmVt
b3ZlUGFnZSh0aGlzKTsKIAorICAgIG1fcHJvY2Vzcy0+cmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9wYWdlSUQpOwor
CisgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGRvbmUgaW4gdGhlIG9iamVjdCBkZXN0cnVj
dG9ycywgYW5kIHRoZSBvYmplY3RzIHRoZW1zZWx2ZXMgc2hvdWxkIGJlIG1lc3NhZ2UgcmVjZWl2
ZXJzLgorICAgIG1fcHJvY2Vzcy0+cmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpEcmF3
aW5nQXJlYVByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcGFnZUlEKTsKKyNpZiBVU0Uo
Q09PUkRJTkFURURfR1JBUEhJQ1MpCisgICAgbV9wcm9jZXNzLT5yZW1vdmVNZXNzYWdlUmVjZWl2
ZXIoTWVzc2FnZXM6OkxheWVyVHJlZUNvb3JkaW5hdG9yUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5h
bWUoKSwgbV9wYWdlSUQpOworI2VuZGlmCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBtX3By
b2Nlc3MtPnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViSW5zcGVjdG9yUHJveHk6
Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9wYWdlSUQpOworI2VuZGlmCisjaWYgRU5BQkxFKEZV
TExTQ1JFRU5fQVBJKQorICAgIG1fcHJvY2Vzcy0+cmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3Nh
Z2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1f
cGFnZUlEKTsKKyNlbmRpZgorCiAjaWZuZGVmIE5ERUJVRwogICAgIHdlYlBhZ2VQcm94eUNvdW50
ZXIuZGVjcmVtZW50KCk7CiAjZW5kaWYKQEAgLTE4NjUsNiArMTkwMyw3IEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpkaWRSZWNlaXZlTWVzc2FnZShDb3IKICAgICB9CiAjZW5kaWYKIAorICAgIEFTU0VS
VChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViUGFnZVByb3h5PigpKTsKICAg
ICBkaWRSZWNlaXZlV2ViUGFnZVByb3h5TWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRl
Y29kZXIpOwogfQogCkBAIC0xODg2LDYgKzE5MjUsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlk
UmVjZWl2ZVN5bmNNZXNzYWdlCiAjZW5kaWYKIAogICAgIC8vIEZJWE1FOiBEbyBzb21ldGhpbmcg
d2l0aCByZXBseS4KKyAgICBBU1NFUlQobWVzc2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFz
c1dlYlBhZ2VQcm94eT4oKSk7CiAgICAgZGlkUmVjZWl2ZVN5bmNXZWJQYWdlUHJveHlNZXNzYWdl
KGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVjb2RlciwgcmVwbHlFbmNvZGVyKTsKIH0KIApJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkocmV2aXNpb24gMTMyNDI2
KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zMiwxNCArMzIsOSBAQAogI2luY2x1ZGUgIkRyYXdpbmdBcmVhUHJveHkuaCIKICNp
bmNsdWRlICJFZGl0b3JTdGF0ZS5oIgogI2luY2x1ZGUgIkdlb2xvY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyUHJveHkuaCIKLSNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotI2luY2x1ZGUg
Ik5hdGl2ZVdlYlRvdWNoRXZlbnQuaCIKLSNlbmRpZgotI2lmIFBMQVRGT1JNKFFUKQotI2luY2x1
ZGUgIlF0TmV0d29ya1JlcXVlc3REYXRhLmgiCi0jZW5kaWYKICNpbmNsdWRlICJMYXllclRyZWVD
b250ZXh0LmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
UHJveHkuaCIKKyNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9y
bVByb2Nlc3NJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgogI2lu
Y2x1ZGUgIlNoYXJlYWJsZUJpdG1hcC5oIgpAQCAtODIsMTYgKzc3LDE3IEBACiAjaW5jbHVkZSA8
V2ViQ29yZS9EcmFnU2Vzc2lvbi5oPgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRT
KQorI2luY2x1ZGUgIk5hdGl2ZVdlYlRvdWNoRXZlbnQuaCIKKyNlbmRpZgorI2lmIFBMQVRGT1JN
KFFUKQorI2luY2x1ZGUgIlF0TmV0d29ya1JlcXVlc3REYXRhLmgiCisjZW5kaWYKKwogI2lmIFBM
QVRGT1JNKEVGTCkKICNpbmNsdWRlIDxFdmFzLmg+CiAjZW5kaWYKIAotbmFtZXNwYWNlIENvcmVJ
UEMgewotICAgIGNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKLSAgICBjbGFzcyBDb25uZWN0aW9uOwot
ICAgIGNsYXNzIE1lc3NhZ2VJRDsKLX0KLQogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOwogICAgIGNsYXNzIEN1cnNvcjsKQEAgLTI0NCw3ICsy
NDAsNyBAQCBjbGFzcyBXZWJQYWdlUHJveHkKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikK
ICAgICAsIHB1YmxpYyBXZWJDb2xvckNob29zZXJQcm94eTo6Q2xpZW50CiAjZW5kaWYKLSAgICAs
IHB1YmxpYyBXZWJQb3B1cE1lbnVQcm94eTo6Q2xpZW50IHsKKyAgICAsIHB1YmxpYyBXZWJQb3B1
cE1lbnVQcm94eTo6Q2xpZW50LCBwcml2YXRlIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CiBw
dWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IFR5cGUgQVBJVHlwZSA9IFR5cGVQYWdlOwogCkBAIC01
OTksOSArNTk1LDYgQEAgcHVibGljOgogI2VuZGlmCiAjZW5kaWYKIAotICAgIHZvaWQgZGlkUmVj
ZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29y
ZUlQQzo6TWVzc2FnZURlY29kZXImKTsKLSAgICB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShD
b3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdl
RGVjb2RlciYsIE93blB0cjxDb3JlSVBDOjpNZXNzYWdlRW5jb2Rlcj4mKTsKLQogICAgIHZvaWQg
cHJvY2Vzc0RpZEJlY29tZVVucmVzcG9uc2l2ZSgpOwogICAgIHZvaWQgaW50ZXJhY3Rpb25PY2N1
cnJlZFdoaWxlUHJvY2Vzc1VucmVzcG9uc2l2ZSgpOwogICAgIHZvaWQgcHJvY2Vzc0RpZEJlY29t
ZVJlc3BvbnNpdmUoKTsKQEAgLTc0OCw2ICs3NDEsMTAgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1
YWwgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gQVBJVHlwZTsgfQogCisgICAgLy8gQ29yZUlQ
Qzo6TWVzc2FnZVJlY2VpdmVyCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpD
b25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYp
IE9WRVJSSURFOworICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKENvcmVJUEM6OkNvbm5l
Y3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiwgT3du
UHRyPENvcmVJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYpIE9WRVJSSURFOworCiAgICAgLy8gV2ViUG9w
dXBNZW51UHJveHk6OkNsaWVudAogICAgIHZpcnR1YWwgdm9pZCB2YWx1ZUNoYW5nZWRGb3JQb3B1
cE1lbnUoV2ViUG9wdXBNZW51UHJveHkqLCBpbnQzMl90IG5ld1NlbGVjdGVkSW5kZXgpOwogICAg
IHZpcnR1YWwgdm9pZCBzZXRUZXh0RnJvbUl0ZW1Gb3JQb3B1cE1lbnUoV2ViUG9wdXBNZW51UHJv
eHkqLCBpbnQzMl90IGluZGV4KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUHJveHkuY3BwCShyZXZpc2lvbiAxMzI0MjYpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIxLDYgKzEy
MSwyMSBAQCBXZWJQcm9jZXNzUHJveHkqIFdlYlByb2Nlc3NQcm94eTo6ZnJvbUNvCiAgICAgcmV0
dXJuIHdlYlByb2Nlc3NQcm94eTsKIH0KIAordm9pZCBXZWJQcm9jZXNzUHJveHk6OmFkZE1lc3Nh
Z2VSZWNlaXZlcihDb3JlSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFtZSwg
Q29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyKiBtZXNzYWdlUmVjZWl2ZXIpCit7CisgICAgbV9tZXNz
YWdlUmVjZWl2ZXJNYXAuYWRkTWVzc2FnZVJlY2VpdmVyKG1lc3NhZ2VSZWNlaXZlck5hbWUsIG1l
c3NhZ2VSZWNlaXZlcik7Cit9CisKK3ZvaWQgV2ViUHJvY2Vzc1Byb3h5OjphZGRNZXNzYWdlUmVj
ZWl2ZXIoQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIHVpbnQ2
NF90IGRlc3RpbmF0aW9uSUQsIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlciogbWVzc2FnZVJlY2Vp
dmVyKQoreworICAgIG1fbWVzc2FnZVJlY2VpdmVyTWFwLmFkZE1lc3NhZ2VSZWNlaXZlcihtZXNz
YWdlUmVjZWl2ZXJOYW1lLCBkZXN0aW5hdGlvbklELCBtZXNzYWdlUmVjZWl2ZXIpOworfQorCit2
b2lkIFdlYlByb2Nlc3NQcm94eTo6cmVtb3ZlTWVzc2FnZVJlY2VpdmVyKENvcmVJUEM6OlN0cmlu
Z1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklEKQor
eworICAgIG1fbWVzc2FnZVJlY2VpdmVyTWFwLnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihtZXNzYWdl
UmVjZWl2ZXJOYW1lLCBkZXN0aW5hdGlvbklEKTsKK30KKwogdm9pZCBXZWJQcm9jZXNzUHJveHk6
OmNvbm5lY3QoKQogewogICAgIEFTU0VSVCghbV9wcm9jZXNzTGF1bmNoZXIpOwpAQCAtNDE2LDQ0
ICs0MzEsMjcgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmdldE5ldHdvcmtQcm9jZXNzQwogCiB2
b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlv
biogY29ubmVjdGlvbiwgQ29yZUlQQzo6TWVzc2FnZUlEIG1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVz
c2FnZURlY29kZXImIGRlY29kZXIpCiB7Ci0gICAgaWYgKG1fY29udGV4dC0+ZGlzcGF0Y2hNZXNz
YWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVjb2RlcikpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViUHJvY2Vzc1Byb3h5
PigpKSB7Ci0gICAgICAgIGRpZFJlY2VpdmVXZWJQcm9jZXNzUHJveHlNZXNzYWdlKGNvbm5lY3Rp
b24sIG1lc3NhZ2VJRCwgZGVjb2Rlcik7CisgICAgaWYgKG1fbWVzc2FnZVJlY2VpdmVyTWFwLmRp
c3BhdGNoTWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpKQogICAgICAgICBy
ZXR1cm47Ci0gICAgfQogCi0gICAgdWludDY0X3QgcGFnZUlEID0gZGVjb2Rlci5kZXN0aW5hdGlv
bklEKCk7Ci0gICAgaWYgKCFwYWdlSUQpCisgICAgaWYgKG1fY29udGV4dC0+ZGlzcGF0Y2hNZXNz
YWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVjb2RlcikpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIFdlYlBhZ2VQcm94eSogcGFnZVByb3h5ID0gd2ViUGFnZShwYWdlSUQpOwotICAgIGlmICgh
cGFnZVByb3h5KQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgcGFnZVByb3h5LT5kaWRSZWNl
aXZlTWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpOworICAgIEFTU0VSVCht
ZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViUHJvY2Vzc1Byb3h5PigpKTsKKyAg
ICBkaWRSZWNlaXZlV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQs
IGRlY29kZXIpOwogfQogCiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZVN5bmNNZXNz
YWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIENvcmVJUEM6Ok1lc3NhZ2VJRCBt
ZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyLCBPd25QdHI8Q29yZUlQ
Qzo6TWVzc2FnZUVuY29kZXI+JiByZXBseUVuY29kZXIpCiB7Ci0gICAgaWYgKG1fY29udGV4dC0+
ZGlzcGF0Y2hTeW5jTWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIsIHJlcGx5
RW5jb2RlcikpCisgICAgaWYgKG1fbWVzc2FnZVJlY2VpdmVyTWFwLmRpc3BhdGNoU3luY01lc3Nh
Z2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyLCByZXBseUVuY29kZXIpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBpZiAobWVzc2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dl
YlByb2Nlc3NQcm94eT4oKSkgewotICAgICAgICBkaWRSZWNlaXZlU3luY1dlYlByb2Nlc3NQcm94
eU1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyLCByZXBseUVuY29kZXIpOwor
ICAgIGlmIChtX2NvbnRleHQtPmRpc3BhdGNoU3luY01lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2Fn
ZUlELCBkZWNvZGVyLCByZXBseUVuY29kZXIpKQogICAgICAgICByZXR1cm47Ci0gICAgfQogCi0g
ICAgdWludDY0X3QgcGFnZUlEID0gZGVjb2Rlci5kZXN0aW5hdGlvbklEKCk7Ci0gICAgaWYgKCFw
YWdlSUQpCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBXZWJQYWdlUHJveHkqIHBhZ2VQcm94
eSA9IHdlYlBhZ2UocGFnZUlEKTsKLSAgICBpZiAoIXBhZ2VQcm94eSkKLSAgICAgICAgcmV0dXJu
OwogICAgIAotICAgIHBhZ2VQcm94eS0+ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKGNvbm5lY3Rpb24s
IG1lc3NhZ2VJRCwgZGVjb2RlciwgcmVwbHlFbmNvZGVyKTsKKyAgICBBU1NFUlQobWVzc2FnZUlE
LmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYlByb2Nlc3NQcm94eT4oKSk7CisgICAgZGlkUmVj
ZWl2ZVN5bmNXZWJQcm9jZXNzUHJveHlNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVj
b2RlciwgcmVwbHlFbmNvZGVyKTsKIH0KIAogdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZFJlY2Vp
dmVNZXNzYWdlT25Db25uZWN0aW9uV29ya1F1ZXVlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5l
Y3Rpb24sIENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJiBkZWNvZGVyLCBib29sJiBkaWRIYW5kbGVNZXNzYWdlKQpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkocmV2aXNpb24gMTMyNDI2KQorKysgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIFdlYlByb2Nlc3NQcm94eV9oCiAjZGVmaW5lIFdlYlBy
b2Nlc3NQcm94eV9oCiAKKyNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXJNYXAuaCIKICNpbmNsdWRl
ICJQbGF0Zm9ybVByb2Nlc3NJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiUGx1Z2luSW5mb1N0b3Jl
LmgiCiAjaW5jbHVkZSAiUHJvY2Vzc0xhdW5jaGVyLmgiCkBAIC02Myw2ICs2NCwxMCBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiBjcmVhdGUoUGFzc1Jl
ZlB0cjxXZWJDb250ZXh0Pik7CiAgICAgfldlYlByb2Nlc3NQcm94eSgpOwogCisgICAgdm9pZCBh
ZGRNZXNzYWdlUmVjZWl2ZXIoQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZl
ck5hbWUsIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlciopOworICAgIHZvaWQgYWRkTWVzc2FnZVJl
Y2VpdmVyKENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1lLCB1aW50
NjRfdCBkZXN0aW5hdGlvbklELCBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIqKTsKKyAgICB2b2lk
IHJlbW92ZU1lc3NhZ2VSZWNlaXZlcihDb3JlSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJl
Y2VpdmVyTmFtZSwgdWludDY0X3QgZGVzdGluYXRpb25JRCk7CisKICAgICBzdGF0aWMgV2ViUHJv
Y2Vzc1Byb3h5KiBmcm9tQ29ubmVjdGlvbihDb3JlSVBDOjpDb25uZWN0aW9uKik7CiAKICAgICB2
b2lkIHRlcm1pbmF0ZSgpOwpAQCAtMjAxLDYgKzIwNiw3IEBAIHByaXZhdGU6CiAgICAgLy8gVGhp
cyBpcyBub3QgYSBDb3JlSVBDOjpDb25uZWN0aW9uIHNvIHRoYXQgd2UgY2FuIHdyYXAgdGhlIENv
cmVJUEM6OkNvbm5lY3Rpb24gaW4KICAgICAvLyBhbiBBUEkgb2JqZWN0LgogICAgIFJlZlB0cjxX
ZWJDb25uZWN0aW9uVG9XZWJQcm9jZXNzPiBtX2Nvbm5lY3Rpb247CisgICAgQ29yZUlQQzo6TWVz
c2FnZVJlY2VpdmVyTWFwIG1fbWVzc2FnZVJlY2VpdmVyTWFwOwogCiAgICAgVmVjdG9yPHN0ZDo6
cGFpcjxDb3JlSVBDOjpDb25uZWN0aW9uOjpPdXRnb2luZ01lc3NhZ2UsIHVuc2lnbmVkPiA+IG1f
cGVuZGluZ01lc3NhZ2VzOwogICAgIFJlZlB0cjxQcm9jZXNzTGF1bmNoZXI+IG1fcHJvY2Vzc0xh
dW5jaGVyOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9h
ZFByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRG93bmxv
YWRzL0Rvd25sb2FkUHJveHkuY3BwCShyZXZpc2lvbiAxMzI0MjYpCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5
LmgiCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgorI2luY2x1ZGUgIkRvd25sb2FkUHJveHlN
ZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJEYXRhLmgi
CiAjaW5jbHVkZSAiV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCkBAIC01Myw2ICs1NCw3IEBAIERvd25s
b2FkUHJveHk6OkRvd25sb2FkUHJveHkoV2ViQ29udGV4dCoKICAgICA6IG1fd2ViQ29udGV4dCh3
ZWJDb250ZXh0KQogICAgICwgbV9kb3dubG9hZElEKGdlbmVyYXRlRG93bmxvYWRJRCgpKQogewor
ICAgIG1fd2ViQ29udGV4dC0+YWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpEb3dubG9hZFBy
b3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fZG93bmxvYWRJRCwgdGhpcyk7CiB9CiAKIERv
d25sb2FkUHJveHk6On5Eb3dubG9hZFByb3h5KCkKQEAgLTcyLDYgKzc0LDggQEAgdm9pZCBEb3du
bG9hZFByb3h5OjpjYW5jZWwoKQogdm9pZCBEb3dubG9hZFByb3h5OjppbnZhbGlkYXRlKCkKIHsK
ICAgICBBU1NFUlQobV93ZWJDb250ZXh0KTsKKworICAgIG1fd2ViQ29udGV4dC0+cmVtb3ZlTWVz
c2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpEb3dubG9hZFByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1l
KCksIG1fZG93bmxvYWRJRCk7CiAgICAgbV93ZWJDb250ZXh0ID0gMDsKIH0KIApAQCAtMjAwLDUg
KzIwNCwxNSBAQCB2b2lkIERvd25sb2FkUHJveHk6OnN0YXJ0VHJhbnNmZXIoY29uc3QgCiB9CiAj
ZW5kaWYKIAordm9pZCBEb3dubG9hZFByb3h5OjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpD
b25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpNZXNzYWdlSUQgbWVzc2FnZUlELCBDb3Jl
SVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBkaWRSZWNlaXZlRG93bmxvYWRQ
cm94eU1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKK30KKwordm9pZCBE
b3dubG9hZFByb3h5OjpkaWRSZWNlaXZlU3luY01lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiog
Y29ubmVjdGlvbiwgQ29yZUlQQzo6TWVzc2FnZUlEIG1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2Fn
ZURlY29kZXImIGRlY29kZXIsIE93blB0cjxDb3JlSVBDOjpNZXNzYWdlRW5jb2Rlcj4mIHJlcGx5
RW5jb2RlcikKK3sKKyAgICBkaWRSZWNlaXZlU3luY0Rvd25sb2FkUHJveHlNZXNzYWdlKGNvbm5l
Y3Rpb24sIG1lc3NhZ2VJRCwgZGVjb2RlciwgcmVwbHlFbmNvZGVyKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMv
RG93bmxvYWRQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9E
b3dubG9hZHMvRG93bmxvYWRQcm94eS5oCShyZXZpc2lvbiAxMzI0MjYpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkuaAkod29ya2luZyBjb3B5KQpA
QCAtNDUsNyArNDUsNyBAQCBjbGFzcyBXZWJDb250ZXh0OwogY2xhc3MgV2ViRGF0YTsKIGNsYXNz
IFdlYlBhZ2VQcm94eTsKIAotY2xhc3MgRG93bmxvYWRQcm94eSA6IHB1YmxpYyBBUElPYmplY3Qg
eworY2xhc3MgRG93bmxvYWRQcm94eSA6IHB1YmxpYyBBUElPYmplY3QsIHByaXZhdGUgQ29yZUlQ
Qzo6TWVzc2FnZVJlY2VpdmVyIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgVHlwZSBBUElU
eXBlID0gVHlwZURvd25sb2FkOwogCkBAIC02MSw5ICs2MSw2IEBAIHB1YmxpYzoKICAgICB2b2lk
IGludmFsaWRhdGUoKTsKICAgICB2b2lkIHByb2Nlc3NEaWRDbG9zZSgpOwogCi0gICAgdm9pZCBk
aWRSZWNlaXZlRG93bmxvYWRQcm94eU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJ
UEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKLSAgICB2b2lkIGRpZFJl
Y2VpdmVTeW5jRG93bmxvYWRQcm94eU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJ
UEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImLCBPd25QdHI8Q29yZUlQQzo6
TWVzc2FnZUVuY29kZXI+Jik7Ci0KICNpZiBQTEFURk9STShRVCkKICAgICB2b2lkIHN0YXJ0VHJh
bnNmZXIoY29uc3QgU3RyaW5nJiBmaWxlbmFtZSk7CiAjZW5kaWYKQEAgLTczLDYgKzcwLDE0IEBA
IHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIEFQSVR5
cGU7IH0KIAorICAgIC8vIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlcgorICAgIHZvaWQgZGlkUmVj
ZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29y
ZUlQQzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklERTsKKyAgICB2b2lkIGRpZFJlY2VpdmVTeW5j
TWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBD
OjpNZXNzYWdlRGVjb2RlciYsIE93blB0cjxDb3JlSVBDOjpNZXNzYWdlRW5jb2Rlcj4mKSBPVkVS
UklERTsKKworICAgIC8vIEltcGxlbWVudGVkIGluIGdlbmVyYXRlZCBEb3dubG9hZFByb3h5TWVz
c2FnZVJlY2VpdmVyLmNwcAorICAgIHZvaWQgZGlkUmVjZWl2ZURvd25sb2FkUHJveHlNZXNzYWdl
KENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJik7CisgICAgdm9pZCBkaWRSZWNlaXZlU3luY0Rvd25sb2FkUHJveHlNZXNzYWdl
KENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJiwgT3duUHRyPENvcmVJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYpOworCiAgICAgLy8g
TWVzc2FnZSBoYW5kbGVycy4KICAgICB2b2lkIGRpZFN0YXJ0KGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYpOwogICAgIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
KGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgdWludDY0X3QgY2hhbGxl
bmdlSUQpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCShy
ZXZpc2lvbiAxMzI0MjYpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NjIsNyArNjYyLDYgQEAgdm9pZCBXZWJQcm9jZXNzOjp0
ZXJtaW5hdGUoKQogdm9pZCBXZWJQcm9jZXNzOjpkaWRSZWNlaXZlU3luY01lc3NhZ2UoQ29yZUlQ
Qzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQQzo6TWVzc2FnZUlEIG1lc3NhZ2VJRCwg
Q29yZUlQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIsIE93blB0cjxDb3JlSVBDOjpNZXNzYWdl
RW5jb2Rlcj4mIHJlcGx5RW5jb2RlcikKIHsKICAgICBtX21lc3NhZ2VSZWNlaXZlck1hcC5kaXNw
YXRjaFN5bmNNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVjb2RlciwgcmVwbHlFbmNv
ZGVyKTsKLSAgICAgICAgcmV0dXJuOwogfQogCiB2b2lkIFdlYlByb2Nlc3M6OmRpZFJlY2VpdmVN
ZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIENvcmVJUEM6Ok1lc3NhZ2VJ
RCBtZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQpAQCAtNzA2LDE4
ICs3MDUsNiBAQCB2b2lkIFdlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJCiAgICAg
ICAgIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyOjpzaGFyZWQoKS5kaWRSZWNlaXZlTWVzc2FnZShj
b25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpOwogICAgICAgICByZXR1cm47CiAgICAgfQot
ICAgIAotICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViUGFnZUdy
b3VwUHJveHk+KCkpIHsKLSAgICAgICAgdWludDY0X3QgcGFnZUdyb3VwSUQgPSBkZWNvZGVyLmRl
c3RpbmF0aW9uSUQoKTsKLSAgICAgICAgaWYgKCFwYWdlR3JvdXBJRCkKLSAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgCi0gICAgICAgIFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlR3JvdXBQcm94
eSA9IHdlYlBhZ2VHcm91cChwYWdlR3JvdXBJRCk7Ci0gICAgICAgIGlmICghcGFnZUdyb3VwUHJv
eHkpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgICAgICBwYWdlR3JvdXBQcm94
eS0+ZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKLSAg
ICB9CiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6ZGlkQ2xvc2UoQ29yZUlQQzo6Q29ubmVjdGlvbiop
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZUdyb3VwUHJv
eHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlR3JvdXBQcm94eS5jcHAJKHJldmlzaW9uIDEzMjQyNikKKysrIFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlR3JvdXBQcm94eS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI2LDggKzI2LDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJQYWdl
R3JvdXBQcm94eS5oIgogCi0jaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgIkluamVj
dGVkQnVuZGxlLmgiCisjaW5jbHVkZSAiV2ViUGFnZUdyb3VwUHJveHlNZXNzYWdlcy5oIgorI2lu
Y2x1ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0RPTVdyYXBwZXJXb3JsZC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZUdyb3VwLmg+CiAKQEAgLTQzLDI1ICs0NCwyOCBAQCBQ
YXNzUmVmUHRyPFdlYlBhZ2VHcm91cFByb3h5PiBXZWJQYWdlR3JvCiAgICAgcmV0dXJuIHBhZ2VH
cm91cC5yZWxlYXNlKCk7CiB9CiAKLVdlYlBhZ2VHcm91cFByb3h5Ojp+V2ViUGFnZUdyb3VwUHJv
eHkoKQotewotfQotICAgIAotdm9pZCBXZWJQYWdlR3JvdXBQcm94eTo6ZGlkUmVjZWl2ZU1lc3Nh
Z2UoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQQzo6TWVzc2FnZUlEIG1l
c3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCi17Ci0gICAgZGlkUmVj
ZWl2ZVdlYlBhZ2VHcm91cFByb3h5TWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29k
ZXIpOwotfQotICAgIAogV2ViUGFnZUdyb3VwUHJveHk6OldlYlBhZ2VHcm91cFByb3h5KGNvbnN0
IFdlYlBhZ2VHcm91cERhdGEmIGRhdGEpCiAgICAgOiBtX2RhdGEoZGF0YSkKICAgICAsIG1fcGFn
ZUdyb3VwKFdlYkNvcmU6OlBhZ2VHcm91cDo6cGFnZUdyb3VwKG1fZGF0YS5pZGVudGlmZXIpKQog
eworICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6
V2ViUGFnZUdyb3VwUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9kYXRhLnBhZ2VHcm91
cElELCB0aGlzKTsKKwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZGF0YS51c2VyU3R5bGVT
aGVldHMuc2l6ZSgpOyArK2kpCiAgICAgICAgIGFkZFVzZXJTdHlsZVNoZWV0KGRhdGEudXNlclN0
eWxlU2hlZXRzW2ldKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGRhdGEudXNlclNjcmlw
dHMuc2l6ZSgpOyArK2kpCiAgICAgICAgIGFkZFVzZXJTY3JpcHQoZGF0YS51c2VyU2NyaXB0c1tp
XSk7CiB9CiAKK1dlYlBhZ2VHcm91cFByb3h5Ojp+V2ViUGFnZUdyb3VwUHJveHkoKQoreworICAg
IFdlYlByb2Nlc3M6OnNoYXJlZCgpLnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2Vi
UGFnZUdyb3VwUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9kYXRhLnBhZ2VHcm91cElE
KTsKK30KKwordm9pZCBXZWJQYWdlR3JvdXBQcm94eTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQ
Qzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQQzo6TWVzc2FnZUlEIG1lc3NhZ2VJRCwg
Q29yZUlQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCit7CisgICAgZGlkUmVjZWl2ZVdlYlBh
Z2VHcm91cFByb3h5TWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpOworfQor
CiB2b2lkIFdlYlBhZ2VHcm91cFByb3h5OjphZGRVc2VyU3R5bGVTaGVldChjb25zdCBXZWJDb3Jl
OjpVc2VyU3R5bGVTaGVldCYgdXNlclN0eWxlU2hlZXQpCiB7CiAgICAgbV9wYWdlR3JvdXAtPmFk
ZFVzZXJTdHlsZVNoZWV0VG9Xb3JsZChXZWJDb3JlOjptYWluVGhyZWFkTm9ybWFsV29ybGQoKSwg
dXNlclN0eWxlU2hlZXQuc291cmNlKCksIHVzZXJTdHlsZVNoZWV0LnVybCgpLCB1c2VyU3R5bGVT
aGVldC53aGl0ZWxpc3QoKSwgdXNlclN0eWxlU2hlZXQuYmxhY2tsaXN0KCksIHVzZXJTdHlsZVNo
ZWV0LmluamVjdGVkRnJhbWVzKCksIHVzZXJTdHlsZVNoZWV0LmxldmVsKCkpOwpJbmRleDogU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VHcm91cFByb3h5LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VHcm91cFBy
b3h5LmgJKHJldmlzaW9uIDEzMjQyNikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlR3JvdXBQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNywyMiArMjcsMTcg
QEAKICNkZWZpbmUgV2ViUGFnZUdyb3VwUHJveHlfaAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0Lmgi
CisjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiV2ViUGFnZUdyb3VwRGF0
YS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKLW5hbWVzcGFjZSBDb3JlSVBDIHsK
LWNsYXNzIENvbm5lY3Rpb247Ci1jbGFzcyBNZXNzYWdlRGVjb2RlcjsKLWNsYXNzIE1lc3NhZ2VJ
RDsKLX0KLQogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUGFnZUdyb3VwOwogfQogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgV2ViUGFnZUdyb3VwUHJveHkgOiBwdWJsaWMgQVBJT2Jq
ZWN0IHsKK2NsYXNzIFdlYlBhZ2VHcm91cFByb3h5IDogcHVibGljIEFQSU9iamVjdCwgcHJpdmF0
ZSBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIgewogcHVibGljOgogICAgIHN0YXRpYyBjb25zdCBU
eXBlIEFQSVR5cGUgPSBUeXBlQnVuZGxlUGFnZUdyb3VwOwogCkBAIC01MywxNCArNDgsMTYgQEAg
cHVibGljOgogICAgIHVpbnQ2NF90IHBhZ2VHcm91cElEKCkgY29uc3QgeyByZXR1cm4gbV9kYXRh
LnBhZ2VHcm91cElEOyB9CiAgICAgYm9vbCBpc1Zpc2libGVUb0luamVjdGVkQnVuZGxlKCkgY29u
c3QgeyByZXR1cm4gbV9kYXRhLnZpc2libGVUb0luamVjdGVkQnVuZGxlOyB9CiAgICAgYm9vbCBp
c1Zpc2libGVUb0hpc3RvcnlDbGllbnQoKSBjb25zdCB7IHJldHVybiBtX2RhdGEudmlzaWJsZVRv
SGlzdG9yeUNsaWVudDsgfQotICAgIAotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQ
Qzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29k
ZXImKTsKIAogcHJpdmF0ZToKICAgICBXZWJQYWdlR3JvdXBQcm94eShjb25zdCBXZWJQYWdlR3Jv
dXBEYXRhJik7CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIEFQSVR5
cGU7IH0KICAgICAKKyAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKKyAgICB2b2lkIGRp
ZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQs
IENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CisKKyAgICAvLyBJbXBsZW1lbnRl
ZCBpbiBnZW5lcmF0ZWQgV2ViUGFnZUdyb3VwUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAgICAg
dm9pZCBkaWRSZWNlaXZlV2ViUGFnZUdyb3VwUHJveHlNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rp
b24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAg
CiAgICAgdm9pZCBhZGRVc2VyU3R5bGVTaGVldChjb25zdCBXZWJDb3JlOjpVc2VyU3R5bGVTaGVl
dCYpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171057</attachid>
            <date>2012-10-26 17:18:03 -0700</date>
            <delta_ts>2012-10-27 13:21:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100325-20121026171636.patch</filename>
            <type>text/plain</type>
            <size>25245</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjcxMikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDYxIEBACisyMDEyLTEwLTI0ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgWWV0IG1vcmUgTWVzc2FnZVJlY2VpdmVy
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAz
MjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtl
IERvd25sb2FkUHJveHksIFdlYlBhZ2VQcm94eSwgYW5kIFdlYlBhZ2VHcm91cFByb3h5IE1lc3Nh
Z2VSZWNlaXZlcnMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpEb3dubG9hZFByb3h5OjpEb3dubG9hZFByb3h5KToK
KyAgICAgICAgKFdlYktpdDo6RG93bmxvYWRQcm94eTo6aW52YWxpZGF0ZSk6CisgICAgICAgIChX
ZWJLaXQ6OkRvd25sb2FkUHJveHk6OmRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAgICAgKFdlYktp
dDo6RG93bmxvYWRQcm94eTo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkuaDoKKyAgICAgICAgKERvd25sb2FkUHJveHkp
OgorICAgICAgICBNYWtlIGEgTWVzc2FnZVJlY2VpdmVyLgorCisgICAgICAgICogVUlQcm9jZXNz
L1dlYkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpXZWJDb250ZXh0
KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6YWRkTWVzc2FnZVJlY2VpdmVyKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6cmVtb3ZlTWVzc2FnZVJlY2VpdmVyKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViQ29udGV4dDo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJDb250ZXh0OjpkaWRSZWNlaXZlU3luY01lc3NhZ2UpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJDb250ZXh0Lmg6CisgICAgICAgIEFkZCBhZGRpdGlvbmFsIE1lc3NhZ2VSZWNlaXZl
ck1hcCBmb3J3YXJkcywgYW5kIHN0b3AgZGVhbGluZyB3aXRoIERvd25sb2FkUHJveHkgZXhwbGlj
aXRseS4KKyAgICAgICAgCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6V2ViUGFnZVByb3h5KToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5Ojp+V2ViUGFnZVByb3h5KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lmg6CisgICAgICAgIE1ha2UgYSBNZXNzYWdlUmVjZWl2ZXIsIGJ1dCBrZWVwIHN1YiBv
YmplY3RzIHVzaW5nIGRpZFJlY2VpdmVNZXNzYWdlIGZvciBub3cgKGxpa2UgV2ViUGFnZSkuCisg
ICAgICAgIAorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmFkZE1lc3NhZ2VSZWNlaXZlcik6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6cmVtb3ZlTWVzc2FnZVJlY2VpdmVyKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgIEdpdmUgV2ViUHJvY2Vz
c1Byb3h5IGEgTWVzc2FnZVJlY2VpdmVyTWFwIGFuZCBhbGwgdGhlIGFwcHJvcHJpYXRlIGZvcndh
cmRpbmcgbWV0aG9kcy4KKyAgICAgICAgCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2VHcm91cFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZUdyb3VwUHJveHk6
OldlYlBhZ2VHcm91cFByb3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZUdyb3VwUHJveHk6
On5XZWJQYWdlR3JvdXBQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VHcm91cFByb3h5
OjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2VHcm91cFByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VHcm91cFByb3h5Ojppc1Zp
c2libGVUb0hpc3RvcnlDbGllbnQpOgorICAgICAgICAoV2ViUGFnZUdyb3VwUHJveHkpOgorICAg
ICAgICBNYWtlIGEgTWVzc2FnZVJlY2VpdmVyIGFuZCByZWdpc3Rlci91bnJlZ2lzdGVyIHdpdGgg
dGhlIFdlYlByb2Nlc3MuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpkaWRSZWNlaXZlU3luY01lc3NhZ2UpOgorICAg
ICAgICBSZW1vdmUgZXh0cmFuZW91cyByZXR1cm4gc3RhdGVtZW50LgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgIFN0b3AgaGFuZGxpbmcg
V2ViUGFnZUdyb3VwUHJveHkgc3BlY2lhbC4KKwogMjAxMi0xMC0yNiAgU3RlcGhhbmllIExld2lz
ICA8c2xld2lzQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgcGlkcyB0byBXZWJNZW1vcnlTYW1w
bGVGaWxlcy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAJKHJl
dmlzaW9uIDEzMjcxMikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNzYxLDcgKzc2MSw2IEBAIERvd25sb2FkUHJveHkqIFdlYkNv
bnRleHQ6OmNyZWF0ZURvd25sb2EKIHsKICAgICBSZWZQdHI8RG93bmxvYWRQcm94eT4gZG93bmxv
YWRQcm94eSA9IERvd25sb2FkUHJveHk6OmNyZWF0ZSh0aGlzKTsKICAgICBtX2Rvd25sb2Fkcy5z
ZXQoZG93bmxvYWRQcm94eS0+ZG93bmxvYWRJRCgpLCBkb3dubG9hZFByb3h5KTsKLSAgICBhZGRN
ZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OkRvd25sb2FkUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5h
bWUoKSwgZG93bmxvYWRQcm94eS0+ZG93bmxvYWRJRCgpLCB0aGlzKTsKICAgICByZXR1cm4gZG93
bmxvYWRQcm94eS5nZXQoKTsKIH0KIApAQCAtNzcwLDcgKzc2OSw2IEBAIHZvaWQgV2ViQ29udGV4
dDo6ZG93bmxvYWRGaW5pc2hlZChEb3dubG8KICAgICBBU1NFUlQobV9kb3dubG9hZHMuY29udGFp
bnMoZG93bmxvYWRQcm94eS0+ZG93bmxvYWRJRCgpKSk7CiAKICAgICBkb3dubG9hZFByb3h5LT5p
bnZhbGlkYXRlKCk7Ci0gICAgcmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpEb3dubG9h
ZFByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIGRvd25sb2FkUHJveHktPmRvd25sb2FkSUQo
KSk7CiAgICAgbV9kb3dubG9hZHMucmVtb3ZlKGRvd25sb2FkUHJveHktPmRvd25sb2FkSUQoKSk7
CiB9CiAKQEAgLTgxOCwxMyArODE2LDYgQEAgdm9pZCBXZWJDb250ZXh0OjpkaWRSZWNlaXZlTWVz
c2FnZShDb3JlSQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKG1lc3NhZ2VJRC5p
czxDb3JlSVBDOjpNZXNzYWdlQ2xhc3NEb3dubG9hZFByb3h5PigpKSB7Ci0gICAgICAgIGlmIChE
b3dubG9hZFByb3h5KiBkb3dubG9hZFByb3h5ID0gbV9kb3dubG9hZHMuZ2V0KGRlY29kZXIuZGVz
dGluYXRpb25JRCgpKS5nZXQoKSkKLSAgICAgICAgICAgIGRvd25sb2FkUHJveHktPmRpZFJlY2Vp
dmVEb3dubG9hZFByb3h5TWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpOwot
ICAgICAgICAKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIHN3aXRjaCAobWVzc2FnZUlE
LmdldDxXZWJDb250ZXh0TGVnYWN5TWVzc2FnZTo6S2luZD4oKSkgewogICAgICAgICBjYXNlIFdl
YkNvbnRleHRMZWdhY3lNZXNzYWdlOjpQb3N0TWVzc2FnZTogewogICAgICAgICAgICAgU3RyaW5n
IG1lc3NhZ2VOYW1lOwpAQCAtODUyLDEyICs4NDMsNiBAQCB2b2lkIFdlYkNvbnRleHQ6OmRpZFJl
Y2VpdmVTeW5jTWVzc2FnZShDCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAobWVz
c2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc0Rvd25sb2FkUHJveHk+KCkpIHsKLSAgICAg
ICAgaWYgKERvd25sb2FkUHJveHkqIGRvd25sb2FkUHJveHkgPSBtX2Rvd25sb2Fkcy5nZXQoZGVj
b2Rlci5kZXN0aW5hdGlvbklEKCkpLmdldCgpKQotICAgICAgICAgICAgZG93bmxvYWRQcm94eS0+
ZGlkUmVjZWl2ZVN5bmNEb3dubG9hZFByb3h5TWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQs
IGRlY29kZXIsIHJlcGx5RW5jb2Rlcik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICBz
d2l0Y2ggKG1lc3NhZ2VJRC5nZXQ8V2ViQ29udGV4dExlZ2FjeU1lc3NhZ2U6OktpbmQ+KCkpIHsK
ICAgICAgICAgY2FzZSBXZWJDb250ZXh0TGVnYWN5TWVzc2FnZTo6UG9zdFN5bmNocm9ub3VzTWVz
c2FnZTogewogICAgICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBwcm9iYWJseSBlbmNvZGUg
c29tZXRoaW5nIGluIHRoZSBjYXNlIHRoYXQgdGhlIGFyZ3VtZW50cyBkbyBub3QgZGVjb2RlIGNv
cnJlY3RseS4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAkocmV2aXNp
b24gMTMyNzEyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAkod29y
a2luZyBjb3B5KQpAQCAtNTAsMzAgKzUwLDMxIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFz
cyBEb3dubG9hZFByb3h5OwogY2xhc3MgV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJQcm94eTsK
LSNpZiBFTkFCTEUoQkFUVEVSWV9TVEFUVVMpCi1jbGFzcyBXZWJCYXR0ZXJ5TWFuYWdlclByb3h5
OwotI2VuZGlmCiBjbGFzcyBXZWJDb29raWVNYW5hZ2VyUHJveHk7CiBjbGFzcyBXZWJEYXRhYmFz
ZU1hbmFnZXJQcm94eTsKIGNsYXNzIFdlYkdlb2xvY2F0aW9uTWFuYWdlclByb3h5OwogY2xhc3Mg
V2ViSWNvbkRhdGFiYXNlOwogY2xhc3MgV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5Owog
Y2xhc3MgV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eTsKLSNpZiBFTkFCTEUoTkVUV09SS19JTkZP
KQotY2xhc3MgV2ViTmV0d29ya0luZm9NYW5hZ2VyUHJveHk7Ci0jZW5kaWYKIGNsYXNzIFdlYk5v
dGlmaWNhdGlvbk1hbmFnZXJQcm94eTsKIGNsYXNzIFdlYlBhZ2VHcm91cDsKIGNsYXNzIFdlYlBh
Z2VQcm94eTsKIGNsYXNzIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHk7CitzdHJ1Y3QgU3Rh
dGlzdGljc0RhdGE7CitzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKKworI2lm
IEVOQUJMRShCQVRURVJZX1NUQVRVUykKK2NsYXNzIFdlYkJhdHRlcnlNYW5hZ2VyUHJveHk7Cisj
ZW5kaWYKKyNpZiBFTkFCTEUoTkVUV09SS19JTkZPKQorY2xhc3MgV2ViTmV0d29ya0luZm9NYW5h
Z2VyUHJveHk7CisjZW5kaWYKICNpZiBVU0UoU09VUCkKIGNsYXNzIFdlYlNvdXBSZXF1ZXN0TWFu
YWdlclByb3h5OwogI2VuZGlmCiAjaWYgRU5BQkxFKFZJQlJBVElPTikKIGNsYXNzIFdlYlZpYnJh
dGlvblByb3h5OwogI2VuZGlmCi1zdHJ1Y3QgU3RhdGlzdGljc0RhdGE7Ci1zdHJ1Y3QgV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKICAgICAKIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPFdL
RGljdGlvbmFyeVJlZj4gRGljdGlvbmFyeUNhbGxiYWNrOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24gMTMyNzEyKQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMy
LDYgKzMyLDcgQEAKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiRG93bmxv
YWRQcm94eS5oIgogI2luY2x1ZGUgIkRyYXdpbmdBcmVhUHJveHkuaCIKKyNpbmNsdWRlICJEcmF3
aW5nQXJlYVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJFdmVudERpc3BhdGNoZXJNZXNzYWdl
cy5oIgogI2luY2x1ZGUgIkZpbmRJbmRpY2F0b3IuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBA
IC02OSw2ICs3MCw3IEBACiAjaW5jbHVkZSAiV2ViUGFnZUdyb3VwLmgiCiAjaW5jbHVkZSAiV2Vi
UGFnZUdyb3VwRGF0YS5oIgogI2luY2x1ZGUgIldlYlBhZ2VNZXNzYWdlcy5oIgorI2luY2x1ZGUg
IldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUG9wdXBJdGVtLmgiCiAjaW5j
bHVkZSAiV2ViUG9wdXBNZW51UHJveHkuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgpA
QCAtODgsNiArOTAsMTQgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1dpbmRvd0ZlYXR1cmVzLmg+CiAj
aW5jbHVkZSA8c3RkaW8uaD4KIAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCisjaW5jbHVkZSAiV2Vi
SW5zcGVjdG9yUHJveHlNZXNzYWdlcy5oIgorI2VuZGlmCisKKyNpZiBFTkFCTEUoRlVMTFNDUkVF
Tl9BUEkpCisjaW5jbHVkZSAiV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCisj
ZW5kaWYKKwogI2lmIEVOQUJMRShXRUJfSU5URU5UUykKICNpbmNsdWRlICJJbnRlbnREYXRhLmgi
CiAjaW5jbHVkZSAiSW50ZW50U2VydmljZUluZm8uaCIKQEAgLTI0NCw2ICsyNTQsMjAgQEAgV2Vi
UGFnZVByb3h5OjpXZWJQYWdlUHJveHkoUGFnZUNsaWVudCogcAogCiAgICAgV2ViQ29udGV4dDo6
c3RhdGlzdGljcygpLndrUGFnZUNvdW50Kys7CiAKKyAgICBtX3Byb2Nlc3MtPmFkZE1lc3NhZ2VS
ZWNlaXZlcihNZXNzYWdlczo6V2ViUGFnZVByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1f
cGFnZUlELCB0aGlzKTsKKworICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBkb25lIGluIHRo
ZSBvYmplY3QgY29uc3RydWN0b3JzLCBhbmQgdGhlIG9iamVjdHMgdGhlbXNlbHZlcyBzaG91bGQg
YmUgbWVzc2FnZSByZWNlaXZlcnMuCisgICAgbV9wcm9jZXNzLT5hZGRNZXNzYWdlUmVjZWl2ZXIo
TWVzc2FnZXM6OkRyYXdpbmdBcmVhUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9wYWdl
SUQsIHRoaXMpOworI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKyAgICBtX3Byb2Nlc3Mt
PmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6TGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eTo6
bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCwgdGhpcyk7CisjZW5kaWYKKyNpZiBFTkFC
TEUoSU5TUEVDVE9SKQorICAgIG1fcHJvY2Vzcy0+YWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2Vz
OjpXZWJJbnNwZWN0b3JQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCwgdGhp
cyk7CisjZW5kaWYKKyNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCisgICAgbV9wcm9jZXNzLT5h
ZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6Om1l
c3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9wYWdlSUQsIHRoaXMpOworI2VuZGlmCisKICAgICBtX3Bh
Z2VHcm91cC0+YWRkUGFnZSh0aGlzKTsKIH0KIApAQCAtMjU5LDYgKzI4MywyMCBAQCBXZWJQYWdl
UHJveHk6On5XZWJQYWdlUHJveHkoKQogCiAgICAgbV9wYWdlR3JvdXAtPnJlbW92ZVBhZ2UodGhp
cyk7CiAKKyAgICBtX3Byb2Nlc3MtPnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcGFnZUlEKTsKKworICAgIC8vIEZJ
WE1FOiBUaGlzIHNob3VsZCBiZSBkb25lIGluIHRoZSBvYmplY3QgZGVzdHJ1Y3RvcnMsIGFuZCB0
aGUgb2JqZWN0cyB0aGVtc2VsdmVzIHNob3VsZCBiZSBtZXNzYWdlIHJlY2VpdmVycy4KKyAgICBt
X3Byb2Nlc3MtPnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6RHJhd2luZ0FyZWFQcm94
eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCk7CisjaWYgVVNFKENPT1JESU5BVEVE
X0dSQVBISUNTKQorICAgIG1fcHJvY2Vzcy0+cmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2Vz
OjpMYXllclRyZWVDb29yZGluYXRvclByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcGFn
ZUlEKTsKKyNlbmRpZgorI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgbV9wcm9jZXNzLT5yZW1v
dmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYkluc3BlY3RvclByb3h5OjptZXNzYWdlUmVj
ZWl2ZXJOYW1lKCksIG1fcGFnZUlEKTsKKyNlbmRpZgorI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQ
SSkKKyAgICBtX3Byb2Nlc3MtPnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViRnVs
bFNjcmVlbk1hbmFnZXJQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCk7Cisj
ZW5kaWYKKwogI2lmbmRlZiBOREVCVUcKICAgICB3ZWJQYWdlUHJveHlDb3VudGVyLmRlY3JlbWVu
dCgpOwogI2VuZGlmCkBAIC0xODY1LDYgKzE5MDMsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlk
UmVjZWl2ZU1lc3NhZ2UoQ29yCiAgICAgfQogI2VuZGlmCiAKKyAgICBBU1NFUlQobWVzc2FnZUlE
LmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYlBhZ2VQcm94eT4oKSk7CiAgICAgZGlkUmVjZWl2
ZVdlYlBhZ2VQcm94eU1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKIH0K
IApAQCAtMTg4Niw2ICsxOTI1LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVTeW5j
TWVzc2FnZQogI2VuZGlmCiAKICAgICAvLyBGSVhNRTogRG8gc29tZXRoaW5nIHdpdGggcmVwbHku
CisgICAgQVNTRVJUKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xhc3NXZWJQYWdlUHJv
eHk+KCkpOwogICAgIGRpZFJlY2VpdmVTeW5jV2ViUGFnZVByb3h5TWVzc2FnZShjb25uZWN0aW9u
LCBtZXNzYWdlSUQsIGRlY29kZXIsIHJlcGx5RW5jb2Rlcik7CiB9CiAKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHJldmlzaW9uIDEzMjcxMikKKysrIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMzIs
MTQgKzMyLDkgQEAKICNpbmNsdWRlICJEcmF3aW5nQXJlYVByb3h5LmgiCiAjaW5jbHVkZSAiRWRp
dG9yU3RhdGUuaCIKICNpbmNsdWRlICJHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5LmgiCi0jaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKLSNpbmNsdWRlICJOYXRpdmVXZWJU
b3VjaEV2ZW50LmgiCi0jZW5kaWYKLSNpZiBQTEFURk9STShRVCkKLSNpbmNsdWRlICJRdE5ldHdv
cmtSZXF1ZXN0RGF0YS5oIgotI2VuZGlmCiAjaW5jbHVkZSAiTGF5ZXJUcmVlQ29udGV4dC5oIgog
I2luY2x1ZGUgIk5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmgiCisj
aW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Qcm9jZXNzSWRl
bnRpZmllci5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNsdWRlICJTaGFy
ZWFibGVCaXRtYXAuaCIKQEAgLTgyLDE2ICs3NywxNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRHJh
Z1Nlc3Npb24uaD4KICNlbmRpZgogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyNpbmNsdWRl
ICJOYXRpdmVXZWJUb3VjaEV2ZW50LmgiCisjZW5kaWYKKyNpZiBQTEFURk9STShRVCkKKyNpbmNs
dWRlICJRdE5ldHdvcmtSZXF1ZXN0RGF0YS5oIgorI2VuZGlmCisKICNpZiBQTEFURk9STShFRkwp
CiAjaW5jbHVkZSA8RXZhcy5oPgogI2VuZGlmCiAKLW5hbWVzcGFjZSBDb3JlSVBDIHsKLSAgICBj
bGFzcyBBcmd1bWVudERlY29kZXI7Ci0gICAgY2xhc3MgQ29ubmVjdGlvbjsKLSAgICBjbGFzcyBN
ZXNzYWdlSUQ7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZTsKICAgICBjbGFzcyBDdXJzb3I7CkBAIC0yNDQsNyArMjQwLDcgQEAgY2xh
c3MgV2ViUGFnZVByb3h5CiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCiAgICAgLCBwdWJs
aWMgV2ViQ29sb3JDaG9vc2VyUHJveHk6OkNsaWVudAogI2VuZGlmCi0gICAgLCBwdWJsaWMgV2Vi
UG9wdXBNZW51UHJveHk6OkNsaWVudCB7CisgICAgLCBwdWJsaWMgV2ViUG9wdXBNZW51UHJveHk6
OkNsaWVudCwgcHJpdmF0ZSBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIgewogcHVibGljOgogICAg
IHN0YXRpYyBjb25zdCBUeXBlIEFQSVR5cGUgPSBUeXBlUGFnZTsKIApAQCAtNTk5LDkgKzU5NSw2
IEBAIHB1YmxpYzoKICNlbmRpZgogI2VuZGlmCiAKLSAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdl
KENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJik7Ci0gICAgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoQ29yZUlQQzo6Q29u
bmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImLCBP
d25QdHI8Q29yZUlQQzo6TWVzc2FnZUVuY29kZXI+Jik7Ci0KICAgICB2b2lkIHByb2Nlc3NEaWRC
ZWNvbWVVbnJlc3BvbnNpdmUoKTsKICAgICB2b2lkIGludGVyYWN0aW9uT2NjdXJyZWRXaGlsZVBy
b2Nlc3NVbnJlc3BvbnNpdmUoKTsKICAgICB2b2lkIHByb2Nlc3NEaWRCZWNvbWVSZXNwb25zaXZl
KCk7CkBAIC03NDgsNiArNzQxLDEwIEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIEFQSVR5cGU7IH0KIAorICAgIC8vIENvcmVJUEM6Ok1lc3NhZ2VS
ZWNlaXZlcgorICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbios
IENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklERTsK
KyAgICB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29y
ZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYsIE93blB0cjxDb3JlSVBD
OjpNZXNzYWdlRW5jb2Rlcj4mKSBPVkVSUklERTsKKwogICAgIC8vIFdlYlBvcHVwTWVudVByb3h5
OjpDbGllbnQKICAgICB2aXJ0dWFsIHZvaWQgdmFsdWVDaGFuZ2VkRm9yUG9wdXBNZW51KFdlYlBv
cHVwTWVudVByb3h5KiwgaW50MzJfdCBuZXdTZWxlY3RlZEluZGV4KTsKICAgICB2aXJ0dWFsIHZv
aWQgc2V0VGV4dEZyb21JdGVtRm9yUG9wdXBNZW51KFdlYlBvcHVwTWVudVByb3h5KiwgaW50MzJf
dCBpbmRleCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmNwcAkocmV2aXNpb24gMTMyNzEyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMSw2ICsxMjEsMjEgQEAgV2Vi
UHJvY2Vzc1Byb3h5KiBXZWJQcm9jZXNzUHJveHk6OmZyb21DbwogICAgIHJldHVybiB3ZWJQcm9j
ZXNzUHJveHk7CiB9CiAKK3ZvaWQgV2ViUHJvY2Vzc1Byb3h5OjphZGRNZXNzYWdlUmVjZWl2ZXIo
Q29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIENvcmVJUEM6Ok1l
c3NhZ2VSZWNlaXZlciogbWVzc2FnZVJlY2VpdmVyKQoreworICAgIG1fbWVzc2FnZVJlY2VpdmVy
TWFwLmFkZE1lc3NhZ2VSZWNlaXZlcihtZXNzYWdlUmVjZWl2ZXJOYW1lLCBtZXNzYWdlUmVjZWl2
ZXIpOworfQorCit2b2lkIFdlYlByb2Nlc3NQcm94eTo6YWRkTWVzc2FnZVJlY2VpdmVyKENvcmVJ
UEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1lLCB1aW50NjRfdCBkZXN0aW5h
dGlvbklELCBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIqIG1lc3NhZ2VSZWNlaXZlcikKK3sKKyAg
ICBtX21lc3NhZ2VSZWNlaXZlck1hcC5hZGRNZXNzYWdlUmVjZWl2ZXIobWVzc2FnZVJlY2VpdmVy
TmFtZSwgZGVzdGluYXRpb25JRCwgbWVzc2FnZVJlY2VpdmVyKTsKK30KKwordm9pZCBXZWJQcm9j
ZXNzUHJveHk6OnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihDb3JlSVBDOjpTdHJpbmdSZWZlcmVuY2Ug
bWVzc2FnZVJlY2VpdmVyTmFtZSwgdWludDY0X3QgZGVzdGluYXRpb25JRCkKK3sKKyAgICBtX21l
c3NhZ2VSZWNlaXZlck1hcC5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIobWVzc2FnZVJlY2VpdmVyTmFt
ZSwgZGVzdGluYXRpb25JRCk7Cit9CisKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojpjb25uZWN0KCkK
IHsKICAgICBBU1NFUlQoIW1fcHJvY2Vzc0xhdW5jaGVyKTsKQEAgLTQxNiw0NCArNDMxLDI3IEBA
IHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpnZXROZXR3b3JrUHJvY2Vzc0MKIAogdm9pZCBXZWJQcm9j
ZXNzUHJveHk6OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rp
b24sIENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVy
JiBkZWNvZGVyKQogewotICAgIGlmIChtX2NvbnRleHQtPmRpc3BhdGNoTWVzc2FnZShjb25uZWN0
aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAobWVz
c2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYlByb2Nlc3NQcm94eT4oKSkgewotICAg
ICAgICBkaWRSZWNlaXZlV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdl
SUQsIGRlY29kZXIpOworICAgIGlmIChtX21lc3NhZ2VSZWNlaXZlck1hcC5kaXNwYXRjaE1lc3Nh
Z2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKSkKICAgICAgICAgcmV0dXJuOwotICAg
IH0KIAotICAgIHVpbnQ2NF90IHBhZ2VJRCA9IGRlY29kZXIuZGVzdGluYXRpb25JRCgpOwotICAg
IGlmICghcGFnZUlEKQorICAgIGlmIChtX2NvbnRleHQtPmRpc3BhdGNoTWVzc2FnZShjb25uZWN0
aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpKQogICAgICAgICByZXR1cm47CiAKLSAgICBXZWJQYWdl
UHJveHkqIHBhZ2VQcm94eSA9IHdlYlBhZ2UocGFnZUlEKTsKLSAgICBpZiAoIXBhZ2VQcm94eSkK
LSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIHBhZ2VQcm94eS0+ZGlkUmVjZWl2ZU1lc3NhZ2Uo
Y29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKKyAgICBBU1NFUlQobWVzc2FnZUlELmlz
PENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYlByb2Nlc3NQcm94eT4oKSk7CisgICAgZGlkUmVjZWl2
ZVdlYlByb2Nlc3NQcm94eU1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsK
IH0KIAogdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZFJlY2VpdmVTeW5jTWVzc2FnZShDb3JlSVBD
OjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpNZXNzYWdlSUQgbWVzc2FnZUlELCBD
b3JlSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2RlciwgT3duUHRyPENvcmVJUEM6Ok1lc3NhZ2VF
bmNvZGVyPiYgcmVwbHlFbmNvZGVyKQogewotICAgIGlmIChtX2NvbnRleHQtPmRpc3BhdGNoU3lu
Y01lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyLCByZXBseUVuY29kZXIpKQor
ICAgIGlmIChtX21lc3NhZ2VSZWNlaXZlck1hcC5kaXNwYXRjaFN5bmNNZXNzYWdlKGNvbm5lY3Rp
b24sIG1lc3NhZ2VJRCwgZGVjb2RlciwgcmVwbHlFbmNvZGVyKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xhc3NXZWJQcm9jZXNzUHJv
eHk+KCkpIHsKLSAgICAgICAgZGlkUmVjZWl2ZVN5bmNXZWJQcm9jZXNzUHJveHlNZXNzYWdlKGNv
bm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVjb2RlciwgcmVwbHlFbmNvZGVyKTsKKyAgICBpZiAobV9j
b250ZXh0LT5kaXNwYXRjaFN5bmNNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVjb2Rl
ciwgcmVwbHlFbmNvZGVyKSkKICAgICAgICAgcmV0dXJuOwotICAgIH0KIAotICAgIHVpbnQ2NF90
IHBhZ2VJRCA9IGRlY29kZXIuZGVzdGluYXRpb25JRCgpOwotICAgIGlmICghcGFnZUlEKQotICAg
ICAgICByZXR1cm47Ci0gICAgCi0gICAgV2ViUGFnZVByb3h5KiBwYWdlUHJveHkgPSB3ZWJQYWdl
KHBhZ2VJRCk7Ci0gICAgaWYgKCFwYWdlUHJveHkpCi0gICAgICAgIHJldHVybjsKICAgICAKLSAg
ICBwYWdlUHJveHktPmRpZFJlY2VpdmVTeW5jTWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQs
IGRlY29kZXIsIHJlcGx5RW5jb2Rlcik7CisgICAgQVNTRVJUKG1lc3NhZ2VJRC5pczxDb3JlSVBD
OjpNZXNzYWdlQ2xhc3NXZWJQcm9jZXNzUHJveHk+KCkpOworICAgIGRpZFJlY2VpdmVTeW5jV2Vi
UHJvY2Vzc1Byb3h5TWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIsIHJlcGx5
RW5jb2Rlcik7CiB9CiAKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRSZWNlaXZlTWVzc2FnZU9u
Q29ubmVjdGlvbldvcmtRdWV1ZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3Jl
SVBDOjpNZXNzYWdlSUQgbWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2Rl
ciwgYm9vbCYgZGlkSGFuZGxlTWVzc2FnZSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Byb3h5LmgJKHJldmlzaW9uIDEzMjcxMikKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYs
NyBAQAogI2lmbmRlZiBXZWJQcm9jZXNzUHJveHlfaAogI2RlZmluZSBXZWJQcm9jZXNzUHJveHlf
aAogCisjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyTWFwLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Q
cm9jZXNzSWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlBsdWdpbkluZm9TdG9yZS5oIgogI2luY2x1
ZGUgIlByb2Nlc3NMYXVuY2hlci5oIgpAQCAtNjMsNiArNjQsMTAgQEAgcHVibGljOgogICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFdlYlByb2Nlc3NQcm94eT4gY3JlYXRlKFBhc3NSZWZQdHI8V2ViQ29u
dGV4dD4pOwogICAgIH5XZWJQcm9jZXNzUHJveHkoKTsKIAorICAgIHZvaWQgYWRkTWVzc2FnZVJl
Y2VpdmVyKENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1lLCBDb3Jl
SVBDOjpNZXNzYWdlUmVjZWl2ZXIqKTsKKyAgICB2b2lkIGFkZE1lc3NhZ2VSZWNlaXZlcihDb3Jl
SVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFtZSwgdWludDY0X3QgZGVzdGlu
YXRpb25JRCwgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyKik7CisgICAgdm9pZCByZW1vdmVNZXNz
YWdlUmVjZWl2ZXIoQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUs
IHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQpOworCiAgICAgc3RhdGljIFdlYlByb2Nlc3NQcm94eSog
ZnJvbUNvbm5lY3Rpb24oQ29yZUlQQzo6Q29ubmVjdGlvbiopOwogCiAgICAgdm9pZCB0ZXJtaW5h
dGUoKTsKQEAgLTIwMSw2ICsyMDYsNyBAQCBwcml2YXRlOgogICAgIC8vIFRoaXMgaXMgbm90IGEg
Q29yZUlQQzo6Q29ubmVjdGlvbiBzbyB0aGF0IHdlIGNhbiB3cmFwIHRoZSBDb3JlSVBDOjpDb25u
ZWN0aW9uIGluCiAgICAgLy8gYW4gQVBJIG9iamVjdC4KICAgICBSZWZQdHI8V2ViQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcz4gbV9jb25uZWN0aW9uOworICAgIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZl
ck1hcCBtX21lc3NhZ2VSZWNlaXZlck1hcDsKIAogICAgIFZlY3RvcjxzdGQ6OnBhaXI8Q29yZUlQ
Qzo6Q29ubmVjdGlvbjo6T3V0Z29pbmdNZXNzYWdlLCB1bnNpZ25lZD4gPiBtX3BlbmRpbmdNZXNz
YWdlczsKICAgICBSZWZQdHI8UHJvY2Vzc0xhdW5jaGVyPiBtX3Byb2Nlc3NMYXVuY2hlcjsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9h
ZFByb3h5LmNwcAkocmV2aXNpb24gMTMyNzEyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgs
NyBAQAogCiAjaW5jbHVkZSAiQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5oIgogI2luY2x1
ZGUgIkRhdGFSZWZlcmVuY2UuaCIKKyNpbmNsdWRlICJEb3dubG9hZFByb3h5TWVzc2FnZXMuaCIK
ICNpbmNsdWRlICJXZWJDb250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViRGF0YS5oIgogI2luY2x1ZGUg
IldlYlByb2Nlc3NNZXNzYWdlcy5oIgpAQCAtNTMsNiArNTQsNyBAQCBEb3dubG9hZFByb3h5OjpE
b3dubG9hZFByb3h5KFdlYkNvbnRleHQqCiAgICAgOiBtX3dlYkNvbnRleHQod2ViQ29udGV4dCkK
ICAgICAsIG1fZG93bmxvYWRJRChnZW5lcmF0ZURvd25sb2FkSUQoKSkKIHsKKyAgICBtX3dlYkNv
bnRleHQtPmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6RG93bmxvYWRQcm94eTo6bWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpLCBtX2Rvd25sb2FkSUQsIHRoaXMpOwogfQogCiBEb3dubG9hZFByb3h5
Ojp+RG93bmxvYWRQcm94eSgpCkBAIC03Miw2ICs3NCw4IEBAIHZvaWQgRG93bmxvYWRQcm94eTo6
Y2FuY2VsKCkKIHZvaWQgRG93bmxvYWRQcm94eTo6aW52YWxpZGF0ZSgpCiB7CiAgICAgQVNTRVJU
KG1fd2ViQ29udGV4dCk7CisKKyAgICBtX3dlYkNvbnRleHQtPnJlbW92ZU1lc3NhZ2VSZWNlaXZl
cihNZXNzYWdlczo6RG93bmxvYWRQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX2Rvd25s
b2FkSUQpOwogICAgIG1fd2ViQ29udGV4dCA9IDA7CiB9CiAKQEAgLTIwMCw1ICsyMDQsMTUgQEAg
dm9pZCBEb3dubG9hZFByb3h5OjpzdGFydFRyYW5zZmVyKGNvbnN0IAogfQogI2VuZGlmCiAKK3Zv
aWQgRG93bmxvYWRQcm94eTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiog
Y29ubmVjdGlvbiwgQ29yZUlQQzo6TWVzc2FnZUlEIG1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2Fn
ZURlY29kZXImIGRlY29kZXIpCit7CisgICAgZGlkUmVjZWl2ZURvd25sb2FkUHJveHlNZXNzYWdl
KGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVjb2Rlcik7Cit9CisKK3ZvaWQgRG93bmxvYWRQcm94
eTo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24s
IENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBk
ZWNvZGVyLCBPd25QdHI8Q29yZUlQQzo6TWVzc2FnZUVuY29kZXI+JiByZXBseUVuY29kZXIpCit7
CisgICAgZGlkUmVjZWl2ZVN5bmNEb3dubG9hZFByb3h5TWVzc2FnZShjb25uZWN0aW9uLCBtZXNz
YWdlSUQsIGRlY29kZXIsIHJlcGx5RW5jb2Rlcik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJv
eHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRG93bmxvYWRzL0Rv
d25sb2FkUHJveHkuaAkocmV2aXNpb24gMTMyNzEyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1
LDcgQEAgY2xhc3MgV2ViQ29udGV4dDsKIGNsYXNzIFdlYkRhdGE7CiBjbGFzcyBXZWJQYWdlUHJv
eHk7CiAKLWNsYXNzIERvd25sb2FkUHJveHkgOiBwdWJsaWMgQVBJT2JqZWN0IHsKK2NsYXNzIERv
d25sb2FkUHJveHkgOiBwdWJsaWMgQVBJT2JqZWN0LCBwcml2YXRlIENvcmVJUEM6Ok1lc3NhZ2VS
ZWNlaXZlciB7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IFR5cGUgQVBJVHlwZSA9IFR5cGVE
b3dubG9hZDsKIApAQCAtNjEsOSArNjEsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBpbnZhbGlkYXRl
KCk7CiAgICAgdm9pZCBwcm9jZXNzRGlkQ2xvc2UoKTsKIAotICAgIHZvaWQgZGlkUmVjZWl2ZURv
d25sb2FkUHJveHlNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdl
SUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7Ci0gICAgdm9pZCBkaWRSZWNlaXZlU3luY0Rv
d25sb2FkUHJveHlNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdl
SUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiwgT3duUHRyPENvcmVJUEM6Ok1lc3NhZ2VFbmNv
ZGVyPiYpOwotCiAjaWYgUExBVEZPUk0oUVQpCiAgICAgdm9pZCBzdGFydFRyYW5zZmVyKGNvbnN0
IFN0cmluZyYgZmlsZW5hbWUpOwogI2VuZGlmCkBAIC03Myw2ICs3MCwxNCBAQCBwcml2YXRlOgog
CiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBBUElUeXBlOyB9CiAKKyAg
ICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdl
KENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3Nh
Z2VEZWNvZGVyJikgT1ZFUlJJREU7CisgICAgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoQ29y
ZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURl
Y29kZXImLCBPd25QdHI8Q29yZUlQQzo6TWVzc2FnZUVuY29kZXI+JikgT1ZFUlJJREU7CisKKyAg
ICAvLyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0ZWQgRG93bmxvYWRQcm94eU1lc3NhZ2VSZWNlaXZl
ci5jcHAKKyAgICB2b2lkIGRpZFJlY2VpdmVEb3dubG9hZFByb3h5TWVzc2FnZShDb3JlSVBDOjpD
b25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYp
OworICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNEb3dubG9hZFByb3h5TWVzc2FnZShDb3JlSVBDOjpD
b25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYs
IE93blB0cjxDb3JlSVBDOjpNZXNzYWdlRW5jb2Rlcj4mKTsKKwogICAgIC8vIE1lc3NhZ2UgaGFu
ZGxlcnMuCiAgICAgdm9pZCBkaWRTdGFydChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
KTsKICAgICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBXZWJD
b3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIHVpbnQ2NF90IGNoYWxsZW5nZUlEKTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAkocmV2aXNpb24gMTMy
NzEyKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNjYyLDcgKzY2Miw2IEBAIHZvaWQgV2ViUHJvY2Vzczo6dGVybWluYXRlKCkK
IHZvaWQgV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rp
b24qIGNvbm5lY3Rpb24sIENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6Ok1l
c3NhZ2VEZWNvZGVyJiBkZWNvZGVyLCBPd25QdHI8Q29yZUlQQzo6TWVzc2FnZUVuY29kZXI+JiBy
ZXBseUVuY29kZXIpCiB7CiAgICAgbV9tZXNzYWdlUmVjZWl2ZXJNYXAuZGlzcGF0Y2hTeW5jTWVz
c2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIsIHJlcGx5RW5jb2Rlcik7Ci0gICAg
ICAgIHJldHVybjsKIH0KIAogdm9pZCBXZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShDb3Jl
SVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpNZXNzYWdlSUQgbWVzc2FnZUlE
LCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVjb2RlcikKQEAgLTcwNiwxOCArNzA1LDYgQEAg
dm9pZCBXZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSQogICAgICAgICBXZWJSZXNv
dXJjZUNhY2hlTWFuYWdlcjo6c2hhcmVkKCkuZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwg
bWVzc2FnZUlELCBkZWNvZGVyKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICAKLSAgICBp
ZiAobWVzc2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYlBhZ2VHcm91cFByb3h5Pigp
KSB7Ci0gICAgICAgIHVpbnQ2NF90IHBhZ2VHcm91cElEID0gZGVjb2Rlci5kZXN0aW5hdGlvbklE
KCk7Ci0gICAgICAgIGlmICghcGFnZUdyb3VwSUQpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgIAotICAgICAgICBXZWJQYWdlR3JvdXBQcm94eSogcGFnZUdyb3VwUHJveHkgPSB3ZWJQYWdl
R3JvdXAocGFnZUdyb3VwSUQpOwotICAgICAgICBpZiAoIXBhZ2VHcm91cFByb3h5KQotICAgICAg
ICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICAgICAgcGFnZUdyb3VwUHJveHktPmRpZFJlY2Vp
dmVNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVjb2Rlcik7Ci0gICAgfQogfQogCiB2
b2lkIFdlYlByb2Nlc3M6OmRpZENsb3NlKENvcmVJUEM6OkNvbm5lY3Rpb24qKQpJbmRleDogU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VHcm91cFByb3h5LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZUdyb3Vw
UHJveHkuY3BwCShyZXZpc2lvbiAxMzI3MTIpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZUdyb3VwUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw4ICsy
Niw5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViUGFnZUdyb3VwUHJveHku
aCIKIAotI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZS5o
IgorI2luY2x1ZGUgIldlYlBhZ2VHcm91cFByb3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJXZWJQ
cm9jZXNzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9ET01XcmFwcGVyV29ybGQuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1BhZ2VHcm91cC5oPgogCkBAIC00MywyNSArNDQsMjggQEAgUGFzc1JlZlB0cjxX
ZWJQYWdlR3JvdXBQcm94eT4gV2ViUGFnZUdybwogICAgIHJldHVybiBwYWdlR3JvdXAucmVsZWFz
ZSgpOwogfQogCi1XZWJQYWdlR3JvdXBQcm94eTo6fldlYlBhZ2VHcm91cFByb3h5KCkKLXsKLX0K
LSAgICAKLXZvaWQgV2ViUGFnZUdyb3VwUHJveHk6OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6
OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENv
cmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQotewotICAgIGRpZFJlY2VpdmVXZWJQYWdl
R3JvdXBQcm94eU1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKLX0KLSAg
ICAKIFdlYlBhZ2VHcm91cFByb3h5OjpXZWJQYWdlR3JvdXBQcm94eShjb25zdCBXZWJQYWdlR3Jv
dXBEYXRhJiBkYXRhKQogICAgIDogbV9kYXRhKGRhdGEpCiAgICAgLCBtX3BhZ2VHcm91cChXZWJD
b3JlOjpQYWdlR3JvdXA6OnBhZ2VHcm91cChtX2RhdGEuaWRlbnRpZmVyKSkKIHsKKyAgICBXZWJQ
cm9jZXNzOjpzaGFyZWQoKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYlBhZ2VHcm91
cFByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fZGF0YS5wYWdlR3JvdXBJRCwgdGhpcyk7
CisKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGRhdGEudXNlclN0eWxlU2hlZXRzLnNpemUo
KTsgKytpKQogICAgICAgICBhZGRVc2VyU3R5bGVTaGVldChkYXRhLnVzZXJTdHlsZVNoZWV0c1tp
XSk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBkYXRhLnVzZXJTY3JpcHRzLnNpemUoKTsg
KytpKQogICAgICAgICBhZGRVc2VyU2NyaXB0KGRhdGEudXNlclNjcmlwdHNbaV0pOwogfQogCitX
ZWJQYWdlR3JvdXBQcm94eTo6fldlYlBhZ2VHcm91cFByb3h5KCkKK3sKKyAgICBXZWJQcm9jZXNz
OjpzaGFyZWQoKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYlBhZ2VHcm91cFBy
b3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fZGF0YS5wYWdlR3JvdXBJRCk7Cit9CisKK3Zv
aWQgV2ViUGFnZUdyb3VwUHJveHk6OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rp
b24qIGNvbm5lY3Rpb24sIENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6Ok1l
c3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIGRpZFJlY2VpdmVXZWJQYWdlR3JvdXBQcm94
eU1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKK30KKwogdm9pZCBXZWJQ
YWdlR3JvdXBQcm94eTo6YWRkVXNlclN0eWxlU2hlZXQoY29uc3QgV2ViQ29yZTo6VXNlclN0eWxl
U2hlZXQmIHVzZXJTdHlsZVNoZWV0KQogewogICAgIG1fcGFnZUdyb3VwLT5hZGRVc2VyU3R5bGVT
aGVldFRvV29ybGQoV2ViQ29yZTo6bWFpblRocmVhZE5vcm1hbFdvcmxkKCksIHVzZXJTdHlsZVNo
ZWV0LnNvdXJjZSgpLCB1c2VyU3R5bGVTaGVldC51cmwoKSwgdXNlclN0eWxlU2hlZXQud2hpdGVs
aXN0KCksIHVzZXJTdHlsZVNoZWV0LmJsYWNrbGlzdCgpLCB1c2VyU3R5bGVTaGVldC5pbmplY3Rl
ZEZyYW1lcygpLCB1c2VyU3R5bGVTaGVldC5sZXZlbCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlR3JvdXBQcm94eS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlR3JvdXBQcm94eS5oCShyZXZp
c2lvbiAxMzI3MTIpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZUdyb3VwUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMjcsMjIgKzI3LDE3IEBACiAjZGVmaW5l
IFdlYlBhZ2VHcm91cFByb3h5X2gKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgorI2luY2x1ZGUg
Ik1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgIldlYlBhZ2VHcm91cERhdGEuaCIKICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci1jbGFzcyBDb25u
ZWN0aW9uOwotY2xhc3MgTWVzc2FnZURlY29kZXI7Ci1jbGFzcyBNZXNzYWdlSUQ7Ci19Ci0KIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFBhZ2VHcm91cDsKIH0KIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKLWNsYXNzIFdlYlBhZ2VHcm91cFByb3h5IDogcHVibGljIEFQSU9iamVjdCB7CitjbGFz
cyBXZWJQYWdlR3JvdXBQcm94eSA6IHB1YmxpYyBBUElPYmplY3QsIHByaXZhdGUgQ29yZUlQQzo6
TWVzc2FnZVJlY2VpdmVyIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgVHlwZSBBUElUeXBl
ID0gVHlwZUJ1bmRsZVBhZ2VHcm91cDsKIApAQCAtNTMsMTQgKzQ4LDE2IEBAIHB1YmxpYzoKICAg
ICB1aW50NjRfdCBwYWdlR3JvdXBJRCgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YS5wYWdlR3JvdXBJ
RDsgfQogICAgIGJvb2wgaXNWaXNpYmxlVG9JbmplY3RlZEJ1bmRsZSgpIGNvbnN0IHsgcmV0dXJu
IG1fZGF0YS52aXNpYmxlVG9JbmplY3RlZEJ1bmRsZTsgfQogICAgIGJvb2wgaXNWaXNpYmxlVG9I
aXN0b3J5Q2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLnZpc2libGVUb0hpc3RvcnlDbGll
bnQ7IH0KLSAgICAKLSAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rp
b24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAKIHBy
aXZhdGU6CiAgICAgV2ViUGFnZUdyb3VwUHJveHkoY29uc3QgV2ViUGFnZUdyb3VwRGF0YSYpOwog
CiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBBUElUeXBlOyB9CiAgICAg
CisgICAgLy8gQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyCisgICAgdm9pZCBkaWRSZWNlaXZlTWVz
c2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpN
ZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOworCisgICAgLy8gSW1wbGVtZW50ZWQgaW4gZ2VuZXJh
dGVkIFdlYlBhZ2VHcm91cFByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAogICAgIHZvaWQgZGlkUmVj
ZWl2ZVdlYlBhZ2VHcm91cFByb3h5TWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQ
Qzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIAogICAgIHZvaWQg
YWRkVXNlclN0eWxlU2hlZXQoY29uc3QgV2ViQ29yZTo6VXNlclN0eWxlU2hlZXQmKTsK
</data>
<flag name="review"
          id="184839"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>