<?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>138530</bug_id>
          
          <creation_ts>2014-11-07 17:34:29 -0800</creation_ts>
          <short_desc>Context menus should not offer the &quot;Download video&quot; option for videos that cannot be downloaded</short_desc>
          <delta_ts>2014-11-14 02:46:18 -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>Media</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</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Beth Dakin">bdakin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>evab.u-szeged</cc>
    
    <cc>jer.noble</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1047256</commentid>
    <comment_count>0</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-11-07 17:34:29 -0800</bug_when>
    <thetext>Context menus should not offer the &quot;Download video&quot; option for videos that cannot be downloaded</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047291</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-11-08 10:52:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/18919130&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048401</commentid>
    <comment_count>2</comment_count>
      <attachid>241484</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-11-13 07:36:25 -0800</bug_when>
    <thetext>Created attachment 241484
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048547</commentid>
    <comment_count>3</comment_count>
      <attachid>241517</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-11-13 16:18:18 -0800</bug_when>
    <thetext>Created attachment 241517
Patch

I took over this patch from Eric. Eric wanted to write a test, but I don&apos;t think it is possible to capture this with a layout test. oncontextmenu will allow you to override the context menu action, but it doesn&apos;t let you see what is in the default menu. 

I also made one small change that should keep GTK building.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048558</commentid>
    <comment_count>4</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-11-13 16:49:34 -0800</bug_when>
    <thetext>Thanks Tim! http://trac.webkit.org/changeset/176108</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048710</commentid>
    <comment_count>5</comment_count>
    <who name="Éva Balázsfalvi">evab.u-szeged</who>
    <bug_when>2014-11-14 02:46:18 -0800</bug_when>
    <thetext>*** Bug 138734 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241484</attachid>
            <date>2014-11-13 07:36:25 -0800</date>
            <delta_ts>2014-11-13 16:18:38 -0800</delta_ts>
            <desc>WIP patch</desc>
            <filename>open_source_patch_1.txt</filename>
            <type>text/plain</type>
            <size>14174</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAkocmV2aXNpb24g
