<?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>208785</bug_id>
          
          <creation_ts>2020-03-08 10:06:30 -0700</creation_ts>
          <short_desc>Remember completed subranges during incremental PDF loading</short_desc>
          <delta_ts>2020-03-08 17:44:15 -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>WebKit Misc.</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>thorton</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1627515</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2020-03-08 10:06:30 -0700</bug_when>
    <thetext>Remember completed subranges during incremental PDF loading

We&apos;ll often get asked for the same range twice, or for range contained in previously requested ranges.

To make that (orders of magnitude) more efficient, we should remember which ranges in the PDF buffer have previously been requested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627600</commentid>
    <comment_count>1</comment_count>
      <attachid>392995</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2020-03-08 15:44:02 -0700</bug_when>
    <thetext>Created attachment 392995
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627601</commentid>
    <comment_count>2</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2020-03-08 15:52:09 -0700</bug_when>
    <thetext>This relies on the patch in https://bugs.webkit.org/show_bug.cgi?id=208790 landing first (hence lots of failures)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627607</commentid>
    <comment_count>3</comment_count>
      <attachid>392996</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2020-03-08 16:07:24 -0700</bug_when>
    <thetext>Created attachment 392996
PFL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627613</commentid>
    <comment_count>4</comment_count>
      <attachid>392998</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2020-03-08 16:24:33 -0700</bug_when>
    <thetext>Created attachment 392998
PFL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627635</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-08 17:42:53 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 392998:

