<?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>162655</bug_id>
          
          <creation_ts>2016-09-27 19:04:38 -0700</creation_ts>
          <short_desc>URLParser should properly handle unexpected periods and overflows in IPv4 addresses</short_desc>
          <delta_ts>2016-09-28 14:56:32 -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>
          <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1234220</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-27 19:04:38 -0700</bug_when>
    <thetext>URLParser should properly handle unexpected periods in IPv4 addresses</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234221</commentid>
    <comment_count>1</comment_count>
      <attachid>290049</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-27 19:05:33 -0700</bug_when>
    <thetext>Created attachment 290049
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234430</commentid>
    <comment_count>2</comment_count>
      <attachid>290097</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-28 10:01:03 -0700</bug_when>
    <thetext>Created attachment 290097
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234493</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-09-28 12:41:01 -0700</bug_when>
    <thetext>/Volumes/Data/EWS/WebKit/Source/WebCore/platform/URLParser.cpp:2076:24: error: implicit conversion loses integer precision: &apos;unsigned long long&apos; to &apos;IPv4Address&apos; (aka &apos;unsigned int&apos;) [-Werror,-Wshorten-64-to-32]
    IPv4Address ipv4 = items.takeLast();
                ~~~~   ^~~~~~~~~~~~~~~~
/Volumes/Data/EWS/WebKit/Source/WebCore/platform/URLParser.cpp:2076:24: error: implicit conversion loses integer precision: &apos;unsigned long long&apos; to &apos;IPv4Address&apos; (aka &apos;unsigned int&apos;) [-Werror,-Wshorten-64-to-32]
    IPv4Address ipv4 = items.takeLast();
                ~~~~   ^~~~~~~~~~~~~~~~
