<?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>128262</bug_id>
          
          <creation_ts>2014-02-05 11:04:11 -0800</creation_ts>
          <short_desc>Update aspect-ratio property to have constraining keywords</short_desc>
          <delta_ts>2014-02-10 17:17:16 -0800</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>InRadar, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eoconnor</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>syoichi</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>976899</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-02-05 11:04:11 -0800</bug_when>
    <thetext>Add a new prefixed property which will suggest to the layout engine whether they should respect the intrinsic size of an image, or the specified size, when sizing its object box. The default is &quot;auto&quot; which is the current behaviour.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976903</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-02-05 11:04:48 -0800</bug_when>
    <thetext>&lt;rdar://problem/15991746&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977003</commentid>
    <comment_count>2</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-02-05 11:24:12 -0800</bug_when>
    <thetext>&quot;Spec&quot; and discussion at http://www.w3.org/mid/m2r47n3h9i.fsf@eoconnor.apple.com</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977013</commentid>
    <comment_count>3</comment_count>
      <attachid>223251</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-02-05 11:33:26 -0800</bug_when>
    <thetext>Created attachment 223251
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977121</commentid>
    <comment_count>4</comment_count>
      <attachid>223251</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-02-05 16:11:49 -0800</bug_when>
    <thetext>Comment on attachment 223251
Patch

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

This looks good to me, but I noticed a textual difference between ObjectSizingPreserveSpecified and CSSValuePreferSpecified. Are these equivalent?

&gt; Source/WebCore/rendering/style/RenderStyleConstants.h:218
&gt; +    ObjectSizingAuto, ObjectSizingPreserveIntrinsic, ObjectSizingPreserveSpecified

Does CSSValuePreferSpecified === ObjectSizingPreserveSpecified?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977144</commentid>
    <comment_count>5</comment_count>
      <attachid>223251</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-02-05 16:54:03 -0800</bug_when>
    <thetext>Comment on attachment 223251
Patch

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

&gt;&gt; Source/WebCore/rendering/style/RenderStyleConstants.h:218
&gt;&gt; +    ObjectSizingAuto, ObjectSizingPreserveIntrinsic, ObjectSizingPreserveSpecified
&gt; 
&gt; Does CSSValuePreferSpecified === ObjectSizingPreserveSpecified?

Oh, I totally screwed up here. I actually made this same mistake a number of times while developing - typing &quot;Preserve&quot; when I meant &quot;Prefer&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977437</commentid>
    <comment_count>6</comment_count>
    <who name="Theresa O&apos;Connor">eoconnor</who>
    <bug_when>2014-02-06 11:07:27 -0800</bug_when>
    <thetext>Maybe that&apos;s an indication that &quot;preserve&quot; is a better name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977861</commentid>
    <comment_count>7</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-02-07 10:06:29 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Maybe that&apos;s an indication that &quot;preserve&quot; is a better name.

If we change the property name to &quot;aspect-ratio&quot; then I guess &quot;preserve&quot; makes more sense. I really don&apos;t mind either way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977862</commentid>
    <comment_count>8</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-02-07 10:06:53 -0800</bug_when>
    <thetext>BTW - we&apos;re holding off on review until we have more of the implementation done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978062</commentid>
    <comment_count>9</comment_count>
    <who name="Theresa O&apos;Connor">eoconnor</who>
    <bug_when>2014-02-07 14:29:30 -0800</bug_when>
    <thetext>Per discussion on www-style I think &quot;aspect-ratio&quot; will be the name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978677</commentid>
    <comment_count>10</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-02-09 17:18:53 -0800</bug_when>
    <thetext>Yes, updating title. We already have partial support for aspect-ratio, but it needs to understand keywords rather than just numbers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978684</commentid>
    <comment_count>11</comment_count>
      <attachid>223661</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-02-09 18:27:30 -0800</bug_when>
    <thetext>Created attachment 223661
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979155</commentid>
    <comment_count>12</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-02-10 17:17:16 -0800</bug_when>
    <thetext>Committed r163840: &lt;http://trac.webkit.org/changeset/163840&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223251</attachid>
            <date>2014-02-05 11:33:26 -0800</date>
            <delta_ts>2014-02-09 18:27:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128262-20140205113326.patch</filename>
            <type>text/plain</type>
            <size>22592</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzNDYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODdlZjA1YTcwOTc2OWIw
