<?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>86382</bug_id>
          
          <creation_ts>2012-05-14 10:10:05 -0700</creation_ts>
          <short_desc>Enh: Add the Ability to Disable / Enable JavaScript GC Timer</short_desc>
          <delta_ts>2012-05-14 16:48:04 -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>All</rep_platform>
          <op_sys>All</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>623064</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-05-14 10:10:05 -0700</bug_when>
    <thetext>To help debug, the GCActivityCallback timer should be controllable via the users of WebKit.  We need to add the plumbing to set and clear an enable flag for the timer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623095</commentid>
    <comment_count>1</comment_count>
      <attachid>141755</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-05-14 10:40:29 -0700</bug_when>
    <thetext>Created attachment 141755
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623105</commentid>
    <comment_count>2</comment_count>
      <attachid>141757</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-05-14 10:47:21 -0700</bug_when>
    <thetext>Created attachment 141757
Patch with ChangeLog

Forgot ChangeLogs in the original patch posting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623148</commentid>
    <comment_count>3</comment_count>
      <attachid>141757</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-14 11:32:13 -0700</bug_when>
    <thetext>Comment on attachment 141757
Patch with ChangeLog

Attachment 141757 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12678934</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623184</commentid>
    <comment_count>4</comment_count>
      <attachid>141757</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-14 12:07:05 -0700</bug_when>
    <thetext>Comment on attachment 141757
Patch with ChangeLog

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

Looks like the Windows build is broken, need this in some def file perhaps:

setGCTimerEnabled@Heap@JSC@@QAEX_N@Z

I’m going to say r=me but I think you should spend a little more time on the names of these new functions and methods.

&gt; Source/JavaScriptCore/ChangeLog:13
&gt; +        (JSC):

Please don’t leave lines like this in the change log. Better, consider writing per-file and per-function comments. Even better, consider fixing this problem in prepare-ChangeLog some day.

&gt; Source/JavaScriptCore/ChangeLog:15
&gt; +        (Heap):

Ditto.

&gt; Source/JavaScriptCore/runtime/GCActivityCallback.h:50
&gt; +    bool isEnabled() { return m_enabled; }

Should be const.

&gt; Source/JavaScriptCore/runtime/GCActivityCallbackCF.cpp:67
&gt; +    if (!heap-&gt;activityCallback()-&gt;isEnabled())
&gt; +        return;

This seems OK for a debug-only feature. If this was a real end-user feature, then I’d suggest not even scheduling the timer when it’s disabled.

&gt; Source/WebCore/bindings/js/GCController.h:47
&gt; +        void setJavaScriptGCTimer(bool);

This seems like a strange function name. Given the name I’d expect to pass this a timer.

&gt; Source/WebKit2/ChangeLog:15
&gt; +        (WebKit):

More strange change log lines.

&gt; Source/WebKit2/ChangeLog:17
&gt; +        (WebContext):

More.

&gt; Source/WebKit2/ChangeLog:20
&gt; +        (WebKit):

More.

&gt; Source/WebKit2/UIProcess/API/C/WKContext.h:159
&gt; +WK_EXPORT void WKContextSetJavaScriptGCTimer(WKContextRef context, bool enable);

This name doesn’t seem great. A setter with this name should take a timer, not a boolean. Note also that the previous function spells out GC. So I’d suggest the name WKContextSetJavaScriptGarbageCollectionTimerEnabled.

&gt; Source/WebKit/mac/Misc/WebCoreStatistics.h:50
&gt; ++ (void)setJavaScriptGCTimer:(BOOL)enabled;

Same issue with naming here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623379</commentid>
    <comment_count>5</comment_count>
      <attachid>141798</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-05-14 15:25:28 -0700</bug_when>
    <thetext>Created attachment 141798
Patch with Updates from Review and Speculative Windows Build Fix

Posting this patch to check Windows build.

Complied with all the comments except:
&gt; &gt; Source/JavaScriptCore/runtime/GCActivityCallbackCF.cpp:67
&gt; &gt; +    if (!heap-&gt;activityCallback()-&gt;isEnabled())
&gt; &gt; +        return;
&gt; 
&gt; This seems OK for a debug-only feature. If this was a real end-user feature, then I’d suggest not even scheduling the timer when it’s disabled.

Besides being a debug-only feature, the other reason I did this was to reduce the elapsed time before we start GC&apos;ing using the timer when the user enables the timer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623450</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-05-14 16:48:04 -0700</bug_when>
    <thetext>Committed r117015: &lt;http://trac.webkit.org/changeset/117015&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141755</attachid>
            <date>2012-05-14 10:40:29 -0700</date>
            <delta_ts>2012-05-14 10:47:21 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>86382.patch</filename>
            <type>text/plain</type>
            <size>9579</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCShyZXZpc2lvbiAxMTY5NTgpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
