<?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>148418</bug_id>
          
          <creation_ts>2015-08-24 21:21:06 -0700</creation_ts>
          <short_desc>Add support for callback interfaces using other callback names than &quot;handleEvent&quot;</short_desc>
          <delta_ts>2015-08-25 10:05:06 -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>Bindings</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>https://heycam.github.io/webidl/#es-user-objects</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>148415</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1120528</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-08-24 21:21:06 -0700</bug_when>
    <thetext>Add support for callback interfaces using other callback names than &quot;handleEvent&quot; [1].

This is a pre-requirement for Bug 148415, as NodeFilter&apos;s callback function name is &quot;acceptNode&quot;:
https://dom.spec.whatwg.org/#interface-nodefilter

[1] https://heycam.github.io/webidl/#es-user-objects</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120529</commentid>
    <comment_count>1</comment_count>
      <attachid>259818</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-08-24 21:30:44 -0700</bug_when>
    <thetext>Created attachment 259818
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120536</commentid>
    <comment_count>2</comment_count>
      <attachid>259823</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-08-24 21:43:03 -0700</bug_when>
    <thetext>Created attachment 259823
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120537</commentid>
    <comment_count>3</comment_count>
      <attachid>259824</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-08-24 22:04:01 -0700</bug_when>
    <thetext>Created attachment 259824
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120598</commentid>
    <comment_count>4</comment_count>
      <attachid>259848</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-08-25 09:01:30 -0700</bug_when>
    <thetext>Created attachment 259848
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120601</commentid>
    <comment_count>5</comment_count>
      <attachid>259850</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-08-25 09:08:28 -0700</bug_when>
    <thetext>Created attachment 259850
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120616</commentid>
    <comment_count>6</comment_count>
      <attachid>259850</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-08-25 10:05:00 -0700</bug_when>
    <thetext>Comment on attachment 259850
Patch

Clearing flags on attachment: 259850

Committed r188913: &lt;http://trac.webkit.org/changeset/188913&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120617</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-08-25 10:05:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259818</attachid>
            <date>2015-08-24 21:30:44 -0700</date>
            <delta_ts>2015-08-24 21:42:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148418-20150824213035.patch</filename>
            <type>text/plain</type>
            <size>10030</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4ODY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYwMjE4MWNmOWIyMTRj
N2RiMGU3NTI2M2Y3ZWU5ZmZiZGVlNGQ3NC4uZWE3MGJiMGZmYmJiN2Y5NjBmNGM0ZTBkMmZmODJj
NTg4NTBiMjdlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE1LTA4LTI0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGNh
bGxiYWNrIGludGVyZmFjZXMgdXNpbmcgb3RoZXIgY2FsbGJhY2sgbmFtZXMgdGhhbiAiaGFuZGxl
RXZlbnQiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDg0MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgc3VwcG9ydCBmb3IgY2FsbGJhY2sgaW50ZXJmYWNlcyB1c2luZyBvdGhlciBjYWxsYmFjayBu
YW1lcyB0aGFuCisgICAgICAgICJoYW5kbGVFdmVudCIgWzFdLgorCisgICAgICAgIFRoaXMgaXMg
YSBwcmUtcmVxdWlyZW1lbnQgZm9yIEJ1ZyAxNDg0MTUsIGFzIE5vZGVGaWx0ZXIncyBjYWxsYmFj
aworICAgICAgICBmdW5jdGlvbiBuYW1lIGlzICJhY2NlcHROb2RlIjoKKyAgICAgICAgLSBodHRw
czovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2ludGVyZmFjZS1ub2RlZmlsdGVyCisKKyAgICAgICAg
WzFdIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2VzLXVzZXItb2JqZWN0cworCisg
ICAgICAgICogYmluZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SlNDYWxsYmFja0RhdGE6Omludm9rZUNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0NhbGxiYWNrRGF0YS5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ3VzdG9tU1FMU3Rh
dGVtZW50RXJyb3JDYWxsYmFjay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1NRTFN0YXRlbWVu
dEVycm9yQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1Jl
cXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRl
Q2FsbGJhY2tJbXBsZW1lbnRhdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdENhbGxiYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdENhbGxiYWNr
OjpjYWxsYmFja1dpdGhOb1BhcmFtKToKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdENhbGxiYWNr
OjpjYWxsYmFja1dpdGhBcnJheVBhcmFtKToKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdENhbGxi
YWNrOjpjYWxsYmFja1dpdGhTZXJpYWxpemVkU2NyaXB0VmFsdWVQYXJhbSk6CisgICAgICAgIChX
ZWJDb3JlOjpKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoU3RyaW5nTGlzdCk6CisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoQm9vbGVhbik6CisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tSZXF1aXJlc1RoaXNUb1Bhc3MpOgor
CiAyMDE1LTA4LTI0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIGF0dGVtcHQgdG8gZml4IGlPUyBidWlsZCBhZnRlciByMTg4ODYw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5jcHAKaW5kZXgg
NDRmM2Y2NjY5ZTBjNWZjZTk3YTY0MDliMmMwZjM4NDgwMDQ1YTQ1Yy4uMTMwNmQ3MDdlMDA0NDZj
NThhZGM5Y2FlNjhkZjRlNmU4YTg1OTA2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQ2FsbGJhY2tEYXRhLmNwcApAQCAtNDMsMTMgKzQzLDEzIEBAIHZvaWQgSlNDYWxsYmFj
a0RhdGE6OmRlbGV0ZURhdGEodm9pZCogY29udGV4dCkKICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8
SlNDYWxsYmFja0RhdGEqPihjb250ZXh0KTsKIH0KIAotSlNWYWx1ZSBKU0NhbGxiYWNrRGF0YTo6
aW52b2tlQ2FsbGJhY2soTWFya2VkQXJndW1lbnRCdWZmZXImIGFyZ3MsIGJvb2wqIHJhaXNlZEV4
Y2VwdGlvbikKK0pTVmFsdWUgSlNDYWxsYmFja0RhdGE6Omludm9rZUNhbGxiYWNrKE1hcmtlZEFy
Z3VtZW50QnVmZmVyJiBhcmdzLCBTdHJpbmcgZnVuY3Rpb25OYW1lLCBib29sKiByYWlzZWRFeGNl
cHRpb24pCiB7CiAgICAgQVNTRVJUKGNhbGxiYWNrKCkpOwotICAgIHJldHVybiBpbnZva2VDYWxs
YmFjayhjYWxsYmFjaygpLCBhcmdzLCByYWlzZWRFeGNlcHRpb24pOworICAgIHJldHVybiBpbnZv
a2VDYWxsYmFjayhjYWxsYmFjaygpLCBhcmdzLCBmdW5jdGlvbk5hbWUsIHJhaXNlZEV4Y2VwdGlv
bik7CiB9CiAKLUpTVmFsdWUgSlNDYWxsYmFja0RhdGE6Omludm9rZUNhbGxiYWNrKEpTVmFsdWUg
dGhpc1ZhbHVlLCBNYXJrZWRBcmd1bWVudEJ1ZmZlciYgYXJncywgYm9vbCogcmFpc2VkRXhjZXB0
aW9uKQorSlNWYWx1ZSBKU0NhbGxiYWNrRGF0YTo6aW52b2tlQ2FsbGJhY2soSlNWYWx1ZSB0aGlz
VmFsdWUsIE1hcmtlZEFyZ3VtZW50QnVmZmVyJiBhcmdzLCBTdHJpbmcgZnVuY3Rpb25OYW1lLCBi
b29sKiByYWlzZWRFeGNlcHRpb24pCiB7CiAgICAgQVNTRVJUKGNhbGxiYWNrKCkpOwogICAgIEFT
U0VSVChnbG9iYWxPYmplY3QoKSk7CkBAIC02MCw3ICs2MCw3IEBAIEpTVmFsdWUgSlNDYWxsYmFj
a0RhdGE6Omludm9rZUNhbGxiYWNrKEpTVmFsdWUgdGhpc1ZhbHVlLCBNYXJrZWRBcmd1bWVudEJ1
ZmZlciYKICAgICBDYWxsRGF0YSBjYWxsRGF0YTsKICAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IGNh
bGxiYWNrKCktPm1ldGhvZFRhYmxlKCktPmdldENhbGxEYXRhKGNhbGxiYWNrKCksIGNhbGxEYXRh
KTsKICAgICBpZiAoY2FsbFR5cGUgPT0gQ2FsbFR5cGVOb25lKSB7Ci0gICAgICAgIGZ1bmN0aW9u
ID0gY2FsbGJhY2soKS0+Z2V0KGV4ZWMsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoZXhlYywgImhh
bmRsZUV2ZW50IikpOworICAgICAgICBmdW5jdGlvbiA9IGNhbGxiYWNrKCktPmdldChleGVjLCBJ
ZGVudGlmaWVyOjpmcm9tU3RyaW5nKGV4ZWMsIGZ1bmN0aW9uTmFtZSkpOwogICAgICAgICBjYWxs
VHlwZSA9IGdldENhbGxEYXRhKGZ1bmN0aW9uLCBjYWxsRGF0YSk7CiAgICAgICAgIGlmIChjYWxs
VHlwZSA9PSBDYWxsVHlwZU5vbmUpCiAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ2FsbGJhY2tEYXRhLmgKaW5kZXggODNhZTg5NzQ3
MzFiOGY4NDgwMGQ4MTQ2MzMzM2IwMzA5NjIxNWE0MS4uOGY2ZDBmMWMxZDE4YmZiNTJkYTViNTc3
Mzg5YjZjMmZmMTY5ODMwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNDYWxsYmFja0RhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NhbGxi
YWNrRGF0YS5oCkBAIC02Niw4ICs2Niw4IEBAIHB1YmxpYzoKICAgICBKU0M6OkpTT2JqZWN0KiBj
YWxsYmFjaygpIHsgcmV0dXJuIG1fY2FsbGJhY2suZ2V0KCk7IH0KICAgICBKU0RPTUdsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0KCkgeyByZXR1cm4gbV9nbG9iYWxPYmplY3QuZ2V0KCk7IH0KICAg
ICAKLSAgICBKU0M6OkpTVmFsdWUgaW52b2tlQ2FsbGJhY2soSlNDOjpNYXJrZWRBcmd1bWVudEJ1
ZmZlciYsIGJvb2wqIHJhaXNlZEV4Y2VwdGlvbiA9IDApOwotICAgIEpTQzo6SlNWYWx1ZSBpbnZv
a2VDYWxsYmFjayhKU0M6OkpTVmFsdWUgdGhpc1ZhbHVlLCBKU0M6Ok1hcmtlZEFyZ3VtZW50QnVm
ZmVyJiwgYm9vbCogcmFpc2VkRXhjZXB0aW9uID0gMCk7CisgICAgSlNDOjpKU1ZhbHVlIGludm9r
ZUNhbGxiYWNrKEpTQzo6TWFya2VkQXJndW1lbnRCdWZmZXImLCBTdHJpbmcgZnVuY3Rpb25OYW1l
LCBib29sKiByYWlzZWRFeGNlcHRpb24gPSBudWxscHRyKTsKKyAgICBKU0M6OkpTVmFsdWUgaW52
b2tlQ2FsbGJhY2soSlNDOjpKU1ZhbHVlIHRoaXNWYWx1ZSwgSlNDOjpNYXJrZWRBcmd1bWVudEJ1
ZmZlciYsIFN0cmluZyBmdW5jdGlvbk5hbWUsIGJvb2wqIHJhaXNlZEV4Y2VwdGlvbiA9IG51bGxw
dHIpOwogCiBwcml2YXRlOgogICAgIEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+IG1fY2FsbGJh
Y2s7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVNRTFN0
YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlND
dXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcAppbmRleCAwMTFmZjlhZjY5YzExYzU4
YmRhNWE1MjUwM2Q0OGFiNjNmM2Y4ZTk2Li5lODk0NGI1YWNhNjU2YjIxNjFlZDg5YzkzOWMxYzFi
Y2Q2MzEzN2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3Rv
bVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTQ3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAKQEAgLTU0LDcgKzU0
LDcgQEAgYm9vbCBKU1NRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KFNRTFRy
YW5zYWN0aW9uKiB0cmFuc2FjdGlvbiwgU1FMRXIKICAgICBhcmdzLmFwcGVuZCh0b0pTKGV4ZWMs
IG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCksIGVycm9yKSk7CiAKICAgICBib29sIHJhaXNlZEV4Y2Vw
dGlvbiA9IGZhbHNlOwotICAgIEpTVmFsdWUgcmVzdWx0ID0gbV9kYXRhLT5pbnZva2VDYWxsYmFj
ayhhcmdzLCAmcmFpc2VkRXhjZXB0aW9uKTsKKyAgICBKU1ZhbHVlIHJlc3VsdCA9IG1fZGF0YS0+
aW52b2tlQ2FsbGJhY2soYXJncywgQVNDSUlMaXRlcmFsKCJoYW5kbGVFdmVudCIpLCAmcmFpc2Vk
RXhjZXB0aW9uKTsKICAgICBpZiAocmFpc2VkRXhjZXB0aW9uKSB7CiAgICAgICAgIC8vIFRoZSBz
cGVjIHNheXM6CiAgICAgICAgIC8vICJJZiB0aGUgZXJyb3IgY2FsbGJhY2sgcmV0dXJucyBmYWxz
ZSwgdGhlbiBtb3ZlIG9uIHRvIHRoZSBuZXh0IHN0YXRlbWVudC4uLiIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2tD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZXF1ZXN0QW5pbWF0aW9u
RnJhbWVDYWxsYmFja0N1c3RvbS5jcHAKaW5kZXggOTE3ODVhNDI1MjI4ZjVkZjQ4Mjk2MmFmN2Yw
ZjM2NTI0OWUzYzE2Ni4uNTU0YzY0YjY3Y2QxYjM1NjZmN2M0N2QyMWRiOTU2ZDEwNzE0MjhmZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZXF1ZXN0QW5pbWF0aW9u
RnJhbWVDYWxsYmFja0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFja0N1c3RvbS5jcHAKQEAgLTQ2LDcgKzQ2LDcg
QEAgYm9vbCBKU1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrOjpoYW5kbGVFdmVudChkb3Vi
bGUgaGlnaFJlc05vd01zKQogICAgIGFyZ3MuYXBwZW5kKGpzTnVtYmVyKGhpZ2hSZXNOb3dNcykp
OwogCiAgICAgYm9vbCByYWlzZWRFeGNlcHRpb24gPSBmYWxzZTsKLSAgICBtX2RhdGEtPmludm9r
ZUNhbGxiYWNrKGFyZ3MsICZyYWlzZWRFeGNlcHRpb24pOworICAgIG1fZGF0YS0+aW52b2tlQ2Fs
bGJhY2soYXJncywgQVNDSUlMaXRlcmFsKCJoYW5kbGVFdmVudCIpLCAmcmFpc2VkRXhjZXB0aW9u
KTsKICAgICByZXR1cm4gIXJhaXNlZEV4Y2VwdGlvbjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCBiYjRmZTFlMjU0
NGU3ZDYwZDI5OTUyODBjMjZiMWEwZTcxYmJhOWUyLi4zYzhhMTgwNzNjM2NjM2ExZjczZjlmZjgw
NTk4ZTg4ZjgyMDIzZDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMzU3MCw3ICszNTcwLDggQEAgc3ViIEdlbmVyYXRl
Q2FsbGJhY2tJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBBZGRJ
bmNsdWRlc0ZvclR5cGVJbkltcGwoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPnR5cGUpOwotICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiIgLiBHZXROYXRpdmVUeXBlRm9yQ2FsbGJhY2tz
KCRmdW5jdGlvbi0+c2lnbmF0dXJlLT50eXBlKSAuICIgJHtjbGFzc05hbWV9OjoiIC4gJGZ1bmN0
aW9uLT5zaWduYXR1cmUtPm5hbWUgLiAiKCIpOworICAgICAgICAgICAgbXkgJGZ1bmN0aW9uTmFt
ZSA9ICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5uYW1lOworICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICJcbiIgLiBHZXROYXRpdmVUeXBlRm9yQ2FsbGJhY2tzKCRmdW5jdGlvbi0+c2lnbmF0
dXJlLT50eXBlKSAuICIgJHtjbGFzc05hbWV9Ojoke2Z1bmN0aW9uTmFtZX0oIik7CiAKICAgICAg
ICAgICAgIG15IEBhcmdzID0gKCk7CiAgICAgICAgICAgICBteSBAYXJnc0NoZWNrID0gKCk7CkBA
IC0zNjA3LDcgKzM2MDgsNyBAQCBzdWIgR2VuZXJhdGVDYWxsYmFja0ltcGxlbWVudGF0aW9uCiAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiXG4gICAgYm9v
bCByYWlzZWRFeGNlcHRpb24gPSBmYWxzZTtcbiIpOwotICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgbV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCAmcmFpc2VkRXhjZXB0aW9u
KTtcbiIpOworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgbV9kYXRhLT5pbnZv
a2VDYWxsYmFjayhhcmdzLCBBU0NJSUxpdGVyYWwoXCIke2Z1bmN0aW9uTmFtZX1cIiksICZyYWlz
ZWRFeGNlcHRpb24pO1xuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBy
ZXR1cm4gIXJhaXNlZEV4Y2VwdGlvbjtcbiIpOwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICJ9XG4iKTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5jcHAKaW5kZXggNDEwZjU0Y2Ey
YjNmYTdiZTllODQzN2ZlN2EzN2IwOGVjYmIyYzU2ZC4uZmM1NzYwNDU1N2U5ZDczMmE1NzExZmJj
MmZjMjM3MjBlMTkyNTkyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suY3BwCkBAIC03MCw3ICs3MCw3IEBA
IGJvb2wgSlNUZXN0Q2FsbGJhY2s6OmNhbGxiYWNrV2l0aE5vUGFyYW0oKQogICAgIE1hcmtlZEFy
Z3VtZW50QnVmZmVyIGFyZ3M7CiAKICAgICBib29sIHJhaXNlZEV4Y2VwdGlvbiA9IGZhbHNlOwot
ICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywgJnJhaXNlZEV4Y2VwdGlvbik7CisgICAg
bV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCBBU0NJSUxpdGVyYWwoImNhbGxiYWNrV2l0aE5v
UGFyYW0iKSwgJnJhaXNlZEV4Y2VwdGlvbik7CiAgICAgcmV0dXJuICFyYWlzZWRFeGNlcHRpb247
CiB9CiAKQEAgLTg4LDcgKzg4LDcgQEAgYm9vbCBKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRo
QXJyYXlQYXJhbShSZWZQdHI8RmxvYXQzMkFycmF5PiBhcnJheVBhcmFtKQogICAgIGFyZ3MuYXBw
ZW5kKHRvSlMoZXhlYywgbV9kYXRhLT5nbG9iYWxPYmplY3QoKSwgYXJyYXlQYXJhbSkpOwogCiAg
ICAgYm9vbCByYWlzZWRFeGNlcHRpb24gPSBmYWxzZTsKLSAgICBtX2RhdGEtPmludm9rZUNhbGxi
YWNrKGFyZ3MsICZyYWlzZWRFeGNlcHRpb24pOworICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2so
YXJncywgQVNDSUlMaXRlcmFsKCJjYWxsYmFja1dpdGhBcnJheVBhcmFtIiksICZyYWlzZWRFeGNl
cHRpb24pOwogICAgIHJldHVybiAhcmFpc2VkRXhjZXB0aW9uOwogfQogCkBAIC0xMDcsNyArMTA3
LDcgQEAgYm9vbCBKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoU2VyaWFsaXplZFNjcmlwdFZh
bHVlUGFyYW0oUGFzc1JlZlB0cjxTZXJpYWxpemUKICAgICBhcmdzLmFwcGVuZChqc1N0cmluZ1dp
dGhDYWNoZShleGVjLCBzdHJBcmcpKTsKIAogICAgIGJvb2wgcmFpc2VkRXhjZXB0aW9uID0gZmFs
c2U7Ci0gICAgbV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCAmcmFpc2VkRXhjZXB0aW9uKTsK
KyAgICBtX2RhdGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsIEFTQ0lJTGl0ZXJhbCgiY2FsbGJhY2tX
aXRoU2VyaWFsaXplZFNjcmlwdFZhbHVlUGFyYW0iKSwgJnJhaXNlZEV4Y2VwdGlvbik7CiAgICAg
cmV0dXJuICFyYWlzZWRFeGNlcHRpb247CiB9CiAKQEAgLTEyNSw3ICsxMjUsNyBAQCBib29sIEpT
VGVzdENhbGxiYWNrOjpjYWxsYmFja1dpdGhTdHJpbmdMaXN0KFBhc3NSZWZQdHI8RE9NU3RyaW5n
TGlzdD4gbGlzdFBhcmFtKQogICAgIGFyZ3MuYXBwZW5kKHRvSlMoZXhlYywgbV9kYXRhLT5nbG9i
YWxPYmplY3QoKSwgbGlzdFBhcmFtKSk7CiAKICAgICBib29sIHJhaXNlZEV4Y2VwdGlvbiA9IGZh
bHNlOwotICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywgJnJhaXNlZEV4Y2VwdGlvbik7
CisgICAgbV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCBBU0NJSUxpdGVyYWwoImNhbGxiYWNr
V2l0aFN0cmluZ0xpc3QiKSwgJnJhaXNlZEV4Y2VwdGlvbik7CiAgICAgcmV0dXJuICFyYWlzZWRF
eGNlcHRpb247CiB9CiAKQEAgLTE0Myw3ICsxNDMsNyBAQCBib29sIEpTVGVzdENhbGxiYWNrOjpj
YWxsYmFja1dpdGhCb29sZWFuKGJvb2wgYm9vbFBhcmFtKQogICAgIGFyZ3MuYXBwZW5kKGpzQm9v
bGVhbihib29sUGFyYW0pKTsKIAogICAgIGJvb2wgcmFpc2VkRXhjZXB0aW9uID0gZmFsc2U7Ci0g
ICAgbV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCAmcmFpc2VkRXhjZXB0aW9uKTsKKyAgICBt
X2RhdGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsIEFTQ0lJTGl0ZXJhbCgiY2FsbGJhY2tXaXRoQm9v
bGVhbiIpLCAmcmFpc2VkRXhjZXB0aW9uKTsKICAgICByZXR1cm4gIXJhaXNlZEV4Y2VwdGlvbjsK
IH0KIApAQCAtMTYyLDcgKzE2Miw3IEBAIGJvb2wgSlNUZXN0Q2FsbGJhY2s6OmNhbGxiYWNrUmVx
dWlyZXNUaGlzVG9QYXNzKGludCBsb25nUGFyYW0sIFRlc3ROb2RlKiB0ZXN0Tm9kCiAgICAgYXJn
cy5hcHBlbmQodG9KUyhleGVjLCBtX2RhdGEtPmdsb2JhbE9iamVjdCgpLCB0ZXN0Tm9kZVBhcmFt
KSk7CiAKICAgICBib29sIHJhaXNlZEV4Y2VwdGlvbiA9IGZhbHNlOwotICAgIG1fZGF0YS0+aW52
b2tlQ2FsbGJhY2soYXJncywgJnJhaXNlZEV4Y2VwdGlvbik7CisgICAgbV9kYXRhLT5pbnZva2VD
YWxsYmFjayhhcmdzLCBBU0NJSUxpdGVyYWwoImNhbGxiYWNrUmVxdWlyZXNUaGlzVG9QYXNzIiks
ICZyYWlzZWRFeGNlcHRpb24pOwogICAgIHJldHVybiAhcmFpc2VkRXhjZXB0aW9uOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259823</attachid>
            <date>2015-08-24 21:43:03 -0700</date>
            <delta_ts>2015-08-24 22:03:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148418-20150824214255.patch</filename>
            <type>text/plain</type>
            <size>10239</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4ODY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYwMjE4MWNmOWIyMTRj
