<?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>165361</bug_id>
          
          <creation_ts>2016-12-03 12:26:51 -0800</creation_ts>
          <short_desc>[CSS Parser] Remove line numbers from StyleRule.</short_desc>
          <delta_ts>2016-12-03 14:56:15 -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>New Bugs</component>
          <version>WebKit 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="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1256088</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-12-03 12:26:51 -0800</bug_when>
    <thetext>[CSS Parser] Remove line numbers from StyleRule.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256091</commentid>
    <comment_count>1</comment_count>
      <attachid>296058</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-12-03 12:34:34 -0800</bug_when>
    <thetext>Created attachment 296058
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256098</commentid>
    <comment_count>2</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-12-03 13:23:20 -0800</bug_when>
    <thetext>Fixed in r209304.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256128</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-12-03 14:43:32 -0800</bug_when>
    <thetext>Windows build is failing now:

c:\cygwin\home\buildbot\slave\win-release\build\source\webcore\bindings\js\serializedscriptvalue.cpp(2735): warning C4715: &apos;WebCore::exceptionForSerializationFailure&apos;: not all control paths return a value [C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\Source\WebCore\WebCore.vcxproj]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256129</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-12-03 14:44:03 -0800</bug_when>
    <thetext>EFL build also failing:

../../Source/WebCore/bindings/js/SerializedScriptValue.cpp:2735:1: error: control reaches end of non-void function [-Werror=return-type]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256141</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-12-03 14:56:15 -0800</bug_when>
    <thetext>Both of those are from Sam&apos;s patch, not this one. Sorry!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296058</attachid>
            <date>2016-12-03 12:34:34 -0800</date>
            <delta_ts>2016-12-03 12:50:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165361-20161203143401.patch</filename>
            <type>text/plain</type>
            <size>17354</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwOTMwMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDY3IEBACisyMDE2LTEyLTAzICBEYXZlIEh5
