<?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>116107</bug_id>
          
          <creation_ts>2013-05-14 08:50:46 -0700</creation_ts>
          <short_desc>REGRESSION: Basic flexbox layout with auto heights is broken.</short_desc>
          <delta_ts>2013-05-14 23:07:16 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>bdakin</cc>
    
    <cc>cbiesinger</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>mitz</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>888852</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-05-14 08:50:46 -0700</bug_when>
    <thetext>r147261 broke basic vertical flexbox layout, since flexing items no lay out with height of 0 when auto heights are specified. This is obviously wrong. They should be allowed to flex down to size 0, but when they are just getting an infinite amount of space to play with (which they should when computing an auto height), they should lay out at their preferred size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888853</commentid>
    <comment_count>1</comment_count>
      <attachid>201718</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-05-14 08:51:20 -0700</bug_when>
    <thetext>Created attachment 201718
Simple reduction that illustrates the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888854</commentid>
    <comment_count>2</comment_count>
      <attachid>201719</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-05-14 08:51:52 -0700</bug_when>
    <thetext>Created attachment 201719
Reduction</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888859</commentid>
    <comment_count>3</comment_count>
      <attachid>201720</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-05-14 08:57:20 -0700</bug_when>
    <thetext>Created attachment 201720
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888863</commentid>
    <comment_count>4</comment_count>
      <attachid>201722</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-05-14 09:02:59 -0700</bug_when>
    <thetext>Created attachment 201722
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888864</commentid>
    <comment_count>5</comment_count>
      <attachid>201723</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-05-14 09:05:02 -0700</bug_when>
    <thetext>Created attachment 201723
Patch (fixed the intrinsic auto snafus)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888867</commentid>
    <comment_count>6</comment_count>
      <attachid>201723</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-05-14 09:09:03 -0700</bug_when>
    <thetext>Comment on attachment 201723
Patch (fixed the intrinsic auto snafus)

Do you plan to add a test case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888874</commentid>
    <comment_count>7</comment_count>
      <attachid>201726</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-05-14 09:28:46 -0700</bug_when>
    <thetext>Created attachment 201726
Patch with layout test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888946</commentid>
    <comment_count>8</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-05-14 11:17:00 -0700</bug_when>
    <thetext>Cleared the review bit, since I misunderstood what flex-basis was. The current rendering is unfortunately correct according to the latest flexbox draft. I think the spec will end up changing though.

For now in WebKit only, I&apos;m going to make flex-basis default to auto so that it behaves like the old flexbox. We can figure out what to do later when flex-basis stops churning.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888964</commentid>
    <comment_count>9</comment_count>
    <who name="Christian Biesinger">cbiesinger</who>
    <bug_when>2013-05-14 12:02:11 -0700</bug_when>
    <thetext>*** Bug 115329 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888965</commentid>
    <comment_count>10</comment_count>
      <attachid>201738</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-05-14 12:04:19 -0700</bug_when>
    <thetext>Created attachment 201738
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888972</commentid>
    <comment_count>11</comment_count>
      <attachid>201741</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-05-14 12:26:58 -0700</bug_when>
    <thetext>Created attachment 201741
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888974</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-14 12:28:56 -0700</bug_when>
    <thetext>Attachment 201741 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/rendering/RenderFlexibleBox.cpp&apos;, u&apos;Source/WebCore/rendering/RenderFlexibleBox.h&apos;]&quot; exit_code: 1
Source/WebCore/rendering/RenderFlexibleBox.cpp:746:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888982</commentid>
    <comment_count>13</comment_count>
      <attachid>201744</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-05-14 12:43:24 -0700</bug_when>
    <thetext>Created attachment 201744
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>889015</commentid>
    <comment_count>14</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2013-05-14 13:36:46 -0700</bug_when>
    <thetext>Landed in r150087.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>889145</commentid>
    <comment_count>15</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-05-14 23:07:16 -0700</bug_when>
    <thetext>It seems like the test added by this patch has been failing on Mac:
e.g.
http://build.webkit.org/results/Apple%20MountainLion%20Release%20WK1%20(Tests)/r150087%20(9969)/results.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>201718</attachid>
            <date>2013-05-14 08:51:20 -0700</date>
            <delta_ts>2013-05-14 08:51:52 -0700</delta_ts>
            <desc>Simple reduction that illustrates the problem.</desc>
            <filename>badstuff.html</filename>
            <type>text/html</type>
            <size>186</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">PGRpdiBzdHlsZT0iZGlzcGxheTotd2Via2l0LWZsZXg7IC13ZWJraXQtZmxleC1kaXJlY3Rpb246
Y29sdW1uOyBib3JkZXI6MXB4IHNvbGlkIHB1cnBsZTsgaGVpZ2h0OjEwMHB4Ij4KPGRpdj5IZWFk
ZXI8L2Rpdj4KPGRpdiBzdHlsZT0iLXdlYmtpdC1mbGV4OjEiPkZsZXhpYmxlIGNvbnRlbnQ8YnI+
CjwvZGl2Pgo8L2Rpdj4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>201719</attachid>
            <date>2013-05-14 08:51:52 -0700</date>
            <delta_ts>2013-05-14 12:43:24 -0700</delta_ts>
            <desc>Reduction</desc>
            <filename>badstuff.html</filename>
            <type>text/html</type>
            <size>173</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">PGRpdiBzdHlsZT0iZGlzcGxheTotd2Via2l0LWZsZXg7IC13ZWJraXQtZmxleC1kaXJlY3Rpb246
Y29sdW1uOyBib3JkZXI6MXB4IHNvbGlkIHB1cnBsZTsiPgo8ZGl2PkhlYWRlcjwvZGl2Pgo8ZGl2
IHN0eWxlPSItd2Via2l0LWZsZXg6MSI+RmxleGlibGUgY29udGVudDxicj4KPC9kaXY+CjwvZGl2
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201720</attachid>
            <date>2013-05-14 08:57:20 -0700</date>
            <delta_ts>2013-05-14 09:02:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>3803</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MDA2OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDEzLTA1LTE0ICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTQ3MjYxKTog
TWFueSBvdmVybGFpZCBlbGVtZW50cyBvbiB1bml0ZWQuY29tJ3MgYWNjb3VudCBwYWdlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTYxMDcKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzEzNjkwNjEwPiAKKyAgICAgICAgCisgICAgICAgIFRoZSBjb2Rl
IHRoYXQgZWxpbWluYXRlZCBib3hlcyBvbmx5IGJlaW5nIGFsbG93ZWQgdG8gZmxleCBkb3duIHRv
IHRoZWlyCisgICAgICAgIG1pbmltdW0gcHJlZmVycmVkIHNpemUgZXhwb3NlZCBhIHZlcnkgYmFz
aWMgYnVnIGluIHRoZSBuZXcgZmxleGJveC4gVGhlCisgICAgICAgIGNvZGUgaXMgdXNpbmcgbG9n
aWNhbEhlaWdodCgpIHRvIG9idGFpbiBwcmVmZXJyZWQgc2l6ZXMgd2l0aG91dCBkb2luZworICAg
ICAgICBhIGxheW91dCBmaXJzdC4gVGhpcyBtZWFucyBpdCBnZXRzIHRoZSB3cm9uZyBzaXplIGFu
ZCBlbmRzIHVwIHRoaW5raW5nCisgICAgICAgIHRoZSBwcmVmZXJyZWQgc2l6ZXMgb2Ygb2JqZWN0
cyBpbiB0aGUgdmVydGljYWwgZGlyZWN0aW9uIGFyZSAwLgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlTWFpbkF4aXNFeHRlbnRGb3JDaGlsZCk6CisgICAg
ICAgIElmIHRoZSBwYXNzZWQgaW4gc2l6ZSBpcyBhdXRvLCB0aGVuIG1ha2Ugc3VyZSB0byBkbyBh
IGxheW91dCBpZiBuZWVkZWQKKyAgICAgICAgYmVmb3JlIHVzaW5nIHRoZSBsb2dpY2FsSGVpZ2h0
KCkgdmFsdWUsIHNvIHRoYXQgaXQgd2lsbCBiZSB1cCB0byBkYXRlLgorICAgICAgICAKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpwcmVmZXJyZWRNYWluQXhpc0NvbnRlbnRF
eHRlbnRGb3JDaGlsZCk6CisgICAgICAgIEZvciBub24tZmxleGluZyBib3hlcywgbWFrZSBzdXJl
IHRvIGRvIGEgbGF5b3V0IGlmIG5lZWRlZCBzbyB0aGF0IHRoZQorICAgICAgICBsb2dpY2FsSGVp
Z2h0KCkgaXMgdXAgdG8gZGF0ZS4gRm9yIGZsZXhpbmcgYm94ZXMsIGRvbid0IHBhc3MgaW4gdGhl
IGZsZXhCYXNpcywKKyAgICAgICAgYXMgdGhpcyBtYWRlIG5vIHNlbnNlIGFuZCBjYXVzZWQgdGhl
IHNpemUgY29tcHV0YXRpb24gY29kZSB0byBoYXZlIG5vIGlkZWEKKyAgICAgICAgd2hhdCB0aGUg
YWN0dWFsIHNwZWNpZmllZCBoZWlnaHQgd2FzLiBQYXNzIGluIHRoZSBjb3JyZWN0IG1haW4gYXhp
cyB2YWx1ZQorICAgICAgICBpbnN0ZWFkLgorCiAyMDEzLTA1LTE0ICBEYWtlciBGZXJuYW5kZXMg
UGluaGVpcm8gIDxkYWtlci5waW5oZWlyb0BvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFJlbW92
ZSBSZW5kZXJUaGVtZTo6c3VwcG9ydHNDYWxlbmRhclBpY2tlcgpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCShyZXZpc2lvbiAxNTAwMzIp
CisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MzcsOCArNTM3LDE1IEBAIExheW91dFVuaXQgUmVuZGVyRmxleGlibGVC
b3g6OmNvbXB1dGVNYWkKICAgICAvLyBGSVhNRTogVGhpcyBpcyB3cm9uZyBpZiB0aGUgaGVpZ2h0
IGlzIHNldCB0byBhbiBpbnRyaW5zaWMga2V5d29yZCB2YWx1ZS4gY29tcHV0ZUNvbnRlbnRMb2dp
Y2FsSGVpZ2h0IHdpbGwgcmV0dXJuIC0xLgogICAgIC8vIEluc3RlYWQsIHdlIG5lZWQgdG8gbGF5
b3V0IHRoZSBjaGlsZCBhbiBnZXQgdGhlIGFwcHJvcHJpYXRlIGhlaWdodCB2YWx1ZS4KICAgICAv
LyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzNjEwCi0gICAgaWYg
KGlzQ29sdW1uRmxvdygpKQorICAgIGlmIChpc0NvbHVtbkZsb3coKSkgeworICAgICAgICBpZiAo
aGFzT3J0aG9nb25hbEZsb3coY2hpbGQpICYmIHNpemUuaXNJbnRyaW5zaWNPckF1dG8oKSkgewor
ICAgICAgICAgICAgY2hpbGQtPmxheW91dElmTmVlZGVkKCk7CisgICAgICAgICAgICBpZiAoc2l6
ZS5pc0ludHJpbnNpY09yQXV0bygpKQorICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om1heDxM
YXlvdXRVbml0PigwLCBjaGlsZC0+bG9naWNhbEhlaWdodCgpIC0gY2hpbGQtPmJvcmRlckFuZFBh
ZGRpbmdMb2dpY2FsSGVpZ2h0KCkpOworICAgICAgICB9CiAgICAgICAgIHJldHVybiBjaGlsZC0+
Y29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0KHNpemUpOworICAgIH0KKwogICAgIC8vIEZJWE1F
OiBGaWd1cmUgb3V0IGhvdyB0aGlzIHNob3VsZCB3b3JrIGZvciByZWdpb25zIGFuZCBwYXNzIGlu
IHRoZSBhcHByb3ByaWF0ZSB2YWx1ZXMuCiAgICAgTGF5b3V0VW5pdCBvZmZzZXRGcm9tTG9naWNh
bFRvcE9mRmlyc3RQYWdlID0gMDsKICAgICBSZW5kZXJSZWdpb24qIHJlZ2lvbiA9IDA7CkBAIC03
MzgsMTEgKzc0NSwxMyBAQCBMYXlvdXRVbml0IFJlbmRlckZsZXhpYmxlQm94OjpwcmVmZXJyZWRN
CiB7CiAgICAgTGVuZ3RoIGZsZXhCYXNpcyA9IGZsZXhCYXNpc0ZvckNoaWxkKGNoaWxkKTsKICAg
ICBpZiAoZmxleEJhc2lzLmlzQXV0bygpKSB7CisgICAgICAgIGlmIChoYXNPcnRob2dvbmFsRmxv
dyhjaGlsZCkpCisgICAgICAgICAgICBjaGlsZC0+bGF5b3V0SWZOZWVkZWQoKTsKICAgICAgICAg
TGF5b3V0VW5pdCBtYWluQXhpc0V4dGVudCA9IGhhc09ydGhvZ29uYWxGbG93KGNoaWxkKSA/IGNo
aWxkLT5sb2dpY2FsSGVpZ2h0KCkgOiBjaGlsZC0+bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCk7
CiAgICAgICAgIEFTU0VSVChtYWluQXhpc0V4dGVudCAtIG1haW5BeGlzQm9yZGVyQW5kUGFkZGlu
Z0V4dGVudEZvckNoaWxkKGNoaWxkKSA+PSAwKTsKICAgICAgICAgcmV0dXJuIG1haW5BeGlzRXh0
ZW50IC0gbWFpbkF4aXNCb3JkZXJBbmRQYWRkaW5nRXh0ZW50Rm9yQ2hpbGQoY2hpbGQpOwogICAg
IH0KLSAgICByZXR1cm4gc3RkOjptYXgoTGF5b3V0VW5pdCgwKSwgY29tcHV0ZU1haW5BeGlzRXh0
ZW50Rm9yQ2hpbGQoY2hpbGQsIE1haW5PclByZWZlcnJlZFNpemUsIGZsZXhCYXNpcykpOworICAg
IHJldHVybiBzdGQ6Om1heChMYXlvdXRVbml0KDApLCBjb21wdXRlTWFpbkF4aXNFeHRlbnRGb3JD
aGlsZChjaGlsZCwgTWFpbk9yUHJlZmVycmVkU2l6ZSwgaXNIb3Jpem9udGFsRmxvdygpID8gY2hp
bGQtPnN0eWxlKCktPndpZHRoKCkgOiBjaGlsZC0+c3R5bGUoKS0+aGVpZ2h0KCkpKTsKIH0KIAog
dm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0RmxleEl0ZW1zKGJvb2wgcmVsYXlvdXRDaGls
ZHJlbiwgVmVjdG9yPExpbmVDb250ZXh0PiYgbGluZUNvbnRleHRzKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201722</attachid>
            <date>2013-05-14 09:02:59 -0700</date>
            <delta_ts>2013-05-14 09:05:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>4068</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MDA2OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDEzLTA1LTE0ICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTQ3MjYxKTog
TWFueSBvdmVybGFpZCBlbGVtZW50cyBvbiB1bml0ZWQuY29tJ3MgYWNjb3VudCBwYWdlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTYxMDcKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzEzNjkwNjEwPiAKKyAgICAgICAgCisgICAgICAgIFRoZSBjb2Rl
IHRoYXQgZWxpbWluYXRlZCBib3hlcyBvbmx5IGJlaW5nIGFsbG93ZWQgdG8gZmxleCBkb3duIHRv
IHRoZWlyCisgICAgICAgIG1pbmltdW0gcHJlZmVycmVkIHNpemUgZXhwb3NlZCBhIHZlcnkgYmFz
aWMgYnVnIGluIHRoZSBuZXcgZmxleGJveC4gVGhlCisgICAgICAgIGNvZGUgaXMgdXNpbmcgbG9n
aWNhbEhlaWdodCgpIHRvIG9idGFpbiBwcmVmZXJyZWQgc2l6ZXMgd2l0aG91dCBkb2luZworICAg
ICAgICBhIGxheW91dCBmaXJzdC4gVGhpcyBtZWFucyBpdCBnZXRzIHRoZSB3cm9uZyBzaXplIGFu
ZCBlbmRzIHVwIHRoaW5raW5nCisgICAgICAgIHRoZSBwcmVmZXJyZWQgc2l6ZXMgb2Ygb2JqZWN0
cyBpbiB0aGUgdmVydGljYWwgZGlyZWN0aW9uIGFyZSAwLgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlTWFpbkF4aXNFeHRlbnRGb3JDaGlsZCk6CisgICAg
ICAgIElmIHRoZSBwYXNzZWQgaW4gc2l6ZSBpcyBhdXRvLCB0aGVuIG1ha2Ugc3VyZSB0byBkbyBh
IGxheW91dCBpZiBuZWVkZWQKKyAgICAgICAgYmVmb3JlIHVzaW5nIHRoZSBsb2dpY2FsSGVpZ2h0
KCkgdmFsdWUsIHNvIHRoYXQgaXQgd2lsbCBiZSB1cCB0byBkYXRlLgorICAgICAgICAKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpwcmVmZXJyZWRNYWluQXhpc0NvbnRlbnRF
eHRlbnRGb3JDaGlsZCk6CisgICAgICAgIEZvciBub24tZmxleGluZyBib3hlcywgbWFrZSBzdXJl
IHRvIGRvIGEgbGF5b3V0IGlmIG5lZWRlZCBzbyB0aGF0IHRoZQorICAgICAgICBsb2dpY2FsSGVp
Z2h0KCkgaXMgdXAgdG8gZGF0ZS4gRm9yIGZsZXhpbmcgYm94ZXMsIGRvbid0IHBhc3MgaW4gdGhl
IGZsZXhCYXNpcywKKyAgICAgICAgYXMgdGhpcyBtYWRlIG5vIHNlbnNlIGFuZCBjYXVzZWQgdGhl
IHNpemUgY29tcHV0YXRpb24gY29kZSB0byBoYXZlIG5vIGlkZWEKKyAgICAgICAgd2hhdCB0aGUg
YWN0dWFsIHNwZWNpZmllZCBoZWlnaHQgd2FzLiBQYXNzIGluIHRoZSBjb3JyZWN0IG1haW4gYXhp
cyB2YWx1ZQorICAgICAgICBpbnN0ZWFkLgorCiAyMDEzLTA1LTE0ICBEYWtlciBGZXJuYW5kZXMg
UGluaGVpcm8gIDxkYWtlci5waW5oZWlyb0BvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFJlbW92
ZSBSZW5kZXJUaGVtZTo6c3VwcG9ydHNDYWxlbmRhclBpY2tlcgpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCShyZXZpc2lvbiAxNTAwMzIp
CisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MzUsMTAgKzUzNSwxNyBAQCBMYXlvdXRVbml0IFJlbmRlckZsZXhpYmxl
Qm94Ojpjb21wdXRlTWFpCiAgICAgLy8gRklYTUU6IFRoaXMgaXMgd3JvbmcgZm9yIG9ydGhvZ29u
YWwgZmxvd3MuIEl0IHNob3VsZCB1c2UgdGhlIGZsZXhib3gncyB3cml0aW5nLW1vZGUsIG5vdCB0
aGUgY2hpbGQncyBpbiBvcmRlcgogICAgIC8vIHRvIGZpZ3VyZSBvdXQgdGhlIGxvZ2ljYWwgaGVp
Z2h0L3dpZHRoLgogICAgIC8vIEZJWE1FOiBUaGlzIGlzIHdyb25nIGlmIHRoZSBoZWlnaHQgaXMg
c2V0IHRvIGFuIGludHJpbnNpYyBrZXl3b3JkIHZhbHVlLiBjb21wdXRlQ29udGVudExvZ2ljYWxI
ZWlnaHQgd2lsbCByZXR1cm4gLTEuCi0gICAgLy8gSW5zdGVhZCwgd2UgbmVlZCB0byBsYXlvdXQg
dGhlIGNoaWxkIGFuIGdldCB0aGUgYXBwcm9wcmlhdGUgaGVpZ2h0IHZhbHVlLgogICAgIC8vIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM2MTAKLSAgICBpZiAoaXND
b2x1bW5GbG93KCkpCisgICAgLy8gT25jZSBpbnRyaW5zaWMgaGVpZ2h0cyBhcmUgZW5hYmxlZCwg
dGhvdWdoLCB0aGlzIGNvZGUgd2lsbCB3b3JrLCBzaW5jZSB3ZSd2ZSBtYWRlIHRoZSBsYXlvdXQg
aGFwcGVuLgorICAgIGlmIChpc0NvbHVtbkZsb3coKSkgeworICAgICAgICBpZiAoaGFzT3J0aG9n
b25hbEZsb3coY2hpbGQpICYmIHNpemUuaXNBdXRvKCkpIHsKKyAgICAgICAgICAgIGNoaWxkLT5s
YXlvdXRJZk5lZWRlZCgpOworICAgICAgICAgICAgaWYgKHNpemUuaXNJbnRyaW5zaWNPckF1dG8o
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjptYXg8TGF5b3V0VW5pdD4oMCwgY2hpbGQt
PmxvZ2ljYWxIZWlnaHQoKSAtIGNoaWxkLT5ib3JkZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdodCgp
KTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gY2hpbGQtPmNvbXB1dGVDb250ZW50TG9naWNh
bEhlaWdodChzaXplKTsKKyAgICB9CisKICAgICAvLyBGSVhNRTogRmlndXJlIG91dCBob3cgdGhp
cyBzaG91bGQgd29yayBmb3IgcmVnaW9ucyBhbmQgcGFzcyBpbiB0aGUgYXBwcm9wcmlhdGUgdmFs
dWVzLgogICAgIExheW91dFVuaXQgb2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSA9IDA7
CiAgICAgUmVuZGVyUmVnaW9uKiByZWdpb24gPSAwOwpAQCAtNzM4LDExICs3NDUsMTMgQEAgTGF5
b3V0VW5pdCBSZW5kZXJGbGV4aWJsZUJveDo6cHJlZmVycmVkTQogewogICAgIExlbmd0aCBmbGV4
QmFzaXMgPSBmbGV4QmFzaXNGb3JDaGlsZChjaGlsZCk7CiAgICAgaWYgKGZsZXhCYXNpcy5pc0F1
dG8oKSkgeworICAgICAgICBpZiAoaGFzT3J0aG9nb25hbEZsb3coY2hpbGQpKQorICAgICAgICAg
ICAgY2hpbGQtPmxheW91dElmTmVlZGVkKCk7CiAgICAgICAgIExheW91dFVuaXQgbWFpbkF4aXNF
eHRlbnQgPSBoYXNPcnRob2dvbmFsRmxvdyhjaGlsZCkgPyBjaGlsZC0+bG9naWNhbEhlaWdodCgp
IDogY2hpbGQtPm1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpOwogICAgICAgICBBU1NFUlQobWFp
bkF4aXNFeHRlbnQgLSBtYWluQXhpc0JvcmRlckFuZFBhZGRpbmdFeHRlbnRGb3JDaGlsZChjaGls
ZCkgPj0gMCk7CiAgICAgICAgIHJldHVybiBtYWluQXhpc0V4dGVudCAtIG1haW5BeGlzQm9yZGVy
QW5kUGFkZGluZ0V4dGVudEZvckNoaWxkKGNoaWxkKTsKICAgICB9Ci0gICAgcmV0dXJuIHN0ZDo6
bWF4KExheW91dFVuaXQoMCksIGNvbXB1dGVNYWluQXhpc0V4dGVudEZvckNoaWxkKGNoaWxkLCBN
YWluT3JQcmVmZXJyZWRTaXplLCBmbGV4QmFzaXMpKTsKKyAgICByZXR1cm4gc3RkOjptYXgoTGF5
b3V0VW5pdCgwKSwgY29tcHV0ZU1haW5BeGlzRXh0ZW50Rm9yQ2hpbGQoY2hpbGQsIE1haW5PclBy
ZWZlcnJlZFNpemUsIGlzSG9yaXpvbnRhbEZsb3coKSA/IGNoaWxkLT5zdHlsZSgpLT53aWR0aCgp
IDogY2hpbGQtPnN0eWxlKCktPmhlaWdodCgpKSk7CiB9CiAKIHZvaWQgUmVuZGVyRmxleGlibGVC
b3g6OmxheW91dEZsZXhJdGVtcyhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIFZlY3RvcjxMaW5lQ29u
dGV4dD4mIGxpbmVDb250ZXh0cykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201723</attachid>
            <date>2013-05-14 09:05:02 -0700</date>
            <delta_ts>2013-05-14 09:28:46 -0700</delta_ts>
            <desc>Patch (fixed the intrinsic auto snafus)</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>4068</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MDA2OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDEzLTA1LTE0ICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTQ3MjYxKTog
