<?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>198523</bug_id>
          
          <creation_ts>2019-06-04 03:08:30 -0700</creation_ts>
          <short_desc>[WinCairo][MediaFoundation] Remove the unused video window</short_desc>
          <delta_ts>2019-06-10 18:15:18 -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>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=150941</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annulen</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>pvollan</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1541502</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-06-04 03:08:30 -0700</bug_when>
    <thetext>[WinCairo][MediaFoundation] Remove the unused video window

Remove the video window which has been unused since Bug 150941.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541503</commentid>
    <comment_count>1</comment_count>
      <attachid>371262</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-06-04 03:08:59 -0700</bug_when>
    <thetext>Created attachment 371262
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1542758</commentid>
    <comment_count>2</comment_count>
      <attachid>371571</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-06-07 00:37:24 -0700</bug_when>
    <thetext>Created attachment 371571
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1542764</commentid>
    <comment_count>3</comment_count>
      <attachid>371573</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-06-07 00:49:23 -0700</bug_when>
    <thetext>Created attachment 371573
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1543549</commentid>
    <comment_count>4</comment_count>
      <attachid>371573</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-06-10 18:14:51 -0700</bug_when>
    <thetext>Comment on attachment 371573
Patch

Clearing flags on attachment: 371573

Committed r246302: &lt;https://trac.webkit.org/changeset/246302&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1543550</commentid>
    <comment_count>5</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-06-10 18:14:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1543552</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-06-10 18:15:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/51606129&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371262</attachid>
            <date>2019-06-04 03:08:59 -0700</date>
            <delta_ts>2019-06-07 00:37:15 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>mf.3.diff</filename>
            <type>text/plain</type>
            <size>22728</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBs
YXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbi5jcHAKaW5kZXgg
MDBiMGQwODg0ZmMuLjRjZWMwZjk2ZDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFGb3VuZGF0aW9uLmNwcApAQCAtOTIsMTggKzkyLDE1IEBAIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhRm91bmRhdGlvbjo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uKE1l
ZGlhUGxheWVyCiAgICAgLCBtX2hhc1ZpZGVvKGZhbHNlKQogICAgICwgbV9wcmVwYXJpbmdUb1Bs
YXkoZmFsc2UpCiAgICAgLCBtX3ZvbHVtZSgxLjApCi0gICAgLCBtX2h3bmRWaWRlbyhudWxscHRy
KQogICAgICwgbV9uZXR3b3JrU3RhdGUoTWVkaWFQbGF5ZXI6OkVtcHR5KQogICAgICwgbV9yZWFk
eVN0YXRlKE1lZGlhUGxheWVyOjpIYXZlTm90aGluZykKIHsKICAgICBjcmVhdGVTZXNzaW9uKCk7
Ci0gICAgY3JlYXRlVmlkZW9XaW5kb3coKTsKIH0KIAogTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFG
b3VuZGF0aW9uOjp+TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uKCkKIHsKICAgICBu
b3RpZnlEZWxldGVkKCk7Ci0gICAgZGVzdHJveVZpZGVvV2luZG93KCk7CiAgICAgZW5kU2Vzc2lv
bigpOwogfQogCkBAIC0zNTUsMzcgKzM1MiwxNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhRm91bmRhdGlvbjo6c2V0U2l6ZShjb25zdCBJbnRTaXplJiBzaXplKQogewogICAgIG1fc2l6
ZSA9IHNpemU7CiAKLSAgICBhdXRvIHZpZGVvRGlzcGxheSA9IHRoaXMtPnZpZGVvRGlzcGxheSgp
OwotICAgIGlmICghdmlkZW9EaXNwbGF5KQorICAgIGlmICghbV9wcmVzZW50ZXIpCiAgICAgICAg
IHJldHVybjsKIAotICAgIEludFBvaW50IHBvc2l0aW9uSW5XaW5kb3cobV9sYXN0UGFpbnRSZWN0
LmxvY2F0aW9uKCkpOwotCi0gICAgRnJhbWVWaWV3KiB2aWV3ID0gbnVsbHB0cjsKICAgICBmbG9h
dCBkZXZpY2VTY2FsZUZhY3RvciA9IDEuMGY7Ci0gICAgaWYgKG1fcGxheWVyICYmIG1fcGxheWVy
LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpICYmIG1fcGxheWVyLT5jYWNoZWRSZXNvdXJjZUxvYWRl
cigpLT5kb2N1bWVudCgpKSB7Ci0gICAgICAgIHZpZXcgPSBtX3BsYXllci0+Y2FjaGVkUmVzb3Vy
Y2VMb2FkZXIoKS0+ZG9jdW1lbnQoKS0+dmlldygpOworICAgIGlmIChtX3BsYXllciAmJiBtX3Bs
YXllci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKSAmJiBtX3BsYXllci0+Y2FjaGVkUmVzb3VyY2VM
b2FkZXIoKS0+ZG9jdW1lbnQoKSkKICAgICAgICAgZGV2aWNlU2NhbGVGYWN0b3IgPSBtX3BsYXll
ci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+ZG9jdW1lbnQoKS0+ZGV2aWNlU2NhbGVGYWN0b3Io
KTsKLSAgICB9Ci0KLSAgICBMYXlvdXRQb2ludCBzY3JvbGxQb3NpdGlvbjsKLSAgICBpZiAodmll
dykgewotICAgICAgICBzY3JvbGxQb3NpdGlvbiA9IHZpZXctPnNjcm9sbFBvc2l0aW9uRm9yRml4
ZWRQb3NpdGlvbigpOwotICAgICAgICBwb3NpdGlvbkluV2luZG93ID0gdmlldy0+Y29udmVydFRv
Q29udGFpbmluZ1dpbmRvdyhJbnRQb2ludChtX2xhc3RQYWludFJlY3QubG9jYXRpb24oKSkpOwot
ICAgIH0KLQotICAgIHBvc2l0aW9uSW5XaW5kb3cubW92ZSgtc2Nyb2xsUG9zaXRpb24ueCgpLnRv
SW50KCksIC1zY3JvbGxQb3NpdGlvbi55KCkudG9JbnQoKSk7CiAKLSAgICBpbnQgeCA9IHBvc2l0
aW9uSW5XaW5kb3cueCgpICogZGV2aWNlU2NhbGVGYWN0b3I7Ci0gICAgaW50IHkgPSBwb3NpdGlv
bkluV2luZG93LnkoKSAqIGRldmljZVNjYWxlRmFjdG9yOwogICAgIGludCB3ID0gbV9zaXplLndp
ZHRoKCkgKiBkZXZpY2VTY2FsZUZhY3RvcjsKICAgICBpbnQgaCA9IG1fc2l6ZS5oZWlnaHQoKSAq
IGRldmljZVNjYWxlRmFjdG9yOwogCi0gICAgaWYgKG1faHduZFZpZGVvKQotICAgICAgICA6Ok1v
dmVXaW5kb3cobV9od25kVmlkZW8sIHgsIHksIHcsIGgsIEZBTFNFKTsKLQotICAgIFJFQ1QgcmMg
PSB7IDAsIDAsIHcsIGggfTsKLSAgICB2aWRlb0Rpc3BsYXktPlNldFZpZGVvUG9zaXRpb24obnVs
bHB0ciwgJnJjKTsKKyAgICBtX3ByZXNlbnRlci0+c2V0VmlkZW9TaXplKHsgdywgaCB9KTsKIH0K
IAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OnBhaW50KEdyYXBoaWNz
Q29udGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0KQpAQCAtMzkzLDggKzM3MCw2
IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpwYWludChHcmFwaGlj
c0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZsCiAgICAgaWYgKGNvbnRleHQucGFpbnRpbmdEaXNh
YmxlZCgpIHx8ICFtX3BsYXllci0+dmlzaWJsZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBt
X2xhc3RQYWludFJlY3QgPSByZWN0OwotCiAgICAgaWYgKG1fcHJlc2VudGVyKQogICAgICAgICBt
X3ByZXNlbnRlci0+cGFpbnRDdXJyZW50RnJhbWUoY29udGV4dCwgcmVjdCk7CiB9CkBAIC02NDUs
NjQgKzYyMCwxNSBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6YWRk
QnJhbmNoVG9QYXJ0aWFsVG9wb2xvZ3koaW50IHN0cmVhbSkKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IAotTFJFU1VMVCBDQUxMQkFDSyBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OlZp
ZGVvVmlld1duZFByb2MoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQ
QVJBTSBsUGFyYW0pCitIV05EIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6aG9z
dFdpbmRvdygpCiB7Ci0gICAgcmV0dXJuIERlZldpbmRvd1Byb2MoaFduZCwgbWVzc2FnZSwgd1Bh
cmFtLCBsUGFyYW0pOwotfQotCi1MUENXU1RSIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRh
dGlvbjo6cmVnaXN0ZXJWaWRlb1dpbmRvd0NsYXNzKCkKLXsKLSAgICBjb25zdCBMUENXU1RSIGtW
aWRlb1dpbmRvd0NsYXNzTmFtZSA9IEwiV2ViVmlkZW9XaW5kb3dDbGFzcyI7Ci0KLSAgICBzdGF0
aWMgYm9vbCBoYXZlUmVnaXN0ZXJlZFdpbmRvd0NsYXNzID0gZmFsc2U7Ci0gICAgaWYgKGhhdmVS
ZWdpc3RlcmVkV2luZG93Q2xhc3MpCi0gICAgICAgIHJldHVybiBrVmlkZW9XaW5kb3dDbGFzc05h
bWU7Ci0KLSAgICBoYXZlUmVnaXN0ZXJlZFdpbmRvd0NsYXNzID0gdHJ1ZTsKLQotICAgIFdORENM
QVNTRVggd2NleDsKLQotICAgIHdjZXguY2JTaXplID0gc2l6ZW9mKFdORENMQVNTRVgpOwotCi0g
ICAgd2NleC5zdHlsZSA9IENTX0RCTENMS1M7Ci0gICAgd2NleC5scGZuV25kUHJvYyA9IFZpZGVv
Vmlld1duZFByb2M7Ci0gICAgd2NleC5jYkNsc0V4dHJhID0gMDsKLSAgICB3Y2V4LmNiV25kRXh0
cmEgPSAwOwotICAgIHdjZXguaEluc3RhbmNlID0gbnVsbHB0cjsKLSAgICB3Y2V4LmhJY29uID0g
bnVsbHB0cjsKLSAgICB3Y2V4LmhDdXJzb3IgPSA6OkxvYWRDdXJzb3IoMCwgSURDX0FSUk9XKTsK
LSAgICB3Y2V4LmhickJhY2tncm91bmQgPSBudWxscHRyOwotICAgIHdjZXgubHBzek1lbnVOYW1l
ID0gbnVsbHB0cjsKLSAgICB3Y2V4Lmxwc3pDbGFzc05hbWUgPSBrVmlkZW9XaW5kb3dDbGFzc05h
bWU7Ci0gICAgd2NleC5oSWNvblNtID0gbnVsbHB0cjsKLQotICAgIGlmIChSZWdpc3RlckNsYXNz
RXgoJndjZXgpKQotICAgICAgICByZXR1cm4ga1ZpZGVvV2luZG93Q2xhc3NOYW1lOwotCi0gICAg
cmV0dXJuIG51bGxwdHI7Ci19Ci0KLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0
aW9uOjpjcmVhdGVWaWRlb1dpbmRvdygpCi17Ci0gICAgSFdORCBoV25kUGFyZW50ID0gbnVsbHB0
cjsKICAgICBGcmFtZVZpZXcqIHZpZXcgPSBudWxscHRyOwotICAgIGlmICghbV9wbGF5ZXIgfHwg
IW1fcGxheWVyLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpIHx8ICFtX3BsYXllci0+Y2FjaGVkUmVz
b3VyY2VMb2FkZXIoKS0+ZG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIHZpZXcgPSBt
X3BsYXllci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+ZG9jdW1lbnQoKS0+dmlldygpOwotICAg
IGlmICghdmlldyB8fCAhdmlldy0+aG9zdFdpbmRvdygpKQotICAgICAgICByZXR1cm47Ci0gICAg
aFduZFBhcmVudCA9IHZpZXctPmhvc3RXaW5kb3coKS0+cGxhdGZvcm1QYWdlQ2xpZW50KCk7Ci0K
LSAgICBtX2h3bmRWaWRlbyA9IENyZWF0ZVdpbmRvd0V4KFdTX0VYX05PQUNUSVZBVEUgfCBXU19F
WF9UUkFOU1BBUkVOVCwgcmVnaXN0ZXJWaWRlb1dpbmRvd0NsYXNzKCksIDAsIFdTX0NISUxEIHwg
V1NfQ0xJUFNJQkxJTkdTIHwgV1NfQ0xJUENISUxEUkVOLAotICAgICAgICAwLCAwLCAwLCAwLCBo
V25kUGFyZW50LCAwLCAwLCAwKTsKLX0KLQotdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZv
dW5kYXRpb246OmRlc3Ryb3lWaWRlb1dpbmRvdygpCi17Ci0gICAgaWYgKG1faHduZFZpZGVvKSB7
Ci0gICAgICAgIERlc3Ryb3lXaW5kb3cobV9od25kVmlkZW8pOwotICAgICAgICBtX2h3bmRWaWRl
byA9IG51bGxwdHI7CisgICAgaWYgKG1fcGxheWVyICYmIG1fcGxheWVyLT5jYWNoZWRSZXNvdXJj
ZUxvYWRlcigpICYmICFtX3BsYXllci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+ZG9jdW1lbnQo
KSkgeworICAgICAgICB2aWV3ID0gbV9wbGF5ZXItPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPmRv
Y3VtZW50KCktPnZpZXcoKTsKKyAgICAgICAgaWYgKHZpZXcgJiYgdmlldy0+aG9zdFdpbmRvdygp
ICYmIHZpZXctPmhvc3RXaW5kb3coKS0+cGxhdGZvcm1QYWdlQ2xpZW50KCkpCisgICAgICAgICAg
ICByZXR1cm4gdmlldy0+aG9zdFdpbmRvdygpLT5wbGF0Zm9ybVBhZ2VDbGllbnQoKTsKICAgICB9
CisgICAgcmV0dXJuIEdldERlc2t0b3BXaW5kb3coKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVNZWRpYUZvdW5kYXRpb246OmludmFsaWRhdGVGcmFtZVZpZXcoKQpAQCAtNzg0LDcgKzcx
MCw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpjcmVhdGVPdXRw
dXROb2RlKENPTVB0cjxJTUZTdHJlYW1EZXNjcmlwCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAKICAgICAgICAgbV9wcmVzZW50ZXIgPSBuZXcgQ3VzdG9tVmlkZW9QcmVzZW50ZXIodGhpcyk7
Ci0gICAgICAgIG1fcHJlc2VudGVyLT5TZXRWaWRlb1dpbmRvdyhtX2h3bmRWaWRlbyk7CisgICAg
ICAgIG1fcHJlc2VudGVyLT5zZXRWaWRlb1dpbmRvdyhob3N0V2luZG93KCkpOwogICAgICAgICBp
ZiAoRkFJTEVEKHJlbmRlcmVyQWN0aXZhdGUtPlNldFVua25vd24oTUZfQUNUSVZBVEVfQ1VTVE9N
X1ZJREVPX1BSRVNFTlRFUl9BQ1RJVkFURSwgc3RhdGljX2Nhc3Q8SU1GQWN0aXZhdGUqPihtX3By
ZXNlbnRlci5nZXQoKSkpKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgbV9o
YXNWaWRlbyA9IHRydWU7CkBAIC04NzIsMTkgKzc5OCw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFGb3VuZGF0aW9uOjp1cGRhdGVSZWFkeVN0YXRlKCkKICAgICAgICAgbV9wbGF5ZXIt
PnJlYWR5U3RhdGVDaGFuZ2VkKCk7CiB9CiAKLUNPTVB0cjxJTUZWaWRlb0Rpc3BsYXlDb250cm9s
PiBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OnZpZGVvRGlzcGxheSgpCi17Ci0g
ICAgaWYgKG1fdmlkZW9EaXNwbGF5KQotICAgICAgICByZXR1cm4gbV92aWRlb0Rpc3BsYXk7Ci0K
LSAgICBpZiAoIU1GR2V0U2VydmljZVB0cigpKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQot
ICAgIE1GR2V0U2VydmljZVB0cigpKG1fbWVkaWFTZXNzaW9uLmdldCgpLCBNUl9WSURFT19SRU5E
RVJfU0VSVklDRSwgSUlEX1BQVl9BUkdTKCZtX3ZpZGVvRGlzcGxheSkpOwotCi0gICAgcmV0dXJu
IG1fdmlkZW9EaXNwbGF5OwotfQotCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRh
dGlvbjo6b25DcmVhdGVkTWVkaWFTb3VyY2UoKQogewogICAgIGlmICghY3JlYXRlVG9wb2xvZ3lG
cm9tU291cmNlKCkpCkBAIC04OTksMTAgKzgxMiw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFGb3VuZGF0aW9uOjpvblRvcG9sb2d5U2V0KCkKIHsKICAgICAvLyBUaGlzIG1ldGhvZCBp
cyBjYWxsZWQgb24gdGhlIG1haW4gdGhyZWFkIGFzIGEgcmVzdWx0IG9mIGxvYWQoKSBiZWluZyBj
YWxsZWQuCiAKLSAgICBpZiAoYXV0byB2aWRlb0Rpc3BsYXkgPSB0aGlzLT52aWRlb0Rpc3BsYXko
KSkgewotICAgICAgICBSRUNUIHJjID0geyAwLCAwLCBtX3NpemUud2lkdGgoKSwgbV9zaXplLmhl
aWdodCgpIH07Ci0gICAgICAgIHZpZGVvRGlzcGxheS0+U2V0VmlkZW9Qb3NpdGlvbihudWxscHRy
LCAmcmMpOwotICAgIH0KKyAgICBpZiAobV9wcmVzZW50ZXIpCisgICAgICAgIG1fcHJlc2VudGVy
LT5zZXRWaWRlb1NpemUobV9zaXplKTsKIAogICAgIC8vIEl0IGlzIGV4cGVjdGVkIHRoYXQgd2Ug
c3RhcnQgYnVmZmVyaW5nIGRhdGEgZnJvbSB0aGUgbmV0d29yayBub3cuCiAgICAgLy8gV2UgY2Fs
bCBzdGFydFNlc3Npb24oKSB0byBzdGFydCBidWZmZXJpbmcgdmlkZW8gZGF0YS4KQEAgLTEwMzgs
OCArOTQ5LDYgQEAgSFJFU1VMVCBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OkN1
c3RvbVZpZGVvUHJlc2VudGVyOjpRdWVyeUludGVyZmFjZSgKICAgICAgICAgKnBwdk9iamVjdCA9
IHN0YXRpY19jYXN0PElNRkdldFNlcnZpY2UqPih0aGlzKTsKICAgICBlbHNlIGlmIChJc0VxdWFs
R1VJRChyaWlkLCBJSURfSU1GQWN0aXZhdGUpKQogICAgICAgICAqcHB2T2JqZWN0ID0gc3RhdGlj
X2Nhc3Q8SU1GQWN0aXZhdGUqPih0aGlzKTsKLSAgICBlbHNlIGlmIChJc0VxdWFsR1VJRChyaWlk
LCBJSURfSU1GVmlkZW9EaXNwbGF5Q29udHJvbCkpCi0gICAgICAgICpwcHZPYmplY3QgPSBzdGF0
aWNfY2FzdDxJTUZWaWRlb0Rpc3BsYXlDb250cm9sKj4odGhpcyk7CiAgICAgZWxzZSBpZiAoSXNF
cXVhbEdVSUQocmlpZCwgSUlEX0lNRlZpZGVvUHJlc2VudGVyKSkKICAgICAgICAgKnBwdk9iamVj
dCA9IHN0YXRpY19jYXN0PElNRlZpZGVvUHJlc2VudGVyKj4odGhpcyk7CiAgICAgZWxzZSBpZiAo
SXNFcXVhbEdVSUQocmlpZCwgSUlEX0lNRkNsb2NrU3RhdGVTaW5rKSkKQEAgLTEzMjYsNyArMTIz
NSw3IEBAIEhSRVNVTFQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpDdXN0b21W
aWRlb1ByZXNlbnRlcjo6U2h1dGRvd25PYmplY3QoCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKLUhS
RVNVTFQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpDdXN0b21WaWRlb1ByZXNl
bnRlcjo6U2V0VmlkZW9XaW5kb3coSFdORCBod25kVmlkZW8pCitIUkVTVUxUIE1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6Q3VzdG9tVmlkZW9QcmVzZW50ZXI6OnNldFZpZGVvV2lu
ZG93KEhXTkQgaHduZFZpZGVvKQogewogICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fbG9jayk7CiAK
QEAgLTEzNDYsMTggKzEyNTUsNiBAQCBIUkVTVUxUIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91
bmRhdGlvbjo6Q3VzdG9tVmlkZW9QcmVzZW50ZXI6OlNldFZpZGVvV2luZG93KAogICAgIHJldHVy
biBocjsKIH0KIAotSFJFU1VMVCBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OkN1
c3RvbVZpZGVvUHJlc2VudGVyOjpHZXRWaWRlb1dpbmRvdyhIV05EKiBwaHduZFZpZGVvKQotewot
ICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fbG9jayk7Ci0KLSAgICBpZiAoIXBod25kVmlkZW8pCi0g
ICAgICAgIHJldHVybiBFX1BPSU5URVI7Ci0KLSAgICAqcGh3bmRWaWRlbyA9IG1fcHJlc2VudGVy
RW5naW5lLT5nZXRWaWRlb1dpbmRvdygpOwotCi0gICAgcmV0dXJuIFNfT0s7Ci19Ci0KIHN0YXRp
YyBIUkVTVUxUIHNldE1peGVyU291cmNlUmVjdChJTUZUcmFuc2Zvcm0qIG1peGVyLCBjb25zdCBN
RlZpZGVvTm9ybWFsaXplZFJlY3QmIHNvdXJjZVJlY3QpCiB7CiAgICAgaWYgKCFtaXhlcikKQEAg
LTEzNzIsMTAyICsxMjY5LDMzIEBAIHN0YXRpYyBIUkVTVUxUIHNldE1peGVyU291cmNlUmVjdChJ
TUZUcmFuc2Zvcm0qIG1peGVyLCBjb25zdCBNRlZpZGVvTm9ybWFsaXplZFJlCiAgICAgcmV0dXJu
IGF0dHJpYnV0ZXMtPlNldEJsb2IoVklERU9fWk9PTV9SRUNULCAoY29uc3QgVUlOVDgqKSZzb3Vy
Y2VSZWN0LCBzaXplb2Yoc291cmNlUmVjdCkpOwogfQogCi1IUkVTVUxUIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhRm91bmRhdGlvbjo6Q3VzdG9tVmlkZW9QcmVzZW50ZXI6OlNldFZpZGVvUG9zaXRp
b24oY29uc3QgTUZWaWRlb05vcm1hbGl6ZWRSZWN0KiBwbnJjU291cmNlLCBjb25zdCBMUFJFQ1Qg
cHJjRGVzdCkKK0hSRVNVTFQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpDdXN0
b21WaWRlb1ByZXNlbnRlcjo6c2V0VmlkZW9TaXplKGNvbnN0IFNJWkUmIHNpemUpCiB7CiAgICAg
TG9ja0hvbGRlciBsb2NrZXIobV9sb2NrKTsKIAotICAgIC8vIEZpcnN0LCBjaGVjayB0aGF0IHRo
ZSBwYXJhbWV0ZXJzIGFyZSB2YWxpZC4KLQotICAgIGlmICghcG5yY1NvdXJjZSAmJiAhcHJjRGVz
dCkKLSAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKLQotICAgIGlmIChwbnJjU291cmNlKSB7Ci0g
ICAgICAgIGlmICgocG5yY1NvdXJjZS0+bGVmdCA+IHBucmNTb3VyY2UtPnJpZ2h0KSB8fCAocG5y
Y1NvdXJjZS0+dG9wID4gcG5yY1NvdXJjZS0+Ym90dG9tKSkKLSAgICAgICAgICAgIHJldHVybiBF
X0lOVkFMSURBUkc7Ci0KLSAgICAgICAgLy8gVGhlIHNvdXJjZSByZWN0YW5nbGUgbXVzdCBiZSBu
b3JtYWxpemVkLgotICAgICAgICBpZiAoKHBucmNTb3VyY2UtPmxlZnQgPCAwKSB8fCAocG5yY1Nv
dXJjZS0+cmlnaHQgPiAxKSB8fCAocG5yY1NvdXJjZS0+dG9wIDwgMCkgfHwgKHBucmNTb3VyY2Ut
PmJvdHRvbSA+IDEpKQotICAgICAgICAgICAgcmV0dXJuIEVfSU5WQUxJREFSRzsKLSAgICB9Cisg
ICAgYXV0byBvbGRTaXplID0gbV9wcmVzZW50ZXJFbmdpbmUtPmRlc3RpbmF0aW9uU2l6ZSgpOwog
Ci0gICAgaWYgKHByY0Rlc3QpIHsKLSAgICAgICAgaWYgKChwcmNEZXN0LT5sZWZ0ID4gcHJjRGVz
dC0+cmlnaHQpIHx8IChwcmNEZXN0LT50b3AgPiBwcmNEZXN0LT5ib3R0b20pKQotICAgICAgICAg
ICAgcmV0dXJuIEVfSU5WQUxJREFSRzsKLSAgICB9Ci0KLSAgICBIUkVTVUxUIGhyID0gU19PSzsK
LQotICAgIC8vIFNldCB0aGUgc291cmNlIHJlY3RhbmdsZS4KLSAgICBpZiAocG5yY1NvdXJjZSkg
ewotICAgICAgICBtX3NvdXJjZVJlY3QgPSAqcG5yY1NvdXJjZTsKKyAgICBpZiAoc2l6ZS5jeCAh
PSBvbGRTaXplLmN4IHx8IHNpemUuY3kgIT0gb2xkU2l6ZS5jeSkgeworICAgICAgICBtX3ByZXNl
bnRlckVuZ2luZS0+c2V0RGVzdGluYXRpb25TaXplKHNpemUpOwogCisgICAgICAgIC8vIFdlIG5l
ZWQgdG8gY2hhbmdlIHRoZSBtZWRpYSB0eXBlIHdoZW4gdGhlIGRlc3RpbmF0aW9uIHJlY3Rhbmds
ZSBoYXMgY2hhbmdlZC4KICAgICAgICAgaWYgKG1fbWl4ZXIpIHsKLSAgICAgICAgICAgIGhyID0g
c2V0TWl4ZXJTb3VyY2VSZWN0KG1fbWl4ZXIuZ2V0KCksIG1fc291cmNlUmVjdCk7Ci0gICAgICAg
ICAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gaHI7Ci0gICAgICAg
IH0KLSAgICB9Ci0KLSAgICAvLyBTZXQgdGhlIGRlc3RpbmF0aW9uIHJlY3RhbmdsZS4KLSAgICBp
ZiAocHJjRGVzdCkgewotICAgICAgICBSRUNUIHJjT2xkRGVzdCA9IG1fcHJlc2VudGVyRW5naW5l
LT5nZXREZXN0aW5hdGlvblJlY3QoKTsKLQotICAgICAgICAvLyBJZiB0aGUgZGVzdGluYXRpb24g
cmVjdGFuZ2xlIGhhc24ndCBjaGFuZ2VkLCB3ZSBhcmUgZG9uZS4KLSAgICAgICAgaWYgKCFFcXVh
bFJlY3QoJnJjT2xkRGVzdCwgcHJjRGVzdCkpIHsKLSAgICAgICAgICAgIGhyID0gbV9wcmVzZW50
ZXJFbmdpbmUtPnNldERlc3RpbmF0aW9uUmVjdCgqcHJjRGVzdCk7Ci0gICAgICAgICAgICBpZiAo
RkFJTEVEKGhyKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gaHI7Ci0KLSAgICAgICAgICAgIC8v
IFdlIG5lZWQgdG8gY2hhbmdlIHRoZSBtZWRpYSB0eXBlIHdoZW4gdGhlIGRlc3RpbmF0aW9uIHJl
Y3RhbmdsZSBoYXMgY2hhbmdlZC4KLSAgICAgICAgICAgIGlmIChtX21peGVyKSB7Ci0gICAgICAg
ICAgICAgICAgaHIgPSByZW5lZ290aWF0ZU1lZGlhVHlwZSgpOwotICAgICAgICAgICAgICAgIGlm
IChociA9PSBNRl9FX1RSQU5TRk9STV9UWVBFX05PVF9TRVQpIHsKLSAgICAgICAgICAgICAgICAg
ICAgLy8gVGhpcyBpcyBub3QgYSBjcml0aWNhbCBmYWlsdXJlOyB0aGUgRVZSIHdpbGwgbGV0IHVz
IGtub3cgd2hlbgotICAgICAgICAgICAgICAgICAgICAvLyB3ZSBoYXZlIHRvIHNldCB0aGUgbWl4
ZXIgbWVkaWEgdHlwZS4KLSAgICAgICAgICAgICAgICAgICAgaHIgPSBTX09LOwotICAgICAgICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChGQUlMRUQoaHIpKQotICAg
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGhyOwotCi0gICAgICAgICAgICAgICAgICAgIC8v
IFdlIGhhdmUgc3VjY2Vzc2Z1bGx5IGNoYW5nZWQgdGhlIG1lZGlhIHR5cGUsCi0gICAgICAgICAg
ICAgICAgICAgIC8vIGFzayBmb3IgYSByZXBhaW50IG9mIHRoZSBjdXJyZW50IGZyYW1lLgotICAg
ICAgICAgICAgICAgICAgICBtX3JlcGFpbnQgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICBw
cm9jZXNzT3V0cHV0KCk7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgSFJFU1VMVCBo
ciA9IHJlbmVnb3RpYXRlTWVkaWFUeXBlKCk7CisgICAgICAgICAgICBpZiAoaHIgPT0gTUZfRV9U
UkFOU0ZPUk1fVFlQRV9OT1RfU0VUKSB7CisgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBub3Qg
YSBjcml0aWNhbCBmYWlsdXJlOyB0aGUgRVZSIHdpbGwgbGV0IHVzIGtub3cgd2hlbgorICAgICAg
ICAgICAgICAgIC8vIHdlIGhhdmUgdG8gc2V0IHRoZSBtaXhlciBtZWRpYSB0eXBlLgorICAgICAg
ICAgICAgICAgIGhyID0gU19PSzsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
ICAgaWYgKEZBSUxFRChocikpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBocjsKKworICAg
ICAgICAgICAgICAgIC8vIFdlIGhhdmUgc3VjY2Vzc2Z1bGx5IGNoYW5nZWQgdGhlIG1lZGlhIHR5
cGUsCisgICAgICAgICAgICAgICAgLy8gYXNrIGZvciBhIHJlcGFpbnQgb2YgdGhlIGN1cnJlbnQg
ZnJhbWUuCisgICAgICAgICAgICAgICAgbV9yZXBhaW50ID0gdHJ1ZTsKKyAgICAgICAgICAgICAg
ICBwcm9jZXNzT3V0cHV0KCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9Ci0KLSAg
ICByZXR1cm4gU19PSzsKLX0KLQotSFJFU1VMVCBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5k
YXRpb246OkN1c3RvbVZpZGVvUHJlc2VudGVyOjpHZXRWaWRlb1Bvc2l0aW9uKE1GVmlkZW9Ob3Jt
YWxpemVkUmVjdCogcG5yY1NvdXJjZSwgTFBSRUNUIHByY0Rlc3QpCi17Ci0gICAgTG9ja0hvbGRl
ciBsb2NrZXIobV9sb2NrKTsKLQotICAgIGlmICghcG5yY1NvdXJjZSB8fCAhcHJjRGVzdCkKLSAg
ICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKLQotICAgICpwbnJjU291cmNlID0gbV9zb3VyY2VSZWN0
OwotICAgICpwcmNEZXN0ID0gbV9wcmVzZW50ZXJFbmdpbmUtPmdldERlc3RpbmF0aW9uUmVjdCgp
OwotCi0gICAgcmV0dXJuIFNfT0s7Ci19Ci0KLUhSRVNVTFQgTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFGb3VuZGF0aW9uOjpDdXN0b21WaWRlb1ByZXNlbnRlcjo6UmVwYWludFZpZGVvKCkKLXsKLSAg
ICBMb2NrSG9sZGVyIGxvY2tlcihtX2xvY2spOwotCi0gICAgSFJFU1VMVCBociA9IGNoZWNrU2h1
dGRvd24oKTsKLSAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAgcmV0dXJuIGhyOwotCi0gICAg
Ly8gQ2hlY2sgdGhhdCBhdCBsZWFzdCBvbmUgc2FtcGxlIGhhcyBiZWVuIHByZXNlbnRlZC4KLSAg
ICBpZiAobV9wcmVyb2xsZWQpIHsKLSAgICAgICAgbV9yZXBhaW50ID0gdHJ1ZTsKLSAgICAgICAg
cHJvY2Vzc091dHB1dCgpOwotICAgIH0KLQogICAgIHJldHVybiBTX09LOwogfQogCkBAIC0xODY4
LDExICsxNjk2LDE0IEBAIEhSRVNVTFQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9u
OjpDdXN0b21WaWRlb1ByZXNlbnRlcjo6Y3JlYXRlT3B0aW1hbFZpCiAgICAgICAgIHJldHVybiBo
cjsKIAogICAgIC8vIEdldCB0aGUgb3V0cHV0IHJlY3RhbmdsZS4KLSAgICBSRUNUIHJjT3V0cHV0
ID0gbV9wcmVzZW50ZXJFbmdpbmUtPmdldERlc3RpbmF0aW9uUmVjdCgpOwotICAgIGlmIChJc1Jl
Y3RFbXB0eSgmcmNPdXRwdXQpKSB7CisgICAgYXV0byBvdXRTaXplID0gbV9wcmVzZW50ZXJFbmdp
bmUtPmRlc3RpbmF0aW9uU2l6ZSgpOworICAgIGlmICghb3V0U2l6ZS5jeCB8fCAhb3V0U2l6ZS5j
eSkgeworICAgICAgICBSRUNUIHJjT3V0cHV0OwogICAgICAgICBociA9IGNhbGN1bGF0ZU91dHB1
dFJlY3RhbmdsZShwcm9wb3NlZFR5cGUsIHJjT3V0cHV0KTsKICAgICAgICAgaWYgKEZBSUxFRCho
cikpCiAgICAgICAgICAgICByZXR1cm4gaHI7CisgICAgICAgIG91dFNpemUuY3ggPSByY091dHB1
dC5yaWdodCAtIHJjT3V0cHV0LmxlZnQ7CisgICAgICAgIG91dFNpemUuY3kgPSByY091dHB1dC5i
b3R0b20gLSByY091dHB1dC50b3A7CiAgICAgfQogCiAgICAgaHIgPSBvcHRpbWFsVmlkZW9UeXBl
LT5TZXRVSU5UMzIoTUZfTVRfWVVWX01BVFJJWCwgTUZWaWRlb1RyYW5zZmVyTWF0cml4X0JUNzA5
KTsKQEAgLTE4OTUsMTEgKzE3MjYsMTEgQEAgSFJFU1VMVCBNZWRpYVBsYXllclByaXZhdGVNZWRp
YUZvdW5kYXRpb246OkN1c3RvbVZpZGVvUHJlc2VudGVyOjpjcmVhdGVPcHRpbWFsVmkKICAgICBp
ZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJuIGhyOwogCi0gICAgaHIgPSBNRlNldEF0dHJp
YnV0ZVNpemUob3B0aW1hbFZpZGVvVHlwZS5nZXQoKSwgTUZfTVRfRlJBTUVfU0laRSwgcmNPdXRw
dXQucmlnaHQsIHJjT3V0cHV0LmJvdHRvbSk7CisgICAgaHIgPSBNRlNldEF0dHJpYnV0ZVNpemUo
b3B0aW1hbFZpZGVvVHlwZS5nZXQoKSwgTUZfTVRfRlJBTUVfU0laRSwgb3V0U2l6ZS5jeCwgb3V0
U2l6ZS5jeSk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsKIAotICAg
IE1GVmlkZW9BcmVhIGRpc3BsYXlBcmVhID0gTWFrZUFyZWEoMCwgMCwgcmNPdXRwdXQucmlnaHQs
IHJjT3V0cHV0LmJvdHRvbSk7CisgICAgTUZWaWRlb0FyZWEgZGlzcGxheUFyZWEgPSBNYWtlQXJl
YSgwLCAwLCBvdXRTaXplLmN4LCBvdXRTaXplLmN5KTsKIAogICAgIGhyID0gb3B0aW1hbFZpZGVv
VHlwZS0+U2V0VUlOVDMyKE1GX01UX1BBTl9TQ0FOX0VOQUJMRUQsIEZBTFNFKTsKICAgICBpZiAo
RkFJTEVEKGhyKSkKQEAgLTI2ODIsNyArMjUxMyw3IEBAIHN0YXRpYyBIUkVTVUxUIGZpbmRBZGFw
dGVyKElEaXJlY3QzRDkqIGRpcmVjdDNEOSwgSE1PTklUT1IgbW9uaXRvciwgVUlOVCYgYWRhcHRl
CiAKIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6RGlyZWN0M0RQcmVzZW50ZXI6
OkRpcmVjdDNEUHJlc2VudGVyKCkKIHsKLSAgICBTZXRSZWN0RW1wdHkoJm1fZGVzdFJlY3QpOwor
ICAgIG1fZGVzdFNpemUgPSB7IH07CiAKICAgICBaZXJvTWVtb3J5KCZtX2Rpc3BsYXlNb2RlLCBz
aXplb2YobV9kaXNwbGF5TW9kZSkpOwogCkBAIC0yNzQ4LDIzICsyNTc5LDE2IEBAIEhSRVNVTFQg
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpEaXJlY3QzRFByZXNlbnRlcjo6c2V0
VmlkZW9XaW5kb3coSFdOCiAgICAgewogICAgICAgICBMb2NrSG9sZGVyIGxvY2tlcihtX2xvY2sp
OwogICAgICAgICBtX2h3bmQgPSBod25kOwotICAgICAgICB1cGRhdGVEZXN0UmVjdCgpOwogICAg
IH0KIAogICAgIHJldHVybiBjcmVhdGVEM0REZXZpY2UoKTsKIH0KIAotSFJFU1VMVCBNZWRpYVBs
YXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OkRpcmVjdDNEUHJlc2VudGVyOjpzZXREZXN0aW5h
dGlvblJlY3QoY29uc3QgUkVDVCYgcmNEZXN0KQordm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRp
YUZvdW5kYXRpb246OkRpcmVjdDNEUHJlc2VudGVyOjpzZXREZXN0aW5hdGlvblNpemUoY29uc3Qg
U0laRSYgc2l6ZSkKIHsKLSAgICBpZiAoRXF1YWxSZWN0KCZyY0Rlc3QsICZtX2Rlc3RSZWN0KSkK
LSAgICAgICAgcmV0dXJuIFNfT0s7Ci0KICAgICBMb2NrSG9sZGVyIGxvY2tlcihtX2xvY2spOwog
Ci0gICAgbV9kZXN0UmVjdCA9IHJjRGVzdDsKLSAgICB1cGRhdGVEZXN0UmVjdCgpOwotCi0gICAg
cmV0dXJuIFNfT0s7CisgICAgbV9kZXN0U2l6ZSA9IHNpemU7CiB9CiAKIEhSRVNVTFQgTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpEaXJlY3QzRFByZXNlbnRlcjo6Y3JlYXRlVmlk
ZW9TYW1wbGVzKElNRk1lZGlhVHlwZSogZm9ybWF0LCBWaWRlb1NhbXBsZUxpc3QmIHZpZGVvU2Ft
cGxlUXVldWUpCkBAIC0yNzkzLDggKzI2MTcsNiBAQCBIUkVTVUxUIE1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhRm91bmRhdGlvbjo6RGlyZWN0M0RQcmVzZW50ZXI6OmNyZWF0ZVZpZGVvU2FtcGxlcwog
ICAgICAgICByZXR1cm4gaHI7CiAgICAgfQogCi0gICAgdXBkYXRlRGVzdFJlY3QoKTsKLQogICAg
IHN0YXRpYyBjb25zdCBpbnQgcHJlc2VudGVyQnVmZmVyQ291bnQgPSAzOwogCiAgICAgZm9yIChp
bnQgaSA9IDA7IGkgPCBwcmVzZW50ZXJCdWZmZXJDb3VudDsgaSsrKSB7CkBAIC0yODgwLDggKzI3
MDIsOCBAQCBIUkVTVUxUIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6RGlyZWN0
M0RQcmVzZW50ZXI6OnByZXNlbnRTYW1wbGUoSU1GUwogICAgIH0KIAogICAgIGlmIChzdXJmYWNl
KSB7Ci0gICAgICAgIFVJTlQgd2lkdGggPSBtX2Rlc3RSZWN0LnJpZ2h0IC0gbV9kZXN0UmVjdC5s
ZWZ0OwotICAgICAgICBVSU5UIGhlaWdodCA9IG1fZGVzdFJlY3QuYm90dG9tIC0gbV9kZXN0UmVj
dC50b3A7CisgICAgICAgIFVJTlQgd2lkdGggPSBtX2Rlc3RTaXplLmN4OworICAgICAgICBVSU5U
IGhlaWdodCA9IG1fZGVzdFNpemUuY3k7CiAKICAgICAgICAgaWYgKHdpZHRoID4gMCAmJiBoZWln
aHQgPiAwKSB7CiAgICAgICAgICAgICBpZiAoIW1fbWVtU3VyZmFjZSB8fCBtX3dpZHRoICE9IHdp
ZHRoIHx8IG1faGVpZ2h0ICE9IGhlaWdodCkgewpAQCAtMjkwMiwxMyArMjcyNCw2IEBAIEhSRVNV
TFQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpEaXJlY3QzRFByZXNlbnRlcjo6
cHJlc2VudFNhbXBsZShJTUZTCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICAv
LyBTaW5jZSB3ZSB3YW50IHRvIGRyYXcgdG8gdGhlIEdyYXBoaWNzQ29udGV4dCBwcm92aWRlZCBp
biB0aGUgcGFpbnQgbWV0aG9kLAotICAgICAgICAvLyBhbmQgbm90IGRyYXcgZGlyZWN0bHkgdG8g
dGhlIHdpbmRvdywgd2Ugc2tpcCBwcmVzZW50aW5nIHRoZSBzd2FwIGNoYWluOgotCi0gICAgICAg
IC8vIENPTVB0cjxJRGlyZWN0M0RTd2FwQ2hhaW45PiBzd2FwQ2hhaW47Ci0gICAgICAgIC8vIGhy
ID0gc3VyZmFjZS0+R2V0Q29udGFpbmVyKF9fdXVpZG9mKElEaXJlY3QzRFN3YXBDaGFpbjkpLCAo
TFBWT0lEKikmc3dhcENoYWluKSk7Ci0gICAgICAgIC8vIGhyID0gcHJlc2VudFN3YXBDaGFpbihz
d2FwQ2hhaW4sIHN1cmZhY2UpKTsKLQogICAgICAgICAvLyBLZWVwIHRoZSBsYXN0IHN1cmZhY2Ug
Zm9yIHJlcGFpbnRzLgogICAgICAgICBtX3N1cmZhY2VSZXBhaW50ID0gc3VyZmFjZTsKICAgICB9
CkBAIC0yOTI1LDggKzI3NDAsOCBAQCBIUkVTVUxUIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91
bmRhdGlvbjo6RGlyZWN0M0RQcmVzZW50ZXI6OnByZXNlbnRTYW1wbGUoSU1GUwogCiB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6RGlyZWN0M0RQcmVzZW50ZXI6OnBhaW50
Q3VycmVudEZyYW1lKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgV2Vi
Q29yZTo6RmxvYXRSZWN0JiBkZXN0UmVjdCkKIHsKLSAgICBVSU5UIHdpZHRoID0gbV9kZXN0UmVj
dC5yaWdodCAtIG1fZGVzdFJlY3QubGVmdDsKLSAgICBVSU5UIGhlaWdodCA9IG1fZGVzdFJlY3Qu
Ym90dG9tIC0gbV9kZXN0UmVjdC50b3A7CisgICAgVUlOVCB3aWR0aCA9IG1fZGVzdFNpemUuY3g7
CisgICAgVUlOVCBoZWlnaHQgPSBtX2Rlc3RTaXplLmN5OwogCiAgICAgaWYgKCF3aWR0aCB8fCAh
aGVpZ2h0KQogICAgICAgICByZXR1cm47CkBAIC0zMDc0LDE0ICsyODg5LDYgQEAgSFJFU1VMVCBN
ZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OkRpcmVjdDNEUHJlc2VudGVyOjpjcmVh
dGVEM0RTYW1wbGUoSUQKICAgICByZXR1cm4gTUZDcmVhdGVWaWRlb1NhbXBsZUZyb21TdXJmYWNl
UHRyKCkoc3VyZmFjZS5nZXQoKSwgJnZpZGVvU2FtcGxlKTsKIH0KIAotSFJFU1VMVCBNZWRpYVBs
YXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OkRpcmVjdDNEUHJlc2VudGVyOjpwcmVzZW50U3dh
cENoYWluKElEaXJlY3QzRFN3YXBDaGFpbjkqIHN3YXBDaGFpbiwgSURpcmVjdDNEU3VyZmFjZTkq
IHN1cmZhY2UpCi17Ci0gICAgaWYgKCFtX2h3bmQpCi0gICAgICAgIHJldHVybiBNRl9FX0lOVkFM
SURSRVFVRVNUOwotCi0gICAgcmV0dXJuIHN3YXBDaGFpbi0+UHJlc2VudChudWxscHRyLCAmbV9k
ZXN0UmVjdCwgbV9od25kLCBudWxscHRyLCAwKTsKLX0KLQogSFJFU1VMVCBNZWRpYVBsYXllclBy
aXZhdGVNZWRpYUZvdW5kYXRpb246OkRpcmVjdDNEUHJlc2VudGVyOjpnZXRTd2FwQ2hhaW5QcmVz
ZW50UGFyYW1ldGVycyhJTUZNZWRpYVR5cGUqIHR5cGUsIEQzRFBSRVNFTlRfUEFSQU1FVEVSUyog
cHJlc2VudFBhcmFtcykKIHsKICAgICBpZiAoIW1faHduZCkKQEAgLTMxMjIsMjUgKzI5MjksNiBA
QCBIUkVTVUxUIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6RGlyZWN0M0RQcmVz
ZW50ZXI6OmdldFN3YXBDaGFpblByZXNlbgogICAgIHJldHVybiBTX09LOwogfQogCi1IUkVTVUxU
IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6RGlyZWN0M0RQcmVzZW50ZXI6OnVw
ZGF0ZURlc3RSZWN0KCkKLXsKLSAgICBpZiAoIW1faHduZCkKLSAgICAgICAgcmV0dXJuIFNfRkFM
U0U7Ci0KLSAgICBSRUNUIHJjVmlldzsKLSAgICBpZiAoIUdldENsaWVudFJlY3QobV9od25kLCAm
cmNWaWV3KSkKLSAgICAgICAgcmV0dXJuIEVfRkFJTDsKLQotICAgIC8vIENsaXAgdG8gdGhlIGNs
aWVudCBhcmVhIG9mIHRoZSB3aW5kb3cuCi0gICAgaWYgKG1fZGVzdFJlY3QucmlnaHQgPiByY1Zp
ZXcucmlnaHQpCi0gICAgICAgIG1fZGVzdFJlY3QucmlnaHQgPSByY1ZpZXcucmlnaHQ7Ci0KLSAg
ICBpZiAobV9kZXN0UmVjdC5ib3R0b20gPiByY1ZpZXcuYm90dG9tKQotICAgICAgICBtX2Rlc3RS
ZWN0LmJvdHRvbSA9IHJjVmlldy5ib3R0b207Ci0KLSAgICByZXR1cm4gU19PSzsKLX0KLQogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZh
dGVNZWRpYUZvdW5kYXRpb24uaAppbmRleCBkODVmMTc1OTAyMC4uOGRmZjE2NzM4MTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYUZvdW5kYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uLmgKQEAgLTExMCwxMCAr
MTEwLDggQEAgcHJpdmF0ZToKICAgICBib29sIG1faGFzVmlkZW87CiAgICAgYm9vbCBtX3ByZXBh
cmluZ1RvUGxheTsKICAgICBmbG9hdCBtX3ZvbHVtZTsKLSAgICBIV05EIG1faHduZFZpZGVvOwog
ICAgIE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGUgbV9uZXR3b3JrU3RhdGU7CiAgICAgTWVkaWFQ
bGF5ZXI6OlJlYWR5U3RhdGUgbV9yZWFkeVN0YXRlOwotICAgIEZsb2F0UmVjdCBtX2xhc3RQYWlu
dFJlY3Q7CiAKICAgICBjbGFzcyBNZWRpYVBsYXllckxpc3RlbmVyOwogICAgIEhhc2hTZXQ8TWVk
aWFQbGF5ZXJMaXN0ZW5lcio+IG1fbGlzdGVuZXJzOwpAQCAtMTI3LDcgKzEyNSw2IEBAIHByaXZh
dGU6CiAgICAgQ09NUHRyPElNRk1lZGlhU291cmNlPiBtX21lZGlhU291cmNlOwogICAgIENPTVB0
cjxJTUZUb3BvbG9neT4gbV90b3BvbG9neTsKICAgICBDT01QdHI8SU1GUHJlc2VudGF0aW9uRGVz
Y3JpcHRvcj4gbV9zb3VyY2VQRDsKLSAgICBDT01QdHI8SU1GVmlkZW9EaXNwbGF5Q29udHJvbD4g
bV92aWRlb0Rpc3BsYXk7CiAKICAgICBib29sIGNyZWF0ZVNlc3Npb24oKTsKICAgICBib29sIHN0
YXJ0U2Vzc2lvbigpOwpAQCAtMTQyLDggKzEzOSw2IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHVw
ZGF0ZVJlYWR5U3RhdGUoKTsKIAotICAgIENPTVB0cjxJTUZWaWRlb0Rpc3BsYXlDb250cm9sPiB2
aWRlb0Rpc3BsYXkoKTsKLQogICAgIHZvaWQgb25DcmVhdGVkTWVkaWFTb3VyY2UoKTsKICAgICB2
b2lkIG9uVG9wb2xvZ3lTZXQoKTsKICAgICB2b2lkIG9uQnVmZmVyaW5nU3RhcnRlZCgpOwpAQCAt
MTUxLDkgKzE0Niw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBvblNlc3Npb25TdGFydGVkKCk7CiAg
ICAgdm9pZCBvblNlc3Npb25FbmRlZCgpOwogCi0gICAgTFBDV1NUUiByZWdpc3RlclZpZGVvV2lu
ZG93Q2xhc3MoKTsKLSAgICB2b2lkIGNyZWF0ZVZpZGVvV2luZG93KCk7Ci0gICAgdm9pZCBkZXN0
cm95VmlkZW9XaW5kb3coKTsKKyAgICBIV05EIGhvc3RXaW5kb3coKTsKIAogICAgIHZvaWQgaW52
YWxpZGF0ZUZyYW1lVmlldygpOwogCkBAIC0yODEsOCArMjc0LDggQEAgcHJpdmF0ZToKIAogICAg
ICAgICBIUkVTVUxUIHNldFZpZGVvV2luZG93KEhXTkQpOwogICAgICAgICBIV05EIGdldFZpZGVv
V2luZG93KCkgY29uc3QgeyByZXR1cm4gbV9od25kOyB9Ci0gICAgICAgIEhSRVNVTFQgc2V0RGVz
dGluYXRpb25SZWN0KGNvbnN0IFJFQ1QmIGRlc3RSZWN0KTsKLSAgICAgICAgUkVDVCBnZXREZXN0
aW5hdGlvblJlY3QoKSBjb25zdCB7IHJldHVybiBtX2Rlc3RSZWN0OyB9OworICAgICAgICB2b2lk
IHNldERlc3RpbmF0aW9uU2l6ZShjb25zdCBTSVpFJik7CisgICAgICAgIFNJWkUgZGVzdGluYXRp
b25TaXplKCkgY29uc3QgeyByZXR1cm4gbV9kZXN0U2l6ZTsgfTsKIAogICAgICAgICBIUkVTVUxU
IGNyZWF0ZVZpZGVvU2FtcGxlcyhJTUZNZWRpYVR5cGUqIGZvcm1hdCwgVmlkZW9TYW1wbGVMaXN0
JiB2aWRlb1NhbXBsZVF1ZXVlKTsKICAgICAgICAgdm9pZCByZWxlYXNlUmVzb3VyY2VzKCk7CkBA
IC0yOTksMTMgKzI5MiwxMCBAQCBwcml2YXRlOgogICAgICAgICBIUkVTVUxUIGdldFN3YXBDaGFp
blByZXNlbnRQYXJhbWV0ZXJzKElNRk1lZGlhVHlwZSosIEQzRFBSRVNFTlRfUEFSQU1FVEVSUyog
cHJlc2VudFBhcmFtcyk7CiAgICAgICAgIEhSRVNVTFQgY3JlYXRlRDNERGV2aWNlKCk7CiAgICAg
ICAgIEhSRVNVTFQgY3JlYXRlRDNEU2FtcGxlKElEaXJlY3QzRFN3YXBDaGFpbjkqLCBDT01QdHI8
SU1GU2FtcGxlPiYgdmlkZW9TYW1wbGUpOwotICAgICAgICBIUkVTVUxUIHVwZGF0ZURlc3RSZWN0
KCk7Ci0KLSAgICAgICAgSFJFU1VMVCBwcmVzZW50U3dhcENoYWluKElEaXJlY3QzRFN3YXBDaGFp
bjkqLCBJRGlyZWN0M0RTdXJmYWNlOSopOwogCiAgICAgICAgIFVJTlQgbV9kZXZpY2VSZXNldFRv
a2VuIHsgMCB9OwogICAgICAgICBIV05EIG1faHduZCB7IG51bGxwdHIgfTsKLSAgICAgICAgUkVD
VCBtX2Rlc3RSZWN0OworICAgICAgICBTSVpFIG1fZGVzdFNpemU7CiAgICAgICAgIEQzRERJU1BM
QVlNT0RFIG1fZGlzcGxheU1vZGU7CiAKICAgICAgICAgTG9jayBtX2xvY2s7CkBAIC0zMjYsNyAr
MzE2LDYgQEAgcHJpdmF0ZToKICAgICAgICAgLCBwdWJsaWMgSU1GVG9wb2xvZ3lTZXJ2aWNlTG9v
a3VwQ2xpZW50CiAgICAgICAgICwgcHVibGljIElNRkdldFNlcnZpY2UKICAgICAgICAgLCBwdWJs
aWMgSU1GQWN0aXZhdGUKLSAgICAgICAgLCBwdWJsaWMgSU1GVmlkZW9EaXNwbGF5Q29udHJvbAog
ICAgICAgICAsIHB1YmxpYyBJTUZBc3luY0NhbGxiYWNrCiAgICAgICAgICwgcHVibGljIE1lZGlh
UGxheWVyTGlzdGVuZXIgewogICAgIHB1YmxpYzoKQEAgLTM5NSwyMyArMzg0LDggQEAgcHJpdmF0
ZToKICAgICAgICAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBHZXRJdGVtQnlJbmRleChVSU5U
MzIgdW5JbmRleCwgX19SUENfX291dCBHVUlEICpwZ3VpZEtleSwgX19SUENfX2lub3V0X29wdCBQ
Uk9QVkFSSUFOVCAqcFZhbHVlKSBvdmVycmlkZSB7IHJldHVybiBFX05PVElNUEw7IH0KICAgICAg
ICAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBDb3B5QWxsSXRlbXMoX19SUENfX2luX29wdCBJ
TUZBdHRyaWJ1dGVzICpwRGVzdCkgb3ZlcnJpZGUgeyByZXR1cm4gRV9OT1RJTVBMOyB9CiAKLSAg
ICAgICAgLy8gSU1GVmlkZW9EaXNwbGF5Q29udHJvbAotICAgICAgICBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIEdldE5hdGl2ZVZpZGVvU2l6ZShTSVpFKiBwc3pWaWRlbywgU0laRSogcHN6QVJW
aWRlbykgb3ZlcnJpZGUgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgICAgIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgR2V0SWRlYWxWaWRlb1NpemUoU0laRSogcHN6TWluLCBTSVpFKiBwc3pN
YXgpIG92ZXJyaWRlIHsgcmV0dXJuIEVfTk9USU1QTDsgfQotICAgICAgICBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIFNldFZpZGVvUG9zaXRpb24oY29uc3QgTUZWaWRlb05vcm1hbGl6ZWRSZWN0
KiBwbnJjU291cmNlLCBjb25zdCBMUFJFQ1QgcHJjRGVzdCkgb3ZlcnJpZGU7Ci0gICAgICAgIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgR2V0VmlkZW9Qb3NpdGlvbihNRlZpZGVvTm9ybWFsaXpl
ZFJlY3QqIHBucmNTb3VyY2UsIExQUkVDVCBwcmNEZXN0KSBvdmVycmlkZTsKLSAgICAgICAgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBTZXRBc3BlY3RSYXRpb01vZGUoRFdPUkQgZHdBc3BlY3RS
YXRpb01vZGUpIG92ZXJyaWRlIHsgcmV0dXJuIEVfTk9USU1QTDsgfQotICAgICAgICBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIEdldEFzcGVjdFJhdGlvTW9kZShEV09SRCogcGR3QXNwZWN0UmF0
aW9Nb2RlKSBvdmVycmlkZSB7IHJldHVybiBFX05PVElNUEw7IH0KLSAgICAgICAgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBTZXRWaWRlb1dpbmRvdyhIV05EIGh3bmRWaWRlbykgb3ZlcnJpZGU7
Ci0gICAgICAgIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgR2V0VmlkZW9XaW5kb3coSFdORCog
cGh3bmRWaWRlbykgb3ZlcnJpZGU7Ci0gICAgICAgIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
UmVwYWludFZpZGVvKCkgb3ZlcnJpZGU7Ci0gICAgICAgIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgR2V0Q3VycmVudEltYWdlKEJJVE1BUElORk9IRUFERVIqIHBCaWgsIEJZVEUqKiBwRGliLCBE
V09SRCogcGNiRGliLCBMT05HTE9ORyogcFRpbWVTdGFtcCkgb3ZlcnJpZGUgeyByZXR1cm4gRV9O
T1RJTVBMOyB9Ci0gICAgICAgIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgU2V0Qm9yZGVyQ29s
b3IoQ09MT1JSRUYgQ2xyKSBvdmVycmlkZSB7IHJldHVybiBFX05PVElNUEw7IH0KLSAgICAgICAg
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBHZXRCb3JkZXJDb2xvcihDT0xPUlJFRiogcENscikg
b3ZlcnJpZGUgeyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgICAgIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgU2V0UmVuZGVyaW5nUHJlZnMoRFdPUkQgZHdSZW5kZXJGbGFncykgb3ZlcnJpZGUg
eyByZXR1cm4gRV9OT1RJTVBMOyB9Ci0gICAgICAgIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
R2V0UmVuZGVyaW5nUHJlZnMoRFdPUkQqIHBkd1JlbmRlckZsYWdzKSBvdmVycmlkZSB7IHJldHVy
biBFX05PVElNUEw7IH0KLSAgICAgICAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBTZXRGdWxs
c2NyZWVuKEJPT0wgYkZ1bGxzY3JlZW4pIG92ZXJyaWRlIHsgcmV0dXJuIEVfTk9USU1QTDsgfQot
ICAgICAgICBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIEdldEZ1bGxzY3JlZW4oQk9PTCogcGJG
dWxsc2NyZWVuKSBvdmVycmlkZSB7IHJldHVybiBFX05PVElNUEw7IH0KKyAgICAgICAgSFJFU1VM
VCBzZXRWaWRlb1NpemUoY29uc3QgU0laRSYpOworICAgICAgICBIUkVTVUxUIHNldFZpZGVvV2lu
ZG93KEhXTkQgaHduZFZpZGVvKTsKIAogICAgICAgICAvLyBJTUZBc3luY0NhbGxiYWNrIG1ldGhv
ZHMKICAgICAgICAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBHZXRQYXJhbWV0ZXJzKERXT1JE
KiwgRFdPUkQqKSBvdmVycmlkZSB7IHJldHVybiBFX05PVElNUEw7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371571</attachid>
            <date>2019-06-07 00:37:24 -0700</date>
            <delta_ts>2019-06-07 00:44:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198523-20190607163723.patch</filename>
            <type>text/plain</type>
            <size>8417</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2MTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWE5YmI2OTlhODJiMjg4