N2RiMGU3NTI2M2Y3ZWU5ZmZiZGVlNGQ3NC4uZWE3MGJiMGZmYmJiN2Y5NjBmNGM0ZTBkMmZmODJj
NTg4NTBiMjdlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE1LTA4LTI0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGNh
bGxiYWNrIGludGVyZmFjZXMgdXNpbmcgb3RoZXIgY2FsbGJhY2sgbmFtZXMgdGhhbiAiaGFuZGxl
RXZlbnQiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDg0MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgc3VwcG9ydCBmb3IgY2FsbGJhY2sgaW50ZXJmYWNlcyB1c2luZyBvdGhlciBjYWxsYmFjayBu
YW1lcyB0aGFuCisgICAgICAgICJoYW5kbGVFdmVudCIgWzFdLgorCisgICAgICAgIFRoaXMgaXMg
YSBwcmUtcmVxdWlyZW1lbnQgZm9yIEJ1ZyAxNDg0MTUsIGFzIE5vZGVGaWx0ZXIncyBjYWxsYmFj
aworICAgICAgICBmdW5jdGlvbiBuYW1lIGlzICJhY2NlcHROb2RlIjoKKyAgICAgICAgLSBodHRw
czovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2ludGVyZmFjZS1ub2RlZmlsdGVyCisKKyAgICAgICAg
WzFdIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2VzLXVzZXItb2JqZWN0cworCisg
ICAgICAgICogYmluZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SlNDYWxsYmFja0RhdGE6Omludm9rZUNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0NhbGxiYWNrRGF0YS5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ3VzdG9tU1FMU3Rh
dGVtZW50RXJyb3JDYWxsYmFjay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1NRTFN0YXRlbWVu
dEVycm9yQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1Jl
cXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRl
Q2FsbGJhY2tJbXBsZW1lbnRhdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdENhbGxiYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdENhbGxiYWNr
OjpjYWxsYmFja1dpdGhOb1BhcmFtKToKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdENhbGxiYWNr
OjpjYWxsYmFja1dpdGhBcnJheVBhcmFtKToKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdENhbGxi
YWNrOjpjYWxsYmFja1dpdGhTZXJpYWxpemVkU2NyaXB0VmFsdWVQYXJhbSk6CisgICAgICAgIChX
ZWJDb3JlOjpKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoU3RyaW5nTGlzdCk6CisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoQm9vbGVhbik6CisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tSZXF1aXJlc1RoaXNUb1Bhc3MpOgor
CiAyMDE1LTA4LTI0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIGF0dGVtcHQgdG8gZml4IGlPUyBidWlsZCBhZnRlciByMTg4ODYw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5jcHAKaW5kZXgg
NDRmM2Y2NjY5ZTBjNWZjZTk3YTY0MDliMmMwZjM4NDgwMDQ1YTQ1Yy4uOGQ5Nzc1NjdjODdjMDU5
MDI2MTdlMTk3YTM3ZWI2YWExNDQ2NGQ0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQ2FsbGJhY2tEYXRhLmNwcApAQCAtNDMsMTMgKzQzLDEzIEBAIHZvaWQgSlNDYWxsYmFj
a0RhdGE6OmRlbGV0ZURhdGEodm9pZCogY29udGV4dCkKICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8
SlNDYWxsYmFja0RhdGEqPihjb250ZXh0KTsKIH0KIAotSlNWYWx1ZSBKU0NhbGxiYWNrRGF0YTo6
aW52b2tlQ2FsbGJhY2soTWFya2VkQXJndW1lbnRCdWZmZXImIGFyZ3MsIGJvb2wqIHJhaXNlZEV4
Y2VwdGlvbikKK0pTVmFsdWUgSlNDYWxsYmFja0RhdGE6Omludm9rZUNhbGxiYWNrKE1hcmtlZEFy
Z3VtZW50QnVmZmVyJiBhcmdzLCBQcm9wZXJ0eU5hbWUgZnVuY3Rpb25OYW1lLCBib29sKiByYWlz
ZWRFeGNlcHRpb24pCiB7CiAgICAgQVNTRVJUKGNhbGxiYWNrKCkpOwotICAgIHJldHVybiBpbnZv
a2VDYWxsYmFjayhjYWxsYmFjaygpLCBhcmdzLCByYWlzZWRFeGNlcHRpb24pOworICAgIHJldHVy
biBpbnZva2VDYWxsYmFjayhjYWxsYmFjaygpLCBhcmdzLCBmdW5jdGlvbk5hbWUsIHJhaXNlZEV4
Y2VwdGlvbik7CiB9CiAKLUpTVmFsdWUgSlNDYWxsYmFja0RhdGE6Omludm9rZUNhbGxiYWNrKEpT
VmFsdWUgdGhpc1ZhbHVlLCBNYXJrZWRBcmd1bWVudEJ1ZmZlciYgYXJncywgYm9vbCogcmFpc2Vk
RXhjZXB0aW9uKQorSlNWYWx1ZSBKU0NhbGxiYWNrRGF0YTo6aW52b2tlQ2FsbGJhY2soSlNWYWx1
ZSB0aGlzVmFsdWUsIE1hcmtlZEFyZ3VtZW50QnVmZmVyJiBhcmdzLCBQcm9wZXJ0eU5hbWUgZnVu
Y3Rpb25OYW1lLCBib29sKiByYWlzZWRFeGNlcHRpb24pCiB7CiAgICAgQVNTRVJUKGNhbGxiYWNr
KCkpOwogICAgIEFTU0VSVChnbG9iYWxPYmplY3QoKSk7CkBAIC02MCw3ICs2MCw3IEBAIEpTVmFs
dWUgSlNDYWxsYmFja0RhdGE6Omludm9rZUNhbGxiYWNrKEpTVmFsdWUgdGhpc1ZhbHVlLCBNYXJr
ZWRBcmd1bWVudEJ1ZmZlciYKICAgICBDYWxsRGF0YSBjYWxsRGF0YTsKICAgICBDYWxsVHlwZSBj
YWxsVHlwZSA9IGNhbGxiYWNrKCktPm1ldGhvZFRhYmxlKCktPmdldENhbGxEYXRhKGNhbGxiYWNr
KCksIGNhbGxEYXRhKTsKICAgICBpZiAoY2FsbFR5cGUgPT0gQ2FsbFR5cGVOb25lKSB7Ci0gICAg
ICAgIGZ1bmN0aW9uID0gY2FsbGJhY2soKS0+Z2V0KGV4ZWMsIElkZW50aWZpZXI6OmZyb21TdHJp
bmcoZXhlYywgImhhbmRsZUV2ZW50IikpOworICAgICAgICBmdW5jdGlvbiA9IGNhbGxiYWNrKCkt
PmdldChleGVjLCBmdW5jdGlvbk5hbWUpOwogICAgICAgICBjYWxsVHlwZSA9IGdldENhbGxEYXRh
KGZ1bmN0aW9uLCBjYWxsRGF0YSk7CiAgICAgICAgIGlmIChjYWxsVHlwZSA9PSBDYWxsVHlwZU5v
bmUpCiAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTQ2FsbGJhY2tEYXRhLmgKaW5kZXggODNhZTg5NzQ3MzFiOGY4NDgwMGQ4MTQ2MzMz
M2IwMzA5NjIxNWE0MS4uYjUyMzlhODcwMDg3MTgyNTgyZDEwZTc5MTc0ZTcwNGM0N2IyM2YyZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5oCkBAIC02Niw4
ICs2Niw4IEBAIHB1YmxpYzoKICAgICBKU0M6OkpTT2JqZWN0KiBjYWxsYmFjaygpIHsgcmV0dXJu
IG1fY2FsbGJhY2suZ2V0KCk7IH0KICAgICBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KCkgeyByZXR1cm4gbV9nbG9iYWxPYmplY3QuZ2V0KCk7IH0KICAgICAKLSAgICBKU0M6OkpTVmFs
dWUgaW52b2tlQ2FsbGJhY2soSlNDOjpNYXJrZWRBcmd1bWVudEJ1ZmZlciYsIGJvb2wqIHJhaXNl
ZEV4Y2VwdGlvbiA9IDApOwotICAgIEpTQzo6SlNWYWx1ZSBpbnZva2VDYWxsYmFjayhKU0M6OkpT
VmFsdWUgdGhpc1ZhbHVlLCBKU0M6Ok1hcmtlZEFyZ3VtZW50QnVmZmVyJiwgYm9vbCogcmFpc2Vk
RXhjZXB0aW9uID0gMCk7CisgICAgSlNDOjpKU1ZhbHVlIGludm9rZUNhbGxiYWNrKEpTQzo6TWFy
a2VkQXJndW1lbnRCdWZmZXImLCBKU0M6OlByb3BlcnR5TmFtZSBmdW5jdGlvbk5hbWUsIGJvb2wq
IHJhaXNlZEV4Y2VwdGlvbiA9IG51bGxwdHIpOworICAgIEpTQzo6SlNWYWx1ZSBpbnZva2VDYWxs
YmFjayhKU0M6OkpTVmFsdWUgdGhpc1ZhbHVlLCBKU0M6Ok1hcmtlZEFyZ3VtZW50QnVmZmVyJiwg
SlNDOjpQcm9wZXJ0eU5hbWUgZnVuY3Rpb25OYW1lLCBib29sKiByYWlzZWRFeGNlcHRpb24gPSBu
dWxscHRyKTsKIAogcHJpdmF0ZToKICAgICBKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiBtX2Nh
bGxiYWNrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21T
UUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTQ3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAKaW5kZXggMDExZmY5YWY2OWMx
MWM1OGJkYTVhNTI1MDNkNDhhYjYzZjNmOGU5Ni4uZDMzNzJiZGExNjFlZDRhMDFkMzhmMjRhYTAy
YTJjOGFlNDMwODIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlND
dXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0N1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwCkBAIC01NCw3
ICs1NCw3IEBAIGJvb2wgSlNTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrOjpoYW5kbGVFdmVudChT
UUxUcmFuc2FjdGlvbiogdHJhbnNhY3Rpb24sIFNRTEVyCiAgICAgYXJncy5hcHBlbmQodG9KUyhl
eGVjLCBtX2RhdGEtPmdsb2JhbE9iamVjdCgpLCBlcnJvcikpOwogCiAgICAgYm9vbCByYWlzZWRF
eGNlcHRpb24gPSBmYWxzZTsKLSAgICBKU1ZhbHVlIHJlc3VsdCA9IG1fZGF0YS0+aW52b2tlQ2Fs
bGJhY2soYXJncywgJnJhaXNlZEV4Y2VwdGlvbik7CisgICAgSlNWYWx1ZSByZXN1bHQgPSBtX2Rh
dGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoZXhlYywgImhh
bmRsZUV2ZW50IiksICZyYWlzZWRFeGNlcHRpb24pOwogICAgIGlmIChyYWlzZWRFeGNlcHRpb24p
IHsKICAgICAgICAgLy8gVGhlIHNwZWMgc2F5czoKICAgICAgICAgLy8gIklmIHRoZSBlcnJvciBj
YWxsYmFjayByZXR1cm5zIGZhbHNlLCB0aGVuIG1vdmUgb24gdG8gdGhlIG5leHQgc3RhdGVtZW50
Li4uIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZXF1ZXN0QW5p
bWF0aW9uRnJhbWVDYWxsYmFja0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrQ3VzdG9tLmNwcAppbmRleCA5MTc4NWE0
MjUyMjhmNWRmNDgyOTYyYWY3ZjBmMzY1MjQ5ZTNjMTY2Li40ZjdkNjBmZmU0OWU2YWFmNDM1MWI3
OGJjYzY4ODAwNGIyODZiMWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrQ3VzdG9t
LmNwcApAQCAtNDYsNyArNDYsOCBAQCBib29sIEpTUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJh
Y2s6OmhhbmRsZUV2ZW50KGRvdWJsZSBoaWdoUmVzTm93TXMpCiAgICAgYXJncy5hcHBlbmQoanNO
dW1iZXIoaGlnaFJlc05vd01zKSk7CiAKICAgICBib29sIHJhaXNlZEV4Y2VwdGlvbiA9IGZhbHNl
OwotICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywgJnJhaXNlZEV4Y2VwdGlvbik7Cisg
ICAgRXhlY1N0YXRlKiBleGVjID0gbV9kYXRhLT5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygp
OworICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywgSWRlbnRpZmllcjo6ZnJvbVN0cmlu
ZyhleGVjLCAiaGFuZGxlRXZlbnQiKSwgJnJhaXNlZEV4Y2VwdGlvbik7CiAgICAgcmV0dXJuICFy
YWlzZWRFeGNlcHRpb247CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggYmI0ZmUxZTI1NDRlN2Q2MGQyOTk1MjgwYzI2
YjFhMGU3MWJiYTllMi4uN2YxMGY5ZGNlZDc0MzJkNjY4Mzg1OTAzZmJiZTVhNmRkNDM3MjI4OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KQEAgLTM1NzAsNyArMzU3MCw4IEBAIHN1YiBHZW5lcmF0ZUNhbGxiYWNrSW1wbGVtZW50
YXRpb24KICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgQWRkSW5jbHVkZXNGb3JUeXBlSW5J
bXBsKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT50eXBlKTsKLSAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiXG4iIC4gR2V0TmF0aXZlVHlwZUZvckNhbGxiYWNrcygkZnVuY3Rpb24tPnNpZ25h
dHVyZS0+dHlwZSkgLiAiICR7Y2xhc3NOYW1lfTo6IiAuICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5u
YW1lIC4gIigiKTsKKyAgICAgICAgICAgIG15ICRmdW5jdGlvbk5hbWUgPSAkZnVuY3Rpb24tPnNp
Z25hdHVyZS0+bmFtZTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiXG4iIC4gR2V0
TmF0aXZlVHlwZUZvckNhbGxiYWNrcygkZnVuY3Rpb24tPnNpZ25hdHVyZS0+dHlwZSkgLiAiICR7
Y2xhc3NOYW1lfTo6JHtmdW5jdGlvbk5hbWV9KCIpOwogCiAgICAgICAgICAgICBteSBAYXJncyA9
ICgpOwogICAgICAgICAgICAgbXkgQGFyZ3NDaGVjayA9ICgpOwpAQCAtMzYwNyw3ICszNjA4LDcg
QEAgc3ViIEdlbmVyYXRlQ2FsbGJhY2tJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgfQogCiAg
ICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIlxuICAgIGJvb2wgcmFpc2VkRXhjZXB0aW9u
ID0gZmFsc2U7XG4iKTsKLSAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIG1fZGF0
YS0+aW52b2tlQ2FsbGJhY2soYXJncywgJnJhaXNlZEV4Y2VwdGlvbik7XG4iKTsKKyAgICAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywg
SWRlbnRpZmllcjo6ZnJvbVN0cmluZyhleGVjLCBcIiR7ZnVuY3Rpb25OYW1lfVwiKSwgJnJhaXNl
ZEV4Y2VwdGlvbik7XG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJl
dHVybiAhcmFpc2VkRXhjZXB0aW9uO1xuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIn1cbiIpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrLmNwcAppbmRleCA0MTBmNTRjYTJi
M2ZhN2JlOWU4NDM3ZmU3YTM3YjA4ZWNiYjJjNTZkLi40OTIzMmZhNGNmMjMxZmY3ZDMzOTk5YzIz
YThmZjNiM2E4NDRjYTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5jcHAKQEAgLTcwLDcgKzcwLDcgQEAg
Ym9vbCBKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoTm9QYXJhbSgpCiAgICAgTWFya2VkQXJn
dW1lbnRCdWZmZXIgYXJnczsKIAogICAgIGJvb2wgcmFpc2VkRXhjZXB0aW9uID0gZmFsc2U7Ci0g
ICAgbV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCAmcmFpc2VkRXhjZXB0aW9uKTsKKyAgICBt
X2RhdGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoZXhlYywg
ImNhbGxiYWNrV2l0aE5vUGFyYW0iKSwgJnJhaXNlZEV4Y2VwdGlvbik7CiAgICAgcmV0dXJuICFy
YWlzZWRFeGNlcHRpb247CiB9CiAKQEAgLTg4LDcgKzg4LDcgQEAgYm9vbCBKU1Rlc3RDYWxsYmFj
azo6Y2FsbGJhY2tXaXRoQXJyYXlQYXJhbShSZWZQdHI8RmxvYXQzMkFycmF5PiBhcnJheVBhcmFt
KQogICAgIGFyZ3MuYXBwZW5kKHRvSlMoZXhlYywgbV9kYXRhLT5nbG9iYWxPYmplY3QoKSwgYXJy
YXlQYXJhbSkpOwogCiAgICAgYm9vbCByYWlzZWRFeGNlcHRpb24gPSBmYWxzZTsKLSAgICBtX2Rh
dGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsICZyYWlzZWRFeGNlcHRpb24pOworICAgIG1fZGF0YS0+
aW52b2tlQ2FsbGJhY2soYXJncywgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyhleGVjLCAiY2FsbGJh
Y2tXaXRoQXJyYXlQYXJhbSIpLCAmcmFpc2VkRXhjZXB0aW9uKTsKICAgICByZXR1cm4gIXJhaXNl
ZEV4Y2VwdGlvbjsKIH0KIApAQCAtMTA3LDcgKzEwNyw3IEBAIGJvb2wgSlNUZXN0Q2FsbGJhY2s6
OmNhbGxiYWNrV2l0aFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZVBhcmFtKFBhc3NSZWZQdHI8U2VyaWFs
aXplCiAgICAgYXJncy5hcHBlbmQoanNTdHJpbmdXaXRoQ2FjaGUoZXhlYywgc3RyQXJnKSk7CiAK
ICAgICBib29sIHJhaXNlZEV4Y2VwdGlvbiA9IGZhbHNlOwotICAgIG1fZGF0YS0+aW52b2tlQ2Fs
bGJhY2soYXJncywgJnJhaXNlZEV4Y2VwdGlvbik7CisgICAgbV9kYXRhLT5pbnZva2VDYWxsYmFj
ayhhcmdzLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKGV4ZWMsICJjYWxsYmFja1dpdGhTZXJpYWxp
emVkU2NyaXB0VmFsdWVQYXJhbSIpLCAmcmFpc2VkRXhjZXB0aW9uKTsKICAgICByZXR1cm4gIXJh
aXNlZEV4Y2VwdGlvbjsKIH0KIApAQCAtMTI1LDcgKzEyNSw3IEBAIGJvb2wgSlNUZXN0Q2FsbGJh
Y2s6OmNhbGxiYWNrV2l0aFN0cmluZ0xpc3QoUGFzc1JlZlB0cjxET01TdHJpbmdMaXN0PiBsaXN0
UGFyYW0pCiAgICAgYXJncy5hcHBlbmQodG9KUyhleGVjLCBtX2RhdGEtPmdsb2JhbE9iamVjdCgp
LCBsaXN0UGFyYW0pKTsKIAogICAgIGJvb2wgcmFpc2VkRXhjZXB0aW9uID0gZmFsc2U7Ci0gICAg
bV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCAmcmFpc2VkRXhjZXB0aW9uKTsKKyAgICBtX2Rh
dGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoZXhlYywgImNh
bGxiYWNrV2l0aFN0cmluZ0xpc3QiKSwgJnJhaXNlZEV4Y2VwdGlvbik7CiAgICAgcmV0dXJuICFy
YWlzZWRFeGNlcHRpb247CiB9CiAKQEAgLTE0Myw3ICsxNDMsNyBAQCBib29sIEpTVGVzdENhbGxi
YWNrOjpjYWxsYmFja1dpdGhCb29sZWFuKGJvb2wgYm9vbFBhcmFtKQogICAgIGFyZ3MuYXBwZW5k
KGpzQm9vbGVhbihib29sUGFyYW0pKTsKIAogICAgIGJvb2wgcmFpc2VkRXhjZXB0aW9uID0gZmFs
c2U7Ci0gICAgbV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCAmcmFpc2VkRXhjZXB0aW9uKTsK
KyAgICBtX2RhdGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsIElkZW50aWZpZXI6OmZyb21TdHJpbmco
ZXhlYywgImNhbGxiYWNrV2l0aEJvb2xlYW4iKSwgJnJhaXNlZEV4Y2VwdGlvbik7CiAgICAgcmV0
dXJuICFyYWlzZWRFeGNlcHRpb247CiB9CiAKQEAgLTE2Miw3ICsxNjIsNyBAQCBib29sIEpTVGVz
dENhbGxiYWNrOjpjYWxsYmFja1JlcXVpcmVzVGhpc1RvUGFzcyhpbnQgbG9uZ1BhcmFtLCBUZXN0
Tm9kZSogdGVzdE5vZAogICAgIGFyZ3MuYXBwZW5kKHRvSlMoZXhlYywgbV9kYXRhLT5nbG9iYWxP
YmplY3QoKSwgdGVzdE5vZGVQYXJhbSkpOwogCiAgICAgYm9vbCByYWlzZWRFeGNlcHRpb24gPSBm
YWxzZTsKLSAgICBtX2RhdGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsICZyYWlzZWRFeGNlcHRpb24p
OworICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywgSWRlbnRpZmllcjo6ZnJvbVN0cmlu
ZyhleGVjLCAiY2FsbGJhY2tSZXF1aXJlc1RoaXNUb1Bhc3MiKSwgJnJhaXNlZEV4Y2VwdGlvbik7
CiAgICAgcmV0dXJuICFyYWlzZWRFeGNlcHRpb247CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259824</attachid>
            <date>2015-08-24 22:04:01 -0700</date>
            <delta_ts>2015-08-25 09:01:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148418-20150824220353.patch</filename>
            <type>text/plain</type>
            <size>10883</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4ODY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYwMjE4MWNmOWIyMTRj
