Commit Graph

894 Commits

Author SHA1 Message Date
andrew 88bcc7b75c Update corpus
Tests / Clang total: 1305, failed: 47, passed: 1258
Tests / SIMD fallback total: 1305, failed: 47, passed: 1258
Tests / 32-bit versions total: 1305, failed: 47, passed: 1258
Tests / Release [gcc] total: 1305, failed: 47, passed: 1258
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-07-03 09:36:03 -07:00
andrew 3e6be6bd83 Allow write version to jump by more than 2e9 2024-07-03 09:07:09 -07:00
andrew e59fee39c7 Start versions at zero in fuzz test for now
Tests / Clang total: 1776, passed: 1776
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1776, passed: 1776
Tests / 32-bit versions total: 1776, passed: 1776
Tests / Release [gcc] total: 1776, passed: 1776
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-07-03 07:55:07 -07:00
andrew 3e2c8310bb Fix several bugs related to extant versions too old 2024-07-03 07:53:03 -07:00
andrew 8264f1342d Fix some precision issues 2024-07-02 13:55:05 -07:00
andrew 5d7e9c6f85 Compare against oldestVersionFullPrecision at full precision 2024-07-02 13:53:56 -07:00
andrew cdf42fcb34 Add gcScanStep
Also remove oldestVersion arg in write call tree
2024-07-02 13:06:53 -07:00
andrew cbe40b5dba Fix missing debug verbose guard 2024-07-02 12:48:00 -07:00
andrew a04e81b3ff Add version window constants 2024-07-02 12:45:35 -07:00
andrew 0be97a34b6 Add new version window requirement to reference impl 2024-07-02 12:42:03 -07:00
andrew 68ab9a9f08 Commit to 32-bit versions 2024-07-02 10:30:22 -07:00
andrew 01488880ef Fix outdated comment
Tests / Clang total: 1776, passed: 1776
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1776, passed: 1776
Tests / 32-bit versions total: 1776, passed: 1776
Tests / Release [gcc] total: 1776, passed: 1776
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 1327, passed: 1327
Tests / Coverage total: 1333, passed: 1333
Code Coverage #### Project Overview No changes detected, that affect the code coverage. * Line Coverage: 97.99% (1510/1541) * Branch Coverage: 64.60% (1405/2175) * Complexity Density: 0.00% * Lines of Code: 1541 #### Quality Gates Summary Output truncated.
weaselab/conflict-set/pipeline/head This commit looks good
2024-07-01 17:27:04 -07:00
andrew bb84792cff Use avx512f across entire checkRangeRead call tree
Tests / Clang total: 1776, passed: 1776
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1776, passed: 1776
Tests / 32-bit versions total: 1776, passed: 1776
Tests / Release [gcc] total: 1776, passed: 1776
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 1327, passed: 1327
Tests / Coverage total: 1333, passed: 1333
Code Coverage #### Project Overview No changes detected, that affect the code coverage. * Line Coverage: 97.99% (1510/1541) * Branch Coverage: 64.60% (1405/2175) * Complexity Density: 0.00% * Lines of Code: 1541 #### Quality Gates Summary Output truncated.
weaselab/conflict-set/pipeline/head This commit looks good
Keeping the avx fallback
2024-07-01 13:07:34 -07:00
andrew 1f421e95ff Resuppress coverage
Tests / Clang total: 1776, passed: 1776
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1776, passed: 1776
Tests / 32-bit versions total: 1776, passed: 1776
Tests / Release [gcc] total: 1776, passed: 1776
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 1327, passed: 1327
Tests / Coverage total: 1333, passed: 1333
Code Coverage #### Project Overview No changes detected, that affect the code coverage. * Line Coverage: 98.05% (1510/1540) * Branch Coverage: 65.14% (1405/2157) * Complexity Density: 0.00% * Lines of Code: 1540 #### Quality Gates Summary Output truncated.
weaselab/conflict-set/pipeline/head This commit looks good
2024-06-30 21:48:43 -07:00
andrew 66bd799f05 Fix hasty change about end invariants
Tests / Clang total: 1776, passed: 1776
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1776, passed: 1776
Tests / 32-bit versions total: 1776, passed: 1776
Tests / Release [gcc] total: 1776, passed: 1776
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 1327, passed: 1327
Tests / Coverage total: 1333, passed: 1333
Code Coverage #### Project Overview No changes detected, that affect the code coverage. * Line Coverage: 98.05% (1510/1540) * Branch Coverage: 65.14% (1405/2157) * Complexity Density: 0.00% * Lines of Code: 1540 #### Quality Gates Summary Output truncated.
weaselab/conflict-set/pipeline/head There was a failure building this commit
`end` is allowed to be <= 0 at the beginning of
checkMaxBetweenExclusive, but not later after checking for the first
range version.
2024-06-30 21:20:05 -07:00
andrew 2646d5eaf1 Get back to 100% coverage
Tests / Clang total: 1776, failed: 232, passed: 1544
Tests / SIMD fallback total: 1776, failed: 232, passed: 1544
Tests / 32-bit versions total: 1776, failed: 232, passed: 1544
Tests / Release [gcc] total: 1776, failed: 232, passed: 1544
Tests / Release [gcc,aarch64] total: 1327, failed: 116, passed: 1211
Tests / Coverage total: 1333, failed: 233, passed: 1100
weaselab/conflict-set/pipeline/head There was a failure building this commit
Closes #30

