<?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>58453</bug_id>
          
          <creation_ts>2011-04-13 10:28:45 -0700</creation_ts>
          <short_desc>Absolute positioned elements in a relative positioned CSS3 Flexbox fail to display properly</short_desc>
          <delta_ts>2012-05-31 12:03:13 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.6</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>62048</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Cooper">matt11ag-webkitbugs</reporter>
          <assigned_to name="Ojan Vafai">ojan</assigned_to>
          <cc>aestes</cc>
    
    <cc>ericbidelman</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>loic</cc>
    
    <cc>ojan</cc>
    
    <cc>shanestephens</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>wiredearp</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>384986</commentid>
    <comment_count>0</comment_count>
      <attachid>89399</attachid>
    <who name="Matt Cooper">matt11ag-webkitbugs</who>
    <bug_when>2011-04-13 10:28:45 -0700</bug_when>
    <thetext>Created attachment 89399
Test case for absolute-positioned element inside of a flexbox

Overview: If you have a CSS3 Flexbox layout the boxes display as expected (or at least mostly as expected).  However, if a box has an element inside of it that uses absolute-positioning so that its boundaries are dependent on the relative box boundaries, the absolute-positioned child element fails to display properly; its bottom edge style is ignored.

Steps to Reproduce: Minimized, easy-to-follow steps that will trigger the bug. Include any special setup steps.

1.) Either:

a.) Open the attached use-cases.html file to see if the yellow &quot;test&quot; absolute-positioned DIV shows up with a 20px offset from the edges of the green flexbox.

or

b.) Create a CSS3 Flexbox layout where one of the boxes uses background-color:green;position:relative and then insert a DIV inside of that box and have it use a background-color:yellow style (so you can see it) and position:absolute;top:20px;right:20px;left:20px;bottom:20px.

2.) Verify that the yellow DIV is inset by 20 pixels from the top, the left, the right, and the bottom of the green DIV.

Expected Results:  The yellow DIV should be inset by 20 pixels from every edge of the green box (compare with Internet Explorer 10 for a visual comparison).

Actual Results: WebKit does inset the yellow DIV by 20 pixels on the top, the left, and the right but fails to inset the bottom by 20 pixels.

Additional Information:  The attached use-cases.html file has many other use case scenarios you can test but all use cases fail in WebKit to handle absolute-positioned children properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474650</commentid>
    <comment_count>1</comment_count>
    <who name="Loic Dachary">loic</who>
    <bug_when>2011-09-28 03:48:16 -0700</bug_when>
    <thetext>I tried the attached example with libwebkit-1.0-1 version 1.4.2 on GNU/Linux and it shows that the bottom border is indeed not at 20px from the green border of the enclosing flexbox. I tried with firefox4 too and the result is the same. I tried with IE10 preview 2 and the bottom of the yellow box is indeed at 20px from the bottom of the enclosing flexbox.

Do you happen to have a link to the corresponding bug report in firefox ? I wonder if and how they solve it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476104</commentid>
    <comment_count>2</comment_count>
    <who name="Matt Cooper">matt11ag-webkitbugs</who>
    <bug_when>2011-09-30 08:38:55 -0700</bug_when>
    <thetext>Here are the bugs I filed with other organizations:

Bug filed with Mozilla:
https://bugzilla.mozilla.org/show_bug.cgi?id=649701

Bug filed with Apple:
http://bugreport.apple.com (Issue #9278885)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628326</commentid>
    <comment_count>3</comment_count>
      <attachid>142841</attachid>
    <who name="Eric">ericbidelman</who>
    <bug_when>2012-05-18 19:35:01 -0700</bug_when>
    <thetext>Created attachment 142841
absolute positioned elements in flexbox container fail to stay abs. positioned.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628327</commentid>
    <comment_count>4</comment_count>
    <who name="Eric">ericbidelman</who>
    <bug_when>2012-05-18 19:35:58 -0700</bug_when>
    <thetext>I attached smaller test case that demonstrates the issue. It&apos;s using :after/:before content
which is absolutely positioned as well as an abs. positioned element inside a flexbox container.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632057</commentid>
    <comment_count>5</comment_count>
      <attachid>143651</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-05-23 14:24:23 -0700</bug_when>
    <thetext>Created attachment 143651
more reduced test-case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634569</commentid>
    <comment_count>6</comment_count>
      <attachid>144189</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-05-25 21:03:27 -0700</bug_when>
    <thetext>Created attachment 144189
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636166</commentid>
    <comment_count>7</comment_count>
      <attachid>144189</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-05-29 10:09:52 -0700</bug_when>
    <thetext>Comment on attachment 144189
Patch

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

You might want to find Hyatt on IRC to give this a quick look.