OWZmMzA1ZDFmNWNiMTA5YTE1Y2I2MjM2Zi4uODFhNGQxMjllYzgzM2E3MWUzZDQ2NTExOTQ1MTMx
ZWJjMGM0MGNmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTA2LTA3ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFtXaW5DYWly
b11bTWVkaWFGb3VuZGF0aW9uXSBSZW1vdmUgdGhlIHVudXNlZCB2aWRlbyB3aW5kb3cKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODUyMworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB0aGUgdmlk
ZW8gd2luZG93IHdoaWNoIGhhZCBiZWVuIHVudXNlZCBzaW5jZSBCdWcgMTUwOTQxLgorCisgICAg
ICAgIE5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dp
bi9NZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpNZWRpYVBsYXllclByaXZhdGVN
ZWRpYUZvdW5kYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFGb3VuZGF0aW9uOjp+TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6c2V0U2l6ZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OnBh
aW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlv
bjo6aG9zdFdpbmRvdyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRp
YUZvdW5kYXRpb246OmNyZWF0ZU91dHB1dE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpWaWRlb1ZpZXdXbmRQcm9jKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6cmVn
aXN0ZXJWaWRlb1dpbmRvd0NsYXNzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6Y3JlYXRlVmlkZW9XaW5kb3cpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpk
ZXN0cm95VmlkZW9XaW5kb3cpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3dpbi9NZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uaDoKKwogMjAxOS0wNi0wNiAg
RGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogVGltZWxpbmVzOiBvbmx5IGNvbXBsZXRlIENvbXBvc2l0ZSByZWNvcmRzIGlmIHRoZSBtX3N0
YXJ0ZWRDb21wb3NpdGUgKGZvbGxvd3VwIHRvIHIyNDYxNDIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3Vu
ZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBs
YXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uY3BwCmluZGV4IDAwYjBkMDg4NGZjMjgyYjFjN2Yy
MjZlY2Q2YWU1MDdhMGE2Zjg1ZWUuLmQ1MGIwZGRkMWQ5ZWI2ODZjNjkzNzk1ZGU3NmI1ZWMyZTM3
YTA0YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9N
ZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24u
Y3BwCkBAIC05MiwxOCArOTIsMTUgQEAgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9u
OjpNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24oTWVkaWFQbGF5ZXIKICAgICAsIG1f
aGFzVmlkZW8oZmFsc2UpCiAgICAgLCBtX3ByZXBhcmluZ1RvUGxheShmYWxzZSkKICAgICAsIG1f
dm9sdW1lKDEuMCkKLSAgICAsIG1faHduZFZpZGVvKG51bGxwdHIpCiAgICAgLCBtX25ldHdvcmtT
dGF0ZShNZWRpYVBsYXllcjo6RW1wdHkpCiAgICAgLCBtX3JlYWR5U3RhdGUoTWVkaWFQbGF5ZXI6
OkhhdmVOb3RoaW5nKQogewogICAgIGNyZWF0ZVNlc3Npb24oKTsKLSAgICBjcmVhdGVWaWRlb1dp
bmRvdygpOwogfQogCiBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246On5NZWRpYVBs
YXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24oKQogewogICAgIG5vdGlmeURlbGV0ZWQoKTsKLSAg
ICBkZXN0cm95VmlkZW9XaW5kb3coKTsKICAgICBlbmRTZXNzaW9uKCk7CiB9CiAKQEAgLTM1OSw4
ICszNTYsNiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6c2V0U2l6
ZShjb25zdCBJbnRTaXplJiBzaXplKQogICAgIGlmICghdmlkZW9EaXNwbGF5KQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBJbnRQb2ludCBwb3NpdGlvbkluV2luZG93KG1fbGFzdFBhaW50UmVjdC5s
b2NhdGlvbigpKTsKLQogICAgIEZyYW1lVmlldyogdmlldyA9IG51bGxwdHI7CiAgICAgZmxvYXQg
ZGV2aWNlU2NhbGVGYWN0b3IgPSAxLjBmOwogICAgIGlmIChtX3BsYXllciAmJiBtX3BsYXllci0+
Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKSAmJiBtX3BsYXllci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIo
KS0+ZG9jdW1lbnQoKSkgewpAQCAtMzY4LDIyICszNjMsOSBAQCB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhRm91bmRhdGlvbjo6c2V0U2l6ZShjb25zdCBJbnRTaXplJiBzaXplKQogICAgICAg
ICBkZXZpY2VTY2FsZUZhY3RvciA9IG1fcGxheWVyLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5k
b2N1bWVudCgpLT5kZXZpY2VTY2FsZUZhY3RvcigpOwogICAgIH0KIAotICAgIExheW91dFBvaW50
IHNjcm9sbFBvc2l0aW9uOwotICAgIGlmICh2aWV3KSB7Ci0gICAgICAgIHNjcm9sbFBvc2l0aW9u
ID0gdmlldy0+c2Nyb2xsUG9zaXRpb25Gb3JGaXhlZFBvc2l0aW9uKCk7Ci0gICAgICAgIHBvc2l0
aW9uSW5XaW5kb3cgPSB2aWV3LT5jb252ZXJ0VG9Db250YWluaW5nV2luZG93KEludFBvaW50KG1f
bGFzdFBhaW50UmVjdC5sb2NhdGlvbigpKSk7Ci0gICAgfQotCi0gICAgcG9zaXRpb25JbldpbmRv
dy5tb3ZlKC1zY3JvbGxQb3NpdGlvbi54KCkudG9JbnQoKSwgLXNjcm9sbFBvc2l0aW9uLnkoKS50
b0ludCgpKTsKLQotICAgIGludCB4ID0gcG9zaXRpb25JbldpbmRvdy54KCkgKiBkZXZpY2VTY2Fs
ZUZhY3RvcjsKLSAgICBpbnQgeSA9IHBvc2l0aW9uSW5XaW5kb3cueSgpICogZGV2aWNlU2NhbGVG
YWN0b3I7CiAgICAgaW50IHcgPSBtX3NpemUud2lkdGgoKSAqIGRldmljZVNjYWxlRmFjdG9yOwog
ICAgIGludCBoID0gbV9zaXplLmhlaWdodCgpICogZGV2aWNlU2NhbGVGYWN0b3I7CiAKLSAgICBp
ZiAobV9od25kVmlkZW8pCi0gICAgICAgIDo6TW92ZVdpbmRvdyhtX2h3bmRWaWRlbywgeCwgeSwg
dywgaCwgRkFMU0UpOwotCiAgICAgUkVDVCByYyA9IHsgMCwgMCwgdywgaCB9OwogICAgIHZpZGVv
RGlzcGxheS0+U2V0VmlkZW9Qb3NpdGlvbihudWxscHRyLCAmcmMpOwogfQpAQCAtMzkzLDggKzM3
NSw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpwYWludChHcmFw
aGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZsCiAgICAgaWYgKGNvbnRleHQucGFpbnRpbmdE
aXNhYmxlZCgpIHx8ICFtX3BsYXllci0+dmlzaWJsZSgpKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBtX2xhc3RQYWludFJlY3QgPSByZWN0OwotCiAgICAgaWYgKG1fcHJlc2VudGVyKQogICAgICAg
ICBtX3ByZXNlbnRlci0+cGFpbnRDdXJyZW50RnJhbWUoY29udGV4dCwgcmVjdCk7CiB9CkBAIC02
NDUsNjQgKzYyNSwxNCBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6
YWRkQnJhbmNoVG9QYXJ0aWFsVG9wb2xvZ3koaW50IHN0cmVhbSkKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAotTFJFU1VMVCBDQUxMQkFDSyBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246
OlZpZGVvVmlld1duZFByb2MoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0s
IExQQVJBTSBsUGFyYW0pCi17Ci0gICAgcmV0dXJuIERlZldpbmRvd1Byb2MoaFduZCwgbWVzc2Fn
ZSwgd1BhcmFtLCBsUGFyYW0pOwotfQotCi1MUENXU1RSIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
Rm91bmRhdGlvbjo6cmVnaXN0ZXJWaWRlb1dpbmRvd0NsYXNzKCkKLXsKLSAgICBjb25zdCBMUENX
U1RSIGtWaWRlb1dpbmRvd0NsYXNzTmFtZSA9IEwiV2ViVmlkZW9XaW5kb3dDbGFzcyI7Ci0KLSAg
ICBzdGF0aWMgYm9vbCBoYXZlUmVnaXN0ZXJlZFdpbmRvd0NsYXNzID0gZmFsc2U7Ci0gICAgaWYg
KGhhdmVSZWdpc3RlcmVkV2luZG93Q2xhc3MpCi0gICAgICAgIHJldHVybiBrVmlkZW9XaW5kb3dD
bGFzc05hbWU7Ci0KLSAgICBoYXZlUmVnaXN0ZXJlZFdpbmRvd0NsYXNzID0gdHJ1ZTsKLQotICAg
IFdORENMQVNTRVggd2NleDsKLQotICAgIHdjZXguY2JTaXplID0gc2l6ZW9mKFdORENMQVNTRVgp
OwotCi0gICAgd2NleC5zdHlsZSA9IENTX0RCTENMS1M7Ci0gICAgd2NleC5scGZuV25kUHJvYyA9
IFZpZGVvVmlld1duZFByb2M7Ci0gICAgd2NleC5jYkNsc0V4dHJhID0gMDsKLSAgICB3Y2V4LmNi
V25kRXh0cmEgPSAwOwotICAgIHdjZXguaEluc3RhbmNlID0gbnVsbHB0cjsKLSAgICB3Y2V4LmhJ
Y29uID0gbnVsbHB0cjsKLSAgICB3Y2V4LmhDdXJzb3IgPSA6OkxvYWRDdXJzb3IoMCwgSURDX0FS
Uk9XKTsKLSAgICB3Y2V4LmhickJhY2tncm91bmQgPSBudWxscHRyOwotICAgIHdjZXgubHBzek1l
bnVOYW1lID0gbnVsbHB0cjsKLSAgICB3Y2V4Lmxwc3pDbGFzc05hbWUgPSBrVmlkZW9XaW5kb3dD
bGFzc05hbWU7Ci0gICAgd2NleC5oSWNvblNtID0gbnVsbHB0cjsKLQotICAgIGlmIChSZWdpc3Rl
ckNsYXNzRXgoJndjZXgpKQotICAgICAgICByZXR1cm4ga1ZpZGVvV2luZG93Q2xhc3NOYW1lOwot
Ci0gICAgcmV0dXJuIG51bGxwdHI7Ci19Ci0KLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFG
b3VuZGF0aW9uOjpjcmVhdGVWaWRlb1dpbmRvdygpCi17Ci0gICAgSFdORCBoV25kUGFyZW50ID0g
bnVsbHB0cjsKLSAgICBGcmFtZVZpZXcqIHZpZXcgPSBudWxscHRyOwotICAgIGlmICghbV9wbGF5
ZXIgfHwgIW1fcGxheWVyLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpIHx8ICFtX3BsYXllci0+Y2Fj
aGVkUmVzb3VyY2VMb2FkZXIoKS0+ZG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIHZp
ZXcgPSBtX3BsYXllci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+ZG9jdW1lbnQoKS0+dmlldygp
OwotICAgIGlmICghdmlldyB8fCAhdmlldy0+aG9zdFdpbmRvdygpKQotICAgICAgICByZXR1cm47
Ci0gICAgaFduZFBhcmVudCA9IHZpZXctPmhvc3RXaW5kb3coKS0+cGxhdGZvcm1QYWdlQ2xpZW50
KCk7Ci0KLSAgICBtX2h3bmRWaWRlbyA9IENyZWF0ZVdpbmRvd0V4KFdTX0VYX05PQUNUSVZBVEUg
fCBXU19FWF9UUkFOU1BBUkVOVCwgcmVnaXN0ZXJWaWRlb1dpbmRvd0NsYXNzKCksIDAsIFdTX0NI
SUxEIHwgV1NfQ0xJUFNJQkxJTkdTIHwgV1NfQ0xJUENISUxEUkVOLAotICAgICAgICAwLCAwLCAw
LCAwLCBoV25kUGFyZW50LCAwLCAwLCAwKTsKLX0KLQotdm9pZCBNZWRpYVBsYXllclByaXZhdGVN
ZWRpYUZvdW5kYXRpb246OmRlc3Ryb3lWaWRlb1dpbmRvdygpCitIV05EIE1lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhRm91bmRhdGlvbjo6aG9zdFdpbmRvdygpCiB7Ci0gICAgaWYgKG1faHduZFZpZGVv
KSB7Ci0gICAgICAgIERlc3Ryb3lXaW5kb3cobV9od25kVmlkZW8pOwotICAgICAgICBtX2h3bmRW
aWRlbyA9IG51bGxwdHI7CisgICAgaWYgKG1fcGxheWVyICYmIG1fcGxheWVyLT5jYWNoZWRSZXNv
dXJjZUxvYWRlcigpICYmICFtX3BsYXllci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+ZG9jdW1l
bnQoKSkgeworICAgICAgICBhdXRvKiB2aWV3ID0gbV9wbGF5ZXItPmNhY2hlZFJlc291cmNlTG9h
ZGVyKCktPmRvY3VtZW50KCktPnZpZXcoKTsKKyAgICAgICAgaWYgKHZpZXcgJiYgdmlldy0+aG9z
dFdpbmRvdygpICYmIHZpZXctPmhvc3RXaW5kb3coKS0+cGxhdGZvcm1QYWdlQ2xpZW50KCkpCisg
ICAgICAgICAgICByZXR1cm4gdmlldy0+aG9zdFdpbmRvdygpLT5wbGF0Zm9ybVBhZ2VDbGllbnQo
KTsKICAgICB9CisgICAgcmV0dXJuIEdldERlc2t0b3BXaW5kb3coKTsKIH0KIAogdm9pZCBNZWRp
YVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OmludmFsaWRhdGVGcmFtZVZpZXcoKQpAQCAt
Nzg0LDcgKzcxNCw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpj
cmVhdGVPdXRwdXROb2RlKENPTVB0cjxJTUZTdHJlYW1EZXNjcmlwCiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAKICAgICAgICAgbV9wcmVzZW50ZXIgPSBuZXcgQ3VzdG9tVmlkZW9QcmVzZW50
ZXIodGhpcyk7Ci0gICAgICAgIG1fcHJlc2VudGVyLT5TZXRWaWRlb1dpbmRvdyhtX2h3bmRWaWRl
byk7CisgICAgICAgIG1fcHJlc2VudGVyLT5TZXRWaWRlb1dpbmRvdyhob3N0V2luZG93KCkpOwog
ICAgICAgICBpZiAoRkFJTEVEKHJlbmRlcmVyQWN0aXZhdGUtPlNldFVua25vd24oTUZfQUNUSVZB
VEVfQ1VTVE9NX1ZJREVPX1BSRVNFTlRFUl9BQ1RJVkFURSwgc3RhdGljX2Nhc3Q8SU1GQWN0aXZh
dGUqPihtX3ByZXNlbnRlci5nZXQoKSkpKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICAgICAgbV9oYXNWaWRlbyA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFGb3VuZGF0aW9uLmgKaW5kZXggZDg1ZjE3NTkwMjA2YzE3ODRmZWEyNGViNjZmYjhlNWFmMDkx
NmE3Mi4uNWNiNTE3Y2YyZjNhYzVlOWY1Nzk2MjBiMmFjNGYxMTQ2MTAxMmY4ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhRm91bmRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9NZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uaApAQCAtMTEwLDEwICsxMTAs
OCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9oYXNWaWRlbzsKICAgICBib29sIG1fcHJlcGFyaW5n
VG9QbGF5OwogICAgIGZsb2F0IG1fdm9sdW1lOwotICAgIEhXTkQgbV9od25kVmlkZW87CiAgICAg
TWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZSBtX25ldHdvcmtTdGF0ZTsKICAgICBNZWRpYVBsYXll
cjo6UmVhZHlTdGF0ZSBtX3JlYWR5U3RhdGU7Ci0gICAgRmxvYXRSZWN0IG1fbGFzdFBhaW50UmVj
dDsKIAogICAgIGNsYXNzIE1lZGlhUGxheWVyTGlzdGVuZXI7CiAgICAgSGFzaFNldDxNZWRpYVBs
YXllckxpc3RlbmVyKj4gbV9saXN0ZW5lcnM7CkBAIC0xNTEsMTAgKzE0OSw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBvblNlc3Npb25TdGFydGVkKCk7CiAgICAgdm9pZCBvblNlc3Npb25FbmRlZCgp
OwogCi0gICAgTFBDV1NUUiByZWdpc3RlclZpZGVvV2luZG93Q2xhc3MoKTsKLSAgICB2b2lkIGNy
ZWF0ZVZpZGVvV2luZG93KCk7Ci0gICAgdm9pZCBkZXN0cm95VmlkZW9XaW5kb3coKTsKLQorICAg
IEhXTkQgaG9zdFdpbmRvdygpOwogICAgIHZvaWQgaW52YWxpZGF0ZUZyYW1lVmlldygpOwogCiAg
ICAgdm9pZCBhZGRMaXN0ZW5lcihNZWRpYVBsYXllckxpc3RlbmVyKik7CkBAIC0xNjIsOCArMTU3
LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldE5hdHVyYWxTaXplKGNvbnN0IEZsb2F0U2l6ZSYp
OwogICAgIHZvaWQgbm90aWZ5RGVsZXRlZCgpOwogCi0gICAgc3RhdGljIExSRVNVTFQgQ0FMTEJB
Q0sgVmlkZW9WaWV3V25kUHJvYyhIV05EIGhXbmQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJh
bSwgTFBBUkFNIGxQYXJhbSk7Ci0KICAgICBib29sIHNldEFsbENoYW5uZWxWb2x1bWVzKGZsb2F0
KTsKIAogICAgIGNsYXNzIE1lZGlhUGxheWVyTGlzdGVuZXIgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371573</attachid>
            <date>2019-06-07 00:49:23 -0700</date>
            <delta_ts>2019-06-10 18:14:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198523-20190607164922.patch</filename>
            <type>text/plain</type>
            <size>11993</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2MTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWE5YmI2OTlhODJiMjg4
