<?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>146939</bug_id>
          
          <creation_ts>2015-07-14 14:01:14 -0700</creation_ts>
          <short_desc>Create bindings so that MediaStreamTrackPrivate can be cast to either VideoTrackPrivate or AudioTrackPrivate</short_desc>
          <delta_ts>2016-01-25 14:14:07 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>146906</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Matthew Daiter">mdaiter</reporter>
          <assigned_to name="Matthew Daiter">mdaiter</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jonlee</cc>
    
    <cc>mdaiter</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1109444</commentid>
    <comment_count>0</comment_count>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-14 14:01:14 -0700</bug_when>
    <thetext>Need to do this in order to make sure that the MediaStreamTrackPrivate can be interpreted by the MediaStream Engine</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109447</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-07-14 14:02:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/21821125&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109640</commentid>
    <comment_count>2</comment_count>
      <attachid>256842</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-15 09:47:23 -0700</bug_when>
    <thetext>Created attachment 256842
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109641</commentid>
    <comment_count>3</comment_count>
      <attachid>256843</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-15 09:58:12 -0700</bug_when>
    <thetext>Created attachment 256843
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109658</commentid>
    <comment_count>4</comment_count>
      <attachid>256847</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-15 11:35:25 -0700</bug_when>
    <thetext>Created attachment 256847
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109819</commentid>
    <comment_count>5</comment_count>
      <attachid>256847</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-07-15 20:16:58 -0700</bug_when>
    <thetext>Comment on attachment 256847
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +

Please add tests.

&gt; Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp:197
&gt; +    return true;

Only &quot;main&quot; should return true.

&gt; Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp:203
&gt; +    return emptyAtom;

The spec says: 

    AudioTrack.kind and VideoTrack.kind be &quot;main&quot;

&gt; Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp:241
&gt; +    setLanguage(language);

The spec says:

    AudioTrack.language and VideoTrack.language be the empty string

&gt; Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp:247
&gt; +    // Still haven&apos;t dealt with enabling MediaStreamTracks and whether to treat as separate objects inside of HTMLMediaElement yet.
&gt; +    notImplemented();

The spec says:

    If a MediaStreamTrack is removed from a MediaStream, played by a media element, the corresponding AudioTrack or VideoTrack must be removed as well.

&gt; Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.h:91
&gt; +

Nit: you don&apos;t need this extra blank line</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158498</commentid>
    <comment_count>6</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2016-01-25 14:14:07 -0800</bug_when>
    <thetext>This was done elsewhere.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256842</attachid>
            <date>2015-07-15 09:47:23 -0700</date>
            <delta_ts>2015-07-15 09:58:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146939-20150715094617.patch</filename>
            <type>text/plain</type>
            <size>17493</size>
            <attacher name="Matthew Daiter">mdaiter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2ODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTY2MmI4MDg5OTVkN2Jl