ZGExMDFhYWJjOTlkMWY4MWYzMmMyYjU4My4uNWVhNTQ3ZTdlNmNkYTY4ZDJiNmQ5NDlkOTEzYTZl
OTE0NzFmOGFkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDE0LTAyLTA1ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgLXdlYmtpdC1vYmplY3Qt
c2l6aW5nIHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjgyNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGlzIGlzIHRoZSBmaXJzdCBzdGVwIHRvd2FyZHMgYSBuZXcgcHJvcGVydHkgdGhh
dAorICAgICAgICBhbGxvd3MgdGhlIGF1dGhvciB0byBzdWdnZXN0IHdoaWNoIGRpbWVuc2lvbnMg
YXJlIHRoZQorICAgICAgICBtb3N0IGltcG9ydGFudCB3aGVuIHNpemluZyBhIHJlcGxhY2VkIGVs
ZW1lbnQuCisKKyAgICAgICAgU2VlIHRoZSBkZXNjcmlwdGlvbiBhbmQgZGlzY3Vzc2lvbiBzdGFy
dGluZyBoZXJlOgorICAgICAgICBodHRwOi8vbGlzdHMudzMub3JnL0FyY2hpdmVzL1B1YmxpYy93
d3ctc3R5bGUvMjAxNEphbi8wNjM1Lmh0bWwKKworICAgICAgICBUZXN0czogZmFzdC9jc3Mtb2Jq
ZWN0LXNpemluZy9vYmplY3Qtc2l6aW5nLWNvbXB1dGVkLXN0eWxlLmh0bWwKKyAgICAgICAgICAg
ICAgIGZhc3QvY3NzLW9iamVjdC1zaXppbmcvb2JqZWN0LXNpemluZy1wYXJzaW5nLmh0bWwKKwor
ICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6cHJvcGVydHlWYWx1ZSk6IEhhbmRsZSBD
U1NQcm9wZXJ0eVdlYmtpdE9iamVjdFNpemluZy4KKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNWYWxpZEtleXdvcmRQcm9wZXJ0eUFuZFZhbHVlKTog
Q2hlY2sgZm9yIHRoZSB0aHJlZSBhbGxvd2VkIHZhbHVlcy4KKyAgICAgICAgKFdlYkNvcmU6Omlz
S2V5d29yZFByb3BlcnR5SUQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZh
bHVlKToKKworICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6IE1hcHBp
bmcgYmV0d2VlbiB0aGUgQ1NTIGFuZCB0aGUgT2JqZWN0U2l6aW5nIGVudW0uCisgICAgICAgIChX
ZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIE9iamVjdFNpemluZyk6CisgICAg
ICAgICogY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW46IEFkZCAtd2Via2l0LW9iamVjdC1zaXppbmcu
CisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46IEFkZCBwcmVmZXItaW50cmluc2lj
IGFuZCBwcmVmZXItc3BlY2lmaWVkLgorCisgICAgICAgICogY3NzL0RlcHJlY2F0ZWRTdHlsZUJ1
aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGVwcmVjYXRlZFN0eWxlQnVpbGRlcjo6RGVw
cmVjYXRlZFN0eWxlQnVpbGRlcik6IEFkZCBwcm9wZXJ0eSBoYW5kbGVyLgorCisgICAgICAgICog
Y3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6
YXBwbHlQcm9wZXJ0eSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6
IEV4cG9zZSBvYmplY3RTaXppbmcuCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlQ29uc3RhbnRzLmg6IE5ldyBPYmplY3RTaXppbmcgZW51bS4KKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKToK
KyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0p
OgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmg6
IEFuZCBoZXJlIGlzIHdoZXJlIHRoZSBzdHlsZQorICAgICAgICB2YWx1ZSBsaXZlcy4KKwogMjAx
NC0wMi0wNSAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVt
b3ZlIGxlZnRvdmVyIHNlYW1sZXNzIGlmcmFtZSBsb2dpYyBmcm9tIGNvbnRhaW5lckZvclJlcGFp
bnQoKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5jcHAKaW5kZXggNGRjMzVjZmU5OWMzMzNkNWIyN2YxY2M4NzExMzkyYjllYmIwNDA5Yy4u
OGU2MzRkZDExNDdhODgyZmY1NGY1OTE4Yjg1YjMyMTc4MWNlYTMwNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTI2NDQs
NiArMjY0NCw4IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6
OnByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0CiAgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRUb3VjaENhbGxvdXQ6CiAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29s
KCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKHN0eWxlLT50b3VjaENhbGxvdXRFbmFibGVkKCkgPyBD
U1NWYWx1ZURlZmF1bHQgOiBDU1NWYWx1ZU5vbmUpOwogI2VuZGlmCisgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlXZWJraXRPYmplY3RTaXppbmc6CisgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQ
b29sKCkuY3JlYXRlVmFsdWUoc3R5bGUtPm9iamVjdFNpemluZygpKTsKICAgICAgICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdFVzZXJEcmFnOgogICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9v
bCgpLmNyZWF0ZVZhbHVlKHN0eWxlLT51c2VyRHJhZygpKTsKICAgICAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVdlYmtpdFVzZXJTZWxlY3Q6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IDM5YWEw
MzM2MDFmNTY4NTM3NDU0NmM1MjRkZjE2NjJlNWNlZjFlOTQuLmY1MmU1NzQ2MTE1ZWIwMTdkNWU0
YjliMjI3ZDU2MWJhZmYyZWViMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC05MjQs
NiArOTI0LDEwIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1ZhbGlkS2V5d29yZFByb3BlcnR5QW5k
VmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlkLCBpbnQKICAgICAgICAgaWYgKHZhbHVlSUQg
PT0gQ1NTVmFsdWVOb3JtYWwgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZVNwYWNlKQogICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRPYmplY3RTaXppbmc6CisgICAgICAgIGlmICh2YWx1ZUlEID09IENTU1ZhbHVlQXV0byB8fCB2
YWx1ZUlEID09IENTU1ZhbHVlUHJlZmVySW50cmluc2ljIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVQ
cmVmZXJTcGVjaWZpZWQpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgYnJlYWs7
CiAjaWYgRU5BQkxFKEFDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykKICAgICBjYXNlIENT
U1Byb3BlcnR5V2Via2l0T3ZlcmZsb3dTY3JvbGxpbmc6CiAgICAgICAgIGlmICh2YWx1ZUlEID09
IENTU1ZhbHVlQXV0byB8fCB2YWx1ZUlEID09IENTU1ZhbHVlVG91Y2gpCkBAIC0xMTIzLDYgKzEx
MjcsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNLZXl3b3JkUHJvcGVydHlJRChDU1NQcm9wZXJ0
eUlEIHByb3BlcnR5SWQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE1hcnF1ZWVEaXJlY3Rp
b246CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE1hcnF1ZWVTdHlsZToKICAgICBjYXNlIENT
U1Byb3BlcnR5V2Via2l0TmJzcE1vZGU6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE9iamVj
dFNpemluZzoKICNpZiBFTkFCTEUoQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKQogICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRPdmVyZmxvd1Njcm9sbGluZzoKICNlbmRpZgpAQCAtMzAw
Myw2ICszMDA4LDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBw
cm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXJxdWVl
RGlyZWN0aW9uOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXJxdWVlU3R5bGU6CiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE5ic3BNb2RlOgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRPYmplY3RTaXppbmc6CiAjaWYgRU5BQkxFKEFDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RykKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0T3ZlcmZsb3dTY3JvbGxpbmc6CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdz
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCmluZGV4
IDFkMDdiYTMwZWJmNzE0MzdlN2RlOWQ3NDMyNmM1MGFjN2NiMGIyZjUuLjlmYjU1NTY1YmZiZDhj
NWVhZmVjMmQ4YjJmOGQxNjQ4Yjk0NTBkZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtMzYxMCw2ICszNjEwLDQwIEBAIHRlbXBsYXRl
PD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBPYmplY3RGaXQoKSBjb25zdAog
ICAgIH0KIH0KIAordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1p
dGl2ZVZhbHVlKE9iamVjdFNpemluZyBzaXppbmcpCisgICAgOiBDU1NWYWx1ZShQcmltaXRpdmVD
bGFzcykKK3sKKyAgICBtX3ByaW1pdGl2ZVVuaXRUeXBlID0gQ1NTX1ZBTFVFX0lEOworICAgIHN3
aXRjaCAoc2l6aW5nKSB7CisgICAgY2FzZSBPYmplY3RTaXppbmdBdXRvOgorICAgICAgICBtX3Zh
bHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUF1dG87CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgT2Jq
ZWN0U2l6aW5nUHJlc2VydmVJbnRyaW5zaWM6CisgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENT
U1ZhbHVlUHJlZmVySW50cmluc2ljOworICAgICAgICBicmVhazsKKyAgICBjYXNlIE9iamVjdFNp
emluZ1ByZXNlcnZlU3BlY2lmaWVkOgorICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1
ZVByZWZlclNwZWNpZmllZDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorfQorCit0ZW1wbGF0ZTw+
IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgT2JqZWN0U2l6aW5nKCkgY29uc3QK
K3sKKyAgICBBU1NFUlQoaXNWYWx1ZUlEKCkpOworCisgICAgc3dpdGNoIChtX3ZhbHVlLnZhbHVl
SUQpIHsKKyAgICBjYXNlIENTU1ZhbHVlQXV0bzoKKyAgICAgICAgcmV0dXJuIE9iamVjdFNpemlu
Z0F1dG87CisgICAgY2FzZSBDU1NWYWx1ZVByZWZlckludHJpbnNpYzoKKyAgICAgICAgcmV0dXJu
IE9iamVjdFNpemluZ1ByZXNlcnZlSW50cmluc2ljOworICAgIGNhc2UgQ1NTVmFsdWVQcmVmZXJT
cGVjaWZpZWQ6CisgICAgICAgIHJldHVybiBPYmplY3RTaXppbmdQcmVzZXJ2ZVNwZWNpZmllZDsK
KyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0
dXJuIE9iamVjdFNpemluZ0F1dG87CisgICAgfQorfQorCiB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoRm9udFNtb290aGluZ01vZGUgc21vb3Ro
aW5nKQogICAgIDogQ1NTVmFsdWUoUHJpbWl0aXZlQ2xhc3MpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4IDQwY2JjMDg0NzcwMDBkMzdjNjI2Zjk4MzAwNTg2YjIw
NTZjZTUyMWMuLjlmZGVlODcwOTEzODNkMDE5YTcxNTMyN2Y1ODQ0OGQ1YTk5NDNlNWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBAIC0zNjYsNiArMzY2LDcgQEAgei1p
bmRleAogLXdlYmtpdC1taW4tbG9naWNhbC13aWR0aAogLXdlYmtpdC1taW4tbG9naWNhbC1oZWln
aHQKIC13ZWJraXQtbmJzcC1tb2RlIFtJbmhlcml0ZWRdCistd2Via2l0LW9iamVjdC1zaXppbmcK
IC13ZWJraXQtb3JkZXIKIC13ZWJraXQtcGFkZGluZy1hZnRlcgogLXdlYmtpdC1wYWRkaW5nLWJl
Zm9yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4g
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCAyMGViZmEyZDVh
OTU2N2Y4NmExYmUyZTgyNTc4Y2ZhYWYzYmE2N2FiLi4xMDAwMDlhMmZiNTM2NTRkMzViMzI0NTk5
N2M2NjJiZjhjZDAzYWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVL
ZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpA
QCAtMTA1MSwzICsxMDUxLDcgQEAgc3BhbgogCiAvLyAtd2Via2l0LWNvbHVtbi1maWxsCiBiYWxh
bmNlCisKKy8vIC13ZWJraXQtb2JqZWN0LXNpemluZworcHJlZmVyLWludHJpbnNpYworcHJlZmVy
LXNwZWNpZmllZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRTdHls
ZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIu
Y3BwCmluZGV4IGI5MGQ4OGFiMjcxM2JiZWJmMmQxYjU4ZjVhZjc3ODAyZTk3Zjk1YzEuLjJkMjQ2
NzJhMjdhZDZlMjhlODJjYTMzMzIwOTFmMjYxODM3NTY4OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9EZXByZWNhdGVkU3R5bGVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHAKQEAgLTI1NTgsNiArMjU1OCw3IEBAIERl
cHJlY2F0ZWRTdHlsZUJ1aWxkZXI6OkRlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIoKQogICAgIHNldFBy
b3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdE1hc2tTaXplLCBBcHBseVByb3BlcnR5Rmls
bExheWVyPEZpbGxTaXplLCBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tTaXplLCBNYXNrRmlsbExheWVy
LCAmUmVuZGVyU3R5bGU6OmFjY2Vzc01hc2tMYXllcnMsICZSZW5kZXJTdHlsZTo6bWFza0xheWVy
cywgJkZpbGxMYXllcjo6aXNTaXplU2V0LCAmRmlsbExheWVyOjpzaXplLCAmRmlsbExheWVyOjpz
ZXRTaXplLCAmRmlsbExheWVyOjpjbGVhclNpemUsICZGaWxsTGF5ZXI6OmluaXRpYWxGaWxsU2l6
ZSwgJkNTU1RvU3R5bGVNYXA6Om1hcEZpbGxTaXplPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBz
ZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRNYXNrU291cmNlVHlwZSwgQXBwbHlQ
cm9wZXJ0eUZpbGxMYXllcjxFTWFza1NvdXJjZVR5cGUsIENTU1Byb3BlcnR5V2Via2l0TWFza1Nv
dXJjZVR5cGUsIE1hc2tGaWxsTGF5ZXIsICZSZW5kZXJTdHlsZTo6YWNjZXNzTWFza0xheWVycywg
JlJlbmRlclN0eWxlOjptYXNrTGF5ZXJzLCAmRmlsbExheWVyOjppc01hc2tTb3VyY2VUeXBlU2V0
LCAmRmlsbExheWVyOjptYXNrU291cmNlVHlwZSwgJkZpbGxMYXllcjo6c2V0TWFza1NvdXJjZVR5
cGUsICZGaWxsTGF5ZXI6OmNsZWFyTWFza1NvdXJjZVR5cGUsICZGaWxsTGF5ZXI6OmluaXRpYWxN
YXNrU291cmNlVHlwZSwgJkNTU1RvU3R5bGVNYXA6Om1hcEZpbGxNYXNrU291cmNlVHlwZT46OmNy
ZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0
TmJzcE1vZGUsIEFwcGx5UHJvcGVydHlEZWZhdWx0PEVOQlNQTW9kZSwgJlJlbmRlclN0eWxlOjpu
YnNwTW9kZSwgRU5CU1BNb2RlLCAmUmVuZGVyU3R5bGU6OnNldE5CU1BNb2RlLCBFTkJTUE1vZGUs
ICZSZW5kZXJTdHlsZTo6aW5pdGlhbE5CU1BNb2RlPjo6Y3JlYXRlSGFuZGxlcigpKTsKKyAgICBz
ZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRPYmplY3RTaXppbmcsIEFwcGx5UHJv
cGVydHlEZWZhdWx0PE9iamVjdFNpemluZywgJlJlbmRlclN0eWxlOjpvYmplY3RTaXppbmcsIE9i
amVjdFNpemluZywgJlJlbmRlclN0eWxlOjpzZXRPYmplY3RTaXppbmcsIE9iamVjdFNpemluZywg
JlJlbmRlclN0eWxlOjppbml0aWFsT2JqZWN0U2l6aW5nPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAg
ICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRQZXJzcGVjdGl2ZU9yaWdpbiwg
QXBwbHlQcm9wZXJ0eUV4cGFuZGluZzxTdXBwcmVzc1ZhbHVlLCBDU1NQcm9wZXJ0eVdlYmtpdFBl
cnNwZWN0aXZlT3JpZ2luWCwgQ1NTUHJvcGVydHlXZWJraXRQZXJzcGVjdGl2ZU9yaWdpblk+Ojpj
cmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtp
dFBlcnNwZWN0aXZlT3JpZ2luWCwgQXBwbHlQcm9wZXJ0eUxlbmd0aDwmUmVuZGVyU3R5bGU6OnBl
cnNwZWN0aXZlT3JpZ2luWCwgJlJlbmRlclN0eWxlOjpzZXRQZXJzcGVjdGl2ZU9yaWdpblgsICZS
ZW5kZXJTdHlsZTo6aW5pdGlhbFBlcnNwZWN0aXZlT3JpZ2luWD46OmNyZWF0ZUhhbmRsZXIoKSk7
CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0UGVyc3BlY3RpdmVPcmln
aW5ZLCBBcHBseVByb3BlcnR5TGVuZ3RoPCZSZW5kZXJTdHlsZTo6cGVyc3BlY3RpdmVPcmlnaW5Z
LCAmUmVuZGVyU3R5bGU6OnNldFBlcnNwZWN0aXZlT3JpZ2luWSwgJlJlbmRlclN0eWxlOjppbml0
aWFsUGVyc3BlY3RpdmVPcmlnaW5ZPjo6Y3JlYXRlSGFuZGxlcigpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmNwcAppbmRleCA3MTE4ZmI0ODFjN2RmYzQ0NzQ5MzA2Zjc1Y2Q0NjQ3MWJl
NjY2MWVlLi5hMGQwY2UyOGZiMzE0NjQ3NDI0NDc4YmFiZTg4NDc1ZDFmNzYzMmJhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0yOTY2LDYgKzI5NjYsNyBAQCB2b2lkIFN0
eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NTVmFsdWUqIHZh
bHVlKQogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXNrU2l6ZToKICAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0TWFza1NvdXJjZVR5cGU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE5i
c3BNb2RlOgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRPYmplY3RTaXppbmc6CiAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdlYmtpdFBlcnNwZWN0aXZlT3JpZ2luOgogICAgIGNhc2UgQ1NTUHJvcGVy
dHlXZWJraXRQZXJzcGVjdGl2ZU9yaWdpblg6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFBl
cnNwZWN0aXZlT3JpZ2luWToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmgKaW5kZXggNGE4OTJiNzQ4YjUwOGI3NTBjYjRjNTQzNWViMTg3NDY0NzUyODhlNS4u
OTg0NTBmN2ExOThmYjcwY2QyNTNlNTUzMDg1NjY4NDAxNGFjZjk5YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTg2NCw2ICs4NjQsNyBAQCBw
dWJsaWM6CiAgICAgVGV4dE9yaWVudGF0aW9uIHRleHRPcmllbnRhdGlvbigpIGNvbnN0IHsgcmV0
dXJuIHN0YXRpY19jYXN0PFRleHRPcmllbnRhdGlvbj4ocmFyZUluaGVyaXRlZERhdGEtPm1fdGV4
dE9yaWVudGF0aW9uKTsgfQogCiAgICAgT2JqZWN0Rml0IG9iamVjdEZpdCgpIGNvbnN0IHsgcmV0
dXJuIHN0YXRpY19jYXN0PE9iamVjdEZpdD4ocmFyZU5vbkluaGVyaXRlZERhdGEtPm1fb2JqZWN0
Rml0KTsgfQorICAgIE9iamVjdFNpemluZyBvYmplY3RTaXppbmcoKSBjb25zdCB7IHJldHVybiBz
dGF0aWNfY2FzdDxPYmplY3RTaXppbmc+KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX29iamVjdFNp
emluZyk7IH0KICAgICAKICAgICAvLyBSZXR1cm4gdHJ1ZSBpZiBhbnkgdHJhbnNmb3JtIHJlbGF0
ZWQgcHJvcGVydHkgKGN1cnJlbnRseSB0cmFuc2Zvcm0sIHRyYW5zZm9ybVN0eWxlM0Qgb3IgcGVy
c3BlY3RpdmUpIAogICAgIC8vIGluZGljYXRlcyB0aGF0IHdlIGFyZSB0cmFuc2Zvcm1pbmcKQEAg
LTEzNzksNiArMTM4MCw3IEBAIHB1YmxpYzoKICAgICBib29sIHNldFRleHRPcmllbnRhdGlvbihU
ZXh0T3JpZW50YXRpb24pOwogCiAgICAgdm9pZCBzZXRPYmplY3RGaXQoT2JqZWN0Rml0IGZpdCkg
eyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLCBtX29iamVjdEZpdCwgZml0KTsgfQorICAg
IHZvaWQgc2V0T2JqZWN0U2l6aW5nKE9iamVjdFNpemluZyBzaXppbmcpIHsgU0VUX1ZBUihyYXJl
Tm9uSW5oZXJpdGVkRGF0YSwgbV9vYmplY3RTaXppbmcsIHNpemluZyk7IH0KIAogICAgIHZvaWQg
c2V0UnVieVBvc2l0aW9uKFJ1YnlQb3NpdGlvbiBwb3NpdGlvbikgeyBTRVRfVkFSKHJhcmVJbmhl
cml0ZWREYXRhLCBtX3J1YnlQb3NpdGlvbiwgcG9zaXRpb24pOyB9CiAKQEAgLTE2MjIsNiArMTYy
NCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgVGV4dENvbWJpbmUgaW5pdGlhbFRleHRDb21iaW5l
KCkgeyByZXR1cm4gVGV4dENvbWJpbmVOb25lOyB9CiAgICAgc3RhdGljIFRleHRPcmllbnRhdGlv
biBpbml0aWFsVGV4dE9yaWVudGF0aW9uKCkgeyByZXR1cm4gVGV4dE9yaWVudGF0aW9uVmVydGlj
YWxSaWdodDsgfQogICAgIHN0YXRpYyBPYmplY3RGaXQgaW5pdGlhbE9iamVjdEZpdCgpIHsgcmV0
dXJuIE9iamVjdEZpdEZpbGw7IH0KKyAgICBzdGF0aWMgT2JqZWN0U2l6aW5nIGluaXRpYWxPYmpl
Y3RTaXppbmcoKSB7IHJldHVybiBPYmplY3RTaXppbmdBdXRvOyB9CiAgICAgc3RhdGljIEVEaXNw
bGF5IGluaXRpYWxEaXNwbGF5KCkgeyByZXR1cm4gSU5MSU5FOyB9CiAgICAgc3RhdGljIEVFbXB0
eUNlbGwgaW5pdGlhbEVtcHR5Q2VsbHMoKSB7IHJldHVybiBTSE9XOyB9CiAgICAgc3RhdGljIEVG
bG9hdCBpbml0aWFsRmxvYXRpbmcoKSB7IHJldHVybiBOb0Zsb2F0OyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCmluZGV4
IGZhNGFjMWM2Y2M1YjBiNGQ4ZjA0MTdhMWM2ZWQwYzI2NGJmYmUyYzkuLjY0NjdiNWFlZGI0ZjI2
YmM0OTBiYjE1NGNiNGI1NzRlNDU3ZjYwMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCkBAIC0yMTQsNiArMjE0LDEw
IEBAIGVudW0gT2JqZWN0Rml0IHsKICAgICBPYmplY3RGaXRGaWxsLCBPYmplY3RGaXRDb250YWlu
LCBPYmplY3RGaXRDb3ZlciwgT2JqZWN0Rml0Tm9uZSwgT2JqZWN0Rml0U2NhbGVEb3duCiB9Owog
CitlbnVtIE9iamVjdFNpemluZyB7CisgICAgT2JqZWN0U2l6aW5nQXV0bywgT2JqZWN0U2l6aW5n
UHJlc2VydmVJbnRyaW5zaWMsIE9iamVjdFNpemluZ1ByZXNlcnZlU3BlY2lmaWVkCit9OworCiAv
LyBXb3JkIEJyZWFrIFZhbHVlcy4gTWF0Y2hlcyBXaW5JRSwgcmF0aGVyIHRoYW4gQ1NTMwogCiBl
bnVtIEVXb3JkQnJlYWsgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCmluZGV4IDM2OWY2YjFjNzFl
ZGI3MjRiZDViN2FhNGZkZDViYzZkOGNmZWJjOTQuLjk3NjM5MjYwNWUzYzk1NmJlMGZiZDNlMTY1
YWQxNDBiZjY4YzJkNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKQEAgLTk0LDYgKzk0LDcg
QEAgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSgp
CiAgICAgLCBtX2VmZmVjdGl2ZUJsZW5kTW9kZShSZW5kZXJTdHlsZTo6aW5pdGlhbEJsZW5kTW9k
ZSgpKQogI2VuZGlmCiAgICAgLCBtX29iamVjdEZpdChSZW5kZXJTdHlsZTo6aW5pdGlhbE9iamVj
dEZpdCgpKQorICAgICwgbV9vYmplY3RTaXppbmcoUmVuZGVyU3R5bGU6OmluaXRpYWxPYmplY3RT
aXppbmcoKSkKIHsKICAgICBtX21hc2tCb3hJbWFnZS5zZXRNYXNrRGVmYXVsdHMoKTsKIH0KQEAg
LTE3NCw2ICsxNzUsNyBAQCBpbmxpbmUgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YShjb25zdCBTdHlsZVJhcmVOb25JbgogICAgICwgbV9lZmZlY3Rp
dmVCbGVuZE1vZGUoby5tX2VmZmVjdGl2ZUJsZW5kTW9kZSkKICNlbmRpZgogICAgICwgbV9vYmpl
Y3RGaXQoby5tX29iamVjdEZpdCkKKyAgICAsIG1fb2JqZWN0U2l6aW5nKG8ubV9vYmplY3RTaXpp
bmcpCiB7CiB9CiAKQEAgLTI2NCw3ICsyNjYsOCBAQCBib29sIFN0eWxlUmFyZU5vbkluaGVyaXRl
ZERhdGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSYgbykgYwog
ICAgICAgICAmJiBtX2VmZmVjdGl2ZUJsZW5kTW9kZSA9PSBvLm1fZWZmZWN0aXZlQmxlbmRNb2Rl
CiAjZW5kaWYKICAgICAgICAgJiYgbV9oYXNBc3BlY3RSYXRpbyA9PSBvLm1faGFzQXNwZWN0UmF0
aW8KLSAgICAgICAgJiYgbV9vYmplY3RGaXQgPT0gby5tX29iamVjdEZpdDsKKyAgICAgICAgJiYg
bV9vYmplY3RGaXQgPT0gby5tX29iamVjdEZpdAorICAgICAgICAmJiBtX29iamVjdFNpemluZyA9
PSBvLm1fb2JqZWN0U2l6aW5nOwogfQogCiBib29sIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6
OmNvbnRlbnREYXRhRXF1aXZhbGVudChjb25zdCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhJiBv
KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKaW5kZXggN2QwZTU0YTkzY2VkYzA3NGM4ODgzY2Fl
Y2I2MzYxM2RjN2Y2OTExOS4uYWVkYmI5MTYyZjE1ZmFjMGViMWRmNDE1ODM3OTZjYmZkN2Y4YzUz
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5v
bkluaGVyaXRlZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCkBAIC0xOTcsNiArMTk3LDcgQEAgcHVibGljOgogI2Vu
ZGlmCiAKICAgICB1bnNpZ25lZCBtX29iamVjdEZpdCA6IDM7IC8vIE9iamVjdEZpdAorICAgIHVu
c2lnbmVkIG1fb2JqZWN0U2l6aW5nIDogMjsgLy8gT2JqZWN0U2l6aW5nCiAKIHByaXZhdGU6CiAg
ICAgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQ2YzU3N2JmMDM5MWQ0M2Uw
Yzc0ZjgzNWMyNzA5YjA1MGYyYWYwZjkuLmFkYmY3NzFjNmZhYzlmNjljNWQ0NDQyNzU0ZTBhYTgz
ZWNiNGJjMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNC0wMi0wNSAgRGVhbiBKYWNrc29u
ICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIC13ZWJraXQtb2JqZWN0LXNpemluZyBw
cm9wZXJ0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI4MjYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QmFzaWMgdGVzdHMgZm9yIHBhcnNpbmcgYW5kIGNvbXB1dGluZyB2YWxpZCBhbmQgaW52YWxpZAor
ICAgICAgICAtd2Via2l0LW9iamVjdC1zaXppbmcgcnVsZXMuCisKKyAgICAgICAgKiBmYXN0L2Nz
cy1vYmplY3Qtc2l6aW5nL29iamVjdC1zaXppbmctY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy1vYmplY3Qtc2l6aW5nL29iamVjdC1zaXppbmct
Y29tcHV0ZWQtc3R5bGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3Mtb2JqZWN0LXNp
emluZy9vYmplY3Qtc2l6aW5nLXBhcnNpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2Nzcy1vYmplY3Qtc2l6aW5nL29iamVjdC1zaXppbmctcGFyc2luZy5odG1sOiBBZGRl
ZC4KKwogMjAxNC0wMi0wNSAgSGFucyBNdWxsZXIgIDxobXVsbGVyQGFkb2JlLmNvbT4KIAogICAg
ICAgICBbQ1NTIFNoYXBlc10gRHluYW1pY2FsbHkgY3JlYXRlZCBlbGVtZW50IHdpdGggaW1hZ2Ug
dmFsdWVkIHNoYXBlLW91dHNpZGUgZG9lc24ndCB1cGRhdGUgYXV0b21hdGljYWxseQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mtb2JqZWN0LXNpemluZy9vYmplY3Qtc2l6aW5nLWNv
bXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLW9iamVjdC1z
aXppbmcvb2JqZWN0LXNpemluZy1jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uY2NlNWIxZjY2ZGNlZDRiYjA1ZmRhNzViOTFjZTllNWMzMjMyYjEzOQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLW9iamVjdC1zaXppbmcvb2JqZWN0LXNpemluZy1j
b21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMCBAQAorVGVzdGluZyBjb21w
dXRlZCBzdHlsZSBvZiB0aGUgLXdlYmtpdC1vYmplY3Qtc2l6aW5nIHByb3BlcnR5LgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdCBnb29kIHZhbHVlcworCitUZXN0aW5nOiBh
dXRvCitQQVNTIGNzc1N0eWxlLmNzc1RleHQgaXMgJ2F1dG8nCisKK1Rlc3Rpbmc6IHByZWZlci1p
bnRyaW5zaWMKK1BBU1MgY3NzU3R5bGUuY3NzVGV4dCBpcyAncHJlZmVyLWludHJpbnNpYycKKwor
VGVzdGluZzogcHJlZmVyLXNwZWNpZmllZAorUEFTUyBjc3NTdHlsZS5jc3NUZXh0IGlzICdwcmVm
ZXItc3BlY2lmaWVkJworTm93IHRlc3QgYmFkIHZhbHVlcworCitUZXN0aW5nOiAKK1BBU1MgY3Nz
U3R5bGUuY3NzVGV4dCBpcyAnYXV0bycKKworVGVzdGluZzogbm9uZQorUEFTUyBjc3NTdHlsZS5j
c3NUZXh0IGlzICdhdXRvJworCitUZXN0aW5nOiBiYW5hbmEKK1BBU1MgY3NzU3R5bGUuY3NzVGV4
dCBpcyAnYXV0bycKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLW9iamVjdC1zaXppbmcv
b2JqZWN0LXNpemluZy1jb21wdXRlZC1zdHlsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mt
b2JqZWN0LXNpemluZy9vYmplY3Qtc2l6aW5nLWNvbXB1dGVkLXN0eWxlLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYjNiMGQ1MjBlNmUxMjEzM2Q0YWI5Y2RhOGVkMGI5MjljZDc2NWE4MAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLW9iamVjdC1zaXppbmcvb2JqZWN0LXNpemluZy1j
b21wdXRlZC1zdHlsZS5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3Rp
bmcgY29tcHV0ZWQgc3R5bGUgb2YgdGhlIC13ZWJraXQtb2JqZWN0LXNpemluZyBwcm9wZXJ0eS4n
KTsKKworLy8gVGhlc2UgaGF2ZSB0byBiZSBnbG9iYWwgZm9yIHRoZSB0ZXN0IGhlbHBlcnMgdG8g
c2VlIHRoZW0uCit2YXIgc3R5bGVzaGVldCwgY3NzU3R5bGU7Cit2YXIgc3R5bGVFbGVtZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTsKK2RvY3VtZW50LmhlYWQuYXBwZW5kQ2hp
bGQoc3R5bGVFbGVtZW50KTsKK3N0eWxlc2hlZXQgPSBzdHlsZUVsZW1lbnQuc2hlZXQ7CisKK2Z1
bmN0aW9uIHRlc3RDb21wdXRlZE9iamVjdFNpemluZ1J1bGUocnVsZSwgZXhwZWN0ZWRWYWx1ZSkK
K3sKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIlRlc3Rpbmc6ICIgKyBydWxlKTsKKworICAg
IHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgiYm9keSB7IC13ZWJraXQtb2JqZWN0LXNpemluZzogIiAr
IHJ1bGUgKyAiOyB9IiwgMCk7CisKKyAgICBjc3NTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKGRvY3VtZW50LmJvZHkpLmdldFByb3BlcnR5Q1NTVmFsdWUoIi13ZWJraXQtb2JqZWN0LXNp
emluZyIpOworICAgIHNob3VsZEJlKCJjc3NTdHlsZS5jc3NUZXh0IiwgIiciICsgZXhwZWN0ZWRW
YWx1ZSArICInIik7CisgICAgc3R5bGVzaGVldC5kZWxldGVSdWxlKDApOworfQorCitkZWJ1Zygi
VGVzdCBnb29kIHZhbHVlcyIpOwordGVzdENvbXB1dGVkT2JqZWN0U2l6aW5nUnVsZSgiYXV0byIs
ICJhdXRvIik7Cit0ZXN0Q29tcHV0ZWRPYmplY3RTaXppbmdSdWxlKCJwcmVmZXItaW50cmluc2lj
IiwgInByZWZlci1pbnRyaW5zaWMiKTsKK3Rlc3RDb21wdXRlZE9iamVjdFNpemluZ1J1bGUoInBy
ZWZlci1zcGVjaWZpZWQiLCAicHJlZmVyLXNwZWNpZmllZCIpOworCitkZWJ1ZygiTm93IHRlc3Qg
YmFkIHZhbHVlcyIpOwordGVzdENvbXB1dGVkT2JqZWN0U2l6aW5nUnVsZSgiIiwgImF1dG8iKTsK
K3Rlc3RDb21wdXRlZE9iamVjdFNpemluZ1J1bGUoIm5vbmUiLCAiYXV0byIpOwordGVzdENvbXB1
dGVkT2JqZWN0U2l6aW5nUnVsZSgiYmFuYW5hIiwgImF1dG8iKTsKKworZGVidWcoIiIpOworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy1vYmplY3Qtc2l6aW5nL29iamVjdC1zaXppbmctcGFyc2luZy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy1vYmplY3Qtc2l6aW5nL29iamVjdC1zaXppbmctcGFyc2luZy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNmM0ZTU5NGFkN2Q0NmY2Mjk3YjkyOWViZTZhM2NjMWY4ZDEw
NGI4NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLW9iamVjdC1zaXpp
bmcvb2JqZWN0LXNpemluZy1wYXJzaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYwIEBACitU
ZXN0aW5nIHBhcnNpbmcgb2YgdGhlIC13ZWJraXQtb2JqZWN0LXNpemluZyBwcm9wZXJ0eS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKworVGVzdGluZzogYXV0bworUEFTUyBjc3NS
dWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMQorUEFTUyBkZWNsYXJh
dGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LW9iamVjdC1zaXppbmcnKSBpcyAnYXV0bycK
K1BBU1MgY3NzVmFsdWUgaXMgYW4gaW5zdGFuY2Ugb2YgQ1NTUHJpbWl0aXZlVmFsdWUKK1BBU1Mg
Y3NzVmFsdWUuY3NzVGV4dCBpcyAnYXV0bycKKworVGVzdGluZzogcHJlZmVyLWludHJpbnNpYwor
UEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMQorUEFT
UyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LW9iamVjdC1zaXppbmcnKSBp
cyAncHJlZmVyLWludHJpbnNpYycKK1BBU1MgY3NzVmFsdWUgaXMgYW4gaW5zdGFuY2Ugb2YgQ1NT
UHJpbWl0aXZlVmFsdWUKK1BBU1MgY3NzVmFsdWUuY3NzVGV4dCBpcyAncHJlZmVyLWludHJpbnNp
YycKKworVGVzdGluZzogcHJlZmVyLXNwZWNpZmllZAorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQor
UEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LW9iamVjdC1zaXppbmcnKSBpcyAncHJlZmVyLXNwZWNpZmllZCcKK1BB
U1MgY3NzVmFsdWUgaXMgYW4gaW5zdGFuY2Ugb2YgQ1NTUHJpbWl0aXZlVmFsdWUKK1BBU1MgY3Nz
VmFsdWUuY3NzVGV4dCBpcyAncHJlZmVyLXNwZWNpZmllZCcKKworVGVzdGluZyBpbnZhbGlkIHJ1
bGU6IAorUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMg
MAorUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LW9iamVjdC1zaXpp
bmcnKSBpcyBudWxsCisKK1Rlc3RpbmcgaW52YWxpZCBydWxlOiBudWxsCitQQVNTIGNzc1J1bGUu
dHlwZSBpcyAxCitQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAwCitQQVNTIGRlY2xhcmF0aW9u
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtb2JqZWN0LXNpemluZycpIGlzIG51bGwKKworVGVz
dGluZyBpbnZhbGlkIHJ1bGU6IGJhbmFuYXMKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1Mg
ZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1
ZSgnLXdlYmtpdC1vYmplY3Qtc2l6aW5nJykgaXMgbnVsbAorCitUZXN0aW5nIGludmFsaWQgcnVs
ZTogcHJlc2VydmUtaW50cmluc2ljCitQQVNTIGNzc1J1bGUudHlwZSBpcyAxCitQQVNTIGRlY2xh
cmF0aW9uLmxlbmd0aCBpcyAwCitQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtb2JqZWN0LXNpemluZycpIGlzIG51bGwKKworVGVzdGluZyBpbnZhbGlkIHJ1bGU6IDEw
ZW0KK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAK
K1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1vYmplY3Qtc2l6aW5n
JykgaXMgbnVsbAorCitUZXN0aW5nIGludmFsaWQgcnVsZTogYm9yZGVyLWJveAorUEFTUyBjc3NS
dWxlLnR5cGUgaXMgMQorUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMAorUEFTUyBkZWNsYXJh
dGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LW9iamVjdC1zaXppbmcnKSBpcyBudWxsCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mtb2JqZWN0LXNpemluZy9vYmplY3Qtc2l6aW5nLXBh
cnNpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLW9iamVjdC1zaXppbmcvb2JqZWN0LXNp
emluZy1wYXJzaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDU3MjQzODdjZmUwY2VkZDkzYWNmM2E2N2E0
YWRiYjkyNzc0ZjRiYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLW9i
amVjdC1zaXppbmcvb2JqZWN0LXNpemluZy1wYXJzaW5nLmh0bWwKQEAgLTAsMCArMSw2NiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbignVGVzdGluZyBwYXJzaW5nIG9mIHRoZSAtd2Via2l0LW9iamVjdC1zaXpp
bmcgcHJvcGVydHkuJyk7CisKKy8vIFRoZXNlIGhhdmUgdG8gYmUgZ2xvYmFsIGZvciB0aGUgdGVz
dCBoZWxwZXJzIHRvIHNlZSB0aGVtLgordmFyIHN0eWxlc2hlZXQsIGNzc1J1bGUsIGRlY2xhcmF0
aW9uLCBjc3NWYWx1ZTsKK3ZhciBzdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJzdHlsZSIpOworZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZUVsZW1lbnQpOworc3R5
bGVzaGVldCA9IHN0eWxlRWxlbWVudC5zaGVldDsKKworZnVuY3Rpb24gdGVzdE9iamVjdFNpemlu
Z1J1bGUocnVsZSwgZXhwZWN0ZWRWYWx1ZSkKK3sKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWco
IlRlc3Rpbmc6ICIgKyBydWxlKTsKKworICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgiYm9keSB7
IC13ZWJraXQtb2JqZWN0LXNpemluZzogIiArIHJ1bGUgKyAiOyB9IiwgMCk7CisgICAgY3NzUnVs
ZSA9IHN0eWxlc2hlZXQuY3NzUnVsZXMuaXRlbSgwKTsKKyAgCisgICAgc2hvdWxkQmUoImNzc1J1
bGUudHlwZSIsICIxIik7CisKKyAgICBkZWNsYXJhdGlvbiA9IGNzc1J1bGUuc3R5bGU7CisgICAg
c2hvdWxkQmUoImRlY2xhcmF0aW9uLmxlbmd0aCIsICIxIik7CisgICAgc2hvdWxkQmUoImRlY2xh
cmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtb2JqZWN0LXNpemluZycpIiwgIiciICsg
ZXhwZWN0ZWRWYWx1ZSArICInIik7CisKKyAgICBjc3NWYWx1ZSA9IGRlY2xhcmF0aW9uLmdldFBy
b3BlcnR5Q1NTVmFsdWUoIi13ZWJraXQtb2JqZWN0LXNpemluZyIpOworICAgIHNob3VsZEJlVHlw
ZSgiY3NzVmFsdWUiLCAiQ1NTUHJpbWl0aXZlVmFsdWUiKTsKKworICAgIHNob3VsZEJlKCJjc3NW
YWx1ZS5jc3NUZXh0IiwgIiciICsgZXhwZWN0ZWRWYWx1ZSArICInIik7CisgICAgc3R5bGVzaGVl
dC5kZWxldGVSdWxlKDApOworfQorCitmdW5jdGlvbiB0ZXN0SW52YWxpZE9iamVjdFNpemluZ1J1
bGUocnVsZSkKK3sKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIlRlc3RpbmcgaW52YWxpZCBy
dWxlOiAiICsgcnVsZSk7CisKKyAgICBzdHlsZXNoZWV0Lmluc2VydFJ1bGUoImJvZHkgey13ZWJr
aXQtb2JqZWN0LXNpemluZzogIiArIHJ1bGUgKyAiOyB9IiwgMCk7CisgICAgY3NzUnVsZSA9IHN0
eWxlc2hlZXQuY3NzUnVsZXMuaXRlbSgwKTsKKyAgCisgICAgc2hvdWxkQmUoImNzc1J1bGUudHlw
ZSIsICIxIik7CisKKyAgICBkZWNsYXJhdGlvbiA9IGNzc1J1bGUuc3R5bGU7CisgICAgc2hvdWxk
QmUoImRlY2xhcmF0aW9uLmxlbmd0aCIsICIwIik7CisgICAgc2hvdWxkQmUoImRlY2xhcmF0aW9u
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtb2JqZWN0LXNpemluZycpIiwgIm51bGwiKTsKKyAg
ICBzdHlsZXNoZWV0LmRlbGV0ZVJ1bGUoMCk7Cit9CisKK3Rlc3RPYmplY3RTaXppbmdSdWxlKCJh
dXRvIiwgImF1dG8iKTsKK3Rlc3RPYmplY3RTaXppbmdSdWxlKCJwcmVmZXItaW50cmluc2ljIiwg
InByZWZlci1pbnRyaW5zaWMiKTsKK3Rlc3RPYmplY3RTaXppbmdSdWxlKCJwcmVmZXItc3BlY2lm
aWVkIiwgInByZWZlci1zcGVjaWZpZWQiKTsKKwordGVzdEludmFsaWRPYmplY3RTaXppbmdSdWxl
KCIiKTsKK3Rlc3RJbnZhbGlkT2JqZWN0U2l6aW5nUnVsZSgibnVsbCIpOwordGVzdEludmFsaWRP
YmplY3RTaXppbmdSdWxlKCJiYW5hbmFzIik7Cit0ZXN0SW52YWxpZE9iamVjdFNpemluZ1J1bGUo
InByZXNlcnZlLWludHJpbnNpYyIpOwordGVzdEludmFsaWRPYmplY3RTaXppbmdSdWxlKCIxMGVt
Iik7Cit0ZXN0SW52YWxpZE9iamVjdFNpemluZ1J1bGUoImJvcmRlci1ib3giKTsKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223661</attachid>
            <date>2014-02-09 18:27:30 -0800</date>
            <delta_ts>2014-02-10 12:05:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128262-20140209182729.patch</filename>
            <type>text/plain</type>
            <size>23835</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzNzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTc5ZDAzMzYyZGExOTc4
