<?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>163089</bug_id>
          
          <creation_ts>2016-10-06 14:42:04 -0700</creation_ts>
          <short_desc>URLParser: Non-ASCII characters in Non-UTF-8 encoded queries of relative URLs with ws, wss, or nonspecial schemes should be UTF-8 encoded</short_desc>
          <delta_ts>2016-10-06 16:07:59 -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>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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1237365</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-10-06 14:42:04 -0700</bug_when>
    <thetext>URLParser: Non-ASCII characters in Non-UTF-8 encoded queries of relative URLs with ws, wss, or nonspecial schemes should be UTF-8 encoded</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237367</commentid>
    <comment_count>1</comment_count>
      <attachid>290867</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-10-06 14:45:03 -0700</bug_when>
    <thetext>Created attachment 290867
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237383</commentid>
    <comment_count>2</comment_count>
      <attachid>290870</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-10-06 15:39:44 -0700</bug_when>
    <thetext>Created attachment 290870
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237385</commentid>
    <comment_count>3</comment_count>
      <attachid>290870</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-10-06 15:46:08 -0700</bug_when>
    <thetext>Comment on attachment 290870
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=290870&amp;action=review

&gt; Source/WebCore/platform/URL.cpp:471
&gt;          // For UTF-{7,16,32}, we want to use UTF-8 for the query part as

Maybe schlurp the comment out?

