Move Process and Mentoring pages to devref
Basic conversion done with pandoc then I had to fix some links and the title underlines. The Mentoring page has been merged into the (mostly empty) "How to get (more) involved with Nova" page. Change-Id: Ib4a11b21c0fd6aaf86e643897193f59cefb626c4
This commit is contained in:
@@ -11,32 +11,359 @@
|
||||
License for the specific language governing permissions and limitations
|
||||
under the License.
|
||||
|
||||
.. _getting_involved:
|
||||
|
||||
=====================================
|
||||
How to get (more) involved with Nova
|
||||
=====================================
|
||||
|
||||
So you want to get more involved with Nova. Welcome!
|
||||
So you want to get more involved with Nova? Or you are new to Nova and
|
||||
wondering where to start?
|
||||
|
||||
We are working on building easy ways for you to get help and ideas on
|
||||
how to learn more about Nova and how the Nova community works.
|
||||
|
||||
New to OpenStack?
|
||||
==================
|
||||
Any questions, please ask! If you are unsure who to ask, then please
|
||||
contact the `Mentoring Czar`__.
|
||||
|
||||
If you are new to OpenStack, please read the general guides on how you can
|
||||
get more involved with OpenStack:
|
||||
__ `Nova People`_
|
||||
|
||||
* http://www.openstack.org/assets/welcome-guide/OpenStackWelcomeGuide.pdf
|
||||
* https://wiki.openstack.org/wiki/How_To_Contribute
|
||||
* http://www.openstack.org/community/
|
||||
How do I get started?
|
||||
=====================
|
||||
|
||||
New to Nova?
|
||||
============
|
||||
There are quite a few global docs on this:
|
||||
|
||||
So you are new to Nova. We are currently working on some docs so its easy
|
||||
to get more involved. Please see the drafts that are available here:
|
||||
- http://www.openstack.org/assets/welcome-guide/OpenStackWelcomeGuide.pdf
|
||||
- https://wiki.openstack.org/wiki/How_To_Contribute
|
||||
- http://www.openstack.org/community/
|
||||
|
||||
There is more general info, non Nova specific info here:
|
||||
|
||||
- https://wiki.openstack.org/wiki/Mentors
|
||||
- https://wiki.openstack.org/wiki/OpenStack_Upstream_Training
|
||||
|
||||
What should I work on?
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
So you are starting out your Nova journey, where is a good place to
|
||||
start?
|
||||
|
||||
Bugs are a great way to cut your Nova teeth:
|
||||
https://bugs.launchpad.net/nova/+bugs?field.tag=low-hanging-fruit
|
||||
|
||||
Also, we guess that you probably want to understand how Nova works
|
||||
before changing anything ? Good news, we have a solution for you! Code
|
||||
reviews are usually the best way for ramping up on a project and get and
|
||||
compare feedback on what's bad or what's cool. For that, you can help
|
||||
us. We have a list of trivial bugs that are waiting reviews :
|
||||
https://etherpad.openstack.org/p/mitaka-nova-priorities-tracking L56 and
|
||||
below
|
||||
|
||||
We also have a list of low hanging fruit work available:
|
||||
https://etherpad.openstack.org/p/nova-low-hanging-fruit
|
||||
|
||||
How do I get my feature in?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The best way of getting your feature in is... well it depends.
|
||||
|
||||
First concentrate on solving your problem and/or use case, don't fixate
|
||||
on getting the code you have working merged. Its likely things will need
|
||||
significant re-work after you discuss how your needs match up with all
|
||||
the existing ways Nova is currently being used. The good news, is this
|
||||
process should leave you with a feature thats more flexible and doesn't
|
||||
lock you into your current way of thinking.
|
||||
|
||||
A key part of getting code merged, is helping with reviewing other
|
||||
people's code. Great reviews of others code will help free up more core
|
||||
reviewer time to look at your own patches. In addition, you will
|
||||
understand how the review is thinking when they review your code.
|
||||
|
||||
Also, work out if any on going efforts are blocking your feature and
|
||||
helping out speeding those up. The spec review process should help with
|
||||
this effort.
|
||||
|
||||
For more details on our process, please see: :ref:`process`.
|
||||
|
||||
What is expected of a good contributor?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
TODO - need more info on this
|
||||
|
||||
Top Tips for working with the Nova community
|
||||
============================================
|
||||
|
||||
Here are some top tips around engaging with the Nova community:
|
||||
|
||||
- IRC
|
||||
|
||||
- we talk a lot in #openstack-nova
|
||||
- do ask us questions in there, and we will try to help you
|
||||
- not sure about asking questions? feel free to listen in around
|
||||
other people's questions
|
||||
- we recommend you setup an IRC bouncer:
|
||||
https://wiki.openstack.org/wiki/IRC
|
||||
|
||||
- Email
|
||||
|
||||
- Use the [nova] tag in the mailing lists
|
||||
- Filtering on [nova] and [all] can help tame the list
|
||||
|
||||
- Be Open
|
||||
|
||||
- i.e. don't review your teams code in private, do it publicly in
|
||||
gerrit
|
||||
- i.e. be ready to talk about openly about problems you are having,
|
||||
not "theoretical" issues
|
||||
- that way you can start to gain the trust of the wider community
|
||||
|
||||
- Got a problem? Please ask!
|
||||
|
||||
- Please raise any problems and ask questions early
|
||||
- we want to help you before you are frustrated or annoyed
|
||||
- unsure who to ask? Just ask in IRC, or check out the list of `Nova
|
||||
people`_.
|
||||
|
||||
- Talk about problems first, then solutions
|
||||
|
||||
- Nova is a big project. At first, it can be hard to see the big
|
||||
picture
|
||||
- Don't think about "merging your patch", instead think about
|
||||
"solving your problem"
|
||||
- conversations are more productive that way
|
||||
|
||||
- Its not the decision thats important, it's the reason behind it thats
|
||||
important
|
||||
|
||||
- Don't like the way the community is going?
|
||||
- Please ask why we ware going that way, and please engage with the
|
||||
debate
|
||||
- If you don't, we are unable to learn from what you have to offer
|
||||
|
||||
- No one will decide, this is stuck, who can help me?
|
||||
|
||||
- it's rare, but it happens
|
||||
- it's the `Nova PTL`__'s job to help you
|
||||
- ...but if you don't ask, it's hard for them to help you
|
||||
|
||||
__ `Nova People`_
|
||||
|
||||
Process
|
||||
=======
|
||||
|
||||
It can feel like you are faced with a wall of process. We are a big
|
||||
community, to make sure the right communication happens, we do use a
|
||||
minimal amount of process.
|
||||
|
||||
If you find something that doesn't make sense, please:
|
||||
|
||||
- ask questions to find out \*why\* it happens
|
||||
- if you know of a better way to do it, please speak up
|
||||
- one "better way" might be to remove the process if it no longer helps
|
||||
|
||||
To learn more about Nova's process, please read :ref:`process`.
|
||||
|
||||
Why bother with any process?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Why is it worth creating a bug or blueprint to track your code review?
|
||||
This may seem like silly process, but there is usually a good reason
|
||||
behind it.
|
||||
|
||||
We have lots of code to review, and we have tools to try and get to
|
||||
really important code reviews first. If yours is really important, but
|
||||
not picked up by our tools, it's possible you just get lost in the bottom
|
||||
of a big queue.
|
||||
|
||||
If you have a bug fix, you have done loads of work to identify the
|
||||
issue, and test out your fix, and submit it. By adding a bug report, you
|
||||
are making it easier for other folks who hit the same problem to find
|
||||
your work, possibly saving them the hours of pain you went through. With
|
||||
any luck that gives all those people the time to fix different bugs, all
|
||||
that might have affected you, if you had not given them the time go fix
|
||||
it.
|
||||
|
||||
Its similar with blueprints. You have worked out how to scratch your
|
||||
itch, lets tell others about that great new feature you have added, so
|
||||
they can use that. Also, it stops someone with a similar idea going
|
||||
through all the pain of creating a feature only to find you already have
|
||||
that feature ready and up for review, or merged into the latest release.
|
||||
|
||||
Hopefully this gives you an idea why we have applied a small layer of
|
||||
process to what we are doing. Having said all this, we need to unlearn
|
||||
old habits to move forward, there may be better ways to do things, and
|
||||
we are open to trying them. Please help be part of the solution.
|
||||
|
||||
.. _why_plus1:
|
||||
|
||||
Why do code reviews if I am not in nova-core?
|
||||
=============================================
|
||||
|
||||
Code reviews are the life blood of the Nova developer community.
|
||||
|
||||
There is a good discussion on how you do good reviews, and how anyone
|
||||
can be a reviewer:
|
||||
http://docs.openstack.org/infra/manual/developers.html#peer-review
|
||||
|
||||
In the draft process guide, I discuss how doing reviews can help get
|
||||
your code merged faster: :ref:`process`.
|
||||
|
||||
Lets look at some of the top reasons why participating with code reviews
|
||||
really helps you:
|
||||
|
||||
- Doing more reviews, and seeing what other reviewers notice, will help
|
||||
you better understand what is expected of code that gets merged into
|
||||
master
|
||||
- Having more non-core people do great reviews, leaves less review work
|
||||
for the core reviewers to do, so we are able get more code merged
|
||||
- Empathy is one of the keys to a happy community. If you are used to
|
||||
doing code reviews, you will better understand the comments you get
|
||||
when people review your code. As you do more code reviews, and see
|
||||
what others notice, you will get a better idea of what people are
|
||||
looking for when then apply a +2 to your code.
|
||||
- TODO - needs more detail
|
||||
|
||||
What are the most useful types of code review comments? Well here are a
|
||||
few to the top ones:
|
||||
|
||||
- Fundamental flaws are the biggest thing to spot. Does the patch break
|
||||
a whole set of existing users, or an existing feature?
|
||||
- Consistency of behaviour is really important. Does this bit of code
|
||||
do things differently to where similar things happen else where in
|
||||
Nova?
|
||||
- Is the code easy to maintain, well tested and easy to read? Code is
|
||||
read order of magnitude times more than it is written, so optimise
|
||||
for the reader of the code, not the writer.
|
||||
- TODO - what others should go here?
|
||||
|
||||
Let's look at some problems people hit when starting out doing code
|
||||
reviews:
|
||||
|
||||
- My +1 doesn't mean anything, why should I bother?
|
||||
|
||||
- So your +1 really does help. Some really useful -1 votes that lead
|
||||
to a +1 vote helps get code into a position
|
||||
|
||||
- When to use -1 vs 0 vs +1
|
||||
|
||||
- Please see the guidelines here:
|
||||
http://docs.openstack.org/infra/manual/developers.html#peer-review
|
||||
|
||||
- I have already reviewed this code internally, no point in adding a +1
|
||||
externally?
|
||||
|
||||
- Please talk to your company about doing all code reviews in the
|
||||
public, that is a much better way to get involved. showing how the
|
||||
code has evolved upstream, is much better than trying to 'perfect'
|
||||
code internally, before uploading for public review. You can use
|
||||
Draft mode, and mark things as WIP if you prefer, but please do
|
||||
the reviews upstream.
|
||||
|
||||
- Where do I start? What should I review?
|
||||
|
||||
- There are various tools, but a good place to start is:
|
||||
https://etherpad.openstack.org/p/ -nova-priorities-tracking
|
||||
- Depending on the time in the cycle, it's worth looking at
|
||||
NeedsCodeReview blueprints:
|
||||
https://blueprints.launchpad.net/nova/
|
||||
- Maybe take a look at things you want to see merged, bug fixes and
|
||||
features, or little code fixes
|
||||
- Look for things that have been waiting a long time for a review:
|
||||
http://5885fef486164bb8596d-41634d3e64ee11f37e8658ed1b4d12ec.r44.cf3.rackcdn.com/nova-openreviews.html
|
||||
- If you get through the above lists, try other tools, such as:
|
||||
http://status.openstack.org/reviews
|
||||
|
||||
- TODO - I think there is more to add here
|
||||
|
||||
How to do great code reviews?
|
||||
=============================
|
||||
|
||||
http://docs.openstack.org/infra/manual/developers.html#peer-review
|
||||
|
||||
For more tips, please see: `Why do code reviews if I am not in nova-core?`_
|
||||
|
||||
How do I become nova-core?
|
||||
==========================
|
||||
|
||||
You don't have to be nova-core to be a valued member of the Nova
|
||||
community. There are many, many ways you can help. Every quality review
|
||||
that helps someone get their patch closer to being ready to merge helps
|
||||
everyone get their code merged faster.
|
||||
|
||||
The first step to becoming nova-core is learning how to be an active
|
||||
member of the Nova community, including learning how to do great code
|
||||
reviews. For more details see:
|
||||
https://wiki.openstack.org/wiki/Nova/CoreTeam#Membership_Expectations
|
||||
|
||||
If you feel like you have the time to commit to all the nova-core
|
||||
membership expectations, reach out to the Nova PTL who will be
|
||||
able to find you an existing member of nova-core to help mentor you. If
|
||||
all goes well, and you seem like a good candidate, your mentor will
|
||||
contact the rest of the nova-core team to ask them to start looking at
|
||||
your reviews, so they are able to vote for you, if you get nominated for
|
||||
join nova-core.
|
||||
|
||||
We encourage all mentoring, where possible, to occur on #openstack-nova
|
||||
so everyone can learn and benefit from your discussions.
|
||||
|
||||
The above mentoring is available to every one who wants to learn how to
|
||||
better code reviews, even if you don't ever want to commit to becoming
|
||||
nova-core. If you already have a mentor, that's great, the process is
|
||||
only there for folks who are still trying to find a mentor. Being
|
||||
admitted to the mentoring program no way guarantees you will become a
|
||||
member of nova-core eventually, it's here to help you improve, and help
|
||||
you have the sort of involvement and conversations that can lead to
|
||||
becoming a member of nova-core.
|
||||
|
||||
How to do great nova-spec reviews?
|
||||
==================================
|
||||
|
||||
http://specs.openstack.org/openstack/nova-specs/specs/mitaka/template.html
|
||||
|
||||
http://docs.openstack.org/developer/nova/devref/kilo.blueprints.html#when-is-a-blueprint-needed
|
||||
|
||||
Spec reviews are always a step ahead of the normal code reviews. Follow
|
||||
the above links for some great information on specs/reviews.
|
||||
|
||||
The following could be some important tips:
|
||||
|
||||
1. The specs are published as html documents. Ensure that the author has
|
||||
a proper render of the same via the .rst file.
|
||||
|
||||
2. More often than not, it's important to know that there are no
|
||||
overlaps across multiple specs.
|
||||
|
||||
3. Ensure that a proper dependency of the spec is identified. For
|
||||
example - a user desired feature that requires a proper base enablement
|
||||
should be a dependent spec.
|
||||
|
||||
4. Ask for clarity on changes that appear ambiguous to you.
|
||||
|
||||
5. Every release nova gets a huge set of spec proposals and that's a
|
||||
huge task for the limited set of nova cores to complete. Helping the
|
||||
cores with additional reviews is always a great thing.
|
||||
|
||||
How to do great bug triage?
|
||||
===========================
|
||||
|
||||
https://wiki.openstack.org/wiki/Nova/BugTriage
|
||||
|
||||
More details coming soon...
|
||||
|
||||
How to step up into a project leadership role?
|
||||
==============================================
|
||||
|
||||
There are many ways to help lead the Nova project:
|
||||
|
||||
* Mentoring efforts, and getting started tips:
|
||||
https://wiki.openstack.org/wiki/Nova/Mentoring
|
||||
* Info on process, with a focus on how you can go from an idea
|
||||
to getting code merged Nova:
|
||||
https://wiki.openstack.org/wiki/Nova/Mitaka_Release_Schedule
|
||||
* Consider leading an existing `Nova subteam`_ or forming a new one.
|
||||
* Consider becoming a `Bug tag owner`_.
|
||||
* Contact the PTL about becoming a Czar `Nova People`_.
|
||||
|
||||
.. _`Nova people`: https://wiki.openstack.org/wiki/Nova#People
|
||||
.. _`Nova subteam`: https://wiki.openstack.org/wiki/Nova#Nova_subteams
|
||||
.. _`Bug tag owner`: https://wiki.openstack.org/wiki/Nova/BugTriage#Step_2:_Triage_Tagged_Bugs
|
||||
|
738
doc/source/image_src/Nova_spec_process.graphml
Normal file
738
doc/source/image_src/Nova_spec_process.graphml
Normal file
@@ -0,0 +1,738 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
|
||||
<!--Created by yEd 3.14-->
|
||||
<key attr.name="Description" attr.type="string" for="graph" id="d0"/>
|
||||
<key for="port" id="d1" yfiles.type="portgraphics"/>
|
||||
<key for="port" id="d2" yfiles.type="portgeometry"/>
|
||||
<key for="port" id="d3" yfiles.type="portuserdata"/>
|
||||
<key attr.name="url" attr.type="string" for="node" id="d4"/>
|
||||
<key attr.name="description" attr.type="string" for="node" id="d5"/>
|
||||
<key for="node" id="d6" yfiles.type="nodegraphics"/>
|
||||
<key for="graphml" id="d7" yfiles.type="resources"/>
|
||||
<key attr.name="url" attr.type="string" for="edge" id="d8"/>
|
||||
<key attr.name="description" attr.type="string" for="edge" id="d9"/>
|
||||
<key for="edge" id="d10" yfiles.type="edgegraphics"/>
|
||||
<graph edgedefault="directed" id="G">
|
||||
<data key="d0"/>
|
||||
<node id="n0" yfiles.foldertype="group">
|
||||
<data key="d4"/>
|
||||
<data key="d5"/>
|
||||
<data key="d6">
|
||||
<y:ProxyAutoBoundsNode>
|
||||
<y:Realizers active="0">
|
||||
<y:GroupNode>
|
||||
<y:Geometry height="206.666015625" width="441.231746031746" x="0.0" y="-551.1881634424603"/>
|
||||
<y:Fill color="#F5F5F5" transparent="false"/>
|
||||
<y:BorderStyle color="#000000" type="dashed" width="1.0"/>
|
||||
<y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.666015625" modelName="internal" modelPosition="t" textColor="#000000" visible="true" width="441.231746031746" x="0.0" y="0.0">API Cell</y:NodeLabel>
|
||||
<y:Shape type="roundrectangle"/>
|
||||
<y:State closed="false" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
|
||||
<y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/>
|
||||
<y:BorderInsets bottom="0" bottomF="0.0" left="1" leftF="1.0002294146825363" right="1" rightF="1.000229414682451" top="0" topF="0.0"/>
|
||||
</y:GroupNode>
|
||||
<y:GroupNode>
|
||||
<y:Geometry height="50.0" width="50.0" x="0.0" y="60.0"/>
|
||||
<y:Fill color="#F5F5F5" transparent="false"/>
|
||||
<y:BorderStyle color="#000000" type="dashed" width="1.0"/>
|
||||
<y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.666015625" modelName="internal" modelPosition="t" textColor="#000000" visible="true" width="63.75830078125" x="-6.879150390625" y="0.0">Folder 1</y:NodeLabel>
|
||||
<y:Shape type="roundrectangle"/>
|
||||
<y:State closed="true" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
|
||||
<y:Insets bottom="5" bottomF="5.0" left="5" leftF="5.0" right="5" rightF="5.0" top="5" topF="5.0"/>
|
||||
<y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
|
||||
</y:GroupNode>
|
||||
</y:Realizers>
|
||||
</y:ProxyAutoBoundsNode>
|
||||
</data>
|
||||
<graph edgedefault="directed" id="n0:">
|
||||
<node id="n0::n0">
|
||||
<data key="d5"/>
|
||||
<data key="d6">
|
||||
<y:GenericNode configuration="BevelNode2">
|
||||
<y:Geometry height="30.0" width="74.486328125" x="131.12945498511905" y="-389.52214781746034"/>
|
||||
<y:Fill color="#FF9900" transparent="false"/>
|
||||
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
|
||||
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="64.486328125" x="5.0" y="5.93359375">nova-cells<y:LabelModel>
|
||||
<y:SmartNodeLabelModel distance="4.0"/>
|
||||
</y:LabelModel>
|
||||
<y:ModelParameter>
|
||||
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
|
||||
</y:ModelParameter>
|
||||
</y:NodeLabel>
|
||||
</y:GenericNode>
|
||||
</data>
|
||||
</node>
|
||||
<node id="n0::n1">
|
||||
<data key="d5"/>
|
||||
<data key="d6">
|
||||
<y:GenericNode configuration="BevelNode2">
|
||||
<y:Geometry height="30.0" width="74.486328125" x="235.615962921627" y="-389.52214781746034"/>
|
||||
<y:Fill color="#FF9900" transparent="false"/>
|
||||
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
|
||||
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="64.486328125" x="5.0" y="5.93359375">nova-cells<y:LabelModel>
|
||||
<y:SmartNodeLabelModel distance="4.0"/>
|
||||
</y:LabelModel>
|
||||
<y:ModelParameter>
|
||||
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
|
||||
</y:ModelParameter>
|
||||
</y:NodeLabel>
|
||||
</y:GenericNode>
|
||||
</data>
|
||||
</node>
|
||||
<node id="n0::n2">
|
||||
<data key="d5"/>
|
||||
<data key="d6">
|
||||
<y:GenericNode configuration="BevelNodeWithShadow">
|
||||
<y:Geometry height="30.0" width="48.599609375" x="196.316068328373" y="-464.52214781746034"/>
|
||||
<y:Fill color="#00CCFF" transparent="false"/>
|
||||
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
|
||||
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="38.599609375" x="5.0" y="5.93359375">rabbit<y:LabelModel>
|
||||
<y:SmartNodeLabelModel distance="4.0"/>
|
||||
</y:LabelModel>
|
||||
<y:ModelParameter>
|
||||
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
|
||||
</y:ModelParameter>
|
||||
</y:NodeLabel>
|
||||
</y:GenericNode>
|
||||
</data>
|
||||
</node>
|
||||
<node id="n0::n3">
|
||||
<data key="d5"/>
|
||||
<data key="d6">
|
||||
<y:SVGNode>
|
||||
<y:Geometry height="30.0" width="65.12890625" x="360.1026103670635" y="-389.52214781746034"/>
|
||||
<y:Fill color="#CCCCFF" transparent="false"/>
|
||||
<y:BorderStyle color="#000000" type="line" width="1.0"/>
|
||||
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="55.12890625" x="6.0" y="-22.1328125">cell slots<y:LabelModel>
|
||||
<y:SmartNodeLabelModel distance="4.0"/>
|
||||
</y:LabelModel>
|
||||
<y:ModelParameter>
|
||||
<y:SmartNodeLabelModelParameter labelRatioX="0.5" labelRatioY="0.5" nodeRatioX="0.5" nodeRatioY="-0.5" offsetX="-4.0" offsetY="-4.0" upX="0.0" upY="-1.0"/>
|
||||
</y:ModelParameter>
|
||||
</y:NodeLabel>
|
||||
<y:SVGNodeProperties usingVisualBounds="true"/>
|
||||
<y:SVGModel svgBoundsPolicy="0">
|
||||
<y:SVGContent refid="1"/>
|
||||
</y:SVGModel>
|
||||
</y:SVGNode>
|
||||
</data>
|
||||
</node>
|
||||
<node id="n0::n4">
|
||||
<data key="d5"/>
|
||||
<data key="d6">
|
||||
<y:SVGNode>
|
||||
<y:Geometry height="30.0" width="65.12890625" x="16.000229414682536" y="-389.52214781746034"/>
|
||||
<y:Fill color="#CCCCFF" transparent="false"/>
|
||||
<y:BorderStyle color="#000000" type="line" width="1.0"/>
|
||||
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="55.12890625" x="4.0" y="-22.1328125">cell slots<y:LabelModel>
|
||||
<y:SmartNodeLabelModel distance="4.0"/>
|
||||
</y:LabelModel>
|
||||
<y:ModelParameter>
|
||||
<y:SmartNodeLabelModelParameter labelRatioX="-0.5" labelRatioY="0.5" nodeRatioX="-0.5" nodeRatioY="-0.5" offsetX="4.0" offsetY="-4.0" upX="0.0" upY="-1.0"/>
|
||||
</y:ModelParameter>
|
||||
</y:NodeLabel>
|
||||
<y:SVGNodeProperties usingVisualBounds="true"/>
|
||||
<y:SVGModel svgBoundsPolicy="0">
|
||||
<y:SVGContent refid="1"/>
|
||||
</y:SVGModel>
|
||||
</y:SVGNode>
|
||||
</data>
|
||||
</node>
|
||||
<node id="n0::n5">
|
||||
<data key="d5"/>
|
||||
<data key="d6">
|
||||
<y:GenericNode configuration="BevelNode2">
|
||||
<y:Geometry height="30.0" width="66.248046875" x="187.491849578373" y="-514.5221478174603"/>
|
||||
<y:Fill color="#FF9900" transparent="false"/>
|
||||
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
|
||||
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="56.248046875" x="5.0" y="5.93359375">nova-api<y:LabelModel>
|
||||
<y:SmartNodeLabelModel distance="4.0"/>
|
||||
</y:LabelModel>
|
||||
<y:ModelParameter>
|
||||
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
|
||||
</y:ModelParameter>
|
||||
</y:NodeLabel>
|
||||
</y:GenericNode>
|
||||
</data>
|
||||
</node>
|
||||
</graph>
|
||||
</node>
|
||||
<node id="n1" yfiles.foldertype="group">
|
||||
<data key="d4"/>
|
||||
<data key="d5"/>
|
||||
<data key="d6">
|
||||
<y:ProxyAutoBoundsNode>
|
||||
<y:Realizers active="0">
|
||||
<y:GroupNode>
|
||||
<y:Geometry height="271.83660714285713" width="488.87182539682544" x="20.150396825396797" y="-234.70379464285713"/>
|
||||
<y:Fill color="#F5F5F5" transparent="false"/>
|
||||
<y:BorderStyle color="#000000" type="dashed" width="1.0"/>
|
||||
<y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.666015625" modelName="internal" modelPosition="t" textColor="#000000" visible="true" width="488.87182539682544" x="0.0" y="0.0">child cell</y:NodeLabel>
|
||||
<y:Shape type="roundrectangle"/>
|
||||
<y:State closed="false" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
|
||||
<y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/>
|
||||
<y:BorderInsets bottom="0" bottomF="0.0" left="1" leftF="1.0000899057539954" right="1" rightF="1.000040302579464" top="0" topF="0.0"/>
|
||||
</y:GroupNode>
|
||||
<y:GroupNode>
|
||||
<y:Geometry height="50.0" width="50.0" x="0.0" y="60.0"/>
|
||||
<y:Fill color="#F5F5F5" transparent="false"/>
|
||||
<y:BorderStyle color="#000000" type="dashed" width="1.0"/>
|
||||
<y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.666015625" modelName="internal" modelPosition="t" textColor="#000000" visible="true" width="63.75830078125" x="-6.879150390625" y="0.0">Folder 2</y:NodeLabel>
|
||||
<y:Shape type="roundrectangle"/>
|
||||
<y:State closed="true" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
|
||||
<y:Insets bottom="5" bottomF="5.0" left="5" leftF="5.0" right="5" rightF="5.0" top="5" topF="5.0"/>
|
||||
<y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
|
||||
</y:GroupNode>
|
||||
</y:Realizers>
|
||||
</y:ProxyAutoBoundsNode>
|
||||
</data>
|
||||
<graph edgedefault="directed" id="n1:">
|
||||
<node id="n1::n0">
|
||||
<data key="d5"/>
|
||||
<data key="d6">
|
||||
<y:GenericNode configuration="BevelNodeWithShadow">
|
||||
<y:Geometry height="30.0" width="48.599609375" x="166.084322296627" y="-198.03777901785713"/>
|
||||
<y:Fill color="#00CCFF" transparent="false"/>
|
||||
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
|
||||
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="38.599609375" x="5.0" y="5.93359375">rabbit<y:LabelModel>
|
||||
<y:SmartNodeLabelModel distance="4.0"/>
|
||||
</y:LabelModel>
|
||||
<y:ModelParameter>
|
||||
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
|
||||
</y:ModelParameter>
|
||||
</y:NodeLabel>
|
||||
</y:GenericNode>
|
||||
</data>
|
||||
</node>
|
||||
<node id="n1::n1">
|
||||
<data key="d5"/>
|
||||
<data key="d6">
|
||||
<y:GenericNode configuration="BevelNode2">
|
||||
<y:Geometry height="30.0" width="105.060546875" x="270.1312344990079" y="-114.01840122767857"/>
|
||||
<y:Fill color="#FF9900" transparent="false"/>
|
||||
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
|
||||
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="95.060546875" x="5.0" y="5.93359375">nova-scheduler<y:LabelModel>
|
||||
<y:SmartNodeLabelModel distance="4.0"/>
|
||||
</y:LabelModel>
|
||||
<y:ModelParameter>
|
||||
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
|
||||
</y:ModelParameter>
|
||||
</y:NodeLabel>
|
||||
</y:GenericNode>
|
||||
</data>
|
||||
</node>
|
||||
<node id="n1::n2">
|
||||
<data key="d5"/>
|
||||
<data key="d6">
|
||||
<y:SVGNode>
|
||||
<y:Geometry height="30.0" width="48.611328125" x="166.078462921627" y="-30.0"/>
|
||||
<y:Fill color="#CCCCFF" transparent="false"/>
|
||||
<y:BorderStyle color="#000000" type="line" width="1.0"/>
|
||||
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="106.978515625" x="-29.18359375" y="34.0">mysql - hoststate<y:LabelModel>
|
||||
<y:SmartNodeLabelModel distance="4.0"/>
|
||||
</y:LabelModel>
|
||||
<y:ModelParameter>
|
||||
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="-0.5" nodeRatioX="0.0" nodeRatioY="0.5" offsetX="0.0" offsetY="4.0" upX="0.0" upY="-1.0"/>
|
||||
</y:ModelParameter>
|
||||
</y:NodeLabel>
|
||||
<y:SVGNodeProperties usingVisualBounds="true"/>
|
||||
<y:SVGModel svgBoundsPolicy="0">
|
||||
<y:SVGContent refid="2"/>
|
||||
</y:SVGModel>
|
||||
</y:SVGNode>
|
||||
</data>
|
||||
</node>
|
||||
<node id="n1::n3">
|
||||
<data key="d5"/>
|
||||
<data key="d6">
|
||||
<y:SVGNode>
|
||||
<y:Geometry height="30.0" width="67.830078125" x="425.19210379464283" y="-114.01840122767857"/>
|
||||
<y:Fill color="#CCCCFF" transparent="false"/>
|
||||
<y:BorderStyle color="#000000" type="line" width="1.0"/>
|
||||
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="57.830078125" x="5.0" y="34.0">hoststate<y:LabelModel>
|
||||
<y:SmartNodeLabelModel distance="4.0"/>
|
||||
</y:LabelModel>
|
||||
<y:ModelParameter>
|
||||
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="-0.5" nodeRatioX="0.0" nodeRatioY="0.5" offsetX="0.0" offsetY="4.0" upX="0.0" upY="-1.0"/>
|
||||
</y:ModelParameter>
|
||||
</y:NodeLabel>
|
||||
<y:SVGNodeProperties usingVisualBounds="true"/>
|
||||
<y:SVGModel svgBoundsPolicy="0">
|
||||
<y:SVGContent refid="1"/>
|
||||
</y:SVGModel>
|
||||
</y:SVGNode>
|
||||
</data>
|
||||
</node>
|
||||
<node id="n1::n4">
|
||||
<data key="d5"/>
|
||||
<data key="d6">
|
||||
<y:GenericNode configuration="BevelNode2">
|
||||
<y:Geometry height="30.0" width="74.486328125" x="36.15048673115079" y="-114.01840122767857"/>
|
||||
<y:Fill color="#FF9900" transparent="false"/>
|
||||
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
|
||||
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="64.486328125" x="5.0" y="5.93359375">nova-cells<y:LabelModel>
|
||||
<y:SmartNodeLabelModel distance="4.0"/>
|
||||
</y:LabelModel>
|
||||
<y:ModelParameter>
|
||||
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
|
||||
</y:ModelParameter>
|
||||
</y:NodeLabel>
|
||||
</y:GenericNode>
|
||||
</data>
|
||||
</node>
|
||||
<node id="n1::n5">
|
||||
<data key="d5"/>
|
||||
<data key="d6">
|
||||
<y:GenericNode configuration="BevelNode2">
|
||||
<y:Geometry height="30.0" width="99.494140625" x="140.637056671627" y="-114.01840122767857"/>
|
||||
<y:Fill color="#FF9900" transparent="false"/>
|
||||
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
|
||||
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.1328125" modelName="custom" textColor="#000000" visible="true" width="89.494140625" x="5.0" y="5.93359375">nova-compute<y:LabelModel>
|
||||
<y:SmartNodeLabelModel distance="4.0"/>
|
||||
</y:LabelModel>
|
||||
<y:ModelParameter>
|
||||
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
|
||||
</y:ModelParameter>
|
||||
</y:NodeLabel>
|
||||
</y:GenericNode>
|
||||
</data>
|
||||
</node>
|
||||
</graph>
|
||||
</node>
|
||||
<edge id="n0::e0" source="n0::n0" target="n0::n2">
|
||||
<data key="d9"/>
|
||||
<data key="d10">
|
||||
<y:PolyLineEdge>
|
||||
<y:Path sx="0.0" sy="-15.0" tx="-12.14990234375" ty="15.0">
|
||||
<y:Point x="168.37261904761905" y="-399.52214781746034"/>
|
||||
<y:Point x="208.465970672123" y="-419.52214781746034"/>
|
||||
</y:Path>
|
||||
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
||||
<y:Arrows source="none" target="standard"/>
|
||||
<y:BendStyle smoothed="false"/>
|
||||
</y:PolyLineEdge>
|
||||
</data>
|
||||
</edge>
|
||||
<edge id="n0::e1" source="n0::n1" target="n0::n2">
|
||||
<data key="d9"/>
|
||||
<data key="d10">
|
||||
<y:PolyLineEdge>
|
||||
<y:Path sx="0.0" sy="-15.0" tx="12.14990234375" ty="15.0">
|
||||
<y:Point x="272.859126984127" y="-399.52214781746034"/>
|
||||
<y:Point x="232.765775359623" y="-419.52214781746034"/>
|
||||
</y:Path>
|
||||
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
||||
<y:Arrows source="none" target="standard"/>
|
||||
<y:BendStyle smoothed="false"/>
|
||||
</y:PolyLineEdge>
|
||||
</data>
|
||||
</edge>
|
||||
<edge id="n0::e2" source="n0::n1" target="n0::n3">
|
||||
<data key="d9"/>
|
||||
<data key="d10">
|
||||
<y:PolyLineEdge>
|
||||
<y:Path sx="37.2431640625" sy="-0.0" tx="-32.564453125" ty="-0.0"/>
|
||||
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
||||
<y:Arrows source="none" target="standard"/>
|
||||
<y:BendStyle smoothed="false"/>
|
||||
</y:PolyLineEdge>
|
||||
</data>
|
||||
</edge>
|
||||
<edge id="n0::e3" source="n0::n0" target="n0::n4">
|
||||
<data key="d9"/>
|
||||
<data key="d10">
|
||||
<y:PolyLineEdge>
|
||||
<y:Path sx="-37.2431640625" sy="-0.0" tx="32.564453125" ty="-0.0"/>
|
||||
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
||||
<y:Arrows source="none" target="standard"/>
|
||||
<y:BendStyle smoothed="false"/>
|
||||
</y:PolyLineEdge>
|
||||
</data>
|
||||
</edge>
|
||||
<edge id="n0::e4" source="n0::n5" target="n0::n2">
|
||||
<data key="d9"/>
|
||||
<data key="d10">
|
||||
<y:PolyLineEdge>
|
||||
<y:Path sx="0.0" sy="15.0" tx="0.0" ty="-15.0"/>
|
||||
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
||||
<y:Arrows source="none" target="standard"/>
|
||||
<y:BendStyle smoothed="false"/>
|
||||
</y:PolyLineEdge>
|
||||
</data>
|
||||
</edge>
|
||||
<edge id="n1::e0" source="n1::n1" target="n1::n3">
|
||||
<data key="d9"/>
|
||||
<data key="d10">
|
||||
<y:PolyLineEdge>
|
||||
<y:Path sx="52.5302734375" sy="-0.0" tx="-33.9150390625" ty="-0.0"/>
|
||||
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
||||
<y:Arrows source="none" target="standard"/>
|
||||
<y:BendStyle smoothed="false"/>
|
||||
</y:PolyLineEdge>
|
||||
</data>
|
||||
</edge>
|
||||
<edge id="n1::e1" source="n1::n1" target="n1::n0">
|
||||
<data key="d9"/>
|
||||
<data key="d10">
|
||||
<y:PolyLineEdge>
|
||||
<y:Path sx="0.0" sy="-15.0" tx="16.199869791666664" ty="15.0">
|
||||
<y:Point x="322.6615079365079" y="-124.01840122767857"/>
|
||||
<y:Point x="206.58399677579365" y="-153.03777901785713"/>
|
||||
</y:Path>
|
||||
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
||||
<y:Arrows source="none" target="standard"/>
|
||||
<y:BendStyle smoothed="false"/>
|
||||
</y:PolyLineEdge>
|
||||
</data>
|
||||
</edge>
|
||||
<edge id="n1::e2" source="n1::n4" target="n1::n0">
|
||||
<data key="d9"/>
|
||||
<data key="d10">
|
||||
<y:PolyLineEdge>
|
||||
<y:Path sx="24.828776041666664" sy="-15.0" tx="-16.199869791666664" ty="15.0">
|
||||
<y:Point x="98.22242683531746" y="-124.01840122767857"/>
|
||||
<y:Point x="174.18425719246034" y="-153.03777901785713"/>
|
||||
</y:Path>
|
||||
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
||||
<y:Arrows source="none" target="standard"/>
|
||||
<y:BendStyle smoothed="false"/>
|
||||
</y:PolyLineEdge>
|
||||
</data>
|
||||
</edge>
|
||||
<edge id="e0" source="n1::n4" target="n0::n4">
|
||||
<data key="d9"/>
|
||||
<data key="d10">
|
||||
<y:PolyLineEdge>
|
||||
<y:Path sx="-24.828776041666664" sy="-15.0" tx="0.0" ty="15.0"/>
|
||||
<y:LineStyle color="#000000" type="dashed" width="2.0"/>
|
||||
<y:Arrows source="none" target="standard"/>
|
||||
<y:BendStyle smoothed="false"/>
|
||||
</y:PolyLineEdge>
|
||||
</data>
|
||||
</edge>
|
||||
<edge id="e1" source="n1::n4" target="n0::n3">
|
||||
<data key="d9"/>
|
||||
<data key="d10">
|
||||
<y:PolyLineEdge>
|
||||
<y:Path sx="0.0" sy="-15.0" tx="0.0" ty="15.0">
|
||||
<y:Point x="73.39365079365079" y="-249.70379464285713"/>
|
||||
<y:Point x="392.6670634920635" y="-329.52214781746034"/>
|
||||
</y:Path>
|
||||
<y:LineStyle color="#000000" type="dashed" width="2.0"/>
|
||||
<y:Arrows source="none" target="standard"/>
|
||||
<y:BendStyle smoothed="false"/>
|
||||
</y:PolyLineEdge>
|
||||
</data>
|
||||
</edge>
|
||||
<edge id="n1::e3" source="n1::n5" target="n1::n0">
|
||||
<data key="d9"/>
|
||||
<data key="d10">
|
||||
<y:PolyLineEdge>
|
||||
<y:Path sx="0.0" sy="-15.0" tx="0.0" ty="15.0"/>
|
||||
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
||||
<y:Arrows source="none" target="standard"/>
|
||||
<y:BendStyle smoothed="false"/>
|
||||
</y:PolyLineEdge>
|
||||
</data>
|
||||
</edge>
|
||||
<edge id="n1::e4" source="n1::n5" target="n1::n2">
|
||||
<data key="d9"/>
|
||||
<data key="d10">
|
||||
<y:PolyLineEdge>
|
||||
<y:Path sx="0.0" sy="15.0" tx="0.0" ty="-15.0"/>
|
||||
<y:LineStyle color="#000000" type="line" width="3.0"/>
|
||||
<y:Arrows source="none" target="standard"/>
|
||||
<y:BendStyle smoothed="false"/>
|
||||
</y:PolyLineEdge>
|
||||
</data>
|
||||
</edge>
|
||||
<edge id="n1::e5" source="n1::n2" target="n1::n1">
|
||||
<data key="d9"/>
|
||||
<data key="d10">
|
||||
<y:PolyLineEdge>
|
||||
<y:Path sx="16.203776041666657" sy="-14.34375" tx="0.0" ty="15.0">
|
||||
<y:Point x="206.58790302579365" y="-40.0"/>
|
||||
<y:Point x="322.6615079365079" y="-69.01840122767857"/>
|
||||
</y:Path>
|
||||
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
||||
<y:Arrows source="none" target="standard"/>
|
||||
<y:BendStyle smoothed="false"/>
|
||||
</y:PolyLineEdge>
|
||||
</data>
|
||||
</edge>
|
||||
<edge id="e2" source="n0::n0" target="n1::n0">
|
||||
<data key="d9"/>
|
||||
<data key="d10">
|
||||
<y:PolyLineEdge>
|
||||
<y:Path sx="0.0" sy="15.0" tx="-12.14990234375" ty="-15.0">
|
||||
<y:Point x="168.37261904761905" y="-329.52214781746034"/>
|
||||
<y:Point x="178.234224640377" y="-249.70379464285713"/>
|
||||
</y:Path>
|
||||
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
||||
<y:Arrows source="none" target="standard"/>
|
||||
<y:BendStyle smoothed="false"/>
|
||||
</y:PolyLineEdge>
|
||||
</data>
|
||||
</edge>
|
||||
<edge id="e3" source="n0::n1" target="n1::n0">
|
||||
<data key="d9"/>
|
||||
<data key="d10">
|
||||
<y:PolyLineEdge>
|
||||
<y:Path sx="0.0" sy="15.0" tx="12.14990234375" ty="-15.0">
|
||||
<y:Point x="272.859126984127" y="-329.52214781746034"/>
|
||||
<y:Point x="202.534029327877" y="-249.70379464285713"/>
|
||||
</y:Path>
|
||||
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
||||
<y:Arrows source="none" target="standard"/>
|
||||
<y:BendStyle smoothed="false"/>
|
||||
</y:PolyLineEdge>
|
||||
</data>
|
||||
</edge>
|
||||
<edge id="n1::e6" source="n1::n2" target="n1::n4">
|
||||
<data key="d9"/>
|
||||
<data key="d10">
|
||||
<y:PolyLineEdge>
|
||||
<y:Path sx="-16.203776041666657" sy="-14.34375" tx="0.0" ty="15.0">
|
||||
<y:Point x="174.18035094246034" y="-40.0"/>
|
||||
<y:Point x="73.39365079365079" y="-69.01840122767857"/>
|
||||
</y:Path>
|
||||
<y:LineStyle color="#000000" type="line" width="1.0"/>
|
||||
<y:Arrows source="none" target="standard"/>
|
||||
<y:BendStyle smoothed="false"/>
|
||||
</y:PolyLineEdge>
|
||||
</data>
|
||||
</edge>
|
||||
</graph>
|
||||
<data key="d7">
|
||||
<y:Resources>
|
||||
<y:Resource id="1"><?xml version="1.0" encoding="utf-8"?>
|
||||
<svg version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" width="40px" height="48px" viewBox="0 0 40 48" enable-background="new 0 0 40 48" xml:space="preserve">
|
||||
<defs>
|
||||
</defs>
|
||||
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="370.2002" y1="655.0938" x2="409.4502" y2="655.0938" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)">
|
||||
<stop offset="0" style="stop-color:#4D4D4D"/>
|
||||
<stop offset="0.0558" style="stop-color:#5F5F5F"/>
|
||||
<stop offset="0.2103" style="stop-color:#8D8D8D"/>
|
||||
<stop offset="0.3479" style="stop-color:#AEAEAE"/>
|
||||
<stop offset="0.4623" style="stop-color:#C2C2C2"/>
|
||||
<stop offset="0.5394" style="stop-color:#C9C9C9"/>
|
||||
<stop offset="0.6247" style="stop-color:#C5C5C5"/>
|
||||
<stop offset="0.7072" style="stop-color:#BABABA"/>
|
||||
<stop offset="0.7885" style="stop-color:#A6A6A6"/>
|
||||
<stop offset="0.869" style="stop-color:#8B8B8B"/>
|
||||
<stop offset="0.9484" style="stop-color:#686868"/>
|
||||
<stop offset="1" style="stop-color:#4D4D4D"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_1_)" d="M19.625,37.613C8.787,37.613,0,35.738,0,33.425v10c0,2.313,8.787,4.188,19.625,4.188
|
||||
c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,35.738,30.464,37.613,19.625,37.613z"/>
|
||||
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="370.2002" y1="649.0938" x2="409.4502" y2="649.0938" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)">
|
||||
<stop offset="0" style="stop-color:#B3B3B3"/>
|
||||
<stop offset="0.0171" style="stop-color:#B6B6B6"/>
|
||||
<stop offset="0.235" style="stop-color:#D7D7D7"/>
|
||||
<stop offset="0.4168" style="stop-color:#EBEBEB"/>
|
||||
<stop offset="0.5394" style="stop-color:#F2F2F2"/>
|
||||
<stop offset="0.6579" style="stop-color:#EEEEEE"/>
|
||||
<stop offset="0.7724" style="stop-color:#E3E3E3"/>
|
||||
<stop offset="0.8853" style="stop-color:#CFCFCF"/>
|
||||
<stop offset="0.9965" style="stop-color:#B4B4B4"/>
|
||||
<stop offset="1" style="stop-color:#B3B3B3"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_2_)" d="M19.625,37.613c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.927-18.396,3.927
|
||||
c-9.481,0-17.396-1.959-18.396-3.927l-1.229,2C0,35.738,8.787,37.613,19.625,37.613z"/>
|
||||
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="371.4297" y1="646" x2="408.2217" y2="646" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)">
|
||||
<stop offset="0" style="stop-color:#C9C9C9"/>
|
||||
<stop offset="1" style="stop-color:#808080"/>
|
||||
</linearGradient>
|
||||
<ellipse fill="url(#SVGID_3_)" cx="19.625" cy="31.425" rx="18.396" ry="3.926"/>
|
||||
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="370.2002" y1="641.0938" x2="409.4502" y2="641.0938" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)">
|
||||
<stop offset="0" style="stop-color:#4D4D4D"/>
|
||||
<stop offset="0.0558" style="stop-color:#5F5F5F"/>
|
||||
<stop offset="0.2103" style="stop-color:#8D8D8D"/>
|
||||
<stop offset="0.3479" style="stop-color:#AEAEAE"/>
|
||||
<stop offset="0.4623" style="stop-color:#C2C2C2"/>
|
||||
<stop offset="0.5394" style="stop-color:#C9C9C9"/>
|
||||
<stop offset="0.6247" style="stop-color:#C5C5C5"/>
|
||||
<stop offset="0.7072" style="stop-color:#BABABA"/>
|
||||
<stop offset="0.7885" style="stop-color:#A6A6A6"/>
|
||||
<stop offset="0.869" style="stop-color:#8B8B8B"/>
|
||||
<stop offset="0.9484" style="stop-color:#686868"/>
|
||||
<stop offset="1" style="stop-color:#4D4D4D"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_4_)" d="M19.625,23.613C8.787,23.613,0,21.738,0,19.425v10c0,2.313,8.787,4.188,19.625,4.188
|
||||
c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,21.738,30.464,23.613,19.625,23.613z"/>
|
||||
<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="370.2002" y1="635.0938" x2="409.4502" y2="635.0938" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)">
|
||||
<stop offset="0" style="stop-color:#B3B3B3"/>
|
||||
<stop offset="0.0171" style="stop-color:#B6B6B6"/>
|
||||
<stop offset="0.235" style="stop-color:#D7D7D7"/>
|
||||
<stop offset="0.4168" style="stop-color:#EBEBEB"/>
|
||||
<stop offset="0.5394" style="stop-color:#F2F2F2"/>
|
||||
<stop offset="0.6579" style="stop-color:#EEEEEE"/>
|
||||
<stop offset="0.7724" style="stop-color:#E3E3E3"/>
|
||||
<stop offset="0.8853" style="stop-color:#CFCFCF"/>
|
||||
<stop offset="0.9965" style="stop-color:#B4B4B4"/>
|
||||
<stop offset="1" style="stop-color:#B3B3B3"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_5_)" d="M19.625,23.613c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.926-18.396,3.926
|
||||
c-9.481,0-17.396-1.959-18.396-3.926l-1.229,2C0,21.738,8.787,23.613,19.625,23.613z"/>
|
||||
<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="371.4297" y1="632" x2="408.2217" y2="632" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)">
|
||||
<stop offset="0" style="stop-color:#C9C9C9"/>
|
||||
<stop offset="1" style="stop-color:#808080"/>
|
||||
</linearGradient>
|
||||
<ellipse fill="url(#SVGID_6_)" cx="19.625" cy="17.426" rx="18.396" ry="3.926"/>
|
||||
<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="370.2002" y1="627.5938" x2="409.4502" y2="627.5938" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)">
|
||||
<stop offset="0" style="stop-color:#4D4D4D"/>
|
||||
<stop offset="0.0558" style="stop-color:#5F5F5F"/>
|
||||
<stop offset="0.2103" style="stop-color:#8D8D8D"/>
|
||||
<stop offset="0.3479" style="stop-color:#AEAEAE"/>
|
||||
<stop offset="0.4623" style="stop-color:#C2C2C2"/>
|
||||
<stop offset="0.5394" style="stop-color:#C9C9C9"/>
|
||||
<stop offset="0.6247" style="stop-color:#C5C5C5"/>
|
||||
<stop offset="0.7072" style="stop-color:#BABABA"/>
|
||||
<stop offset="0.7885" style="stop-color:#A6A6A6"/>
|
||||
<stop offset="0.869" style="stop-color:#8B8B8B"/>
|
||||
<stop offset="0.9484" style="stop-color:#686868"/>
|
||||
<stop offset="1" style="stop-color:#4D4D4D"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_7_)" d="M19.625,10.113C8.787,10.113,0,8.238,0,5.925v10c0,2.313,8.787,4.188,19.625,4.188
|
||||
c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,8.238,30.464,10.113,19.625,10.113z"/>
|
||||
<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="370.2002" y1="621.5938" x2="409.4502" y2="621.5938" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)">
|
||||
<stop offset="0" style="stop-color:#B3B3B3"/>
|
||||
<stop offset="0.0171" style="stop-color:#B6B6B6"/>
|
||||
<stop offset="0.235" style="stop-color:#D7D7D7"/>
|
||||
<stop offset="0.4168" style="stop-color:#EBEBEB"/>
|
||||
<stop offset="0.5394" style="stop-color:#F2F2F2"/>
|
||||
<stop offset="0.6579" style="stop-color:#EEEEEE"/>
|
||||
<stop offset="0.7724" style="stop-color:#E3E3E3"/>
|
||||
<stop offset="0.8853" style="stop-color:#CFCFCF"/>
|
||||
<stop offset="0.9965" style="stop-color:#B4B4B4"/>
|
||||
<stop offset="1" style="stop-color:#B3B3B3"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_8_)" d="M19.625,10.113c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.926-18.396,3.926
|
||||
c-9.481,0-17.396-1.959-18.396-3.926L0,5.925C0,8.238,8.787,10.113,19.625,10.113z"/>
|
||||
<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="371.4297" y1="618.5" x2="408.2217" y2="618.5" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)">
|
||||
<stop offset="0" style="stop-color:#C9C9C9"/>
|
||||
<stop offset="1" style="stop-color:#808080"/>
|
||||
</linearGradient>
|
||||
<ellipse fill="url(#SVGID_9_)" cx="19.625" cy="3.926" rx="18.396" ry="3.926"/>
|
||||
<path opacity="0.24" fill="#FFFFFF" enable-background="new " d="M31.291,46.792c0,0-4.313,0.578-7.249,0.694
|
||||
C20.917,47.613,15,47.613,15,47.613l-2.443-10.279l-0.119-2.283l-1.231-1.842L9.789,23.024l-0.082-0.119L9.3,20.715l-1.45-1.44
|
||||
L5.329,8.793c0,0,5.296,0.882,7.234,1.07s8.375,0.25,8.375,0.25l3,9.875l-0.25,1.313l1.063,2.168l2.312,9.644l-0.375,1.875
|
||||
l1.627,2.193L31.291,46.792z"/>
|
||||
</svg>
|
||||
</y:Resource>
|
||||
<y:Resource id="2"><?xml version="1.0" encoding="utf-8"?>
|
||||
<svg version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" width="41px" height="48px" viewBox="-0.875 -0.887 41 48" enable-background="new -0.875 -0.887 41 48"
|
||||
xml:space="preserve">
|
||||
<defs>
|
||||
</defs>
|
||||
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-979.1445" x2="682.0508" y2="-979.1445" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)">
|
||||
<stop offset="0" style="stop-color:#3C89C9"/>
|
||||
<stop offset="0.1482" style="stop-color:#60A6DD"/>
|
||||
<stop offset="0.3113" style="stop-color:#81C1F0"/>
|
||||
<stop offset="0.4476" style="stop-color:#95D1FB"/>
|
||||
<stop offset="0.5394" style="stop-color:#9CD7FF"/>
|
||||
<stop offset="0.636" style="stop-color:#98D4FD"/>
|
||||
<stop offset="0.7293" style="stop-color:#8DCAF6"/>
|
||||
<stop offset="0.8214" style="stop-color:#79BBEB"/>
|
||||
<stop offset="0.912" style="stop-color:#5EA5DC"/>
|
||||
<stop offset="1" style="stop-color:#3C89C9"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_1_)" d="M19.625,36.763C8.787,36.763,0,34.888,0,32.575v10c0,2.313,8.787,4.188,19.625,4.188
|
||||
c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,34.888,30.464,36.763,19.625,36.763z"/>
|
||||
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-973.1445" x2="682.0508" y2="-973.1445" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)">
|
||||
<stop offset="0" style="stop-color:#9CD7FF"/>
|
||||
<stop offset="0.0039" style="stop-color:#9DD7FF"/>
|
||||
<stop offset="0.2273" style="stop-color:#BDE5FF"/>
|
||||
<stop offset="0.4138" style="stop-color:#D1EEFF"/>
|
||||
<stop offset="0.5394" style="stop-color:#D9F1FF"/>
|
||||
<stop offset="0.6155" style="stop-color:#D5EFFE"/>
|
||||
<stop offset="0.6891" style="stop-color:#C9E7FA"/>
|
||||
<stop offset="0.7617" style="stop-color:#B6DAF3"/>
|
||||
<stop offset="0.8337" style="stop-color:#9AC8EA"/>
|
||||
<stop offset="0.9052" style="stop-color:#77B0DD"/>
|
||||
<stop offset="0.9754" style="stop-color:#4D94CF"/>
|
||||
<stop offset="1" style="stop-color:#3C89C9"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_2_)" d="M19.625,36.763c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.927-18.396,3.927
|
||||
c-9.481,0-17.396-1.959-18.396-3.927l-1.229,2C0,34.888,8.787,36.763,19.625,36.763z"/>
|
||||
<path fill="#3C89C9" d="M19.625,26.468c10.16,0,19.625,2.775,19.625,2.775c-0.375,2.721-5.367,5.438-19.554,5.438
|
||||
c-12.125,0-18.467-2.484-19.541-4.918C-0.127,29.125,9.465,26.468,19.625,26.468z"/>
|
||||
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-965.6948" x2="682.0508" y2="-965.6948" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)">
|
||||
<stop offset="0" style="stop-color:#3C89C9"/>
|
||||
<stop offset="0.1482" style="stop-color:#60A6DD"/>
|
||||
<stop offset="0.3113" style="stop-color:#81C1F0"/>
|
||||
<stop offset="0.4476" style="stop-color:#95D1FB"/>
|
||||
<stop offset="0.5394" style="stop-color:#9CD7FF"/>
|
||||
<stop offset="0.636" style="stop-color:#98D4FD"/>
|
||||
<stop offset="0.7293" style="stop-color:#8DCAF6"/>
|
||||
<stop offset="0.8214" style="stop-color:#79BBEB"/>
|
||||
<stop offset="0.912" style="stop-color:#5EA5DC"/>
|
||||
<stop offset="1" style="stop-color:#3C89C9"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_3_)" d="M19.625,23.313C8.787,23.313,0,21.438,0,19.125v10c0,2.313,8.787,4.188,19.625,4.188
|
||||
c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,21.438,30.464,23.313,19.625,23.313z"/>
|
||||
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-959.6948" x2="682.0508" y2="-959.6948" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)">
|
||||
<stop offset="0" style="stop-color:#9CD7FF"/>
|
||||
<stop offset="0.0039" style="stop-color:#9DD7FF"/>
|
||||
<stop offset="0.2273" style="stop-color:#BDE5FF"/>
|
||||
<stop offset="0.4138" style="stop-color:#D1EEFF"/>
|
||||
<stop offset="0.5394" style="stop-color:#D9F1FF"/>
|
||||
<stop offset="0.6155" style="stop-color:#D5EFFE"/>
|
||||
<stop offset="0.6891" style="stop-color:#C9E7FA"/>
|
||||
<stop offset="0.7617" style="stop-color:#B6DAF3"/>
|
||||
<stop offset="0.8337" style="stop-color:#9AC8EA"/>
|
||||
<stop offset="0.9052" style="stop-color:#77B0DD"/>
|
||||
<stop offset="0.9754" style="stop-color:#4D94CF"/>
|
||||
<stop offset="1" style="stop-color:#3C89C9"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_4_)" d="M19.625,23.313c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.926-18.396,3.926
|
||||
c-9.481,0-17.396-1.959-18.396-3.926l-1.229,2C0,21.438,8.787,23.313,19.625,23.313z"/>
|
||||
<path fill="#3C89C9" d="M19.476,13.019c10.161,0,19.625,2.775,19.625,2.775c-0.375,2.721-5.367,5.438-19.555,5.438
|
||||
c-12.125,0-18.467-2.485-19.541-4.918C-0.277,15.674,9.316,13.019,19.476,13.019z"/>
|
||||
<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-952.4946" x2="682.0508" y2="-952.4946" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)">
|
||||
<stop offset="0" style="stop-color:#3C89C9"/>
|
||||
<stop offset="0.1482" style="stop-color:#60A6DD"/>
|
||||
<stop offset="0.3113" style="stop-color:#81C1F0"/>
|
||||
<stop offset="0.4476" style="stop-color:#95D1FB"/>
|
||||
<stop offset="0.5394" style="stop-color:#9CD7FF"/>
|
||||
<stop offset="0.636" style="stop-color:#98D4FD"/>
|
||||
<stop offset="0.7293" style="stop-color:#8DCAF6"/>
|
||||
<stop offset="0.8214" style="stop-color:#79BBEB"/>
|
||||
<stop offset="0.912" style="stop-color:#5EA5DC"/>
|
||||
<stop offset="1" style="stop-color:#3C89C9"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_5_)" d="M19.625,10.113C8.787,10.113,0,8.238,0,5.925v10c0,2.313,8.787,4.188,19.625,4.188
|
||||
c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,8.238,30.464,10.113,19.625,10.113z"/>
|
||||
<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-946.4946" x2="682.0508" y2="-946.4946" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)">
|
||||
<stop offset="0" style="stop-color:#9CD7FF"/>
|
||||
<stop offset="0.0039" style="stop-color:#9DD7FF"/>
|
||||
<stop offset="0.2273" style="stop-color:#BDE5FF"/>
|
||||
<stop offset="0.4138" style="stop-color:#D1EEFF"/>
|
||||
<stop offset="0.5394" style="stop-color:#D9F1FF"/>
|
||||
<stop offset="0.6155" style="stop-color:#D5EFFE"/>
|
||||
<stop offset="0.6891" style="stop-color:#C9E7FA"/>
|
||||
<stop offset="0.7617" style="stop-color:#B6DAF3"/>
|
||||
<stop offset="0.8337" style="stop-color:#9AC8EA"/>
|
||||
<stop offset="0.9052" style="stop-color:#77B0DD"/>
|
||||
<stop offset="0.9754" style="stop-color:#4D94CF"/>
|
||||
<stop offset="1" style="stop-color:#3C89C9"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_6_)" d="M19.625,10.113c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.926-18.396,3.926
|
||||
c-9.481,0-17.396-1.959-18.396-3.926L0,5.925C0,8.238,8.787,10.113,19.625,10.113z"/>
|
||||
<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="644.0293" y1="-943.4014" x2="680.8223" y2="-943.4014" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)">
|
||||
<stop offset="0" style="stop-color:#9CD7FF"/>
|
||||
<stop offset="1" style="stop-color:#3C89C9"/>
|
||||
</linearGradient>
|
||||
<ellipse fill="url(#SVGID_7_)" cx="19.625" cy="3.926" rx="18.396" ry="3.926"/>
|
||||
<path opacity="0.24" fill="#FFFFFF" enable-background="new " d="M31.04,45.982c0,0-4.354,0.664-7.29,0.781
|
||||
c-3.125,0.125-8.952,0-8.952,0l-2.384-10.292l0.044-2.108l-1.251-1.154L9.789,23.024l-0.082-0.119L9.5,20.529l-1.65-1.254
|
||||
L5.329,8.793c0,0,4.213,0.903,7.234,1.07s8.375,0.25,8.375,0.25l3,9.875l-0.25,1.313l1.063,2.168l2.312,9.645l-0.521,1.416
|
||||
l1.46,1.834L31.04,45.982z"/>
|
||||
</svg>
|
||||
</y:Resource>
|
||||
</y:Resources>
|
||||
</data>
|
||||
</graphml>
|
340
doc/source/images/Nova_spec_process.svg
Normal file
340
doc/source/images/Nova_spec_process.svg
Normal file
@@ -0,0 +1,340 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill-opacity="1" color-rendering="auto" color-interpolation="auto" text-rendering="auto" stroke="black" stroke-linecap="square" width="637" stroke-miterlimit="10" shape-rendering="auto" stroke-opacity="1" fill="black" stroke-dasharray="none" font-weight="normal" stroke-width="1" height="1149" font-family="'Dialog'" font-style="normal" stroke-linejoin="miter" font-size="12" stroke-dashoffset="0" image-rendering="auto">
|
||||
<!--Generated by ySVG 2.5-->
|
||||
<defs id="genericDefs"/>
|
||||
<g>
|
||||
<defs id="defs1">
|
||||
<linearGradient x1="66.9357" gradientUnits="userSpaceOnUse" x2="66.9357" y1="-759.8748" y2="-727.3748" id="linearGradient1" spreadMethod="pad">
|
||||
<stop stop-opacity="1" stop-color="rgb(230,242,191)" offset="0%"/>
|
||||
<stop stop-opacity="1" stop-color="rgb(173,214,51)" offset="100%"/>
|
||||
</linearGradient>
|
||||
<linearGradient x1="183.182" gradientUnits="userSpaceOnUse" x2="183.182" y1="-759.8748" y2="-727.3748" id="linearGradient2" spreadMethod="pad">
|
||||
<stop stop-opacity="1" stop-color="rgb(230,242,191)" offset="0%"/>
|
||||
<stop stop-opacity="1" stop-color="rgb(173,214,51)" offset="100%"/>
|
||||
</linearGradient>
|
||||
<linearGradient x1="329.9673" gradientUnits="userSpaceOnUse" x2="329.9673" y1="-759.8748" y2="-727.3748" id="linearGradient3" spreadMethod="pad">
|
||||
<stop stop-opacity="1" stop-color="rgb(230,242,191)" offset="0%"/>
|
||||
<stop stop-opacity="1" stop-color="rgb(173,214,51)" offset="100%"/>
|
||||
</linearGradient>
|
||||
<linearGradient x1="136.0729" gradientUnits="userSpaceOnUse" x2="136.0729" y1="-31" y2="1.5" id="linearGradient4" spreadMethod="pad">
|
||||
<stop stop-opacity="1" stop-color="rgb(255,230,191)" offset="0%"/>
|
||||
<stop stop-opacity="1" stop-color="rgb(255,173,51)" offset="100%"/>
|
||||
</linearGradient>
|
||||
<linearGradient x1="16.0004" gradientUnits="userSpaceOnUse" x2="16.0004" y1="-31" y2="1.5" id="linearGradient5" spreadMethod="pad">
|
||||
<stop stop-opacity="1" stop-color="rgb(255,230,191)" offset="0%"/>
|
||||
<stop stop-opacity="1" stop-color="rgb(255,173,51)" offset="100%"/>
|
||||
</linearGradient>
|
||||
<linearGradient x1="340.4421" gradientUnits="userSpaceOnUse" x2="340.4421" y1="-1104.6365" y2="-1072.1365" id="linearGradient6" spreadMethod="pad">
|
||||
<stop stop-opacity="1" stop-color="rgb(230,242,191)" offset="0%"/>
|
||||
<stop stop-opacity="1" stop-color="rgb(173,214,51)" offset="100%"/>
|
||||
</linearGradient>
|
||||
<linearGradient x1="256.3125" gradientUnits="userSpaceOnUse" x2="256.3125" y1="-464.8748" y2="-432.3748" id="linearGradient7" spreadMethod="pad">
|
||||
<stop stop-opacity="1" stop-color="rgb(230,242,191)" offset="0%"/>
|
||||
<stop stop-opacity="1" stop-color="rgb(173,214,51)" offset="100%"/>
|
||||
</linearGradient>
|
||||
<linearGradient x1="238.6593" gradientUnits="userSpaceOnUse" x2="238.6593" y1="-389.8748" y2="-357.3748" id="linearGradient8" spreadMethod="pad">
|
||||
<stop stop-opacity="1" stop-color="rgb(255,230,191)" offset="0%"/>
|
||||
<stop stop-opacity="1" stop-color="rgb(255,173,51)" offset="100%"/>
|
||||
</linearGradient>
|
||||
<linearGradient x1="130.2458" gradientUnits="userSpaceOnUse" x2="130.2458" y1="-314.8748" y2="-282.3748" id="linearGradient9" spreadMethod="pad">
|
||||
<stop stop-opacity="1" stop-color="rgb(255,230,191)" offset="0%"/>
|
||||
<stop stop-opacity="1" stop-color="rgb(255,173,51)" offset="100%"/>
|
||||
</linearGradient>
|
||||
<linearGradient x1="125.0589" gradientUnits="userSpaceOnUse" x2="125.0589" y1="-589.8748" y2="-557.3748" id="linearGradient10" spreadMethod="pad">
|
||||
<stop stop-opacity="1" stop-color="rgb(230,242,191)" offset="0%"/>
|
||||
<stop stop-opacity="1" stop-color="rgb(173,214,51)" offset="100%"/>
|
||||
</linearGradient>
|
||||
<linearGradient x1="380.6786" gradientUnits="userSpaceOnUse" x2="380.6786" y1="-31" y2="1.5" id="linearGradient11" spreadMethod="pad">
|
||||
<stop stop-opacity="1" stop-color="rgb(255,230,191)" offset="0%"/>
|
||||
<stop stop-opacity="1" stop-color="rgb(255,173,51)" offset="100%"/>
|
||||
</linearGradient>
|
||||
<linearGradient x1="438.3602" gradientUnits="userSpaceOnUse" x2="438.3602" y1="-664.8748" y2="-632.3748" id="linearGradient12" spreadMethod="pad">
|
||||
<stop stop-opacity="1" stop-color="rgb(230,242,191)" offset="0%"/>
|
||||
<stop stop-opacity="1" stop-color="rgb(173,214,51)" offset="100%"/>
|
||||
</linearGradient>
|
||||
<linearGradient x1="452.3026" gradientUnits="userSpaceOnUse" x2="452.3026" y1="-314.8748" y2="-282.3748" id="linearGradient13" spreadMethod="pad">
|
||||
<stop stop-opacity="1" stop-color="rgb(255,230,191)" offset="0%"/>
|
||||
<stop stop-opacity="1" stop-color="rgb(255,173,51)" offset="100%"/>
|
||||
</linearGradient>
|
||||
<linearGradient x1="457.2567" gradientUnits="userSpaceOnUse" x2="457.2567" y1="-264.8748" y2="-232.3748" id="linearGradient14" spreadMethod="pad">
|
||||
<stop stop-opacity="1" stop-color="rgb(255,230,191)" offset="0%"/>
|
||||
<stop stop-opacity="1" stop-color="rgb(255,173,51)" offset="100%"/>
|
||||
</linearGradient>
|
||||
<linearGradient x1="36.5255" gradientUnits="userSpaceOnUse" x2="36.5255" y1="-189.8748" y2="-157.3748" id="linearGradient15" spreadMethod="pad">
|
||||
<stop stop-opacity="1" stop-color="rgb(230,242,191)" offset="0%"/>
|
||||
<stop stop-opacity="1" stop-color="rgb(173,214,51)" offset="100%"/>
|
||||
</linearGradient>
|
||||
<linearGradient x1="154.6882" gradientUnits="userSpaceOnUse" x2="154.6882" y1="-264.8748" y2="-232.3748" id="linearGradient16" spreadMethod="pad">
|
||||
<stop stop-opacity="1" stop-color="rgb(255,230,191)" offset="0%"/>
|
||||
<stop stop-opacity="1" stop-color="rgb(255,173,51)" offset="100%"/>
|
||||
</linearGradient>
|
||||
<linearGradient x1="126.5706" gradientUnits="userSpaceOnUse" x2="126.5706" y1="-539.8748" y2="-507.3748" id="linearGradient17" spreadMethod="pad">
|
||||
<stop stop-opacity="1" stop-color="rgb(255,230,191)" offset="0%"/>
|
||||
<stop stop-opacity="1" stop-color="rgb(255,173,51)" offset="100%"/>
|
||||
</linearGradient>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
|
||||
<path d="M0 0 L637 0 L637 1149 L0 1149 L0 0 Z"/>
|
||||
</clipPath>
|
||||
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
|
||||
<path d="M-15 -1119 L622 -1119 L622 30 L-15 30 L-15 -1119 Z"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g fill="white" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="translate(15,1119)" stroke="white">
|
||||
<rect x="-15" width="637" height="1149" y="-1119" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
</g>
|
||||
<g fill="rgb(245,245,245)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(245,245,245)">
|
||||
<rect x="50.9353" y="-795.5408" clip-path="url(#clipPath2)" width="411.8175" rx="4" ry="4" height="81.666" stroke="none"/>
|
||||
<rect x="50.9353" y="-795.5408" clip-path="url(#clipPath2)" fill="rgb(235,235,235)" width="411.8175" height="21.666" stroke="none"/>
|
||||
</g>
|
||||
<g font-size="15" stroke-linecap="butt" transform="matrix(1,0,0,1,15,1119)" text-rendering="geometricPrecision" font-family="sans-serif" shape-rendering="geometricPrecision" stroke-miterlimit="1.45">
|
||||
<text x="385.3573" xml:space="preserve" y="-779.0388" clip-path="url(#clipPath2)" stroke="none">launchpad</text>
|
||||
<rect x="50.9353" y="-795.5408" clip-path="url(#clipPath2)" fill="none" width="411.8175" stroke-dasharray="6,2" rx="4" ry="4" height="81.666"/>
|
||||
</g>
|
||||
<g fill="rgb(153,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(153,204,0)">
|
||||
<path d="M66.9357 -744.8748 L153.1818 -744.8748 L153.1818 -738.8748 Q153.1818 -728.8748 143.1818 -728.8748 L76.9357 -728.8748 Q66.9357 -728.8748 66.9357 -738.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
|
||||
<path fill="url(#linearGradient1)" d="M66.9357 -748.8748 Q66.9357 -758.8748 76.9357 -758.8748 L143.1818 -758.8748 Q153.1818 -758.8748 153.1818 -748.8748 L153.1818 -743.8748 L66.9357 -743.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M68.9357 -748.8748 Q68.9357 -756.8748 76.9357 -756.8748 L143.1818 -756.8748 Q151.1818 -756.8748 151.1818 -748.8748 L151.1818 -738.8748 Q151.1818 -730.8748 143.1818 -730.8748 L76.9357 -730.8748 Q68.9357 -730.8748 68.9357 -738.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(240,247,217)"/>
|
||||
<path fill="none" d="M68.9357 -748.8748 Q68.9357 -756.8748 76.9357 -756.8748 L143.1818 -756.8748 Q151.1818 -756.8748 151.1818 -748.8748 L151.1818 -738.8748 Q151.1818 -730.8748 143.1818 -730.8748 L76.9357 -730.8748 Q68.9357 -730.8748 68.9357 -738.8748 Z" clip-path="url(#clipPath2)"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="73.9357" xml:space="preserve" y="-739.3396" clip-path="url(#clipPath2)" stroke="none">create a bug</text>
|
||||
</g>
|
||||
<g fill="rgb(153,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(153,204,0)">
|
||||
<path d="M183.182 -744.8748 L299.9672 -744.8748 L299.9672 -738.8748 Q299.9672 -728.8748 289.9672 -728.8748 L193.182 -728.8748 Q183.182 -728.8748 183.182 -738.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
|
||||
<path fill="url(#linearGradient2)" d="M183.182 -748.8748 Q183.182 -758.8748 193.182 -758.8748 L289.9672 -758.8748 Q299.9672 -758.8748 299.9672 -748.8748 L299.9672 -743.8748 L183.182 -743.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M185.182 -748.8748 Q185.182 -756.8748 193.182 -756.8748 L289.9672 -756.8748 Q297.9672 -756.8748 297.9672 -748.8748 L297.9672 -738.8748 Q297.9672 -730.8748 289.9672 -730.8748 L193.182 -730.8748 Q185.182 -730.8748 185.182 -738.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(240,247,217)"/>
|
||||
<path fill="none" d="M185.182 -748.8748 Q185.182 -756.8748 193.182 -756.8748 L289.9672 -756.8748 Q297.9672 -756.8748 297.9672 -748.8748 L297.9672 -738.8748 Q297.9672 -730.8748 289.9672 -730.8748 L193.182 -730.8748 Q185.182 -730.8748 185.182 -738.8748 Z" clip-path="url(#clipPath2)"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="190.182" xml:space="preserve" y="-739.3396" clip-path="url(#clipPath2)" stroke="none">create a blueprint</text>
|
||||
</g>
|
||||
<g fill="rgb(153,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(153,204,0)">
|
||||
<path d="M329.9673 -744.8748 L446.7525 -744.8748 L446.7525 -738.8748 Q446.7525 -728.8748 436.7525 -728.8748 L339.9673 -728.8748 Q329.9673 -728.8748 329.9673 -738.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
|
||||
<path fill="url(#linearGradient3)" d="M329.9673 -748.8748 Q329.9673 -758.8748 339.9673 -758.8748 L436.7525 -758.8748 Q446.7525 -758.8748 446.7525 -748.8748 L446.7525 -743.8748 L329.9673 -743.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M331.9673 -748.8748 Q331.9673 -756.8748 339.9673 -756.8748 L436.7525 -756.8748 Q444.7525 -756.8748 444.7525 -748.8748 L444.7525 -738.8748 Q444.7525 -730.8748 436.7525 -730.8748 L339.9673 -730.8748 Q331.9673 -730.8748 331.9673 -738.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(240,247,217)"/>
|
||||
<path fill="none" d="M331.9673 -748.8748 Q331.9673 -756.8748 339.9673 -756.8748 L436.7525 -756.8748 Q444.7525 -756.8748 444.7525 -748.8748 L444.7525 -738.8748 Q444.7525 -730.8748 436.7525 -730.8748 L339.9673 -730.8748 Q331.9673 -730.8748 331.9673 -738.8748 Z" clip-path="url(#clipPath2)"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="336.9673" xml:space="preserve" y="-739.3396" clip-path="url(#clipPath2)" stroke="none">create a blueprint</text>
|
||||
</g>
|
||||
<g fill="rgb(245,245,245)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(245,245,245)">
|
||||
<rect x="0" y="-66.666" clip-path="url(#clipPath2)" width="238.6298" rx="4" ry="4" height="81.666" stroke="none"/>
|
||||
<rect x="0" y="-66.666" clip-path="url(#clipPath2)" fill="rgb(235,235,235)" width="238.6298" height="21.666" stroke="none"/>
|
||||
</g>
|
||||
<g font-size="15" stroke-linecap="butt" transform="matrix(1,0,0,1,15,1119)" text-rendering="geometricPrecision" font-family="sans-serif" shape-rendering="geometricPrecision" stroke-miterlimit="1.45">
|
||||
<text x="161.8495" xml:space="preserve" y="-50.1641" clip-path="url(#clipPath2)" stroke="none">End states</text>
|
||||
<rect x="0" y="-66.666" clip-path="url(#clipPath2)" fill="none" width="238.6298" stroke-dasharray="6,2" rx="4" ry="4" height="81.666"/>
|
||||
</g>
|
||||
<g fill="rgb(255,153,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,153,0)">
|
||||
<path d="M136.0729 -16 L222.6295 -16 L222.6295 -10 Q222.6295 0 212.6295 0 L146.0729 0 Q136.0729 0 136.0729 -10 Z" stroke="none" clip-path="url(#clipPath2)"/>
|
||||
<path fill="url(#linearGradient4)" d="M136.0729 -20 Q136.0729 -30 146.0729 -30 L212.6295 -30 Q222.6295 -30 222.6295 -20 L222.6295 -15 L136.0729 -15 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M138.0729 -20 Q138.0729 -28 146.0729 -28 L212.6295 -28 Q220.6295 -28 220.6295 -20 L220.6295 -10 Q220.6295 -2 212.6295 -2 L146.0729 -2 Q138.0729 -2 138.0729 -10 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(255,240,217)"/>
|
||||
<path fill="none" d="M138.0729 -20 Q138.0729 -28 146.0729 -28 L212.6295 -28 Q220.6295 -28 220.6295 -20 L220.6295 -10 Q220.6295 -2 212.6295 -2 L146.0729 -2 Q138.0729 -2 138.0729 -10 Z" clip-path="url(#clipPath2)"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="143.0729" xml:space="preserve" y="-10.4648" clip-path="url(#clipPath2)" stroke="none">out of scope</text>
|
||||
</g>
|
||||
<g fill="rgb(255,153,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,153,0)">
|
||||
<path d="M16.0004 -16 L106.0726 -16 L106.0726 -10 Q106.0726 0 96.0726 0 L26.0004 0 Q16.0004 0 16.0004 -10 Z" stroke="none" clip-path="url(#clipPath2)"/>
|
||||
<path fill="url(#linearGradient5)" d="M16.0004 -20 Q16.0004 -30 26.0004 -30 L96.0726 -30 Q106.0726 -30 106.0726 -20 L106.0726 -15 L16.0004 -15 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M18.0004 -20 Q18.0004 -28 26.0004 -28 L96.0726 -28 Q104.0726 -28 104.0726 -20 L104.0726 -10 Q104.0726 -2 96.0726 -2 L26.0004 -2 Q18.0004 -2 18.0004 -10 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(255,240,217)"/>
|
||||
<path fill="none" d="M18.0004 -20 Q18.0004 -28 26.0004 -28 L96.0726 -28 Q104.0726 -28 104.0726 -20 L104.0726 -10 Q104.0726 -2 96.0726 -2 L26.0004 -2 Q18.0004 -2 18.0004 -10 Z" clip-path="url(#clipPath2)"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="23.0004" xml:space="preserve" y="-10.4648" clip-path="url(#clipPath2)" stroke="none">code merged</text>
|
||||
</g>
|
||||
<g fill="rgb(255,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,204,0)">
|
||||
<path d="M178.4522 -953.1078 L208.7433 -968.1078 L239.0343 -953.1078 L208.7433 -938.1078 Z" fill-rule="evenodd" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="185.4522" xml:space="preserve" y="-948.5726" clip-path="url(#clipPath2)" stroke="none">bug fix?</text>
|
||||
<path fill="none" d="M178.4522 -953.1078 L208.7433 -968.1078 L239.0343 -953.1078 L208.7433 -938.1078 Z" clip-path="url(#clipPath2)" fill-rule="evenodd"/>
|
||||
</g>
|
||||
<g fill="rgb(153,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(153,204,0)">
|
||||
<path d="M340.4421 -1089.6365 L378.7761 -1089.6365 L378.7761 -1083.6365 Q378.7761 -1073.6365 368.7761 -1073.6365 L350.4421 -1073.6365 Q340.4421 -1073.6365 340.4421 -1083.6365 Z" stroke="none" clip-path="url(#clipPath2)"/>
|
||||
<path fill="url(#linearGradient6)" d="M340.4421 -1093.6365 Q340.4421 -1103.6365 350.4421 -1103.6365 L368.7761 -1103.6365 Q378.7761 -1103.6365 378.7761 -1093.6365 L378.7761 -1088.6365 L340.4421 -1088.6365 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M342.4421 -1093.6365 Q342.4421 -1101.6365 350.4421 -1101.6365 L368.7761 -1101.6365 Q376.7761 -1101.6365 376.7761 -1093.6365 L376.7761 -1083.6365 Q376.7761 -1075.6365 368.7761 -1075.6365 L350.4421 -1075.6365 Q342.4421 -1075.6365 342.4421 -1083.6365 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(240,247,217)"/>
|
||||
<path fill="none" d="M342.4421 -1093.6365 Q342.4421 -1101.6365 350.4421 -1101.6365 L368.7761 -1101.6365 Q376.7761 -1101.6365 376.7761 -1093.6365 L376.7761 -1083.6365 Q376.7761 -1075.6365 368.7761 -1075.6365 L350.4421 -1075.6365 Q342.4421 -1075.6365 342.4421 -1083.6365 Z" clip-path="url(#clipPath2)"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="347.4421" xml:space="preserve" y="-1084.1013" clip-path="url(#clipPath2)" stroke="none">idea</text>
|
||||
</g>
|
||||
<g fill="rgb(255,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,204,0)">
|
||||
<path d="M302.1072 -1038.6365 L359.6091 -1053.6365 L417.1111 -1038.6365 L359.6091 -1023.6365 Z" fill-rule="evenodd" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="309.1072" xml:space="preserve" y="-1032.1677" clip-path="url(#clipPath2)" stroke="none">REST API change?</text>
|
||||
<path fill="none" d="M302.1072 -1038.6365 L359.6091 -1053.6365 L417.1111 -1038.6365 L359.6091 -1023.6365 Z" clip-path="url(#clipPath2)" fill-rule="evenodd"/>
|
||||
</g>
|
||||
<g fill="rgb(153,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(153,204,0)">
|
||||
<path d="M256.3125 -449.8748 L402.3828 -449.8748 L402.3828 -443.8748 Q402.3828 -433.8748 392.3828 -433.8748 L266.3125 -433.8748 Q256.3125 -433.8748 256.3125 -443.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
|
||||
<path fill="url(#linearGradient7)" d="M256.3125 -453.8748 Q256.3125 -463.8748 266.3125 -463.8748 L392.3828 -463.8748 Q402.3828 -463.8748 402.3828 -453.8748 L402.3828 -448.8748 L256.3125 -448.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M258.3125 -453.8748 Q258.3125 -461.8748 266.3125 -461.8748 L392.3828 -461.8748 Q400.3828 -461.8748 400.3828 -453.8748 L400.3828 -443.8748 Q400.3828 -435.8748 392.3828 -435.8748 L266.3125 -435.8748 Q258.3125 -435.8748 258.3125 -443.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(240,247,217)"/>
|
||||
<path fill="none" d="M258.3125 -453.8748 Q258.3125 -461.8748 266.3125 -461.8748 L392.3828 -461.8748 Q400.3828 -461.8748 400.3828 -453.8748 L400.3828 -443.8748 Q400.3828 -435.8748 392.3828 -435.8748 L266.3125 -435.8748 Q258.3125 -435.8748 258.3125 -443.8748 Z" clip-path="url(#clipPath2)"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="263.3125" xml:space="preserve" y="-444.3396" clip-path="url(#clipPath2)" stroke="none">submit spec for review</text>
|
||||
</g>
|
||||
<g fill="rgb(255,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,204,0)">
|
||||
<path d="M188.5178 -878.1078 L223.8889 -893.1078 L259.26 -878.1078 L223.8889 -863.1078 Z" fill-rule="evenodd" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="195.5178" xml:space="preserve" y="-871.639" clip-path="url(#clipPath2)" stroke="none">a feature?</text>
|
||||
<path fill="none" d="M188.5178 -878.1078 L223.8889 -893.1078 L259.26 -878.1078 L223.8889 -863.1078 Z" clip-path="url(#clipPath2)" fill-rule="evenodd"/>
|
||||
</g>
|
||||
<g fill="rgb(255,153,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,153,0)">
|
||||
<path d="M238.6593 -374.8748 L327.4776 -374.8748 L327.4776 -368.8748 Q327.4776 -358.8748 317.4776 -358.8748 L248.6593 -358.8748 Q238.6593 -358.8748 238.6593 -368.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
|
||||
<path fill="url(#linearGradient8)" d="M238.6593 -378.8748 Q238.6593 -388.8748 248.6593 -388.8748 L317.4776 -388.8748 Q327.4776 -388.8748 327.4776 -378.8748 L327.4776 -373.8748 L238.6593 -373.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M240.6593 -378.8748 Q240.6593 -386.8748 248.6593 -386.8748 L317.4776 -386.8748 Q325.4776 -386.8748 325.4776 -378.8748 L325.4776 -368.8748 Q325.4776 -360.8748 317.4776 -360.8748 L248.6593 -360.8748 Q240.6593 -360.8748 240.6593 -368.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(255,240,217)"/>
|
||||
<path fill="none" d="M240.6593 -378.8748 Q240.6593 -386.8748 248.6593 -386.8748 L317.4776 -386.8748 Q325.4776 -386.8748 325.4776 -378.8748 L325.4776 -368.8748 Q325.4776 -360.8748 317.4776 -360.8748 L248.6593 -360.8748 Q240.6593 -360.8748 240.6593 -368.8748 Z" clip-path="url(#clipPath2)"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="245.6593" xml:space="preserve" y="-369.3396" clip-path="url(#clipPath2)" stroke="none">spec merged</text>
|
||||
</g>
|
||||
<g fill="rgb(255,153,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,153,0)">
|
||||
<path d="M130.2458 -299.8748 L320.9939 -299.8748 L320.9939 -293.8748 Q320.9939 -283.8748 310.9939 -283.8748 L140.2458 -283.8748 Q130.2458 -283.8748 130.2458 -293.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
|
||||
<path fill="url(#linearGradient9)" d="M130.2458 -303.8748 Q130.2458 -313.8748 140.2458 -313.8748 L310.9939 -313.8748 Q320.9939 -313.8748 320.9939 -303.8748 L320.9939 -298.8748 L130.2458 -298.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M132.2458 -303.8748 Q132.2458 -311.8748 140.2458 -311.8748 L310.9939 -311.8748 Q318.9939 -311.8748 318.9939 -303.8748 L318.9939 -293.8748 Q318.9939 -285.8748 310.9939 -285.8748 L140.2458 -285.8748 Q132.2458 -285.8748 132.2458 -293.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(255,240,217)"/>
|
||||
<path fill="none" d="M132.2458 -303.8748 Q132.2458 -311.8748 140.2458 -311.8748 L310.9939 -311.8748 Q318.9939 -311.8748 318.9939 -303.8748 L318.9939 -293.8748 Q318.9939 -285.8748 310.9939 -285.8748 L140.2458 -285.8748 Q132.2458 -285.8748 132.2458 -293.8748 Z" clip-path="url(#clipPath2)"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="137.2458" xml:space="preserve" y="-294.3396" clip-path="url(#clipPath2)" stroke="none">blueprint approved for release</text>
|
||||
</g>
|
||||
<g fill="rgb(255,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,204,0)">
|
||||
<path d="M204.6518 -648.8748 L253.9389 -663.8748 L303.226 -648.8748 L253.9389 -633.8748 Z" fill-rule="evenodd" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="211.6518" xml:space="preserve" y="-644.3396" clip-path="url(#clipPath2)" stroke="none">spec required?</text>
|
||||
<path fill="none" d="M204.6518 -648.8748 L253.9389 -663.8748 L303.226 -648.8748 L253.9389 -633.8748 Z" clip-path="url(#clipPath2)" fill-rule="evenodd"/>
|
||||
</g>
|
||||
<g fill="rgb(153,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(153,204,0)">
|
||||
<path d="M125.0589 -574.8748 L333.5316 -574.8748 L333.5316 -568.8748 Q333.5316 -558.8748 323.5316 -558.8748 L135.0589 -558.8748 Q125.0589 -558.8748 125.0589 -568.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
|
||||
<path fill="url(#linearGradient10)" d="M125.0589 -578.8748 Q125.0589 -588.8748 135.0589 -588.8748 L323.5316 -588.8748 Q333.5316 -588.8748 333.5316 -578.8748 L333.5316 -573.8748 L125.0589 -573.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M127.0589 -578.8748 Q127.0589 -586.8748 135.0589 -586.8748 L323.5316 -586.8748 Q331.5316 -586.8748 331.5316 -578.8748 L331.5316 -568.8748 Q331.5316 -560.8748 323.5316 -560.8748 L135.0589 -560.8748 Q127.0589 -560.8748 127.0589 -568.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(240,247,217)"/>
|
||||
<path fill="none" d="M127.0589 -578.8748 Q127.0589 -586.8748 135.0589 -586.8748 L323.5316 -586.8748 Q331.5316 -586.8748 331.5316 -578.8748 L331.5316 -568.8748 Q331.5316 -560.8748 323.5316 -560.8748 L135.0589 -560.8748 Q127.0589 -560.8748 127.0589 -568.8748 Z" clip-path="url(#clipPath2)"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="132.0589" xml:space="preserve" y="-569.3396" clip-path="url(#clipPath2)" stroke="none">add link on nova meeting agenda</text>
|
||||
</g>
|
||||
<g fill="rgb(255,153,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,153,0)">
|
||||
<path d="M380.6786 -16 L569.6278 -16 L569.6278 -10 Q569.6278 0 559.6278 0 L390.6786 0 Q380.6786 0 380.6786 -10 Z" stroke="none" clip-path="url(#clipPath2)"/>
|
||||
<path fill="url(#linearGradient11)" d="M380.6786 -20 Q380.6786 -30 390.6786 -30 L559.6278 -30 Q569.6278 -30 569.6278 -20 L569.6278 -15 L380.6786 -15 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M382.6786 -20 Q382.6786 -28 390.6786 -28 L559.6278 -28 Q567.6278 -28 567.6278 -20 L567.6278 -10 Q567.6278 -2 559.6278 -2 L390.6786 -2 Q382.6786 -2 382.6786 -10 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(255,240,217)"/>
|
||||
<path fill="none" d="M382.6786 -20 Q382.6786 -28 390.6786 -28 L559.6278 -28 Q567.6278 -28 567.6278 -20 L567.6278 -10 Q567.6278 -2 559.6278 -2 L390.6786 -2 Q382.6786 -2 382.6786 -10 Z" clip-path="url(#clipPath2)"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="387.6786" xml:space="preserve" y="-10.4648" clip-path="url(#clipPath2)" stroke="none">blueprint hit by feature freeze</text>
|
||||
</g>
|
||||
<g fill="rgb(153,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(153,204,0)">
|
||||
<path d="M438.3602 -649.8748 L606.4208 -649.8748 L606.4208 -643.8748 Q606.4208 -633.8748 596.4208 -633.8748 L448.3602 -633.8748 Q438.3602 -633.8748 438.3602 -643.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
|
||||
<path fill="url(#linearGradient12)" d="M438.3602 -653.8748 Q438.3602 -663.8748 448.3602 -663.8748 L596.4208 -663.8748 Q606.4208 -663.8748 606.4208 -653.8748 L606.4208 -648.8748 L438.3602 -648.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M440.3602 -653.8748 Q440.3602 -661.8748 448.3602 -661.8748 L596.4208 -661.8748 Q604.4208 -661.8748 604.4208 -653.8748 L604.4208 -643.8748 Q604.4208 -635.8748 596.4208 -635.8748 L448.3602 -635.8748 Q440.3602 -635.8748 440.3602 -643.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(240,247,217)"/>
|
||||
<path fill="none" d="M440.3602 -653.8748 Q440.3602 -661.8748 448.3602 -661.8748 L596.4208 -661.8748 Q604.4208 -661.8748 604.4208 -653.8748 L604.4208 -643.8748 Q604.4208 -635.8748 596.4208 -635.8748 L448.3602 -635.8748 Q440.3602 -635.8748 440.3602 -643.8748 Z" clip-path="url(#clipPath2)"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="446.3602" xml:space="preserve" y="-642.406" clip-path="url(#clipPath2)" stroke="none">re-submit for next release</text>
|
||||
</g>
|
||||
<g fill="rgb(255,153,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,153,0)">
|
||||
<path d="M452.3026 -299.8748 L592.4784 -299.8748 L592.4784 -293.8748 Q592.4784 -283.8748 582.4784 -283.8748 L462.3026 -283.8748 Q452.3026 -283.8748 452.3026 -293.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
|
||||
<path fill="url(#linearGradient13)" d="M452.3026 -303.8748 Q452.3026 -313.8748 462.3026 -313.8748 L582.4784 -313.8748 Q592.4784 -313.8748 592.4784 -303.8748 L592.4784 -298.8748 L452.3026 -298.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M454.3026 -303.8748 Q454.3026 -311.8748 462.3026 -311.8748 L582.4784 -311.8748 Q590.4784 -311.8748 590.4784 -303.8748 L590.4784 -293.8748 Q590.4784 -285.8748 582.4784 -285.8748 L462.3026 -285.8748 Q454.3026 -285.8748 454.3026 -293.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(255,240,217)"/>
|
||||
<path fill="none" d="M454.3026 -303.8748 Q454.3026 -311.8748 462.3026 -311.8748 L582.4784 -311.8748 Q590.4784 -311.8748 590.4784 -303.8748 L590.4784 -293.8748 Q590.4784 -285.8748 582.4784 -285.8748 L462.3026 -285.8748 Q454.3026 -285.8748 454.3026 -293.8748 Z" clip-path="url(#clipPath2)"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="459.3026" xml:space="preserve" y="-294.3396" clip-path="url(#clipPath2)" stroke="none">blueprint unapproved</text>
|
||||
</g>
|
||||
<g fill="rgb(255,153,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,153,0)">
|
||||
<path d="M457.2567 -249.8748 L587.5243 -249.8748 L587.5243 -243.8748 Q587.5243 -233.8748 577.5243 -233.8748 L467.2567 -233.8748 Q457.2567 -233.8748 457.2567 -243.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
|
||||
<path fill="url(#linearGradient14)" d="M457.2567 -253.8748 Q457.2567 -263.8748 467.2567 -263.8748 L577.5243 -263.8748 Q587.5243 -263.8748 587.5243 -253.8748 L587.5243 -248.8748 L457.2567 -248.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M459.2567 -253.8748 Q459.2567 -261.8748 467.2567 -261.8748 L577.5243 -261.8748 Q585.5243 -261.8748 585.5243 -253.8748 L585.5243 -243.8748 Q585.5243 -235.8748 577.5243 -235.8748 L467.2567 -235.8748 Q459.2567 -235.8748 459.2567 -243.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(255,240,217)"/>
|
||||
<path fill="none" d="M459.2567 -253.8748 Q459.2567 -261.8748 467.2567 -261.8748 L577.5243 -261.8748 Q585.5243 -261.8748 585.5243 -253.8748 L585.5243 -243.8748 Q585.5243 -235.8748 577.5243 -235.8748 L467.2567 -235.8748 Q459.2567 -235.8748 459.2567 -243.8748 Z" clip-path="url(#clipPath2)"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="464.2567" xml:space="preserve" y="-244.3396" clip-path="url(#clipPath2)" stroke="none">apply procedural -2</text>
|
||||
</g>
|
||||
<g fill="rgb(153,204,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(153,204,0)">
|
||||
<path d="M36.5255 -174.8748 L183.5919 -174.8748 L183.5919 -168.8748 Q183.5919 -158.8748 173.5919 -158.8748 L46.5255 -158.8748 Q36.5255 -158.8748 36.5255 -168.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
|
||||
<path fill="url(#linearGradient15)" d="M36.5255 -178.8748 Q36.5255 -188.8748 46.5255 -188.8748 L173.5919 -188.8748 Q183.5919 -188.8748 183.5919 -178.8748 L183.5919 -173.8748 L36.5255 -173.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M38.5255 -178.8748 Q38.5255 -186.8748 46.5255 -186.8748 L173.5919 -186.8748 Q181.5919 -186.8748 181.5919 -178.8748 L181.5919 -168.8748 Q181.5919 -160.8748 173.5919 -160.8748 L46.5255 -160.8748 Q38.5255 -160.8748 38.5255 -168.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(240,247,217)"/>
|
||||
<path fill="none" d="M38.5255 -178.8748 Q38.5255 -186.8748 46.5255 -186.8748 L173.5919 -186.8748 Q181.5919 -186.8748 181.5919 -178.8748 L181.5919 -168.8748 Q181.5919 -160.8748 173.5919 -160.8748 L46.5255 -160.8748 Q38.5255 -160.8748 38.5255 -168.8748 Z" clip-path="url(#clipPath2)"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="43.5255" xml:space="preserve" y="-169.3396" clip-path="url(#clipPath2)" stroke="none">upload code for review</text>
|
||||
</g>
|
||||
<g fill="rgb(255,153,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,153,0)">
|
||||
<path d="M154.6882 -249.8748 L296.5515 -249.8748 L296.5515 -243.8748 Q296.5515 -233.8748 286.5515 -233.8748 L164.6882 -233.8748 Q154.6882 -233.8748 154.6882 -243.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
|
||||
<path fill="url(#linearGradient16)" d="M154.6882 -253.8748 Q154.6882 -263.8748 164.6882 -263.8748 L286.5515 -263.8748 Q296.5515 -263.8748 296.5515 -253.8748 L296.5515 -248.8748 L154.6882 -248.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M156.6882 -253.8748 Q156.6882 -261.8748 164.6882 -261.8748 L286.5515 -261.8748 Q294.5515 -261.8748 294.5515 -253.8748 L294.5515 -243.8748 Q294.5515 -235.8748 286.5515 -235.8748 L164.6882 -235.8748 Q156.6882 -235.8748 156.6882 -243.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(255,240,217)"/>
|
||||
<path fill="none" d="M156.6882 -253.8748 Q156.6882 -261.8748 164.6882 -261.8748 L286.5515 -261.8748 Q294.5515 -261.8748 294.5515 -253.8748 L294.5515 -243.8748 Q294.5515 -235.8748 286.5515 -235.8748 L164.6882 -235.8748 Q156.6882 -235.8748 156.6882 -243.8748 Z" clip-path="url(#clipPath2)"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="161.6882" xml:space="preserve" y="-244.3396" clip-path="url(#clipPath2)" stroke="none">remove procedural -2</text>
|
||||
</g>
|
||||
<g fill="rgb(255,153,0)" text-rendering="geometricPrecision" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke="rgb(255,153,0)">
|
||||
<path d="M126.5706 -524.8748 L332.0198 -524.8748 L332.0198 -518.8748 Q332.0198 -508.8748 322.0198 -508.8748 L136.5706 -508.8748 Q126.5706 -508.8748 126.5706 -518.8748 Z" stroke="none" clip-path="url(#clipPath2)"/>
|
||||
<path fill="url(#linearGradient17)" d="M126.5706 -528.8748 Q126.5706 -538.8748 136.5706 -538.8748 L322.0198 -538.8748 Q332.0198 -538.8748 332.0198 -528.8748 L332.0198 -523.8748 L126.5706 -523.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M128.5706 -528.8748 Q128.5706 -536.8748 136.5706 -536.8748 L322.0198 -536.8748 Q330.0198 -536.8748 330.0198 -528.8748 L330.0198 -518.8748 Q330.0198 -510.8748 322.0198 -510.8748 L136.5706 -510.8748 Q128.5706 -510.8748 128.5706 -518.8748 Z" stroke-width="2" clip-path="url(#clipPath2)" stroke="rgb(255,240,217)"/>
|
||||
<path fill="none" d="M128.5706 -528.8748 Q128.5706 -536.8748 136.5706 -536.8748 L322.0198 -536.8748 Q330.0198 -536.8748 330.0198 -528.8748 L330.0198 -518.8748 Q330.0198 -510.8748 322.0198 -510.8748 L136.5706 -510.8748 Q128.5706 -510.8748 128.5706 -518.8748 Z" clip-path="url(#clipPath2)"/>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" font-family="sans-serif" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<text x="133.5706" xml:space="preserve" y="-519.3396" clip-path="url(#clipPath2)" stroke="none">review blueprint in nova meeting</text>
|
||||
</g>
|
||||
<g text-rendering="geometricPrecision" stroke-miterlimit="1.45" shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,15,1119)" stroke-linecap="butt">
|
||||
<path fill="none" d="M193.5977 -945.6048 L193.5977 -928.1078 L173.5175 -893.1078 L173.5175 -853.1078 L110.0587 -810.5408 L110.0587 -766.9" clip-path="url(#clipPath2)"/>
|
||||
<path d="M110.0587 -758.9 L115.0587 -770.9 L110.0587 -767.9 L105.0587 -770.9 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M359.6091 -1073.6365 L359.6091 -1061.6365" clip-path="url(#clipPath2)"/>
|
||||
<path d="M359.6091 -1053.6365 L364.6091 -1065.6365 L359.6091 -1062.6365 L354.6091 -1065.6365 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" stroke-dasharray="6,2" d="M330.8582 -1031.1052 L330.8582 -1013.6365 L208.7433 -983.1078 L208.7433 -976.1078" clip-path="url(#clipPath2)"/>
|
||||
<path stroke-dasharray="6,2" d="M208.7433 -968.1078 L213.7433 -980.1078 L208.7433 -977.1078 L203.7433 -980.1078 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<text x="262.3915" xml:space="preserve" y="-980.4183" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none">no</text>
|
||||
<path fill="none" d="M388.3601 -1031.1052 L388.3599 -766.908" clip-path="url(#clipPath2)"/>
|
||||
<path d="M388.3599 -758.908 L393.3599 -770.908 L388.3599 -767.908 L383.3599 -770.908 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<text x="392.36" xml:space="preserve" y="-886.7205" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none">yes</text>
|
||||
<path fill="none" d="M388.3599 -728.8748 L388.3599 -523.8748 L378.0377 -478.8748 L378.0377 -471.9041" clip-path="url(#clipPath2)"/>
|
||||
<path d="M378.0377 -463.9041 L383.0377 -475.9041 L378.0377 -472.9041 L373.0377 -475.9041 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" stroke-dasharray="6,2" d="M365.8652 -433.8748 L365.8651 -148.8748 L200.9904 -81.666 L200.9904 -38.0252" clip-path="url(#clipPath2)"/>
|
||||
<path stroke-dasharray="6,2" d="M200.9904 -30.0252 L205.9904 -42.0252 L200.9904 -39.0252 L195.9904 -42.0252 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" stroke-dasharray="6,2" d="M223.8887 -945.6134 L223.8889 -901.1078" clip-path="url(#clipPath2)"/>
|
||||
<path stroke-dasharray="6,2" d="M223.8889 -893.1078 L228.8889 -905.1078 L223.8889 -902.1078 L218.8889 -905.1078 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M241.5744 -870.6118 L241.5746 -766.902" clip-path="url(#clipPath2)"/>
|
||||
<path d="M241.5746 -758.902 L246.5746 -770.902 L241.5746 -767.902 L236.5746 -770.902 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M292.83 -433.8748 L292.83 -423.8748 L283.0685 -403.8748 L283.0685 -396.9041" clip-path="url(#clipPath2)"/>
|
||||
<path d="M283.0685 -388.9041 L288.0685 -400.9041 L283.0685 -397.9041 L278.0685 -400.9041 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M283.0685 -358.8748 L283.0685 -348.8748 L273.3069 -328.8748 L273.3069 -321.9041" clip-path="url(#clipPath2)"/>
|
||||
<path d="M273.3069 -313.9041 L278.3069 -325.9041 L273.3069 -322.9041 L268.3069 -325.9041 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M241.5746 -728.8748 L241.5746 -698.8748 L253.9389 -678.8748 L253.9389 -671.8748" clip-path="url(#clipPath2)"/>
|
||||
<path d="M253.9389 -663.8748 L258.9389 -675.8748 L253.9389 -672.8748 L248.9389 -675.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M278.5825 -641.3718 L278.5825 -623.8748 L348.5317 -588.8748 L348.5317 -508.8748 L329.3476 -478.8748 L329.3476 -471.9041" clip-path="url(#clipPath2)"/>
|
||||
<path d="M329.3476 -463.9041 L334.3476 -475.9041 L329.3476 -472.9041 L324.3476 -475.9041 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" stroke-dasharray="6,2" d="M229.2953 -641.3804 L229.2953 -596.9004" clip-path="url(#clipPath2)"/>
|
||||
<path stroke-dasharray="6,2" d="M229.2952 -588.9004 L234.2953 -600.9004 L229.2953 -597.9004 L224.2953 -600.9004 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M438.3272 -648.8748 L311.226 -648.8748" clip-path="url(#clipPath2)"/>
|
||||
<path d="M303.226 -648.8748 L315.226 -643.8748 L312.226 -648.8748 L315.226 -653.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M522.3905 -313.9138 L522.3905 -625.8748" clip-path="url(#clipPath2)"/>
|
||||
<path d="M522.3905 -633.8748 L517.3905 -621.8748 L522.3905 -624.8748 L527.3905 -621.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M522.3905 -30.0498 L522.3905 -225.8748" clip-path="url(#clipPath2)"/>
|
||||
<path d="M522.3905 -233.8748 L517.3905 -221.8748 L522.3905 -224.8748 L527.3905 -221.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M522.3905 -263.9138 L522.3905 -275.8748" clip-path="url(#clipPath2)"/>
|
||||
<path d="M522.3905 -283.8748 L517.3905 -271.8748 L522.3905 -274.8748 L527.3905 -271.8748 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M110.0587 -728.8748 L110.0587 -196.9077" clip-path="url(#clipPath2)"/>
|
||||
<path d="M110.0587 -188.9077 L115.0587 -200.9077 L110.0587 -197.9077 L105.0587 -200.9077 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" stroke-dasharray="6,2" d="M206.2033 -870.6048 L206.2033 -853.1078 L35.9353 -810.5408 L35.9353 -248.8748 L61.0366 -203.8748 L61.0366 -196.9041" clip-path="url(#clipPath2)"/>
|
||||
<path stroke-dasharray="6,2" d="M61.0366 -188.9041 L66.0366 -200.9041 L61.0366 -197.9041 L56.0366 -200.9041 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M61.0366 -158.8748 L61.0365 -38.0315" clip-path="url(#clipPath2)"/>
|
||||
<path d="M61.0365 -30.0315 L66.0365 -42.0315 L61.0365 -39.0315 L56.0365 -42.0315 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" stroke-dasharray="6,2" d="M110.0587 -158.8748 L110.0587 -148.8748 L157.712 -81.666 L157.712 -38.0252" clip-path="url(#clipPath2)"/>
|
||||
<path stroke-dasharray="6,2" d="M157.712 -30.0252 L162.712 -42.0252 L157.712 -39.0252 L152.712 -42.0252 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" stroke-dasharray="6,2" d="M159.0809 -158.8748 L159.0809 -148.8748 L427.9159 -81.666 L427.9159 -38.0252" clip-path="url(#clipPath2)"/>
|
||||
<path stroke-dasharray="6,2" d="M427.9159 -30.0252 L432.9159 -42.0252 L427.9159 -39.0252 L422.9159 -42.0252 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M225.6198 -283.8748 L225.6198 -271.9138" clip-path="url(#clipPath2)"/>
|
||||
<path d="M225.6198 -263.9138 L230.6198 -275.9138 L225.6198 -272.9138 L220.6198 -275.9138 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M225.6198 -233.8748 L225.6198 -223.8748 L159.0809 -203.8748 L159.0809 -196.9041" clip-path="url(#clipPath2)"/>
|
||||
<path d="M159.0809 -188.9041 L164.0809 -200.9041 L159.0809 -197.9041 L154.0809 -200.9041 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M229.2952 -558.8748 L229.2952 -546.9138" clip-path="url(#clipPath2)"/>
|
||||
<path d="M229.2952 -538.9138 L234.2952 -550.9138 L229.2952 -547.9138 L224.2952 -550.9138 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" d="M177.9329 -508.8748 L177.9328 -321.9224" clip-path="url(#clipPath2)"/>
|
||||
<path d="M177.9328 -313.9224 L182.9328 -325.9224 L177.9328 -322.9224 L172.9328 -325.9224 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
<path fill="none" stroke-dasharray="6,2" d="M280.6575 -508.8748 L280.6575 -471.9187" clip-path="url(#clipPath2)"/>
|
||||
<path stroke-dasharray="6,2" d="M280.6575 -463.9187 L285.6575 -475.9187 L280.6575 -472.9187 L275.6576 -475.9187 Z" clip-path="url(#clipPath2)" stroke="none"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 45 KiB |
@@ -104,6 +104,7 @@ actually does, and why.
|
||||
:maxdepth: 1
|
||||
|
||||
how_to_get_involved
|
||||
process
|
||||
architecture
|
||||
project_scope
|
||||
development.environment
|
||||
@@ -229,4 +230,3 @@ Indices and tables
|
||||
* :ref:`genindex`
|
||||
* :ref:`modindex`
|
||||
* :ref:`search`
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user