TWFueSBvdmVybGFpZCBlbGVtZW50cyBvbiB1bml0ZWQuY29tJ3MgYWNjb3VudCBwYWdlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTYxMDcKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzEzNjkwNjEwPiAKKyAgICAgICAgCisgICAgICAgIFRoZSBjb2Rl
IHRoYXQgZWxpbWluYXRlZCBib3hlcyBvbmx5IGJlaW5nIGFsbG93ZWQgdG8gZmxleCBkb3duIHRv
IHRoZWlyCisgICAgICAgIG1pbmltdW0gcHJlZmVycmVkIHNpemUgZXhwb3NlZCBhIHZlcnkgYmFz
aWMgYnVnIGluIHRoZSBuZXcgZmxleGJveC4gVGhlCisgICAgICAgIGNvZGUgaXMgdXNpbmcgbG9n
aWNhbEhlaWdodCgpIHRvIG9idGFpbiBwcmVmZXJyZWQgc2l6ZXMgd2l0aG91dCBkb2luZworICAg
ICAgICBhIGxheW91dCBmaXJzdC4gVGhpcyBtZWFucyBpdCBnZXRzIHRoZSB3cm9uZyBzaXplIGFu
ZCBlbmRzIHVwIHRoaW5raW5nCisgICAgICAgIHRoZSBwcmVmZXJyZWQgc2l6ZXMgb2Ygb2JqZWN0
cyBpbiB0aGUgdmVydGljYWwgZGlyZWN0aW9uIGFyZSAwLgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlTWFpbkF4aXNFeHRlbnRGb3JDaGlsZCk6CisgICAg
ICAgIElmIHRoZSBwYXNzZWQgaW4gc2l6ZSBpcyBhdXRvLCB0aGVuIG1ha2Ugc3VyZSB0byBkbyBh
IGxheW91dCBpZiBuZWVkZWQKKyAgICAgICAgYmVmb3JlIHVzaW5nIHRoZSBsb2dpY2FsSGVpZ2h0
KCkgdmFsdWUsIHNvIHRoYXQgaXQgd2lsbCBiZSB1cCB0byBkYXRlLgorICAgICAgICAKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpwcmVmZXJyZWRNYWluQXhpc0NvbnRlbnRF
eHRlbnRGb3JDaGlsZCk6CisgICAgICAgIEZvciBub24tZmxleGluZyBib3hlcywgbWFrZSBzdXJl
IHRvIGRvIGEgbGF5b3V0IGlmIG5lZWRlZCBzbyB0aGF0IHRoZQorICAgICAgICBsb2dpY2FsSGVp
Z2h0KCkgaXMgdXAgdG8gZGF0ZS4gRm9yIGZsZXhpbmcgYm94ZXMsIGRvbid0IHBhc3MgaW4gdGhl
IGZsZXhCYXNpcywKKyAgICAgICAgYXMgdGhpcyBtYWRlIG5vIHNlbnNlIGFuZCBjYXVzZWQgdGhl
IHNpemUgY29tcHV0YXRpb24gY29kZSB0byBoYXZlIG5vIGlkZWEKKyAgICAgICAgd2hhdCB0aGUg
YWN0dWFsIHNwZWNpZmllZCBoZWlnaHQgd2FzLiBQYXNzIGluIHRoZSBjb3JyZWN0IG1haW4gYXhp
cyB2YWx1ZQorICAgICAgICBpbnN0ZWFkLgorCiAyMDEzLTA1LTE0ICBEYWtlciBGZXJuYW5kZXMg
UGluaGVpcm8gIDxkYWtlci5waW5oZWlyb0BvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFJlbW92
ZSBSZW5kZXJUaGVtZTo6c3VwcG9ydHNDYWxlbmRhclBpY2tlcgpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCShyZXZpc2lvbiAxNTAwMzIp
CisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MzUsMTAgKzUzNSwxNyBAQCBMYXlvdXRVbml0IFJlbmRlckZsZXhpYmxl
Qm94Ojpjb21wdXRlTWFpCiAgICAgLy8gRklYTUU6IFRoaXMgaXMgd3JvbmcgZm9yIG9ydGhvZ29u
YWwgZmxvd3MuIEl0IHNob3VsZCB1c2UgdGhlIGZsZXhib3gncyB3cml0aW5nLW1vZGUsIG5vdCB0
aGUgY2hpbGQncyBpbiBvcmRlcgogICAgIC8vIHRvIGZpZ3VyZSBvdXQgdGhlIGxvZ2ljYWwgaGVp
Z2h0L3dpZHRoLgogICAgIC8vIEZJWE1FOiBUaGlzIGlzIHdyb25nIGlmIHRoZSBoZWlnaHQgaXMg
c2V0IHRvIGFuIGludHJpbnNpYyBrZXl3b3JkIHZhbHVlLiBjb21wdXRlQ29udGVudExvZ2ljYWxI
ZWlnaHQgd2lsbCByZXR1cm4gLTEuCi0gICAgLy8gSW5zdGVhZCwgd2UgbmVlZCB0byBsYXlvdXQg
dGhlIGNoaWxkIGFuIGdldCB0aGUgYXBwcm9wcmlhdGUgaGVpZ2h0IHZhbHVlLgogICAgIC8vIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM2MTAKLSAgICBpZiAoaXND
b2x1bW5GbG93KCkpCisgICAgLy8gT25jZSBpbnRyaW5zaWMgaGVpZ2h0cyBhcmUgZW5hYmxlZCwg
dGhvdWdoLCB0aGlzIGNvZGUgd2lsbCB3b3JrLCBzaW5jZSB3ZSd2ZSBtYWRlIHRoZSBsYXlvdXQg
aGFwcGVuLgorICAgIGlmIChpc0NvbHVtbkZsb3coKSkgeworICAgICAgICBpZiAoaGFzT3J0aG9n
b25hbEZsb3coY2hpbGQpICYmIHNpemUuaXNJbnRyaW5zaWNPckF1dG8oKSkgeworICAgICAgICAg
ICAgY2hpbGQtPmxheW91dElmTmVlZGVkKCk7CisgICAgICAgICAgICBpZiAoc2l6ZS5pc0F1dG8o
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjptYXg8TGF5b3V0VW5pdD4oMCwgY2hpbGQt
PmxvZ2ljYWxIZWlnaHQoKSAtIGNoaWxkLT5ib3JkZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdodCgp
KTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gY2hpbGQtPmNvbXB1dGVDb250ZW50TG9naWNh
bEhlaWdodChzaXplKTsKKyAgICB9CisKICAgICAvLyBGSVhNRTogRmlndXJlIG91dCBob3cgdGhp
cyBzaG91bGQgd29yayBmb3IgcmVnaW9ucyBhbmQgcGFzcyBpbiB0aGUgYXBwcm9wcmlhdGUgdmFs
dWVzLgogICAgIExheW91dFVuaXQgb2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSA9IDA7
CiAgICAgUmVuZGVyUmVnaW9uKiByZWdpb24gPSAwOwpAQCAtNzM4LDExICs3NDUsMTMgQEAgTGF5
b3V0VW5pdCBSZW5kZXJGbGV4aWJsZUJveDo6cHJlZmVycmVkTQogewogICAgIExlbmd0aCBmbGV4
QmFzaXMgPSBmbGV4QmFzaXNGb3JDaGlsZChjaGlsZCk7CiAgICAgaWYgKGZsZXhCYXNpcy5pc0F1
dG8oKSkgeworICAgICAgICBpZiAoaGFzT3J0aG9nb25hbEZsb3coY2hpbGQpKQorICAgICAgICAg
ICAgY2hpbGQtPmxheW91dElmTmVlZGVkKCk7CiAgICAgICAgIExheW91dFVuaXQgbWFpbkF4aXNF
eHRlbnQgPSBoYXNPcnRob2dvbmFsRmxvdyhjaGlsZCkgPyBjaGlsZC0+bG9naWNhbEhlaWdodCgp
IDogY2hpbGQtPm1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpOwogICAgICAgICBBU1NFUlQobWFp
bkF4aXNFeHRlbnQgLSBtYWluQXhpc0JvcmRlckFuZFBhZGRpbmdFeHRlbnRGb3JDaGlsZChjaGls
ZCkgPj0gMCk7CiAgICAgICAgIHJldHVybiBtYWluQXhpc0V4dGVudCAtIG1haW5BeGlzQm9yZGVy
QW5kUGFkZGluZ0V4dGVudEZvckNoaWxkKGNoaWxkKTsKICAgICB9Ci0gICAgcmV0dXJuIHN0ZDo6
bWF4KExheW91dFVuaXQoMCksIGNvbXB1dGVNYWluQXhpc0V4dGVudEZvckNoaWxkKGNoaWxkLCBN
YWluT3JQcmVmZXJyZWRTaXplLCBmbGV4QmFzaXMpKTsKKyAgICByZXR1cm4gc3RkOjptYXgoTGF5
b3V0VW5pdCgwKSwgY29tcHV0ZU1haW5BeGlzRXh0ZW50Rm9yQ2hpbGQoY2hpbGQsIE1haW5PclBy
ZWZlcnJlZFNpemUsIGlzSG9yaXpvbnRhbEZsb3coKSA/IGNoaWxkLT5zdHlsZSgpLT53aWR0aCgp
IDogY2hpbGQtPnN0eWxlKCktPmhlaWdodCgpKSk7CiB9CiAKIHZvaWQgUmVuZGVyRmxleGlibGVC
b3g6OmxheW91dEZsZXhJdGVtcyhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIFZlY3RvcjxMaW5lQ29u
dGV4dD4mIGxpbmVDb250ZXh0cykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201726</attachid>
            <date>2013-05-14 09:28:46 -0700</date>
            <delta_ts>2013-05-14 12:04:19 -0700</delta_ts>
            <desc>Patch with layout test.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>8028</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MDA3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDEzLTA1LTE0ICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTQ3MjYxKTog
