<?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>143999</bug_id>
          
          <creation_ts>2015-04-21 10:52:56 -0700</creation_ts>
          <short_desc>Remove AllocationProfileWatchpoint node</short_desc>
          <delta_ts>2015-04-21 13:25:02 -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>JavaScriptCore</component>
          <version>528+ (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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>144000</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Basile Clement">basile_clement</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>msaboff</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1087094</commentid>
    <comment_count>0</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-04-21 10:52:56 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087110</commentid>
    <comment_count>1</comment_count>
      <attachid>251246</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-04-21 11:18:14 -0700</bug_when>
    <thetext>Created attachment 251246
Tentative patch, non thread-safe</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087111</commentid>
    <comment_count>2</comment_count>
      <attachid>251246</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-04-21 11:22:38 -0700</bug_when>
    <thetext>Comment on attachment 251246
Tentative patch, non thread-safe

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

&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:2643
&gt;                  if (Structure* structure = function-&gt;allocationStructure()) {

We probably need to freeze the rare data here, in case it is removed by the JS thread and then the GC runs at that point.
Not sure how to do this, I first need to investigate more deeply how freeze() &amp; the GC works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087113</commentid>
    <comment_count>3</comment_count>
      <attachid>251246</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-21 11:31:30 -0700</bug_when>
    <thetext>Comment on attachment 251246
Tentative patch, non thread-safe

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

&gt;&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:2643
&gt;&gt;                  if (Structure* structure = function-&gt;allocationStructure()) {
&gt; 
&gt; We probably need to freeze the rare data here, in case it is removed by the JS thread and then the GC runs at that point.
&gt; Not sure how to do this, I first need to investigate more deeply how freeze() &amp; the GC works.

It seems that you&apos;re using JSFunction&apos;s helpers to get things from the rare data.  I would make this explicit here, so instead of function-&gt;allocationStructure() you&apos;d do something like rareData-&gt;allocationStructure().  And instead of function-&gt;allocationProfileWatchpointSet() you&apos;d do rareData-&gt;allocationProfileWatchpointSet().

Then you&apos;d do:

FunctionRareData* rareData = function-&gt;rareData();
if (rareData) {
    if (Structure* structure = rareData-&gt;structure()) {
        m_graph.freeze(rareData);
        m_graph.watchpoints().addLazily(rareData-&gt;allocationProfileWatchpointSet()); // note that here you don&apos;t have to do any null checking - you know that rareData has the InlineWatchpointSet in place rather than via pointer.
        ... the rest
    }
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087117</commentid>
    <comment_count>4</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-04-21 11:45:31 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 251246 [details]
&gt; Tentative patch, non thread-safe
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=251246&amp;action=review
&gt; 
&gt; &gt;&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:2643
&gt; &gt;&gt;                  if (Structure* structure = function-&gt;allocationStructure()) {
&gt; &gt; 
&gt; &gt; We probably need to freeze the rare data here, in case it is removed by the JS thread and then the GC runs at that point.
&gt; &gt; Not sure how to do this, I first need to investigate more deeply how freeze() &amp; the GC works.
&gt; 
&gt; It seems that you&apos;re using JSFunction&apos;s helpers to get things from the rare
&gt; data.  I would make this explicit here, so instead of
&gt; function-&gt;allocationStructure() you&apos;d do something like
&gt; rareData-&gt;allocationStructure().  And instead of
&gt; function-&gt;allocationProfileWatchpointSet() you&apos;d do
&gt; rareData-&gt;allocationProfileWatchpointSet().

I had this discussion with Michael yesterday who told me keeping the accessors would be better, but that is indeed problematic here. I will change that.

&gt; 
&gt; Then you&apos;d do:
&gt; 
&gt; FunctionRareData* rareData = function-&gt;rareData();
&gt; if (rareData) {
&gt;     if (Structure* structure = rareData-&gt;structure()) {
&gt;         m_graph.freeze(rareData);

Right, the m_graph.freeze(rareData) was the thing I was not sure would be sufficient (thought I needed to store it somewhere).
Shouldn&apos;t it rather be:

if (rareData) {
    m_graph.freeze(rareData);
    if (Structure* structure = rareData-&gt;structure()) {
      ...
    }
}

in case the rare data is deallocated in between the two ifs (this shouldn&apos;t matter after https://bugs.webkit.org/show_bug.cgi?id=144000 is taken care of)?

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087118</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-21 11:48:00 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; Comment on attachment 251246 [details]
&gt; &gt; Tentative patch, non thread-safe
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=251246&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:2643
&gt; &gt; &gt;&gt;                  if (Structure* structure = function-&gt;allocationStructure()) {
&gt; &gt; &gt; 
&gt; &gt; &gt; We probably need to freeze the rare data here, in case it is removed by the JS thread and then the GC runs at that point.
&gt; &gt; &gt; Not sure how to do this, I first need to investigate more deeply how freeze() &amp; the GC works.
&gt; &gt; 
&gt; &gt; It seems that you&apos;re using JSFunction&apos;s helpers to get things from the rare
&gt; &gt; data.  I would make this explicit here, so instead of
&gt; &gt; function-&gt;allocationStructure() you&apos;d do something like
&gt; &gt; rareData-&gt;allocationStructure().  And instead of
&gt; &gt; function-&gt;allocationProfileWatchpointSet() you&apos;d do
&gt; &gt; rareData-&gt;allocationProfileWatchpointSet().
&gt; 
&gt; I had this discussion with Michael yesterday who told me keeping the
&gt; accessors would be better, but that is indeed problematic here. I will
&gt; change that.
&gt; 
&gt; &gt; 
&gt; &gt; Then you&apos;d do:
&gt; &gt; 
&gt; &gt; FunctionRareData* rareData = function-&gt;rareData();
&gt; &gt; if (rareData) {
&gt; &gt;     if (Structure* structure = rareData-&gt;structure()) {
&gt; &gt;         m_graph.freeze(rareData);
&gt; 
&gt; Right, the m_graph.freeze(rareData) was the thing I was not sure would be
&gt; sufficient (thought I needed to store it somewhere).
&gt; Shouldn&apos;t it rather be:
&gt; 
&gt; if (rareData) {
&gt;     m_graph.freeze(rareData);
&gt;     if (Structure* structure = rareData-&gt;structure()) {
&gt;       ...
&gt;     }
&gt; }
&gt; 
&gt; in case the rare data is deallocated in between the two ifs (this shouldn&apos;t
&gt; matter after https://bugs.webkit.org/show_bug.cgi?id=144000 is taken care
&gt; of)?

It&apos;s safe to assume that a GC cannot happen during a DFG phase.  The parser counts as a phase.  Hence, you only need to freeze it if you decide that you&apos;ll be using it after parsing completes - i.e. exactly if/when you addLazily().

&gt; 
&gt; Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087135</commentid>
    <comment_count>6</comment_count>
      <attachid>251254</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-04-21 12:23:58 -0700</bug_when>
    <thetext>Created attachment 251254
Patch w/ GC safety</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087138</commentid>
    <comment_count>7</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-21 12:28:02 -0700</bug_when>
    <thetext>You should rebase your patch.  svn up and all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087141</commentid>
    <comment_count>8</comment_count>
      <attachid>251256</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-04-21 12:35:25 -0700</bug_when>
    <thetext>Created attachment 251256
Rebased patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087149</commentid>
    <comment_count>9</comment_count>
      <attachid>251256</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-21 13:24:58 -0700</bug_when>
    <thetext>Comment on attachment 251256
Rebased patch

Clearing flags on attachment: 251256

Committed r183073: &lt;http://trac.webkit.org/changeset/183073&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087150</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-21 13:25:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251246</attachid>
            <date>2015-04-21 11:18:14 -0700</date>
            <delta_ts>2015-04-21 12:23:58 -0700</delta_ts>
            <desc>Tentative patch, non thread-safe</desc>
            <filename>remove_apw1.patch</filename>
            <type>text/plain</type>
            <size>9861</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnBy
ZXRlcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRl
cnByZXRlcklubGluZXMuaAppbmRleCBjMzQ3ZGI2Li43NjI1ZTIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5l
cy5oCkBAIC0xMzQ3LDkgKzEzNDcsNiBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJh
Y3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyh1bnNpZ25lZCBjbG9iYmVyTGltaQogICAgICAg
ICBicmVhazsKICAgICB9CiAgICAgICAgIAotICAgIGNhc2UgQWxsb2NhdGlvblByb2ZpbGVXYXRj
aHBvaW50OgotICAgICAgICBicmVhazsKLQogICAgIGNhc2UgTmV3T2JqZWN0OgogICAgICAgICBB
U1NFUlQobm9kZS0+c3RydWN0dXJlKCkpOwogICAgICAgICBmb3JOb2RlKG5vZGUpLnNldChtX2dy
YXBoLCBub2RlLT5zdHJ1Y3R1cmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQnl0ZUNvZGVQYXJzZXIuY3BwCmluZGV4IDk3MGRiMTUuLmZlZmFkZTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC0yNjQxLDcg
KzI2NDEsOSBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0
KQogICAgICAgICAgICAgYm9vbCBhbHJlYWR5RW1pdHRlZCA9IGZhbHNlOwogICAgICAgICAgICAg
aWYgKEpTRnVuY3Rpb24qIGZ1bmN0aW9uID0gY2FsbGVlLT5keW5hbWljQ2FzdENvbnN0YW50PEpT
RnVuY3Rpb24qPigpKSB7CiAgICAgICAgICAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gZnVuY3Rpb24tPmFsbG9jYXRpb25TdHJ1Y3R1cmUoKSkgewotICAgICAgICAgICAgICAgICAg
ICBhZGRUb0dyYXBoKEFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludCwgT3BJbmZvKG1fZ3JhcGgu
ZnJlZXplKGZ1bmN0aW9uKSkpOworICAgICAgICAgICAgICAgICAgICBJbmxpbmVXYXRjaHBvaW50
U2V0KiB3YXRjaHBvaW50U2V0ID0gZnVuY3Rpb24tPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2lu
dFNldCgpOworICAgICAgICAgICAgICAgICAgICBBU1NFUlQod2F0Y2hwb2ludFNldCk7CisgICAg
ICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkoKndhdGNocG9p
bnRTZXQpOwogICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxpdmUg
dXAgdG8gdGhpcyBwb2ludC4KICAgICAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9t
LCBjYWxsZWUpOwogICAgICAgICAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJl
bnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBoKE5ld09iamVjdCwgT3BJbmZv
KHN0cnVjdHVyZSkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Q2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgK
aW5kZXggYTcyNmJkNy4uYTBmYjA5MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ2xvYmJlcml6ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Q2xvYmJlcml6ZS5oCkBAIC0zNTIsMTEgKzM1Miw2IEBAIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYg
Z3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiByZWFkLCBjb25zdCBXcml0ZUZ1
CiAgICAgICAgIGRlZihIZWFwTG9jYXRpb24oVmFySW5qZWN0aW9uV2F0Y2hwb2ludExvYywgTWlz
Y0ZpZWxkcyksIG5vZGUpOwogICAgICAgICByZXR1cm47CiAKLSAgICBjYXNlIEFsbG9jYXRpb25Q
cm9maWxlV2F0Y2hwb2ludDoKLSAgICAgICAgcmVhZChNaXNjRmllbGRzKTsKLSAgICAgICAgZGVm
KEhlYXBMb2NhdGlvbihBbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRMb2MsIE1pc2NGaWVsZHMp
LCBub2RlKTsKLSAgICAgICAgcmV0dXJuOwotICAgICAgICAKICAgICBjYXNlIElzT2JqZWN0T3JO
dWxsOgogICAgICAgICByZWFkKE1pc2NGaWVsZHMpOwogICAgICAgICBkZWYoSGVhcExvY2F0aW9u
KElzT2JqZWN0T3JOdWxsTG9jLCBNaXNjRmllbGRzLCBub2RlLT5jaGlsZDEoKSksIG5vZGUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCmluZGV4IGE2YWRhZjcuLjY4MmQ0
ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKQEAgLTEwNiw3ICsx
MDYsNiBAQCBib29sIGRvZXNHQyhHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBW
YXJJbmplY3Rpb25XYXRjaHBvaW50OgogICAgIGNhc2UgQ2hlY2tDZWxsOgogICAgIGNhc2UgQ2hl
Y2tOb3RFbXB0eToKLSAgICBjYXNlIEFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludDoKICAgICBj
YXNlIFJlZ0V4cEV4ZWM6CiAgICAgY2FzZSBSZWdFeHBUZXN0OgogICAgIGNhc2UgQ29tcGFyZUxl
c3M6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2Uu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAppbmRleCA1
NTZiZmExLi5iMThhYzEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0ZpeHVwUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQ
aGFzZS5jcHAKQEAgLTEyMDAsNyArMTIwMCw2IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgR2V0
R2xvYmFsVmFyOgogICAgICAgICBjYXNlIE5vdGlmeVdyaXRlOgogICAgICAgICBjYXNlIFZhcklu
amVjdGlvbldhdGNocG9pbnQ6Ci0gICAgICAgIGNhc2UgQWxsb2NhdGlvblByb2ZpbGVXYXRjaHBv
aW50OgogICAgICAgICBjYXNlIENhbGw6CiAgICAgICAgIGNhc2UgQ29uc3RydWN0OgogICAgICAg
ICBjYXNlIENhbGxWYXJhcmdzOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdIZWFwTG9jYXRpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdIZWFw
TG9jYXRpb24uY3BwCmluZGV4IDRlZDFlMDQuLmRiNjkzZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHSGVhcExvY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0hlYXBMb2NhdGlvbi5jcHAKQEAgLTE0MCwxMCArMTQwLDYgQEAgdm9p
ZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIExvY2F0aW9uS2luZCBraW5kKQogICAg
ICAgICBvdXQucHJpbnQoIlZhckluamVjdGlvbldhdGNocG9pbnRMb2MiKTsKICAgICAgICAgcmV0
dXJuOwogICAgICAgICAKLSAgICBjYXNlIEFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludExvYzoK
LSAgICAgICAgb3V0LnByaW50KCJBbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRMb2MiKTsKLSAg
ICAgICAgcmV0dXJuOwotICAgICAgICAKICAgICBjYXNlIFN0cnVjdHVyZUxvYzoKICAgICAgICAg
b3V0LnByaW50KCJTdHJ1Y3R1cmVMb2MiKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdIZWFwTG9jYXRpb24uaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHSGVhcExvY2F0aW9uLmgKaW5kZXggYmU5NWYzZC4uZjdjMTE5YiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdIZWFwTG9jYXRpb24uaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0hlYXBMb2NhdGlvbi5oCkBAIC0zNiw3
ICszNiw2IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKIGVudW0gTG9jYXRpb25L
aW5kIHsKICAgICBJbnZhbGlkTG9jYXRpb25LaW5kLAogICAgIAotICAgIEFsbG9jYXRpb25Qcm9m
aWxlV2F0Y2hwb2ludExvYywKICAgICBBcnJheUxlbmd0aExvYywKICAgICBCdXR0ZXJmbHlMb2Ms
CiAgICAgQ2hlY2tIYXNJbnN0YW5jZUxvYywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHTm9kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgK
aW5kZXggY2M0OTY0Zi4uNDVlZGM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdOb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgK
QEAgLTExOTAsNyArMTE5MCw2IEBAIHN0cnVjdCBOb2RlIHsKICAgICBib29sIGhhc0NlbGxPcGVy
YW5kKCkKICAgICB7CiAgICAgICAgIHN3aXRjaCAob3AoKSkgewotICAgICAgICBjYXNlIEFsbG9j
YXRpb25Qcm9maWxlV2F0Y2hwb2ludDoKICAgICAgICAgY2FzZSBDaGVja0NlbGw6CiAgICAgICAg
IGNhc2UgTmF0aXZlQ29uc3RydWN0OgogICAgICAgICBjYXNlIE5hdGl2ZUNhbGw6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKaW5kZXggZjk4OTkxNC4uYTQzNjQyYiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaApAQCAtMTk0LDcgKzE5NCw2IEBA
IG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKICAgICBtYWNybyhDaGVja0NlbGwsIE5v
ZGVNdXN0R2VuZXJhdGUpIFwKICAgICBtYWNybyhDaGVja05vdEVtcHR5LCBOb2RlTXVzdEdlbmVy
YXRlKSBcCiAgICAgbWFjcm8oQ2hlY2tCYWRDZWxsLCBOb2RlTXVzdEdlbmVyYXRlKSBcCi0gICAg
bWFjcm8oQWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50LCBOb2RlTXVzdEdlbmVyYXRlKSBcCiAg
ICAgbWFjcm8oQ2hlY2tJbkJvdW5kcywgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIFwKICAgICAv
KiBPcHRpbWl6YXRpb25zIGZvciBhcnJheSBtdXRhdGlvbi4gKi9cCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2Uu
Y3BwCmluZGV4IDgxNWM3MDAuLjkxYTdmNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCkBAIC02
MzcsNyArNjM3LDYgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBDaGVja0JhZENlbGw6CiAgICAg
ICAgIGNhc2UgUHV0U3RydWN0dXJlOgogICAgICAgICBjYXNlIFZhckluamVjdGlvbldhdGNocG9p
bnQ6Ci0gICAgICAgIGNhc2UgQWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50OgogICAgICAgICBj
YXNlIFBoYW50b206CiAgICAgICAgIGNhc2UgQ2hlY2s6CiAgICAgICAgIGNhc2UgUHV0R2xvYmFs
VmFyOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVj
dXRlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAppbmRl
eCBlNTMwYTUyLi5mYmY2NTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NhZmVUb0V4ZWN1dGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nh
ZmVUb0V4ZWN1dGUuaApAQCAtMTc5LDcgKzE3OSw2IEBAIGJvb2wgc2FmZVRvRXhlY3V0ZShBYnN0
cmFjdFN0YXRlVHlwZSYgc3RhdGUsIEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNl
IENoZWNrQ2VsbDoKICAgICBjYXNlIENoZWNrQmFkQ2VsbDoKICAgICBjYXNlIENoZWNrTm90RW1w
dHk6Ci0gICAgY2FzZSBBbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnQ6CiAgICAgY2FzZSBSZWdF
eHBFeGVjOgogICAgIGNhc2UgUmVnRXhwVGVzdDoKICAgICBjYXNlIENvbXBhcmVMZXNzOgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5j
cHAKaW5kZXggMmNiMDg1Ny4uNzYwMThkOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBAIC0zNTE1LDExICszNTE1LDYg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBicmVh
azsKICAgICB9CiAKLSAgICBjYXNlIEFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludDogewotICAg
ICAgICBub1Jlc3VsdChub2RlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2FzZSBO
ZXdPYmplY3Q6IHsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzKTsKICAgICAgICAg
R1BSVGVtcG9yYXJ5IGFsbG9jYXRvcih0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCmluZGV4IDQ0OTgwYjEuLjE4NjA0NDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNw
cApAQCAtMzU4NiwxMSArMzU4Niw2IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9k
ZSogbm9kZSkKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgICAgICAKLSAgICBjYXNlIEFsbG9j
YXRpb25Qcm9maWxlV2F0Y2hwb2ludDogewotICAgICAgICBub1Jlc3VsdChub2RlKTsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2FzZSBOZXdPYmplY3Q6IHsKICAgICAgICAgR1BSVGVt
cG9yYXJ5IHJlc3VsdCh0aGlzKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IGFsbG9jYXRvcih0aGlz
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHV2F0Y2hwb2ludENv
bGxlY3Rpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1dhdGNocG9p
bnRDb2xsZWN0aW9uUGhhc2UuY3BwCmluZGV4IDM0MDRlYWQuLmVlMWY2Y2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHV2F0Y2hwb2ludENvbGxlY3Rpb25QaGFzZS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdXYXRjaHBvaW50Q29sbGVjdGlv
blBoYXNlLmNwcApAQCAtMTA1LDEwICsxMDUsNiBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAg
IGFkZExhemlseShnbG9iYWxPYmplY3QoKS0+aGF2aW5nQUJhZFRpbWVXYXRjaHBvaW50KCkpOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAKLSAgICAgICAgY2FzZSBBbGxvY2F0aW9u
UHJvZmlsZVdhdGNocG9pbnQ6Ci0gICAgICAgICAgICBhZGRMYXppbHkobV9ub2RlLT5jYXN0T3Bl
cmFuZDxKU0Z1bmN0aW9uKj4oKS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAKICAgICAgICAgY2FzZSBWYXJJbmplY3Rp
b25XYXRjaHBvaW50OgogICAgICAgICAgICAgYWRkTGF6aWx5KGdsb2JhbE9iamVjdCgpLT52YXJJ
bmplY3Rpb25XYXRjaHBvaW50KCkpOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKaW5kZXggNDBiZjZkOC4uNjgwMjUw
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcApA
QCAtMTQxLDcgKzE0MSw2IEBAIGlubGluZSBDYXBhYmlsaXR5TGV2ZWwgY2FuQ29tcGlsZShOb2Rl
KiBub2RlKQogICAgIGNhc2UgQ291bnRFeGVjdXRpb246CiAgICAgY2FzZSBHZXRFeGVjdXRhYmxl
OgogICAgIGNhc2UgR2V0U2NvcGU6Ci0gICAgY2FzZSBBbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9p
bnQ6CiAgICAgY2FzZSBHZXRDYWxsZWU6CiAgICAgY2FzZSBHZXRBcmd1bWVudENvdW50OgogICAg
IGNhc2UgVG9TdHJpbmc6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TExvd2VyREZHVG9MTFZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJE
RkdUb0xMVk0uY3BwCmluZGV4IGVhMjllYjQuLjY1YWY2NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCkBAIC04NDYsNyArODQ2LDYgQEAg
cHJpdmF0ZToKIAogICAgICAgICBjYXNlIFBoYW50b21Mb2NhbDoKICAgICAgICAgY2FzZSBMb29w
SGludDoKLSAgICAgICAgY2FzZSBBbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnQ6CiAgICAgICAg
IGNhc2UgTW92SGludDoKICAgICAgICAgY2FzZSBab21iaWVIaW50OgogICAgICAgICBjYXNlIFBo
YW50b21OZXdPYmplY3Q6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0Z1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9u
LmgKaW5kZXggMmNmYjMzNy4uYWRmNTYxNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRnVuY3Rpb24uaApAQCAtMTIyLDEwICsxMjIsMTIgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gbV9yYXJlRGF0YS5nZXQoKS0+YWxsb2NhdGlvblN0cnVjdHVyZSgpOwogICAgIH0KIAot
ICAgIElubGluZVdhdGNocG9pbnRTZXQmIGFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgp
CisgICAgSW5saW5lV2F0Y2hwb2ludFNldCogYWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0
KCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChtX3JhcmVEYXRhKTsKLSAgICAgICAgcmV0dXJuIG1f
cmFyZURhdGEuZ2V0KCktPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpOworICAgICAg
ICBpZiAoIW1fcmFyZURhdGEpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAg
ICByZXR1cm4gJm1fcmFyZURhdGEuZ2V0KCktPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNl
dCgpOwogICAgIH0KIAogICAgIGJvb2wgaXNIb3N0T3JCdWlsdGluRnVuY3Rpb24oKSBjb25zdDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251254</attachid>
            <date>2015-04-21 12:23:58 -0700</date>
            <delta_ts>2015-04-21 12:35:25 -0700</delta_ts>
            <desc>Patch w/ GC safety</desc>
            <filename>remove_allocationprofilewatchpoint.patch</filename>
            <type>text/plain</type>
            <size>12424</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDNmYWFmMWEuLjE4M2E5M2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE1LTA0LTIxICBCYXNpbGUgQ2xlbWVu
dCAgPGJhc2lsZV9jbGVtZW50QGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgQWxsb2NhdGlv
blByb2ZpbGVXYXRjaHBvaW50IG5vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE0Mzk5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6Cisg
ICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46
OmV4ZWN1dGVFZmZlY3RzKToKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAg
KiBkZmcvREZHQ2xvYmJlcml6ZS5oOgorICAgICAgICAoSlNDOjpERkc6OmNsb2JiZXJpemUpOgor
ICAgICAgICAqIGRmZy9ERkdEb2VzR0MuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmRvZXNHQyk6
CisgICAgICAgICogZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZp
eHVwUGhhc2U6OmZpeHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR0hlYXBMb2NhdGlvbi5jcHA6
CisgICAgICAgIChXVEY6OnByaW50SW50ZXJuYWwpOgorICAgICAgICAqIGRmZy9ERkdIZWFwTG9j
YXRpb24uaDoKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAgICAoSlNDOjpERkc6Ok5v
ZGU6Omhhc0NlbGxPcGVyYW5kKToKKyAgICAgICAgKiBkZmcvREZHTm9kZVR5cGUuaDoKKyAgICAg
ICAgKiBkZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwOgorICAgICAgICAoSlND
OjpERkc6OlByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlOjpwcm9wYWdhdGUpOgorICAgICAgICAq
IGRmZy9ERkdTYWZlVG9FeGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRGRzo6c2FmZVRvRXhlY3V0
ZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAo
SlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3Bl
Y3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGUpOgorICAgICAgICAqIGRmZy9ERkdXYXRjaHBvaW50Q29sbGVjdGlvblBoYXNlLmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpXYXRjaHBvaW50Q29sbGVjdGlvblBoYXNlOjpoYW5kbGUpOgor
ICAgICAgICAqIGZ0bC9GVExDYXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OmNh
bkNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAg
IChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVOb2RlKToKKyAgICAgICAgKiBydW50
aW1lL0pTRnVuY3Rpb24uaDoKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6cmFyZURhdGEpOgor
ICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjphbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQp
OiBEZWxldGVkLgorCiAyMDE1LTA0LTIxICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUu
Y29tPgogCiAgICAgICAgIENyYXNoIGluIEpTQzo6SW50ZXJwcmV0ZXI6OmV4ZWN1dGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklu
bGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRl
cklubGluZXMuaAppbmRleCBjMzQ3ZGI2Li43NjI1ZTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBA
IC0xMzQ3LDkgKzEzNDcsNiBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0
ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyh1bnNpZ25lZCBjbG9iYmVyTGltaQogICAgICAgICBicmVh
azsKICAgICB9CiAgICAgICAgIAotICAgIGNhc2UgQWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50
OgotICAgICAgICBicmVhazsKLQogICAgIGNhc2UgTmV3T2JqZWN0OgogICAgICAgICBBU1NFUlQo
bm9kZS0+c3RydWN0dXJlKCkpOwogICAgICAgICBmb3JOb2RlKG5vZGUpLnNldChtX2dyYXBoLCBu
b2RlLT5zdHJ1Y3R1cmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0
ZUNvZGVQYXJzZXIuY3BwCmluZGV4IDk3MGRiMTUuLmZhYTRjYjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC0yNjQwLDEyICsyNjQw
LDE1IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAg
ICAgICAgICAgICBOb2RlKiBjYWxsZWUgPSBnZXQoVmlydHVhbFJlZ2lzdGVyKGNhbGxlZU9wZXJh
bmQpKTsKICAgICAgICAgICAgIGJvb2wgYWxyZWFkeUVtaXR0ZWQgPSBmYWxzZTsKICAgICAgICAg
ICAgIGlmIChKU0Z1bmN0aW9uKiBmdW5jdGlvbiA9IGNhbGxlZS0+ZHluYW1pY0Nhc3RDb25zdGFu
dDxKU0Z1bmN0aW9uKj4oKSkgewotICAgICAgICAgICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IGZ1bmN0aW9uLT5hbGxvY2F0aW9uU3RydWN0dXJlKCkpIHsKLSAgICAgICAgICAgICAg
ICAgICAgYWRkVG9HcmFwaChBbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnQsIE9wSW5mbyhtX2dy
YXBoLmZyZWV6ZShmdW5jdGlvbikpKTsKLSAgICAgICAgICAgICAgICAgICAgLy8gVGhlIGNhbGxl
ZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRoaXMgcG9pbnQuCi0gICAgICAgICAgICAgICAgICAgIGFk
ZFRvR3JhcGgoUGhhbnRvbSwgY2FsbGVlKTsKLSAgICAgICAgICAgICAgICAgICAgc2V0KFZpcnR1
YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChO
ZXdPYmplY3QsIE9wSW5mbyhzdHJ1Y3R1cmUpKSk7Ci0gICAgICAgICAgICAgICAgICAgIGFscmVh
ZHlFbWl0dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBpZiAoRnVuY3Rpb25SYXJlRGF0YSog
cmFyZURhdGEgPSBmdW5jdGlvbi0+cmFyZURhdGEoKSkgeworICAgICAgICAgICAgICAgICAgICBp
ZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJlRGF0YS0+YWxsb2NhdGlvblN0cnVjdHVyZSgp
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJh
cmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2ludC4K
KyAgICAgICAgICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoUGhhbnRvbSwgY2FsbGVlKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0
aW9uWzFdLnUub3BlcmFuZCksIGFkZFRvR3JhcGgoTmV3T2JqZWN0LCBPcEluZm8oc3RydWN0dXJl
KSkpOworICAgICAgICAgICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVlOworICAg
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgaWYgKCFhbHJlYWR5RW1pdHRlZCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0Nsb2JiZXJpemUuaAppbmRleCBhNzI2YmQ3Li5hMGZiMDkwYyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTM1MiwxMSArMzUyLDYgQEAgdm9pZCBj
bG9iYmVyaXplKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSwgY29uc3QgUmVhZEZ1bmN0b3ImIHJl
YWQsIGNvbnN0IFdyaXRlRnUKICAgICAgICAgZGVmKEhlYXBMb2NhdGlvbihWYXJJbmplY3Rpb25X
YXRjaHBvaW50TG9jLCBNaXNjRmllbGRzKSwgbm9kZSk7CiAgICAgICAgIHJldHVybjsKIAotICAg
IGNhc2UgQWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50OgotICAgICAgICByZWFkKE1pc2NGaWVs
ZHMpOwotICAgICAgICBkZWYoSGVhcExvY2F0aW9uKEFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2lu
dExvYywgTWlzY0ZpZWxkcyksIG5vZGUpOwotICAgICAgICByZXR1cm47Ci0gICAgICAgIAogICAg
IGNhc2UgSXNPYmplY3RPck51bGw6CiAgICAgICAgIHJlYWQoTWlzY0ZpZWxkcyk7CiAgICAgICAg
IGRlZihIZWFwTG9jYXRpb24oSXNPYmplY3RPck51bGxMb2MsIE1pc2NGaWVsZHMsIG5vZGUtPmNo
aWxkMSgpKSwgbm9kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0RvZXNHQy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKaW5k
ZXggYTZhZGFmNy4uNjgyZDQ4NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdEb2VzR0MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dD
LmNwcApAQCAtMTA2LDcgKzEwNiw2IEBAIGJvb2wgZG9lc0dDKEdyYXBoJiBncmFwaCwgTm9kZSog
bm9kZSkKICAgICBjYXNlIFZhckluamVjdGlvbldhdGNocG9pbnQ6CiAgICAgY2FzZSBDaGVja0Nl
bGw6CiAgICAgY2FzZSBDaGVja05vdEVtcHR5OgotICAgIGNhc2UgQWxsb2NhdGlvblByb2ZpbGVX
YXRjaHBvaW50OgogICAgIGNhc2UgUmVnRXhwRXhlYzoKICAgICBjYXNlIFJlZ0V4cFRlc3Q6CiAg
ICAgY2FzZSBDb21wYXJlTGVzczoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHRml4dXBQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVw
UGhhc2UuY3BwCmluZGV4IDU1NmJmYTEuLmIxOGFjMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcApAQCAtMTIwMCw3ICsxMjAwLDYgQEAgcHJpdmF0ZToK
ICAgICAgICAgY2FzZSBHZXRHbG9iYWxWYXI6CiAgICAgICAgIGNhc2UgTm90aWZ5V3JpdGU6CiAg
ICAgICAgIGNhc2UgVmFySW5qZWN0aW9uV2F0Y2hwb2ludDoKLSAgICAgICAgY2FzZSBBbGxvY2F0
aW9uUHJvZmlsZVdhdGNocG9pbnQ6CiAgICAgICAgIGNhc2UgQ2FsbDoKICAgICAgICAgY2FzZSBD
b25zdHJ1Y3Q6CiAgICAgICAgIGNhc2UgQ2FsbFZhcmFyZ3M6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0hlYXBMb2NhdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0hlYXBMb2NhdGlvbi5jcHAKaW5kZXggNGVkMWUwNC4uZGI2OTNkNCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdIZWFwTG9jYXRpb24uY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSGVhcExvY2F0aW9uLmNwcApAQCAtMTQw
LDEwICsxNDAsNiBAQCB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgTG9jYXRp
b25LaW5kIGtpbmQpCiAgICAgICAgIG91dC5wcmludCgiVmFySW5qZWN0aW9uV2F0Y2hwb2ludExv
YyIpOwogICAgICAgICByZXR1cm47CiAgICAgICAgIAotICAgIGNhc2UgQWxsb2NhdGlvblByb2Zp
bGVXYXRjaHBvaW50TG9jOgotICAgICAgICBvdXQucHJpbnQoIkFsbG9jYXRpb25Qcm9maWxlV2F0
Y2hwb2ludExvYyIpOwotICAgICAgICByZXR1cm47Ci0gICAgICAgIAogICAgIGNhc2UgU3RydWN0
dXJlTG9jOgogICAgICAgICBvdXQucHJpbnQoIlN0cnVjdHVyZUxvYyIpOwogICAgICAgICByZXR1
cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0hlYXBMb2NhdGlv
bi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdIZWFwTG9jYXRpb24uaAppbmRleCBi
ZTk1ZjNkLi5mN2MxMTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0hlYXBMb2NhdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSGVhcExv
Y2F0aW9uLmgKQEAgLTM2LDcgKzM2LDYgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcg
ewogZW51bSBMb2NhdGlvbktpbmQgewogICAgIEludmFsaWRMb2NhdGlvbktpbmQsCiAgICAgCi0g
ICAgQWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50TG9jLAogICAgIEFycmF5TGVuZ3RoTG9jLAog
ICAgIEJ1dHRlcmZseUxvYywKICAgICBDaGVja0hhc0luc3RhbmNlTG9jLApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR05vZGUuaAppbmRleCBjYzQ5NjRmLi40NWVkYzllIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR05vZGUuaApAQCAtMTE5MCw3ICsxMTkwLDYgQEAgc3RydWN0IE5vZGUgewogICAg
IGJvb2wgaGFzQ2VsbE9wZXJhbmQoKQogICAgIHsKICAgICAgICAgc3dpdGNoIChvcCgpKSB7Ci0g
ICAgICAgIGNhc2UgQWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50OgogICAgICAgICBjYXNlIENo
ZWNrQ2VsbDoKICAgICAgICAgY2FzZSBOYXRpdmVDb25zdHJ1Y3Q6CiAgICAgICAgIGNhc2UgTmF0
aXZlQ2FsbDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5
cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAppbmRleCA4NGY1
Y2UzLi4wMmQ5MGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05v
ZGVUeXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCkBA
IC0xOTQsNyArMTk0LDYgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogICAgIG1h
Y3JvKENoZWNrQ2VsbCwgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1hY3JvKENoZWNrTm90RW1w
dHksIE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBtYWNybyhDaGVja0JhZENlbGwsIE5vZGVNdXN0
R2VuZXJhdGUpIFwKLSAgICBtYWNybyhBbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnQsIE5vZGVN
dXN0R2VuZXJhdGUpIFwKICAgICBtYWNybyhDaGVja0luQm91bmRzLCBOb2RlTXVzdEdlbmVyYXRl
KSBcCiAgICAgXAogICAgIC8qIE9wdGltaXphdGlvbnMgZm9yIGFycmF5IG11dGF0aW9uLiAqL1wK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3Bh
Z2F0aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9u
UHJvcGFnYXRpb25QaGFzZS5jcHAKaW5kZXggODE1YzcwMC4uOTFhN2Y2NyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRp
b25QaGFzZS5jcHAKQEAgLTYzNyw3ICs2MzcsNiBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIENo
ZWNrQmFkQ2VsbDoKICAgICAgICAgY2FzZSBQdXRTdHJ1Y3R1cmU6CiAgICAgICAgIGNhc2UgVmFy
SW5qZWN0aW9uV2F0Y2hwb2ludDoKLSAgICAgICAgY2FzZSBBbGxvY2F0aW9uUHJvZmlsZVdhdGNo
cG9pbnQ6CiAgICAgICAgIGNhc2UgUGhhbnRvbToKICAgICAgICAgY2FzZSBDaGVjazoKICAgICAg
ICAgY2FzZSBQdXRHbG9iYWxWYXI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2Fm
ZVRvRXhlY3V0ZS5oCmluZGV4IGU1MzBhNTIuLmZiZjY1NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCkBAIC0xNzksNyArMTc5LDYgQEAgYm9vbCBz
YWZlVG9FeGVjdXRlKEFic3RyYWN0U3RhdGVUeXBlJiBzdGF0ZSwgR3JhcGgmIGdyYXBoLCBOb2Rl
KiBub2RlKQogICAgIGNhc2UgQ2hlY2tDZWxsOgogICAgIGNhc2UgQ2hlY2tCYWRDZWxsOgogICAg
IGNhc2UgQ2hlY2tOb3RFbXB0eToKLSAgICBjYXNlIEFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2lu
dDoKICAgICBjYXNlIFJlZ0V4cEV4ZWM6CiAgICAgY2FzZSBSZWdFeHBUZXN0OgogICAgIGNhc2Ug
Q29tcGFyZUxlc3M6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDMyXzY0LmNwcAppbmRleCAyY2IwODU3Li43NjAxOGQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKQEAg
LTM1MTUsMTEgKzM1MTUsNiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5v
ZGUpCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIGNhc2UgQWxsb2NhdGlvblByb2ZpbGVX
YXRjaHBvaW50OiB7Ci0gICAgICAgIG5vUmVzdWx0KG5vZGUpOwotICAgICAgICBicmVhazsKLSAg
ICB9Ci0KICAgICBjYXNlIE5ld09iamVjdDogewogICAgICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0
KHRoaXMpOwogICAgICAgICBHUFJUZW1wb3JhcnkgYWxsb2NhdG9yKHRoaXMpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKaW5kZXggNDQ5
ODBiMS4uMTg2MDQ0MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVDY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwCkBAIC0zNTg2LDExICszNTg2LDYgQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBicmVhazsKICAgICB9CiAgICAgICAg
IAotICAgIGNhc2UgQWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50OiB7Ci0gICAgICAgIG5vUmVz
dWx0KG5vZGUpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0KICAgICBjYXNlIE5ld09iamVjdDog
ewogICAgICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMpOwogICAgICAgICBHUFJUZW1wb3Jh
cnkgYWxsb2NhdG9yKHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdXYXRjaHBvaW50Q29sbGVjdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHV2F0Y2hwb2ludENvbGxlY3Rpb25QaGFzZS5jcHAKaW5kZXggMzQwNGVhZC4uZWUx
ZjZjZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdXYXRjaHBvaW50
Q29sbGVjdGlvblBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1dh
dGNocG9pbnRDb2xsZWN0aW9uUGhhc2UuY3BwCkBAIC0xMDUsMTAgKzEwNSw2IEBAIHByaXZhdGU6
CiAgICAgICAgICAgICAgICAgYWRkTGF6aWx5KGdsb2JhbE9iamVjdCgpLT5oYXZpbmdBQmFkVGlt
ZVdhdGNocG9pbnQoKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIAotICAgICAg
ICBjYXNlIEFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludDoKLSAgICAgICAgICAgIGFkZExhemls
eShtX25vZGUtPmNhc3RPcGVyYW5kPEpTRnVuY3Rpb24qPigpLT5hbGxvY2F0aW9uUHJvZmlsZVdh
dGNocG9pbnRTZXQoKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIAogICAgICAg
ICBjYXNlIFZhckluamVjdGlvbldhdGNocG9pbnQ6CiAgICAgICAgICAgICBhZGRMYXppbHkoZ2xv
YmFsT2JqZWN0KCktPnZhckluamVjdGlvbldhdGNocG9pbnQoKSk7CiAgICAgICAgICAgICBicmVh
azsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVz
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAppbmRl
eCA0MGJmNmQ4Li42ODAyNTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTENhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExD
YXBhYmlsaXRpZXMuY3BwCkBAIC0xNDEsNyArMTQxLDYgQEAgaW5saW5lIENhcGFiaWxpdHlMZXZl
bCBjYW5Db21waWxlKE5vZGUqIG5vZGUpCiAgICAgY2FzZSBDb3VudEV4ZWN1dGlvbjoKICAgICBj
YXNlIEdldEV4ZWN1dGFibGU6CiAgICAgY2FzZSBHZXRTY29wZToKLSAgICBjYXNlIEFsbG9jYXRp
b25Qcm9maWxlV2F0Y2hwb2ludDoKICAgICBjYXNlIEdldENhbGxlZToKICAgICBjYXNlIEdldEFy
Z3VtZW50Q291bnQ6CiAgICAgY2FzZSBUb1N0cmluZzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKaW5kZXggZThmNGE3Yi4uN2ZiODk4ZSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKQEAg
LTg0Niw3ICs4NDYsNiBAQCBwcml2YXRlOgogCiAgICAgICAgIGNhc2UgUGhhbnRvbUxvY2FsOgog
ICAgICAgICBjYXNlIExvb3BIaW50OgotICAgICAgICBjYXNlIEFsbG9jYXRpb25Qcm9maWxlV2F0
Y2hwb2ludDoKICAgICAgICAgY2FzZSBNb3ZIaW50OgogICAgICAgICBjYXNlIFpvbWJpZUhpbnQ6
CiAgICAgICAgIGNhc2UgUGhhbnRvbU5ld09iamVjdDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTRnVuY3Rpb24uaAppbmRleCAyY2ZiMzM3Li43YjllODRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCkBAIC0xMTYsMTggKzExNiwxNCBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiBtX3JhcmVEYXRhLmdldCgpOwogICAgIH0KIAorICAgIEZ1
bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhKCkgeyByZXR1cm4gbV9yYXJlRGF0YS5nZXQoKTsgfQor
CiAgICAgU3RydWN0dXJlKiBhbGxvY2F0aW9uU3RydWN0dXJlKCkKICAgICB7CiAgICAgICAgIEFT
U0VSVChtX3JhcmVEYXRhKTsKICAgICAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0KCktPmFsbG9j
YXRpb25TdHJ1Y3R1cmUoKTsKICAgICB9CiAKLSAgICBJbmxpbmVXYXRjaHBvaW50U2V0JiBhbGxv
Y2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKQotICAgIHsKLSAgICAgICAgQVNTRVJUKG1fcmFy
ZURhdGEpOwotICAgICAgICByZXR1cm4gbV9yYXJlRGF0YS5nZXQoKS0+YWxsb2NhdGlvblByb2Zp
bGVXYXRjaHBvaW50U2V0KCk7Ci0gICAgfQotCiAgICAgYm9vbCBpc0hvc3RPckJ1aWx0aW5GdW5j
dGlvbigpIGNvbnN0OwogICAgIGJvb2wgaXNCdWlsdGluRnVuY3Rpb24oKSBjb25zdDsKICAgICBK
U19FWFBPUlRfUFJJVkFURSBib29sIGlzSG9zdEZ1bmN0aW9uTm9uSW5saW5lKCkgY29uc3Q7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251256</attachid>
            <date>2015-04-21 12:35:25 -0700</date>
            <delta_ts>2015-04-21 13:24:58 -0700</delta_ts>
            <desc>Rebased patch</desc>
            <filename>remove_apw_final.patch</filename>
            <type>text/plain</type>
            <size>12519</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDg0OGQ3NGIuLjI4MTg0N2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ2IEBACiAyMDE1LTA0LTIxICBCYXNpbGUgQ2xlbWVu
dCAgPGJhc2lsZV9jbGVtZW50QGFwcGxlLmNvbT4KIAorICAgICAgICBSZW1vdmUgQWxsb2NhdGlv
blByb2ZpbGVXYXRjaHBvaW50IG5vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE0Mzk5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6Cisg
ICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46
OmV4ZWN1dGVFZmZlY3RzKToKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAg
KiBkZmcvREZHQ2xvYmJlcml6ZS5oOgorICAgICAgICAoSlNDOjpERkc6OmNsb2JiZXJpemUpOgor
ICAgICAgICAqIGRmZy9ERkdEb2VzR0MuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmRvZXNHQyk6
CisgICAgICAgICogZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZp
eHVwUGhhc2U6OmZpeHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR0hlYXBMb2NhdGlvbi5jcHA6
CisgICAgICAgIChXVEY6OnByaW50SW50ZXJuYWwpOgorICAgICAgICAqIGRmZy9ERkdIZWFwTG9j
YXRpb24uaDoKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAgICAoSlNDOjpERkc6Ok5v
ZGU6Omhhc0NlbGxPcGVyYW5kKToKKyAgICAgICAgKiBkZmcvREZHTm9kZVR5cGUuaDoKKyAgICAg
ICAgKiBkZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwOgorICAgICAgICAoSlND
OjpERkc6OlByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlOjpwcm9wYWdhdGUpOgorICAgICAgICAq
IGRmZy9ERkdTYWZlVG9FeGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRGRzo6c2FmZVRvRXhlY3V0
ZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAo
SlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3Bl
Y3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGUpOgorICAgICAgICAqIGRmZy9ERkdXYXRjaHBvaW50Q29sbGVjdGlvblBoYXNlLmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpXYXRjaHBvaW50Q29sbGVjdGlvblBoYXNlOjpoYW5kbGUpOgor
ICAgICAgICAqIGZ0bC9GVExDYXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OmNh
bkNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAg
IChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVOb2RlKToKKyAgICAgICAgKiBydW50
aW1lL0pTRnVuY3Rpb24uaDoKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6cmFyZURhdGEpOgor
ICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjphbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQp
OiBEZWxldGVkLgorCisyMDE1LTA0LTIxICBCYXNpbGUgQ2xlbWVudCAgPGJhc2lsZV9jbGVtZW50
QGFwcGxlLmNvbT4KKwogICAgICAgICBSRUdSRVNTSU9OIChyMTgyODk5KTogaWNsb3VkLmNvbSBj
cmFzaGVzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDM5NjAKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFj
dEludGVycHJldGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0
cmFjdEludGVycHJldGVySW5saW5lcy5oCmluZGV4IGMzNDdkYjYuLjc2MjVlMjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGlu
ZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0
ZXJJbmxpbmVzLmgKQEAgLTEzNDcsOSArMTM0Nyw2IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRl
cjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKHVuc2lnbmVkIGNsb2JiZXJMaW1p
CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICAgICAgCi0gICAgY2FzZSBBbGxvY2F0aW9uUHJv
ZmlsZVdhdGNocG9pbnQ6Ci0gICAgICAgIGJyZWFrOwotCiAgICAgY2FzZSBOZXdPYmplY3Q6CiAg
ICAgICAgIEFTU0VSVChub2RlLT5zdHJ1Y3R1cmUoKSk7CiAgICAgICAgIGZvck5vZGUobm9kZSku
c2V0KG1fZ3JhcGgsIG5vZGUtPnN0cnVjdHVyZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggOTcwZGIxNS4uZmFhNGNiOSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAg
LTI2NDAsMTIgKzI2NDAsMTUgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNp
Z25lZCBsaW1pdCkKICAgICAgICAgICAgIE5vZGUqIGNhbGxlZSA9IGdldChWaXJ0dWFsUmVnaXN0
ZXIoY2FsbGVlT3BlcmFuZCkpOwogICAgICAgICAgICAgYm9vbCBhbHJlYWR5RW1pdHRlZCA9IGZh
bHNlOwogICAgICAgICAgICAgaWYgKEpTRnVuY3Rpb24qIGZ1bmN0aW9uID0gY2FsbGVlLT5keW5h
bWljQ2FzdENvbnN0YW50PEpTRnVuY3Rpb24qPigpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKFN0
cnVjdHVyZSogc3RydWN0dXJlID0gZnVuY3Rpb24tPmFsbG9jYXRpb25TdHJ1Y3R1cmUoKSkgewot
ICAgICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKEFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2lu
dCwgT3BJbmZvKG1fZ3JhcGguZnJlZXplKGZ1bmN0aW9uKSkpOwotICAgICAgICAgICAgICAgICAg
ICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2ludC4KLSAgICAgICAg
ICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOwotICAgICAgICAgICAgICAg
ICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQp
LCBhZGRUb0dyYXBoKE5ld09iamVjdCwgT3BJbmZvKHN0cnVjdHVyZSkpKTsKLSAgICAgICAgICAg
ICAgICAgICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVlOworICAgICAgICAgICAgICAgIGlmIChGdW5j
dGlvblJhcmVEYXRhKiByYXJlRGF0YSA9IGZ1bmN0aW9uLT5yYXJlRGF0YSgpKSB7CisgICAgICAg
ICAgICAgICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5hbGxvY2F0
aW9uU3RydWN0dXJlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZnJlZXpl
KHJhcmVEYXRhKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMo
KS5hZGRMYXppbHkocmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjYWxsZWUgaXMgc3RpbGwgbGl2ZSB1cCB0
byB0aGlzIHBvaW50LgorICAgICAgICAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9t
LCBjYWxsZWUpOworICAgICAgICAgICAgICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3Rlcihj
dXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChOZXdPYmplY3QsIE9w
SW5mbyhzdHJ1Y3R1cmUpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBhbHJlYWR5RW1pdHRl
ZCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICBpZiAoIWFscmVhZHlFbWl0dGVkKSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCmluZGV4IGE3MjZiZDcuLmEwZmIwOTBjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaApAQCAtMzUyLDExICsz
NTIsNiBAQCB2b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25zdCBS
ZWFkRnVuY3RvciYgcmVhZCwgY29uc3QgV3JpdGVGdQogICAgICAgICBkZWYoSGVhcExvY2F0aW9u
KFZhckluamVjdGlvbldhdGNocG9pbnRMb2MsIE1pc2NGaWVsZHMpLCBub2RlKTsKICAgICAgICAg
cmV0dXJuOwogCi0gICAgY2FzZSBBbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnQ6Ci0gICAgICAg
IHJlYWQoTWlzY0ZpZWxkcyk7Ci0gICAgICAgIGRlZihIZWFwTG9jYXRpb24oQWxsb2NhdGlvblBy
b2ZpbGVXYXRjaHBvaW50TG9jLCBNaXNjRmllbGRzKSwgbm9kZSk7Ci0gICAgICAgIHJldHVybjsK
LSAgICAgICAgCiAgICAgY2FzZSBJc09iamVjdE9yTnVsbDoKICAgICAgICAgcmVhZChNaXNjRmll
bGRzKTsKICAgICAgICAgZGVmKEhlYXBMb2NhdGlvbihJc09iamVjdE9yTnVsbExvYywgTWlzY0Zp
ZWxkcywgbm9kZS0+Y2hpbGQxKCkpLCBub2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
RG9lc0dDLmNwcAppbmRleCBhNmFkYWY3Li42ODJkNDg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdEb2VzR0MuY3BwCkBAIC0xMDYsNyArMTA2LDYgQEAgYm9vbCBkb2VzR0MoR3JhcGgm
IGdyYXBoLCBOb2RlKiBub2RlKQogICAgIGNhc2UgVmFySW5qZWN0aW9uV2F0Y2hwb2ludDoKICAg
ICBjYXNlIENoZWNrQ2VsbDoKICAgICBjYXNlIENoZWNrTm90RW1wdHk6Ci0gICAgY2FzZSBBbGxv
Y2F0aW9uUHJvZmlsZVdhdGNocG9pbnQ6CiAgICAgY2FzZSBSZWdFeHBFeGVjOgogICAgIGNhc2Ug
UmVnRXhwVGVzdDoKICAgICBjYXNlIENvbXBhcmVMZXNzOgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKaW5kZXggNTU2YmZhMS4uYjE4YWMxMyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0xMjAwLDcgKzEyMDAs
NiBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEdldEdsb2JhbFZhcjoKICAgICAgICAgY2FzZSBO
b3RpZnlXcml0ZToKICAgICAgICAgY2FzZSBWYXJJbmplY3Rpb25XYXRjaHBvaW50OgotICAgICAg
ICBjYXNlIEFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludDoKICAgICAgICAgY2FzZSBDYWxsOgog
ICAgICAgICBjYXNlIENvbnN0cnVjdDoKICAgICAgICAgY2FzZSBDYWxsVmFyYXJnczoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSGVhcExvY2F0aW9uLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSGVhcExvY2F0aW9uLmNwcAppbmRleCA0ZWQxZTA0
Li5kYjY5M2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0hlYXBM
b2NhdGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdIZWFwTG9jYXRp
b24uY3BwCkBAIC0xNDAsMTAgKzE0MCw2IEBAIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVh
bSYgb3V0LCBMb2NhdGlvbktpbmQga2luZCkKICAgICAgICAgb3V0LnByaW50KCJWYXJJbmplY3Rp
b25XYXRjaHBvaW50TG9jIik7CiAgICAgICAgIHJldHVybjsKICAgICAgICAgCi0gICAgY2FzZSBB
bGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRMb2M6Ci0gICAgICAgIG91dC5wcmludCgiQWxsb2Nh
dGlvblByb2ZpbGVXYXRjaHBvaW50TG9jIik7Ci0gICAgICAgIHJldHVybjsKLSAgICAgICAgCiAg
ICAgY2FzZSBTdHJ1Y3R1cmVMb2M6CiAgICAgICAgIG91dC5wcmludCgiU3RydWN0dXJlTG9jIik7
CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHSGVhcExvY2F0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0hlYXBMb2Nh
dGlvbi5oCmluZGV4IGJlOTVmM2QuLmY3YzExOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHSGVhcExvY2F0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdIZWFwTG9jYXRpb24uaApAQCAtMzYsNyArMzYsNiBAQCBuYW1lc3BhY2UgSlNDIHsg
bmFtZXNwYWNlIERGRyB7CiBlbnVtIExvY2F0aW9uS2luZCB7CiAgICAgSW52YWxpZExvY2F0aW9u
S2luZCwKICAgICAKLSAgICBBbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRMb2MsCiAgICAgQXJy
YXlMZW5ndGhMb2MsCiAgICAgQnV0dGVyZmx5TG9jLAogICAgIENoZWNrSGFzSW5zdGFuY2VMb2Ms
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCmluZGV4IGNjNDk2NGYuLjQ1ZWRjOWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCkBAIC0xMTkwLDcgKzExOTAsNiBAQCBzdHJ1
Y3QgTm9kZSB7CiAgICAgYm9vbCBoYXNDZWxsT3BlcmFuZCgpCiAgICAgewogICAgICAgICBzd2l0
Y2ggKG9wKCkpIHsKLSAgICAgICAgY2FzZSBBbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnQ6CiAg
ICAgICAgIGNhc2UgQ2hlY2tDZWxsOgogICAgICAgICBjYXNlIE5hdGl2ZUNvbnN0cnVjdDoKICAg
ICAgICAgY2FzZSBOYXRpdmVDYWxsOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlw
ZS5oCmluZGV4IDg0ZjVjZTMuLjAyZDkwZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHTm9kZVR5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R05vZGVUeXBlLmgKQEAgLTE5NCw3ICsxOTQsNiBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNl
IERGRyB7CiAgICAgbWFjcm8oQ2hlY2tDZWxsLCBOb2RlTXVzdEdlbmVyYXRlKSBcCiAgICAgbWFj
cm8oQ2hlY2tOb3RFbXB0eSwgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1hY3JvKENoZWNrQmFk
Q2VsbCwgTm9kZU11c3RHZW5lcmF0ZSkgXAotICAgIG1hY3JvKEFsbG9jYXRpb25Qcm9maWxlV2F0
Y2hwb2ludCwgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1hY3JvKENoZWNrSW5Cb3VuZHMsIE5v
ZGVNdXN0R2VuZXJhdGUpIFwKICAgICBcCiAgICAgLyogT3B0aW1pemF0aW9ucyBmb3IgYXJyYXkg
bXV0YXRpb24uICovXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQ
cmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAppbmRleCA4MTVjNzAwLi45MWE3ZjY3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9w
YWdhdGlvblBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRp
Y3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcApAQCAtNjM3LDcgKzYzNyw2IEBAIHByaXZhdGU6CiAg
ICAgICAgIGNhc2UgQ2hlY2tCYWRDZWxsOgogICAgICAgICBjYXNlIFB1dFN0cnVjdHVyZToKICAg
ICAgICAgY2FzZSBWYXJJbmplY3Rpb25XYXRjaHBvaW50OgotICAgICAgICBjYXNlIEFsbG9jYXRp
b25Qcm9maWxlV2F0Y2hwb2ludDoKICAgICAgICAgY2FzZSBQaGFudG9tOgogICAgICAgICBjYXNl
IENoZWNrOgogICAgICAgICBjYXNlIFB1dEdsb2JhbFZhcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKaW5kZXggZTUzMGE1Mi4uZmJmNjU1NyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKQEAgLTE3OSw3ICsx
NzksNiBAQCBib29sIHNhZmVUb0V4ZWN1dGUoQWJzdHJhY3RTdGF0ZVR5cGUmIHN0YXRlLCBHcmFw
aCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBDaGVja0NlbGw6CiAgICAgY2FzZSBDaGVj
a0JhZENlbGw6CiAgICAgY2FzZSBDaGVja05vdEVtcHR5OgotICAgIGNhc2UgQWxsb2NhdGlvblBy
b2ZpbGVXYXRjaHBvaW50OgogICAgIGNhc2UgUmVnRXhwRXhlYzoKICAgICBjYXNlIFJlZ0V4cFRl
c3Q6CiAgICAgY2FzZSBDb21wYXJlTGVzczoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmluZGV4IDJjYjA4NTcuLjc2MDE4ZDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQz
Ml82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDMyXzY0LmNwcApAQCAtMzUxNSwxMSArMzUxNSw2IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAgY2FzZSBBbGxv
Y2F0aW9uUHJvZmlsZVdhdGNocG9pbnQ6IHsKLSAgICAgICAgbm9SZXN1bHQobm9kZSk7Ci0gICAg
ICAgIGJyZWFrOwotICAgIH0KLQogICAgIGNhc2UgTmV3T2JqZWN0OiB7CiAgICAgICAgIEdQUlRl
bXBvcmFyeSByZXN1bHQodGhpcyk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBhbGxvY2F0b3IodGhp
cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0
LmNwcAppbmRleCA0NDk4MGIxLi4xODYwNDQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTM1ODYsMTEgKzM1ODYsNiBAQCB2
b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGJyZWFrOwog
ICAgIH0KICAgICAgICAgCi0gICAgY2FzZSBBbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnQ6IHsK
LSAgICAgICAgbm9SZXN1bHQobm9kZSk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQogICAgIGNh
c2UgTmV3T2JqZWN0OiB7CiAgICAgICAgIEdQUlRlbXBvcmFyeSByZXN1bHQodGhpcyk7CiAgICAg
ICAgIEdQUlRlbXBvcmFyeSBhbGxvY2F0b3IodGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1dhdGNocG9pbnRDb2xsZWN0aW9uUGhhc2UuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdXYXRjaHBvaW50Q29sbGVjdGlvblBoYXNlLmNwcAppbmRl
eCAzNDA0ZWFkLi5lZTFmNmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1dhdGNocG9pbnRDb2xsZWN0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHV2F0Y2hwb2ludENvbGxlY3Rpb25QaGFzZS5jcHAKQEAgLTEwNSwxMCArMTA1
LDYgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBhZGRMYXppbHkoZ2xvYmFsT2JqZWN0KCkt
PmhhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludCgpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgCi0gICAgICAgIGNhc2UgQWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50OgotICAgICAg
ICAgICAgYWRkTGF6aWx5KG1fbm9kZS0+Y2FzdE9wZXJhbmQ8SlNGdW5jdGlvbio+KCktPmFsbG9j
YXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgCiAgICAgICAgIGNhc2UgVmFySW5qZWN0aW9uV2F0Y2hwb2ludDoKICAgICAgICAgICAg
IGFkZExhemlseShnbG9iYWxPYmplY3QoKS0+dmFySW5qZWN0aW9uV2F0Y2hwb2ludCgpKTsKICAg
ICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmls
aXRpZXMuY3BwCmluZGV4IDQwYmY2ZDguLjY4MDI1MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKQEAgLTE0MSw3ICsxNDEsNiBAQCBpbmxpbmUg
Q2FwYWJpbGl0eUxldmVsIGNhbkNvbXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNlIENvdW50RXhl
Y3V0aW9uOgogICAgIGNhc2UgR2V0RXhlY3V0YWJsZToKICAgICBjYXNlIEdldFNjb3BlOgotICAg
IGNhc2UgQWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50OgogICAgIGNhc2UgR2V0Q2FsbGVlOgog
ICAgIGNhc2UgR2V0QXJndW1lbnRDb3VudDoKICAgICBjYXNlIFRvU3RyaW5nOgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAppbmRleCBlOGY0YTdi
Li43ZmI4OThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2Vy
REZHVG9MTFZNLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZH
VG9MTFZNLmNwcApAQCAtODQ2LDcgKzg0Niw2IEBAIHByaXZhdGU6CiAKICAgICAgICAgY2FzZSBQ
aGFudG9tTG9jYWw6CiAgICAgICAgIGNhc2UgTG9vcEhpbnQ6Ci0gICAgICAgIGNhc2UgQWxsb2Nh
dGlvblByb2ZpbGVXYXRjaHBvaW50OgogICAgICAgICBjYXNlIE1vdkhpbnQ6CiAgICAgICAgIGNh
c2UgWm9tYmllSGludDoKICAgICAgICAgY2FzZSBQaGFudG9tTmV3T2JqZWN0OgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmluZGV4IDgxZGZmODcuLmE1ZDEzM2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKQEAgLTExNiw2
ICsxMTYsOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX3JhcmVEYXRhLmdldCgpOwogICAg
IH0KIAorICAgIEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhKCkgeyByZXR1cm4gbV9yYXJlRGF0
YS5nZXQoKTsgfQorCiAgICAgU3RydWN0dXJlKiBhbGxvY2F0aW9uU3RydWN0dXJlKCkKICAgICB7
CiAgICAgICAgIGlmICghbV9yYXJlRGF0YSkKQEAgLTEyNCwxMiArMTI2LDYgQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gbV9yYXJlRGF0YS5nZXQoKS0+YWxsb2NhdGlvblN0cnVjdHVyZSgpOwog
ICAgIH0KIAotICAgIElubGluZVdhdGNocG9pbnRTZXQmIGFsbG9jYXRpb25Qcm9maWxlV2F0Y2hw
b2ludFNldCgpCi0gICAgewotICAgICAgICBBU1NFUlQobV9yYXJlRGF0YSk7Ci0gICAgICAgIHJl
dHVybiBtX3JhcmVEYXRhLmdldCgpLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKTsK
LSAgICB9Ci0KICAgICBib29sIGlzSG9zdE9yQnVpbHRpbkZ1bmN0aW9uKCkgY29uc3Q7CiAgICAg
Ym9vbCBpc0J1aWx0aW5GdW5jdGlvbigpIGNvbnN0OwogICAgIEpTX0VYUE9SVF9QUklWQVRFIGJv
b2wgaXNIb3N0RnVuY3Rpb25Ob25JbmxpbmUoKSBjb25zdDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>