<?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>71764</bug_id>
          
          <creation_ts>2011-11-07 21:40:04 -0800</creation_ts>
          <short_desc>Rename CSS document() -&gt; findDocument(), to indicate tree climbing</short_desc>
          <delta_ts>2011-11-08 11:05:05 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Roland Steiner">rolandsteiner</reporter>
          <assigned_to name="Roland Steiner">rolandsteiner</assigned_to>
          <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>kling</cc>
    
    <cc>macpherson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>497722</commentid>
    <comment_count>0</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-11-07 21:40:04 -0800</bug_when>
    <thetext>Various classes in CSS call CSSStyleSheet&apos;s document() function, which climbs the CSS object&apos;s tree to locate the document. Rename the function and all calling sites to findDocument() to indicate this overhead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497725</commentid>
    <comment_count>1</comment_count>
      <attachid>113987</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-11-07 21:44:26 -0800</bug_when>
    <thetext>Created attachment 113987
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497727</commentid>
    <comment_count>2</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-11-07 21:46:36 -0800</bug_when>
    <thetext>Incidentally, Source/WebCore/page/PageSerializer.cpp contains 2 cases where the return value of the document/findDocument() call isn&apos;t checked for NULL (see the patch). I&apos;m not familiar enough with the code to know whether this is a potential issue or safe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498199</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-11-08 10:13:28 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Incidentally, Source/WebCore/page/PageSerializer.cpp contains 2 cases where the return value of the document/findDocument() call isn&apos;t checked for NULL (see the patch). I&apos;m not familiar enough with the code to know whether this is a potential issue or safe.

You’re right to question that. Hard to tell if there is any real problem.

A separate issue is that some call sites put the document into a Document* and then do some other work and then use it afterward. In some cases a RefPtr&lt;Document&gt; might be needed instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498264</commentid>
    <comment_count>4</comment_count>
      <attachid>113987</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-08 11:05:00 -0800</bug_when>
    <thetext>Comment on attachment 113987
Patch

Clearing flags on attachment: 113987

Committed r99595: &lt;http://trac.webkit.org/changeset/99595&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498265</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-08 11:05:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113987</attachid>
            <date>2011-11-07 21:44:26 -0800</date>
            <delta_ts>2011-11-08 11:05:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71764-20111108144424.patch</filename>
            <type>text/plain</type>
            <size>16521</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk1MTgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1ZGY4ZDEzMmMzMDYxY2Iy