MTc1OTkwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjI2OSwxMSArMjI2OSw2IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
YWRkUGxheWVkUmFuZ2UoY28KICAgICBtX3BsYXllZFRpbWVSYW5nZXMtPnJhbmdlcygpLmFkZChz
dGFydCwgZW5kKTsKIH0gIAogCi1ib29sIEhUTUxNZWRpYUVsZW1lbnQ6OnN1cHBvcnRzU2F2ZSgp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fcGxheWVyID8gbV9wbGF5ZXItPnN1cHBvcnRzU2F2ZSgp
IDogZmFsc2U7Ci19Ci0KIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6c3VwcG9ydHNTY2FubmluZygp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fcGxheWVyID8gbV9wbGF5ZXItPnN1cHBvcnRzU2Nhbm5p
bmcoKSA6IGZhbHNlOwpAQCAtNjEwMyw5ICs2MDk4LDE3IEBAIGJvb2wgSFRNTE1lZGlhRWxlbWVu
dDo6ZG9lc0hhdmVBdHRyaWJ1dGUKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0U2hvdWxkQnVm
ZmVyRGF0YShib29sIHNob3VsZEJ1ZmZlcikKIHsKICAgICBpZiAobV9wbGF5ZXIpCi0gICAgICAg
IHJldHVybiBtX3BsYXllci0+c2V0U2hvdWxkQnVmZmVyRGF0YShzaG91bGRCdWZmZXIpOworICAg
ICAgICBtX3BsYXllci0+c2V0U2hvdWxkQnVmZmVyRGF0YShzaG91bGRCdWZmZXIpOwogfQotICAg
IAorCitib29sIEhUTUxNZWRpYUVsZW1lbnQ6OmNhblNhdmVNZWRpYURhdGEoKSBjb25zdAorewor
ICAgIGlmIChtX3BsYXllcikKKyAgICAgICAgcmV0dXJuIG1fcGxheWVyLT5jYW5TYXZlTWVkaWFE
YXRhKCk7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIH0KIAogI2VuZGlmCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAkocmV2aXNpb24gMTc1OTkwKQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEx
OCw5ICsxMTgsMTAgQEAgcHVibGljOgogICAgIC8vIEV2ZW50dWFsbHkgb3ZlcmxvYWRlZCBpbiBI
VE1MVmlkZW9FbGVtZW50CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRnVsbHNjcmVlbigpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9OwogCi0gICAgdmlydHVhbCBib29sIHN1cHBv
cnRzU2F2ZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c1NjYW5uaW5nKCkgY29u
c3Qgb3ZlcnJpZGU7Ci0gICAgCisKKyAgICBib29sIGNhblNhdmVNZWRpYURhdGEoKSBjb25zdDsK
KwogICAgIHZpcnR1YWwgYm9vbCBkb2VzSGF2ZUF0dHJpYnV0ZShjb25zdCBBdG9taWNTdHJpbmcm
LCBBdG9taWNTdHJpbmcqIHZhbHVlID0gbnVsbHB0cikgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBX
RUJDT1JFX0VYUE9SVCBQbGF0Zm9ybU1lZGlhIHBsYXRmb3JtTWVkaWEoKSBjb25zdDsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAJKHJldmlz
aW9uIDE3NTk5MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODkwLDcgKzg5MCw3IEBAIHZvaWQgQ29udGV4dE1lbnVD
b250cm9sbGVyOjpwb3B1bGF0ZSgpCiAgICAgICAgICAgICBhcHBlbmRJdGVtKCpzZXBhcmF0b3JJ
dGVtKCksIG1fY29udGV4dE1lbnUuZ2V0KCkpOwogICAgICAgICAgICAgYXBwZW5kSXRlbShDb3B5
TWVkaWFMaW5rSXRlbSwgbV9jb250ZXh0TWVudS5nZXQoKSk7CiAgICAgICAgICAgICBhcHBlbmRJ
dGVtKE9wZW5NZWRpYUluTmV3V2luZG93SXRlbSwgbV9jb250ZXh0TWVudS5nZXQoKSk7Ci0gICAg
ICAgICAgICBpZiAobG9hZGVyLmNsaWVudCgpLmNhbkhhbmRsZVJlcXVlc3QoUmVzb3VyY2VSZXF1
ZXN0KG1lZGlhVVJMKSkpCisgICAgICAgICAgICBpZiAobV9jb250ZXh0LmhpdFRlc3RSZXN1bHQo
KS5pc0Rvd25sb2FkYWJsZU1lZGlhKCkgJiYgbG9hZGVyLmNsaWVudCgpLmNhbkhhbmRsZVJlcXVl
c3QoUmVzb3VyY2VSZXF1ZXN0KG1lZGlhVVJMKSkpCiAgICAgICAgICAgICAgICAgYXBwZW5kSXRl
bShEb3dubG9hZE1lZGlhSXRlbSwgbV9jb250ZXh0TWVudS5nZXQoKSk7CiAgICAgICAgIH0KIApJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmNwcAkocmV2aXNpb24gMTc1OTkwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NTIsOSArNTUyLDkgQEAgYm9v
bCBNZWRpYVBsYXllcjo6c3VwcG9ydHNGdWxsc2NyZWVuKCkgYwogICAgIHJldHVybiBtX3ByaXZh
dGUtPnN1cHBvcnRzRnVsbHNjcmVlbigpOwogfQogCi1ib29sIE1lZGlhUGxheWVyOjpzdXBwb3J0
c1NhdmUoKSBjb25zdAorYm9vbCBNZWRpYVBsYXllcjo6Y2FuU2F2ZU1lZGlhRGF0YSgpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIG1fcHJpdmF0ZS0+c3VwcG9ydHNTYXZlKCk7CisgICAgcmV0dXJuIG1f
cHJpdmF0ZS0+Y2FuU2F2ZU1lZGlhRGF0YSgpOwogfQogCiBib29sIE1lZGlhUGxheWVyOjpzdXBw
b3J0c1NjYW5uaW5nKCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAkocmV2aXNpb24gMTc1OTkwKQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjky
LDggKzI5Miw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0tleVN5c3RlbShj
b25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CiAKICAgICBi
b29sIHN1cHBvcnRzRnVsbHNjcmVlbigpIGNvbnN0OwotICAgIGJvb2wgc3VwcG9ydHNTYXZlKCkg
Y29uc3Q7CiAgICAgYm9vbCBzdXBwb3J0c1NjYW5uaW5nKCkgY29uc3Q7CisgICAgYm9vbCBjYW5T
YXZlTWVkaWFEYXRhKCkgY29uc3Q7CiAgICAgYm9vbCByZXF1aXJlc0ltbWVkaWF0ZUNvbXBvc2l0
aW5nKCkgY29uc3Q7CiAgICAgYm9vbCBkb2VzSGF2ZUF0dHJpYnV0ZShjb25zdCBBdG9taWNTdHJp
bmcmLCBBdG9taWNTdHJpbmcqIHZhbHVlID0gbnVsbHB0cikgY29uc3Q7CiAgICAgUGxhdGZvcm1N
ZWRpYSBwbGF0Zm9ybU1lZGlhKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAkocmV2aXNpb24gMTc1
OTkwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2
YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTY5LDEwICs2OSwxMSBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIHNldFNob3VsZEJ1ZmZlckRhdGEoYm9vbCkgeyB9CiAKICAgICB2aXJ0dWFsIGJv
b2wgc3VwcG9ydHNGdWxsc2NyZWVuKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0
dWFsIGJvb2wgc3VwcG9ydHNTYXZlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0
dWFsIGJvb2wgc3VwcG9ydHNTY2FubmluZygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAg
dmlydHVhbCBib29sIHJlcXVpcmVzSW1tZWRpYXRlQ29tcG9zaXRpbmcoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQogCisgICAgdmlydHVhbCBib29sIGNhblNhdmVNZWRpYURhdGEoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQorCiAgICAgdmlydHVhbCBJbnRTaXplIG5hdHVyYWxTaXplKCkgY29u
c3QgPSAwOwogCiAgICAgdmlydHVhbCBib29sIGhhc1ZpZGVvKCkgY29uc3QgPSAwOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bi5jcHAJKHJldmlzaW9uIDE3NTk5MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDQ3LDYgKzEwNDcsMzAgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb246OmV4dAogfQogI2VuZGlmCiAKK1VSTCBNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb246OnJlc29sdmVkVVJMKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fYXNzZXRVUkwubGVu
Z3RoKCkpCisgICAgICAgIHJldHVybiBVUkwoKTsKKworICAgIHJldHVybiBVUkwoUGFyc2VkVVJM
U3RyaW5nLCBtX2Fzc2V0VVJMKTsKK30KKworYm9vbCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb246OmNhblNhdmVNZWRpYURhdGEoKSBjb25zdAoreworICAgIFVSTCB1cmwgPSByZXNvbHZl
ZFVSTCgpOworCisgICAgaWYgKHVybC5pc0xvY2FsRmlsZSgpKQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgIGlmICghdXJsLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgaWYgKGlzTGl2ZVN0cmVhbSgpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAj
ZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uLmgJKHJldmlzaW9uIDE3NTk5MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24u
aAkod29ya2luZyBjb3B5KQpAQCAtMTkxLDYgKzE5MSw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0
dWFsIHZvaWQgYWNjZWxlcmF0ZWRSZW5kZXJpbmdTdGF0ZUNoYW5nZWQoKSBvdmVycmlkZTsKICAg
ICB2aXJ0dWFsIGJvb2wgc2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbygpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIG1fc2hvdWxkTWFpbnRhaW5Bc3BlY3RSYXRpbzsgfQogICAgIHZpcnR1YWwgdm9p
ZCBzZXRTaG91bGRNYWludGFpbkFzcGVjdFJhdGlvKGJvb2wpIG92ZXJyaWRlOworICAgIHZpcnR1
YWwgYm9vbCBjYW5TYXZlTWVkaWFEYXRhKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFs
IE1lZGlhUGxheWVyOjpNb3ZpZUxvYWRUeXBlIG1vdmllTG9hZFR5cGUoKSBjb25zdDsKICAgICB2
aXJ0dWFsIHZvaWQgcHJlcGFyZUZvclJlbmRlcmluZygpOwpAQCAtMzAxLDYgKzMwMiw4IEBAIHBy
b3RlY3RlZDoKICAgICB2b2lkIGNsZWFyVGV4dFRyYWNrcygpOwogICAgIFZlY3RvcjxSZWZQdHI8
SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRj4+IG1fdGV4dFRyYWNrczsKIAordmlydHVhbCBVUkwg
cmVzb2x2ZWRVUkwoKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBNZWRpYVBsYXllciogbV9wbGF5
ZXI7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgJKHJldmlzaW9uIDE3NTk5MCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaAkod29ya2luZyBjb3B5KQpAQCAtMjgwLDYgKzI4
MCw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBkb3VibGUgbWF4RmFzdEZvcndhcmRSYXRlKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9jYWNoZWRDYW5QbGF5RmFzdEZvcndhcmQgPyBzdGQ6
Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5KCkgOiAyLjA7IH0KICAgICB2aXJ0dWFs
IGRvdWJsZSBtaW5GYXN0UmV2ZXJzZVJhdGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2Nh
Y2hlZENhblBsYXlGYXN0UmV2ZXJzZSA/IC1zdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46Omlu
ZmluaXR5KCkgOiAwLjA7IH0KIAorICAgIHZpcnR1YWwgVVJMIHJlc29sdmVkVVJMKCkgY29uc3Qg
b3ZlcnJpZGU7CisKICAgICBXZWFrUHRyRmFjdG9yeTxNZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25PYmpDPiBtX3dlYWtQdHJGYWN0b3J5OwogCiAgICAgUmV0YWluUHRyPEFWVVJMQXNzZXQ+
IG1fYXZBc3NldDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQkocmV2aXNpb24gMTc1OTkw
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQkod29ya2luZyBjb3B5KQpAQCAt
MjgzNCw2ICsyODM0LDE0IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
QzoKICAgICBtX2NhY2hlZENhblBsYXlGYXN0UmV2ZXJzZSA9IG5ld1ZhbHVlOwogfQogCitVUkwg
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cmVzb2x2ZWRVUkwoKSBjb25zdAor
eworICAgIGlmICghbV9hdkFzc2V0KQorICAgICAgICByZXR1cm4gTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uOjpyZXNvbHZlZFVSTCgpOworCisgICAgcmV0dXJuIFVSTChbbV9hdkFzc2V0
IHJlc29sdmVkVVJMXSk7Cit9CisKIE5TQXJyYXkqIGFzc2V0TWV0YWRhdGFLZXlOYW1lcygpCiB7
CiAgICAgc3RhdGljIE5TQXJyYXkqIGtleXM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAkocmV2aXNpb24gMTc1OTkwKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5MjAsNiArMTkyMCwyMCBAQCBib29sIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6ZGlkUGFzCiAgICAgcmV0dXJuIGZhbHNlOwogfQog
Citib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2FuU2F2ZU1lZGlhRGF0YSgpIGNv
bnN0Cit7CisgICAgaWYgKGlzTGl2ZVN0cmVhbSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBpZiAobV91cmwuaXNMb2NhbEZpbGUoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAg
ICBpZiAobV91cmwucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICAKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIH0KIAogI2VuZGlmIC8vIFVTRShHU1RS
RUFNRVIpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQ
bGF5ZXJQcml2YXRlUVRLaXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaAkocmV2aXNpb24gMTc1OTkw
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJp
dmF0ZVFUS2l0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEzNSw2ICsxMzUsOCBAQCBwcml2YXRlOgog
ICAgIGJvb2wgaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdDsKICAgICBNZWRpYVBsYXll
cjo6TW92aWVMb2FkVHlwZSBtb3ZpZUxvYWRUeXBlKCkgY29uc3Q7CiAKKyAgICB2aXJ0dWFsIGJv
b2wgY2FuU2F2ZU1lZGlhRGF0YSgpIGNvbnN0IG92ZXJyaWRlOworCiAgICAgdm9pZCBjcmVhdGVR
VE1vdmllKGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIGNyZWF0ZVFUTW92aWUoTlNVUkwg
KiwgTlNEaWN0aW9uYXJ5ICptb3ZpZUF0dHJpYnV0ZXMpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVy
UHJpdmF0ZVFUS2l0Lm1tCShyZXZpc2lvbiAxNzU5OTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTE1MDMsNiArMTUwMywyNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Ojpz
ZXRQcml2YXRlCiAgICAgW21fcXRNb3ZpZS5nZXQoKSBzZXRBdHRyaWJ1dGU6W05TTnVtYmVyIG51
bWJlcldpdGhCb29sOiFwcml2YXRlQnJvd3NpbmddIGZvcktleTpAIlFUTW92aWVBbGxvd1BlcnNp
c3RlbnRDYWNoZUF0dHJpYnV0ZSJdOwogfQogCitib29sIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0
OjpjYW5TYXZlTWVkaWFEYXRhKCkgY29uc3QKK3sKKyAgICBVUkwgdXJsOworCisgICAgaWYgKGR1
cmF0aW9uTWVkaWFUaW1lKCkuaXNQb3NpdGl2ZUluZmluaXRlKCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIGlmIChtX3F0TW92aWUpCisgICAgICAgIHVybCA9IFVSTCh3a1FUTW92aWVS
ZXNvbHZlZFVSTChtX3F0TW92aWUuZ2V0KCkpKTsKKyAgICBlbHNlCisgICAgICAgIHVybCA9IFVS
TChQYXJzZWRVUkxTdHJpbmcsIG1fbW92aWVVUkwpOworCisgICAgaWYgKHVybC5pc0xvY2FsRmls
ZSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGlmICh1cmwucHJvdG9jb2xJc0luSFRU
UEZhbWlseSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogQGltcGxlbWVudGF0aW9uIFdlYkNvcmVN
b3ZpZU9ic2VydmVyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3Vs
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1
bHQuY3BwCShyZXZpc2lvbiAxNzU5OTApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0
VGVzdFJlc3VsdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwNyw5ICs1MDcsMTIgQEAgdm9pZCBI
aXRUZXN0UmVzdWx0Ojp0b2dnbGVNZWRpYU11dGVTdGF0ZQogCiBib29sIEhpdFRlc3RSZXN1bHQ6
OmlzRG93bmxvYWRhYmxlTWVkaWEoKSBjb25zdAogewotICAgIC8vIEZJWE1FOiBXZSBzaG91bGQg
YWN0dWFsbHkgYW5zd2VyIGluc3RlYWQgb2YgYWx3YXlzIHJldHVybmluZyB0cnVlIGZvciBtZWRp
YSBlbGVtZW50cy4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTM4NTMwCi0gICAgcmV0dXJuIG1lZGlhRWxlbWVudCgpID8gdHJ1ZSA6IGZhbHNlOworI2lm
IEVOQUJMRShWSURFTykKKyAgICBpZiAoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbHQgPSBtZWRp
YUVsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIG1lZGlhRWx0LT5jYW5TYXZlTWVkaWFEYXRhKCk7
CisjZW5kaWYKKworICAgIHJldHVybiBmYWxzZTsKIH0KIAogVVJMIEhpdFRlc3RSZXN1bHQ6OmFi
c29sdXRlTGlua1VSTCgpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZUhpdFRlc3RSZXN1bHQuY3BwCShyZXZpc2lvbiAxNzU5OTApCisrKyBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEwOCw2ICsxMDgsMTEgQEAgYm9vbCBJbmplY3RlZEJ1bmRsZUhp
dFRlc3RSZXN1bHQ6Om1lZGlhSAogICAgIHJldHVybiBtX2hpdFRlc3RSZXN1bHQubWVkaWFIYXNB
dWRpbygpOwogfQogCitib29sIEluamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdDo6aXNEb3dubG9h
ZGFibGVNZWRpYSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1faGl0VGVzdFJlc3VsdC5pc0Rvd25s
b2FkYWJsZU1lZGlhKCk7Cit9CisKIEJ1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUgSW5qZWN0
ZWRCdW5kbGVIaXRUZXN0UmVzdWx0OjptZWRpYVR5cGUoKSBjb25zdAogewogI2lmICFFTkFCTEUo
VklERU8pCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmgJ
KHJldmlzaW9uIDE3NTk5MCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmgJKHdvcmtpbmcgY29weSkKQEAgLTU1
LDYgKzU1LDcgQEAgcHVibGljOgogICAgIFN0cmluZyBhYnNvbHV0ZU1lZGlhVVJMKCkgY29uc3Q7
CiAgICAgYm9vbCBtZWRpYUlzSW5GdWxsc2NyZWVuKCkgY29uc3Q7CiAgICAgYm9vbCBtZWRpYUhh
c0F1ZGlvKCkgY29uc3Q7CisgICAgYm9vbCBpc0Rvd25sb2FkYWJsZU1lZGlhKCkgY29uc3Q7CiAg
ICAgQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZSBtZWRpYVR5cGUoKSBjb25zdDsKIAogICAg
IFN0cmluZyBsaW5rTGFiZWwoKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlSGl0VGVzdFJlc3VsdC5jcHAJKHJldmlzaW9uIDE3NTk5MCkKKysrIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTAsNiArOTAsMTEgQEAgYm9vbCBXS0J1bmRsZUhpdFRl
c3RSZXN1bHRNZWRpYUhhc0F1ZGlvKAogICAgIHJldHVybiB0b0ltcGwoaGl0VGVzdFJlc3VsdFJl
ZiktPm1lZGlhSGFzQXVkaW8oKTsKIH0KIAorYm9vbCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRJc0Rv
d25sb2FkYWJsZU1lZGlhKFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0UmVm
KQoreworICAgIHJldHVybiB0b0ltcGwoaGl0VGVzdFJlc3VsdFJlZiktPmlzRG93bmxvYWRhYmxl
TWVkaWEoKTsKK30KKwogV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlIFdLQnVuZGxlSGl0
VGVzdFJlc3VsdEdldE1lZGlhVHlwZShXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJl
c3VsdFJlZikKIHsKICAgICByZXR1cm4gdG9BUEkodG9JbXBsKGhpdFRlc3RSZXN1bHRSZWYpLT5t
ZWRpYVR5cGUoKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVz
dWx0LmgJKHJldmlzaW9uIDE3NTk5MCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTU0LDYgKzU0LDcgQEAgV0tfRVhQT1JUIFdLVVJMUmVmIFdLQnVuZGxlSGl0VGVzdFJlc3Vs
dAogV0tfRVhQT1JUIFdLVVJMUmVmIFdLQnVuZGxlSGl0VGVzdFJlc3VsdENvcHlBYnNvbHV0ZU1l
ZGlhVVJMKFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0KTsKIFdLX0VYUE9S
VCBib29sIFdLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhSXNJbkZ1bGxzY3JlZW4oV0tCdW5kbGVI
aXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHQpOwogV0tfRVhQT1JUIGJvb2wgV0tCdW5kbGVI
aXRUZXN0UmVzdWx0TWVkaWFIYXNBdWRpbyhXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVz
dFJlc3VsdCk7CitXS19FWFBPUlQgYm9vbCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRJc0Rvd25sb2Fk
YWJsZU1lZGlhKFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0UmVmKTsKIFdL
X0VYUE9SVCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUgV0tCdW5kbGVIaXRUZXN0UmVz
dWx0R2V0TWVkaWFUeXBlKFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0KTsK
IAogV0tfRVhQT1JUIFdLUmVjdCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRHZXRJbWFnZVJlY3QoV0tC
dW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241517</attachid>
            <date>2014-11-13 16:18:18 -0800</date>
            <delta_ts>2014-11-13 16:44:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>for-review-eric.txt</filename>
            <type>text/plain</type>
            <size>18346</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NjEwMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBACisyMDE0LTExLTEzICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIENvbnRleHQgbWVudXMg
