<?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>130664</bug_id>
          
          <creation_ts>2014-03-24 03:50:34 -0700</creation_ts>
          <short_desc>[CSS Blending] Compositing requirements for blending are not computed correctly</short_desc>
          <delta_ts>2014-04-02 00:31:24 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>95614</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ion Rosca">rosca</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>WebkitBugTracker</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>993777</commentid>
    <comment_count>0</comment_count>
    <who name="Ion Rosca">rosca</who>
    <bug_when>2014-03-24 03:50:34 -0700</bug_when>
    <thetext>Here is the requirement regarding layer acceleration for blend modes:
    If a layer having blending is accelerated for any reason then its stacking context layer needs to be accelerated too.

What happens now:
1) If a blending layer is accelerated, all its RenderLayer ascendants get accelerated.  
2) If a non-accelerated layer has an accelerated sibling, then all its ascendants are accelerated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993778</commentid>
    <comment_count>1</comment_count>
      <attachid>227636</attachid>
    <who name="Ion Rosca">rosca</who>
    <bug_when>2014-03-24 03:51:22 -0700</bug_when>
    <thetext>Created attachment 227636
use cases</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993913</commentid>
    <comment_count>2</comment_count>
      <attachid>227676</attachid>
    <who name="Ion Rosca">rosca</who>
    <bug_when>2014-03-24 12:08:22 -0700</bug_when>
    <thetext>Created attachment 227676
patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995864</commentid>
    <comment_count>3</comment_count>
      <attachid>228178</attachid>
    <who name="Ion Rosca">rosca</who>
    <bug_when>2014-03-31 07:52:56 -0700</bug_when>
    <thetext>Created attachment 228178
add ifdef to blending code, nits</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995913</commentid>
    <comment_count>4</comment_count>
      <attachid>228178</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2014-03-31 10:34:02 -0700</bug_when>
    <thetext>Comment on attachment 228178
add ifdef to blending code, nits

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        being the closest stacking context should be accelerated as well.

Probably this can be rewritten: &quot;if a layer having blend mode is composited, its closest stacking context ancestor should be composited as well&quot;

&gt; Source/WebCore/ChangeLog:23
&gt; +        * rendering/RenderLayerCompositor.cpp:

You should mention something about the renaming of m_subtreeHasBlending =&gt; m_hasUnisolatedCompositedBlendingDescendants in CompositingState.

&gt; Source/WebCore/rendering/RenderLayer.h:789
&gt; +    bool isolatesCompositedBlending() const

In general, i would like to see as much as possible code related to this feature guarded by ENABLE(CSS_COMPOSITING)

&gt; Source/WebCore/rendering/RenderLayerCompositor.cpp:-208
&gt; -        , m_subtreeHasBlending(other.m_subtreeHasBlending)

Maybe you can make these bool bit fields in a follow up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996003</commentid>
    <comment_count>5</comment_count>
      <attachid>228203</attachid>
    <who name="Ion Rosca">rosca</who>
    <bug_when>2014-03-31 14:19:27 -0700</bug_when>
    <thetext>Created attachment 228203
more comments and ifdefs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996615</commentid>
    <comment_count>6</comment_count>
      <attachid>228203</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-02 00:31:19 -0700</bug_when>
    <thetext>Comment on attachment 228203
more comments and ifdefs

Clearing flags on attachment: 228203

Committed r166634: &lt;http://trac.webkit.org/changeset/166634&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996616</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-02 00:31:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>227636</attachid>
            <date>2014-03-24 03:51:22 -0700</date>
            <delta_ts>2014-03-24 03:51:22 -0700</delta_ts>
            <desc>use cases</desc>
            <filename>test1.html</filename>
            <type>text/html</type>
            <size>1034</size>
            <attacher name="Ion Rosca">rosca</attacher>
            
              <data encoding="base64">IDwhRE9DVFlQRSBIVE1MPgogCiA8c3R5bGU+CiAgICAuYWNjZWxlcmF0ZWQgewogICAgICAgIC13
ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpOwogICAgfQogICAgLmJsZW5kZWQgewogICAg
ICAgIC13ZWJraXQtbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5OwogICAgfQogICAgLmNoaWxkIHsK
ICAgICAgICB3aWR0aDogMTAwcHg7CiAgICAgICAgaGVpZ2h0OiAxMDBweDsKICAgICAgICBiYWNr
Z3JvdW5kLWNvbG9yOiBncmVlbjsKICAgICAgICBtYXJnaW46IDEwcHg7CiAgICB9CiAgICAucGFy
ZW50IHsKICAgICAgICAtd2Via2l0LWlzb2xhdGlvbjogaXNvbGF0ZTsKICAgICAgICBib3JkZXI6
IDFweCBzb2xpZCBibGFjazsKICAgICAgICBtYXJnaW46IDEwcHg7CiAgICB9CiA8L3N0eWxlPgoK
IDxwPkFjY2VsZXJhdGVkIGJsZW5kaW5nIGVsZW1lbnRzIHdpbGwgYWNjZWxlcmF0ZSBhbGwgdGhl
IGFzY2VuZGFudHMuPC9wPgogPGRpdiBjbGFzcz0icGFyZW50Ij4KICAgIFRoaXMgcGFyZW50IHdp
bGwgYmUgYWNjZWxlcmF0ZWQgdG9vLgogICAgPGRpdiBjbGFzcz0icGFyZW50Ij4KICAgICAgICBU
aGlzIHBhcmVudCB3aWxsIGJlIGFjY2VsZXJhdGVkLgogICAgICAgIDxkaXYgY2xhc3M9ImFjY2Vs
ZXJhdGVkIGJsZW5kZWQgY2hpbGQiPlRoaXMgaXMgYW4gYWNjZWxlcmF0ZWQgYmxlbmRpbmcgZWxl
bWVudC48L2Rpdj4KICAgIDwvZGl2Pgo8L2Rpdj4KCjxwPlRoZSBkaXYucGFyZW50IGVsZW1lbnQg
d2lsbCBnZXQgaXRzIG93biBsYXllciwgZXZlbiBpZiBpdCdzIG5vdCByZXF1aXJlZC48L3A+Cjxk
aXYgY2xhc3M9InBhcmVudCI+CiAgICBUaGUgcGFyZW50IHdpbGwgYmUgYWNjZWxlcmF0ZWQuCiAg
ICA8ZGl2IGNsYXNzPSJhY2NlbGVyYXRlZCBjaGlsZCI+VGhpcyBpcyBhbiBhY2NlbGVyYXRlZCBz
aWJsaW5nIG9mIGJsZW5kaW5nIGVsZW1lbnQuPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJibGVuZGVk
IGNoaWxkIj5UaGlzIGlzIGEgbm9uLWFjY2VsZXJhdGVkIGJsZW5kaW5nIGVsZW1lbnQuPC9kaXY+
CjwvZGl2Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227676</attachid>
            <date>2014-03-24 12:08:22 -0700</date>
            <delta_ts>2014-03-31 07:52:46 -0700</delta_ts>
            <desc>patch v1</desc>
            <filename>bug-130664-20140324210802.patch</filename>
            <type>text/plain</type>
            <size>15485</size>
            <attacher name="Ion Rosca">rosca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODE1MTA5MTU2YWQ5MWQw