&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:949
&gt; +void RenderFlexibleBox::prepareChildForPositionedLayoutHandlingRowReverse(RenderBox* child, LayoutUnit mainAxisOffset, LayoutUnit crossAxisOffset)
&gt; +{
&gt; +    LayoutUnit inlinePosition = isColumnFlow() ? crossAxisOffset : mainAxisOffset;
&gt; +    if (style()-&gt;flexDirection() == FlowRowReverse)

Can we just pass an enum to prepareChildForPositionedLayout to flip for row-reverse?  It could default to NoFlipForRowReverse.

&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:995
&gt; +            child-&gt;layoutIfNeeded();

Do you know why this is needed?

&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:1174
&gt; +            // FIXME: Should this check be in adjustAlignmentForChild? It doesn&apos;t seem to affect any testcases.
&gt; +            if (!shouldFlexAlignApplyToChild(child))
&gt; +                continue;

I suspect the static inline and static block position don&apos;t matter when top/right/bottom/left are set. RenderBox::computeInlineStaticDistance bails if logicalLeft or logicalRight are set and the same happens in computeBlockStaticDistance.

&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:1276
&gt; -                child-&gt;repaintDuringLayoutIfMoved(oldRect);
&gt; +            adjustAlignmentForChild(child, newOffset - originalOffset);

This is much better.

&gt; LayoutTests/css3/flexbox/align-absolute-child.html:146
&gt; +    &lt;!-- FIXME: Should positioned flex items stretch to their container? --&gt;

I don&apos;t think they should, but it would be nice to be clear about this in the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636251</commentid>
    <comment_count>8</comment_count>
      <attachid>144189</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-05-29 11:13:05 -0700</bug_when>
    <thetext>Comment on attachment 144189
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:949
&gt;&gt; +    if (style()-&gt;flexDirection() == FlowRowReverse)
&gt; 
&gt; Can we just pass an enum to prepareChildForPositionedLayout to flip for row-reverse?  It could default to NoFlipForRowReverse.

Could. That&apos;s what I did at first and I didn&apos;t like it as much. But I don&apos;t feel strongly. Can change it back if you prefer.

&gt;&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:995
&gt;&gt; +            child-&gt;layoutIfNeeded();
&gt; 
&gt; Do you know why this is needed?

We don&apos;t need it for this block of code, but we need it for the later blocks that need to know the width/height of the child, e.g. in flipForWrapReverse. We could move this call lower in the code, but then we&apos;d need to be calling layoutIfNeeded from multiple places for positioned children.

&gt;&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:1174
&gt;&gt; +                continue;
&gt; 
&gt; I suspect the static inline and static block position don&apos;t matter when top/right/bottom/left are set. RenderBox::computeInlineStaticDistance bails if logicalLeft or logicalRight are set and the same happens in computeBlockStaticDistance.

Hmmm. If that&apos;s right, then we don&apos;t need this if-statement at all. All we need is the changes to adjustAlignmentForChild. Let me try removing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636313</commentid>
    <comment_count>9</comment_count>
      <attachid>144597</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-05-29 12:16:18 -0700</bug_when>
    <thetext>Created attachment 144597
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636314</commentid>
    <comment_count>10</comment_count>
      <attachid>144189</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-05-29 12:17:29 -0700</bug_when>
    <thetext>Comment on attachment 144189
Patch

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

&gt;&gt;&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:995
&gt;&gt;&gt; +            child-&gt;layoutIfNeeded();
&gt;&gt; 
&gt;&gt; Do you know why this is needed?
&gt; 
&gt; We don&apos;t need it for this block of code, but we need it for the later blocks that need to know the width/height of the child, e.g. in flipForWrapReverse. We could move this call lower in the code, but then we&apos;d need to be calling layoutIfNeeded from multiple places for positioned children.

Turns out my understanding of the spec was wrong. We align the zero-width/height placeholder, not the actual positioned element, so we don&apos;t need to ever know it&apos;s width/height.

&gt;&gt;&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:1174
&gt;&gt;&gt; +                continue;
&gt;&gt; 
&gt;&gt; I suspect the static inline and static block position don&apos;t matter when top/right/bottom/left are set. RenderBox::computeInlineStaticDistance bails if logicalLeft or logicalRight are set and the same happens in computeBlockStaticDistance.
&gt; 
&gt; Hmmm. If that&apos;s right, then we don&apos;t need this if-statement at all. All we need is the changes to adjustAlignmentForChild. Let me try removing it.

Yup, this check isn&apos;t needed wit the changes to adjustAlignmentForChild.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636326</commentid>
    <comment_count>11</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-05-29 12:28:11 -0700</bug_when>
    <thetext>Committed r118818: &lt;http://trac.webkit.org/changeset/118818&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638618</commentid>
    <comment_count>12</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2012-05-31 12:03:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/9278885&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>89399</attachid>
            <date>2011-04-13 10:28:45 -0700</date>
            <delta_ts>2012-05-23 14:24:23 -0700</delta_ts>
            <desc>Test case for absolute-positioned element inside of a flexbox</desc>
            <filename>use-cases.html</filename>
            <type>text/html</type>
            <size>25861</size>
            <attacher name="Matt Cooper">matt11ag-webkitbugs</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+CjxodG1sPgo8aGVh
ZD4KPHRpdGxlPkZsZXggQm94IFVzZSBDYXNlczwvdGl0bGU+CjxzdHlsZT4KYm9keSB7CiAgZm9u
dC1mYW1pbHk6IEFyaWFsOwogIGZvbnQtc2l6ZTogMTFweDsKfQoKLlVzZUNhc2UgewogIGRpc3Bs
YXk6IG5vbmU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMTI1cHg7CiAgbGVmdDogMTBw
eDsKICByaWdodDogMTBweDsKICBib3R0b206IDEwcHg7Cn0KCi5UZXN0Qm94V3JhcHBlciB7CiAg
cG9zaXRpb246IGFic29sdXRlOwogIHRvcDogNGVtOwogIGxlZnQ6IDBweDsKICByaWdodDogMHB4
OwogIGJvdHRvbTogMHB4OwoKICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7CiAgYmFja2dy
b3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRh
dGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUlBQUFBQkNBWUFB
QUQwSW4rS0FBQUFCR2RCVFVFQUFOYlkxRTlZTWdBQUFCbDBSVmgwVTI5bWRIZGhjbVVBUVdSdllt
VWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBQVNTVVJCVkhqYVl2Zyt6ZTAvRURBQUJCZ0FHM0VGMElS
Z0xhZ0FBQUFBU1VWT1JLNUNZSUk9Iik7Cn0KCi5UZXN0Qm94V3JhcHBlci5Db250YWluZXI1MDBw
eFgzNTBweCB7CiAgcmlnaHQ6IGF1dG87CiAgd2lkdGg6IDUwMHB4OwoKICBib3R0b206IGF1dG87
CiAgaGVpZ2h0OiAzNTBweDsKfQoKLlRlc3RCb3hXcmFwcGVyLkNvbnRhaW5lcmF1dG9YYXV0byB7
CiAgcmlnaHQ6IGF1dG87CiAgd2lkdGg6IGF1dG87CgogIGJvdHRvbTogYXV0bzsKICBoZWlnaHQ6
IGF1dG87Cn0KCi5UZXN0Qm94V3JhcHBlci5Db250YWluZXIxMDBQZXJjZW50WDM1MHB4IHsKICBi
b3R0b206IGF1dG87CiAgaGVpZ2h0OiAzNTBweDsKfQoKLlRlc3RCb3hXcmFwcGVyLkNvbnRhaW5l
cjEwMFBlcmNlbnRYYXV0byB7CiAgYm90dG9tOiBhdXRvOwogIGhlaWdodDogYXV0bzsKfQoKLlRl
c3RCb3hXcmFwcGVyLkNvbnRhaW5lcjUwMHB4WDEwMFBlcmNlbnQgewogIHJpZ2h0OiBhdXRvOwog
IHdpZHRoOiA1MDBweDsKfQoKLlRlc3RCb3hXcmFwcGVyLkNvbnRhaW5lcjUwMHB4WGF1dG8gewog
IHJpZ2h0OiBhdXRvOwogIHdpZHRoOiA1MDBweDsKCiAgYm90dG9tOiBhdXRvOwogIGhlaWdodDog
YXV0bzsKfQoKLlRlc3RCb3hXcmFwcGVyLkNvbnRhaW5lcmF1dG9YMzUwcHggewogIHJpZ2h0OiBh
dXRvOwogIHdpZHRoOiBhdXRvOwoKICBib3R0b206IGF1dG87CiAgaGVpZ2h0OiAzNTBweDsKfQoK
LlRlc3RCb3hXcmFwcGVyLkNvbnRhaW5lcmF1dG9YMTAwUGVyY2VudCB7CiAgcmlnaHQ6IGF1dG87
CiAgd2lkdGg6IGF1dG87Cn0KCi5UZXN0Qm9yZGVyQm94U2l6aW5nIHsKICAtbW96LWJveC1zaXpp
bmc6IGJvcmRlci1ib3g7CiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OwogIC1tcy1i
b3gtc2l6aW5nOiBib3JkZXItYm94OwogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KCi5UZXN0
RGlzcGxheUJveCB7CiAgZGlzcGxheTogLW1vei1ib3g7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7
CiAgZGlzcGxheTogLW1zLWJveDsKICBkaXNwbGF5OiBib3g7CgogIGJhY2tncm91bmQtcmVwZWF0
OiByZXBlYXQteTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOwogIGJhY2tn
cm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5T
VWhFVWdBQUFBRUFBQUFDQ0FZQUFBQ1pnYlluQUFBQUJHZEJUVUVBQU5iWTFFOVlNZ0FBQUJsMFJW
aDBVMjltZEhkaGNtVUFRV1J2WW1VZ1NXMWhaMlZTWldGa2VYSEpaVHdBQUFBVlNVUkJWSGphWXZn
K3plMC93Ly8vL3hrQUFnd0FIa1FGMEFINzlYMEFBQUFBU1VWT1JLNUNZSUk9Iik7Cn0KCi5UZXN0
Qm94QWxpZ25TdHJldGNoIHsKICAtbW96LWJveC1hbGlnbjogc3RyZXRjaDsKICAtd2Via2l0LWJv
eC1hbGlnbjogc3RyZXRjaDsKICAtbXMtYm94LWFsaWduOiBzdHJldGNoOwogIGJveC1hbGlnbjog
c3RyZXRjaDsKfQoKLlRlc3RCb3hBbGlnblN0YXJ0IHsKICAtbW96LWJveC1hbGlnbjogc3RhcnQ7
CiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0OwogIC1tcy1ib3gtYWxpZ246IHN0YXJ0OwogIGJv
eC1hbGlnbjogc3RhcnQ7Cn0KCi5UZXN0Qm94QWxpZ25DZW50ZXIgewogIC1tb3otYm94LWFsaWdu
OiBjZW50ZXI7CiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAtbXMtYm94LWFsaWduOiBj
ZW50ZXI7CiAgYm94LWFsaWduOiBjZW50ZXI7Cn0KCi5UZXN0Qm94QWxpZ25FbmQgewogIC1tb3ot
Ym94LWFsaWduOiBlbmQ7CiAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZDsKICAtbXMtYm94LWFsaWdu
OiBlbmQ7CiAgYm94LWFsaWduOiBlbmQ7Cn0KCi5UZXN0Qm94UGFja0p1c3RpZnkgewogIC1tb3ot
Ym94LXBhY2s6IGp1c3RpZnk7CiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTsKICAtbXMtYm94
LXBhY2s6IGp1c3RpZnk7CiAgYm94LXBhY2s6IGp1c3RpZnk7Cn0KCi5UZXN0Qm94UGFja1N0YXJ0
IHsKICAtbW96LWJveC1wYWNrOiBzdGFydDsKICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDsKICAt
bXMtYm94LXBhY2s6IHN0YXJ0OwogIGJveC1wYWNrOiBzdGFydDsKfQoKLlRlc3RCb3hQYWNrQ2Vu
dGVyIHsKICAtbW96LWJveC1wYWNrOiBjZW50ZXI7CiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVy
OwogIC1tcy1ib3gtcGFjazogY2VudGVyOwogIGJveC1wYWNrOiBjZW50ZXI7Cn0KCi5UZXN0Qm94
UGFja0VuZCB7CiAgLW1vei1ib3gtcGFjazogZW5kOwogIC13ZWJraXQtYm94LXBhY2s6IGVuZDsK
ICAtbXMtYm94LXBhY2s6IGVuZDsKICBib3gtcGFjazogZW5kOwp9CgouVGVzdEhib3ggewogIC1t
b3otYm94LW9yaWVudDogaG9yaXpvbnRhbDsKICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250
YWw7CiAgLW1zLWJveC1vcmllbnQ6IGhvcml6b250YWw7CiAgYm94LW9yaWVudDogaG9yaXpvbnRh
bDsKfQoKLlRlc3RWYm94IHsKICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogIC13ZWJraXQt
Ym94LW9yaWVudDogdmVydGljYWw7CiAgLW1zLWJveC1vcmllbnQ6IHZlcnRpY2FsOwogIGJveC1v
cmllbnQ6IHZlcnRpY2FsOwp9CgouQWxpZ25tZW50V3JhcHBlciB7CiAgZGlzcGxheTogLW1vei1i
b3g7CiAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgZGlzcGxheTogLW1zLWJveDsKICBkaXNwbGF5
OiBib3g7CgogIG92ZXJmbG93OiBoaWRkZW47CiAgaGVpZ2h0OiAxMDAlOwp9CgouQWxpZ25tZW50
U3BhY2VyIHsKICBkaXNwbGF5OiAtbW96LWJveDsKICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICBk
aXNwbGF5OiAtbXMtYm94OwogIGRpc3BsYXk6IGJveDsKCiAgLW1vei1ib3gtZmxleDogMTAwLjA7
CiAgLXdlYmtpdC1ib3gtZmxleDogMTAwLjA7CiAgLW1zLWJveC1mbGV4OiAxMDAuMDsKICBib3gt
ZmxleDogMTAwLjA7CgogIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5Ob25BbGlnbm1lbnRXcmFwcGVy
IHsKICBkaXNwbGF5OiAtbW96LWJveDsKICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICBkaXNwbGF5
OiAtbXMtYm94OwogIGRpc3BsYXk6IGJveDsKCiAgLW1vei1ib3gtZmxleDogMC4wOwogIC13ZWJr
aXQtYm94LWZsZXg6IDAuMDsKICAtbXMtYm94LWZsZXg6IDAuMDsKICBib3gtZmxleDogMC4wOwoK
ICBvdmVyZmxvdzogaGlkZGVuOwp9CgouUmVkQ2hpbGQsCi5HcmVlbkNoaWxkLAouQmx1ZUNoaWxk
IHsKICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBi
b3JkZXItYm94OwogIC1tcy1ib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGJveC1zaXppbmc6IGJv
cmRlci1ib3g7CgogIC1tb3otYm94LWZsZXg6IDEuMDsKICAtd2Via2l0LWJveC1mbGV4OiAxLjA7
CiAgLW1zLWJveC1mbGV4OiAxLjA7CiAgYm94LWZsZXg6IDEuMDsKCiAgY29sb3I6IHdoaXRlOwog
IGZvbnQtc2l6ZTogMTRweDsKICBmb250LXdlaWdodDogYm9sZDsKICBtYXJnaW46IDBweDsgLyog
d2lsbCBub3Qgd29yayBiZWNhdXNlIHRoZXJlIGlzIG5vIHN1Y2ggdGhpbmcgYXMgYSBtYXJnaW4t
Ym94ICovCiAgYm9yZGVyLXdpZHRoOiA1cHg7CiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKICBwYWRk
aW5nOiA1cHg7Cn0KLlJlZENoaWxkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzA1MDREOwogIGJv
cmRlci1jb2xvcjogIzhDMzgzNjsKfQouR3JlZW5DaGlsZCB7CiAgYmFja2dyb3VuZC1jb2xvcjog
IzlCQkI1OTsKICBib3JkZXItY29sb3I6ICM3MTg5M0Y7Cn0KLkJsdWVDaGlsZCB7CiAgYmFja2dy
b3VuZC1jb2xvcjogIzRGODFCRDsKICBib3JkZXItY29sb3I6ICMzRjVEOEE7Cn0KPC9zdHlsZT4K
PHNjcmlwdD4KZnVuY3Rpb24gbWFrZVByZXR0eShyYXcpCnsKICByZXR1cm4gcmF3LnJlcGxhY2Uo
L1gvLCAiIGJ5ICIpLnJlcGxhY2UoL1BlcmNlbnQvZywgIiUiKTsKfQoKZnVuY3Rpb24gaGFuZGxl
TG9hZCgpCnsKICAvKgogICAqIFdvcmtzIGluIEZpcmVmb3ggMywgNCAobm8gdGV4dCB3cmFwcGlu
ZyktLWJ1Z2d5IGluIEZpcmVmb3ggMi4KICAgKiBXb3JrcyBpbiBTYWZhcmkgMywgNCwgNSAodXNl
cyB0ZXh0IHdyYXBwaW5nKS4KICAgKiBXb3JrcyBpbiBDaHJvbWUgNiwgNyAodXNlcyB0ZXh0IHdy
YXBwaW5nKS4KICAgKiBXb3JrcyBpbiBJRSAxMC4KICAgKiBObyBzdXBwb3J0IGluIElFIDcsIDgs
IDkuCiAgICovCiAgdmFyIHVzZXJBZ2VudCA9ICgiIiArIG5hdmlnYXRvci51c2VyQWdlbnQpLnRv
TG93ZXJDYXNlKCk7CiAgaWYgKHVzZXJBZ2VudC5pbmRleE9mKCJmaXJlZm94LzIiKSAhPSAtMSB8
fCB1c2VyQWdlbnQuaW5kZXhPZigidHJpZGVudC81IikgIT0gLTEgfHwgdXNlckFnZW50LmluZGV4
T2YoInRyaWRlbnQvNCIpICE9IC0xIHx8IHVzZXJBZ2VudC5pbmRleE9mKCJNU0lFIDcuIikgIT0g
LTEpCiAgewogICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAiPGRpdiBzdHlsZT0nY29sb3I6
cmVkO2ZvbnQtc2l6ZToyNHB0Oyc+VGhpcyBicm93c2VyIGlzIG5vdCBzdXBwb3J0ZWQuPGJyPiIg
KwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUGxlYXNlIHVzZSwgSUUxMCwgU2FmYXJp
LCBHb29nbGUgQ2hyb21lLCBvciBGaXJlZm94IDMgb3IgNC48L2Rpdj4iOwogIH0KICBlbHNlCiAg
ewogICAgdmFyIGFnZW50Q2xhc3MgPSAic3RhbmRhcmRzIjsKICAgIHdpbmRvdy5hZ2VudE5hbWUg
PSAic3RhbmRhcmRzIjsKICAgIGlmICh1c2VyQWdlbnQuaW5kZXhPZigiZmlyZWZveC8iKSAhPSAt
MSkKICAgIHsKICAgICAgYWdlbnRDbGFzcyA9ICJnZWNrbyI7CiAgICAgIHdpbmRvdy5hZ2VudE5h
bWUgPSAiZ2Vja28iOwogICAgfQogICAgZWxzZSBpZiAodXNlckFnZW50LmluZGV4T2YoIndlYmtp
dC8iKSAhPSAtMSkKICAgIHsKICAgICAgYWdlbnRDbGFzcyA9ICJ3ZWJraXQiOwogICAgICB3aW5k
b3cuYWdlbnROYW1lID0gIndlYmtpdCI7CiAgICB9CiAgICBlbHNlIGlmICh1c2VyQWdlbnQuaW5k
ZXhPZigidHJpZGVudC8iKSAhPSAtMSkKICAgIHsKICAgICAgYWdlbnRDbGFzcyA9ICJ0cmlkZW50
IjsKICAgICAgd2luZG93LmFnZW50TmFtZSA9ICJ0cmlkZW50IjsKICAgIH0KICAgIGRvY3VtZW50
LmJvZHkuY2xhc3NOYW1lID0gYWdlbnRDbGFzczsKCiAgICB2YXIgY29udGFpbmVycyA9IFsgIjEw
MFBlcmNlbnRYMTAwUGVyY2VudCIsICI1MDBweFgzNTBweCIsICJhdXRvWGF1dG8iLAogICAgICAg
ICAgICAgICAgICAgICAgICIxMDBQZXJjZW50WDM1MHB4IiwgIjEwMFBlcmNlbnRYYXV0byIsCiAg
ICAgICAgICAgICAgICAgICAgICAgIjUwMHB4WDEwMFBlcmNlbnQiLCAiNTAwcHhYYXV0byIsCiAg
ICAgICAgICAgICAgICAgICAgICAgImF1dG9YMzUwcHgiLCAiYXV0b1gxMDBQZXJjZW50IiBdOwog
ICAgdmFyIGxheW91dHMgPSBbICJob3Jpem9udGFsIiwgInZlcnRpY2FsIiBdOwogICAgdmFyIGhh
bGlnbnMgPSBbICJzdGFydCIsICJjZW50ZXIiLCAiZW5kIiBdOwogICAgdmFyIHZhbGlnbnMgPSBb
ICJ0b3AiLCAibWlkZGxlIiwgImJvdHRvbSIgXTsKICAgIHZhciBkaW1lbnNpb25zID0gWyAiaGlk
ZGVuIiwgIjEwMFBlcmNlbnRYMTAwUGVyY2VudCIsICI1MFBlcmNlbnRYNTBQZXJjZW50IiwgImF1
dG9YYXV0byIsICIxNTBweFgxNTBweCIsCiAgICAgICAgICAgICAgICAgICAgICAgIjEwMFBlcmNl
bnRYNTBQZXJjZW50IiwgIjUwUGVyY2VudFgxMDBQZXJjZW50IiwKICAgICAgICAgICAgICAgICAg
ICAgICAiMTUwcHhYNTBQZXJjZW50IiwgIjUwUGVyY2VudFgxNTBweCIsCiAgICAgICAgICAgICAg
ICAgICAgICAgIjE1MHB4WGF1dG8iLCAiYXV0b1gxNTBweCIsCiAgICAgICAgICAgICAgICAgICAg
ICAgIjUwUGVyY2VudFhhdXRvIiwgImF1dG9YNTBQZXJjZW50IiBdOwoKICAgIHZhciBpZHMgPSBu
ZXcgQXJyYXkoKTsKICAgIGZvciAodmFyIGM9MDsgYzxjb250YWluZXJzLmxlbmd0aDsgYysrKQog
ICAgewogICAgICBmb3IgKHZhciBsPTA7IGw8bGF5b3V0cy5sZW5ndGg7IGwrKykKICAgICAgewog
ICAgICAgIGZvciAodmFyIGg9MDsgaDxoYWxpZ25zLmxlbmd0aDsgaCsrKQogICAgICAgIHsKICAg
ICAgICAgIGZvciAodmFyIHY9MDsgdjx2YWxpZ25zLmxlbmd0aDsgdisrKQogICAgICAgICAgewog
ICAgICAgICAgICBmb3IgKHZhciBkMT0wOyBkMTxkaW1lbnNpb25zLmxlbmd0aDsgZDErKykKICAg
ICAgICAgICAgewogICAgICAgICAgICAgIGZvciAodmFyIGQyPTA7IGQyPGRpbWVuc2lvbnMubGVu
Z3RoOyBkMisrKQogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGZvciAodmFyIGQzPTA7
IGQzPGRpbWVuc2lvbnMubGVuZ3RoOyBkMysrKQogICAgICAgICAgICAgICAgewogICAgICAgICAg
ICAgICAgICBpZHMucHVzaCgKICAgICAgICAgICAgICAgICAgICBjb250YWluZXJzW2NdICsgIi0i
ICsKICAgICAgICAgICAgICAgICAgICBsYXlvdXRzW2xdICsgIi0iICsKICAgICAgICAgICAgICAg
ICAgICBoYWxpZ25zW2hdICsgIi0iICsKICAgICAgICAgICAgICAgICAgICB2YWxpZ25zW3ZdICsg
Ii0iICsKICAgICAgICAgICAgICAgICAgICBkaW1lbnNpb25zW2QxXSArICItIiArCiAgICAgICAg
ICAgICAgICAgICAgZGltZW5zaW9uc1tkMl0gKyAiLSIgKwogICAgICAgICAgICAgICAgICAgIGRp
bWVuc2lvbnNbZDNdKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIHdpbmRvdy5pZHMg
PSBpZHM7CiAgICB3aW5kb3cudXNlQ2FzZUNvdW50ID0gaWRzLmxlbmd0aDsKICAgIAoKICAgIC8v
IEdlbmVyYXRlIGVhY2ggdXNlIGNhc2U6CiAgICB2YXIgc2IgPSBuZXcgQXJyYXkoKTsKICAgIHNi
LnB1c2goJzxkaXYgaWQ9IndoZXJlVGhlTWFnaWNIYXBwZW5zIj4mbmJzcDs8L2Rpdj4nKTsKCiAg
ICAvLyBBZGQgdGhlIHVzZSBjYXNlIG5hdmlnYXRpb246CiAgICB2YXIgbmF2ID0gbmV3IEFycmF5
KCk7CiAgICBuYXYucHVzaCgnPGRpdiBhbGlnbj0iY2VudGVyIj4nKTsKICAgIG5hdi5wdXNoKCc8
bm9icj48bGFiZWwgZm9yPSJjb250YWluZXIiPmJveD08L2xhYmVsPicpOwogICAgbmF2LnB1c2go
JzxzZWxlY3QgaWQ9ImNvbnRhaW5lciIgb25jaGFuZ2U9ImhhbmRsZUNoYW5nZSgpIj4nKTsKICAg
IGZvciAodmFyIGM9MDsgYzxjb250YWluZXJzLmxlbmd0aDsgYysrKQogICAgewogICAgICBuYXYu
cHVzaCgnPG9wdGlvbiB2YWx1ZT0iJyk7CiAgICAgIG5hdi5wdXNoKGNvbnRhaW5lcnNbY10pOwog
ICAgICBuYXYucHVzaCgnIj4nKTsKICAgICAgbmF2LnB1c2gobWFrZVByZXR0eShjb250YWluZXJz
W2NdKSk7CiAgICAgIG5hdi5wdXNoKCc8L29wdGlvbj4nKTsKICAgIH0KICAgIG5hdi5wdXNoKCc8
L3NlbGVjdD4nKTsKICAgIG5hdi5wdXNoKCcmbmJzcDsmbmJzcDs8L25vYnI+ICcpOwogICAgbmF2
LnB1c2goJzxub2JyPjxsYWJlbCBmb3I9ImxheW91dCI+bGF5b3V0PTwvbGFiZWw+Jyk7CiAgICBu
YXYucHVzaCgnPHNlbGVjdCBpZD0ibGF5b3V0IiBvbmNoYW5nZT0iaGFuZGxlQ2hhbmdlKCkiPicp
OwogICAgZm9yICh2YXIgbD0wOyBsPGxheW91dHMubGVuZ3RoOyBsKyspCiAgICB7CiAgICAgIG5h
di5wdXNoKCc8b3B0aW9uIHZhbHVlPSInKTsKICAgICAgbmF2LnB1c2gobGF5b3V0c1tsXSk7CiAg
ICAgIG5hdi5wdXNoKCciPicpOwogICAgICBuYXYucHVzaChsYXlvdXRzW2xdKTsKICAgICAgbmF2
LnB1c2goJzwvb3B0aW9uPicpOwogICAgfQogICAgbmF2LnB1c2goJzwvc2VsZWN0PicpOwogICAg
bmF2LnB1c2goJyZuYnNwOyZuYnNwOzwvbm9icj4gJyk7CiAgICBuYXYucHVzaCgnPG5vYnI+PGxh
YmVsIGZvcj0iaGFsaWduIj5oYWxpZ249PC9sYWJlbD4nKTsKICAgIG5hdi5wdXNoKCc8c2VsZWN0
IGlkPSJoYWxpZ24iIG9uY2hhbmdlPSJoYW5kbGVDaGFuZ2UoKSI+Jyk7CiAgICBmb3IgKHZhciBo
PTA7IGg8aGFsaWducy5sZW5ndGg7IGgrKykKICAgIHsKICAgICAgbmF2LnB1c2goJzxvcHRpb24g
dmFsdWU9IicpOwogICAgICBuYXYucHVzaChoYWxpZ25zW2hdKTsKICAgICAgbmF2LnB1c2goJyI+
Jyk7CiAgICAgIG5hdi5wdXNoKGhhbGlnbnNbaF0pOwogICAgICBuYXYucHVzaCgnPC9vcHRpb24+
Jyk7CiAgICB9CiAgICBuYXYucHVzaCgnPC9zZWxlY3Q+Jyk7CiAgICBuYXYucHVzaCgnJm5ic3A7
Jm5ic3A7PC9ub2JyPiAnKTsKICAgIG5hdi5wdXNoKCc8bm9icj48bGFiZWwgZm9yPSJ2YWxpZ24i
PnZhbGlnbj08L2xhYmVsPicpOwogICAgbmF2LnB1c2goJzxzZWxlY3QgaWQ9InZhbGlnbiIgb25j
aGFuZ2U9ImhhbmRsZUNoYW5nZSgpIj4nKTsKICAgIGZvciAodmFyIHY9MDsgdjx2YWxpZ25zLmxl
bmd0aDsgdisrKQogICAgewogICAgICBuYXYucHVzaCgnPG9wdGlvbiB2YWx1ZT0iJyk7CiAgICAg
IG5hdi5wdXNoKHZhbGlnbnNbdl0pOwogICAgICBuYXYucHVzaCgnIj4nKTsKICAgICAgbmF2LnB1
c2godmFsaWduc1t2XSk7CiAgICAgIG5hdi5wdXNoKCc8L29wdGlvbj4nKTsKICAgIH0KICAgIG5h
di5wdXNoKCc8L3NlbGVjdD4nKTsKICAgIG5hdi5wdXNoKCcmbmJzcDsmbmJzcDs8L25vYnI+ICcp
OwogICAgbmF2LnB1c2goJzxub2JyPjxsYWJlbCBmb3I9ImNoaWxkMSI+Y2hpbGQgMT08L2xhYmVs
PicpOwogICAgbmF2LnB1c2goJzxzZWxlY3QgaWQ9ImNoaWxkMSIgb25jaGFuZ2U9ImhhbmRsZUNo
YW5nZSgpIj4nKTsKICAgIGZvciAodmFyIGQ9MDsgZDxkaW1lbnNpb25zLmxlbmd0aDsgZCsrKQog
ICAgewogICAgICBuYXYucHVzaCgnPG9wdGlvbiB2YWx1ZT0iJyk7CiAgICAgIG5hdi5wdXNoKGRp
bWVuc2lvbnNbZF0pOwogICAgICBuYXYucHVzaCgnIj4nKTsKICAgICAgbmF2LnB1c2gobWFrZVBy
ZXR0eShkaW1lbnNpb25zW2RdKSk7CiAgICAgIG5hdi5wdXNoKCc8L29wdGlvbj4nKTsKICAgIH0K
ICAgIG5hdi5wdXNoKCc8L3NlbGVjdD4nKTsKICAgIG5hdi5wdXNoKCcmbmJzcDsmbmJzcDs8L25v
YnI+ICcpOwogICAgbmF2LnB1c2goJzxub2JyPjxsYWJlbCBmb3I9ImNoaWxkMiI+Y2hpbGQgMj08
L2xhYmVsPicpOwogICAgbmF2LnB1c2goJzxzZWxlY3QgaWQ9ImNoaWxkMiIgb25jaGFuZ2U9Imhh
bmRsZUNoYW5nZSgpIj4nKTsKICAgIGZvciAodmFyIGQ9MDsgZDxkaW1lbnNpb25zLmxlbmd0aDsg
ZCsrKQogICAgewogICAgICBuYXYucHVzaCgnPG9wdGlvbiB2YWx1ZT0iJyk7CiAgICAgIG5hdi5w
dXNoKGRpbWVuc2lvbnNbZF0pOwogICAgICBuYXYucHVzaCgnIj4nKTsKICAgICAgbmF2LnB1c2go
bWFrZVByZXR0eShkaW1lbnNpb25zW2RdKSk7CiAgICAgIG5hdi5wdXNoKCc8L29wdGlvbj4nKTsK
ICAgIH0KICAgIG5hdi5wdXNoKCc8L3NlbGVjdD4nKTsKICAgIG5hdi5wdXNoKCcmbmJzcDsmbmJz
cDs8L25vYnI+ICcpOwogICAgbmF2LnB1c2goJzxub2JyPjxsYWJlbCBmb3I9ImNoaWxkMyI+Y2hp
bGQgMz08L2xhYmVsPicpOwogICAgbmF2LnB1c2goJzxzZWxlY3QgaWQ9ImNoaWxkMyIgb25jaGFu
Z2U9ImhhbmRsZUNoYW5nZSgpIj4nKTsKICAgIGZvciAodmFyIGQ9MDsgZDxkaW1lbnNpb25zLmxl
bmd0aDsgZCsrKQogICAgewogICAgICBuYXYucHVzaCgnPG9wdGlvbiB2YWx1ZT0iJyk7CiAgICAg
IG5hdi5wdXNoKGRpbWVuc2lvbnNbZF0pOwogICAgICBuYXYucHVzaCgnIj4nKTsKICAgICAgbmF2
LnB1c2gobWFrZVByZXR0eShkaW1lbnNpb25zW2RdKSk7CiAgICAgIG5hdi5wdXNoKCc8L29wdGlv
bj4nKTsKICAgIH0KICAgIG5hdi5wdXNoKCc8L3NlbGVjdD4nKTsKICAgIG5hdi5wdXNoKCc8L2Rp
dj4nKTsKICAgIG5hdi5wdXNoKCc8ZGl2IGFsaWduPSJjZW50ZXIiIHN0eWxlPSJwYWRkaW5nLXRv
cDo4cHg7Ij4nKTsKICAgIG5hdi5wdXNoKCc8YnV0dG9uIG9uY2xpY2s9ImdvVG9GaXJzdCgpIj58
Jmx0Oy0gRmlyc3Q8L2J1dHRvbj4nKTsKICAgIG5hdi5wdXNoKCcmbmJzcDsmbmJzcDsmbmJzcDsn
KTsKICAgIG5hdi5wdXNoKCc8YnV0dG9uIG9uY2xpY2s9ImdvVG9QcmV2aW91cygpIj4mbHQ7LSBQ
cmV2aW91czwvYnV0dG9uPicpOwogICAgbmF2LnB1c2goJyZuYnNwOyZuYnNwOyZuYnNwOycpOwog
ICAgbmF2LnB1c2goJzxidXR0b24gb25jbGljaz0iZ29Ub05leHQoKSI+TmV4dCAtJmd0OzwvYnV0
dG9uPicpOwogICAgbmF2LnB1c2goJyZuYnNwOyZuYnNwOyZuYnNwOycpOwogICAgbmF2LnB1c2go
JzxidXR0b24gb25jbGljaz0iZ29Ub0xhc3QoKSI+TGFzdCAtJmd0O3w8L2J1dHRvbj4nKTsKICAg
IG5hdi5wdXNoKCcmbmJzcDsmbmJzcDsmbmJzcDsnKTsKICAgIG5hdi5wdXNoKCc8bGFiZWwgZm9y
PSJqdW1wVG8iPkp1bXAgdG8gdXNlIGNhc2U6PC9sYWJlbD4nKTsKICAgIG5hdi5wdXNoKCc8aW5w
dXQgaWQ9Imp1bXBUbyIgdHlwZT0idGV4dCIgdmFsdWU9IiIgc2l6ZT0iNiIgb25jaGFuZ2U9Imdv
VG9JbmRleChwYXJzZUludCh0aGlzLnZhbHVlLDEwKS0xKSI+Jyk7CiAgICBuYXYucHVzaCgnPC9k
aXY+Jyk7CiAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICBk
aXYuaW5uZXJIVE1MID0gbmF2LmpvaW4oIiIpOwogICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChkaXYpOwoKICAgIC8vIEFkZCB0aGUgdGVzdCBjYXNlczoKICAgIHZhciBkaXYgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgIGRpdi5pbm5lckhUTUwgPSBzYi5qb2luKCIiKTsK
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKCiAgICAvLyBBZGQgYSBzcGFjZXIg
YXQgdGhlIGVuZDoKICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsK
ICAgIGRpdi5zdHlsZS5oZWlnaHQgPSAiMzAwcHgiOwogICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChkaXYpOwoKICAgIGdvVG9JbmRleCgyNzczKTsgLy9oYW5kbGVDaGFuZ2UoKTsKICB9Cn0K
CmZ1bmN0aW9uIGhhbmRsZUNoYW5nZSgpCnsKICB2YXIgY29udGFpbmVyU2VsZWN0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpOwogIHZhciBsYXlvdXRTZWxlY3QgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgibGF5b3V0Iik7CiAgdmFyIGhhbGlnblNlbGVjdCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJoYWxpZ24iKTsKICB2YXIgdmFsaWduU2VsZWN0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInZhbGlnbiIpOwogIHZhciBjaGlsZDFTZWxlY3QgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY2hpbGQxIik7CiAgdmFyIGNoaWxkMlNlbGVjdCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjaGlsZDIiKTsKICB2YXIgY2hpbGQzU2VsZWN0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNoaWxkMyIpOwogIHZhciBjb250YWluZXIgPSBjb250YWluZXJTZWxl
Y3Qub3B0aW9uc1tjb250YWluZXJTZWxlY3Quc2VsZWN0ZWRJbmRleF0udmFsdWU7CiAgdmFyIGxh
eW91dCA9IGxheW91dFNlbGVjdC5vcHRpb25zW2xheW91dFNlbGVjdC5zZWxlY3RlZEluZGV4XS52
YWx1ZTsKICB2YXIgaGFsaWduID0gaGFsaWduU2VsZWN0Lm9wdGlvbnNbaGFsaWduU2VsZWN0LnNl
bGVjdGVkSW5kZXhdLnZhbHVlOwogIHZhciB2YWxpZ24gPSB2YWxpZ25TZWxlY3Qub3B0aW9uc1t2
YWxpZ25TZWxlY3Quc2VsZWN0ZWRJbmRleF0udmFsdWU7CiAgdmFyIGNoaWxkMSA9IGNoaWxkMVNl
bGVjdC5vcHRpb25zW2NoaWxkMVNlbGVjdC5zZWxlY3RlZEluZGV4XS52YWx1ZTsKICB2YXIgY2hp
bGQyID0gY2hpbGQyU2VsZWN0Lm9wdGlvbnNbY2hpbGQyU2VsZWN0LnNlbGVjdGVkSW5kZXhdLnZh
bHVlOwogIHZhciBjaGlsZDMgPSBjaGlsZDNTZWxlY3Qub3B0aW9uc1tjaGlsZDNTZWxlY3Quc2Vs
ZWN0ZWRJbmRleF0udmFsdWU7CiAgd2luZG93LmNob3NlbklkID0gY29udGFpbmVyICsgIi0iICsg
bGF5b3V0ICsgIi0iICsgaGFsaWduICsgIi0iICsgdmFsaWduICsgIi0iICsgY2hpbGQxICsgIi0i
ICsgY2hpbGQyICsgIi0iICsgY2hpbGQzOwogIHZhciBjaG9zZW5JbmRleCA9IHdpbmRvdy5pZHMu
aW5kZXhPZih3aW5kb3cuY2hvc2VuSWQpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJqdW1w
VG8iKS52YWx1ZSA9IDEgKyBjaG9zZW5JbmRleDsKCiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
IndoZXJlVGhlTWFnaWNIYXBwZW5zIikuaW5uZXJIVE1MID0KICAgIGFkZFVzZUNhc2Uod2luZG93
LmNob3NlbklkLCBjb250YWluZXIsIGxheW91dCwgaGFsaWduLCB2YWxpZ24sIGNoaWxkMSwgY2hp
bGQyLCBjaGlsZDMpOwoKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh3aW5kb3cuY2hvc2VuSWQp
LnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siOwp9CgpmdW5jdGlvbiB1cGRhdGVTZWxlY3Qoc2VsZWN0
LCB2YWx1ZSkKewogIHZhciBvcHRpb25zID0gc2VsZWN0Lm9wdGlvbnM7CiAgZm9yICh2YXIgaT0w
OyBpPG9wdGlvbnMubGVuZ3RoOyBpKyspCiAgewogICAgaWYgKG9wdGlvbnNbaV0udmFsdWUgPT0g
dmFsdWUpCiAgICB7CiAgICAgIHNlbGVjdC5zZWxlY3RlZEluZGV4ID0gaTsKICAgICAgYnJlYWs7
CiAgICB9CiAgfQp9CgpmdW5jdGlvbiBnb1RvRmlyc3QoKQp7CiAgZ29Ub0luZGV4KDApOwp9Cgpm
dW5jdGlvbiBnb1RvUHJldmlvdXMoKQp7CiAgdmFyIG9sZEluZGV4ID0gd2luZG93Lmlkcy5pbmRl
eE9mKHdpbmRvdy5jaG9zZW5JZCk7CiAgdmFyIGxhc3RJbmRleCA9IHdpbmRvdy5pZHMubGVuZ3Ro
IC0gMTsKICB2YXIgbmV3SW5kZXggPSBvbGRJbmRleCA9PSAwID8gbGFzdEluZGV4IDogb2xkSW5k
ZXggLSAxOwogIGdvVG9JbmRleChuZXdJbmRleCk7Cn0KCmZ1bmN0aW9uIGdvVG9OZXh0KCkKewog
IHZhciBvbGRJbmRleCA9IHdpbmRvdy5pZHMuaW5kZXhPZih3aW5kb3cuY2hvc2VuSWQpOwogIHZh
ciBsYXN0SW5kZXggPSB3aW5kb3cuaWRzLmxlbmd0aCAtIDE7CiAgdmFyIG5ld0luZGV4ID0gb2xk
SW5kZXggPT0gbGFzdEluZGV4ID8gMCA6IG9sZEluZGV4ICsgMTsKICBnb1RvSW5kZXgobmV3SW5k
ZXgpOwp9CgpmdW5jdGlvbiBnb1RvTGFzdCgpCnsKICB2YXIgbGFzdEluZGV4ID0gd2luZG93Lmlk
cy5sZW5ndGggLSAxOwogIGdvVG9JbmRleChsYXN0SW5kZXgpOwp9CgpmdW5jdGlvbiBnb1RvSW5k
ZXgobmV3SW5kZXgpCnsKICBpZiAoaXNOYU4obmV3SW5kZXgpKQogICAgbmV3SW5kZXggPSAwOwog
IGVsc2UgaWYgKG5ld0luZGV4IDwgMCkKICAgIG5ld0luZGV4ID0gMDsKICBlbHNlIGlmIChuZXdJ
bmRleCA+PSB3aW5kb3cudXNlQ2FzZUNvdW50KQogICAgbmV3SW5kZXggPSB3aW5kb3cudXNlQ2Fz
ZUNvdW50IC0gMTsKICB2YXIgbmV3SWQgPSB3aW5kb3cuaWRzW25ld0luZGV4XTsKICB2YXIgdmFs
dWVzID0gbmV3SWQuc3BsaXQoIi0iKTsKICBjaG9vc2VWYWx1ZSgiY29udGFpbmVyIiwgdmFsdWVz
WzBdKTsKICBjaG9vc2VWYWx1ZSgibGF5b3V0IiwgdmFsdWVzWzFdKTsKICBjaG9vc2VWYWx1ZSgi
aGFsaWduIiwgdmFsdWVzWzJdKTsKICBjaG9vc2VWYWx1ZSgidmFsaWduIiwgdmFsdWVzWzNdKTsK
ICBjaG9vc2VWYWx1ZSgiY2hpbGQxIiwgdmFsdWVzWzRdKTsKICBjaG9vc2VWYWx1ZSgiY2hpbGQy
IiwgdmFsdWVzWzVdKTsKICBjaG9vc2VWYWx1ZSgiY2hpbGQzIiwgdmFsdWVzWzZdKTsKICBoYW5k
bGVDaGFuZ2UoKTsKfQoKZnVuY3Rpb24gY2hvb3NlVmFsdWUoc2VsZWN0SWQsIGRlc2lyZWRWYWx1
ZSkKewogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNlbGVjdElkKS52YWx1ZSA9IGRlc2lyZWRW
YWx1ZTsKfQoKZnVuY3Rpb24gYWRkVXNlQ2FzZShpZCwgY29udGFpbmVyLCBsYXlvdXQsIGhhbGln
biwgdmFsaWduLCBjaGlsZDEsIGNoaWxkMiwgY2hpbGQzKQp7CiAgdmFyIHNiPW5ldyBBcnJheSgp
OwogIHNiLnB1c2goJzxkaXYgaWQ9IicpOwogIHNiLnB1c2goaWQpOwogIHNiLnB1c2goJyIgY2xh
c3M9IlVzZUNhc2UiPicpOwoKICBzYi5wdXNoKCc8aDI+VXNlIGNhc2UgJyk7CiAgc2IucHVzaCgx
ICsgd2luZG93Lmlkcy5pbmRleE9mKGlkKSk7CiAgc2IucHVzaCgnIG9mICcpOwogIHNiLnB1c2go
d2luZG93LnVzZUNhc2VDb3VudCk7CiAgc2IucHVzaCgnOiA8c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExcHg7Zm9udC13ZWlnaHQ6bm9ybWFsIj5ib3g9IicpOwogIHNiLnB1c2gobWFrZVByZXR0eShj
b250YWluZXIpKTsKICBzYi5wdXNoKCciLCBsYXlvdXQ9IicpOwogIHNiLnB1c2gobGF5b3V0KTsK
ICBzYi5wdXNoKCciLCBoYWxpZ249IicpOwogIHNiLnB1c2goaGFsaWduKTsKICBzYi5wdXNoKCci
LCB2YWxpZ249IicpOwogIHNiLnB1c2godmFsaWduKTsKICBzYi5wdXNoKCciLCBjaGlsZDE9Iicp
OwogIHNiLnB1c2gobWFrZVByZXR0eShjaGlsZDEpKTsKICBzYi5wdXNoKCciLCBjaGlsZDI9Iicp
OwogIHNiLnB1c2gobWFrZVByZXR0eShjaGlsZDIpKTsKICBzYi5wdXNoKCciLCBjaGlsZDM9Iicp
OwogIHNiLnB1c2gobWFrZVByZXR0eShjaGlsZDMpKTsKICBzYi5wdXNoKCciPC9zcGFuPjwvaDI+
Jyk7CgogIC8vIFRoZSBib3ggd3JhcHBlciAoc2luY2UgeW91IGNhbm5vdCBiZSBhIGJveCBhbmQg
c3VwcG9ydCBiZWluZyBzdHJldGNoZWQgYnkgYW4gYW5jZXN0b3IpOgogIHNiLnB1c2goJzxkaXYg
Y2xhc3M9IlRlc3RCb3hXcmFwcGVyIENvbnRhaW5lcicpOwogIHNiLnB1c2goY29udGFpbmVyKTsK
ICBzYi5wdXNoKCciIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjRUZFRkVGOyI+Jyk7CgogICAg
Ly8gVGhlIGJveDoKICAgIHNiLnB1c2goJzxkaXYgc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkIGJs
YWNrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBvdmVyZmxvdzogYXV0bzsiJyk7Ci8vIFRP
RE8gY29uc2lkZXIgYWxsb3dpbmcgYSB0b2dnbGUgb2YgdGhlIHNjcm9sbCBwb2xpY3kgb3B0aW9u
cwogICAgc2IucHVzaCgnIGNsYXNzPSJUZXN0Qm9yZGVyQm94U2l6aW5nIFRlc3REaXNwbGF5Qm94
ICcpOwoKLy8gYm94LWFsaWduIGlzIGFsaWdubWVudCBwZXJwZW5kaWN1bGFyIHRvIGRpcmVjdGlv
biBvZiB0aGUgYm94IChoYWxpZ24gZm9yIHZlcnRpY2FsLCB2YWxpZ24gZm9yIGhvcml6b250YWwp
Ci8vIGJveC1wYWNrIGlzIGFsaWdubWVudCBpbiB0aGUgZGlyZWN0aW9uIG9mIHRoZSBib3ggKGhh
bGlnbiBmb3IgaG9yaXpvbnRhbCwgdmFsaWduIGZvciB2ZXJ0aWNhbCkKCiAgICBpZiAobGF5b3V0
ID09ICJob3Jpem9udGFsIikKICAgIHsKICAgICAgaWYgKGhhbGlnbiA9PSAic3RyZXRjaCIpCiAg
ICAgICAgc2IucHVzaCgnVGVzdEJveEFsaWduU3RyZXRjaCcpOwogICAgICBlbHNlIGlmIChoYWxp
Z24gPT0gInN0YXJ0IikKICAgICAgICBzYi5wdXNoKCdUZXN0Qm94QWxpZ25TdGFydCcpOwogICAg
ICBlbHNlIGlmIChoYWxpZ24gPT0gImNlbnRlciIpCiAgICAgICAgc2IucHVzaCgnVGVzdEJveEFs
aWduQ2VudGVyJyk7CiAgICAgIGVsc2UgaWYgKGhhbGlnbiA9PSAiZW5kIikKICAgICAgICBzYi5w
dXNoKCdUZXN0Qm94QWxpZ25FbmQnKTsKCiAgICAgIHNiLnB1c2goJyAnKTsKCiAgICAgIGlmICh2
YWxpZ24gPT0gImp1c3RpZnkiKQogICAgICAgIHNiLnB1c2goJ1Rlc3RCb3hQYWNrSnVzdGlmeScp
OwogICAgICBlbHNlIGlmICh2YWxpZ24gPT0gInN0YXJ0IikKICAgICAgICBzYi5wdXNoKCdUZXN0
Qm94UGFja1N0YXJ0Jyk7CiAgICAgIGVsc2UgaWYgKHZhbGlnbiA9PSAiY2VudGVyIikKICAgICAg
ICBzYi5wdXNoKCdUZXN0Qm94UGFja0NlbnRlcicpOwogICAgICBlbHNlIGlmICh2YWxpZ24gPT0g
ImVuZCIpCiAgICAgICAgc2IucHVzaCgnVGVzdEJveFBhY2tFbmQnKTsKICAgIH0KICAgIGVsc2Ug
Ly8gdmVydGljYWwKICAgIHsKICAgICAgaWYgKGhhbGlnbiA9PSAic3RyZXRjaCIpCiAgICAgICAg
c2IucHVzaCgnVGVzdEJveFBhY2tKdXN0aWZ5Jyk7CiAgICAgIGVsc2UgaWYgKGhhbGlnbiA9PSAi
c3RhcnQiKQogICAgICAgIHNiLnB1c2goJ1Rlc3RCb3hQYWNrU3RhcnQnKTsKICAgICAgZWxzZSBp
ZiAoaGFsaWduID09ICJjZW50ZXIiKQogICAgICAgIHNiLnB1c2goJ1Rlc3RCb3hQYWNrQ2VudGVy
Jyk7CiAgICAgIGVsc2UgaWYgKGhhbGlnbiA9PSAiZW5kIikKICAgICAgICBzYi5wdXNoKCdUZXN0
Qm94UGFja0VuZCcpOwoKICAgICAgc2IucHVzaCgnICcpOwoKICAgICAgaWYgKHZhbGlnbiA9PSAi
anVzdGlmeSIpCiAgICAgICAgc2IucHVzaCgnVGVzdEJveEFsaWduU3RyZXRjaCcpOwogICAgICBl
bHNlIGlmICh2YWxpZ24gPT0gInN0YXJ0IikKICAgICAgICBzYi5wdXNoKCdUZXN0Qm94QWxpZ25T
dGFydCcpOwogICAgICBlbHNlIGlmICh2YWxpZ24gPT0gImNlbnRlciIpCiAgICAgICAgc2IucHVz
aCgnVGVzdEJveEFsaWduQ2VudGVyJyk7CiAgICAgIGVsc2UgaWYgKHZhbGlnbiA9PSAiZW5kIikK
ICAgICAgICBzYi5wdXNoKCdUZXN0Qm94QWxpZ25FbmQnKTsKICAgIH0KCiAgICBzYi5wdXNoKCcg
Jyk7CgogICAgLy8gQ29uZmlndXJlIGxheW91dD0iaG9yaXpvbnRhbCIgb3IgbGF5b3V0PSJ2ZXJ0
aWNhbCI6CiAgICBpZiAobGF5b3V0ID09ICJob3Jpem9udGFsIikKICAgICAgc2IucHVzaCgnVGVz
dEhib3gnKTsKICAgIGVsc2UKICAgICAgc2IucHVzaCgnVGVzdFZib3gnKTsKCiAgICBzYi5wdXNo
KCciPicpOwoKICAgICAgLy8gVGhlIGNoaWxkcmVuOgovLyBUT0RPIGNvbnNpZGVyIGFsbG93aW5n
IGEgdG9nZ2xlIG9mIG1hcmdpbi9ib3JkZXIvcGFkZGluZyBvcHRpb25zCi8vIFRPRE8gY29uc2lk
ZXIgYWxsb3dpbmcgYSB0b2dnbGUgb2YgbWluL21heCBvcHRpb25zCiAgICAgIGlmIChjaGlsZDEg
IT0gImhpZGRlbiIpCiAgICAgIHsKICAgICAgICBjaGlsZDEgPSBjaGlsZDEucmVwbGFjZSgvUGVy
Y2VudC9nLCAiJSIpOwogICAgICAgIHZhciBkaW1lbnNpb25zMSA9IGNoaWxkMS5zcGxpdCgiWCIp
OwogICAgICAgIHNiLnB1c2goZ2V0Q2hpbGQoIlJlZENoaWxkIiwgbGF5b3V0LCBoYWxpZ24sIHZh
bGlnbiwgZGltZW5zaW9uczFbMF0sIGRpbWVuc2lvbnMxWzFdKSk7CiAgICAgIH0KICAgICAgaWYg
KGNoaWxkMiAhPSAiaGlkZGVuIikKICAgICAgewogICAgICAgIGNoaWxkMiA9IGNoaWxkMi5yZXBs
YWNlKC9QZXJjZW50L2csICIlIik7CiAgICAgICAgdmFyIGRpbWVuc2lvbnMyID0gY2hpbGQyLnNw
bGl0KCJYIik7CiAgICAgICAgc2IucHVzaChnZXRDaGlsZCgiR3JlZW5DaGlsZCIsIGxheW91dCwg
aGFsaWduLCB2YWxpZ24sIGRpbWVuc2lvbnMyWzBdLCBkaW1lbnNpb25zMlsxXSkpOwogICAgICB9
CiAgICAgIGlmIChjaGlsZDMgIT0gImhpZGRlbiIpCiAgICAgIHsKICAgICAgICBjaGlsZDMgPSBj
aGlsZDMucmVwbGFjZSgvUGVyY2VudC9nLCAiJSIpOwogICAgICAgIHZhciBkaW1lbnNpb25zMyA9
IGNoaWxkMy5zcGxpdCgiWCIpOwogICAgICAgIHNiLnB1c2goZ2V0Q2hpbGQoIkJsdWVDaGlsZCIs
IGxheW91dCwgaGFsaWduLCB2YWxpZ24sIGRpbWVuc2lvbnMzWzBdLCBkaW1lbnNpb25zM1sxXSkp
OwogICAgICB9CgogICAgLy8gRW5kIG9mIHRoZSBib3g6CiAgICBzYi5wdXNoKCc8L2Rpdj4nKTsK
CiAgLy8gRW5kIG9mIHRoZSBib3ggd3JhcHBlcjoKICBzYi5wdXNoKCc8L2Rpdj4nKTsKCiAgLy8g
RW5kIG9mIHRlc3QgY2FzZSB3cmFwcGVyOgogIHNiLnB1c2goJzwvZGl2PicpOwoKICByZXR1cm4g
c2Iuam9pbigiIik7Cn0KCmZ1bmN0aW9uIGdldEZsZXhGbG9hdEZyb21QZXJjZW50U3RyaW5nKHBl
cmNlbnRTdHJpbmcpCnsKICBpZiAocGVyY2VudFN0cmluZy5pbmRleE9mKCIlIikgPT0gLTEpCiAg
ICByZXR1cm4gbnVsbDsKCiAgdmFyIGZsZXhGbG9hdCA9IHBhcnNlRmxvYXQocGVyY2VudFN0cmlu
ZywgMTApOyAvLyB3aWxsIHN0cmlwIG91dCB0aGUgIiUiIGNoYXJhY3RlcgogIGlmIChmbGV4Rmxv
YXQgPiAxMDAuMCkKICAgIGZsZXhGbG9hdCA9IDEwMC4wOwogIGlmIChmbGV4RmxvYXQgPCAwLjAp
CiAgICBmbGV4RmxvYXQgPSAwLjA7CiAgcmV0dXJuIGZsZXhGbG9hdDsKfQoKZnVuY3Rpb24gZ2V0
Q2hpbGQoY2xhc3NOYW1lLCBsYXlvdXQsIGhhbGlnbiwgdmFsaWduLCB3Q29uc3RyLCBoQ29uc3Ry
KQp7CiAgdmFyIHNiID0gbmV3IEFycmF5KCk7CgogIC8vIEVuc3VyZSB0aGF0ICJhdXRvIiwgbnVs
bCIsIGFuZCAiIiBhcmUgdHJlYXRlZCBhcyB0aGUgc2FtZToKICBpZiAod0NvbnN0ciA9PSAiYXV0
byIgfHwgd0NvbnN0ciA9PSBudWxsKQogICAgd0NvbnN0ciA9ICIiOwogIGlmIChoQ29uc3RyID09
ICJhdXRvIiB8fCBoQ29uc3RyID09IG51bGwpCiAgICBoQ29uc3RyID0gIiI7CgogIC8vIEVuc3Vy
ZSB0aGF0IHBlcmNlbnRzIGFyZSBub3QgbGVzcyB0aGFuIHplcm8gbm9yIGdyZWF0ZXIgdGhhbiAx
MDAlOgogIHZhciB3RmxleCA9IGdldEZsZXhGbG9hdEZyb21QZXJjZW50U3RyaW5nKHdDb25zdHIp
OwogIHZhciBoRmxleCA9IGdldEZsZXhGbG9hdEZyb21QZXJjZW50U3RyaW5nKGhDb25zdHIpOwoK
ICAvLyBIQk9YRVM6CiAgLy8gd0NvbnN0ciBoQ29uc3RyIHwgYWJzb2x1dGVQb3NTdHJldGNoaW5n
IHwgd3JhcEZsZXggd3JhcFcgICBjaGlsZEZsZXggIGNoaWxkVyAgY2hpbGRIICBjaGlsZERpc3AK
ICAvLyAtLS0tLS0tIC0tLS0tLS0gKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKyAtLS0tLS0tLSAt
LS0tLS0tIC0tLS0tLS0tLS0gLS0tLS0tLSAtLS0tLS0tIC0tLS0tLS0tLQogIC8vIGF1dG8gICAg
YXV0byAgICB8IG5vICAgICAgICAgICAgICAgICAgICB8IG51bGwgICAgIG51bGwgICAgbnVsbCAg
ICAgICBudWxsICAgIG51bGwgICAgYmxvY2sKICAvLyBhdXRvICAgIGZpeGVkICAgfCBwcm9ibGVt
IChoZWlnaHQgb25seSkgfCBudWxsICAgICBudWxsICAgIG51bGwgICAgICAgbnVsbCAgICBoQ29u
c3RyIGJveAogIC8vIGF1dG8gICAgJSAgICAgICB8IHByb2JsZW0gKGhlaWdodCBvbmx5KSB8IG51
bGwgICAgIG51bGwgICAgaENvbnN0cisqICBudWxsICAgIG51bGwgICAgYm94CiAgLy8gZml4ZWQg
ICBhdXRvICAgIHwgcHJvYmxlbSAod2lkdGggb25seSkgIHwgbnVsbCAgICAgd0NvbnN0ciBudWxs
ICAgICAgIHdDb25zdHIgbnVsbCAgICBib3gKICAvLyBmaXhlZCAgIGZpeGVkICAgfCB5ZXMgICAg
ICAgICAgICAgICAgICAgfCBudWxsICAgICB3Q29uc3RyIG51bGwgICAgICAgd0NvbnN0ciBoQ29u
c3RyIGJveAogIC8vIGZpeGVkICAgJSAgICAgICB8IHllcyAgICAgICAgICAgICAgICAgICB8IG51
bGwgICAgIHdDb25zdHIgaENvbnN0cisqICB3Q29uc3RyIG51bGwgICAgYm94CiAgLy8gJSAgICAg
ICBhdXRvICAgIHwgcHJvYmxlbSAod2lkdGggb25seSkgIHwgd0NvbnN0cisgbnVsbCAgICBudWxs
ICAgICAgIDEwMCUgICAgbnVsbCAgICBib3gKICAvLyAlICAgICAgIGZpeGVkICAgfCB5ZXMgICAg
ICAgICAgICAgICAgICAgfCB3Q29uc3RyKyBudWxsICAgIG51bGwgICAgICAgMTAwJSAgICBoQ29u
c3RyIGJveAogIC8vICUgICAgICAgJSAgICAgICB8IHllcyAgICAgICAgICAgICAgICAgICB8IHdD
b25zdHIrIG51bGwgICAgaENvbnN0cisqICAxMDAlICAgIG51bGwgICAgYm94CiAgLy8gLS0tLS0t
LSAtLS0tLS0tICsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICsgLS0tLS0tLS0gLS0tLS0tLSAtLS0t
LS0tLS0tIC0tLS0tLS0gLS0tLS0tLSAtLS0tLS0tLS0KICAvLyArID0gdXNlIHBlcmNlbnQgKHVu
aXQtbGVzcykgYXMgdGhlIGZsZXgKICAvLyAqID0gc3BhY2VycyBzaWJsaW5ncyBuZWVkIGZsZXgg
dmFsdWVzIHRvIGFjY29tbW9kYXRlIHRoZSBoQ29uc3RyCgogIC8vIFZCT1hFUzoKLy8gVE9ETwoK
ICBpZiAobGF5b3V0ID09ICJob3Jpem9udGFsIikKICB7CiAgICAvLyBEZXRlcm1pbmUgdGhlIHdy
YXBwZXIgZmxleGliaWxpdHk6CiAgICB2YXIgd3JhcEZsZXggPSBudWxsOwogICAgaWYgKHdGbGV4
ICE9IG51bGwpCiAgICB7CiAgICAgIHdyYXBGbGV4ID0gd0ZsZXg7CiAgICB9CgogICAgLy8gRGV0
ZXJtaW5lIHRoZSB3cmFwcGVyIHdpZHRoOgogICAgdmFyIHdyYXBXID0gbnVsbDsKICAgIGlmICh3
RmxleCA9PSBudWxsICYmIHdDb25zdHIgIT0gIiIpCiAgICB7CiAgICAgIHdyYXBXID0gd0NvbnN0
cjsKICAgIH0KCiAgICAvLyBEZXRlcm1pbmUgdGhlIGNoaWxkIGFuZCBjaGlsZCBzcGFjZXIgZmxl
eGliaWxpdHk6CiAgICB2YXIgY2hpbGRGbGV4ICAgICAgID0gbnVsbDsKICAgIHZhciBjaGlsZEJl
Zm9yZUZsZXggPSBudWxsOwogICAgdmFyIGNoaWxkQWZ0ZXJGbGV4ICA9IG51bGw7CiAgICBpZiAo
aEZsZXggPT0gbnVsbCkKICAgIHsKICAgICAgaWYgKHZhbGlnbiA9PSAidG9wIikKICAgICAgewog
ICAgICAgIGNoaWxkQWZ0ZXJGbGV4ID0gIjEiOwogICAgICB9CiAgICAgIGVsc2UgaWYgKHZhbGln
biA9PSAibWlkZGxlIikKICAgICAgewogICAgICAgIGNoaWxkQmVmb3JlRmxleCA9ICIxIjsKICAg
ICAgICBjaGlsZEFmdGVyRmxleCAgPSAiMSI7CiAgICAgIH0KICAgICAgZWxzZSBpZiAodmFsaWdu
ID09ICJib3R0b20iKQogICAgICB7CiAgICAgICAgY2hpbGRCZWZvcmVGbGV4ID0gIjEiOwogICAg
ICB9CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgIGNoaWxkRmxleCA9IGhGbGV4OwogICAgICB2
YXIgcmVtYWluaW5nRmxleCA9IDEwMC4wIC0gaEZsZXg7CiAgICAgIGlmIChyZW1haW5pbmdGbGV4
ID4gMCkKICAgICAgewogICAgICAgIGlmICh2YWxpZ24gPT0gInRvcCIpCiAgICAgICAgewogICAg
ICAgICAgY2hpbGRBZnRlckZsZXggPSByZW1haW5pbmdGbGV4OwogICAgICAgIH0KICAgICAgICBl
bHNlIGlmICh2YWxpZ24gPT0gIm1pZGRsZSIpCiAgICAgICAgewogICAgICAgICAgY2hpbGRCZWZv
cmVGbGV4ID0gcmVtYWluaW5nRmxleCAvIDIuMDsKICAgICAgICAgIGNoaWxkQWZ0ZXJGbGV4ICA9
IHJlbWFpbmluZ0ZsZXggLyAyLjA7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYgKHZhbGlnbiA9
PSAiYm90dG9tIikKICAgICAgICB7CiAgICAgICAgICBjaGlsZEJlZm9yZUZsZXggPSByZW1haW5p
bmdGbGV4OwogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIC8vIERldGVybWluZSB0aGUgY2hp
bGQgd2lkdGg6CiAgICB2YXIgY2hpbGRXID0gbnVsbDsKICAgIGlmICh3RmxleCA9PSBudWxsICYm
IHdDb25zdHIgIT0gIiIpCiAgICB7CiAgICAgIGNoaWxkVyA9IHdDb25zdHI7CiAgICB9CiAgICBl
bHNlIGlmICh3RmxleCAhPSBudWxsKQogICAgewogICAgICBjaGlsZFcgPSAiMTAwJSI7CiAgICB9
CgogICAgLy8gRGV0ZXJtaW5lIHRoZSBjaGlsZCBoZWlnaHQ6CiAgICB2YXIgY2hpbGRIID0gbnVs
bDsKICAgIGlmIChoRmxleCA9PSBudWxsICYmIGhDb25zdHIgIT0gIiIpCiAgICB7CiAgICAgIGNo
aWxkSCA9IGhDb25zdHI7CiAgICB9CgogICAgdmFyIGNoaWxkRGlzcCA9IG51bGw7CiAgICBpZiAo
d0NvbnN0ciA9PSAiIiAmJiBoQ29uc3RyID09ICIiKQogICAgewogICAgICBjaGlsZERpc3AgPSAi
ZGlzcGxheTpibG9jayI7CiAgICB9CgogICAgLy8gLS0tIGJ1aWxkIHRoZSBET00gLS0tCgogICAg
Ly8gQWxpZ25tZW50IHdyYXBwZXI6CiAgICBzYi5wdXNoKCc8ZGl2IGNsYXNzPSJBbGlnbm1lbnRX
cmFwcGVyIFRlc3RWYm94IicpOwogICAgaWYgKHdyYXBGbGV4ICE9IG51bGwgfHwgd3JhcFcgIT0g
bnVsbCkKICAgIHsKICAgICAgc2IucHVzaCgnIHN0eWxlPSInKTsKCiAgICAgIGlmICh3cmFwRmxl
eCAhPSBudWxsKQogICAgICB7CiAgICAgICAgc2IucHVzaChnZXRGbGV4U3R5bGVOYW1lKCkpOyAv
LyBpbmNsdWRlcyB0aGUgIjoiIGRlbGltaXRlcgogICAgICAgIHNiLnB1c2god3JhcEZsZXgpOwog
ICAgICB9CgogICAgICBpZiAod3JhcFcgIT0gbnVsbCkKICAgICAgewogICAgICAgIGlmICh3cmFw
RmxleCAhPSBudWxsKQogICAgICAgICAgc2IucHVzaCgiOyIpOwogICAgICAgIHNiLnB1c2goIndp
ZHRoOiIpOwogICAgICAgIHNiLnB1c2god3JhcFcpOwogICAgICB9CgogICAgICBzYi5wdXNoKCci
Jyk7CiAgICB9CiAgICBzYi5wdXNoKCc+Jyk7CgogICAgLy8gQmVmb3JlIHNwYWNlcjoKICAgIGlm
IChjaGlsZEJlZm9yZUZsZXggIT0gbnVsbCkKICAgIHsKICAgICAgc2IucHVzaCgnPGRpdiBjbGFz
cz0iQWxpZ25tZW50U3BhY2VyIiBzdHlsZT0iJyk7CiAgICAgIHNiLnB1c2goZ2V0RmxleFN0eWxl
TmFtZSgpKTsgLy8gaW5jbHVkZXMgdGhlICI6IiBkZWxpbWl0ZXIKICAgICAgc2IucHVzaChjaGls
ZEJlZm9yZUZsZXgpOwogICAgICBzYi5wdXNoKCciPjxkaXY+Jm5ic3A7PC9kaXY+PC9kaXY+Jyk7
IC8vIHRleHQgbXVzdCBiZSB3cmFwcGVkIGluIGEgYmxvY2sgdG8gYmUgYm94LWNvbXBhdGlibGUK
ICAgIH0KCiAgICAvLyBOb24tYWxpZ25tZW50IHdyYXBwZXI6CiAgICBzYi5wdXNoKCc8ZGl2IGNs
YXNzPSJOb25BbGlnbm1lbnRXcmFwcGVyIicpOwogICAgaWYgKGNoaWxkRmxleCAhPSBudWxsIHx8
IGNoaWxkVyAhPSBudWxsIHx8IGNoaWxkSCAhPSBudWxsIHx8IGNoaWxkRGlzcCAhPSBudWxsKQog
ICAgewogICAgICBzYi5wdXNoKCcgc3R5bGU9IicpOwogICAgICB2YXIgbmVlZHNEZWxpbWl0ZXIg
PSBmYWxzZTsKCiAgICAgIGlmIChjaGlsZEZsZXggIT0gbnVsbCkKICAgICAgewogICAgICAgIHNi
LnB1c2goZ2V0RmxleFN0eWxlTmFtZSgpKTsgLy8gaW5jbHVkZXMgdGhlICI6IiBkZWxpbWl0ZXIK
ICAgICAgICBzYi5wdXNoKGNoaWxkRmxleCk7CiAgICAgICAgbmVlZHNEZWxpbWl0ZXIgPSB0cnVl
OwogICAgICB9CgogICAgICBpZiAoY2hpbGRXICE9IG51bGwpCiAgICAgIHsKICAgICAgICBpZiAo
bmVlZHNEZWxpbWl0ZXIpCiAgICAgICAgICBzYi5wdXNoKCI7Iik7CiAgICAgICAgc2IucHVzaCgi
d2lkdGg6Iik7CiAgICAgICAgc2IucHVzaChjaGlsZFcpOwogICAgICAgIG5lZWRzRGVsaW1pdGVy
ID0gdHJ1ZTsKICAgICAgfQoKICAgICAgaWYgKGNoaWxkSCAhPSBudWxsKQogICAgICB7CiAgICAg
ICAgaWYgKG5lZWRzRGVsaW1pdGVyKQogICAgICAgICAgc2IucHVzaCgiOyIpOwogICAgICAgIHNi
LnB1c2goImhlaWdodDoiKTsKICAgICAgICBzYi5wdXNoKGNoaWxkSCk7CiAgICAgICAgbmVlZHNE
ZWxpbWl0ZXIgPSB0cnVlOwogICAgICB9CgogICAgICBpZiAoY2hpbGREaXNwICE9IG51bGwpCiAg
ICAgIHsKICAgICAgICBpZiAobmVlZHNEZWxpbWl0ZXIpCiAgICAgICAgICBzYi5wdXNoKCI7Iik7
CiAgICAgICAgc2IucHVzaChjaGlsZERpc3ApOwogICAgICB9CgogICAgICBzYi5wdXNoKCciJyk7
CiAgICB9CiAgICBzYi5wdXNoKCc+Jyk7CgogICAgLy8gRW5jb2RlIHRoZSBjaGlsZDoKICAgIHNi
LnB1c2goJzxkaXYgY2xhc3M9IicpOwogICAgc2IucHVzaChjbGFzc05hbWUpOwogICAgc2IucHVz
aCgnIiBzdHlsZT0iJyk7CiAgICBpZiAoY2xhc3NOYW1lID09ICJHcmVlbkNoaWxkIikKICAgIHsK
ICAgICAgc2IucHVzaCgncG9zaXRpb246cmVsYXRpdmU7Jyk7CiAgICB9CiAgICBzYi5wdXNoKCdm
b250LXNpemU6MTFweDtmb250LXdlaWdodDpub3JtYWwiPicpOwppZiAoY2xhc3NOYW1lID09ICJH
cmVlbkNoaWxkIikKewogIHNiLnB1c2goJzxkaXYgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3Rv
cDoyMHB4O2xlZnQ6MjBweDtyaWdodDoyMHB4O2JvdHRvbToyMHB4O2JhY2tncm91bmQtY29sb3I6
eWVsbG93O2NvbG9yOmJsYWNrOyI+dGVzdDwvZGl2PicpOwp9CnNiLnB1c2goIndyYXBGbGV4ID0g
Iik7CnNiLnB1c2god3JhcEZsZXgpOwpzYi5wdXNoKCIsPGJyPndyYXBXID0gIik7CnNiLnB1c2go
d3JhcFcpOwpzYi5wdXNoKCIsPGJyPmNoaWxkQmVmb3JlRmxleCA9ICIpOwpzYi5wdXNoKGNoaWxk
QmVmb3JlRmxleCk7CnNiLnB1c2goIiw8YnI+Y2hpbGRBZnRlckZsZXggPSAiKTsKc2IucHVzaChj
aGlsZEFmdGVyRmxleCk7CnNiLnB1c2goIiw8YnI+Y2hpbGRGbGV4ID0gIik7CnNiLnB1c2goY2hp
bGRGbGV4KTsKc2IucHVzaCgiLDxicj5jaGlsZFcgPSAiKTsKc2IucHVzaChjaGlsZFcpOwpzYi5w
dXNoKCIsPGJyPmNoaWxkSCA9ICIpOwpzYi5wdXNoKGNoaWxkSCk7CiAgICBzYi5wdXNoKCc8L2Rp
dj4nKTsKCiAgICAvLyBOb24tYWxpZ25tZW50IHdyYXBwZXI6CiAgICBzYi5wdXNoKCc8L2Rpdj4n
KTsKCiAgICAvLyBBZnRlciBzcGFjZXI6CiAgICBpZiAoY2hpbGRBZnRlckZsZXggIT0gbnVsbCkK
ICAgIHsKICAgICAgc2IucHVzaCgnPGRpdiBjbGFzcz0iQWxpZ25tZW50U3BhY2VyIiBzdHlsZT0i
Jyk7CiAgICAgIHNiLnB1c2goZ2V0RmxleFN0eWxlTmFtZSgpKTsgLy8gaW5jbHVkZXMgdGhlICI6
IiBkZWxpbWl0ZXIKICAgICAgc2IucHVzaChjaGlsZEFmdGVyRmxleCk7CiAgICAgIHNiLnB1c2go
JyI+PGRpdj4mbmJzcDs8L2Rpdj48L2Rpdj4nKTsgLy8gdGV4dCBtdXN0IGJlIHdyYXBwZWQgaW4g
YSBibG9jayB0byBiZSBib3gtY29tcGF0aWJsZQogICAgfQoKICAgIC8vIEFsaWdubWVudCB3cmFw
cGVyOgogICAgc2IucHVzaCgnPC9kaXY+Jyk7CiAgfQogIGVsc2UgLy8gdmVydGljYWwKICB7Ci8v
IFRPRE8KICB9CgogIHJldHVybiBzYi5qb2luKCIiKTsKfQoKZnVuY3Rpb24gZ2V0RmxleFN0eWxl
TmFtZSgpCnsKICBpZiAod2luZG93LmFnZW50TmFtZSA9PSAiZ2Vja28iKQogICAgcmV0dXJuICIt
bW96LWJveC1mbGV4OiI7CiAgZWxzZSBpZiAod2luZG93LmFnZW50TmFtZSA9PSAid2Via2l0IikK
ICAgIHJldHVybiAiLXdlYmtpdC1ib3gtZmxleDoiOwogIGVsc2UgaWYgKHdpbmRvdy5hZ2VudE5h
bWUgPT0gInRyaWRlbnQiKQogICAgcmV0dXJuICItbXMtYm94LWZsZXg6IjsKICBlbHNlIC8vIHN0
YW5kYXJkcwogICAgcmV0dXJuICJib3gtZmxleDoiOwp9CgpmdW5jdGlvbiBnZXRGbGV4U3R5bGVG
cm9tUGVyY2VudChkaW1lbnNpb24pCnsKICB2YXIgc2IgPSBuZXcgQXJyYXkoKTsKICBpZiAoZGlt
ZW5zaW9uLmluZGV4T2YoIiUiKSAhPSAtMSkKICB7CiAgICBzYi5wdXNoKGdldEZsZXhTdHlsZU5h
bWUoKSk7CiAgICBzYi5wdXNoKGRpbWVuc2lvbi5zdWJzdHJpbmcoMCwgZGltZW5zaW9uLmxlbmd0
aC0xKSk7IC8vIHN0cmlwIG91dCB0aGUgcGVyY2VudCBtYXJrZXIKICAgIHNiLnB1c2goIjsiKTsK
ICB9CiAgcmV0dXJuIHNiLmpvaW4oIiIpOwp9Cjwvc2NyaXB0Pgo8L2hlYWQ+Cjxib2R5IG9ubG9h
ZD0iaGFuZGxlTG9hZCgpIiBjbGFzcz0ic3RhbmRhcmRzIj4KPGgxPkZsZXggQm94IFVzZSBDYXNl
cyA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjlweDtmb250LXdlaWdodDpub3JtYWwiPih3ZWJraXQg
YnVnczogMT12YWxpZ24gbWlkZGxlIHJlc2l6ZTsgbm9uLUlFMTAgYnVnczogMT1ob3cgdG8gQ1NT
LXBvc2l0aW9uIGluc2lkZSBvZiBhIGJveCwgMj1DU1MtcG9zaXRpb24gd2hlbiAxIGRpbWVuc2lv
biBpcyBhdXRvPyEpPC9zcGFuPjwvaDE+CjwvYm9keT4KPC9odG1sPg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>142841</attachid>
            <date>2012-05-18 19:35:01 -0700</date>
            <delta_ts>2012-05-23 14:24:23 -0700</delta_ts>
            <desc>absolute positioned elements in flexbox container fail to stay abs. positioned.</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>1271</size>
            <attacher name="Eric">ericbidelman</attacher>
            
              <data encoding="base64">PHN0eWxlPgpib2R5IHsKICBkaXNwbGF5OiAtd2Via2l0LWZsZXhib3g7CglkaXNwbGF5OiAtd2Vi
a2l0LWZsZXg7Cgktd2Via2l0LWZsZXgtYWxpZ246IGNlbnRlcjsKICAtd2Via2l0LWZsZXgtcGFj
azogY2VudGVyOwogIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICBoZWlnaHQ6IDEw
MCU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQpib2R5ID4gZGl2IHsKCWRpc3BsYXk6IC13ZWJraXQt
ZmxleGJveDsKCWRpc3BsYXk6IC13ZWJraXQtZmxleDsKCXBhZGRpbmc6IDEwcHg7Cglib3JkZXI6
IDFweCBzb2xpZCByZWQ7CgloZWlnaHQ6IDIwMHB4OwoJd2lkdGg6IDQwMHB4OwoJLXdlYmtpdC1m
bGV4LWFsaWduOiBjZW50ZXI7CiAgLXdlYmtpdC1mbGV4LXBhY2s6IGNlbnRlcjsKICBwb3NpdGlv
bjogcmVsYXRpdmU7Cn0KYm9keSA+IGRpdjpiZWZvcmUgewogIGNvbnRlbnQ6ICcnOwogIHBvc2l0
aW9uOiBhYnNvbHV0ZTsKICBoZWlnaHQ6IDNweDsKCXdpZHRoOiAxMjAlOwoJdG9wOiAxMDBweDsK
CWxlZnQ6IC0xMCU7CgliYWNrZ3JvdW5kOiBncmVlbjsKfQpib2R5ID4gZGl2OmFmdGVyIHsKICBj
b250ZW50OiAnJzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgaGVpZ2h0OiAyNjBweDsKCXdpZHRo
OiAzcHg7Cgl0b3A6IC0xMCU7CglsZWZ0OiA1MCU7CgliYWNrZ3JvdW5kOiBncmVlbjsKfQo8L3N0
eWxlPgo8aDI+VGhlIGdyZWVuIGJhcnMgb24gdGhpcyBwYWdlIHNob3VsZCBOT1QgbW92ZSB3aGVu
IHRoZSBidXR0b25zIGFyZSBwcmVzc2VkLjwvaDI+Cjxicj4KCjxkaXY+Cgk8ZGl2IHN0eWxlPSJw
b3NpdGlvbjphYnNvbHV0ZTsgdG9wOiAyMHB4OyBsZWZ0OiAyMHB4OyI+SSBzaG91bGRuJ3QgbW92
ZTwvZGl2PgogIFRlc3QKPC9kaXY+CjxwPgoJPGJ1dHRvbiBvbmNsaWNrPSJ1cGRhdGUoJy13ZWJr
aXQtZmxleC1wYWNrJywgJ3N0YXJ0JykiPi13ZWJraXQtZmxleC1wYWNrOiBzdGFydDs8L2J1dHRv
bj4KCTxidXR0b24gb25jbGljaz0idXBkYXRlKCctd2Via2l0LWZsZXgtcGFjaycsICdjZW50ZXIn
KSI+LXdlYmtpdC1mbGV4LXBhY2s6IGNlbnRlcjs8L2J1dHRvbj4KCTxidXR0b24gb25jbGljaz0i
dXBkYXRlKCctd2Via2l0LWZsZXgtcGFjaycsICdlbmQnKSI+LXdlYmtpdC1mbGV4LXBhY2s6IGVu
ZDs8L2J1dHRvbj4KPC9wPgo8c2NyaXB0Pgp2YXIgZGl2ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cignZGl2Jyk7CmZ1bmN0aW9uIHVwZGF0ZShwcm9wLCB2YWwpIHsKCWRpdi5zdHlsZVtwcm9wXSA9
IHZhbDsKfQo8L3NjcmlwdD4=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>143651</attachid>
            <date>2012-05-23 14:24:23 -0700</date>
            <delta_ts>2012-05-23 14:24:23 -0700</delta_ts>
            <desc>more reduced test-case</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>855</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">PHN0eWxlPgojZmxleGJveCB7CglkaXNwbGF5OiAtd2Via2l0LWZsZXg7CgliYWNrZ3JvdW5kLWNv
bG9yOiBncmVlbjsKCWhlaWdodDogMjAwcHg7CiAgICB3aWR0aDogMjAwcHg7CiAgICAtd2Via2l0
LWZsZXgtYWxpZ246IGNlbnRlcjsKfQojaXRlbSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAg
ICB0b3A6IDIwcHg7CiAgICBsZWZ0OiAyMHB4OwogICAgd2lkdGg6IDIwcHg7CiAgICBoZWlnaHQ6
IDIwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7Cn0KPC9zdHlsZT4KPGRpdiBpZD0n
ZmxleGJveCc+PGRpdiBpZD0naXRlbSc+PC9kaXY+PC9kaXY+CjxzY3JpcHQ+CnZhciBpdGVtID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2l0ZW0nKTsKdmFyIGJlZm9yZVBvc2l0aW9uID0gaXRl
bS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZsZXhi
b3gnKS5zdHlsZS5oZWlnaHQgPSAnMjAxcHgnOwp2YXIgYWZ0ZXJQb3NpdGlvbiA9IGl0ZW0uZ2V0
Qm91bmRpbmdDbGllbnRSZWN0KCk7CgovLyBQb3NpdGlvbmVkIGVsZW1lbnQgc2hvdWxkIG5vdCBj
aGFuZ2UgcG9zaXRpb24gd2hlbiB0aGUgaGVpZ2h0IG9mIGl0J3MgcGFyZW50IGZsZXhib3ggaXMg
Y2hhbmdlZC4KZm9yICh2YXIga2V5IGluIGJlZm9yZVBvc2l0aW9uKSB7CiAgICBpZiAoYmVmb3Jl
UG9zaXRpb25ba2V5XSAhPSBhZnRlclBvc2l0aW9uW2tleV0pCiAgICAgICAgY29uc29sZS5sb2co
J0ZBSUw6ICcgKyBrZXkgKyAnIGJlZm9yZVBvc2l0aW9uOiAnICsgYmVmb3JlUG9zaXRpb25ba2V5
XSArICcgYWZ0ZXJQb3NpdGlvbjogJyArIGFmdGVyUG9zaXRpb25ba2V5XSk7Cn0KPC9zY3JpcHQ+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144189</attachid>
            <date>2012-05-25 21:03:27 -0700</date>
            <delta_ts>2012-05-29 12:17:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58453-20120525210326.patch</filename>
            <type>text/plain</type>
            <size>35678</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NDQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmJjNzIyNzgwNzFhMjIw
ODM5NTZjM2Y3YzUxYjgwNTcwNzA2OTllNi4uMzgzYTgwZGVhMzA1MmYwZTU0ODIwNTc5MmIzZDQ5
M2I2N2ZlMzM2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA1LTI1ICBPamFu
IFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWJzb2x1dGUgcG9zaXRpb25l
ZCBlbGVtZW50cyBpbiBhIHJlbGF0aXZlIHBvc2l0aW9uZWQgQ1NTMyBGbGV4Ym94IGZhaWwgdG8g
ZGlzcGxheSBwcm9wZXJseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTg0NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0OiBjc3MzL2ZsZXhib3gvYWxpZ24tYWJzb2x1dGUtY2hpbGQuaHRtbAorCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckZsZXhpYmxlQm94OjpzZXRTdGF0aWNQb3NpdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6cHJlcGFyZUNoaWxkRm9yUG9zaXRpb25lZExheW91dEhh
bmRsaW5nUm93UmV2ZXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6
cHJlcGFyZUNoaWxkRm9yUG9zaXRpb25lZExheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJGbGV4aWJsZUJveDo6bGF5b3V0QW5kUGxhY2VDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJGbGV4aWJsZUJveDo6YWRqdXN0QWxpZ25tZW50Rm9yQ2hpbGQpOgorICAgICAgICBX
aGVuIGFkanVzdGluZyBwb3NpdGlvbmVkIGl0ZW1zLCBhZGp1c3QgdGhlaXIgc3RhdGljIHBvc2l0
aW9uLCBub3QgdGhlaXIgbG9jYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJs
ZUJveDo6c2hvdWxkRmxleEFsaWduQXBwbHlUb0NoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckZsZXhpYmxlQm94OjphbGlnbkNoaWxkcmVuKToKKyAgICAgICAgT25seSBhcHBseSBmbGV4
LWFsaWduIHRvIHBvc2l0aW9uZWQgZWxlbWVudHMgdGhhdCBhcmUgcG9zaXRpb25lZCBpbiB0aGVp
ciBzdGF0aWMgcG9zaXRpb24KKyAgICAgICAgYWxvbmcgdGhlIGNyb3NzLWF4aXMuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6ZmxpcEZvclJpZ2h0VG9MZWZ0Q29sdW1uKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpmbGlwRm9yV3JhcFJldmVyc2Up
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oOgorCiAyMDEyLTA1LTI0
ICBDcnlzdGFsIFpoYW5nICA8aGFpemhhbmdAcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJy
eV0gSW1wbGVtZW50IHNlbGVjdCBwb3B1cCBhbmQgcmVtb3ZlIG9sZCBob29rIHRvIGFpciBwb3B1
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKaW5k
ZXggMmZlYWI0Zjc1YzM1Mzk3YzJlOGE4ZTU5YTY1OTczODNlZDFlYjZhOS4uMTQ0N2FiODY2ZWRh
OTk2MjczNjRiMjEyYzUwYjI5NDEwNDA5NjU2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCkBAIC05MzAsMjQgKzkzMCwzNSBAQCB2b2lkIFJl
bmRlckZsZXhpYmxlQm94OjpzZXRMb2dpY2FsT3ZlcnJpZGVTaXplKFJlbmRlckJveCogY2hpbGQs
IExheW91dFVuaXQgY2hpbAogICAgICAgICBjaGlsZC0+c2V0T3ZlcnJpZGVXaWR0aChjaGlsZFBy
ZWZlcnJlZFNpemUpOwogfQogCi12b2lkIFJlbmRlckZsZXhpYmxlQm94OjpwcmVwYXJlQ2hpbGRG
b3JQb3NpdGlvbmVkTGF5b3V0KFJlbmRlckJveCogY2hpbGQsIExheW91dFVuaXQgbWFpbkF4aXNP
ZmZzZXQsIExheW91dFVuaXQgY3Jvc3NBeGlzT2Zmc2V0KQordm9pZCBSZW5kZXJGbGV4aWJsZUJv
eDo6c2V0U3RhdGljUG9zaXRpb24oUmVuZGVyQm94KiBjaGlsZCwgTGF5b3V0VW5pdCBpbmxpbmVQ
b3NpdGlvbiwgTGF5b3V0VW5pdCBibG9ja1Bvc2l0aW9uKQogewogICAgIEFTU0VSVChjaGlsZC0+
aXNQb3NpdGlvbmVkKCkpOwogICAgIGNoaWxkLT5jb250YWluaW5nQmxvY2soKS0+aW5zZXJ0UG9z
aXRpb25lZE9iamVjdChjaGlsZCk7CiAgICAgUmVuZGVyTGF5ZXIqIGNoaWxkTGF5ZXIgPSBjaGls
ZC0+bGF5ZXIoKTsKLSAgICBMYXlvdXRVbml0IGlubGluZVBvc2l0aW9uID0gaXNDb2x1bW5GbG93
KCkgPyBjcm9zc0F4aXNPZmZzZXQgOiBtYWluQXhpc09mZnNldDsKLSAgICBpZiAoc3R5bGUoKS0+
ZmxleERpcmVjdGlvbigpID09IEZsb3dSb3dSZXZlcnNlKQotICAgICAgICBpbmxpbmVQb3NpdGlv
biA9IG1haW5BeGlzRXh0ZW50KCkgLSBtYWluQXhpc09mZnNldDsKICAgICBjaGlsZExheWVyLT5z
ZXRTdGF0aWNJbmxpbmVQb3NpdGlvbihpbmxpbmVQb3NpdGlvbik7IC8vIEZJWE1FOiBOb3Qgcmln
aHQgZm9yIHJlZ2lvbnMuCi0KLSAgICBMYXlvdXRVbml0IHN0YXRpY0Jsb2NrUG9zaXRpb24gPSBp
c0NvbHVtbkZsb3coKSA/IG1haW5BeGlzT2Zmc2V0IDogY3Jvc3NBeGlzT2Zmc2V0OwotICAgIGlm
IChjaGlsZExheWVyLT5zdGF0aWNCbG9ja1Bvc2l0aW9uKCkgIT0gc3RhdGljQmxvY2tQb3NpdGlv
bikgewotICAgICAgICBjaGlsZExheWVyLT5zZXRTdGF0aWNCbG9ja1Bvc2l0aW9uKHN0YXRpY0Js
b2NrUG9zaXRpb24pOworICAgIGlmIChjaGlsZExheWVyLT5zdGF0aWNCbG9ja1Bvc2l0aW9uKCkg
IT0gYmxvY2tQb3NpdGlvbikgeworICAgICAgICBjaGlsZExheWVyLT5zZXRTdGF0aWNCbG9ja1Bv
c2l0aW9uKGJsb2NrUG9zaXRpb24pOwogICAgICAgICBpZiAoY2hpbGQtPnN0eWxlKCktPmhhc1N0
YXRpY0Jsb2NrUG9zaXRpb24oc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkpCiAg
ICAgICAgICAgICBjaGlsZC0+c2V0Q2hpbGROZWVkc0xheW91dCh0cnVlLCBNYXJrT25seVRoaXMp
OwogICAgIH0KIH0KIAordm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6cHJlcGFyZUNoaWxkRm9yUG9z
aXRpb25lZExheW91dEhhbmRsaW5nUm93UmV2ZXJzZShSZW5kZXJCb3gqIGNoaWxkLCBMYXlvdXRV
bml0IG1haW5BeGlzT2Zmc2V0LCBMYXlvdXRVbml0IGNyb3NzQXhpc09mZnNldCkKK3sKKyAgICBM
YXlvdXRVbml0IGlubGluZVBvc2l0aW9uID0gaXNDb2x1bW5GbG93KCkgPyBjcm9zc0F4aXNPZmZz
ZXQgOiBtYWluQXhpc09mZnNldDsKKyAgICBpZiAoc3R5bGUoKS0+ZmxleERpcmVjdGlvbigpID09
IEZsb3dSb3dSZXZlcnNlKQorICAgICAgICBpbmxpbmVQb3NpdGlvbiA9IG1haW5BeGlzRXh0ZW50
KCkgLSBtYWluQXhpc09mZnNldDsKKyAgICBMYXlvdXRVbml0IGJsb2NrUG9zaXRpb24gPSBpc0Nv
bHVtbkZsb3coKSA/IG1haW5BeGlzT2Zmc2V0IDogY3Jvc3NBeGlzT2Zmc2V0OworICAgIHNldFN0
YXRpY1Bvc2l0aW9uKGNoaWxkLCBpbmxpbmVQb3NpdGlvbiwgYmxvY2tQb3NpdGlvbik7Cit9CisK
K3ZvaWQgUmVuZGVyRmxleGlibGVCb3g6OnByZXBhcmVDaGlsZEZvclBvc2l0aW9uZWRMYXlvdXQo
UmVuZGVyQm94KiBjaGlsZCwgTGF5b3V0VW5pdCBtYWluQXhpc09mZnNldCwgTGF5b3V0VW5pdCBj
cm9zc0F4aXNPZmZzZXQpCit7CisgICAgTGF5b3V0VW5pdCBpbmxpbmVQb3NpdGlvbiA9IGlzQ29s
dW1uRmxvdygpID8gY3Jvc3NBeGlzT2Zmc2V0IDogbWFpbkF4aXNPZmZzZXQ7CisgICAgTGF5b3V0
VW5pdCBibG9ja1Bvc2l0aW9uID0gaXNDb2x1bW5GbG93KCkgPyBtYWluQXhpc09mZnNldCA6IGNy
b3NzQXhpc09mZnNldDsKKyAgICBzZXRTdGF0aWNQb3NpdGlvbihjaGlsZCwgaW5saW5lUG9zaXRp
b24sIGJsb2NrUG9zaXRpb24pOworfQorCiBzdGF0aWMgRUZsZXhBbGlnbiBmbGV4QWxpZ25Gb3JD
aGlsZChSZW5kZXJCb3gqIGNoaWxkKQogewogICAgIEVGbGV4QWxpZ24gYWxpZ24gPSBjaGlsZC0+
c3R5bGUoKS0+ZmxleEl0ZW1BbGlnbigpOwpAQCAtOTgxLDcgKzk5Miw4IEBAIHZvaWQgUmVuZGVy
RmxleGlibGVCb3g6OmxheW91dEFuZFBsYWNlQ2hpbGRyZW4oTGF5b3V0VW5pdCYgY3Jvc3NBeGlz
T2Zmc2V0LCBjb25zCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjaGlsZHJlbi5zaXplKCk7
ICsraSkgewogICAgICAgICBSZW5kZXJCb3gqIGNoaWxkID0gY2hpbGRyZW5baV07CiAgICAgICAg
IGlmIChjaGlsZC0+aXNQb3NpdGlvbmVkKCkpIHsKLSAgICAgICAgICAgIHByZXBhcmVDaGlsZEZv
clBvc2l0aW9uZWRMYXlvdXQoY2hpbGQsIG1haW5BeGlzT2Zmc2V0LCBjcm9zc0F4aXNPZmZzZXQp
OworICAgICAgICAgICAgY2hpbGQtPmxheW91dElmTmVlZGVkKCk7CisgICAgICAgICAgICBwcmVw
YXJlQ2hpbGRGb3JQb3NpdGlvbmVkTGF5b3V0SGFuZGxpbmdSb3dSZXZlcnNlKGNoaWxkLCBtYWlu
QXhpc09mZnNldCwgY3Jvc3NBeGlzT2Zmc2V0KTsKICAgICAgICAgICAgIG1haW5BeGlzT2Zmc2V0
ICs9IHBhY2tpbmdTcGFjZUJldHdlZW5DaGlsZHJlbihhdmFpbGFibGVGcmVlU3BhY2UsIHN0eWxl
KCktPmZsZXhQYWNrKCksIGNoaWxkU2l6ZXMuc2l6ZSgpKTsKICAgICAgICAgICAgIGNvbnRpbnVl
OwogICAgICAgICB9CkBAIC0xMTEzLDggKzExMjUsMTcgQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJv
eDo6cGFja0ZsZXhMaW5lcyhGbGV4T3JkZXJJdGVyYXRvciYgaXRlcmF0b3IsIFdURjo6VmVjdG9y
PEwKIAogdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6YWRqdXN0QWxpZ25tZW50Rm9yQ2hpbGQoUmVu
ZGVyQm94KiBjaGlsZCwgTGF5b3V0VW5pdCBkZWx0YSkKIHsKLSAgICBMYXlvdXRSZWN0IG9sZFJl
Y3QgPSBjaGlsZC0+ZnJhbWVSZWN0KCk7CisgICAgaWYgKGNoaWxkLT5pc1Bvc2l0aW9uZWQoKSkg
eworICAgICAgICBMYXlvdXRVbml0IHN0YXRpY0lubGluZVBvc2l0aW9uID0gY2hpbGQtPmxheWVy
KCktPnN0YXRpY0lubGluZVBvc2l0aW9uKCk7CisgICAgICAgIExheW91dFVuaXQgc3RhdGljQmxv
Y2tQb3NpdGlvbiA9IGNoaWxkLT5sYXllcigpLT5zdGF0aWNCbG9ja1Bvc2l0aW9uKCk7CisgICAg
ICAgIExheW91dFVuaXQgbWFpbkF4aXMgPSBpc0NvbHVtbkZsb3coKSA/IHN0YXRpY0Jsb2NrUG9z
aXRpb24gOiBzdGF0aWNJbmxpbmVQb3NpdGlvbjsKKyAgICAgICAgTGF5b3V0VW5pdCBjcm9zc0F4
aXMgPSBpc0NvbHVtbkZsb3coKSA/IHN0YXRpY0lubGluZVBvc2l0aW9uIDogc3RhdGljQmxvY2tQ
b3NpdGlvbjsKKyAgICAgICAgY3Jvc3NBeGlzICs9IGRlbHRhOworICAgICAgICBwcmVwYXJlQ2hp
bGRGb3JQb3NpdGlvbmVkTGF5b3V0KGNoaWxkLCBtYWluQXhpcywgY3Jvc3NBeGlzKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KIAorICAgIExheW91dFJlY3Qgb2xkUmVjdCA9IGNoaWxkLT5mcmFt
ZVJlY3QoKTsKICAgICBzZXRGbG93QXdhcmVMb2NhdGlvbkZvckNoaWxkKGNoaWxkLCBmbG93QXdh
cmVMb2NhdGlvbkZvckNoaWxkKGNoaWxkKSArIExheW91dFNpemUoMCwgZGVsdGEpKTsKIAogICAg
IC8vIElmIHRoZSBjaGlsZCBtb3ZlZCwgd2UgaGF2ZSB0byByZXBhaW50IGl0IGFzIHdlbGwgYXMg
YW55IGZsb2F0aW5nL3Bvc2l0aW9uZWQKQEAgLTExMjQsNiArMTE0NSwxNSBAQCB2b2lkIFJlbmRl
ckZsZXhpYmxlQm94OjphZGp1c3RBbGlnbm1lbnRGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkLCBM
YXlvdXRVbml0IGRlbAogICAgICAgICBjaGlsZC0+cmVwYWludER1cmluZ0xheW91dElmTW92ZWQo
b2xkUmVjdCk7CiB9CiAKK2Jvb2wgUmVuZGVyRmxleGlibGVCb3g6OnNob3VsZEZsZXhBbGlnbkFw
cGx5VG9DaGlsZChSZW5kZXJCb3gqIGNoaWxkKQoreworICAgIGlmICghY2hpbGQtPmlzUG9zaXRp
b25lZCgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAoaXNIb3Jpem9udGFsRmxvdygp
KQorICAgICAgICByZXR1cm4gY2hpbGQtPnN0eWxlKCktPmhhc0F1dG9Ub3BBbmRCb3R0b20oKTsK
KyAgICByZXR1cm4gY2hpbGQtPnN0eWxlKCktPmhhc0F1dG9MZWZ0QW5kUmlnaHQoKTsKK30KKwog
dm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6YWxpZ25DaGlsZHJlbihGbGV4T3JkZXJJdGVyYXRvciYg
aXRlcmF0b3IsIGNvbnN0IFdURjo6VmVjdG9yPExpbmVDb250ZXh0PiYgbGluZUNvbnRleHRzKQog
ewogICAgIC8vIEtlZXAgdHJhY2sgb2YgdGhlIHNwYWNlIGJldHdlZW4gdGhlIGJhc2VsaW5lIGVk
Z2UgYW5kIHRoZSBhZnRlciBlZGdlIG9mIHRoZSBib3ggZm9yIGVhY2ggbGluZS4KQEAgLTExMzks
NiArMTE2OSw5IEBAIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmFsaWduQ2hpbGRyZW4oRmxleE9y
ZGVySXRlcmF0b3ImIGl0ZXJhdG9yLCBjb25zdCBXVEY6OlZlCiAgICAgICAgICAgICBBU1NFUlQo
Y2hpbGQpOwogICAgICAgICAgICAgaWYgKHVwZGF0ZUF1dG9NYXJnaW5zSW5Dcm9zc0F4aXMoY2hp
bGQsIGF2YWlsYWJsZUFsaWdubWVudFNwYWNlRm9yQ2hpbGQobGluZUNyb3NzQXhpc0V4dGVudCwg
Y2hpbGQpKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIC8vIEZJWE1F
OiBTaG91bGQgdGhpcyBjaGVjayBiZSBpbiBhZGp1c3RBbGlnbm1lbnRGb3JDaGlsZD8gSXQgZG9l
c24ndCBzZWVtIHRvIGFmZmVjdCBhbnkgdGVzdGNhc2VzLgorICAgICAgICAgICAgaWYgKCFzaG91
bGRGbGV4QWxpZ25BcHBseVRvQ2hpbGQoY2hpbGQpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwogCiAgICAgICAgICAgICBzd2l0Y2ggKGZsZXhBbGlnbkZvckNoaWxkKGNoaWxkKSkgewogICAg
ICAgICAgICAgY2FzZSBBbGlnbkF1dG86CkBAIC0xMjIyLDYgKzEyNTUsOCBAQCB2b2lkIFJlbmRl
ckZsZXhpYmxlQm94OjpmbGlwRm9yUmlnaHRUb0xlZnRDb2x1bW4oRmxleE9yZGVySXRlcmF0b3Im
IGl0ZXJhdG9yKQogCiAgICAgTGF5b3V0VW5pdCBjcm9zc0V4dGVudCA9IGNyb3NzQXhpc0V4dGVu
dCgpOwogICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGl0ZXJhdG9yLmZpcnN0KCk7IGNoaWxk
OyBjaGlsZCA9IGl0ZXJhdG9yLm5leHQoKSkgeworICAgICAgICBpZiAoY2hpbGQtPmlzUG9zaXRp
b25lZCgpKQorICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIExheW91dFBvaW50IGxvY2F0
aW9uID0gZmxvd0F3YXJlTG9jYXRpb25Gb3JDaGlsZChjaGlsZCk7CiAgICAgICAgIGxvY2F0aW9u
LnNldFkoY3Jvc3NFeHRlbnQgLSBjcm9zc0F4aXNFeHRlbnRGb3JDaGlsZChjaGlsZCkgLSBsb2Nh
dGlvbi55KCkpOwogICAgICAgICBzZXRGbG93QXdhcmVMb2NhdGlvbkZvckNoaWxkKGNoaWxkLCBs
b2NhdGlvbik7CkBAIC0xMjM1LDE2ICsxMjcwLDEwIEBAIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6
OmZsaXBGb3JXcmFwUmV2ZXJzZShGbGV4T3JkZXJJdGVyYXRvciYgaXRlcmF0b3IsIGNvbnN0IFdU
CiAgICAgZm9yIChzaXplX3QgbGluZU51bWJlciA9IDA7IGxpbmVOdW1iZXIgPCBsaW5lQ29udGV4
dHMuc2l6ZSgpOyArK2xpbmVOdW1iZXIpIHsKICAgICAgICAgZm9yIChzaXplX3QgY2hpbGROdW1i
ZXIgPSAwOyBjaGlsZE51bWJlciA8IGxpbmVDb250ZXh0c1tsaW5lTnVtYmVyXS5udW1iZXJPZkNo
aWxkcmVuOyArK2NoaWxkTnVtYmVyLCBjaGlsZCA9IGl0ZXJhdG9yLm5leHQoKSkgewogICAgICAg
ICAgICAgQVNTRVJUKGNoaWxkKTsKLSAgICAgICAgICAgIExheW91dFBvaW50IGxvY2F0aW9uID0g
Zmxvd0F3YXJlTG9jYXRpb25Gb3JDaGlsZChjaGlsZCk7CiAgICAgICAgICAgICBMYXlvdXRVbml0
IGxpbmVDcm9zc0F4aXNFeHRlbnQgPSBsaW5lQ29udGV4dHNbbGluZU51bWJlcl0uY3Jvc3NBeGlz
RXh0ZW50OwogICAgICAgICAgICAgTGF5b3V0VW5pdCBvcmlnaW5hbE9mZnNldCA9IGxpbmVDb250
ZXh0c1tsaW5lTnVtYmVyXS5jcm9zc0F4aXNPZmZzZXQgLSBjcm9zc0F4aXNTdGFydEVkZ2U7CiAg
ICAgICAgICAgICBMYXlvdXRVbml0IG5ld09mZnNldCA9IGNvbnRlbnRFeHRlbnQgLSBvcmlnaW5h
bE9mZnNldCAtIGxpbmVDcm9zc0F4aXNFeHRlbnQ7Ci0gICAgICAgICAgICBsb2NhdGlvbi5zZXRZ
KGxvY2F0aW9uLnkoKSArIG5ld09mZnNldCAtIG9yaWdpbmFsT2Zmc2V0KTsKLQotICAgICAgICAg
ICAgTGF5b3V0UmVjdCBvbGRSZWN0ID0gY2hpbGQtPmZyYW1lUmVjdCgpOwotICAgICAgICAgICAg
c2V0Rmxvd0F3YXJlTG9jYXRpb25Gb3JDaGlsZChjaGlsZCwgbG9jYXRpb24pOwotICAgICAgICAg
ICAgaWYgKCFzZWxmTmVlZHNMYXlvdXQoKSAmJiBjaGlsZC0+Y2hlY2tGb3JSZXBhaW50RHVyaW5n
TGF5b3V0KCkpCi0gICAgICAgICAgICAgICAgY2hpbGQtPnJlcGFpbnREdXJpbmdMYXlvdXRJZk1v
dmVkKG9sZFJlY3QpOworICAgICAgICAgICAgYWRqdXN0QWxpZ25tZW50Rm9yQ2hpbGQoY2hpbGQs
IG5ld09mZnNldCAtIG9yaWdpbmFsT2Zmc2V0KTsKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmgKaW5kZXggODM4M2E0NmI4
ZWUxYzcxYzllNmNjZjA0OGVlZDJlYTMyOGVjZjk2My4uMzQ5NGYxNjIxM2UwMDc1MTQ1YWUxYzk0
OTkwOGE2YTkyZGQ1NjNkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZsZXhpYmxlQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZs
ZXhpYmxlQm94LmgKQEAgLTEyMCwxMCArMTIwLDEzIEBAIHByaXZhdGU6CiAgICAgdm9pZCBmcmVl
emVWaW9sYXRpb25zKGNvbnN0IFdURjo6VmVjdG9yPFZpb2xhdGlvbj4mLCBMYXlvdXRVbml0JiBh
dmFpbGFibGVGcmVlU3BhY2UsIGZsb2F0JiB0b3RhbFBvc2l0aXZlRmxleGliaWxpdHksIGZsb2F0
JiB0b3RhbE5lZ2F0aXZlRmxleGliaWxpdHksIEluZmxleGlibGVGbGV4SXRlbVNpemUmKTsKIAog
ICAgIHZvaWQgc2V0TG9naWNhbE92ZXJyaWRlU2l6ZShSZW5kZXJCb3gqIGNoaWxkLCBMYXlvdXRV
bml0IGNoaWxkUHJlZmVycmVkU2l6ZSk7CisgICAgdm9pZCBzZXRTdGF0aWNQb3NpdGlvbihSZW5k
ZXJCb3gqIGNoaWxkLCBMYXlvdXRVbml0IGlubGluZVBvc2l0aW9uLCBMYXlvdXRVbml0IGJsb2Nr
UG9zaXRpb24pOworICAgIHZvaWQgcHJlcGFyZUNoaWxkRm9yUG9zaXRpb25lZExheW91dEhhbmRs
aW5nUm93UmV2ZXJzZShSZW5kZXJCb3gqIGNoaWxkLCBMYXlvdXRVbml0IG1haW5BeGlzT2Zmc2V0
LCBMYXlvdXRVbml0IGNyb3NzQXhpc09mZnNldCk7CiAgICAgdm9pZCBwcmVwYXJlQ2hpbGRGb3JQ
b3NpdGlvbmVkTGF5b3V0KFJlbmRlckJveCogY2hpbGQsIExheW91dFVuaXQgbWFpbkF4aXNPZmZz
ZXQsIExheW91dFVuaXQgY3Jvc3NBeGlzT2Zmc2V0KTsKICAgICB2b2lkIGxheW91dEFuZFBsYWNl
Q2hpbGRyZW4oTGF5b3V0VW5pdCYgY3Jvc3NBeGlzT2Zmc2V0LCBjb25zdCBPcmRlcmVkRmxleEl0
ZW1MaXN0JiwgY29uc3QgV1RGOjpWZWN0b3I8TGF5b3V0VW5pdD4mIGNoaWxkU2l6ZXMsIExheW91
dFVuaXQgYXZhaWxhYmxlRnJlZVNwYWNlLCBXVEY6OlZlY3RvcjxMaW5lQ29udGV4dD4mKTsKICAg
ICB2b2lkIGxheW91dENvbHVtblJldmVyc2UoY29uc3QgT3JkZXJlZEZsZXhJdGVtTGlzdCYsIGNv
bnN0IFdURjo6VmVjdG9yPExheW91dFVuaXQ+JiBjaGlsZFNpemVzLCBMYXlvdXRVbml0IGNyb3Nz
QXhpc09mZnNldCwgTGF5b3V0VW5pdCBhdmFpbGFibGVGcmVlU3BhY2UpOwogICAgIHZvaWQgcGFj
a0ZsZXhMaW5lcyhGbGV4T3JkZXJJdGVyYXRvciYsIFdURjo6VmVjdG9yPExpbmVDb250ZXh0PiYp
OworICAgIGJvb2wgc2hvdWxkRmxleEFsaWduQXBwbHlUb0NoaWxkKFJlbmRlckJveCopOwogICAg
IHZvaWQgYWxpZ25DaGlsZHJlbihGbGV4T3JkZXJJdGVyYXRvciYsIGNvbnN0IFdURjo6VmVjdG9y
PExpbmVDb250ZXh0PiYpOwogICAgIHZvaWQgYXBwbHlTdHJldGNoQWxpZ25tZW50VG9DaGlsZChS
ZW5kZXJCb3gqLCBMYXlvdXRVbml0IGxpbmVDcm9zc0F4aXNFeHRlbnQpOwogICAgIHZvaWQgZmxp
cEZvclJpZ2h0VG9MZWZ0Q29sdW1uKEZsZXhPcmRlckl0ZXJhdG9yJik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOWM4MDM2
ZTYxNTBjYjU5MDA5YjQ0NzRkMmI5ZDJhYzMyYmIyMDcyZi4uOWVmMTRiYjg3ODYzZjdiYTQ0MWQ3
YTg5MzZkZTRiYTY2Yzg3MDc2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA1LTI1ICBP
amFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWJzb2x1dGUgcG9zaXRp
b25lZCBlbGVtZW50cyBpbiBhIHJlbGF0aXZlIHBvc2l0aW9uZWQgQ1NTMyBGbGV4Ym94IGZhaWwg
dG8gZGlzcGxheSBwcm9wZXJseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTg0NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGNzczMvZmxleGJveC9hbGlnbi1hYnNvbHV0ZS1jaGlsZC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmxleGJveC9hbGlnbi1hYnNvbHV0ZS1jaGlsZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvcG9zaXRpb24tYWJzb2x1dGUtY2hp
bGQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGNzczMvZmxleGJveC9wb3NpdGlvbi1hYnNvbHV0
ZS1jaGlsZC5odG1sOgorCiAyMDEyLTA1LTI0ICBKZXNzaWUgQmVybGluICA8amJlcmxpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQXNzZXJ0aW9uIGZhaWx1cmUgaW4gcmVwbGF5U2F2ZWRFdmVudHMo
KSB3aGVuIHJ1bm5pbmcgZWRpdGluZy9zZWxlY3Rpb24vZHJhZy1pbi1pZnJhbWUuaHRtbApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2FsaWduLWFic29sdXRlLWNoaWxkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9hbGlnbi1hYnNvbHV0ZS1jaGls
ZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzA2MjlmY2Q5MDc3YjdmNWQzMDE5ZmI4ZmJkMTA5
YzUyN2ZkMDc4ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9h
bGlnbi1hYnNvbHV0ZS1jaGlsZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorUEFTUyBi
ZWZvcmVQb3NpdGlvbltrZXldIGlzIGFmdGVyUG9zaXRpb25ba2V5XQorUEFTUyBiZWZvcmVQb3Np
dGlvbltrZXldIGlzIGFmdGVyUG9zaXRpb25ba2V5XQorUEFTUyBiZWZvcmVQb3NpdGlvbltrZXld
IGlzIGFmdGVyUG9zaXRpb25ba2V5XQorUEFTUyBiZWZvcmVQb3NpdGlvbltrZXldIGlzIGFmdGVy
UG9zaXRpb25ba2V5XQorUEFTUyBiZWZvcmVQb3NpdGlvbltrZXldIGlzIGFmdGVyUG9zaXRpb25b
a2V5XQorUEFTUyBiZWZvcmVQb3NpdGlvbltrZXldIGlzIGFmdGVyUG9zaXRpb25ba2V5XQorUEFT
UworUEFTUworUEFTUworUEFTUworUEFTUworUEFTUworUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3NzMy9mbGV4Ym94L2FsaWduLWFic29sdXRlLWNoaWxkLmh0bWwgYi9MYXlvdXRUZXN0
cy9jc3MzL2ZsZXhib3gvYWxpZ24tYWJzb2x1dGUtY2hpbGQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMTE2
OTlhNGMyZDZlMjg2MzI2MzFhMjI3MmMzZmU5NDFkM2IwZDZhCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2FsaWduLWFic29sdXRlLWNoaWxkLmh0bWwKQEAgLTAs
MCArMSwxNjIgQEAKKzxzdHlsZT4KK2JvZHkgeworICAgIG1hcmdpbjogMDsKK30KKy5mbGV4Ym94
IHsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3Jl
ZW47CisgICAgaGVpZ2h0OiAxMDBweDsKKyAgICB3aWR0aDogMTAwcHg7CisgICAgbWFyZ2luOiAx
MHB4OworfQorLmFsaWduLWNlbnRlciB7CisgICAgLXdlYmtpdC1mbGV4LWFsaWduOiBjZW50ZXI7
Cit9Cisuc3RyZXRjaCB7CisgICAgLXdlYmtpdC1mbGV4LWFsaWduOiBzdHJldGNoOworfQorLnJl
bGF0aXZlIHsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cit9CisuZmxleGJveCA+IGRpdiB7Cisg
ICAgd2lkdGg6IDIwcHg7CisgICAgaGVpZ2h0OiAyMHB4OworfQorLmFic29sdXRlIHsKKyAgICBw
b3NpdGlvbjogYWJzb2x1dGU7Cit9CisjcGxhY2VkLWFic29sdXRlIHsKKyAgICB0b3A6IDIwcHg7
CisgICAgbGVmdDogMjBweDsKK30KKworLmhvcml6b250YWwtdGIgeworICAgIC13ZWJraXQtd3Jp
dGluZy1tb2RlOiBob3Jpem9udGFsLXRiOworfQorLmhvcml6b250YWwtYnQgeworICAgIC13ZWJr
aXQtd3JpdGluZy1tb2RlOiBob3Jpem9udGFsLWJ0OworfQorLnZlcnRpY2FsLXJsIHsKKyAgICAt
d2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7Cit9CisudmVydGljYWwtbHIgeworICAg
IC13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsKK30KKworLnJvdyB7CisgICAgLXdl
YmtpdC1mbGV4LWZsb3c6IHJvdzsKK30KKy5yb3ctcmV2ZXJzZSB7CisgICAgLXdlYmtpdC1mbGV4
LWZsb3c6IHJvdy1yZXZlcnNlOworfQorLmNvbHVtbiB7CisgICAgLXdlYmtpdC1mbGV4LWZsb3c6
IGNvbHVtbjsKK30KKy5jb2x1bW4tcmV2ZXJzZSB7CisgICAgLXdlYmtpdC1mbGV4LWZsb3c6IGNv
bHVtbi1yZXZlcnNlOworfQorCisucnRsIHsKKyAgICBkaXJlY3Rpb246IHJ0bDsKK30KKy5sdHIg
eworICAgIGRpcmVjdGlvbjogbHRyOworfQorCisud3JhcC1yZXZlcnNlIHsKKyAgICAtd2Via2l0
LWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlOworfQorCisuZmxleGJveCA6bnRoLWNoaWxkKDEpIHsK
KyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworfQorLmZsZXhib3ggOm50aC1jaGlsZCgyKSB7
CisgICAgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OworfQorLmZsZXhib3ggOm50aC1jaGlsZCgz
KSB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogc2FsbW9uOworfQorLmZsZXhib3ggOm50aC1jaGls
ZCg0KSB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsKK30KKy5mbGV4Ym94IDpudGgtY2hp
bGQoNSkgeworICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKK30KKy5mbGV4Ym94IDpudGgtY2hp
bGQoNikgeworICAgIGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsKK30KKy5mbGV4Ym94IDpudGgt
Y2hpbGQoNykgeworICAgIGJhY2tncm91bmQtY29sb3I6IHB1cnBsZTsKK30KKzwvc3R5bGU+CisK
KzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2ZsZXhib3guanMiPjwvc2NyaXB0PgorCis8
Ym9keSBvbmxvYWQ9ImNoZWNrRmxleEJveGVuKCkiPgorCis8ZGl2IGNsYXNzPSdmbGV4Ym94IHJl
bGF0aXZlIGFsaWduLWNlbnRlcic+CisgICAgPGRpdiBpZD0ncGxhY2VkLWFic29sdXRlJyBjbGFz
cz0nYWJzb2x1dGUnIGRhdGEtb2Zmc2V0LXg9MjAgZGF0YS1vZmZzZXQteT0yMD48L2Rpdj4KKzwv
ZGl2PgorCis8ZGl2IGNsYXNzPSdmbGV4Ym94IHJlbGF0aXZlIGFsaWduLWNlbnRlcic+CisgICAg
PGRpdiBkYXRhLW9mZnNldC14PTAgZGF0YS1vZmZzZXQteT00MD48L2Rpdj4KKyAgICA8ZGl2IGNs
YXNzPSdhYnNvbHV0ZScgZGF0YS1vZmZzZXQteD0yMCBkYXRhLW9mZnNldC15PTQwPjwvZGl2Pgor
ICAgIDxkaXYgZGF0YS1vZmZzZXQteD0yMCBkYXRhLW9mZnNldC15PTQwPjwvZGl2PgorICAgIDxk
aXYgY2xhc3M9ImFic29sdXRlIiBzdHlsZT0idG9wOiA1cHg7IGxlZnQ6IDVweCIgZGF0YS1vZmZz
ZXQteD01IGRhdGEtb2Zmc2V0LXk9NT48L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJyZWxh
dGl2ZSI+Cis8ZGl2IGNsYXNzPSdmbGV4Ym94IGFsaWduLWNlbnRlcic+CisgICAgPGRpdiBkYXRh
LW9mZnNldC14PTEwIGRhdGEtb2Zmc2V0LXk9NDA+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0nYWJz
b2x1dGUnIGRhdGEtb2Zmc2V0LXg9MzAgZGF0YS1vZmZzZXQteT00MD48L2Rpdj4KKyAgICA8ZGl2
IGRhdGEtb2Zmc2V0LXg9MzAgZGF0YS1vZmZzZXQteT00MD48L2Rpdj4KKyAgICA8ZGl2IGNsYXNz
PSJhYnNvbHV0ZSIgc3R5bGU9InRvcDogNXB4OyBsZWZ0OiA1cHgiIGRhdGEtb2Zmc2V0LXg9NSBk
YXRhLW9mZnNldC15PTU+PC9kaXY+Cis8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSdmbGV4
Ym94IHJlbGF0aXZlIGNvbHVtbiBydGwnPgorICAgIDxkaXYgZGF0YS1vZmZzZXQteD04MCBkYXRh
LW9mZnNldC15PTA+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0nYWJzb2x1dGUnIGRhdGEtb2Zmc2V0
LXg9ODAgZGF0YS1vZmZzZXQteT0yMD48L2Rpdj4KKyAgICA8ZGl2IGRhdGEtb2Zmc2V0LXg9ODAg
ZGF0YS1vZmZzZXQteT0yMD48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSIgc3R5bGU9
InRvcDogNXB4OyBsZWZ0OiA1cHgiIGRhdGEtb2Zmc2V0LXg9NSBkYXRhLW9mZnNldC15PTU+PC9k
aXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0icmVsYXRpdmUiPgorPGRpdiBjbGFzcz0nZmxleGJv
eCB3cmFwLXJldmVyc2UnPgorICAgIDxkaXYgc3R5bGU9IndpZHRoOjkwcHgiIGRhdGEtb2Zmc2V0
LXg9MTAgZGF0YS1vZmZzZXQteT04MD48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSIg
ZGF0YS1vZmZzZXQteD0xMDAgZGF0YS1vZmZzZXQteT04MD48L2Rpdj4KKyAgICA8ZGl2IGRhdGEt
b2Zmc2V0LXg9MTAgZGF0YS1vZmZzZXQteT0zMD48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJhYnNv
bHV0ZSIgZGF0YS1vZmZzZXQteD0zMCBkYXRhLW9mZnNldC15PTMwPjwvZGl2PgorICAgIDxkaXYg
ZGF0YS1vZmZzZXQteD0zMCBkYXRhLW9mZnNldC15PTMwPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9
ImFic29sdXRlIiBkYXRhLW9mZnNldC14PTUwIGRhdGEtb2Zmc2V0LXk9MzA+PC9kaXY+CisgICAg
PGRpdiBjbGFzcz0iYWJzb2x1dGUiIHN0eWxlPSJ0b3A6IDVweDsgbGVmdDogNXB4IiBkYXRhLW9m
ZnNldC14PTUgZGF0YS1vZmZzZXQteT01PjwvZGl2PgorPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBj
bGFzcz0nZmxleGJveCByZWxhdGl2ZSc+CisgICAgPGRpdiBzdHlsZT0ibWFyZ2luOiBhdXRvOyIg
ZGF0YS1vZmZzZXQteD00MCBkYXRhLW9mZnNldC15PTQwPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9
ImFic29sdXRlIiBzdHlsZT0ibWFyZ2luOiBhdXRvOyIgZGF0YS1vZmZzZXQteD0xMDAgZGF0YS1v
ZmZzZXQteT00MD48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSIgc3R5bGU9Im1hcmdp
bjogYXV0bzsiIGRhdGEtb2Zmc2V0LXg9MTAwIGRhdGEtb2Zmc2V0LXk9NDA+PC9kaXY+CisgICAg
PGRpdiBjbGFzcz0iYWJzb2x1dGUiIHN0eWxlPSJtYXJnaW46IGF1dG87IHRvcDogNXB4OyBsZWZ0
OiA1cHgiIGRhdGEtb2Zmc2V0LXg9NSBkYXRhLW9mZnNldC15PTU+PC9kaXY+Cis8L2Rpdj4KKwor
PGRpdiBjbGFzcz0nZmxleGJveCBzdHJldGNoIHJlbGF0aXZlJz4KKyAgICA8ZGl2IHN0eWxlPSJo
ZWlnaHQ6IGF1dG8iIGRhdGEtb2Zmc2V0LXg9MCBkYXRhLW9mZnNldC15PTAgZGF0YS1leHBlY3Rl
ZC1oZWlnaHQ9MTAwPjwvZGl2PgorICAgIDwhLS0gRklYTUU6IFNob3VsZCBwb3NpdGlvbmVkIGZs
ZXggaXRlbXMgc3RyZXRjaCB0byB0aGVpciBjb250YWluZXI/IC0tPgorICAgIDxkaXYgY2xhc3M9
ImFic29sdXRlIiBzdHlsZT0iaGVpZ2h0OiBhdXRvIiBkYXRhLW9mZnNldC14PTIwIGRhdGEtb2Zm
c2V0LXk9MCBkYXRhLWV4cGVjdGVkLWhlaWdodD0wPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9ImFi
c29sdXRlIiBzdHlsZT0iaGVpZ2h0OiBhdXRvOyB0b3A6IDVweDsgbGVmdDogNXB4IiBkYXRhLW9m
ZnNldC14PTUgZGF0YS1vZmZzZXQteT01IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTA+PC9kaXY+Cis8
L2Rpdj4KKworCis8c2NyaXB0PgordmFyIGFic29sdXRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3BsYWNlZC1hYnNvbHV0ZScpOwordmFyIGJlZm9yZVBvc2l0aW9uID0gYWJzb2x1dGUuZ2V0
Qm91bmRpbmdDbGllbnRSZWN0KCk7Citkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuZmxleGJveCcp
LnN0eWxlLmhlaWdodCA9ICcxMDFweCc7Cit2YXIgYWZ0ZXJQb3NpdGlvbiA9IGFic29sdXRlLmdl
dEJvdW5kaW5nQ2xpZW50UmVjdCgpOworCisvLyBQb3NpdGlvbmVkIGVsZW1lbnQgc2hvdWxkIG5v
dCBjaGFuZ2UgcG9zaXRpb24gd2hlbiB0aGUgaGVpZ2h0IG9mIGl0J3MgcGFyZW50IGZsZXhib3gg
aXMgY2hhbmdlZC4KK2ZvciAoa2V5IGluIGJlZm9yZVBvc2l0aW9uKQorICAgIHNob3VsZEJlKCdi
ZWZvcmVQb3NpdGlvbltrZXldJywgJ2FmdGVyUG9zaXRpb25ba2V5XScpOworPC9zY3JpcHQ+Cis8
L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3NzMy9mbGV4Ym94L3Bvc2l0aW9uLWFic29sdXRlLWNoaWxkLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2NzczMvZmxleGJveC9wb3NpdGlvbi1hYnNvbHV0ZS1jaGlsZC1leHBlY3RlZC50
eHQKaW5kZXggOGQ3ZmM0ZjU3NWY1MzAyZWE0NWU4NWI2ZjYzMjEzMGZjNjQ1MDc0Yy4uNjk1NzI1
MjBlOGViMmE1MGQxZmJkZTZhMDRmZjZmYjYyN2YzMTAyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvY3NzMy9mbGV4Ym94L3Bvc2l0aW9uLWFic29sdXRlLWNoaWxkLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvcG9zaXRpb24tYWJzb2x1dGUtY2hpbGQtZXhwZWN0
ZWQudHh0CkBAIC01LDYgKzUsOSBAQCBQQVNTCiBQQVNTCiBQQVNTCiBQQVNTCitQQVNTCitQQVNT
CitQQVNTCiBob3Jpem9udGFsLXRiIHJ0bCByb3cKIFBBU1MKIFBBU1MKQEAgLTEyLDYgKzE1LDkg
QEAgUEFTUwogUEFTUwogUEFTUwogUEFTUworUEFTUworUEFTUworUEFTUwogaG9yaXpvbnRhbC10
YiBsdHIgY29sdW1uCiBQQVNTCiBQQVNTCkBAIC0xOSw2ICsyNSw5IEBAIFBBU1MKIFBBU1MKIFBB
U1MKIFBBU1MKK1BBU1MKK1BBU1MKK1BBU1MKIGhvcml6b250YWwtdGIgcnRsIGNvbHVtbgogUEFT
UwogUEFTUwpAQCAtMjYsNiArMzUsOSBAQCBQQVNTCiBQQVNTCiBQQVNTCiBQQVNTCitQQVNTCitQ
QVNTCitQQVNTCiBob3Jpem9udGFsLXRiIGx0ciByb3ctcmV2ZXJzZQogUEFTUwogUEFTUwpAQCAt
MzMsNiArNDUsOSBAQCBQQVNTCiBQQVNTCiBQQVNTCiBQQVNTCitQQVNTCitQQVNTCitQQVNTCiBo
b3Jpem9udGFsLXRiIHJ0bCByb3ctcmV2ZXJzZQogUEFTUwogUEFTUwpAQCAtNDAsNiArNTUsOSBA
QCBQQVNTCiBQQVNTCiBQQVNTCiBQQVNTCitQQVNTCitQQVNTCitQQVNTCiBob3Jpem9udGFsLXRi
IGx0ciBjb2x1bW4tcmV2ZXJzZQogUEFTUwogUEFTUwpAQCAtNDcsNiArNjUsOSBAQCBQQVNTCiBQ
QVNTCiBQQVNTCiBQQVNTCitQQVNTCitQQVNTCitQQVNTCiBob3Jpem9udGFsLXRiIHJ0bCBjb2x1
bW4tcmV2ZXJzZQogUEFTUwogUEFTUwpAQCAtNTQsNiArNzUsOSBAQCBQQVNTCiBQQVNTCiBQQVNT
CiBQQVNTCitQQVNTCitQQVNTCitQQVNTCiBob3Jpem9udGFsLWJ0IGx0ciByb3cKIFBBU1MKIFBB
U1MKQEAgLTYxLDYgKzg1LDkgQEAgUEFTUwogUEFTUwogUEFTUwogUEFTUworUEFTUworUEFTUwor
UEFTUwogaG9yaXpvbnRhbC1idCBydGwgcm93CiBQQVNTCiBQQVNTCkBAIC02OCw2ICs5NSw5IEBA
IFBBU1MKIFBBU1MKIFBBU1MKIFBBU1MKK1BBU1MKK1BBU1MKK1BBU1MKIGhvcml6b250YWwtYnQg
bHRyIGNvbHVtbgogUEFTUwogUEFTUwpAQCAtNzUsNiArMTA1LDkgQEAgUEFTUwogUEFTUwogUEFT
UwogUEFTUworUEFTUworUEFTUworUEFTUwogaG9yaXpvbnRhbC1idCBydGwgY29sdW1uCiBQQVNT
CiBQQVNTCkBAIC04Miw2ICsxMTUsOSBAQCBQQVNTCiBQQVNTCiBQQVNTCiBQQVNTCitQQVNTCitQ
QVNTCitQQVNTCiBob3Jpem9udGFsLWJ0IGx0ciByb3ctcmV2ZXJzZQogUEFTUwogUEFTUwpAQCAt
ODksNiArMTI1LDkgQEAgUEFTUwogUEFTUwogUEFTUwogUEFTUworUEFTUworUEFTUworUEFTUwog
aG9yaXpvbnRhbC1idCBydGwgcm93LXJldmVyc2UKIFBBU1MKIFBBU1MKQEAgLTk2LDYgKzEzNSw5
IEBAIFBBU1MKIFBBU1MKIFBBU1MKIFBBU1MKK1BBU1MKK1BBU1MKK1BBU1MKIGhvcml6b250YWwt
YnQgbHRyIGNvbHVtbi1yZXZlcnNlCiBQQVNTCiBQQVNTCkBAIC0xMDMsNiArMTQ1LDkgQEAgUEFT
UwogUEFTUwogUEFTUwogUEFTUworUEFTUworUEFTUworUEFTUwogaG9yaXpvbnRhbC1idCBydGwg
Y29sdW1uLXJldmVyc2UKIFBBU1MKIFBBU1MKQEAgLTExMCw2ICsxNTUsOSBAQCBQQVNTCiBQQVNT
CiBQQVNTCiBQQVNTCitQQVNTCitQQVNTCitQQVNTCiB2ZXJ0aWNhbC1ybCBsdHIgcm93CiBQQVNT
CiBQQVNTCkBAIC0xMTcsNiArMTY1LDkgQEAgUEFTUwogUEFTUwogUEFTUwogUEFTUworUEFTUwor
UEFTUworUEFTUwogdmVydGljYWwtcmwgcnRsIHJvdwogUEFTUwogUEFTUwpAQCAtMTI0LDYgKzE3
NSw5IEBAIFBBU1MKIFBBU1MKIFBBU1MKIFBBU1MKK1BBU1MKK1BBU1MKK1BBU1MKIHZlcnRpY2Fs
LXJsIGx0ciBjb2x1bW4KIFBBU1MKIFBBU1MKQEAgLTEzMSw2ICsxODUsOSBAQCBQQVNTCiBQQVNT
CiBQQVNTCiBQQVNTCitQQVNTCitQQVNTCitQQVNTCiB2ZXJ0aWNhbC1ybCBydGwgY29sdW1uCiBQ
QVNTCiBQQVNTCkBAIC0xMzgsNiArMTk1LDkgQEAgUEFTUwogUEFTUwogUEFTUwogUEFTUworUEFT
UworUEFTUworUEFTUwogdmVydGljYWwtcmwgbHRyIHJvdy1yZXZlcnNlCiBQQVNTCiBQQVNTCkBA
IC0xNDUsNiArMjA1LDkgQEAgUEFTUwogUEFTUwogUEFTUwogUEFTUworUEFTUworUEFTUworUEFT
UwogdmVydGljYWwtcmwgcnRsIHJvdy1yZXZlcnNlCiBQQVNTCiBQQVNTCkBAIC0xNTIsNiArMjE1
LDkgQEAgUEFTUwogUEFTUwogUEFTUwogUEFTUworUEFTUworUEFTUworUEFTUwogdmVydGljYWwt
cmwgbHRyIGNvbHVtbi1yZXZlcnNlCiBQQVNTCiBQQVNTCkBAIC0xNTksNiArMjI1LDkgQEAgUEFT
UwogUEFTUwogUEFTUwogUEFTUworUEFTUworUEFTUworUEFTUwogdmVydGljYWwtcmwgcnRsIGNv
bHVtbi1yZXZlcnNlCiBQQVNTCiBQQVNTCkBAIC0xNjYsNiArMjM1LDkgQEAgUEFTUwogUEFTUwog
UEFTUwogUEFTUworUEFTUworUEFTUworUEFTUwogdmVydGljYWwtbHIgbHRyIHJvdwogUEFTUwog
UEFTUwpAQCAtMTczLDYgKzI0NSw5IEBAIFBBU1MKIFBBU1MKIFBBU1MKIFBBU1MKK1BBU1MKK1BB
U1MKK1BBU1MKIHZlcnRpY2FsLWxyIHJ0bCByb3cKIFBBU1MKIFBBU1MKQEAgLTE4MCw2ICsyNTUs
OSBAQCBQQVNTCiBQQVNTCiBQQVNTCiBQQVNTCitQQVNTCitQQVNTCitQQVNTCiB2ZXJ0aWNhbC1s
ciBsdHIgY29sdW1uCiBQQVNTCiBQQVNTCkBAIC0xODcsNiArMjY1LDkgQEAgUEFTUwogUEFTUwog
UEFTUwogUEFTUworUEFTUworUEFTUworUEFTUwogdmVydGljYWwtbHIgcnRsIGNvbHVtbgogUEFT
UwogUEFTUwpAQCAtMTk0LDYgKzI3NSw5IEBAIFBBU1MKIFBBU1MKIFBBU1MKIFBBU1MKK1BBU1MK
K1BBU1MKK1BBU1MKIHZlcnRpY2FsLWxyIGx0ciByb3ctcmV2ZXJzZQogUEFTUwogUEFTUwpAQCAt
MjAxLDYgKzI4NSw5IEBAIFBBU1MKIFBBU1MKIFBBU1MKIFBBU1MKK1BBU1MKK1BBU1MKK1BBU1MK
IHZlcnRpY2FsLWxyIHJ0bCByb3ctcmV2ZXJzZQogUEFTUwogUEFTUwpAQCAtMjA4LDYgKzI5NSw5
IEBAIFBBU1MKIFBBU1MKIFBBU1MKIFBBU1MKK1BBU1MKK1BBU1MKK1BBU1MKIHZlcnRpY2FsLWxy
IGx0ciBjb2x1bW4tcmV2ZXJzZQogUEFTUwogUEFTUwpAQCAtMjE1LDYgKzMwNSw5IEBAIFBBU1MK
IFBBU1MKIFBBU1MKIFBBU1MKK1BBU1MKK1BBU1MKK1BBU1MKIHZlcnRpY2FsLWxyIHJ0bCBjb2x1
bW4tcmV2ZXJzZQogUEFTUwogUEFTUwpAQCAtMjIyLDMgKzMxNSw2IEBAIFBBU1MKIFBBU1MKIFBB
U1MKIFBBU1MKK1BBU1MKK1BBU1MKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMv
ZmxleGJveC9wb3NpdGlvbi1hYnNvbHV0ZS1jaGlsZC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9m
bGV4Ym94L3Bvc2l0aW9uLWFic29sdXRlLWNoaWxkLmh0bWwKaW5kZXggYzY0MDQxNzAwZTlkNDEz
Yjc0YzIyMGE1OTFlYmYwMDliODQ0MDI5NS4uYjlmZDIwZTc0ODNiMjA5OTVkMzkzOTQ0ZjlmZDcz
N2U2N2Y5NGM0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L3Bvc2l0aW9u
LWFic29sdXRlLWNoaWxkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L3Bvc2l0
aW9uLWFic29sdXRlLWNoaWxkLmh0bWwKQEAgLTkxLDYgKzkxLDkgQEAgdmFyIGV4cGVjdGF0aW9u
cyA9IHsKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFswLCAyNjAsIDU2MF0gfSwKICAgICAg
ICAgICAgICAgICB7IG9mZnNldHM6IFswLCAzMDAsIDU2MF0gfSwKICAgICAgICAgICAgICAgICB7
IG9mZnNldHM6IFswLCAzMDAsIDYwMF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFsx
MCwgMTAsIDUwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzEwLCA1MCwgNTBdIH0s
CisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMTAsIDUwLCA5MF0gfSwKICAgICAgICAgICAg
IF0sCiAgICAgICAgICAgICBydGw6IFsKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs2MDAs
IDM2MCwgMF0sIHNpemVzOiBbMCwgMjQwLCAzNjBdIH0sCkBAIC05OSw2ICsxMDIsOSBAQCB2YXIg
ZXhwZWN0YXRpb25zID0gewogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzU4MCwgMzAwLCAw
XSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzU2MCwgMjgwLCAwXSB9LAogICAgICAg
ICAgICAgICAgIHsgb2Zmc2V0czogWzU2MCwgMjYwLCAtMjBdIH0sCisgICAgICAgICAgICAgICAg
eyBvZmZzZXRzOiBbNTAsIDUwLCAxMF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs1
MCwgMTAsIDEwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzUwLCAxMCwgLTMwXSB9
LAogICAgICAgICAgICAgXSwKICAgICAgICAgfSwKICAgICAgICAgY29sdW1uOiB7CkBAIC0xMDks
NiArMTE1LDkgQEAgdmFyIGV4cGVjdGF0aW9ucyA9IHsKICAgICAgICAgICAgICAgICB7IG9mZnNl
dHM6IFswLCAyMCwgODBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwgNjAsIDgw
XSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDYwLCAxMjBdIH0sCisgICAgICAg
ICAgICAgICAgeyBvZmZzZXRzOiBbMTAsIDEwLCA1MF0gfSwKKyAgICAgICAgICAgICAgICB7IG9m
ZnNldHM6IFsxMCwgNTAsIDUwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzEwLCA1
MCwgOTBdIH0sCiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgcnRsOiBbCiAgICAgICAgICAg
ICAgICAgeyBvZmZzZXRzOiBbMCwgMCwgNDhdLCBzaXplczogWzAsIDQ4LCA3Ml0gfSwKQEAgLTEx
Nyw2ICsxMjYsOSBAQCB2YXIgZXhwZWN0YXRpb25zID0gewogICAgICAgICAgICAgICAgIHsgb2Zm
c2V0czogWzAsIDIwLCA4MF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFswLCA2MCwg
ODBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwgNjAsIDEyMF0gfSwKKyAgICAg
ICAgICAgICAgICB7IG9mZnNldHM6IFsxMCwgMTAsIDUwXSB9LAorICAgICAgICAgICAgICAgIHsg
b2Zmc2V0czogWzEwLCA1MCwgNTBdIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMTAs
IDUwLCA5MF0gfSwKICAgICAgICAgICAgIF0sCiAgICAgICAgIH0sCiAgICAgICAgICdyb3ctcmV2
ZXJzZSc6IHsKQEAgLTEyNyw2ICsxMzksOSBAQCB2YXIgZXhwZWN0YXRpb25zID0gewogICAgICAg
ICAgICAgICAgIHsgb2Zmc2V0czogWzYwMCwgMzAwLCAwXSB9LAogICAgICAgICAgICAgICAgIHsg
b2Zmc2V0czogWzU2MCwgMzAwLCAwXSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzU2
MCwgMjYwLCAwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzkwLCA1MCwgMTBdIH0s
CisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTAsIDUwLCAxMF0gfSwKKyAgICAgICAgICAg
ICAgICB7IG9mZnNldHM6IFs1MCwgMTAsIDEwXSB9LAogICAgICAgICAgICAgXSwKICAgICAgICAg
ICAgIHJ0bDogWwogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDAsIDI0MF0sIHNpemVz
OiBbMCwgMjQwLCAzNjBdIH0sCkBAIC0xMzUsNiArMTUwLDkgQEAgdmFyIGV4cGVjdGF0aW9ucyA9
IHsKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFstMjAsIDI2MCwgNTYwXSB9LAogICAgICAg
ICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDI4MCwgNTYwXSB9LAogICAgICAgICAgICAgICAgIHsg
b2Zmc2V0czogWzAsIDMwMCwgNTgwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWy0z
MCwgMTAsIDUwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzEwLCAxMCwgNTBdIH0s
CisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMTAsIDUwLCA1MF0gfSwKICAgICAgICAgICAg
IF0sCiAgICAgICAgIH0sCiAgICAgICAgICdjb2x1bW4tcmV2ZXJzZSc6IHsKQEAgLTE0NSw2ICsx
NjMsOSBAQCB2YXIgZXhwZWN0YXRpb25zID0gewogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czog
WzEyMCwgNjAsIDBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbODAsIDYwLCAwXSB9
LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzgwLCAyMCwgMF0gfSwKKyAgICAgICAgICAg
ICAgICB7IG9mZnNldHM6IFs5MCwgNTAsIDEwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0
czogWzUwLCA1MCwgMTBdIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTAsIDEwLCAx
MF0gfSwKICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICBydGw6IFsKICAgICAgICAgICAgICAg
ICB7IG9mZnNldHM6IFsxMjAsIDcyLCAwXSwgc2l6ZXM6IFswLCA0OCwgNzJdIH0sCkBAIC0xNTMs
NiArMTc0LDkgQEAgdmFyIGV4cGVjdGF0aW9ucyA9IHsKICAgICAgICAgICAgICAgICB7IG9mZnNl
dHM6IFsxMjAsIDYwLCAwXSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzgwLCA2MCwg
MF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs4MCwgMjAsIDBdIH0sCisgICAgICAg
ICAgICAgICAgeyBvZmZzZXRzOiBbOTAsIDUwLCAxMF0gfSwKKyAgICAgICAgICAgICAgICB7IG9m
ZnNldHM6IFs1MCwgNTAsIDEwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzUwLCAx
MCwgMTBdIH0sCiAgICAgICAgICAgICBdLAogICAgICAgICB9LAogICAgIH0sCkBAIC0xNjYsNiAr
MTkwLDkgQEAgdmFyIGV4cGVjdGF0aW9ucyA9IHsKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6
IFswLCAyNjAsIDU2MF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFswLCAzMDAsIDU2
MF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFswLCAzMDAsIDYwMF0gfSwKKyAgICAg
ICAgICAgICAgICB7IG9mZnNldHM6IFsxMCwgMTAsIDUwXSB9LAorICAgICAgICAgICAgICAgIHsg
b2Zmc2V0czogWzEwLCA1MCwgNTBdIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMTAs
IDUwLCA5MF0gfSwKICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICBydGw6IFsKICAgICAgICAg
ICAgICAgICB7IG9mZnNldHM6IFs2MDAsIDM2MCwgMF0sIHNpemVzOiBbMCwgMjQwLCAzNjBdIH0s
CkBAIC0xNzQsNiArMjAxLDkgQEAgdmFyIGV4cGVjdGF0aW9ucyA9IHsKICAgICAgICAgICAgICAg
ICB7IG9mZnNldHM6IFs1ODAsIDMwMCwgMF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6
IFs1NjAsIDI4MCwgMF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs1NjAsIDI2MCwg
LTIwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzUwLCA1MCwgMTBdIH0sCisgICAg
ICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTAsIDEwLCAxMF0gfSwKKyAgICAgICAgICAgICAgICB7
IG9mZnNldHM6IFs1MCwgMTAsIC0zMF0gfSwKICAgICAgICAgICAgIF0sCiAgICAgICAgIH0sCiAg
ICAgICAgIC8vIGhvcml6b250YWwtYnQgZmxpcHMgdGhlIG1haW4gYXhpcyBkaXJlY3Rpb24gc28g
dGhlIG9mZnNldHMgYXJlIGRpZmZlcmVudCBmcm9tIGhvcml6b250YWwtdGIuCkBAIC0xODUsNiAr
MjE1LDkgQEAgdmFyIGV4cGVjdGF0aW9ucyA9IHsKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6
IFsxMDAsIDYwLCAwXSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzgwLCA0MCwgMF0g
fSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs4MCwgMjAsIC0yMF0gfSwKKyAgICAgICAg
ICAgICAgICB7IG9mZnNldHM6IFs1MCwgNTAsIDEwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zm
c2V0czogWzUwLCAxMCwgMTBdIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTAsIDEw
LCAtMzBdIH0sCiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgcnRsOiBbCiAgICAgICAgICAg
ICAgICAgeyBvZmZzZXRzOiBbMTIwLCA3MiwgMF0sIHNpemVzOiBbMCwgNDgsIDcyXSB9LApAQCAt
MTkzLDYgKzIyNiw5IEBAIHZhciBleHBlY3RhdGlvbnMgPSB7CiAgICAgICAgICAgICAgICAgeyBv
ZmZzZXRzOiBbMTAwLCA2MCwgMF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs4MCwg
NDAsIDBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbODAsIDIwLCAtMjBdIH0sCisg
ICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTAsIDUwLCAxMF0gfSwKKyAgICAgICAgICAgICAg
ICB7IG9mZnNldHM6IFs1MCwgMTAsIDEwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czog
WzUwLCAxMCwgLTMwXSB9LAogICAgICAgICAgICAgXSwKICAgICAgICAgfSwKICAgICAgICAgJ3Jv
dy1yZXZlcnNlJzogewpAQCAtMjAzLDYgKzIzOSw5IEBAIHZhciBleHBlY3RhdGlvbnMgPSB7CiAg
ICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNjAwLCAzMDAsIDBdIH0sCiAgICAgICAgICAgICAg
ICAgeyBvZmZzZXRzOiBbNTYwLCAzMDAsIDBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRz
OiBbNTYwLCAyNjAsIDBdIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbOTAsIDUwLCAx
MF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs1MCwgNTAsIDEwXSB9LAorICAgICAg
ICAgICAgICAgIHsgb2Zmc2V0czogWzUwLCAxMCwgMTBdIH0sCiAgICAgICAgICAgICBdLAogICAg
ICAgICAgICAgcnRsOiBbCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwgMCwgMjQwXSwg
c2l6ZXM6IFswLCAyNDAsIDM2MF0gfSwKQEAgLTIxMSw2ICsyNTAsOSBAQCB2YXIgZXhwZWN0YXRp
b25zID0gewogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWy0yMCwgMjYwLCA1NjBdIH0sCiAg
ICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwgMjgwLCA1NjBdIH0sCiAgICAgICAgICAgICAg
ICAgeyBvZmZzZXRzOiBbMCwgMzAwLCA1ODBdIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRz
OiBbLTMwLCAxMCwgNTBdIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMTAsIDEwLCA1
MF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFsxMCwgNTAsIDUwXSB9LAogICAgICAg
ICAgICAgXSwKICAgICAgICAgfSwKICAgICAgICAgJ2NvbHVtbi1yZXZlcnNlJzogewpAQCAtMjIx
LDYgKzI2Myw5IEBAIHZhciBleHBlY3RhdGlvbnMgPSB7CiAgICAgICAgICAgICAgICAgeyBvZmZz
ZXRzOiBbLTIwLCAyMCwgODBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwgNDAs
IDgwXSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDYwLCAxMDBdIH0sCisgICAg
ICAgICAgICAgICAgeyBvZmZzZXRzOiBbLTMwLCAxMCwgNTBdIH0sCisgICAgICAgICAgICAgICAg
eyBvZmZzZXRzOiBbMTAsIDEwLCA1MF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFsx
MCwgNTAsIDUwXSB9LAogICAgICAgICAgICAgXSwKICAgICAgICAgICAgIHJ0bDogWwogICAgICAg
ICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDAsIDQ4XSwgc2l6ZXM6IFswLCA0OCwgNzJdIH0sCkBA
IC0yMjksNiArMjc0LDkgQEAgdmFyIGV4cGVjdGF0aW9ucyA9IHsKICAgICAgICAgICAgICAgICB7
IG9mZnNldHM6IFstMjAsIDIwLCA4MF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFsw
LCA0MCwgODBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwgNjAsIDEwMF0gfSwK
KyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFstMzAsIDEwLCA1MF0gfSwKKyAgICAgICAgICAg
ICAgICB7IG9mZnNldHM6IFsxMCwgMTAsIDUwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0
czogWzEwLCA1MCwgNTBdIH0sCiAgICAgICAgICAgICBdLAogICAgICAgICB9LAogICAgIH0sCkBA
IC0yNDIsNiArMjkwLDkgQEAgdmFyIGV4cGVjdGF0aW9ucyA9IHsKICAgICAgICAgICAgICAgICB7
IG9mZnNldHM6IFswLCAyMCwgODBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwg
NjAsIDgwXSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDYwLCAxMjBdIH0sCisg
ICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMTAsIDEwLCA1MF0gfSwKKyAgICAgICAgICAgICAg
ICB7IG9mZnNldHM6IFsxMCwgNTAsIDUwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czog
WzEwLCA1MCwgOTBdIH0sCiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgcnRsOiBbCiAgICAg
ICAgICAgICAgICAgeyBvZmZzZXRzOiBbMTIwLCA3MiwgMF0sIHNpemVzOiBbMCwgNDgsIDcyXSB9
LApAQCAtMjUwLDYgKzMwMSw5IEBAIHZhciBleHBlY3RhdGlvbnMgPSB7CiAgICAgICAgICAgICAg
ICAgeyBvZmZzZXRzOiBbMTAwLCA2MCwgMF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6
IFs4MCwgNDAsIDBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbODAsIDIwLCAtMjBd
IH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTAsIDUwLCAxMF0gfSwKKyAgICAgICAg
ICAgICAgICB7IG9mZnNldHM6IFs1MCwgMTAsIDEwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zm
c2V0czogWzUwLCAxMCwgLTMwXSB9LAogICAgICAgICAgICAgXSwKICAgICAgICAgfSwKICAgICAg
ICAgY29sdW1uOiB7CkBAIC0yNjEsNiArMzE1LDkgQEAgdmFyIGV4cGVjdGF0aW9ucyA9IHsKICAg
ICAgICAgICAgICAgICB7IG9mZnNldHM6IFs1ODAsIDMwMCwgMF0gfSwKICAgICAgICAgICAgICAg
ICB7IG9mZnNldHM6IFs1NjAsIDI4MCwgMF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6
IFs1NjAsIDI2MCwgLTIwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzUwLCA1MCwg
MTBdIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTAsIDEwLCAxMF0gfSwKKyAgICAg
ICAgICAgICAgICB7IG9mZnNldHM6IFs1MCwgMTAsIC0zMF0gfSwKICAgICAgICAgICAgIF0sCiAg
ICAgICAgICAgICBydGw6IFsKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs2MDAsIDM2MCwg
MF0sIHNpemVzOiBbMCwgMjQwLCAzNjBdIH0sCkBAIC0yNjksNiArMzI2LDkgQEAgdmFyIGV4cGVj
dGF0aW9ucyA9IHsKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs1ODAsIDMwMCwgMF0gfSwK
ICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs1NjAsIDI4MCwgMF0gfSwKICAgICAgICAgICAg
ICAgICB7IG9mZnNldHM6IFs1NjAsIDI2MCwgLTIwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zm
c2V0czogWzUwLCA1MCwgMTBdIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTAsIDEw
LCAxMF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs1MCwgMTAsIC0zMF0gfSwKICAg
ICAgICAgICAgIF0sCiAgICAgICAgIH0sCiAgICAgICAgICdyb3ctcmV2ZXJzZSc6IHsKQEAgLTI3
OSw2ICszMzksOSBAQCB2YXIgZXhwZWN0YXRpb25zID0gewogICAgICAgICAgICAgICAgIHsgb2Zm
c2V0czogWzEyMCwgNjAsIDBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbODAsIDYw
LCAwXSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzgwLCAyMCwgMF0gfSwKKyAgICAg
ICAgICAgICAgICB7IG9mZnNldHM6IFs5MCwgNTAsIDEwXSB9LAorICAgICAgICAgICAgICAgIHsg
b2Zmc2V0czogWzUwLCA1MCwgMTBdIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTAs
IDEwLCAxMF0gfSwKICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICBydGw6IFsKICAgICAgICAg
ICAgICAgICB7IG9mZnNldHM6IFswLCAwLCA0OF0sIHNpemVzOiBbMCwgNDgsIDcyXSB9LApAQCAt
Mjg3LDYgKzM1MCw5IEBAIHZhciBleHBlY3RhdGlvbnMgPSB7CiAgICAgICAgICAgICAgICAgeyBv
ZmZzZXRzOiBbLTIwLCAyMCwgODBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwg
NDAsIDgwXSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDYwLCAxMDBdIH0sCisg
ICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbLTMwLCAxMCwgNTBdIH0sCisgICAgICAgICAgICAg
ICAgeyBvZmZzZXRzOiBbMTAsIDEwLCA1MF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6
IFsxMCwgNTAsIDUwXSB9LAogICAgICAgICAgICAgXSwKICAgICAgICAgfSwKICAgICAgICAgJ2Nv
bHVtbi1yZXZlcnNlJzogewpAQCAtMjk3LDYgKzM2Myw5IEBAIHZhciBleHBlY3RhdGlvbnMgPSB7
CiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbLTIwLCAyNjAsIDU2MF0gfSwKICAgICAgICAg
ICAgICAgICB7IG9mZnNldHM6IFswLCAyODAsIDU2MF0gfSwKICAgICAgICAgICAgICAgICB7IG9m
ZnNldHM6IFswLCAzMDAsIDU4MF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFstMzAs
IDEwLCA1MF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFsxMCwgMTAsIDUwXSB9LAor
ICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzEwLCA1MCwgNTBdIH0sCiAgICAgICAgICAgICBd
LAogICAgICAgICAgICAgcnRsOiBbCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwgMCwg
MjQwXSwgc2l6ZXM6IFswLCAyNDAsIDM2MF0gfSwKQEAgLTMwNSw2ICszNzQsOSBAQCB2YXIgZXhw
ZWN0YXRpb25zID0gewogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWy0yMCwgMjYwLCA1NjBd
IH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwgMjgwLCA1NjBdIH0sCiAgICAgICAg
ICAgICAgICAgeyBvZmZzZXRzOiBbMCwgMzAwLCA1ODBdIH0sCisgICAgICAgICAgICAgICAgeyBv
ZmZzZXRzOiBbLTMwLCAxMCwgNTBdIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMTAs
IDEwLCA1MF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFsxMCwgNTAsIDUwXSB9LAog
ICAgICAgICAgICAgXSwKICAgICAgICAgfQogICAgIH0sCkBAIC0zMTgsNiArMzkwLDkgQEAgdmFy
IGV4cGVjdGF0aW9ucyA9IHsKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFswLCAyMCwgODBd
IH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwgNjAsIDgwXSB9LAogICAgICAgICAg
ICAgICAgIHsgb2Zmc2V0czogWzAsIDYwLCAxMjBdIH0sCisgICAgICAgICAgICAgICAgeyBvZmZz
ZXRzOiBbMTAsIDEwLCA1MF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFsxMCwgNTAs
IDUwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzEwLCA1MCwgOTBdIH0sCiAgICAg
ICAgICAgICBdLAogICAgICAgICAgICAgcnRsOiBbCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRz
OiBbMTIwLCA3MiwgMF0sIHNpemVzOiBbMCwgNDgsIDcyXSB9LApAQCAtMzI2LDYgKzQwMSw5IEBA
IHZhciBleHBlY3RhdGlvbnMgPSB7CiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMTAwLCA2
MCwgMF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs4MCwgNDAsIDBdIH0sCiAgICAg
ICAgICAgICAgICAgeyBvZmZzZXRzOiBbODAsIDIwLCAtMjBdIH0sCisgICAgICAgICAgICAgICAg
eyBvZmZzZXRzOiBbNTAsIDUwLCAxMF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs1
MCwgMTAsIDEwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzUwLCAxMCwgLTMwXSB9
LAogICAgICAgICAgICAgXSwKICAgICAgICAgfSwKICAgICAgICAgY29sdW1uOiB7CkBAIC0zMzcs
NiArNDE1LDkgQEAgdmFyIGV4cGVjdGF0aW9ucyA9IHsKICAgICAgICAgICAgICAgICB7IG9mZnNl
dHM6IFswLCAyNjAsIDU2MF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFswLCAzMDAs
IDU2MF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFswLCAzMDAsIDYwMF0gfSwKKyAg
ICAgICAgICAgICAgICB7IG9mZnNldHM6IFsxMCwgMTAsIDUwXSB9LAorICAgICAgICAgICAgICAg
IHsgb2Zmc2V0czogWzEwLCA1MCwgNTBdIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBb
MTAsIDUwLCA5MF0gfSwKICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICBydGw6IFsKICAgICAg
ICAgICAgICAgICB7IG9mZnNldHM6IFswLCAwLCAyNDBdLCBzaXplczogWzAsIDI0MCwgMzYwXSB9
LApAQCAtMzQ1LDYgKzQyNiw5IEBAIHZhciBleHBlY3RhdGlvbnMgPSB7CiAgICAgICAgICAgICAg
ICAgeyBvZmZzZXRzOiBbMCwgMjYwLCA1NjBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRz
OiBbMCwgMzAwLCA1NjBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwgMzAwLCA2
MDBdIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMTAsIDEwLCA1MF0gfSwKKyAgICAg
ICAgICAgICAgICB7IG9mZnNldHM6IFsxMCwgNTAsIDUwXSB9LAorICAgICAgICAgICAgICAgIHsg
b2Zmc2V0czogWzEwLCA1MCwgOTBdIH0sCiAgICAgICAgICAgICBdLAogICAgICAgICB9LAogICAg
ICAgICAncm93LXJldmVyc2UnOiB7CkBAIC0zNTUsNiArNDM5LDkgQEAgdmFyIGV4cGVjdGF0aW9u
cyA9IHsKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFsxMjAsIDYwLCAwXSB9LAogICAgICAg
ICAgICAgICAgIHsgb2Zmc2V0czogWzgwLCA2MCwgMF0gfSwKICAgICAgICAgICAgICAgICB7IG9m
ZnNldHM6IFs4MCwgMjAsIDBdIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbOTAsIDUw
LCAxMF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs1MCwgNTAsIDEwXSB9LAorICAg
ICAgICAgICAgICAgIHsgb2Zmc2V0czogWzUwLCAxMCwgMTBdIH0sCiAgICAgICAgICAgICBdLAog
ICAgICAgICAgICAgcnRsOiBbCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwgMCwgNDhd
LCBzaXplczogWzAsIDQ4LCA3Ml0gfSwKQEAgLTM2Myw2ICs0NTAsOSBAQCB2YXIgZXhwZWN0YXRp
b25zID0gewogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWy0yMCwgMjAsIDgwXSB9LAogICAg
ICAgICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDQwLCA4MF0gfSwKICAgICAgICAgICAgICAgICB7
IG9mZnNldHM6IFswLCA2MCwgMTAwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWy0z
MCwgMTAsIDUwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzEwLCAxMCwgNTBdIH0s
CisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMTAsIDUwLCA1MF0gfSwKICAgICAgICAgICAg
IF0sCiAgICAgICAgIH0sCiAgICAgICAgICdjb2x1bW4tcmV2ZXJzZSc6IHsKQEAgLTM3Myw2ICs0
NjMsOSBAQCB2YXIgZXhwZWN0YXRpb25zID0gewogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czog
WzYwMCwgMzAwLCAwXSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzU2MCwgMzAwLCAw
XSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzU2MCwgMjYwLCAwXSB9LAorICAgICAg
ICAgICAgICAgIHsgb2Zmc2V0czogWzkwLCA1MCwgMTBdIH0sCisgICAgICAgICAgICAgICAgeyBv
ZmZzZXRzOiBbNTAsIDUwLCAxMF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs1MCwg
MTAsIDEwXSB9LAogICAgICAgICAgICAgXSwKICAgICAgICAgICAgIHJ0bDogWwogICAgICAgICAg
ICAgICAgIHsgb2Zmc2V0czogWzYwMCwgMzYwLCAwXSwgc2l6ZXM6IFswLCAyNDAsIDM2MF0gfSwK
QEAgLTM4MSw2ICs0NzQsOSBAQCB2YXIgZXhwZWN0YXRpb25zID0gewogICAgICAgICAgICAgICAg
IHsgb2Zmc2V0czogWzYwMCwgMzAwLCAwXSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czog
WzU2MCwgMzAwLCAwXSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzU2MCwgMjYwLCAw
XSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzkwLCA1MCwgMTBdIH0sCisgICAgICAg
ICAgICAgICAgeyBvZmZzZXRzOiBbNTAsIDUwLCAxMF0gfSwKKyAgICAgICAgICAgICAgICB7IG9m
ZnNldHM6IFs1MCwgMTAsIDEwXSB9LAogICAgICAgICAgICAgXSwKICAgICAgICAgfSwKICAgICB9
CkBAIC0zOTksOCArNDk1LDYgQEAgZnVuY3Rpb24gc2V0RmxleGJveFNpemUoZmxleGJveCwgZmxl
eERpcmVjdGlvbikKIGZ1bmN0aW9uIGFkZEZsZXhQYWNrSnVzdGlmeVRlc3RzKHdyaXRpbmdNb2Rl
LCBmbGV4RmxvdywgZGlyZWN0aW9uLCBmbGV4RGlyZWN0aW9uKQogewogICAgIHZhciBmbGV4Ym94
Q2xhc3NOYW1lID0gd3JpdGluZ01vZGUgKyAnICcgKyBkaXJlY3Rpb24gKyAnICcgKyBmbGV4Rmxv
dzsKLQotCiAgICAgZm9yICh2YXIgYWJzb2x1dGVJbmRleCA9IDE7IGFic29sdXRlSW5kZXggPD0g
MzsgKythYnNvbHV0ZUluZGV4KSB7CiAgICAgICAgIHZhciBleHBlY3RlZCA9IGV4cGVjdGF0aW9u
c1t3cml0aW5nTW9kZV1bZmxleEZsb3ddW2RpcmVjdGlvbl1bMiArIGFic29sdXRlSW5kZXhdOwog
CkBAIC00MzQsNiArNTI4LDM4IEBAIGZ1bmN0aW9uIGFkZEZsZXhQYWNrSnVzdGlmeVRlc3RzKHdy
aXRpbmdNb2RlLCBmbGV4RmxvdywgZGlyZWN0aW9uLCBmbGV4RGlyZWN0aW9uCiAgICAgfQogfQog
CitmdW5jdGlvbiBhZGRGbGV4QWxpZ25DZW50ZXJUZXN0cyh3cml0aW5nTW9kZSwgZmxleEZsb3cs
IGRpcmVjdGlvbiwgZmxleERpcmVjdGlvbikKK3sKKyAgICB2YXIgZmxleGJveENsYXNzTmFtZSA9
IHdyaXRpbmdNb2RlICsgJyAnICsgZGlyZWN0aW9uICsgJyAnICsgZmxleEZsb3c7CisgICAgZm9y
ICh2YXIgYWJzb2x1dGVJbmRleCA9IDE7IGFic29sdXRlSW5kZXggPD0gMzsgKythYnNvbHV0ZUlu
ZGV4KSB7CisgICAgICAgIHZhciBleHBlY3RlZCA9IGV4cGVjdGF0aW9uc1t3cml0aW5nTW9kZV1b
ZmxleEZsb3ddW2RpcmVjdGlvbl1bNSArIGFic29sdXRlSW5kZXhdOworCisgICAgICAgIHZhciBm
bGV4Ym94ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgIGZsZXhib3gu
Y2xhc3NOYW1lID0gJ2ZsZXhib3ggJyArIGZsZXhib3hDbGFzc05hbWU7CisgICAgICAgIGZsZXhi
b3guc3R5bGUuaGVpZ2h0ID0gJzEwMHB4JzsKKyAgICAgICAgZmxleGJveC5zdHlsZS53aWR0aCA9
ICcxMDBweCc7CisgICAgICAgIGZsZXhib3guc3R5bGUubWFyZ2luID0gIjIwcHgiOworICAgICAg
ICBmbGV4Ym94LnN0eWxlLndlYmtpdEZsZXhQYWNrID0gJ2NlbnRlcic7CisgICAgICAgIGZsZXhi
b3guc3R5bGUud2Via2l0RmxleEFsaWduID0gJ2NlbnRlcic7CisKKyAgICAgICAgZm9yICh2YXIg
Y2hpbGRJbmRleCA9IDE7IGNoaWxkSW5kZXggPD0gMzsgKytjaGlsZEluZGV4KSB7CisgICAgICAg
ICAgICB2YXIgY2hpbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAg
ICAgIGlmIChhYnNvbHV0ZUluZGV4ID09IGNoaWxkSW5kZXgpIHsKKyAgICAgICAgICAgICAgICBj
aGlsZC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7CisgICAgICAgICAgICAgICAgY2hpbGQu
c3R5bGUub3V0bGluZSA9ICIycHggc29saWQgeWVsbG93IjsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGNoaWxkLnN0eWxlLndpZHRoID0gJzQwcHgnOworICAgICAgICAgICAgY2hpbGQuc3R5
bGUuaGVpZ2h0ID0gJzQwcHgnOworCisgICAgICAgICAgICBjaGlsZC5zZXRBdHRyaWJ1dGUoJ2Rh
dGEtb2Zmc2V0LScgKyAoZmxleERpcmVjdGlvbiA9PSAnd2lkdGgnID8gJ3gnIDogJ3knKSwgZXhw
ZWN0ZWQub2Zmc2V0c1tjaGlsZEluZGV4IC0gMV0pOworICAgICAgICAgICAgY2hpbGQuc2V0QXR0
cmlidXRlKCdkYXRhLW9mZnNldC0nICsgKGZsZXhEaXJlY3Rpb24gPT0gJ3dpZHRoJyA/ICd5JyA6
ICd4JyksIDMwKTsKKyAgICAgICAgICAgIGZsZXhib3guYXBwZW5kQ2hpbGQoY2hpbGQpOworICAg
ICAgICB9CisKKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmbGV4Ym94KTsKKyAg
ICB9Cit9CisKIHdyaXRpbmdNb2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKHdyaXRpbmdNb2RlKSB7CiAg
ICAgZmxleEZsb3dzLmZvckVhY2goZnVuY3Rpb24oZmxleEZsb3cpIHsKICAgICAgICAgZGlyZWN0
aW9ucy5mb3JFYWNoKGZ1bmN0aW9uKGRpcmVjdGlvbikgewpAQCAtNDQ0LDcgKzU3MCw2IEBAIHdy
aXRpbmdNb2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKHdyaXRpbmdNb2RlKSB7CiAgICAgICAgICAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRpdGxlKTsKIAogICAgICAgICAgICAgdmFyIGZsZXhE
aXJlY3Rpb24gPSBnZXRGbGV4RGlyZWN0aW9uKGZsZXhGbG93LCB3cml0aW5nTW9kZSk7Ci0KICAg
ICAgICAgICAgIGZvciAodmFyIGFic29sdXRlSW5kZXggPSAxOyBhYnNvbHV0ZUluZGV4IDw9IDM7
ICsrYWJzb2x1dGVJbmRleCkgewogICAgICAgICAgICAgICAgIHZhciBleHBlY3RlZCA9IGV4cGVj
dGF0aW9uc1t3cml0aW5nTW9kZV1bZmxleEZsb3ddW2RpcmVjdGlvbl1bYWJzb2x1dGVJbmRleCAt
IDFdOwogCkBAIC00NjgsNiArNTkzLDcgQEAgd3JpdGluZ01vZGVzLmZvckVhY2goZnVuY3Rpb24o
d3JpdGluZ01vZGUpIHsKICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGZsZXhib3gpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgYWRkRmxleFBhY2tKdXN0aWZ5
VGVzdHMod3JpdGluZ01vZGUsIGZsZXhGbG93LCBkaXJlY3Rpb24sIGZsZXhEaXJlY3Rpb24pOwor
ICAgICAgICAgICAgYWRkRmxleEFsaWduQ2VudGVyVGVzdHMod3JpdGluZ01vZGUsIGZsZXhGbG93
LCBkaXJlY3Rpb24sIGZsZXhEaXJlY3Rpb24pOwogICAgICAgICB9KQogICAgIH0pCiB9KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144597</attachid>
            <date>2012-05-29 12:16:18 -0700</date>
            <delta_ts>2012-05-29 12:18:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58453-20120529121617.patch</filename>
            <type>text/plain</type>
            <size>36452</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NDQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmJjNzIyNzgwNzFhMjIw
ODM5NTZjM2Y3YzUxYjgwNTcwNzA2OTllNi4uNWVkYWNhODE0YWVlNjc1NmNlMGY2N2M2NTg1Yjgy
YzE3OWMxZmM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA1LTI1ICBPamFu
IFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWJzb2x1dGUgcG9zaXRpb25l
ZCBlbGVtZW50cyBpbiBhIHJlbGF0aXZlIHBvc2l0aW9uZWQgQ1NTMyBGbGV4Ym94IGZhaWwgdG8g
ZGlzcGxheSBwcm9wZXJseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTg0NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0OiBjc3MzL2ZsZXhib3gvYWxpZ24tYWJzb2x1dGUtY2hpbGQuaHRtbAorCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckZsZXhpYmxlQm94OjpzZXRTdGF0aWNQb3NpdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6cHJlcGFyZUNoaWxkRm9yUG9zaXRpb25lZExheW91dEhh
bmRsaW5nUm93UmV2ZXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6
cHJlcGFyZUNoaWxkRm9yUG9zaXRpb25lZExheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJGbGV4aWJsZUJveDo6bGF5b3V0QW5kUGxhY2VDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJGbGV4aWJsZUJveDo6YWRqdXN0QWxpZ25tZW50Rm9yQ2hpbGQpOgorICAgICAgICBX
aGVuIGFkanVzdGluZyBwb3NpdGlvbmVkIGl0ZW1zLCBhZGp1c3QgdGhlaXIgc3RhdGljIHBvc2l0
aW9uLCBub3QgdGhlaXIgbG9jYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJs
ZUJveDo6ZmxpcEZvclJpZ2h0VG9MZWZ0Q29sdW1uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZsZXhpYmxlQm94OjpmbGlwRm9yV3JhcFJldmVyc2UpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJGbGV4aWJsZUJveC5oOgorCiAyMDEyLTA1LTI0ICBDcnlzdGFsIFpoYW5nICA8aGFpemhh
bmdAcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gSW1wbGVtZW50IHNlbGVjdCBwb3B1
cCBhbmQgcmVtb3ZlIG9sZCBob29rIHRvIGFpciBwb3B1cApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKaW5kZXggMmZlYWI0Zjc1YzM1Mzk3YzJlOGE4
ZTU5YTY1OTczODNlZDFlYjZhOS4uNTU5ZTZhODEwMjE5NjhhMTA4YmQ0OTZlOGQ2ZDFhMjZjMzg0
YTJhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxl
Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3gu
Y3BwCkBAIC02OTcsNyArNjk3LDkgQEAgYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6aGFzQXV0b01h
cmdpbnNJbkNyb3NzQXhpcyhSZW5kZXJCb3gqIGNoaWxkKQogCiBMYXlvdXRVbml0IFJlbmRlckZs
ZXhpYmxlQm94OjphdmFpbGFibGVBbGlnbm1lbnRTcGFjZUZvckNoaWxkKExheW91dFVuaXQgbGlu
ZUNyb3NzQXhpc0V4dGVudCwgUmVuZGVyQm94KiBjaGlsZCkKIHsKLSAgICBMYXlvdXRVbml0IGNo
aWxkQ3Jvc3NFeHRlbnQgPSBjcm9zc0F4aXNNYXJnaW5FeHRlbnRGb3JDaGlsZChjaGlsZCkgKyBj
cm9zc0F4aXNFeHRlbnRGb3JDaGlsZChjaGlsZCk7CisgICAgTGF5b3V0VW5pdCBjaGlsZENyb3Nz
RXh0ZW50ID0gMDsKKyAgICBpZiAoIWNoaWxkLT5pc1Bvc2l0aW9uZWQoKSkKKyAgICAgICAgY2hp
bGRDcm9zc0V4dGVudCA9IGNyb3NzQXhpc01hcmdpbkV4dGVudEZvckNoaWxkKGNoaWxkKSArIGNy
b3NzQXhpc0V4dGVudEZvckNoaWxkKGNoaWxkKTsKICAgICByZXR1cm4gbGluZUNyb3NzQXhpc0V4
dGVudCAtIGNoaWxkQ3Jvc3NFeHRlbnQ7CiB9CiAKQEAgLTkzMCwyNCArOTMyLDM1IEBAIHZvaWQg
UmVuZGVyRmxleGlibGVCb3g6OnNldExvZ2ljYWxPdmVycmlkZVNpemUoUmVuZGVyQm94KiBjaGls
ZCwgTGF5b3V0VW5pdCBjaGlsCiAgICAgICAgIGNoaWxkLT5zZXRPdmVycmlkZVdpZHRoKGNoaWxk
UHJlZmVycmVkU2l6ZSk7CiB9CiAKLXZvaWQgUmVuZGVyRmxleGlibGVCb3g6OnByZXBhcmVDaGls
ZEZvclBvc2l0aW9uZWRMYXlvdXQoUmVuZGVyQm94KiBjaGlsZCwgTGF5b3V0VW5pdCBtYWluQXhp
c09mZnNldCwgTGF5b3V0VW5pdCBjcm9zc0F4aXNPZmZzZXQpCit2b2lkIFJlbmRlckZsZXhpYmxl
Qm94OjpzZXRTdGF0aWNQb3NpdGlvbihSZW5kZXJCb3gqIGNoaWxkLCBMYXlvdXRVbml0IGlubGlu
ZVBvc2l0aW9uLCBMYXlvdXRVbml0IGJsb2NrUG9zaXRpb24pCiB7CiAgICAgQVNTRVJUKGNoaWxk
LT5pc1Bvc2l0aW9uZWQoKSk7CiAgICAgY2hpbGQtPmNvbnRhaW5pbmdCbG9jaygpLT5pbnNlcnRQ
b3NpdGlvbmVkT2JqZWN0KGNoaWxkKTsKICAgICBSZW5kZXJMYXllciogY2hpbGRMYXllciA9IGNo
aWxkLT5sYXllcigpOwotICAgIExheW91dFVuaXQgaW5saW5lUG9zaXRpb24gPSBpc0NvbHVtbkZs
b3coKSA/IGNyb3NzQXhpc09mZnNldCA6IG1haW5BeGlzT2Zmc2V0OwotICAgIGlmIChzdHlsZSgp
LT5mbGV4RGlyZWN0aW9uKCkgPT0gRmxvd1Jvd1JldmVyc2UpCi0gICAgICAgIGlubGluZVBvc2l0
aW9uID0gbWFpbkF4aXNFeHRlbnQoKSAtIG1haW5BeGlzT2Zmc2V0OwogICAgIGNoaWxkTGF5ZXIt
PnNldFN0YXRpY0lubGluZVBvc2l0aW9uKGlubGluZVBvc2l0aW9uKTsgLy8gRklYTUU6IE5vdCBy
aWdodCBmb3IgcmVnaW9ucy4KLQotICAgIExheW91dFVuaXQgc3RhdGljQmxvY2tQb3NpdGlvbiA9
IGlzQ29sdW1uRmxvdygpID8gbWFpbkF4aXNPZmZzZXQgOiBjcm9zc0F4aXNPZmZzZXQ7Ci0gICAg
aWYgKGNoaWxkTGF5ZXItPnN0YXRpY0Jsb2NrUG9zaXRpb24oKSAhPSBzdGF0aWNCbG9ja1Bvc2l0
aW9uKSB7Ci0gICAgICAgIGNoaWxkTGF5ZXItPnNldFN0YXRpY0Jsb2NrUG9zaXRpb24oc3RhdGlj
QmxvY2tQb3NpdGlvbik7CisgICAgaWYgKGNoaWxkTGF5ZXItPnN0YXRpY0Jsb2NrUG9zaXRpb24o
KSAhPSBibG9ja1Bvc2l0aW9uKSB7CisgICAgICAgIGNoaWxkTGF5ZXItPnNldFN0YXRpY0Jsb2Nr
UG9zaXRpb24oYmxvY2tQb3NpdGlvbik7CiAgICAgICAgIGlmIChjaGlsZC0+c3R5bGUoKS0+aGFz
U3RhdGljQmxvY2tQb3NpdGlvbihzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKSkK
ICAgICAgICAgICAgIGNoaWxkLT5zZXRDaGlsZE5lZWRzTGF5b3V0KHRydWUsIE1hcmtPbmx5VGhp
cyk7CiAgICAgfQogfQogCit2b2lkIFJlbmRlckZsZXhpYmxlQm94OjpwcmVwYXJlQ2hpbGRGb3JQ
b3NpdGlvbmVkTGF5b3V0SGFuZGxpbmdSb3dSZXZlcnNlKFJlbmRlckJveCogY2hpbGQsIExheW91
dFVuaXQgbWFpbkF4aXNPZmZzZXQsIExheW91dFVuaXQgY3Jvc3NBeGlzT2Zmc2V0KQoreworICAg
IExheW91dFVuaXQgaW5saW5lUG9zaXRpb24gPSBpc0NvbHVtbkZsb3coKSA/IGNyb3NzQXhpc09m
ZnNldCA6IG1haW5BeGlzT2Zmc2V0OworICAgIGlmIChzdHlsZSgpLT5mbGV4RGlyZWN0aW9uKCkg
PT0gRmxvd1Jvd1JldmVyc2UpCisgICAgICAgIGlubGluZVBvc2l0aW9uID0gbWFpbkF4aXNFeHRl
bnQoKSAtIG1haW5BeGlzT2Zmc2V0OworICAgIExheW91dFVuaXQgYmxvY2tQb3NpdGlvbiA9IGlz
Q29sdW1uRmxvdygpID8gbWFpbkF4aXNPZmZzZXQgOiBjcm9zc0F4aXNPZmZzZXQ7CisgICAgc2V0
U3RhdGljUG9zaXRpb24oY2hpbGQsIGlubGluZVBvc2l0aW9uLCBibG9ja1Bvc2l0aW9uKTsKK30K
Kwordm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6cHJlcGFyZUNoaWxkRm9yUG9zaXRpb25lZExheW91
dChSZW5kZXJCb3gqIGNoaWxkLCBMYXlvdXRVbml0IG1haW5BeGlzT2Zmc2V0LCBMYXlvdXRVbml0
IGNyb3NzQXhpc09mZnNldCkKK3sKKyAgICBMYXlvdXRVbml0IGlubGluZVBvc2l0aW9uID0gaXND
b2x1bW5GbG93KCkgPyBjcm9zc0F4aXNPZmZzZXQgOiBtYWluQXhpc09mZnNldDsKKyAgICBMYXlv
dXRVbml0IGJsb2NrUG9zaXRpb24gPSBpc0NvbHVtbkZsb3coKSA/IG1haW5BeGlzT2Zmc2V0IDog
Y3Jvc3NBeGlzT2Zmc2V0OworICAgIHNldFN0YXRpY1Bvc2l0aW9uKGNoaWxkLCBpbmxpbmVQb3Np
dGlvbiwgYmxvY2tQb3NpdGlvbik7Cit9CisKIHN0YXRpYyBFRmxleEFsaWduIGZsZXhBbGlnbkZv
ckNoaWxkKFJlbmRlckJveCogY2hpbGQpCiB7CiAgICAgRUZsZXhBbGlnbiBhbGlnbiA9IGNoaWxk
LT5zdHlsZSgpLT5mbGV4SXRlbUFsaWduKCk7CkBAIC05ODEsNyArOTk0LDcgQEAgdm9pZCBSZW5k
ZXJGbGV4aWJsZUJveDo6bGF5b3V0QW5kUGxhY2VDaGlsZHJlbihMYXlvdXRVbml0JiBjcm9zc0F4
aXNPZmZzZXQsIGNvbnMKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNoaWxkcmVuLnNpemUo
KTsgKytpKSB7CiAgICAgICAgIFJlbmRlckJveCogY2hpbGQgPSBjaGlsZHJlbltpXTsKICAgICAg
ICAgaWYgKGNoaWxkLT5pc1Bvc2l0aW9uZWQoKSkgewotICAgICAgICAgICAgcHJlcGFyZUNoaWxk
Rm9yUG9zaXRpb25lZExheW91dChjaGlsZCwgbWFpbkF4aXNPZmZzZXQsIGNyb3NzQXhpc09mZnNl
dCk7CisgICAgICAgICAgICBwcmVwYXJlQ2hpbGRGb3JQb3NpdGlvbmVkTGF5b3V0SGFuZGxpbmdS
b3dSZXZlcnNlKGNoaWxkLCBtYWluQXhpc09mZnNldCwgY3Jvc3NBeGlzT2Zmc2V0KTsKICAgICAg
ICAgICAgIG1haW5BeGlzT2Zmc2V0ICs9IHBhY2tpbmdTcGFjZUJldHdlZW5DaGlsZHJlbihhdmFp
bGFibGVGcmVlU3BhY2UsIHN0eWxlKCktPmZsZXhQYWNrKCksIGNoaWxkU2l6ZXMuc2l6ZSgpKTsK
ICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CkBAIC0xMTEzLDggKzExMjYsMTcgQEAg
dm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6cGFja0ZsZXhMaW5lcyhGbGV4T3JkZXJJdGVyYXRvciYg
aXRlcmF0b3IsIFdURjo6VmVjdG9yPEwKIAogdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6YWRqdXN0
QWxpZ25tZW50Rm9yQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCwgTGF5b3V0VW5pdCBkZWx0YSkKIHsK
LSAgICBMYXlvdXRSZWN0IG9sZFJlY3QgPSBjaGlsZC0+ZnJhbWVSZWN0KCk7CisgICAgaWYgKGNo
aWxkLT5pc1Bvc2l0aW9uZWQoKSkgeworICAgICAgICBMYXlvdXRVbml0IHN0YXRpY0lubGluZVBv
c2l0aW9uID0gY2hpbGQtPmxheWVyKCktPnN0YXRpY0lubGluZVBvc2l0aW9uKCk7CisgICAgICAg
IExheW91dFVuaXQgc3RhdGljQmxvY2tQb3NpdGlvbiA9IGNoaWxkLT5sYXllcigpLT5zdGF0aWNC
bG9ja1Bvc2l0aW9uKCk7CisgICAgICAgIExheW91dFVuaXQgbWFpbkF4aXMgPSBpc0NvbHVtbkZs
b3coKSA/IHN0YXRpY0Jsb2NrUG9zaXRpb24gOiBzdGF0aWNJbmxpbmVQb3NpdGlvbjsKKyAgICAg
ICAgTGF5b3V0VW5pdCBjcm9zc0F4aXMgPSBpc0NvbHVtbkZsb3coKSA/IHN0YXRpY0lubGluZVBv
c2l0aW9uIDogc3RhdGljQmxvY2tQb3NpdGlvbjsKKyAgICAgICAgY3Jvc3NBeGlzICs9IGRlbHRh
OworICAgICAgICBwcmVwYXJlQ2hpbGRGb3JQb3NpdGlvbmVkTGF5b3V0KGNoaWxkLCBtYWluQXhp
cywgY3Jvc3NBeGlzKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KIAorICAgIExheW91dFJlY3Qg
b2xkUmVjdCA9IGNoaWxkLT5mcmFtZVJlY3QoKTsKICAgICBzZXRGbG93QXdhcmVMb2NhdGlvbkZv
ckNoaWxkKGNoaWxkLCBmbG93QXdhcmVMb2NhdGlvbkZvckNoaWxkKGNoaWxkKSArIExheW91dFNp
emUoMCwgZGVsdGEpKTsKIAogICAgIC8vIElmIHRoZSBjaGlsZCBtb3ZlZCwgd2UgaGF2ZSB0byBy
ZXBhaW50IGl0IGFzIHdlbGwgYXMgYW55IGZsb2F0aW5nL3Bvc2l0aW9uZWQKQEAgLTEyMjIsNiAr
MTI0NCw4IEBAIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmZsaXBGb3JSaWdodFRvTGVmdENvbHVt
bihGbGV4T3JkZXJJdGVyYXRvciYgaXRlcmF0b3IpCiAKICAgICBMYXlvdXRVbml0IGNyb3NzRXh0
ZW50ID0gY3Jvc3NBeGlzRXh0ZW50KCk7CiAgICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gaXRl
cmF0b3IuZmlyc3QoKTsgY2hpbGQ7IGNoaWxkID0gaXRlcmF0b3IubmV4dCgpKSB7CisgICAgICAg
IGlmIChjaGlsZC0+aXNQb3NpdGlvbmVkKCkpCisgICAgICAgICAgICBjb250aW51ZTsKICAgICAg
ICAgTGF5b3V0UG9pbnQgbG9jYXRpb24gPSBmbG93QXdhcmVMb2NhdGlvbkZvckNoaWxkKGNoaWxk
KTsKICAgICAgICAgbG9jYXRpb24uc2V0WShjcm9zc0V4dGVudCAtIGNyb3NzQXhpc0V4dGVudEZv
ckNoaWxkKGNoaWxkKSAtIGxvY2F0aW9uLnkoKSk7CiAgICAgICAgIHNldEZsb3dBd2FyZUxvY2F0
aW9uRm9yQ2hpbGQoY2hpbGQsIGxvY2F0aW9uKTsKQEAgLTEyMzUsMTYgKzEyNTksMTAgQEAgdm9p
ZCBSZW5kZXJGbGV4aWJsZUJveDo6ZmxpcEZvcldyYXBSZXZlcnNlKEZsZXhPcmRlckl0ZXJhdG9y
JiBpdGVyYXRvciwgY29uc3QgV1QKICAgICBmb3IgKHNpemVfdCBsaW5lTnVtYmVyID0gMDsgbGlu
ZU51bWJlciA8IGxpbmVDb250ZXh0cy5zaXplKCk7ICsrbGluZU51bWJlcikgewogICAgICAgICBm
b3IgKHNpemVfdCBjaGlsZE51bWJlciA9IDA7IGNoaWxkTnVtYmVyIDwgbGluZUNvbnRleHRzW2xp
bmVOdW1iZXJdLm51bWJlck9mQ2hpbGRyZW47ICsrY2hpbGROdW1iZXIsIGNoaWxkID0gaXRlcmF0
b3IubmV4dCgpKSB7CiAgICAgICAgICAgICBBU1NFUlQoY2hpbGQpOwotICAgICAgICAgICAgTGF5
b3V0UG9pbnQgbG9jYXRpb24gPSBmbG93QXdhcmVMb2NhdGlvbkZvckNoaWxkKGNoaWxkKTsKICAg
ICAgICAgICAgIExheW91dFVuaXQgbGluZUNyb3NzQXhpc0V4dGVudCA9IGxpbmVDb250ZXh0c1ts
aW5lTnVtYmVyXS5jcm9zc0F4aXNFeHRlbnQ7CiAgICAgICAgICAgICBMYXlvdXRVbml0IG9yaWdp
bmFsT2Zmc2V0ID0gbGluZUNvbnRleHRzW2xpbmVOdW1iZXJdLmNyb3NzQXhpc09mZnNldCAtIGNy
b3NzQXhpc1N0YXJ0RWRnZTsKICAgICAgICAgICAgIExheW91dFVuaXQgbmV3T2Zmc2V0ID0gY29u
dGVudEV4dGVudCAtIG9yaWdpbmFsT2Zmc2V0IC0gbGluZUNyb3NzQXhpc0V4dGVudDsKLSAgICAg
ICAgICAgIGxvY2F0aW9uLnNldFkobG9jYXRpb24ueSgpICsgbmV3T2Zmc2V0IC0gb3JpZ2luYWxP
ZmZzZXQpOwotCi0gICAgICAgICAgICBMYXlvdXRSZWN0IG9sZFJlY3QgPSBjaGlsZC0+ZnJhbWVS
ZWN0KCk7Ci0gICAgICAgICAgICBzZXRGbG93QXdhcmVMb2NhdGlvbkZvckNoaWxkKGNoaWxkLCBs
b2NhdGlvbik7Ci0gICAgICAgICAgICBpZiAoIXNlbGZOZWVkc0xheW91dCgpICYmIGNoaWxkLT5j
aGVja0ZvclJlcGFpbnREdXJpbmdMYXlvdXQoKSkKLSAgICAgICAgICAgICAgICBjaGlsZC0+cmVw
YWludER1cmluZ0xheW91dElmTW92ZWQob2xkUmVjdCk7CisgICAgICAgICAgICBhZGp1c3RBbGln
bm1lbnRGb3JDaGlsZChjaGlsZCwgbmV3T2Zmc2V0IC0gb3JpZ2luYWxPZmZzZXQpOwogICAgICAg
ICB9CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZsZXhpYmxlQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVC
b3guaAppbmRleCA4MzgzYTQ2YjhlZTFjNzFjOWU2Y2NmMDQ4ZWVkMmVhMzI4ZWNmOTYzLi41N2Mz
MzM3OWMwNGU5OTkxMGU5MmU2MTQwZjNmYzRhNjVkMmRhNzg3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaApAQCAtMTIwLDYgKzEyMCw4IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBmcmVlemVWaW9sYXRpb25zKGNvbnN0IFdURjo6VmVjdG9yPFZpb2xhdGlv
bj4mLCBMYXlvdXRVbml0JiBhdmFpbGFibGVGcmVlU3BhY2UsIGZsb2F0JiB0b3RhbFBvc2l0aXZl
RmxleGliaWxpdHksIGZsb2F0JiB0b3RhbE5lZ2F0aXZlRmxleGliaWxpdHksIEluZmxleGlibGVG
bGV4SXRlbVNpemUmKTsKIAogICAgIHZvaWQgc2V0TG9naWNhbE92ZXJyaWRlU2l6ZShSZW5kZXJC
b3gqIGNoaWxkLCBMYXlvdXRVbml0IGNoaWxkUHJlZmVycmVkU2l6ZSk7CisgICAgdm9pZCBzZXRT
dGF0aWNQb3NpdGlvbihSZW5kZXJCb3gqIGNoaWxkLCBMYXlvdXRVbml0IGlubGluZVBvc2l0aW9u
LCBMYXlvdXRVbml0IGJsb2NrUG9zaXRpb24pOworICAgIHZvaWQgcHJlcGFyZUNoaWxkRm9yUG9z
aXRpb25lZExheW91dEhhbmRsaW5nUm93UmV2ZXJzZShSZW5kZXJCb3gqIGNoaWxkLCBMYXlvdXRV
bml0IG1haW5BeGlzT2Zmc2V0LCBMYXlvdXRVbml0IGNyb3NzQXhpc09mZnNldCk7CiAgICAgdm9p
ZCBwcmVwYXJlQ2hpbGRGb3JQb3NpdGlvbmVkTGF5b3V0KFJlbmRlckJveCogY2hpbGQsIExheW91
dFVuaXQgbWFpbkF4aXNPZmZzZXQsIExheW91dFVuaXQgY3Jvc3NBeGlzT2Zmc2V0KTsKICAgICB2
b2lkIGxheW91dEFuZFBsYWNlQ2hpbGRyZW4oTGF5b3V0VW5pdCYgY3Jvc3NBeGlzT2Zmc2V0LCBj
b25zdCBPcmRlcmVkRmxleEl0ZW1MaXN0JiwgY29uc3QgV1RGOjpWZWN0b3I8TGF5b3V0VW5pdD4m
IGNoaWxkU2l6ZXMsIExheW91dFVuaXQgYXZhaWxhYmxlRnJlZVNwYWNlLCBXVEY6OlZlY3RvcjxM
aW5lQ29udGV4dD4mKTsKICAgICB2b2lkIGxheW91dENvbHVtblJldmVyc2UoY29uc3QgT3JkZXJl
ZEZsZXhJdGVtTGlzdCYsIGNvbnN0IFdURjo6VmVjdG9yPExheW91dFVuaXQ+JiBjaGlsZFNpemVz
LCBMYXlvdXRVbml0IGNyb3NzQXhpc09mZnNldCwgTGF5b3V0VW5pdCBhdmFpbGFibGVGcmVlU3Bh
Y2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDljODAzNmU2MTUwY2I1OTAwOWI0NDc0ZDJiOWQyYWMzMmJiMjA3MmYuLjll
ZjE0YmI4Nzg2M2Y3YmE0NDFkN2E4OTM2ZGU0YmE2NmM4NzA3NjkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAxMi0wNS0yNSAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIEFic29sdXRlIHBvc2l0aW9uZWQgZWxlbWVudHMgaW4gYSByZWxhdGl2ZSBwb3NpdGlvbmVk
IENTUzMgRmxleGJveCBmYWlsIHRvIGRpc3BsYXkgcHJvcGVybHkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4NDUzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvYWxpZ24tYWJzb2x1
dGUtY2hpbGQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvYWxp
Z24tYWJzb2x1dGUtY2hpbGQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9mbGV4Ym94L3Bv
c2l0aW9uLWFic29sdXRlLWNoaWxkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBjc3MzL2ZsZXhi
b3gvcG9zaXRpb24tYWJzb2x1dGUtY2hpbGQuaHRtbDoKKwogMjAxMi0wNS0yNCAgSmVzc2llIEJl
cmxpbiAgPGpiZXJsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFzc2VydGlvbiBmYWlsdXJlIGlu
IHJlcGxheVNhdmVkRXZlbnRzKCkgd2hlbiBydW5uaW5nIGVkaXRpbmcvc2VsZWN0aW9uL2RyYWct
aW4taWZyYW1lLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9hbGln
bi1hYnNvbHV0ZS1jaGlsZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gv
YWxpZ24tYWJzb2x1dGUtY2hpbGQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwNjI5ZmNkOTA3
N2I3ZjVkMzAxOWZiOGZiZDEwOWM1MjdmZDA3OGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jc3MzL2ZsZXhib3gvYWxpZ24tYWJzb2x1dGUtY2hpbGQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTMgQEAKK1BBU1MgYmVmb3JlUG9zaXRpb25ba2V5XSBpcyBhZnRlclBvc2l0aW9uW2tl
eV0KK1BBU1MgYmVmb3JlUG9zaXRpb25ba2V5XSBpcyBhZnRlclBvc2l0aW9uW2tleV0KK1BBU1Mg
YmVmb3JlUG9zaXRpb25ba2V5XSBpcyBhZnRlclBvc2l0aW9uW2tleV0KK1BBU1MgYmVmb3JlUG9z
aXRpb25ba2V5XSBpcyBhZnRlclBvc2l0aW9uW2tleV0KK1BBU1MgYmVmb3JlUG9zaXRpb25ba2V5
XSBpcyBhZnRlclBvc2l0aW9uW2tleV0KK1BBU1MgYmVmb3JlUG9zaXRpb25ba2V5XSBpcyBhZnRl
clBvc2l0aW9uW2tleV0KK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9hbGlnbi1hYnNvbHV0ZS1jaGls
ZC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2FsaWduLWFic29sdXRlLWNoaWxkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZTBkNmVjNzYwZDdjYzZhNGM0YWQ2MDU4MTk0ZGIxM2M2NmUxMjczYQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmxleGJveC9hbGlnbi1hYnNvbHV0
ZS1jaGlsZC5odG1sCkBAIC0wLDAgKzEsMTYxIEBACis8c3R5bGU+Citib2R5IHsKKyAgICBtYXJn
aW46IDA7Cit9CisuZmxleGJveCB7CisgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OworICAgIGJh
Y2tncm91bmQtY29sb3I6IGdyZWVuOworICAgIGhlaWdodDogMTAwcHg7CisgICAgd2lkdGg6IDEw
MHB4OworICAgIG1hcmdpbjogMTBweDsKK30KKy5hbGlnbi1jZW50ZXIgeworICAgIC13ZWJraXQt
ZmxleC1hbGlnbjogY2VudGVyOworfQorLnN0cmV0Y2ggeworICAgIC13ZWJraXQtZmxleC1hbGln
bjogc3RyZXRjaDsKK30KKy5yZWxhdGl2ZSB7CisgICAgcG9zaXRpb246IHJlbGF0aXZlOworfQor
LmZsZXhib3ggPiBkaXYgeworICAgIHdpZHRoOiAyMHB4OworICAgIGhlaWdodDogMjBweDsKK30K
Ky5hYnNvbHV0ZSB7CisgICAgcG9zaXRpb246IGFic29sdXRlOworfQorI3BsYWNlZC1hYnNvbHV0
ZSB7CisgICAgdG9wOiAyMHB4OworICAgIGxlZnQ6IDIwcHg7Cit9CisKKy5ob3Jpem9udGFsLXRi
IHsKKyAgICAtd2Via2l0LXdyaXRpbmctbW9kZTogaG9yaXpvbnRhbC10YjsKK30KKy5ob3Jpem9u
dGFsLWJ0IHsKKyAgICAtd2Via2l0LXdyaXRpbmctbW9kZTogaG9yaXpvbnRhbC1idDsKK30KKy52
ZXJ0aWNhbC1ybCB7CisgICAgLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOworfQor
LnZlcnRpY2FsLWxyIHsKKyAgICAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7Cit9
CisKKy5yb3cgeworICAgIC13ZWJraXQtZmxleC1mbG93OiByb3c7Cit9Cisucm93LXJldmVyc2Ug
eworICAgIC13ZWJraXQtZmxleC1mbG93OiByb3ctcmV2ZXJzZTsKK30KKy5jb2x1bW4geworICAg
IC13ZWJraXQtZmxleC1mbG93OiBjb2x1bW47Cit9CisuY29sdW1uLXJldmVyc2UgeworICAgIC13
ZWJraXQtZmxleC1mbG93OiBjb2x1bW4tcmV2ZXJzZTsKK30KKworLnJ0bCB7CisgICAgZGlyZWN0
aW9uOiBydGw7Cit9CisubHRyIHsKKyAgICBkaXJlY3Rpb246IGx0cjsKK30KKworLndyYXAtcmV2
ZXJzZSB7CisgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsKK30KKworLmZsZXhi
b3ggOm50aC1jaGlsZCgxKSB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKK30KKy5mbGV4
Ym94IDpudGgtY2hpbGQoMikgeworICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKK30KKy5m
bGV4Ym94IDpudGgtY2hpbGQoMykgeworICAgIGJhY2tncm91bmQtY29sb3I6IHNhbG1vbjsKK30K
Ky5mbGV4Ym94IDpudGgtY2hpbGQoNCkgeworICAgIGJhY2tncm91bmQtY29sb3I6IGdyZXk7Cit9
CisuZmxleGJveCA6bnRoLWNoaWxkKDUpIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Cit9
CisuZmxleGJveCA6bnRoLWNoaWxkKDYpIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBvcmFuZ2U7
Cit9CisuZmxleGJveCA6bnRoLWNoaWxkKDcpIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBwdXJw
bGU7Cit9Cis8L3N0eWxlPgorCis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9mbGV4Ym94
LmpzIj48L3NjcmlwdD4KKworPGJvZHkgb25sb2FkPSJjaGVja0ZsZXhCb3hlbigpIj4KKworPGRp
diBjbGFzcz0nZmxleGJveCByZWxhdGl2ZSBhbGlnbi1jZW50ZXInPgorICAgIDxkaXYgaWQ9J3Bs
YWNlZC1hYnNvbHV0ZScgY2xhc3M9J2Fic29sdXRlJyBkYXRhLW9mZnNldC14PTIwIGRhdGEtb2Zm
c2V0LXk9MjA+PC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0nZmxleGJveCByZWxhdGl2ZSBh
bGlnbi1jZW50ZXInPgorICAgIDxkaXYgZGF0YS1vZmZzZXQteD0wIGRhdGEtb2Zmc2V0LXk9NDA+
PC9kaXY+CisgICAgPGRpdiBjbGFzcz0nYWJzb2x1dGUnIGRhdGEtb2Zmc2V0LXg9MjAgZGF0YS1v
ZmZzZXQteT01MD48L2Rpdj4KKyAgICA8ZGl2IGRhdGEtb2Zmc2V0LXg9MjAgZGF0YS1vZmZzZXQt
eT00MD48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSIgc3R5bGU9InRvcDogNXB4OyBs
ZWZ0OiA1cHgiIGRhdGEtb2Zmc2V0LXg9NSBkYXRhLW9mZnNldC15PTU+PC9kaXY+Cis8L2Rpdj4K
KworPGRpdiBjbGFzcz0icmVsYXRpdmUiPgorPGRpdiBjbGFzcz0nZmxleGJveCBhbGlnbi1jZW50
ZXInPgorICAgIDxkaXYgZGF0YS1vZmZzZXQteD0xMCBkYXRhLW9mZnNldC15PTQwPjwvZGl2Pgor
ICAgIDxkaXYgY2xhc3M9J2Fic29sdXRlJyBkYXRhLW9mZnNldC14PTMwIGRhdGEtb2Zmc2V0LXk9
NTA+PC9kaXY+CisgICAgPGRpdiBkYXRhLW9mZnNldC14PTMwIGRhdGEtb2Zmc2V0LXk9NDA+PC9k
aXY+CisgICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUiIHN0eWxlPSJ0b3A6IDVweDsgbGVmdDogNXB4
IiBkYXRhLW9mZnNldC14PTUgZGF0YS1vZmZzZXQteT01PjwvZGl2PgorPC9kaXY+Cis8L2Rpdj4K
KworPGRpdiBjbGFzcz0nZmxleGJveCByZWxhdGl2ZSBjb2x1bW4gcnRsJz4KKyAgICA8ZGl2IGRh
dGEtb2Zmc2V0LXg9ODAgZGF0YS1vZmZzZXQteT0wPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9J2Fi
c29sdXRlJyBkYXRhLW9mZnNldC14PTgwIGRhdGEtb2Zmc2V0LXk9MjA+PC9kaXY+CisgICAgPGRp
diBkYXRhLW9mZnNldC14PTgwIGRhdGEtb2Zmc2V0LXk9MjA+PC9kaXY+CisgICAgPGRpdiBjbGFz
cz0iYWJzb2x1dGUiIHN0eWxlPSJ0b3A6IDVweDsgbGVmdDogNXB4IiBkYXRhLW9mZnNldC14PTUg
ZGF0YS1vZmZzZXQteT01PjwvZGl2PgorPC9kaXY+CisKKzxkaXYgY2xhc3M9InJlbGF0aXZlIj4K
KzxkaXYgY2xhc3M9J2ZsZXhib3ggd3JhcC1yZXZlcnNlJz4KKyAgICA8ZGl2IHN0eWxlPSJ3aWR0
aDo5MHB4IiBkYXRhLW9mZnNldC14PTEwIGRhdGEtb2Zmc2V0LXk9ODA+PC9kaXY+CisgICAgPGRp
diBjbGFzcz0iYWJzb2x1dGUiIGRhdGEtb2Zmc2V0LXg9MTAwIGRhdGEtb2Zmc2V0LXk9MTAwPjwv
ZGl2PgorICAgIDxkaXYgZGF0YS1vZmZzZXQteD0xMCBkYXRhLW9mZnNldC15PTMwPjwvZGl2Pgor
ICAgIDxkaXYgY2xhc3M9ImFic29sdXRlIiBkYXRhLW9mZnNldC14PTMwIGRhdGEtb2Zmc2V0LXk9
NTA+PC9kaXY+CisgICAgPGRpdiBkYXRhLW9mZnNldC14PTMwIGRhdGEtb2Zmc2V0LXk9MzA+PC9k
aXY+CisgICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUiIGRhdGEtb2Zmc2V0LXg9NTAgZGF0YS1vZmZz
ZXQteT01MD48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSIgc3R5bGU9InRvcDogNXB4
OyBsZWZ0OiA1cHgiIGRhdGEtb2Zmc2V0LXg9NSBkYXRhLW9mZnNldC15PTU+PC9kaXY+Cis8L2Rp
dj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSdmbGV4Ym94IHJlbGF0aXZlJz4KKyAgICA8ZGl2IHN0
eWxlPSJtYXJnaW46IGF1dG87IiBkYXRhLW9mZnNldC14PTQwIGRhdGEtb2Zmc2V0LXk9NDA+PC9k
aXY+CisgICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUiIHN0eWxlPSJtYXJnaW46IGF1dG87IiBkYXRh
LW9mZnNldC14PTEwMCBkYXRhLW9mZnNldC15PTUwPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9ImFi
c29sdXRlIiBzdHlsZT0ibWFyZ2luOiBhdXRvOyIgZGF0YS1vZmZzZXQteD0xMDAgZGF0YS1vZmZz
ZXQteT01MD48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSIgc3R5bGU9Im1hcmdpbjog
YXV0bzsgdG9wOiA1cHg7IGxlZnQ6IDVweCIgZGF0YS1vZmZzZXQteD01IGRhdGEtb2Zmc2V0LXk9
NT48L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSdmbGV4Ym94IHN0cmV0Y2ggcmVsYXRpdmUn
PgorICAgIDxkaXYgc3R5bGU9ImhlaWdodDogYXV0byIgZGF0YS1vZmZzZXQteD0wIGRhdGEtb2Zm
c2V0LXk9MCBkYXRhLWV4cGVjdGVkLWhlaWdodD0xMDA+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0i
YWJzb2x1dGUiIHN0eWxlPSJoZWlnaHQ6IGF1dG8iIGRhdGEtb2Zmc2V0LXg9MjAgZGF0YS1vZmZz
ZXQteT0wIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTA+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0iYWJz
b2x1dGUiIHN0eWxlPSJoZWlnaHQ6IGF1dG87IHRvcDogNXB4OyBsZWZ0OiA1cHgiIGRhdGEtb2Zm
c2V0LXg9NSBkYXRhLW9mZnNldC15PTUgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MD48L2Rpdj4KKzwv
ZGl2PgorCisKKzxzY3JpcHQ+Cit2YXIgYWJzb2x1dGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgncGxhY2VkLWFic29sdXRlJyk7Cit2YXIgYmVmb3JlUG9zaXRpb24gPSBhYnNvbHV0ZS5nZXRC
b3VuZGluZ0NsaWVudFJlY3QoKTsKK2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5mbGV4Ym94Jyku
c3R5bGUuaGVpZ2h0ID0gJzEwMXB4JzsKK3ZhciBhZnRlclBvc2l0aW9uID0gYWJzb2x1dGUuZ2V0
Qm91bmRpbmdDbGllbnRSZWN0KCk7CisKKy8vIFBvc2l0aW9uZWQgZWxlbWVudCBzaG91bGQgbm90
IGNoYW5nZSBwb3NpdGlvbiB3aGVuIHRoZSBoZWlnaHQgb2YgaXQncyBwYXJlbnQgZmxleGJveCBp
cyBjaGFuZ2VkLgorZm9yIChrZXkgaW4gYmVmb3JlUG9zaXRpb24pCisgICAgc2hvdWxkQmUoJ2Jl
Zm9yZVBvc2l0aW9uW2tleV0nLCAnYWZ0ZXJQb3NpdGlvbltrZXldJyk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jc3MzL2ZsZXhib3gvcG9zaXRpb24tYWJzb2x1dGUtY2hpbGQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvY3NzMy9mbGV4Ym94L3Bvc2l0aW9uLWFic29sdXRlLWNoaWxkLWV4cGVjdGVkLnR4
dAppbmRleCA4ZDdmYzRmNTc1ZjUzMDJlYTQ1ZTg1YjZmNjMyMTMwZmM2NDUwNzRjLi42OTU3MjUy
MGU4ZWIyYTUwZDFmYmRlNmEwNGZmNmZiNjI3ZjMxMDIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9jc3MzL2ZsZXhib3gvcG9zaXRpb24tYWJzb2x1dGUtY2hpbGQtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2NzczMvZmxleGJveC9wb3NpdGlvbi1hYnNvbHV0ZS1jaGlsZC1leHBlY3Rl
ZC50eHQKQEAgLTUsNiArNSw5IEBAIFBBU1MKIFBBU1MKIFBBU1MKIFBBU1MKK1BBU1MKK1BBU1MK
K1BBU1MKIGhvcml6b250YWwtdGIgcnRsIHJvdwogUEFTUwogUEFTUwpAQCAtMTIsNiArMTUsOSBA
QCBQQVNTCiBQQVNTCiBQQVNTCiBQQVNTCitQQVNTCitQQVNTCitQQVNTCiBob3Jpem9udGFsLXRi
IGx0ciBjb2x1bW4KIFBBU1MKIFBBU1MKQEAgLTE5LDYgKzI1LDkgQEAgUEFTUwogUEFTUwogUEFT
UwogUEFTUworUEFTUworUEFTUworUEFTUwogaG9yaXpvbnRhbC10YiBydGwgY29sdW1uCiBQQVNT
CiBQQVNTCkBAIC0yNiw2ICszNSw5IEBAIFBBU1MKIFBBU1MKIFBBU1MKIFBBU1MKK1BBU1MKK1BB
U1MKK1BBU1MKIGhvcml6b250YWwtdGIgbHRyIHJvdy1yZXZlcnNlCiBQQVNTCiBQQVNTCkBAIC0z
Myw2ICs0NSw5IEBAIFBBU1MKIFBBU1MKIFBBU1MKIFBBU1MKK1BBU1MKK1BBU1MKK1BBU1MKIGhv
cml6b250YWwtdGIgcnRsIHJvdy1yZXZlcnNlCiBQQVNTCiBQQVNTCkBAIC00MCw2ICs1NSw5IEBA
IFBBU1MKIFBBU1MKIFBBU1MKIFBBU1MKK1BBU1MKK1BBU1MKK1BBU1MKIGhvcml6b250YWwtdGIg
bHRyIGNvbHVtbi1yZXZlcnNlCiBQQVNTCiBQQVNTCkBAIC00Nyw2ICs2NSw5IEBAIFBBU1MKIFBB
U1MKIFBBU1MKIFBBU1MKK1BBU1MKK1BBU1MKK1BBU1MKIGhvcml6b250YWwtdGIgcnRsIGNvbHVt
bi1yZXZlcnNlCiBQQVNTCiBQQVNTCkBAIC01NCw2ICs3NSw5IEBAIFBBU1MKIFBBU1MKIFBBU1MK
IFBBU1MKK1BBU1MKK1BBU1MKK1BBU1MKIGhvcml6b250YWwtYnQgbHRyIHJvdwogUEFTUwogUEFT
UwpAQCAtNjEsNiArODUsOSBAQCBQQVNTCiBQQVNTCiBQQVNTCiBQQVNTCitQQVNTCitQQVNTCitQ
QVNTCiBob3Jpem9udGFsLWJ0IHJ0bCByb3cKIFBBU1MKIFBBU1MKQEAgLTY4LDYgKzk1LDkgQEAg
UEFTUwogUEFTUwogUEFTUwogUEFTUworUEFTUworUEFTUworUEFTUwogaG9yaXpvbnRhbC1idCBs
dHIgY29sdW1uCiBQQVNTCiBQQVNTCkBAIC03NSw2ICsxMDUsOSBAQCBQQVNTCiBQQVNTCiBQQVNT
CiBQQVNTCitQQVNTCitQQVNTCitQQVNTCiBob3Jpem9udGFsLWJ0IHJ0bCBjb2x1bW4KIFBBU1MK
IFBBU1MKQEAgLTgyLDYgKzExNSw5IEBAIFBBU1MKIFBBU1MKIFBBU1MKIFBBU1MKK1BBU1MKK1BB
U1MKK1BBU1MKIGhvcml6b250YWwtYnQgbHRyIHJvdy1yZXZlcnNlCiBQQVNTCiBQQVNTCkBAIC04
OSw2ICsxMjUsOSBAQCBQQVNTCiBQQVNTCiBQQVNTCiBQQVNTCitQQVNTCitQQVNTCitQQVNTCiBo
b3Jpem9udGFsLWJ0IHJ0bCByb3ctcmV2ZXJzZQogUEFTUwogUEFTUwpAQCAtOTYsNiArMTM1LDkg
QEAgUEFTUwogUEFTUwogUEFTUwogUEFTUworUEFTUworUEFTUworUEFTUwogaG9yaXpvbnRhbC1i
dCBsdHIgY29sdW1uLXJldmVyc2UKIFBBU1MKIFBBU1MKQEAgLTEwMyw2ICsxNDUsOSBAQCBQQVNT
CiBQQVNTCiBQQVNTCiBQQVNTCitQQVNTCitQQVNTCitQQVNTCiBob3Jpem9udGFsLWJ0IHJ0bCBj
b2x1bW4tcmV2ZXJzZQogUEFTUwogUEFTUwpAQCAtMTEwLDYgKzE1NSw5IEBAIFBBU1MKIFBBU1MK
IFBBU1MKIFBBU1MKK1BBU1MKK1BBU1MKK1BBU1MKIHZlcnRpY2FsLXJsIGx0ciByb3cKIFBBU1MK
IFBBU1MKQEAgLTExNyw2ICsxNjUsOSBAQCBQQVNTCiBQQVNTCiBQQVNTCiBQQVNTCitQQVNTCitQ
QVNTCitQQVNTCiB2ZXJ0aWNhbC1ybCBydGwgcm93CiBQQVNTCiBQQVNTCkBAIC0xMjQsNiArMTc1
LDkgQEAgUEFTUwogUEFTUwogUEFTUwogUEFTUworUEFTUworUEFTUworUEFTUwogdmVydGljYWwt
cmwgbHRyIGNvbHVtbgogUEFTUwogUEFTUwpAQCAtMTMxLDYgKzE4NSw5IEBAIFBBU1MKIFBBU1MK
IFBBU1MKIFBBU1MKK1BBU1MKK1BBU1MKK1BBU1MKIHZlcnRpY2FsLXJsIHJ0bCBjb2x1bW4KIFBB
U1MKIFBBU1MKQEAgLTEzOCw2ICsxOTUsOSBAQCBQQVNTCiBQQVNTCiBQQVNTCiBQQVNTCitQQVNT
CitQQVNTCitQQVNTCiB2ZXJ0aWNhbC1ybCBsdHIgcm93LXJldmVyc2UKIFBBU1MKIFBBU1MKQEAg
LTE0NSw2ICsyMDUsOSBAQCBQQVNTCiBQQVNTCiBQQVNTCiBQQVNTCitQQVNTCitQQVNTCitQQVNT
CiB2ZXJ0aWNhbC1ybCBydGwgcm93LXJldmVyc2UKIFBBU1MKIFBBU1MKQEAgLTE1Miw2ICsyMTUs
OSBAQCBQQVNTCiBQQVNTCiBQQVNTCiBQQVNTCitQQVNTCitQQVNTCitQQVNTCiB2ZXJ0aWNhbC1y
bCBsdHIgY29sdW1uLXJldmVyc2UKIFBBU1MKIFBBU1MKQEAgLTE1OSw2ICsyMjUsOSBAQCBQQVNT
CiBQQVNTCiBQQVNTCiBQQVNTCitQQVNTCitQQVNTCitQQVNTCiB2ZXJ0aWNhbC1ybCBydGwgY29s
dW1uLXJldmVyc2UKIFBBU1MKIFBBU1MKQEAgLTE2Niw2ICsyMzUsOSBAQCBQQVNTCiBQQVNTCiBQ
QVNTCiBQQVNTCitQQVNTCitQQVNTCitQQVNTCiB2ZXJ0aWNhbC1sciBsdHIgcm93CiBQQVNTCiBQ
QVNTCkBAIC0xNzMsNiArMjQ1LDkgQEAgUEFTUwogUEFTUwogUEFTUwogUEFTUworUEFTUworUEFT
UworUEFTUwogdmVydGljYWwtbHIgcnRsIHJvdwogUEFTUwogUEFTUwpAQCAtMTgwLDYgKzI1NSw5
IEBAIFBBU1MKIFBBU1MKIFBBU1MKIFBBU1MKK1BBU1MKK1BBU1MKK1BBU1MKIHZlcnRpY2FsLWxy
IGx0ciBjb2x1bW4KIFBBU1MKIFBBU1MKQEAgLTE4Nyw2ICsyNjUsOSBAQCBQQVNTCiBQQVNTCiBQ
QVNTCiBQQVNTCitQQVNTCitQQVNTCitQQVNTCiB2ZXJ0aWNhbC1sciBydGwgY29sdW1uCiBQQVNT
CiBQQVNTCkBAIC0xOTQsNiArMjc1LDkgQEAgUEFTUwogUEFTUwogUEFTUwogUEFTUworUEFTUwor
UEFTUworUEFTUwogdmVydGljYWwtbHIgbHRyIHJvdy1yZXZlcnNlCiBQQVNTCiBQQVNTCkBAIC0y
MDEsNiArMjg1LDkgQEAgUEFTUwogUEFTUwogUEFTUwogUEFTUworUEFTUworUEFTUworUEFTUwog
dmVydGljYWwtbHIgcnRsIHJvdy1yZXZlcnNlCiBQQVNTCiBQQVNTCkBAIC0yMDgsNiArMjk1LDkg
QEAgUEFTUwogUEFTUwogUEFTUwogUEFTUworUEFTUworUEFTUworUEFTUwogdmVydGljYWwtbHIg
bHRyIGNvbHVtbi1yZXZlcnNlCiBQQVNTCiBQQVNTCkBAIC0yMTUsNiArMzA1LDkgQEAgUEFTUwog
UEFTUwogUEFTUwogUEFTUworUEFTUworUEFTUworUEFTUwogdmVydGljYWwtbHIgcnRsIGNvbHVt
bi1yZXZlcnNlCiBQQVNTCiBQQVNTCkBAIC0yMjIsMyArMzE1LDYgQEAgUEFTUwogUEFTUwogUEFT
UwogUEFTUworUEFTUworUEFTUworUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9m
bGV4Ym94L3Bvc2l0aW9uLWFic29sdXRlLWNoaWxkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2Zs
ZXhib3gvcG9zaXRpb24tYWJzb2x1dGUtY2hpbGQuaHRtbAppbmRleCBjNjQwNDE3MDBlOWQ0MTNi
NzRjMjIwYTU5MWViZjAwOWI4NDQwMjk1Li5jZWRlYjI0OTk2MjBmZjM5ZGZmOTk1MmY4MmYwYjMw
ZWY2OTliNGVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvcG9zaXRpb24t
YWJzb2x1dGUtY2hpbGQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvcG9zaXRp
b24tYWJzb2x1dGUtY2hpbGQuaHRtbApAQCAtOTEsNiArOTEsOSBAQCB2YXIgZXhwZWN0YXRpb25z
ID0gewogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDI2MCwgNTYwXSB9LAogICAgICAg
ICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDMwMCwgNTYwXSB9LAogICAgICAgICAgICAgICAgIHsg
b2Zmc2V0czogWzAsIDMwMCwgNjAwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzEw
LCAxMCwgNTBdLCBjcm9zc0F4aXNPZmZzZXQ6IDUwIH0sCisgICAgICAgICAgICAgICAgeyBvZmZz
ZXRzOiBbMTAsIDUwLCA1MF0sIGNyb3NzQXhpc09mZnNldDogNTAgfSwKKyAgICAgICAgICAgICAg
ICB7IG9mZnNldHM6IFsxMCwgNTAsIDkwXSwgY3Jvc3NBeGlzT2Zmc2V0OiA1MCB9LAogICAgICAg
ICAgICAgXSwKICAgICAgICAgICAgIHJ0bDogWwogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czog
WzYwMCwgMzYwLCAwXSwgc2l6ZXM6IFswLCAyNDAsIDM2MF0gfSwKQEAgLTk5LDYgKzEwMiw5IEBA
IHZhciBleHBlY3RhdGlvbnMgPSB7CiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTgwLCAz
MDAsIDBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTYwLCAyODAsIDBdIH0sCiAg
ICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTYwLCAyNjAsIC0yMF0gfSwKKyAgICAgICAgICAg
ICAgICB7IG9mZnNldHM6IFs1MCwgNTAsIDEwXSwgY3Jvc3NBeGlzT2Zmc2V0OiA1MCB9LAorICAg
ICAgICAgICAgICAgIHsgb2Zmc2V0czogWzUwLCAxMCwgMTBdLCBjcm9zc0F4aXNPZmZzZXQ6IDUw
IH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTAsIDEwLCAtMzBdLCBjcm9zc0F4aXNP
ZmZzZXQ6IDUwIH0sCiAgICAgICAgICAgICBdLAogICAgICAgICB9LAogICAgICAgICBjb2x1bW46
IHsKQEAgLTEwOSw2ICsxMTUsOSBAQCB2YXIgZXhwZWN0YXRpb25zID0gewogICAgICAgICAgICAg
ICAgIHsgb2Zmc2V0czogWzAsIDIwLCA4MF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6
IFswLCA2MCwgODBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwgNjAsIDEyMF0g
fSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFsxMCwgMTAsIDUwXSwgY3Jvc3NBeGlzT2Zm
c2V0OiA1MCB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzEwLCA1MCwgNTBdLCBjcm9z
c0F4aXNPZmZzZXQ6IDUwIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMTAsIDUwLCA5
MF0sIGNyb3NzQXhpc09mZnNldDogNTAgfSwKICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICBy
dGw6IFsKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFswLCAwLCA0OF0sIHNpemVzOiBbMCwg
NDgsIDcyXSB9LApAQCAtMTE3LDYgKzEyNiw5IEBAIHZhciBleHBlY3RhdGlvbnMgPSB7CiAgICAg
ICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwgMjAsIDgwXSB9LAogICAgICAgICAgICAgICAgIHsg
b2Zmc2V0czogWzAsIDYwLCA4MF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFswLCA2
MCwgMTIwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzEwLCAxMCwgNTBdLCBjcm9z
c0F4aXNPZmZzZXQ6IDEwIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMTAsIDUwLCA1
MF0sIGNyb3NzQXhpc09mZnNldDogMTAgfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFsx
MCwgNTAsIDkwXSwgY3Jvc3NBeGlzT2Zmc2V0OiAxMCB9LAogICAgICAgICAgICAgXSwKICAgICAg
ICAgfSwKICAgICAgICAgJ3Jvdy1yZXZlcnNlJzogewpAQCAtMTI3LDYgKzEzOSw5IEBAIHZhciBl
eHBlY3RhdGlvbnMgPSB7CiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNjAwLCAzMDAsIDBd
IH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTYwLCAzMDAsIDBdIH0sCiAgICAgICAg
ICAgICAgICAgeyBvZmZzZXRzOiBbNTYwLCAyNjAsIDBdIH0sCisgICAgICAgICAgICAgICAgeyBv
ZmZzZXRzOiBbOTAsIDUwLCAxMF0sIGNyb3NzQXhpc09mZnNldDogNTAgfSwKKyAgICAgICAgICAg
ICAgICB7IG9mZnNldHM6IFs1MCwgNTAsIDEwXSwgY3Jvc3NBeGlzT2Zmc2V0OiA1MCB9LAorICAg
ICAgICAgICAgICAgIHsgb2Zmc2V0czogWzUwLCAxMCwgMTBdLCBjcm9zc0F4aXNPZmZzZXQ6IDUw
IH0sCiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgcnRsOiBbCiAgICAgICAgICAgICAgICAg
eyBvZmZzZXRzOiBbMCwgMCwgMjQwXSwgc2l6ZXM6IFswLCAyNDAsIDM2MF0gfSwKQEAgLTEzNSw2
ICsxNTAsOSBAQCB2YXIgZXhwZWN0YXRpb25zID0gewogICAgICAgICAgICAgICAgIHsgb2Zmc2V0
czogWy0yMCwgMjYwLCA1NjBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwgMjgw
LCA1NjBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwgMzAwLCA1ODBdIH0sCisg
ICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbLTMwLCAxMCwgNTBdLCBjcm9zc0F4aXNPZmZzZXQ6
IDUwIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMTAsIDEwLCA1MF0sIGNyb3NzQXhp
c09mZnNldDogNTAgfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFsxMCwgNTAsIDUwXSwg
Y3Jvc3NBeGlzT2Zmc2V0OiA1MCB9LAogICAgICAgICAgICAgXSwKICAgICAgICAgfSwKICAgICAg
ICAgJ2NvbHVtbi1yZXZlcnNlJzogewpAQCAtMTQ1LDYgKzE2Myw5IEBAIHZhciBleHBlY3RhdGlv
bnMgPSB7CiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMTIwLCA2MCwgMF0gfSwKICAgICAg
ICAgICAgICAgICB7IG9mZnNldHM6IFs4MCwgNjAsIDBdIH0sCiAgICAgICAgICAgICAgICAgeyBv
ZmZzZXRzOiBbODAsIDIwLCAwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzkwLCA1
MCwgMTBdLCBjcm9zc0F4aXNPZmZzZXQ6IDUwIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRz
OiBbNTAsIDUwLCAxMF0sIGNyb3NzQXhpc09mZnNldDogNTAgfSwKKyAgICAgICAgICAgICAgICB7
IG9mZnNldHM6IFs1MCwgMTAsIDEwXSwgY3Jvc3NBeGlzT2Zmc2V0OiA1MCB9LAogICAgICAgICAg
ICAgXSwKICAgICAgICAgICAgIHJ0bDogWwogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzEy
MCwgNzIsIDBdLCBzaXplczogWzAsIDQ4LCA3Ml0gfSwKQEAgLTE1Myw2ICsxNzQsOSBAQCB2YXIg
ZXhwZWN0YXRpb25zID0gewogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzEyMCwgNjAsIDBd
IH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbODAsIDYwLCAwXSB9LAogICAgICAgICAg
ICAgICAgIHsgb2Zmc2V0czogWzgwLCAyMCwgMF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNl
dHM6IFs5MCwgNTAsIDEwXSwgY3Jvc3NBeGlzT2Zmc2V0OiAxMCB9LAorICAgICAgICAgICAgICAg
IHsgb2Zmc2V0czogWzUwLCA1MCwgMTBdLCBjcm9zc0F4aXNPZmZzZXQ6IDEwIH0sCisgICAgICAg
ICAgICAgICAgeyBvZmZzZXRzOiBbNTAsIDEwLCAxMF0sIGNyb3NzQXhpc09mZnNldDogMTAgfSwK
ICAgICAgICAgICAgIF0sCiAgICAgICAgIH0sCiAgICAgfSwKQEAgLTE2Niw2ICsxOTAsOSBAQCB2
YXIgZXhwZWN0YXRpb25zID0gewogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDI2MCwg
NTYwXSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDMwMCwgNTYwXSB9LAogICAg
ICAgICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDMwMCwgNjAwXSB9LAorICAgICAgICAgICAgICAg
IHsgb2Zmc2V0czogWzEwLCAxMCwgNTBdLCBjcm9zc0F4aXNPZmZzZXQ6IDEwIH0sCisgICAgICAg
ICAgICAgICAgeyBvZmZzZXRzOiBbMTAsIDUwLCA1MF0sIGNyb3NzQXhpc09mZnNldDogMTAgfSwK
KyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFsxMCwgNTAsIDkwXSwgY3Jvc3NBeGlzT2Zmc2V0
OiAxMCB9LAogICAgICAgICAgICAgXSwKICAgICAgICAgICAgIHJ0bDogWwogICAgICAgICAgICAg
ICAgIHsgb2Zmc2V0czogWzYwMCwgMzYwLCAwXSwgc2l6ZXM6IFswLCAyNDAsIDM2MF0gfSwKQEAg
LTE3NCw2ICsyMDEsOSBAQCB2YXIgZXhwZWN0YXRpb25zID0gewogICAgICAgICAgICAgICAgIHsg
b2Zmc2V0czogWzU4MCwgMzAwLCAwXSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzU2
MCwgMjgwLCAwXSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzU2MCwgMjYwLCAtMjBd
IH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTAsIDUwLCAxMF0sIGNyb3NzQXhpc09m
ZnNldDogMTAgfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs1MCwgMTAsIDEwXSwgY3Jv
c3NBeGlzT2Zmc2V0OiAxMCB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzUwLCAxMCwg
LTMwXSwgY3Jvc3NBeGlzT2Zmc2V0OiAxMCB9LAogICAgICAgICAgICAgXSwKICAgICAgICAgfSwK
ICAgICAgICAgLy8gaG9yaXpvbnRhbC1idCBmbGlwcyB0aGUgbWFpbiBheGlzIGRpcmVjdGlvbiBz
byB0aGUgb2Zmc2V0cyBhcmUgZGlmZmVyZW50IGZyb20gaG9yaXpvbnRhbC10Yi4KQEAgLTE4NSw2
ICsyMTUsOSBAQCB2YXIgZXhwZWN0YXRpb25zID0gewogICAgICAgICAgICAgICAgIHsgb2Zmc2V0
czogWzEwMCwgNjAsIDBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbODAsIDQwLCAw
XSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzgwLCAyMCwgLTIwXSB9LAorICAgICAg
ICAgICAgICAgIHsgb2Zmc2V0czogWzUwLCA1MCwgMTBdLCBjcm9zc0F4aXNPZmZzZXQ6IDUwIH0s
CisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTAsIDEwLCAxMF0sIGNyb3NzQXhpc09mZnNl
dDogNTAgfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs1MCwgMTAsIC0zMF0sIGNyb3Nz
QXhpc09mZnNldDogNTAgfSwKICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICBydGw6IFsKICAg
ICAgICAgICAgICAgICB7IG9mZnNldHM6IFsxMjAsIDcyLCAwXSwgc2l6ZXM6IFswLCA0OCwgNzJd
IH0sCkBAIC0xOTMsNiArMjI2LDkgQEAgdmFyIGV4cGVjdGF0aW9ucyA9IHsKICAgICAgICAgICAg
ICAgICB7IG9mZnNldHM6IFsxMDAsIDYwLCAwXSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0
czogWzgwLCA0MCwgMF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs4MCwgMjAsIC0y
MF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs1MCwgNTAsIDEwXSwgY3Jvc3NBeGlz
T2Zmc2V0OiAxMCB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzUwLCAxMCwgMTBdLCBj
cm9zc0F4aXNPZmZzZXQ6IDEwIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTAsIDEw
LCAtMzBdLCBjcm9zc0F4aXNPZmZzZXQ6IDEwIH0sCiAgICAgICAgICAgICBdLAogICAgICAgICB9
LAogICAgICAgICAncm93LXJldmVyc2UnOiB7CkBAIC0yMDMsNiArMjM5LDkgQEAgdmFyIGV4cGVj
dGF0aW9ucyA9IHsKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs2MDAsIDMwMCwgMF0gfSwK
ICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs1NjAsIDMwMCwgMF0gfSwKICAgICAgICAgICAg
ICAgICB7IG9mZnNldHM6IFs1NjAsIDI2MCwgMF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNl
dHM6IFs5MCwgNTAsIDEwXSwgY3Jvc3NBeGlzT2Zmc2V0OiAxMCB9LAorICAgICAgICAgICAgICAg
IHsgb2Zmc2V0czogWzUwLCA1MCwgMTBdLCBjcm9zc0F4aXNPZmZzZXQ6IDEwIH0sCisgICAgICAg
ICAgICAgICAgeyBvZmZzZXRzOiBbNTAsIDEwLCAxMF0sIGNyb3NzQXhpc09mZnNldDogMTAgfSwK
ICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICBydGw6IFsKICAgICAgICAgICAgICAgICB7IG9m
ZnNldHM6IFswLCAwLCAyNDBdLCBzaXplczogWzAsIDI0MCwgMzYwXSB9LApAQCAtMjExLDYgKzI1
MCw5IEBAIHZhciBleHBlY3RhdGlvbnMgPSB7CiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBb
LTIwLCAyNjAsIDU2MF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFswLCAyODAsIDU2
MF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFswLCAzMDAsIDU4MF0gfSwKKyAgICAg
ICAgICAgICAgICB7IG9mZnNldHM6IFstMzAsIDEwLCA1MF0sIGNyb3NzQXhpc09mZnNldDogMTAg
fSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFsxMCwgMTAsIDUwXSwgY3Jvc3NBeGlzT2Zm
c2V0OiAxMCB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzEwLCA1MCwgNTBdLCBjcm9z
c0F4aXNPZmZzZXQ6IDEwIH0sCiAgICAgICAgICAgICBdLAogICAgICAgICB9LAogICAgICAgICAn
Y29sdW1uLXJldmVyc2UnOiB7CkBAIC0yMjEsNiArMjYzLDkgQEAgdmFyIGV4cGVjdGF0aW9ucyA9
IHsKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFstMjAsIDIwLCA4MF0gfSwKICAgICAgICAg
ICAgICAgICB7IG9mZnNldHM6IFswLCA0MCwgODBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZz
ZXRzOiBbMCwgNjAsIDEwMF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFstMzAsIDEw
LCA1MF0sIGNyb3NzQXhpc09mZnNldDogNTAgfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6
IFsxMCwgMTAsIDUwXSwgY3Jvc3NBeGlzT2Zmc2V0OiA1MCB9LAorICAgICAgICAgICAgICAgIHsg
b2Zmc2V0czogWzEwLCA1MCwgNTBdLCBjcm9zc0F4aXNPZmZzZXQ6IDUwIH0sCiAgICAgICAgICAg
ICBdLAogICAgICAgICAgICAgcnRsOiBbCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwg
MCwgNDhdLCBzaXplczogWzAsIDQ4LCA3Ml0gfSwKQEAgLTIyOSw2ICsyNzQsOSBAQCB2YXIgZXhw
ZWN0YXRpb25zID0gewogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWy0yMCwgMjAsIDgwXSB9
LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDQwLCA4MF0gfSwKICAgICAgICAgICAg
ICAgICB7IG9mZnNldHM6IFswLCA2MCwgMTAwXSB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0
czogWy0zMCwgMTAsIDUwXSwgY3Jvc3NBeGlzT2Zmc2V0OiAxMCB9LAorICAgICAgICAgICAgICAg
IHsgb2Zmc2V0czogWzEwLCAxMCwgNTBdLCBjcm9zc0F4aXNPZmZzZXQ6IDEwIH0sCisgICAgICAg
ICAgICAgICAgeyBvZmZzZXRzOiBbMTAsIDUwLCA1MF0sIGNyb3NzQXhpc09mZnNldDogMTAgfSwK
ICAgICAgICAgICAgIF0sCiAgICAgICAgIH0sCiAgICAgfSwKQEAgLTI0Miw2ICsyOTAsOSBAQCB2
YXIgZXhwZWN0YXRpb25zID0gewogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDIwLCA4
MF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFswLCA2MCwgODBdIH0sCiAgICAgICAg
ICAgICAgICAgeyBvZmZzZXRzOiBbMCwgNjAsIDEyMF0gfSwKKyAgICAgICAgICAgICAgICB7IG9m
ZnNldHM6IFsxMCwgMTAsIDUwXSwgY3Jvc3NBeGlzT2Zmc2V0OiAxMCB9LAorICAgICAgICAgICAg
ICAgIHsgb2Zmc2V0czogWzEwLCA1MCwgNTBdLCBjcm9zc0F4aXNPZmZzZXQ6IDEwIH0sCisgICAg
ICAgICAgICAgICAgeyBvZmZzZXRzOiBbMTAsIDUwLCA5MF0sIGNyb3NzQXhpc09mZnNldDogMTAg
fSwKICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICBydGw6IFsKICAgICAgICAgICAgICAgICB7
IG9mZnNldHM6IFsxMjAsIDcyLCAwXSwgc2l6ZXM6IFswLCA0OCwgNzJdIH0sCkBAIC0yNTAsNiAr
MzAxLDkgQEAgdmFyIGV4cGVjdGF0aW9ucyA9IHsKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6
IFsxMDAsIDYwLCAwXSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzgwLCA0MCwgMF0g
fSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs4MCwgMjAsIC0yMF0gfSwKKyAgICAgICAg
ICAgICAgICB7IG9mZnNldHM6IFs1MCwgNTAsIDEwXSwgY3Jvc3NBeGlzT2Zmc2V0OiAxMCB9LAor
ICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzUwLCAxMCwgMTBdLCBjcm9zc0F4aXNPZmZzZXQ6
IDEwIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTAsIDEwLCAtMzBdLCBjcm9zc0F4
aXNPZmZzZXQ6IDEwIH0sCiAgICAgICAgICAgICBdLAogICAgICAgICB9LAogICAgICAgICBjb2x1
bW46IHsKQEAgLTI2MSw2ICszMTUsOSBAQCB2YXIgZXhwZWN0YXRpb25zID0gewogICAgICAgICAg
ICAgICAgIHsgb2Zmc2V0czogWzU4MCwgMzAwLCAwXSB9LAogICAgICAgICAgICAgICAgIHsgb2Zm
c2V0czogWzU2MCwgMjgwLCAwXSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzU2MCwg
MjYwLCAtMjBdIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTAsIDUwLCAxMF0sIGNy
b3NzQXhpc09mZnNldDogNTAgfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs1MCwgMTAs
IDEwXSwgY3Jvc3NBeGlzT2Zmc2V0OiA1MCB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czog
WzUwLCAxMCwgLTMwXSwgY3Jvc3NBeGlzT2Zmc2V0OiA1MCB9LAogICAgICAgICAgICAgXSwKICAg
ICAgICAgICAgIHJ0bDogWwogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzYwMCwgMzYwLCAw
XSwgc2l6ZXM6IFswLCAyNDAsIDM2MF0gfSwKQEAgLTI2OSw2ICszMjYsOSBAQCB2YXIgZXhwZWN0
YXRpb25zID0gewogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzU4MCwgMzAwLCAwXSB9LAog
ICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzU2MCwgMjgwLCAwXSB9LAogICAgICAgICAgICAg
ICAgIHsgb2Zmc2V0czogWzU2MCwgMjYwLCAtMjBdIH0sCisgICAgICAgICAgICAgICAgeyBvZmZz
ZXRzOiBbNTAsIDUwLCAxMF0sIGNyb3NzQXhpc09mZnNldDogMTAgfSwKKyAgICAgICAgICAgICAg
ICB7IG9mZnNldHM6IFs1MCwgMTAsIDEwXSwgY3Jvc3NBeGlzT2Zmc2V0OiAxMCB9LAorICAgICAg
ICAgICAgICAgIHsgb2Zmc2V0czogWzUwLCAxMCwgLTMwXSwgY3Jvc3NBeGlzT2Zmc2V0OiAxMCB9
LAogICAgICAgICAgICAgXSwKICAgICAgICAgfSwKICAgICAgICAgJ3Jvdy1yZXZlcnNlJzogewpA
QCAtMjc5LDYgKzMzOSw5IEBAIHZhciBleHBlY3RhdGlvbnMgPSB7CiAgICAgICAgICAgICAgICAg
eyBvZmZzZXRzOiBbMTIwLCA2MCwgMF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs4
MCwgNjAsIDBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbODAsIDIwLCAwXSB9LAor
ICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzkwLCA1MCwgMTBdLCBjcm9zc0F4aXNPZmZzZXQ6
IDEwIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTAsIDUwLCAxMF0sIGNyb3NzQXhp
c09mZnNldDogMTAgfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs1MCwgMTAsIDEwXSwg
Y3Jvc3NBeGlzT2Zmc2V0OiAxMCB9LAogICAgICAgICAgICAgXSwKICAgICAgICAgICAgIHJ0bDog
WwogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDAsIDQ4XSwgc2l6ZXM6IFswLCA0OCwg
NzJdIH0sCkBAIC0yODcsNiArMzUwLDkgQEAgdmFyIGV4cGVjdGF0aW9ucyA9IHsKICAgICAgICAg
ICAgICAgICB7IG9mZnNldHM6IFstMjAsIDIwLCA4MF0gfSwKICAgICAgICAgICAgICAgICB7IG9m
ZnNldHM6IFswLCA0MCwgODBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwgNjAs
IDEwMF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFstMzAsIDEwLCA1MF0sIGNyb3Nz
QXhpc09mZnNldDogMTAgfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFsxMCwgMTAsIDUw
XSwgY3Jvc3NBeGlzT2Zmc2V0OiAxMCB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzEw
LCA1MCwgNTBdLCBjcm9zc0F4aXNPZmZzZXQ6IDEwIH0sCiAgICAgICAgICAgICBdLAogICAgICAg
ICB9LAogICAgICAgICAnY29sdW1uLXJldmVyc2UnOiB7CkBAIC0yOTcsNiArMzYzLDkgQEAgdmFy
IGV4cGVjdGF0aW9ucyA9IHsKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFstMjAsIDI2MCwg
NTYwXSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDI4MCwgNTYwXSB9LAogICAg
ICAgICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDMwMCwgNTgwXSB9LAorICAgICAgICAgICAgICAg
IHsgb2Zmc2V0czogWy0zMCwgMTAsIDUwXSwgY3Jvc3NBeGlzT2Zmc2V0OiA1MCB9LAorICAgICAg
ICAgICAgICAgIHsgb2Zmc2V0czogWzEwLCAxMCwgNTBdLCBjcm9zc0F4aXNPZmZzZXQ6IDUwIH0s
CisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMTAsIDUwLCA1MF0sIGNyb3NzQXhpc09mZnNl
dDogNTAgfSwKICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICBydGw6IFsKICAgICAgICAgICAg
ICAgICB7IG9mZnNldHM6IFswLCAwLCAyNDBdLCBzaXplczogWzAsIDI0MCwgMzYwXSB9LApAQCAt
MzA1LDYgKzM3NCw5IEBAIHZhciBleHBlY3RhdGlvbnMgPSB7CiAgICAgICAgICAgICAgICAgeyBv
ZmZzZXRzOiBbLTIwLCAyNjAsIDU2MF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFsw
LCAyODAsIDU2MF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFswLCAzMDAsIDU4MF0g
fSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFstMzAsIDEwLCA1MF0sIGNyb3NzQXhpc09m
ZnNldDogMTAgfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFsxMCwgMTAsIDUwXSwgY3Jv
c3NBeGlzT2Zmc2V0OiAxMCB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzEwLCA1MCwg
NTBdLCBjcm9zc0F4aXNPZmZzZXQ6IDEwIH0sCiAgICAgICAgICAgICBdLAogICAgICAgICB9CiAg
ICAgfSwKQEAgLTMxOCw2ICszOTAsOSBAQCB2YXIgZXhwZWN0YXRpb25zID0gewogICAgICAgICAg
ICAgICAgIHsgb2Zmc2V0czogWzAsIDIwLCA4MF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNl
dHM6IFswLCA2MCwgODBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwgNjAsIDEy
MF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFsxMCwgMTAsIDUwXSwgY3Jvc3NBeGlz
T2Zmc2V0OiA1MCB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzEwLCA1MCwgNTBdLCBj
cm9zc0F4aXNPZmZzZXQ6IDUwIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMTAsIDUw
LCA5MF0sIGNyb3NzQXhpc09mZnNldDogNTAgfSwKICAgICAgICAgICAgIF0sCiAgICAgICAgICAg
ICBydGw6IFsKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFsxMjAsIDcyLCAwXSwgc2l6ZXM6
IFswLCA0OCwgNzJdIH0sCkBAIC0zMjYsNiArNDAxLDkgQEAgdmFyIGV4cGVjdGF0aW9ucyA9IHsK
ICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFsxMDAsIDYwLCAwXSB9LAogICAgICAgICAgICAg
ICAgIHsgb2Zmc2V0czogWzgwLCA0MCwgMF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6
IFs4MCwgMjAsIC0yMF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs1MCwgNTAsIDEw
XSwgY3Jvc3NBeGlzT2Zmc2V0OiA1MCB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzUw
LCAxMCwgMTBdLCBjcm9zc0F4aXNPZmZzZXQ6IDUwIH0sCisgICAgICAgICAgICAgICAgeyBvZmZz
ZXRzOiBbNTAsIDEwLCAtMzBdLCBjcm9zc0F4aXNPZmZzZXQ6IDUwIH0sCiAgICAgICAgICAgICBd
LAogICAgICAgICB9LAogICAgICAgICBjb2x1bW46IHsKQEAgLTMzNyw2ICs0MTUsOSBAQCB2YXIg
ZXhwZWN0YXRpb25zID0gewogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDI2MCwgNTYw
XSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDMwMCwgNTYwXSB9LAogICAgICAg
ICAgICAgICAgIHsgb2Zmc2V0czogWzAsIDMwMCwgNjAwXSB9LAorICAgICAgICAgICAgICAgIHsg
b2Zmc2V0czogWzEwLCAxMCwgNTBdLCBjcm9zc0F4aXNPZmZzZXQ6IDUwIH0sCisgICAgICAgICAg
ICAgICAgeyBvZmZzZXRzOiBbMTAsIDUwLCA1MF0sIGNyb3NzQXhpc09mZnNldDogNTAgfSwKKyAg
ICAgICAgICAgICAgICB7IG9mZnNldHM6IFsxMCwgNTAsIDkwXSwgY3Jvc3NBeGlzT2Zmc2V0OiA1
MCB9LAogICAgICAgICAgICAgXSwKICAgICAgICAgICAgIHJ0bDogWwogICAgICAgICAgICAgICAg
IHsgb2Zmc2V0czogWzAsIDAsIDI0MF0sIHNpemVzOiBbMCwgMjQwLCAzNjBdIH0sCkBAIC0zNDUs
NiArNDI2LDkgQEAgdmFyIGV4cGVjdGF0aW9ucyA9IHsKICAgICAgICAgICAgICAgICB7IG9mZnNl
dHM6IFswLCAyNjAsIDU2MF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFswLCAzMDAs
IDU2MF0gfSwKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFswLCAzMDAsIDYwMF0gfSwKKyAg
ICAgICAgICAgICAgICB7IG9mZnNldHM6IFsxMCwgMTAsIDUwXSwgY3Jvc3NBeGlzT2Zmc2V0OiAx
MCB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzEwLCA1MCwgNTBdLCBjcm9zc0F4aXNP
ZmZzZXQ6IDEwIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMTAsIDUwLCA5MF0sIGNy
b3NzQXhpc09mZnNldDogMTAgfSwKICAgICAgICAgICAgIF0sCiAgICAgICAgIH0sCiAgICAgICAg
ICdyb3ctcmV2ZXJzZSc6IHsKQEAgLTM1NSw2ICs0MzksOSBAQCB2YXIgZXhwZWN0YXRpb25zID0g
ewogICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzEyMCwgNjAsIDBdIH0sCiAgICAgICAgICAg
ICAgICAgeyBvZmZzZXRzOiBbODAsIDYwLCAwXSB9LAogICAgICAgICAgICAgICAgIHsgb2Zmc2V0
czogWzgwLCAyMCwgMF0gfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs5MCwgNTAsIDEw
XSwgY3Jvc3NBeGlzT2Zmc2V0OiA1MCB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzUw
LCA1MCwgMTBdLCBjcm9zc0F4aXNPZmZzZXQ6IDUwIH0sCisgICAgICAgICAgICAgICAgeyBvZmZz
ZXRzOiBbNTAsIDEwLCAxMF0sIGNyb3NzQXhpc09mZnNldDogNTAgfSwKICAgICAgICAgICAgIF0s
CiAgICAgICAgICAgICBydGw6IFsKICAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFswLCAwLCA0
OF0sIHNpemVzOiBbMCwgNDgsIDcyXSB9LApAQCAtMzYzLDYgKzQ1MCw5IEBAIHZhciBleHBlY3Rh
dGlvbnMgPSB7CiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbLTIwLCAyMCwgODBdIH0sCiAg
ICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbMCwgNDAsIDgwXSB9LAogICAgICAgICAgICAgICAg
IHsgb2Zmc2V0czogWzAsIDYwLCAxMDBdIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBb
LTMwLCAxMCwgNTBdLCBjcm9zc0F4aXNPZmZzZXQ6IDUwIH0sCisgICAgICAgICAgICAgICAgeyBv
ZmZzZXRzOiBbMTAsIDEwLCA1MF0sIGNyb3NzQXhpc09mZnNldDogNTAgfSwKKyAgICAgICAgICAg
ICAgICB7IG9mZnNldHM6IFsxMCwgNTAsIDUwXSwgY3Jvc3NBeGlzT2Zmc2V0OiA1MCB9LAogICAg
ICAgICAgICAgXSwKICAgICAgICAgfSwKICAgICAgICAgJ2NvbHVtbi1yZXZlcnNlJzogewpAQCAt
MzczLDYgKzQ2Myw5IEBAIHZhciBleHBlY3RhdGlvbnMgPSB7CiAgICAgICAgICAgICAgICAgeyBv
ZmZzZXRzOiBbNjAwLCAzMDAsIDBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTYw
LCAzMDAsIDBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNTYwLCAyNjAsIDBdIH0s
CisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbOTAsIDUwLCAxMF0sIGNyb3NzQXhpc09mZnNl
dDogNTAgfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs1MCwgNTAsIDEwXSwgY3Jvc3NB
eGlzT2Zmc2V0OiA1MCB9LAorICAgICAgICAgICAgICAgIHsgb2Zmc2V0czogWzUwLCAxMCwgMTBd
LCBjcm9zc0F4aXNPZmZzZXQ6IDUwIH0sCiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgcnRs
OiBbCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNjAwLCAzNjAsIDBdLCBzaXplczogWzAs
IDI0MCwgMzYwXSB9LApAQCAtMzgxLDYgKzQ3NCw5IEBAIHZhciBleHBlY3RhdGlvbnMgPSB7CiAg
ICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbNjAwLCAzMDAsIDBdIH0sCiAgICAgICAgICAgICAg
ICAgeyBvZmZzZXRzOiBbNTYwLCAzMDAsIDBdIH0sCiAgICAgICAgICAgICAgICAgeyBvZmZzZXRz
OiBbNTYwLCAyNjAsIDBdIH0sCisgICAgICAgICAgICAgICAgeyBvZmZzZXRzOiBbOTAsIDUwLCAx
MF0sIGNyb3NzQXhpc09mZnNldDogMTAgfSwKKyAgICAgICAgICAgICAgICB7IG9mZnNldHM6IFs1
MCwgNTAsIDEwXSwgY3Jvc3NBeGlzT2Zmc2V0OiAxMCB9LAorICAgICAgICAgICAgICAgIHsgb2Zm
c2V0czogWzUwLCAxMCwgMTBdLCBjcm9zc0F4aXNPZmZzZXQ6IDEwIH0sCiAgICAgICAgICAgICBd
LAogICAgICAgICB9LAogICAgIH0KQEAgLTM5OSw4ICs0OTUsNiBAQCBmdW5jdGlvbiBzZXRGbGV4
Ym94U2l6ZShmbGV4Ym94LCBmbGV4RGlyZWN0aW9uKQogZnVuY3Rpb24gYWRkRmxleFBhY2tKdXN0
aWZ5VGVzdHMod3JpdGluZ01vZGUsIGZsZXhGbG93LCBkaXJlY3Rpb24sIGZsZXhEaXJlY3Rpb24p
CiB7CiAgICAgdmFyIGZsZXhib3hDbGFzc05hbWUgPSB3cml0aW5nTW9kZSArICcgJyArIGRpcmVj
dGlvbiArICcgJyArIGZsZXhGbG93OwotCi0KICAgICBmb3IgKHZhciBhYnNvbHV0ZUluZGV4ID0g
MTsgYWJzb2x1dGVJbmRleCA8PSAzOyArK2Fic29sdXRlSW5kZXgpIHsKICAgICAgICAgdmFyIGV4
cGVjdGVkID0gZXhwZWN0YXRpb25zW3dyaXRpbmdNb2RlXVtmbGV4Rmxvd11bZGlyZWN0aW9uXVsy
ICsgYWJzb2x1dGVJbmRleF07CiAKQEAgLTQzNCw2ICs1MjgsMzkgQEAgZnVuY3Rpb24gYWRkRmxl
eFBhY2tKdXN0aWZ5VGVzdHMod3JpdGluZ01vZGUsIGZsZXhGbG93LCBkaXJlY3Rpb24sIGZsZXhE
aXJlY3Rpb24KICAgICB9CiB9CiAKK2Z1bmN0aW9uIGFkZEZsZXhBbGlnbkNlbnRlclRlc3RzKHdy
aXRpbmdNb2RlLCBmbGV4RmxvdywgZGlyZWN0aW9uLCBmbGV4RGlyZWN0aW9uKQoreworICAgIHZh
ciBmbGV4Ym94Q2xhc3NOYW1lID0gd3JpdGluZ01vZGUgKyAnICcgKyBkaXJlY3Rpb24gKyAnICcg
KyBmbGV4RmxvdzsKKyAgICBmb3IgKHZhciBhYnNvbHV0ZUluZGV4ID0gMTsgYWJzb2x1dGVJbmRl
eCA8PSAzOyArK2Fic29sdXRlSW5kZXgpIHsKKyAgICAgICAgdmFyIGV4cGVjdGVkID0gZXhwZWN0
YXRpb25zW3dyaXRpbmdNb2RlXVtmbGV4Rmxvd11bZGlyZWN0aW9uXVs1ICsgYWJzb2x1dGVJbmRl
eF07CisKKyAgICAgICAgdmFyIGZsZXhib3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKKyAgICAgICAgZmxleGJveC5jbGFzc05hbWUgPSAnZmxleGJveCAnICsgZmxleGJveENsYXNz
TmFtZTsKKyAgICAgICAgZmxleGJveC5zdHlsZS5oZWlnaHQgPSAnMTAwcHgnOworICAgICAgICBm
bGV4Ym94LnN0eWxlLndpZHRoID0gJzEwMHB4JzsKKyAgICAgICAgZmxleGJveC5zdHlsZS5tYXJn
aW4gPSAiMjBweCI7CisgICAgICAgIGZsZXhib3guc3R5bGUud2Via2l0RmxleFBhY2sgPSAnY2Vu
dGVyJzsKKyAgICAgICAgZmxleGJveC5zdHlsZS53ZWJraXRGbGV4QWxpZ24gPSAnY2VudGVyJzsK
KworICAgICAgICBmb3IgKHZhciBjaGlsZEluZGV4ID0gMTsgY2hpbGRJbmRleCA8PSAzOyArK2No
aWxkSW5kZXgpIHsKKyAgICAgICAgICAgIHZhciBjaGlsZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOworICAgICAgICAgICAgaWYgKGFic29sdXRlSW5kZXggPT0gY2hpbGRJbmRleCkg
eworICAgICAgICAgICAgICAgIGNoaWxkLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJzsKKyAg
ICAgICAgICAgICAgICBjaGlsZC5zdHlsZS5vdXRsaW5lID0gIjJweCBzb2xpZCB5ZWxsb3ciOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgY2hpbGQuc3R5bGUud2lkdGggPSAnNDBweCc7Cisg
ICAgICAgICAgICBjaGlsZC5zdHlsZS5oZWlnaHQgPSAnNDBweCc7CisKKyAgICAgICAgICAgIGNo
aWxkLnNldEF0dHJpYnV0ZSgnZGF0YS1vZmZzZXQtJyArIChmbGV4RGlyZWN0aW9uID09ICd3aWR0
aCcgPyAneCcgOiAneScpLCBleHBlY3RlZC5vZmZzZXRzW2NoaWxkSW5kZXggLSAxXSk7CisgICAg
ICAgICAgICB2YXIgZXhwZWN0ZWRDcm9zc0F4aXNPZmZzZXQgPSAoYWJzb2x1dGVJbmRleCA9PSBj
aGlsZEluZGV4KSA/IGV4cGVjdGVkLmNyb3NzQXhpc09mZnNldCA6IDMwOworICAgICAgICAgICAg
Y2hpbGQuc2V0QXR0cmlidXRlKCdkYXRhLW9mZnNldC0nICsgKGZsZXhEaXJlY3Rpb24gPT0gJ3dp
ZHRoJyA/ICd5JyA6ICd4JyksIGV4cGVjdGVkQ3Jvc3NBeGlzT2Zmc2V0KTsKKyAgICAgICAgICAg
IGZsZXhib3guYXBwZW5kQ2hpbGQoY2hpbGQpOworICAgICAgICB9CisKKyAgICAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChmbGV4Ym94KTsKKyAgICB9Cit9CisKIHdyaXRpbmdNb2Rlcy5m
b3JFYWNoKGZ1bmN0aW9uKHdyaXRpbmdNb2RlKSB7CiAgICAgZmxleEZsb3dzLmZvckVhY2goZnVu
Y3Rpb24oZmxleEZsb3cpIHsKICAgICAgICAgZGlyZWN0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uKGRp
cmVjdGlvbikgewpAQCAtNDQ0LDcgKzU3MSw2IEBAIHdyaXRpbmdNb2Rlcy5mb3JFYWNoKGZ1bmN0
aW9uKHdyaXRpbmdNb2RlKSB7CiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHRpdGxlKTsKIAogICAgICAgICAgICAgdmFyIGZsZXhEaXJlY3Rpb24gPSBnZXRGbGV4RGlyZWN0
aW9uKGZsZXhGbG93LCB3cml0aW5nTW9kZSk7Ci0KICAgICAgICAgICAgIGZvciAodmFyIGFic29s
dXRlSW5kZXggPSAxOyBhYnNvbHV0ZUluZGV4IDw9IDM7ICsrYWJzb2x1dGVJbmRleCkgewogICAg
ICAgICAgICAgICAgIHZhciBleHBlY3RlZCA9IGV4cGVjdGF0aW9uc1t3cml0aW5nTW9kZV1bZmxl
eEZsb3ddW2RpcmVjdGlvbl1bYWJzb2x1dGVJbmRleCAtIDFdOwogCkBAIC00NjgsNiArNTk0LDcg
QEAgd3JpdGluZ01vZGVzLmZvckVhY2goZnVuY3Rpb24od3JpdGluZ01vZGUpIHsKICAgICAgICAg
ICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZsZXhib3gpOwogICAgICAgICAgICAg
fQogICAgICAgICAgICAgYWRkRmxleFBhY2tKdXN0aWZ5VGVzdHMod3JpdGluZ01vZGUsIGZsZXhG
bG93LCBkaXJlY3Rpb24sIGZsZXhEaXJlY3Rpb24pOworICAgICAgICAgICAgYWRkRmxleEFsaWdu
Q2VudGVyVGVzdHMod3JpdGluZ01vZGUsIGZsZXhGbG93LCBkaXJlY3Rpb24sIGZsZXhEaXJlY3Rp
b24pOwogICAgICAgICB9KQogICAgIH0pCiB9KQo=
</data>
<flag name="review"
          id="151491"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>