ODMyLDYgKzgzMiwxMSBAQCBHQ0FjdGl2aXR5Q2FsbGJhY2sqIEhlYXA6OmFjdGl2aXR5Q2FsbGJh
CiAgICAgcmV0dXJuIG1fYWN0aXZpdHlDYWxsYmFjay5nZXQoKTsKIH0KIAordm9pZCBIZWFwOjpz
ZXRHQ1RpbWVyRW5hYmxlZChib29sIGVuYWJsZSkKK3sKKyAgICBhY3Rpdml0eUNhbGxiYWNrKCkt
PnNldEVuYWJsZWQoZW5hYmxlKTsKK30KKwogdm9pZCBIZWFwOjpkaWRBbGxvY2F0ZShzaXplX3Qg
Ynl0ZXMpCiB7CiAgICAgbV9hY3Rpdml0eUNhbGxiYWNrLT5kaWRBbGxvY2F0ZShtX2J5dGVzQWxs
b2NhdGVkICsgbV9ieXRlc0FiYW5kb25lZCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9IZWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVh
cC5oCShyZXZpc2lvbiAxMTY5NTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFw
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMCw2ICsxMDAsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAog
ICAgICAgICBKU19FWFBPUlRfUFJJVkFURSBHQ0FjdGl2aXR5Q2FsbGJhY2sqIGFjdGl2aXR5Q2Fs
bGJhY2soKTsKICAgICAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBzZXRBY3Rpdml0eUNhbGxi
YWNrKFBhc3NPd25QdHI8R0NBY3Rpdml0eUNhbGxiYWNrPik7CisgICAgICAgIEpTX0VYUE9SVF9Q
UklWQVRFIHZvaWQgc2V0R0NUaW1lckVuYWJsZWQoYm9vbCk7CiAKICAgICAgICAgLy8gdHJ1ZSBp
ZiBhbiBhbGxvY2F0aW9uIG9yIGNvbGxlY3Rpb24gaXMgaW4gcHJvZ3Jlc3MKICAgICAgICAgaW5s
aW5lIGJvb2wgaXNCdXN5KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9H
Q0FjdGl2aXR5Q2FsbGJhY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suaAkocmV2aXNpb24gMTE2OTU4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ3LDkgKzQ3LDE2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgd2lsbENvbGxl
Y3QoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25pemUoKSB7IH0KICAgICB2aXJ0dWFs
IHZvaWQgY2FuY2VsKCkgeyB9CisgICAgYm9vbCBpc0VuYWJsZWQoKSB7IHJldHVybiBtX2VuYWJs
ZWQ7IH0KKyAgICB2b2lkIHNldEVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fZW5hYmxlZCA9IGVu
YWJsZWQ7IH0KIAogcHJvdGVjdGVkOgotICAgIEdDQWN0aXZpdHlDYWxsYmFjaygpIHt9CisgICAg
R0NBY3Rpdml0eUNhbGxiYWNrKCkKKyAgICAgICAgOiBtX2VuYWJsZWQodHJ1ZSkKKyAgICB7Cisg
ICAgfQorCisgICAgYm9vbCBtX2VuYWJsZWQ7CiB9OwogCiBzdHJ1Y3QgRGVmYXVsdEdDQWN0aXZp
dHlDYWxsYmFja1BsYXRmb3JtRGF0YTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAJKHJldmlzaW9uIDExNjk1
OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NG
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjMsNiArNjMsOSBAQCBjb25zdCBDRlRpbWVJbnRlcnZh
bCBob3VyID0gNjAgKiA2MDsKIHZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFja1BsYXRmb3Jt
RGF0YTo6dGltZXJEaWRGaXJlKENGUnVuTG9vcFRpbWVyUmVmLCB2b2lkICppbmZvKQogewogICAg
IEhlYXAqIGhlYXAgPSBzdGF0aWNfY2FzdDxIZWFwKj4oaW5mbyk7CisgICAgaWYgKCFoZWFwLT5h
Y3Rpdml0eUNhbGxiYWNrKCktPmlzRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisKICAgICBB
UElFbnRyeVNoaW0gc2hpbShoZWFwLT5nbG9iYWxEYXRhKCkpOwogI2lmICFQTEFURk9STShJT1Mp
CiAgICAgZG91YmxlIHN0YXJ0VGltZSA9IFdURjo6bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
KCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkocmV2aXNpb24gMTE2OTU4KQorKysgU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTI1MCw2ICsyNTAsNyBA
QCBfX1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjhrZXlFdmVudEVSS05TCiBfX1pON1dlYkNvcmUx
MkV2ZW50SGFuZGxlcjltb3VzZURvd25FUDdOU0V2ZW50CiBfX1pON1dlYkNvcmUxMkdDQ29udHJv
bGxlcjE3Z2FyYmFnZUNvbGxlY3ROb3dFdgogX19aTjdXZWJDb3JlMTJHQ0NvbnRyb2xsZXIxOGdh
cmJhZ2VDb2xsZWN0U29vbkV2CitfX1pON1dlYkNvcmUxMkdDQ29udHJvbGxlcjIwc2V0SmF2YVNj
cmlwdEdDVGltZXJFYgogX19aTjdXZWJDb3JlMTJHQ0NvbnRyb2xsZXI0M2dhcmJhZ2VDb2xsZWN0
T25BbHRlcm5hdGVUaHJlYWRGb3JEZWJ1Z2dpbmdFYgogX19aTjdXZWJDb3JlMTJQb3B1cE1lbnVN
YWNDMUVQTlNfMTVQb3B1cE1lbnVDbGllbnRFCiBfX1pON1dlYkNvcmUxMlByaW50Q29udGV4dDEy
cGFnZVByb3BlcnR5RVBOU181RnJhbWVFUEtjaQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvR0NDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAxMTY5NTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Nyw2
ICs5NywxMSBAQCB2b2lkIEdDQ29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbkFsdGVyCiAgICAg
ZGV0YWNoVGhyZWFkKHRocmVhZElEKTsKIH0KIAordm9pZCBHQ0NvbnRyb2xsZXI6OnNldEphdmFT
Y3JpcHRHQ1RpbWVyKGJvb2wgZW5hYmxlKQoreworICAgIEpTRE9NV2luZG93Ojpjb21tb25KU0ds
b2JhbERhdGEoKS0+aGVhcC5zZXRHQ1RpbWVyRW5hYmxlZChlbmFibGUpOworfQorCiB2b2lkIEdD
Q29udHJvbGxlcjo6ZGlzY2FyZEFsbENvbXBpbGVkQ29kZSgpCiB7CiAgICAgSlNMb2NrIGxvY2so
U2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0dDQ29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0dDQ29udHJvbGxlci5oCShyZXZpc2lvbiAxMTY5NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9HQ0NvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgZ2FyYmFnZUNvbGxlY3ROb3coKTsgLy8g
SXQncyBiZXR0ZXIgdG8gY2FsbCBnYXJiYWdlQ29sbGVjdFNvb24sIHVubGVzcyB5b3UgaGF2ZSBh
IHNwZWNpZmljIHJlYXNvbiBub3QgdG8uCiAKICAgICAgICAgdm9pZCBnYXJiYWdlQ29sbGVjdE9u
QWx0ZXJuYXRlVGhyZWFkRm9yRGVidWdnaW5nKGJvb2wgd2FpdFVudGlsRG9uZSk7IC8vIFVzZWQg
Zm9yIHN0cmVzcyB0ZXN0aW5nLgotCisgICAgICAgIHZvaWQgc2V0SmF2YVNjcmlwdEdDVGltZXIo
Ym9vbCk7CiAgICAgICAgIHZvaWQgZGlzY2FyZEFsbENvbXBpbGVkQ29kZSgpOwogCiAgICAgcHJp
dmF0ZToKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAJKHJldmlz
aW9uIDExNjk1OCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtOTU0LDYgKzk1NCwxMSBAQCB2b2lkIFdlYkNvbnRleHQ6OmdhcmJh
Z2VDb2xsZWN0SmF2YVNjcmlwCiAgICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQ
cm9jZXNzOjpHYXJiYWdlQ29sbGVjdEphdmFTY3JpcHRPYmplY3RzKCkpOwogfQogCit2b2lkIFdl
YkNvbnRleHQ6OnNldEphdmFTY3JpcHRHQ1RpbWVyKGJvb2wgZmxhZykKK3sKKyAgICBzZW5kVG9B
bGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlNldEphdmFTY3JpcHRHQ1RpbWVyKGZs
YWcpKTsKK30KKwogdm9pZCBXZWJDb250ZXh0OjpkaWRSZWNlaXZlTWVzc2FnZU9uQ29ubmVjdGlv
bldvcmtRdWV1ZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpNZXNz
YWdlSUQgbWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGFyZ3VtZW50cywgYm9v
bCYgZGlkSGFuZGxlTWVzc2FnZSkKIHsKICAgICBpZiAobWVzc2FnZUlELmlzPENvcmVJUEM6Ok1l
c3NhZ2VDbGFzc1dlYkNvbnRleHQ+KCkpIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YkNvbnRleHQuaAkocmV2aXNpb24gMTE2OTU4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkNvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtMTk0LDYgKzE5NCw3IEBAIHB1YmxpYzoK
ICAgICAKICAgICB2b2lkIGdldFdlYkNvcmVTdGF0aXN0aWNzKFBhc3NSZWZQdHI8RGljdGlvbmFy
eUNhbGxiYWNrPik7CiAgICAgdm9pZCBnYXJiYWdlQ29sbGVjdEphdmFTY3JpcHRPYmplY3RzKCk7
CisgICAgdm9pZCBzZXRKYXZhU2NyaXB0R0NUaW1lcihib29sIGZsYWcpOwogCiAjaWYgUExBVEZP
Uk0oTUFDKQogICAgIHN0YXRpYyBib29sIG9taXRQREZTdXBwb3J0KCk7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcAkocmV2aXNpb24gMTE2OTU4
KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI2NSw2ICsyNjUsMTAgQEAgdm9pZCBXS0NvbnRleHRHYXJiYWdlQ29sbGVj
dEphdmFTY3JpcHRPYgogICAgIHRvSW1wbChjb250ZXh0UmVmKS0+Z2FyYmFnZUNvbGxlY3RKYXZh
U2NyaXB0T2JqZWN0cygpOwogfQogCit2b2lkIFdLQ29udGV4dFNldEphdmFTY3JpcHRHQ1RpbWVy
KFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBib29sIGVuYWJsZSkKK3sKKyAgICB0b0ltcGwoY29u
dGV4dFJlZiktPnNldEphdmFTY3JpcHRHQ1RpbWVyKGVuYWJsZSk7Cit9CiAvLyBEZXByZWNhdGVk
IGZ1bmN0aW9ucy4KIHZvaWQgX1dLQ29udGV4dFNldEFkZGl0aW9uYWxQbHVnaW5zRGlyZWN0b3J5
KFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS1N0cmluZ1JlZiBwbHVnaW5zRGlyZWN0b3J5KQogewpJ
bmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaAkocmV2aXNp
b24gMTE2OTU4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xNTYsNiArMTU2LDcgQEAgdHlwZWRlZiB2b2lkICgqV0tDb250
ZXh0R2V0U3RhdGlzdGljc0Z1bgogV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0R2V0U3RhdGlzdGlj
cyhXS0NvbnRleHRSZWYgY29udGV4dCwgdm9pZCogZnVuY3Rpb25Db250ZXh0LCBXS0NvbnRleHRH
ZXRTdGF0aXN0aWNzRnVuY3Rpb24gZnVuY3Rpb24pOwogICAgIAogV0tfRVhQT1JUIHZvaWQgV0tD
b250ZXh0R2FyYmFnZUNvbGxlY3RKYXZhU2NyaXB0T2JqZWN0cyhXS0NvbnRleHRSZWYgY29udGV4
dCk7CitXS19FWFBPUlQgdm9pZCBXS0NvbnRleHRTZXRKYXZhU2NyaXB0R0NUaW1lcihXS0NvbnRl
eHRSZWYgY29udGV4dCwgYm9vbCBlbmFibGUpOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAkocmV2aXNpb24gMTE2
OTU4KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtOTYyLDYgKzk2MiwxMSBAQCB2b2lkIFdlYlByb2Nlc3M6OmdhcmJhZ2VDb2xs
ZWN0SmF2YVNjcmlwCiAgICAgZ2NDb250cm9sbGVyKCkuZ2FyYmFnZUNvbGxlY3ROb3coKTsKIH0K
IAordm9pZCBXZWJQcm9jZXNzOjpzZXRKYXZhU2NyaXB0R0NUaW1lcihib29sIGZsYWcpCit7Cisg
ICAgZ2NDb250cm9sbGVyKCkuc2V0SmF2YVNjcmlwdEdDVGltZXIoZmxhZyk7Cit9CisKICNpZiBF
TkFCTEUoUExVR0lOX1BST0NFU1MpCiB2b2lkIFdlYlByb2Nlc3M6OnBsdWdpblByb2Nlc3NDcmFz
aGVkKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBjb25zdCBTdHJpbmcmIHBsdWdpblBhdGgpCiB7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAkocmV2aXNpb24gMTE2OTU4
KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTIxNiw2ICsyMTYsNyBAQCBwcml2YXRlOgogICAgIAogICAgIHZvaWQgZ2V0V2ViQ29y
ZVN0YXRpc3RpY3ModWludDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdm9pZCBnYXJiYWdlQ29sbGVj
dEphdmFTY3JpcHRPYmplY3RzKCk7CisgICAgdm9pZCBzZXRKYXZhU2NyaXB0R0NUaW1lcihib29s
IGZsYWcpOwogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZvaWQgc2VjSXRlbVJlc3BvbnNlKENv
cmVJUEM6OkNvbm5lY3Rpb24qLCB1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFNlY0l0ZW1SZXNw
b25zZURhdGEmKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5t
ZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MubWVzc2FnZXMuaW4JKHJldmlzaW9uIDExNjk1OCkKKysrIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtNzcsNiAr
NzcsNyBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIHsKIAogICAgIEdldFdlYkNvcmVTdGF0aXN0
aWNzKHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAgICAgR2FyYmFnZUNvbGxlY3RKYXZhU2NyaXB0T2Jq
ZWN0cygpCisgICAgU2V0SmF2YVNjcmlwdEdDVGltZXIoYm9vbCBlbmFibGUpCiAKICNpZiBQTEFU
Rk9STShNQUMpCiAgICAgU2VjSXRlbVJlc3BvbnNlKHVpbnQ2NF90IHJlcXVlc3RJRCwgV2ViS2l0
OjpTZWNJdGVtUmVzcG9uc2VEYXRhIHJlc3BvbnNlKSBEaXNwYXRjaE9uQ29ubmVjdGlvblF1ZXVl
CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYkNvcmVTdGF0aXN0aWNzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJDb3JlU3RhdGlzdGljcy5oCShyZXZp
c2lvbiAxMTY5NTgpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYkNvcmVTdGF0aXN0aWNz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDYgKzQ3LDcgQEAgQGludGVyZmFjZSBXZWJDb3JlU3Rh
dGlzdGljcyA6IE5TT2JqZWN0CiAKICsgKHZvaWQpZ2FyYmFnZUNvbGxlY3RKYXZhU2NyaXB0T2Jq
ZWN0czsKICsgKHZvaWQpZ2FyYmFnZUNvbGxlY3RKYXZhU2NyaXB0T2JqZWN0c09uQWx0ZXJuYXRl
VGhyZWFkRm9yRGVidWdnaW5nOihCT09MKXdhaXRVbnRpbERvbmU7CisrICh2b2lkKXNldEphdmFT
Y3JpcHRHQ1RpbWVyOihCT09MKWVuYWJsZWQ7CiAKICsgKHNpemVfdClpY29uUGFnZVVSTE1hcHBp
bmdDb3VudDsKICsgKHNpemVfdClpY29uUmV0YWluZWRQYWdlVVJMQ291bnQ7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L21hYy9NaXNjL1dlYkNvcmVTdGF0aXN0aWNzLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViQ29yZVN0YXRpc3RpY3MubW0JKHJldmlzaW9uIDExNjk1
OCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViQ29yZVN0YXRpc3RpY3MubW0JKHdvcmtp
bmcgY29weSkKQEAgLTEyMCw2ICsxMjAsMTEgQEAgKyAodm9pZClnYXJiYWdlQ29sbGVjdEphdmFT
Y3JpcHRPYmplY3RzTwogICAgIGdjQ29udHJvbGxlcigpLmdhcmJhZ2VDb2xsZWN0T25BbHRlcm5h
dGVUaHJlYWRGb3JEZWJ1Z2dpbmcod2FpdFVudGlsRG9uZSk7CiB9CiAKKysgKHZvaWQpc2V0SmF2
YVNjcmlwdEdDVGltZXI6KEJPT0wpZW5hYmxlCit7CisgICAgZ2NDb250cm9sbGVyKCkuc2V0SmF2
YVNjcmlwdEdDVGltZXIoZW5hYmxlKTsKK30KKwogKyAoc2l6ZV90KWljb25QYWdlVVJMTWFwcGlu
Z0NvdW50CiB7CiAgICAgcmV0dXJuIGljb25EYXRhYmFzZSgpLnBhZ2VVUkxNYXBwaW5nQ291bnQo
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141757</attachid>
            <date>2012-05-14 10:47:21 -0700</date>
            <delta_ts>2012-05-14 15:25:28 -0700</delta_ts>
            <desc>Patch with ChangeLog</desc>
            <filename>86382-2.patch</filename>
            <type>text/plain</type>
            <size>13410</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTE2OTYzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDEyLTA1LTE0ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIEVuaDogQWRkIHRoZSBBYmlsaXR5IHRvIERpc2FibGUgLyBFbmFibGUgSmF2YVNjcmlwdCBH