OWZmMzA1ZDFmNWNiMTA5YTE1Y2I2MjM2Zi4uNTE0NjlhZDE4ZTc2MmVlMmNkMTI2NDgwM2UzZDVh
MGI3OGUyNTYxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE5LTA2LTA3ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFtXaW5DYWly
b11bTWVkaWFGb3VuZGF0aW9uXSBSZW1vdmUgdGhlIHVudXNlZCB2aWRlbyB3aW5kb3cKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODUyMworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB0aGUgdmlk
ZW8gd2luZG93IHdoaWNoIGhhZCBiZWVuIHVudXNlZCBzaW5jZSBCdWcgMTUwOTQxLgorCisgICAg
ICAgIE5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dp
bi9NZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpNZWRpYVBsYXllclByaXZhdGVN
ZWRpYUZvdW5kYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFGb3VuZGF0aW9uOjp+TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6c2V0U2l6ZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OnBh
aW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlv
bjo6aG9zdFdpbmRvdyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRp
YUZvdW5kYXRpb246OmNyZWF0ZU91dHB1dE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpEaXJlY3QzRFByZXNlbnRlcjo6c2V0VmlkZW9X
aW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0
aW9uOjpEaXJlY3QzRFByZXNlbnRlcjo6c2V0RGVzdGluYXRpb25SZWN0KToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6RGlyZWN0M0RQcmVzZW50
ZXI6OmNyZWF0ZVZpZGVvU2FtcGxlcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVNZWRpYUZvdW5kYXRpb246OkRpcmVjdDNEUHJlc2VudGVyOjpwcmVzZW50U2FtcGxlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6Vmlk
ZW9WaWV3V25kUHJvYyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVNZWRpYUZvdW5kYXRpb246OnJlZ2lzdGVyVmlkZW9XaW5kb3dDbGFzcyk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OmNy
ZWF0ZVZpZGVvV2luZG93KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6ZGVzdHJveVZpZGVvV2luZG93KTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6RGlyZWN0
M0RQcmVzZW50ZXI6OnByZXNlbnRTd2FwQ2hhaW4pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpEaXJlY3QzRFByZXNlbnRlcjo6
dXBkYXRlRGVzdFJlY3QpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dp
bi9NZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uaDoKKwogMjAxOS0wNi0wNiAgRGV2
aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
VGltZWxpbmVzOiBvbmx5IGNvbXBsZXRlIENvbXBvc2l0ZSByZWNvcmRzIGlmIHRoZSBtX3N0YXJ0
ZWRDb21wb3NpdGUgKGZvbGxvd3VwIHRvIHIyNDYxNDIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXll
clByaXZhdGVNZWRpYUZvdW5kYXRpb24uY3BwCmluZGV4IDAwYjBkMDg4NGZjMjgyYjFjN2YyMjZl
Y2Q2YWU1MDdhMGE2Zjg1ZWUuLmM2ZmE2ZDRhYWEwNDcxYmNhZDg4MGRmODgyMTJlYjg2ZmIzMTFh
NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRp
YVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9NZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uY3Bw
CkBAIC05MiwxOCArOTIsMTUgQEAgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpN
ZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24oTWVkaWFQbGF5ZXIKICAgICAsIG1faGFz
VmlkZW8oZmFsc2UpCiAgICAgLCBtX3ByZXBhcmluZ1RvUGxheShmYWxzZSkKICAgICAsIG1fdm9s
dW1lKDEuMCkKLSAgICAsIG1faHduZFZpZGVvKG51bGxwdHIpCiAgICAgLCBtX25ldHdvcmtTdGF0
ZShNZWRpYVBsYXllcjo6RW1wdHkpCiAgICAgLCBtX3JlYWR5U3RhdGUoTWVkaWFQbGF5ZXI6Okhh
dmVOb3RoaW5nKQogewogICAgIGNyZWF0ZVNlc3Npb24oKTsKLSAgICBjcmVhdGVWaWRlb1dpbmRv
dygpOwogfQogCiBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246On5NZWRpYVBsYXll
clByaXZhdGVNZWRpYUZvdW5kYXRpb24oKQogewogICAgIG5vdGlmeURlbGV0ZWQoKTsKLSAgICBk
ZXN0cm95VmlkZW9XaW5kb3coKTsKICAgICBlbmRTZXNzaW9uKCk7CiB9CiAKQEAgLTM1OSw4ICsz
NTYsNiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6c2V0U2l6ZShj
b25zdCBJbnRTaXplJiBzaXplKQogICAgIGlmICghdmlkZW9EaXNwbGF5KQogICAgICAgICByZXR1
cm47CiAKLSAgICBJbnRQb2ludCBwb3NpdGlvbkluV2luZG93KG1fbGFzdFBhaW50UmVjdC5sb2Nh
dGlvbigpKTsKLQogICAgIEZyYW1lVmlldyogdmlldyA9IG51bGxwdHI7CiAgICAgZmxvYXQgZGV2
aWNlU2NhbGVGYWN0b3IgPSAxLjBmOwogICAgIGlmIChtX3BsYXllciAmJiBtX3BsYXllci0+Y2Fj
aGVkUmVzb3VyY2VMb2FkZXIoKSAmJiBtX3BsYXllci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+
ZG9jdW1lbnQoKSkgewpAQCAtMzY4LDIyICszNjMsOSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhRm91bmRhdGlvbjo6c2V0U2l6ZShjb25zdCBJbnRTaXplJiBzaXplKQogICAgICAgICBk
ZXZpY2VTY2FsZUZhY3RvciA9IG1fcGxheWVyLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5kb2N1
bWVudCgpLT5kZXZpY2VTY2FsZUZhY3RvcigpOwogICAgIH0KIAotICAgIExheW91dFBvaW50IHNj
cm9sbFBvc2l0aW9uOwotICAgIGlmICh2aWV3KSB7Ci0gICAgICAgIHNjcm9sbFBvc2l0aW9uID0g
dmlldy0+c2Nyb2xsUG9zaXRpb25Gb3JGaXhlZFBvc2l0aW9uKCk7Ci0gICAgICAgIHBvc2l0aW9u
SW5XaW5kb3cgPSB2aWV3LT5jb252ZXJ0VG9Db250YWluaW5nV2luZG93KEludFBvaW50KG1fbGFz
dFBhaW50UmVjdC5sb2NhdGlvbigpKSk7Ci0gICAgfQotCi0gICAgcG9zaXRpb25JbldpbmRvdy5t
b3ZlKC1zY3JvbGxQb3NpdGlvbi54KCkudG9JbnQoKSwgLXNjcm9sbFBvc2l0aW9uLnkoKS50b0lu
dCgpKTsKLQotICAgIGludCB4ID0gcG9zaXRpb25JbldpbmRvdy54KCkgKiBkZXZpY2VTY2FsZUZh
Y3RvcjsKLSAgICBpbnQgeSA9IHBvc2l0aW9uSW5XaW5kb3cueSgpICogZGV2aWNlU2NhbGVGYWN0
b3I7CiAgICAgaW50IHcgPSBtX3NpemUud2lkdGgoKSAqIGRldmljZVNjYWxlRmFjdG9yOwogICAg
IGludCBoID0gbV9zaXplLmhlaWdodCgpICogZGV2aWNlU2NhbGVGYWN0b3I7CiAKLSAgICBpZiAo
bV9od25kVmlkZW8pCi0gICAgICAgIDo6TW92ZVdpbmRvdyhtX2h3bmRWaWRlbywgeCwgeSwgdywg
aCwgRkFMU0UpOwotCiAgICAgUkVDVCByYyA9IHsgMCwgMCwgdywgaCB9OwogICAgIHZpZGVvRGlz
cGxheS0+U2V0VmlkZW9Qb3NpdGlvbihudWxscHRyLCAmcmMpOwogfQpAQCAtMzkzLDggKzM3NSw2
IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpwYWludChHcmFwaGlj
c0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZsCiAgICAgaWYgKGNvbnRleHQucGFpbnRpbmdEaXNh
YmxlZCgpIHx8ICFtX3BsYXllci0+dmlzaWJsZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBt
X2xhc3RQYWludFJlY3QgPSByZWN0OwotCiAgICAgaWYgKG1fcHJlc2VudGVyKQogICAgICAgICBt
X3ByZXNlbnRlci0+cGFpbnRDdXJyZW50RnJhbWUoY29udGV4dCwgcmVjdCk7CiB9CkBAIC02NDUs
NjQgKzYyNSwxNCBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6YWRk
QnJhbmNoVG9QYXJ0aWFsVG9wb2xvZ3koaW50IHN0cmVhbSkKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IAotTFJFU1VMVCBDQUxMQkFDSyBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OlZp
ZGVvVmlld1duZFByb2MoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQ
QVJBTSBsUGFyYW0pCi17Ci0gICAgcmV0dXJuIERlZldpbmRvd1Byb2MoaFduZCwgbWVzc2FnZSwg
d1BhcmFtLCBsUGFyYW0pOwotfQotCi1MUENXU1RSIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91
bmRhdGlvbjo6cmVnaXN0ZXJWaWRlb1dpbmRvd0NsYXNzKCkKLXsKLSAgICBjb25zdCBMUENXU1RS
IGtWaWRlb1dpbmRvd0NsYXNzTmFtZSA9IEwiV2ViVmlkZW9XaW5kb3dDbGFzcyI7Ci0KLSAgICBz
dGF0aWMgYm9vbCBoYXZlUmVnaXN0ZXJlZFdpbmRvd0NsYXNzID0gZmFsc2U7Ci0gICAgaWYgKGhh
dmVSZWdpc3RlcmVkV2luZG93Q2xhc3MpCi0gICAgICAgIHJldHVybiBrVmlkZW9XaW5kb3dDbGFz
c05hbWU7Ci0KLSAgICBoYXZlUmVnaXN0ZXJlZFdpbmRvd0NsYXNzID0gdHJ1ZTsKLQotICAgIFdO
RENMQVNTRVggd2NleDsKLQotICAgIHdjZXguY2JTaXplID0gc2l6ZW9mKFdORENMQVNTRVgpOwot
Ci0gICAgd2NleC5zdHlsZSA9IENTX0RCTENMS1M7Ci0gICAgd2NleC5scGZuV25kUHJvYyA9IFZp
ZGVvVmlld1duZFByb2M7Ci0gICAgd2NleC5jYkNsc0V4dHJhID0gMDsKLSAgICB3Y2V4LmNiV25k
RXh0cmEgPSAwOwotICAgIHdjZXguaEluc3RhbmNlID0gbnVsbHB0cjsKLSAgICB3Y2V4LmhJY29u
ID0gbnVsbHB0cjsKLSAgICB3Y2V4LmhDdXJzb3IgPSA6OkxvYWRDdXJzb3IoMCwgSURDX0FSUk9X
KTsKLSAgICB3Y2V4LmhickJhY2tncm91bmQgPSBudWxscHRyOwotICAgIHdjZXgubHBzek1lbnVO
YW1lID0gbnVsbHB0cjsKLSAgICB3Y2V4Lmxwc3pDbGFzc05hbWUgPSBrVmlkZW9XaW5kb3dDbGFz
c05hbWU7Ci0gICAgd2NleC5oSWNvblNtID0gbnVsbHB0cjsKLQotICAgIGlmIChSZWdpc3RlckNs
YXNzRXgoJndjZXgpKQotICAgICAgICByZXR1cm4ga1ZpZGVvV2luZG93Q2xhc3NOYW1lOwotCi0g
ICAgcmV0dXJuIG51bGxwdHI7Ci19Ci0KLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3Vu
ZGF0aW9uOjpjcmVhdGVWaWRlb1dpbmRvdygpCi17Ci0gICAgSFdORCBoV25kUGFyZW50ID0gbnVs
bHB0cjsKLSAgICBGcmFtZVZpZXcqIHZpZXcgPSBudWxscHRyOwotICAgIGlmICghbV9wbGF5ZXIg
fHwgIW1fcGxheWVyLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpIHx8ICFtX3BsYXllci0+Y2FjaGVk
UmVzb3VyY2VMb2FkZXIoKS0+ZG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIHZpZXcg
PSBtX3BsYXllci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+ZG9jdW1lbnQoKS0+dmlldygpOwot
ICAgIGlmICghdmlldyB8fCAhdmlldy0+aG9zdFdpbmRvdygpKQotICAgICAgICByZXR1cm47Ci0g
ICAgaFduZFBhcmVudCA9IHZpZXctPmhvc3RXaW5kb3coKS0+cGxhdGZvcm1QYWdlQ2xpZW50KCk7
Ci0KLSAgICBtX2h3bmRWaWRlbyA9IENyZWF0ZVdpbmRvd0V4KFdTX0VYX05PQUNUSVZBVEUgfCBX
U19FWF9UUkFOU1BBUkVOVCwgcmVnaXN0ZXJWaWRlb1dpbmRvd0NsYXNzKCksIDAsIFdTX0NISUxE
IHwgV1NfQ0xJUFNJQkxJTkdTIHwgV1NfQ0xJUENISUxEUkVOLAotICAgICAgICAwLCAwLCAwLCAw
LCBoV25kUGFyZW50LCAwLCAwLCAwKTsKLX0KLQotdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRp
YUZvdW5kYXRpb246OmRlc3Ryb3lWaWRlb1dpbmRvdygpCitIV05EIE1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhRm91bmRhdGlvbjo6aG9zdFdpbmRvdygpCiB7Ci0gICAgaWYgKG1faHduZFZpZGVvKSB7
Ci0gICAgICAgIERlc3Ryb3lXaW5kb3cobV9od25kVmlkZW8pOwotICAgICAgICBtX2h3bmRWaWRl
byA9IG51bGxwdHI7CisgICAgaWYgKG1fcGxheWVyICYmIG1fcGxheWVyLT5jYWNoZWRSZXNvdXJj
ZUxvYWRlcigpICYmICFtX3BsYXllci0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+ZG9jdW1lbnQo
KSkgeworICAgICAgICBhdXRvKiB2aWV3ID0gbV9wbGF5ZXItPmNhY2hlZFJlc291cmNlTG9hZGVy
KCktPmRvY3VtZW50KCktPnZpZXcoKTsKKyAgICAgICAgaWYgKHZpZXcgJiYgdmlldy0+aG9zdFdp
bmRvdygpICYmIHZpZXctPmhvc3RXaW5kb3coKS0+cGxhdGZvcm1QYWdlQ2xpZW50KCkpCisgICAg
ICAgICAgICByZXR1cm4gdmlldy0+aG9zdFdpbmRvdygpLT5wbGF0Zm9ybVBhZ2VDbGllbnQoKTsK
ICAgICB9CisgICAgcmV0dXJuIEdldERlc2t0b3BXaW5kb3coKTsKIH0KIAogdm9pZCBNZWRpYVBs
YXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OmludmFsaWRhdGVGcmFtZVZpZXcoKQpAQCAtNzg0
LDcgKzcxNCw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpjcmVh
dGVPdXRwdXROb2RlKENPTVB0cjxJTUZTdHJlYW1EZXNjcmlwCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKICAgICAgICAgbV9wcmVzZW50ZXIgPSBuZXcgQ3VzdG9tVmlkZW9QcmVzZW50ZXIo
dGhpcyk7Ci0gICAgICAgIG1fcHJlc2VudGVyLT5TZXRWaWRlb1dpbmRvdyhtX2h3bmRWaWRlbyk7
CisgICAgICAgIG1fcHJlc2VudGVyLT5TZXRWaWRlb1dpbmRvdyhob3N0V2luZG93KCkpOwogICAg
ICAgICBpZiAoRkFJTEVEKHJlbmRlcmVyQWN0aXZhdGUtPlNldFVua25vd24oTUZfQUNUSVZBVEVf
Q1VTVE9NX1ZJREVPX1BSRVNFTlRFUl9BQ1RJVkFURSwgc3RhdGljX2Nhc3Q8SU1GQWN0aXZhdGUq
PihtX3ByZXNlbnRlci5nZXQoKSkpKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAg
ICAgbV9oYXNWaWRlbyA9IHRydWU7CkBAIC0yNzQ4LDcgKzI2NzgsNiBAQCBIUkVTVUxUIE1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6RGlyZWN0M0RQcmVzZW50ZXI6OnNldFZpZGVv
V2luZG93KEhXTgogICAgIHsKICAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9sb2NrKTsKICAg
ICAgICAgbV9od25kID0gaHduZDsKLSAgICAgICAgdXBkYXRlRGVzdFJlY3QoKTsKICAgICB9CiAK
ICAgICByZXR1cm4gY3JlYXRlRDNERGV2aWNlKCk7CkBAIC0yNzYyLDcgKzI2OTEsNiBAQCBIUkVT
VUxUIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6RGlyZWN0M0RQcmVzZW50ZXI6
OnNldERlc3RpbmF0aW9uUmVjdAogICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fbG9jayk7CiAKICAg
ICBtX2Rlc3RSZWN0ID0gcmNEZXN0OwotICAgIHVwZGF0ZURlc3RSZWN0KCk7CiAKICAgICByZXR1
cm4gU19PSzsKIH0KQEAgLTI3OTMsOCArMjcyMSw2IEBAIEhSRVNVTFQgTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFGb3VuZGF0aW9uOjpEaXJlY3QzRFByZXNlbnRlcjo6Y3JlYXRlVmlkZW9TYW1wbGVz
CiAgICAgICAgIHJldHVybiBocjsKICAgICB9CiAKLSAgICB1cGRhdGVEZXN0UmVjdCgpOwotCiAg
ICAgc3RhdGljIGNvbnN0IGludCBwcmVzZW50ZXJCdWZmZXJDb3VudCA9IDM7CiAKICAgICBmb3Ig
KGludCBpID0gMDsgaSA8IHByZXNlbnRlckJ1ZmZlckNvdW50OyBpKyspIHsKQEAgLTI5MDIsMTMg
KzI4MjgsNiBAQCBIUkVTVUxUIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhRm91bmRhdGlvbjo6RGly
ZWN0M0RQcmVzZW50ZXI6OnByZXNlbnRTYW1wbGUoSU1GUwogICAgICAgICAgICAgfQogICAgICAg
ICB9CiAKLSAgICAgICAgLy8gU2luY2Ugd2Ugd2FudCB0byBkcmF3IHRvIHRoZSBHcmFwaGljc0Nv
bnRleHQgcHJvdmlkZWQgaW4gdGhlIHBhaW50IG1ldGhvZCwKLSAgICAgICAgLy8gYW5kIG5vdCBk
cmF3IGRpcmVjdGx5IHRvIHRoZSB3aW5kb3csIHdlIHNraXAgcHJlc2VudGluZyB0aGUgc3dhcCBj
aGFpbjoKLQotICAgICAgICAvLyBDT01QdHI8SURpcmVjdDNEU3dhcENoYWluOT4gc3dhcENoYWlu
OwotICAgICAgICAvLyBociA9IHN1cmZhY2UtPkdldENvbnRhaW5lcihfX3V1aWRvZihJRGlyZWN0
M0RTd2FwQ2hhaW45KSwgKExQVk9JRCopJnN3YXBDaGFpbikpOwotICAgICAgICAvLyBociA9IHBy
ZXNlbnRTd2FwQ2hhaW4oc3dhcENoYWluLCBzdXJmYWNlKSk7Ci0KICAgICAgICAgLy8gS2VlcCB0
aGUgbGFzdCBzdXJmYWNlIGZvciByZXBhaW50cy4KICAgICAgICAgbV9zdXJmYWNlUmVwYWludCA9
IHN1cmZhY2U7CiAgICAgfQpAQCAtMzA3NCwxNCArMjk5Myw2IEBAIEhSRVNVTFQgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uOjpEaXJlY3QzRFByZXNlbnRlcjo6Y3JlYXRlRDNEU2Ft
cGxlKElECiAgICAgcmV0dXJuIE1GQ3JlYXRlVmlkZW9TYW1wbGVGcm9tU3VyZmFjZVB0cigpKHN1
cmZhY2UuZ2V0KCksICZ2aWRlb1NhbXBsZSk7CiB9CiAKLUhSRVNVTFQgTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFGb3VuZGF0aW9uOjpEaXJlY3QzRFByZXNlbnRlcjo6cHJlc2VudFN3YXBDaGFpbihJ
RGlyZWN0M0RTd2FwQ2hhaW45KiBzd2FwQ2hhaW4sIElEaXJlY3QzRFN1cmZhY2U5KiBzdXJmYWNl
KQotewotICAgIGlmICghbV9od25kKQotICAgICAgICByZXR1cm4gTUZfRV9JTlZBTElEUkVRVUVT
VDsKLQotICAgIHJldHVybiBzd2FwQ2hhaW4tPlByZXNlbnQobnVsbHB0ciwgJm1fZGVzdFJlY3Qs
IG1faHduZCwgbnVsbHB0ciwgMCk7Ci19Ci0KIEhSRVNVTFQgTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFGb3VuZGF0aW9uOjpEaXJlY3QzRFByZXNlbnRlcjo6Z2V0U3dhcENoYWluUHJlc2VudFBhcmFt
ZXRlcnMoSU1GTWVkaWFUeXBlKiB0eXBlLCBEM0RQUkVTRU5UX1BBUkFNRVRFUlMqIHByZXNlbnRQ
YXJhbXMpCiB7CiAgICAgaWYgKCFtX2h3bmQpCkBAIC0zMTIyLDI1ICszMDMzLDYgQEAgSFJFU1VM
VCBNZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OkRpcmVjdDNEUHJlc2VudGVyOjpn
ZXRTd2FwQ2hhaW5QcmVzZW4KICAgICByZXR1cm4gU19PSzsKIH0KIAotSFJFU1VMVCBNZWRpYVBs
YXllclByaXZhdGVNZWRpYUZvdW5kYXRpb246OkRpcmVjdDNEUHJlc2VudGVyOjp1cGRhdGVEZXN0
UmVjdCgpCi17Ci0gICAgaWYgKCFtX2h3bmQpCi0gICAgICAgIHJldHVybiBTX0ZBTFNFOwotCi0g
ICAgUkVDVCByY1ZpZXc7Ci0gICAgaWYgKCFHZXRDbGllbnRSZWN0KG1faHduZCwgJnJjVmlldykp
Ci0gICAgICAgIHJldHVybiBFX0ZBSUw7Ci0KLSAgICAvLyBDbGlwIHRvIHRoZSBjbGllbnQgYXJl
YSBvZiB0aGUgd2luZG93LgotICAgIGlmIChtX2Rlc3RSZWN0LnJpZ2h0ID4gcmNWaWV3LnJpZ2h0
KQotICAgICAgICBtX2Rlc3RSZWN0LnJpZ2h0ID0gcmNWaWV3LnJpZ2h0OwotCi0gICAgaWYgKG1f
ZGVzdFJlY3QuYm90dG9tID4gcmNWaWV3LmJvdHRvbSkKLSAgICAgICAgbV9kZXN0UmVjdC5ib3R0
b20gPSByY1ZpZXcuYm90dG9tOwotCi0gICAgcmV0dXJuIFNfT0s7Ci19Ci0KIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFGb3VuZGF0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFG
b3VuZGF0aW9uLmgKaW5kZXggZDg1ZjE3NTkwMjA2YzE3ODRmZWEyNGViNjZmYjhlNWFmMDkxNmE3
Mi4uNDRiZTYzNjExZDEyNmFiYTk1ODc0YzE1NzdlMzZiZDk1YjVjMWY1NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL01lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhRm91bmRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9NZWRpYVBsYXllclByaXZhdGVNZWRpYUZvdW5kYXRpb24uaApAQCAtMTEwLDEwICsxMTAsOCBA
QCBwcml2YXRlOgogICAgIGJvb2wgbV9oYXNWaWRlbzsKICAgICBib29sIG1fcHJlcGFyaW5nVG9Q
bGF5OwogICAgIGZsb2F0IG1fdm9sdW1lOwotICAgIEhXTkQgbV9od25kVmlkZW87CiAgICAgTWVk
aWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZSBtX25ldHdvcmtTdGF0ZTsKICAgICBNZWRpYVBsYXllcjo6
UmVhZHlTdGF0ZSBtX3JlYWR5U3RhdGU7Ci0gICAgRmxvYXRSZWN0IG1fbGFzdFBhaW50UmVjdDsK
IAogICAgIGNsYXNzIE1lZGlhUGxheWVyTGlzdGVuZXI7CiAgICAgSGFzaFNldDxNZWRpYVBsYXll
ckxpc3RlbmVyKj4gbV9saXN0ZW5lcnM7CkBAIC0xNTEsMTAgKzE0OSw3IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBvblNlc3Npb25TdGFydGVkKCk7CiAgICAgdm9pZCBvblNlc3Npb25FbmRlZCgpOwog
Ci0gICAgTFBDV1NUUiByZWdpc3RlclZpZGVvV2luZG93Q2xhc3MoKTsKLSAgICB2b2lkIGNyZWF0
ZVZpZGVvV2luZG93KCk7Ci0gICAgdm9pZCBkZXN0cm95VmlkZW9XaW5kb3coKTsKLQorICAgIEhX
TkQgaG9zdFdpbmRvdygpOwogICAgIHZvaWQgaW52YWxpZGF0ZUZyYW1lVmlldygpOwogCiAgICAg
dm9pZCBhZGRMaXN0ZW5lcihNZWRpYVBsYXllckxpc3RlbmVyKik7CkBAIC0xNjIsOCArMTU3LDYg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHNldE5hdHVyYWxTaXplKGNvbnN0IEZsb2F0U2l6ZSYpOwog
ICAgIHZvaWQgbm90aWZ5RGVsZXRlZCgpOwogCi0gICAgc3RhdGljIExSRVNVTFQgQ0FMTEJBQ0sg
VmlkZW9WaWV3V25kUHJvYyhIV05EIGhXbmQsIFVJTlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhbSwg
TFBBUkFNIGxQYXJhbSk7Ci0KICAgICBib29sIHNldEFsbENoYW5uZWxWb2x1bWVzKGZsb2F0KTsK
IAogICAgIGNsYXNzIE1lZGlhUGxheWVyTGlzdGVuZXIgewpAQCAtMjk5LDkgKzI5Miw2IEBAIHBy
aXZhdGU6CiAgICAgICAgIEhSRVNVTFQgZ2V0U3dhcENoYWluUHJlc2VudFBhcmFtZXRlcnMoSU1G
TWVkaWFUeXBlKiwgRDNEUFJFU0VOVF9QQVJBTUVURVJTKiBwcmVzZW50UGFyYW1zKTsKICAgICAg
ICAgSFJFU1VMVCBjcmVhdGVEM0REZXZpY2UoKTsKICAgICAgICAgSFJFU1VMVCBjcmVhdGVEM0RT
YW1wbGUoSURpcmVjdDNEU3dhcENoYWluOSosIENPTVB0cjxJTUZTYW1wbGU+JiB2aWRlb1NhbXBs
ZSk7Ci0gICAgICAgIEhSRVNVTFQgdXBkYXRlRGVzdFJlY3QoKTsKLQotICAgICAgICBIUkVTVUxU
IHByZXNlbnRTd2FwQ2hhaW4oSURpcmVjdDNEU3dhcENoYWluOSosIElEaXJlY3QzRFN1cmZhY2U5
Kik7CiAKICAgICAgICAgVUlOVCBtX2RldmljZVJlc2V0VG9rZW4geyAwIH07CiAgICAgICAgIEhX
TkQgbV9od25kIHsgbnVsbHB0ciB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>