Commit Graph

637 Commits

Author SHA1 Message Date
Jake
6f5b43e290 moaaaaar patches 2021-11-30 19:26:33 +01:00
Jake
e141126891 even moaar patches 2021-11-30 19:26:33 +01:00
Jake
f331ac28e0 add back Optimize collision to not load chunks 2021-11-30 19:26:33 +01:00
Jake
c280dbeed0 moar patches 2021-11-30 19:26:33 +01:00
Jake
3436ed93c2 a bunch more patches done 2021-11-30 19:26:33 +01:00
Jake
3dbf41c443 updated more patches 2021-11-30 19:26:33 +01:00
Jake
0f7ca21add several more patches updated 2021-11-30 19:26:33 +01:00
Nassim Jahnke
26dcf812a4 More more more more more more more more more more more more more more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
97a4a70766 More more more more more more more more more more more more more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
45c36e5d0c More more more more more more more more more more more more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
4e81c1fe78 More more more more more more more more more more more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
8f67d293a2 More more more more more more more more more more more work 2021-11-30 19:26:33 +01:00
Jason Penilla
0358549f7b p a t c h e s 2021-11-30 19:26:33 +01:00
Jason Penilla
e208af9741 patches 2021-11-30 19:26:33 +01:00
Nassim Jahnke
8f64c190ef Fix Paper comments 2021-11-30 19:26:33 +01:00
Nassim Jahnke
f43f1e217e More more more more more more more more more more work 2021-11-30 19:26:33 +01:00
MiniDigger
6ac2614a5f hey, look ma, am doing my part! 2021-11-30 19:26:33 +01:00
Jason Penilla
1d74ffcb7c Fixup indent in async chunk io patch 2021-11-30 19:26:33 +01:00
Jake
0f23d73d1a a bunch more patches 2021-11-30 19:26:33 +01:00
Jake
2b29fe37a2 more patches updated 2021-11-30 19:26:33 +01:00
Jason Penilla
5d0d11e4b6 Patches 2021-11-30 19:26:33 +01:00
Jake
2004ff214a more work 2021-11-30 19:26:33 +01:00
Jake
753267a57e and here's some more patches 2021-11-30 19:26:33 +01:00
Jake
d9c1c30c58 move mojang api server patches up 2021-11-30 19:26:33 +01:00
Jake
e481692afd move extra plugins patch up & more work 2021-11-30 19:26:33 +01:00
Jason Penilla
7665ae86d6 Update runServer gradle properties 2021-11-30 19:26:33 +01:00
Jake
9ae92d26b8 and some more patches 2021-11-30 19:26:33 +01:00
Jason Penilla
76879ba957 Fix issues with IntIdentityHashBiMiap 2021-11-30 19:26:33 +01:00
Jake
5cfc0781d6 even more patches 2021-11-30 19:26:33 +01:00
Jake
18ad44eabc several more patches 2021-11-30 19:26:33 +01:00
Jason Penilla
28b02df594 Update ticklist saving 2021-11-30 19:26:33 +01:00
Josh Roy
06629d562b Updated Upstream (CraftBukkit)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
a58fde42 Fix crash with composters
a11ec5d7 Remove unnecessary CraftBlock creation in CraftRegionAccessor#setBlock
2021-11-30 19:26:33 +01:00
Josh Roy
98330439e8 More more more more more more more more more work 2021-11-30 19:26:33 +01:00
Josh Roy
11709feb21 More more more more more more more more work 2021-11-30 19:26:33 +01:00
Josh Roy
3cd2c987cf Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
ea30a299 Add docs in ServerListPingEvent based on changes from 1.18

CraftBukkit Changes:
03f249f0 Generate bootstrap jar separately
3b214b5a SPIGOT-6803: Fix ServerPing not using the new logic for show players in 1.18