YjQ0NGU5N2RmOGM2MWE5YjY0NDFmNWIwMC4uNTM2MGY3ZGUyZDM4MWMxNDJkNzg3NmY5NjM3OGZk
NjMxNDk0ODNiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDE1LTA3LTE1ICBNYXR0
aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZWQgTWVkaWFT
dHJlYW1UcmFja3tQcml2YXRlfSB0byBzdWJjbGFzcyBmcm9tIFRyYWNrQmFzZXtQcml2YXRlfQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2OTM5Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTgyMTEyNT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFjay5jcHA6IFRyYWNrIGluaGVyaXRzIGZyb20KKyAgICAgICAgVHJhY2tCYXNlCisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjpNZWRpYVN0cmVhbVRyYWNrKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OmlkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtVHJhY2s6OmlzVmFsaWRLaW5kKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3Ry
ZWFtVHJhY2s6OmRlZmF1bHRLaW5kS2V5d29yZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0
cmVhbVRyYWNrOjpjbGVhckNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRy
YWNrOjppZENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFjazo6bGFi
ZWxDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6Omxhbmd1YWdl
Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjp3aWxsUmVtb3Zl
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNwcDogTmVlZGVkIHRvIGFkZCBNZWRp
YVN0cmVhbVRyYWNrIHRvCisgICAgICAgIG9wdGlvbnMgZm9yIHRyYWNrcyB3aGlsZSBjaGVja2lu
ZyBjYXNlIHN0YXRlbWVudHMKKyAgICAgICAgKFdlYkNvcmU6OnRvVHJhY2spOgorICAgICAgICAo
V2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogaHRtbC90cmFjay9BdWRpb1RyYWNrLmg6IE5vIGxv
bmdlciBpbmhlcml0cyBmcm9tIFJlZkNvdW50ZWQ8PgorICAgICAgICB2ZXJzaW9ucyBvZiBpdHNl
bGYKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFjay5jcHA6IERpdHRvCisgICAgICAgIChX
ZWJDb3JlOjpUZXh0VHJhY2s6OmN1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrOjph
Y3RpdmVDdWVzKToKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFjay5oOiBEaXR0bworICAg
ICAgICAqIGh0bWwvdHJhY2svVHJhY2tCYXNlLmg6IERpdHRvCisgICAgICAgICogaHRtbC90cmFj
ay9WaWRlb1RyYWNrLmg6IERpdHRvCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQXVkaW9U
cmFja1ByaXZhdGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbmJhbmRUZXh0VHJh
Y2tQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFz
ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1ZpZGVvVHJhY2tQcml2YXRlLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6Ok1lZGlhU3RyZWFt
VHJhY2tQcml2YXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2tQcml2YXRl
OjpsYWJlbCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFj
a1ByaXZhdGUuaDogQ2hhbmdlZCB0byBpbmhlcml0CisgICAgICAgIGZyb20gVHJhY2tCYXNlUHJp
dmF0ZQorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6OmlkKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2tQcml2YXRlOjpjbGllbnQp
OiBEZWxldGVkLgorCiAyMDE1LTA3LTE1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBw
bGUuY29tPgogCiAgICAgICAgIE5lZ2F0aXZlIHNjcm9sbCBzbmFwIHJlcGVhdCB2YWx1ZXMgY2F1
c2Ugd2ViIHByb2Nlc3MgdG8gaGFuZyBpbmRlZmluaXRlbHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IDAw
NmQ1MzExNTlmY2FmZDBmNTYzYmM3ZGQ2NzNmMWZhNjg0YzA0MWYuLjRmYWFkNTNlYTFlM2M0YTc0
ZGMyYjk0NjkyNzM4MGI4NjdiNTkzYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcApAQCAtNDIsNiArNDIsNyBA
QAogI2luY2x1ZGUgIk1lZGlhU3RyZWFtUHJpdmF0ZS5oIgogI2luY2x1ZGUgIk1lZGlhVHJhY2tD
b25zdHJhaW50cy5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisjaW5jbHVkZSAiVHJh
Y2tCYXNlLmgiCiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvTmV2
ZXJEZXN0cm95ZWQuaD4KIApAQCAtNTMsOCArNTQsOCBAQCBSZWY8TWVkaWFTdHJlYW1UcmFjaz4g
TWVkaWFTdHJlYW1UcmFjazo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
CiB9CiAKIE1lZGlhU3RyZWFtVHJhY2s6Ok1lZGlhU3RyZWFtVHJhY2soU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmIHByaXZhdGVUcmFjaykK
LSAgICA6IFJlZkNvdW50ZWQoKQotICAgICwgQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAg
IDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAgICwgVHJhY2tCYXNlKFRyYWNrQmFzZTo6
TWVkaWFTdHJlYW1UcmFjaywgcHJpdmF0ZVRyYWNrLmlkKCksIHByaXZhdGVUcmFjay5sYWJlbCgp
LCBwcml2YXRlVHJhY2subGFuZ3VhZ2UoKSkKICAgICAsIG1fcHJpdmF0ZShwcml2YXRlVHJhY2sp
CiB7CiAgICAgc3VzcGVuZElmTmVlZGVkKCk7CkBAIC03Nyw3ICs3OCw3IEBAIGNvbnN0IEF0b21p
Y1N0cmluZyYgTWVkaWFTdHJlYW1UcmFjazo6a2luZCgpIGNvbnN0CiAgICAgcmV0dXJuIHZpZGVv
S2luZDsKIH0KIAotY29uc3QgU3RyaW5nJiBNZWRpYVN0cmVhbVRyYWNrOjppZCgpIGNvbnN0CitB
dG9taWNTdHJpbmcgTWVkaWFTdHJlYW1UcmFjazo6aWQoKSBjb25zdAogewogICAgIHJldHVybiBt
X3ByaXZhdGUtPmlkKCk7CiB9CkBAIC0xOTAsNiArMTkxLDIzIEBAIHZvaWQgTWVkaWFTdHJlYW1U
cmFjazo6cmVtb3ZlT2JzZXJ2ZXIoTWVkaWFTdHJlYW1UcmFjazo6T2JzZXJ2ZXIqIG9ic2VydmVy
KQogICAgICAgICBtX29ic2VydmVycy5yZW1vdmUocG9zKTsKIH0KIAorYm9vbCBNZWRpYVN0cmVh
bVRyYWNrOjppc1ZhbGlkS2luZChjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdAoreworICAgIG5v
dEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2NvbnN0IEF0b21pY1N0cmlu
ZyYgTWVkaWFTdHJlYW1UcmFjazo6ZGVmYXVsdEtpbmRLZXl3b3JkKCkgY29uc3QKK3sKKyAgICBu
b3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBlbXB0eUF0b207Cit9CisKK3ZvaWQgTWVkaWFT
dHJlYW1UcmFjazo6Y2xlYXJDbGllbnQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisK
IHZvaWQgTWVkaWFTdHJlYW1UcmFjazo6dHJhY2tFbmRlZCgpCiB7CiAgICAgZGlzcGF0Y2hFdmVu
dChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lbmRlZEV2ZW50LCBmYWxzZSwgZmFsc2UpKTsK
QEAgLTIwNyw2ICsyMjUsMjcgQEAgdm9pZCBNZWRpYVN0cmVhbVRyYWNrOjp0cmFja011dGVkQ2hh
bmdlZCgpCiAKICAgICBjb25maWd1cmVUcmFja1JlbmRlcmluZygpOwogfQorICAgIAordm9pZCBN
ZWRpYVN0cmVhbVRyYWNrOjppZENoYW5nZWQoVHJhY2tQcml2YXRlQmFzZSosIGNvbnN0IEF0b21p
Y1N0cmluZyYgaWQpCit7CisgICAgc2V0SWQoaWQpOworfQorCit2b2lkIE1lZGlhU3RyZWFtVHJh
Y2s6OmxhYmVsQ2hhbmdlZChUcmFja1ByaXZhdGVCYXNlKiwgY29uc3QgQXRvbWljU3RyaW5nJiBs
YWJlbCkKK3sKKyAgICBzZXRMYWJlbChsYWJlbCk7Cit9CisKK3ZvaWQgTWVkaWFTdHJlYW1UcmFj
azo6bGFuZ3VhZ2VDaGFuZ2VkKFRyYWNrUHJpdmF0ZUJhc2UqLCBjb25zdCBBdG9taWNTdHJpbmcm
IGxhbmd1YWdlKQoreworICAgIHNldExhbmd1YWdlKGxhbmd1YWdlKTsKK30KKwordm9pZCBNZWRp
YVN0cmVhbVRyYWNrOjp3aWxsUmVtb3ZlKFRyYWNrUHJpdmF0ZUJhc2UqKQoreworICAgIC8vIFN0
aWxsIGhhdmVuJ3QgZGVhbHQgd2l0aCBlbmFibGluZyBNZWRpYVN0cmVhbVRyYWNrcyBhbmQgd2hl
dGhlciB0byB0cmVhdCBhcyBzZXBhcmF0ZSBvYmplY3RzIGluc2lkZSBvZiBIVE1MTWVkaWFFbGVt
ZW50IHlldC4KKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQogCiB2b2lkIE1lZGlhU3RyZWFtVHJh
Y2s6OmNvbmZpZ3VyZVRyYWNrUmVuZGVyaW5nKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKaW5kZXggODZiODY2YjE1
YzA5MzdmNmFkYjY0ZDNhNzcxMTdhNDYxOWEyODE0My4uNTI3MDQxYzJlZmVlNjA0NThkNWU1MzJl
M2MzNWE5NGVjN2ExNmI4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRl
ICJNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3Vy
Y2UuaCIKICNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKKyNpbmNsdWRlICJUcmFja0Jhc2Uu
aCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC00OCw3ICs0OSw3IEBAIGNsYXNzIE1lZGlhU291
cmNlU3RhdGVzOwogY2xhc3MgTWVkaWFTdHJlYW1DYXBhYmlsaXRpZXM7CiBjbGFzcyBNZWRpYVRy
YWNrQ29uc3RyYWludHM7CiAKLWNsYXNzIE1lZGlhU3RyZWFtVHJhY2sgZmluYWwgOiBwdWJsaWMg
UmVmQ291bnRlZDxNZWRpYVN0cmVhbVRyYWNrPiwgcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVi
bGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1
YmxpYyBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZUNsaWVudCB7CitjbGFzcyBNZWRpYVN0cmVhbVRy
YWNrIGZpbmFsIDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIEFjdGl2ZURPTU9iamVj
dCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBNZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZUNsaWVudCwgcHVibGljIFRyYWNrQmFzZSB7CiBwdWJsaWM6CiAgICAgY2xhc3Mg
T2JzZXJ2ZXIgewogICAgIHB1YmxpYzoKQEAgLTYwLDEwICs2MSwxMCBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB+TWVkaWFTdHJlYW1UcmFjaygpOwogCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBr
aW5kKCkgY29uc3Q7Ci0gICAgY29uc3QgU3RyaW5nJiBpZCgpIGNvbnN0OworICAgIEF0b21pY1N0
cmluZyBpZCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGNvbnN0IFN0cmluZyYgbGFiZWwoKSBjb25z
dDsKIAotICAgIGJvb2wgZW5hYmxlZCgpIGNvbnN0OworICAgIGJvb2wgZW5hYmxlZCgpIGNvbnN0
IG92ZXJyaWRlOwogICAgIHZvaWQgc2V0RW5hYmxlZChib29sKTsKIAogICAgIGJvb2wgbXV0ZWQo
KSBjb25zdDsKQEAgLTg5LDEyICs5MCwxNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGRPYnNlcnZl
cihPYnNlcnZlciopOwogICAgIHZvaWQgcmVtb3ZlT2JzZXJ2ZXIoT2JzZXJ2ZXIqKTsKIAorICAg
IC8vIFRyYWNrQmFzZQorICAgIGJvb2wgaXNWYWxpZEtpbmQoY29uc3QgQXRvbWljU3RyaW5nJikg
Y29uc3Qgb3ZlcnJpZGU7CisgICAgY29uc3QgQXRvbWljU3RyaW5nJiBkZWZhdWx0S2luZEtleXdv
cmQoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIGNsZWFyQ2xpZW50KCkgb3ZlcnJpZGU7CisK
ICAgICAvLyBFdmVudFRhcmdldAogICAgIHZpcnR1YWwgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZl
bnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZSBmaW5hbCB7IHJldHVybiBNZWRpYVN0
cmVhbVRyYWNrRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9CiAgICAgdmlydHVhbCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Qgb3ZlcnJpZGUg
ZmluYWwgeyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
IH0KIAotICAgIHVzaW5nIFJlZkNvdW50ZWQ8TWVkaWFTdHJlYW1UcmFjaz46OnJlZjsKLSAgICB1
c2luZyBSZWZDb3VudGVkPE1lZGlhU3RyZWFtVHJhY2s+OjpkZXJlZjsKKyAgICB1c2luZyBSZWZD
b3VudGVkPFRyYWNrQmFzZT46OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkPFRyYWNrQmFzZT46
OmRlcmVmOwogCiBwcml2YXRlOgogICAgIE1lZGlhU3RyZWFtVHJhY2soU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJik7CkBAIC0xMDgsMTIgKzExNCwxNiBA
QCBwcml2YXRlOgogICAgIGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0IG92ZXJy
aWRlIGZpbmFsOwogCiAgICAgLy8gRXZlbnRUYXJnZXQKLSAgICB2aXJ0dWFsIHZvaWQgcmVmRXZl
bnRUYXJnZXQoKSBvdmVycmlkZSBmaW5hbCB7IHJlZigpOyB9Ci0gICAgdmlydHVhbCB2b2lkIGRl
cmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSBmaW5hbCB7IGRlcmVmKCk7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSBmaW5hbCB7IEV2ZW50VGFyZ2V0OjpyZWYo
KTsgfQorICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgb3ZlcnJpZGUgZmluYWwg
eyBFdmVudFRhcmdldDo6ZGVyZWYoKTsgfQogCiAgICAgLy8gTWVkaWFTdHJlYW1UcmFja1ByaXZh
dGVDbGllbnQKICAgICB2b2lkIHRyYWNrRW5kZWQoKSBvdmVycmlkZTsKICAgICB2b2lkIHRyYWNr
TXV0ZWRDaGFuZ2VkKCkgb3ZlcnJpZGU7CisgICAgdm9pZCBpZENoYW5nZWQoVHJhY2tQcml2YXRl
QmFzZSosIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOworICAgIHZvaWQgbGFiZWxDaGFu
Z2VkKFRyYWNrUHJpdmF0ZUJhc2UqLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKKyAg
ICB2b2lkIGxhbmd1YWdlQ2hhbmdlZChUcmFja1ByaXZhdGVCYXNlKiwgY29uc3QgQXRvbWljU3Ry
aW5nJikgb3ZlcnJpZGU7CisgICAgdm9pZCB3aWxsUmVtb3ZlKFRyYWNrUHJpdmF0ZUJhc2UqKSBv
dmVycmlkZTsKIAogICAgIFZlY3RvcjxPYnNlcnZlcio+IG1fb2JzZXJ2ZXJzOwogICAgIFJlZjxN
ZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZT4gbV9wcml2YXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNwcAppbmRleCA5NzUxNDY3MjRkYjAyNjkwNTQ0NDU4OWFk
ZDkyZjQxYmI0NTMwOGM1Li5iMDQ4MWU5ZjcxMDg3ZGM4NzU4NDBiODEyMzM2NTZhZDBlNzEwZTg1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNwcApAQCAt
MzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkpTVHJhY2tDdXN0b20uaCIKIAogI2luY2x1ZGUgIkpT
QXVkaW9UcmFjay5oIgorI2luY2x1ZGUgIkpTTWVkaWFTdHJlYW1UcmFjay5oIgogI2luY2x1ZGUg
IkpTVGV4dFRyYWNrLmgiCiAjaW5jbHVkZSAiSlNWaWRlb1RyYWNrLmgiCiAKQEAgLTQ5LDYgKzUw
LDggQEAgVHJhY2tCYXNlKiB0b1RyYWNrKEpTVmFsdWUgdmFsdWUpCiAgICAgICAgIHJldHVybiAm
anNDYXN0PEpTQXVkaW9UcmFjayo+KG9iamVjdCktPmltcGwoKTsKICAgICBpZiAob2JqZWN0LT5p
bmhlcml0cyhKU1ZpZGVvVHJhY2s6OmluZm8oKSkpCiAgICAgICAgIHJldHVybiAmanNDYXN0PEpT
VmlkZW9UcmFjayo+KG9iamVjdCktPmltcGwoKTsKKyAgICBpZiAob2JqZWN0LT5pbmhlcml0cyhK
U01lZGlhU3RyZWFtVHJhY2s6OmluZm8oKSkpCisgICAgICAgIHJldHVybiAmanNDYXN0PEpTTWVk
aWFTdHJlYW1UcmFjayo+KG9iamVjdCktPmltcGwoKTsKIAogICAgIHJldHVybiAwOwogfQpAQCAt
NzYsNiArNzksOSBAQCBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRyYWNrQmFzZSogdAogCiAgICAgY2FzZSBUcmFja0Jh
c2U6OlRleHRUcmFjazoKICAgICAgICAgcmV0dXJuIENSRUFURV9ET01fV1JBUFBFUihnbG9iYWxP
YmplY3QsIFRleHRUcmFjaywgdHJhY2spOworCisgICAgY2FzZSBUcmFja0Jhc2U6Ok1lZGlhU3Ry
ZWFtVHJhY2s6CisgICAgICAgIHJldHVybiBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0
LCBNZWRpYVN0cmVhbVRyYWNrLCB0cmFjayk7CiAgICAgfQogICAgIAogICAgIHJldHVybiBqc051
bGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tCYXNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrQmFzZS5oCmluZGV4IDI0NTk4OGI3YzZj
Njk5NGE2ZWVkNjhjYTQyMGVmYWIxYmFhZjkyMmEuLjY1Yzc1M2FmNmRkNjdlMDEyMDczZWUxYWUw
YmM1MjFkN2FiMTQzMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJh
Y2tCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0Jhc2UuaApAQCAt
NDEsNyArNDEsNyBAQCBjbGFzcyBUcmFja0Jhc2UgOiBwdWJsaWMgUmVmQ291bnRlZDxUcmFja0Jh
c2U+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5UcmFja0Jhc2UoKTsKIAotICAgIGVudW0gVHlw
ZSB7IEJhc2VUcmFjaywgVGV4dFRyYWNrLCBBdWRpb1RyYWNrLCBWaWRlb1RyYWNrIH07CisgICAg
ZW51bSBUeXBlIHsgQmFzZVRyYWNrLCBUZXh0VHJhY2ssIEF1ZGlvVHJhY2ssIFZpZGVvVHJhY2ss
IE1lZGlhU3RyZWFtVHJhY2sgfTsKICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5
cGU7IH0KIAogICAgIHZvaWQgc2V0TWVkaWFFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIGVsZW1l
bnQpIHsgbV9tZWRpYUVsZW1lbnQgPSBlbGVtZW50OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9BdWRpb1RyYWNrUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQXVkaW9UcmFja1ByaXZhdGUuaAppbmRleCAyNTY5NzY1ZWVl
ZTUzZTgzMDY5YmEzZTZlZDc4ZDJiNDJlOGE0MzcxLi5hMjY3MWE0NmU4NmVjMDFhNjk4ZDY2YjEy
NzBkNjIwYzg5ZWIwZmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9BdWRpb1RyYWNrUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0F1ZGlvVHJhY2tQcml2YXRlLmgKQEAgLTM5LDcgKzM5LDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBlbmFibGVkQ2hhbmdlZChBdWRpb1RyYWNrUHJpdmF0ZSosIGJvb2wpID0g
MDsKIH07CiAKLWNsYXNzIEF1ZGlvVHJhY2tQcml2YXRlIDogcHVibGljIFRyYWNrUHJpdmF0ZUJh
c2UgeworY2xhc3MgQXVkaW9UcmFja1ByaXZhdGUgOiBwdWJsaWMgVHJhY2tQcml2YXRlQmFzZSwg
cHVibGljIFJlZkNvdW50ZWQ8QXVkaW9UcmFja1ByaXZhdGU+ICB7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFJlZjxBdWRpb1RyYWNrUHJpdmF0ZT4gY3JlYXRlKCkKICAgICB7CkBAIC02Miw2ICs2Miw5
IEBAIHB1YmxpYzoKICAgICBlbnVtIEtpbmQgeyBBbHRlcm5hdGl2ZSwgRGVzY3JpcHRpb24sIE1h
aW4sIE1haW5EZXNjLCBUcmFuc2xhdGlvbiwgQ29tbWVudGFyeSwgTm9uZSB9OwogICAgIHZpcnR1
YWwgS2luZCBraW5kKCkgY29uc3QgeyByZXR1cm4gTm9uZTsgfQogCisgICAgdXNpbmcgUmVmQ291
bnRlZDxBdWRpb1RyYWNrUHJpdmF0ZT46Om9wZXJhdG9yIG5ldzsKKyAgICB1c2luZyBSZWZDb3Vu
dGVkPEF1ZGlvVHJhY2tQcml2YXRlPjo6b3BlcmF0b3IgZGVsZXRlOworCiBwcm90ZWN0ZWQ6CiAg
ICAgQXVkaW9UcmFja1ByaXZhdGUoKQogICAgICAgICA6IG1fY2xpZW50KDApCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbmJhbmRUZXh0VHJhY2tQcml2YXRl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbmJhbmRUZXh0VHJhY2tQcml2
YXRlLmgKaW5kZXggZjgwODRiYjFjNjhjY2MxNGY1MTJiMjBlOThlYjNjNDA4MjNjYTVkNC4uMzc0
MDAxMDY4MWFlNTI5OThmZjBkZjFlYTk1ZjI1OWJhZDgyNjEzMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0luYmFuZFRleHRUcmFja1ByaXZhdGUu
aApAQCAtMzIsNyArMzIsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEluYmFu
ZFRleHRUcmFja1ByaXZhdGUgOiBwdWJsaWMgVHJhY2tQcml2YXRlQmFzZSB7CitjbGFzcyBJbmJh
bmRUZXh0VHJhY2tQcml2YXRlIDogcHVibGljIFRyYWNrUHJpdmF0ZUJhc2UsIHB1YmxpYyBSZWZD
b3VudGVkPEluYmFuZFRleHRUcmFja1ByaXZhdGU+IHsKIHB1YmxpYzoKICAgICBlbnVtIEN1ZUZv
cm1hdCB7CiAgICAgICAgIERhdGEsCkBAIC03OCw2ICs3OCw5IEBAIHB1YmxpYzoKIAogICAgIEN1
ZUZvcm1hdCBjdWVGb3JtYXQoKSBjb25zdCB7IHJldHVybiBtX2Zvcm1hdDsgfQogCisgICAgdXNp
bmcgUmVmQ291bnRlZDxJbmJhbmRUZXh0VHJhY2tQcml2YXRlPjo6b3BlcmF0b3IgbmV3OworICAg
IHVzaW5nIFJlZkNvdW50ZWQ8SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZT46Om9wZXJhdG9yIGRlbGV0
ZTsKKwogcHJvdGVjdGVkOgogICAgIEluYmFuZFRleHRUcmFja1ByaXZhdGUoQ3VlRm9ybWF0IGZv
cm1hdCkKICAgICAgICAgOiBtX2Zvcm1hdChmb3JtYXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmgKaW5kZXggNzMxYWE4ZDkzNmE1
YWFlYTBkMWMwM2FhNjhhMmFjNmIyYjJiOWU2NC4uYWM3MTMyMWJiZTQ1OGEwZmY3ODcyOTI0ZWY2
MDFmOGVlN2IzMzMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvVHJhY2tQcml2YXRlQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1RyYWNrUHJpdmF0ZUJhc2UuaApAQCAtNDksNyArNDksNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIHdpbGxSZW1vdmUoVHJhY2tQcml2YXRlQmFzZSopID0gMDsKIH07CiAKLWNsYXNz
IFRyYWNrUHJpdmF0ZUJhc2UgOiBwdWJsaWMgUmVmQ291bnRlZDxUcmFja1ByaXZhdGVCYXNlPiB7
CitjbGFzcyBUcmFja1ByaXZhdGVCYXNlIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFj
a1ByaXZhdGVCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdmly
dHVhbCB+VHJhY2tQcml2YXRlQmFzZSgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvVmlkZW9UcmFja1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1ZpZGVvVHJhY2tQcml2YXRlLmgKaW5kZXggMjRmMDliYWZlZTc0OWU0
MWFkNGYwOTYyZDExNzUxMTZhMzQwOGIzZi4uMGIwODJiYzVjMWQzNTQ3ZGFiMmE0ZTc4MDI3ZjVk
ZmVhODU5MTllNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
VmlkZW9UcmFja1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9WaWRlb1RyYWNrUHJpdmF0ZS5oCkBAIC0zOSw3ICszOSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgc2VsZWN0ZWRDaGFuZ2VkKFZpZGVvVHJhY2tQcml2YXRlKiwgYm9vbCkgPSAwOwog
fTsKIAotY2xhc3MgVmlkZW9UcmFja1ByaXZhdGUgOiBwdWJsaWMgVHJhY2tQcml2YXRlQmFzZSB7
CitjbGFzcyBWaWRlb1RyYWNrUHJpdmF0ZSA6IHB1YmxpYyBUcmFja1ByaXZhdGVCYXNlLCBwdWJs
aWMgUmVmQ291bnRlZDxWaWRlb1RyYWNrUHJpdmF0ZT4gewogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFZpZGVvVHJhY2tQcml2YXRlPiBjcmVhdGUoKQogICAgIHsKQEAgLTYyLDYgKzYy
LDkgQEAgcHVibGljOgogICAgIGVudW0gS2luZCB7IEFsdGVybmF0aXZlLCBDYXB0aW9ucywgTWFp
biwgU2lnbiwgU3VidGl0bGVzLCBDb21tZW50YXJ5LCBOb25lIH07CiAgICAgdmlydHVhbCBLaW5k
IGtpbmQoKSBjb25zdCB7IHJldHVybiBOb25lOyB9CiAKKyAgICB1c2luZyBSZWZDb3VudGVkPFZp
ZGVvVHJhY2tQcml2YXRlPjo6b3BlcmF0b3IgbmV3OworICAgIHVzaW5nIFJlZkNvdW50ZWQ8Vmlk
ZW9UcmFja1ByaXZhdGU+OjpvcGVyYXRvciBkZWxldGU7CisKIHByb3RlY3RlZDoKICAgICBWaWRl
b1RyYWNrUHJpdmF0ZSgpCiAgICAgICAgIDogbV9jbGllbnQoMCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQ
cml2YXRlLmNwcAppbmRleCBkODE3OGRiOWFlYjg1ZmRkZTA0Nzc0NzRkMzEzMjgzODdiZWNjOWQx
Li5mOTQzNjQ4N2Q0OGU0ZWNiODc4MTdmMDNhMTEyNTVmNGE0MDYwZjQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrUHJpdmF0
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFja1ByaXZhdGUuY3BwCkBAIC00OSwyMiArNDksMjMgQEAgUmVmUHRyPE1lZGlhU3RyZWFt
VHJhY2tQcml2YXRlPiBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZTo6Y3JlYXRlKFJlZlB0cjxSZWFs
dGltZU0KIAogTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6Ok1lZGlhU3RyZWFtVHJhY2tQcml2YXRl
KGNvbnN0IE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiBvdGhlcikKICAgICA6IFJlZkNvdW50ZWQo
KQotICAgICwgbV9zb3VyY2Uob3RoZXIuc291cmNlKCkpCiAgICAgLCBtX2NsaWVudChudWxscHRy
KQogICAgICwgbV9pZChjcmVhdGVDYW5vbmljYWxVVUlEU3RyaW5nKCkpCiAgICAgLCBtX2lzRW5h
YmxlZChvdGhlci5lbmFibGVkKCkpCiAgICAgLCBtX2lzRW5kZWQob3RoZXIuZW5kZWQoKSkKKyAg
ICAsIG1fc291cmNlKG90aGVyLnNvdXJjZSgpKQorCiB7CiAgICAgbV9zb3VyY2UtPmFkZE9ic2Vy
dmVyKHRoaXMpOwogfQogCiBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZTo6TWVkaWFTdHJlYW1UcmFj
a1ByaXZhdGUoUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+JiYgc291cmNlLCBjb25zdCBTdHJp
bmcmIGlkKQogICAgIDogUmVmQ291bnRlZCgpCi0gICAgLCBtX3NvdXJjZShzb3VyY2UpCiAgICAg
LCBtX2NsaWVudChudWxscHRyKQogICAgICwgbV9pZChpZCkKICAgICAsIG1faXNFbmFibGVkKHRy
dWUpCiAgICAgLCBtX2lzRW5kZWQoZmFsc2UpCisgICAgLCBtX3NvdXJjZShzb3VyY2UpCiB7CiAg
ICAgbV9zb3VyY2UtPmFkZE9ic2VydmVyKHRoaXMpOwogfQpAQCAtNzQsNyArNzUsNyBAQCBNZWRp
YVN0cmVhbVRyYWNrUHJpdmF0ZTo6fk1lZGlhU3RyZWFtVHJhY2tQcml2YXRlKCkKICAgICBtX3Nv
dXJjZS0+cmVtb3ZlT2JzZXJ2ZXIodGhpcyk7CiB9CiAKLWNvbnN0IFN0cmluZyYgTWVkaWFTdHJl
YW1UcmFja1ByaXZhdGU6OmxhYmVsKCkgY29uc3QKK0F0b21pY1N0cmluZyBNZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZTo6bGFiZWwoKSBjb25zdAogewogICAgIHJldHVybiBtX3NvdXJjZS0+bmFtZSgp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1UcmFja1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmgKaW5kZXggMmFiMDFjM2MzNGU2MjczYWI2ODcz
NzYyZjk0MDZjNWJiODczZTc0MS4uMGU3YjA0ZDk2YTBiZDVmYWVjNjFlMGY0YjVjNzA0OTNjNmRk
N2QyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1UcmFja1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5oCkBAIC0zMCw2ICszMCw3IEBACiAjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2UuaCIK
KyNpbmNsdWRlICJUcmFja1ByaXZhdGVCYXNlLmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KIApAQCAtMzgsNyArMzksNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBNZWRpYVNvdXJjZVN0YXRlczsKIGNsYXNzIFJl
YWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXM7CiAKLWNsYXNzIE1lZGlhU3RyZWFtVHJhY2tQ
cml2YXRlQ2xpZW50IHsKK2NsYXNzIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlQ2xpZW50IDogcHVi
bGljIFRyYWNrUHJpdmF0ZUJhc2VDbGllbnQgewogcHVibGljOgogICAgIHZpcnR1YWwgfk1lZGlh
U3RyZWFtVHJhY2tQcml2YXRlQ2xpZW50KCkgeyB9CiAKQEAgLTQ2LDE1ICs0NywxNiBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHRyYWNrTXV0ZWRDaGFuZ2VkKCkgPSAwOwogfTsKIAotY2xh
c3MgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVN0cmVh
bVRyYWNrUHJpdmF0ZT4sIHB1YmxpYyBSZWFsdGltZU1lZGlhU291cmNlOjpPYnNlcnZlciB7Citj
bGFzcyBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhU3Ry
ZWFtVHJhY2tQcml2YXRlPiwgcHVibGljIFJlYWx0aW1lTWVkaWFTb3VyY2U6Ok9ic2VydmVyLCBw
dWJsaWMgVHJhY2tQcml2YXRlQmFzZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZlB0cjxNZWRp
YVN0cmVhbVRyYWNrUHJpdmF0ZT4gY3JlYXRlKFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiYm
KTsKICAgICBzdGF0aWMgUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlPiBjcmVhdGUoUmVm
UHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+JiYsIGNvbnN0IFN0cmluZyYgaWQpOwogCiAgICAgdmly
dHVhbCB+TWVkaWFTdHJlYW1UcmFja1ByaXZhdGUoKTsKIAotICAgIGNvbnN0IFN0cmluZyYgaWQo
KSBjb25zdCB7IHJldHVybiBtX2lkOyB9Ci0gICAgY29uc3QgU3RyaW5nJiBsYWJlbCgpIGNvbnN0
OworICAgIEF0b21pY1N0cmluZyBpZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1faWQ7IH0K
KyAgICBBdG9taWNTdHJpbmcgbGFiZWwoKSBjb25zdCBvdmVycmlkZTsKKyAgICBBdG9taWNTdHJp
bmcgbGFuZ3VhZ2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBlbXB0eUF0b207IH0KIAogICAg
IGJvb2wgZW5kZWQoKSBjb25zdCB7IHJldHVybiBtX2lzRW5kZWQ7IH0KIApAQCAtODMsMjQgKzg1
LDMwIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY29uZmlndXJlVHJhY2tSZW5kZXJpbmcoKTsKIAot
cHJpdmF0ZToKKyAgICB1c2luZyBSZWZDb3VudGVkPE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlPjo6
b3BlcmF0b3IgbmV3OworICAgIHVzaW5nIFJlZkNvdW50ZWQ8TWVkaWFTdHJlYW1UcmFja1ByaXZh
dGU+OjpvcGVyYXRvciBkZWxldGU7CisKKworcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IE1lZGlh
U3RyZWFtVHJhY2tQcml2YXRlKGNvbnN0IE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJik7CiAgICAg
TWVkaWFTdHJlYW1UcmFja1ByaXZhdGUoUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+JiYsIGNv
bnN0IFN0cmluZyYgaWQpOwogCi0gICAgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGVDbGllbnQqIGNs
aWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50OyB9CisgICAgTWVkaWFTdHJlYW1UcmFja1By
aXZhdGVDbGllbnQqIGNsaWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fY2xpZW50OyB9
CiAKICAgICAvLyBSZWFsdGltZU1lZGlhU291cmNlT2JzZXJ2ZXIKICAgICB2aXJ0dWFsIHZvaWQg
c291cmNlU3RvcHBlZCgpIG92ZXJyaWRlIGZpbmFsOwogICAgIHZpcnR1YWwgdm9pZCBzb3VyY2VN
dXRlZENoYW5nZWQoKSBvdmVycmlkZSBmaW5hbDsKICAgICB2aXJ0dWFsIGJvb2wgcHJldmVudFNv
dXJjZUZyb21TdG9wcGluZygpIG92ZXJyaWRlIGZpbmFsOwogICAgIAotICAgIFJlZlB0cjxSZWFs
dGltZU1lZGlhU291cmNlPiBtX3NvdXJjZTsKICAgICBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZUNs
aWVudCogbV9jbGllbnQ7Ci0gICAgUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IG1fY29uc3RyYWlu
dHM7CiAKLSAgICBTdHJpbmcgbV9pZDsKKyAgICBBdG9taWNTdHJpbmcgbV9pZDsKICAgICBib29s
IG1faXNFbmFibGVkOwogICAgIGJvb2wgbV9pc0VuZGVkOworCitwcml2YXRlOgorICAgIFJlZlB0
cjxNZWRpYUNvbnN0cmFpbnRzPiBtX2NvbnN0cmFpbnRzOworICAgIFJlZlB0cjxSZWFsdGltZU1l
ZGlhU291cmNlPiBtX3NvdXJjZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256843</attachid>
            <date>2015-07-15 09:58:12 -0700</date>
            <delta_ts>2015-07-15 11:35:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146939-20150715095705.patch</filename>
            <type>text/plain</type>
            <size>17545</size>
            <attacher name="Matthew Daiter">mdaiter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2ODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTY2MmI4MDg5OTVkN2Jl