QyBUaW1lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODYzODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgZmxhZyB0byBHQ0FjdGl2aXR5Q2FsbGJhY2sgdG8gZW5hYmxlIC8gZGlzYWJsZSBhY3Rpdml0
eSB0aW1lci4KKyAgICAgICAgQWRkIGFwaSB2aWEgSGVhcCB0byBzZXQgdGhlIGZsYWcncyB2YWx1
ZS4KKworICAgICAgICAqIGhlYXAvSGVhcC5jcHA6CisgICAgICAgIChKU0M6OkhlYXA6OnNldEdD
VGltZXJFbmFibGVkKToKKyAgICAgICAgKEpTQyk6CisgICAgICAgICogaGVhcC9IZWFwLmg6Cisg
ICAgICAgIChIZWFwKToKKyAgICAgICAgKiBydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5oOgor
ICAgICAgICAoSlNDOjpHQ0FjdGl2aXR5Q2FsbGJhY2s6OmlzRW5hYmxlZCk6CisgICAgICAgIChK
U0M6OkdDQWN0aXZpdHlDYWxsYmFjazo6c2V0RW5hYmxlZCk6CisgICAgICAgIChKU0M6OkdDQWN0
aXZpdHlDYWxsYmFjazo6R0NBY3Rpdml0eUNhbGxiYWNrKToKKyAgICAgICAgKEdDQWN0aXZpdHlD
YWxsYmFjayk6CisgICAgICAgICogcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHA6Cisg
ICAgICAgIChKU0M6OkRlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2tQbGF0Zm9ybURhdGE6OnRpbWVy
RGlkRmlyZSk6CisKIDIwMTItMDUtMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIEZpeCBtYWtlIGRpc3RjaGVjay4KSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCShyZXZpc2lvbiAxMTY5NTgpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODMy
LDYgKzgzMiwxMSBAQCBHQ0FjdGl2aXR5Q2FsbGJhY2sqIEhlYXA6OmFjdGl2aXR5Q2FsbGJhCiAg
ICAgcmV0dXJuIG1fYWN0aXZpdHlDYWxsYmFjay5nZXQoKTsKIH0KIAordm9pZCBIZWFwOjpzZXRH
Q1RpbWVyRW5hYmxlZChib29sIGVuYWJsZSkKK3sKKyAgICBhY3Rpdml0eUNhbGxiYWNrKCktPnNl
dEVuYWJsZWQoZW5hYmxlKTsKK30KKwogdm9pZCBIZWFwOjpkaWRBbGxvY2F0ZShzaXplX3QgYnl0
ZXMpCiB7CiAgICAgbV9hY3Rpdml0eUNhbGxiYWNrLT5kaWRBbGxvY2F0ZShtX2J5dGVzQWxsb2Nh
dGVkICsgbV9ieXRlc0FiYW5kb25lZCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVh
cC9IZWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5o
CShyZXZpc2lvbiAxMTY5NTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEwMCw2ICsxMDAsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAg
ICAgICBKU19FWFBPUlRfUFJJVkFURSBHQ0FjdGl2aXR5Q2FsbGJhY2sqIGFjdGl2aXR5Q2FsbGJh
Y2soKTsKICAgICAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBzZXRBY3Rpdml0eUNhbGxiYWNr
KFBhc3NPd25QdHI8R0NBY3Rpdml0eUNhbGxiYWNrPik7CisgICAgICAgIEpTX0VYUE9SVF9QUklW
QVRFIHZvaWQgc2V0R0NUaW1lckVuYWJsZWQoYm9vbCk7CiAKICAgICAgICAgLy8gdHJ1ZSBpZiBh
biBhbGxvY2F0aW9uIG9yIGNvbGxlY3Rpb24gaXMgaW4gcHJvZ3Jlc3MKICAgICAgICAgaW5saW5l
IGJvb2wgaXNCdXN5KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0Fj
dGl2aXR5Q2FsbGJhY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suaAkocmV2aXNpb24gMTE2OTU4KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrLmgJKHdvcmtpbmcgY29weSkK
QEAgLTQ3LDkgKzQ3LDE2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgd2lsbENvbGxlY3Qo
KSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25pemUoKSB7IH0KICAgICB2aXJ0dWFsIHZv
aWQgY2FuY2VsKCkgeyB9CisgICAgYm9vbCBpc0VuYWJsZWQoKSB7IHJldHVybiBtX2VuYWJsZWQ7
IH0KKyAgICB2b2lkIHNldEVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fZW5hYmxlZCA9IGVuYWJs
ZWQ7IH0KIAogcHJvdGVjdGVkOgotICAgIEdDQWN0aXZpdHlDYWxsYmFjaygpIHt9CisgICAgR0NB
Y3Rpdml0eUNhbGxiYWNrKCkKKyAgICAgICAgOiBtX2VuYWJsZWQodHJ1ZSkKKyAgICB7CisgICAg
fQorCisgICAgYm9vbCBtX2VuYWJsZWQ7CiB9OwogCiBzdHJ1Y3QgRGVmYXVsdEdDQWN0aXZpdHlD
YWxsYmFja1BsYXRmb3JtRGF0YTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAJKHJldmlzaW9uIDExNjk1OCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNjMsNiArNjMsOSBAQCBjb25zdCBDRlRpbWVJbnRlcnZhbCBo
b3VyID0gNjAgKiA2MDsKIHZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFja1BsYXRmb3JtRGF0
YTo6dGltZXJEaWRGaXJlKENGUnVuTG9vcFRpbWVyUmVmLCB2b2lkICppbmZvKQogewogICAgIEhl
YXAqIGhlYXAgPSBzdGF0aWNfY2FzdDxIZWFwKj4oaW5mbyk7CisgICAgaWYgKCFoZWFwLT5hY3Rp
dml0eUNhbGxiYWNrKCktPmlzRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisKICAgICBBUElF
bnRyeVNoaW0gc2hpbShoZWFwLT5nbG9iYWxEYXRhKCkpOwogI2lmICFQTEFURk9STShJT1MpCiAg
ICAgZG91YmxlIHN0YXJ0VGltZSA9IFdURjo6bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMTY5NjMpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0wNS0xNCAgTWljaGFl
bCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KKworICAgICAgICBFbmg6IEFkZCB0aGUgQWJp
bGl0eSB0byBEaXNhYmxlIC8gRW5hYmxlIEphdmFTY3JpcHQgR0MgVGltZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2MzgyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGx1bWJpbmcgdG8gc2V0IC8gY2xl
YXIgSlMgR0MgYWN0aXZpdHkgdGltZXIgZW5hYmxlIGZsYWcuCisKKyAgICAgICAgKiBXZWJDb3Jl
LmV4cC5pbjoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6R0NDb250cm9sbGVyOjpzZXRKYXZhU2NyaXB0R0NUaW1lcik6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaDoKKyAgICAg
ICAgKEdDQ29udHJvbGxlcik6CisKIDIwMTItMDUtMTQgIEtldmluIE9sbGl2aWVyICA8a2V2aW5v
QHRoZW9sbGl2aWVycy5jb20+CiAKICAgICAgICAgW3d4XSBVbnJldmlld2VkIGJ1aWxkIGZpeC4g
Rml4IGZvciB3eE1TVyB3aW5kb3dzLmggbG9hZCBvcmRlciBidWcuCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgkocmV2aXNpb24gMTE2OTU4KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4JKHdvcmtpbmcgY29weSkKQEAgLTI1MCw2ICsyNTAsNyBAQCBfX1pON1dlYkNvcmUxMkV2ZW50
SGFuZGxlcjhrZXlFdmVudEVSS05TCiBfX1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjltb3VzZURv
d25FUDdOU0V2ZW50CiBfX1pON1dlYkNvcmUxMkdDQ29udHJvbGxlcjE3Z2FyYmFnZUNvbGxlY3RO
b3dFdgogX19aTjdXZWJDb3JlMTJHQ0NvbnRyb2xsZXIxOGdhcmJhZ2VDb2xsZWN0U29vbkV2Citf
X1pON1dlYkNvcmUxMkdDQ29udHJvbGxlcjIwc2V0SmF2YVNjcmlwdEdDVGltZXJFYgogX19aTjdX
ZWJDb3JlMTJHQ0NvbnRyb2xsZXI0M2dhcmJhZ2VDb2xsZWN0T25BbHRlcm5hdGVUaHJlYWRGb3JE
ZWJ1Z2dpbmdFYgogX19aTjdXZWJDb3JlMTJQb3B1cE1lbnVNYWNDMUVQTlNfMTVQb3B1cE1lbnVD
bGllbnRFCiBfX1pON1dlYkNvcmUxMlByaW50Q29udGV4dDEycGFnZVByb3BlcnR5RVBOU181RnJh
bWVFUEtjaQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIu
Y3BwCShyZXZpc2lvbiAxMTY5NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0Nv
bnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Nyw2ICs5NywxMSBAQCB2b2lkIEdDQ29u
dHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbkFsdGVyCiAgICAgZGV0YWNoVGhyZWFkKHRocmVhZElE
KTsKIH0KIAordm9pZCBHQ0NvbnRyb2xsZXI6OnNldEphdmFTY3JpcHRHQ1RpbWVyKGJvb2wgZW5h
YmxlKQoreworICAgIEpTRE9NV2luZG93Ojpjb21tb25KU0dsb2JhbERhdGEoKS0+aGVhcC5zZXRH
Q1RpbWVyRW5hYmxlZChlbmFibGUpOworfQorCiB2b2lkIEdDQ29udHJvbGxlcjo6ZGlzY2FyZEFs
bENvbXBpbGVkQ29kZSgpCiB7CiAgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oCShyZXZp
c2lvbiAxMTY5NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHZvaWQgZ2FyYmFnZUNvbGxlY3ROb3coKTsgLy8gSXQncyBiZXR0ZXIgdG8gY2FsbCBn
YXJiYWdlQ29sbGVjdFNvb24sIHVubGVzcyB5b3UgaGF2ZSBhIHNwZWNpZmljIHJlYXNvbiBub3Qg
dG8uCiAKICAgICAgICAgdm9pZCBnYXJiYWdlQ29sbGVjdE9uQWx0ZXJuYXRlVGhyZWFkRm9yRGVi
dWdnaW5nKGJvb2wgd2FpdFVudGlsRG9uZSk7IC8vIFVzZWQgZm9yIHN0cmVzcyB0ZXN0aW5nLgot
CisgICAgICAgIHZvaWQgc2V0SmF2YVNjcmlwdEdDVGltZXIoYm9vbCk7CiAgICAgICAgIHZvaWQg
ZGlzY2FyZEFsbENvbXBpbGVkQ29kZSgpOwogCiAgICAgcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDExNjk2MykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA1LTE0ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJv
ZmZAYXBwbGUuY29tPgorCisgICAgICAgIEVuaDogQWRkIHRoZSBBYmlsaXR5IHRvIERpc2FibGUg
LyBFbmFibGUgSmF2YVNjcmlwdCBHQyBUaW1lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODYzODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBQbHVtYmluZyB0byBzZXQgLyBjbGVhciBKUyBHQyBhY3Rpdml0
eSB0aW1lciBlbmFibGUgZmxhZy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbnRl
eHQuY3BwOgorICAgICAgICAoV0tDb250ZXh0U2V0SmF2YVNjcmlwdEdDVGltZXIpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OnNldEphdmFTY3JpcHRH
Q1RpbWVyKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRl
eHQuaDoKKyAgICAgICAgKFdlYkNvbnRleHQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnNldEphdmFTY3JpcHRHQ1Rp
bWVyKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
Lmg6CisgICAgICAgIChXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nl
c3MubWVzc2FnZXMuaW46CisKIDIwMTItMDUtMTQgIFRvciBBcm5lIFZlc3Riw7ggIDx0b3IuYXJu
ZS52ZXN0Ym9Abm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gU2ltcGxpZnkgT1RIRVJfRklMRVMg
Zm9yIFFNTCB0ZXN0cyBwcm9qZWN0IGZpbGVzCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkNvbnRleHQuY3BwCShyZXZpc2lvbiAxMTY5NTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29udGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk1NCw2ICs5NTQsMTEgQEAg
dm9pZCBXZWJDb250ZXh0OjpnYXJiYWdlQ29sbGVjdEphdmFTY3JpcAogICAgIHNlbmRUb0FsbFBy
b2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6R2FyYmFnZUNvbGxlY3RKYXZhU2NyaXB0T2Jq
ZWN0cygpKTsKIH0KIAordm9pZCBXZWJDb250ZXh0OjpzZXRKYXZhU2NyaXB0R0NUaW1lcihib29s
IGZsYWcpCit7CisgICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpT
ZXRKYXZhU2NyaXB0R0NUaW1lcihmbGFnKSk7Cit9CisKIHZvaWQgV2ViQ29udGV4dDo6ZGlkUmVj
ZWl2ZU1lc3NhZ2VPbkNvbm5lY3Rpb25Xb3JrUXVldWUoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29u
bmVjdGlvbiwgQ29yZUlQQzo6TWVzc2FnZUlEIG1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnRE
ZWNvZGVyKiBhcmd1bWVudHMsIGJvb2wmIGRpZEhhbmRsZU1lc3NhZ2UpCiB7CiAgICAgaWYgKG1l
c3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xhc3NXZWJDb250ZXh0PigpKSB7CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgJKHJldmlzaW9uIDExNjk1OCkKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTE5
NCw2ICsxOTQsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCBnZXRXZWJDb3JlU3RhdGlzdGlj
cyhQYXNzUmVmUHRyPERpY3Rpb25hcnlDYWxsYmFjaz4pOwogICAgIHZvaWQgZ2FyYmFnZUNvbGxl
Y3RKYXZhU2NyaXB0T2JqZWN0cygpOworICAgIHZvaWQgc2V0SmF2YVNjcmlwdEdDVGltZXIoYm9v
bCBmbGFnKTsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBzdGF0aWMgYm9vbCBvbWl0UERGU3Vw
cG9ydCgpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4
dC5jcHAJKHJldmlzaW9uIDExNjk1OCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS0NvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjUsNiArMjY1LDEwIEBAIHZvaWQg
V0tDb250ZXh0R2FyYmFnZUNvbGxlY3RKYXZhU2NyaXB0T2IKICAgICB0b0ltcGwoY29udGV4dFJl
ZiktPmdhcmJhZ2VDb2xsZWN0SmF2YVNjcmlwdE9iamVjdHMoKTsKIH0KIAordm9pZCBXS0NvbnRl
eHRTZXRKYXZhU2NyaXB0R0NUaW1lcihXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgYm9vbCBlbmFi
bGUpCit7CisgICAgdG9JbXBsKGNvbnRleHRSZWYpLT5zZXRKYXZhU2NyaXB0R0NUaW1lcihlbmFi
bGUpOworfQogLy8gRGVwcmVjYXRlZCBmdW5jdGlvbnMuCiB2b2lkIF9XS0NvbnRleHRTZXRBZGRp
dGlvbmFsUGx1Z2luc0RpcmVjdG9yeShXS0NvbnRleHRSZWYgY29udGV4dCwgV0tTdHJpbmdSZWYg
cGx1Z2luc0RpcmVjdG9yeSkKIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tDb250ZXh0LmgJKHJldmlzaW9uIDExNjk1OCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS0NvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtMTU2LDYgKzE1Niw3IEBA
IHR5cGVkZWYgdm9pZCAoKldLQ29udGV4dEdldFN0YXRpc3RpY3NGdW4KIFdLX0VYUE9SVCB2b2lk
IFdLQ29udGV4dEdldFN0YXRpc3RpY3MoV0tDb250ZXh0UmVmIGNvbnRleHQsIHZvaWQqIGZ1bmN0
aW9uQ29udGV4dCwgV0tDb250ZXh0R2V0U3RhdGlzdGljc0Z1bmN0aW9uIGZ1bmN0aW9uKTsKICAg
ICAKIFdLX0VYUE9SVCB2b2lkIFdLQ29udGV4dEdhcmJhZ2VDb2xsZWN0SmF2YVNjcmlwdE9iamVj
dHMoV0tDb250ZXh0UmVmIGNvbnRleHQpOworV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0U2V0SmF2
YVNjcmlwdEdDVGltZXIoV0tDb250ZXh0UmVmIGNvbnRleHQsIGJvb2wgZW5hYmxlKTsKIAogI2lm
ZGVmIF9fY3BsdXNwbHVzCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHAJKHJldmlzaW9uIDExNjk1OCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk2Miw2ICs5NjIsMTEgQEAgdm9pZCBX
ZWJQcm9jZXNzOjpnYXJiYWdlQ29sbGVjdEphdmFTY3JpcAogICAgIGdjQ29udHJvbGxlcigpLmdh
cmJhZ2VDb2xsZWN0Tm93KCk7CiB9CiAKK3ZvaWQgV2ViUHJvY2Vzczo6c2V0SmF2YVNjcmlwdEdD
VGltZXIoYm9vbCBmbGFnKQoreworICAgIGdjQ29udHJvbGxlcigpLnNldEphdmFTY3JpcHRHQ1Rp
bWVyKGZsYWcpOworfQorCiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogdm9pZCBXZWJQcm9j
ZXNzOjpwbHVnaW5Qcm9jZXNzQ3Jhc2hlZChDb3JlSVBDOjpDb25uZWN0aW9uKiwgY29uc3QgU3Ry
aW5nJiBwbHVnaW5QYXRoKQogewpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgJKHJldmlzaW9uIDExNjk1OCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTYsNiArMjE2LDcgQEAgcHJpdmF0ZToKICAg
ICAKICAgICB2b2lkIGdldFdlYkNvcmVTdGF0aXN0aWNzKHVpbnQ2NF90IGNhbGxiYWNrSUQpOwog
ICAgIHZvaWQgZ2FyYmFnZUNvbGxlY3RKYXZhU2NyaXB0T2JqZWN0cygpOworICAgIHZvaWQgc2V0
SmF2YVNjcmlwdEdDVGltZXIoYm9vbCBmbGFnKTsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICB2
b2lkIHNlY0l0ZW1SZXNwb25zZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgdWludDY0X3QgcmVxdWVz
dElELCBjb25zdCBTZWNJdGVtUmVzcG9uc2VEYXRhJik7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAxMTY5NTgp
CisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4JKHdv
cmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDcgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyB7CiAK
ICAgICBHZXRXZWJDb3JlU3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIEdhcmJh
Z2VDb2xsZWN0SmF2YVNjcmlwdE9iamVjdHMoKQorICAgIFNldEphdmFTY3JpcHRHQ1RpbWVyKGJv
b2wgZW5hYmxlKQogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIFNlY0l0ZW1SZXNwb25zZSh1aW50
NjRfdCByZXF1ZXN0SUQsIFdlYktpdDo6U2VjSXRlbVJlc3BvbnNlRGF0YSByZXNwb25zZSkgRGlz
cGF0Y2hPbkNvbm5lY3Rpb25RdWV1ZQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMTE2
OTYzKQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMTItMDUtMTQgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5j
b20+CisKKyAgICAgICAgRW5oOiBBZGQgdGhlIEFiaWxpdHkgdG8gRGlzYWJsZSAvIEVuYWJsZSBK
YXZhU2NyaXB0IEdDIFRpbWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04NjM4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFBsdW1iaW5nIHRvIHNldCAvIGNsZWFyIEpTIEdDIGFjdGl2aXR5IHRpbWVyIGVu
YWJsZSBmbGFnLgorCisgICAgICAgICogTWlzYy9XZWJDb3JlU3RhdGlzdGljcy5oOgorICAgICAg
ICAqIE1pc2MvV2ViQ29yZVN0YXRpc3RpY3MubW06CisgICAgICAgICgrW1dlYkNvcmVTdGF0aXN0
aWNzIHNldEphdmFTY3JpcHRHQ1RpbWVyOl0pOgorCiAyMDEyLTA1LTExICBHYXZpbiBCYXJyYWNs
b3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBJbnRyb2R1Y2UgUHJvcGVy
dHlOYW1lIGNsYXNzCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYkNvcmVTdGF0aXN0
aWNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJDb3JlU3RhdGlz
dGljcy5oCShyZXZpc2lvbiAxMTY5NTgpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYkNv
cmVTdGF0aXN0aWNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDYgKzQ3LDcgQEAgQGludGVyZmFj
ZSBXZWJDb3JlU3RhdGlzdGljcyA6IE5TT2JqZWN0CiAKICsgKHZvaWQpZ2FyYmFnZUNvbGxlY3RK
YXZhU2NyaXB0T2JqZWN0czsKICsgKHZvaWQpZ2FyYmFnZUNvbGxlY3RKYXZhU2NyaXB0T2JqZWN0
c09uQWx0ZXJuYXRlVGhyZWFkRm9yRGVidWdnaW5nOihCT09MKXdhaXRVbnRpbERvbmU7CisrICh2
b2lkKXNldEphdmFTY3JpcHRHQ1RpbWVyOihCT09MKWVuYWJsZWQ7CiAKICsgKHNpemVfdClpY29u
UGFnZVVSTE1hcHBpbmdDb3VudDsKICsgKHNpemVfdClpY29uUmV0YWluZWRQYWdlVVJMQ291bnQ7
CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYkNvcmVTdGF0aXN0aWNzLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViQ29yZVN0YXRpc3RpY3MubW0JKHJl
dmlzaW9uIDExNjk1OCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViQ29yZVN0YXRpc3Rp
Y3MubW0JKHdvcmtpbmcgY29weSkKQEAgLTEyMCw2ICsxMjAsMTEgQEAgKyAodm9pZClnYXJiYWdl
Q29sbGVjdEphdmFTY3JpcHRPYmplY3RzTwogICAgIGdjQ29udHJvbGxlcigpLmdhcmJhZ2VDb2xs
ZWN0T25BbHRlcm5hdGVUaHJlYWRGb3JEZWJ1Z2dpbmcod2FpdFVudGlsRG9uZSk7CiB9CiAKKysg
KHZvaWQpc2V0SmF2YVNjcmlwdEdDVGltZXI6KEJPT0wpZW5hYmxlCit7CisgICAgZ2NDb250cm9s
bGVyKCkuc2V0SmF2YVNjcmlwdEdDVGltZXIoZW5hYmxlKTsKK30KKwogKyAoc2l6ZV90KWljb25Q
YWdlVVJMTWFwcGluZ0NvdW50CiB7CiAgICAgcmV0dXJuIGljb25EYXRhYmFzZSgpLnBhZ2VVUkxN
YXBwaW5nQ291bnQoKTsK
</data>
<flag name="review"
          id="147937"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="147945"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141798</attachid>
            <date>2012-05-14 15:25:28 -0700</date>
            <delta_ts>2012-05-14 15:25:28 -0700</delta_ts>
            <desc>Patch with Updates from Review and Speculative Windows Build Fix</desc>
            <filename>86382-3.patch</filename>
            <type>text/plain</type>
            <size>14587</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTE3MDA2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDEyLTA1LTE0ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIEVuaDogQWRkIHRoZSBBYmlsaXR5IHRvIERpc2FibGUgLyBFbmFibGUgSmF2YVNjcmlwdCBH
