<?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>70652</bug_id>
          
          <creation_ts>2011-10-21 14:35:10 -0700</creation_ts>
          <short_desc>Introduce Event::hasInterface to make uses of interfaceName more readable</short_desc>
          <delta_ts>2011-10-21 15:55:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>japhet</cc>
    
    <cc>sam</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>488670</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-21 14:35:10 -0700</bug_when>
    <thetext>Introduce Event::hasInterface to make uses of interfaceName more readable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488671</commentid>
    <comment_count>1</comment_count>
      <attachid>112023</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-21 14:37:00 -0700</bug_when>
    <thetext>Created attachment 112023
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488714</commentid>
    <comment_count>2</comment_count>
      <attachid>112023</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-10-21 15:19:36 -0700</bug_when>
    <thetext>Comment on attachment 112023
Patch

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488741</commentid>
    <comment_count>3</comment_count>
      <attachid>112023</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-21 15:55:48 -0700</bug_when>
    <thetext>Comment on attachment 112023
Patch

Clearing flags on attachment: 112023

Committed r98164: &lt;http://trac.webkit.org/changeset/98164&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488742</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-21 15:55:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112023</attachid>
            <date>2011-10-21 14:37:00 -0700</date>
            <delta_ts>2011-10-21 15:55:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70652-20111021143659.patch</filename>
            <type>text/plain</type>
            <size>19835</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4MTU1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzggQEAKKzIwMTEtMTAtMjEgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBJbnRyb2R1Y2UgRXZlbnQ6Omhhc0lu
