<?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>30716</bug_id>
          
          <creation_ts>2009-10-23 09:10:16 -0700</creation_ts>
          <short_desc>Fix Chromium build warnings in WebCore</short_desc>
          <delta_ts>2009-10-28 18:03:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P4</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jens Alfke">jens</reporter>
          <assigned_to name="Jens Alfke">jens</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>levin</cc>
    
    <cc>thiago.macieira</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>157167</commentid>
    <comment_count>0</comment_count>
    <who name="Jens Alfke">jens</who>
    <bug_when>2009-10-23 09:10:16 -0700</bug_when>
    <thetext>Building WebCore for Chromium on Mac produces two warnings:

/Volumes/Yttrium/src/third_party/WebKit/WebCore/WebCore.gyp/../accessibility/AccessibilityRenderObject.cpp:2229: warning: &apos;WebCore::createARIARoleMap()::RoleEntry&apos; declared with greater visibility than the type of its field &apos;WebCore::createARIARoleMap()::RoleEntry::ariaRole&apos;
/Volumes/Yttrium/src/third_party/WebKit/WebCore/WebCore.gyp/../editing/EditorCommand.cpp:1296: warning: &apos;WebCore::createCommandMap()::CommandEntry&apos; declared with greater visibility than the type of its field &apos;WebCore::createCommandMap()::CommandEntry::command&apos;