NTM5MmQ0ZGE2MTA5Y2YyYTU0NGYwYzRmLi5mZDA5Nzk0MDk3ODNlNTA3NmYxMGM0YTViMWVlZjY5
NWJjZDVjMmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMTEtMTEtMDcgIFJvbGFu
ZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5lckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVuYW1l
IENTUyBkb2N1bWVudCgpIC0+IGZpbmREb2N1bWVudCgpLCB0byBpbmRpY2F0ZSB0cmVlIGNsaW1i
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTc2
NAorCisgICAgICAgIFJlbmFtZWQgZG9jdW1lbnQoKSB0byBmaW5kRG9jdW1lbnQoKSwgc3R5bGVT
aGVldE93bmVyTm9kZSgpIHRvIGZpbmRTdHlsZVNoZWV0T3duZXJOb2RlKCkuCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoc2lt
cGxlIHJlZmFjdG9yaW5nKQorCisgICAgICAgICogY3NzL0NTU0dyYW1tYXIueToKKyAgICAgICAg
KiBjc3MvQ1NTSW1wb3J0UnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NJbXBvcnRSdWxl
OjpzZXRDU1NTdHlsZVNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ltcG9ydFJ1bGU6OnJl
cXVlc3RTdHlsZVNoZWV0KToKKyAgICAgICAgKiBjc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRp
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OnNl
dE5lZWRzU3R5bGVSZWNhbGMpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6cGFyc2VDb2xvclZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlU2lt
cGxlTGVuZ3RoVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpzZXRTdHlsZVNo
ZWV0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6ZmluZERvY3VtZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VBdHRyKToKKyAgICAgICAgKiBjc3MvQ1NTUGFy
c2VyLmg6CisgICAgICAgICogY3NzL0NTU1N0eWxlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NTdHlsZVJ1bGU6OnNldFNlbGVjdG9yVGV4dCk6CisgICAgICAgICogY3NzL0NTU1N0eWxl
U2hlZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTaGVldDo6Y3NzUnVsZXMpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTaGVldDo6ZmluZFN0eWxlU2hlZXRPd25lck5vZGUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTaGVldDo6ZmluZERvY3VtZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1N0eWxlU2hlZXQ6OnN0eWxlU2hlZXRDaGFuZ2VkKToKKyAgICAgICAg
KiBjc3MvQ1NTU3R5bGVTaGVldC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDU1NB
Z2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDU1NBZ2VudDo6YmluZFN0eWxl
U2hlZXQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclN0eWxlU2hlZXQ6Om93bmVyRG9jdW1lbnQpOgorICAg
ICAgICAqIHBhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZVNl
cmlhbGl6ZXI6OnNlcmlhbGl6ZUNTU1N0eWxlU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6UGFn
ZVNlcmlhbGl6ZXI6OnJldHJpZXZlUmVzb3VyY2VzRm9yQ1NTRGVjbGFyYXRpb24pOgorCiAyMDEx
LTExLTA3ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZW1vdmUgW0N1c3RvbUdldHRlcl0gSURMIGZvciB3aW5kb3cuSW1hZ2Ugb2YgVjgKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTR3JhbW1hci55CmluZGV4IDQ5NGE4MTkwYjk1MGI5YzEwZjA3YWIxMjQ3ZjI2MTFjMWNkYmU1
NjEuLjE4ZDdmMDg5Y2I3MjFhY2YyNjE3MzMwZDUzZmZkYzJkY2U1ZGNlOWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0dyYW1tYXIueQpAQCAtOTg1LDcgKzk4NSw3IEBAIGVsZW1lbnRfbmFtZToKICAgICBJREVO
VCB7CiAgICAgICAgIENTU1BhcnNlclN0cmluZyYgc3RyID0gJDE7CiAgICAgICAgIENTU1BhcnNl
ciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7Ci0gICAgICAgIERvY3VtZW50
KiBkb2MgPSBwLT5kb2N1bWVudCgpOworICAgICAgICBEb2N1bWVudCogZG9jID0gcC0+ZmluZERv
Y3VtZW50KCk7CiAgICAgICAgIGlmIChkb2MgJiYgZG9jLT5pc0hUTUxEb2N1bWVudCgpKQogICAg
ICAgICAgICAgc3RyLmxvd2VyKCk7CiAgICAgICAgICQkID0gc3RyOwpAQCAtMTA1Myw3ICsxMDUz
LDcgQEAgYXR0cl9uYW1lOgogICAgIElERU5UIG1heWJlX3NwYWNlIHsKICAgICAgICAgQ1NTUGFy
c2VyU3RyaW5nJiBzdHIgPSAkMTsKICAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8
Q1NTUGFyc2VyKj4ocGFyc2VyKTsKLSAgICAgICAgRG9jdW1lbnQqIGRvYyA9IHAtPmRvY3VtZW50
KCk7CisgICAgICAgIERvY3VtZW50KiBkb2MgPSBwLT5maW5kRG9jdW1lbnQoKTsKICAgICAgICAg
aWYgKGRvYyAmJiBkb2MtPmlzSFRNTERvY3VtZW50KCkpCiAgICAgICAgICAgICBzdHIubG93ZXIo
KTsKICAgICAgICAgJCQgPSBzdHI7CkBAIC0xNDY1LDcgKzE0NjUsNyBAQCB1bmFyeV90ZXJtOgog
ICAgICAgJCQuZlZhbHVlID0gJDE7CiAgICAgICAkJC51bml0ID0gQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19SRU1TOwogICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4o
cGFyc2VyKTsKLSAgICAgIGlmIChEb2N1bWVudCogZG9jID0gcC0+ZG9jdW1lbnQoKSkKKyAgICAg
IGlmIChEb2N1bWVudCogZG9jID0gcC0+ZmluZERvY3VtZW50KCkpCiAgICAgICAgICAgZG9jLT5z
ZXRVc2VzUmVtVW5pdHModHJ1ZSk7CiAgIH0KICAgOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ltcG9ydFJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1
bGUuY3BwCmluZGV4IDVmNTc5NWE4MTIxNWEyYmI1ZTNjYjg2MGIzNzQ5MjA4MTU1MDE2ODkuLmI4
NzhiZDc0Y2JkY2JiNmUxNDI3ZmRmMTI0Yjk1YjhlNjMzODU1ODMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTSW1wb3J0UnVsZS5jcHAKQEAgLTY2LDcgKzY2LDggQEAgdm9pZCBDU1NJbXBvcnRSdWxlOjpz
ZXRDU1NTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VSTCYgYmFzZVVSTCwg
Y28KICAgICBDU1NTdHlsZVNoZWV0KiBwYXJlbnQgPSBwYXJlbnRTdHlsZVNoZWV0KCk7CiAgICAg
Ym9vbCBzdHJpY3QgPSAhcGFyZW50IHx8IHBhcmVudC0+dXNlU3RyaWN0UGFyc2luZygpOwogICAg
IGJvb2wgZW5mb3JjZU1JTUVUeXBlID0gc3RyaWN0OwotICAgIGJvb2wgbmVlZHNTaXRlU3BlY2lm
aWNRdWlya3MgPSBwYXJlbnQgJiYgcGFyZW50LT5kb2N1bWVudCgpICYmIHBhcmVudC0+ZG9jdW1l
bnQoKS0+c2V0dGluZ3MoKSAmJiBwYXJlbnQtPmRvY3VtZW50KCktPnNldHRpbmdzKCktPm5lZWRz
U2l0ZVNwZWNpZmljUXVpcmtzKCk7CisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gcGFyZW50ID8g
cGFyZW50LT5maW5kRG9jdW1lbnQoKSA6IDA7CisgICAgYm9vbCBuZWVkc1NpdGVTcGVjaWZpY1F1
aXJrcyA9IGRvY3VtZW50ICYmIGRvY3VtZW50LT5zZXR0aW5ncygpICYmIGRvY3VtZW50LT5zZXR0
aW5ncygpLT5uZWVkc1NpdGVTcGVjaWZpY1F1aXJrcygpOwogCiAjaWZkZWYgQlVJTERJTkdfT05f
TEVPUEFSRAogICAgIGlmIChlbmZvcmNlTUlNRVR5cGUgJiYgbmVlZHNTaXRlU3BlY2lmaWNRdWly
a3MpIHsKQEAgLTc5LDcgKzgwLDcgQEAgdm9pZCBDU1NJbXBvcnRSdWxlOjpzZXRDU1NTdHlsZVNo
ZWV0KGNvbnN0IFN0cmluZyYgaHJlZiwgY29uc3QgS1VSTCYgYmFzZVVSTCwgY28KICAgICBTdHJp
bmcgc2hlZXRUZXh0ID0gc2hlZXQtPnNoZWV0VGV4dChlbmZvcmNlTUlNRVR5cGUsICZ2YWxpZE1J
TUVUeXBlKTsKICAgICBtX3N0eWxlU2hlZXQtPnBhcnNlU3RyaW5nKHNoZWV0VGV4dCwgc3RyaWN0
KTsKIAotICAgIGlmICghcGFyZW50IHx8ICFwYXJlbnQtPmRvY3VtZW50KCkgfHwgIXBhcmVudC0+
ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuUmVxdWVzdChiYXNlVVJMKSkKKyAgICBp
ZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuUmVxdWVzdChi
YXNlVVJMKSkKICAgICAgICAgY3Jvc3NPcmlnaW5DU1MgPSB0cnVlOwogCiAgICAgaWYgKGNyb3Nz
T3JpZ2luQ1NTICYmICF2YWxpZE1JTUVUeXBlICYmICFtX3N0eWxlU2hlZXQtPmhhc1N5bnRhY3Rp
Y2FsbHlWYWxpZENTU0hlYWRlcigpKQpAQCAtMTEzLDEwICsxMTQsMTMgQEAgYm9vbCBDU1NJbXBv
cnRSdWxlOjppc0xvYWRpbmcoKSBjb25zdAogdm9pZCBDU1NJbXBvcnRSdWxlOjpyZXF1ZXN0U3R5
bGVTaGVldCgpCiB7CiAgICAgQ1NTU3R5bGVTaGVldCogcGFyZW50U2hlZXQgPSBwYXJlbnRTdHls
ZVNoZWV0KCk7Ci0gICAgaWYgKCFwYXJlbnRTaGVldCB8fCAhcGFyZW50U2hlZXQtPmRvY3VtZW50
KCkpCisgICAgaWYgKCFwYXJlbnRTaGVldCkKKyAgICAgICAgcmV0dXJuOworICAgIERvY3VtZW50
KiBkb2N1bWVudCA9IHBhcmVudFNoZWV0LT5maW5kRG9jdW1lbnQoKTsKKyAgICBpZiAoIWRvY3Vt
ZW50KQogICAgICAgICByZXR1cm47CiAKLSAgICBDYWNoZWRSZXNvdXJjZUxvYWRlciogY2FjaGVk
UmVzb3VyY2VMb2FkZXIgPSBwYXJlbnRTaGVldC0+ZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VM
b2FkZXIoKTsKKyAgICBDYWNoZWRSZXNvdXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VMb2FkZXIg
PSBkb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKTsKICAgICBpZiAoIWNhY2hlZFJlc291
cmNlTG9hZGVyKQogICAgICAgICByZXR1cm47CiAKQEAgLTEzNSw3ICsxMzksNyBAQCB2b2lkIENT
U0ltcG9ydFJ1bGU6OnJlcXVlc3RTdHlsZVNoZWV0KCkKICAgICAgICAgcm9vdFNoZWV0ID0gc2hl
ZXQ7CiAgICAgfQogCi0gICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QocGFyZW50U2hlZXQtPmRv
Y3VtZW50KCktPmNvbXBsZXRlVVJMKGFic0hyZWYpKTsKKyAgICBSZXNvdXJjZVJlcXVlc3QgcmVx
dWVzdChkb2N1bWVudC0+Y29tcGxldGVVUkwoYWJzSHJlZikpOwogICAgIGlmIChwYXJlbnRTaGVl
dC0+aXNVc2VyU3R5bGVTaGVldCgpKQogICAgICAgICBtX2NhY2hlZFNoZWV0ID0gY2FjaGVkUmVz
b3VyY2VMb2FkZXItPnJlcXVlc3RVc2VyQ1NTU3R5bGVTaGVldChyZXF1ZXN0LCBwYXJlbnRTaGVl
dC0+Y2hhcnNldCgpKTsKICAgICBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU011
dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCA3ZWM4Y2UyYmY3ZjU2MzFkN2E3OTllMzg0
Y2M5NmE1ZTYwMzkyODRlLi41OTFjMmYxYjE5YmJlMzJkM2MzODE3OTc2NmY3OTg5ZWM3ODI1NGU2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlv
bi5jcHAKQEAgLTUyMSw3ICs1MjEsNyBAQCB2b2lkIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9u
OjpzZXROZWVkc1N0eWxlUmVjYWxjKCkKICAgICB9CiAKICAgICBpZiAoQ1NTU3R5bGVTaGVldCog
c3R5bGVTaGVldCA9IHBhcmVudFN0eWxlU2hlZXQoKSkgewotICAgICAgICBpZiAoRG9jdW1lbnQq
IGRvY3VtZW50ID0gc3R5bGVTaGVldC0+ZG9jdW1lbnQoKSkKKyAgICAgICAgaWYgKERvY3VtZW50
KiBkb2N1bWVudCA9IHN0eWxlU2hlZXQtPmZpbmREb2N1bWVudCgpKQogICAgICAgICAgICAgZG9j
dW1lbnQtPnN0eWxlU2VsZWN0b3JDaGFuZ2VkKERlZmVyUmVjYWxjU3R5bGUpOwogICAgIH0KIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggNGM2ZjNkNWQzNTM1MzE3NzkxYjVmNGM5NWE2
MWFlMzYzNzU4MGIyZS4uZjg1MzIwMTY0Y2Y5ODUwZjU3YmY5NzllZGM3ODUxNjk3NWE1ODJiNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTM0MywxNyArMzQzLDIwIEBAIHN0YXRpYyBi
b29sIHBhcnNlQ29sb3JWYWx1ZShDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiogZGVjbGFyYXRp
b24sIGludCBwcm9wZXJ0CiAgICAgfQogCiAgICAgQ1NTU3R5bGVTaGVldCogc3R5bGVTaGVldCA9
IGRlY2xhcmF0aW9uLT5wYXJlbnRTdHlsZVNoZWV0KCk7Ci0gICAgaWYgKCFzdHlsZVNoZWV0IHx8
ICFzdHlsZVNoZWV0LT5kb2N1bWVudCgpKQorICAgIGlmICghc3R5bGVTaGVldCkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHN0eWxlU2hlZXQtPmZpbmRE
b2N1bWVudCgpOworICAgIGlmICghZG9jdW1lbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICBpZiAodmFsaWRQcmltaXRpdmUpIHsKLSAgICAgICAgQ1NTUHJvcGVydHkgcHJvcGVydHkocHJv
cGVydHlJZCwgc3R5bGVTaGVldC0+ZG9jdW1lbnQoKS0+Y3NzUHJpbWl0aXZlVmFsdWVDYWNoZSgp
LT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFsdWVJRCksIGltcG9ydGFudCk7CisgICAgICAgIENT
U1Byb3BlcnR5IHByb3BlcnR5KHByb3BlcnR5SWQsIGRvY3VtZW50LT5jc3NQcmltaXRpdmVWYWx1
ZUNhY2hlKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWx1ZUlEKSwgaW1wb3J0YW50KTsKICAg
ICAgICAgZGVjbGFyYXRpb24tPmFkZFBhcnNlZFByb3BlcnR5KHByb3BlcnR5KTsKICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgfQogICAgIFJHQkEzMiBjb2xvcjsKICAgICBpZiAoIUNTU1BhcnNl
cjo6cGFyc2VDb2xvcihzdHJpbmcsIGNvbG9yLCBzdHJpY3QgJiYgc3RyaW5nWzBdICE9ICcjJykp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBDU1NQcm9wZXJ0eSBwcm9wZXJ0eShwcm9wZXJ0
eUlkLCBzdHlsZVNoZWV0LT5kb2N1bWVudCgpLT5jc3NQcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNy
ZWF0ZUNvbG9yVmFsdWUoY29sb3IpLCBpbXBvcnRhbnQpOworICAgIENTU1Byb3BlcnR5IHByb3Bl
cnR5KHByb3BlcnR5SWQsIGRvY3VtZW50LT5jc3NQcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0
ZUNvbG9yVmFsdWUoY29sb3IpLCBpbXBvcnRhbnQpOwogICAgIGRlY2xhcmF0aW9uLT5hZGRQYXJz
ZWRQcm9wZXJ0eShwcm9wZXJ0eSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC00MzUsOSArNDM4
LDEyIEBAIHN0YXRpYyBib29sIHBhcnNlU2ltcGxlTGVuZ3RoVmFsdWUoQ1NTTXV0YWJsZVN0eWxl
RGVjbGFyYXRpb24qIGRlY2xhcmF0aW9uLCBpbnQKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgQ1NTU3R5bGVTaGVldCogc3R5bGVTaGVldCA9IGRlY2xhcmF0aW9uLT5wYXJlbnRTdHlsZVNo
ZWV0KCk7Ci0gICAgaWYgKCFzdHlsZVNoZWV0IHx8ICFzdHlsZVNoZWV0LT5kb2N1bWVudCgpKQor
ICAgIGlmICghc3R5bGVTaGVldCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIERvY3VtZW50
KiBkb2N1bWVudCA9IHN0eWxlU2hlZXQtPmZpbmREb2N1bWVudCgpOworICAgIGlmICghZG9jdW1l
bnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBDU1NQcm9wZXJ0eSBwcm9wZXJ0eShwcm9w
ZXJ0eUlkLCBzdHlsZVNoZWV0LT5kb2N1bWVudCgpLT5jc3NQcmltaXRpdmVWYWx1ZUNhY2hlKCkt
PmNyZWF0ZVZhbHVlKG51bWJlciwgdW5pdCksIGltcG9ydGFudCk7CisgICAgQ1NTUHJvcGVydHkg
cHJvcGVydHkocHJvcGVydHlJZCwgZG9jdW1lbnQtPmNzc1ByaW1pdGl2ZVZhbHVlQ2FjaGUoKS0+
Y3JlYXRlVmFsdWUobnVtYmVyLCB1bml0KSwgaW1wb3J0YW50KTsKICAgICBkZWNsYXJhdGlvbi0+
YWRkUGFyc2VkUHJvcGVydHkocHJvcGVydHkpOwogICAgIHJldHVybiB0cnVlOwogfQpAQCAtNjQ4
LDE0ICs2NTQsMTUgQEAgdm9pZCBDU1NQYXJzZXI6OmNsZWFyUHJvcGVydGllcygpCiB2b2lkIENT
U1BhcnNlcjo6c2V0U3R5bGVTaGVldChDU1NTdHlsZVNoZWV0KiBzdHlsZVNoZWV0KQogewogICAg
IG1fc3R5bGVTaGVldCA9IHN0eWxlU2hlZXQ7Ci0gICAgbV9wcmltaXRpdmVWYWx1ZUNhY2hlID0g
ZG9jdW1lbnQoKSA/IGRvY3VtZW50KCktPmNzc1ByaW1pdGl2ZVZhbHVlQ2FjaGUoKSA6IENTU1By
aW1pdGl2ZVZhbHVlQ2FjaGU6OmNyZWF0ZSgpOworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGZp
bmREb2N1bWVudCgpOworICAgIG1fcHJpbWl0aXZlVmFsdWVDYWNoZSA9IGRvY3VtZW50ID8gZG9j
dW1lbnQtPmNzc1ByaW1pdGl2ZVZhbHVlQ2FjaGUoKSA6IENTU1ByaW1pdGl2ZVZhbHVlQ2FjaGU6
OmNyZWF0ZSgpOwogfQogCi1Eb2N1bWVudCogQ1NTUGFyc2VyOjpkb2N1bWVudCgpIGNvbnN0CitE
b2N1bWVudCogQ1NTUGFyc2VyOjpmaW5kRG9jdW1lbnQoKSBjb25zdAogewogICAgIGlmICghbV9z
dHlsZVNoZWV0KQogICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gbV9zdHlsZVNoZWV0LT5k
b2N1bWVudCgpOworICAgIHJldHVybiBtX3N0eWxlU2hlZXQtPmZpbmREb2N1bWVudCgpOwogfQog
CiBib29sIENTU1BhcnNlcjo6dmFsaWRVbml0KENTU1BhcnNlclZhbHVlKiB2YWx1ZSwgVW5pdHMg
dW5pdGZsYWdzLCBib29sIHN0cmljdCkKQEAgLTI3OTQsNyArMjgwMSw4IEBAIFBhc3NSZWZQdHI8
Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VBdHRyKENTU1BhcnNlclZhbHVlTGlzdCogYXJncykK
ICAgICBpZiAoYXR0ck5hbWVbMF0gPT0gJy0nKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGlm
IChkb2N1bWVudCgpICYmIGRvY3VtZW50KCktPmlzSFRNTERvY3VtZW50KCkpCisgICAgRG9jdW1l
bnQqIGRvY3VtZW50ID0gZmluZERvY3VtZW50KCk7CisgICAgaWYgKGRvY3VtZW50ICYmIGRvY3Vt
ZW50LT5pc0hUTUxEb2N1bWVudCgpKQogICAgICAgICBhdHRyTmFtZSA9IGF0dHJOYW1lLmxvd2Vy
KCk7CiAKICAgICByZXR1cm4gcHJpbWl0aXZlVmFsdWVDYWNoZSgpLT5jcmVhdGVWYWx1ZShhdHRy
TmFtZSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19BVFRSKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApp
bmRleCBiMTJlOGM5MjE4N2Y1YTAxNTQyYWFiOWIwNzJkZDBhODhlNzRkMWQzLi4zMjkwZjhmZWU3
ZWFjNjYzZmI3ODI5MDU4ZWRiODk1NzMyMWFiZDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCkBA
IC03Myw3ICs3Myw3IEBAIHB1YmxpYzoKICAgICBib29sIHBhcnNlRGVjbGFyYXRpb24oQ1NTTXV0
YWJsZVN0eWxlRGVjbGFyYXRpb24qLCBjb25zdCBTdHJpbmcmLCBSZWZQdHI8Q1NTU3R5bGVTb3Vy
Y2VEYXRhPiogPSAwLCBDU1NTdHlsZVNoZWV0KiBjb250ZXh0U3R5bGVTaGVldCA9IDApOwogICAg
IGJvb2wgcGFyc2VNZWRpYVF1ZXJ5KE1lZGlhTGlzdCosIGNvbnN0IFN0cmluZyYpOwogCi0gICAg
RG9jdW1lbnQqIGRvY3VtZW50KCkgY29uc3Q7CisgICAgRG9jdW1lbnQqIGZpbmREb2N1bWVudCgp
IGNvbnN0OwogCiAgICAgQ1NTUHJpbWl0aXZlVmFsdWVDYWNoZSogcHJpbWl0aXZlVmFsdWVDYWNo
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJpbWl0aXZlVmFsdWVDYWNoZS5nZXQoKTsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdHlsZVJ1bGUuY3BwCmluZGV4IDdkZDMxN2E4MTk1YmZlNGM3ZGZkZjhlZTI4
YjViMzA5MjQyYWFjNWIuLmViZTc0YjVjNDliNjZkOTI2N2M1MTdlYzFkODQ0Y2E0N2JjNWE3Yzgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuY3BwCkBAIC02Myw3ICs2Myw3IEBAIHZvaWQg
Q1NTU3R5bGVSdWxlOjpzZXRTZWxlY3RvclRleHQoY29uc3QgU3RyaW5nJiBzZWxlY3RvclRleHQp
CiAgICAgRG9jdW1lbnQqIGRvYyA9IDA7CiAKICAgICBpZiAoQ1NTU3R5bGVTaGVldCogc3R5bGVT
aGVldCA9IG1fc3R5bGUtPnBhcmVudFN0eWxlU2hlZXQoKSkKLSAgICAgICAgZG9jID0gc3R5bGVT
aGVldC0+ZG9jdW1lbnQoKTsKKyAgICAgICAgZG9jID0gc3R5bGVTaGVldC0+ZmluZERvY3VtZW50
KCk7CiAKICAgICBpZiAoIWRvYykKICAgICAgICAgZG9jID0gbV9zdHlsZS0+bm9kZSgpID8gbV9z
dHlsZS0+bm9kZSgpLT5kb2N1bWVudCgpIDogMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTdHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0
LmNwcAppbmRleCA4MzgxOWVmZDFkYWU0OGIyYzYzMzM1NzMxMjVmZDMxYmUwYzdlZjJjLi44ZTUx
ZmE0ZjFjZDhjNTIzYzU0NmE3YzU1NjFhM2RlNTk5MWRiZWFhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1N0eWxlU2hlZXQuY3BwCkBAIC0xNTgsNyArMTU4LDggQEAgaW50IENTU1N0eWxlU2hlZXQ6OmFk
ZFJ1bGUoY29uc3QgU3RyaW5nJiBzZWxlY3RvciwgY29uc3QgU3RyaW5nJiBzdHlsZSwgRXhjZXB0
aW8KIFBhc3NSZWZQdHI8Q1NTUnVsZUxpc3Q+IENTU1N0eWxlU2hlZXQ6OmNzc1J1bGVzKGJvb2wg
b21pdENoYXJzZXRSdWxlcykKIHsKICAgICBLVVJMIHVybCA9IGZpbmFsVVJMKCk7Ci0gICAgaWYg
KCF1cmwuaXNFbXB0eSgpICYmIGRvY3VtZW50KCkgJiYgIWRvY3VtZW50KCktPnNlY3VyaXR5T3Jp
Z2luKCktPmNhblJlcXVlc3QodXJsKSkKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBmaW5kRG9j
dW1lbnQoKTsKKyAgICBpZiAoIXVybC5pc0VtcHR5KCkgJiYgZG9jdW1lbnQgJiYgIWRvY3VtZW50
LT5zZWN1cml0eU9yaWdpbigpLT5jYW5SZXF1ZXN0KHVybCkpCiAgICAgICAgIHJldHVybiAwOwog
ICAgIHJldHVybiBDU1NSdWxlTGlzdDo6Y3JlYXRlKHRoaXMsIG9taXRDaGFyc2V0UnVsZXMpOwog
fQpAQCAtMjQ1LDcgKzI0Niw3IEBAIHZvaWQgQ1NTU3R5bGVTaGVldDo6c3RhcnRMb2FkaW5nRHlu
YW1pY1NoZWV0KCkKICAgICAgICAgb3duZXItPnN0YXJ0TG9hZGluZ0R5bmFtaWNTaGVldCgpOwog
fQogCi1Ob2RlKiBDU1NTdHlsZVNoZWV0OjpzdHlsZVNoZWV0T3duZXJOb2RlKCkgY29uc3QKK05v
ZGUqIENTU1N0eWxlU2hlZXQ6OmZpbmRTdHlsZVNoZWV0T3duZXJOb2RlKCkgY29uc3QKIHsKICAg
ICBmb3IgKGNvbnN0IENTU1N0eWxlU2hlZXQqIHNoZWV0ID0gdGhpczsgc2hlZXQ7IHNoZWV0ID0g
c2hlZXQtPnBhcmVudFN0eWxlU2hlZXQoKSkgewogICAgICAgICBpZiAoTm9kZSogb3duZXJOb2Rl
ID0gc2hlZXQtPm93bmVyTm9kZSgpKQpAQCAtMjU0LDE0ICsyNTUsMTMgQEAgTm9kZSogQ1NTU3R5
bGVTaGVldDo6c3R5bGVTaGVldE93bmVyTm9kZSgpIGNvbnN0CiAgICAgcmV0dXJuIDA7CiB9CiAK
LURvY3VtZW50KiBDU1NTdHlsZVNoZWV0Ojpkb2N1bWVudCgpCitEb2N1bWVudCogQ1NTU3R5bGVT
aGVldDo6ZmluZERvY3VtZW50KCkKIHsKLSAgICBOb2RlKiBvd25lck5vZGUgPSBzdHlsZVNoZWV0
T3duZXJOb2RlKCk7CisgICAgTm9kZSogb3duZXJOb2RlID0gZmluZFN0eWxlU2hlZXRPd25lck5v
ZGUoKTsKIAogICAgIHJldHVybiBvd25lck5vZGUgPyBvd25lck5vZGUtPmRvY3VtZW50KCkgOiAw
OwogfQogCi0KIHZvaWQgQ1NTU3R5bGVTaGVldDo6c3R5bGVTaGVldENoYW5nZWQoKQogewogICAg
IENTU1N0eWxlU2hlZXQqIHJvb3RTaGVldCA9IHRoaXM7CkBAIC0yNzIsNyArMjcyLDcgQEAgdm9p
ZCBDU1NTdHlsZVNoZWV0OjpzdHlsZVNoZWV0Q2hhbmdlZCgpCiAgICAgICogYmFzaWNhbGx5IHdl
IGp1c3QgbmVlZCB0byByZWNyZWF0ZSB0aGUgZG9jdW1lbnQncyBzZWxlY3RvciB3aXRoIHRoZQog
ICAgICAqIGFscmVhZHkgZXhpc3Rpbmcgc3R5bGUgc2hlZXRzLgogICAgICAqLwotICAgIGlmIChE
b2N1bWVudCogZG9jdW1lbnRUb1VwZGF0ZSA9IHJvb3RTaGVldC0+ZG9jdW1lbnQoKSkKKyAgICBp
ZiAoRG9jdW1lbnQqIGRvY3VtZW50VG9VcGRhdGUgPSByb290U2hlZXQtPmZpbmREb2N1bWVudCgp
KQogICAgICAgICBkb2N1bWVudFRvVXBkYXRlLT5zdHlsZVNlbGVjdG9yQ2hhbmdlZChEZWZlclJl
Y2FsY1N0eWxlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2hlZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmgKaW5kZXggZjdiYmNh
ZDE4NzFlNGM2Y2M0ODI4ZWMzZjg4ZWFhZTQyZjllMzY0ZC4uN2E0YWU5ZjNmYjcwYjg5OTI0OWRj
N2Q1OTdmZTk2YzA2OGZiOGVhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0
eWxlU2hlZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5oCkBAIC05
NSw4ICs5NSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgY2hlY2tMb2FkZWQoKTsKICAg
ICB2b2lkIHN0YXJ0TG9hZGluZ0R5bmFtaWNTaGVldCgpOwogCi0gICAgTm9kZSogc3R5bGVTaGVl
dE93bmVyTm9kZSgpIGNvbnN0OwotICAgIERvY3VtZW50KiBkb2N1bWVudCgpOworICAgIE5vZGUq
IGZpbmRTdHlsZVNoZWV0T3duZXJOb2RlKCkgY29uc3Q7CisgICAgRG9jdW1lbnQqIGZpbmREb2N1
bWVudCgpOwogCiAgICAgY29uc3QgU3RyaW5nJiBjaGFyc2V0KCkgY29uc3QgeyByZXR1cm4gbV9j
aGFyc2V0OyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDU1NBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdl
bnQuY3BwCmluZGV4IDkwZTBkODcxNGRkZjg0NjBkYWQ3MTI3OTcwMGI3NmYzOGFhYjU5ZjYuLmQx
ZGQxYzg2MTU0MmFiMDBkNzI2YTViYTQwY2MxNDQ0MzQ0NTg1YzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcApAQCAtNDk3LDcgKzQ5Nyw4IEBA
IEluc3BlY3RvclN0eWxlU2hlZXQqIEluc3BlY3RvckNTU0FnZW50OjpiaW5kU3R5bGVTaGVldChD
U1NTdHlsZVNoZWV0KiBzdHlsZVNoZWV0CiAgICAgUmVmUHRyPEluc3BlY3RvclN0eWxlU2hlZXQ+
IGluc3BlY3RvclN0eWxlU2hlZXQgPSBtX2Nzc1N0eWxlU2hlZXRUb0luc3BlY3RvclN0eWxlU2hl
ZXQuZ2V0KHN0eWxlU2hlZXQpOwogICAgIGlmICghaW5zcGVjdG9yU3R5bGVTaGVldCkgewogICAg
ICAgICBTdHJpbmcgaWQgPSBTdHJpbmc6Om51bWJlcihtX2xhc3RTdHlsZVNoZWV0SWQrKyk7Ci0g
ICAgICAgIGluc3BlY3RvclN0eWxlU2hlZXQgPSBJbnNwZWN0b3JTdHlsZVNoZWV0OjpjcmVhdGUo
aWQsIHN0eWxlU2hlZXQsIGRldGVjdE9yaWdpbihzdHlsZVNoZWV0LCBzdHlsZVNoZWV0LT5kb2N1
bWVudCgpKSwgbV9kb21BZ2VudC0+ZG9jdW1lbnRVUkxTdHJpbmcoc3R5bGVTaGVldC0+ZG9jdW1l
bnQoKSkpOworICAgICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBzdHlsZVNoZWV0LT5maW5kRG9j
dW1lbnQoKTsKKyAgICAgICAgaW5zcGVjdG9yU3R5bGVTaGVldCA9IEluc3BlY3RvclN0eWxlU2hl
ZXQ6OmNyZWF0ZShpZCwgc3R5bGVTaGVldCwgZGV0ZWN0T3JpZ2luKHN0eWxlU2hlZXQsIGRvY3Vt
ZW50KSwgbV9kb21BZ2VudC0+ZG9jdW1lbnRVUkxTdHJpbmcoZG9jdW1lbnQpKTsKICAgICAgICAg
bV9pZFRvSW5zcGVjdG9yU3R5bGVTaGVldC5zZXQoaWQsIGluc3BlY3RvclN0eWxlU2hlZXQpOwog
ICAgICAgICBtX2Nzc1N0eWxlU2hlZXRUb0luc3BlY3RvclN0eWxlU2hlZXQuc2V0KHN0eWxlU2hl
ZXQsIGluc3BlY3RvclN0eWxlU2hlZXQpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcAppbmRleCA2M2Q3ZGEzZGY3OTAyYWFkNGRj
NDM2MTQ0NmY3ZmEyMTRlMDFjMTc4Li4xMDQyODIyZTU4MThlOTk1MjFmMzk2NDMwZTNhMDY0ZGVl
YTM1NTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5
bGVTaGVldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxl
U2hlZXQuY3BwCkBAIC04MjksNyArODI5LDcgQEAgSW5zcGVjdG9yQ1NTSWQgSW5zcGVjdG9yU3R5
bGVTaGVldDo6cnVsZU9yU3R5bGVJZChDU1NTdHlsZURlY2xhcmF0aW9uKiBzdHlsZSkgY28KIAog
RG9jdW1lbnQqIEluc3BlY3RvclN0eWxlU2hlZXQ6Om93bmVyRG9jdW1lbnQoKSBjb25zdAogewot
ICAgIHJldHVybiBtX3BhZ2VTdHlsZVNoZWV0LT5kb2N1bWVudCgpOworICAgIHJldHVybiBtX3Bh
Z2VTdHlsZVNoZWV0LT5maW5kRG9jdW1lbnQoKTsKIH0KIAogUmVmUHRyPENTU1J1bGVTb3VyY2VE
YXRhPiBJbnNwZWN0b3JTdHlsZVNoZWV0OjpydWxlU291cmNlRGF0YUZvcihDU1NTdHlsZURlY2xh
cmF0aW9uKiBzdHlsZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZVNlcmlhbGl6ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlU2VyaWFsaXplci5jcHAK
aW5kZXggNDAxNjRjN2Y3OGJiYjNkYzlhNTBjYzdlNWE4ODkwMDg1ZjVmZTc3Mi4uZTZmMjhlOTNi
NzcwNWY5ZmZjNGUwYTQ2YWVmMWU3MGIxN2E2YmQxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlU2VyaWFsaXplci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
U2VyaWFsaXplci5jcHAKQEAgLTI2NCw3ICsyNjQsOCBAQCB2b2lkIFBhZ2VTZXJpYWxpemVyOjpz
ZXJpYWxpemVDU1NTdHlsZVNoZWV0KENTU1N0eWxlU2hlZXQqIHN0eWxlU2hlZXQsIGNvbnN0IEtV
UgogICAgICAgICAvLyBTb21lIHJ1bGVzIGhhdmUgcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCB0
aGVtIHRoYXQgd2UgbmVlZCB0byByZXRyaWV2ZS4KICAgICAgICAgaWYgKHJ1bGUtPmlzSW1wb3J0
UnVsZSgpKSB7CiAgICAgICAgICAgICBDU1NJbXBvcnRSdWxlKiBpbXBvcnRSdWxlID0gc3RhdGlj
X2Nhc3Q8Q1NTSW1wb3J0UnVsZSo+KHJ1bGUpOwotICAgICAgICAgICAgS1VSTCBpbXBvcnRVUkwg
PSBzdHlsZVNoZWV0LT5kb2N1bWVudCgpLT5jb21wbGV0ZVVSTChpbXBvcnRSdWxlLT5ocmVmKCkp
OworICAgICAgICAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gc3R5bGVTaGVldC0+ZmluZERvY3Vt
ZW50KCk7CisgICAgICAgICAgICBLVVJMIGltcG9ydFVSTCA9IGRvY3VtZW50LT5jb21wbGV0ZVVS
TChpbXBvcnRSdWxlLT5ocmVmKCkpOwogICAgICAgICAgICAgaWYgKG1fcmVzb3VyY2VVUkxzLmNv
bnRhaW5zKGltcG9ydFVSTCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAg
ICBzZXJpYWxpemVDU1NTdHlsZVNoZWV0KGltcG9ydFJ1bGUtPnN0eWxlU2hlZXQoKSwgaW1wb3J0
VVJMKTsKQEAgLTMzMiw3ICszMzMsOCBAQCB2b2lkIFBhZ2VTZXJpYWxpemVyOjpyZXRyaWV2ZVJl
c291cmNlc0ZvckNTU0RlY2xhcmF0aW9uKENTU1N0eWxlRGVjbGFyYXRpb24qIHN0eQogCiAgICAg
ICAgIENhY2hlZEltYWdlKiBpbWFnZSA9IHN0YXRpY19jYXN0PFN0eWxlQ2FjaGVkSW1hZ2UqPihz
dHlsZUltYWdlKS0+Y2FjaGVkSW1hZ2UoKTsKIAotICAgICAgICBLVVJMIHVybCA9IGNzc1N0eWxl
U2hlZXQtPmRvY3VtZW50KCktPmNvbXBsZXRlVVJMKGltYWdlLT51cmwoKSk7CisgICAgICAgIERv
Y3VtZW50KiBkb2N1bWVudCA9IGNzc1N0eWxlU2hlZXQtPmZpbmREb2N1bWVudCgpOworICAgICAg
ICBLVVJMIHVybCA9IGRvY3VtZW50LT5jb21wbGV0ZVVSTChpbWFnZS0+dXJsKCkpOwogICAgICAg
ICBhZGRJbWFnZVRvUmVzb3VyY2VzKGltYWdlLCAwLCB1cmwpOwogICAgIH0KIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>