<?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>97859</bug_id>
          
          <creation_ts>2012-09-27 21:40:30 -0700</creation_ts>
          <short_desc>[CSS Shaders] Implement all composite operators except destination and lighter.</short_desc>
          <delta_ts>2012-10-23 14:31:48 -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>
          <dependson>98396</dependson>
    
    <dependson>99127</dependson>
          <blocked>71392</blocked>
    
    <blocked>98391</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Dongseong Hwang">dongseong.hwang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>achicu</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dino</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mvujovic</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>730229</commentid>
    <comment_count>0</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-09-27 21:40:30 -0700</bug_when>
    <thetext>Implement the composite operators in the CSS Shaders mix function. For example:
-webkit-filter: custom(none mix(shader.fs normal source-over));

This will composite the special css_MixColor symbol in the fragment shader with the DOM element texture.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730230</commentid>
    <comment_count>1</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-09-27 21:42:28 -0700</bug_when>
    <thetext>I&apos;ll submit a patch today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730355</commentid>
    <comment_count>2</comment_count>
      <attachid>166171</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-09-28 01:31:40 -0700</bug_when>
    <thetext>Created attachment 166171
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730380</commentid>
    <comment_count>3</comment_count>
      <attachid>166180</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-09-28 02:14:18 -0700</bug_when>
    <thetext>Created attachment 166180
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730390</commentid>
    <comment_count>4</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-09-28 02:19:30 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=166180) [details]
&gt; Patch

css3/filters/custom/custom-filter-composite-operators.html failed because rgba(75%, 37.5%, 50%, 0.8) can not be represented by 8-bit accurately. So I baselined the result color values using the same way in Bug 93870.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730410</commentid>
    <comment_count>5</comment_count>
      <attachid>166180</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-28 02:42:06 -0700</bug_when>
    <thetext>Comment on attachment 166180
Patch

Attachment 166180 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14068157

New failing tests:
css3/filters/custom/custom-filter-composite-operators.html
css3/filters/custom/custom-filter-property-parsing-invalid.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730423</commentid>
    <comment_count>6</comment_count>
      <attachid>166180</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-28 03:05:45 -0700</bug_when>
    <thetext>Comment on attachment 166180
Patch

Attachment 166180 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14068160

New failing tests:
css3/filters/custom/custom-filter-composite-operators.html
css3/filters/custom/custom-filter-property-parsing-invalid.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730474</commentid>
    <comment_count>7</comment_count>
      <attachid>166202</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-09-28 04:15:29 -0700</bug_when>
    <thetext>Created attachment 166202
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730563</commentid>
    <comment_count>8</comment_count>
      <attachid>166202</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-28 06:03:37 -0700</bug_when>
    <thetext>Comment on attachment 166202
Patch

Attachment 166202 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14068210

New failing tests:
css3/filters/custom/custom-filter-composite-operators.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730705</commentid>
    <comment_count>9</comment_count>
      <attachid>166202</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-28 08:53:21 -0700</bug_when>
    <thetext>Comment on attachment 166202
Patch

Attachment 166202 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14059386

New failing tests:
css3/filters/custom/custom-filter-composite-operators.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730949</commentid>
    <comment_count>10</comment_count>
      <attachid>166202</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-09-28 13:32:47 -0700</bug_when>
    <thetext>Comment on attachment 166202
Patch

Thanks for the patch! Looking good. I have a couple of comments:

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        [CSS Shaders] Implement all composite operators.

You haven&apos;t implemented &quot;destination&quot; from the Compositing and Blending spec [1], so this title should probably say &quot;Implement all composite operators except destination&quot;.

We&apos;ll need to figure out what to do with destination eventually, but it doesn&apos;t have to be in this bug :).
We&apos;ll need a new CompositeOperator, CompositeDestination. Unrelated to the shaders implementation, there&apos;s no kCGBlendModeDestination in CoreGraphics [2].

[1]: https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#alpha-compositing 
[2]: Search for &quot;CGBlendMode&quot; in http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Reference/CGContext/Reference/reference.html

&gt; Source/WebCore/css/CSSParser.cpp:-7467
&gt; -    // FIXME: Add CSSValueDestination and CSSValueLighter when the Compositing spec updates.

You haven&apos;t implemented &quot;destination&quot;, so this FIXME needs to be updated to say that. It shouldn&apos;t be removed quite yet.

&gt; Source/WebCore/css/CSSParser.cpp:7467
&gt; +    return ident &gt;= CSSValueClear &amp;&amp; ident &lt;= CSSValuePlusLighter &amp;&amp; ident != CSSValuePlusDarker;

@achicu, @dino: Can one of you comment on the following issue?

According to the Compositing and Blending spec [1], &quot;plus-lighter&quot; is not a valid CSS value. You want &quot;lighter&quot;.

However, we can&apos;t just add the &quot;lighter&quot; CSS value and map it to CompositePlusLighter. The CSS value &quot;plus-lighter&quot; for -webkit-background-composite is already mapped to CompositePlusLighter in CSSPrimitiveValueMappings.h [3].

We have a couple of options for resolving this:
(1) Change the CSS value &quot;plus-lighter&quot; to &quot;lighter&quot; and break -webkit-background-composite. Then, we should probably also change &quot;plus-darker&quot; to &quot;darker&quot;.
(2) Keep the CSS value &quot;plus-lighter&quot;. Add the CSS value &quot;lighter&quot;. Add CompositeOperatorLighter. Then, we have two synonymous CompositeOperators, CompositeOperatorPlusLighter and CompositeOperatorLighter. Platform code might have to deal with these two CompositeOperators, which is not ideal.
(3) Create separate CSSValue &lt;-&gt; CompositeOperator mappings for -webkit-background-composite and shaders/CSS compositing. For shaders, we would have CSSValueLighter &lt;-&gt; CompositeOperatorPlusLighter. For -webkit-background-composite, we would have CSSValuePlusLighter &lt;-&gt; CompositeOperatorPlusLighter. I&apos;m not sure how to implement this nicely, though.

[3]: Search for &quot;template&lt;&gt; inline CSSPrimitiveValue::operator CompositeOperator() const&quot; in CSSPrimitiveValueMappings.h.

&gt; Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.cpp:251
&gt;      case CompositeClear:

The expressions look good.

&gt; LayoutTests/css3/filters/custom/custom-filter-composite-operators.html:5
&gt; +    &lt;!-- This test passes if each horizontal pair of squares are exactly the same color. --&gt;

@achicu, @dino: Could one of you chime in on this following point? I wouldn&apos;t want to make Huang rewrite his tests if it&apos;s just my opinion.

This type of test is particularly good for testing blend modes, which define how to mix two RGB colors. However, I&apos;m not sure it&apos;s the best way to test alpha compositing operators.

Conventionally, alpha compositing operators are related to which parts of the resulting image come from the source (css_MixColor) and which parts come from the destination (the element texture), based on the alpha channel.

That&apos;s why the spec [4] shows examples that composite an offset blue square surrounded by transparency with a differently offset yellow square surrounded by transparency. If you look at our existing compositing test for &quot;source-atop&quot; [5], you&apos;ll see we use that technique. I would prefer that we use that same technique to test all of the compositing operators. It makes it easy to visually verify the correctness of the test, since it looks exactly like the classic compositing images from the spec. Also, each test case verifies multiple different combinations of alpha values for each composite operator, instead of just one combination per composite operator.
 
I do like that you used a ref test instead of a pixel test, and I like that you put all of the composite operators in this single ref test. I suggest you keep the same overall structure, where each row is a test case, and the left side and right side of each row must match. However, instead of single-color squares, each &quot;square&quot; should look like one of compositing result images from the spec. In the test file, the left image can be rendered with shaders, and the right image can be rendered with divs. In the reference file, both sides can be rendered with divs. 

[4]: https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#porterduffcompositingoperators_clear
[5]: LayoutTests/css3/filters/custom/custom-filter-composite-source-atop.html

&gt; LayoutTests/css3/filters/custom/custom-filter-composite-operators.html:47
&gt; +            Fa = Î±b; Fb = 1 â Î±s

I&apos;m seeing non-ASCII characters in these expressions on my machine, such as a &quot;plus equals&quot; sign [6].

[6]: http://www.w3.org/TR/MathML2/glyphs/02A/U02A72.png

&gt; LayoutTests/css3/filters/custom/custom-filter-composite-operators.html:279
&gt; +        -webkit-filter: custom(none mix(url(&apos;../resources/mix-color.fs&apos;) normal plus-lighter), mix_color 0.0 0.6 0.5 0.5);

Same as before. &quot;plus-lighter&quot; is not a valid CSS compositing operator according to the spec.

&gt; LayoutTests/css3/filters/custom/custom-filter-property-parsing-invalid-expected.txt:-82
&gt; -Mix function with alpha compositing mode &apos;plus-lighter&apos;, which should only apply to -webkit-background-composite : custom(none mix(url(shader) plus-lighter))

Please keep this text expectation in place.

&gt; LayoutTests/css3/filters/script-tests/custom-filter-property-parsing-invalid.js:-46
&gt; -testInvalidFilterRule(&quot;Mix function with alpha compositing mode &apos;plus-lighter&apos;, which should only apply to -webkit-background-composite&quot;, &quot;custom(none mix(url(shader) plus-lighter))&quot;);

Please keep this test case in place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731127</commentid>
    <comment_count>11</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-09-28 18:49:02 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 166202 [details])
&gt; Thanks for the patch! Looking good. I have a couple of comments:

Thanks for your review!

&gt; You haven&apos;t implemented &quot;destination&quot;, so this FIXME needs to be updated to say that. It shouldn&apos;t be removed quite yet.
&gt; 
&gt; &gt; Source/WebCore/css/CSSParser.cpp:7467
&gt; &gt; +    return ident &gt;= CSSValueClear &amp;&amp; ident &lt;= CSSValuePlusLighter &amp;&amp; ident != CSSValuePlusDarker;

I handled plus-lighter because CompositePlusLighter enum was in CustomFilterValidatedProgram.cpp
As reading your comments, plus-lighter should be postponed like destination. Do you think it is better that I file another bug about plus-lighter and destination?

&gt; 
&gt; According to the Compositing and Blending spec [1], &quot;plus-lighter&quot; is not a valid CSS value. You want &quot;lighter&quot;.

I did not recognize the difference between &quot;plus-lighter&quot; and &quot;lighter&quot; due to the lack of knowledge. I see now.

&gt; Conventionally, alpha compositing operators are related to which parts of the resulting image come from the source (css_MixColor) and which parts come from the destination (the element texture), based on the alpha channel.
&gt; 
&gt; That&apos;s why the spec [4] shows examples that composite an offset blue square surrounded by transparency with a differently offset yellow square surrounded by transparency. If you look at our existing compositing test for &quot;source-atop&quot; [5], you&apos;ll see we use that technique.

I agree with your opinion. I&apos;ll try to make new test like &quot;source-atop&quot; test. However, I can submit new patch after about 5 days because Korea is on Thanksgiving from today.

By the way, cr-linux and mac bots failed this test after I adjusted the pixels from GTK results. cr-linux and mac bots had failed also the test in the second patch that I adjusted the pixels from Qt results. I think this kind of tests will be flaky when other ports unskip them. I&apos;m curious whether other tests in css3/filters/custom have similar problems. 

&gt; &gt; LayoutTests/css3/filters/script-tests/custom-filter-property-parsing-invalid.js:-46
&gt; &gt; -testInvalidFilterRule(&quot;Mix function with alpha compositing mode &apos;plus-lighter&apos;, which should only apply to -webkit-background-composite&quot;, &quot;custom(none mix(url(shader) plus-lighter))&quot;);
&gt; 
&gt; Please keep this test case in place.

I&apos;ll rollback CSSParcer to not handle &apos;plus-lighter&apos; and rollback this test also.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731927</commentid>
    <comment_count>12</comment_count>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-01 13:08:51 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (From update of attachment 166202 [details] [details])
&gt; &gt; Thanks for the patch! Looking good. I have a couple of comments:
&gt; 
&gt; Thanks for your review!
&gt; 
&gt; &gt; You haven&apos;t implemented &quot;destination&quot;, so this FIXME needs to be updated to say that. It shouldn&apos;t be removed quite yet.
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/css/CSSParser.cpp:7467
&gt; &gt; &gt; +    return ident &gt;= CSSValueClear &amp;&amp; ident &lt;= CSSValuePlusLighter &amp;&amp; ident != CSSValuePlusDarker;
&gt; 
&gt; I handled plus-lighter because CompositePlusLighter enum was in CustomFilterValidatedProgram.cpp
&gt; As reading your comments, plus-lighter should be postponed like destination. Do you think it is better that I file another bug about plus-lighter and destination?

Yes, that sounds like a good idea. Destination and lighter are tricky enough to be their own bugs.

&gt; 
&gt; &gt; 
&gt; &gt; According to the Compositing and Blending spec [1], &quot;plus-lighter&quot; is not a valid CSS value. You want &quot;lighter&quot;.
&gt; 
&gt; I did not recognize the difference between &quot;plus-lighter&quot; and &quot;lighter&quot; due to the lack of knowledge. I see now.

No problem. These are really subtle :)

&gt; 
&gt; &gt; Conventionally, alpha compositing operators are related to which parts of the resulting image come from the source (css_MixColor) and which parts come from the destination (the element texture), based on the alpha channel.
&gt; &gt; 
&gt; &gt; That&apos;s why the spec [4] shows examples that composite an offset blue square surrounded by transparency with a differently offset yellow square surrounded by transparency. If you look at our existing compositing test for &quot;source-atop&quot; [5], you&apos;ll see we use that technique.
&gt; 
&gt; I agree with your opinion. I&apos;ll try to make new test like &quot;source-atop&quot; test. However, I can submit new patch after about 5 days because Korea is on Thanksgiving from today.

Ok, great. Thanks for doing that- I know it&apos;s a lot more work. You can take your time, since we don&apos;t have any dependent bugs on this one. Enjoy your vacation :)

&gt; 
&gt; By the way, cr-linux and mac bots failed this test after I adjusted the pixels from GTK results. cr-linux and mac bots had failed also the test in the second patch that I adjusted the pixels from Qt results. I think this kind of tests will be flaky when other ports unskip them. I&apos;m curious whether other tests in css3/filters/custom have similar problems. 

The other tests might have problems. Using rgb colors with 8-bit values instead of floats helped me in custom-filter-blend-modes.html.

Hopefully, after you change the test, you won&apos;t have as many problems because you just have to compare two simple colors (blue and yellow).

&gt; 
&gt; &gt; &gt; LayoutTests/css3/filters/script-tests/custom-filter-property-parsing-invalid.js:-46
&gt; &gt; &gt; -testInvalidFilterRule(&quot;Mix function with alpha compositing mode &apos;plus-lighter&apos;, which should only apply to -webkit-background-composite&quot;, &quot;custom(none mix(url(shader) plus-lighter))&quot;);
&gt; &gt; 
&gt; &gt; Please keep this test case in place.
&gt; 
&gt; I&apos;ll rollback CSSParcer to not handle &apos;plus-lighter&apos; and rollback this test also.

Sounds good. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734542</commentid>
    <comment_count>13</comment_count>
      <attachid>167061</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-10-04 02:48:48 -0700</bug_when>
    <thetext>Created attachment 167061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734553</commentid>
    <comment_count>14</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-10-04 03:02:26 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Yes, that sounds like a good idea. Destination and lighter are tricky enough to be their own bugs.

I filed Bug 98391.

&gt; Ok, great. Thanks for doing that- I know it&apos;s a lot more work. You can take your time, since we don&apos;t have any dependent bugs on this one. Enjoy your vacation :)

Thank you for your kindness :) I made new test similar to css3/filters/custom/custom-filter-composite-source-atop.html as you suggested.

&gt; &gt; I&apos;ll rollback CSSParcer to not handle &apos;plus-lighter&apos; and rollback this test also.
&gt; 
&gt; Sounds good. Thanks!

When destination and lighter are implemented, CSSParcer will be changed.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734568</commentid>
    <comment_count>15</comment_count>
      <attachid>167067</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-10-04 03:40:45 -0700</bug_when>
    <thetext>Created attachment 167067
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734569</commentid>
    <comment_count>16</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-10-04 03:41:30 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Created an attachment (id=167067) [details]
&gt; Patch

Fixed typo in comments and Changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734828</commentid>
    <comment_count>17</comment_count>
      <attachid>167067</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-04 10:52:54 -0700</bug_when>
    <thetext>Comment on attachment 167067
Patch

Looking great! Thanks for the updates.

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

&gt; Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.cpp:310
&gt; +            return vec4((as * Fa * Cs + ab * Fb * Cb) / ao, ao);

This change is unrelated to the compositing modes, so I would take it out. I think you should land bug 98396 first, since you&apos;re removing this change in there. That is, refactor first, and then add new functionality.

&gt; LayoutTests/css3/filters/custom/custom-filter-composite-operators.html:4
&gt; +    &lt;title&gt;Tests that custom filter composite operators compute color values correctly.&lt;/title&gt;

This test looks great! Thanks for making it. Do you think it can be a ref test instead of a pixel test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735050</commentid>
    <comment_count>18</comment_count>
      <attachid>167183</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-10-04 15:05:45 -0700</bug_when>
    <thetext>Created attachment 167183
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735058</commentid>
    <comment_count>19</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-10-04 15:15:42 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; This change is unrelated to the compositing modes, so I would take it out. I think you should land bug 98396 first, since you&apos;re removing this change in there. That is, refactor first, and then add new functionality.

Absolutely!

&gt; This test looks great! Thanks for making it. Do you think it can be a ref test instead of a pixel test?

I made it because of your help. Unfortunately, it seems not to be an alternative method of a pixel test IMHO. In my experience of layout tests, only canvas element has an alternative method because the canvas has getImageData API. I wish listening other forks&apos; opinions too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738291</commentid>
    <comment_count>20</comment_count>
      <attachid>167183</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-10-09 16:04:15 -0700</bug_when>
    <thetext>Comment on attachment 167183
Patch

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

&gt; Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.cpp:294
&gt;      case CompositePlusLighter:
&gt;          notImplemented();
&gt;          return String();
&gt; +        // FIXME: destination and lighter were not implemented yet.

I don&apos;t think we need this comment. It&apos;s clear that they are not implemented.

&gt; LayoutTests/css3/filters/custom/custom-filter-composite-operators.html:4
&gt; +    &lt;title&gt;Tests that custom filter composite operators compute color values correctly.&lt;/title&gt;

As Max originally suggested, it would be great if this could be a reftest, with the expected value shown next to each subtest. I wonder if we can be accurate enough by placing colored divs to replicate the blending. Anyway, this is ok for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738729</commentid>
    <comment_count>21</comment_count>
      <attachid>167957</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-10-10 01:31:13 -0700</bug_when>
    <thetext>Created attachment 167957
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738733</commentid>
    <comment_count>22</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-10-10 01:34:05 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; I don&apos;t think we need this comment. It&apos;s clear that they are not implemented.

Done.

&gt; As Max originally suggested, it would be great if this could be a reftest, with the expected value shown next to each subtest. I wonder if we can be accurate enough by placing colored divs to replicate the blending. Anyway, this is ok for now.

I agree.


Thanks for your review.

Could you check r+ c+ one more time? You already checked r+. I&apos;m not commiter, so I always depend on commit-queue-bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740314</commentid>
    <comment_count>23</comment_count>
      <attachid>167957</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-11 15:34:20 -0700</bug_when>
    <thetext>Comment on attachment 167957
Patch

Clearing flags on attachment: 167957

Committed r131100: &lt;http://trac.webkit.org/changeset/131100&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740315</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-11 15:34:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740528</commentid>
    <comment_count>25</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-11 19:10:45 -0700</bug_when>
    <thetext>This patch caused an ASSERT:

crash log for DumpRenderTree (pid 1352):
STDOUT: &lt;empty&gt;
STDERR: ASSERTION FAILED: m_samplerLocation != -1
STDERR: /Volumes/data/b/build/slave/webkit-mac-latest-dbg/build/src/third_party/WebKit/Source/WebCore/WebCore.gyp/../platform/graphics/filters/CustomFilterCompiledProgram.cpp(139) : void WebCore::CustomFilterCompiledProgram::initializeParameterLocations(WebCore::CustomFilterProgramType)
STDERR: 1   0x24a96b14 WebCore::CustomFilterCompiledProgram::initializeParameterLocations(WebCore::CustomFilterProgramType)
STDERR: 2   0x24a9624b WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram(WTF::PassRefPtr&lt;WebCore::GraphicsContext3D&gt;, WTF::String const&amp;, WTF::String const&amp;, WebCore::CustomFilterProgramType)
STDERR: 3   0x24a9603c WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram(WTF::PassRefPtr&lt;WebCore::GraphicsContext3D&gt;, WTF::String const&amp;, WTF::String const&amp;, WebCore::CustomFilterProgramType)
STDERR: 4   0x24a984cb WebCore::CustomFilterCompiledProgram::create(WTF::PassRefPtr&lt;WebCore::GraphicsContext3D&gt;, WTF::String const&amp;, WTF::String const&amp;, WebCore::CustomFilterProgramType)
STDERR: 5   0x24a97944 WebCore::CustomFilterValidatedProgram::compiledProgram()
STDERR: 6   0x24aaad86 WebCore::FECustomFilter::initializeContext()
STDERR: 7   0x24aaab65 WebCore::FECustomFilter::prepareForDrawing(WebCore::FECustomFilter::CustomFilterDrawType)
STDERR: 8   0x24aa941f WebCore::FECustomFilter::applyShader()
STDERR: 9   0x24aa932e WebCore::FECustomFilter::platformApplySoftware()
STDERR: 10  0x24ac4396 WebCore::FilterEffect::apply()
STDERR: 11  0x25a367ab WebCore::FilterEffectRenderer::apply()
STDERR: 12  0x25a36f64 WebCore::FilterEffectRendererHelper::applyFilterEffect()
STDERR: 13  0x25bea756 WebCore::RenderLayer::paintLayerContents(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutSize const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int)
STDERR: 14  0x25be921b WebCore::RenderLayer::paintLayerContentsAndReflection(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutSize const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int)
STDERR: 15  0x25be852c WebCore::RenderLayer::paintLayer(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutSize const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int)
STDERR: 16  0x25beb635 WebCore::RenderLayer::paintList(WTF::Vector&lt;WebCore::RenderLayer*, 0ul&gt;*, WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int)
STDERR: 17  0x25bea5fa WebCore::RenderLayer::paintLayerContents(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutSize const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int)
STDERR: 18  0x25be921b WebCore::RenderLayer::paintLayerContentsAndReflection(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutSize const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int)
STDERR: 19  0x25be852c WebCore::RenderLayer::paintLayer(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutSize const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int)
STDERR: 20  0x25beb635 WebCore::RenderLayer::paintList(WTF::Vector&lt;WebCore::RenderLayer*, 0ul&gt;*, WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int)
STDERR: 21  0x25bea5fa WebCore::RenderLayer::paintLayerContents(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutSize const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int)
STDERR: 22  0x25be921b WebCore::RenderLayer::paintLayerContentsAndReflection(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutSize const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int)
STDERR: 23  0x25be852c WebCore::RenderLayer::paintLayer(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutSize const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int)
STDERR: 24  0x25be7c5b WebCore::RenderLayer::paint(WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, unsigned int)
STDERR: 25  0x2588a73c WebCore::FrameView::paintContents(WebCore::GraphicsContext*, WebCore::IntRect const&amp;)
STDERR: 26  0x2494fabc WebCore::ScrollView::paint(WebCore::GraphicsContext*, WebCore::IntRect const&amp;)
STDERR: 27  0x23516b7e WebKit::PageWidgetDelegate::paint(WebCore::Page*, WebKit::PageOverlayList*, SkCanvas*, WebKit::WebRect const&amp;, WebKit::PageWidgetDelegate::CanvasBackground)
STDERR: 28  0x23655e28 WebKit::WebViewImpl::paint(SkCanvas*, WebKit::WebRect const&amp;, WebKit::WebWidget::PaintOptions)
STDERR: 29  0x22baa308 WebViewHost::paintRect(WebKit::WebRect const&amp;)
STDERR: 30  0x22baa7c9 WebViewHost::paintInvalidatedRegion()
STDERR: 31  0x22b88493 TestShell::dump()
STDERR: [1352:-1602484928:365815664370:ERROR:process_util_posix.cc(144)] Received signal 11
STDERR: 	0   libbase.dylib                       0x2c05ef7f base::debug::StackTrace::StackTrace() + 63
STDERR: 	1   libbase.dylib                       0x2c05ef1b base::debug::StackTrace::StackTrace() + 43
STDERR: 	2   libbase.dylib                       0x2c13a407 base::(anonymous namespace)::StackDumpSignalHandler(int, __siginfo*, __darwin_ucontext*) + 295
STDERR: 	3   libSystem.B.dylib                   0x9539405b _sigtramp + 43
STDERR: 	4   ???                                 0xffffffff 0x0 + 4294967295
STDERR: 	5   libwebkit.dylib                     0x24a9624b WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram(WTF::PassRefPtr&lt;WebCore::GraphicsContext3D&gt;, WTF::String const&amp;, WTF::String const&amp;, WebCore::CustomFilterProgramType) + 491
STDERR: 	6   libwebkit.dylib                     0x24a9603c WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram(WTF::PassRefPtr&lt;WebCore::GraphicsContext3D&gt;, WTF::String const&amp;, WTF::String const&amp;, WebCore::CustomFilterProgramType) + 92
STDERR: 	7   libwebkit.dylib                     0x24a984cb WebCore::CustomFilterCompiledProgram::create(WTF::PassRefPtr&lt;WebCore::GraphicsContext3D&gt;, WTF::String const&amp;, WTF::String const&amp;, WebCore::CustomFilterProgramType) + 139
STDERR: 	8   libwebkit.dylib                     0x24a97944 WebCore::CustomFilterValidatedProgram::compiledProgram() + 356
STDERR: 	9   libwebkit.dylib                     0x24aaad86 WebCore::FECustomFilter::initializeContext() + 310
STDERR: 	10  libwebkit.dylib                     0x24aaab65 WebCore::FECustomFilter::prepareForDrawing(WebCore::FECustomFilter::CustomFilterDrawType) + 85
STDERR: 	11  libwebkit.dylib                     0x24aa941f WebCore::FECustomFilter::applyShader() + 175
STDERR: 	12  libwebkit.dylib                     0x24aa932e WebCore::FECustomFilter::platformApplySoftware() + 46
STDERR: 	13  libwebkit.dylib                     0x24ac4396 WebCore::FilterEffect::apply() + 438
STDERR: 	14  libwebkit.dylib                     0x25a367ab WebCore::FilterEffectRenderer::apply() + 75
STDERR: 	15  libwebkit.dylib                     0x25a36f64 WebCore::FilterEffectRendererHelper::applyFilterEffect() + 212
STDERR: 	16  libwebkit.dylib                     0x25bea756 WebCore::RenderLayer::paintLayerContents(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutSize const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int) + 5382
STDERR: 	17  libwebkit.dylib                     0x25be921b WebCore::RenderLayer::paintLayerContentsAndReflection(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutSize const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int) + 555
STDERR: 	18  libwebkit.dylib                     0x25be852c WebCore::RenderLayer::paintLayer(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutSize const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int) + 2012
STDERR: 	19  libwebkit.dylib                     0x25beb635 WebCore::RenderLayer::paintList(WTF::Vector&lt;WebCore::RenderLayer*, 0ul&gt;*, WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int) + 389
STDERR: 	20  libwebkit.dylib                     0x25bea5fa WebCore::RenderLayer::paintLayerContents(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutSize const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int) + 5034
STDERR: 	21  libwebkit.dylib                     0x25be921b WebCore::RenderLayer::paintLayerContentsAndReflection(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutSize const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int) + 555
STDERR: 	22  libwebkit.dylib                     0x25be852c WebCore::RenderLayer::paintLayer(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutSize const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int) + 2012
STDERR: 	23  libwebkit.dylib                     0x25beb635 WebCore::RenderLayer::paintList(WTF::Vector&lt;WebCore::RenderLayer*, 0ul&gt;*, WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int) + 389
STDERR: 	24  libwebkit.dylib                     0x25bea5fa WebCore::RenderLayer::paintLayerContents(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutSize const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int) + 5034
STDERR: 	25  libwebkit.dylib                     0x25be921b WebCore::RenderLayer::paintLayerContentsAndReflection(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutSize const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int) + 555
STDERR: 	26  libwebkit.dylib                     0x25be852c WebCore::RenderLayer::paintLayer(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, WebCore::FractionalLayoutSize const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, WTF::HashMap&lt;WebCore::OverlapTestRequestClient*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::OverlapTestRequestClient*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, unsigned int) + 2012
STDERR: 	27  libwebkit.dylib                     0x25be7c5b WebCore::RenderLayer::paint(WebCore::GraphicsContext*, WebCore::FractionalLayoutRect const&amp;, unsigned int, WebCore::RenderObject*, WebCore::RenderRegion*, unsigned int) + 299
STDERR: 	28  libwebkit.dylib                     0x2588a73c WebCore::FrameView::paintContents(WebCore::GraphicsContext*, WebCore::IntRect const&amp;) + 1708
STDERR: 	29  libwebkit.dylib                     0x2494fabc WebCore::ScrollView::paint(WebCore::GraphicsContext*, WebCore::IntRect const&amp;) + 1068
STDERR: 	30  libwebkit.dylib                     0x23516b7e WebKit::PageWidgetDelegate::paint(WebCore::Page*, WebKit::PageOverlayList*, SkCanvas*, WebKit::WebRect const&amp;, WebKit::PageWidgetDelegate::CanvasBackground) + 462
STDERR: 	31  libwebkit.dylib                     0x23655e28 WebKit::WebViewImpl::paint(SkCanvas*, WebKit::WebRect const&amp;, WebKit::WebWidget::PaintOptions) + 840
STDERR: 	32  DumpRenderTree                      0x22baa308 WebViewHost::paintRect(WebKit::WebRect const&amp;) + 552
STDERR: 	33  DumpRenderTree                      0x22baa7c9 WebViewHost::paintInvalidatedRegion() + 745
STDERR: 	34  DumpRenderTree                      0x22b88493 TestShell::dump() + 2003
STDERR: 	35  DumpRenderTree                      0x22b87c92 TestShell::testFinished() + 82
STDERR: 	36  DumpRenderTree                      0x22b4465b DRTTestRunner::WorkQueue::processWorkSoon() + 187
STDERR: 	37  DumpRenderTree                      0x22b44cca DRTTestRunner::locationChangeDone() + 138
STDERR: 	38  DumpRenderTree                      0x22ba52d8 WebViewHost::locationChangeDone(WebKit::WebFrame*) + 88
STDERR: 	39  DumpRenderTree                      0x22ba5c63 WebViewHost::didFinishLoad(WebKit::WebFrame*) + 163
STDERR: 	40  DumpRenderTree                      0x22ba5cb9 non-virtual thunk to WebViewHost::didFinishLoad(WebKit::WebFrame*) + 41
STDERR: 	41  libwebkit.dylib                     0x234d3104 WebKit::FrameLoaderClientImpl::dispatchDidFinishLoad() + 148
STDERR: 	42  libwebkit.dylib                     0x25709ce9 WebCore::FrameLoader::checkLoadCompleteForThisFrame() + 1945
STDERR: 	43  libwebkit.dylib                     0x25700529 WebCore::FrameLoader::checkLoadComplete() + 425
STDERR: 	44  libwebkit.dylib                     0x256ffdd1 WebCore::FrameLoader::checkCompleted() + 433
STDERR: 	45  libwebkit.dylib                     0x256fffcb WebCore::FrameLoader::loadDone() + 43
STDERR: 	46  libwebkit.dylib                     0x257aa7bf WebCore::CachedResourceLoader::loadDone() + 127
STDERR: 	47  libwebkit.dylib                     0x25758008 WebCore::SubresourceLoader::releaseResources() + 216
STDERR: 	48  libwebkit.dylib                     0x2574e0a3 WebCore::ResourceLoader::didFinishLoading(double) + 99
STDERR: 	49  libwebkit.dylib                     0x25757adc WebCore::SubresourceLoader::didFinishLoading(double) + 716
STDERR: 	50  libwebkit.dylib                     0x2574eb0f WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle*, double) + 79
STDERR: 	51  libwebkit.dylib                     0x24ba2cda WebCore::ResourceHandleInternal::didFinishLoading(WebKit::WebURLLoader*, double) + 282
STDERR: 	52  libglue.dylib                       0x2ef8006e webkit_glue::WebURLLoaderImpl::Context::OnCompletedRequest(int, bool, std::string const&amp;, base::TimeTicks const&amp;) + 1134
STDERR: 	53  DumpRenderTree                      0x22e65c6d (anonymous namespace)::RequestProxy::NotifyCompletedRequest(int, std::string const&amp;, base::TimeTicks const&amp;) + 125
STDERR: 	54  DumpRenderTree                      0x22e66487 base::internal::RunnableAdapter&lt;void ((anonymous namespace)::RequestProxy::*)(int, std::string const&amp;, base::TimeTicks const&amp;)&gt;::Run((anonymous namespace)::RequestProxy*, int const&amp;, std::string const&amp;, base::TimeTicks const&amp;) + 215
STDERR: 	55  DumpRenderTree                      0x22e66386 base::internal::InvokeHelper&lt;false, void, base::internal::RunnableAdapter&lt;void ((anonymous namespace)::RequestProxy::*)(int, std::string const&amp;, base::TimeTicks const&amp;)&gt;, void ()((anonymous namespace)::RequestProxy* const&amp;, int const&amp;, std::string const&amp;, base::TimeTicks const&amp;)&gt;::MakeItSo(base::internal::RunnableAdapter&lt;void ((anonymous namespace)::RequestProxy::*)(int, std::string const&amp;, base::TimeTicks const&amp;)&gt;, (anonymous namespace)::RequestProxy* const&amp;, int const&amp;, std::string const&amp;, base::TimeTicks const&amp;) + 150
STDERR: 	56  DumpRenderTree                      0x22e662c5 base::internal::Invoker&lt;4, base::internal::BindState&lt;base::internal::RunnableAdapter&lt;void ((anonymous namespace)::RequestProxy::*)(int, std::string const&amp;, base::TimeTicks const&amp;)&gt;, void ()((anonymous namespace)::RequestProxy*, int, std::string const&amp;, base::TimeTicks const&amp;), void ()((anonymous namespace)::RequestProxy*, int, std::string, base::TimeTicks)&gt;, void ()((anonymous namespace)::RequestProxy*, int, std::string const&amp;, base::TimeTicks const&amp;)&gt;::Run(base::internal::BindStateBase*) + 229
STDERR: 	57  libbase.dylib                       0x2c04ecdb base::Callback&lt;void ()()&gt;::Run() const + 75
STDERR: 	58  libbase.dylib                       0x2c0da147 MessageLoop::RunTask(base::PendingTask const&amp;) + 1159
STDERR: 	59  libbase.dylib                       0x2c0da642 MessageLoop::DeferOrRunPendingTask(base::PendingTask const&amp;) + 98
STDERR: 	60  libbase.dylib                       0x2c0da842 MessageLoop::DoWork() + 322
STDERR: 	61  libbase.dylib                       0x2c02d05b base::MessagePumpCFRunLoopBase::RunWork() + 107
STDERR: ax: bbadbeef, bx: 3, cx: 10eadfe0, dx: 10eadfe0
STDERR: di: 26283fe0, si: 26283f76, bp: bfffa2a8, sp: bfffa1b0, ss: 23, flags: 10282
STDERR: ip: 24a96b1e, cs: 1b, ds: 23, es: 23, fs: 0, gs: f</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740532</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-11 19:13:04 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 99127</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740592</commentid>
    <comment_count>27</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-10-11 21:22:01 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; Re-opened since this is blocked by bug 99127

It seems this patch can not cause &quot;ASSERTION FAILED: m_samplerLocation != -1&quot;, but I&apos;ll fix the assertion fail and then post this patch again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740602</commentid>
    <comment_count>28</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-11 21:32:06 -0700</bug_when>
    <thetext>&gt; It seems this patch can not cause &quot;ASSERTION FAILED: m_samplerLocation != -1&quot;

Reverting the patch appears to have made the assertion go away.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740645</commentid>
    <comment_count>29</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-10-11 23:04:31 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; &gt; It seems this patch can not cause &quot;ASSERTION FAILED: m_samplerLocation != -1&quot;
&gt; 
&gt; Reverting the patch appears to have made the assertion go away.

Ok. Could I know which test cases cause this crash. I could not reproduce crash using css1/filters/custom/*, although I tested using Qt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740881</commentid>
    <comment_count>30</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-12 06:26:06 -0700</bug_when>
    <thetext>I&apos;m sorry, I forgot to record that information.  :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741041</commentid>
    <comment_count>31</comment_count>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-12 11:07:46 -0700</bug_when>
    <thetext>This assert means we can&apos;t find the sampler &quot;css_u_texture&quot; in the compiled program. Maybe the driver compiler optimizes away &quot;css_u_texture&quot; when the compositing mode is clear, since it sees a multiplication by zero?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741073</commentid>
    <comment_count>32</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-10-12 11:45:59 -0700</bug_when>
    <thetext>(In reply to comment #31)
&gt; This assert means we can&apos;t find the sampler &quot;css_u_texture&quot; in the compiled program. Maybe the driver compiler optimizes away &quot;css_u_texture&quot; when the compositing mode is clear, since it sees a multiplication by zero?

Yeah, good suggestion on where to start.

Thanks for rolling it out Adam.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741082</commentid>
    <comment_count>33</comment_count>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-12 11:50:20 -0700</bug_when>
    <thetext>(In reply to comment #32)
&gt; (In reply to comment #31)
&gt; &gt; This assert means we can&apos;t find the sampler &quot;css_u_texture&quot; in the compiled program. Maybe the driver compiler optimizes away &quot;css_u_texture&quot; when the compositing mode is clear, since it sees a multiplication by zero?
&gt; 
&gt; Yeah, good suggestion on where to start.
&gt; 
&gt; Thanks for rolling it out Adam.

Yup, thanks Adam :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741399</commentid>
    <comment_count>34</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-10-12 21:01:24 -0700</bug_when>
    <thetext>(In reply to comment #30)
&gt; I&apos;m sorry, I forgot to record that information.  :(

Ok. Thanks. I reproduced.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741400</commentid>
    <comment_count>35</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-10-12 21:03:53 -0700</bug_when>
    <thetext>(In reply to comment #31)
&gt; This assert means we can&apos;t find the sampler &quot;css_u_texture&quot; in the compiled program. Maybe the driver compiler optimizes away &quot;css_u_texture&quot; when the compositing mode is clear, since it sees a multiplication by zero?

Yes, exactly! When the compositing mode is clear or copy, the driver compiler optimizes may remove &quot;css_u_texture&quot;, so we may remove assertions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741401</commentid>
    <comment_count>36</comment_count>
      <attachid>168535</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-10-12 21:06:47 -0700</bug_when>
    <thetext>Created attachment 168535
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741617</commentid>
    <comment_count>37</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-10-14 15:36:34 -0700</bug_when>
    <thetext>(In reply to comment #36)
&gt; Created an attachment (id=168535) [details]
&gt; Patch

I just removed ASSERTIONs in CustomFilterCompiledProgram::initializeParameterLocations().

It is ok because FECustomFilter checks if uniform and attribute are -1 before binding them.

1. For ASSERT(m_samplerLocation != -1), FECustomFilter binds m_samplerLocation uniform if m_samplerLocation is not -1.
void FECustomFilter::bindProgramAndBuffers(Platform3DObject inputTexture)
{
    ....    
    if (programNeedsInputTexture()) {
        ....
        m_context-&gt;activeTexture(GraphicsContext3D::TEXTURE0);
        m_context-&gt;uniform1i(m_compiledProgram-&gt;samplerLocation(), 0);
        m_context-&gt;bindTexture(GraphicsContext3D::TEXTURE_2D, inputTexture);
        ....
    }
    ....
}

bool FECustomFilter::programNeedsInputTexture() const
{
    ASSERT(m_compiledProgram.get());
    return m_compiledProgram-&gt;samplerLocation() != -1;
}

2. For ASSERT(m_internalTexCoordAttribLocation != -1), FECustomFilter binds m_internalTexCoordAttribLocation attribute if m_internalTexCoordAttribLocation is not -1.
void FECustomFilter::bindProgramAndBuffers(Platform3DObject inputTexture)
{
    ....
    bindVertexAttribute(m_compiledProgram-&gt;internalTexCoordAttribLocation(), TexAttribSize, TexAttribOffset);
    ....
}

void FECustomFilter::bindVertexAttribute(int attributeLocation, unsigned size, unsigned offset)
{
    if (attributeLocation != -1) {
        m_context-&gt;vertexAttribPointer(attributeLocation, size, GraphicsContext3D::FLOAT, false, m_mesh-&gt;bytesPerVertex(), offset);
        m_context-&gt;enableVertexAttribArray(attributeLocation);
    }
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742493</commentid>
    <comment_count>38</comment_count>
      <attachid>168535</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-15 15:05:30 -0700</bug_when>
    <thetext>Comment on attachment 168535
Patch

Thanks for investigating the issue!

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

&gt; Source/WebCore/ChangeLog:19
&gt; +            Remove ASSERTION checking if glGetUniformlocation returns negative,

Nit: Capitalization &quot;glGetUniformLocation&quot;.

&gt; Source/WebCore/ChangeLog:24
&gt; +            glGetuniformlocation returns -1. glGetAttribLocation ditto.

Ditto.

&gt; Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.cpp:-139
&gt; -        ASSERT(m_samplerLocation != -1);

This assertion is nice because it can catch bugs in the shader rewriting, so I&apos;m not sure we should remove it.

Perhaps we can move this assertion to:
CustomFilterValidatedProgram::compiledProgram()

And it can look like this:
ASSERT(m_samplerLocation != -1 || !needsInputTexture());

Calling a new method:
bool CustomFilterValidatedProgram::needsInputTexture() const
{
     return m_programInfo.programType == PROGRAM_TYPE_BLENDS_ELEMENT_TEXTURE
          &amp;&amp; m_programInfo.compositeOperator != CompositeClear 
          &amp;&amp; m_programInfo.compositeOperator != CompositeCopy;
}

I&apos;m suggesting moving it CustomFilterValidatedProgram because CustomFilterCompiledProgram doesn&apos;t know about compositing operators. It only knows about the GLSL shader strings it should to compile.

What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742732</commentid>
    <comment_count>39</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-10-15 19:39:15 -0700</bug_when>
    <thetext>(In reply to comment #38)
&gt; (From update of attachment 168535 [details])
&gt; Thanks for investigating the issue!
&gt; This assertion is nice because it can catch bugs in the shader rewriting, so I&apos;m not sure we should remove it.
&gt; 
&gt; I&apos;m suggesting moving it CustomFilterValidatedProgram because CustomFilterCompiledProgram doesn&apos;t know about compositing operators. It only knows about the GLSL shader strings it should to compile.
&gt; 
&gt; What do you think?

Thanks for your explanation! You are right absolutely.

I wanted to not remove ASSERTIONs but I did not know how CustomFilterCompiledProgram can know about compositing operators.

I&apos;ll update soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743641</commentid>
    <comment_count>40</comment_count>
      <attachid>169042</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-10-16 15:38:00 -0700</bug_when>
    <thetext>Created attachment 169042
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743645</commentid>
    <comment_count>41</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-10-16 15:40:01 -0700</bug_when>
    <thetext>(In reply to comment #40)
&gt; Created an attachment (id=169042) [details]
&gt; Patch

Move assertions in CustomFilterCompiledProgram to CustomFilterValidatedProgram as Max suggested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745663</commentid>
    <comment_count>42</comment_count>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2012-10-18 15:48:47 -0700</bug_when>
    <thetext>(In reply to comment #41)
&gt; (In reply to comment #40)
&gt; &gt; Created an attachment (id=169042) [details] [details]
&gt; &gt; Patch
&gt; 
&gt; Move assertions in CustomFilterCompiledProgram to CustomFilterValidatedProgram as Max suggested.

Thanks! This looks good to me. Perhaps you can ask Dean for another look :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748987</commentid>
    <comment_count>43</comment_count>
      <attachid>169042</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-23 14:31:41 -0700</bug_when>
    <thetext>Comment on attachment 169042
Patch

Clearing flags on attachment: 169042

Committed r132267: &lt;http://trac.webkit.org/changeset/132267&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748988</commentid>
    <comment_count>44</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-23 14:31:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166171</attachid>
            <date>2012-09-28 01:31:40 -0700</date>
            <delta_ts>2012-09-28 02:14:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97859-20120928173046.patch</filename>
            <type>text/plain</type>
            <size>19904</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5Nzk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDQ5YjBiZDE1YzZmZmJi
MjQxYjE2NjE1NDViOGVjNDZkYjBlZTQ5Mi4uYTE2YzBiNGI1NjlhNmZkOGE3NGIzMmUwMGQ3MDcx
ZjUwODY4ZTYzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA5LTI3ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gSW1wbGVtZW50IGFsbCBjb21wb3NpdGUgb3BlcmF0b3JzLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc4NTkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZXhwcmVzc2lvbnMgZm9yIGFsbCBj
b21wb3NpdGUgb3BlcmF0b3JzLiBUaGUgZXhwcmVzc2lvbnMgYXJlIGxpZnRlZCBkaXJlY3RseQor
ICAgICAgICBmcm9tIHRoZSBDU1MgQ29tcG9zaXRpbmcgYW5kIEJsZW5kaW5nIHNwZWMgWzFdLiBX
ZWJLaXQgYWRkcyB0aGVzZSBjb21wb3NpdGluZyBleHByZXNzaW9ucyB0bworICAgICAgICB0aGUg
YXV0aG9yJ3Mgc2hhZGVyLgorCisgICAgICAgIFsxXTogaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9G
WFRGL3Jhd2ZpbGUvdGlwL2NvbXBvc2l0aW5nL2luZGV4Lmh0bWwjYWR2YW5jZWRjb21wb3NpdGlu
ZworCisgICAgICAgIFRlc3Q6IGNzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21w
b3NpdGUtb3BlcmF0b3JzLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjppc0NvbXBvc2l0ZU9wZXJhdG9yKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbTo6Y29t
cG9zaXRlRnVuY3Rpb25TdHJpbmcpOgorCiAyMDEyLTA5LTI2ICBIdWFuZyBEb25nc3VuZyAgPGx1
eHRlbGxhQGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIFtDU1MgU2hhZGVyc10gUmVtb3ZlIGFu
IHVudXNlZCBtZW1iZXIgdmFyaWFibGUgbV9wcm9ncmFtIGluIEZFQ3VzdG9tRmlsdGVyLmgKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggOWE5MjJmMTkxMjdmOTY5OTYyNmIwY2YzM2IzODMz
Y2YyNmQzMGY4NC4uZGI3NzhkZjhiNjQ0MWNmNzc3NzkzMTc1ODlkZTA0ZGE0MzE1OTc0YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTc0NjQsOCArNzQ2NCw3IEBAIGJvb2wgQ1NTUGFy
c2VyOjppc0JsZW5kTW9kZShpbnQgaWRlbnQpCiAKIGJvb2wgQ1NTUGFyc2VyOjppc0NvbXBvc2l0
ZU9wZXJhdG9yKGludCBpZGVudCkKIHsKLSAgICAvLyBGSVhNRTogQWRkIENTU1ZhbHVlRGVzdGlu
YXRpb24gYW5kIENTU1ZhbHVlTGlnaHRlciB3aGVuIHRoZSBDb21wb3NpdGluZyBzcGVjIHVwZGF0
ZXMuCi0gICAgcmV0dXJuIGlkZW50ID49IENTU1ZhbHVlQ2xlYXIgJiYgaWRlbnQgPD0gQ1NTVmFs
dWVYb3I7CisgICAgcmV0dXJuIGlkZW50ID49IENTU1ZhbHVlQ2xlYXIgJiYgaWRlbnQgPD0gQ1NT
VmFsdWVQbHVzTGlnaHRlciAmJiBpZGVudCAhPSBDU1NWYWx1ZVBsdXNEYXJrZXI7CiB9CiAKICNp
ZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0
ZWRQcm9ncmFtLmNwcAppbmRleCA0MjExZTgyYjc4MWIxYTBhY2I1MjdmMzBkZjVjMDE0MzljNDUx
ODA5Li44NmNmOWI2MjZhZWMzM2Q4OGU0Mzg2MTI3ZmE3NjlkODRhMmYwZTIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZh
bGlkYXRlZFByb2dyYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAKQEAgLTI0OSwxOCArMjQ5
LDQ5IEBAIFN0cmluZyBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtOjpjb21wb3NpdGVGdW5j
dGlvblN0cmluZyhDb21wb3NpdGVPcGVyYXRvciBjCiAgICAgICAgIEZiID0gIjEuMCAtIGFzIjsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3NpdGVDbGVhcjoKKyAgICAgICAgRmEgPSAi
MC4wIjsKKyAgICAgICAgRmIgPSAiMC4wIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21w
b3NpdGVDb3B5OgorICAgICAgICBGYSA9ICIxLjAiOworICAgICAgICBGYiA9ICIwLjAiOworICAg
ICAgICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZVNvdXJjZU92ZXI6CisgICAgICAgIEZhID0g
IjEuMCI7CisgICAgICAgIEZiID0gIjEuMCAtIGFzIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBDb21wb3NpdGVTb3VyY2VJbjoKKyAgICAgICAgRmEgPSAiYWIiOworICAgICAgICBGYiA9ICIw
LjAiOworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZVNvdXJjZU91dDoKKyAgICAg
ICAgRmEgPSAiMS4wIC0gYWIiOworICAgICAgICBGYiA9ICIwLjAiOworICAgICAgICBicmVhazsK
ICAgICBjYXNlIENvbXBvc2l0ZURlc3RpbmF0aW9uT3ZlcjoKKyAgICAgICAgRmEgPSAiMS4wIC0g
YWIiOworICAgICAgICBGYiA9ICIxLjAiOworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbXBv
c2l0ZURlc3RpbmF0aW9uSW46CisgICAgICAgIEZhID0gIjAuMCI7CisgICAgICAgIEZiID0gImFz
IjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3NpdGVEZXN0aW5hdGlvbk91dDoKKyAg
ICAgICAgRmEgPSAiMC4wIjsKKyAgICAgICAgRmIgPSAiMS4wIC0gYXMiOworICAgICAgICBicmVh
azsKICAgICBjYXNlIENvbXBvc2l0ZURlc3RpbmF0aW9uQXRvcDoKKyAgICAgICAgRmEgPSAiMS4w
IC0gYWIiOworICAgICAgICBGYiA9ICJhcyI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29t
cG9zaXRlWE9SOgorICAgICAgICBGYSA9ICIxLjAgLSBhYiI7CisgICAgICAgIEZiID0gIjEuMCAt
IGFzIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3NpdGVQbHVzTGlnaHRlcjoKLSAg
ICAgICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgICAg
ICBGYSA9ICIxLjAiOworICAgICAgICBGYiA9ICIxLjAiOworICAgICAgICBicmVhazsKICAgICBk
ZWZhdWx0OgogICAgICAgICAvLyBUaGUgQ1NTIHBhcnNlciBzaG91bGQgbm90IGhhdmUgYWNjZXB0
ZWQgYW55IG90aGVyIGNvbXBvc2l0ZSBvcGVyYXRvcnMuCiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwpAQCAtMjc1LDcgKzMwNiw4IEBAIFN0cmluZyBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQ
cm9ncmFtOjpjb21wb3NpdGVGdW5jdGlvblN0cmluZyhDb21wb3NpdGVPcGVyYXRvciBjCiAgICAg
ICAgIHsKICAgICAgICAgICAgIG1lZGl1bXAgZmxvYXQgRmEgPSAlczsKICAgICAgICAgICAgIG1l
ZGl1bXAgZmxvYXQgRmIgPSAlczsKLSAgICAgICAgICAgIHJldHVybiB2ZWM0KGFzICogRmEgKiBD
cyArIGFiICogRmIgKiBDYiwgYXMgKiBGYSArIGFiICogRmIpOyAKKyAgICAgICAgICAgIG1lZGl1
bXAgZmxvYXQgYW8gPSBhcyAqIEZhICsgYWIgKiBGYjsKKyAgICAgICAgICAgIHJldHVybiB2ZWM0
KChhcyAqIEZhICogQ3MgKyBhYiAqIEZiICogQ2IpIC8gYW8sIGFvKTsKICAgICAgICAgfQogICAg
ICksIEZhLCBGYik7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDU0OTMxZDg0ZjMyMzJhMWUzMjljNzQyNzFiN2FmZTlm
NDY1NjA1YS4uNDc3NzBhYmE3MTY5OGRmMDA2MWU1ZjNkOTgxOTVkYTExMjE2ZmU2YSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDEyLTA5LTI3ICBIdWFuZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNv
bXBhbnkxMDAubmV0PgorCisgICAgICAgIFtDU1MgU2hhZGVyc10gSW1wbGVtZW50IGFsbCBjb21w
b3NpdGUgb3BlcmF0b3JzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTc4NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgdGVzdCB0byBjaGVjayB0aGF0IHRoZSBET00gZWxlbWVudCB0ZXh0dXJlIGNv
bXBvc2l0ZXMgY29ycmVjdGx5IHdpdGggdGhlIGNzc19NaXhDb2xvcgorICAgICAgICB2YXJpYWJs
ZSBmcm9tIHRoZSBhdXRob3IncyBzaGFkZXIgZm9yIGVhY2ggY29tcG9zaXRlIG9wZXJhdG9yLgor
CisgICAgICAgICogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNvbXBvc2l0ZS1v
cGVyYXRvcnMtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2N1
c3RvbS9jdXN0b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMuaHRtbDogQWRkZWQuCisKIDIw
MTItMDgtMjcgIEh1YW5nIERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CiAKICAg
ICAgICAgW1Rlc3RzXSBNYWtlIGZhc3QvY2FudmFzL2NhbnZhcy1zY2FsZS1zaGFkb3dCbHVyLmh0
bWwgaW4gY29uZm9ybWFuY2Ugd2l0aCBzcGVjLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1j
b21wb3NpdGUtb3BlcmF0b3JzLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzcxZDY3MDVjMDQ4
NzVmZjRiZjI2YTg4NzA3Y2VhYzJjZWIwNzE1NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUtb3BlcmF0b3Jz
LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMTAgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKyAgICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVyIGNvbXBvc2l0ZSBv
cGVyYXRvcnMgY29tcHV0ZSBjb2xvciB2YWx1ZXMgY29ycmVjdGx5LjwvdGl0bGU+CisgICAgPCEt
LQorICAgICAgICBUaGlzIGlzIHRoZSByZWZlcmVuY2UgZmlsZSBmb3IgdGhlIHRlc3QuCisgICAg
ICAgIFRoZSB0ZXN0IHBhc3NlcyBpZiBlYWNoIGhvcml6b250YWwgcGFpciBvZiBzcXVhcmVzIGFy
ZSBleGFjdGx5IHRoZSBzYW1lIGNvbG9yLgorICAgICAgICBUaGUgdGVzdCBmaWxlIGRlc2NyaWJl
cyBob3cgdGhlIGNvbG9yIHZhbHVlcyBpbiB0aGlzIHJlZmVyZW5jZSBmaWxlIGFyZSBjb21wdXRl
ZC4KKyAgICAtLT4KKyAgICA8c3R5bGU+CisgICAgLnBhaXItb2Ytc3F1YXJlcyB7CisgICAgICAg
IGNsZWFyOiBib3RoOworICAgIH0KKyAgICAucGFpci1vZi1zcXVhcmVzID4gZGl2IHsKKyAgICAg
ICAgLyogU3F1YXJlIHNpemUuICovCisgICAgICAgIHdpZHRoOiAyMHB4OworICAgICAgICBoZWln
aHQ6IDIwcHg7CisgICAgICAgIG1hcmdpbjogMnB4OworICAgICAgICBmbG9hdDogbGVmdDsKKyAg
ICB9CisgICAgLyogQ29tcG9zaXRlIG9wZXJhdG9ycyAqLworICAgIC5zb3VyY2UtYXRvcC1leHBl
Y3RlZCB7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTAlLCA0NSUsIDUwJSwgMC42
KTsKKyAgICB9CisgICAgLmNsZWFyLWV4cGVjdGVkIHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xv
cjogcmdiYSgwJSwgMCUsIDAlLCAwLjApOworICAgIH0KKyAgICAuY29weS1leHBlY3RlZCB7Cisg
ICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCUsIDYwJSwgNTAlLCAwLjUpOworICAgIH0K
KyAgICAuc291cmNlLW92ZXItZXhwZWN0ZWQgeworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBy
Z2JhKDM3LjUlLCA0OC43NSUsIDUwJSwgMC44KTsKKyAgICB9CisgICAgLnNvdXJjZS1pbi1leHBl
Y3RlZCB7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCUsIDYwJSwgNTAlLCAwLjMp
OworICAgIH0KKyAgICAuc291cmNlLW91dC1leHBlY3RlZCB7CisgICAgICAgIGJhY2tncm91bmQt
Y29sb3I6IHJnYmEoMCUsIDYwJSwgNTAlLCAwLjIpOworICAgIH0KKyAgICAuZGVzdGluYXRpb24t
b3Zlci1leHBlY3RlZCB7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzUlLCAzNy41
JSwgNTAlLCAwLjgpOworICAgIH0KKyAgICAuZGVzdGluYXRpb24taW4tZXhwZWN0ZWQgeworICAg
ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCUsIDMwJSwgNTAlLCAwLjMpOworICAgIH0K
KyAgICAuZGVzdGluYXRpb24tb3V0LWV4cGVjdGVkIHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xv
cjogcmdiYSgxMDAlLCAzMCUsIDUwJSwgMC4zKTsKKyAgICB9CisgICAgLmRlc3RpbmF0aW9uLWF0
b3AtZXhwZWN0ZWQgeworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYwJSwgNDIlLCA1
MCUsIDAuNSk7CisgICAgfQorICAgIC54b3ItZXhwZWN0ZWQgeworICAgICAgICBiYWNrZ3JvdW5k
LWNvbG9yOiByZ2JhKDYwJSwgNDIlLCA1MCUsIDAuNSk7CisgICAgfQorICAgIC5saWdodGVyLWV4
cGVjdGVkIHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1NC41NDU0NTUlLCA0My42
MzYzNjQlLCA1MCUgLDEuMCk7CisgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KyAgICA8ZGl2IGNsYXNzPSJwYWlyLW9mLXNxdWFyZXMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJz
b3VyY2UtYXRvcC1leHBlY3RlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNvdXJjZS1h
dG9wLWV4cGVjdGVkIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJwYWlyLW9m
LXNxdWFyZXMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhci1leHBlY3RlZCI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyLWV4cGVjdGVkIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAg
ICA8ZGl2IGNsYXNzPSJwYWlyLW9mLXNxdWFyZXMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJjb3B5
LWV4cGVjdGVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iY29weS1leHBlY3RlZCI+PC9k
aXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icGFpci1vZi1zcXVhcmVzIj4KKyAgICAg
ICAgPGRpdiBjbGFzcz0ic291cmNlLW92ZXItZXhwZWN0ZWQiPjwvZGl2PgorICAgICAgICA8ZGl2
IGNsYXNzPSJzb3VyY2Utb3Zlci1leHBlY3RlZCI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRp
diBjbGFzcz0icGFpci1vZi1zcXVhcmVzIj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic291cmNlLWlu
LWV4cGVjdGVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic291cmNlLWluLWV4cGVjdGVk
Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJwYWlyLW9mLXNxdWFyZXMiPgor
ICAgICAgICA8ZGl2IGNsYXNzPSJzb3VyY2Utb3V0LWV4cGVjdGVkIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBjbGFzcz0ic291cmNlLW91dC1leHBlY3RlZCI+PC9kaXY+CisgICAgPC9kaXY+CisgICAg
PGRpdiBjbGFzcz0icGFpci1vZi1zcXVhcmVzIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGlu
YXRpb24tb3Zlci1leHBlY3RlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0
aW9uLW92ZXItZXhwZWN0ZWQiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InBh
aXItb2Ytc3F1YXJlcyI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uLWluLWV4cGVj
dGVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24taW4tZXhwZWN0ZWQi
PjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InBhaXItb2Ytc3F1YXJlcyI+Cisg
ICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uLW91dC1leHBlY3RlZCI+PC9kaXY+CisgICAg
ICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uLW91dC1leHBlY3RlZCI+PC9kaXY+CisgICAgPC9k
aXY+CisgICAgPGRpdiBjbGFzcz0icGFpci1vZi1zcXVhcmVzIj4KKyAgICAgICAgPGRpdiBjbGFz
cz0iZGVzdGluYXRpb24tYXRvcC1leHBlY3RlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9
ImRlc3RpbmF0aW9uLWF0b3AtZXhwZWN0ZWQiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYg
Y2xhc3M9InBhaXItb2Ytc3F1YXJlcyI+CisgICAgICAgIDxkaXYgY2xhc3M9Inhvci1leHBlY3Rl
ZCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9Inhvci1leHBlY3RlZCI+PC9kaXY+CisgICAg
PC9kaXY+CisgICAgPGRpdiBjbGFzcz0icGFpci1vZi1zcXVhcmVzIj4KKyAgICAgICAgPGRpdiBj
bGFzcz0ibGlnaHRlci1leHBlY3RlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImxpZ2h0
ZXItZXhwZWN0ZWQiPjwvZGl2PgorICAgIDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNvbXBv
c2l0ZS1vcGVyYXRvcnMuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3Vz
dG9tLWZpbHRlci1jb21wb3NpdGUtb3BlcmF0b3JzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDYzZmNjZmEw
Y2Y4MDg3OTg3NTBhODA5MzZmOGM4M2Q1OWUzODUwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUtb3BlcmF0
b3JzLmh0bWwKQEAgLTAsMCArMSwzMTkgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKyAgICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVyIGNvbXBvc2l0ZSBvcGVyYXRv
cnMgY29tcHV0ZSBjb2xvciB2YWx1ZXMgY29ycmVjdGx5LjwvdGl0bGU+CisgICAgPCEtLSBUaGlz
IHRlc3QgcGFzc2VzIGlmIGVhY2ggaG9yaXpvbnRhbCBwYWlyIG9mIHNxdWFyZXMgYXJlIGV4YWN0
bHkgdGhlIHNhbWUgY29sb3IuIC0tPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgeworICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIub3ZlcnJpZGVQcmVm
ZXJlbmNlKCJXZWJLaXRDU1NDdXN0b21GaWx0ZXJFbmFibGVkIiwgIjEiKTsKKyAgICAgICAgICAg
IHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0V2ViR0xFbmFibGVk
IiwgIjEiKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDxzdHlsZT4KKyAgICAucGFp
ci1vZi1zcXVhcmVzIHsKKyAgICAgICAgY2xlYXI6IGJvdGg7CisgICAgfQorICAgIC5wYWlyLW9m
LXNxdWFyZXMgPiBkaXYgeworICAgICAgICAvKiBTcXVhcmUgc2l6ZS4gKi8KKyAgICAgICAgd2lk
dGg6IDIwcHg7CisgICAgICAgIGhlaWdodDogMjBweDsKKyAgICAgICAgbWFyZ2luOiAycHg7Cisg
ICAgICAgIGZsb2F0OiBsZWZ0OworICAgIH0KKyAgICAuZGVzdGluYXRpb24geworICAgICAgICAv
KiBEZXN0aW5hdGlvbiBjb2xvciAqLworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEw
MCUsIDMwJSwgNTAlLCAwLjYpOworICAgIH0KKyAgICAvKiBDb21wb3NpdGUgb3BlcmF0b3JzICov
CisgICAgLnNvdXJjZS1hdG9wIHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbShub25l
IG1peCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgc291cmNlLWF0b3Ap
LCBtaXhfY29sb3IgMC4wIDAuNiAwLjUgMC41KTsKKyAgICB9CisgICAgLyoKKyAgICAgICAgVGhl
IGVxdWF0aW9ucyBiZWxvdyB1c2UgdGhlIHN5bWJvbHMgYW5kIGVxdWF0aW9ucyBkZWZpbmVkIGlu
IHRoZSBDU1MgQmxlbmRpbmcgYW5kIENvbXBvc2l0aW5nIHNwZWMsIHdoZXJlOgorICAgICAgICAg
ICAgQ28gPSBvdXRwdXQgY29sb3IKKyAgICAgICAgICAgIENzID0gc291cmNlIGNvbG9yIChha2Eg
Im1peCBjb2xvciIsICJjc3NfTWl4Q29sb3IiKQorICAgICAgICAgICAgQ2IgPSBkZXN0aW5hdGlv
biBjb2xvciAoYWthICJiYWNrZHJvcCBjb2xvciIsICJvcmlnaW5hbCBET00gZWxlbWVudCBjb2xv
ciIpCisKKyAgICAgICAgICAgIGNvID0gzrFzIHggRmEgeCBDcyArIM6xYiB4IEZiIHggQ2IKKyAg
ICAgICAgICAgIM6xbyA9IM6xcyB4IDEgKyDOsWIgeCAoMSDigJMgzrFzKQorICAgICAgICAgICAg
Q28gPSBjbyAvIM6xbworCisgICAgICAgIGh0dHBzOi8vZHZjcy53My5vcmcvaGcvRlhURi9yYXdm
aWxlL3RpcC9jb21wb3NpdGluZy9pbmRleC5odG1sI2dlbmVyYWxmb3JtdWxhCisgICAgKi8KKyAg
ICAuc291cmNlLWF0b3AtZXhwZWN0ZWQgeworICAgICAgICAvKgorICAgICAgICAgICAgU291cmNl
QXRvcDoKKworICAgICAgICAgICAgRmEgPSDOsWI7IEZiID0gMSDigJMgzrFzCisgICAgICAgICAg
ICBjbyA9IM6xcyB4IENzIHggzrFiICsgzrFiIHggQ2IgeCAoMSDigJMgzrFzKQorICAgICAgICAg
ICAgzrFvID0gzrFzIHggzrFiICsgzrFiIHggKDEg4oCTIM6xcykKKyAgICAgICAgICAgIENvID0g
Y28gLyDOsW8KKworICAgICAgICAgICAgYSA9IDAuNSB4IDEgKyAwLjYgeCAoMSAtIDAuNSkgPSAw
LjYKKyAgICAgICAgICAgIHIgPSAoMC41IHggMCB4IDAuNiArIDAuNiB4IDEgeCAoMSAtIDAuNSkp
IC8gYSA9IDAuNQorICAgICAgICAgICAgZyA9ICgwLjUgeCAwLjYgeCAwLjYgKyAwLjYgeCAwLjMg
eCAoMSAtIDAuNSkpIC8gYSA9IDAuNDUKKyAgICAgICAgICAgIGIgPSAoMC41IHggMC41IHggMC42
ICsgMC42IHggMC41IHggKDEgLSAwLjUpKSAvIGEgPSAwLjUKKyAgICAgICAgKi8KKyAgICAgICAg
YmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MCUsIDQ1JSwgNTAlLCAwLjYpOworICAgIH0KKyAgICAu
Y2xlYXIgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKG5vbmUgbWl4KHVybCgnLi4v
cmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBjbGVhciksIG1peF9jb2xvciAwLjAgMC42
IDAuNSAwLjUpOworICAgIH0KKyAgICAuY2xlYXItZXhwZWN0ZWQgeworICAgICAgICAvKgorICAg
ICAgICAgICAgQ2xlYXI6CisKKyAgICAgICAgICAgIEZhID0gMDsgRmIgPSAwCisgICAgICAgICAg
ICBjbyA9IDAKKyAgICAgICAgICAgIM6xbyA9IDAKKworICAgICAgICAgICAgYSA9IDAuMAorICAg
ICAgICAgICAgciA9IDAuMAorICAgICAgICAgICAgZyA9IDAuMAorICAgICAgICAgICAgYiA9IDAu
MAorICAgICAgICAqLworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAlLCAwJSwgMCUs
IDAuMCk7CisgICAgfQorICAgIC5jb3B5IHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3Rv
bShub25lIG1peCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgY29weSks
IG1peF9jb2xvciAwLjAgMC42IDAuNSAwLjUpOworICAgIH0KKyAgICAuY29weS1leHBlY3RlZCB7
CisgICAgICAgIC8qCisgICAgICAgICAgICBDb3B5OgorCisgICAgICAgICAgICBGYSA9IDE7IEZi
ID0gMAorICAgICAgICAgICAgY28gPSDOsXMgeCBDcworICAgICAgICAgICAgzrFvID0gzrFzCisg
ICAgICAgICAgICBDbyA9IGNvIC8gzrFvCisKKyAgICAgICAgICAgIGEgPSAwLjUKKyAgICAgICAg
ICAgIHIgPSAwLjAKKyAgICAgICAgICAgIGcgPSAwLjYKKyAgICAgICAgICAgIGIgPSAwLjUKKyAg
ICAgICAgKi8KKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwJSwgNjAlLCA1MCUsIDAu
NSk7CisgICAgfQorICAgIC5zb3VyY2Utb3ZlciB7CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBj
dXN0b20obm9uZSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykgbm9ybWFsIHNv
dXJjZS1vdmVyKSwgbWl4X2NvbG9yIDAuMCAwLjYgMC41IDAuNSk7CisgICAgfQorICAgIC5zb3Vy
Y2Utb3Zlci1leHBlY3RlZCB7CisgICAgICAgIC8qCisgICAgICAgICAgICBTb3VyY2VPdmVyOgor
CisgICAgICAgICAgICBGYSA9IDE7IEZiID0gMSDigJMgzrFzCisgICAgICAgICAgICBjbyA9IM6x
cyB4IENzICsgzrFiIHggQ2IgeCAoMSDigJMgzrFzKQorICAgICAgICAgICAgzrFvID0gzrFzICsg
zrFiIHggKDEg4oCTIM6xcykKKyAgICAgICAgICAgIENvID0gY28gLyDOsW8KKworICAgICAgICAg
ICAgYSA9IDAuNSArIDAuNiB4ICggMSAtIDAuNSkgPSAwLjgKKyAgICAgICAgICAgIHIgPSAoMC41
IHggMCArIDAuNiB4IDEgeCAoMSAtIDAuNSkpIC8gYSA9IDAuMzc1CisgICAgICAgICAgICBnID0g
KDAuNSB4IDAuNiArIDAuNiB4IDAuMyB4ICgxIC0gMC41KSkgLyBhID0gMC40ODc1CisgICAgICAg
ICAgICBiID0gKDAuNSB4IDAuNSArIDAuNiB4IDAuNSB4ICgxIC0gMC41KSkgLyBhID0gMC41Cisg
ICAgICAgICovCisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzcuNSUsIDQ4Ljc1JSwg
NTAlLCAwLjgpOworICAgIH0KKyAgICAuc291cmNlLWluIHsKKyAgICAgICAgLXdlYmtpdC1maWx0
ZXI6IGN1c3RvbShub25lIG1peCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29sb3IuZnMnKSBub3Jt
YWwgc291cmNlLWluKSwgbWl4X2NvbG9yIDAuMCAwLjYgMC41IDAuNSk7CisgICAgfQorICAgIC5z
b3VyY2UtaW4tZXhwZWN0ZWQgeworICAgICAgICAvKgorICAgICAgICAgICAgU291cmNlSW46CisK
KyAgICAgICAgICAgIEZhID0gzrFiOyBGYiA9IDAKKyAgICAgICAgICAgIGNvID0gzrFzIHggQ3Mg
eCDOsWIKKyAgICAgICAgICAgIM6xbyA9IM6xcyB4IM6xYgorICAgICAgICAgICAgQ28gPSBjbyAv
IM6xbworCisgICAgICAgICAgICBhID0gMC41IHggMC42ID0gMC4zCisgICAgICAgICAgICByID0g
MC41IHggMCB4IDAuNiAvIGEgPSAwCisgICAgICAgICAgICBnID0gMC41IHggMC42IHggMC42IC8g
YSA9IDAuNgorICAgICAgICAgICAgYiA9IDAuNSB4IDAuNSB4IDAuNiAvIGEgPSAwLjUKKyAgICAg
ICAgKi8KKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwJSwgNjAlLCA1MCUsIDAuMyk7
CisgICAgfQorICAgIC5zb3VyY2Utb3V0IHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3Rv
bShub25lIG1peCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgc291cmNl
LW91dCksIG1peF9jb2xvciAwLjAgMC42IDAuNSAwLjUpOworICAgIH0KKyAgICAuc291cmNlLW91
dC1leHBlY3RlZCB7CisgICAgICAgIC8qCisgICAgICAgICAgICBTb3VyY2VPdXQ6CisKKyAgICAg
ICAgICAgIEZhID0gMSDigJMgzrFiOyBGYiA9IDAKKyAgICAgICAgICAgIGNvID0gzrFzIHggQ3Mg
eCAoMSDigJMgzrFiKQorICAgICAgICAgICAgzrFvID0gzrFzIHggKDEg4oCTIM6xYikKKyAgICAg
ICAgICAgIENvID0gY28gLyDOsW8KKworICAgICAgICAgICAgYSA9IDAuNSB4ICgxIC0gMC42KSA9
IDAuMgorICAgICAgICAgICAgciA9IDAuNSB4IDAgeCAoMSAtIDAuNikgLyBhID0gMAorICAgICAg
ICAgICAgZyA9IDAuNSB4IDAuNiB4ICgxIC0gMC42KSAvIGEgPSAwLjYKKyAgICAgICAgICAgIGIg
PSAwLjUgeCAwLjUgeCAoMSAtIDAuNikgLyBhID0gMC41CisgICAgICAgICovCisgICAgICAgIGJh
Y2tncm91bmQtY29sb3I6IHJnYmEoMCUsIDYwJSwgNTAlLCAwLjIpOworICAgIH0KKyAgICAuZGVz
dGluYXRpb24tb3ZlciB7CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20obm9uZSBtaXgo
dXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykgbm9ybWFsIGRlc3RpbmF0aW9uLW92ZXIp
LCBtaXhfY29sb3IgMC4wIDAuNiAwLjUgMC41KTsKKyAgICB9CisgICAgLmRlc3RpbmF0aW9uLW92
ZXItZXhwZWN0ZWQgeworICAgICAgICAvKgorICAgICAgICAgICAgRGVzdGluYXRpb25PdmVyOgor
CisgICAgICAgICAgICBGYSA9IDEg4oCTIM6xYjsgRmIgPSAxCisgICAgICAgICAgICBjbyA9IM6x
cyB4IENzIHggKDEg4oCTIM6xYikgKyDOsWIgeCBDYgorICAgICAgICAgICAgzrFvID0gzrFzIHgg
KDEg4oCTIM6xYikgKyDOsWIKKyAgICAgICAgICAgIENvID0gY28gLyDOsW8KKworICAgICAgICAg
ICAgYSA9IDAuNSB4ICgxIC0gMC42KSArIDAuNiA9IDAuOAorICAgICAgICAgICAgciA9ICgwLjUg
eCAwIHggKDEgLSAwLjYpICsgMC42IHggMSkgLyBhID0wLjc1CisgICAgICAgICAgICBnID0gKDAu
NSB4IDAuNiB4ICgxIC0gMC42KSArIDAuNiB4IDAuMykgLyBhID0wLjM3NQorICAgICAgICAgICAg
YiA9ICgwLjUgeCAwLjUgeCAoMSAtIDAuNikgKyAwLjYgeCAwLjUpIC8gYSA9MC41CisgICAgICAg
ICovCisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzUlLCAzNy41JSwgNTAlLCAwLjgp
OworICAgIH0KKyAgICAuZGVzdGluYXRpb24taW4geworICAgICAgICAtd2Via2l0LWZpbHRlcjog
Y3VzdG9tKG5vbmUgbWl4KHVybCgnLi4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBk
ZXN0aW5hdGlvbi1pbiksIG1peF9jb2xvciAwLjAgMC42IDAuNSAwLjUpOworICAgIH0KKyAgICAu
ZGVzdGluYXRpb24taW4tZXhwZWN0ZWQgeworICAgICAgICAvKgorICAgICAgICAgICAgRGVzdGlu
YXRpb25JbjoKKworICAgICAgICAgICAgRmEgPSAwOyBGYiA9IM6xcworICAgICAgICAgICAgY28g
PSDOsWIgeCBDYiB4IM6xcyAKKyAgICAgICAgICAgIM6xbyA9IM6xYiB4IM6xcworICAgICAgICAg
ICAgQ28gPSBjbyAvIM6xbworCisgICAgICAgICAgICBhID0gMC42IHggMC41ID0gMC4zCisgICAg
ICAgICAgICByID0gMC42IHggMSB4IDAuNSAvIGEgPSAxCisgICAgICAgICAgICBnID0gMC42IHgg
MC4zIHggMC41IC8gYSA9IDAuMworICAgICAgICAgICAgYiA9IDAuNiB4IDAuNSB4IDAuNSAvIGEg
PSAwLjUKKyAgICAgICAgKi8KKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAlLCAz
MCUsIDUwJSwgMC4zKTsKKyAgICB9CisgICAgLmRlc3RpbmF0aW9uLW91dCB7CisgICAgICAgIC13
ZWJraXQtZmlsdGVyOiBjdXN0b20obm9uZSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9y
LmZzJykgbm9ybWFsIGRlc3RpbmF0aW9uLW91dCksIG1peF9jb2xvciAwLjAgMC42IDAuNSAwLjUp
OworICAgIH0KKyAgICAuZGVzdGluYXRpb24tb3V0LWV4cGVjdGVkIHsKKyAgICAgICAgLyoKKyAg
ICAgICAgICAgIERlc3RpbmF0aW9uT3V0OgorCisgICAgICAgICAgICBGYSA9IDA7IEZiID0gMSDi
gJMgzrFzCisgICAgICAgICAgICBjbyA9IM6xYiB4IENiIHggKDEg4oCTIM6xcykKKyAgICAgICAg
ICAgIM6xbyA9IM6xYiB4ICgxIOKAkyDOsXMpCisgICAgICAgICAgICBDbyA9IGNvIC8gzrFvCisK
KyAgICAgICAgICAgIGEgPSAwLjYgeCAoMSAtIDAuNSkgPSAwLjMKKyAgICAgICAgICAgIHIgPSAw
LjYgeCAxIHggKDEgLSAwLjUpIC8gYSA9IDEKKyAgICAgICAgICAgIGcgPSAwLjYgeCAwLjMgeCAo
MSAtIDAuNSkgLyBhID0gMC4zCisgICAgICAgICAgICBiID0gMC42IHggMC41IHggKDEgLSAwLjUp
IC8gYSA9IDAuNQorICAgICAgICAqLworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEw
MCUsIDMwJSwgNTAlLCAwLjMpOworICAgIH0KKyAgICAuZGVzdGluYXRpb24tYXRvcCB7CisgICAg
ICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20obm9uZSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4
LWNvbG9yLmZzJykgbm9ybWFsIGRlc3RpbmF0aW9uLWF0b3ApLCBtaXhfY29sb3IgMC4wIDAuNiAw
LjUgMC41KTsKKyAgICB9CisgICAgLmRlc3RpbmF0aW9uLWF0b3AtZXhwZWN0ZWQgeworICAgICAg
ICAvKgorICAgICAgICAgICAgRGVzdGluYXRpb25BdG9wOgorCisgICAgICAgICAgICBGYSA9IDEg
LSDOsWI7IEZiID0gzrFzCisgICAgICAgICAgICBjbyA9IM6xcyB4IENzIHggKDEgLSDOsWIpICsg
zrFiIHggQ2IgeCDOsXMKKyAgICAgICAgICAgIM6xbyA9IM6xcyB4ICgxIC0gzrFiKSArIM6xYiB4
IM6xcworICAgICAgICAgICAgQ28gPSBjbyAvIM6xbworCisgICAgICAgICAgICBhID0gMC41IHgg
KDEgLSAwLjYpICsgMC42IHggMC41ID0gMC41CisgICAgICAgICAgICByID0gKDAuNSB4IDAgeCAo
MSAtIDAuNikgKyAwLjYgeCAxIHggMC41KSAvIGEgPSAwLjYKKyAgICAgICAgICAgIGcgPSAoMC41
IHggMC42IHggKDEgLSAwLjYpICsgMC42IHggMC4zIHggMC41KSAvIGEgPSAwLjQyCisgICAgICAg
ICAgICBiID0gKDAuNSB4IDAuNSB4ICgxIC0gMC42KSArIDAuNiB4IDAuNSB4IDAuNSkgLyBhID0g
MC41CisgICAgICAgICovCisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjAlLCA0MiUs
IDUwJSwgMC41KTsKKyAgICB9CisgICAgLnhvciB7CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBj
dXN0b20obm9uZSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykgbm9ybWFsIHhv
ciksIG1peF9jb2xvciAwLjAgMC42IDAuNSAwLjUpOworICAgIH0KKyAgICAueG9yLWV4cGVjdGVk
IHsKKyAgICAgICAgLyoKKyAgICAgICAgICAgIFhPUjoKKworICAgICAgICAgICAgRmEgPSAxIC0g
zrFiOyBGYiA9IDEg4oCTIM6xcworICAgICAgICAgICAgY28gPSDOsXMgeCBDcyB4ICgxIC0gzrFi
KSArIM6xYiB4IENiIHggKDEg4oCTIM6xcykKKyAgICAgICAgICAgIM6xbyA9IM6xcyB4ICgxIC0g
zrFiKSArIM6xYiB4ICgxIOKAkyDOsXMpCisgICAgICAgICAgICBDbyA9IGNvIC8gzrFvCisKKyAg
ICAgICAgICAgIGEgPSAwLjUgeCAoMSAtIDAuNikgKyAwLjYgeCAoMSAtIDAuNSkgPSAwLjUKKyAg
ICAgICAgICAgIHIgPSAoMC41IHggMCB4ICgxIC0gMC42KSArIDAuNiB4IDEgeCAoMSAtIDAuNSkp
IC8gYSA9IDAuNgorICAgICAgICAgICAgZyA9ICgwLjUgeCAwLjYgeCAoMSAtIDAuNikgKyAwLjYg
eCAwLjMgeCAoMSAtIDAuNSkpIC8gYSA9IDAuNDIKKyAgICAgICAgICAgIGIgPSAoMC41IHggMC41
IHggKDEgLSAwLjYpICsgMC42IHggMC41IHggKDEgLSAwLjUpKSAvIGEgPSAwLjUKKyAgICAgICAg
Ki8KKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MCUsIDQyJSwgNTAlLCAwLjUpOwor
ICAgIH0KKyAgICAubGlnaHRlciB7CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20obm9u
ZSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykgbm9ybWFsIHBsdXMtbGlnaHRl
ciksIG1peF9jb2xvciAwLjAgMC42IDAuNSAwLjUpOworICAgIH0KKyAgICAubGlnaHRlci1leHBl
Y3RlZCB7CisgICAgICAgIC8qCisgICAgICAgICAgICBMaWdodGVyOgorCisgICAgICAgICAgICBG
YSA9IDE7IEZiID0gMQorICAgICAgICAgICAgY28gPSDOsXMgeCBDcyArIM6xYiB4IENiOworICAg
ICAgICAgICAgzrFvID0gzrFzICsgzrFiCisgICAgICAgICAgICBDbyA9IGNvIC8gzrFvCisKKyAg
ICAgICAgICAgIGEgPSAwLjYgKyAwLjUgPSAxLjEgPSAxCisgICAgICAgICAgICByID0gMC42IHgg
MSB4ICgxIC0gMC41KSAvIGEgPSAwLjU0NTQ1NDU0NTQ1NDU0NgorICAgICAgICAgICAgZyA9IDAu
NiB4IDAuMyB4ICgxIC0gMC41KSAvIGEgPSAwLjQzNjM2MzYzNjM2MzYzNgorICAgICAgICAgICAg
YiA9IDAuNiB4IDAuNSB4ICgxIC0gMC41KSAvIGEgPSAwLjUKKyAgICAgICAgKi8KKyAgICAgICAg
YmFja2dyb3VuZC1jb2xvcjogcmdiYSg1NC41NDU0NTUlLCA0My42MzYzNjQlLCA1MCUgLDEuMCk7
CisgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGNsYXNzPSJw
YWlyLW9mLXNxdWFyZXMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBzb3VyY2Ut
YXRvcCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNvdXJjZS1hdG9wLWV4cGVjdGVkIj48
L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJwYWlyLW9mLXNxdWFyZXMiPgorICAg
ICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBjbGVhciI+PC9kaXY+CisgICAgICAgIDxkaXYg
Y2xhc3M9ImNsZWFyLWV4cGVjdGVkIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNz
PSJwYWlyLW9mLXNxdWFyZXMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBjb3B5
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iY29weS1leHBlY3RlZCI+PC9kaXY+CisgICAg
PC9kaXY+CisgICAgPGRpdiBjbGFzcz0icGFpci1vZi1zcXVhcmVzIj4KKyAgICAgICAgPGRpdiBj
bGFzcz0iZGVzdGluYXRpb24gc291cmNlLW92ZXIiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNz
PSJzb3VyY2Utb3Zlci1leHBlY3RlZCI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFz
cz0icGFpci1vZi1zcXVhcmVzIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24gc291
cmNlLWluIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic291cmNlLWluLWV4cGVjdGVkIj48
L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJwYWlyLW9mLXNxdWFyZXMiPgorICAg
ICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBzb3VyY2Utb3V0Ij48L2Rpdj4KKyAgICAgICAg
PGRpdiBjbGFzcz0ic291cmNlLW91dC1leHBlY3RlZCI+PC9kaXY+CisgICAgPC9kaXY+CisgICAg
PGRpdiBjbGFzcz0icGFpci1vZi1zcXVhcmVzIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGlu
YXRpb24gZGVzdGluYXRpb24tb3ZlciI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3Rp
bmF0aW9uLW92ZXItZXhwZWN0ZWQiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9
InBhaXItb2Ytc3F1YXJlcyI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uIGRlc3Rp
bmF0aW9uLWluIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24taW4tZXhw
ZWN0ZWQiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InBhaXItb2Ytc3F1YXJl
cyI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uLW91dCI+PC9k
aXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uLW91dC1leHBlY3RlZCI+PC9kaXY+
CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icGFpci1vZi1zcXVhcmVzIj4KKyAgICAgICAg
PGRpdiBjbGFzcz0iZGVzdGluYXRpb24gZGVzdGluYXRpb24tYXRvcCI+PC9kaXY+CisgICAgICAg
IDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uLWF0b3AtZXhwZWN0ZWQiPjwvZGl2PgorICAgIDwvZGl2
PgorICAgIDxkaXYgY2xhc3M9InBhaXItb2Ytc3F1YXJlcyI+CisgICAgICAgIDxkaXYgY2xhc3M9
ImRlc3RpbmF0aW9uIHhvciI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9Inhvci1leHBlY3Rl
ZCI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icGFpci1vZi1zcXVhcmVzIj4K
KyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24gbGlnaHRlciI+PC9kaXY+CisgICAgICAg
IDxkaXYgY2xhc3M9ImxpZ2h0ZXItZXhwZWN0ZWQiPjwvZGl2PgorICAgIDwvZGl2PgorPC9ib2R5
PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166180</attachid>
            <date>2012-09-28 02:14:18 -0700</date>
            <delta_ts>2012-09-28 04:15:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97859-20120928181325.patch</filename>
            <type>text/plain</type>
            <size>20570</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5Nzk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDQ5YjBiZDE1YzZmZmJi
MjQxYjE2NjE1NDViOGVjNDZkYjBlZTQ5Mi4uYTE2YzBiNGI1NjlhNmZkOGE3NGIzMmUwMGQ3MDcx
ZjUwODY4ZTYzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA5LTI3ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gSW1wbGVtZW50IGFsbCBjb21wb3NpdGUgb3BlcmF0b3JzLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc4NTkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZXhwcmVzc2lvbnMgZm9yIGFsbCBj
b21wb3NpdGUgb3BlcmF0b3JzLiBUaGUgZXhwcmVzc2lvbnMgYXJlIGxpZnRlZCBkaXJlY3RseQor
ICAgICAgICBmcm9tIHRoZSBDU1MgQ29tcG9zaXRpbmcgYW5kIEJsZW5kaW5nIHNwZWMgWzFdLiBX
ZWJLaXQgYWRkcyB0aGVzZSBjb21wb3NpdGluZyBleHByZXNzaW9ucyB0bworICAgICAgICB0aGUg
YXV0aG9yJ3Mgc2hhZGVyLgorCisgICAgICAgIFsxXTogaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9G
WFRGL3Jhd2ZpbGUvdGlwL2NvbXBvc2l0aW5nL2luZGV4Lmh0bWwjYWR2YW5jZWRjb21wb3NpdGlu
ZworCisgICAgICAgIFRlc3Q6IGNzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21w
b3NpdGUtb3BlcmF0b3JzLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjppc0NvbXBvc2l0ZU9wZXJhdG9yKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbTo6Y29t
cG9zaXRlRnVuY3Rpb25TdHJpbmcpOgorCiAyMDEyLTA5LTI2ICBIdWFuZyBEb25nc3VuZyAgPGx1
eHRlbGxhQGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIFtDU1MgU2hhZGVyc10gUmVtb3ZlIGFu
IHVudXNlZCBtZW1iZXIgdmFyaWFibGUgbV9wcm9ncmFtIGluIEZFQ3VzdG9tRmlsdGVyLmgKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggOWE5MjJmMTkxMjdmOTY5OTYyNmIwY2YzM2IzODMz
Y2YyNmQzMGY4NC4uZGI3NzhkZjhiNjQ0MWNmNzc3NzkzMTc1ODlkZTA0ZGE0MzE1OTc0YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTc0NjQsOCArNzQ2NCw3IEBAIGJvb2wgQ1NTUGFy
c2VyOjppc0JsZW5kTW9kZShpbnQgaWRlbnQpCiAKIGJvb2wgQ1NTUGFyc2VyOjppc0NvbXBvc2l0
ZU9wZXJhdG9yKGludCBpZGVudCkKIHsKLSAgICAvLyBGSVhNRTogQWRkIENTU1ZhbHVlRGVzdGlu
YXRpb24gYW5kIENTU1ZhbHVlTGlnaHRlciB3aGVuIHRoZSBDb21wb3NpdGluZyBzcGVjIHVwZGF0
ZXMuCi0gICAgcmV0dXJuIGlkZW50ID49IENTU1ZhbHVlQ2xlYXIgJiYgaWRlbnQgPD0gQ1NTVmFs
dWVYb3I7CisgICAgcmV0dXJuIGlkZW50ID49IENTU1ZhbHVlQ2xlYXIgJiYgaWRlbnQgPD0gQ1NT
VmFsdWVQbHVzTGlnaHRlciAmJiBpZGVudCAhPSBDU1NWYWx1ZVBsdXNEYXJrZXI7CiB9CiAKICNp
ZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0
ZWRQcm9ncmFtLmNwcAppbmRleCA0MjExZTgyYjc4MWIxYTBhY2I1MjdmMzBkZjVjMDE0MzljNDUx
ODA5Li44NmNmOWI2MjZhZWMzM2Q4OGU0Mzg2MTI3ZmE3NjlkODRhMmYwZTIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZh
bGlkYXRlZFByb2dyYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAKQEAgLTI0OSwxOCArMjQ5
LDQ5IEBAIFN0cmluZyBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtOjpjb21wb3NpdGVGdW5j
dGlvblN0cmluZyhDb21wb3NpdGVPcGVyYXRvciBjCiAgICAgICAgIEZiID0gIjEuMCAtIGFzIjsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3NpdGVDbGVhcjoKKyAgICAgICAgRmEgPSAi
MC4wIjsKKyAgICAgICAgRmIgPSAiMC4wIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21w
b3NpdGVDb3B5OgorICAgICAgICBGYSA9ICIxLjAiOworICAgICAgICBGYiA9ICIwLjAiOworICAg
ICAgICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZVNvdXJjZU92ZXI6CisgICAgICAgIEZhID0g
IjEuMCI7CisgICAgICAgIEZiID0gIjEuMCAtIGFzIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBDb21wb3NpdGVTb3VyY2VJbjoKKyAgICAgICAgRmEgPSAiYWIiOworICAgICAgICBGYiA9ICIw
LjAiOworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZVNvdXJjZU91dDoKKyAgICAg
ICAgRmEgPSAiMS4wIC0gYWIiOworICAgICAgICBGYiA9ICIwLjAiOworICAgICAgICBicmVhazsK
ICAgICBjYXNlIENvbXBvc2l0ZURlc3RpbmF0aW9uT3ZlcjoKKyAgICAgICAgRmEgPSAiMS4wIC0g
YWIiOworICAgICAgICBGYiA9ICIxLjAiOworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbXBv
c2l0ZURlc3RpbmF0aW9uSW46CisgICAgICAgIEZhID0gIjAuMCI7CisgICAgICAgIEZiID0gImFz
IjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3NpdGVEZXN0aW5hdGlvbk91dDoKKyAg
ICAgICAgRmEgPSAiMC4wIjsKKyAgICAgICAgRmIgPSAiMS4wIC0gYXMiOworICAgICAgICBicmVh
azsKICAgICBjYXNlIENvbXBvc2l0ZURlc3RpbmF0aW9uQXRvcDoKKyAgICAgICAgRmEgPSAiMS4w
IC0gYWIiOworICAgICAgICBGYiA9ICJhcyI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29t
cG9zaXRlWE9SOgorICAgICAgICBGYSA9ICIxLjAgLSBhYiI7CisgICAgICAgIEZiID0gIjEuMCAt
IGFzIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3NpdGVQbHVzTGlnaHRlcjoKLSAg
ICAgICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgICAg
ICBGYSA9ICIxLjAiOworICAgICAgICBGYiA9ICIxLjAiOworICAgICAgICBicmVhazsKICAgICBk
ZWZhdWx0OgogICAgICAgICAvLyBUaGUgQ1NTIHBhcnNlciBzaG91bGQgbm90IGhhdmUgYWNjZXB0
ZWQgYW55IG90aGVyIGNvbXBvc2l0ZSBvcGVyYXRvcnMuCiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwpAQCAtMjc1LDcgKzMwNiw4IEBAIFN0cmluZyBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQ
cm9ncmFtOjpjb21wb3NpdGVGdW5jdGlvblN0cmluZyhDb21wb3NpdGVPcGVyYXRvciBjCiAgICAg
ICAgIHsKICAgICAgICAgICAgIG1lZGl1bXAgZmxvYXQgRmEgPSAlczsKICAgICAgICAgICAgIG1l
ZGl1bXAgZmxvYXQgRmIgPSAlczsKLSAgICAgICAgICAgIHJldHVybiB2ZWM0KGFzICogRmEgKiBD
cyArIGFiICogRmIgKiBDYiwgYXMgKiBGYSArIGFiICogRmIpOyAKKyAgICAgICAgICAgIG1lZGl1
bXAgZmxvYXQgYW8gPSBhcyAqIEZhICsgYWIgKiBGYjsKKyAgICAgICAgICAgIHJldHVybiB2ZWM0
KChhcyAqIEZhICogQ3MgKyBhYiAqIEZiICogQ2IpIC8gYW8sIGFvKTsKICAgICAgICAgfQogICAg
ICksIEZhLCBGYik7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDU0OTMxZDg0ZjMyMzJhMWUzMjljNzQyNzFiN2FmZTlm
NDY1NjA1YS4uNDc3NzBhYmE3MTY5OGRmMDA2MWU1ZjNkOTgxOTVkYTExMjE2ZmU2YSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDEyLTA5LTI3ICBIdWFuZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNv
bXBhbnkxMDAubmV0PgorCisgICAgICAgIFtDU1MgU2hhZGVyc10gSW1wbGVtZW50IGFsbCBjb21w
b3NpdGUgb3BlcmF0b3JzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTc4NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgdGVzdCB0byBjaGVjayB0aGF0IHRoZSBET00gZWxlbWVudCB0ZXh0dXJlIGNv
bXBvc2l0ZXMgY29ycmVjdGx5IHdpdGggdGhlIGNzc19NaXhDb2xvcgorICAgICAgICB2YXJpYWJs
ZSBmcm9tIHRoZSBhdXRob3IncyBzaGFkZXIgZm9yIGVhY2ggY29tcG9zaXRlIG9wZXJhdG9yLgor
CisgICAgICAgICogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNvbXBvc2l0ZS1v
cGVyYXRvcnMtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2N1
c3RvbS9jdXN0b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMuaHRtbDogQWRkZWQuCisKIDIw
MTItMDgtMjcgIEh1YW5nIERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CiAKICAg
ICAgICAgW1Rlc3RzXSBNYWtlIGZhc3QvY2FudmFzL2NhbnZhcy1zY2FsZS1zaGFkb3dCbHVyLmh0
bWwgaW4gY29uZm9ybWFuY2Ugd2l0aCBzcGVjLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1j
b21wb3NpdGUtb3BlcmF0b3JzLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzhmNWViNDIzY2Fh
ZWFiOWFmMGI3ZTJkZWNjNTJmNmM4MDU5N2U0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUtb3BlcmF0b3Jz
LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMTAgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKyAgICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVyIGNvbXBvc2l0ZSBv
cGVyYXRvcnMgY29tcHV0ZSBjb2xvciB2YWx1ZXMgY29ycmVjdGx5LjwvdGl0bGU+CisgICAgPCEt
LQorICAgICAgICBUaGlzIGlzIHRoZSByZWZlcmVuY2UgZmlsZSBmb3IgdGhlIHRlc3QuCisgICAg
ICAgIFRoZSB0ZXN0IHBhc3NlcyBpZiBlYWNoIGhvcml6b250YWwgcGFpciBvZiBzcXVhcmVzIGFy
ZSBleGFjdGx5IHRoZSBzYW1lIGNvbG9yLgorICAgICAgICBUaGUgdGVzdCBmaWxlIGRlc2NyaWJl
cyBob3cgdGhlIGNvbG9yIHZhbHVlcyBpbiB0aGlzIHJlZmVyZW5jZSBmaWxlIGFyZSBjb21wdXRl
ZC4KKyAgICAtLT4KKyAgICA8c3R5bGU+CisgICAgLnBhaXItb2Ytc3F1YXJlcyB7CisgICAgICAg
IGNsZWFyOiBib3RoOworICAgIH0KKyAgICAucGFpci1vZi1zcXVhcmVzID4gZGl2IHsKKyAgICAg
ICAgLyogU3F1YXJlIHNpemUuICovCisgICAgICAgIHdpZHRoOiAyMHB4OworICAgICAgICBoZWln
aHQ6IDIwcHg7CisgICAgICAgIG1hcmdpbjogMnB4OworICAgICAgICBmbG9hdDogbGVmdDsKKyAg
ICB9CisgICAgLyogQ29tcG9zaXRlIG9wZXJhdG9ycyAqLworICAgIC5zb3VyY2UtYXRvcC1leHBl
Y3RlZCB7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxNzgsIDE3MCwgMTc5KTsKKyAg
ICB9CisgICAgLmNsZWFyLWV4cGVjdGVkIHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdi
YSgwJSwgMCUsIDAlLCAwLjApOworICAgIH0KKyAgICAuY29weS1leHBlY3RlZCB7CisgICAgICAg
IGJhY2tncm91bmQtY29sb3I6IHJnYigxMjgsIDIwNCwgMTkxKTsKKyAgICB9CisgICAgLnNvdXJj
ZS1vdmVyLWV4cGVjdGVkIHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNy41JSwg
NDguNzUlLCA1MCUsIDAuOCk7CisgICAgfQorICAgIC5zb3VyY2UtaW4tZXhwZWN0ZWQgeworICAg
ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAlLCA2MCUsIDUwJSwgMC4zKTsKKyAgICB9Cisg
ICAgLnNvdXJjZS1vdXQtZXhwZWN0ZWQgeworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2Io
MjA0LCAyMzUsIDIyOSk7CisgICAgfQorICAgIC5kZXN0aW5hdGlvbi1vdmVyLWV4cGVjdGVkIHsK
KyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIwNCwgMTI3LCAxNTMpOworICAgIH0KKyAg
ICAuZGVzdGluYXRpb24taW4tZXhwZWN0ZWQgeworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBy
Z2JhKDEwMCUsIDMwJSwgNTAlLCAwLjMpOworICAgIH0KKyAgICAuZGVzdGluYXRpb24tb3V0LWV4
cGVjdGVkIHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAlLCAzMCUsIDUwJSwg
MC4zKTsKKyAgICB9CisgICAgLmRlc3RpbmF0aW9uLWF0b3AtZXhwZWN0ZWQgeworICAgICAgICBi
YWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYwJSwgNDIlLCA1MCUsIDAuNSk7CisgICAgfQorICAgIC54
b3ItZXhwZWN0ZWQgeworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYwJSwgNDIlLCA1
MCUsIDAuNSk7CisgICAgfQorICAgIC5saWdodGVyLWV4cGVjdGVkIHsKKyAgICAgICAgYmFja2dy
b3VuZC1jb2xvcjogcmdiKDEzOSwgMTExLCAxMjgpOworICAgIH0KKyAgICA8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+CisgICAgPGRpdiBjbGFzcz0icGFpci1vZi1zcXVhcmVzIj4KKyAgICAgICAg
PGRpdiBjbGFzcz0ic291cmNlLWF0b3AtZXhwZWN0ZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGNs
YXNzPSJzb3VyY2UtYXRvcC1leHBlY3RlZCI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBj
bGFzcz0icGFpci1vZi1zcXVhcmVzIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXItZXhwZWN0
ZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhci1leHBlY3RlZCI+PC9kaXY+Cisg
ICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icGFpci1vZi1zcXVhcmVzIj4KKyAgICAgICAgPGRp
diBjbGFzcz0iY29weS1leHBlY3RlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImNvcHkt
ZXhwZWN0ZWQiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InBhaXItb2Ytc3F1
YXJlcyI+CisgICAgICAgIDxkaXYgY2xhc3M9InNvdXJjZS1vdmVyLWV4cGVjdGVkIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBjbGFzcz0ic291cmNlLW92ZXItZXhwZWN0ZWQiPjwvZGl2PgorICAgIDwv
ZGl2PgorICAgIDxkaXYgY2xhc3M9InBhaXItb2Ytc3F1YXJlcyI+CisgICAgICAgIDxkaXYgY2xh
c3M9InNvdXJjZS1pbi1leHBlY3RlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNvdXJj
ZS1pbi1leHBlY3RlZCI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icGFpci1v
Zi1zcXVhcmVzIj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic291cmNlLW91dC1leHBlY3RlZCI+PC9k
aXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNvdXJjZS1vdXQtZXhwZWN0ZWQiPjwvZGl2PgorICAg
IDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InBhaXItb2Ytc3F1YXJlcyI+CisgICAgICAgIDxkaXYg
Y2xhc3M9ImRlc3RpbmF0aW9uLW92ZXItZXhwZWN0ZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGNs
YXNzPSJkZXN0aW5hdGlvbi1vdmVyLWV4cGVjdGVkIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8
ZGl2IGNsYXNzPSJwYWlyLW9mLXNxdWFyZXMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5h
dGlvbi1pbi1leHBlY3RlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9u
LWluLWV4cGVjdGVkIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJwYWlyLW9m
LXNxdWFyZXMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbi1vdXQtZXhwZWN0ZWQi
PjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbi1vdXQtZXhwZWN0ZWQiPjwv
ZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InBhaXItb2Ytc3F1YXJlcyI+CisgICAg
ICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uLWF0b3AtZXhwZWN0ZWQiPjwvZGl2PgorICAgICAg
ICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbi1hdG9wLWV4cGVjdGVkIj48L2Rpdj4KKyAgICA8L2Rp
dj4KKyAgICA8ZGl2IGNsYXNzPSJwYWlyLW9mLXNxdWFyZXMiPgorICAgICAgICA8ZGl2IGNsYXNz
PSJ4b3ItZXhwZWN0ZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJ4b3ItZXhwZWN0ZWQi
PjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InBhaXItb2Ytc3F1YXJlcyI+Cisg
ICAgICAgIDxkaXYgY2xhc3M9ImxpZ2h0ZXItZXhwZWN0ZWQiPjwvZGl2PgorICAgICAgICA8ZGl2
IGNsYXNzPSJsaWdodGVyLWV4cGVjdGVkIj48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9t
LWZpbHRlci1jb21wb3NpdGUtb3BlcmF0b3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRl
cnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29tcG9zaXRlLW9wZXJhdG9ycy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmVmYzYyZWQ2NTUyMmEwYjJkODE5MDI5M2RmNGM2ZDU2OTI4YmQ0YmUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29t
cG9zaXRlLW9wZXJhdG9ycy5odG1sCkBAIC0wLDAgKzEsMzM0IEBACis8IWRvY3R5cGUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPlRlc3RzIHRoYXQgY3VzdG9tIGZpbHRlciBjb21w
b3NpdGUgb3BlcmF0b3JzIGNvbXB1dGUgY29sb3IgdmFsdWVzIGNvcnJlY3RseS48L3RpdGxlPgor
ICAgIDwhLS0gVGhpcyB0ZXN0IHBhc3NlcyBpZiBlYWNoIGhvcml6b250YWwgcGFpciBvZiBzcXVh
cmVzIGFyZSBleGFjdGx5IHRoZSBzYW1lIGNvbG9yLiAtLT4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCIsICIxIik7
CisgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dFdlYkdMRW5hYmxlZCIsICIxIik7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c3R5
bGU+CisgICAgLnBhaXItb2Ytc3F1YXJlcyB7CisgICAgICAgIGNsZWFyOiBib3RoOworICAgIH0K
KyAgICAucGFpci1vZi1zcXVhcmVzID4gZGl2IHsKKyAgICAgICAgLyogU3F1YXJlIHNpemUuICov
CisgICAgICAgIHdpZHRoOiAyMHB4OworICAgICAgICBoZWlnaHQ6IDIwcHg7CisgICAgICAgIG1h
cmdpbjogMnB4OworICAgICAgICBmbG9hdDogbGVmdDsKKyAgICB9CisgICAgLmRlc3RpbmF0aW9u
IHsKKyAgICAgICAgLyogRGVzdGluYXRpb24gY29sb3IgKi8KKyAgICAgICAgYmFja2dyb3VuZC1j
b2xvcjogcmdiYSgxMDAlLCAzMCUsIDUwJSwgMC42KTsKKyAgICB9CisgICAgLyogQ29tcG9zaXRl
IG9wZXJhdG9ycyAqLworICAgIC5zb3VyY2UtYXRvcCB7CisgICAgICAgIC13ZWJraXQtZmlsdGVy
OiBjdXN0b20obm9uZSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykgbm9ybWFs
IHNvdXJjZS1hdG9wKSwgbWl4X2NvbG9yIDAuMCAwLjYgMC41IDAuNSk7CisgICAgfQorICAgIC8q
CisgICAgICAgIFRoZSBlcXVhdGlvbnMgYmVsb3cgdXNlIHRoZSBzeW1ib2xzIGFuZCBlcXVhdGlv
bnMgZGVmaW5lZCBpbiB0aGUgQ1NTIEJsZW5kaW5nIGFuZCBDb21wb3NpdGluZyBzcGVjLCB3aGVy
ZToKKyAgICAgICAgICAgIENvID0gb3V0cHV0IGNvbG9yCisgICAgICAgICAgICBDcyA9IHNvdXJj
ZSBjb2xvciAoYWthICJtaXggY29sb3IiLCAiY3NzX01peENvbG9yIikKKyAgICAgICAgICAgIENi
ID0gZGVzdGluYXRpb24gY29sb3IgKGFrYSAiYmFja2Ryb3AgY29sb3IiLCAib3JpZ2luYWwgRE9N
IGVsZW1lbnQgY29sb3IiKQorCisgICAgICAgICAgICBjbyA9IM6xcyB4IEZhIHggQ3MgKyDOsWIg
eCBGYiB4IENiCisgICAgICAgICAgICDOsW8gPSDOsXMgeCAxICsgzrFiIHggKDEg4oCTIM6xcykK
KyAgICAgICAgICAgIENvID0gY28gLyDOsW8KKworICAgICAgICBodHRwczovL2R2Y3MudzMub3Jn
L2hnL0ZYVEYvcmF3ZmlsZS90aXAvY29tcG9zaXRpbmcvaW5kZXguaHRtbCNnZW5lcmFsZm9ybXVs
YQorICAgICovCisgICAgLnNvdXJjZS1hdG9wLWV4cGVjdGVkIHsKKyAgICAgICAgLyoKKyAgICAg
ICAgICAgIFNvdXJjZUF0b3A6CisKKyAgICAgICAgICAgIEZhID0gzrFiOyBGYiA9IDEg4oCTIM6x
cworICAgICAgICAgICAgY28gPSDOsXMgeCBDcyB4IM6xYiArIM6xYiB4IENiIHggKDEg4oCTIM6x
cykKKyAgICAgICAgICAgIM6xbyA9IM6xcyB4IM6xYiArIM6xYiB4ICgxIOKAkyDOsXMpCisgICAg
ICAgICAgICBDbyA9IGNvIC8gzrFvCisKKyAgICAgICAgICAgIGEgPSAwLjUgeCAxICsgMC42IHgg
KDEgLSAwLjUpID0gMC42CisgICAgICAgICAgICByID0gKDAuNSB4IDAgeCAwLjYgKyAwLjYgeCAx
IHggKDEgLSAwLjUpKSAvIGEgPSAwLjUKKyAgICAgICAgICAgIGcgPSAoMC41IHggMC42IHggMC42
ICsgMC42IHggMC4zIHggKDEgLSAwLjUpKSAvIGEgPSAwLjQ1CisgICAgICAgICAgICBiID0gKDAu
NSB4IDAuNSB4IDAuNiArIDAuNiB4IDAuNSB4ICgxIC0gMC41KSkgLyBhID0gMC41CisKKyAgICAg
ICAgICAgIFRoZSBlcnJvciBpbiB0aGUgY29sb3IgY2FsY3VsYXRpb24gcmVxdWlyZXMgdXMgdG8g
dXNlIHRoZSA4LWJpdCB2YWx1ZXMgZm9yOgorICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjog
cmdiYSg1MCUsIDQ1JSwgNTAlLCAwLjYpOworICAgICAgICAqLworICAgICAgICBiYWNrZ3JvdW5k
LWNvbG9yOiByZ2IoMTc4LCAxNzAsIDE3OSk7CisgICAgfQorICAgIC5jbGVhciB7CisgICAgICAg
IC13ZWJraXQtZmlsdGVyOiBjdXN0b20obm9uZSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNv
bG9yLmZzJykgbm9ybWFsIGNsZWFyKSwgbWl4X2NvbG9yIDAuMCAwLjYgMC41IDAuNSk7CisgICAg
fQorICAgIC5jbGVhci1leHBlY3RlZCB7CisgICAgICAgIC8qCisgICAgICAgICAgICBDbGVhcjoK
KworICAgICAgICAgICAgRmEgPSAwOyBGYiA9IDAKKyAgICAgICAgICAgIGNvID0gMAorICAgICAg
ICAgICAgzrFvID0gMAorCisgICAgICAgICAgICBhID0gMC4wCisgICAgICAgICAgICByID0gMC4w
CisgICAgICAgICAgICBnID0gMC4wCisgICAgICAgICAgICBiID0gMC4wCisgICAgICAgICovCisg
ICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCUsIDAlLCAwJSwgMC4wKTsKKyAgICB9Cisg
ICAgLmNvcHkgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKG5vbmUgbWl4KHVybCgn
Li4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBjb3B5KSwgbWl4X2NvbG9yIDAuMCAw
LjYgMC41IDAuNSk7CisgICAgfQorICAgIC5jb3B5LWV4cGVjdGVkIHsKKyAgICAgICAgLyoKKyAg
ICAgICAgICAgIENvcHk6CisKKyAgICAgICAgICAgIEZhID0gMTsgRmIgPSAwCisgICAgICAgICAg
ICBjbyA9IM6xcyB4IENzCisgICAgICAgICAgICDOsW8gPSDOsXMKKyAgICAgICAgICAgIENvID0g
Y28gLyDOsW8KKworICAgICAgICAgICAgYSA9IDAuNQorICAgICAgICAgICAgciA9IDAuMAorICAg
ICAgICAgICAgZyA9IDAuNgorICAgICAgICAgICAgYiA9IDAuNQorCisgICAgICAgICAgICBUaGUg
ZXJyb3IgaW4gdGhlIGNvbG9yIGNhbGN1bGF0aW9uIHJlcXVpcmVzIHVzIHRvIHVzZSB0aGUgOC1i
aXQgdmFsdWVzIGZvcjoKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCUsIDYw
JSwgNTAlLCAwLjUpOworICAgICAgICAqLworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2Io
MTI4LCAyMDQsIDE5MSk7CisgICAgfQorICAgIC5zb3VyY2Utb3ZlciB7CisgICAgICAgIC13ZWJr
aXQtZmlsdGVyOiBjdXN0b20obm9uZSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZz
Jykgbm9ybWFsIHNvdXJjZS1vdmVyKSwgbWl4X2NvbG9yIDAuMCAwLjYgMC41IDAuNSk7CisgICAg
fQorICAgIC5zb3VyY2Utb3Zlci1leHBlY3RlZCB7CisgICAgICAgIC8qCisgICAgICAgICAgICBT
b3VyY2VPdmVyOgorCisgICAgICAgICAgICBGYSA9IDE7IEZiID0gMSDigJMgzrFzCisgICAgICAg
ICAgICBjbyA9IM6xcyB4IENzICsgzrFiIHggQ2IgeCAoMSDigJMgzrFzKQorICAgICAgICAgICAg
zrFvID0gzrFzICsgzrFiIHggKDEg4oCTIM6xcykKKyAgICAgICAgICAgIENvID0gY28gLyDOsW8K
KworICAgICAgICAgICAgYSA9IDAuNSArIDAuNiB4ICggMSAtIDAuNSkgPSAwLjgKKyAgICAgICAg
ICAgIHIgPSAoMC41IHggMCArIDAuNiB4IDEgeCAoMSAtIDAuNSkpIC8gYSA9IDAuMzc1CisgICAg
ICAgICAgICBnID0gKDAuNSB4IDAuNiArIDAuNiB4IDAuMyB4ICgxIC0gMC41KSkgLyBhID0gMC40
ODc1CisgICAgICAgICAgICBiID0gKDAuNSB4IDAuNSArIDAuNiB4IDAuNSB4ICgxIC0gMC41KSkg
LyBhID0gMC41CisgICAgICAgICovCisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzcu
NSUsIDQ4Ljc1JSwgNTAlLCAwLjgpOworICAgIH0KKyAgICAuc291cmNlLWluIHsKKyAgICAgICAg
LXdlYmtpdC1maWx0ZXI6IGN1c3RvbShub25lIG1peCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29s
b3IuZnMnKSBub3JtYWwgc291cmNlLWluKSwgbWl4X2NvbG9yIDAuMCAwLjYgMC41IDAuNSk7Cisg
ICAgfQorICAgIC5zb3VyY2UtaW4tZXhwZWN0ZWQgeworICAgICAgICAvKgorICAgICAgICAgICAg
U291cmNlSW46CisKKyAgICAgICAgICAgIEZhID0gzrFiOyBGYiA9IDAKKyAgICAgICAgICAgIGNv
ID0gzrFzIHggQ3MgeCDOsWIKKyAgICAgICAgICAgIM6xbyA9IM6xcyB4IM6xYgorICAgICAgICAg
ICAgQ28gPSBjbyAvIM6xbworCisgICAgICAgICAgICBhID0gMC41IHggMC42ID0gMC4zCisgICAg
ICAgICAgICByID0gMC41IHggMCB4IDAuNiAvIGEgPSAwCisgICAgICAgICAgICBnID0gMC41IHgg
MC42IHggMC42IC8gYSA9IDAuNgorICAgICAgICAgICAgYiA9IDAuNSB4IDAuNSB4IDAuNiAvIGEg
PSAwLjUKKyAgICAgICAgKi8KKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwJSwgNjAl
LCA1MCUsIDAuMyk7CisgICAgfQorICAgIC5zb3VyY2Utb3V0IHsKKyAgICAgICAgLXdlYmtpdC1m
aWx0ZXI6IGN1c3RvbShub25lIG1peCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29sb3IuZnMnKSBu
b3JtYWwgc291cmNlLW91dCksIG1peF9jb2xvciAwLjAgMC42IDAuNSAwLjUpOworICAgIH0KKyAg
ICAuc291cmNlLW91dC1leHBlY3RlZCB7CisgICAgICAgIC8qCisgICAgICAgICAgICBTb3VyY2VP
dXQ6CisKKyAgICAgICAgICAgIEZhID0gMSDigJMgzrFiOyBGYiA9IDAKKyAgICAgICAgICAgIGNv
ID0gzrFzIHggQ3MgeCAoMSDigJMgzrFiKQorICAgICAgICAgICAgzrFvID0gzrFzIHggKDEg4oCT
IM6xYikKKyAgICAgICAgICAgIENvID0gY28gLyDOsW8KKworICAgICAgICAgICAgYSA9IDAuNSB4
ICgxIC0gMC42KSA9IDAuMgorICAgICAgICAgICAgciA9IDAuNSB4IDAgeCAoMSAtIDAuNikgLyBh
ID0gMAorICAgICAgICAgICAgZyA9IDAuNSB4IDAuNiB4ICgxIC0gMC42KSAvIGEgPSAwLjYKKyAg
ICAgICAgICAgIGIgPSAwLjUgeCAwLjUgeCAoMSAtIDAuNikgLyBhID0gMC41CisKKyAgICAgICAg
ICAgIFRoZSBlcnJvciBpbiB0aGUgY29sb3IgY2FsY3VsYXRpb24gcmVxdWlyZXMgdXMgdG8gdXNl
IHRoZSA4LWJpdCB2YWx1ZXMgZm9yOgorICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdi
YSgwJSwgNjAlLCA1MCUsIDAuMik7CisgICAgICAgICovCisgICAgICAgIGJhY2tncm91bmQtY29s
b3I6IHJnYigyMDQsIDIzNSwgMjI5KTsKKyAgICB9CisgICAgLmRlc3RpbmF0aW9uLW92ZXIgewor
ICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKG5vbmUgbWl4KHVybCgnLi4vcmVzb3VyY2Vz
L21peC1jb2xvci5mcycpIG5vcm1hbCBkZXN0aW5hdGlvbi1vdmVyKSwgbWl4X2NvbG9yIDAuMCAw
LjYgMC41IDAuNSk7CisgICAgfQorICAgIC5kZXN0aW5hdGlvbi1vdmVyLWV4cGVjdGVkIHsKKyAg
ICAgICAgLyoKKyAgICAgICAgICAgIERlc3RpbmF0aW9uT3ZlcjoKKworICAgICAgICAgICAgRmEg
PSAxIOKAkyDOsWI7IEZiID0gMQorICAgICAgICAgICAgY28gPSDOsXMgeCBDcyB4ICgxIOKAkyDO
sWIpICsgzrFiIHggQ2IKKyAgICAgICAgICAgIM6xbyA9IM6xcyB4ICgxIOKAkyDOsWIpICsgzrFi
CisgICAgICAgICAgICBDbyA9IGNvIC8gzrFvCisKKyAgICAgICAgICAgIGEgPSAwLjUgeCAoMSAt
IDAuNikgKyAwLjYgPSAwLjgKKyAgICAgICAgICAgIHIgPSAoMC41IHggMCB4ICgxIC0gMC42KSAr
IDAuNiB4IDEpIC8gYSA9MC43NQorICAgICAgICAgICAgZyA9ICgwLjUgeCAwLjYgeCAoMSAtIDAu
NikgKyAwLjYgeCAwLjMpIC8gYSA9MC4zNzUKKyAgICAgICAgICAgIGIgPSAoMC41IHggMC41IHgg
KDEgLSAwLjYpICsgMC42IHggMC41KSAvIGEgPTAuNQorCisgICAgICAgICAgICBUaGUgZXJyb3Ig
aW4gdGhlIGNvbG9yIGNhbGN1bGF0aW9uIHJlcXVpcmVzIHVzIHRvIHVzZSB0aGUgOC1iaXQgdmFs
dWVzIGZvcjoKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzUlLCAzNy41JSwg
NTAlLCAwLjgpOworICAgICAgICAqLworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjA0
LCAxMjcsIDE1Myk7CisgICAgfQorICAgIC5kZXN0aW5hdGlvbi1pbiB7CisgICAgICAgIC13ZWJr
aXQtZmlsdGVyOiBjdXN0b20obm9uZSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZz
Jykgbm9ybWFsIGRlc3RpbmF0aW9uLWluKSwgbWl4X2NvbG9yIDAuMCAwLjYgMC41IDAuNSk7Cisg
ICAgfQorICAgIC5kZXN0aW5hdGlvbi1pbi1leHBlY3RlZCB7CisgICAgICAgIC8qCisgICAgICAg
ICAgICBEZXN0aW5hdGlvbkluOgorCisgICAgICAgICAgICBGYSA9IDA7IEZiID0gzrFzCisgICAg
ICAgICAgICBjbyA9IM6xYiB4IENiIHggzrFzIAorICAgICAgICAgICAgzrFvID0gzrFiIHggzrFz
CisgICAgICAgICAgICBDbyA9IGNvIC8gzrFvCisKKyAgICAgICAgICAgIGEgPSAwLjYgeCAwLjUg
PSAwLjMKKyAgICAgICAgICAgIHIgPSAwLjYgeCAxIHggMC41IC8gYSA9IDEKKyAgICAgICAgICAg
IGcgPSAwLjYgeCAwLjMgeCAwLjUgLyBhID0gMC4zCisgICAgICAgICAgICBiID0gMC42IHggMC41
IHggMC41IC8gYSA9IDAuNQorICAgICAgICAqLworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBy
Z2JhKDEwMCUsIDMwJSwgNTAlLCAwLjMpOworICAgIH0KKyAgICAuZGVzdGluYXRpb24tb3V0IHsK
KyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbShub25lIG1peCh1cmwoJy4uL3Jlc291cmNl
cy9taXgtY29sb3IuZnMnKSBub3JtYWwgZGVzdGluYXRpb24tb3V0KSwgbWl4X2NvbG9yIDAuMCAw
LjYgMC41IDAuNSk7CisgICAgfQorICAgIC5kZXN0aW5hdGlvbi1vdXQtZXhwZWN0ZWQgeworICAg
ICAgICAvKgorICAgICAgICAgICAgRGVzdGluYXRpb25PdXQ6CisKKyAgICAgICAgICAgIEZhID0g
MDsgRmIgPSAxIOKAkyDOsXMKKyAgICAgICAgICAgIGNvID0gzrFiIHggQ2IgeCAoMSDigJMgzrFz
KQorICAgICAgICAgICAgzrFvID0gzrFiIHggKDEg4oCTIM6xcykKKyAgICAgICAgICAgIENvID0g
Y28gLyDOsW8KKworICAgICAgICAgICAgYSA9IDAuNiB4ICgxIC0gMC41KSA9IDAuMworICAgICAg
ICAgICAgciA9IDAuNiB4IDEgeCAoMSAtIDAuNSkgLyBhID0gMQorICAgICAgICAgICAgZyA9IDAu
NiB4IDAuMyB4ICgxIC0gMC41KSAvIGEgPSAwLjMKKyAgICAgICAgICAgIGIgPSAwLjYgeCAwLjUg
eCAoMSAtIDAuNSkgLyBhID0gMC41CisgICAgICAgICovCisgICAgICAgIGJhY2tncm91bmQtY29s
b3I6IHJnYmEoMTAwJSwgMzAlLCA1MCUsIDAuMyk7CisgICAgfQorICAgIC5kZXN0aW5hdGlvbi1h
dG9wIHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbShub25lIG1peCh1cmwoJy4uL3Jl
c291cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgZGVzdGluYXRpb24tYXRvcCksIG1peF9jb2xv
ciAwLjAgMC42IDAuNSAwLjUpOworICAgIH0KKyAgICAuZGVzdGluYXRpb24tYXRvcC1leHBlY3Rl
ZCB7CisgICAgICAgIC8qCisgICAgICAgICAgICBEZXN0aW5hdGlvbkF0b3A6CisKKyAgICAgICAg
ICAgIEZhID0gMSAtIM6xYjsgRmIgPSDOsXMKKyAgICAgICAgICAgIGNvID0gzrFzIHggQ3MgeCAo
MSAtIM6xYikgKyDOsWIgeCBDYiB4IM6xcworICAgICAgICAgICAgzrFvID0gzrFzIHggKDEgLSDO
sWIpICsgzrFiIHggzrFzCisgICAgICAgICAgICBDbyA9IGNvIC8gzrFvCisKKyAgICAgICAgICAg
IGEgPSAwLjUgeCAoMSAtIDAuNikgKyAwLjYgeCAwLjUgPSAwLjUKKyAgICAgICAgICAgIHIgPSAo
MC41IHggMCB4ICgxIC0gMC42KSArIDAuNiB4IDEgeCAwLjUpIC8gYSA9IDAuNgorICAgICAgICAg
ICAgZyA9ICgwLjUgeCAwLjYgeCAoMSAtIDAuNikgKyAwLjYgeCAwLjMgeCAwLjUpIC8gYSA9IDAu
NDIKKyAgICAgICAgICAgIGIgPSAoMC41IHggMC41IHggKDEgLSAwLjYpICsgMC42IHggMC41IHgg
MC41KSAvIGEgPSAwLjUKKyAgICAgICAgKi8KKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdi
YSg2MCUsIDQyJSwgNTAlLCAwLjUpOworICAgIH0KKyAgICAueG9yIHsKKyAgICAgICAgLXdlYmtp
dC1maWx0ZXI6IGN1c3RvbShub25lIG1peCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29sb3IuZnMn
KSBub3JtYWwgeG9yKSwgbWl4X2NvbG9yIDAuMCAwLjYgMC41IDAuNSk7CisgICAgfQorICAgIC54
b3ItZXhwZWN0ZWQgeworICAgICAgICAvKgorICAgICAgICAgICAgWE9SOgorCisgICAgICAgICAg
ICBGYSA9IDEgLSDOsWI7IEZiID0gMSDigJMgzrFzCisgICAgICAgICAgICBjbyA9IM6xcyB4IENz
IHggKDEgLSDOsWIpICsgzrFiIHggQ2IgeCAoMSDigJMgzrFzKQorICAgICAgICAgICAgzrFvID0g
zrFzIHggKDEgLSDOsWIpICsgzrFiIHggKDEg4oCTIM6xcykKKyAgICAgICAgICAgIENvID0gY28g
LyDOsW8KKworICAgICAgICAgICAgYSA9IDAuNSB4ICgxIC0gMC42KSArIDAuNiB4ICgxIC0gMC41
KSA9IDAuNQorICAgICAgICAgICAgciA9ICgwLjUgeCAwIHggKDEgLSAwLjYpICsgMC42IHggMSB4
ICgxIC0gMC41KSkgLyBhID0gMC42CisgICAgICAgICAgICBnID0gKDAuNSB4IDAuNiB4ICgxIC0g
MC42KSArIDAuNiB4IDAuMyB4ICgxIC0gMC41KSkgLyBhID0gMC40MgorICAgICAgICAgICAgYiA9
ICgwLjUgeCAwLjUgeCAoMSAtIDAuNikgKyAwLjYgeCAwLjUgeCAoMSAtIDAuNSkpIC8gYSA9IDAu
NQorICAgICAgICAqLworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYwJSwgNDIlLCA1
MCUsIDAuNSk7CisgICAgfQorICAgIC5saWdodGVyIHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6
IGN1c3RvbShub25lIG1peCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwg
cGx1cy1saWdodGVyKSwgbWl4X2NvbG9yIDAuMCAwLjYgMC41IDAuNSk7CisgICAgfQorICAgIC5s
aWdodGVyLWV4cGVjdGVkIHsKKyAgICAgICAgLyoKKyAgICAgICAgICAgIExpZ2h0ZXI6CisKKyAg
ICAgICAgICAgIEZhID0gMTsgRmIgPSAxCisgICAgICAgICAgICBjbyA9IM6xcyB4IENzICsgzrFi
IHggQ2I7CisgICAgICAgICAgICDOsW8gPSDOsXMgKyDOsWIKKyAgICAgICAgICAgIENvID0gY28g
LyDOsW8KKworICAgICAgICAgICAgYSA9IDAuNiArIDAuNSA9IDEuMSA9IDEKKyAgICAgICAgICAg
IHIgPSAwLjYgeCAxIHggKDEgLSAwLjUpIC8gYSA9IDAuNTQ1NDU0NTQ1NDU0NTQ2CisgICAgICAg
ICAgICBnID0gMC42IHggMC4zIHggKDEgLSAwLjUpIC8gYSA9IDAuNDM2MzYzNjM2MzYzNjM2Cisg
ICAgICAgICAgICBiID0gMC42IHggMC41IHggKDEgLSAwLjUpIC8gYSA9IDAuNQorCisgICAgICAg
ICAgICBUaGUgZXJyb3IgaW4gdGhlIGNvbG9yIGNhbGN1bGF0aW9uIHJlcXVpcmVzIHVzIHRvIHVz
ZSB0aGUgOC1iaXQgdmFsdWVzIGZvcjoKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJn
YmEoNTQuNTQ1NDU1JSwgNDMuNjM2MzY0JSwgNTAlICwxLjApOworICAgICAgICAqLworICAgICAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTM5LCAxMTEsIDEyOCk7CisgICAgfQorICAgIDwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGNsYXNzPSJwYWlyLW9mLXNxdWFyZXMiPgor
ICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBzb3VyY2UtYXRvcCI+PC9kaXY+CisgICAg
ICAgIDxkaXYgY2xhc3M9InNvdXJjZS1hdG9wLWV4cGVjdGVkIj48L2Rpdj4KKyAgICA8L2Rpdj4K
KyAgICA8ZGl2IGNsYXNzPSJwYWlyLW9mLXNxdWFyZXMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJk
ZXN0aW5hdGlvbiBjbGVhciI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyLWV4cGVj
dGVkIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJwYWlyLW9mLXNxdWFyZXMi
PgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBjb3B5Ij48L2Rpdj4KKyAgICAgICAg
PGRpdiBjbGFzcz0iY29weS1leHBlY3RlZCI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBj
bGFzcz0icGFpci1vZi1zcXVhcmVzIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24g
c291cmNlLW92ZXIiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzb3VyY2Utb3Zlci1leHBl
Y3RlZCI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icGFpci1vZi1zcXVhcmVz
Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24gc291cmNlLWluIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBjbGFzcz0ic291cmNlLWluLWV4cGVjdGVkIj48L2Rpdj4KKyAgICA8L2Rpdj4K
KyAgICA8ZGl2IGNsYXNzPSJwYWlyLW9mLXNxdWFyZXMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJk
ZXN0aW5hdGlvbiBzb3VyY2Utb3V0Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic291cmNl
LW91dC1leHBlY3RlZCI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icGFpci1v
Zi1zcXVhcmVzIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24gZGVzdGluYXRpb24t
b3ZlciI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uLW92ZXItZXhwZWN0
ZWQiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InBhaXItb2Ytc3F1YXJlcyI+
CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uLWluIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24taW4tZXhwZWN0ZWQiPjwvZGl2PgorICAg
IDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InBhaXItb2Ytc3F1YXJlcyI+CisgICAgICAgIDxkaXYg
Y2xhc3M9ImRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uLW91dCI+PC9kaXY+CisgICAgICAgIDxkaXYg
Y2xhc3M9ImRlc3RpbmF0aW9uLW91dC1leHBlY3RlZCI+PC9kaXY+CisgICAgPC9kaXY+CisgICAg
PGRpdiBjbGFzcz0icGFpci1vZi1zcXVhcmVzIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGlu
YXRpb24gZGVzdGluYXRpb24tYXRvcCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3Rp
bmF0aW9uLWF0b3AtZXhwZWN0ZWQiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9
InBhaXItb2Ytc3F1YXJlcyI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uIHhvciI+
PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9Inhvci1leHBlY3RlZCI+PC9kaXY+CisgICAgPC9k
aXY+CisgICAgPGRpdiBjbGFzcz0icGFpci1vZi1zcXVhcmVzIj4KKyAgICAgICAgPGRpdiBjbGFz
cz0iZGVzdGluYXRpb24gbGlnaHRlciI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImxpZ2h0
ZXItZXhwZWN0ZWQiPjwvZGl2PgorICAgIDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166202</attachid>
            <date>2012-09-28 04:15:29 -0700</date>
            <delta_ts>2012-10-04 02:48:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97859-20120928201436.patch</filename>
            <type>text/plain</type>
            <size>24171</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NzI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2M4OTJlM2RiNDU0MTRl
YjMzYWEwYmJiOTk0NGE5YjljMGM2MGU5My4uYjkyZTkzYzRiZTFiYTBhZTkyY2JkMDkwNzhiNjcx
OTMxYzg4ZDc5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA5LTI3ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gSW1wbGVtZW50IGFsbCBjb21wb3NpdGUgb3BlcmF0b3JzLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc4NTkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZXhwcmVzc2lvbnMgZm9yIGFsbCBj
b21wb3NpdGUgb3BlcmF0b3JzLiBUaGUgZXhwcmVzc2lvbnMgYXJlIGxpZnRlZCBkaXJlY3RseQor
ICAgICAgICBmcm9tIHRoZSBDU1MgQ29tcG9zaXRpbmcgYW5kIEJsZW5kaW5nIHNwZWMgWzFdLiBX
ZWJLaXQgYWRkcyB0aGVzZSBjb21wb3NpdGluZyBleHByZXNzaW9ucyB0bworICAgICAgICB0aGUg
YXV0aG9yJ3Mgc2hhZGVyLgorCisgICAgICAgIFsxXTogaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9G
WFRGL3Jhd2ZpbGUvdGlwL2NvbXBvc2l0aW5nL2luZGV4Lmh0bWwjYWR2YW5jZWRjb21wb3NpdGlu
ZworCisgICAgICAgIFRlc3Q6IGNzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21w
b3NpdGUtb3BlcmF0b3JzLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjppc0NvbXBvc2l0ZU9wZXJhdG9yKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbTo6Y29t
cG9zaXRlRnVuY3Rpb25TdHJpbmcpOgorCiAyMDEyLTA4LTA5ICBUYWthc2hpIFNha2Ftb3RvICA8
dGFzYWtAZ29vZ2xlLmNvbT4KIAogICAgICAgICBNb3ZlIElETCBleHRlbmRlZCBhdHRyaWJ1dGVz
IHRvIHRoZSBsb2NhdGlvbiBzcGVjaWZpZWQgaW4gV2ViSURMCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwCmluZGV4IDlhOTIyZjE5MTI3Zjk2OTk2MjZiMGNmMzNiMzgzM2NmMjZkMzBmODQuLmRiNzc4
ZGY4YjY0NDFjZjc3Nzc5MzE3NTg5ZGUwNGRhNDMxNTk3NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuY3BwCkBAIC03NDY0LDggKzc0NjQsNyBAQCBib29sIENTU1BhcnNlcjo6aXNCbGVuZE1vZGUo
aW50IGlkZW50KQogCiBib29sIENTU1BhcnNlcjo6aXNDb21wb3NpdGVPcGVyYXRvcihpbnQgaWRl
bnQpCiB7Ci0gICAgLy8gRklYTUU6IEFkZCBDU1NWYWx1ZURlc3RpbmF0aW9uIGFuZCBDU1NWYWx1
ZUxpZ2h0ZXIgd2hlbiB0aGUgQ29tcG9zaXRpbmcgc3BlYyB1cGRhdGVzLgotICAgIHJldHVybiBp
ZGVudCA+PSBDU1NWYWx1ZUNsZWFyICYmIGlkZW50IDw9IENTU1ZhbHVlWG9yOworICAgIHJldHVy
biBpZGVudCA+PSBDU1NWYWx1ZUNsZWFyICYmIGlkZW50IDw9IENTU1ZhbHVlUGx1c0xpZ2h0ZXIg
JiYgaWRlbnQgIT0gQ1NTVmFsdWVQbHVzRGFya2VyOwogfQogCiAjaWYgRU5BQkxFKENTU19GSUxU
RVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAKaW5k
ZXggNDIxMWU4MmI3ODFiMWEwYWNiNTI3ZjMwZGY1YzAxNDM5YzQ1MTgwOS4uODZjZjliNjI2YWVj
MzNkODhlNDM4NjEyN2ZhNzY5ZDg0YTJmMGUyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZp
bHRlclZhbGlkYXRlZFByb2dyYW0uY3BwCkBAIC0yNDksMTggKzI0OSw0OSBAQCBTdHJpbmcgQ3Vz
dG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbTo6Y29tcG9zaXRlRnVuY3Rpb25TdHJpbmcoQ29tcG9z
aXRlT3BlcmF0b3IgYwogICAgICAgICBGYiA9ICIxLjAgLSBhcyI7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgQ29tcG9zaXRlQ2xlYXI6CisgICAgICAgIEZhID0gIjAuMCI7CisgICAgICAgIEZi
ID0gIjAuMCI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29tcG9zaXRlQ29weToKKyAgICAg
ICAgRmEgPSAiMS4wIjsKKyAgICAgICAgRmIgPSAiMC4wIjsKKyAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBDb21wb3NpdGVTb3VyY2VPdmVyOgorICAgICAgICBGYSA9ICIxLjAiOworICAgICAgICBG
YiA9ICIxLjAgLSBhcyI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29tcG9zaXRlU291cmNl
SW46CisgICAgICAgIEZhID0gImFiIjsKKyAgICAgICAgRmIgPSAiMC4wIjsKKyAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBDb21wb3NpdGVTb3VyY2VPdXQ6CisgICAgICAgIEZhID0gIjEuMCAtIGFi
IjsKKyAgICAgICAgRmIgPSAiMC4wIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3Np
dGVEZXN0aW5hdGlvbk92ZXI6CisgICAgICAgIEZhID0gIjEuMCAtIGFiIjsKKyAgICAgICAgRmIg
PSAiMS4wIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3NpdGVEZXN0aW5hdGlvbklu
OgorICAgICAgICBGYSA9ICIwLjAiOworICAgICAgICBGYiA9ICJhcyI7CisgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgQ29tcG9zaXRlRGVzdGluYXRpb25PdXQ6CisgICAgICAgIEZhID0gIjAuMCI7
CisgICAgICAgIEZiID0gIjEuMCAtIGFzIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21w
b3NpdGVEZXN0aW5hdGlvbkF0b3A6CisgICAgICAgIEZhID0gIjEuMCAtIGFiIjsKKyAgICAgICAg
RmIgPSAiYXMiOworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZVhPUjoKKyAgICAg
ICAgRmEgPSAiMS4wIC0gYWIiOworICAgICAgICBGYiA9ICIxLjAgLSBhcyI7CisgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgQ29tcG9zaXRlUGx1c0xpZ2h0ZXI6Ci0gICAgICAgIG5vdEltcGxlbWVu
dGVkKCk7Ci0gICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICAgICAgRmEgPSAiMS4wIjsKKyAg
ICAgICAgRmIgPSAiMS4wIjsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAg
Ly8gVGhlIENTUyBwYXJzZXIgc2hvdWxkIG5vdCBoYXZlIGFjY2VwdGVkIGFueSBvdGhlciBjb21w
b3NpdGUgb3BlcmF0b3JzLgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTI3NSw3
ICszMDYsOCBAQCBTdHJpbmcgQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbTo6Y29tcG9zaXRl
RnVuY3Rpb25TdHJpbmcoQ29tcG9zaXRlT3BlcmF0b3IgYwogICAgICAgICB7CiAgICAgICAgICAg
ICBtZWRpdW1wIGZsb2F0IEZhID0gJXM7CiAgICAgICAgICAgICBtZWRpdW1wIGZsb2F0IEZiID0g
JXM7Ci0gICAgICAgICAgICByZXR1cm4gdmVjNChhcyAqIEZhICogQ3MgKyBhYiAqIEZiICogQ2Is
IGFzICogRmEgKyBhYiAqIEZiKTsgCisgICAgICAgICAgICBtZWRpdW1wIGZsb2F0IGFvID0gYXMg
KiBGYSArIGFiICogRmI7CisgICAgICAgICAgICByZXR1cm4gdmVjNCgoYXMgKiBGYSAqIENzICsg
YWIgKiBGYiAqIENiKSAvIGFvLCBhbyk7CiAgICAgICAgIH0KICAgICApLCBGYSwgRmIpOwogfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDY2NTUyMjVkYWU4YmUyZTc3NWY5Nzk5MzkyOWFjMTg4ZWE0YTNhNjAuLjg0YTlkYmFl
ODEwNGZiNmYzM2RlMzllNTdkZDI1YTQ1ODcxMWNjOTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAor
MjAxMi0wOS0yNyAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KKwor
ICAgICAgICBbQ1NTIFNoYWRlcnNdIEltcGxlbWVudCBhbGwgY29tcG9zaXRlIG9wZXJhdG9ycy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3ODU5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3Qg
dG8gY2hlY2sgdGhhdCB0aGUgRE9NIGVsZW1lbnQgdGV4dHVyZSBjb21wb3NpdGVzIGNvcnJlY3Rs
eSB3aXRoIHRoZSBjc3NfTWl4Q29sb3IKKyAgICAgICAgdmFyaWFibGUgZnJvbSB0aGUgYXV0aG9y
J3Mgc2hhZGVyIGZvciBlYWNoIGNvbXBvc2l0ZSBvcGVyYXRvci4KKworICAgICAgICAqIGNzczMv
ZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUtb3BlcmF0b3JzLWV4cGVjdGVk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRl
ci1jb21wb3NpdGUtb3BlcmF0b3JzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVy
cy9jdXN0b20vY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWludmFsaWQtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGNzczMvZmlsdGVycy9zY3JpcHQtdGVzdHMvY3VzdG9tLWZpbHRlci1w
cm9wZXJ0eS1wYXJzaW5nLWludmFsaWQuanM6IHRoZSB1cGRhdGVkIENvbXBvc2l0aW5nIHNwZWMg
c3VwcG9ydHMgcGx1cy1saWdodGVyLgorCiAyMDEyLTA5LTI2ICBLZWlzaGkgSGF0dG9yaSAgPGtl
aXNoaUB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCB0ZXN0cyBmb3IgZGF0YWxpc3QgVUkgZm9y
IGlucHV0IHR5cGUgZGF0ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1
c3RvbS9jdXN0b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUtb3Bl
cmF0b3JzLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODRjZjJhMWU0OTc0Y2RkZDI2NGY2ZjZh
N2VjMjkwNjFiMGExYWI0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmls
dGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUtb3BlcmF0b3JzLWV4cGVjdGVkLmh0
bWwKQEAgLTAsMCArMSwxMTAgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAg
ICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVyIGNvbXBvc2l0ZSBvcGVyYXRvcnMgY29t
cHV0ZSBjb2xvciB2YWx1ZXMgY29ycmVjdGx5LjwvdGl0bGU+CisgICAgPCEtLQorICAgICAgICBU
aGlzIGlzIHRoZSByZWZlcmVuY2UgZmlsZSBmb3IgdGhlIHRlc3QuCisgICAgICAgIFRoZSB0ZXN0
IHBhc3NlcyBpZiBlYWNoIGhvcml6b250YWwgcGFpciBvZiBzcXVhcmVzIGFyZSBleGFjdGx5IHRo
ZSBzYW1lIGNvbG9yLgorICAgICAgICBUaGUgdGVzdCBmaWxlIGRlc2NyaWJlcyBob3cgdGhlIGNv
bG9yIHZhbHVlcyBpbiB0aGlzIHJlZmVyZW5jZSBmaWxlIGFyZSBjb21wdXRlZC4KKyAgICAtLT4K
KyAgICA8c3R5bGU+CisgICAgLnBhaXItb2Ytc3F1YXJlcyB7CisgICAgICAgIGNsZWFyOiBib3Ro
OworICAgIH0KKyAgICAucGFpci1vZi1zcXVhcmVzID4gZGl2IHsKKyAgICAgICAgLyogU3F1YXJl
IHNpemUuICovCisgICAgICAgIHdpZHRoOiAyMHB4OworICAgICAgICBoZWlnaHQ6IDIwcHg7Cisg
ICAgICAgIG1hcmdpbjogMnB4OworICAgICAgICBmbG9hdDogbGVmdDsKKyAgICB9CisgICAgLyog
Q29tcG9zaXRlIG9wZXJhdG9ycyAqLworICAgIC5zb3VyY2UtYXRvcC1leHBlY3RlZCB7CisgICAg
ICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxNzksIDE3MCwgMTc5KTsKKyAgICB9CisgICAgLmNs
ZWFyLWV4cGVjdGVkIHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwJSwgMCUsIDAl
LCAwLjApOworICAgIH0KKyAgICAuY29weS1leHBlY3RlZCB7CisgICAgICAgIGJhY2tncm91bmQt
Y29sb3I6IHJnYigxMjgsIDIwNSwgMTkyKTsKKyAgICB9CisgICAgLnNvdXJjZS1vdmVyLWV4cGVj
dGVkIHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEyOCwgMTUxLCAxNTQpOworICAg
IH0KKyAgICAuc291cmNlLWluLWV4cGVjdGVkIHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjog
cmdiKDE3OSwgMjI1LCAyMTcpOworICAgIH0KKyAgICAuc291cmNlLW91dC1leHBlY3RlZCB7Cisg
ICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyMDQsIDIzNSwgMjMwKTsKKyAgICB9CisgICAg
LmRlc3RpbmF0aW9uLW92ZXItZXhwZWN0ZWQgeworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBy
Z2IoMjA0LCAxMjcsIDE1NCk7CisgICAgfQorICAgIC5kZXN0aW5hdGlvbi1pbi1leHBlY3RlZCB7
CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDIwMiwgMjE4KTsKKyAgICB9Cisg
ICAgLmRlc3RpbmF0aW9uLW91dC1leHBlY3RlZCB7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6
IHJnYigyNTUsIDIwMiwgMjE4KTsKKyAgICB9CisgICAgLmRlc3RpbmF0aW9uLWF0b3AtZXhwZWN0
ZWQgeworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjA1LCAxODEsIDE5Mik7CisgICAg
fQorICAgIC54b3ItZXhwZWN0ZWQgeworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjA1
LCAxODEsIDE5Mik7CisgICAgfQorICAgIC5saWdodGVyLWV4cGVjdGVkIHsKKyAgICAgICAgYmFj
a2dyb3VuZC1jb2xvcjogcmdiKDEzOSwgMTEwLCAxMjgpOworICAgIH0KKyAgICA8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBjbGFzcz0icGFpci1vZi1zcXVhcmVzIj4KKyAgICAg
ICAgPGRpdiBjbGFzcz0ic291cmNlLWF0b3AtZXhwZWN0ZWQiPjwvZGl2PgorICAgICAgICA8ZGl2
IGNsYXNzPSJzb3VyY2UtYXRvcC1leHBlY3RlZCI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRp
diBjbGFzcz0icGFpci1vZi1zcXVhcmVzIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXItZXhw
ZWN0ZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhci1leHBlY3RlZCI+PC9kaXY+
CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icGFpci1vZi1zcXVhcmVzIj4KKyAgICAgICAg
PGRpdiBjbGFzcz0iY29weS1leHBlY3RlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImNv
cHktZXhwZWN0ZWQiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InBhaXItb2Yt
c3F1YXJlcyI+CisgICAgICAgIDxkaXYgY2xhc3M9InNvdXJjZS1vdmVyLWV4cGVjdGVkIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic291cmNlLW92ZXItZXhwZWN0ZWQiPjwvZGl2PgorICAg
IDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InBhaXItb2Ytc3F1YXJlcyI+CisgICAgICAgIDxkaXYg
Y2xhc3M9InNvdXJjZS1pbi1leHBlY3RlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNv
dXJjZS1pbi1leHBlY3RlZCI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icGFp
ci1vZi1zcXVhcmVzIj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic291cmNlLW91dC1leHBlY3RlZCI+
PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNvdXJjZS1vdXQtZXhwZWN0ZWQiPjwvZGl2Pgor
ICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InBhaXItb2Ytc3F1YXJlcyI+CisgICAgICAgIDxk
aXYgY2xhc3M9ImRlc3RpbmF0aW9uLW92ZXItZXhwZWN0ZWQiPjwvZGl2PgorICAgICAgICA8ZGl2
IGNsYXNzPSJkZXN0aW5hdGlvbi1vdmVyLWV4cGVjdGVkIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAg
ICA8ZGl2IGNsYXNzPSJwYWlyLW9mLXNxdWFyZXMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0
aW5hdGlvbi1pbi1leHBlY3RlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0
aW9uLWluLWV4cGVjdGVkIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJwYWly
LW9mLXNxdWFyZXMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbi1vdXQtZXhwZWN0
ZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbi1vdXQtZXhwZWN0ZWQi
PjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InBhaXItb2Ytc3F1YXJlcyI+Cisg
ICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uLWF0b3AtZXhwZWN0ZWQiPjwvZGl2PgorICAg
ICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbi1hdG9wLWV4cGVjdGVkIj48L2Rpdj4KKyAgICA8
L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJwYWlyLW9mLXNxdWFyZXMiPgorICAgICAgICA8ZGl2IGNs
YXNzPSJ4b3ItZXhwZWN0ZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJ4b3ItZXhwZWN0
ZWQiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InBhaXItb2Ytc3F1YXJlcyI+
CisgICAgICAgIDxkaXYgY2xhc3M9ImxpZ2h0ZXItZXhwZWN0ZWQiPjwvZGl2PgorICAgICAgICA8
ZGl2IGNsYXNzPSJsaWdodGVyLWV4cGVjdGVkIj48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3Vz
dG9tLWZpbHRlci1jb21wb3NpdGUtb3BlcmF0b3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2Zp
bHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29tcG9zaXRlLW9wZXJhdG9ycy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjI5OTUyZDVkZjc3ZmI5YWVmMzA2MDMyNjhiODAyZTU4ODY0NDBhNzYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXIt
Y29tcG9zaXRlLW9wZXJhdG9ycy5odG1sCkBAIC0wLDAgKzEsMzUyIEBACis8IWRvY3R5cGUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPlRlc3RzIHRoYXQgY3VzdG9tIGZpbHRlciBj
b21wb3NpdGUgb3BlcmF0b3JzIGNvbXB1dGUgY29sb3IgdmFsdWVzIGNvcnJlY3RseS48L3RpdGxl
PgorICAgIDwhLS0gVGhpcyB0ZXN0IHBhc3NlcyBpZiBlYWNoIGhvcml6b250YWwgcGFpciBvZiBz
cXVhcmVzIGFyZSBleGFjdGx5IHRoZSBzYW1lIGNvbG9yLiAtLT4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVu
bmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCIsICIx
Iik7CisgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldl
YktpdFdlYkdMRW5hYmxlZCIsICIxIik7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8
c3R5bGU+CisgICAgLnBhaXItb2Ytc3F1YXJlcyB7CisgICAgICAgIGNsZWFyOiBib3RoOworICAg
IH0KKyAgICAucGFpci1vZi1zcXVhcmVzID4gZGl2IHsKKyAgICAgICAgLyogU3F1YXJlIHNpemUu
ICovCisgICAgICAgIHdpZHRoOiAyMHB4OworICAgICAgICBoZWlnaHQ6IDIwcHg7CisgICAgICAg
IG1hcmdpbjogMnB4OworICAgICAgICBmbG9hdDogbGVmdDsKKyAgICB9CisgICAgLmRlc3RpbmF0
aW9uIHsKKyAgICAgICAgLyogRGVzdGluYXRpb24gY29sb3IgKi8KKyAgICAgICAgYmFja2dyb3Vu
ZC1jb2xvcjogcmdiYSgxMDAlLCAzMCUsIDUwJSwgMC42KTsKKyAgICB9CisgICAgLyogQ29tcG9z
aXRlIG9wZXJhdG9ycyAqLworICAgIC5zb3VyY2UtYXRvcCB7CisgICAgICAgIC13ZWJraXQtZmls
dGVyOiBjdXN0b20obm9uZSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykgbm9y
bWFsIHNvdXJjZS1hdG9wKSwgbWl4X2NvbG9yIDAuMCAwLjYgMC41IDAuNSk7CisgICAgfQorICAg
IC8qCisgICAgICAgIFRoZSBlcXVhdGlvbnMgYmVsb3cgdXNlIHRoZSBzeW1ib2xzIGFuZCBlcXVh
dGlvbnMgZGVmaW5lZCBpbiB0aGUgQ1NTIEJsZW5kaW5nIGFuZCBDb21wb3NpdGluZyBzcGVjLCB3
aGVyZToKKyAgICAgICAgICAgIENvID0gb3V0cHV0IGNvbG9yCisgICAgICAgICAgICBDcyA9IHNv
dXJjZSBjb2xvciAoYWthICJtaXggY29sb3IiLCAiY3NzX01peENvbG9yIikKKyAgICAgICAgICAg
IENiID0gZGVzdGluYXRpb24gY29sb3IgKGFrYSAiYmFja2Ryb3AgY29sb3IiLCAib3JpZ2luYWwg
RE9NIGVsZW1lbnQgY29sb3IiKQorCisgICAgICAgICAgICBjbyA9IM6xcyB4IEZhIHggQ3MgKyDO
sWIgeCBGYiB4IENiCisgICAgICAgICAgICDOsW8gPSDOsXMgeCAxICsgzrFiIHggKDEg4oCTIM6x
cykKKyAgICAgICAgICAgIENvID0gY28gLyDOsW8KKworICAgICAgICBodHRwczovL2R2Y3MudzMu
b3JnL2hnL0ZYVEYvcmF3ZmlsZS90aXAvY29tcG9zaXRpbmcvaW5kZXguaHRtbCNnZW5lcmFsZm9y
bXVsYQorICAgICovCisgICAgLnNvdXJjZS1hdG9wLWV4cGVjdGVkIHsKKyAgICAgICAgLyoKKyAg
ICAgICAgICAgIFNvdXJjZUF0b3A6CisKKyAgICAgICAgICAgIEZhID0gzrFiOyBGYiA9IDEg4oCT
IM6xcworICAgICAgICAgICAgY28gPSDOsXMgeCBDcyB4IM6xYiArIM6xYiB4IENiIHggKDEg4oCT
IM6xcykKKyAgICAgICAgICAgIM6xbyA9IM6xcyB4IM6xYiArIM6xYiB4ICgxIOKAkyDOsXMpCisg
ICAgICAgICAgICBDbyA9IGNvIC8gzrFvCisKKyAgICAgICAgICAgIGEgPSAwLjUgeCAxICsgMC42
IHggKDEgLSAwLjUpID0gMC42CisgICAgICAgICAgICByID0gKDAuNSB4IDAgeCAwLjYgKyAwLjYg
eCAxIHggKDEgLSAwLjUpKSAvIGEgPSAwLjUKKyAgICAgICAgICAgIGcgPSAoMC41IHggMC42IHgg
MC42ICsgMC42IHggMC4zIHggKDEgLSAwLjUpKSAvIGEgPSAwLjQ1CisgICAgICAgICAgICBiID0g
KDAuNSB4IDAuNSB4IDAuNiArIDAuNiB4IDAuNSB4ICgxIC0gMC41KSkgLyBhID0gMC41CisKKyAg
ICAgICAgICAgIFRoZSBlcnJvciBpbiB0aGUgY29sb3IgY2FsY3VsYXRpb24gcmVxdWlyZXMgdXMg
dG8gdXNlIHRoZSA4LWJpdCB2YWx1ZXMgZm9yOgorICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xv
cjogcmdiYSg1MCUsIDQ1JSwgNTAlLCAwLjYpOworICAgICAgICAqLworICAgICAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiByZ2IoMTc5LCAxNzAsIDE3OSk7CisgICAgfQorICAgIC5jbGVhciB7CisgICAg
ICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20obm9uZSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4
LWNvbG9yLmZzJykgbm9ybWFsIGNsZWFyKSwgbWl4X2NvbG9yIDAuMCAwLjYgMC41IDAuNSk7Cisg
ICAgfQorICAgIC5jbGVhci1leHBlY3RlZCB7CisgICAgICAgIC8qCisgICAgICAgICAgICBDbGVh
cjoKKworICAgICAgICAgICAgRmEgPSAwOyBGYiA9IDAKKyAgICAgICAgICAgIGNvID0gMAorICAg
ICAgICAgICAgzrFvID0gMAorCisgICAgICAgICAgICBhID0gMC4wCisgICAgICAgICAgICByID0g
MC4wCisgICAgICAgICAgICBnID0gMC4wCisgICAgICAgICAgICBiID0gMC4wCisgICAgICAgICov
CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCUsIDAlLCAwJSwgMC4wKTsKKyAgICB9
CisgICAgLmNvcHkgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKG5vbmUgbWl4KHVy
bCgnLi4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBjb3B5KSwgbWl4X2NvbG9yIDAu
MCAwLjYgMC41IDAuNSk7CisgICAgfQorICAgIC5jb3B5LWV4cGVjdGVkIHsKKyAgICAgICAgLyoK
KyAgICAgICAgICAgIENvcHk6CisKKyAgICAgICAgICAgIEZhID0gMTsgRmIgPSAwCisgICAgICAg
ICAgICBjbyA9IM6xcyB4IENzCisgICAgICAgICAgICDOsW8gPSDOsXMKKyAgICAgICAgICAgIENv
ID0gY28gLyDOsW8KKworICAgICAgICAgICAgYSA9IDAuNQorICAgICAgICAgICAgciA9IDAuMAor
ICAgICAgICAgICAgZyA9IDAuNgorICAgICAgICAgICAgYiA9IDAuNQorCisgICAgICAgICAgICBU
aGUgZXJyb3IgaW4gdGhlIGNvbG9yIGNhbGN1bGF0aW9uIHJlcXVpcmVzIHVzIHRvIHVzZSB0aGUg
OC1iaXQgdmFsdWVzIGZvcjoKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCUs
IDYwJSwgNTAlLCAwLjUpOworICAgICAgICAqLworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBy
Z2IoMTI4LCAyMDUsIDE5Mik7CisgICAgfQorICAgIC5zb3VyY2Utb3ZlciB7CisgICAgICAgIC13
ZWJraXQtZmlsdGVyOiBjdXN0b20obm9uZSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9y
LmZzJykgbm9ybWFsIHNvdXJjZS1vdmVyKSwgbWl4X2NvbG9yIDAuMCAwLjYgMC41IDAuNSk7Cisg
ICAgfQorICAgIC5zb3VyY2Utb3Zlci1leHBlY3RlZCB7CisgICAgICAgIC8qCisgICAgICAgICAg
ICBTb3VyY2VPdmVyOgorCisgICAgICAgICAgICBGYSA9IDE7IEZiID0gMSDigJMgzrFzCisgICAg
ICAgICAgICBjbyA9IM6xcyB4IENzICsgzrFiIHggQ2IgeCAoMSDigJMgzrFzKQorICAgICAgICAg
ICAgzrFvID0gzrFzICsgzrFiIHggKDEg4oCTIM6xcykKKyAgICAgICAgICAgIENvID0gY28gLyDO
sW8KKworICAgICAgICAgICAgYSA9IDAuNSArIDAuNiB4ICggMSAtIDAuNSkgPSAwLjgKKyAgICAg
ICAgICAgIHIgPSAoMC41IHggMCArIDAuNiB4IDEgeCAoMSAtIDAuNSkpIC8gYSA9IDAuMzc1Cisg
ICAgICAgICAgICBnID0gKDAuNSB4IDAuNiArIDAuNiB4IDAuMyB4ICgxIC0gMC41KSkgLyBhID0g
MC40ODc1CisgICAgICAgICAgICBiID0gKDAuNSB4IDAuNSArIDAuNiB4IDAuNSB4ICgxIC0gMC41
KSkgLyBhID0gMC41CisKKyAgICAgICAgICAgIFRoZSBlcnJvciBpbiB0aGUgY29sb3IgY2FsY3Vs
YXRpb24gcmVxdWlyZXMgdXMgdG8gdXNlIHRoZSA4LWJpdCB2YWx1ZXMgZm9yOgorICAgICAgICAg
ICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNy41JSwgNDguNzUlLCA1MCUsIDAuOCk7CisgICAg
ICAgICovCisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxMjgsIDE1MSwgMTU0KTsKKyAg
ICB9CisgICAgLnNvdXJjZS1pbiB7CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20obm9u
ZSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykgbm9ybWFsIHNvdXJjZS1pbiks
IG1peF9jb2xvciAwLjAgMC42IDAuNSAwLjUpOworICAgIH0KKyAgICAuc291cmNlLWluLWV4cGVj
dGVkIHsKKyAgICAgICAgLyoKKyAgICAgICAgICAgIFNvdXJjZUluOgorCisgICAgICAgICAgICBG
YSA9IM6xYjsgRmIgPSAwCisgICAgICAgICAgICBjbyA9IM6xcyB4IENzIHggzrFiCisgICAgICAg
ICAgICDOsW8gPSDOsXMgeCDOsWIKKyAgICAgICAgICAgIENvID0gY28gLyDOsW8KKworICAgICAg
ICAgICAgYSA9IDAuNSB4IDAuNiA9IDAuMworICAgICAgICAgICAgciA9IDAuNSB4IDAgeCAwLjYg
LyBhID0gMAorICAgICAgICAgICAgZyA9IDAuNSB4IDAuNiB4IDAuNiAvIGEgPSAwLjYKKyAgICAg
ICAgICAgIGIgPSAwLjUgeCAwLjUgeCAwLjYgLyBhID0gMC41CisKKyAgICAgICAgICAgIFRoZSBl
cnJvciBpbiB0aGUgY29sb3IgY2FsY3VsYXRpb24gcmVxdWlyZXMgdXMgdG8gdXNlIHRoZSA4LWJp
dCB2YWx1ZXMgZm9yOgorICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwJSwgNjAl
LCA1MCUsIDAuMyk7CisgICAgICAgICovCisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigx
NzksIDIyNSwgMjE3KTsKKyAgICB9CisgICAgLnNvdXJjZS1vdXQgeworICAgICAgICAtd2Via2l0
LWZpbHRlcjogY3VzdG9tKG5vbmUgbWl4KHVybCgnLi4vcmVzb3VyY2VzL21peC1jb2xvci5mcycp
IG5vcm1hbCBzb3VyY2Utb3V0KSwgbWl4X2NvbG9yIDAuMCAwLjYgMC41IDAuNSk7CisgICAgfQor
ICAgIC5zb3VyY2Utb3V0LWV4cGVjdGVkIHsKKyAgICAgICAgLyoKKyAgICAgICAgICAgIFNvdXJj
ZU91dDoKKworICAgICAgICAgICAgRmEgPSAxIOKAkyDOsWI7IEZiID0gMAorICAgICAgICAgICAg
Y28gPSDOsXMgeCBDcyB4ICgxIOKAkyDOsWIpCisgICAgICAgICAgICDOsW8gPSDOsXMgeCAoMSDi
gJMgzrFiKQorICAgICAgICAgICAgQ28gPSBjbyAvIM6xbworCisgICAgICAgICAgICBhID0gMC41
IHggKDEgLSAwLjYpID0gMC4yCisgICAgICAgICAgICByID0gMC41IHggMCB4ICgxIC0gMC42KSAv
IGEgPSAwCisgICAgICAgICAgICBnID0gMC41IHggMC42IHggKDEgLSAwLjYpIC8gYSA9IDAuNgor
ICAgICAgICAgICAgYiA9IDAuNSB4IDAuNSB4ICgxIC0gMC42KSAvIGEgPSAwLjUKKworICAgICAg
ICAgICAgVGhlIGVycm9yIGluIHRoZSBjb2xvciBjYWxjdWxhdGlvbiByZXF1aXJlcyB1cyB0byB1
c2UgdGhlIDgtYml0IHZhbHVlcyBmb3I6CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBy
Z2JhKDAlLCA2MCUsIDUwJSwgMC4yKTsKKyAgICAgICAgKi8KKyAgICAgICAgYmFja2dyb3VuZC1j
b2xvcjogcmdiKDIwNCwgMjM1LCAyMzApOworICAgIH0KKyAgICAuZGVzdGluYXRpb24tb3ZlciB7
CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20obm9uZSBtaXgodXJsKCcuLi9yZXNvdXJj
ZXMvbWl4LWNvbG9yLmZzJykgbm9ybWFsIGRlc3RpbmF0aW9uLW92ZXIpLCBtaXhfY29sb3IgMC4w
IDAuNiAwLjUgMC41KTsKKyAgICB9CisgICAgLmRlc3RpbmF0aW9uLW92ZXItZXhwZWN0ZWQgewor
ICAgICAgICAvKgorICAgICAgICAgICAgRGVzdGluYXRpb25PdmVyOgorCisgICAgICAgICAgICBG
YSA9IDEg4oCTIM6xYjsgRmIgPSAxCisgICAgICAgICAgICBjbyA9IM6xcyB4IENzIHggKDEg4oCT
IM6xYikgKyDOsWIgeCBDYgorICAgICAgICAgICAgzrFvID0gzrFzIHggKDEg4oCTIM6xYikgKyDO
sWIKKyAgICAgICAgICAgIENvID0gY28gLyDOsW8KKworICAgICAgICAgICAgYSA9IDAuNSB4ICgx
IC0gMC42KSArIDAuNiA9IDAuOAorICAgICAgICAgICAgciA9ICgwLjUgeCAwIHggKDEgLSAwLjYp
ICsgMC42IHggMSkgLyBhID0wLjc1CisgICAgICAgICAgICBnID0gKDAuNSB4IDAuNiB4ICgxIC0g
MC42KSArIDAuNiB4IDAuMykgLyBhID0wLjM3NQorICAgICAgICAgICAgYiA9ICgwLjUgeCAwLjUg
eCAoMSAtIDAuNikgKyAwLjYgeCAwLjUpIC8gYSA9MC41CisKKyAgICAgICAgICAgIFRoZSBlcnJv
ciBpbiB0aGUgY29sb3IgY2FsY3VsYXRpb24gcmVxdWlyZXMgdXMgdG8gdXNlIHRoZSA4LWJpdCB2
YWx1ZXMgZm9yOgorICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3NSUsIDM3LjUl
LCA1MCUsIDAuOCk7CisgICAgICAgICovCisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigy
MDQsIDEyNywgMTU0KTsKKyAgICB9CisgICAgLmRlc3RpbmF0aW9uLWluIHsKKyAgICAgICAgLXdl
YmtpdC1maWx0ZXI6IGN1c3RvbShub25lIG1peCh1cmwoJy4uL3Jlc291cmNlcy9taXgtY29sb3Iu
ZnMnKSBub3JtYWwgZGVzdGluYXRpb24taW4pLCBtaXhfY29sb3IgMC4wIDAuNiAwLjUgMC41KTsK
KyAgICB9CisgICAgLmRlc3RpbmF0aW9uLWluLWV4cGVjdGVkIHsKKyAgICAgICAgLyoKKyAgICAg
ICAgICAgIERlc3RpbmF0aW9uSW46CisKKyAgICAgICAgICAgIEZhID0gMDsgRmIgPSDOsXMKKyAg
ICAgICAgICAgIGNvID0gzrFiIHggQ2IgeCDOsXMKKyAgICAgICAgICAgIM6xbyA9IM6xYiB4IM6x
cworICAgICAgICAgICAgQ28gPSBjbyAvIM6xbworCisgICAgICAgICAgICBhID0gMC42IHggMC41
ID0gMC4zCisgICAgICAgICAgICByID0gMC42IHggMSB4IDAuNSAvIGEgPSAxCisgICAgICAgICAg
ICBnID0gMC42IHggMC4zIHggMC41IC8gYSA9IDAuMworICAgICAgICAgICAgYiA9IDAuNiB4IDAu
NSB4IDAuNSAvIGEgPSAwLjUKKworICAgICAgICAgICAgVGhlIGVycm9yIGluIHRoZSBjb2xvciBj
YWxjdWxhdGlvbiByZXF1aXJlcyB1cyB0byB1c2UgdGhlIDgtYml0IHZhbHVlcyBmb3I6CisgICAg
ICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCUsIDMwJSwgNTAlLCAwLjMpOworICAg
ICAgICAqLworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyMDIsIDIxOCk7Cisg
ICAgfQorICAgIC5kZXN0aW5hdGlvbi1vdXQgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3Vz
dG9tKG5vbmUgbWl4KHVybCgnLi4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBkZXN0
aW5hdGlvbi1vdXQpLCBtaXhfY29sb3IgMC4wIDAuNiAwLjUgMC41KTsKKyAgICB9CisgICAgLmRl
c3RpbmF0aW9uLW91dC1leHBlY3RlZCB7CisgICAgICAgIC8qCisgICAgICAgICAgICBEZXN0aW5h
dGlvbk91dDoKKworICAgICAgICAgICAgRmEgPSAwOyBGYiA9IDEg4oCTIM6xcworICAgICAgICAg
ICAgY28gPSDOsWIgeCBDYiB4ICgxIOKAkyDOsXMpCisgICAgICAgICAgICDOsW8gPSDOsWIgeCAo
MSDigJMgzrFzKQorICAgICAgICAgICAgQ28gPSBjbyAvIM6xbworCisgICAgICAgICAgICBhID0g
MC42IHggKDEgLSAwLjUpID0gMC4zCisgICAgICAgICAgICByID0gMC42IHggMSB4ICgxIC0gMC41
KSAvIGEgPSAxCisgICAgICAgICAgICBnID0gMC42IHggMC4zIHggKDEgLSAwLjUpIC8gYSA9IDAu
MworICAgICAgICAgICAgYiA9IDAuNiB4IDAuNSB4ICgxIC0gMC41KSAvIGEgPSAwLjUKKworICAg
ICAgICAgICAgVGhlIGVycm9yIGluIHRoZSBjb2xvciBjYWxjdWxhdGlvbiByZXF1aXJlcyB1cyB0
byB1c2UgdGhlIDgtYml0IHZhbHVlcyBmb3I6CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9y
OiByZ2JhKDEwMCUsIDMwJSwgNTAlLCAwLjMpOworICAgICAgICAqLworICAgICAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiByZ2IoMjU1LCAyMDIsIDIxOCk7CisgICAgfQorICAgIC5kZXN0aW5hdGlvbi1h
dG9wIHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbShub25lIG1peCh1cmwoJy4uL3Jl
c291cmNlcy9taXgtY29sb3IuZnMnKSBub3JtYWwgZGVzdGluYXRpb24tYXRvcCksIG1peF9jb2xv
ciAwLjAgMC42IDAuNSAwLjUpOworICAgIH0KKyAgICAuZGVzdGluYXRpb24tYXRvcC1leHBlY3Rl
ZCB7CisgICAgICAgIC8qCisgICAgICAgICAgICBEZXN0aW5hdGlvbkF0b3A6CisKKyAgICAgICAg
ICAgIEZhID0gMSAtIM6xYjsgRmIgPSDOsXMKKyAgICAgICAgICAgIGNvID0gzrFzIHggQ3MgeCAo
MSAtIM6xYikgKyDOsWIgeCBDYiB4IM6xcworICAgICAgICAgICAgzrFvID0gzrFzIHggKDEgLSDO
sWIpICsgzrFiIHggzrFzCisgICAgICAgICAgICBDbyA9IGNvIC8gzrFvCisKKyAgICAgICAgICAg
IGEgPSAwLjUgeCAoMSAtIDAuNikgKyAwLjYgeCAwLjUgPSAwLjUKKyAgICAgICAgICAgIHIgPSAo
MC41IHggMCB4ICgxIC0gMC42KSArIDAuNiB4IDEgeCAwLjUpIC8gYSA9IDAuNgorICAgICAgICAg
ICAgZyA9ICgwLjUgeCAwLjYgeCAoMSAtIDAuNikgKyAwLjYgeCAwLjMgeCAwLjUpIC8gYSA9IDAu
NDIKKyAgICAgICAgICAgIGIgPSAoMC41IHggMC41IHggKDEgLSAwLjYpICsgMC42IHggMC41IHgg
MC41KSAvIGEgPSAwLjUKKworICAgICAgICAgICAgVGhlIGVycm9yIGluIHRoZSBjb2xvciBjYWxj
dWxhdGlvbiByZXF1aXJlcyB1cyB0byB1c2UgdGhlIDgtYml0IHZhbHVlcyBmb3I6CisgICAgICAg
ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYwJSwgNDIlLCA1MCUsIDAuNSk7CisgICAgICAg
ICovCisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyMDUsIDE4MSwgMTkyKTsKKyAgICB9
CisgICAgLnhvciB7CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20obm9uZSBtaXgodXJs
KCcuLi9yZXNvdXJjZXMvbWl4LWNvbG9yLmZzJykgbm9ybWFsIHhvciksIG1peF9jb2xvciAwLjAg
MC42IDAuNSAwLjUpOworICAgIH0KKyAgICAueG9yLWV4cGVjdGVkIHsKKyAgICAgICAgLyoKKyAg
ICAgICAgICAgIFhPUjoKKworICAgICAgICAgICAgRmEgPSAxIC0gzrFiOyBGYiA9IDEg4oCTIM6x
cworICAgICAgICAgICAgY28gPSDOsXMgeCBDcyB4ICgxIC0gzrFiKSArIM6xYiB4IENiIHggKDEg
4oCTIM6xcykKKyAgICAgICAgICAgIM6xbyA9IM6xcyB4ICgxIC0gzrFiKSArIM6xYiB4ICgxIOKA
kyDOsXMpCisgICAgICAgICAgICBDbyA9IGNvIC8gzrFvCisKKyAgICAgICAgICAgIGEgPSAwLjUg
eCAoMSAtIDAuNikgKyAwLjYgeCAoMSAtIDAuNSkgPSAwLjUKKyAgICAgICAgICAgIHIgPSAoMC41
IHggMCB4ICgxIC0gMC42KSArIDAuNiB4IDEgeCAoMSAtIDAuNSkpIC8gYSA9IDAuNgorICAgICAg
ICAgICAgZyA9ICgwLjUgeCAwLjYgeCAoMSAtIDAuNikgKyAwLjYgeCAwLjMgeCAoMSAtIDAuNSkp
IC8gYSA9IDAuNDIKKyAgICAgICAgICAgIGIgPSAoMC41IHggMC41IHggKDEgLSAwLjYpICsgMC42
IHggMC41IHggKDEgLSAwLjUpKSAvIGEgPSAwLjUKKworICAgICAgICAgICAgVGhlIGVycm9yIGlu
IHRoZSBjb2xvciBjYWxjdWxhdGlvbiByZXF1aXJlcyB1cyB0byB1c2UgdGhlIDgtYml0IHZhbHVl
cyBmb3I6CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYwJSwgNDIlLCA1MCUs
IDAuNSk7CisgICAgICAgICovCisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyMDUsIDE4
MSwgMTkyKTsKKyAgICB9CisgICAgLmxpZ2h0ZXIgeworICAgICAgICAtd2Via2l0LWZpbHRlcjog
Y3VzdG9tKG5vbmUgbWl4KHVybCgnLi4vcmVzb3VyY2VzL21peC1jb2xvci5mcycpIG5vcm1hbCBw
bHVzLWxpZ2h0ZXIpLCBtaXhfY29sb3IgMC4wIDAuNiAwLjUgMC41KTsKKyAgICB9CisgICAgLmxp
Z2h0ZXItZXhwZWN0ZWQgeworICAgICAgICAvKgorICAgICAgICAgICAgTGlnaHRlcjoKKworICAg
ICAgICAgICAgRmEgPSAxOyBGYiA9IDEKKyAgICAgICAgICAgIGNvID0gzrFzIHggQ3MgKyDOsWIg
eCBDYjsKKyAgICAgICAgICAgIM6xbyA9IM6xcyArIM6xYgorICAgICAgICAgICAgQ28gPSBjbyAv
IM6xbworCisgICAgICAgICAgICBhID0gMC42ICsgMC41ID0gMS4xID0gMQorICAgICAgICAgICAg
ciA9IDAuNiB4IDEgeCAoMSAtIDAuNSkgLyBhID0gMC41NDU0NTQ1NDU0NTQ1NDYKKyAgICAgICAg
ICAgIGcgPSAwLjYgeCAwLjMgeCAoMSAtIDAuNSkgLyBhID0gMC40MzYzNjM2MzYzNjM2MzYKKyAg
ICAgICAgICAgIGIgPSAwLjYgeCAwLjUgeCAoMSAtIDAuNSkgLyBhID0gMC41CisKKyAgICAgICAg
ICAgIFRoZSBlcnJvciBpbiB0aGUgY29sb3IgY2FsY3VsYXRpb24gcmVxdWlyZXMgdXMgdG8gdXNl
IHRoZSA4LWJpdCB2YWx1ZXMgZm9yOgorICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdi
YSg1NC41NDU0NTUlLCA0My42MzYzNjQlLCA1MCUgLDEuMCk7CisgICAgICAgICovCisgICAgICAg
IGJhY2tncm91bmQtY29sb3I6IHJnYigxMzksIDExMCwgMTI4KTsKKyAgICB9CisgICAgPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgY2xhc3M9InBhaXItb2Ytc3F1YXJlcyI+Cisg
ICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uIHNvdXJjZS1hdG9wIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBjbGFzcz0ic291cmNlLWF0b3AtZXhwZWN0ZWQiPjwvZGl2PgorICAgIDwvZGl2Pgor
ICAgIDxkaXYgY2xhc3M9InBhaXItb2Ytc3F1YXJlcyI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRl
c3RpbmF0aW9uIGNsZWFyIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXItZXhwZWN0
ZWQiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9InBhaXItb2Ytc3F1YXJlcyI+
CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uIGNvcHkiPjwvZGl2PgorICAgICAgICA8
ZGl2IGNsYXNzPSJjb3B5LWV4cGVjdGVkIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNs
YXNzPSJwYWlyLW9mLXNxdWFyZXMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBz
b3VyY2Utb3ZlciI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNvdXJjZS1vdmVyLWV4cGVj
dGVkIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJwYWlyLW9mLXNxdWFyZXMi
PgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBzb3VyY2UtaW4iPjwvZGl2PgorICAg
ICAgICA8ZGl2IGNsYXNzPSJzb3VyY2UtaW4tZXhwZWN0ZWQiPjwvZGl2PgorICAgIDwvZGl2Pgor
ICAgIDxkaXYgY2xhc3M9InBhaXItb2Ytc3F1YXJlcyI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRl
c3RpbmF0aW9uIHNvdXJjZS1vdXQiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzb3VyY2Ut
b3V0LWV4cGVjdGVkIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJwYWlyLW9m
LXNxdWFyZXMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBkZXN0aW5hdGlvbi1v
dmVyIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24tb3Zlci1leHBlY3Rl
ZCI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0icGFpci1vZi1zcXVhcmVzIj4K
KyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24gZGVzdGluYXRpb24taW4iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbi1pbi1leHBlY3RlZCI+PC9kaXY+CisgICAg
PC9kaXY+CisgICAgPGRpdiBjbGFzcz0icGFpci1vZi1zcXVhcmVzIj4KKyAgICAgICAgPGRpdiBj
bGFzcz0iZGVzdGluYXRpb24gZGVzdGluYXRpb24tb3V0Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBj
bGFzcz0iZGVzdGluYXRpb24tb3V0LWV4cGVjdGVkIj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8
ZGl2IGNsYXNzPSJwYWlyLW9mLXNxdWFyZXMiPgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5h
dGlvbiBkZXN0aW5hdGlvbi1hdG9wIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGlu
YXRpb24tYXRvcC1leHBlY3RlZCI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0i
cGFpci1vZi1zcXVhcmVzIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24geG9yIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ieG9yLWV4cGVjdGVkIj48L2Rpdj4KKyAgICA8L2Rp
dj4KKyAgICA8ZGl2IGNsYXNzPSJwYWlyLW9mLXNxdWFyZXMiPgorICAgICAgICA8ZGl2IGNsYXNz
PSJkZXN0aW5hdGlvbiBsaWdodGVyIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ibGlnaHRl
ci1leHBlY3RlZCI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItcHJvcGVy
dHktcGFyc2luZy1pbnZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVy
cy9jdXN0b20vY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWludmFsaWQtZXhwZWN0ZWQu
dHh0CmluZGV4IDExMGY1YjQxOTk5NTIzMDk3OTRkZjMxZWM0OTdjM2U1YmM1ZTU0OTIuLjYxMzIz
ZDMyNTU3N2E1NTM3N2QyOTlhMmQ0YmU3ZDlkZDJmZmJmMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWlu
dmFsaWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20v
Y3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWludmFsaWQtZXhwZWN0ZWQudHh0CkBAIC03
OSwxMSArNzksNiBAQCBQQVNTIGNzc1J1bGUudHlwZSBpcyAxCiBQQVNTIGRlY2xhcmF0aW9uLmxl
bmd0aCBpcyAwCiBQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmls
dGVyJykgaXMgbnVsbAogCi1NaXggZnVuY3Rpb24gd2l0aCBhbHBoYSBjb21wb3NpdGluZyBtb2Rl
ICdwbHVzLWxpZ2h0ZXInLCB3aGljaCBzaG91bGQgb25seSBhcHBseSB0byAtd2Via2l0LWJhY2tn
cm91bmQtY29tcG9zaXRlIDogY3VzdG9tKG5vbmUgbWl4KHVybChzaGFkZXIpIHBsdXMtbGlnaHRl
cikpCi1QQVNTIGNzc1J1bGUudHlwZSBpcyAxCi1QQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAw
Ci1QQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykgaXMg
bnVsbAotCiBNaXggZnVuY3Rpb24gd2l0aCBhbHBoYSBjb21wb3NpdGluZyBtb2RlICdoaWdobGln
aHQnLCB3aGljaCBzaG91bGQgb25seSBhcHBseSB0byAtd2Via2l0LWJhY2tncm91bmQtY29tcG9z
aXRlIDogY3VzdG9tKG5vbmUgbWl4KHVybChzaGFkZXIpIGhpZ2hsaWdodCkpCiBQQVNTIGNzc1J1
bGUudHlwZSBpcyAxCiBQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAwCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvc2NyaXB0LXRlc3RzL2N1c3RvbS1maWx0ZXItcHJvcGVy
dHktcGFyc2luZy1pbnZhbGlkLmpzIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3NjcmlwdC10
ZXN0cy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctaW52YWxpZC5qcwppbmRleCA2NzEx
YTAxYjk3MzBjYmVhODI1OWM0ZmZjYzI4YjExMDc1MWFhYmQxLi4zYzMyMjM1NGMzZWIwMTVjN2Mx
NThhZTViNzYwNWE4MGJlMjhkZWUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRl
cnMvc2NyaXB0LXRlc3RzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktcGFyc2luZy1pbnZhbGlkLmpz
CisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9zY3JpcHQtdGVzdHMvY3VzdG9tLWZpbHRl
ci1wcm9wZXJ0eS1wYXJzaW5nLWludmFsaWQuanMKQEAgLTQzLDcgKzQzLDYgQEAgdGVzdEludmFs
aWRGaWx0ZXJSdWxlKCJNaXggZnVuY3Rpb24gd2l0aCB0aGlyZCBhcmcgbm90IGEgYmxlbmQgbW9k
ZSBvciBhbHBoYSBjb20KIHRlc3RJbnZhbGlkRmlsdGVyUnVsZSgiTWl4IGZ1bmN0aW9uIHdpdGgg
dHdvIGJsZW5kIG1vZGVzIiwgImN1c3RvbShub25lIG1peCh1cmwoc2hhZGVyKSBtdWx0aXBseSBz
Y3JlZW4pKSIpOwogdGVzdEludmFsaWRGaWx0ZXJSdWxlKCJNaXggZnVuY3Rpb24gd2l0aCB0d28g
YWxwaGEgY29tcG9zaXRpbmcgbW9kZXMiLCAiY3VzdG9tKG5vbmUgbWl4KHVybChzaGFkZXIpIHNv
dXJjZS1vdmVyIGRlc3RpbmF0aW9uLW92ZXIpKSIpOwogdGVzdEludmFsaWRGaWx0ZXJSdWxlKCJN
aXggZnVuY3Rpb24gd2l0aCBhbHBoYSBjb21wb3NpdGluZyBtb2RlICdwbHVzLWRhcmtlcicsIHdo
aWNoIHNob3VsZCBvbmx5IGFwcGx5IHRvIC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUiLCAi
Y3VzdG9tKG5vbmUgbWl4KHVybChzaGFkZXIpIHBsdXMtZGFya2VyKSkiKTsKLXRlc3RJbnZhbGlk
RmlsdGVyUnVsZSgiTWl4IGZ1bmN0aW9uIHdpdGggYWxwaGEgY29tcG9zaXRpbmcgbW9kZSAncGx1
cy1saWdodGVyJywgd2hpY2ggc2hvdWxkIG9ubHkgYXBwbHkgdG8gLXdlYmtpdC1iYWNrZ3JvdW5k
LWNvbXBvc2l0ZSIsICJjdXN0b20obm9uZSBtaXgodXJsKHNoYWRlcikgcGx1cy1saWdodGVyKSki
KTsKIHRlc3RJbnZhbGlkRmlsdGVyUnVsZSgiTWl4IGZ1bmN0aW9uIHdpdGggYWxwaGEgY29tcG9z
aXRpbmcgbW9kZSAnaGlnaGxpZ2h0Jywgd2hpY2ggc2hvdWxkIG9ubHkgYXBwbHkgdG8gLXdlYmtp
dC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZSIsICJjdXN0b20obm9uZSBtaXgodXJsKHNoYWRlcikgaGln
aGxpZ2h0KSkiKTsKIHRlc3RJbnZhbGlkRmlsdGVyUnVsZSgiTWl4IGZ1bmN0aW9uIHdpdGggNCBh
cmdzIiwgImN1c3RvbShub25lIG1peCh1cmwoc2hhZGVyKSBtdWx0aXBseSBjbGVhciBub3JtYWwp
KSIpOwogdGVzdEludmFsaWRGaWx0ZXJSdWxlKCJNaXggZnVuY3Rpb24gd2l0aCBjb21tYSBzZXBh
cmF0b3JzIiwgImN1c3RvbShub25lIG1peCh1cmwoc2hhZGVyKSwgbXVsdGlwbHksIGNsZWFyKSki
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167061</attachid>
            <date>2012-10-04 02:48:48 -0700</date>
            <delta_ts>2012-10-04 03:40:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97859-20121004184757.patch</filename>
            <type>text/plain</type>
            <size>11443</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZThiM2ExNWNjMThiOGRl
OGZjZTcwYWRkZjU3OTBlMTNhNmNhYTM5MC4uZjgyYmU0NGRiMWUzNWM3MzNiY2ViMDljM2Q5Yjky
MjAwZWMxN2Y1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEwLTA0ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gSW1wbGVtZW50IGFsbCBjb21wb3NpdGUgb3BlcmF0b3JzIGV4Y2VwdCBkZXN0aW5hdGlv
biBhbmQgbGlnaHRlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk3ODU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGV4cHJlc3Npb25zIGZvciBhbGwgY29tcG9zaXRlIG9wZXJhdG9ycy4gVGhlIGV4
cHJlc3Npb25zIGFyZSBsaWZ0ZWQgZGlyZWN0bHkKKyAgICAgICAgZnJvbSB0aGUgQ1NTIENvbXBv
c2l0aW5nIGFuZCBCbGVuZGluZyBzcGVjIFsxXS4gV2ViS2l0IGFkZHMgdGhlc2UgY29tcG9zaXRp
bmcgZXhwcmVzc2lvbnMgdG8KKyAgICAgICAgdGhlIGF1dGhvcidzIHNoYWRlci4KKworICAgICAg
ICBbMV06IGh0dHBzOi8vZHZjcy53My5vcmcvaGcvRlhURi9yYXdmaWxlL3RpcC9jb21wb3NpdGlu
Zy9pbmRleC5odG1sI2FkdmFuY2VkY29tcG9zaXRpbmcKKworICAgICAgICBUZXN0OiBjc3MzL2Zp
bHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29tcG9zaXRlLW9wZXJhdG9ycy5odG1sCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFBy
b2dyYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3Jh
bTo6Y29tcG9zaXRlRnVuY3Rpb25TdHJpbmcpOgorCiAyMDEyLTA5LTI2ICBIdWFuZyBEb25nc3Vu
ZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIFtDU1MgU2hhZGVyc10gUmVt
b3ZlIGFuIHVudXNlZCBtZW1iZXIgdmFyaWFibGUgbV9wcm9ncmFtIGluIEZFQ3VzdG9tRmlsdGVy
LmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwCmluZGV4
IDQyMTFlODJiNzgxYjFhMGFjYjUyN2YzMGRmNWMwMTQzOWM0NTE4MDkuLmJhNTc0YTJkODJlY2Mx
Y2QwZTMzNzgxMzgyZTYyMmRjMjY2OGVmYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0
ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcApAQCAtMjQ5LDE4ICsyNDksNDkgQEAgU3RyaW5nIEN1c3Rv
bUZpbHRlclZhbGlkYXRlZFByb2dyYW06OmNvbXBvc2l0ZUZ1bmN0aW9uU3RyaW5nKENvbXBvc2l0
ZU9wZXJhdG9yIGMKICAgICAgICAgRmIgPSAiMS4wIC0gYXMiOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIENvbXBvc2l0ZUNsZWFyOgorICAgICAgICBGYSA9ICIwLjAiOworICAgICAgICBGYiA9
ICIwLjAiOworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZUNvcHk6CisgICAgICAg
IEZhID0gIjEuMCI7CisgICAgICAgIEZiID0gIjAuMCI7CisgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgQ29tcG9zaXRlU291cmNlT3ZlcjoKKyAgICAgICAgRmEgPSAiMS4wIjsKKyAgICAgICAgRmIg
PSAiMS4wIC0gYXMiOworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZVNvdXJjZUlu
OgorICAgICAgICBGYSA9ICJhYiI7CisgICAgICAgIEZiID0gIjAuMCI7CisgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgQ29tcG9zaXRlU291cmNlT3V0OgorICAgICAgICBGYSA9ICIxLjAgLSBhYiI7
CisgICAgICAgIEZiID0gIjAuMCI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29tcG9zaXRl
RGVzdGluYXRpb25PdmVyOgorICAgICAgICBGYSA9ICIxLjAgLSBhYiI7CisgICAgICAgIEZiID0g
IjEuMCI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29tcG9zaXRlRGVzdGluYXRpb25JbjoK
KyAgICAgICAgRmEgPSAiMC4wIjsKKyAgICAgICAgRmIgPSAiYXMiOworICAgICAgICBicmVhazsK
ICAgICBjYXNlIENvbXBvc2l0ZURlc3RpbmF0aW9uT3V0OgorICAgICAgICBGYSA9ICIwLjAiOwor
ICAgICAgICBGYiA9ICIxLjAgLSBhcyI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29tcG9z
aXRlRGVzdGluYXRpb25BdG9wOgorICAgICAgICBGYSA9ICIxLjAgLSBhYiI7CisgICAgICAgIEZi
ID0gImFzIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3NpdGVYT1I6CisgICAgICAg
IEZhID0gIjEuMCAtIGFiIjsKKyAgICAgICAgRmIgPSAiMS4wIC0gYXMiOworICAgICAgICBicmVh
azsKICAgICBjYXNlIENvbXBvc2l0ZVBsdXNMaWdodGVyOgogICAgICAgICBub3RJbXBsZW1lbnRl
ZCgpOwogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgICAgIC8vIEZJWE1FOiBkZXN0aW5h
dGlvbiBhbmQgbGlnaHRlciB3ZXJlIG5vdCBpbXBsZW1lbnRlZCB5ZXQuCiAgICAgZGVmYXVsdDoK
ICAgICAgICAgLy8gVGhlIENTUyBwYXJzZXIgc2hvdWxkIG5vdCBoYXZlIGFjY2VwdGVkIGFueSBv
dGhlciBjb21wb3NpdGUgb3BlcmF0b3JzLgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
QEAgLTI3NSw3ICszMDYsOCBAQCBTdHJpbmcgQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbTo6
Y29tcG9zaXRlRnVuY3Rpb25TdHJpbmcoQ29tcG9zaXRlT3BlcmF0b3IgYwogICAgICAgICB7CiAg
ICAgICAgICAgICBtZWRpdW1wIGZsb2F0IEZhID0gJXM7CiAgICAgICAgICAgICBtZWRpdW1wIGZs
b2F0IEZiID0gJXM7Ci0gICAgICAgICAgICByZXR1cm4gdmVjNChhcyAqIEZhICogQ3MgKyBhYiAq
IEZiICogQ2IsIGFzICogRmEgKyBhYiAqIEZiKTsgCisgICAgICAgICAgICBtZWRpdW1wIGZsb2F0
IGFvID0gYXMgKiBGYSArIGFiICogRmI7CisgICAgICAgICAgICByZXR1cm4gdmVjNCgoYXMgKiBG
YSAqIENzICsgYWIgKiBGYiAqIENiKSAvIGFvLCBhbyk7CiAgICAgICAgIH0KICAgICApLCBGYSwg
RmIpOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDliMWZlZjFmOTNjODdjZjQwMTE3ZDM1YjBmMDcxNmYwZDMxMTg5NWQu
LmZjZTAwODg3MDU5OGYwMWJkODFiNGFmMjAwODYyYzkyMDZlZDdjMzcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNyBAQAorMjAxMi0xMC0wNCAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAw
Lm5ldD4KKworICAgICAgICBbQ1NTIFNoYWRlcnNdIEltcGxlbWVudCBhbGwgY29tcG9zaXRlIG9w
ZXJhdG9ycyBleGNlcHQgZGVzdGluYXRpb24gYW5kIGxpZ2h0ZXIuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Nzg1OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0IHRvIGNoZWNrIHRoYXQgdGhl
IERPTSBlbGVtZW50IHRleHR1cmUgY29tcG9zaXRlcyBjb3JyZWN0bHkgd2l0aCB0aGUgY3NzX01p
eENvbG9yCisgICAgICAgIHZhcmlhYmxlIGZyb20gdGhlIGF1dGhvcidzIHNoYWRlciBmb3IgZWFj
aCBjb21wb3NpdGUgb3BlcmF0b3IuCisKKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1
c3RvbS1maWx0ZXItY29tcG9zaXRlLW9wZXJhdG9ycy1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAg
ICAgICAqIGNzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUtb3BlcmF0
b3JzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2N1c3RvbS9j
dXN0b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMuaHRtbDogQWRkZWQuCisKIDIwMTItMDgt
MjcgIEh1YW5nIERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CiAKICAgICAgICAg
W1Rlc3RzXSBNYWtlIGZhc3QvY2FudmFzL2NhbnZhcy1zY2FsZS1zaGFkb3dCbHVyLmh0bWwgaW4g
Y29uZm9ybWFuY2Ugd2l0aCBzcGVjLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0
ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMtZXhwZWN0ZWQucG5n
IGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNvbXBvc2l0
ZS1vcGVyYXRvcnMtZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1YTM3NjExMTE4MWM2YTQ3N2M0
NGM1ZDI3MGRiZWE3MTdlOGU0OGQKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDMxODEKemNtZUFT
QE4/KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1Ru
NThyCnpxb2g9V3ZAe2M9bHZIeWczbG5wTFJBYlltNmVCWU9eQXhqV15XPmt+ND13Pn1Wb1VPTmNW
WU1zZighTzhwVWw5KAp6e25wZFBGe0VQNytkR2JadyslI0M1Ql9RUnpUYz8wJC13TkFhPHRSY1g+
M1BSQU0rWSl7e0R9WiFRdUokPD87KisKekE1NTZJODVHbnVGZmIleEdHNkRpOHk3I2RLS0V5ezk+
VzgtZV5MP3Ffby0jPylCNEs1QGJCYiY0bn1OUkZieF5oCnpCSFFAVmpmLXp1R2NkPjxaZW5FK3Ut
MSpKZXQtSTJWUykhVSFASHYoNSNiMDEyRSNeajcjbC1sT0BpO1RGY2pwQQp6PWBifFJJS2FmdiE4
dVRqOCYtNDlvPUpWcnopLT0lRXltI1JXPXExYHpzMmAhQTc/cEJGJTstaT0pU2VEN1JgKX0Keldv
MFBIcnFyT3ZGWmFDPVdua2I+SSFJQXEoYmwqOUhLb3MjPWQme0dYa3h7a2JCSWF3dVBiKU5ANlVL
PEFKND9fCnpMNGVZckpBQ3NAJXJgIVVoVHxJJjcjV1dFYWJMVWxkc0RmTCMzaEQ/Pld2QH43R1Nq
ZGtqMk9lNitnU0A8S3ctbgp6Jm9lUjkkYnltJmRGRnQxZ19UfnNjaCM0SDtkPmdAcWo7fT1fMz1o
VVVXT2d3bClBQ30+WW1TIUA3OVZsSmxHdzkKenk8ajlKZE8+UW8/T0koe0YzTkRBSDxDaGdYam57
cm93KXY3JjZDWHg0Ql9DVUxzPiF6Rj11NEJHbj4ra1FEOX5+CnplSj9ZXjE0QThQPkFVZkEpN0ow
allycHJkPUZNYXt1eT9TO05aPDBgaV4zVGdZJnIoQlhJRktuZVMyK3hGYU03aQp6IS1GKFhWM0pw
cmZwdFk2eng/LT8+K2p6Q09iaitOc3FnODFaKURscU9jKS0tUVI+WFFwYFZaV3I8ZFBuVyUhey0K
elh7ayFKbmhtcGZ3KlArRGU0V2A2TXV6V3spXkBNZi1DRjtAV1o3PldoNkI/bkUkZTBkenJQa2dg
eyVoZ3V0anU7CnohdUMoOCNxNjE8Pz1kb2JrTmBGfnplb2QzSlVUb1lqV31BJSM4d0tfKCpCS0lv
elg/UChSeFk8dXEoamU+RlZkUQpJJk1CYkAwRyZWfDI+PHs5CgpsaXRlcmFsIDAKSGNtVj9kMDAw
MDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1m
aWx0ZXItY29tcG9zaXRlLW9wZXJhdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3Mz
L2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29tcG9zaXRlLW9wZXJhdG9ycy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOGIxMzc4OTE3OTFmZTk2OTI3YWQ3OGU2NGIwYWFkN2JkZWQwOGJk
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3Vz
dG9tLWZpbHRlci1jb21wb3NpdGUtb3BlcmF0b3JzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBA
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZp
bHRlci1jb21wb3NpdGUtb3BlcmF0b3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMv
Y3VzdG9tL2N1c3RvbS1maWx0ZXItY29tcG9zaXRlLW9wZXJhdG9ycy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjVkOTA1OGU0ZDM1ODUzMzk1ZWY2ZjM0ZTljMzJhMmMzYTlkOGM4NjkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29tcG9z
aXRlLW9wZXJhdG9ycy5odG1sCkBAIC0wLDAgKzEsMTMyIEBACis8IWRvY3R5cGUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPlRlc3RzIHRoYXQgY3VzdG9tIGZpbHRlciBjb21wb3Np
dGUgb3BlcmF0b3JzIGNvbXB1dGUgY29sb3IgdmFsdWVzIGNvcnJlY3RseS48L3RpdGxlPgorICAg
IDwhLS0KKyAgICAgICAgVGhpcyB0ZXN0IG1pbWljcyB0aGUgUG9ydGVyIER1ZmYgQ29tcG9zaXRp
bmcgT3BlcmF0b3JzIGV4YW1wbGUgaW1hZ2UgaW4gdGhlIENvbXBvc2l0aW5nIGFuZCBCbGVuZGlu
ZyBzcGVjOgorICAgICAgICBodHRwczovL2R2Y3MudzMub3JnL2hnL0ZYVEYvcmF3ZmlsZS90aXAv
Y29tcG9zaXRpbmcvaW5kZXguaHRtbCNwb3J0ZXJkdWZmY29tcG9zaXRpbmdvcGVyYXRvcnNfc3Jj
YXRvcAorICAgIC0tPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgeworICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRDU1NDdXN0b21GaWx0ZXJFbmFibGVkIiwgIjEiKTsKKyAgICAgICAgICAgIHdpbmRvdy50
ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0V2ViR0xFbmFibGVkIiwgIjEiKTsK
KyAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7CisgICAgICAg
IH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c3R5bGU+CisgICAgLyogRHJhd3MgYSBibGFjayBib3Jk
ZXIgYXJvdW5kIHRoZSBzaGFkZWQgZGVzdGluYXRpb24gZGl2LiAqLworICAgICNib3JkZXItY29u
dGFpbmVyIHsKKyAgICAgICAgd2lkdGg6IDQ1cHg7CisgICAgICAgIGhlaWdodDogNDVweDsKKyAg
ICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgfQorICAgIC8qIFRoZSBzaGFkZWQg
ZGl2LiAqLworICAgIC5kZXN0aW5hdGlvbiB7CisgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAg
ICBoZWlnaHQ6IDEwMCU7CisgICAgfQorICAgIC8qIERyYXdzIGEgeWVsbG93IHNxdWFyZSBpbiB0
aGUgdXBwZXIgbGVmdCBjb3JuZXIgb2YgdGhlIGRlc3RpbmF0aW9uIGRpdi4gKi8KKyAgICAvKiBU
aGUgcmVzdCBvZiB0aGUgZGVzdGluYXRpb24gZGl2IGlzIHRyYW5zcGFyZW50LiAqLworICAgICNk
ZXN0aW5hdGlvbi1vcGFxdWUtY2hpbGQgeworICAgICAgICB3aWR0aDogNjclOworICAgICAgICBo
ZWlnaHQ6IDY3JTsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OworICAgIH0KKyAg
ICAvKiBDb21wb3NpdGUgb3BlcmF0b3JzICovCisgICAgLmNsZWFyIHsKKyAgICAgICAgLXdlYmtp
dC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9wYXNzLXRleC1jb29yZC52cycpIG1p
eCh1cmwoJy4uL3Jlc291cmNlcy9jb21wb3NpdGUuZnMnKSBub3JtYWwgY2xlYXIpKTsKKyAgICB9
CisgICAgLmNvcHkgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVz
b3VyY2VzL3Bhc3MtdGV4LWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL2NvbXBvc2l0
ZS5mcycpIG5vcm1hbCBjb3B5KSk7CisgICAgfQorICAgIC5zb3VyY2Utb3ZlciB7CisgICAgICAg
IC13ZWJraXQtZmlsdGVyOiBjdXN0b20odXJsKCcuLi9yZXNvdXJjZXMvcGFzcy10ZXgtY29vcmQu
dnMnKSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvY29tcG9zaXRlLmZzJykgbm9ybWFsIHNvdXJjZS1v
dmVyKSk7CisgICAgfQorICAgIC5kZXN0aW5hdGlvbi1vdmVyIHsKKyAgICAgICAgLXdlYmtpdC1m
aWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9wYXNzLXRleC1jb29yZC52cycpIG1peCh1
cmwoJy4uL3Jlc291cmNlcy9jb21wb3NpdGUuZnMnKSBub3JtYWwgZGVzdGluYXRpb24tb3Zlcikp
OworICAgIH0KKyAgICAuc291cmNlLWluIHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3Rv
bSh1cmwoJy4uL3Jlc291cmNlcy9wYXNzLXRleC1jb29yZC52cycpIG1peCh1cmwoJy4uL3Jlc291
cmNlcy9jb21wb3NpdGUuZnMnKSBub3JtYWwgc291cmNlLWluKSk7CisgICAgfQorICAgIC5kZXN0
aW5hdGlvbi1pbiB7CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20odXJsKCcuLi9yZXNv
dXJjZXMvcGFzcy10ZXgtY29vcmQudnMnKSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvY29tcG9zaXRl
LmZzJykgbm9ybWFsIGRlc3RpbmF0aW9uLWluKSk7CisgICAgfQorICAgIC5zb3VyY2Utb3V0IHsK
KyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9wYXNzLXRl
eC1jb29yZC52cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9jb21wb3NpdGUuZnMnKSBub3JtYWwg
c291cmNlLW91dCkpOworICAgIH0KKyAgICAuZGVzdGluYXRpb24tb3V0IHsKKyAgICAgICAgLXdl
YmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9wYXNzLXRleC1jb29yZC52cycp
IG1peCh1cmwoJy4uL3Jlc291cmNlcy9jb21wb3NpdGUuZnMnKSBub3JtYWwgZGVzdGluYXRpb24t
b3V0KSk7CisgICAgfQorICAgIC5zb3VyY2UtYXRvcCB7CisgICAgICAgIC13ZWJraXQtZmlsdGVy
OiBjdXN0b20odXJsKCcuLi9yZXNvdXJjZXMvcGFzcy10ZXgtY29vcmQudnMnKSBtaXgodXJsKCcu
Li9yZXNvdXJjZXMvY29tcG9zaXRlLmZzJykgbm9ybWFsIHNvdXJjZS1hdG9wKSk7CisgICAgfQor
ICAgIC5kZXN0aW5hdGlvbi1hdG9wIHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1
cmwoJy4uL3Jlc291cmNlcy9wYXNzLXRleC1jb29yZC52cycpIG1peCh1cmwoJy4uL3Jlc291cmNl
cy9jb21wb3NpdGUuZnMnKSBub3JtYWwgZGVzdGluYXRpb24tYXRvcCkpOworICAgIH0KKyAgICAu
eG9yIHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9w
YXNzLXRleC1jb29yZC52cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9jb21wb3NpdGUuZnMnKSBu
b3JtYWwgeG9yKSk7CisgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8
ZGl2IGlkPSJib3JkZXItY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRp
b24gY2xlYXIiPgorICAgICAgICAgICAgPGRpdiBpZD0iZGVzdGluYXRpb24tb3BhcXVlLWNoaWxk
Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iYm9yZGVy
LWNvbnRhaW5lciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uIGNvcHkiPgorICAg
ICAgICAgICAgPGRpdiBpZD0iZGVzdGluYXRpb24tb3BhcXVlLWNoaWxkIj48L2Rpdj4KKyAgICAg
ICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iYm9yZGVyLWNvbnRhaW5lciI+Cisg
ICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uIHNvdXJjZS1vdmVyIj4KKyAgICAgICAgICAg
IDxkaXYgaWQ9ImRlc3RpbmF0aW9uLW9wYXF1ZS1jaGlsZCI+PC9kaXY+CisgICAgICAgIDwvZGl2
PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImJvcmRlci1jb250YWluZXIiPgorICAgICAgICA8
ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBkZXN0aW5hdGlvbi1vdmVyIj4KKyAgICAgICAgICAgIDxk
aXYgaWQ9ImRlc3RpbmF0aW9uLW9wYXF1ZS1jaGlsZCI+PC9kaXY+CisgICAgICAgIDwvZGl2Pgor
ICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImJvcmRlci1jb250YWluZXIiPgorICAgICAgICA8ZGl2
IGNsYXNzPSJkZXN0aW5hdGlvbiBzb3VyY2UtaW4iPgorICAgICAgICAgICAgPGRpdiBpZD0iZGVz
dGluYXRpb24tb3BhcXVlLWNoaWxkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+
CisgICAgPGRpdiBpZD0iYm9yZGVyLWNvbnRhaW5lciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRl
c3RpbmF0aW9uIGRlc3RpbmF0aW9uLWluIj4KKyAgICAgICAgICAgIDxkaXYgaWQ9ImRlc3RpbmF0
aW9uLW9wYXF1ZS1jaGlsZCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICAg
IDxkaXYgaWQ9ImJvcmRlci1jb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5h
dGlvbiBzb3VyY2Utb3V0Ij4KKyAgICAgICAgICAgIDxkaXYgaWQ9ImRlc3RpbmF0aW9uLW9wYXF1
ZS1jaGlsZCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9
ImJvcmRlci1jb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBkZXN0
aW5hdGlvbi1vdXQiPgorICAgICAgICAgICAgPGRpdiBpZD0iZGVzdGluYXRpb24tb3BhcXVlLWNo
aWxkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iYm9y
ZGVyLWNvbnRhaW5lciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uIHNvdXJjZS1h
dG9wIj4KKyAgICAgICAgICAgIDxkaXYgaWQ9ImRlc3RpbmF0aW9uLW9wYXF1ZS1jaGlsZCI+PC9k
aXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImJvcmRlci1jb250
YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBkZXN0aW5hdGlvbi1hdG9w
Ij4KKyAgICAgICAgICAgIDxkaXYgaWQ9ImRlc3RpbmF0aW9uLW9wYXF1ZS1jaGlsZCI+PC9kaXY+
CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImJvcmRlci1jb250YWlu
ZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiB4b3IiPgorICAgICAgICAgICAg
PGRpdiBpZD0iZGVzdGluYXRpb24tb3BhcXVlLWNoaWxkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+
CisgICAgPC9kaXY+CisgICAgPCEtLQorICAgICAgICBJZiB5b3UgYWRkIG1vcmUgYmxlbmQgbW9k
ZXMgdG8gdGhpcyBwYWdlLCBiZSBjYXJlZnVsIG5vdCB0byBleGNlZWQgNjAwcHggaW4KKyAgICAg
ICAgaGVpZ2h0LCBzaW5jZSBEdW1wUmVuZGVyVHJlZSBjb21wYXJlcyA4MDB4NjAwIHNuYXBzaG90
cyBvZiB0aGlzIHBhZ2UuCisgICAgLS0+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167067</attachid>
            <date>2012-10-04 03:40:45 -0700</date>
            <delta_ts>2012-10-04 15:05:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97859-20121004193953.patch</filename>
            <type>text/plain</type>
            <size>11491</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjdlMjhmZTA2NWYwMmVk
YTI1NTY4ZjgzYzk2NjgxM2I5MjliY2FlMy4uMzgwOTM0NWRiZTQyZjFjNjk4N2VmMDlmYThiNmFj
MTA4MTBjZmZjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEwLTA0ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gSW1wbGVtZW50IGFsbCBjb21wb3NpdGUgb3BlcmF0b3JzIGV4Y2VwdCBkZXN0aW5hdGlv
biBhbmQgbGlnaHRlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk3ODU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGV4cHJlc3Npb25zIGZvciBhbGwgY29tcG9zaXRlIG9wZXJhdG9ycyBleGNlcHQg
ZGVzdGluYXRpb24gYW5kCisgICAgICAgIGxpZ2h0ZXIuIFRoZSBleHByZXNzaW9ucyBhcmUgbGlm
dGVkIGRpcmVjdGx5IGZyb20gdGhlIENTUyBDb21wb3NpdGluZworICAgICAgICBhbmQgQmxlbmRp
bmcgc3BlYyBbMV0uIFdlYktpdCBhZGRzIHRoZXNlIGNvbXBvc2l0aW5nIGV4cHJlc3Npb25zIHRv
IHRoZQorICAgICAgICBhdXRob3IncyBzaGFkZXIuCisKKyAgICAgICAgWzFdOiBodHRwczovL2R2
Y3MudzMub3JnL2hnL0ZYVEYvcmF3ZmlsZS90aXAvY29tcG9zaXRpbmcvaW5kZXguaHRtbCNhZHZh
bmNlZGNvbXBvc2l0aW5nCisKKyAgICAgICAgVGVzdDogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0
b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW06OmNvbXBvc2l0ZUZ1bmN0
aW9uU3RyaW5nKToKKwogMjAxMi0wOS0yNiAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21w
YW55MTAwLm5ldD4KIAogICAgICAgICBbQ1NTIFNoYWRlcnNdIFJlbW92ZSBhbiB1bnVzZWQgbWVt
YmVyIHZhcmlhYmxlIG1fcHJvZ3JhbSBpbiBGRUN1c3RvbUZpbHRlci5oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlk
YXRlZFByb2dyYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcAppbmRleCA0MjExZTgyYjc4MWIxYTBh
Y2I1MjdmMzBkZjVjMDE0MzljNDUxODA5Li5iYTU3NGEyZDgyZWNjMWNkMGUzMzc4MTM4MmU2MjJk
YzI2NjhlZmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3Jh
bS5jcHAKQEAgLTI0OSwxOCArMjQ5LDQ5IEBAIFN0cmluZyBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQ
cm9ncmFtOjpjb21wb3NpdGVGdW5jdGlvblN0cmluZyhDb21wb3NpdGVPcGVyYXRvciBjCiAgICAg
ICAgIEZiID0gIjEuMCAtIGFzIjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3NpdGVD
bGVhcjoKKyAgICAgICAgRmEgPSAiMC4wIjsKKyAgICAgICAgRmIgPSAiMC4wIjsKKyAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBDb21wb3NpdGVDb3B5OgorICAgICAgICBGYSA9ICIxLjAiOworICAg
ICAgICBGYiA9ICIwLjAiOworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZVNvdXJj
ZU92ZXI6CisgICAgICAgIEZhID0gIjEuMCI7CisgICAgICAgIEZiID0gIjEuMCAtIGFzIjsKKyAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3NpdGVTb3VyY2VJbjoKKyAgICAgICAgRmEgPSAi
YWIiOworICAgICAgICBGYiA9ICIwLjAiOworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbXBv
c2l0ZVNvdXJjZU91dDoKKyAgICAgICAgRmEgPSAiMS4wIC0gYWIiOworICAgICAgICBGYiA9ICIw
LjAiOworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZURlc3RpbmF0aW9uT3ZlcjoK
KyAgICAgICAgRmEgPSAiMS4wIC0gYWIiOworICAgICAgICBGYiA9ICIxLjAiOworICAgICAgICBi
cmVhazsKICAgICBjYXNlIENvbXBvc2l0ZURlc3RpbmF0aW9uSW46CisgICAgICAgIEZhID0gIjAu
MCI7CisgICAgICAgIEZiID0gImFzIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3Np
dGVEZXN0aW5hdGlvbk91dDoKKyAgICAgICAgRmEgPSAiMC4wIjsKKyAgICAgICAgRmIgPSAiMS4w
IC0gYXMiOworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZURlc3RpbmF0aW9uQXRv
cDoKKyAgICAgICAgRmEgPSAiMS4wIC0gYWIiOworICAgICAgICBGYiA9ICJhcyI7CisgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgQ29tcG9zaXRlWE9SOgorICAgICAgICBGYSA9ICIxLjAgLSBhYiI7
CisgICAgICAgIEZiID0gIjEuMCAtIGFzIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21w
b3NpdGVQbHVzTGlnaHRlcjoKICAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsKICAgICAgICAgcmV0
dXJuIFN0cmluZygpOworICAgICAgICAvLyBGSVhNRTogZGVzdGluYXRpb24gYW5kIGxpZ2h0ZXIg
d2VyZSBub3QgaW1wbGVtZW50ZWQgeWV0LgogICAgIGRlZmF1bHQ6CiAgICAgICAgIC8vIFRoZSBD
U1MgcGFyc2VyIHNob3VsZCBub3QgaGF2ZSBhY2NlcHRlZCBhbnkgb3RoZXIgY29tcG9zaXRlIG9w
ZXJhdG9ycy4KICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0yNzUsNyArMzA2LDgg
QEAgU3RyaW5nIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW06OmNvbXBvc2l0ZUZ1bmN0aW9u
U3RyaW5nKENvbXBvc2l0ZU9wZXJhdG9yIGMKICAgICAgICAgewogICAgICAgICAgICAgbWVkaXVt
cCBmbG9hdCBGYSA9ICVzOwogICAgICAgICAgICAgbWVkaXVtcCBmbG9hdCBGYiA9ICVzOwotICAg
ICAgICAgICAgcmV0dXJuIHZlYzQoYXMgKiBGYSAqIENzICsgYWIgKiBGYiAqIENiLCBhcyAqIEZh
ICsgYWIgKiBGYik7IAorICAgICAgICAgICAgbWVkaXVtcCBmbG9hdCBhbyA9IGFzICogRmEgKyBh
YiAqIEZiOworICAgICAgICAgICAgcmV0dXJuIHZlYzQoKGFzICogRmEgKiBDcyArIGFiICogRmIg
KiBDYikgLyBhbywgYW8pOwogICAgICAgICB9CiAgICAgKSwgRmEsIEZiKTsKIH0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAw
YWQ3MzVlYWYzNGY1MjAzYmFiMWQwY2UwOGIxZDBiODVkNjVkYjNmLi42ZTlkNmIyMmZlYjM4NzZk
NzNhY2M4MGJlZDhjMjZlODE2N2UwMTdlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTAt
MDQgIEh1YW5nIERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAg
W0NTUyBTaGFkZXJzXSBJbXBsZW1lbnQgYWxsIGNvbXBvc2l0ZSBvcGVyYXRvcnMgZXhjZXB0IGRl
c3RpbmF0aW9uIGFuZCBsaWdodGVyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTc4NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgdGVzdCB0byBjaGVjayB0aGF0IHRoZSBET00gZWxlbWVudCB0ZXh0
dXJlIGNvbXBvc2l0ZXMgY29ycmVjdGx5IHdpdGggdGhlIGNzc19NaXhDb2xvcgorICAgICAgICB2
YXJpYWJsZSBmcm9tIHRoZSBhdXRob3IncyBzaGFkZXIgZm9yIGVhY2ggY29tcG9zaXRlIG9wZXJh
dG9yLgorCisgICAgICAgICogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNvbXBv
c2l0ZS1vcGVyYXRvcnMtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRl
cnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29tcG9zaXRlLW9wZXJhdG9ycy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21w
b3NpdGUtb3BlcmF0b3JzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA4LTI3ICBIdWFuZyBEb25nc3Vu
ZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIFtUZXN0c10gTWFrZSBmYXN0
L2NhbnZhcy9jYW52YXMtc2NhbGUtc2hhZG93Qmx1ci5odG1sIGluIGNvbmZvcm1hbmNlIHdpdGgg
c3BlYy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9t
LWZpbHRlci1jb21wb3NpdGUtb3BlcmF0b3JzLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL2Nz
czMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUtb3BlcmF0b3JzLWV4cGVj
dGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45NWEzNzYxMTExODFjNmE0NzdjNDRjNWQyNzBkYmVhNzE3ZThl
NDhkCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAzMTgxCnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEw
eX55VXsrdllWMmE+aTAqWik9aF5obEElQFdzJGxIYG9rPG19P29UbjU4cgp6cW9oPVd2QHtjPWx2
SHlnM2xucExSQWJZbTZlQllPXkF4aldeVz5rfjQ9dz59Vm9VT05jVllNc2YoIU84cFVsOSgKentu
cGRQRntFUDcrZEdiWncrJSNDNUJfUVJ6VGM/MCQtd05BYTx0UmNYPjNQUkFNK1kpe3tEfVohUXVK
JDw/OyorCnpBNTU2STg1R251RmZiJXhHRzZEaTh5NyNkS0tFeXs5Plc4LWVeTD9xX28tIz8pQjRL
NUBiQmImNG59TlJGYnheaAp6QkhRQFZqZi16dUdjZD48WmVuRSt1LTEqSmV0LUkyVlMpIVUhQEh2
KDUjYjAxMkUjXmo3I2wtbE9AaTtURmNqcEEKej1gYnxSSUthZnYhOHVUajgmLTQ5bz1KVnJ6KS09
JUV5bSNSVz1xMWB6czJgIUE3P3BCRiU7LWk9KVNlRDdSYCl9CnpXbzBQSHJxck92RlphQz1Xbmti
PkkhSUFxKGJsKjlIS29zIz1kJntHWGt4e2tiQklhd3VQYilOQDZVSzxBSjQ/Xwp6TDRlWXJKQUNz
QCVyYCFVaFR8SSY3I1dXRWFiTFVsZHNEZkwjM2hEPz5XdkB+N0dTamRrajJPZTYrZ1NAPEt3LW4K
eiZvZVI5JGJ5bSZkRkZ0MWdfVH5zY2gjNEg7ZD5nQHFqO309XzM9aFVVV09nd2wpQUN9PlltUyFA
NzlWbEpsR3c5Cnp5PGo5SmRPPlFvP09JKHtGM05EQUg8Q2hnWGpue3Jvdyl2NyY2Q1h4NEJfQ1VM
cz4hekY9dTRCR24+K2tRRDl+fgp6ZUo/WV4xNEE4UD5BVWZBKTdKMGpZcnByZD1GTWF7dXk/UztO
WjwwYGleM1RnWSZyKEJYSUZLbmVTMit4RmFNN2kKeiEtRihYVjNKcHJmcHRZNnp4Py0/PitqekNP
YmorTnNxZzgxWilEbHFPYyktLVFSPlhRcGBWWldyPGRQblclIXstCnpYe2shSm5obXBmdypQK0Rl
NFdgNk11eld7KV5ATWYtQ0Y7QFdaNz5XaDZCP25FJGUwZHpyUGtnYHslaGd1dGp1Owp6IXVDKDgj
cTYxPD89ZG9ia05gRn56ZW9kM0pVVG9Zald9QSUjOHdLXygqQktJb3pYP1AoUnhZPHVxKGplPkZW
ZFEKSSZNQmJAMEcmVnwyPjx7OQoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNvbXBvc2l0ZS1v
cGVyYXRvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9j
dXN0b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhlNjRiMGFhZDdiZGVkMDhiZGMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29tcG9z
aXRlLW9wZXJhdG9ycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29tcG9zaXRlLW9w
ZXJhdG9ycy5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmls
dGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NGNkODMzOTQyZWFkOWQw
MDkxZGQ0M2I4MTIwZGE4Mjg4ZjEwYjA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMuaHRt
bApAQCAtMCwwICsxLDEzMiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAg
IDx0aXRsZT5UZXN0cyB0aGF0IGN1c3RvbSBmaWx0ZXIgY29tcG9zaXRlIG9wZXJhdG9ycyBjb21w
dXRlIGNvbG9yIHZhbHVlcyBjb3JyZWN0bHkuPC90aXRsZT4KKyAgICA8IS0tCisgICAgICAgIFRo
aXMgdGVzdCBtaW1pY3MgdGhlIFBvcnRlciBEdWZmIENvbXBvc2l0aW5nIE9wZXJhdG9ycyBleGFt
cGxlIGltYWdlIGluIHRoZSBDb21wb3NpdGluZyBhbmQgQmxlbmRpbmcgc3BlYzoKKyAgICAgICAg
aHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9GWFRGL3Jhd2ZpbGUvdGlwL2NvbXBvc2l0aW5nL2luZGV4
Lmh0bWwjcG9ydGVyZHVmZmNvbXBvc2l0aW5nb3BlcmF0b3JzX3NyY2F0b3AKKyAgICAtLT4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAg
IHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0Q1NTQ3VzdG9tRmls
dGVyRW5hYmxlZCIsICIxIik7CisgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5vdmVycmlk
ZVByZWZlcmVuY2UoIldlYktpdFdlYkdMRW5hYmxlZCIsICIxIik7CisgICAgICAgICAgICB3aW5k
b3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+
CisgICAgPHN0eWxlPgorICAgIC8qIERyYXdzIGEgYmxhY2sgYm9yZGVyIGFyb3VuZCB0aGUgc2hh
ZGVkIGRlc3RpbmF0aW9uIGRpdi4gKi8KKyAgICAjYm9yZGVyLWNvbnRhaW5lciB7CisgICAgICAg
IHdpZHRoOiA0NXB4OworICAgICAgICBoZWlnaHQ6IDQ1cHg7CisgICAgICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsYWNrOworICAgIH0KKyAgICAvKiBUaGUgc2hhZGVkIGRpdi4gKi8KKyAgICAuZGVz
dGluYXRpb24geworICAgICAgICB3aWR0aDogMTAwJTsKKyAgICAgICAgaGVpZ2h0OiAxMDAlOwor
ICAgIH0KKyAgICAvKiBEcmF3cyBhIHllbGxvdyBzcXVhcmUgaW4gdGhlIHVwcGVyIGxlZnQgY29y
bmVyIG9mIHRoZSBkZXN0aW5hdGlvbiBkaXYuICovCisgICAgLyogVGhlIHJlc3Qgb2YgdGhlIGRl
c3RpbmF0aW9uIGRpdiBpcyB0cmFuc3BhcmVudC4gKi8KKyAgICAjZGVzdGluYXRpb24tb3BhcXVl
LWNoaWxkIHsKKyAgICAgICAgd2lkdGg6IDY3JTsKKyAgICAgICAgaGVpZ2h0OiA2NyU7CisgICAg
ICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKKyAgICB9CisgICAgLyogQ29tcG9zaXRlIG9w
ZXJhdG9ycyAqLworICAgIC5jbGVhciB7CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20o
dXJsKCcuLi9yZXNvdXJjZXMvcGFzcy10ZXgtY29vcmQudnMnKSBtaXgodXJsKCcuLi9yZXNvdXJj
ZXMvY29tcG9zaXRlLmZzJykgbm9ybWFsIGNsZWFyKSk7CisgICAgfQorICAgIC5jb3B5IHsKKyAg
ICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9wYXNzLXRleC1j
b29yZC52cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9jb21wb3NpdGUuZnMnKSBub3JtYWwgY29w
eSkpOworICAgIH0KKyAgICAuc291cmNlLW92ZXIgeworICAgICAgICAtd2Via2l0LWZpbHRlcjog
Y3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL3Bhc3MtdGV4LWNvb3JkLnZzJykgbWl4KHVybCgnLi4v
cmVzb3VyY2VzL2NvbXBvc2l0ZS5mcycpIG5vcm1hbCBzb3VyY2Utb3ZlcikpOworICAgIH0KKyAg
ICAuZGVzdGluYXRpb24tb3ZlciB7CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20odXJs
KCcuLi9yZXNvdXJjZXMvcGFzcy10ZXgtY29vcmQudnMnKSBtaXgodXJsKCcuLi9yZXNvdXJjZXMv
Y29tcG9zaXRlLmZzJykgbm9ybWFsIGRlc3RpbmF0aW9uLW92ZXIpKTsKKyAgICB9CisgICAgLnNv
dXJjZS1pbiB7CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20odXJsKCcuLi9yZXNvdXJj
ZXMvcGFzcy10ZXgtY29vcmQudnMnKSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvY29tcG9zaXRlLmZz
Jykgbm9ybWFsIHNvdXJjZS1pbikpOworICAgIH0KKyAgICAuZGVzdGluYXRpb24taW4geworICAg
ICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL3Bhc3MtdGV4LWNv
b3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL2NvbXBvc2l0ZS5mcycpIG5vcm1hbCBkZXN0
aW5hdGlvbi1pbikpOworICAgIH0KKyAgICAuc291cmNlLW91dCB7CisgICAgICAgIC13ZWJraXQt
ZmlsdGVyOiBjdXN0b20odXJsKCcuLi9yZXNvdXJjZXMvcGFzcy10ZXgtY29vcmQudnMnKSBtaXgo
dXJsKCcuLi9yZXNvdXJjZXMvY29tcG9zaXRlLmZzJykgbm9ybWFsIHNvdXJjZS1vdXQpKTsKKyAg
ICB9CisgICAgLmRlc3RpbmF0aW9uLW91dCB7CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0
b20odXJsKCcuLi9yZXNvdXJjZXMvcGFzcy10ZXgtY29vcmQudnMnKSBtaXgodXJsKCcuLi9yZXNv
dXJjZXMvY29tcG9zaXRlLmZzJykgbm9ybWFsIGRlc3RpbmF0aW9uLW91dCkpOworICAgIH0KKyAg
ICAuc291cmNlLWF0b3AgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4v
cmVzb3VyY2VzL3Bhc3MtdGV4LWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL2NvbXBv
c2l0ZS5mcycpIG5vcm1hbCBzb3VyY2UtYXRvcCkpOworICAgIH0KKyAgICAuZGVzdGluYXRpb24t
YXRvcCB7CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20odXJsKCcuLi9yZXNvdXJjZXMv
cGFzcy10ZXgtY29vcmQudnMnKSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvY29tcG9zaXRlLmZzJykg
bm9ybWFsIGRlc3RpbmF0aW9uLWF0b3ApKTsKKyAgICB9CisgICAgLnhvciB7CisgICAgICAgIC13
ZWJraXQtZmlsdGVyOiBjdXN0b20odXJsKCcuLi9yZXNvdXJjZXMvcGFzcy10ZXgtY29vcmQudnMn
KSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvY29tcG9zaXRlLmZzJykgbm9ybWFsIHhvcikpOworICAg
IH0KKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0iYm9yZGVyLWNv
bnRhaW5lciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uIGNsZWFyIj4KKyAgICAg
ICAgICAgIDxkaXYgaWQ9ImRlc3RpbmF0aW9uLW9wYXF1ZS1jaGlsZCI+PC9kaXY+CisgICAgICAg
IDwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImJvcmRlci1jb250YWluZXIiPgorICAg
ICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBjb3B5Ij4KKyAgICAgICAgICAgIDxkaXYgaWQ9
ImRlc3RpbmF0aW9uLW9wYXF1ZS1jaGlsZCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwv
ZGl2PgorICAgIDxkaXYgaWQ9ImJvcmRlci1jb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNz
PSJkZXN0aW5hdGlvbiBzb3VyY2Utb3ZlciI+CisgICAgICAgICAgICA8ZGl2IGlkPSJkZXN0aW5h
dGlvbi1vcGFxdWUtY2hpbGQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAg
ICA8ZGl2IGlkPSJib3JkZXItY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGlu
YXRpb24gZGVzdGluYXRpb24tb3ZlciI+CisgICAgICAgICAgICA8ZGl2IGlkPSJkZXN0aW5hdGlv
bi1vcGFxdWUtY2hpbGQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8
ZGl2IGlkPSJib3JkZXItY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRp
b24gc291cmNlLWluIj4KKyAgICAgICAgICAgIDxkaXYgaWQ9ImRlc3RpbmF0aW9uLW9wYXF1ZS1j
aGlsZCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImJv
cmRlci1jb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBkZXN0aW5h
dGlvbi1pbiI+CisgICAgICAgICAgICA8ZGl2IGlkPSJkZXN0aW5hdGlvbi1vcGFxdWUtY2hpbGQi
PjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJib3JkZXIt
Y29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24gc291cmNlLW91dCI+
CisgICAgICAgICAgICA8ZGl2IGlkPSJkZXN0aW5hdGlvbi1vcGFxdWUtY2hpbGQiPjwvZGl2Pgor
ICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJib3JkZXItY29udGFpbmVy
Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24gZGVzdGluYXRpb24tb3V0Ij4KKyAg
ICAgICAgICAgIDxkaXYgaWQ9ImRlc3RpbmF0aW9uLW9wYXF1ZS1jaGlsZCI+PC9kaXY+CisgICAg
ICAgIDwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImJvcmRlci1jb250YWluZXIiPgor
ICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBzb3VyY2UtYXRvcCI+CisgICAgICAgICAg
ICA8ZGl2IGlkPSJkZXN0aW5hdGlvbi1vcGFxdWUtY2hpbGQiPjwvZGl2PgorICAgICAgICA8L2Rp
dj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJib3JkZXItY29udGFpbmVyIj4KKyAgICAgICAg
PGRpdiBjbGFzcz0iZGVzdGluYXRpb24gZGVzdGluYXRpb24tYXRvcCI+CisgICAgICAgICAgICA8
ZGl2IGlkPSJkZXN0aW5hdGlvbi1vcGFxdWUtY2hpbGQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4K
KyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJib3JkZXItY29udGFpbmVyIj4KKyAgICAgICAgPGRp
diBjbGFzcz0iZGVzdGluYXRpb24geG9yIj4KKyAgICAgICAgICAgIDxkaXYgaWQ9ImRlc3RpbmF0
aW9uLW9wYXF1ZS1jaGlsZCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICAg
IDwhLS0KKyAgICAgICAgSWYgeW91IGFkZCBtb3JlIGNvbXBvc2l0ZSBvcGVyYXRvcnMgdG8gdGhp
cyBwYWdlLCBiZSBjYXJlZnVsIG5vdCB0byBleGNlZWQgNjAwcHggaW4KKyAgICAgICAgaGVpZ2h0
LCBzaW5jZSBEdW1wUmVuZGVyVHJlZSBjb21wYXJlcyA4MDB4NjAwIHNuYXBzaG90cyBvZiB0aGlz
IHBhZ2UuCisgICAgLS0+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167183</attachid>
            <date>2012-10-04 15:05:45 -0700</date>
            <delta_ts>2012-10-10 01:31:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97859-20121005070452.patch</filename>
            <type>text/plain</type>
            <size>11165</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDZlZDVhMTA3NjBjY2Ji
MDc4ZmYzMWQyOGRkMWI1ZjU0NmQyYTM5NS4uMmFhOTJlNzM5MjJiMTUxMmI3NTg3M2JiYTNkZDY0
Njk2YmM1ZmFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI0IEBACiAyMDEyLTEwLTA0ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgogCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gSW1wbGVtZW50IGFsbCBjb21wb3NpdGUgb3BlcmF0b3JzIGV4Y2VwdCBkZXN0aW5hdGlv
biBhbmQgbGlnaHRlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk3ODU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGV4cHJlc3Npb25zIGZvciBhbGwgY29tcG9zaXRlIG9wZXJhdG9ycyBleGNlcHQg
ZGVzdGluYXRpb24gYW5kCisgICAgICAgIGxpZ2h0ZXIuIFRoZSBleHByZXNzaW9ucyBhcmUgbGlm
dGVkIGRpcmVjdGx5IGZyb20gdGhlIENTUyBDb21wb3NpdGluZworICAgICAgICBhbmQgQmxlbmRp
bmcgc3BlYyBbMV0uIFdlYktpdCBhZGRzIHRoZXNlIGNvbXBvc2l0aW5nIGV4cHJlc3Npb25zIHRv
IHRoZQorICAgICAgICBhdXRob3IncyBzaGFkZXIuCisKKyAgICAgICAgWzFdOiBodHRwczovL2R2
Y3MudzMub3JnL2hnL0ZYVEYvcmF3ZmlsZS90aXAvY29tcG9zaXRpbmcvaW5kZXguaHRtbCNhZHZh
bmNlZGNvbXBvc2l0aW5nCisKKyAgICAgICAgVGVzdDogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0
b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW06OmNvbXBvc2l0ZUZ1bmN0
aW9uU3RyaW5nKToKKworMjAxMi0xMC0wNCAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21w
YW55MTAwLm5ldD4KKwogICAgICAgICBbQ1NTIFNoYWRlcnNdIE1ha2UgY3VzdG9tIGZpbHRlcnMg
dXNlIGEgcHJlbXVsdGlwbGllZCBidWZmZXIuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05ODM5NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJW
YWxpZGF0ZWRQcm9ncmFtLmNwcAppbmRleCA0MjExZTgyYjc4MWIxYTBhY2I1MjdmMzBkZjVjMDE0
MzljNDUxODA5Li5kYTYxZGY4ZDQ3OGE4YmQ0ODQ3Y2E2Y2RmNGIwMTYxMjg1YmQ1NzdmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZp
bHRlclZhbGlkYXRlZFByb2dyYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAKQEAgLTI0OSwx
OCArMjQ5LDQ5IEBAIFN0cmluZyBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtOjpjb21wb3Np
dGVGdW5jdGlvblN0cmluZyhDb21wb3NpdGVPcGVyYXRvciBjCiAgICAgICAgIEZiID0gIjEuMCAt
IGFzIjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3NpdGVDbGVhcjoKKyAgICAgICAg
RmEgPSAiMC4wIjsKKyAgICAgICAgRmIgPSAiMC4wIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBDb21wb3NpdGVDb3B5OgorICAgICAgICBGYSA9ICIxLjAiOworICAgICAgICBGYiA9ICIwLjAi
OworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZVNvdXJjZU92ZXI6CisgICAgICAg
IEZhID0gIjEuMCI7CisgICAgICAgIEZiID0gIjEuMCAtIGFzIjsKKyAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBDb21wb3NpdGVTb3VyY2VJbjoKKyAgICAgICAgRmEgPSAiYWIiOworICAgICAgICBG
YiA9ICIwLjAiOworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZVNvdXJjZU91dDoK
KyAgICAgICAgRmEgPSAiMS4wIC0gYWIiOworICAgICAgICBGYiA9ICIwLjAiOworICAgICAgICBi
cmVhazsKICAgICBjYXNlIENvbXBvc2l0ZURlc3RpbmF0aW9uT3ZlcjoKKyAgICAgICAgRmEgPSAi
MS4wIC0gYWIiOworICAgICAgICBGYiA9ICIxLjAiOworICAgICAgICBicmVhazsKICAgICBjYXNl
IENvbXBvc2l0ZURlc3RpbmF0aW9uSW46CisgICAgICAgIEZhID0gIjAuMCI7CisgICAgICAgIEZi
ID0gImFzIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3NpdGVEZXN0aW5hdGlvbk91
dDoKKyAgICAgICAgRmEgPSAiMC4wIjsKKyAgICAgICAgRmIgPSAiMS4wIC0gYXMiOworICAgICAg
ICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZURlc3RpbmF0aW9uQXRvcDoKKyAgICAgICAgRmEg
PSAiMS4wIC0gYWIiOworICAgICAgICBGYiA9ICJhcyI7CisgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgQ29tcG9zaXRlWE9SOgorICAgICAgICBGYSA9ICIxLjAgLSBhYiI7CisgICAgICAgIEZiID0g
IjEuMCAtIGFzIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3NpdGVQbHVzTGlnaHRl
cjoKICAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwor
ICAgICAgICAvLyBGSVhNRTogZGVzdGluYXRpb24gYW5kIGxpZ2h0ZXIgd2VyZSBub3QgaW1wbGVt
ZW50ZWQgeWV0LgogICAgIGRlZmF1bHQ6CiAgICAgICAgIC8vIFRoZSBDU1MgcGFyc2VyIHNob3Vs
ZCBub3QgaGF2ZSBhY2NlcHRlZCBhbnkgb3RoZXIgY29tcG9zaXRlIG9wZXJhdG9ycy4KICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2U4ZjA5N2VmMTE4M2QzN2M5N2UwOTVk
OWI1ZWM2OWZiNWE4MGFlOS4uNTAxOGZjODQ1ZDA0MmZiMTU3YTYwMzIwMGYxYjA5MmVjMjlhY2Ux
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSw1ICsxLDE5IEBACiAyMDEyLTEwLTA0ICBIdWFuZyBEb25nc3VuZyAgPGx1
eHRlbGxhQGNvbXBhbnkxMDAubmV0PgogCisgICAgICAgIFtDU1MgU2hhZGVyc10gSW1wbGVtZW50
IGFsbCBjb21wb3NpdGUgb3BlcmF0b3JzIGV4Y2VwdCBkZXN0aW5hdGlvbiBhbmQgbGlnaHRlci4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3ODU5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3Qg
dG8gY2hlY2sgdGhhdCB0aGUgRE9NIGVsZW1lbnQgdGV4dHVyZSBjb21wb3NpdGVzIGNvcnJlY3Rs
eSB3aXRoIHRoZSBjc3NfTWl4Q29sb3IKKyAgICAgICAgdmFyaWFibGUgZnJvbSB0aGUgYXV0aG9y
J3Mgc2hhZGVyIGZvciBlYWNoIGNvbXBvc2l0ZSBvcGVyYXRvci4KKworICAgICAgICAqIGNzczMv
ZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUtb3BlcmF0b3JzLWV4cGVjdGVk
LnBuZzogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVy
LWNvbXBvc2l0ZS1vcGVyYXRvcnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3Mz
L2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29tcG9zaXRlLW9wZXJhdG9ycy5odG1sOiBB
ZGRlZC4KKworMjAxMi0xMC0wNCAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAw
Lm5ldD4KKwogICAgICAgICBbQ1NTIFNoYWRlcnNdIE1ha2UgY3VzdG9tIGZpbHRlcnMgdXNlIGEg
cHJlbXVsdGlwbGllZCBidWZmZXIuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05ODM5NgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRl
cnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29tcG9zaXRlLW9wZXJhdG9ycy1leHBlY3RlZC5wbmcg
Yi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29tcG9zaXRl
LW9wZXJhdG9ycy1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTVhMzc2MTExMTgxYzZhNDc3YzQ0
YzVkMjcwZGJlYTcxN2U4ZTQ4ZApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMzE4MQp6Y21lQVNA
Tj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlopPWheaGxBJUBXcyRsSGBvazxtfT9vVG41
OHIKenFvaD1XdkB7Yz1sdkh5ZzNsbnBMUkFiWW02ZUJZT15BeGpXXlc+a340PXc+fVZvVU9OY1ZZ
TXNmKCFPOHBVbDkoCnp7bnBkUEZ7RVA3K2RHYlp3KyUjQzVCX1FSelRjPzAkLXdOQWE8dFJjWD4z
UFJBTStZKXt7RH1aIVF1SiQ8PzsqKwp6QTU1Nkk4NUdudUZmYiV4R0c2RGk4eTcjZEtLRXl7OT5X
OC1lXkw/cV9vLSM/KUI0SzVAYkJiJjRufU5SRmJ4XmgKekJIUUBWamYtenVHY2Q+PFplbkUrdS0x
KkpldC1JMlZTKSFVIUBIdig1I2IwMTJFI15qNyNsLWxPQGk7VEZjanBBCno9YGJ8UklLYWZ2ITh1
VGo4Ji00OW89SlZyeiktPSVFeW0jUlc9cTFgenMyYCFBNz9wQkYlOy1pPSlTZUQ3UmApfQp6V28w
UEhycXJPdkZaYUM9V25rYj5JIUlBcShibCo5SEtvcyM9ZCZ7R1hreHtrYkJJYXd1UGIpTkA2VUs8
QUo0P18Kekw0ZVlySkFDc0AlcmAhVWhUfEkmNyNXV0VhYkxVbGRzRGZMIzNoRD8+V3ZAfjdHU2pk
a2oyT2U2K2dTQDxLdy1uCnomb2VSOSRieW0mZEZGdDFnX1R+c2NoIzRIO2Q+Z0Bxajt9PV8zPWhV
VVdPZ3dsKUFDfT5ZbVMhQDc5VmxKbEd3OQp6eTxqOUpkTz5Rbz9PSSh7RjNOREFIPENoZ1hqbnty
b3cpdjcmNkNYeDRCX0NVTHM+IXpGPXU0QkduPitrUUQ5fn4KemVKP1leMTRBOFA+QVVmQSk3SjBq
WXJwcmQ9Rk1he3V5P1M7Tlo8MGBpXjNUZ1kmcihCWElGS25lUzIreEZhTTdpCnohLUYoWFYzSnBy
ZnB0WTZ6eD8tPz4ranpDT2JqK05zcWc4MVopRGxxT2MpLS1RUj5YUXBgVlpXcjxkUG5XJSF7LQp6
WHtrIUpuaG1wZncqUCtEZTRXYDZNdXpXeyleQE1mLUNGO0BXWjc+V2g2Qj9uRSRlMGR6clBrZ2B7
JWhndXRqdTsKeiF1Qyg4I3E2MTw/PWRvYmtOYEZ+emVvZDNKVVRvWWpXfUElIzh3S18oKkJLSW96
WD9QKFJ4WTx1cShqZT5GVmRRCkkmTUJiQDBHJlZ8Mj48ezkKCmxpdGVyYWwgMApIY21WP2QwMDAw
MQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZp
bHRlci1jb21wb3NpdGUtb3BlcmF0b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUtb3BlcmF0b3JzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44YjEzNzg5MTc5MWZlOTY5MjdhZDc4ZTY0YjBhYWQ3YmRlZDA4YmRj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0
b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmls
dGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9j
dXN0b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUtb3BlcmF0b3JzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTRjZDgzMzk0MmVhZDlkMDA5MWRkNDNiODEyMGRhODI4OGYxMGIwNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21wb3Np
dGUtb3BlcmF0b3JzLmh0bWwKQEAgLTAsMCArMSwxMzIgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+VGVzdHMgdGhhdCBjdXN0b20gZmlsdGVyIGNvbXBvc2l0
ZSBvcGVyYXRvcnMgY29tcHV0ZSBjb2xvciB2YWx1ZXMgY29ycmVjdGx5LjwvdGl0bGU+CisgICAg
PCEtLQorICAgICAgICBUaGlzIHRlc3QgbWltaWNzIHRoZSBQb3J0ZXIgRHVmZiBDb21wb3NpdGlu
ZyBPcGVyYXRvcnMgZXhhbXBsZSBpbWFnZSBpbiB0aGUgQ29tcG9zaXRpbmcgYW5kIEJsZW5kaW5n
IHNwZWM6CisgICAgICAgIGh0dHBzOi8vZHZjcy53My5vcmcvaGcvRlhURi9yYXdmaWxlL3RpcC9j
b21wb3NpdGluZy9pbmRleC5odG1sI3BvcnRlcmR1ZmZjb21wb3NpdGluZ29wZXJhdG9yc19zcmNh
dG9wCisgICAgLS0+CisgICAgPHNjcmlwdD4KKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7CisgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldl
YktpdENTU0N1c3RvbUZpbHRlckVuYWJsZWQiLCAiMSIpOworICAgICAgICAgICAgd2luZG93LnRl
c3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRXZWJHTEVuYWJsZWQiLCAiMSIpOwor
ICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCh0cnVlKTsKKyAgICAgICAg
fQorICAgIDwvc2NyaXB0PgorICAgIDxzdHlsZT4KKyAgICAvKiBEcmF3cyBhIGJsYWNrIGJvcmRl
ciBhcm91bmQgdGhlIHNoYWRlZCBkZXN0aW5hdGlvbiBkaXYuICovCisgICAgI2JvcmRlci1jb250
YWluZXIgeworICAgICAgICB3aWR0aDogNDVweDsKKyAgICAgICAgaGVpZ2h0OiA0NXB4OworICAg
ICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICB9CisgICAgLyogVGhlIHNoYWRlZCBk
aXYuICovCisgICAgLmRlc3RpbmF0aW9uIHsKKyAgICAgICAgd2lkdGg6IDEwMCU7CisgICAgICAg
IGhlaWdodDogMTAwJTsKKyAgICB9CisgICAgLyogRHJhd3MgYSB5ZWxsb3cgc3F1YXJlIGluIHRo
ZSB1cHBlciBsZWZ0IGNvcm5lciBvZiB0aGUgZGVzdGluYXRpb24gZGl2LiAqLworICAgIC8qIFRo
ZSByZXN0IG9mIHRoZSBkZXN0aW5hdGlvbiBkaXYgaXMgdHJhbnNwYXJlbnQuICovCisgICAgI2Rl
c3RpbmF0aW9uLW9wYXF1ZS1jaGlsZCB7CisgICAgICAgIHdpZHRoOiA2NyU7CisgICAgICAgIGhl
aWdodDogNjclOworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7CisgICAgfQorICAg
IC8qIENvbXBvc2l0ZSBvcGVyYXRvcnMgKi8KKyAgICAuY2xlYXIgeworICAgICAgICAtd2Via2l0
LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL3Bhc3MtdGV4LWNvb3JkLnZzJykgbWl4
KHVybCgnLi4vcmVzb3VyY2VzL2NvbXBvc2l0ZS5mcycpIG5vcm1hbCBjbGVhcikpOworICAgIH0K
KyAgICAuY29weSB7CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20odXJsKCcuLi9yZXNv
dXJjZXMvcGFzcy10ZXgtY29vcmQudnMnKSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvY29tcG9zaXRl
LmZzJykgbm9ybWFsIGNvcHkpKTsKKyAgICB9CisgICAgLnNvdXJjZS1vdmVyIHsKKyAgICAgICAg
LXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9wYXNzLXRleC1jb29yZC52
cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9jb21wb3NpdGUuZnMnKSBub3JtYWwgc291cmNlLW92
ZXIpKTsKKyAgICB9CisgICAgLmRlc3RpbmF0aW9uLW92ZXIgeworICAgICAgICAtd2Via2l0LWZp
bHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL3Bhc3MtdGV4LWNvb3JkLnZzJykgbWl4KHVy
bCgnLi4vcmVzb3VyY2VzL2NvbXBvc2l0ZS5mcycpIG5vcm1hbCBkZXN0aW5hdGlvbi1vdmVyKSk7
CisgICAgfQorICAgIC5zb3VyY2UtaW4geworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9t
KHVybCgnLi4vcmVzb3VyY2VzL3Bhc3MtdGV4LWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3Vy
Y2VzL2NvbXBvc2l0ZS5mcycpIG5vcm1hbCBzb3VyY2UtaW4pKTsKKyAgICB9CisgICAgLmRlc3Rp
bmF0aW9uLWluIHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291
cmNlcy9wYXNzLXRleC1jb29yZC52cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9jb21wb3NpdGUu
ZnMnKSBub3JtYWwgZGVzdGluYXRpb24taW4pKTsKKyAgICB9CisgICAgLnNvdXJjZS1vdXQgewor
ICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL3Bhc3MtdGV4
LWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL2NvbXBvc2l0ZS5mcycpIG5vcm1hbCBz
b3VyY2Utb3V0KSk7CisgICAgfQorICAgIC5kZXN0aW5hdGlvbi1vdXQgeworICAgICAgICAtd2Vi
a2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL3Bhc3MtdGV4LWNvb3JkLnZzJykg
bWl4KHVybCgnLi4vcmVzb3VyY2VzL2NvbXBvc2l0ZS5mcycpIG5vcm1hbCBkZXN0aW5hdGlvbi1v
dXQpKTsKKyAgICB9CisgICAgLnNvdXJjZS1hdG9wIHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6
IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9wYXNzLXRleC1jb29yZC52cycpIG1peCh1cmwoJy4u
L3Jlc291cmNlcy9jb21wb3NpdGUuZnMnKSBub3JtYWwgc291cmNlLWF0b3ApKTsKKyAgICB9Cisg
ICAgLmRlc3RpbmF0aW9uLWF0b3AgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVy
bCgnLi4vcmVzb3VyY2VzL3Bhc3MtdGV4LWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2Vz
L2NvbXBvc2l0ZS5mcycpIG5vcm1hbCBkZXN0aW5hdGlvbi1hdG9wKSk7CisgICAgfQorICAgIC54
b3IgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL3Bh
c3MtdGV4LWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL2NvbXBvc2l0ZS5mcycpIG5v
cm1hbCB4b3IpKTsKKyAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxk
aXYgaWQ9ImJvcmRlci1jb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlv
biBjbGVhciI+CisgICAgICAgICAgICA8ZGl2IGlkPSJkZXN0aW5hdGlvbi1vcGFxdWUtY2hpbGQi
PjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJib3JkZXIt
Y29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24gY29weSI+CisgICAg
ICAgICAgICA8ZGl2IGlkPSJkZXN0aW5hdGlvbi1vcGFxdWUtY2hpbGQiPjwvZGl2PgorICAgICAg
ICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJib3JkZXItY29udGFpbmVyIj4KKyAg
ICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24gc291cmNlLW92ZXIiPgorICAgICAgICAgICAg
PGRpdiBpZD0iZGVzdGluYXRpb24tb3BhcXVlLWNoaWxkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+
CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iYm9yZGVyLWNvbnRhaW5lciI+CisgICAgICAgIDxk
aXYgY2xhc3M9ImRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uLW92ZXIiPgorICAgICAgICAgICAgPGRp
diBpZD0iZGVzdGluYXRpb24tb3BhcXVlLWNoaWxkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+Cisg
ICAgPC9kaXY+CisgICAgPGRpdiBpZD0iYm9yZGVyLWNvbnRhaW5lciI+CisgICAgICAgIDxkaXYg
Y2xhc3M9ImRlc3RpbmF0aW9uIHNvdXJjZS1pbiI+CisgICAgICAgICAgICA8ZGl2IGlkPSJkZXN0
aW5hdGlvbi1vcGFxdWUtY2hpbGQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4K
KyAgICA8ZGl2IGlkPSJib3JkZXItY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVz
dGluYXRpb24gZGVzdGluYXRpb24taW4iPgorICAgICAgICAgICAgPGRpdiBpZD0iZGVzdGluYXRp
b24tb3BhcXVlLWNoaWxkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAg
PGRpdiBpZD0iYm9yZGVyLWNvbnRhaW5lciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0
aW9uIHNvdXJjZS1vdXQiPgorICAgICAgICAgICAgPGRpdiBpZD0iZGVzdGluYXRpb24tb3BhcXVl
LWNoaWxkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0i
Ym9yZGVyLWNvbnRhaW5lciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uIGRlc3Rp
bmF0aW9uLW91dCI+CisgICAgICAgICAgICA8ZGl2IGlkPSJkZXN0aW5hdGlvbi1vcGFxdWUtY2hp
bGQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJib3Jk
ZXItY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24gc291cmNlLWF0
b3AiPgorICAgICAgICAgICAgPGRpdiBpZD0iZGVzdGluYXRpb24tb3BhcXVlLWNoaWxkIj48L2Rp
dj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iYm9yZGVyLWNvbnRh
aW5lciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uLWF0b3Ai
PgorICAgICAgICAgICAgPGRpdiBpZD0iZGVzdGluYXRpb24tb3BhcXVlLWNoaWxkIj48L2Rpdj4K
KyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iYm9yZGVyLWNvbnRhaW5l
ciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uIHhvciI+CisgICAgICAgICAgICA8
ZGl2IGlkPSJkZXN0aW5hdGlvbi1vcGFxdWUtY2hpbGQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4K
KyAgICA8L2Rpdj4KKyAgICA8IS0tCisgICAgICAgIElmIHlvdSBhZGQgbW9yZSBjb21wb3NpdGUg
b3BlcmF0b3JzIHRvIHRoaXMgcGFnZSwgYmUgY2FyZWZ1bCBub3QgdG8gZXhjZWVkIDYwMHB4IGlu
CisgICAgICAgIGhlaWdodCwgc2luY2UgRHVtcFJlbmRlclRyZWUgY29tcGFyZXMgODAweDYwMCBz
bmFwc2hvdHMgb2YgdGhpcyBwYWdlLgorICAgIC0tPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167957</attachid>
            <date>2012-10-10 01:31:13 -0700</date>
            <delta_ts>2012-10-12 21:06:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97859-20121010173012.patch</filename>
            <type>text/plain</type>
            <size>10968</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjIwMTA2Y2I4NDVlNmJj
NzQ5ZWU1MjI1MTMwODBkMzJlNTg0ZDJhZS4uYjYxOTU5ZGU0M2IwZTdiYjE5YWE2YjBiMGRkYWU2
MjBiMGExODg1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI0IEBACiAyMDEyLTEwLTA0ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgogCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gSW1wbGVtZW50IGFsbCBjb21wb3NpdGUgb3BlcmF0b3JzIGV4Y2VwdCBkZXN0aW5hdGlv
biBhbmQgbGlnaHRlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk3ODU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGV4cHJlc3Npb25zIGZvciBhbGwgY29tcG9zaXRlIG9wZXJhdG9ycyBleGNlcHQg
ZGVzdGluYXRpb24gYW5kCisgICAgICAgIGxpZ2h0ZXIuIFRoZSBleHByZXNzaW9ucyBhcmUgbGlm
dGVkIGRpcmVjdGx5IGZyb20gdGhlIENTUyBDb21wb3NpdGluZworICAgICAgICBhbmQgQmxlbmRp
bmcgc3BlYyBbMV0uIFdlYktpdCBhZGRzIHRoZXNlIGNvbXBvc2l0aW5nIGV4cHJlc3Npb25zIHRv
IHRoZQorICAgICAgICBhdXRob3IncyBzaGFkZXIuCisKKyAgICAgICAgWzFdOiBodHRwczovL2R2
Y3MudzMub3JnL2hnL0ZYVEYvcmF3ZmlsZS90aXAvY29tcG9zaXRpbmcvaW5kZXguaHRtbCNhZHZh
bmNlZGNvbXBvc2l0aW5nCisKKyAgICAgICAgVGVzdDogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0
b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW06OmNvbXBvc2l0ZUZ1bmN0
aW9uU3RyaW5nKToKKworMjAxMi0xMC0wNCAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21w
YW55MTAwLm5ldD4KKwogICAgICAgICBbQ1NTIFNoYWRlcnNdIE1ha2UgY3VzdG9tIGZpbHRlcnMg
dXNlIGEgcHJlbXVsdGlwbGllZCBidWZmZXIuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05ODM5NgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJW
YWxpZGF0ZWRQcm9ncmFtLmNwcAppbmRleCA5ZGE1YjVhMTUzOWYxNTM0NWEwYzIyMTZjNTIzYjJl
NGEwNTNkMjJhLi5hMTM3OWRmNjZjMmRlODI2ODdjYzU0NjJkZjFlZDIzNmQxM2MzNGUzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZp
bHRlclZhbGlkYXRlZFByb2dyYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAKQEAgLTI0NSwx
NSArMjQ1LDQ1IEBAIFN0cmluZyBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtOjpjb21wb3Np
dGVGdW5jdGlvblN0cmluZyhDb21wb3NpdGVPcGVyYXRvciBjCiAgICAgICAgIEZiID0gIjEuMCAt
IGFzIjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3NpdGVDbGVhcjoKKyAgICAgICAg
RmEgPSAiMC4wIjsKKyAgICAgICAgRmIgPSAiMC4wIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBDb21wb3NpdGVDb3B5OgorICAgICAgICBGYSA9ICIxLjAiOworICAgICAgICBGYiA9ICIwLjAi
OworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZVNvdXJjZU92ZXI6CisgICAgICAg
IEZhID0gIjEuMCI7CisgICAgICAgIEZiID0gIjEuMCAtIGFzIjsKKyAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBDb21wb3NpdGVTb3VyY2VJbjoKKyAgICAgICAgRmEgPSAiYWIiOworICAgICAgICBG
YiA9ICIwLjAiOworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZVNvdXJjZU91dDoK
KyAgICAgICAgRmEgPSAiMS4wIC0gYWIiOworICAgICAgICBGYiA9ICIwLjAiOworICAgICAgICBi
cmVhazsKICAgICBjYXNlIENvbXBvc2l0ZURlc3RpbmF0aW9uT3ZlcjoKKyAgICAgICAgRmEgPSAi
MS4wIC0gYWIiOworICAgICAgICBGYiA9ICIxLjAiOworICAgICAgICBicmVhazsKICAgICBjYXNl
IENvbXBvc2l0ZURlc3RpbmF0aW9uSW46CisgICAgICAgIEZhID0gIjAuMCI7CisgICAgICAgIEZi
ID0gImFzIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3NpdGVEZXN0aW5hdGlvbk91
dDoKKyAgICAgICAgRmEgPSAiMC4wIjsKKyAgICAgICAgRmIgPSAiMS4wIC0gYXMiOworICAgICAg
ICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZURlc3RpbmF0aW9uQXRvcDoKKyAgICAgICAgRmEg
PSAiMS4wIC0gYWIiOworICAgICAgICBGYiA9ICJhcyI7CisgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgQ29tcG9zaXRlWE9SOgorICAgICAgICBGYSA9ICIxLjAgLSBhYiI7CisgICAgICAgIEZiID0g
IjEuMCAtIGFzIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3NpdGVQbHVzTGlnaHRl
cjoKICAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IGJmM2RmNjQ4ZWRiNzYzZTdiNDdmNGFlYjA3YWY2YjliYjgzNjdhYzkuLjczY2M0Zjhm
OTYyMWNhZDQ5OGNhZDYxNzRiMTRmZGE4ZTJlOWZmYTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxOSBAQAog
MjAxMi0xMC0wNCAgSHVhbmcgRG9uZ3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KIAor
ICAgICAgICBbQ1NTIFNoYWRlcnNdIEltcGxlbWVudCBhbGwgY29tcG9zaXRlIG9wZXJhdG9ycyBl
eGNlcHQgZGVzdGluYXRpb24gYW5kIGxpZ2h0ZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Nzg1OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0IHRvIGNoZWNrIHRoYXQgdGhlIERPTSBlbGVt
ZW50IHRleHR1cmUgY29tcG9zaXRlcyBjb3JyZWN0bHkgd2l0aCB0aGUgY3NzX01peENvbG9yCisg
ICAgICAgIHZhcmlhYmxlIGZyb20gdGhlIGF1dGhvcidzIHNoYWRlciBmb3IgZWFjaCBjb21wb3Np
dGUgb3BlcmF0b3IuCisKKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0
ZXItY29tcG9zaXRlLW9wZXJhdG9ycy1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIGNz
czMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUtb3BlcmF0b3JzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmls
dGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMuaHRtbDogQWRkZWQuCisKKzIwMTItMTAtMDQgIEh1YW5n
IERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CisKICAgICAgICAgW0NTUyBTaGFk
ZXJzXSBNYWtlIGN1c3RvbSBmaWx0ZXJzIHVzZSBhIHByZW11bHRpcGxpZWQgYnVmZmVyLgogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgzOTYKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNv
bXBvc2l0ZS1vcGVyYXRvcnMtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJz
L2N1c3RvbS9jdXN0b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMtZXhwZWN0ZWQucG5nCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjk1YTM3NjExMTE4MWM2YTQ3N2M0NGM1ZDI3MGRiZWE3MTdlOGU0OGQKR0lUIGJp
bmFyeSBwYXRjaApsaXRlcmFsIDMxODEKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYy
YT5pMCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1RuNThyCnpxb2g9V3ZAe2M9bHZIeWczbG5wTFJB
YlltNmVCWU9eQXhqV15XPmt+ND13Pn1Wb1VPTmNWWU1zZighTzhwVWw5KAp6e25wZFBGe0VQNytk
R2JadyslI0M1Ql9RUnpUYz8wJC13TkFhPHRSY1g+M1BSQU0rWSl7e0R9WiFRdUokPD87KisKekE1
NTZJODVHbnVGZmIleEdHNkRpOHk3I2RLS0V5ezk+VzgtZV5MP3Ffby0jPylCNEs1QGJCYiY0bn1O
UkZieF5oCnpCSFFAVmpmLXp1R2NkPjxaZW5FK3UtMSpKZXQtSTJWUykhVSFASHYoNSNiMDEyRSNe
ajcjbC1sT0BpO1RGY2pwQQp6PWBifFJJS2FmdiE4dVRqOCYtNDlvPUpWcnopLT0lRXltI1JXPXEx
YHpzMmAhQTc/cEJGJTstaT0pU2VEN1JgKX0KeldvMFBIcnFyT3ZGWmFDPVdua2I+SSFJQXEoYmwq
OUhLb3MjPWQme0dYa3h7a2JCSWF3dVBiKU5ANlVLPEFKND9fCnpMNGVZckpBQ3NAJXJgIVVoVHxJ
JjcjV1dFYWJMVWxkc0RmTCMzaEQ/Pld2QH43R1NqZGtqMk9lNitnU0A8S3ctbgp6Jm9lUjkkYnlt
JmRGRnQxZ19UfnNjaCM0SDtkPmdAcWo7fT1fMz1oVVVXT2d3bClBQ30+WW1TIUA3OVZsSmxHdzkK
enk8ajlKZE8+UW8/T0koe0YzTkRBSDxDaGdYam57cm93KXY3JjZDWHg0Ql9DVUxzPiF6Rj11NEJH
bj4ra1FEOX5+CnplSj9ZXjE0QThQPkFVZkEpN0owallycHJkPUZNYXt1eT9TO05aPDBgaV4zVGdZ
JnIoQlhJRktuZVMyK3hGYU03aQp6IS1GKFhWM0pwcmZwdFk2eng/LT8+K2p6Q09iaitOc3FnODFa
KURscU9jKS0tUVI+WFFwYFZaV3I8ZFBuVyUhey0Kelh7ayFKbmhtcGZ3KlArRGU0V2A2TXV6V3sp
XkBNZi1DRjtAV1o3PldoNkI/bkUkZTBkenJQa2dgeyVoZ3V0anU7CnohdUMoOCNxNjE8Pz1kb2Jr
TmBGfnplb2QzSlVUb1lqV31BJSM4d0tfKCpCS0lvelg/UChSeFk8dXEoamU+RlZkUQpJJk1CYkAw
RyZWfDI+PHs5CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29tcG9zaXRlLW9wZXJhdG9ycy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0
ZXItY29tcG9zaXRlLW9wZXJhdG9ycy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGIxMzc4OTE3
OTFmZTk2OTI3YWQ3OGU2NGIwYWFkN2JkZWQwOGJkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUtb3BlcmF0
b3JzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUtb3BlcmF0b3JzLmh0
bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29tcG9z
aXRlLW9wZXJhdG9ycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0Y2Q4MzM5NDJlYWQ5ZDAwOTFkZDQzYjgx
MjBkYTgyODhmMTBiMDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRl
cnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29tcG9zaXRlLW9wZXJhdG9ycy5odG1sCkBAIC0wLDAg
KzEsMTMyIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPlRl
c3RzIHRoYXQgY3VzdG9tIGZpbHRlciBjb21wb3NpdGUgb3BlcmF0b3JzIGNvbXB1dGUgY29sb3Ig
dmFsdWVzIGNvcnJlY3RseS48L3RpdGxlPgorICAgIDwhLS0KKyAgICAgICAgVGhpcyB0ZXN0IG1p
bWljcyB0aGUgUG9ydGVyIER1ZmYgQ29tcG9zaXRpbmcgT3BlcmF0b3JzIGV4YW1wbGUgaW1hZ2Ug
aW4gdGhlIENvbXBvc2l0aW5nIGFuZCBCbGVuZGluZyBzcGVjOgorICAgICAgICBodHRwczovL2R2
Y3MudzMub3JnL2hnL0ZYVEYvcmF3ZmlsZS90aXAvY29tcG9zaXRpbmcvaW5kZXguaHRtbCNwb3J0
ZXJkdWZmY29tcG9zaXRpbmdvcGVyYXRvcnNfc3JjYXRvcAorICAgIC0tPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgd2luZG93LnRl
c3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRDU1NDdXN0b21GaWx0ZXJFbmFibGVk
IiwgIjEiKTsKKyAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5j
ZSgiV2ViS2l0V2ViR0xFbmFibGVkIiwgIjEiKTsKKyAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVu
bmVyLmR1bXBBc1RleHQodHJ1ZSk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c3R5
bGU+CisgICAgLyogRHJhd3MgYSBibGFjayBib3JkZXIgYXJvdW5kIHRoZSBzaGFkZWQgZGVzdGlu
YXRpb24gZGl2LiAqLworICAgICNib3JkZXItY29udGFpbmVyIHsKKyAgICAgICAgd2lkdGg6IDQ1
cHg7CisgICAgICAgIGhlaWdodDogNDVweDsKKyAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxh
Y2s7CisgICAgfQorICAgIC8qIFRoZSBzaGFkZWQgZGl2LiAqLworICAgIC5kZXN0aW5hdGlvbiB7
CisgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICBoZWlnaHQ6IDEwMCU7CisgICAgfQorICAg
IC8qIERyYXdzIGEgeWVsbG93IHNxdWFyZSBpbiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgb2YgdGhl
IGRlc3RpbmF0aW9uIGRpdi4gKi8KKyAgICAvKiBUaGUgcmVzdCBvZiB0aGUgZGVzdGluYXRpb24g
ZGl2IGlzIHRyYW5zcGFyZW50LiAqLworICAgICNkZXN0aW5hdGlvbi1vcGFxdWUtY2hpbGQgewor
ICAgICAgICB3aWR0aDogNjclOworICAgICAgICBoZWlnaHQ6IDY3JTsKKyAgICAgICAgYmFja2dy
b3VuZC1jb2xvcjogeWVsbG93OworICAgIH0KKyAgICAvKiBDb21wb3NpdGUgb3BlcmF0b3JzICov
CisgICAgLmNsZWFyIHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jl
c291cmNlcy9wYXNzLXRleC1jb29yZC52cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9jb21wb3Np
dGUuZnMnKSBub3JtYWwgY2xlYXIpKTsKKyAgICB9CisgICAgLmNvcHkgeworICAgICAgICAtd2Vi
a2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL3Bhc3MtdGV4LWNvb3JkLnZzJykg
bWl4KHVybCgnLi4vcmVzb3VyY2VzL2NvbXBvc2l0ZS5mcycpIG5vcm1hbCBjb3B5KSk7CisgICAg
fQorICAgIC5zb3VyY2Utb3ZlciB7CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20odXJs
KCcuLi9yZXNvdXJjZXMvcGFzcy10ZXgtY29vcmQudnMnKSBtaXgodXJsKCcuLi9yZXNvdXJjZXMv
Y29tcG9zaXRlLmZzJykgbm9ybWFsIHNvdXJjZS1vdmVyKSk7CisgICAgfQorICAgIC5kZXN0aW5h
dGlvbi1vdmVyIHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291
cmNlcy9wYXNzLXRleC1jb29yZC52cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9jb21wb3NpdGUu
ZnMnKSBub3JtYWwgZGVzdGluYXRpb24tb3ZlcikpOworICAgIH0KKyAgICAuc291cmNlLWluIHsK
KyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9wYXNzLXRl
eC1jb29yZC52cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9jb21wb3NpdGUuZnMnKSBub3JtYWwg
c291cmNlLWluKSk7CisgICAgfQorICAgIC5kZXN0aW5hdGlvbi1pbiB7CisgICAgICAgIC13ZWJr
aXQtZmlsdGVyOiBjdXN0b20odXJsKCcuLi9yZXNvdXJjZXMvcGFzcy10ZXgtY29vcmQudnMnKSBt
aXgodXJsKCcuLi9yZXNvdXJjZXMvY29tcG9zaXRlLmZzJykgbm9ybWFsIGRlc3RpbmF0aW9uLWlu
KSk7CisgICAgfQorICAgIC5zb3VyY2Utb3V0IHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1
c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9wYXNzLXRleC1jb29yZC52cycpIG1peCh1cmwoJy4uL3Jl
c291cmNlcy9jb21wb3NpdGUuZnMnKSBub3JtYWwgc291cmNlLW91dCkpOworICAgIH0KKyAgICAu
ZGVzdGluYXRpb24tb3V0IHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4u
L3Jlc291cmNlcy9wYXNzLXRleC1jb29yZC52cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9jb21w
b3NpdGUuZnMnKSBub3JtYWwgZGVzdGluYXRpb24tb3V0KSk7CisgICAgfQorICAgIC5zb3VyY2Ut
YXRvcCB7CisgICAgICAgIC13ZWJraXQtZmlsdGVyOiBjdXN0b20odXJsKCcuLi9yZXNvdXJjZXMv
cGFzcy10ZXgtY29vcmQudnMnKSBtaXgodXJsKCcuLi9yZXNvdXJjZXMvY29tcG9zaXRlLmZzJykg
bm9ybWFsIHNvdXJjZS1hdG9wKSk7CisgICAgfQorICAgIC5kZXN0aW5hdGlvbi1hdG9wIHsKKyAg
ICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9wYXNzLXRleC1j
b29yZC52cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9jb21wb3NpdGUuZnMnKSBub3JtYWwgZGVz
dGluYXRpb24tYXRvcCkpOworICAgIH0KKyAgICAueG9yIHsKKyAgICAgICAgLXdlYmtpdC1maWx0
ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9wYXNzLXRleC1jb29yZC52cycpIG1peCh1cmwo
Jy4uL3Jlc291cmNlcy9jb21wb3NpdGUuZnMnKSBub3JtYWwgeG9yKSk7CisgICAgfQorICAgIDwv
c3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJib3JkZXItY29udGFpbmVyIj4K
KyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24gY2xlYXIiPgorICAgICAgICAgICAgPGRp
diBpZD0iZGVzdGluYXRpb24tb3BhcXVlLWNoaWxkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+Cisg
ICAgPC9kaXY+CisgICAgPGRpdiBpZD0iYm9yZGVyLWNvbnRhaW5lciI+CisgICAgICAgIDxkaXYg
Y2xhc3M9ImRlc3RpbmF0aW9uIGNvcHkiPgorICAgICAgICAgICAgPGRpdiBpZD0iZGVzdGluYXRp
b24tb3BhcXVlLWNoaWxkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAg
PGRpdiBpZD0iYm9yZGVyLWNvbnRhaW5lciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0
aW9uIHNvdXJjZS1vdmVyIj4KKyAgICAgICAgICAgIDxkaXYgaWQ9ImRlc3RpbmF0aW9uLW9wYXF1
ZS1jaGlsZCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9
ImJvcmRlci1jb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBkZXN0
aW5hdGlvbi1vdmVyIj4KKyAgICAgICAgICAgIDxkaXYgaWQ9ImRlc3RpbmF0aW9uLW9wYXF1ZS1j
aGlsZCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImJv
cmRlci1jb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBzb3VyY2Ut
aW4iPgorICAgICAgICAgICAgPGRpdiBpZD0iZGVzdGluYXRpb24tb3BhcXVlLWNoaWxkIj48L2Rp
dj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iYm9yZGVyLWNvbnRh
aW5lciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uLWluIj4K
KyAgICAgICAgICAgIDxkaXYgaWQ9ImRlc3RpbmF0aW9uLW9wYXF1ZS1jaGlsZCI+PC9kaXY+Cisg
ICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImJvcmRlci1jb250YWluZXIi
PgorICAgICAgICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBzb3VyY2Utb3V0Ij4KKyAgICAgICAg
ICAgIDxkaXYgaWQ9ImRlc3RpbmF0aW9uLW9wYXF1ZS1jaGlsZCI+PC9kaXY+CisgICAgICAgIDwv
ZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImJvcmRlci1jb250YWluZXIiPgorICAgICAg
ICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBkZXN0aW5hdGlvbi1vdXQiPgorICAgICAgICAgICAg
PGRpdiBpZD0iZGVzdGluYXRpb24tb3BhcXVlLWNoaWxkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+
CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iYm9yZGVyLWNvbnRhaW5lciI+CisgICAgICAgIDxk
aXYgY2xhc3M9ImRlc3RpbmF0aW9uIHNvdXJjZS1hdG9wIj4KKyAgICAgICAgICAgIDxkaXYgaWQ9
ImRlc3RpbmF0aW9uLW9wYXF1ZS1jaGlsZCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwv
ZGl2PgorICAgIDxkaXYgaWQ9ImJvcmRlci1jb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNz
PSJkZXN0aW5hdGlvbiBkZXN0aW5hdGlvbi1hdG9wIj4KKyAgICAgICAgICAgIDxkaXYgaWQ9ImRl
c3RpbmF0aW9uLW9wYXF1ZS1jaGlsZCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2
PgorICAgIDxkaXYgaWQ9ImJvcmRlci1jb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJk
ZXN0aW5hdGlvbiB4b3IiPgorICAgICAgICAgICAgPGRpdiBpZD0iZGVzdGluYXRpb24tb3BhcXVl
LWNoaWxkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPCEtLQorICAg
ICAgICBJZiB5b3UgYWRkIG1vcmUgY29tcG9zaXRlIG9wZXJhdG9ycyB0byB0aGlzIHBhZ2UsIGJl
IGNhcmVmdWwgbm90IHRvIGV4Y2VlZCA2MDBweCBpbgorICAgICAgICBoZWlnaHQsIHNpbmNlIER1
bXBSZW5kZXJUcmVlIGNvbXBhcmVzIDgwMHg2MDAgc25hcHNob3RzIG9mIHRoaXMgcGFnZS4KKyAg
ICAtLT4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168535</attachid>
            <date>2012-10-12 21:06:47 -0700</date>
            <delta_ts>2012-10-16 15:37:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97859-20121013130541.patch</filename>
            <type>text/plain</type>
            <size>12500</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMjQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzQwMjc0MTZkOGM4ZTQ1
NjU0ODkyOTdhNjA3NzgyZjNkZmI4M2YzZS4uMmVlNTU4NDk4MGFkMzk0ZjVhNTg5ZGRkNTJhZWUy
NmUwODcxMDU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTEwLTEzICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gSW1wbGVtZW50IGFsbCBjb21wb3NpdGUgb3BlcmF0b3JzIGV4Y2VwdCBkZXN0aW5hdGlv
biBhbmQgbGlnaHRlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk3ODU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGV4cHJlc3Npb25zIGZvciBhbGwgY29tcG9zaXRlIG9wZXJhdG9ycyBleGNlcHQg
ZGVzdGluYXRpb24gYW5kCisgICAgICAgIGxpZ2h0ZXIuIFRoZSBleHByZXNzaW9ucyBhcmUgbGlm
dGVkIGRpcmVjdGx5IGZyb20gdGhlIENTUyBDb21wb3NpdGluZworICAgICAgICBhbmQgQmxlbmRp
bmcgc3BlYyBbMV0uIFdlYktpdCBhZGRzIHRoZXNlIGNvbXBvc2l0aW5nIGV4cHJlc3Npb25zIHRv
IHRoZQorICAgICAgICBhdXRob3IncyBzaGFkZXIuCisKKyAgICAgICAgWzFdOiBodHRwczovL2R2
Y3MudzMub3JnL2hnL0ZYVEYvcmF3ZmlsZS90aXAvY29tcG9zaXRpbmcvaW5kZXguaHRtbCNhZHZh
bmNlZGNvbXBvc2l0aW5nCisKKyAgICAgICAgVGVzdDogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0
b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJDb21waWxlZFByb2dyYW0uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtOjppbml0aWFsaXplUGFyYW1l
dGVyTG9jYXRpb25zKToKKyAgICAgICAgICAgIFJlbW92ZSBBU1NFUlRJT04gY2hlY2tpbmcgaWYg
Z2xHZXRVbmlmb3JtbG9jYXRpb24gcmV0dXJucyBuZWdhdGl2ZSwKKyAgICAgICAgICAgIGJlY2F1
c2UgQVNTRVJUSU9OIGNhbiBmYWlsIHdpdGggY2xlYXIgYW5kIGNvcHkgY29tcG9zaXRlIG9wZXJh
dGlvbnMuCisgICAgICAgICAgICBDbGVhciBhbmQgY29weSBjb21wb3NpdGUgb3BlcmF0aW9ucyBk
byBub3QgbmVlZCAiY3NzX3VfdGV4dHVyZSIKKyAgICAgICAgICAgIHJlcHJlc2VudGluZyB0aGUg
RE9NIGVsZW1lbnQgdGV4dHVyZS4gSWYgdGhlIGRyaXZlciBjb21waWxlciBpcworICAgICAgICAg
ICAgc21hcnQsICJjc3NfdV90ZXh0dXJlIiBpcyBub3QgcmVnYXJkZWQgYXMgYW4gYWN0aXZlIHVu
aWZvcm0sIHNvCisgICAgICAgICAgICBnbEdldHVuaWZvcm1sb2NhdGlvbiByZXR1cm5zIC0xLiBn
bEdldEF0dHJpYkxvY2F0aW9uIGRpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtOjpjb21wb3NpdGVGdW5jdGlvblN0cmluZyk6
CisKIDIwMTItMTAtMTIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgRml4IEdyYXBoaWNzTGF5ZXJDQSB2aXNpYmxlIHJlY3QgY29tcHV0YXRpb24gaW4g
dGhlIGZhY2Ugb2YgcGVyc3BlY3RpdmUgYW5kIHByZXNlcnZlLTNkCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckNvbXBpbGVk
UHJvZ3JhbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1
c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbS5jcHAKaW5kZXggN2UyODRiYjgzOTk5MGQwM2FmNGY1
Yzg0OGFmYWFmM2NkYjc3ODdjMy4uMGFhYWI5NjJjOTk1ZGYzY2FhNmY4Yzc0NTgyM2YxOTFkZWRk
MWY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9DdXN0b21GaWx0ZXJDb21waWxlZFByb2dyYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmNwcApA
QCAtMTM0LDEwICsxMzQsNiBAQCB2b2lkIEN1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbTo6aW5p
dGlhbGl6ZVBhcmFtZXRlckxvY2F0aW9ucyhDdXN0b21GaWx0ZXJQcm9ncgogICAgICAgICAvLyBP
bmUgb2YgdGhlbSwgY3NzX3VfdGV4dHVyZSwgcmVmZXJlbmNlcyB0aGUgdGV4dHVyZSBvZiB0aGUg
ZWxlbWVudC4KICAgICAgICAgbV9zYW1wbGVyTG9jYXRpb24gPSBtX2NvbnRleHQtPmdldFVuaWZv
cm1Mb2NhdGlvbihtX3Byb2dyYW0sICJjc3NfdV90ZXh0dXJlIik7CiAgICAgICAgIG1faW50ZXJu
YWxUZXhDb29yZEF0dHJpYkxvY2F0aW9uID0gbV9jb250ZXh0LT5nZXRBdHRyaWJMb2NhdGlvbiht
X3Byb2dyYW0sICJjc3NfYV90ZXhDb29yZCIpOwotCi0gICAgICAgIC8vIFRoZXNlIGludGVybmFs
IHN5bWJvbHMgc2hvdWxkIGhhdmUgYmVlbiBhZGRlZCB0byB0aGUgdmFsaWRhdGVkIHNoYWRlcnMu
Ci0gICAgICAgIEFTU0VSVChtX3NhbXBsZXJMb2NhdGlvbiAhPSAtMSk7Ci0gICAgICAgIEFTU0VS
VChtX2ludGVybmFsVGV4Q29vcmRBdHRyaWJMb2NhdGlvbiAhPSAtMSk7CiAgICAgfQogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3Rv
bUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcAppbmRleCA5ZGE1
YjVhMTUzOWYxNTM0NWEwYzIyMTZjNTIzYjJlNGEwNTNkMjJhLi5hMTM3OWRmNjZjMmRlODI2ODdj
YzU0NjJkZjFlZDIzNmQxM2MzNGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFs
aWRhdGVkUHJvZ3JhbS5jcHAKQEAgLTI0NSwxNSArMjQ1LDQ1IEBAIFN0cmluZyBDdXN0b21GaWx0
ZXJWYWxpZGF0ZWRQcm9ncmFtOjpjb21wb3NpdGVGdW5jdGlvblN0cmluZyhDb21wb3NpdGVPcGVy
YXRvciBjCiAgICAgICAgIEZiID0gIjEuMCAtIGFzIjsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBDb21wb3NpdGVDbGVhcjoKKyAgICAgICAgRmEgPSAiMC4wIjsKKyAgICAgICAgRmIgPSAiMC4w
IjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3NpdGVDb3B5OgorICAgICAgICBGYSA9
ICIxLjAiOworICAgICAgICBGYiA9ICIwLjAiOworICAgICAgICBicmVhazsKICAgICBjYXNlIENv
bXBvc2l0ZVNvdXJjZU92ZXI6CisgICAgICAgIEZhID0gIjEuMCI7CisgICAgICAgIEZiID0gIjEu
MCAtIGFzIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3NpdGVTb3VyY2VJbjoKKyAg
ICAgICAgRmEgPSAiYWIiOworICAgICAgICBGYiA9ICIwLjAiOworICAgICAgICBicmVhazsKICAg
ICBjYXNlIENvbXBvc2l0ZVNvdXJjZU91dDoKKyAgICAgICAgRmEgPSAiMS4wIC0gYWIiOworICAg
ICAgICBGYiA9ICIwLjAiOworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZURlc3Rp
bmF0aW9uT3ZlcjoKKyAgICAgICAgRmEgPSAiMS4wIC0gYWIiOworICAgICAgICBGYiA9ICIxLjAi
OworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZURlc3RpbmF0aW9uSW46CisgICAg
ICAgIEZhID0gIjAuMCI7CisgICAgICAgIEZiID0gImFzIjsKKyAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBDb21wb3NpdGVEZXN0aW5hdGlvbk91dDoKKyAgICAgICAgRmEgPSAiMC4wIjsKKyAgICAg
ICAgRmIgPSAiMS4wIC0gYXMiOworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZURl
c3RpbmF0aW9uQXRvcDoKKyAgICAgICAgRmEgPSAiMS4wIC0gYWIiOworICAgICAgICBGYiA9ICJh
cyI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29tcG9zaXRlWE9SOgorICAgICAgICBGYSA9
ICIxLjAgLSBhYiI7CisgICAgICAgIEZiID0gIjEuMCAtIGFzIjsKKyAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBDb21wb3NpdGVQbHVzTGlnaHRlcjoKICAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsK
ICAgICAgICAgcmV0dXJuIFN0cmluZygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQ4ZGU3YmFmZDJjZDNlYmI3NWUyNzQz
NTdkNTFhMDM0MDQxMTAyNDYuLmUxNjY4Mjg0YWE0OTg4NTlhODBjNTMyYzdmZTU5MjIzMWU4NWM0
MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMC0xMyAgSHVhbmcgRG9uZ3N1bmcgIDxs
dXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBbQ1NTIFNoYWRlcnNdIEltcGxlbWVu
dCBhbGwgY29tcG9zaXRlIG9wZXJhdG9ycyBleGNlcHQgZGVzdGluYXRpb24gYW5kIGxpZ2h0ZXIu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Nzg1OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0
IHRvIGNoZWNrIHRoYXQgdGhlIERPTSBlbGVtZW50IHRleHR1cmUgY29tcG9zaXRlcyBjb3JyZWN0
bHkgd2l0aCB0aGUgY3NzX01peENvbG9yCisgICAgICAgIHZhcmlhYmxlIGZyb20gdGhlIGF1dGhv
cidzIHNoYWRlciBmb3IgZWFjaCBjb21wb3NpdGUgb3BlcmF0b3IuCisKKyAgICAgICAgKiBjc3Mz
L2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29tcG9zaXRlLW9wZXJhdG9ycy1leHBlY3Rl
ZC5wbmc6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRl
ci1jb21wb3NpdGUtb3BlcmF0b3JzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3Nz
My9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMuaHRtbDog
QWRkZWQuCisKIDIwMTItMTAtMTIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5j
b20+CiAKICAgICAgICAgRml4IEdyYXBoaWNzTGF5ZXJDQSB2aXNpYmxlIHJlY3QgY29tcHV0YXRp
b24gaW4gdGhlIGZhY2Ugb2YgcGVyc3BlY3RpdmUgYW5kIHByZXNlcnZlLTNkCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29tcG9zaXRl
LW9wZXJhdG9ycy1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9t
L2N1c3RvbS1maWx0ZXItY29tcG9zaXRlLW9wZXJhdG9ycy1leHBlY3RlZC5wbmcKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTVhMzc2MTExMTgxYzZhNDc3YzQ0YzVkMjcwZGJlYTcxN2U4ZTQ4ZApHSVQgYmluYXJ5IHBh
dGNoCmxpdGVyYWwgMzE4MQp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlop
PWheaGxBJUBXcyRsSGBvazxtfT9vVG41OHIKenFvaD1XdkB7Yz1sdkh5ZzNsbnBMUkFiWW02ZUJZ
T15BeGpXXlc+a340PXc+fVZvVU9OY1ZZTXNmKCFPOHBVbDkoCnp7bnBkUEZ7RVA3K2RHYlp3KyUj
QzVCX1FSelRjPzAkLXdOQWE8dFJjWD4zUFJBTStZKXt7RH1aIVF1SiQ8PzsqKwp6QTU1Nkk4NUdu
dUZmYiV4R0c2RGk4eTcjZEtLRXl7OT5XOC1lXkw/cV9vLSM/KUI0SzVAYkJiJjRufU5SRmJ4XmgK
ekJIUUBWamYtenVHY2Q+PFplbkUrdS0xKkpldC1JMlZTKSFVIUBIdig1I2IwMTJFI15qNyNsLWxP
QGk7VEZjanBBCno9YGJ8UklLYWZ2ITh1VGo4Ji00OW89SlZyeiktPSVFeW0jUlc9cTFgenMyYCFB
Nz9wQkYlOy1pPSlTZUQ3UmApfQp6V28wUEhycXJPdkZaYUM9V25rYj5JIUlBcShibCo5SEtvcyM9
ZCZ7R1hreHtrYkJJYXd1UGIpTkA2VUs8QUo0P18Kekw0ZVlySkFDc0AlcmAhVWhUfEkmNyNXV0Vh
YkxVbGRzRGZMIzNoRD8+V3ZAfjdHU2pka2oyT2U2K2dTQDxLdy1uCnomb2VSOSRieW0mZEZGdDFn
X1R+c2NoIzRIO2Q+Z0Bxajt9PV8zPWhVVVdPZ3dsKUFDfT5ZbVMhQDc5VmxKbEd3OQp6eTxqOUpk
Tz5Rbz9PSSh7RjNOREFIPENoZ1hqbntyb3cpdjcmNkNYeDRCX0NVTHM+IXpGPXU0QkduPitrUUQ5
fn4KemVKP1leMTRBOFA+QVVmQSk3SjBqWXJwcmQ9Rk1he3V5P1M7Tlo8MGBpXjNUZ1kmcihCWElG
S25lUzIreEZhTTdpCnohLUYoWFYzSnByZnB0WTZ6eD8tPz4ranpDT2JqK05zcWc4MVopRGxxT2Mp
LS1RUj5YUXBgVlpXcjxkUG5XJSF7LQp6WHtrIUpuaG1wZncqUCtEZTRXYDZNdXpXeyleQE1mLUNG
O0BXWjc+V2g2Qj9uRSRlMGR6clBrZ2B7JWhndXRqdTsKeiF1Qyg4I3E2MTw/PWRvYmtOYEZ+emVv
ZDNKVVRvWWpXfUElIzh3S18oKkJLSW96WD9QKFJ4WTx1cShqZT5GVmRRCkkmTUJiQDBHJlZ8Mj48
ezkKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUtb3BlcmF0b3JzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21w
b3NpdGUtb3BlcmF0b3JzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjEzNzg5MTc5MWZlOTY5
MjdhZDc4ZTY0YjBhYWQ3YmRlZDA4YmRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMuaHRtbCBiL0xh
eW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUtb3Bl
cmF0b3JzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRjZDgzMzk0MmVhZDlkMDA5MWRkNDNiODEyMGRhODI4
OGYxMGIwNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0
b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUtb3BlcmF0b3JzLmh0bWwKQEAgLTAsMCArMSwxMzIg
QEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+VGVzdHMgdGhh
dCBjdXN0b20gZmlsdGVyIGNvbXBvc2l0ZSBvcGVyYXRvcnMgY29tcHV0ZSBjb2xvciB2YWx1ZXMg
Y29ycmVjdGx5LjwvdGl0bGU+CisgICAgPCEtLQorICAgICAgICBUaGlzIHRlc3QgbWltaWNzIHRo
ZSBQb3J0ZXIgRHVmZiBDb21wb3NpdGluZyBPcGVyYXRvcnMgZXhhbXBsZSBpbWFnZSBpbiB0aGUg
Q29tcG9zaXRpbmcgYW5kIEJsZW5kaW5nIHNwZWM6CisgICAgICAgIGh0dHBzOi8vZHZjcy53My5v
cmcvaGcvRlhURi9yYXdmaWxlL3RpcC9jb21wb3NpdGluZy9pbmRleC5odG1sI3BvcnRlcmR1ZmZj
b21wb3NpdGluZ29wZXJhdG9yc19zcmNhdG9wCisgICAgLS0+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5l
ci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdENTU0N1c3RvbUZpbHRlckVuYWJsZWQiLCAiMSIp
OworICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJL
aXRXZWJHTEVuYWJsZWQiLCAiMSIpOworICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIuZHVt
cEFzVGV4dCh0cnVlKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDxzdHlsZT4KKyAg
ICAvKiBEcmF3cyBhIGJsYWNrIGJvcmRlciBhcm91bmQgdGhlIHNoYWRlZCBkZXN0aW5hdGlvbiBk
aXYuICovCisgICAgI2JvcmRlci1jb250YWluZXIgeworICAgICAgICB3aWR0aDogNDVweDsKKyAg
ICAgICAgaGVpZ2h0OiA0NXB4OworICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAg
ICB9CisgICAgLyogVGhlIHNoYWRlZCBkaXYuICovCisgICAgLmRlc3RpbmF0aW9uIHsKKyAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgIGhlaWdodDogMTAwJTsKKyAgICB9CisgICAgLyogRHJh
d3MgYSB5ZWxsb3cgc3F1YXJlIGluIHRoZSB1cHBlciBsZWZ0IGNvcm5lciBvZiB0aGUgZGVzdGlu
YXRpb24gZGl2LiAqLworICAgIC8qIFRoZSByZXN0IG9mIHRoZSBkZXN0aW5hdGlvbiBkaXYgaXMg
dHJhbnNwYXJlbnQuICovCisgICAgI2Rlc3RpbmF0aW9uLW9wYXF1ZS1jaGlsZCB7CisgICAgICAg
IHdpZHRoOiA2NyU7CisgICAgICAgIGhlaWdodDogNjclOworICAgICAgICBiYWNrZ3JvdW5kLWNv
bG9yOiB5ZWxsb3c7CisgICAgfQorICAgIC8qIENvbXBvc2l0ZSBvcGVyYXRvcnMgKi8KKyAgICAu
Y2xlYXIgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2Vz
L3Bhc3MtdGV4LWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL2NvbXBvc2l0ZS5mcycp
IG5vcm1hbCBjbGVhcikpOworICAgIH0KKyAgICAuY29weSB7CisgICAgICAgIC13ZWJraXQtZmls
dGVyOiBjdXN0b20odXJsKCcuLi9yZXNvdXJjZXMvcGFzcy10ZXgtY29vcmQudnMnKSBtaXgodXJs
KCcuLi9yZXNvdXJjZXMvY29tcG9zaXRlLmZzJykgbm9ybWFsIGNvcHkpKTsKKyAgICB9CisgICAg
LnNvdXJjZS1vdmVyIHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jl
c291cmNlcy9wYXNzLXRleC1jb29yZC52cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9jb21wb3Np
dGUuZnMnKSBub3JtYWwgc291cmNlLW92ZXIpKTsKKyAgICB9CisgICAgLmRlc3RpbmF0aW9uLW92
ZXIgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL3Bh
c3MtdGV4LWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL2NvbXBvc2l0ZS5mcycpIG5v
cm1hbCBkZXN0aW5hdGlvbi1vdmVyKSk7CisgICAgfQorICAgIC5zb3VyY2UtaW4geworICAgICAg
ICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL3Bhc3MtdGV4LWNvb3Jk
LnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL2NvbXBvc2l0ZS5mcycpIG5vcm1hbCBzb3VyY2Ut
aW4pKTsKKyAgICB9CisgICAgLmRlc3RpbmF0aW9uLWluIHsKKyAgICAgICAgLXdlYmtpdC1maWx0
ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9wYXNzLXRleC1jb29yZC52cycpIG1peCh1cmwo
Jy4uL3Jlc291cmNlcy9jb21wb3NpdGUuZnMnKSBub3JtYWwgZGVzdGluYXRpb24taW4pKTsKKyAg
ICB9CisgICAgLnNvdXJjZS1vdXQgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVy
bCgnLi4vcmVzb3VyY2VzL3Bhc3MtdGV4LWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2Vz
L2NvbXBvc2l0ZS5mcycpIG5vcm1hbCBzb3VyY2Utb3V0KSk7CisgICAgfQorICAgIC5kZXN0aW5h
dGlvbi1vdXQgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3Vy
Y2VzL3Bhc3MtdGV4LWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL2NvbXBvc2l0ZS5m
cycpIG5vcm1hbCBkZXN0aW5hdGlvbi1vdXQpKTsKKyAgICB9CisgICAgLnNvdXJjZS1hdG9wIHsK
KyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9wYXNzLXRl
eC1jb29yZC52cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9jb21wb3NpdGUuZnMnKSBub3JtYWwg
c291cmNlLWF0b3ApKTsKKyAgICB9CisgICAgLmRlc3RpbmF0aW9uLWF0b3AgeworICAgICAgICAt
d2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL3Bhc3MtdGV4LWNvb3JkLnZz
JykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL2NvbXBvc2l0ZS5mcycpIG5vcm1hbCBkZXN0aW5hdGlv
bi1hdG9wKSk7CisgICAgfQorICAgIC54b3IgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3Vz
dG9tKHVybCgnLi4vcmVzb3VyY2VzL3Bhc3MtdGV4LWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVz
b3VyY2VzL2NvbXBvc2l0ZS5mcycpIG5vcm1hbCB4b3IpKTsKKyAgICB9CisgICAgPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9ImJvcmRlci1jb250YWluZXIiPgorICAgICAg
ICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBjbGVhciI+CisgICAgICAgICAgICA8ZGl2IGlkPSJk
ZXN0aW5hdGlvbi1vcGFxdWUtY2hpbGQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rp
dj4KKyAgICA8ZGl2IGlkPSJib3JkZXItY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcz0i
ZGVzdGluYXRpb24gY29weSI+CisgICAgICAgICAgICA8ZGl2IGlkPSJkZXN0aW5hdGlvbi1vcGFx
dWUtY2hpbGQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlk
PSJib3JkZXItY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24gc291
cmNlLW92ZXIiPgorICAgICAgICAgICAgPGRpdiBpZD0iZGVzdGluYXRpb24tb3BhcXVlLWNoaWxk
Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iYm9yZGVy
LWNvbnRhaW5lciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uIGRlc3RpbmF0aW9u
LW92ZXIiPgorICAgICAgICAgICAgPGRpdiBpZD0iZGVzdGluYXRpb24tb3BhcXVlLWNoaWxkIj48
L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iYm9yZGVyLWNv
bnRhaW5lciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uIHNvdXJjZS1pbiI+Cisg
ICAgICAgICAgICA8ZGl2IGlkPSJkZXN0aW5hdGlvbi1vcGFxdWUtY2hpbGQiPjwvZGl2PgorICAg
ICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJib3JkZXItY29udGFpbmVyIj4K
KyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24gZGVzdGluYXRpb24taW4iPgorICAgICAg
ICAgICAgPGRpdiBpZD0iZGVzdGluYXRpb24tb3BhcXVlLWNoaWxkIj48L2Rpdj4KKyAgICAgICAg
PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iYm9yZGVyLWNvbnRhaW5lciI+CisgICAg
ICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uIHNvdXJjZS1vdXQiPgorICAgICAgICAgICAgPGRp
diBpZD0iZGVzdGluYXRpb24tb3BhcXVlLWNoaWxkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+Cisg
ICAgPC9kaXY+CisgICAgPGRpdiBpZD0iYm9yZGVyLWNvbnRhaW5lciI+CisgICAgICAgIDxkaXYg
Y2xhc3M9ImRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uLW91dCI+CisgICAgICAgICAgICA8ZGl2IGlk
PSJkZXN0aW5hdGlvbi1vcGFxdWUtY2hpbGQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8
L2Rpdj4KKyAgICA8ZGl2IGlkPSJib3JkZXItY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFz
cz0iZGVzdGluYXRpb24gc291cmNlLWF0b3AiPgorICAgICAgICAgICAgPGRpdiBpZD0iZGVzdGlu
YXRpb24tb3BhcXVlLWNoaWxkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cisg
ICAgPGRpdiBpZD0iYm9yZGVyLWNvbnRhaW5lciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3Rp
bmF0aW9uIGRlc3RpbmF0aW9uLWF0b3AiPgorICAgICAgICAgICAgPGRpdiBpZD0iZGVzdGluYXRp
b24tb3BhcXVlLWNoaWxkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAg
PGRpdiBpZD0iYm9yZGVyLWNvbnRhaW5lciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0
aW9uIHhvciI+CisgICAgICAgICAgICA8ZGl2IGlkPSJkZXN0aW5hdGlvbi1vcGFxdWUtY2hpbGQi
PjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8IS0tCisgICAgICAgIElm
IHlvdSBhZGQgbW9yZSBjb21wb3NpdGUgb3BlcmF0b3JzIHRvIHRoaXMgcGFnZSwgYmUgY2FyZWZ1
bCBub3QgdG8gZXhjZWVkIDYwMHB4IGluCisgICAgICAgIGhlaWdodCwgc2luY2UgRHVtcFJlbmRl
clRyZWUgY29tcGFyZXMgODAweDYwMCBzbmFwc2hvdHMgb2YgdGhpcyBwYWdlLgorICAgIC0tPgor
PC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169042</attachid>
            <date>2012-10-16 15:38:00 -0700</date>
            <delta_ts>2012-10-23 14:31:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97859-20121017073645.patch</filename>
            <type>text/plain</type>
            <size>14609</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMjc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDk0ZDAwOGEwMTBmMDhm
OTVhZTg5ZTc0MmM4NjNhMTBjOTQyNTJkOS4uNWMzMjE2ZjM5YTA5YzBmODgzOGU3NWQyOTFmNjQ3
NDE5NjcyMzFhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTEwLTE2ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFtDU1MgU2hh
ZGVyc10gSW1wbGVtZW50IGFsbCBjb21wb3NpdGUgb3BlcmF0b3JzIGV4Y2VwdCBkZXN0aW5hdGlv
biBhbmQgbGlnaHRlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk3ODU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGV4cHJlc3Npb25zIGZvciBhbGwgY29tcG9zaXRlIG9wZXJhdG9ycyBleGNlcHQg
ZGVzdGluYXRpb24gYW5kCisgICAgICAgIGxpZ2h0ZXIuIFRoZSBleHByZXNzaW9ucyBhcmUgbGlm
dGVkIGRpcmVjdGx5IGZyb20gdGhlIENTUyBDb21wb3NpdGluZworICAgICAgICBhbmQgQmxlbmRp
bmcgc3BlYyBbMV0uIFdlYktpdCBhZGRzIHRoZXNlIGNvbXBvc2l0aW5nIGV4cHJlc3Npb25zIHRv
IHRoZQorICAgICAgICBhdXRob3IncyBzaGFkZXIuCisKKyAgICAgICAgWzFdOiBodHRwczovL2R2
Y3MudzMub3JnL2hnL0ZYVEYvcmF3ZmlsZS90aXAvY29tcG9zaXRpbmcvaW5kZXguaHRtbCNhZHZh
bmNlZGNvbXBvc2l0aW5nCisKKyAgICAgICAgVGVzdDogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0
b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJDb21waWxlZFByb2dyYW0uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtOjppbml0aWFsaXplUGFyYW1l
dGVyTG9jYXRpb25zKToKKyAgICAgICAgICAgIFJlbW92ZSBBU1NFUlRJT04gY2hlY2tpbmcgaWYg
Z2xHZXRVbmlmb3JtTG9jYXRpb24gcmV0dXJucyBuZWdhdGl2ZSwKKyAgICAgICAgICAgIGJlY2F1
c2UgQVNTRVJUSU9OIGNhbiBmYWlsIHdpdGggY2xlYXIgYW5kIGNvcHkgY29tcG9zaXRlIG9wZXJh
dGlvbnMuCisgICAgICAgICAgICBDbGVhciBhbmQgY29weSBjb21wb3NpdGUgb3BlcmF0aW9ucyBk
byBub3QgbmVlZCAiY3NzX3VfdGV4dHVyZSIKKyAgICAgICAgICAgIHJlcHJlc2VudGluZyB0aGUg
RE9NIGVsZW1lbnQgdGV4dHVyZS4gSWYgdGhlIGRyaXZlciBjb21waWxlciBpcworICAgICAgICAg
ICAgc21hcnQsICJjc3NfdV90ZXh0dXJlIiBpcyBub3QgcmVnYXJkZWQgYXMgYW4gYWN0aXZlIHVu
aWZvcm0sIHNvCisgICAgICAgICAgICBnbEdldHVuaWZvcm1Mb2NhdGlvbiByZXR1cm5zIC0xLiBn
bEdldEF0dHJpYkxvY2F0aW9uIGRpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtOjpjb21waWxlZFByb2dyYW0pOgorICAgICAg
ICAgICAgTW92ZSB0aGUgYWJvdmUgQVNTRVJUSU9OIGluIEN1c3RvbUZpbHRlckNvbXBpbGVkUHJv
Z3JhbSB0byBoZXJlLgorICAgICAgICAgICAgQVNTRVJUSU9OIGNoZWNrcyBpZiBtX3NhbXBsZXJM
b2NhdGlvbiBpcyBub3QgLTEgd2hlbiB0aGUgYXV0aG9yCisgICAgICAgICAgICBzaGFkZXIgbmVl
ZHMgYW4gaW5wdXQgdGV4dHVyZS4KKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlclZhbGlk
YXRlZFByb2dyYW06Om5lZWRzSW5wdXRUZXh0dXJlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbTo6Y29tcG9zaXRlRnVu
Y3Rpb25TdHJpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9t
RmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5oOgorICAgICAgICAoQ3VzdG9tRmlsdGVyVmFsaWRhdGVk
UHJvZ3JhbSk6CisKIDIwMTItMTAtMTQgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBNYWtlIFVzZXJTY3JpcHQgYW5kIFVzZXJTdHlsZVNoZWV0IHZhbHVlIG9iamVjdHMg
dGhhdCBhcmUgY29weWFibGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9n
cmFtLmNwcAppbmRleCA3ZTI4NGJiODM5OTkwZDAzYWY0ZjVjODQ4YWZhYWYzY2RiNzc4N2MzLi4w
YWFhYjk2MmM5OTVkZjNjYWE2ZjhjNzQ1ODIzZjE5MWRlZGQxZjlmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckNvbXBpbGVk
UHJvZ3JhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9DdXN0b21GaWx0ZXJDb21waWxlZFByb2dyYW0uY3BwCkBAIC0xMzQsMTAgKzEzNCw2IEBAIHZv
aWQgQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtOjppbml0aWFsaXplUGFyYW1ldGVyTG9jYXRp
b25zKEN1c3RvbUZpbHRlclByb2dyCiAgICAgICAgIC8vIE9uZSBvZiB0aGVtLCBjc3NfdV90ZXh0
dXJlLCByZWZlcmVuY2VzIHRoZSB0ZXh0dXJlIG9mIHRoZSBlbGVtZW50LgogICAgICAgICBtX3Nh
bXBsZXJMb2NhdGlvbiA9IG1fY29udGV4dC0+Z2V0VW5pZm9ybUxvY2F0aW9uKG1fcHJvZ3JhbSwg
ImNzc191X3RleHR1cmUiKTsKICAgICAgICAgbV9pbnRlcm5hbFRleENvb3JkQXR0cmliTG9jYXRp
b24gPSBtX2NvbnRleHQtPmdldEF0dHJpYkxvY2F0aW9uKG1fcHJvZ3JhbSwgImNzc19hX3RleENv
b3JkIik7Ci0KLSAgICAgICAgLy8gVGhlc2UgaW50ZXJuYWwgc3ltYm9scyBzaG91bGQgaGF2ZSBi
ZWVuIGFkZGVkIHRvIHRoZSB2YWxpZGF0ZWQgc2hhZGVycy4KLSAgICAgICAgQVNTRVJUKG1fc2Ft
cGxlckxvY2F0aW9uICE9IC0xKTsKLSAgICAgICAgQVNTRVJUKG1faW50ZXJuYWxUZXhDb29yZEF0
dHJpYkxvY2F0aW9uICE9IC0xKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3Jh
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZp
bHRlclZhbGlkYXRlZFByb2dyYW0uY3BwCmluZGV4IDlkYTViNWExNTM5ZjE1MzQ1YTBjMjIxNmM1
MjNiMmU0YTA1M2QyMmEuLmJkNmFhNzAxNzgyZDEwNmY2OGYyM2NiYzU5NDM0MGJhNDNiY2IwYzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3Vz
dG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtLmNwcApAQCAt
MTE4LDExICsxMTgsMjAgQEAgQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbTo6Q3VzdG9tRmls
dGVyVmFsaWRhdGVkUHJvZ3JhbShDdXN0b21GaWx0ZXJHbG9iYWxDb24KIFBhc3NSZWZQdHI8Q3Vz
dG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtPiBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtOjpj
b21waWxlZFByb2dyYW0oKQogewogICAgIEFTU0VSVChtX2lzSW5pdGlhbGl6ZWQgJiYgbV9nbG9i
YWxDb250ZXh0ICYmICFtX3ZhbGlkYXRlZFZlcnRleFNoYWRlci5pc051bGwoKSAmJiAhbV92YWxp
ZGF0ZWRGcmFnbWVudFNoYWRlci5pc051bGwoKSk7Ci0gICAgaWYgKCFtX2NvbXBpbGVkUHJvZ3Jh
bSkKKyAgICBpZiAoIW1fY29tcGlsZWRQcm9ncmFtKSB7CiAgICAgICAgIG1fY29tcGlsZWRQcm9n
cmFtID0gQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtOjpjcmVhdGUobV9nbG9iYWxDb250ZXh0
LT5jb250ZXh0KCksIG1fdmFsaWRhdGVkVmVydGV4U2hhZGVyLCBtX3ZhbGlkYXRlZEZyYWdtZW50
U2hhZGVyLCBtX3Byb2dyYW1JbmZvLnByb2dyYW1UeXBlKCkpOworICAgICAgICBBU1NFUlQobV9j
b21waWxlZFByb2dyYW0tPnNhbXBsZXJMb2NhdGlvbigpICE9IC0xIHx8ICFuZWVkc0lucHV0VGV4
dHVyZSgpKTsKKyAgICB9CiAgICAgcmV0dXJuIG1fY29tcGlsZWRQcm9ncmFtOwogfQogCitib29s
IEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW06Om5lZWRzSW5wdXRUZXh0dXJlKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbV9wcm9ncmFtSW5mby5wcm9ncmFtVHlwZSgpID09IFBST0dSQU1fVFlQ
RV9CTEVORFNfRUxFTUVOVF9URVhUVVJFCisgICAgICAgICYmIG1fcHJvZ3JhbUluZm8ubWl4U2V0
dGluZ3MoKS5jb21wb3NpdGVPcGVyYXRvciAhPSBDb21wb3NpdGVDbGVhcgorICAgICAgICAmJiBt
X3Byb2dyYW1JbmZvLm1peFNldHRpbmdzKCkuY29tcG9zaXRlT3BlcmF0b3IgIT0gQ29tcG9zaXRl
Q29weTsKK30KKwogdm9pZCBDdXN0b21GaWx0ZXJWYWxpZGF0ZWRQcm9ncmFtOjpyZXdyaXRlTWl4
VmVydGV4U2hhZGVyKCkKIHsKICAgICBBU1NFUlQobV9wcm9ncmFtSW5mby5taXhTZXR0aW5ncygp
LmVuYWJsZWQpOwpAQCAtMjQ1LDE1ICsyNTQsNDUgQEAgU3RyaW5nIEN1c3RvbUZpbHRlclZhbGlk
YXRlZFByb2dyYW06OmNvbXBvc2l0ZUZ1bmN0aW9uU3RyaW5nKENvbXBvc2l0ZU9wZXJhdG9yIGMK
ICAgICAgICAgRmIgPSAiMS4wIC0gYXMiOwogICAgICAgICBicmVhazsKICAgICBjYXNlIENvbXBv
c2l0ZUNsZWFyOgorICAgICAgICBGYSA9ICIwLjAiOworICAgICAgICBGYiA9ICIwLjAiOworICAg
ICAgICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZUNvcHk6CisgICAgICAgIEZhID0gIjEuMCI7
CisgICAgICAgIEZiID0gIjAuMCI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29tcG9zaXRl
U291cmNlT3ZlcjoKKyAgICAgICAgRmEgPSAiMS4wIjsKKyAgICAgICAgRmIgPSAiMS4wIC0gYXMi
OworICAgICAgICBicmVhazsKICAgICBjYXNlIENvbXBvc2l0ZVNvdXJjZUluOgorICAgICAgICBG
YSA9ICJhYiI7CisgICAgICAgIEZiID0gIjAuMCI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
Q29tcG9zaXRlU291cmNlT3V0OgorICAgICAgICBGYSA9ICIxLjAgLSBhYiI7CisgICAgICAgIEZi
ID0gIjAuMCI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29tcG9zaXRlRGVzdGluYXRpb25P
dmVyOgorICAgICAgICBGYSA9ICIxLjAgLSBhYiI7CisgICAgICAgIEZiID0gIjEuMCI7CisgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgQ29tcG9zaXRlRGVzdGluYXRpb25JbjoKKyAgICAgICAgRmEg
PSAiMC4wIjsKKyAgICAgICAgRmIgPSAiYXMiOworICAgICAgICBicmVhazsKICAgICBjYXNlIENv
bXBvc2l0ZURlc3RpbmF0aW9uT3V0OgorICAgICAgICBGYSA9ICIwLjAiOworICAgICAgICBGYiA9
ICIxLjAgLSBhcyI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29tcG9zaXRlRGVzdGluYXRp
b25BdG9wOgorICAgICAgICBGYSA9ICIxLjAgLSBhYiI7CisgICAgICAgIEZiID0gImFzIjsKKyAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb21wb3NpdGVYT1I6CisgICAgICAgIEZhID0gIjEuMCAt
IGFiIjsKKyAgICAgICAgRmIgPSAiMS4wIC0gYXMiOworICAgICAgICBicmVhazsKICAgICBjYXNl
IENvbXBvc2l0ZVBsdXNMaWdodGVyOgogICAgICAgICBub3RJbXBsZW1lbnRlZCgpOwogICAgICAg
ICByZXR1cm4gU3RyaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJv
Z3JhbS5oCmluZGV4IDYxMDg4NGQ2ZTBmMjlhYTJjNzQ4MzQzZmI1ZDkzMjQxNGYzYmY3YTQuLjMy
MmM2MzAzNTM5YWVjNzgwY2VhMmJhM2FhMTc4MzYyODJkMTNkZDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyVmFsaWRhdGVk
UHJvZ3JhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbS5oCkBAIC0xMDMsNiArMTAzLDggQEAgcHJpdmF0
ZToKICAgICB2b2lkIHJld3JpdGVNaXhWZXJ0ZXhTaGFkZXIoKTsKICAgICB2b2lkIHJld3JpdGVN
aXhGcmFnbWVudFNoYWRlcigpOwogCisgICAgYm9vbCBuZWVkc0lucHV0VGV4dHVyZSgpIGNvbnN0
OworCiAgICAgQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dCogbV9nbG9iYWxDb250ZXh0OwogICAg
IEN1c3RvbUZpbHRlclByb2dyYW1JbmZvIG1fcHJvZ3JhbUluZm87CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkN2JkMjU2
NzBmYzJiMjNlN2JjZmQzNGQ0OWU3Nzg2NTMwNWYyYjhkLi42NWI5ODdiNzM3MjZlZmY1ZmZkNjBj
NWM1Y2RiZGNkYjQ2NjQxZTg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTAtMTYgIEh1
YW5nIERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgW0NTUyBT
aGFkZXJzXSBJbXBsZW1lbnQgYWxsIGNvbXBvc2l0ZSBvcGVyYXRvcnMgZXhjZXB0IGRlc3RpbmF0
aW9uIGFuZCBsaWdodGVyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTc4NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgdGVzdCB0byBjaGVjayB0aGF0IHRoZSBET00gZWxlbWVudCB0ZXh0dXJlIGNv
bXBvc2l0ZXMgY29ycmVjdGx5IHdpdGggdGhlIGNzc19NaXhDb2xvcgorICAgICAgICB2YXJpYWJs
ZSBmcm9tIHRoZSBhdXRob3IncyBzaGFkZXIgZm9yIGVhY2ggY29tcG9zaXRlIG9wZXJhdG9yLgor
CisgICAgICAgICogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNvbXBvc2l0ZS1v
cGVyYXRvcnMtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY3Vz
dG9tL2N1c3RvbS1maWx0ZXItY29tcG9zaXRlLW9wZXJhdG9ycy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGNzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUt
b3BlcmF0b3JzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTEwLTEyICBBZGFtIEJhcnRoICA8YWJhcnRo
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBnYXJkZW5pbmcuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY29tcG9zaXRl
LW9wZXJhdG9ycy1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9t
L2N1c3RvbS1maWx0ZXItY29tcG9zaXRlLW9wZXJhdG9ycy1leHBlY3RlZC5wbmcKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTVhMzc2MTExMTgxYzZhNDc3YzQ0YzVkMjcwZGJlYTcxN2U4ZTQ4ZApHSVQgYmluYXJ5IHBh
dGNoCmxpdGVyYWwgMzE4MQp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlop
PWheaGxBJUBXcyRsSGBvazxtfT9vVG41OHIKenFvaD1XdkB7Yz1sdkh5ZzNsbnBMUkFiWW02ZUJZ
T15BeGpXXlc+a340PXc+fVZvVU9OY1ZZTXNmKCFPOHBVbDkoCnp7bnBkUEZ7RVA3K2RHYlp3KyUj
QzVCX1FSelRjPzAkLXdOQWE8dFJjWD4zUFJBTStZKXt7RH1aIVF1SiQ8PzsqKwp6QTU1Nkk4NUdu
dUZmYiV4R0c2RGk4eTcjZEtLRXl7OT5XOC1lXkw/cV9vLSM/KUI0SzVAYkJiJjRufU5SRmJ4XmgK
ekJIUUBWamYtenVHY2Q+PFplbkUrdS0xKkpldC1JMlZTKSFVIUBIdig1I2IwMTJFI15qNyNsLWxP
QGk7VEZjanBBCno9YGJ8UklLYWZ2ITh1VGo4Ji00OW89SlZyeiktPSVFeW0jUlc9cTFgenMyYCFB
Nz9wQkYlOy1pPSlTZUQ3UmApfQp6V28wUEhycXJPdkZaYUM9V25rYj5JIUlBcShibCo5SEtvcyM9
ZCZ7R1hreHtrYkJJYXd1UGIpTkA2VUs8QUo0P18Kekw0ZVlySkFDc0AlcmAhVWhUfEkmNyNXV0Vh
YkxVbGRzRGZMIzNoRD8+V3ZAfjdHU2pka2oyT2U2K2dTQDxLdy1uCnomb2VSOSRieW0mZEZGdDFn
X1R+c2NoIzRIO2Q+Z0Bxajt9PV8zPWhVVVdPZ3dsKUFDfT5ZbVMhQDc5VmxKbEd3OQp6eTxqOUpk
Tz5Rbz9PSSh7RjNOREFIPENoZ1hqbntyb3cpdjcmNkNYeDRCX0NVTHM+IXpGPXU0QkduPitrUUQ5
fn4KemVKP1leMTRBOFA+QVVmQSk3SjBqWXJwcmQ9Rk1he3V5P1M7Tlo8MGBpXjNUZ1kmcihCWElG
S25lUzIreEZhTTdpCnohLUYoWFYzSnByZnB0WTZ6eD8tPz4ranpDT2JqK05zcWc4MVopRGxxT2Mp
LS1RUj5YUXBgVlpXcjxkUG5XJSF7LQp6WHtrIUpuaG1wZncqUCtEZTRXYDZNdXpXeyleQE1mLUNG
O0BXWjc+V2g2Qj9uRSRlMGR6clBrZ2B7JWhndXRqdTsKeiF1Qyg4I3E2MTw/PWRvYmtOYEZ+emVv
ZDNKVVRvWWpXfUElIzh3S18oKkJLSW96WD9QKFJ4WTx1cShqZT5GVmRRCkkmTUJiQDBHJlZ8Mj48
ezkKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUtb3BlcmF0b3JzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21w
b3NpdGUtb3BlcmF0b3JzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjEzNzg5MTc5MWZlOTY5
MjdhZDc4ZTY0YjBhYWQ3YmRlZDA4YmRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9m
aWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWNvbXBvc2l0ZS1vcGVyYXRvcnMuaHRtbCBiL0xh
eW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUtb3Bl
cmF0b3JzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRjZDgzMzk0MmVhZDlkMDA5MWRkNDNiODEyMGRhODI4
OGYxMGIwNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0
b20vY3VzdG9tLWZpbHRlci1jb21wb3NpdGUtb3BlcmF0b3JzLmh0bWwKQEAgLTAsMCArMSwxMzIg
QEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+VGVzdHMgdGhh
dCBjdXN0b20gZmlsdGVyIGNvbXBvc2l0ZSBvcGVyYXRvcnMgY29tcHV0ZSBjb2xvciB2YWx1ZXMg
Y29ycmVjdGx5LjwvdGl0bGU+CisgICAgPCEtLQorICAgICAgICBUaGlzIHRlc3QgbWltaWNzIHRo
ZSBQb3J0ZXIgRHVmZiBDb21wb3NpdGluZyBPcGVyYXRvcnMgZXhhbXBsZSBpbWFnZSBpbiB0aGUg
Q29tcG9zaXRpbmcgYW5kIEJsZW5kaW5nIHNwZWM6CisgICAgICAgIGh0dHBzOi8vZHZjcy53My5v
cmcvaGcvRlhURi9yYXdmaWxlL3RpcC9jb21wb3NpdGluZy9pbmRleC5odG1sI3BvcnRlcmR1ZmZj
b21wb3NpdGluZ29wZXJhdG9yc19zcmNhdG9wCisgICAgLS0+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5l
ci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdENTU0N1c3RvbUZpbHRlckVuYWJsZWQiLCAiMSIp
OworICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJL
aXRXZWJHTEVuYWJsZWQiLCAiMSIpOworICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIuZHVt
cEFzVGV4dCh0cnVlKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDxzdHlsZT4KKyAg
ICAvKiBEcmF3cyBhIGJsYWNrIGJvcmRlciBhcm91bmQgdGhlIHNoYWRlZCBkZXN0aW5hdGlvbiBk
aXYuICovCisgICAgI2JvcmRlci1jb250YWluZXIgeworICAgICAgICB3aWR0aDogNDVweDsKKyAg
ICAgICAgaGVpZ2h0OiA0NXB4OworICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAg
ICB9CisgICAgLyogVGhlIHNoYWRlZCBkaXYuICovCisgICAgLmRlc3RpbmF0aW9uIHsKKyAgICAg
ICAgd2lkdGg6IDEwMCU7CisgICAgICAgIGhlaWdodDogMTAwJTsKKyAgICB9CisgICAgLyogRHJh
d3MgYSB5ZWxsb3cgc3F1YXJlIGluIHRoZSB1cHBlciBsZWZ0IGNvcm5lciBvZiB0aGUgZGVzdGlu
YXRpb24gZGl2LiAqLworICAgIC8qIFRoZSByZXN0IG9mIHRoZSBkZXN0aW5hdGlvbiBkaXYgaXMg
dHJhbnNwYXJlbnQuICovCisgICAgI2Rlc3RpbmF0aW9uLW9wYXF1ZS1jaGlsZCB7CisgICAgICAg
IHdpZHRoOiA2NyU7CisgICAgICAgIGhlaWdodDogNjclOworICAgICAgICBiYWNrZ3JvdW5kLWNv
bG9yOiB5ZWxsb3c7CisgICAgfQorICAgIC8qIENvbXBvc2l0ZSBvcGVyYXRvcnMgKi8KKyAgICAu
Y2xlYXIgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2Vz
L3Bhc3MtdGV4LWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL2NvbXBvc2l0ZS5mcycp
IG5vcm1hbCBjbGVhcikpOworICAgIH0KKyAgICAuY29weSB7CisgICAgICAgIC13ZWJraXQtZmls
dGVyOiBjdXN0b20odXJsKCcuLi9yZXNvdXJjZXMvcGFzcy10ZXgtY29vcmQudnMnKSBtaXgodXJs
KCcuLi9yZXNvdXJjZXMvY29tcG9zaXRlLmZzJykgbm9ybWFsIGNvcHkpKTsKKyAgICB9CisgICAg
LnNvdXJjZS1vdmVyIHsKKyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jl
c291cmNlcy9wYXNzLXRleC1jb29yZC52cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9jb21wb3Np
dGUuZnMnKSBub3JtYWwgc291cmNlLW92ZXIpKTsKKyAgICB9CisgICAgLmRlc3RpbmF0aW9uLW92
ZXIgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL3Bh
c3MtdGV4LWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL2NvbXBvc2l0ZS5mcycpIG5v
cm1hbCBkZXN0aW5hdGlvbi1vdmVyKSk7CisgICAgfQorICAgIC5zb3VyY2UtaW4geworICAgICAg
ICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL3Bhc3MtdGV4LWNvb3Jk
LnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL2NvbXBvc2l0ZS5mcycpIG5vcm1hbCBzb3VyY2Ut
aW4pKTsKKyAgICB9CisgICAgLmRlc3RpbmF0aW9uLWluIHsKKyAgICAgICAgLXdlYmtpdC1maWx0
ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9wYXNzLXRleC1jb29yZC52cycpIG1peCh1cmwo
Jy4uL3Jlc291cmNlcy9jb21wb3NpdGUuZnMnKSBub3JtYWwgZGVzdGluYXRpb24taW4pKTsKKyAg
ICB9CisgICAgLnNvdXJjZS1vdXQgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVy
bCgnLi4vcmVzb3VyY2VzL3Bhc3MtdGV4LWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2Vz
L2NvbXBvc2l0ZS5mcycpIG5vcm1hbCBzb3VyY2Utb3V0KSk7CisgICAgfQorICAgIC5kZXN0aW5h
dGlvbi1vdXQgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3Vy
Y2VzL3Bhc3MtdGV4LWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL2NvbXBvc2l0ZS5m
cycpIG5vcm1hbCBkZXN0aW5hdGlvbi1vdXQpKTsKKyAgICB9CisgICAgLnNvdXJjZS1hdG9wIHsK
KyAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbSh1cmwoJy4uL3Jlc291cmNlcy9wYXNzLXRl
eC1jb29yZC52cycpIG1peCh1cmwoJy4uL3Jlc291cmNlcy9jb21wb3NpdGUuZnMnKSBub3JtYWwg
c291cmNlLWF0b3ApKTsKKyAgICB9CisgICAgLmRlc3RpbmF0aW9uLWF0b3AgeworICAgICAgICAt
d2Via2l0LWZpbHRlcjogY3VzdG9tKHVybCgnLi4vcmVzb3VyY2VzL3Bhc3MtdGV4LWNvb3JkLnZz
JykgbWl4KHVybCgnLi4vcmVzb3VyY2VzL2NvbXBvc2l0ZS5mcycpIG5vcm1hbCBkZXN0aW5hdGlv
bi1hdG9wKSk7CisgICAgfQorICAgIC54b3IgeworICAgICAgICAtd2Via2l0LWZpbHRlcjogY3Vz
dG9tKHVybCgnLi4vcmVzb3VyY2VzL3Bhc3MtdGV4LWNvb3JkLnZzJykgbWl4KHVybCgnLi4vcmVz
b3VyY2VzL2NvbXBvc2l0ZS5mcycpIG5vcm1hbCB4b3IpKTsKKyAgICB9CisgICAgPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9ImJvcmRlci1jb250YWluZXIiPgorICAgICAg
ICA8ZGl2IGNsYXNzPSJkZXN0aW5hdGlvbiBjbGVhciI+CisgICAgICAgICAgICA8ZGl2IGlkPSJk
ZXN0aW5hdGlvbi1vcGFxdWUtY2hpbGQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rp
dj4KKyAgICA8ZGl2IGlkPSJib3JkZXItY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcz0i
ZGVzdGluYXRpb24gY29weSI+CisgICAgICAgICAgICA8ZGl2IGlkPSJkZXN0aW5hdGlvbi1vcGFx
dWUtY2hpbGQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlk
PSJib3JkZXItY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24gc291
cmNlLW92ZXIiPgorICAgICAgICAgICAgPGRpdiBpZD0iZGVzdGluYXRpb24tb3BhcXVlLWNoaWxk
Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iYm9yZGVy
LWNvbnRhaW5lciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uIGRlc3RpbmF0aW9u
LW92ZXIiPgorICAgICAgICAgICAgPGRpdiBpZD0iZGVzdGluYXRpb24tb3BhcXVlLWNoaWxkIj48
L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iYm9yZGVyLWNv
bnRhaW5lciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uIHNvdXJjZS1pbiI+Cisg
ICAgICAgICAgICA8ZGl2IGlkPSJkZXN0aW5hdGlvbi1vcGFxdWUtY2hpbGQiPjwvZGl2PgorICAg
ICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJib3JkZXItY29udGFpbmVyIj4K
KyAgICAgICAgPGRpdiBjbGFzcz0iZGVzdGluYXRpb24gZGVzdGluYXRpb24taW4iPgorICAgICAg
ICAgICAgPGRpdiBpZD0iZGVzdGluYXRpb24tb3BhcXVlLWNoaWxkIj48L2Rpdj4KKyAgICAgICAg
PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iYm9yZGVyLWNvbnRhaW5lciI+CisgICAg
ICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0aW9uIHNvdXJjZS1vdXQiPgorICAgICAgICAgICAgPGRp
diBpZD0iZGVzdGluYXRpb24tb3BhcXVlLWNoaWxkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+Cisg
ICAgPC9kaXY+CisgICAgPGRpdiBpZD0iYm9yZGVyLWNvbnRhaW5lciI+CisgICAgICAgIDxkaXYg
Y2xhc3M9ImRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uLW91dCI+CisgICAgICAgICAgICA8ZGl2IGlk
PSJkZXN0aW5hdGlvbi1vcGFxdWUtY2hpbGQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8
L2Rpdj4KKyAgICA8ZGl2IGlkPSJib3JkZXItY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFz
cz0iZGVzdGluYXRpb24gc291cmNlLWF0b3AiPgorICAgICAgICAgICAgPGRpdiBpZD0iZGVzdGlu
YXRpb24tb3BhcXVlLWNoaWxkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cisg
ICAgPGRpdiBpZD0iYm9yZGVyLWNvbnRhaW5lciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3Rp
bmF0aW9uIGRlc3RpbmF0aW9uLWF0b3AiPgorICAgICAgICAgICAgPGRpdiBpZD0iZGVzdGluYXRp
b24tb3BhcXVlLWNoaWxkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAg
PGRpdiBpZD0iYm9yZGVyLWNvbnRhaW5lciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImRlc3RpbmF0
aW9uIHhvciI+CisgICAgICAgICAgICA8ZGl2IGlkPSJkZXN0aW5hdGlvbi1vcGFxdWUtY2hpbGQi
PjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8IS0tCisgICAgICAgIElm
IHlvdSBhZGQgbW9yZSBjb21wb3NpdGUgb3BlcmF0b3JzIHRvIHRoaXMgcGFnZSwgYmUgY2FyZWZ1
bCBub3QgdG8gZXhjZWVkIDYwMHB4IGluCisgICAgICAgIGhlaWdodCwgc2luY2UgRHVtcFJlbmRl
clRyZWUgY29tcGFyZXMgODAweDYwMCBzbmFwc2hvdHMgb2YgdGhpcyBwYWdlLgorICAgIC0tPgor
PC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>