YXR0ICA8aHlhdHRAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1MgUGFyc2VyXSBSZW1vdmUgbGlu
ZSBudW1iZXJzIGZyb20gU3R5bGVSdWxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MzYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgU3R5bGVSdWxlcyBoYXZlIGEgY29uY2VwdCBvZiBhIHNvdXJjZSBs
aW5lIHRoYXQgaXMgZXZlbnR1YWxseSBwYXNzZWQKKyAgICAgICAgdG8gdGhlIGluc3BlY3Rvci4g
VGhpcyB3YXMgb25seSBldmVyIHVzZWQgYnkgbm9ybWFsIHJ1bGVzLCBpLmUuLCBvbmVzIHdpdGgK
KyAgICAgICAgc2VsZWN0b3JzLCBhbmQgc2V0IHRvIDAgZm9yIGFsbCBvdGhlciBydWxlcy4gVGhp
cyBsaW5lIHdhcyBzZXQgdG8gdGhlIGxpbmUgbnVtYmVyCisgICAgICAgIGF0IHdoaWNoIHRoZSBl
bmQgb2YgdGhlIHNlbGVjdG9yIHRleHQgb2NjdXJyZWQuCisKKyAgICAgICAgQmVjYXVzZSBJbnNw
ZWN0b3IgYWxyZWFkeSBjb21wdXRlcyB0aGUgc3RhcnQgYW5kIGVuZCByYW5nZSBmb3IgdGhlIHNl
bGVjdG9yCisgICAgICAgIHRleHQsIHN0b3JpbmcgYSBzb3VyY2UgbGluZSBvbiBTdHlsZVJ1bGUg
ZW5kcyB1cCBiZWluZyByZWR1bmRhbnQuIFRoaXMgcGF0Y2gKKyAgICAgICAgZ2V0cyByaWQgb2Yg
dGhlIHNvdXJjZSBsaW5lIGFuZCB1c2VzIHRoZSBlbmQgbGluZSBvZiB0aGUgc2VsZWN0b3IgdGV4
dAorICAgICAgICBpbnN0ZWFkLgorCisgICAgICAgICogY3NzL0NTU0dyYW1tYXIueS5pbjoKKyAg
ICAgICAgUmVtb3ZlIHRoZSBjb2RlIHRoYXQgdXBkYXRlcyB0aGUgbGFzdCBzZWVuIHNlbGVjdG9y
IGxpbmUuCisKKyAgICAgICAgKiBjc3MvQ1NTS2V5ZnJhbWVSdWxlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlS2V5ZnJhbWU6OlN0eWxlS2V5ZnJhbWUpOgorICAgICAgICAqIGNzcy9DU1NL
ZXlmcmFtZXNSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUtleWZyYW1lczo6
U3R5bGVSdWxlS2V5ZnJhbWVzKToKKyAgICAgICAgTm8gbG9uZ2VyIG5lZWQgdG8gcGFzcyBpbiBh
IDAgbGluZSBudW1iZXIuCisKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlN0eWxlUnVsZTo6U3R5bGVSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxl
UnVsZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZTo6c3BsaXRJbnRvTXVs
dGlwbGVSdWxlc1dpdGhNYXhpbXVtU2VsZWN0b3JDb21wb25lbnRDb3VudCk6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVJ1bGVGb250RmFjZTo6U3R5bGVSdWxlRm9udEZhY2UpOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGVSdWxlR3JvdXA6OlN0eWxlUnVsZUdyb3VwKToKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUnVsZUNoYXJzZXQ6OlN0eWxlUnVsZUNoYXJzZXQpOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVSdWxlTmFtZXNwYWNlOjpTdHlsZVJ1bGVOYW1lc3BhY2UpOgorICAgICAgICAqIGNz
cy9TdHlsZVJ1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OlN0eWxlUnVs
ZUJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6c291cmNlTGluZSk6IERl
bGV0ZWQuCisgICAgICAgICogY3NzL1N0eWxlUnVsZUltcG9ydC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZVJ1bGVJbXBvcnQ6OlN0eWxlUnVsZUltcG9ydCk6CisgICAgICAgIFJlbW92ZSBt
X3NvdXJjZUxpbmUgYW5kIGNoYW5nZSB0aGUgY3JlYXRlIG1ldGhvZHMgYW5kIGNvbnN0cnVjdG9y
cyB0byBub3QKKyAgICAgICAgcmVxdWlyZSBhIGxpbmUgbnVtYmVyLgorCisgICAgICAgICogY3Nz
L3BhcnNlci9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpjcmVh
dGVTdHlsZVJ1bGUpOgorICAgICAgICBMaW5lIG51bWJlciBubyBsb25nZXIgbmVlZGVkLgorCisg
ICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnVwZGF0ZUxhc3RTZWxlY3RvckxpbmVBbmRQb3Np
dGlvbik6IERlbGV0ZWQuCisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXIuaDoKKyAgICAg
ICAgR290IHJpZCBvZiB0aGUgZnVuY3Rpb24gdGhhdCB0cmFja3MgYW5kIHVwZGF0ZXMgdGhlIGxh
c3Qgc2VlbiBzZWxlY3RvciBsaW5lLgorCisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlckltcGw6OmNvbnN1bWVTdHlsZVJ1
bGUpOgorICAgICAgICBGaXggdGhlIHJ1bGUgY3JlYXRpb24gaW4gdGhlIG5ldyBwYXJzZXIgdG8g
bm90IHBhc3MgaW4gYSAwIGxpbmUgbnVtYmVyLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvclN0eWxlU2hlZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YnVpbGRTb3VyY2VSYW5nZU9i
amVjdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JTdHlsZVNoZWV0OjpidWlsZE9iamVj
dEZvclNlbGVjdG9yTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JTdHlsZVNoZWV0
OjpidWlsZE9iamVjdEZvclJ1bGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JTdHls
ZVNoZWV0Lmg6CisgICAgICAgIFBhdGNoIHRoZSBtZXRob2RzIHRoYXQgYnVpbGQgdXAgdGhlIHNl
bGVjdG9yIHJhbmdlIHRvIHJldHVybiB0aGUgZW5kIGxpbmUKKyAgICAgICAgaW5mb3JtYXRpb24g
Zm9yIHNlbGVjdG9yIHRleHQgc28gdGhhdCBpdCBjYW4gYmUgc2V0IGFzIHRoZSBzb3VyY2UgbGlu
ZQorICAgICAgICBmb3IgdGhlIHJ1bGUgKHRodXMgZWxpbWluYXRpbmcgdGhlIG5lZWQgdG8gc3Rv
cmUgdGhlIGxpbmUgbnVtYmVyIG9uIHRoZSBzdHlsZQorICAgICAgICBydWxlIGl0c2VsZikuCisK
IDIwMTYtMTItMDIgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBvcHRp
b25hbCBzZXF1ZW5jZSB2YWx1ZXMgbm90IGhhbmRsZWQgY29ycmVjdGx5IGJ5IGJpbmRpbmcgZ2Vu
ZXJhdG9yCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4JKHJldmlzaW9uIDIwODk5
OSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4JKHdvcmtpbmcgY29weSkK
QEAgLTEwNDgsNyArMTA0OCw2IEBAIHNlbGVjdG9yX2xpc3Q6CiAgICAgICAgIGlmICgkMSkgewog
ICAgICAgICAgICAgJCQgPSBwYXJzZXItPmNyZWF0ZVNlbGVjdG9yVmVjdG9yKCkucmVsZWFzZSgp
OwogICAgICAgICAgICAgJCQtPmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFyc2VyU2VsZWN0
b3I+KCQxKSk7Ci0gICAgICAgICAgICBwYXJzZXItPnVwZGF0ZUxhc3RTZWxlY3RvckxpbmVBbmRQ
b3NpdGlvbigpOwogICAgICAgICB9CiAgICAgfQogICAgIHwgc2VsZWN0b3JfbGlzdCBhdF9zZWxl
Y3Rvcl9lbmQgJywnIG1heWJlX3NwYWNlIGJlZm9yZV9zZWxlY3Rvcl9ncm91cF9pdGVtIGNvbXBs
ZXhfc2VsZWN0b3IgJXByZWMgVU5JTVBPUlRBTlRfVE9LIHsKQEAgLTEwNTgsNyArMTA1Nyw2IEBA
IHNlbGVjdG9yX2xpc3Q6CiAgICAgICAgIGlmIChzZWxlY3Rvckxpc3QgJiYgc2VsZWN0b3IpIHsK
ICAgICAgICAgICAgICQkID0gc2VsZWN0b3JMaXN0LnJlbGVhc2UoKTsKICAgICAgICAgICAgICQk
LT5hcHBlbmQoV1RGTW92ZShzZWxlY3RvcikpOwotICAgICAgICAgICAgcGFyc2VyLT51cGRhdGVM
YXN0U2VsZWN0b3JMaW5lQW5kUG9zaXRpb24oKTsKICAgICAgICAgfQogICAgIH0KICAgICB8IHNl
bGVjdG9yX2xpc3QgZXJyb3IgewpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU0tleWZyYW1l
UnVsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU0tleWZyYW1lUnVs
ZS5jcHAJKHJldmlzaW9uIDIwODk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NLZXlmcmFt
ZVJ1bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwxMyArMzQsMTMgQEAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogU3R5bGVLZXlmcmFtZTo6U3R5bGVLZXlmcmFtZShSZWY8U3R5bGVQcm9wZXJ0
aWVzPiYmIHByb3BlcnRpZXMpCi0gICAgOiBTdHlsZVJ1bGVCYXNlKEtleWZyYW1lLCAwKQorICAg
IDogU3R5bGVSdWxlQmFzZShLZXlmcmFtZSkKICAgICAsIG1fcHJvcGVydGllcyhXVEZNb3ZlKHBy
b3BlcnRpZXMpKQogewogfQogCiBTdHlsZUtleWZyYW1lOjpTdHlsZUtleWZyYW1lKHN0ZDo6dW5p
cXVlX3B0cjxWZWN0b3I8ZG91YmxlPj4ga2V5cywgUmVmPFN0eWxlUHJvcGVydGllcz4mJiBwcm9w
ZXJ0aWVzKQotICAgIDogU3R5bGVSdWxlQmFzZShLZXlmcmFtZSwgMCkKKyAgICA6IFN0eWxlUnVs
ZUJhc2UoS2V5ZnJhbWUpCiAgICAgLCBtX3Byb3BlcnRpZXMoV1RGTW92ZShwcm9wZXJ0aWVzKSkK
ICAgICAsIG1fa2V5cygqa2V5cykKIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NLZXlm
cmFtZXNSdWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTS2V5ZnJh
bWVzUnVsZS5jcHAJKHJldmlzaW9uIDIwODk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NL
ZXlmcmFtZXNSdWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBTdHlsZVJ1bGVLZXlmcmFtZXM6OlN0eWxlUnVsZUtleWZyYW1lcygp
Ci0gICAgOiBTdHlsZVJ1bGVCYXNlKEtleWZyYW1lcywgMCkKKyAgICA6IFN0eWxlUnVsZUJhc2Uo
S2V5ZnJhbWVzKQogewogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcAkocmV2aXNp
b24gMjA4OTk5KQorKysgU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQwLDcgKzQwLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IFNh
bWVTaXplQXNTdHlsZVJ1bGVCYXNlIDogcHVibGljIFdURjo6UmVmQ291bnRlZEJhc2UgewotICAg
IHVuc2lnbmVkIGJpdGZpZWxkczsKKyAgICB1bnNpZ25lZCBiaXRmaWVsZHMgOiA1OwogfTsKIAog
Q09NUElMRV9BU1NFUlQoc2l6ZW9mKFN0eWxlUnVsZUJhc2UpID09IHNpemVvZihTYW1lU2l6ZUFz
U3R5bGVSdWxlQmFzZSksIFN0eWxlUnVsZUJhc2Vfc2hvdWxkX3N0YXlfc21hbGwpOwpAQCAtMjA0
LDggKzIwNCw4IEBAIHVuc2lnbmVkIFN0eWxlUnVsZTo6YXZlcmFnZVNpemVJbkJ5dGVzKCkKICAg
ICByZXR1cm4gc2l6ZW9mKFN0eWxlUnVsZSkgKyBzaXplb2YoQ1NTU2VsZWN0b3IpICsgU3R5bGVQ
cm9wZXJ0aWVzOjphdmVyYWdlU2l6ZUluQnl0ZXMoKTsKIH0KIAotU3R5bGVSdWxlOjpTdHlsZVJ1
bGUoaW50IHNvdXJjZUxpbmUsIFJlZjxTdHlsZVByb3BlcnRpZXM+JiYgcHJvcGVydGllcykKLSAg
ICA6IFN0eWxlUnVsZUJhc2UoU3R5bGUsIHNvdXJjZUxpbmUpCitTdHlsZVJ1bGU6OlN0eWxlUnVs
ZShSZWY8U3R5bGVQcm9wZXJ0aWVzPiYmIHByb3BlcnRpZXMpCisgICAgOiBTdHlsZVJ1bGVCYXNl
KFN0eWxlKQogICAgICwgbV9wcm9wZXJ0aWVzKFdURk1vdmUocHJvcGVydGllcykpCiB7CiB9CkBA
IC0yMjgsMTQgKzIyOCwxNCBAQCBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzJiBTdHlsZVJ1bGU6Om11
dGFiCiAgICAgcmV0dXJuIGRvd25jYXN0PE11dGFibGVTdHlsZVByb3BlcnRpZXM+KG1fcHJvcGVy
dGllcy5nZXQoKSk7CiB9CiAKLVJlZjxTdHlsZVJ1bGU+IFN0eWxlUnVsZTo6Y3JlYXRlKGludCBz
b3VyY2VMaW5lLCBjb25zdCBWZWN0b3I8Y29uc3QgQ1NTU2VsZWN0b3IqPiYgc2VsZWN0b3JzLCBS
ZWY8U3R5bGVQcm9wZXJ0aWVzPiYmIHByb3BlcnRpZXMpCitSZWY8U3R5bGVSdWxlPiBTdHlsZVJ1
bGU6OmNyZWF0ZShjb25zdCBWZWN0b3I8Y29uc3QgQ1NTU2VsZWN0b3IqPiYgc2VsZWN0b3JzLCBS
ZWY8U3R5bGVQcm9wZXJ0aWVzPiYmIHByb3BlcnRpZXMpCiB7CiAgICAgQVNTRVJUX1dJVEhfU0VD
VVJJVFlfSU1QTElDQVRJT04oIXNlbGVjdG9ycy5pc0VtcHR5KCkpOwogICAgIENTU1NlbGVjdG9y
KiBzZWxlY3Rvckxpc3RBcnJheSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Q1NTU2VsZWN0b3IqPihmYXN0
TWFsbG9jKHNpemVvZihDU1NTZWxlY3RvcikgKiBzZWxlY3RvcnMuc2l6ZSgpKSk7CiAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IHNlbGVjdG9ycy5zaXplKCk7ICsraSkKICAgICAgICAgbmV3
IChOb3ROdWxsLCAmc2VsZWN0b3JMaXN0QXJyYXlbaV0pIENTU1NlbGVjdG9yKCpzZWxlY3RvcnMu
YXQoaSkpOwogICAgIHNlbGVjdG9yTGlzdEFycmF5W3NlbGVjdG9ycy5zaXplKCkgLSAxXS5zZXRM
YXN0SW5TZWxlY3Rvckxpc3QoKTsKLSAgICBhdXRvIHJ1bGUgPSBTdHlsZVJ1bGU6OmNyZWF0ZShz
b3VyY2VMaW5lLCBXVEZNb3ZlKHByb3BlcnRpZXMpKTsKKyAgICBhdXRvIHJ1bGUgPSBTdHlsZVJ1
bGU6OmNyZWF0ZShXVEZNb3ZlKHByb3BlcnRpZXMpKTsKICAgICBydWxlLmdldCgpLnBhcnNlckFk
b3B0U2VsZWN0b3JBcnJheShzZWxlY3Rvckxpc3RBcnJheSk7CiAgICAgcmV0dXJuIHJ1bGU7CiB9
CkBAIC0yNTMsNyArMjUzLDcgQEAgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGU+PiBTdHlsZVJ1bGU6
OnNwbAogICAgICAgICAgICAgY29tcG9uZW50c0luVGhpc1NlbGVjdG9yLmFwcGVuZChjb21wb25l
bnQpOwogCiAgICAgICAgIGlmIChjb21wb25lbnRzSW5UaGlzU2VsZWN0b3Iuc2l6ZSgpICsgY29t
cG9uZW50c1NpbmNlTGFzdFNwbGl0LnNpemUoKSA+IG1heENvdW50ICYmICFjb21wb25lbnRzU2lu
Y2VMYXN0U3BsaXQuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBydWxlcy5hcHBlbmQoY3JlYXRl
KHNvdXJjZUxpbmUoKSwgY29tcG9uZW50c1NpbmNlTGFzdFNwbGl0LCBjb25zdF9jYXN0PFN0eWxl
UHJvcGVydGllcyY+KG1fcHJvcGVydGllcy5nZXQoKSkpKTsKKyAgICAgICAgICAgIHJ1bGVzLmFw
cGVuZChjcmVhdGUoY29tcG9uZW50c1NpbmNlTGFzdFNwbGl0LCBjb25zdF9jYXN0PFN0eWxlUHJv
cGVydGllcyY+KG1fcHJvcGVydGllcy5nZXQoKSkpKTsKICAgICAgICAgICAgIGNvbXBvbmVudHNT
aW5jZUxhc3RTcGxpdC5jbGVhcigpOwogICAgICAgICB9CiAKQEAgLTI2MSw3ICsyNjEsNyBAQCBW
ZWN0b3I8UmVmUHRyPFN0eWxlUnVsZT4+IFN0eWxlUnVsZTo6c3BsCiAgICAgfQogCiAgICAgaWYg
KCFjb21wb25lbnRzU2luY2VMYXN0U3BsaXQuaXNFbXB0eSgpKQotICAgICAgICBydWxlcy5hcHBl
bmQoY3JlYXRlKHNvdXJjZUxpbmUoKSwgY29tcG9uZW50c1NpbmNlTGFzdFNwbGl0LCBjb25zdF9j
YXN0PFN0eWxlUHJvcGVydGllcyY+KG1fcHJvcGVydGllcy5nZXQoKSkpKTsKKyAgICAgICAgcnVs
ZXMuYXBwZW5kKGNyZWF0ZShjb21wb25lbnRzU2luY2VMYXN0U3BsaXQsIGNvbnN0X2Nhc3Q8U3R5
bGVQcm9wZXJ0aWVzJj4obV9wcm9wZXJ0aWVzLmdldCgpKSkpOwogCiAgICAgcmV0dXJuIHJ1bGVz
OwogfQpAQCAtMjkxLDcgKzI5MSw3IEBAIE11dGFibGVTdHlsZVByb3BlcnRpZXMmIFN0eWxlUnVs
ZVBhZ2U6Om0KIH0KIAogU3R5bGVSdWxlRm9udEZhY2U6OlN0eWxlUnVsZUZvbnRGYWNlKFJlZjxT
dHlsZVByb3BlcnRpZXM+JiYgcHJvcGVydGllcykKLSAgICA6IFN0eWxlUnVsZUJhc2UoRm9udEZh
Y2UsIDApCisgICAgOiBTdHlsZVJ1bGVCYXNlKEZvbnRGYWNlKQogICAgICwgbV9wcm9wZXJ0aWVz
KFdURk1vdmUocHJvcGVydGllcykpCiB7CiB9CkBAIC0zMTQsNyArMzE0LDcgQEAgTXV0YWJsZVN0
eWxlUHJvcGVydGllcyYgU3R5bGVSdWxlRm9udEZhYwogfQogCiBTdHlsZVJ1bGVHcm91cDo6U3R5
bGVSdWxlR3JvdXAoVHlwZSB0eXBlLCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYgYWRv
cHRSdWxlKQotICAgIDogU3R5bGVSdWxlQmFzZSh0eXBlLCAwKQorICAgIDogU3R5bGVSdWxlQmFz
ZSh0eXBlKQogewogICAgIG1fY2hpbGRSdWxlcy5zd2FwKGFkb3B0UnVsZSk7CiB9CkBAIC00MTEs
NyArNDExLDcgQEAgTXV0YWJsZVN0eWxlUHJvcGVydGllcyYgU3R5bGVSdWxlVmlld3BvcgogI2Vu
ZGlmIC8vIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCiAKIFN0eWxlUnVsZUNoYXJzZXQ6
OlN0eWxlUnVsZUNoYXJzZXQoKQotICAgIDogU3R5bGVSdWxlQmFzZShDaGFyc2V0LCAwKQorICAg
IDogU3R5bGVSdWxlQmFzZShDaGFyc2V0KQogewogfQogCkBAIC00MjUsNyArNDI1LDcgQEAgU3R5
bGVSdWxlQ2hhcnNldDo6flN0eWxlUnVsZUNoYXJzZXQoKQogfQogCiBTdHlsZVJ1bGVOYW1lc3Bh
Y2U6OlN0eWxlUnVsZU5hbWVzcGFjZShBdG9taWNTdHJpbmcgcHJlZml4LCBBdG9taWNTdHJpbmcg
dXJpKQotICAgIDogU3R5bGVSdWxlQmFzZShOYW1lc3BhY2UsIDApCisgICAgOiBTdHlsZVJ1bGVC
YXNlKE5hbWVzcGFjZSkKICAgICAsIG1fcHJlZml4KHByZWZpeCkKICAgICAsIG1fdXJpKHVyaSkK
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgJKHJldmlzaW9uIDIwODk5OSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaAkod29ya2luZyBjb3B5KQpAQCAtNzYsOCArNzYsNiBA
QCBwdWJsaWM6CiAKICAgICBSZWY8U3R5bGVSdWxlQmFzZT4gY29weSgpIGNvbnN0OwogCi0gICAg
aW50IHNvdXJjZUxpbmUoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZUxpbmU7IH0KLQogICAgIHZv
aWQgZGVyZWYoKQogICAgIHsKICAgICAgICAgaWYgKGRlcmVmQmFzZSgpKQpAQCAtODksOCArODcs
MTQgQEAgcHVibGljOgogICAgIFJlZlB0cjxDU1NSdWxlPiBjcmVhdGVDU1NPTVdyYXBwZXIoQ1NT
UnVsZSogcGFyZW50UnVsZSkgY29uc3Q7CiAKIHByb3RlY3RlZDoKLSAgICBTdHlsZVJ1bGVCYXNl
KFR5cGUgdHlwZSwgc2lnbmVkIHNvdXJjZUxpbmUgPSAwKSA6IG1fdHlwZSh0eXBlKSwgbV9zb3Vy
Y2VMaW5lKHNvdXJjZUxpbmUpIHsgfQotICAgIFN0eWxlUnVsZUJhc2UoY29uc3QgU3R5bGVSdWxl
QmFzZSYgbykgOiBXVEY6OlJlZkNvdW50ZWRCYXNlKCksIG1fdHlwZShvLm1fdHlwZSksIG1fc291
cmNlTGluZShvLm1fc291cmNlTGluZSkgeyB9CisgICAgU3R5bGVSdWxlQmFzZShUeXBlIHR5cGUp
CisgICAgICAgIDogbV90eXBlKHR5cGUpCisgICAgICAgIHsgfQorCisgICAgU3R5bGVSdWxlQmFz
ZShjb25zdCBTdHlsZVJ1bGVCYXNlJiBvKQorICAgICAgICA6IFdURjo6UmVmQ291bnRlZEJhc2Uo
KQorICAgICAgICAsIG1fdHlwZShvLm1fdHlwZSkKKyAgICAgICAgeyB9CiAKICAgICB+U3R5bGVS
dWxlQmFzZSgpIHsgfQogCkBAIC0xMDAsMTUgKzEwNCwxNCBAQCBwcml2YXRlOgogICAgIFJlZlB0
cjxDU1NSdWxlPiBjcmVhdGVDU1NPTVdyYXBwZXIoQ1NTU3R5bGVTaGVldCogcGFyZW50U2hlZXQs
IENTU1J1bGUqIHBhcmVudFJ1bGUpIGNvbnN0OwogCiAgICAgdW5zaWduZWQgbV90eXBlIDogNTsK
LSAgICBzaWduZWQgbV9zb3VyY2VMaW5lIDogMjc7CiB9OwogCiBjbGFzcyBTdHlsZVJ1bGUgZmlu
YWwgOiBwdWJsaWMgU3R5bGVSdWxlQmFzZSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxTdHlsZVJ1bGU+IGNyZWF0ZShpbnQgc291cmNlTGlu
ZSwgUmVmPFN0eWxlUHJvcGVydGllcz4mJiBwcm9wZXJ0aWVzKQorICAgIHN0YXRpYyBSZWY8U3R5
bGVSdWxlPiBjcmVhdGUoUmVmPFN0eWxlUHJvcGVydGllcz4mJiBwcm9wZXJ0aWVzKQogICAgIHsK
LSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlKHNvdXJjZUxpbmUsIFdURk1v
dmUocHJvcGVydGllcykpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxl
KFdURk1vdmUocHJvcGVydGllcykpKTsKICAgICB9CiAgICAgCiAgICAgflN0eWxlUnVsZSgpOwpA
QCAtMTI4LDEwICsxMzEsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyB1bnNpZ25lZCBhdmVyYWdl
U2l6ZUluQnl0ZXMoKTsKIAogcHJpdmF0ZToKLSAgICBTdHlsZVJ1bGUoaW50IHNvdXJjZUxpbmUs
IFJlZjxTdHlsZVByb3BlcnRpZXM+JiYpOworICAgIFN0eWxlUnVsZShSZWY8U3R5bGVQcm9wZXJ0
aWVzPiYmKTsKICAgICBTdHlsZVJ1bGUoY29uc3QgU3R5bGVSdWxlJik7CiAKLSAgICBzdGF0aWMg
UmVmPFN0eWxlUnVsZT4gY3JlYXRlKGludCBzb3VyY2VMaW5lLCBjb25zdCBWZWN0b3I8Y29uc3Qg
Q1NTU2VsZWN0b3IqPiYsIFJlZjxTdHlsZVByb3BlcnRpZXM+JiYpOworICAgIHN0YXRpYyBSZWY8
U3R5bGVSdWxlPiBjcmVhdGUoY29uc3QgVmVjdG9yPGNvbnN0IENTU1NlbGVjdG9yKj4mLCBSZWY8
U3R5bGVQcm9wZXJ0aWVzPiYmKTsKIAogICAgIFJlZjxTdHlsZVByb3BlcnRpZXM+IG1fcHJvcGVy
dGllczsKICAgICBDU1NTZWxlY3Rvckxpc3QgbV9zZWxlY3Rvckxpc3Q7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmNwcAkocmV2aXNpb24gMjA4OTk5KQorKysgU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDcg
KzQxLDcgQEAgUmVmPFN0eWxlUnVsZUltcG9ydD4gU3R5bGVSdWxlSW1wb3J0OjpjcgogfQogCiBT
dHlsZVJ1bGVJbXBvcnQ6OlN0eWxlUnVsZUltcG9ydChjb25zdCBTdHJpbmcmIGhyZWYsIFJlZjxN
ZWRpYVF1ZXJ5U2V0PiYmIG1lZGlhKQotICAgIDogU3R5bGVSdWxlQmFzZShJbXBvcnQsIDApCisg
ICAgOiBTdHlsZVJ1bGVCYXNlKEltcG9ydCkKICAgICAsIG1fcGFyZW50U3R5bGVTaGVldCgwKQog
ICAgICwgbV9zdHlsZVNoZWV0Q2xpZW50KHRoaXMpCiAgICAgLCBtX3N0ckhyZWYoaHJlZikKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlci5jcHAJKHJldmlzaW9uIDIwOTI2
NSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTMwNDIsNyArMTMwNDIsNyBAQCBSZWZQdHI8U3R5bGVSdWxlPiBDU1NQYXJzZXI6
OmNyZWF0ZVN0eWxlCiAgICAgaWYgKHNlbGVjdG9ycykgewogICAgICAgICBtX2FsbG93SW1wb3J0
UnVsZXMgPSBmYWxzZTsKICAgICAgICAgbV9hbGxvd05hbWVzcGFjZURlY2xhcmF0aW9ucyA9IGZh
bHNlOwotICAgICAgICBydWxlID0gU3R5bGVSdWxlOjpjcmVhdGUobV9sYXN0U2VsZWN0b3JMaW5l
TnVtYmVyLCBjcmVhdGVTdHlsZVByb3BlcnRpZXMoKSk7CisgICAgICAgIHJ1bGUgPSBTdHlsZVJ1
bGU6OmNyZWF0ZShjcmVhdGVTdHlsZVByb3BlcnRpZXMoKSk7CiAgICAgICAgIHJ1bGUtPnBhcnNl
ckFkb3B0U2VsZWN0b3JWZWN0b3IoKnNlbGVjdG9ycyk7CiAgICAgICAgIHByb2Nlc3NBbmRBZGRO
ZXdSdWxlVG9Tb3VyY2VUcmVlSWZOZWVkZWQoKTsKICAgICB9IGVsc2UKQEAgLTEzMjY5LDExICsx
MzI2OSw2IEBAIHZvaWQgQ1NTUGFyc2VyOjppbnZhbGlkQmxvY2tIaXQoKQogICAgICAgICBtX3N0
eWxlU2hlZXQtPnNldEhhc1N5bnRhY3RpY2FsbHlWYWxpZENTU0hlYWRlcihmYWxzZSk7CiB9CiAK
LXZvaWQgQ1NTUGFyc2VyOjp1cGRhdGVMYXN0U2VsZWN0b3JMaW5lQW5kUG9zaXRpb24oKQotewot
ICAgIG1fbGFzdFNlbGVjdG9yTGluZU51bWJlciA9IG1fbGluZU51bWJlcjsKLX0KLQogdm9pZCBD
U1NQYXJzZXI6OnVwZGF0ZUxhc3RNZWRpYUxpbmUoTWVkaWFRdWVyeVNldCYgbWVkaWEpCiB7CiAg
ICAgbWVkaWEuc2V0TGFzdExpbmUobV9saW5lTnVtYmVyKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQYXJzZXIuaAkocmV2aXNpb24gMjA5MjY1KQorKysgU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQYXJzZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDE1LDcgKzQxNSw2IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgaW52YWxpZEJsb2NrSGl0KCk7CiAKLSAgICB2b2lkIHVwZGF0
ZUxhc3RTZWxlY3RvckxpbmVBbmRQb3NpdGlvbigpOwogICAgIHZvaWQgdXBkYXRlTGFzdE1lZGlh
TGluZShNZWRpYVF1ZXJ5U2V0Jik7CiAKICAgICB2b2lkIGNsZWFyUHJvcGVydGllcygpOwpAQCAt
NjUyLDcgKzY1MSw2IEBAIHByaXZhdGU6CiAgICAgaW50IG1fbGluZU51bWJlciB7IDAgfTsKICAg
ICBpbnQgbV90b2tlblN0YXJ0TGluZU51bWJlciB7IDAgfTsKICAgICBpbnQgbV90b2tlblN0YXJ0
Q29sdW1uTnVtYmVyIHsgMCB9OwotICAgIGludCBtX2xhc3RTZWxlY3RvckxpbmVOdW1iZXIgeyAw
IH07CiAgICAgaW50IG1fY29sdW1uT2Zmc2V0Rm9yTGluZSB7IDAgfTsKIAogICAgIGludCBtX3No
ZWV0U3RhcnRMaW5lTnVtYmVyIHsgMCB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQYXJzZXJJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvcGFy
c2VyL0NTU1BhcnNlckltcGwuY3BwCShyZXZpc2lvbiAyMDkyNjUpCisrKyBTb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02ODksOCAr
Njg5LDcgQEAgUmVmUHRyPFN0eWxlUnVsZT4gQ1NTUGFyc2VySW1wbDo6Y29uc3VtZQogCiAgICAg
Y29uc3VtZURlY2xhcmF0aW9uTGlzdChibG9jaywgU3R5bGVSdWxlOjpTdHlsZSk7CiAKLSAgICAv
LyBGSVhNRS1ORVdQQVJTRVI6IExpbmUgbnVtYmVyIGlzIGluIHRoZSBTdHlsZVJ1bGUgY29uc3Ry
dWN0b3IgKGdyb3NzKSwgbmVlZCB0byBmaWd1cmUgdGhpcyBvdXQuCi0gICAgUmVmUHRyPFN0eWxl
UnVsZT4gcnVsZSA9IFN0eWxlUnVsZTo6Y3JlYXRlKDAsIGNyZWF0ZVN0eWxlUHJvcGVydGllcyht
X3BhcnNlZFByb3BlcnRpZXMsIG1fY29udGV4dC5tb2RlKSk7CisgICAgUmVmUHRyPFN0eWxlUnVs
ZT4gcnVsZSA9IFN0eWxlUnVsZTo6Y3JlYXRlKGNyZWF0ZVN0eWxlUHJvcGVydGllcyhtX3BhcnNl
ZFByb3BlcnRpZXMsIG1fY29udGV4dC5tb2RlKSk7CiAgICAgcnVsZS0+d3JhcHBlckFkb3B0U2Vs
ZWN0b3JMaXN0KHNlbGVjdG9yTGlzdCk7CiAgICAgcmV0dXJuIHJ1bGU7CiB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwCShyZXZp
c2lvbiAyMDg5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVT
aGVldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4NSwxMyArMzg1LDE2IEBAIGVudW0gTWVkaWFM
aXN0U291cmNlIHsKICAgICBNZWRpYUxpc3RTb3VyY2VJbXBvcnRSdWxlCiB9OwogCi1zdGF0aWMg
UmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6U291cmNlUmFuZ2U+IGJ1aWxkU291cmNl
UmFuZ2VPYmplY3QoY29uc3QgU291cmNlUmFuZ2UmIHJhbmdlLCBWZWN0b3I8c2l6ZV90PiogbGlu
ZUVuZGluZ3MpCitzdGF0aWMgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6U291cmNl
UmFuZ2U+IGJ1aWxkU291cmNlUmFuZ2VPYmplY3QoY29uc3QgU291cmNlUmFuZ2UmIHJhbmdlLCBW
ZWN0b3I8c2l6ZV90PiogbGluZUVuZGluZ3MsIGludCogZW5kaW5nTGluZSA9IG51bGxwdHIpCiB7
CiAgICAgaWYgKCFsaW5lRW5kaW5ncykKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgVGV4
dFBvc2l0aW9uIHN0YXJ0ID0gQ29udGVudFNlYXJjaFV0aWxpdGllczo6dGV4dFBvc2l0aW9uRnJv
bU9mZnNldChyYW5nZS5zdGFydCwgKmxpbmVFbmRpbmdzKTsKICAgICBUZXh0UG9zaXRpb24gZW5k
ID0gQ29udGVudFNlYXJjaFV0aWxpdGllczo6dGV4dFBvc2l0aW9uRnJvbU9mZnNldChyYW5nZS5l
bmQsICpsaW5lRW5kaW5ncyk7CiAKKyAgICBpZiAoZW5kaW5nTGluZSkKKyAgICAgICAgKmVuZGlu
Z0xpbmUgPSBlbmQubV9saW5lLnplcm9CYXNlZEludCgpOworCiAgICAgcmV0dXJuIEluc3BlY3Rv
cjo6UHJvdG9jb2w6OkNTUzo6U291cmNlUmFuZ2U6OmNyZWF0ZSgpCiAgICAgICAgIC5zZXRTdGFy
dExpbmUoc3RhcnQubV9saW5lLnplcm9CYXNlZEludCgpKQogICAgICAgICAuc2V0U3RhcnRDb2x1
bW4oc3RhcnQubV9jb2x1bW4uemVyb0Jhc2VkSW50KCkpCkBAIC0xMTE1LDcgKzExMTgsNyBAQCBS
ZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpDU1NTZWxlY3RvCiAgICAgcmV0dXJuIGJ1aWxk
T2JqZWN0Rm9yU2VsZWN0b3JIZWxwZXIoc2VsZWN0b3ItPnNlbGVjdG9yVGV4dCgpLCAqc2VsZWN0
b3IsIGVsZW1lbnQpOwogfQogCi1SZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpTZWxlY3Rv
ckxpc3Q+IEluc3BlY3RvclN0eWxlU2hlZXQ6OmJ1aWxkT2JqZWN0Rm9yU2VsZWN0b3JMaXN0KENT
U1N0eWxlUnVsZSogcnVsZSwgRWxlbWVudCogZWxlbWVudCkKK1JlZjxJbnNwZWN0b3I6OlByb3Rv
Y29sOjpDU1M6OlNlbGVjdG9yTGlzdD4gSW5zcGVjdG9yU3R5bGVTaGVldDo6YnVpbGRPYmplY3RG
b3JTZWxlY3Rvckxpc3QoQ1NTU3R5bGVSdWxlKiBydWxlLCBFbGVtZW50KiBlbGVtZW50LCBpbnQm
IGVuZGluZ0xpbmUpCiB7CiAgICAgUmVmUHRyPENTU1J1bGVTb3VyY2VEYXRhPiBzb3VyY2VEYXRh
OwogICAgIGlmIChlbnN1cmVQYXJzZWREYXRhUmVhZHkoKSkKQEAgLTExMzgsNyArMTE0MSw3IEBA
IFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OlNlbGVjdG9yTGkKICAgICAgICAgLnNldFRl
eHQoc2VsZWN0b3JUZXh0KQogICAgICAgICAucmVsZWFzZSgpOwogICAgIGlmIChzb3VyY2VEYXRh
KQotICAgICAgICByZXN1bHQtPnNldFJhbmdlKGJ1aWxkU291cmNlUmFuZ2VPYmplY3Qoc291cmNl
RGF0YS0+cnVsZUhlYWRlclJhbmdlLCBsaW5lRW5kaW5ncygpLmdldCgpKSk7CisgICAgICAgIHJl
c3VsdC0+c2V0UmFuZ2UoYnVpbGRTb3VyY2VSYW5nZU9iamVjdChzb3VyY2VEYXRhLT5ydWxlSGVh
ZGVyUmFuZ2UsIGxpbmVFbmRpbmdzKCkuZ2V0KCksICZlbmRpbmdMaW5lKSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIApAQCAtMTE0OCw5ICsxMTUxLDEwIEBAIFJlZlB0cjxJbnNwZWN0b3I6OlBy
b3RvY29sOjpDU1M6OkNTU1J1bGUKICAgICBpZiAoIXN0eWxlU2hlZXQpCiAgICAgICAgIHJldHVy
biBudWxscHRyOwogCisgICAgaW50IGVuZGluZ0xpbmUgPSAwOwogICAgIGF1dG8gcmVzdWx0ID0g
SW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpDU1NSdWxlOjpjcmVhdGUoKQotICAgICAgICAuc2V0
U2VsZWN0b3JMaXN0KGJ1aWxkT2JqZWN0Rm9yU2VsZWN0b3JMaXN0KHJ1bGUsIGVsZW1lbnQpKQot
ICAgICAgICAuc2V0U291cmNlTGluZShydWxlLT5zdHlsZVJ1bGUoKS5zb3VyY2VMaW5lKCkpCisg
ICAgICAgIC5zZXRTZWxlY3Rvckxpc3QoYnVpbGRPYmplY3RGb3JTZWxlY3Rvckxpc3QocnVsZSwg
ZWxlbWVudCwgZW5kaW5nTGluZSkpCisgICAgICAgIC5zZXRTb3VyY2VMaW5lKGVuZGluZ0xpbmUp
CiAgICAgICAgIC5zZXRPcmlnaW4obV9vcmlnaW4pCiAgICAgICAgIC5zZXRTdHlsZShidWlsZE9i
amVjdEZvclN0eWxlKCZydWxlLT5zdHlsZSgpKSkKICAgICAgICAgLnJlbGVhc2UoKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuaAkocmV2
aXNpb24gMjA4OTk5KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxl
U2hlZXQuaAkod29ya2luZyBjb3B5KQpAQCAtMjE1LDcgKzIxNSw3IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBpbmxpbmVTdHlsZVNoZWV0VGV4dChTdHJpbmcqIHJlc3VsdCkgY29uc3Q7CiAgICAgUmVm
PEluc3BlY3Rvcjo6UHJvdG9jb2w6OkFycmF5PEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NT
UnVsZT4+IGJ1aWxkQXJyYXlGb3JSdWxlTGlzdChDU1NSdWxlTGlzdCopOwogICAgIFJlZjxJbnNw
ZWN0b3I6OlByb3RvY29sOjpDU1M6OkNTU1NlbGVjdG9yPiBidWlsZE9iamVjdEZvclNlbGVjdG9y
KGNvbnN0IENTU1NlbGVjdG9yKiwgRWxlbWVudCopOwotICAgIFJlZjxJbnNwZWN0b3I6OlByb3Rv
Y29sOjpDU1M6OlNlbGVjdG9yTGlzdD4gYnVpbGRPYmplY3RGb3JTZWxlY3Rvckxpc3QoQ1NTU3R5
bGVSdWxlKiwgRWxlbWVudCopOworICAgIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OlNl
bGVjdG9yTGlzdD4gYnVpbGRPYmplY3RGb3JTZWxlY3Rvckxpc3QoQ1NTU3R5bGVSdWxlKiwgRWxl
bWVudCosIGludCYgZW5kaW5nTGluZSk7CiAKICAgICBJbnNwZWN0b3JQYWdlQWdlbnQqIG1fcGFn
ZUFnZW50OwogICAgIFN0cmluZyBtX2lkOwo=
</data>
<flag name="review"
          id="318574"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>