<?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>151731</bug_id>
          
          <creation_ts>2015-12-01 16:45:46 -0800</creation_ts>
          <short_desc>Modern IDB: storage/indexeddb/cursor-advance.html fails</short_desc>
          <delta_ts>2015-12-03 12:07:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>Safari 9</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>151807</dependson>
          <blocked>149117</blocked>
    
    <blocked>150882</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>jsbell</cc>
    
    <cc>kondapallykalyan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1145456</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-12-01 16:45:46 -0800</bug_when>
    <thetext>Modern IDB: storage/indexeddb/cursor-advance.html fails

It expects detailed error messages on the exceptions that are thrown.

One of them we can match exactly.

The others we&apos;ll give a good message for and then update the test results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145459</commentid>
    <comment_count>1</comment_count>
      <attachid>266411</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-12-01 16:54:45 -0800</bug_when>
    <thetext>Created attachment 266411
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145460</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-01 16:55:30 -0800</bug_when>
    <thetext>Attachment 266411 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/JSDOMBinding.cpp:245:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
Total errors found: 1 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145462</commentid>
    <comment_count>3</comment_count>
      <attachid>266412</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-12-01 17:00:22 -0800</bug_when>
    <thetext>Created attachment 266412
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145970</commentid>
    <comment_count>4</comment_count>
      <attachid>266537</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-12-03 11:12:30 -0800</bug_when>
    <thetext>Created attachment 266537
Patch v3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145973</commentid>
    <comment_count>5</comment_count>
      <attachid>266537</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-12-03 11:24:23 -0800</bug_when>
    <thetext>Comment on attachment 266537
Patch v3

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

r=me with one comment.

&gt; Source/WebCore/bindings/js/JSDOMBinding.cpp:226
&gt; +static JSValue createDOMException(ExecState* exec, ExceptionCode ec, const String&amp; message)

Less duplicate code.  Share with the original createDOMException.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145984</commentid>
    <comment_count>6</comment_count>
      <attachid>266539</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-12-03 11:35:41 -0800</bug_when>
    <thetext>Created attachment 266539
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146004</commentid>
    <comment_count>7</comment_count>
      <attachid>266539</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-03 12:07:16 -0800</bug_when>
    <thetext>Comment on attachment 266539
Patch for landing

Clearing flags on attachment: 266539

Committed r193364: &lt;http://trac.webkit.org/changeset/193364&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146005</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-03 12:07:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266411</attachid>
            <date>2015-12-01 16:54:45 -0800</date>
            <delta_ts>2015-12-01 17:00:22 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>13636</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyMGQzZmI4Li40Nzg5N2FlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTUgQEAKIDIwMTUtMTIt
MDEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCisgICAgICAgIE1vZGVybiBJ
REI6IHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1hZHZhbmNlLmh0bWwgZmFpbHMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTE3MzEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy13
azEvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3It
YWR2YW5jZS1leHBlY3RlZC50eHQ6CisKKzIwMTUtMTItMDEgIEJyYWR5IEVpZHNvbiAgPGJlaWRz
b25AYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCB1cGRhdGVkIHRlc3QgcmVzdWx0IG1pc3Npbmcg
ZnJvbSBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xOTI5MjQKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTcyNQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMWNhZjFmYi4uMDIx
Njk1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtNzMsNiArNzMsNyBAQCBpbnNwZWN0b3IvaW5kZXhlZGRiCiAjIFRlc3RzIHRoYXQgYXJl
IHNraXBwZWQgYWJvdmUgYnV0IHRoYXQgcGFzcyBpbiBNb2Rlcm4gSURCIGFyZSB1bnNraXBwZWQg
YmVsb3cuCiBzdG9yYWdlL2luZGV4ZWRkYi9hYm9ydGVkLXZlcnNpb25jaGFuZ2UtY2xvc2VzLmh0
bWwgWyBQYXNzIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2Jhc2ljcy5odG1sIFsgUGFzcyBdCitzdG9y
YWdlL2luZGV4ZWRkYi9jdXJzb3ItYWR2YW5jZS5odG1sIFsgUGFzcyBdCiBzdG9yYWdlL2luZGV4
ZWRkYi9jcmVhdGUtYW5kLXJlbW92ZS1vYmplY3Qtc3RvcmUuaHRtbAogc3RvcmFnZS9pbmRleGVk
ZGIvY3Vyc29yLWNhc3QuaHRtbCBbIFBhc3MgXQogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWZp
bmlzaGVkLmh0bWwgWyBQYXNzIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2N1cnNvci1hZHZhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2N1cnNvci1hZHZhbmNlLWV4cGVjdGVkLnR4dAppbmRleCBmZDMyOTBhLi43YTYz
Y2VlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItYWR2
YW5jZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vy
c29yLWFkdmFuY2UtZXhwZWN0ZWQudHh0CkBAIC0xODEsMTMgKzE4MSwxMyBAQCBQQVNTIEV4Y2Vw
dGlvbiB3YXMgdGhyb3duLgogUEFTUyBjdXJzb3IuYWR2YW5jZSgwKSB0aHJldyBUeXBlRXJyb3I6
IEZhaWxlZCB0byBleGVjdXRlICdhZHZhbmNlJyBvbiAnSURCQ3Vyc29yJzogQSBjb3VudCBhcmd1
bWVudCB3aXRoIHZhbHVlIDAgKHplcm8pIHdhcyBzdXBwbGllZCwgbXVzdCBiZSBncmVhdGVyIHRo
YW4gMC4KIEV4cGVjdGluZyBUeXBlRXJyb3IgZXhjZXB0aW9uIGZyb20gY3Vyc29yLmFkdmFuY2Uo
LTEpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgotUEFTUyBjdXJzb3IuYWR2YW5jZSgtMSkg
dGhyZXcgVHlwZUVycm9yOiBGYWlsZWQgdG8gZXhlY3V0ZSAnYWR2YW5jZScgb24gJ0lEQkN1cnNv
cic6IFZhbHVlIGlzIG91dHNpZGUgdGhlICd1bnNpZ25lZCBsb25nJyB2YWx1ZSByYW5nZS4KK1BB
U1MgY3Vyc29yLmFkdmFuY2UoLTEpIHRocmV3IFR5cGVFcnJvcjogVmFsdWUgLTEgaXMgb3V0c2lk
ZSB0aGUgcmFuZ2UgWzAsIDQyOTQ5NjcyOTVdCiBFeHBlY3RpbmcgVHlwZUVycm9yIGV4Y2VwdGlv
biBmcm9tIGN1cnNvci5hZHZhbmNlKDB4MTAwMDAwMDAwKQogUEFTUyBFeGNlcHRpb24gd2FzIHRo
cm93bi4KLVBBU1MgY3Vyc29yLmFkdmFuY2UoMHgxMDAwMDAwMDApIHRocmV3IFR5cGVFcnJvcjog
RmFpbGVkIHRvIGV4ZWN1dGUgJ2FkdmFuY2UnIG9uICdJREJDdXJzb3InOiBWYWx1ZSBpcyBvdXRz
aWRlIHRoZSAndW5zaWduZWQgbG9uZycgdmFsdWUgcmFuZ2UuCitQQVNTIGN1cnNvci5hZHZhbmNl
KDB4MTAwMDAwMDAwKSB0aHJldyBUeXBlRXJyb3I6IFZhbHVlIDQyOTQ5NjcyOTYgaXMgb3V0c2lk
ZSB0aGUgcmFuZ2UgWzAsIDQyOTQ5NjcyOTVdCiBFeHBlY3RpbmcgVHlwZUVycm9yIGV4Y2VwdGlv
biBmcm9tIGN1cnNvci5hZHZhbmNlKDB4MjAwMDAwMDAwMDAwMDApCiBQQVNTIEV4Y2VwdGlvbiB3
YXMgdGhyb3duLgotUEFTUyBjdXJzb3IuYWR2YW5jZSgweDIwMDAwMDAwMDAwMDAwKSB0aHJldyBU
eXBlRXJyb3I6IEZhaWxlZCB0byBleGVjdXRlICdhZHZhbmNlJyBvbiAnSURCQ3Vyc29yJzogVmFs
dWUgaXMgb3V0c2lkZSB0aGUgJ3Vuc2lnbmVkIGxvbmcnIHZhbHVlIHJhbmdlLgorUEFTUyBjdXJz
b3IuYWR2YW5jZSgweDIwMDAwMDAwMDAwMDAwKSB0aHJldyBUeXBlRXJyb3I6IFZhbHVlIDkwMDcx
OTkyNTQ3NDA5OTIgaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWzAsIDQyOTQ5NjcyOTVdCiAKIHRlc3RF
ZGdlcygpOgogdHJhbnMgPSBkYi50cmFuc2FjdGlvbihvYmplY3RTdG9yZU5hbWUsICdyZWFkb25s
eScpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggZDMzMzVjMS4uNzZlNzViZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsx
LDM0IEBACiAyMDE1LTEyLTAxICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAor
ICAgICAgICBNb2Rlcm4gSURCOiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItYWR2YW5jZS5odG1s
IGZhaWxzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTUxNzMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzIChBdCBsZWFzdCBvbmUgZmFpbGluZyB0ZXN0IG5vdyBwYXNzZXMpLgorCisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmg6CisgICAgICAgICogTW9kdWxl
cy9pbmRleGVkZGIvSURCQ3Vyc29yLmlkbDoKKyAgICAgICAgCisgICAgICAgICogTW9kdWxlcy9p
bmRleGVkZGIvY2xpZW50L0lEQkN1cnNvckltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURC
Q2xpZW50OjpJREJDdXJzb3I6OmFkdmFuY2UpOiBSZXR1cm4gYSBjdXN0b20gZXhjZXB0aW9uIG1l
c3NhZ2UgZm9yIFR5cGVFcnJvci4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQv
SURCQ3Vyc29ySW1wbC5oOgorICAgICAgICAKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9s
ZWdhY3kvTGVnYWN5Q3Vyc29yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxlZ2FjeUN1cnNvcjo6
YWR2YW5jZSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvbGVnYWN5L0xlZ2FjeUN1cnNv
ci5oOgorICAgICAgICAKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRE9NRXhjZXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OnNldERPTUV4Y2VwdGlvbik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmg6
CisgICAgICAgIAorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQ6
CisgICAgICAgIAorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5j
cHA6CisKKzIwMTUtMTItMDEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCiAg
ICAgICAgIEdpdmUgYSBtb3JlIGRldGFpbGVkIG1lc3NhZ2UgZm9yIFR5cGVFcnJvcnMgdGhhdCBy
ZXN1bHQgZnJvbSBFbmZvcmNlUmFuZ2UuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTE3MjUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJDdXJzb3IuaAppbmRleCA0MGIyOGVlLi4xYTEzYmJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaApAQCAtNjYsNyArNjYsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBJREJBbnkqIHNvdXJjZSgpID0gMDsKIAogICAgIHZpcnR1YWwgUmVm
UHRyPElEQlJlcXVlc3Q+IHVwZGF0ZShKU0M6OkV4ZWNTdGF0ZSYsIERlcHJlY2F0ZWQ6OlNjcmlw
dFZhbHVlJiwgRXhjZXB0aW9uQ29kZSYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgYWR2YW5jZSh1
bnNpZ25lZCBsb25nLCBFeGNlcHRpb25Db2RlJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBhZHZh
bmNlKHVuc2lnbmVkIGxvbmcsIEV4Y2VwdGlvbkNvZGUmLCBTdHJpbmcmIGV4Y2VwdGlvbk1lc3Nh
Z2UpID0gMDsKICAgICAvLyBGSVhNRTogVHJ5IHRvIG1vZGlmeSB0aGUgY29kZSBnZW5lcmF0b3Ig
c28gdGhpcyBvdmVybG9hZCBpcyB1bm5lZWRlZC4KICAgICB2aXJ0dWFsIHZvaWQgY29udGludWVG
dW5jdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhjZXB0aW9uQ29kZSYpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgY29udGludWVGdW5jdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
Y29uc3QgRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUmIGtleSwgRXhjZXB0aW9uQ29kZSYpID0gMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaWRsCmluZGV4
IDY0YjI5MWQuLjI2YzUxYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQkN1cnNvci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCQ3Vyc29yLmlkbApAQCAtMzQsNyArMzQsNyBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBhbnkgcHJpbWFyeUtleTsKIAogICAgIFtDYWxsV2l0aD1TY3JpcHRTdGF0ZSwgUmFpc2VzRXhj
ZXB0aW9uXSBJREJSZXF1ZXN0IHVwZGF0ZShhbnkgdmFsdWUpOwotICAgIFtSYWlzZXNFeGNlcHRp
b25dIHZvaWQgYWR2YW5jZShbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIGNvdW50KTsKKyAg
ICBbUmFpc2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2VdIHZvaWQgYWR2YW5jZShbRW5mb3JjZVJhbmdl
XSB1bnNpZ25lZCBsb25nIGNvdW50KTsKICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCwgSW1wbGVtZW50ZWRBcz1jb250aW51ZUZ1bmN0aW9uLCBSYWlzZXNFeGNlcHRpb25dIHZv
aWQgY29udGludWUob3B0aW9uYWwgYW55IGtleSk7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQsIEltcGxlbWVudGVkQXM9ZGVsZXRlRnVuY3Rpb24sIFJhaXNlc0V4Y2VwdGlv
bl0gSURCUmVxdWVzdCBkZWxldGUoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ3Vyc29ySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ3Vyc29ySW1wbC5jcHAKaW5kZXggNmM3YjNk
MC4uNWI4MWVmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
Y2xpZW50L0lEQkN1cnNvckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL2NsaWVudC9JREJDdXJzb3JJbXBsLmNwcApAQCAtMTQ0LDcgKzE0NCw3IEBAIFJlZlB0
cjxXZWJDb3JlOjpJREJSZXF1ZXN0PiBJREJDdXJzb3I6OnVwZGF0ZShKU0M6OkV4ZWNTdGF0ZSYg
ZXhlYywgRGVwcmVjYXRlZDo6CiAgICAgcmV0dXJuIHJlcXVlc3Q7CiB9CiAKLXZvaWQgSURCQ3Vy
c29yOjphZHZhbmNlKHVuc2lnbmVkIGxvbmcgY291bnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQordm9p
ZCBJREJDdXJzb3I6OmFkdmFuY2UodW5zaWduZWQgbG9uZyBjb3VudCwgRXhjZXB0aW9uQ29kZSYg
ZWMsIFN0cmluZyYgZXhjZXB0aW9uTWVzc2FnZSkKIHsKICAgICBMT0coSW5kZXhlZERCLCAiSURC
Q3Vyc29yOjphZHZhbmNlIik7CiAKQEAgLTE1NSw2ICsxNTUsNyBAQCB2b2lkIElEQkN1cnNvcjo6
YWR2YW5jZSh1bnNpZ25lZCBsb25nIGNvdW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICAKICAg
ICBpZiAoIWNvdW50KSB7CiAgICAgICAgIGVjID0gVHlwZUVycm9yOworICAgICAgICBleGNlcHRp
b25NZXNzYWdlID0gQVNDSUlMaXRlcmFsKCJGYWlsZWQgdG8gZXhlY3V0ZSAnYWR2YW5jZScgb24g
J0lEQkN1cnNvcic6IEEgY291bnQgYXJndW1lbnQgd2l0aCB2YWx1ZSAwICh6ZXJvKSB3YXMgc3Vw
cGxpZWQsIG11c3QgYmUgZ3JlYXRlciB0aGFuIDAuIik7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9J
REJDdXJzb3JJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQv
SURCQ3Vyc29ySW1wbC5oCmluZGV4IDkzNDgzMmYuLmY0Y2JhZTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDdXJzb3JJbXBsLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkN1cnNvckltcGwuaApA
QCAtNTYsNyArNTYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBJREJBbnkqIHNvdXJjZSgpIG92
ZXJyaWRlIGZpbmFsOwogCiAgICAgdmlydHVhbCBSZWZQdHI8V2ViQ29yZTo6SURCUmVxdWVzdD4g
dXBkYXRlKEpTQzo6RXhlY1N0YXRlJiwgRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUmLCBFeGNlcHRp
b25Db2RlJikgb3ZlcnJpZGUgZmluYWw7Ci0gICAgdmlydHVhbCB2b2lkIGFkdmFuY2UodW5zaWdu
ZWQgbG9uZywgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlIGZpbmFsOworICAgIHZpcnR1YWwgdm9p
ZCBhZHZhbmNlKHVuc2lnbmVkIGxvbmcsIEV4Y2VwdGlvbkNvZGUmLCBTdHJpbmcmIGV4Y2VwdGlv
bk1lc3NhZ2UpIG92ZXJyaWRlIGZpbmFsOwogICAgIHZpcnR1YWwgdm9pZCBjb250aW51ZUZ1bmN0
aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGUgZmlu
YWw7CiAgICAgdmlydHVhbCB2b2lkIGNvbnRpbnVlRnVuY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIGNvbnN0IERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlJiBrZXksIEV4Y2VwdGlvbkNvZGUm
KSBvdmVycmlkZSBmaW5hbDsKICAgICB2aXJ0dWFsIFJlZlB0cjxXZWJDb3JlOjpJREJSZXF1ZXN0
PiBkZWxldGVGdW5jdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhjZXB0aW9uQ29kZSYp
IG92ZXJyaWRlIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvbGVnYWN5L0xlZ2FjeUN1cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9sZWdhY3kvTGVnYWN5Q3Vyc29yLmNwcAppbmRleCBhN2E0MjAxLi43ZGY5OGM5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5
Q3Vyc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kv
TGVnYWN5Q3Vyc29yLmNwcApAQCAtMTI3LDcgKzEyNyw3IEBAIFJlZlB0cjxJREJSZXF1ZXN0PiBM
ZWdhY3lDdXJzb3I6OnVwZGF0ZShKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIERlcHJlY2F0ZWQ6OlNj
cmlwCiAgICAgcmV0dXJuIG9iamVjdFN0b3JlLT5wdXQoSURCRGF0YWJhc2VCYWNrZW5kOjpDdXJz
b3JVcGRhdGUsIExlZ2FjeUFueTo6Y3JlYXRlKHRoaXMpLCBzdGF0ZSwgdmFsdWUsIG1fY3VycmVu
dFByaW1hcnlLZXksIGVjKTsKIH0KIAotdm9pZCBMZWdhY3lDdXJzb3I6OmFkdmFuY2UodW5zaWdu
ZWQgbG9uZyBjb3VudCwgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIExlZ2FjeUN1cnNvcjo6YWR2
YW5jZSh1bnNpZ25lZCBsb25nIGNvdW50LCBFeGNlcHRpb25Db2RlJiBlYywgU3RyaW5nJikKIHsK
ICAgICBlYyA9IDA7CiAgICAgTE9HKFN0b3JhZ2VBUEksICJMZWdhY3lDdXJzb3I6OmFkdmFuY2Ui
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2xlZ2FjeS9M
ZWdhY3lDdXJzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2xlZ2FjeS9M
ZWdhY3lDdXJzb3IuaAppbmRleCA3NjcwNGQyLi4wODE1YjAxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5Q3Vyc29yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGVnYWN5L0xlZ2FjeUN1cnNvci5oCkBAIC02
Miw3ICs2Miw3IEBAIHB1YmxpYzoKICAgICBJREJBbnkqIHNvdXJjZSgpIG92ZXJyaWRlOwogCiAg
ICAgUmVmUHRyPElEQlJlcXVlc3Q+IHVwZGF0ZShKU0M6OkV4ZWNTdGF0ZSYsIERlcHJlY2F0ZWQ6
OlNjcmlwdFZhbHVlJiwgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlOwotICAgIHZvaWQgYWR2YW5j
ZSh1bnNpZ25lZCBsb25nLCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGU7CisgICAgdm9pZCBhZHZh
bmNlKHVuc2lnbmVkIGxvbmcsIEV4Y2VwdGlvbkNvZGUmLCBTdHJpbmcmIGV4Y2VwdGlvbk1lc3Nh
Z2UpIG92ZXJyaWRlOwogICAgIC8vIEZJWE1FOiBUcnkgdG8gbW9kaWZ5IHRoZSBjb2RlIGdlbmVy
YXRvciBzbyB0aGlzIG92ZXJsb2FkIGlzIHVubmVlZGVkLgogICAgIHZvaWQgY29udGludWVGdW5j
dGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhjZXB0aW9uQ29kZSYgZWMpIG92ZXJyaWRl
IHsgY29udGludWVGdW5jdGlvbihzdGF0aWNfY2FzdDxJREJLZXkqPihudWxscHRyKSwgZWMpOyB9
CiAgICAgdm9pZCBjb250aW51ZUZ1bmN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25z
dCBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSYga2V5LCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcAppbmRleCAwNjU3
MmU0Li42ZWIyODk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUJpbmRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGlu
Zy5jcHAKQEAgLTIyMyw2ICsyMjMsNDcgQEAgdm9pZCByZXBvcnRDdXJyZW50RXhjZXB0aW9uKEV4
ZWNTdGF0ZSogZXhlYykKICAgICAgICAgZXJyb3JPYmplY3QgPSB0b0pTKGV4ZWMsIGdsb2JhbE9i
amVjdCwgaW50ZXJmYWNlTmFtZTo6Y3JlYXRlKGRlc2NyaXB0aW9uKSk7IFwKICAgICAgICAgYnJl
YWs7CiAKK3N0YXRpYyBKU1ZhbHVlIGNyZWF0ZURPTUV4Y2VwdGlvbihFeGVjU3RhdGUqIGV4ZWMs
IEV4Y2VwdGlvbkNvZGUgZWMsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKK3sKKyAgICBpZiAoIWVj
KQorICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKworICAgIC8vIEZJWE1FOiBIYW5kbGUg
b3RoZXIgV2ViSURMIGV4Y2VwdGlvbiB0eXBlcy4KKyAgICBpZiAoZWMgPT0gVHlwZUVycm9yKSB7
CisgICAgICAgIGlmIChtZXNzYWdlLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiBjcmVh
dGVUeXBlRXJyb3IoZXhlYyk7CisgICAgICAgIHJldHVybiBjcmVhdGVUeXBlRXJyb3IoZXhlYywg
bWVzc2FnZSk7CisgICAgfQorCisgICAgaWYgKGVjID09IFJhbmdlRXJyb3IpIHsKKyAgICAgICAg
aWYgKG1lc3NhZ2UuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZVJhbmdlRXJy
b3IoZXhlYywgQVNDSUlMaXRlcmFsKCJCYWQgdmFsdWUiKSk7CisgICAgICAgIHJldHVybiBjcmVh
dGVSYW5nZUVycm9yKGV4ZWMsIG1lc3NhZ2UpOworICAgIH0KKworICAgIC8vIEZJWE1FOiBBbGwg
Y2FsbGVycyB0byBzZXRET01FeGNlcHRpb24gbmVlZCB0byBwYXNzIGluIHRoZSByaWdodCBnbG9i
YWwgb2JqZWN0CisgICAgLy8gZm9yIG5vdywgd2UncmUgZ29pbmcgdG8gYXNzdW1lIHRoZSBsZXhp
Y2FsR2xvYmFsT2JqZWN0LiAgV2hpY2ggaXMgd3JvbmcgaW4gY2FzZXMgbGlrZSB0aGlzOgorICAg
IC8vIGZyYW1lc1swXS5kb2N1bWVudC5jcmVhdGVFbGVtZW50KG51bGwsIG51bGwpOyAvLyB0aHJv
d3MgYW4gZXhjZXB0aW9uIHdoaWNoIHNob3VsZCBoYXZlIHRoZSBzdWJmcmFtZXMgcHJvdG90eXBl
cy4KKyAgICBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZGVwcmVjYXRlZEdsb2Jh
bE9iamVjdEZvclByb3RvdHlwZShleGVjKTsKKworICAgIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlv
biBkZXNjcmlwdGlvbihlYyk7CisKKyAgICBDU3RyaW5nIG1lc3NhZ2VDU3RyaW5nID0gbWVzc2Fn
ZS51dGY4KCk7CisgICAgaWYgKCFtZXNzYWdlLmlzRW1wdHkoKSkgeworICAgICAgICAvLyBJdCBp
cyBzYWZlIHRvIGRvIHRoaXMgYmVjYXVzZSB0aGUgY2hhciogY29udGVudHMgb2YgdGhlIENTdHJp
bmcgYXJlIGNvcGllZCBpbnRvIGEgbmV3IFdURjo6U3RyaW5nIGJlZm9yZSB0aGUgQ1N0cmluZyBp
cyBkZXN0cm95ZWQuCisgICAgICAgIGRlc2NyaXB0aW9uLmRlc2NyaXB0aW9uID0gbWVzc2FnZUNT
dHJpbmcuZGF0YSgpOworICAgIH0KKworICAgIEpTVmFsdWUgZXJyb3JPYmplY3Q7CisgICAgc3dp
dGNoIChkZXNjcmlwdGlvbi50eXBlKSB7CisgICAgICAgIERPTV9FWENFUFRJT05fSU5URVJGQUNF
U19GT1JfRUFDSChUUllfVE9fQ1JFQVRFX0VYQ0VQVElPTikKKyAgICB9CisgICAgCisgICAgQVNT
RVJUKGVycm9yT2JqZWN0KTsKKyAgICBhZGRFcnJvckluZm8oZXhlYywgYXNPYmplY3QoZXJyb3JP
YmplY3QpLCB0cnVlKTsKKyAgICByZXR1cm4gZXJyb3JPYmplY3Q7Cit9CisKIEpTVmFsdWUgY3Jl
YXRlRE9NRXhjZXB0aW9uKEV4ZWNTdGF0ZSogZXhlYywgRXhjZXB0aW9uQ29kZSBlYykKIHsKICAg
ICBpZiAoIWVjKQpAQCAtMjYwLDYgKzMwMSwxNCBAQCB2b2lkIHNldERPTUV4Y2VwdGlvbihFeGVj
U3RhdGUqIGV4ZWMsIEV4Y2VwdGlvbkNvZGUgZWMpCiAgICAgZXhlYy0+dm0oKS50aHJvd0V4Y2Vw
dGlvbihleGVjLCBjcmVhdGVET01FeGNlcHRpb24oZXhlYywgZWMpKTsKIH0KIAordm9pZCBzZXRE
T01FeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEV4Y2VwdGlvbkNvZGUgZWMsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSkKK3sKKyAgICBpZiAoIWVjIHx8IGV4ZWMtPmhhZEV4Y2VwdGlvbigp
KQorICAgICAgICByZXR1cm47CisKKyAgICBleGVjLT52bSgpLnRocm93RXhjZXB0aW9uKGV4ZWMs
IGNyZWF0ZURPTUV4Y2VwdGlvbihleGVjLCBlYywgbWVzc2FnZSkpOworfQorCiAjdW5kZWYgVFJZ
X1RPX0NSRUFURV9FWENFUFRJT04KIAogYm9vbCBzaG91bGRBbGxvd0FjY2Vzc1RvTm9kZShFeGVj
U3RhdGUqIGV4ZWMsIE5vZGUqIG5vZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUJpbmRpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
QmluZGluZy5oCmluZGV4IGMzYzU4OTguLjZkOGQ1MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NQmluZGluZy5oCkBAIC0yODksNiArMjg5LDcgQEAgSlNDOjpKU1ZhbHVlIGNy
ZWF0ZURPTUV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSosIEV4Y2VwdGlvbkNvZGUpOwogCiAvLyBD
b252ZXJ0IGEgRE9NIGltcGxlbWVudGF0aW9uIGV4Y2VwdGlvbiBjb2RlIGludG8gYSBKYXZhU2Ny
aXB0IGV4Y2VwdGlvbiBpbiB0aGUgZXhlY3V0aW9uIHN0YXRlLgogV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRET01FeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBFeGNlcHRpb25Db2RlKTsKK3ZvaWQg
c2V0RE9NRXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiwgRXhjZXB0aW9uQ29kZSwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlKTsKIAogSlNDOjpKU1ZhbHVlIGpzU3RyaW5nKEpTQzo6RXhlY1N0YXRlKiwg
Y29uc3QgVVJMJik7IC8vIGVtcHR5IGlmIHRoZSBVUkwgaXMgbnVsbAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0IGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dAppbmRleCA0Nzk1YjEw
Li4zNzQ0MWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lE
TEF0dHJpYnV0ZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURM
QXR0cmlidXRlcy50eHQKQEAgLTEwNiw2ICsxMDYsNyBAQCBQYXNzQ29udGV4dAogUHJpdmF0ZQog
UHV0Rm9yd2FyZHM9KgogUmFpc2VzRXhjZXB0aW9uCitSYWlzZXNFeGNlcHRpb25XaXRoTWVzc2Fn
ZQogUmVmbGVjdD0qCiBSZXBsYWNlYWJsZQogUmVwbGFjZWFibGVDb25zdHJ1Y3RvcgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAK
aW5kZXggYjY5NGQ2MS4uZmQ5ZGZiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwCkBAIC00NTYsNyArNDU2LDggQEAgcHVi
bGljOgogCiAgICAgICAgIGlmIChtX3NraXBDb3VudCkgewogICAgICAgICAgICAgRXhjZXB0aW9u
Q29kZSBlYyA9IDA7Ci0gICAgICAgICAgICBpZGJDdXJzb3ItPmFkdmFuY2UobV9za2lwQ291bnQs
IGVjKTsKKyAgICAgICAgICAgIFN0cmluZyBleGNlcHRpb25NZXNzYWdlOworICAgICAgICAgICAg
aWRiQ3Vyc29yLT5hZHZhbmNlKG1fc2tpcENvdW50LCBlYywgZXhjZXB0aW9uTWVzc2FnZSk7CiAg
ICAgICAgICAgICBpZiAoZWMpCiAgICAgICAgICAgICAgICAgbV9yZXF1ZXN0Q2FsbGJhY2stPnNl
bmRGYWlsdXJlKCJDb3VsZCBub3QgYWR2YW5jZSBjdXJzb3IuIik7CiAgICAgICAgICAgICBtX3Nr
aXBDb3VudCA9IDA7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266412</attachid>
            <date>2015-12-01 17:00:22 -0800</date>
            <delta_ts>2015-12-03 11:12:30 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>13635</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyMGQzZmI4Li40Nzg5N2FlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTUgQEAKIDIwMTUtMTIt
MDEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCisgICAgICAgIE1vZGVybiBJ
REI6IHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1hZHZhbmNlLmh0bWwgZmFpbHMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTE3MzEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy13
azEvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3It
YWR2YW5jZS1leHBlY3RlZC50eHQ6CisKKzIwMTUtMTItMDEgIEJyYWR5IEVpZHNvbiAgPGJlaWRz
b25AYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCB1cGRhdGVkIHRlc3QgcmVzdWx0IG1pc3Npbmcg
ZnJvbSBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xOTI5MjQKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTcyNQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMWNhZjFmYi4uMDIx
Njk1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtNzMsNiArNzMsNyBAQCBpbnNwZWN0b3IvaW5kZXhlZGRiCiAjIFRlc3RzIHRoYXQgYXJl
IHNraXBwZWQgYWJvdmUgYnV0IHRoYXQgcGFzcyBpbiBNb2Rlcm4gSURCIGFyZSB1bnNraXBwZWQg
YmVsb3cuCiBzdG9yYWdlL2luZGV4ZWRkYi9hYm9ydGVkLXZlcnNpb25jaGFuZ2UtY2xvc2VzLmh0
bWwgWyBQYXNzIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2Jhc2ljcy5odG1sIFsgUGFzcyBdCitzdG9y
YWdlL2luZGV4ZWRkYi9jdXJzb3ItYWR2YW5jZS5odG1sIFsgUGFzcyBdCiBzdG9yYWdlL2luZGV4
ZWRkYi9jcmVhdGUtYW5kLXJlbW92ZS1vYmplY3Qtc3RvcmUuaHRtbAogc3RvcmFnZS9pbmRleGVk
ZGIvY3Vyc29yLWNhc3QuaHRtbCBbIFBhc3MgXQogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWZp
bmlzaGVkLmh0bWwgWyBQYXNzIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2N1cnNvci1hZHZhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2N1cnNvci1hZHZhbmNlLWV4cGVjdGVkLnR4dAppbmRleCBmZDMyOTBhLi43YTYz
Y2VlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItYWR2
YW5jZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vy
c29yLWFkdmFuY2UtZXhwZWN0ZWQudHh0CkBAIC0xODEsMTMgKzE4MSwxMyBAQCBQQVNTIEV4Y2Vw
dGlvbiB3YXMgdGhyb3duLgogUEFTUyBjdXJzb3IuYWR2YW5jZSgwKSB0aHJldyBUeXBlRXJyb3I6
IEZhaWxlZCB0byBleGVjdXRlICdhZHZhbmNlJyBvbiAnSURCQ3Vyc29yJzogQSBjb3VudCBhcmd1
bWVudCB3aXRoIHZhbHVlIDAgKHplcm8pIHdhcyBzdXBwbGllZCwgbXVzdCBiZSBncmVhdGVyIHRo
YW4gMC4KIEV4cGVjdGluZyBUeXBlRXJyb3IgZXhjZXB0aW9uIGZyb20gY3Vyc29yLmFkdmFuY2Uo
LTEpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgotUEFTUyBjdXJzb3IuYWR2YW5jZSgtMSkg
dGhyZXcgVHlwZUVycm9yOiBGYWlsZWQgdG8gZXhlY3V0ZSAnYWR2YW5jZScgb24gJ0lEQkN1cnNv
cic6IFZhbHVlIGlzIG91dHNpZGUgdGhlICd1bnNpZ25lZCBsb25nJyB2YWx1ZSByYW5nZS4KK1BB
U1MgY3Vyc29yLmFkdmFuY2UoLTEpIHRocmV3IFR5cGVFcnJvcjogVmFsdWUgLTEgaXMgb3V0c2lk
ZSB0aGUgcmFuZ2UgWzAsIDQyOTQ5NjcyOTVdCiBFeHBlY3RpbmcgVHlwZUVycm9yIGV4Y2VwdGlv
biBmcm9tIGN1cnNvci5hZHZhbmNlKDB4MTAwMDAwMDAwKQogUEFTUyBFeGNlcHRpb24gd2FzIHRo
cm93bi4KLVBBU1MgY3Vyc29yLmFkdmFuY2UoMHgxMDAwMDAwMDApIHRocmV3IFR5cGVFcnJvcjog
RmFpbGVkIHRvIGV4ZWN1dGUgJ2FkdmFuY2UnIG9uICdJREJDdXJzb3InOiBWYWx1ZSBpcyBvdXRz
aWRlIHRoZSAndW5zaWduZWQgbG9uZycgdmFsdWUgcmFuZ2UuCitQQVNTIGN1cnNvci5hZHZhbmNl
KDB4MTAwMDAwMDAwKSB0aHJldyBUeXBlRXJyb3I6IFZhbHVlIDQyOTQ5NjcyOTYgaXMgb3V0c2lk
ZSB0aGUgcmFuZ2UgWzAsIDQyOTQ5NjcyOTVdCiBFeHBlY3RpbmcgVHlwZUVycm9yIGV4Y2VwdGlv
biBmcm9tIGN1cnNvci5hZHZhbmNlKDB4MjAwMDAwMDAwMDAwMDApCiBQQVNTIEV4Y2VwdGlvbiB3
YXMgdGhyb3duLgotUEFTUyBjdXJzb3IuYWR2YW5jZSgweDIwMDAwMDAwMDAwMDAwKSB0aHJldyBU
eXBlRXJyb3I6IEZhaWxlZCB0byBleGVjdXRlICdhZHZhbmNlJyBvbiAnSURCQ3Vyc29yJzogVmFs
dWUgaXMgb3V0c2lkZSB0aGUgJ3Vuc2lnbmVkIGxvbmcnIHZhbHVlIHJhbmdlLgorUEFTUyBjdXJz
b3IuYWR2YW5jZSgweDIwMDAwMDAwMDAwMDAwKSB0aHJldyBUeXBlRXJyb3I6IFZhbHVlIDkwMDcx
OTkyNTQ3NDA5OTIgaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWzAsIDQyOTQ5NjcyOTVdCiAKIHRlc3RF
ZGdlcygpOgogdHJhbnMgPSBkYi50cmFuc2FjdGlvbihvYmplY3RTdG9yZU5hbWUsICdyZWFkb25s
eScpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggZDMzMzVjMS4uNzZlNzViZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsx
LDM0IEBACiAyMDE1LTEyLTAxICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAor
ICAgICAgICBNb2Rlcm4gSURCOiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItYWR2YW5jZS5odG1s
IGZhaWxzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTUxNzMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzIChBdCBsZWFzdCBvbmUgZmFpbGluZyB0ZXN0IG5vdyBwYXNzZXMpLgorCisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmg6CisgICAgICAgICogTW9kdWxl
cy9pbmRleGVkZGIvSURCQ3Vyc29yLmlkbDoKKyAgICAgICAgCisgICAgICAgICogTW9kdWxlcy9p
bmRleGVkZGIvY2xpZW50L0lEQkN1cnNvckltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURC
Q2xpZW50OjpJREJDdXJzb3I6OmFkdmFuY2UpOiBSZXR1cm4gYSBjdXN0b20gZXhjZXB0aW9uIG1l
c3NhZ2UgZm9yIFR5cGVFcnJvci4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQv
SURCQ3Vyc29ySW1wbC5oOgorICAgICAgICAKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9s
ZWdhY3kvTGVnYWN5Q3Vyc29yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxlZ2FjeUN1cnNvcjo6
YWR2YW5jZSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvbGVnYWN5L0xlZ2FjeUN1cnNv
ci5oOgorICAgICAgICAKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRE9NRXhjZXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OnNldERPTUV4Y2VwdGlvbik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmg6
CisgICAgICAgIAorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQ6
CisgICAgICAgIAorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5j
cHA6CisKKzIwMTUtMTItMDEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCiAg
ICAgICAgIEdpdmUgYSBtb3JlIGRldGFpbGVkIG1lc3NhZ2UgZm9yIFR5cGVFcnJvcnMgdGhhdCBy
ZXN1bHQgZnJvbSBFbmZvcmNlUmFuZ2UuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTE3MjUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJDdXJzb3IuaAppbmRleCA0MGIyOGVlLi4xYTEzYmJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaApAQCAtNjYsNyArNjYsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBJREJBbnkqIHNvdXJjZSgpID0gMDsKIAogICAgIHZpcnR1YWwgUmVm
UHRyPElEQlJlcXVlc3Q+IHVwZGF0ZShKU0M6OkV4ZWNTdGF0ZSYsIERlcHJlY2F0ZWQ6OlNjcmlw
dFZhbHVlJiwgRXhjZXB0aW9uQ29kZSYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgYWR2YW5jZSh1
bnNpZ25lZCBsb25nLCBFeGNlcHRpb25Db2RlJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBhZHZh
bmNlKHVuc2lnbmVkIGxvbmcsIEV4Y2VwdGlvbkNvZGUmLCBTdHJpbmcmIGV4Y2VwdGlvbk1lc3Nh
Z2UpID0gMDsKICAgICAvLyBGSVhNRTogVHJ5IHRvIG1vZGlmeSB0aGUgY29kZSBnZW5lcmF0b3Ig
c28gdGhpcyBvdmVybG9hZCBpcyB1bm5lZWRlZC4KICAgICB2aXJ0dWFsIHZvaWQgY29udGludWVG
dW5jdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhjZXB0aW9uQ29kZSYpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgY29udGludWVGdW5jdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
Y29uc3QgRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUmIGtleSwgRXhjZXB0aW9uQ29kZSYpID0gMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaWRsCmluZGV4
IDY0YjI5MWQuLjI2YzUxYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQkN1cnNvci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCQ3Vyc29yLmlkbApAQCAtMzQsNyArMzQsNyBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBhbnkgcHJpbWFyeUtleTsKIAogICAgIFtDYWxsV2l0aD1TY3JpcHRTdGF0ZSwgUmFpc2VzRXhj
ZXB0aW9uXSBJREJSZXF1ZXN0IHVwZGF0ZShhbnkgdmFsdWUpOwotICAgIFtSYWlzZXNFeGNlcHRp
b25dIHZvaWQgYWR2YW5jZShbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIGNvdW50KTsKKyAg
ICBbUmFpc2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2VdIHZvaWQgYWR2YW5jZShbRW5mb3JjZVJhbmdl
XSB1bnNpZ25lZCBsb25nIGNvdW50KTsKICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCwgSW1wbGVtZW50ZWRBcz1jb250aW51ZUZ1bmN0aW9uLCBSYWlzZXNFeGNlcHRpb25dIHZv
aWQgY29udGludWUob3B0aW9uYWwgYW55IGtleSk7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQsIEltcGxlbWVudGVkQXM9ZGVsZXRlRnVuY3Rpb24sIFJhaXNlc0V4Y2VwdGlv
bl0gSURCUmVxdWVzdCBkZWxldGUoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ3Vyc29ySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ3Vyc29ySW1wbC5jcHAKaW5kZXggNmM3YjNk
MC4uNWI4MWVmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
Y2xpZW50L0lEQkN1cnNvckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL2NsaWVudC9JREJDdXJzb3JJbXBsLmNwcApAQCAtMTQ0LDcgKzE0NCw3IEBAIFJlZlB0
cjxXZWJDb3JlOjpJREJSZXF1ZXN0PiBJREJDdXJzb3I6OnVwZGF0ZShKU0M6OkV4ZWNTdGF0ZSYg
ZXhlYywgRGVwcmVjYXRlZDo6CiAgICAgcmV0dXJuIHJlcXVlc3Q7CiB9CiAKLXZvaWQgSURCQ3Vy
c29yOjphZHZhbmNlKHVuc2lnbmVkIGxvbmcgY291bnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQordm9p
ZCBJREJDdXJzb3I6OmFkdmFuY2UodW5zaWduZWQgbG9uZyBjb3VudCwgRXhjZXB0aW9uQ29kZSYg
ZWMsIFN0cmluZyYgZXhjZXB0aW9uTWVzc2FnZSkKIHsKICAgICBMT0coSW5kZXhlZERCLCAiSURC
Q3Vyc29yOjphZHZhbmNlIik7CiAKQEAgLTE1NSw2ICsxNTUsNyBAQCB2b2lkIElEQkN1cnNvcjo6
YWR2YW5jZSh1bnNpZ25lZCBsb25nIGNvdW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICAKICAg
ICBpZiAoIWNvdW50KSB7CiAgICAgICAgIGVjID0gVHlwZUVycm9yOworICAgICAgICBleGNlcHRp
b25NZXNzYWdlID0gQVNDSUlMaXRlcmFsKCJGYWlsZWQgdG8gZXhlY3V0ZSAnYWR2YW5jZScgb24g
J0lEQkN1cnNvcic6IEEgY291bnQgYXJndW1lbnQgd2l0aCB2YWx1ZSAwICh6ZXJvKSB3YXMgc3Vw
cGxpZWQsIG11c3QgYmUgZ3JlYXRlciB0aGFuIDAuIik7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9J
REJDdXJzb3JJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQv
SURCQ3Vyc29ySW1wbC5oCmluZGV4IDkzNDgzMmYuLmY0Y2JhZTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDdXJzb3JJbXBsLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkN1cnNvckltcGwuaApA
QCAtNTYsNyArNTYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBJREJBbnkqIHNvdXJjZSgpIG92
ZXJyaWRlIGZpbmFsOwogCiAgICAgdmlydHVhbCBSZWZQdHI8V2ViQ29yZTo6SURCUmVxdWVzdD4g
dXBkYXRlKEpTQzo6RXhlY1N0YXRlJiwgRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUmLCBFeGNlcHRp
b25Db2RlJikgb3ZlcnJpZGUgZmluYWw7Ci0gICAgdmlydHVhbCB2b2lkIGFkdmFuY2UodW5zaWdu
ZWQgbG9uZywgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlIGZpbmFsOworICAgIHZpcnR1YWwgdm9p
ZCBhZHZhbmNlKHVuc2lnbmVkIGxvbmcsIEV4Y2VwdGlvbkNvZGUmLCBTdHJpbmcmIGV4Y2VwdGlv
bk1lc3NhZ2UpIG92ZXJyaWRlIGZpbmFsOwogICAgIHZpcnR1YWwgdm9pZCBjb250aW51ZUZ1bmN0
aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGUgZmlu
YWw7CiAgICAgdmlydHVhbCB2b2lkIGNvbnRpbnVlRnVuY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIGNvbnN0IERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlJiBrZXksIEV4Y2VwdGlvbkNvZGUm
KSBvdmVycmlkZSBmaW5hbDsKICAgICB2aXJ0dWFsIFJlZlB0cjxXZWJDb3JlOjpJREJSZXF1ZXN0
PiBkZWxldGVGdW5jdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhjZXB0aW9uQ29kZSYp
IG92ZXJyaWRlIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvbGVnYWN5L0xlZ2FjeUN1cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9sZWdhY3kvTGVnYWN5Q3Vyc29yLmNwcAppbmRleCBhN2E0MjAxLi43ZGY5OGM5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5
Q3Vyc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kv
TGVnYWN5Q3Vyc29yLmNwcApAQCAtMTI3LDcgKzEyNyw3IEBAIFJlZlB0cjxJREJSZXF1ZXN0PiBM
ZWdhY3lDdXJzb3I6OnVwZGF0ZShKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIERlcHJlY2F0ZWQ6OlNj
cmlwCiAgICAgcmV0dXJuIG9iamVjdFN0b3JlLT5wdXQoSURCRGF0YWJhc2VCYWNrZW5kOjpDdXJz
b3JVcGRhdGUsIExlZ2FjeUFueTo6Y3JlYXRlKHRoaXMpLCBzdGF0ZSwgdmFsdWUsIG1fY3VycmVu
dFByaW1hcnlLZXksIGVjKTsKIH0KIAotdm9pZCBMZWdhY3lDdXJzb3I6OmFkdmFuY2UodW5zaWdu
ZWQgbG9uZyBjb3VudCwgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIExlZ2FjeUN1cnNvcjo6YWR2
YW5jZSh1bnNpZ25lZCBsb25nIGNvdW50LCBFeGNlcHRpb25Db2RlJiBlYywgU3RyaW5nJikKIHsK
ICAgICBlYyA9IDA7CiAgICAgTE9HKFN0b3JhZ2VBUEksICJMZWdhY3lDdXJzb3I6OmFkdmFuY2Ui
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2xlZ2FjeS9M
ZWdhY3lDdXJzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2xlZ2FjeS9M
ZWdhY3lDdXJzb3IuaAppbmRleCA3NjcwNGQyLi4wODE1YjAxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5Q3Vyc29yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGVnYWN5L0xlZ2FjeUN1cnNvci5oCkBAIC02
Miw3ICs2Miw3IEBAIHB1YmxpYzoKICAgICBJREJBbnkqIHNvdXJjZSgpIG92ZXJyaWRlOwogCiAg
ICAgUmVmUHRyPElEQlJlcXVlc3Q+IHVwZGF0ZShKU0M6OkV4ZWNTdGF0ZSYsIERlcHJlY2F0ZWQ6
OlNjcmlwdFZhbHVlJiwgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlOwotICAgIHZvaWQgYWR2YW5j
ZSh1bnNpZ25lZCBsb25nLCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGU7CisgICAgdm9pZCBhZHZh
bmNlKHVuc2lnbmVkIGxvbmcsIEV4Y2VwdGlvbkNvZGUmLCBTdHJpbmcmIGV4Y2VwdGlvbk1lc3Nh
Z2UpIG92ZXJyaWRlOwogICAgIC8vIEZJWE1FOiBUcnkgdG8gbW9kaWZ5IHRoZSBjb2RlIGdlbmVy
YXRvciBzbyB0aGlzIG92ZXJsb2FkIGlzIHVubmVlZGVkLgogICAgIHZvaWQgY29udGludWVGdW5j
dGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhjZXB0aW9uQ29kZSYgZWMpIG92ZXJyaWRl
IHsgY29udGludWVGdW5jdGlvbihzdGF0aWNfY2FzdDxJREJLZXkqPihudWxscHRyKSwgZWMpOyB9
CiAgICAgdm9pZCBjb250aW51ZUZ1bmN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25z
dCBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSYga2V5LCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcAppbmRleCAwNjU3
MmU0Li42ZWIyODk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUJpbmRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGlu
Zy5jcHAKQEAgLTIyMyw2ICsyMjMsNDcgQEAgdm9pZCByZXBvcnRDdXJyZW50RXhjZXB0aW9uKEV4
ZWNTdGF0ZSogZXhlYykKICAgICAgICAgZXJyb3JPYmplY3QgPSB0b0pTKGV4ZWMsIGdsb2JhbE9i
amVjdCwgaW50ZXJmYWNlTmFtZTo6Y3JlYXRlKGRlc2NyaXB0aW9uKSk7IFwKICAgICAgICAgYnJl
YWs7CiAKK3N0YXRpYyBKU1ZhbHVlIGNyZWF0ZURPTUV4Y2VwdGlvbihFeGVjU3RhdGUqIGV4ZWMs
IEV4Y2VwdGlvbkNvZGUgZWMsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKK3sKKyAgICBpZiAoIWVj
KQorICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKworICAgIC8vIEZJWE1FOiBIYW5kbGUg
b3RoZXIgV2ViSURMIGV4Y2VwdGlvbiB0eXBlcy4KKyAgICBpZiAoZWMgPT0gVHlwZUVycm9yKSB7
CisgICAgICAgIGlmIChtZXNzYWdlLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiBjcmVh
dGVUeXBlRXJyb3IoZXhlYyk7CisgICAgICAgIHJldHVybiBjcmVhdGVUeXBlRXJyb3IoZXhlYywg
bWVzc2FnZSk7CisgICAgfQorCisgICAgaWYgKGVjID09IFJhbmdlRXJyb3IpIHsKKyAgICAgICAg
aWYgKG1lc3NhZ2UuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZVJhbmdlRXJy
b3IoZXhlYywgQVNDSUlMaXRlcmFsKCJCYWQgdmFsdWUiKSk7CisgICAgICAgIHJldHVybiBjcmVh
dGVSYW5nZUVycm9yKGV4ZWMsIG1lc3NhZ2UpOworICAgIH0KKworICAgIC8vIEZJWE1FOiBBbGwg
Y2FsbGVycyB0byBzZXRET01FeGNlcHRpb24gbmVlZCB0byBwYXNzIGluIHRoZSByaWdodCBnbG9i
YWwgb2JqZWN0CisgICAgLy8gZm9yIG5vdywgd2UncmUgZ29pbmcgdG8gYXNzdW1lIHRoZSBsZXhp
Y2FsR2xvYmFsT2JqZWN0LiBXaGljaCBpcyB3cm9uZyBpbiBjYXNlcyBsaWtlIHRoaXM6CisgICAg
Ly8gZnJhbWVzWzBdLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobnVsbCwgbnVsbCk7IC8vIHRocm93
cyBhbiBleGNlcHRpb24gd2hpY2ggc2hvdWxkIGhhdmUgdGhlIHN1YmZyYW1lcyBwcm90b3R5cGVz
LgorICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBkZXByZWNhdGVkR2xvYmFs
T2JqZWN0Rm9yUHJvdG90eXBlKGV4ZWMpOworCisgICAgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9u
IGRlc2NyaXB0aW9uKGVjKTsKKworICAgIENTdHJpbmcgbWVzc2FnZUNTdHJpbmcgPSBtZXNzYWdl
LnV0ZjgoKTsKKyAgICBpZiAoIW1lc3NhZ2UuaXNFbXB0eSgpKSB7CisgICAgICAgIC8vIEl0IGlz
IHNhZmUgdG8gZG8gdGhpcyBiZWNhdXNlIHRoZSBjaGFyKiBjb250ZW50cyBvZiB0aGUgQ1N0cmlu
ZyBhcmUgY29waWVkIGludG8gYSBuZXcgV1RGOjpTdHJpbmcgYmVmb3JlIHRoZSBDU3RyaW5nIGlz
IGRlc3Ryb3llZC4KKyAgICAgICAgZGVzY3JpcHRpb24uZGVzY3JpcHRpb24gPSBtZXNzYWdlQ1N0
cmluZy5kYXRhKCk7CisgICAgfQorCisgICAgSlNWYWx1ZSBlcnJvck9iamVjdDsKKyAgICBzd2l0
Y2ggKGRlc2NyaXB0aW9uLnR5cGUpIHsKKyAgICAgICAgRE9NX0VYQ0VQVElPTl9JTlRFUkZBQ0VT
X0ZPUl9FQUNIKFRSWV9UT19DUkVBVEVfRVhDRVBUSU9OKQorICAgIH0KKyAgICAKKyAgICBBU1NF
UlQoZXJyb3JPYmplY3QpOworICAgIGFkZEVycm9ySW5mbyhleGVjLCBhc09iamVjdChlcnJvck9i
amVjdCksIHRydWUpOworICAgIHJldHVybiBlcnJvck9iamVjdDsKK30KKwogSlNWYWx1ZSBjcmVh
dGVET01FeGNlcHRpb24oRXhlY1N0YXRlKiBleGVjLCBFeGNlcHRpb25Db2RlIGVjKQogewogICAg
IGlmICghZWMpCkBAIC0yNjAsNiArMzAxLDE0IEBAIHZvaWQgc2V0RE9NRXhjZXB0aW9uKEV4ZWNT
dGF0ZSogZXhlYywgRXhjZXB0aW9uQ29kZSBlYykKICAgICBleGVjLT52bSgpLnRocm93RXhjZXB0
aW9uKGV4ZWMsIGNyZWF0ZURPTUV4Y2VwdGlvbihleGVjLCBlYykpOwogfQogCit2b2lkIHNldERP
TUV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSogZXhlYywgRXhjZXB0aW9uQ29kZSBlYywgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlKQoreworICAgIGlmICghZWMgfHwgZXhlYy0+aGFkRXhjZXB0aW9uKCkp
CisgICAgICAgIHJldHVybjsKKworICAgIGV4ZWMtPnZtKCkudGhyb3dFeGNlcHRpb24oZXhlYywg
Y3JlYXRlRE9NRXhjZXB0aW9uKGV4ZWMsIGVjLCBtZXNzYWdlKSk7Cit9CisKICN1bmRlZiBUUllf
VE9fQ1JFQVRFX0VYQ0VQVElPTgogCiBib29sIHNob3VsZEFsbG93QWNjZXNzVG9Ob2RlKEV4ZWNT
dGF0ZSogZXhlYywgTm9kZSogbm9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NQmluZGluZy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01C
aW5kaW5nLmgKaW5kZXggYzNjNTg5OC4uNmQ4ZDUxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01CaW5kaW5nLmgKQEAgLTI4OSw2ICsyODksNyBAQCBKU0M6OkpTVmFsdWUgY3Jl
YXRlRE9NRXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiwgRXhjZXB0aW9uQ29kZSk7CiAKIC8vIENv
bnZlcnQgYSBET00gaW1wbGVtZW50YXRpb24gZXhjZXB0aW9uIGNvZGUgaW50byBhIEphdmFTY3Jp
cHQgZXhjZXB0aW9uIGluIHRoZSBleGVjdXRpb24gc3RhdGUuCiBXRUJDT1JFX0VYUE9SVCB2b2lk
IHNldERPTUV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSosIEV4Y2VwdGlvbkNvZGUpOwordm9pZCBz
ZXRET01FeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqLCBFeGNlcHRpb25Db2RlLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UpOwogCiBKU0M6OkpTVmFsdWUganNTdHJpbmcoSlNDOjpFeGVjU3RhdGUqLCBj
b25zdCBVUkwmKTsgLy8gZW1wdHkgaWYgdGhlIFVSTCBpcyBudWxsCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CmluZGV4IDQ3OTViMTAu
LjM3NDQxZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURM
QXR0cmlidXRlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExB
dHRyaWJ1dGVzLnR4dApAQCAtMTA2LDYgKzEwNiw3IEBAIFBhc3NDb250ZXh0CiBQcml2YXRlCiBQ
dXRGb3J3YXJkcz0qCiBSYWlzZXNFeGNlcHRpb24KK1JhaXNlc0V4Y2VwdGlvbldpdGhNZXNzYWdl
CiBSZWZsZWN0PSoKIFJlcGxhY2VhYmxlCiBSZXBsYWNlYWJsZUNvbnN0cnVjdG9yCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcApp
bmRleCBiNjk0ZDYxLi5mZDlkZmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAKQEAgLTQ1Niw3ICs0NTYsOCBAQCBwdWJs
aWM6CiAKICAgICAgICAgaWYgKG1fc2tpcENvdW50KSB7CiAgICAgICAgICAgICBFeGNlcHRpb25D
b2RlIGVjID0gMDsKLSAgICAgICAgICAgIGlkYkN1cnNvci0+YWR2YW5jZShtX3NraXBDb3VudCwg
ZWMpOworICAgICAgICAgICAgU3RyaW5nIGV4Y2VwdGlvbk1lc3NhZ2U7CisgICAgICAgICAgICBp
ZGJDdXJzb3ItPmFkdmFuY2UobV9za2lwQ291bnQsIGVjLCBleGNlcHRpb25NZXNzYWdlKTsKICAg
ICAgICAgICAgIGlmIChlYykKICAgICAgICAgICAgICAgICBtX3JlcXVlc3RDYWxsYmFjay0+c2Vu
ZEZhaWx1cmUoIkNvdWxkIG5vdCBhZHZhbmNlIGN1cnNvci4iKTsKICAgICAgICAgICAgIG1fc2tp
cENvdW50ID0gMDsK
</data>
<flag name="review"
          id="291431"
          type_id="1"
          status="-"
          setter="beidson"
    />
    <flag name="commit-queue"
          id="291432"
          type_id="3"
          status="-"
          setter="beidson"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266537</attachid>
            <date>2015-12-03 11:12:30 -0800</date>
            <delta_ts>2015-12-03 11:35:41 -0800</delta_ts>
            <desc>Patch v3</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>15724</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzOGEwM2M2Li44ZjRlYThmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMTIt
MDMgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1vZGVybiBJ
REI6IHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1hZHZhbmNlLmh0bWwgZmFpbHMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTE3MzEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy13
azEvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3It
YWR2YW5jZS1leHBlY3RlZC50eHQ6CisKIDIwMTUtMTItMDMgIEphdmllciBGZXJuYW5kZXogIDxq
ZmVybmFuZGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1ncmlkXSBtYXJnaW4tbGVmdDph
dXRvIGFuZCBtYXJnaW4tdG9wOmF1dG8gZGlzY2FyZHMgdGhlIG1hcmdpbiBvbiBvcHBvc2l0ZSBz
aWRlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggYzYwZDcwYS4uYTU5OTdjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtNzUsNiArNzUsNyBAQCBzdG9yYWdlL2luZGV4ZWRkYi9hYm9y
dGVkLXZlcnNpb25jaGFuZ2UtY2xvc2VzLmh0bWwgWyBQYXNzIF0KIHN0b3JhZ2UvaW5kZXhlZGRi
L2Jhc2ljcy5odG1sIFsgUGFzcyBdCiBzdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtYW5kLXJlbW92
ZS1vYmplY3Qtc3RvcmUuaHRtbCBbIFBhc3MgXQogc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLW9i
amVjdC1zdG9yZS1vcHRpb25zLmh0bWwgWyBQYXNzIF0KK3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNv
ci1hZHZhbmNlLmh0bWwgWyBQYXNzIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1iYXNpY3Mu
aHRtbCBbIFBhc3MgXQogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWNhc3QuaHRtbCBbIFBhc3Mg
XQogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWZpbmlzaGVkLmh0bWwgWyBQYXNzIF0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1hZHZhbmNlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1hZHZhbmNlLWV4
cGVjdGVkLnR4dAppbmRleCBmZDMyOTBhLi43YTYzY2VlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItYWR2YW5jZS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWFkdmFuY2UtZXhwZWN0ZWQudHh0CkBA
IC0xODEsMTMgKzE4MSwxMyBAQCBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjdXJz
b3IuYWR2YW5jZSgwKSB0aHJldyBUeXBlRXJyb3I6IEZhaWxlZCB0byBleGVjdXRlICdhZHZhbmNl
JyBvbiAnSURCQ3Vyc29yJzogQSBjb3VudCBhcmd1bWVudCB3aXRoIHZhbHVlIDAgKHplcm8pIHdh
cyBzdXBwbGllZCwgbXVzdCBiZSBncmVhdGVyIHRoYW4gMC4KIEV4cGVjdGluZyBUeXBlRXJyb3Ig
ZXhjZXB0aW9uIGZyb20gY3Vyc29yLmFkdmFuY2UoLTEpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhy
b3duLgotUEFTUyBjdXJzb3IuYWR2YW5jZSgtMSkgdGhyZXcgVHlwZUVycm9yOiBGYWlsZWQgdG8g
ZXhlY3V0ZSAnYWR2YW5jZScgb24gJ0lEQkN1cnNvcic6IFZhbHVlIGlzIG91dHNpZGUgdGhlICd1
bnNpZ25lZCBsb25nJyB2YWx1ZSByYW5nZS4KK1BBU1MgY3Vyc29yLmFkdmFuY2UoLTEpIHRocmV3
IFR5cGVFcnJvcjogVmFsdWUgLTEgaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWzAsIDQyOTQ5NjcyOTVd
CiBFeHBlY3RpbmcgVHlwZUVycm9yIGV4Y2VwdGlvbiBmcm9tIGN1cnNvci5hZHZhbmNlKDB4MTAw
MDAwMDAwKQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KLVBBU1MgY3Vyc29yLmFkdmFuY2Uo
MHgxMDAwMDAwMDApIHRocmV3IFR5cGVFcnJvcjogRmFpbGVkIHRvIGV4ZWN1dGUgJ2FkdmFuY2Un
IG9uICdJREJDdXJzb3InOiBWYWx1ZSBpcyBvdXRzaWRlIHRoZSAndW5zaWduZWQgbG9uZycgdmFs
dWUgcmFuZ2UuCitQQVNTIGN1cnNvci5hZHZhbmNlKDB4MTAwMDAwMDAwKSB0aHJldyBUeXBlRXJy
b3I6IFZhbHVlIDQyOTQ5NjcyOTYgaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWzAsIDQyOTQ5NjcyOTVd
CiBFeHBlY3RpbmcgVHlwZUVycm9yIGV4Y2VwdGlvbiBmcm9tIGN1cnNvci5hZHZhbmNlKDB4MjAw
MDAwMDAwMDAwMDApCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgotUEFTUyBjdXJzb3IuYWR2
YW5jZSgweDIwMDAwMDAwMDAwMDAwKSB0aHJldyBUeXBlRXJyb3I6IEZhaWxlZCB0byBleGVjdXRl
ICdhZHZhbmNlJyBvbiAnSURCQ3Vyc29yJzogVmFsdWUgaXMgb3V0c2lkZSB0aGUgJ3Vuc2lnbmVk
IGxvbmcnIHZhbHVlIHJhbmdlLgorUEFTUyBjdXJzb3IuYWR2YW5jZSgweDIwMDAwMDAwMDAwMDAw
KSB0aHJldyBUeXBlRXJyb3I6IFZhbHVlIDkwMDcxOTkyNTQ3NDA5OTIgaXMgb3V0c2lkZSB0aGUg
cmFuZ2UgWzAsIDQyOTQ5NjcyOTVdCiAKIHRlc3RFZGdlcygpOgogdHJhbnMgPSBkYi50cmFuc2Fj
dGlvbihvYmplY3RTdG9yZU5hbWUsICdyZWFkb25seScpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTViMzU0MC4u
ZjJlNjRiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDE1LTEyLTAzICBCcmFkeSBF
aWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAorICAgICAgICBNb2Rlcm4gSURCOiBzdG9yYWdl
L2luZGV4ZWRkYi9jdXJzb3ItYWR2YW5jZS5odG1sIGZhaWxzLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNzMxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChBdCBsZWFzdCBvbmUg
ZmFpbGluZyB0ZXN0IG5vdyBwYXNzZXMpLgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
SURCQ3Vyc29yLmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmlkbDoK
KyAgICAgICAgCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkN1cnNvcklt
cGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDdXJzb3I6OmFkdmFuY2Up
OiBSZXR1cm4gYSBjdXN0b20gZXhjZXB0aW9uIG1lc3NhZ2UgZm9yIFR5cGVFcnJvci4KKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ3Vyc29ySW1wbC5oOgorICAgICAgICAK
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5Q3Vyc29yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxlZ2FjeUN1cnNvcjo6YWR2YW5jZSk6CisgICAgICAgICogTW9kdWxl
cy9pbmRleGVkZGIvbGVnYWN5L0xlZ2FjeUN1cnNvci5oOgorICAgICAgICAKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRE9N
RXhjZXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OnNldERPTUV4Y2VwdGlvbik6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmg6CisgICAgICAgIAorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQ6CisgICAgICAgIAorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHA6CisKKzIwMTUtMTItMDMgIEJyYWR5IEVp
ZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBHZXR0ZXJSYWlzZXNFeGNl
cHRpb25XaXRoTWVzc2FnZSBhbmQgU2V0dGVyUmFpc2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2UgdG8g
dGhlIGNvZGUgZ2VuZXJhdG9yLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTUxODA3CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQkN1cnNvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCQ3Vyc29yLmgKaW5kZXggNDBiMjhlZS4uNDA3NzI0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmgKQEAgLTQ0LDcgKzQ0LDcgQEAgY2xhc3MgSURC
Q2FsbGJhY2tzOwogY2xhc3MgSURCUmVxdWVzdDsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CiAKLXR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CitzdHJ1Y3QgRXhjZXB0aW9uQ29kZVdp
dGhNZXNzYWdlOwogCiBjbGFzcyBJREJDdXJzb3IgOiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlLCBw
dWJsaWMgUmVmQ291bnRlZDxJREJDdXJzb3I+IHsKIHB1YmxpYzoKQEAgLTY2LDcgKzY2LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgSURCQW55KiBzb3VyY2UoKSA9IDA7CiAKICAgICB2aXJ0dWFs
IFJlZlB0cjxJREJSZXF1ZXN0PiB1cGRhdGUoSlNDOjpFeGVjU3RhdGUmLCBEZXByZWNhdGVkOjpT
Y3JpcHRWYWx1ZSYsIEV4Y2VwdGlvbkNvZGUmKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGFkdmFu
Y2UodW5zaWduZWQgbG9uZywgRXhjZXB0aW9uQ29kZSYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
YWR2YW5jZSh1bnNpZ25lZCBsb25nLCBFeGNlcHRpb25Db2RlV2l0aE1lc3NhZ2UmKSA9IDA7CiAg
ICAgLy8gRklYTUU6IFRyeSB0byBtb2RpZnkgdGhlIGNvZGUgZ2VuZXJhdG9yIHNvIHRoaXMgb3Zl
cmxvYWQgaXMgdW5uZWVkZWQuCiAgICAgdmlydHVhbCB2b2lkIGNvbnRpbnVlRnVuY3Rpb24oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIEV4Y2VwdGlvbkNvZGUmKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIGNvbnRpbnVlRnVuY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IERlcHJl
Y2F0ZWQ6OlNjcmlwdFZhbHVlJiBrZXksIEV4Y2VwdGlvbkNvZGUmKSA9IDA7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmlkbAppbmRleCA2NGIyOTFkLi4y
NmM1MWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJD
dXJzb3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNv
ci5pZGwKQEAgLTM0LDcgKzM0LDcgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYW55IHByaW1h
cnlLZXk7CiAKICAgICBbQ2FsbFdpdGg9U2NyaXB0U3RhdGUsIFJhaXNlc0V4Y2VwdGlvbl0gSURC
UmVxdWVzdCB1cGRhdGUoYW55IHZhbHVlKTsKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIGFk
dmFuY2UoW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBjb3VudCk7CisgICAgW1JhaXNlc0V4
Y2VwdGlvbldpdGhNZXNzYWdlXSB2b2lkIGFkdmFuY2UoW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQg
bG9uZyBjb3VudCk7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIEltcGxl
bWVudGVkQXM9Y29udGludWVGdW5jdGlvbiwgUmFpc2VzRXhjZXB0aW9uXSB2b2lkIGNvbnRpbnVl
KG9wdGlvbmFsIGFueSBrZXkpOwogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0
LCBJbXBsZW1lbnRlZEFzPWRlbGV0ZUZ1bmN0aW9uLCBSYWlzZXNFeGNlcHRpb25dIElEQlJlcXVl
c3QgZGVsZXRlKCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvY2xpZW50L0lEQkN1cnNvckltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvY2xpZW50L0lEQkN1cnNvckltcGwuY3BwCmluZGV4IDZjN2IzZDAuLjU5YjY3Zjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJD
dXJzb3JJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGll
bnQvSURCQ3Vyc29ySW1wbC5jcHAKQEAgLTE0NCwzMiArMTQ0LDMzIEBAIFJlZlB0cjxXZWJDb3Jl
OjpJREJSZXF1ZXN0PiBJREJDdXJzb3I6OnVwZGF0ZShKU0M6OkV4ZWNTdGF0ZSYgZXhlYywgRGVw
cmVjYXRlZDo6CiAgICAgcmV0dXJuIHJlcXVlc3Q7CiB9CiAKLXZvaWQgSURCQ3Vyc29yOjphZHZh
bmNlKHVuc2lnbmVkIGxvbmcgY291bnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQordm9pZCBJREJDdXJz
b3I6OmFkdmFuY2UodW5zaWduZWQgbG9uZyBjb3VudCwgRXhjZXB0aW9uQ29kZVdpdGhNZXNzYWdl
JiBlYykKIHsKICAgICBMT0coSW5kZXhlZERCLCAiSURCQ3Vyc29yOjphZHZhbmNlIik7CiAKICAg
ICBpZiAoIW1fcmVxdWVzdCkgewotICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJ
bnZhbGlkU3RhdGVFcnJvcjsKKyAgICAgICAgZWMuY29kZSA9IElEQkRhdGFiYXNlRXhjZXB0aW9u
OjpJbnZhbGlkU3RhdGVFcnJvcjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKICAgICBp
ZiAoIWNvdW50KSB7Ci0gICAgICAgIGVjID0gVHlwZUVycm9yOworICAgICAgICBlYy5jb2RlID0g
VHlwZUVycm9yOworICAgICAgICBlYy5tZXNzYWdlID0gQVNDSUlMaXRlcmFsKCJGYWlsZWQgdG8g
ZXhlY3V0ZSAnYWR2YW5jZScgb24gJ0lEQkN1cnNvcic6IEEgY291bnQgYXJndW1lbnQgd2l0aCB2
YWx1ZSAwICh6ZXJvKSB3YXMgc3VwcGxpZWQsIG11c3QgYmUgZ3JlYXRlciB0aGFuIDAuIik7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAoc291cmNlc0RlbGV0ZWQoKSkgewotICAg
ICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJbnZhbGlkU3RhdGVFcnJvcjsKKyAgICAg
ICAgZWMuY29kZSA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJbnZhbGlkU3RhdGVFcnJvcjsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmICghdHJhbnNhY3Rpb24oKS5pc0FjdGl2ZSgp
KSB7Ci0gICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlRyYW5zYWN0aW9uSW5hY3Rp
dmVFcnJvcjsKKyAgICAgICAgZWMuY29kZSA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpUcmFuc2Fj
dGlvbkluYWN0aXZlRXJyb3I7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAoIW1f
Z290VmFsdWUpIHsKLSAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SW52YWxpZFN0
YXRlRXJyb3I7CisgICAgICAgIGVjLmNvZGUgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SW52YWxp
ZFN0YXRlRXJyb3I7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDdXJzb3JJbXBsLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ3Vyc29ySW1wbC5oCmluZGV4
IDkzNDgzMmYuLjNlMzcwNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL2NsaWVudC9JREJDdXJzb3JJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvY2xpZW50L0lEQkN1cnNvckltcGwuaApAQCAtNTYsNyArNTYsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBJREJBbnkqIHNvdXJjZSgpIG92ZXJyaWRlIGZpbmFsOwogCiAgICAg
dmlydHVhbCBSZWZQdHI8V2ViQ29yZTo6SURCUmVxdWVzdD4gdXBkYXRlKEpTQzo6RXhlY1N0YXRl
JiwgRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUmLCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGUgZmlu
YWw7Ci0gICAgdmlydHVhbCB2b2lkIGFkdmFuY2UodW5zaWduZWQgbG9uZywgRXhjZXB0aW9uQ29k
ZSYpIG92ZXJyaWRlIGZpbmFsOworICAgIHZpcnR1YWwgdm9pZCBhZHZhbmNlKHVuc2lnbmVkIGxv
bmcsIEV4Y2VwdGlvbkNvZGVXaXRoTWVzc2FnZSYpIG92ZXJyaWRlIGZpbmFsOwogICAgIHZpcnR1
YWwgdm9pZCBjb250aW51ZUZ1bmN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRp
b25Db2RlJikgb3ZlcnJpZGUgZmluYWw7CiAgICAgdmlydHVhbCB2b2lkIGNvbnRpbnVlRnVuY3Rp
b24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVl
JiBrZXksIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZSBmaW5hbDsKICAgICB2aXJ0dWFsIFJlZlB0
cjxXZWJDb3JlOjpJREJSZXF1ZXN0PiBkZWxldGVGdW5jdGlvbihTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGVnYWN5L0xlZ2FjeUN1cnNvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5Q3Vyc29yLmNwcAppbmRl
eCBhN2E0MjAxLi5iNTdhNDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9sZWdhY3kvTGVnYWN5Q3Vyc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5Q3Vyc29yLmNwcApAQCAtMTI3LDI5ICsxMjcsMjkg
QEAgUmVmUHRyPElEQlJlcXVlc3Q+IExlZ2FjeUN1cnNvcjo6dXBkYXRlKEpTQzo6RXhlY1N0YXRl
JiBzdGF0ZSwgRGVwcmVjYXRlZDo6U2NyaXAKICAgICByZXR1cm4gb2JqZWN0U3RvcmUtPnB1dChJ
REJEYXRhYmFzZUJhY2tlbmQ6OkN1cnNvclVwZGF0ZSwgTGVnYWN5QW55OjpjcmVhdGUodGhpcyks
IHN0YXRlLCB2YWx1ZSwgbV9jdXJyZW50UHJpbWFyeUtleSwgZWMpOwogfQogCi12b2lkIExlZ2Fj
eUN1cnNvcjo6YWR2YW5jZSh1bnNpZ25lZCBsb25nIGNvdW50LCBFeGNlcHRpb25Db2RlJiBlYykK
K3ZvaWQgTGVnYWN5Q3Vyc29yOjphZHZhbmNlKHVuc2lnbmVkIGxvbmcgY291bnQsIEV4Y2VwdGlv
bkNvZGVXaXRoTWVzc2FnZSYgZWMpCiB7Ci0gICAgZWMgPSAwOworICAgIGVjLmNvZGUgPSAwOwog
ICAgIExPRyhTdG9yYWdlQVBJLCAiTGVnYWN5Q3Vyc29yOjphZHZhbmNlIik7CiAgICAgaWYgKCFt
X2dvdFZhbHVlKSB7Ci0gICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkludmFsaWRT
dGF0ZUVycm9yOworICAgICAgICBlYy5jb2RlID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkludmFs
aWRTdGF0ZUVycm9yOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKCFtX3RyYW5z
YWN0aW9uLT5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246
OlRyYW5zYWN0aW9uSW5hY3RpdmVFcnJvcjsKKyAgICAgICAgZWMuY29kZSA9IElEQkRhdGFiYXNl
RXhjZXB0aW9uOjpUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3I7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKICAgICBpZiAoIWNvdW50KSB7Ci0gICAgICAgIGVjID0gVHlwZUVycm9yOworICAgICAg
ICBlYy5jb2RlID0gVHlwZUVycm9yOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgbV9y
ZXF1ZXN0LT5zZXRQZW5kaW5nQ3Vyc29yKHRoaXMpOwogICAgIG1fZ290VmFsdWUgPSBmYWxzZTsK
LSAgICBtX2JhY2tlbmQtPmFkdmFuY2UoY291bnQsIG1fcmVxdWVzdCwgZWMpOwotICAgIEFTU0VS
VCghZWMpOworICAgIG1fYmFja2VuZC0+YWR2YW5jZShjb3VudCwgbV9yZXF1ZXN0LCBlYy5jb2Rl
KTsKKyAgICBBU1NFUlQoIWVjLmNvZGUpOwogfQogCiB2b2lkIExlZ2FjeUN1cnNvcjo6Y29udGlu
dWVGdW5jdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBEZXByZWNh
dGVkOjpTY3JpcHRWYWx1ZSYga2V5VmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGVnYWN5L0xlZ2FjeUN1cnNvci5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGVnYWN5L0xlZ2FjeUN1cnNvci5o
CmluZGV4IDc2NzA0ZDIuLjUzZTk5OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL2xlZ2FjeS9MZWdhY3lDdXJzb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5Q3Vyc29yLmgKQEAgLTYyLDcgKzYyLDcgQEAg
cHVibGljOgogICAgIElEQkFueSogc291cmNlKCkgb3ZlcnJpZGU7CiAKICAgICBSZWZQdHI8SURC
UmVxdWVzdD4gdXBkYXRlKEpTQzo6RXhlY1N0YXRlJiwgRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUm
LCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBhZHZhbmNlKHVuc2lnbmVkIGxv
bmcsIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsKKyAgICB2b2lkIGFkdmFuY2UodW5zaWduZWQg
bG9uZywgRXhjZXB0aW9uQ29kZVdpdGhNZXNzYWdlJikgb3ZlcnJpZGU7CiAgICAgLy8gRklYTUU6
IFRyeSB0byBtb2RpZnkgdGhlIGNvZGUgZ2VuZXJhdG9yIHNvIHRoaXMgb3ZlcmxvYWQgaXMgdW5u
ZWVkZWQuCiAgICAgdm9pZCBjb250aW51ZUZ1bmN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBFeGNlcHRpb25Db2RlJiBlYykgb3ZlcnJpZGUgeyBjb250aW51ZUZ1bmN0aW9uKHN0YXRpY19j
YXN0PElEQktleSo+KG51bGxwdHIpLCBlYyk7IH0KICAgICB2b2lkIGNvbnRpbnVlRnVuY3Rpb24o
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlJiBr
ZXksIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmcuY3BwCmluZGV4IDA2NTcyZTQuLjRlZmI3ZjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcApAQCAtMjIzLDYgKzIyMyw0NyBAQCB2
b2lkIHJlcG9ydEN1cnJlbnRFeGNlcHRpb24oRXhlY1N0YXRlKiBleGVjKQogICAgICAgICBlcnJv
ck9iamVjdCA9IHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBpbnRlcmZhY2VOYW1lOjpjcmVhdGUo
ZGVzY3JpcHRpb24pKTsgXAogICAgICAgICBicmVhazsKIAorc3RhdGljIEpTVmFsdWUgY3JlYXRl
RE9NRXhjZXB0aW9uKEV4ZWNTdGF0ZSogZXhlYywgRXhjZXB0aW9uQ29kZSBlYywgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlKQoreworICAgIGlmICghZWMpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5l
ZCgpOworCisgICAgLy8gRklYTUU6IEhhbmRsZSBvdGhlciBXZWJJREwgZXhjZXB0aW9uIHR5cGVz
LgorICAgIGlmIChlYyA9PSBUeXBlRXJyb3IpIHsKKyAgICAgICAgaWYgKG1lc3NhZ2UuaXNFbXB0
eSgpKQorICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZVR5cGVFcnJvcihleGVjKTsKKyAgICAgICAg
cmV0dXJuIGNyZWF0ZVR5cGVFcnJvcihleGVjLCBtZXNzYWdlKTsKKyAgICB9CisKKyAgICBpZiAo
ZWMgPT0gUmFuZ2VFcnJvcikgeworICAgICAgICBpZiAobWVzc2FnZS5pc0VtcHR5KCkpCisgICAg
ICAgICAgICByZXR1cm4gY3JlYXRlUmFuZ2VFcnJvcihleGVjLCBBU0NJSUxpdGVyYWwoIkJhZCB2
YWx1ZSIpKTsKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVJhbmdlRXJyb3IoZXhlYywgbWVzc2FnZSk7
CisgICAgfQorCisgICAgLy8gRklYTUU6IEFsbCBjYWxsZXJzIHRvIHNldERPTUV4Y2VwdGlvbiBu
ZWVkIHRvIHBhc3MgaW4gdGhlIHJpZ2h0IGdsb2JhbCBvYmplY3QKKyAgICAvLyBmb3Igbm93LCB3
ZSdyZSBnb2luZyB0byBhc3N1bWUgdGhlIGxleGljYWxHbG9iYWxPYmplY3QuIFdoaWNoIGlzIHdy
b25nIGluIGNhc2VzIGxpa2UgdGhpczoKKyAgICAvLyBmcmFtZXNbMF0uZG9jdW1lbnQuY3JlYXRl
RWxlbWVudChudWxsLCBudWxsKTsgLy8gdGhyb3dzIGFuIGV4Y2VwdGlvbiB3aGljaCBzaG91bGQg
aGF2ZSB0aGUgc3ViZnJhbWVzIHByb3RvdHlwZXMuCisgICAgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCA9IGRlcHJlY2F0ZWRHbG9iYWxPYmplY3RGb3JQcm90b3R5cGUoZXhlYyk7CisK
KyAgICBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24gZGVzY3JpcHRpb24oZWMpOworCisgICAgQ1N0
cmluZyBtZXNzYWdlQ1N0cmluZyA9IG1lc3NhZ2UudXRmOCgpOworICAgIGlmICghbWVzc2FnZS5p
c0VtcHR5KCkpIHsKKyAgICAgICAgLy8gSXQgaXMgc2FmZSB0byBkbyB0aGlzIGJlY2F1c2UgdGhl
IGNoYXIqIGNvbnRlbnRzIG9mIHRoZSBDU3RyaW5nIGFyZSBjb3BpZWQgaW50byBhIG5ldyBXVEY6
OlN0cmluZyBiZWZvcmUgdGhlIENTdHJpbmcgaXMgZGVzdHJveWVkLgorICAgICAgICBkZXNjcmlw
dGlvbi5kZXNjcmlwdGlvbiA9IG1lc3NhZ2VDU3RyaW5nLmRhdGEoKTsKKyAgICB9CisKKyAgICBK
U1ZhbHVlIGVycm9yT2JqZWN0OworICAgIHN3aXRjaCAoZGVzY3JpcHRpb24udHlwZSkgeworICAg
ICAgICBET01fRVhDRVBUSU9OX0lOVEVSRkFDRVNfRk9SX0VBQ0goVFJZX1RPX0NSRUFURV9FWENF
UFRJT04pCisgICAgfQorICAgIAorICAgIEFTU0VSVChlcnJvck9iamVjdCk7CisgICAgYWRkRXJy
b3JJbmZvKGV4ZWMsIGFzT2JqZWN0KGVycm9yT2JqZWN0KSwgdHJ1ZSk7CisgICAgcmV0dXJuIGVy
cm9yT2JqZWN0OworfQorCiBKU1ZhbHVlIGNyZWF0ZURPTUV4Y2VwdGlvbihFeGVjU3RhdGUqIGV4
ZWMsIEV4Y2VwdGlvbkNvZGUgZWMpCiB7CiAgICAgaWYgKCFlYykKQEAgLTI2MCw2ICszMDEsMTQg
QEAgdm9pZCBzZXRET01FeGNlcHRpb24oRXhlY1N0YXRlKiBleGVjLCBFeGNlcHRpb25Db2RlIGVj
KQogICAgIGV4ZWMtPnZtKCkudGhyb3dFeGNlcHRpb24oZXhlYywgY3JlYXRlRE9NRXhjZXB0aW9u
KGV4ZWMsIGVjKSk7CiB9CiAKK3ZvaWQgc2V0RE9NRXhjZXB0aW9uKEpTQzo6RXhlY1N0YXRlKiBl
eGVjLCBjb25zdCBFeGNlcHRpb25Db2RlV2l0aE1lc3NhZ2UmIGVjKQoreworICAgIGlmICghZWMu
Y29kZSB8fCBleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgZXhl
Yy0+dm0oKS50aHJvd0V4Y2VwdGlvbihleGVjLCBjcmVhdGVET01FeGNlcHRpb24oZXhlYywgZWMu
Y29kZSwgZWMubWVzc2FnZSkpOworfQorCiAjdW5kZWYgVFJZX1RPX0NSRUFURV9FWENFUFRJT04K
IAogYm9vbCBzaG91bGRBbGxvd0FjY2Vzc1RvTm9kZShFeGVjU3RhdGUqIGV4ZWMsIE5vZGUqIG5v
ZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCmluZGV4IGMzYzU4
OTguLmIzYTBmZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
QmluZGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5o
CkBAIC02OCw4ICs2OCw3IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgVVJMOwogY2xhc3MgTm9kZTsK
IAotdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKLQorc3RydWN0IEV4Y2VwdGlvbkNvZGVXaXRo
TWVzc2FnZTsKIHN0cnVjdCBFeGNlcHRpb25EZXRhaWxzIHsKICAgICBTdHJpbmcgbWVzc2FnZTsK
ICAgICBpbnQgbGluZU51bWJlciB7IDAgfTsKQEAgLTc3LDYgKzc2LDggQEAgc3RydWN0IEV4Y2Vw
dGlvbkRldGFpbHMgewogICAgIFN0cmluZyBzb3VyY2VVUkw7CiB9OwogCit0eXBlZGVmIGludCBF
eGNlcHRpb25Db2RlOworCiBET01XaW5kb3cmIGFjdGl2ZURPTVdpbmRvdyhKU0M6OkV4ZWNTdGF0
ZSopOwogRE9NV2luZG93JiBmaXJzdERPTVdpbmRvdyhKU0M6OkV4ZWNTdGF0ZSopOwogCkBAIC0y
ODksNiArMjkwLDcgQEAgSlNDOjpKU1ZhbHVlIGNyZWF0ZURPTUV4Y2VwdGlvbihKU0M6OkV4ZWNT
dGF0ZSosIEV4Y2VwdGlvbkNvZGUpOwogCiAvLyBDb252ZXJ0IGEgRE9NIGltcGxlbWVudGF0aW9u
IGV4Y2VwdGlvbiBjb2RlIGludG8gYSBKYXZhU2NyaXB0IGV4Y2VwdGlvbiBpbiB0aGUgZXhlY3V0
aW9uIHN0YXRlLgogV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRET01FeGNlcHRpb24oSlNDOjpFeGVj
U3RhdGUqLCBFeGNlcHRpb25Db2RlKTsKK3ZvaWQgc2V0RE9NRXhjZXB0aW9uKEpTQzo6RXhlY1N0
YXRlKiwgY29uc3QgRXhjZXB0aW9uQ29kZVdpdGhNZXNzYWdlJik7CiAKIEpTQzo6SlNWYWx1ZSBq
c1N0cmluZyhKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFVSTCYpOyAvLyBlbXB0eSBpZiB0aGUgVVJM
IGlzIG51bGwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9J
RExBdHRyaWJ1dGVzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0
cmlidXRlcy50eHQKaW5kZXggNjU2OTM5MC4uNmUzZmQwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CkBAIC0xMDcsNiArMTA3LDcg
QEAgUGFzc0NvbnRleHQKIFByaXZhdGUKIFB1dEZvcndhcmRzPSoKIFJhaXNlc0V4Y2VwdGlvbgor
UmFpc2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2UKIFJlZmxlY3Q9KgogUmVwbGFjZWFibGUKIFJlcGxh
Y2VhYmxlQ29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwCmluZGV4IGI2OTRkNjEuLjlmYmNlN2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNw
cApAQCAtNDU1LDkgKzQ1NSw5IEBAIHB1YmxpYzoKICAgICAgICAgUmVmUHRyPElEQkN1cnNvcldp
dGhWYWx1ZT4gaWRiQ3Vyc29yID0gcmVxdWVzdFJlc3VsdC0+aWRiQ3Vyc29yV2l0aFZhbHVlKCk7
CiAKICAgICAgICAgaWYgKG1fc2tpcENvdW50KSB7Ci0gICAgICAgICAgICBFeGNlcHRpb25Db2Rl
IGVjID0gMDsKKyAgICAgICAgICAgIEV4Y2VwdGlvbkNvZGVXaXRoTWVzc2FnZSBlYzsKICAgICAg
ICAgICAgIGlkYkN1cnNvci0+YWR2YW5jZShtX3NraXBDb3VudCwgZWMpOwotICAgICAgICAgICAg
aWYgKGVjKQorICAgICAgICAgICAgaWYgKGVjLmNvZGUpCiAgICAgICAgICAgICAgICAgbV9yZXF1
ZXN0Q2FsbGJhY2stPnNlbmRGYWlsdXJlKCJDb3VsZCBub3QgYWR2YW5jZSBjdXJzb3IuIik7CiAg
ICAgICAgICAgICBtX3NraXBDb3VudCA9IDA7CiAgICAgICAgICAgICByZXR1cm47Cg==
</data>
<flag name="review"
          id="291548"
          type_id="1"
          status="+"
          setter="achristensen"
    />
    <flag name="commit-queue"
          id="291549"
          type_id="3"
          status="-"
          setter="achristensen"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266539</attachid>
            <date>2015-12-03 11:35:41 -0800</date>
            <delta_ts>2015-12-03 12:07:16 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>16305</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzZGZlYTM5Li4wNmJjYTEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMTIt
MDMgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1vZGVybiBJ
REI6IHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1hZHZhbmNlLmh0bWwgZmFpbHMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTE3MzEKKworICAgICAg
ICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgICogcGxhdGZvcm0vbWFj
LXdrMS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNv
ci1hZHZhbmNlLWV4cGVjdGVkLnR4dDoKKwogMjAxNS0xMi0wMiAgU2FtIFdlaW5pZyAgPHNhbUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFByb21pc2UgY2FsbGJhY2tzIHNob3VsZCBiZSBjYWxsZWQg
YXQgbWljcm90YXNrIGNoZWNrcG9pbnRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sx
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYzYwZDcwYS4uYTU5OTdjYiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNzUsNiArNzUsNyBAQCBz
dG9yYWdlL2luZGV4ZWRkYi9hYm9ydGVkLXZlcnNpb25jaGFuZ2UtY2xvc2VzLmh0bWwgWyBQYXNz
IF0KIHN0b3JhZ2UvaW5kZXhlZGRiL2Jhc2ljcy5odG1sIFsgUGFzcyBdCiBzdG9yYWdlL2luZGV4
ZWRkYi9jcmVhdGUtYW5kLXJlbW92ZS1vYmplY3Qtc3RvcmUuaHRtbCBbIFBhc3MgXQogc3RvcmFn
ZS9pbmRleGVkZGIvY3JlYXRlLW9iamVjdC1zdG9yZS1vcHRpb25zLmh0bWwgWyBQYXNzIF0KK3N0
b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1hZHZhbmNlLmh0bWwgWyBQYXNzIF0KIHN0b3JhZ2UvaW5k
ZXhlZGRiL2N1cnNvci1iYXNpY3MuaHRtbCBbIFBhc3MgXQogc3RvcmFnZS9pbmRleGVkZGIvY3Vy
c29yLWNhc3QuaHRtbCBbIFBhc3MgXQogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWZpbmlzaGVk
Lmh0bWwgWyBQYXNzIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2N1cnNvci1hZHZhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2N1cnNvci1hZHZhbmNlLWV4cGVjdGVkLnR4dAppbmRleCBmZDMyOTBhLi43YTYzY2VlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItYWR2YW5jZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWFk
dmFuY2UtZXhwZWN0ZWQudHh0CkBAIC0xODEsMTMgKzE4MSwxMyBAQCBQQVNTIEV4Y2VwdGlvbiB3
YXMgdGhyb3duLgogUEFTUyBjdXJzb3IuYWR2YW5jZSgwKSB0aHJldyBUeXBlRXJyb3I6IEZhaWxl
ZCB0byBleGVjdXRlICdhZHZhbmNlJyBvbiAnSURCQ3Vyc29yJzogQSBjb3VudCBhcmd1bWVudCB3
aXRoIHZhbHVlIDAgKHplcm8pIHdhcyBzdXBwbGllZCwgbXVzdCBiZSBncmVhdGVyIHRoYW4gMC4K
IEV4cGVjdGluZyBUeXBlRXJyb3IgZXhjZXB0aW9uIGZyb20gY3Vyc29yLmFkdmFuY2UoLTEpCiBQ
QVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgotUEFTUyBjdXJzb3IuYWR2YW5jZSgtMSkgdGhyZXcg
VHlwZUVycm9yOiBGYWlsZWQgdG8gZXhlY3V0ZSAnYWR2YW5jZScgb24gJ0lEQkN1cnNvcic6IFZh
bHVlIGlzIG91dHNpZGUgdGhlICd1bnNpZ25lZCBsb25nJyB2YWx1ZSByYW5nZS4KK1BBU1MgY3Vy
c29yLmFkdmFuY2UoLTEpIHRocmV3IFR5cGVFcnJvcjogVmFsdWUgLTEgaXMgb3V0c2lkZSB0aGUg
cmFuZ2UgWzAsIDQyOTQ5NjcyOTVdCiBFeHBlY3RpbmcgVHlwZUVycm9yIGV4Y2VwdGlvbiBmcm9t
IGN1cnNvci5hZHZhbmNlKDB4MTAwMDAwMDAwKQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4K
LVBBU1MgY3Vyc29yLmFkdmFuY2UoMHgxMDAwMDAwMDApIHRocmV3IFR5cGVFcnJvcjogRmFpbGVk
IHRvIGV4ZWN1dGUgJ2FkdmFuY2UnIG9uICdJREJDdXJzb3InOiBWYWx1ZSBpcyBvdXRzaWRlIHRo
ZSAndW5zaWduZWQgbG9uZycgdmFsdWUgcmFuZ2UuCitQQVNTIGN1cnNvci5hZHZhbmNlKDB4MTAw
MDAwMDAwKSB0aHJldyBUeXBlRXJyb3I6IFZhbHVlIDQyOTQ5NjcyOTYgaXMgb3V0c2lkZSB0aGUg
cmFuZ2UgWzAsIDQyOTQ5NjcyOTVdCiBFeHBlY3RpbmcgVHlwZUVycm9yIGV4Y2VwdGlvbiBmcm9t
IGN1cnNvci5hZHZhbmNlKDB4MjAwMDAwMDAwMDAwMDApCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhy
b3duLgotUEFTUyBjdXJzb3IuYWR2YW5jZSgweDIwMDAwMDAwMDAwMDAwKSB0aHJldyBUeXBlRXJy
b3I6IEZhaWxlZCB0byBleGVjdXRlICdhZHZhbmNlJyBvbiAnSURCQ3Vyc29yJzogVmFsdWUgaXMg
b3V0c2lkZSB0aGUgJ3Vuc2lnbmVkIGxvbmcnIHZhbHVlIHJhbmdlLgorUEFTUyBjdXJzb3IuYWR2
YW5jZSgweDIwMDAwMDAwMDAwMDAwKSB0aHJldyBUeXBlRXJyb3I6IFZhbHVlIDkwMDcxOTkyNTQ3
NDA5OTIgaXMgb3V0c2lkZSB0aGUgcmFuZ2UgWzAsIDQyOTQ5NjcyOTVdCiAKIHRlc3RFZGdlcygp
OgogdHJhbnMgPSBkYi50cmFuc2FjdGlvbihvYmplY3RTdG9yZU5hbWUsICdyZWFkb25seScpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggNTA4ODZkZS4uYTQ0ZDhhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBA
CisyMDE1LTEyLTAzICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAg
ICBNb2Rlcm4gSURCOiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItYWR2YW5jZS5odG1sIGZhaWxz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxNzMx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBObyBu
ZXcgdGVzdHMgKEF0IGxlYXN0IG9uZSBmYWlsaW5nIHRlc3Qgbm93IHBhc3NlcykuCisKKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaDoKKyAgICAgICAgKiBNb2R1bGVzL2lu
ZGV4ZWRkYi9JREJDdXJzb3IuaWRsOgorICAgICAgICAKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4
ZWRkYi9jbGllbnQvSURCQ3Vyc29ySW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGll
bnQ6OklEQkN1cnNvcjo6YWR2YW5jZSk6IFJldHVybiBhIGN1c3RvbSBleGNlcHRpb24gbWVzc2Fn
ZSBmb3IgVHlwZUVycm9yLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJD
dXJzb3JJbXBsLmg6CisgICAgICAgIAorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2xlZ2Fj
eS9MZWdhY3lDdXJzb3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGVnYWN5Q3Vyc29yOjphZHZh
bmNlKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5Q3Vyc29yLmg6
CisgICAgICAgIAorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpjcmVhdGVET01FeGNlcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6c2V0
RE9NRXhjZXB0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaDoKKyAg
ICAgICAgCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dDoKKyAg
ICAgICAgCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcDoK
KwogMjAxNS0xMi0wMyAgUGVyIEFybmUgVm9sbGFuICA8cGVhdm9Ab3V0bG9vay5jb20+CiAKICAg
ICAgICAgW1dpbkNhaXJvXVtNZWRpYUZvdW5kYXRpb25dIE1haW4gdGhyZWFkIGNhbiBibG9jayB3
aGVuIHNlc3Npb24gaXMgZGVzdHJveWVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJDdXJzb3IuaAppbmRleCA0MGIyOGVlLi40MDc3MjQ0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaApAQCAtNDQsNyArNDQsNyBAQCBjbGFz
cyBJREJDYWxsYmFja3M7CiBjbGFzcyBJREJSZXF1ZXN0OwogY2xhc3MgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dDsKIAotdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKK3N0cnVjdCBFeGNlcHRpb25D
b2RlV2l0aE1lc3NhZ2U7CiAKIGNsYXNzIElEQkN1cnNvciA6IHB1YmxpYyBTY3JpcHRXcmFwcGFi
bGUsIHB1YmxpYyBSZWZDb3VudGVkPElEQkN1cnNvcj4gewogcHVibGljOgpAQCAtNjYsNyArNjYs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBJREJBbnkqIHNvdXJjZSgpID0gMDsKIAogICAgIHZp
cnR1YWwgUmVmUHRyPElEQlJlcXVlc3Q+IHVwZGF0ZShKU0M6OkV4ZWNTdGF0ZSYsIERlcHJlY2F0
ZWQ6OlNjcmlwdFZhbHVlJiwgRXhjZXB0aW9uQ29kZSYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQg
YWR2YW5jZSh1bnNpZ25lZCBsb25nLCBFeGNlcHRpb25Db2RlJikgPSAwOworICAgIHZpcnR1YWwg
dm9pZCBhZHZhbmNlKHVuc2lnbmVkIGxvbmcsIEV4Y2VwdGlvbkNvZGVXaXRoTWVzc2FnZSYpID0g
MDsKICAgICAvLyBGSVhNRTogVHJ5IHRvIG1vZGlmeSB0aGUgY29kZSBnZW5lcmF0b3Igc28gdGhp
cyBvdmVybG9hZCBpcyB1bm5lZWRlZC4KICAgICB2aXJ0dWFsIHZvaWQgY29udGludWVGdW5jdGlv
bihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhjZXB0aW9uQ29kZSYpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgY29udGludWVGdW5jdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3Qg
RGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUmIGtleSwgRXhjZXB0aW9uQ29kZSYpID0gMDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaWRsCmluZGV4IDY0YjI5
MWQuLjI2YzUxYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQkN1cnNvci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
Q3Vyc29yLmlkbApAQCAtMzQsNyArMzQsNyBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBhbnkg
cHJpbWFyeUtleTsKIAogICAgIFtDYWxsV2l0aD1TY3JpcHRTdGF0ZSwgUmFpc2VzRXhjZXB0aW9u
XSBJREJSZXF1ZXN0IHVwZGF0ZShhbnkgdmFsdWUpOwotICAgIFtSYWlzZXNFeGNlcHRpb25dIHZv
aWQgYWR2YW5jZShbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIGNvdW50KTsKKyAgICBbUmFp
c2VzRXhjZXB0aW9uV2l0aE1lc3NhZ2VdIHZvaWQgYWR2YW5jZShbRW5mb3JjZVJhbmdlXSB1bnNp
Z25lZCBsb25nIGNvdW50KTsKICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwg
SW1wbGVtZW50ZWRBcz1jb250aW51ZUZ1bmN0aW9uLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgY29u
dGludWUob3B0aW9uYWwgYW55IGtleSk7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQsIEltcGxlbWVudGVkQXM9ZGVsZXRlRnVuY3Rpb24sIFJhaXNlc0V4Y2VwdGlvbl0gSURC
UmVxdWVzdCBkZWxldGUoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9jbGllbnQvSURCQ3Vyc29ySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ3Vyc29ySW1wbC5jcHAKaW5kZXggNmM3YjNkMC4uNTli
NjdmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50
L0lEQkN1cnNvckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L2NsaWVudC9JREJDdXJzb3JJbXBsLmNwcApAQCAtMTQ0LDMyICsxNDQsMzMgQEAgUmVmUHRyPFdl
YkNvcmU6OklEQlJlcXVlc3Q+IElEQkN1cnNvcjo6dXBkYXRlKEpTQzo6RXhlY1N0YXRlJiBleGVj
LCBEZXByZWNhdGVkOjoKICAgICByZXR1cm4gcmVxdWVzdDsKIH0KIAotdm9pZCBJREJDdXJzb3I6
OmFkdmFuY2UodW5zaWduZWQgbG9uZyBjb3VudCwgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIElE
QkN1cnNvcjo6YWR2YW5jZSh1bnNpZ25lZCBsb25nIGNvdW50LCBFeGNlcHRpb25Db2RlV2l0aE1l
c3NhZ2UmIGVjKQogewogICAgIExPRyhJbmRleGVkREIsICJJREJDdXJzb3I6OmFkdmFuY2UiKTsK
IAogICAgIGlmICghbV9yZXF1ZXN0KSB7Ci0gICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRp
b246OkludmFsaWRTdGF0ZUVycm9yOworICAgICAgICBlYy5jb2RlID0gSURCRGF0YWJhc2VFeGNl
cHRpb246OkludmFsaWRTdGF0ZUVycm9yOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIAog
ICAgIGlmICghY291bnQpIHsKLSAgICAgICAgZWMgPSBUeXBlRXJyb3I7CisgICAgICAgIGVjLmNv
ZGUgPSBUeXBlRXJyb3I7CisgICAgICAgIGVjLm1lc3NhZ2UgPSBBU0NJSUxpdGVyYWwoIkZhaWxl
ZCB0byBleGVjdXRlICdhZHZhbmNlJyBvbiAnSURCQ3Vyc29yJzogQSBjb3VudCBhcmd1bWVudCB3
aXRoIHZhbHVlIDAgKHplcm8pIHdhcyBzdXBwbGllZCwgbXVzdCBiZSBncmVhdGVyIHRoYW4gMC4i
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChzb3VyY2VzRGVsZXRlZCgpKSB7
Ci0gICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkludmFsaWRTdGF0ZUVycm9yOwor
ICAgICAgICBlYy5jb2RlID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkludmFsaWRTdGF0ZUVycm9y
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKCF0cmFuc2FjdGlvbigpLmlzQWN0
aXZlKCkpIHsKLSAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VHJhbnNhY3Rpb25J
bmFjdGl2ZUVycm9yOworICAgICAgICBlYy5jb2RlID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlRy
YW5zYWN0aW9uSW5hY3RpdmVFcnJvcjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlm
ICghbV9nb3RWYWx1ZSkgewotICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJbnZh
bGlkU3RhdGVFcnJvcjsKKyAgICAgICAgZWMuY29kZSA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJ
bnZhbGlkU3RhdGVFcnJvcjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkN1cnNvckltcGwuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDdXJzb3JJbXBsLmgK
aW5kZXggOTM0ODMyZi4uM2UzNzA0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvY2xpZW50L0lEQkN1cnNvckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ3Vyc29ySW1wbC5oCkBAIC01Niw3ICs1Niw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIElEQkFueSogc291cmNlKCkgb3ZlcnJpZGUgZmluYWw7CiAK
ICAgICB2aXJ0dWFsIFJlZlB0cjxXZWJDb3JlOjpJREJSZXF1ZXN0PiB1cGRhdGUoSlNDOjpFeGVj
U3RhdGUmLCBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSYsIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlk
ZSBmaW5hbDsKLSAgICB2aXJ0dWFsIHZvaWQgYWR2YW5jZSh1bnNpZ25lZCBsb25nLCBFeGNlcHRp
b25Db2RlJikgb3ZlcnJpZGUgZmluYWw7CisgICAgdmlydHVhbCB2b2lkIGFkdmFuY2UodW5zaWdu
ZWQgbG9uZywgRXhjZXB0aW9uQ29kZVdpdGhNZXNzYWdlJikgb3ZlcnJpZGUgZmluYWw7CiAgICAg
dmlydHVhbCB2b2lkIGNvbnRpbnVlRnVuY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV4
Y2VwdGlvbkNvZGUmKSBvdmVycmlkZSBmaW5hbDsKICAgICB2aXJ0dWFsIHZvaWQgY29udGludWVG
dW5jdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgRGVwcmVjYXRlZDo6U2NyaXB0
VmFsdWUmIGtleSwgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlIGZpbmFsOwogICAgIHZpcnR1YWwg
UmVmUHRyPFdlYkNvcmU6OklEQlJlcXVlc3Q+IGRlbGV0ZUZ1bmN0aW9uKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqLCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGUgZmluYWw7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5Q3Vyc29yLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2xlZ2FjeS9MZWdhY3lDdXJzb3IuY3Bw
CmluZGV4IGE3YTQyMDEuLmI1N2E0NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL2xlZ2FjeS9MZWdhY3lDdXJzb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2xlZ2FjeS9MZWdhY3lDdXJzb3IuY3BwCkBAIC0xMjcsMjkgKzEy
NywyOSBAQCBSZWZQdHI8SURCUmVxdWVzdD4gTGVnYWN5Q3Vyc29yOjp1cGRhdGUoSlNDOjpFeGVj
U3RhdGUmIHN0YXRlLCBEZXByZWNhdGVkOjpTY3JpcAogICAgIHJldHVybiBvYmplY3RTdG9yZS0+
cHV0KElEQkRhdGFiYXNlQmFja2VuZDo6Q3Vyc29yVXBkYXRlLCBMZWdhY3lBbnk6OmNyZWF0ZSh0
aGlzKSwgc3RhdGUsIHZhbHVlLCBtX2N1cnJlbnRQcmltYXJ5S2V5LCBlYyk7CiB9CiAKLXZvaWQg
TGVnYWN5Q3Vyc29yOjphZHZhbmNlKHVuc2lnbmVkIGxvbmcgY291bnQsIEV4Y2VwdGlvbkNvZGUm
IGVjKQordm9pZCBMZWdhY3lDdXJzb3I6OmFkdmFuY2UodW5zaWduZWQgbG9uZyBjb3VudCwgRXhj
ZXB0aW9uQ29kZVdpdGhNZXNzYWdlJiBlYykKIHsKLSAgICBlYyA9IDA7CisgICAgZWMuY29kZSA9
IDA7CiAgICAgTE9HKFN0b3JhZ2VBUEksICJMZWdhY3lDdXJzb3I6OmFkdmFuY2UiKTsKICAgICBp
ZiAoIW1fZ290VmFsdWUpIHsKLSAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SW52
YWxpZFN0YXRlRXJyb3I7CisgICAgICAgIGVjLmNvZGUgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6
SW52YWxpZFN0YXRlRXJyb3I7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAoIW1f
dHJhbnNhY3Rpb24tPmlzQWN0aXZlKCkpIHsKLSAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2Vw
dGlvbjo6VHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yOworICAgICAgICBlYy5jb2RlID0gSURCRGF0
YWJhc2VFeGNlcHRpb246OlRyYW5zYWN0aW9uSW5hY3RpdmVFcnJvcjsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAogICAgIGlmICghY291bnQpIHsKLSAgICAgICAgZWMgPSBUeXBlRXJyb3I7Cisg
ICAgICAgIGVjLmNvZGUgPSBUeXBlRXJyb3I7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAg
ICBtX3JlcXVlc3QtPnNldFBlbmRpbmdDdXJzb3IodGhpcyk7CiAgICAgbV9nb3RWYWx1ZSA9IGZh
bHNlOwotICAgIG1fYmFja2VuZC0+YWR2YW5jZShjb3VudCwgbV9yZXF1ZXN0LCBlYyk7Ci0gICAg
QVNTRVJUKCFlYyk7CisgICAgbV9iYWNrZW5kLT5hZHZhbmNlKGNvdW50LCBtX3JlcXVlc3QsIGVj
LmNvZGUpOworICAgIEFTU0VSVCghZWMuY29kZSk7CiB9CiAKIHZvaWQgTGVnYWN5Q3Vyc29yOjpj
b250aW51ZUZ1bmN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IERl
cHJlY2F0ZWQ6OlNjcmlwdFZhbHVlJiBrZXlWYWx1ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5Q3Vy
c29yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5Q3Vy
c29yLmgKaW5kZXggNzY3MDRkMi4uNTNlOTk5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvbGVnYWN5L0xlZ2FjeUN1cnNvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL2xlZ2FjeS9MZWdhY3lDdXJzb3IuaApAQCAtNjIsNyArNjIs
NyBAQCBwdWJsaWM6CiAgICAgSURCQW55KiBzb3VyY2UoKSBvdmVycmlkZTsKIAogICAgIFJlZlB0
cjxJREJSZXF1ZXN0PiB1cGRhdGUoSlNDOjpFeGVjU3RhdGUmLCBEZXByZWNhdGVkOjpTY3JpcHRW
YWx1ZSYsIEV4Y2VwdGlvbkNvZGUmKSBvdmVycmlkZTsKLSAgICB2b2lkIGFkdmFuY2UodW5zaWdu
ZWQgbG9uZywgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlOworICAgIHZvaWQgYWR2YW5jZSh1bnNp
Z25lZCBsb25nLCBFeGNlcHRpb25Db2RlV2l0aE1lc3NhZ2UmKSBvdmVycmlkZTsKICAgICAvLyBG
SVhNRTogVHJ5IHRvIG1vZGlmeSB0aGUgY29kZSBnZW5lcmF0b3Igc28gdGhpcyBvdmVybG9hZCBp
cyB1bm5lZWRlZC4KICAgICB2b2lkIGNvbnRpbnVlRnVuY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIEV4Y2VwdGlvbkNvZGUmIGVjKSBvdmVycmlkZSB7IGNvbnRpbnVlRnVuY3Rpb24oc3Rh
dGljX2Nhc3Q8SURCS2V5Kj4obnVsbHB0ciksIGVjKTsgfQogICAgIHZvaWQgY29udGludWVGdW5j
dGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgRGVwcmVjYXRlZDo6U2NyaXB0VmFs
dWUmIGtleSwgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NQmluZGluZy5jcHAKaW5kZXggMDY1NzJlNC4uZTE4NDk5ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCkBAIC0yMjMsMjUgKzIyMywz
OSBAQCB2b2lkIHJlcG9ydEN1cnJlbnRFeGNlcHRpb24oRXhlY1N0YXRlKiBleGVjKQogICAgICAg
ICBlcnJvck9iamVjdCA9IHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBpbnRlcmZhY2VOYW1lOjpj
cmVhdGUoZGVzY3JpcHRpb24pKTsgXAogICAgICAgICBicmVhazsKIAotSlNWYWx1ZSBjcmVhdGVE
T01FeGNlcHRpb24oRXhlY1N0YXRlKiBleGVjLCBFeGNlcHRpb25Db2RlIGVjKQorc3RhdGljIEpT
VmFsdWUgY3JlYXRlRE9NRXhjZXB0aW9uKEV4ZWNTdGF0ZSogZXhlYywgRXhjZXB0aW9uQ29kZSBl
YywgY29uc3QgU3RyaW5nKiBtZXNzYWdlKQogewogICAgIGlmICghZWMpCiAgICAgICAgIHJldHVy
biBqc1VuZGVmaW5lZCgpOwogCiAgICAgLy8gRklYTUU6IEhhbmRsZSBvdGhlciBXZWJJREwgZXhj
ZXB0aW9uIHR5cGVzLgotICAgIGlmIChlYyA9PSBUeXBlRXJyb3IpCi0gICAgICAgIHJldHVybiBj
cmVhdGVUeXBlRXJyb3IoZXhlYyk7Ci0gICAgaWYgKGVjID09IFJhbmdlRXJyb3IpCi0gICAgICAg
IHJldHVybiBjcmVhdGVSYW5nZUVycm9yKGV4ZWMsIEFTQ0lJTGl0ZXJhbCgiQmFkIHZhbHVlIikp
OworICAgIGlmIChlYyA9PSBUeXBlRXJyb3IpIHsKKyAgICAgICAgaWYgKCFtZXNzYWdlIHx8IG1l
c3NhZ2UtPmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiBjcmVhdGVUeXBlRXJyb3IoZXhl
Yyk7CisgICAgICAgIHJldHVybiBjcmVhdGVUeXBlRXJyb3IoZXhlYywgKm1lc3NhZ2UpOworICAg
IH0KIAorICAgIGlmIChlYyA9PSBSYW5nZUVycm9yKSB7CisgICAgICAgIGlmICghbWVzc2FnZSB8
fCBtZXNzYWdlLT5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gY3JlYXRlUmFuZ2VFcnJv
cihleGVjLCBBU0NJSUxpdGVyYWwoIkJhZCB2YWx1ZSIpKTsKKyAgICAgICAgcmV0dXJuIGNyZWF0
ZVJhbmdlRXJyb3IoZXhlYywgKm1lc3NhZ2UpOworICAgIH0KIAogICAgIC8vIEZJWE1FOiBBbGwg
Y2FsbGVycyB0byBzZXRET01FeGNlcHRpb24gbmVlZCB0byBwYXNzIGluIHRoZSByaWdodCBnbG9i
YWwgb2JqZWN0Ci0gICAgLy8gZm9yIG5vdywgd2UncmUgZ29pbmcgdG8gYXNzdW1lIHRoZSBsZXhp
Y2FsR2xvYmFsT2JqZWN0LiAgV2hpY2ggaXMgd3JvbmcgaW4gY2FzZXMgbGlrZSB0aGlzOgorICAg
IC8vIGZvciBub3csIHdlJ3JlIGdvaW5nIHRvIGFzc3VtZSB0aGUgbGV4aWNhbEdsb2JhbE9iamVj
dC4gV2hpY2ggaXMgd3JvbmcgaW4gY2FzZXMgbGlrZSB0aGlzOgogICAgIC8vIGZyYW1lc1swXS5k
b2N1bWVudC5jcmVhdGVFbGVtZW50KG51bGwsIG51bGwpOyAvLyB0aHJvd3MgYW4gZXhjZXB0aW9u
IHdoaWNoIHNob3VsZCBoYXZlIHRoZSBzdWJmcmFtZXMgcHJvdG90eXBlcy4KICAgICBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZGVwcmVjYXRlZEdsb2JhbE9iamVjdEZvclByb3Rv
dHlwZShleGVjKTsKIAogICAgIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbiBkZXNjcmlwdGlvbihl
Yyk7CiAKKyAgICBDU3RyaW5nIG1lc3NhZ2VDU3RyaW5nOworICAgIGlmIChtZXNzYWdlKQorICAg
ICAgICBtZXNzYWdlQ1N0cmluZyA9IG1lc3NhZ2UtPnV0ZjgoKTsKKyAgICBpZiAobWVzc2FnZSAm
JiAhbWVzc2FnZS0+aXNFbXB0eSgpKSB7CisgICAgICAgIC8vIEl0IGlzIHNhZmUgdG8gZG8gdGhp
cyBiZWNhdXNlIHRoZSBjaGFyKiBjb250ZW50cyBvZiB0aGUgQ1N0cmluZyBhcmUgY29waWVkIGlu
dG8gYSBuZXcgV1RGOjpTdHJpbmcgYmVmb3JlIHRoZSBDU3RyaW5nIGlzIGRlc3Ryb3llZC4KKyAg
ICAgICAgZGVzY3JpcHRpb24uZGVzY3JpcHRpb24gPSBtZXNzYWdlQ1N0cmluZy5kYXRhKCk7Cisg
ICAgfQorCiAgICAgSlNWYWx1ZSBlcnJvck9iamVjdDsKICAgICBzd2l0Y2ggKGRlc2NyaXB0aW9u
LnR5cGUpIHsKICAgICAgICAgRE9NX0VYQ0VQVElPTl9JTlRFUkZBQ0VTX0ZPUl9FQUNIKFRSWV9U
T19DUkVBVEVfRVhDRVBUSU9OKQpAQCAtMjUyLDYgKzI2NiwxNiBAQCBKU1ZhbHVlIGNyZWF0ZURP
TUV4Y2VwdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEV4Y2VwdGlvbkNvZGUgZWMpCiAgICAgcmV0dXJu
IGVycm9yT2JqZWN0OwogfQogCitzdGF0aWMgSlNWYWx1ZSBjcmVhdGVET01FeGNlcHRpb24oRXhl
Y1N0YXRlKiBleGVjLCBFeGNlcHRpb25Db2RlIGVjLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCit7
CisgICAgcmV0dXJuIGNyZWF0ZURPTUV4Y2VwdGlvbihleGVjLCBlYywgJm1lc3NhZ2UpOworfQor
CitKU1ZhbHVlIGNyZWF0ZURPTUV4Y2VwdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEV4Y2VwdGlvbkNv
ZGUgZWMpCit7CisgICAgcmV0dXJuIGNyZWF0ZURPTUV4Y2VwdGlvbihleGVjLCBlYywgbnVsbHB0
cik7Cit9CisKIHZvaWQgc2V0RE9NRXhjZXB0aW9uKEV4ZWNTdGF0ZSogZXhlYywgRXhjZXB0aW9u
Q29kZSBlYykKIHsKICAgICBpZiAoIWVjIHx8IGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQpAQCAtMjYw
LDYgKzI4NCwxNCBAQCB2b2lkIHNldERPTUV4Y2VwdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEV4Y2Vw
dGlvbkNvZGUgZWMpCiAgICAgZXhlYy0+dm0oKS50aHJvd0V4Y2VwdGlvbihleGVjLCBjcmVhdGVE
T01FeGNlcHRpb24oZXhlYywgZWMpKTsKIH0KIAordm9pZCBzZXRET01FeGNlcHRpb24oSlNDOjpF
eGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEV4Y2VwdGlvbkNvZGVXaXRoTWVzc2FnZSYgZWMpCit7Cisg
ICAgaWYgKCFlYy5jb2RlIHx8IGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm47
CisKKyAgICBleGVjLT52bSgpLnRocm93RXhjZXB0aW9uKGV4ZWMsIGNyZWF0ZURPTUV4Y2VwdGlv
bihleGVjLCBlYy5jb2RlLCBlYy5tZXNzYWdlKSk7Cit9CisKICN1bmRlZiBUUllfVE9fQ1JFQVRF
X0VYQ0VQVElPTgogCiBib29sIHNob3VsZEFsbG93QWNjZXNzVG9Ob2RlKEV4ZWNTdGF0ZSogZXhl
YywgTm9kZSogbm9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NQmluZGluZy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgK
aW5kZXggYzNjNTg5OC4uYjNhMGZkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01CaW5kaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01CaW5kaW5nLmgKQEAgLTY4LDggKzY4LDcgQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBVUkw7CiBj
bGFzcyBOb2RlOwogCi10eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwotCitzdHJ1Y3QgRXhjZXB0
aW9uQ29kZVdpdGhNZXNzYWdlOwogc3RydWN0IEV4Y2VwdGlvbkRldGFpbHMgewogICAgIFN0cmlu
ZyBtZXNzYWdlOwogICAgIGludCBsaW5lTnVtYmVyIHsgMCB9OwpAQCAtNzcsNiArNzYsOCBAQCBz
dHJ1Y3QgRXhjZXB0aW9uRGV0YWlscyB7CiAgICAgU3RyaW5nIHNvdXJjZVVSTDsKIH07CiAKK3R5
cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CisKIERPTVdpbmRvdyYgYWN0aXZlRE9NV2luZG93KEpT
Qzo6RXhlY1N0YXRlKik7CiBET01XaW5kb3cmIGZpcnN0RE9NV2luZG93KEpTQzo6RXhlY1N0YXRl
Kik7CiAKQEAgLTI4OSw2ICsyOTAsNyBAQCBKU0M6OkpTVmFsdWUgY3JlYXRlRE9NRXhjZXB0aW9u
KEpTQzo6RXhlY1N0YXRlKiwgRXhjZXB0aW9uQ29kZSk7CiAKIC8vIENvbnZlcnQgYSBET00gaW1w
bGVtZW50YXRpb24gZXhjZXB0aW9uIGNvZGUgaW50byBhIEphdmFTY3JpcHQgZXhjZXB0aW9uIGlu
IHRoZSBleGVjdXRpb24gc3RhdGUuCiBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldERPTUV4Y2VwdGlv
bihKU0M6OkV4ZWNTdGF0ZSosIEV4Y2VwdGlvbkNvZGUpOwordm9pZCBzZXRET01FeGNlcHRpb24o
SlNDOjpFeGVjU3RhdGUqLCBjb25zdCBFeGNlcHRpb25Db2RlV2l0aE1lc3NhZ2UmKTsKIAogSlND
OjpKU1ZhbHVlIGpzU3RyaW5nKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgVVJMJik7IC8vIGVtcHR5
IGlmIHRoZSBVUkwgaXMgbnVsbAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9JRExBdHRyaWJ1dGVzLnR4dAppbmRleCA2NTY5MzkwLi42ZTNmZDBiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKQEAgLTEw
Nyw2ICsxMDcsNyBAQCBQYXNzQ29udGV4dAogUHJpdmF0ZQogUHV0Rm9yd2FyZHM9KgogUmFpc2Vz
RXhjZXB0aW9uCitSYWlzZXNFeGNlcHRpb25XaXRoTWVzc2FnZQogUmVmbGVjdD0qCiBSZXBsYWNl
YWJsZQogUmVwbGFjZWFibGVDb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAKaW5kZXggYjY5NGQ2MS4uOWZiY2U3
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWRE
QkFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhl
ZERCQWdlbnQuY3BwCkBAIC00NTUsOSArNDU1LDkgQEAgcHVibGljOgogICAgICAgICBSZWZQdHI8
SURCQ3Vyc29yV2l0aFZhbHVlPiBpZGJDdXJzb3IgPSByZXF1ZXN0UmVzdWx0LT5pZGJDdXJzb3JX
aXRoVmFsdWUoKTsKIAogICAgICAgICBpZiAobV9za2lwQ291bnQpIHsKLSAgICAgICAgICAgIEV4
Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgICAgICAgICAgRXhjZXB0aW9uQ29kZVdpdGhNZXNzYWdl
IGVjOwogICAgICAgICAgICAgaWRiQ3Vyc29yLT5hZHZhbmNlKG1fc2tpcENvdW50LCBlYyk7Ci0g
ICAgICAgICAgICBpZiAoZWMpCisgICAgICAgICAgICBpZiAoZWMuY29kZSkKICAgICAgICAgICAg
ICAgICBtX3JlcXVlc3RDYWxsYmFjay0+c2VuZEZhaWx1cmUoIkNvdWxkIG5vdCBhZHZhbmNlIGN1
cnNvci4iKTsKICAgICAgICAgICAgIG1fc2tpcENvdW50ID0gMDsKICAgICAgICAgICAgIHJldHVy
bjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>