ZmMxZDQ4OGFhYTBmM2ZmMDk2ZjgyOGEwZC4uOWE3Y2JhNWRlNWRhNjJlMTRlM2Q4NTA3ODE1ZjNm
MDJmNWMzOTEyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE0LTAzLTI0ICBJb24g
Um9zY2EgIDxyb3NjYUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBCbGVuZGluZ10gQ29tcG9z
aXRpbmcgcmVxdWlyZW1lbnRzIGZvciBibGVuZGluZyBhcmUgbm90IGNvbXB1dGVkIGNvcnJlY3Rs
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNjY0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6
IGNzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS1hY2NlbGVyYXRlZC13aXRoLW11bHRpcGxlLXN0
YWNraW5nLWNvbnRleHRzLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY29tcG9zaXRpbmcvYmxl
bmQtbW9kZS13aXRoLWFjY2VsZXJhdGVkLXNpYmxpbmcuaHRtbAorCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpSZW5k
ZXJMYXllcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
b21wb3NpdGluZ1N0YXRlOjpDb21wb3NpdGluZ1N0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVhc29uc0ZvckNvbXBvc2l0
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXND
b21wb3NpdGluZ0ZvckluZGlyZWN0UmVhc29uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmg6CisKIDIwMTQtMDMtMjQgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hh
bUBhcHBsZS5jb20+CiAKICAgICAgICAgTWVyZ2UgTWlub3IgV2ViVlRUIENsZWFudXBzIGZyb20g
QmxpbmsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDYwMGVj
ZGEwMTQwZjk5N2Q1YTIwMjkzMTNiNmI2YTJiMDY0OTcyZDMuLmUwZjUxZTU2NDgxNjEzMDhmN2I0
MTE3MTEwZDgwMzRiOTFlZjg3MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcApAQCAtMTg1LDYgKzE4NSw3IEBAIFJlbmRlckxheWVyOjpSZW5kZXJMYXllcihSZW5k
ZXJMYXllck1vZGVsT2JqZWN0JiByZW5kZXJlckxheWVyTW9kZWxPYmplY3QpCiAjZW5kaWYKICNp
ZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgICwgbV9ibGVuZE1vZGUoQmxlbmRNb2RlTm9y
bWFsKQorICAgICwgbV9oYXNVbmlzb2xhdGVkQ29tcG9zaXRpbmdCbGVuZGVkRGVzY2VuZGFudHMo
ZmFsc2UpCiAgICAgLCBtX2hhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dChm
YWxzZSkKICAgICAsIG1faGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0U3Rh
dHVzRGlydHkoZmFsc2UpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmgKaW5kZXggYjcwNzFjMmNiNzAzZGE2ZWVmMjJiN2M1ZDdhYTY5ZDlkMjIwMjI5ZS4uNzcwYzdl
Zjg3ZTQ5NzAwMDExODBkYzE3MjNkNjhkOGRhNzRhZThmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmgKQEAgLTc4Niw2ICs3ODYsMzMgQEAgcHVibGljOgogI2VuZGlmCiAg
ICAgfQogCisgICAgYm9vbCBpc29sYXRlc0NvbXBvc2l0ZWRCbGVuZGluZygpIGNvbnN0CisgICAg
eworI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAgICAgIHJldHVybiBtX2hhc1VuaXNv
bGF0ZWRDb21wb3NpdGluZ0JsZW5kZWREZXNjZW5kYW50cyAmJiBpc1N0YWNraW5nQ29udGV4dCgp
OworI2Vsc2UKKyAgICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCisgICAgfQorCisgICAgYm9v
bCBoYXNVbmlzb2xhdGVkQ29tcG9zaXRpbmdCbGVuZGVkRGVzY2VuZGFudHMoKSBjb25zdAorICAg
IHsKKyNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQorICAgICAgICByZXR1cm4gbV9oYXNVbmlz
b2xhdGVkQ29tcG9zaXRpbmdCbGVuZGVkRGVzY2VuZGFudHM7CisjZWxzZQorICAgICAgICByZXR1
cm4gZmFsc2U7CisjZW5kaWYKKyAgICB9CisKKyAgICB2b2lkIHNldEhhc1VuaXNvbGF0ZWRDb21w
b3NpdGluZ0JsZW5kZWREZXNjZW5kYW50cyhib29sIGhhc1VuaXNvbGF0ZWRDb21wb3NpdGluZ0Js
ZW5kZWREZXNjZW5kYW50cykKKyAgICB7CisjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKKyAg
ICAgICAgbV9oYXNVbmlzb2xhdGVkQ29tcG9zaXRpbmdCbGVuZGVkRGVzY2VuZGFudHMgPSBoYXNV
bmlzb2xhdGVkQ29tcG9zaXRpbmdCbGVuZGVkRGVzY2VuZGFudHM7CisjZWxzZQorICAgICAgICBV
TlVTRURfUEFSQU0oaGFzVW5pc29sYXRlZENvbXBvc2l0aW5nQmxlbmRlZERlc2NlbmRhbnRzKTsK
KyNlbmRpZgorICAgIH0KKwogICAgIGJvb2wgaXNvbGF0ZXNCbGVuZGluZygpIGNvbnN0CiAgICAg
ewogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCkBAIC0xMjg3LDYgKzEzMTQsNyBAQCBwcml2
YXRlOgogCiAjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAgICBCbGVuZE1vZGUgbV9ibGVu
ZE1vZGUgOiA1OworICAgIGJvb2wgbV9oYXNVbmlzb2xhdGVkQ29tcG9zaXRpbmdCbGVuZGVkRGVz
Y2VuZGFudHMgOiAxOwogICAgIGJvb2wgbV9oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2lu
Z0NvbnRleHQgOiAxOwogICAgIGJvb2wgbV9oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2lu
Z0NvbnRleHRTdGF0dXNEaXJ0eSA6IDE7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggODcxNzRjZmQ2YTc1YWI1
ODAwMGVlYTgxM2RmNjFiZTFhN2Y5ODg1ZC4uYzg3ZWFhNWMwMzY3NTY0ZGFmNDBiMDdmYTU0YzZk
NTM3ZTJmZGY1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQ29tcG9zaXRvci5jcHAKQEAgLTE5NCw3ICsxOTQsNyBAQCBzdHJ1Y3QgQ29tcG9zaXRpbmdT
dGF0ZSB7CiAgICAgICAgIDogbV9jb21wb3NpdGluZ0FuY2VzdG9yKGNvbXBBbmNlc3RvcikKICAg
ICAgICAgLCBtX3N1YnRyZWVJc0NvbXBvc2l0aW5nKGZhbHNlKQogICAgICAgICAsIG1fdGVzdGlu
Z092ZXJsYXAodGVzdE92ZXJsYXApCi0gICAgICAgICwgbV9zdWJ0cmVlSGFzQmxlbmRpbmcoZmFs
c2UpCisgICAgICAgICwgbV9oYXNVbmlzb2xhdGVkQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFu
dHMoZmFsc2UpCiAjaWZuZGVmIE5ERUJVRwogICAgICAgICAsIG1fZGVwdGgoMCkKICNlbmRpZgpA
QCAtMjA1LDcgKzIwNSw3IEBAIHN0cnVjdCBDb21wb3NpdGluZ1N0YXRlIHsKICAgICAgICAgOiBt
X2NvbXBvc2l0aW5nQW5jZXN0b3Iob3RoZXIubV9jb21wb3NpdGluZ0FuY2VzdG9yKQogICAgICAg
ICAsIG1fc3VidHJlZUlzQ29tcG9zaXRpbmcob3RoZXIubV9zdWJ0cmVlSXNDb21wb3NpdGluZykK
ICAgICAgICAgLCBtX3Rlc3RpbmdPdmVybGFwKG90aGVyLm1fdGVzdGluZ092ZXJsYXApCi0gICAg
ICAgICwgbV9zdWJ0cmVlSGFzQmxlbmRpbmcob3RoZXIubV9zdWJ0cmVlSGFzQmxlbmRpbmcpCisg
ICAgICAgICwgbV9oYXNVbmlzb2xhdGVkQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFudHMob3Ro
ZXIubV9oYXNVbmlzb2xhdGVkQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFudHMpCiAjaWZuZGVm
IE5ERUJVRwogICAgICAgICAsIG1fZGVwdGgob3RoZXIubV9kZXB0aCArIDEpCiAjZW5kaWYKQEAg
LTIxNSw3ICsyMTUsNyBAQCBzdHJ1Y3QgQ29tcG9zaXRpbmdTdGF0ZSB7CiAgICAgUmVuZGVyTGF5
ZXIqIG1fY29tcG9zaXRpbmdBbmNlc3RvcjsKICAgICBib29sIG1fc3VidHJlZUlzQ29tcG9zaXRp
bmc7CiAgICAgYm9vbCBtX3Rlc3RpbmdPdmVybGFwOwotICAgIGJvb2wgbV9zdWJ0cmVlSGFzQmxl
bmRpbmc7CisgICAgYm9vbCBtX2hhc1VuaXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5k
YW50czsKICNpZm5kZWYgTkRFQlVHCiAgICAgaW50IG1fZGVwdGg7CiAjZW5kaWYKQEAgLTEwOTgs
NiArMTA5OCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjb21wdXRlQ29tcG9zaXRp
bmdSZXF1aXJlbWVudHMoUmVuZGVyTGF5ZXIqIGFuY2VzdG9yCiAgICAgLy8gYW5jZXN0b3Igd2l0
aCBtX3N1YnRyZWVJc0NvbXBvc2l0aW5nIHNldCB0byBmYWxzZS4KICAgICBDb21wb3NpdGluZ1N0
YXRlIGNoaWxkU3RhdGUoY29tcG9zaXRpbmdTdGF0ZSk7CiAgICAgY2hpbGRTdGF0ZS5tX3N1YnRy
ZWVJc0NvbXBvc2l0aW5nID0gZmFsc2U7CisgICAgY2hpbGRTdGF0ZS5tX2hhc1VuaXNvbGF0ZWRD
b21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cyA9IGZhbHNlOwogCiAgICAgYm9vbCB3aWxsQmVD
b21wb3NpdGVkID0gbmVlZHNUb0JlQ29tcG9zaXRlZChsYXllcik7CiAgICAgaWYgKHdpbGxCZUNv
bXBvc2l0ZWQpIHsKQEAgLTExNzEsMTAgKzExNzIsNiBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9z
aXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRlckxheWVyKiBhbmNlc3Rv
cgogICAgICAgICAgICAgd2lsbEJlQ29tcG9zaXRlZCA9IHRydWU7CiAgICAgfQogICAgIAotICAg
IC8vIElmIHRoZSBsYXllciBjb21wb3NpdGVkIGZvciBvdGhlciByZWFzb25zIHRoYW4gYmxlbmRp
bmcsIGl0IGlzIG5vIGxvbmdlciBuZWVkZWQgdG8ga2VlcCB0cmFjayBvZiB3aGV0aGVyIGEgY2hp
bGQgd2FzIGJsZW5kZWQuCi0gICAgaWYgKGNvbXBvc2l0aW5nU3RhdGUubV9zdWJ0cmVlSGFzQmxl
bmRpbmcgJiYgIWxheWVyLmhhc0JsZW5kTW9kZSgpKQotICAgICAgICBjb21wb3NpdGluZ1N0YXRl
Lm1fc3VidHJlZUhhc0JsZW5kaW5nID0gZmFsc2U7Ci0KICAgICBBU1NFUlQod2lsbEJlQ29tcG9z
aXRlZCA9PSBuZWVkc1RvQmVDb21wb3NpdGVkKGxheWVyKSk7CiAKICAgICAvLyBBbGwgbGF5ZXJz
IChldmVuIG9uZXMgdGhhdCBhcmVuJ3QgYmVpbmcgY29tcG9zaXRlZCkgbmVlZCB0byBnZXQgYWRk
ZWQgdG8KQEAgLTExODMsMTMgKzExODAsMTIgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6
OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyhSZW5kZXJMYXllciogYW5jZXN0b3IKICAg
ICBpZiAob3ZlcmxhcE1hcCAmJiBjaGlsZFN0YXRlLm1fY29tcG9zaXRpbmdBbmNlc3RvciAmJiAh
Y2hpbGRTdGF0ZS5tX2NvbXBvc2l0aW5nQW5jZXN0b3ItPmlzUm9vdExheWVyKCkpCiAgICAgICAg
IGFkZFRvT3ZlcmxhcE1hcCgqb3ZlcmxhcE1hcCwgbGF5ZXIsIGFic0JvdW5kcywgaGF2ZUNvbXB1
dGVkQm91bmRzKTsKIAotICAgIGlmIChjaGlsZFN0YXRlLm1fc3VidHJlZUhhc0JsZW5kaW5nIHx8
IGxheWVyLmhhc0JsZW5kTW9kZSgpKQotICAgICAgICBjb21wb3NpdGluZ1N0YXRlLm1fc3VidHJl
ZUhhc0JsZW5kaW5nID0gdHJ1ZTsKKyAgICBsYXllci5zZXRIYXNVbmlzb2xhdGVkQ29tcG9zaXRp
bmdCbGVuZGVkRGVzY2VuZGFudHMoY2hpbGRTdGF0ZS5tX2hhc1VuaXNvbGF0ZWRDb21wb3NpdGVk
QmxlbmRpbmdEZXNjZW5kYW50cyk7CiAKICAgICAvLyBOb3cgY2hlY2sgZm9yIHJlYXNvbnMgdG8g
YmVjb21lIGNvbXBvc2l0ZWQgdGhhdCBkZXBlbmQgb24gdGhlIHN0YXRlIG9mIGRlc2NlbmRhbnQg
bGF5ZXJzLgogICAgIFJlbmRlckxheWVyOjpJbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uIGluZGly
ZWN0Q29tcG9zaXRpbmdSZWFzb247CiAgICAgaWYgKCF3aWxsQmVDb21wb3NpdGVkICYmIGNhbkJl
Q29tcG9zaXRlZChsYXllcikKLSAgICAgICAgJiYgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckluZGly
ZWN0UmVhc29uKGxheWVyLnJlbmRlcmVyKCksIGNoaWxkU3RhdGUubV9zdWJ0cmVlSXNDb21wb3Np
dGluZywgY29tcG9zaXRpbmdTdGF0ZS5tX3N1YnRyZWVIYXNCbGVuZGluZywgYW55RGVzY2VuZGFu
dEhhczNEVHJhbnNmb3JtLCBpbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uKSkgeworICAgICAgICAm
JiByZXF1aXJlc0NvbXBvc2l0aW5nRm9ySW5kaXJlY3RSZWFzb24obGF5ZXIucmVuZGVyZXIoKSwg
Y2hpbGRTdGF0ZS5tX3N1YnRyZWVJc0NvbXBvc2l0aW5nLCBhbnlEZXNjZW5kYW50SGFzM0RUcmFu
c2Zvcm0sIGluZGlyZWN0Q29tcG9zaXRpbmdSZWFzb24pKSB7CiAgICAgICAgIGxheWVyLnNldElu
ZGlyZWN0Q29tcG9zaXRpbmdSZWFzb24oaW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbik7CiAgICAg
ICAgIGNoaWxkU3RhdGUubV9jb21wb3NpdGluZ0FuY2VzdG9yID0gJmxheWVyOwogICAgICAgICBp
ZiAob3ZlcmxhcE1hcCkgewpAQCAtMTIzMyw2ICsxMjI5LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMoUmVuZGVyTGF5ZXIqIGFu
Y2VzdG9yCiAgICAgICAgICB9CiAgICAgfQogCisgICAgaWYgKCh3aWxsQmVDb21wb3NpdGVkICYm
IGxheWVyLmhhc0JsZW5kTW9kZSgpKQorICAgICAgICB8fCAobGF5ZXIuaGFzVW5pc29sYXRlZENv
bXBvc2l0aW5nQmxlbmRlZERlc2NlbmRhbnRzKCkgJiYgIWxheWVyLmlzb2xhdGVzQ29tcG9zaXRl
ZEJsZW5kaW5nKCkpKQorICAgICAgICBjb21wb3NpdGluZ1N0YXRlLm1faGFzVW5pc29sYXRlZENv
bXBvc2l0ZWRCbGVuZGluZ0Rlc2NlbmRhbnRzID0gdHJ1ZTsKKwogICAgIGlmIChvdmVybGFwTWFw
ICYmIGNoaWxkU3RhdGUubV9jb21wb3NpdGluZ0FuY2VzdG9yID09ICZsYXllciAmJiAhbGF5ZXIu
aXNSb290TGF5ZXIoKSkKICAgICAgICAgb3ZlcmxhcE1hcC0+cG9wQ29tcG9zaXRpbmdDb250YWlu
ZXIoKTsKIApAQCAtMjExMyw3ICsyMTEzLDcgQEAgQ29tcG9zaXRpbmdSZWFzb25zIFJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6cmVhc29uc0ZvckNvbXBvc2l0aW5nKGNvbnN0IFJlbmRlckxheWUKICAg
ICAgICAgaWYgKHJlbmRlcmVyLT5oYXNGaWx0ZXIoKSkKICAgICAgICAgICAgIHJlYXNvbnMgfD0g
Q29tcG9zaXRpbmdSZWFzb25GaWx0ZXJXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzOwogCi0gICAg
ICAgIGlmIChyZW5kZXJlci0+aGFzQmxlbmRNb2RlKCkpCisgICAgICAgIGlmIChsYXllci5pc29s
YXRlc0NvbXBvc2l0ZWRCbGVuZGluZygpKQogICAgICAgICAgICAgcmVhc29ucyB8PSBDb21wb3Np
dGluZ1JlYXNvbkJsZW5kaW5nV2l0aENvbXBvc2l0ZWREZXNjZW5kYW50czsKIAogICAgIH0gZWxz
ZSBpZiAocmVuZGVyZXItPmxheWVyKCktPmluZGlyZWN0Q29tcG9zaXRpbmdSZWFzb24oKSA9PSBS
ZW5kZXJMYXllcjo6SW5kaXJlY3RDb21wb3NpdGluZ0ZvclBlcnNwZWN0aXZlKQpAQCAtMjM3OCwx
MyArMjM3OCwxMyBAQCBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21wb3Np
dGluZ0ZvckFuaW1hdGlvbihSZW5kZXJMYXllck1vZGVsT2JqZQogICAgICAgICAgICAgfHwgYW5p
bUNvbnRyb2xsZXIuaXNSdW5uaW5nQW5pbWF0aW9uT25SZW5kZXJlcigmcmVuZGVyZXIsIENTU1By
b3BlcnR5V2Via2l0VHJhbnNmb3JtLCBhY3RpdmVBbmltYXRpb25TdGF0ZSk7CiB9CiAKLWJvb2wg
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9ySW5kaXJlY3RSZWFz
b24oUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCYgcmVuZGVyZXIsIGJvb2wgaGFzQ29tcG9zaXRlZERl
c2NlbmRhbnRzLCBib29sIGhhc0JsZW5kZWREZXNjZW5kYW50cywgYm9vbCBoYXMzRFRyYW5zZm9y
bWVkRGVzY2VuZGFudHMsIFJlbmRlckxheWVyOjpJbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uJiBy
ZWFzb24pIGNvbnN0Citib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21wb3Np
dGluZ0ZvckluZGlyZWN0UmVhc29uKFJlbmRlckxheWVyTW9kZWxPYmplY3QmIHJlbmRlcmVyLCBi
b29sIGhhc0NvbXBvc2l0ZWREZXNjZW5kYW50cywgYm9vbCBoYXMzRFRyYW5zZm9ybWVkRGVzY2Vu
ZGFudHMsIFJlbmRlckxheWVyOjpJbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uJiByZWFzb24pIGNv
bnN0CiB7CiAgICAgUmVuZGVyTGF5ZXImIGxheWVyID0gKnRvUmVuZGVyQm94TW9kZWxPYmplY3Qo
cmVuZGVyZXIpLmxheWVyKCk7CiAKICAgICAvLyBXaGVuIGEgbGF5ZXIgaGFzIGNvbXBvc2l0ZWQg
ZGVzY2VuZGFudHMsIHNvbWUgZWZmZWN0cywgbGlrZSAyZCB0cmFuc2Zvcm1zLCBmaWx0ZXJzLCBt
YXNrcyBldGMgbXVzdCBiZSBpbXBsZW1lbnRlZAogICAgIC8vIHZpYSBjb21wb3NpdGluZyBzbyB0
aGF0IHRoZXkgYWxzbyBhcHBseSB0byB0aG9zZSBjb21wb3NpdGVkIGRlc2NlbmRhbnRzLgotICAg
IGlmIChoYXNDb21wb3NpdGVkRGVzY2VuZGFudHMgJiYgKGhhc0JsZW5kZWREZXNjZW5kYW50cyB8
fCBsYXllci50cmFuc2Zvcm0oKSB8fCByZW5kZXJlci5jcmVhdGVzR3JvdXAoKSB8fCByZW5kZXJl
ci5oYXNSZWZsZWN0aW9uKCkgfHwgcmVuZGVyZXIuaXNSZW5kZXJOYW1lZEZsb3dGcmFnbWVudENv
bnRhaW5lcigpKSkgeworICAgIGlmIChoYXNDb21wb3NpdGVkRGVzY2VuZGFudHMgJiYgKGxheWVy
Lmlzb2xhdGVzQ29tcG9zaXRlZEJsZW5kaW5nKCkgfHwgbGF5ZXIudHJhbnNmb3JtKCkgfHwgcmVu
ZGVyZXIuY3JlYXRlc0dyb3VwKCkgfHwgcmVuZGVyZXIuaGFzUmVmbGVjdGlvbigpIHx8IHJlbmRl
cmVyLmlzUmVuZGVyTmFtZWRGbG93RnJhZ21lbnRDb250YWluZXIoKSkpIHsKICAgICAgICAgcmVh
c29uID0gUmVuZGVyTGF5ZXI6OkluZGlyZWN0Q29tcG9zaXRpbmdGb3JHcmFwaGljYWxFZmZlY3Q7
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAppbmRleCBjYTJjMWRkODc3ZTkyMTg5ZWYyZjhm
NDRkNDIwNzVkYzRmMjk0YTlhLi45OGQ4NWU2ZjFiMTc0ZjBlNTY0ODUxMGFkM2FjNTUwNDcxMzkx
ZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5oCkBAIC0zOTQsNyArMzk0LDcgQEAgcHJpdmF0ZToKICAgICBib29sIHJlcXVpcmVzQ29t
cG9zaXRpbmdGb3JTY3JvbGxhYmxlRnJhbWUoKSBjb25zdDsKICAgICBib29sIHJlcXVpcmVzQ29t
cG9zaXRpbmdGb3JQb3NpdGlvbihSZW5kZXJMYXllck1vZGVsT2JqZWN0JiwgY29uc3QgUmVuZGVy
TGF5ZXImLCBSZW5kZXJMYXllcjo6Vmlld3BvcnRDb25zdHJhaW5lZE5vdENvbXBvc2l0ZWRSZWFz
b24qID0gMCkgY29uc3Q7CiAgICAgYm9vbCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yT3ZlcmZsb3dT
Y3JvbGxpbmcoY29uc3QgUmVuZGVyTGF5ZXImKSBjb25zdDsKLSAgICBib29sIHJlcXVpcmVzQ29t
cG9zaXRpbmdGb3JJbmRpcmVjdFJlYXNvbihSZW5kZXJMYXllck1vZGVsT2JqZWN0JiwgYm9vbCBo
YXNDb21wb3NpdGVkRGVzY2VuZGFudHMsIGJvb2wgaGFzQmxlbmRlZERlc2NlbmRhbnRzLCBib29s
IGhhczNEVHJhbnNmb3JtZWREZXNjZW5kYW50cywgUmVuZGVyTGF5ZXI6OkluZGlyZWN0Q29tcG9z
aXRpbmdSZWFzb24mKSBjb25zdDsKKyAgICBib29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JJbmRp
cmVjdFJlYXNvbihSZW5kZXJMYXllck1vZGVsT2JqZWN0JiwgYm9vbCBoYXNDb21wb3NpdGVkRGVz
Y2VuZGFudHMsIGJvb2wgaGFzM0RUcmFuc2Zvcm1lZERlc2NlbmRhbnRzLCBSZW5kZXJMYXllcjo6
SW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbiYpIGNvbnN0OwogCiAjaWYgUExBVEZPUk0oSU9TKQog
ICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0ZvclNjcm9sbGluZyhjb25zdCBSZW5kZXJMYXll
ciYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGRmODYzOTMwNTdiYmM3ODFkZmI4YzUxMTcyMzZhMTI0OTk2ZGVj
NWIuLjkwYTBiOTdlNjhhN2UyMTFhZjg5Yjg0Nzg1MTE0NzRlOTE0MmUxMjIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxNC0wMy0yNCAgSW9uIFJvc2NhICA8cm9zY2FAYWRvYmUuY29tPgorCisg
ICAgICAgIFtDU1MgQmxlbmRpbmddIENvbXBvc2l0aW5nIHJlcXVpcmVtZW50cyBmb3IgYmxlbmRp
bmcgYXJlIG5vdCBjb21wdXRlZCBjb3JyZWN0bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMDY2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogY3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2RlLWFjY2Vs
ZXJhdGVkLXdpdGgtbXVsdGlwbGUtc3RhY2tpbmctY29udGV4dHMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBjc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtYWNjZWxlcmF0ZWQtd2l0
aC1tdWx0aXBsZS1zdGFja2luZy1jb250ZXh0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3Mz
L2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtd2l0aC1hY2NlbGVyYXRlZC1zaWJsaW5nLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2RlLXdpdGgt
YWNjZWxlcmF0ZWQtc2libGluZy5odG1sOiBBZGRlZC4KKwogMjAxNC0wMy0yNCAgQ2hyaXMgRmxl
aXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIDxocj4gc2hvdWxkIGV4cG9z
ZSBBWFJvbGUvQVhTdWJyb2xlLCBldGMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY29t
cG9zaXRpbmcvYmxlbmQtbW9kZS1hY2NlbGVyYXRlZC13aXRoLW11bHRpcGxlLXN0YWNraW5nLWNv
bnRleHRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY29tcG9zaXRpbmcvYmxlbmQt
bW9kZS1hY2NlbGVyYXRlZC13aXRoLW11bHRpcGxlLXN0YWNraW5nLWNvbnRleHRzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45ZjE5NDc1YWZiZjliNWZkNjdlNDA3MWQwNWQwOTY5OTE2MjU5M2Rl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jb21wb3NpdGluZy9ibGVuZC1t
b2RlLWFjY2VsZXJhdGVkLXdpdGgtbXVsdGlwbGUtc3RhY2tpbmctY29udGV4dHMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMjMgQEAKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYw
MC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4
MDAuMDAgNjAwLjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAoY2hpbGRyZW4g
MQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiA4LjAwIDguMDAp
CisgICAgICAgICAgKGJvdW5kcyA3ODQuMDAgMTAuMDApCisgICAgICAgICAgKGNoaWxkcmVuIDEK
KyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChib3VuZHMgMTAuMDAg
MTAuMDApCisgICAgICAgICAgICAgIChibGVuZE1vZGUgbXVsdGlwbHkpCisgICAgICAgICAgICAg
IChjb250ZW50c09wYXF1ZSAxKQorICAgICAgICAgICAgKQorICAgICAgICAgICkKKyAgICAgICAg
KQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3Mz
L2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtYWNjZWxlcmF0ZWQtd2l0aC1tdWx0aXBsZS1zdGFja2lu
Zy1jb250ZXh0cy5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2Rl
LWFjY2VsZXJhdGVkLXdpdGgtbXVsdGlwbGUtc3RhY2tpbmctY29udGV4dHMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xN2I1NjczZTUwMzNkMjRkNjkyZTE2YzEyMDhhNzFlYjFiZDExOGQ0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2RlLWFjY2VsZXJh
dGVkLXdpdGgtbXVsdGlwbGUtc3RhY2tpbmctY29udGV4dHMuaHRtbApAQCAtMCwwICsxLDMyIEBA
Cis8IURPQ1RZUEUgSFRNTD4KKzwhLS0gVGhpcyB0ZXN0IHdpbGwgY2hlY2sgdGhhdCBvbmx5IHRo
ZSBkaXJlY3QgcGFyZW50IG9mIGJsZW5kaW5nIGVsZW1lbnQgZ2V0cyBhY2NlbGVyYXRlZCAtLT4K
KzxzdHlsZT4KKyAgICAuYWNjZWxlcmF0ZWQgeworICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTog
cm90YXRlWCgwZGVnKTsKKyAgICB9CisgICAgLmJsZW5kZWQgeworICAgICAgICAtd2Via2l0LW1p
eC1ibGVuZC1tb2RlOiBtdWx0aXBseTsKKyAgICB9CisgICAgLmNoaWxkIHsKKyAgICAgICAgd2lk
dGg6IDEwcHg7CisgICAgICAgIGhlaWdodDogMTBweDsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xv
cjogZ3JlZW47CisgICAgfQorICAgIC5wYXJlbnQgeworICAgICAgICAtd2Via2l0LWlzb2xhdGlv
bjogaXNvbGF0ZTsKKyAgICB9Cis8L3N0eWxlPgorCis8ZGl2IGNsYXNzPSJwYXJlbnQiPgorICAg
IDxkaXYgY2xhc3M9InBhcmVudCI+CisgICAgICAgIDxkaXYgY2xhc3M9ImFjY2VsZXJhdGVkIGJs
ZW5kZWQgY2hpbGQiPjwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+Cis8cHJlIGlkPSJsYXllclRy
ZWUiPjwvcHJlPgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHdpbmRvdy50ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworICAgIHZhciB0ZXh0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImxheWVyVHJlZSIpOworICAgIHRleHQuaW5uZXJIVE1MID0gd2lu
ZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOworPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtd2l0aC1hY2Nl
bGVyYXRlZC1zaWJsaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY29tcG9zaXRp
bmcvYmxlbmQtbW9kZS13aXRoLWFjY2VsZXJhdGVkLXNpYmxpbmctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjFkYzBkYjg5NmRjNTM3MzVhYmI3ZGM0ZjZhNGMyODM0ZjdmNGE0N2MKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtd2l0aC1h
Y2NlbGVyYXRlZC1zaWJsaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACisoR3JhcGhp
Y3NMYXllcgorICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgIChjaGlsZHJlbiAxCisgICAgKEdy
YXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgICAgIChjb250ZW50
c09wYXF1ZSAxKQorICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAg
ICAgICAgICAocG9zaXRpb24gOC4wMCA4LjAwKQorICAgICAgICAgIChib3VuZHMgMTAuMDAgMTAu
MDApCisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAgICkKKyAgICAgICkKKyAg
ICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jb21wb3NpdGluZy9i
bGVuZC1tb2RlLXdpdGgtYWNjZWxlcmF0ZWQtc2libGluZy5odG1sIGIvTGF5b3V0VGVzdHMvY3Nz
My9jb21wb3NpdGluZy9ibGVuZC1tb2RlLXdpdGgtYWNjZWxlcmF0ZWQtc2libGluZy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjI5YjE0NTA3MTk4MmZkOTA5NDAyN2IxOThkZDg0ZDQ3OWVmZmI1NjIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtd2l0
aC1hY2NlbGVyYXRlZC1zaWJsaW5nLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIEhU
TUw+Cis8IS0tIFRoaXMgdGVzdCB3aWxsIGNoZWNrIHRoYXQgcGFyZW50IGlzIG5vdCBhY2NlbGVy
YXRlZCB3aGVuIGl0IGhhcyBub24tYWNjZWxlcmF0ZWQgYmxlbmRlZCBjaGlsZHJlbiAtLT4KKzxz
dHlsZT4KKyAgICAuYWNjZWxlcmF0ZWQgeworICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90
YXRlWCgwZGVnKTsKKyAgICB9CisgICAgLmJsZW5kZWQgeworICAgICAgICAtd2Via2l0LW1peC1i
bGVuZC1tb2RlOiBtdWx0aXBseTsKKyAgICB9CisgICAgLmNoaWxkIHsKKyAgICAgICAgd2lkdGg6
IDEwcHg7CisgICAgICAgIGhlaWdodDogMTBweDsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjog
Z3JlZW47CisgICAgfQorICAgIC5wYXJlbnQgeworICAgICAgICAtd2Via2l0LWlzb2xhdGlvbjog
aXNvbGF0ZTsKKyAgICB9Cis8L3N0eWxlPgorCis8ZGl2IGNsYXNzPSJwYXJlbnQiPgorICAgIDxk
aXYgY2xhc3M9ImFjY2VsZXJhdGVkIGNoaWxkIj48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJibGVu
ZGVkIGNoaWxkIj48L2Rpdj4KKzwvZGl2PgorPHByZSBpZD0ibGF5ZXJUcmVlIj48L3ByZT4KKzxz
Y3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB3aW5kb3cudGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICB2YXIgdGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJsYXllclRyZWUiKTsKKyAgICB0ZXh0LmlubmVySFRNTCA9IHdpbmRvdy5pbnRlcm5hbHMu
bGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKKzwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228178</attachid>
            <date>2014-03-31 07:52:56 -0700</date>
            <delta_ts>2014-03-31 14:19:17 -0700</delta_ts>
            <desc>add ifdef to blending code, nits</desc>
            <filename>bug-130664-20140331175235.patch</filename>
            <type>text/plain</type>
            <size>16551</size>
            <attacher name="Ion Rosca">rosca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2NDk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWE0YjQ2MzAwYWQ2YjEw
