aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/pathops/SkAddIntersections.cpp21
-rw-r--r--src/pathops/SkOpAngle.cpp4
-rw-r--r--src/pathops/SkOpAngle.h2
-rwxr-xr-xsrc/pathops/SkOpCoincidence.cpp84
-rw-r--r--src/pathops/SkOpCoincidence.h12
-rw-r--r--src/pathops/SkOpContour.h2
-rw-r--r--src/pathops/SkOpSegment.cpp26
-rw-r--r--src/pathops/SkOpSegment.h7
-rwxr-xr-xsrc/pathops/SkOpSpan.cpp161
-rw-r--r--src/pathops/SkOpSpan.h38
-rw-r--r--src/pathops/SkPathOpsCommon.cpp3
-rw-r--r--src/pathops/SkPathOpsDebug.cpp268
-rw-r--r--src/pathops/SkPathOpsDebug.h4
-rw-r--r--src/pathops/SkPathOpsPoint.h29
-rw-r--r--src/pathops/SkPathOpsTypes.h16
-rwxr-xr-xtests/PathOpsDebug.cpp12
-rw-r--r--tests/PathOpsExtendedTest.cpp28
-rw-r--r--tests/PathOpsExtendedTest.h14
-rw-r--r--tests/PathOpsOpTest.cpp114
-rw-r--r--tests/PathOpsSimplifyFailTest.cpp2
-rw-r--r--tests/PathOpsSimplifyTest.cpp2
-rw-r--r--tools/pathops_sorter.htm18
-rw-r--r--tools/pathops_visualizer.htm2695
23 files changed, 2595 insertions, 967 deletions
diff --git a/src/pathops/SkAddIntersections.cpp b/src/pathops/SkAddIntersections.cpp
index bdc7ae2565..04f5bc384c 100644
--- a/src/pathops/SkAddIntersections.cpp
+++ b/src/pathops/SkAddIntersections.cpp
@@ -508,16 +508,19 @@ bool AddIntersectTs(SkOpContour* test, SkOpContour* next, SkOpCoincidence* coinc
SkOpPtT* testTAt = wt.segment()->addT(ts[swap][pt]);
wn.segment()->debugValidate();
SkOpPtT* nextTAt = wn.segment()->addT(ts[!swap][pt]);
- SkOpPtT* oppPrev = testTAt->oppPrev(nextTAt);
- if (oppPrev) {
- testTAt->addOpp(nextTAt, oppPrev);
- }
- if (testTAt->fPt != nextTAt->fPt) {
- testTAt->span()->unaligned();
- nextTAt->span()->unaligned();
+ if (!testTAt->contains(nextTAt)) {
+ SkOpPtT* oppPrev = testTAt->oppPrev(nextTAt); // Returns nullptr if pair
+ if (oppPrev) { // already shares a pt-t loop.
+ testTAt->span()->mergeMatches(nextTAt->span());
+ testTAt->addOpp(nextTAt, oppPrev);
+ }
+ if (testTAt->fPt != nextTAt->fPt) {
+ testTAt->span()->unaligned();
+ nextTAt->span()->unaligned();
+ }
+ wt.segment()->debugValidate();
+ wn.segment()->debugValidate();
}
- wt.segment()->debugValidate();
- wn.segment()->debugValidate();
if (!ts.isCoincident(pt)) {
continue;
}
diff --git a/src/pathops/SkOpAngle.cpp b/src/pathops/SkOpAngle.cpp
index 2da8357add..6bc510e5ee 100644
--- a/src/pathops/SkOpAngle.cpp
+++ b/src/pathops/SkOpAngle.cpp
@@ -905,8 +905,10 @@ void SkOpAngle::setSpans() {
if (verb != SkPath::kLine_Verb
&& !(fIsCurve = fSweep[0].crossCheck(fSweep[1]) != 0)) {
SkDLine lineHalf;
+ fCurvePart[1] = fCurvePart[SkPathOpsVerbToPoints(verb)];
+ fOriginalCurvePart[1] = fCurvePart[1];
lineHalf[0].set(fCurvePart[0].asSkPoint());
- lineHalf[1].set(fCurvePart[SkPathOpsVerbToPoints(verb)].asSkPoint());
+ lineHalf[1].set(fCurvePart[1].asSkPoint());
fTangentHalf.lineEndPoints(lineHalf);
fSide = 0;
}
diff --git a/src/pathops/SkOpAngle.h b/src/pathops/SkOpAngle.h
index a1ead1ecfd..4099c4a90b 100644
--- a/src/pathops/SkOpAngle.h
+++ b/src/pathops/SkOpAngle.h
@@ -30,7 +30,7 @@ public:
const SkOpAngle* debugAngle(int id) const;
const SkOpCoincidence* debugCoincidence() const;
- SkOpContour* debugContour(int id);
+ SkOpContour* debugContour(int id) const;
int debugID() const {
return SkDEBUGRELEASE(fID, -1);
diff --git a/src/pathops/SkOpCoincidence.cpp b/src/pathops/SkOpCoincidence.cpp
index 1c8ab5f524..831ce71190 100755
--- a/src/pathops/SkOpCoincidence.cpp
+++ b/src/pathops/SkOpCoincidence.cpp
@@ -250,10 +250,10 @@ void SkOpCoincidence::add(SkOpPtT* coinPtTStart, SkOpPtT* coinPtTEnd, SkOpPtT* o
oppPtTEnd = oppPtTEnd->span()->ptT();
SkASSERT(coinPtTStart->fT < coinPtTEnd->fT);
SkASSERT(oppPtTStart->fT != oppPtTEnd->fT);
- SkASSERT(!coinPtTStart->deleted());
- SkASSERT(!coinPtTEnd->deleted());
- SkASSERT(!oppPtTStart->deleted());
- SkASSERT(!oppPtTEnd->deleted());
+ SkOPASSERT(!coinPtTStart->deleted());
+ SkOPASSERT(!coinPtTEnd->deleted());
+ SkOPASSERT(!oppPtTStart->deleted());
+ SkOPASSERT(!oppPtTEnd->deleted());
DebugCheckAdd(fHead, coinPtTStart, coinPtTEnd, oppPtTStart, oppPtTEnd);
DebugCheckAdd(fTop, coinPtTStart, coinPtTEnd, oppPtTStart, oppPtTEnd);
SkCoincidentSpans* coinRec = SkOpTAllocator<SkCoincidentSpans>::Allocate(
@@ -301,7 +301,7 @@ bool SkOpCoincidence::addEndMovedSpans(const SkOpSpan* base, const SkOpSpanBase*
SkOpSegment* writableSeg = const_cast<SkOpSegment*>(testSeg);
SkOpPtT* oppStart = writableSeg->addT(t);
SkOpSpan* writableBase = const_cast<SkOpSpan*>(base);
- oppStart->span()->addOppAndMerge(writableBase);
+ oppStart->span()->addOpp(writableBase);
if (oppStart->deleted()) {
continue;
}
@@ -426,9 +426,7 @@ bool SkOpCoincidence::addExpanded() {
FAIL_IF(!start->upCastable());
const SkOpSpanBase* test = start->upCast()->next();
const SkOpSpanBase* oTest = coin->flipped() ? oStart->prev() : oStart->upCast()->next();
- if (!oTest) {
- return false;
- }
+ FAIL_IF(!oTest);
while (test != end || oTest != oEnd) {
if (!test->ptT()->contains(oStart->segment())
|| !oTest->ptT()->contains(start->segment())) {
@@ -446,26 +444,21 @@ bool SkOpCoincidence::addExpanded() {
oStartPtT->fT + oStartRange * startPart, test, &startOver)
: start->segment()->addExpanded(
startPtT->fT + startRange * oStartPart, oTest, &startOver);
- if (!success) {
- SkOPASSERT(false);
- return false;
- }
+ FAIL_IF(!success);
if (startOver) {
test = start;
oTest = oStart;
}
+ end = coin->coinPtTEnd()->span();
+ oEnd = coin->oppPtTEnd()->span();
}
if (test != end) {
- if (!test->upCastable()) {
- return false;
- }
+ FAIL_IF(!test->upCastable());
test = test->upCast()->next();
}
if (oTest != oEnd) {
oTest = coin->flipped() ? oTest->prev() : oTest->upCast()->next();
- if (!oTest) {
- return false;
- }
+ FAIL_IF(!oTest);
}
}
} while ((coin = coin->next()));
@@ -579,9 +572,20 @@ bool SkOpCoincidence::addIfMissing(const SkOpPtT* over1s, const SkOpPtT* over1e,
const SkOpPtT* over2s, const SkOpPtT* over2e, double tStart, double tEnd,
SkOpPtT* coinPtTStart, const SkOpPtT* coinPtTEnd,
SkOpPtT* oppPtTStart, const SkOpPtT* oppPtTEnd) {
+ SkOpSegment* coinSeg = coinPtTStart->segment();
+ SkOpSegment* oppSeg = oppPtTStart->segment();
+ if (coinSeg == oppSeg) {
+ return false;
+ }
double coinTs, coinTe, oppTs, oppTe;
TRange(over1s, over1e, tStart, tEnd, coinPtTStart, coinPtTEnd, &coinTs, &coinTe);
+ if (coinSeg->collapsed(coinTs, coinTe)) {
+ return false;
+ }
TRange(over2s, over2e, tStart, tEnd, oppPtTStart, oppPtTEnd, &oppTs, &oppTe);
+ if (oppSeg->collapsed(oppTs, oppTe)) {
+ return false;
+ }
bool swap = coinTs > coinTe;
if (swap) {
SkTSwap(coinTs, coinTe);
@@ -592,11 +596,6 @@ bool SkOpCoincidence::addIfMissing(const SkOpPtT* over1s, const SkOpPtT* over1e,
if (swap) {
SkTSwap(oppTs, oppTe);
}
- SkOpSegment* coinSeg = coinPtTStart->segment();
- SkOpSegment* oppSeg = oppPtTStart->segment();
- if (coinSeg == oppSeg) {
- return false;
- }
return this->addOrOverlap(coinSeg, oppSeg, coinTs, coinTe, oppTs, oppTe
SkDEBUGPARAMS(false) /* don't assert if addOrOverlap fails */ );
}
@@ -672,9 +671,9 @@ bool SkOpCoincidence::addOrOverlap(SkOpSegment* coinSeg, SkOpSegment* oppSeg,
SkOpPtT* osWritable = os ? const_cast<SkOpPtT*>(os)
: oppSeg->addT(oppTs);
RETURN_FALSE_IF(callerAborts, !csWritable || !osWritable);
- csWritable->span()->addOppAndMerge(osWritable->span());
+ csWritable->span()->addOpp(osWritable->span());
cs = csWritable;
- os = osWritable;
+ os = osWritable->active();
RETURN_FALSE_IF(callerAborts, (ce && ce->deleted()) || (oe && oe->deleted()));
}
if (!ce || !oe) {
@@ -682,7 +681,7 @@ bool SkOpCoincidence::addOrOverlap(SkOpSegment* coinSeg, SkOpSegment* oppSeg,
: coinSeg->addT(coinTe);
SkOpPtT* oeWritable = oe ? const_cast<SkOpPtT*>(oe)
: oppSeg->addT(oppTe);
- ceWritable->span()->addOppAndMerge(oeWritable->span());
+ ceWritable->span()->addOpp(oeWritable->span());
ce = ceWritable;
oe = oeWritable;
}
@@ -1141,6 +1140,38 @@ bool SkOpCoincidence::release(SkCoincidentSpans* coin, SkCoincidentSpans* remove
return coin != nullptr;
}
+void SkOpCoincidence::releaseDeleted(SkCoincidentSpans* coin) {
+ if (!coin) {
+ return;
+ }
+ SkCoincidentSpans* head = coin;
+ SkCoincidentSpans* prev = nullptr;
+ SkCoincidentSpans* next;
+ do {
+ next = coin->next();
+ if (coin->coinPtTStart()->deleted()) {
+ SkOPASSERT(coin->flipped() ? coin->oppPtTEnd()->deleted() :
+ coin->oppPtTStart()->deleted());
+ if (prev) {
+ prev->setNext(next);
+ } else if (head == fHead) {
+ fHead = next;
+ } else {
+ fTop = next;
+ }
+ } else {
+ SkOPASSERT(coin->flipped() ? !coin->oppPtTEnd()->deleted() :
+ !coin->oppPtTStart()->deleted());
+ prev = coin;
+ }
+ } while ((coin = next));
+}
+
+void SkOpCoincidence::releaseDeleted() {
+ this->releaseDeleted(fHead);
+ this->releaseDeleted(fTop);
+}
+
// Please keep this in sync with debugReorder()
// iterate through all coincident pairs, looking for ranges greater than 1
// if found, see if the opposite pair can match it -- which may require
@@ -1196,6 +1227,7 @@ void SkOpCoincidence::restoreHead() {
}
// Please keep this in sync with debugExpand()
+// expand the range by checking adjacent spans for coincidence
bool SkOpCoincidence::expand() {
SkCoincidentSpans* coin = fHead;
if (!coin) {
diff --git a/src/pathops/SkOpCoincidence.h b/src/pathops/SkOpCoincidence.h
index 436fa82527..eeeb7344dc 100644
--- a/src/pathops/SkOpCoincidence.h
+++ b/src/pathops/SkOpCoincidence.h
@@ -156,9 +156,9 @@ public:
#if DEBUG_COINCIDENCE_VERBOSE
void debugAddExpanded(const char* id, SkPathOpsDebug::GlitchLog* ) const;
void debugAddMissing(const char* id, SkPathOpsDebug::GlitchLog* ) const;
- void debugAddOrOverlap(const SkOpSegment* coinSeg, const SkOpSegment* oppSeg,
- double coinTs, double coinTe, double oppTs, double oppTe,
- const char* id, SkPathOpsDebug::GlitchLog* log) const;
+ void debugAddOrOverlap(const char* id, SkPathOpsDebug::GlitchLog* log,
+ const SkOpSegment* coinSeg, const SkOpSegment* oppSeg,
+ double coinTs, double coinTe, double oppTs, double oppTe) const;
#endif
const SkOpAngle* debugAngle(int id) const {
@@ -170,7 +170,7 @@ public:
void debugCheckValid(const char* id, SkPathOpsDebug::GlitchLog* log) const;
#endif
- SkOpContour* debugContour(int id) {
+ SkOpContour* debugContour(int id) const {
return SkDEBUGRELEASE(fGlobalState->debugContour(id), nullptr);
}
@@ -193,6 +193,8 @@ public:
#if DEBUG_COINCIDENCE_VERBOSE
void debugRemoveCollapsed(const char* id, SkPathOpsDebug::GlitchLog* ) const;
void debugReorder(const char* id, SkPathOpsDebug::GlitchLog* ) const;
+ void debugRelease(const char* id, SkPathOpsDebug::GlitchLog* , const SkCoincidentSpans* ,
+ const SkCoincidentSpans* ) const;
void debugRelease(const char* id, SkPathOpsDebug::GlitchLog* , const SkOpSegment* ) const;
#endif
void debugShowCoincidence() const;
@@ -227,6 +229,7 @@ public:
static bool Ordered(const SkOpSegment* coin, const SkOpSegment* opp);
void release(const SkOpSegment* );
+ void releaseDeleted();
bool removeCollapsed();
bool reorder();
@@ -294,6 +297,7 @@ private:
const SkOpPtT* coinStart2, const SkOpPtT* coinEnd2,
double* overS, double* overE) const;
bool release(SkCoincidentSpans* coin, SkCoincidentSpans* );
+ void releaseDeleted(SkCoincidentSpans* );
void restoreHead();
bool testForCoincidence(const SkCoincidentSpans* outer, const SkOpPtT* testS,
const SkOpPtT* testE) const;
diff --git a/src/pathops/SkOpContour.h b/src/pathops/SkOpContour.h
index fa90c45bb6..412fecd73f 100644
--- a/src/pathops/SkOpContour.h
+++ b/src/pathops/SkOpContour.h
@@ -124,7 +124,7 @@ public:
void debugCheckHealth(const char* id, SkPathOpsDebug::GlitchLog* ) const;
#endif
- SkOpContour* debugContour(int id) {
+ SkOpContour* debugContour(int id) const {
return SkDEBUGRELEASE(this->globalState()->debugContour(id), nullptr);
}
diff --git a/src/pathops/SkOpSegment.cpp b/src/pathops/SkOpSegment.cpp
index 3c63683285..6a62175032 100644
--- a/src/pathops/SkOpSegment.cpp
+++ b/src/pathops/SkOpSegment.cpp
@@ -262,6 +262,7 @@ bool SkOpSegment::addExpanded(double newT, const SkOpSpanBase* test, bool* start
SkOpPtT* oppPrev = test->ptT()->oppPrev(newPtT);
if (oppPrev) {
SkOpSpanBase* writableTest = const_cast<SkOpSpanBase*>(test);
+ writableTest->mergeMatches(newPtT->span());
writableTest->ptT()->addOpp(newPtT, oppPrev);
writableTest->checkForCollapsedCoincidence();
}
@@ -355,6 +356,16 @@ bool SkOpSegment::collapsed() const {
return fVerb < SkPath::kCubic_Verb && fHead.pt() == fTail.pt();
}
+bool SkOpSegment::collapsed(double s, double e) const {
+ const SkOpSpanBase* span = &fHead;
+ do {
+ if (span->collapsed(s, e)) {
+ return true;
+ }
+ } while (span->upCastable() && (span = span->upCast()->next()));
+ return false;
+}
+
void SkOpSegment::ComputeOneSum(const SkOpAngle* baseAngle, SkOpAngle* nextAngle,
SkOpAngle::IncludeType includeType) {
SkOpSegment* baseSegment = baseAngle->segment();
@@ -1300,13 +1311,8 @@ bool SkOpSegment::moveMultiples() {
goto tryNextSpan;
foundMatch: // merge oppTest and oppSpan
oppSegment->debugValidate();
- if (oppTest == &oppSegment->fTail || oppTest == &oppSegment->fHead) {
- SkASSERT(oppSpan != &oppSegment->fHead); // don't expect collapse
- SkASSERT(oppSpan != &oppSegment->fTail);
- oppTest->merge(oppSpan->upCast());
- } else {
- oppSpan->merge(oppTest->upCast());
- }
+ oppTest->mergeMatches(oppSpan);
+ oppTest->addOpp(oppSpan);
oppSegment->debugValidate();
goto checkNextSpan;
}
@@ -1326,14 +1332,14 @@ bool SkOpSegment::spansNearby(const SkOpSpanBase* refSpan, const SkOpSpanBase* c
const SkOpPtT* refHead = refSpan->ptT();
const SkOpPtT* checkHead = checkSpan->ptT();
// if the first pt pair from adjacent spans are far apart, assume that all are far enough apart
- if (!SkDPoint::RoughlyEqual(refHead->fPt, checkHead->fPt)) {
+ if (!SkDPoint::WayRoughlyEqual(refHead->fPt, checkHead->fPt)) {
#if DEBUG_COINCIDENCE
// verify that no combination of points are close
const SkOpPtT* dBugRef = refHead;
do {
const SkOpPtT* dBugCheck = checkHead;
do {
- SkASSERT(!SkDPoint::ApproximatelyEqual(dBugRef->fPt, dBugCheck->fPt));
+ SkOPASSERT(!SkDPoint::ApproximatelyEqual(dBugRef->fPt, dBugCheck->fPt));
dBugCheck = dBugCheck->next();
} while (dBugCheck != checkHead);
dBugRef = dBugRef->next();
@@ -1684,7 +1690,7 @@ bool SkOpSegment::testForCoincidence(const SkOpPtT* priorPtT, const SkOpPtT* ptT
continue;
}
SkDPoint oppPt = i.pt(index);
- if (oppPt.approximatelyEqual(midPt)) {
+ if (oppPt.approximatelyDEqual(midPt)) {
// the coincidence can occur at almost any angle
coincident = true;
}
diff --git a/src/pathops/SkOpSegment.h b/src/pathops/SkOpSegment.h
index 1b7aad199c..a1b5477a4e 100644
--- a/src/pathops/SkOpSegment.h
+++ b/src/pathops/SkOpSegment.h
@@ -108,6 +108,7 @@ public:
void calcAngles();
bool collapsed() const;
+ bool collapsed(double startT, double endT) const;
static void ComputeOneSum(const SkOpAngle* baseAngle, SkOpAngle* nextAngle,
SkOpAngle::IncludeType );
static void ComputeOneSumReverse(SkOpAngle* baseAngle, SkOpAngle* nextAngle,
@@ -128,7 +129,9 @@ public:
}
void debugAddAngle(double startT, double endT);
- const SkOpPtT* debugAddT(double t) const;
+#if DEBUG_COINCIDENCE_VERBOSE
+ const SkOpPtT* debugAddT(double t, const char* id, SkPathOpsDebug::GlitchLog* ) const;
+#endif
const SkOpAngle* debugAngle(int id) const;
#if DEBUG_ANGLE
void debugCheckAngleCoin() const;
@@ -139,7 +142,7 @@ public:
void debugClearOne(const SkOpSpan* span, const char* id, SkPathOpsDebug::GlitchLog* glitches) const;
#endif
const SkOpCoincidence* debugCoincidence() const;
- SkOpContour* debugContour(int id);
+ SkOpContour* debugContour(int id) const;
int debugID() const {
return SkDEBUGRELEASE(fID, -1);
diff --git a/src/pathops/SkOpSpan.cpp b/src/pathops/SkOpSpan.cpp
index 98165fcfc5..162bcad293 100755
--- a/src/pathops/SkOpSpan.cpp
+++ b/src/pathops/SkOpSpan.cpp
@@ -13,6 +13,21 @@ bool SkOpPtT::alias() const {
return this->span()->ptT() != this;
}
+const SkOpPtT* SkOpPtT::active() const {
+ if (!fDeleted) {
+ return this;
+ }
+ const SkOpPtT* ptT = this;
+ const SkOpPtT* stopPtT = ptT;
+ while ((ptT = ptT->next()) != stopPtT) {
+ if (ptT->fSpan == fSpan && !ptT->fDeleted) {
+ return ptT;
+ }
+ }
+ SkASSERT(0); // should never return deleted
+ return this;
+}
+
bool SkOpPtT::collapsed(const SkOpPtT* check) const {
if (fPt != check->fPt) {
return false;
@@ -177,27 +192,14 @@ void SkOpPtT::setDeleted() {
fDeleted = true;
}
-// please keep this in sync with debugAddOppAndMerge
-// If the added points envelop adjacent spans, merge them in.
-void SkOpSpanBase::addOppAndMerge(SkOpSpanBase* opp) {
+void SkOpSpanBase::addOpp(SkOpSpanBase* opp) {
SkOpPtT* oppPrev = this->ptT()->oppPrev(opp->ptT());
- if (oppPrev) {
- this->ptT()->addOpp(opp->ptT(), oppPrev);
- this->checkForCollapsedCoincidence();
- }
- // compute bounds of points in span
- SkPathOpsBounds bounds;
- bounds.set(SK_ScalarMax, SK_ScalarMax, SK_ScalarMin, SK_ScalarMin);
- const SkOpPtT* head = this->ptT();
- const SkOpPtT* nextPt = head;
- do {
- bounds.add(nextPt->fPt);
- } while ((nextPt = nextPt->next()) != head);
- if (!bounds.width() && !bounds.height()) {
+ if (!oppPrev) {
return;
}
- this->mergeContained(bounds);
- opp->mergeContained(bounds);
+ this->mergeMatches(opp);
+ this->ptT()->addOpp(opp->ptT(), oppPrev);
+ this->checkForCollapsedCoincidence();
}
// Please keep this in sync with debugMergeContained()
@@ -206,37 +208,39 @@ void SkOpSpanBase::mergeContained(const SkPathOpsBounds& bounds) {
SkOpSpanBase* prev = this;
SkOpSegment* seg = this->segment();
while ((prev = prev->prev()) && bounds.contains(prev->pt()) && !seg->ptsDisjoint(prev, this)) {
- if (prev->prev()) {
- this->merge(prev->upCast());
- prev = this;
- } else if (this->final()) {
- seg->clearAll();
- return;
- } else {
- prev->merge(this->upCast());
- }
+ this->mergeMatches(prev);
+ this->addOpp(prev);
}
- SkOpSpanBase* current = this;
SkOpSpanBase* next = this;
while (next->upCastable() && (next = next->upCast()->next())
&& bounds.contains(next->pt()) && !seg->ptsDisjoint(this, next)) {
- if (!current->prev() && next->final()) {
- seg->clearAll();
- return;
- }
- if (current->prev()) {
- next->merge(current->upCast());
- current = next;
- } else {
- current->merge(next->upCast());
- // extra line in debug version
- }
+ this->mergeMatches(next);
+ this->addOpp(next);
}
#if DEBUG_COINCIDENCE
this->globalState()->coincidence()->debugValidate();
#endif
}
+bool SkOpSpanBase::collapsed(double s, double e) const {
+ const SkOpPtT* start = &fPtT;
+ const SkOpPtT* walk = start;
+ double min = walk->fT;
+ double max = min;
+ const SkOpSegment* segment = this->segment();
+ while ((walk = walk->next()) != start) {
+ if (walk->segment() != segment) {
+ continue;
+ }
+ min = SkTMin(min, walk->fT);
+ max = SkTMax(max, walk->fT);
+ if (between(min, s, max) && between(min, e, max)) {
+ return true;
+ }
+ }
+ return false;
+}
+
bool SkOpSpanBase::contains(const SkOpSpanBase* span) const {
const SkOpPtT* start = &fPtT;
const SkOpPtT* check = &span->fPtT;
@@ -294,7 +298,7 @@ void SkOpSpanBase::initBase(SkOpSegment* segment, SkOpSpan* prev, double t, cons
fChased = false;
SkDEBUGCODE(fCount = 1);
SkDEBUGCODE(fID = globalState()->nextSpanID());
- SkDEBUGCODE(fDeleted = false);
+ SkDEBUGCODE(fDebugDeleted = false);
}
// this pair of spans share a common t value or point; merge them and eliminate duplicates
@@ -305,6 +309,7 @@ void SkOpSpanBase::merge(SkOpSpan* span) {
SkASSERT(!zero_or_one(spanPtT->fT));
span->release(this->ptT());
if (this->contains(span)) {
+ SkOPASSERT(0); // check to see if this ever happens -- should have been found earlier
return; // merge is already in the ptT loop
}
SkOpPtT* remainder = spanPtT->next();
@@ -324,7 +329,12 @@ tryNextRemainder:
remainder = next;
}
fSpanAdds += span->fSpanAdds;
- this->checkForCollapsedCoincidence();
+}
+
+SkOpSpanBase* SkOpSpanBase::active() {
+ SkOpSpanBase* result = fPrev ? fPrev->next() : upCast()->next()->prev();
+ SkASSERT(this == result || fDebugDeleted);
+ return result;
}
// please keep in sync with debugCheckForCollapsedCoincidence()
@@ -344,6 +354,73 @@ void SkOpSpanBase::checkForCollapsedCoincidence() {
}
coins->markCollapsed(test);
} while ((test = test->next()) != head);
+ coins->releaseDeleted();
+}
+
+// please keep in sync with debugMergeMatches()
+// Look to see if pt-t linked list contains same segment more than once
+// if so, and if each pt-t is directly pointed to by spans in that segment,
+// merge them
+// keep the points, but remove spans so that the segment doesn't have 2 or more
+// spans pointing to the same pt-t loop at different loop elements
+void SkOpSpanBase::mergeMatches(SkOpSpanBase* opp) {
+ SkOpPtT* test = &fPtT;
+ SkOpPtT* testNext;
+ const SkOpPtT* stop = test;
+ do {
+ testNext = test->next();
+ if (test->deleted()) {
+ continue;
+ }
+ SkOpSpanBase* testBase = test->span();
+ SkASSERT(testBase->ptT() == test);
+ SkOpSegment* segment = test->segment();
+ if (segment->done()) {
+ continue;
+ }
+ SkOpPtT* inner = opp->ptT();
+ const SkOpPtT* innerStop = inner;
+ do {
+ if (inner->segment() != segment) {
+ continue;
+ }
+ if (inner->deleted()) {
+ continue;
+ }
+ SkOpSpanBase* innerBase = inner->span();
+ SkASSERT(innerBase->ptT() == inner);
+ // when the intersection is first detected, the span base is marked if there are
+ // more than one point in the intersection.
+ if (!zero_or_one(inner->fT)) {
+ innerBase->upCast()->release(test);
+ } else {
+ SkASSERT(inner->fT != test->fT);
+ if (!zero_or_one(test->fT)) {
+ testBase->upCast()->release(inner);
+ } else {
+ segment->markAllDone(); // mark segment as collapsed
+ SkDEBUGCODE(testBase->debugSetDeleted());
+ test->setDeleted();
+ SkDEBUGCODE(innerBase->debugSetDeleted());
+ inner->setDeleted();
+ }
+ }
+#ifdef SK_DEBUG // assert if another undeleted entry points to segment
+ const SkOpPtT* debugInner = inner;
+ while ((debugInner = debugInner->next()) != innerStop) {
+ if (debugInner->segment() != segment) {
+ continue;
+ }
+ if (debugInner->deleted()) {
+ continue;
+ }
+ SkOPASSERT(0);
+ }
+#endif
+ break;
+ } while ((inner = inner->next()) != innerStop);
+ } while ((test = testNext) != stop);
+ this->checkForCollapsedCoincidence();
}
int SkOpSpan::computeWindSum() {
@@ -413,7 +490,7 @@ bool SkOpSpan::insertCoincidence(const SkOpSegment* segment, bool flipped) {
}
void SkOpSpan::release(const SkOpPtT* kept) {
- SkDEBUGCODE(fDeleted = true);
+ SkDEBUGCODE(fDebugDeleted = true);
SkASSERT(kept->span() != this);
SkASSERT(!final());
SkOpSpan* prev = this->prev();
diff --git a/src/pathops/SkOpSpan.h b/src/pathops/SkOpSpan.h
index 96a97e0732..7c7bf7c186 100644
--- a/src/pathops/SkOpSpan.h
+++ b/src/pathops/SkOpSpan.h
@@ -28,6 +28,8 @@ public:
kIsDuplicate = 1
};
+ const SkOpPtT* active() const;
+
// please keep in sync with debugAddOpp()
void addOpp(SkOpPtT* opp, SkOpPtT* oppPrev) {
SkOpPtT* oldNext = this->fNext;
@@ -55,7 +57,7 @@ public:
const SkOpCoincidence* debugCoincidence() const;
bool debugContains(const SkOpPtT* ) const;
const SkOpPtT* debugContains(const SkOpSegment* check) const;
- SkOpContour* debugContour(int id);
+ SkOpContour* debugContour(int id) const;
int debugLoopLimit(bool report) const;
bool debugMatchID(int id) const;
const SkOpPtT* debugOppPrev(const SkOpPtT* opp) const;
@@ -98,7 +100,8 @@ public:
bool onEnd() const;
- SkOpPtT* oppPrev(SkOpPtT* opp) const {
+ // returns nullptr if this is already in the opp ptT loop
+ SkOpPtT* oppPrev(const SkOpPtT* opp) const {
// find the fOpp ptr to opp
SkOpPtT* oppPrev = opp->fNext;
if (oppPrev == this) {
@@ -176,7 +179,8 @@ protected:
class SkOpSpanBase {
public:
- void addOppAndMerge(SkOpSpanBase* );
+ SkOpSpanBase* active();
+ void addOpp(SkOpSpanBase* opp);
void bumpSpanAdds() {
++fSpanAdds;
@@ -192,6 +196,7 @@ public:
return fCoinEnd;
}
+ bool collapsed(double s, double e) const;
bool contains(const SkOpSpanBase* ) const;
const SkOpPtT* contains(const SkOpSegment* ) const;
@@ -209,11 +214,6 @@ public:
bool containsCoinEnd(const SkOpSegment* ) const;
SkOpContour* contour() const;
-#if DEBUG_COINCIDENCE_VERBOSE
- void debugAddOppAndMerge(const char* id, SkPathOpsDebug::GlitchLog* , const SkOpSpanBase* ,
- bool* del1, bool* del2) const;
-#endif
-
int debugBumpCount() {
return SkDEBUGRELEASE(++fCount, -1);
}
@@ -222,6 +222,9 @@ public:
return SkDEBUGRELEASE(fID, -1);
}
+#if DEBUG_COINCIDENCE_VERBOSE
+ void debugAddOpp(const char* id, SkPathOpsDebug::GlitchLog* , const SkOpSpanBase* opp) const;
+#endif
bool debugAlignedEnd(double t, const SkPoint& pt) const;
bool debugAlignedInner() const;
const SkOpAngle* debugAngle(int id) const;
@@ -230,20 +233,25 @@ public:
#endif
const SkOpCoincidence* debugCoincidence() const;
bool debugCoinEndLoopCheck() const;
- SkOpContour* debugContour(int id);
+ SkOpContour* debugContour(int id) const;
#ifdef SK_DEBUG
- bool debugDeleted() const { return fDeleted; }
+ bool debugDeleted() const { return fDebugDeleted; }
#endif
#if DEBUG_COINCIDENCE_VERBOSE
void debugInsertCoinEnd(const char* id, SkPathOpsDebug::GlitchLog* ,
const SkOpSpanBase* ) const;
void debugMergeContained(const char* id, SkPathOpsDebug::GlitchLog* ,
const SkPathOpsBounds& bounds, bool* deleted) const;
+ void debugMergeMatches(const char* id, SkPathOpsDebug::GlitchLog* log,
+ const SkOpSpanBase* opp) const;
#endif
const SkOpPtT* debugPtT(int id) const;
void debugResetCoinT() const;
const SkOpSegment* debugSegment(int id) const;
void debugSetCoinT(int ) const;
+#ifdef SK_DEBUG
+ void debugSetDeleted() { fDebugDeleted = true; }
+#endif
const SkOpSpanBase* debugSpan(int id) const;
const SkOpSpan* debugStarter(SkOpSpanBase const** endPtr) const;
SkOpGlobalState* globalState() const;
@@ -285,6 +293,7 @@ public:
void merge(SkOpSpan* span);
void mergeContained(const SkPathOpsBounds& bounds);
+ void mergeMatches(SkOpSpanBase* opp);
const SkOpSpan* prev() const {
return fPrev;
@@ -403,7 +412,7 @@ protected: // no direct access to internals to avoid treating a span base as a
bool fChased; // set after span has been added to chase array
SkDEBUGCODE(int fCount); // number of pt/t pairs added
SkDEBUGCODE(int fID);
- SkDEBUGCODE(bool fDeleted); // set when span was merged with another span
+ SkDEBUGCODE(bool fDebugDeleted); // set when span was merged with another span
};
class SkOpSpan : public SkOpSpanBase {
@@ -445,15 +454,14 @@ public:
void debugInsertCoincidence(const char* , SkPathOpsDebug::GlitchLog* ,
const SkOpSegment* , bool flipped) const;
#endif
- void release(const SkOpPtT* );
+ void dumpCoin() const;
+ bool dumpSpan() const;
bool done() const {
SkASSERT(!final());
return fDone;
}
- void dumpCoin() const;
- bool dumpSpan() const;
void init(SkOpSegment* parent, SkOpSpan* prev, double t, const SkPoint& pt);
bool insertCoincidence(const SkOpSegment* , bool flipped);
@@ -496,6 +504,8 @@ public:
return fOppValue;
}
+ void release(const SkOpPtT* );
+
SkOpPtT* setCoinStart(SkOpSpan* oldCoinStart, SkOpSegment* oppSegment);
void setDone(bool done) {
diff --git a/src/pathops/SkPathOpsCommon.cpp b/src/pathops/SkPathOpsCommon.cpp
index 82b93f4072..c8ee84c54a 100644
--- a/src/pathops/SkPathOpsCommon.cpp
+++ b/src/pathops/SkPathOpsCommon.cpp
@@ -485,7 +485,7 @@ bool HandleCoincidence(SkOpContourHead* contourList, SkOpCoincidence* coincidenc
// look for coincidence present in A-B and A-C but missing in B-C
while (coincidence->addMissing()) {
if (!--safetyHatch) {
- SkASSERT(0); // FIXME: take this out after verifying std tests don't trigger
+ SkASSERT(globalState->debugSkipAssert());
return false;
}
DEBUG_COINCIDENCE_HEALTH(contourList, "addMissing");
@@ -517,7 +517,6 @@ bool HandleCoincidence(SkOpContourHead* contourList, SkOpCoincidence* coincidenc
DEBUG_COINCIDENCE_HEALTH(contourList, "expand2");
// the expanded ranges may not align -- add the missing spans
if (!coincidence->addExpanded()) {
- SkASSERT(globalState->debugSkipAssert());
return false;
}
DEBUG_COINCIDENCE_HEALTH(contourList, "addExpanded3");
diff --git a/src/pathops/SkPathOpsDebug.cpp b/src/pathops/SkPathOpsDebug.cpp
index 212e2bcc79..d099c4a985 100644
--- a/src/pathops/SkPathOpsDebug.cpp
+++ b/src/pathops/SkPathOpsDebug.cpp
@@ -12,6 +12,18 @@
#include "SkPathOpsDebug.h"
#include "SkString.h"
+#undef FAIL_IF
+#define FAIL_IF(cond, coin) \
+ do { if (cond) log->record(kAddExpandedFail_Glitch, id, coin); } while (false)
+
+#undef FAIL_WITH_NULL_IF
+#define FAIL_WITH_NULL_IF(cond, span) \
+ do { if (cond) log->record(kAddExpandedFail_Glitch, id, span); } while (false)
+
+#undef RETURN_FALSE_IF
+#define RETURN_FALSE_IF(cond, span) \
+ do { if (cond) log->record(kAddExpandedFail_Glitch, id, span); } while (false)
+
class SkCoincidentSpans;
#if DEBUG_VALIDATE
@@ -67,6 +79,7 @@ enum GlitchType {
kMarkCoinMissing_Glitch,
kMarkCoinStart_Glitch,
kMergeContained_Glitch,
+ kMergeMatches_Glitch,
kMissingCoin_Glitch,
kMissingDone_Glitch,
kMissingIntersection_Glitch,
@@ -331,6 +344,7 @@ void SkPathOpsDebug::CheckHealth(SkOpContourHead* contourList, const char* id) {
case kMarkCoinMissing_Glitch: SkDebugf(" MarkCoinMissing"); break;
case kMarkCoinStart_Glitch: SkDebugf(" MarkCoinStart"); break;
case kMergeContained_Glitch: SkDebugf(" MergeContained"); break;
+ case kMergeMatches_Glitch: SkDebugf(" MergeMatches"); break;
case kMissingCoin_Glitch: SkDebugf(" MissingCoin"); break;
case kMissingDone_Glitch: SkDebugf(" MissingDone"); break;
case kMissingIntersection_Glitch: SkDebugf(" MissingIntersection"); break;
@@ -580,9 +594,9 @@ void SkDRect::debugInit() {
#include "SkOpAngle.h"
#include "SkOpSegment.h"
-#if DEBUG_COINCIDENCE
+#if DEBUG_COINCIDENCE_VERBOSE
// commented-out lines keep this in sync with addT()
- const SkOpPtT* SkOpSegment::debugAddT(double t) const {
+ const SkOpPtT* SkOpSegment::debugAddT(double t, const char* id, SkPathOpsDebug::GlitchLog* log) const {
debugValidate();
SkPoint pt = this->ptAtT(t);
const SkOpSpanBase* span = &fHead;
@@ -594,7 +608,7 @@ void SkDRect::debugInit() {
}
if (t < result->fT) {
const SkOpSpan* prev = result->span()->prev();
- FAIL_WITH_NULL_IF(!prev);
+ FAIL_WITH_NULL_IF(!prev, span);
// marks in global state that new op span has been allocated
this->globalState()->setAllocatedOpSpan();
// span->init(this, prev, t, pt);
@@ -606,7 +620,7 @@ void SkDRect::debugInit() {
// span->bumpSpanAdds();
return nullptr;
}
- FAIL_WITH_NULL_IF(span != &fTail);
+ FAIL_WITH_NULL_IF(span != &fTail, span);
} while ((span = span->upCast()->next()));
SkASSERT(0);
return nullptr; // we never get here, but need this to satisfy compiler
@@ -776,7 +790,7 @@ void SkOpSegment::debugMissingCoincidence(const char* id, SkPathOpsDebug::Glitch
}
if (testForCoincidence(rootPriorPtT, rootPtT, prior, spanBase, opp)) {
// mark coincidence
-#if DEBUG_COINCIDENCE
+#if DEBUG_COINCIDENCE_VERBOSE
// SkDebugf("%s coinSpan=%d endSpan=%d oppSpan=%d oppEndSpan=%d\n", __FUNCTION__,
// rootPriorPtT->debugID(), rootPtT->debugID(), rootOppStart->debugID(),
// rootOppEnd->debugID());
@@ -879,13 +893,8 @@ void SkOpSegment::debugMoveMultiples(const char* id, SkPathOpsDebug::GlitchLog*
goto tryNextSpan;
foundMatch: // merge oppTest and oppSpan
oppSegment->debugValidate();
- if (oppTest == &oppSegment->fTail || oppTest == &oppSegment->fHead) {
- SkASSERT(oppSpan != &oppSegment->fHead); // don't expect collapse
- SkASSERT(oppSpan != &oppSegment->fTail);
- glitches->record(kMoveMultiple_Glitch, id, oppTest, oppSpan);
- } else {
- glitches->record(kMoveMultiple_Glitch, id, oppSpan, oppTest);
- }
+ oppTest->debugMergeMatches(id, glitches, oppSpan);
+ oppTest->debugAddOpp(id, glitches, oppSpan);
oppSegment->debugValidate();
goto checkNextSpan;
}
@@ -1254,6 +1263,7 @@ void SkCoincidentSpans::debugStartCheck(const SkOpSpanBase* outer, const SkOpSpa
#if DEBUG_COINCIDENCE_VERBOSE
/* Commented-out lines keep this in sync with expand */
+// expand the range by checking adjacent spans for coincidence
bool SkCoincidentSpans::debugExpand(const char* id, SkPathOpsDebug::GlitchLog* log) const {
bool expanded = false;
const SkOpSegment* segment = coinPtTStart()->segment();
@@ -1275,6 +1285,9 @@ bool SkCoincidentSpans::debugExpand(const char* id, SkPathOpsDebug::GlitchLog* l
do {
const SkOpSpanBase* end = coinPtTEnd()->span();
SkOpSpanBase* next = end->final() ? nullptr : end->upCast()->next();
+ if (next && next->deleted()) {
+ break;
+ }
const SkOpPtT* oppPtT;
if (!next || !(oppPtT = next->contains(oppSegment))) {
break;
@@ -1289,9 +1302,6 @@ bool SkCoincidentSpans::debugExpand(const char* id, SkPathOpsDebug::GlitchLog* l
return expanded;
}
-#undef FAIL_IF
-#define FAIL_IF(cond) do { if (cond) log->record(kAddExpandedFail_Glitch, id, coin); } while (false)
-
/* Commented-out lines keep this in sync with addExpanded */
// for each coincident pair, match the spans
// if the spans don't match, add the mssing pt to the segment and loop it in the opposite span
@@ -1309,7 +1319,8 @@ void SkOpCoincidence::debugAddExpanded(const char* id, SkPathOpsDebug::GlitchLog
const SkOpSpanBase* oStart = oStartPtT->span();
const SkOpSpanBase* end = coin->coinPtTEnd()->span();
const SkOpSpanBase* oEnd = coin->oppPtTEnd()->span();
- FAIL_IF(oEnd->deleted());
+ FAIL_IF(oEnd->deleted(), coin);
+ FAIL_IF(!start->upCastable(), coin);
const SkOpSpanBase* test = start->upCast()->next();
const SkOpSpanBase* oTest = coin->flipped() ? oStart->prev() : oStart->upCast()->next();
if (!oTest) {
@@ -1320,12 +1331,12 @@ void SkOpCoincidence::debugAddExpanded(const char* id, SkPathOpsDebug::GlitchLog
|| !oTest->ptT()->contains(start->segment())) {
// use t ranges to guess which one is missing
double startRange = coin->coinPtTEnd()->fT - startPtT->fT;
- FAIL_IF(!startRange);
+ FAIL_IF(!startRange, coin);
double startPart = (test->t() - startPtT->fT) / startRange;
double oStartRange = coin->oppPtTEnd()->fT - oStartPtT->fT;
- FAIL_IF(!oStartRange);
+ FAIL_IF(!oStartRange, coin);
double oStartPart = (oTest->t() - oStartPtT->fT) / oStartRange;
- FAIL_IF(startPart == oStartPart);
+ FAIL_IF(startPart == oStartPart, coin);
bool startOver = false;
if (startPart < oStartPart)
log->record(kAddExpandedCoin_Glitch, id, // strange debug formatting lines up with original
@@ -1342,6 +1353,9 @@ void SkOpCoincidence::debugAddExpanded(const char* id, SkPathOpsDebug::GlitchLog
}
}
if (test != end) {
+ if (!test->upCastable()) {
+ return;
+ }
test = test->upCast()->next();
}
if (oTest != oEnd) {
@@ -1393,12 +1407,15 @@ void SkOpCoincidence::debugAddIfMissing(const SkOpPtT* over1s, const SkOpPtT* ov
if (coinSeg == oppSeg) {
return;
}
- return this->debugAddOrOverlap(coinSeg, oppSeg, coinTs, coinTe, oppTs, oppTe, id, log);
+ return this->debugAddOrOverlap(id, log, coinSeg, oppSeg, coinTs, coinTe, oppTs, oppTe);
}
/* Commented-out lines keep this in sync addOrOverlap() */
-void SkOpCoincidence::debugAddOrOverlap(const SkOpSegment* coinSeg, const SkOpSegment* oppSeg,
- double coinTs, double coinTe, double oppTs, double oppTe, const char* id, SkPathOpsDebug::GlitchLog* log) const {
+// If this is called by addEndMovedSpans(), a returned false propogates out to an abort.
+// If this is called by AddIfMissing(), a returned false indicates there was nothing to add
+void SkOpCoincidence::debugAddOrOverlap(const char* id, SkPathOpsDebug::GlitchLog* log,
+ const SkOpSegment* coinSeg, const SkOpSegment* oppSeg,
+ double coinTs, double coinTe, double oppTs, double oppTe) const {
SkTDArray<SkCoincidentSpans*> overlaps;
SkASSERT(!fTop); // this is (correctly) reversed in addifMissing()
if (fTop && !this->checkOverlap(fTop, coinSeg, oppSeg, coinTs, coinTe, oppTs, oppTe, &overlaps)) {
@@ -1427,77 +1444,63 @@ void SkOpCoincidence::debugAddOrOverlap(const SkOpSegment* coinSeg, const SkOpSe
: overlap->oppPtTEnd()->fT < test->oppPtTEnd()->fT) {
log->record(kAddOrOverlap_Glitch, id, overlap, test->oppPtTEnd());
}
- if (!fHead) {
- SkAssertResult(true);
+ if (!fHead) { this->debugRelease(id, log, fHead, test);
+ this->debugRelease(id, log, fTop, test);
}
}
const SkOpPtT* cs = coinSeg->existing(coinTs, oppSeg);
const SkOpPtT* ce = coinSeg->existing(coinTe, oppSeg);
- if (overlap && cs && ce && overlap->contains(cs, ce)) {
- return;
- }
- SkASSERT(cs != ce || !cs);
+ RETURN_FALSE_IF(overlap && cs && ce && overlap->contains(cs, ce), coinSeg);
+ RETURN_FALSE_IF(cs != ce || !cs, coinSeg);
const SkOpPtT* os = oppSeg->existing(oppTs, coinSeg);
const SkOpPtT* oe = oppSeg->existing(oppTe, coinSeg);
- if (overlap && os && oe && overlap->contains(os, oe)) {
- return;
- }
+ RETURN_FALSE_IF(overlap && os && oe && overlap->contains(os, oe), oppSeg);
SkASSERT(true || !cs || !cs->deleted());
SkASSERT(true || !os || !os->deleted());
SkASSERT(true || !ce || !ce->deleted());
SkASSERT(true || !oe || !oe->deleted());
const SkOpPtT* csExisting = !cs ? coinSeg->existing(coinTs, nullptr) : nullptr;
const SkOpPtT* ceExisting = !ce ? coinSeg->existing(coinTe, nullptr) : nullptr;
- if (csExisting && csExisting == ceExisting) {
- return;
- }
- if (csExisting && (csExisting == ce || csExisting->contains(ceExisting ? ceExisting : ce))) {
- return;
- }
- if (ceExisting && (ceExisting == cs || ceExisting->contains(csExisting ? csExisting : cs))) {
- return;
- }
+ RETURN_FALSE_IF(csExisting && csExisting == ceExisting, coinSeg);
+ RETURN_FALSE_IF(csExisting && (csExisting == ce ||
+ csExisting->contains(ceExisting ? ceExisting : ce)), coinSeg);
+ RETURN_FALSE_IF(ceExisting && (ceExisting == cs ||
+ ceExisting->contains(csExisting ? csExisting : cs)), coinSeg);
const SkOpPtT* osExisting = !os ? oppSeg->existing(oppTs, nullptr) : nullptr;
const SkOpPtT* oeExisting = !oe ? oppSeg->existing(oppTe, nullptr) : nullptr;
- if (osExisting && osExisting == oeExisting) {
- return;
- }
- if (osExisting && (osExisting == oe || osExisting->contains(oeExisting ? oeExisting : oe))) {
- return;
- }
- if (oeExisting && (oeExisting == os || oeExisting->contains(osExisting ? osExisting : os))) {
- return;
- }
+ RETURN_FALSE_IF(osExisting && osExisting == oeExisting, oppSeg);
+ RETURN_FALSE_IF(osExisting && (osExisting == oe ||
+ osExisting->contains(oeExisting ? oeExisting : oe)), oppSeg);
+ RETURN_FALSE_IF(oeExisting && (oeExisting == os ||
+ oeExisting->contains(osExisting ? osExisting : os)), oppSeg);
bool csDeleted = false, osDeleted = false, ceDeleted = false, oeDeleted = false;
this->debugValidate();
if (!cs || !os) {
if (!cs)
- cs = coinSeg->debugAddT(coinTs);
+ cs = coinSeg->debugAddT(coinTs, id, log);
if (!os)
- os = oppSeg->debugAddT(oppTs);
- if (cs && os) cs->span()->debugAddOppAndMerge(id, log, os->span(), &csDeleted, &osDeleted);
+ os = oppSeg->debugAddT(oppTs, id, log);
+// RETURN_FALSE_IF(callerAborts, !csWritable || !osWritable);
+ if (cs && os) cs->span()->debugAddOpp(id, log, os->span());
// cs = csWritable;
-// os = osWritable;
- if ((ce && ce->deleted()) || (oe && oe->deleted())) {
- return;
- }
+// os = osWritable->active();
+ RETURN_FALSE_IF((ce && ce->deleted()) || (oe && oe->deleted()), coinSeg);
}
if (!ce || !oe) {
if (!ce)
- ce = coinSeg->debugAddT(coinTe);
+ ce = coinSeg->debugAddT(coinTe, id, log);
if (!oe)
- oe = oppSeg->debugAddT(oppTe);
- if (ce && oe) ce->span()->debugAddOppAndMerge(id, log, oe->span(), &ceDeleted, &oeDeleted);
+ oe = oppSeg->debugAddT(oppTe, id, log);
+ if (ce && oe) ce->span()->debugAddOpp(id, log, oe->span());
// ce = ceWritable;
// oe = oeWritable;
}
this->debugValidate();
- if (csDeleted || osDeleted || ceDeleted || oeDeleted) {
- return;
- }
- if (!cs || !ce || cs->contains(ce) || !os || !oe || os->contains(oe)) {
- return;
- }
+ RETURN_FALSE_IF(csDeleted, coinSeg);
+ RETURN_FALSE_IF(osDeleted, oppSeg);
+ RETURN_FALSE_IF(ceDeleted, coinSeg);
+ RETURN_FALSE_IF(oeDeleted, oppSeg);
+ RETURN_FALSE_IF(!cs || !ce || cs->contains(ce) || !os || !oe || os->contains(oe), coinSeg);
// bool result = true;
if (overlap) {
if (overlap->coinPtTStart()->segment() == coinSeg) {
@@ -1599,6 +1602,27 @@ void SkOpCoincidence::debugAddMissing(const char* id, SkPathOpsDebug::GlitchLog*
}
// Commented-out lines keep this in sync with release()
+void SkOpCoincidence::debugRelease(const char* id, SkPathOpsDebug::GlitchLog* log, const SkCoincidentSpans* coin, const SkCoincidentSpans* remove) const {
+ const SkCoincidentSpans* head = coin;
+ const SkCoincidentSpans* prev = nullptr;
+ const SkCoincidentSpans* next;
+ do {
+ next = coin->next();
+ if (coin == remove) {
+ if (prev) {
+// prev->setNext(next);
+ } else if (head == fHead) {
+// fHead = next;
+ } else {
+// fTop = next;
+ }
+ log->record(kReleasedSpan_Glitch, id, coin);
+ }
+ prev = coin;
+ } while ((coin = next));
+ return;
+}
+
void SkOpCoincidence::debugRelease(const char* id, SkPathOpsDebug::GlitchLog* log, const SkOpSegment* deleted) const {
const SkCoincidentSpans* coin = fHead;
if (!coin) {
@@ -1614,6 +1638,7 @@ void SkOpCoincidence::debugRelease(const char* id, SkPathOpsDebug::GlitchLog* lo
} while ((coin = coin->next()));
}
+
// Commented-out lines keep this in sync with reorder()
// iterate through all coincident pairs, looking for ranges greater than 1
// if found, see if the opposite pair can match it -- which may require
@@ -1626,7 +1651,10 @@ void SkOpCoincidence::debugReorder(const char* id, SkPathOpsDebug::GlitchLog* lo
do {
// most commonly, concidence are one span long; check for that first
int intervals = coin->spanCount();
- if (intervals = 1) {
+ if (intervals <= 0) {
+ return;
+ }
+ if (1 == intervals) {
#if DEBUG_COINCIDENCE_VERBOSE
// SkASSERT(!coin->debugExpand(nullptr, nullptr));
#endif
@@ -1709,6 +1737,9 @@ void SkOpCoincidence::debugMark(const char* id, SkPathOpsDebug::GlitchLog* log)
return;
}
do {
+ if (!coin->coinPtTStartWritable()->span()->upCastable()) {
+ return;
+ }
const SkOpSpan* start = coin->coinPtTStartWritable()->span()->upCast();
// SkASSERT(start->deleted());
const SkOpSpanBase* end = coin->coinPtTEndWritable()->span();
@@ -1730,11 +1761,17 @@ void SkOpCoincidence::debugMark(const char* id, SkPathOpsDebug::GlitchLog* log)
const SkOpSpanBase* next = start;
const SkOpSpanBase* oNext = oStart;
while ((next = next->upCast()->next()) != end) {
+ if (!next->upCastable()) {
+ return;
+ }
if (next->upCast()->debugInsertCoincidence(id, log, oSegment, flipped), false) {
return;
}
}
while ((oNext = oNext->upCast()->next()) != oEnd) {
+ if (!oNext->upCastable()) {
+ return;
+ }
if (oNext->upCast()->debugInsertCoincidence(id, log, segment, flipped), false) {
return;
}
@@ -1747,6 +1784,7 @@ void SkOpCoincidence::debugMark(const char* id, SkPathOpsDebug::GlitchLog* log)
#if DEBUG_COINCIDENCE_VERBOSE
// Commented-out lines keep this in sync with markCollapsed()
void SkOpCoincidence::debugMarkCollapsed(const char* id, SkPathOpsDebug::GlitchLog* log, const SkCoincidentSpans* coin, const SkOpPtT* test) const {
+ const SkCoincidentSpans* head = coin;
while (coin) {
if (coin->collapsed(test)) {
if (zero_or_one(coin->coinPtTStart()->fT) && zero_or_one(coin->coinPtTEnd()->fT)) {
@@ -1755,6 +1793,7 @@ void SkOpCoincidence::debugMarkCollapsed(const char* id, SkPathOpsDebug::GlitchL
if (zero_or_one(coin->oppPtTStart()->fT) && zero_or_one(coin->oppPtTEnd()->fT)) {
log->record(kCollapsedCoin_Glitch, id, coin);
}
+ this->debugRelease(id, log, head, coin);
}
coin = coin->next();
}
@@ -2035,27 +2074,16 @@ void SkOpSegment::debugValidate() const {
}
#if DEBUG_COINCIDENCE_VERBOSE
-// Commented-out lines keep this in sync with addOppAndMerge()
-// If the added points envelop adjacent spans, merge them in.
-void SkOpSpanBase::debugAddOppAndMerge(const char* id, SkPathOpsDebug::GlitchLog* log, const SkOpSpanBase* opp, bool* spanDeleted, bool* oppDeleted) const {
- const SkOpPtT* oppPrev = this->ptT()->debugOppPrev(opp->ptT());
- if (oppPrev) {
- this->ptT()->debugAddOpp(opp->ptT(), oppPrev);
- this->debugCheckForCollapsedCoincidence(id, log);
- }
- // compute bounds of points in span
- SkPathOpsBounds bounds;
- bounds.set(SK_ScalarMax, SK_ScalarMax, SK_ScalarMin, SK_ScalarMin);
- const SkOpPtT* head = this->ptT();
- const SkOpPtT* nextPt = head;
- do {
- bounds.add(nextPt->fPt);
- } while ((nextPt = nextPt->next()) != head);
- if (!bounds.width() && !bounds.height()) {
+
+// Commented-out lines keep this in sync with addOpp()
+void SkOpSpanBase::debugAddOpp(const char* id, SkPathOpsDebug::GlitchLog* log, const SkOpSpanBase* opp) const {
+ const SkOpPtT* oppPrev = this->ptT()->oppPrev(opp->ptT());
+ if (!oppPrev) {
return;
}
- this->debugMergeContained(id, log, bounds, spanDeleted);
- opp->debugMergeContained(id, log, bounds, oppDeleted);
+ this->debugMergeMatches(id, log, opp);
+ this->ptT()->debugAddOpp(opp->ptT(), oppPrev);
+ this->debugCheckForCollapsedCoincidence(id, log);
}
// Commented-out lines keep this in sync with checkForCollapsedCoincidence()
@@ -2151,6 +2179,76 @@ void SkOpSpanBase::debugMergeContained(const char* id, SkPathOpsDebug::GlitchLog
// this->globalState()->coincidence()->debugValidate();
#endif
}
+
+// Commented-out lines keep this in sync with mergeMatches()
+// Look to see if pt-t linked list contains same segment more than once
+// if so, and if each pt-t is directly pointed to by spans in that segment,
+// merge them
+// keep the points, but remove spans so that the segment doesn't have 2 or more
+// spans pointing to the same pt-t loop at different loop elements
+void SkOpSpanBase::debugMergeMatches(const char* id, SkPathOpsDebug::GlitchLog* log, const SkOpSpanBase* opp) const {
+ const SkOpPtT* test = &fPtT;
+ const SkOpPtT* testNext;
+ const SkOpPtT* stop = test;
+ do {
+ testNext = test->next();
+ if (test->deleted()) {
+ continue;
+ }
+ const SkOpSpanBase* testBase = test->span();
+ SkASSERT(testBase->ptT() == test);
+ const SkOpSegment* segment = test->segment();
+ if (segment->done()) {
+ continue;
+ }
+ const SkOpPtT* inner = opp->ptT();
+ const SkOpPtT* innerStop = inner;
+ do {
+ if (inner->segment() != segment) {
+ continue;
+ }
+ if (inner->deleted()) {
+ continue;
+ }
+ const SkOpSpanBase* innerBase = inner->span();
+ SkASSERT(innerBase->ptT() == inner);
+ // when the intersection is first detected, the span base is marked if there are
+ // more than one point in the intersection.
+// if (!innerBase->hasMultipleHint() && !testBase->hasMultipleHint()) {
+ if (!zero_or_one(inner->fT)) {
+ log->record(kMergeMatches_Glitch, id, innerBase, test);
+ } else {
+ SkASSERT(inner->fT != test->fT);
+ if (!zero_or_one(test->fT)) {
+ log->record(kMergeMatches_Glitch, id, testBase, inner);
+ } else {
+ log->record(kMergeMatches_Glitch, id, segment);
+// SkDEBUGCODE(testBase->debugSetDeleted());
+// test->setDeleted();
+// SkDEBUGCODE(innerBase->debugSetDeleted());
+// inner->setDeleted();
+ }
+ }
+#ifdef SK_DEBUG // assert if another undeleted entry points to segment
+ const SkOpPtT* debugInner = inner;
+ while ((debugInner = debugInner->next()) != innerStop) {
+ if (debugInner->segment() != segment) {
+ continue;
+ }
+ if (debugInner->deleted()) {
+ continue;
+ }
+ SkOPASSERT(0);
+ }
+#endif
+ break;
+// }
+ break;
+ } while ((inner = inner->next()) != innerStop);
+ } while ((test = testNext) != stop);
+ this->debugCheckForCollapsedCoincidence(id, log);
+}
+
#endif
void SkOpSpanBase::debugResetCoinT() const {
diff --git a/src/pathops/SkPathOpsDebug.h b/src/pathops/SkPathOpsDebug.h
index 5ea1dd8b26..bdfd3a43a1 100644
--- a/src/pathops/SkPathOpsDebug.h
+++ b/src/pathops/SkPathOpsDebug.h
@@ -37,7 +37,7 @@
if (!SkPathOpsDebug::ValidWind(x)) strcpy(x##Str, "?"); \
else SK_SNPRINTF(x##Str, sizeof(x##Str), "%d", x)
-#define DEBUG_UNDER_DEVELOPMENT 01
+#define DEBUG_UNDER_DEVELOPMENT 1
#if FORCE_RELEASE
@@ -78,7 +78,7 @@
#define DEBUG_ANGLE 1
#define DEBUG_ASSEMBLE 1
#define DEBUG_COINCIDENCE 01
-#define DEBUG_COINCIDENCE_ORDER 0
+#define DEBUG_COINCIDENCE_ORDER 01
#define DEBUG_COINCIDENCE_VERBOSE 01
#define DEBUG_CUBIC_BINARY_SEARCH 0
#define DEBUG_CUBIC_SPLIT 1
diff --git a/src/pathops/SkPathOpsPoint.h b/src/pathops/SkPathOpsPoint.h
index f30f155e8f..f314f69d0e 100644
--- a/src/pathops/SkPathOpsPoint.h
+++ b/src/pathops/SkPathOpsPoint.h
@@ -144,6 +144,26 @@ struct SkDPoint {
// note: this can not be implemented with
// return approximately_equal(a.fY, fY) && approximately_equal(a.fX, fX);
// because that will not take the magnitude of the values into account
+ bool approximatelyDEqual(const SkDPoint& a) const {
+ if (approximately_equal(fX, a.fX) && approximately_equal(fY, a.fY)) {
+ return true;
+ }
+ if (!RoughlyEqualUlps(fX, a.fX) || !RoughlyEqualUlps(fY, a.fY)) {
+ return false;
+ }
+ double dist = distance(a); // OPTIMIZATION: can we compare against distSq instead ?
+ double tiniest = SkTMin(SkTMin(SkTMin(fX, a.fX), fY), a.fY);
+ double largest = SkTMax(SkTMax(SkTMax(fX, a.fX), fY), a.fY);
+ largest = SkTMax(largest, -tiniest);
+ return AlmostDequalUlps(largest, largest + dist); // is the dist within ULPS tolerance?
+ }
+
+ bool approximatelyDEqual(const SkPoint& a) const {
+ SkDPoint dA;
+ dA.set(a);
+ return approximatelyDEqual(dA);
+ }
+
bool approximatelyEqual(const SkDPoint& a) const {
if (approximately_equal(fX, a.fX) && approximately_equal(fY, a.fY)) {
return true;
@@ -233,6 +253,15 @@ struct SkDPoint {
return RoughlyEqualUlps((double) largest, largest + dist); // is dist within ULPS tolerance?
}
+ // very light weight check, should only be used for inequality check
+ static bool WayRoughlyEqual(const SkPoint& a, const SkPoint& b) {
+ float largestNumber = SkTMax(SkTAbs(a.fX), SkTMax(SkTAbs(a.fY),
+ SkTMax(SkTAbs(b.fX), SkTAbs(b.fY))));
+ SkVector diffs = a - b;
+ float largestDiff = SkTMax(diffs.fX, diffs.fY);
+ return roughly_zero_when_compared_to(largestDiff, largestNumber);
+ }
+
// utilities callable by the user from the debugger when the implementation code is linked in
void dump() const;
static void Dump(const SkPoint& pt);
diff --git a/src/pathops/SkPathOpsTypes.h b/src/pathops/SkPathOpsTypes.h
index a645771634..aac32b2087 100644
--- a/src/pathops/SkPathOpsTypes.h
+++ b/src/pathops/SkPathOpsTypes.h
@@ -76,7 +76,7 @@ public:
#ifdef SK_DEBUG
const class SkOpAngle* debugAngle(int id) const;
const SkOpCoincidence* debugCoincidence() const;
- SkOpContour* debugContour(int id);
+ SkOpContour* debugContour(int id) const;
const class SkOpPtT* debugPtT(int id) const;
bool debugRunFail() const;
const class SkOpSegment* debugSegment(int id) const;
@@ -197,10 +197,16 @@ private:
};
#ifdef SK_DEBUG
+#if DEBUG_COINCIDENCE
+#define SkOPASSERT(cond) SkASSERT((this->globalState() && \
+ (this->globalState()->debugCheckHealth() || \
+ this->globalState()->debugSkipAssert())) || (cond))
+#else
#define SkOPASSERT(cond) SkASSERT((this->globalState() && \
- this->globalState()->debugSkipAssert()) || cond)
+ this->globalState()->debugSkipAssert()) || (cond))
+#endif
#define SkOPOBJASSERT(obj, cond) SkASSERT((obj->debugGlobalState() && \
- obj->debugGlobalState()->debugSkipAssert()) || cond)
+ obj->debugGlobalState()->debugSkipAssert()) || (cond))
#else
#define SkOPASSERT(cond)
#define SkOPOBJASSERT(obj, cond)
@@ -529,10 +535,6 @@ inline bool more_roughly_equal(double x, double y) {
return fabs(x - y) < MORE_ROUGH_EPSILON;
}
-inline bool way_roughly_equal(double x, double y) {
- return fabs(x - y) < WAY_ROUGH_EPSILON;
-}
-
struct SkDPoint;
struct SkDVector;
struct SkDLine;
diff --git a/tests/PathOpsDebug.cpp b/tests/PathOpsDebug.cpp
index a6613bc9e6..164f9aeeea 100755
--- a/tests/PathOpsDebug.cpp
+++ b/tests/PathOpsDebug.cpp
@@ -806,7 +806,7 @@ const SkOpCoincidence* SkOpAngle::debugCoincidence() const {
return this->segment()->debugCoincidence();
}
-SkOpContour* SkOpAngle::debugContour(int id) {
+SkOpContour* SkOpAngle::debugContour(int id) const {
return this->segment()->debugContour(id);
}
@@ -940,7 +940,7 @@ const SkOpAngle* SkOpPtT::debugAngle(int id) const {
return this->span()->debugAngle(id);
}
-SkOpContour* SkOpPtT::debugContour(int id) {
+SkOpContour* SkOpPtT::debugContour(int id) const {
return this->span()->debugContour(id);
}
@@ -1000,7 +1000,7 @@ const SkOpCoincidence* SkOpSpanBase::debugCoincidence() const {
return this->segment()->debugCoincidence();
}
-SkOpContour* SkOpSpanBase::debugContour(int id) {
+SkOpContour* SkOpSpanBase::debugContour(int id) const {
return this->segment()->debugContour(id);
}
@@ -1041,7 +1041,7 @@ void SkOpSpanBase::dumpBase() const {
SkDebugf(" chased");
}
#ifdef SK_DEBUG
- if (this->fDeleted) {
+ if (this->fDebugDeleted) {
SkDebugf(" deleted");
}
#endif
@@ -1111,7 +1111,7 @@ const SkOpCoincidence* SkOpSegment::debugCoincidence() const {
return this->contour()->debugCoincidence();
}
-SkOpContour* SkOpSegment::debugContour(int id) {
+SkOpContour* SkOpSegment::debugContour(int id) const {
return this->contour()->debugContour(id);
}
@@ -1389,7 +1389,7 @@ const SkOpAngle* SkOpGlobalState::debugAngle(int id) const {
return nullptr;
}
-SkOpContour* SkOpGlobalState::debugContour(int id) {
+SkOpContour* SkOpGlobalState::debugContour(int id) const {
SkOpContour* contour = fContourHead;
do {
if (contour->debugID() == id) {
diff --git a/tests/PathOpsExtendedTest.cpp b/tests/PathOpsExtendedTest.cpp
index a7ff885220..3f1a298c42 100644
--- a/tests/PathOpsExtendedTest.cpp
+++ b/tests/PathOpsExtendedTest.cpp
@@ -508,9 +508,9 @@ bool testSimplify(skiatest::Reporter* reporter, const SkPath& path, const char*
ExpectMatch::kYes);
}
-bool testSimplifyFailSkipAssert(skiatest::Reporter* reporter, const SkPath& path, const char* filename) {
- return inner_simplify(reporter, path, filename, ExpectSuccess::kNo, SkipAssert::kYes,
- ExpectMatch::kNo);
+bool testSimplifyFuzz(skiatest::Reporter* reporter, const SkPath& path, const char* filename) {
+ return inner_simplify(reporter, path, filename, ExpectSuccess::kFlaky, SkipAssert::kYes,
+ ExpectMatch::kFlaky);
}
bool testSimplifyCheck(skiatest::Reporter* reporter, const SkPath& path, const char* filename,
@@ -593,25 +593,7 @@ bool testPathOpCheck(skiatest::Reporter* reporter, const SkPath& a, const SkPath
ExpectSuccess::kYes : ExpectSuccess::kNo, SkipAssert::kNo, ExpectMatch::kNo);
}
-bool testPathOpFailCheck(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp shapeOp, const char* testName) {
- return innerPathOp(reporter, a, b, shapeOp, testName, ExpectSuccess::kNo, SkipAssert::kNo,
- ExpectMatch::kNo);
-}
-
-bool testPathOpSkipAssert(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp shapeOp, const char* testName) {
- return innerPathOp(reporter, a, b, shapeOp, testName, ExpectSuccess::kYes, SkipAssert::kYes,
- ExpectMatch::kYes);
-}
-
-bool testPathOpFailSkipAssert(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp shapeOp, const char* testName) {
- return innerPathOp(reporter, a, b, shapeOp, testName, ExpectSuccess::kNo, SkipAssert::kYes,
- ExpectMatch::kNo);
-}
-
-bool testPathOpFlakySkipAssert(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
+bool testPathOpFuzz(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
const SkPathOp shapeOp, const char* testName) {
return innerPathOp(reporter, a, b, shapeOp, testName, ExpectSuccess::kFlaky, SkipAssert::kYes,
ExpectMatch::kFlaky);
@@ -707,7 +689,7 @@ void RunTestSet(skiatest::Reporter* reporter, TestDesc tests[], size_t count,
#if DEBUG_SHOW_TEST_NAME
SkDebugf("\n<div id=\"%s\">\n", tests[index].str);
#endif
- (*tests[index].fun)(reporter, tests[index].str);
+ (*tests[index].fun)(reporter, tests[index].str);
}
if (tests[index].fun == stopTest || index == last) {
break;
diff --git a/tests/PathOpsExtendedTest.h b/tests/PathOpsExtendedTest.h
index 8cf708b278..55a4410ed0 100644
--- a/tests/PathOpsExtendedTest.h
+++ b/tests/PathOpsExtendedTest.h
@@ -42,23 +42,15 @@ extern bool testPathOpCheck(skiatest::Reporter* reporter, const SkPath& a, const
const SkPathOp , const char* testName, bool checkFail);
extern bool testPathOpFail(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
const SkPathOp, const char* testName);
-extern bool testPathOpFailCheck(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp , const char* testName);
-extern bool testPathOpFailSkipAssert(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp , const char* testName);
-extern bool testPathOpFlakySkipAssert(skiatest::Reporter* reporter, const SkPath& a,
- const SkPath& b, const SkPathOp , const char* testName);
-extern bool testPathOpSkipAssert(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp , const char* testName);
+extern bool testPathOpFuzz(skiatest::Reporter* reporter, const SkPath& a,
+ const SkPath& b, const SkPathOp , const char* testName);
extern bool testSimplify(SkPath& path, bool useXor, SkPath& out, PathOpsThreadState& state,
const char* pathStr);
extern bool testSimplify(skiatest::Reporter* reporter, const SkPath& path, const char* filename);
extern bool testSimplifyCheck(skiatest::Reporter* reporter, const SkPath& path,
const char* filename, bool checkFail);
-extern bool testSimplifyFailSkipAssert(skiatest::Reporter* reporter, const SkPath& path,
+extern bool testSimplifyFuzz(skiatest::Reporter* reporter, const SkPath& path,
const char* filename);
-extern bool testSimplifySkipAssert(skiatest::Reporter* reporter, const SkPath& path,
- const char* filename);
void initializeTests(skiatest::Reporter* reporter, const char* testName);
void outputProgress(char* ramStr, const char* pathStr, SkPath::FillType );
diff --git a/tests/PathOpsOpTest.cpp b/tests/PathOpsOpTest.cpp
index 2026238882..3316f7e0cb 100644
--- a/tests/PathOpsOpTest.cpp
+++ b/tests/PathOpsOpTest.cpp
@@ -5362,14 +5362,27 @@ static void cubics_o(skiatest::Reporter* reporter, const char* filename) {
testPathOp(reporter, path, pathB, kXOR_SkPathOp, filename);
}
+static void cubicOp158(skiatest::Reporter* reporter, const char* filename) {
+ SkPath path, pathB;
+ path.setFillType(SkPath::kWinding_FillType);
+ path.moveTo(0,1);
+ path.cubicTo(2,4, 2,0, 2,0);
+ path.close();
+ pathB.setFillType(SkPath::kWinding_FillType);
+ pathB.moveTo(0,2);
+ pathB.cubicTo(0,2, 1,0, 4,2);
+ pathB.close();
+ testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
+}
static void (*skipTest)(skiatest::Reporter* , const char* filename) = 0;
-static void (*firstTest)(skiatest::Reporter* , const char* filename) = cubics_d3;
+static void (*firstTest)(skiatest::Reporter* , const char* filename) = 0;
static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0;
#define TEST(name) { name, #name }
static struct TestDesc tests[] = {
+ TEST(cubicOp158),
TEST(loops_i1),
TEST(loops_i2),
TEST(loops_i3),
@@ -5757,7 +5770,7 @@ static void fuzz535151(skiatest::Reporter* reporter, const char* filename) {
two.lineTo(0, 50);
two.lineTo(4.29497e+09f, 50);
SkPath dummy;
- testPathOp(reporter, one, two, kIntersect_SkPathOp, filename);
+ testPathOpFuzz(reporter, one, two, kIntersect_SkPathOp, filename);
}
static void bufferOverflow(skiatest::Reporter* reporter, const char* filename) {
@@ -5765,7 +5778,7 @@ static void bufferOverflow(skiatest::Reporter* reporter, const char* filename) {
path.addRect(0,0, 300,170141183460469231731687303715884105728.f);
SkPath pathB;
pathB.addRect(0,0, 300,16);
- testPathOpCheck(reporter, path, pathB, kUnion_SkPathOp, filename, true);
+ testPathOpFuzz(reporter, path, pathB, kUnion_SkPathOp, filename);
}
// m 100,0 60,170 -160,-110 200,0 -170,11000000000 z
@@ -5785,7 +5798,7 @@ static void fuzz433(skiatest::Reporter* reporter, const char* filename) {
path2.lineTo(-170 + 20,11000000000.0f + 20);
path2.close();
- testPathOpCheck(reporter, path1, path2, kIntersect_SkPathOp, filename, true);
+ testPathOpFuzz(reporter, path1, path2, kIntersect_SkPathOp, filename);
}
static void fuzz433b(skiatest::Reporter* reporter, const char* filename) {
@@ -5808,7 +5821,7 @@ static void fuzz433b(skiatest::Reporter* reporter, const char* filename) {
path2.lineTo(190, 60);
path2.close();
- testPathOpCheck(reporter, path1, path2, kUnion_SkPathOp, filename, true);
+ testPathOpFuzz(reporter, path1, path2, kUnion_SkPathOp, filename);
}
static void fuzz487a(skiatest::Reporter* reporter, const char* filename) {
@@ -5854,7 +5867,7 @@ path.lineTo(SkBits2Float(0x432c8000), SkBits2Float(0x42c00000));
path.close();
SkPath path2(path);
- testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, true);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
static void fuzz487b(skiatest::Reporter* reporter, const char* filename) {
@@ -5900,7 +5913,7 @@ path.lineTo(SkBits2Float(0x432c8000), SkBits2Float(0x42c00000));
path.close();
SkPath path2(path);
- testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, true);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
static void fuzz714(skiatest::Reporter* reporter, const char* filename) {
@@ -5926,7 +5939,7 @@ path.lineTo(SkBits2Float(0x43200000), SkBits2Float(0x42700000));
path.close();
SkPath path2(path);
- testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, true);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
static void fuzz1(skiatest::Reporter* reporter, const char* filename) {
@@ -5948,7 +5961,7 @@ path.close();
path.setFillType((SkPath::FillType) 0);
SkPath path2(path);
- testPathOpFail(reporter, path1, path2, (SkPathOp) 2, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
@@ -5973,7 +5986,7 @@ path.cubicTo(SkBits2Float(0x42266e32), SkBits2Float(0xcf223cc0), SkBits2Float(0x
path.lineTo(SkBits2Float(0x40f8fbe0), SkBits2Float(0xcf223cc0)); // 7.78075f, -2.72189e+09f
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
static void bug597926_0(skiatest::Reporter* reporter, const char* filename) {
@@ -5996,7 +6009,7 @@ path.cubicTo(SkBits2Float(0xc51cd471), SkBits2Float(0xc49d54d0), SkBits2Float(0x
path.quadTo(SkBits2Float(0xc51bf7eb), SkBits2Float(0xc49cf010), SkBits2Float(0xc51ba866), SkBits2Float(0xc49cb9e6)); // -2495.49f, -1255.5f, -2490.52f, -1253.81f
path.cubicTo(SkBits2Float(0xc51bac0d), SkBits2Float(0xc49cc50e), SkBits2Float(0xc51c29eb), SkBits2Float(0xc49cfb01), SkBits2Float(0xc51c5bca), SkBits2Float(0xc49d1fa6)); // -2490.75f, -1254.16f, -2498.62f, -1255.84f, -2501.74f, -1256.99f
SkPath path2(path);
-testPathOp(reporter, path1, path2, (SkPathOp) 1, filename);
+testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
static void fuzz1450_0(skiatest::Reporter* reporter, const char* filename) {
@@ -6015,7 +6028,7 @@ path.lineTo(SkBits2Float(0x43b40000), SkBits2Float(0x44800000)); // 360, 1024
path.lineTo(SkBits2Float(0x43b40000), SkBits2Float(0x45816000)); // 360, 4140
path.close();
SkPath path2(path);
-testPathOpSkipAssert(reporter, path1, path2, kUnion_SkPathOp, filename);
+testPathOpFuzz(reporter, path1, path2, kUnion_SkPathOp, filename);
}
static void fuzz1450_1(skiatest::Reporter* reporter, const char* filename) {
@@ -6044,7 +6057,7 @@ path.lineTo(SkBits2Float(0x451f7000), SkBits2Float(0x42800000)); // 2551, 64
path.lineTo(SkBits2Float(0x42fe0000), SkBits2Float(0x43a08000)); // 127, 321
path.close();
SkPath path2(path);
-testPathOpSkipAssert(reporter, path1, path2, kUnion_SkPathOp, filename);
+testPathOpFuzz(reporter, path1, path2, kUnion_SkPathOp, filename);
}
static void fuzz763_9(skiatest::Reporter* reporter, const char* filename) {
@@ -6071,7 +6084,7 @@ path.quadTo(SkBits2Float(0xd912102a), SkBits2Float(0x284f9a28), SkBits2Float(0xb
path.lineTo(SkBits2Float(0xc809272a), SkBits2Float(0x29b02829)); // -140445, 7.82294e-14f
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp) 1, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
@@ -6105,7 +6118,7 @@ path.moveTo(SkBits2Float(0x212a8c55), SkBits2Float(0x21081f2a)); // 5.7784e-19f
path.conicTo(SkBits2Float(0x6a4b7bc0), SkBits2Float(0x2147ed7a), SkBits2Float(0x28282a3a), SkBits2Float(0x21df212a), SkBits2Float(0x033a8a3a)); // 6.14991e+25f, 6.77381e-19f, 9.33503e-15f, 1.51198e-18f, 5.48192e-37f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 1, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
static void fuzz763_3(skiatest::Reporter* reporter, const char* filename) {
@@ -6140,7 +6153,7 @@ path.moveTo(SkBits2Float(0x21081f3f), SkBits2Float(0x9fd4e62a)); // 4.61199e-19
path.cubicTo(SkBits2Float(0x3a293a2a), SkBits2Float(0x0e3bf0c5), SkBits2Float(0x3b29d42a), SkBits2Float(0x0f217265), SkBits2Float(0x2d5d2921), SkBits2Float(0x5568295b)); // 0.000645551f, 2.31655e-30f, 0.00259138f, 7.95994e-30f, 1.25715e-11f, 1.5954e+13f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 1, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
static void fuzz763_5(skiatest::Reporter* reporter, const char* filename) {
@@ -6165,7 +6178,7 @@ path.quadTo(SkBits2Float(0xdf28282a), SkBits2Float(0x3a8a3b21), SkBits2Float(0x2
path.lineTo(SkBits2Float(0x5b2d2968), SkBits2Float(0x5b2d8c55)); // 4.87407e+16f, 4.88495e+16f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
static void fuzz763_2(skiatest::Reporter* reporter, const char* filename) {
@@ -6204,7 +6217,7 @@ path.conicTo(SkBits2Float(0xf86d273b), SkBits2Float(0x27e523e3), SkBits2Float(0x
path.cubicTo(SkBits2Float(0x2f273927), SkBits2Float(0xa83a2c21), SkBits2Float(0xd7122121), SkBits2Float(0x21212921), SkBits2Float(0x3be3db3a), SkBits2Float(0xa9deb63b)); // 1.52089e-10f, -1.03346e-14f, -1.60671e+14f, 5.46034e-19f, 0.00695362f, -9.89039e-14f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 1, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
// crbug.com/626164
@@ -6223,7 +6236,7 @@ static void fuzz763_1c(skiatest::Reporter* reporter, const char* filename) {
SkPath path2(path);
SkPath dummy;
- testPathOp(reporter, path1, path2, (SkPathOp)4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp)4, filename);
}
// crbug.com/626186
@@ -6247,7 +6260,7 @@ static void fuzz763_1b(skiatest::Reporter* reporter, const char* filename) {
path.cubicTo(SkBits2Float(0x20fe58f9), SkBits2Float(0x0525fbed), SkBits2Float(0x1905ffff), SkBits2Float(0x01f9f9f9), SkBits2Float(0xfbfe0ef9), SkBits2Float(0xfb212fff)); // 4.30882e-19f, 7.80453e-36f, 6.92764e-24f, 9.18268e-38f, -2.63829e+36f, -8.36933e+35f
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp)2, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp)2, filename);
}
static void fuzz763_1a(skiatest::Reporter* reporter, const char* filename) {
@@ -6278,7 +6291,7 @@ static void fuzz763_1a(skiatest::Reporter* reporter, const char* filename) {
path.moveTo(SkBits2Float(0x384700ff), SkBits2Float(0x0108804b)); // 4.74462e-05f, 2.50713e-38f
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp)0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp)0, filename);
}
// crbug.com/627780
@@ -6299,7 +6312,7 @@ path.moveTo(SkBits2Float(0x8adf2028), SkBits2Float(0x3a219a3a)); // -2.14862e-3
path.quadTo(SkBits2Float(0x3ab38e28), SkBits2Float(0x29283ac2), SkBits2Float(0x2be61d2a), SkBits2Float(0x812a4396)); // 0.0013699f, 3.73545e-14f, 1.63506e-12f, -3.12726e-38f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 1, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
// crbug.com/627689
@@ -6323,7 +6336,7 @@ path.close();
path.setFillType((SkPath::FillType) 0);
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
// crbug.com/627401
@@ -6343,7 +6356,7 @@ path.moveTo(SkBits2Float(0x4bfffa00), SkBits2Float(0x7d4ac859)); // 3.35514e+07
path.conicTo(SkBits2Float(0x7d014f3e), SkBits2Float(0x00f4ff01), SkBits2Float(0x6b64480c), SkBits2Float(0x48484848), SkBits2Float(0x557d0100)); // 1.07426e+37f, 2.24993e-38f, 2.75975e+26f, 205089, 1.73863e+13f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
// crbug.com/627761
@@ -6391,7 +6404,7 @@ path.lineTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f
path.close();
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
static void fuzz763_2c(skiatest::Reporter* reporter, const char* filename) {
@@ -6416,7 +6429,7 @@ path.moveTo(SkBits2Float(0x000010a1), SkBits2Float(0x19312000)); // 5.96533e-42
path.cubicTo(SkBits2Float(0x4a4a4a4a), SkBits2Float(0x4a4a4a4a), SkBits2Float(0xa14a4a4a), SkBits2Float(0x08ff2ba1), SkBits2Float(0x08ff4a4a), SkBits2Float(0x4a344a4a)); // 3.31432e+06f, 3.31432e+06f, -6.85386e-19f, 1.53575e-33f, 1.53647e-33f, 2.95387e+06f
path.cubicTo(SkBits2Float(0x544a4a4a), SkBits2Float(0x4a4a4a4a), SkBits2Float(0x2ba1a14a), SkBits2Float(0x4e4a08ff), SkBits2Float(0x4a4a4a4a), SkBits2Float(0xa1a181ff)); // 3.47532e+12f, 3.31432e+06f, 1.14845e-12f, 8.47397e+08f, 3.31432e+06f, -1.09442e-18f
SkPath path2(path);
- testPathOpCheck(reporter, path1, path2, kReverseDifference_SkPathOp, filename, true);
+ testPathOpFuzz(reporter, path1, path2, kReverseDifference_SkPathOp, filename);
}
static void fuzz763_6(skiatest::Reporter* reporter, const char* filename) {
@@ -6442,7 +6455,7 @@ path.moveTo(SkBits2Float(0x3ac23a55), SkBits2Float(0x2a292827)); // 0.00148184f
path.lineTo(SkBits2Float(0x63962be6), SkBits2Float(0x272a812a)); // 5.54035e+21f, 2.36623e-15f
SkPath path2(path);
- testPathOpFail(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_7(skiatest::Reporter* reporter, const char* filename) {
@@ -6496,7 +6509,7 @@ path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f
path.cubicTo(SkBits2Float(0x5568c23a), SkBits2Float(0x5b2d2968), SkBits2Float(0x212a8c55), SkBits2Float(0x21081f2a), SkBits2Float(0x3a7bc003), SkBits2Float(0x294b2827)); // 1.59951e+13f, 4.87407e+16f, 5.7784e-19f, 4.61198e-19f, 0.00096035f, 4.51099e-14f
SkPath path2(path);
- testPathOpFail(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void kfuzz2(skiatest::Reporter* reporter, const char* filename) {
@@ -6529,7 +6542,7 @@ path.cubicTo(SkBits2Float(0xe3000000), SkBits2Float(0xe39e92c7), SkBits2Float(0x
path.lineTo(SkBits2Float(0xba98ffee), SkBits2Float(0xfafafa1a)); // -0.0011673f, -6.51573e+35f
path.close();
SkPath path2(path);
- testPathOpFail(reporter, path1, path2, kXOR_SkPathOp, filename);
+ testPathOpFuzz(reporter, path1, path2, kXOR_SkPathOp, filename);
}
static void fuzz763_10(skiatest::Reporter* reporter, const char* filename) {
@@ -6572,7 +6585,7 @@ path.quadTo(SkBits2Float(0xc368305b), SkBits2Float(0x5b296855), SkBits2Float(0x2
path.lineTo(SkBits2Float(0x29c00321), SkBits2Float(0x5b4b7b13)); // 8.52706e-14f, 5.72747e+16f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
static void fuzz763_11(skiatest::Reporter* reporter, const char* filename) {
@@ -6623,7 +6636,7 @@ path.lineTo(SkBits2Float(0x682d6829), SkBits2Float(0x29685555)); // 3.27556e+24
path.close();
SkPath path2(path);
- testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_12(skiatest::Reporter* reporter, const char* filename) {
@@ -6661,7 +6674,7 @@ path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x2a552d29)); // 4.03114e+24
path.cubicTo(SkBits2Float(0x21295b2d), SkBits2Float(0x2a528c5b), SkBits2Float(0x284f5b2d), SkBits2Float(0x218aa621), SkBits2Float(0x3f2d2db3), SkBits2Float(0x68293a2a)); // 5.73801e-19f, 1.87004e-13f, 1.15106e-14f, 9.39522e-19f, 0.676479f, 3.19661e+24f
SkPath path2(path);
- testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_13(skiatest::Reporter* reporter, const char* filename) {
@@ -6697,7 +6710,7 @@ path.conicTo(SkBits2Float(0x6a4b7bc0), SkBits2Float(0x2a8ced7a), SkBits2Float(0x
path.quadTo(SkBits2Float(0x6028282a), SkBits2Float(0x68292ddf), SkBits2Float(0x5b2d555b), SkBits2Float(0x68556829)); // 4.84679e+19f, 3.1957e+24f, 4.8789e+16f, 4.03114e+24f
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
static void fuzz763_14(skiatest::Reporter* reporter, const char* filename) {
@@ -6712,7 +6725,7 @@ path.moveTo(SkBits2Float(0x1f2a302a), SkBits2Float(0xc8032108)); // 3.60387e-20
path.cubicTo(SkBits2Float(0x68392d55), SkBits2Float(0xf0db684b), SkBits2Float(0x8c55272d), SkBits2Float(0x212a292a), SkBits2Float(0x302a5b25), SkBits2Float(0xf0685568)); // 3.4979e+24f, -5.43226e+29f, -1.64207e-31f, 5.76527e-19f, 6.19752e-10f, -2.87615e+29f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_15(skiatest::Reporter* reporter, const char* filename) {
@@ -6767,7 +6780,7 @@ path.quadTo(SkBits2Float(0xc368305b), SkBits2Float(0x5b296855), SkBits2Float(0x2
path.lineTo(SkBits2Float(0x29c00321), SkBits2Float(0x5b4b7b13)); // 8.52706e-14f, 5.72747e+16f
SkPath path2(path);
- testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
static void fuzz763_16(skiatest::Reporter* reporter, const char* filename) {
@@ -6822,7 +6835,7 @@ path.conicTo(SkBits2Float(0x084b0321), SkBits2Float(0x6ac07b2a), SkBits2Float(0x
path.lineTo(SkBits2Float(0x8c558c55), SkBits2Float(0x212a1f2a)); // -1.64512e-31f, 5.76395e-19f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_17(skiatest::Reporter* reporter, const char* filename) {
@@ -6874,7 +6887,7 @@ path.moveTo(SkBits2Float(0x2a8cef55), SkBits2Float(0x68295b2d)); // 2.50351e-13
path.lineTo(SkBits2Float(0x6ac07b2a), SkBits2Float(0x395b2d7a)); // 1.16348e+26f, 0.000209024f
SkPath path2(path);
- testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_18(skiatest::Reporter* reporter, const char* filename) {
@@ -6925,8 +6938,7 @@ path.conicTo(SkBits2Float(0x2a8c54ed), SkBits2Float(0x21081f21), SkBits2Float(0x
path.conicTo(SkBits2Float(0x68392d5b), SkBits2Float(0xf0682955), SkBits2Float(0x2a1f5b2d), SkBits2Float(0xef552a21), SkBits2Float(0x5b2d2a8c)); // 3.4979e+24f, -2.87402e+29f, 1.41537e-13f, -6.59712e+28f, 4.8742e+16f
SkPath path2(path);
- // FIXME: fails on Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast, passes everywhere else
- testPathOpFlakySkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_19(skiatest::Reporter* reporter, const char* filename) {
@@ -6976,7 +6988,7 @@ path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24
path.close();
SkPath path2(path);
- testPathOpFlakySkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_20(skiatest::Reporter* reporter, const char* filename) {
@@ -7034,7 +7046,7 @@ path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24
path.close();
SkPath path2(path);
- testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_21(skiatest::Reporter* reporter, const char* filename) {
@@ -7077,7 +7089,7 @@ path.close();
path.setFillType((SkPath::FillType) 0);
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp) 1, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
static void fuzz763_22(skiatest::Reporter* reporter, const char* filename) {
@@ -7103,7 +7115,7 @@ path.quadTo(SkBits2Float(0x4f9a3a8a), SkBits2Float(0xc28a0d28), SkBits2Float(0x2
path.lineTo(SkBits2Float(0x63283ae6), SkBits2Float(0x27282a81)); // 3.1033e+21f, 2.33377e-15f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 3, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 3, filename);
}
static void fuzz763_23(skiatest::Reporter* reporter, const char* filename) {
@@ -7144,7 +7156,7 @@ path.conicTo(SkBits2Float(0x2a8c54ed), SkBits2Float(0x21081f21), SkBits2Float(0x
path.conicTo(SkBits2Float(0x68392d5b), SkBits2Float(0xf0682955), SkBits2Float(0x2a1f5b2d), SkBits2Float(0xef552a21), SkBits2Float(0x5b2d2a8c)); // 3.4979e+24f, -2.87402e+29f, 1.41537e-13f, -6.59712e+28f, 4.8742e+16f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_24(skiatest::Reporter* reporter, const char* filename) {
@@ -7193,7 +7205,7 @@ path.cubicTo(SkBits2Float(0x299e9e9e), SkBits2Float(0xecececec), SkBits2Float(0x
path.cubicTo(SkBits2Float(0x9e9e9e9e), SkBits2Float(0xe8009e9e), SkBits2Float(0x9e9e9e9e), SkBits2Float(0xecec9e9e), SkBits2Float(0xec3333ec), SkBits2Float(0xececf0ec)); // -1.67945e-20f, -2.42956e+24f, -1.67945e-20f, -2.28844e+27f, -8.66572e+26f, -2.29155e+27f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 2, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
static void fuzz763_25(skiatest::Reporter* reporter, const char* filename) {
@@ -7217,7 +7229,7 @@ path.close();
path.setFillType((SkPath::FillType) 0);
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
@@ -7276,7 +7288,7 @@ path.lineTo(SkBits2Float(0x68385b2d), SkBits2Float(0xf0682955)); // 3.48239e+24
path.close();
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_28(skiatest::Reporter* reporter, const char* filename) {
@@ -7314,7 +7326,7 @@ path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f
path.conicTo(SkBits2Float(0x212a8ced), SkBits2Float(0x0321081f), SkBits2Float(0x6a3a7bc0), SkBits2Float(0x2147ed7a), SkBits2Float(0x28282a3a)); // 5.77848e-19f, 4.7323e-37f, 5.63611e+25f, 6.77381e-19f, 9.33503e-15f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_27(skiatest::Reporter* reporter, const char* filename) {
@@ -7330,7 +7342,7 @@ path.quadTo(SkBits2Float(0xb8b8d5b8), SkBits2Float(0x0b0b0b03), SkBits2Float(0x0
path.quadTo(SkBits2Float(0xb8b8b8b8), SkBits2Float(0x0b1203b8), SkBits2Float(0x0b0b0b0b), SkBits2Float(0x3a3a2110)); // -8.80821e-05f, 2.81214e-32f, 2.67787e-32f, 0.000710026f
SkPath path2(path);
- testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
static void fuzz763_29(skiatest::Reporter* reporter, const char* filename) {
@@ -7362,7 +7374,7 @@ path.conicTo(SkBits2Float(0xde28804c), SkBits2Float(0x28e03721), SkBits2Float(0x
path.conicTo(SkBits2Float(0x556a2d21), SkBits2Float(0x21088c2a), SkBits2Float(0x3a333303), SkBits2Float(0x5b293a8a), SkBits2Float(0x6855683b)); // 1.60925e+13f, 4.62641e-19f, 0.000683591f, 4.76336e+16f, 4.03115e+24f
SkPath path2(path);
- testPathOpFail(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_30(skiatest::Reporter* reporter, const char* filename) {
@@ -7392,7 +7404,7 @@ path.quadTo(SkBits2Float(0x3ab38a28), SkBits2Float(0x3ac22c21), SkBits2Float(0x6
path.cubicTo(SkBits2Float(0x6d6d6d6d), SkBits2Float(0x6d6d6d6d), SkBits2Float(0x286d6d6d), SkBits2Float(0x081d2a29), SkBits2Float(0x6d690321), SkBits2Float(0x6b6b026d)); // 4.59251e+27f, 4.59251e+27f, 1.31799e-14f, 4.7295e-34f, 4.50711e+27f, 2.84109e+26f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 2, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
static struct TestDesc failTests[] = {
diff --git a/tests/PathOpsSimplifyFailTest.cpp b/tests/PathOpsSimplifyFailTest.cpp
index 977e47c1e4..4da43b8532 100644
--- a/tests/PathOpsSimplifyFailTest.cpp
+++ b/tests/PathOpsSimplifyFailTest.cpp
@@ -103,7 +103,7 @@ static void fuzz_59(skiatest::Reporter* reporter, const char* filename) {
path.lineTo(SkBits2Float(0x428c0000), SkBits2Float(0xce58f419)); // 70, -9.09969e+08f
path.lineTo(SkBits2Float(0x430c0000), SkBits2Float(0xce58f41c)); // 140, -9.09969e+08f
path.close();
- testSimplifyCheck(reporter, path, filename, true);
+ testSimplifyFuzz(reporter, path, filename);
}
static void fuzz_x1(skiatest::Reporter* reporter, const char* filename) {
diff --git a/tests/PathOpsSimplifyTest.cpp b/tests/PathOpsSimplifyTest.cpp
index af2e09d79f..fe43305cb4 100644
--- a/tests/PathOpsSimplifyTest.cpp
+++ b/tests/PathOpsSimplifyTest.cpp
@@ -5256,7 +5256,7 @@ static void tiger8a_h_1(skiatest::Reporter* reporter, const char* filename) {
#if DEBUG_UNDER_DEVELOPMENT // tiger
return;
#endif
- uint64_t testlines = 0x0000000202480001; // best so far: 0x0000001610031021;
+ uint64_t testlines = 0x0000004310528845; // best so far: 0x0000001d14c14bb1;
tiger8a_x(reporter, filename, testlines);
}
diff --git a/tools/pathops_sorter.htm b/tools/pathops_sorter.htm
index c83067c8bb..53c737ecd6 100644
--- a/tools/pathops_sorter.htm
+++ b/tools/pathops_sorter.htm
@@ -6,16 +6,11 @@
<title></title>
<div style="height:0">
-<div id="angle">
-{{{3.501392364501953125, 2.997215032577514648}, {3.501457691192626953, 2.997084617614746094}}} id=3
-{{{3.501392364501953125, 2.997215032577514648}, {3.503357251861000776, 2.995228720876561113}, {3.505322801636163721, 2.993241595853745718}, {3.507288694381713867, 2.99125361442565918}}} id=5
-{{{3.501392364501953125, 2.997215032577514648}, {3.373685992255707422, 3.126313863770498358}, {3.248105895472682469, 3.251894104527315754}, {3.125, 3.375}}} id=5
-</div>
-
-<div id="ref">
-{{{0.7153972983360290527, 4.712343692779541016}, {0.2472269223126296878, 4.55502436068874772}, {-0.1220090791716240131, 4.244018092892478222}, {0, 4}}},
-{{{0.7153972983360290527, 4.712343692779541016}, {0.1339736781445877156, 4.133975051508096854}, {0.7320473976783675729, 3.63397630116081638}, {2, 3}}},
-{{fX=-0.0012699038296868359 fY=-0.0012605104293301750 } {fX=-0.0025337575085910835 fY=-0.0025229424048465177 }
+<div id="coin">
+{{{492.59726f, 225.675842f}, {492.436249f, 225.168289f}, {492.444214f, 225.194092f}}} id=5
+{{{492.444214f, 225.194092f}, {492.465088f, 225.261765f}, {492.495178f, 225.325806f}}} id=6
+{{{492.451324f, 225.216217f}, {491.100708f, 221.164124f}, {494.21756f, 218.78064f}}} id=1
+{{{493.399994f, 224.899994f}, {492.451324f, 225.216217f}}} id=9
</div>
</div>
@@ -23,8 +18,7 @@
<script type="text/javascript">
var testDivs = [
- angle,
- ref,
+ coin,
];
var decimal_places = 3;
diff --git a/tools/pathops_visualizer.htm b/tools/pathops_visualizer.htm
index 30140ad4b6..6fc5566441 100644
--- a/tools/pathops_visualizer.htm
+++ b/tools/pathops_visualizer.htm
@@ -2,698 +2,2078 @@
<head>
<div height="0" hidden="true">
-<div id="cubics_d3">
-seg=1 {{{3, 4}, {1.5f, 5}, {2.25f, 4.25f}, {3.125f, 3.375f}}}
-seg=2 {{{3.125f, 3.375f}, {4, 2.5f}, {5, 1.5f}, {4, 2}}}
-seg=3 {{{4, 2}, {3, 4}}}
+Skia UnitTests: --match PathOpsOp$ --resourcePath resources\ SK_DEBUG
+
+<div id="cubicOp158">
+seg=1 {{{0, 1}, {2, 4}, {2, 0}, {2, 0}}}
+seg=2 {{{2, 0}, {0, 1}}}
+op diff
+seg=3 {{{0, 2}, {0, 2}, {1, 0}, {4, 2}}}
+seg=4 {{{4, 2}, {0, 2}}}
+debugShowCubicLineIntersection wtTs[0]=0 {{{0,1}, {2,4}, {2,0}, {2,0}}} {{0,1}} wtTs[1]=1 {{2,0}} wnTs[0]=1 {{{2,0}, {0,1}}} wnTs[1]=0
+debugShowCubicIntersection wtTs[0]=0.0706687377 {{{0,1}, {2,4}, {2,0}, {2,0}}} {{0.394753844,1.53502536}} wtTs[1]=0.620977139 {{1.89110041,1.1249522}} wnTs[0]=0.343603 {{{0,2}, {0,2}, {1,0}, {4,2}}} wnTs[1]=0.713607334
+SkOpSegment::addT insert t=0.0706687377 segID=1 spanID=9
+SkOpSegment::addT insert t=0.343602514 segID=3 spanID=10
+SkOpSegment::addT insert t=0.620977139 segID=1 spanID=11
+SkOpSegment::addT insert t=0.713607334 segID=3 spanID=12
+debugShowCubicLineIntersection wtTs[0]=0.178517901 {{{0,1}, {2,4}, {2,0}, {2,0}}} {{0.891273797,2}} wtTs[1]=0.375922451 {{1.51387751,2}} wnTs[0]=0.777182 {{{4,2}, {0,2}}} wnTs[1]=0.621530611
+SkOpSegment::addT insert t=0.178517901 segID=1 spanID=13
+SkOpSegment::addT insert t=0.777181549 segID=4 spanID=14
+SkOpSegment::addT insert t=0.375922451 segID=1 spanID=15
+SkOpSegment::addT insert t=0.621530611 segID=4 spanID=16
+debugShowCubicLineIntersection wtTs[0]=0 {{{0,2}, {0,2}, {1,0}, {4,2}}} {{0,2}} wtTs[1]=1 {{4,2}} wnTs[0]=1 {{{4,2}, {0,2}}} wnTs[1]=0
+---------------------------------- start
+active after start:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- addExpanded
+active after addExpanded:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- moveMultiples
+active after moveMultiples:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- moveNearby
+active after moveNearby:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- addEndMovedSpans
+active after addEndMovedSpans:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- addMissing2
+active after addMissing2:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- moveNearby2
+active after moveNearby2:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- expand2
+active after expand2:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- addExpanded3
+active after addExpanded3:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- mark1
+active after mark1:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- missingCoincidence2
+active after missingCoincidence2:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- missingCoincidence3
+active after missingCoincidence3:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- coincidence.reorder
+active after coincidence.reorder:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- pairs->apply
+active after pairs->apply:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- pairs->findOverlaps
+active after pairs->findOverlaps:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+SkOpSegment::sortAngles [1] tStart=0.0706687377 [9]
+SkOpAngle::after [1/1] 9/9 tStart=0.0706687377 tEnd=0 < [3/9] 17/21 tStart=0.343602514 tEnd=0 < [1/2] 25/29 tStart=0.0706687377 tEnd=0.178517901 T 4
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.272687665,1.38905229}, {0.14133834,1.21200454}, {0,1}}} id=1
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.118062696,1.76387462}, {0,2}, {0,2}}} id=3
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.58104399,1.75779395}, {0.745714347,1.90818586}, {0.891273797,2}}} id=1
+SkOpAngle::after [1/1] 9/9 tStart=0.0706687377 tEnd=0 < [3/10] 1/1 tStart=0.343602514 tEnd=0.713607334 < [3/9] 17/21 tStart=0.343602514 tEnd=0 F 4
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.272687665,1.38905229}, {0.14133834,1.21200454}, {0,1}}} id=1
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.692707644,1.28858792}, {1.17460454,1.05058743}, {1.89110041,1.1249522}}} id=3
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.118062696,1.76387462}, {0,2}, {0,2}}} id=3
+SkOpAngle::after [3/9] 17/21 tStart=0.343602514 tEnd=0 < [3/10] 1/1 tStart=0.343602514 tEnd=0.713607334 < [1/2] 25/29 tStart=0.0706687377 tEnd=0.178517901 F 4
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.118062696,1.76387462}, {0,2}, {0,2}}} id=3
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.692707644,1.28858792}, {1.17460454,1.05058743}, {1.89110041,1.1249522}}} id=3
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.58104399,1.75779395}, {0.745714347,1.90818586}, {0.891273797,2}}} id=1
+SkOpAngle::after [1/2] 25/29 tStart=0.0706687377 tEnd=0.178517901 < [3/10] 1/1 tStart=0.343602514 tEnd=0.713607334 < [1/1] 9/9 tStart=0.0706687377 tEnd=0 T 4
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.58104399,1.75779395}, {0.745714347,1.90818586}, {0.891273797,2}}} id=1
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.692707644,1.28858792}, {1.17460454,1.05058743}, {1.89110041,1.1249522}}} id=3
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.272687665,1.38905229}, {0.14133834,1.21200454}, {0,1}}} id=1
+SkOpSegment::sortAngles [1] tStart=0.178517901 [13]
+SkOpAngle::after [1/3] 13/13 tStart=0.178517901 tEnd=0.0706687377 < [4/15] 31/31 tStart=0.777181549 tEnd=0.621530611 < [1/4] 29/30 tStart=0.178517901 tEnd=0.375922451 F 4
+SkOpAngle::afterPart {{{0.891273797,2}, {0.745713483,1.90818753}, {0.581043126,1.75779562}, {0.394753844,1.53502536}}} id=1
+SkOpAngle::afterPart {{{0.891273797,2}, {1.51387751,2}}} id=4
+SkOpAngle::afterPart {{{0.891273797,2}, {1.15770394,2.16805137}, {1.36011011,2.13984528}, {1.51387751,2}}} id=1
+SkOpAngle::after [1/3] 13/13 tStart=0.178517901 tEnd=0.0706687377 < [4/16] 15/15 tStart=0.777181549 tEnd=1 < [1/4] 29/30 tStart=0.178517901 tEnd=0.375922451 T 4
+SkOpAngle::afterPart {{{0.891273797,2}, {0.745713483,1.90818753}, {0.581043126,1.75779562}, {0.394753844,1.53502536}}} id=1
+SkOpAngle::afterPart {{{0.891273797,2}, {0,2}}} id=4
+SkOpAngle::afterPart {{{0.891273797,2}, {1.15770394,2.16805137}, {1.36011011,2.13984528}, {1.51387751,2}}} id=1
+SkOpSegment::sortAngles [1] tStart=0.375922451 [15]
+SkOpAngle::after [1/5] 17/16 tStart=0.375922451 tEnd=0.178517901 < [4/13] 31/31 tStart=0.621530611 tEnd=0 < [1/6] 1/5 tStart=0.375922451 tEnd=0.620977139 T 4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.36011011,2.13984528}, {1.15770394,2.16805137}, {0.891273797,2}}} id=1
+SkOpAngle::afterPart {{{1.51387751,2}, {4,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.70476178,1.82639842}, {1.82069211,1.48075721}, {1.89110041,1.1249522}}} id=1
+SkOpAngle::after [1/5] 17/16 tStart=0.375922451 tEnd=0.178517901 < [4/14] 15/15 tStart=0.621530611 tEnd=0.777181549 < [4/13] 31/31 tStart=0.621530611 tEnd=0 F 4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.36011011,2.13984528}, {1.15770394,2.16805137}, {0.891273797,2}}} id=1
+SkOpAngle::afterPart {{{1.51387751,2}, {0.891273797,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {4,2}}} id=4
+SkOpAngle::after [4/13] 31/31 tStart=0.621530611 tEnd=0 < [4/14] 15/15 tStart=0.621530611 tEnd=0.777181549 < [1/6] 1/5 tStart=0.375922451 tEnd=0.620977139 F 4
+SkOpAngle::afterPart {{{1.51387751,2}, {4,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {0.891273797,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.70476178,1.82639842}, {1.82069211,1.48075721}, {1.89110041,1.1249522}}} id=1
+SkOpAngle::after [1/6] 1/5 tStart=0.375922451 tEnd=0.620977139 < [4/14] 15/15 tStart=0.621530611 tEnd=0.777181549 < [1/5] 17/16 tStart=0.375922451 tEnd=0.178517901 T 4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.70476178,1.82639842}, {1.82069211,1.48075721}, {1.89110041,1.1249522}}} id=1
+SkOpAngle::afterPart {{{1.51387751,2}, {0.891273797,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.36011011,2.13984528}, {1.15770394,2.16805137}, {0.891273797,2}}} id=1
+SkOpSegment::sortAngles [1] tStart=0.620977139 [11]
+SkOpAngle::after [1/7] 21/21 tStart=0.620977139 tEnd=0.375922451 < [3/11] 13/17 tStart=0.713607334 tEnd=0.343602514 < [1/8] 5/5 tStart=0.620977139 tEnd=1 F 4
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.82069211,1.48075721}, {1.70476178,1.82639842}, {1.51387751,2}}} id=1
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.17460454,1.05058743}, {0.692707644,1.28858792}, {0.394754708,1.53502369}}} id=3
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.99999999,0.574633264}, {2,0}, {2,0}}} id=1
+SkOpAngle::after [1/7] 21/21 tStart=0.620977139 tEnd=0.375922451 < [3/12] 29/29 tStart=0.713607334 tEnd=1 < [1/8] 5/5 tStart=0.620977139 tEnd=1 T 4
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.82069211,1.48075721}, {1.70476178,1.82639842}, {1.51387751,2}}} id=1
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {2.44568551,1.18251232}, {3.140822,1.42721467}, {4,2}}} id=3
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.99999999,0.574633264}, {2,0}, {2,0}}} id=1
+SkOpSegment::sortAngles [3] tStart=0.343602514 [10]
+SkOpSegment::sortAngles [3] tStart=0.713607334 [12]
+SkOpSegment::sortAngles [4] tStart=0.621530611 [16]
+SkOpSegment::sortAngles [4] tStart=0.777181549 [14]
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+SkOpSpan::sortableTop dir=kLeft seg=1 t=0.0353343689 pt=(0.204603344,1.29227567)
+SkOpSpan::sortableTop [0] valid=1 operand=0 span=1 ccw=0 seg=1 {{{0, 1}, {2, 4}, {2, 0}, {2, 0}}} t=0.0353343689 pt=(0.204603344,1.29227567) slope=(5.58347868,7.55715759)
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0 [1] (0,1) tEnd=0.0706687377 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0 [1] (0,1) tEnd=0.0706687377 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=2 (2,0 0,1) t=0 [3] (2,0) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.620977139 [11] (1.89110041,1.1249522) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::activeOp id=1 t=0.0706687377 tEnd=0 op=diff miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
+SkOpSegment::findNextOp simple
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0 [1] (0,1) tEnd=0.0706687377 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+bridgeOp current id=1 from=(0.394753844,1.53502536) to=(0,1)
+path.moveTo(0.394753844,1.53502536);
+path.cubicTo(0.272686809,1.38905394, 0.141337469,1.21200621, 0,1);
+SkOpSegment::findNextOp simple
+SkOpSegment::markDone id=2 (2,0 0,1) t=0 [3] (2,0) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+bridgeOp current id=2 from=(0,1) to=(2,0)
+SkOpSegment::markWinding id=3 (0,2 0,2 1,0 4,2) t=0.343602514 [10] (0.394754708,1.53502369) tEnd=0.713607334 newWindSum=-1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=3 span=10 windSum=-1
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.375922451 [15] (1.51387751,2) tEnd=0.620977139 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=1 span=15 windSum=1
+SkOpSegment::markWinding id=3 (0,2 0,2 1,0 4,2) t=0.713607334 [12] (1.89110041,1.1249522) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=4 (4,2 0,2) t=0 [7] (4,2) tEnd=0.621530611 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=4 span=16 windSum=?
+SkOpSegment::findNextOp
+SkOpAngle::dumpOne [1/8] next=3/11 sect=5/5 s=0.620977139 [11] e=1 [2] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [3/11] next=1/7 sect=13/17 s=0.713607334 [12] e=0.343602514 [10] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
+SkOpAngle::dumpOne [1/7] next=3/12 sect=21/21 s=0.620977139 [11] e=0.375922451 [15] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=-1
+SkOpAngle::dumpOne [3/12] next=1/8 sect=29/29 s=0.713607334 [12] e=1 [6] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
+SkOpSegment::activeOp id=3 t=0.713607334 tEnd=0.343602514 op=diff miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
+SkOpSegment::findNextOp chase.append segment=3 span=10 windSum=-1
+SkOpSegment::activeOp id=1 t=0.620977139 tEnd=0.375922451 op=diff miFrom=1 miTo=0 suFrom=1 suTo=1 result=0
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.375922451 [15] (1.51387751,2) tEnd=0.620977139 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=1 span=15 windSum=1
+SkOpSegment::activeOp id=3 t=0.713607334 tEnd=1 op=diff miFrom=0 miTo=0 suFrom=1 suTo=0 result=0
+SkOpSegment::markDone id=3 (0,2 0,2 1,0 4,2) t=0.713607334 [12] (1.89110041,1.1249522) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=4 (4,2 0,2) t=0 [7] (4,2) tEnd=0.621530611 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=4 span=16 windSum=-2147483647
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.620977139 [11] (1.89110041,1.1249522) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp from:[1] to:[3] start=18149624 end=18149400
+bridgeOp current id=1 from=(2,0) to=(1.89110041,1.1249522)
+path.lineTo(2,0);
+path.cubicTo(2,0, 2,0.574633241, 1.89110041,1.1249522);
+SkOpSegment::markWinding id=3 (0,2 0,2 1,0 4,2) t=0 [5] (0,2) tEnd=0.343602514 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=4 (4,2 0,2) t=0.777181549 [14] (0.891273797,2) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=4 span=14 windSum=-1
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.0706687377 [9] (0.394753844,1.53502536) tEnd=0.178517901 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=1 span=13 windSum=?
+SkOpSegment::findNextOp
+SkOpAngle::dumpOne [3/10] next=1/1 sect=1/1 s=0.343602514 [10] e=0.713607334 [12] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
+SkOpAngle::dumpOne [1/1] next=3/9 sect=9/9 s=0.0706687377 [9] e=0 [1] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [3/9] next=1/2 sect=17/21 s=0.343602514 [10] e=0 [5] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
+SkOpAngle::dumpOne [1/2] next=3/10 sect=25/29 s=0.0706687377 [9] e=0.178517901 [13] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=-1
+SkOpSegment::activeOp id=1 t=0.0706687377 tEnd=0 op=diff miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
+SkOpSegment::activeOp id=3 t=0.343602514 tEnd=0 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
+SkOpSegment::markDone id=3 (0,2 0,2 1,0 4,2) t=0 [5] (0,2) tEnd=0.343602514 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=4 (4,2 0,2) t=0.777181549 [14] (0.891273797,2) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=4 span=14 windSum=-1
+SkOpSegment::activeOp id=1 t=0.0706687377 tEnd=0.178517901 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.0706687377 [9] (0.394753844,1.53502536) tEnd=0.178517901 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=1 span=13 windSum=-2147483647
+SkOpSegment::markDone id=3 (0,2 0,2 1,0 4,2) t=0.343602514 [10] (0.394754708,1.53502369) tEnd=0.713607334 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp from:[3] to:[1] start=18149288 end=129364480
+bridgeOp current id=3 from=(1.89110041,1.1249522) to=(0.394754708,1.53502369)
+path.cubicTo(1.17460454,1.05058742, 0.692707658,1.28858793, 0.394754708,1.53502369);
+SkOpSegment::findNextOp simple
+c:\puregit\src\pathops\skopsegment.cpp:164: fatal error: "assert((this->globalState() && (this->globalState()->debugCheckHealth() || this->globalState()->debugSkipAssert())) || (!fail))"
+pathops_unittest.exe has triggered a breakpoint.
+</div>
+
+<div id="cubicOp158ref">
+seg=1 {{{0, 1}, {2, 4}, {2, 0}, {2, 0}}}
+seg=2 {{{2, 0}, {0, 1}}}
op diff
-seg=4 {{{1, 6}, {1.5f, 5}, {2.25f, 4.25f}, {3.125f, 3.375f}}}
-seg=5 {{{3.125f, 3.375f}, {4, 2.5f}, {5, 1.5f}, {6, 0}}}
-seg=6 {{{6, 0}, {1, 6}}}
-debugShowCubicIntersection wtTs[0]=1 {{{1,6}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{3.125,3.375}} wnTs[0]=0 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {6,0}}}
-debugShowCubicLineIntersection wtTs[0]=0 {{{1,6}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{1,6}} wnTs[0]=1 {{{6,0}, {1,6}}}
-debugShowCubicLineIntersection wtTs[0]=0.142857143 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {6,0}}} {{3.50728869,2.99125361}} wtTs[1]=1 {{6,0}} wnTs[0]=0.498542 {{{6,0}, {1,6}}} wnTs[1]=0
-SkOpSegment::addT insert t=0.142857143 segID=5 spanID=13
-SkOpSegment::addT insert t=0.498542274 segID=6 spanID=14
-debugShowCubicIntersection wtTs[0]=1 {{{1,6}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{3.125,3.375}} wnTs[0]=1 {{{3,4}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}}
-debugShowCubicIntersection wtTs[0]=1 {{{1,6}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{3.125,3.375}} wnTs[0]=0 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {4,2}}}
-debugShowCubicLineIntersection no intersect {{{1,6}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{{4,2}, {3,4}}}
-debugShowCubicIntersection wtTs[0]=0 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {6,0}}} {{3.125,3.375}} wnTs[0]=1 {{{3,4}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}}
-debugShowCubicIntersection wtTs[0]=0 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {6,0}}} {{3.125,3.375}} wnTs[0]=0 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {4,2}}}
-debugShowCubicLineIntersection wtTs[0]=0.140692452 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {6,0}}} {{3.50139236,2.99721503}} wnTs[0]=0.498608 {{{4,2}, {3,4}}}
-SkOpSegment::addT insert t=0.140692452 segID=5 spanID=15
-SkOpSegment::addT insert t=0.498607541 segID=3 spanID=16
-debugShowCubicLineIntersection wtTs[0]=0.220070773 {{{3,4}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{2.31394291,4.42326832}} wnTs[0]=0.737211 {{{6,0}, {1,6}}}
-SkOpSegment::addT insert t=0.737211419 segID=6 spanID=17
-SkOpSegment::addT insert t=0.220070773 segID=1 spanID=18
-debugShowCubicLineIntersection wtTs[0]=0.145241853 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {4,2}}} {{3.50765967,2.99080825}} wtTs[1]=0.715768455 {{4.41676426,1.89988291}} wnTs[0]=0.498468 {{{6,0}, {1,6}}} wnTs[1]=0.316647149
-SkOpSegment::addT insert t=0.498468047 segID=6 spanID=19
-SkOpSegment::addT insert t=0.145241853 segID=2 spanID=20
-SkOpSegment::addT insert t=0.316647149 segID=6 spanID=21
-SkOpSegment::addT insert t=0.715768455 segID=2 spanID=22
-debugShowLineIntersection wtTs[0]=0.5 {{{6,0}, {1,6}}} {{3.5,3}} wnTs[0]=0.5 {{{4,2}, {3,4}}}
-SkOpSegment::addT insert t=0.5 segID=6 spanID=23
-SkOpSegment::addT insert t=0.5 segID=3 spanID=24
-debugShowCubicIntersection wtTs[0]=1 {{{3,4}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{3.125,3.375}} wnTs[0]=0 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {4,2}}}
-debugShowCubicLineIntersection wtTs[0]=0 {{{3,4}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{3,4}} wnTs[0]=1 {{{4,2}, {3,4}}}
-debugShowCubicLineIntersection wtTs[0]=0.142857143 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {4,2}}} {{3.50145769,2.99708462}} wtTs[1]=1 {{4,2}} wnTs[0]=0.498542 {{{4,2}, {3,4}}} wnTs[1]=0
-SkOpSegment::addT insert t=0.142857143 segID=2 spanID=25
-SkOpSegment::addT insert t=0.498542274 segID=3 spanID=26
+seg=3 {{{0, 2}, {0, 2}, {1, 0}, {4, 2}}}
+seg=4 {{{4, 2}, {0, 2}}}
+debugShowCubicLineIntersection wtTs[0]=0 {{{0,1}, {2,4}, {2,0}, {2,0}}} {{0,1}} wtTs[1]=1 {{2,0}} wnTs[0]=1 {{{2,0}, {0,1}}} wnTs[1]=0
+debugShowCubicIntersection wtTs[0]=0.0706686482 {{{0,1}, {2,4}, {2,0}, {2,0}}} {{0.394753397,1.53502476}} wtTs[1]=0.620977139 {{1.89110041,1.1249522}} wnTs[0]=0.343602 {{{0,2}, {0,2}, {1,0}, {4,2}}} wnTs[1]=0.713607334
+SkOpSegment::addT insert t=0.0706686482 segID=1 spanID=9
+SkOpSegment::addT insert t=0.343601972 segID=3 spanID=10
+SkOpSegment::addT insert t=0.620977139 segID=1 spanID=11
+SkOpSegment::addT insert t=0.713607334 segID=3 spanID=12
+debugShowCubicLineIntersection wtTs[0]=0.178517901 {{{0,1}, {2,4}, {2,0}, {2,0}}} {{0.891273797,2}} wtTs[1]=0.375922451 {{1.51387751,2}} wnTs[0]=0.777182 {{{4,2}, {0,2}}} wnTs[1]=0.621530611
+SkOpSegment::addT insert t=0.178517901 segID=1 spanID=13
+SkOpSegment::addT insert t=0.777181549 segID=4 spanID=14
+SkOpSegment::addT insert t=0.375922451 segID=1 spanID=15
+SkOpSegment::addT insert t=0.621530611 segID=4 spanID=16
+debugShowCubicLineIntersection wtTs[0]=0 {{{0,2}, {0,2}, {1,0}, {4,2}}} {{0,2}} wtTs[1]=1 {{4,2}} wnTs[0]=1 {{{4,2}, {0,2}}} wnTs[1]=0
--------------------------------- start
active after start:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- addExpanded
active after addExpanded:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- moveMultiples
active after moveMultiples:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- moveNearby
active after moveNearby:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- addEndMovedSpans
active after addEndMovedSpans:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- addMissing2
active after addMissing2:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- moveNearby2
active after moveNearby2:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- expand2
active after expand2:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- addExpanded3
active after addExpanded3:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- mark1
active after mark1:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- missingCoincidence2
active after missingCoincidence2:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- missingCoincidence3
active after missingCoincidence3:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- coincidence.reorder
active after coincidence.reorder:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- pairs->apply
active after pairs->apply:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- pairs->findOverlaps
active after pairs->findOverlaps:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
-SkOpSegment::sortAngles [4] tStart=1 [8]
-SkOpAngle::after [4/1] 20/21 tStart=1 tEnd=0 < [1/19] 20/21 tStart=1 tEnd=0.220070773 < [2/20] 4/5 tStart=0 tEnd=0.142857143 T 12
-SkOpAngle::afterPart {{{3.125,3.375}, {2.25,4.25}, {1.5,5}, {1,6}}} id=4
-SkOpAngle::afterPart {{{3.125,3.375}, {2.44256193,4.05743807}, {1.83616005,4.66383975}, {2.31394291,4.42326832}}} id=1
-SkOpAngle::afterPart {{{3.125,3.375}, {3.25,3.25}, {3.37755099,3.12244905}, {3.50145769,2.99708462}}} id=2
-SkOpAngle::after [4/1] 20/21 tStart=1 tEnd=0 < [5/2] 4/5 tStart=0 tEnd=0.140692452 < [1/19] 20/21 tStart=1 tEnd=0.220070773 F 5
-SkOpAngle::afterPart {{{3.125,3.375}, {2.25,4.25}, {1.5,5}, {1,6}}} id=4
-SkOpAngle::afterPart {{{3.125,3.375}, {3.2481059,3.2518941}, {3.37368599,3.12631386}, {3.50139236,2.99721503}}} id=5
-SkOpAngle::afterPart {{{3.125,3.375}, {2.44256193,4.05743807}, {1.83616005,4.66383975}, {2.31394291,4.42326832}}} id=1
-SkOpAngle::after [1/19] 20/21 tStart=1 tEnd=0.220070773 < [5/2] 4/5 tStart=0 tEnd=0.140692452 < [2/20] 4/5 tStart=0 tEnd=0.142857143 T 11
-SkOpAngle::afterPart {{{3.125,3.375}, {2.44256193,4.05743807}, {1.83616005,4.66383975}, {2.31394291,4.42326832}}} id=1
-SkOpAngle::afterPart {{{3.125,3.375}, {3.2481059,3.2518941}, {3.37368599,3.12631386}, {3.50139236,2.99721503}}} id=5
-SkOpAngle::afterPart {{{3.125,3.375}, {3.25,3.25}, {3.37755099,3.12244905}, {3.50145769,2.99708462}}} id=2
-SkOpSegment::sortAngles [5] tStart=0 [9]
-SkOpSegment::sortAngles [5] tStart=0.140692452 [15]
-SkOpAngle::after [5/3] 21/21 tStart=0.140692452 tEnd=0 < [3/29] 5/5 tStart=0.498607541 tEnd=0.498542274 < [5/4] 5/5 tStart=0.140692452 tEnd=0.142857143 T 11
-SkOpAngle::afterPart {{{3.50139236,2.99721503}, {3.37368599,3.12631386}, {3.2481059,3.2518941}, {3.125,3.375}}} id=5
-SkOpAngle::afterPart {{{3.50139236,2.99721503}, {3.50145769,2.99708462}}} id=3
-SkOpAngle::afterPart {{{3.50139236,2.99721503}, {3.50335725,2.99522872}, {3.5053228,2.9932416}, {3.50728869,2.99125361}}} id=5
-SkOpAngle::after [5/3] 21/21 tStart=0.140692452 tEnd=0 < [3/30] 21/21 tStart=0.498607541 tEnd=0.5 < [3/29] 5/5 tStart=0.498607541 tEnd=0.498542274 T 12
-SkOpAngle::afterPart {{{3.50139236,2.99721503}, {3.37368599,3.12631386}, {3.2481059,3.2518941}, {3.125,3.375}}} id=5
-SkOpAngle::afterPart {{{3.50139236,2.99721503}, {3.5,3}}} id=3
-SkOpAngle::afterPart {{{3.50139236,2.99721503}, {3.50145769,2.99708462}}} id=3
-SkOpSegment::sortAngles [5] tStart=0.142857143 [13]
-SkOpAngle::after [5/5] 21/21 tStart=0.142857143 tEnd=0.140692452 < [6/11] 5/5 tStart=0.498542274 tEnd=0.498468047 < [5/6] 5/5 tStart=0.142857143 tEnd=1 F 11
-SkOpAngle::afterPart {{{3.50728869,2.99125361}, {3.5053228,2.9932416}, {3.50335725,2.99522872}, {3.50139236,2.99721503}}} id=5
-SkOpAngle::afterPart {{{3.50728869,2.99125361}, {3.50765967,2.99080825}}} id=6
-SkOpAngle::afterPart {{{3.50728869,2.99125361}, {4.28571435,2.2040816}, {5.14285714,1.28571429}, {6,0}}} id=5
-SkOpAngle::after [5/5] 21/21 tStart=0.142857143 tEnd=0.140692452 < [6/12] 21/21 tStart=0.498542274 tEnd=0.5 < [5/6] 5/5 tStart=0.142857143 tEnd=1 T 12
-SkOpAngle::afterPart {{{3.50728869,2.99125361}, {3.5053228,2.9932416}, {3.50335725,2.99522872}, {3.50139236,2.99721503}}} id=5
-SkOpAngle::afterPart {{{3.50728869,2.99125361}, {3.5,3}}} id=6
-SkOpAngle::afterPart {{{3.50728869,2.99125361}, {4.28571435,2.2040816}, {5.14285714,1.28571429}, {6,0}}} id=5
-SkOpSegment::sortAngles [6] tStart=0.316647149 [21]
-SkOpAngle::after [6/7] 5/5 tStart=0.316647149 tEnd=0 < [2/25] 25/21 tStart=0.715768455 tEnd=0.145241853 < [6/8] 21/21 tStart=0.316647149 tEnd=0.498468047 F 11
-SkOpAngle::afterPart {{{4.41676426,1.89988291}, {6,0}}} id=6
-SkOpAngle::afterPart {{{4.41676426,1.89988291}, {4.43658858,2.02620596}, {4.00201137,2.49043886}, {3.50765967,2.99080825}}} id=2
-SkOpAngle::afterPart {{{4.41676426,1.89988291}, {3.50765967,2.99080825}}} id=6
-SkOpAngle::after [6/7] 5/5 tStart=0.316647149 tEnd=0 < [2/26] 9/17 tStart=0.715768455 tEnd=1 < [6/8] 21/21 tStart=0.316647149 tEnd=0.498468047 T 4
-SkOpAngle::afterPart {{{4.41676426,1.89988291}, {6,0}}} id=6
-SkOpAngle::afterPart {{{4.41676426,1.89988291}, {4.40688795,1.83694983}, {4.28423154,1.85788423}, {4,2}}} id=2
-SkOpAngle::afterPart {{{4.41676426,1.89988291}, {3.50765967,2.99080825}}} id=6
-SkOpSegment::sortAngles [6] tStart=0.498468047 [19]
-SkOpAngle::after [6/9] 5/5 tStart=0.498468047 tEnd=0.316647149 < [2/23] 21/21 tStart=0.145241853 tEnd=0.142857143 < [6/10] 21/21 tStart=0.498468047 tEnd=0.498542274 T 11
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {4.41676426,1.89988291}}} id=6
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {3.50559336,2.99289971}, {3.50352606,2.99499191}, {3.50145769,2.99708462}}} id=2
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {3.50728869,2.99125361}}} id=6
-SkOpAngle::after [6/9] 5/5 tStart=0.498468047 tEnd=0.316647149 < [2/24] 5/5 tStart=0.145241853 tEnd=0.715768455 < [2/23] 21/21 tStart=0.145241853 tEnd=0.142857143 F 12
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {4.41676426,1.89988291}}} id=6
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {4.00201137,2.49043886}, {4.43658858,2.02620596}, {4.41676426,1.89988291}}} id=2
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {3.50559336,2.99289971}, {3.50352606,2.99499191}, {3.50145769,2.99708462}}} id=2
-SkOpAngle::after [2/23] 21/21 tStart=0.145241853 tEnd=0.142857143 < [2/24] 5/5 tStart=0.145241853 tEnd=0.715768455 < [6/10] 21/21 tStart=0.498468047 tEnd=0.498542274 F 5
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {3.50559336,2.99289971}, {3.50352606,2.99499191}, {3.50145769,2.99708462}}} id=2
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {4.00201137,2.49043886}, {4.43658858,2.02620596}, {4.41676426,1.89988291}}} id=2
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {3.50728869,2.99125361}}} id=6
-SkOpAngle::after [6/10] 21/21 tStart=0.498468047 tEnd=0.498542274 < [2/24] 5/5 tStart=0.145241853 tEnd=0.715768455 < [6/9] 5/5 tStart=0.498468047 tEnd=0.316647149 T 11
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {3.50728869,2.99125361}}} id=6
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {4.00201137,2.49043886}, {4.43658858,2.02620596}, {4.41676426,1.89988291}}} id=2
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {4.41676426,1.89988291}}} id=6
-SkOpSegment::sortAngles [6] tStart=0.498542274 [14]
-SkOpSegment::sortAngles [6] tStart=0.5 [23]
-SkOpAngle::after [6/13] 5/5 tStart=0.5 tEnd=0.498542274 < [3/31] 5/5 tStart=0.5 tEnd=0.498607541 < [6/14] 21/21 tStart=0.5 tEnd=0.737211419 T 12
-SkOpAngle::afterPart {{{3.5,3}, {3.50728869,2.99125361}}} id=6
-SkOpAngle::afterPart {{{3.5,3}, {3.50139236,2.99721503}}} id=3
-SkOpAngle::afterPart {{{3.5,3}, {2.31394291,4.42326832}}} id=6
-SkOpAngle::after [6/13] 5/5 tStart=0.5 tEnd=0.498542274 < [3/32] 21/21 tStart=0.5 tEnd=1 < [3/31] 5/5 tStart=0.5 tEnd=0.498607541 F 5
-SkOpAngle::afterPart {{{3.5,3}, {3.50728869,2.99125361}}} id=6
-SkOpAngle::afterPart {{{3.5,3}, {3,4}}} id=3
-SkOpAngle::afterPart {{{3.5,3}, {3.50139236,2.99721503}}} id=3
-SkOpAngle::after [3/31] 5/5 tStart=0.5 tEnd=0.498607541 < [3/32] 21/21 tStart=0.5 tEnd=1 < [6/14] 21/21 tStart=0.5 tEnd=0.737211419 F 11
-SkOpAngle::afterPart {{{3.5,3}, {3.50139236,2.99721503}}} id=3
-SkOpAngle::afterPart {{{3.5,3}, {3,4}}} id=3
-SkOpAngle::afterPart {{{3.5,3}, {2.31394291,4.42326832}}} id=6
-SkOpAngle::after [6/14] 21/21 tStart=0.5 tEnd=0.737211419 < [3/32] 21/21 tStart=0.5 tEnd=1 < [6/13] 5/5 tStart=0.5 tEnd=0.498542274 T 12
-SkOpAngle::afterPart {{{3.5,3}, {2.31394291,4.42326832}}} id=6
-SkOpAngle::afterPart {{{3.5,3}, {3,4}}} id=3
-SkOpAngle::afterPart {{{3.5,3}, {3.50728869,2.99125361}}} id=6
-SkOpSegment::sortAngles [6] tStart=0.737211419 [17]
-SkOpAngle::after [6/15] 5/5 tStart=0.737211419 tEnd=0.5 < [1/17] 1/1 tStart=0.220070773 tEnd=0 < [6/16] 21/21 tStart=0.737211419 tEnd=1 F 4
-SkOpAngle::afterPart {{{2.31394291,4.42326832}, {3.5,3}}} id=6
-SkOpAngle::afterPart {{{2.31394291,4.42326832}, {2.44875776,4.35538685}, {2.66989384,4.22007077}, {3,4}}} id=1
-SkOpAngle::afterPart {{{2.31394291,4.42326832}, {1,6}}} id=6
-SkOpAngle::after [6/15] 5/5 tStart=0.737211419 tEnd=0.5 < [1/18] 17/5 tStart=0.220070773 tEnd=1 < [6/16] 21/21 tStart=0.737211419 tEnd=1 T 12
-SkOpAngle::afterPart {{{2.31394291,4.42326832}, {3.5,3}}} id=6
-SkOpAngle::afterPart {{{2.31394291,4.42326832}, {1.83616005,4.66383975}, {2.44256193,4.05743807}, {3.125,3.375}}} id=1
-SkOpAngle::afterPart {{{2.31394291,4.42326832}, {1,6}}} id=6
-SkOpSegment::sortAngles [1] tStart=0.220070773 [18]
-SkOpSegment::sortAngles [1] tStart=1 [2]
-SkOpSegment::sortAngles [2] tStart=0 [3]
-SkOpSegment::sortAngles [2] tStart=0.142857143 [25]
-SkOpAngle::after [2/21] 21/21 tStart=0.142857143 tEnd=0 < [3/27] 5/5 tStart=0.498542274 tEnd=0 < [2/22] 5/5 tStart=0.142857143 tEnd=0.145241853 F 11
-SkOpAngle::afterPart {{{3.50145769,2.99708462}, {3.37755099,3.12244905}, {3.25,3.25}, {3.125,3.375}}} id=2
-SkOpAngle::afterPart {{{3.50145769,2.99708462}, {4,2}}} id=3
-SkOpAngle::afterPart {{{3.50145769,2.99708462}, {3.50352606,2.99499191}, {3.50559336,2.99289971}, {3.50765967,2.99080825}}} id=2
-SkOpAngle::after [2/21] 21/21 tStart=0.142857143 tEnd=0 < [3/28] 21/21 tStart=0.498542274 tEnd=0.498607541 < [2/22] 5/5 tStart=0.142857143 tEnd=0.145241853 T 12
-SkOpAngle::afterPart {{{3.50145769,2.99708462}, {3.37755099,3.12244905}, {3.25,3.25}, {3.125,3.375}}} id=2
-SkOpAngle::afterPart {{{3.50145769,2.99708462}, {3.50139236,2.99721503}}} id=3
-SkOpAngle::afterPart {{{3.50145769,2.99708462}, {3.50352606,2.99499191}, {3.50559336,2.99289971}, {3.50765967,2.99080825}}} id=2
-SkOpSegment::sortAngles [2] tStart=0.145241853 [20]
-SkOpSegment::sortAngles [2] tStart=0.715768455 [22]
-SkOpSegment::sortAngles [3] tStart=0.498542274 [26]
-SkOpSegment::sortAngles [3] tStart=0.498607541 [16]
-SkOpSegment::sortAngles [3] tStart=0.5 [24]
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
-SkOpSpan::sortableTop dir=kLeft seg=4 t=0.5 pt=(1.921875,4.640625)
-SkOpSpan::sortableTop [0] valid=1 operand=1 span=7 ccw=1 seg=4 {{{1, 6}, {1.5f, 5}, {2.25f, 4.25f}, {3.125f, 3.375f}}} t=0.5 pt=(1.921875,4.640625) slope=(2.15625,-2.53125)
-SkOpSegment::markWinding id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 [7] (1,6) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::markWinding id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 [7] (1,6) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::markWinding id=6 (6,0 1,6) t=0.737211419 [17] (2.31394291,4.42326832) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::activeOp id=4 t=1 tEnd=0 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
-SkOpSegment::markDone id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 [7] (1,6) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::markDone id=6 (6,0 1,6) t=0.737211419 [17] (2.31394291,4.42326832) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-bridgeOp chase.append id=6 windSum=-1
-SkOpSegment::markWinding id=1 (3,4 1.5,5 2.25,4.25 3.125,3.375) t=0 [1] (3,4) tEnd=0.220070773 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markWinding id=3 (4,2 3,4) t=0.5 [24] (3.5,3) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=3 span=24 windSum=-1
-SkOpSegment::markWinding id=6 (6,0 1,6) t=0.5 [23] (3.5,3) tEnd=0.737211419 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=6 span=23 windSum=-1
-SkOpSegment::markWinding id=1 (3,4 1.5,5 2.25,4.25 3.125,3.375) t=0.220070773 [18] (2.31394291,4.42326832) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=1 span=2
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=-1 oppSum=0 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=-1 oppSum=0 windValue=1 oppValue=0
-SkOpSegment::activeOp id=1 t=0.220070773 tEnd=0 op=diff miFrom=0 miTo=1 suFrom=0 suTo=0 result=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+SkOpSegment::sortAngles [1] tStart=0.0706686482 [9]
+SkOpAngle::after [1/1] 9/9 tStart=0.0706686482 tEnd=0 < [3/9] 17/21 tStart=0.343601972 tEnd=0 < [1/2] 25/29 tStart=0.0706686482 tEnd=0.178517901 T 4
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.272686485,1.38905347}, {0.141337296,1.21200594}, {0,1}}} id=1
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.118062323,1.76387536}, {0,2}, {0,2}}} id=3
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.581042869,1.75779533}, {0.745713362,1.90818745}, {0.891273797,2}}} id=1
+SkOpAngle::after [1/1] 9/9 tStart=0.0706686482 tEnd=0 < [3/10] 1/1 tStart=0.343601972 tEnd=0.713607334 < [3/9] 17/21 tStart=0.343601972 tEnd=0 F 4
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.272686485,1.38905347}, {0.141337296,1.21200594}, {0,1}}} id=1
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.69270623,1.28858861}, {1.17460349,1.05058733}, {1.89110041,1.1249522}}} id=3
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.118062323,1.76387536}, {0,2}, {0,2}}} id=3
+SkOpAngle::after [3/9] 17/21 tStart=0.343601972 tEnd=0 < [3/10] 1/1 tStart=0.343601972 tEnd=0.713607334 < [1/2] 25/29 tStart=0.0706686482 tEnd=0.178517901 F 4
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.118062323,1.76387536}, {0,2}, {0,2}}} id=3
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.69270623,1.28858861}, {1.17460349,1.05058733}, {1.89110041,1.1249522}}} id=3
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.581042869,1.75779533}, {0.745713362,1.90818745}, {0.891273797,2}}} id=1
+SkOpAngle::after [1/2] 25/29 tStart=0.0706686482 tEnd=0.178517901 < [3/10] 1/1 tStart=0.343601972 tEnd=0.713607334 < [1/1] 9/9 tStart=0.0706686482 tEnd=0 T 4
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.581042869,1.75779533}, {0.745713362,1.90818745}, {0.891273797,2}}} id=1
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.69270623,1.28858861}, {1.17460349,1.05058733}, {1.89110041,1.1249522}}} id=3
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.272686485,1.38905347}, {0.141337296,1.21200594}, {0,1}}} id=1
+SkOpSegment::sortAngles [1] tStart=0.178517901 [13]
+SkOpAngle::after [1/3] 13/13 tStart=0.178517901 tEnd=0.0706686482 < [4/15] 31/31 tStart=0.777181549 tEnd=0.621530611 < [1/4] 29/30 tStart=0.178517901 tEnd=0.375922451 F 4
+SkOpAngle::afterPart {{{0.891273797,2}, {0.745713362,1.90818745}, {0.581042869,1.75779533}, {0.394753397,1.53502476}}} id=1
+SkOpAngle::afterPart {{{0.891273797,2}, {1.51387751,2}}} id=4
+SkOpAngle::afterPart {{{0.891273797,2}, {1.15770394,2.16805137}, {1.36011011,2.13984528}, {1.51387751,2}}} id=1
+SkOpAngle::after [1/3] 13/13 tStart=0.178517901 tEnd=0.0706686482 < [4/16] 15/15 tStart=0.777181549 tEnd=1 < [1/4] 29/30 tStart=0.178517901 tEnd=0.375922451 T 4
+SkOpAngle::afterPart {{{0.891273797,2}, {0.745713362,1.90818745}, {0.581042869,1.75779533}, {0.394753397,1.53502476}}} id=1
+SkOpAngle::afterPart {{{0.891273797,2}, {0,2}}} id=4
+SkOpAngle::afterPart {{{0.891273797,2}, {1.15770394,2.16805137}, {1.36011011,2.13984528}, {1.51387751,2}}} id=1
+SkOpSegment::sortAngles [1] tStart=0.375922451 [15]
+SkOpAngle::after [1/5] 17/16 tStart=0.375922451 tEnd=0.178517901 < [4/13] 31/31 tStart=0.621530611 tEnd=0 < [1/6] 1/5 tStart=0.375922451 tEnd=0.620977139 T 4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.36011011,2.13984528}, {1.15770394,2.16805137}, {0.891273797,2}}} id=1
+SkOpAngle::afterPart {{{1.51387751,2}, {4,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.70476178,1.82639842}, {1.82069211,1.48075721}, {1.89110041,1.1249522}}} id=1
+SkOpAngle::after [1/5] 17/16 tStart=0.375922451 tEnd=0.178517901 < [4/14] 15/15 tStart=0.621530611 tEnd=0.777181549 < [4/13] 31/31 tStart=0.621530611 tEnd=0 F 4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.36011011,2.13984528}, {1.15770394,2.16805137}, {0.891273797,2}}} id=1
+SkOpAngle::afterPart {{{1.51387751,2}, {0.891273797,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {4,2}}} id=4
+SkOpAngle::after [4/13] 31/31 tStart=0.621530611 tEnd=0 < [4/14] 15/15 tStart=0.621530611 tEnd=0.777181549 < [1/6] 1/5 tStart=0.375922451 tEnd=0.620977139 F 4
+SkOpAngle::afterPart {{{1.51387751,2}, {4,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {0.891273797,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.70476178,1.82639842}, {1.82069211,1.48075721}, {1.89110041,1.1249522}}} id=1
+SkOpAngle::after [1/6] 1/5 tStart=0.375922451 tEnd=0.620977139 < [4/14] 15/15 tStart=0.621530611 tEnd=0.777181549 < [1/5] 17/16 tStart=0.375922451 tEnd=0.178517901 T 4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.70476178,1.82639842}, {1.82069211,1.48075721}, {1.89110041,1.1249522}}} id=1
+SkOpAngle::afterPart {{{1.51387751,2}, {0.891273797,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.36011011,2.13984528}, {1.15770394,2.16805137}, {0.891273797,2}}} id=1
+SkOpSegment::sortAngles [1] tStart=0.620977139 [11]
+SkOpAngle::after [1/7] 21/21 tStart=0.620977139 tEnd=0.375922451 < [3/11] 13/17 tStart=0.713607334 tEnd=0.343601972 < [1/8] 5/5 tStart=0.620977139 tEnd=1 F 4
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.82069211,1.48075721}, {1.70476178,1.82639842}, {1.51387751,2}}} id=1
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.17460349,1.05058733}, {0.69270623,1.28858861}, {0.394753397,1.53502476}}} id=3
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.99999999,0.574633264}, {2,0}, {2,0}}} id=1
+SkOpAngle::after [1/7] 21/21 tStart=0.620977139 tEnd=0.375922451 < [3/12] 29/29 tStart=0.713607334 tEnd=1 < [1/8] 5/5 tStart=0.620977139 tEnd=1 T 4
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.82069211,1.48075721}, {1.70476178,1.82639842}, {1.51387751,2}}} id=1
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {2.44568551,1.18251232}, {3.140822,1.42721467}, {4,2}}} id=3
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.99999999,0.574633264}, {2,0}, {2,0}}} id=1
+SkOpSegment::sortAngles [3] tStart=0.343601972 [10]
+SkOpSegment::sortAngles [3] tStart=0.713607334 [12]
+SkOpSegment::sortAngles [4] tStart=0.621530611 [16]
+SkOpSegment::sortAngles [4] tStart=0.777181549 [14]
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+SkOpSpan::sortableTop dir=kLeft seg=1 t=0.0353343241 pt=(0.204603091,1.29227543)
+SkOpSpan::sortableTop [0] valid=1 operand=0 span=1 ccw=0 seg=1 {{{0, 1}, {2, 4}, {2, 0}, {2, 0}}} t=0.0353343241 pt=(0.204603091,1.29227543) slope=(5.5834792,7.55715936)
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0 [1] (0,1) tEnd=0.0706686482 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0 [1] (0,1) tEnd=0.0706686482 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=2 (2,0 0,1) t=0 [3] (2,0) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.620977139 [11] (1.89110041,1.1249522) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::activeOp id=1 t=0.0706686482 tEnd=0 op=diff miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
SkOpSegment::findNextOp simple
-SkOpSegment::markDone id=1 (3,4 1.5,5 2.25,4.25 3.125,3.375) t=0 [1] (3,4) tEnd=0.220070773 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-bridgeOp current id=1 from=(2.31394291,4.42326832) to=(3,4)
-path.moveTo(2.31394291,4.42326832);
-path.cubicTo(2.44875765,4.35538673, 2.66989374,4.22007084, 3,4);
-SkOpSegment::markWinding id=6 (6,0 1,6) t=0.498542274 [14] (3.50728869,2.99125361) tEnd=0.5 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=6 span=14 windSum=-1
-SkOpSegment::markWinding id=3 (4,2 3,4) t=0.498607541 [16] (3.50139236,2.99721503) tEnd=0.5 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=3 span=16 windSum=-1
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0 [1] (0,1) tEnd=0.0706686482 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+bridgeOp current id=1 from=(0.394753397,1.53502476) to=(0,1)
+path.moveTo(0.394753397,1.53502476);
+path.cubicTo(0.272686481,1.38905346, 0.14133729,1.21200597, 0,1);
+SkOpSegment::findNextOp simple
+SkOpSegment::markDone id=2 (2,0 0,1) t=0 [3] (2,0) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+bridgeOp current id=2 from=(0,1) to=(2,0)
+SkOpSegment::markWinding id=3 (0,2 0,2 1,0 4,2) t=0.343601972 [10] (0.394753397,1.53502476) tEnd=0.713607334 newWindSum=-1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=3 span=10 windSum=-1
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.375922451 [15] (1.51387751,2) tEnd=0.620977139 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=1 span=15 windSum=1
+SkOpSegment::markWinding id=3 (0,2 0,2 1,0 4,2) t=0.713607334 [12] (1.89110041,1.1249522) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=4 (4,2 0,2) t=0 [7] (4,2) tEnd=0.621530611 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=4 span=16 windSum=?
SkOpSegment::findNextOp
-SkOpAngle::dumpOne [3/32] next=6/13 sect=21/21 s=0.5 [24] e=1 [6] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0
-SkOpAngle::dumpOne [6/13] next=3/31 sect=5/5 s=0.5 [23] e=0.498542274 [14] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
-SkOpAngle::dumpOne [3/31] next=6/14 sect=5/5 s=0.5 [24] e=0.498607541 [16] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=-1
-SkOpAngle::dumpOne [6/14] next=3/32 sect=21/21 s=0.5 [23] e=0.737211419 [17] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 operand
-SkOpSegment::activeOp id=6 t=0.5 tEnd=0.498542274 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
-SkOpSegment::markDone id=6 (6,0 1,6) t=0.498542274 [14] (3.50728869,2.99125361) tEnd=0.5 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp chase.append segment=6 span=14 windSum=-1
-SkOpSegment::activeOp id=3 t=0.5 tEnd=0.498607541 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=3 (4,2 3,4) t=0.498607541 [16] (3.50139236,2.99721503) tEnd=0.5 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp chase.append segment=3 span=16 windSum=-1
-SkOpSegment::activeOp id=6 t=0.5 tEnd=0.737211419 op=diff miFrom=1 miTo=1 suFrom=1 suTo=0 result=1
-SkOpSegment::markDone id=3 (4,2 3,4) t=0.5 [24] (3.5,3) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp from:[3] to:[6] start=19488848 end=19488176
-bridgeOp current id=3 from=(3,4) to=(3.5,3)
+SkOpAngle::dumpOne [1/8] next=3/11 sect=5/5 s=0.620977139 [11] e=1 [2] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [3/11] next=1/7 sect=13/17 s=0.713607334 [12] e=0.343601972 [10] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
+SkOpAngle::dumpOne [1/7] next=3/12 sect=21/21 s=0.620977139 [11] e=0.375922451 [15] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=-1
+SkOpAngle::dumpOne [3/12] next=1/8 sect=29/29 s=0.713607334 [12] e=1 [6] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
+SkOpSegment::activeOp id=3 t=0.713607334 tEnd=0.343601972 op=diff miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
+SkOpSegment::findNextOp chase.append segment=3 span=10 windSum=-1
+SkOpSegment::activeOp id=1 t=0.620977139 tEnd=0.375922451 op=diff miFrom=1 miTo=0 suFrom=1 suTo=1 result=0
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.375922451 [15] (1.51387751,2) tEnd=0.620977139 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=1 span=15 windSum=1
+SkOpSegment::activeOp id=3 t=0.713607334 tEnd=1 op=diff miFrom=0 miTo=0 suFrom=1 suTo=0 result=0
+SkOpSegment::markDone id=3 (0,2 0,2 1,0 4,2) t=0.713607334 [12] (1.89110041,1.1249522) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=4 (4,2 0,2) t=0 [7] (4,2) tEnd=0.621530611 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=4 span=16 windSum=-2147483647
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.620977139 [11] (1.89110041,1.1249522) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp from:[1] to:[3] start=2300120 end=2299896
+bridgeOp current id=1 from=(2,0) to=(1.89110041,1.1249522)
+path.lineTo(2,0);
+path.cubicTo(2,0, 2,0.574633241, 1.89110041,1.1249522);
+SkOpSegment::markWinding id=3 (0,2 0,2 1,0 4,2) t=0 [5] (0,2) tEnd=0.343601972 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=4 (4,2 0,2) t=0.777181549 [14] (0.891273797,2) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=4 span=14 windSum=-1
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.0706686482 [9] (0.394753397,1.53502476) tEnd=0.178517901 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=1 span=13 windSum=?
SkOpSegment::findNextOp
-SkOpAngle::dumpOne [6/15] next=1/18 sect=5/5 s=0.737211419 [17] e=0.5 [23] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 operand
-SkOpAngle::dumpOne [1/18] next=6/16 sect=17/5 s=0.220070773 [18] e=1 [2] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=-1
-SkOpAngle::dumpOne [6/16] next=1/17 sect=21/21 s=0.737211419 [17] e=1 [12] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done operand
-SkOpAngle::dumpOne [1/17] next=6/15 sect=1/1 s=0.220070773 [18] e=0 [1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
-SkOpSegment::activeOp id=1 t=0.220070773 tEnd=1 op=diff miFrom=1 miTo=0 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=1 (3,4 1.5,5 2.25,4.25 3.125,3.375) t=0.220070773 [18] (2.31394291,4.42326832) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=6 t=0.737211419 tEnd=1 op=diff miFrom=0 miTo=0 suFrom=1 suTo=0 result=0
-SkOpSegment::activeOp id=1 t=0.220070773 tEnd=0 op=diff miFrom=0 miTo=1 suFrom=0 suTo=0 result=1
-SkOpSegment::markDone id=6 (6,0 1,6) t=0.5 [23] (3.5,3) tEnd=0.737211419 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp from:[6] to:[1] start=19488288 end=123925160
-bridgeOp current id=6 from=(3.5,3) to=(2.31394291,4.42326832)
-path.lineTo(3.5,3);
-path.lineTo(2.31394291,4.42326832);
+SkOpAngle::dumpOne [3/10] next=1/1 sect=1/1 s=0.343601972 [10] e=0.713607334 [12] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
+SkOpAngle::dumpOne [1/1] next=3/9 sect=9/9 s=0.0706686482 [9] e=0 [1] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [3/9] next=1/2 sect=17/21 s=0.343601972 [10] e=0 [5] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
+SkOpAngle::dumpOne [1/2] next=3/10 sect=25/29 s=0.0706686482 [9] e=0.178517901 [13] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=-1
+SkOpSegment::activeOp id=1 t=0.0706686482 tEnd=0 op=diff miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
+SkOpSegment::activeOp id=3 t=0.343601972 tEnd=0 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
+SkOpSegment::markDone id=3 (0,2 0,2 1,0 4,2) t=0 [5] (0,2) tEnd=0.343601972 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=4 (4,2 0,2) t=0.777181549 [14] (0.891273797,2) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=4 span=14 windSum=-1
+SkOpSegment::activeOp id=1 t=0.0706686482 tEnd=0.178517901 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.0706686482 [9] (0.394753397,1.53502476) tEnd=0.178517901 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=1 span=13 windSum=-2147483647
+SkOpSegment::markDone id=3 (0,2 0,2 1,0 4,2) t=0.343601972 [10] (0.394753397,1.53502476) tEnd=0.713607334 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp from:[3] to:[1] start=2299784 end=123531816
+bridgeOp current id=3 from=(1.89110041,1.1249522) to=(0.394753397,1.53502476)
+path.cubicTo(1.17460346,1.0505873, 0.692706227,1.28858864, 0.394753397,1.53502476);
path.close();
-SkOpSegment::markWinding id=3 (4,2 3,4) t=0.498542274 [26] (3.50145769,2.99708462) tEnd=0.498607541 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=3 span=26 windSum=-1
-SkOpSegment::markWinding id=5 (3.125,3.375 4,2.5 5,1.5 6,0) t=0.140692452 [15] (3.50139236,2.99721503) tEnd=0.142857143 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=5 span=13 windSum=?
-SkOpSegment::markWinding id=5 (3.125,3.375 4,2.5 5,1.5 6,0) t=0 [9] (3.125,3.375) tEnd=0.140692452 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=5 span=9 windSum=-1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=3 t=0.498607541 tEnd=0.498542274 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=3 (4,2 3,4) t=0.498542274 [26] (3.50145769,2.99708462) tEnd=0.498607541 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-bridgeOp chase.append id=3 windSum=-1
-SkOpSegment::markWinding id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0.142857143 [25] (3.50145769,2.99708462) tEnd=0.145241853 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=2 span=20 windSum=?
-SkOpSegment::markWinding id=3 (4,2 3,4) t=0 [5] (4,2) tEnd=0.498542274 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markWinding id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0.715768455 [22] (4.41676426,1.89988291) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=2 span=22 windSum=1
-SkOpSegment::markWinding id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0 [3] (3.125,3.375) tEnd=0.142857143 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=2 span=3 windSum=-1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=2 t=0.142857143 tEnd=0.145241853 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0.142857143 [25] (3.50145769,2.99708462) tEnd=0.145241853 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
-bridgeOp chase.append id=2 windSum=-2147483647
-SkOpSegment::markWinding id=6 (6,0 1,6) t=0.498468047 [19] (3.50765967,2.99080825) tEnd=0.498542274 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=6 span=14 windSum=-1
-SkOpSegment::markWinding id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0.145241853 [20] (3.50765967,2.99080825) tEnd=0.715768455 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=2 span=22 windSum=1
-SkOpSegment::markWinding id=6 (6,0 1,6) t=0.316647149 [21] (4.41676426,1.89988291) tEnd=0.498468047 newWindSum=-1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=6 span=21 windSum=-1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=-1 oppSum=1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=-1 oppSum=0 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=1 oppSum=0 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=6 t=0.498468047 tEnd=0.498542274 op=diff miFrom=0 miTo=0 suFrom=1 suTo=0 result=0
-SkOpSegment::markDone id=6 (6,0 1,6) t=0.498468047 [19] (3.50765967,2.99080825) tEnd=0.498542274 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=-1 oppSum=1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=1 oppSum=0 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=6 t=0.498468047 tEnd=0.316647149 op=diff miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
-SkOpSegment::markWinding id=6 (6,0 1,6) t=0 [11] (6,0) tEnd=0.316647149 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markWinding id=5 (3.125,3.375 4,2.5 5,1.5 6,0) t=0.142857143 [13] (3.50728869,2.99125361) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=5 span=13 windSum=-1
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.178517901 [13] (0.891273797,2) tEnd=0.375922451 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=1 span=15 windSum=1
+SkOpSegment::markWinding id=4 (4,2 0,2) t=0.621530611 [16] (1.51387751,2) tEnd=0.777181549 newWindSum=-1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=4 span=16 windSum=-1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=-1 oppSum=1 windValue=1 oppValue=0
+SkOpSegment::activeOp id=1 t=0.178517901 tEnd=0.375922451 op=diff miFrom=0 miTo=1 suFrom=0 suTo=0 result=1
SkOpSegment::findNextOp
-SkOpAngle::dumpOne [6/8] next=2/25 sect=21/21 s=0.316647149 [21] e=0.498468047 [19] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
-SkOpAngle::dumpOne [2/25] next=6/7 sect=25/21 s=0.715768455 [22] e=0.145241853 [20] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0
-SkOpAngle::dumpOne [6/7] next=2/26 sect=5/5 s=0.316647149 [21] e=0 [11] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
-SkOpAngle::dumpOne [2/26] next=6/8 sect=9/17 s=0.715768455 [22] e=1 [4] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=-1
-SkOpSegment::activeOp id=2 t=0.715768455 tEnd=0.145241853 op=diff miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
-SkOpSegment::activeOp id=6 t=0.316647149 tEnd=0 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
-SkOpSegment::markDone id=6 (6,0 1,6) t=0 [11] (6,0) tEnd=0.316647149 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::markDone id=5 (3.125,3.375 4,2.5 5,1.5 6,0) t=0.142857143 [13] (3.50728869,2.99125361) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp chase.append segment=5 span=13 windSum=-1
-SkOpSegment::activeOp id=2 t=0.715768455 tEnd=1 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0.715768455 [22] (4.41676426,1.89988291) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
-SkOpSegment::markDone id=3 (4,2 3,4) t=0 [5] (4,2) tEnd=0.498542274 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
-SkOpSegment::markDone id=6 (6,0 1,6) t=0.316647149 [21] (4.41676426,1.89988291) tEnd=0.498468047 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp from:[6] to:[2] start=19488736 end=19488512
-bridgeOp current id=6 from=(3.50765967,2.99080825) to=(4.41676426,1.89988291)
+SkOpAngle::dumpOne [1/5] next=4/13 sect=17/16 s=0.375922451 [15] e=0.178517901 [13] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [4/13] next=1/6 sect=31/31 s=0.621530611 [16] e=0 [7] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done operand
+SkOpAngle::dumpOne [1/6] next=4/14 sect=1/5 s=0.375922451 [15] e=0.620977139 [11] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=-1 done
+SkOpAngle::dumpOne [4/14] next=1/5 sect=15/15 s=0.621530611 [16] e=0.777181549 [14] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
+SkOpSegment::activeOp id=4 t=0.621530611 tEnd=0 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
+SkOpSegment::activeOp id=1 t=0.375922451 tEnd=0.620977139 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
+SkOpSegment::activeOp id=4 t=0.621530611 tEnd=0.777181549 op=diff miFrom=1 miTo=1 suFrom=1 suTo=0 result=1
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.178517901 [13] (0.891273797,2) tEnd=0.375922451 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp from:[1] to:[4] start=2300568 end=2300344
+bridgeOp current id=1 from=(0.891273797,2) to=(1.51387751,2)
+path.moveTo(0.891273797,2);
+path.cubicTo(1.157704,2.16805148, 1.36011016,2.13984537, 1.51387751,2);
SkOpSegment::findNextOp
-SkOpAngle::dumpOne [2/24] next=6/9 sect=5/5 s=0.145241853 [20] e=0.715768455 [22] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
-SkOpAngle::dumpOne [6/9] next=2/23 sect=5/5 s=0.498468047 [19] e=0.316647149 [21] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=1 done operand
-SkOpAngle::dumpOne [2/23] next=6/10 sect=21/21 s=0.145241853 [20] e=0.142857143 [25] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=-1 done
-SkOpAngle::dumpOne [6/10] next=2/24 sect=21/21 s=0.498468047 [19] e=0.498542274 [14] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done operand
-SkOpSegment::activeOp id=6 t=0.498468047 tEnd=0.316647149 op=diff miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
-SkOpSegment::activeOp id=2 t=0.145241853 tEnd=0.142857143 op=diff miFrom=1 miTo=0 suFrom=1 suTo=1 result=0
-SkOpSegment::activeOp id=6 t=0.498468047 tEnd=0.498542274 op=diff miFrom=0 miTo=0 suFrom=1 suTo=0 result=0
-SkOpSegment::markDone id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0.145241853 [20] (3.50765967,2.99080825) tEnd=0.715768455 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
-SkOpSegment::findNextOp from:[2] to:[6] start=19488400 end=19488624
-bridgeOp current id=2 from=(4.41676426,1.89988291) to=(3.50765967,2.99080825)
-path.moveTo(3.50765967,2.99080825);
-path.lineTo(4.41676426,1.89988291);
-path.cubicTo(4.43658876,2.02620602, 4.0020113,2.49043894, 3.50765967,2.99080825);
+SkOpAngle::dumpOne [4/15] next=1/3 sect=31/31 s=0.777181549 [14] e=0.621530611 [16] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
+SkOpAngle::dumpOne [1/3] next=4/16 sect=13/13 s=0.178517901 [13] e=0.0706686482 [9] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=-1 done
+SkOpAngle::dumpOne [4/16] next=1/4 sect=15/15 s=0.777181549 [14] e=1 [8] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done operand
+SkOpAngle::dumpOne [1/4] next=4/15 sect=29/30 s=0.178517901 [13] e=0.375922451 [15] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0 done
+SkOpSegment::activeOp id=1 t=0.178517901 tEnd=0.0706686482 op=diff miFrom=1 miTo=0 suFrom=1 suTo=1 result=0
+SkOpSegment::activeOp id=4 t=0.777181549 tEnd=1 op=diff miFrom=0 miTo=0 suFrom=1 suTo=0 result=0
+SkOpSegment::activeOp id=1 t=0.178517901 tEnd=0.375922451 op=diff miFrom=0 miTo=1 suFrom=0 suTo=0 result=1
+SkOpSegment::markDone id=4 (4,2 0,2) t=0.621530611 [16] (1.51387751,2) tEnd=0.777181549 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp from:[4] to:[1] start=2300232 end=2300456
+bridgeOp current id=4 from=(1.51387751,2) to=(0.891273797,2)
+path.lineTo(0.891273797,2);
path.close();
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=5 t=0.142857143 tEnd=0.140692452 op=diff miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
-SkOpSegment::markDone id=5 (3.125,3.375 4,2.5 5,1.5 6,0) t=0.140692452 [15] (3.50139236,2.99721503) tEnd=0.142857143 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=2 t=0.142857143 tEnd=0 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0 [3] (3.125,3.375) tEnd=0.142857143 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-bridgeOp chase.append id=2 windSum=-1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=5 t=0.140692452 tEnd=0 op=diff miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
-SkOpSegment::findNextOp
-SkOpAngle::dumpOne [5/2] next=2/20 sect=4/5 s=0 [9] e=0.140692452 [15] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 operand
-SkOpAngle::dumpOne [2/20] next=4/1 sect=4/5 s=0 [3] e=0.142857143 [25] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 done
-SkOpAngle::dumpOne [4/1] next=1/19 sect=20/21 s=1 [8] e=0 [7] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done operand
-SkOpAngle::dumpOne [1/19] next=5/2 sect=20/21 s=1 [2] e=0.220070773 [18] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 done
-SkOpSegment::activeOp id=2 t=0 tEnd=0.142857143 op=diff miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
-SkOpSegment::activeOp id=4 t=1 tEnd=0 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
-SkOpSegment::activeOp id=1 t=1 tEnd=0.220070773 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=5 (3.125,3.375 4,2.5 5,1.5 6,0) t=0 [9] (3.125,3.375) tEnd=0.140692452 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp from:[5] to:[2] start=19486400 end=19489072
-bridgeOp current id=5 from=(3.50139236,2.99721503) to=(3.125,3.375)
-path.moveTo(3.50139236,2.99721503);
-path.cubicTo(3.37368608,3.12631392, 3.248106,3.251894, 3.125,3.375);
+</div>
+
+<div id="tiger8a_h_1ref">
+seg=1 {{{{492.451324f, 225.216217f}, {510.633392f, 210.095627f}, {511.418884f, 210.714493f}}}, 0.707106769f}
+seg=2 {{{511.418884f, 210.714493f}, {494.350159f, 228.773712f}, {493.19165f, 226.887451f}}}
+seg=3 {{{493.19165f, 226.887451f}, {492.451447f, 225.22908f}, {492.437775f, 225.175201f}}}
+seg=4 {{{492.437775f, 225.175201f}, {492.42984f, 225.142548f}}}
+seg=5 {{{492.42984f, 225.142548f}, {492.465088f, 225.261765f}, {492.495178f, 225.325806f}}}
+seg=6 {{{492.495178f, 225.325806f}, {494.272919f, 225.581543f}, {494.37619f, 225.116943f}}}
+seg=7 {{{494.37619f, 225.116943f}, {492.451324f, 225.216217f}}}
+debugShowConicQuadIntersection wtTs[0]=1 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{511.418884,210.714493}} wnTs[0]=0 {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}}
+debugShowConicQuadIntersection wtTs[0]=6.50647037e-05 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{492.453003,225.214828}} wnTs[0]=0.872874 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}}
+SkOpSegment::addT insert t=6.50647037e-05 segID=1 spanID=15
+SkOpSegment::addT insert t=0.872874414 segID=3 spanID=16
+debugShowConicQuadIntersection wtTs[0]=5.27409915e-05 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{492.452667,225.215088}} wnTs[0]=0.329932 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}}
+SkOpSegment::addT insert t=0.32993192 segID=5 spanID=17
+debugShowConicQuadIntersection no intersect {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+debugShowConicLineIntersection wtTs[0]=0 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{492.451324,225.216217}} wnTs[0]=1 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+debugShowQuadIntersection wtTs[0]=1 {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}} {{493.19165,226.887451}} wnTs[0]=0 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}}
+debugShowQuadIntersection no intersect {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}} {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+debugShowQuadLineIntersection no intersect {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}} {{{494.37619,225.116943}, {492.451324,225.216217}}}
+debugShowQuadLineIntersection wtTs[0]=1 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.437775,225.175201}} wnTs[0]=0 {{{492.437775,225.175201}, {492.42984,225.142548}}}
+debugShowQuadIntersection wtTs[0]=0.887605755 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.450012,225.207581}} wnTs[0]=0.292225 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}}
+SkOpSegment::addT insert t=0.887605755 segID=3 spanID=18
+SkOpSegment::addT insert t=0.292224891 segID=5 spanID=19
+debugShowQuadIntersection wtTs[0]=0.724616587 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.500397,225.326553}} wnTs[0]=0.00147105 {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+SkOpSegment::addT insert t=0.724616587 segID=3 spanID=20
+SkOpSegment::addT insert t=0.00147105082 segID=6 spanID=21
+debugShowQuadLineIntersection wtTs[0]=0.870423127 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.453522,225.21611}} wnTs[0]=0.998861 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+SkOpSegment::addT insert t=0.870423127 segID=3 spanID=22
+SkOpSegment::addT insert t=0.998861268 segID=7 spanID=23
+debugShowQuadLineIntersection wtTs[0]=0 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}} {{492.42984,225.142548}} wnTs[0]=1 {{{492.437775,225.175201}, {492.42984,225.142548}}}
+debugShowQuadIntersection wtTs[0]=1 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}} {{492.495178,225.325806}} wnTs[0]=0 {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+debugShowQuadLineIntersection wtTs[0]=0.334541898 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}} {{492.45285,225.216141}} wnTs[0]=0.999209 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+SkOpSegment::addT insert t=0.334541898 segID=5 spanID=24
+SkOpSegment::addT insert t=0.999209221 segID=7 spanID=25
+debugShowQuadLineIntersection wtTs[0]=1 {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}} {{494.37619,225.116943}} wnTs[0]=0 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+--------------------x------------- start
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after start:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- addExpanded
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after addExpanded:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- moveMultiples
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after moveMultiples:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- moveNearby
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after moveNearby:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- addEndMovedSpans
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after addEndMovedSpans:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- addMissing2
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after addMissing2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- moveNearby2
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after moveNearby2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- expand2
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after expand2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- addExpanded3
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after addExpanded3:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- mark1
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after mark1:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+SkOpSegment::missingCoincidence coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16
+--------------x--x---------------- missingCoincidence1
+00: base=19 base=16 MarkCoinStart
+01: base=17 base=18 MarkCoinEnd
+active after missingCoincidence1:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------x--x---------------- expand3
+00: base=19 base=16 MarkCoinStart
+01: base=17 base=18 MarkCoinEnd
+active after expand3:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------x--x---------------- addExpanded3
+00: base=19 base=16 MarkCoinStart
+01: base=17 base=18 MarkCoinEnd
+active after addExpanded3:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- missingCoincidence3
+active after missingCoincidence3:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- coincidence.reorder
+active after coincidence.reorder:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+seg=5 span=19 windValue=0 oppValue=0
+seg=3 span=16 windValue=0 oppValue=0
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.292224891 [19] (492.450012,225.20752) tEnd=0.32993192 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.872874414 [16] (492.453003,225.214828) tEnd=0.887605755 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0
+---------------------------------- pairs->apply
+active after pairs->apply:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- pairs->findOverlaps
+active after pairs->findOverlaps:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+SkOpSegment::sortAngles [1] tStart=6.50647037e-05 [15]
+SkOpAngle::after [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 < [5/10] 25/25 tStart=0.32993192 tEnd=0.334541898 < [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 T 4
+SkOpAngle::afterPart {{{{492.452545,225.21521}, {492.451703,225.215903}, {492.451324,225.216217}}}, 1} id=1
+SkOpAngle::afterPart {{{492.452545,225.21521}, {492.452698,225.215676}, {492.45285,225.216141}}} id=5
+SkOpAngle::afterPart {{{{492.452545,225.21521}, {510.633007,210.096065}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpAngle::after [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 < [3/7] 25/25 tStart=0.872874414 tEnd=0.870423127 < [5/10] 25/25 tStart=0.32993192 tEnd=0.334541898 F 7
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {492.452161,225.215521}, {492.451324,225.216217}}}, 1} id=1
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.45326,225.215465}, {492.453522,225.21611}}} id=3
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453156,225.215294}, {492.45285,225.216141}}} id=5
+SkOpAngle::after [5/10] 25/25 tStart=0.32993192 tEnd=0.334541898 < [3/7] 25/25 tStart=0.872874414 tEnd=0.870423127 < [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 T 7
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453156,225.215294}, {492.45285,225.216141}}} id=5
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.45326,225.215465}, {492.453522,225.21611}}} id=3
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {510.633465,210.095684}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpSegment::sortAngles [3] tStart=0.724616587 [20]
+SkOpAngle::after [3/3] 25/25 tStart=0.724616587 tEnd=0 < [6/13] 13/13 tStart=0.00147105082 tEnd=0 < [3/4] 9/9 tStart=0.724616587 tEnd=0.870423127 F 4
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.655145,225.685452}, {493.19165,226.887451}}} id=3
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.497789,225.32618}, {492.495178,225.325806}}} id=6
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.469401,225.254666}, {492.453522,225.21611}}} id=3
+SkOpAngle::after [3/3] 25/25 tStart=0.724616587 tEnd=0 < [6/14] 29/1 tStart=0.00147105082 tEnd=1 < [3/4] 9/9 tStart=0.724616587 tEnd=0.870423127 T 4
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.655145,225.685452}, {493.19165,226.887451}}} id=3
+SkOpAngle::afterPart {{{492.500397,225.326553}, {494.273071,225.580858}, {494.37619,225.116943}}} id=6
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.469401,225.254666}, {492.453522,225.21611}}} id=3
+SkOpSegment::sortAngles [3] tStart=0.870423127 [22]
+SkOpAngle::after [3/5] 25/25 tStart=0.870423127 tEnd=0.724616587 < [7/15] 1/1 tStart=0.998861268 tEnd=0 < [3/6] 9/9 tStart=0.870423127 tEnd=0.872874414 T 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.469401,225.254666}, {492.500397,225.326553}}} id=3
+SkOpAngle::afterPart {{{492.453522,225.21611}, {494.37619,225.116943}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45326,225.215465}, {492.453003,225.214828}}} id=3
+SkOpAngle::after [3/5] 25/25 tStart=0.870423127 tEnd=0.724616587 < [7/16] 17/17 tStart=0.998861268 tEnd=0.999209221 < [7/15] 1/1 tStart=0.998861268 tEnd=0 F 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.469401,225.254666}, {492.500397,225.326553}}} id=3
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45285,225.216141}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {494.37619,225.116943}}} id=7
+SkOpAngle::after [7/15] 1/1 tStart=0.998861268 tEnd=0 < [7/16] 17/17 tStart=0.998861268 tEnd=0.999209221 < [3/6] 9/9 tStart=0.870423127 tEnd=0.872874414 F 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {494.37619,225.116943}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45285,225.216141}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45326,225.215465}, {492.453003,225.214828}}} id=3
+SkOpAngle::after [3/6] 9/9 tStart=0.870423127 tEnd=0.872874414 < [7/16] 17/17 tStart=0.998861268 tEnd=0.999209221 < [3/5] 25/25 tStart=0.870423127 tEnd=0.724616587 T 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45326,225.215465}, {492.453003,225.214828}}} id=3
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45285,225.216141}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.469401,225.254666}, {492.500397,225.326553}}} id=3
+SkOpSegment::sortAngles [3] tStart=0.872874414 [16]
+SkOpSegment::sortAngles [3] tStart=0.887605755 [18]
+SkOpSegment::sortAngles [5] tStart=0.292224891 [19]
+SkOpSegment::sortAngles [5] tStart=0.32993192 [17]
+SkOpSegment::sortAngles [5] tStart=0.334541898 [24]
+SkOpAngle::after [5/11] 9/9 tStart=0.334541898 tEnd=0.32993192 < [7/17] 1/1 tStart=0.999209221 tEnd=0.998861268 < [5/12] 25/25 tStart=0.334541898 tEnd=1 F 4
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.452698,225.215676}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.453522,225.21611}}} id=7
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.475165,225.283211}, {492.495178,225.325806}}} id=5
+SkOpAngle::after [5/11] 9/9 tStart=0.334541898 tEnd=0.32993192 < [7/18] 17/17 tStart=0.999209221 tEnd=1 < [5/12] 25/25 tStart=0.334541898 tEnd=1 T 4
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.452698,225.215676}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.451324,225.216217}}} id=7
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.475165,225.283211}, {492.495178,225.325806}}} id=5
+SkOpSegment::sortAngles [6] tStart=0.00147105082 [21]
+SkOpSegment::sortAngles [7] tStart=0.998861268 [23]
+SkOpSegment::sortAngles [7] tStart=0.999209221 [25]
+SkCoincidentSpans::debugShow - id=5 t=0.292224891 tEnd=0.32993192
+SkCoincidentSpans::debugShow + id=3 t=0.887605755 tEnd=0.872874414
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+SkOpSpan::sortableTop dir=kTop seg=1 t=3.25323518e-05 pt=(492.452148,225.215515)
+SkOpSpan::sortableTop [0] valid=1 operand=0 span=1 ccw=1 seg=1 {{{{492.451324f, 225.216217f}, {510.633392f, 210.095627f}, {511.418884f, 210.714493f}}}, 0.707106769f} t=3.25323518e-05 pt=(492.452148,225.215515) slope=(12.8564438,-10.6916478)
+SkOpSegment::markWinding id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=0 [1] (492.451324,225.216217) tEnd=6.50647037e-05 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=0 [1] (492.451324,225.216217) tEnd=6.50647037e-05 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=7 (494.37619,225.116943 492.451324,225.216217) t=0.999209221 [25] (492.45285,225.216141) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=0 [1] (492.451324,225.216217) tEnd=6.50647037e-05 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=1 from=(492.453003,225.214828) to=(492.451324,225.216217)
+path.moveTo(492.453003,225.214828);
+path.conicTo(492.452148,225.215515, 492.451324,225.216217, 1);
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.334541898 [24] (492.45285,225.216141) tEnd=1 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markWinding id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0 [11] (492.495178,225.325806) tEnd=0.00147105082 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=6 span=21 windSum=?
+SkOpSegment::markWinding id=7 (494.37619,225.116943 492.451324,225.216217) t=0.998861268 [23] (492.453522,225.21611) tEnd=0.999209221 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=7 span=23 windSum=1
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.32993192 [17] (492.452545,225.21521) tEnd=0.334541898 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=5 span=17 windSum=-1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [7/18] next=5/12 sect=17/17 s=0.999209221 [25] e=1 [14] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [5/12] next=7/17 sect=25/25 s=0.334541898 [24] e=1 [10] sgn=-1 windVal=1 windSum=1
+SkOpAngle::dumpOne [7/17] next=5/11 sect=1/1 s=0.999209221 [25] e=0.998861268 [23] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [5/11] next=7/18 sect=9/9 s=0.334541898 [24] e=0.32993192 [17] sgn=1 windVal=1 windSum=-1
+SkOpSegment::findNextWinding chase.append segment=6 span=21 windSum=-2147483647
+SkOpSegment::findNextWinding chase.append segment=7 span=23 windSum=1
+SkOpSegment::findNextWinding chase.append segment=5 span=17 windSum=-1
+SkOpSegment::markDone id=7 (494.37619,225.116943 492.451324,225.216217) t=0.999209221 [25] (492.45285,225.216141) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[7] to:[5] start=18609264 end=18607576
+bridgeWinding current id=7 from=(492.451324,225.216217) to=(492.45285,225.216141)
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.334541898 [24] (492.45285,225.216141) tEnd=1 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+bridgeWinding current id=5 from=(492.45285,225.216141) to=(492.495178,225.325806)
+path.lineTo(492.45285,225.216141);
+path.quadTo(492.475159,225.283218, 492.495178,225.325806);
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0 [5] (493.19165,226.887451) tEnd=0.724616587 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 [3] (511.418884,210.714493) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=6.50647037e-05 [15] (492.453003,225.214828) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=1 span=15 windSum=-1
+SkOpSegment::markWinding id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0.00147105082 [21] (492.500397,225.326553) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=7 (494.37619,225.116943 492.451324,225.216217) t=0 [13] (494.37619,225.116943) tEnd=0.998861268 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=7 span=23 windSum=1
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.724616587 [20] (492.500397,225.326553) tEnd=0.870423127 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=3 span=22 windSum=?
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [6/13] next=3/3 sect=13/13 s=0.00147105082 [21] e=0 [11] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [3/3] next=6/14 sect=25/25 s=0.724616587 [20] e=0 [5] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [6/14] next=3/4 sect=29/1 s=0.00147105082 [21] e=1 [12] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/4] next=6/13 sect=9/9 s=0.724616587 [20] e=0.870423127 [22] sgn=-1 windVal=1 windSum=1
+SkOpSegment::findNextWinding chase.append segment=1 span=15 windSum=-1
+SkOpSegment::findNextWinding chase.append segment=3 span=22 windSum=-2147483647
+SkOpSegment::markDone id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0 [11] (492.495178,225.325806) tEnd=0.00147105082 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[6] to:[3] start=18608816 end=18606936
+bridgeWinding current id=6 from=(492.495178,225.325806) to=(492.500397,225.326553)
+path.quadTo(492.497803,225.326187, 492.500397,225.326553);
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0 [5] (493.19165,226.887451) tEnd=0.724616587 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=3 from=(492.500397,225.326553) to=(493.19165,226.887451)
+path.quadTo(492.655151,225.685455, 493.19165,226.887451);
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 [3] (511.418884,210.714493) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=2 from=(493.19165,226.887451) to=(511.418884,210.714493)
+path.quadTo(494.350159,228.773712, 511.418884,210.714493);
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.870423127 [22] (492.453522,225.21611) tEnd=0.872874414 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=3 span=22 windSum=-1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [1/2] next=1/1 sect=1/1 s=6.50647037e-05 [15] e=1 [2] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [1/1] next=5/10 sect=17/17 s=6.50647037e-05 [15] e=0 [1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [5/10] next=3/7 sect=25/25 s=0.32993192 [17] e=0.334541898 [24] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/7] next=1/2 sect=25/25 s=0.872874414 [16] e=0.870423127 [22] sgn=1 windVal=1 windSum=-1
+SkOpSegment::markDone id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=6.50647037e-05 [15] (492.453003,225.214828) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[1] to:[3] start=18608368 end=18609040
+bridgeWinding current id=1 from=(511.418884,210.714493) to=(492.453003,225.214828)
+path.conicTo(510.633453,210.095688, 492.453003,225.214828, 0.707139313);
+path.close();
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=1 windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=1 windValue=1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [7/17] next=5/11 sect=1/1 s=0.999209221 [25] e=0.998861268 [23] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [5/11] next=7/18 sect=9/9 s=0.334541898 [24] e=0.32993192 [17] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [7/18] next=5/12 sect=17/17 s=0.999209221 [25] e=1 [14] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [5/12] next=7/17 sect=25/25 s=0.334541898 [24] e=1 [10] sgn=-1 windVal=1 windSum=1 done
+SkOpSegment::markDone id=7 (494.37619,225.116943 492.451324,225.216217) t=0.998861268 [23] (492.453522,225.21611) tEnd=0.999209221 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[7] to:[5] start=18609264 end=18608480
+bridgeWinding current id=7 from=(492.453522,225.21611) to=(492.45285,225.216141)
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [5/10] next=3/7 sect=25/25 s=0.32993192 [17] e=0.334541898 [24] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/7] next=1/2 sect=25/25 s=0.872874414 [16] e=0.870423127 [22] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [1/2] next=1/1 sect=1/1 s=6.50647037e-05 [15] e=1 [2] sgn=-1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [1/1] next=5/10 sect=17/17 s=6.50647037e-05 [15] e=0 [1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.32993192 [17] (492.452545,225.21521) tEnd=0.334541898 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[5] to:[3] start=18608368 end=18609040
+bridgeWinding current id=5 from=(492.45285,225.216141) to=(492.452545,225.21521)
+path.moveTo(492.453522,225.21611);
+path.lineTo(492.45285,225.216141);
+path.quadTo(492.452698,225.215683, 492.452545,225.21521);
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [3/6] next=7/16 sect=9/9 s=0.870423127 [22] e=0.872874414 [16] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [7/16] next=3/5 sect=17/17 s=0.998861268 [23] e=0.999209221 [25] sgn=-1 windVal=1 windSum=1 done
+SkOpAngle::dumpOne [3/5] next=7/15 sect=25/25 s=0.870423127 [22] e=0.724616587 [20] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [7/15] next=3/6 sect=1/1 s=0.998861268 [23] e=0 [13] sgn=1 windVal=1 windSum=-1
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.870423127 [22] (492.453522,225.21611) tEnd=0.872874414 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[3] to:[7] start=18609152 end=18607992
+bridgeWinding current id=3 from=(492.453003,225.214828) to=(492.453522,225.21611)
+path.lineTo(492.453003,225.214828);
+path.quadTo(492.453247,225.215469, 492.453522,225.21611);
+path.close();
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=1 windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=-1 windValue=1
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=7 (494.37619,225.116943 492.451324,225.216217) t=0 [13] (494.37619,225.116943) tEnd=0.998861268 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=7 from=(492.453522,225.21611) to=(494.37619,225.116943)
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [6/14] next=3/4 sect=29/1 s=0.00147105082 [21] e=1 [12] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/4] next=6/13 sect=9/9 s=0.724616587 [20] e=0.870423127 [22] sgn=-1 windVal=1 windSum=1
+SkOpAngle::dumpOne [6/13] next=3/3 sect=13/13 s=0.00147105082 [21] e=0 [11] sgn=1 windVal=1 windSum=1 done
+SkOpAngle::dumpOne [3/3] next=6/14 sect=25/25 s=0.724616587 [20] e=0 [5] sgn=1 windVal=1 windSum=-1 done
+SkOpSegment::markDone id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0.00147105082 [21] (492.500397,225.326553) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[6] to:[3] start=18608816 end=18609040
+bridgeWinding current id=6 from=(494.37619,225.116943) to=(492.500397,225.326553)
+path.moveTo(492.453522,225.21611);
+path.lineTo(494.37619,225.116943);
+path.quadTo(494.273071,225.580856, 492.500397,225.326553);
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [3/5] next=7/15 sect=25/25 s=0.870423127 [22] e=0.724616587 [20] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [7/15] next=3/6 sect=1/1 s=0.998861268 [23] e=0 [13] sgn=1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [3/6] next=7/16 sect=9/9 s=0.870423127 [22] e=0.872874414 [16] sgn=-1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [7/16] next=3/5 sect=17/17 s=0.998861268 [23] e=0.999209221 [25] sgn=-1 windVal=1 windSum=1 done
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.724616587 [20] (492.500397,225.326553) tEnd=0.870423127 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[3] to:[7] start=18609152 end=18609376
+bridgeWinding current id=3 from=(492.500397,225.326553) to=(492.453522,225.21611)
+path.quadTo(492.469391,225.254669, 492.453522,225.21611);
+path.close();
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSpan::sortableTop dir=kLeft seg=3 t=0.943802877 pt=(492.44162,225.186325)
+SkOpSpan::sortableTop [0] valid=1 operand=0 span=18 ccw=1 seg=3 {{{493.19165f, 226.887451f}, {492.451447f, 225.22908f}, {492.437775f, 225.175201f}}} t=0.943802877 pt=(492.44162,225.186325) slope=(-0.0545008819,-0.144046628)
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.887605755 [18] (492.450012,225.207581) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=4 (492.437775,225.175201 492.42984,225.142548) t=0 [7] (492.437775,225.175201) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0 [9] (492.42984,225.142548) tEnd=0.292224891 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::nextChase mismatched signs
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.887605755 [18] (492.450012,225.207581) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::nextChase mismatched signs
+SkOpSegment::nextChase mismatched signs
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.887605755 [18] (492.450012,225.207581) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=3 from=(492.437775,225.175201) to=(492.450012,225.207581)
+path.moveTo(492.437775,225.175201);
+path.quadTo(492.439331,225.181351, 492.450012,225.207581);
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0 [9] (492.42984,225.142548) tEnd=0.292224891 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=5 from=(492.450012,225.20752) to=(492.42984,225.142548)
+path.lineTo(492.450012,225.20752);
+path.quadTo(492.440063,225.177078, 492.42984,225.142548);
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=4 (492.437775,225.175201 492.42984,225.142548) t=0 [7] (492.437775,225.175201) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=4 from=(492.42984,225.142548) to=(492.437775,225.175201)
+path.lineTo(492.437775,225.175201);
+path.close();
+</div>
+
+<div id="tiger8a_h_1">
+seg=1 {{{{492.451324f, 225.216217f}, {510.633392f, 210.095627f}, {511.418884f, 210.714493f}}}, 0.707106769f}
+seg=2 {{{511.418884f, 210.714493f}, {494.350159f, 228.773712f}, {493.19165f, 226.887451f}}}
+seg=3 {{{493.19165f, 226.887451f}, {492.451447f, 225.22908f}, {492.437775f, 225.175201f}}}
+seg=4 {{{492.437775f, 225.175201f}, {492.42984f, 225.142548f}}}
+seg=5 {{{492.42984f, 225.142548f}, {492.465088f, 225.261765f}, {492.495178f, 225.325806f}}}
+seg=6 {{{492.495178f, 225.325806f}, {494.272919f, 225.581543f}, {494.37619f, 225.116943f}}}
+seg=7 {{{494.37619f, 225.116943f}, {492.451324f, 225.216217f}}}
+debugShowConicQuadIntersection wtTs[0]=1 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{511.418884,210.714493}} wnTs[0]=0 {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}}
+debugShowConicQuadIntersection wtTs[0]=6.50647037e-05 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{492.453003,225.214828}} wnTs[0]=0.872874 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}}
+SkOpSegment::addT insert t=6.50647037e-05 segID=1 spanID=15
+SkOpSegment::addT insert t=0.872874414 segID=3 spanID=16
+debugShowConicQuadIntersection wtTs[0]=5.27409915e-05 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{492.452667,225.215088}} wnTs[0]=0.329932 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}}
+SkOpSegment::addT insert t=0.32993192 segID=5 spanID=17
+debugShowConicQuadIntersection no intersect {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+debugShowConicLineIntersection wtTs[0]=0 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{492.451324,225.216217}} wnTs[0]=1 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+debugShowQuadIntersection wtTs[0]=1 {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}} {{493.19165,226.887451}} wnTs[0]=0 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}}
+debugShowQuadIntersection no intersect {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}} {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+debugShowQuadLineIntersection no intersect {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}} {{{494.37619,225.116943}, {492.451324,225.216217}}}
+debugShowQuadLineIntersection wtTs[0]=1 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.437775,225.175201}} wnTs[0]=0 {{{492.437775,225.175201}, {492.42984,225.142548}}}
+debugShowQuadIntersection wtTs[0]=0.887605755 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.450012,225.207581}} wnTs[0]=0.292225 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}}
+SkOpSegment::addT insert t=0.887605755 segID=3 spanID=18
+SkOpSegment::addT insert t=0.292224891 segID=5 spanID=19
+debugShowQuadIntersection wtTs[0]=0.724616587 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.500397,225.326553}} wnTs[0]=0.00147105 {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+SkOpSegment::addT insert t=0.724616587 segID=3 spanID=20
+SkOpSegment::addT insert t=0.00147105082 segID=6 spanID=21
+debugShowQuadLineIntersection wtTs[0]=0.870423127 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.453522,225.21611}} wnTs[0]=0.998861 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+SkOpSegment::addT insert t=0.870423127 segID=3 spanID=22
+SkOpSegment::addT insert t=0.998861268 segID=7 spanID=23
+debugShowQuadLineIntersection wtTs[0]=0 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}} {{492.42984,225.142548}} wnTs[0]=1 {{{492.437775,225.175201}, {492.42984,225.142548}}}
+debugShowQuadIntersection wtTs[0]=1 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}} {{492.495178,225.325806}} wnTs[0]=0 {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+debugShowQuadLineIntersection wtTs[0]=0.334541898 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}} {{492.45285,225.216141}} wnTs[0]=0.999209 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+SkOpSegment::addT insert t=0.334541898 segID=5 spanID=24
+SkOpSegment::addT insert t=0.999209221 segID=7 spanID=25
+debugShowQuadLineIntersection wtTs[0]=1 {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}} {{494.37619,225.116943}} wnTs[0]=0 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+---------------------------------- start
+active after start:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- addExpanded
+active after addExpanded:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- moveMultiples
+active after moveMultiples:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- moveNearby
+active after moveNearby:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- addEndMovedSpans
+active after addEndMovedSpans:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- addMissing2
+active after addMissing2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- moveNearby2
+active after moveNearby2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- expand2
+active after expand2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- addExpanded3
+active after addExpanded3:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- mark1
+active after mark1:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- missingCoincidence2
+active after missingCoincidence2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- missingCoincidence3
+active after missingCoincidence3:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- coincidence.reorder
+active after coincidence.reorder:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- pairs->apply
+active after pairs->apply:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- pairs->findOverlaps
+active after pairs->findOverlaps:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+SkOpSegment::sortAngles [1] tStart=6.50647037e-05 [15]
+SkOpAngle::after [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 < [5/13] 9/9 tStart=0.32993192 tEnd=0.292224891 < [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 F 4
+SkOpAngle::afterPart {{{{492.452545,225.21521}, {492.450867,225.216599}, {492.451324,225.216217}}}, 1} id=1
+SkOpAngle::afterPart {{{492.452545,225.21521}, {492.451282,225.211404}, {492.450012,225.20752}}} id=5
+SkOpAngle::afterPart {{{{492.452545,225.21521}, {510.633007,210.096065}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpAngle::after [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 < [5/14] 25/25 tStart=0.32993192 tEnd=0.334541898 < [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 T 4
+SkOpAngle::afterPart {{{{492.452545,225.21521}, {492.450867,225.216599}, {492.451324,225.216217}}}, 1} id=1
+SkOpAngle::afterPart {{{492.452545,225.21521}, {492.45285,225.216141}, {492.45285,225.216141}}} id=5
+SkOpAngle::afterPart {{{{492.452545,225.21521}, {510.633007,210.096065}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpAngle::after [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 < [3/7] 25/25 tStart=0.872874414 tEnd=0.870423127 < [5/14] 25/25 tStart=0.32993192 tEnd=0.334541898 F 7
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {492.451324,225.216217}, {492.451324,225.216217}}}, 1} id=1
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453522,225.21611}, {492.453522,225.21611}}} id=3
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453308,225.215759}, {492.45285,225.216141}}} id=5
+SkOpAngle::after [5/14] 25/25 tStart=0.32993192 tEnd=0.334541898 < [3/7] 25/25 tStart=0.872874414 tEnd=0.870423127 < [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 T 7
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453308,225.215759}, {492.45285,225.216141}}} id=5
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453522,225.21611}, {492.453522,225.21611}}} id=3
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {510.633465,210.095684}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpAngle::after [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 < [3/8] 9/9 tStart=0.872874414 tEnd=0.887605755 < [5/14] 25/25 tStart=0.32993192 tEnd=0.334541898 F 4
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {492.451324,225.216217}, {492.451324,225.216217}}}, 1} id=1
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.451429,225.21103}, {492.450012,225.207581}}} id=3
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453308,225.215759}, {492.45285,225.216141}}} id=5
+SkOpAngle::after [5/14] 25/25 tStart=0.32993192 tEnd=0.334541898 < [3/8] 9/9 tStart=0.872874414 tEnd=0.887605755 < [3/7] 25/25 tStart=0.872874414 tEnd=0.870423127 F 5
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453308,225.215759}, {492.45285,225.216141}}} id=5
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.451429,225.21103}, {492.450012,225.207581}}} id=3
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453522,225.21611}, {492.453522,225.21611}}} id=3
+SkOpAngle::after [3/7] 25/25 tStart=0.872874414 tEnd=0.870423127 < [3/8] 9/9 tStart=0.872874414 tEnd=0.887605755 < [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 F 4
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453522,225.21611}, {492.453522,225.21611}}} id=3
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.451429,225.21103}, {492.450012,225.207581}}} id=3
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {510.633465,210.095684}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpAngle::after [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 < [3/8] 9/9 tStart=0.872874414 tEnd=0.887605755 < [5/13] 9/9 tStart=0.32993192 tEnd=0.292224891 F 7
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {510.633465,210.095684}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.451429,225.21103}, {492.450012,225.207581}}} id=3
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.45174,225.211023}, {492.450012,225.20752}}} id=5
+SkOpAngle::after [5/13] 9/9 tStart=0.32993192 tEnd=0.292224891 < [3/8] 9/9 tStart=0.872874414 tEnd=0.887605755 < [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 T 7
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.45174,225.211023}, {492.450012,225.20752}}} id=5
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.451429,225.21103}, {492.450012,225.207581}}} id=3
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {492.451324,225.216217}, {492.451324,225.216217}}}, 1} id=1
+SkOpSegment::sortAngles [3] tStart=0.724616587 [20]
+SkOpAngle::after [3/3] 25/25 tStart=0.724616587 tEnd=0 < [6/17] 13/13 tStart=0.00147105082 tEnd=0 < [3/4] 9/9 tStart=0.724616587 tEnd=0.870423127 F 4
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.655145,225.685452}, {493.19165,226.887451}}} id=3
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.495178,225.325806}, {492.495178,225.325806}}} id=6
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.469401,225.254666}, {492.453522,225.21611}}} id=3
+SkOpAngle::after [3/3] 25/25 tStart=0.724616587 tEnd=0 < [6/18] 29/1 tStart=0.00147105082 tEnd=1 < [3/4] 9/9 tStart=0.724616587 tEnd=0.870423127 T 4
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.655145,225.685452}, {493.19165,226.887451}}} id=3
+SkOpAngle::afterPart {{{492.500397,225.326553}, {494.273071,225.580858}, {494.37619,225.116943}}} id=6
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.469401,225.254666}, {492.453522,225.21611}}} id=3
+SkOpSegment::sortAngles [3] tStart=0.870423127 [22]
+SkOpAngle::after [3/5] 25/25 tStart=0.870423127 tEnd=0.724616587 < [7/19] 1/1 tStart=0.998861268 tEnd=0 < [3/6] 9/9 tStart=0.870423127 tEnd=0.872874414 T 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.469401,225.254666}, {492.500397,225.326553}}} id=3
+SkOpAngle::afterPart {{{492.453522,225.21611}, {494.37619,225.116943}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.453003,225.214828}, {492.453003,225.214828}}} id=3
+SkOpAngle::after [3/5] 25/25 tStart=0.870423127 tEnd=0.724616587 < [7/20] 17/17 tStart=0.998861268 tEnd=0.999209221 < [7/19] 1/1 tStart=0.998861268 tEnd=0 F 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.469401,225.254666}, {492.500397,225.326553}}} id=3
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45285,225.216141}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {494.37619,225.116943}}} id=7
+SkOpAngle::after [7/19] 1/1 tStart=0.998861268 tEnd=0 < [7/20] 17/17 tStart=0.998861268 tEnd=0.999209221 < [3/6] 9/9 tStart=0.870423127 tEnd=0.872874414 F 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {494.37619,225.116943}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45285,225.216141}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.453003,225.214828}, {492.453003,225.214828}}} id=3
+SkOpAngle::after [3/6] 9/9 tStart=0.870423127 tEnd=0.872874414 < [7/20] 17/17 tStart=0.998861268 tEnd=0.999209221 < [3/5] 25/25 tStart=0.870423127 tEnd=0.724616587 T 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.453003,225.214828}, {492.453003,225.214828}}} id=3
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45285,225.216141}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.469401,225.254666}, {492.500397,225.326553}}} id=3
+SkOpSegment::sortAngles [3] tStart=0.872874414 [16]
+SkOpSegment::sortAngles [3] tStart=0.887605755 [18]
+SkOpAngle::after [3/9] 25/25 tStart=0.887605755 tEnd=0.872874414 < [5/11] 9/9 tStart=0.292224891 tEnd=0 < [3/10] 9/9 tStart=0.887605755 tEnd=1 T 11
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.453003,225.214767}, {492.453003,225.214828}}} id=3
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.440051,225.177084}, {492.42984,225.142548}}} id=5
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.439333,225.181283}, {492.437775,225.175201}}} id=3
+SkOpAngle::after [3/9] 25/25 tStart=0.887605755 tEnd=0.872874414 < [5/12] 25/25 tStart=0.292224891 tEnd=0.32993192 < [5/11] 9/9 tStart=0.292224891 tEnd=0 F 12
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.453003,225.214767}, {492.453003,225.214828}}} id=3
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.451282,225.211404}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.440051,225.177084}, {492.42984,225.142548}}} id=5
+SkOpAngle::after [5/11] 9/9 tStart=0.292224891 tEnd=0 < [5/12] 25/25 tStart=0.292224891 tEnd=0.32993192 < [3/10] 9/9 tStart=0.887605755 tEnd=1 F 5
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.440051,225.177084}, {492.42984,225.142548}}} id=5
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.451282,225.211404}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.439333,225.181283}, {492.437775,225.175201}}} id=3
+SkOpAngle::after [3/10] 9/9 tStart=0.887605755 tEnd=1 < [5/12] 25/25 tStart=0.292224891 tEnd=0.32993192 < [3/9] 25/25 tStart=0.887605755 tEnd=0.872874414 T 11
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.439333,225.181283}, {492.437775,225.175201}}} id=3
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.451282,225.211404}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.453003,225.214767}, {492.453003,225.214828}}} id=3
+SkOpSegment::sortAngles [5] tStart=0.292224891 [19]
+SkOpSegment::sortAngles [5] tStart=0.32993192 [17]
+SkOpSegment::sortAngles [5] tStart=0.334541898 [24]
+SkOpAngle::after [5/15] 9/9 tStart=0.334541898 tEnd=0.32993192 < [7/21] 1/1 tStart=0.999209221 tEnd=0.998861268 < [5/16] 25/25 tStart=0.334541898 tEnd=1 F 4
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.452545,225.21521}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.453522,225.21611}}} id=7
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.475165,225.283211}, {492.495178,225.325806}}} id=5
+SkOpAngle::after [5/15] 9/9 tStart=0.334541898 tEnd=0.32993192 < [7/22] 17/17 tStart=0.999209221 tEnd=1 < [5/16] 25/25 tStart=0.334541898 tEnd=1 T 4
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.452545,225.21521}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.451324,225.216217}}} id=7
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.475165,225.283211}, {492.495178,225.325806}}} id=5
+SkOpSegment::sortAngles [6] tStart=0.00147105082 [21]
+SkOpSegment::sortAngles [7] tStart=0.998861268 [23]
+SkOpSegment::sortAngles [7] tStart=0.999209221 [25]
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+SkOpSpan::sortableTop dir=kTop seg=1 t=3.25323518e-05 pt=(492.452148,225.215515)
+SkOpSpan::sortableTop [0] valid=1 operand=0 span=16 ccw=0 seg=3 {{{493.19165f, 226.887451f}, {492.451447f, 225.22908f}, {492.437775f, 225.175201f}}} t=0.876908819 pt=(492.452148,225.212769) slope=(-0.103101554,-0.251377622)
+SkOpSpan::sortableTop [1] valid=1 operand=0 span=19 ccw=1 seg=5 {{{492.42984f, 225.142548f}, {492.465088f, 225.261765f}, {492.495178f, 225.325806f}}} t=0.324136764 pt=(492.452148,225.214035) slope=(0.0335760769,0.10133242)
+SkOpSpan::sortableTop [2] valid=1 operand=0 span=1 ccw=1 seg=1 {{{{492.451324f, 225.216217f}, {510.633392f, 210.095627f}, {511.418884f, 210.714493f}}}, 0.707106769f} t=3.25323518e-05 pt=(492.452148,225.215515) slope=(12.8564438,-10.6916478)
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.872874414 [16] (492.453003,225.214828) tEnd=0.887605755 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.872874414 [16] (492.453003,225.214828) tEnd=0.887605755 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.292224891 [19] (492.450012,225.20752) tEnd=0.32993192 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.292224891 [19] (492.450012,225.20752) tEnd=0.32993192 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=0 [1] (492.451324,225.216217) tEnd=6.50647037e-05 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=0 [1] (492.451324,225.216217) tEnd=6.50647037e-05 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=7 (494.37619,225.116943 492.451324,225.216217) t=0.999209221 [25] (492.45285,225.216141) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=0 [1] (492.451324,225.216217) tEnd=6.50647037e-05 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=1 from=(492.453003,225.214828) to=(492.451324,225.216217)
+path.moveTo(492.453003,225.214828);
+path.conicTo(492.452148,225.215515, 492.451324,225.216217, 1);
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.334541898 [24] (492.45285,225.216141) tEnd=1 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markWinding id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0 [11] (492.495178,225.325806) tEnd=0.00147105082 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=6 span=21 windSum=?
+SkOpSegment::markWinding id=7 (494.37619,225.116943 492.451324,225.216217) t=0.998861268 [23] (492.453522,225.21611) tEnd=0.999209221 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=7 span=23 windSum=1
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.32993192 [17] (492.452545,225.21521) tEnd=0.334541898 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=5 span=17 windSum=-1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [7/22] next=5/16 sect=17/17 s=0.999209221 [25] e=1 [14] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [5/16] next=7/21 sect=25/25 s=0.334541898 [24] e=1 [10] sgn=-1 windVal=1 windSum=1
+SkOpAngle::dumpOne [7/21] next=5/15 sect=1/1 s=0.999209221 [25] e=0.998861268 [23] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [5/15] next=7/22 sect=9/9 s=0.334541898 [24] e=0.32993192 [17] sgn=1 windVal=1 windSum=-1
+SkOpSegment::findNextWinding chase.append segment=6 span=21 windSum=-2147483647
+SkOpSegment::findNextWinding chase.append segment=7 span=23 windSum=1
+SkOpSegment::findNextWinding chase.append segment=5 span=17 windSum=-1
+SkOpSegment::markDone id=7 (494.37619,225.116943 492.451324,225.216217) t=0.999209221 [25] (492.45285,225.216141) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[7] to:[5] start=7393664 end=7391976
+bridgeWinding current id=7 from=(492.451324,225.216217) to=(492.45285,225.216141)
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.334541898 [24] (492.45285,225.216141) tEnd=1 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+bridgeWinding current id=5 from=(492.45285,225.216141) to=(492.495178,225.325806)
+path.lineTo(492.45285,225.216141);
+path.quadTo(492.475159,225.283218, 492.495178,225.325806);
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0 [5] (493.19165,226.887451) tEnd=0.724616587 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 [3] (511.418884,210.714493) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=6.50647037e-05 [15] (492.453003,225.214828) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=1 span=15 windSum=-1
+SkOpSegment::markWinding id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0.00147105082 [21] (492.500397,225.326553) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=7 (494.37619,225.116943 492.451324,225.216217) t=0 [13] (494.37619,225.116943) tEnd=0.998861268 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=7 span=23 windSum=1
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.724616587 [20] (492.500397,225.326553) tEnd=0.870423127 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=3 span=22 windSum=?
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [6/17] next=3/3 sect=13/13 s=0.00147105082 [21] e=0 [11] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [3/3] next=6/18 sect=25/25 s=0.724616587 [20] e=0 [5] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [6/18] next=3/4 sect=29/1 s=0.00147105082 [21] e=1 [12] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/4] next=6/17 sect=9/9 s=0.724616587 [20] e=0.870423127 [22] sgn=-1 windVal=1 windSum=1
+SkOpSegment::findNextWinding chase.append segment=1 span=15 windSum=-1
+SkOpSegment::findNextWinding chase.append segment=3 span=22 windSum=-2147483647
+SkOpSegment::markDone id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0 [11] (492.495178,225.325806) tEnd=0.00147105082 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[6] to:[3] start=7393216 end=7391336
+bridgeWinding current id=6 from=(492.495178,225.325806) to=(492.500397,225.326553)
+path.quadTo(492.497803,225.326187, 492.500397,225.326553);
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0 [5] (493.19165,226.887451) tEnd=0.724616587 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=3 from=(492.500397,225.326553) to=(493.19165,226.887451)
+path.quadTo(492.655151,225.685455, 493.19165,226.887451);
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 [3] (511.418884,210.714493) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=2 from=(493.19165,226.887451) to=(511.418884,210.714493)
+path.quadTo(494.350159,228.773712, 511.418884,210.714493);
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.870423127 [22] (492.453522,225.21611) tEnd=0.872874414 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=3 span=22 windSum=-1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [1/2] next=5/13 sect=1/1 s=6.50647037e-05 [15] e=1 [2] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [5/13] next=3/8 sect=9/9 s=0.32993192 [17] e=0.292224891 [19] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [3/8] next=1/1 sect=9/9 s=0.872874414 [16] e=0.887605755 [18] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [1/1] next=5/14 sect=17/17 s=6.50647037e-05 [15] e=0 [1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [5/14] next=3/7 sect=25/25 s=0.32993192 [17] e=0.334541898 [24] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/7] next=1/2 sect=25/25 s=0.872874414 [16] e=0.870423127 [22] sgn=1 windVal=1 windSum=-1
+SkOpSegment::markDone id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=6.50647037e-05 [15] (492.453003,225.214828) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[1] to:[5] start=7392880 end=7393104
+bridgeWinding current id=1 from=(511.418884,210.714493) to=(492.453003,225.214828)
+path.conicTo(510.633453,210.095688, 492.453003,225.214828, 0.707139313);
+path.close();
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=1 windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=1 windValue=1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [7/21] next=5/15 sect=1/1 s=0.999209221 [25] e=0.998861268 [23] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [5/15] next=7/22 sect=9/9 s=0.334541898 [24] e=0.32993192 [17] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [7/22] next=5/16 sect=17/17 s=0.999209221 [25] e=1 [14] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [5/16] next=7/21 sect=25/25 s=0.334541898 [24] e=1 [10] sgn=-1 windVal=1 windSum=1 done
+SkOpSegment::markDone id=7 (494.37619,225.116943 492.451324,225.216217) t=0.998861268 [23] (492.453522,225.21611) tEnd=0.999209221 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[7] to:[5] start=7393664 end=7392880
+bridgeWinding current id=7 from=(492.453522,225.21611) to=(492.45285,225.216141)
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [5/14] next=3/7 sect=25/25 s=0.32993192 [17] e=0.334541898 [24] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/7] next=1/2 sect=25/25 s=0.872874414 [16] e=0.870423127 [22] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [1/2] next=5/13 sect=1/1 s=6.50647037e-05 [15] e=1 [2] sgn=-1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [5/13] next=3/8 sect=9/9 s=0.32993192 [17] e=0.292224891 [19] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [3/8] next=1/1 sect=9/9 s=0.872874414 [16] e=0.887605755 [18] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [1/1] next=5/14 sect=17/17 s=6.50647037e-05 [15] e=0 [1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.32993192 [17] (492.452545,225.21521) tEnd=0.334541898 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[5] to:[3] start=7392768 end=7393440
+bridgeWinding current id=5 from=(492.45285,225.216141) to=(492.452545,225.21521)
+path.moveTo(492.453522,225.21611);
+path.lineTo(492.45285,225.216141);
+path.quadTo(492.452698,225.215683, 492.452545,225.21521);
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [3/6] next=7/20 sect=9/9 s=0.870423127 [22] e=0.872874414 [16] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [7/20] next=3/5 sect=17/17 s=0.998861268 [23] e=0.999209221 [25] sgn=-1 windVal=1 windSum=1 done
+SkOpAngle::dumpOne [3/5] next=7/19 sect=25/25 s=0.870423127 [22] e=0.724616587 [20] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [7/19] next=3/6 sect=1/1 s=0.998861268 [23] e=0 [13] sgn=1 windVal=1 windSum=-1
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.870423127 [22] (492.453522,225.21611) tEnd=0.872874414 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[3] to:[7] start=7393552 end=7392392
+bridgeWinding current id=3 from=(492.453003,225.214828) to=(492.453522,225.21611)
+path.lineTo(492.453003,225.214828);
+path.quadTo(492.453247,225.215469, 492.453522,225.21611);
+path.close();
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=1 windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=-1 windValue=1
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=7 (494.37619,225.116943 492.451324,225.216217) t=0 [13] (494.37619,225.116943) tEnd=0.998861268 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=7 from=(492.453522,225.21611) to=(494.37619,225.116943)
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [6/18] next=3/4 sect=29/1 s=0.00147105082 [21] e=1 [12] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/4] next=6/17 sect=9/9 s=0.724616587 [20] e=0.870423127 [22] sgn=-1 windVal=1 windSum=1
+SkOpAngle::dumpOne [6/17] next=3/3 sect=13/13 s=0.00147105082 [21] e=0 [11] sgn=1 windVal=1 windSum=1 done
+SkOpAngle::dumpOne [3/3] next=6/18 sect=25/25 s=0.724616587 [20] e=0 [5] sgn=1 windVal=1 windSum=-1 done
+SkOpSegment::markDone id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0.00147105082 [21] (492.500397,225.326553) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[6] to:[3] start=7393216 end=7393440
+bridgeWinding current id=6 from=(494.37619,225.116943) to=(492.500397,225.326553)
+path.moveTo(492.453522,225.21611);
+path.lineTo(494.37619,225.116943);
+path.quadTo(494.273071,225.580856, 492.500397,225.326553);
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [3/5] next=7/19 sect=25/25 s=0.870423127 [22] e=0.724616587 [20] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [7/19] next=3/6 sect=1/1 s=0.998861268 [23] e=0 [13] sgn=1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [3/6] next=7/20 sect=9/9 s=0.870423127 [22] e=0.872874414 [16] sgn=-1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [7/20] next=3/5 sect=17/17 s=0.998861268 [23] e=0.999209221 [25] sgn=-1 windVal=1 windSum=1 done
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.724616587 [20] (492.500397,225.326553) tEnd=0.870423127 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[3] to:[7] start=7393552 end=7393776
+bridgeWinding current id=3 from=(492.500397,225.326553) to=(492.453522,225.21611)
+path.quadTo(492.469391,225.254669, 492.453522,225.21611);
+path.close();
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0 [9] (492.42984,225.142548) tEnd=0.292224891 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=4 (492.437775,225.175201 492.42984,225.142548) t=0 [7] (492.437775,225.175201) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.887605755 [18] (492.450012,225.207581) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=3 span=18 windSum=-1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [5/12] next=3/9 sect=25/25 s=0.292224891 [19] e=0.32993192 [17] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [3/9] next=5/11 sect=25/25 s=0.887605755 [18] e=0.872874414 [16] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [5/11] next=3/10 sect=9/9 s=0.292224891 [19] e=0 [9] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/10] next=5/12 sect=9/9 s=0.887605755 [18] e=1 [6] sgn=-1 windVal=1 windSum=-1
+SkOpSegment::findNextWinding chase.append segment=3 span=18 windSum=-1
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.292224891 [19] (492.450012,225.20752) tEnd=0.32993192 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[5] to:[3] start=7392992 end=7392768
+bridgeWinding current id=5 from=(492.452545,225.21521) to=(492.450012,225.20752)
+path.moveTo(492.452545,225.21521);
+path.quadTo(492.451294,225.211411, 492.450012,225.20752);
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [3/8] next=1/1 sect=9/9 s=0.872874414 [16] e=0.887605755 [18] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [1/1] next=5/14 sect=17/17 s=6.50647037e-05 [15] e=0 [1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [5/14] next=3/7 sect=25/25 s=0.32993192 [17] e=0.334541898 [24] sgn=-1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [3/7] next=1/2 sect=25/25 s=0.872874414 [16] e=0.870423127 [22] sgn=1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [1/2] next=5/13 sect=1/1 s=6.50647037e-05 [15] e=1 [2] sgn=-1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [5/13] next=3/8 sect=9/9 s=0.32993192 [17] e=0.292224891 [19] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0 done
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.872874414 [16] (492.453003,225.214828) tEnd=0.887605755 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[3] to:[5] start=7392880 end=7393104
+bridgeWinding current id=3 from=(492.450012,225.207581) to=(492.453003,225.214828)
+path.lineTo(492.450012,225.207581);
+path.quadTo(492.451416,225.211029, 492.453003,225.214828);
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [5/12] next=3/9 sect=25/25 s=0.292224891 [19] e=0.32993192 [17] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [3/9] next=5/11 sect=25/25 s=0.887605755 [18] e=0.872874414 [16] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [5/11] next=3/10 sect=9/9 s=0.292224891 [19] e=0 [9] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/10] next=5/12 sect=9/9 s=0.887605755 [18] e=1 [6] sgn=-1 windVal=1 windSum=-1
+SkOpSegment::findNextWinding from:[5] to:[3] start=7392992 end=7391448
+bridgeWinding current id=5 from=(492.452545,225.21521) to=(492.450012,225.20752)
+c:\puregit\src\pathops\skopsegment.cpp:164: fatal error: "assert((this->globalState() && (this->globalState()->debugCheckHealth() || this->globalState()->debugSkipAssert())) || (!fail))"
+pathops_unittest.exe has triggered a breakpoint.
</div>
</div>
@@ -701,8 +2081,11 @@ path.cubicTo(3.37368608,3.12631392, 3.248106,3.251894, 3.125,3.375);
<script type="text/javascript">
var testDivs = [
- cubics_d3,
-];
+ cubicOp158,
+ cubicOp158ref,
+ tiger8a_h_1,
+ tiger8a_h_1ref,
+ ];
var decimal_places = 3; // make this 3 to show more precision