http://git-wip-us.apache.org/repos/asf/flink/blob/844c874b/docs/dev/windows.md
----------------------------------------------------------------------
diff --git a/docs/dev/windows.md b/docs/dev/windows.md
new file mode 100644
index 0000000..084a2ee
--- /dev/null
+++ b/docs/dev/windows.md
@@ -0,0 +1,677 @@
+---
+title: "Windows"
+nav-parent_id: dev
+nav-id: windows
+nav-pos: 3
+---
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+Flink uses a concept called *windows* to divide a (potentially) infinite 
`DataStream` into finite
+slices based on the timestamps of elements or other criteria. This division is 
required when working
+with infinite streams of data and performing transformations that aggregate 
elements.
+
+<span class="label label-info">Info</span> We will mostly talk about *keyed 
windowing* here, i.e.
+windows that are applied on a `KeyedStream`. Keyed windows have the advantage 
that elements are
+subdivided based on both window and key before being given to
+a user function. The work can thus be distributed across the cluster
+because the elements for different keys can be processed independently. If you 
absolutely have to,
+you can check out [non-keyed windowing](#non-keyed-windowing) where we 
describe how non-keyed
+windows work.
+
+* This will be replaced by the TOC
+{:toc}
+
+## Basics
+
+For a windowed transformation you must at least specify a *key*
+(see [specifying keys]({{ site.baseurl 
}}/dev/api_concepts.html#specifying-keys)),
+a *window assigner* and a *window function*. The *key* divides the infinite, 
non-keyed, stream
+into logical keyed streams while the *window assigner* assigns elements to 
finite per-key windows.
+Finally, the *window function* is used to process the elements of each window.
+
+The basic structure of a windowed transformation is thus as follows:
+
+<div class="codetabs" markdown="1">
+<div data-lang="java" markdown="1">
+{% highlight java %}
+DataStream<T> input = ...;
+
+input
+    .keyBy(<key selector>)
+    .window(<window assigner>)
+    .<windowed transformation>(<window function>);
+{% endhighlight %}
+</div>
+
+<div data-lang="scala" markdown="1">
+{% highlight scala %}
+val input: DataStream[T] = ...
+
+input
+    .keyBy(<key selector>)
+    .window(<window assigner>)
+    .<windowed transformation>(<window function>)
+{% endhighlight %}
+</div>
+</div>
+
+We will cover [window assigners](#window-assigners) in a separate section 
below.
+
+The window transformation can be one of `reduce()`, `fold()` or `apply()`. 
Which respectively
+takes a `ReduceFunction`, `FoldFunction` or `WindowFunction`. We describe each 
of these ways
+of specifying a windowed transformation in detail below: [window 
functions](#window-functions).
+
+For more advanced use cases you can also specify a `Trigger` that determines 
when exactly a window
+is being considered as *ready for processing*. These will be covered in more 
detail in
+[triggers](#triggers).
+
+## Window Assigners
+
+The window assigner specifies how elements of the stream are divided into 
finite slices. Flink comes
+with pre-implemented window assigners for the most typical use cases, namely 
*tumbling windows*,
+*sliding windows*, *session windows* and *global windows*, but you can 
implement your own by
+extending the `WindowAssigner` class. All the built-in window assigners, 
except for the global
+windows one, assign elements to windows based on time, which can either be 
processing time or event
+time. Please take a look at our section on [event time]({{ site.baseurl 
}}/dev/event_time.html) for more
+information about how Flink deals with time.
+
+Let's first look at how each of these window assigners works before looking at 
how they can be used
+in a Flink program. We will be using abstract figures to visualize the 
workings of each assigner:
+in the following, the purple circles are elements of the stream, they are 
partitioned
+by some key (in this case *user 1*, *user 2* and *user 3*) and the x-axis 
shows the progress
+of time.
+
+### Global Windows
+
+Global windows are a way of specifying that we don't want to subdivide our 
elements into windows.
+Each element is assigned to one single per-key *global window*.
+This windowing scheme is only useful if you also specify a custom 
[trigger](#triggers). Otherwise,
+no computation is ever going to be performed, as the global window does not 
have a natural end at
+which we could process the aggregated elements.
+
+<img src="{{ site.baseurl }}/fig/non-windowed.svg" class="center" 
style="width: 80%;" />
+
+### Tumbling Windows
+
+A *tumbling windows* assigner assigns elements to fixed length, 
non-overlapping windows of a
+specified *window size*.. For example, if you specify a window size of 5 
minutes, the window
+function will get 5 minutes worth of elements in each invocation.
+
+<img src="{{ site.baseurl }}/fig/tumbling-windows.svg" class="center" 
style="width: 80%;" />
+
+### Sliding Windows
+
+The *sliding windows* assigner assigns elements to windows of fixed length 
equal to *window size*,
+as the tumbling windows assigner, but in this case, windows can be 
overlapping. The size of the
+overlap is defined by the user-specified parameter *window slide*. As windows 
are overlapping, an
+element can be assigned to multiple windows
+
+For example, you could have windows of size 10 minutes that slide by 5 
minutes. With this you get 10
+minutes worth of elements in each invocation of the window function and it 
will be invoked for every
+5 minutes of data.
+
+<img src="{{ site.baseurl }}/fig/sliding-windows.svg" class="center" 
style="width: 80%;" />
+
+### Session Windows
+
+The *session windows* assigner is ideal for cases where the window boundaries 
need to adjust to the
+incoming data. Both the *tumbling windows* and *sliding windows* assigner 
assign elements to windows
+that start at fixed time points and have a fixed *window size*. With session 
windows it is possible
+to have windows that start at individual points in time for each key and that 
end once there has
+been a certain period of inactivity. The configuration parameter is the 
*session gap* that specifies
+how long to wait for new data before considering a session as closed.
+
+<img src="{{ site.baseurl }}/fig/session-windows.svg" class="center" 
style="width: 80%;" />
+
+### Specifying a Window Assigner
+
+The built-in window assigners (except `GlobalWindows`) come in two versions. 
One for processing-time
+windowing and one for event-time windowing. The processing-time assigners 
assign elements to
+windows based on the current clock of the worker machines while the event-time 
assigners assign
+windows based on the timestamps of elements. Please have a look at
+[event time]({{ site.baseurl }}/dev/event_time.html) to learn about the 
difference between processing time
+and event time and about how timestamps can be assigned to elements.
+
+The following code snippets show how each of the window assigners can be used 
in a program:
+
+<div class="codetabs" markdown="1">
+<div data-lang="java" markdown="1">
+{% highlight java %}
+DataStream<T> input = ...;
+
+// tumbling event-time windows
+input
+    .keyBy(<key selector>)
+    .window(TumblingEventTimeWindows.of(Time.seconds(5)))
+    .<windowed transformation>(<window function>);
+
+// sliding event-time windows
+input
+    .keyBy(<key selector>)
+    .window(SlidingEventTimeWindows.of(Time.seconds(10), Time.seconds(5)))
+    .<windowed transformation>(<window function>);
+
+// event-time session windows
+input
+    .keyBy(<key selector>)
+    .window(EventTimeSessionWindows.withGap(Time.minutes(10)))
+    .<windowed transformation>(<window function>);
+
+// tumbling processing-time windows
+input
+    .keyBy(<key selector>)
+    .window(TumblingProcessingTimeWindows.of(Time.seconds(5)))
+    .<windowed transformation>(<window function>);
+
+// sliding processing-time windows
+input
+    .keyBy(<key selector>)
+    .window(SlidingProcessingTimeWindows.of(Time.seconds(10), Time.seconds(5)))
+    .<windowed transformation>(<window function>);
+
+// processing-time session windows
+input
+    .keyBy(<key selector>)
+    .window(ProcessingTimeSessionWindows.withGap(Time.minutes(10)))
+    .<windowed transformation>(<window function>);
+
+// global windows
+input
+    .keyBy(<key selector>)
+    .window(GlobalWindows.create())
+    .<windowed transformation>(<window function>);
+{% endhighlight %}
+</div>
+
+<div data-lang="scala" markdown="1">
+{% highlight scala %}
+val input: DataStream[T] = ...
+
+// tumbling event-time windows
+input
+    .keyBy(<key selector>)
+    .window(TumblingEventTimeWindows.of(Time.seconds(5)))
+    .<windowed transformation>(<window function>)
+
+// sliding event-time windows
+input
+    .keyBy(<key selector>)
+    .window(SlidingEventTimeWindows.of(Time.seconds(10), Time.seconds(5)))
+    .<windowed transformation>(<window function>)
+
+// event-time session windows
+input
+    .keyBy(<key selector>)
+    .window(EventTimeSessionWindows.withGap(Time.minutes(10)))
+    .<windowed transformation>(<window function>)
+
+// tumbling processing-time windows
+input
+    .keyBy(<key selector>)
+    .window(TumblingProcessingTimeWindows.of(Time.seconds(5)))
+    .<windowed transformation>(<window function>)
+
+// sliding processing-time windows
+input
+    .keyBy(<key selector>)
+    .window(SlidingProcessingTimeWindows.of(Time.seconds(10), Time.seconds(5)))
+    .<windowed transformation>(<window function>)
+
+// processing-time session windows
+input
+    .keyBy(<key selector>)
+    .window(ProcessingTimeSessionWindows.withGap(Time.minutes(10)))
+    .<windowed transformation>(<window function>)
+
+// global windows
+input
+    .keyBy(<key selector>)
+    .window(GlobalWindows.create())
+{% endhighlight %}
+</div>
+</div>
+
+Note, how we can specify a time interval by using one of 
`Time.milliseconds(x)`, `Time.seconds(x)`,
+`Time.minutes(x)`, and so on.
+
+The time-based window assigners also take an optional `offset` parameter that 
can be used to
+change the alignment of windows. For example, without offsets hourly windows 
are aligned
+with epoch, that is you will get windows such as `1:00 - 1:59`, `2:00 - 2:59` 
and so on. If you
+want to change that you can give an offset. With an offset of 15 minutes you 
would, for example,
+get `1:15 - 2:14`, `2:15 - 3:14` etc. Another important use case for offsets 
is when you
+want to have daily windows and live in a timezone other than UTC-0. For 
example, in China
+you would have to specify an offset of `Time.hours(-8)`.
+
+This example shows how an offset can be specified for tumbling event time 
windows (the other
+windows work accordingly):
+<div class="codetabs" markdown="1">
+<div data-lang="java" markdown="1">
+{% highlight java %}
+DataStream<T> input = ...;
+
+// tumbling event-time windows
+input
+    .keyBy(<key selector>)
+    .window(TumblingEventTimeWindows.of(Time.days(1), Time.hours(-8)))
+    .<windowed transformation>(<window function>);
+{% endhighlight %}
+</div>
+
+<div data-lang="scala" markdown="1">
+{% highlight scala %}
+val input: DataStream[T] = ...
+
+// tumbling event-time windows
+input
+    .keyBy(<key selector>)
+    .window(TumblingEventTimeWindows.of(Time.days(1), Time.hours(-8)))
+    .<windowed transformation>(<window function>)
+{% endhighlight %}
+</div>
+</div>
+
+## Window Functions
+
+The *window function* is used to process the elements of each window (and key) 
once the system
+determines that a window is ready for processing (see [triggers](#triggers) 
for how the system
+determines when a window is ready).
+
+The window function can be one of `ReduceFunction`, `FoldFunction` or 
`WindowFunction`. The first
+two can be executed more efficiently because Flink can incrementally aggregate 
the elements for each
+window as they arrive. A `WindowFunction` gets an `Iterable` for all the 
elements contained in a
+window and additional meta information about the window to which the elements 
belong.
+
+A windowed transformation with a `WindowFunction` cannot be executed as 
efficiently as the other
+cases because Flink has to buffer *all* elements for a window internally 
before invoking the function.
+This can be mitigated by combining a `WindowFunction` with a `ReduceFunction` 
or `FoldFunction` to
+get both incremental aggregation of window elements and the additional 
information that the
+`WindowFunction` receives. We will look at examples for each of these variants.
+
+### ReduceFunction
+
+A reduce function specifies how two values can be combined to form one 
element. Flink can use this
+to incrementally aggregate the elements in a window.
+
+A `ReduceFunction` can be used in a program like this:
+
+<div class="codetabs" markdown="1">
+<div data-lang="java" markdown="1">
+{% highlight java %}
+DataStream<Tuple2<String, Long>> input = ...;
+
+input
+    .keyBy(<key selector>)
+    .window(<window assigner>)
+    .reduce(new ReduceFunction<Tuple2<String, Long>> {
+      public Tuple2<String, Long> reduce(Tuple2<String, Long> v1, 
Tuple2<String, Long> v2) {
+        return new Tuple2<>(v1.f0, v1.f1 + v2.f1);
+      }
+    });
+{% endhighlight %}
+</div>
+
+<div data-lang="scala" markdown="1">
+{% highlight scala %}
+val input: DataStream[(String, Long)] = ...
+
+input
+    .keyBy(<key selector>)
+    .window(<window assigner>)
+    .reduce { (v1, v2) => (v1._1, v1._2 + v2._2) }
+{% endhighlight %}
+</div>
+</div>
+
+A `ReduceFunction` specifies how two elements from the input can be combined 
to produce
+an output element. This example will sum up the second field of the tuple for 
all elements
+in a window.
+
+### FoldFunction
+
+A fold function can be specified like this:
+
+<div class="codetabs" markdown="1">
+<div data-lang="java" markdown="1">
+{% highlight java %}
+DataStream<Tuple2<String, Long>> input = ...;
+
+input
+    .keyBy(<key selector>)
+    .window(<window assigner>)
+    .fold("", new FoldFunction<Tuple2<String, Long>, String>> {
+       public String fold(String acc, Tuple2<String, Long> value) {
+         return acc + value.f1;
+       }
+    });
+{% endhighlight %}
+</div>
+
+<div data-lang="scala" markdown="1">
+{% highlight scala %}
+val input: DataStream[(String, Long)] = ...
+
+input
+    .keyBy(<key selector>)
+    .window(<window assigner>)
+    .fold("") { (acc, v) => acc + v._2 }
+{% endhighlight %}
+</div>
+</div>
+
+A `FoldFunction` specifies how elements from the input will be added to an 
initial
+accumulator value (`""`, the empty string, in our example). This example will 
compute
+a concatenation of all the `Long` fields of the input.
+
+### WindowFunction - The Generic Case
+
+Using a `WindowFunction` provides most flexibility, at the cost of 
performance. The reason for this
+is that elements cannot be incrementally aggregated for a window and instead 
need to be buffered
+internally until the window is considered ready for processing. A 
`WindowFunction` gets an
+`Iterable` containing all the elements of the window being processed. The 
signature of
+`WindowFunction` is this:
+
+<div class="codetabs" markdown="1">
+<div data-lang="java" markdown="1">
+{% highlight java %}
+public interface WindowFunction<IN, OUT, KEY, W extends Window> extends 
Function, Serializable {
+
+  /**
+   * Evaluates the window and outputs none or several elements.
+   *
+   * @param key The key for which this window is evaluated.
+   * @param window The window that is being evaluated.
+   * @param input The elements in the window being evaluated.
+   * @param out A collector for emitting elements.
+   *
+   * @throws Exception The function may throw exceptions to fail the program 
and trigger recovery.
+   */
+  void apply(KEY key, W window, Iterable<IN> input, Collector<OUT> out) throws 
Exception;
+}
+{% endhighlight %}
+</div>
+
+<div data-lang="scala" markdown="1">
+{% highlight scala %}
+public interface WindowFunction<IN, OUT, KEY, W extends Window> extends 
Function, Serializable {
+
+  /**
+   * Evaluates the window and outputs none or several elements.
+   *
+   * @param key The key for which this window is evaluated.
+   * @param window The window that is being evaluated.
+   * @param input The elements in the window being evaluated.
+   * @param out A collector for emitting elements.
+   *
+   * @throws Exception The function may throw exceptions to fail the program 
and trigger recovery.
+   */
+  void apply(KEY key, W window, Iterable<IN> input, Collector<OUT> out) throws 
Exception;
+}
+{% endhighlight %}
+</div>
+</div>
+
+Here we show an example that uses a `WindowFunction` to count the elements in 
a window. We do this
+because we want to access information about the window itself to emit it along 
with the count.
+This is very inefficient, however, and should be implemented with a
+`ReduceFunction` in practice. Below, we will see an example of how a 
`ReduceFunction` can
+be combined with a `WindowFunction` to get both incremental aggregation and 
the added
+information of a `WindowFunction`.
+
+<div class="codetabs" markdown="1">
+<div data-lang="java" markdown="1">
+{% highlight java %}
+DataStream<Tuple2<String, Long>> input = ...;
+
+input
+    .keyBy(<key selector>)
+    .window(<window assigner>)
+    .apply(new MyWindowFunction());
+
+/* ... */
+
+public class MyWindowFunction implements WindowFunction<Tuple<String, Long>, 
String, String, TimeWindow> {
+
+  void apply(String key, TimeWindow window, Iterable<Tuple<String, Long>> 
input, Collector<String> out) {
+    long count = 0;
+    for (Tuple<String, Long> in: input) {
+      count++;
+    }
+    out.collect("Window: " + window + "count: " + count);
+  }
+}
+
+{% endhighlight %}
+</div>
+
+<div data-lang="scala" markdown="1">
+{% highlight scala %}
+val input: DataStream[(String, Long)] = ...
+
+input
+    .keyBy(<key selector>)
+    .window(<window assigner>)
+    .apply(new MyWindowFunction())
+
+/* ... */
+
+class MyWindowFunction extends WindowFunction[(String, Long), String, String, 
TimeWindow] {
+
+  def apply(key: String, window: TimeWindow, input: Iterable[(String, Long)], 
out: Collector[String]): () = {
+    var count = 0L
+    for (in <- input) {
+      count = count + 1
+    }
+    out.collect(s"Window $window count: $count")
+  }
+}
+{% endhighlight %}
+</div>
+</div>
+
+### WindowFunction with Incremental Aggregation
+
+A `WindowFunction` can be combined with either a `ReduceFunction` or a 
`FoldFunction`. When doing
+this, the `ReduceFunction`/`FoldFunction` will be used to incrementally 
aggregate elements as they
+arrive while the `WindowFunction` will be provided with the aggregated result 
when the window is
+ready for processing. This allows to get the benefit of incremental window 
computation and also have
+the additional meta information that writing a `WindowFunction` provides.
+
+This is an example that shows how incremental aggregation functions can be 
combined with
+a `WindowFunction`.
+
+<div class="codetabs" markdown="1">
+<div data-lang="java" markdown="1">
+{% highlight java %}
+DataStream<Tuple2<String, Long>> input = ...;
+
+// for folding incremental computation
+input
+    .keyBy(<key selector>)
+    .window(<window assigner>)
+    .apply(<initial value>, new MyFoldFunction(), new MyWindowFunction());
+
+// for reducing incremental computation
+input
+    .keyBy(<key selector>)
+    .window(<window assigner>)
+    .apply(new MyReduceFunction(), new MyWindowFunction());
+{% endhighlight %}
+</div>
+
+<div data-lang="scala" markdown="1">
+{% highlight scala %}
+val input: DataStream[(String, Long)] = ...
+
+// for folding incremental computation
+input
+    .keyBy(<key selector>)
+    .window(<window assigner>)
+    .apply(<initial value>, new MyFoldFunction(), new MyWindowFunction())
+
+// for reducing incremental computation
+input
+    .keyBy(<key selector>)
+    .window(<window assigner>)
+    .apply(new MyReduceFunction(), new MyWindowFunction())
+{% endhighlight %}
+</div>
+</div>
+
+## Dealing with Late Data
+
+When working with event-time windowing it can happen that elements arrive 
late, i.e the
+watermark that Flink uses to keep track of the progress of event-time is 
already past the
+end timestamp of a window to which an element belongs. Please
+see [event time](/apis/streaming/event_time.html) and especially
+[late elements](/apis/streaming/event_time.html#late-elements) for a more 
thorough discussion of
+how Flink deals with event time.
+
+You can specify how a windowed transformation should deal with late elements 
and how much lateness
+is allowed. The parameter for this is called *allowed lateness*. This 
specifies by how much time
+elements can be late. Elements that arrive within the allowed lateness are 
still put into windows
+and are considered when computing window results. If elements arrive after the 
allowed lateness they
+will be dropped. Flink will also make sure that any state held by the 
windowing operation is garbage
+collected once the watermark passes the end of a window plus the allowed 
lateness.
+
+<span class="label label-info">Default</span> By default, the allowed lateness 
is set to
+`0`. That is, elements that arrive behind the watermark will be dropped.
+
+You can specify an allowed lateness like this:
+
+<div class="codetabs" markdown="1">
+<div data-lang="java" markdown="1">
+{% highlight java %}
+DataStream<T> input = ...;
+
+input
+    .keyBy(<key selector>)
+    .window(<window assigner>)
+    .allowedLateness(<time>)
+    .<windowed transformation>(<window function>);
+{% endhighlight %}
+</div>
+
+<div data-lang="scala" markdown="1">
+{% highlight scala %}
+val input: DataStream[T] = ...
+
+input
+    .keyBy(<key selector>)
+    .window(<window assigner>)
+    .allowedLateness(<time>)
+    .<windowed transformation>(<window function>)
+{% endhighlight %}
+</div>
+</div>
+
+<span class="label label-info">Note</span> When using the `GlobalWindows` 
window assigner no
+data is ever considered late because the end timestamp of the global window is 
`Long.MAX_VALUE`.
+
+## Triggers
+
+A `Trigger` determines when a window (as assigned by the `WindowAssigner`) is 
ready for being
+processed by the *window function*. The trigger observes how elements are 
added to windows
+and can also keep track of the progress of processing time and event time. 
Once a trigger
+determines that a window is ready for processing, it fires. This is the signal 
for the
+window operation to take the elements that are currently in the window and 
pass them along to
+the window function to produce output for the firing window.
+
+Each `WindowAssigner` (except `GlobalWindows`) comes with a default trigger 
that should be
+appropriate for most use cases. For example, `TumblingEventTimeWindows` has an 
`EventTimeTrigger` as
+default trigger. This trigger simply fires once the watermark passes the end 
of a window.
+
+You can specify the trigger to be used by calling `trigger()` with a given 
`Trigger`. The
+whole specification of the windowed transformation would then look like this:
+
+<div class="codetabs" markdown="1">
+<div data-lang="java" markdown="1">
+{% highlight java %}
+DataStream<T> input = ...;
+
+input
+    .keyBy(<key selector>)
+    .window(<window assigner>)
+    .trigger(<trigger>)
+    .<windowed transformation>(<window function>);
+{% endhighlight %}
+</div>
+
+<div data-lang="scala" markdown="1">
+{% highlight scala %}
+val input: DataStream[T] = ...
+
+input
+    .keyBy(<key selector>)
+    .window(<window assigner>)
+    .trigger(<trigger>)
+    .<windowed transformation>(<window function>)
+{% endhighlight %}
+</div>
+</div>
+
+Flink comes with a few triggers out-of-box: there is the already mentioned 
`EventTimeTrigger` that
+fires based on the progress of event-time as measured by the watermark, the 
`ProcessingTimeTrigger`
+does the same but based on processing time and the `CountTrigger` fires once 
the number of elements
+in a window exceeds the given limit.
+
+<span class="label label-danger">Attention</span> By specifying a trigger 
using `trigger()` you
+are overwriting the default trigger of a `WindowAssigner`. For example, if you 
specify a
+`CountTrigger` for `TumblingEventTimeWindows` you will no longer get window 
firings based on the
+progress of time but only by count. Right now, you have to write your own 
custom trigger if
+you want to react based on both time and count.
+
+The internal `Trigger` API is still considered experimental but you can check 
out the code
+if you want to write your own custom trigger:
+{% gh_link 
/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/windowing/triggers/Trigger.java
 "Trigger.java" %}.
+
+## Non-keyed Windowing
+
+You can also leave out the `keyBy()` when specifying a windowed 
transformation. This means, however,
+that Flink cannot process windows for different keys in parallel, essentially 
turning the
+transformation into a non-parallel operation.
+
+<span class="label label-danger">Warning</span> As mentioned in the 
introduction, non-keyed
+windows have the disadvantage that work cannot be distributed in the cluster 
because
+windows cannot be computed independently per key. This can have severe 
performance implications.
+
+
+The basic structure of a non-keyed windowed transformation is as follows:
+
+<div class="codetabs" markdown="1">
+<div data-lang="java" markdown="1">
+{% highlight java %}
+DataStream<T> input = ...;
+
+input
+    .windowAll(<window assigner>)
+    .<windowed transformation>(<window function>);
+{% endhighlight %}
+</div>
+
+<div data-lang="scala" markdown="1">
+{% highlight scala %}
+val input: DataStream[T] = ...
+
+input
+    .windowAll(<window assigner>)
+    .<windowed transformation>(<window function>)
+{% endhighlight %}
+</div>
+</div>

http://git-wip-us.apache.org/repos/asf/flink/blob/844c874b/docs/fig/ClientJmTm.svg
----------------------------------------------------------------------
diff --git a/docs/fig/ClientJmTm.svg b/docs/fig/ClientJmTm.svg
new file mode 100644
index 0000000..b158b7d
--- /dev/null
+++ b/docs/fig/ClientJmTm.svg
@@ -0,0 +1,348 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="817.49274"
+   height="463.47787"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.5 r10040">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.7"
+     inkscape:cx="118.68649"
+     inkscape:cy="265.49231"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:window-width="1600"
+     inkscape:window-height="838"
+     inkscape:window-x="1912"
+     inkscape:window-y="-8"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0.17493185,-2.7660971)">
+    <g
+       id="g2989"
+       transform="translate(-24.016809,-116.88402)">
+      <path
+         id="path2991"
+         d="m 400.33723,121.08016 0,124.38099 248.19934,0 0,-124.38099 
-248.19934,0 z"
+         style="fill:#f2dcdb;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path2993"
+         d="m 400.33723,121.08016 248.19934,0 0,124.38099 -248.19934,0 z"
+         
style="fill:none;stroke:#000000;stroke-width:2.51312613px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
+         inkscape:connector-curvature="0" />
+      <text
+         id="text2995"
+         
style="font-size:22.5056076px;font-style:normal;font-weight:bold;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="162.61018"
+         x="447.93558"
+         xml:space="preserve">JobManager</text>
+      <path
+         id="path2997"
+         d="m 40.510092,137.88435 164.103378,0 0,37.75316 163.46573,0 
0,-12.58439 25.16877,25.16877 -25.16877,25.16877 0,-12.58438 -163.46573,0 
0,37.75315 -164.103378,0 z"
+         style="fill:#b9cde5;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path2999"
+         d="m 40.510092,137.88435 164.103378,0 0,37.75316 163.46573,0 
0,-12.58439 25.16877,25.16877 -25.16877,25.16877 0,-12.58438 -163.46573,0 
0,37.75315 -164.103378,0 z"
+         
style="fill:none;stroke:#000000;stroke-width:2.55063534px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path3001"
+         d="m 55.288774,144.86109 0,36.45908 132.483006,0 0,-36.45908 
-132.483006,0 z"
+         style="fill:#b9cde5;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         inkscape:connector-curvature="0" />
+      <text
+         id="text3003"
+         
style="font-size:22.5056076px;font-style:normal;font-weight:bold;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="171.84125"
+         x="85.103935"
+         xml:space="preserve">Client</text>
+      <path
+         id="path3005"
+         d="m 24.46547,120.27371 42.507465,0 0,42.46058 -7.079889,7.07989 
-35.427576,0 z"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path3007"
+         d="m 59.893046,169.81418 1.415978,-5.66391 5.663911,-1.41598 z"
+         style="fill:#cdcdcd;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path3009"
+         d="m 59.893046,169.81418 1.415978,-5.66391 5.663911,-1.41598 
-7.079889,7.07989 -35.427576,0 0,-49.54047 42.507465,0 0,42.46058"
+         
style="fill:none;stroke:#000000;stroke-width:1.24718571px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path3011"
+         d="m 29.78242,124.80297 26.584747,0"
+         
style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path3013"
+         d="m 29.78242,129.18218 31.901697,0"
+         
style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path3015"
+         d="m 29.78242,133.71144 21.267798,0"
+         
style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path3017"
+         d="m 29.78242,138.24069 31.901697,0"
+         
style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path3019"
+         d="m 29.78242,142.77932 31.901697,0"
+         
style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path3021"
+         d="m 29.78242,147.30857 13.287685,0"
+         
style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path3023"
+         d="m 29.78242,151.83783 26.556615,0"
+         
style="fill:none;stroke:#000000;stroke-width:1.87546718px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
+         inkscape:connector-curvature="0" />
+      <text
+         id="text3025"
+         
style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="229.55898"
+         x="239.21106"
+         xml:space="preserve">Submit Job</text>
+      <text
+         id="text3027"
+         
style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="206.73724"
+         x="78.214714"
+         xml:space="preserve">Compiler/</text>
+      <text
+         id="text3029"
+         
style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="227.74248"
+         x="78.814865"
+         xml:space="preserve">Optimizer</text>
+      <text
+         id="text3031"
+         
style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="206.94733"
+         x="473.13199"
+         xml:space="preserve">Scheduling,</text>
+      <text
+         id="text3033"
+         
style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="227.95258"
+         x="424.21982"
+         xml:space="preserve">Resource Management</text>
+      <path
+         id="path3035"
+         d="m 591.89746,422.65529 0,124.38099 248.16182,0 0,-124.38099 
-248.16182,0 z"
+         style="fill:#d7e4bd;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path3037"
+         d="m 591.89746,422.65529 248.16182,0 0,124.38099 -248.16182,0 z"
+         
style="fill:none;stroke:#000000;stroke-width:2.55063534px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path3039"
+         d="m 621.82991,437.28394 0,36.30904 187.99684,0 0,-36.30904 
-187.99684,0 z"
+         style="fill:#d7e4bd;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         inkscape:connector-curvature="0" />
+      <text
+         id="text3041"
+         
style="font-size:22.5056076px;font-style:normal;font-weight:bold;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="464.15421"
+         x="631.76624"
+         xml:space="preserve">TaskManager</text>
+      <path
+         id="path3043"
+         d="m 177.34418,422.65529 0,124.38099 248.16182,0 0,-124.38099 
-248.16182,0 z"
+         style="fill:#d7e4bd;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path3045"
+         d="m 177.34418,422.65529 248.16182,0 0,124.38099 -248.16182,0 z"
+         
style="fill:none;stroke:#000000;stroke-width:2.55063534px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path3047"
+         d="m 207.42668,437.28394 0,36.30904 187.84679,0 0,-36.30904 
-187.84679,0 z"
+         style="fill:#d7e4bd;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         inkscape:connector-curvature="0" />
+      <text
+         id="text3049"
+         
style="font-size:22.5056076px;font-style:normal;font-weight:bold;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="464.15421"
+         x="217.23552"
+         xml:space="preserve">TaskManager</text>
+      <path
+         id="path3051"
+         d="m 416.89761,258.47689 -147.58052,146.38022 3.95724,3.99475 
147.58052,-146.38022 z m -143.26694,128.76958 -6.30157,23.53712 
23.59338,-6.11403 c 1.50037,-0.37509 2.40059,-1.91297 2.0255,-3.41335 
-0.39385,-1.51913 -1.93173,-2.41935 -3.4321,-2.0255 l -18.92347,4.89497 
3.43211,3.45086 5.045,-18.8672 c 0.39385,-1.51913 -0.48762,-3.05701 
-1.98799,-3.45086 -1.50038,-0.41261 -3.05701,0.48762 -3.45086,1.98799 z"
+         
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path3053"
+         d="m 612.90269,257.57667 140.0974,144.26094 -4.05101,3.93848 
-140.0974,-144.26094 z m 136.12141,126.59404 5.85146,23.63088 
-23.48085,-6.52662 c -1.50038,-0.45011 -2.36309,-1.988 -1.95049,-3.48837 
0.41261,-1.50038 1.95049,-2.36309 3.45086,-1.95049 l 18.82969,5.25131 
-3.48837,3.37584 -4.68866,-18.94222 c -0.3751,-1.53788 0.56264,-3.03825 
2.06301,-3.41335 1.50037,-0.37509 3.03826,0.52513 3.41335,2.06302 z"
+         
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path3055"
+         d="m 320.29229,409.69582 134.95862,-137.19043 -4.0135,-3.93848 
-134.93986,137.19042 z m 130.85135,-119.52353 6.0015,-23.61213 
-23.49961,6.39534 c -1.50037,0.39385 -2.38184,1.95049 -1.96924,3.45086 
0.39385,1.50037 1.95049,2.38184 3.45086,1.96924 l 18.84845,-5.12003 
-3.46962,-3.41335 -4.80119,18.94222 c -0.39385,1.50038 0.52513,3.03826 
2.0255,3.41335 1.50037,0.3751 3.03826,-0.52513 3.41335,-2.0255 z"
+         
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path3057"
+         d="m 713.84034,414.29071 -141.48525,-148.76206 4.08852,-3.90097 
141.48524,148.79957 z m -137.69681,-131.05765 -5.58889,-23.70591 
23.40583,6.7892 c 1.46286,0.45011 2.32558,1.98799 1.91298,3.48837 
-0.45012,1.50037 -1.988,2.36308 -3.48837,1.91297 l -18.79218,-5.43885 
3.52587,-3.33833 4.50113,19.01723 c 0.37509,1.50038 -0.56264,3.00075 
-2.10053,3.37584 -1.50037,0.33759 -3.00074,-0.60015 -3.37584,-2.10052 z"
+         
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.03750934px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path3059"
+         d="m 294.48586,342.57284 c 0.95649,1.01276 1.61291,2.21305 
1.95049,3.6009 0.35634,1.38785 0.31883,2.75694 -0.11253,4.08852 -0.26256,0.8252 
-0.63766,1.53788 -1.10652,2.1943 -0.48763,0.63765 -1.08777,1.29407 
-1.80045,1.98799 l -2.49437,2.38184 -6.67667,-11.27155 2.15679,-2.04426 c 
0.67517,-0.63766 1.33158,-1.18155 1.96924,-1.6129 0.63766,-0.43136 
1.33158,-0.71268 2.08177,-0.84396 0.73143,-0.13129 1.42535,-0.0563 
2.10052,0.18754 0.69393,0.26257 1.33158,0.69392 1.93173,1.33158 z m 
-1.2003,1.33159 c -0.45011,-0.46887 -0.91897,-0.7877 -1.4066,-0.97525 
-0.50637,-0.18754 -1.01275,-0.22505 -1.57539,-0.13128 -0.54388,0.0938 
-1.05026,0.28132 -1.50037,0.58139 -0.46887,0.28132 -0.97524,0.69393 
-1.55664,1.25657 l -1.03151,0.97524 5.19505,8.8147 1.29407,-1.21906 c 
0.58139,-0.56264 1.06902,-1.12528 1.44411,-1.66916 0.37509,-0.52513 
0.65641,-1.12528 0.84396,-1.74419 0.30007,-1.01275 0.28132,-2.04426 
-0.0563,-3.09452 -0.33759,-1.05026 -0.88147,-1.98799 -1.65042,-2.79444 z m 
8.90847,-5.87022 
 c -0.0938,-0.13128 -0.16879,-0.24381 -0.24381,-0.33758 -0.0563,-0.0938 
-0.15003,-0.18755 -0.24381,-0.28132 -0.4126,-0.45011 -0.86271,-0.67517 
-1.35033,-0.69392 -0.46887,-0.0188 -0.97525,0.22505 -1.51913,0.73143 
-0.5814,0.56264 -0.93774,1.23781 -1.05026,2.04426 -0.0938,0.78769 
0.0563,1.55664 0.45011,2.30682 z m 1.85672,6.60165 c -0.97525,0.91898 
-1.93173,1.4066 -2.90698,1.48162 -0.97524,0.075 -1.87546,-0.33759 
-2.70067,-1.2003 -1.21905,-1.27532 -1.85671,-2.73818 -1.91298,-4.42611 
-0.0563,-1.66916 0.50638,-3.05701 1.68792,-4.18229 0.7877,-0.75018 
1.5754,-1.12528 2.36309,-1.14403 0.7877,0 1.51913,0.35634 2.1943,1.06901 
0.11253,0.11253 0.28132,0.33759 0.50638,0.63766 0.22505,0.30008 0.45011,0.65642 
0.71267,1.08777 l -5.10127,4.87622 c 0.0938,0.13128 0.18755,0.26256 
0.28132,0.39385 0.0938,0.13128 0.18755,0.24381 0.28132,0.33758 0.56264,0.5814 
1.18155,0.88147 1.85671,0.86272 0.67517,0 1.33159,-0.31883 1.988,-0.93774 
0.45011,-0.43136 0.84396,-0.95649 1.14403,-1.59414 0.31883,-0.63766 0.525
 14,-1.23781 0.63766,-1.76294 l 0.075,-0.075 0.95649,1.51913 c -0.15004,0.26256 
-0.26256,0.50637 -0.37509,0.73143 -0.11253,0.22505 -0.26257,0.48762 
-0.45011,0.78769 -0.20631,0.30008 -0.3751,0.56264 -0.54389,0.7877 
-0.16879,0.22506 -0.4126,0.46887 -0.69392,0.75019 z m 6.69541,-15.71642 c 
0.65642,0.67517 1.16279,1.42536 1.51913,2.23181 0.3751,0.80645 0.5814,1.59415 
0.61891,2.34433 0.0563,0.7877 -0.0188,1.51913 -0.26257,2.21305 -0.22505,0.71268 
-0.6189,1.31283 -1.14403,1.81921 -0.3751,0.35634 -0.75019,0.63766 
-1.14404,0.84396 -0.39385,0.2063 -0.80645,0.35634 -1.21905,0.45011 l 
2.11928,3.56339 -1.18155,1.10652 -6.8267,-11.59039 1.16279,-1.10652 
0.52513,0.88147 c 0.13128,-0.63766 0.30008,-1.21905 0.50638,-1.74419 
0.2063,-0.52513 0.54388,-0.99399 0.994,-1.42535 0.67516,-0.63766 
1.38784,-0.91898 2.13803,-0.84396 0.75018,0.075 1.48162,0.50638 2.19429,1.25656 
z m -1.01275,1.38785 c -0.46886,-0.48762 -0.93773,-0.76894 -1.4066,-0.84396 
-0.46886,-0.0563 -0.93773,0.13128 -1.4066,0.58139 -0.33758,
 0.33759 -0.6189,0.75019 -0.8252,1.27532 -0.20631,0.52513 -0.35634,1.03151 
-0.48763,1.55664 l 2.83196,4.80119 c 0.4126,-0.11252 0.76894,-0.24381 
1.08777,-0.4126 0.30008,-0.16879 0.63766,-0.4126 0.994,-0.73143 0.4126,-0.4126 
0.71268,-0.88147 0.84396,-1.4066 0.15004,-0.54389 0.16879,-1.06902 
0.075,-1.6129 -0.0938,-0.5814 -0.28132,-1.14404 -0.56264,-1.66917 
-0.30008,-0.54388 -0.67517,-1.05026 -1.14404,-1.53788 z m 0.63766,-10.39009 
6.95798,11.77793 -1.16279,1.10653 -6.95798,-11.77793 z m 11.81544,-1.38785 c 
0.5814,0.63766 1.05027,1.31283 1.40661,2.06302 0.35633,0.75018 0.56264,1.51913 
0.6189,2.26931 0.0563,0.76894 -0.0375,1.51913 -0.28132,2.21305 -0.22506,0.69393 
-0.65641,1.33159 -1.29407,1.93174 -0.82521,0.78769 -1.68792,1.16279 
-2.58815,1.14403 -0.91898,-0.0375 -1.76294,-0.46887 -2.55063,-1.29407 
-0.60015,-0.61891 -1.06902,-1.31283 -1.4066,-2.04426 -0.35634,-0.75019 
-0.56264,-1.50037 -0.61891,-2.28807 -0.0563,-0.75019 0.0375,-1.48162 
0.30008,-2.21305 0.26256,-0.73143 0.69392,-1.36909 
 1.27531,-1.93173 0.80646,-0.76895 1.65042,-1.14404 2.56939,-1.12528 0.90023,0 
1.76294,0.43135 2.56939,1.27531 z m 0.5814,4.44486 c -0.075,-0.54388 
-0.28132,-1.10652 -0.5814,-1.65041 -0.28132,-0.54389 -0.65641,-1.05026 
-1.12528,-1.53788 -0.54388,-0.5814 -1.10652,-0.88147 -1.66916,-0.91898 
-0.56264,-0.0375 -1.08777,0.18754 -1.59415,0.65641 -0.4126,0.39385 
-0.67517,0.82521 -0.80645,1.33158 -0.13128,0.48762 -0.16879,1.01276 
-0.075,1.5754 0.0938,0.54388 0.28132,1.08777 0.5814,1.63165 0.30007,0.56264 
0.65641,1.06902 1.10652,1.53789 0.54389,0.58139 1.10653,0.88146 1.66917,0.91897 
0.58139,0.0563 1.10652,-0.16879 1.63165,-0.65641 0.39385,-0.37509 
0.65642,-0.82521 0.80646,-1.31283 0.13128,-0.50637 0.15003,-1.0315 
0.0563,-1.57539 z m 8.27081,0.56264 -1.29407,1.21905 -0.80645,-4.89496 
-7.46436,-5.32633 1.2003,-1.14404 5.90772,4.23856 -1.59415,-8.32708 
1.25656,-1.21905 z m 8.92722,-29.01348 -3.28206,3.13203 5.90772,10.015 
-1.23781,1.18154 -5.92648,-10.01499 -3.28206,3.15078 -0.76895,-1.27531 7.8
 3946,-7.46436 z m 8.66466,0.43136 c -0.6189,0.63766 -1.14403,1.21905 
-1.57539,1.76294 -0.4126,0.54389 -0.73143,1.03151 -0.91898,1.48162 
-0.2063,0.45011 -0.28132,0.88147 -0.24381,1.27532 0.0563,0.4126 0.24381,0.78769 
0.5814,1.12528 0.28132,0.30007 0.60014,0.43135 0.95648,0.39385 0.33759,-0.0375 
0.73144,-0.26257 1.16279,-0.65642 0.3751,-0.35634 0.67517,-0.80645 
0.91898,-1.35033 0.22506,-0.54389 0.39385,-1.08778 0.50638,-1.65042 z m 
2.10053,3.56339 c -0.0563,0.16879 -0.11253,0.4126 -0.18755,0.71268 
-0.075,0.31883 -0.18755,0.60015 -0.30008,0.88147 -0.11252,0.30007 
-0.28132,0.60015 -0.46886,0.90022 -0.2063,0.31883 -0.46887,0.63766 
-0.82521,0.95649 -0.54388,0.52513 -1.14403,0.78769 -1.78169,0.80645 -0.65642,0 
-1.23781,-0.26257 -1.72543,-0.76894 -0.52513,-0.56264 -0.84396,-1.14404 
-0.95649,-1.74419 -0.11253,-0.60015 -0.0563,-1.25656 0.18755,-1.95048 
0.24381,-0.67517 0.65641,-1.38785 1.2003,-2.11928 0.56264,-0.73143 
1.25656,-1.51913 2.08176,-2.34434 -0.0938,-0.15003 -0.16879,-0.26256 -0.225
 05,-0.37509 -0.0563,-0.0938 -0.13128,-0.18755 -0.22506,-0.28132 
-0.18754,-0.2063 -0.37509,-0.31883 -0.58139,-0.37509 -0.18755,-0.0375 
-0.39385,-0.0375 -0.61891,0.0187 -0.2063,0.075 -0.43135,0.18755 
-0.65641,0.33759 -0.2063,0.15003 -0.43136,0.33758 -0.67517,0.56264 
-0.33758,0.33758 -0.69392,0.76894 -1.03151,1.31282 -0.33758,0.54389 
-0.60014,1.01276 -0.78769,1.38785 l -0.0563,0.0563 -0.88147,-1.38784 c 
0.1688,-0.28132 0.45012,-0.67517 0.84396,-1.18155 0.3751,-0.52513 
0.76895,-0.97524 1.2003,-1.36909 0.84396,-0.8252 1.63166,-1.29407 
2.30683,-1.44411 0.69392,-0.13128 1.31283,0.075 1.87547,0.65642 0.0938,0.11252 
0.2063,0.24381 0.30007,0.39384 0.11253,0.15004 0.2063,0.28132 0.28132,0.41261 l 
3.3946,5.73893 -1.16279,1.10652 z m 6.22655,-4.20105 c -0.50638,0.48762 
-1.03151,0.86272 -1.5754,1.12528 -0.52513,0.26257 -0.99399,0.45011 
-1.4066,0.56264 l -0.93773,-1.50037 0.075,-0.0563 c 0.15004,-0.0188 
0.35634,-0.0375 0.58139,-0.0563 0.24381,-0.0375 0.50638,-0.11253 
0.82521,-0.2063 0.28132,-0.093
 8 0.58139,-0.22506 0.90022,-0.39385 0.31883,-0.16879 0.61891,-0.39385 
0.90023,-0.65641 0.58139,-0.56264 0.93773,-1.10653 1.06901,-1.63166 
0.11253,-0.52513 -0.0188,-1.01275 -0.4126,-1.42535 -0.2063,-0.22506 
-0.45011,-0.30008 -0.73143,-0.26257 -0.28132,0.0375 -0.6189,0.16879 
-1.01275,0.4126 -0.2063,0.11253 -0.43136,0.24381 -0.69393,0.41261 
-0.28132,0.16879 -0.56264,0.33758 -0.84396,0.50637 -0.6189,0.31883 
-1.16279,0.46887 -1.63165,0.43136 -0.48762,-0.0563 -0.90023,-0.24381 
-1.25657,-0.6189 -0.30007,-0.33759 -0.52513,-0.69393 -0.65641,-1.10653 
-0.13128,-0.43136 -0.16879,-0.88147 -0.11253,-1.38785 0.0563,-0.46886 
0.22506,-0.97524 0.50638,-1.50037 0.26256,-0.52513 0.65641,-1.03151 
1.16279,-1.50037 0.4126,-0.39385 0.88147,-0.73144 1.38784,-1.03151 
0.50638,-0.28132 0.97525,-0.46887 1.3691,-0.5814 l 0.88147,1.44411 
-0.0563,0.0563 c -0.11253,0 -0.28132,0.0375 -0.50637,0.0563 -0.22506,0.0375 
-0.48763,0.11253 -0.76895,0.22506 -0.26256,0.075 -0.52513,0.2063 
-0.8252,0.37509 -0.30008,0.16879 -0.5
 6264,0.3751 -0.82521,0.61891 -0.52513,0.50637 -0.84396,1.01275 
-0.95649,1.53788 -0.11252,0.52513 0.0188,0.97524 0.3751,1.35034 0.18754,0.2063 
0.43136,0.30007 0.73143,0.28132 0.28132,0 0.6189,-0.13129 1.01275,-0.35634 
0.26257,-0.13129 0.50638,-0.30008 0.76894,-0.46887 0.28132,-0.15004 
0.52513,-0.31883 0.7877,-0.46887 0.60015,-0.33758 1.12528,-0.48762 
1.6129,-0.46886 0.48762,0.0187 0.90023,0.22505 1.27532,0.60015 0.30007,0.31883 
0.50638,0.71267 0.65641,1.16279 0.13129,0.45011 0.16879,0.91897 0.0938,1.4066 
-0.075,0.52513 -0.24381,1.0315 -0.54389,1.57539 -0.28132,0.52513 
-0.69392,1.03151 -1.21905,1.53788 z m 10.67141,-10.48386 -1.4066,1.35034 
-5.12003,-0.93774 -0.22506,1.76294 1.61291,2.71943 -1.18155,1.12528 
-6.95798,-11.77793 1.18154,-1.12528 4.46361,7.55813 0.75019,-7.33308 
1.53788,-1.46286 -0.84396,7.05175 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         inkscape:connector-curvature="0" />
+      <path
+         id="path3061"
+         d="m 383.62682,392.9854 c -0.58139,0.60015 -1.2003,1.08777 
-1.83796,1.50038 -0.65641,0.4126 -1.35033,0.75018 -2.11927,1.01275 l 
-1.10653,-1.65041 0.0938,-0.0938 c 0.75019,-0.0188 1.50038,-0.22505 
2.26932,-0.60015 0.75019,-0.37509 1.38784,-0.8252 1.91297,-1.35033 
0.84397,-0.88147 1.33159,-1.70668 1.44411,-2.51313 0.0938,-0.80645 
-0.11252,-1.46286 -0.63765,-1.98799 -0.28132,-0.28132 -0.60015,-0.41261 
-0.95649,-0.43136 -0.35634,-0.0188 -0.73143,0.075 -1.12528,0.30007 
-0.33759,0.20631 -0.71268,0.45012 -1.14404,0.75019 -0.4126,0.30008 
-0.8252,0.5814 -1.23781,0.82521 -0.76894,0.50637 -1.50037,0.75018 
-2.19429,0.76894 -0.69393,0.0188 -1.29408,-0.22506 -1.80045,-0.73143 
-0.86272,-0.86272 -1.23781,-1.93174 -1.08777,-3.24456 0.15003,-1.29407 
0.78769,-2.53188 1.93173,-3.69467 0.6189,-0.63766 1.25656,-1.16279 
1.89422,-1.53789 0.65641,-0.39384 1.23781,-0.69392 1.80045,-0.90022 l 
1.03151,1.55664 -0.0938,0.0938 c -0.54388,0.0188 -1.18154,0.22506 
-1.89422,0.56264 -0.71268,0.35634 -1.36909,
 0.82521 -1.95048,1.4066 -0.73144,0.75019 -1.14404,1.50038 -1.25657,2.26932 
-0.11253,0.75018 0.0938,1.38784 0.60015,1.87546 0.26257,0.26257 0.5814,0.41261 
0.93774,0.46887 0.35633,0.0375 0.78769,-0.0938 1.29407,-0.4126 0.31883,-0.2063 
0.73143,-0.46887 1.23781,-0.82521 0.52513,-0.33758 0.95648,-0.6189 
1.31282,-0.84396 0.73144,-0.4126 1.4066,-0.6189 2.00675,-0.6189 0.61891,0 
1.16279,0.24381 1.63166,0.71268 0.39385,0.39384 0.71268,0.88147 0.90022,1.46286 
0.20631,0.58139 0.28132,1.2003 0.22506,1.8192 -0.075,0.67517 -0.26257,1.35034 
-0.5814,2.00675 -0.33758,0.67517 -0.8252,1.35034 -1.50037,2.04426 z m 
6.32033,-15.11626 c -0.0938,-0.13129 -0.1688,-0.24381 -0.24382,-0.33759 
-0.075,-0.075 -0.16879,-0.16879 -0.26256,-0.26256 -0.43136,-0.43136 
-0.90022,-0.65642 -1.36909,-0.65642 -0.48762,0 -0.97524,0.26257 -1.50038,0.7877 
-0.56264,0.58139 -0.90022,1.27532 -0.97524,2.08177 -0.075,0.78769 
0.0938,1.55664 0.52513,2.30682 z m 2.08176,6.54538 c -0.93773,0.93773 
-1.87546,1.46286 -2.85071,1.57539 -0.97
 524,0.0938 -1.89422,-0.28132 -2.75693,-1.10653 -1.23781,-1.2378 
-1.93173,-2.68191 -2.04426,-4.35108 -0.13128,-1.66917 0.37509,-3.09452 
1.51913,-4.25731 0.76894,-0.76894 1.53788,-1.18154 2.32558,-1.21905 
0.78769,-0.0188 1.53788,0.30007 2.2318,0.97524 0.13128,0.13128 0.30008,0.33758 
0.52513,0.63766 0.24381,0.28132 0.48762,0.63766 0.76894,1.06901 l 
-4.93247,5.04501 c 0.0938,0.13128 0.18754,0.26257 0.28132,0.39385 
0.11252,0.11253 0.2063,0.22505 0.31882,0.31883 0.56265,0.56264 1.2003,0.8252 
1.85672,0.80645 0.67517,-0.0375 1.33158,-0.37509 1.96924,-1.01275 
0.43136,-0.45012 0.80645,-0.994 1.08777,-1.65041 0.30007,-0.63766 
0.48762,-1.23781 0.58139,-1.7817 l 0.075,-0.0563 0.994,1.46286 c 
-0.13128,0.28132 -0.24381,0.52513 -0.33758,0.75019 -0.0938,0.22506 
-0.24381,0.48762 -0.43136,0.80645 -0.18755,0.31883 -0.35634,0.58139 
-0.52513,0.80645 -0.15004,0.22506 -0.3751,0.48762 -0.65642,0.7877 z m 
5.45761,-16.44785 c 0.0938,0.0938 0.22506,0.24381 0.3751,0.4126 0.13128,0.18755 
0.26256,0.35634 0.35634,
 0.50638 l 3.4321,5.38259 -1.12528,1.14403 -3.0195,-4.70742 c -0.16879,-0.26256 
-0.31883,-0.48762 -0.45011,-0.67517 -0.13129,-0.16879 -0.28132,-0.33758 
-0.45012,-0.50637 -0.33758,-0.33759 -0.67516,-0.50638 -1.01275,-0.50638 
-0.33758,0 -0.73143,0.22506 -1.16279,0.67517 -0.30007,0.30007 -0.54388,0.73143 
-0.75018,1.27532 -0.18755,0.54388 -0.33759,1.10652 -0.45012,1.68792 l 
3.93848,6.18904 -1.12528,1.14403 -5.28881,-8.28956 1.12528,-1.14404 
0.58139,0.91898 c 0.13128,-0.73143 0.30008,-1.36909 0.50638,-1.91297 
0.2063,-0.54389 0.50637,-1.01276 0.91898,-1.42536 0.58139,-0.58139 
1.18154,-0.90022 1.80045,-0.93773 0.63765,-0.0375 1.2378,0.2063 1.80044,0.76894 
z m 4.40735,-12.99699 7.35183,11.55288 -1.12528,1.14403 -0.54388,-0.86271 c 
-0.15004,0.86271 -0.33759,1.51913 -0.50638,1.95049 -0.18755,0.43135 
-0.46887,0.84396 -0.8252,1.21905 -0.63766,0.63766 -1.35034,0.95649 
-2.11928,0.93773 -0.7877,-0.0375 -1.55664,-0.43135 -2.34434,-1.18154 
-0.65641,-0.65641 -1.18154,-1.36909 -1.55663,-2.13803 -0.3938
 5,-0.7877 -0.63766,-1.55664 -0.73144,-2.34434 -0.0938,-0.76894 
-0.0375,-1.51913 0.1688,-2.25056 0.2063,-0.71268 0.58139,-1.35033 
1.10652,-1.87547 0.35634,-0.35633 0.71268,-0.65641 1.08777,-0.88147 
0.3751,-0.24381 0.76894,-0.4126 1.2003,-0.52513 l -2.30682,-3.58214 z m 
1.89422,5.90772 c -0.4126,0.13129 -0.78769,0.30008 -1.10652,0.48763 
-0.31883,0.2063 -0.63766,0.45011 -0.91898,0.75018 -0.4126,0.4126 
-0.69392,0.90023 -0.80645,1.42536 -0.13128,0.54388 -0.13128,1.10652 0,1.68792 
0.11253,0.52513 0.33758,1.06901 0.67517,1.63165 0.33758,0.56264 0.71267,1.05027 
1.14403,1.46287 0.48762,0.48762 0.97524,0.75019 1.46287,0.80645 0.46886,0.0375 
0.93773,-0.18755 1.4066,-0.65641 0.33758,-0.35634 0.60015,-0.7877 
0.76894,-1.31283 0.18754,-0.52513 0.31883,-1.03151 0.4126,-1.53788 z m 
15.2288,-3.99474 c -0.5814,0.58139 -1.18155,1.08777 -1.83796,1.50037 
-0.63766,0.4126 -1.35034,0.75019 -2.11928,1.01275 l -1.08777,-1.65041 
0.075,-0.0938 c 0.75019,-0.0187 1.51913,-0.22506 2.26931,-0.60015 
0.75019,-0.37509
  1.38785,-0.82521 1.91298,-1.35034 0.86272,-0.88147 1.33158,-1.70667 
1.44411,-2.51312 0.11253,-0.80645 -0.11253,-1.46287 -0.63766,-1.988 
-0.28132,-0.28132 -0.60015,-0.43135 -0.95649,-0.45011 -0.33758,-0.0188 
-0.71267,0.0938 -1.12528,0.31883 -0.31883,0.2063 -0.71267,0.45011 
-1.12528,0.75019 -0.43135,0.30007 -0.84396,0.56264 -1.23781,0.8252 
-0.78769,0.50638 -1.51912,0.75019 -2.19429,0.76894 -0.69392,0 -1.29407,-0.24381 
-1.8192,-0.75018 -0.86272,-0.84396 -1.21906,-1.91298 -1.08778,-3.22581 
0.15004,-1.29407 0.7877,-2.53188 1.93174,-3.69467 0.63765,-0.63766 
1.25656,-1.16279 1.91297,-1.55663 0.63766,-0.3751 1.23781,-0.67517 
1.7817,-0.88147 l 1.0315,1.55663 -0.075,0.0938 c -0.56264,0.0187 
-1.20029,0.2063 -1.91297,0.56264 -0.71268,0.35634 -1.36909,0.8252 
-1.95049,1.4066 -0.71268,0.75018 -1.14403,1.50037 -1.23781,2.26931 
-0.11252,0.75019 0.075,1.38785 0.5814,1.87547 0.26256,0.26257 0.58139,0.4126 
0.93773,0.45011 0.3751,0.0375 0.80645,-0.0938 1.29407,-0.39385 0.31883,-0.2063 
0.73144,-0.46886 
 1.25657,-0.8252 0.50637,-0.33759 0.93773,-0.61891 1.31282,-0.84396 
0.73144,-0.43136 1.38785,-0.63766 2.00675,-0.61891 0.60015,0 1.14404,0.24381 
1.61291,0.71268 0.4126,0.39385 0.71267,0.88147 0.91897,1.46287 0.20631,0.58139 
0.26257,1.18154 0.20631,1.8192 -0.0563,0.67517 -0.26257,1.33158 -0.5814,2.00675 
-0.31883,0.67517 -0.8252,1.35034 -1.50037,2.04426 z m 3.26331,-17.32932 
0.73143,1.12528 -2.34433,2.36309 2.43811,3.82595 c 0.13128,0.2063 
0.28132,0.41261 0.45011,0.65642 0.16879,0.22505 0.31883,0.4126 0.45011,0.52513 
0.30008,0.30007 0.5814,0.43136 0.88147,0.43136 0.30007,-0.0188 0.63766,-0.22506 
1.03151,-0.61891 0.16879,-0.16879 0.33758,-0.39385 0.50637,-0.69392 
0.1688,-0.28132 0.28132,-0.48762 0.31883,-0.60015 l 0.0563,-0.0563 
0.78769,1.18155 c -0.16879,0.28132 -0.35634,0.58139 -0.58139,0.86271 
-0.2063,0.30008 -0.43136,0.54389 -0.61891,0.75019 -0.54388,0.56264 
-1.10652,0.88147 -1.65041,0.93773 -0.54388,0.075 -1.08777,-0.15003 
-1.63165,-0.67516 -0.13129,-0.13129 -0.24381,-0.26257 -0.35
 634,-0.41261 -0.11253,-0.15003 -0.22506,-0.31883 -0.35634,-0.50637 l 
-2.85071,-4.44486 -0.75019,0.76894 -0.73143,-1.12528 0.76894,-0.76894 
-1.51913,-2.38184 1.12528,-1.16279 1.51913,2.38184 z m 7.95198,-1.63166 c 
-0.60015,0.63766 -1.10652,1.25657 -1.50037,1.80045 -0.4126,0.56264 
-0.71268,1.06902 -0.88147,1.51913 -0.18755,0.46887 -0.26257,0.90023 
-0.18755,1.29407 0.0563,0.39385 0.26257,0.75019 0.60015,1.08778 0.30008,0.30007 
0.61891,0.4126 0.97524,0.37509 0.33759,-0.0563 0.73144,-0.28132 
1.14404,-0.71268 0.35634,-0.37509 0.65641,-0.8252 0.86271,-1.36909 
0.20631,-0.54389 0.35634,-1.10653 0.45012,-1.66917 z m 2.21305,3.48837 c 
-0.0375,0.1688 -0.0938,0.41261 -0.16879,0.71268 -0.0563,0.30008 
-0.15004,0.60015 -0.24381,0.88147 -0.11253,0.30008 -0.26257,0.61891 
-0.45011,0.93773 -0.18755,0.31883 -0.45011,0.63766 -0.7877,0.97525 
-0.52513,0.54388 -1.12528,0.8252 -1.76294,0.86271 -0.65641,0.0188 
-1.23781,-0.2063 -1.74418,-0.71268 -0.54389,-0.54388 -0.88147,-1.10652 
-1.01275,-1.70667 -0.15004,-0
 .60015 -0.0938,-1.25656 0.11252,-1.96924 0.22506,-0.67517 0.60015,-1.4066 
1.14404,-2.15679 0.52513,-0.75019 1.18154,-1.55664 1.98799,-2.41935 
-0.0938,-0.13128 -0.16879,-0.24381 -0.24381,-0.33758 -0.0563,-0.11253 
-0.13128,-0.20631 -0.22505,-0.28133 -0.2063,-0.2063 -0.39385,-0.31882 
-0.60015,-0.35633 -0.18755,-0.0375 -0.39385,-0.0375 -0.61891,0.0375 
-0.2063,0.075 -0.43135,0.18754 -0.63766,0.35633 -0.2063,0.1688 -0.43135,0.35634 
-0.65641,0.5814 -0.33758,0.35634 -0.67517,0.80645 -0.994,1.35034 
-0.31883,0.56264 -0.56264,1.0315 -0.73143,1.42535 l -0.0563,0.0563 
-0.93774,-1.35033 c 0.1688,-0.30008 0.43136,-0.71268 0.80645,-1.23781 
0.35634,-0.52513 0.73144,-0.994 1.14404,-1.4066 0.82521,-0.84396 
1.59415,-1.35034 2.26931,-1.51913 0.67517,-0.15004 1.31283,0.0375 
1.89423,0.60015 0.0938,0.11253 0.2063,0.24381 0.31883,0.37509 0.11252,0.15004 
0.2063,0.28132 0.28132,0.41261 l 3.60089,5.6264 -1.12528,1.12528 z m 
2.02551,-14.29106 0.71268,1.12528 -2.32558,2.38185 2.4381,3.82595 c 
0.13129,0.18755 0.2
 6257,0.4126 0.45012,0.63766 0.16879,0.24381 0.31882,0.4126 0.43135,0.54388 
0.30008,0.28132 0.60015,0.43136 0.90023,0.41261 0.28132,0 0.63766,-0.2063 
1.0315,-0.61891 0.1688,-0.16879 0.33759,-0.39384 0.50638,-0.67516 
0.16879,-0.30008 0.26257,-0.48763 0.31883,-0.60015 l 0.0563,-0.075 
0.7877,1.18154 c -0.16879,0.30008 -0.37509,0.5814 -0.5814,0.88147 
-0.22505,0.28132 -0.43135,0.54389 -0.6189,0.73143 -0.56264,0.56264 
-1.10652,0.88147 -1.65041,0.95649 -0.56264,0.0563 -1.10653,-0.16879 
-1.63166,-0.69392 -0.13128,-0.13128 -0.24381,-0.26257 -0.35634,-0.4126 
-0.11252,-0.13129 -0.24381,-0.30008 -0.37509,-0.50638 l -2.83195,-4.44486 
-0.76895,0.76894 -0.71267,-1.10652 0.76894,-0.7877 -1.51913,-2.38184 
1.12528,-1.16279 1.51913,2.38184 z m 6.88296,-7.033 5.30757,8.27081 
-1.12528,1.14404 -0.60015,-0.90023 c -0.13128,0.71268 -0.28132,1.35034 
-0.48762,1.89422 -0.2063,0.54389 -0.50637,1.03151 -0.91898,1.44411 
-0.58139,0.5814 -1.18154,0.90023 -1.80044,0.93774 -0.61891,0.0375 
-1.21906,-0.22506 -1.7817,-0
 .76894 -0.13128,-0.13129 -0.26256,-0.28132 -0.37509,-0.43136 -0.11253,-0.15004 
-0.24381,-0.31883 -0.3751,-0.50638 l -3.4321,-5.38259 1.12528,-1.14403 
3.0195,4.70742 c 0.11253,0.2063 0.26257,0.4126 0.43136,0.63766 0.18755,0.24381 
0.31883,0.4126 0.45011,0.52513 0.33759,0.35634 0.69392,0.52513 1.05026,0.50638 
0.33759,0 0.73144,-0.20631 1.14404,-0.63766 0.30007,-0.30008 0.54388,-0.73144 
0.75019,-1.29408 0.2063,-0.56264 0.35633,-1.12528 0.45011,-1.66916 l 
-3.95724,-6.18904 z m 9.78994,4.03226 c -0.50637,0.50637 -1.01275,0.90022 
-1.53788,1.18154 -0.52513,0.28132 -0.994,0.48762 -1.4066,0.6189 l 
-0.97525,-1.46286 0.0563,-0.075 c 0.16879,0 0.35634,-0.0375 0.60015,-0.075 
0.22505,-0.0375 0.50637,-0.11253 0.80645,-0.22505 0.28132,-0.11253 
0.58139,-0.24381 0.88147,-0.43136 0.31883,-0.16879 0.60015,-0.4126 
0.88147,-0.69392 0.56264,-0.56264 0.90022,-1.12528 1.01275,-1.65041 
0.11253,-0.54389 -0.0563,-1.01276 -0.46887,-1.42536 -0.2063,-0.2063 
-0.45011,-0.28132 -0.73143,-0.22506 -0.28132,0.0563 -0.61
 89,0.18755 -0.994,0.43136 -0.18754,0.13128 -0.43135,0.28132 -0.69392,0.46887 
-0.26256,0.16879 -0.52513,0.33758 -0.80645,0.50637 -0.6189,0.35634 
-1.14403,0.50638 -1.63166,0.48763 -0.48762,-0.0188 -0.90022,-0.20631 
-1.27531,-0.56264 -0.31883,-0.31883 -0.54389,-0.67517 -0.67517,-1.08778 
-0.15004,-0.4126 -0.2063,-0.86271 -0.16879,-1.36909 0.0375,-0.48762 
0.18754,-0.99399 0.45011,-1.51912 0.24381,-0.54389 0.6189,-1.06902 
1.10652,-1.55664 0.39385,-0.41261 0.84396,-0.76894 1.35034,-1.06902 
0.50638,-0.30007 0.95649,-0.50638 1.35034,-0.6189 l 0.93773,1.38784 
-0.0563,0.075 c -0.11253,0 -0.28132,0.0375 -0.50638,0.075 -0.22506,0.0563 
-0.46887,0.13128 -0.76894,0.24381 -0.24381,0.0938 -0.52513,0.22506 
-0.80645,0.4126 -0.28132,0.18755 -0.56264,0.39385 -0.80645,0.65642 
-0.48763,0.50637 -0.7877,1.01275 -0.90023,1.55663 -0.0938,0.52514 
0.0375,0.97525 0.4126,1.33159 0.20631,0.2063 0.45012,0.28132 0.75019,0.26256 
0.28132,-0.0188 0.61891,-0.15004 1.01275,-0.39385 0.24381,-0.15003 
0.48763,-0.31883 0.7501
 9,-0.48762 0.26257,-0.16879 0.50638,-0.33758 0.76894,-0.50637 0.5814,-0.35634 
1.10653,-0.52513 1.59415,-0.52513 0.48762,0 0.90022,0.18754 1.27532,0.56264 
0.31883,0.30007 0.56264,0.69392 0.71267,1.12528 0.15004,0.45011 0.20631,0.91897 
0.15004,1.4066 -0.0563,0.52513 -0.22505,1.05026 -0.48762,1.59414 
-0.28132,0.54389 -0.67517,1.06902 -1.16279,1.5754 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         inkscape:connector-curvature="0" />
+      <text
+         id="text3063"
+         
style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="507.19437"
+         x="233.59662"
+         xml:space="preserve">Task Execution,</text>
+      <text
+         id="text3065"
+         
style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="528.19958"
+         x="236.89745"
+         xml:space="preserve">Data Exchange</text>
+      <text
+         id="text3067"
+         
style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="507.19437"
+         x="646.51672"
+         xml:space="preserve">Task Execution,</text>
+      <text
+         id="text3069"
+         
style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="528.19958"
+         x="649.8175"
+         xml:space="preserve">Data Exchange</text>
+      <path
+         id="path3071"
+         d="m 564.90948,478.2629 -122.78684,1.87546 0.0938,5.62641 
122.76808,-1.87547 z m -15.24755,15.32256 20.8552,-12.60314 -21.23029,-11.94672 
c -1.35034,-0.76894 -3.05701,-0.28132 -3.82595,1.06901 -0.75019,1.35034 
-0.28132,3.07577 1.06901,3.84471 l 17.02925,9.58364 -0.075,-4.85746 
-16.72917,10.09001 c -1.33158,0.80645 -1.74418,2.53188 -0.93773,3.86347 
0.78769,1.33158 2.53188,1.76294 3.8447,0.95648 z m -92.21672,-23.14326 
-20.85519,12.60314 21.23028,11.94672 c 1.35034,0.76895 3.07577,0.28133 
3.82596,-1.06901 0.76894,-1.35034 0.28132,-3.07577 -1.06902,-3.82595 l 0,0 
-17.02924,-9.6024 0.075,4.87622 16.72917,-10.10877 c 1.33158,-0.80645 
1.76293,-2.53188 0.95648,-3.86346 -0.80645,-1.33158 -2.53188,-1.76294 
-3.86346,-0.95649 z"
+         
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.01875467px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;stroke-dasharray:none"
+         inkscape:connector-curvature="0" />
+      <text
+         id="text3073"
+         
style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="516.58087"
+         x="466.24557"
+         xml:space="preserve">Exchange </text>
+      <text
+         id="text3075"
+         
style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="537.58606"
+         x="451.39188"
+         xml:space="preserve">Intermediate</text>
+      <text
+         id="text3077"
+         
style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="558.59131"
+         x="476.7482"
+         xml:space="preserve">Results</text>
+      <text
+         id="text3079"
+         
style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="579.59656"
+         x="418.08359"
+         xml:space="preserve">(</text>
+      <text
+         id="text3081"
+         
style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="579.59656"
+         x="426.03558"
+         xml:space="preserve">shuffle</text>
+      <text
+         id="text3083"
+         
style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="579.59656"
+         x="490.85172"
+         xml:space="preserve">/ </text>
+      <text
+         id="text3085"
+         
style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="579.59656"
+         x="504.95523"
+         xml:space="preserve">broadcast</text>
+      <text
+         id="text3087"
+         
style="font-size:17.55437279px;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;font-family:Verdana"
+         y="579.59656"
+         x="591.22675"
+         xml:space="preserve">) </text>
+    </g>
+  </g>
+</svg>

http://git-wip-us.apache.org/repos/asf/flink/blob/844c874b/docs/fig/FlinkOnYarn.svg
----------------------------------------------------------------------
diff --git a/docs/fig/FlinkOnYarn.svg b/docs/fig/FlinkOnYarn.svg
new file mode 100644
index 0000000..3eddf50
--- /dev/null
+++ b/docs/fig/FlinkOnYarn.svg
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<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" stroke="black" 
text-rendering="auto" stroke-linecap="square" width="877" 
stroke-miterlimit="10" stroke-opacity="1" shape-rendering="auto" fill="black" 
stroke-dasharray="none" font-weight="normal" stroke-width="1" height="397" 
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="336.5" gradientUnits="userSpaceOnUse" x2="506.5" 
y1="386.5" y2="426.5" id="linearGradient1" spreadMethod="reflect">
+        <stop stop-opacity="1" stop-color="rgb(232,238,247)" offset="0%"/>
+        <stop stop-opacity="1" stop-color="rgb(183,201,227)" offset="100%"/>
+      </linearGradient>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
+        <path d="M0 0 L877 0 L877 397 L0 397 L0 0 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
+        <path d="M77 45 L954 45 L954 442 L77 442 L77 45 Z"/>
+      </clipPath>
+    </defs>
+    <g fill="white" text-rendering="geometricPrecision" 
shape-rendering="geometricPrecision" transform="translate(-77,-45)" 
stroke="white">
+      <rect x="77" width="877" height="397" y="45" clip-path="url(#clipPath2)" 
stroke="none"/>
+    </g>
+    <g fill="rgb(0,153,153)" text-rendering="geometricPrecision" 
shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" 
stroke="rgb(0,153,153)">
+      <rect x="92" y="209" clip-path="url(#clipPath2)" width="119" rx="4" 
ry="4" height="117" stroke="none"/>
+    </g>
+    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" 
shape-rendering="geometricPrecision" font-family="sans-serif" 
transform="matrix(1,0,0,1,-77,-45)" stroke-linecap="butt">
+      <text x="107.9238" xml:space="preserve" y="226.1387" 
clip-path="url(#clipPath2)" stroke="none">"Master" Node</text>
+      <rect x="92" y="209" clip-path="url(#clipPath2)" fill="none" width="119" 
rx="4" ry="4" height="117"/>
+    </g>
+    <g fill="rgb(0,153,153)" text-rendering="geometricPrecision" 
shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" 
stroke="rgb(0,153,153)">
+      <rect x="369" y="60" clip-path="url(#clipPath2)" width="105" rx="4" 
ry="4" height="117" stroke="none"/>
+    </g>
+    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" 
shape-rendering="geometricPrecision" font-family="sans-serif" 
transform="matrix(1,0,0,1,-77,-45)" stroke-linecap="butt">
+      <text x="375.498" xml:space="preserve" y="115.6699" 
clip-path="url(#clipPath2)" stroke="none">YARN Resource</text>
+      <text x="395.4492" xml:space="preserve" y="129.6387" 
clip-path="url(#clipPath2)" stroke="none">Manager</text>
+      <rect x="369" y="60" clip-path="url(#clipPath2)" fill="none" width="105" 
rx="4" ry="4" height="117"/>
+    </g>
+    <g fill="rgb(0,153,153)" text-rendering="geometricPrecision" 
shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" 
stroke="rgb(0,153,153)">
+      <rect x="369" y="212" clip-path="url(#clipPath2)" width="105" rx="4" 
ry="4" height="117" stroke="none"/>
+    </g>
+    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" 
shape-rendering="geometricPrecision" font-family="sans-serif" 
transform="matrix(1,0,0,1,-77,-45)" stroke-linecap="butt">
+      <text x="373.8457" xml:space="preserve" y="229.1387" 
clip-path="url(#clipPath2)" stroke="none">YARN Container</text>
+      <rect x="369" y="212" clip-path="url(#clipPath2)" fill="none" 
width="105" rx="4" ry="4" height="117"/>
+    </g>
+    <g fill="rgb(0,153,153)" text-rendering="geometricPrecision" 
shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" 
stroke="rgb(0,153,153)">
+      <rect x="614" y="212" clip-path="url(#clipPath2)" width="105" rx="4" 
ry="4" height="117" stroke="none"/>
+    </g>
+    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" 
shape-rendering="geometricPrecision" font-family="sans-serif" 
transform="matrix(1,0,0,1,-77,-45)" stroke-linecap="butt">
+      <text x="618.8457" xml:space="preserve" y="229.1387" 
clip-path="url(#clipPath2)" stroke="none">YARN Container</text>
+      <rect x="614" y="212" clip-path="url(#clipPath2)" fill="none" 
width="105" rx="4" ry="4" height="117"/>
+    </g>
+    <g fill="url(#linearGradient1)" text-rendering="geometricPrecision" 
shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" 
stroke="url(#linearGradient1)">
+      <path d="M336.5 394.5 C341.6 386.5 501.4 386.5 506.5 394.5 L506.5 418.5 
C501.4 426.5 341.6 426.5 336.5 418.5 Z" clip-path="url(#clipPath2)" 
stroke="none"/>
+    </g>
+    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" 
shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" 
stroke-linecap="butt">
+      <path fill="none" d="M336.5 394.5 C341.6 386.5 501.4 386.5 506.5 394.5 
L506.5 418.5 C501.4 426.5 341.6 426.5 336.5 418.5 Z" 
clip-path="url(#clipPath2)"/>
+      <path fill="none" d="M506.5 394.5 C501.4 402.5 341.6 402.5 336.5 394.5" 
clip-path="url(#clipPath2)"/>
+      <text x="405.1084" xml:space="preserve" y="410.6543" 
font-family="sans-serif" clip-path="url(#clipPath2)" stroke="none">HDFS</text>
+    </g>
+    <g fill="rgb(0,153,153)" text-rendering="geometricPrecision" 
shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" 
stroke="rgb(0,153,153)">
+      <rect x="791" y="212" clip-path="url(#clipPath2)" width="105" rx="4" 
ry="4" height="117" stroke="none"/>
+    </g>
+    <g text-rendering="geometricPrecision" stroke-miterlimit="1.45" 
shape-rendering="geometricPrecision" font-family="sans-serif" 
transform="matrix(1,0,0,1,-77,-45)" stroke-linecap="butt">
+      <text x="795.8457" xml:space="preserve" y="229.1387" 
clip-path="url(#clipPath2)" stroke="none">YARN Container</text>
+      <rect x="791" y="212" clip-path="url(#clipPath2)" fill="none" 
width="105" rx="4" ry="4" height="117"/>
+    </g>
+    <g fill="rgb(51,153,102)" text-rendering="geometricPrecision" 
shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" 
stroke="rgb(51,153,102)">
+      <rect x="99" width="105" height="30" y="242.5" 
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,-77,-45)" stroke-linecap="butt">
+      <text x="137.4375" xml:space="preserve" y="254.6699" 
clip-path="url(#clipPath2)" stroke="none">Flink</text>
+      <text x="115.7959" xml:space="preserve" y="268.6387" 
clip-path="url(#clipPath2)" stroke="none">YARN Client</text>
+      <rect fill="none" x="99" width="105" height="30" y="242.5" 
clip-path="url(#clipPath2)"/>
+    </g>
+    <g fill="rgb(51,153,102)" text-rendering="geometricPrecision" 
shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" 
stroke="rgb(51,153,102)">
+      <rect x="375" width="93" height="30" y="252.5" 
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,-77,-45)" stroke-linecap="butt">
+      <text x="407.4375" xml:space="preserve" y="264.6699" 
clip-path="url(#clipPath2)" stroke="none">Flink</text>
+      <text x="385.9512" xml:space="preserve" y="278.6387" 
clip-path="url(#clipPath2)" stroke="none">JobManager</text>
+      <rect fill="none" x="375" width="93" height="30" y="252.5" 
clip-path="url(#clipPath2)"/>
+    </g>
+    <g fill="rgb(51,153,102)" text-rendering="geometricPrecision" 
shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" 
stroke="rgb(51,153,102)">
+      <rect x="375" width="93" height="30" y="282.5" 
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,-77,-45)" stroke-linecap="butt">
+      <text x="389.5371" xml:space="preserve" y="294.6699" 
clip-path="url(#clipPath2)" stroke="none">YARN App.</text>
+      <text x="401.0098" xml:space="preserve" y="308.6387" 
clip-path="url(#clipPath2)" stroke="none">Master</text>
+      <rect fill="none" x="375" width="93" height="30" y="282.5" 
clip-path="url(#clipPath2)"/>
+    </g>
+    <g fill="rgb(51,153,102)" text-rendering="geometricPrecision" 
shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" 
stroke="rgb(51,153,102)">
+      <rect x="620" width="93" height="30" y="255.5" 
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,-77,-45)" stroke-linecap="butt">
+      <text x="652.4375" xml:space="preserve" y="267.6699" 
clip-path="url(#clipPath2)" stroke="none">Flink</text>
+      <text x="626.2578" xml:space="preserve" y="281.6387" 
clip-path="url(#clipPath2)" stroke="none">TaskManager</text>
+      <rect fill="none" x="620" width="93" height="30" y="255.5" 
clip-path="url(#clipPath2)"/>
+    </g>
+    <g fill="rgb(51,153,102)" text-rendering="geometricPrecision" 
shape-rendering="geometricPrecision" transform="matrix(1,0,0,1,-77,-45)" 
stroke="rgb(51,153,102)">
+      <rect x="797" width="93" height="30" y="255.5" 
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,-77,-45)" stroke-linecap="butt">
+      <text x="829.4375" xml:space="preserve" y="267.6699" 
clip-path="url(#clipPath2)" stroke="none">Flink</text>
+      <text x="803.2578" xml:space="preserve" y="281.6387" 
clip-path="url(#clipPath2)" stroke="none">TaskManager</text>
+      <rect fill="none" x="797" width="93" height="30" y="255.5" 
clip-path="url(#clipPath2)"/>
+      <text x="917.1621" xml:space="preserve" y="274.6543" font-weight="bold" 
clip-path="url(#clipPath2)" stroke="none">...</text>
+      <path fill="none" d="M210.991 234.6698 L361.997 151.3369" 
clip-path="url(#clipPath2)"/>
+      <path d="M369.0012 147.4715 L356.079 148.8919 L361.1215 151.82 L360.9107 
157.6472 Z" clip-path="url(#clipPath2)" stroke="none"/>
+      <text x="157.7557" xml:space="preserve" y="141.7122" font-weight="bold" 
clip-path="url(#clipPath2)" stroke="none">2. Register resources </text>
+      <text x="150.4286" xml:space="preserve" y="155.681" font-weight="bold" 
clip-path="url(#clipPath2)" stroke="none">and request AppMaster </text>
+      <text x="199.911" xml:space="preserve" y="169.6497" font-weight="bold" 
clip-path="url(#clipPath2)" stroke="none">container</text>
+      <path fill="none" d="M421.5 177.0215 L421.5 204.0303" 
clip-path="url(#clipPath2)"/>
+      <path d="M421.5 212.0303 L426.5 200.0303 L421.5 203.0303 L416.5 200.0303 
Z" clip-path="url(#clipPath2)" stroke="none"/>
+      <text x="452.5664" xml:space="preserve" y="198.6543" font-weight="bold" 
clip-path="url(#clipPath2)" stroke="none">3. Allocate AppMaster Container</text>
+      <path fill="none" d="M473.9872 270.5 L606.0008 270.5" 
clip-path="url(#clipPath2)"/>
+      <path d="M614.0008 270.5 L602.0008 265.5 L605.0008 270.5 L602.0008 275.5 
Z" clip-path="url(#clipPath2)" stroke="none"/>
+      <text x="481.2285" xml:space="preserve" y="304.6543" font-weight="bold" 
clip-path="url(#clipPath2)" stroke="none">4. Allocate Worker</text>
+      <path fill="none" d="M210.991 298.1268 L380.3388 385.3096" 
clip-path="url(#clipPath2)"/>
+      <path d="M387.4516 388.9714 L379.071 379.0333 L379.4497 384.8519 
L374.4938 387.9242 Z" clip-path="url(#clipPath2)" stroke="none"/>
+      <text x="207.4763" xml:space="preserve" y="355.1486" font-weight="bold" 
clip-path="url(#clipPath2)" stroke="none">1. Store Uberjar</text>
+      <text x="201.4939" xml:space="preserve" y="369.1174" font-weight="bold" 
clip-path="url(#clipPath2)" stroke="none">and configuration</text>
+      <path fill="none" d="M421.5 388.4707 L421.5 336.9957" 
clip-path="url(#clipPath2)" stroke="gray"/>
+      <path fill="gray" d="M421.5 328.9957 L416.5 340.9957 L421.5 337.9957 
L426.5 340.9957 Z" clip-path="url(#clipPath2)" stroke="none"/>
+      <path fill="none" d="M453.1718 388.9189 L606.9806 303.5393" 
clip-path="url(#clipPath2)" stroke="gray"/>
+      <path fill="gray" d="M613.9752 299.6566 L601.0566 301.109 L606.1063 
304.0247 L605.91 309.8523 Z" clip-path="url(#clipPath2)" stroke="none"/>
+      <path fill="none" d="M719.0037 270.5 L783.0085 270.5" 
clip-path="url(#clipPath2)"/>
+      <path d="M791.0085 270.5 L779.0085 265.5 L782.0085 270.5 L779.0085 275.5 
Z" clip-path="url(#clipPath2)" stroke="none"/>
+      <path fill="none" d="M473.6061 389.7075 L783.3726 289.8775" 
clip-path="url(#clipPath2)" stroke="gray"/>
+      <path fill="gray" d="M790.987 287.4236 L778.0318 286.3455 L782.4208 
290.1843 L781.0992 295.8634 Z" clip-path="url(#clipPath2)" stroke="none"/>
+      <text x="542.0724" xml:space="preserve" y="392.1359" font-weight="bold" 
clip-path="url(#clipPath2)" stroke="none">Always Bootstrap containers 
with</text>
+      <text x="593.1105" xml:space="preserve" y="406.1046" font-weight="bold" 
clip-path="url(#clipPath2)" stroke="none">Uberjar and config</text>
+    </g>
+  </g>
+</svg>

http://git-wip-us.apache.org/repos/asf/flink/blob/844c874b/docs/fig/back_pressure_sampling.png
----------------------------------------------------------------------
diff --git a/docs/fig/back_pressure_sampling.png 
b/docs/fig/back_pressure_sampling.png
new file mode 100644
index 0000000..ad6ce2f
Binary files /dev/null and b/docs/fig/back_pressure_sampling.png differ

http://git-wip-us.apache.org/repos/asf/flink/blob/844c874b/docs/fig/back_pressure_sampling_high.png
----------------------------------------------------------------------
diff --git a/docs/fig/back_pressure_sampling_high.png 
b/docs/fig/back_pressure_sampling_high.png
new file mode 100644
index 0000000..15372fd
Binary files /dev/null and b/docs/fig/back_pressure_sampling_high.png differ

http://git-wip-us.apache.org/repos/asf/flink/blob/844c874b/docs/fig/back_pressure_sampling_in_progress.png
----------------------------------------------------------------------
diff --git a/docs/fig/back_pressure_sampling_in_progress.png 
b/docs/fig/back_pressure_sampling_in_progress.png
new file mode 100644
index 0000000..96ec3cd
Binary files /dev/null and b/docs/fig/back_pressure_sampling_in_progress.png 
differ

http://git-wip-us.apache.org/repos/asf/flink/blob/844c874b/docs/fig/back_pressure_sampling_ok.png
----------------------------------------------------------------------
diff --git a/docs/fig/back_pressure_sampling_ok.png 
b/docs/fig/back_pressure_sampling_ok.png
new file mode 100644
index 0000000..2ca2d51
Binary files /dev/null and b/docs/fig/back_pressure_sampling_ok.png differ

Reply via email to