NWIyMmIxODI5NDg3ZjNkM2M0MDQ2YjYzZi4uMDQ1MDNjYjQ3YWE0NWI2NTNlYjg1OWYwOTNhZWIz
NWI1OTM0ZGI1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE0LTAzLTMxICBJb24g
Um9zY2EgIDxyb3NjYUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBCbGVuZGluZ10gQ29tcG9z
aXRpbmcgcmVxdWlyZW1lbnRzIGZvciBibGVuZGluZyBhcmUgbm90IGNvbXB1dGVkIGNvcnJlY3Rs
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNjY0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6
IGNzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS1hY2NlbGVyYXRlZC13aXRoLW11bHRpcGxlLXN0
YWNraW5nLWNvbnRleHRzLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY29tcG9zaXRpbmcvYmxl
bmQtbW9kZS13aXRoLWFjY2VsZXJhdGVkLXNpYmxpbmcuaHRtbAorCisgICAgICAgIENvbXBvc2l0
aW5nIHJlcXVpcmVtZW50cyBmb3IgYmxlbmRpbmc6IElmIGEgbGF5ZXIgaGF2aW5nIGJsZW5kIG1v
ZGUKKyAgICAgICAgb3RoZXIgdGhhbiBub3JtYWwgaXMgY29tcG9zaXRlZCBmb3IgYW55IHJlYXNv
biwgaXRzIGFuY2VzdG9yCisgICAgICAgIGJlaW5nIHRoZSBjbG9zZXN0IHN0YWNraW5nIGNvbnRl
eHQgc2hvdWxkIGJlIGFjY2VsZXJhdGVkIGFzIHdlbGwuCisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OlJlbmRlckxh
eWVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDogYWRkZWQgYSBuZXcgZmll
bGQsCisgICAgICAgIG1faGFzVW5pc29sYXRlZENvbXBvc2l0ZWRCbGVuZGluZ0Rlc2NlbmRhbnRz
LCB3aGljaCBpcyB0cnVlIGlmIHRoZSBsYXllcgorICAgICAgICBoYXMgY29tcG9zaXRlZCBibGVu
ZGluZyBkZXNjZW5kYW50cyBub3QgaXNvbGF0ZWQgYnkgYW55IHN0YWNraW5nIGNvbnRleHQgY2hp
bGQ7CisgICAgICAgIGFkZGVkIGEgbmV3IG1ldGhvZDogaXNvbGF0ZXNDb21wb3NpdGVkQmxlbmRp
bmcoKSwgd2hpY2ggaXMgdHJ1ZSBpZiB3ZSBzaG91bGQKKyAgICAgICAgYWNjZWxlcmF0ZSB0aGF0
IGxheWVyIGluIG9yZGVyIHRvIHBlcmZvcm0gaXNvbGF0aW9uIGNvcnJlY3RseS4KKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q29tcG9zaXRpbmdTdGF0ZTo6Q29tcG9zaXRpbmdTdGF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyk6
CisgICAgICAgIGNvbXB1dGVzIHRoZSBpc29sYXRpb24gcmVxdWlyZW1lbnRzIGZvciBjb21wb3Np
dGVkIGJsZW5kaW5nIGJ5CisgICAgICAgIChyZSlzZXR0aW5nIFJlbmRlckxheWVyOjptX2hhc1Vu
aXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cyBmbGFnLgorCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlYXNvbnNGb3JDb21wb3NpdGluZyk6Cisg
ICAgICAgIGZpeGVkIHRoZSByZWFzb24gb2YgY29tcG9zaXRpbmc6IGlzb2xhdGlvbiBpbnN0ZWFk
IG9mIGJsZW5kaW5nLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6
OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JJbmRpcmVjdFJlYXNvbik6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oOgorCiAyMDE0LTAzLTIwICBDYXJsb3MgR2FyY2lh
IENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBVc2UgR01haW5M
b29wU291cmNlIGZvciBpZGxlIGFuZCB0aW1lb3V0IHNvdXJjZXMgaW4gV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggZGU2OGU3YjE1ZGMxM2VjY2Ri
ZjQ0ZTg5NDUwYjVlMDAzNmM2M2RhOC4uMWE0NjFiZDBhZTMwMTUxMzg2MWRkYmM5MTJjYTg2YTVh
OWQwMTE2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0x
ODYsNiArMTg2LDcgQEAgUmVuZGVyTGF5ZXI6OlJlbmRlckxheWVyKFJlbmRlckxheWVyTW9kZWxP
YmplY3QmIHJlbmRlcmVyTGF5ZXJNb2RlbE9iamVjdCkKICNlbmRpZgogI2lmIEVOQUJMRShDU1Nf
Q09NUE9TSVRJTkcpCiAgICAgLCBtX2JsZW5kTW9kZShCbGVuZE1vZGVOb3JtYWwpCisgICAgLCBt
X2hhc1VuaXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cyhmYWxzZSkKICAgICAs
IG1faGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0KGZhbHNlKQogICAgICwg
bV9oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0eShmYWxz
ZSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCA0ODEx
YTAzYTI3ZDVlMzUxOTNjMzZlMmM4MmE2ZjMzMmU0ZTY0OTA4Li4xMGE2NDM5ZmY1MGQ2M2ZkMmRk
NDU0NTUxYWYyMmRjMGMxMmJiZDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuaApAQCAtNzg2LDYgKzc4NiwzMyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB9CiAKKyAgICBi
b29sIGlzb2xhdGVzQ29tcG9zaXRlZEJsZW5kaW5nKCkgY29uc3QKKyAgICB7CisjaWYgRU5BQkxF
KENTU19DT01QT1NJVElORykKKyAgICAgICAgcmV0dXJuIG1faGFzVW5pc29sYXRlZENvbXBvc2l0
ZWRCbGVuZGluZ0Rlc2NlbmRhbnRzICYmIGlzU3RhY2tpbmdDb250ZXh0KCk7CisjZWxzZQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKKyAgICB9CisKKyAgICBib29sIGhhc1VuaXNvbGF0
ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cygpIGNvbnN0CisgICAgeworI2lmIEVOQUJM
RShDU1NfQ09NUE9TSVRJTkcpCisgICAgICAgIHJldHVybiBtX2hhc1VuaXNvbGF0ZWRDb21wb3Np
dGVkQmxlbmRpbmdEZXNjZW5kYW50czsKKyNlbHNlCisgICAgICAgIHJldHVybiBmYWxzZTsKKyNl
bmRpZgorICAgIH0KKworICAgIHZvaWQgc2V0SGFzVW5pc29sYXRlZENvbXBvc2l0ZWRCbGVuZGlu
Z0Rlc2NlbmRhbnRzKGJvb2wgaGFzVW5pc29sYXRlZENvbXBvc2l0ZWRCbGVuZGluZ0Rlc2NlbmRh
bnRzKQorICAgIHsKKyNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQorICAgICAgICBtX2hhc1Vu
aXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cyA9IGhhc1VuaXNvbGF0ZWRDb21w
b3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50czsKKyNlbHNlCisgICAgICAgIFVOVVNFRF9QQVJBTSho
YXNVbmlzb2xhdGVkQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFudHMpOworI2VuZGlmCisgICAg
fQorCiAgICAgYm9vbCBpc29sYXRlc0JsZW5kaW5nKCkgY29uc3QKICAgICB7CiAjaWYgRU5BQkxF
KENTU19DT01QT1NJVElORykKQEAgLTEyODcsNiArMTMxNCw3IEBAIHByaXZhdGU6CiAKICNpZiBF
TkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgIEJsZW5kTW9kZSBtX2JsZW5kTW9kZSA6IDU7Cisg
ICAgYm9vbCBtX2hhc1VuaXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cyA6IDE7
CiAgICAgYm9vbCBtX2hhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dCA6IDE7
CiAgICAgYm9vbCBtX2hhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29udGV4dFN0YXR1
c0RpcnR5IDogMTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCBlOGQxNjcwZmRkMGRhNGEzYmQwODdlMGVjYWUw
OTM0YzE3MWM1MzFmLi4yOGY3MGU5MGY5NTBlYzkzNmQ0OTQzNWU2ZTdlNDZmYjczMWI5ZmMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcApAQCAtMTk0LDcgKzE5NCw5IEBAIHN0cnVjdCBDb21wb3NpdGluZ1N0YXRlIHsKICAgICAg
ICAgOiBtX2NvbXBvc2l0aW5nQW5jZXN0b3IoY29tcEFuY2VzdG9yKQogICAgICAgICAsIG1fc3Vi
dHJlZUlzQ29tcG9zaXRpbmcoZmFsc2UpCiAgICAgICAgICwgbV90ZXN0aW5nT3ZlcmxhcCh0ZXN0
T3ZlcmxhcCkKLSAgICAgICAgLCBtX3N1YnRyZWVIYXNCbGVuZGluZyhmYWxzZSkKKyNpZiBFTkFC
TEUoQ1NTX0NPTVBPU0lUSU5HKQorICAgICAgICAsIG1faGFzVW5pc29sYXRlZENvbXBvc2l0ZWRC
bGVuZGluZ0Rlc2NlbmRhbnRzKGZhbHNlKQorI2VuZGlmCiAjaWZuZGVmIE5ERUJVRwogICAgICAg
ICAsIG1fZGVwdGgoMCkKICNlbmRpZgpAQCAtMjA1LDcgKzIwNyw5IEBAIHN0cnVjdCBDb21wb3Np
dGluZ1N0YXRlIHsKICAgICAgICAgOiBtX2NvbXBvc2l0aW5nQW5jZXN0b3Iob3RoZXIubV9jb21w
b3NpdGluZ0FuY2VzdG9yKQogICAgICAgICAsIG1fc3VidHJlZUlzQ29tcG9zaXRpbmcob3RoZXIu
bV9zdWJ0cmVlSXNDb21wb3NpdGluZykKICAgICAgICAgLCBtX3Rlc3RpbmdPdmVybGFwKG90aGVy
Lm1fdGVzdGluZ092ZXJsYXApCi0gICAgICAgICwgbV9zdWJ0cmVlSGFzQmxlbmRpbmcob3RoZXIu
bV9zdWJ0cmVlSGFzQmxlbmRpbmcpCisjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKKyAgICAg
ICAgLCBtX2hhc1VuaXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cyhvdGhlci5t
X2hhc1VuaXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cykKKyNlbmRpZgogI2lm
bmRlZiBOREVCVUcKICAgICAgICAgLCBtX2RlcHRoKG90aGVyLm1fZGVwdGggKyAxKQogI2VuZGlm
CkBAIC0yMTUsNyArMjE5LDkgQEAgc3RydWN0IENvbXBvc2l0aW5nU3RhdGUgewogICAgIFJlbmRl
ckxheWVyKiBtX2NvbXBvc2l0aW5nQW5jZXN0b3I7CiAgICAgYm9vbCBtX3N1YnRyZWVJc0NvbXBv
c2l0aW5nOwogICAgIGJvb2wgbV90ZXN0aW5nT3ZlcmxhcDsKLSAgICBib29sIG1fc3VidHJlZUhh
c0JsZW5kaW5nOworI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAgYm9vbCBtX2hhc1Vu
aXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50czsKKyNlbmRpZgogI2lmbmRlZiBO
REVCVUcKICAgICBpbnQgbV9kZXB0aDsKICNlbmRpZgpAQCAtMTA5OCw2ICsxMTA0LDkgQEAgdm9p
ZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyhS
ZW5kZXJMYXllciogYW5jZXN0b3IKICAgICAvLyBhbmNlc3RvciB3aXRoIG1fc3VidHJlZUlzQ29t
cG9zaXRpbmcgc2V0IHRvIGZhbHNlLgogICAgIENvbXBvc2l0aW5nU3RhdGUgY2hpbGRTdGF0ZShj
b21wb3NpdGluZ1N0YXRlKTsKICAgICBjaGlsZFN0YXRlLm1fc3VidHJlZUlzQ29tcG9zaXRpbmcg
PSBmYWxzZTsKKyNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQorICAgIGNoaWxkU3RhdGUubV9o
YXNVbmlzb2xhdGVkQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFudHMgPSBmYWxzZTsKKyNlbmRp
ZgogCiAgICAgYm9vbCB3aWxsQmVDb21wb3NpdGVkID0gbmVlZHNUb0JlQ29tcG9zaXRlZChsYXll
cik7CiAgICAgaWYgKHdpbGxCZUNvbXBvc2l0ZWQpIHsKQEAgLTExNzEsMTAgKzExODAsNiBAQCB2
b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRz
KFJlbmRlckxheWVyKiBhbmNlc3RvcgogICAgICAgICAgICAgd2lsbEJlQ29tcG9zaXRlZCA9IHRy
dWU7CiAgICAgfQogICAgIAotICAgIC8vIElmIHRoZSBsYXllciBjb21wb3NpdGVkIGZvciBvdGhl
ciByZWFzb25zIHRoYW4gYmxlbmRpbmcsIGl0IGlzIG5vIGxvbmdlciBuZWVkZWQgdG8ga2VlcCB0
cmFjayBvZiB3aGV0aGVyIGEgY2hpbGQgd2FzIGJsZW5kZWQuCi0gICAgaWYgKGNvbXBvc2l0aW5n
U3RhdGUubV9zdWJ0cmVlSGFzQmxlbmRpbmcgJiYgIWxheWVyLmhhc0JsZW5kTW9kZSgpKQotICAg
ICAgICBjb21wb3NpdGluZ1N0YXRlLm1fc3VidHJlZUhhc0JsZW5kaW5nID0gZmFsc2U7Ci0KICAg
ICBBU1NFUlQod2lsbEJlQ29tcG9zaXRlZCA9PSBuZWVkc1RvQmVDb21wb3NpdGVkKGxheWVyKSk7
CiAKICAgICAvLyBBbGwgbGF5ZXJzIChldmVuIG9uZXMgdGhhdCBhcmVuJ3QgYmVpbmcgY29tcG9z
aXRlZCkgbmVlZCB0byBnZXQgYWRkZWQgdG8KQEAgLTExODMsMTMgKzExODgsMTMgQEAgdm9pZCBS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyhSZW5k
ZXJMYXllciogYW5jZXN0b3IKICAgICBpZiAob3ZlcmxhcE1hcCAmJiBjaGlsZFN0YXRlLm1fY29t
cG9zaXRpbmdBbmNlc3RvciAmJiAhY2hpbGRTdGF0ZS5tX2NvbXBvc2l0aW5nQW5jZXN0b3ItPmlz
Um9vdExheWVyKCkpCiAgICAgICAgIGFkZFRvT3ZlcmxhcE1hcCgqb3ZlcmxhcE1hcCwgbGF5ZXIs
IGFic0JvdW5kcywgaGF2ZUNvbXB1dGVkQm91bmRzKTsKIAotICAgIGlmIChjaGlsZFN0YXRlLm1f
c3VidHJlZUhhc0JsZW5kaW5nIHx8IGxheWVyLmhhc0JsZW5kTW9kZSgpKQotICAgICAgICBjb21w
b3NpdGluZ1N0YXRlLm1fc3VidHJlZUhhc0JsZW5kaW5nID0gdHJ1ZTsKLQorI2lmIEVOQUJMRShD
U1NfQ09NUE9TSVRJTkcpCisgICAgbGF5ZXIuc2V0SGFzVW5pc29sYXRlZENvbXBvc2l0ZWRCbGVu
ZGluZ0Rlc2NlbmRhbnRzKGNoaWxkU3RhdGUubV9oYXNVbmlzb2xhdGVkQ29tcG9zaXRlZEJsZW5k
aW5nRGVzY2VuZGFudHMpOworI2VuZGlmCiAgICAgLy8gTm93IGNoZWNrIGZvciByZWFzb25zIHRv
IGJlY29tZSBjb21wb3NpdGVkIHRoYXQgZGVwZW5kIG9uIHRoZSBzdGF0ZSBvZiBkZXNjZW5kYW50
IGxheWVycy4KICAgICBSZW5kZXJMYXllcjo6SW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbiBpbmRp
cmVjdENvbXBvc2l0aW5nUmVhc29uOwogICAgIGlmICghd2lsbEJlQ29tcG9zaXRlZCAmJiBjYW5C
ZUNvbXBvc2l0ZWQobGF5ZXIpCi0gICAgICAgICYmIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JJbmRp
cmVjdFJlYXNvbihsYXllci5yZW5kZXJlcigpLCBjaGlsZFN0YXRlLm1fc3VidHJlZUlzQ29tcG9z
aXRpbmcsIGNvbXBvc2l0aW5nU3RhdGUubV9zdWJ0cmVlSGFzQmxlbmRpbmcsIGFueURlc2NlbmRh
bnRIYXMzRFRyYW5zZm9ybSwgaW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbikpIHsKKyAgICAgICAg
JiYgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckluZGlyZWN0UmVhc29uKGxheWVyLnJlbmRlcmVyKCks
IGNoaWxkU3RhdGUubV9zdWJ0cmVlSXNDb21wb3NpdGluZywgYW55RGVzY2VuZGFudEhhczNEVHJh
bnNmb3JtLCBpbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uKSkgewogICAgICAgICBsYXllci5zZXRJ
bmRpcmVjdENvbXBvc2l0aW5nUmVhc29uKGluZGlyZWN0Q29tcG9zaXRpbmdSZWFzb24pOwogICAg
ICAgICBjaGlsZFN0YXRlLm1fY29tcG9zaXRpbmdBbmNlc3RvciA9ICZsYXllcjsKICAgICAgICAg
aWYgKG92ZXJsYXBNYXApIHsKQEAgLTEyMzMsNiArMTIzOCwxMiBAQCB2b2lkIFJlbmRlckxheWVy
Q29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRlckxheWVyKiBh
bmNlc3RvcgogICAgICAgICAgfQogICAgIH0KIAorI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcp
CisgICAgaWYgKCh3aWxsQmVDb21wb3NpdGVkICYmIGxheWVyLmhhc0JsZW5kTW9kZSgpKQorICAg
ICAgICB8fCAobGF5ZXIuaGFzVW5pc29sYXRlZENvbXBvc2l0ZWRCbGVuZGluZ0Rlc2NlbmRhbnRz
KCkgJiYgIWxheWVyLmlzb2xhdGVzQ29tcG9zaXRlZEJsZW5kaW5nKCkpKQorICAgICAgICBjb21w
b3NpdGluZ1N0YXRlLm1faGFzVW5pc29sYXRlZENvbXBvc2l0ZWRCbGVuZGluZ0Rlc2NlbmRhbnRz
ID0gdHJ1ZTsKKyNlbmRpZgorCiAgICAgaWYgKG92ZXJsYXBNYXAgJiYgY2hpbGRTdGF0ZS5tX2Nv
bXBvc2l0aW5nQW5jZXN0b3IgPT0gJmxheWVyICYmICFsYXllci5pc1Jvb3RMYXllcigpKQogICAg
ICAgICBvdmVybGFwTWFwLT5wb3BDb21wb3NpdGluZ0NvbnRhaW5lcigpOwogCkBAIC0yMTEzLDcg
KzIxMjQsNyBAQCBDb21wb3NpdGluZ1JlYXNvbnMgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZWFz
b25zRm9yQ29tcG9zaXRpbmcoY29uc3QgUmVuZGVyTGF5ZQogICAgICAgICBpZiAocmVuZGVyZXIt
Pmhhc0ZpbHRlcigpKQogICAgICAgICAgICAgcmVhc29ucyB8PSBDb21wb3NpdGluZ1JlYXNvbkZp
bHRlcldpdGhDb21wb3NpdGVkRGVzY2VuZGFudHM7CiAKLSAgICAgICAgaWYgKHJlbmRlcmVyLT5o
YXNCbGVuZE1vZGUoKSkKKyAgICAgICAgaWYgKGxheWVyLmlzb2xhdGVzQ29tcG9zaXRlZEJsZW5k
aW5nKCkpCiAgICAgICAgICAgICByZWFzb25zIHw9IENvbXBvc2l0aW5nUmVhc29uQmxlbmRpbmdX
aXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzOwogCiAgICAgfSBlbHNlIGlmIChyZW5kZXJlci0+bGF5
ZXIoKS0+aW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbigpID09IFJlbmRlckxheWVyOjpJbmRpcmVj
dENvbXBvc2l0aW5nRm9yUGVyc3BlY3RpdmUpCkBAIC0yMzc4LDEzICsyMzg5LDEzIEBAIGJvb2wg
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9yQW5pbWF0aW9uKFJl
bmRlckxheWVyTW9kZWxPYmplCiAgICAgICAgICAgICB8fCBhbmltQ29udHJvbGxlci5pc1J1bm5p
bmdBbmltYXRpb25PblJlbmRlcmVyKCZyZW5kZXJlciwgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2Zv
cm0sIGFjdGl2ZUFuaW1hdGlvblN0YXRlKTsKIH0KIAotYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0
b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JJbmRpcmVjdFJlYXNvbihSZW5kZXJMYXllck1vZGVs
T2JqZWN0JiByZW5kZXJlciwgYm9vbCBoYXNDb21wb3NpdGVkRGVzY2VuZGFudHMsIGJvb2wgaGFz
QmxlbmRlZERlc2NlbmRhbnRzLCBib29sIGhhczNEVHJhbnNmb3JtZWREZXNjZW5kYW50cywgUmVu
ZGVyTGF5ZXI6OkluZGlyZWN0Q29tcG9zaXRpbmdSZWFzb24mIHJlYXNvbikgY29uc3QKK2Jvb2wg
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9ySW5kaXJlY3RSZWFz
b24oUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCYgcmVuZGVyZXIsIGJvb2wgaGFzQ29tcG9zaXRlZERl
c2NlbmRhbnRzLCBib29sIGhhczNEVHJhbnNmb3JtZWREZXNjZW5kYW50cywgUmVuZGVyTGF5ZXI6
OkluZGlyZWN0Q29tcG9zaXRpbmdSZWFzb24mIHJlYXNvbikgY29uc3QKIHsKICAgICBSZW5kZXJM
YXllciYgbGF5ZXIgPSAqdG9SZW5kZXJCb3hNb2RlbE9iamVjdChyZW5kZXJlcikubGF5ZXIoKTsK
IAogICAgIC8vIFdoZW4gYSBsYXllciBoYXMgY29tcG9zaXRlZCBkZXNjZW5kYW50cywgc29tZSBl
ZmZlY3RzLCBsaWtlIDJkIHRyYW5zZm9ybXMsIGZpbHRlcnMsIG1hc2tzIGV0YyBtdXN0IGJlIGlt
cGxlbWVudGVkCiAgICAgLy8gdmlhIGNvbXBvc2l0aW5nIHNvIHRoYXQgdGhleSBhbHNvIGFwcGx5
IHRvIHRob3NlIGNvbXBvc2l0ZWQgZGVzY2VuZGFudHMuCi0gICAgaWYgKGhhc0NvbXBvc2l0ZWRE
ZXNjZW5kYW50cyAmJiAoaGFzQmxlbmRlZERlc2NlbmRhbnRzIHx8IGxheWVyLnRyYW5zZm9ybSgp
IHx8IHJlbmRlcmVyLmNyZWF0ZXNHcm91cCgpIHx8IHJlbmRlcmVyLmhhc1JlZmxlY3Rpb24oKSB8
fCByZW5kZXJlci5pc1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50Q29udGFpbmVyKCkpKSB7CisgICAg
aWYgKGhhc0NvbXBvc2l0ZWREZXNjZW5kYW50cyAmJiAobGF5ZXIuaXNvbGF0ZXNDb21wb3NpdGVk
QmxlbmRpbmcoKSB8fCBsYXllci50cmFuc2Zvcm0oKSB8fCByZW5kZXJlci5jcmVhdGVzR3JvdXAo
KSB8fCByZW5kZXJlci5oYXNSZWZsZWN0aW9uKCkgfHwgcmVuZGVyZXIuaXNSZW5kZXJOYW1lZEZs
b3dGcmFnbWVudENvbnRhaW5lcigpKSkgewogICAgICAgICByZWFzb24gPSBSZW5kZXJMYXllcjo6
SW5kaXJlY3RDb21wb3NpdGluZ0ZvckdyYXBoaWNhbEVmZmVjdDsKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQ29tcG9zaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29t
cG9zaXRvci5oCmluZGV4IGMyMDhiODFiZjAzMDc4ZjEzYThjNWM0Y2I3YzU2NDlmYmJlZTg4YjEu
LjQ4Mzc5MjcwMzBhZjc2NDRiZGVhM2MwZjJlNWY4N2Y0MTVkODEyODYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKQEAgLTM5NCw3ICsz
OTQsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0ZvclNjcm9sbGFi
bGVGcmFtZSgpIGNvbnN0OwogICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0ZvclBvc2l0aW9u
KFJlbmRlckxheWVyTW9kZWxPYmplY3QmLCBjb25zdCBSZW5kZXJMYXllciYsIFJlbmRlckxheWVy
OjpWaWV3cG9ydENvbnN0cmFpbmVkTm90Q29tcG9zaXRlZFJlYXNvbiogPSAwKSBjb25zdDsKICAg
ICBib29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbGluZyhjb25zdCBSZW5k
ZXJMYXllciYpIGNvbnN0OwotICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckluZGlyZWN0
UmVhc29uKFJlbmRlckxheWVyTW9kZWxPYmplY3QmLCBib29sIGhhc0NvbXBvc2l0ZWREZXNjZW5k
YW50cywgYm9vbCBoYXNCbGVuZGVkRGVzY2VuZGFudHMsIGJvb2wgaGFzM0RUcmFuc2Zvcm1lZERl
c2NlbmRhbnRzLCBSZW5kZXJMYXllcjo6SW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbiYpIGNvbnN0
OworICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckluZGlyZWN0UmVhc29uKFJlbmRlckxh
eWVyTW9kZWxPYmplY3QmLCBib29sIGhhc0NvbXBvc2l0ZWREZXNjZW5kYW50cywgYm9vbCBoYXMz
RFRyYW5zZm9ybWVkRGVzY2VuZGFudHMsIFJlbmRlckxheWVyOjpJbmRpcmVjdENvbXBvc2l0aW5n
UmVhc29uJikgY29uc3Q7CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgYm9vbCByZXF1aXJlc0Nv
bXBvc2l0aW5nRm9yU2Nyb2xsaW5nKGNvbnN0IFJlbmRlckxheWVyJikgY29uc3Q7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
NDdlOWQ2NTU5YmViYTVhYmEwMTE3NTExMzRmMjM2Nzc1ZTk3MjQyYy4uZjA3YjA3YWNlYmQyMGZi
ZTZkY2YyZDhlODBmNDdjMGY0NTY0N2ZmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE0LTAz
LTMxICBJb24gUm9zY2EgIDxyb3NjYUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBCbGVuZGlu
Z10gQ29tcG9zaXRpbmcgcmVxdWlyZW1lbnRzIGZvciBibGVuZGluZyBhcmUgbm90IGNvbXB1dGVk
IGNvcnJlY3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTMwNjY0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBjc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtYWNjZWxlcmF0ZWQtd2l0aC1tdWx0aXBs
ZS1zdGFja2luZy1jb250ZXh0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMv
Y29tcG9zaXRpbmcvYmxlbmQtbW9kZS1hY2NlbGVyYXRlZC13aXRoLW11bHRpcGxlLXN0YWNraW5n
LWNvbnRleHRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY29tcG9zaXRpbmcvYmxlbmQt
bW9kZS13aXRoLWFjY2VsZXJhdGVkLXNpYmxpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBjc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtd2l0aC1hY2NlbGVyYXRlZC1zaWJsaW5n
Lmh0bWw6IEFkZGVkLgorCiAyMDE0LTAzLTMxICBBbmRyZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUu
Y29tPgogCiAgICAgICAgIFdyb25nIGxheW91dCB3aGlsZSBhbmltYXRpbmcgY29udGVudCBpbiBy
ZWdpb25zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1v
ZGUtYWNjZWxlcmF0ZWQtd2l0aC1tdWx0aXBsZS1zdGFja2luZy1jb250ZXh0cy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtYWNjZWxlcmF0ZWQt
d2l0aC1tdWx0aXBsZS1zdGFja2luZy1jb250ZXh0cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OWYxOTQ3NWFmYmY5YjVmZDY3ZTQwNzFkMDVkMDk2OTkxNjI1OTNkZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS1hY2NlbGVyYXRlZC13
aXRoLW11bHRpcGxlLXN0YWNraW5nLWNvbnRleHRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIz
IEBACisoR3JhcGhpY3NMYXllcgorICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgIChjaGlsZHJl
biAxCisgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAg
ICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgKEdyYXBo
aWNzTGF5ZXIKKyAgICAgICAgICAocG9zaXRpb24gOC4wMCA4LjAwKQorICAgICAgICAgIChib3Vu
ZHMgNzg0LjAwIDEwLjAwKQorICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAoR3Jh
cGhpY3NMYXllcgorICAgICAgICAgICAgICAoYm91bmRzIDEwLjAwIDEwLjAwKQorICAgICAgICAg
ICAgICAoYmxlbmRNb2RlIG11bHRpcGx5KQorICAgICAgICAgICAgICAoY29udGVudHNPcGFxdWUg
MSkKKyAgICAgICAgICAgICkKKyAgICAgICAgICApCisgICAgICAgICkKKyAgICAgICkKKyAgICAp
CisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jb21wb3NpdGluZy9ibGVu
ZC1tb2RlLWFjY2VsZXJhdGVkLXdpdGgtbXVsdGlwbGUtc3RhY2tpbmctY29udGV4dHMuaHRtbCBi
L0xheW91dFRlc3RzL2NzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS1hY2NlbGVyYXRlZC13aXRo
LW11bHRpcGxlLXN0YWNraW5nLWNvbnRleHRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTdiNTY3M2U1MDMz
ZDI0ZDY5MmUxNmMxMjA4YTcxZWIxYmQxMThkNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS1hY2NlbGVyYXRlZC13aXRoLW11bHRpcGxl
LXN0YWNraW5nLWNvbnRleHRzLmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIEhUTUw+
Cis8IS0tIFRoaXMgdGVzdCB3aWxsIGNoZWNrIHRoYXQgb25seSB0aGUgZGlyZWN0IHBhcmVudCBv
ZiBibGVuZGluZyBlbGVtZW50IGdldHMgYWNjZWxlcmF0ZWQgLS0+Cis8c3R5bGU+CisgICAgLmFj
Y2VsZXJhdGVkIHsKKyAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7Cisg
ICAgfQorICAgIC5ibGVuZGVkIHsKKyAgICAgICAgLXdlYmtpdC1taXgtYmxlbmQtbW9kZTogbXVs
dGlwbHk7CisgICAgfQorICAgIC5jaGlsZCB7CisgICAgICAgIHdpZHRoOiAxMHB4OworICAgICAg
ICBoZWlnaHQ6IDEwcHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICAgIH0K
KyAgICAucGFyZW50IHsKKyAgICAgICAgLXdlYmtpdC1pc29sYXRpb246IGlzb2xhdGU7CisgICAg
fQorPC9zdHlsZT4KKworPGRpdiBjbGFzcz0icGFyZW50Ij4KKyAgICA8ZGl2IGNsYXNzPSJwYXJl
bnQiPgorICAgICAgICA8ZGl2IGNsYXNzPSJhY2NlbGVyYXRlZCBibGVuZGVkIGNoaWxkIj48L2Rp
dj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorPHByZSBpZD0ibGF5ZXJUcmVlIj48L3ByZT4KKzxzY3Jp
cHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB3aW5kb3cudGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CisKKyAgICB2YXIgdGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJsYXllclRyZWUiKTsKKyAgICB0ZXh0LmlubmVySFRNTCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5
ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2RlLXdpdGgtYWNjZWxlcmF0ZWQtc2libGluZy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtd2l0
aC1hY2NlbGVyYXRlZC1zaWJsaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZGMwZGI4OTZk
YzUzNzM1YWJiN2RjNGY2YTRjMjgzNGY3ZjRhNDdjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2RlLXdpdGgtYWNjZWxlcmF0ZWQtc2libGlu
Zy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorKEdyYXBoaWNzTGF5ZXIKKyAgKGJvdW5k
cyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xheWVyCisgICAg
ICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAg
IChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgKHBvc2l0aW9u
IDguMDAgOC4wMCkKKyAgICAgICAgICAoYm91bmRzIDEwLjAwIDEwLjAwKQorICAgICAgICAgIChj
b250ZW50c09wYXF1ZSAxKQorICAgICAgICApCisgICAgICApCisgICAgKQorICApCispCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS13aXRoLWFj
Y2VsZXJhdGVkLXNpYmxpbmcuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY29tcG9zaXRpbmcvYmxl
bmQtbW9kZS13aXRoLWFjY2VsZXJhdGVkLXNpYmxpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yOWIxNDUw
NzE5ODJmZDkwOTQwMjdiMTk4ZGQ4NGQ0NzllZmZiNTYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2RlLXdpdGgtYWNjZWxlcmF0ZWQtc2li
bGluZy5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBIVE1MPgorPCEtLSBUaGlzIHRl
c3Qgd2lsbCBjaGVjayB0aGF0IHBhcmVudCBpcyBub3QgYWNjZWxlcmF0ZWQgd2hlbiBpdCBoYXMg
bm9uLWFjY2VsZXJhdGVkIGJsZW5kZWQgY2hpbGRyZW4gLS0+Cis8c3R5bGU+CisgICAgLmFjY2Vs
ZXJhdGVkIHsKKyAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7CisgICAg
fQorICAgIC5ibGVuZGVkIHsKKyAgICAgICAgLXdlYmtpdC1taXgtYmxlbmQtbW9kZTogbXVsdGlw
bHk7CisgICAgfQorICAgIC5jaGlsZCB7CisgICAgICAgIHdpZHRoOiAxMHB4OworICAgICAgICBo
ZWlnaHQ6IDEwcHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICAgIH0KKyAg
ICAucGFyZW50IHsKKyAgICAgICAgLXdlYmtpdC1pc29sYXRpb246IGlzb2xhdGU7CisgICAgfQor
PC9zdHlsZT4KKworPGRpdiBjbGFzcz0icGFyZW50Ij4KKyAgICA8ZGl2IGNsYXNzPSJhY2NlbGVy
YXRlZCBjaGlsZCI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0iYmxlbmRlZCBjaGlsZCI+PC9kaXY+
Cis8L2Rpdj4KKzxwcmUgaWQ9ImxheWVyVHJlZSI+PC9wcmU+Cis8c2NyaXB0PgorICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OworCisgICAgdmFyIHRleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGF5ZXJUcmVlIik7
CisgICAgdGV4dC5pbm5lckhUTUwgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChk
b2N1bWVudCk7Cis8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228203</attachid>
            <date>2014-03-31 14:19:27 -0700</date>
            <delta_ts>2014-04-02 00:31:18 -0700</delta_ts>
            <desc>more comments and ifdefs</desc>
            <filename>bug-130664-20140401001906.patch</filename>
            <type>text/plain</type>
            <size>16591</size>
            <attacher name="Ion Rosca">rosca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2NDk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWE0YjQ2MzAwYWQ2YjEw
