<?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>169802</bug_id>
          
          <creation_ts>2017-03-16 18:15:07 -0700</creation_ts>
          <short_desc>Use completion handlers instead of return values for sending websocket data</short_desc>
          <delta_ts>2017-03-17 08:57:54 -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>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1288882</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-03-16 18:15:07 -0700</bug_when>
    <thetext>Use completion handlers instead of return values for sending websocket data</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288883</commentid>
    <comment_count>1</comment_count>
      <attachid>304731</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-03-16 18:15:51 -0700</bug_when>
    <thetext>Created attachment 304731
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288931</commentid>
    <comment_count>2</comment_count>
      <attachid>304752</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-03-16 21:42:34 -0700</bug_when>
    <thetext>Created attachment 304752
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288945</commentid>
    <comment_count>3</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-03-16 22:39:40 -0700</bug_when>
    <thetext>I don&apos;t understand why GTK fails to build.  Could someone look at it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288953</commentid>
    <comment_count>4</comment_count>
      <attachid>304761</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-03-17 00:18:03 -0700</bug_when>
    <thetext>Created attachment 304761
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288963</commentid>
    <comment_count>5</comment_count>
      <attachid>304766</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-03-17 01:31:20 -0700</bug_when>
    <thetext>Created attachment 304766
Fix GTK+ build

Function.h needs to be included in WebSocketServerConnection.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288971</commentid>
    <comment_count>6</comment_count>
      <attachid>304766</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-03-17 02:46:36 -0700</bug_when>
    <thetext>Comment on attachment 304766
Fix GTK+ build

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289012</commentid>
    <comment_count>7</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-03-17 08:57:36 -0700</bug_when>
    <thetext>http://trac.webkit.org/r214106</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289013</commentid>
    <comment_count>8</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-03-17 08:57:54 -0700</bug_when>
    <thetext>Thanks Carlos!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304731</attachid>
            <date>2017-03-16 18:15:51 -0700</date>
            <delta_ts>2017-03-16 21:42:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169802-20170316181550.patch</filename>
            <type>text/plain</type>
            <size>9102</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNDA4NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE3LTAzLTE2ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNlIGNvbXBs
ZXRpb24gaGFuZGxlcnMgaW5zdGVhZCBvZiByZXR1cm4gdmFsdWVzIGZvciBzZW5kaW5nIHdlYnNv
Y2tldCBkYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjk4MDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IsIGJ1dCB0aGlzIGlzIGEgYmFieSBzdGVwIHRvd2FyZHMg
bWFraW5nIHRoaW5ncyBtb3JlIGFzeW5jaHJvbm91cy4KKworICAgICAgICAqIE1vZHVsZXMvd2Vi
c29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tl
dENoYW5uZWw6OmRpZE9wZW5Tb2NrZXRTdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29j
a2V0Q2hhbm5lbDo6cHJvY2Vzc091dGdvaW5nRnJhbWVRdWV1ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXRDaGFubmVsOjpzZW5kRnJhbWUpOgorICAgICAgICAqIE1vZHVsZXMvd2Vic29j
a2V0cy9XZWJTb2NrZXRDaGFubmVsLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9Tb2Nr
ZXRTdHJlYW1IYW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxl
OjpzZW5kKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZS5o
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFtSGFuZGxlSW1wbC5o
OgorCiAyMDE3LTAzLTE2ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAg
ICBXZWJHTDogSW1wcm92ZSBpbmRleCB2YWxpZGF0aW9uIHdoZW4gdXNpbmcgdWludCBpbmRleCB2
YWx1ZXMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRD
aGFubmVsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAJKHJldmlzaW9uIDIxNDA3MykKKysrIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjc4LDggKzI3OCwxMCBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZE9wZW5Tb2Nr
ZXRTdHJlCiAgICAgaWYgKG1faWRlbnRpZmllcikKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjp3aWxsU2VuZFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3QobV9kb2N1bWVudCwgbV9p
ZGVudGlmaWVyLCBtX2hhbmRzaGFrZS0+Y2xpZW50SGFuZHNoYWtlUmVxdWVzdCgpKTsKICAgICBD
U3RyaW5nIGhhbmRzaGFrZU1lc3NhZ2UgPSBtX2hhbmRzaGFrZS0+Y2xpZW50SGFuZHNoYWtlTWVz
c2FnZSgpOwotICAgIGlmICghaGFuZGxlLnNlbmQoaGFuZHNoYWtlTWVzc2FnZS5kYXRhKCksIGhh
bmRzaGFrZU1lc3NhZ2UubGVuZ3RoKCkpKQotICAgICAgICBmYWlsKCJGYWlsZWQgdG8gc2VuZCBX
ZWJTb2NrZXQgaGFuZHNoYWtlLiIpOworICAgIGhhbmRsZS5zZW5kKGhhbmRzaGFrZU1lc3NhZ2Uu
ZGF0YSgpLCBoYW5kc2hha2VNZXNzYWdlLmxlbmd0aCgpLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9
IG1ha2VSZWYoKnRoaXMpXSAoYm9vbCBzdWNjZXNzKSB7CisgICAgICAgIGlmICghc3VjY2VzcykK
KyAgICAgICAgICAgIGZhaWwoIkZhaWxlZCB0byBzZW5kIFdlYlNvY2tldCBoYW5kc2hha2UuIik7
CisgICAgfSk7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkQ2xvc2VTb2NrZXRTdHJl
YW0oU29ja2V0U3RyZWFtSGFuZGxlJiBoYW5kbGUpCkBAIC03NDIsMTQgKzc0NCwxOCBAQCB2b2lk
IFdlYlNvY2tldENoYW5uZWw6OnByb2Nlc3NPdXRnb2luZ0ZyCiAgICAgICAgIGF1dG8gZnJhbWUg
PSBtX291dGdvaW5nRnJhbWVRdWV1ZS50YWtlRmlyc3QoKTsKICAgICAgICAgc3dpdGNoIChmcmFt
ZS0+ZnJhbWVUeXBlKSB7CiAgICAgICAgIGNhc2UgUXVldWVkRnJhbWVUeXBlU3RyaW5nOiB7Ci0g
ICAgICAgICAgICBpZiAoIXNlbmRGcmFtZShmcmFtZS0+b3BDb2RlLCBmcmFtZS0+c3RyaW5nRGF0
YS5kYXRhKCksIGZyYW1lLT5zdHJpbmdEYXRhLmxlbmd0aCgpKSkKLSAgICAgICAgICAgICAgICBm
YWlsKCJGYWlsZWQgdG8gc2VuZCBXZWJTb2NrZXQgZnJhbWUuIik7CisgICAgICAgICAgICBzZW5k
RnJhbWUoZnJhbWUtPm9wQ29kZSwgZnJhbWUtPnN0cmluZ0RhdGEuZGF0YSgpLCBmcmFtZS0+c3Ry
aW5nRGF0YS5sZW5ndGgoKSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0g
KGJvb2wgc3VjY2VzcykgeworICAgICAgICAgICAgICAgIGlmICghc3VjY2VzcykKKyAgICAgICAg
ICAgICAgICAgICAgZmFpbCgiRmFpbGVkIHRvIHNlbmQgV2ViU29ja2V0IGZyYW1lLiIpOworICAg
ICAgICAgICAgfSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCiAgICAgICAgIGNh
c2UgUXVldWVkRnJhbWVUeXBlVmVjdG9yOgotICAgICAgICAgICAgaWYgKCFzZW5kRnJhbWUoZnJh
bWUtPm9wQ29kZSwgZnJhbWUtPnZlY3RvckRhdGEuZGF0YSgpLCBmcmFtZS0+dmVjdG9yRGF0YS5z
aXplKCkpKQotICAgICAgICAgICAgICAgIGZhaWwoIkZhaWxlZCB0byBzZW5kIFdlYlNvY2tldCBm
cmFtZS4iKTsKKyAgICAgICAgICAgIHNlbmRGcmFtZShmcmFtZS0+b3BDb2RlLCBmcmFtZS0+dmVj
dG9yRGF0YS5kYXRhKCksIGZyYW1lLT52ZWN0b3JEYXRhLnNpemUoKSwgW3RoaXMsIHByb3RlY3Rl
ZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0gKGJvb2wgc3VjY2VzcykgeworICAgICAgICAgICAgICAg
IGlmICghc3VjY2VzcykKKyAgICAgICAgICAgICAgICAgICAgZmFpbCgiRmFpbGVkIHRvIHNlbmQg
V2ViU29ja2V0IGZyYW1lLiIpOworICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICBicmVhazsK
IAogICAgICAgICBjYXNlIFF1ZXVlZEZyYW1lVHlwZUJsb2I6IHsKQEAgLTc3Myw4ICs3NzksMTAg
QEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpwcm9jZXNzT3V0Z29pbmdGcgogICAgICAgICAgICAg
ICAgIFJlZlB0cjxBcnJheUJ1ZmZlcj4gcmVzdWx0ID0gbV9ibG9iTG9hZGVyLT5hcnJheUJ1ZmZl
clJlc3VsdCgpOwogICAgICAgICAgICAgICAgIG1fYmxvYkxvYWRlciA9IG51bGxwdHI7CiAgICAg
ICAgICAgICAgICAgbV9ibG9iTG9hZGVyU3RhdHVzID0gQmxvYkxvYWRlck5vdFN0YXJ0ZWQ7Ci0g
ICAgICAgICAgICAgICAgaWYgKCFzZW5kRnJhbWUoZnJhbWUtPm9wQ29kZSwgc3RhdGljX2Nhc3Q8
Y29uc3QgY2hhcio+KHJlc3VsdC0+ZGF0YSgpKSwgcmVzdWx0LT5ieXRlTGVuZ3RoKCkpKQotICAg
ICAgICAgICAgICAgICAgICBmYWlsKCJGYWlsZWQgdG8gc2VuZCBXZWJTb2NrZXQgZnJhbWUuIik7
CisgICAgICAgICAgICAgICAgc2VuZEZyYW1lKGZyYW1lLT5vcENvZGUsIHN0YXRpY19jYXN0PGNv
bnN0IGNoYXIqPihyZXN1bHQtPmRhdGEoKSksIHJlc3VsdC0+Ynl0ZUxlbmd0aCgpLCBbdGhpcywg
cHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSAoYm9vbCBzdWNjZXNzKSB7CisgICAgICAg
ICAgICAgICAgICAgIGlmICghc3VjY2VzcykKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhaWwo
IkZhaWxlZCB0byBzZW5kIFdlYlNvY2tldCBmcmFtZS4iKTsKKyAgICAgICAgICAgICAgICB9KTsK
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KQEAg
LTgwNCw3ICs4MTIsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmFib3J0T3V0Z29pbmdGcmFt
CiAgICAgfQogfQogCi1ib29sIFdlYlNvY2tldENoYW5uZWw6OnNlbmRGcmFtZShXZWJTb2NrZXRG
cmFtZTo6T3BDb2RlIG9wQ29kZSwgY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgp
Cit2b2lkIFdlYlNvY2tldENoYW5uZWw6OnNlbmRGcmFtZShXZWJTb2NrZXRGcmFtZTo6T3BDb2Rl
IG9wQ29kZSwgY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIEZ1bmN0aW9uPHZv
aWQoYm9vbCk+IGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVChtX2hhbmRsZSk7CiAg
ICAgQVNTRVJUKCFtX3N1c3BlbmRlZCk7CkBAIC04MTUsMTMgKzgyMywxMyBAQCBib29sIFdlYlNv
Y2tldENoYW5uZWw6OnNlbmRGcmFtZShXZWJTb2NrCiAgICAgYXV0byBkZWZsYXRlUmVzdWx0ID0g
bV9kZWZsYXRlRnJhbWVyLmRlZmxhdGUoZnJhbWUpOwogICAgIGlmICghZGVmbGF0ZVJlc3VsdC0+
c3VjY2VlZGVkKCkpIHsKICAgICAgICAgZmFpbChkZWZsYXRlUmVzdWx0LT5mYWlsdXJlUmVhc29u
KCkpOwotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFu
ZGxlcihmYWxzZSk7CiAgICAgfQogCiAgICAgVmVjdG9yPGNoYXI+IGZyYW1lRGF0YTsKICAgICBm
cmFtZS5tYWtlRnJhbWVEYXRhKGZyYW1lRGF0YSk7CiAKLSAgICByZXR1cm4gbV9oYW5kbGUtPnNl
bmQoZnJhbWVEYXRhLmRhdGEoKSwgZnJhbWVEYXRhLnNpemUoKSk7CisgICAgbV9oYW5kbGUtPnNl
bmQoZnJhbWVEYXRhLmRhdGEoKSwgZnJhbWVEYXRhLnNpemUoKSwgV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlcikpOwogfQogCiB9ICAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCShy
ZXZpc2lvbiAyMTQwNzMpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2Vi
U29ja2V0Q2hhbm5lbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzMsNyArMTczLDcgQEAgcHJpdmF0
ZToKIAogICAgIC8vIElmIHlvdSBhcmUgZ29pbmcgdG8gc2VuZCBhIGh5YmktMTAgZnJhbWUsIHlv
dSBuZWVkIHRvIHVzZSB0aGUgb3V0Z29pbmcgZnJhbWUgcXVldWUKICAgICAvLyBpbnN0ZWFkIG9m
IGNhbGwgc2VuZEZyYW1lKCkgZGlyZWN0bHkuCi0gICAgYm9vbCBzZW5kRnJhbWUoV2ViU29ja2V0
RnJhbWU6Ok9wQ29kZSwgY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgpOworICAg
IHZvaWQgc2VuZEZyYW1lKFdlYlNvY2tldEZyYW1lOjpPcENvZGUsIGNvbnN0IGNoYXIqIGRhdGEs
IHNpemVfdCBkYXRhTGVuZ3RoLCBGdW5jdGlvbjx2b2lkKGJvb2wpPiBjb21wbGV0aW9uSGFuZGxl
cik7CiAKICAgICBlbnVtIEJsb2JMb2FkZXJTdGF0dXMgewogICAgICAgICBCbG9iTG9hZGVyTm90
U3RhcnRlZCwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3Ry
ZWFtSGFuZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1NvY2tldFN0cmVhbUhhbmRsZS5jcHAJKHJldmlzaW9uIDIxMzk2MCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIlNvY2tldFN0cmVhbUhhbmRsZS5oIgog
CiAjaW5jbHVkZSAiU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50LmgiCisjaW5jbHVkZSA8d3RmL0Z1
bmN0aW9uLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDksMzUgKzUwLDM1IEBAIFNv
Y2tldFN0cmVhbUhhbmRsZTo6U29ja2V0U3RyZWFtU3RhdGUgU28KICAgICByZXR1cm4gbV9zdGF0
ZTsKIH0KIAotYm9vbCBTb2NrZXRTdHJlYW1IYW5kbGU6OnNlbmQoY29uc3QgY2hhciogZGF0YSwg
c2l6ZV90IGxlbmd0aCkKK3ZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjpzZW5kKGNvbnN0IGNoYXIq
IGRhdGEsIHNpemVfdCBsZW5ndGgsIEZ1bmN0aW9uPHZvaWQoYm9vbCk+IGNvbXBsZXRpb25IYW5k
bGVyKQogewogICAgIGlmIChtX3N0YXRlID09IENvbm5lY3RpbmcgfHwgbV9zdGF0ZSA9PSBDbG9z
aW5nKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFu
ZGxlcihmYWxzZSk7CiAgICAgaWYgKCFtX2J1ZmZlci5pc0VtcHR5KCkpIHsKICAgICAgICAgaWYg
KG1fYnVmZmVyLnNpemUoKSArIGxlbmd0aCA+IGJ1ZmZlclNpemUpIHsKICAgICAgICAgICAgIC8v
IEZJWE1FOiByZXBvcnQgZXJyb3IgdG8gaW5kaWNhdGUgdGhhdCBidWZmZXIgaGFzIG5vIG1vcmUg
c3BhY2UuCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4gY29t
cGxldGlvbkhhbmRsZXIoZmFsc2UpOwogICAgICAgICB9CiAgICAgICAgIG1fYnVmZmVyLmFwcGVu
ZChkYXRhLCBsZW5ndGgpOwogICAgICAgICBtX2NsaWVudC5kaWRVcGRhdGVCdWZmZXJlZEFtb3Vu
dChzdGF0aWNfY2FzdDxTb2NrZXRTdHJlYW1IYW5kbGUmPigqdGhpcyksIGJ1ZmZlcmVkQW1vdW50
KCkpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5k
bGVyKHRydWUpOwogICAgIH0KICAgICBzaXplX3QgYnl0ZXNXcml0dGVuID0gMDsKICAgICBpZiAo
bV9zdGF0ZSA9PSBPcGVuKSB7CiAgICAgICAgIGlmIChhdXRvIHJlc3VsdCA9IHBsYXRmb3JtU2Vu
ZChkYXRhLCBsZW5ndGgpKQogICAgICAgICAgICAgYnl0ZXNXcml0dGVuID0gcmVzdWx0LnZhbHVl
KCk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAg
IHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAgICAgfQogICAgIGlmIChtX2J1ZmZl
ci5zaXplKCkgKyBsZW5ndGggLSBieXRlc1dyaXR0ZW4gPiBidWZmZXJTaXplKSB7CiAgICAgICAg
IC8vIEZJWE1FOiByZXBvcnQgZXJyb3IgdG8gaW5kaWNhdGUgdGhhdCBidWZmZXIgaGFzIG5vIG1v
cmUgc3BhY2UuCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRp
b25IYW5kbGVyKGZhbHNlKTsKICAgICB9CiAgICAgaWYgKGJ5dGVzV3JpdHRlbiA8IGxlbmd0aCkg
ewogICAgICAgICBtX2J1ZmZlci5hcHBlbmQoZGF0YSArIGJ5dGVzV3JpdHRlbiwgbGVuZ3RoIC0g
Ynl0ZXNXcml0dGVuKTsKICAgICAgICAgbV9jbGllbnQuZGlkVXBkYXRlQnVmZmVyZWRBbW91bnQo
c3RhdGljX2Nhc3Q8U29ja2V0U3RyZWFtSGFuZGxlJj4oKnRoaXMpLCBidWZmZXJlZEFtb3VudCgp
KTsKICAgICB9Ci0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVy
KHRydWUpOwogfQogCiB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZTo6Y2xvc2UoKQpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRs
ZS5oCShyZXZpc2lvbiAyMTM5NjApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1NvY2tldFN0cmVhbUhhbmRsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5Tb2NrZXRTdHJlYW1IYW5kbGUoKSB7IH0KICAgICBTb2NrZXRT
dHJlYW1TdGF0ZSBzdGF0ZSgpIGNvbnN0OwogCi0gICAgYm9vbCBzZW5kKGNvbnN0IGNoYXIqIGRh
dGEsIHNpemVfdCBsZW5ndGgpOworICAgIHZvaWQgc2VuZChjb25zdCBjaGFyKiBkYXRhLCBzaXpl
X3QgbGVuZ3RoLCBGdW5jdGlvbjx2b2lkKGJvb2wpPik7CiAgICAgdm9pZCBjbG9zZSgpOyAvLyBE
aXNjb25uZWN0IGFmdGVyIGFsbCBkYXRhIGluIGJ1ZmZlciBhcmUgc2VudC4KICAgICB2b2lkIGRp
c2Nvbm5lY3QoKTsKICAgICBzaXplX3QgYnVmZmVyZWRBbW91bnQoKSBjb25zdCB7IHJldHVybiBt
X2J1ZmZlci5zaXplKCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y2YvU29ja2V0U3RyZWFtSGFuZGxlSW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFtSGFuZGxlSW1wbC5oCShyZXZpc2lvbiAy
MTM5NjApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1NvY2tldFN0cmVh
bUhhbmRsZUltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtNTAsOCArNTAsOCBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB+U29ja2V0U3RyZWFtSGFuZGxlSW1wbCgpOwogCiBwcml2YXRlOgotICAgIHZp
cnR1YWwgc3RkOjpvcHRpb25hbDxzaXplX3Q+IHBsYXRmb3JtU2VuZChjb25zdCBjaGFyKiBkYXRh
LCBzaXplX3QgbGVuZ3RoKTsKLSAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1DbG9zZSgpOworICAg
IHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBwbGF0Zm9ybVNlbmQoY29uc3QgY2hhciogZGF0YSwgc2l6
ZV90IGxlbmd0aCkgZmluYWw7CisgICAgdm9pZCBwbGF0Zm9ybUNsb3NlKCkgZmluYWw7CiAKICAg
ICBXRUJDT1JFX0VYUE9SVCBTb2NrZXRTdHJlYW1IYW5kbGVJbXBsKGNvbnN0IFVSTCYsIFNvY2tl
dFN0cmVhbUhhbmRsZUNsaWVudCYsIFNlc3Npb25JRCwgY29uc3QgU3RyaW5nJiBjcmVkZW50aWFs
UGFydGl0aW9uKTsKICAgICB2b2lkIGNyZWF0ZVN0cmVhbXMoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304752</attachid>
            <date>2017-03-16 21:42:34 -0700</date>
            <delta_ts>2017-03-17 01:31:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169802-20170316214233.patch</filename>
            <type>text/plain</type>
            <size>11112</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNDA5MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE3LTAzLTE2ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNlIGNvbXBs
ZXRpb24gaGFuZGxlcnMgaW5zdGVhZCBvZiByZXR1cm4gdmFsdWVzIGZvciBzZW5kaW5nIHdlYnNv
Y2tldCBkYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjk4MDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IsIGJ1dCB0aGlzIGlzIGEgYmFieSBzdGVwIHRvd2FyZHMg
bWFraW5nIHRoaW5ncyBtb3JlIGFzeW5jaHJvbm91cy4KKworICAgICAgICAqIE1vZHVsZXMvd2Vi
c29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tl
dENoYW5uZWw6OmRpZE9wZW5Tb2NrZXRTdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29j
a2V0Q2hhbm5lbDo6cHJvY2Vzc091dGdvaW5nRnJhbWVRdWV1ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXRDaGFubmVsOjpzZW5kRnJhbWUpOgorICAgICAgICAqIE1vZHVsZXMvd2Vic29j
a2V0cy9XZWJTb2NrZXRDaGFubmVsLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9Tb2Nr
ZXRTdHJlYW1IYW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxl
OjpzZW5kKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZS5o
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFtSGFuZGxlSW1wbC5o
OgorCiAyMDE3LTAzLTE2ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgRml4IEdUSyBidWlsZC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAJKHJldmlzaW9u
IDIxNDA3MykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRD
aGFubmVsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjc4LDggKzI3OCwxMCBAQCB2b2lkIFdlYlNv
Y2tldENoYW5uZWw6OmRpZE9wZW5Tb2NrZXRTdHJlCiAgICAgaWYgKG1faWRlbnRpZmllcikKICAg
ICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU2VuZFdlYlNvY2tldEhhbmRzaGFr
ZVJlcXVlc3QobV9kb2N1bWVudCwgbV9pZGVudGlmaWVyLCBtX2hhbmRzaGFrZS0+Y2xpZW50SGFu
ZHNoYWtlUmVxdWVzdCgpKTsKICAgICBDU3RyaW5nIGhhbmRzaGFrZU1lc3NhZ2UgPSBtX2hhbmRz
aGFrZS0+Y2xpZW50SGFuZHNoYWtlTWVzc2FnZSgpOwotICAgIGlmICghaGFuZGxlLnNlbmQoaGFu
ZHNoYWtlTWVzc2FnZS5kYXRhKCksIGhhbmRzaGFrZU1lc3NhZ2UubGVuZ3RoKCkpKQotICAgICAg
ICBmYWlsKCJGYWlsZWQgdG8gc2VuZCBXZWJTb2NrZXQgaGFuZHNoYWtlLiIpOworICAgIGhhbmRs
ZS5zZW5kKGhhbmRzaGFrZU1lc3NhZ2UuZGF0YSgpLCBoYW5kc2hha2VNZXNzYWdlLmxlbmd0aCgp
LCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSAoYm9vbCBzdWNjZXNzKSB7
CisgICAgICAgIGlmICghc3VjY2VzcykKKyAgICAgICAgICAgIGZhaWwoIkZhaWxlZCB0byBzZW5k
IFdlYlNvY2tldCBoYW5kc2hha2UuIik7CisgICAgfSk7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hh
bm5lbDo6ZGlkQ2xvc2VTb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlJiBoYW5kbGUpCkBA
IC03NDIsMTQgKzc0NCwxOCBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OnByb2Nlc3NPdXRnb2lu
Z0ZyCiAgICAgICAgIGF1dG8gZnJhbWUgPSBtX291dGdvaW5nRnJhbWVRdWV1ZS50YWtlRmlyc3Qo
KTsKICAgICAgICAgc3dpdGNoIChmcmFtZS0+ZnJhbWVUeXBlKSB7CiAgICAgICAgIGNhc2UgUXVl
dWVkRnJhbWVUeXBlU3RyaW5nOiB7Ci0gICAgICAgICAgICBpZiAoIXNlbmRGcmFtZShmcmFtZS0+
b3BDb2RlLCBmcmFtZS0+c3RyaW5nRGF0YS5kYXRhKCksIGZyYW1lLT5zdHJpbmdEYXRhLmxlbmd0
aCgpKSkKLSAgICAgICAgICAgICAgICBmYWlsKCJGYWlsZWQgdG8gc2VuZCBXZWJTb2NrZXQgZnJh
bWUuIik7CisgICAgICAgICAgICBzZW5kRnJhbWUoZnJhbWUtPm9wQ29kZSwgZnJhbWUtPnN0cmlu
Z0RhdGEuZGF0YSgpLCBmcmFtZS0+c3RyaW5nRGF0YS5sZW5ndGgoKSwgW3RoaXMsIHByb3RlY3Rl
ZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0gKGJvb2wgc3VjY2VzcykgeworICAgICAgICAgICAgICAg
IGlmICghc3VjY2VzcykKKyAgICAgICAgICAgICAgICAgICAgZmFpbCgiRmFpbGVkIHRvIHNlbmQg
V2ViU29ja2V0IGZyYW1lLiIpOworICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfQogCiAgICAgICAgIGNhc2UgUXVldWVkRnJhbWVUeXBlVmVjdG9yOgotICAgICAg
ICAgICAgaWYgKCFzZW5kRnJhbWUoZnJhbWUtPm9wQ29kZSwgZnJhbWUtPnZlY3RvckRhdGEuZGF0
YSgpLCBmcmFtZS0+dmVjdG9yRGF0YS5zaXplKCkpKQotICAgICAgICAgICAgICAgIGZhaWwoIkZh
aWxlZCB0byBzZW5kIFdlYlNvY2tldCBmcmFtZS4iKTsKKyAgICAgICAgICAgIHNlbmRGcmFtZShm
cmFtZS0+b3BDb2RlLCBmcmFtZS0+dmVjdG9yRGF0YS5kYXRhKCksIGZyYW1lLT52ZWN0b3JEYXRh
LnNpemUoKSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0gKGJvb2wgc3Vj
Y2VzcykgeworICAgICAgICAgICAgICAgIGlmICghc3VjY2VzcykKKyAgICAgICAgICAgICAgICAg
ICAgZmFpbCgiRmFpbGVkIHRvIHNlbmQgV2ViU29ja2V0IGZyYW1lLiIpOworICAgICAgICAgICAg
fSk7CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIFF1ZXVlZEZyYW1lVHlwZUJs
b2I6IHsKQEAgLTc3Myw4ICs3NzksMTAgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpwcm9jZXNz
T3V0Z29pbmdGcgogICAgICAgICAgICAgICAgIFJlZlB0cjxBcnJheUJ1ZmZlcj4gcmVzdWx0ID0g
bV9ibG9iTG9hZGVyLT5hcnJheUJ1ZmZlclJlc3VsdCgpOwogICAgICAgICAgICAgICAgIG1fYmxv
YkxvYWRlciA9IG51bGxwdHI7CiAgICAgICAgICAgICAgICAgbV9ibG9iTG9hZGVyU3RhdHVzID0g
QmxvYkxvYWRlck5vdFN0YXJ0ZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKCFzZW5kRnJhbWUoZnJh
bWUtPm9wQ29kZSwgc3RhdGljX2Nhc3Q8Y29uc3QgY2hhcio+KHJlc3VsdC0+ZGF0YSgpKSwgcmVz
dWx0LT5ieXRlTGVuZ3RoKCkpKQotICAgICAgICAgICAgICAgICAgICBmYWlsKCJGYWlsZWQgdG8g
c2VuZCBXZWJTb2NrZXQgZnJhbWUuIik7CisgICAgICAgICAgICAgICAgc2VuZEZyYW1lKGZyYW1l
LT5vcENvZGUsIHN0YXRpY19jYXN0PGNvbnN0IGNoYXIqPihyZXN1bHQtPmRhdGEoKSksIHJlc3Vs
dC0+Ynl0ZUxlbmd0aCgpLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSAo
Ym9vbCBzdWNjZXNzKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICghc3VjY2VzcykKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGZhaWwoIkZhaWxlZCB0byBzZW5kIFdlYlNvY2tldCBmcmFtZS4i
KTsKKyAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIH0KQEAgLTgwNCw3ICs4MTIsNyBAQCB2b2lkIFdlYlNvY2tldENo
YW5uZWw6OmFib3J0T3V0Z29pbmdGcmFtCiAgICAgfQogfQogCi1ib29sIFdlYlNvY2tldENoYW5u
ZWw6OnNlbmRGcmFtZShXZWJTb2NrZXRGcmFtZTo6T3BDb2RlIG9wQ29kZSwgY29uc3QgY2hhciog
ZGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgpCit2b2lkIFdlYlNvY2tldENoYW5uZWw6OnNlbmRGcmFt
ZShXZWJTb2NrZXRGcmFtZTo6T3BDb2RlIG9wQ29kZSwgY29uc3QgY2hhciogZGF0YSwgc2l6ZV90
IGRhdGFMZW5ndGgsIEZ1bmN0aW9uPHZvaWQoYm9vbCk+IGNvbXBsZXRpb25IYW5kbGVyKQogewog
ICAgIEFTU0VSVChtX2hhbmRsZSk7CiAgICAgQVNTRVJUKCFtX3N1c3BlbmRlZCk7CkBAIC04MTUs
MTMgKzgyMywxMyBAQCBib29sIFdlYlNvY2tldENoYW5uZWw6OnNlbmRGcmFtZShXZWJTb2NrCiAg
ICAgYXV0byBkZWZsYXRlUmVzdWx0ID0gbV9kZWZsYXRlRnJhbWVyLmRlZmxhdGUoZnJhbWUpOwog
ICAgIGlmICghZGVmbGF0ZVJlc3VsdC0+c3VjY2VlZGVkKCkpIHsKICAgICAgICAgZmFpbChkZWZs
YXRlUmVzdWx0LT5mYWlsdXJlUmVhc29uKCkpOwotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAgICAgfQogCiAgICAgVmVjdG9y
PGNoYXI+IGZyYW1lRGF0YTsKICAgICBmcmFtZS5tYWtlRnJhbWVEYXRhKGZyYW1lRGF0YSk7CiAK
LSAgICByZXR1cm4gbV9oYW5kbGUtPnNlbmQoZnJhbWVEYXRhLmRhdGEoKSwgZnJhbWVEYXRhLnNp
emUoKSk7CisgICAgbV9oYW5kbGUtPnNlbmQoZnJhbWVEYXRhLmRhdGEoKSwgZnJhbWVEYXRhLnNp
emUoKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCiB9ICAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tl
dENoYW5uZWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0Q2hhbm5lbC5oCShyZXZpc2lvbiAyMTQwNzMpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xNzMsNyArMTczLDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIElmIHlvdSBhcmUgZ29pbmcgdG8g
c2VuZCBhIGh5YmktMTAgZnJhbWUsIHlvdSBuZWVkIHRvIHVzZSB0aGUgb3V0Z29pbmcgZnJhbWUg
cXVldWUKICAgICAvLyBpbnN0ZWFkIG9mIGNhbGwgc2VuZEZyYW1lKCkgZGlyZWN0bHkuCi0gICAg
Ym9vbCBzZW5kRnJhbWUoV2ViU29ja2V0RnJhbWU6Ok9wQ29kZSwgY29uc3QgY2hhciogZGF0YSwg
c2l6ZV90IGRhdGFMZW5ndGgpOworICAgIHZvaWQgc2VuZEZyYW1lKFdlYlNvY2tldEZyYW1lOjpP
cENvZGUsIGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBkYXRhTGVuZ3RoLCBGdW5jdGlvbjx2b2lk
KGJvb2wpPiBjb21wbGV0aW9uSGFuZGxlcik7CiAKICAgICBlbnVtIEJsb2JMb2FkZXJTdGF0dXMg
ewogICAgICAgICBCbG9iTG9hZGVyTm90U3RhcnRlZCwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZS5jcHAJKHJldmlz
aW9uIDIxMzk2MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3Ry
ZWFtSGFuZGxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUg
IlNvY2tldFN0cmVhbUhhbmRsZS5oIgogCiAjaW5jbHVkZSAiU29ja2V0U3RyZWFtSGFuZGxlQ2xp
ZW50LmgiCisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtNDksMzUgKzUwLDM1IEBAIFNvY2tldFN0cmVhbUhhbmRsZTo6U29ja2V0U3RyZWFtU3Rh
dGUgU28KICAgICByZXR1cm4gbV9zdGF0ZTsKIH0KIAotYm9vbCBTb2NrZXRTdHJlYW1IYW5kbGU6
OnNlbmQoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGxlbmd0aCkKK3ZvaWQgU29ja2V0U3RyZWFt
SGFuZGxlOjpzZW5kKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW5ndGgsIEZ1bmN0aW9uPHZv
aWQoYm9vbCk+IGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmIChtX3N0YXRlID09IENvbm5l
Y3RpbmcgfHwgbV9zdGF0ZSA9PSBDbG9zaW5nKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAgICAgaWYgKCFtX2J1ZmZlci5p
c0VtcHR5KCkpIHsKICAgICAgICAgaWYgKG1fYnVmZmVyLnNpemUoKSArIGxlbmd0aCA+IGJ1ZmZl
clNpemUpIHsKICAgICAgICAgICAgIC8vIEZJWE1FOiByZXBvcnQgZXJyb3IgdG8gaW5kaWNhdGUg
dGhhdCBidWZmZXIgaGFzIG5vIG1vcmUgc3BhY2UuCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOwogICAgICAgICB9
CiAgICAgICAgIG1fYnVmZmVyLmFwcGVuZChkYXRhLCBsZW5ndGgpOwogICAgICAgICBtX2NsaWVu
dC5kaWRVcGRhdGVCdWZmZXJlZEFtb3VudChzdGF0aWNfY2FzdDxTb2NrZXRTdHJlYW1IYW5kbGUm
PigqdGhpcyksIGJ1ZmZlcmVkQW1vdW50KCkpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg
ICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKHRydWUpOwogICAgIH0KICAgICBzaXplX3QgYnl0
ZXNXcml0dGVuID0gMDsKICAgICBpZiAobV9zdGF0ZSA9PSBPcGVuKSB7CiAgICAgICAgIGlmIChh
dXRvIHJlc3VsdCA9IHBsYXRmb3JtU2VuZChkYXRhLCBsZW5ndGgpKQogICAgICAgICAgICAgYnl0
ZXNXcml0dGVuID0gcmVzdWx0LnZhbHVlKCk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7
CiAgICAgfQogICAgIGlmIChtX2J1ZmZlci5zaXplKCkgKyBsZW5ndGggLSBieXRlc1dyaXR0ZW4g
PiBidWZmZXJTaXplKSB7CiAgICAgICAgIC8vIEZJWE1FOiByZXBvcnQgZXJyb3IgdG8gaW5kaWNh
dGUgdGhhdCBidWZmZXIgaGFzIG5vIG1vcmUgc3BhY2UuCi0gICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKICAgICB9CiAgICAgaWYg
KGJ5dGVzV3JpdHRlbiA8IGxlbmd0aCkgewogICAgICAgICBtX2J1ZmZlci5hcHBlbmQoZGF0YSAr
IGJ5dGVzV3JpdHRlbiwgbGVuZ3RoIC0gYnl0ZXNXcml0dGVuKTsKICAgICAgICAgbV9jbGllbnQu
ZGlkVXBkYXRlQnVmZmVyZWRBbW91bnQoc3RhdGljX2Nhc3Q8U29ja2V0U3RyZWFtSGFuZGxlJj4o
KnRoaXMpLCBidWZmZXJlZEFtb3VudCgpKTsKICAgICB9Ci0gICAgcmV0dXJuIHRydWU7CisgICAg
cmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKHRydWUpOwogfQogCiB2b2lkIFNvY2tldFN0cmVhbUhh
bmRsZTo6Y2xvc2UoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2Nr
ZXRTdHJlYW1IYW5kbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZS5oCShyZXZpc2lvbiAyMTM5NjApCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC00NSw3ICs0NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5Tb2NrZXRTdHJlYW1I
YW5kbGUoKSB7IH0KICAgICBTb2NrZXRTdHJlYW1TdGF0ZSBzdGF0ZSgpIGNvbnN0OwogCi0gICAg
Ym9vbCBzZW5kKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW5ndGgpOworICAgIHZvaWQgc2Vu
ZChjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoLCBGdW5jdGlvbjx2b2lkKGJvb2wpPik7
CiAgICAgdm9pZCBjbG9zZSgpOyAvLyBEaXNjb25uZWN0IGFmdGVyIGFsbCBkYXRhIGluIGJ1ZmZl
ciBhcmUgc2VudC4KICAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKICAgICBzaXplX3QgYnVmZmVyZWRB
bW91bnQoKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlci5zaXplKCk7IH0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFtSGFuZGxlSW1wbC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFt
SGFuZGxlSW1wbC5oCShyZXZpc2lvbiAyMTM5NjApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2NmL1NvY2tldFN0cmVhbUhhbmRsZUltcGwuaAkod29ya2luZyBjb3B5KQpAQCAt
NTAsOCArNTAsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+U29ja2V0U3RyZWFtSGFuZGxlSW1w
bCgpOwogCiBwcml2YXRlOgotICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxzaXplX3Q+IHBsYXRm
b3JtU2VuZChjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoKTsKLSAgICB2aXJ0dWFsIHZv
aWQgcGxhdGZvcm1DbG9zZSgpOworICAgIHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBwbGF0Zm9ybVNl
bmQoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGxlbmd0aCkgZmluYWw7CisgICAgdm9pZCBwbGF0
Zm9ybUNsb3NlKCkgZmluYWw7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBTb2NrZXRTdHJlYW1IYW5k
bGVJbXBsKGNvbnN0IFVSTCYsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCYsIFNlc3Npb25JRCwg
Y29uc3QgU3RyaW5nJiBjcmVkZW50aWFsUGFydGl0aW9uKTsKICAgICB2b2lkIGNyZWF0ZVN0cmVh
bXMoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNDA5NikKKysrIFNvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE3LTAzLTE2ICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNl
IGNvbXBsZXRpb24gaGFuZGxlcnMgaW5zdGVhZCBvZiByZXR1cm4gdmFsdWVzIGZvciBzZW5kaW5n
IHdlYnNvY2tldCBkYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjk4MDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9JbnNwZWN0b3JTZXJ2ZXIvV2ViU29ja2V0U2VydmVyQ29ubmVj
dGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNvY2tldFNlcnZlckNvbm5lY3Rpb246OnNl
bmRXZWJTb2NrZXRNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViU29ja2V0U2VydmVyQ29u
bmVjdGlvbjo6c2VuZEhUVFBSZXNwb25zZUhlYWRlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlNv
Y2tldFNlcnZlckNvbm5lY3Rpb246OnNlbmRSYXdEYXRhKToKKwogMjAxNy0wMy0xNiAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBHVEsg
YnVpbGQuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvSW5zcGVjdG9yU2VydmVyL1dl
YlNvY2tldFNlcnZlckNvbm5lY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9JbnNwZWN0b3JTZXJ2ZXIvV2ViU29ja2V0U2VydmVyQ29ubmVjdGlvbi5jcHAJ
KHJldmlzaW9uIDIxNDA5MSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9JbnNwZWN0b3JT
ZXJ2ZXIvV2ViU29ja2V0U2VydmVyQ29ubmVjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkx
LDcgKzkxLDcgQEAgdm9pZCBXZWJTb2NrZXRTZXJ2ZXJDb25uZWN0aW9uOjpzZW5kV2ViUwogICAg
IFZlY3RvcjxjaGFyPiBmcmFtZURhdGE7CiAgICAgZnJhbWUubWFrZUZyYW1lRGF0YShmcmFtZURh
dGEpOwogCi0gICAgbV9zb2NrZXQtPnNlbmQoZnJhbWVEYXRhLmRhdGEoKSwgZnJhbWVEYXRhLnNp
emUoKSk7CisgICAgbV9zb2NrZXQtPnNlbmQoZnJhbWVEYXRhLmRhdGEoKSwgZnJhbWVEYXRhLnNp
emUoKSwgW10oYm9vbCkgeyB9KTsKIH0KIAogdm9pZCBXZWJTb2NrZXRTZXJ2ZXJDb25uZWN0aW9u
OjpzZW5kSFRUUFJlc3BvbnNlSGVhZGVyKGludCBzdGF0dXNDb2RlLCBjb25zdCBTdHJpbmcmIHN0
YXR1c1RleHQsIGNvbnN0IEhUVFBIZWFkZXJNYXAmIGhlYWRlckZpZWxkcykKQEAgLTExMiwxMiAr
MTEyLDEyIEBAIHZvaWQgV2ViU29ja2V0U2VydmVyQ29ubmVjdGlvbjo6c2VuZEhUVFAKICAgICBi
dWlsZGVyLmFwcGVuZExpdGVyYWwoIlxyXG4iKTsKIAogICAgIENTdHJpbmcgaGVhZGVyID0gYnVp
bGRlci50b1N0cmluZygpLmxhdGluMSgpOwotICAgIG1fc29ja2V0LT5zZW5kKGhlYWRlci5kYXRh
KCksIGhlYWRlci5sZW5ndGgoKSk7CisgICAgbV9zb2NrZXQtPnNlbmQoaGVhZGVyLmRhdGEoKSwg
aGVhZGVyLmxlbmd0aCgpLCBbXShib29sKSB7IH0pOwogfQogCiB2b2lkIFdlYlNvY2tldFNlcnZl
ckNvbm5lY3Rpb246OnNlbmRSYXdEYXRhKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW5ndGgp
CiB7Ci0gICAgbV9zb2NrZXQtPnNlbmQoZGF0YSwgbGVuZ3RoKTsKKyAgICBtX3NvY2tldC0+c2Vu
ZChkYXRhLCBsZW5ndGgsIFtdKGJvb2wpIHsgfSk7CiB9CiAKIHZvaWQgV2ViU29ja2V0U2VydmVy
Q29ubmVjdGlvbjo6ZGlkQ2xvc2VTb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlJikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304761</attachid>
            <date>2017-03-17 00:18:03 -0700</date>
            <delta_ts>2017-03-17 00:37:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169802-20170317001802.patch</filename>
            <type>text/plain</type>
            <size>11286</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNDA5MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE3LTAzLTE2ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNlIGNvbXBs
ZXRpb24gaGFuZGxlcnMgaW5zdGVhZCBvZiByZXR1cm4gdmFsdWVzIGZvciBzZW5kaW5nIHdlYnNv
Y2tldCBkYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjk4MDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IsIGJ1dCB0aGlzIGlzIGEgYmFieSBzdGVwIHRvd2FyZHMg
bWFraW5nIHRoaW5ncyBtb3JlIGFzeW5jaHJvbm91cy4KKworICAgICAgICAqIE1vZHVsZXMvd2Vi
c29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tl
dENoYW5uZWw6OmRpZE9wZW5Tb2NrZXRTdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29j
a2V0Q2hhbm5lbDo6cHJvY2Vzc091dGdvaW5nRnJhbWVRdWV1ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXRDaGFubmVsOjpzZW5kRnJhbWUpOgorICAgICAgICAqIE1vZHVsZXMvd2Vic29j
a2V0cy9XZWJTb2NrZXRDaGFubmVsLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9Tb2Nr
ZXRTdHJlYW1IYW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxl
OjpzZW5kKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZS5o
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFtSGFuZGxlSW1wbC5o
OgorCiAyMDE3LTAzLTE2ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgRml4IEdUSyBidWlsZC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAJKHJldmlzaW9u
IDIxNDA3MykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRD
aGFubmVsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjc4LDggKzI3OCwxMCBAQCB2b2lkIFdlYlNv
Y2tldENoYW5uZWw6OmRpZE9wZW5Tb2NrZXRTdHJlCiAgICAgaWYgKG1faWRlbnRpZmllcikKICAg
ICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU2VuZFdlYlNvY2tldEhhbmRzaGFr
ZVJlcXVlc3QobV9kb2N1bWVudCwgbV9pZGVudGlmaWVyLCBtX2hhbmRzaGFrZS0+Y2xpZW50SGFu
ZHNoYWtlUmVxdWVzdCgpKTsKICAgICBDU3RyaW5nIGhhbmRzaGFrZU1lc3NhZ2UgPSBtX2hhbmRz
aGFrZS0+Y2xpZW50SGFuZHNoYWtlTWVzc2FnZSgpOwotICAgIGlmICghaGFuZGxlLnNlbmQoaGFu
ZHNoYWtlTWVzc2FnZS5kYXRhKCksIGhhbmRzaGFrZU1lc3NhZ2UubGVuZ3RoKCkpKQotICAgICAg
ICBmYWlsKCJGYWlsZWQgdG8gc2VuZCBXZWJTb2NrZXQgaGFuZHNoYWtlLiIpOworICAgIGhhbmRs
ZS5zZW5kKGhhbmRzaGFrZU1lc3NhZ2UuZGF0YSgpLCBoYW5kc2hha2VNZXNzYWdlLmxlbmd0aCgp
LCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSAoYm9vbCBzdWNjZXNzKSB7
CisgICAgICAgIGlmICghc3VjY2VzcykKKyAgICAgICAgICAgIGZhaWwoIkZhaWxlZCB0byBzZW5k
IFdlYlNvY2tldCBoYW5kc2hha2UuIik7CisgICAgfSk7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hh
bm5lbDo6ZGlkQ2xvc2VTb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlJiBoYW5kbGUpCkBA
IC03NDIsMTQgKzc0NCwxOCBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OnByb2Nlc3NPdXRnb2lu
Z0ZyCiAgICAgICAgIGF1dG8gZnJhbWUgPSBtX291dGdvaW5nRnJhbWVRdWV1ZS50YWtlRmlyc3Qo
KTsKICAgICAgICAgc3dpdGNoIChmcmFtZS0+ZnJhbWVUeXBlKSB7CiAgICAgICAgIGNhc2UgUXVl
dWVkRnJhbWVUeXBlU3RyaW5nOiB7Ci0gICAgICAgICAgICBpZiAoIXNlbmRGcmFtZShmcmFtZS0+
b3BDb2RlLCBmcmFtZS0+c3RyaW5nRGF0YS5kYXRhKCksIGZyYW1lLT5zdHJpbmdEYXRhLmxlbmd0
aCgpKSkKLSAgICAgICAgICAgICAgICBmYWlsKCJGYWlsZWQgdG8gc2VuZCBXZWJTb2NrZXQgZnJh
bWUuIik7CisgICAgICAgICAgICBzZW5kRnJhbWUoZnJhbWUtPm9wQ29kZSwgZnJhbWUtPnN0cmlu
Z0RhdGEuZGF0YSgpLCBmcmFtZS0+c3RyaW5nRGF0YS5sZW5ndGgoKSwgW3RoaXMsIHByb3RlY3Rl
ZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0gKGJvb2wgc3VjY2VzcykgeworICAgICAgICAgICAgICAg
IGlmICghc3VjY2VzcykKKyAgICAgICAgICAgICAgICAgICAgZmFpbCgiRmFpbGVkIHRvIHNlbmQg
V2ViU29ja2V0IGZyYW1lLiIpOworICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfQogCiAgICAgICAgIGNhc2UgUXVldWVkRnJhbWVUeXBlVmVjdG9yOgotICAgICAg
ICAgICAgaWYgKCFzZW5kRnJhbWUoZnJhbWUtPm9wQ29kZSwgZnJhbWUtPnZlY3RvckRhdGEuZGF0
YSgpLCBmcmFtZS0+dmVjdG9yRGF0YS5zaXplKCkpKQotICAgICAgICAgICAgICAgIGZhaWwoIkZh
aWxlZCB0byBzZW5kIFdlYlNvY2tldCBmcmFtZS4iKTsKKyAgICAgICAgICAgIHNlbmRGcmFtZShm
cmFtZS0+b3BDb2RlLCBmcmFtZS0+dmVjdG9yRGF0YS5kYXRhKCksIGZyYW1lLT52ZWN0b3JEYXRh
LnNpemUoKSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0gKGJvb2wgc3Vj
Y2VzcykgeworICAgICAgICAgICAgICAgIGlmICghc3VjY2VzcykKKyAgICAgICAgICAgICAgICAg
ICAgZmFpbCgiRmFpbGVkIHRvIHNlbmQgV2ViU29ja2V0IGZyYW1lLiIpOworICAgICAgICAgICAg
fSk7CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIFF1ZXVlZEZyYW1lVHlwZUJs
b2I6IHsKQEAgLTc3Myw4ICs3NzksMTAgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpwcm9jZXNz
T3V0Z29pbmdGcgogICAgICAgICAgICAgICAgIFJlZlB0cjxBcnJheUJ1ZmZlcj4gcmVzdWx0ID0g
bV9ibG9iTG9hZGVyLT5hcnJheUJ1ZmZlclJlc3VsdCgpOwogICAgICAgICAgICAgICAgIG1fYmxv
YkxvYWRlciA9IG51bGxwdHI7CiAgICAgICAgICAgICAgICAgbV9ibG9iTG9hZGVyU3RhdHVzID0g
QmxvYkxvYWRlck5vdFN0YXJ0ZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKCFzZW5kRnJhbWUoZnJh
bWUtPm9wQ29kZSwgc3RhdGljX2Nhc3Q8Y29uc3QgY2hhcio+KHJlc3VsdC0+ZGF0YSgpKSwgcmVz
dWx0LT5ieXRlTGVuZ3RoKCkpKQotICAgICAgICAgICAgICAgICAgICBmYWlsKCJGYWlsZWQgdG8g
c2VuZCBXZWJTb2NrZXQgZnJhbWUuIik7CisgICAgICAgICAgICAgICAgc2VuZEZyYW1lKGZyYW1l
LT5vcENvZGUsIHN0YXRpY19jYXN0PGNvbnN0IGNoYXIqPihyZXN1bHQtPmRhdGEoKSksIHJlc3Vs
dC0+Ynl0ZUxlbmd0aCgpLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSAo
Ym9vbCBzdWNjZXNzKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICghc3VjY2VzcykKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGZhaWwoIkZhaWxlZCB0byBzZW5kIFdlYlNvY2tldCBmcmFtZS4i
KTsKKyAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIH0KQEAgLTgwNCw3ICs4MTIsNyBAQCB2b2lkIFdlYlNvY2tldENo
YW5uZWw6OmFib3J0T3V0Z29pbmdGcmFtCiAgICAgfQogfQogCi1ib29sIFdlYlNvY2tldENoYW5u
ZWw6OnNlbmRGcmFtZShXZWJTb2NrZXRGcmFtZTo6T3BDb2RlIG9wQ29kZSwgY29uc3QgY2hhciog
ZGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgpCit2b2lkIFdlYlNvY2tldENoYW5uZWw6OnNlbmRGcmFt
ZShXZWJTb2NrZXRGcmFtZTo6T3BDb2RlIG9wQ29kZSwgY29uc3QgY2hhciogZGF0YSwgc2l6ZV90
IGRhdGFMZW5ndGgsIEZ1bmN0aW9uPHZvaWQoYm9vbCk+IGNvbXBsZXRpb25IYW5kbGVyKQogewog
ICAgIEFTU0VSVChtX2hhbmRsZSk7CiAgICAgQVNTRVJUKCFtX3N1c3BlbmRlZCk7CkBAIC04MTUs
MTMgKzgyMywxMyBAQCBib29sIFdlYlNvY2tldENoYW5uZWw6OnNlbmRGcmFtZShXZWJTb2NrCiAg
ICAgYXV0byBkZWZsYXRlUmVzdWx0ID0gbV9kZWZsYXRlRnJhbWVyLmRlZmxhdGUoZnJhbWUpOwog
ICAgIGlmICghZGVmbGF0ZVJlc3VsdC0+c3VjY2VlZGVkKCkpIHsKICAgICAgICAgZmFpbChkZWZs
YXRlUmVzdWx0LT5mYWlsdXJlUmVhc29uKCkpOwotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAgICAgfQogCiAgICAgVmVjdG9y
PGNoYXI+IGZyYW1lRGF0YTsKICAgICBmcmFtZS5tYWtlRnJhbWVEYXRhKGZyYW1lRGF0YSk7CiAK
LSAgICByZXR1cm4gbV9oYW5kbGUtPnNlbmQoZnJhbWVEYXRhLmRhdGEoKSwgZnJhbWVEYXRhLnNp
emUoKSk7CisgICAgbV9oYW5kbGUtPnNlbmQoZnJhbWVEYXRhLmRhdGEoKSwgZnJhbWVEYXRhLnNp
emUoKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCiB9ICAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tl
dENoYW5uZWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0Q2hhbm5lbC5oCShyZXZpc2lvbiAyMTQwNzMpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xNzMsNyArMTczLDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIElmIHlvdSBhcmUgZ29pbmcgdG8g
c2VuZCBhIGh5YmktMTAgZnJhbWUsIHlvdSBuZWVkIHRvIHVzZSB0aGUgb3V0Z29pbmcgZnJhbWUg
cXVldWUKICAgICAvLyBpbnN0ZWFkIG9mIGNhbGwgc2VuZEZyYW1lKCkgZGlyZWN0bHkuCi0gICAg
Ym9vbCBzZW5kRnJhbWUoV2ViU29ja2V0RnJhbWU6Ok9wQ29kZSwgY29uc3QgY2hhciogZGF0YSwg
c2l6ZV90IGRhdGFMZW5ndGgpOworICAgIHZvaWQgc2VuZEZyYW1lKFdlYlNvY2tldEZyYW1lOjpP
cENvZGUsIGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBkYXRhTGVuZ3RoLCBGdW5jdGlvbjx2b2lk
KGJvb2wpPiBjb21wbGV0aW9uSGFuZGxlcik7CiAKICAgICBlbnVtIEJsb2JMb2FkZXJTdGF0dXMg
ewogICAgICAgICBCbG9iTG9hZGVyTm90U3RhcnRlZCwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZS5jcHAJKHJldmlz
aW9uIDIxMzk2MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3Ry
ZWFtSGFuZGxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUg
IlNvY2tldFN0cmVhbUhhbmRsZS5oIgogCiAjaW5jbHVkZSAiU29ja2V0U3RyZWFtSGFuZGxlQ2xp
ZW50LmgiCisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtNDksMzUgKzUwLDM1IEBAIFNvY2tldFN0cmVhbUhhbmRsZTo6U29ja2V0U3RyZWFtU3Rh
dGUgU28KICAgICByZXR1cm4gbV9zdGF0ZTsKIH0KIAotYm9vbCBTb2NrZXRTdHJlYW1IYW5kbGU6
OnNlbmQoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGxlbmd0aCkKK3ZvaWQgU29ja2V0U3RyZWFt
SGFuZGxlOjpzZW5kKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW5ndGgsIEZ1bmN0aW9uPHZv
aWQoYm9vbCk+IGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmIChtX3N0YXRlID09IENvbm5l
Y3RpbmcgfHwgbV9zdGF0ZSA9PSBDbG9zaW5nKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAgICAgaWYgKCFtX2J1ZmZlci5p
c0VtcHR5KCkpIHsKICAgICAgICAgaWYgKG1fYnVmZmVyLnNpemUoKSArIGxlbmd0aCA+IGJ1ZmZl
clNpemUpIHsKICAgICAgICAgICAgIC8vIEZJWE1FOiByZXBvcnQgZXJyb3IgdG8gaW5kaWNhdGUg
dGhhdCBidWZmZXIgaGFzIG5vIG1vcmUgc3BhY2UuCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOwogICAgICAgICB9
CiAgICAgICAgIG1fYnVmZmVyLmFwcGVuZChkYXRhLCBsZW5ndGgpOwogICAgICAgICBtX2NsaWVu
dC5kaWRVcGRhdGVCdWZmZXJlZEFtb3VudChzdGF0aWNfY2FzdDxTb2NrZXRTdHJlYW1IYW5kbGUm
PigqdGhpcyksIGJ1ZmZlcmVkQW1vdW50KCkpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg
ICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKHRydWUpOwogICAgIH0KICAgICBzaXplX3QgYnl0
ZXNXcml0dGVuID0gMDsKICAgICBpZiAobV9zdGF0ZSA9PSBPcGVuKSB7CiAgICAgICAgIGlmIChh
dXRvIHJlc3VsdCA9IHBsYXRmb3JtU2VuZChkYXRhLCBsZW5ndGgpKQogICAgICAgICAgICAgYnl0
ZXNXcml0dGVuID0gcmVzdWx0LnZhbHVlKCk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7
CiAgICAgfQogICAgIGlmIChtX2J1ZmZlci5zaXplKCkgKyBsZW5ndGggLSBieXRlc1dyaXR0ZW4g
PiBidWZmZXJTaXplKSB7CiAgICAgICAgIC8vIEZJWE1FOiByZXBvcnQgZXJyb3IgdG8gaW5kaWNh
dGUgdGhhdCBidWZmZXIgaGFzIG5vIG1vcmUgc3BhY2UuCi0gICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKICAgICB9CiAgICAgaWYg
KGJ5dGVzV3JpdHRlbiA8IGxlbmd0aCkgewogICAgICAgICBtX2J1ZmZlci5hcHBlbmQoZGF0YSAr
IGJ5dGVzV3JpdHRlbiwgbGVuZ3RoIC0gYnl0ZXNXcml0dGVuKTsKICAgICAgICAgbV9jbGllbnQu
ZGlkVXBkYXRlQnVmZmVyZWRBbW91bnQoc3RhdGljX2Nhc3Q8U29ja2V0U3RyZWFtSGFuZGxlJj4o
KnRoaXMpLCBidWZmZXJlZEFtb3VudCgpKTsKICAgICB9Ci0gICAgcmV0dXJuIHRydWU7CisgICAg
cmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKHRydWUpOwogfQogCiB2b2lkIFNvY2tldFN0cmVhbUhh
bmRsZTo6Y2xvc2UoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2Nr
ZXRTdHJlYW1IYW5kbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZS5oCShyZXZpc2lvbiAyMTM5NjApCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC00NSw3ICs0NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5Tb2NrZXRTdHJlYW1I
YW5kbGUoKSB7IH0KICAgICBTb2NrZXRTdHJlYW1TdGF0ZSBzdGF0ZSgpIGNvbnN0OwogCi0gICAg
Ym9vbCBzZW5kKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW5ndGgpOworICAgIHZvaWQgc2Vu
ZChjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoLCBGdW5jdGlvbjx2b2lkKGJvb2wpPik7
CiAgICAgdm9pZCBjbG9zZSgpOyAvLyBEaXNjb25uZWN0IGFmdGVyIGFsbCBkYXRhIGluIGJ1ZmZl
ciBhcmUgc2VudC4KICAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKICAgICBzaXplX3QgYnVmZmVyZWRB
bW91bnQoKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlci5zaXplKCk7IH0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFtSGFuZGxlSW1wbC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFt
SGFuZGxlSW1wbC5oCShyZXZpc2lvbiAyMTM5NjApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2NmL1NvY2tldFN0cmVhbUhhbmRsZUltcGwuaAkod29ya2luZyBjb3B5KQpAQCAt
NTAsOCArNTAsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+U29ja2V0U3RyZWFtSGFuZGxlSW1w
bCgpOwogCiBwcml2YXRlOgotICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxzaXplX3Q+IHBsYXRm
b3JtU2VuZChjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoKTsKLSAgICB2aXJ0dWFsIHZv
aWQgcGxhdGZvcm1DbG9zZSgpOworICAgIHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiBwbGF0Zm9ybVNl
bmQoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGxlbmd0aCkgZmluYWw7CisgICAgdm9pZCBwbGF0
Zm9ybUNsb3NlKCkgZmluYWw7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBTb2NrZXRTdHJlYW1IYW5k
bGVJbXBsKGNvbnN0IFVSTCYsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCYsIFNlc3Npb25JRCwg
Y29uc3QgU3RyaW5nJiBjcmVkZW50aWFsUGFydGl0aW9uKTsKICAgICB2b2lkIGNyZWF0ZVN0cmVh
bXMoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNDA5NikKKysrIFNvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE3LTAzLTE2ICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNl
IGNvbXBsZXRpb24gaGFuZGxlcnMgaW5zdGVhZCBvZiByZXR1cm4gdmFsdWVzIGZvciBzZW5kaW5n
IHdlYnNvY2tldCBkYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjk4MDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9JbnNwZWN0b3JTZXJ2ZXIvV2ViU29ja2V0U2VydmVyQ29ubmVj
dGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNvY2tldFNlcnZlckNvbm5lY3Rpb246OnNl
bmRXZWJTb2NrZXRNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViU29ja2V0U2VydmVyQ29u
bmVjdGlvbjo6c2VuZEhUVFBSZXNwb25zZUhlYWRlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlNv
Y2tldFNlcnZlckNvbm5lY3Rpb246OnNlbmRSYXdEYXRhKToKKwogMjAxNy0wMy0xNiAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBHVEsg
YnVpbGQuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvSW5zcGVjdG9yU2VydmVyL1dl
YlNvY2tldFNlcnZlckNvbm5lY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9JbnNwZWN0b3JTZXJ2ZXIvV2ViU29ja2V0U2VydmVyQ29ubmVjdGlvbi5jcHAJ
KHJldmlzaW9uIDIxNDA5MSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9JbnNwZWN0b3JT
ZXJ2ZXIvV2ViU29ja2V0U2VydmVyQ29ubmVjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkx
LDcgKzkxLDggQEAgdm9pZCBXZWJTb2NrZXRTZXJ2ZXJDb25uZWN0aW9uOjpzZW5kV2ViUwogICAg
IFZlY3RvcjxjaGFyPiBmcmFtZURhdGE7CiAgICAgZnJhbWUubWFrZUZyYW1lRGF0YShmcmFtZURh
dGEpOwogCi0gICAgbV9zb2NrZXQtPnNlbmQoZnJhbWVEYXRhLmRhdGEoKSwgZnJhbWVEYXRhLnNp
emUoKSk7CisgICAgYXV0byBjb21wbGV0aW9uSGFuZGxlciA9IFtdKGJvb2wpIHsgfTsKKyAgICBt
X3NvY2tldC0+c2VuZChmcmFtZURhdGEuZGF0YSgpLCBmcmFtZURhdGEuc2l6ZSgpLCBXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKIHZvaWQgV2ViU29ja2V0U2VydmVyQ29ubmVjdGlv
bjo6c2VuZEhUVFBSZXNwb25zZUhlYWRlcihpbnQgc3RhdHVzQ29kZSwgY29uc3QgU3RyaW5nJiBz
dGF0dXNUZXh0LCBjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJGaWVsZHMpCkBAIC0xMTIsMTIg
KzExMywxNCBAQCB2b2lkIFdlYlNvY2tldFNlcnZlckNvbm5lY3Rpb246OnNlbmRIVFRQCiAgICAg
YnVpbGRlci5hcHBlbmRMaXRlcmFsKCJcclxuIik7CiAKICAgICBDU3RyaW5nIGhlYWRlciA9IGJ1
aWxkZXIudG9TdHJpbmcoKS5sYXRpbjEoKTsKLSAgICBtX3NvY2tldC0+c2VuZChoZWFkZXIuZGF0
YSgpLCBoZWFkZXIubGVuZ3RoKCkpOworICAgIGF1dG8gY29tcGxldGlvbkhhbmRsZXIgPSBbXShi
b29sKSB7IH07CisgICAgbV9zb2NrZXQtPnNlbmQoaGVhZGVyLmRhdGEoKSwgaGVhZGVyLmxlbmd0
aCgpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKIHZvaWQgV2ViU29ja2V0U2Vy
dmVyQ29ubmVjdGlvbjo6c2VuZFJhd0RhdGEoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGxlbmd0
aCkKIHsKLSAgICBtX3NvY2tldC0+c2VuZChkYXRhLCBsZW5ndGgpOworICAgIGF1dG8gY29tcGxl
dGlvbkhhbmRsZXIgPSBbXShib29sKSB7IH07CisgICAgbV9zb2NrZXQtPnNlbmQoZGF0YSwgbGVu
Z3RoLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKIHZvaWQgV2ViU29ja2V0U2Vy
dmVyQ29ubmVjdGlvbjo6ZGlkQ2xvc2VTb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlJikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304766</attachid>
            <date>2017-03-17 01:31:20 -0700</date>
            <delta_ts>2017-03-17 02:46:36 -0700</delta_ts>
            <desc>Fix GTK+ build</desc>
            <filename>wk2-sockets.diff</filename>
            <type>text/plain</type>
            <size>11587</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkMzZkN2RmZjdjMC4uYmQ4Yjg5YmQ3OGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxNy0wMy0xNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgorCisgICAgICAgIFVzZSBjb21wbGV0aW9uIGhhbmRsZXJzIGluc3RlYWQgb2Yg