dGVyZmFjZSB0byBtYWtlIHVzZXMgb2YgaW50ZXJmYWNlTmFtZSBtb3JlIHJlYWRhYmxlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY1MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVyaWMgZmVsdCB0aGF0
IHRoaXMgYXBwcm9hY2ggd291bGQgYmUgbW9yZSByZWFkYWJsZSBiZWNhdXNlIGl0IHJlcXVpcmVz
CisgICAgICAgIGxlc3Mgc3ludGF4IGF0IGVhY2ggY2FsbHNpdGUuCisKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0Vycm9ySGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0Vycm9ySGFu
ZGxlcjo6aGFuZGxlRXZlbnQpOgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NRXZlbnRzLm1t
OgorICAgICAgICAoa2l0Q2xhc3MpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4V2luZG93RXJy
b3JIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4V2luZG93RXJyb3JIYW5kbGVyOjpj
YWxsTGlzdGVuZXJGdW5jdGlvbik6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhXb3JrZXJDb250
ZXh0RXJyb3JIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4V29ya2VyQ29udGV4dEVy
cm9ySGFuZGxlcjo6Y2FsbExpc3RlbmVyRnVuY3Rpb24pOgorICAgICAgICAqIGRvbS9FdmVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudDo6aGFzSW50ZXJmYWNlKToKKyAgICAgICAgKiBk
b20vRXZlbnQuaDoKKyAgICAgICAgKiBkb20vRXZlbnREaXNwYXRjaGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50RGlzcGF0Y2hlcjo6ZGV0ZXJtaW5lRGlzcGF0Y2hCZWhhdmlvcik6Cisg
ICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6ZGVmYXVsdEV2
ZW50SGFuZGxlcik6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAg
ICAgICAqIGh0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVGV4dEFyZWFFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBodG1s
L1RleHRGaWVsZElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0RmllbGRJbnB1
dFR5cGU6OmZvcndhcmRFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5
cGU6OnNob3VsZFN1Ym1pdEltcGxpY2l0bHkpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JET01TdG9yYWdlUmVzb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9N
U3RvcmFnZVJlc291cmNlOjpoYW5kbGVFdmVudCk6CisKIDIwMTEtMTAtMjEgIEpvc2h1YSBCZWxs
ICA8anNiZWxsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IG9iamVjdFN0b3Jl
LnRyYW5zYWN0aW9uIHByb3BlcnR5IHNob3VsZCBiZSByZWFkb25seQpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNFcnJvckhhbmRsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXJyb3JIYW5kbGVyLmNwcAkocmV2aXNpb24gOTgxNTEp
CisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Vycm9ySGFuZGxlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTUzLDcgKzUzLDcgQEAgSlNFcnJvckhhbmRsZXI6On5KU0Vycm9ySGFuZGxl
cigpCiAKIHZvaWQgSlNFcnJvckhhbmRsZXI6OmhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIEV2ZW50KiBldmVudCkKIHsKLSAgICBpZiAo
ZXZlbnQtPmludGVyZmFjZU5hbWUoKSAhPSBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yRXJyb3JF
dmVudCkKKyAgICBpZiAoIWV2ZW50LT5oYXNJbnRlcmZhY2UoZXZlbnROYW1lcygpLmludGVyZmFj
ZUZvckVycm9yRXZlbnQpKQogICAgICAgICByZXR1cm4gSlNFdmVudExpc3RlbmVyOjpoYW5kbGVF
dmVudChzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBldmVudCk7CiAKICAgICBBU1NFUlQoc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RP
TUV2ZW50cy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RP
TUV2ZW50cy5tbQkocmV2aXNpb24gOTgxNTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9v
YmpjL0RPTUV2ZW50cy5tbQkod29ya2luZyBjb3B5KQpAQCAtNDQsMzQgKzQ0LDM0IEBACiAjaW1w
b3J0ICJET01TVkdab29tRXZlbnQuaCIKICNlbmRpZgogCit1c2luZyBXZWJDb3JlOjpldmVudE5h
bWVzOworCiBDbGFzcyBraXRDbGFzcyhXZWJDb3JlOjpFdmVudCogaW1wbCkKIHsKLSAgICBBdG9t
aWNTdHJpbmcgZGVzaXJlZEludGVyZmFjZSA9IGltcGwtPmludGVyZmFjZU5hbWUoKTsKLQogICAg
IGlmIChpbXBsLT5pc1VJRXZlbnQoKSkgewogICAgICAgICBpZiAoaW1wbC0+aXNLZXlib2FyZEV2
ZW50KCkpCiAgICAgICAgICAgICByZXR1cm4gW0RPTUtleWJvYXJkRXZlbnQgY2xhc3NdOwogICAg
ICAgICBpZiAoaW1wbC0+aXNNb3VzZUV2ZW50KCkpCiAgICAgICAgICAgICByZXR1cm4gW0RPTU1v
dXNlRXZlbnQgY2xhc3NdOwotICAgICAgICBpZiAoZGVzaXJlZEludGVyZmFjZSA9PSBXZWJDb3Jl
OjpldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yVGV4dEV2ZW50KQorICAgICAgICBpZiAoaW1wbC0+
aGFzSW50ZXJmYWNlKGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JUZXh0RXZlbnQpKQogICAgICAg
ICAgICAgcmV0dXJuIFtET01UZXh0RXZlbnQgY2xhc3NdOwotICAgICAgICBpZiAoZGVzaXJlZElu
dGVyZmFjZSA9PSBXZWJDb3JlOjpldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yV2hlZWxFdmVudCkK
KyAgICAgICAgaWYgKGltcGwtPmhhc0ludGVyZmFjZShldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9y
V2hlZWxFdmVudCkpCiAgICAgICAgICAgICByZXR1cm4gW0RPTVdoZWVsRXZlbnQgY2xhc3NdOyAg
ICAgICAgCiAjaWYgRU5BQkxFKFNWR19ET01fT0JKQ19CSU5ESU5HUykKLSAgICAgICAgaWYgKGRl
c2lyZWRJbnRlcmZhY2UgPT0gV2ViQ29yZTo6ZXZlbnROYW1lcygpLmludGVyZmFjZUZvclNWR1pv
b21FdmVudCkKKyAgICAgICAgaWYgKGltcGwtPmhhc0ludGVyZmFjZShldmVudE5hbWVzKCkuaW50
ZXJmYWNlRm9yU1ZHWm9vbUV2ZW50KSkKICAgICAgICAgICAgIHJldHVybiBbRE9NU1ZHWm9vbUV2
ZW50IGNsYXNzXTsKICNlbmRpZgogICAgICAgICByZXR1cm4gW0RPTVVJRXZlbnQgY2xhc3NdOwog
ICAgIH0KLSAgICBpZiAoZGVzaXJlZEludGVyZmFjZSA9PSBXZWJDb3JlOjpldmVudE5hbWVzKCku
aW50ZXJmYWNlRm9yTXV0YXRpb25FdmVudCkKKyAgICBpZiAoaW1wbC0+aGFzSW50ZXJmYWNlKGV2
ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JNdXRhdGlvbkV2ZW50KSkKICAgICAgICAgcmV0dXJuIFtE
T01NdXRhdGlvbkV2ZW50IGNsYXNzXTsKLSAgICBpZiAoZGVzaXJlZEludGVyZmFjZSA9PSBXZWJD
b3JlOjpldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yT3ZlcmZsb3dFdmVudCkKKyAgICBpZiAoaW1w
bC0+aGFzSW50ZXJmYWNlKGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JPdmVyZmxvd0V2ZW50KSkK
ICAgICAgICAgcmV0dXJuIFtET01PdmVyZmxvd0V2ZW50IGNsYXNzXTsKLSAgICBpZiAoZGVzaXJl
ZEludGVyZmFjZSA9PSBXZWJDb3JlOjpldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yTWVzc2FnZUV2
ZW50KQorICAgIGlmIChpbXBsLT5oYXNJbnRlcmZhY2UoZXZlbnROYW1lcygpLmludGVyZmFjZUZv
ck1lc3NhZ2VFdmVudCkpCiAgICAgICAgIHJldHVybiBbRE9NTWVzc2FnZUV2ZW50IGNsYXNzXTsK
LSAgICBpZiAoZGVzaXJlZEludGVyZmFjZSA9PSBXZWJDb3JlOjpldmVudE5hbWVzKCkuaW50ZXJm
YWNlRm9yUHJvZ3Jlc3NFdmVudCB8fCBkZXNpcmVkSW50ZXJmYWNlID09IFdlYkNvcmU6OmV2ZW50
TmFtZXMoKS5pbnRlcmZhY2VGb3JYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQpCisgICAgaWYg
KGltcGwtPmhhc0ludGVyZmFjZShldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yUHJvZ3Jlc3NFdmVu
dCkgfHwgaW1wbC0+aGFzSW50ZXJmYWNlKGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JYTUxIdHRw
UmVxdWVzdFByb2dyZXNzRXZlbnQpKQogICAgICAgICByZXR1cm4gW0RPTVByb2dyZXNzRXZlbnQg
Y2xhc3NdOwotICAgIGlmIChkZXNpcmVkSW50ZXJmYWNlID09IFdlYkNvcmU6OmV2ZW50TmFtZXMo
KS5pbnRlcmZhY2VGb3JCZWZvcmVMb2FkRXZlbnQpCisgICAgaWYgKGltcGwtPmhhc0ludGVyZmFj
ZShldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yQmVmb3JlTG9hZEV2ZW50KSkKICAgICAgICAgcmV0
dXJuIFtET01CZWZvcmVMb2FkRXZlbnQgY2xhc3NdOwogICAgIHJldHVybiBbRE9NRXZlbnQgY2xh
c3NdOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhXaW5kb3dFcnJvckhh
bmRsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4V2lu
ZG93RXJyb3JIYW5kbGVyLmNwcAkocmV2aXNpb24gOTgxNTEpCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOFdpbmRvd0Vycm9ySGFuZGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1
LDcgKzQ1LDcgQEAgVjhXaW5kb3dFcnJvckhhbmRsZXI6OlY4V2luZG93RXJyb3JIYW5kbAogCiB2
ODo6TG9jYWw8djg6OlZhbHVlPiBWOFdpbmRvd0Vycm9ySGFuZGxlcjo6Y2FsbExpc3RlbmVyRnVu
Y3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IGpzRXZlbnQsIEV2ZW50KiBldmVudCkKIHsKLSAgICBpZiAoZXZlbnQtPmludGVyZmFjZU5h
bWUoKSAhPSBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yRXJyb3JFdmVudCkKKyAgICBpZiAoIWV2
ZW50LT5oYXNJbnRlcmZhY2UoZXZlbnROYW1lcygpLmludGVyZmFjZUZvckVycm9yRXZlbnQpKQog
ICAgICAgICByZXR1cm4gVjhFdmVudExpc3RlbmVyOjpjYWxsTGlzdGVuZXJGdW5jdGlvbihjb250
ZXh0LCBqc0V2ZW50LCBldmVudCk7CiAKICAgICBFcnJvckV2ZW50KiBlcnJvckV2ZW50ID0gc3Rh
dGljX2Nhc3Q8RXJyb3JFdmVudCo+KGV2ZW50KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4V29ya2VyQ29udGV4dEVycm9ySGFuZGxlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhXb3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyLmNwcAko
cmV2aXNpb24gOTgxNTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFdvcmtlckNv
bnRleHRFcnJvckhhbmRsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw3ICs0Nyw3IEBAIFY4
V29ya2VyQ29udGV4dEVycm9ySGFuZGxlcjo6VjhXb3JrZXJDb24KIAogdjg6OkxvY2FsPHY4OjpW
YWx1ZT4gVjhXb3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyOjpjYWxsTGlzdGVuZXJGdW5jdGlvbihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4ganNF
dmVudCwgRXZlbnQqIGV2ZW50KQogewotICAgIEFTU0VSVChldmVudC0+aW50ZXJmYWNlTmFtZSgp
ID09IGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JFcnJvckV2ZW50KTsKKyAgICBBU1NFUlQoZXZl
bnQtPmhhc0ludGVyZmFjZShldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yRXJyb3JFdmVudCkpOwog
ICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBsaXN0ZW5lciA9IGdldExpc3RlbmVyT2JqZWN0KGNv
bnRleHQpOwogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHJldHVyblZhbHVlOwogICAgIGlmICgh
bGlzdGVuZXIuSXNFbXB0eSgpICYmIGxpc3RlbmVyLT5Jc0Z1bmN0aW9uKCkpIHsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50LmNwcAkocmV2aXNpb24gOTgxNTEpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDIsNiArMTAyLDExIEBAIGNvbnN0IEF0b21pY1N0
cmluZyYgRXZlbnQ6OmludGVyZmFjZU5hbWUKICAgICByZXR1cm4gZXZlbnROYW1lcygpLmludGVy
ZmFjZUZvckV2ZW50OwogfQogCitib29sIEV2ZW50OjpoYXNJbnRlcmZhY2UoY29uc3QgQXRvbWlj
U3RyaW5nJiBuYW1lKSBjb25zdAoreworICAgIHJldHVybiBpbnRlcmZhY2VOYW1lKCkgPT0gbmFt
ZTsKK30KKwogYm9vbCBFdmVudDo6aXNVSUV2ZW50KCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFs
c2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnQuaAkocmV2aXNpb24gOTgxNTEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDYgKzExMyw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgQ2xpcGJvYXJkKiBjbGlwYm9hcmREYXRhKCkgY29uc3QgeyBy
ZXR1cm4gaXNDbGlwYm9hcmRFdmVudCgpID8gY2xpcGJvYXJkKCkgOiAwOyB9CiAKICAgICAgICAg
dmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKKyAgICAg
ICAgYm9vbCBoYXNJbnRlcmZhY2UoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CiAKICAgICAg
ICAgLy8gVGhlc2UgZXZlbnRzIGFyZSBnZW5lcmFsIGNsYXNzZXMgb2YgZXZlbnRzLgogICAgICAg
ICB2aXJ0dWFsIGJvb2wgaXNVSUV2ZW50KCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnREaXNwYXRjaGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnREaXNwYXRjaGVyLmNwcAkocmV2aXNpb24gOTgxNTEpCisrKyBTb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnREaXNwYXRjaGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzk2LDcgKzM5Niw3IEBA
IEV2ZW50RGlzcGF0Y2hCZWhhdmlvciBFdmVudERpc3BhdGNoZXI6OmQKIAogICAgIC8vIFBlciBY
QkwgMi4wIHNwZWMsIG11dGF0aW9uIGV2ZW50cyBzaG91bGQgbmV2ZXIgY3Jvc3Mgc2hhZG93IERP
TSBib3VuZGFyeToKICAgICAvLyBodHRwOi8vZGV2LnczLm9yZy8yMDA2L3hibDIvI2V2ZW50LWZs
b3ctYW5kLXRhcmdldGluZy1hY3Jvc3Mtc2hhZG93LXMKLSAgICBpZiAoZXZlbnQtPmludGVyZmFj
ZU5hbWUoKSA9PSBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yTXV0YXRpb25FdmVudCkKKyAgICBp
ZiAoZXZlbnQtPmhhc0ludGVyZmFjZShldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yTXV0YXRpb25F
dmVudCkpCiAgICAgICAgIHJldHVybiBTdGF5SW5zaWRlU2hhZG93RE9NOwogCiAgICAgLy8gV2Vi
S2l0IG5ldmVyIGFsbG93ZWQgc2VsZWN0c3RhcnQgZXZlbnQgdG8gY3Jvc3MgdGhlIHRoZSBzaGFk
b3cgRE9NIGJvdW5kYXJ5LgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAkocmV2aXNpb24gOTgxNTEpCisr
KyBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4NzYsNyAr
Mjg3Niw3IEBAIHZvaWQgTm9kZTo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXYKICAgICAg
ICAgICAgICAgICBwYWdlLT5jb250ZXh0TWVudUNvbnRyb2xsZXIoKS0+aGFuZGxlQ29udGV4dE1l
bnVFdmVudChldmVudCk7CiAjZW5kaWYKICAgICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVu
dE5hbWVzKCkudGV4dElucHV0RXZlbnQpIHsKLSAgICAgICAgaWYgKGV2ZW50LT5pbnRlcmZhY2VO
YW1lKCkgPT0gZXZlbnROYW1lcygpLmludGVyZmFjZUZvclRleHRFdmVudCkKKyAgICAgICAgaWYg
KGV2ZW50LT5oYXNJbnRlcmZhY2UoZXZlbnROYW1lcygpLmludGVyZmFjZUZvclRleHRFdmVudCkp
CiAgICAgICAgICAgICBpZiAoRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKSkKICAg
ICAgICAgICAgICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmRlZmF1bHRUZXh0SW5wdXRFdmVu
dEhhbmRsZXIoc3RhdGljX2Nhc3Q8VGV4dEV2ZW50Kj4oZXZlbnQpKTsKICNpZiBFTkFCTEUoUEFO
X1NDUk9MTElORykKQEAgLTI4OTYsNyArMjg5Niw3IEBAIHZvaWQgTm9kZTo6ZGVmYXVsdEV2ZW50
SGFuZGxlcihFdmVudCogZXYKICAgICAgICAgICAgIH0KICAgICAgICAgfQogI2VuZGlmCi0gICAg
fSBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLm1vdXNld2hlZWxFdmVudCAmJiBl
dmVudC0+aW50ZXJmYWNlTmFtZSgpID09IGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JXaGVlbEV2
ZW50KSB7CisgICAgfSBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLm1vdXNld2hl
ZWxFdmVudCAmJiBldmVudC0+aGFzSW50ZXJmYWNlKGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JX
aGVlbEV2ZW50KSkgewogICAgICAgICBXaGVlbEV2ZW50KiB3aGVlbEV2ZW50ID0gc3RhdGljX2Nh
c3Q8V2hlZWxFdmVudCo+KGV2ZW50KTsKICAgICAgICAgCiAgICAgICAgIC8vIElmIHdlIGRvbid0
IGhhdmUgYSByZW5kZXJlciwgc2VuZCB0aGUgd2hlZWwgZXZlbnQgdG8gdGhlIGZpcnN0IG5vZGUg
d2UgZmluZCB3aXRoIGEgcmVuZGVyZXIuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAJKHJldmlzaW9uIDk4MTUxKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI2OSw3ICsxMjY5LDcgQEAg
dm9pZCBIVE1MSW5wdXRFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbAogICAgIGlmIChldnQtPmlz
QmVmb3JlVGV4dEluc2VydGVkRXZlbnQoKSkKICAgICAgICAgbV9pbnB1dFR5cGUtPmhhbmRsZUJl
Zm9yZVRleHRJbnNlcnRlZEV2ZW50KHN0YXRpY19jYXN0PEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50
Kj4oZXZ0KSk7CiAKLSAgICBpZiAoZXZ0LT5pbnRlcmZhY2VOYW1lKCkgPT0gZXZlbnROYW1lcygp
LmludGVyZmFjZUZvcldoZWVsRXZlbnQpIHsKKyAgICBpZiAoZXZ0LT5oYXNJbnRlcmZhY2UoZXZl
bnROYW1lcygpLmludGVyZmFjZUZvcldoZWVsRXZlbnQpKSB7CiAgICAgICAgIG1faW5wdXRUeXBl
LT5oYW5kbGVXaGVlbEV2ZW50KHN0YXRpY19jYXN0PFdoZWVsRXZlbnQqPihldnQpKTsKICAgICAg
ICAgaWYgKGV2dC0+ZGVmYXVsdEhhbmRsZWQoKSkKICAgICAgICAgICAgIHJldHVybjsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcAkocmV2aXNpb24g
OTgxNTEpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMTEsNyArMjExLDcgQEAgdm9pZCBIVE1MVGV4dEFyZWFFbGVtZW50
Ojp1cGRhdGVGb2N1c0FwcAogCiB2b2lkIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OmRlZmF1bHRFdmVu
dEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogewotICAgIGlmIChyZW5kZXJlcigpICYmIChldmVudC0+
aXNNb3VzZUV2ZW50KCkgfHwgZXZlbnQtPmlzRHJhZ0V2ZW50KCkgfHwgZXZlbnQtPmludGVyZmFj
ZU5hbWUoKSA9PSBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yV2hlZWxFdmVudCB8fCBldmVudC0+
dHlwZSgpID09IGV2ZW50TmFtZXMoKS5ibHVyRXZlbnQpKQorICAgIGlmIChyZW5kZXJlcigpICYm
IChldmVudC0+aXNNb3VzZUV2ZW50KCkgfHwgZXZlbnQtPmlzRHJhZ0V2ZW50KCkgfHwgZXZlbnQt
Pmhhc0ludGVyZmFjZShldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yV2hlZWxFdmVudCkgfHwgZXZl
bnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkuYmx1ckV2ZW50KSkKICAgICAgICAgZm9yd2FyZEV2
ZW50KGV2ZW50KTsKICAgICBlbHNlIGlmIChyZW5kZXJlcigpICYmIGV2ZW50LT5pc0JlZm9yZVRl
eHRJbnNlcnRlZEV2ZW50KCkpCiAgICAgICAgIGhhbmRsZUJlZm9yZVRleHRJbnNlcnRlZEV2ZW50
KHN0YXRpY19jYXN0PEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50Kj4oZXZlbnQpKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHAJKHJldmlzaW9uIDk4MTUx
KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xNDIsNyArMTQyLDcgQEAgdm9pZCBUZXh0RmllbGRJbnB1dFR5cGU6OmhhbmRs
ZVdoZWVsRXZlbgogCiB2b2lkIFRleHRGaWVsZElucHV0VHlwZTo6Zm9yd2FyZEV2ZW50KEV2ZW50
KiBldmVudCkKIHsKLSAgICBpZiAoZWxlbWVudCgpLT5yZW5kZXJlcigpICYmIChldmVudC0+aXNN
b3VzZUV2ZW50KCkgfHwgZXZlbnQtPmlzRHJhZ0V2ZW50KCkgfHwgZXZlbnQtPmludGVyZmFjZU5h
bWUoKSA9PSBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yV2hlZWxFdmVudCB8fCBldmVudC0+dHlw
ZSgpID09IGV2ZW50TmFtZXMoKS5ibHVyRXZlbnQgfHwgZXZlbnQtPnR5cGUoKSA9PSBldmVudE5h
bWVzKCkuZm9jdXNFdmVudCkpIHsKKyAgICBpZiAoZWxlbWVudCgpLT5yZW5kZXJlcigpICYmIChl
dmVudC0+aXNNb3VzZUV2ZW50KCkgfHwgZXZlbnQtPmlzRHJhZ0V2ZW50KCkgfHwgZXZlbnQtPmhh
c0ludGVyZmFjZShldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yV2hlZWxFdmVudCkgfHwgZXZlbnQt
PnR5cGUoKSA9PSBldmVudE5hbWVzKCkuYmx1ckV2ZW50IHx8IGV2ZW50LT50eXBlKCkgPT0gZXZl
bnROYW1lcygpLmZvY3VzRXZlbnQpKSB7CiAgICAgICAgIFJlbmRlclRleHRDb250cm9sU2luZ2xl
TGluZSogcmVuZGVyVGV4dENvbnRyb2wgPSB0b1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZShl
bGVtZW50KCktPnJlbmRlcmVyKCkpOwogICAgICAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVu
dE5hbWVzKCkuYmx1ckV2ZW50KSB7CiAgICAgICAgICAgICBpZiAoUmVuZGVyQm94KiBpbm5lclRl
eHRSZW5kZXJlciA9IGlubmVyVGV4dEVsZW1lbnQoKS0+cmVuZGVyQm94KCkpIHsKQEAgLTE2MCw3
ICsxNjAsNyBAQCB2b2lkIFRleHRGaWVsZElucHV0VHlwZTo6Zm9yd2FyZEV2ZW50KEV2CiAKIGJv
b2wgVGV4dEZpZWxkSW5wdXRUeXBlOjpzaG91bGRTdWJtaXRJbXBsaWNpdGx5KEV2ZW50KiBldmVu
dCkKIHsKLSAgICByZXR1cm4gKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLnRleHRJbnB1
dEV2ZW50ICYmIGV2ZW50LT5pbnRlcmZhY2VOYW1lKCkgPT0gZXZlbnROYW1lcygpLmludGVyZmFj
ZUZvclRleHRFdmVudCAmJiBzdGF0aWNfY2FzdDxUZXh0RXZlbnQqPihldmVudCktPmRhdGEoKSA9
PSAiXG4iKSB8fCBJbnB1dFR5cGU6OnNob3VsZFN1Ym1pdEltcGxpY2l0bHkoZXZlbnQpOworICAg
IHJldHVybiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkudGV4dElucHV0RXZlbnQgJiYg
ZXZlbnQtPmhhc0ludGVyZmFjZShldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yVGV4dEV2ZW50KSAm
JiBzdGF0aWNfY2FzdDxUZXh0RXZlbnQqPihldmVudCktPmRhdGEoKSA9PSAiXG4iKSB8fCBJbnB1
dFR5cGU6OnNob3VsZFN1Ym1pdEltcGxpY2l0bHkoZXZlbnQpOwogfQogCiBSZW5kZXJPYmplY3Qq
IFRleHRGaWVsZElucHV0VHlwZTo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBS
ZW5kZXJTdHlsZSopIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NU3RvcmFnZVJlc291cmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlLmNwcAkocmV2aXNpb24gOTgxNTEp
CisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAyLDcgKzEwMiw3IEBAIHZvaWQgSW5zcGVjdG9yRE9N
U3RvcmFnZVJlc291cmNlOjpzdGFydFIKIHZvaWQgSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNl
OjpoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXZlbnQqIGV2ZW50KQogewog
ICAgIEFTU0VSVChtX2Zyb250ZW5kKTsKLSAgICBpZiAoZXZlbnQtPnR5cGUoKSAhPSBldmVudE5h
bWVzKCkuc3RvcmFnZUV2ZW50IHx8IGV2ZW50LT5pbnRlcmZhY2VOYW1lKCkgIT0gZXZlbnROYW1l
cygpLmludGVyZmFjZUZvclN0b3JhZ2VFdmVudCkKKyAgICBpZiAoZXZlbnQtPnR5cGUoKSAhPSBl
dmVudE5hbWVzKCkuc3RvcmFnZUV2ZW50IHx8IGV2ZW50LT5oYXNJbnRlcmZhY2UoZXZlbnROYW1l
cygpLmludGVyZmFjZUZvclN0b3JhZ2VFdmVudCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIFN0
b3JhZ2VFdmVudCogc3RvcmFnZUV2ZW50ID0gc3RhdGljX2Nhc3Q8U3RvcmFnZUV2ZW50Kj4oZXZl
bnQpOwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4MTU1KQorKysg
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwyOSBAQAorMjAxMS0xMC0yMSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisg
ICAgICAgIEludHJvZHVjZSBFdmVudDo6aGFzSW50ZXJmYWNlIHRvIG1ha2UgdXNlcyBvZiBpbnRl
cmZhY2VOYW1lIG1vcmUgcmVhZGFibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTcwNjUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVXBkYXRlIGNhbGwgc2l0ZXMgdG8gdGhlIG5ldyBpbnRlcmZhY2UuCisK
KyAgICAgICAgKiBzcmMvV2ViRE9NRXZlbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJET01F
dmVudDo6aXNNdXRhdGlvbkV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViRE9NRXZlbnQ6Omlz
VGV4dEV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViRE9NRXZlbnQ6OmlzQ29tcG9zaXRpb25F
dmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkRPTUV2ZW50Ojppc01lc3NhZ2VFdmVudCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkRPTUV2ZW50Ojppc1doZWVsRXZlbnQpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJET01FdmVudDo6aXNPdmVyZmxvd0V2ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
RE9NRXZlbnQ6OmlzUGFnZVRyYW5zaXRpb25FdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkRP
TUV2ZW50Ojppc1BvcFN0YXRlRXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJET01FdmVudDo6
aXNQcm9ncmVzc0V2ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViRE9NRXZlbnQ6OmlzWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViRE9NRXZlbnQ6Omlz
V2ViS2l0QW5pbWF0aW9uRXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJET01FdmVudDo6aXNX
ZWJLaXRUcmFuc2l0aW9uRXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJET01FdmVudDo6aXNC
ZWZvcmVMb2FkRXZlbnQpOgorICAgICAgICAqIHNyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6aGFuZGxlRXZlbnQp
OgorCiAyMDExLTEwLTIxICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgRXZlbnQuaCBoYXMgdG9vIG1hbnkgdmlydHVhbCBpc011bWJsZUV2ZW50KCkgZnVuY3Rpb25z
CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJET01FdmVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRE9NRXZlbnQuY3BwCShyZXZp
c2lvbiA5ODE1MSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRPTUV2ZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsOCBAQAogI2luY2x1ZGUgIk5vZGUuaCIKICNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCit1c2luZyBXZWJDb3JlOjpldmVudE5hbWVzOwor
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViRE9NRXZlbnRQcml2YXRlIDogcHVibGlj
IFdlYkNvcmU6OkV2ZW50IHsKQEAgLTEyNCwxOSArMTI2LDE5IEBAIGJvb2wgV2ViRE9NRXZlbnQ6
OmlzS2V5Ym9hcmRFdmVudCgpIGNvbnMKIGJvb2wgV2ViRE9NRXZlbnQ6OmlzTXV0YXRpb25FdmVu
dCgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKG1fcHJpdmF0ZSk7Ci0gICAgcmV0dXJuIG1fcHJpdmF0
ZS0+aW50ZXJmYWNlTmFtZSgpID09IFdlYkNvcmU6OmV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JN
dXRhdGlvbkV2ZW50OworICAgIHJldHVybiBtX3ByaXZhdGUtPmhhc0ludGVyZmFjZShXZWJDb3Jl
OjpldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yTXV0YXRpb25FdmVudCk7CiB9CiAKIGJvb2wgV2Vi
RE9NRXZlbnQ6OmlzVGV4dEV2ZW50KCkgY29uc3QKIHsKICAgICBBU1NFUlQobV9wcml2YXRlKTsK
LSAgICByZXR1cm4gbV9wcml2YXRlLT5pbnRlcmZhY2VOYW1lKCkgPT0gV2ViQ29yZTo6ZXZlbnRO
YW1lcygpLmludGVyZmFjZUZvclRleHRFdmVudDsKKyAgICByZXR1cm4gbV9wcml2YXRlLT5oYXNJ
bnRlcmZhY2UoZXZlbnROYW1lcygpLmludGVyZmFjZUZvclRleHRFdmVudCk7CiB9CiAKIGJvb2wg
V2ViRE9NRXZlbnQ6OmlzQ29tcG9zaXRpb25FdmVudCgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKG1f
cHJpdmF0ZSk7Ci0gICAgcmV0dXJuIG1fcHJpdmF0ZS0+aW50ZXJmYWNlTmFtZSgpID09IFdlYkNv
cmU6OmV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JDb21wb3NpdGlvbkV2ZW50OworICAgIHJldHVy
biBtX3ByaXZhdGUtPmhhc0ludGVyZmFjZShldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yQ29tcG9z
aXRpb25FdmVudCk7CiB9CiAKIGJvb2wgV2ViRE9NRXZlbnQ6OmlzRHJhZ0V2ZW50KCkgY29uc3QK
QEAgLTE1NCwxMyArMTU2LDEzIEBAIGJvb2wgV2ViRE9NRXZlbnQ6OmlzQ2xpcGJvYXJkRXZlbnQo
KSBjb24KIGJvb2wgV2ViRE9NRXZlbnQ6OmlzTWVzc2FnZUV2ZW50KCkgY29uc3QKIHsKICAgICBB
U1NFUlQobV9wcml2YXRlKTsKLSAgICByZXR1cm4gbV9wcml2YXRlLT5pbnRlcmZhY2VOYW1lKCkg
PT0gV2ViQ29yZTo6ZXZlbnROYW1lcygpLmludGVyZmFjZUZvck1lc3NhZ2VFdmVudDsKKyAgICBy
ZXR1cm4gbV9wcml2YXRlLT5oYXNJbnRlcmZhY2UoZXZlbnROYW1lcygpLmludGVyZmFjZUZvck1l
c3NhZ2VFdmVudCk7CiB9CiAKIGJvb2wgV2ViRE9NRXZlbnQ6OmlzV2hlZWxFdmVudCgpIGNvbnN0
CiB7CiAgICAgQVNTRVJUKG1fcHJpdmF0ZSk7Ci0gICAgcmV0dXJuIG1fcHJpdmF0ZS0+aW50ZXJm
YWNlTmFtZSgpID09IFdlYkNvcmU6OmV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JXaGVlbEV2ZW50
OworICAgIHJldHVybiBtX3ByaXZhdGUtPmhhc0ludGVyZmFjZShldmVudE5hbWVzKCkuaW50ZXJm
YWNlRm9yV2hlZWxFdmVudCk7CiB9CiAKIGJvb2wgV2ViRE9NRXZlbnQ6OmlzQmVmb3JlVGV4dElu
c2VydGVkRXZlbnQoKSBjb25zdApAQCAtMTcyLDQ5ICsxNzQsNDkgQEAgYm9vbCBXZWJET01FdmVu
dDo6aXNCZWZvcmVUZXh0SW5zZXJ0ZWRFdgogYm9vbCBXZWJET01FdmVudDo6aXNPdmVyZmxvd0V2
ZW50KCkgY29uc3QKIHsKICAgICBBU1NFUlQobV9wcml2YXRlKTsKLSAgICByZXR1cm4gbV9wcml2
YXRlLT5pbnRlcmZhY2VOYW1lKCkgPT0gV2ViQ29yZTo6ZXZlbnROYW1lcygpLmludGVyZmFjZUZv
ck92ZXJmbG93RXZlbnQ7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+aGFzSW50ZXJmYWNlKGV2ZW50
TmFtZXMoKS5pbnRlcmZhY2VGb3JPdmVyZmxvd0V2ZW50KTsKIH0KIAogYm9vbCBXZWJET01FdmVu
dDo6aXNQYWdlVHJhbnNpdGlvbkV2ZW50KCkgY29uc3QKIHsKICAgICBBU1NFUlQobV9wcml2YXRl
KTsKLSAgICByZXR1cm4gbV9wcml2YXRlLT5pbnRlcmZhY2VOYW1lKCkgPT0gV2ViQ29yZTo6ZXZl
bnROYW1lcygpLmludGVyZmFjZUZvclBhZ2VUcmFuc2l0aW9uRXZlbnQ7CisgICAgcmV0dXJuIG1f
cHJpdmF0ZS0+aGFzSW50ZXJmYWNlKGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JQYWdlVHJhbnNp
dGlvbkV2ZW50KTsKIH0KIAogYm9vbCBXZWJET01FdmVudDo6aXNQb3BTdGF0ZUV2ZW50KCkgY29u
c3QKIHsKICAgICBBU1NFUlQobV9wcml2YXRlKTsKLSAgICByZXR1cm4gbV9wcml2YXRlLT5pbnRl
cmZhY2VOYW1lKCkgPT0gV2ViQ29yZTo6ZXZlbnROYW1lcygpLmludGVyZmFjZUZvclBvcFN0YXRl
RXZlbnQ7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+aGFzSW50ZXJmYWNlKGV2ZW50TmFtZXMoKS5p
bnRlcmZhY2VGb3JQb3BTdGF0ZUV2ZW50KTsKIH0KIAogYm9vbCBXZWJET01FdmVudDo6aXNQcm9n
cmVzc0V2ZW50KCkgY29uc3QKIHsKICAgICBBU1NFUlQobV9wcml2YXRlKTsKLSAgICByZXR1cm4g
bV9wcml2YXRlLT5pbnRlcmZhY2VOYW1lKCkgPT0gV2ViQ29yZTo6ZXZlbnROYW1lcygpLmludGVy
ZmFjZUZvclByb2dyZXNzRXZlbnQ7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+aGFzSW50ZXJmYWNl
KGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JQcm9ncmVzc0V2ZW50KTsKIH0KIAogYm9vbCBXZWJE
T01FdmVudDo6aXNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQoKSBjb25zdAogewogICAgIEFT
U0VSVChtX3ByaXZhdGUpOwotICAgIHJldHVybiBtX3ByaXZhdGUtPmludGVyZmFjZU5hbWUoKSA9
PSBXZWJDb3JlOjpldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50OworICAgIHJldHVybiBtX3ByaXZhdGUtPmhhc0ludGVyZmFjZShldmVudE5hbWVzKCku
aW50ZXJmYWNlRm9yWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50KTsKIH0KIAogYm9vbCBXZWJE
T01FdmVudDo6aXNXZWJLaXRBbmltYXRpb25FdmVudCgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKG1f
cHJpdmF0ZSk7Ci0gICAgcmV0dXJuIG1fcHJpdmF0ZS0+aW50ZXJmYWNlTmFtZSgpID09IFdlYkNv
cmU6OmV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JXZWJLaXRBbmltYXRpb25FdmVudDsKKyAgICBy
ZXR1cm4gbV9wcml2YXRlLT5oYXNJbnRlcmZhY2UoZXZlbnROYW1lcygpLmludGVyZmFjZUZvcldl
YktpdEFuaW1hdGlvbkV2ZW50KTsKIH0KIAogYm9vbCBXZWJET01FdmVudDo6aXNXZWJLaXRUcmFu
c2l0aW9uRXZlbnQoKSBjb25zdAogewogICAgIEFTU0VSVChtX3ByaXZhdGUpOwotICAgIHJldHVy
biBtX3ByaXZhdGUtPmludGVyZmFjZU5hbWUoKSA9PSBXZWJDb3JlOjpldmVudE5hbWVzKCkuaW50
ZXJmYWNlRm9yV2ViS2l0VHJhbnNpdGlvbkV2ZW50OworICAgIHJldHVybiBtX3ByaXZhdGUtPmhh
c0ludGVyZmFjZShldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yV2ViS2l0VHJhbnNpdGlvbkV2ZW50
KTsKIH0KIAogYm9vbCBXZWJET01FdmVudDo6aXNCZWZvcmVMb2FkRXZlbnQoKSBjb25zdAogewog
ICAgIEFTU0VSVChtX3ByaXZhdGUpOwotICAgIHJldHVybiBtX3ByaXZhdGUtPmludGVyZmFjZU5h
bWUoKSA9PSBXZWJDb3JlOjpldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yQmVmb3JlTG9hZEV2ZW50
OworICAgIHJldHVybiBtX3ByaXZhdGUtPmhhc0ludGVyZmFjZShldmVudE5hbWVzKCkuaW50ZXJm
YWNlRm9yQmVmb3JlTG9hZEV2ZW50KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4
OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWlu
ZXJJbXBsLmNwcAkocmV2aXNpb24gOTgxNTEpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg2LDcgKzE4
Niw3IEBAIHZvaWQgV2ViUGx1Z2luQ29udGFpbmVySW1wbDo6aGFuZGxlRXZlbnQKICAgICAvLyB3
aGVyZSBtb3ppbGxhIGJlaGF2ZXMgZGlmZmVyZW50bHkgdGhhbiB0aGUgc3BlYy4KICAgICBpZiAo
ZXZlbnQtPmlzTW91c2VFdmVudCgpKQogICAgICAgICBoYW5kbGVNb3VzZUV2ZW50KHN0YXRpY19j
YXN0PE1vdXNlRXZlbnQqPihldmVudCkpOwotICAgIGVsc2UgaWYgKGV2ZW50LT5pbnRlcmZhY2VO
YW1lKCkgPT0gZXZlbnROYW1lcygpLmludGVyZmFjZUZvcldoZWVsRXZlbnQpCisgICAgZWxzZSBp
ZiAoZXZlbnQtPmhhc0ludGVyZmFjZShldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yV2hlZWxFdmVu
dCkpCiAgICAgICAgIGhhbmRsZVdoZWVsRXZlbnQoc3RhdGljX2Nhc3Q8V2hlZWxFdmVudCo+KGV2
ZW50KSk7CiAgICAgZWxzZSBpZiAoZXZlbnQtPmlzS2V5Ym9hcmRFdmVudCgpKQogICAgICAgICBo
YW5kbGVLZXlib2FyZEV2ZW50KHN0YXRpY19jYXN0PEtleWJvYXJkRXZlbnQqPihldmVudCkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>