N2RiMGU3NTI2M2Y3ZWU5ZmZiZGVlNGQ3NC4uZWE3MGJiMGZmYmJiN2Y5NjBmNGM0ZTBkMmZmODJj
NTg4NTBiMjdlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE1LTA4LTI0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGNh
bGxiYWNrIGludGVyZmFjZXMgdXNpbmcgb3RoZXIgY2FsbGJhY2sgbmFtZXMgdGhhbiAiaGFuZGxl
RXZlbnQiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDg0MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgc3VwcG9ydCBmb3IgY2FsbGJhY2sgaW50ZXJmYWNlcyB1c2luZyBvdGhlciBjYWxsYmFjayBu
YW1lcyB0aGFuCisgICAgICAgICJoYW5kbGVFdmVudCIgWzFdLgorCisgICAgICAgIFRoaXMgaXMg
YSBwcmUtcmVxdWlyZW1lbnQgZm9yIEJ1ZyAxNDg0MTUsIGFzIE5vZGVGaWx0ZXIncyBjYWxsYmFj
aworICAgICAgICBmdW5jdGlvbiBuYW1lIGlzICJhY2NlcHROb2RlIjoKKyAgICAgICAgLSBodHRw
czovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2ludGVyZmFjZS1ub2RlZmlsdGVyCisKKyAgICAgICAg
WzFdIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2VzLXVzZXItb2JqZWN0cworCisg
ICAgICAgICogYmluZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SlNDYWxsYmFja0RhdGE6Omludm9rZUNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0NhbGxiYWNrRGF0YS5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ3VzdG9tU1FMU3Rh
dGVtZW50RXJyb3JDYWxsYmFjay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1NRTFN0YXRlbWVu
dEVycm9yQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1Jl
cXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRl
Q2FsbGJhY2tJbXBsZW1lbnRhdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdENhbGxiYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdENhbGxiYWNr
OjpjYWxsYmFja1dpdGhOb1BhcmFtKToKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdENhbGxiYWNr
OjpjYWxsYmFja1dpdGhBcnJheVBhcmFtKToKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdENhbGxi
YWNrOjpjYWxsYmFja1dpdGhTZXJpYWxpemVkU2NyaXB0VmFsdWVQYXJhbSk6CisgICAgICAgIChX
ZWJDb3JlOjpKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoU3RyaW5nTGlzdCk6CisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoQm9vbGVhbik6CisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tSZXF1aXJlc1RoaXNUb1Bhc3MpOgor
CiAyMDE1LTA4LTI0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIGF0dGVtcHQgdG8gZml4IGlPUyBidWlsZCBhZnRlciByMTg4ODYw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5jcHAKaW5kZXgg
NDRmM2Y2NjY5ZTBjNWZjZTk3YTY0MDliMmMwZjM4NDgwMDQ1YTQ1Yy4uOGQ5Nzc1NjdjODdjMDU5
MDI2MTdlMTk3YTM3ZWI2YWExNDQ2NGQ0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQ2FsbGJhY2tEYXRhLmNwcApAQCAtNDMsMTMgKzQzLDEzIEBAIHZvaWQgSlNDYWxsYmFj
a0RhdGE6OmRlbGV0ZURhdGEodm9pZCogY29udGV4dCkKICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8
SlNDYWxsYmFja0RhdGEqPihjb250ZXh0KTsKIH0KIAotSlNWYWx1ZSBKU0NhbGxiYWNrRGF0YTo6
aW52b2tlQ2FsbGJhY2soTWFya2VkQXJndW1lbnRCdWZmZXImIGFyZ3MsIGJvb2wqIHJhaXNlZEV4
Y2VwdGlvbikKK0pTVmFsdWUgSlNDYWxsYmFja0RhdGE6Omludm9rZUNhbGxiYWNrKE1hcmtlZEFy
Z3VtZW50QnVmZmVyJiBhcmdzLCBQcm9wZXJ0eU5hbWUgZnVuY3Rpb25OYW1lLCBib29sKiByYWlz
ZWRFeGNlcHRpb24pCiB7CiAgICAgQVNTRVJUKGNhbGxiYWNrKCkpOwotICAgIHJldHVybiBpbnZv
a2VDYWxsYmFjayhjYWxsYmFjaygpLCBhcmdzLCByYWlzZWRFeGNlcHRpb24pOworICAgIHJldHVy
biBpbnZva2VDYWxsYmFjayhjYWxsYmFjaygpLCBhcmdzLCBmdW5jdGlvbk5hbWUsIHJhaXNlZEV4
Y2VwdGlvbik7CiB9CiAKLUpTVmFsdWUgSlNDYWxsYmFja0RhdGE6Omludm9rZUNhbGxiYWNrKEpT
VmFsdWUgdGhpc1ZhbHVlLCBNYXJrZWRBcmd1bWVudEJ1ZmZlciYgYXJncywgYm9vbCogcmFpc2Vk
RXhjZXB0aW9uKQorSlNWYWx1ZSBKU0NhbGxiYWNrRGF0YTo6aW52b2tlQ2FsbGJhY2soSlNWYWx1
ZSB0aGlzVmFsdWUsIE1hcmtlZEFyZ3VtZW50QnVmZmVyJiBhcmdzLCBQcm9wZXJ0eU5hbWUgZnVu
Y3Rpb25OYW1lLCBib29sKiByYWlzZWRFeGNlcHRpb24pCiB7CiAgICAgQVNTRVJUKGNhbGxiYWNr
KCkpOwogICAgIEFTU0VSVChnbG9iYWxPYmplY3QoKSk7CkBAIC02MCw3ICs2MCw3IEBAIEpTVmFs
dWUgSlNDYWxsYmFja0RhdGE6Omludm9rZUNhbGxiYWNrKEpTVmFsdWUgdGhpc1ZhbHVlLCBNYXJr
ZWRBcmd1bWVudEJ1ZmZlciYKICAgICBDYWxsRGF0YSBjYWxsRGF0YTsKICAgICBDYWxsVHlwZSBj
YWxsVHlwZSA9IGNhbGxiYWNrKCktPm1ldGhvZFRhYmxlKCktPmdldENhbGxEYXRhKGNhbGxiYWNr
KCksIGNhbGxEYXRhKTsKICAgICBpZiAoY2FsbFR5cGUgPT0gQ2FsbFR5cGVOb25lKSB7Ci0gICAg
ICAgIGZ1bmN0aW9uID0gY2FsbGJhY2soKS0+Z2V0KGV4ZWMsIElkZW50aWZpZXI6OmZyb21TdHJp
bmcoZXhlYywgImhhbmRsZUV2ZW50IikpOworICAgICAgICBmdW5jdGlvbiA9IGNhbGxiYWNrKCkt
PmdldChleGVjLCBmdW5jdGlvbk5hbWUpOwogICAgICAgICBjYWxsVHlwZSA9IGdldENhbGxEYXRh
KGZ1bmN0aW9uLCBjYWxsRGF0YSk7CiAgICAgICAgIGlmIChjYWxsVHlwZSA9PSBDYWxsVHlwZU5v
bmUpCiAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTQ2FsbGJhY2tEYXRhLmgKaW5kZXggODNhZTg5NzQ3MzFiOGY4NDgwMGQ4MTQ2MzMz
M2IwMzA5NjIxNWE0MS4uYjUyMzlhODcwMDg3MTgyNTgyZDEwZTc5MTc0ZTcwNGM0N2IyM2YyZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5oCkBAIC02Niw4
ICs2Niw4IEBAIHB1YmxpYzoKICAgICBKU0M6OkpTT2JqZWN0KiBjYWxsYmFjaygpIHsgcmV0dXJu
IG1fY2FsbGJhY2suZ2V0KCk7IH0KICAgICBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KCkgeyByZXR1cm4gbV9nbG9iYWxPYmplY3QuZ2V0KCk7IH0KICAgICAKLSAgICBKU0M6OkpTVmFs
dWUgaW52b2tlQ2FsbGJhY2soSlNDOjpNYXJrZWRBcmd1bWVudEJ1ZmZlciYsIGJvb2wqIHJhaXNl
ZEV4Y2VwdGlvbiA9IDApOwotICAgIEpTQzo6SlNWYWx1ZSBpbnZva2VDYWxsYmFjayhKU0M6OkpT
VmFsdWUgdGhpc1ZhbHVlLCBKU0M6Ok1hcmtlZEFyZ3VtZW50QnVmZmVyJiwgYm9vbCogcmFpc2Vk
RXhjZXB0aW9uID0gMCk7CisgICAgSlNDOjpKU1ZhbHVlIGludm9rZUNhbGxiYWNrKEpTQzo6TWFy
a2VkQXJndW1lbnRCdWZmZXImLCBKU0M6OlByb3BlcnR5TmFtZSBmdW5jdGlvbk5hbWUsIGJvb2wq
IHJhaXNlZEV4Y2VwdGlvbiA9IG51bGxwdHIpOworICAgIEpTQzo6SlNWYWx1ZSBpbnZva2VDYWxs
YmFjayhKU0M6OkpTVmFsdWUgdGhpc1ZhbHVlLCBKU0M6Ok1hcmtlZEFyZ3VtZW50QnVmZmVyJiwg
SlNDOjpQcm9wZXJ0eU5hbWUgZnVuY3Rpb25OYW1lLCBib29sKiByYWlzZWRFeGNlcHRpb24gPSBu
dWxscHRyKTsKIAogcHJpdmF0ZToKICAgICBKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiBtX2Nh
bGxiYWNrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21T
UUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTQ3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAKaW5kZXggMDExZmY5YWY2OWMx
MWM1OGJkYTVhNTI1MDNkNDhhYjYzZjNmOGU5Ni4uZDMzNzJiZGExNjFlZDRhMDFkMzhmMjRhYTAy
YTJjOGFlNDMwODIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlND
dXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0N1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwCkBAIC01NCw3
ICs1NCw3IEBAIGJvb2wgSlNTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrOjpoYW5kbGVFdmVudChT
UUxUcmFuc2FjdGlvbiogdHJhbnNhY3Rpb24sIFNRTEVyCiAgICAgYXJncy5hcHBlbmQodG9KUyhl
eGVjLCBtX2RhdGEtPmdsb2JhbE9iamVjdCgpLCBlcnJvcikpOwogCiAgICAgYm9vbCByYWlzZWRF
eGNlcHRpb24gPSBmYWxzZTsKLSAgICBKU1ZhbHVlIHJlc3VsdCA9IG1fZGF0YS0+aW52b2tlQ2Fs
bGJhY2soYXJncywgJnJhaXNlZEV4Y2VwdGlvbik7CisgICAgSlNWYWx1ZSByZXN1bHQgPSBtX2Rh
dGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoZXhlYywgImhh
bmRsZUV2ZW50IiksICZyYWlzZWRFeGNlcHRpb24pOwogICAgIGlmIChyYWlzZWRFeGNlcHRpb24p
IHsKICAgICAgICAgLy8gVGhlIHNwZWMgc2F5czoKICAgICAgICAgLy8gIklmIHRoZSBlcnJvciBj
YWxsYmFjayByZXR1cm5zIGZhbHNlLCB0aGVuIG1vdmUgb24gdG8gdGhlIG5leHQgc3RhdGVtZW50
Li4uIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNSZXF1ZXN0QW5p
bWF0aW9uRnJhbWVDYWxsYmFja0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrQ3VzdG9tLmNwcAppbmRleCA5MTc4NWE0
MjUyMjhmNWRmNDgyOTYyYWY3ZjBmMzY1MjQ5ZTNjMTY2Li40ZjdkNjBmZmU0OWU2YWFmNDM1MWI3
OGJjYzY4ODAwNGIyODZiMWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrQ3VzdG9t
LmNwcApAQCAtNDYsNyArNDYsOCBAQCBib29sIEpTUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJh
Y2s6OmhhbmRsZUV2ZW50KGRvdWJsZSBoaWdoUmVzTm93TXMpCiAgICAgYXJncy5hcHBlbmQoanNO
dW1iZXIoaGlnaFJlc05vd01zKSk7CiAKICAgICBib29sIHJhaXNlZEV4Y2VwdGlvbiA9IGZhbHNl
OwotICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywgJnJhaXNlZEV4Y2VwdGlvbik7Cisg
ICAgRXhlY1N0YXRlKiBleGVjID0gbV9kYXRhLT5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygp
OworICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywgSWRlbnRpZmllcjo6ZnJvbVN0cmlu
ZyhleGVjLCAiaGFuZGxlRXZlbnQiKSwgJnJhaXNlZEV4Y2VwdGlvbik7CiAgICAgcmV0dXJuICFy
YWlzZWRFeGNlcHRpb247CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggYmI0ZmUxZTI1NDRlN2Q2MGQyOTk1MjgwYzI2
YjFhMGU3MWJiYTllMi4uM2I2NjRjNDVhM2EyNTFjMjRjNDQzNzRjMGU3ZDM4YjNmZDkxMjc3NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KQEAgLTM1NzAsNyArMzU3MCw4IEBAIHN1YiBHZW5lcmF0ZUNhbGxiYWNrSW1wbGVtZW50
YXRpb24KICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgQWRkSW5jbHVkZXNGb3JUeXBlSW5J
bXBsKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT50eXBlKTsKLSAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiXG4iIC4gR2V0TmF0aXZlVHlwZUZvckNhbGxiYWNrcygkZnVuY3Rpb24tPnNpZ25h
dHVyZS0+dHlwZSkgLiAiICR7Y2xhc3NOYW1lfTo6IiAuICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5u
YW1lIC4gIigiKTsKKyAgICAgICAgICAgIG15ICRmdW5jdGlvbk5hbWUgPSAkZnVuY3Rpb24tPnNp
Z25hdHVyZS0+bmFtZTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiXG4iIC4gR2V0
TmF0aXZlVHlwZUZvckNhbGxiYWNrcygkZnVuY3Rpb24tPnNpZ25hdHVyZS0+dHlwZSkgLiAiICR7
Y2xhc3NOYW1lfTo6JHtmdW5jdGlvbk5hbWV9KCIpOwogCiAgICAgICAgICAgICBteSBAYXJncyA9
ICgpOwogICAgICAgICAgICAgbXkgQGFyZ3NDaGVjayA9ICgpOwpAQCAtMzU4OCw5ICszNTg5LDcg
QEAgc3ViIEdlbmVyYXRlQ2FsbGJhY2tJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybiB0cnVlO1xuXG4iKTsKICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgIFJlZjwkY2xhc3NOYW1lPiBwcm90ZWN0KCp0aGlzKTtcblxu
Iik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBKU0xvY2tIb2xkZXIgbG9j
ayhtX2RhdGEtPmdsb2JhbE9iamVjdCgpLT52bSgpKTtcblxuIik7Ci0gICAgICAgICAgICBpZiAo
QHBhcmFtcykgewotICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIEV4ZWNT
dGF0ZSogZXhlYyA9IG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTtcbiIpOwot
ICAgICAgICAgICAgfQorICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgRXhlY1N0
YXRlKiBleGVjID0gbV9kYXRhLT5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygpO1xuIik7CiAg
ICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBh
cmdzO1xuIik7CiAKICAgICAgICAgICAgIGZvcmVhY2ggbXkgJHBhcmFtIChAcGFyYW1zKSB7CkBA
IC0zNjA3LDcgKzM2MDYsNyBAQCBzdWIgR2VuZXJhdGVDYWxsYmFja0ltcGxlbWVudGF0aW9uCiAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiXG4gICAgYm9v
bCByYWlzZWRFeGNlcHRpb24gPSBmYWxzZTtcbiIpOwotICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgbV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCAmcmFpc2VkRXhjZXB0aW9u
KTtcbiIpOworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgbV9kYXRhLT5pbnZv
a2VDYWxsYmFjayhhcmdzLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKGV4ZWMsIFwiJHtmdW5jdGlv
bk5hbWV9XCIpLCAmcmFpc2VkRXhjZXB0aW9uKTtcbiIpOwogICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIgICAgcmV0dXJuICFyYWlzZWRFeGNlcHRpb247XG4iKTsKICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAifVxuIik7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suY3Bw
CmluZGV4IDQxMGY1NGNhMmIzZmE3YmU5ZTg0MzdmZTdhMzdiMDhlY2JiMmM1NmQuLjQ5MjMyZmE0
Y2YyMzFmZjdkMzM5OTljMjNhOGZmM2IzYTg0NGNhNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrLmNwcApA
QCAtNzAsNyArNzAsNyBAQCBib29sIEpTVGVzdENhbGxiYWNrOjpjYWxsYmFja1dpdGhOb1BhcmFt
KCkKICAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOwogCiAgICAgYm9vbCByYWlzZWRFeGNl
cHRpb24gPSBmYWxzZTsKLSAgICBtX2RhdGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsICZyYWlzZWRF
eGNlcHRpb24pOworICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywgSWRlbnRpZmllcjo6
ZnJvbVN0cmluZyhleGVjLCAiY2FsbGJhY2tXaXRoTm9QYXJhbSIpLCAmcmFpc2VkRXhjZXB0aW9u
KTsKICAgICByZXR1cm4gIXJhaXNlZEV4Y2VwdGlvbjsKIH0KIApAQCAtODgsNyArODgsNyBAQCBi
b29sIEpTVGVzdENhbGxiYWNrOjpjYWxsYmFja1dpdGhBcnJheVBhcmFtKFJlZlB0cjxGbG9hdDMy
QXJyYXk+IGFycmF5UGFyYW0pCiAgICAgYXJncy5hcHBlbmQodG9KUyhleGVjLCBtX2RhdGEtPmds
b2JhbE9iamVjdCgpLCBhcnJheVBhcmFtKSk7CiAKICAgICBib29sIHJhaXNlZEV4Y2VwdGlvbiA9
IGZhbHNlOwotICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywgJnJhaXNlZEV4Y2VwdGlv
bik7CisgICAgbV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCBJZGVudGlmaWVyOjpmcm9tU3Ry
aW5nKGV4ZWMsICJjYWxsYmFja1dpdGhBcnJheVBhcmFtIiksICZyYWlzZWRFeGNlcHRpb24pOwog
ICAgIHJldHVybiAhcmFpc2VkRXhjZXB0aW9uOwogfQogCkBAIC0xMDcsNyArMTA3LDcgQEAgYm9v
bCBKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoU2VyaWFsaXplZFNjcmlwdFZhbHVlUGFyYW0o
UGFzc1JlZlB0cjxTZXJpYWxpemUKICAgICBhcmdzLmFwcGVuZChqc1N0cmluZ1dpdGhDYWNoZShl
eGVjLCBzdHJBcmcpKTsKIAogICAgIGJvb2wgcmFpc2VkRXhjZXB0aW9uID0gZmFsc2U7Ci0gICAg
bV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCAmcmFpc2VkRXhjZXB0aW9uKTsKKyAgICBtX2Rh
dGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoZXhlYywgImNh
bGxiYWNrV2l0aFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZVBhcmFtIiksICZyYWlzZWRFeGNlcHRpb24p
OwogICAgIHJldHVybiAhcmFpc2VkRXhjZXB0aW9uOwogfQogCkBAIC0xMjUsNyArMTI1LDcgQEAg
Ym9vbCBKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoU3RyaW5nTGlzdChQYXNzUmVmUHRyPERP
TVN0cmluZ0xpc3Q+IGxpc3RQYXJhbSkKICAgICBhcmdzLmFwcGVuZCh0b0pTKGV4ZWMsIG1fZGF0
YS0+Z2xvYmFsT2JqZWN0KCksIGxpc3RQYXJhbSkpOwogCiAgICAgYm9vbCByYWlzZWRFeGNlcHRp
b24gPSBmYWxzZTsKLSAgICBtX2RhdGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsICZyYWlzZWRFeGNl
cHRpb24pOworICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywgSWRlbnRpZmllcjo6ZnJv
bVN0cmluZyhleGVjLCAiY2FsbGJhY2tXaXRoU3RyaW5nTGlzdCIpLCAmcmFpc2VkRXhjZXB0aW9u
KTsKICAgICByZXR1cm4gIXJhaXNlZEV4Y2VwdGlvbjsKIH0KIApAQCAtMTQzLDcgKzE0Myw3IEBA
IGJvb2wgSlNUZXN0Q2FsbGJhY2s6OmNhbGxiYWNrV2l0aEJvb2xlYW4oYm9vbCBib29sUGFyYW0p
CiAgICAgYXJncy5hcHBlbmQoanNCb29sZWFuKGJvb2xQYXJhbSkpOwogCiAgICAgYm9vbCByYWlz
ZWRFeGNlcHRpb24gPSBmYWxzZTsKLSAgICBtX2RhdGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsICZy
YWlzZWRFeGNlcHRpb24pOworICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywgSWRlbnRp
Zmllcjo6ZnJvbVN0cmluZyhleGVjLCAiY2FsbGJhY2tXaXRoQm9vbGVhbiIpLCAmcmFpc2VkRXhj
ZXB0aW9uKTsKICAgICByZXR1cm4gIXJhaXNlZEV4Y2VwdGlvbjsKIH0KIApAQCAtMTYyLDcgKzE2
Miw3IEBAIGJvb2wgSlNUZXN0Q2FsbGJhY2s6OmNhbGxiYWNrUmVxdWlyZXNUaGlzVG9QYXNzKGlu
dCBsb25nUGFyYW0sIFRlc3ROb2RlKiB0ZXN0Tm9kCiAgICAgYXJncy5hcHBlbmQodG9KUyhleGVj
LCBtX2RhdGEtPmdsb2JhbE9iamVjdCgpLCB0ZXN0Tm9kZVBhcmFtKSk7CiAKICAgICBib29sIHJh
aXNlZEV4Y2VwdGlvbiA9IGZhbHNlOwotICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywg
JnJhaXNlZEV4Y2VwdGlvbik7CisgICAgbV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCBJZGVu
dGlmaWVyOjpmcm9tU3RyaW5nKGV4ZWMsICJjYWxsYmFja1JlcXVpcmVzVGhpc1RvUGFzcyIpLCAm
cmFpc2VkRXhjZXB0aW9uKTsKICAgICByZXR1cm4gIXJhaXNlZEV4Y2VwdGlvbjsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259848</attachid>
            <date>2015-08-25 09:01:30 -0700</date>
            <delta_ts>2015-08-25 09:08:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148418-20150825090123.patch</filename>
            <type>text/plain</type>
            <size>11330</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4OTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY1ZmFiNWQ1NzAzYzIw
