Commit e141acf7 authored by LULUDBR\Lulu's avatar LULUDBR\Lulu
Browse files

Merge remote-tracking branch 'origin/master'

parents 7c42f49c 298ba538
#Proof-Settings-Config-File
#Mon Feb 05 16:31:07 CET 2018
[StrategyProperty]OSS_OPTIONS_KEY=OSS_ON
[StrategyProperty]VBT_PHASE=VBT_SYM_EX
[SMTSettings]useUninterpretedMultiplication=true
[SMTSettings]SelectedTaclets=
[StrategyProperty]METHOD_OPTIONS_KEY=METHOD_CONTRACT
[StrategyProperty]USER_TACLETS_OPTIONS_KEY3=USER_TACLETS_OFF
[StrategyProperty]SYMBOLIC_EXECUTION_ALIAS_CHECK_OPTIONS_KEY=SYMBOLIC_EXECUTION_ALIAS_CHECK_NEVER
[StrategyProperty]LOOP_OPTIONS_KEY=LOOP_INVARIANT
[StrategyProperty]USER_TACLETS_OPTIONS_KEY2=USER_TACLETS_OFF
[StrategyProperty]USER_TACLETS_OPTIONS_KEY1=USER_TACLETS_OFF
[StrategyProperty]QUANTIFIERS_OPTIONS_KEY=QUANTIFIERS_NON_SPLITTING_WITH_PROGS
[StrategyProperty]NON_LIN_ARITH_OPTIONS_KEY=NON_LIN_ARITH_NONE
[SMTSettings]instantiateHierarchyAssumptions=true
[StrategyProperty]AUTO_INDUCTION_OPTIONS_KEY=AUTO_INDUCTION_OFF
[StrategyProperty]DEP_OPTIONS_KEY=DEP_ON
[StrategyProperty]BLOCK_OPTIONS_KEY=BLOCK_CONTRACT
[StrategyProperty]CLASS_AXIOM_OPTIONS_KEY=CLASS_AXIOM_FREE
[StrategyProperty]SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OPTIONS_KEY=SYMBOLIC_EXECUTION_NON_EXECUTION_BRANCH_HIDING_OFF
[StrategyProperty]QUERY_NEW_OPTIONS_KEY=QUERY_OFF
[Strategy]Timeout=-1
[Strategy]MaximumNumberOfAutomaticApplications=10000
[SMTSettings]integersMaximum=2147483645
[Choice]DefaultChoices=assertions-assertions\:safe , initialisation-initialisation\:disableStaticInitialisation , intRules-intRules\:arithmeticSemanticsIgnoringOF , programRules-programRules\:Java , runtimeExceptions-runtimeExceptions\:allow , JavaCard-JavaCard\:off , Strings-Strings\:on , modelFields-modelFields\:treatAsAxiom , bigint-bigint\:on , sequences-sequences\:on , moreSeqRules-moreSeqRules\:on , reach-reach\:on , integerSimplificationRules-integerSimplificationRules\:full , permissions-permissions\:off , wdOperator-wdOperator\:L , wdChecks-wdChecks\:off , mergeGenerateIsWeakeningGoal-mergeGenerateIsWeakeningGoal\:off
[SMTSettings]useConstantsForBigOrSmallIntegers=true
[StrategyProperty]STOPMODE_OPTIONS_KEY=STOPMODE_DEFAULT
[StrategyProperty]QUERYAXIOM_OPTIONS_KEY=QUERYAXIOM_ON
[StrategyProperty]INF_FLOW_CHECK_PROPERTY=INF_FLOW_CHECK_FALSE
[SMTSettings]maxGenericSorts=2
[SMTSettings]integersMinimum=-2147483645
[SMTSettings]invariantForall=false
[SMTSettings]UseBuiltUniqueness=false
[SMTSettings]explicitTypeHierarchy=false
[Strategy]ActiveStrategy=JavaCardDLStrategy
[StrategyProperty]SPLITTING_OPTIONS_KEY=SPLITTING_DELAYED
[StrategyProperty]MPS_OPTIONS_KEY=MPS_MERGE
......@@ -10,12 +10,14 @@ script split_from_quicksort() {
}
cases{
case match `==> seqDef(_,_,_) = seqDef(_, _, _)`:
cases{
case match `? ==> seqDef{?;}(?,?,?) = seqDef{?;}(?, ?, ?)`:
__KEY_MAX_STEPS:=10000;
auto;
case match `==> (\exists ?X (\exists ?Y _))`:
case match `? ==> (\exists ?X:int; (\exists ?Y:int; ?))`:
instantiate var=X with=`i_0`;
instantiate var=Y with=`j_0`;
__KEY_MAX_STEPS:=60000;
auto;
}
}
......
@base03: rgb(0, 43, 54);
@base02: rgb(7, 54, 66);
@base01: rgb(88, 110, 117);
@base01: #000000;
//@base01: rgb(88, 110, 117);
@base00: rgb(101, 123, 131);
@base0: rgb(131, 148, 150);
@base1: rgb(147, 161, 161);
......@@ -15,9 +17,11 @@
@cyan: rgb(42, 161, 152);
@green: rgb(38, 187, 108);
@basenavy: #f6f8ff;
//screenshot @basenavy: #ffffff;
@keywordColor: #200080;
@stringliteralColor: #6679aa;
@integerLiteralColor: #008c00;
@screenShotMarkerBase: #97ffc6;
.solarized-dark() {
background-color: @base03;
......@@ -35,7 +39,7 @@
-fx-font-family: "Inconsolata", monospace;
//-fx-font-family: "Fira Code Medium", monospace;
-fx-font-size: 12pt;
//-fx-font-size: 18pt;
// -fx-font-size: 20pt;
-fx-fill: @base00;
.lineno {
......@@ -112,7 +116,9 @@
}
.line-highlight-postmortem {
-rtfx-background-color: @cyan;
// -rtfx-background-color: @cyan;
-rtfx-background-color: @screenShotMarkerBase;
}
.line-unhighlight {
......@@ -120,7 +126,8 @@
}
.line-highlight-mainScript {
-rtfx-background-color: @green;
// -rtfx-background-color: @green;
-rtfx-background-color: @screenShotMarkerBase;
}
}
......@@ -139,7 +146,7 @@
// -fx-background-color: @base3;
-fx-font-family: "Inconsolata", monospace;
-fx-font-size: 12pt;
//-fx-font-size: 18pt;
//-fx-font-size: 20pt;
-fx-fill: @base01;
.ABSTRACT, .ASSERT, .BOOLEAN, .BREAK, .BYTE, .CASE, .CATCH, .CHAR, .CLASS, .CONST,
......@@ -192,7 +199,9 @@
-fx-underline: true;
}
.line-highlight {
-rtfx-background-color: @cyan;
// -rtfx-background-color: @cyan;
-rtfx-background-color: @screenShotMarkerBase;
}
.line-un-highlight {
-rtfx-background-color: @basenavy;
......@@ -234,7 +243,7 @@
.sequent-view {
-fx-font-size: 14pt;
//-fx-font-size: 18pt;
// -fx-font-size: 20pt;
-fx-background-color: @basenavy;
-fx-fill: black;
......
......@@ -56,10 +56,9 @@ The main features of the language are:
1. integration of domain specific entities like goal, formula, term and rule as
first-class citizens into the language;</li>
1. an expressive proof goal selection mechanism
* to identify and select individual proof branches,
* to easily switch between proof branches,
* to select multiple branches for uniform treatment (multi-matching);
that is resilient to small changes in the proof
- to identify and select individual proof branches,
- to easily switch between proof branches,
- to select multiple branches for uniform treatment (multi-matching); that is resilient to small changes in the proof
1. a repetition construct which allows repeated application of proof strategies;</li>
1. support for proof exploration within the language.</li>
......@@ -71,7 +70,9 @@ the analysis of failed proof attempts.
## Publications
A full description of the language and debugging-concept
is published at [HVC 2017](http://rdcu.be/E4fF)
is published at [HVC 2017](http://rdcu.be/E4fF).
A short tool description is also [available](
http://arxiv.org/abs/1804.04402).
## Debugging Script for Quicksort's `split` method.
......@@ -208,18 +209,33 @@ interactive rule applications.
<h2>Downloads</h2>
<ul>
<li>PSDBG - <strong>Version 1.0.1c-FM</strong>
<a href="../psdbg_releases/psdbg-1.0.1c-fm.jar">psdbg-1.0.1c-fm.jar</a>
<li>PSDBG - <strong>Experimental Version</strong>
<a href="../psdbg_releases/psdbg-Experimental-1.1.jar">psdbg-Experimental-1.1.jar</a>
<br>
Special Version for the tool paper at Formal Methods 2018.
Including examples and all dependencies.
This version is an experimental development version of PSDBG, including examples.
Its enhancements are based on an evaluation of the first version.
Not all provided features in this version may be completely functional yet.
<br>
One major change is the syntax for Matching Expressions. The wildcard symbol is now "?" instead of "_".
<br>
Requires Java version 1.8.0_111 or higher; Not working with Java 9, because of depdendencies.
<br>
<a href="https://www.gnu.org/licenses/gpl-3.0.txt">License: GPLv3</a>
<a href="thirdparty.txt">Third Party Licenses</a>
<br>
Executable with <code>java -jar psdbg-Experimental-1.1.jar</code>
</li>
<li>PSDBG - <strong>Version 1.0.2c-FM</strong>
<a href="../psdbg_releases/psdbg-1.0.2c-fm.jar">psdbg-1.0.2c-fm.jar</a>
<br>
First implementation of PSDBG, including examples.
<br>
Requires Java version 1.8.0_111 or higher; Not working with Java 9, because of depdendencies.
<br>
<a href="https://www.gnu.org/licenses/gpl-3.0.txt">License: GPLv3</a>
<a href="thirdparty.txt">Third Party Licenses</a>
<br>
Executable with <code>java -jar psdbg-1.0.1c-fm.jar</code>
Executable with <code>java -jar psdbg-1.0.2c-fm.jar</code>
</li>
</ul>
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="182.14674mm"
height="99.805733mm"
viewBox="0 0 182.14674 99.805733"
version="1.1"
id="svg8"
inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
sodipodi:docname="logo.svg">
<defs
id="defs2">
<linearGradient
id="linearGradient3320"
inkscape:collect="always">
<stop
id="stop3322"
offset="0"
style="stop-color:#000000;stop-opacity:1;" />
<stop
id="stop3324"
offset="1"
style="stop-color:#000000;stop-opacity:0;" />
</linearGradient>
<linearGradient
id="linearGradient3310"
inkscape:collect="always">
<stop
id="stop3312"
offset="0"
style="stop-color:#6d1c1c;stop-opacity:1;" />
<stop
id="stop3314"
offset="1"
style="stop-color:#da3737;stop-opacity:1" />
</linearGradient>
<linearGradient
id="linearGradient3254"
inkscape:collect="always">
<stop
id="stop3256"
offset="0"
style="stop-color:#e98787;stop-opacity:1;" />
<stop
id="stop3258"
offset="1"
style="stop-color:#e98787;stop-opacity:0;" />
</linearGradient>
<linearGradient
id="linearGradient3216"
inkscape:collect="always">
<stop
id="stop3218"
offset="0"
style="stop-color:#e15f5f;stop-opacity:1;" />
<stop
id="stop3220"
offset="1"
style="stop-color:#e15f5f;stop-opacity:0;" />
</linearGradient>
<linearGradient
id="linearGradient2420"
inkscape:collect="always">
<stop
id="stop2422"
offset="0"
style="stop-color:#ff8080;stop-opacity:1;" />
<stop
id="stop2424"
offset="1"
style="stop-color:#ff8080;stop-opacity:0;" />
</linearGradient>
<inkscape:perspective
id="perspective10"
inkscape:persp3d-origin="372.04723 : 350.78739 : 1"
inkscape:vp_z="744.09447 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_x="0 : 526.18109 : 1"
sodipodi:type="inkscape:persp3d" />
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09447 : 526.18109 : 1"
inkscape:persp3d-origin="372.04723 : 350.78739 : 1"
id="perspective2390" />
<radialGradient
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.8605201,-0.06557467,0.09711084,-1.2743539,1116.016,1293.4533)"
r="144.5484"
fy="549.17914"
fx="628.50555"
cy="549.17914"
cx="628.50555"
id="radialGradient2426"
xlink:href="#linearGradient2420"
inkscape:collect="always" />
<radialGradient
r="144.5484"
fy="588.53839"
fx="641.08417"
cy="588.53839"
cx="641.08417"
gradientTransform="matrix(-0.3447525,-0.04403987,0.1039086,-0.8134159,788.11995,1026.781)"
gradientUnits="userSpaceOnUse"
id="radialGradient2430"
xlink:href="#linearGradient2420"
inkscape:collect="always" />
<radialGradient
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.1262042,0.8023724,-1.1101397,-0.1746139,414.45864,258.61708)"
r="82.22187"
fy="373.7114"
fx="84.431335"
cy="373.7114"
cx="84.431335"
id="radialGradient3222"
xlink:href="#linearGradient3216"
inkscape:collect="always" />
<radialGradient
r="22.322405"
fy="202.41866"
fx="233.92708"
cy="202.41866"
cx="233.92708"
gradientTransform="matrix(-0.04785117,0.5981427,-1.0206648,-0.08165276,451.72234,78.712949)"
gradientUnits="userSpaceOnUse"
id="radialGradient3275"
xlink:href="#linearGradient3254"
inkscape:collect="always" />
<radialGradient
r="22.322405"
fy="202.41866"
fx="233.92708"
cy="202.41866"
cx="233.92708"
gradientTransform="matrix(-0.04785117,0.5981427,-1.0206648,-0.08165276,451.72234,78.712949)"
gradientUnits="userSpaceOnUse"
id="radialGradient3277"
xlink:href="#linearGradient3254"
inkscape:collect="always" />
<radialGradient
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.5493211,-2.0680325,2.3130941,-0.6144144,-548.22574,703.88243)"
r="40.668789"
fy="301.26511"
fx="95.931564"
cy="301.26511"
cx="95.931564"
id="radialGradient3316"
xlink:href="#linearGradient3310"
inkscape:collect="always" />
<radialGradient
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.7108863,-1.2602075,2.0845187,1.1758792,-550.45336,231.26307)"
r="40.668785"
fy="263.09619"
fx="134.09702"
cy="263.09619"
cx="134.09702"
id="radialGradient3326"
xlink:href="#linearGradient3320"
inkscape:collect="always" />
<radialGradient
r="144.5484"
fy="549.17914"
fx="628.50555"
cy="549.17914"
cx="628.50555"
gradientTransform="matrix(-0.8605201,-0.06557467,0.09711084,-1.2743539,1116.016,1293.4533)"
gradientUnits="userSpaceOnUse"
id="radialGradient3337"
xlink:href="#linearGradient2420"
inkscape:collect="always" />
<radialGradient
r="144.5484"
fy="549.17914"
fx="628.50555"
cy="549.17914"
cx="628.50555"
gradientTransform="matrix(-0.8605201,-0.06557467,0.09711084,-1.2743539,1116.016,1293.4533)"
gradientUnits="userSpaceOnUse"
id="radialGradient3357"
xlink:href="#linearGradient2420"
inkscape:collect="always" />
<radialGradient
r="144.5484"
fy="588.53839"
fx="641.08417"
cy="588.53839"
cx="641.08417"
gradientTransform="matrix(-0.3447525,-0.04403987,0.1039086,-0.8134159,788.11995,1026.781)"
gradientUnits="userSpaceOnUse"
id="radialGradient3359"
xlink:href="#linearGradient2420"
inkscape:collect="always" />
<radialGradient
r="22.322405"
fy="202.41866"
fx="233.92708"
cy="202.41866"
cx="233.92708"
gradientTransform="matrix(-0.04785117,0.5981427,-1.0206648,-0.08165276,451.72234,78.712949)"
gradientUnits="userSpaceOnUse"
id="radialGradient3400"
xlink:href="#linearGradient3254"
inkscape:collect="always" />
<radialGradient
r="22.322405"
fy="202.41866"
fx="233.92708"
cy="202.41866"
cx="233.92708"
gradientTransform="matrix(-0.04785117,0.5981427,-1.0206648,-0.08165276,451.72234,78.712949)"
gradientUnits="userSpaceOnUse"
id="radialGradient3402"
xlink:href="#linearGradient3254"
inkscape:collect="always" />
<radialGradient
r="82.22187"
fy="373.7114"
fx="84.431335"
cy="373.7114"
cx="84.431335"
gradientTransform="matrix(-0.1262042,0.8023724,-1.1101397,-0.1746139,414.45864,258.61708)"
gradientUnits="userSpaceOnUse"
id="radialGradient3404"
xlink:href="#linearGradient3216"
inkscape:collect="always" />
<radialGradient
r="144.5484"
fy="549.17914"
fx="628.50555"
cy="549.17914"
cx="628.50555"
gradientTransform="matrix(-0.8605201,-0.06557467,0.09711084,-1.2743539,1116.016,1293.4533)"
gradientUnits="userSpaceOnUse"
id="radialGradient3406"
xlink:href="#linearGradient2420"
inkscape:collect="always" />
<radialGradient
r="144.5484"
fy="588.53839"
fx="641.08417"
cy="588.53839"
cx="641.08417"
gradientTransform="matrix(-0.3447525,-0.04403987,0.1039086,-0.8134159,788.11995,1026.781)"
gradientUnits="userSpaceOnUse"
id="radialGradient3408"
xlink:href="#linearGradient2420"
inkscape:collect="always" />
<pattern
patternUnits="userSpaceOnUse"
width="535.13891"
height="538.24669"
patternTransform="translate(-113.85053,201.54167)"
id="pattern3536">
<g
id="g3373"
transform="translate(115.05348,-207.55642)">
<g
id="g3279">
<g
id="g3262"
transform="translate(12.817922,14.954243)">
<path
sodipodi:nodetypes="cc"
id="path3248"
d="M 236.0634,223.85642 C 262.63555,245.32975 249.94949,278.06776 249.94949,306.10476"
style="fill:none;fill-rule:evenodd;stroke:#a83939;stroke-width:12.60000038;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
d="m 248.88132,215.45866 a 16.022404,16.556482 0 0 1 -16.0224,16.55649 16.022404,16.556482 0 0 1 -16.02241,-16.55649 16.022404,16.556482 0 0 1 16.02241,-16.55648 16.022404,16.556482 0 0 1 16.0224,16.55648 z"
sodipodi:ry="16.556482"
sodipodi:rx="16.022404"
sodipodi:cy="215.45866"
sodipodi:cx="232.85892"
id="path3250"
style="opacity:1;fill:#a90000;fill-opacity:1;fill-rule:evenodd;stroke:#a83939;stroke-width:12.60000038;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
transform="matrix(0.8373857,-0.5466125,0.5466125,0.8373857,-82.042523,161.25209)"
sodipodi:type="arc"
style="opacity:1;fill:url(#radialGradient3564);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:12.60000038;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3252"
sodipodi:cx="232.85892"
sodipodi:cy="215.45866"
sodipodi:rx="16.022404"
sodipodi:ry="16.556482"
d="m 248.88132,215.45866 a 16.022404,16.556482 0 0 1 -16.0224,16.55649 16.022404,16.556482 0 0 1 -16.02241,-16.55649 16.022404,16.556482 0 0 1 16.02241,-16.55648 16.022404,16.556482 0 0 1 16.0224,16.55648 z" />
</g>
<g
id="g3267"
transform="matrix(-0.411986,-0.8808194,-0.9058136,0.4236765,688.58474,438.95472)">
<path
style="fill:none;fill-rule:evenodd;stroke:#a83939;stroke-width:12.60000038;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 236.0634,223.85642 C 262.63555,245.32975 249.94949,278.06776 249.94949,306.10476"
id="path3269"
sodipodi:nodetypes="cc" />
<path
sodipodi:type="arc"
style="opacity:1;fill:#a90000;fill-opacity:1;fill-rule:evenodd;stroke:#a83939;stroke-width:12.60000038;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3271"
sodipodi:cx="232.85892"
sodipodi:cy="215.45866"
sodipodi:rx="16.022404"
sodipodi:ry="16.556482"
d="m 248.88132,215.45866 a 16.022404,16.556482 0 0 1 -16.0224,16.55649 16.022404,16.556482 0 0 1 -16.02241,-16.55649 16.022404,16.556482 0 0 1 16.02241,-16.55648 16.022404,16.556482 0 0 1 16.0224,16.55648 z" />
<path
d="m 248.88132,215.45866 a 16.022404,16.556482 0 0 1 -16.0224,16.55649 16.022404,16.556482 0 0 1 -16.02241,-16.55649 16.022404,16.556482 0 0 1 16.02241,-16.55648 16.022404,16.556482 0 0 1 16.0224,16.55648 z"
sodipodi:ry="16.556482"
sodipodi:rx="16.022404"
sodipodi:cy="215.45866"
sodipodi:cx="232.85892"
id="path3273"
style="opacity:1;fill:url(#radialGradient3566);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:12.60000038;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc"
transform="matrix(0.8373857,-0.5466125,0.5466125,0.8373857,-82.042523,161.25209)" />
</g>
<g
id="g3224">
<path
transform="matrix(0.8157706,0.5658651,-0.5658651,0.8157706,449.78995,120.0763)"
d="m 63.784239,303.89401 a 82.22187,49.831436 0 0 1 -82.221871,49.83144 82.22187,49.831436 0 0 1 -82.221868,-49.83144 82.22187,49.831436 0 0 1 82.221868,-49.83143 82.22187,49.831436 0 0 1 82.221871,49.83143 z"
sodipodi:ry="49.831436"
sodipodi:rx="82.22187"
sodipodi:cy="303.89401"
sodipodi:cx="-18.437632"
id="path3212"
style="opacity:1;fill:#b80000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:16.60000038;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
sodipodi:type="arc"
style="opacity:1;fill:url(#radialGradient3568);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:16.60000038;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3214"
sodipodi:cx="-18.437632"
sodipodi:cy="303.89401"
sodipodi:rx="82.22187"
sodipodi:ry="49.831436"
d="m 63.784239,303.89401 a 82.22187,49.831436 0 0 1 -82.221871,49.83144 82.22187,49.831436 0 0 1 -82.221868,-49.83144 82.22187,49.831436 0 0 1 82.221868,-49.83143 82.22187,49.831436 0 0 1 82.221871,49.83143 z"
transform="matrix(0.7375667,0.5116184,-0.5116184,0.7375667,431.86282,144.77739)" />
</g>
</g>
<g
style="fill:#963f3f;fill-opacity:1"
transform="matrix(-0.1590994,-1.1032623,-1.0581625,3.5602217e-2,343.85759,266.46841)"
id="g3345">
<path
style="fill:#963f3f;fill-opacity:1;fill-rule:evenodd;stroke:#963f3f;stroke-width:38.59999847;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M -185.9631,-3.0245843 C -173.65209,27.978636 -176.06568,139.29859 -178.22037,158.60164"
id="path3339"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
id="path3341"
d="M -336.76292,72.749986 C -308.5143,90.491946 -244.69814,181.73586 -235.03313,198.58337"
style="fill:#963f3f;fill-opacity:1;fill-rule:evenodd;stroke:#963f3f;stroke-width:38.59999847;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:transform-center-x="19.701912"
inkscape:transform-center-y="-11.770787" />
<path
inkscape:transform-center-y="6.8425027"
inkscape:transform-center-x="-21.906548"
style="fill:#963f3f;fill-opacity:1;fill-rule:evenodd;stroke:#963f3f;stroke-width:38.59999847;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M -281.32214,281.1069 C -307.67731,280.96809 -389.72918,218.98424 -409.63317,182.52054"
id="path3343"
sodipodi:nodetypes="cc" />
</g>
<path
sodipodi:nodetypes="cc"
id="path3296"
d="M 127.91659,273.71321 C 140.2276,304.71643 137.81401,416.03638 135.65932,435.33943"
style="fill:none;fill-rule:evenodd;stroke:#963f3f;stroke-width:38.59999847;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:transform-center-y="-11.770787"
inkscape:transform-center-x="19.701912"
style="fill:none;fill-rule:evenodd;stroke:#963f3f;stroke-width:38.59999847;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M -22.883232,349.48778 C 5.3653818,367.22974 69.18155,458.47365 78.846553,475.32116"
id="path3328"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
id="path3330"
d="M 32.557544,557.84469 C 6.2023735,557.70588 -75.84949,495.72203 -95.753482,459.25833"
style="fill:none;fill-rule:evenodd;stroke:#963f3f;stroke-width:38.59999847;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:transform-center-x="-21.906548"
inkscape:transform-center-y="6.8425027" />
<g
transform="translate(433.06188,170.81885)"
id="g3350">
<g
id="g3332"
transform="translate(-347.75454,-301.5849)">
<path
sodipodi:type="arc"
style="opacity:1;fill:#bd3232;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.60000002;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path2416"
sodipodi:cx="509.79752"
sodipodi:cy="537.62885"
sodipodi:rx="163.83861"
sodipodi:ry="190.15392"
d="M 673.10713,522.36074 A 163.83861,190.15392 0 0 1 523.49228,727.11731 163.83861,190.15392 0 0 1 346.57841,554.14934 163.83861,190.15392 0 0 1 495.02398,348.24957 a 163.83861,190.15392 0 0 1 177.895,171.60711"
transform="matrix(0.7321517,0.6811416,-0.6811416,0.7321517,46.537329,-101.82741)"
sodipodi:start="6.2028054"
sodipodi:end="12.472772"
sodipodi:open="true" />
<path
transform="matrix(-0.7144327,-0.4477484,0.6254856,-0.8753998,118.00893,1359.6248)"
d="M 658.70244,537.62885 A 148.90492,184.7399 0 0 1 509.79752,722.36874 148.90492,184.7399 0 0 1 360.89259,537.62885 148.90492,184.7399 0 0 1 509.79752,352.88895 148.90492,184.7399 0 0 1 658.70244,537.62885 Z"
sodipodi:ry="184.7399"
sodipodi:rx="148.90492"
sodipodi:cy="537.62885"
sodipodi:cx="509.79752"
id="path2418"
style="opacity:1;fill:url(#radialGradient3570);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.60000002;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:type="arc" />
<path
style="fill:none;fill-rule:evenodd;stroke:#992e2e;stroke-width:17.17662621;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M -71.656872,774.62971 C -78.305538,653.52624 21.900281,478.84894 161.81749,490.08285"
id="path2432"
sodipodi:nodetypes="cc" />
</g>
<path
transform="matrix(-0.4626213,-0.5324466,0.7295423,-0.6609533,-483.40252,920.0798)"
d="M 654.34592,537.62885 A 144.5484,184.7399 0 0 1 509.79752,722.36874 144.5484,184.7399 0 0 1 365.24911,537.62885 144.5484,184.7399 0 0 1 509.79752,352.88895 144.5484,184.7399 0 0 1 654.34592,537.62885 Z"
sodipodi:ry="184.7399"
sodipodi:rx="144.5484"