YjQ0NGU5N2RmOGM2MWE5YjY0NDFmNWIwMC4uNTM2MGY3ZGUyZDM4MWMxNDJkNzg3NmY5NjM3OGZk
NjMxNDk0ODNiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDE1LTA3LTE1ICBNYXR0
aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZWQgTWVkaWFT
dHJlYW1UcmFja3tQcml2YXRlfSB0byBzdWJjbGFzcyBmcm9tIFRyYWNrQmFzZXtQcml2YXRlfQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2OTM5Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTgyMTEyNT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFjay5jcHA6IFRyYWNrIGluaGVyaXRzIGZyb20KKyAgICAgICAgVHJhY2tCYXNlCisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjpNZWRpYVN0cmVhbVRyYWNrKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OmlkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtVHJhY2s6OmlzVmFsaWRLaW5kKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3Ry
ZWFtVHJhY2s6OmRlZmF1bHRLaW5kS2V5d29yZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0
cmVhbVRyYWNrOjpjbGVhckNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRy
YWNrOjppZENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFjazo6bGFi
ZWxDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6Omxhbmd1YWdl
Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjp3aWxsUmVtb3Zl
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNwcDogTmVlZGVkIHRvIGFkZCBNZWRp
YVN0cmVhbVRyYWNrIHRvCisgICAgICAgIG9wdGlvbnMgZm9yIHRyYWNrcyB3aGlsZSBjaGVja2lu
ZyBjYXNlIHN0YXRlbWVudHMKKyAgICAgICAgKFdlYkNvcmU6OnRvVHJhY2spOgorICAgICAgICAo
V2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogaHRtbC90cmFjay9BdWRpb1RyYWNrLmg6IE5vIGxv
bmdlciBpbmhlcml0cyBmcm9tIFJlZkNvdW50ZWQ8PgorICAgICAgICB2ZXJzaW9ucyBvZiBpdHNl
bGYKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFjay5jcHA6IERpdHRvCisgICAgICAgIChX
ZWJDb3JlOjpUZXh0VHJhY2s6OmN1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrOjph
Y3RpdmVDdWVzKToKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFjay5oOiBEaXR0bworICAg
ICAgICAqIGh0bWwvdHJhY2svVHJhY2tCYXNlLmg6IERpdHRvCisgICAgICAgICogaHRtbC90cmFj
ay9WaWRlb1RyYWNrLmg6IERpdHRvCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQXVkaW9U
cmFja1ByaXZhdGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbmJhbmRUZXh0VHJh
Y2tQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFz
ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1ZpZGVvVHJhY2tQcml2YXRlLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6Ok1lZGlhU3RyZWFt
VHJhY2tQcml2YXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2tQcml2YXRl
OjpsYWJlbCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFj
a1ByaXZhdGUuaDogQ2hhbmdlZCB0byBpbmhlcml0CisgICAgICAgIGZyb20gVHJhY2tCYXNlUHJp
dmF0ZQorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6OmlkKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2tQcml2YXRlOjpjbGllbnQp
OiBEZWxldGVkLgorCiAyMDE1LTA3LTE1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBw
bGUuY29tPgogCiAgICAgICAgIE5lZ2F0aXZlIHNjcm9sbCBzbmFwIHJlcGVhdCB2YWx1ZXMgY2F1
c2Ugd2ViIHByb2Nlc3MgdG8gaGFuZyBpbmRlZmluaXRlbHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IDAw
NmQ1MzExNTlmY2FmZDBmNTYzYmM3ZGQ2NzNmMWZhNjg0YzA0MWYuLjRmYWFkNTNlYTFlM2M0YTc0
ZGMyYjk0NjkyNzM4MGI4NjdiNTkzYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcApAQCAtNDIsNiArNDIsNyBA
QAogI2luY2x1ZGUgIk1lZGlhU3RyZWFtUHJpdmF0ZS5oIgogI2luY2x1ZGUgIk1lZGlhVHJhY2tD
b25zdHJhaW50cy5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisjaW5jbHVkZSAiVHJh
Y2tCYXNlLmgiCiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvTmV2
ZXJEZXN0cm95ZWQuaD4KIApAQCAtNTMsOCArNTQsOCBAQCBSZWY8TWVkaWFTdHJlYW1UcmFjaz4g
TWVkaWFTdHJlYW1UcmFjazo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
CiB9CiAKIE1lZGlhU3RyZWFtVHJhY2s6Ok1lZGlhU3RyZWFtVHJhY2soU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmIHByaXZhdGVUcmFjaykK
LSAgICA6IFJlZkNvdW50ZWQoKQotICAgICwgQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAg
IDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAgICwgVHJhY2tCYXNlKFRyYWNrQmFzZTo6
TWVkaWFTdHJlYW1UcmFjaywgcHJpdmF0ZVRyYWNrLmlkKCksIHByaXZhdGVUcmFjay5sYWJlbCgp
LCBwcml2YXRlVHJhY2subGFuZ3VhZ2UoKSkKICAgICAsIG1fcHJpdmF0ZShwcml2YXRlVHJhY2sp
CiB7CiAgICAgc3VzcGVuZElmTmVlZGVkKCk7CkBAIC03Nyw3ICs3OCw3IEBAIGNvbnN0IEF0b21p
Y1N0cmluZyYgTWVkaWFTdHJlYW1UcmFjazo6a2luZCgpIGNvbnN0CiAgICAgcmV0dXJuIHZpZGVv
S2luZDsKIH0KIAotY29uc3QgU3RyaW5nJiBNZWRpYVN0cmVhbVRyYWNrOjppZCgpIGNvbnN0CitB
dG9taWNTdHJpbmcgTWVkaWFTdHJlYW1UcmFjazo6aWQoKSBjb25zdAogewogICAgIHJldHVybiBt
X3ByaXZhdGUtPmlkKCk7CiB9CkBAIC0xOTAsNiArMTkxLDIzIEBAIHZvaWQgTWVkaWFTdHJlYW1U
cmFjazo6cmVtb3ZlT2JzZXJ2ZXIoTWVkaWFTdHJlYW1UcmFjazo6T2JzZXJ2ZXIqIG9ic2VydmVy
KQogICAgICAgICBtX29ic2VydmVycy5yZW1vdmUocG9zKTsKIH0KIAorYm9vbCBNZWRpYVN0cmVh
bVRyYWNrOjppc1ZhbGlkS2luZChjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdAoreworICAgIG5v
dEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2NvbnN0IEF0b21pY1N0cmlu
ZyYgTWVkaWFTdHJlYW1UcmFjazo6ZGVmYXVsdEtpbmRLZXl3b3JkKCkgY29uc3QKK3sKKyAgICBu
b3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBlbXB0eUF0b207Cit9CisKK3ZvaWQgTWVkaWFT
dHJlYW1UcmFjazo6Y2xlYXJDbGllbnQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisK
IHZvaWQgTWVkaWFTdHJlYW1UcmFjazo6dHJhY2tFbmRlZCgpCiB7CiAgICAgZGlzcGF0Y2hFdmVu
dChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lbmRlZEV2ZW50LCBmYWxzZSwgZmFsc2UpKTsK
QEAgLTIwNyw2ICsyMjUsMjcgQEAgdm9pZCBNZWRpYVN0cmVhbVRyYWNrOjp0cmFja011dGVkQ2hh
bmdlZCgpCiAKICAgICBjb25maWd1cmVUcmFja1JlbmRlcmluZygpOwogfQorICAgIAordm9pZCBN
ZWRpYVN0cmVhbVRyYWNrOjppZENoYW5nZWQoVHJhY2tQcml2YXRlQmFzZSosIGNvbnN0IEF0b21p
Y1N0cmluZyYgaWQpCit7CisgICAgc2V0SWQoaWQpOworfQorCit2b2lkIE1lZGlhU3RyZWFtVHJh
Y2s6OmxhYmVsQ2hhbmdlZChUcmFja1ByaXZhdGVCYXNlKiwgY29uc3QgQXRvbWljU3RyaW5nJiBs
YWJlbCkKK3sKKyAgICBzZXRMYWJlbChsYWJlbCk7Cit9CisKK3ZvaWQgTWVkaWFTdHJlYW1UcmFj
azo6bGFuZ3VhZ2VDaGFuZ2VkKFRyYWNrUHJpdmF0ZUJhc2UqLCBjb25zdCBBdG9taWNTdHJpbmcm
IGxhbmd1YWdlKQoreworICAgIHNldExhbmd1YWdlKGxhbmd1YWdlKTsKK30KKwordm9pZCBNZWRp
YVN0cmVhbVRyYWNrOjp3aWxsUmVtb3ZlKFRyYWNrUHJpdmF0ZUJhc2UqKQoreworICAgIC8vIFN0
aWxsIGhhdmVuJ3QgZGVhbHQgd2l0aCBlbmFibGluZyBNZWRpYVN0cmVhbVRyYWNrcyBhbmQgd2hl
dGhlciB0byB0cmVhdCBhcyBzZXBhcmF0ZSBvYmplY3RzIGluc2lkZSBvZiBIVE1MTWVkaWFFbGVt
ZW50IHlldC4KKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQogCiB2b2lkIE1lZGlhU3RyZWFtVHJh
Y2s6OmNvbmZpZ3VyZVRyYWNrUmVuZGVyaW5nKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKaW5kZXggODZiODY2YjE1
YzA5MzdmNmFkYjY0ZDNhNzcxMTdhNDYxOWEyODE0My4uNTI3MDQxYzJlZmVlNjA0NThkNWU1MzJl
M2MzNWE5NGVjN2ExNmI4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRl
ICJNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3Vy
Y2UuaCIKICNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKKyNpbmNsdWRlICJUcmFja0Jhc2Uu
aCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC00OCw3ICs0OSw3IEBAIGNsYXNzIE1lZGlhU291
cmNlU3RhdGVzOwogY2xhc3MgTWVkaWFTdHJlYW1DYXBhYmlsaXRpZXM7CiBjbGFzcyBNZWRpYVRy
YWNrQ29uc3RyYWludHM7CiAKLWNsYXNzIE1lZGlhU3RyZWFtVHJhY2sgZmluYWwgOiBwdWJsaWMg
UmVmQ291bnRlZDxNZWRpYVN0cmVhbVRyYWNrPiwgcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVi
bGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1
YmxpYyBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZUNsaWVudCB7CitjbGFzcyBNZWRpYVN0cmVhbVRy
YWNrIGZpbmFsIDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIEFjdGl2ZURPTU9iamVj
dCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBNZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZUNsaWVudCwgcHVibGljIFRyYWNrQmFzZSB7CiBwdWJsaWM6CiAgICAgY2xhc3Mg
T2JzZXJ2ZXIgewogICAgIHB1YmxpYzoKQEAgLTYwLDEwICs2MSwxMCBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB+TWVkaWFTdHJlYW1UcmFjaygpOwogCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBr
aW5kKCkgY29uc3Q7Ci0gICAgY29uc3QgU3RyaW5nJiBpZCgpIGNvbnN0OworICAgIEF0b21pY1N0
cmluZyBpZCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGNvbnN0IFN0cmluZyYgbGFiZWwoKSBjb25z
dDsKIAotICAgIGJvb2wgZW5hYmxlZCgpIGNvbnN0OworICAgIGJvb2wgZW5hYmxlZCgpIGNvbnN0
IG92ZXJyaWRlOwogICAgIHZvaWQgc2V0RW5hYmxlZChib29sKTsKIAogICAgIGJvb2wgbXV0ZWQo
KSBjb25zdDsKQEAgLTg5LDEyICs5MCwxNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGRPYnNlcnZl
cihPYnNlcnZlciopOwogICAgIHZvaWQgcmVtb3ZlT2JzZXJ2ZXIoT2JzZXJ2ZXIqKTsKIAorICAg
IC8vIFRyYWNrQmFzZQorICAgIGJvb2wgaXNWYWxpZEtpbmQoY29uc3QgQXRvbWljU3RyaW5nJikg
Y29uc3Qgb3ZlcnJpZGU7CisgICAgY29uc3QgQXRvbWljU3RyaW5nJiBkZWZhdWx0S2luZEtleXdv
cmQoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIGNsZWFyQ2xpZW50KCkgb3ZlcnJpZGU7CisK
ICAgICAvLyBFdmVudFRhcmdldAogICAgIHZpcnR1YWwgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZl
bnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZSBmaW5hbCB7IHJldHVybiBNZWRpYVN0
cmVhbVRyYWNrRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9CiAgICAgdmlydHVhbCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Qgb3ZlcnJpZGUg
ZmluYWwgeyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
IH0KIAotICAgIHVzaW5nIFJlZkNvdW50ZWQ8TWVkaWFTdHJlYW1UcmFjaz46OnJlZjsKLSAgICB1
c2luZyBSZWZDb3VudGVkPE1lZGlhU3RyZWFtVHJhY2s+OjpkZXJlZjsKKyAgICB1c2luZyBSZWZD
b3VudGVkPFRyYWNrQmFzZT46OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkPFRyYWNrQmFzZT46
OmRlcmVmOwogCiBwcml2YXRlOgogICAgIE1lZGlhU3RyZWFtVHJhY2soU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJik7CkBAIC0xMDgsMTIgKzExNCwxNiBA
QCBwcml2YXRlOgogICAgIGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0IG92ZXJy
aWRlIGZpbmFsOwogCiAgICAgLy8gRXZlbnRUYXJnZXQKLSAgICB2aXJ0dWFsIHZvaWQgcmVmRXZl
bnRUYXJnZXQoKSBvdmVycmlkZSBmaW5hbCB7IHJlZigpOyB9Ci0gICAgdmlydHVhbCB2b2lkIGRl
cmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSBmaW5hbCB7IGRlcmVmKCk7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSBmaW5hbCB7IEV2ZW50VGFyZ2V0OjpyZWYo
KTsgfQorICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgb3ZlcnJpZGUgZmluYWwg
eyBFdmVudFRhcmdldDo6ZGVyZWYoKTsgfQogCiAgICAgLy8gTWVkaWFTdHJlYW1UcmFja1ByaXZh
dGVDbGllbnQKICAgICB2b2lkIHRyYWNrRW5kZWQoKSBvdmVycmlkZTsKICAgICB2b2lkIHRyYWNr
TXV0ZWRDaGFuZ2VkKCkgb3ZlcnJpZGU7CisgICAgdm9pZCBpZENoYW5nZWQoVHJhY2tQcml2YXRl
QmFzZSosIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOworICAgIHZvaWQgbGFiZWxDaGFu
Z2VkKFRyYWNrUHJpdmF0ZUJhc2UqLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKKyAg
ICB2b2lkIGxhbmd1YWdlQ2hhbmdlZChUcmFja1ByaXZhdGVCYXNlKiwgY29uc3QgQXRvbWljU3Ry
aW5nJikgb3ZlcnJpZGU7CisgICAgdm9pZCB3aWxsUmVtb3ZlKFRyYWNrUHJpdmF0ZUJhc2UqKSBv
dmVycmlkZTsKIAogICAgIFZlY3RvcjxPYnNlcnZlcio+IG1fb2JzZXJ2ZXJzOwogICAgIFJlZjxN
ZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZT4gbV9wcml2YXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNwcAppbmRleCA5NzUxNDY3MjRkYjAyNjkwNTQ0NDU4OWFk
ZDkyZjQxYmI0NTMwOGM1Li5iMDQ4MWU5ZjcxMDg3ZGM4NzU4NDBiODEyMzM2NTZhZDBlNzEwZTg1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNwcApAQCAt
MzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkpTVHJhY2tDdXN0b20uaCIKIAogI2luY2x1ZGUgIkpT
QXVkaW9UcmFjay5oIgorI2luY2x1ZGUgIkpTTWVkaWFTdHJlYW1UcmFjay5oIgogI2luY2x1ZGUg
IkpTVGV4dFRyYWNrLmgiCiAjaW5jbHVkZSAiSlNWaWRlb1RyYWNrLmgiCiAKQEAgLTQ5LDYgKzUw
LDggQEAgVHJhY2tCYXNlKiB0b1RyYWNrKEpTVmFsdWUgdmFsdWUpCiAgICAgICAgIHJldHVybiAm
anNDYXN0PEpTQXVkaW9UcmFjayo+KG9iamVjdCktPmltcGwoKTsKICAgICBpZiAob2JqZWN0LT5p
bmhlcml0cyhKU1ZpZGVvVHJhY2s6OmluZm8oKSkpCiAgICAgICAgIHJldHVybiAmanNDYXN0PEpT
VmlkZW9UcmFjayo+KG9iamVjdCktPmltcGwoKTsKKyAgICBpZiAob2JqZWN0LT5pbmhlcml0cyhK
U01lZGlhU3RyZWFtVHJhY2s6OmluZm8oKSkpCisgICAgICAgIHJldHVybiAmanNDYXN0PEpTTWVk
aWFTdHJlYW1UcmFjayo+KG9iamVjdCktPmltcGwoKTsKIAogICAgIHJldHVybiAwOwogfQpAQCAt
NzYsNiArNzksOSBAQCBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRyYWNrQmFzZSogdAogCiAgICAgY2FzZSBUcmFja0Jh
c2U6OlRleHRUcmFjazoKICAgICAgICAgcmV0dXJuIENSRUFURV9ET01fV1JBUFBFUihnbG9iYWxP
YmplY3QsIFRleHRUcmFjaywgdHJhY2spOworCisgICAgY2FzZSBUcmFja0Jhc2U6Ok1lZGlhU3Ry
ZWFtVHJhY2s6CisgICAgICAgIHJldHVybiBDUkVBVEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0
LCBNZWRpYVN0cmVhbVRyYWNrLCB0cmFjayk7CiAgICAgfQogICAgIAogICAgIHJldHVybiBqc051
bGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tCYXNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrQmFzZS5oCmluZGV4IDI0NTk4OGI3YzZj
Njk5NGE2ZWVkNjhjYTQyMGVmYWIxYmFhZjkyMmEuLjY1Yzc1M2FmNmRkNjdlMDEyMDczZWUxYWUw
YmM1MjFkN2FiMTQzMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJh
Y2tCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0Jhc2UuaApAQCAt
NDEsNyArNDEsNyBAQCBjbGFzcyBUcmFja0Jhc2UgOiBwdWJsaWMgUmVmQ291bnRlZDxUcmFja0Jh
c2U+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5UcmFja0Jhc2UoKTsKIAotICAgIGVudW0gVHlw
ZSB7IEJhc2VUcmFjaywgVGV4dFRyYWNrLCBBdWRpb1RyYWNrLCBWaWRlb1RyYWNrIH07CisgICAg
ZW51bSBUeXBlIHsgQmFzZVRyYWNrLCBUZXh0VHJhY2ssIEF1ZGlvVHJhY2ssIFZpZGVvVHJhY2ss
IE1lZGlhU3RyZWFtVHJhY2sgfTsKICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5
cGU7IH0KIAogICAgIHZvaWQgc2V0TWVkaWFFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIGVsZW1l
bnQpIHsgbV9tZWRpYUVsZW1lbnQgPSBlbGVtZW50OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9BdWRpb1RyYWNrUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQXVkaW9UcmFja1ByaXZhdGUuaAppbmRleCAyNTY5NzY1ZWVl
ZTUzZTgzMDY5YmEzZTZlZDc4ZDJiNDJlOGE0MzcxLi5hMjY3MWE0NmU4NmVjMDFhNjk4ZDY2YjEy
NzBkNjIwYzg5ZWIwZmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9BdWRpb1RyYWNrUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0F1ZGlvVHJhY2tQcml2YXRlLmgKQEAgLTM5LDcgKzM5LDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBlbmFibGVkQ2hhbmdlZChBdWRpb1RyYWNrUHJpdmF0ZSosIGJvb2wpID0g
MDsKIH07CiAKLWNsYXNzIEF1ZGlvVHJhY2tQcml2YXRlIDogcHVibGljIFRyYWNrUHJpdmF0ZUJh
c2UgeworY2xhc3MgQXVkaW9UcmFja1ByaXZhdGUgOiBwdWJsaWMgVHJhY2tQcml2YXRlQmFzZSwg
cHVibGljIFJlZkNvdW50ZWQ8QXVkaW9UcmFja1ByaXZhdGU+ICB7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFJlZjxBdWRpb1RyYWNrUHJpdmF0ZT4gY3JlYXRlKCkKICAgICB7CkBAIC02Miw2ICs2Miw5
IEBAIHB1YmxpYzoKICAgICBlbnVtIEtpbmQgeyBBbHRlcm5hdGl2ZSwgRGVzY3JpcHRpb24sIE1h
aW4sIE1haW5EZXNjLCBUcmFuc2xhdGlvbiwgQ29tbWVudGFyeSwgTm9uZSB9OwogICAgIHZpcnR1
YWwgS2luZCBraW5kKCkgY29uc3QgeyByZXR1cm4gTm9uZTsgfQogCisgICAgdXNpbmcgUmVmQ291
bnRlZDxBdWRpb1RyYWNrUHJpdmF0ZT46Om9wZXJhdG9yIG5ldzsKKyAgICB1c2luZyBSZWZDb3Vu
dGVkPEF1ZGlvVHJhY2tQcml2YXRlPjo6b3BlcmF0b3IgZGVsZXRlOworCiBwcm90ZWN0ZWQ6CiAg
ICAgQXVkaW9UcmFja1ByaXZhdGUoKQogICAgICAgICA6IG1fY2xpZW50KDApCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbmJhbmRUZXh0VHJhY2tQcml2YXRl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbmJhbmRUZXh0VHJhY2tQcml2
YXRlLmgKaW5kZXggZjgwODRiYjFjNjhjY2MxNGY1MTJiMjBlOThlYjNjNDA4MjNjYTVkNC4uMzc0
MDAxMDY4MWFlNTI5OThmZjBkZjFlYTk1ZjI1OWJhZDgyNjEzMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0luYmFuZFRleHRUcmFja1ByaXZhdGUu
aApAQCAtMzIsNyArMzIsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEluYmFu
ZFRleHRUcmFja1ByaXZhdGUgOiBwdWJsaWMgVHJhY2tQcml2YXRlQmFzZSB7CitjbGFzcyBJbmJh
bmRUZXh0VHJhY2tQcml2YXRlIDogcHVibGljIFRyYWNrUHJpdmF0ZUJhc2UsIHB1YmxpYyBSZWZD
b3VudGVkPEluYmFuZFRleHRUcmFja1ByaXZhdGU+IHsKIHB1YmxpYzoKICAgICBlbnVtIEN1ZUZv
cm1hdCB7CiAgICAgICAgIERhdGEsCkBAIC03OCw2ICs3OCw5IEBAIHB1YmxpYzoKIAogICAgIEN1
ZUZvcm1hdCBjdWVGb3JtYXQoKSBjb25zdCB7IHJldHVybiBtX2Zvcm1hdDsgfQogCisgICAgdXNp
bmcgUmVmQ291bnRlZDxJbmJhbmRUZXh0VHJhY2tQcml2YXRlPjo6b3BlcmF0b3IgbmV3OworICAg
IHVzaW5nIFJlZkNvdW50ZWQ8SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZT46Om9wZXJhdG9yIGRlbGV0
ZTsKKwogcHJvdGVjdGVkOgogICAgIEluYmFuZFRleHRUcmFja1ByaXZhdGUoQ3VlRm9ybWF0IGZv
cm1hdCkKICAgICAgICAgOiBtX2Zvcm1hdChmb3JtYXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmgKaW5kZXggNzMxYWE4ZDkzNmE1
YWFlYTBkMWMwM2FhNjhhMmFjNmIyYjJiOWU2NC4uYWM3MTMyMWJiZTQ1OGEwZmY3ODcyOTI0ZWY2
MDFmOGVlN2IzMzMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvVHJhY2tQcml2YXRlQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1RyYWNrUHJpdmF0ZUJhc2UuaApAQCAtNDksNyArNDksNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIHdpbGxSZW1vdmUoVHJhY2tQcml2YXRlQmFzZSopID0gMDsKIH07CiAKLWNsYXNz
IFRyYWNrUHJpdmF0ZUJhc2UgOiBwdWJsaWMgUmVmQ291bnRlZDxUcmFja1ByaXZhdGVCYXNlPiB7
CitjbGFzcyBUcmFja1ByaXZhdGVCYXNlIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFj
a1ByaXZhdGVCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdmly
dHVhbCB+VHJhY2tQcml2YXRlQmFzZSgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvVmlkZW9UcmFja1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1ZpZGVvVHJhY2tQcml2YXRlLmgKaW5kZXggMjRmMDliYWZlZTc0OWU0
MWFkNGYwOTYyZDExNzUxMTZhMzQwOGIzZi4uMGIwODJiYzVjMWQzNTQ3ZGFiMmE0ZTc4MDI3ZjVk
ZmVhODU5MTllNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
VmlkZW9UcmFja1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9WaWRlb1RyYWNrUHJpdmF0ZS5oCkBAIC0zOSw3ICszOSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgc2VsZWN0ZWRDaGFuZ2VkKFZpZGVvVHJhY2tQcml2YXRlKiwgYm9vbCkgPSAwOwog
fTsKIAotY2xhc3MgVmlkZW9UcmFja1ByaXZhdGUgOiBwdWJsaWMgVHJhY2tQcml2YXRlQmFzZSB7
CitjbGFzcyBWaWRlb1RyYWNrUHJpdmF0ZSA6IHB1YmxpYyBUcmFja1ByaXZhdGVCYXNlLCBwdWJs
aWMgUmVmQ291bnRlZDxWaWRlb1RyYWNrUHJpdmF0ZT4gewogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFZpZGVvVHJhY2tQcml2YXRlPiBjcmVhdGUoKQogICAgIHsKQEAgLTYyLDYgKzYy
LDkgQEAgcHVibGljOgogICAgIGVudW0gS2luZCB7IEFsdGVybmF0aXZlLCBDYXB0aW9ucywgTWFp
biwgU2lnbiwgU3VidGl0bGVzLCBDb21tZW50YXJ5LCBOb25lIH07CiAgICAgdmlydHVhbCBLaW5k
IGtpbmQoKSBjb25zdCB7IHJldHVybiBOb25lOyB9CiAKKyAgICB1c2luZyBSZWZDb3VudGVkPFZp
ZGVvVHJhY2tQcml2YXRlPjo6b3BlcmF0b3IgbmV3OworICAgIHVzaW5nIFJlZkNvdW50ZWQ8Vmlk
ZW9UcmFja1ByaXZhdGU+OjpvcGVyYXRvciBkZWxldGU7CisKIHByb3RlY3RlZDoKICAgICBWaWRl
b1RyYWNrUHJpdmF0ZSgpCiAgICAgICAgIDogbV9jbGllbnQoMCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQ
cml2YXRlLmNwcAppbmRleCBkODE3OGRiOWFlYjg1ZmRkZTA0Nzc0NzRkMzEzMjgzODdiZWNjOWQx
Li45ZTQ1ZDBlMDlkNmRkYmU1OTQ4MWE4YjVhZDU3ZDIxZTBkYzAyMmIxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrUHJpdmF0
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFja1ByaXZhdGUuY3BwCkBAIC00OSwyMiArNDksMjUgQEAgUmVmUHRyPE1lZGlhU3RyZWFt
VHJhY2tQcml2YXRlPiBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZTo6Y3JlYXRlKFJlZlB0cjxSZWFs
dGltZU0KIAogTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6Ok1lZGlhU3RyZWFtVHJhY2tQcml2YXRl
KGNvbnN0IE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiBvdGhlcikKICAgICA6IFJlZkNvdW50ZWQo
KQotICAgICwgbV9zb3VyY2Uob3RoZXIuc291cmNlKCkpCisgICAgLCBUcmFja1ByaXZhdGVCYXNl
KCkKICAgICAsIG1fY2xpZW50KG51bGxwdHIpCiAgICAgLCBtX2lkKGNyZWF0ZUNhbm9uaWNhbFVV
SURTdHJpbmcoKSkKICAgICAsIG1faXNFbmFibGVkKG90aGVyLmVuYWJsZWQoKSkKICAgICAsIG1f
aXNFbmRlZChvdGhlci5lbmRlZCgpKQorICAgICwgbV9zb3VyY2Uob3RoZXIuc291cmNlKCkpCisK
IHsKICAgICBtX3NvdXJjZS0+YWRkT2JzZXJ2ZXIodGhpcyk7CiB9CiAKIE1lZGlhU3RyZWFtVHJh
Y2tQcml2YXRlOjpNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZShSZWZQdHI8UmVhbHRpbWVNZWRpYVNv
dXJjZT4mJiBzb3VyY2UsIGNvbnN0IFN0cmluZyYgaWQpCiAgICAgOiBSZWZDb3VudGVkKCkKLSAg
ICAsIG1fc291cmNlKHNvdXJjZSkKKyAgICAsIFRyYWNrUHJpdmF0ZUJhc2UoKQogICAgICwgbV9j
bGllbnQobnVsbHB0cikKICAgICAsIG1faWQoaWQpCiAgICAgLCBtX2lzRW5hYmxlZCh0cnVlKQog
ICAgICwgbV9pc0VuZGVkKGZhbHNlKQorICAgICwgbV9zb3VyY2Uoc291cmNlKQogewogICAgIG1f
c291cmNlLT5hZGRPYnNlcnZlcih0aGlzKTsKIH0KQEAgLTc0LDcgKzc3LDcgQEAgTWVkaWFTdHJl
YW1UcmFja1ByaXZhdGU6On5NZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSgpCiAgICAgbV9zb3VyY2Ut
PnJlbW92ZU9ic2VydmVyKHRoaXMpOwogfQogCi1jb25zdCBTdHJpbmcmIE1lZGlhU3RyZWFtVHJh
Y2tQcml2YXRlOjpsYWJlbCgpIGNvbnN0CitBdG9taWNTdHJpbmcgTWVkaWFTdHJlYW1UcmFja1By
aXZhdGU6OmxhYmVsKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9zb3VyY2UtPm5hbWUoKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtVHJhY2tQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5oCmluZGV4IDJhYjAxYzNjMzRlNjI3M2FiNjg3Mzc2MmY5
NDA2YzViYjg3M2U3NDEuLjBlN2IwNGQ5NmEwYmQ1ZmFlYzYxZTBmNGI1YzcwNDkzYzZkZDdkMjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtVHJhY2tQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuaApAQCAtMzAsNiArMzAsNyBAQAogI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlLmgiCisjaW5j
bHVkZSAiVHJhY2tQcml2YXRlQmFzZS5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAKQEAgLTM4LDcgKzM5LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTWVkaWFTb3VyY2VTdGF0ZXM7CiBjbGFzcyBSZWFsdGlt
ZU1lZGlhU291cmNlQ2FwYWJpbGl0aWVzOwogCi1jbGFzcyBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0
ZUNsaWVudCB7CitjbGFzcyBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZUNsaWVudCA6IHB1YmxpYyBU
cmFja1ByaXZhdGVCYXNlQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5NZWRpYVN0cmVh
bVRyYWNrUHJpdmF0ZUNsaWVudCgpIHsgfQogCkBAIC00NiwxNSArNDcsMTYgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCB0cmFja011dGVkQ2hhbmdlZCgpID0gMDsKIH07CiAKLWNsYXNzIE1l
ZGlhU3RyZWFtVHJhY2tQcml2YXRlIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFTdHJlYW1UcmFj
a1ByaXZhdGU+LCBwdWJsaWMgUmVhbHRpbWVNZWRpYVNvdXJjZTo6T2JzZXJ2ZXIgeworY2xhc3Mg
TWVkaWFTdHJlYW1UcmFja1ByaXZhdGUgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZT4sIHB1YmxpYyBSZWFsdGltZU1lZGlhU291cmNlOjpPYnNlcnZlciwgcHVibGlj
IFRyYWNrUHJpdmF0ZUJhc2UgewogcHVibGljOgogICAgIHN0YXRpYyBSZWZQdHI8TWVkaWFTdHJl
YW1UcmFja1ByaXZhdGU+IGNyZWF0ZShSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4mJik7CiAg
ICAgc3RhdGljIFJlZlB0cjxNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZT4gY3JlYXRlKFJlZlB0cjxS
ZWFsdGltZU1lZGlhU291cmNlPiYmLCBjb25zdCBTdHJpbmcmIGlkKTsKIAogICAgIHZpcnR1YWwg
fk1lZGlhU3RyZWFtVHJhY2tQcml2YXRlKCk7CiAKLSAgICBjb25zdCBTdHJpbmcmIGlkKCkgY29u
c3QgeyByZXR1cm4gbV9pZDsgfQotICAgIGNvbnN0IFN0cmluZyYgbGFiZWwoKSBjb25zdDsKKyAg
ICBBdG9taWNTdHJpbmcgaWQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2lkOyB9CisgICAg
QXRvbWljU3RyaW5nIGxhYmVsKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgQXRvbWljU3RyaW5nIGxh
bmd1YWdlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZW1wdHlBdG9tOyB9CiAKICAgICBib29s
IGVuZGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0VuZGVkOyB9CiAKQEAgLTgzLDI0ICs4NSwzMCBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGNvbmZpZ3VyZVRyYWNrUmVuZGVyaW5nKCk7CiAKLXByaXZh
dGU6CisgICAgdXNpbmcgUmVmQ291bnRlZDxNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZT46Om9wZXJh
dG9yIG5ldzsKKyAgICB1c2luZyBSZWZDb3VudGVkPE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlPjo6
b3BlcmF0b3IgZGVsZXRlOworCisKK3Byb3RlY3RlZDoKICAgICBleHBsaWNpdCBNZWRpYVN0cmVh
bVRyYWNrUHJpdmF0ZShjb25zdCBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYpOwogICAgIE1lZGlh
U3RyZWFtVHJhY2tQcml2YXRlKFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiYmLCBjb25zdCBT
dHJpbmcmIGlkKTsKIAotICAgIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlQ2xpZW50KiBjbGllbnQo
KSBjb25zdCB7IHJldHVybiBtX2NsaWVudDsgfQorICAgIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRl
Q2xpZW50KiBjbGllbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2NsaWVudDsgfQogCiAg
ICAgLy8gUmVhbHRpbWVNZWRpYVNvdXJjZU9ic2VydmVyCiAgICAgdmlydHVhbCB2b2lkIHNvdXJj
ZVN0b3BwZWQoKSBvdmVycmlkZSBmaW5hbDsKICAgICB2aXJ0dWFsIHZvaWQgc291cmNlTXV0ZWRD
aGFuZ2VkKCkgb3ZlcnJpZGUgZmluYWw7CiAgICAgdmlydHVhbCBib29sIHByZXZlbnRTb3VyY2VG
cm9tU3RvcHBpbmcoKSBvdmVycmlkZSBmaW5hbDsKICAgICAKLSAgICBSZWZQdHI8UmVhbHRpbWVN
ZWRpYVNvdXJjZT4gbV9zb3VyY2U7CiAgICAgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGVDbGllbnQq
IG1fY2xpZW50OwotICAgIFJlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBtX2NvbnN0cmFpbnRzOwog
Ci0gICAgU3RyaW5nIG1faWQ7CisgICAgQXRvbWljU3RyaW5nIG1faWQ7CiAgICAgYm9vbCBtX2lz
RW5hYmxlZDsKICAgICBib29sIG1faXNFbmRlZDsKKworcHJpdmF0ZToKKyAgICBSZWZQdHI8TWVk
aWFDb25zdHJhaW50cz4gbV9jb25zdHJhaW50czsKKyAgICBSZWZQdHI8UmVhbHRpbWVNZWRpYVNv
dXJjZT4gbV9zb3VyY2U7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256847</attachid>
            <date>2015-07-15 11:35:25 -0700</date>
            <delta_ts>2015-07-15 20:16:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146939-20150715113420.patch</filename>
            <type>text/plain</type>
            <size>17965</size>
            <attacher name="Matthew Daiter">mdaiter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2ODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTY2MmI4MDg5OTVkN2Jl