editing/spelling/spellcheck-async-remove-frame.html bug 160571 (authors: morrita@google.com, rniwa@webkit.org, and tony@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627636</commentid>
    <comment_count>6</comment_count>
      <attachid>392998</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-08 17:43:33 -0700</bug_when>
    <thetext>Comment on attachment 392998
PFL

Clearing flags on attachment: 392998

Committed r258123: &lt;https://trac.webkit.org/changeset/258123&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627637</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-08 17:43:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627638</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-08 17:44:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/60207010&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392995</attachid>
            <date>2020-03-08 15:44:02 -0700</date>
            <delta_ts>2020-03-08 16:07:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>pat</filename>
            <type>text/plain</type>
            <size>7823</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDNjNWU3YWFhYWZmLi5iNjdjZmI4ZDQzOCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMDMtMDggIEJyYWR5
IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJlbWVtYmVyIGNvbXBsZXRl
ZCBzdWJyYW5nZXMgZHVyaW5nIGluY3JlbWVudGFsIFBERiBsb2FkaW5nLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4Nzg1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSAndXNpbmcgV1RGOjpSYW5n
ZScgZnJvbSB0aGUgV1RGL1JhbmdlLmggaGVhZGVyIHRvIHRoZXNlIEpTQyB1c2Vycy4KKyAgICAg
ICAgCisgICAgICAgICogYjMvQjNIZWFwUmFuZ2UuaDoKKyAgICAgICAgKiBiMy9haXIvQWlyQWxs
b2NhdGVSZWdpc3RlcnNBbmRTdGFja0J5TGluZWFyU2Nhbi5jcHA6CisgICAgICAgICogaGVhcC9K
SVRTdHViUm91dGluZVNldC5oOgorCiAyMDIwLTAzLTA3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgYmFkIGFzc2VydGlvbiBpbiBGVExMb3dlckRGR1Rv
QjMncyBjb21waWxlRGVsQnkoKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM0hlYXBSYW5nZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzSGVhcFJhbmdlLmgK
aW5kZXggNWRkZDU5MTA0M2IuLjQ5YTdjOTgxYzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNIZWFwUmFuZ2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
QjNIZWFwUmFuZ2UuaApAQCAtMjksNiArMjksOCBAQAogCiAjaW5jbHVkZSA8d3RmL1JhbmdlLmg+
CiAKK3VzaW5nIFdURjo6UmFuZ2U7CisKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMgewog
CiAvLyBBbGlhcyBhbmFseXNpcyBpbiBCMyBpcyBkb25lIGJ5IGNoZWNraW5nIGlmIHR3byBpbnRl
Z2VyIHJhbmdlcyBvdmVybGFwLiBUaGlzIGlzIHBvd2VyZnVsIGVub3VnaApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0FuZFN0YWNr
QnlMaW5lYXJTY2FuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQWxsb2Nh
dGVSZWdpc3RlcnNBbmRTdGFja0J5TGluZWFyU2Nhbi5jcHAKaW5kZXggOGM0OTJkYTFlOGEuLjJk
NTU2MWUxZWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFs
bG9jYXRlUmVnaXN0ZXJzQW5kU3RhY2tCeUxpbmVhclNjYW4uY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNBbmRTdGFja0J5TGluZWFyU2Nh
bi5jcHAKQEAgLTQ0LDYgKzQ0LDggQEAKICNpbmNsdWRlIDx3dGYvTGlzdER1bXAuaD4KICNpbmNs
dWRlIDx3dGYvUmFuZ2UuaD4KIAordXNpbmcgV1RGOjpSYW5nZTsKKwogbmFtZXNwYWNlIEpTQyB7
IG5hbWVzcGFjZSBCMyB7IG5hbWVzcGFjZSBBaXIgewogCiBuYW1lc3BhY2UgewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSklUU3R1YlJvdXRpbmVTZXQuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0pJVFN0dWJSb3V0aW5lU2V0LmgKaW5kZXggNGVjY2ViMGUy
MTIuLjkzZTQyMzhlOWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9K
SVRTdHViUm91dGluZVNldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0pJVFN0
dWJSb3V0aW5lU2V0LmgKQEAgLTMxLDYgKzMxLDggQEAKICNpbmNsdWRlIDx3dGYvUmFuZ2UuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKK3VzaW5nIFdURjo6UmFuZ2U7CisKIG5hbWVzcGFj
ZSBKU0MgewogCiBjbGFzcyBHQ0F3YXJlSklUU3R1YlJvdXRpbmU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBiMjFiODVlMGE4
Li5kMzkzNjBlYWE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wMy0wOCAgQnJhZHkgRWlk
c29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtZW1iZXIgY29tcGxldGVkIHN1
YnJhbmdlcyBkdXJpbmcgaW5jcmVtZW50YWwgUERGIGxvYWRpbmcuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg3ODUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9SYW5nZS5oOiBEb24ndCBpbmNs
dWRlIHRoZSB0eXBpY2FsICd1c2luZyBXVEY6OlJhbmdlJyBhcyB0aGF0IG1ha2VzIGl0IGFsbW9z
dCBpbXBvc3NpYmxlCisgICAgICAgICAgdG8gdXNlIGluIHRoZSBzdGFjayBhdCBXZWJDb3JlIG9y
IGhpZ2hlciAoQmVjYXVzZSBvZiBXZWJDb3JlOjpSYW5nZSkKKwogMjAyMC0wMy0wNSAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBKYXZhU2NyaXB0Q29yZSBy
ZWxhdGVkIGZlYXR1cmUgZGVmaW5lcyBmcm9tIEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIHRvIFBs
YXRmb3JtRW5hYmxlQ29jb2EuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUmFuZ2UuaCBi
L1NvdXJjZS9XVEYvd3RmL1JhbmdlLmgKaW5kZXggYTE5OWE2ODRkNGIuLjk2ZDUyZWIzMzlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SYW5nZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1Jh
bmdlLmgKQEAgLTEzOCw2ICsxMzgsMyBAQCBwcml2YXRlOgogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V1RGCi0KLXVzaW5nIFdURjo6UmFuZ2U7Ci0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOTViZTQxZmI0ZDQuLjlmZTlk
MDgyOTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIwLTAzLTA4ICBCcmFkeSBFaWRz
b24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1lbWJlciBjb21wbGV0ZWQgc3Vi
cmFuZ2VzIGR1cmluZyBpbmNyZW1lbnRhbCBQREYgbG9hZGluZy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODc4NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gYSByYW5nZSByZXF1ZXN0IGZyb20g
YSBzdHJlYW0gbG9hZGVyIGNvbXBsZXRlcywgd2Ugd2lsbCBub3cgZXh0ZW5kIHRoZSBtYWluIHJl
c291cmNlIGJ1ZmZlcgorICAgICAgICB0byBiZSBsYXJnZSBlbm91Z2ggdG8gaG9sZCB0aGF0IHJh
bmdlLCB0aGVuIHdlIG1lbWNweSB0aGUgZGF0YSBpbnRvIHRoZSBtYWluIGJ1ZmZlci4KKyAgICAg
ICAgCisgICAgICAgIFdlIHRoZW4ga2VlcCBhIFJhbmdlU2V0IHRvIHJlbWVtYmVyIHdoaWNoIHJh
bmdlcyB3ZSd2ZSBsb2FkZWQuCisgICAgICAgIEFueSBmdXR1cmUgcmFuZ2UgcmVxdWVzdCB0aGF0
IGNvbWVzIGluIHdlIGZpcnN0IGNoZWNrIGFnYWluc3QgdGhhdCBSYW5nZVNldCB0byBzZWUgaWYg
d2UgY2FuIGhhbmRsZSBpdCBmcm9tIG1lbW9yeS4KKyAgICAgICAgCisgICAgICAgIFRoaXMgaXMg
YSBuZWNlc3Nhcnkgb3B0aW1pemF0aW9uIGJlY2F1c2UgUERGS2l0IHRlbmRzIHRvIGFzayBmb3Ig
dGhlIHNhbWUgKG9yIG92ZXJsYXBwaW5nKSByYW5nZXMgcXVpdGUgb2Z0ZW4uCisgICAgICAgIAor
ICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW06CisgICAgICAgIChXZWJLaXQ6OlBE
RlBsdWdpbjo6Qnl0ZVJhbmdlUmVxdWVzdDo6Y29tcGxldGVXaXRoQWNjdW11bGF0ZWREYXRhKToK
KyAgICAgICAgKFdlYktpdDo6UERGUGx1Z2luOjpCeXRlUmFuZ2VSZXF1ZXN0OjptYXliZUNvbXBs
ZXRlKToKKyAgICAgICAgKFdlYktpdDo6UERGUGx1Z2luOjpwZGZEb2N1bWVudERpZExvYWQpOgor
ICAgICAgICAoV2ViS2l0OjpQREZQbHVnaW46Om1hbnVhbFN0cmVhbURpZFJlY2VpdmVEYXRhKToK
KwogMjAyMC0wMy0wNyAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgTWFrZSBQREYgcmFuZ2UgcmVxdWVzdHMgdG8gdGhlIG5ldHdvcmsuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLmggYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLmgKaW5kZXggMmM3MWYzMmQz
MjcuLjVmMGQ2MjViYjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1
Z2lucy9QREYvUERGUGx1Z2luLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdp
bnMvUERGL1BERlBsdWdpbi5oCkBAIC0zOCw2ICszOCw4IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9T
Y3JvbGxhYmxlQXJlYS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3Rm
L0lkZW50aWZpZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmFuZ2UuaD4KKyNpbmNsdWRlIDx3dGYvUmFu
Z2VTZXQuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVh
ZGluZy5oPgogCkBAIC0zNjgsNiArMzcwLDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8VGhyZWFk
PiBtX3BkZlRocmVhZDsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBCeXRlUmFuZ2VSZXF1ZXN0PiBt
X291dHN0YW5kaW5nQnl0ZVJhbmdlUmVxdWVzdHM7CiAgICAgSGFzaE1hcDxSZWZQdHI8V2ViQ29y
ZTo6TmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXI+LCB1aW50NjRfdD4gbV9zdHJlYW1Mb2FkZXJN
YXA7CisgICAgUmFuZ2VTZXQ8V1RGOjpSYW5nZTx1aW50NjRfdD4+IG1fY29tcGxldGVkUmFuZ2Vz
OwogICAgIGJvb2wgbV9pbmNyZW1lbnRhbFBERkxvYWRpbmdFbmFibGVkOwogI2VuZGlmCiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdp
bi5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0K
aW5kZXggMTkyNDMxNGY3ZDAuLjAwOWVlM2NlYmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0KQEAgLTgyOCw2ICs4MjgsMjAgQEAg
dm9pZCBQREZQbHVnaW46OkJ5dGVSYW5nZVJlcXVlc3Q6OmNvbXBsZXRlV2l0aEFjY3VtdWxhdGVk
RGF0YShQREZQbHVnaW4mIHBsdWdpbikKICAgICAKICAgICBpZiAobV9zdHJlYW1Mb2FkZXIpCiAg
ICAgICAgIHBsdWdpbi5mb3JnZXRMb2FkZXIoKm1fc3RyZWFtTG9hZGVyKTsKKworICAgIC8vIEZv
bGQgdGhpcyBkYXRhIGludG8gdGhlIG1haW4gZGF0YSBidWZmZXIgc28gdGhhdCBpZiBzb21ldGhp
bmcgaW4gaXRzIHJhbmdlIGlzIHJlcXVlc3RlZCBhZ2FpbiAod2hpY2ggaGFwcGVucyBxdWl0ZSBv
ZnRlbikKKyAgICAvLyB3ZSBkbyBub3QgbmVlZCB0byBoaXQgdGhlIG5ldHdvcmsgbGF5ZXIgYWdh
aW4uCisKKyAgICBhdXRvIGxlbmd0aCA9IENGRGF0YUdldExlbmd0aChwbHVnaW4ubV9kYXRhLmdl
dCgpKTsKKyAgICBDRkluZGV4IHRhcmdldFNpemUgPSBtX3Bvc2l0aW9uICsgbV9hY2N1bXVsYXRl
ZERhdGEuc2l6ZSgpOworICAgIGF1dG8gZGVsdGEgPSB0YXJnZXRTaXplIC0gbGVuZ3RoOworICAg
IGlmIChkZWx0YSA+IDApCisgICAgICAgIENGRGF0YUluY3JlYXNlTGVuZ3RoKHBsdWdpbi5tX2Rh
dGEuZ2V0KCksIGRlbHRhKTsKKworICAgIGlmIChtX2FjY3VtdWxhdGVkRGF0YS5zaXplKCkpIHsK
KyAgICAgICAgbWVtY3B5KENGRGF0YUdldE11dGFibGVCeXRlUHRyKHBsdWdpbi5tX2RhdGEuZ2V0
KCkpICsgbV9wb3NpdGlvbiwgbV9hY2N1bXVsYXRlZERhdGEuZGF0YSgpLCBtX2FjY3VtdWxhdGVk
RGF0YS5zaXplKCkpOworICAgICAgICBwbHVnaW4ubV9jb21wbGV0ZWRSYW5nZXMuYWRkKHsgbV9w
b3NpdGlvbiwgbV9wb3NpdGlvbiArIG1fYWNjdW11bGF0ZWREYXRhLnNpemUoKSAtIDF9KTsKKyAg
ICB9CiB9CiAKIGJvb2wgUERGUGx1Z2luOjpCeXRlUmFuZ2VSZXF1ZXN0OjptYXliZUNvbXBsZXRl
KFBERlBsdWdpbiYgcGx1Z2luKQpAQCAtODM2LDYgKzg1MCwxMiBAQCBib29sIFBERlBsdWdpbjo6
Qnl0ZVJhbmdlUmVxdWVzdDo6bWF5YmVDb21wbGV0ZShQREZQbHVnaW4mIHBsdWdpbikKICAgICAg
ICAgY29tcGxldGVXaXRoQnl0ZXMoQ0ZEYXRhR2V0Qnl0ZVB0cihwbHVnaW4ubV9kYXRhLmdldCgp
KSArIG1fcG9zaXRpb24sIG1fY291bnQsIHBsdWdpbik7CiAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgIH0KKworICAgIGlmIChwbHVnaW4ubV9jb21wbGV0ZWRSYW5nZXMuY29udGFpbnMoeyBtX3Bv
c2l0aW9uLCBtX3Bvc2l0aW9uICsgbV9jb3VudCAtIDEgfSkpIHsKKyAgICAgICAgTE9HKFBERiwg
IkNvbXBsZXRpbmcgcmVxdWVzdCAlbGx1IHdpdGggYSBwcmV2aW91c2x5IGNvbXBsZXRlZCByYW5n
ZSIsIGlkZW50aWZpZXIoKSk7CisgICAgICAgIGNvbXBsZXRlV2l0aEJ5dGVzKENGRGF0YUdldEJ5
dGVQdHIocGx1Z2luLm1fZGF0YS5nZXQoKSkgKyBtX3Bvc2l0aW9uLCBtX2NvdW50LCBwbHVnaW4p
OworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCkBA
IC0xMjg3LDYgKzEzMDcsOCBAQCB2b2lkIFBERlBsdWdpbjo6Y29udmVydFBvc3RTY3JpcHREYXRh
SWZOZWVkZWQoKQogCiB2b2lkIFBERlBsdWdpbjo6cGRmRG9jdW1lbnREaWRMb2FkKCkKIHsKKyAg
ICBMT0coUERGLCAiUERGIGRvY3VtZW50IGZpbmlzaGVkIGxvYWRpbmcgd2l0aCBhIHRvdGFsIG9m
ICVsbHUgYnl0ZXMiLCBtX3N0cmVhbWVkQnl0ZXMpOworCiAgICAgYWRkQXJjaGl2ZVJlc291cmNl
KCk7CiAKICAgICBtX2RvY3VtZW50RmluaXNoZWRMb2FkaW5nID0gdHJ1ZTsKQEAgLTEzOTUsNiAr
MTQxNywxMCBAQCB2b2lkIFBERlBsdWdpbjo6bWFudWFsU3RyZWFtRGlkUmVjZWl2ZURhdGEoY29u
c3QgY2hhciogYnl0ZXMsIGludCBsZW5ndGgpCiAgICAgQ0ZEYXRhQXBwZW5kQnl0ZXMobV9kYXRh
LmdldCgpLCByZWludGVycHJldF9jYXN0PGNvbnN0IFVJbnQ4Kj4oYnl0ZXMpLCBsZW5ndGgpOwog
ICAgIG1fc3RyZWFtZWRCeXRlcyArPSBsZW5ndGg7CiAKKyAgICAvLyBLZWVwIG91ciByYW5nZXMt
bG9va3VwLXRhYmxlIGNvbXBhY3QgYnkgY29udGludW91c2x5IHVwZGF0aW5nIGl0cyBmaXJzdCBy
YW5nZQorICAgIC8vIGFzIHRoZSBlbnRpcmUgZG9jdW1lbnQgc3RyZWFtcyBpbiBmcm9tIHRoZSBu
ZXR3b3JrLgorICAgIG1fY29tcGxldGVkUmFuZ2VzLmFkZCh7IDAsIG1fc3RyZWFtZWRCeXRlcyAt
IDEgfSk7CisKICNpZiBIQVZFKElOQ1JFTUVOVEFMX1BERl9BUElTKQogICAgIGlmIChtX2luY3Jl
bWVudGFsUERGTG9hZGluZ0VuYWJsZWQpIHsKICAgICAgICAgSGFzaFNldDx1aW50NjRfdD4gaGFu
ZGxlZFJlcXVlc3RzOwo=
</data>
<flag name="review"
          id="408376"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392996</attachid>
            <date>2020-03-08 16:07:24 -0700</date>
            <delta_ts>2020-03-08 16:24:33 -0700</delta_ts>
            <desc>PFL</desc>
            <filename>pat</filename>
            <type>text/plain</type>
            <size>7980</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDNjNWU3YWFhYWZmLi45YmM1NzRmMTEzMCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDMtMDggIEJyYWR5
IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJlbWVtYmVyIGNvbXBsZXRl
ZCBzdWJyYW5nZXMgZHVyaW5nIGluY3JlbWVudGFsIFBERiBsb2FkaW5nLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4Nzg1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBNb3ZlICd1c2luZyBXVEY6OlJhbmdlJyBm
cm9tIHRoZSBXVEYvUmFuZ2UuaCBoZWFkZXIgdG8gdGhlc2UgSlNDIHVzZXJzLgorICAgICAgICAK
KyAgICAgICAgVGhlIGFsdGVybmF0aXZlIHRvIG1ha2luZyB0aGVzZSAzIGNoYW5nZXMgd2FzIHRv
IG1ha2Ugb3ZlciAyMCBjaGFuZ2VzIHVwIGluIHRoZSBXZWJDb3JlL1dlYktpdHMKKyAgICAgICAg
dG8gcmVzb2x2ZSB0aGUgY29uZmxpY3Qgd2l0aCBXZWJDb3JlOjpSYW5nZS4KKyAgICAgICAgCisg
ICAgICAgICogYjMvQjNIZWFwUmFuZ2UuaDoKKyAgICAgICAgKiBiMy9haXIvQWlyQWxsb2NhdGVS
ZWdpc3RlcnNBbmRTdGFja0J5TGluZWFyU2Nhbi5jcHA6CisgICAgICAgICogaGVhcC9KSVRTdHVi
Um91dGluZVNldC5oOgorCiAyMDIwLTAzLTA3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZW1vdmUgYmFkIGFzc2VydGlvbiBpbiBGVExMb3dlckRGR1RvQjMncyBj
b21waWxlRGVsQnkoKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0hl
YXBSYW5nZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzSGVhcFJhbmdlLmgKaW5kZXgg
NWRkZDU5MTA0M2IuLjQ5YTdjOTgxYzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNIZWFwUmFuZ2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNIZWFw
UmFuZ2UuaApAQCAtMjksNiArMjksOCBAQAogCiAjaW5jbHVkZSA8d3RmL1JhbmdlLmg+CiAKK3Vz
aW5nIFdURjo6UmFuZ2U7CisKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMgewogCiAvLyBB
bGlhcyBhbmFseXNpcyBpbiBCMyBpcyBkb25lIGJ5IGNoZWNraW5nIGlmIHR3byBpbnRlZ2VyIHJh
bmdlcyBvdmVybGFwLiBUaGlzIGlzIHBvd2VyZnVsIGVub3VnaApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0FuZFN0YWNrQnlMaW5l
YXJTY2FuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQWxsb2NhdGVSZWdp
c3RlcnNBbmRTdGFja0J5TGluZWFyU2Nhbi5jcHAKaW5kZXggOGM0OTJkYTFlOGEuLjJkNTU2MWUx
ZWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFsbG9jYXRl
UmVnaXN0ZXJzQW5kU3RhY2tCeUxpbmVhclNjYW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNBbmRTdGFja0J5TGluZWFyU2Nhbi5jcHAK
QEAgLTQ0LDYgKzQ0LDggQEAKICNpbmNsdWRlIDx3dGYvTGlzdER1bXAuaD4KICNpbmNsdWRlIDx3
dGYvUmFuZ2UuaD4KIAordXNpbmcgV1RGOjpSYW5nZTsKKwogbmFtZXNwYWNlIEpTQyB7IG5hbWVz
cGFjZSBCMyB7IG5hbWVzcGFjZSBBaXIgewogCiBuYW1lc3BhY2UgewpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSklUU3R1YlJvdXRpbmVTZXQuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL0pJVFN0dWJSb3V0aW5lU2V0LmgKaW5kZXggNGVjY2ViMGUyMTIuLjkz
ZTQyMzhlOWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9KSVRTdHVi
Um91dGluZVNldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0pJVFN0dWJSb3V0
aW5lU2V0LmgKQEAgLTMxLDYgKzMxLDggQEAKICNpbmNsdWRlIDx3dGYvUmFuZ2UuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKK3VzaW5nIFdURjo6UmFuZ2U7CisKIG5hbWVzcGFjZSBKU0Mg
ewogCiBjbGFzcyBHQ0F3YXJlSklUU3R1YlJvdXRpbmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBiMjFiODVlMGE4Li5kNDBh
ZDM1MWNiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dU
Ri9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wMy0wOCAgQnJhZHkgRWlkc29uICA8
YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtZW1iZXIgY29tcGxldGVkIHN1YnJhbmdl
cyBkdXJpbmcgaW5jcmVtZW50YWwgUERGIGxvYWRpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg3ODUKKworICAgICAgICBSZXZpZXdlZCBieSBU
aW0gSG9ydG9uLgorCisgICAgICAgICogd3RmL1JhbmdlLmg6IERvbid0IGluY2x1ZGUgdGhlIHR5
cGljYWwgJ3VzaW5nIFdURjo6UmFuZ2UnIGFzIHRoYXQgbWFrZXMgaXQgYWxtb3N0IGltcG9zc2li
bGUKKyAgICAgICAgICB0byB1c2UgaW4gdGhlIHN0YWNrIGF0IFdlYkNvcmUgb3IgaGlnaGVyIChC
ZWNhdXNlIG9mIFdlYkNvcmU6OlJhbmdlKQorCiAyMDIwLTAzLTA1ICBTYW0gV2VpbmlnICA8d2Vp
bmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIEphdmFTY3JpcHRDb3JlIHJlbGF0ZWQgZmVh
dHVyZSBkZWZpbmVzIGZyb20gRmVhdHVyZURlZmluZXMueGNjb25maWcgdG8gUGxhdGZvcm1FbmFi
bGVDb2NvYS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SYW5nZS5oIGIvU291cmNlL1dU
Ri93dGYvUmFuZ2UuaAppbmRleCBhMTk5YTY4NGQ0Yi4uOTZkNTJlYjMzOWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL1JhbmdlLmgKKysrIGIvU291cmNlL1dURi93dGYvUmFuZ2UuaApAQCAt
MTM4LDYgKzEzOCwzIEBAIHByaXZhdGU6CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKLQotdXNp
bmcgV1RGOjpSYW5nZTsKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA5NWJlNDFmYjRkNC4uMjE4ODk2NzYwNjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjAtMDMtMDggIEJyYWR5IEVpZHNvbiAgPGJlaWRz
b25AYXBwbGUuY29tPgorCisgICAgICAgIFJlbWVtYmVyIGNvbXBsZXRlZCBzdWJyYW5nZXMgZHVy
aW5nIGluY3JlbWVudGFsIFBERiBsb2FkaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4Nzg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhv
cnRvbi4KKworICAgICAgICBXaGVuIGEgcmFuZ2UgcmVxdWVzdCBmcm9tIGEgc3RyZWFtIGxvYWRl
ciBjb21wbGV0ZXMsIHdlIHdpbGwgbm93IGV4dGVuZCB0aGUgbWFpbiByZXNvdXJjZSBidWZmZXIK
KyAgICAgICAgdG8gYmUgbGFyZ2UgZW5vdWdoIHRvIGhvbGQgdGhhdCByYW5nZSwgdGhlbiB3ZSBt
ZW1jcHkgdGhlIGRhdGEgaW50byB0aGUgbWFpbiBidWZmZXIuCisgICAgICAgIAorICAgICAgICBX
ZSB0aGVuIGtlZXAgYSBSYW5nZVNldCB0byByZW1lbWJlciB3aGljaCByYW5nZXMgd2UndmUgbG9h
ZGVkLgorICAgICAgICBBbnkgZnV0dXJlIHJhbmdlIHJlcXVlc3QgdGhhdCBjb21lcyBpbiB3ZSBm
aXJzdCBjaGVjayBhZ2FpbnN0IHRoYXQgUmFuZ2VTZXQgdG8gc2VlIGlmIHdlIGNhbiBoYW5kbGUg
aXQgZnJvbSBtZW1vcnkuCisgICAgICAgIAorICAgICAgICBUaGlzIGlzIGEgbmVjZXNzYXJ5IG9w
dGltaXphdGlvbiBiZWNhdXNlIFBERktpdCB0ZW5kcyB0byBhc2sgZm9yIHRoZSBzYW1lIChvciBv
dmVybGFwcGluZykgcmFuZ2VzIHF1aXRlIG9mdGVuLgorICAgICAgICAKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1
Z2lucy9QREYvUERGUGx1Z2luLm1tOgorICAgICAgICAoV2ViS2l0OjpQREZQbHVnaW46OkJ5dGVS
YW5nZVJlcXVlc3Q6OmNvbXBsZXRlV2l0aEFjY3VtdWxhdGVkRGF0YSk6CisgICAgICAgIChXZWJL
aXQ6OlBERlBsdWdpbjo6Qnl0ZVJhbmdlUmVxdWVzdDo6bWF5YmVDb21wbGV0ZSk6CisgICAgICAg
IChXZWJLaXQ6OlBERlBsdWdpbjo6cGRmRG9jdW1lbnREaWRMb2FkKToKKyAgICAgICAgKFdlYktp
dDo6UERGUGx1Z2luOjptYW51YWxTdHJlYW1EaWRSZWNlaXZlRGF0YSk6CisKIDIwMjAtMDMtMDcg
IEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgUERGIHJh
bmdlIHJlcXVlc3RzIHRvIHRoZSBuZXR3b3JrLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5oCmluZGV4IDJjNzFmMzJkMzI3Li41ZjBkNjI1YmI1
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBs
dWdpbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVn
aW4uaApAQCAtMzgsNiArMzgsOCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvU2Nyb2xsYWJsZUFyZWEu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9JZGVudGlmaWVkLmg+
CisjaW5jbHVkZSA8d3RmL1JhbmdlLmg+CisjaW5jbHVkZSA8d3RmL1JhbmdlU2V0Lmg+CiAjaW5j
bHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIApAQCAt
MzY4LDYgKzM3MCw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFRocmVhZD4gbV9wZGZUaHJlYWQ7
CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgQnl0ZVJhbmdlUmVxdWVzdD4gbV9vdXRzdGFuZGluZ0J5
dGVSYW5nZVJlcXVlc3RzOwogICAgIEhhc2hNYXA8UmVmUHRyPFdlYkNvcmU6Ok5ldHNjYXBlUGx1
Z0luU3RyZWFtTG9hZGVyPiwgdWludDY0X3Q+IG1fc3RyZWFtTG9hZGVyTWFwOworICAgIFJhbmdl
U2V0PFdURjo6UmFuZ2U8dWludDY0X3Q+PiBtX2NvbXBsZXRlZFJhbmdlczsKICAgICBib29sIG1f
aW5jcmVtZW50YWxQREZMb2FkaW5nRW5hYmxlZDsKICNlbmRpZgogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0gYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tCmluZGV4IDE5MjQzMTRm
N2QwLi4wMDllZTNjZWJjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1Bs
dWdpbnMvUERGL1BERlBsdWdpbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1
Z2lucy9QREYvUERGUGx1Z2luLm1tCkBAIC04MjgsNiArODI4LDIwIEBAIHZvaWQgUERGUGx1Z2lu
OjpCeXRlUmFuZ2VSZXF1ZXN0Ojpjb21wbGV0ZVdpdGhBY2N1bXVsYXRlZERhdGEoUERGUGx1Z2lu
JiBwbHVnaW4pCiAgICAgCiAgICAgaWYgKG1fc3RyZWFtTG9hZGVyKQogICAgICAgICBwbHVnaW4u
Zm9yZ2V0TG9hZGVyKCptX3N0cmVhbUxvYWRlcik7CisKKyAgICAvLyBGb2xkIHRoaXMgZGF0YSBp
bnRvIHRoZSBtYWluIGRhdGEgYnVmZmVyIHNvIHRoYXQgaWYgc29tZXRoaW5nIGluIGl0cyByYW5n
ZSBpcyByZXF1ZXN0ZWQgYWdhaW4gKHdoaWNoIGhhcHBlbnMgcXVpdGUgb2Z0ZW4pCisgICAgLy8g
d2UgZG8gbm90IG5lZWQgdG8gaGl0IHRoZSBuZXR3b3JrIGxheWVyIGFnYWluLgorCisgICAgYXV0
byBsZW5ndGggPSBDRkRhdGFHZXRMZW5ndGgocGx1Z2luLm1fZGF0YS5nZXQoKSk7CisgICAgQ0ZJ
bmRleCB0YXJnZXRTaXplID0gbV9wb3NpdGlvbiArIG1fYWNjdW11bGF0ZWREYXRhLnNpemUoKTsK
KyAgICBhdXRvIGRlbHRhID0gdGFyZ2V0U2l6ZSAtIGxlbmd0aDsKKyAgICBpZiAoZGVsdGEgPiAw
KQorICAgICAgICBDRkRhdGFJbmNyZWFzZUxlbmd0aChwbHVnaW4ubV9kYXRhLmdldCgpLCBkZWx0
YSk7CisKKyAgICBpZiAobV9hY2N1bXVsYXRlZERhdGEuc2l6ZSgpKSB7CisgICAgICAgIG1lbWNw
eShDRkRhdGFHZXRNdXRhYmxlQnl0ZVB0cihwbHVnaW4ubV9kYXRhLmdldCgpKSArIG1fcG9zaXRp
b24sIG1fYWNjdW11bGF0ZWREYXRhLmRhdGEoKSwgbV9hY2N1bXVsYXRlZERhdGEuc2l6ZSgpKTsK
KyAgICAgICAgcGx1Z2luLm1fY29tcGxldGVkUmFuZ2VzLmFkZCh7IG1fcG9zaXRpb24sIG1fcG9z
aXRpb24gKyBtX2FjY3VtdWxhdGVkRGF0YS5zaXplKCkgLSAxfSk7CisgICAgfQogfQogCiBib29s
IFBERlBsdWdpbjo6Qnl0ZVJhbmdlUmVxdWVzdDo6bWF5YmVDb21wbGV0ZShQREZQbHVnaW4mIHBs
dWdpbikKQEAgLTgzNiw2ICs4NTAsMTIgQEAgYm9vbCBQREZQbHVnaW46OkJ5dGVSYW5nZVJlcXVl
c3Q6Om1heWJlQ29tcGxldGUoUERGUGx1Z2luJiBwbHVnaW4pCiAgICAgICAgIGNvbXBsZXRlV2l0
aEJ5dGVzKENGRGF0YUdldEJ5dGVQdHIocGx1Z2luLm1fZGF0YS5nZXQoKSkgKyBtX3Bvc2l0aW9u
LCBtX2NvdW50LCBwbHVnaW4pOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CisKKyAgICBp
ZiAocGx1Z2luLm1fY29tcGxldGVkUmFuZ2VzLmNvbnRhaW5zKHsgbV9wb3NpdGlvbiwgbV9wb3Np
dGlvbiArIG1fY291bnQgLSAxIH0pKSB7CisgICAgICAgIExPRyhQREYsICJDb21wbGV0aW5nIHJl
cXVlc3QgJWxsdSB3aXRoIGEgcHJldmlvdXNseSBjb21wbGV0ZWQgcmFuZ2UiLCBpZGVudGlmaWVy
KCkpOworICAgICAgICBjb21wbGV0ZVdpdGhCeXRlcyhDRkRhdGFHZXRCeXRlUHRyKHBsdWdpbi5t
X2RhdGEuZ2V0KCkpICsgbV9wb3NpdGlvbiwgbV9jb3VudCwgcGx1Z2luKTsKKyAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgfQogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtMTI4Nyw2ICsxMzA3
LDggQEAgdm9pZCBQREZQbHVnaW46OmNvbnZlcnRQb3N0U2NyaXB0RGF0YUlmTmVlZGVkKCkKIAog
dm9pZCBQREZQbHVnaW46OnBkZkRvY3VtZW50RGlkTG9hZCgpCiB7CisgICAgTE9HKFBERiwgIlBE
RiBkb2N1bWVudCBmaW5pc2hlZCBsb2FkaW5nIHdpdGggYSB0b3RhbCBvZiAlbGx1IGJ5dGVzIiwg
bV9zdHJlYW1lZEJ5dGVzKTsKKwogICAgIGFkZEFyY2hpdmVSZXNvdXJjZSgpOwogCiAgICAgbV9k
b2N1bWVudEZpbmlzaGVkTG9hZGluZyA9IHRydWU7CkBAIC0xMzk1LDYgKzE0MTcsMTAgQEAgdm9p
ZCBQREZQbHVnaW46Om1hbnVhbFN0cmVhbURpZFJlY2VpdmVEYXRhKGNvbnN0IGNoYXIqIGJ5dGVz
LCBpbnQgbGVuZ3RoKQogICAgIENGRGF0YUFwcGVuZEJ5dGVzKG1fZGF0YS5nZXQoKSwgcmVpbnRl
cnByZXRfY2FzdDxjb25zdCBVSW50OCo+KGJ5dGVzKSwgbGVuZ3RoKTsKICAgICBtX3N0cmVhbWVk
Qnl0ZXMgKz0gbGVuZ3RoOwogCisgICAgLy8gS2VlcCBvdXIgcmFuZ2VzLWxvb2t1cC10YWJsZSBj
b21wYWN0IGJ5IGNvbnRpbnVvdXNseSB1cGRhdGluZyBpdHMgZmlyc3QgcmFuZ2UKKyAgICAvLyBh
cyB0aGUgZW50aXJlIGRvY3VtZW50IHN0cmVhbXMgaW4gZnJvbSB0aGUgbmV0d29yay4KKyAgICBt
X2NvbXBsZXRlZFJhbmdlcy5hZGQoeyAwLCBtX3N0cmVhbWVkQnl0ZXMgLSAxIH0pOworCiAjaWYg
SEFWRShJTkNSRU1FTlRBTF9QREZfQVBJUykKICAgICBpZiAobV9pbmNyZW1lbnRhbFBERkxvYWRp
bmdFbmFibGVkKSB7CiAgICAgICAgIEhhc2hTZXQ8dWludDY0X3Q+IGhhbmRsZWRSZXF1ZXN0czsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392998</attachid>
            <date>2020-03-08 16:24:33 -0700</date>
            <delta_ts>2020-03-08 17:43:33 -0700</delta_ts>
            <desc>PFL</desc>
            <filename>pat</filename>
            <type>text/plain</type>
            <size>7972</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDNjNWU3YWFhYWZmLi45YmM1NzRmMTEzMCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDMtMDggIEJyYWR5
IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJlbWVtYmVyIGNvbXBsZXRl
ZCBzdWJyYW5nZXMgZHVyaW5nIGluY3JlbWVudGFsIFBERiBsb2FkaW5nLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4Nzg1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBNb3ZlICd1c2luZyBXVEY6OlJhbmdlJyBm
cm9tIHRoZSBXVEYvUmFuZ2UuaCBoZWFkZXIgdG8gdGhlc2UgSlNDIHVzZXJzLgorICAgICAgICAK
KyAgICAgICAgVGhlIGFsdGVybmF0aXZlIHRvIG1ha2luZyB0aGVzZSAzIGNoYW5nZXMgd2FzIHRv
IG1ha2Ugb3ZlciAyMCBjaGFuZ2VzIHVwIGluIHRoZSBXZWJDb3JlL1dlYktpdHMKKyAgICAgICAg
dG8gcmVzb2x2ZSB0aGUgY29uZmxpY3Qgd2l0aCBXZWJDb3JlOjpSYW5nZS4KKyAgICAgICAgCisg
ICAgICAgICogYjMvQjNIZWFwUmFuZ2UuaDoKKyAgICAgICAgKiBiMy9haXIvQWlyQWxsb2NhdGVS
ZWdpc3RlcnNBbmRTdGFja0J5TGluZWFyU2Nhbi5jcHA6CisgICAgICAgICogaGVhcC9KSVRTdHVi
Um91dGluZVNldC5oOgorCiAyMDIwLTAzLTA3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZW1vdmUgYmFkIGFzc2VydGlvbiBpbiBGVExMb3dlckRGR1RvQjMncyBj
b21waWxlRGVsQnkoKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0hl
YXBSYW5nZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzSGVhcFJhbmdlLmgKaW5kZXgg
NWRkZDU5MTA0M2IuLjQ5YTdjOTgxYzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNIZWFwUmFuZ2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNIZWFw
UmFuZ2UuaApAQCAtMjksNiArMjksOCBAQAogCiAjaW5jbHVkZSA8d3RmL1JhbmdlLmg+CiAKK3Vz
aW5nIFdURjo6UmFuZ2U7CisKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgQjMgewogCiAvLyBB
bGlhcyBhbmFseXNpcyBpbiBCMyBpcyBkb25lIGJ5IGNoZWNraW5nIGlmIHR3byBpbnRlZ2VyIHJh
bmdlcyBvdmVybGFwLiBUaGlzIGlzIHBvd2VyZnVsIGVub3VnaApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0FuZFN0YWNrQnlMaW5l
YXJTY2FuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQWxsb2NhdGVSZWdp
c3RlcnNBbmRTdGFja0J5TGluZWFyU2Nhbi5jcHAKaW5kZXggOGM0OTJkYTFlOGEuLjJkNTU2MWUx
ZWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0FpckFsbG9jYXRl
UmVnaXN0ZXJzQW5kU3RhY2tCeUxpbmVhclNjYW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNBbmRTdGFja0J5TGluZWFyU2Nhbi5jcHAK
QEAgLTQ0LDYgKzQ0LDggQEAKICNpbmNsdWRlIDx3dGYvTGlzdER1bXAuaD4KICNpbmNsdWRlIDx3
dGYvUmFuZ2UuaD4KIAordXNpbmcgV1RGOjpSYW5nZTsKKwogbmFtZXNwYWNlIEpTQyB7IG5hbWVz
cGFjZSBCMyB7IG5hbWVzcGFjZSBBaXIgewogCiBuYW1lc3BhY2UgewpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSklUU3R1YlJvdXRpbmVTZXQuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL0pJVFN0dWJSb3V0aW5lU2V0LmgKaW5kZXggNGVjY2ViMGUyMTIuLjkz
ZTQyMzhlOWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9KSVRTdHVi
Um91dGluZVNldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0pJVFN0dWJSb3V0
aW5lU2V0LmgKQEAgLTMxLDYgKzMxLDggQEAKICNpbmNsdWRlIDx3dGYvUmFuZ2UuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKK3VzaW5nIFdURjo6UmFuZ2U7CisKIG5hbWVzcGFjZSBKU0Mg
ewogCiBjbGFzcyBHQ0F3YXJlSklUU3R1YlJvdXRpbmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBiMjFiODVlMGE4Li5kNDBh
ZDM1MWNiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dU
Ri9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wMy0wOCAgQnJhZHkgRWlkc29uICA8
YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtZW1iZXIgY29tcGxldGVkIHN1YnJhbmdl
cyBkdXJpbmcgaW5jcmVtZW50YWwgUERGIGxvYWRpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg3ODUKKworICAgICAgICBSZXZpZXdlZCBieSBU
aW0gSG9ydG9uLgorCisgICAgICAgICogd3RmL1JhbmdlLmg6IERvbid0IGluY2x1ZGUgdGhlIHR5
cGljYWwgJ3VzaW5nIFdURjo6UmFuZ2UnIGFzIHRoYXQgbWFrZXMgaXQgYWxtb3N0IGltcG9zc2li
bGUKKyAgICAgICAgICB0byB1c2UgaW4gdGhlIHN0YWNrIGF0IFdlYkNvcmUgb3IgaGlnaGVyIChC
ZWNhdXNlIG9mIFdlYkNvcmU6OlJhbmdlKQorCiAyMDIwLTAzLTA1ICBTYW0gV2VpbmlnICA8d2Vp
bmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIEphdmFTY3JpcHRDb3JlIHJlbGF0ZWQgZmVh
dHVyZSBkZWZpbmVzIGZyb20gRmVhdHVyZURlZmluZXMueGNjb25maWcgdG8gUGxhdGZvcm1FbmFi
bGVDb2NvYS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SYW5nZS5oIGIvU291cmNlL1dU
Ri93dGYvUmFuZ2UuaAppbmRleCBhMTk5YTY4NGQ0Yi4uOTZkNTJlYjMzOWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL1JhbmdlLmgKKysrIGIvU291cmNlL1dURi93dGYvUmFuZ2UuaApAQCAt
MTM4LDYgKzEzOCwzIEBAIHByaXZhdGU6CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKLQotdXNp
bmcgV1RGOjpSYW5nZTsKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA5NWJlNDFmYjRkNC4uMjE4ODk2NzYwNjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjAtMDMtMDggIEJyYWR5IEVpZHNvbiAgPGJlaWRz
b25AYXBwbGUuY29tPgorCisgICAgICAgIFJlbWVtYmVyIGNvbXBsZXRlZCBzdWJyYW5nZXMgZHVy
aW5nIGluY3JlbWVudGFsIFBERiBsb2FkaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4Nzg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhv
cnRvbi4KKworICAgICAgICBXaGVuIGEgcmFuZ2UgcmVxdWVzdCBmcm9tIGEgc3RyZWFtIGxvYWRl
ciBjb21wbGV0ZXMsIHdlIHdpbGwgbm93IGV4dGVuZCB0aGUgbWFpbiByZXNvdXJjZSBidWZmZXIK
KyAgICAgICAgdG8gYmUgbGFyZ2UgZW5vdWdoIHRvIGhvbGQgdGhhdCByYW5nZSwgdGhlbiB3ZSBt
ZW1jcHkgdGhlIGRhdGEgaW50byB0aGUgbWFpbiBidWZmZXIuCisgICAgICAgIAorICAgICAgICBX
ZSB0aGVuIGtlZXAgYSBSYW5nZVNldCB0byByZW1lbWJlciB3aGljaCByYW5nZXMgd2UndmUgbG9h
ZGVkLgorICAgICAgICBBbnkgZnV0dXJlIHJhbmdlIHJlcXVlc3QgdGhhdCBjb21lcyBpbiB3ZSBm
aXJzdCBjaGVjayBhZ2FpbnN0IHRoYXQgUmFuZ2VTZXQgdG8gc2VlIGlmIHdlIGNhbiBoYW5kbGUg
aXQgZnJvbSBtZW1vcnkuCisgICAgICAgIAorICAgICAgICBUaGlzIGlzIGEgbmVjZXNzYXJ5IG9w
dGltaXphdGlvbiBiZWNhdXNlIFBERktpdCB0ZW5kcyB0byBhc2sgZm9yIHRoZSBzYW1lIChvciBv
dmVybGFwcGluZykgcmFuZ2VzIHF1aXRlIG9mdGVuLgorICAgICAgICAKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1
Z2lucy9QREYvUERGUGx1Z2luLm1tOgorICAgICAgICAoV2ViS2l0OjpQREZQbHVnaW46OkJ5dGVS
YW5nZVJlcXVlc3Q6OmNvbXBsZXRlV2l0aEFjY3VtdWxhdGVkRGF0YSk6CisgICAgICAgIChXZWJL
aXQ6OlBERlBsdWdpbjo6Qnl0ZVJhbmdlUmVxdWVzdDo6bWF5YmVDb21wbGV0ZSk6CisgICAgICAg
IChXZWJLaXQ6OlBERlBsdWdpbjo6cGRmRG9jdW1lbnREaWRMb2FkKToKKyAgICAgICAgKFdlYktp
dDo6UERGUGx1Z2luOjptYW51YWxTdHJlYW1EaWRSZWNlaXZlRGF0YSk6CisKIDIwMjAtMDMtMDcg
IEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgUERGIHJh
bmdlIHJlcXVlc3RzIHRvIHRoZSBuZXR3b3JrLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbi5oCmluZGV4IDJjNzFmMzJkMzI3Li41ZjBkNjI1YmI1
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBs
dWdpbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVn
aW4uaApAQCAtMzgsNiArMzgsOCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvU2Nyb2xsYWJsZUFyZWEu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9JZGVudGlmaWVkLmg+
CisjaW5jbHVkZSA8d3RmL1JhbmdlLmg+CisjaW5jbHVkZSA8d3RmL1JhbmdlU2V0Lmg+CiAjaW5j
bHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIApAQCAt
MzY4LDYgKzM3MCw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFRocmVhZD4gbV9wZGZUaHJlYWQ7
CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgQnl0ZVJhbmdlUmVxdWVzdD4gbV9vdXRzdGFuZGluZ0J5
dGVSYW5nZVJlcXVlc3RzOwogICAgIEhhc2hNYXA8UmVmUHRyPFdlYkNvcmU6Ok5ldHNjYXBlUGx1
Z0luU3RyZWFtTG9hZGVyPiwgdWludDY0X3Q+IG1fc3RyZWFtTG9hZGVyTWFwOworICAgIFJhbmdl
U2V0PFdURjo6UmFuZ2U8dWludDY0X3Q+PiBtX2NvbXBsZXRlZFJhbmdlczsKICAgICBib29sIG1f
aW5jcmVtZW50YWxQREZMb2FkaW5nRW5hYmxlZDsKICNlbmRpZgogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQbHVnaW4ubW0gYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luLm1tCmluZGV4IDE5MjQzMTRm
N2QwLi45YTdlN2Y2MzM5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1Bs
dWdpbnMvUERGL1BERlBsdWdpbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1
Z2lucy9QREYvUERGUGx1Z2luLm1tCkBAIC04MjgsNiArODI4LDIwIEBAIHZvaWQgUERGUGx1Z2lu
OjpCeXRlUmFuZ2VSZXF1ZXN0Ojpjb21wbGV0ZVdpdGhBY2N1bXVsYXRlZERhdGEoUERGUGx1Z2lu
JiBwbHVnaW4pCiAgICAgCiAgICAgaWYgKG1fc3RyZWFtTG9hZGVyKQogICAgICAgICBwbHVnaW4u
Zm9yZ2V0TG9hZGVyKCptX3N0cmVhbUxvYWRlcik7CisKKyAgICAvLyBGb2xkIHRoaXMgZGF0YSBp
bnRvIHRoZSBtYWluIGRhdGEgYnVmZmVyIHNvIHRoYXQgaWYgc29tZXRoaW5nIGluIGl0cyByYW5n
ZSBpcyByZXF1ZXN0ZWQgYWdhaW4gKHdoaWNoIGhhcHBlbnMgcXVpdGUgb2Z0ZW4pCisgICAgLy8g
d2UgZG8gbm90IG5lZWQgdG8gaGl0IHRoZSBuZXR3b3JrIGxheWVyIGFnYWluLgorCisgICAgYXV0
byBsZW5ndGggPSBDRkRhdGFHZXRMZW5ndGgocGx1Z2luLm1fZGF0YS5nZXQoKSk7CisgICAgQ0ZJ
bmRleCB0YXJnZXRTaXplID0gbV9wb3NpdGlvbiArIG1fYWNjdW11bGF0ZWREYXRhLnNpemUoKTsK
KyAgICBhdXRvIGRlbHRhID0gdGFyZ2V0U2l6ZSAtIGxlbmd0aDsKKyAgICBpZiAoZGVsdGEgPiAw
KQorICAgICAgICBDRkRhdGFJbmNyZWFzZUxlbmd0aChwbHVnaW4ubV9kYXRhLmdldCgpLCBkZWx0
YSk7CisKKyAgICBpZiAobV9hY2N1bXVsYXRlZERhdGEuc2l6ZSgpKSB7CisgICAgICAgIG1lbWNw
eShDRkRhdGFHZXRNdXRhYmxlQnl0ZVB0cihwbHVnaW4ubV9kYXRhLmdldCgpKSArIG1fcG9zaXRp
b24sIG1fYWNjdW11bGF0ZWREYXRhLmRhdGEoKSwgbV9hY2N1bXVsYXRlZERhdGEuc2l6ZSgpKTsK
KyAgICAgICAgcGx1Z2luLm1fY29tcGxldGVkUmFuZ2VzLmFkZCh7IG1fcG9zaXRpb24sIG1fcG9z
aXRpb24gKyBtX2FjY3VtdWxhdGVkRGF0YS5zaXplKCkgLSAxfSk7CisgICAgfQogfQogCiBib29s
IFBERlBsdWdpbjo6Qnl0ZVJhbmdlUmVxdWVzdDo6bWF5YmVDb21wbGV0ZShQREZQbHVnaW4mIHBs
dWdpbikKQEAgLTgzNiw2ICs4NTAsMTIgQEAgYm9vbCBQREZQbHVnaW46OkJ5dGVSYW5nZVJlcXVl
c3Q6Om1heWJlQ29tcGxldGUoUERGUGx1Z2luJiBwbHVnaW4pCiAgICAgICAgIGNvbXBsZXRlV2l0
aEJ5dGVzKENGRGF0YUdldEJ5dGVQdHIocGx1Z2luLm1fZGF0YS5nZXQoKSkgKyBtX3Bvc2l0aW9u
LCBtX2NvdW50LCBwbHVnaW4pOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CisKKyAgICBp
ZiAocGx1Z2luLm1fY29tcGxldGVkUmFuZ2VzLmNvbnRhaW5zKHsgbV9wb3NpdGlvbiwgbV9wb3Np
dGlvbiArIG1fY291bnQgLSAxIH0pKSB7CisgICAgICAgIExPRyhQREYsICJDb21wbGV0aW5nIHJl
cXVlc3QgJWxsdSB3aXRoIGEgcHJldmlvdXNseSBjb21wbGV0ZWQgcmFuZ2UiLCBpZGVudGlmaWVy
KCkpOworICAgICAgICBjb21wbGV0ZVdpdGhCeXRlcyhDRkRhdGFHZXRCeXRlUHRyKHBsdWdpbi5t
X2RhdGEuZ2V0KCkpICsgbV9wb3NpdGlvbiwgbV9jb3VudCwgcGx1Z2luKTsKKyAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgfQogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtMTI4Nyw2ICsxMzA3
LDggQEAgdm9pZCBQREZQbHVnaW46OmNvbnZlcnRQb3N0U2NyaXB0RGF0YUlmTmVlZGVkKCkKIAog
dm9pZCBQREZQbHVnaW46OnBkZkRvY3VtZW50RGlkTG9hZCgpCiB7CisgICAgTE9HKFBERiwgIlBE
RiBkb2N1bWVudCBmaW5pc2hlZCBsb2FkaW5nIHdpdGggYSB0b3RhbCBvZiAlbGx1IGJ5dGVzIiwg
bV9zdHJlYW1lZEJ5dGVzKTsKKwogICAgIGFkZEFyY2hpdmVSZXNvdXJjZSgpOwogCiAgICAgbV9k
b2N1bWVudEZpbmlzaGVkTG9hZGluZyA9IHRydWU7CkBAIC0xMzk2LDYgKzE0MTgsMTAgQEAgdm9p
ZCBQREZQbHVnaW46Om1hbnVhbFN0cmVhbURpZFJlY2VpdmVEYXRhKGNvbnN0IGNoYXIqIGJ5dGVz
LCBpbnQgbGVuZ3RoKQogICAgIG1fc3RyZWFtZWRCeXRlcyArPSBsZW5ndGg7CiAKICNpZiBIQVZF
KElOQ1JFTUVOVEFMX1BERl9BUElTKQorICAgIC8vIEtlZXAgb3VyIHJhbmdlcy1sb29rdXAtdGFi
bGUgY29tcGFjdCBieSBjb250aW51b3VzbHkgdXBkYXRpbmcgaXRzIGZpcnN0IHJhbmdlCisgICAg
Ly8gYXMgdGhlIGVudGlyZSBkb2N1bWVudCBzdHJlYW1zIGluIGZyb20gdGhlIG5ldHdvcmsuCisg
ICAgbV9jb21wbGV0ZWRSYW5nZXMuYWRkKHsgMCwgbV9zdHJlYW1lZEJ5dGVzIC0gMSB9KTsKKyAg
ICAKICAgICBpZiAobV9pbmNyZW1lbnRhbFBERkxvYWRpbmdFbmFibGVkKSB7CiAgICAgICAgIEhh
c2hTZXQ8dWludDY0X3Q+IGhhbmRsZWRSZXF1ZXN0czsKICAgICAgICAgZm9yIChhdXRvJiByZXF1
ZXN0IDogbV9vdXRzdGFuZGluZ0J5dGVSYW5nZVJlcXVlc3RzLnZhbHVlcygpKSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>