If these were fixed we could turn on &apos;treat warnings as errors&apos; in WebCore, which would be a Good Thing.
Additionally, it would be an Even Better Thing to enable all warnings using &quot;-Wall&quot;, similarly to the Chrome-only projects. This requires fixing a handful of other warnings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157168</commentid>
    <comment_count>1</comment_count>
    <who name="Jens Alfke">jens</who>
    <bug_when>2009-10-23 09:10:51 -0700</bug_when>
    <thetext>(Previously filed against Chromium as http://code.google.com/p/chromium/issues/detail?id=25436 )</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157169</commentid>
    <comment_count>2</comment_count>
      <attachid>41728</attachid>
    <who name="Jens Alfke">jens</who>
    <bug_when>2009-10-23 09:28:33 -0700</bug_when>
    <thetext>Created attachment 41728
patch 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157194</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-23 11:13:05 -0700</bug_when>
    <thetext>The CommandEntry and RoleEntry warnings seem bogus.  Can you explain why moving those declarations is the correct fix?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157196</commentid>
    <comment_count>4</comment_count>
      <attachid>41728</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-10-23 11:14:09 -0700</bug_when>
    <thetext>Comment on attachment 41728
patch 1

Nice. Just one thing to be addressed.

&gt; Index: WebCore/rendering/RenderMediaControlsChromium.cpp
&gt;      case MediaCurrentTimePart:
&gt;      case MediaTimeRemainingPart:
&gt;          return true;
&gt; +    default:
&gt; +        ;

The missing enum value(s) should be added to the switch (not a default: which hides the fact that values aren&apos;t being handled).

&gt; @@ -272,6 +274,8 @@ bool RenderMediaControlsChromium::paintM
&gt;      case MediaControlsPanel:
&gt;          ASSERT_NOT_REACHED();
&gt;          break;
&gt; +    default:
&gt; +        ;

The missing enum value(s) should be added to the switch (not a default: which hides the fact that values aren&apos;t being handled).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157197</commentid>
    <comment_count>5</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-10-23 11:18:15 -0700</bug_when>
    <thetext>One other comment:
WebCore/xml/XPathFunctions.cpp
 670 struct FunctionMapping {
 671     const char *name;

Since you&apos;re touching this line anyway, please fix the * placement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157317</commentid>
    <comment_count>6</comment_count>
    <who name="Jens Alfke">jens</who>
    <bug_when>2009-10-23 14:41:37 -0700</bug_when>
    <thetext>&gt; The CommandEntry and RoleEntry warnings seem bogus.

To be honest I am not sure why moving the declaration fixed them. But it&apos;s a no-op change in all other respects, so it didn&apos;t seem time-effective to research exactly what was going on with symbol visibility in those places.

&gt;The missing enum value(s) should be added to the switch (not a default: which
&gt;hides the fact that values aren&apos;t being handled).

But the existing code was clearly intended to allow unlisted cases, since there&apos;s a &apos;return false&apos; after the end of the switch. It was just doing it in a way that didn&apos;t signal that intention to GCC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157808</commentid>
    <comment_count>7</comment_count>
      <attachid>41873</attachid>
    <who name="Jens Alfke">jens</who>
    <bug_when>2009-10-26 10:09:27 -0700</bug_when>
    <thetext>Created attachment 41873
patch 2

Updated patch:
- Fixed &apos;char *&apos; in XPathFunctions.cpp
- A recent commit to ClipboardChromium.cpp made my change to it unnecessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157825</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-26 10:49:03 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; &gt; The CommandEntry and RoleEntry warnings seem bogus.
&gt; 
&gt; To be honest I am not sure why moving the declaration fixed them. But it&apos;s a
&gt; no-op change in all other respects, so it didn&apos;t seem time-effective to
&gt; research exactly what was going on with symbol visibility in those places.

I just don&apos;t understand the warning, or the fix, so it&apos;s difficult to judge the quality of the fix or adjust my future behavior when writing code like that.  It seems a small amount of googling or similar could document this change.

&gt; &gt;The missing enum value(s) should be added to the switch (not a default: which
&gt; &gt;hides the fact that values aren&apos;t being handled).
&gt; 
&gt; But the existing code was clearly intended to allow unlisted cases, since
&gt; there&apos;s a &apos;return false&apos; after the end of the switch. It was just doing it in a
&gt; way that didn&apos;t signal that intention to GCC.

I think better would be to add all the missing cases.  We try and avoid default so that the compiler displays that warning when we forget cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158243</commentid>
    <comment_count>9</comment_count>
      <attachid>41961</attachid>
    <who name="Jens Alfke">jens</who>
    <bug_when>2009-10-27 10:24:32 -0700</bug_when>
    <thetext>Created attachment 41961
patch 3

Revised to add the three missing cases to RenderMediaControlsChromium::paintMediaControlsPart instead of using a &apos;default&apos; label.

I looked at doing the same to shouldRenderMediaControlPart, but there are **33** missing cases that would have to be added! If you look at the purpose of the function, it&apos;s clearly to identify the Media-related control parts and return false for the rest, so the &apos;default&apos; case is valid. Otherwise this function would produce a warning whenever anyone added a new ControlPart, whether or not it was related to media controls, which would be a PITA.

Here&apos;s the story about the weird struct-visibility warning. Chrome&apos;s WebCore.xcodeproj builds with -fvisibility=hidden, aka &quot;Symbols Hidden By Default&quot;. Regular WebKit&apos;s WebCore.xcodeproj doesn&apos;t. I don&apos;t know why they use different settings, but this explains why regular WebKit builds won&apos;t produce this warning: the symbol EditorInternalCommand isn&apos;t hidden in their build.
As far as I can tell, the warning is mistaken. I think the compiler is confused about the additional invisibility that the CommandEntry struct has by virtue of being declared inside function scope. Although this is even more hidden than a private symbol at file scope, it seems to be thinking that it&apos;s _less_ hidden. This explains why moving the declaration out to file scope fixes the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158730</commentid>
    <comment_count>10</comment_count>
      <attachid>41961</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-28 15:13:05 -0700</bug_when>
    <thetext>Comment on attachment 41961
patch 3

This looks OK.  We should strongly consider reporting the +struct FunctionMapping {
bug to GCC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158794</commentid>
    <comment_count>11</comment_count>
      <attachid>41961</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-28 17:54:50 -0700</bug_when>
    <thetext>Comment on attachment 41961
patch 3

Clearing flags on attachment: 41961

Committed r50253: &lt;http://trac.webkit.org/changeset/50253&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158795</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-28 17:54:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158800</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-10-28 18:02:35 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 41961 [details])
&gt; This looks OK.  We should strongly consider reporting the +struct
&gt; FunctionMapping {
&gt; bug to GCC.

See bug 26756.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158803</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-10-28 18:03:06 -0700</bug_when>
    <thetext>*** Bug 26756 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41728</attachid>
            <date>2009-10-23 09:28:33 -0700</date>
            <delta_ts>2009-10-26 10:09:45 -0700</delta_ts>
            <desc>patch 1</desc>
            <filename>warnings.patch</filename>
            <type>text/plain</type>
            <size>11131</size>
            <attacher name="Jens Alfke">jens</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTk3OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzcgQEAKKzIwMDktMTAtMjMgIEplbnMgQWxma2UgIDxzbmVqQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXgg
R0NDIGNvbXBpbGVyIHdhcm5pbmdzIGluIFdlYkNvcmUsIGFuZCBlbmFibGUgLVdhbGwgYW5kIC1X
ZXJyb3IgZm9yIENocm9taXVtIGJ1aWxkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzA3MTYKKworICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUu
Z3lwOiAgRW5hYmxlICJjaHJvbWl1bV9jb2RlIiBmbGFnLCBqdXN0IG9uIE1hYyBidWlsZCBmb3Ig
bm93LgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVBUklBUm9sZU1hcCk6ICBGaXggc3RydWN0IHZp
c2liaWl0eSB3YXJuaW5nLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdENhbGxTdGFjay5o
OiAgRml4IG91dC1vZi1vcmRlciBtZW1iZXIgaW5pdGlhbGl6YXRpb24gd2FybmluZy4KKyAgICAg
ICAgKiBiaW5kaW5ncy92OC9WOENvbGxlY3Rpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OmdldFY4
T2JqZWN0KTogIEZ1bmN0aW9uIGluIGhlYWRlciBzaG91bGQgbm90IGJlICdzdGF0aWMnIChmaXhl
cyB1bnVzZWQtc3RhdGljIHdhcm5pbmcuKQorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4RE9NV3Jh
cHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdyYXBwZXI6OmNvbnZlcnROZXdOb2Rl
VG9WOE9iamVjdCk6ICBGaXggc2lnbmVkL3Vuc2lnbmVkIGNvbXBhcmlzb24gd2FybmluZy4KKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpPYmplY3RHcm91cGVyVmlzaXRvcjo6YXBwbHlHcm91cGluZyk6ICBGaXggdW51c2VkLXZhcmlh
YmxlIHdhcm5pbmcuCisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6
ICBFbmFibGUgTGlzdEJ1dHRvblBhcnQgY2FzZSB0byBhdm9pZAorICAgICAgICAgICAgd2Fybmlu
ZyBhYm91dCBtaXNzaW5nIGNhc2VzIGluICdzd2l0Y2gnIHN0YXRlbWVudC4KKyAgICAgICAgKiBl
ZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQ29tbWFu
ZE1hcCk6ICBGaXggc3RydWN0IHZpc2liaWl0eSB3YXJuaW5nLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL1Bhc3RlYm9hcmRDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYXN0
ZWJvYXJkOjp3cml0ZUltYWdlKTogIENvbmRpdGlvbmFsaXplIHZhcmlhYmxlcyB1c2VkIG9ubHkg
aW4gYXNzZXJ0aW9ucywKKyAgICAgICAgICAgIHRvIGF2b2lkIHdhcm5pbmcgYWJvdXQgdW51c2Vk
IHZhcmlhYmxlIGluIFJlbGVhc2UgYnVpbGQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
c2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmNwcDoKKyAgICAgICAgKFBsYXRmb3JtQ29udGV4dFNr
aWE6OlN0YXRlOjpTdGF0ZSk6ICBGaXggb3V0LW9mLW9yZGVyIG1lbWJlciBpbml0aWFsaXphdGlv
biB3YXJuaW5nLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21p
dW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtOjpz
aG91bGRSZW5kZXJNZWRpYUNvbnRyb2xQYXJ0KTogIEFkZCBlbXB0eSAnZGVmYXVsdCcgY2FzZSBp
bgorICAgICAgICAgICAgJ3N3aXRjaCcgc3RhdGVtZW50IHRvIGF2b2lkIG1pc3NpbmctY2FzZSB3
YXJuaW5nLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtOjpw
YWludE1lZGlhQ29udHJvbHNQYXJ0KTogIERpdHRvLgorICAgICAgICAqIHhtbC9YUGF0aEZ1bmN0
aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYUGF0aDo6Y3JlYXRlRnVuY3Rpb25NYXApOiAg
Rml4IHN0cnVjdCB2aXNpYmlpdHkgd2FybmluZy4KKwogMjAwOS0xMC0yMyAgU3RldmUgQmxvY2sg
IDxzdGV2ZWJsb2NrQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlk
ZWwuCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAJKHJldmlzaW9uIDQ5ODk2KQorKysgV2Vi
Q29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAkod29ya2luZyBjb3B5KQpAQCAtMTgwLDYgKzE4
MCw5IEBACiAgICAgICAgICAgJy4uL3BsYXRmb3JtL21hYycsCiAgICAgICAgICAgJy4uL3BsYXRm
b3JtL3RleHQvbWFjJywKICAgICAgICAgXSwKKyAgICAgICAgIyBlbmFibGUgLVdhbGwgYW5kIC1X
ZXJyb3IsIGp1c3QgaW4gTWFjIGJ1aWxkIGZvciBub3cKKyAgICAgICAgIyBGSVhNRTogQWxzbyBl
bmFibGUgdGhpcyBmb3IgTGludXgvV2luZG93cyBhZnRlciB2ZXJpZnlpbmcgbm8gd2FybmluZ3MK
KyAgICAgICAgJ2Nocm9taXVtX2NvZGUnOiAxLAogICAgICAgfV0sCiAgICAgICBbJ09TPT0id2lu
IicsIHsKICAgICAgICAgJ3dlYmNvcmVfaW5jbHVkZV9kaXJzJzogWwpJbmRleDogV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAkocmV2
aXNpb24gNDk4OTYpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyMjQsMTMgKzIyMjQsMTMgQEAgQWNjZXNz
aWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eVJlbmRlcgogICAgIAogdHlwZWRlZiBIYXNoTWFw
PFN0cmluZywgQWNjZXNzaWJpbGl0eVJvbGUsIENhc2VGb2xkaW5nSGFzaD4gQVJJQVJvbGVNYXA7
CiAKK3N0cnVjdCBSb2xlRW50cnkgeworICAgIFN0cmluZyBhcmlhUm9sZTsKKyAgICBBY2Nlc3Np
YmlsaXR5Um9sZSB3ZWJjb3JlUm9sZTsKK307CisKIHN0YXRpYyBjb25zdCBBUklBUm9sZU1hcCYg
Y3JlYXRlQVJJQVJvbGVNYXAoKQogewotICAgIHN0cnVjdCBSb2xlRW50cnkgewotICAgICAgICBT
dHJpbmcgYXJpYVJvbGU7Ci0gICAgICAgIEFjY2Vzc2liaWxpdHlSb2xlIHdlYmNvcmVSb2xlOwot
ICAgIH07Ci0KICAgICBjb25zdCBSb2xlRW50cnkgcm9sZXNbXSA9IHsKICAgICAgICAgeyAiYXBw
bGljYXRpb24iLCBMYW5kbWFya0FwcGxpY2F0aW9uUm9sZSB9LAogICAgICAgICB7ICJhcnRpY2xl
IiwgRG9jdW1lbnRBcnRpY2xlUm9sZSB9LApJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9TY3Jp
cHRDYWxsU3RhY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENh
bGxTdGFjay5oCShyZXZpc2lvbiA0OTg5NikKKysrIFdlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0
Q2FsbFN0YWNrLmgJKHdvcmtpbmcgY29weSkKQEAgLTU1LDggKzU1LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBTY3JpcHRTdGF0ZSogc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3Nj
cmlwdFN0YXRlLmdldCgpOyB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBPd25QdHI8U2NyaXB0
U3RhdGU+IG1fc2NyaXB0U3RhdGU7CiAgICAgICAgIFNjcmlwdENhbGxGcmFtZSBtX2xhc3RDYWxs
ZXI7CisgICAgICAgIE93blB0cjxTY3JpcHRTdGF0ZT4gbV9zY3JpcHRTdGF0ZTsKICAgICB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4Q29s
bGVjdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhDb2xsZWN0aW9u
LmgJKHJldmlzaW9uIDQ5ODk2KQorKysgV2ViQ29yZS9iaW5kaW5ncy92OC9WOENvbGxlY3Rpb24u
aAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgLy8gRklYTUU6IFRoZXNlIGZ1bmN0aW9ucyBzaG91bGQgYmUgbmFtZWQgdXNpbmcgdG8qIHNp
bmNlIHRoZXkgcmV0dXJuIHRoZSBpdGVtIChnZXQqIGlzIHVzZWQgZm9yIG1ldGhvZCB0aGF0IHRh
a2UgYSByZWYgcGFyYW0pLgogICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjQ2NjQuCiAKLSAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGdl
dFY4T2JqZWN0KHZvaWQqIGltcGxlbWVudGF0aW9uLCB2ODo6TG9jYWw8djg6OlZhbHVlPiBpbXBs
ZW1lbnRhdGlvblR5cGUpCisgICAgaW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBnZXRWOE9i
amVjdCh2b2lkKiBpbXBsZW1lbnRhdGlvbiwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gaW1wbGVtZW50
YXRpb25UeXBlKQogICAgIHsKICAgICAgICAgaWYgKCFpbXBsZW1lbnRhdGlvbikKICAgICAgICAg
ICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKSW5kZXg6IFdlYkNvcmUvYmluZGlu
Z3MvdjgvVjhET01XcmFwcGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4RE9NV3JhcHBlci5jcHAJKHJldmlzaW9uIDQ5ODk2KQorKysgV2ViQ29yZS9iaW5kaW5ncy92
OC9WOERPTVdyYXBwZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjY3LDcgKzEyNjcsNyBAQCB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhET01XcmFwcGVyOjpjb252CiAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgIHR5cGUgPSBWOENsYXNzSW5kZXg6OkRPQ1VNRU5UOwogICAgIH0gZWxzZSB7Ci0g
ICAgICAgIEFTU0VSVChub2RlVHlwZSA8IHNpemVvZihtYXBwaW5nKS9zaXplb2YobWFwcGluZ1sw
XSkpOworICAgICAgICBBU1NFUlQobm9kZVR5cGUgPCBzdGF0aWNfY2FzdDxpbnQ+KHNpemVvZiht
YXBwaW5nKS9zaXplb2YobWFwcGluZ1swXSkpKTsKICAgICAgICAgdHlwZSA9IG1hcHBpbmdbbm9k
ZVR5cGVdOwogICAgICAgICBBU1NFUlQodHlwZSAhPSBWOENsYXNzSW5kZXg6OklOVkFMSURfQ0xB
U1NfSU5ERVgpOwogICAgIH0KSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xs
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xsZXIu
Y3BwCShyZXZpc2lvbiA0OTg5NikKKysrIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xs
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjcsNyArMzI3LDYgQEAgcHVibGljOgogICAgICAg
ICAgICAgVmVjdG9yPHY4OjpQZXJzaXN0ZW50PHY4OjpWYWx1ZT4gPiBncm91cDsKICAgICAgICAg
ICAgIGdyb3VwLnJlc2VydmVDYXBhY2l0eShuZXh0S2V5SW5kZXggLSBpKTsKICAgICAgICAgICAg
IGZvciAoOyBpIDwgbmV4dEtleUluZGV4OyArK2kpIHsKLSAgICAgICAgICAgICAgICBOb2RlKiBu
b2RlID0gbV9ncm91cGVyW2ldLm5vZGUoKTsKICAgICAgICAgICAgICAgICB2ODo6UGVyc2lzdGVu
dDx2ODo6VmFsdWU+IHdyYXBwZXIgPSBtX2dyb3VwZXJbaV0ud3JhcHBlcigpOwogICAgICAgICAg
ICAgICAgIGlmICghd3JhcHBlci5Jc0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgICAgIGdyb3Vw
LmFwcGVuZCh3cmFwcGVyKTsKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFw
cGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBp
bmdzLmgJKHJldmlzaW9uIDQ5ODk2KQorKysgV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVN
YXBwaW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDAsMTEgKzIwMCwxMSBAQCB0ZW1wbGF0ZTw+
IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTCiAgICAgICAgIGNhc2UgTGlzdGJveFBhcnQ6
CiAgICAgICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVMaXN0Ym94OwogICAgICAgICAg
ICAgYnJlYWs7Ci0jaWYgRU5BQkxFKERBVEFMSVNUKQogICAgICAgICBjYXNlIExpc3RCdXR0b25Q
YXJ0OgorI2lmIEVOQUJMRShEQVRBTElTVCkKICAgICAgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBD
U1NWYWx1ZUxpc3RCdXR0b247Ci0gICAgICAgICAgICBicmVhazsKICNlbmRpZgorICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTGlzdEl0ZW1QYXJ0OgogICAgICAgICAgICAgbV92YWx1
ZS5pZGVudCA9IENTU1ZhbHVlTGlzdGl0ZW07CiAgICAgICAgICAgICBicmVhazsKSW5kZXg6IFdl
YkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Vk
aXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAJKHJldmlzaW9uIDQ5ODk2KQorKysgV2ViQ29yZS9lZGl0
aW5nL0VkaXRvckNvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjkxLDEwICsxMjkxLDEw
IEBAIHN0YXRpYyBTdHJpbmcgdmFsdWVGb3JlQ29sb3IoRnJhbWUqIGZyYW0KIAogLy8gTWFwIG9m
IGZ1bmN0aW9ucwogCitzdHJ1Y3QgQ29tbWFuZEVudHJ5IHsgY29uc3QgY2hhciogbmFtZTsgRWRp
dG9ySW50ZXJuYWxDb21tYW5kIGNvbW1hbmQ7IH07CisKIHN0YXRpYyBjb25zdCBDb21tYW5kTWFw
JiBjcmVhdGVDb21tYW5kTWFwKCkKIHsKLSAgICBzdHJ1Y3QgQ29tbWFuZEVudHJ5IHsgY29uc3Qg
Y2hhciogbmFtZTsgRWRpdG9ySW50ZXJuYWxDb21tYW5kIGNvbW1hbmQ7IH07Ci0gICAgCiAgICAg
c3RhdGljIGNvbnN0IENvbW1hbmRFbnRyeSBjb21tYW5kc1tdID0gewogICAgICAgICB7ICJBbGln
bkNlbnRlciIsIHsgZXhlY3V0ZUp1c3RpZnlDZW50ZXIsIHN1cHBvcnRlZEZyb21NZW51T3JLZXlC
aW5kaW5nLCBlbmFibGVkSW5SaWNobHlFZGl0YWJsZVRleHQsIHN0YXRlTm9uZSwgdmFsdWVOdWxs
LCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwK
ICAgICAgICAgeyAiQWxpZ25KdXN0aWZpZWQiLCB7IGV4ZWN1dGVKdXN0aWZ5RnVsbCwgc3VwcG9y
dGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJblJpY2hseUVkaXRhYmxlVGV4dCwgc3Rh
dGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25X
aGVuRGlzYWJsZWQgfSB9LApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QYXN0ZWJv
YXJkQ2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0v
UGFzdGVib2FyZENocm9taXVtLmNwcAkocmV2aXNpb24gNDk4OTYpCisrKyBXZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL1Bhc3RlYm9hcmRDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEy
MywxNCArMTIzLDE0IEBAIHZvaWQgUGFzdGVib2FyZDo6d3JpdGVVUkwoY29uc3QgS1VSTCYgdXIK
IAogdm9pZCBQYXN0ZWJvYXJkOjp3cml0ZUltYWdlKE5vZGUqIG5vZGUsIGNvbnN0IEtVUkwmLCBj
b25zdCBTdHJpbmcmIHRpdGxlKQogeworI2lmICFBU1NFUlRfRElTQUJMRUQKICAgICBBU1NFUlQo
bm9kZSk7CiAgICAgQVNTRVJUKG5vZGUtPnJlbmRlcmVyKCkpOwogICAgIEFTU0VSVChub2RlLT5y
ZW5kZXJlcigpLT5pc0ltYWdlKCkpOwogICAgIFJlbmRlckltYWdlKiByZW5kZXJlciA9IHRvUmVu
ZGVySW1hZ2Uobm9kZS0+cmVuZGVyZXIoKSk7Ci0gICAgQ2FjaGVkSW1hZ2UqIGNhY2hlZEltYWdl
ID0gcmVuZGVyZXItPmNhY2hlZEltYWdlKCk7Ci0gICAgQVNTRVJUKGNhY2hlZEltYWdlKTsKLSAg
ICBJbWFnZSogaW1hZ2UgPSBjYWNoZWRJbWFnZS0+aW1hZ2UoKTsKLSAgICBBU1NFUlQoaW1hZ2Up
OworICAgIEFTU0VSVChyZW5kZXJlci0+Y2FjaGVkSW1hZ2UoKSk7CisgICAgQVNTRVJUKHJlbmRl
cmVyLT5jYWNoZWRJbWFnZSgpLT5pbWFnZSgpKTsKKyNlbmRpZgogCiAgICAgLy8gSWYgdGhlIGlt
YWdlIGlzIHdyYXBwZWQgaW4gYSBsaW5rLCB8dXJsfCBwb2ludHMgdG8gdGhlIHRhcmdldCBvZiB0
aGUKICAgICAvLyBsaW5rLiAgVGhpcyBpc24ndCB1c2VmdWwgdG8gdXMsIHNvIGdldCB0aGUgYWN0
dWFsIGltYWdlIFVSTC4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0
Zm9ybUNvbnRleHRTa2lhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5jcHAJKHJldmlzaW9uIDQ5ODk2KQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMTUsOCArMTE1LDggQEAgUGxhdGZvcm1Db250ZXh0U2tpYTo6U3RhdGU6
OlN0YXRlKCkKICAgICAsIG1fZmlsbFNoYWRlcigwKQogICAgICwgbV9zdHJva2VTdHlsZShXZWJD
b3JlOjpTb2xpZFN0cm9rZSkKICAgICAsIG1fc3Ryb2tlQ29sb3IoV2ViQ29yZTo6Q29sb3I6OmJs
YWNrKQotICAgICwgbV9zdHJva2VUaGlja25lc3MoMCkKICAgICAsIG1fc3Ryb2tlU2hhZGVyKDAp
CisgICAgLCBtX3N0cm9rZVRoaWNrbmVzcygwKQogICAgICwgbV9kYXNoUmF0aW8oMykKICAgICAs
IG1fbWl0ZXJMaW1pdCg0KQogICAgICwgbV9saW5lQ2FwKFNrUGFpbnQ6OmtEZWZhdWx0X0NhcCkK
QEAgLTEzNSw4ICsxMzUsOCBAQCBQbGF0Zm9ybUNvbnRleHRTa2lhOjpTdGF0ZTo6U3RhdGUoY29u
c3QgCiAgICAgLCBtX2ZpbGxTaGFkZXIob3RoZXIubV9maWxsU2hhZGVyKQogICAgICwgbV9zdHJv
a2VTdHlsZShvdGhlci5tX3N0cm9rZVN0eWxlKQogICAgICwgbV9zdHJva2VDb2xvcihvdGhlci5t
X3N0cm9rZUNvbG9yKQotICAgICwgbV9zdHJva2VUaGlja25lc3Mob3RoZXIubV9zdHJva2VUaGlj
a25lc3MpCiAgICAgLCBtX3N0cm9rZVNoYWRlcihvdGhlci5tX3N0cm9rZVNoYWRlcikKKyAgICAs
IG1fc3Ryb2tlVGhpY2tuZXNzKG90aGVyLm1fc3Ryb2tlVGhpY2tuZXNzKQogICAgICwgbV9kYXNo
UmF0aW8ob3RoZXIubV9kYXNoUmF0aW8pCiAgICAgLCBtX21pdGVyTGltaXQob3RoZXIubV9taXRl
ckxpbWl0KQogICAgICwgbV9saW5lQ2FwKG90aGVyLm1fbGluZUNhcCkKSW5kZXg6IFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcAkocmV2aXNp
b24gNDk4OTYpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21p
dW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDAsNiArMjQwLDggQEAgYm9vbCBSZW5kZXJNZWRp
YUNvbnRyb2xzQ2hyb21pdW06OnNob3VsZAogICAgIGNhc2UgTWVkaWFDdXJyZW50VGltZVBhcnQ6
CiAgICAgY2FzZSBNZWRpYVRpbWVSZW1haW5pbmdQYXJ0OgogICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICBkZWZhdWx0OgorICAgICAgICA7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKIH0KQEAg
LTI3Miw2ICsyNzQsOCBAQCBib29sIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6cGFpbnRN
CiAgICAgY2FzZSBNZWRpYUNvbnRyb2xzUGFuZWw6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICA7CiAgICAgfQogICAg
IHJldHVybiBmYWxzZTsKIH0KSW5kZXg6IFdlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3htbC9YUGF0aEZ1bmN0aW9ucy5jcHAJKHJldmlzaW9uIDQ5
ODk2KQorKysgV2ViQ29yZS94bWwvWFBhdGhGdW5jdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02NjcsMTIgKzY2NywxMyBAQCBWYWx1ZSBGdW5Sb3VuZDo6ZXZhbHVhdGUoKSBjb25zdAogICAg
IHJldHVybiByb3VuZChhcmcoMCktPmV2YWx1YXRlKCkudG9OdW1iZXIoKSk7CiB9CiAKK3N0cnVj
dCBGdW5jdGlvbk1hcHBpbmcgeworICAgIGNvbnN0IGNoYXIgKm5hbWU7CisgICAgRnVuY3Rpb25S
ZWMgZnVuY3Rpb247Cit9OworCiBzdGF0aWMgdm9pZCBjcmVhdGVGdW5jdGlvbk1hcCgpCiB7Ci0g
ICAgc3RydWN0IEZ1bmN0aW9uTWFwcGluZyB7Ci0gICAgICAgIGNvbnN0IGNoYXIgKm5hbWU7Ci0g
ICAgICAgIEZ1bmN0aW9uUmVjIGZ1bmN0aW9uOwotICAgIH07CiAgICAgc3RhdGljIGNvbnN0IEZ1
bmN0aW9uTWFwcGluZyBmdW5jdGlvbnNbXSA9IHsKICAgICAgICAgeyAiYm9vbGVhbiIsIHsgJmNy
ZWF0ZUZ1bkJvb2xlYW4sIDEgfSB9LAogICAgICAgICB7ICJjZWlsaW5nIiwgeyAmY3JlYXRlRnVu
Q2VpbGluZywgMSB9IH0sCg==
</data>
<flag name="review"
          id="23176"
          type_id="1"
          status="-"
          setter="levin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41873</attachid>
            <date>2009-10-26 10:09:27 -0700</date>
            <delta_ts>2009-10-27 10:24:32 -0700</delta_ts>
            <desc>patch 2</desc>
            <filename>warnings2.patch</filename>
            <type>text/plain</type>
            <size>9948</size>
            <attacher name="Jens Alfke">jens</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDAyNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMDktMTAtMjMgIEplbnMgQWxma2UgIDxzbmVqQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXgg
R0NDIGNvbXBpbGVyIHdhcm5pbmdzIGluIFdlYkNvcmUsIGFuZCBlbmFibGUgLVdhbGwgYW5kIC1X
ZXJyb3IgZm9yIENocm9taXVtIGJ1aWxkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzA3MTYKKworICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUu
Z3lwOiAgRW5hYmxlICJjaHJvbWl1bV9jb2RlIiBmbGFnLCBqdXN0IG9uIE1hYyBidWlsZCBmb3Ig
bm93LgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVBUklBUm9sZU1hcCk6ICBGaXggc3RydWN0IHZp
c2liaWl0eSB3YXJuaW5nLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdENhbGxTdGFjay5o
OiAgRml4IG91dC1vZi1vcmRlciBtZW1iZXIgaW5pdGlhbGl6YXRpb24gd2FybmluZy4KKyAgICAg
ICAgKiBiaW5kaW5ncy92OC9WOENvbGxlY3Rpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OmdldFY4
T2JqZWN0KTogIEZ1bmN0aW9uIGluIGhlYWRlciBzaG91bGQgbm90IGJlICdzdGF0aWMnIChmaXhl
cyB1bnVzZWQtc3RhdGljIHdhcm5pbmcuKQorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4RE9NV3Jh
cHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdyYXBwZXI6OmNvbnZlcnROZXdOb2Rl
VG9WOE9iamVjdCk6ICBGaXggc2lnbmVkL3Vuc2lnbmVkIGNvbXBhcmlzb24gd2FybmluZy4KKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpPYmplY3RHcm91cGVyVmlzaXRvcjo6YXBwbHlHcm91cGluZyk6ICBGaXggdW51c2VkLXZhcmlh
YmxlIHdhcm5pbmcuCisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6
ICBFbmFibGUgTGlzdEJ1dHRvblBhcnQgY2FzZSB0byBhdm9pZAorICAgICAgICAgICAgd2Fybmlu
ZyBhYm91dCBtaXNzaW5nIGNhc2VzIGluICdzd2l0Y2gnIHN0YXRlbWVudC4KKyAgICAgICAgKiBl
ZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQ29tbWFu
ZE1hcCk6ICBGaXggc3RydWN0IHZpc2liaWl0eSB3YXJuaW5nLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5jcHA6CisgICAgICAgIChQbGF0Zm9y
bUNvbnRleHRTa2lhOjpTdGF0ZTo6U3RhdGUpOiAgRml4IG91dC1vZi1vcmRlciBtZW1iZXIgaW5p
dGlhbGl6YXRpb24gd2FybmluZy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250
cm9sc0Nocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lZGlhQ29udHJvbHND
aHJvbWl1bTo6c2hvdWxkUmVuZGVyTWVkaWFDb250cm9sUGFydCk6ICBBZGQgZW1wdHkgJ2RlZmF1
bHQnIGNhc2UgaW4KKyAgICAgICAgICAgICdzd2l0Y2gnIHN0YXRlbWVudCB0byBhdm9pZCBtaXNz
aW5nLWNhc2Ugd2FybmluZy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lZGlhQ29udHJvbHND
aHJvbWl1bTo6cGFpbnRNZWRpYUNvbnRyb2xzUGFydCk6ICBEaXR0by4KKyAgICAgICAgKiB4bWwv
WFBhdGhGdW5jdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OmNyZWF0ZUZ1bmN0
aW9uTWFwKTogIEZpeCBzdHJ1Y3QgdmlzaWJpaXR5IHdhcm5pbmcuCisKIDIwMDktMTAtMjQgIERp
bWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmll
d2VkLCBidWlsZCBmaXguCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAJKHJldmlzaW9uIDUw
MDI3KQorKysgV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAkod29ya2luZyBjb3B5KQpA
QCAtMTgwLDYgKzE4MCw5IEBACiAgICAgICAgICAgJy4uL3BsYXRmb3JtL21hYycsCiAgICAgICAg
ICAgJy4uL3BsYXRmb3JtL3RleHQvbWFjJywKICAgICAgICAgXSwKKyAgICAgICAgIyBlbmFibGUg
LVdhbGwgYW5kIC1XZXJyb3IsIGp1c3QgaW4gTWFjIGJ1aWxkIGZvciBub3cKKyAgICAgICAgIyBG
SVhNRTogQWxzbyBlbmFibGUgdGhpcyBmb3IgTGludXgvV2luZG93cyBhZnRlciB2ZXJpZnlpbmcg
bm8gd2FybmluZ3MKKyAgICAgICAgJ2Nocm9taXVtX2NvZGUnOiAxLAogICAgICAgfV0sCiAgICAg
ICBbJ09TPT0id2luIicsIHsKICAgICAgICAgJ3dlYmNvcmVfaW5jbHVkZV9kaXJzJzogWwpJbmRl
eDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0LmNwcAkocmV2aXNpb24gNTAwMjcpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyMzksMTMgKzIyMzks
MTMgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eVJlbmRlcgogICAgIAogdHlw
ZWRlZiBIYXNoTWFwPFN0cmluZywgQWNjZXNzaWJpbGl0eVJvbGUsIENhc2VGb2xkaW5nSGFzaD4g
QVJJQVJvbGVNYXA7CiAKK3N0cnVjdCBSb2xlRW50cnkgeworICAgIFN0cmluZyBhcmlhUm9sZTsK
KyAgICBBY2Nlc3NpYmlsaXR5Um9sZSB3ZWJjb3JlUm9sZTsKK307CisKIHN0YXRpYyBjb25zdCBB
UklBUm9sZU1hcCYgY3JlYXRlQVJJQVJvbGVNYXAoKQogewotICAgIHN0cnVjdCBSb2xlRW50cnkg
ewotICAgICAgICBTdHJpbmcgYXJpYVJvbGU7Ci0gICAgICAgIEFjY2Vzc2liaWxpdHlSb2xlIHdl
YmNvcmVSb2xlOwotICAgIH07Ci0KICAgICBjb25zdCBSb2xlRW50cnkgcm9sZXNbXSA9IHsKICAg
ICAgICAgeyAiYXBwbGljYXRpb24iLCBMYW5kbWFya0FwcGxpY2F0aW9uUm9sZSB9LAogICAgICAg
ICB7ICJhcnRpY2xlIiwgRG9jdW1lbnRBcnRpY2xlUm9sZSB9LApJbmRleDogV2ViQ29yZS9iaW5k
aW5ncy92OC9TY3JpcHRDYWxsU3RhY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdz
L3Y4L1NjcmlwdENhbGxTdGFjay5oCShyZXZpc2lvbiA1MDAyNykKKysrIFdlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0Q2FsbFN0YWNrLmgJKHdvcmtpbmcgY29weSkKQEAgLTU1LDggKzU1LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBTY3JpcHRTdGF0ZSogc3RhdGUoKSBjb25zdCB7
IHJldHVybiBtX3NjcmlwdFN0YXRlLmdldCgpOyB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBP
d25QdHI8U2NyaXB0U3RhdGU+IG1fc2NyaXB0U3RhdGU7CiAgICAgICAgIFNjcmlwdENhbGxGcmFt
ZSBtX2xhc3RDYWxsZXI7CisgICAgICAgIE93blB0cjxTY3JpcHRTdGF0ZT4gbV9zY3JpcHRTdGF0
ZTsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4Q29sbGVjdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvdjgv
VjhDb2xsZWN0aW9uLmgJKHJldmlzaW9uIDUwMDI3KQorKysgV2ViQ29yZS9iaW5kaW5ncy92OC9W
OENvbGxlY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgLy8gRklYTUU6IFRoZXNlIGZ1bmN0aW9ucyBzaG91bGQgYmUgbmFtZWQg
dXNpbmcgdG8qIHNpbmNlIHRoZXkgcmV0dXJuIHRoZSBpdGVtIChnZXQqIGlzIHVzZWQgZm9yIG1l
dGhvZCB0aGF0IHRha2UgYSByZWYgcGFyYW0pLgogICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQ2NjQuCiAKLSAgICBzdGF0aWMgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IGdldFY4T2JqZWN0KHZvaWQqIGltcGxlbWVudGF0aW9uLCB2ODo6TG9jYWw8djg6
OlZhbHVlPiBpbXBsZW1lbnRhdGlvblR5cGUpCisgICAgaW5saW5lIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBnZXRWOE9iamVjdCh2b2lkKiBpbXBsZW1lbnRhdGlvbiwgdjg6OkxvY2FsPHY4OjpWYWx1
ZT4gaW1wbGVtZW50YXRpb25UeXBlKQogICAgIHsKICAgICAgICAgaWYgKCFpbXBsZW1lbnRhdGlv
bikKICAgICAgICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKSW5kZXg6IFdl
YkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHAJKHJldmlzaW9uIDUwMDI3KQorKysgV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjY3LDcg
KzEyNjcsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhET01XcmFwcGVyOjpjb252CiAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgIHR5cGUgPSBWOENsYXNzSW5kZXg6OkRPQ1VNRU5UOwogICAg
IH0gZWxzZSB7Ci0gICAgICAgIEFTU0VSVChub2RlVHlwZSA8IHNpemVvZihtYXBwaW5nKS9zaXpl
b2YobWFwcGluZ1swXSkpOworICAgICAgICBBU1NFUlQobm9kZVR5cGUgPCBzdGF0aWNfY2FzdDxp
bnQ+KHNpemVvZihtYXBwaW5nKS9zaXplb2YobWFwcGluZ1swXSkpKTsKICAgICAgICAgdHlwZSA9
IG1hcHBpbmdbbm9kZVR5cGVdOwogICAgICAgICBBU1NFUlQodHlwZSAhPSBWOENsYXNzSW5kZXg6
OklOVkFMSURfQ0xBU1NfSU5ERVgpOwogICAgIH0KSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvdjgv
VjhHQ0NvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhH
Q0NvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA1MDAyNykKKysrIFdlYkNvcmUvYmluZGluZ3Mvdjgv
VjhHQ0NvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjcsNyArMzI3LDYgQEAgcHVi
bGljOgogICAgICAgICAgICAgVmVjdG9yPHY4OjpQZXJzaXN0ZW50PHY4OjpWYWx1ZT4gPiBncm91
cDsKICAgICAgICAgICAgIGdyb3VwLnJlc2VydmVDYXBhY2l0eShuZXh0S2V5SW5kZXggLSBpKTsK
ICAgICAgICAgICAgIGZvciAoOyBpIDwgbmV4dEtleUluZGV4OyArK2kpIHsKLSAgICAgICAgICAg
ICAgICBOb2RlKiBub2RlID0gbV9ncm91cGVyW2ldLm5vZGUoKTsKICAgICAgICAgICAgICAgICB2
ODo6UGVyc2lzdGVudDx2ODo6VmFsdWU+IHdyYXBwZXIgPSBtX2dyb3VwZXJbaV0ud3JhcHBlcigp
OwogICAgICAgICAgICAgICAgIGlmICghd3JhcHBlci5Jc0VtcHR5KCkpCiAgICAgICAgICAgICAg
ICAgICAgIGdyb3VwLmFwcGVuZCh3cmFwcGVyKTsKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZU1hcHBpbmdzLmgJKHJldmlzaW9uIDUwMDI3KQorKysgV2ViQ29yZS9jc3MvQ1NTUHJp
bWl0aXZlVmFsdWVNYXBwaW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDAsMTEgKzIwMCwxMSBA
QCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTCiAgICAgICAgIGNhc2Ug
TGlzdGJveFBhcnQ6CiAgICAgICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVMaXN0Ym94
OwogICAgICAgICAgICAgYnJlYWs7Ci0jaWYgRU5BQkxFKERBVEFMSVNUKQogICAgICAgICBjYXNl
IExpc3RCdXR0b25QYXJ0OgorI2lmIEVOQUJMRShEQVRBTElTVCkKICAgICAgICAgICAgIG1fdmFs
dWUuaWRlbnQgPSBDU1NWYWx1ZUxpc3RCdXR0b247Ci0gICAgICAgICAgICBicmVhazsKICNlbmRp
ZgorICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTGlzdEl0ZW1QYXJ0OgogICAgICAg
ICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlTGlzdGl0ZW07CiAgICAgICAgICAgICBicmVh
azsKSW5kZXg6IFdlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAJKHJldmlzaW9uIDUwMDI3KQorKysg
V2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjkx
LDEwICsxMjkxLDEwIEBAIHN0YXRpYyBTdHJpbmcgdmFsdWVGb3JlQ29sb3IoRnJhbWUqIGZyYW0K
IAogLy8gTWFwIG9mIGZ1bmN0aW9ucwogCitzdHJ1Y3QgQ29tbWFuZEVudHJ5IHsgY29uc3QgY2hh
ciogbmFtZTsgRWRpdG9ySW50ZXJuYWxDb21tYW5kIGNvbW1hbmQ7IH07CisKIHN0YXRpYyBjb25z
dCBDb21tYW5kTWFwJiBjcmVhdGVDb21tYW5kTWFwKCkKIHsKLSAgICBzdHJ1Y3QgQ29tbWFuZEVu
dHJ5IHsgY29uc3QgY2hhciogbmFtZTsgRWRpdG9ySW50ZXJuYWxDb21tYW5kIGNvbW1hbmQ7IH07
Ci0gICAgCiAgICAgc3RhdGljIGNvbnN0IENvbW1hbmRFbnRyeSBjb21tYW5kc1tdID0gewogICAg
ICAgICB7ICJBbGlnbkNlbnRlciIsIHsgZXhlY3V0ZUp1c3RpZnlDZW50ZXIsIHN1cHBvcnRlZEZy
b21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5SaWNobHlFZGl0YWJsZVRleHQsIHN0YXRlTm9u
ZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRp
c2FibGVkIH0gfSwKICAgICAgICAgeyAiQWxpZ25KdXN0aWZpZWQiLCB7IGV4ZWN1dGVKdXN0aWZ5
RnVsbCwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJblJpY2hseUVkaXRh
YmxlVGV4dCwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxs
b3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmNwcAkocmV2aXNpb24g
NTAwMjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0
U2tpYS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNSw4ICsxMTUsOCBAQCBQbGF0Zm9ybUNvbnRl
eHRTa2lhOjpTdGF0ZTo6U3RhdGUoKQogICAgICwgbV9maWxsU2hhZGVyKDApCiAgICAgLCBtX3N0
cm9rZVN0eWxlKFdlYkNvcmU6OlNvbGlkU3Ryb2tlKQogICAgICwgbV9zdHJva2VDb2xvcihXZWJD
b3JlOjpDb2xvcjo6YmxhY2spCi0gICAgLCBtX3N0cm9rZVRoaWNrbmVzcygwKQogICAgICwgbV9z
dHJva2VTaGFkZXIoMCkKKyAgICAsIG1fc3Ryb2tlVGhpY2tuZXNzKDApCiAgICAgLCBtX2Rhc2hS
YXRpbygzKQogICAgICwgbV9taXRlckxpbWl0KDQpCiAgICAgLCBtX2xpbmVDYXAoU2tQYWludDo6
a0RlZmF1bHRfQ2FwKQpAQCAtMTM1LDggKzEzNSw4IEBAIFBsYXRmb3JtQ29udGV4dFNraWE6OlN0
YXRlOjpTdGF0ZShjb25zdCAKICAgICAsIG1fZmlsbFNoYWRlcihvdGhlci5tX2ZpbGxTaGFkZXIp
CiAgICAgLCBtX3N0cm9rZVN0eWxlKG90aGVyLm1fc3Ryb2tlU3R5bGUpCiAgICAgLCBtX3N0cm9r
ZUNvbG9yKG90aGVyLm1fc3Ryb2tlQ29sb3IpCi0gICAgLCBtX3N0cm9rZVRoaWNrbmVzcyhvdGhl
ci5tX3N0cm9rZVRoaWNrbmVzcykKICAgICAsIG1fc3Ryb2tlU2hhZGVyKG90aGVyLm1fc3Ryb2tl
U2hhZGVyKQorICAgICwgbV9zdHJva2VUaGlja25lc3Mob3RoZXIubV9zdHJva2VUaGlja25lc3Mp
CiAgICAgLCBtX2Rhc2hSYXRpbyhvdGhlci5tX2Rhc2hSYXRpbykKICAgICAsIG1fbWl0ZXJMaW1p
dChvdGhlci5tX21pdGVyTGltaXQpCiAgICAgLCBtX2xpbmVDYXAob3RoZXIubV9saW5lQ2FwKQpJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21p
dW0uY3BwCShyZXZpc2lvbiA1MDAyNykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlh
Q29udHJvbHNDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0MCw2ICsyNDAsOCBAQCBi
b29sIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6c2hvdWxkCiAgICAgY2FzZSBNZWRpYUN1
cnJlbnRUaW1lUGFydDoKICAgICBjYXNlIE1lZGlhVGltZVJlbWFpbmluZ1BhcnQ6CiAgICAgICAg
IHJldHVybiB0cnVlOworICAgIGRlZmF1bHQ6CisgICAgICAgIDsKICAgICB9CiAgICAgcmV0dXJu
IGZhbHNlOwogfQpAQCAtMjcyLDYgKzI3NCw4IEBAIGJvb2wgUmVuZGVyTWVkaWFDb250cm9sc0No
cm9taXVtOjpwYWludE0KICAgICBjYXNlIE1lZGlhQ29udHJvbHNQYW5lbDoKICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAg
IDsKICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwogfQpJbmRleDogV2ViQ29yZS94bWwvWFBhdGhG
dW5jdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUveG1sL1hQYXRoRnVuY3Rpb25zLmNw
cAkocmV2aXNpb24gNTAwMjcpCisrKyBXZWJDb3JlL3htbC9YUGF0aEZ1bmN0aW9ucy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTY2NywxMiArNjY3LDEzIEBAIFZhbHVlIEZ1blJvdW5kOjpldmFsdWF0
ZSgpIGNvbnN0CiAgICAgcmV0dXJuIHJvdW5kKGFyZygwKS0+ZXZhbHVhdGUoKS50b051bWJlcigp
KTsKIH0KIAorc3RydWN0IEZ1bmN0aW9uTWFwcGluZyB7CisgICAgY29uc3QgY2hhciogbmFtZTsK
KyAgICBGdW5jdGlvblJlYyBmdW5jdGlvbjsKK307CisKIHN0YXRpYyB2b2lkIGNyZWF0ZUZ1bmN0
aW9uTWFwKCkKIHsKLSAgICBzdHJ1Y3QgRnVuY3Rpb25NYXBwaW5nIHsKLSAgICAgICAgY29uc3Qg
Y2hhciAqbmFtZTsKLSAgICAgICAgRnVuY3Rpb25SZWMgZnVuY3Rpb247Ci0gICAgfTsKICAgICBz
dGF0aWMgY29uc3QgRnVuY3Rpb25NYXBwaW5nIGZ1bmN0aW9uc1tdID0gewogICAgICAgICB7ICJi
b29sZWFuIiwgeyAmY3JlYXRlRnVuQm9vbGVhbiwgMSB9IH0sCiAgICAgICAgIHsgImNlaWxpbmci
LCB7ICZjcmVhdGVGdW5DZWlsaW5nLCAxIH0gfSwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41961</attachid>
            <date>2009-10-27 10:24:32 -0700</date>
            <delta_ts>2009-10-28 17:54:50 -0700</delta_ts>
            <desc>patch 3</desc>
            <filename>warnings2.patch</filename>
            <type>text/plain</type>
            <size>10071</size>
            <attacher name="Jens Alfke">jens</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDAyNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMDktMTAtMjMgIEplbnMgQWxma2UgIDxzbmVqQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXgg
R0NDIGNvbXBpbGVyIHdhcm5pbmdzIGluIFdlYkNvcmUsIGFuZCBlbmFibGUgLVdhbGwgYW5kIC1X
ZXJyb3IgZm9yIENocm9taXVtIGJ1aWxkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzA3MTYKKworICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUu
Z3lwOiAgRW5hYmxlICJjaHJvbWl1bV9jb2RlIiBmbGFnLCBqdXN0IG9uIE1hYyBidWlsZCBmb3Ig
bm93LgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVBUklBUm9sZU1hcCk6ICBGaXggc3RydWN0IHZp
c2liaWl0eSB3YXJuaW5nLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdENhbGxTdGFjay5o
OiAgRml4IG91dC1vZi1vcmRlciBtZW1iZXIgaW5pdGlhbGl6YXRpb24gd2FybmluZy4KKyAgICAg
ICAgKiBiaW5kaW5ncy92OC9WOENvbGxlY3Rpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OmdldFY4
T2JqZWN0KTogIEZ1bmN0aW9uIGluIGhlYWRlciBzaG91bGQgbm90IGJlICdzdGF0aWMnIChmaXhl
cyB1bnVzZWQtc3RhdGljIHdhcm5pbmcuKQorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4RE9NV3Jh
cHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdyYXBwZXI6OmNvbnZlcnROZXdOb2Rl
VG9WOE9iamVjdCk6ICBGaXggc2lnbmVkL3Vuc2lnbmVkIGNvbXBhcmlzb24gd2FybmluZy4KKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9WOEdDQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpPYmplY3RHcm91cGVyVmlzaXRvcjo6YXBwbHlHcm91cGluZyk6ICBGaXggdW51c2VkLXZhcmlh
YmxlIHdhcm5pbmcuCisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6
ICBFbmFibGUgTGlzdEJ1dHRvblBhcnQgY2FzZSB0byBhdm9pZAorICAgICAgICAgICAgd2Fybmlu
ZyBhYm91dCBtaXNzaW5nIGNhc2VzIGluICdzd2l0Y2gnIHN0YXRlbWVudC4KKyAgICAgICAgKiBl
ZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQ29tbWFu
ZE1hcCk6ICBGaXggc3RydWN0IHZpc2liaWl0eSB3YXJuaW5nLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5jcHA6CisgICAgICAgIChQbGF0Zm9y
bUNvbnRleHRTa2lhOjpTdGF0ZTo6U3RhdGUpOiAgRml4IG91dC1vZi1vcmRlciBtZW1iZXIgaW5p
dGlhbGl6YXRpb24gd2FybmluZy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250
cm9sc0Nocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lZGlhQ29udHJvbHND
aHJvbWl1bTo6c2hvdWxkUmVuZGVyTWVkaWFDb250cm9sUGFydCk6ICBBZGQgZW1wdHkgJ2RlZmF1
bHQnIGNhc2UgaW4KKyAgICAgICAgICAgICdzd2l0Y2gnIHN0YXRlbWVudCB0byBhdm9pZCBtaXNz
aW5nLWNhc2Ugd2FybmluZy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lZGlhQ29udHJvbHND
aHJvbWl1bTo6cGFpbnRNZWRpYUNvbnRyb2xzUGFydCk6ICBEaXR0by4KKyAgICAgICAgKiB4bWwv
WFBhdGhGdW5jdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WFBhdGg6OmNyZWF0ZUZ1bmN0
aW9uTWFwKTogIEZpeCBzdHJ1Y3QgdmlzaWJpaXR5IHdhcm5pbmcuCisKIDIwMDktMTAtMjQgIERp
bWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmll
d2VkLCBidWlsZCBmaXguCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAJKHJldmlzaW9uIDUw
MDI3KQorKysgV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAkod29ya2luZyBjb3B5KQpA
QCAtMTgwLDYgKzE4MCw5IEBACiAgICAgICAgICAgJy4uL3BsYXRmb3JtL21hYycsCiAgICAgICAg
ICAgJy4uL3BsYXRmb3JtL3RleHQvbWFjJywKICAgICAgICAgXSwKKyAgICAgICAgIyBlbmFibGUg
LVdhbGwgYW5kIC1XZXJyb3IsIGp1c3QgaW4gTWFjIGJ1aWxkIGZvciBub3cKKyAgICAgICAgIyBG
SVhNRTogQWxzbyBlbmFibGUgdGhpcyBmb3IgTGludXgvV2luZG93cyBhZnRlciB2ZXJpZnlpbmcg
bm8gd2FybmluZ3MKKyAgICAgICAgJ2Nocm9taXVtX2NvZGUnOiAxLAogICAgICAgfV0sCiAgICAg
ICBbJ09TPT0id2luIicsIHsKICAgICAgICAgJ3dlYmNvcmVfaW5jbHVkZV9kaXJzJzogWwpJbmRl
eDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0LmNwcAkocmV2aXNpb24gNTAwMjcpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyMzksMTMgKzIyMzks
MTMgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eVJlbmRlcgogICAgIAogdHlw
ZWRlZiBIYXNoTWFwPFN0cmluZywgQWNjZXNzaWJpbGl0eVJvbGUsIENhc2VGb2xkaW5nSGFzaD4g
QVJJQVJvbGVNYXA7CiAKK3N0cnVjdCBSb2xlRW50cnkgeworICAgIFN0cmluZyBhcmlhUm9sZTsK
KyAgICBBY2Nlc3NpYmlsaXR5Um9sZSB3ZWJjb3JlUm9sZTsKK307CisKIHN0YXRpYyBjb25zdCBB
UklBUm9sZU1hcCYgY3JlYXRlQVJJQVJvbGVNYXAoKQogewotICAgIHN0cnVjdCBSb2xlRW50cnkg
ewotICAgICAgICBTdHJpbmcgYXJpYVJvbGU7Ci0gICAgICAgIEFjY2Vzc2liaWxpdHlSb2xlIHdl
YmNvcmVSb2xlOwotICAgIH07Ci0KICAgICBjb25zdCBSb2xlRW50cnkgcm9sZXNbXSA9IHsKICAg
ICAgICAgeyAiYXBwbGljYXRpb24iLCBMYW5kbWFya0FwcGxpY2F0aW9uUm9sZSB9LAogICAgICAg
ICB7ICJhcnRpY2xlIiwgRG9jdW1lbnRBcnRpY2xlUm9sZSB9LApJbmRleDogV2ViQ29yZS9iaW5k
aW5ncy92OC9TY3JpcHRDYWxsU3RhY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdz
L3Y4L1NjcmlwdENhbGxTdGFjay5oCShyZXZpc2lvbiA1MDAyNykKKysrIFdlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0Q2FsbFN0YWNrLmgJKHdvcmtpbmcgY29weSkKQEAgLTU1LDggKzU1LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBTY3JpcHRTdGF0ZSogc3RhdGUoKSBjb25zdCB7
IHJldHVybiBtX3NjcmlwdFN0YXRlLmdldCgpOyB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBP
d25QdHI8U2NyaXB0U3RhdGU+IG1fc2NyaXB0U3RhdGU7CiAgICAgICAgIFNjcmlwdENhbGxGcmFt
ZSBtX2xhc3RDYWxsZXI7CisgICAgICAgIE93blB0cjxTY3JpcHRTdGF0ZT4gbV9zY3JpcHRTdGF0
ZTsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4Q29sbGVjdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvdjgv
VjhDb2xsZWN0aW9uLmgJKHJldmlzaW9uIDUwMDI3KQorKysgV2ViQ29yZS9iaW5kaW5ncy92OC9W
OENvbGxlY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgLy8gRklYTUU6IFRoZXNlIGZ1bmN0aW9ucyBzaG91bGQgYmUgbmFtZWQg
dXNpbmcgdG8qIHNpbmNlIHRoZXkgcmV0dXJuIHRoZSBpdGVtIChnZXQqIGlzIHVzZWQgZm9yIG1l
dGhvZCB0aGF0IHRha2UgYSByZWYgcGFyYW0pLgogICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQ2NjQuCiAKLSAgICBzdGF0aWMgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IGdldFY4T2JqZWN0KHZvaWQqIGltcGxlbWVudGF0aW9uLCB2ODo6TG9jYWw8djg6
OlZhbHVlPiBpbXBsZW1lbnRhdGlvblR5cGUpCisgICAgaW5saW5lIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBnZXRWOE9iamVjdCh2b2lkKiBpbXBsZW1lbnRhdGlvbiwgdjg6OkxvY2FsPHY4OjpWYWx1
ZT4gaW1wbGVtZW50YXRpb25UeXBlKQogICAgIHsKICAgICAgICAgaWYgKCFpbXBsZW1lbnRhdGlv
bikKICAgICAgICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKSW5kZXg6IFdl
YkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHAJKHJldmlzaW9uIDUwMDI3KQorKysgV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjY3LDcg
KzEyNjcsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhET01XcmFwcGVyOjpjb252CiAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgIHR5cGUgPSBWOENsYXNzSW5kZXg6OkRPQ1VNRU5UOwogICAg
IH0gZWxzZSB7Ci0gICAgICAgIEFTU0VSVChub2RlVHlwZSA8IHNpemVvZihtYXBwaW5nKS9zaXpl
b2YobWFwcGluZ1swXSkpOworICAgICAgICBBU1NFUlQobm9kZVR5cGUgPCBzdGF0aWNfY2FzdDxp
bnQ+KHNpemVvZihtYXBwaW5nKS9zaXplb2YobWFwcGluZ1swXSkpKTsKICAgICAgICAgdHlwZSA9
IG1hcHBpbmdbbm9kZVR5cGVdOwogICAgICAgICBBU1NFUlQodHlwZSAhPSBWOENsYXNzSW5kZXg6
OklOVkFMSURfQ0xBU1NfSU5ERVgpOwogICAgIH0KSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvdjgv
VjhHQ0NvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhH
Q0NvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA1MDAyNykKKysrIFdlYkNvcmUvYmluZGluZ3Mvdjgv
VjhHQ0NvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjcsNyArMzI3LDYgQEAgcHVi
bGljOgogICAgICAgICAgICAgVmVjdG9yPHY4OjpQZXJzaXN0ZW50PHY4OjpWYWx1ZT4gPiBncm91
cDsKICAgICAgICAgICAgIGdyb3VwLnJlc2VydmVDYXBhY2l0eShuZXh0S2V5SW5kZXggLSBpKTsK
ICAgICAgICAgICAgIGZvciAoOyBpIDwgbmV4dEtleUluZGV4OyArK2kpIHsKLSAgICAgICAgICAg
ICAgICBOb2RlKiBub2RlID0gbV9ncm91cGVyW2ldLm5vZGUoKTsKICAgICAgICAgICAgICAgICB2
ODo6UGVyc2lzdGVudDx2ODo6VmFsdWU+IHdyYXBwZXIgPSBtX2dyb3VwZXJbaV0ud3JhcHBlcigp
OwogICAgICAgICAgICAgICAgIGlmICghd3JhcHBlci5Jc0VtcHR5KCkpCiAgICAgICAgICAgICAg
ICAgICAgIGdyb3VwLmFwcGVuZCh3cmFwcGVyKTsKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZU1hcHBpbmdzLmgJKHJldmlzaW9uIDUwMDI3KQorKysgV2ViQ29yZS9jc3MvQ1NTUHJp
bWl0aXZlVmFsdWVNYXBwaW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDAsMTEgKzIwMCwxMSBA
QCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTCiAgICAgICAgIGNhc2Ug
TGlzdGJveFBhcnQ6CiAgICAgICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVMaXN0Ym94
OwogICAgICAgICAgICAgYnJlYWs7Ci0jaWYgRU5BQkxFKERBVEFMSVNUKQogICAgICAgICBjYXNl
IExpc3RCdXR0b25QYXJ0OgorI2lmIEVOQUJMRShEQVRBTElTVCkKICAgICAgICAgICAgIG1fdmFs
dWUuaWRlbnQgPSBDU1NWYWx1ZUxpc3RCdXR0b247Ci0gICAgICAgICAgICBicmVhazsKICNlbmRp
ZgorICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTGlzdEl0ZW1QYXJ0OgogICAgICAg
ICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlTGlzdGl0ZW07CiAgICAgICAgICAgICBicmVh
azsKSW5kZXg6IFdlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAJKHJldmlzaW9uIDUwMDI3KQorKysg
V2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjkx
LDEwICsxMjkxLDEwIEBAIHN0YXRpYyBTdHJpbmcgdmFsdWVGb3JlQ29sb3IoRnJhbWUqIGZyYW0K
IAogLy8gTWFwIG9mIGZ1bmN0aW9ucwogCitzdHJ1Y3QgQ29tbWFuZEVudHJ5IHsgY29uc3QgY2hh
ciogbmFtZTsgRWRpdG9ySW50ZXJuYWxDb21tYW5kIGNvbW1hbmQ7IH07CisKIHN0YXRpYyBjb25z
dCBDb21tYW5kTWFwJiBjcmVhdGVDb21tYW5kTWFwKCkKIHsKLSAgICBzdHJ1Y3QgQ29tbWFuZEVu
dHJ5IHsgY29uc3QgY2hhciogbmFtZTsgRWRpdG9ySW50ZXJuYWxDb21tYW5kIGNvbW1hbmQ7IH07
Ci0gICAgCiAgICAgc3RhdGljIGNvbnN0IENvbW1hbmRFbnRyeSBjb21tYW5kc1tdID0gewogICAg
ICAgICB7ICJBbGlnbkNlbnRlciIsIHsgZXhlY3V0ZUp1c3RpZnlDZW50ZXIsIHN1cHBvcnRlZEZy
b21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5SaWNobHlFZGl0YWJsZVRleHQsIHN0YXRlTm9u
ZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRp
c2FibGVkIH0gfSwKICAgICAgICAgeyAiQWxpZ25KdXN0aWZpZWQiLCB7IGV4ZWN1dGVKdXN0aWZ5
RnVsbCwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJblJpY2hseUVkaXRh
YmxlVGV4dCwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxs
b3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmNwcAkocmV2aXNpb24g
NTAwMjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0
U2tpYS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNSw4ICsxMTUsOCBAQCBQbGF0Zm9ybUNvbnRl
eHRTa2lhOjpTdGF0ZTo6U3RhdGUoKQogICAgICwgbV9maWxsU2hhZGVyKDApCiAgICAgLCBtX3N0
cm9rZVN0eWxlKFdlYkNvcmU6OlNvbGlkU3Ryb2tlKQogICAgICwgbV9zdHJva2VDb2xvcihXZWJD
b3JlOjpDb2xvcjo6YmxhY2spCi0gICAgLCBtX3N0cm9rZVRoaWNrbmVzcygwKQogICAgICwgbV9z
dHJva2VTaGFkZXIoMCkKKyAgICAsIG1fc3Ryb2tlVGhpY2tuZXNzKDApCiAgICAgLCBtX2Rhc2hS
YXRpbygzKQogICAgICwgbV9taXRlckxpbWl0KDQpCiAgICAgLCBtX2xpbmVDYXAoU2tQYWludDo6
a0RlZmF1bHRfQ2FwKQpAQCAtMTM1LDggKzEzNSw4IEBAIFBsYXRmb3JtQ29udGV4dFNraWE6OlN0
YXRlOjpTdGF0ZShjb25zdCAKICAgICAsIG1fZmlsbFNoYWRlcihvdGhlci5tX2ZpbGxTaGFkZXIp
CiAgICAgLCBtX3N0cm9rZVN0eWxlKG90aGVyLm1fc3Ryb2tlU3R5bGUpCiAgICAgLCBtX3N0cm9r
ZUNvbG9yKG90aGVyLm1fc3Ryb2tlQ29sb3IpCi0gICAgLCBtX3N0cm9rZVRoaWNrbmVzcyhvdGhl
ci5tX3N0cm9rZVRoaWNrbmVzcykKICAgICAsIG1fc3Ryb2tlU2hhZGVyKG90aGVyLm1fc3Ryb2tl
U2hhZGVyKQorICAgICwgbV9zdHJva2VUaGlja25lc3Mob3RoZXIubV9zdHJva2VUaGlja25lc3Mp
CiAgICAgLCBtX2Rhc2hSYXRpbyhvdGhlci5tX2Rhc2hSYXRpbykKICAgICAsIG1fbWl0ZXJMaW1p
dChvdGhlci5tX21pdGVyTGltaXQpCiAgICAgLCBtX2xpbmVDYXAob3RoZXIubV9saW5lQ2FwKQpJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWFDb250cm9sc0Nocm9taXVtLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21p
dW0uY3BwCShyZXZpc2lvbiA1MDAyNykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlh
Q29udHJvbHNDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0MCw2ICsyNDAsOCBAQCBi
b29sIFJlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bTo6c2hvdWxkCiAgICAgY2FzZSBNZWRpYUN1
cnJlbnRUaW1lUGFydDoKICAgICBjYXNlIE1lZGlhVGltZVJlbWFpbmluZ1BhcnQ6CiAgICAgICAg
IHJldHVybiB0cnVlOworICAgIGRlZmF1bHQ6CisgICAgICAgIDsKICAgICB9CiAgICAgcmV0dXJu
IGZhbHNlOwogfQpAQCAtMjcwLDYgKzI3Miw5IEBAIGJvb2wgUmVuZGVyTWVkaWFDb250cm9sc0No
cm9taXVtOjpwYWludE0KICAgICBjYXNlIE1lZGlhQ3VycmVudFRpbWVEaXNwbGF5OgogICAgIGNh
c2UgTWVkaWFUaW1lUmVtYWluaW5nRGlzcGxheToKICAgICBjYXNlIE1lZGlhQ29udHJvbHNQYW5l
bDoKKyAgICBjYXNlIE1lZGlhUmV3aW5kQnV0dG9uOgorICAgIGNhc2UgTWVkaWFSZXR1cm5Ub1Jl
YWx0aW1lQnV0dG9uOgorICAgIGNhc2UgTWVkaWFTdGF0dXNEaXNwbGF5OgogICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpJbmRleDogV2ViQ29yZS94
bWwvWFBhdGhGdW5jdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUveG1sL1hQYXRoRnVu
Y3Rpb25zLmNwcAkocmV2aXNpb24gNTAwMjcpCisrKyBXZWJDb3JlL3htbC9YUGF0aEZ1bmN0aW9u
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2NywxMiArNjY3LDEzIEBAIFZhbHVlIEZ1blJvdW5k
OjpldmFsdWF0ZSgpIGNvbnN0CiAgICAgcmV0dXJuIHJvdW5kKGFyZygwKS0+ZXZhbHVhdGUoKS50
b051bWJlcigpKTsKIH0KIAorc3RydWN0IEZ1bmN0aW9uTWFwcGluZyB7CisgICAgY29uc3QgY2hh
ciogbmFtZTsKKyAgICBGdW5jdGlvblJlYyBmdW5jdGlvbjsKK307CisKIHN0YXRpYyB2b2lkIGNy
ZWF0ZUZ1bmN0aW9uTWFwKCkKIHsKLSAgICBzdHJ1Y3QgRnVuY3Rpb25NYXBwaW5nIHsKLSAgICAg
ICAgY29uc3QgY2hhciAqbmFtZTsKLSAgICAgICAgRnVuY3Rpb25SZWMgZnVuY3Rpb247Ci0gICAg
fTsKICAgICBzdGF0aWMgY29uc3QgRnVuY3Rpb25NYXBwaW5nIGZ1bmN0aW9uc1tdID0gewogICAg
ICAgICB7ICJib29sZWFuIiwgeyAmY3JlYXRlRnVuQm9vbGVhbiwgMSB9IH0sCiAgICAgICAgIHsg
ImNlaWxpbmciLCB7ICZjcmVhdGVGdW5DZWlsaW5nLCAxIH0gfSwK
</data>

          </attachment>
      

    </bug>

</bugzilla>