ZTI1ZTIzY2QwOWU3MDk4NTlhZWY5NjNjMS4uNjM2OGQ1ZDJlYzMxMTVlMzg5ZjczMmIyOWIyMTBl
M2JhZDgzMjAyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE1LTA4LTI0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGNh
bGxiYWNrIGludGVyZmFjZXMgdXNpbmcgb3RoZXIgY2FsbGJhY2sgbmFtZXMgdGhhbiAiaGFuZGxl
RXZlbnQiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDg0MTgKKworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgQWRk
IHN1cHBvcnQgZm9yIGNhbGxiYWNrIGludGVyZmFjZXMgdXNpbmcgb3RoZXIgY2FsbGJhY2sgbmFt
ZXMgdGhhbgorICAgICAgICAiaGFuZGxlRXZlbnQiIFsxXS4KKworICAgICAgICBUaGlzIGlzIGEg
cHJlLXJlcXVpcmVtZW50IGZvciBCdWcgMTQ4NDE1LCBhcyBOb2RlRmlsdGVyJ3MgY2FsbGJhY2sK
KyAgICAgICAgZnVuY3Rpb24gbmFtZSBpcyAiYWNjZXB0Tm9kZSI6CisgICAgICAgIC0gaHR0cHM6
Ly9kb20uc3BlYy53aGF0d2cub3JnLyNpbnRlcmZhY2Utbm9kZWZpbHRlcgorCisgICAgICAgIFsx
XSBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNlcy11c2VyLW9iamVjdHMKKworICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTQ2FsbGJhY2tEYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTQ2FsbGJhY2tEYXRhOjppbnZva2VDYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3MvanMv
SlNDYWxsYmFja0RhdGEuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0N1c3RvbVNRTFN0YXRl
bWVudEVycm9yQ2FsbGJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNTUUxTdGF0ZW1lbnRF
cnJvckNhbGxiYWNrOjpoYW5kbGVFdmVudCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNSZXF1
ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFja0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpK
U1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrOjpoYW5kbGVFdmVudCk6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUNh
bGxiYWNrSW1wbGVtZW50YXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RDYWxsYmFjay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RDYWxsYmFjazo6
Y2FsbGJhY2tXaXRoTm9QYXJhbSk6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RDYWxsYmFjazo6
Y2FsbGJhY2tXaXRoQXJyYXlQYXJhbSk6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RDYWxsYmFj
azo6Y2FsbGJhY2tXaXRoU2VyaWFsaXplZFNjcmlwdFZhbHVlUGFyYW0pOgorICAgICAgICAoV2Vi
Q29yZTo6SlNUZXN0Q2FsbGJhY2s6OmNhbGxiYWNrV2l0aFN0cmluZ0xpc3QpOgorICAgICAgICAo
V2ViQ29yZTo6SlNUZXN0Q2FsbGJhY2s6OmNhbGxiYWNrV2l0aEJvb2xlYW4pOgorICAgICAgICAo
V2ViQ29yZTo6SlNUZXN0Q2FsbGJhY2s6OmNhbGxiYWNrUmVxdWlyZXNUaGlzVG9QYXNzKToKKwog
MjAxNS0wOC0yNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEdl
dCByaWQgb2YgY3VzdG9tIGJpbmRpbmdzIGZvciBSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFj
ay5oYW5kbGVFdmVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0NhbGxiYWNrRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NhbGxiYWNr
RGF0YS5jcHAKaW5kZXggNDRmM2Y2NjY5ZTBjNWZjZTk3YTY0MDliMmMwZjM4NDgwMDQ1YTQ1Yy4u
OGQ5Nzc1NjdjODdjMDU5MDI2MTdlMTk3YTM3ZWI2YWExNDQ2NGQ0ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ2FsbGJhY2tEYXRhLmNwcApAQCAtNDMsMTMgKzQzLDEzIEBA
IHZvaWQgSlNDYWxsYmFja0RhdGE6OmRlbGV0ZURhdGEodm9pZCogY29udGV4dCkKICAgICBkZWxl
dGUgc3RhdGljX2Nhc3Q8SlNDYWxsYmFja0RhdGEqPihjb250ZXh0KTsKIH0KIAotSlNWYWx1ZSBK
U0NhbGxiYWNrRGF0YTo6aW52b2tlQ2FsbGJhY2soTWFya2VkQXJndW1lbnRCdWZmZXImIGFyZ3Ms
IGJvb2wqIHJhaXNlZEV4Y2VwdGlvbikKK0pTVmFsdWUgSlNDYWxsYmFja0RhdGE6Omludm9rZUNh
bGxiYWNrKE1hcmtlZEFyZ3VtZW50QnVmZmVyJiBhcmdzLCBQcm9wZXJ0eU5hbWUgZnVuY3Rpb25O
YW1lLCBib29sKiByYWlzZWRFeGNlcHRpb24pCiB7CiAgICAgQVNTRVJUKGNhbGxiYWNrKCkpOwot
ICAgIHJldHVybiBpbnZva2VDYWxsYmFjayhjYWxsYmFjaygpLCBhcmdzLCByYWlzZWRFeGNlcHRp
b24pOworICAgIHJldHVybiBpbnZva2VDYWxsYmFjayhjYWxsYmFjaygpLCBhcmdzLCBmdW5jdGlv
bk5hbWUsIHJhaXNlZEV4Y2VwdGlvbik7CiB9CiAKLUpTVmFsdWUgSlNDYWxsYmFja0RhdGE6Omlu
dm9rZUNhbGxiYWNrKEpTVmFsdWUgdGhpc1ZhbHVlLCBNYXJrZWRBcmd1bWVudEJ1ZmZlciYgYXJn
cywgYm9vbCogcmFpc2VkRXhjZXB0aW9uKQorSlNWYWx1ZSBKU0NhbGxiYWNrRGF0YTo6aW52b2tl
Q2FsbGJhY2soSlNWYWx1ZSB0aGlzVmFsdWUsIE1hcmtlZEFyZ3VtZW50QnVmZmVyJiBhcmdzLCBQ
cm9wZXJ0eU5hbWUgZnVuY3Rpb25OYW1lLCBib29sKiByYWlzZWRFeGNlcHRpb24pCiB7CiAgICAg
QVNTRVJUKGNhbGxiYWNrKCkpOwogICAgIEFTU0VSVChnbG9iYWxPYmplY3QoKSk7CkBAIC02MCw3
ICs2MCw3IEBAIEpTVmFsdWUgSlNDYWxsYmFja0RhdGE6Omludm9rZUNhbGxiYWNrKEpTVmFsdWUg
dGhpc1ZhbHVlLCBNYXJrZWRBcmd1bWVudEJ1ZmZlciYKICAgICBDYWxsRGF0YSBjYWxsRGF0YTsK
ICAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IGNhbGxiYWNrKCktPm1ldGhvZFRhYmxlKCktPmdldENh
bGxEYXRhKGNhbGxiYWNrKCksIGNhbGxEYXRhKTsKICAgICBpZiAoY2FsbFR5cGUgPT0gQ2FsbFR5
cGVOb25lKSB7Ci0gICAgICAgIGZ1bmN0aW9uID0gY2FsbGJhY2soKS0+Z2V0KGV4ZWMsIElkZW50
aWZpZXI6OmZyb21TdHJpbmcoZXhlYywgImhhbmRsZUV2ZW50IikpOworICAgICAgICBmdW5jdGlv
biA9IGNhbGxiYWNrKCktPmdldChleGVjLCBmdW5jdGlvbk5hbWUpOwogICAgICAgICBjYWxsVHlw
ZSA9IGdldENhbGxEYXRhKGZ1bmN0aW9uLCBjYWxsRGF0YSk7CiAgICAgICAgIGlmIChjYWxsVHlw
ZSA9PSBDYWxsVHlwZU5vbmUpCiAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ2FsbGJhY2tEYXRhLmgKaW5kZXggODNhZTg5NzQ3MzFi
OGY4NDgwMGQ4MTQ2MzMzM2IwMzA5NjIxNWE0MS4uYjUyMzlhODcwMDg3MTgyNTgyZDEwZTc5MTc0
ZTcwNGM0N2IyM2YyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlND
YWxsYmFja0RhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NhbGxiYWNr
RGF0YS5oCkBAIC02Niw4ICs2Niw4IEBAIHB1YmxpYzoKICAgICBKU0M6OkpTT2JqZWN0KiBjYWxs
YmFjaygpIHsgcmV0dXJuIG1fY2FsbGJhY2suZ2V0KCk7IH0KICAgICBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0KCkgeyByZXR1cm4gbV9nbG9iYWxPYmplY3QuZ2V0KCk7IH0KICAgICAK
LSAgICBKU0M6OkpTVmFsdWUgaW52b2tlQ2FsbGJhY2soSlNDOjpNYXJrZWRBcmd1bWVudEJ1ZmZl
ciYsIGJvb2wqIHJhaXNlZEV4Y2VwdGlvbiA9IDApOwotICAgIEpTQzo6SlNWYWx1ZSBpbnZva2VD
YWxsYmFjayhKU0M6OkpTVmFsdWUgdGhpc1ZhbHVlLCBKU0M6Ok1hcmtlZEFyZ3VtZW50QnVmZmVy
JiwgYm9vbCogcmFpc2VkRXhjZXB0aW9uID0gMCk7CisgICAgSlNDOjpKU1ZhbHVlIGludm9rZUNh
bGxiYWNrKEpTQzo6TWFya2VkQXJndW1lbnRCdWZmZXImLCBKU0M6OlByb3BlcnR5TmFtZSBmdW5j
dGlvbk5hbWUsIGJvb2wqIHJhaXNlZEV4Y2VwdGlvbiA9IG51bGxwdHIpOworICAgIEpTQzo6SlNW
YWx1ZSBpbnZva2VDYWxsYmFjayhKU0M6OkpTVmFsdWUgdGhpc1ZhbHVlLCBKU0M6Ok1hcmtlZEFy
Z3VtZW50QnVmZmVyJiwgSlNDOjpQcm9wZXJ0eU5hbWUgZnVuY3Rpb25OYW1lLCBib29sKiByYWlz
ZWRFeGNlcHRpb24gPSBudWxscHRyKTsKIAogcHJpdmF0ZToKICAgICBKU0M6OlN0cm9uZzxKU0M6
OkpTT2JqZWN0PiBtX2NhbGxiYWNrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAKaW5k
ZXggMDExZmY5YWY2OWMxMWM1OGJkYTVhNTI1MDNkNDhhYjYzZjNmOGU5Ni4uZDMzNzJiZGExNjFl
ZDRhMDFkMzhmMjRhYTAyYTJjOGFlNDMwODIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJh
Y2suY3BwCkBAIC01NCw3ICs1NCw3IEBAIGJvb2wgSlNTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNr
OjpoYW5kbGVFdmVudChTUUxUcmFuc2FjdGlvbiogdHJhbnNhY3Rpb24sIFNRTEVyCiAgICAgYXJn
cy5hcHBlbmQodG9KUyhleGVjLCBtX2RhdGEtPmdsb2JhbE9iamVjdCgpLCBlcnJvcikpOwogCiAg
ICAgYm9vbCByYWlzZWRFeGNlcHRpb24gPSBmYWxzZTsKLSAgICBKU1ZhbHVlIHJlc3VsdCA9IG1f
ZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywgJnJhaXNlZEV4Y2VwdGlvbik7CisgICAgSlNWYWx1
ZSByZXN1bHQgPSBtX2RhdGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsIElkZW50aWZpZXI6OmZyb21T
dHJpbmcoZXhlYywgImhhbmRsZUV2ZW50IiksICZyYWlzZWRFeGNlcHRpb24pOwogICAgIGlmIChy
YWlzZWRFeGNlcHRpb24pIHsKICAgICAgICAgLy8gVGhlIHNwZWMgc2F5czoKICAgICAgICAgLy8g
IklmIHRoZSBlcnJvciBjYWxsYmFjayByZXR1cm5zIGZhbHNlLCB0aGVuIG1vdmUgb24gdG8gdGhl
IG5leHQgc3RhdGVtZW50Li4uIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCBlODNjYmRjYTZkOTJkZTMyNTMzMWU3MzE0YWFl
ZThjN2Q4ZWI5NTRiLi42YTYxOTQwYmRjZDllNDVmOTEwMWI4YTlhYTM4OTllZjJiYzRmODk4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQpAQCAtMzU3MCw3ICszNTcwLDggQEAgc3ViIEdlbmVyYXRlQ2FsbGJhY2tJbXBsZW1lbnRh
dGlvbgogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBBZGRJbmNsdWRlc0ZvclR5cGVJbklt
cGwoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPnR5cGUpOwotICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICJcbiIgLiBHZXROYXRpdmVUeXBlRm9yQ2FsbGJhY2tzKCRmdW5jdGlvbi0+c2lnbmF0
dXJlLT50eXBlKSAuICIgJHtjbGFzc05hbWV9OjoiIC4gJGZ1bmN0aW9uLT5zaWduYXR1cmUtPm5h
bWUgLiAiKCIpOworICAgICAgICAgICAgbXkgJGZ1bmN0aW9uTmFtZSA9ICRmdW5jdGlvbi0+c2ln
bmF0dXJlLT5uYW1lOworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiIgLiBHZXRO
YXRpdmVUeXBlRm9yQ2FsbGJhY2tzKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT50eXBlKSAuICIgJHtj
bGFzc05hbWV9Ojoke2Z1bmN0aW9uTmFtZX0oIik7CiAKICAgICAgICAgICAgIG15IEBhcmdzID0g
KCk7CiAgICAgICAgICAgICBteSBAYXJnc0NoZWNrID0gKCk7CkBAIC0zNTg4LDEwICszNTg5LDcg
QEAgc3ViIEdlbmVyYXRlQ2FsbGJhY2tJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgcHVzaChA
aW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybiB0cnVlO1xuXG4iKTsKICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgIFJlZjwkY2xhc3NOYW1lPiBwcm90ZWN0KCp0aGlzKTtcblxu
Iik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBKU0xvY2tIb2xkZXIgbG9j
ayhtX2RhdGEtPmdsb2JhbE9iamVjdCgpLT52bSgpKTtcblxuIik7Ci0gICAgICAgICAgICBpZiAo
QHBhcmFtcykgewotICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIEV4ZWNT
dGF0ZSogZXhlYyA9IG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTtcbiIpOwot
ICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIFVOVVNFRF9QQVJBTShleGVj
KTtcbiIpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIg
ICAgRXhlY1N0YXRlKiBleGVjID0gbV9kYXRhLT5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygp
O1xuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBNYXJrZWRBcmd1bWVu
dEJ1ZmZlciBhcmdzO1xuIik7CiAKICAgICAgICAgICAgIGZvcmVhY2ggbXkgJHBhcmFtIChAcGFy
YW1zKSB7CkBAIC0zNjAwLDcgKzM1OTgsNyBAQCBzdWIgR2VuZXJhdGVDYWxsYmFja0ltcGxlbWVu
dGF0aW9uCiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
XG4gICAgYm9vbCByYWlzZWRFeGNlcHRpb24gPSBmYWxzZTtcbiIpOwotICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgbV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCAmcmFpc2Vk
RXhjZXB0aW9uKTtcbiIpOworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgbV9k
YXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKGV4ZWMsIFwi
JHtmdW5jdGlvbk5hbWV9XCIpLCAmcmFpc2VkRXhjZXB0aW9uKTtcbiIpOwogICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICIgICAgcmV0dXJuICFyYWlzZWRFeGNlcHRpb247XG4iKTsKICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifVxuIik7CiAgICAgICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFj
ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2Fs
bGJhY2suY3BwCmluZGV4IDZmN2JjYjBkNzA2Yjg0YjEyOGYzYjcxY2Y2OGU1ZTgwNTAzYWQ0OWUu
LjM5MjA0NDY0YmUxNTNjYzY1NDg0MjliNGQ1OWRkMjc5YTNiNzRjY2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxi
YWNrLmNwcApAQCAtNzEsMTAgKzcxLDExIEBAIGJvb2wgSlNUZXN0Q2FsbGJhY2s6OmNhbGxiYWNr
V2l0aE5vUGFyYW0oKQogCiAgICAgSlNMb2NrSG9sZGVyIGxvY2sobV9kYXRhLT5nbG9iYWxPYmpl
Y3QoKS0+dm0oKSk7CiAKKyAgICBFeGVjU3RhdGUqIGV4ZWMgPSBtX2RhdGEtPmdsb2JhbE9iamVj
dCgpLT5nbG9iYWxFeGVjKCk7CiAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsKIAogICAg
IGJvb2wgcmFpc2VkRXhjZXB0aW9uID0gZmFsc2U7Ci0gICAgbV9kYXRhLT5pbnZva2VDYWxsYmFj
ayhhcmdzLCAmcmFpc2VkRXhjZXB0aW9uKTsKKyAgICBtX2RhdGEtPmludm9rZUNhbGxiYWNrKGFy
Z3MsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoZXhlYywgImNhbGxiYWNrV2l0aE5vUGFyYW0iKSwg
JnJhaXNlZEV4Y2VwdGlvbik7CiAgICAgcmV0dXJuICFyYWlzZWRFeGNlcHRpb247CiB9CiAKQEAg
LTg4LDEyICs4OSwxMSBAQCBib29sIEpTVGVzdENhbGxiYWNrOjpjYWxsYmFja1dpdGhBcnJheVBh
cmFtKFJlZlB0cjxGbG9hdDMyQXJyYXk+IGFycmF5UGFyYW0pCiAgICAgSlNMb2NrSG9sZGVyIGxv
Y2sobV9kYXRhLT5nbG9iYWxPYmplY3QoKS0+dm0oKSk7CiAKICAgICBFeGVjU3RhdGUqIGV4ZWMg
PSBtX2RhdGEtPmdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCk7Ci0gICAgVU5VU0VEX1BBUkFN
KGV4ZWMpOwogICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CiAgICAgYXJncy5hcHBlbmQo
dG9KUyhleGVjLCBtX2RhdGEtPmdsb2JhbE9iamVjdCgpLCBXVEY6OmdldFB0cihhcnJheVBhcmFt
KSkpOwogCiAgICAgYm9vbCByYWlzZWRFeGNlcHRpb24gPSBmYWxzZTsKLSAgICBtX2RhdGEtPmlu
dm9rZUNhbGxiYWNrKGFyZ3MsICZyYWlzZWRFeGNlcHRpb24pOworICAgIG1fZGF0YS0+aW52b2tl
Q2FsbGJhY2soYXJncywgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyhleGVjLCAiY2FsbGJhY2tXaXRo
QXJyYXlQYXJhbSIpLCAmcmFpc2VkRXhjZXB0aW9uKTsKICAgICByZXR1cm4gIXJhaXNlZEV4Y2Vw
dGlvbjsKIH0KIApAQCAtMTA3LDEzICsxMDcsMTIgQEAgYm9vbCBKU1Rlc3RDYWxsYmFjazo6Y2Fs
bGJhY2tXaXRoU2VyaWFsaXplZFNjcmlwdFZhbHVlUGFyYW0oUGFzc1JlZlB0cjxTZXJpYWxpemUK
ICAgICBKU0xvY2tIb2xkZXIgbG9jayhtX2RhdGEtPmdsb2JhbE9iamVjdCgpLT52bSgpKTsKIAog
ICAgIEV4ZWNTdGF0ZSogZXhlYyA9IG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMo
KTsKLSAgICBVTlVTRURfUEFSQU0oZXhlYyk7CiAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJn
czsKICAgICBhcmdzLmFwcGVuZChzcnpQYXJhbSA/IHNyelBhcmFtLT5kZXNlcmlhbGl6ZShleGVj
LCBjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgMCkgOiBqc051bGwoKSk7CiAgICAgYXJncy5h
cHBlbmQoanNTdHJpbmdXaXRoQ2FjaGUoZXhlYywgc3RyQXJnKSk7CiAKICAgICBib29sIHJhaXNl
ZEV4Y2VwdGlvbiA9IGZhbHNlOwotICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywgJnJh
aXNlZEV4Y2VwdGlvbik7CisgICAgbV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCBJZGVudGlm
aWVyOjpmcm9tU3RyaW5nKGV4ZWMsICJjYWxsYmFja1dpdGhTZXJpYWxpemVkU2NyaXB0VmFsdWVQ
YXJhbSIpLCAmcmFpc2VkRXhjZXB0aW9uKTsKICAgICByZXR1cm4gIXJhaXNlZEV4Y2VwdGlvbjsK
IH0KIApAQCAtMTI3LDEyICsxMjYsMTEgQEAgYm9vbCBKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tX
aXRoU3RyaW5nTGlzdChQYXNzUmVmUHRyPERPTVN0cmluZ0xpc3Q+IGxpc3RQYXJhbSkKICAgICBK
U0xvY2tIb2xkZXIgbG9jayhtX2RhdGEtPmdsb2JhbE9iamVjdCgpLT52bSgpKTsKIAogICAgIEV4
ZWNTdGF0ZSogZXhlYyA9IG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTsKLSAg
ICBVTlVTRURfUEFSQU0oZXhlYyk7CiAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsKICAg
ICBhcmdzLmFwcGVuZCh0b0pTKGV4ZWMsIG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCksIFdURjo6Z2V0
UHRyKGxpc3RQYXJhbSkpKTsKIAogICAgIGJvb2wgcmFpc2VkRXhjZXB0aW9uID0gZmFsc2U7Ci0g
ICAgbV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCAmcmFpc2VkRXhjZXB0aW9uKTsKKyAgICBt
X2RhdGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoZXhlYywg
ImNhbGxiYWNrV2l0aFN0cmluZ0xpc3QiKSwgJnJhaXNlZEV4Y2VwdGlvbik7CiAgICAgcmV0dXJu
ICFyYWlzZWRFeGNlcHRpb247CiB9CiAKQEAgLTE0NiwxMiArMTQ0LDExIEBAIGJvb2wgSlNUZXN0
Q2FsbGJhY2s6OmNhbGxiYWNrV2l0aEJvb2xlYW4oYm9vbCBib29sUGFyYW0pCiAgICAgSlNMb2Nr
SG9sZGVyIGxvY2sobV9kYXRhLT5nbG9iYWxPYmplY3QoKS0+dm0oKSk7CiAKICAgICBFeGVjU3Rh
dGUqIGV4ZWMgPSBtX2RhdGEtPmdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCk7Ci0gICAgVU5V
U0VEX1BBUkFNKGV4ZWMpOwogICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CiAgICAgYXJn
cy5hcHBlbmQoanNCb29sZWFuKGJvb2xQYXJhbSkpOwogCiAgICAgYm9vbCByYWlzZWRFeGNlcHRp
b24gPSBmYWxzZTsKLSAgICBtX2RhdGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsICZyYWlzZWRFeGNl
cHRpb24pOworICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywgSWRlbnRpZmllcjo6ZnJv
bVN0cmluZyhleGVjLCAiY2FsbGJhY2tXaXRoQm9vbGVhbiIpLCAmcmFpc2VkRXhjZXB0aW9uKTsK
ICAgICByZXR1cm4gIXJhaXNlZEV4Y2VwdGlvbjsKIH0KIApAQCAtMTY1LDEzICsxNjIsMTIgQEAg
Ym9vbCBKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tSZXF1aXJlc1RoaXNUb1Bhc3MoaW50IGxvbmdQ
YXJhbSwgVGVzdE5vZGUqIHRlc3ROb2QKICAgICBKU0xvY2tIb2xkZXIgbG9jayhtX2RhdGEtPmds
b2JhbE9iamVjdCgpLT52bSgpKTsKIAogICAgIEV4ZWNTdGF0ZSogZXhlYyA9IG1fZGF0YS0+Z2xv
YmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTsKLSAgICBVTlVTRURfUEFSQU0oZXhlYyk7CiAgICAg
TWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsKICAgICBhcmdzLmFwcGVuZChqc051bWJlcihsb25n
UGFyYW0pKTsKICAgICBhcmdzLmFwcGVuZCh0b0pTKGV4ZWMsIG1fZGF0YS0+Z2xvYmFsT2JqZWN0
KCksIFdURjo6Z2V0UHRyKHRlc3ROb2RlUGFyYW0pKSk7CiAKICAgICBib29sIHJhaXNlZEV4Y2Vw
dGlvbiA9IGZhbHNlOwotICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywgJnJhaXNlZEV4
Y2VwdGlvbik7CisgICAgbV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCBJZGVudGlmaWVyOjpm
cm9tU3RyaW5nKGV4ZWMsICJjYWxsYmFja1JlcXVpcmVzVGhpc1RvUGFzcyIpLCAmcmFpc2VkRXhj
ZXB0aW9uKTsKICAgICByZXR1cm4gIXJhaXNlZEV4Y2VwdGlvbjsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259850</attachid>
            <date>2015-08-25 09:08:28 -0700</date>
            <delta_ts>2015-08-25 10:05:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148418-20150825090822.patch</filename>
            <type>text/plain</type>
            <size>11198</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4OTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY1ZmFiNWQ1NzAzYzIw