YjQ0NGU5N2RmOGM2MWE5YjY0NDFmNWIwMC4uNTM2MGY3ZGUyZDM4MWMxNDJkNzg3NmY5NjM3OGZk
NjMxNDk0ODNiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDE1LTA3LTE1ICBNYXR0
aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZWQgTWVkaWFT
dHJlYW1UcmFja3tQcml2YXRlfSB0byBzdWJjbGFzcyBmcm9tIFRyYWNrQmFzZXtQcml2YXRlfQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2OTM5Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTgyMTEyNT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFjay5jcHA6IFRyYWNrIGluaGVyaXRzIGZyb20KKyAgICAgICAgVHJhY2tCYXNlCisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjpNZWRpYVN0cmVhbVRyYWNrKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6OmlkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtVHJhY2s6OmlzVmFsaWRLaW5kKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3Ry
ZWFtVHJhY2s6OmRlZmF1bHRLaW5kS2V5d29yZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0
cmVhbVRyYWNrOjpjbGVhckNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRy
YWNrOjppZENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFjazo6bGFi
ZWxDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6Omxhbmd1YWdl
Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjp3aWxsUmVtb3Zl
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNwcDogTmVlZGVkIHRvIGFkZCBNZWRp
YVN0cmVhbVRyYWNrIHRvCisgICAgICAgIG9wdGlvbnMgZm9yIHRyYWNrcyB3aGlsZSBjaGVja2lu
ZyBjYXNlIHN0YXRlbWVudHMKKyAgICAgICAgKFdlYkNvcmU6OnRvVHJhY2spOgorICAgICAgICAo
V2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogaHRtbC90cmFjay9BdWRpb1RyYWNrLmg6IE5vIGxv
bmdlciBpbmhlcml0cyBmcm9tIFJlZkNvdW50ZWQ8PgorICAgICAgICB2ZXJzaW9ucyBvZiBpdHNl
bGYKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFjay5jcHA6IERpdHRvCisgICAgICAgIChX
ZWJDb3JlOjpUZXh0VHJhY2s6OmN1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrOjph
Y3RpdmVDdWVzKToKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFjay5oOiBEaXR0bworICAg
ICAgICAqIGh0bWwvdHJhY2svVHJhY2tCYXNlLmg6IERpdHRvCisgICAgICAgICogaHRtbC90cmFj
ay9WaWRlb1RyYWNrLmg6IERpdHRvCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQXVkaW9U
cmFja1ByaXZhdGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbmJhbmRUZXh0VHJh
Y2tQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFz
ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1ZpZGVvVHJhY2tQcml2YXRlLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6Ok1lZGlhU3RyZWFt
VHJhY2tQcml2YXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2tQcml2YXRl
OjpsYWJlbCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFj
a1ByaXZhdGUuaDogQ2hhbmdlZCB0byBpbmhlcml0CisgICAgICAgIGZyb20gVHJhY2tCYXNlUHJp
dmF0ZQorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6OmlkKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2tQcml2YXRlOjpjbGllbnQp
OiBEZWxldGVkLgorCiAyMDE1LTA3LTE1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBw
bGUuY29tPgogCiAgICAgICAgIE5lZ2F0aXZlIHNjcm9sbCBzbmFwIHJlcGVhdCB2YWx1ZXMgY2F1
c2Ugd2ViIHByb2Nlc3MgdG8gaGFuZyBpbmRlZmluaXRlbHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IDAw
NmQ1MzExNTlmY2FmZDBmNTYzYmM3ZGQ2NzNmMWZhNjg0YzA0MWYuLjRmYWFkNTNlYTFlM2M0YTc0
ZGMyYjk0NjkyNzM4MGI4NjdiNTkzYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcApAQCAtNDIsNiArNDIsNyBA
QAogI2luY2x1ZGUgIk1lZGlhU3RyZWFtUHJpdmF0ZS5oIgogI2luY2x1ZGUgIk1lZGlhVHJhY2tD
b25zdHJhaW50cy5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisjaW5jbHVkZSAiVHJh
Y2tCYXNlLmgiCiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvTmV2
ZXJEZXN0cm95ZWQuaD4KIApAQCAtNTMsOCArNTQsOCBAQCBSZWY8TWVkaWFTdHJlYW1UcmFjaz4g
TWVkaWFTdHJlYW1UcmFjazo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
CiB9CiAKIE1lZGlhU3RyZWFtVHJhY2s6Ok1lZGlhU3RyZWFtVHJhY2soU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmIHByaXZhdGVUcmFjaykK
LSAgICA6IFJlZkNvdW50ZWQoKQotICAgICwgQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAg
IDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQorICAgICwgVHJhY2tCYXNlKFRyYWNrQmFzZTo6
TWVkaWFTdHJlYW1UcmFjaywgcHJpdmF0ZVRyYWNrLmlkKCksIHByaXZhdGVUcmFjay5sYWJlbCgp
LCBwcml2YXRlVHJhY2subGFuZ3VhZ2UoKSkKICAgICAsIG1fcHJpdmF0ZShwcml2YXRlVHJhY2sp
CiB7CiAgICAgc3VzcGVuZElmTmVlZGVkKCk7CkBAIC03Nyw3ICs3OCw3IEBAIGNvbnN0IEF0b21p
Y1N0cmluZyYgTWVkaWFTdHJlYW1UcmFjazo6a2luZCgpIGNvbnN0CiAgICAgcmV0dXJuIHZpZGVv
S2luZDsKIH0KIAotY29uc3QgU3RyaW5nJiBNZWRpYVN0cmVhbVRyYWNrOjppZCgpIGNvbnN0CitB
dG9taWNTdHJpbmcgTWVkaWFTdHJlYW1UcmFjazo6aWQoKSBjb25zdAogewogICAgIHJldHVybiBt
X3ByaXZhdGUtPmlkKCk7CiB9CkBAIC0xOTAsNiArMTkxLDIzIEBAIHZvaWQgTWVkaWFTdHJlYW1U
cmFjazo6cmVtb3ZlT2JzZXJ2ZXIoTWVkaWFTdHJlYW1UcmFjazo6T2JzZXJ2ZXIqIG9ic2VydmVy
KQogICAgICAgICBtX29ic2VydmVycy5yZW1vdmUocG9zKTsKIH0KIAorYm9vbCBNZWRpYVN0cmVh
bVRyYWNrOjppc1ZhbGlkS2luZChjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdAoreworICAgIG5v
dEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2NvbnN0IEF0b21pY1N0cmlu
ZyYgTWVkaWFTdHJlYW1UcmFjazo6ZGVmYXVsdEtpbmRLZXl3b3JkKCkgY29uc3QKK3sKKyAgICBu
b3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBlbXB0eUF0b207Cit9CisKK3ZvaWQgTWVkaWFT
dHJlYW1UcmFjazo6Y2xlYXJDbGllbnQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisK
IHZvaWQgTWVkaWFTdHJlYW1UcmFjazo6dHJhY2tFbmRlZCgpCiB7CiAgICAgZGlzcGF0Y2hFdmVu
dChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lbmRlZEV2ZW50LCBmYWxzZSwgZmFsc2UpKTsK
QEAgLTIwNyw2ICsyMjUsMjcgQEAgdm9pZCBNZWRpYVN0cmVhbVRyYWNrOjp0cmFja011dGVkQ2hh
bmdlZCgpCiAKICAgICBjb25maWd1cmVUcmFja1JlbmRlcmluZygpOwogfQorICAgIAordm9pZCBN
ZWRpYVN0cmVhbVRyYWNrOjppZENoYW5nZWQoVHJhY2tQcml2YXRlQmFzZSosIGNvbnN0IEF0b21p
Y1N0cmluZyYgaWQpCit7CisgICAgc2V0SWQoaWQpOworfQorCit2b2lkIE1lZGlhU3RyZWFtVHJh
Y2s6OmxhYmVsQ2hhbmdlZChUcmFja1ByaXZhdGVCYXNlKiwgY29uc3QgQXRvbWljU3RyaW5nJiBs
YWJlbCkKK3sKKyAgICBzZXRMYWJlbChsYWJlbCk7Cit9CisKK3ZvaWQgTWVkaWFTdHJlYW1UcmFj
azo6bGFuZ3VhZ2VDaGFuZ2VkKFRyYWNrUHJpdmF0ZUJhc2UqLCBjb25zdCBBdG9taWNTdHJpbmcm
IGxhbmd1YWdlKQoreworICAgIHNldExhbmd1YWdlKGxhbmd1YWdlKTsKK30KKwordm9pZCBNZWRp
YVN0cmVhbVRyYWNrOjp3aWxsUmVtb3ZlKFRyYWNrUHJpdmF0ZUJhc2UqKQoreworICAgIC8vIFN0
aWxsIGhhdmVuJ3QgZGVhbHQgd2l0aCBlbmFibGluZyBNZWRpYVN0cmVhbVRyYWNrcyBhbmQgd2hl
dGhlciB0byB0cmVhdCBhcyBzZXBhcmF0ZSBvYmplY3RzIGluc2lkZSBvZiBIVE1MTWVkaWFFbGVt
ZW50IHlldC4KKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQogCiB2b2lkIE1lZGlhU3RyZWFtVHJh
Y2s6OmNvbmZpZ3VyZVRyYWNrUmVuZGVyaW5nKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKaW5kZXggODZiODY2YjE1
YzA5MzdmNmFkYjY0ZDNhNzcxMTdhNDYxOWEyODE0My4uZjNjMTIwN2MwNTAzYjgwYTE5ZWEwNDQw
MmM4ZGYzZDFjM2NjZWU1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRl
ICJNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3Vy
Y2UuaCIKICNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKKyNpbmNsdWRlICJUcmFja0Jhc2Uu
aCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC00OCw3ICs0OSw3IEBAIGNsYXNzIE1lZGlhU291
cmNlU3RhdGVzOwogY2xhc3MgTWVkaWFTdHJlYW1DYXBhYmlsaXRpZXM7CiBjbGFzcyBNZWRpYVRy
YWNrQ29uc3RyYWludHM7CiAKLWNsYXNzIE1lZGlhU3RyZWFtVHJhY2sgZmluYWwgOiBwdWJsaWMg
UmVmQ291bnRlZDxNZWRpYVN0cmVhbVRyYWNrPiwgcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVi
bGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1
YmxpYyBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZUNsaWVudCB7CitjbGFzcyBNZWRpYVN0cmVhbVRy
YWNrIGZpbmFsIDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIEFjdGl2ZURPTU9iamVj
dCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBNZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZUNsaWVudCwgcHVibGljIFRyYWNrQmFzZSB7CiBwdWJsaWM6CiAgICAgY2xhc3Mg
T2JzZXJ2ZXIgewogICAgIHB1YmxpYzoKQEAgLTYwLDEwICs2MSwxMCBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB+TWVkaWFTdHJlYW1UcmFjaygpOwogCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBr
aW5kKCkgY29uc3Q7Ci0gICAgY29uc3QgU3RyaW5nJiBpZCgpIGNvbnN0OworICAgIEF0b21pY1N0
cmluZyBpZCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGNvbnN0IFN0cmluZyYgbGFiZWwoKSBjb25z
dDsKIAotICAgIGJvb2wgZW5hYmxlZCgpIGNvbnN0OworICAgIGJvb2wgZW5hYmxlZCgpIGNvbnN0
IG92ZXJyaWRlOwogICAgIHZvaWQgc2V0RW5hYmxlZChib29sKTsKIAogICAgIGJvb2wgbXV0ZWQo
KSBjb25zdDsKQEAgLTg2LDE1ICs4NywyMiBAQCBwdWJsaWM6CiAgICAgUmVhbHRpbWVNZWRpYVNv
dXJjZSogc291cmNlKCkgY29uc3QgeyByZXR1cm4gbV9wcml2YXRlLT5zb3VyY2UoKTsgfQogICAg
IE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiBwcml2YXRlVHJhY2soKSB7IHJldHVybiBtX3ByaXZh
dGUuZ2V0KCk7IH0KIAorICAgIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUgbWVkaWFUeXBlKCkg
Y29uc3QgeyByZXR1cm4gbV9wcml2YXRlLT5zb3VyY2UoKS0+dHlwZSgpOyB9CisgICAgCiAgICAg
dm9pZCBhZGRPYnNlcnZlcihPYnNlcnZlciopOwogICAgIHZvaWQgcmVtb3ZlT2JzZXJ2ZXIoT2Jz
ZXJ2ZXIqKTsKIAorICAgIC8vIFRyYWNrQmFzZQorICAgIGJvb2wgaXNWYWxpZEtpbmQoY29uc3Qg
QXRvbWljU3RyaW5nJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgY29uc3QgQXRvbWljU3RyaW5nJiBk
ZWZhdWx0S2luZEtleXdvcmQoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIGNsZWFyQ2xpZW50
KCkgb3ZlcnJpZGU7CisKICAgICAvLyBFdmVudFRhcmdldAogICAgIHZpcnR1YWwgRXZlbnRUYXJn
ZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZSBmaW5hbCB7
IHJldHVybiBNZWRpYVN0cmVhbVRyYWNrRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9CiAgICAg
dmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkg
Y29uc3Qgb3ZlcnJpZGUgZmluYWwgeyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCk7IH0KIAotICAgIHVzaW5nIFJlZkNvdW50ZWQ8TWVkaWFTdHJlYW1UcmFj
az46OnJlZjsKLSAgICB1c2luZyBSZWZDb3VudGVkPE1lZGlhU3RyZWFtVHJhY2s+OjpkZXJlZjsK
KyAgICB1c2luZyBSZWZDb3VudGVkPFRyYWNrQmFzZT46OnJlZjsKKyAgICB1c2luZyBSZWZDb3Vu
dGVkPFRyYWNrQmFzZT46OmRlcmVmOwogCiBwcml2YXRlOgogICAgIE1lZGlhU3RyZWFtVHJhY2so
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJik7CkBAIC0x
MDgsMTIgKzExNiwxNiBAQCBwcml2YXRlOgogICAgIGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VDYWNo
ZSgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOwogCiAgICAgLy8gRXZlbnRUYXJnZXQKLSAgICB2aXJ0
dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSBmaW5hbCB7IHJlZigpOyB9Ci0gICAg
dmlydHVhbCB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSBmaW5hbCB7IGRlcmVmKCk7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSBmaW5hbCB7IEV2
ZW50VGFyZ2V0OjpyZWYoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkg
b3ZlcnJpZGUgZmluYWwgeyBFdmVudFRhcmdldDo6ZGVyZWYoKTsgfQogCiAgICAgLy8gTWVkaWFT
dHJlYW1UcmFja1ByaXZhdGVDbGllbnQKICAgICB2b2lkIHRyYWNrRW5kZWQoKSBvdmVycmlkZTsK
ICAgICB2b2lkIHRyYWNrTXV0ZWRDaGFuZ2VkKCkgb3ZlcnJpZGU7CisgICAgdm9pZCBpZENoYW5n
ZWQoVHJhY2tQcml2YXRlQmFzZSosIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOworICAg
IHZvaWQgbGFiZWxDaGFuZ2VkKFRyYWNrUHJpdmF0ZUJhc2UqLCBjb25zdCBBdG9taWNTdHJpbmcm
KSBvdmVycmlkZTsKKyAgICB2b2lkIGxhbmd1YWdlQ2hhbmdlZChUcmFja1ByaXZhdGVCYXNlKiwg
Y29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CisgICAgdm9pZCB3aWxsUmVtb3ZlKFRyYWNr
UHJpdmF0ZUJhc2UqKSBvdmVycmlkZTsKIAogICAgIFZlY3RvcjxPYnNlcnZlcio+IG1fb2JzZXJ2
ZXJzOwogICAgIFJlZjxNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZT4gbV9wcml2YXRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNUcmFja0N1c3RvbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyYWNrQ3VzdG9tLmNwcAppbmRleCA5NzUxNDY3MjRk
YjAyNjkwNTQ0NDU4OWFkZDkyZjQxYmI0NTMwOGM1Li5mYjBkMDk2MzdkZTIxMDE4YTdhZThjNDc5
OGYxYjMzMTc5YjM2NTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1RyYWNrQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1RyYWNr
Q3VzdG9tLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkpTVHJhY2tDdXN0b20uaCIK
IAogI2luY2x1ZGUgIkpTQXVkaW9UcmFjay5oIgorI2luY2x1ZGUgIkpTTWVkaWFTdHJlYW1UcmFj
ay5oIgogI2luY2x1ZGUgIkpTVGV4dFRyYWNrLmgiCiAjaW5jbHVkZSAiSlNWaWRlb1RyYWNrLmgi
CiAKQEAgLTQ5LDcgKzUwLDkgQEAgVHJhY2tCYXNlKiB0b1RyYWNrKEpTVmFsdWUgdmFsdWUpCiAg
ICAgICAgIHJldHVybiAmanNDYXN0PEpTQXVkaW9UcmFjayo+KG9iamVjdCktPmltcGwoKTsKICAg
ICBpZiAob2JqZWN0LT5pbmhlcml0cyhKU1ZpZGVvVHJhY2s6OmluZm8oKSkpCiAgICAgICAgIHJl
dHVybiAmanNDYXN0PEpTVmlkZW9UcmFjayo+KG9iamVjdCktPmltcGwoKTsKLQorICAgIGlmIChv
YmplY3QtPmluaGVyaXRzKEpTTWVkaWFTdHJlYW1UcmFjazo6aW5mbygpKSkKKyAgICAgICAgcmV0
dXJuICZqc0Nhc3Q8SlNNZWRpYVN0cmVhbVRyYWNrKj4ob2JqZWN0KS0+aW1wbCgpOworICAgIAog
ICAgIHJldHVybiAwOwogfQogCkBAIC03Niw2ICs3OSwxMSBAQCBKU0M6OkpTVmFsdWUgdG9KUyhK
U0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRyYWNrQmFz
ZSogdAogCiAgICAgY2FzZSBUcmFja0Jhc2U6OlRleHRUcmFjazoKICAgICAgICAgcmV0dXJuIENS
RUFURV9ET01fV1JBUFBFUihnbG9iYWxPYmplY3QsIFRleHRUcmFjaywgdHJhY2spOworCisgICAg
Y2FzZSBUcmFja0Jhc2U6Ok1lZGlhU3RyZWFtVHJhY2s6CisgICAgICAgIGlmIChzdGF0aWNfY2Fz
dDxNZWRpYVN0cmVhbVRyYWNrKj4odHJhY2spLT5tZWRpYVR5cGUoKSA9PSBSZWFsdGltZU1lZGlh
U291cmNlOjpUeXBlOjpWaWRlbykKKyAgICAgICAgICAgIHJldHVybiBDUkVBVEVfRE9NX1dSQVBQ
RVIoZ2xvYmFsT2JqZWN0LCBWaWRlb1RyYWNrLCB0cmFjayk7CisgICAgICAgIHJldHVybiBDUkVB
VEVfRE9NX1dSQVBQRVIoZ2xvYmFsT2JqZWN0LCBBdWRpb1RyYWNrLCB0cmFjayk7CiAgICAgfQog
ICAgIAogICAgIHJldHVybiBqc051bGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvdHJhY2svVHJhY2tCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrQmFz
ZS5oCmluZGV4IDI0NTk4OGI3YzZjNjk5NGE2ZWVkNjhjYTQyMGVmYWIxYmFhZjkyMmEuLjY1Yzc1
M2FmNmRkNjdlMDEyMDczZWUxYWUwYmM1MjFkN2FiMTQzMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90
cmFjay9UcmFja0Jhc2UuaApAQCAtNDEsNyArNDEsNyBAQCBjbGFzcyBUcmFja0Jhc2UgOiBwdWJs
aWMgUmVmQ291bnRlZDxUcmFja0Jhc2U+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5UcmFja0Jh
c2UoKTsKIAotICAgIGVudW0gVHlwZSB7IEJhc2VUcmFjaywgVGV4dFRyYWNrLCBBdWRpb1RyYWNr
LCBWaWRlb1RyYWNrIH07CisgICAgZW51bSBUeXBlIHsgQmFzZVRyYWNrLCBUZXh0VHJhY2ssIEF1
ZGlvVHJhY2ssIFZpZGVvVHJhY2ssIE1lZGlhU3RyZWFtVHJhY2sgfTsKICAgICBUeXBlIHR5cGUo
KSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KIAogICAgIHZvaWQgc2V0TWVkaWFFbGVtZW50KEhU
TUxNZWRpYUVsZW1lbnQqIGVsZW1lbnQpIHsgbV9tZWRpYUVsZW1lbnQgPSBlbGVtZW50OyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9BdWRpb1RyYWNrUHJp
dmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQXVkaW9UcmFja1ByaXZh
dGUuaAppbmRleCAyNTY5NzY1ZWVlZTUzZTgzMDY5YmEzZTZlZDc4ZDJiNDJlOGE0MzcxLi5hMjY3
MWE0NmU4NmVjMDFhNjk4ZDY2YjEyNzBkNjIwYzg5ZWIwZmVhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9BdWRpb1RyYWNrUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0F1ZGlvVHJhY2tQcml2YXRlLmgKQEAgLTM5LDcg
KzM5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBlbmFibGVkQ2hhbmdlZChBdWRpb1Ry
YWNrUHJpdmF0ZSosIGJvb2wpID0gMDsKIH07CiAKLWNsYXNzIEF1ZGlvVHJhY2tQcml2YXRlIDog
cHVibGljIFRyYWNrUHJpdmF0ZUJhc2UgeworY2xhc3MgQXVkaW9UcmFja1ByaXZhdGUgOiBwdWJs
aWMgVHJhY2tQcml2YXRlQmFzZSwgcHVibGljIFJlZkNvdW50ZWQ8QXVkaW9UcmFja1ByaXZhdGU+
ICB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxBdWRpb1RyYWNrUHJpdmF0ZT4gY3JlYXRlKCkK
ICAgICB7CkBAIC02Miw2ICs2Miw5IEBAIHB1YmxpYzoKICAgICBlbnVtIEtpbmQgeyBBbHRlcm5h
dGl2ZSwgRGVzY3JpcHRpb24sIE1haW4sIE1haW5EZXNjLCBUcmFuc2xhdGlvbiwgQ29tbWVudGFy
eSwgTm9uZSB9OwogICAgIHZpcnR1YWwgS2luZCBraW5kKCkgY29uc3QgeyByZXR1cm4gTm9uZTsg
fQogCisgICAgdXNpbmcgUmVmQ291bnRlZDxBdWRpb1RyYWNrUHJpdmF0ZT46Om9wZXJhdG9yIG5l
dzsKKyAgICB1c2luZyBSZWZDb3VudGVkPEF1ZGlvVHJhY2tQcml2YXRlPjo6b3BlcmF0b3IgZGVs
ZXRlOworCiBwcm90ZWN0ZWQ6CiAgICAgQXVkaW9UcmFja1ByaXZhdGUoKQogICAgICAgICA6IG1f
Y2xpZW50KDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bmJhbmRUZXh0VHJhY2tQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbmJhbmRUZXh0VHJhY2tQcml2YXRlLmgKaW5kZXggZjgwODRiYjFjNjhjY2MxNGY1MTJiMjBl
OThlYjNjNDA4MjNjYTVkNC4uMzc0MDAxMDY4MWFlNTI5OThmZjBkZjFlYTk1ZjI1OWJhZDgyNjEz
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW5iYW5kVGV4
dFRyYWNrUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lu
YmFuZFRleHRUcmFja1ByaXZhdGUuaApAQCAtMzIsNyArMzIsNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIEluYmFuZFRleHRUcmFja1ByaXZhdGUgOiBwdWJsaWMgVHJhY2tQcml2
YXRlQmFzZSB7CitjbGFzcyBJbmJhbmRUZXh0VHJhY2tQcml2YXRlIDogcHVibGljIFRyYWNrUHJp
dmF0ZUJhc2UsIHB1YmxpYyBSZWZDb3VudGVkPEluYmFuZFRleHRUcmFja1ByaXZhdGU+IHsKIHB1
YmxpYzoKICAgICBlbnVtIEN1ZUZvcm1hdCB7CiAgICAgICAgIERhdGEsCkBAIC03OCw2ICs3OCw5
IEBAIHB1YmxpYzoKIAogICAgIEN1ZUZvcm1hdCBjdWVGb3JtYXQoKSBjb25zdCB7IHJldHVybiBt
X2Zvcm1hdDsgfQogCisgICAgdXNpbmcgUmVmQ291bnRlZDxJbmJhbmRUZXh0VHJhY2tQcml2YXRl
Pjo6b3BlcmF0b3IgbmV3OworICAgIHVzaW5nIFJlZkNvdW50ZWQ8SW5iYW5kVGV4dFRyYWNrUHJp
dmF0ZT46Om9wZXJhdG9yIGRlbGV0ZTsKKwogcHJvdGVjdGVkOgogICAgIEluYmFuZFRleHRUcmFj
a1ByaXZhdGUoQ3VlRm9ybWF0IGZvcm1hdCkKICAgICAgICAgOiBtX2Zvcm1hdChmb3JtYXQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVC
YXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNl
LmgKaW5kZXggNzMxYWE4ZDkzNmE1YWFlYTBkMWMwM2FhNjhhMmFjNmIyYjJiOWU2NC4uYWM3MTMy
MWJiZTQ1OGEwZmY3ODcyOTI0ZWY2MDFmOGVlN2IzMzMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRlQmFzZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RyYWNrUHJpdmF0ZUJhc2UuaApAQCAtNDksNyArNDks
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHdpbGxSZW1vdmUoVHJhY2tQcml2YXRlQmFz
ZSopID0gMDsKIH07CiAKLWNsYXNzIFRyYWNrUHJpdmF0ZUJhc2UgOiBwdWJsaWMgUmVmQ291bnRl
ZDxUcmFja1ByaXZhdGVCYXNlPiB7CitjbGFzcyBUcmFja1ByaXZhdGVCYXNlIHsKICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShUcmFja1ByaXZhdGVCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+VHJhY2tQcml2YXRlQmFzZSgpIHsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVmlkZW9UcmFja1ByaXZhdGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1ZpZGVvVHJhY2tQcml2YXRlLmgK
aW5kZXggMjRmMDliYWZlZTc0OWU0MWFkNGYwOTYyZDExNzUxMTZhMzQwOGIzZi4uMGIwODJiYzVj
MWQzNTQ3ZGFiMmE0ZTc4MDI3ZjVkZmVhODU5MTllNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvVmlkZW9UcmFja1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9WaWRlb1RyYWNrUHJpdmF0ZS5oCkBAIC0zOSw3ICszOSw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2VsZWN0ZWRDaGFuZ2VkKFZpZGVvVHJhY2tQ
cml2YXRlKiwgYm9vbCkgPSAwOwogfTsKIAotY2xhc3MgVmlkZW9UcmFja1ByaXZhdGUgOiBwdWJs
aWMgVHJhY2tQcml2YXRlQmFzZSB7CitjbGFzcyBWaWRlb1RyYWNrUHJpdmF0ZSA6IHB1YmxpYyBU
cmFja1ByaXZhdGVCYXNlLCBwdWJsaWMgUmVmQ291bnRlZDxWaWRlb1RyYWNrUHJpdmF0ZT4gewog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFZpZGVvVHJhY2tQcml2YXRlPiBjcmVhdGUo
KQogICAgIHsKQEAgLTYyLDYgKzYyLDkgQEAgcHVibGljOgogICAgIGVudW0gS2luZCB7IEFsdGVy
bmF0aXZlLCBDYXB0aW9ucywgTWFpbiwgU2lnbiwgU3VidGl0bGVzLCBDb21tZW50YXJ5LCBOb25l
IH07CiAgICAgdmlydHVhbCBLaW5kIGtpbmQoKSBjb25zdCB7IHJldHVybiBOb25lOyB9CiAKKyAg
ICB1c2luZyBSZWZDb3VudGVkPFZpZGVvVHJhY2tQcml2YXRlPjo6b3BlcmF0b3IgbmV3OworICAg
IHVzaW5nIFJlZkNvdW50ZWQ8VmlkZW9UcmFja1ByaXZhdGU+OjpvcGVyYXRvciBkZWxldGU7CisK
IHByb3RlY3RlZDoKICAgICBWaWRlb1RyYWNrUHJpdmF0ZSgpCiAgICAgICAgIDogbV9jbGllbnQo
MCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtVHJhY2tQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmNwcAppbmRleCBkODE3OGRiOWFlYjg1ZmRkZTA0
Nzc0NzRkMzEzMjgzODdiZWNjOWQxLi45ZTQ1ZDBlMDlkNmRkYmU1OTQ4MWE4YjVhZDU3ZDIxZTBk
YzAyMmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuY3BwCkBAIC00OSwyMiArNDksMjUg
QEAgUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlPiBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0
ZTo6Y3JlYXRlKFJlZlB0cjxSZWFsdGltZU0KIAogTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6Ok1l
ZGlhU3RyZWFtVHJhY2tQcml2YXRlKGNvbnN0IE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiBvdGhl
cikKICAgICA6IFJlZkNvdW50ZWQoKQotICAgICwgbV9zb3VyY2Uob3RoZXIuc291cmNlKCkpCisg
ICAgLCBUcmFja1ByaXZhdGVCYXNlKCkKICAgICAsIG1fY2xpZW50KG51bGxwdHIpCiAgICAgLCBt
X2lkKGNyZWF0ZUNhbm9uaWNhbFVVSURTdHJpbmcoKSkKICAgICAsIG1faXNFbmFibGVkKG90aGVy
LmVuYWJsZWQoKSkKICAgICAsIG1faXNFbmRlZChvdGhlci5lbmRlZCgpKQorICAgICwgbV9zb3Vy
Y2Uob3RoZXIuc291cmNlKCkpCisKIHsKICAgICBtX3NvdXJjZS0+YWRkT2JzZXJ2ZXIodGhpcyk7
CiB9CiAKIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlOjpNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZShS
ZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4mJiBzb3VyY2UsIGNvbnN0IFN0cmluZyYgaWQpCiAg
ICAgOiBSZWZDb3VudGVkKCkKLSAgICAsIG1fc291cmNlKHNvdXJjZSkKKyAgICAsIFRyYWNrUHJp
dmF0ZUJhc2UoKQogICAgICwgbV9jbGllbnQobnVsbHB0cikKICAgICAsIG1faWQoaWQpCiAgICAg
LCBtX2lzRW5hYmxlZCh0cnVlKQogICAgICwgbV9pc0VuZGVkKGZhbHNlKQorICAgICwgbV9zb3Vy
Y2Uoc291cmNlKQogewogICAgIG1fc291cmNlLT5hZGRPYnNlcnZlcih0aGlzKTsKIH0KQEAgLTc0
LDcgKzc3LDcgQEAgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6On5NZWRpYVN0cmVhbVRyYWNrUHJp
dmF0ZSgpCiAgICAgbV9zb3VyY2UtPnJlbW92ZU9ic2VydmVyKHRoaXMpOwogfQogCi1jb25zdCBT
dHJpbmcmIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlOjpsYWJlbCgpIGNvbnN0CitBdG9taWNTdHJp
bmcgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6OmxhYmVsKCkgY29uc3QKIHsKICAgICByZXR1cm4g
bV9zb3VyY2UtPm5hbWUoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5oCmluZGV4IDJhYjAx
YzNjMzRlNjI3M2FiNjg3Mzc2MmY5NDA2YzViYjg3M2U3NDEuLjBlN2IwNGQ5NmEwYmQ1ZmFlYzYx
ZTBmNGI1YzcwNDkzYzZkZDdkMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuaApAQCAtMzAs
NiArMzAsNyBAQAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlICJSZWFsdGlt
ZU1lZGlhU291cmNlLmgiCisjaW5jbHVkZSAiVHJhY2tQcml2YXRlQmFzZS5oIgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAK
QEAgLTM4LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTWVkaWFTb3VyY2VT
dGF0ZXM7CiBjbGFzcyBSZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0aWVzOwogCi1jbGFzcyBN
ZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZUNsaWVudCB7CitjbGFzcyBNZWRpYVN0cmVhbVRyYWNrUHJp
dmF0ZUNsaWVudCA6IHB1YmxpYyBUcmFja1ByaXZhdGVCYXNlQ2xpZW50IHsKIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIH5NZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZUNsaWVudCgpIHsgfQogCkBAIC00Niwx
NSArNDcsMTYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB0cmFja011dGVkQ2hhbmdlZCgp
ID0gMDsKIH07CiAKLWNsYXNzIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlIDogcHVibGljIFJlZkNv
dW50ZWQ8TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU+LCBwdWJsaWMgUmVhbHRpbWVNZWRpYVNvdXJj
ZTo6T2JzZXJ2ZXIgeworY2xhc3MgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUgOiBwdWJsaWMgUmVm
Q291bnRlZDxNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZT4sIHB1YmxpYyBSZWFsdGltZU1lZGlhU291
cmNlOjpPYnNlcnZlciwgcHVibGljIFRyYWNrUHJpdmF0ZUJhc2UgewogcHVibGljOgogICAgIHN0
YXRpYyBSZWZQdHI8TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU+IGNyZWF0ZShSZWZQdHI8UmVhbHRp
bWVNZWRpYVNvdXJjZT4mJik7CiAgICAgc3RhdGljIFJlZlB0cjxNZWRpYVN0cmVhbVRyYWNrUHJp
dmF0ZT4gY3JlYXRlKFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiYmLCBjb25zdCBTdHJpbmcm
IGlkKTsKIAogICAgIHZpcnR1YWwgfk1lZGlhU3RyZWFtVHJhY2tQcml2YXRlKCk7CiAKLSAgICBj
b25zdCBTdHJpbmcmIGlkKCkgY29uc3QgeyByZXR1cm4gbV9pZDsgfQotICAgIGNvbnN0IFN0cmlu
ZyYgbGFiZWwoKSBjb25zdDsKKyAgICBBdG9taWNTdHJpbmcgaWQoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBtX2lkOyB9CisgICAgQXRvbWljU3RyaW5nIGxhYmVsKCkgY29uc3Qgb3ZlcnJpZGU7
CisgICAgQXRvbWljU3RyaW5nIGxhbmd1YWdlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZW1w
dHlBdG9tOyB9CiAKICAgICBib29sIGVuZGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0VuZGVkOyB9
CiAKQEAgLTgzLDI0ICs4NSwzMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNvbmZpZ3VyZVRyYWNr
UmVuZGVyaW5nKCk7CiAKLXByaXZhdGU6CisgICAgdXNpbmcgUmVmQ291bnRlZDxNZWRpYVN0cmVh
bVRyYWNrUHJpdmF0ZT46Om9wZXJhdG9yIG5ldzsKKyAgICB1c2luZyBSZWZDb3VudGVkPE1lZGlh
U3RyZWFtVHJhY2tQcml2YXRlPjo6b3BlcmF0b3IgZGVsZXRlOworCisKK3Byb3RlY3RlZDoKICAg
ICBleHBsaWNpdCBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZShjb25zdCBNZWRpYVN0cmVhbVRyYWNr
UHJpdmF0ZSYpOwogICAgIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlKFJlZlB0cjxSZWFsdGltZU1l
ZGlhU291cmNlPiYmLCBjb25zdCBTdHJpbmcmIGlkKTsKIAotICAgIE1lZGlhU3RyZWFtVHJhY2tQ
cml2YXRlQ2xpZW50KiBjbGllbnQoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudDsgfQorICAgIE1l
ZGlhU3RyZWFtVHJhY2tQcml2YXRlQ2xpZW50KiBjbGllbnQoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBtX2NsaWVudDsgfQogCiAgICAgLy8gUmVhbHRpbWVNZWRpYVNvdXJjZU9ic2VydmVyCiAg
ICAgdmlydHVhbCB2b2lkIHNvdXJjZVN0b3BwZWQoKSBvdmVycmlkZSBmaW5hbDsKICAgICB2aXJ0
dWFsIHZvaWQgc291cmNlTXV0ZWRDaGFuZ2VkKCkgb3ZlcnJpZGUgZmluYWw7CiAgICAgdmlydHVh
bCBib29sIHByZXZlbnRTb3VyY2VGcm9tU3RvcHBpbmcoKSBvdmVycmlkZSBmaW5hbDsKICAgICAK
LSAgICBSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4gbV9zb3VyY2U7CiAgICAgTWVkaWFTdHJl
YW1UcmFja1ByaXZhdGVDbGllbnQqIG1fY2xpZW50OwotICAgIFJlZlB0cjxNZWRpYUNvbnN0cmFp
bnRzPiBtX2NvbnN0cmFpbnRzOwogCi0gICAgU3RyaW5nIG1faWQ7CisgICAgQXRvbWljU3RyaW5n
IG1faWQ7CiAgICAgYm9vbCBtX2lzRW5hYmxlZDsKICAgICBib29sIG1faXNFbmRlZDsKKworcHJp
dmF0ZToKKyAgICBSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gbV9jb25zdHJhaW50czsKKyAgICBS
ZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4gbV9zb3VyY2U7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCg==
</data>
<flag name="review"
          id="281961"
          type_id="1"
          status="-"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>