<?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>173343</bug_id>
          
          <creation_ts>2017-06-13 17:10:05 -0700</creation_ts>
          <short_desc>WebsitePolicies: let clients select specific autoplay quirks</short_desc>
          <delta_ts>2017-06-13 17:32:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Rajca">mrajca</reporter>
          <assigned_to name="Matt Rajca">mrajca</assigned_to>
          <cc>achristensen</cc>
    
    <cc>buildbot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1318905</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2017-06-13 17:10:05 -0700</bug_when>
    <thetext>Currently, &quot;allowsAutoplayQuirks&quot; controls both the play/pause quirk and the inherits media user gesture quirk. Give clients the flexibility to set these selectively.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318912</commentid>
    <comment_count>1</comment_count>
      <attachid>312833</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2017-06-13 17:16:32 -0700</bug_when>
    <thetext>Created attachment 312833
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318918</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-13 17:19:42 -0700</bug_when>
    <thetext>Attachment 312833 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:462:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:477:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebKit2/UIProcess/API/Cocoa/_WKWebsitePolicies.h:37:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 3 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318922</commentid>
    <comment_count>3</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2017-06-13 17:30:09 -0700</bug_when>
    <thetext>Style checks seems like false positive, e.g. Source/WebKit2/UIProcess/API/Cocoa/_WKWebsitePolicies.h:37 is an NS_OPTIONS not a function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318923</commentid>
    <comment_count>4</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2017-06-13 17:32:26 -0700</bug_when>
    <thetext>Committed r218229: &lt;http://trac.webkit.org/changeset/218229&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312833</attachid>
            <date>2017-06-13 17:16:32 -0700</date>
            <delta_ts>2017-06-13 17:26:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173343-20170613171631.patch</filename>
            <type>text/plain</type>
            <size>21438</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4MDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGNhMjMzYzZmZGFlYzdh
ODE2YWM5NjI1ZWE2OWUzYzA1NmM3NTJjYy4uNzY5MjI3OGFhYmQzM2EzNmJmNjc4NzdmNjM3NzIw
ZDVmOThlMjQwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE3LTA2LTEzICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJzaXRlUG9saWNpZXM6IGxl
dCBjbGllbnRzIHNlbGVjdCBzcGVjaWZpYyBhdXRvcGxheSBxdWlya3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzM0MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBVcGRhdGVkIEFQSSB0ZXN0
cyBhY2NvcmRpbmdseSB0byB1c2UgbmV3IHZhbHVlcy4KKworICAgICAgICBSZXBsYWNlIHRoZSAn
YWxsb3dzQXV0b3BsYXlRdWlya3MnIGJvb2wgd2l0aCBhbiBPcHRpb25TZXQgc28gY2xpZW50cyBj
YW4gc2VsZWN0aXZlbHkKKyAgICAgICAgcGljayBhdXRvLXBsYXkgcXVpcmtzLgorCisgICAgICAg
ICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpwcm9jZXNz
aW5nVXNlckdlc3R1cmVGb3JNZWRpYSk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5lZWRzQXV0b3BsYXlQbGF5UGF1c2VFdmVudHNRdWly
ayk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmg6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudExvYWRlcjo6YWxsb3dlZEF1dG9wbGF5UXVpcmtzKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50TG9hZGVyOjpzZXRBbGxvd2VkQXV0b3BsYXlRdWlya3MpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmFsbG93c0F1dG9wbGF5UXVpcmtzKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpzZXRBbGxvd3NBdXRvcGxheVF1aXJr
cyk6IERlbGV0ZWQuCisKIDIwMTctMDYtMDkgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CiAKICAgICAgICAgTWVkaWEgZWxlbWVudHMgYXJlIGFsbG93ZWQgdG8gY29udGludWUgdG8g
bG9hZCBtZWRpYSBkYXRhIGFmdGVyIG5hdmlnYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlM2ZlZTcxZTYx
MGNmNWY3MDc2NmFlNWI1MjEyZjk3YmQzODk0YjNjLi5mNGJkMjU0YWM3ZGYyODJjMWNjZDBmYjgy
ODNjYTBkOWQwMGQyNzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTctMDYtMTMg
IE1hdHQgUmFqY2EgIDxtcmFqY2FAYXBwbGUuY29tPgorCisgICAgICAgIFdlYnNpdGVQb2xpY2ll
czogbGV0IGNsaWVudHMgc2VsZWN0IHNwZWNpZmljIGF1dG9wbGF5IHF1aXJrcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczMzQzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBSZXBsYWNlIHRo
ZSAnYWxsb3dzQXV0b3BsYXlRdWlya3MnIGJvb2wgd2l0aCBhbiBPcHRpb25TZXQgc28gY2xpZW50
cyBjYW4gc2VsZWN0aXZlbHkKKyAgICAgICAgcGljayBhdXRvLXBsYXkgcXVpcmtzLgorCisgICAg
ICAgICogU2hhcmVkL1dlYnNpdGVQb2xpY2llcy5oOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRl
UG9saWNpZXM6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2llczo6ZGVj
b2RlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVQb2xpY2llcy5jcHA6CisgICAgICAgIChX
S1dlYnNpdGVQb2xpY2llc1NldEFsbG93ZWRBdXRvcGxheVF1aXJrcyk6CisgICAgICAgIChXS1dl
YnNpdGVQb2xpY2llc0dldEFsbG93ZWRBdXRvcGxheVF1aXJrcyk6CisgICAgICAgIChXS1dlYnNp
dGVQb2xpY2llc1NldEFsbG93c0F1dG9wbGF5UXVpcmtzKTogRGVsZXRlZC4KKyAgICAgICAgKFdL
V2Vic2l0ZVBvbGljaWVzR2V0QWxsb3dzQXV0b3BsYXlRdWlya3MpOiBEZWxldGVkLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVQb2xpY2llcy5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLmg6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tXZWJzaXRlUG9saWNpZXMubW06CisgICAgICAgICgtW19XS1dlYnNpdGVQ
b2xpY2llcyBzZXRBbGxvd2VkQXV0b3BsYXlRdWlya3M6XSk6CisgICAgICAgICgtW19XS1dlYnNp
dGVQb2xpY2llcyBhbGxvd2VkQXV0b3BsYXlRdWlya3NdKToKKyAgICAgICAgKC1bX1dLV2Vic2l0
ZVBvbGljaWVzIHNldEFsbG93c0F1dG9wbGF5UXVpcmtzOl0pOiBEZWxldGVkLgorICAgICAgICAo
LVtfV0tXZWJzaXRlUG9saWNpZXMgYWxsb3dzQXV0b3BsYXlRdWlya3NdKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRl
UG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVXZWJzaXRlUG9s
aWNpZXMpOgorCiAyMDE3LTA2LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgVXNlIFdURjo6RnVuY3Rpb24gaW5zdGVhZCBvZiBzdGQ6OmZ1bmN0aW9uIGluIFN0
b3JhZ2VNYW5hZ2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAxMmIzNWFlNTI0NDQxNmE2
ZTMxZmJlMTM5ODcxMzgxOTlmNjFjZGNhLi42YTcwNzdlOWEwZmVhYmYxZGFhNjczMmIxNTAxMDc1
ZDViY2MwNTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTY0NTUsNyArNjQ1NSw3IEBA
IGJvb2wgRG9jdW1lbnQ6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZUZvck1lZGlhKCkgY29uc3QKICAg
ICAgICAgcmV0dXJuIHRvcERvY3VtZW50KCkuaGFzSGFkVXNlckludGVyYWN0aW9uKCk7CiAKICAg
ICBhdXRvKiBsb2FkZXIgPSB0aGlzLT5sb2FkZXIoKTsKLSAgICBpZiAobG9hZGVyICYmIGxvYWRl
ci0+YWxsb3dzQXV0b3BsYXlRdWlya3MoKSkKKyAgICBpZiAobG9hZGVyICYmIGxvYWRlci0+YWxs
b3dlZEF1dG9wbGF5UXVpcmtzKCkuY29udGFpbnMoQXV0b3BsYXlRdWlyazo6SW5oZXJpdGVkVXNl
ckdlc3R1cmVzKSkKICAgICAgICAgcmV0dXJuIHRvcERvY3VtZW50KCkuaGFzSGFkVXNlckludGVy
YWN0aW9uKCk7CiAKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcAppbmRleCAzMGMyMjllZTViNzdiZDcxZTI3M2IxN2NhY2ZlNmU5YTViYWM2
ODJjLi5mNzg2Y2I0ZjZhY2QzYmViODE5ZDk0MGMyMmRhOWFlZmIzYmE4ODcwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTU5OCw3ICs1OTgsNyBAQCBzdGF0
aWMgYm9vbCBuZWVkc0F1dG9wbGF5UGxheVBhdXNlRXZlbnRzUXVpcmsoY29uc3QgRG9jdW1lbnQm
IGRvY3VtZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBhdXRvKiBsb2FkZXIgPSBk
b2N1bWVudC5sb2FkZXIoKTsKLSAgICByZXR1cm4gbG9hZGVyICYmIGxvYWRlci0+YWxsb3dzQXV0
b3BsYXlRdWlya3MoKTsKKyAgICByZXR1cm4gbG9hZGVyICYmIGxvYWRlci0+YWxsb3dlZEF1dG9w
bGF5UXVpcmtzKCkuY29udGFpbnMoQXV0b3BsYXlRdWlyazo6U3ludGhlc2l6ZWRQYXVzZUV2ZW50
cyk7CiB9CiAKIEhUTUxNZWRpYUVsZW1lbnQqIEhUTUxNZWRpYUVsZW1lbnQ6OmJlc3RNZWRpYUVs
ZW1lbnRGb3JTaG93aW5nUGxheWJhY2tDb250cm9sc01hbmFnZXIoTWVkaWFFbGVtZW50U2Vzc2lv
bjo6UGxheWJhY2tDb250cm9sc1B1cnBvc2UgcHVycG9zZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50TG9hZGVyLmgKaW5kZXggN2RhNDAwYTcxYmNhMzZlM2VjYWY5N2JmZDBiY2E2NzYxNWMz
MTY3ZS4uMmU2YzdiNTk2YTEyNjRmODFlOWRhZDFmYTYyMzRhNTc4Yzk5MzA4ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKQEAgLTg1LDYgKzg1LDExIEBAIGVudW0gY2xh
c3MgQXV0b3BsYXlQb2xpY3kgewogICAgIERlbnksCiB9OwogCitlbnVtIGNsYXNzIEF1dG9wbGF5
UXVpcmsgeworICAgIFN5bnRoZXNpemVkUGF1c2VFdmVudHMgPSAxIDw8IDAsCisgICAgSW5oZXJp
dGVkVXNlckdlc3R1cmVzID0gMSA8PCAxLAorfTsKKwogY2xhc3MgRG9jdW1lbnRMb2FkZXIgOiBw
dWJsaWMgUmVmQ291bnRlZDxEb2N1bWVudExvYWRlcj4sIHByaXZhdGUgQ2FjaGVkUmF3UmVzb3Vy
Y2VDbGllbnQgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIGZyaWVuZCBjbGFz
cyBDb250ZW50RmlsdGVyOwpAQCAtMjQyLDggKzI0Nyw4IEBAIHB1YmxpYzoKICAgICBBdXRvcGxh
eVBvbGljeSBhdXRvcGxheVBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fYXV0b3BsYXlQb2xpY3k7
IH0KICAgICB2b2lkIHNldEF1dG9wbGF5UG9saWN5KEF1dG9wbGF5UG9saWN5IHBvbGljeSkgeyBt
X2F1dG9wbGF5UG9saWN5ID0gcG9saWN5OyB9CiAKLSAgICBib29sIGFsbG93c0F1dG9wbGF5UXVp
cmtzKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd3NBdXRvcGxheVF1aXJrczsgfQotICAgIHZvaWQg
c2V0QWxsb3dzQXV0b3BsYXlRdWlya3MoYm9vbCBhbGxvd3NRdWlya3MpIHsgbV9hbGxvd3NBdXRv
cGxheVF1aXJrcyA9IGFsbG93c1F1aXJrczsgfQorICAgIE9wdGlvblNldDxBdXRvcGxheVF1aXJr
PiBhbGxvd2VkQXV0b3BsYXlRdWlya3MoKSBjb25zdCB7IHJldHVybiBtX2FsbG93ZWRBdXRvcGxh
eVF1aXJrczsgfQorICAgIHZvaWQgc2V0QWxsb3dlZEF1dG9wbGF5UXVpcmtzKE9wdGlvblNldDxB
dXRvcGxheVF1aXJrPiBhbGxvd2VkUXVpcmtzKSB7IG1fYWxsb3dlZEF1dG9wbGF5UXVpcmtzID0g
YWxsb3dlZFF1aXJrczsgfQogCiAgICAgdm9pZCBhZGRTdWJyZXNvdXJjZUxvYWRlcihSZXNvdXJj
ZUxvYWRlciopOwogICAgIHZvaWQgcmVtb3ZlU3VicmVzb3VyY2VMb2FkZXIoUmVzb3VyY2VMb2Fk
ZXIqKTsKQEAgLTQ3NSw3ICs0ODAsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgYm9vbCBtX3Vz
ZXJDb250ZW50RXh0ZW5zaW9uc0VuYWJsZWQgeyB0cnVlIH07CiAgICAgQXV0b3BsYXlQb2xpY3kg
bV9hdXRvcGxheVBvbGljeSB7IEF1dG9wbGF5UG9saWN5OjpEZWZhdWx0IH07Ci0gICAgYm9vbCBt
X2FsbG93c0F1dG9wbGF5UXVpcmtzIHsgZmFsc2UgfTsKKyAgICBPcHRpb25TZXQ8QXV0b3BsYXlR
dWlyaz4gbV9hbGxvd2VkQXV0b3BsYXlRdWlya3M7CiAKICNpZm5kZWYgTkRFQlVHCiAgICAgYm9v
bCBtX2hhc0V2ZXJCZWVuQXR0YWNoZWQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYnNpdGVQb2xpY2llcy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YnNpdGVQb2xpY2llcy5oCmluZGV4IGI1NGFkMTBjZjNkYTVjYmZhN2QzMzhlNTlmMDhmODc2ZGYy
MmJkNzkuLmM4MTNmNjk1NGIxOTE2Nzg4ZThjMGJkODUyMzRiYmU2NDNiMzlmYWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJzaXRlUG9saWNpZXMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzLmgKQEAgLTI1LDYgKzI1LDggQEAKIAogI3By
YWdtYSBvbmNlCiAKKyNpbmNsdWRlIDx3dGYvT3B0aW9uU2V0Lmg+CisKIG5hbWVzcGFjZSBXZWJL
aXQgewogCiBlbnVtIGNsYXNzIFdlYnNpdGVBdXRvcGxheVBvbGljeSB7CkBAIC0zNCwxMCArMzYs
MTUgQEAgZW51bSBjbGFzcyBXZWJzaXRlQXV0b3BsYXlQb2xpY3kgewogICAgIERlbnkKIH07CiAK
K2VudW0gY2xhc3MgV2Vic2l0ZUF1dG9wbGF5UXVpcmsgeworICAgIFN5bnRoZXNpemVkUGF1c2VF
dmVudHMgPSAxIDw8IDAsCisgICAgSW5oZXJpdGVkVXNlckdlc3R1cmVzID0gMSA8PCAxLAorfTsK
Kwogc3RydWN0IFdlYnNpdGVQb2xpY2llcyB7CiAKICAgICBib29sIGNvbnRlbnRCbG9ja2Vyc0Vu
YWJsZWQgeyB0cnVlIH07Ci0gICAgYm9vbCBhbGxvd3NBdXRvcGxheVF1aXJrcyB7IGZhbHNlIH07
CisgICAgT3B0aW9uU2V0PFdlYnNpdGVBdXRvcGxheVF1aXJrPiBhbGxvd2VkQXV0b3BsYXlRdWly
a3M7CiAgICAgV2Vic2l0ZUF1dG9wbGF5UG9saWN5IGF1dG9wbGF5UG9saWN5IHsgV2Vic2l0ZUF1
dG9wbGF5UG9saWN5OjpEZWZhdWx0IH07CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2
b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CkBAIC00OCw3ICs1NSw3IEBAIHRlbXBsYXRlPGNs
YXNzIEVuY29kZXI+IHZvaWQgV2Vic2l0ZVBvbGljaWVzOjplbmNvZGUoRW5jb2RlciYgZW5jb2Rl
cikgY29uc3QKIHsKICAgICBlbmNvZGVyIDw8IGNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQ7CiAgICAg
ZW5jb2Rlci5lbmNvZGVFbnVtKGF1dG9wbGF5UG9saWN5KTsKLSAgICBlbmNvZGVyIDw8IGFsbG93
c0F1dG9wbGF5UXVpcmtzOworICAgIGVuY29kZXIgPDwgYWxsb3dlZEF1dG9wbGF5UXVpcmtzOwog
fQogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBib29sIFdlYnNpdGVQb2xpY2llczo6ZGVjb2Rl
KERlY29kZXImIGRlY29kZXIsIFdlYnNpdGVQb2xpY2llcyYgcmVzdWx0KQpAQCAtNTcsNyArNjQs
NyBAQCB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBib29sIFdlYnNpdGVQb2xpY2llczo6ZGVjb2Rl
KERlY29kZXImIGRlY29kZXIsIFdlYnNpdGVQbwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
aWYgKCFkZWNvZGVyLmRlY29kZUVudW0ocmVzdWx0LmF1dG9wbGF5UG9saWN5KSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmFsbG93c0F1dG9w
bGF5UXVpcmtzKSkKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5hbGxvd2VkQXV0b3Bs
YXlRdWlya3MpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIHRydWU7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2ll
cy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaApp
bmRleCBlZTIzNDI3YjZkNWFlYzg1NGMxN2YyMTI3ZDFjNDJkMDU5YmMzYjJjLi5jNTBjODU0MmZj
NTZiZmE0MjVjMWY5ZDNmOWQzN2I1NzZlZTYyZjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAog
I2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIldlYnNpdGVQb2xpY2llcy5oIgorI2lu
Y2x1ZGUgPHd0Zi9PcHRpb25TZXQuaD4KIAogbmFtZXNwYWNlIEFQSSB7CiAKQEAgLTM5LDggKzQw
LDggQEAgcHVibGljOgogICAgIGJvb2wgY29udGVudEJsb2NrZXJzRW5hYmxlZCgpIGNvbnN0IHsg
cmV0dXJuIG1fd2Vic2l0ZVBvbGljaWVzLmNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQ7IH0KICAgICB2
b2lkIHNldENvbnRlbnRCbG9ja2Vyc0VuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fd2Vic2l0ZVBv
bGljaWVzLmNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQgPSBlbmFibGVkOyB9CiAKLSAgICBib29sIGFs
bG93c0F1dG9wbGF5UXVpcmtzKCkgY29uc3QgeyByZXR1cm4gbV93ZWJzaXRlUG9saWNpZXMuYWxs
b3dzQXV0b3BsYXlRdWlya3M7IH0KLSAgICB2b2lkIHNldEFsbG93c0F1dG9wbGF5UXVpcmtzKGJv
b2wgYWxsb3dzUXVpcmtzKSB7IG1fd2Vic2l0ZVBvbGljaWVzLmFsbG93c0F1dG9wbGF5UXVpcmtz
ID0gYWxsb3dzUXVpcmtzOyB9CisgICAgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZUF1dG9wbGF5
UXVpcms+IGFsbG93ZWRBdXRvcGxheVF1aXJrcygpIGNvbnN0IHsgcmV0dXJuIG1fd2Vic2l0ZVBv
bGljaWVzLmFsbG93ZWRBdXRvcGxheVF1aXJrczsgfQorICAgIHZvaWQgc2V0QWxsb3dlZEF1dG9w
bGF5UXVpcmtzKE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVBdXRvcGxheVF1aXJrPiBhbGxvd2Vk
UXVpcmtzKSB7IG1fd2Vic2l0ZVBvbGljaWVzLmFsbG93ZWRBdXRvcGxheVF1aXJrcyA9IGFsbG93
ZWRRdWlya3M7IH0KIAogICAgIFdlYktpdDo6V2Vic2l0ZUF1dG9wbGF5UG9saWN5IGF1dG9wbGF5
UG9saWN5KCkgY29uc3QgeyByZXR1cm4gbV93ZWJzaXRlUG9saWNpZXMuYXV0b3BsYXlQb2xpY3k7
IH0KICAgICB2b2lkIHNldEF1dG9wbGF5UG9saWN5KFdlYktpdDo6V2Vic2l0ZUF1dG9wbGF5UG9s
aWN5IHBvbGljeSkgeyBtX3dlYnNpdGVQb2xpY2llcy5hdXRvcGxheVBvbGljeSA9IHBvbGljeTsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZVBv
bGljaWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVQb2xp
Y2llcy5jcHAKaW5kZXggMDE4YTMzMTdmNDRmZjcyZGI0M2UzZDRjMGY1YjI3YjljZjA3NDliNy4u
ZDEyOWEyYzUzZjEyNTQ5NzkxODJlNWM5MWQwYWZjZjA1YzM0NDRlYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZVBvbGljaWVzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlUG9saWNpZXMuY3BwCkBAIC01
MiwxNCArNTIsMzAgQEAgYm9vbCBXS1dlYnNpdGVQb2xpY2llc0dldENvbnRlbnRCbG9ja2Vyc0Vu
YWJsZWQoV0tXZWJzaXRlUG9saWNpZXNSZWYgd2Vic2l0ZVBvbGkKICAgICByZXR1cm4gdG9JbXBs
KHdlYnNpdGVQb2xpY2llcyktPmNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQoKTsKIH0KIAotdm9pZCBX
S1dlYnNpdGVQb2xpY2llc1NldEFsbG93c0F1dG9wbGF5UXVpcmtzKFdLV2Vic2l0ZVBvbGljaWVz
UmVmIHdlYnNpdGVQb2xpY2llcywgYm9vbCBhbGxvd3NRdWlya3MpCit2b2lkIFdLV2Vic2l0ZVBv
bGljaWVzU2V0QWxsb3dlZEF1dG9wbGF5UXVpcmtzKFdLV2Vic2l0ZVBvbGljaWVzUmVmIHdlYnNp
dGVQb2xpY2llcywgV0tXZWJzaXRlQXV0b3BsYXlRdWlyayBhbGxvd2VkUXVpcmtzKQogewotICAg
IHRvSW1wbCh3ZWJzaXRlUG9saWNpZXMpLT5zZXRBbGxvd3NBdXRvcGxheVF1aXJrcyhhbGxvd3NR
dWlya3MpOworICAgIE9wdGlvblNldDxXZWJzaXRlQXV0b3BsYXlRdWlyaz4gcXVpcmtzOworICAg
IGlmIChhbGxvd2VkUXVpcmtzICYga1dLV2Vic2l0ZUF1dG9wbGF5UXVpcmtJbmhlcml0ZWRVc2Vy
R2VzdHVyZXMpCisgICAgICAgIHF1aXJrcyB8PSBXZWJzaXRlQXV0b3BsYXlRdWlyazo6SW5oZXJp
dGVkVXNlckdlc3R1cmVzOworCisgICAgaWYgKGFsbG93ZWRRdWlya3MgJiBrV0tXZWJzaXRlQXV0
b3BsYXlRdWlya1N5bnRoZXNpemVkUGF1c2VFdmVudHMpCisgICAgICAgIHF1aXJrcyB8PSBXZWJz
aXRlQXV0b3BsYXlRdWlyazo6U3ludGhlc2l6ZWRQYXVzZUV2ZW50czsKKworICAgIHRvSW1wbCh3
ZWJzaXRlUG9saWNpZXMpLT5zZXRBbGxvd2VkQXV0b3BsYXlRdWlya3MocXVpcmtzKTsKIH0KIAot
Ym9vbCBXS1dlYnNpdGVQb2xpY2llc0dldEFsbG93c0F1dG9wbGF5UXVpcmtzKFdLV2Vic2l0ZVBv
bGljaWVzUmVmIHdlYnNpdGVQb2xpY2llcykKK1dLV2Vic2l0ZUF1dG9wbGF5UXVpcmsgV0tXZWJz
aXRlUG9saWNpZXNHZXRBbGxvd2VkQXV0b3BsYXlRdWlya3MoV0tXZWJzaXRlUG9saWNpZXNSZWYg
d2Vic2l0ZVBvbGljaWVzKQogewotICAgIHJldHVybiB0b0ltcGwod2Vic2l0ZVBvbGljaWVzKS0+
YWxsb3dzQXV0b3BsYXlRdWlya3MoKTsKKyAgICBXS1dlYnNpdGVBdXRvcGxheVF1aXJrIHF1aXJr
cyA9IDA7CisgICAgYXV0byBhbGxvd2VkUXVpcmtzID0gdG9JbXBsKHdlYnNpdGVQb2xpY2llcykt
PmFsbG93ZWRBdXRvcGxheVF1aXJrcygpOworCisgICAgaWYgKGFsbG93ZWRRdWlya3MuY29udGFp
bnMoV2Vic2l0ZUF1dG9wbGF5UXVpcms6OlN5bnRoZXNpemVkUGF1c2VFdmVudHMpKQorICAgICAg
ICBxdWlya3MgfD0ga1dLV2Vic2l0ZUF1dG9wbGF5UXVpcmtTeW50aGVzaXplZFBhdXNlRXZlbnRz
OworCisgICAgaWYgKGFsbG93ZWRRdWlya3MuY29udGFpbnMoV2Vic2l0ZUF1dG9wbGF5UXVpcms6
OkluaGVyaXRlZFVzZXJHZXN0dXJlcykpCisgICAgICAgIHF1aXJrcyB8PSBrV0tXZWJzaXRlQXV0
b3BsYXlRdWlya0luaGVyaXRlZFVzZXJHZXN0dXJlczsKKworICAgIHJldHVybiBxdWlya3M7CiB9
CiAKIFdLV2Vic2l0ZUF1dG9wbGF5UG9saWN5IFdLV2Vic2l0ZVBvbGljaWVzR2V0QXV0b3BsYXlQ
b2xpY3koV0tXZWJzaXRlUG9saWNpZXNSZWYgd2Vic2l0ZVBvbGljaWVzKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZVBvbGljaWVzLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlUG9saWNpZXMuaAppbmRleCA0OTM4
ZTlmOWRjMGM5YTc5ZTFlMzk5MjZhNzg2M2U2MTQ5ZjIwMThjLi44MDM5MmE0ZGMyNjc0ZmE4MjJk
NDZiYmNkMDZiM2MyNjg4YmRmN2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tXZWJzaXRlUG9saWNpZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tXZWJzaXRlUG9saWNpZXMuaApAQCAtNDAsMTMgKzQwLDE5IEBAIGVudW0gV0tX
ZWJzaXRlQXV0b3BsYXlQb2xpY3kgewogICAgIGtXS1dlYnNpdGVBdXRvcGxheVBvbGljeURlbnkK
IH07CiAKK3R5cGVkZWYgdWludDMyX3QgV0tXZWJzaXRlQXV0b3BsYXlRdWlyazsKK2VudW0gewor
ICAgIGtXS1dlYnNpdGVBdXRvcGxheVF1aXJrU3ludGhlc2l6ZWRQYXVzZUV2ZW50cyA9IDEgPDwg
MCwKKyAgICBrV0tXZWJzaXRlQXV0b3BsYXlRdWlya0luaGVyaXRlZFVzZXJHZXN0dXJlcyA9IDEg
PDwgMSwKK307CisKIFdLX0VYUE9SVCBXS1dlYnNpdGVQb2xpY2llc1JlZiBXS1dlYnNpdGVQb2xp
Y2llc0NyZWF0ZSgpOwogCiBXS19FWFBPUlQgYm9vbCBXS1dlYnNpdGVQb2xpY2llc0dldENvbnRl
bnRCbG9ja2Vyc0VuYWJsZWQoV0tXZWJzaXRlUG9saWNpZXNSZWYpOwogV0tfRVhQT1JUIHZvaWQg
V0tXZWJzaXRlUG9saWNpZXNTZXRDb250ZW50QmxvY2tlcnNFbmFibGVkKFdLV2Vic2l0ZVBvbGlj
aWVzUmVmLCBib29sKTsKIAotV0tfRVhQT1JUIGJvb2wgV0tXZWJzaXRlUG9saWNpZXNHZXRBbGxv
d3NBdXRvcGxheVF1aXJrcyhXS1dlYnNpdGVQb2xpY2llc1JlZik7Ci1XS19FWFBPUlQgdm9pZCBX
S1dlYnNpdGVQb2xpY2llc1NldEFsbG93c0F1dG9wbGF5UXVpcmtzKFdLV2Vic2l0ZVBvbGljaWVz
UmVmLCBib29sKTsKK1dLX0VYUE9SVCBXS1dlYnNpdGVBdXRvcGxheVF1aXJrIFdLV2Vic2l0ZVBv
bGljaWVzR2V0QWxsb3dlZEF1dG9wbGF5UXVpcmtzKFdLV2Vic2l0ZVBvbGljaWVzUmVmKTsKK1dL
X0VYUE9SVCB2b2lkIFdLV2Vic2l0ZVBvbGljaWVzU2V0QWxsb3dlZEF1dG9wbGF5UXVpcmtzKFdL
V2Vic2l0ZVBvbGljaWVzUmVmLCBXS1dlYnNpdGVBdXRvcGxheVF1aXJrKTsKIAogV0tfRVhQT1JU
IFdLV2Vic2l0ZUF1dG9wbGF5UG9saWN5IFdLV2Vic2l0ZVBvbGljaWVzR2V0QXV0b3BsYXlQb2xp
Y3koV0tXZWJzaXRlUG9saWNpZXNSZWYpOwogV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlUG9saWNp
ZXNTZXRBdXRvcGxheVBvbGljeShXS1dlYnNpdGVQb2xpY2llc1JlZiwgV0tXZWJzaXRlQXV0b3Bs
YXlQb2xpY3kpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tXZWJzaXRlUG9saWNpZXMuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLV2Vic2l0ZVBvbGljaWVzLmgKaW5kZXggZDNmYjJjNDNkMDM4M2QyMjBjOGE4ODI2MTNh
NTFkNGRkZGNmM2VkOC4uYTdmZTYwZGQ4Zjc2NjM4ZjZmMTM4ZTI0ZmQyYTNkOTU3OWYzNTliZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRl
UG9saWNpZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dl
YnNpdGVQb2xpY2llcy5oCkBAIC0zNCwxMSArMzQsMTYgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50
ZWdlciwgX1dLV2Vic2l0ZUF1dG9wbGF5UG9saWN5KSB7CiAgICAgX1dLV2Vic2l0ZUF1dG9wbGF5
UG9saWN5RGVueQogfSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdL
X0lPU19UQkEpKTsKIAordHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIF9XS1dlYnNpdGVB
dXRvcGxheVF1aXJrKSB7CisgICAgX1dLV2Vic2l0ZUF1dG9wbGF5UXVpcmtTeW50aGVzaXplZFBh
dXNlRXZlbnRzID0gMSA8PCAwLAorICAgIF9XS1dlYnNpdGVBdXRvcGxheVF1aXJrSW5oZXJpdGVk
VXNlckdlc3R1cmVzID0gMSA8PCAxLAorfSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNf
VEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKwogV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zeChXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKQogQGludGVyZmFjZSBfV0tXZWJzaXRlUG9saWNpZXMg
OiBOU09iamVjdAogCiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBjb250ZW50QmxvY2tlcnNF
bmFibGVkOwotQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgYWxsb3dzQXV0b3BsYXlRdWlya3M7
CitAcHJvcGVydHkgKG5vbmF0b21pYykgX1dLV2Vic2l0ZUF1dG9wbGF5UXVpcmsgYWxsb3dlZEF1
dG9wbGF5UXVpcmtzOwogQHByb3BlcnR5IChub25hdG9taWMpIF9XS1dlYnNpdGVBdXRvcGxheVBv
bGljeSBhdXRvcGxheVBvbGljeTsKIAogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlUG9saWNpZXMubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVQb2xpY2llcy5tbQppbmRleCBjZGFjMWY5
NTBlZDIwYTQ3NzA5YmNkYWIxZmRjMTVkMzExOWI2MWZmLi40NDcwODhiMjllZDE4ZDkxMzJhNjg3
YmRiZmM2ODk1NTRkZDc1ZGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL19XS1dlYnNpdGVQb2xpY2llcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVQb2xpY2llcy5tbQpAQCAtNTcsMTQgKzU3LDMxIEBA
IC0gKEJPT0wpY29udGVudEJsb2NrZXJzRW5hYmxlZAogICAgIHJldHVybiBfd2Vic2l0ZVBvbGlj
aWVzLT5jb250ZW50QmxvY2tlcnNFbmFibGVkKCk7CiB9CiAKLS0gKHZvaWQpc2V0QWxsb3dzQXV0
b3BsYXlRdWlya3M6KEJPT0wpYWxsb3dzUXVpcmtzCistICh2b2lkKXNldEFsbG93ZWRBdXRvcGxh
eVF1aXJrczooX1dLV2Vic2l0ZUF1dG9wbGF5UXVpcmspYWxsb3dlZFF1aXJrcwogewotICAgIF93
ZWJzaXRlUG9saWNpZXMtPnNldEFsbG93c0F1dG9wbGF5UXVpcmtzKGFsbG93c1F1aXJrcyk7Cisg
ICAgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZUF1dG9wbGF5UXVpcms+IHF1aXJrczsKKworICAg
IGlmIChhbGxvd2VkUXVpcmtzICYgX1dLV2Vic2l0ZUF1dG9wbGF5UXVpcmtJbmhlcml0ZWRVc2Vy
R2VzdHVyZXMpCisgICAgICAgIHF1aXJrcyB8PSBXZWJLaXQ6OldlYnNpdGVBdXRvcGxheVF1aXJr
OjpJbmhlcml0ZWRVc2VyR2VzdHVyZXM7CisKKyAgICBpZiAoYWxsb3dlZFF1aXJrcyAmIF9XS1dl
YnNpdGVBdXRvcGxheVF1aXJrU3ludGhlc2l6ZWRQYXVzZUV2ZW50cykKKyAgICAgICAgcXVpcmtz
IHw9IFdlYktpdDo6V2Vic2l0ZUF1dG9wbGF5UXVpcms6OlN5bnRoZXNpemVkUGF1c2VFdmVudHM7
CisKKyAgICBfd2Vic2l0ZVBvbGljaWVzLT5zZXRBbGxvd2VkQXV0b3BsYXlRdWlya3MocXVpcmtz
KTsKIH0KIAotLSAoQk9PTClhbGxvd3NBdXRvcGxheVF1aXJrcworLSAoX1dLV2Vic2l0ZUF1dG9w
bGF5UXVpcmspYWxsb3dlZEF1dG9wbGF5UXVpcmtzCiB7Ci0gICAgcmV0dXJuIF93ZWJzaXRlUG9s
aWNpZXMtPmFsbG93c0F1dG9wbGF5UXVpcmtzKCk7CisgICAgX1dLV2Vic2l0ZUF1dG9wbGF5UXVp
cmsgcXVpcmtzID0gMDsKKyAgICBhdXRvIGFsbG93ZWRRdWlya3MgPSBfd2Vic2l0ZVBvbGljaWVz
LT5hbGxvd2VkQXV0b3BsYXlRdWlya3MoKTsKKworICAgIGlmIChhbGxvd2VkUXVpcmtzLmNvbnRh
aW5zKFdlYktpdDo6V2Vic2l0ZUF1dG9wbGF5UXVpcms6OkluaGVyaXRlZFVzZXJHZXN0dXJlcykp
CisgICAgICAgIHF1aXJrcyB8PSBfV0tXZWJzaXRlQXV0b3BsYXlRdWlya0luaGVyaXRlZFVzZXJH
ZXN0dXJlczsKKworICAgIGlmIChhbGxvd2VkUXVpcmtzLmNvbnRhaW5zKFdlYktpdDo6V2Vic2l0
ZUF1dG9wbGF5UXVpcms6OlN5bnRoZXNpemVkUGF1c2VFdmVudHMpKQorICAgICAgICBxdWlya3Mg
fD0gX1dLV2Vic2l0ZUF1dG9wbGF5UXVpcmtTeW50aGVzaXplZFBhdXNlRXZlbnRzOworCisgICAg
cmV0dXJuIHF1aXJrczsKIH0KIAogLSAodm9pZClzZXRBdXRvcGxheVBvbGljeTooX1dLV2Vic2l0
ZUF1dG9wbGF5UG9saWN5KXBvbGljeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApp
bmRleCAwNjVlM2UzZWRiMzczMWVkMDAzNDM3ZGMwODQyZDUxY2Q3YjYzMGRlLi42ZTNjNzM0YTNm
ZDU4Y2I3YWU2ZDI2ZjVjMDY3Mzk0MThiZmY3ODM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcApAQCAtODI4LDcgKzgyOCwxNiBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50
OjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oY29uc3QgTmF2aWdhdAog
ICAgIGlmIChkb2N1bWVudExvYWRlci0+dXNlckNvbnRlbnRFeHRlbnNpb25zRW5hYmxlZCgpKQog
ICAgICAgICBkb2N1bWVudExvYWRlci0+c2V0VXNlckNvbnRlbnRFeHRlbnNpb25zRW5hYmxlZCh3
ZWJzaXRlUG9saWNpZXMuY29udGVudEJsb2NrZXJzRW5hYmxlZCk7CiAKLSAgICBkb2N1bWVudExv
YWRlci0+c2V0QWxsb3dzQXV0b3BsYXlRdWlya3Mod2Vic2l0ZVBvbGljaWVzLmFsbG93c0F1dG9w
bGF5UXVpcmtzKTsKKyAgICBPcHRpb25TZXQ8QXV0b3BsYXlRdWlyaz4gcXVpcmtzOworICAgIGF1
dG8gYWxsb3dlZFF1aXJrcyA9IHdlYnNpdGVQb2xpY2llcy5hbGxvd2VkQXV0b3BsYXlRdWlya3M7
CisKKyAgICBpZiAoYWxsb3dlZFF1aXJrcy5jb250YWlucyhXZWJzaXRlQXV0b3BsYXlRdWlyazo6
SW5oZXJpdGVkVXNlckdlc3R1cmVzKSkKKyAgICAgICAgcXVpcmtzIHw9IEF1dG9wbGF5UXVpcms6
OkluaGVyaXRlZFVzZXJHZXN0dXJlczsKKworICAgIGlmIChhbGxvd2VkUXVpcmtzLmNvbnRhaW5z
KFdlYnNpdGVBdXRvcGxheVF1aXJrOjpTeW50aGVzaXplZFBhdXNlRXZlbnRzKSkKKyAgICAgICAg
cXVpcmtzIHw9IEF1dG9wbGF5UXVpcms6OlN5bnRoZXNpemVkUGF1c2VFdmVudHM7CisKKyAgICBk
b2N1bWVudExvYWRlci0+c2V0QWxsb3dlZEF1dG9wbGF5UXVpcmtzKHF1aXJrcyk7CiAKICAgICBz
d2l0Y2ggKHdlYnNpdGVQb2xpY2llcy5hdXRvcGxheVBvbGljeSkgewogICAgIGNhc2UgV2Vic2l0
ZUF1dG9wbGF5UG9saWN5OjpEZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDk2ZDc4MTAwM2M1MmUwMThlMzZmNzU0ZDY0NDc1OTFl
YWU4MmQ4OWQuLmU2NzAxZmZlZWU4YTBkMTM0Zjg3YTQ1NjgxMTNjODMyYmFhNGViNGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTU2MTIs
NyArNTYxMiwxNiBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVdlYnNpdGVQb2xpY2llcyhjb25zdCBX
ZWJzaXRlUG9saWNpZXMmIHdlYnNpdGVQb2xpY2llcykKICAgICBpZiAoIWRvY3VtZW50TG9hZGVy
KQogICAgICAgICByZXR1cm47CiAKLSAgICBkb2N1bWVudExvYWRlci0+c2V0QWxsb3dzQXV0b3Bs
YXlRdWlya3Mod2Vic2l0ZVBvbGljaWVzLmFsbG93c0F1dG9wbGF5UXVpcmtzKTsKKyAgICBPcHRp
b25TZXQ8QXV0b3BsYXlRdWlyaz4gcXVpcmtzOworICAgIGF1dG8gYWxsb3dlZFF1aXJrcyA9IHdl
YnNpdGVQb2xpY2llcy5hbGxvd2VkQXV0b3BsYXlRdWlya3M7CisKKyAgICBpZiAoYWxsb3dlZFF1
aXJrcy5jb250YWlucyhXZWJzaXRlQXV0b3BsYXlRdWlyazo6SW5oZXJpdGVkVXNlckdlc3R1cmVz
KSkKKyAgICAgICAgcXVpcmtzIHw9IEF1dG9wbGF5UXVpcms6OkluaGVyaXRlZFVzZXJHZXN0dXJl
czsKKworICAgIGlmIChhbGxvd2VkUXVpcmtzLmNvbnRhaW5zKFdlYnNpdGVBdXRvcGxheVF1aXJr
OjpTeW50aGVzaXplZFBhdXNlRXZlbnRzKSkKKyAgICAgICAgcXVpcmtzIHw9IEF1dG9wbGF5UXVp
cms6OlN5bnRoZXNpemVkUGF1c2VFdmVudHM7CisKKyAgICBkb2N1bWVudExvYWRlci0+c2V0QWxs
b3dlZEF1dG9wbGF5UXVpcmtzKHF1aXJrcyk7CiAKICAgICBzd2l0Y2ggKHdlYnNpdGVQb2xpY2ll
cy5hdXRvcGxheVBvbGljeSkgewogICAgIGNhc2UgV2Vic2l0ZUF1dG9wbGF5UG9saWN5OjpEZWZh
dWx0OgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4
IGRlNjVkMmE2OWNjYzMyYzJhMTcyZjY5N2Q1MzFlMTllZWM5ZGVlMzEuLjE1OThhYWJjMDliYWJj
YTcxOGFjNzFmNzA1MmNkZGExMGEwZTMzZWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNy0wNi0xMyAgTWF0dCBS
YWpjYSAgPG1yYWpjYUBhcHBsZS5jb20+CisKKyAgICAgICAgV2Vic2l0ZVBvbGljaWVzOiBsZXQg
Y2xpZW50cyBzZWxlY3Qgc3BlY2lmaWMgYXV0b3BsYXkgcXVpcmtzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzMzNDMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0MkNvY29hL1dlYnNpdGVQb2xpY2llcy5tbToKKyAgICAgICAgKC1bQXV0b3BsYXlQb2xpY2ll
c0RlbGVnYXRlIF93ZWJWaWV3OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb246ZGVjaXNp
b25IYW5kbGVyOl0pOgorICAgICAgICAoVEVTVCk6IFVwZGF0ZWQgdGVzdHMuCisKIDIwMTctMDYt
MDkgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lP
UyBEbkRdIEFkZCBhIGhvb2sgdG8gcGVyZm9ybSB0d28tc3RlcCBkcm9wcyBpbiBlZGl0YWJsZSBj
b250ZW50CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2Nv
YS9XZWJzaXRlUG9saWNpZXMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJD
b2NvYS9XZWJzaXRlUG9saWNpZXMubW0KaW5kZXggOTlhZmI0YTU0YjU5YjVjOWIwNGQ3ZWYzM2I2
Njg4YzY4OTM1MDNlNS4uY2FjMzI3YzA5NDUxNWUxNTlmM2RhMTliZDBiOThhMDJlYzE2Y2NkNyAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvV2Vic2l0
ZVBvbGljaWVzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29h
L1dlYnNpdGVQb2xpY2llcy5tbQpAQCAtMTYyLDcgKzE2Miw3IEBAIFRFU1QoV2ViS2l0MiwgV2Vi
c2l0ZVBvbGljaWVzQ29udGVudEJsb2NrZXJzRW5hYmxlZCkKIAogQGludGVyZmFjZSBBdXRvcGxh
eVBvbGljaWVzRGVsZWdhdGUgOiBOU09iamVjdCA8V0tOYXZpZ2F0aW9uRGVsZWdhdGUsIFdLVUlE
ZWxlZ2F0ZT4KIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBfV0tXZWJzaXRlQXV0b3BsYXlQ
b2xpY3koXmF1dG9wbGF5UG9saWN5Rm9yVVJMKShOU1VSTCAqKTsKLUBwcm9wZXJ0eSAobm9uYXRv
bWljLCBjb3B5KSBCT09MKF5hbGxvd3NBdXRvcGxheVF1aXJrc0ZvclVSTCkoTlNVUkwgKik7CitA
cHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgX1dLV2Vic2l0ZUF1dG9wbGF5UXVpcmsoXmFsbG93
ZWRBdXRvcGxheVF1aXJrc0ZvclVSTCkoTlNVUkwgKik7CiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlv
biBBdXRvcGxheVBvbGljaWVzRGVsZWdhdGUKQEAgLTE3Nyw4ICsxNzcsOCBAQCAtICh2b2lkKXdl
YlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlv
bjooV0tOYXZpZ2F0aQogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkZWNp
ZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uOihXS05hdmlnYXRpb25BY3Rpb24gKiluYXZpZ2F0
aW9uQWN0aW9uIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikoV0tOYXZpZ2F0aW9uQWN0aW9uUG9s
aWN5LCBfV0tXZWJzaXRlUG9saWNpZXMgKikpZGVjaXNpb25IYW5kbGVyCiB7CiAgICAgX1dLV2Vi
c2l0ZVBvbGljaWVzICp3ZWJzaXRlUG9saWNpZXMgPSBbW1tfV0tXZWJzaXRlUG9saWNpZXMgYWxs
b2NdIGluaXRdIGF1dG9yZWxlYXNlXTsKLSAgICBpZiAoX2FsbG93c0F1dG9wbGF5UXVpcmtzRm9y
VVJMKQotICAgICAgICB3ZWJzaXRlUG9saWNpZXMuYWxsb3dzQXV0b3BsYXlRdWlya3MgPSBfYWxs
b3dzQXV0b3BsYXlRdWlya3NGb3JVUkwobmF2aWdhdGlvbkFjdGlvbi5yZXF1ZXN0LlVSTCk7Cisg
ICAgaWYgKF9hbGxvd2VkQXV0b3BsYXlRdWlya3NGb3JVUkwpCisgICAgICAgIHdlYnNpdGVQb2xp
Y2llcy5hbGxvd2VkQXV0b3BsYXlRdWlya3MgPSBfYWxsb3dlZEF1dG9wbGF5UXVpcmtzRm9yVVJM
KG5hdmlnYXRpb25BY3Rpb24ucmVxdWVzdC5VUkwpOwogICAgIGlmIChfYXV0b3BsYXlQb2xpY3lG
b3JVUkwpCiAgICAgICAgIHdlYnNpdGVQb2xpY2llcy5hdXRvcGxheVBvbGljeSA9IF9hdXRvcGxh
eVBvbGljeUZvclVSTChuYXZpZ2F0aW9uQWN0aW9uLnJlcXVlc3QuVVJMKTsKICAgICBkZWNpc2lv
bkhhbmRsZXIoV0tOYXZpZ2F0aW9uQWN0aW9uUG9saWN5QWxsb3csIHdlYnNpdGVQb2xpY2llcyk7
CkBAIC00NTksOCArNDU5LDggQEAgVEVTVChXZWJLaXQyLCBXZWJzaXRlUG9saWNpZXNBdXRvcGxh
eVF1aXJrcykKIAogICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdFdpdGhBdWRpbyA9IFtOU1VSTFJl
cXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJj
ZTpAImF1dG9wbGF5LWNoZWNrIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAi
VGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV07CiAKLSAgICBbZGVsZWdhdGUgc2V0QWxsb3dzQXV0
b3BsYXlRdWlya3NGb3JVUkw6XihOU1VSTCAqdXJsKSB7Ci0gICAgICAgIHJldHVybiBZRVM7Cisg
ICAgW2RlbGVnYXRlIHNldEFsbG93ZWRBdXRvcGxheVF1aXJrc0ZvclVSTDpeX1dLV2Vic2l0ZUF1
dG9wbGF5UXVpcmsoTlNVUkwgKnVybCkgeworICAgICAgICByZXR1cm4gX1dLV2Vic2l0ZUF1dG9w
bGF5UXVpcmtTeW50aGVzaXplZFBhdXNlRXZlbnRzOwogICAgIH1dOwogICAgIFtkZWxlZ2F0ZSBz
ZXRBdXRvcGxheVBvbGljeUZvclVSTDpeKE5TVVJMICopIHsKICAgICAgICAgcmV0dXJuIF9XS1dl
YnNpdGVBdXRvcGxheVBvbGljeURlbnk7CkBAIC00NzQsOCArNDc0LDExIEBAIFRFU1QoV2ViS2l0
MiwgV2Vic2l0ZVBvbGljaWVzQXV0b3BsYXlRdWlya3MpCiAKICAgICBOU1VSTFJlcXVlc3QgKnJl
cXVlc3RXaXRoQXVkaW9JbkZyYW1lID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbW05T
QnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAiYXV0b3BsYXktY2hlY2staW4taWZy
YW1lIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5y
ZXNvdXJjZXMiXV07CiAKLSAgICBbZGVsZWdhdGUgc2V0QWxsb3dzQXV0b3BsYXlRdWlya3NGb3JV
Ukw6XihOU1VSTCAqdXJsKSB7Ci0gICAgICAgIHJldHVybiBbdXJsLmxhc3RQYXRoQ29tcG9uZW50
IGlzRXF1YWxUb1N0cmluZzpAImF1dG9wbGF5LWNoZWNrLWZyYW1lLmh0bWwiXTsKKyAgICBbZGVs
ZWdhdGUgc2V0QWxsb3dlZEF1dG9wbGF5UXVpcmtzRm9yVVJMOl5fV0tXZWJzaXRlQXV0b3BsYXlR
dWlyayhOU1VSTCAqdXJsKSB7CisgICAgICAgIGlmIChbdXJsLmxhc3RQYXRoQ29tcG9uZW50IGlz
RXF1YWxUb1N0cmluZzpAImF1dG9wbGF5LWNoZWNrLWZyYW1lLmh0bWwiXSkKKyAgICAgICAgICAg
IHJldHVybiBfV0tXZWJzaXRlQXV0b3BsYXlRdWlya0luaGVyaXRlZFVzZXJHZXN0dXJlczsKKyAg
ICAgICAgCisgICAgICAgIHJldHVybiBfV0tXZWJzaXRlQXV0b3BsYXlRdWlya1N5bnRoZXNpemVk
UGF1c2VFdmVudHM7CiAgICAgfV07CiAgICAgW2RlbGVnYXRlIHNldEF1dG9wbGF5UG9saWN5Rm9y
VVJMOl4oTlNVUkwgKikgewogICAgICAgICByZXR1cm4gX1dLV2Vic2l0ZUF1dG9wbGF5UG9saWN5
RGVueTsK
</data>
<flag name="review"
          id="333736"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
      

    </bug>

</bugzilla>