ZTI1ZTIzY2QwOWU3MDk4NTlhZWY5NjNjMS4uNTAwYTQwYmVmMDg4Yjc3Yzk4NTMxMGRkOTIxMTk3
ZTliOTUyZjQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE1LTA4LTI0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGNh
bGxiYWNrIGludGVyZmFjZXMgdXNpbmcgb3RoZXIgY2FsbGJhY2sgbmFtZXMgdGhhbiAiaGFuZGxl
RXZlbnQiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDg0MTgKKworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgQWRk
IHN1cHBvcnQgZm9yIGNhbGxiYWNrIGludGVyZmFjZXMgdXNpbmcgb3RoZXIgY2FsbGJhY2sgbmFt
ZXMgdGhhbgorICAgICAgICAiaGFuZGxlRXZlbnQiIFsxXS4KKworICAgICAgICBUaGlzIGlzIGEg
cHJlLXJlcXVpcmVtZW50IGZvciBCdWcgMTQ4NDE1LCBhcyBOb2RlRmlsdGVyJ3MgY2FsbGJhY2sK
KyAgICAgICAgZnVuY3Rpb24gbmFtZSBpcyAiYWNjZXB0Tm9kZSI6CisgICAgICAgIC0gaHR0cHM6
Ly9kb20uc3BlYy53aGF0d2cub3JnLyNpbnRlcmZhY2Utbm9kZWZpbHRlcgorCisgICAgICAgIFsx
XSBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNlcy11c2VyLW9iamVjdHMKKworICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTQ2FsbGJhY2tEYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTQ2FsbGJhY2tEYXRhOjppbnZva2VDYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3MvanMv
SlNDYWxsYmFja0RhdGEuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0N1c3RvbVNRTFN0YXRl
bWVudEVycm9yQ2FsbGJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNTUUxTdGF0ZW1lbnRF
cnJvckNhbGxiYWNrOjpoYW5kbGVFdmVudCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUNhbGxiYWNrSW1wbGVtZW50YXRp
b24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoTm9QYXJh
bSk6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoQXJyYXlQ
YXJhbSk6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoU2Vy
aWFsaXplZFNjcmlwdFZhbHVlUGFyYW0pOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0Q2FsbGJh
Y2s6OmNhbGxiYWNrV2l0aFN0cmluZ0xpc3QpOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0Q2Fs
bGJhY2s6OmNhbGxiYWNrV2l0aEJvb2xlYW4pOgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0Q2Fs
bGJhY2s6OmNhbGxiYWNrUmVxdWlyZXNUaGlzVG9QYXNzKToKKwogMjAxNS0wOC0yNSAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEdldCByaWQgb2YgY3VzdG9tIGJp
bmRpbmdzIGZvciBSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5oYW5kbGVFdmVudCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5jcHAKaW5kZXggNDRm
M2Y2NjY5ZTBjNWZjZTk3YTY0MDliMmMwZjM4NDgwMDQ1YTQ1Yy4uOGQ5Nzc1NjdjODdjMDU5MDI2
MTdlMTk3YTM3ZWI2YWExNDQ2NGQ0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNDYWxsYmFja0RhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTQ2FsbGJhY2tEYXRhLmNwcApAQCAtNDMsMTMgKzQzLDEzIEBAIHZvaWQgSlNDYWxsYmFja0Rh
dGE6OmRlbGV0ZURhdGEodm9pZCogY29udGV4dCkKICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8SlND
YWxsYmFja0RhdGEqPihjb250ZXh0KTsKIH0KIAotSlNWYWx1ZSBKU0NhbGxiYWNrRGF0YTo6aW52
b2tlQ2FsbGJhY2soTWFya2VkQXJndW1lbnRCdWZmZXImIGFyZ3MsIGJvb2wqIHJhaXNlZEV4Y2Vw
dGlvbikKK0pTVmFsdWUgSlNDYWxsYmFja0RhdGE6Omludm9rZUNhbGxiYWNrKE1hcmtlZEFyZ3Vt
ZW50QnVmZmVyJiBhcmdzLCBQcm9wZXJ0eU5hbWUgZnVuY3Rpb25OYW1lLCBib29sKiByYWlzZWRF
eGNlcHRpb24pCiB7CiAgICAgQVNTRVJUKGNhbGxiYWNrKCkpOwotICAgIHJldHVybiBpbnZva2VD
YWxsYmFjayhjYWxsYmFjaygpLCBhcmdzLCByYWlzZWRFeGNlcHRpb24pOworICAgIHJldHVybiBp
bnZva2VDYWxsYmFjayhjYWxsYmFjaygpLCBhcmdzLCBmdW5jdGlvbk5hbWUsIHJhaXNlZEV4Y2Vw
dGlvbik7CiB9CiAKLUpTVmFsdWUgSlNDYWxsYmFja0RhdGE6Omludm9rZUNhbGxiYWNrKEpTVmFs
dWUgdGhpc1ZhbHVlLCBNYXJrZWRBcmd1bWVudEJ1ZmZlciYgYXJncywgYm9vbCogcmFpc2VkRXhj
ZXB0aW9uKQorSlNWYWx1ZSBKU0NhbGxiYWNrRGF0YTo6aW52b2tlQ2FsbGJhY2soSlNWYWx1ZSB0
aGlzVmFsdWUsIE1hcmtlZEFyZ3VtZW50QnVmZmVyJiBhcmdzLCBQcm9wZXJ0eU5hbWUgZnVuY3Rp
b25OYW1lLCBib29sKiByYWlzZWRFeGNlcHRpb24pCiB7CiAgICAgQVNTRVJUKGNhbGxiYWNrKCkp
OwogICAgIEFTU0VSVChnbG9iYWxPYmplY3QoKSk7CkBAIC02MCw3ICs2MCw3IEBAIEpTVmFsdWUg
SlNDYWxsYmFja0RhdGE6Omludm9rZUNhbGxiYWNrKEpTVmFsdWUgdGhpc1ZhbHVlLCBNYXJrZWRB
cmd1bWVudEJ1ZmZlciYKICAgICBDYWxsRGF0YSBjYWxsRGF0YTsKICAgICBDYWxsVHlwZSBjYWxs
VHlwZSA9IGNhbGxiYWNrKCktPm1ldGhvZFRhYmxlKCktPmdldENhbGxEYXRhKGNhbGxiYWNrKCks
IGNhbGxEYXRhKTsKICAgICBpZiAoY2FsbFR5cGUgPT0gQ2FsbFR5cGVOb25lKSB7Ci0gICAgICAg
IGZ1bmN0aW9uID0gY2FsbGJhY2soKS0+Z2V0KGV4ZWMsIElkZW50aWZpZXI6OmZyb21TdHJpbmco
ZXhlYywgImhhbmRsZUV2ZW50IikpOworICAgICAgICBmdW5jdGlvbiA9IGNhbGxiYWNrKCktPmdl
dChleGVjLCBmdW5jdGlvbk5hbWUpOwogICAgICAgICBjYWxsVHlwZSA9IGdldENhbGxEYXRhKGZ1
bmN0aW9uLCBjYWxsRGF0YSk7CiAgICAgICAgIGlmIChjYWxsVHlwZSA9PSBDYWxsVHlwZU5vbmUp
CiAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQ2FsbGJhY2tEYXRhLmgKaW5kZXggODNhZTg5NzQ3MzFiOGY4NDgwMGQ4MTQ2MzMzM2Iw
MzA5NjIxNWE0MS4uYjUyMzlhODcwMDg3MTgyNTgyZDEwZTc5MTc0ZTcwNGM0N2IyM2YyZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDYWxsYmFja0RhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NhbGxiYWNrRGF0YS5oCkBAIC02Niw4ICs2
Niw4IEBAIHB1YmxpYzoKICAgICBKU0M6OkpTT2JqZWN0KiBjYWxsYmFjaygpIHsgcmV0dXJuIG1f
Y2FsbGJhY2suZ2V0KCk7IH0KICAgICBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KCkg
eyByZXR1cm4gbV9nbG9iYWxPYmplY3QuZ2V0KCk7IH0KICAgICAKLSAgICBKU0M6OkpTVmFsdWUg
aW52b2tlQ2FsbGJhY2soSlNDOjpNYXJrZWRBcmd1bWVudEJ1ZmZlciYsIGJvb2wqIHJhaXNlZEV4
Y2VwdGlvbiA9IDApOwotICAgIEpTQzo6SlNWYWx1ZSBpbnZva2VDYWxsYmFjayhKU0M6OkpTVmFs
dWUgdGhpc1ZhbHVlLCBKU0M6Ok1hcmtlZEFyZ3VtZW50QnVmZmVyJiwgYm9vbCogcmFpc2VkRXhj
ZXB0aW9uID0gMCk7CisgICAgSlNDOjpKU1ZhbHVlIGludm9rZUNhbGxiYWNrKEpTQzo6TWFya2Vk
QXJndW1lbnRCdWZmZXImLCBKU0M6OlByb3BlcnR5TmFtZSBmdW5jdGlvbk5hbWUsIGJvb2wqIHJh
aXNlZEV4Y2VwdGlvbiA9IG51bGxwdHIpOworICAgIEpTQzo6SlNWYWx1ZSBpbnZva2VDYWxsYmFj
ayhKU0M6OkpTVmFsdWUgdGhpc1ZhbHVlLCBKU0M6Ok1hcmtlZEFyZ3VtZW50QnVmZmVyJiwgSlND
OjpQcm9wZXJ0eU5hbWUgZnVuY3Rpb25OYW1lLCBib29sKiByYWlzZWRFeGNlcHRpb24gPSBudWxs
cHRyKTsKIAogcHJpdmF0ZToKICAgICBKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiBtX2NhbGxi
YWNrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21TUUxT
dGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
Q3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAKaW5kZXggMDExZmY5YWY2OWMxMWM1
OGJkYTVhNTI1MDNkNDhhYjYzZjNmOGU5Ni4uZDMzNzJiZGExNjFlZDRhMDFkMzhmMjRhYTAyYTJj
OGFlNDMwODIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0
b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0N1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwCkBAIC01NCw3ICs1
NCw3IEBAIGJvb2wgSlNTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrOjpoYW5kbGVFdmVudChTUUxU
cmFuc2FjdGlvbiogdHJhbnNhY3Rpb24sIFNRTEVyCiAgICAgYXJncy5hcHBlbmQodG9KUyhleGVj
LCBtX2RhdGEtPmdsb2JhbE9iamVjdCgpLCBlcnJvcikpOwogCiAgICAgYm9vbCByYWlzZWRFeGNl
cHRpb24gPSBmYWxzZTsKLSAgICBKU1ZhbHVlIHJlc3VsdCA9IG1fZGF0YS0+aW52b2tlQ2FsbGJh
Y2soYXJncywgJnJhaXNlZEV4Y2VwdGlvbik7CisgICAgSlNWYWx1ZSByZXN1bHQgPSBtX2RhdGEt
Pmludm9rZUNhbGxiYWNrKGFyZ3MsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoZXhlYywgImhhbmRs
ZUV2ZW50IiksICZyYWlzZWRFeGNlcHRpb24pOwogICAgIGlmIChyYWlzZWRFeGNlcHRpb24pIHsK
ICAgICAgICAgLy8gVGhlIHNwZWMgc2F5czoKICAgICAgICAgLy8gIklmIHRoZSBlcnJvciBjYWxs
YmFjayByZXR1cm5zIGZhbHNlLCB0aGVuIG1vdmUgb24gdG8gdGhlIG5leHQgc3RhdGVtZW50Li4u
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQppbmRleCBlODNjYmRjYTZkOTJkZTMyNTMzMWU3MzE0YWFlZThjN2Q4ZWI5NTRiLi42YTYx
OTQwYmRjZDllNDVmOTEwMWI4YTlhYTM4OTllZjJiYzRmODk4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMzU3MCw3ICsz
NTcwLDggQEAgc3ViIEdlbmVyYXRlQ2FsbGJhY2tJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAg
fQogCiAgICAgICAgICAgICBBZGRJbmNsdWRlc0ZvclR5cGVJbkltcGwoJGZ1bmN0aW9uLT5zaWdu
YXR1cmUtPnR5cGUpOwotICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiIgLiBHZXRO
YXRpdmVUeXBlRm9yQ2FsbGJhY2tzKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT50eXBlKSAuICIgJHtj
bGFzc05hbWV9OjoiIC4gJGZ1bmN0aW9uLT5zaWduYXR1cmUtPm5hbWUgLiAiKCIpOworICAgICAg
ICAgICAgbXkgJGZ1bmN0aW9uTmFtZSA9ICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5uYW1lOworICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiIgLiBHZXROYXRpdmVUeXBlRm9yQ2FsbGJh
Y2tzKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT50eXBlKSAuICIgJHtjbGFzc05hbWV9Ojoke2Z1bmN0
aW9uTmFtZX0oIik7CiAKICAgICAgICAgICAgIG15IEBhcmdzID0gKCk7CiAgICAgICAgICAgICBt
eSBAYXJnc0NoZWNrID0gKCk7CkBAIC0zNTg4LDEwICszNTg5LDcgQEAgc3ViIEdlbmVyYXRlQ2Fs
bGJhY2tJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAg
ICAgIHJldHVybiB0cnVlO1xuXG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgIFJlZjwkY2xhc3NOYW1lPiBwcm90ZWN0KCp0aGlzKTtcblxuIik7CiAgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICBKU0xvY2tIb2xkZXIgbG9jayhtX2RhdGEtPmdsb2JhbE9i
amVjdCgpLT52bSgpKTtcblxuIik7Ci0gICAgICAgICAgICBpZiAoQHBhcmFtcykgewotICAgICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIEV4ZWNTdGF0ZSogZXhlYyA9IG1fZGF0
YS0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTtcbiIpOwotICAgICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgIFVOVVNFRF9QQVJBTShleGVjKTtcbiIpOwotICAgICAgICAg
ICAgfQorICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgRXhlY1N0YXRlKiBleGVj
ID0gbV9kYXRhLT5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygpO1xuIik7CiAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzO1xuIik7
CiAKICAgICAgICAgICAgIGZvcmVhY2ggbXkgJHBhcmFtIChAcGFyYW1zKSB7CkBAIC0zNjAwLDcg
KzM1OTgsNyBAQCBzdWIgR2VuZXJhdGVDYWxsYmFja0ltcGxlbWVudGF0aW9uCiAgICAgICAgICAg
ICB9CiAKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiXG4gICAgYm9vbCByYWlzZWRF
eGNlcHRpb24gPSBmYWxzZTtcbiIpOwotICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIg
ICAgbV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCAmcmFpc2VkRXhjZXB0aW9uKTtcbiIpOwor
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgbV9kYXRhLT5pbnZva2VDYWxsYmFj
ayhhcmdzLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKGV4ZWMsIFwiJHtmdW5jdGlvbk5hbWV9XCIp
LCAmcmFpc2VkRXhjZXB0aW9uKTtcbiIpOwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIgICAgcmV0dXJuICFyYWlzZWRFeGNlcHRpb247XG4iKTsKICAgICAgICAgICAgIHB1c2goQGlt
cGxDb250ZW50LCAifVxuIik7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suY3BwCmluZGV4IDZm
N2JjYjBkNzA2Yjg0YjEyOGYzYjcxY2Y2OGU1ZTgwNTAzYWQ0OWUuLjM5MjA0NDY0YmUxNTNjYzY1
NDg0MjliNGQ1OWRkMjc5YTNiNzRjY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrLmNwcApAQCAtNzEsMTAg
KzcxLDExIEBAIGJvb2wgSlNUZXN0Q2FsbGJhY2s6OmNhbGxiYWNrV2l0aE5vUGFyYW0oKQogCiAg
ICAgSlNMb2NrSG9sZGVyIGxvY2sobV9kYXRhLT5nbG9iYWxPYmplY3QoKS0+dm0oKSk7CiAKKyAg
ICBFeGVjU3RhdGUqIGV4ZWMgPSBtX2RhdGEtPmdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCk7
CiAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsKIAogICAgIGJvb2wgcmFpc2VkRXhjZXB0
aW9uID0gZmFsc2U7Ci0gICAgbV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCAmcmFpc2VkRXhj
ZXB0aW9uKTsKKyAgICBtX2RhdGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsIElkZW50aWZpZXI6OmZy
b21TdHJpbmcoZXhlYywgImNhbGxiYWNrV2l0aE5vUGFyYW0iKSwgJnJhaXNlZEV4Y2VwdGlvbik7
CiAgICAgcmV0dXJuICFyYWlzZWRFeGNlcHRpb247CiB9CiAKQEAgLTg4LDEyICs4OSwxMSBAQCBi
b29sIEpTVGVzdENhbGxiYWNrOjpjYWxsYmFja1dpdGhBcnJheVBhcmFtKFJlZlB0cjxGbG9hdDMy
QXJyYXk+IGFycmF5UGFyYW0pCiAgICAgSlNMb2NrSG9sZGVyIGxvY2sobV9kYXRhLT5nbG9iYWxP
YmplY3QoKS0+dm0oKSk7CiAKICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBtX2RhdGEtPmdsb2JhbE9i
amVjdCgpLT5nbG9iYWxFeGVjKCk7Ci0gICAgVU5VU0VEX1BBUkFNKGV4ZWMpOwogICAgIE1hcmtl
ZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CiAgICAgYXJncy5hcHBlbmQodG9KUyhleGVjLCBtX2RhdGEt
Pmdsb2JhbE9iamVjdCgpLCBXVEY6OmdldFB0cihhcnJheVBhcmFtKSkpOwogCiAgICAgYm9vbCBy
YWlzZWRFeGNlcHRpb24gPSBmYWxzZTsKLSAgICBtX2RhdGEtPmludm9rZUNhbGxiYWNrKGFyZ3Ms
ICZyYWlzZWRFeGNlcHRpb24pOworICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywgSWRl
bnRpZmllcjo6ZnJvbVN0cmluZyhleGVjLCAiY2FsbGJhY2tXaXRoQXJyYXlQYXJhbSIpLCAmcmFp
c2VkRXhjZXB0aW9uKTsKICAgICByZXR1cm4gIXJhaXNlZEV4Y2VwdGlvbjsKIH0KIApAQCAtMTA3
LDEzICsxMDcsMTIgQEAgYm9vbCBKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlUGFyYW0oUGFzc1JlZlB0cjxTZXJpYWxpemUKICAgICBKU0xvY2tIb2xkZXIg
bG9jayhtX2RhdGEtPmdsb2JhbE9iamVjdCgpLT52bSgpKTsKIAogICAgIEV4ZWNTdGF0ZSogZXhl
YyA9IG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTsKLSAgICBVTlVTRURfUEFS
QU0oZXhlYyk7CiAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsKICAgICBhcmdzLmFwcGVu
ZChzcnpQYXJhbSA/IHNyelBhcmFtLT5kZXNlcmlhbGl6ZShleGVjLCBjYXN0ZWRUaGlzLT5nbG9i
YWxPYmplY3QoKSwgMCkgOiBqc051bGwoKSk7CiAgICAgYXJncy5hcHBlbmQoanNTdHJpbmdXaXRo
Q2FjaGUoZXhlYywgc3RyQXJnKSk7CiAKICAgICBib29sIHJhaXNlZEV4Y2VwdGlvbiA9IGZhbHNl
OwotICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywgJnJhaXNlZEV4Y2VwdGlvbik7Cisg
ICAgbV9kYXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKGV4
ZWMsICJjYWxsYmFja1dpdGhTZXJpYWxpemVkU2NyaXB0VmFsdWVQYXJhbSIpLCAmcmFpc2VkRXhj
ZXB0aW9uKTsKICAgICByZXR1cm4gIXJhaXNlZEV4Y2VwdGlvbjsKIH0KIApAQCAtMTI3LDEyICsx
MjYsMTEgQEAgYm9vbCBKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoU3RyaW5nTGlzdChQYXNz
UmVmUHRyPERPTVN0cmluZ0xpc3Q+IGxpc3RQYXJhbSkKICAgICBKU0xvY2tIb2xkZXIgbG9jayht
X2RhdGEtPmdsb2JhbE9iamVjdCgpLT52bSgpKTsKIAogICAgIEV4ZWNTdGF0ZSogZXhlYyA9IG1f
ZGF0YS0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTsKLSAgICBVTlVTRURfUEFSQU0oZXhl
Yyk7CiAgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsKICAgICBhcmdzLmFwcGVuZCh0b0pT
KGV4ZWMsIG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCksIFdURjo6Z2V0UHRyKGxpc3RQYXJhbSkpKTsK
IAogICAgIGJvb2wgcmFpc2VkRXhjZXB0aW9uID0gZmFsc2U7Ci0gICAgbV9kYXRhLT5pbnZva2VD
YWxsYmFjayhhcmdzLCAmcmFpc2VkRXhjZXB0aW9uKTsKKyAgICBtX2RhdGEtPmludm9rZUNhbGxi
YWNrKGFyZ3MsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoZXhlYywgImNhbGxiYWNrV2l0aFN0cmlu
Z0xpc3QiKSwgJnJhaXNlZEV4Y2VwdGlvbik7CiAgICAgcmV0dXJuICFyYWlzZWRFeGNlcHRpb247
CiB9CiAKQEAgLTE0NiwxMiArMTQ0LDExIEBAIGJvb2wgSlNUZXN0Q2FsbGJhY2s6OmNhbGxiYWNr
V2l0aEJvb2xlYW4oYm9vbCBib29sUGFyYW0pCiAgICAgSlNMb2NrSG9sZGVyIGxvY2sobV9kYXRh
LT5nbG9iYWxPYmplY3QoKS0+dm0oKSk7CiAKICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBtX2RhdGEt
Pmdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCk7Ci0gICAgVU5VU0VEX1BBUkFNKGV4ZWMpOwog
ICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CiAgICAgYXJncy5hcHBlbmQoanNCb29sZWFu
KGJvb2xQYXJhbSkpOwogCiAgICAgYm9vbCByYWlzZWRFeGNlcHRpb24gPSBmYWxzZTsKLSAgICBt
X2RhdGEtPmludm9rZUNhbGxiYWNrKGFyZ3MsICZyYWlzZWRFeGNlcHRpb24pOworICAgIG1fZGF0
YS0+aW52b2tlQ2FsbGJhY2soYXJncywgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyhleGVjLCAiY2Fs
bGJhY2tXaXRoQm9vbGVhbiIpLCAmcmFpc2VkRXhjZXB0aW9uKTsKICAgICByZXR1cm4gIXJhaXNl
ZEV4Y2VwdGlvbjsKIH0KIApAQCAtMTY1LDEzICsxNjIsMTIgQEAgYm9vbCBKU1Rlc3RDYWxsYmFj
azo6Y2FsbGJhY2tSZXF1aXJlc1RoaXNUb1Bhc3MoaW50IGxvbmdQYXJhbSwgVGVzdE5vZGUqIHRl
c3ROb2QKICAgICBKU0xvY2tIb2xkZXIgbG9jayhtX2RhdGEtPmdsb2JhbE9iamVjdCgpLT52bSgp
KTsKIAogICAgIEV4ZWNTdGF0ZSogZXhlYyA9IG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCktPmdsb2Jh
bEV4ZWMoKTsKLSAgICBVTlVTRURfUEFSQU0oZXhlYyk7CiAgICAgTWFya2VkQXJndW1lbnRCdWZm
ZXIgYXJnczsKICAgICBhcmdzLmFwcGVuZChqc051bWJlcihsb25nUGFyYW0pKTsKICAgICBhcmdz
LmFwcGVuZCh0b0pTKGV4ZWMsIG1fZGF0YS0+Z2xvYmFsT2JqZWN0KCksIFdURjo6Z2V0UHRyKHRl
c3ROb2RlUGFyYW0pKSk7CiAKICAgICBib29sIHJhaXNlZEV4Y2VwdGlvbiA9IGZhbHNlOwotICAg
IG1fZGF0YS0+aW52b2tlQ2FsbGJhY2soYXJncywgJnJhaXNlZEV4Y2VwdGlvbik7CisgICAgbV9k
YXRhLT5pbnZva2VDYWxsYmFjayhhcmdzLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKGV4ZWMsICJj
YWxsYmFja1JlcXVpcmVzVGhpc1RvUGFzcyIpLCAmcmFpc2VkRXhjZXB0aW9uKTsKICAgICByZXR1
cm4gIXJhaXNlZEV4Y2VwdGlvbjsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>