TWFueSBvdmVybGFpZCBlbGVtZW50cyBvbiB1bml0ZWQuY29tJ3MgYWNjb3VudCBwYWdlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTYxMDcKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzEzNjkwNjEwPiAKKyAgICAgICAgCisgICAgICAgIFRoZSBjb2Rl
IHRoYXQgZWxpbWluYXRlZCBib3hlcyBvbmx5IGJlaW5nIGFsbG93ZWQgdG8gZmxleCBkb3duIHRv
IHRoZWlyCisgICAgICAgIG1pbmltdW0gcHJlZmVycmVkIHNpemUgZXhwb3NlZCBhIHZlcnkgYmFz
aWMgYnVnIGluIHRoZSBuZXcgZmxleGJveC4gVGhlCisgICAgICAgIGNvZGUgaXMgdXNpbmcgbG9n
aWNhbEhlaWdodCgpIHRvIG9idGFpbiBwcmVmZXJyZWQgc2l6ZXMgd2l0aG91dCBkb2luZworICAg
ICAgICBhIGxheW91dCBmaXJzdC4gVGhpcyBtZWFucyBpdCBnZXRzIHRoZSB3cm9uZyBzaXplIGFu
ZCBlbmRzIHVwIHRoaW5raW5nCisgICAgICAgIHRoZSBwcmVmZXJyZWQgc2l6ZXMgb2Ygb2JqZWN0
cyBpbiB0aGUgdmVydGljYWwgZGlyZWN0aW9uIGFyZSAwLgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGZhc3QvZmxleGJveC9hdXRvLWhlaWdo
dC13aXRoLWZsZXguaHRtbC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJv
eC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZU1haW5B
eGlzRXh0ZW50Rm9yQ2hpbGQpOgorICAgICAgICBEbyBhIGxheW91dCBpZiBuZWVkZWQgaWYgbG9n
aWNhbEhlaWdodCgpIGlzIGdvaW5nIHRvIGJlIGFjY2Vzc2VkLiBNb3ZlCisgICAgICAgIHRoZSBj
b2RlIGZyb20gcHJlZmVycmVkTWFpbkF4aXNDb250ZW50RXh0ZW50Rm9yQ2hpbGQgdGhhdCBoYW5k
bGVkIHVzaW5nCisgICAgICAgIHRoZSBtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBpbnRvIHRo
aXMgZnVuY3Rpb24uCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpwcmVm
ZXJyZWRNYWluQXhpc0NvbnRlbnRFeHRlbnRGb3JDaGlsZCk6CisgICAgICAgIFJlZHVjZSB0aGlz
IGZ1bmN0aW9uIHRvIGJlaW5nIGEgc21hbGwgd3JhcHBlciBhcm91bmQgY29tcHV0ZU1haW5BeGlz
RXh0ZW50Rm9yQ2hpbGQKKyAgICAgICAgdGhhdCBqdXN0IGVuc3VyZXMgeW91IG1heCB3aXRoIDAu
CisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlTWFpbkF4aXNQ
cmVmZXJyZWRTaXplcyk6CisgICAgICAgIFJlbW92ZSB0aGUgcmVsYXlvdXQgb2YgdGhlIGNoaWxk
IGhlcmUsIHNpbmNlIGl0J3Mgbm93IGNvdmVyZWQgYnkgY29tcHV0ZU1haW5BeGlzRXh0ZW50Rm9y
Q2hpbGQuCisgICAgICAgIAorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5o
OgorICAgICAgICAoUmVuZGVyRmxleGlibGVCb3gpOgorICAgICAgICBFbGltaW5hdGUgZmxleEJh
c2lzRm9yQ2hpbGQsIGFzIHRoaXMgZnVuY3Rpb24gd2FzIHJlc3BvbnNpYmxlIGZvciB0aGUgY29u
ZnVzaW9uLgorCiAyMDEzLTA1LTE0ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW1vdmUgOjotd2Via2l0LWRpc3RyaWJ1dGVkKCkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAkocmV2aXNpb24gMTUw
MDMyKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDc2LDE0ICs0NzYsNiBAQCBib29sIFJlbmRlckZsZXhpYmxlQm94
Ojppc011bHRpbGluZSgpIGNvCiAgICAgcmV0dXJuIHN0eWxlKCktPmZsZXhXcmFwKCkgIT0gRmxl
eE5vV3JhcDsKIH0KIAotTGVuZ3RoIFJlbmRlckZsZXhpYmxlQm94OjpmbGV4QmFzaXNGb3JDaGls
ZChSZW5kZXJCb3gqIGNoaWxkKSBjb25zdAotewotICAgIExlbmd0aCBmbGV4TGVuZ3RoID0gY2hp
bGQtPnN0eWxlKCktPmZsZXhCYXNpcygpOwotICAgIGlmIChmbGV4TGVuZ3RoLmlzQXV0bygpKQot
ICAgICAgICBmbGV4TGVuZ3RoID0gaXNIb3Jpem9udGFsRmxvdygpID8gY2hpbGQtPnN0eWxlKCkt
PndpZHRoKCkgOiBjaGlsZC0+c3R5bGUoKS0+aGVpZ2h0KCk7Ci0gICAgcmV0dXJuIGZsZXhMZW5n
dGg7Ci19Ci0KIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OnNldENyb3NzQXhpc0V4dGVudChMYXlv
dXRVbml0IGV4dGVudCkKIHsKICAgICBpZiAoaXNIb3Jpem9udGFsRmxvdygpKQpAQCAtNTMyLDEz
ICs1MjQsMjcgQEAgTGF5b3V0VW5pdCBSZW5kZXJGbGV4aWJsZUJveDo6bWFpbkF4aXNDbwogCiBM
YXlvdXRVbml0IFJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlTWFpbkF4aXNFeHRlbnRGb3JDaGls
ZChSZW5kZXJCb3gqIGNoaWxkLCBTaXplVHlwZSBzaXplVHlwZSwgY29uc3QgTGVuZ3RoJiBzaXpl
KQogeworICAgIGJvb2wgY2hpbGRJc09ydGhvZ29uYWxGbG93ID0gaGFzT3J0aG9nb25hbEZsb3co
Y2hpbGQpOworCisgICAgLy8gSWYgd2UncmUgYXNraW5nIGZvciBwcmVmZXJyZWQgc2l6ZXMgYW5k
IHRoZSBjaGlsZCBoYXMgdGhlIHNhbWUgZmxvdyBhcyB1cywgd2UgY2FuIGp1c3QgdXNlIGl0cwor
ICAgIC8vIHByZWZlcnJlZCBtYXhpbXVtIGxvZ2ljYWwgd2lkdGguCisgICAgaWYgKHNpemVUeXBl
ID09IE1haW5PclByZWZlcnJlZFNpemUgJiYgc2l6ZS5pc0F1dG8oKSAmJiAhY2hpbGRJc09ydGhv
Z29uYWxGbG93KQorICAgICAgICByZXR1cm4gY2hpbGQtPm1heFByZWZlcnJlZExvZ2ljYWxXaWR0
aCgpIC0gY2hpbGQtPmJvcmRlckFuZFBhZGRpbmdMb2dpY2FsV2lkdGgoKTsKKwogICAgIC8vIEZJ
WE1FOiBUaGlzIGlzIHdyb25nIGZvciBvcnRob2dvbmFsIGZsb3dzLiBJdCBzaG91bGQgdXNlIHRo
ZSBmbGV4Ym94J3Mgd3JpdGluZy1tb2RlLCBub3QgdGhlIGNoaWxkJ3MgaW4gb3JkZXIKICAgICAv
LyB0byBmaWd1cmUgb3V0IHRoZSBsb2dpY2FsIGhlaWdodC93aWR0aC4KICAgICAvLyBGSVhNRTog
VGhpcyBpcyB3cm9uZyBpZiB0aGUgaGVpZ2h0IGlzIHNldCB0byBhbiBpbnRyaW5zaWMga2V5d29y
ZCB2YWx1ZS4gY29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0IHdpbGwgcmV0dXJuIC0xLgotICAg
IC8vIEluc3RlYWQsIHdlIG5lZWQgdG8gbGF5b3V0IHRoZSBjaGlsZCBhbiBnZXQgdGhlIGFwcHJv
cHJpYXRlIGhlaWdodCB2YWx1ZS4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTEzNjEwCi0gICAgaWYgKGlzQ29sdW1uRmxvdygpKQorICAgIC8vIE9uY2Ug
aW50cmluc2ljIGhlaWdodHMgYXJlIGVuYWJsZWQsIHRob3VnaCwgdGhpcyBjb2RlIHdpbGwgd29y
aywgc2luY2Ugd2UndmUgbWFkZSB0aGUgbGF5b3V0IGhhcHBlbi4KKyAgICBpZiAoaXNDb2x1bW5G
bG93KCkpIHsKKyAgICAgICAgaWYgKGNoaWxkSXNPcnRob2dvbmFsRmxvdyAmJiBzaXplLmlzSW50
cmluc2ljT3JBdXRvKCkpIHsKKyAgICAgICAgICAgIGNoaWxkLT5sYXlvdXRJZk5lZWRlZCgpOwor
ICAgICAgICAgICAgaWYgKHNpemUuaXNBdXRvKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGNo
aWxkLT5sb2dpY2FsSGVpZ2h0KCkgLSBjaGlsZC0+Ym9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxIZWln
aHQoKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gY2hpbGQtPmNvbXB1dGVDb250ZW50TG9n
aWNhbEhlaWdodChzaXplKTsKKyAgICB9CisKICAgICAvLyBGSVhNRTogRmlndXJlIG91dCBob3cg
dGhpcyBzaG91bGQgd29yayBmb3IgcmVnaW9ucyBhbmQgcGFzcyBpbiB0aGUgYXBwcm9wcmlhdGUg
dmFsdWVzLgogICAgIExheW91dFVuaXQgb2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSA9
IDA7CiAgICAgUmVuZGVyUmVnaW9uKiByZWdpb24gPSAwOwpAQCAtNzM2LDEzICs3NDIsNyBAQCBM
YXlvdXRVbml0IFJlbmRlckZsZXhpYmxlQm94OjptYWluQXhpc1NjCiAKIExheW91dFVuaXQgUmVu
ZGVyRmxleGlibGVCb3g6OnByZWZlcnJlZE1haW5BeGlzQ29udGVudEV4dGVudEZvckNoaWxkKFJl
bmRlckJveCogY2hpbGQpCiB7Ci0gICAgTGVuZ3RoIGZsZXhCYXNpcyA9IGZsZXhCYXNpc0ZvckNo
aWxkKGNoaWxkKTsKLSAgICBpZiAoZmxleEJhc2lzLmlzQXV0bygpKSB7Ci0gICAgICAgIExheW91
dFVuaXQgbWFpbkF4aXNFeHRlbnQgPSBoYXNPcnRob2dvbmFsRmxvdyhjaGlsZCkgPyBjaGlsZC0+
bG9naWNhbEhlaWdodCgpIDogY2hpbGQtPm1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpOwotICAg
ICAgICBBU1NFUlQobWFpbkF4aXNFeHRlbnQgLSBtYWluQXhpc0JvcmRlckFuZFBhZGRpbmdFeHRl
bnRGb3JDaGlsZChjaGlsZCkgPj0gMCk7Ci0gICAgICAgIHJldHVybiBtYWluQXhpc0V4dGVudCAt
IG1haW5BeGlzQm9yZGVyQW5kUGFkZGluZ0V4dGVudEZvckNoaWxkKGNoaWxkKTsKLSAgICB9Ci0g
ICAgcmV0dXJuIHN0ZDo6bWF4KExheW91dFVuaXQoMCksIGNvbXB1dGVNYWluQXhpc0V4dGVudEZv
ckNoaWxkKGNoaWxkLCBNYWluT3JQcmVmZXJyZWRTaXplLCBmbGV4QmFzaXMpKTsKKyAgICByZXR1
cm4gc3RkOjptYXgoTGF5b3V0VW5pdCgwKSwgY29tcHV0ZU1haW5BeGlzRXh0ZW50Rm9yQ2hpbGQo
Y2hpbGQsIE1haW5PclByZWZlcnJlZFNpemUsIGlzSG9yaXpvbnRhbEZsb3coKSA/IGNoaWxkLT5z
dHlsZSgpLT53aWR0aCgpIDogY2hpbGQtPnN0eWxlKCktPmhlaWdodCgpKSk7CiB9CiAKIHZvaWQg
UmVuZGVyRmxleGlibGVCb3g6OmxheW91dEZsZXhJdGVtcyhib29sIHJlbGF5b3V0Q2hpbGRyZW4s
IFZlY3RvcjxMaW5lQ29udGV4dD4mIGxpbmVDb250ZXh0cykKQEAgLTkwNiwxMiArOTA2LDYgQEAg
dm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZU1haW5BeGlzUAogCiAgICAgICAgIGNoaWxk
LT5jbGVhck92ZXJyaWRlU2l6ZSgpOwogCi0gICAgICAgIC8vIE9ubHkgbmVlZCB0byBsYXlvdXQg
aGVyZSBpZiB3ZSB3aWxsIG5lZWQgdG8gZ2V0IHRoZSBsb2dpY2FsSGVpZ2h0IG9mIHRoZSBjaGls
ZCBpbiBjb21wdXRlTmV4dEZsZXhMaW5lLgotICAgICAgICBpZiAoaGFzT3J0aG9nb25hbEZsb3co
Y2hpbGQpICYmIGZsZXhCYXNpc0ZvckNoaWxkKGNoaWxkKS5pc0F1dG8oKSkgewotICAgICAgICAg
ICAgY2hpbGQtPnNldENoaWxkTmVlZHNMYXlvdXQodHJ1ZSwgTWFya09ubHlUaGlzKTsKLSAgICAg
ICAgICAgIGNoaWxkLT5sYXlvdXQoKTsKLSAgICAgICAgfQotCiAgICAgICAgIC8vIEJlZm9yZSBy
dW5uaW5nIHRoZSBmbGV4IGFsZ29yaXRobSwgJ2F1dG8nIGhhcyBhIG1hcmdpbiBvZiAwLgogICAg
ICAgICAvLyBBbHNvLCBpZiB3ZSdyZSBub3QgYXV0byBzaXppbmcsIHdlIGRvbid0IGRvIGEgbGF5
b3V0IHRoYXQgY29tcHV0ZXMgdGhlIHN0YXJ0L2VuZCBtYXJnaW5zLgogICAgICAgICBpZiAoaXNI
b3Jpem9udGFsRmxvdygpKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RmxleGlibGVCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmxleGlibGVCb3guaAkocmV2aXNpb24gMTUwMDMyKQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNyw3ICsxMDcs
NiBAQCBwcml2YXRlOgogICAgIGJvb2wgaXNDb2x1bW5GbG93KCkgY29uc3Q7CiAgICAgYm9vbCBp
c0xlZnRUb1JpZ2h0RmxvdygpIGNvbnN0OwogICAgIGJvb2wgaXNNdWx0aWxpbmUoKSBjb25zdDsK
LSAgICBMZW5ndGggZmxleEJhc2lzRm9yQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCkgY29uc3Q7CiAg
ICAgdm9pZCBzZXRDcm9zc0F4aXNFeHRlbnQoTGF5b3V0VW5pdCk7CiAgICAgTGF5b3V0VW5pdCBj
cm9zc0F4aXNFeHRlbnRGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkKSBjb25zdDsKICAgICBMYXlv
dXRVbml0IG1haW5BeGlzRXh0ZW50Rm9yQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCkgY29uc3Q7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNTAwNzEpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxMy0wNS0xNCAgRGF2aWQgSHlhdHQgIDxoeWF0
dEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjE0NzI2MSk6IE1hbnkgb3Zlcmxh
aWQgZWxlbWVudHMgb24gdW5pdGVkLmNvbSdzIGFjY291bnQgcGFnZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2MTA3CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8xMzY5MDYxMD4gCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBmYXN0L2ZsZXhib3gvYXV0by1oZWlnaHQtd2l0aC1mbGV4LWV4cGVjdGVk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZmxleGJveC9hdXRvLWhlaWdodC13aXRoLWZs
ZXguaHRtbDogQWRkZWQuCisKIDIwMTMtMDUtMTQgIEFuZHJlaSBCdWN1ciAgPGFidWN1ckBhZG9i
ZS5jb20+CiAKICAgICAgICAgTW9kaWZ5IGNoZWNrTGF5b3V0IHRvIHJlY2VpdmUgdGhlIGxvZyBj
b250YWluZXIgYXMgYW4gb3B0aW9uYWwgcGFyYW1ldGVyCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2ZsZXhib3gvYXV0by1oZWlnaHQtd2l0aC1mbGV4LWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9mbGV4Ym94L2F1dG8taGVpZ2h0LXdpdGgtZmxleC1leHBlY3Rl
ZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mbGV4Ym94L2F1dG8taGVp
Z2h0LXdpdGgtZmxleC1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUgQEAK
KzxkaXYgc3R5bGU9ImJvcmRlcjoxcHggc29saWQgcHVycGxlOyI+Cis8ZGl2PkhlYWRlcjwvZGl2
PgorPGRpdj5GbGV4aWJsZSBjb250ZW50PGJyPgorPC9kaXY+Cis8L2Rpdj4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvZmxleGJveC9hdXRvLWhlaWdodC13aXRoLWZsZXguaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2ZsZXhib3gvYXV0by1oZWlnaHQtd2l0aC1mbGV4Lmh0bWwJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2ZsZXhib3gvYXV0by1oZWlnaHQtd2l0
aC1mbGV4Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNSBAQAorPGRpdiBzdHlsZT0iZGlz
cGxheTotd2Via2l0LWZsZXg7IC13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOyBib3JkZXI6
MXB4IHNvbGlkIHB1cnBsZTsiPgorPGRpdj5IZWFkZXI8L2Rpdj4KKzxkaXYgc3R5bGU9Ii13ZWJr
aXQtZmxleDoxIj5GbGV4aWJsZSBjb250ZW50PGJyPgorPC9kaXY+Cis8L2Rpdj4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201738</attachid>
            <date>2013-05-14 12:04:19 -0700</date>
            <delta_ts>2013-05-14 12:26:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>10755</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNw
cAkocmV2aXNpb24gMTUwMDMyKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZs
ZXhpYmxlQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTI1LDYgKzUyNSw4IEBAIExheW91dFVu
aXQgUmVuZGVyRmxleGlibGVCb3g6Om1haW5BeGlzQ28KICAgICAgICAgLy8gRklYTUU6IFJlbW92
ZSB0aGlzIHN0ZDptYXggb25jZSB3ZSBlbmFibGUgc2F0dXJhdGVkIGxheW91dCBhcml0aG1ldGlj
LiBJdCdzIGp1c3QgaGVyZSB0byBoYW5kbGUgb3ZlcmZsb3cuCiAgICAgICAgIExheW91dFVuaXQg
Ym9yZGVyQm94TG9naWNhbEhlaWdodCA9IHN0ZDo6bWF4KGNvbnRlbnRMb2dpY2FsSGVpZ2h0LCBj
b250ZW50TG9naWNhbEhlaWdodCArIGJvcmRlclBhZGRpbmdBbmRTY3JvbGxiYXIpOwogICAgICAg
ICBjb21wdXRlTG9naWNhbEhlaWdodChib3JkZXJCb3hMb2dpY2FsSGVpZ2h0LCBsb2dpY2FsVG9w
KCksIGNvbXB1dGVkVmFsdWVzKTsKKyAgICAgICAgaWYgKGNvbXB1dGVkVmFsdWVzLm1fZXh0ZW50
ID09IExheW91dFVuaXQ6Om1heCgpKQorICAgICAgICAgICAgcmV0dXJuIGNvbXB1dGVkVmFsdWVz
Lm1fZXh0ZW50OwogICAgICAgICByZXR1cm4gc3RkOjptYXgoTGF5b3V0VW5pdCgwKSwgY29tcHV0
ZWRWYWx1ZXMubV9leHRlbnQgLSBib3JkZXJQYWRkaW5nQW5kU2Nyb2xsYmFyKTsKICAgICB9CiAg
ICAgcmV0dXJuIGNvbnRlbnRMb2dpY2FsV2lkdGgoKTsKQEAgLTczNCwxMCArNzM2LDEyIEBAIExh
eW91dFVuaXQgUmVuZGVyRmxleGlibGVCb3g6Om1haW5BeGlzU2MKICAgICByZXR1cm4gaXNIb3Jp
em9udGFsRmxvdygpID8gY2hpbGQtPnZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgoKSA6IGNoaWxkLT5o
b3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0KCk7CiB9CiAKLUxheW91dFVuaXQgUmVuZGVyRmxleGli
bGVCb3g6OnByZWZlcnJlZE1haW5BeGlzQ29udGVudEV4dGVudEZvckNoaWxkKFJlbmRlckJveCog
Y2hpbGQpCitMYXlvdXRVbml0IFJlbmRlckZsZXhpYmxlQm94OjpwcmVmZXJyZWRNYWluQXhpc0Nv
bnRlbnRFeHRlbnRGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkLCBib29sIGhhc0luZmluaXRlTGlu
ZUxlbmd0aCkKIHsKICAgICBMZW5ndGggZmxleEJhc2lzID0gZmxleEJhc2lzRm9yQ2hpbGQoY2hp
bGQpOwotICAgIGlmIChmbGV4QmFzaXMuaXNBdXRvKCkpIHsKKyAgICBpZiAoZmxleEJhc2lzLmlz
QXV0bygpIHx8IChmbGV4QmFzaXMuaXNGaXhlZCgpICYmIGZsZXhCYXNpcy52YWx1ZSgpID09IDAg
JiYgaGFzSW5maW5pdGVMaW5lTGVuZ3RoKSkgeworICAgICAgICBpZiAoaGFzT3J0aG9nb25hbEZs
b3coY2hpbGQpKQorICAgICAgICAgICAgY2hpbGQtPmxheW91dElmTmVlZGVkKCk7CiAgICAgICAg
IExheW91dFVuaXQgbWFpbkF4aXNFeHRlbnQgPSBoYXNPcnRob2dvbmFsRmxvdyhjaGlsZCkgPyBj
aGlsZC0+bG9naWNhbEhlaWdodCgpIDogY2hpbGQtPm1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgp
OwogICAgICAgICBBU1NFUlQobWFpbkF4aXNFeHRlbnQgLSBtYWluQXhpc0JvcmRlckFuZFBhZGRp
bmdFeHRlbnRGb3JDaGlsZChjaGlsZCkgPj0gMCk7CiAgICAgICAgIHJldHVybiBtYWluQXhpc0V4
dGVudCAtIG1haW5BeGlzQm9yZGVyQW5kUGFkZGluZ0V4dGVudEZvckNoaWxkKGNoaWxkKTsKQEAg
LTc1NSwxMiArNzU5LDEzIEBAIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmxheW91dEZsZXhJdGVt
cygKIAogICAgIG1fb3JkZXJJdGVyYXRvci5maXJzdCgpOwogICAgIExheW91dFVuaXQgY3Jvc3NB
eGlzT2Zmc2V0ID0gZmxvd0F3YXJlQm9yZGVyQmVmb3JlKCkgKyBmbG93QXdhcmVQYWRkaW5nQmVm
b3JlKCk7Ci0gICAgd2hpbGUgKGNvbXB1dGVOZXh0RmxleExpbmUob3JkZXJlZENoaWxkcmVuLCBw
cmVmZXJyZWRNYWluQXhpc0V4dGVudCwgdG90YWxGbGV4R3JvdywgdG90YWxXZWlnaHRlZEZsZXhT
aHJpbmssIG1pbk1heEFwcGxpZWRNYWluQXhpc0V4dGVudCkpIHsKKyAgICBib29sIGhhc0luZmlu
aXRlTGluZUxlbmd0aCA9IGZhbHNlOworICAgIHdoaWxlIChjb21wdXRlTmV4dEZsZXhMaW5lKG9y
ZGVyZWRDaGlsZHJlbiwgcHJlZmVycmVkTWFpbkF4aXNFeHRlbnQsIHRvdGFsRmxleEdyb3csIHRv
dGFsV2VpZ2h0ZWRGbGV4U2hyaW5rLCBtaW5NYXhBcHBsaWVkTWFpbkF4aXNFeHRlbnQsIGhhc0lu
ZmluaXRlTGluZUxlbmd0aCkpIHsKICAgICAgICAgTGF5b3V0VW5pdCBhdmFpbGFibGVGcmVlU3Bh
Y2UgPSBtYWluQXhpc0NvbnRlbnRFeHRlbnQocHJlZmVycmVkTWFpbkF4aXNFeHRlbnQpIC0gcHJl
ZmVycmVkTWFpbkF4aXNFeHRlbnQ7CiAgICAgICAgIEZsZXhTaWduIGZsZXhTaWduID0gKG1pbk1h
eEFwcGxpZWRNYWluQXhpc0V4dGVudCA8IHByZWZlcnJlZE1haW5BeGlzRXh0ZW50ICsgYXZhaWxh
YmxlRnJlZVNwYWNlKSA/IFBvc2l0aXZlRmxleGliaWxpdHkgOiBOZWdhdGl2ZUZsZXhpYmlsaXR5
OwogICAgICAgICBJbmZsZXhpYmxlRmxleEl0ZW1TaXplIGluZmxleGlibGVJdGVtczsKICAgICAg
ICAgVmVjdG9yPExheW91dFVuaXQ+IGNoaWxkU2l6ZXM7Ci0gICAgICAgIHdoaWxlICghcmVzb2x2
ZUZsZXhpYmxlTGVuZ3RocyhmbGV4U2lnbiwgb3JkZXJlZENoaWxkcmVuLCBhdmFpbGFibGVGcmVl
U3BhY2UsIHRvdGFsRmxleEdyb3csIHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rLCBpbmZsZXhpYmxl
SXRlbXMsIGNoaWxkU2l6ZXMpKSB7CisgICAgICAgIHdoaWxlICghcmVzb2x2ZUZsZXhpYmxlTGVu
Z3RocyhmbGV4U2lnbiwgb3JkZXJlZENoaWxkcmVuLCBhdmFpbGFibGVGcmVlU3BhY2UsIHRvdGFs
RmxleEdyb3csIHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rLCBpbmZsZXhpYmxlSXRlbXMsIGNoaWxk
U2l6ZXMsIGhhc0luZmluaXRlTGluZUxlbmd0aCkpIHsKICAgICAgICAgICAgIEFTU0VSVCh0b3Rh
bEZsZXhHcm93ID49IDAgJiYgdG90YWxXZWlnaHRlZEZsZXhTaHJpbmsgPj0gMCk7CiAgICAgICAg
ICAgICBBU1NFUlQoaW5mbGV4aWJsZUl0ZW1zLnNpemUoKSA+IDApOwogICAgICAgICB9CkBAIC05
MDYsMTIgKzkxMSw2IEBAIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVNYWluQXhpc1AK
IAogICAgICAgICBjaGlsZC0+Y2xlYXJPdmVycmlkZVNpemUoKTsKIAotICAgICAgICAvLyBPbmx5
IG5lZWQgdG8gbGF5b3V0IGhlcmUgaWYgd2Ugd2lsbCBuZWVkIHRvIGdldCB0aGUgbG9naWNhbEhl
aWdodCBvZiB0aGUgY2hpbGQgaW4gY29tcHV0ZU5leHRGbGV4TGluZS4KLSAgICAgICAgaWYgKGhh
c09ydGhvZ29uYWxGbG93KGNoaWxkKSAmJiBmbGV4QmFzaXNGb3JDaGlsZChjaGlsZCkuaXNBdXRv
KCkpIHsKLSAgICAgICAgICAgIGNoaWxkLT5zZXRDaGlsZE5lZWRzTGF5b3V0KHRydWUsIE1hcmtP
bmx5VGhpcyk7Ci0gICAgICAgICAgICBjaGlsZC0+bGF5b3V0KCk7Ci0gICAgICAgIH0KLQogICAg
ICAgICAvLyBCZWZvcmUgcnVubmluZyB0aGUgZmxleCBhbGdvcml0aG0sICdhdXRvJyBoYXMgYSBt
YXJnaW4gb2YgMC4KICAgICAgICAgLy8gQWxzbywgaWYgd2UncmUgbm90IGF1dG8gc2l6aW5nLCB3
ZSBkb24ndCBkbyBhIGxheW91dCB0aGF0IGNvbXB1dGVzIHRoZSBzdGFydC9lbmQgbWFyZ2lucy4K
ICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbEZsb3coKSkgewpAQCAtOTQwLDcgKzkzOSw3IEBAIExh
eW91dFVuaXQgUmVuZGVyRmxleGlibGVCb3g6OmFkanVzdENoaWwKICAgICByZXR1cm4gc3RkOjpt
YXgoY2hpbGRTaXplLCBtaW5FeHRlbnQpOwogfQogCi1ib29sIFJlbmRlckZsZXhpYmxlQm94Ojpj
b21wdXRlTmV4dEZsZXhMaW5lKE9yZGVyZWRGbGV4SXRlbUxpc3QmIG9yZGVyZWRDaGlsZHJlbiwg
TGF5b3V0VW5pdCYgcHJlZmVycmVkTWFpbkF4aXNFeHRlbnQsIGRvdWJsZSYgdG90YWxGbGV4R3Jv
dywgZG91YmxlJiB0b3RhbFdlaWdodGVkRmxleFNocmluaywgTGF5b3V0VW5pdCYgbWluTWF4QXBw
bGllZE1haW5BeGlzRXh0ZW50KQorYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZU5leHRG
bGV4TGluZShPcmRlcmVkRmxleEl0ZW1MaXN0JiBvcmRlcmVkQ2hpbGRyZW4sIExheW91dFVuaXQm
IHByZWZlcnJlZE1haW5BeGlzRXh0ZW50LCBkb3VibGUmIHRvdGFsRmxleEdyb3csIGRvdWJsZSYg
dG90YWxXZWlnaHRlZEZsZXhTaHJpbmssIExheW91dFVuaXQmIG1pbk1heEFwcGxpZWRNYWluQXhp
c0V4dGVudCwgYm9vbCYgaGFzSW5maW5pdGVMaW5lTGVuZ3RoKQogewogICAgIG9yZGVyZWRDaGls
ZHJlbi5jbGVhcigpOwogICAgIHByZWZlcnJlZE1haW5BeGlzRXh0ZW50ID0gMDsKQEAgLTk1MSw2
ICs5NTAsOCBAQCBib29sIFJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlTmV4dEZsZXhMCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAogICAgIExheW91dFVuaXQgbGluZUJyZWFrTGVuZ3RoID0gbWFp
bkF4aXNDb250ZW50RXh0ZW50KExheW91dFVuaXQ6Om1heCgpKTsKKyAgICBoYXNJbmZpbml0ZUxp
bmVMZW5ndGggPSBsaW5lQnJlYWtMZW5ndGggPT0gTGF5b3V0VW5pdDo6bWF4KCk7CisKICAgICBi
b29sIGxpbmVIYXNJbkZsb3dJdGVtID0gZmFsc2U7CiAKICAgICBmb3IgKFJlbmRlckJveCogY2hp
bGQgPSBtX29yZGVySXRlcmF0b3IuY3VycmVudENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IG1fb3Jk
ZXJJdGVyYXRvci5uZXh0KCkpIHsKQEAgLTk1OSw3ICs5NjAsNyBAQCBib29sIFJlbmRlckZsZXhp
YmxlQm94Ojpjb21wdXRlTmV4dEZsZXhMCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAg
fQogCi0gICAgICAgIExheW91dFVuaXQgY2hpbGRNYWluQXhpc0V4dGVudCA9IHByZWZlcnJlZE1h
aW5BeGlzQ29udGVudEV4dGVudEZvckNoaWxkKGNoaWxkKTsKKyAgICAgICAgTGF5b3V0VW5pdCBj
aGlsZE1haW5BeGlzRXh0ZW50ID0gcHJlZmVycmVkTWFpbkF4aXNDb250ZW50RXh0ZW50Rm9yQ2hp
bGQoY2hpbGQsIGhhc0luZmluaXRlTGluZUxlbmd0aCk7CiAgICAgICAgIExheW91dFVuaXQgY2hp
bGRNYWluQXhpc01hcmdpbkJveEV4dGVudCA9IG1haW5BeGlzQm9yZGVyQW5kUGFkZGluZ0V4dGVu
dEZvckNoaWxkKGNoaWxkKSArIGNoaWxkTWFpbkF4aXNFeHRlbnQ7CiAgICAgICAgIGNoaWxkTWFp
bkF4aXNNYXJnaW5Cb3hFeHRlbnQgKz0gaXNIb3Jpem9udGFsRmxvdygpID8gY2hpbGQtPm1hcmdp
bldpZHRoKCkgOiBjaGlsZC0+bWFyZ2luSGVpZ2h0KCk7CiAKQEAgLTk3NywxMiArOTc4LDEyIEBA
IGJvb2wgUmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVOZXh0RmxleEwKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6ZnJlZXplVmlvbGF0aW9ucyhjb25zdCBW
ZWN0b3I8VmlvbGF0aW9uPiYgdmlvbGF0aW9ucywgTGF5b3V0VW5pdCYgYXZhaWxhYmxlRnJlZVNw
YWNlLCBkb3VibGUmIHRvdGFsRmxleEdyb3csIGRvdWJsZSYgdG90YWxXZWlnaHRlZEZsZXhTaHJp
bmssIEluZmxleGlibGVGbGV4SXRlbVNpemUmIGluZmxleGlibGVJdGVtcykKK3ZvaWQgUmVuZGVy
RmxleGlibGVCb3g6OmZyZWV6ZVZpb2xhdGlvbnMoY29uc3QgVmVjdG9yPFZpb2xhdGlvbj4mIHZp
b2xhdGlvbnMsIExheW91dFVuaXQmIGF2YWlsYWJsZUZyZWVTcGFjZSwgZG91YmxlJiB0b3RhbEZs
ZXhHcm93LCBkb3VibGUmIHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rLCBJbmZsZXhpYmxlRmxleEl0
ZW1TaXplJiBpbmZsZXhpYmxlSXRlbXMsIGJvb2wgaGFzSW5maW5pdGVMaW5lTGVuZ3RoKQogewog
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdmlvbGF0aW9ucy5zaXplKCk7ICsraSkgewogICAg
ICAgICBSZW5kZXJCb3gqIGNoaWxkID0gdmlvbGF0aW9uc1tpXS5jaGlsZDsKICAgICAgICAgTGF5
b3V0VW5pdCBjaGlsZFNpemUgPSB2aW9sYXRpb25zW2ldLmNoaWxkU2l6ZTsKLSAgICAgICAgTGF5
b3V0VW5pdCBwcmVmZXJyZWRDaGlsZFNpemUgPSBwcmVmZXJyZWRNYWluQXhpc0NvbnRlbnRFeHRl
bnRGb3JDaGlsZChjaGlsZCk7CisgICAgICAgIExheW91dFVuaXQgcHJlZmVycmVkQ2hpbGRTaXpl
ID0gcHJlZmVycmVkTWFpbkF4aXNDb250ZW50RXh0ZW50Rm9yQ2hpbGQoY2hpbGQsIGhhc0luZmlu
aXRlTGluZUxlbmd0aCk7CiAgICAgICAgIGF2YWlsYWJsZUZyZWVTcGFjZSAtPSBjaGlsZFNpemUg
LSBwcmVmZXJyZWRDaGlsZFNpemU7CiAgICAgICAgIHRvdGFsRmxleEdyb3cgLT0gY2hpbGQtPnN0
eWxlKCktPmZsZXhHcm93KCk7CiAgICAgICAgIHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rIC09IGNo
aWxkLT5zdHlsZSgpLT5mbGV4U2hyaW5rKCkgKiBwcmVmZXJyZWRDaGlsZFNpemU7CkBAIC05OTEs
NyArOTkyLDcgQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6ZnJlZXplVmlvbGF0aW9ucwogfQog
CiAvLyBSZXR1cm5zIHRydWUgaWYgd2Ugc3VjY2Vzc2Z1bGx5IHJhbiB0aGUgYWxnb3JpdGhtIGFu
ZCBzaXplZCB0aGUgZmxleCBpdGVtcy4KLWJvb2wgUmVuZGVyRmxleGlibGVCb3g6OnJlc29sdmVG
bGV4aWJsZUxlbmd0aHMoRmxleFNpZ24gZmxleFNpZ24sIGNvbnN0IE9yZGVyZWRGbGV4SXRlbUxp
c3QmIGNoaWxkcmVuLCBMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVlU3BhY2UsIGRvdWJsZSYgdG90
YWxGbGV4R3JvdywgZG91YmxlJiB0b3RhbFdlaWdodGVkRmxleFNocmluaywgSW5mbGV4aWJsZUZs
ZXhJdGVtU2l6ZSYgaW5mbGV4aWJsZUl0ZW1zLCBWZWN0b3I8TGF5b3V0VW5pdD4mIGNoaWxkU2l6
ZXMpCitib29sIFJlbmRlckZsZXhpYmxlQm94OjpyZXNvbHZlRmxleGlibGVMZW5ndGhzKEZsZXhT
aWduIGZsZXhTaWduLCBjb25zdCBPcmRlcmVkRmxleEl0ZW1MaXN0JiBjaGlsZHJlbiwgTGF5b3V0
VW5pdCYgYXZhaWxhYmxlRnJlZVNwYWNlLCBkb3VibGUmIHRvdGFsRmxleEdyb3csIGRvdWJsZSYg
dG90YWxXZWlnaHRlZEZsZXhTaHJpbmssIEluZmxleGlibGVGbGV4SXRlbVNpemUmIGluZmxleGli
bGVJdGVtcywgVmVjdG9yPExheW91dFVuaXQ+JiBjaGlsZFNpemVzLCBib29sIGhhc0luZmluaXRl
TGluZUxlbmd0aCkKIHsKICAgICBjaGlsZFNpemVzLmNsZWFyKCk7CiAgICAgTGF5b3V0VW5pdCB0
b3RhbFZpb2xhdGlvbiA9IDA7CkBAIC0xMDA4LDcgKzEwMDksNyBAQCBib29sIFJlbmRlckZsZXhp
YmxlQm94OjpyZXNvbHZlRmxleGlibGVMCiAgICAgICAgIGlmIChpbmZsZXhpYmxlSXRlbXMuY29u
dGFpbnMoY2hpbGQpKQogICAgICAgICAgICAgY2hpbGRTaXplcy5hcHBlbmQoaW5mbGV4aWJsZUl0
ZW1zLmdldChjaGlsZCkpOwogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIExheW91dFVuaXQg
cHJlZmVycmVkQ2hpbGRTaXplID0gcHJlZmVycmVkTWFpbkF4aXNDb250ZW50RXh0ZW50Rm9yQ2hp
bGQoY2hpbGQpOworICAgICAgICAgICAgTGF5b3V0VW5pdCBwcmVmZXJyZWRDaGlsZFNpemUgPSBw
cmVmZXJyZWRNYWluQXhpc0NvbnRlbnRFeHRlbnRGb3JDaGlsZChjaGlsZCwgaGFzSW5maW5pdGVM
aW5lTGVuZ3RoKTsKICAgICAgICAgICAgIExheW91dFVuaXQgY2hpbGRTaXplID0gcHJlZmVycmVk
Q2hpbGRTaXplOwogICAgICAgICAgICAgZG91YmxlIGV4dHJhU3BhY2UgPSAwOwogICAgICAgICAg
ICAgaWYgKGF2YWlsYWJsZUZyZWVTcGFjZSA+IDAgJiYgdG90YWxGbGV4R3JvdyA+IDAgJiYgZmxl
eFNpZ24gPT0gUG9zaXRpdmVGbGV4aWJpbGl0eSAmJiBzdGQ6OmlzZmluaXRlKHRvdGFsRmxleEdy
b3cpKQpAQCAtMTAzMiw3ICsxMDMzLDcgQEAgYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6cmVzb2x2
ZUZsZXhpYmxlTAogICAgIH0KIAogICAgIGlmICh0b3RhbFZpb2xhdGlvbikKLSAgICAgICAgZnJl
ZXplVmlvbGF0aW9ucyh0b3RhbFZpb2xhdGlvbiA8IDAgPyBtYXhWaW9sYXRpb25zIDogbWluVmlv
bGF0aW9ucywgYXZhaWxhYmxlRnJlZVNwYWNlLCB0b3RhbEZsZXhHcm93LCB0b3RhbFdlaWdodGVk
RmxleFNocmluaywgaW5mbGV4aWJsZUl0ZW1zKTsKKyAgICAgICAgZnJlZXplVmlvbGF0aW9ucyh0
b3RhbFZpb2xhdGlvbiA8IDAgPyBtYXhWaW9sYXRpb25zIDogbWluVmlvbGF0aW9ucywgYXZhaWxh
YmxlRnJlZVNwYWNlLCB0b3RhbEZsZXhHcm93LCB0b3RhbFdlaWdodGVkRmxleFNocmluaywgaW5m
bGV4aWJsZUl0ZW1zLCBoYXNJbmZpbml0ZUxpbmVMZW5ndGgpOwogICAgIGVsc2UKICAgICAgICAg
YXZhaWxhYmxlRnJlZVNwYWNlIC09IHVzZWRGcmVlU3BhY2U7CiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oCShyZXZpc2lvbiAxNTAwMzIpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaAkod29ya2luZyBj
b3B5KQpAQCAtMTM4LDcgKzEzOCw3IEBAIHByaXZhdGU6CiAgICAgRUFsaWduSXRlbXMgYWxpZ25t
ZW50Rm9yQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCkgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBtYWlu
QXhpc0JvcmRlckFuZFBhZGRpbmdFeHRlbnRGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkKSBjb25z
dDsKICAgICBMYXlvdXRVbml0IG1haW5BeGlzU2Nyb2xsYmFyRXh0ZW50Rm9yQ2hpbGQoUmVuZGVy
Qm94KiBjaGlsZCkgY29uc3Q7Ci0gICAgTGF5b3V0VW5pdCBwcmVmZXJyZWRNYWluQXhpc0NvbnRl
bnRFeHRlbnRGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkKTsKKyAgICBMYXlvdXRVbml0IHByZWZl
cnJlZE1haW5BeGlzQ29udGVudEV4dGVudEZvckNoaWxkKFJlbmRlckJveCogY2hpbGQsIGJvb2wg
aGFzSW5maW5pdGVMaW5lTGVuZ3RoKTsKIAogICAgIHZvaWQgbGF5b3V0RmxleEl0ZW1zKGJvb2wg
cmVsYXlvdXRDaGlsZHJlbiwgVmVjdG9yPExpbmVDb250ZXh0PiYpOwogICAgIExheW91dFVuaXQg
YXV0b01hcmdpbk9mZnNldEluTWFpbkF4aXMoY29uc3QgT3JkZXJlZEZsZXhJdGVtTGlzdCYsIExh
eW91dFVuaXQmIGF2YWlsYWJsZUZyZWVTcGFjZSk7CkBAIC0xNTYsMTAgKzE1NiwxMCBAQCBwcml2
YXRlOgogICAgIExheW91dFVuaXQgY29tcHV0ZUNoaWxkTWFyZ2luVmFsdWUoTGVuZ3RoIG1hcmdp
biwgUmVuZGVyVmlldyopOwogICAgIHZvaWQgY29tcHV0ZU1haW5BeGlzUHJlZmVycmVkU2l6ZXMo
T3JkZXJIYXNoU2V0Jik7CiAgICAgTGF5b3V0VW5pdCBhZGp1c3RDaGlsZFNpemVGb3JNaW5BbmRN
YXgoUmVuZGVyQm94KiwgTGF5b3V0VW5pdCBjaGlsZFNpemUpOwotICAgIGJvb2wgY29tcHV0ZU5l
eHRGbGV4TGluZShPcmRlcmVkRmxleEl0ZW1MaXN0JiBvcmRlcmVkQ2hpbGRyZW4sIExheW91dFVu
aXQmIHByZWZlcnJlZE1haW5BeGlzRXh0ZW50LCBkb3VibGUmIHRvdGFsRmxleEdyb3csIGRvdWJs
ZSYgdG90YWxXZWlnaHRlZEZsZXhTaHJpbmssIExheW91dFVuaXQmIG1pbk1heEFwcGxpZWRNYWlu
QXhpc0V4dGVudCk7CisgICAgYm9vbCBjb21wdXRlTmV4dEZsZXhMaW5lKE9yZGVyZWRGbGV4SXRl
bUxpc3QmIG9yZGVyZWRDaGlsZHJlbiwgTGF5b3V0VW5pdCYgcHJlZmVycmVkTWFpbkF4aXNFeHRl
bnQsIGRvdWJsZSYgdG90YWxGbGV4R3JvdywgZG91YmxlJiB0b3RhbFdlaWdodGVkRmxleFNocmlu
aywgTGF5b3V0VW5pdCYgbWluTWF4QXBwbGllZE1haW5BeGlzRXh0ZW50LCBib29sJiBoYXNJbmZp
bml0ZUxpbmVMZW5ndGgpOwogCi0gICAgYm9vbCByZXNvbHZlRmxleGlibGVMZW5ndGhzKEZsZXhT
aWduLCBjb25zdCBPcmRlcmVkRmxleEl0ZW1MaXN0JiwgTGF5b3V0VW5pdCYgYXZhaWxhYmxlRnJl
ZVNwYWNlLCBkb3VibGUmIHRvdGFsRmxleEdyb3csIGRvdWJsZSYgdG90YWxXZWlnaHRlZEZsZXhT
aHJpbmssIEluZmxleGlibGVGbGV4SXRlbVNpemUmLCBWZWN0b3I8TGF5b3V0VW5pdD4mIGNoaWxk
U2l6ZXMpOwotICAgIHZvaWQgZnJlZXplVmlvbGF0aW9ucyhjb25zdCBWZWN0b3I8VmlvbGF0aW9u
PiYsIExheW91dFVuaXQmIGF2YWlsYWJsZUZyZWVTcGFjZSwgZG91YmxlJiB0b3RhbEZsZXhHcm93
LCBkb3VibGUmIHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rLCBJbmZsZXhpYmxlRmxleEl0ZW1TaXpl
Jik7CisgICAgYm9vbCByZXNvbHZlRmxleGlibGVMZW5ndGhzKEZsZXhTaWduLCBjb25zdCBPcmRl
cmVkRmxleEl0ZW1MaXN0JiwgTGF5b3V0VW5pdCYgYXZhaWxhYmxlRnJlZVNwYWNlLCBkb3VibGUm
IHRvdGFsRmxleEdyb3csIGRvdWJsZSYgdG90YWxXZWlnaHRlZEZsZXhTaHJpbmssIEluZmxleGli
bGVGbGV4SXRlbVNpemUmLCBWZWN0b3I8TGF5b3V0VW5pdD4mIGNoaWxkU2l6ZXMsIGJvb2wgaGFz
SW5maW5pdGVMaW5lTGVuZ3RoKTsKKyAgICB2b2lkIGZyZWV6ZVZpb2xhdGlvbnMoY29uc3QgVmVj
dG9yPFZpb2xhdGlvbj4mLCBMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVlU3BhY2UsIGRvdWJsZSYg
dG90YWxGbGV4R3JvdywgZG91YmxlJiB0b3RhbFdlaWdodGVkRmxleFNocmluaywgSW5mbGV4aWJs
ZUZsZXhJdGVtU2l6ZSYsIGJvb2wgaGFzSW5maW5pdGVMaW5lTGVuZ3RoKTsKIAogICAgIHZvaWQg
cmVzZXRBdXRvTWFyZ2luc0FuZExvZ2ljYWxUb3BJbkNyb3NzQXhpcyhSZW5kZXJCb3gqKTsKICAg
ICBib29sIG5lZWRUb1N0cmV0Y2hDaGlsZChSZW5kZXJCb3gqKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201741</attachid>
            <date>2013-05-14 12:26:58 -0700</date>
            <delta_ts>2013-05-14 12:43:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>11085</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNw
cAkocmV2aXNpb24gMTUwMDMyKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZs
ZXhpYmxlQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTI1LDYgKzUyNSw4IEBAIExheW91dFVu
aXQgUmVuZGVyRmxleGlibGVCb3g6Om1haW5BeGlzQ28KICAgICAgICAgLy8gRklYTUU6IFJlbW92
ZSB0aGlzIHN0ZDptYXggb25jZSB3ZSBlbmFibGUgc2F0dXJhdGVkIGxheW91dCBhcml0aG1ldGlj
LiBJdCdzIGp1c3QgaGVyZSB0byBoYW5kbGUgb3ZlcmZsb3cuCiAgICAgICAgIExheW91dFVuaXQg
Ym9yZGVyQm94TG9naWNhbEhlaWdodCA9IHN0ZDo6bWF4KGNvbnRlbnRMb2dpY2FsSGVpZ2h0LCBj
b250ZW50TG9naWNhbEhlaWdodCArIGJvcmRlclBhZGRpbmdBbmRTY3JvbGxiYXIpOwogICAgICAg
ICBjb21wdXRlTG9naWNhbEhlaWdodChib3JkZXJCb3hMb2dpY2FsSGVpZ2h0LCBsb2dpY2FsVG9w
KCksIGNvbXB1dGVkVmFsdWVzKTsKKyAgICAgICAgaWYgKGNvbXB1dGVkVmFsdWVzLm1fZXh0ZW50
ID09IExheW91dFVuaXQ6Om1heCgpKQorICAgICAgICAgICAgcmV0dXJuIGNvbXB1dGVkVmFsdWVz
Lm1fZXh0ZW50OwogICAgICAgICByZXR1cm4gc3RkOjptYXgoTGF5b3V0VW5pdCgwKSwgY29tcHV0
ZWRWYWx1ZXMubV9leHRlbnQgLSBib3JkZXJQYWRkaW5nQW5kU2Nyb2xsYmFyKTsKICAgICB9CiAg
ICAgcmV0dXJuIGNvbnRlbnRMb2dpY2FsV2lkdGgoKTsKQEAgLTczNCwxMCArNzM2LDE5IEBAIExh
eW91dFVuaXQgUmVuZGVyRmxleGlibGVCb3g6Om1haW5BeGlzU2MKICAgICByZXR1cm4gaXNIb3Jp
em9udGFsRmxvdygpID8gY2hpbGQtPnZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgoKSA6IGNoaWxkLT5o
b3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0KCk7CiB9CiAKLUxheW91dFVuaXQgUmVuZGVyRmxleGli
bGVCb3g6OnByZWZlcnJlZE1haW5BeGlzQ29udGVudEV4dGVudEZvckNoaWxkKFJlbmRlckJveCog
Y2hpbGQpCitMYXlvdXRVbml0IFJlbmRlckZsZXhpYmxlQm94OjpwcmVmZXJyZWRNYWluQXhpc0Nv
bnRlbnRFeHRlbnRGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkLCBib29sIGhhc0luZmluaXRlTGlu
ZUxlbmd0aCkKIHsKKyAgICBib29sIGhhc092ZXJyaWRlU2l6ZSA9IGNoaWxkLT5oYXNPdmVycmlk
ZVdpZHRoKCkgfHwgY2hpbGQtPmhhc092ZXJyaWRlSGVpZ2h0KCk7CisgICAgaWYgKGhhc092ZXJy
aWRlU2l6ZSkKKyAgICAgICAgY2hpbGQtPmNsZWFyT3ZlcnJpZGVTaXplKCk7CisKICAgICBMZW5n
dGggZmxleEJhc2lzID0gZmxleEJhc2lzRm9yQ2hpbGQoY2hpbGQpOwotICAgIGlmIChmbGV4QmFz
aXMuaXNBdXRvKCkpIHsKKyAgICBpZiAoZmxleEJhc2lzLmlzQXV0bygpIHx8IChmbGV4QmFzaXMu
aXNGaXhlZCgpICYmIGZsZXhCYXNpcy52YWx1ZSgpID09IDAgJiYgaGFzSW5maW5pdGVMaW5lTGVu
Z3RoKSkgeworICAgICAgICBpZiAoaGFzT3J0aG9nb25hbEZsb3coY2hpbGQpKSB7CisgICAgICAg
ICAgICBpZiAoaGFzT3ZlcnJpZGVTaXplKQorICAgICAgICAgICAgICAgIGNoaWxkLT5zZXRDaGls
ZE5lZWRzTGF5b3V0KHRydWUsIE1hcmtPbmx5VGhpcyk7CisgICAgICAgICAgICBjaGlsZC0+bGF5
b3V0SWZOZWVkZWQoKTsKKyAgICAgICAgfQogICAgICAgICBMYXlvdXRVbml0IG1haW5BeGlzRXh0
ZW50ID0gaGFzT3J0aG9nb25hbEZsb3coY2hpbGQpID8gY2hpbGQtPmxvZ2ljYWxIZWlnaHQoKSA6
IGNoaWxkLT5tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKTsKICAgICAgICAgQVNTRVJUKG1haW5B
eGlzRXh0ZW50IC0gbWFpbkF4aXNCb3JkZXJBbmRQYWRkaW5nRXh0ZW50Rm9yQ2hpbGQoY2hpbGQp
ID49IDApOwogICAgICAgICByZXR1cm4gbWFpbkF4aXNFeHRlbnQgLSBtYWluQXhpc0JvcmRlckFu
ZFBhZGRpbmdFeHRlbnRGb3JDaGlsZChjaGlsZCk7CkBAIC03NTUsMTIgKzc2NiwxMyBAQCB2b2lk
IFJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRGbGV4SXRlbXMoCiAKICAgICBtX29yZGVySXRlcmF0
b3IuZmlyc3QoKTsKICAgICBMYXlvdXRVbml0IGNyb3NzQXhpc09mZnNldCA9IGZsb3dBd2FyZUJv
cmRlckJlZm9yZSgpICsgZmxvd0F3YXJlUGFkZGluZ0JlZm9yZSgpOwotICAgIHdoaWxlIChjb21w
dXRlTmV4dEZsZXhMaW5lKG9yZGVyZWRDaGlsZHJlbiwgcHJlZmVycmVkTWFpbkF4aXNFeHRlbnQs
IHRvdGFsRmxleEdyb3csIHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rLCBtaW5NYXhBcHBsaWVkTWFp
bkF4aXNFeHRlbnQpKSB7CisgICAgYm9vbCBoYXNJbmZpbml0ZUxpbmVMZW5ndGggPSBmYWxzZTsK
KyAgICB3aGlsZSAoY29tcHV0ZU5leHRGbGV4TGluZShvcmRlcmVkQ2hpbGRyZW4sIHByZWZlcnJl
ZE1haW5BeGlzRXh0ZW50LCB0b3RhbEZsZXhHcm93LCB0b3RhbFdlaWdodGVkRmxleFNocmluaywg
bWluTWF4QXBwbGllZE1haW5BeGlzRXh0ZW50LCBoYXNJbmZpbml0ZUxpbmVMZW5ndGgpKSB7CiAg
ICAgICAgIExheW91dFVuaXQgYXZhaWxhYmxlRnJlZVNwYWNlID0gbWFpbkF4aXNDb250ZW50RXh0
ZW50KHByZWZlcnJlZE1haW5BeGlzRXh0ZW50KSAtIHByZWZlcnJlZE1haW5BeGlzRXh0ZW50Owog
ICAgICAgICBGbGV4U2lnbiBmbGV4U2lnbiA9IChtaW5NYXhBcHBsaWVkTWFpbkF4aXNFeHRlbnQg
PCBwcmVmZXJyZWRNYWluQXhpc0V4dGVudCArIGF2YWlsYWJsZUZyZWVTcGFjZSkgPyBQb3NpdGl2
ZUZsZXhpYmlsaXR5IDogTmVnYXRpdmVGbGV4aWJpbGl0eTsKICAgICAgICAgSW5mbGV4aWJsZUZs
ZXhJdGVtU2l6ZSBpbmZsZXhpYmxlSXRlbXM7CiAgICAgICAgIFZlY3RvcjxMYXlvdXRVbml0PiBj
aGlsZFNpemVzOwotICAgICAgICB3aGlsZSAoIXJlc29sdmVGbGV4aWJsZUxlbmd0aHMoZmxleFNp
Z24sIG9yZGVyZWRDaGlsZHJlbiwgYXZhaWxhYmxlRnJlZVNwYWNlLCB0b3RhbEZsZXhHcm93LCB0
b3RhbFdlaWdodGVkRmxleFNocmluaywgaW5mbGV4aWJsZUl0ZW1zLCBjaGlsZFNpemVzKSkgewor
ICAgICAgICB3aGlsZSAoIXJlc29sdmVGbGV4aWJsZUxlbmd0aHMoZmxleFNpZ24sIG9yZGVyZWRD
aGlsZHJlbiwgYXZhaWxhYmxlRnJlZVNwYWNlLCB0b3RhbEZsZXhHcm93LCB0b3RhbFdlaWdodGVk
RmxleFNocmluaywgaW5mbGV4aWJsZUl0ZW1zLCBjaGlsZFNpemVzLCBoYXNJbmZpbml0ZUxpbmVM
ZW5ndGgpKSB7CiAgICAgICAgICAgICBBU1NFUlQodG90YWxGbGV4R3JvdyA+PSAwICYmIHRvdGFs
V2VpZ2h0ZWRGbGV4U2hyaW5rID49IDApOwogICAgICAgICAgICAgQVNTRVJUKGluZmxleGlibGVJ
dGVtcy5zaXplKCkgPiAwKTsKICAgICAgICAgfQpAQCAtOTA0LDE0ICs5MTYsNiBAQCB2b2lkIFJl
bmRlckZsZXhpYmxlQm94Ojpjb21wdXRlTWFpbkF4aXNQCiAgICAgICAgIGlmIChjaGlsZC0+aXNP
dXRPZkZsb3dQb3NpdGlvbmVkKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBj
aGlsZC0+Y2xlYXJPdmVycmlkZVNpemUoKTsKLQotICAgICAgICAvLyBPbmx5IG5lZWQgdG8gbGF5
b3V0IGhlcmUgaWYgd2Ugd2lsbCBuZWVkIHRvIGdldCB0aGUgbG9naWNhbEhlaWdodCBvZiB0aGUg
Y2hpbGQgaW4gY29tcHV0ZU5leHRGbGV4TGluZS4KLSAgICAgICAgaWYgKGhhc09ydGhvZ29uYWxG
bG93KGNoaWxkKSAmJiBmbGV4QmFzaXNGb3JDaGlsZChjaGlsZCkuaXNBdXRvKCkpIHsKLSAgICAg
ICAgICAgIGNoaWxkLT5zZXRDaGlsZE5lZWRzTGF5b3V0KHRydWUsIE1hcmtPbmx5VGhpcyk7Ci0g
ICAgICAgICAgICBjaGlsZC0+bGF5b3V0KCk7Ci0gICAgICAgIH0KLQogICAgICAgICAvLyBCZWZv
cmUgcnVubmluZyB0aGUgZmxleCBhbGdvcml0aG0sICdhdXRvJyBoYXMgYSBtYXJnaW4gb2YgMC4K
ICAgICAgICAgLy8gQWxzbywgaWYgd2UncmUgbm90IGF1dG8gc2l6aW5nLCB3ZSBkb24ndCBkbyBh
IGxheW91dCB0aGF0IGNvbXB1dGVzIHRoZSBzdGFydC9lbmQgbWFyZ2lucy4KICAgICAgICAgaWYg
KGlzSG9yaXpvbnRhbEZsb3coKSkgewpAQCAtOTQwLDcgKzk0NCw3IEBAIExheW91dFVuaXQgUmVu
ZGVyRmxleGlibGVCb3g6OmFkanVzdENoaWwKICAgICByZXR1cm4gc3RkOjptYXgoY2hpbGRTaXpl
LCBtaW5FeHRlbnQpOwogfQogCi1ib29sIFJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlTmV4dEZs
ZXhMaW5lKE9yZGVyZWRGbGV4SXRlbUxpc3QmIG9yZGVyZWRDaGlsZHJlbiwgTGF5b3V0VW5pdCYg
cHJlZmVycmVkTWFpbkF4aXNFeHRlbnQsIGRvdWJsZSYgdG90YWxGbGV4R3JvdywgZG91YmxlJiB0
b3RhbFdlaWdodGVkRmxleFNocmluaywgTGF5b3V0VW5pdCYgbWluTWF4QXBwbGllZE1haW5BeGlz
RXh0ZW50KQorYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZU5leHRGbGV4TGluZShPcmRl
cmVkRmxleEl0ZW1MaXN0JiBvcmRlcmVkQ2hpbGRyZW4sIExheW91dFVuaXQmIHByZWZlcnJlZE1h
aW5BeGlzRXh0ZW50LCBkb3VibGUmIHRvdGFsRmxleEdyb3csIGRvdWJsZSYgdG90YWxXZWlnaHRl
ZEZsZXhTaHJpbmssIExheW91dFVuaXQmIG1pbk1heEFwcGxpZWRNYWluQXhpc0V4dGVudCwgYm9v
bCYgaGFzSW5maW5pdGVMaW5lTGVuZ3RoKQogewogICAgIG9yZGVyZWRDaGlsZHJlbi5jbGVhcigp
OwogICAgIHByZWZlcnJlZE1haW5BeGlzRXh0ZW50ID0gMDsKQEAgLTk1MSw2ICs5NTUsOCBAQCBi
b29sIFJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlTmV4dEZsZXhMCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIExheW91dFVuaXQgbGluZUJyZWFrTGVuZ3RoID0gbWFpbkF4aXNDb250ZW50
RXh0ZW50KExheW91dFVuaXQ6Om1heCgpKTsKKyAgICBoYXNJbmZpbml0ZUxpbmVMZW5ndGggPSBs
aW5lQnJlYWtMZW5ndGggPT0gTGF5b3V0VW5pdDo6bWF4KCk7CisKICAgICBib29sIGxpbmVIYXNJ
bkZsb3dJdGVtID0gZmFsc2U7CiAKICAgICBmb3IgKFJlbmRlckJveCogY2hpbGQgPSBtX29yZGVy
SXRlcmF0b3IuY3VycmVudENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IG1fb3JkZXJJdGVyYXRvci5u
ZXh0KCkpIHsKQEAgLTk1OSw3ICs5NjUsNyBAQCBib29sIFJlbmRlckZsZXhpYmxlQm94Ojpjb21w
dXRlTmV4dEZsZXhMCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCi0gICAgICAg
IExheW91dFVuaXQgY2hpbGRNYWluQXhpc0V4dGVudCA9IHByZWZlcnJlZE1haW5BeGlzQ29udGVu
dEV4dGVudEZvckNoaWxkKGNoaWxkKTsKKyAgICAgICAgTGF5b3V0VW5pdCBjaGlsZE1haW5BeGlz
RXh0ZW50ID0gcHJlZmVycmVkTWFpbkF4aXNDb250ZW50RXh0ZW50Rm9yQ2hpbGQoY2hpbGQsIGhh
c0luZmluaXRlTGluZUxlbmd0aCk7CiAgICAgICAgIExheW91dFVuaXQgY2hpbGRNYWluQXhpc01h
cmdpbkJveEV4dGVudCA9IG1haW5BeGlzQm9yZGVyQW5kUGFkZGluZ0V4dGVudEZvckNoaWxkKGNo
aWxkKSArIGNoaWxkTWFpbkF4aXNFeHRlbnQ7CiAgICAgICAgIGNoaWxkTWFpbkF4aXNNYXJnaW5C
b3hFeHRlbnQgKz0gaXNIb3Jpem9udGFsRmxvdygpID8gY2hpbGQtPm1hcmdpbldpZHRoKCkgOiBj
aGlsZC0+bWFyZ2luSGVpZ2h0KCk7CiAKQEAgLTk3NywxMiArOTgzLDEyIEBAIGJvb2wgUmVuZGVy
RmxleGlibGVCb3g6OmNvbXB1dGVOZXh0RmxleEwKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9p
ZCBSZW5kZXJGbGV4aWJsZUJveDo6ZnJlZXplVmlvbGF0aW9ucyhjb25zdCBWZWN0b3I8VmlvbGF0
aW9uPiYgdmlvbGF0aW9ucywgTGF5b3V0VW5pdCYgYXZhaWxhYmxlRnJlZVNwYWNlLCBkb3VibGUm
IHRvdGFsRmxleEdyb3csIGRvdWJsZSYgdG90YWxXZWlnaHRlZEZsZXhTaHJpbmssIEluZmxleGli
bGVGbGV4SXRlbVNpemUmIGluZmxleGlibGVJdGVtcykKK3ZvaWQgUmVuZGVyRmxleGlibGVCb3g6
OmZyZWV6ZVZpb2xhdGlvbnMoY29uc3QgVmVjdG9yPFZpb2xhdGlvbj4mIHZpb2xhdGlvbnMsIExh
eW91dFVuaXQmIGF2YWlsYWJsZUZyZWVTcGFjZSwgZG91YmxlJiB0b3RhbEZsZXhHcm93LCBkb3Vi
bGUmIHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rLCBJbmZsZXhpYmxlRmxleEl0ZW1TaXplJiBpbmZs
ZXhpYmxlSXRlbXMsIGJvb2wgaGFzSW5maW5pdGVMaW5lTGVuZ3RoKQogewogICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgdmlvbGF0aW9ucy5zaXplKCk7ICsraSkgewogICAgICAgICBSZW5kZXJC
b3gqIGNoaWxkID0gdmlvbGF0aW9uc1tpXS5jaGlsZDsKICAgICAgICAgTGF5b3V0VW5pdCBjaGls
ZFNpemUgPSB2aW9sYXRpb25zW2ldLmNoaWxkU2l6ZTsKLSAgICAgICAgTGF5b3V0VW5pdCBwcmVm
ZXJyZWRDaGlsZFNpemUgPSBwcmVmZXJyZWRNYWluQXhpc0NvbnRlbnRFeHRlbnRGb3JDaGlsZChj
aGlsZCk7CisgICAgICAgIExheW91dFVuaXQgcHJlZmVycmVkQ2hpbGRTaXplID0gcHJlZmVycmVk
TWFpbkF4aXNDb250ZW50RXh0ZW50Rm9yQ2hpbGQoY2hpbGQsIGhhc0luZmluaXRlTGluZUxlbmd0
aCk7CiAgICAgICAgIGF2YWlsYWJsZUZyZWVTcGFjZSAtPSBjaGlsZFNpemUgLSBwcmVmZXJyZWRD
aGlsZFNpemU7CiAgICAgICAgIHRvdGFsRmxleEdyb3cgLT0gY2hpbGQtPnN0eWxlKCktPmZsZXhH
cm93KCk7CiAgICAgICAgIHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rIC09IGNoaWxkLT5zdHlsZSgp
LT5mbGV4U2hyaW5rKCkgKiBwcmVmZXJyZWRDaGlsZFNpemU7CkBAIC05OTEsNyArOTk3LDcgQEAg
dm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6ZnJlZXplVmlvbGF0aW9ucwogfQogCiAvLyBSZXR1cm5z
IHRydWUgaWYgd2Ugc3VjY2Vzc2Z1bGx5IHJhbiB0aGUgYWxnb3JpdGhtIGFuZCBzaXplZCB0aGUg
ZmxleCBpdGVtcy4KLWJvb2wgUmVuZGVyRmxleGlibGVCb3g6OnJlc29sdmVGbGV4aWJsZUxlbmd0
aHMoRmxleFNpZ24gZmxleFNpZ24sIGNvbnN0IE9yZGVyZWRGbGV4SXRlbUxpc3QmIGNoaWxkcmVu
LCBMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVlU3BhY2UsIGRvdWJsZSYgdG90YWxGbGV4R3Jvdywg
ZG91YmxlJiB0b3RhbFdlaWdodGVkRmxleFNocmluaywgSW5mbGV4aWJsZUZsZXhJdGVtU2l6ZSYg
aW5mbGV4aWJsZUl0ZW1zLCBWZWN0b3I8TGF5b3V0VW5pdD4mIGNoaWxkU2l6ZXMpCitib29sIFJl
bmRlckZsZXhpYmxlQm94OjpyZXNvbHZlRmxleGlibGVMZW5ndGhzKEZsZXhTaWduIGZsZXhTaWdu
LCBjb25zdCBPcmRlcmVkRmxleEl0ZW1MaXN0JiBjaGlsZHJlbiwgTGF5b3V0VW5pdCYgYXZhaWxh
YmxlRnJlZVNwYWNlLCBkb3VibGUmIHRvdGFsRmxleEdyb3csIGRvdWJsZSYgdG90YWxXZWlnaHRl
ZEZsZXhTaHJpbmssIEluZmxleGlibGVGbGV4SXRlbVNpemUmIGluZmxleGlibGVJdGVtcywgVmVj
dG9yPExheW91dFVuaXQ+JiBjaGlsZFNpemVzLCBib29sIGhhc0luZmluaXRlTGluZUxlbmd0aCkK
IHsKICAgICBjaGlsZFNpemVzLmNsZWFyKCk7CiAgICAgTGF5b3V0VW5pdCB0b3RhbFZpb2xhdGlv
biA9IDA7CkBAIC0xMDA4LDcgKzEwMTQsNyBAQCBib29sIFJlbmRlckZsZXhpYmxlQm94OjpyZXNv
bHZlRmxleGlibGVMCiAgICAgICAgIGlmIChpbmZsZXhpYmxlSXRlbXMuY29udGFpbnMoY2hpbGQp
KQogICAgICAgICAgICAgY2hpbGRTaXplcy5hcHBlbmQoaW5mbGV4aWJsZUl0ZW1zLmdldChjaGls
ZCkpOwogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIExheW91dFVuaXQgcHJlZmVycmVkQ2hp
bGRTaXplID0gcHJlZmVycmVkTWFpbkF4aXNDb250ZW50RXh0ZW50Rm9yQ2hpbGQoY2hpbGQpOwor
ICAgICAgICAgICAgTGF5b3V0VW5pdCBwcmVmZXJyZWRDaGlsZFNpemUgPSBwcmVmZXJyZWRNYWlu
QXhpc0NvbnRlbnRFeHRlbnRGb3JDaGlsZChjaGlsZCwgaGFzSW5maW5pdGVMaW5lTGVuZ3RoKTsK
ICAgICAgICAgICAgIExheW91dFVuaXQgY2hpbGRTaXplID0gcHJlZmVycmVkQ2hpbGRTaXplOwog
ICAgICAgICAgICAgZG91YmxlIGV4dHJhU3BhY2UgPSAwOwogICAgICAgICAgICAgaWYgKGF2YWls
YWJsZUZyZWVTcGFjZSA+IDAgJiYgdG90YWxGbGV4R3JvdyA+IDAgJiYgZmxleFNpZ24gPT0gUG9z
aXRpdmVGbGV4aWJpbGl0eSAmJiBzdGQ6OmlzZmluaXRlKHRvdGFsRmxleEdyb3cpKQpAQCAtMTAz
Miw3ICsxMDM4LDcgQEAgYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6cmVzb2x2ZUZsZXhpYmxlTAog
ICAgIH0KIAogICAgIGlmICh0b3RhbFZpb2xhdGlvbikKLSAgICAgICAgZnJlZXplVmlvbGF0aW9u
cyh0b3RhbFZpb2xhdGlvbiA8IDAgPyBtYXhWaW9sYXRpb25zIDogbWluVmlvbGF0aW9ucywgYXZh
aWxhYmxlRnJlZVNwYWNlLCB0b3RhbEZsZXhHcm93LCB0b3RhbFdlaWdodGVkRmxleFNocmluaywg
aW5mbGV4aWJsZUl0ZW1zKTsKKyAgICAgICAgZnJlZXplVmlvbGF0aW9ucyh0b3RhbFZpb2xhdGlv
biA8IDAgPyBtYXhWaW9sYXRpb25zIDogbWluVmlvbGF0aW9ucywgYXZhaWxhYmxlRnJlZVNwYWNl
LCB0b3RhbEZsZXhHcm93LCB0b3RhbFdlaWdodGVkRmxleFNocmluaywgaW5mbGV4aWJsZUl0ZW1z
LCBoYXNJbmZpbml0ZUxpbmVMZW5ndGgpOwogICAgIGVsc2UKICAgICAgICAgYXZhaWxhYmxlRnJl
ZVNwYWNlIC09IHVzZWRGcmVlU3BhY2U7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGbGV4aWJsZUJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGbGV4aWJsZUJveC5oCShyZXZpc2lvbiAxNTAwMzIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaAkod29ya2luZyBjb3B5KQpAQCAtMTM4
LDcgKzEzOCw3IEBAIHByaXZhdGU6CiAgICAgRUFsaWduSXRlbXMgYWxpZ25tZW50Rm9yQ2hpbGQo
UmVuZGVyQm94KiBjaGlsZCkgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBtYWluQXhpc0JvcmRlckFu
ZFBhZGRpbmdFeHRlbnRGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkKSBjb25zdDsKICAgICBMYXlv
dXRVbml0IG1haW5BeGlzU2Nyb2xsYmFyRXh0ZW50Rm9yQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCkg
Y29uc3Q7Ci0gICAgTGF5b3V0VW5pdCBwcmVmZXJyZWRNYWluQXhpc0NvbnRlbnRFeHRlbnRGb3JD
aGlsZChSZW5kZXJCb3gqIGNoaWxkKTsKKyAgICBMYXlvdXRVbml0IHByZWZlcnJlZE1haW5BeGlz
Q29udGVudEV4dGVudEZvckNoaWxkKFJlbmRlckJveCogY2hpbGQsIGJvb2wgaGFzSW5maW5pdGVM
aW5lTGVuZ3RoKTsKIAogICAgIHZvaWQgbGF5b3V0RmxleEl0ZW1zKGJvb2wgcmVsYXlvdXRDaGls
ZHJlbiwgVmVjdG9yPExpbmVDb250ZXh0PiYpOwogICAgIExheW91dFVuaXQgYXV0b01hcmdpbk9m
ZnNldEluTWFpbkF4aXMoY29uc3QgT3JkZXJlZEZsZXhJdGVtTGlzdCYsIExheW91dFVuaXQmIGF2
YWlsYWJsZUZyZWVTcGFjZSk7CkBAIC0xNTYsMTAgKzE1NiwxMCBAQCBwcml2YXRlOgogICAgIExh
eW91dFVuaXQgY29tcHV0ZUNoaWxkTWFyZ2luVmFsdWUoTGVuZ3RoIG1hcmdpbiwgUmVuZGVyVmll
dyopOwogICAgIHZvaWQgY29tcHV0ZU1haW5BeGlzUHJlZmVycmVkU2l6ZXMoT3JkZXJIYXNoU2V0
Jik7CiAgICAgTGF5b3V0VW5pdCBhZGp1c3RDaGlsZFNpemVGb3JNaW5BbmRNYXgoUmVuZGVyQm94
KiwgTGF5b3V0VW5pdCBjaGlsZFNpemUpOwotICAgIGJvb2wgY29tcHV0ZU5leHRGbGV4TGluZShP
cmRlcmVkRmxleEl0ZW1MaXN0JiBvcmRlcmVkQ2hpbGRyZW4sIExheW91dFVuaXQmIHByZWZlcnJl
ZE1haW5BeGlzRXh0ZW50LCBkb3VibGUmIHRvdGFsRmxleEdyb3csIGRvdWJsZSYgdG90YWxXZWln
aHRlZEZsZXhTaHJpbmssIExheW91dFVuaXQmIG1pbk1heEFwcGxpZWRNYWluQXhpc0V4dGVudCk7
CisgICAgYm9vbCBjb21wdXRlTmV4dEZsZXhMaW5lKE9yZGVyZWRGbGV4SXRlbUxpc3QmIG9yZGVy
ZWRDaGlsZHJlbiwgTGF5b3V0VW5pdCYgcHJlZmVycmVkTWFpbkF4aXNFeHRlbnQsIGRvdWJsZSYg
dG90YWxGbGV4R3JvdywgZG91YmxlJiB0b3RhbFdlaWdodGVkRmxleFNocmluaywgTGF5b3V0VW5p
dCYgbWluTWF4QXBwbGllZE1haW5BeGlzRXh0ZW50LCBib29sJiBoYXNJbmZpbml0ZUxpbmVMZW5n
dGgpOwogCi0gICAgYm9vbCByZXNvbHZlRmxleGlibGVMZW5ndGhzKEZsZXhTaWduLCBjb25zdCBP
cmRlcmVkRmxleEl0ZW1MaXN0JiwgTGF5b3V0VW5pdCYgYXZhaWxhYmxlRnJlZVNwYWNlLCBkb3Vi
bGUmIHRvdGFsRmxleEdyb3csIGRvdWJsZSYgdG90YWxXZWlnaHRlZEZsZXhTaHJpbmssIEluZmxl
eGlibGVGbGV4SXRlbVNpemUmLCBWZWN0b3I8TGF5b3V0VW5pdD4mIGNoaWxkU2l6ZXMpOwotICAg
IHZvaWQgZnJlZXplVmlvbGF0aW9ucyhjb25zdCBWZWN0b3I8VmlvbGF0aW9uPiYsIExheW91dFVu
aXQmIGF2YWlsYWJsZUZyZWVTcGFjZSwgZG91YmxlJiB0b3RhbEZsZXhHcm93LCBkb3VibGUmIHRv
dGFsV2VpZ2h0ZWRGbGV4U2hyaW5rLCBJbmZsZXhpYmxlRmxleEl0ZW1TaXplJik7CisgICAgYm9v
bCByZXNvbHZlRmxleGlibGVMZW5ndGhzKEZsZXhTaWduLCBjb25zdCBPcmRlcmVkRmxleEl0ZW1M
aXN0JiwgTGF5b3V0VW5pdCYgYXZhaWxhYmxlRnJlZVNwYWNlLCBkb3VibGUmIHRvdGFsRmxleEdy
b3csIGRvdWJsZSYgdG90YWxXZWlnaHRlZEZsZXhTaHJpbmssIEluZmxleGlibGVGbGV4SXRlbVNp
emUmLCBWZWN0b3I8TGF5b3V0VW5pdD4mIGNoaWxkU2l6ZXMsIGJvb2wgaGFzSW5maW5pdGVMaW5l
TGVuZ3RoKTsKKyAgICB2b2lkIGZyZWV6ZVZpb2xhdGlvbnMoY29uc3QgVmVjdG9yPFZpb2xhdGlv
bj4mLCBMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVlU3BhY2UsIGRvdWJsZSYgdG90YWxGbGV4R3Jv
dywgZG91YmxlJiB0b3RhbFdlaWdodGVkRmxleFNocmluaywgSW5mbGV4aWJsZUZsZXhJdGVtU2l6
ZSYsIGJvb2wgaGFzSW5maW5pdGVMaW5lTGVuZ3RoKTsKIAogICAgIHZvaWQgcmVzZXRBdXRvTWFy
Z2luc0FuZExvZ2ljYWxUb3BJbkNyb3NzQXhpcyhSZW5kZXJCb3gqKTsKICAgICBib29sIG5lZWRU
b1N0cmV0Y2hDaGlsZChSZW5kZXJCb3gqKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201744</attachid>
            <date>2013-05-14 12:43:24 -0700</date>
            <delta_ts>2013-05-14 13:21:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>18656</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MDA4MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDYyIEBACisyMDEzLTA1LTE0ICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OOiB1bml0ZWQuY29t