MzcwZTBkYTdiMDJhNDViYjQ0ZjhhMDkxZi4uNGFlZDYyOWFmMTRmMWYyYWRiYmE0MmM0M2ZkNmRi
M2IzMGYyNzM4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE0LTAyLTA5ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBVcGRhdGUgYXNwZWN0LXJhdGlv
IHByb3BlcnR5IHRvIGhhdmUgY29uc3RyYWluaW5nIGtleXdvcmRzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjgyNjIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgImZyb20tZGlt
ZW5zaW9ucyIgYW5kICJmcm9tLWludHJpbnNpYyIKKyAgICAgICAgcHJvcGVydHkgdmFsdWVzIHRv
ICItd2Via2l0LWFzcGVjdC1yYXRpbyIuIEkgYWxzbyBjaGFuZ2VkCisgICAgICAgIHRoZSBkZWZh
dWx0IHZhbHVlIGZyb20gIm5vbmUiIHRvICJhdXRvIiwgYmVjYXVzZSAibm9uZSIgZG9lc24ndAor
ICAgICAgICBtYWtlIHNlbnNlIGFueSBtb3JlLgorCisgICAgICAgIENvdmVyZWQgYnkgZW5oYW5j
aW5nIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjpw
cm9wZXJ0eVZhbHVlKTogTmV3IGtleXdvcmRzLgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUFzcGVjdFJhdGlvKTogU3VwcG9y
dCBuZXcga2V5d29yZHMuCisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46IEFkZCBm
cm9tLWRpbWVuc2lvbnMgYW5kIGZyb20taW50cmluc2ljLgorICAgICAgICAqIGNzcy9EZXByZWNh
dGVkU3R5bGVCdWlsZGVyLmNwcDogVGhpcyBub3cgaGFzIHRvIGhhbmRsZSB0aGUgbmV3CisgICAg
ICAgIHZhbHVlcy4gSSBhbHNvIGNoYW5nZWQgIm5vbmUiIHRvICJhdXRvIi4KKyAgICAgICAgKFdl
YkNvcmU6OkFwcGx5UHJvcGVydHlBc3BlY3RSYXRpbzo6YXBwbHlJbmhlcml0VmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUFzcGVjdFJhdGlvOjphcHBseUluaXRpYWxWYWx1
ZSk6CisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5QXNwZWN0UmF0aW86OmFwcGx5VmFs
dWUpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOiBoYXNBc3BlY3RS
YXRpbyBpcyBub3cgYXNwZWN0UmF0aW9UeXBlCisgICAgICAgIGFuZCBpbmRpY2F0ZXMgb25lIG9m
IHRoZSB0aHJlZSBrZXl3b3Jkcywgb3IgYSBzcGVjaWZpZWQgbnVtYmVyLgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOiBOZXcgZW51bS4KKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0
ZWREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6Om9w
ZXJhdG9yPT0pOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0
ZWREYXRhLmg6CisKIDIwMTQtMDItMDkgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEu
Y29tPgogCiAgICAgICAgIE1hbmFnZSBTaGFkb3dEYXRhIHRocm91Z2ggc3RkOjp1bmlxdWVfcHRy
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwCmluZGV4IGI3MDg1NWMyODM5MmExNDQ1YzIxMDAyNGQ2MDJkMmNlMGU2YzkwMTMuLmE5MjRj
OWFiOGY1MTViOThhMGViMmNmNzIyNDA0NDdmZjllNTQ5M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0yNTgzLDggKzI1
ODMsMTIgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6cHJv
cGVydHlWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnQKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eVdlYmtpdEFwcGVhcmFuY2U6CiAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3Jl
YXRlVmFsdWUoc3R5bGUtPmFwcGVhcmFuY2UoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlX
ZWJraXRBc3BlY3RSYXRpbzoKLSAgICAgICAgICAgIGlmICghc3R5bGUtPmhhc0FzcGVjdFJhdGlv
KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZp
ZXJWYWx1ZShDU1NWYWx1ZU5vbmUpOworICAgICAgICAgICAgaWYgKHN0eWxlLT5hc3BlY3RSYXRp
b1R5cGUoKSA9PSBBc3BlY3RSYXRpb0F1dG8pCisgICAgICAgICAgICAgICAgcmV0dXJuIGNzc1Zh
bHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUF1dG8pOworICAgICAgICAg
ICAgaWYgKHN0eWxlLT5hc3BlY3RSYXRpb1R5cGUoKSA9PSBBc3BlY3RSYXRpb0Zyb21EaW1lbnNp
b25zKQorICAgICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlm
aWVyVmFsdWUoQ1NTVmFsdWVGcm9tRGltZW5zaW9ucyk7CisgICAgICAgICAgICBpZiAoc3R5bGUt
PmFzcGVjdFJhdGlvVHlwZSgpID09IEFzcGVjdFJhdGlvRnJvbUludHJpbnNpYykKKyAgICAgICAg
ICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1Zh
bHVlRnJvbUludHJpbnNpYyk7CiAgICAgICAgICAgICByZXR1cm4gQ1NTQXNwZWN0UmF0aW9WYWx1
ZTo6Y3JlYXRlKHN0eWxlLT5hc3BlY3RSYXRpb051bWVyYXRvcigpLCBzdHlsZS0+YXNwZWN0UmF0
aW9EZW5vbWluYXRvcigpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJhY2tmYWNl
VmlzaWJpbGl0eToKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVu
dGlmaWVyVmFsdWUoKHN0eWxlLT5iYWNrZmFjZVZpc2liaWxpdHkoKSA9PSBCYWNrZmFjZVZpc2li
aWxpdHlIaWRkZW4pID8gQ1NTVmFsdWVIaWRkZW4gOiBDU1NWYWx1ZVZpc2libGUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcAppbmRleCAyNTZhNTJkMDA3YjE0Yjc0NmUzYjFkYjA2NGRlODQyNGE1
MjAxOTA3Li44NTllNGVjNmExZmMxOGQzNjdjZDY0ODdiNDYwZWZjZTI4MjlhYjg0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtNzcwNSw5ICs3NzA1LDEyIEBAIGJvb2wgQ1NTUGFyc2Vy
OjpwYXJzZUJvcmRlclJhZGl1cyhDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQp
CiBib29sIENTU1BhcnNlcjo6cGFyc2VBc3BlY3RSYXRpbyhib29sIGltcG9ydGFudCkKIHsKICAg
ICB1bnNpZ25lZCBudW0gPSBtX3ZhbHVlTGlzdC0+c2l6ZSgpOwotICAgIGlmIChudW0gPT0gMSAm
JiBtX3ZhbHVlTGlzdC0+dmFsdWVBdCgwKS0+aWQgPT0gQ1NTVmFsdWVOb25lKSB7Ci0gICAgICAg
IGFkZFByb3BlcnR5KENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW8sIGNzc1ZhbHVlUG9vbCgp
LmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5vbmUpLCBpbXBvcnRhbnQpOwotICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAobnVtID09IDEpIHsKKyAgICAgICAgQ1NTVmFsdWVJRCB2
YWx1ZUlkID0gbV92YWx1ZUxpc3QtPnZhbHVlQXQoMCktPmlkOworICAgICAgICBpZiAodmFsdWVJ
ZCA9PSBDU1NWYWx1ZUF1dG8gfHwgdmFsdWVJZCA9PSBDU1NWYWx1ZUZyb21EaW1lbnNpb25zIHx8
IHZhbHVlSWQgPT0gQ1NTVmFsdWVGcm9tSW50cmluc2ljKSB7CisgICAgICAgICAgICBhZGRQcm9w
ZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdEFzcGVjdFJhdGlvLCBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJ
ZGVudGlmaWVyVmFsdWUodmFsdWVJZCksIGltcG9ydGFudCk7CisgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGlmIChudW0gIT0gMykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggODg4YjYyNzI4MGZlYTI3MjBhZTVjN2Y2ZDlk
MTUzNjVhM2Y3YmViZS4uYmE2MmRkYjg3Y2Q4ODE5ZDA0N2Y4YzZiNzNlYmVhMjcwNzdiM2Q4NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KQEAgLTEwNTAsMyArMTA1MCw3
IEBAIHNwYW4KIAogLy8gLXdlYmtpdC1jb2x1bW4tZmlsbAogYmFsYW5jZQorCisvLyAtd2Via2l0
LWFzcGVjdC1yYXRpbworZnJvbS1kaW1lbnNpb25zCitmcm9tLWludHJpbnNpYwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIuY3BwCmluZGV4IDIxMTdiOTYxZmNh
MGNjMjhhYzFhNWJhOTA4MjUxYjk2NjFiMThkN2IuLjk2YmY1NzVlMjViNmM2MDEzMTE4ZGU2ZDY2
MzFjNGNkZjNlYTNiMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVk
U3R5bGVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZFN0eWxl
QnVpbGRlci5jcHAKQEAgLTE5ODIsMjggKzE5ODIsNDAgQEAgY2xhc3MgQXBwbHlQcm9wZXJ0eUFz
cGVjdFJhdGlvIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBhcHBseUluaGVyaXRWYWx1ZShD
U1NQcm9wZXJ0eUlELCBTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyKQogICAgIHsKLSAgICAg
ICAgaWYgKCFzdHlsZVJlc29sdmVyLT5wYXJlbnRTdHlsZSgpLT5oYXNBc3BlY3RSYXRpbygpKQor
ICAgICAgICBpZiAoc3R5bGVSZXNvbHZlci0+cGFyZW50U3R5bGUoKS0+YXNwZWN0UmF0aW9UeXBl
KCkgPT0gQXNwZWN0UmF0aW9BdXRvKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBzdHls
ZVJlc29sdmVyLT5zdHlsZSgpLT5zZXRIYXNBc3BlY3RSYXRpbyh0cnVlKTsKKyAgICAgICAgc3R5
bGVSZXNvbHZlci0+c3R5bGUoKS0+c2V0QXNwZWN0UmF0aW9UeXBlKHN0eWxlUmVzb2x2ZXItPnBh
cmVudFN0eWxlKCktPmFzcGVjdFJhdGlvVHlwZSgpKTsKICAgICAgICAgc3R5bGVSZXNvbHZlci0+
c3R5bGUoKS0+c2V0QXNwZWN0UmF0aW9EZW5vbWluYXRvcihzdHlsZVJlc29sdmVyLT5wYXJlbnRT
dHlsZSgpLT5hc3BlY3RSYXRpb0Rlbm9taW5hdG9yKCkpOwogICAgICAgICBzdHlsZVJlc29sdmVy
LT5zdHlsZSgpLT5zZXRBc3BlY3RSYXRpb051bWVyYXRvcihzdHlsZVJlc29sdmVyLT5wYXJlbnRT
dHlsZSgpLT5hc3BlY3RSYXRpb051bWVyYXRvcigpKTsKICAgICB9CiAKICAgICBzdGF0aWMgdm9p
ZCBhcHBseUluaXRpYWxWYWx1ZShDU1NQcm9wZXJ0eUlELCBTdHlsZVJlc29sdmVyKiBzdHlsZVJl
c29sdmVyKQogICAgIHsKLSAgICAgICAgc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+c2V0SGFzQXNw
ZWN0UmF0aW8oUmVuZGVyU3R5bGU6OmluaXRpYWxIYXNBc3BlY3RSYXRpbygpKTsKKyAgICAgICAg
c3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+c2V0QXNwZWN0UmF0aW9UeXBlKFJlbmRlclN0eWxlOjpp
bml0aWFsQXNwZWN0UmF0aW9UeXBlKCkpOwogICAgICAgICBzdHlsZVJlc29sdmVyLT5zdHlsZSgp
LT5zZXRBc3BlY3RSYXRpb0Rlbm9taW5hdG9yKFJlbmRlclN0eWxlOjppbml0aWFsQXNwZWN0UmF0
aW9EZW5vbWluYXRvcigpKTsKICAgICAgICAgc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+c2V0QXNw
ZWN0UmF0aW9OdW1lcmF0b3IoUmVuZGVyU3R5bGU6OmluaXRpYWxBc3BlY3RSYXRpb051bWVyYXRv
cigpKTsKICAgICB9CiAKICAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlKENTU1Byb3BlcnR5SUQs
IFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlKiB2YWx1ZSkKICAgICB7Cisg
ICAgICAgIGlmICh2YWx1ZS0+aXNQcmltaXRpdmVWYWx1ZSgpKSB7CisgICAgICAgICAgICBDU1NQ
cmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUgPSB0b0NTU1ByaW1pdGl2ZVZhbHVlKHZhbHVl
KTsKKworICAgICAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLT5nZXRWYWx1ZUlEKCkgPT0gQ1NT
VmFsdWVBdXRvKQorICAgICAgICAgICAgICAgIHJldHVybiBzdHlsZVJlc29sdmVyLT5zdHlsZSgp
LT5zZXRBc3BlY3RSYXRpb1R5cGUoQXNwZWN0UmF0aW9BdXRvKTsKKyAgICAgICAgICAgIGlmIChw
cmltaXRpdmVWYWx1ZS0+Z2V0VmFsdWVJRCgpID09IENTU1ZhbHVlRnJvbURpbWVuc2lvbnMpCisg
ICAgICAgICAgICAgICAgcmV0dXJuIHN0eWxlUmVzb2x2ZXItPnN0eWxlKCktPnNldEFzcGVjdFJh
dGlvVHlwZShBc3BlY3RSYXRpb0Zyb21EaW1lbnNpb25zKTsKKyAgICAgICAgICAgIGlmIChwcmlt
aXRpdmVWYWx1ZS0+Z2V0VmFsdWVJRCgpID09IENTU1ZhbHVlRnJvbUludHJpbnNpYykKKyAgICAg
ICAgICAgICAgICByZXR1cm4gc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+c2V0QXNwZWN0UmF0aW9U
eXBlKEFzcGVjdFJhdGlvRnJvbUludHJpbnNpYyk7CisgICAgICAgIH0KKwogICAgICAgICBpZiAo
IXZhbHVlLT5pc0FzcGVjdFJhdGlvVmFsdWUoKSkgewotICAgICAgICAgICAgc3R5bGVSZXNvbHZl
ci0+c3R5bGUoKS0+c2V0SGFzQXNwZWN0UmF0aW8oZmFsc2UpOworICAgICAgICAgICAgc3R5bGVS
ZXNvbHZlci0+c3R5bGUoKS0+c2V0QXNwZWN0UmF0aW9UeXBlKEFzcGVjdFJhdGlvQXV0byk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KKwogICAgICAgICBDU1NBc3BlY3RSYXRpb1Zh
bHVlKiBhc3BlY3RSYXRpb1ZhbHVlID0gdG9DU1NBc3BlY3RSYXRpb1ZhbHVlKHZhbHVlKTsKLSAg
ICAgICAgc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+c2V0SGFzQXNwZWN0UmF0aW8odHJ1ZSk7Cisg
ICAgICAgIHN0eWxlUmVzb2x2ZXItPnN0eWxlKCktPnNldEFzcGVjdFJhdGlvVHlwZShBc3BlY3RS
YXRpb1NwZWNpZmllZCk7CiAgICAgICAgIHN0eWxlUmVzb2x2ZXItPnN0eWxlKCktPnNldEFzcGVj
dFJhdGlvRGVub21pbmF0b3IoYXNwZWN0UmF0aW9WYWx1ZS0+ZGVub21pbmF0b3JWYWx1ZSgpKTsK
ICAgICAgICAgc3R5bGVSZXNvbHZlci0+c3R5bGUoKS0+c2V0QXNwZWN0UmF0aW9OdW1lcmF0b3Io
YXNwZWN0UmF0aW9WYWx1ZS0+bnVtZXJhdG9yVmFsdWUoKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCAyN2JiMTExNmJlNjUwMGVi
YzAxZDU4Yjk2ZjVhNjU5ZDc3N2JmZDRhLi5jM2Q4NjgzNWIyYmJhMTRkYTI4OWJiMzg0ZWUwZTRi
NDE3NDY3NTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaApAQCAtNzQzLDggKzc0Myw3IEBAIHB1YmxpYzoKICAgICBDb2xvclNwYWNlIGNvbG9yU3Bh
Y2UoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxDb2xvclNwYWNlPihyYXJlSW5oZXJpdGVk
RGF0YS0+Y29sb3JTcGFjZSk7IH0KICAgICBmbG9hdCBvcGFjaXR5KCkgY29uc3QgeyByZXR1cm4g
cmFyZU5vbkluaGVyaXRlZERhdGEtPm9wYWNpdHk7IH0KICAgICBDb250cm9sUGFydCBhcHBlYXJh
bmNlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Q29udHJvbFBhcnQ+KHJhcmVOb25Jbmhl
cml0ZWREYXRhLT5tX2FwcGVhcmFuY2UpOyB9Ci0gICAgLy8gYXNwZWN0IHJhdGlvIGNvbnZlbmll
bmNlIG1ldGhvZAotICAgIGJvb2wgaGFzQXNwZWN0UmF0aW8oKSBjb25zdCB7IHJldHVybiByYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+bV9oYXNBc3BlY3RSYXRpbzsgfQorICAgIEFzcGVjdFJhdGlvVHlw
ZSBhc3BlY3RSYXRpb1R5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxBc3BlY3RSYXRp
b1R5cGU+KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2FzcGVjdFJhdGlvVHlwZSk7IH0KICAgICBm
bG9hdCBhc3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJuIGFzcGVjdFJhdGlvTnVtZXJhdG9yKCkg
LyBhc3BlY3RSYXRpb0Rlbm9taW5hdG9yKCk7IH0KICAgICBmbG9hdCBhc3BlY3RSYXRpb0Rlbm9t
aW5hdG9yKCkgY29uc3QgeyByZXR1cm4gcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fYXNwZWN0UmF0
aW9EZW5vbWluYXRvcjsgfQogICAgIGZsb2F0IGFzcGVjdFJhdGlvTnVtZXJhdG9yKCkgY29uc3Qg
eyByZXR1cm4gcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fYXNwZWN0UmF0aW9OdW1lcmF0b3I7IH0K
QEAgLTEyMTQsNyArMTIxMyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEVtcHR5Q2VsbHMoRUVt
cHR5Q2VsbCB2KSB7IGluaGVyaXRlZF9mbGFncy5fZW1wdHlfY2VsbHMgPSB2OyB9CiAgICAgdm9p
ZCBzZXRDYXB0aW9uU2lkZShFQ2FwdGlvblNpZGUgdikgeyBpbmhlcml0ZWRfZmxhZ3MuX2NhcHRp
b25fc2lkZSA9IHY7IH0KIAotICAgIHZvaWQgc2V0SGFzQXNwZWN0UmF0aW8oYm9vbCBiKSB7IFNF
VF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEsIG1faGFzQXNwZWN0UmF0aW8sIGIpOyB9CisgICAg
dm9pZCBzZXRBc3BlY3RSYXRpb1R5cGUoQXNwZWN0UmF0aW9UeXBlIGFzcGVjdFJhdGlvVHlwZSkg
eyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLCBtX2FzcGVjdFJhdGlvVHlwZSwgYXNwZWN0
UmF0aW9UeXBlKTsgfQogICAgIHZvaWQgc2V0QXNwZWN0UmF0aW9EZW5vbWluYXRvcihmbG9hdCB2
KSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEsIG1fYXNwZWN0UmF0aW9EZW5vbWluYXRv
ciwgdik7IH0KICAgICB2b2lkIHNldEFzcGVjdFJhdGlvTnVtZXJhdG9yKGZsb2F0IHYpIHsgU0VU
X1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YSwgbV9hc3BlY3RSYXRpb051bWVyYXRvciwgdik7IH0K
IApAQCAtMTcyMyw3ICsxNzIyLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBFQm9yZGVyRml0IGlu
aXRpYWxCb3JkZXJGaXQoKSB7IHJldHVybiBCb3JkZXJGaXRCb3JkZXI7IH0KICAgICBzdGF0aWMg
RVJlc2l6ZSBpbml0aWFsUmVzaXplKCkgeyByZXR1cm4gUkVTSVpFX05PTkU7IH0KICAgICBzdGF0
aWMgQ29udHJvbFBhcnQgaW5pdGlhbEFwcGVhcmFuY2UoKSB7IHJldHVybiBOb0NvbnRyb2xQYXJ0
OyB9Ci0gICAgc3RhdGljIGJvb2wgaW5pdGlhbEhhc0FzcGVjdFJhdGlvKCkgeyByZXR1cm4gZmFs
c2U7IH0KKyAgICBzdGF0aWMgQXNwZWN0UmF0aW9UeXBlIGluaXRpYWxBc3BlY3RSYXRpb1R5cGUo
KSB7IHJldHVybiBBc3BlY3RSYXRpb0F1dG87IH0KICAgICBzdGF0aWMgZmxvYXQgaW5pdGlhbEFz
cGVjdFJhdGlvRGVub21pbmF0b3IoKSB7IHJldHVybiAxOyB9CiAgICAgc3RhdGljIGZsb2F0IGlu
aXRpYWxBc3BlY3RSYXRpb051bWVyYXRvcigpIHsgcmV0dXJuIDE7IH0KICAgICBzdGF0aWMgT3Jk
ZXIgaW5pdGlhbFJUTE9yZGVyaW5nKCkgeyByZXR1cm4gTG9naWNhbE9yZGVyOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5o
CmluZGV4IDZhOTBmMmU0MjgxYjk3ZTFjYzAzOTZlMGMyODhlYzRlOGFiYjE2ODAuLjA1NjE1MDhl
NGNjYzFkZDYzZjY3MmQ1MDMzYzliMjhiYjVmNTkxYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCkBAIC0yMTQsNiAr
MjE0LDEwIEBAIGVudW0gT2JqZWN0Rml0IHsKICAgICBPYmplY3RGaXRGaWxsLCBPYmplY3RGaXRD
b250YWluLCBPYmplY3RGaXRDb3ZlciwgT2JqZWN0Rml0Tm9uZSwgT2JqZWN0Rml0U2NhbGVEb3du
CiB9OwogCitlbnVtIEFzcGVjdFJhdGlvVHlwZSB7CisgICAgQXNwZWN0UmF0aW9BdXRvLCBBc3Bl
Y3RSYXRpb0Zyb21JbnRyaW5zaWMsIEFzcGVjdFJhdGlvRnJvbURpbWVuc2lvbnMsIEFzcGVjdFJh
dGlvU3BlY2lmaWVkCit9OworCiAvLyBXb3JkIEJyZWFrIFZhbHVlcy4gTWF0Y2hlcyBXaW5JRSwg
cmF0aGVyIHRoYW4gQ1NTMwogCiBlbnVtIEVXb3JkQnJlYWsgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEu
Y3BwCmluZGV4IDRkMGQxMzkwZmZlYTQzYmQ1MDhkNTkxYzJhNzA1NTljNTZhN2VmNTguLjhiZWMx
NjI5NTZhODJmNWY1YmY0MTI0OTE0MzUwYzBkZGJjMDc2NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YS5jcHAKQEAgLTg5LDcgKzg5LDcgQEAgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YSgpCiAgICAgLCBtX3dyYXBGbG93KFJlbmRlclN0eWxlOjppbml0
aWFsV3JhcEZsb3coKSkKICAgICAsIG1fd3JhcFRocm91Z2goUmVuZGVyU3R5bGU6OmluaXRpYWxX
cmFwVGhyb3VnaCgpKQogICAgICwgbV9ydW5uaW5nQWNjZWxlcmF0ZWRBbmltYXRpb24oZmFsc2Up
Ci0gICAgLCBtX2hhc0FzcGVjdFJhdGlvKGZhbHNlKQorICAgICwgbV9hc3BlY3RSYXRpb1R5cGUo
UmVuZGVyU3R5bGU6OmluaXRpYWxBc3BlY3RSYXRpb1R5cGUoKSkKICNpZiBFTkFCTEUoQ1NTX0NP
TVBPU0lUSU5HKQogICAgICwgbV9lZmZlY3RpdmVCbGVuZE1vZGUoUmVuZGVyU3R5bGU6OmluaXRp
YWxCbGVuZE1vZGUoKSkKICNlbmRpZgpAQCAtMTY5LDcgKzE2OSw3IEBAIGlubGluZSBTdHlsZVJh
cmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKGNvbnN0IFN0eWxl
UmFyZU5vbkluCiAgICAgLCBtX3dyYXBGbG93KG8ubV93cmFwRmxvdykKICAgICAsIG1fd3JhcFRo
cm91Z2goby5tX3dyYXBUaHJvdWdoKQogICAgICwgbV9ydW5uaW5nQWNjZWxlcmF0ZWRBbmltYXRp
b24oby5tX3J1bm5pbmdBY2NlbGVyYXRlZEFuaW1hdGlvbikKLSAgICAsIG1faGFzQXNwZWN0UmF0
aW8oby5tX2hhc0FzcGVjdFJhdGlvKQorICAgICwgbV9hc3BlY3RSYXRpb1R5cGUoby5tX2FzcGVj
dFJhdGlvVHlwZSkKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgICwgbV9lZmZlY3Rp
dmVCbGVuZE1vZGUoby5tX2VmZmVjdGl2ZUJsZW5kTW9kZSkKICNlbmRpZgpAQCAtMjYzLDcgKzI2
Myw3IEBAIGJvb2wgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PShjb25zdCBT
dHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhJiBvKSBjCiAjaWYgRU5BQkxFKENTU19DT01QT1NJVElO
RykKICAgICAgICAgJiYgbV9lZmZlY3RpdmVCbGVuZE1vZGUgPT0gby5tX2VmZmVjdGl2ZUJsZW5k
TW9kZQogI2VuZGlmCi0gICAgICAgICYmIG1faGFzQXNwZWN0UmF0aW8gPT0gby5tX2hhc0FzcGVj
dFJhdGlvCisgICAgICAgICYmIG1fYXNwZWN0UmF0aW9UeXBlID09IG8ubV9hc3BlY3RSYXRpb1R5
cGUKICAgICAgICAgJiYgbV9vYmplY3RGaXQgPT0gby5tX29iamVjdEZpdDsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRl
ZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhLmgKaW5kZXggZjMzODcwZTRlZmE3MzA2YTQ4NTA5YTk2ZDMyNjJkN2M0ODlhYTkz
ZC4uYzNiYTUyNjE1ZjhmZTUzNjU5MmVkYTlmYmZlZmJiNWUwN2U4YmQ2ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJp
dGVkRGF0YS5oCkBAIC0xOTAsNyArMTkwLDcgQEAgcHVibGljOgogCiAgICAgdW5zaWduZWQgbV9y
dW5uaW5nQWNjZWxlcmF0ZWRBbmltYXRpb24gOiAxOwogCi0gICAgdW5zaWduZWQgbV9oYXNBc3Bl
Y3RSYXRpbyA6IDE7IC8vIFdoZXRoZXIgb3Igbm90IGFuIGFzcGVjdCByYXRpbyBoYXMgYmVlbiBz
cGVjaWZpZWQuCisgICAgdW5zaWduZWQgbV9hc3BlY3RSYXRpb1R5cGUgOiAyOwogCiAjaWYgRU5B
QkxFKENTU19DT01QT1NJVElORykKICAgICB1bnNpZ25lZCBtX2VmZmVjdGl2ZUJsZW5kTW9kZTog
NTsgLy8gRUJsZW5kTW9kZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDg0NDJhODdiYWQ0ZjU1OTI2YTJlYjU4MzY3YzdlYjNh
YjYyYTMwNDAuLmVlNjY4ZGRjYzAwMGUxN2EwYzEyYjdhOGQ0YjdiNWZlYzA4YjQ3YTggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOCBAQAorMjAxNC0wMi0wOSAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5j
b20+CisKKyAgICAgICAgVXBkYXRlIGFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB0byBoYXZlIGNvbnN0
cmFpbmluZyBrZXl3b3JkcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI4MjYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIHRlc3RzIGZvciBuZXcgZnJvbS1pbnRyaW5zaWMgYW5kIGZyb20tZGltZW5z
aW9ucworICAgICAgICBwcm9wZXJ0eSB2YWx1ZXMuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9hc3Bl
Y3QtcmF0aW8taW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzL2Fz
cGVjdC1yYXRpby1pbmhlcml0YW5jZS5odG1sOgorICAgICAgICAqIGZhc3QvY3NzL2FzcGVjdC1y
YXRpby1wYXJzaW5nLXRlc3RzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9hc3Bl
Y3QtcmF0aW8tcGFyc2luZy10ZXN0cy5odG1sOgorCiAyMDE0LTAyLTA5ICBDYXJsb3MgR2FybmFj
aG8gIDxjYXJsb3NnQGdub21lLm9yZz4KIAogICAgICAgICBbR1RLXSBFbmFibGUgdG91Y2ggZmVh
dHVyZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2FzcGVjdC1yYXRpby1pbmhl
cml0YW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hc3BlY3QtcmF0aW8t
aW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CmluZGV4IDMyMzJlNTA0YTlmZWM1YTAzZTQwNTEyNmEz
MDFkZTU5MzY0NzY4ZjIuLjg1ZjAyNmViMTE0N2Y2MTdkNjM3NWM0YzJjNmRkNDZkNzY3MjQ2ZjUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2FzcGVjdC1yYXRpby1pbmhlcml0YW5j
ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLWlu
aGVyaXRhbmNlLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDEwIEBACi1QQVNTIHRlc3RDb21wdXRl
ZFZhbHVlKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDQiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8i
KSBpcyAiMS80IgotUEFTUyB0ZXN0Q29tcHV0ZWRWYWx1ZSgiYXNwZWN0UmF0aW9UZXN0IiwgImlu
aGVyaXQiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAiMS8yIgotUEFTUyB0ZXN0Q29tcHV0
ZWRWYWx1ZSgiYXNwZWN0UmF0aW9UZXN0IiwgIm5vbmUiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8i
KSBpcyAibm9uZSIKK1BBU1MgdGVzdENvbXB1dGVkVmFsdWUoImFzcGVjdFJhdGlvVGVzdDEiLCAi
MSAvIDQiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAiMS80IgorUEFTUyB0ZXN0Q29tcHV0
ZWRWYWx1ZSgiYXNwZWN0UmF0aW9UZXN0MSIsICJpbmhlcml0IiwgIi13ZWJraXQtYXNwZWN0LXJh
dGlvIikgaXMgIjEvMiIKK1BBU1MgdGVzdENvbXB1dGVkVmFsdWUoImFzcGVjdFJhdGlvVGVzdDEi
LCAiYXV0byIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJhdXRvIgorUEFTUyB0ZXN0Q29t
cHV0ZWRWYWx1ZSgiYXNwZWN0UmF0aW9UZXN0MiIsICIxIC8gNCIsICItd2Via2l0LWFzcGVjdC1y
YXRpbyIpIGlzICIxLzQiCitQQVNTIHRlc3RDb21wdXRlZFZhbHVlKCJhc3BlY3RSYXRpb1Rlc3Qy
IiwgImluaGVyaXQiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAiZnJvbS1kaW1lbnNpb25z
IgorUEFTUyB0ZXN0Q29tcHV0ZWRWYWx1ZSgiYXNwZWN0UmF0aW9UZXN0MyIsICIxIC8gNCIsICIt
d2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIxLzQiCitQQVNTIHRlc3RDb21wdXRlZFZhbHVlKCJh
c3BlY3RSYXRpb1Rlc3QzIiwgImluaGVyaXQiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAi
ZnJvbS1pbnRyaW5zaWMiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1Qg
Q09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2FzcGVjdC1yYXRpby1p
bmhlcml0YW5jZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLWluaGVy
aXRhbmNlLmh0bWwKaW5kZXggM2NlMTk5Y2E5OTAyMmI5OGMxYjA2NzFkOWRiNGI2YjQ0YWQ3YWJj
Zi4uZWIzNWQ1M2Q2Njk5ZTkxZDFlYzc4ZWVlYjAwOGE5OGQzOTA3MzFlZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLWluaGVyaXRhbmNlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLWluaGVyaXRhbmNlLmh0bWwKQEAgLTEs
NyArMSwxMyBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDxkaXYgc3R5bGU9Ii13ZWJraXQtYXNwZWN0LXJh
dGlvOiAxIC8gMjsiPgotICA8ZGl2IGlkPSJhc3BlY3RSYXRpb1Rlc3QiPjwvZGl2PgorICA8ZGl2
IGlkPSJhc3BlY3RSYXRpb1Rlc3QxIj48L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0iLXdlYmtp
dC1hc3BlY3QtcmF0aW86IGZyb20tZGltZW5zaW9uczsiPgorICA8ZGl2IGlkPSJhc3BlY3RSYXRp
b1Rlc3QyIj48L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0iLXdlYmtpdC1hc3BlY3QtcmF0aW86
IGZyb20taW50cmluc2ljOyI+CisgIDxkaXYgaWQ9ImFzcGVjdFJhdGlvVGVzdDMiPjwvZGl2Pgog
PC9kaXY+CiA8c2NyaXB0PgogICAgIGZ1bmN0aW9uIHRlc3RDb21wdXRlZFZhbHVlKGVsZW1lbnRJ
ZCwgdmFsdWUsIHN0eWxlQXR0cmlidXRlKQpAQCAtMTEsOCArMTcsMTIgQEAKICAgICAgICAgdmFy
IGNvbXB1dGVkVmFsdWUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkaXYpW3N0eWxlQXR0cmli
dXRlXTsKICAgICAgICAgcmV0dXJuIGNvbXB1dGVkVmFsdWU7CiAgICAgfQotICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygndGVzdENvbXB1dGVkVmFsdWUoImFzcGVjdFJhdGlvVGVzdCIsICIxIC8g
NCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJzEvNCcpOwotICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygndGVzdENvbXB1dGVkVmFsdWUoImFzcGVjdFJhdGlvVGVzdCIsICJpbmhlcml0Iiwg
Ii13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMS8yJyk7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCd0ZXN0Q29tcHV0ZWRWYWx1ZSgiYXNwZWN0UmF0aW9UZXN0IiwgIm5vbmUiLCAiLXdlYmtp
dC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0
ZXN0Q29tcHV0ZWRWYWx1ZSgiYXNwZWN0UmF0aW9UZXN0MSIsICIxIC8gNCIsICItd2Via2l0LWFz
cGVjdC1yYXRpbyIpJywgJzEvNCcpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENv
bXB1dGVkVmFsdWUoImFzcGVjdFJhdGlvVGVzdDEiLCAiaW5oZXJpdCIsICItd2Via2l0LWFzcGVj
dC1yYXRpbyIpJywgJzEvMicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENvbXB1
dGVkVmFsdWUoImFzcGVjdFJhdGlvVGVzdDEiLCAiYXV0byIsICItd2Via2l0LWFzcGVjdC1yYXRp
byIpJywgJ2F1dG8nKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDb21wdXRlZFZh
bHVlKCJhc3BlY3RSYXRpb1Rlc3QyIiwgIjEgLyA0IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikn
LCAnMS80Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q29tcHV0ZWRWYWx1ZSgi
YXNwZWN0UmF0aW9UZXN0MiIsICJpbmhlcml0IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAn
ZnJvbS1kaW1lbnNpb25zJyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q29tcHV0
ZWRWYWx1ZSgiYXNwZWN0UmF0aW9UZXN0MyIsICIxIC8gNCIsICItd2Via2l0LWFzcGVjdC1yYXRp
byIpJywgJzEvNCcpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENvbXB1dGVkVmFs
dWUoImFzcGVjdFJhdGlvVGVzdDMiLCAiaW5oZXJpdCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIp
JywgJ2Zyb20taW50cmluc2ljJyk7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLWV4cGVjdGVkLnR4dApp
bmRleCA0ZjljN2NlMzZmNGFlODdiODcyNGM0ODRhNjYyMWY3YjAyNjlmOTE3Li43MGJhNmVhNjc1
MDU2YzI5MjY0NTg3M2Q5OTU0MmQ1YmQ3NzA4YjAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMtZXhwZWN0ZWQudHh0
CkBAIC0xMCwxOCArMTAsMjEgQEAgUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0Iiwg
IjEgLyAyIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIjEvMiIKIFBBU1MgdGVzdFBhcnNp
bmcoImFzcGVjdFJhdGlvVGVzdCIsICIxLjIgLyAyIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikg
aXMgIjEuMi8yIgogUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjIgLyAwLjUi
LCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAiMi8wLjUiCiBQQVNTIHRlc3RQYXJzaW5nKCJh
c3BlY3RSYXRpb1Rlc3QiLCAiaW5oZXJpdCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJp
bmhlcml0IgotUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIm5vbmUiLCAiLXdl
YmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKLVBBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJh
dGlvVGVzdCIsICIxIDIiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKLVBBU1Mg
dGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJhLzEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0
aW8iKSBpcyAibm9uZSIKLVBBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxL2Ei
LCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKLVBBU1MgdGVzdFBhcnNpbmcoImFz
cGVjdFJhdGlvVGVzdCIsICJhYmMxMjMiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9u
ZSIKLVBBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIiwgIi13ZWJraXQtYXNw
ZWN0LXJhdGlvIikgaXMgIm5vbmUiCi1QQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3Qi
LCAiMSAvIDAiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKLVBBU1MgdGVzdFBh
cnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIwIC8gMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIp
IGlzICJub25lIgotUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjAgLyAwIiwg
Ii13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCi1QQVNTIHRlc3RQYXJzaW5nKCJhc3Bl
Y3RSYXRpb1Rlc3QiLCAiLTEgLyA4IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUi
Ci1QQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIC05IiwgIi13ZWJraXQt
YXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCi1QQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rl
c3QiLCAiLTEgLyAtNCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0
ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgImZyb20tZGltZW5zaW9ucyIsICItd2Via2l0
LWFzcGVjdC1yYXRpbyIpIGlzICJmcm9tLWRpbWVuc2lvbnMiCitQQVNTIHRlc3RQYXJzaW5nKCJh
c3BlY3RSYXRpb1Rlc3QiLCAiZnJvbS1pbnRyaW5zaWMiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8i
KSBpcyAiZnJvbS1pbnRyaW5zaWMiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3Qi
LCAiYXV0byIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJhdXRvIgorUEFTUyB0ZXN0UGFy
c2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIm5vbmUiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBp
cyAiYXV0byIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIDIiLCAiLXdl
YmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAiYXV0byIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJh
dGlvVGVzdCIsICJhLzEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAiYXV0byIKK1BBU1Mg
dGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxL2EiLCAiLXdlYmtpdC1hc3BlY3QtcmF0
aW8iKSBpcyAiYXV0byIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJhYmMx
MjMiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAiYXV0byIKK1BBU1MgdGVzdFBhcnNpbmco
ImFzcGVjdFJhdGlvVGVzdCIsICIxIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgImF1dG8i
CitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDAiLCAiLXdlYmtpdC1h
c3BlY3QtcmF0aW8iKSBpcyAiYXV0byIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVz
dCIsICIwIC8gMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJhdXRvIgorUEFTUyB0ZXN0
UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjAgLyAwIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlv
IikgaXMgImF1dG8iCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyA4
IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgImF1dG8iCitQQVNTIHRlc3RQYXJzaW5nKCJh
c3BlY3RSYXRpb1Rlc3QiLCAiMSAvIC05IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgImF1
dG8iCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyAtNCIsICItd2Vi
a2l0LWFzcGVjdC1yYXRpbyIpIGlzICJhdXRvIgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9h
c3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNw
ZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbAppbmRleCBlZTRmODFlNmIyOTMxN2NkYzEyZGE2
OGI3ZTE3OTkwOTQ5Y2I5NGQxLi5kODAxMmMzYTU1NTI0NzkwNTZjNTZhNTZjNzg5ZGE4YjU3OWQ1
MTVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2lu
Zy10ZXN0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJz
aW5nLXRlc3RzLmh0bWwKQEAgLTIzLDIwICsyMywyMyBAQAogICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEuMiAvIDIiLCAiLXdlYmtp
dC1hc3BlY3QtcmF0aW8iKScsICcxLjIvMicpOwogICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjIgLyAwLjUiLCAiLXdlYmtpdC1hc3Bl
Y3QtcmF0aW8iKScsICcyLzAuNScpOwogICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0
UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgImluaGVyaXQiLCAiLXdlYmtpdC1hc3BlY3QtcmF0
aW8iKScsICdpbmhlcml0Jyk7Ci0gICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJz
aW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAibm9uZSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywg
J25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVj
dFJhdGlvVGVzdCIsICJmcm9tLWRpbWVuc2lvbnMiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScs
ICdmcm9tLWRpbWVuc2lvbnMnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBh
cnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJmcm9tLWludHJpbnNpYyIsICItd2Via2l0LWFzcGVj
dC1yYXRpbyIpJywgJ2Zyb20taW50cmluc2ljJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiYXV0byIsICItd2Via2l0LWFzcGVj
dC1yYXRpbyIpJywgJ2F1dG8nKTsKIAogICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmUgaW52YWxp
ZCBhbmQgc2hvdWxkIGdldCBpZ25vcmVkLgotICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0
ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgMiIsICItd2Via2l0LWFzcGVjdC1yYXRp
byIpJywgJ25vbmUnKTsKLSAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmco
ImFzcGVjdFJhdGlvVGVzdCIsICJhLzEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25l
Jyk7Ci0gICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRp
b1Rlc3QiLCAiMS9hIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOwotICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgImFi
YzEyMyIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKLSAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIiwgIi13ZWJr
aXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOwotICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAwIiwgIi13ZWJraXQtYXNwZWN0
LXJhdGlvIiknLCAnbm9uZScpOwotICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFy
c2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjAgLyAxIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikn
LCAnbm9uZScpOwotICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNw
ZWN0UmF0aW9UZXN0IiwgIjAgLyAwIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScp
OwotICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9U
ZXN0IiwgIi0xIC8gOCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKLSAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIx
IC8gLTkiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7Ci0gICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyAtNCIs
ICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJub25lIiwgIi13ZWJraXQt
YXNwZWN0LXJhdGlvIiknLCAnYXV0bycpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0
ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgMiIsICItd2Via2l0LWFzcGVjdC1yYXRp
byIpJywgJ2F1dG8nKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmco
ImFzcGVjdFJhdGlvVGVzdCIsICJhLzEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdhdXRv
Jyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRp
b1Rlc3QiLCAiMS9hIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnYXV0bycpOworICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgImFi
YzEyMyIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ2F1dG8nKTsKKyAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIiwgIi13ZWJr
aXQtYXNwZWN0LXJhdGlvIiknLCAnYXV0bycpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAwIiwgIi13ZWJraXQtYXNwZWN0
LXJhdGlvIiknLCAnYXV0bycpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFy
c2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjAgLyAxIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikn
LCAnYXV0bycpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNw
ZWN0UmF0aW9UZXN0IiwgIjAgLyAwIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnYXV0bycp
OworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9U
ZXN0IiwgIi0xIC8gOCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ2F1dG8nKTsKKyAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIx
IC8gLTkiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdhdXRvJyk7CisgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyAtNCIs
ICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ2F1dG8nKTsKICAgICA8L3NjcmlwdD4KICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiAg
IDwvYm9keT4K
</data>
<flag name="review"
          id="247718"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>