Spigot Changes:
c07753b0 Rebuild patches
2021-11-30 19:26:33 +01:00
Jake Potrebic
66dbf41a65 async chunk patch progress (#6930) 2021-11-30 19:26:33 +01:00
Nassim Jahnke
758b8c689b Fix mappingregistry, readd an async chunk hunk 2021-11-30 19:26:33 +01:00
Nassim Jahnke
cc171b1928 More more more more more more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
105034367d More more more more more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
6f3591fd6d More more more more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
d7cdc72bdf More more more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
e9954ed32a More more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
c8cb91bb99 More more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
456621b0d7 More work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
31f9d01c7c Work 2021-11-30 19:26:33 +01:00
Jason Penilla
284a7fed94 Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
07a05531 SPIGOT-6781: Add Block#canPlace

CraftBukkit Changes:
dd02403b Fix upgrading worlds with custom generators
1c82731d SPIGOT-6781: Add Block#canPlace
2f6662d4 Improve multi-dimension code
6ac2e032 SPIGOT-6802: Fix major issues with --forceUpgrade

Spigot Changes:
d5de7346 Rebuild patches
2021-11-30 19:26:33 +01:00
Jason Penilla
a8ef7aa56f Prepare for updating server patches 2021-11-30 19:26:33 +01:00
Nassim Jahnke
3e71cf19dc Remove Fix reducedDebugInfo not initialized on client patch
Hasn't been needed for a while now, see #6733
2021-11-30 19:26:33 +01:00
Josh Roy
22aaf91368
Add config option to enable hopper occluding blocks (#6896)
Co-authored-by: zombachu <zombachu@gmail.com>
2021-11-20 14:15:36 -05:00
Josh Roy
284b3b8dd2
Fix AnvilPrepareEvent not working with zero xp (#6895)
Co-authored-by: Jan Tuck <jan@tuck.dk>
2021-11-20 14:09:19 -05:00
Nassim Jahnke
e22a1a9d05
Fix more namespacedkey parsing (#6903) 2021-11-17 10:53:41 +01:00
Jason
f3830bc214
Update paperweight to 1.2.0 (#6901) 2021-11-16 21:00:14 -08:00
booky10
51b7b609f1
Add API for resetting a single score (#6873) 2021-11-15 15:08:50 -08:00
Jake Potrebic
555f99d390
cleanup: Add hand to bucket events patch (#6881) 2021-11-15 20:01:19 +01:00
Jake Potrebic
db0bff9c6a
Call onRemove logic for breakNaturally (#6854) 2021-11-12 18:28:08 -08:00
Jason
4d6073faff
Partially fix #6880 (#6888) 2021-11-12 14:27:26 -08:00
Josh Roy
cc2ecbc407
Add Raw Byte Entity Serialization (#6826) 2021-11-10 21:53:27 -05:00
Seggan
3f17694803
Goat ram API (#6336) 2021-11-09 00:48:22 -08:00
Jake Potrebic
a923e332ee
Make despawn distance configs per-category, improve per category spawn limit config (#6717)
Also adds per-world spawn limit config in paper.yml for `underground_water_creature`, and migrates existing spawn limit config options to their Mojang names.
2021-11-08 23:59:15 -08:00
Owen1212055
87121cef29
Move getTrackedPlayers up from Player to Entity (#6569) 2021-11-08 13:39:42 -08:00
Bjarne Koll
32ba0881e8
Fix setPatternColor on tropical fish bucket meta (#6877) 2021-11-08 11:20:07 -08:00
Jake Potrebic
5af80b0ab8
Add isCollidable methods to various places (#6870) 2021-11-06 12:43:24 -07:00
Jake Potrebic
22b02387c3
Add API for checking if a zombie has the option to break doors (#6855) 2021-11-05 17:17:12 -07:00
Jake Potrebic
124d079dd0
Fix issues with mob conversion (#6831) 2021-11-05 17:06:19 -07:00
Nassim Jahnke
c20c9d39d3
Fix CraftNamespacedKey shenanigans (#6825) 2021-11-05 16:01:40 +01:00
Bjarne Koll
70fe58d0a0
Expose the potential player cause of a lightning (#6782) 2021-11-05 15:54:37 +01:00
PaulBGD
06d82e0d6d
Cache palette array (#6767)
Instead of allocating the 4KB for every chunk section, cache it locally and
reuse it for other chunk sections to save on allocations. These allocations add
up very quickly when saving chunks frequently.

For example, with 30,000 chunks and 16 chunk sections per chunk (which will
actually get larger in 1.18) it allocates nearly 2GB, which this patch
eliminates entirely.
2021-11-05 15:52:32 +01:00
Nassim Jahnke
ada930bf8d
Updated Upstream (Bukkit/CraftBukkit) (#6872)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
cfd18bd0 SPIGOT-6436: Add Player#stopAllSounds

CraftBukkit Changes:
b58f4299 SPIGOT-6436: Add Player#stopAllSounds
eb191612 SPIGOT-6783: Items do not appear in custom anvil inventories
376edf4f SPIGOT-6779: Fix LivingEntity#attack for Player entities
747a73ec SPIGOT-6772: Use entity mailbox and re-schedule entities if they get unloaded
2021-11-05 15:08:24 +01:00
Jason
6f71b7c4a9
Deduplicate strings in ObfHelper (#6841) 2021-11-04 17:23:06 -07:00
Jake Potrebic
0968cddbcd
Move async catches back to where they were (#6869) 2021-11-04 11:20:14 -07:00
Jake Potrebic
09d50a9277
Added missing mappings (#6810) 2021-11-04 07:08:53 -07:00
Jason
3e310e096c
Remove redundant and unneeded repos, reorder repos (#6867) 2021-11-04 02:42:18 +00:00
Jason
d9e2817ffd
Update paperweight to 1.1.13 (#6866) 2021-11-03 17:54:11 -07:00
Shane Freeder
bc43f40f0d
Update jline and TCA (#6829)
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>

updates jline to 3.21.0, and TCA to 1.3.0
2021-11-02 18:02:16 +00:00
Spottedleaf
3f043f7eb9 Async catch modifications to critical entity state
These used to be here from Spigot, but were dropped with 1.17.
Now in 1.17, this state is _even more_ critical than it was before,
so these must exist to catch stupid plugins.
2021-10-31 21:35:47 -07:00
Jake Potrebic
c1b4899e07
Fix dupe uuid check on entity add (#6735) 2021-10-31 15:09:39 -07:00
HexedHero
744dd8ce79
Allow spawners to be disabled without adding a stupid high tick rate (#6837) 2021-10-31 08:51:57 +01:00
Finn Künstner
a284e40c70
Updated Upstream (Bukkit/CraftBukkit) (#6848)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
9b45fa2f #667: Allow setting BrewEvent results
8c776ddc SPIGOT-6762: ChatPaginator.wordWrap only transfers one modifier
da372966 SPIGOT-4590, SPIGOT-6769: Clarify DamageCause documentation

CraftBukkit Changes:
cef1fda3 #947: Add missing spawn eggs for SpawnEggMeta
eb9a0f34 #945: Allow setting BrewEvent results
2021-10-31 08:34:10 +01:00
Jake Potrebic
f2cb9cbd76
Don't fire EntityZapEvent twice (#6830) 2021-10-25 11:54:21 +02:00
sulu5890
20dea64f63
don't attempt to teleport dead entities (#6832) 2021-10-25 11:38:43 +02:00
Nassim Jahnke
c66adfb39d
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#6823)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
58c2d3c7 SPIGOT-6771: Help command tab completion does not respect permissions

CraftBukkit Changes:
fd50041d SPIGOT-6768: Remove upper bound on setFreezeTicks

Spigot Changes:
38929296 SPIGOT-6767: Configurable Thunder Chance
2021-10-24 19:38:23 +02:00
Pedro
9472d38f3c
Fix method name for Critical damage (#6813) 2021-10-21 15:11:19 +01:00
stonar96
a1f49e4c60
Fix command suggestion leak (#6592)
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
2021-10-21 02:15:18 -07:00
Jason
7a0886180f
AT & Mapping fixes (#6809) 2021-10-21 01:16:31 -07:00
Owen1212055
f47aeafe00
Add Horse Animation API (#5599) 2021-10-20 18:09:42 -07:00
Kacper Płażewski
bb397ba74c
Add critical damage API (#6275) 2021-10-20 18:15:28 -04:00
Jake Potrebic
55ca459515
rename method to getSpawnEgg 2021-10-20 14:41:54 -07:00
BillyGalbreath
9d570042ed
Add ItemFactory#getMonsterEgg API (#6772) 2021-10-20 14:35:52 -07:00
syldium
40ee63496c
Add advancement display API (#6175) 2021-10-20 15:59:13 -04:00
BillyGalbreath
e5f9241d15
Left handed API (#6775) 2021-10-19 20:46:52 -07:00
Bjarne Koll
40057019e0
Correctly inflate villager activation bounding box (#6798) 2021-10-19 20:14:30 -07:00
Jake Potrebic
0a6103597b
Get entity default attributes (#6449) 2021-10-19 18:55:05 -07:00
Shane Freeder
26c37d99d5
create random seeds for features using SecureRandom 2021-10-19 15:25:04 +01:00
Jason
eaee7a2473
Use correct LevelStem registry when loading default end/nether (#6789) 2021-10-17 18:10:03 +01:00
Jake Potrebic
72a3175165
Updated Upstream (Bukkit/CraftBukkit) (#6791) 2021-10-17 17:57:00 +01:00
Jake Potrebic
a55617d9ce
Fix/improve the last upstream update (#6780) 2021-10-16 19:57:05 +01:00
Spottedleaf
c1644521c9 Do not overload I/O threads with chunk data while flush saving
If the chunk count is high, then the memory used by the
chunks adds up and could cause problems. By flushing
every so many chunks, the server will not become
stressed for memory. It will also not increase the total
time to save, as flush saving performs a full flush at
the end anyways.
2021-10-16 02:23:07 -07:00
Jake Potrebic
0a16fb8182
Fix merchant inventories not closing on entity removal (#6544) 2021-10-15 20:19:08 -07:00
Spottedleaf
fc0e6c7e08 Fix off by one for determining server view distance
It was 1 greater than it should've been. lvar renaming
caused the field viewDistance to be read when it should've
been reading the watchDistance
2021-10-15 19:21:27 -07:00
Hannes Greule
3f2159e43c
Unlimited chunk load rate (#6768) 2021-10-15 18:54:46 -07:00
Shane Freeder
5344798579
Clean plugin folder logic in extra-jars patch (Fixes #6347) (#6619) 2021-10-15 22:54:22 +01:00
Shane Freeder
4276013833
Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
9590b610 SPIGOT-6749: Library Loader does not correctly isolate dependencies

CraftBukkit Changes:
11c9299f #940: Fixed a NPE during CraftBlockEntityState#update.
960f3109 #937: Fixes related to unplaced BlockStates and the recent world generation changes.
4faf479e SPIGOT-6754: We ignore any still present TileEntity now when we create a BlockState for a block of type AIR.
a72d5404 SPIGOT-6754: Temporarily restore previous behaviour for tile entities with removed blocks

Spigot Changes:
dc75aca8 Remove redundant 'Log null TileEntity Owner' patch
2021-10-15 12:43:19 +01:00
Jason
8575248648
Use ChatRenderer.defaultRenderer() when legacy events have not modified the format (#6104) 2021-10-13 02:00:40 -07:00
Spottedleaf
56e65fd3a7 Null check isApplicable for CraftBlockEntityState#update
If the update call removed the TE, then isApplicable would
have NPE'd.
2021-10-12 13:35:29 -07:00
Jason
54813dbb21
[ci skip] Misc gradle updates (#6763) 2021-10-11 14:31:53 -07:00
Owen1212055
4a0d935cd0
Always allow item changing in EntityFireball (#5493) 2021-10-09 14:04:22 -07:00
Noah van der Aa
cd610df101
Re-readd root/admin user detection (#6703)
* Re-readd root/admin user detection

* I am dum

* Only run id command if needed

* Use ProcessBuilder

* Link to issue

* Rebase

Co-authored-by: Madeline Miller <mnmiller1@me.com>
2021-10-09 19:29:05 +10:00
Jake Potrebic
a61827df91
VanillaCommandWrapper didnt account for entity senders (#6586) 2021-10-08 20:44:45 -07:00
Jake Potrebic
523a55c609
Fix loading cmds in datapacks (#6641) 2021-10-08 20:39:59 -07:00
Jake Potrebic
381a1462b3
Fix unplaced block states after new chunk gen API (#6747) 2021-10-08 12:06:28 -07:00
Jakub Žáček
b470400d5c
Add methods to find targets for lightning strikes (#6712) 2021-10-08 03:00:03 -07:00
Jake Potrebic
975f2e5104
Filter ip address on join if setting is true (#6748) 2021-10-08 09:30:52 +02:00
Noah van der Aa
0d1e18795b
Fix kicking ops when whitelist is reloaded (MC-171420) (#6742) 2021-10-07 11:11:15 -07:00
Noah van der Aa
cf4af9fd48
Add config setting for logging player ip addresses. (#6342) 2021-10-07 11:02:40 -07:00
Spottedleaf
3391ccf988 Discard out of bounds chunks during regionfile header recalc
The logic cannot even determine what local chunk they should be,
and out of bounds chunks can only occur from external modifications
to the regionfile.

If regionfile recalculation cannot occur, then do not attempt
to retry read actions.

Fixes https://github.com/PaperMC/Paper/issues/6718
2021-10-07 05:50:38 -07:00
Nassim Jahnke
bfe562224e
Fix EntityPortalExitEvent target location
Now uses the proper position and world as well as correct pitch
Fixes #6739

Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
2021-10-07 11:05:49 +02:00
Jake Potrebic
7991c4b431
Fix upstream block state factories (#6738) 2021-10-06 21:11:20 -07:00
HexedHero
a4199412fc
Add download link to the /version command (#6482)
* Add download link to /version command

* Change colors
2021-10-06 17:14:03 +02:00
Nassim Jahnke
0cdeeef91f
Remove unnecessary Velocity repo from server (#6730) 2021-10-06 11:28:35 +02:00
Jake Potrebic
e155002b31
Fix EntityPortalExitEvent not being called (#5617) 2021-10-05 14:19:27 -07:00
Jake Potrebic
fdd5c65423
Fix CraftCriteria defaults map (#6723) 2021-10-05 10:24:36 -07:00
Jason
a3dfe6dca5
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#6722) 2021-10-04 20:14:11 -07:00
Jake Potrebic
90f717fa5a
Add missing team sidebar display slots (#6690) 2021-10-04 10:31:26 +01:00
chickeneer
7ebf08a6ad
Handle missing Spawn Egg item meta for 1.17 mobs (#6700) 2021-10-04 10:13:19 +02:00
Jason
a978f4122a
Start console thread after PaperConfig & MinecraftServer.console are initialized (#6716) 2021-10-03 15:12:04 -07:00
Jake Potrebic
e14aff9b32
Don't count named piglins and hoglins towards mob cap (#6452) 2021-10-03 18:54:54 +02:00
Jason
e39159134f
Update paperweight to 1.1.12 (#6653) 2021-10-02 18:42:30 -07:00
Jason
bde7b98762
Make legacyRenderer a ViewerUnaware renderer (#6691) 2021-10-02 11:43:03 -07:00
Jake Potrebic
cc38c16e75
Updated Upstream (Bukkit/CraftBukkit) (#6638) 2021-10-02 10:21:49 -07:00
sulu5890
e8830b27e3
Revert "Readd root/admin user detection (#6593)" (#6699)
This reverts commit 45c4f90259.
2021-10-02 17:09:50 +02:00
Noah van der Aa
45c4f90259
Readd root/admin user detection (#6593)
* Readd root/admin user detection

* Use original test for Windows, use UID for unix and add co-author

* Move logging and remove unnecessary reader

* try with resources

* Use Windows security identifiers + reduce size of Unix check

* Remove extra newline at the bottom of the message

* Change wording

* Address comments

* Link to Maddy's article

* Use warning log level
2021-10-02 19:34:07 +10:00
Jake Potrebic
f905057070
Prevent unintended light block manipulation (#6601) 2021-10-01 13:07:59 +02:00
thamid-gamer
ebfd70b289
Use null for null resource pack prompts (#6572) 2021-09-30 17:56:22 -07:00
Owen1212055
4a27a4a4d9
Update head rotation in missing places (#5481) 2021-09-30 17:50:00 -07:00
thamid-gamer
00322368c5
Make Levels Use Correct Spawn Settings (#6419) 2021-09-30 17:46:37 -07:00
Lexi
6703c13a8a
Preserve overstacked loot (#5943) 2021-09-30 17:39:17 -07:00
Jake Potrebic
425edfa5d7
More CommandBlock API (#5746) 2021-09-30 14:28:02 -07:00
Jason
3b2b835240
Fix click event when vanilla scoreboard name coloring is enabled (#6652) 2021-09-30 11:33:19 -07:00
Jake Potrebic
fce79051cc
Option to prevent NBT copy in smithing recipes (#6671) 2021-09-30 11:27:25 -07:00
Jason
8ee9bdd6ff
Fix stacktrace deobf where thrownProxy got initialized before rewriting (#6684) 2021-09-30 11:05:51 -07:00
booky10
2b404b0cfa
Fix nullability on Block#breakNaturally (#6651) 2021-09-30 10:42:44 -07:00
Jason
ce1e7e810a
Fix jline relocation (#6677) 2021-09-29 09:34:16 -07:00
Nassim Jahnke
3e3cea1a76
Ensure valid vehicle status (#6673) 2021-09-28 10:24:25 +02:00
Jake Potrebic
6de48dbdda
Fix player death kept items not being in same slot (#6663) 2021-09-25 12:06:37 -07:00
Gaider10
d0a2193d4a
Fix interaction pos in range check (#6654) 2021-09-24 10:02:14 +02:00
Kezz
397349e0aa
Adventure 4.9.1 (#6634)
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
2021-09-23 14:07:44 -07:00
Jake Potrebic
1707c10395
fixes cancelling PlayerTradeEvent (#5612) 2021-09-22 21:10:35 -07:00
Jake Potrebic
f4f5a76e2a
Fix anvil inventory events (#6157) 2021-09-22 15:52:43 -07:00
Bjarne Koll
9460497d71
Apply furnace cook speed multiplier through event (#6378)
Previously the upstream FurnaceStartSmeltEvent would default to the
recipes cooking time, ignoring any modifications from the furnace speed
multiplier.
While this works correctly for upstream, paper introduces the speed
multiplier API, which allows a different cook time from the one provided
by the recipe.

This commit now passes the modified cooktime to the furnace start smelt
event explicitly, instead of allowing the event to default to the
recipes cooking time, thus ensuring that the speed modifier is
respected.

Resolves: #6376
2021-09-22 12:46:15 -07:00
Jake Potrebic
caa4780282
Add more component name methods (#6578) 2021-09-22 11:34:40 -07:00