c2hvdWxkIG5vdCBvZmZlciB0aGUgIkRvd25sb2FkIHZpZGVvIiBvcHRpb24gZm9yIHZpZGVvcyB0
aGF0IGNhbm5vdCAKKyAgICAgICAgYmUgZG93bmxvYWRlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4NTMwCisgICAgICAgIC1hbmQgY29ycmVzcG9u
ZGluZy0KKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMTg5MTkxMzAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6
CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogcGFnZS9Db250
ZXh0TWVudUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250
cm9sbGVyOjpwb3B1bGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OmNhblNhdmVNZWRpYURhdGEp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OnN1cHBvcnRzU2F2ZSk6IERlbGV0ZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6c3VwcG9ydHNGdWxsc2NyZWVuKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6Y2FuU2F2ZU1lZGlhRGF0
YSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2U6OnN1cHBv
cnRzU2F2ZSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OnJlc29sdmVkVVJMKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6Y2FuU2F2ZU1lZGlhRGF0
YSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQzo6cmVzb2x2ZWRVUkwpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjYW5TYXZlTWVkaWFEYXRh
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxh
eWVyUHJpdmF0ZVFUS2l0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlh
UGxheWVyUHJpdmF0ZVFUS2l0Lm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2
YXRlUVRLaXQ6OmNhblNhdmVNZWRpYURhdGEpOgorICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0
UmVzdWx0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OmlzRG93bmxvYWRh
YmxlTWVkaWEpOgorCiAyMDE0LTExLTEzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBw
bGUuY29tPgogCiAgICAgICAgIFtXSzJdIEZpcmUgYSBsYXlvdXQgbWlsZXN0b25lIG9uIHNlc3Np
b24gcmVzdG9yZSBiYXNlZCBvbiByZW5kZXIgdHJlZSBzaXplCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHJldmlzaW9uIDE3NjA4NikKKysrIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyNjks
MTEgKzIyNjksNiBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmFkZFBsYXllZFJhbmdlKGNvCiAg
ICAgbV9wbGF5ZWRUaW1lUmFuZ2VzLT5yYW5nZXMoKS5hZGQoc3RhcnQsIGVuZCk7CiB9ICAKIAot
Ym9vbCBIVE1MTWVkaWFFbGVtZW50OjpzdXBwb3J0c1NhdmUoKSBjb25zdAotewotICAgIHJldHVy
biBtX3BsYXllciA/IG1fcGxheWVyLT5zdXBwb3J0c1NhdmUoKSA6IGZhbHNlOwotfQotCiBib29s
IEhUTUxNZWRpYUVsZW1lbnQ6OnN1cHBvcnRzU2Nhbm5pbmcoKSBjb25zdAogewogICAgIHJldHVy
biBtX3BsYXllciA/IG1fcGxheWVyLT5zdXBwb3J0c1NjYW5uaW5nKCkgOiBmYWxzZTsKQEAgLTYx
MTcsOSArNjExMiwxNyBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OmRvZXNIYXZlQXR0cmlidXRl
CiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldFNob3VsZEJ1ZmZlckRhdGEoYm9vbCBzaG91bGRC
dWZmZXIpCiB7CiAgICAgaWYgKG1fcGxheWVyKQotICAgICAgICByZXR1cm4gbV9wbGF5ZXItPnNl
dFNob3VsZEJ1ZmZlckRhdGEoc2hvdWxkQnVmZmVyKTsKKyAgICAgICAgbV9wbGF5ZXItPnNldFNo
b3VsZEJ1ZmZlckRhdGEoc2hvdWxkQnVmZmVyKTsKIH0KLSAgICAKKworYm9vbCBIVE1MTWVkaWFF
bGVtZW50OjpjYW5TYXZlTWVkaWFEYXRhKCkgY29uc3QKK3sKKyAgICBpZiAobV9wbGF5ZXIpCisg
ICAgICAgIHJldHVybiBtX3BsYXllci0+Y2FuU2F2ZU1lZGlhRGF0YSgpOworCisgICAgcmV0dXJu
IGZhbHNlOworfQorCiB9CiAKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmgJKHJldmlzaW9uIDE3NjA4NikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTgsOSArMTE4LDEwIEBAIHB1Ymxp
YzoKICAgICAvLyBFdmVudHVhbGx5IG92ZXJsb2FkZWQgaW4gSFRNTFZpZGVvRWxlbWVudAogICAg
IHZpcnR1YWwgYm9vbCBzdXBwb3J0c0Z1bGxzY3JlZW4oKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBmYWxzZTsgfTsKIAotICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c1NhdmUoKSBjb25zdDsKICAg
ICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNTY2FubmluZygpIGNvbnN0IG92ZXJyaWRlOwotICAgIAor
CisgICAgYm9vbCBjYW5TYXZlTWVkaWFEYXRhKCkgY29uc3Q7CisKICAgICB2aXJ0dWFsIGJvb2wg
ZG9lc0hhdmVBdHRyaWJ1dGUoY29uc3QgQXRvbWljU3RyaW5nJiwgQXRvbWljU3RyaW5nKiB2YWx1
ZSA9IG51bGxwdHIpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgUGxhdGZv
cm1NZWRpYSBwbGF0Zm9ybU1lZGlhKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAxNzYwODYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTg5MCw3ICs4OTAsNyBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6cG9wdWxhdGUo
KQogICAgICAgICAgICAgYXBwZW5kSXRlbSgqc2VwYXJhdG9ySXRlbSgpLCBtX2NvbnRleHRNZW51
LmdldCgpKTsKICAgICAgICAgICAgIGFwcGVuZEl0ZW0oQ29weU1lZGlhTGlua0l0ZW0sIG1fY29u
dGV4dE1lbnUuZ2V0KCkpOwogICAgICAgICAgICAgYXBwZW5kSXRlbShPcGVuTWVkaWFJbk5ld1dp
bmRvd0l0ZW0sIG1fY29udGV4dE1lbnUuZ2V0KCkpOwotICAgICAgICAgICAgaWYgKGxvYWRlci5j
bGllbnQoKS5jYW5IYW5kbGVSZXF1ZXN0KFJlc291cmNlUmVxdWVzdChtZWRpYVVSTCkpKQorICAg
ICAgICAgICAgaWYgKG1fY29udGV4dC5oaXRUZXN0UmVzdWx0KCkuaXNEb3dubG9hZGFibGVNZWRp
YSgpICYmIGxvYWRlci5jbGllbnQoKS5jYW5IYW5kbGVSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCht
ZWRpYVVSTCkpKQogICAgICAgICAgICAgICAgIGFwcGVuZEl0ZW0oRG93bmxvYWRNZWRpYUl0ZW0s
IG1fY29udGV4dE1lbnUuZ2V0KCkpOwogICAgICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAJKHJldmlzaW9uIDE3NjA4
NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTUyLDkgKzU1Miw5IEBAIGJvb2wgTWVkaWFQbGF5ZXI6OnN1cHBv
cnRzRnVsbHNjcmVlbigpIGMKICAgICByZXR1cm4gbV9wcml2YXRlLT5zdXBwb3J0c0Z1bGxzY3Jl
ZW4oKTsKIH0KIAotYm9vbCBNZWRpYVBsYXllcjo6c3VwcG9ydHNTYXZlKCkgY29uc3QKK2Jvb2wg
TWVkaWFQbGF5ZXI6OmNhblNhdmVNZWRpYURhdGEoKSBjb25zdAogewotICAgIHJldHVybiBtX3By
aXZhdGUtPnN1cHBvcnRzU2F2ZSgpOworICAgIHJldHVybiBtX3ByaXZhdGUtPmNhblNhdmVNZWRp
YURhdGEoKTsKIH0KIAogYm9vbCBNZWRpYVBsYXllcjo6c3VwcG9ydHNTY2FubmluZygpIGNvbnN0
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmgJKHJldmlzaW9uIDE3NjA4NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5Myw4ICsyOTMsOCBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNLZXlTeXN0ZW0oY29uc3QgU3RyaW5nJiBrZXlTeXN0
ZW0sIGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwogCiAgICAgYm9vbCBzdXBwb3J0c0Z1bGxzY3Jl
ZW4oKSBjb25zdDsKLSAgICBib29sIHN1cHBvcnRzU2F2ZSgpIGNvbnN0OwogICAgIGJvb2wgc3Vw
cG9ydHNTY2FubmluZygpIGNvbnN0OworICAgIGJvb2wgY2FuU2F2ZU1lZGlhRGF0YSgpIGNvbnN0
OwogICAgIGJvb2wgcmVxdWlyZXNJbW1lZGlhdGVDb21wb3NpdGluZygpIGNvbnN0OwogICAgIGJv
b2wgZG9lc0hhdmVBdHRyaWJ1dGUoY29uc3QgQXRvbWljU3RyaW5nJiwgQXRvbWljU3RyaW5nKiB2
YWx1ZSA9IG51bGxwdHIpIGNvbnN0OwogICAgIFBsYXRmb3JtTWVkaWEgcGxhdGZvcm1NZWRpYSgp
IGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXJQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgJKHJldmlzaW9uIDE3NjA4NikKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC03MCwxMCArNzAsMTEgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGRC
dWZmZXJEYXRhKGJvb2wpIHsgfQogCiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRnVsbHNjcmVl
bigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29sIHN1cHBvcnRzU2F2
ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzU2Nh
bm5pbmcoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCByZXF1aXJl
c0ltbWVkaWF0ZUNvbXBvc2l0aW5nKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAorICAgIHZp
cnR1YWwgYm9vbCBjYW5TYXZlTWVkaWFEYXRhKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKwog
ICAgIHZpcnR1YWwgSW50U2l6ZSBuYXR1cmFsU2l6ZSgpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1
YWwgYm9vbCBoYXNWaWRlbygpIGNvbnN0ID0gMDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCShyZXZpc2lvbiAxNzYw
ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA0Nyw2
ICsxMDQ3LDMwIEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpleHQKIH0K
ICNlbmRpZgogCitVUkwgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpyZXNvbHZlZFVS
TCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2Fzc2V0VVJMLmxlbmd0aCgpKQorICAgICAgICByZXR1
cm4gVVJMKCk7CisKKyAgICByZXR1cm4gVVJMKFBhcnNlZFVSTFN0cmluZywgbV9hc3NldFVSTCk7
Cit9CisKK2Jvb2wgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpjYW5TYXZlTWVkaWFE
YXRhKCkgY29uc3QKK3sKKyAgICBVUkwgdXJsID0gcmVzb2x2ZWRVUkwoKTsKKworICAgIGlmICh1
cmwuaXNMb2NhbEZpbGUoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAoIXVybC5w
cm90b2NvbElzSW5IVFRQRmFtaWx5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlm
IChpc0xpdmVTdHJlYW0oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRy
dWU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCShyZXZp
c2lvbiAxNzYwODYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAg
LTE5MSw2ICsxOTEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGFjY2VsZXJhdGVk
UmVuZGVyaW5nU3RhdGVDaGFuZ2VkKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIHNob3Vs
ZE1haW50YWluQXNwZWN0UmF0aW8oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3Nob3VsZE1h
aW50YWluQXNwZWN0UmF0aW87IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkTWFpbnRhaW5B
c3BlY3RSYXRpbyhib29sKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIGJvb2wgY2FuU2F2ZU1lZGlh
RGF0YSgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCBNZWRpYVBsYXllcjo6TW92aWVM
b2FkVHlwZSBtb3ZpZUxvYWRUeXBlKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHByZXBhcmVG
b3JSZW5kZXJpbmcoKTsKQEAgLTMwMyw2ICszMDQsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBj
bGVhclRleHRUcmFja3MoKTsKICAgICBWZWN0b3I8UmVmUHRyPEluYmFuZFRleHRUcmFja1ByaXZh
dGVBVkY+PiBtX3RleHRUcmFja3M7CiAKK3ZpcnR1YWwgVVJMIHJlc29sdmVkVVJMKCkgY29uc3Q7
CisKIHByaXZhdGU6CiAgICAgTWVkaWFQbGF5ZXIqIG1fcGxheWVyOwogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uT2JqQy5oCShyZXZpc2lvbiAxNzYwODYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4MSw2ICsyODEsOCBAQCBwcml2YXRlOgogICAg
IHZpcnR1YWwgZG91YmxlIG1heEZhc3RGb3J3YXJkUmF0ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIG1fY2FjaGVkQ2FuUGxheUZhc3RGb3J3YXJkID8gc3RkOjpudW1lcmljX2xpbWl0czxkb3Vi
bGU+OjppbmZpbml0eSgpIDogMi4wOyB9CiAgICAgdmlydHVhbCBkb3VibGUgbWluRmFzdFJldmVy
c2VSYXRlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9jYWNoZWRDYW5QbGF5RmFzdFJldmVy
c2UgPyAtc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgpIDogMC4wOyB9CiAK
KyAgICB2aXJ0dWFsIFVSTCByZXNvbHZlZFVSTCgpIGNvbnN0IG92ZXJyaWRlOworCiAgICAgV2Vh
a1B0ckZhY3Rvcnk8TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQz4gbV93ZWFrUHRy
RmFjdG9yeTsKIAogICAgIFJldGFpblB0cjxBVlVSTEFzc2V0PiBtX2F2QXNzZXQ7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbk9iakMubW0JKHJldmlzaW9uIDE3NjA4NikKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakMubW0JKHdvcmtpbmcgY29weSkKQEAgLTI4NDQsNiArMjg0NCwxNCBAQCB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6CiAgICAgbV9jYWNoZWRDYW5Q
bGF5RmFzdFJldmVyc2UgPSBuZXdWYWx1ZTsKIH0KIAorVVJMIE1lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakM6OnJlc29sdmVkVVJMKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fYXZBc3Nl
dCkKKyAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6cmVzb2x2
ZWRVUkwoKTsKKworICAgIHJldHVybiBVUkwoW21fYXZBc3NldCByZXNvbHZlZFVSTF0pOworfQor
CiBOU0FycmF5KiBhc3NldE1ldGFkYXRhS2V5TmFtZXMoKQogewogICAgIHN0YXRpYyBOU0FycmF5
KiBrZXlzOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lci5jcHAJKHJldmlzaW9uIDE3NjA4NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xOTIwLDYgKzE5MjAsMjAgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXI6OmRpZFBhcwogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXI6OmNhblNhdmVNZWRpYURhdGEoKSBjb25zdAoreworICAgIGlmIChpc0xp
dmVTdHJlYW0oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKG1fdXJsLmlzTG9j
YWxGaWxlKCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgaWYgKG1fdXJsLnByb3RvY29s
SXNJbkhUVFBGYW1pbHkoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgCisgICAgcmV0dXJu
IGZhbHNlOworfQorCiB9CiAKICNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSKQpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAkocmV2aXNpb24gMTc2MDg2
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjQsNiArMTY0LDcgQEAg
cHJpdmF0ZToKICAgICB2aXJ0dWFsIFN0cmluZyBlbmdpbmVEZXNjcmlwdGlvbigpIGNvbnN0IHsg
cmV0dXJuICJHU3RyZWFtZXIiOyB9CiAgICAgdmlydHVhbCBib29sIGlzTGl2ZVN0cmVhbSgpIGNv
bnN0IHsgcmV0dXJuIG1faXNTdHJlYW1pbmc7IH0KICAgICB2aXJ0dWFsIGJvb2wgZGlkUGFzc0NP
UlNBY2Nlc3NDaGVjaygpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBjYW5TYXZlTWVkaWFEYXRh
KCkgY29uc3Qgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CiAgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBt
X3BsYXlCaW47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVk
aWFQbGF5ZXJQcml2YXRlUVRLaXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQuaAkocmV2aXNpb24gMTc2
MDg2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVy
UHJpdmF0ZVFUS2l0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEzNSw2ICsxMzUsOCBAQCBwcml2YXRl
OgogICAgIGJvb2wgaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdDsKICAgICBNZWRpYVBs
YXllcjo6TW92aWVMb2FkVHlwZSBtb3ZpZUxvYWRUeXBlKCkgY29uc3Q7CiAKKyAgICB2aXJ0dWFs
IGJvb2wgY2FuU2F2ZU1lZGlhRGF0YSgpIGNvbnN0IG92ZXJyaWRlOworCiAgICAgdm9pZCBjcmVh
dGVRVE1vdmllKGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIGNyZWF0ZVFUTW92aWUoTlNV
UkwgKiwgTlNEaWN0aW9uYXJ5ICptb3ZpZUF0dHJpYnV0ZXMpOwogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxh
eWVyUHJpdmF0ZVFUS2l0Lm1tCShyZXZpc2lvbiAxNzYwODYpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTE1MTcsNiArMTUxNywyNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0
OjpzZXRQcml2YXRlCiAgICAgW21fcXRNb3ZpZS5nZXQoKSBzZXRBdHRyaWJ1dGU6W05TTnVtYmVy
IG51bWJlcldpdGhCb29sOiFwcml2YXRlQnJvd3NpbmddIGZvcktleTpAIlFUTW92aWVBbGxvd1Bl
cnNpc3RlbnRDYWNoZUF0dHJpYnV0ZSJdOwogfQogCitib29sIE1lZGlhUGxheWVyUHJpdmF0ZVFU
S2l0OjpjYW5TYXZlTWVkaWFEYXRhKCkgY29uc3QKK3sKKyAgICBVUkwgdXJsOworCisgICAgaWYg
KGR1cmF0aW9uTWVkaWFUaW1lKCkuaXNQb3NpdGl2ZUluZmluaXRlKCkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIGlmIChtX3F0TW92aWUpCisgICAgICAgIHVybCA9IFVSTCh3a1FUTW92
aWVSZXNvbHZlZFVSTChtX3F0TW92aWUuZ2V0KCkpKTsKKyAgICBlbHNlCisgICAgICAgIHVybCA9
IFVSTChQYXJzZWRVUkxTdHJpbmcsIG1fbW92aWVVUkwpOworCisgICAgaWYgKHVybC5pc0xvY2Fs
RmlsZSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGlmICh1cmwucHJvdG9jb2xJc0lu
SFRUUEZhbWlseSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogQGltcGxlbWVudGF0aW9uIFdlYkNv
cmVNb3ZpZU9ic2VydmVyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJl
c3VsdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RS
ZXN1bHQuY3BwCShyZXZpc2lvbiAxNzYwODYpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SGl0VGVzdFJlc3VsdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwNyw5ICs1MDcsMTIgQEAgdm9p
ZCBIaXRUZXN0UmVzdWx0Ojp0b2dnbGVNZWRpYU11dGVTdGF0ZQogCiBib29sIEhpdFRlc3RSZXN1
bHQ6OmlzRG93bmxvYWRhYmxlTWVkaWEoKSBjb25zdAogewotICAgIC8vIEZJWE1FOiBXZSBzaG91
bGQgYWN0dWFsbHkgYW5zd2VyIGluc3RlYWQgb2YgYWx3YXlzIHJldHVybmluZyB0cnVlIGZvciBt
ZWRpYSBlbGVtZW50cy4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTM4NTMwCi0gICAgcmV0dXJuIG1lZGlhRWxlbWVudCgpID8gdHJ1ZSA6IGZhbHNlOwor
I2lmIEVOQUJMRShWSURFTykKKyAgICBpZiAoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbHQgPSBt
ZWRpYUVsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIG1lZGlhRWx0LT5jYW5TYXZlTWVkaWFEYXRh
KCk7CisjZW5kaWYKKworICAgIHJldHVybiBmYWxzZTsKIH0KIAogVVJMIEhpdFRlc3RSZXN1bHQ6
OmFic29sdXRlTGlua1VSTCgpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNzYxMDMp
CisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwy
MSBAQAorMjAxNC0xMS0xMyAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4K
KworICAgICAgICBDb250ZXh0IG1lbnVzIHNob3VsZCBub3Qgb2ZmZXIgdGhlICJEb3dubG9hZCB2
aWRlbyIgb3B0aW9uIGZvciB2aWRlb3MgdGhhdCBjYW5ub3QgCisgICAgICAgIGJlIGRvd25sb2Fk
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODUz
MAorICAgICAgICAtYW5kIGNvcnJlc3BvbmRpbmctCisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzE4
OTE5MTMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
RXhwb3NlIGlzRG93bmxvYWRhYmxlTWVkaWEoKSB0byB0aGUgSW5qZWN0ZWRCdW5kbGVIaXRUZXN0
UmVzdWx0LgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVIaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAgKFdLQnVuZGxlSGl0VGVzdFJlc3VsdElzRG93
bmxvYWRhYmxlTWVkaWEpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuY3BwOgorICAgICAgICAoV2ViS2l0
OjpJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6OmlzRG93bmxvYWRhYmxlTWVkaWEpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVz
dWx0Lmg6CisKIDIwMTQtMTEtMTMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5j
b20+CiAKICAgICAgICAgW1dLMl0gRmlyZSBhIGxheW91dCBtaWxlc3RvbmUgb24gc2Vzc2lvbiBy
ZXN0b3JlIGJhc2VkIG9uIHJlbmRlciB0cmVlIHNpemUKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5jcHAJKHJldmlzaW9uIDE3NjA4NikKKysrIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0
UmVzdWx0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA4LDYgKzEwOCwxMSBAQCBib29sIEluamVj
dGVkQnVuZGxlSGl0VGVzdFJlc3VsdDo6bWVkaWFICiAgICAgcmV0dXJuIG1faGl0VGVzdFJlc3Vs
dC5tZWRpYUhhc0F1ZGlvKCk7CiB9CiAKK2Jvb2wgSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0
Ojppc0Rvd25sb2FkYWJsZU1lZGlhKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9oaXRUZXN0UmVz
dWx0LmlzRG93bmxvYWRhYmxlTWVkaWEoKTsKK30KKwogQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlh
VHlwZSBJbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQ6Om1lZGlhVHlwZSgpIGNvbnN0CiB7CiAj
aWYgIUVOQUJMRShWSURFTykKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRl
c3RSZXN1bHQuaAkocmV2aXNpb24gMTc2MDg2KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuaAkod29ya2luZyBj
b3B5KQpAQCAtNTUsNiArNTUsNyBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGFic29sdXRlTWVkaWFV
UkwoKSBjb25zdDsKICAgICBib29sIG1lZGlhSXNJbkZ1bGxzY3JlZW4oKSBjb25zdDsKICAgICBi
b29sIG1lZGlhSGFzQXVkaW8oKSBjb25zdDsKKyAgICBib29sIGlzRG93bmxvYWRhYmxlTWVkaWEo
KSBjb25zdDsKICAgICBCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFUeXBlIG1lZGlhVHlwZSgpIGNv
bnN0OwogCiAgICAgU3RyaW5nIGxpbmtMYWJlbCgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUhpdFRlc3RSZXN1bHQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcAkocmV2aXNpb24gMTc2MDg2KQorKysg
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUhp
dFRlc3RSZXN1bHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MCw2ICs5MCwxMSBAQCBib29sIFdL
QnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhSGFzQXVkaW8oCiAgICAgcmV0dXJuIHRvSW1wbChoaXRU
ZXN0UmVzdWx0UmVmKS0+bWVkaWFIYXNBdWRpbygpOwogfQogCitib29sIFdLQnVuZGxlSGl0VGVz
dFJlc3VsdElzRG93bmxvYWRhYmxlTWVkaWEoV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRl
c3RSZXN1bHRSZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChoaXRUZXN0UmVzdWx0UmVmKS0+aXNE
b3dubG9hZGFibGVNZWRpYSgpOworfQorCiBXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYVR5cGUg
V0tCdW5kbGVIaXRUZXN0UmVzdWx0R2V0TWVkaWFUeXBlKFdLQnVuZGxlSGl0VGVzdFJlc3VsdFJl
ZiBoaXRUZXN0UmVzdWx0UmVmKQogewogICAgIHJldHVybiB0b0FQSSh0b0ltcGwoaGl0VGVzdFJl
c3VsdFJlZiktPm1lZGlhVHlwZSgpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZUhpdFRlc3RSZXN1bHQuaAkocmV2aXNpb24gMTc2MDg2KQorKysgU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUhpdFRlc3RSZXN1bHQuaAkod29y
a2luZyBjb3B5KQpAQCAtNTQsNiArNTQsNyBAQCBXS19FWFBPUlQgV0tVUkxSZWYgV0tCdW5kbGVI
aXRUZXN0UmVzdWx0CiBXS19FWFBPUlQgV0tVUkxSZWYgV0tCdW5kbGVIaXRUZXN0UmVzdWx0Q29w
eUFic29sdXRlTWVkaWFVUkwoV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1bHQp
OwogV0tfRVhQT1JUIGJvb2wgV0tCdW5kbGVIaXRUZXN0UmVzdWx0TWVkaWFJc0luRnVsbHNjcmVl
bihXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdCk7CiBXS19FWFBPUlQgYm9v
bCBXS0J1bmRsZUhpdFRlc3RSZXN1bHRNZWRpYUhhc0F1ZGlvKFdLQnVuZGxlSGl0VGVzdFJlc3Vs
dFJlZiBoaXRUZXN0UmVzdWx0KTsKK1dLX0VYUE9SVCBib29sIFdLQnVuZGxlSGl0VGVzdFJlc3Vs
dElzRG93bmxvYWRhYmxlTWVkaWEoV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1
bHRSZWYpOwogV0tfRVhQT1JUIFdLQnVuZGxlSGl0VGVzdFJlc3VsdE1lZGlhVHlwZSBXS0J1bmRs
ZUhpdFRlc3RSZXN1bHRHZXRNZWRpYVR5cGUoV0tCdW5kbGVIaXRUZXN0UmVzdWx0UmVmIGhpdFRl
c3RSZXN1bHQpOwogCiBXS19FWFBPUlQgV0tSZWN0IFdLQnVuZGxlSGl0VGVzdFJlc3VsdEdldElt
YWdlUmVjdChXS0J1bmRsZUhpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3VsdCk7Cg==
</data>
<flag name="review"
          id="266396"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>