/Volumes/Data/EWS/WebKit/Source/WebCore/platform/URLParser.cpp:2347:28: note: in instantiation of function template specialization &apos;WebCore::URLParser::parseIPv4Host&lt;unsigned char&gt;&apos; requested here
        if (auto address = parseIPv4Host(CodePointIterator&lt;CharacterType&gt;(hostIterator, iterator))) {
                           ^
/Volumes/Data/EWS/WebKit/Source/WebCore/platform/URLParser.cpp:1326:26: note: in instantiation of function template specialization &apos;WebCore::URLParser::parseHostAndPort&lt;unsigned char&gt;&apos; requested here
                    if (!parseHostAndPort(CodePointIterator&lt;CharacterType&gt;(authorityOrHostBegin, c))) {
                         ^
/Volumes/Data/EWS/WebKit/Source/WebCore/platform/URLParser.cpp:1026:9: note: in instantiation of function template specialization &apos;WebCore::URLParser::parse&lt;unsigned char&gt;&apos; requested here
        parse(input.characters8(), input.length(), base, encoding);
        ^
/Volumes/Data/EWS/WebKit/Source/WebCore/platform/URLParser.cpp:2076:24: error: implicit conversion loses integer precision: &apos;unsigned long long&apos; to &apos;IPv4Address&apos; (aka &apos;unsigned int&apos;) [-Werror,-Wshorten-64-to-32]
    IPv4Address ipv4 = items.takeLast();
                ~~~~   ^~~~~~~~~~~~~~~~
/Volumes/Data/EWS/WebKit/Source/WebCore/platform/URLParser.cpp:2347:28: note: in instantiation of function template specialization &apos;WebCore::URLParser::parseIPv4Host&lt;unsigned short&gt;&apos; requested here
        if (auto address = parseIPv4Host(CodePointIterator&lt;CharacterType&gt;(hostIterator, iterator))) {
                           ^
/Volumes/Data/EWS/WebKit/Source/WebCore/platform/URLParser.cpp:1326:26: note: in instantiation of function template specialization &apos;WebCore::URLParser::parseHostAndPort&lt;unsigned short&gt;&apos; requested here
                    if (!parseHostAndPort(CodePointIterator&lt;CharacterType&gt;(authorityOrHostBegin, c))) {
                         ^
/Volumes/Data/EWS/WebKit/Source/WebCore/platform/URLParser.cpp:1029:9: note: in instantiation of function template specialization &apos;WebCore::URLParser::parse&lt;unsigned short&gt;&apos; requested here
        parse(input.characters16(), input.length(), base, encoding);
        ^
3 errors generated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234508</commentid>
    <comment_count>4</comment_count>
      <attachid>290109</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-28 13:13:36 -0700</bug_when>
    <thetext>Created attachment 290109
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234521</commentid>
    <comment_count>5</comment_count>
      <attachid>290109</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-09-28 13:33:14 -0700</bug_when>
    <thetext>Comment on attachment 290109
Patch

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

r=me

&gt; Source/WebCore/platform/URLParser.cpp:1973
&gt; +    uint64_t value = 0;

I feel like this code would read more naturally using our Checked&lt;T&gt; class.

That would look like this:

    Checked&lt;uint32_t, RecordOverflow&gt; value;

    return value.unsafeGet();

    if (UNLIKELY(value.hasOverflowed()))

It&apos;s clever to use a 64bit value to check for overflow of a 32bit value, but a little obtuse, and a little suboptimal on 32bit systems.

Also, the Checked&lt;T&gt; class will automatically ensure the &quot;ASSERT before return&quot; semantics you want without extra code, which is nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234563</commentid>
    <comment_count>6</comment_count>
      <attachid>290124</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-28 14:52:00 -0700</bug_when>
    <thetext>Created attachment 290124
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234568</commentid>
    <comment_count>7</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-09-28 14:56:32 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/206554</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290049</attachid>
            <date>2016-09-27 19:05:33 -0700</date>
            <delta_ts>2016-09-28 10:01:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162655-20160927190234.patch</filename>
            <type>text/plain</type>
            <size>2978</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNjQ4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE2LTA5LTI3ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVVJMUGFyc2Vy
IHNob3VsZCBwcm9wZXJseSBoYW5kbGUgdW5leHBlY3RlZCBwZXJpb2RzIGluIElQdjQgYWRkcmVz
c2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI2
NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3Zl
cmVkIGJ5IG5ldyBBUEkgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9VUkxQYXJzZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6VVJMUGFyc2VyOjpwYXJzZUlQdjROdW1iZXIpOgorCiAyMDE2
LTA5LTI3ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgSW5saW5lIGNyaXRpY2FsIGZ1bmN0aW9ucyBpbiBVUkxQYXJzZXIKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1VSTFBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vVVJMUGFyc2VyLmNwcAkocmV2aXNpb24gMjA2NDg1KQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vVVJMUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk3Miw2
ICsxOTcyLDggQEAgT3B0aW9uYWw8dWludDMyX3Q+IFVSTFBhcnNlcjo6cGFyc2VJUHY0TgogICAg
IH07CiAgICAgU3RhdGUgc3RhdGUgPSBTdGF0ZTo6VW5rbm93bkJhc2U7CiAgICAgdWludDMyX3Qg
dmFsdWUgPSAwOworICAgIGlmICghaXRlcmF0b3IuYXRFbmQoKSAmJiAqaXRlcmF0b3IgPT0gJy4n
KQorICAgICAgICByZXR1cm4gTnVsbG9wdDsKICAgICB3aGlsZSAoIWl0ZXJhdG9yLmF0RW5kKCkp
IHsKICAgICAgICAgaWYgKCppdGVyYXRvciA9PSAnLicpIHsKICAgICAgICAgICAgICsraXRlcmF0
b3I7CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMDY0OTIpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxMyBAQAorMjAxNi0wOS0yNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNl
bkB3ZWJraXQub3JnPgorCisgICAgICAgIFVSTFBhcnNlciBzaG91bGQgcHJvcGVybHkgaGFuZGxl
IHVuZXhwZWN0ZWQgcGVyaW9kcyBpbiBJUHY0IGFkZHJlc3NlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyNjU1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNv
cmUvVVJMUGFyc2VyLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1RfRik6CisKIDIw
MTYtMDktMjcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBDb3JyZWN0bHkgcGFyc2UgVVJMcyB3aXRoIHRoZSBmaXJzdCB0YWIgaW4gdGhlIGZy
YWdtZW50CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvVVJMUGFyc2Vy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvVVJM
UGFyc2VyLmNwcAkocmV2aXNpb24gMjA2NDgwKQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJDb3JlL1VSTFBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1MCw2ICsyNTAsOSBA
QCBURVNUX0YoVVJMUGFyc2VyVGVzdCwgQmFzaWMpCiAgICAgY2hlY2tVUkwoImFib3V0On4iLCB7
ImFib3V0IiwgIiIsICIiLCAiIiwgMCwgIn4iLCAiIiwgIiIsICJhYm91dDp+In0pOwogICAgIGNo
ZWNrVVJMKCJodHRwczovL0B0ZXN0QHRlc3RAZXhhbXBsZTo4MDBcXHBhdGhAZW5kIiwgeyIiLCAi
IiwgIiIsICIiLCAwLCAiIiwgIiIsICIiLCAiaHR0cHM6Ly9AdGVzdEB0ZXN0QGV4YW1wbGU6ODAw
XFxwYXRoQGVuZCJ9KTsKICAgICBjaGVja1VSTCgiaHR0cDovL3d3dy5leGFtcGxlLmNvbS8jYVxu
YlxyY1x0ZCIsIHsiaHR0cCIsICIiLCAiIiwgInd3dy5leGFtcGxlLmNvbSIsIDAsICIvIiwgIiIs
ICJhYmNkIiwgImh0dHA6Ly93d3cuZXhhbXBsZS5jb20vI2FiY2QifSk7CisgICAgY2hlY2tVUkwo
Imh0dHA6Ly8xMjcuLjEvIiwgeyJodHRwIiwgIiIsICIiLCAiMTI3Li4xIiwgMCwgIi8iLCAiIiwg
IiIsICJodHRwOi8vMTI3Li4xLyJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovLy4vIiwgeyJodHRw
IiwgIiIsICIiLCAiLiIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDovLy4vIn0pOworICAgIGNoZWNr
VVJMKCJodHRwOi8vLiIsIHsiaHR0cCIsICIiLCAiIiwgIi4iLCAwLCAiLyIsICIiLCAiIiwgImh0
dHA6Ly8uLyJ9KTsKIAogICAgIC8vIFRoaXMgZGlzYWdyZWVzIHdpdGggdGhlIHdlYiBwbGF0Zm9y
bSB0ZXN0IGZvciBodHRwOi8vOkB3d3cuZXhhbXBsZS5jb20gYnV0IGFncmVlcyB3aXRoIENocm9t
ZSBhbmQgVVJMOjpwYXJzZSwKICAgICAvLyBhbmQgRmlyZWZveCBmYWlscyB0aGUgd2ViIHBsYXRm
b3JtIHRlc3QgZGlmZmVyZW50bHkuIE1heWJlIHRoZSB3ZWIgcGxhdGZvcm0gdGVzdCBvdWdodCB0
byBiZSBjaGFuZ2VkLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290097</attachid>
            <date>2016-09-28 10:01:03 -0700</date>
            <delta_ts>2016-09-28 13:13:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162655-20160928095805.patch</filename>
            <type>text/plain</type>
            <size>10633</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNjQ4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE2LTA5LTI4ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVVJMUGFyc2Vy
IHNob3VsZCBwcm9wZXJseSBoYW5kbGUgdW5leHBlY3RlZCBwZXJpb2RzIGFuZCBvdmVyZmxvd3Mg
aW4gSVB2NCBhZGRyZXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2MjY1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIENvdmVyZWQgYnkgbmV3IEFQSSB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3Jt
L1VSTFBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpVUkxQYXJzZXI6OnBhcnNlSVB2NE51
bWJlcik6CisgICAgICAgIChXZWJDb3JlOjpVUkxQYXJzZXI6OnBhcnNlSVB2NEhvc3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL1VSTFBhcnNlci5oOgorCiAyMDE2LTA5LTI3ICBBbGV4IENocmlzdGVu
c2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSW5saW5lIGNyaXRpY2Fs
IGZ1bmN0aW9ucyBpbiBVUkxQYXJzZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VS
TFBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJMUGFy
c2VyLmNwcAkocmV2aXNpb24gMjA2NDg1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJM
UGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk2MCw5ICsxOTYwLDggQEAgdm9pZCBVUkxQ
YXJzZXI6OnNlcmlhbGl6ZUlQdjYoVVJMUGFyc2VyOgogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBD
aGFyYWN0ZXJUeXBlPgotT3B0aW9uYWw8dWludDMyX3Q+IFVSTFBhcnNlcjo6cGFyc2VJUHY0TnVt
YmVyKENvZGVQb2ludEl0ZXJhdG9yPENoYXJhY3RlclR5cGU+JiBpdGVyYXRvciwgY29uc3QgQ29k
ZVBvaW50SXRlcmF0b3I8Q2hhcmFjdGVyVHlwZT4mIGl0ZXJhdG9yRm9yU3ludGF4VmlvbGF0aW9u
UG9zaXRpb24pCitPcHRpb25hbDx1aW50NjRfdD4gVVJMUGFyc2VyOjpwYXJzZUlQdjROdW1iZXIo
Q29kZVBvaW50SXRlcmF0b3I8Q2hhcmFjdGVyVHlwZT4mIGl0ZXJhdG9yLCBjb25zdCBDb2RlUG9p
bnRJdGVyYXRvcjxDaGFyYWN0ZXJUeXBlPiYgaXRlcmF0b3JGb3JTeW50YXhWaW9sYXRpb25Qb3Np
dGlvbikKIHsKLSAgICAvLyBGSVhNRTogQ2hlY2sgZm9yIG92ZXJmbG93LgogICAgIGVudW0gY2xh
c3MgU3RhdGUgOiB1aW50OF90IHsKICAgICAgICAgVW5rbm93bkJhc2UsCiAgICAgICAgIERlY2lt
YWwsCkBAIC0xOTcxLDcgKzE5NzAsMTAgQEAgT3B0aW9uYWw8dWludDMyX3Q+IFVSTFBhcnNlcjo6
cGFyc2VJUHY0TgogICAgICAgICBIZXgsCiAgICAgfTsKICAgICBTdGF0ZSBzdGF0ZSA9IFN0YXRl
OjpVbmtub3duQmFzZTsKLSAgICB1aW50MzJfdCB2YWx1ZSA9IDA7CisgICAgdWludDY0X3QgdmFs
dWUgPSAwOworICAgIGlmICghaXRlcmF0b3IuYXRFbmQoKSAmJiAqaXRlcmF0b3IgPT0gJy4nKQor
ICAgICAgICByZXR1cm4gTnVsbG9wdDsKKyAgICBib29sIGRpZFNlZVN5bnRheFZpb2xhdGlvbiA9
IGZhbHNlOwogICAgIHdoaWxlICghaXRlcmF0b3IuYXRFbmQoKSkgewogICAgICAgICBpZiAoKml0
ZXJhdG9yID09ICcuJykgewogICAgICAgICAgICAgKytpdGVyYXRvcjsKQEAgLTE5ODcsNyArMTk4
OSw3IEBAIE9wdGlvbmFsPHVpbnQzMl90PiBVUkxQYXJzZXI6OnBhcnNlSVB2NE4KICAgICAgICAg
ICAgIHN0YXRlID0gU3RhdGU6OkRlY2ltYWw7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
Y2FzZSBTdGF0ZTo6T2N0YWxPckhleDoKLSAgICAgICAgICAgIHN5bnRheFZpb2xhdGlvbihpdGVy
YXRvckZvclN5bnRheFZpb2xhdGlvblBvc2l0aW9uKTsKKyAgICAgICAgICAgIGRpZFNlZVN5bnRh
eFZpb2xhdGlvbiA9IHRydWU7CiAgICAgICAgICAgICBpZiAoKml0ZXJhdG9yID09ICd4JyB8fCAq
aXRlcmF0b3IgPT0gJ1gnKSB7CiAgICAgICAgICAgICAgICAgKytpdGVyYXRvcjsKICAgICAgICAg
ICAgICAgICBzdGF0ZSA9IFN0YXRlOjpIZXg7CkBAIC0yMDAwLDI2ICsyMDAyLDM0IEBAIE9wdGlv
bmFsPHVpbnQzMl90PiBVUkxQYXJzZXI6OnBhcnNlSVB2NE4KICAgICAgICAgICAgICAgICByZXR1
cm4gTnVsbG9wdDsKICAgICAgICAgICAgIHZhbHVlICo9IDEwOwogICAgICAgICAgICAgdmFsdWUg
Kz0gKml0ZXJhdG9yIC0gJzAnOworICAgICAgICAgICAgaWYgKFVOTElLRUxZKHZhbHVlID4gc3Rk
OjpudW1lcmljX2xpbWl0czx1aW50MzJfdD46Om1heCgpKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gTnVsbG9wdDsKICAgICAgICAgICAgICsraXRlcmF0b3I7CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgY2FzZSBTdGF0ZTo6T2N0YWw6Ci0gICAgICAgICAgICBBU1NFUlQobV9kaWRTZWVT
eW50YXhWaW9sYXRpb24pOworICAgICAgICAgICAgQVNTRVJUKGRpZFNlZVN5bnRheFZpb2xhdGlv
bik7CiAgICAgICAgICAgICBpZiAoKml0ZXJhdG9yIDwgJzAnIHx8ICppdGVyYXRvciA+ICc3JykK
ICAgICAgICAgICAgICAgICByZXR1cm4gTnVsbG9wdDsKICAgICAgICAgICAgIHZhbHVlICo9IDg7
CiAgICAgICAgICAgICB2YWx1ZSArPSAqaXRlcmF0b3IgLSAnMCc7CisgICAgICAgICAgICBpZiAo
VU5MSUtFTFkodmFsdWUgPiBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4KCkpKQor
ICAgICAgICAgICAgICAgIHJldHVybiBOdWxsb3B0OwogICAgICAgICAgICAgKytpdGVyYXRvcjsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFN0YXRlOjpIZXg6Ci0gICAgICAgICAg
ICBBU1NFUlQobV9kaWRTZWVTeW50YXhWaW9sYXRpb24pOworICAgICAgICAgICAgQVNTRVJUKGRp
ZFNlZVN5bnRheFZpb2xhdGlvbik7CiAgICAgICAgICAgICBpZiAoIWlzQVNDSUlIZXhEaWdpdCgq
aXRlcmF0b3IpKQogICAgICAgICAgICAgICAgIHJldHVybiBOdWxsb3B0OwogICAgICAgICAgICAg
dmFsdWUgKj0gMTY7CiAgICAgICAgICAgICB2YWx1ZSArPSB0b0FTQ0lJSGV4VmFsdWUoKml0ZXJh
dG9yKTsKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWSh2YWx1ZSA+IHN0ZDo6bnVtZXJpY19saW1p
dHM8dWludDMyX3Q+OjptYXgoKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIE51bGxvcHQ7CiAg
ICAgICAgICAgICArK2l0ZXJhdG9yOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAg
ICB9CisgICAgaWYgKGRpZFNlZVN5bnRheFZpb2xhdGlvbikKKyAgICAgICAgc3ludGF4VmlvbGF0
aW9uKGl0ZXJhdG9yRm9yU3ludGF4VmlvbGF0aW9uUG9zaXRpb24pOwogICAgIHJldHVybiB2YWx1
ZTsKIH0KIApAQCAtMjAzNSw3ICsyMDQ1LDcgQEAgT3B0aW9uYWw8VVJMUGFyc2VyOjpJUHY0QWRk
cmVzcz4gVVJMUGFycwogewogICAgIGF1dG8gaG9zdEJlZ2luID0gaXRlcmF0b3I7CiAKLSAgICBW
ZWN0b3I8dWludDMyX3QsIDQ+IGl0ZW1zOworICAgIFZlY3Rvcjx1aW50NjRfdCwgND4gaXRlbXM7
CiAgICAgaXRlbXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eSg0KTsKICAgICB3aGlsZSAoIWl0ZXJh
dG9yLmF0RW5kKCkpIHsKICAgICAgICAgaWYgKGl0ZW1zLnNpemUoKSA+PSA0KQpAQCAtMjA1Nyw3
ICsyMDY3LDcgQEAgT3B0aW9uYWw8VVJMUGFyc2VyOjpJUHY0QWRkcmVzcz4gVVJMUGFycwogICAg
ICAgICByZXR1cm4gTnVsbG9wdDsKICAgICBmb3IgKGF1dG8gaXRlbSA6IGl0ZW1zKSB7CiAgICAg
ICAgIGlmIChpdGVtID4gMjU1KQotICAgICAgICAgICAgcmV0dXJuIE51bGxvcHQ7CisgICAgICAg
ICAgICBzeW50YXhWaW9sYXRpb24oaG9zdEJlZ2luKTsKICAgICB9CiAKICAgICBpZiAoVU5MSUtF
TFkoaXRlbXMuc2l6ZSgpICE9IDQpKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJM
UGFyc2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJMUGFyc2Vy
LmgJKHJldmlzaW9uIDIwNjQ3NykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VSTFBhcnNl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC04OCw3ICs4OCw3IEBAIHByaXZhdGU6CiAgICAgdXNpbmcg
SVB2NEFkZHJlc3MgPSB1aW50MzJfdDsKICAgICB2b2lkIHNlcmlhbGl6ZUlQdjQoSVB2NEFkZHJl
c3MpOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IE9wdGlvbmFsPElQdjRB
ZGRyZXNzPiBwYXJzZUlQdjRIb3N0KENvZGVQb2ludEl0ZXJhdG9yPENoYXJhY3RlclR5cGU+KTsK
LSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBPcHRpb25hbDx1aW50MzJfdD4g
cGFyc2VJUHY0TnVtYmVyKENvZGVQb2ludEl0ZXJhdG9yPENoYXJhY3RlclR5cGU+JiwgY29uc3Qg
Q29kZVBvaW50SXRlcmF0b3I8Q2hhcmFjdGVyVHlwZT4mIGl0ZXJhdG9yRm9yU3ludGF4VmlvbGF0
aW9uUG9zaXRpb24pOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IE9wdGlv
bmFsPHVpbnQ2NF90PiBwYXJzZUlQdjROdW1iZXIoQ29kZVBvaW50SXRlcmF0b3I8Q2hhcmFjdGVy
VHlwZT4mLCBjb25zdCBDb2RlUG9pbnRJdGVyYXRvcjxDaGFyYWN0ZXJUeXBlPiYgaXRlcmF0b3JG
b3JTeW50YXhWaW9sYXRpb25Qb3NpdGlvbik7CiAgICAgdXNpbmcgSVB2NkFkZHJlc3MgPSBzdGQ6
OmFycmF5PHVpbnQxNl90LCA4PjsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBl
PiBPcHRpb25hbDxJUHY2QWRkcmVzcz4gcGFyc2VJUHY2SG9zdChDb2RlUG9pbnRJdGVyYXRvcjxD
aGFyYWN0ZXJUeXBlPik7CiAgICAgdm9pZCBzZXJpYWxpemVJUHY2UGllY2UodWludDE2X3QgcGll
Y2UpOwpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMjA2NTI0KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTYtMDktMjggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVUkxQYXJzZXIgc2hvdWxkIHByb3Blcmx5IGhhbmRs
ZSB1bmV4cGVjdGVkIHBlcmlvZHMgYW5kIG92ZXJmbG93cyBpbiBJUHY0IGFkZHJlc3NlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyNjU1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYkNvcmUvVVJMUGFyc2VyLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OlRFU1RfRik6CisKIDIwMTYtMDktMjggIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFtXaW5dIENvbXBpbGUgZml4LgpJbmRleDogVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJDb3JlL1VSTFBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1VSTFBhcnNlci5jcHAJKHJldmlzaW9uIDIwNjQ4MCkK
KysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9VUkxQYXJzZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMzcsOSArMjM3LDE1IEBAIFRFU1RfRihVUkxQYXJzZXJUZXN0LCBCYXNp
YykKICAgICBjaGVja1VSTCgibm90c3BlY2lhbDovYSIsIHsibm90c3BlY2lhbCIsICIiLCAiIiwg
IiIsIDAsICIvYSIsICIiLCAiIiwgIm5vdHNwZWNpYWw6L2EifSk7CiAgICAgY2hlY2tVUkwoIm5v
dHNwZWNpYWw6IiwgeyJub3RzcGVjaWFsIiwgIiIsICIiLCAiIiwgMCwgIiIsICIiLCAiIiwgIm5v
dHNwZWNpYWw6In0pOwogICAgIGNoZWNrVVJMKCJodHRwOi9hIiwgeyJodHRwIiwgIiIsICIiLCAi
YSIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDovL2EvIn0pOwotICAgIGNoZWNrVVJMKCJodHRwOi8v
MjU2LyIsIHsiaHR0cCIsICIiLCAiIiwgIjI1NiIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDovLzI1
Ni8ifSk7Ci0gICAgY2hlY2tVUkwoImh0dHA6Ly8yNTYuLyIsIHsiaHR0cCIsICIiLCAiIiwgIjI1
Ni4iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8yNTYuLyJ9KTsKLSAgICBjaGVja1VSTCgiaHR0
cDovLzEyMy4yNTYvIiwgeyJodHRwIiwgIiIsICIiLCAiMTIzLjI1NiIsIDAsICIvIiwgIiIsICIi
LCAiaHR0cDovLzEyMy4yNTYvIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vMjU2Li4vIiwgeyJo
dHRwIiwgIiIsICIiLCAiMjU2Li4iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8yNTYuLi8ifSk7
CisgICAgY2hlY2tVUkwoImh0dHA6Ly8yNTYuLiIsIHsiaHR0cCIsICIiLCAiIiwgIjI1Ni4uIiwg
MCwgIi8iLCAiIiwgIiIsICJodHRwOi8vMjU2Li4vIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8v
MTI3Li4xLyIsIHsiaHR0cCIsICIiLCAiIiwgIjEyNy4uMSIsIDAsICIvIiwgIiIsICIiLCAiaHR0
cDovLzEyNy4uMS8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly8xMjcuYS4wLjEvIiwgeyJodHRw
IiwgIiIsICIiLCAiMTI3LmEuMC4xIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vMTI3LmEuMC4x
LyJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovLzEyNy4wLjAuMS8iLCB7Imh0dHAiLCAiIiwgIiIs
ICIxMjcuMC4wLjEiLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8xMjcuMC4wLjEvIn0pOworICAg
IGNoZWNrVVJMKCJodHRwOi8vMTJcdDcuMC4wLjEvIiwgeyJodHRwIiwgIiIsICIiLCAiMTI3LjAu
MC4xIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vMTI3LjAuMC4xLyJ9KTsKKyAgICBjaGVja1VS
TCgiaHR0cDovLzEyNy5cdDAuMC4xLyIsIHsiaHR0cCIsICIiLCAiIiwgIjEyNy4wLjAuMSIsIDAs
ICIvIiwgIiIsICIiLCAiaHR0cDovLzEyNy4wLjAuMS8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6
Ly8uLyIsIHsiaHR0cCIsICIiLCAiIiwgIi4iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8uLyJ9
KTsKKyAgICBjaGVja1VSTCgiaHR0cDovLy4iLCB7Imh0dHAiLCAiIiwgIiIsICIuIiwgMCwgIi8i
LCAiIiwgIiIsICJodHRwOi8vLi8ifSk7CiAgICAgY2hlY2tVUkwoImh0dHA6Ly8xMjNcdC4yNTYv
IiwgeyJodHRwIiwgIiIsICIiLCAiMTIzLjI1NiIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDovLzEy
My4yNTYvIn0pOwogICAgIGNoZWNrVVJMKCJodHRwOi8vMTIzLlx0MjU2LyIsIHsiaHR0cCIsICIi
LCAiIiwgIjEyMy4yNTYiLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8xMjMuMjU2LyJ9KTsKICAg
ICBjaGVja1VSTCgibm90c3BlY2lhbDovYSIsIHsibm90c3BlY2lhbCIsICIiLCAiIiwgIiIsIDAs
ICIvYSIsICIiLCAiIiwgIm5vdHNwZWNpYWw6L2EifSk7CkBAIC0yNTAsNiArMjU2LDEwIEBAIFRF
U1RfRihVUkxQYXJzZXJUZXN0LCBCYXNpYykKICAgICBjaGVja1VSTCgiYWJvdXQ6fiIsIHsiYWJv
dXQiLCAiIiwgIiIsICIiLCAwLCAifiIsICIiLCAiIiwgImFib3V0On4ifSk7CiAgICAgY2hlY2tV
UkwoImh0dHBzOi8vQHRlc3RAdGVzdEBleGFtcGxlOjgwMFxccGF0aEBlbmQiLCB7IiIsICIiLCAi
IiwgIiIsIDAsICIiLCAiIiwgIiIsICJodHRwczovL0B0ZXN0QHRlc3RAZXhhbXBsZTo4MDBcXHBh
dGhAZW5kIn0pOwogICAgIGNoZWNrVVJMKCJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyNhXG5iXHJj
XHRkIiwgeyJodHRwIiwgIiIsICIiLCAid3d3LmV4YW1wbGUuY29tIiwgMCwgIi8iLCAiIiwgImFi
Y2QiLCAiaHR0cDovL3d3dy5leGFtcGxlLmNvbS8jYWJjZCJ9KTsKKyAgICBjaGVja1VSTCgiaHR0
cDovLzB4MTAwMDAwMDAwLyIsIHsiaHR0cCIsICIiLCAiIiwgIjB4MTAwMDAwMDAwIiwgMCwgIi8i
LCAiIiwgIiIsICJodHRwOi8vMHgxMDAwMDAwMDAvIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8v
MDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwMS8iLCB7Imh0dHAiLCAiIiwgIiIsICIw
MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDAxIiwgMCwgIi8iLCAiIiwgIiIsICJodHRw
Oi8vMDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwMS8ifSk7CisgICAgY2hlY2tVUkwo
Imh0dHA6Ly8wNDAwMDAwMDAwMDAvIiwgeyJodHRwIiwgIiIsICIiLCAiMDQwMDAwMDAwMDAwIiwg
MCwgIi8iLCAiIiwgIiIsICJodHRwOi8vMDQwMDAwMDAwMDAwLyJ9KTsKKyAgICBjaGVja1VSTCgi
aHR0cDovLzQyOTQ5NjcyOTYvIiwgeyJodHRwIiwgIiIsICIiLCAiNDI5NDk2NzI5NiIsIDAsICIv
IiwgIiIsICIiLCAiaHR0cDovLzQyOTQ5NjcyOTYvIn0pOwogCiAgICAgLy8gVGhpcyBkaXNhZ3Jl
ZXMgd2l0aCB0aGUgd2ViIHBsYXRmb3JtIHRlc3QgZm9yIGh0dHA6Ly86QHd3dy5leGFtcGxlLmNv
bSBidXQgYWdyZWVzIHdpdGggQ2hyb21lIGFuZCBVUkw6OnBhcnNlLAogICAgIC8vIGFuZCBGaXJl
Zm94IGZhaWxzIHRoZSB3ZWIgcGxhdGZvcm0gdGVzdCBkaWZmZXJlbnRseS4gTWF5YmUgdGhlIHdl
YiBwbGF0Zm9ybSB0ZXN0IG91Z2h0IHRvIGJlIGNoYW5nZWQuCkBAIC02NjQsNiArNjc0LDI3IEBA
IFRFU1RfRihVUkxQYXJzZXJUZXN0LCBQYXJzZXJEaWZmZXJlbmNlcykKICAgICBjaGVja1JlbGF0
aXZlVVJMRGlmZmVyZW5jZXMoIi8vQ3wjZm9vL2JhciIsICJmaWxlOi8vL3RtcC9tb2NrL3BhdGgi
LAogICAgICAgICB7ImZpbGUiLCAiIiwgIiIsICIiLCAwLCAiL0M6LyIsICIiLCAiZm9vL2JhciIs
ICJmaWxlOi8vL0M6LyNmb28vYmFyIn0sCiAgICAgICAgIHsiIiwgIiIsICIiLCAiIiwgMCwgIiIs
ICIiLCAiIiwgIi8vQ3wjZm9vL2JhciJ9KTsKKyAgICBjaGVja1VSTERpZmZlcmVuY2VzKCJodHRw
Oi8vMHhGRkZGRmZGRi8iLAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICIyNTUuMjU1LjI1NS4y
NTUiLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8yNTUuMjU1LjI1NS4yNTUvIn0sCisgICAgICAg
IHsiaHR0cCIsICIiLCAiIiwgIjB4ZmZmZmZmZmYiLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8w
eGZmZmZmZmZmLyJ9KTsKKyAgICBjaGVja1VSTERpZmZlcmVuY2VzKCJodHRwOi8vMDAwMDAwMDAw
MDAwMDAwMDAzNzc3Nzc3Nzc3Ny8iLAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICIyNTUuMjU1
LjI1NS4yNTUiLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8yNTUuMjU1LjI1NS4yNTUvIn0sCisg
ICAgICAgIHsiaHR0cCIsICIiLCAiIiwgIjAwMDAwMDAwMDAwMDAwMDAwMzc3Nzc3Nzc3NzciLCAw
LCAiLyIsICIiLCAiIiwgImh0dHA6Ly8wMDAwMDAwMDAwMDAwMDAwMDM3Nzc3Nzc3Nzc3LyJ9KTsK
KyAgICBjaGVja1VSTERpZmZlcmVuY2VzKCJodHRwOi8vNDI5NDk2NzI5NS8iLAorICAgICAgICB7
Imh0dHAiLCAiIiwgIiIsICIyNTUuMjU1LjI1NS4yNTUiLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6
Ly8yNTUuMjU1LjI1NS4yNTUvIn0sCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgIjQyOTQ5Njcy
OTUiLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly80Mjk0OTY3Mjk1LyJ9KTsKKyAgICBjaGVja1VS
TERpZmZlcmVuY2VzKCJodHRwOi8vMjU2LyIsCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgIjAu
MC4xLjAiLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8wLjAuMS4wLyJ9LAorICAgICAgICB7Imh0
dHAiLCAiIiwgIiIsICIyNTYiLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8yNTYvIn0pOworICAg
IGNoZWNrVVJMRGlmZmVyZW5jZXMoImh0dHA6Ly8yNTYuLyIsCisgICAgICAgIHsiaHR0cCIsICIi
LCAiIiwgIjAuMC4xLjAiLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8wLjAuMS4wLyJ9LAorICAg
ICAgICB7Imh0dHAiLCAiIiwgIiIsICIyNTYuIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vMjU2
Li8ifSk7CisgICAgY2hlY2tVUkxEaWZmZXJlbmNlcygiaHR0cDovLzEyMy4yNTYvIiwKKyAgICAg
ICAgeyJodHRwIiwgIiIsICIiLCAiMTIzLjAuMS4wIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8v
MTIzLjAuMS4wLyJ9LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICIxMjMuMjU2IiwgMCwgIi8i
LCAiIiwgIiIsICJodHRwOi8vMTIzLjI1Ni8ifSk7CisgICAgY2hlY2tVUkxEaWZmZXJlbmNlcygi
aHR0cDovLzEyNy4lLjAuMS8iLAorICAgICAgICB7IiIsICIiLCAiIiwgIiIsIDAsICIiLCAiIiwg
IiIsICJodHRwOi8vMTI3LiUuMC4xLyJ9LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICIxMjcu
JS4wLjEiLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8xMjcuJS4wLjEvIn0pOwogfQogCiBURVNU
X0YoVVJMUGFyc2VyVGVzdCwgRGVmYXVsdFBvcnQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290109</attachid>
            <date>2016-09-28 13:13:36 -0700</date>
            <delta_ts>2016-09-28 14:51:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162655-20160928131035.patch</filename>
            <type>text/plain</type>
            <size>9424</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNjQ4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE2LTA5LTI4ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVVJMUGFyc2Vy
IHNob3VsZCBwcm9wZXJseSBoYW5kbGUgdW5leHBlY3RlZCBwZXJpb2RzIGFuZCBvdmVyZmxvd3Mg
aW4gSVB2NCBhZGRyZXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2MjY1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIENvdmVyZWQgYnkgbmV3IEFQSSB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3Jt
L1VSTFBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpVUkxQYXJzZXI6OnBhcnNlSVB2NE51
bWJlcik6CisgICAgICAgIChXZWJDb3JlOjpVUkxQYXJzZXI6OnBhcnNlSVB2NEhvc3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL1VSTFBhcnNlci5oOgorCiAyMDE2LTA5LTI3ICBBbGV4IENocmlzdGVu
c2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSW5saW5lIGNyaXRpY2Fs
IGZ1bmN0aW9ucyBpbiBVUkxQYXJzZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VS
TFBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJMUGFy
c2VyLmNwcAkocmV2aXNpb24gMjA2NDg1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJM
UGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk2Miw3ICsxOTYyLDYgQEAgdm9pZCBVUkxQ
YXJzZXI6OnNlcmlhbGl6ZUlQdjYoVVJMUGFyc2VyOgogdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFj
dGVyVHlwZT4KIE9wdGlvbmFsPHVpbnQzMl90PiBVUkxQYXJzZXI6OnBhcnNlSVB2NE51bWJlcihD
b2RlUG9pbnRJdGVyYXRvcjxDaGFyYWN0ZXJUeXBlPiYgaXRlcmF0b3IsIGNvbnN0IENvZGVQb2lu
dEl0ZXJhdG9yPENoYXJhY3RlclR5cGU+JiBpdGVyYXRvckZvclN5bnRheFZpb2xhdGlvblBvc2l0
aW9uKQogewotICAgIC8vIEZJWE1FOiBDaGVjayBmb3Igb3ZlcmZsb3cuCiAgICAgZW51bSBjbGFz
cyBTdGF0ZSA6IHVpbnQ4X3QgewogICAgICAgICBVbmtub3duQmFzZSwKICAgICAgICAgRGVjaW1h
bCwKQEAgLTE5NzEsMTAgKzE5NzAsMTQgQEAgT3B0aW9uYWw8dWludDMyX3Q+IFVSTFBhcnNlcjo6
cGFyc2VJUHY0TgogICAgICAgICBIZXgsCiAgICAgfTsKICAgICBTdGF0ZSBzdGF0ZSA9IFN0YXRl
OjpVbmtub3duQmFzZTsKLSAgICB1aW50MzJfdCB2YWx1ZSA9IDA7CisgICAgdWludDY0X3QgdmFs
dWUgPSAwOworICAgIGlmICghaXRlcmF0b3IuYXRFbmQoKSAmJiAqaXRlcmF0b3IgPT0gJy4nKQor
ICAgICAgICByZXR1cm4gTnVsbG9wdDsKKyAgICBib29sIGRpZFNlZVN5bnRheFZpb2xhdGlvbiA9
IGZhbHNlOwogICAgIHdoaWxlICghaXRlcmF0b3IuYXRFbmQoKSkgewogICAgICAgICBpZiAoKml0
ZXJhdG9yID09ICcuJykgewogICAgICAgICAgICAgKytpdGVyYXRvcjsKKyAgICAgICAgICAgIEFT
U0VSVCh2YWx1ZSA8PSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4KCkpOwogICAg
ICAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgICAgICB9CiAgICAgICAgIHN3aXRjaCAoc3RhdGUp
IHsKQEAgLTE5ODcsNyArMTk5MCw3IEBAIE9wdGlvbmFsPHVpbnQzMl90PiBVUkxQYXJzZXI6OnBh
cnNlSVB2NE4KICAgICAgICAgICAgIHN0YXRlID0gU3RhdGU6OkRlY2ltYWw7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBTdGF0ZTo6T2N0YWxPckhleDoKLSAgICAgICAgICAgIHN5
bnRheFZpb2xhdGlvbihpdGVyYXRvckZvclN5bnRheFZpb2xhdGlvblBvc2l0aW9uKTsKKyAgICAg
ICAgICAgIGRpZFNlZVN5bnRheFZpb2xhdGlvbiA9IHRydWU7CiAgICAgICAgICAgICBpZiAoKml0
ZXJhdG9yID09ICd4JyB8fCAqaXRlcmF0b3IgPT0gJ1gnKSB7CiAgICAgICAgICAgICAgICAgKytp
dGVyYXRvcjsKICAgICAgICAgICAgICAgICBzdGF0ZSA9IFN0YXRlOjpIZXg7CkBAIC0yMDAwLDI2
ICsyMDAzLDM1IEBAIE9wdGlvbmFsPHVpbnQzMl90PiBVUkxQYXJzZXI6OnBhcnNlSVB2NE4KICAg
ICAgICAgICAgICAgICByZXR1cm4gTnVsbG9wdDsKICAgICAgICAgICAgIHZhbHVlICo9IDEwOwog
ICAgICAgICAgICAgdmFsdWUgKz0gKml0ZXJhdG9yIC0gJzAnOworICAgICAgICAgICAgaWYgKFVO
TElLRUxZKHZhbHVlID4gc3RkOjpudW1lcmljX2xpbWl0czx1aW50MzJfdD46Om1heCgpKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gTnVsbG9wdDsKICAgICAgICAgICAgICsraXRlcmF0b3I7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBTdGF0ZTo6T2N0YWw6Ci0gICAgICAgICAg
ICBBU1NFUlQobV9kaWRTZWVTeW50YXhWaW9sYXRpb24pOworICAgICAgICAgICAgQVNTRVJUKGRp
ZFNlZVN5bnRheFZpb2xhdGlvbik7CiAgICAgICAgICAgICBpZiAoKml0ZXJhdG9yIDwgJzAnIHx8
ICppdGVyYXRvciA+ICc3JykKICAgICAgICAgICAgICAgICByZXR1cm4gTnVsbG9wdDsKICAgICAg
ICAgICAgIHZhbHVlICo9IDg7CiAgICAgICAgICAgICB2YWx1ZSArPSAqaXRlcmF0b3IgLSAnMCc7
CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkodmFsdWUgPiBzdGQ6Om51bWVyaWNfbGltaXRzPHVp
bnQzMl90Pjo6bWF4KCkpKQorICAgICAgICAgICAgICAgIHJldHVybiBOdWxsb3B0OwogICAgICAg
ICAgICAgKytpdGVyYXRvcjsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFN0YXRl
OjpIZXg6Ci0gICAgICAgICAgICBBU1NFUlQobV9kaWRTZWVTeW50YXhWaW9sYXRpb24pOworICAg
ICAgICAgICAgQVNTRVJUKGRpZFNlZVN5bnRheFZpb2xhdGlvbik7CiAgICAgICAgICAgICBpZiAo
IWlzQVNDSUlIZXhEaWdpdCgqaXRlcmF0b3IpKQogICAgICAgICAgICAgICAgIHJldHVybiBOdWxs
b3B0OwogICAgICAgICAgICAgdmFsdWUgKj0gMTY7CiAgICAgICAgICAgICB2YWx1ZSArPSB0b0FT
Q0lJSGV4VmFsdWUoKml0ZXJhdG9yKTsKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWSh2YWx1ZSA+
IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDMyX3Q+OjptYXgoKSkpCisgICAgICAgICAgICAgICAg
cmV0dXJuIE51bGxvcHQ7CiAgICAgICAgICAgICArK2l0ZXJhdG9yOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KICAgICB9CisgICAgaWYgKGRpZFNlZVN5bnRheFZpb2xhdGlvbikKKyAg
ICAgICAgc3ludGF4VmlvbGF0aW9uKGl0ZXJhdG9yRm9yU3ludGF4VmlvbGF0aW9uUG9zaXRpb24p
OworICAgIEFTU0VSVCh2YWx1ZSA8PSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4
KCkpOwogICAgIHJldHVybiB2YWx1ZTsKIH0KIApAQCAtMjA1Nyw3ICsyMDY5LDcgQEAgT3B0aW9u
YWw8VVJMUGFyc2VyOjpJUHY0QWRkcmVzcz4gVVJMUGFycwogICAgICAgICByZXR1cm4gTnVsbG9w
dDsKICAgICBmb3IgKGF1dG8gaXRlbSA6IGl0ZW1zKSB7CiAgICAgICAgIGlmIChpdGVtID4gMjU1
KQotICAgICAgICAgICAgcmV0dXJuIE51bGxvcHQ7CisgICAgICAgICAgICBzeW50YXhWaW9sYXRp
b24oaG9zdEJlZ2luKTsKICAgICB9CiAKICAgICBpZiAoVU5MSUtFTFkoaXRlbXMuc2l6ZSgpICE9
IDQpKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMjA2NTI3KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTYtMDktMjggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVUkxQYXJzZXIgc2hvdWxkIHByb3Blcmx5IGhhbmRs
ZSB1bmV4cGVjdGVkIHBlcmlvZHMgYW5kIG92ZXJmbG93cyBpbiBJUHY0IGFkZHJlc3NlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyNjU1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYkNvcmUvVVJMUGFyc2VyLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OlRFU1RfRik6CisKIDIwMTYtMDktMjcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgQWRvcHQgTWVkaWFSZW1vdGUgU1BJIHRvIGFjaGlldmUgZGVzaXJl
ZCBOb3cgUGxheWluZyBiZWhhdmlvcgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJDb3JlL1VSTFBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJDb3JlL1VSTFBhcnNlci5jcHAJKHJldmlzaW9uIDIwNjQ4MCkKKysrIFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9VUkxQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yMzcsOSArMjM3LDE1IEBAIFRFU1RfRihVUkxQYXJzZXJUZXN0LCBCYXNpYykKICAgICBjaGVj
a1VSTCgibm90c3BlY2lhbDovYSIsIHsibm90c3BlY2lhbCIsICIiLCAiIiwgIiIsIDAsICIvYSIs
ICIiLCAiIiwgIm5vdHNwZWNpYWw6L2EifSk7CiAgICAgY2hlY2tVUkwoIm5vdHNwZWNpYWw6Iiwg
eyJub3RzcGVjaWFsIiwgIiIsICIiLCAiIiwgMCwgIiIsICIiLCAiIiwgIm5vdHNwZWNpYWw6In0p
OwogICAgIGNoZWNrVVJMKCJodHRwOi9hIiwgeyJodHRwIiwgIiIsICIiLCAiYSIsIDAsICIvIiwg
IiIsICIiLCAiaHR0cDovL2EvIn0pOwotICAgIGNoZWNrVVJMKCJodHRwOi8vMjU2LyIsIHsiaHR0
cCIsICIiLCAiIiwgIjI1NiIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDovLzI1Ni8ifSk7Ci0gICAg
Y2hlY2tVUkwoImh0dHA6Ly8yNTYuLyIsIHsiaHR0cCIsICIiLCAiIiwgIjI1Ni4iLCAwLCAiLyIs
ICIiLCAiIiwgImh0dHA6Ly8yNTYuLyJ9KTsKLSAgICBjaGVja1VSTCgiaHR0cDovLzEyMy4yNTYv
IiwgeyJodHRwIiwgIiIsICIiLCAiMTIzLjI1NiIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDovLzEy
My4yNTYvIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vMjU2Li4vIiwgeyJodHRwIiwgIiIsICIi
LCAiMjU2Li4iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8yNTYuLi8ifSk7CisgICAgY2hlY2tV
UkwoImh0dHA6Ly8yNTYuLiIsIHsiaHR0cCIsICIiLCAiIiwgIjI1Ni4uIiwgMCwgIi8iLCAiIiwg
IiIsICJodHRwOi8vMjU2Li4vIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vMTI3Li4xLyIsIHsi
aHR0cCIsICIiLCAiIiwgIjEyNy4uMSIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDovLzEyNy4uMS8i
fSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly8xMjcuYS4wLjEvIiwgeyJodHRwIiwgIiIsICIiLCAi
MTI3LmEuMC4xIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vMTI3LmEuMC4xLyJ9KTsKKyAgICBj
aGVja1VSTCgiaHR0cDovLzEyNy4wLjAuMS8iLCB7Imh0dHAiLCAiIiwgIiIsICIxMjcuMC4wLjEi
LCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8xMjcuMC4wLjEvIn0pOworICAgIGNoZWNrVVJMKCJo
dHRwOi8vMTJcdDcuMC4wLjEvIiwgeyJodHRwIiwgIiIsICIiLCAiMTI3LjAuMC4xIiwgMCwgIi8i
LCAiIiwgIiIsICJodHRwOi8vMTI3LjAuMC4xLyJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovLzEy
Ny5cdDAuMC4xLyIsIHsiaHR0cCIsICIiLCAiIiwgIjEyNy4wLjAuMSIsIDAsICIvIiwgIiIsICIi
LCAiaHR0cDovLzEyNy4wLjAuMS8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly8uLyIsIHsiaHR0
cCIsICIiLCAiIiwgIi4iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8uLyJ9KTsKKyAgICBjaGVj
a1VSTCgiaHR0cDovLy4iLCB7Imh0dHAiLCAiIiwgIiIsICIuIiwgMCwgIi8iLCAiIiwgIiIsICJo
dHRwOi8vLi8ifSk7CiAgICAgY2hlY2tVUkwoImh0dHA6Ly8xMjNcdC4yNTYvIiwgeyJodHRwIiwg
IiIsICIiLCAiMTIzLjI1NiIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDovLzEyMy4yNTYvIn0pOwog
ICAgIGNoZWNrVVJMKCJodHRwOi8vMTIzLlx0MjU2LyIsIHsiaHR0cCIsICIiLCAiIiwgIjEyMy4y
NTYiLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8xMjMuMjU2LyJ9KTsKICAgICBjaGVja1VSTCgi
bm90c3BlY2lhbDovYSIsIHsibm90c3BlY2lhbCIsICIiLCAiIiwgIiIsIDAsICIvYSIsICIiLCAi
IiwgIm5vdHNwZWNpYWw6L2EifSk7CkBAIC0yNTAsNiArMjU2LDEwIEBAIFRFU1RfRihVUkxQYXJz
ZXJUZXN0LCBCYXNpYykKICAgICBjaGVja1VSTCgiYWJvdXQ6fiIsIHsiYWJvdXQiLCAiIiwgIiIs
ICIiLCAwLCAifiIsICIiLCAiIiwgImFib3V0On4ifSk7CiAgICAgY2hlY2tVUkwoImh0dHBzOi8v
QHRlc3RAdGVzdEBleGFtcGxlOjgwMFxccGF0aEBlbmQiLCB7IiIsICIiLCAiIiwgIiIsIDAsICIi
LCAiIiwgIiIsICJodHRwczovL0B0ZXN0QHRlc3RAZXhhbXBsZTo4MDBcXHBhdGhAZW5kIn0pOwog
ICAgIGNoZWNrVVJMKCJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyNhXG5iXHJjXHRkIiwgeyJodHRw
IiwgIiIsICIiLCAid3d3LmV4YW1wbGUuY29tIiwgMCwgIi8iLCAiIiwgImFiY2QiLCAiaHR0cDov
L3d3dy5leGFtcGxlLmNvbS8jYWJjZCJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovLzB4MTAwMDAw
MDAwLyIsIHsiaHR0cCIsICIiLCAiIiwgIjB4MTAwMDAwMDAwIiwgMCwgIi8iLCAiIiwgIiIsICJo
dHRwOi8vMHgxMDAwMDAwMDAvIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vMDAwMDAwMDAwMDAw
MDAwMDEwMDAwMDAwMDAwMDAwMDAwMS8iLCB7Imh0dHAiLCAiIiwgIiIsICIwMDAwMDAwMDAwMDAw
MDAwMTAwMDAwMDAwMDAwMDAwMDAxIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vMDAwMDAwMDAw
MDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwMS8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly8wNDAw
MDAwMDAwMDAvIiwgeyJodHRwIiwgIiIsICIiLCAiMDQwMDAwMDAwMDAwIiwgMCwgIi8iLCAiIiwg
IiIsICJodHRwOi8vMDQwMDAwMDAwMDAwLyJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovLzQyOTQ5
NjcyOTYvIiwgeyJodHRwIiwgIiIsICIiLCAiNDI5NDk2NzI5NiIsIDAsICIvIiwgIiIsICIiLCAi
aHR0cDovLzQyOTQ5NjcyOTYvIn0pOwogCiAgICAgLy8gVGhpcyBkaXNhZ3JlZXMgd2l0aCB0aGUg
d2ViIHBsYXRmb3JtIHRlc3QgZm9yIGh0dHA6Ly86QHd3dy5leGFtcGxlLmNvbSBidXQgYWdyZWVz
IHdpdGggQ2hyb21lIGFuZCBVUkw6OnBhcnNlLAogICAgIC8vIGFuZCBGaXJlZm94IGZhaWxzIHRo
ZSB3ZWIgcGxhdGZvcm0gdGVzdCBkaWZmZXJlbnRseS4gTWF5YmUgdGhlIHdlYiBwbGF0Zm9ybSB0
ZXN0IG91Z2h0IHRvIGJlIGNoYW5nZWQuCkBAIC02NjQsNiArNjc0LDI3IEBAIFRFU1RfRihVUkxQ
YXJzZXJUZXN0LCBQYXJzZXJEaWZmZXJlbmNlcykKICAgICBjaGVja1JlbGF0aXZlVVJMRGlmZmVy
ZW5jZXMoIi8vQ3wjZm9vL2JhciIsICJmaWxlOi8vL3RtcC9tb2NrL3BhdGgiLAogICAgICAgICB7
ImZpbGUiLCAiIiwgIiIsICIiLCAwLCAiL0M6LyIsICIiLCAiZm9vL2JhciIsICJmaWxlOi8vL0M6
LyNmb28vYmFyIn0sCiAgICAgICAgIHsiIiwgIiIsICIiLCAiIiwgMCwgIiIsICIiLCAiIiwgIi8v
Q3wjZm9vL2JhciJ9KTsKKyAgICBjaGVja1VSTERpZmZlcmVuY2VzKCJodHRwOi8vMHhGRkZGRmZG
Ri8iLAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICIyNTUuMjU1LjI1NS4yNTUiLCAwLCAiLyIs
ICIiLCAiIiwgImh0dHA6Ly8yNTUuMjU1LjI1NS4yNTUvIn0sCisgICAgICAgIHsiaHR0cCIsICIi
LCAiIiwgIjB4ZmZmZmZmZmYiLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8weGZmZmZmZmZmLyJ9
KTsKKyAgICBjaGVja1VSTERpZmZlcmVuY2VzKCJodHRwOi8vMDAwMDAwMDAwMDAwMDAwMDAzNzc3
Nzc3Nzc3Ny8iLAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICIyNTUuMjU1LjI1NS4yNTUiLCAw
LCAiLyIsICIiLCAiIiwgImh0dHA6Ly8yNTUuMjU1LjI1NS4yNTUvIn0sCisgICAgICAgIHsiaHR0
cCIsICIiLCAiIiwgIjAwMDAwMDAwMDAwMDAwMDAwMzc3Nzc3Nzc3NzciLCAwLCAiLyIsICIiLCAi
IiwgImh0dHA6Ly8wMDAwMDAwMDAwMDAwMDAwMDM3Nzc3Nzc3Nzc3LyJ9KTsKKyAgICBjaGVja1VS
TERpZmZlcmVuY2VzKCJodHRwOi8vNDI5NDk2NzI5NS8iLAorICAgICAgICB7Imh0dHAiLCAiIiwg
IiIsICIyNTUuMjU1LjI1NS4yNTUiLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8yNTUuMjU1LjI1
NS4yNTUvIn0sCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgIjQyOTQ5NjcyOTUiLCAwLCAiLyIs
ICIiLCAiIiwgImh0dHA6Ly80Mjk0OTY3Mjk1LyJ9KTsKKyAgICBjaGVja1VSTERpZmZlcmVuY2Vz
KCJodHRwOi8vMjU2LyIsCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgIjAuMC4xLjAiLCAwLCAi
LyIsICIiLCAiIiwgImh0dHA6Ly8wLjAuMS4wLyJ9LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIs
ICIyNTYiLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8yNTYvIn0pOworICAgIGNoZWNrVVJMRGlm
ZmVyZW5jZXMoImh0dHA6Ly8yNTYuLyIsCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgIjAuMC4x
LjAiLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8wLjAuMS4wLyJ9LAorICAgICAgICB7Imh0dHAi
LCAiIiwgIiIsICIyNTYuIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vMjU2Li8ifSk7CisgICAg
Y2hlY2tVUkxEaWZmZXJlbmNlcygiaHR0cDovLzEyMy4yNTYvIiwKKyAgICAgICAgeyJodHRwIiwg
IiIsICIiLCAiMTIzLjAuMS4wIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vMTIzLjAuMS4wLyJ9
LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICIxMjMuMjU2IiwgMCwgIi8iLCAiIiwgIiIsICJo
dHRwOi8vMTIzLjI1Ni8ifSk7CisgICAgY2hlY2tVUkxEaWZmZXJlbmNlcygiaHR0cDovLzEyNy4l
LjAuMS8iLAorICAgICAgICB7IiIsICIiLCAiIiwgIiIsIDAsICIiLCAiIiwgIiIsICJodHRwOi8v
MTI3LiUuMC4xLyJ9LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICIxMjcuJS4wLjEiLCAwLCAi
LyIsICIiLCAiIiwgImh0dHA6Ly8xMjcuJS4wLjEvIn0pOwogfQogCiBURVNUX0YoVVJMUGFyc2Vy
VGVzdCwgRGVmYXVsdFBvcnQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290124</attachid>
            <date>2016-09-28 14:52:00 -0700</date>
            <delta_ts>2016-09-28 14:54:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162655-20160928144900.patch</filename>
            <type>text/plain</type>
            <size>8338</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNjU0OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE2LTA5LTI4ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVVJMUGFyc2Vy
IHNob3VsZCBwcm9wZXJseSBoYW5kbGUgdW5leHBlY3RlZCBwZXJpb2RzIGFuZCBvdmVyZmxvd3Mg
aW4gSVB2NCBhZGRyZXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2MjY1NQorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgor
CisgICAgICAgIENvdmVyZWQgYnkgbmV3IEFQSSB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3Jt
L1VSTFBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpVUkxQYXJzZXI6OnBhcnNlSVB2NE51
bWJlcik6CisgICAgICAgIChXZWJDb3JlOjpVUkxQYXJzZXI6OnBhcnNlSVB2NEhvc3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL1VSTFBhcnNlci5oOgorCiAyMDE2LTA5LTI4ICBBbGV4IENocmlzdGVu
c2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVVJMUGFyc2VyIHNob3Vs
ZCBpZ25vcmUgdGFicyBpbiBhdXRob3JpdHkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1VSTFBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJM
UGFyc2VyLmNwcAkocmV2aXNpb24gMjA2NTQ5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VVJMUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk3NCw3ICsxOTc0LDYgQEAgdm9pZCBV
UkxQYXJzZXI6OnNlcmlhbGl6ZUlQdjYoVVJMUGFyc2VyOgogdGVtcGxhdGU8dHlwZW5hbWUgQ2hh
cmFjdGVyVHlwZT4KIE9wdGlvbmFsPHVpbnQzMl90PiBVUkxQYXJzZXI6OnBhcnNlSVB2NE51bWJl
cihDb2RlUG9pbnRJdGVyYXRvcjxDaGFyYWN0ZXJUeXBlPiYgaXRlcmF0b3IsIGNvbnN0IENvZGVQ
b2ludEl0ZXJhdG9yPENoYXJhY3RlclR5cGU+JiBpdGVyYXRvckZvclN5bnRheFZpb2xhdGlvblBv
c2l0aW9uKQogewotICAgIC8vIEZJWE1FOiBDaGVjayBmb3Igb3ZlcmZsb3cuCiAgICAgZW51bSBj
bGFzcyBTdGF0ZSA6IHVpbnQ4X3QgewogICAgICAgICBVbmtub3duQmFzZSwKICAgICAgICAgRGVj
aW1hbCwKQEAgLTE5ODMsMTEgKzE5ODIsMTUgQEAgT3B0aW9uYWw8dWludDMyX3Q+IFVSTFBhcnNl
cjo6cGFyc2VJUHY0TgogICAgICAgICBIZXgsCiAgICAgfTsKICAgICBTdGF0ZSBzdGF0ZSA9IFN0
YXRlOjpVbmtub3duQmFzZTsKLSAgICB1aW50MzJfdCB2YWx1ZSA9IDA7CisgICAgQ2hlY2tlZDx1
aW50MzJfdCwgUmVjb3JkT3ZlcmZsb3c+IHZhbHVlID0gMDsKKyAgICBpZiAoIWl0ZXJhdG9yLmF0
RW5kKCkgJiYgKml0ZXJhdG9yID09ICcuJykKKyAgICAgICAgcmV0dXJuIE51bGxvcHQ7CisgICAg
Ym9vbCBkaWRTZWVTeW50YXhWaW9sYXRpb24gPSBmYWxzZTsKICAgICB3aGlsZSAoIWl0ZXJhdG9y
LmF0RW5kKCkpIHsKICAgICAgICAgaWYgKCppdGVyYXRvciA9PSAnLicpIHsKICAgICAgICAgICAg
ICsraXRlcmF0b3I7Ci0gICAgICAgICAgICByZXR1cm4gdmFsdWU7CisgICAgICAgICAgICBBU1NF
UlQoIXZhbHVlLmhhc092ZXJmbG93ZWQoKSk7CisgICAgICAgICAgICByZXR1cm4gdmFsdWUudW5z
YWZlR2V0KCk7CiAgICAgICAgIH0KICAgICAgICAgc3dpdGNoIChzdGF0ZSkgewogICAgICAgICBj
YXNlIFN0YXRlOjpVbmtub3duQmFzZToKQEAgLTE5OTksNyArMjAwMiw3IEBAIE9wdGlvbmFsPHVp
bnQzMl90PiBVUkxQYXJzZXI6OnBhcnNlSVB2NE4KICAgICAgICAgICAgIHN0YXRlID0gU3RhdGU6
OkRlY2ltYWw7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBTdGF0ZTo6T2N0YWxP
ckhleDoKLSAgICAgICAgICAgIHN5bnRheFZpb2xhdGlvbihpdGVyYXRvckZvclN5bnRheFZpb2xh
dGlvblBvc2l0aW9uKTsKKyAgICAgICAgICAgIGRpZFNlZVN5bnRheFZpb2xhdGlvbiA9IHRydWU7
CiAgICAgICAgICAgICBpZiAoKml0ZXJhdG9yID09ICd4JyB8fCAqaXRlcmF0b3IgPT0gJ1gnKSB7
CiAgICAgICAgICAgICAgICAgKytpdGVyYXRvcjsKICAgICAgICAgICAgICAgICBzdGF0ZSA9IFN0
YXRlOjpIZXg7CkBAIC0yMDEyLDI3ICsyMDE1LDM2IEBAIE9wdGlvbmFsPHVpbnQzMl90PiBVUkxQ
YXJzZXI6OnBhcnNlSVB2NE4KICAgICAgICAgICAgICAgICByZXR1cm4gTnVsbG9wdDsKICAgICAg
ICAgICAgIHZhbHVlICo9IDEwOwogICAgICAgICAgICAgdmFsdWUgKz0gKml0ZXJhdG9yIC0gJzAn
OworICAgICAgICAgICAgaWYgKFVOTElLRUxZKHZhbHVlLmhhc092ZXJmbG93ZWQoKSkpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIE51bGxvcHQ7CiAgICAgICAgICAgICArK2l0ZXJhdG9yOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgU3RhdGU6Ok9jdGFsOgotICAgICAgICAgICAg
QVNTRVJUKG1fZGlkU2VlU3ludGF4VmlvbGF0aW9uKTsKKyAgICAgICAgICAgIEFTU0VSVChkaWRT
ZWVTeW50YXhWaW9sYXRpb24pOwogICAgICAgICAgICAgaWYgKCppdGVyYXRvciA8ICcwJyB8fCAq
aXRlcmF0b3IgPiAnNycpCiAgICAgICAgICAgICAgICAgcmV0dXJuIE51bGxvcHQ7CiAgICAgICAg
ICAgICB2YWx1ZSAqPSA4OwogICAgICAgICAgICAgdmFsdWUgKz0gKml0ZXJhdG9yIC0gJzAnOwor
ICAgICAgICAgICAgaWYgKFVOTElLRUxZKHZhbHVlLmhhc092ZXJmbG93ZWQoKSkpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIE51bGxvcHQ7CiAgICAgICAgICAgICArK2l0ZXJhdG9yOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgU3RhdGU6OkhleDoKLSAgICAgICAgICAgIEFTU0VS
VChtX2RpZFNlZVN5bnRheFZpb2xhdGlvbik7CisgICAgICAgICAgICBBU1NFUlQoZGlkU2VlU3lu
dGF4VmlvbGF0aW9uKTsKICAgICAgICAgICAgIGlmICghaXNBU0NJSUhleERpZ2l0KCppdGVyYXRv
cikpCiAgICAgICAgICAgICAgICAgcmV0dXJuIE51bGxvcHQ7CiAgICAgICAgICAgICB2YWx1ZSAq
PSAxNjsKICAgICAgICAgICAgIHZhbHVlICs9IHRvQVNDSUlIZXhWYWx1ZSgqaXRlcmF0b3IpOwor
ICAgICAgICAgICAgaWYgKFVOTElLRUxZKHZhbHVlLmhhc092ZXJmbG93ZWQoKSkpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIE51bGxvcHQ7CiAgICAgICAgICAgICArK2l0ZXJhdG9yOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9Ci0gICAgcmV0dXJuIHZhbHVlOworICAgIGlm
IChkaWRTZWVTeW50YXhWaW9sYXRpb24pCisgICAgICAgIHN5bnRheFZpb2xhdGlvbihpdGVyYXRv
ckZvclN5bnRheFZpb2xhdGlvblBvc2l0aW9uKTsKKyAgICBBU1NFUlQoIXZhbHVlLmhhc092ZXJm
bG93ZWQoKSk7CisgICAgcmV0dXJuIHZhbHVlLnVuc2FmZUdldCgpOwogfQogCiBBTFdBWVNfSU5M
SU5FIHN0YXRpYyB1aW50NjRfdCBwb3cyNTYoc2l6ZV90IGV4cG9uZW50KQpAQCAtMjA2OSw3ICsy
MDgxLDcgQEAgT3B0aW9uYWw8VVJMUGFyc2VyOjpJUHY0QWRkcmVzcz4gVVJMUGFycwogICAgICAg
ICByZXR1cm4gTnVsbG9wdDsKICAgICBmb3IgKGF1dG8gaXRlbSA6IGl0ZW1zKSB7CiAgICAgICAg
IGlmIChpdGVtID4gMjU1KQotICAgICAgICAgICAgcmV0dXJuIE51bGxvcHQ7CisgICAgICAgICAg
ICBzeW50YXhWaW9sYXRpb24oaG9zdEJlZ2luKTsKICAgICB9CiAKICAgICBpZiAoVU5MSUtFTFko
aXRlbXMuc2l6ZSgpICE9IDQpKQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjA2NTQ5KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTYtMDktMjggIEFsZXggQ2hyaXN0ZW5z
ZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVUkxQYXJzZXIgc2hvdWxk
IHByb3Blcmx5IGhhbmRsZSB1bmV4cGVjdGVkIHBlcmlvZHMgYW5kIG92ZXJmbG93cyBpbiBJUHY0
IGFkZHJlc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTYyNjU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCisKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvVVJMUGFyc2VyLmNwcDoKKyAgICAgICAg
KFRlc3RXZWJLaXRBUEk6OlRFU1RfRik6CisKIDIwMTYtMDktMjggIEFsZXggQ2hyaXN0ZW5zZW4g
IDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBVUkxQYXJzZXIgc2hvdWxkIGln
bm9yZSB0YWJzIGluIGF1dGhvcml0eQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJDb3JlL1VSTFBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJDb3JlL1VSTFBhcnNlci5jcHAJKHJldmlzaW9uIDIwNjU0OSkKKysrIFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9VUkxQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNDQsOSArMjQ0LDE1IEBAIFRFU1RfRihVUkxQYXJzZXJUZXN0LCBCYXNpYykKICAgICBjaGVj
a1VSTCgibm90c3BlY2lhbDovYSIsIHsibm90c3BlY2lhbCIsICIiLCAiIiwgIiIsIDAsICIvYSIs
ICIiLCAiIiwgIm5vdHNwZWNpYWw6L2EifSk7CiAgICAgY2hlY2tVUkwoIm5vdHNwZWNpYWw6Iiwg
eyJub3RzcGVjaWFsIiwgIiIsICIiLCAiIiwgMCwgIiIsICIiLCAiIiwgIm5vdHNwZWNpYWw6In0p
OwogICAgIGNoZWNrVVJMKCJodHRwOi9hIiwgeyJodHRwIiwgIiIsICIiLCAiYSIsIDAsICIvIiwg
IiIsICIiLCAiaHR0cDovL2EvIn0pOwotICAgIGNoZWNrVVJMKCJodHRwOi8vMjU2LyIsIHsiaHR0
cCIsICIiLCAiIiwgIjI1NiIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDovLzI1Ni8ifSk7Ci0gICAg
Y2hlY2tVUkwoImh0dHA6Ly8yNTYuLyIsIHsiaHR0cCIsICIiLCAiIiwgIjI1Ni4iLCAwLCAiLyIs
ICIiLCAiIiwgImh0dHA6Ly8yNTYuLyJ9KTsKLSAgICBjaGVja1VSTCgiaHR0cDovLzEyMy4yNTYv
IiwgeyJodHRwIiwgIiIsICIiLCAiMTIzLjI1NiIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDovLzEy
My4yNTYvIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vMjU2Li4vIiwgeyJodHRwIiwgIiIsICIi
LCAiMjU2Li4iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8yNTYuLi8ifSk7CisgICAgY2hlY2tV
UkwoImh0dHA6Ly8yNTYuLiIsIHsiaHR0cCIsICIiLCAiIiwgIjI1Ni4uIiwgMCwgIi8iLCAiIiwg
IiIsICJodHRwOi8vMjU2Li4vIn0pOworICAgIGNoZWNrVVJMKCJodHRwOi8vMTI3Li4xLyIsIHsi
aHR0cCIsICIiLCAiIiwgIjEyNy4uMSIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDovLzEyNy4uMS8i
fSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly8xMjcuYS4wLjEvIiwgeyJodHRwIiwgIiIsICIiLCAi
MTI3LmEuMC4xIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vMTI3LmEuMC4xLyJ9KTsKKyAgICBj
aGVja1VSTCgiaHR0cDovLzEyNy4wLjAuMS8iLCB7Imh0dHAiLCAiIiwgIiIsICIxMjcuMC4wLjEi
LCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8xMjcuMC4wLjEvIn0pOworICAgIGNoZWNrVVJMKCJo
dHRwOi8vMTJcdDcuMC4wLjEvIiwgeyJodHRwIiwgIiIsICIiLCAiMTI3LjAuMC4xIiwgMCwgIi8i
LCAiIiwgIiIsICJodHRwOi8vMTI3LjAuMC4xLyJ9KTsKKyAgICBjaGVja1VSTCgiaHR0cDovLzEy
Ny5cdDAuMC4xLyIsIHsiaHR0cCIsICIiLCAiIiwgIjEyNy4wLjAuMSIsIDAsICIvIiwgIiIsICIi
LCAiaHR0cDovLzEyNy4wLjAuMS8ifSk7CisgICAgY2hlY2tVUkwoImh0dHA6Ly8uLyIsIHsiaHR0
cCIsICIiLCAiIiwgIi4iLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8uLyJ9KTsKKyAgICBjaGVj
a1VSTCgiaHR0cDovLy4iLCB7Imh0dHAiLCAiIiwgIiIsICIuIiwgMCwgIi8iLCAiIiwgIiIsICJo
dHRwOi8vLi8ifSk7CiAgICAgY2hlY2tVUkwoImh0dHA6Ly8xMjNcdC4yNTYvIiwgeyJodHRwIiwg
IiIsICIiLCAiMTIzLjI1NiIsIDAsICIvIiwgIiIsICIiLCAiaHR0cDovLzEyMy4yNTYvIn0pOwog
ICAgIGNoZWNrVVJMKCJodHRwOi8vMTIzLlx0MjU2LyIsIHsiaHR0cCIsICIiLCAiIiwgIjEyMy4y
NTYiLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8xMjMuMjU2LyJ9KTsKICAgICBjaGVja1VSTCgi
bm90c3BlY2lhbDovYSIsIHsibm90c3BlY2lhbCIsICIiLCAiIiwgIiIsIDAsICIvYSIsICIiLCAi
IiwgIm5vdHNwZWNpYWw6L2EifSk7CkBAIC02NzcsNiArNjgzLDI3IEBAIFRFU1RfRihVUkxQYXJz
ZXJUZXN0LCBQYXJzZXJEaWZmZXJlbmNlcykKICAgICBjaGVja1JlbGF0aXZlVVJMRGlmZmVyZW5j
ZXMoIi8vQ3wjZm9vL2JhciIsICJmaWxlOi8vL3RtcC9tb2NrL3BhdGgiLAogICAgICAgICB7ImZp
bGUiLCAiIiwgIiIsICIiLCAwLCAiL0M6LyIsICIiLCAiZm9vL2JhciIsICJmaWxlOi8vL0M6LyNm
b28vYmFyIn0sCiAgICAgICAgIHsiIiwgIiIsICIiLCAiIiwgMCwgIiIsICIiLCAiIiwgIi8vQ3wj
Zm9vL2JhciJ9KTsKKyAgICBjaGVja1VSTERpZmZlcmVuY2VzKCJodHRwOi8vMHhGRkZGRmZGRi8i
LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICIyNTUuMjU1LjI1NS4yNTUiLCAwLCAiLyIsICIi
LCAiIiwgImh0dHA6Ly8yNTUuMjU1LjI1NS4yNTUvIn0sCisgICAgICAgIHsiaHR0cCIsICIiLCAi
IiwgIjB4ZmZmZmZmZmYiLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8weGZmZmZmZmZmLyJ9KTsK
KyAgICBjaGVja1VSTERpZmZlcmVuY2VzKCJodHRwOi8vMDAwMDAwMDAwMDAwMDAwMDAzNzc3Nzc3
Nzc3Ny8iLAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICIyNTUuMjU1LjI1NS4yNTUiLCAwLCAi
LyIsICIiLCAiIiwgImh0dHA6Ly8yNTUuMjU1LjI1NS4yNTUvIn0sCisgICAgICAgIHsiaHR0cCIs
ICIiLCAiIiwgIjAwMDAwMDAwMDAwMDAwMDAwMzc3Nzc3Nzc3NzciLCAwLCAiLyIsICIiLCAiIiwg
Imh0dHA6Ly8wMDAwMDAwMDAwMDAwMDAwMDM3Nzc3Nzc3Nzc3LyJ9KTsKKyAgICBjaGVja1VSTERp
ZmZlcmVuY2VzKCJodHRwOi8vNDI5NDk2NzI5NS8iLAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIs
ICIyNTUuMjU1LjI1NS4yNTUiLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8yNTUuMjU1LjI1NS4y
NTUvIn0sCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgIjQyOTQ5NjcyOTUiLCAwLCAiLyIsICIi
LCAiIiwgImh0dHA6Ly80Mjk0OTY3Mjk1LyJ9KTsKKyAgICBjaGVja1VSTERpZmZlcmVuY2VzKCJo
dHRwOi8vMjU2LyIsCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgIjAuMC4xLjAiLCAwLCAiLyIs
ICIiLCAiIiwgImh0dHA6Ly8wLjAuMS4wLyJ9LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICIy
NTYiLCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8yNTYvIn0pOworICAgIGNoZWNrVVJMRGlmZmVy
ZW5jZXMoImh0dHA6Ly8yNTYuLyIsCisgICAgICAgIHsiaHR0cCIsICIiLCAiIiwgIjAuMC4xLjAi
LCAwLCAiLyIsICIiLCAiIiwgImh0dHA6Ly8wLjAuMS4wLyJ9LAorICAgICAgICB7Imh0dHAiLCAi
IiwgIiIsICIyNTYuIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vMjU2Li8ifSk7CisgICAgY2hl
Y2tVUkxEaWZmZXJlbmNlcygiaHR0cDovLzEyMy4yNTYvIiwKKyAgICAgICAgeyJodHRwIiwgIiIs
ICIiLCAiMTIzLjAuMS4wIiwgMCwgIi8iLCAiIiwgIiIsICJodHRwOi8vMTIzLjAuMS4wLyJ9LAor
ICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICIxMjMuMjU2IiwgMCwgIi8iLCAiIiwgIiIsICJodHRw
Oi8vMTIzLjI1Ni8ifSk7CisgICAgY2hlY2tVUkxEaWZmZXJlbmNlcygiaHR0cDovLzEyNy4lLjAu
MS8iLAorICAgICAgICB7IiIsICIiLCAiIiwgIiIsIDAsICIiLCAiIiwgIiIsICJodHRwOi8vMTI3
LiUuMC4xLyJ9LAorICAgICAgICB7Imh0dHAiLCAiIiwgIiIsICIxMjcuJS4wLjEiLCAwLCAiLyIs
ICIiLCAiIiwgImh0dHA6Ly8xMjcuJS4wLjEvIn0pOwogfQogCiBURVNUX0YoVVJMUGFyc2VyVGVz
dCwgRGVmYXVsdFBvcnQpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>