NWIyMmIxODI5NDg3ZjNkM2M0MDQ2YjYzZi4uYjVkNDllMzYxMTk0NzM4NmUxYTZjMWI3NDlmNzZi
NjQxNWJjNzMwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE0LTAzLTMxICBJb24g
Um9zY2EgIDxyb3NjYUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBCbGVuZGluZ10gQ29tcG9z
aXRpbmcgcmVxdWlyZW1lbnRzIGZvciBibGVuZGluZyBhcmUgbm90IGNvbXB1dGVkIGNvcnJlY3Rs
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNjY0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6
IGNzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS1hY2NlbGVyYXRlZC13aXRoLW11bHRpcGxlLXN0
YWNraW5nLWNvbnRleHRzLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY29tcG9zaXRpbmcvYmxl
bmQtbW9kZS13aXRoLWFjY2VsZXJhdGVkLXNpYmxpbmcuaHRtbAorCisgICAgICAgIENvbXBvc2l0
aW5nIHJlcXVpcmVtZW50cyBmb3IgYmxlbmRpbmc6IGlmIGEgbGF5ZXIgaGF2aW5nIGJsZW5kIG1v
ZGUKKyAgICAgICAgb3RoZXIgdGhhbiBub3JtYWwgaXMgY29tcG9zaXRlZCBmb3IgYW55IHJlYXNv
biwgaXRzIGNsb3Nlc3Qgc3RhY2tpbmcKKyAgICAgICAgY29udGV4dCBhbmNlc3RvciBzaG91bGQg
YmUgY29tcG9zaXRlZCBhcyB3ZWxsLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpSZW5kZXJMYXllcik6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6IGFkZGVkIGEgbmV3IGZpZWxkLAorICAgICAg
ICBtX2hhc1VuaXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cywgd2hpY2ggaXMg
dHJ1ZSBpZiB0aGUgbGF5ZXIKKyAgICAgICAgaGFzIGNvbXBvc2l0ZWQgYmxlbmRpbmcgZGVzY2Vu
ZGFudHMgbm90IGlzb2xhdGVkIGJ5IGFueSBzdGFja2luZyBjb250ZXh0IGNoaWxkOworICAgICAg
ICBhZGRlZCBhIG5ldyBtZXRob2Q6IGlzb2xhdGVzQ29tcG9zaXRlZEJsZW5kaW5nKCksIHdoaWNo
IGlzIHRydWUgaWYgd2Ugc2hvdWxkCisgICAgICAgIGFjY2VsZXJhdGUgdGhhdCBsYXllciBpbiBv
cmRlciB0byBwZXJmb3JtIGlzb2xhdGlvbiBjb3JyZWN0bHkuCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0
aW5nU3RhdGU6OkNvbXBvc2l0aW5nU3RhdGUpOiBtX3N1YnRyZWVIYXNCbGVuZGluZyB3YXMgcmVu
YW1lZAorICAgICAgICBtX2hhc1VuaXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50
cyBpbiBvcmRlciB0byBiZSBtb3JlIHNlbGYtZXhwbGFuYXRvcnkuCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyk6
CisgICAgICAgIGNvbXB1dGVzIHRoZSBpc29sYXRpb24gcmVxdWlyZW1lbnRzIGZvciBjb21wb3Np
dGVkIGJsZW5kaW5nIGJ5CisgICAgICAgIChyZSlzZXR0aW5nIFJlbmRlckxheWVyOjptX2hhc1Vu
aXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cyBmbGFnLgorCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlYXNvbnNGb3JDb21wb3NpdGluZyk6Cisg
ICAgICAgIGZpeGVkIHRoZSByZWFzb24gb2YgY29tcG9zaXRpbmc6IGlzb2xhdGlvbiBpbnN0ZWFk
IG9mIGJsZW5kaW5nLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6
OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JJbmRpcmVjdFJlYXNvbik6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oOgorCiAyMDE0LTAzLTIwICBDYXJsb3MgR2FyY2lh
IENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBVc2UgR01haW5M
b29wU291cmNlIGZvciBpZGxlIGFuZCB0aW1lb3V0IHNvdXJjZXMgaW4gV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggZGU2OGU3YjE1ZGMxM2VjY2Ri
ZjQ0ZTg5NDUwYjVlMDAzNmM2M2RhOC4uMWE0NjFiZDBhZTMwMTUxMzg2MWRkYmM5MTJjYTg2YTVh
OWQwMTE2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0x
ODYsNiArMTg2LDcgQEAgUmVuZGVyTGF5ZXI6OlJlbmRlckxheWVyKFJlbmRlckxheWVyTW9kZWxP
YmplY3QmIHJlbmRlcmVyTGF5ZXJNb2RlbE9iamVjdCkKICNlbmRpZgogI2lmIEVOQUJMRShDU1Nf
Q09NUE9TSVRJTkcpCiAgICAgLCBtX2JsZW5kTW9kZShCbGVuZE1vZGVOb3JtYWwpCisgICAgLCBt
X2hhc1VuaXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cyhmYWxzZSkKICAgICAs
IG1faGFzQmxlbmRlZEVsZW1lbnRJbkNoaWxkU3RhY2tpbmdDb250ZXh0KGZhbHNlKQogICAgICwg
bV9oYXNCbGVuZGVkRWxlbWVudEluQ2hpbGRTdGFja2luZ0NvbnRleHRTdGF0dXNEaXJ0eShmYWxz
ZSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCA0ODEx
YTAzYTI3ZDVlMzUxOTNjMzZlMmM4MmE2ZjMzMmU0ZTY0OTA4Li42MWYyMjIxMGVjNmI4OTZhMTNh
ODFkNDVjN2MwN2Y0ZjdlZTYwZGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuaApAQCAtNzg2LDYgKzc4NiwyMyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB9CiAKKyAgICBi
b29sIGlzb2xhdGVzQ29tcG9zaXRlZEJsZW5kaW5nKCkgY29uc3QKKyAgICB7CisjaWYgRU5BQkxF
KENTU19DT01QT1NJVElORykKKyAgICAgICAgcmV0dXJuIG1faGFzVW5pc29sYXRlZENvbXBvc2l0
ZWRCbGVuZGluZ0Rlc2NlbmRhbnRzICYmIGlzU3RhY2tpbmdDb250ZXh0KCk7CisjZWxzZQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKKyAgICB9CisKKyNpZiBFTkFCTEUoQ1NTX0NPTVBP
U0lUSU5HKQorICAgIGJvb2wgaGFzVW5pc29sYXRlZENvbXBvc2l0ZWRCbGVuZGluZ0Rlc2NlbmRh
bnRzKCkgY29uc3QgeyByZXR1cm4gbV9oYXNVbmlzb2xhdGVkQ29tcG9zaXRlZEJsZW5kaW5nRGVz
Y2VuZGFudHM7IH0KKyAgICB2b2lkIHNldEhhc1VuaXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdE
ZXNjZW5kYW50cyhib29sIGhhc1VuaXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50
cykKKyAgICB7CisgICAgICAgIG1faGFzVW5pc29sYXRlZENvbXBvc2l0ZWRCbGVuZGluZ0Rlc2Nl
bmRhbnRzID0gaGFzVW5pc29sYXRlZENvbXBvc2l0ZWRCbGVuZGluZ0Rlc2NlbmRhbnRzOworICAg
IH0KKyNlbmRpZgorCiAgICAgYm9vbCBpc29sYXRlc0JsZW5kaW5nKCkgY29uc3QKICAgICB7CiAj
aWYgRU5BQkxFKENTU19DT01QT1NJVElORykKQEAgLTEyODcsNiArMTMwNCw3IEBAIHByaXZhdGU6
CiAKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgIEJsZW5kTW9kZSBtX2JsZW5kTW9k
ZSA6IDU7CisgICAgYm9vbCBtX2hhc1VuaXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5k
YW50cyA6IDE7CiAgICAgYm9vbCBtX2hhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29u
dGV4dCA6IDE7CiAgICAgYm9vbCBtX2hhc0JsZW5kZWRFbGVtZW50SW5DaGlsZFN0YWNraW5nQ29u
dGV4dFN0YXR1c0RpcnR5IDogMTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCBlOGQxNjcwZmRkMGRhNGEzYmQw
ODdlMGVjYWUwOTM0YzE3MWM1MzFmLi5iN2FjYjdhZDVlNDAzNmMxOGFlMDZmMTIzZTE0NWVlODJm
Y2YwM2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJD
b21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJD
b21wb3NpdG9yLmNwcApAQCAtMTk0LDcgKzE5NCw5IEBAIHN0cnVjdCBDb21wb3NpdGluZ1N0YXRl
IHsKICAgICAgICAgOiBtX2NvbXBvc2l0aW5nQW5jZXN0b3IoY29tcEFuY2VzdG9yKQogICAgICAg
ICAsIG1fc3VidHJlZUlzQ29tcG9zaXRpbmcoZmFsc2UpCiAgICAgICAgICwgbV90ZXN0aW5nT3Zl
cmxhcCh0ZXN0T3ZlcmxhcCkKLSAgICAgICAgLCBtX3N1YnRyZWVIYXNCbGVuZGluZyhmYWxzZSkK
KyNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQorICAgICAgICAsIG1faGFzVW5pc29sYXRlZENv
bXBvc2l0ZWRCbGVuZGluZ0Rlc2NlbmRhbnRzKGZhbHNlKQorI2VuZGlmCiAjaWZuZGVmIE5ERUJV
RwogICAgICAgICAsIG1fZGVwdGgoMCkKICNlbmRpZgpAQCAtMjA1LDcgKzIwNyw5IEBAIHN0cnVj
dCBDb21wb3NpdGluZ1N0YXRlIHsKICAgICAgICAgOiBtX2NvbXBvc2l0aW5nQW5jZXN0b3Iob3Ro
ZXIubV9jb21wb3NpdGluZ0FuY2VzdG9yKQogICAgICAgICAsIG1fc3VidHJlZUlzQ29tcG9zaXRp
bmcob3RoZXIubV9zdWJ0cmVlSXNDb21wb3NpdGluZykKICAgICAgICAgLCBtX3Rlc3RpbmdPdmVy
bGFwKG90aGVyLm1fdGVzdGluZ092ZXJsYXApCi0gICAgICAgICwgbV9zdWJ0cmVlSGFzQmxlbmRp
bmcob3RoZXIubV9zdWJ0cmVlSGFzQmxlbmRpbmcpCisjaWYgRU5BQkxFKENTU19DT01QT1NJVElO
RykKKyAgICAgICAgLCBtX2hhc1VuaXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50
cyhvdGhlci5tX2hhc1VuaXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50cykKKyNl
bmRpZgogI2lmbmRlZiBOREVCVUcKICAgICAgICAgLCBtX2RlcHRoKG90aGVyLm1fZGVwdGggKyAx
KQogI2VuZGlmCkBAIC0yMTUsNyArMjE5LDkgQEAgc3RydWN0IENvbXBvc2l0aW5nU3RhdGUgewog
ICAgIFJlbmRlckxheWVyKiBtX2NvbXBvc2l0aW5nQW5jZXN0b3I7CiAgICAgYm9vbCBtX3N1YnRy
ZWVJc0NvbXBvc2l0aW5nOwogICAgIGJvb2wgbV90ZXN0aW5nT3ZlcmxhcDsKLSAgICBib29sIG1f
c3VidHJlZUhhc0JsZW5kaW5nOworI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAgYm9v
bCBtX2hhc1VuaXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNjZW5kYW50czsKKyNlbmRpZgog
I2lmbmRlZiBOREVCVUcKICAgICBpbnQgbV9kZXB0aDsKICNlbmRpZgpAQCAtMTA5OCw2ICsxMTA0
LDkgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVp
cmVtZW50cyhSZW5kZXJMYXllciogYW5jZXN0b3IKICAgICAvLyBhbmNlc3RvciB3aXRoIG1fc3Vi
dHJlZUlzQ29tcG9zaXRpbmcgc2V0IHRvIGZhbHNlLgogICAgIENvbXBvc2l0aW5nU3RhdGUgY2hp
bGRTdGF0ZShjb21wb3NpdGluZ1N0YXRlKTsKICAgICBjaGlsZFN0YXRlLm1fc3VidHJlZUlzQ29t
cG9zaXRpbmcgPSBmYWxzZTsKKyNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQorICAgIGNoaWxk
U3RhdGUubV9oYXNVbmlzb2xhdGVkQ29tcG9zaXRlZEJsZW5kaW5nRGVzY2VuZGFudHMgPSBmYWxz
ZTsKKyNlbmRpZgogCiAgICAgYm9vbCB3aWxsQmVDb21wb3NpdGVkID0gbmVlZHNUb0JlQ29tcG9z
aXRlZChsYXllcik7CiAgICAgaWYgKHdpbGxCZUNvbXBvc2l0ZWQpIHsKQEAgLTExNzEsMTAgKzEx
ODAsNiBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVx
dWlyZW1lbnRzKFJlbmRlckxheWVyKiBhbmNlc3RvcgogICAgICAgICAgICAgd2lsbEJlQ29tcG9z
aXRlZCA9IHRydWU7CiAgICAgfQogICAgIAotICAgIC8vIElmIHRoZSBsYXllciBjb21wb3NpdGVk
IGZvciBvdGhlciByZWFzb25zIHRoYW4gYmxlbmRpbmcsIGl0IGlzIG5vIGxvbmdlciBuZWVkZWQg
dG8ga2VlcCB0cmFjayBvZiB3aGV0aGVyIGEgY2hpbGQgd2FzIGJsZW5kZWQuCi0gICAgaWYgKGNv
bXBvc2l0aW5nU3RhdGUubV9zdWJ0cmVlSGFzQmxlbmRpbmcgJiYgIWxheWVyLmhhc0JsZW5kTW9k
ZSgpKQotICAgICAgICBjb21wb3NpdGluZ1N0YXRlLm1fc3VidHJlZUhhc0JsZW5kaW5nID0gZmFs
c2U7Ci0KICAgICBBU1NFUlQod2lsbEJlQ29tcG9zaXRlZCA9PSBuZWVkc1RvQmVDb21wb3NpdGVk
KGxheWVyKSk7CiAKICAgICAvLyBBbGwgbGF5ZXJzIChldmVuIG9uZXMgdGhhdCBhcmVuJ3QgYmVp
bmcgY29tcG9zaXRlZCkgbmVlZCB0byBnZXQgYWRkZWQgdG8KQEAgLTExODMsMTMgKzExODgsMTMg
QEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVt
ZW50cyhSZW5kZXJMYXllciogYW5jZXN0b3IKICAgICBpZiAob3ZlcmxhcE1hcCAmJiBjaGlsZFN0
YXRlLm1fY29tcG9zaXRpbmdBbmNlc3RvciAmJiAhY2hpbGRTdGF0ZS5tX2NvbXBvc2l0aW5nQW5j
ZXN0b3ItPmlzUm9vdExheWVyKCkpCiAgICAgICAgIGFkZFRvT3ZlcmxhcE1hcCgqb3ZlcmxhcE1h
cCwgbGF5ZXIsIGFic0JvdW5kcywgaGF2ZUNvbXB1dGVkQm91bmRzKTsKIAotICAgIGlmIChjaGls
ZFN0YXRlLm1fc3VidHJlZUhhc0JsZW5kaW5nIHx8IGxheWVyLmhhc0JsZW5kTW9kZSgpKQotICAg
ICAgICBjb21wb3NpdGluZ1N0YXRlLm1fc3VidHJlZUhhc0JsZW5kaW5nID0gdHJ1ZTsKLQorI2lm
IEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAgbGF5ZXIuc2V0SGFzVW5pc29sYXRlZENvbXBv
c2l0ZWRCbGVuZGluZ0Rlc2NlbmRhbnRzKGNoaWxkU3RhdGUubV9oYXNVbmlzb2xhdGVkQ29tcG9z
aXRlZEJsZW5kaW5nRGVzY2VuZGFudHMpOworI2VuZGlmCiAgICAgLy8gTm93IGNoZWNrIGZvciBy
ZWFzb25zIHRvIGJlY29tZSBjb21wb3NpdGVkIHRoYXQgZGVwZW5kIG9uIHRoZSBzdGF0ZSBvZiBk
ZXNjZW5kYW50IGxheWVycy4KICAgICBSZW5kZXJMYXllcjo6SW5kaXJlY3RDb21wb3NpdGluZ1Jl
YXNvbiBpbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uOwogICAgIGlmICghd2lsbEJlQ29tcG9zaXRl
ZCAmJiBjYW5CZUNvbXBvc2l0ZWQobGF5ZXIpCi0gICAgICAgICYmIHJlcXVpcmVzQ29tcG9zaXRp
bmdGb3JJbmRpcmVjdFJlYXNvbihsYXllci5yZW5kZXJlcigpLCBjaGlsZFN0YXRlLm1fc3VidHJl
ZUlzQ29tcG9zaXRpbmcsIGNvbXBvc2l0aW5nU3RhdGUubV9zdWJ0cmVlSGFzQmxlbmRpbmcsIGFu
eURlc2NlbmRhbnRIYXMzRFRyYW5zZm9ybSwgaW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbikpIHsK
KyAgICAgICAgJiYgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckluZGlyZWN0UmVhc29uKGxheWVyLnJl
bmRlcmVyKCksIGNoaWxkU3RhdGUubV9zdWJ0cmVlSXNDb21wb3NpdGluZywgYW55RGVzY2VuZGFu
dEhhczNEVHJhbnNmb3JtLCBpbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uKSkgewogICAgICAgICBs
YXllci5zZXRJbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uKGluZGlyZWN0Q29tcG9zaXRpbmdSZWFz
b24pOwogICAgICAgICBjaGlsZFN0YXRlLm1fY29tcG9zaXRpbmdBbmNlc3RvciA9ICZsYXllcjsK
ICAgICAgICAgaWYgKG92ZXJsYXBNYXApIHsKQEAgLTEyMzMsNiArMTIzOCwxMiBAQCB2b2lkIFJl
bmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRl
ckxheWVyKiBhbmNlc3RvcgogICAgICAgICAgfQogICAgIH0KIAorI2lmIEVOQUJMRShDU1NfQ09N
UE9TSVRJTkcpCisgICAgaWYgKCh3aWxsQmVDb21wb3NpdGVkICYmIGxheWVyLmhhc0JsZW5kTW9k
ZSgpKQorICAgICAgICB8fCAobGF5ZXIuaGFzVW5pc29sYXRlZENvbXBvc2l0ZWRCbGVuZGluZ0Rl
c2NlbmRhbnRzKCkgJiYgIWxheWVyLmlzb2xhdGVzQ29tcG9zaXRlZEJsZW5kaW5nKCkpKQorICAg
ICAgICBjb21wb3NpdGluZ1N0YXRlLm1faGFzVW5pc29sYXRlZENvbXBvc2l0ZWRCbGVuZGluZ0Rl
c2NlbmRhbnRzID0gdHJ1ZTsKKyNlbmRpZgorCiAgICAgaWYgKG92ZXJsYXBNYXAgJiYgY2hpbGRT
dGF0ZS5tX2NvbXBvc2l0aW5nQW5jZXN0b3IgPT0gJmxheWVyICYmICFsYXllci5pc1Jvb3RMYXll
cigpKQogICAgICAgICBvdmVybGFwTWFwLT5wb3BDb21wb3NpdGluZ0NvbnRhaW5lcigpOwogCkBA
IC0yMTEzLDggKzIxMjQsMTAgQEAgQ29tcG9zaXRpbmdSZWFzb25zIFJlbmRlckxheWVyQ29tcG9z
aXRvcjo6cmVhc29uc0ZvckNvbXBvc2l0aW5nKGNvbnN0IFJlbmRlckxheWUKICAgICAgICAgaWYg
KHJlbmRlcmVyLT5oYXNGaWx0ZXIoKSkKICAgICAgICAgICAgIHJlYXNvbnMgfD0gQ29tcG9zaXRp
bmdSZWFzb25GaWx0ZXJXaXRoQ29tcG9zaXRlZERlc2NlbmRhbnRzOwogCi0gICAgICAgIGlmIChy
ZW5kZXJlci0+aGFzQmxlbmRNb2RlKCkpCisjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKKyAg
ICAgICAgaWYgKGxheWVyLmlzb2xhdGVzQ29tcG9zaXRlZEJsZW5kaW5nKCkpCiAgICAgICAgICAg
ICByZWFzb25zIHw9IENvbXBvc2l0aW5nUmVhc29uQmxlbmRpbmdXaXRoQ29tcG9zaXRlZERlc2Nl
bmRhbnRzOworI2VuZGlmCiAKICAgICB9IGVsc2UgaWYgKHJlbmRlcmVyLT5sYXllcigpLT5pbmRp
cmVjdENvbXBvc2l0aW5nUmVhc29uKCkgPT0gUmVuZGVyTGF5ZXI6OkluZGlyZWN0Q29tcG9zaXRp
bmdGb3JQZXJzcGVjdGl2ZSkKICAgICAgICAgcmVhc29ucyB8PSBDb21wb3NpdGluZ1JlYXNvblBl
cnNwZWN0aXZlOwpAQCAtMjM3OCwxMyArMjM5MSwxMyBAQCBib29sIFJlbmRlckxheWVyQ29tcG9z
aXRvcjo6cmVxdWlyZXNDb21wb3NpdGluZ0ZvckFuaW1hdGlvbihSZW5kZXJMYXllck1vZGVsT2Jq
ZQogICAgICAgICAgICAgfHwgYW5pbUNvbnRyb2xsZXIuaXNSdW5uaW5nQW5pbWF0aW9uT25SZW5k
ZXJlcigmcmVuZGVyZXIsIENTU1Byb3BlcnR5V2Via2l0VHJhbnNmb3JtLCBhY3RpdmVBbmltYXRp
b25TdGF0ZSk7CiB9CiAKLWJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBv
c2l0aW5nRm9ySW5kaXJlY3RSZWFzb24oUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCYgcmVuZGVyZXIs
IGJvb2wgaGFzQ29tcG9zaXRlZERlc2NlbmRhbnRzLCBib29sIGhhc0JsZW5kZWREZXNjZW5kYW50
cywgYm9vbCBoYXMzRFRyYW5zZm9ybWVkRGVzY2VuZGFudHMsIFJlbmRlckxheWVyOjpJbmRpcmVj
dENvbXBvc2l0aW5nUmVhc29uJiByZWFzb24pIGNvbnN0Citib29sIFJlbmRlckxheWVyQ29tcG9z
aXRvcjo6cmVxdWlyZXNDb21wb3NpdGluZ0ZvckluZGlyZWN0UmVhc29uKFJlbmRlckxheWVyTW9k
ZWxPYmplY3QmIHJlbmRlcmVyLCBib29sIGhhc0NvbXBvc2l0ZWREZXNjZW5kYW50cywgYm9vbCBo
YXMzRFRyYW5zZm9ybWVkRGVzY2VuZGFudHMsIFJlbmRlckxheWVyOjpJbmRpcmVjdENvbXBvc2l0
aW5nUmVhc29uJiByZWFzb24pIGNvbnN0CiB7CiAgICAgUmVuZGVyTGF5ZXImIGxheWVyID0gKnRv
UmVuZGVyQm94TW9kZWxPYmplY3QocmVuZGVyZXIpLmxheWVyKCk7CiAKICAgICAvLyBXaGVuIGEg
bGF5ZXIgaGFzIGNvbXBvc2l0ZWQgZGVzY2VuZGFudHMsIHNvbWUgZWZmZWN0cywgbGlrZSAyZCB0
cmFuc2Zvcm1zLCBmaWx0ZXJzLCBtYXNrcyBldGMgbXVzdCBiZSBpbXBsZW1lbnRlZAogICAgIC8v
IHZpYSBjb21wb3NpdGluZyBzbyB0aGF0IHRoZXkgYWxzbyBhcHBseSB0byB0aG9zZSBjb21wb3Np
dGVkIGRlc2NlbmRhbnRzLgotICAgIGlmIChoYXNDb21wb3NpdGVkRGVzY2VuZGFudHMgJiYgKGhh
c0JsZW5kZWREZXNjZW5kYW50cyB8fCBsYXllci50cmFuc2Zvcm0oKSB8fCByZW5kZXJlci5jcmVh
dGVzR3JvdXAoKSB8fCByZW5kZXJlci5oYXNSZWZsZWN0aW9uKCkgfHwgcmVuZGVyZXIuaXNSZW5k
ZXJOYW1lZEZsb3dGcmFnbWVudENvbnRhaW5lcigpKSkgeworICAgIGlmIChoYXNDb21wb3NpdGVk
RGVzY2VuZGFudHMgJiYgKGxheWVyLmlzb2xhdGVzQ29tcG9zaXRlZEJsZW5kaW5nKCkgfHwgbGF5
ZXIudHJhbnNmb3JtKCkgfHwgcmVuZGVyZXIuY3JlYXRlc0dyb3VwKCkgfHwgcmVuZGVyZXIuaGFz
UmVmbGVjdGlvbigpIHx8IHJlbmRlcmVyLmlzUmVuZGVyTmFtZWRGbG93RnJhZ21lbnRDb250YWlu
ZXIoKSkpIHsKICAgICAgICAgcmVhc29uID0gUmVuZGVyTGF5ZXI6OkluZGlyZWN0Q29tcG9zaXRp
bmdGb3JHcmFwaGljYWxFZmZlY3Q7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAppbmRleCBj
MjA4YjgxYmYwMzA3OGYxM2E4YzVjNGNiN2M1NjQ5ZmJiZWU4OGIxLi40ODM3OTI3MDMwYWY3NjQ0
YmRlYTNjMGYyZTVmODdmNDE1ZDgxMjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCkBAIC0zOTQsNyArMzk0LDcgQEAgcHJpdmF0ZToK
ICAgICBib29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JTY3JvbGxhYmxlRnJhbWUoKSBjb25zdDsK
ICAgICBib29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbihSZW5kZXJMYXllck1vZGVs
T2JqZWN0JiwgY29uc3QgUmVuZGVyTGF5ZXImLCBSZW5kZXJMYXllcjo6Vmlld3BvcnRDb25zdHJh
aW5lZE5vdENvbXBvc2l0ZWRSZWFzb24qID0gMCkgY29uc3Q7CiAgICAgYm9vbCByZXF1aXJlc0Nv
bXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGxpbmcoY29uc3QgUmVuZGVyTGF5ZXImKSBjb25zdDsK
LSAgICBib29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JJbmRpcmVjdFJlYXNvbihSZW5kZXJMYXll
ck1vZGVsT2JqZWN0JiwgYm9vbCBoYXNDb21wb3NpdGVkRGVzY2VuZGFudHMsIGJvb2wgaGFzQmxl
bmRlZERlc2NlbmRhbnRzLCBib29sIGhhczNEVHJhbnNmb3JtZWREZXNjZW5kYW50cywgUmVuZGVy
TGF5ZXI6OkluZGlyZWN0Q29tcG9zaXRpbmdSZWFzb24mKSBjb25zdDsKKyAgICBib29sIHJlcXVp
cmVzQ29tcG9zaXRpbmdGb3JJbmRpcmVjdFJlYXNvbihSZW5kZXJMYXllck1vZGVsT2JqZWN0Jiwg
Ym9vbCBoYXNDb21wb3NpdGVkRGVzY2VuZGFudHMsIGJvb2wgaGFzM0RUcmFuc2Zvcm1lZERlc2Nl
bmRhbnRzLCBSZW5kZXJMYXllcjo6SW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbiYpIGNvbnN0Owog
CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0ZvclNjcm9s
bGluZyhjb25zdCBSZW5kZXJMYXllciYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQ3ZTlkNjU1OWJlYmE1YWJh
MDExNzUxMTM0ZjIzNjc3NWU5NzI0MmMuLmYwN2IwN2FjZWJkMjBmYmU2ZGNmMmQ4ZTgwZjQ3YzBm
NDU2NDdmZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNC0wMy0zMSAgSW9uIFJvc2NhICA8
cm9zY2FAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgQmxlbmRpbmddIENvbXBvc2l0aW5nIHJl
cXVpcmVtZW50cyBmb3IgYmxlbmRpbmcgYXJlIG5vdCBjb21wdXRlZCBjb3JyZWN0bHkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMDY2NAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY3NzMy9jb21wb3Np
dGluZy9ibGVuZC1tb2RlLWFjY2VsZXJhdGVkLXdpdGgtbXVsdGlwbGUtc3RhY2tpbmctY29udGV4
dHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NvbXBvc2l0aW5nL2JsZW5k
LW1vZGUtYWNjZWxlcmF0ZWQtd2l0aC1tdWx0aXBsZS1zdGFja2luZy1jb250ZXh0cy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBjc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtd2l0aC1hY2NlbGVy
YXRlZC1zaWJsaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jb21wb3Np
dGluZy9ibGVuZC1tb2RlLXdpdGgtYWNjZWxlcmF0ZWQtc2libGluZy5odG1sOiBBZGRlZC4KKwog
MjAxNC0wMy0zMSAgQW5kcmVpIEJ1Y3VyICA8YWJ1Y3VyQGFkb2JlLmNvbT4KIAogICAgICAgICBX
cm9uZyBsYXlvdXQgd2hpbGUgYW5pbWF0aW5nIGNvbnRlbnQgaW4gcmVnaW9ucwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2RlLWFjY2VsZXJhdGVkLXdp
dGgtbXVsdGlwbGUtc3RhY2tpbmctY29udGV4dHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
Y3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2RlLWFjY2VsZXJhdGVkLXdpdGgtbXVsdGlwbGUtc3Rh
Y2tpbmctY29udGV4dHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlmMTk0NzVhZmJmOWI1ZmQ2
N2U0MDcxZDA1ZDA5Njk5MTYyNTkzZGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
c3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtYWNjZWxlcmF0ZWQtd2l0aC1tdWx0aXBsZS1zdGFj
a2luZy1jb250ZXh0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorKEdyYXBoaWNzTGF5
ZXIKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGlj
c0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY29udGVudHNPcGFx
dWUgMSkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAg
ICAgKHBvc2l0aW9uIDguMDAgOC4wMCkKKyAgICAgICAgICAoYm91bmRzIDc4NC4wMCAxMC4wMCkK
KyAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAg
ICAgICAgICAgKGJvdW5kcyAxMC4wMCAxMC4wMCkKKyAgICAgICAgICAgICAgKGJsZW5kTW9kZSBt
dWx0aXBseSkKKyAgICAgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAgICAgICAp
CisgICAgICAgICAgKQorICAgICAgICApCisgICAgICApCisgICAgKQorICApCispCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NzczMvY29tcG9zaXRpbmcvYmxlbmQtbW9kZS1hY2NlbGVyYXRl
ZC13aXRoLW11bHRpcGxlLXN0YWNraW5nLWNvbnRleHRzLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3Mz
L2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtYWNjZWxlcmF0ZWQtd2l0aC1tdWx0aXBsZS1zdGFja2lu
Zy1jb250ZXh0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE3YjU2NzNlNTAzM2QyNGQ2OTJlMTZjMTIwOGE3
MWViMWJkMTE4ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NvbXBvc2l0
aW5nL2JsZW5kLW1vZGUtYWNjZWxlcmF0ZWQtd2l0aC1tdWx0aXBsZS1zdGFja2luZy1jb250ZXh0
cy5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBIVE1MPgorPCEtLSBUaGlzIHRlc3Qg
d2lsbCBjaGVjayB0aGF0IG9ubHkgdGhlIGRpcmVjdCBwYXJlbnQgb2YgYmxlbmRpbmcgZWxlbWVu
dCBnZXRzIGFjY2VsZXJhdGVkIC0tPgorPHN0eWxlPgorICAgIC5hY2NlbGVyYXRlZCB7CisgICAg
ICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpOworICAgIH0KKyAgICAuYmxlbmRl
ZCB7CisgICAgICAgIC13ZWJraXQtbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5OworICAgIH0KKyAg
ICAuY2hpbGQgeworICAgICAgICB3aWR0aDogMTBweDsKKyAgICAgICAgaGVpZ2h0OiAxMHB4Owor
ICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICB9CisgICAgLnBhcmVudCB7Cisg
ICAgICAgIC13ZWJraXQtaXNvbGF0aW9uOiBpc29sYXRlOworICAgIH0KKzwvc3R5bGU+CisKKzxk
aXYgY2xhc3M9InBhcmVudCI+CisgICAgPGRpdiBjbGFzcz0icGFyZW50Ij4KKyAgICAgICAgPGRp
diBjbGFzcz0iYWNjZWxlcmF0ZWQgYmxlbmRlZCBjaGlsZCI+PC9kaXY+CisgICAgPC9kaXY+Cis8
L2Rpdj4KKzxwcmUgaWQ9ImxheWVyVHJlZSI+PC9wcmU+Cis8c2NyaXB0PgorICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwor
CisgICAgdmFyIHRleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGF5ZXJUcmVlIik7Cisg
ICAgdGV4dC5pbm5lckhUTUwgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1
bWVudCk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY29tcG9zaXRp
bmcvYmxlbmQtbW9kZS13aXRoLWFjY2VsZXJhdGVkLXNpYmxpbmctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvY3NzMy9jb21wb3NpdGluZy9ibGVuZC1tb2RlLXdpdGgtYWNjZWxlcmF0ZWQtc2li
bGluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWRjMGRiODk2ZGM1MzczNWFiYjdkYzRmNmE0
YzI4MzRmN2Y0YTQ3YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY29tcG9z
aXRpbmcvYmxlbmQtbW9kZS13aXRoLWFjY2VsZXJhdGVkLXNpYmxpbmctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTcgQEAKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkK
KyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAg
NjAwLjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAoY2hpbGRyZW4gMQorICAg
ICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiA4LjAwIDguMDApCisgICAg
ICAgICAgKGJvdW5kcyAxMC4wMCAxMC4wMCkKKyAgICAgICAgICAoY29udGVudHNPcGFxdWUgMSkK
KyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtd2l0aC1hY2NlbGVyYXRlZC1zaWJsaW5n
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NvbXBvc2l0aW5nL2JsZW5kLW1vZGUtd2l0aC1hY2Nl
bGVyYXRlZC1zaWJsaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjliMTQ1MDcxOTgyZmQ5MDk0MDI3YjE5
OGRkODRkNDc5ZWZmYjU2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY29t
cG9zaXRpbmcvYmxlbmQtbW9kZS13aXRoLWFjY2VsZXJhdGVkLXNpYmxpbmcuaHRtbApAQCAtMCww
ICsxLDMxIEBACis8IURPQ1RZUEUgSFRNTD4KKzwhLS0gVGhpcyB0ZXN0IHdpbGwgY2hlY2sgdGhh
dCBwYXJlbnQgaXMgbm90IGFjY2VsZXJhdGVkIHdoZW4gaXQgaGFzIG5vbi1hY2NlbGVyYXRlZCBi
bGVuZGVkIGNoaWxkcmVuIC0tPgorPHN0eWxlPgorICAgIC5hY2NlbGVyYXRlZCB7CisgICAgICAg
IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpOworICAgIH0KKyAgICAuYmxlbmRlZCB7
CisgICAgICAgIC13ZWJraXQtbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5OworICAgIH0KKyAgICAu
Y2hpbGQgeworICAgICAgICB3aWR0aDogMTBweDsKKyAgICAgICAgaGVpZ2h0OiAxMHB4OworICAg
ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICB9CisgICAgLnBhcmVudCB7CisgICAg
ICAgIC13ZWJraXQtaXNvbGF0aW9uOiBpc29sYXRlOworICAgIH0KKzwvc3R5bGU+CisKKzxkaXYg
Y2xhc3M9InBhcmVudCI+CisgICAgPGRpdiBjbGFzcz0iYWNjZWxlcmF0ZWQgY2hpbGQiPjwvZGl2
PgorICAgIDxkaXYgY2xhc3M9ImJsZW5kZWQgY2hpbGQiPjwvZGl2PgorPC9kaXY+Cis8cHJlIGlk
PSJsYXllclRyZWUiPjwvcHJlPgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworICAgIHZhciB0ZXh0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxheWVyVHJlZSIpOworICAgIHRleHQuaW5uZXJI
VE1MID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOworPC9zY3Jp
cHQ+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>