&gt; Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp:1201
&gt; +    if (testTabs == TestTabs::Yes) {

Why not an early return :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237390</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-10-06 16:07:59 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/206887</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290867</attachid>
            <date>2016-10-06 14:45:03 -0700</date>
            <delta_ts>2016-10-06 15:39:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163089-20161006144149.patch</filename>
            <type>text/plain</type>
            <size>14106</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNjg3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE2LTEwLTA2ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVVJMUGFyc2Vy
OiBOb24tQVNDSUkgY2hhcmFjdGVycyBpbiBOb24tVVRGLTggZW5jb2RlZCBxdWVyaWVzIG9mIHJl
bGF0aXZlIFVSTHMgd2l0aCB3cywgd3NzLCBvciBub25zcGVjaWFsIHNjaGVtZXMgc2hvdWxkIGJl
IFVURi04IGVuY29kZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2MzA4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgaXMgYSBjaGFuZ2Ugc2ltaWxhciB0byByMjA2ODE4IGJ1dCB3aXRoIHJlbGF0
aXZlIFVSTHMuCisgICAgICAgIFRoaXMgbWF0Y2hlcyB0aGUgc3BlYywgVVJMOjpwYXJzZSwgYW5k
IG90aGVyIGJyb3dzZXJzJyBiZWhhdmlvci4KKyAgICAgICAgQ292ZXJlZCBieSBuZXcgQVBJIHRl
c3RzIGZvciBVUkxQYXJzZXIuCisgICAgICAgIFRoaXMgYWxzbyBmaXhlcyB0ZXN0cyBsaWtlIGh0
dHAvdGVzdHMvbWlzYy91cmwtaW4tdXRmMzJsZS5odG1sIHdoZW4gVVJMUGFyc2VyIGlzIGVuYWJs
ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9VUkxQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VVJMUGFyc2VyOjpjb3B5VVJMUGFydHNVbnRpbCk6CisgICAgICAgIChXZWJDb3JlOjpVUkxQ
YXJzZXI6OnBhcnNlKToKKyAgICAgICAgKFdlYkNvcmU6OmlzU3BlY2lhbCk6IERlbGV0ZWQuCisg
ICAgICAgICogcGxhdGZvcm0vVVJMUGFyc2VyLmg6CisKIDIwMTYtMTAtMDYgIEFsZXggQ2hyaXN0
ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBTa2lwIHRhYnMgYW5k
IG5ld2xpbmVzIGJldHdlZW4gZW5kIG9mIHF1ZXJ5IGFuZCBiZWdpbm5pbmcgb2YgZnJhZ21lbnQg
aW4gbm9uLVVURi04LWVuY29kZWQgVVJMcwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VVJMUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VUkxQ
YXJzZXIuY3BwCShyZXZpc2lvbiAyMDY4NzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9V
UkxQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02ODgsMjQgKzY4OCw2IEBAIGVudW0gY2xh
c3MgU2NoZW1lIHsKICAgICBOb25TcGVjaWFsCiB9OwogCi1BTFdBWVNfSU5MSU5FIGJvb2wgaXNT
cGVjaWFsKFNjaGVtZSBzY2hlbWUpCi17Ci0gICAgc3dpdGNoIChzY2hlbWUpIHsKLSAgICBjYXNl
IFNjaGVtZTo6V1M6Ci0gICAgY2FzZSBTY2hlbWU6OldTUzoKLSAgICBjYXNlIFNjaGVtZTo6Rmls
ZToKLSAgICBjYXNlIFNjaGVtZTo6RlRQOgotICAgIGNhc2UgU2NoZW1lOjpHb3BoZXI6Ci0gICAg
Y2FzZSBTY2hlbWU6OkhUVFA6Ci0gICAgY2FzZSBTY2hlbWU6OkhUVFBTOgotICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICBjYXNlIFNjaGVtZTo6Tm9uU3BlY2lhbDoKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIH0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gZmFsc2U7
Ci19Ci0KIEFMV0FZU19JTkxJTkUgc3RhdGljIFNjaGVtZSBzY2hlbWUoU3RyaW5nVmlldyBzY2hl
bWUpCiB7CiAgICAgYXV0byBsZW5ndGggPSBzY2hlbWUubGVuZ3RoKCk7CkBAIC04MzQsNyArODE2
LDcgQEAgdm9pZCBVUkxQYXJzZXI6OmNvcHlBU0NJSVN0cmluZ1VudGlsKGNvbgogfQogCiB0ZW1w
bGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgotdm9pZCBVUkxQYXJzZXI6OmNvcHlVUkxQYXJ0
c1VudGlsKGNvbnN0IFVSTCYgYmFzZSwgVVJMUGFydCBwYXJ0LCBjb25zdCBDb2RlUG9pbnRJdGVy
YXRvcjxDaGFyYWN0ZXJUeXBlPiYgaXRlcmF0b3IpCit2b2lkIFVSTFBhcnNlcjo6Y29weVVSTFBh
cnRzVW50aWwoY29uc3QgVVJMJiBiYXNlLCBVUkxQYXJ0IHBhcnQsIGNvbnN0IENvZGVQb2ludEl0
ZXJhdG9yPENoYXJhY3RlclR5cGU+JiBpdGVyYXRvciwgYm9vbCYgaXNVVEY4RW5jb2RpbmcpCiB7
CiAgICAgc3ludGF4VmlvbGF0aW9uKGl0ZXJhdG9yKTsKIApAQCAtODczLDcgKzg1NSwyNCBAQCB2
b2lkIFVSTFBhcnNlcjo6Y29weVVSTFBhcnRzVW50aWwoY29uc3QgCiAgICAgICAgIG1fdXJsLm1f
cHJvdG9jb2xJc0luSFRUUEZhbWlseSA9IGJhc2UubV9wcm90b2NvbElzSW5IVFRQRmFtaWx5Owog
ICAgICAgICBtX3VybC5tX3NjaGVtZUVuZCA9IGJhc2UubV9zY2hlbWVFbmQ7CiAgICAgfQotICAg
IG1fdXJsSXNTcGVjaWFsID0gaXNTcGVjaWFsKHNjaGVtZShTdHJpbmdWaWV3KG1fYXNjaWlCdWZm
ZXIuZGF0YSgpLCBtX3VybC5tX3NjaGVtZUVuZCkpKTsKKyAgICBzd2l0Y2ggKHNjaGVtZShTdHJp
bmdWaWV3KG1fYXNjaWlCdWZmZXIuZGF0YSgpLCBtX3VybC5tX3NjaGVtZUVuZCkpKSB7CisgICAg
Y2FzZSBTY2hlbWU6OldTOgorICAgIGNhc2UgU2NoZW1lOjpXU1M6CisgICAgICAgIGlzVVRGOEVu
Y29kaW5nID0gdHJ1ZTsKKyAgICAgICAgRkFMTFRIUk9VR0g7CisgICAgY2FzZSBTY2hlbWU6OkZp
bGU6CisgICAgY2FzZSBTY2hlbWU6OkZUUDoKKyAgICBjYXNlIFNjaGVtZTo6R29waGVyOgorICAg
IGNhc2UgU2NoZW1lOjpIVFRQOgorICAgIGNhc2UgU2NoZW1lOjpIVFRQUzoKKyAgICAgICAgbV91
cmxJc1NwZWNpYWwgPSB0cnVlOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBTY2hlbWU6Ok5v
blNwZWNpYWw6CisgICAgICAgIG1fdXJsSXNTcGVjaWFsID0gZmFsc2U7CisgICAgICAgIGlzVVRG
OEVuY29kaW5nID0gdHJ1ZTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKIH0KIAogc3RhdGljIGNvbnN0IGNoYXIqIGRvdEFTQ0lJQ29kZSA9ICIyZSI7
CkBAIC0xMzA4LDcgKzEzMDcsNyBAQCB2b2lkIFVSTFBhcnNlcjo6cGFyc2UoY29uc3QgQ2hhcmFj
dGVyVHlwCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgaWYgKGJhc2UubV9jYW5ub3RCZUFCYXNlVVJMICYmICpjID09ICcjJykgewotICAgICAgICAg
ICAgICAgIGNvcHlVUkxQYXJ0c1VudGlsKGJhc2UsIFVSTFBhcnQ6OlF1ZXJ5RW5kLCBjKTsKKyAg
ICAgICAgICAgICAgICBjb3B5VVJMUGFydHNVbnRpbChiYXNlLCBVUkxQYXJ0OjpRdWVyeUVuZCwg
YywgaXNVVEY4RW5jb2RpbmcpOwogICAgICAgICAgICAgICAgIHN0YXRlID0gU3RhdGU6OkZyYWdt
ZW50OwogICAgICAgICAgICAgICAgIGFwcGVuZFRvQVNDSUlCdWZmZXIoJyMnKTsKICAgICAgICAg
ICAgICAgICArK2M7CkBAIC0xMzE4LDcgKzEzMTcsNyBAQCB2b2lkIFVSTFBhcnNlcjo6cGFyc2Uo
Y29uc3QgQ2hhcmFjdGVyVHlwCiAgICAgICAgICAgICAgICAgc3RhdGUgPSBTdGF0ZTo6UmVsYXRp
dmU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBj
b3B5VVJMUGFydHNVbnRpbChiYXNlLCBVUkxQYXJ0OjpTY2hlbWVFbmQsIGMpOworICAgICAgICAg
ICAgY29weVVSTFBhcnRzVW50aWwoYmFzZSwgVVJMUGFydDo6U2NoZW1lRW5kLCBjLCBpc1VURjhF
bmNvZGluZyk7CiAgICAgICAgICAgICBhcHBlbmRUb0FTQ0lJQnVmZmVyKCc6Jyk7CiAgICAgICAg
ICAgICBzdGF0ZSA9IFN0YXRlOjpGaWxlOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0xMzY4LDcg
KzEzNjcsNyBAQCB2b2lkIFVSTFBhcnNlcjo6cGFyc2UoY29uc3QgQ2hhcmFjdGVyVHlwCiAgICAg
ICAgICAgICAgICAgKytjOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2Fz
ZSAnPyc6Ci0gICAgICAgICAgICAgICAgY29weVVSTFBhcnRzVW50aWwoYmFzZSwgVVJMUGFydDo6
UGF0aEVuZCwgYyk7CisgICAgICAgICAgICAgICAgY29weVVSTFBhcnRzVW50aWwoYmFzZSwgVVJM
UGFydDo6UGF0aEVuZCwgYywgaXNVVEY4RW5jb2RpbmcpOwogICAgICAgICAgICAgICAgIGFwcGVu
ZFRvQVNDSUlCdWZmZXIoJz8nKTsKICAgICAgICAgICAgICAgICArK2M7CiAgICAgICAgICAgICAg
ICAgaWYgKGlzVVRGOEVuY29kaW5nKQpAQCAtMTM3OSwxMyArMTM3OCwxMyBAQCB2b2lkIFVSTFBh
cnNlcjo6cGFyc2UoY29uc3QgQ2hhcmFjdGVyVHlwCiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSAnIyc6Ci0gICAgICAgICAgICAgICAg
Y29weVVSTFBhcnRzVW50aWwoYmFzZSwgVVJMUGFydDo6UXVlcnlFbmQsIGMpOworICAgICAgICAg
ICAgICAgIGNvcHlVUkxQYXJ0c1VudGlsKGJhc2UsIFVSTFBhcnQ6OlF1ZXJ5RW5kLCBjLCBpc1VU
RjhFbmNvZGluZyk7CiAgICAgICAgICAgICAgICAgYXBwZW5kVG9BU0NJSUJ1ZmZlcignIycpOwog
ICAgICAgICAgICAgICAgIHN0YXRlID0gU3RhdGU6OkZyYWdtZW50OwogICAgICAgICAgICAgICAg
ICsrYzsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAg
ICAgICAgICAgICAgY29weVVSTFBhcnRzVW50aWwoYmFzZSwgVVJMUGFydDo6UGF0aEFmdGVyTGFz
dFNsYXNoLCBjKTsKKyAgICAgICAgICAgICAgICBjb3B5VVJMUGFydHNVbnRpbChiYXNlLCBVUkxQ
YXJ0OjpQYXRoQWZ0ZXJMYXN0U2xhc2gsIGMsIGlzVVRGOEVuY29kaW5nKTsKICAgICAgICAgICAg
ICAgICBzdGF0ZSA9IFN0YXRlOjpQYXRoOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgfQpAQCAtMTM5NCwxMSArMTM5MywxMSBAQCB2b2lkIFVSTFBhcnNlcjo6cGFyc2UoY29u
c3QgQ2hhcmFjdGVyVHlwCiAgICAgICAgICAgICBMT0dfU1RBVEUoIlJlbGF0aXZlU2xhc2giKTsK
ICAgICAgICAgICAgIGlmICgqYyA9PSAnLycgfHwgKmMgPT0gJ1xcJykgewogICAgICAgICAgICAg
ICAgICsrYzsKLSAgICAgICAgICAgICAgICBjb3B5VVJMUGFydHNVbnRpbChiYXNlLCBVUkxQYXJ0
OjpTY2hlbWVFbmQsIGMpOworICAgICAgICAgICAgICAgIGNvcHlVUkxQYXJ0c1VudGlsKGJhc2Us
IFVSTFBhcnQ6OlNjaGVtZUVuZCwgYywgaXNVVEY4RW5jb2RpbmcpOwogICAgICAgICAgICAgICAg
IGFwcGVuZFRvQVNDSUlCdWZmZXIoIjovLyIsIDMpOwogICAgICAgICAgICAgICAgIHN0YXRlID0g
U3RhdGU6OlNwZWNpYWxBdXRob3JpdHlJZ25vcmVTbGFzaGVzOwogICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICBjb3B5VVJMUGFydHNVbnRpbChiYXNlLCBVUkxQYXJ0OjpQb3J0
RW5kLCBjKTsKKyAgICAgICAgICAgICAgICBjb3B5VVJMUGFydHNVbnRpbChiYXNlLCBVUkxQYXJ0
OjpQb3J0RW5kLCBjLCBpc1VURjhFbmNvZGluZyk7CiAgICAgICAgICAgICAgICAgYXBwZW5kVG9B
U0NJSUJ1ZmZlcignLycpOwogICAgICAgICAgICAgICAgIG1fdXJsLm1fcGF0aEFmdGVyTGFzdFNs
YXNoID0gYmFzZS5tX3BvcnRFbmQgKyAxOwogICAgICAgICAgICAgICAgIHN0YXRlID0gU3RhdGU6
OlBhdGg7CkBAIC0xNTMxLDcgKzE1MzAsNyBAQCB2b2lkIFVSTFBhcnNlcjo6cGFyc2UoY29uc3Qg
Q2hhcmFjdGVyVHlwCiAgICAgICAgICAgICBjYXNlICc/JzoKICAgICAgICAgICAgICAgICBzeW50
YXhWaW9sYXRpb24oYyk7CiAgICAgICAgICAgICAgICAgaWYgKGJhc2UuaXNWYWxpZCgpICYmIGJh
c2UucHJvdG9jb2xJcygiZmlsZSIpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvcHlVUkxQYXJ0
c1VudGlsKGJhc2UsIFVSTFBhcnQ6OlBhdGhFbmQsIGMpOworICAgICAgICAgICAgICAgICAgICBj
b3B5VVJMUGFydHNVbnRpbChiYXNlLCBVUkxQYXJ0OjpQYXRoRW5kLCBjLCBpc1VURjhFbmNvZGlu
Zyk7CiAgICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvQVNDSUlCdWZmZXIoJz8nKTsKICAgICAg
ICAgICAgICAgICAgICAgKytjOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CkBAIC0xNTU1LDcg
KzE1NTQsNyBAQCB2b2lkIFVSTFBhcnNlcjo6cGFyc2UoY29uc3QgQ2hhcmFjdGVyVHlwCiAgICAg
ICAgICAgICBjYXNlICcjJzoKICAgICAgICAgICAgICAgICBzeW50YXhWaW9sYXRpb24oYyk7CiAg
ICAgICAgICAgICAgICAgaWYgKGJhc2UuaXNWYWxpZCgpICYmIGJhc2UucHJvdG9jb2xJcygiZmls
ZSIpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvcHlVUkxQYXJ0c1VudGlsKGJhc2UsIFVSTFBh
cnQ6OlF1ZXJ5RW5kLCBjKTsKKyAgICAgICAgICAgICAgICAgICAgY29weVVSTFBhcnRzVW50aWwo
YmFzZSwgVVJMUGFydDo6UXVlcnlFbmQsIGMsIGlzVVRGOEVuY29kaW5nKTsKICAgICAgICAgICAg
ICAgICAgICAgYXBwZW5kVG9BU0NJSUJ1ZmZlcignIycpOwogICAgICAgICAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvQVNDSUlCdWZmZXIoIi8vLyMiLCA0KTsK
QEAgLTE1NzQsNyArMTU3Myw3IEBAIHZvaWQgVVJMUGFyc2VyOjpwYXJzZShjb25zdCBDaGFyYWN0
ZXJUeXAKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgc3ludGF4VmlvbGF0
aW9uKGMpOwogICAgICAgICAgICAgICAgIGlmIChiYXNlLmlzVmFsaWQoKSAmJiBiYXNlLnByb3Rv
Y29sSXMoImZpbGUiKSAmJiBzaG91bGRDb3B5RmlsZVVSTChjKSkKLSAgICAgICAgICAgICAgICAg
ICAgY29weVVSTFBhcnRzVW50aWwoYmFzZSwgVVJMUGFydDo6UGF0aEFmdGVyTGFzdFNsYXNoLCBj
KTsKKyAgICAgICAgICAgICAgICAgICAgY29weVVSTFBhcnRzVW50aWwoYmFzZSwgVVJMUGFydDo6
UGF0aEFmdGVyTGFzdFNsYXNoLCBjLCBpc1VURjhFbmNvZGluZyk7CiAgICAgICAgICAgICAgICAg
ZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvQVNDSUlCdWZmZXIoIi8vLyIsIDMp
OwogICAgICAgICAgICAgICAgICAgICBtX3VybC5tX3VzZXJTdGFydCA9IGN1cnJlbnRQb3NpdGlv
bihjKSAtIDE7CkBAIC0xODQ3LDcgKzE4NDYsNyBAQCB2b2lkIFVSTFBhcnNlcjo6cGFyc2UoY29u
c3QgQ2hhcmFjdGVyVHlwCiAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgY2FzZSBTdGF0ZTo6U3BlY2lhbFJlbGF0aXZlT3JBdXRob3JpdHk6CiAgICAgICAgIExPR19G
SU5BTF9TVEFURSgiU3BlY2lhbFJlbGF0aXZlT3JBdXRob3JpdHkiKTsKLSAgICAgICAgY29weVVS
TFBhcnRzVW50aWwoYmFzZSwgVVJMUGFydDo6UXVlcnlFbmQsIGMpOworICAgICAgICBjb3B5VVJM
UGFydHNVbnRpbChiYXNlLCBVUkxQYXJ0OjpRdWVyeUVuZCwgYywgaXNVVEY4RW5jb2RpbmcpOwog
ICAgICAgICBtX3VybC5tX2ZyYWdtZW50RW5kID0gbV91cmwubV9xdWVyeUVuZDsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBTdGF0ZTo6UGF0aE9yQXV0aG9yaXR5OgpAQCAtMTg3MCw3ICsxODY5
LDcgQEAgdm9pZCBVUkxQYXJzZXI6OnBhcnNlKGNvbnN0IENoYXJhY3RlclR5cAogICAgICAgICBS
RUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIGNhc2UgU3RhdGU6OlJlbGF0aXZlU2xh
c2g6CiAgICAgICAgIExPR19GSU5BTF9TVEFURSgiUmVsYXRpdmVTbGFzaCIpOwotICAgICAgICBj
b3B5VVJMUGFydHNVbnRpbChiYXNlLCBVUkxQYXJ0OjpQb3J0RW5kLCBjKTsKKyAgICAgICAgY29w
eVVSTFBhcnRzVW50aWwoYmFzZSwgVVJMUGFydDo6UG9ydEVuZCwgYywgaXNVVEY4RW5jb2Rpbmcp
OwogICAgICAgICBhcHBlbmRUb0FTQ0lJQnVmZmVyKCcvJyk7CiAgICAgICAgIG1fdXJsLm1fcGF0
aEFmdGVyTGFzdFNsYXNoID0gYmFzZS5tX3BvcnRFbmQgKyAxOwogICAgICAgICBtX3VybC5tX3Bh
dGhFbmQgPSBtX3VybC5tX3BhdGhBZnRlckxhc3RTbGFzaDsKQEAgLTE5MzUsNyArMTkzNCw3IEBA
IHZvaWQgVVJMUGFyc2VyOjpwYXJzZShjb25zdCBDaGFyYWN0ZXJUeXAKICAgICBjYXNlIFN0YXRl
OjpGaWxlOgogICAgICAgICBMT0dfRklOQUxfU1RBVEUoIkZpbGUiKTsKICAgICAgICAgaWYgKGJh
c2UuaXNWYWxpZCgpICYmIGJhc2UucHJvdG9jb2xJcygiZmlsZSIpKSB7Ci0gICAgICAgICAgICBj
b3B5VVJMUGFydHNVbnRpbChiYXNlLCBVUkxQYXJ0OjpRdWVyeUVuZCwgYyk7CisgICAgICAgICAg
ICBjb3B5VVJMUGFydHNVbnRpbChiYXNlLCBVUkxQYXJ0OjpRdWVyeUVuZCwgYywgaXNVVEY4RW5j
b2RpbmcpOwogICAgICAgICAgICAgYXBwZW5kVG9BU0NJSUJ1ZmZlcignOicpOwogICAgICAgICB9
CiAgICAgICAgIHN5bnRheFZpb2xhdGlvbihjKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1VSTFBhcnNlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VS
TFBhcnNlci5oCShyZXZpc2lvbiAyMDY4NzQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9V
UkxQYXJzZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTA5LDcgKzEwOSw3IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBzZXJpYWxpemVJUHY2KElQdjZBZGRyZXNzKTsKIAogICAgIGVudW0gY2xhc3MgVVJM
UGFydDsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiB2b2lkIGNvcHlVUkxQ
YXJ0c1VudGlsKGNvbnN0IFVSTCYgYmFzZSwgVVJMUGFydCwgY29uc3QgQ29kZVBvaW50SXRlcmF0
b3I8Q2hhcmFjdGVyVHlwZT4mKTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBl
PiB2b2lkIGNvcHlVUkxQYXJ0c1VudGlsKGNvbnN0IFVSTCYgYmFzZSwgVVJMUGFydCwgY29uc3Qg
Q29kZVBvaW50SXRlcmF0b3I8Q2hhcmFjdGVyVHlwZT4mLCBib29sJiBpc1VURjhFbmNvZGluZyk7
CiAgICAgc3RhdGljIHNpemVfdCB1cmxMZW5ndGhVbnRpbFBhcnQoY29uc3QgVVJMJiwgVVJMUGFy
dCk7CiAgICAgdm9pZCBwb3BQYXRoKCk7CiB9OwpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjA2ODgzKQorKysgVG9vbHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYtMTAtMDYgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVUkxQYXJz
ZXI6IE5vbi1BU0NJSSBjaGFyYWN0ZXJzIGluIE5vbi1VVEYtOCBlbmNvZGVkIHF1ZXJpZXMgb2Yg
cmVsYXRpdmUgVVJMcyB3aXRoIHdzLCB3c3MsIG9yIG5vbnNwZWNpYWwgc2NoZW1lcyBzaG91bGQg
YmUgVVRGLTggZW5jb2RlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTYzMDg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvVVJMUGFyc2VyLmNwcDoKKyAg
ICAgICAgKFRlc3RXZWJLaXRBUEk6OmNoZWNrVVJMKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OlRFU1RfRik6CisKIDIwMTYtMTAtMDYgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5A
d2Via2l0Lm9yZz4KIAogICAgICAgICBTa2lwIHRhYnMgYW5kIG5ld2xpbmVzIGJldHdlZW4gZW5k
IG9mIHF1ZXJ5IGFuZCBiZWdpbm5pbmcgb2YgZnJhZ21lbnQgaW4gbm9uLVVURi04LWVuY29kZWQg
VVJMcwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1VSTFBhcnNlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1VSTFBh
cnNlci5jcHAJKHJldmlzaW9uIDIwNjg3OSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViQ29yZS9VUkxQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTgzLDYgKzExODMsMzEg
QEAgc3RhdGljIHZvaWQgY2hlY2tVUkwoY29uc3QgU3RyaW5nJiB1cmxTdAogICAgIH0KIH0KIAor
c3RhdGljIHZvaWQgY2hlY2tVUkwoY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcsIGNvbnN0IFN0cmlu
ZyYgYmFzZVVSTFN0cmluZywgY29uc3QgVGV4dEVuY29kaW5nJiBlbmNvZGluZywgY29uc3QgRXhw
ZWN0ZWRQYXJ0cyYgcGFydHMsIFRlc3RUYWJzIHRlc3RUYWJzID0gVGVzdFRhYnM6OlllcykKK3sK
KyAgICBVUkxQYXJzZXIgYmFzZVBhcnNlcihiYXNlVVJMU3RyaW5nLCB7IH0sIGVuY29kaW5nKTsK
KyAgICBVUkxQYXJzZXIgcGFyc2VyKHVybFN0cmluZywgYmFzZVBhcnNlci5yZXN1bHQoKSwgZW5j
b2RpbmcpOworICAgIGF1dG8gdXJsID0gcGFyc2VyLnJlc3VsdCgpOworICAgIEVYUEVDVF9UUlVF
KGVxKHBhcnRzLnByb3RvY29sLCB1cmwucHJvdG9jb2woKSkpOworICAgIEVYUEVDVF9UUlVFKGVx
KHBhcnRzLnVzZXIsIHVybC51c2VyKCkpKTsKKyAgICBFWFBFQ1RfVFJVRShlcShwYXJ0cy5wYXNz
d29yZCwgdXJsLnBhc3MoKSkpOworICAgIEVYUEVDVF9UUlVFKGVxKHBhcnRzLmhvc3QsIHVybC5o
b3N0KCkpKTsKKyAgICBFWFBFQ1RfRVEocGFydHMucG9ydCwgdXJsLnBvcnQoKSk7CisgICAgRVhQ
RUNUX1RSVUUoZXEocGFydHMucGF0aCwgdXJsLnBhdGgoKSkpOworICAgIEVYUEVDVF9UUlVFKGVx
KHBhcnRzLnF1ZXJ5LCB1cmwucXVlcnkoKSkpOworICAgIEVYUEVDVF9UUlVFKGVxKHBhcnRzLmZy
YWdtZW50LCB1cmwuZnJhZ21lbnRJZGVudGlmaWVyKCkpKTsKKyAgICBFWFBFQ1RfVFJVRShlcShw
YXJ0cy5zdHJpbmcsIHVybC5zdHJpbmcoKSkpOworICAgIAorICAgIGlmICh0ZXN0VGFicyA9PSBU
ZXN0VGFiczo6WWVzKSB7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdXJsU3RyaW5n
Lmxlbmd0aCgpOyArK2kpIHsKKyAgICAgICAgICAgIFN0cmluZyB1cmxTdHJpbmdXaXRoVGFiID0g
aW5zZXJ0VGFiQXRMb2NhdGlvbih1cmxTdHJpbmcsIGkpOworICAgICAgICAgICAgY2hlY2tVUkwo
dXJsU3RyaW5nV2l0aFRhYiwgYmFzZVVSTFN0cmluZywgZW5jb2RpbmcsCisgICAgICAgICAgICAg
ICAgcGFydHMuaXNJbnZhbGlkKCkgPyBpbnZhbGlkUGFydHModXJsU3RyaW5nV2l0aFRhYikgOiBw
YXJ0cywKKyAgICAgICAgICAgICAgICBUZXN0VGFiczo6Tm8pOworICAgICAgICB9CisgICAgfQor
fQorCiBURVNUX0YoVVJMUGFyc2VyVGVzdCwgUXVlcnlFbmNvZGluZykKIHsKICAgICBjaGVja1VS
TCh1dGYxNlN0cmluZyh1Imh0dHA6Ly9ob3N0P8Of8J+YjSPDn/CfmI0iKSwgVVRGOEVuY29kaW5n
KCksIHsiaHR0cCIsICIiLCAiIiwgImhvc3QiLCAwLCAiLyIsICIlQzMlOUYlRjAlOUYlOTglOEQi
LCB1dGYxNlN0cmluZyh1IsOf8J+YjSIpLCB1dGYxNlN0cmluZyh1Imh0dHA6Ly9ob3N0Lz8lQzMl
OUYlRjAlOUYlOTglOEQjw5/wn5iNIil9LCB0ZXN0VGFic1ZhbHVlRm9yU3Vycm9nYXRlUGFpcnMp
OwpAQCAtMTIwNyw3ICsxMjMyLDE0IEBAIFRFU1RfRihVUkxQYXJzZXJUZXN0LCBRdWVyeUVuY29k
aW5nKQogICAgIGNoZWNrVVJMKG1ha2VTdHJpbmcoImFzZGY6Ly9ob3N0L3BhdGg/Iiwgd2l0aFVt
bGF1dHMpLCBpc284ODU5MSwgeyJhc2RmIiwgIiIsICIiLCAiaG9zdCIsIDAsICIvcGF0aCIsICIl
QzMlOUMlRDAlQjAlRDElOTEiLCAiIiwgImFzZGY6Ly9ob3N0L3BhdGg/JUMzJTlDJUQwJUIwJUQx
JTkxIn0pOwogICAgIGNoZWNrVVJMKG1ha2VTdHJpbmcoImh0dHBzOi8vaG9zdC9wYXRoPyIsIHdp
dGhVbWxhdXRzKSwgaXNvODg1OTEsIHsiaHR0cHMiLCAiIiwgIiIsICJob3N0IiwgMCwgIi9wYXRo
IiwgIiVEQyUyNiUyMzEwNzIlM0IlMjYlMjMxMTA1JTNCIiwgIiIsICJodHRwczovL2hvc3QvcGF0
aD8lREMlMjYlMjMxMDcyJTNCJTI2JTIzMTEwNSUzQiJ9KTsKICAgICBjaGVja1VSTChtYWtlU3Ry
aW5nKCJnb3BoZXI6Ly9ob3N0L3BhdGg/Iiwgd2l0aFVtbGF1dHMpLCBpc284ODU5MSwgeyJnb3Bo
ZXIiLCAiIiwgIiIsICJob3N0IiwgMCwgIi9wYXRoIiwgIiVEQyUyNiUyMzEwNzIlM0IlMjYlMjMx
MTA1JTNCIiwgIiIsICJnb3BoZXI6Ly9ob3N0L3BhdGg/JURDJTI2JTIzMTA3MiUzQiUyNiUyMzEx
MDUlM0IifSk7Ci0gICAgCisgICAgY2hlY2tVUkwobWFrZVN0cmluZygiL3BhdGg/Iiwgd2l0aFVt
bGF1dHMsICIjZnJhZ21lbnQiKSwgIndzOi8vZXhhbXBsZS5jb20vIiwgaXNvODg1OTEsIHsid3Mi
LCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aCIsICIlQzMlOUMlRDAlQjAlRDElOTEi
LCAiZnJhZ21lbnQiLCAid3M6Ly9leGFtcGxlLmNvbS9wYXRoPyVDMyU5QyVEMCVCMCVEMSU5MSNm
cmFnbWVudCJ9KTsKKyAgICBjaGVja1VSTChtYWtlU3RyaW5nKCIvcGF0aD8iLCB3aXRoVW1sYXV0
cywgIiNmcmFnbWVudCIpLCAid3NzOi8vZXhhbXBsZS5jb20vIiwgaXNvODg1OTEsIHsid3NzIiwg
IiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgiLCAiJUMzJTlDJUQwJUIwJUQxJTkxIiwg
ImZyYWdtZW50IiwgIndzczovL2V4YW1wbGUuY29tL3BhdGg/JUMzJTlDJUQwJUIwJUQxJTkxI2Zy
YWdtZW50In0pOworICAgIGNoZWNrVVJMKG1ha2VTdHJpbmcoIi9wYXRoPyIsIHdpdGhVbWxhdXRz
LCAiI2ZyYWdtZW50IiksICJhc2RmOi8vZXhhbXBsZS5jb20vIiwgaXNvODg1OTEsIHsiYXNkZiIs
ICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoIiwgIiVDMyU5QyVEMCVCMCVEMSU5MSIs
ICJmcmFnbWVudCIsICJhc2RmOi8vZXhhbXBsZS5jb20vcGF0aD8lQzMlOUMlRDAlQjAlRDElOTEj
ZnJhZ21lbnQifSk7CisgICAgY2hlY2tVUkwobWFrZVN0cmluZygiL3BhdGg/Iiwgd2l0aFVtbGF1
dHMsICIjZnJhZ21lbnQiKSwgImh0dHBzOi8vZXhhbXBsZS5jb20vIiwgaXNvODg1OTEsIHsiaHR0
cHMiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aCIsICIlREMlMjYlMjMxMDcyJTNC
JTI2JTIzMTEwNSUzQiIsICJmcmFnbWVudCIsICJodHRwczovL2V4YW1wbGUuY29tL3BhdGg/JURD
JTI2JTIzMTA3MiUzQiUyNiUyMzExMDUlM0IjZnJhZ21lbnQifSk7CisgICAgY2hlY2tVUkwobWFr
ZVN0cmluZygiL3BhdGg/Iiwgd2l0aFVtbGF1dHMsICIjZnJhZ21lbnQiKSwgImdvcGhlcjovL2V4
YW1wbGUuY29tLyIsIGlzbzg4NTkxLCB7ImdvcGhlciIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwg
MCwgIi9wYXRoIiwgIiVEQyUyNiUyMzEwNzIlM0IlMjYlMjMxMTA1JTNCIiwgImZyYWdtZW50Iiwg
ImdvcGhlcjovL2V4YW1wbGUuY29tL3BhdGg/JURDJTI2JTIzMTA3MiUzQiUyNiUyMzExMDUlM0Ij
ZnJhZ21lbnQifSk7CisgICAgY2hlY2tVUkwobWFrZVN0cmluZygiZ29waGVyOi8vaG9zdC9wYXRo
PyIsIHdpdGhVbWxhdXRzLCAiI2ZyYWdtZW50IiksICJhc2RmOi8vZXhhbXBsZS5jb20vP2RvZXNu
dG1hdHRlciIsIGlzbzg4NTkxLCB7ImdvcGhlciIsICIiLCAiIiwgImhvc3QiLCAwLCAiL3BhdGgi
LCAiJURDJTI2JTIzMTA3MiUzQiUyNiUyMzExMDUlM0IiLCAiZnJhZ21lbnQiLCAiZ29waGVyOi8v
aG9zdC9wYXRoPyVEQyUyNiUyMzEwNzIlM0IlMjYlMjMxMTA1JTNCI2ZyYWdtZW50In0pOworICAg
IGNoZWNrVVJMKG1ha2VTdHJpbmcoImFzZGY6Ly9ob3N0L3BhdGg/Iiwgd2l0aFVtbGF1dHMsICIj
ZnJhZ21lbnQiKSwgImh0dHA6Ly9leGFtcGxlLmNvbS8/ZG9lc250bWF0dGVyIiwgaXNvODg1OTEs
IHsiYXNkZiIsICIiLCAiIiwgImhvc3QiLCAwLCAiL3BhdGgiLCAiJUMzJTlDJUQwJUIwJUQxJTkx
IiwgImZyYWdtZW50IiwgImFzZGY6Ly9ob3N0L3BhdGg/JUMzJTlDJUQwJUIwJUQxJTkxI2ZyYWdt
ZW50In0pOworCiAgICAgLy8gRklYTUU6IEFkZCBtb3JlIHRlc3RzIHdpdGggb3RoZXIgZW5jb2Rp
bmdzIGFuZCB0aGluZ3MgbGlrZSBub24tYXNjaWkgY2hhcmFjdGVycywgZW1vamkgYW5kIHVubWF0
Y2hlZCBzdXJyb2dhdGUgcGFpcnMuCiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290870</attachid>
            <date>2016-10-06 15:39:44 -0700</date>
            <delta_ts>2016-10-06 15:46:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163089-20161006153630.patch</filename>
            <type>text/plain</type>
            <size>14926</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNjg4NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE2LTEwLTA2ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVVJMUGFyc2Vy
OiBOb24tQVNDSUkgY2hhcmFjdGVycyBpbiBOb24tVVRGLTggZW5jb2RlZCBxdWVyaWVzIG9mIHJl
bGF0aXZlIFVSTHMgd2l0aCB3cywgd3NzLCBvciBub25zcGVjaWFsIHNjaGVtZXMgc2hvdWxkIGJl
IFVURi04IGVuY29kZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2MzA4OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgaXMgYSBjaGFuZ2Ugc2ltaWxhciB0byByMjA2ODE4IGJ1dCB3aXRoIHJlbGF0
aXZlIFVSTHMuCisgICAgICAgIFRoaXMgbWF0Y2hlcyB0aGUgc3BlYywgVVJMOjpwYXJzZSwgYW5k
IG90aGVyIGJyb3dzZXJzJyBiZWhhdmlvci4KKyAgICAgICAgQ292ZXJlZCBieSBuZXcgQVBJIHRl
c3RzIGZvciBVUkxQYXJzZXIuCisgICAgICAgIFRoaXMgYWxzbyBmaXhlcyB0ZXN0cyBsaWtlIGh0
dHAvdGVzdHMvbWlzYy91cmwtaW4tdXRmMzJsZS5odG1sIHdoZW4gVVJMUGFyc2VyIGlzIGVuYWJs
ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9VUkwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VVJM
OjpVUkwpOgorICAgICAgICBVc2UgdGhlIHNhbWUgZW5jb2RpbmcgZm9yIHRoZSBVUkwgY29uc3Ry
dWN0b3Igd2hldGhlciBvciBub3QgdGhlIFVSTFBhcnNlciBpcyBlbmFibGVkLgorICAgICAgICAq
IHBsYXRmb3JtL1VSTFBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpVUkxQYXJzZXI6OmNv
cHlVUkxQYXJ0c1VudGlsKToKKyAgICAgICAgKFdlYkNvcmU6OlVSTFBhcnNlcjo6cGFyc2UpOgor
ICAgICAgICAoV2ViQ29yZTo6aXNTcGVjaWFsKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9VUkxQYXJzZXIuaDoKKyAgICAgICAgVXNlIFVURi04IGZvciBub24tc3BlY2lhbCwgd3MsIG9y
IHdzcyBzY2hlbWVzLgorCiAyMDE2LTEwLTA2ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgQWRkIGJhY2sgQVNTRVJUKCFuZWVkc0xheW91dCkgdG8gUmVuZGVyVGFi
bGVTZWN0aW9uIHdoaWNoIGlzIG5vdyB2YWxpZApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVVJMLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VUkwuY3Bw
CShyZXZpc2lvbiAyMDY4NzQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VUkwuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00NjUsNyArNDY1LDcgQEAgVVJMOjpVUkwoY29uc3QgVVJMJiBiYXNl
LCBjb25zdCBTdHJpbmcmIAogVVJMOjpVUkwoY29uc3QgVVJMJiBiYXNlLCBjb25zdCBTdHJpbmcm
IHJlbGF0aXZlLCBjb25zdCBUZXh0RW5jb2RpbmcmIGVuY29kaW5nKQogewogICAgIGlmIChVUkxQ
YXJzZXI6OmVuYWJsZWQoKSkgewotICAgICAgICBVUkxQYXJzZXIgcGFyc2VyKHJlbGF0aXZlLCBi
YXNlLCBlbmNvZGluZyk7CisgICAgICAgIFVSTFBhcnNlciBwYXJzZXIocmVsYXRpdmUsIGJhc2Us
IGVuY29kaW5nLmVuY29kaW5nRm9yRm9ybVN1Ym1pc3Npb24oKSk7CiAgICAgICAgICp0aGlzID0g
cGFyc2VyLnJlc3VsdCgpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIEZvciBVVEYtezcsMTYs
MzJ9LCB3ZSB3YW50IHRvIHVzZSBVVEYtOCBmb3IgdGhlIHF1ZXJ5IHBhcnQgYXMKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VSTFBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vVVJMUGFyc2VyLmNwcAkocmV2aXNpb24gMjA2ODc5KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJMUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjg4
LDI0ICs2ODgsNiBAQCBlbnVtIGNsYXNzIFNjaGVtZSB7CiAgICAgTm9uU3BlY2lhbAogfTsKIAot
QUxXQVlTX0lOTElORSBib29sIGlzU3BlY2lhbChTY2hlbWUgc2NoZW1lKQotewotICAgIHN3aXRj
aCAoc2NoZW1lKSB7Ci0gICAgY2FzZSBTY2hlbWU6OldTOgotICAgIGNhc2UgU2NoZW1lOjpXU1M6
Ci0gICAgY2FzZSBTY2hlbWU6OkZpbGU6Ci0gICAgY2FzZSBTY2hlbWU6OkZUUDoKLSAgICBjYXNl
IFNjaGVtZTo6R29waGVyOgotICAgIGNhc2UgU2NoZW1lOjpIVFRQOgotICAgIGNhc2UgU2NoZW1l
OjpIVFRQUzoKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBTY2hlbWU6Ok5vblNwZWNp
YWw6Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiBBTFdBWVNfSU5MSU5FIHN0YXRpYyBTY2hlbWUg
c2NoZW1lKFN0cmluZ1ZpZXcgc2NoZW1lKQogewogICAgIGF1dG8gbGVuZ3RoID0gc2NoZW1lLmxl
bmd0aCgpOwpAQCAtODM0LDcgKzgxNiw3IEBAIHZvaWQgVVJMUGFyc2VyOjpjb3B5QVNDSUlTdHJp
bmdVbnRpbChjb24KIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KLXZvaWQg
VVJMUGFyc2VyOjpjb3B5VVJMUGFydHNVbnRpbChjb25zdCBVUkwmIGJhc2UsIFVSTFBhcnQgcGFy
dCwgY29uc3QgQ29kZVBvaW50SXRlcmF0b3I8Q2hhcmFjdGVyVHlwZT4mIGl0ZXJhdG9yKQordm9p
ZCBVUkxQYXJzZXI6OmNvcHlVUkxQYXJ0c1VudGlsKGNvbnN0IFVSTCYgYmFzZSwgVVJMUGFydCBw
YXJ0LCBjb25zdCBDb2RlUG9pbnRJdGVyYXRvcjxDaGFyYWN0ZXJUeXBlPiYgaXRlcmF0b3IsIGJv
b2wmIGlzVVRGOEVuY29kaW5nKQogewogICAgIHN5bnRheFZpb2xhdGlvbihpdGVyYXRvcik7CiAK
QEAgLTg3Myw3ICs4NTUsMjQgQEAgdm9pZCBVUkxQYXJzZXI6OmNvcHlVUkxQYXJ0c1VudGlsKGNv
bnN0IAogICAgICAgICBtX3VybC5tX3Byb3RvY29sSXNJbkhUVFBGYW1pbHkgPSBiYXNlLm1fcHJv
dG9jb2xJc0luSFRUUEZhbWlseTsKICAgICAgICAgbV91cmwubV9zY2hlbWVFbmQgPSBiYXNlLm1f
c2NoZW1lRW5kOwogICAgIH0KLSAgICBtX3VybElzU3BlY2lhbCA9IGlzU3BlY2lhbChzY2hlbWUo
U3RyaW5nVmlldyhtX2FzY2lpQnVmZmVyLmRhdGEoKSwgbV91cmwubV9zY2hlbWVFbmQpKSk7Cisg
ICAgc3dpdGNoIChzY2hlbWUoU3RyaW5nVmlldyhtX2FzY2lpQnVmZmVyLmRhdGEoKSwgbV91cmwu
bV9zY2hlbWVFbmQpKSkgeworICAgIGNhc2UgU2NoZW1lOjpXUzoKKyAgICBjYXNlIFNjaGVtZTo6
V1NTOgorICAgICAgICBpc1VURjhFbmNvZGluZyA9IHRydWU7CisgICAgICAgIEZBTExUSFJPVUdI
OworICAgIGNhc2UgU2NoZW1lOjpGaWxlOgorICAgIGNhc2UgU2NoZW1lOjpGVFA6CisgICAgY2Fz
ZSBTY2hlbWU6OkdvcGhlcjoKKyAgICBjYXNlIFNjaGVtZTo6SFRUUDoKKyAgICBjYXNlIFNjaGVt
ZTo6SFRUUFM6CisgICAgICAgIG1fdXJsSXNTcGVjaWFsID0gdHJ1ZTsKKyAgICAgICAgcmV0dXJu
OworICAgIGNhc2UgU2NoZW1lOjpOb25TcGVjaWFsOgorICAgICAgICBtX3VybElzU3BlY2lhbCA9
IGZhbHNlOworICAgICAgICBpc1VURjhFbmNvZGluZyA9IHRydWU7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKIHN0YXRpYyBjb25zdCBjaGFy
KiBkb3RBU0NJSUNvZGUgPSAiMmUiOwpAQCAtMTMwOCw3ICsxMzA3LDcgQEAgdm9pZCBVUkxQYXJz
ZXI6OnBhcnNlKGNvbnN0IENoYXJhY3RlclR5cAogICAgICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChiYXNlLm1fY2Fubm90QmVBQmFzZVVSTCAmJiAq
YyA9PSAnIycpIHsKLSAgICAgICAgICAgICAgICBjb3B5VVJMUGFydHNVbnRpbChiYXNlLCBVUkxQ
YXJ0OjpRdWVyeUVuZCwgYyk7CisgICAgICAgICAgICAgICAgY29weVVSTFBhcnRzVW50aWwoYmFz
ZSwgVVJMUGFydDo6UXVlcnlFbmQsIGMsIGlzVVRGOEVuY29kaW5nKTsKICAgICAgICAgICAgICAg
ICBzdGF0ZSA9IFN0YXRlOjpGcmFnbWVudDsKICAgICAgICAgICAgICAgICBhcHBlbmRUb0FTQ0lJ
QnVmZmVyKCcjJyk7CiAgICAgICAgICAgICAgICAgKytjOwpAQCAtMTMxOCw3ICsxMzE3LDcgQEAg
dm9pZCBVUkxQYXJzZXI6OnBhcnNlKGNvbnN0IENoYXJhY3RlclR5cAogICAgICAgICAgICAgICAg
IHN0YXRlID0gU3RhdGU6OlJlbGF0aXZlOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgfQotICAgICAgICAgICAgY29weVVSTFBhcnRzVW50aWwoYmFzZSwgVVJMUGFydDo6U2No
ZW1lRW5kLCBjKTsKKyAgICAgICAgICAgIGNvcHlVUkxQYXJ0c1VudGlsKGJhc2UsIFVSTFBhcnQ6
OlNjaGVtZUVuZCwgYywgaXNVVEY4RW5jb2RpbmcpOwogICAgICAgICAgICAgYXBwZW5kVG9BU0NJ
SUJ1ZmZlcignOicpOwogICAgICAgICAgICAgc3RhdGUgPSBTdGF0ZTo6RmlsZTsKICAgICAgICAg
ICAgIGJyZWFrOwpAQCAtMTM2OCw3ICsxMzY3LDcgQEAgdm9pZCBVUkxQYXJzZXI6OnBhcnNlKGNv
bnN0IENoYXJhY3RlclR5cAogICAgICAgICAgICAgICAgICsrYzsKICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgIGNhc2UgJz8nOgotICAgICAgICAgICAgICAgIGNvcHlVUkxQYXJ0
c1VudGlsKGJhc2UsIFVSTFBhcnQ6OlBhdGhFbmQsIGMpOworICAgICAgICAgICAgICAgIGNvcHlV
UkxQYXJ0c1VudGlsKGJhc2UsIFVSTFBhcnQ6OlBhdGhFbmQsIGMsIGlzVVRGOEVuY29kaW5nKTsK
ICAgICAgICAgICAgICAgICBhcHBlbmRUb0FTQ0lJQnVmZmVyKCc/Jyk7CiAgICAgICAgICAgICAg
ICAgKytjOwogICAgICAgICAgICAgICAgIGlmIChpc1VURjhFbmNvZGluZykKQEAgLTEzNzksMTMg
KzEzNzgsMTMgQEAgdm9pZCBVUkxQYXJzZXI6OnBhcnNlKGNvbnN0IENoYXJhY3RlclR5cAogICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2Ug
JyMnOgotICAgICAgICAgICAgICAgIGNvcHlVUkxQYXJ0c1VudGlsKGJhc2UsIFVSTFBhcnQ6OlF1
ZXJ5RW5kLCBjKTsKKyAgICAgICAgICAgICAgICBjb3B5VVJMUGFydHNVbnRpbChiYXNlLCBVUkxQ
YXJ0OjpRdWVyeUVuZCwgYywgaXNVVEY4RW5jb2RpbmcpOwogICAgICAgICAgICAgICAgIGFwcGVu
ZFRvQVNDSUlCdWZmZXIoJyMnKTsKICAgICAgICAgICAgICAgICBzdGF0ZSA9IFN0YXRlOjpGcmFn
bWVudDsKICAgICAgICAgICAgICAgICArK2M7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIGNvcHlVUkxQYXJ0c1VudGlsKGJhc2Us
IFVSTFBhcnQ6OlBhdGhBZnRlckxhc3RTbGFzaCwgYyk7CisgICAgICAgICAgICAgICAgY29weVVS
TFBhcnRzVW50aWwoYmFzZSwgVVJMUGFydDo6UGF0aEFmdGVyTGFzdFNsYXNoLCBjLCBpc1VURjhF
bmNvZGluZyk7CiAgICAgICAgICAgICAgICAgc3RhdGUgPSBTdGF0ZTo6UGF0aDsKICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KQEAgLTEzOTQsMTEgKzEzOTMsMTEgQEAgdm9p
ZCBVUkxQYXJzZXI6OnBhcnNlKGNvbnN0IENoYXJhY3RlclR5cAogICAgICAgICAgICAgTE9HX1NU
QVRFKCJSZWxhdGl2ZVNsYXNoIik7CiAgICAgICAgICAgICBpZiAoKmMgPT0gJy8nIHx8ICpjID09
ICdcXCcpIHsKICAgICAgICAgICAgICAgICArK2M7Ci0gICAgICAgICAgICAgICAgY29weVVSTFBh
cnRzVW50aWwoYmFzZSwgVVJMUGFydDo6U2NoZW1lRW5kLCBjKTsKKyAgICAgICAgICAgICAgICBj
b3B5VVJMUGFydHNVbnRpbChiYXNlLCBVUkxQYXJ0OjpTY2hlbWVFbmQsIGMsIGlzVVRGOEVuY29k
aW5nKTsKICAgICAgICAgICAgICAgICBhcHBlbmRUb0FTQ0lJQnVmZmVyKCI6Ly8iLCAzKTsKICAg
ICAgICAgICAgICAgICBzdGF0ZSA9IFN0YXRlOjpTcGVjaWFsQXV0aG9yaXR5SWdub3JlU2xhc2hl
czsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgY29weVVSTFBhcnRzVW50
aWwoYmFzZSwgVVJMUGFydDo6UG9ydEVuZCwgYyk7CisgICAgICAgICAgICAgICAgY29weVVSTFBh
cnRzVW50aWwoYmFzZSwgVVJMUGFydDo6UG9ydEVuZCwgYywgaXNVVEY4RW5jb2RpbmcpOwogICAg
ICAgICAgICAgICAgIGFwcGVuZFRvQVNDSUlCdWZmZXIoJy8nKTsKICAgICAgICAgICAgICAgICBt
X3VybC5tX3BhdGhBZnRlckxhc3RTbGFzaCA9IGJhc2UubV9wb3J0RW5kICsgMTsKICAgICAgICAg
ICAgICAgICBzdGF0ZSA9IFN0YXRlOjpQYXRoOwpAQCAtMTUzMSw3ICsxNTMwLDcgQEAgdm9pZCBV
UkxQYXJzZXI6OnBhcnNlKGNvbnN0IENoYXJhY3RlclR5cAogICAgICAgICAgICAgY2FzZSAnPyc6
CiAgICAgICAgICAgICAgICAgc3ludGF4VmlvbGF0aW9uKGMpOwogICAgICAgICAgICAgICAgIGlm
IChiYXNlLmlzVmFsaWQoKSAmJiBiYXNlLnByb3RvY29sSXMoImZpbGUiKSkgewotICAgICAgICAg
ICAgICAgICAgICBjb3B5VVJMUGFydHNVbnRpbChiYXNlLCBVUkxQYXJ0OjpQYXRoRW5kLCBjKTsK
KyAgICAgICAgICAgICAgICAgICAgY29weVVSTFBhcnRzVW50aWwoYmFzZSwgVVJMUGFydDo6UGF0
aEVuZCwgYywgaXNVVEY4RW5jb2RpbmcpOwogICAgICAgICAgICAgICAgICAgICBhcHBlbmRUb0FT
Q0lJQnVmZmVyKCc/Jyk7CiAgICAgICAgICAgICAgICAgICAgICsrYzsKICAgICAgICAgICAgICAg
ICB9IGVsc2UgewpAQCAtMTU1NSw3ICsxNTU0LDcgQEAgdm9pZCBVUkxQYXJzZXI6OnBhcnNlKGNv
bnN0IENoYXJhY3RlclR5cAogICAgICAgICAgICAgY2FzZSAnIyc6CiAgICAgICAgICAgICAgICAg
c3ludGF4VmlvbGF0aW9uKGMpOwogICAgICAgICAgICAgICAgIGlmIChiYXNlLmlzVmFsaWQoKSAm
JiBiYXNlLnByb3RvY29sSXMoImZpbGUiKSkgewotICAgICAgICAgICAgICAgICAgICBjb3B5VVJM
UGFydHNVbnRpbChiYXNlLCBVUkxQYXJ0OjpRdWVyeUVuZCwgYyk7CisgICAgICAgICAgICAgICAg
ICAgIGNvcHlVUkxQYXJ0c1VudGlsKGJhc2UsIFVSTFBhcnQ6OlF1ZXJ5RW5kLCBjLCBpc1VURjhF
bmNvZGluZyk7CiAgICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvQVNDSUlCdWZmZXIoJyMnKTsK
ICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICBhcHBlbmRUb0FT
Q0lJQnVmZmVyKCIvLy8jIiwgNCk7CkBAIC0xNTc0LDcgKzE1NzMsNyBAQCB2b2lkIFVSTFBhcnNl
cjo6cGFyc2UoY29uc3QgQ2hhcmFjdGVyVHlwCiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAg
ICAgICAgICAgIHN5bnRheFZpb2xhdGlvbihjKTsKICAgICAgICAgICAgICAgICBpZiAoYmFzZS5p
c1ZhbGlkKCkgJiYgYmFzZS5wcm90b2NvbElzKCJmaWxlIikgJiYgc2hvdWxkQ29weUZpbGVVUkwo
YykpCi0gICAgICAgICAgICAgICAgICAgIGNvcHlVUkxQYXJ0c1VudGlsKGJhc2UsIFVSTFBhcnQ6
OlBhdGhBZnRlckxhc3RTbGFzaCwgYyk7CisgICAgICAgICAgICAgICAgICAgIGNvcHlVUkxQYXJ0
c1VudGlsKGJhc2UsIFVSTFBhcnQ6OlBhdGhBZnRlckxhc3RTbGFzaCwgYywgaXNVVEY4RW5jb2Rp
bmcpOwogICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICBhcHBlbmRU
b0FTQ0lJQnVmZmVyKCIvLy8iLCAzKTsKICAgICAgICAgICAgICAgICAgICAgbV91cmwubV91c2Vy
U3RhcnQgPSBjdXJyZW50UG9zaXRpb24oYykgLSAxOwpAQCAtMTg0Nyw3ICsxODQ2LDcgQEAgdm9p
ZCBVUkxQYXJzZXI6OnBhcnNlKGNvbnN0IENoYXJhY3RlclR5cAogICAgICAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIGNhc2UgU3RhdGU6OlNwZWNpYWxSZWxhdGl2ZU9yQXV0
aG9yaXR5OgogICAgICAgICBMT0dfRklOQUxfU1RBVEUoIlNwZWNpYWxSZWxhdGl2ZU9yQXV0aG9y
aXR5Iik7Ci0gICAgICAgIGNvcHlVUkxQYXJ0c1VudGlsKGJhc2UsIFVSTFBhcnQ6OlF1ZXJ5RW5k
LCBjKTsKKyAgICAgICAgY29weVVSTFBhcnRzVW50aWwoYmFzZSwgVVJMUGFydDo6UXVlcnlFbmQs
IGMsIGlzVVRGOEVuY29kaW5nKTsKICAgICAgICAgbV91cmwubV9mcmFnbWVudEVuZCA9IG1fdXJs
Lm1fcXVlcnlFbmQ7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU3RhdGU6OlBhdGhPckF1dGhv
cml0eToKQEAgLTE4NzAsNyArMTg2OSw3IEBAIHZvaWQgVVJMUGFyc2VyOjpwYXJzZShjb25zdCBD
aGFyYWN0ZXJUeXAKICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICBj
YXNlIFN0YXRlOjpSZWxhdGl2ZVNsYXNoOgogICAgICAgICBMT0dfRklOQUxfU1RBVEUoIlJlbGF0
aXZlU2xhc2giKTsKLSAgICAgICAgY29weVVSTFBhcnRzVW50aWwoYmFzZSwgVVJMUGFydDo6UG9y
dEVuZCwgYyk7CisgICAgICAgIGNvcHlVUkxQYXJ0c1VudGlsKGJhc2UsIFVSTFBhcnQ6OlBvcnRF
bmQsIGMsIGlzVVRGOEVuY29kaW5nKTsKICAgICAgICAgYXBwZW5kVG9BU0NJSUJ1ZmZlcignLycp
OwogICAgICAgICBtX3VybC5tX3BhdGhBZnRlckxhc3RTbGFzaCA9IGJhc2UubV9wb3J0RW5kICsg
MTsKICAgICAgICAgbV91cmwubV9wYXRoRW5kID0gbV91cmwubV9wYXRoQWZ0ZXJMYXN0U2xhc2g7
CkBAIC0xOTM1LDcgKzE5MzQsNyBAQCB2b2lkIFVSTFBhcnNlcjo6cGFyc2UoY29uc3QgQ2hhcmFj
dGVyVHlwCiAgICAgY2FzZSBTdGF0ZTo6RmlsZToKICAgICAgICAgTE9HX0ZJTkFMX1NUQVRFKCJG
aWxlIik7CiAgICAgICAgIGlmIChiYXNlLmlzVmFsaWQoKSAmJiBiYXNlLnByb3RvY29sSXMoImZp
bGUiKSkgewotICAgICAgICAgICAgY29weVVSTFBhcnRzVW50aWwoYmFzZSwgVVJMUGFydDo6UXVl
cnlFbmQsIGMpOworICAgICAgICAgICAgY29weVVSTFBhcnRzVW50aWwoYmFzZSwgVVJMUGFydDo6
UXVlcnlFbmQsIGMsIGlzVVRGOEVuY29kaW5nKTsKICAgICAgICAgICAgIGFwcGVuZFRvQVNDSUlC
dWZmZXIoJzonKTsKICAgICAgICAgfQogICAgICAgICBzeW50YXhWaW9sYXRpb24oYyk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VUkxQYXJzZXIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9VUkxQYXJzZXIuaAkocmV2aXNpb24gMjA2ODc0KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJMUGFyc2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwOSw3
ICsxMDksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2VyaWFsaXplSVB2NihJUHY2QWRkcmVzcyk7
CiAKICAgICBlbnVtIGNsYXNzIFVSTFBhcnQ7Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFj
dGVyVHlwZT4gdm9pZCBjb3B5VVJMUGFydHNVbnRpbChjb25zdCBVUkwmIGJhc2UsIFVSTFBhcnQs
IGNvbnN0IENvZGVQb2ludEl0ZXJhdG9yPENoYXJhY3RlclR5cGU+Jik7CisgICAgdGVtcGxhdGU8
dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gdm9pZCBjb3B5VVJMUGFydHNVbnRpbChjb25zdCBVUkwm
IGJhc2UsIFVSTFBhcnQsIGNvbnN0IENvZGVQb2ludEl0ZXJhdG9yPENoYXJhY3RlclR5cGU+Jiwg
Ym9vbCYgaXNVVEY4RW5jb2RpbmcpOwogICAgIHN0YXRpYyBzaXplX3QgdXJsTGVuZ3RoVW50aWxQ
YXJ0KGNvbnN0IFVSTCYsIFVSTFBhcnQpOwogICAgIHZvaWQgcG9wUGF0aCgpOwogfTsKSW5kZXg6
IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDIwNjg4MykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0
IEBACisyMDE2LTEwLTA2ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgVVJMUGFyc2VyOiBOb24tQVNDSUkgY2hhcmFjdGVycyBpbiBOb24tVVRG
LTggZW5jb2RlZCBxdWVyaWVzIG9mIHJlbGF0aXZlIFVSTHMgd2l0aCB3cywgd3NzLCBvciBub25z
cGVjaWFsIHNjaGVtZXMgc2hvdWxkIGJlIFVURi04IGVuY29kZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzA4OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJD
b3JlL1VSTFBhcnNlci5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpjaGVja1VSTCk6Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUX0YpOgorCiAyMDE2LTEwLTA2ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU2tpcCB0YWJzIGFu
ZCBuZXdsaW5lcyBiZXR3ZWVuIGVuZCBvZiBxdWVyeSBhbmQgYmVnaW5uaW5nIG9mIGZyYWdtZW50
IGluIG5vbi1VVEYtOC1lbmNvZGVkIFVSTHMKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViQ29yZS9VUkxQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViQ29yZS9VUkxQYXJzZXIuY3BwCShyZXZpc2lvbiAyMDY4NzkpCisrKyBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvVVJMUGFyc2VyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTE4Myw2ICsxMTgzLDMxIEBAIHN0YXRpYyB2b2lkIGNoZWNrVVJMKGNvbnN0IFN0cmlu
ZyYgdXJsU3QKICAgICB9CiB9CiAKK3N0YXRpYyB2b2lkIGNoZWNrVVJMKGNvbnN0IFN0cmluZyYg
dXJsU3RyaW5nLCBjb25zdCBTdHJpbmcmIGJhc2VVUkxTdHJpbmcsIGNvbnN0IFRleHRFbmNvZGlu
ZyYgZW5jb2RpbmcsIGNvbnN0IEV4cGVjdGVkUGFydHMmIHBhcnRzLCBUZXN0VGFicyB0ZXN0VGFi
cyA9IFRlc3RUYWJzOjpZZXMpCit7CisgICAgVVJMUGFyc2VyIGJhc2VQYXJzZXIoYmFzZVVSTFN0
cmluZywgeyB9LCBlbmNvZGluZyk7CisgICAgVVJMUGFyc2VyIHBhcnNlcih1cmxTdHJpbmcsIGJh
c2VQYXJzZXIucmVzdWx0KCksIGVuY29kaW5nKTsKKyAgICBhdXRvIHVybCA9IHBhcnNlci5yZXN1
bHQoKTsKKyAgICBFWFBFQ1RfVFJVRShlcShwYXJ0cy5wcm90b2NvbCwgdXJsLnByb3RvY29sKCkp
KTsKKyAgICBFWFBFQ1RfVFJVRShlcShwYXJ0cy51c2VyLCB1cmwudXNlcigpKSk7CisgICAgRVhQ
RUNUX1RSVUUoZXEocGFydHMucGFzc3dvcmQsIHVybC5wYXNzKCkpKTsKKyAgICBFWFBFQ1RfVFJV
RShlcShwYXJ0cy5ob3N0LCB1cmwuaG9zdCgpKSk7CisgICAgRVhQRUNUX0VRKHBhcnRzLnBvcnQs
IHVybC5wb3J0KCkpOworICAgIEVYUEVDVF9UUlVFKGVxKHBhcnRzLnBhdGgsIHVybC5wYXRoKCkp
KTsKKyAgICBFWFBFQ1RfVFJVRShlcShwYXJ0cy5xdWVyeSwgdXJsLnF1ZXJ5KCkpKTsKKyAgICBF
WFBFQ1RfVFJVRShlcShwYXJ0cy5mcmFnbWVudCwgdXJsLmZyYWdtZW50SWRlbnRpZmllcigpKSk7
CisgICAgRVhQRUNUX1RSVUUoZXEocGFydHMuc3RyaW5nLCB1cmwuc3RyaW5nKCkpKTsKKyAgICAK
KyAgICBpZiAodGVzdFRhYnMgPT0gVGVzdFRhYnM6OlllcykgeworICAgICAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IHVybFN0cmluZy5sZW5ndGgoKTsgKytpKSB7CisgICAgICAgICAgICBTdHJp
bmcgdXJsU3RyaW5nV2l0aFRhYiA9IGluc2VydFRhYkF0TG9jYXRpb24odXJsU3RyaW5nLCBpKTsK
KyAgICAgICAgICAgIGNoZWNrVVJMKHVybFN0cmluZ1dpdGhUYWIsIGJhc2VVUkxTdHJpbmcsIGVu
Y29kaW5nLAorICAgICAgICAgICAgICAgIHBhcnRzLmlzSW52YWxpZCgpID8gaW52YWxpZFBhcnRz
KHVybFN0cmluZ1dpdGhUYWIpIDogcGFydHMsCisgICAgICAgICAgICAgICAgVGVzdFRhYnM6Ok5v
KTsKKyAgICAgICAgfQorICAgIH0KK30KKwogVEVTVF9GKFVSTFBhcnNlclRlc3QsIFF1ZXJ5RW5j
b2RpbmcpCiB7CiAgICAgY2hlY2tVUkwodXRmMTZTdHJpbmcodSJodHRwOi8vaG9zdD/Dn/CfmI0j
w5/wn5iNIiksIFVURjhFbmNvZGluZygpLCB7Imh0dHAiLCAiIiwgIiIsICJob3N0IiwgMCwgIi8i
LCAiJUMzJTlGJUYwJTlGJTk4JThEIiwgdXRmMTZTdHJpbmcodSLDn/CfmI0iKSwgdXRmMTZTdHJp
bmcodSJodHRwOi8vaG9zdC8/JUMzJTlGJUYwJTlGJTk4JThEI8Of8J+YjSIpfSwgdGVzdFRhYnNW
YWx1ZUZvclN1cnJvZ2F0ZVBhaXJzKTsKQEAgLTEyMDcsNyArMTIzMiwxNCBAQCBURVNUX0YoVVJM
UGFyc2VyVGVzdCwgUXVlcnlFbmNvZGluZykKICAgICBjaGVja1VSTChtYWtlU3RyaW5nKCJhc2Rm
Oi8vaG9zdC9wYXRoPyIsIHdpdGhVbWxhdXRzKSwgaXNvODg1OTEsIHsiYXNkZiIsICIiLCAiIiwg
Imhvc3QiLCAwLCAiL3BhdGgiLCAiJUMzJTlDJUQwJUIwJUQxJTkxIiwgIiIsICJhc2RmOi8vaG9z
dC9wYXRoPyVDMyU5QyVEMCVCMCVEMSU5MSJ9KTsKICAgICBjaGVja1VSTChtYWtlU3RyaW5nKCJo
dHRwczovL2hvc3QvcGF0aD8iLCB3aXRoVW1sYXV0cyksIGlzbzg4NTkxLCB7Imh0dHBzIiwgIiIs
ICIiLCAiaG9zdCIsIDAsICIvcGF0aCIsICIlREMlMjYlMjMxMDcyJTNCJTI2JTIzMTEwNSUzQiIs
ICIiLCAiaHR0cHM6Ly9ob3N0L3BhdGg/JURDJTI2JTIzMTA3MiUzQiUyNiUyMzExMDUlM0IifSk7
CiAgICAgY2hlY2tVUkwobWFrZVN0cmluZygiZ29waGVyOi8vaG9zdC9wYXRoPyIsIHdpdGhVbWxh
dXRzKSwgaXNvODg1OTEsIHsiZ29waGVyIiwgIiIsICIiLCAiaG9zdCIsIDAsICIvcGF0aCIsICIl
REMlMjYlMjMxMDcyJTNCJTI2JTIzMTEwNSUzQiIsICIiLCAiZ29waGVyOi8vaG9zdC9wYXRoPyVE
QyUyNiUyMzEwNzIlM0IlMjYlMjMxMTA1JTNCIn0pOwotICAgIAorICAgIGNoZWNrVVJMKG1ha2VT
dHJpbmcoIi9wYXRoPyIsIHdpdGhVbWxhdXRzLCAiI2ZyYWdtZW50IiksICJ3czovL2V4YW1wbGUu
Y29tLyIsIGlzbzg4NTkxLCB7IndzIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3BhdGgi
LCAiJUMzJTlDJUQwJUIwJUQxJTkxIiwgImZyYWdtZW50IiwgIndzOi8vZXhhbXBsZS5jb20vcGF0
aD8lQzMlOUMlRDAlQjAlRDElOTEjZnJhZ21lbnQifSk7CisgICAgY2hlY2tVUkwobWFrZVN0cmlu
ZygiL3BhdGg/Iiwgd2l0aFVtbGF1dHMsICIjZnJhZ21lbnQiKSwgIndzczovL2V4YW1wbGUuY29t
LyIsIGlzbzg4NTkxLCB7IndzcyIsICIiLCAiIiwgImV4YW1wbGUuY29tIiwgMCwgIi9wYXRoIiwg
IiVDMyU5QyVEMCVCMCVEMSU5MSIsICJmcmFnbWVudCIsICJ3c3M6Ly9leGFtcGxlLmNvbS9wYXRo
PyVDMyU5QyVEMCVCMCVEMSU5MSNmcmFnbWVudCJ9KTsKKyAgICBjaGVja1VSTChtYWtlU3RyaW5n
KCIvcGF0aD8iLCB3aXRoVW1sYXV0cywgIiNmcmFnbWVudCIpLCAiYXNkZjovL2V4YW1wbGUuY29t
LyIsIGlzbzg4NTkxLCB7ImFzZGYiLCAiIiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aCIs
ICIlQzMlOUMlRDAlQjAlRDElOTEiLCAiZnJhZ21lbnQiLCAiYXNkZjovL2V4YW1wbGUuY29tL3Bh
dGg/JUMzJTlDJUQwJUIwJUQxJTkxI2ZyYWdtZW50In0pOworICAgIGNoZWNrVVJMKG1ha2VTdHJp
bmcoIi9wYXRoPyIsIHdpdGhVbWxhdXRzLCAiI2ZyYWdtZW50IiksICJodHRwczovL2V4YW1wbGUu
Y29tLyIsIGlzbzg4NTkxLCB7Imh0dHBzIiwgIiIsICIiLCAiZXhhbXBsZS5jb20iLCAwLCAiL3Bh
dGgiLCAiJURDJTI2JTIzMTA3MiUzQiUyNiUyMzExMDUlM0IiLCAiZnJhZ21lbnQiLCAiaHR0cHM6
Ly9leGFtcGxlLmNvbS9wYXRoPyVEQyUyNiUyMzEwNzIlM0IlMjYlMjMxMTA1JTNCI2ZyYWdtZW50
In0pOworICAgIGNoZWNrVVJMKG1ha2VTdHJpbmcoIi9wYXRoPyIsIHdpdGhVbWxhdXRzLCAiI2Zy
YWdtZW50IiksICJnb3BoZXI6Ly9leGFtcGxlLmNvbS8iLCBpc284ODU5MSwgeyJnb3BoZXIiLCAi
IiwgIiIsICJleGFtcGxlLmNvbSIsIDAsICIvcGF0aCIsICIlREMlMjYlMjMxMDcyJTNCJTI2JTIz
MTEwNSUzQiIsICJmcmFnbWVudCIsICJnb3BoZXI6Ly9leGFtcGxlLmNvbS9wYXRoPyVEQyUyNiUy
MzEwNzIlM0IlMjYlMjMxMTA1JTNCI2ZyYWdtZW50In0pOworICAgIGNoZWNrVVJMKG1ha2VTdHJp
bmcoImdvcGhlcjovL2hvc3QvcGF0aD8iLCB3aXRoVW1sYXV0cywgIiNmcmFnbWVudCIpLCAiYXNk
ZjovL2V4YW1wbGUuY29tLz9kb2VzbnRtYXR0ZXIiLCBpc284ODU5MSwgeyJnb3BoZXIiLCAiIiwg
IiIsICJob3N0IiwgMCwgIi9wYXRoIiwgIiVEQyUyNiUyMzEwNzIlM0IlMjYlMjMxMTA1JTNCIiwg
ImZyYWdtZW50IiwgImdvcGhlcjovL2hvc3QvcGF0aD8lREMlMjYlMjMxMDcyJTNCJTI2JTIzMTEw
NSUzQiNmcmFnbWVudCJ9KTsKKyAgICBjaGVja1VSTChtYWtlU3RyaW5nKCJhc2RmOi8vaG9zdC9w
YXRoPyIsIHdpdGhVbWxhdXRzLCAiI2ZyYWdtZW50IiksICJodHRwOi8vZXhhbXBsZS5jb20vP2Rv
ZXNudG1hdHRlciIsIGlzbzg4NTkxLCB7ImFzZGYiLCAiIiwgIiIsICJob3N0IiwgMCwgIi9wYXRo
IiwgIiVDMyU5QyVEMCVCMCVEMSU5MSIsICJmcmFnbWVudCIsICJhc2RmOi8vaG9zdC9wYXRoPyVD
MyU5QyVEMCVCMCVEMSU5MSNmcmFnbWVudCJ9KTsKKwogICAgIC8vIEZJWE1FOiBBZGQgbW9yZSB0
ZXN0cyB3aXRoIG90aGVyIGVuY29kaW5ncyBhbmQgdGhpbmdzIGxpa2Ugbm9uLWFzY2lpIGNoYXJh
Y3RlcnMsIGVtb2ppIGFuZCB1bm1hdGNoZWQgc3Vycm9nYXRlIHBhaXJzLgogfQogCg==
</data>
<flag name="review"
          id="314024"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>