QyBUaW1lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODYzODIKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBBZGQg
ZmxhZyB0byBHQ0FjdGl2aXR5Q2FsbGJhY2sgdG8gZW5hYmxlIC8gZGlzYWJsZSBhY3Rpdml0eSB0
aW1lci4KKyAgICAgICAgQWRkIGFwaSB2aWEgSGVhcCB0byBzZXQgdGhlIGZsYWcncyB2YWx1ZS4K
KworICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS5kZWY6IFdpbmRvd3MgZXhwb3J0CisgICAgICAgICogaGVhcC9IZWFwLmNwcDoKKyAg
ICAgICAgKEpTQzo6SGVhcDo6c2V0R2FyYmFnZUNvbGxlY3Rpb25UaW1lckVuYWJsZWQpOgorICAg
ICAgICAqIGhlYXAvSGVhcC5oOgorICAgICAgICAqIHJ1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNr
Lmg6CisgICAgICAgIChKU0M6OkdDQWN0aXZpdHlDYWxsYmFjazo6aXNFbmFibGVkKToKKyAgICAg
ICAgKEpTQzo6R0NBY3Rpdml0eUNhbGxiYWNrOjpzZXRFbmFibGVkKToKKyAgICAgICAgKEpTQzo6
R0NBY3Rpdml0eUNhbGxiYWNrOjpHQ0FjdGl2aXR5Q2FsbGJhY2spOgorICAgICAgICAqIHJ1bnRp
bWUvR0NBY3Rpdml0eUNhbGxiYWNrQ0YuY3BwOgorICAgICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rp
dml0eUNhbGxiYWNrUGxhdGZvcm1EYXRhOjp0aW1lckRpZEZpcmUpOgorCiAyMDEyLTA1LTE0ICBD
YXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLiBGaXggbWFrZSBkaXN0Y2hlY2suCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9q
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZgkocmV2aXNpb24gMTE2OTU4KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS5kZWYJKHdvcmtpbmcgY29weSkKQEAgLTI5NCw2ICsyOTQsNyBAQCBF
WFBPUlRTCiAgICAgP3NldERlc2NyaXB0b3JAUHJvcGVydHlEZXNjcmlwdG9yQEpTQ0BAUUFFWFZK
U1ZhbHVlQDJASUBaCiAgICAgP3NldER1bXBzR2VuZXJhdGVkQ29kZUBCeXRlY29kZUdlbmVyYXRv
ckBKU0NAQFNBWF9OQFoKICAgICA/c2V0RW51bWVyYWJsZUBQcm9wZXJ0eURlc2NyaXB0b3JASlND
QEBRQUVYX05AWgorICAgID9zZXRHYXJiYWdlQ29sbGVjdGlvblRpbWVyRW5hYmxlZEBIZWFwQEpT
Q0BAUUFFWF9OQFoKICAgICA/c2V0R2V0dGVyQFByb3BlcnR5RGVzY3JpcHRvckBKU0NAQFFBRVhW
SlNWYWx1ZUAyQEBaCiAgICAgP3NldExvY0BTdGF0ZW1lbnROb2RlQEpTQ0BAUUFFWEhIQFoKICAg
ICA/c2V0TWFpblRocmVhZENhbGxiYWNrc1BhdXNlZEBXVEZAQFlBWF9OQFoKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCShyZXZpc2lvbiAxMTY5NTgpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODMyLDYgKzgzMiwx
MSBAQCBHQ0FjdGl2aXR5Q2FsbGJhY2sqIEhlYXA6OmFjdGl2aXR5Q2FsbGJhCiAgICAgcmV0dXJu
IG1fYWN0aXZpdHlDYWxsYmFjay5nZXQoKTsKIH0KIAordm9pZCBIZWFwOjpzZXRHYXJiYWdlQ29s
bGVjdGlvblRpbWVyRW5hYmxlZChib29sIGVuYWJsZSkKK3sKKyAgICBhY3Rpdml0eUNhbGxiYWNr
KCktPnNldEVuYWJsZWQoZW5hYmxlKTsKK30KKwogdm9pZCBIZWFwOjpkaWRBbGxvY2F0ZShzaXpl
X3QgYnl0ZXMpCiB7CiAgICAgbV9hY3Rpdml0eUNhbGxiYWNrLT5kaWRBbGxvY2F0ZShtX2J5dGVz
QWxsb2NhdGVkICsgbV9ieXRlc0FiYW5kb25lZCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaGVhcC9IZWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
SGVhcC5oCShyZXZpc2lvbiAxMTY5NTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9I
ZWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMCw2ICsxMDAsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
IAogICAgICAgICBKU19FWFBPUlRfUFJJVkFURSBHQ0FjdGl2aXR5Q2FsbGJhY2sqIGFjdGl2aXR5
Q2FsbGJhY2soKTsKICAgICAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBzZXRBY3Rpdml0eUNh
bGxiYWNrKFBhc3NPd25QdHI8R0NBY3Rpdml0eUNhbGxiYWNrPik7CisgICAgICAgIEpTX0VYUE9S
VF9QUklWQVRFIHZvaWQgc2V0R2FyYmFnZUNvbGxlY3Rpb25UaW1lckVuYWJsZWQoYm9vbCk7CiAK
ICAgICAgICAgLy8gdHJ1ZSBpZiBhbiBhbGxvY2F0aW9uIG9yIGNvbGxlY3Rpb24gaXMgaW4gcHJv
Z3Jlc3MKICAgICAgICAgaW5saW5lIGJvb2wgaXNCdXN5KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suaAkocmV2aXNpb24g
MTE2OTU4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxi
YWNrLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDkgKzQ3LDE2IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgd2lsbENvbGxlY3QoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25pemUo
KSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsKCkgeyB9CisgICAgYm9vbCBpc0VuYWJsZWQo
KSBjb25zdCB7IHJldHVybiBtX2VuYWJsZWQ7IH0KKyAgICB2b2lkIHNldEVuYWJsZWQoYm9vbCBl
bmFibGVkKSB7IG1fZW5hYmxlZCA9IGVuYWJsZWQ7IH0KIAogcHJvdGVjdGVkOgotICAgIEdDQWN0
aXZpdHlDYWxsYmFjaygpIHt9CisgICAgR0NBY3Rpdml0eUNhbGxiYWNrKCkKKyAgICAgICAgOiBt
X2VuYWJsZWQodHJ1ZSkKKyAgICB7CisgICAgfQorCisgICAgYm9vbCBtX2VuYWJsZWQ7CiB9Owog
CiBzdHJ1Y3QgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFja1BsYXRmb3JtRGF0YTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJh
Y2tDRi5jcHAJKHJldmlzaW9uIDExNjk1OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjMsNiArNjMs
OSBAQCBjb25zdCBDRlRpbWVJbnRlcnZhbCBob3VyID0gNjAgKiA2MDsKIHZvaWQgRGVmYXVsdEdD
QWN0aXZpdHlDYWxsYmFja1BsYXRmb3JtRGF0YTo6dGltZXJEaWRGaXJlKENGUnVuTG9vcFRpbWVy
UmVmLCB2b2lkICppbmZvKQogewogICAgIEhlYXAqIGhlYXAgPSBzdGF0aWNfY2FzdDxIZWFwKj4o
aW5mbyk7CisgICAgaWYgKCFoZWFwLT5hY3Rpdml0eUNhbGxiYWNrKCktPmlzRW5hYmxlZCgpKQor
ICAgICAgICByZXR1cm47CisKICAgICBBUElFbnRyeVNoaW0gc2hpbShoZWFwLT5nbG9iYWxEYXRh
KCkpOwogI2lmICFQTEFURk9STShJT1MpCiAgICAgZG91YmxlIHN0YXJ0VGltZSA9IFdURjo6bW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMTcw
MDYpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxNyBAQAorMjAxMi0wNS0xNCAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4K
KworICAgICAgICBFbmg6IEFkZCB0aGUgQWJpbGl0eSB0byBEaXNhYmxlIC8gRW5hYmxlIEphdmFT
Y3JpcHQgR0MgVGltZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg2MzgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAg
ICAgUGx1bWJpbmcgdG8gc2V0IC8gY2xlYXIgSlMgR0MgYWN0aXZpdHkgdGltZXIgZW5hYmxlIGZs
YWcuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9H
Q0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R0NDb250cm9sbGVyOjpzZXRKYXZh
U2NyaXB0R2FyYmFnZUNvbGxlY3RvclRpbWVyRW5hYmxlZCk6CisgICAgICAgICogYmluZGluZ3Mv
anMvR0NDb250cm9sbGVyLmg6CisKIDIwMTItMDUtMTQgIE1pa2UgV2VzdCAgPG1pa2VAbWlrZXdl
c3Qub3JnPgogCiAgICAgICAgIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGNvbnNvbGUgZXJyb3Jz
IGluY2x1ZGUgdmlvbGF0ZWQgZGlyZWN0aXZlLgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHJl
dmlzaW9uIDExNjk1OCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5n
IGNvcHkpCkBAIC0yNTAsNiArMjUwLDcgQEAgX19aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXI4a2V5
RXZlbnRFUktOUwogX19aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXI5bW91c2VEb3duRVA3TlNFdmVu
dAogX19aTjdXZWJDb3JlMTJHQ0NvbnRyb2xsZXIxN2dhcmJhZ2VDb2xsZWN0Tm93RXYKIF9fWk43
V2ViQ29yZTEyR0NDb250cm9sbGVyMThnYXJiYWdlQ29sbGVjdFNvb25FdgorX19aTjdXZWJDb3Jl
MTJHQ0NvbnRyb2xsZXI0MXNldEphdmFTY3JpcHRHYXJiYWdlQ29sbGVjdG9yVGltZXJFbmFibGVk
RWIKIF9fWk43V2ViQ29yZTEyR0NDb250cm9sbGVyNDNnYXJiYWdlQ29sbGVjdE9uQWx0ZXJuYXRl
VGhyZWFkRm9yRGVidWdnaW5nRWIKIF9fWk43V2ViQ29yZTEyUG9wdXBNZW51TWFjQzFFUE5TXzE1
UG9wdXBNZW51Q2xpZW50RQogX19aTjdXZWJDb3JlMTJQcmludENvbnRleHQxMnBhZ2VQcm9wZXJ0
eUVQTlNfNUZyYW1lRVBLY2kKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29u
dHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0ND
b250cm9sbGVyLmNwcAkocmV2aXNpb24gMTE2OTU4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvR0NDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTcsNiArOTcsMTEgQEAg
dm9pZCBHQ0NvbnRyb2xsZXI6OmdhcmJhZ2VDb2xsZWN0T25BbHRlcgogICAgIGRldGFjaFRocmVh
ZCh0aHJlYWRJRCk7CiB9CiAKK3ZvaWQgR0NDb250cm9sbGVyOjpzZXRKYXZhU2NyaXB0R2FyYmFn
ZUNvbGxlY3RvclRpbWVyRW5hYmxlZChib29sIGVuYWJsZSkKK3sKKyAgICBKU0RPTVdpbmRvdzo6
Y29tbW9uSlNHbG9iYWxEYXRhKCktPmhlYXAuc2V0R2FyYmFnZUNvbGxlY3Rpb25UaW1lckVuYWJs
ZWQoZW5hYmxlKTsKK30KKwogdm9pZCBHQ0NvbnRyb2xsZXI6OmRpc2NhcmRBbGxDb21waWxlZENv
ZGUoKQogewogICAgIEpTTG9jayBsb2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaAkocmV2aXNpb24gMTE2OTU4
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ0LDcgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lk
IGdhcmJhZ2VDb2xsZWN0Tm93KCk7IC8vIEl0J3MgYmV0dGVyIHRvIGNhbGwgZ2FyYmFnZUNvbGxl
Y3RTb29uLCB1bmxlc3MgeW91IGhhdmUgYSBzcGVjaWZpYyByZWFzb24gbm90IHRvLgogCiAgICAg
ICAgIHZvaWQgZ2FyYmFnZUNvbGxlY3RPbkFsdGVybmF0ZVRocmVhZEZvckRlYnVnZ2luZyhib29s
IHdhaXRVbnRpbERvbmUpOyAvLyBVc2VkIGZvciBzdHJlc3MgdGVzdGluZy4KLQorICAgICAgICB2
b2lkIHNldEphdmFTY3JpcHRHYXJiYWdlQ29sbGVjdG9yVGltZXJFbmFibGVkKGJvb2wpOwogICAg
ICAgICB2b2lkIGRpc2NhcmRBbGxDb21waWxlZENvZGUoKTsKIAogICAgIHByaXZhdGU6CkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCShyZXZpc2lvbiAxMTcwMDYpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0wNS0xNCAgTWljaGFlbCBTYWJv
ZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KKworICAgICAgICBFbmg6IEFkZCB0aGUgQWJpbGl0eSB0
byBEaXNhYmxlIC8gRW5hYmxlIEphdmFTY3JpcHQgR0MgVGltZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2MzgyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgUGx1bWJpbmcgdG8gc2V0IC8gY2xlYXIgSlMgR0Mg
YWN0aXZpdHkgdGltZXIgZW5hYmxlIGZsYWcuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
V0tDb250ZXh0LmNwcDoKKyAgICAgICAgKFdLQ29udGV4dFNldEphdmFTY3JpcHRHYXJiYWdlQ29s
bGVjdG9yVGltZXJFbmFibGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJDb250ZXh0OjpzZXRKYXZhU2NyaXB0R2FyYmFnZUNvbGxlY3RvclRpbWVyRW5hYmxlZCk6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzZXRKYXZhU2Ny
aXB0R2FyYmFnZUNvbGxlY3RvclRpbWVyRW5hYmxlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
OgorCiAyMDEyLTA1LTE0ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAK
ICAgICAgICAgVGhlICJwbHVnLWluIHdhcyBibG9ja2VkIiBjYWxsYmFjayBuZWVkcyB0byBpbmNs
dWRlIGVub3VnaCBpbmZvIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHRoZSBwbHVnLWluICsgdmVyc2lv
bgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAkocmV2aXNpb24g
MTE2OTU4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC05NTQsNiArOTU0LDExIEBAIHZvaWQgV2ViQ29udGV4dDo6Z2FyYmFnZUNv
bGxlY3RKYXZhU2NyaXAKICAgICBzZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nl
c3M6OkdhcmJhZ2VDb2xsZWN0SmF2YVNjcmlwdE9iamVjdHMoKSk7CiB9CiAKK3ZvaWQgV2ViQ29u
dGV4dDo6c2V0SmF2YVNjcmlwdEdhcmJhZ2VDb2xsZWN0b3JUaW1lckVuYWJsZWQoYm9vbCBmbGFn
KQoreworICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6U2V0SmF2
YVNjcmlwdEdhcmJhZ2VDb2xsZWN0b3JUaW1lckVuYWJsZWQoZmxhZykpOworfQorCiB2b2lkIFdl
YkNvbnRleHQ6OmRpZFJlY2VpdmVNZXNzYWdlT25Db25uZWN0aW9uV29ya1F1ZXVlKENvcmVJUEM6
OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENv
cmVJUEM6OkFyZ3VtZW50RGVjb2RlciogYXJndW1lbnRzLCBib29sJiBkaWRIYW5kbGVNZXNzYWdl
KQogewogICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViQ29udGV4
dD4oKSkgewpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCShyZXZpc2lv
biAxMTY5NTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xOTQsNiArMTk0LDcgQEAgcHVibGljOgogICAgIAogICAgIHZvaWQgZ2V0
V2ViQ29yZVN0YXRpc3RpY3MoUGFzc1JlZlB0cjxEaWN0aW9uYXJ5Q2FsbGJhY2s+KTsKICAgICB2
b2lkIGdhcmJhZ2VDb2xsZWN0SmF2YVNjcmlwdE9iamVjdHMoKTsKKyAgICB2b2lkIHNldEphdmFT
Y3JpcHRHYXJiYWdlQ29sbGVjdG9yVGltZXJFbmFibGVkKGJvb2wgZmxhZyk7CiAKICNpZiBQTEFU
Rk9STShNQUMpCiAgICAgc3RhdGljIGJvb2wgb21pdFBERlN1cHBvcnQoKTsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCShyZXZpc2lvbiAxMTY5
NTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjY1LDYgKzI2NSwxMCBAQCB2b2lkIFdLQ29udGV4dEdhcmJhZ2VDb2xs
ZWN0SmF2YVNjcmlwdE9iCiAgICAgdG9JbXBsKGNvbnRleHRSZWYpLT5nYXJiYWdlQ29sbGVjdEph
dmFTY3JpcHRPYmplY3RzKCk7CiB9CiAKK3ZvaWQgV0tDb250ZXh0U2V0SmF2YVNjcmlwdEdhcmJh
Z2VDb2xsZWN0b3JUaW1lckVuYWJsZWQoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIGJvb2wgZW5h
YmxlKQoreworICAgIHRvSW1wbChjb250ZXh0UmVmKS0+c2V0SmF2YVNjcmlwdEdhcmJhZ2VDb2xs
ZWN0b3JUaW1lckVuYWJsZWQoZW5hYmxlKTsKK30KIC8vIERlcHJlY2F0ZWQgZnVuY3Rpb25zLgog
dm9pZCBfV0tDb250ZXh0U2V0QWRkaXRpb25hbFBsdWdpbnNEaXJlY3RvcnkoV0tDb250ZXh0UmVm
IGNvbnRleHQsIFdLU3RyaW5nUmVmIHBsdWdpbnNEaXJlY3RvcnkpCiB7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oCShyZXZpc2lvbiAxMTY5NTgpCisr
KyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE1Niw2ICsxNTYsNyBAQCB0eXBlZGVmIHZvaWQgKCpXS0NvbnRleHRHZXRTdGF0aXN0
aWNzRnVuCiBXS19FWFBPUlQgdm9pZCBXS0NvbnRleHRHZXRTdGF0aXN0aWNzKFdLQ29udGV4dFJl
ZiBjb250ZXh0LCB2b2lkKiBmdW5jdGlvbkNvbnRleHQsIFdLQ29udGV4dEdldFN0YXRpc3RpY3NG
dW5jdGlvbiBmdW5jdGlvbik7CiAgICAgCiBXS19FWFBPUlQgdm9pZCBXS0NvbnRleHRHYXJiYWdl
Q29sbGVjdEphdmFTY3JpcHRPYmplY3RzKFdLQ29udGV4dFJlZiBjb250ZXh0KTsKK1dLX0VYUE9S
VCB2b2lkIFdLQ29udGV4dFNldEphdmFTY3JpcHRHYXJiYWdlQ29sbGVjdG9yVGltZXJFbmFibGVk
KFdLQ29udGV4dFJlZiBjb250ZXh0LCBib29sIGVuYWJsZSk7CiAKICNpZmRlZiBfX2NwbHVzcGx1
cwogfQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCShyZXZp
c2lvbiAxMTY5NTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC05NjIsNiArOTYyLDExIEBAIHZvaWQgV2ViUHJvY2Vzczo6Z2Fy
YmFnZUNvbGxlY3RKYXZhU2NyaXAKICAgICBnY0NvbnRyb2xsZXIoKS5nYXJiYWdlQ29sbGVjdE5v
dygpOwogfQogCit2b2lkIFdlYlByb2Nlc3M6OnNldEphdmFTY3JpcHRHYXJiYWdlQ29sbGVjdG9y
VGltZXJFbmFibGVkKGJvb2wgZmxhZykKK3sKKyAgICBnY0NvbnRyb2xsZXIoKS5zZXRKYXZhU2Ny
aXB0R2FyYmFnZUNvbGxlY3RvclRpbWVyRW5hYmxlZChmbGFnKTsKK30KKwogI2lmIEVOQUJMRShQ
TFVHSU5fUFJPQ0VTUykKIHZvaWQgV2ViUHJvY2Vzczo6cGx1Z2luUHJvY2Vzc0NyYXNoZWQoQ29y
ZUlQQzo6Q29ubmVjdGlvbiosIGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCkKIHsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCShyZXZpc2lvbiAxMTY5NTgpCisrKyBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAt
MjE2LDYgKzIxNiw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgdm9pZCBnZXRXZWJDb3JlU3RhdGlz
dGljcyh1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2b2lkIGdhcmJhZ2VDb2xsZWN0SmF2YVNj
cmlwdE9iamVjdHMoKTsKKyAgICB2b2lkIHNldEphdmFTY3JpcHRHYXJiYWdlQ29sbGVjdG9yVGlt
ZXJFbmFibGVkKGJvb2wgZmxhZyk7CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgdm9pZCBzZWNJ
dGVtUmVzcG9uc2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIHVpbnQ2NF90IHJlcXVlc3RJRCwgY29u
c3QgU2VjSXRlbVJlc3BvbnNlRGF0YSYpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgkocmV2aXNpb24gMTE2OTU4KQorKysgU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCSh3b3JraW5nIGNv
cHkpCkBAIC03Nyw2ICs3Nyw3IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgewogCiAgICAgR2V0
V2ViQ29yZVN0YXRpc3RpY3ModWludDY0X3QgY2FsbGJhY2tJRCkKICAgICBHYXJiYWdlQ29sbGVj
dEphdmFTY3JpcHRPYmplY3RzKCkKKyAgICBTZXRKYXZhU2NyaXB0R2FyYmFnZUNvbGxlY3RvclRp
bWVyRW5hYmxlZChib29sIGVuYWJsZSkKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBTZWNJdGVt
UmVzcG9uc2UodWludDY0X3QgcmVxdWVzdElELCBXZWJLaXQ6OlNlY0l0ZW1SZXNwb25zZURhdGEg
cmVzcG9uc2UpIERpc3BhdGNoT25Db25uZWN0aW9uUXVldWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDExNzAwNikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA1LTE0ICBNaWNoYWVsIFNhYm9mZiAgPG1z
YWJvZmZAYXBwbGUuY29tPgorCisgICAgICAgIEVuaDogQWRkIHRoZSBBYmlsaXR5IHRvIERpc2Fi
bGUgLyBFbmFibGUgSmF2YVNjcmlwdCBHQyBUaW1lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODYzODIKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KKworICAgICAgICBQbHVtYmluZyB0byBzZXQgLyBjbGVhciBKUyBHQyBhY3Rpdml0
eSB0aW1lciBlbmFibGUgZmxhZy4KKworICAgICAgICAqIE1pc2MvV2ViQ29yZVN0YXRpc3RpY3Mu
aDoKKyAgICAgICAgKiBNaXNjL1dlYkNvcmVTdGF0aXN0aWNzLm1tOgorICAgICAgICAoK1tXZWJD
b3JlU3RhdGlzdGljcyBzZXRKYXZhU2NyaXB0R2FyYmFnZUNvbGxlY3RvclRpbWVyRW5hYmxlZDpd
KToKKwogMjAxMi0wNS0xMSAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5j
b20+CiAKICAgICAgICAgSW50cm9kdWNlIFByb3BlcnR5TmFtZSBjbGFzcwpJbmRleDogU291cmNl
L1dlYktpdC9tYWMvTWlzYy9XZWJDb3JlU3RhdGlzdGljcy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvbWFjL01pc2MvV2ViQ29yZVN0YXRpc3RpY3MuaAkocmV2aXNpb24gMTE2OTU4KQor
KysgU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJDb3JlU3RhdGlzdGljcy5oCSh3b3JraW5nIGNv
cHkpCkBAIC00Nyw2ICs0Nyw3IEBAIEBpbnRlcmZhY2UgV2ViQ29yZVN0YXRpc3RpY3MgOiBOU09i
amVjdAogCiArICh2b2lkKWdhcmJhZ2VDb2xsZWN0SmF2YVNjcmlwdE9iamVjdHM7CiArICh2b2lk
KWdhcmJhZ2VDb2xsZWN0SmF2YVNjcmlwdE9iamVjdHNPbkFsdGVybmF0ZVRocmVhZEZvckRlYnVn
Z2luZzooQk9PTCl3YWl0VW50aWxEb25lOworKyAodm9pZClzZXRKYXZhU2NyaXB0R2FyYmFnZUNv
bGxlY3RvclRpbWVyRW5hYmxlZDooQk9PTCllbmFibGVkOwogCiArIChzaXplX3QpaWNvblBhZ2VV
UkxNYXBwaW5nQ291bnQ7CiArIChzaXplX3QpaWNvblJldGFpbmVkUGFnZVVSTENvdW50OwpJbmRl
eDogU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJDb3JlU3RhdGlzdGljcy5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYkNvcmVTdGF0aXN0aWNzLm1tCShyZXZpc2lv
biAxMTY5NTgpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYkNvcmVTdGF0aXN0aWNzLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0xMjAsNiArMTIwLDExIEBAICsgKHZvaWQpZ2FyYmFnZUNvbGxl
Y3RKYXZhU2NyaXB0T2JqZWN0c08KICAgICBnY0NvbnRyb2xsZXIoKS5nYXJiYWdlQ29sbGVjdE9u
QWx0ZXJuYXRlVGhyZWFkRm9yRGVidWdnaW5nKHdhaXRVbnRpbERvbmUpOwogfQogCisrICh2b2lk
KXNldEphdmFTY3JpcHRHYXJiYWdlQ29sbGVjdG9yVGltZXJFbmFibGVkOihCT09MKWVuYWJsZQor
eworICAgIGdjQ29udHJvbGxlcigpLnNldEphdmFTY3JpcHRHYXJiYWdlQ29sbGVjdG9yVGltZXJF
bmFibGVkKGVuYWJsZSk7Cit9CisKICsgKHNpemVfdClpY29uUGFnZVVSTE1hcHBpbmdDb3VudAog
ewogICAgIHJldHVybiBpY29uRGF0YWJhc2UoKS5wYWdlVVJMTWFwcGluZ0NvdW50KCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>