cmV0dXJuIHZhbHVlcyBmb3Igc2VuZGluZyB3ZWJzb2NrZXQgZGF0YQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5ODAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLCBi
dXQgdGhpcyBpcyBhIGJhYnkgc3RlcCB0b3dhcmRzIG1ha2luZyB0aGluZ3MgbW9yZSBhc3luY2hy
b25vdXMuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpkaWRPcGVuU29ja2V0U3Ry
ZWFtKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OnByb2Nlc3NPdXRnb2lu
Z0ZyYW1lUXVldWUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6c2VuZEZy
YW1lKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oOgor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6c2VuZCk6CisgICAgICAgICogcGxhdGZv
cm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL2NmL1NvY2tldFN0cmVhbUhhbmRsZUltcGwuaDoKKwogMjAxNy0wMy0xNyAgQ2FybG9zIEdh
cmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NhaXJvXSBIYW5k
bGUgdGhlIGJsZW5kIG1vZGUgaW4gR3JhcGhpY3NDb250ZXh0OjpkcmF3UGF0dGVybgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
Y3BwCmluZGV4IDY2MDM5YTNlMWE4Li4xNDcyZTgxYzcwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcApAQCAtMjc4
LDggKzI3OCwxMCBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZE9wZW5Tb2NrZXRTdHJlYW0o
U29ja2V0U3RyZWFtSGFuZGxlJiBoYW5kbGUpCiAgICAgaWYgKG1faWRlbnRpZmllcikKICAgICAg
ICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU2VuZFdlYlNvY2tldEhhbmRzaGFrZVJl
cXVlc3QobV9kb2N1bWVudCwgbV9pZGVudGlmaWVyLCBtX2hhbmRzaGFrZS0+Y2xpZW50SGFuZHNo
YWtlUmVxdWVzdCgpKTsKICAgICBDU3RyaW5nIGhhbmRzaGFrZU1lc3NhZ2UgPSBtX2hhbmRzaGFr
ZS0+Y2xpZW50SGFuZHNoYWtlTWVzc2FnZSgpOwotICAgIGlmICghaGFuZGxlLnNlbmQoaGFuZHNo
YWtlTWVzc2FnZS5kYXRhKCksIGhhbmRzaGFrZU1lc3NhZ2UubGVuZ3RoKCkpKQotICAgICAgICBm
YWlsKCJGYWlsZWQgdG8gc2VuZCBXZWJTb2NrZXQgaGFuZHNoYWtlLiIpOworICAgIGhhbmRsZS5z
ZW5kKGhhbmRzaGFrZU1lc3NhZ2UuZGF0YSgpLCBoYW5kc2hha2VNZXNzYWdlLmxlbmd0aCgpLCBb
dGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSAoYm9vbCBzdWNjZXNzKSB7Cisg
ICAgICAgIGlmICghc3VjY2VzcykKKyAgICAgICAgICAgIGZhaWwoIkZhaWxlZCB0byBzZW5kIFdl
YlNvY2tldCBoYW5kc2hha2UuIik7CisgICAgfSk7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hhbm5l
bDo6ZGlkQ2xvc2VTb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlJiBoYW5kbGUpCkBAIC03
NDIsMTQgKzc0NCwxOCBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OnByb2Nlc3NPdXRnb2luZ0Zy
YW1lUXVldWUoKQogICAgICAgICBhdXRvIGZyYW1lID0gbV9vdXRnb2luZ0ZyYW1lUXVldWUudGFr
ZUZpcnN0KCk7CiAgICAgICAgIHN3aXRjaCAoZnJhbWUtPmZyYW1lVHlwZSkgewogICAgICAgICBj
YXNlIFF1ZXVlZEZyYW1lVHlwZVN0cmluZzogewotICAgICAgICAgICAgaWYgKCFzZW5kRnJhbWUo
ZnJhbWUtPm9wQ29kZSwgZnJhbWUtPnN0cmluZ0RhdGEuZGF0YSgpLCBmcmFtZS0+c3RyaW5nRGF0
YS5sZW5ndGgoKSkpCi0gICAgICAgICAgICAgICAgZmFpbCgiRmFpbGVkIHRvIHNlbmQgV2ViU29j
a2V0IGZyYW1lLiIpOworICAgICAgICAgICAgc2VuZEZyYW1lKGZyYW1lLT5vcENvZGUsIGZyYW1l
LT5zdHJpbmdEYXRhLmRhdGEoKSwgZnJhbWUtPnN0cmluZ0RhdGEubGVuZ3RoKCksIFt0aGlzLCBw
cm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldIChib29sIHN1Y2Nlc3MpIHsKKyAgICAgICAg
ICAgICAgICBpZiAoIXN1Y2Nlc3MpCisgICAgICAgICAgICAgICAgICAgIGZhaWwoIkZhaWxlZCB0
byBzZW5kIFdlYlNvY2tldCBmcmFtZS4iKTsKKyAgICAgICAgICAgIH0pOwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KIAogICAgICAgICBjYXNlIFF1ZXVlZEZyYW1lVHlwZVZlY3RvcjoK
LSAgICAgICAgICAgIGlmICghc2VuZEZyYW1lKGZyYW1lLT5vcENvZGUsIGZyYW1lLT52ZWN0b3JE
YXRhLmRhdGEoKSwgZnJhbWUtPnZlY3RvckRhdGEuc2l6ZSgpKSkKLSAgICAgICAgICAgICAgICBm
YWlsKCJGYWlsZWQgdG8gc2VuZCBXZWJTb2NrZXQgZnJhbWUuIik7CisgICAgICAgICAgICBzZW5k
RnJhbWUoZnJhbWUtPm9wQ29kZSwgZnJhbWUtPnZlY3RvckRhdGEuZGF0YSgpLCBmcmFtZS0+dmVj
dG9yRGF0YS5zaXplKCksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldIChi
b29sIHN1Y2Nlc3MpIHsKKyAgICAgICAgICAgICAgICBpZiAoIXN1Y2Nlc3MpCisgICAgICAgICAg
ICAgICAgICAgIGZhaWwoIkZhaWxlZCB0byBzZW5kIFdlYlNvY2tldCBmcmFtZS4iKTsKKyAgICAg
ICAgICAgIH0pOwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBRdWV1ZWRGcmFt
ZVR5cGVCbG9iOiB7CkBAIC03NzMsOCArNzc5LDEwIEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6
cHJvY2Vzc091dGdvaW5nRnJhbWVRdWV1ZSgpCiAgICAgICAgICAgICAgICAgUmVmUHRyPEFycmF5
QnVmZmVyPiByZXN1bHQgPSBtX2Jsb2JMb2FkZXItPmFycmF5QnVmZmVyUmVzdWx0KCk7CiAgICAg
ICAgICAgICAgICAgbV9ibG9iTG9hZGVyID0gbnVsbHB0cjsKICAgICAgICAgICAgICAgICBtX2Js
b2JMb2FkZXJTdGF0dXMgPSBCbG9iTG9hZGVyTm90U3RhcnRlZDsKLSAgICAgICAgICAgICAgICBp
ZiAoIXNlbmRGcmFtZShmcmFtZS0+b3BDb2RlLCBzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4ocmVz
dWx0LT5kYXRhKCkpLCByZXN1bHQtPmJ5dGVMZW5ndGgoKSkpCi0gICAgICAgICAgICAgICAgICAg
IGZhaWwoIkZhaWxlZCB0byBzZW5kIFdlYlNvY2tldCBmcmFtZS4iKTsKKyAgICAgICAgICAgICAg
ICBzZW5kRnJhbWUoZnJhbWUtPm9wQ29kZSwgc3RhdGljX2Nhc3Q8Y29uc3QgY2hhcio+KHJlc3Vs
dC0+ZGF0YSgpKSwgcmVzdWx0LT5ieXRlTGVuZ3RoKCksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0g
bWFrZVJlZigqdGhpcyldIChib29sIHN1Y2Nlc3MpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KCFzdWNjZXNzKQorICAgICAgICAgICAgICAgICAgICAgICAgZmFpbCgiRmFpbGVkIHRvIHNlbmQg
V2ViU29ja2V0IGZyYW1lLiIpOworICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgfQpAQCAtODA0LDcgKzgxMiw3IEBA
IHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6YWJvcnRPdXRnb2luZ0ZyYW1lUXVldWUoKQogICAgIH0K
IH0KIAotYm9vbCBXZWJTb2NrZXRDaGFubmVsOjpzZW5kRnJhbWUoV2ViU29ja2V0RnJhbWU6Ok9w
Q29kZSBvcENvZGUsIGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBkYXRhTGVuZ3RoKQordm9pZCBX
ZWJTb2NrZXRDaGFubmVsOjpzZW5kRnJhbWUoV2ViU29ja2V0RnJhbWU6Ok9wQ29kZSBvcENvZGUs
IGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBkYXRhTGVuZ3RoLCBGdW5jdGlvbjx2b2lkKGJvb2wp
PiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQobV9oYW5kbGUpOwogICAgIEFTU0VS
VCghbV9zdXNwZW5kZWQpOwpAQCAtODE1LDEzICs4MjMsMTMgQEAgYm9vbCBXZWJTb2NrZXRDaGFu
bmVsOjpzZW5kRnJhbWUoV2ViU29ja2V0RnJhbWU6Ok9wQ29kZSBvcENvZGUsIGNvbnN0IGNoYXIq
IGRhdGEKICAgICBhdXRvIGRlZmxhdGVSZXN1bHQgPSBtX2RlZmxhdGVGcmFtZXIuZGVmbGF0ZShm
cmFtZSk7CiAgICAgaWYgKCFkZWZsYXRlUmVzdWx0LT5zdWNjZWVkZWQoKSkgewogICAgICAgICBm
YWlsKGRlZmxhdGVSZXN1bHQtPmZhaWx1cmVSZWFzb24oKSk7Ci0gICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKICAgICB9CiAKICAg
ICBWZWN0b3I8Y2hhcj4gZnJhbWVEYXRhOwogICAgIGZyYW1lLm1ha2VGcmFtZURhdGEoZnJhbWVE
YXRhKTsKIAotICAgIHJldHVybiBtX2hhbmRsZS0+c2VuZChmcmFtZURhdGEuZGF0YSgpLCBmcmFt
ZURhdGEuc2l6ZSgpKTsKKyAgICBtX2hhbmRsZS0+c2VuZChmcmFtZURhdGEuZGF0YSgpLCBmcmFt
ZURhdGEuc2l6ZSgpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKIH0gIC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNv
Y2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2Nr
ZXRzL1dlYlNvY2tldENoYW5uZWwuaAppbmRleCAwNjJiZDk4MGU0MC4uMDM2NThjNjJmMWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFu
bmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENo
YW5uZWwuaApAQCAtMTczLDcgKzE3Myw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBJZiB5b3UgYXJl
IGdvaW5nIHRvIHNlbmQgYSBoeWJpLTEwIGZyYW1lLCB5b3UgbmVlZCB0byB1c2UgdGhlIG91dGdv
aW5nIGZyYW1lIHF1ZXVlCiAgICAgLy8gaW5zdGVhZCBvZiBjYWxsIHNlbmRGcmFtZSgpIGRpcmVj
dGx5LgotICAgIGJvb2wgc2VuZEZyYW1lKFdlYlNvY2tldEZyYW1lOjpPcENvZGUsIGNvbnN0IGNo
YXIqIGRhdGEsIHNpemVfdCBkYXRhTGVuZ3RoKTsKKyAgICB2b2lkIHNlbmRGcmFtZShXZWJTb2Nr
ZXRGcmFtZTo6T3BDb2RlLCBjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgRnVu
Y3Rpb248dm9pZChib29sKT4gY29tcGxldGlvbkhhbmRsZXIpOwogCiAgICAgZW51bSBCbG9iTG9h
ZGVyU3RhdHVzIHsKICAgICAgICAgQmxvYkxvYWRlck5vdFN0YXJ0ZWQsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZS5jcHAKaW5k
ZXggYTRjNmNiMjRlZjEuLmE3ZTA1MDU5YTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGUuY3BwCkBAIC0zMiw2ICszMiw3
IEBACiAjaW5jbHVkZSAiU29ja2V0U3RyZWFtSGFuZGxlLmgiCiAKICNpbmNsdWRlICJTb2NrZXRT
dHJlYW1IYW5kbGVDbGllbnQuaCIKKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC00OSwzNSArNTAsMzUgQEAgU29ja2V0U3RyZWFtSGFuZGxlOjpT
b2NrZXRTdHJlYW1TdGF0ZSBTb2NrZXRTdHJlYW1IYW5kbGU6OnN0YXRlKCkgY29uc3QKICAgICBy
ZXR1cm4gbV9zdGF0ZTsKIH0KIAotYm9vbCBTb2NrZXRTdHJlYW1IYW5kbGU6OnNlbmQoY29uc3Qg
Y2hhciogZGF0YSwgc2l6ZV90IGxlbmd0aCkKK3ZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjpzZW5k
KGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW5ndGgsIEZ1bmN0aW9uPHZvaWQoYm9vbCk+IGNv
bXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmIChtX3N0YXRlID09IENvbm5lY3RpbmcgfHwgbV9z
dGF0ZSA9PSBDbG9zaW5nKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBj
b21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAgICAgaWYgKCFtX2J1ZmZlci5pc0VtcHR5KCkpIHsK
ICAgICAgICAgaWYgKG1fYnVmZmVyLnNpemUoKSArIGxlbmd0aCA+IGJ1ZmZlclNpemUpIHsKICAg
ICAgICAgICAgIC8vIEZJWE1FOiByZXBvcnQgZXJyb3IgdG8gaW5kaWNhdGUgdGhhdCBidWZmZXIg
aGFzIG5vIG1vcmUgc3BhY2UuCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAg
ICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOwogICAgICAgICB9CiAgICAgICAgIG1f
YnVmZmVyLmFwcGVuZChkYXRhLCBsZW5ndGgpOwogICAgICAgICBtX2NsaWVudC5kaWRVcGRhdGVC
dWZmZXJlZEFtb3VudChzdGF0aWNfY2FzdDxTb2NrZXRTdHJlYW1IYW5kbGUmPigqdGhpcyksIGJ1
ZmZlcmVkQW1vdW50KCkpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIGNv
bXBsZXRpb25IYW5kbGVyKHRydWUpOwogICAgIH0KICAgICBzaXplX3QgYnl0ZXNXcml0dGVuID0g
MDsKICAgICBpZiAobV9zdGF0ZSA9PSBPcGVuKSB7CiAgICAgICAgIGlmIChhdXRvIHJlc3VsdCA9
IHBsYXRmb3JtU2VuZChkYXRhLCBsZW5ndGgpKQogICAgICAgICAgICAgYnl0ZXNXcml0dGVuID0g
cmVzdWx0LnZhbHVlKCk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAgICAgfQogICAg
IGlmIChtX2J1ZmZlci5zaXplKCkgKyBsZW5ndGggLSBieXRlc1dyaXR0ZW4gPiBidWZmZXJTaXpl
KSB7CiAgICAgICAgIC8vIEZJWE1FOiByZXBvcnQgZXJyb3IgdG8gaW5kaWNhdGUgdGhhdCBidWZm
ZXIgaGFzIG5vIG1vcmUgc3BhY2UuCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0
dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKICAgICB9CiAgICAgaWYgKGJ5dGVzV3JpdHRl
biA8IGxlbmd0aCkgewogICAgICAgICBtX2J1ZmZlci5hcHBlbmQoZGF0YSArIGJ5dGVzV3JpdHRl
biwgbGVuZ3RoIC0gYnl0ZXNXcml0dGVuKTsKICAgICAgICAgbV9jbGllbnQuZGlkVXBkYXRlQnVm
ZmVyZWRBbW91bnQoc3RhdGljX2Nhc3Q8U29ja2V0U3RyZWFtSGFuZGxlJj4oKnRoaXMpLCBidWZm
ZXJlZEFtb3VudCgpKTsKICAgICB9Ci0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIGNvbXBs
ZXRpb25IYW5kbGVyKHRydWUpOwogfQogCiB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZTo6Y2xvc2Uo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJl
YW1IYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFt
SGFuZGxlLmgKaW5kZXggZmJhZDY0MTk1YWIuLjlkNTAwMzVjYWY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlLmgKQEAgLTQ1
LDcgKzQ1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgflNvY2tldFN0cmVhbUhhbmRsZSgpIHsg
fQogICAgIFNvY2tldFN0cmVhbVN0YXRlIHN0YXRlKCkgY29uc3Q7CiAKLSAgICBib29sIHNlbmQo
Y29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGxlbmd0aCk7CisgICAgdm9pZCBzZW5kKGNvbnN0IGNo
YXIqIGRhdGEsIHNpemVfdCBsZW5ndGgsIEZ1bmN0aW9uPHZvaWQoYm9vbCk+KTsKICAgICB2b2lk
IGNsb3NlKCk7IC8vIERpc2Nvbm5lY3QgYWZ0ZXIgYWxsIGRhdGEgaW4gYnVmZmVyIGFyZSBzZW50
LgogICAgIHZvaWQgZGlzY29ubmVjdCgpOwogICAgIHNpemVfdCBidWZmZXJlZEFtb3VudCgpIGNv
bnN0IHsgcmV0dXJuIG1fYnVmZmVyLnNpemUoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jZi9Tb2NrZXRTdHJlYW1IYW5kbGVJbXBsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1NvY2tldFN0cmVhbUhhbmRsZUltcGwuaAppbmRl
eCBiZjE2Mzk2YjE0Ny4uODQ4NzVmMDlkZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFtSGFuZGxlSW1wbC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFtSGFuZGxlSW1wbC5oCkBAIC01
MCw4ICs1MCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5Tb2NrZXRTdHJlYW1IYW5kbGVJbXBs
KCk7CiAKIHByaXZhdGU6Ci0gICAgdmlydHVhbCBzdGQ6Om9wdGlvbmFsPHNpemVfdD4gcGxhdGZv
cm1TZW5kKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBsZW5ndGgpOwotICAgIHZpcnR1YWwgdm9p
ZCBwbGF0Zm9ybUNsb3NlKCk7CisgICAgc3RkOjpvcHRpb25hbDxzaXplX3Q+IHBsYXRmb3JtU2Vu
ZChjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoKSBmaW5hbDsKKyAgICB2b2lkIHBsYXRm
b3JtQ2xvc2UoKSBmaW5hbDsKIAogICAgIFdFQkNPUkVfRVhQT1JUIFNvY2tldFN0cmVhbUhhbmRs
ZUltcGwoY29uc3QgVVJMJiwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50JiwgU2Vzc2lvbklELCBj
b25zdCBTdHJpbmcmIGNyZWRlbnRpYWxQYXJ0aXRpb24pOwogICAgIHZvaWQgY3JlYXRlU3RyZWFt
cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IDYwNGY3NTlkZmY3Li4wMjMzMGMzNGMzZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDE3LTAzLTE3ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVu
c2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNlIGNvbXBsZXRpb24gaGFuZGxlcnMgaW5zdGVh
ZCBvZiByZXR1cm4gdmFsdWVzIGZvciBzZW5kaW5nIHdlYnNvY2tldCBkYXRhCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjk4MDIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9JbnNwZWN0
b3JTZXJ2ZXIvV2ViU29ja2V0U2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlNvY2tldFNlcnZlckNvbm5lY3Rpb246OnNlbmRXZWJTb2NrZXRNZXNzYWdlKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViU29ja2V0U2VydmVyQ29ubmVjdGlvbjo6c2VuZEhUVFBSZXNwb25zZUhl
YWRlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlNvY2tldFNlcnZlckNvbm5lY3Rpb246OnNlbmRS
YXdEYXRhKToKKwogMjAxNy0wMy0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBHVEsgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvSW5zcGVjdG9yU2VydmVyL1dlYlNvY2tldFNlcnZlckNvbm5lY3Rp
b24uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0luc3BlY3RvclNlcnZlci9XZWJTb2Nr
ZXRTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCA5YmIwMzA0NGYwNy4uM2QxM2NmYmMzMjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9JbnNwZWN0b3JTZXJ2ZXIvV2ViU29j
a2V0U2VydmVyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0lu
c3BlY3RvclNlcnZlci9XZWJTb2NrZXRTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMzksNiArMzks
NyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvU29ja2V0U3RyZWFtSGFuZGxlLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9XZWJTb2NrZXRDaGFubmVsLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9XZWJTb2NrZXRI
YW5kc2hha2UuaD4KKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCkBAIC05
MSw3ICs5Miw3IEBAIHZvaWQgV2ViU29ja2V0U2VydmVyQ29ubmVjdGlvbjo6c2VuZFdlYlNvY2tl
dE1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAgIFZlY3RvcjxjaGFyPiBmcmFtZURh
dGE7CiAgICAgZnJhbWUubWFrZUZyYW1lRGF0YShmcmFtZURhdGEpOwogCi0gICAgbV9zb2NrZXQt
PnNlbmQoZnJhbWVEYXRhLmRhdGEoKSwgZnJhbWVEYXRhLnNpemUoKSk7CisgICAgbV9zb2NrZXQt
PnNlbmQoZnJhbWVEYXRhLmRhdGEoKSwgZnJhbWVEYXRhLnNpemUoKSwgW10oYm9vbCkgeyB9KTsK
IH0KIAogdm9pZCBXZWJTb2NrZXRTZXJ2ZXJDb25uZWN0aW9uOjpzZW5kSFRUUFJlc3BvbnNlSGVh
ZGVyKGludCBzdGF0dXNDb2RlLCBjb25zdCBTdHJpbmcmIHN0YXR1c1RleHQsIGNvbnN0IEhUVFBI
ZWFkZXJNYXAmIGhlYWRlckZpZWxkcykKQEAgLTExMiwxMiArMTEzLDEyIEBAIHZvaWQgV2ViU29j
a2V0U2VydmVyQ29ubmVjdGlvbjo6c2VuZEhUVFBSZXNwb25zZUhlYWRlcihpbnQgc3RhdHVzQ29k
ZSwgY29uc3QgU3RyCiAgICAgYnVpbGRlci5hcHBlbmRMaXRlcmFsKCJcclxuIik7CiAKICAgICBD
U3RyaW5nIGhlYWRlciA9IGJ1aWxkZXIudG9TdHJpbmcoKS5sYXRpbjEoKTsKLSAgICBtX3NvY2tl
dC0+c2VuZChoZWFkZXIuZGF0YSgpLCBoZWFkZXIubGVuZ3RoKCkpOworICAgIG1fc29ja2V0LT5z
ZW5kKGhlYWRlci5kYXRhKCksIGhlYWRlci5sZW5ndGgoKSwgW10oYm9vbCkgeyB9KTsKIH0KIAog
dm9pZCBXZWJTb2NrZXRTZXJ2ZXJDb25uZWN0aW9uOjpzZW5kUmF3RGF0YShjb25zdCBjaGFyKiBk
YXRhLCBzaXplX3QgbGVuZ3RoKQogewotICAgIG1fc29ja2V0LT5zZW5kKGRhdGEsIGxlbmd0aCk7
CisgICAgbV9zb2NrZXQtPnNlbmQoZGF0YSwgbGVuZ3RoLCBbXShib29sKSB7IH0pOwogfQogCiB2
b2lkIFdlYlNvY2tldFNlcnZlckNvbm5lY3Rpb246OmRpZENsb3NlU29ja2V0U3RyZWFtKFNvY2tl
dFN0cmVhbUhhbmRsZSYpCg==
</data>
<flag name="review"
          id="326265"
          type_id="1"
          status="+"
          setter="cgarcia"
    />
          </attachment>
      

    </bug>

</bugzilla>