This is achieved by running libfuzzer with USE_32_BIT_VERSIONS={OFF,ON},
and then combining the corpora. I suspect that the problem earlier was
that we only had the 32 bit corpus but were measuring coverage for 64
bit in jenkins.
2024-06-30 21:15:42 -07:00
andrew 0367ba9856 Fast path for prefix reads 2024-06-30 20:33:54 -07:00
andrew 9dec45317e Try to fix code coverage in Jenkins
Tests / Clang total: 1040, passed: 1040
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1040, passed: 1040
Tests / 32-bit versions total: 1040, passed: 1040
Tests / Release [gcc] total: 1040, passed: 1040
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 775, passed: 775
Tests / Coverage total: 781, passed: 781
Code Coverage #### Project Overview No changes detected, that affect the code coverage. * Line Coverage: 97.66% (1460/1495) * Branch Coverage: 64.41% (1332/2068) * Complexity Density: 0.00% * Lines of Code: 1495 #### Quality Gates Summary Output truncated.
weaselab/conflict-set/pipeline/head This commit looks good
2024-06-30 15:38:06 -07:00
andrew a68ad5dd17 Interface change! Return TooOld after 2e9 versions
Event if setOldestVersion wasn't called
2024-06-30 15:28:51 -07:00
andrew 8e3eacb54f Apply function multi versioning higher in call stack to save branches
Tests / Clang total: 1039, passed: 1039
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1039, passed: 1039
Tests / 32-bit versions total: 1039, passed: 1039
Tests / Release [gcc] total: 1039, passed: 1039
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 775, passed: 775
Tests / Coverage total: 780, passed: 780
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-30 13:30:44 -07:00
andrew 0184e1d7f6 Remove incorrect comma in CMakeLists.txt
Tests / Clang total: 1039, passed: 1039
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1039, passed: 1039
Tests / 32-bit versions total: 1039, passed: 1039
Tests / Release [gcc] total: 1039, passed: 1039
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 775, passed: 775
Tests / Coverage total: 780, passed: 780
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-30 11:34:50 -07:00
andrew c52d50f4f9 Remove bounds from forEachInRange
Tests / Clang total: 1039, passed: 1039
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1039, passed: 1039
Tests / 32-bit versions total: 1039, passed: 1039
Tests / Release [gcc] total: 1039, passed: 1039
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 775, passed: 775
Tests / Coverage total: 780, passed: 780
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-29 22:53:51 -07:00
andrew 447da11d59 Remove obsolete optimizations
Tests / Clang total: 1039, passed: 1039
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1039, passed: 1039
Tests / 32-bit versions total: 1039, passed: 1039
Tests / Release [gcc] total: 1039, passed: 1039
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 775, passed: 775
Tests / Coverage total: 780, passed: 780
weaselab/conflict-set/pipeline/head There was a failure building this commit
These are a relic of when we used forEachInRange for checkMaxBetween
2024-06-29 22:47:42 -07:00
andrew daa8e02d4f Fixes from testing on an avx512f-capable machine
Tests / Clang total: 1039, passed: 1039
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1039, passed: 1039
Tests / 32-bit versions total: 1039, passed: 1039
Tests / Release [gcc] total: 1039, passed: 1039
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 775, passed: 775
Tests / Coverage total: 780, passed: 780
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-29 22:41:39 -07:00
andrew fd3ea2c2a8 clang-format fixes
Tests / Clang total: 1039, passed: 1039
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1039, passed: 1039
Tests / 32-bit versions total: 1039, passed: 1039
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-29 22:21:50 -07:00
andrew 0b839b9d7e Fixes for symbol multi-versioning with avx512f
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-29 22:20:50 -07:00
andrew 11a022dcf7 Attempt at avx512f 32bit compare
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-29 21:56:21 -07:00
andrew 94da4c72a5 Fix clang-format
Tests / Clang total: 1039, passed: 1039
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1039, passed: 1039
Tests / 32-bit versions total: 1039, passed: 1039
Tests / Release [gcc] total: 1039, passed: 1039
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 775, passed: 775
Tests / Coverage total: 780, passed: 780
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-29 15:11:40 -07:00
andrew 461e07822a 32-bit x86 simd for the other scan16 too
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-29 15:10:36 -07:00
andrew 75499543e7 Fix clang-format
Tests / Clang total: 1039, passed: 1039
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1039, passed: 1039
Tests / 32-bit versions total: 1039, passed: 1039
Tests / Release [gcc] total: 1039, passed: 1039
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 775, passed: 775
Tests / Coverage total: 780, passed: 780
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-29 15:03:44 -07:00
andrew 81f44d352f SIMD scan16 for x86 + 32-bit versions
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-29 15:01:18 -07:00
andrew 45da8fb996 Use the faster unvectorized implementation for Node3
Tests / Clang total: 1039, passed: 1039
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1039, passed: 1039
Tests / 32-bit versions total: 1039, passed: 1039
Tests / Release [gcc] total: 1039, passed: 1039
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 775, passed: 775
Tests / Coverage total: 780, passed: 780
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-28 22:52:39 -07:00
andrew 4958a4cced Make always_inline function inline
Try to fix warning in jenkins
2024-06-28 22:42:01 -07:00
andrew 587874841f Fix test that had a decreasing write version
Tests / Clang total: 1039, passed: 1039
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1039, passed: 1039
Tests / 32-bit versions total: 1039, passed: 1039
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-28 19:57:25 -07:00
andrew 648b0b9238 Add an always_inline, with explanatory comment 2024-06-28 19:55:33 -07:00
andrew d3f4afa167 More SIMD for scanning Node256 with 32-bit versions
Tests / Clang total: 1039, passed: 1039
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1039, passed: 1039
Tests / 32-bit versions total: 1039, passed: 1039
Tests / Release [gcc] total: 1039, passed: 1039
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 775, passed: 775
Tests / Coverage total: 780, failed: 1, passed: 779
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-28 19:48:06 -07:00
andrew f762add4d6 Write vectorized 32-bit compare by hand for arm in scan16
Tests / Clang total: 1039, passed: 1039
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1039, passed: 1039
Tests / Release [gcc] total: 1039, passed: 1039
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 775, passed: 775
Tests / Coverage total: 780, failed: 1, passed: 779
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-28 17:28:59 -07:00
andrew b311e5f1f0 Add an experimental, disabled 32 bit internal version
Tests / Clang total: 1039, passed: 1039
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1039, passed: 1039
Tests / Release [gcc] total: 1039, passed: 1039
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 775, passed: 775
Tests / Coverage total: 780, failed: 1, passed: 779
weaselab/conflict-set/pipeline/head There was a failure building this commit
I think it's only missing detection for full-precision versions more
than 2e9 apart
2024-06-28 15:53:35 -07:00
andrew ff81890921 Rename MaxVersionT to InternalVersionT
Tests / Clang total: 1038, passed: 1038
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1038, passed: 1038
Tests / Release [gcc] total: 1038, passed: 1038
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 775, passed: 775
Tests / Coverage total: 779, passed: 779
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-28 14:34:48 -07:00
andrew 0e96177f5c Allow to easily experiment with 32 bit "max version" type
Tests / Clang total: 1038, passed: 1038
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1038, passed: 1038
Tests / Release [gcc] total: 1038, passed: 1038
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 775, passed: 775
Tests / Coverage total: 779, passed: 779
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-28 13:54:12 -07:00
andrew efb0e52a0a SIMD implementation of scan16 for x86
Tests / Clang total: 1038, passed: 1038
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1038, passed: 1038
Tests / Release [gcc] total: 1038, passed: 1038
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 775, passed: 775
Tests / Coverage total: 779, passed: 779
weaselab/conflict-set/pipeline/head There was a failure building this commit
Closes #29
2024-06-27 22:21:41 -07:00
andrew 2df7000090 Remove switch on phase from Stepwise left/right step
Tests / Clang total: 1038, passed: 1038
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1038, passed: 1038
Tests / Release [gcc] total: 1038, passed: 1038
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 775, passed: 775
Tests / Coverage total: 779, passed: 779
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-27 20:51:35 -07:00
andrew 5378a06c39 Vectorize all bounds checks for Node256 scan
Tests / Clang total: 1038, passed: 1038
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1038, passed: 1038
Tests / Release [gcc] total: 1038, passed: 1038
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 775, passed: 775
Tests / Coverage total: 779, passed: 779
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-27 17:40:23 -07:00
andrew 12c6ed2568 Reorganize to prepare for better vectorized first/last page 2024-06-27 17:21:41 -07:00
andrew a2bf839b19 Update corpus 2024-06-27 17:15:35 -07:00
andrew c065b185ae Vectorize inner page check for Node256 2024-06-27 17:09:45 -07:00
andrew 639518bed4 Share "scan16" between Node16 and Node48
Tests / Clang total: 1130, passed: 1130
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / SIMD fallback total: 1130, passed: 1130
Tests / Release [gcc] total: 1130, passed: 1130
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 844, passed: 844
Tests / Coverage total: 848, passed: 848
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-27 13:22:51 -07:00
andrew 7de983cc15 Simd bounds checking for scan for Node16 2024-06-27 13:08:12 -07:00
andrew 1b4b61ddc6 Write Node16 scan in a "more vectorized" style 2024-06-27 12:07:38 -07:00
andrew bff7b85de2 Remove "Child" struct 2024-06-27 10:03:14 -07:00