IGhhcyBvdmVybGFwcGluZyBlbGVtZW50cyBhbmQgaXMgYnJva2VuIGJ5IGZsZXggYm94IGNoYW5n
ZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTUz
MjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzNjkwNjEwPgorICAgICAgICAKKyAgICAgICAg
VGhlIG5ldyBmbGV4Ym94IHNwZWMgc2F5cyB0aGF0IGZsZXgtYmFzaXMgb21pdHRlZCBpbiB0aGUg
ZmxleCBzaG9ydGhhbmQgZGVmYXVsdHMgdG8KKyAgICAgICAgMCB3aGVuIGZsZXgtZ3Jvdy9zaHJp
bmsgYXJlIHNldC4gVGhpcyBoYXMgdW5kZXNpcmFibGUgYmVoYXZpb3Igd2hlbiBvYmplY3RzIGRv
bid0CisgICAgICAgIGVuZCB1cCBmbGV4aW5nIGF0IGFsbCwgYW5kIGl0J3Mgc29tZXRoaW5nIHRo
ZSBzcGVjIGlzIGdvaW5nIHRvIGV2ZW50dWFsbHkgYWRkcmVzcy4KKyAgICAgICAgCisgICAgICAg
IEZvciBub3csIHRob3VnaCwgdG8gZml4IHRoZSByZWdyZXNzaW9uLCBJJ20gbWFraW5nIGEgdGFy
Z2V0ZWQgImhhY2siIHRvIGRlbGliZXJhdGVseQorICAgICAgICB2aW9sYXRlIHRoZSBzcGVjLCBi
dXQgdG8gZG8gc28gYXMgbWluaW1hbGx5IGFzIHBvc3NpYmxlLiBUaGlzIGhhY2sgZGV0ZWN0cyBp
ZiB0aGVyZQorICAgICAgICBpcyBpbmZpbml0ZSBhdmFpbGFibGUgc3BhY2Ugb24gYSBsaW5lLCBh
bmQgaWYgc28sIGl0IHRyZWF0cyBhIGZsZXgtYmFzaXMgb2YgMCBsaWtlCisgICAgICAgIGF1dG8u
CisgICAgICAgIAorICAgICAgICBUaGlzIG1lYW5zIHRoYXQgd2hlbiBoZWlnaHQgaXMgY29uc3Ry
YWluZWQgYW5kIHNldCBieSBhIGNvbnRhaW5lciwgZmxleGluZyB3aWxsIGRvCisgICAgICAgIHRo
ZSByaWdodCB0aGluZy4gQmFzaWNhbGx5IGFueSB0aW1lIHlvdSBlbmQgdXAgYWN0dWFsbHkgZmxl
eGluZywgdGhlIHNwZWMgYmVoYXZpb3IKKyAgICAgICAgc2hvdWxkIGhhcHBlbi4gSWYgeW91J3Jl
IGp1c3QgbGF5aW5nIG91dCBhdCBpbnRyaW5zaWMgc2l6ZXMsIHRob3VnaCwgYW5kIG5vIGZsZXhp
bmcKKyAgICAgICAgaXMgZ29pbmcgdG8gb2NjdXIsIHdlIGlnbm9yZSBhIGZsZXgtYmFzaXMgb2Yg
MCBhbmQganVzdCB1c2UgdGhlIGNoaWxkJ3Mgbm9ybWFsIHNpemUuCisgICAgICAgIAorICAgICAg
ICBOb3RlIHRoYXQgd2lkdGhzIGRvbid0IGhhdmUgdG8gYmUgcGF0Y2hlZCBiZWNhdXNlIHRoZSBw
cmVmZXJyZWQgbG9naWNhbCB3aWR0aHMKKyAgICAgICAgYWxnb3JpdGhtIGlzIGJyb2tlbiByaWdo
dCBub3cgYW5kIG5vdCBjaGVja2luZyBmbGV4LWJhc2lzLiBJZiBpdCBkaWQsIHdlJ2QgaGF2ZSBz
ZWVuCisgICAgICAgIHRoZSBzYW1lIGJ1ZyBpbiB0aGUgd2lkdGggZGlyZWN0aW9uLgorICAgICAg
ICAKKyAgICAgICAgVGhpcyB3aWR0aCBpc3N1ZSBpcyBjb3ZlcmVkIGJ5IGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTYxMTcKKyAgICAgICAgCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGZhc3QvZmxleGJveC9hdXRv
LWhlaWdodC13aXRoLWZsZXguaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhp
YmxlQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjptYWluQXhp
c0NvbnRlbnRFeHRlbnQpOgorICAgICAgICBNYWtlIHN1cmUgd2UgcmV0dXJuIExheW91dFVuaXQ6
Om1heCB3aGVuIHlvdSBoYXZlIGluZmluaXRlIGZyZWUgc3BhY2UgYW5kIG5vdAorICAgICAgICBt
YXggLSBib3JkZXJQYWRkaW5nLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJv
eDo6cHJlZmVycmVkTWFpbkF4aXNDb250ZW50RXh0ZW50Rm9yQ2hpbGQpOgorICAgICAgICBPbmx5
IGNsZWFyIG92ZXJyaWRlIHNpemUgaWYgaXQgd2FzIHNldC4gT25seSBtYXJrIGZvciByZWxheW91
dCBpZiB3ZSBkaWQKKyAgICAgICAgYW4gb3ZlcnJpZGUgc2l6ZSBjbGVhciAoaS5lLiwgaWYgd2Ug
d2VyZSBhY3R1YWxseSBmbGV4ZWQpLiBBZGQgYSBuZXcgcGFyYW1ldGVyLAorICAgICAgICBoYXNJ
bmZpbml0ZUxpbmVMZW5ndGgsIHRoYXQgLSBpZiBzZXQgLSBjYXVzZXMgdXMgdG8gc3BlY2lhbCBj
YXNlIGZsZXgtYmFzaXM6MAorICAgICAgICBhbmQgdHJlYXQgaXQgbGlrZSBmbGV4LWJhc2lzOmF1
dG8uCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRGbGV4SXRl
bXMpOgorICAgICAgICBEZWZpbmUgaGFzSW5maW5pdGVMaW5lTGVuZ3RoIGFuZCBwYXNzIGl0IHRv
IGFsbCB0aGUgZnVuY3Rpb25zIHRoYXQgbmVlZCBpdC4KKworICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyRmxleGlibGVCb3g6OmNvbXB1dGVNYWluQXhpc1ByZWZlcnJlZFNpemVzKToKKyAgICAgICAg
UmVtb3ZlIHRoZSBjb2RlIHRoYXQgbWFya3MgZm9yIGxheW91dCBhbmQgZG9lcyBhIGxheW91dCBz
byBlYXJseS4gVGhpcyBjb2RlCisgICAgICAgIGlzIG1vdmluZyAoYW5kIGNoYW5naW5nKSB0byBw
cmVmZXJyZWRNYWluQXhpc0NvbnRlbnRFeHRlbnRGb3JDaGlsZC4KKworICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVOZXh0RmxleExpbmUpOgorICAgICAgICBDb21w
dXRlcyB3aGV0aGVyIG9yIG5vdCB3ZSBoYXZlIGluZmluaXRlIGxpbmUgbGVuZ3RoIG5vdy4KKwor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmZyZWV6ZVZpb2xhdGlvbnMpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OnJlc29sdmVGbGV4aWJsZUxlbmd0
aHMpOgorICAgICAgICBQcm9wYWdhdGUgaGFzSW5maW5pdGVMaW5lTGVuZ3RoIHRocm91Z2ggdG8g
cHJlZmVycmVkTWFpbkF4aXNDb250ZW50RXh0ZW50Rm9yQ2hpbGQuCisKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaDoKKyAgICAgICAgKFJlbmRlckZsZXhpYmxlQm94KToK
KyAgICAgICAgQWRkIGhhc0luZmluaXRlTGluZUxlbmd0aCBwYXJhbWV0ZXIgdG8gYSBidW5jaCBv
ZiBmdW5jdGlvbnMuCisKIDIwMTMtMDUtMTQgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxl
LmNvbT4KIAogICAgICAgICBTbmFwc2hvdHRlZCBwbHVnLWlucyBzaGFkb3cgdHJlZSBzaG91bGQg
cmVzZXQgc3R5bGUgaW5oZXJpdGFuY2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGbGV4aWJsZUJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAkocmV2aXNpb24gMTUwMDMyKQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTY0LDYgKzE2NCw5IEBAIHN0YXRpYyBMYXlvdXRVbml0IG1hcmdpbkxvZ2ljYWxXaWR0aEZvckMK
IAogdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMo
TGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgp
IGNvbnN0CiB7CisgICAgLy8gRklYTUU6IFdlJ3JlIGlnbm9yaW5nIGZsZXgtYmFzaXMgaGVyZSBh
bmQgd2Ugc2hvdWxkbid0LiBXZSBjYW4ndCBzdGFydCBob25vcmluZyBpdCB0aG91Z2ggdW50aWwK
KyAgICAvLyB0aGUgZmxleCBzaG9ydGhhbmQgc3RvcHMgc2V0dGluZyBpdCB0byAwLgorICAgIC8v
IFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2MTE3LAogICAg
IGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0g
Y2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKICAgICAgICAgaWYgKGNoaWxkLT5pc091dE9mRmxv
d1Bvc2l0aW9uZWQoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtNTI1LDYgKzUyOCw4IEBA
IExheW91dFVuaXQgUmVuZGVyRmxleGlibGVCb3g6Om1haW5BeGlzQ28KICAgICAgICAgLy8gRklY
TUU6IFJlbW92ZSB0aGlzIHN0ZDptYXggb25jZSB3ZSBlbmFibGUgc2F0dXJhdGVkIGxheW91dCBh
cml0aG1ldGljLiBJdCdzIGp1c3QgaGVyZSB0byBoYW5kbGUgb3ZlcmZsb3cuCiAgICAgICAgIExh
eW91dFVuaXQgYm9yZGVyQm94TG9naWNhbEhlaWdodCA9IHN0ZDo6bWF4KGNvbnRlbnRMb2dpY2Fs
SGVpZ2h0LCBjb250ZW50TG9naWNhbEhlaWdodCArIGJvcmRlclBhZGRpbmdBbmRTY3JvbGxiYXIp
OwogICAgICAgICBjb21wdXRlTG9naWNhbEhlaWdodChib3JkZXJCb3hMb2dpY2FsSGVpZ2h0LCBs
b2dpY2FsVG9wKCksIGNvbXB1dGVkVmFsdWVzKTsKKyAgICAgICAgaWYgKGNvbXB1dGVkVmFsdWVz
Lm1fZXh0ZW50ID09IExheW91dFVuaXQ6Om1heCgpKQorICAgICAgICAgICAgcmV0dXJuIGNvbXB1
dGVkVmFsdWVzLm1fZXh0ZW50OwogICAgICAgICByZXR1cm4gc3RkOjptYXgoTGF5b3V0VW5pdCgw
KSwgY29tcHV0ZWRWYWx1ZXMubV9leHRlbnQgLSBib3JkZXJQYWRkaW5nQW5kU2Nyb2xsYmFyKTsK
ICAgICB9CiAgICAgcmV0dXJuIGNvbnRlbnRMb2dpY2FsV2lkdGgoKTsKQEAgLTczNCwxMCArNzM5
LDE5IEBAIExheW91dFVuaXQgUmVuZGVyRmxleGlibGVCb3g6Om1haW5BeGlzU2MKICAgICByZXR1
cm4gaXNIb3Jpem9udGFsRmxvdygpID8gY2hpbGQtPnZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgoKSA6
IGNoaWxkLT5ob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0KCk7CiB9CiAKLUxheW91dFVuaXQgUmVu
ZGVyRmxleGlibGVCb3g6OnByZWZlcnJlZE1haW5BeGlzQ29udGVudEV4dGVudEZvckNoaWxkKFJl
bmRlckJveCogY2hpbGQpCitMYXlvdXRVbml0IFJlbmRlckZsZXhpYmxlQm94OjpwcmVmZXJyZWRN
YWluQXhpc0NvbnRlbnRFeHRlbnRGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkLCBib29sIGhhc0lu
ZmluaXRlTGluZUxlbmd0aCkKIHsKKyAgICBib29sIGhhc092ZXJyaWRlU2l6ZSA9IGNoaWxkLT5o
YXNPdmVycmlkZVdpZHRoKCkgfHwgY2hpbGQtPmhhc092ZXJyaWRlSGVpZ2h0KCk7CisgICAgaWYg
KGhhc092ZXJyaWRlU2l6ZSkKKyAgICAgICAgY2hpbGQtPmNsZWFyT3ZlcnJpZGVTaXplKCk7CisK
ICAgICBMZW5ndGggZmxleEJhc2lzID0gZmxleEJhc2lzRm9yQ2hpbGQoY2hpbGQpOwotICAgIGlm
IChmbGV4QmFzaXMuaXNBdXRvKCkpIHsKKyAgICBpZiAoZmxleEJhc2lzLmlzQXV0bygpIHx8IChm
bGV4QmFzaXMuaXNGaXhlZCgpICYmICFmbGV4QmFzaXMudmFsdWUoKSAmJiBoYXNJbmZpbml0ZUxp
bmVMZW5ndGgpKSB7CisgICAgICAgIGlmIChoYXNPcnRob2dvbmFsRmxvdyhjaGlsZCkpIHsKKyAg
ICAgICAgICAgIGlmIChoYXNPdmVycmlkZVNpemUpCisgICAgICAgICAgICAgICAgY2hpbGQtPnNl
dENoaWxkTmVlZHNMYXlvdXQodHJ1ZSwgTWFya09ubHlUaGlzKTsKKyAgICAgICAgICAgIGNoaWxk
LT5sYXlvdXRJZk5lZWRlZCgpOworICAgICAgICB9CiAgICAgICAgIExheW91dFVuaXQgbWFpbkF4
aXNFeHRlbnQgPSBoYXNPcnRob2dvbmFsRmxvdyhjaGlsZCkgPyBjaGlsZC0+bG9naWNhbEhlaWdo
dCgpIDogY2hpbGQtPm1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpOwogICAgICAgICBBU1NFUlQo
bWFpbkF4aXNFeHRlbnQgLSBtYWluQXhpc0JvcmRlckFuZFBhZGRpbmdFeHRlbnRGb3JDaGlsZChj
aGlsZCkgPj0gMCk7CiAgICAgICAgIHJldHVybiBtYWluQXhpc0V4dGVudCAtIG1haW5BeGlzQm9y
ZGVyQW5kUGFkZGluZ0V4dGVudEZvckNoaWxkKGNoaWxkKTsKQEAgLTc1NSwxMiArNzY5LDEzIEBA
IHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmxheW91dEZsZXhJdGVtcygKIAogICAgIG1fb3JkZXJJ
dGVyYXRvci5maXJzdCgpOwogICAgIExheW91dFVuaXQgY3Jvc3NBeGlzT2Zmc2V0ID0gZmxvd0F3
YXJlQm9yZGVyQmVmb3JlKCkgKyBmbG93QXdhcmVQYWRkaW5nQmVmb3JlKCk7Ci0gICAgd2hpbGUg
KGNvbXB1dGVOZXh0RmxleExpbmUob3JkZXJlZENoaWxkcmVuLCBwcmVmZXJyZWRNYWluQXhpc0V4
dGVudCwgdG90YWxGbGV4R3JvdywgdG90YWxXZWlnaHRlZEZsZXhTaHJpbmssIG1pbk1heEFwcGxp
ZWRNYWluQXhpc0V4dGVudCkpIHsKKyAgICBib29sIGhhc0luZmluaXRlTGluZUxlbmd0aCA9IGZh
bHNlOworICAgIHdoaWxlIChjb21wdXRlTmV4dEZsZXhMaW5lKG9yZGVyZWRDaGlsZHJlbiwgcHJl
ZmVycmVkTWFpbkF4aXNFeHRlbnQsIHRvdGFsRmxleEdyb3csIHRvdGFsV2VpZ2h0ZWRGbGV4U2hy
aW5rLCBtaW5NYXhBcHBsaWVkTWFpbkF4aXNFeHRlbnQsIGhhc0luZmluaXRlTGluZUxlbmd0aCkp
IHsKICAgICAgICAgTGF5b3V0VW5pdCBhdmFpbGFibGVGcmVlU3BhY2UgPSBtYWluQXhpc0NvbnRl
bnRFeHRlbnQocHJlZmVycmVkTWFpbkF4aXNFeHRlbnQpIC0gcHJlZmVycmVkTWFpbkF4aXNFeHRl
bnQ7CiAgICAgICAgIEZsZXhTaWduIGZsZXhTaWduID0gKG1pbk1heEFwcGxpZWRNYWluQXhpc0V4
dGVudCA8IHByZWZlcnJlZE1haW5BeGlzRXh0ZW50ICsgYXZhaWxhYmxlRnJlZVNwYWNlKSA/IFBv
c2l0aXZlRmxleGliaWxpdHkgOiBOZWdhdGl2ZUZsZXhpYmlsaXR5OwogICAgICAgICBJbmZsZXhp
YmxlRmxleEl0ZW1TaXplIGluZmxleGlibGVJdGVtczsKICAgICAgICAgVmVjdG9yPExheW91dFVu
aXQ+IGNoaWxkU2l6ZXM7Ci0gICAgICAgIHdoaWxlICghcmVzb2x2ZUZsZXhpYmxlTGVuZ3Rocyhm
bGV4U2lnbiwgb3JkZXJlZENoaWxkcmVuLCBhdmFpbGFibGVGcmVlU3BhY2UsIHRvdGFsRmxleEdy
b3csIHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rLCBpbmZsZXhpYmxlSXRlbXMsIGNoaWxkU2l6ZXMp
KSB7CisgICAgICAgIHdoaWxlICghcmVzb2x2ZUZsZXhpYmxlTGVuZ3RocyhmbGV4U2lnbiwgb3Jk
ZXJlZENoaWxkcmVuLCBhdmFpbGFibGVGcmVlU3BhY2UsIHRvdGFsRmxleEdyb3csIHRvdGFsV2Vp
Z2h0ZWRGbGV4U2hyaW5rLCBpbmZsZXhpYmxlSXRlbXMsIGNoaWxkU2l6ZXMsIGhhc0luZmluaXRl
TGluZUxlbmd0aCkpIHsKICAgICAgICAgICAgIEFTU0VSVCh0b3RhbEZsZXhHcm93ID49IDAgJiYg
dG90YWxXZWlnaHRlZEZsZXhTaHJpbmsgPj0gMCk7CiAgICAgICAgICAgICBBU1NFUlQoaW5mbGV4
aWJsZUl0ZW1zLnNpemUoKSA+IDApOwogICAgICAgICB9CkBAIC05MDQsMTQgKzkxOSw2IEBAIHZv
aWQgUmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVNYWluQXhpc1AKICAgICAgICAgaWYgKGNoaWxk
LT5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAg
ICAgIGNoaWxkLT5jbGVhck92ZXJyaWRlU2l6ZSgpOwotCi0gICAgICAgIC8vIE9ubHkgbmVlZCB0
byBsYXlvdXQgaGVyZSBpZiB3ZSB3aWxsIG5lZWQgdG8gZ2V0IHRoZSBsb2dpY2FsSGVpZ2h0IG9m
IHRoZSBjaGlsZCBpbiBjb21wdXRlTmV4dEZsZXhMaW5lLgotICAgICAgICBpZiAoaGFzT3J0aG9n
b25hbEZsb3coY2hpbGQpICYmIGZsZXhCYXNpc0ZvckNoaWxkKGNoaWxkKS5pc0F1dG8oKSkgewot
ICAgICAgICAgICAgY2hpbGQtPnNldENoaWxkTmVlZHNMYXlvdXQodHJ1ZSwgTWFya09ubHlUaGlz
KTsKLSAgICAgICAgICAgIGNoaWxkLT5sYXlvdXQoKTsKLSAgICAgICAgfQotCiAgICAgICAgIC8v
IEJlZm9yZSBydW5uaW5nIHRoZSBmbGV4IGFsZ29yaXRobSwgJ2F1dG8nIGhhcyBhIG1hcmdpbiBv
ZiAwLgogICAgICAgICAvLyBBbHNvLCBpZiB3ZSdyZSBub3QgYXV0byBzaXppbmcsIHdlIGRvbid0
IGRvIGEgbGF5b3V0IHRoYXQgY29tcHV0ZXMgdGhlIHN0YXJ0L2VuZCBtYXJnaW5zLgogICAgICAg
ICBpZiAoaXNIb3Jpem9udGFsRmxvdygpKSB7CkBAIC05NDAsNyArOTQ3LDcgQEAgTGF5b3V0VW5p
dCBSZW5kZXJGbGV4aWJsZUJveDo6YWRqdXN0Q2hpbAogICAgIHJldHVybiBzdGQ6Om1heChjaGls
ZFNpemUsIG1pbkV4dGVudCk7CiB9CiAKLWJvb2wgUmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVO
ZXh0RmxleExpbmUoT3JkZXJlZEZsZXhJdGVtTGlzdCYgb3JkZXJlZENoaWxkcmVuLCBMYXlvdXRV
bml0JiBwcmVmZXJyZWRNYWluQXhpc0V4dGVudCwgZG91YmxlJiB0b3RhbEZsZXhHcm93LCBkb3Vi
bGUmIHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rLCBMYXlvdXRVbml0JiBtaW5NYXhBcHBsaWVkTWFp
bkF4aXNFeHRlbnQpCitib29sIFJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlTmV4dEZsZXhMaW5l
KE9yZGVyZWRGbGV4SXRlbUxpc3QmIG9yZGVyZWRDaGlsZHJlbiwgTGF5b3V0VW5pdCYgcHJlZmVy
cmVkTWFpbkF4aXNFeHRlbnQsIGRvdWJsZSYgdG90YWxGbGV4R3JvdywgZG91YmxlJiB0b3RhbFdl
aWdodGVkRmxleFNocmluaywgTGF5b3V0VW5pdCYgbWluTWF4QXBwbGllZE1haW5BeGlzRXh0ZW50
LCBib29sJiBoYXNJbmZpbml0ZUxpbmVMZW5ndGgpCiB7CiAgICAgb3JkZXJlZENoaWxkcmVuLmNs
ZWFyKCk7CiAgICAgcHJlZmVycmVkTWFpbkF4aXNFeHRlbnQgPSAwOwpAQCAtOTUxLDYgKzk1OCw4
IEBAIGJvb2wgUmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVOZXh0RmxleEwKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCiAgICAgTGF5b3V0VW5pdCBsaW5lQnJlYWtMZW5ndGggPSBtYWluQXhpc0Nv
bnRlbnRFeHRlbnQoTGF5b3V0VW5pdDo6bWF4KCkpOworICAgIGhhc0luZmluaXRlTGluZUxlbmd0
aCA9IGxpbmVCcmVha0xlbmd0aCA9PSBMYXlvdXRVbml0OjptYXgoKTsKKwogICAgIGJvb2wgbGlu
ZUhhc0luRmxvd0l0ZW0gPSBmYWxzZTsKIAogICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IG1f
b3JkZXJJdGVyYXRvci5jdXJyZW50Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gbV9vcmRlckl0ZXJh
dG9yLm5leHQoKSkgewpAQCAtOTU5LDcgKzk2OCw3IEBAIGJvb2wgUmVuZGVyRmxleGlibGVCb3g6
OmNvbXB1dGVOZXh0RmxleEwKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKLSAg
ICAgICAgTGF5b3V0VW5pdCBjaGlsZE1haW5BeGlzRXh0ZW50ID0gcHJlZmVycmVkTWFpbkF4aXND
b250ZW50RXh0ZW50Rm9yQ2hpbGQoY2hpbGQpOworICAgICAgICBMYXlvdXRVbml0IGNoaWxkTWFp
bkF4aXNFeHRlbnQgPSBwcmVmZXJyZWRNYWluQXhpc0NvbnRlbnRFeHRlbnRGb3JDaGlsZChjaGls
ZCwgaGFzSW5maW5pdGVMaW5lTGVuZ3RoKTsKICAgICAgICAgTGF5b3V0VW5pdCBjaGlsZE1haW5B
eGlzTWFyZ2luQm94RXh0ZW50ID0gbWFpbkF4aXNCb3JkZXJBbmRQYWRkaW5nRXh0ZW50Rm9yQ2hp
bGQoY2hpbGQpICsgY2hpbGRNYWluQXhpc0V4dGVudDsKICAgICAgICAgY2hpbGRNYWluQXhpc01h
cmdpbkJveEV4dGVudCArPSBpc0hvcml6b250YWxGbG93KCkgPyBjaGlsZC0+bWFyZ2luV2lkdGgo
KSA6IGNoaWxkLT5tYXJnaW5IZWlnaHQoKTsKIApAQCAtOTc3LDEyICs5ODYsMTIgQEAgYm9vbCBS
ZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZU5leHRGbGV4TAogICAgIHJldHVybiB0cnVlOwogfQog
Ci12b2lkIFJlbmRlckZsZXhpYmxlQm94OjpmcmVlemVWaW9sYXRpb25zKGNvbnN0IFZlY3RvcjxW
aW9sYXRpb24+JiB2aW9sYXRpb25zLCBMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVlU3BhY2UsIGRv
dWJsZSYgdG90YWxGbGV4R3JvdywgZG91YmxlJiB0b3RhbFdlaWdodGVkRmxleFNocmluaywgSW5m
bGV4aWJsZUZsZXhJdGVtU2l6ZSYgaW5mbGV4aWJsZUl0ZW1zKQordm9pZCBSZW5kZXJGbGV4aWJs
ZUJveDo6ZnJlZXplVmlvbGF0aW9ucyhjb25zdCBWZWN0b3I8VmlvbGF0aW9uPiYgdmlvbGF0aW9u
cywgTGF5b3V0VW5pdCYgYXZhaWxhYmxlRnJlZVNwYWNlLCBkb3VibGUmIHRvdGFsRmxleEdyb3cs
IGRvdWJsZSYgdG90YWxXZWlnaHRlZEZsZXhTaHJpbmssIEluZmxleGlibGVGbGV4SXRlbVNpemUm
IGluZmxleGlibGVJdGVtcywgYm9vbCBoYXNJbmZpbml0ZUxpbmVMZW5ndGgpCiB7CiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCB2aW9sYXRpb25zLnNpemUoKTsgKytpKSB7CiAgICAgICAgIFJl
bmRlckJveCogY2hpbGQgPSB2aW9sYXRpb25zW2ldLmNoaWxkOwogICAgICAgICBMYXlvdXRVbml0
IGNoaWxkU2l6ZSA9IHZpb2xhdGlvbnNbaV0uY2hpbGRTaXplOwotICAgICAgICBMYXlvdXRVbml0
IHByZWZlcnJlZENoaWxkU2l6ZSA9IHByZWZlcnJlZE1haW5BeGlzQ29udGVudEV4dGVudEZvckNo
aWxkKGNoaWxkKTsKKyAgICAgICAgTGF5b3V0VW5pdCBwcmVmZXJyZWRDaGlsZFNpemUgPSBwcmVm
ZXJyZWRNYWluQXhpc0NvbnRlbnRFeHRlbnRGb3JDaGlsZChjaGlsZCwgaGFzSW5maW5pdGVMaW5l
TGVuZ3RoKTsKICAgICAgICAgYXZhaWxhYmxlRnJlZVNwYWNlIC09IGNoaWxkU2l6ZSAtIHByZWZl
cnJlZENoaWxkU2l6ZTsKICAgICAgICAgdG90YWxGbGV4R3JvdyAtPSBjaGlsZC0+c3R5bGUoKS0+
ZmxleEdyb3coKTsKICAgICAgICAgdG90YWxXZWlnaHRlZEZsZXhTaHJpbmsgLT0gY2hpbGQtPnN0
eWxlKCktPmZsZXhTaHJpbmsoKSAqIHByZWZlcnJlZENoaWxkU2l6ZTsKQEAgLTk5MSw3ICsxMDAw
LDcgQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6ZnJlZXplVmlvbGF0aW9ucwogfQogCiAvLyBS
ZXR1cm5zIHRydWUgaWYgd2Ugc3VjY2Vzc2Z1bGx5IHJhbiB0aGUgYWxnb3JpdGhtIGFuZCBzaXpl
ZCB0aGUgZmxleCBpdGVtcy4KLWJvb2wgUmVuZGVyRmxleGlibGVCb3g6OnJlc29sdmVGbGV4aWJs
ZUxlbmd0aHMoRmxleFNpZ24gZmxleFNpZ24sIGNvbnN0IE9yZGVyZWRGbGV4SXRlbUxpc3QmIGNo
aWxkcmVuLCBMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVlU3BhY2UsIGRvdWJsZSYgdG90YWxGbGV4
R3JvdywgZG91YmxlJiB0b3RhbFdlaWdodGVkRmxleFNocmluaywgSW5mbGV4aWJsZUZsZXhJdGVt
U2l6ZSYgaW5mbGV4aWJsZUl0ZW1zLCBWZWN0b3I8TGF5b3V0VW5pdD4mIGNoaWxkU2l6ZXMpCiti
b29sIFJlbmRlckZsZXhpYmxlQm94OjpyZXNvbHZlRmxleGlibGVMZW5ndGhzKEZsZXhTaWduIGZs
ZXhTaWduLCBjb25zdCBPcmRlcmVkRmxleEl0ZW1MaXN0JiBjaGlsZHJlbiwgTGF5b3V0VW5pdCYg
YXZhaWxhYmxlRnJlZVNwYWNlLCBkb3VibGUmIHRvdGFsRmxleEdyb3csIGRvdWJsZSYgdG90YWxX
ZWlnaHRlZEZsZXhTaHJpbmssIEluZmxleGlibGVGbGV4SXRlbVNpemUmIGluZmxleGlibGVJdGVt
cywgVmVjdG9yPExheW91dFVuaXQ+JiBjaGlsZFNpemVzLCBib29sIGhhc0luZmluaXRlTGluZUxl
bmd0aCkKIHsKICAgICBjaGlsZFNpemVzLmNsZWFyKCk7CiAgICAgTGF5b3V0VW5pdCB0b3RhbFZp
b2xhdGlvbiA9IDA7CkBAIC0xMDA4LDcgKzEwMTcsNyBAQCBib29sIFJlbmRlckZsZXhpYmxlQm94
OjpyZXNvbHZlRmxleGlibGVMCiAgICAgICAgIGlmIChpbmZsZXhpYmxlSXRlbXMuY29udGFpbnMo
Y2hpbGQpKQogICAgICAgICAgICAgY2hpbGRTaXplcy5hcHBlbmQoaW5mbGV4aWJsZUl0ZW1zLmdl
dChjaGlsZCkpOwogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIExheW91dFVuaXQgcHJlZmVy
cmVkQ2hpbGRTaXplID0gcHJlZmVycmVkTWFpbkF4aXNDb250ZW50RXh0ZW50Rm9yQ2hpbGQoY2hp
bGQpOworICAgICAgICAgICAgTGF5b3V0VW5pdCBwcmVmZXJyZWRDaGlsZFNpemUgPSBwcmVmZXJy
ZWRNYWluQXhpc0NvbnRlbnRFeHRlbnRGb3JDaGlsZChjaGlsZCwgaGFzSW5maW5pdGVMaW5lTGVu
Z3RoKTsKICAgICAgICAgICAgIExheW91dFVuaXQgY2hpbGRTaXplID0gcHJlZmVycmVkQ2hpbGRT
aXplOwogICAgICAgICAgICAgZG91YmxlIGV4dHJhU3BhY2UgPSAwOwogICAgICAgICAgICAgaWYg
KGF2YWlsYWJsZUZyZWVTcGFjZSA+IDAgJiYgdG90YWxGbGV4R3JvdyA+IDAgJiYgZmxleFNpZ24g
PT0gUG9zaXRpdmVGbGV4aWJpbGl0eSAmJiBzdGQ6OmlzZmluaXRlKHRvdGFsRmxleEdyb3cpKQpA
QCAtMTAzMiw3ICsxMDQxLDcgQEAgYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6cmVzb2x2ZUZsZXhp
YmxlTAogICAgIH0KIAogICAgIGlmICh0b3RhbFZpb2xhdGlvbikKLSAgICAgICAgZnJlZXplVmlv
bGF0aW9ucyh0b3RhbFZpb2xhdGlvbiA8IDAgPyBtYXhWaW9sYXRpb25zIDogbWluVmlvbGF0aW9u
cywgYXZhaWxhYmxlRnJlZVNwYWNlLCB0b3RhbEZsZXhHcm93LCB0b3RhbFdlaWdodGVkRmxleFNo
cmluaywgaW5mbGV4aWJsZUl0ZW1zKTsKKyAgICAgICAgZnJlZXplVmlvbGF0aW9ucyh0b3RhbFZp
b2xhdGlvbiA8IDAgPyBtYXhWaW9sYXRpb25zIDogbWluVmlvbGF0aW9ucywgYXZhaWxhYmxlRnJl
ZVNwYWNlLCB0b3RhbEZsZXhHcm93LCB0b3RhbFdlaWdodGVkRmxleFNocmluaywgaW5mbGV4aWJs
ZUl0ZW1zLCBoYXNJbmZpbml0ZUxpbmVMZW5ndGgpOwogICAgIGVsc2UKICAgICAgICAgYXZhaWxh
YmxlRnJlZVNwYWNlIC09IHVzZWRGcmVlU3BhY2U7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oCShyZXZpc2lvbiAxNTAwMzIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaAkod29ya2luZyBjb3B5KQpA
QCAtMTM4LDcgKzEzOCw3IEBAIHByaXZhdGU6CiAgICAgRUFsaWduSXRlbXMgYWxpZ25tZW50Rm9y
Q2hpbGQoUmVuZGVyQm94KiBjaGlsZCkgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBtYWluQXhpc0Jv
cmRlckFuZFBhZGRpbmdFeHRlbnRGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkKSBjb25zdDsKICAg
ICBMYXlvdXRVbml0IG1haW5BeGlzU2Nyb2xsYmFyRXh0ZW50Rm9yQ2hpbGQoUmVuZGVyQm94KiBj
aGlsZCkgY29uc3Q7Ci0gICAgTGF5b3V0VW5pdCBwcmVmZXJyZWRNYWluQXhpc0NvbnRlbnRFeHRl
bnRGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkKTsKKyAgICBMYXlvdXRVbml0IHByZWZlcnJlZE1h
aW5BeGlzQ29udGVudEV4dGVudEZvckNoaWxkKFJlbmRlckJveCogY2hpbGQsIGJvb2wgaGFzSW5m
aW5pdGVMaW5lTGVuZ3RoKTsKIAogICAgIHZvaWQgbGF5b3V0RmxleEl0ZW1zKGJvb2wgcmVsYXlv
dXRDaGlsZHJlbiwgVmVjdG9yPExpbmVDb250ZXh0PiYpOwogICAgIExheW91dFVuaXQgYXV0b01h
cmdpbk9mZnNldEluTWFpbkF4aXMoY29uc3QgT3JkZXJlZEZsZXhJdGVtTGlzdCYsIExheW91dFVu
aXQmIGF2YWlsYWJsZUZyZWVTcGFjZSk7CkBAIC0xNTYsMTAgKzE1NiwxMCBAQCBwcml2YXRlOgog
ICAgIExheW91dFVuaXQgY29tcHV0ZUNoaWxkTWFyZ2luVmFsdWUoTGVuZ3RoIG1hcmdpbiwgUmVu
ZGVyVmlldyopOwogICAgIHZvaWQgY29tcHV0ZU1haW5BeGlzUHJlZmVycmVkU2l6ZXMoT3JkZXJI
YXNoU2V0Jik7CiAgICAgTGF5b3V0VW5pdCBhZGp1c3RDaGlsZFNpemVGb3JNaW5BbmRNYXgoUmVu
ZGVyQm94KiwgTGF5b3V0VW5pdCBjaGlsZFNpemUpOwotICAgIGJvb2wgY29tcHV0ZU5leHRGbGV4
TGluZShPcmRlcmVkRmxleEl0ZW1MaXN0JiBvcmRlcmVkQ2hpbGRyZW4sIExheW91dFVuaXQmIHBy
ZWZlcnJlZE1haW5BeGlzRXh0ZW50LCBkb3VibGUmIHRvdGFsRmxleEdyb3csIGRvdWJsZSYgdG90
YWxXZWlnaHRlZEZsZXhTaHJpbmssIExheW91dFVuaXQmIG1pbk1heEFwcGxpZWRNYWluQXhpc0V4
dGVudCk7CisgICAgYm9vbCBjb21wdXRlTmV4dEZsZXhMaW5lKE9yZGVyZWRGbGV4SXRlbUxpc3Qm
IG9yZGVyZWRDaGlsZHJlbiwgTGF5b3V0VW5pdCYgcHJlZmVycmVkTWFpbkF4aXNFeHRlbnQsIGRv
dWJsZSYgdG90YWxGbGV4R3JvdywgZG91YmxlJiB0b3RhbFdlaWdodGVkRmxleFNocmluaywgTGF5
b3V0VW5pdCYgbWluTWF4QXBwbGllZE1haW5BeGlzRXh0ZW50LCBib29sJiBoYXNJbmZpbml0ZUxp
bmVMZW5ndGgpOwogCi0gICAgYm9vbCByZXNvbHZlRmxleGlibGVMZW5ndGhzKEZsZXhTaWduLCBj
b25zdCBPcmRlcmVkRmxleEl0ZW1MaXN0JiwgTGF5b3V0VW5pdCYgYXZhaWxhYmxlRnJlZVNwYWNl
LCBkb3VibGUmIHRvdGFsRmxleEdyb3csIGRvdWJsZSYgdG90YWxXZWlnaHRlZEZsZXhTaHJpbmss
IEluZmxleGlibGVGbGV4SXRlbVNpemUmLCBWZWN0b3I8TGF5b3V0VW5pdD4mIGNoaWxkU2l6ZXMp
OwotICAgIHZvaWQgZnJlZXplVmlvbGF0aW9ucyhjb25zdCBWZWN0b3I8VmlvbGF0aW9uPiYsIExh
eW91dFVuaXQmIGF2YWlsYWJsZUZyZWVTcGFjZSwgZG91YmxlJiB0b3RhbEZsZXhHcm93LCBkb3Vi
bGUmIHRvdGFsV2VpZ2h0ZWRGbGV4U2hyaW5rLCBJbmZsZXhpYmxlRmxleEl0ZW1TaXplJik7Cisg
ICAgYm9vbCByZXNvbHZlRmxleGlibGVMZW5ndGhzKEZsZXhTaWduLCBjb25zdCBPcmRlcmVkRmxl
eEl0ZW1MaXN0JiwgTGF5b3V0VW5pdCYgYXZhaWxhYmxlRnJlZVNwYWNlLCBkb3VibGUmIHRvdGFs
RmxleEdyb3csIGRvdWJsZSYgdG90YWxXZWlnaHRlZEZsZXhTaHJpbmssIEluZmxleGlibGVGbGV4
SXRlbVNpemUmLCBWZWN0b3I8TGF5b3V0VW5pdD4mIGNoaWxkU2l6ZXMsIGJvb2wgaGFzSW5maW5p
dGVMaW5lTGVuZ3RoKTsKKyAgICB2b2lkIGZyZWV6ZVZpb2xhdGlvbnMoY29uc3QgVmVjdG9yPFZp
b2xhdGlvbj4mLCBMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVlU3BhY2UsIGRvdWJsZSYgdG90YWxG
bGV4R3JvdywgZG91YmxlJiB0b3RhbFdlaWdodGVkRmxleFNocmluaywgSW5mbGV4aWJsZUZsZXhJ
dGVtU2l6ZSYsIGJvb2wgaGFzSW5maW5pdGVMaW5lTGVuZ3RoKTsKIAogICAgIHZvaWQgcmVzZXRB
dXRvTWFyZ2luc0FuZExvZ2ljYWxUb3BJbkNyb3NzQXhpcyhSZW5kZXJCb3gqKTsKICAgICBib29s
IG5lZWRUb1N0cmV0Y2hDaGlsZChSZW5kZXJCb3gqKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MDA3
MSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0
IEBACisyMDEzLTA1LTE0ICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAg
ICBSRUdSRVNTSU9OIChyMTQ3MjYxKTogTWFueSBvdmVybGFpZCBlbGVtZW50cyBvbiB1bml0ZWQu
Y29tJ3MgYWNjb3VudCBwYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTYxMDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzNjkwNjEwPiAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZmxl
eGJveC9hdXRvLWhlaWdodC13aXRoLWZsZXgtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9mbGV4Ym94L2F1dG8taGVpZ2h0LXdpdGgtZmxleC5odG1sOiBBZGRlZC4KKwogMjAx
My0wNS0xNCAgQW5kcmVpIEJ1Y3VyICA8YWJ1Y3VyQGFkb2JlLmNvbT4KIAogICAgICAgICBNb2Rp
ZnkgY2hlY2tMYXlvdXQgdG8gcmVjZWl2ZSB0aGUgbG9nIGNvbnRhaW5lciBhcyBhbiBvcHRpb25h
bCBwYXJhbWV0ZXIKSW5kZXg6IExheW91dFRlc3RzL2NzczMvZmxleGJveC9jb2x1bW5zLWF1dG8t
c2l6ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NzczMvZmxleGJveC9jb2x1bW5z
LWF1dG8tc2l6ZS5odG1sCShyZXZpc2lvbiAxNTAwMzIpCisrKyBMYXlvdXRUZXN0cy9jc3MzL2Zs
ZXhib3gvY29sdW1ucy1hdXRvLXNpemUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNTQsNyArNTQs
NyBAQCBib2R5IHsKICAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1vZmZzZXQt
eT0iMCIgc3R5bGU9Ii13ZWJraXQtZmxleDogMTsgLW1vei1mbGV4OiAxIj48L2Rpdj4KICAgPGRp
diBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAiIGRhdGEtb2Zmc2V0LXk9IjAiIHN0eWxlPSJoZWln
aHQ6IDEwcHg7Ij48L2Rpdj4KICAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAiIGRhdGEt
b2Zmc2V0LXk9IjEwIiBzdHlsZT0iLXdlYmtpdC1mbGV4OiAxIGF1dG87IC1tb3otZmxleDogMSBh
dXRvIj48ZGl2IHN0eWxlPSJoZWlnaHQ6IDEwcHgiPjwvZGl2PjwvZGl2PgotICA8ZGl2IGRhdGEt
ZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLW9mZnNldC15PSIyMCIgc3R5bGU9Im1pbi1oZWlnaHQ6
IDA7IC13ZWJraXQtZmxleDogMTsgLW1vei1mbGV4OiAxIj48ZGl2IGRhdGEtZXhwZWN0ZWQtaGVp
Z2h0PSIxMCIgZGF0YS1vZmZzZXQteT0iMjAiIGNsYXNzPSJjaGlsZC1kaXYiIHN0eWxlPSJoZWln
aHQ6IDEwcHgiPjwvZGl2PjwvZGl2PgorICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMCIg
ZGF0YS1vZmZzZXQteT0iMjAiIHN0eWxlPSJtaW4taGVpZ2h0OiAwOyAtd2Via2l0LWZsZXg6IDE7
IC1tb3otZmxleDogMSI+PGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAiIGRhdGEtb2Zmc2V0
LXk9IjIwIiBjbGFzcz0iY2hpbGQtZGl2IiBzdHlsZT0iaGVpZ2h0OiAxMHB4Ij48L2Rpdj48L2Rp
dj4KIDwvZGl2PgogCiA8ZGl2IGNsYXNzPSJmbGV4Ym94IGNvbHVtbiBob3Jpem9udGFsIj4KQEAg
LTEwMyw3ICsxMDMsNyBAQCBib2R5IHsKIAogPCEtLSBUaGUgZmlyc3QgZGl2IG92ZXJmbG93cyB0
byB0aGUgbGVmdCwgc28gZ2l2ZSBpdCBhIG1hcmdpbi1sZWZ0IHNvIHdlIGNhbiBzZWUgYm94IGl0
IHBhaW50cy4gLS0+CiA8ZGl2IGNsYXNzPSJmbGV4Ym94IGNvbHVtbiB2ZXJ0aWNhbCIgc3R5bGU9
Im1hcmdpbi1sZWZ0OiAxMDBweDsiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiIGRh
dGEtb2Zmc2V0LXg9IjIwIiBzdHlsZT0ibWluLXdpZHRoOiAwOyAtd2Via2l0LWZsZXg6IDE7IC1t
b3otZmxleDogMSI+PGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI1MCIgZGF0YS1vZmZzZXQteD0i
LTMwIiBjbGFzcz0iY2hpbGQtZGl2IiBzdHlsZT0id2lkdGg6IDUwcHgiPjwvZGl2PjwvZGl2Pgor
ICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjUwIiBkYXRhLW9mZnNldC14PSIyMCIgc3R5bGU9
Im1pbi13aWR0aDogMDsgLXdlYmtpdC1mbGV4OiAxOyAtbW96LWZsZXg6IDEiPjxkaXYgZGF0YS1l
eHBlY3RlZC13aWR0aD0iNTAiIGRhdGEtb2Zmc2V0LXg9IjIwIiBjbGFzcz0iY2hpbGQtZGl2IiBz
dHlsZT0id2lkdGg6IDUwcHgiPjwvZGl2PjwvZGl2PgogICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lk
dGg9IjAiIGRhdGEtb2Zmc2V0LXg9IjIwIiBzdHlsZT0iLXdlYmtpdC1mbGV4OiAxOyAtbW96LWZs
ZXg6IDEiPjwvZGl2PgogICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwIiBkYXRhLW9mZnNl
dC14PSIxMCIgc3R5bGU9IndpZHRoOiAxMHB4OyI+PC9kaXY+CiAgIDxkaXYgZGF0YS1leHBlY3Rl
ZC13aWR0aD0iMTAiIGRhdGEtb2Zmc2V0LXg9IjAiIHN0eWxlPSItd2Via2l0LWZsZXg6IDEgYXV0
bzsgLW1vei1mbGV4OiAxIGF1dG8iPjxkaXYgc3R5bGU9IndpZHRoOiAxMHB4Ij48L2Rpdj48L2Rp
dj4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZmxleGJveC9hdXRvLWhlaWdodC13aXRoLWZsZXgt
ZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2ZsZXhib3gvYXV0
by1oZWlnaHQtd2l0aC1mbGV4LWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2ZsZXhib3gvYXV0by1oZWlnaHQtd2l0aC1mbGV4LWV4cGVjdGVkLmh0bWwJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNSBAQAorPGRpdiBzdHlsZT0iYm9yZGVyOjFweCBzb2xpZCBw
dXJwbGU7Ij4KKzxkaXY+SGVhZGVyPC9kaXY+Cis8ZGl2PkZsZXhpYmxlIGNvbnRlbnQ8YnI+Cis8
L2Rpdj4KKzwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mbGV4Ym94L2F1dG8taGVpZ2h0
LXdpdGgtZmxleC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZmxleGJveC9h
dXRvLWhlaWdodC13aXRoLWZsZXguaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zh
c3QvZmxleGJveC9hdXRvLWhlaWdodC13aXRoLWZsZXguaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw1IEBACis8ZGl2IHN0eWxlPSJkaXNwbGF5Oi13ZWJraXQtZmxleDsgLXdlYmtpdC1mbGV4
LWRpcmVjdGlvbjpjb2x1bW47IGJvcmRlcjoxcHggc29saWQgcHVycGxlOyI+Cis8ZGl2PkhlYWRl
cjwvZGl2PgorPGRpdiBzdHlsZT0iLXdlYmtpdC1mbGV4OjEiPkZsZXhpYmxlIGNvbnRlbnQ8YnI+
Cis8L2Rpdj4KKzwvZGl2Pgo=
</data>
<flag name="review"
          id="223092"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>