diff options
author | Scott Main <smain@google.com> | 2011-10-27 17:04:52 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-10-27 17:04:52 +0000 |
commit | 3c81fc9e50cd1475e58e0b979d5ee26da00afd01 (patch) | |
tree | 811192f085dd0c41a4a153f463c8d577f615f9bb /docs | |
parent | 80d67c66cef1b6cded786ec51d87a0c786ac12c6 (diff) | |
parent | 5653985830f35184ea772b2ccc8333d6ef634761 (diff) | |
download | frameworks_base-3c81fc9e50cd1475e58e0b979d5ee26da00afd01.zip frameworks_base-3c81fc9e50cd1475e58e0b979d5ee26da00afd01.tar.gz frameworks_base-3c81fc9e50cd1475e58e0b979d5ee26da00afd01.tar.bz2 |
am 56539858: Merge "docs: add guide for optimizing tablet apps for handsets deprecate "optimizing for 3.0" doc" into ics-mr0
* commit '5653985830f35184ea772b2ccc8333d6ef634761':
docs: add guide for optimizing tablet apps for handsets deprecate "optimizing for 3.0" doc
Diffstat (limited to 'docs')
-rw-r--r-- | docs/html/guide/guide_toc.cs | 6 | ||||
-rw-r--r-- | docs/html/guide/practices/optimizing-for-3.0.jd | 27 | ||||
-rw-r--r-- | docs/html/guide/practices/screens-distribution.jd | 70 | ||||
-rw-r--r-- | docs/html/guide/practices/screens_support.jd | 3 | ||||
-rw-r--r-- | docs/html/guide/practices/tablets-and-handsets.jd | 491 | ||||
-rwxr-xr-x | docs/html/images/fundamentals/fragments.graffle | 2549 | ||||
-rw-r--r-- | docs/html/images/fundamentals/fragments.png | bin | 24022 -> 37486 bytes | |||
-rw-r--r-- | docs/html/images/practices/actionbar-phone-splitaction.png | bin | 0 -> 19263 bytes | |||
-rw-r--r-- | docs/html/images/practices/actionbar-phone-tablet.png | bin | 0 -> 49561 bytes |
9 files changed, 3123 insertions, 23 deletions
diff --git a/docs/html/guide/guide_toc.cs b/docs/html/guide/guide_toc.cs index b7710c3..543302f 100644 --- a/docs/html/guide/guide_toc.cs +++ b/docs/html/guide/guide_toc.cs @@ -715,9 +715,9 @@ </a></li> </ul> </li> - <li><a href="<?cs var:toroot ?>guide/practices/optimizing-for-3.0.html"> - <span class="en">Optimizing Apps for Android 3.0</span> - </a></li> + <li><a href="<?cs var:toroot ?>guide/practices/tablets-and-handsets.html"> + <span class="en">Supporting Tablets and Handsets</span> + </a> <span class="new">new!</span></li> <li class="toggle-list"> <div><a href="<?cs var:toroot ?>guide/practices/ui_guidelines/index.html"> <span class="en">UI Guidelines</span> diff --git a/docs/html/guide/practices/optimizing-for-3.0.jd b/docs/html/guide/practices/optimizing-for-3.0.jd index a24dba8..39662f1 100644 --- a/docs/html/guide/practices/optimizing-for-3.0.jd +++ b/docs/html/guide/practices/optimizing-for-3.0.jd @@ -1,6 +1,31 @@ page.title=Optimizing Apps for Android 3.0 @jd:body + +<div id="deprecatedSticker"> + <a href="#" + onclick="$('#naMessage').show();$('#deprecatedSticker').hide();return false"> + <strong>This doc is deprecated</strong></a> +</div> + + +<div id="naMessage" style="display:block"> +<div><p><strong>This document has been deprecated.</strong></p> + <p>To learn about how you can optimize your app for both tablets and handsets, please +read the guide to <a href="tablets-and-handsets.html">Supporting Tablets and +Handsets</a>.</p> + + <input style="margin-top:1em;padding:5px" type="button" + value="That's nice, but I still want to read this document" +onclick="$('#naMessage').hide();$('#deprecatedSticker').show()" /> +</div> +</div> + + + + + + <div id="qv-wrapper"> <div id="qv"> <h2>In this document</h2> @@ -25,6 +50,8 @@ page.title=Optimizing Apps for Android 3.0 <h2>See also</h2> <ol> + <li><a href="tablets-and-handsets.html">Supporting Tablets +and Handsets</a></li> <li><a href="{@docRoot}sdk/compatibility-library.html">Compatibility Library</a></li> <li><a href="http://code.google.com/p/iosched/">Google I/O App source code</a></li> diff --git a/docs/html/guide/practices/screens-distribution.jd b/docs/html/guide/practices/screens-distribution.jd index 951e364..60c9c95 100644 --- a/docs/html/guide/practices/screens-distribution.jd +++ b/docs/html/guide/practices/screens-distribution.jd @@ -15,8 +15,8 @@ screen configuration</li> <h2>In this document</h2> <ol> - <li><a href="#FilteringHansetApps">Filtering a Handset Application from Tablets</a></li> - <li><a href="#FilteringTabletApps">Filtering a Tablet Application from Handsets</a></li> + <li><a href="#FilteringHansetApps">Declaring an App is Only for Handsets</a></li> + <li><a href="#FilteringTabletApps">Declaring an App is Only for Tablets</a></li> <li><a href="#MultiApks">Publishing Multiple APKs for Different Screens</a></li> </ol> @@ -48,7 +48,7 @@ available to the greatest number of users with different devices, using a single -<h2 id="FilteringHandsetApps">Filtering a Handset Application from Tablets</h2> +<h2 id="FilteringHandsetApps">Declaring an App is Only for Handsets</h2> <p>Because the system generally scales applications to fit larger screens well, you shouldn't need to filter your application from larger screens. As long as you follow the <a @@ -79,7 +79,6 @@ entry looks like if your application is compatible with only small and normal sc <pre> <manifest ... > - ... <compatible-screens> <!-- all small size screens --> <screen android:screenSize="small" android:screenDensity="ldpi" /> @@ -92,6 +91,7 @@ entry looks like if your application is compatible with only small and normal sc <screen android:screenSize="normal" android:screenDensity="hdpi" /> <screen android:screenSize="normal" android:screenDensity="xhdpi" /> </compatible-screens> + ... <application ... > ... <application> @@ -108,36 +108,66 @@ to specify each screen density your application supports.</p> -<h2 id="FilteringTabletApps">Filtering a Tablet Application from Handsets</h2> -<p>If your application's UI is adversely affected when the system scales your application down to -smaller screens, you should add <a -href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources">alternative -layouts</a> for smaller screens to adjust the layout for those screens. However, sometimes your -layout still might not fit a smaller screen or you've explicitly designed your application only for -tablets and other large devices. In this case, you can manage the availability of your application -to smaller screens by using the <a +<h2 id="FilteringTabletApps">Declaring an App is Only for Tablets</h2> + +<p>If you don't want your app to be used on handsets (perhaps your app truly makes sense only on a +large screen) or you need time to optimize it for smaller screens, you can prevent small-screen +devices from downloading your app by using the <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html">{@code <supports-screens>}</a> manifest element.</p> -<p>For example, if you want your application to be available only to large and extra large -screens, you can declare the element in your manifest like this:</p> +<p>For example, if you want your application to be available only to tablet devices, you can declare +the element in your manifest like this:</p> <pre> <manifest ... > - ... <supports-screens android:smallScreens="false" android:normalScreens="false" android:largeScreens="true" - android:xlargeScreens="true" /> + android:xlargeScreens="true" + android:requiresSmallestWidthDp="600" /> + ... <application ... > ... - <application> + </application> </manifest> </pre> -<p>External services such as Android Market read this manifest element and use it to ensure that -your application is available only to devices with either a large or an extra large screen.</p> +<p>This describes your app's screen-size support in two different ways:</p> + +<ul> + <li>It declares that the app does <em>not</em> support the screen sizes "small" and +"normal", which are traditionally not tablets.</li> + <li>It declares that the app requires a screen size with a minimum usable area that is at least +600dp wide.</li> +</ul> + +<p>The first technique is for devices that are running Android 3.1 or older, because those devices +declare their size based on generalized screen sizes. The <a +href="{@docRoot}guide/topics/manifest/supports-screens-element.html#requiresSmallest">{@code +requiresSmallestWidthDp}</a> attribute is for devices running Android 3.2 and newer, which includes +the capability for apps to specify size requirements based on a minimum number of +density-independent pixels available. In this example, the app declares a minimum width requirement +of 600dp, which generally implies a 7"-or-greater screen. </p> + +<p>Your size choice might be different, of course, based on how well your design works on different +screen sizes; for example, if your design works well only on screens that are 9" or larger, you +might require a minimum width of 720dp.</p> + +<p>The catch is that you must compile your application against Android 3.2 or higher in order to use +the <code>requiresSmallestWidthDp</code> attribute. Older versions don't understand this attribute +and will raise a compile-time error. The safest thing to do is develop your app against the platform +that matches the API level you've set for <a +href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">minSdkVersion</a +>. When you're making final preparations to build your release candidate, change the build target to +Android 3.2 and add the <code>requiresSmallestWidthDp</code> attribute. Android versions older than +3.2 simply ignore that XML attribute, so there's no risk of a runtime failure.</p> + +<p>For more information about why the "smallest width" screen size is +important for supporting different screen sizes, read <a +href="http://android-developers.blogspot.com/2011/07/new-tools-for-managing-screen-sizes.html">New +Tools for Managing Screen Sizes</a>.</p> <p class="caution"><strong>Caution:</strong> If you use the <a href="{@docRoot}guide/topics/manifest/supports-screens-element.html">{@code @@ -151,7 +181,7 @@ information). If you want to prevent your application from being downloaded on larger screens, use <a href="{@docRoot}guide/topics/manifest/compatible-screens-element.html">{@code <compatible-screens>}</a>, as discussed in the previous section about <a -href="#FilteringHandsetApps">Filtering a Handset Application from Tablets</a>.</p> +href="#FilteringHandsetApps">Declaring an App is Only for Handsets</a>.</p> <p>Remember, you should strive to make your application available to as many devices as possible by applying all necessary techniques for <a diff --git a/docs/html/guide/practices/screens_support.jd b/docs/html/guide/practices/screens_support.jd index 0c3c7d3..fb121bd 100644 --- a/docs/html/guide/practices/screens_support.jd +++ b/docs/html/guide/practices/screens_support.jd @@ -50,6 +50,9 @@ Resolutions</a></li> <h2>See also</h2> <ol> <li><a +href="http://android-developers.blogspot.com/2011/09/thinking-like-web-designer.html">Thinking +Like a Web Designer</a></li> + <li><a href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources"> Providing Alternative Resources</a></li> <li><a href="{@docRoot}guide/practices/ui_guidelines/icon_design.html">Icon Design diff --git a/docs/html/guide/practices/tablets-and-handsets.jd b/docs/html/guide/practices/tablets-and-handsets.jd new file mode 100644 index 0000000..7bc1ad7 --- /dev/null +++ b/docs/html/guide/practices/tablets-and-handsets.jd @@ -0,0 +1,491 @@ +page.title=Supporting Tablets and Handsets + +@jd:body + +<div id="qv-wrapper"> +<ol id="qv"> + +<h2>In this document</h2> +<ol> + <li><a href="#Guidelines">Basic Guidelines</a></li> + <li><a href="#Fragments">Creating Single-pane and Multi-pane Layouts</a></li> + <li><a href="#ActionBar">Using the Action Bar</a> + <ol> + <li><a href="#SplitActionBar">Using split action bar</a></li> + <li><a href="#NavigatingUp">Using "up" navigation</a></li> + </ol> + </li> + <li><a href="#Tips">Other Design Tips</a></li> +</ol> + +<h2>Related samples</h2> +<ol> + <li><a href="{@docRoot}resources/samples/HoneycombGallery/index.html">Honeycomb +Gallery</a></li> +</ol> + +<h2>See also</h2> +<ol> + <li><a href="{@docRoot}guide/topics/fundamentals/fragments.html">Fragments</a></li> + <li><a href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a></li> + <li><a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple Screens</a></li> +</ol> + + + +</div> +</div> + + + +<p>The Android platform runs on a variety of screen sizes and the system gracefully resizes your +application's UI to fit each one. Typically, all you need to do is design your UI to be flexible and +optimize some elements for different sizes by providing <a +href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources">alternative +resources</a> (such as alternative layouts that reposition some views or alternative +dimension values for views). However, sometimes you might want to go a step further to +optimize the overall user experience for different screen sizes. For example, tablets offer +more space in which your application can present multiple sets of information at once, while a +handset device usually requires that you split those sets apart and display them separately. So +even though a UI designed for handsets will properly resize to fit a tablet, it does not fully +leverage the potential of the tablet's screen to enhance the user experience.</p> + +<p>With Android 3.0 (API level 11), Android introduced a new set of framework APIs that allow you + to more effectively design activities that take advantage of large screens: the {@link +android.app.Fragment} APIs. Fragments allow you to separate distinct behavioral components of your +UI into separate parts, which you can then combine to create multi-pane layouts when running on a +tablet or place in separate activities when running on a handset. Android 3.0 also introduced +{@link android.app.ActionBar}, which provides a dedicated UI at the top of the screen to identify +the app and provide user actions and navigation.</p> + +<p>This document provides guidance that can help you create an application that offers a unique and +optimized user experience on both handsets and tablets, using fragments and the action bar.</p> + +<p>Before you continue with this guide, it's important that you first read the +guide to <a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple +Screens</a>. That document describes the fundamental design principles for developing a UI that +supports different screen sizes and densities with flexible layouts and alternative bitmaps, +respectively.</p> + + + + +<h2 id="Guidelines">Basic Guidelines</h2> + +<p>Here are a few guidelines that will help you create an app that provides an optimized user +experience on both tablets and handsets:</p> + +<ul> + <li><strong>Build your activity designs based on fragments</strong> that you can reuse in +different combinations—in multi-pane layouts on tablets and single-pane layouts on handsets. + +<p>A {@link android.app.Fragment} represents a behavior or a portion of user interface in an +activity. You can think of a fragment as a modular section of an activity (a "fragment" of an +activity), which has its own lifecycle and which you can add or remove while the activity is +running.</p> + +<p>If you haven't used fragments yet, start by reading the <a +href="{@docRoot}guide/topics/fundamentals/fragments.html">Fragments</a> developer guide.</p> +</li> + + + <li><strong>Use the action bar</strong>, but follow best practices and ensure your design +is flexible enough for the system to adjust the action bar layout based on the screen size. + +<p>The {@link android.app.ActionBar} is a UI component for activities that replaces the traditional +title bar at the top of the screen. By default, the action bar includes the application logo on the +left side, followed by the activity title, and access to items from the options menu on the right +side.</p> + +<p>You can enable items from the options menu to appear directly in the action bar as "action +items". You can also add navigation features to the action bar, such as tabs or a drop-down list, +and use the application icon to supplement the system's BACK behavior with the option to navigate to +your application's "home" activity or "up" the application's structural hierarchy.</p> + +<p>This guide provides some tips for using the action bar in ways that support both tablets and +handsets. For a detailed discussion of the action bar APIs, read the <a +href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a> developer guide.</p> +</li> + + + <li><strong>Implement flexible layouts</strong>, as discussed in the +<a href="{@docRoot}guide/practices/screens_support.html#screen-independence">Best Practices</a> for +supporting multiple screens and the blog post, <a +href="http://android-developers.blogspot.com/2011/09/thinking-like-web-designer.html">Thinking +Like a Web Designer</a>. + <p>A flexible layout design allows your application to adapt to variations in screen +sizes. Not all tablets are the same size, nor are all handsets the same size. While you might +provide different fragment combinations for "tablets" and "handsets", it's still necessary that +each design be flexible to resize to variations in size and aspect ratio.</p> +</li> +</ul> + +<p>The following sections discuss the first two recommendations in more detail. For more +information about creating flexible layouts, refer to the links provided above.</p> + + +<p class="note"><strong>Note:</strong> Aside from one feature in the action bar, all the +APIs needed to accomplish the recommendations in this document are available in Android +3.0. Additionally, you can even implement the fragment design patterns and remain +backward-compatible with Android 1.6, by using the support library—discussed in the side +bar below.</p> + + + +<h2 id="Fragments">Creating Single-pane and Multi-pane Layouts</h2> + + +<div class="sidebox-wrapper"> +<div class="sidebox"> + <h3>Remaining backward-compatible</h3> +<p>If you want to use fragments in your application <em>and</em> remain compatible with +versions of Android older than 3.0, you can do so by using the Android <a +href="{@docRoot}sdk/compatibility-library.html">Support Library</a> (downloadable from the +SDK Manager).</p> +<p>The support library includes APIs for <a +href="{@docRoot}guide/topics/fundamentals/fragments.html">fragments</a>, <a +href="{@docRoot}guide/topics/fundamentals/loaders.html">loaders</a>, and other APIs added in newer +versions of Android. By simply adding this library to your Android project, you can use +backward-compatible versions of these APIs in your application and remain compatible with Android +1.6 (your <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code +android:minSdkVersion}</a> value can be as low as {@code "4"}). For information about how to get the +library and start using it, see the <a href="{@docRoot}sdk/compatibility-library.html">Support +Library</a> document.</p> + +<p>The support library <em>does not</em> provide APIs for the action bar, but you can use +code from the sample app, <a +href="{@docRoot}resources/samples/ActionBarCompat/index.html">Action Bar Compatibility</a>, to +create an action bar that supports all devices.</p> +</div> +</div> + + + + +<p>The most effective way to create a distinct user experience for tablets and handsets is to create +layouts with different combinations of fragments, such that you can design "multi-pane" layouts for +tablets and "single-pane" layouts for handsets. For example, a news application on a tablet might +show a list of articles on the left side and a full article on the right side—selecting an +article on the left updates the article view on the right. On a handset, however, these two +components should appear on separate screens—selecting an article from a list changes the +entire screen to show that article. There are two techniques to accomplish this design with +fragments:</p> + + +<ul> + <li><em>Multiple fragments, one activity</em>: Use one activity regardless of the device size, +but decide at runtime whether to combine fragments in the layout (to create a multiple-pane design) +or swap fragments (to create a single-pane design). Or...</li> + + <li><em>Multiple fragments, multiple activities</em>: On a tablet, place multiple fragments in +one activity; on a handset, use separate activities to host each fragment. For example, +when the tablet design uses two fragments in an activity, use the same activity for handsets, but +supply an alternative layout that includes just the first fragment. When running on a handset and +you need to switch fragments (such as when the user selects an item), start another activity that +hosts the second fragment.</li> +</ul> + +<p>The approach you choose depends on your design and personal preferences. The first option +(one activity; swapping fragments) requires that you determine the screen size at runtime +and dynamically add each fragment as appropriate—rather than declare the fragments +in your activity's XML layout—because you <em>cannot</em> remove a fragment from an activity +if it's been declared in the XML layout. When using the first technique, you might also need to +update the action bar each time the fragments change, depending on what actions or navigation modes +are available for each fragment. In some cases, these factors might not affect your design, so +using one activity and swapping fragments might work well (especially if your tablet design requires +that you add fragments dynamically anyway). Other times, however, dynamically swapping +fragments for your handset design can make your code more complicated, because you must manage all +the fragment combinations in the activity's code (rather than use alternative layout resources to +define fragment combinations) and manage the back stack of fragments yourself (rather than +allow the normal activity stack to handle back-navigation).</p> + +<p>This guide focuses on the second option, in which you display each fragment in a separate +activity when on a smaller screen. Using this technique means that you can use alternative layout +files that define different fragment combinations for different screen sizes, keep fragment code +modular, simplify action bar management, and let the system handle all the back stack work on +handsets.</p> + +<p>Figure 1 illustrates how an application with two fragments might be arranged for +both handsets and tablets when using separate activities for the handset design:</p> + +<img src="{@docRoot}images/fundamentals/fragments.png" alt="" /> +<p class="img-caption"><strong>Figure 1.</strong> Different design patterns for tablets and +handsets when selecting an item to view its details.</p> + +<p>In the application shown in figure 1, Activity A is the "main activity" and uses different +layouts to display either one or two fragments at a time, depending on the size of the screen:</p> +<ul> + <li>On a tablet-sized screen, the Activity A layout contains both Fragment A and Fragment B.</li> + <li>On a handset-sized screen, the Activity A layout contains only Fragment A (the list +view). In order to show the details in Fragment B, Activity B must open.</li> +</ul> + +<p class="note"><strong>Note:</strong> Activity B is never used on a tablet. It is simply a +container to present Fragment B, so is only used on handset devices when the two fragments must +be displayed separately.</p> + +<p>Depending on the screen size, the system applies a different {@code main.xml} layout file:</p> + +<p><code>res/layout/main.xml</code> for handsets:</p> + +<pre> +<?xml version="1.0" encoding="utf-8"?> +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent"> + <!-- "Fragment A" --> + <fragment class="<b>com.example.android.TitlesFragment</b>" + android:id="@+id/list_frag" + android:layout_width="match_parent" + android:layout_height="match_parent"/> +</FrameLayout> +</pre> + +<p><code>res/layout-large/main.xml</code> for tablets:</p> + +<pre> +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="horizontal" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:id="@+id/frags"> + <!-- "Fragment A" --> + <fragment class="<b>com.example.android.TitlesFragment</b>" + android:id="@+id/list_frag" + android:layout_width="@dimen/titles_size" + android:layout_height="match_parent"/> + <!-- "Fragment B" --> + <fragment class="<b>com.example.android.DetailsFragment</b>" + android:id="@+id/details_frag" + android:layout_width="match_parent" + android:layout_height="match_parent" /> +</LinearLayout> +</pre> + + +<div class="sidebox-wrapper"> +<div class="sidebox"> + <h3>Supporting sizes based on screen width</h3> + <p>Android 3.2 (API level 13) adds new APIs that provide more fine-grain control over what screen +sizes your app supports and what resources it uses, by declaring screen sizes based on the minimum +width your layouts require. For example, both a 5" and 7" device qualify as a "large" screen, so +your "large" layout resources are used on both devices. With API level 13, you can distinguish +between these two sizes based on the screen width, as measured in density-independent pixels.</p> + <p>For details, read the blog post about <a +href="http://android-developers.blogspot.com/2011/07/new-tools-for-managing-screen-sizes.html"> +New Tools for Managing Screen Sizes</a>.</p> +</div> +</div> + +<p class="note"><strong>Note:</strong> Although the above sample layout for tablets is based on +the "large" screen configuration qualifier, you should also use the new "minimum width" size +qualifiers in order to more precisely control the screen size at which the system applies your +handset or tablet layout. See the sidebar for more information.</p> + +<p>How the application responds when a user selects an item from the list depends on whether +Fragment B is available in the layout:</p> +<ul> + <li>If Fragment B is in the layout, Activity A notifies Fragment B to update itself.</li> + <li>If Fragment B is <em>not</em> in the layout, Activity A starts Activity B (which hosts +Fragment B).</li> +</ul> + + +<p>To implement this pattern for your application, it's important +that you develop your fragments to be highly compartmentalized. Specifically, you should follow two +guidelines:</p> + +<ul> + <li>Do not manipulate one fragment directly from another.</li> + <li>Keep all code that concerns content in a fragment inside that fragment, rather than putting it +in the host activity's code.</li> +</ul> + +<p>To avoid directly calling one fragment from another, <strong>define a callback interface in each +fragment</strong> class that it can use to deliver events to +its host activity, which implements the callback +interface. When the activity receives a callback due to an event (such as the user selecting a list +item), the activity responds appropriately based on the current fragment configuration.</p> + +<p>For example, Activity A from above can handle item selections depending on whether it's using +the tablet or handset layout like this:</p> + +<pre> +public class MainActivity extends Activity implements TitlesFragment.OnItemSelectedListener { + ... + + /** This is a callback that the list fragment (Fragment A) + calls when a list item is selected */ + public void onItemSelected(int position) { + DisplayFragment displayFrag = (DisplayFragment) getFragmentManager() + .findFragmentById(R.id.display_frag); + if (displayFrag == null) { + // DisplayFragment (Fragment B) is not in the layout (handset layout), + // so start DisplayActivity (Activity B) + // and pass it the info about the selected item + Intent intent = new Intent(this, DisplayActivity.class); + intent.putExtra("position", position); + startActivity(intent); + } else { + // DisplayFragment (Fragment B) is in the layout (tablet layout), + // so tell the fragment to update + displayFrag.updateContent(position); + } + } +} +</pre> + +<p>When <code>DisplayActivity</code> (Activity B) starts, it reads the data delivered by the +{@link android.content.Intent} and passes it to the <code>DisplayFragment</code> (Fragment B).</p> + +<p>If Fragment B needs to deliver a result back to Fragment A (because Activity B was started with +{@link android.app.Activity#startActivityForResult startActivityForResult()}), then the process +works similarly with a callback interface between Fragment B and Activity B. That is, Activity B +implements a different callback interface defined by Fragment B. When Activity B receives the +callback with a result from the fragment, it sets the result for the activity (with {@link +android.app.Activity#setResult setResult()}) and finishes itself. Activity A then receives the +result and delivers it to Fragment A.</p> + +<p>For a demonstration of this technique for creating different fragment combinations for +tablets and handsets, see the updated version of the <a +href="{@docRoot}resources/samples/HoneycombGallery/index.html">Honeycomb Gallery</a> +sample.</p> + + + + + + +<h2 id="ActionBar">Using the Action Bar</h2> + +<p>The <a href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a> is an important UI +component for Android apps on both tablets and handsets. To ensure that the action bar +behaves appropriately on all screen sizes, it's important that you use the {@link +android.app.ActionBar} APIs without adding complex customizations. By using the standard {@link +android.app.ActionBar} APIs to design your action bar, the Android system does all +the work to gracefully adapt the action bar for different screen sizes. Here are some important +tips to follow when creating your action bar:</p> + +<ul> + <li>When setting a menu item to be an action item, <strong>avoid using the {@code "always"} +value</strong>. In your <a +href="{@docRoot}guide/topics/resources/menu-resource.html">menu resource</a>, use {@code "ifRoom"} +for the {@code android:showAsAction} attribute if you'd like the menu item to appear in the action +bar. However, you might need {@code "always"} when an action view does not provide an alternative +action for the overflow menu (that is, it must appear as an action view) or when a menu item added +by a fragment is low in the menu order and it must jump into the action bar at all times. However, +you should not use {@code "always"} more than once or twice. In almost all other cases, use {@code +"ifRoom"} as the value for {@code "android:showAsAction"} when you want the item to appear as an +action item. Forcing too many action items into the action bar can create a cluttered UI and +action items may overlap with other action bar elements such as the title or navigation items.</li> + + <li>When adding action items to the action bar with a text title, also <strong>provide an +icon</strong>, when appropriate, and declare <code>showAsAction="ifRoom|withText"</code>. +This way, if there's not enough room for the title, but there is enough room for the icon, then only +the icon may be used.</li> + + + <li>Always <strong>provide a title</strong> for your action items, even if you don't enable {@code +"withText"}, because users can view the title as a "tool-tip" by performing a +"long click" on the item—the title text appears momentarily in a toast message. Providing +a title is also critical for accessibility, because screen readers read aloud the item title +even when not visible.</li> + + + <li><strong>Avoid using custom navigation modes when possible</strong>. Use the built-in tab +and drop-down navigation modes when possible—they're designed so the system can adapt their +presentation to different screen sizes. For example, when the width is too narrow for both tabs and +other action items (such as a handset in portrait orientation), the tabs appear below the action bar +(this is known as the "stacked action bar"). If you must build a custom navigation mode or other +custom views in the action bar, thoroughly test them on smaller screens and make any +necessary adjustments to support a narrow action bar.</li> +</ul> + +<p>For example, the mock-ups below demonstrate how the system may adapt an action bar based +on the available screen space. On the handset, only two action items fit, so the remaining menu +items appear in the overflow menu (because {@code android:showAsAction} was set to {@code "ifRoom"}) +and the tabs appear in a separate row (the stacked action bar). On the tablet, more action items can +fit in the action bar and so do the tabs.</p> + +<img src="{@docRoot}images/practices/actionbar-phone-tablet.png" alt=""/> +<p class="img-caption"><strong>Figure 2.</strong> Mock-up showing how the system re-configures +action bar components based on the available screen space.</p> + + +<h3 id="SplitActionBar">Using split action bar</h3> + +<p>When your application is running on Android 4.0 (API level 14) and +higher, there's an extra mode available for the action bar called "split action bar." When +you enable split action bar, a separate bar appears at the bottom of the screen to +display all action items when the activity is running on a narrow screen (such as a portrait +handset). Splitting the action bar ensures that a reasonable amount of space is available to +display action items on a narrow screen and also leave room for navigation and title elements +at the top.</p> + +<p>To enable split action bar, simply add {@code uiOptions="splitActionBarWhenNarrow"} to your +<a href="{@docRoot}guide/topics/manifest/activity-element.html">{@code <activity>}</a> or +<a href="{@docRoot}guide/topics/manifest/application-element.html">{@code <application>}</a> +manifest element.</p> + + +<img src="{@docRoot}images/practices/actionbar-phone-splitaction.png" alt=""/> +<p class="img-caption"><strong>Figure 3.</strong> Split action bar with navigation tabs on the left; +with the app icon and title disabled on the right.</p> + + +<p>If you'd like to hide the main action bar at the top, because you're using the built-in +navigation tabs along with the split action bar, call {@link +android.app.ActionBar#setDisplayShowHomeEnabled setDisplayShowHomeEnabled(false)} to disable the +application icon in the action bar. In this case, there's now nothing left in the main action bar, +so it disappears and all that’s left are the navigation tabs at the top and the action items at the +bottom, as shown by the second device in figure 3.</p> + +<p class="note"><strong>Note:</strong> Although the {@code uiOptions} attribute was added in Android +4.0 (API level 14), you can safely include it in your application even if your <a +href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code minSdkVersion}</a> is set to +a value lower than {@code "14"} to remain compatible with older versions of Android. When running on +older versions, the system simply ignores the attribute because it doesn't understand it. The only +condition to adding it to your manifest is that you must compile your application against a platform +version that supports API level 14 or higher. Just be sure that you don't openly use other APIs in +your application code that aren't supported by the version declared by your <a +href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code minSdkVersion}</a> +attribute.</p> + + +<h3 id="NavigatingUp">Using "up" navigation</h3> + +<p>As discussed in the <a href="{@docRoot}guide/topics/ui/actionbar.html#Home">Action Bar</a> +developer guide, you can use the application icon in the action bar to facilitate user navigation +when appropriate—either as a method to get back to the "home" activity (similar to clicking +the logo on a web site) or as a way to navigate up the application's structural hierarchy. Although +it might seem similar to the standard BACK navigation in some cases, the up navigation option +provides a more predictable navigation method for situations in which the user may have entered +from an external location, such as a notification, app widget, or a different application.</p> + +<p>When using fragments in different combinations for different devices, it's important to give +extra consideration to how your up navigation behaves in each configuration. For example, when on a +handset and your application shows just one fragment at a time, it might be appropriate to enable up +navigation to go up to the parent screen, whereas it's not necessary when showing the same +fragment in a multi-pane configuration.</p> + +<p>For more information about enabling up navigation, see the <a +href="{@docRoot}guide/topics/ui/actionbar.html#Home">Action Bar</a> developer guide.</p> + + + + +<h2 id="Tips">Other Design Tips</h2> + +<ul> + <li>When working with a {@link android.widget.ListView}, consider how you might provide more or less +information in each list item based on the available space. That is, you can create alternative +layouts to be used by the items in your list adapter such that a large screen might display more +detail for each item.</li> + <li>Create <a href="{@docRoot}guide/topics/resources/more-resources.html ">alternative resource +files</a> for values such as integers, dimensions, and even booleans. Using size qualifiers for +these resources, you can easily apply different layout sizes, font sizes, or enable/disable features +based on the current screen size.</li> +</ul> + + diff --git a/docs/html/images/fundamentals/fragments.graffle b/docs/html/images/fundamentals/fragments.graffle new file mode 100755 index 0000000..c14282b --- /dev/null +++ b/docs/html/images/fundamentals/fragments.graffle @@ -0,0 +1,2549 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ActiveLayerIndex</key> + <integer>0</integer> + <key>ApplicationVersion</key> + <array> + <string>com.omnigroup.OmniGrafflePro</string> + <string>138.9.0.117994</string> + </array> + <key>AutoAdjust</key> + <true/> + <key>BackgroundGraphic</key> + <dict> + <key>Bounds</key> + <string>{{0, 0}, {576, 733}}</string> + <key>Class</key> + <string>SolidGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>2</integer> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <key>CanvasOrigin</key> + <string>{0, 0}</string> + <key>ColumnAlign</key> + <integer>1</integer> + <key>ColumnSpacing</key> + <real>36</real> + <key>CreationDate</key> + <string>2011-01-11 11:58:30 -0800</string> + <key>Creator</key> + <string>Scott Main</string> + <key>DisplayScale</key> + <string>1 0/72 in = 1.0000 in</string> + <key>FileType</key> + <string>flat</string> + <key>GraphDocumentVersion</key> + <integer>6</integer> + <key>GraphicsList</key> + <array> + <dict> + <key>Bounds</key> + <string>{{381.839, 143.614}, {103, 38}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.65</string> + <key>w</key> + <string>0</string> + </dict> + <key>Font</key> + <string>DroidSans</string> + <key>Size</key> + <real>10</real> + </dict> + <key>ID</key> + <integer>199</integer> + <key>Line</key> + <dict> + <key>ID</key> + <integer>198</integer> + <key>Position</key> + <real>0.49348831176757812</real> + <key>RotationType</key> + <integer>0</integer> + </dict> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>RTFD</key> + <data> + BAtzdHJlYW10eXBlZIHoA4QBQISEhBJOU0F0dHJpYnV0 + ZWRTdHJpbmcAhIQITlNPYmplY3QAhZKEhIQITlNTdHJp + bmcBlIQBKyNTZWxlY3RpbmcgYW4gaXRlbQpzdGFydHMg + QWN0aXZpdHkgQoaEAmlJASOShISEDE5TRGljdGlvbmFy + eQCUhAFpA5KElpYQTlNQYXJhZ3JhcGhTdHlsZYaShISE + EE5TUGFyYWdyYXBoU3R5bGUAlIQEQ0NAUwIAhISEB05T + QXJyYXkAlJkMkoSEhAlOU1RleHRUYWIAlIQCQ2YAHIaS + hJ+eADiGkoSfngBUhpKEn54AcIaShJ+eAIGMAIaShJ+e + AIGoAIaShJ+eAIHEAIaShJ+eAIHgAIaShJ+eAIH8AIaS + hJ+eAIEYAYaShJ+eAIE0AYaShJ+eAIFQAYaGAIaShJaW + B05TQ29sb3KGkoSEhAdOU0NvbG9yAJSEAWMDhAJmZgCD + ZmYmP4aShJaWBk5TRm9udIaShISEBk5TRm9udB6UmRyE + BVsyOGNdBgAAABQAAAD//kgAZQBsAHYAZQB0AGkAYwBh + AIQBZgygAKABoACgAIaGhg== + </data> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue0;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf2 Selecting an item\ +starts Activity B}</string> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>DroidSans</string> + <key>Size</key> + <real>11</real> + </dict> + <key>Head</key> + <dict> + <key>ID</key> + <integer>224</integer> + <key>Info</key> + <integer>2</integer> + </dict> + <key>ID</key> + <integer>198</integer> + <key>OrthogonalBarAutomatic</key> + <false/> + <key>OrthogonalBarPosition</key> + <real>4.1290435791015625</real> + <key>Points</key> + <array> + <string>{369.178, 215.343}</string> + <string>{423.11, 162.614}</string> + <string>{500.499, 215.4}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.7</string> + <key>b</key> + <string>0</string> + <key>g</key> + <string>0</string> + <key>r</key> + <string>0</string> + </dict> + <key>CornerRadius</key> + <real>4</real> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>LineType</key> + <integer>2</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>213</integer> + <key>Info</key> + <integer>2</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{82.9116, 142.624}, {119, 38}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.65</string> + <key>w</key> + <string>0</string> + </dict> + <key>Font</key> + <string>DroidSans</string> + <key>Size</key> + <real>10</real> + </dict> + <key>ID</key> + <integer>207</integer> + <key>Line</key> + <dict> + <key>ID</key> + <integer>206</integer> + <key>Position</key> + <real>0.4970354437828064</real> + <key>RotationType</key> + <integer>0</integer> + </dict> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>RTFD</key> + <data> + BAtzdHJlYW10eXBlZIHoA4QBQISEhBJOU0F0dHJpYnV0 + ZWRTdHJpbmcAhIQITlNPYmplY3QAhZKEhIQITlNTdHJp + bmcBlIQBKyVTZWxlY3RpbmcgYW4gaXRlbSAKdXBkYXRl + cyBGcmFnbWVudCBChoQCaUkBJZKEhIQMTlNEaWN0aW9u + YXJ5AJSEAWkDkoSWlhBOU1BhcmFncmFwaFN0eWxlhpKE + hIQQTlNQYXJhZ3JhcGhTdHlsZQCUhARDQ0BTAgCEhIQH + TlNBcnJheQCUmQyShISECU5TVGV4dFRhYgCUhAJDZgAc + hpKEn54AOIaShJ+eAFSGkoSfngBwhpKEn54AgYwAhpKE + n54AgagAhpKEn54AgcQAhpKEn54AgeAAhpKEn54AgfwA + hpKEn54AgRgBhpKEn54AgTQBhpKEn54AgVABhoYAhpKE + lpYHTlNDb2xvcoaShISEB05TQ29sb3IAlIQBYwOEAmZm + AINmZiY/hpKElpYGTlNGb250hpKEhIQGTlNGb250HpSZ + HIQFWzI4Y10GAAAAFAAAAP/+SABlAGwAdgBlAHQAaQBj + AGEAhAFmDKAAoAGgAKAAhoaG + </data> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue0;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf2 Selecting an item \ +updates Fragment B}</string> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>DroidSans</string> + <key>Size</key> + <real>11</real> + </dict> + <key>Head</key> + <dict> + <key>ID</key> + <integer>230</integer> + <key>Info</key> + <integer>4</integer> + </dict> + <key>ID</key> + <integer>206</integer> + <key>OrthogonalBarAutomatic</key> + <false/> + <key>OrthogonalBarPosition</key> + <real>4.1290435791015625</real> + <key>Points</key> + <array> + <string>{71.6501, 212.785}</string> + <string>{160.191, 161.624}</string> + <string>{214.615, 212.785}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.7</string> + <key>b</key> + <string>0</string> + <key>g</key> + <string>0</string> + <key>r</key> + <string>0</string> + </dict> + <key>CornerRadius</key> + <real>4</real> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>LineType</key> + <integer>2</integer> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>229</integer> + <key>Info</key> + <integer>2</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{48.4197, 241.159}, {69.6911, 14.0908}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>239</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.874135</string> + <key>r</key> + <string>0.71718</string> + </dict> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.662438</string> + <key>r</key> + <string>0.464468</string> + </dict> + </dict> + </dict> + </dict> + <dict> + <key>AllowConnections</key> + <string>NO</string> + <key>Bounds</key> + <string>{{131.767, 253.185}, {122.888, 80.6596}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>238</integer> + <key>Rotation</key> + <real>359.89700317382812</real> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.727869</string> + <key>g</key> + <string>0.728019</string> + <key>r</key> + <string>0.72793</string> + </dict> + <key>CornerRadius</key> + <real>4</real> + </dict> + </dict> + </dict> + <dict> + <key>AllowConnections</key> + <string>NO</string> + <key>Bounds</key> + <string>{{131.723, 217.483}, {122.898, 31.7043}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>237</integer> + <key>Rotation</key> + <real>359.89700317382812</real> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.727869</string> + <key>g</key> + <string>0.728019</string> + <key>r</key> + <string>0.72793</string> + </dict> + <key>CornerRadius</key> + <real>4</real> + </dict> + </dict> + </dict> + <dict> + <key>AllowConnections</key> + <string>NO</string> + <key>AllowLabelDrop</key> + <false/> + <key>AllowToConnect</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>ID</key> + <integer>236</integer> + <key>Points</key> + <array> + <string>{118.111, 325.705}</string> + <string>{48.4197, 325.705}</string> + </array> + <key>Rotation</key> + <real>358.4884033203125</real> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.223529</string> + <key>g</key> + <string>0.776471</string> + <key>r</key> + <string>0.643137</string> + </dict> + <key>HeadArrow</key> + <string>0</string> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + </dict> + <dict> + <key>AllowConnections</key> + <string>NO</string> + <key>AllowLabelDrop</key> + <false/> + <key>AllowToConnect</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>ID</key> + <integer>235</integer> + <key>Points</key> + <array> + <string>{118.111, 311.614}</string> + <string>{48.4197, 311.614}</string> + </array> + <key>Rotation</key> + <real>358.4884033203125</real> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.223529</string> + <key>g</key> + <string>0.776471</string> + <key>r</key> + <string>0.643137</string> + </dict> + <key>HeadArrow</key> + <string>0</string> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + </dict> + <dict> + <key>AllowConnections</key> + <string>NO</string> + <key>AllowLabelDrop</key> + <false/> + <key>AllowToConnect</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>ID</key> + <integer>234</integer> + <key>Points</key> + <array> + <string>{118.111, 297.523}</string> + <string>{48.4197, 297.523}</string> + </array> + <key>Rotation</key> + <real>358.4884033203125</real> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.223529</string> + <key>g</key> + <string>0.776471</string> + <key>r</key> + <string>0.643137</string> + </dict> + <key>HeadArrow</key> + <string>0</string> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + </dict> + <dict> + <key>AllowConnections</key> + <string>NO</string> + <key>AllowLabelDrop</key> + <false/> + <key>AllowToConnect</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>ID</key> + <integer>233</integer> + <key>Points</key> + <array> + <string>{118.111, 283.432}</string> + <string>{48.4197, 283.432}</string> + </array> + <key>Rotation</key> + <real>358.4884033203125</real> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.223529</string> + <key>g</key> + <string>0.776471</string> + <key>r</key> + <string>0.643137</string> + </dict> + <key>HeadArrow</key> + <string>0</string> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + </dict> + <dict> + <key>AllowConnections</key> + <string>NO</string> + <key>AllowLabelDrop</key> + <false/> + <key>AllowToConnect</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>ID</key> + <integer>232</integer> + <key>Points</key> + <array> + <string>{118.111, 269.341}</string> + <string>{48.4197, 269.341}</string> + </array> + <key>Rotation</key> + <real>358.4884033203125</real> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.223529</string> + <key>g</key> + <string>0.776471</string> + <key>r</key> + <string>0.643137</string> + </dict> + <key>HeadArrow</key> + <string>0</string> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + </dict> + <dict> + <key>AllowConnections</key> + <string>NO</string> + <key>AllowLabelDrop</key> + <false/> + <key>AllowToConnect</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>ID</key> + <integer>231</integer> + <key>Points</key> + <array> + <string>{118.111, 227.364}</string> + <string>{48.4197, 227.364}</string> + </array> + <key>Rotation</key> + <real>358.4884033203125</real> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.223529</string> + <key>g</key> + <string>0.776471</string> + <key>r</key> + <string>0.643137</string> + </dict> + <key>HeadArrow</key> + <string>0</string> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{127.406, 212.785}, {130.814, 125.056}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>230</integer> + <key>Magnets</key> + <array> + <string>{-0.7396, -1.1094}</string> + <string>{-0.421637, -1.26491}</string> + <string>{0, -1.33333}</string> + <string>{0.421637, -1.26491}</string> + <string>{0.7396, -1.1094}</string> + <string>{1.1094, -0.7396}</string> + <string>{1.26491, -0.421637}</string> + <string>{1.33333, 0}</string> + <string>{1.26491, 0.421637}</string> + <string>{1.1094, 0.7396}</string> + <string>{0.7396, 1.1094}</string> + <string>{0.421637, 1.26491}</string> + <string>{0, 1.33333}</string> + <string>{-0.421637, 1.26491}</string> + <string>{-0.7396, 1.1094}</string> + <string>{-1.1094, 0.7396}</string> + <string>{-1.26491, 0.421636}</string> + <string>{-1.33333, -6.35783e-07}</string> + <string>{-1.26491, -0.421638}</string> + <string>{-1.1094, -0.7396}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.874135</string> + <key>r</key> + <string>0.71718</string> + </dict> + </dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.662438</string> + <key>r</key> + <string>0.464468</string> + </dict> + <key>CornerRadius</key> + <real>3</real> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{48.4197, 212.785}, {69.6911, 125.056}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>229</integer> + <key>Magnets</key> + <array> + <string>{-0.7396, -1.1094}</string> + <string>{-0.421636, -1.26491}</string> + <string>{1.27157e-06, -1.33333}</string> + <string>{0.421638, -1.26491}</string> + <string>{0.739601, -1.1094}</string> + <string>{1.1094, -0.7396}</string> + <string>{1.26491, -0.421636}</string> + <string>{1.33333, 0}</string> + <string>{1.26491, 0.421637}</string> + <string>{1.1094, 0.7396}</string> + <string>{0.7396, 1.1094}</string> + <string>{0.421638, 1.26491}</string> + <string>{1.27157e-06, 1.33333}</string> + <string>{-0.421636, 1.26491}</string> + <string>{-0.739599, 1.1094}</string> + <string>{-1.1094, 0.739601}</string> + <string>{-1.26491, 0.421638}</string> + <string>{-1.33333, -6.35783e-07}</string> + <string>{-1.26491, -0.421638}</string> + <string>{-1.1094, -0.7396}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.921919</string> + <key>g</key> + <string>1</string> + <key>r</key> + <string>0.936969</string> + </dict> + </dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.223529</string> + <key>g</key> + <string>0.776471</string> + <key>r</key> + <string>0.643137</string> + </dict> + <key>CornerRadius</key> + <real>3</real> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{40.3187, 205.072}, {226.178, 141.361}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Copperplate-Bold</string> + <key>Size</key> + <real>33</real> + </dict> + <key>ID</key> + <integer>228</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.938075</string> + <key>g</key> + <string>0.938269</string> + <key>r</key> + <string>0.938154</string> + </dict> + </dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.712329</string> + <key>g</key> + <string>0.70317</string> + <key>r</key> + <string>0.691643</string> + </dict> + <key>CornerRadius</key> + <real>1</real> + <key>Width</key> + <real>2</real> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{24.8797, 189.905}, {258.196, 172.701}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>227</integer> + <key>ImageID</key> + <integer>4</integer> + <key>Magnets</key> + <array> + <string>{-0.7396, -1.1094}</string> + <string>{-0.421637, -1.26491}</string> + <string>{-3.17891e-07, -1.33333}</string> + <string>{0.421637, -1.26491}</string> + <string>{0.7396, -1.1094}</string> + <string>{1.1094, -0.7396}</string> + <string>{1.26491, -0.421637}</string> + <string>{1.33333, 0}</string> + <string>{1.26491, 0.421637}</string> + <string>{1.1094, 0.7396}</string> + <string>{0.7396, 1.1094}</string> + <string>{0.421637, 1.26491}</string> + <string>{-3.17892e-07, 1.33333}</string> + <string>{-0.421638, 1.26491}</string> + <string>{-0.7396, 1.1094}</string> + <string>{-1.1094, 0.7396}</string> + <string>{-1.26491, 0.421637}</string> + <string>{-1.33333, -6.35783e-07}</string> + <string>{-1.26491, -0.421637}</string> + <string>{-1.1094, -0.7396}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>AllowConnections</key> + <string>NO</string> + <key>Bounds</key> + <string>{{473.523, 244.187}, {54.0405, 64.7821}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>226</integer> + <key>Rotation</key> + <real>359.85791015625</real> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.727869</string> + <key>g</key> + <string>0.728019</string> + <key>r</key> + <string>0.72793</string> + </dict> + <key>CornerRadius</key> + <real>3</real> + </dict> + </dict> + </dict> + <dict> + <key>AllowConnections</key> + <string>NO</string> + <key>Bounds</key> + <string>{{473.435, 219.657}, {54.2123, 20.3811}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>225</integer> + <key>Rotation</key> + <real>359.82769775390625</real> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.727869</string> + <key>g</key> + <string>0.728019</string> + <key>r</key> + <string>0.72793</string> + </dict> + <key>CornerRadius</key> + <real>3</real> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{470.354, 215.4}, {60.48, 97.92}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>224</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Rotation</key> + <real>359.88986206054688</real> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.874135</string> + <key>r</key> + <string>0.71718</string> + </dict> + </dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.727869</string> + <key>g</key> + <string>0.728019</string> + <key>r</key> + <string>0.72793</string> + </dict> + <key>CornerRadius</key> + <real>2</real> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{460.845, 198.425}, {79.9634, 145.72}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>222</integer> + <key>ImageID</key> + <integer>3</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{339.608, 238.883}, {59.4713, 10.3718}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>220</integer> + <key>Rotation</key> + <real>359.91473388671875</real> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.874135</string> + <key>r</key> + <string>0.71718</string> + </dict> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>1</string> + <key>g</key> + <string>0.662438</string> + <key>r</key> + <string>0.464468</string> + </dict> + </dict> + </dict> + </dict> + <dict> + <key>AllowConnections</key> + <string>NO</string> + <key>AllowLabelDrop</key> + <false/> + <key>AllowToConnect</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>ID</key> + <integer>219</integer> + <key>Points</key> + <array> + <string>{399.607, 301.157}</string> + <string>{340.135, 301.157}</string> + </array> + <key>Rotation</key> + <real>358.4884033203125</real> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.223529</string> + <key>g</key> + <string>0.776471</string> + <key>r</key> + <string>0.643137</string> + </dict> + <key>HeadArrow</key> + <string>0</string> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + </dict> + <dict> + <key>AllowConnections</key> + <string>NO</string> + <key>AllowLabelDrop</key> + <false/> + <key>AllowToConnect</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>ID</key> + <integer>218</integer> + <key>Points</key> + <array> + <string>{399.607, 290.785}</string> + <string>{340.115, 290.785}</string> + </array> + <key>Rotation</key> + <real>358.4884033203125</real> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.223529</string> + <key>g</key> + <string>0.776471</string> + <key>r</key> + <string>0.643137</string> + </dict> + <key>HeadArrow</key> + <string>0</string> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + </dict> + <dict> + <key>AllowConnections</key> + <string>NO</string> + <key>AllowLabelDrop</key> + <false/> + <key>AllowToConnect</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>ID</key> + <integer>217</integer> + <key>Points</key> + <array> + <string>{399.707, 280.413}</string> + <string>{340.095, 280.413}</string> + </array> + <key>Rotation</key> + <real>358.4884033203125</real> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.223529</string> + <key>g</key> + <string>0.776471</string> + <key>r</key> + <string>0.643137</string> + </dict> + <key>HeadArrow</key> + <string>0</string> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + </dict> + <dict> + <key>AllowConnections</key> + <string>NO</string> + <key>AllowLabelDrop</key> + <false/> + <key>AllowToConnect</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>ID</key> + <integer>216</integer> + <key>Points</key> + <array> + <string>{399.607, 270.041}</string> + <string>{340.075, 270.041}</string> + </array> + <key>Rotation</key> + <real>358.4884033203125</real> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.223529</string> + <key>g</key> + <string>0.776471</string> + <key>r</key> + <string>0.643137</string> + </dict> + <key>HeadArrow</key> + <string>0</string> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + </dict> + <dict> + <key>AllowConnections</key> + <string>NO</string> + <key>AllowLabelDrop</key> + <false/> + <key>AllowToConnect</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>ID</key> + <integer>215</integer> + <key>Points</key> + <array> + <string>{399.607, 259.669}</string> + <string>{340.055, 259.669}</string> + </array> + <key>Rotation</key> + <real>358.4884033203125</real> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.223529</string> + <key>g</key> + <string>0.776471</string> + <key>r</key> + <string>0.643137</string> + </dict> + <key>HeadArrow</key> + <string>0</string> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + </dict> + <dict> + <key>AllowConnections</key> + <string>NO</string> + <key>AllowLabelDrop</key> + <false/> + <key>AllowToConnect</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>ID</key> + <integer>214</integer> + <key>Points</key> + <array> + <string>{399.607, 228.411}</string> + <string>{339.995, 228.411}</string> + </array> + <key>Rotation</key> + <real>358.4884033203125</real> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.223529</string> + <key>g</key> + <string>0.776471</string> + <key>r</key> + <string>0.643137</string> + </dict> + <key>HeadArrow</key> + <string>0</string> + <key>TailArrow</key> + <string>0</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{339.032, 215.343}, {60.48, 97.92}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>213</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Rotation</key> + <real>359.8895263671875</real> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.921919</string> + <key>g</key> + <string>1</string> + <key>r</key> + <string>0.936969</string> + </dict> + </dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.727869</string> + <key>g</key> + <string>0.728019</string> + <key>r</key> + <string>0.72793</string> + </dict> + <key>CornerRadius</key> + <real>2</real> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{72.7507, 362.169}, {161, 38}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.65</string> + <key>w</key> + <string>0</string> + </dict> + <key>Font</key> + <string>DroidSans</string> + <key>Size</key> + <real>10</real> + </dict> + <key>ID</key> + <integer>210</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>RTFD</key> + <data> + BAtzdHJlYW10eXBlZIHoA4QBQISEhBJOU0F0dHJpYnV0 + ZWRTdHJpbmcAhIQITlNPYmplY3QAhZKEhIQITlNTdHJp + bmcBlIQBKy1BY3Rpdml0eSBBIGNvbnRhaW5zCkZyYWdt + ZW50IEEgYW5kIEZyYWdtZW50IEKGhAJpSQEtkoSEhAxO + U0RpY3Rpb25hcnkAlIQBaQOShJaWEE5TUGFyYWdyYXBo + U3R5bGWGkoSEhBBOU1BhcmFncmFwaFN0eWxlAJSEBEND + QFMCAISEhAdOU0FycmF5AJSZDJKEhIQJTlNUZXh0VGFi + AJSEAkNmAByGkoSfngA4hpKEn54AVIaShJ+eAHCGkoSf + ngCBjACGkoSfngCBqACGkoSfngCBxACGkoSfngCB4ACG + koSfngCB/ACGkoSfngCBGAGGkoSfngCBNAGGkoSfngCB + UAGGhgCGkoSWlgdOU0NvbG9yhpKEhIQHTlNDb2xvcgCU + hAFjA4QCZmYAg2ZmJj+GkoSWlgZOU0ZvbnSGkoSEhAZO + U0ZvbnQelJkchAVbMjhjXQYAAAAUAAAA//5IAGUAbAB2 + AGUAdABpAGMAYQCEAWYMoACgAaAAoACGhoY= + </data> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue0;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf2 Activity A contains\ +Fragment A and Fragment B}</string> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{446.159, 362.169}, {108, 38}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.65</string> + <key>w</key> + <string>0</string> + </dict> + <key>Font</key> + <string>DroidSans</string> + <key>Size</key> + <real>10</real> + </dict> + <key>ID</key> + <integer>209</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>RTFD</key> + <data> + BAtzdHJlYW10eXBlZIHoA4QBQISEhBJOU0F0dHJpYnV0 + ZWRTdHJpbmcAhIQITlNPYmplY3QAhZKEhIQITlNTdHJp + bmcBlIQBKx5BY3Rpdml0eSBCIGNvbnRhaW5zCkZyYWdt + ZW50IEKGhAJpSQEekoSEhAxOU0RpY3Rpb25hcnkAlIQB + aQOShJaWEE5TUGFyYWdyYXBoU3R5bGWGkoSEhBBOU1Bh + cmFncmFwaFN0eWxlAJSEBENDQFMCAISEhAdOU0FycmF5 + AJSZDJKEhIQJTlNUZXh0VGFiAJSEAkNmAByGkoSfngA4 + hpKEn54AVIaShJ+eAHCGkoSfngCBjACGkoSfngCBqACG + koSfngCBxACGkoSfngCB4ACGkoSfngCB/ACGkoSfngCB + GAGGkoSfngCBNAGGkoSfngCBUAGGhgCGkoSWlgdOU0Nv + bG9yhpKEhIQHTlNDb2xvcgCUhAFjA4QCZmYAg2ZmJj+G + koSWlgZOU0ZvbnSGkoSEhAZOU0ZvbnQelJkchAVbMjhj + XQYAAAAUAAAA//5IAGUAbAB2AGUAdABpAGMAYQCEAWYM + oACgAaAAoACGhoY= + </data> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue0;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf2 Activity B contains\ +Fragment B}</string> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{316.401, 362.169}, {107, 38}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.65</string> + <key>w</key> + <string>0</string> + </dict> + <key>Font</key> + <string>DroidSans</string> + <key>Size</key> + <real>10</real> + </dict> + <key>ID</key> + <integer>208</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>RTFD</key> + <data> + BAtzdHJlYW10eXBlZIHoA4QBQISEhBJOU0F0dHJpYnV0 + ZWRTdHJpbmcAhIQITlNPYmplY3QAhZKEhIQITlNTdHJp + bmcBlIQBKx5BY3Rpdml0eSBBIGNvbnRhaW5zCkZyYWdt + ZW50IEGGhAJpSQEekoSEhAxOU0RpY3Rpb25hcnkAlIQB + aQOShJaWEE5TUGFyYWdyYXBoU3R5bGWGkoSEhBBOU1Bh + cmFncmFwaFN0eWxlAJSEBENDQFMCAISEhAdOU0FycmF5 + AJSZDJKEhIQJTlNUZXh0VGFiAJSEAkNmAByGkoSfngA4 + hpKEn54AVIaShJ+eAHCGkoSfngCBjACGkoSfngCBqACG + koSfngCBxACGkoSfngCB4ACGkoSfngCB/ACGkoSfngCB + GAGGkoSfngCBNAGGkoSfngCBUAGGhgCGkoSWlgdOU0Nv + bG9yhpKEhIQHTlNDb2xvcgCUhAFjA4QCZmYAg2ZmJj+G + koSWlgZOU0ZvbnSGkoSEhAZOU0ZvbnQelJkchAVbMjhj + XQYAAAAUAAAA//5IAGUAbAB2AGUAdABpAGMAYQCEAWYM + oACgAaAAoACGhoY= + </data> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue0;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf2 Activity A contains\ +Fragment A}</string> + </dict> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{394.67, 99.0729}, {80.1852, 42.5806}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.5</string> + <key>b</key> + <string>0</string> + <key>g</key> + <string>0</string> + <key>r</key> + <string>0</string> + </dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>100</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>RTFD</key> + <data> + BAtzdHJlYW10eXBlZIHoA4QBQISEhBJOU0F0dHJpYnV0 + ZWRTdHJpbmcAhIQITlNPYmplY3QAhZKEhIQITlNTdHJp + bmcBlIQBKwdIYW5kc2V0hoQCaUkBB5KEhIQMTlNEaWN0 + aW9uYXJ5AJSEAWkDkoSWlgdOU0NvbG9yhpKEhIQHTlND + b2xvcgCUhAFjAYQEZmZmZgAAAIMAAAA/hpKElpYGTlNG + b250hpKEhIQGTlNGb250HpSZHIQFWzI4Y10GAAAAFAAA + AP/+SABlAGwAdgBlAHQAaQBjAGEAhAFmDJsAmwGbAJsA + hpKElpYQTlNQYXJhZ3JhcGhTdHlsZYaShISEEE5TUGFy + YWdyYXBoU3R5bGUAlIQEQ0NAUwIAhISEB05TQXJyYXkA + lJkMkoSEhAlOU1RleHRUYWIAlIQCQ2YAHIaShKWkADiG + koSlpABUhpKEpaQAcIaShKWkAIGMAIaShKWkAIGoAIaS + hKWkAIHEAIaShKWkAIHgAIaShKWkAIH8AIaShKWkAIEY + AYaShKWkAIE0AYaShKWkAIFQAYaGAIaGhg== + </data> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue0;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf2 Handset}</string> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{110.788, 99.0729}, {80.1852, 42.5806}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.5</string> + <key>b</key> + <string>0</string> + <key>g</key> + <string>0</string> + <key>r</key> + <string>0</string> + </dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>205</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>RTFD</key> + <data> + BAtzdHJlYW10eXBlZIHoA4QBQISEhBJOU0F0dHJpYnV0 + ZWRTdHJpbmcAhIQITlNPYmplY3QAhZKEhIQITlNTdHJp + bmcBlIQBKwZUYWJsZXSGhAJpSQEGkoSEhAxOU0RpY3Rp + b25hcnkAlIQBaQOShJaWB05TQ29sb3KGkoSEhAdOU0Nv + bG9yAJSEAWMBhARmZmZmAAAAgwAAAD+GkoSWlgZOU0Zv + bnSGkoSEhAZOU0ZvbnQelJkchAVbMjhjXQYAAAAUAAAA + //5IAGUAbAB2AGUAdABpAGMAYQCEAWYMmwCbAZsAmwCG + koSWlhBOU1BhcmFncmFwaFN0eWxlhpKEhIQQTlNQYXJh + Z3JhcGhTdHlsZQCUhARDQ0BTAgCEhIQHTlNBcnJheQCU + mQyShISECU5TVGV4dFRhYgCUhAJDZgAchpKEpaQAOIaS + hKWkAFSGkoSlpABwhpKEpaQAgYwAhpKEpaQAgagAhpKE + paQAgcQAhpKEpaQAgeAAhpKEpaQAgfwAhpKEpaQAgRgB + hpKEpaQAgTQBhpKEpaQAgVABhoYAhoaG + </data> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue0;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf2 Tablet}</string> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{14.3137, 109.726}, {279.329, 302.075}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.65</string> + <key>w</key> + <string>0</string> + </dict> + <key>Font</key> + <string>DroidSans</string> + <key>Size</key> + <real>10</real> + </dict> + <key>ID</key> + <integer>204</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.578326</string> + <key>g</key> + <string>0.578615</string> + <key>r</key> + <string>0.578453</string> + </dict> + <key>CornerRadius</key> + <real>15</real> + <key>Pattern</key> + <integer>1</integer> + </dict> + </dict> + <key>Text</key> + <dict> + <key>VerticalPad</key> + <integer>10</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + <dict> + <key>Bounds</key> + <string>{{329.628, 198.425}, {79.9634, 145.72}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>221</integer> + <key>ImageID</key> + <integer>3</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{311.222, 109.726}, {250, 302.074}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.65</string> + <key>w</key> + <string>0</string> + </dict> + <key>Font</key> + <string>DroidSans</string> + <key>Size</key> + <real>10</real> + </dict> + <key>ID</key> + <integer>203</integer> + <key>Magnets</key> + <array> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.578326</string> + <key>g</key> + <string>0.578615</string> + <key>r</key> + <string>0.578453</string> + </dict> + <key>CornerRadius</key> + <real>15</real> + <key>Pattern</key> + <integer>1</integer> + </dict> + </dict> + <key>Text</key> + <dict> + <key>VerticalPad</key> + <integer>10</integer> + </dict> + <key>TextPlacement</key> + <integer>0</integer> + </dict> + </array> + <key>GridInfo</key> + <dict/> + <key>GuidesLocked</key> + <string>NO</string> + <key>GuidesVisible</key> + <string>YES</string> + <key>HPages</key> + <integer>1</integer> + <key>HorizontalGuides</key> + <array> + <real>109.44444274902344</real> + </array> + <key>ImageCounter</key> + <integer>5</integer> + <key>Images</key> + <array> + <dict> + <key>Extension</key> + <string>png</string> + <key>ID</key> + <integer>4</integer> + <key>RawData</key> + <data> + iVBORw0KGgoAAAANSUhEUgAAAvMAAAH5CAMAAAA7qEEeAAAAGXRF + WHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAwBQTFRF + OTk5dnZ3wMLDU1JS3+DhVFRUn6Gk5eXmXl5eDg4O6erquLm74eLi + xMXH09TVent72NnaODg4YWFhg4SFxMbHZmZmqKmrd3h50NHSaWlp + 3d3e1dbW9vb2bW1uzM3OIiIimJqc9PT0hIWG8PDx/v7+uLq7l5mb + yMnKqqyuYmJitri5tLa4xcbHvr/BTExMxsjJzs/Qu72+w8TFuru9 + ycrLtLW3vb6/z9DRwcLDd3d45OTl19jZ5ubnsLGzeXp6m52gMzMz + 2tvcRERF5ebmeHl6wMHC3t/g5ufoU1NT2trb4+Tk4uPj1tfX5+jo + 0dLTy8zNoaOlmZyePT09pKWnsrS1oKKkn6GjfH19nqCiVFRT+vr6 + o6Wn+fn5QUJCpqiqnZ+hm52f8/Pz+/v7sbO0oKKlr7Gz8vLzqKqs + V1dXRUZG/Pz8oqSmra+xp6mr7+/vsLK07Ozs7e3ts7W3pKaohYaH + eXl5RUVGnJ6gXV1dVlZWpqireHl5V1ZWeHh5/f39p6iqVVVVqKqt + Ozs7nJ6hWVhYnJ+hpaepnZ+ip6irp6mqWFdXmpyerK6w7O3trK6x + 7+/w+Pj4nqGjqautsbO18vLys7S2s7W26+zs7e7u7/Dw+Pn5q62v + 7OztnaCi7u7vsrO18fHxsrS2r7Cy/P39sbK0+Pj59fX1+vv7rrCx + ra6wpaeopKaprrCyoKOl6uvr9/f3+fr6+/v88/P08/T0nJ+gqaus + 7u/v8vPzrq+xoqOmmp2f7e3uoaOmVlVW+vr7qqutnp+i9/j4oKOk + /Pz9+fj5oaKl+/r7rK2wra6xpKWompyf7u7u/v79paaooaSloqSl + kJGTo6anoqWno6Smo6Wm9/j3Pz8/gYKDoaOkn6Kk/v39oKKj/v3+ + r7Gy+fn6ra+wnJ2g8/TznqChnqCj/fz8/fz9n6Ci+/r6+/z7V1ZX + +/z8mZudVFNUqKmsV1dWrbCxqKusqaqsrK+w3uDfpqeppqeqXl1d + 8/Lzp6qsWlpaW1tbWVlZWFhYAAAA////XFxciKC+sAAAICNJREFU + eNrsnXlcFGeaxzFBUVTWSYYoh4gjIoLYoERNnIxhFW2NR2UzVdML + DNVqGDugcTesqfRkwN5BMIk6xjuJOcxlbp0zc2buGefYY/aa3ex9 + z+4ye18D3VM9bzXiAd1No10Pz/v27/cHFtgPH32fX1d/q35V9WTZ + EJRZysISQPA8BMHzEJSpnt/WDEH8tM0Nz3/1y4Wz3ltdW7Udgvip + qrbaM2vtD9vS5vmucxsbKpommX6rxwdBHNXT7Tf19oMrVr6dBs+X + HZ518h7LNHRdgyDO0nXDsv6nKm/r9Xm+bENDk2XG7P6Wz7T8FvYo + EEMJZ4rdsmNT4xmrZcW66/D8+5calh77RabZ/ub8FZ6SPAhip6It + nhumHvyiZZqTnP29pVXnXqPn5zXopvMrfP7Xq+qmzftGGU5yQWz1 + p8Vnsj3HmvzO7l7v1hbNvQbPfyrvdWcfr/foVUVPYEkhGdR1bvMH + Y2gyyf+5lWVj9fy8paYR+5i4YR3275BEtr9rmeEcgRpmQ/HYPD/t + Py2BNfvvveHU0E/OPzGtqGZRwwoI4qYGz/KNdz35+NCJl9xawyfc + ax1cNxbP5+miSDefe//F3/J2Xu3RH/h9ensTBPGT8OqBv66oLpp3 + 0a/ZrQ7gmH9Yn7Lny+qeeVdUtNe8Evu2eOMJ34GmSs/6nENntzVC + EDf9ZO6h21d6KrU+o7L+2zHPNnucXb1hzErR82ULusWbpPtgTuy7 + T2/ZVb6rYdrZLqAixJvktxZWd5R/bfkgxmfv2C9Q5es1KXm+zON8 + LlhLYyd7Gjd3lP77yvNY0DSr8ens/85+og0LkWbNzTtdesvG2Lp+ + /kSPcxKmJhXPb17lWH5J7FK13GPlf7V+G5YyzXqypEK3rM/+2ReW + fwSLkWY1F+0orXw2dtal1hKmP7JydM8XGpO0t6zpDsp0zfK9W9OM + ZUz3Z/Dm10vNiqqqE0dXle5aifVIt87XmV/c6Jxg/8tlpmD69pzR + PJ/7uiFYfpFT8lRD+R25WMJ065MNfmtqtgOdcwur/JYHB0ppV87R + 0ve+6BDksm5N8/3sTHLPN24Xbw1/rdOH4ufLVwDk068lfXrRUMxX + VvNM3xYsSfqxfmn5Uud0fXNVj3No2pXU8wsEAvnuiO2Ejh2oQQKb + fs1YpV951jjP3D8Ni5J2bfOUTnWofF6FT9N6Nifz/CZN14yOc85e + fndfHpYu/So+2Hf1mYRFfc/h9I0LqiuPmT6nXTi691Riz3dVmpq+ + 3zmsaqstn4V1c0H1B3ZefVZg7i0mdvRuaEH5dOePGkEu3csSe36l + gHmr1iGautJFWDU31FA6/ITx9PIFWBYX9PfV5Q7TNFYJU/umJfL8 + +YM+QTbPiq21Byo/hVVzQ/816fZhP5lWOr8L6+KCHn/VXC3+WCd4 + 3TzRlsDzReJjwHJOIxR/7vvPYs3c0NmW3uFnznKNnU9hYdzQJuOl + RueDtFvTfWvje/5bx8RuvsI5Z+MpRVTijj7T0vKZYT96WrvwOBbG + FdXEDkrvbzE0c35ZXM9n/52uWQ4C5foq8Wnrjroq2ofHfKv7KnHi + xh01tjY96ezCLYE36+J6vqFHM3YdFxu13euwXi6p8u6iYT8pKV+C + ZXFJa2OnYk79jtiZe+J5fmuLYH1n+XPNWqyWW8orHbZXf6XVvx7L + 4pLaTn7TOXyqtTTjdHEcz690LrJ3dvCeL2E375rm9VqFV/2gyDqN + KzxcU+HdzqnhekPTzA1xPN9gab47xNHU3N4HwJfuaUHp6eNXfJv7 + 23dvxqK4R/QVn/gX2z5/i0AYz0jPFx80BqGnvq8Ia+WeHn+u7y+e + vvTdutOl87GHcVE1B+4SX28wtWeO/fkIz5/zabqeLTaq9eNYKjfp + 5oXS3uWDOPPpLU2lVXOxJC5qk1knvq4XQL/38AjPr+/R9A6x/k9V + PNCFpXJTx6f2HdjVMKt+1rKOPn/1WSyIm+o6+OqLgiB/T9evuP5g + yPMeUzvyvPiY3fTZEqyUu3plxnaj3JH2QCEu13ZZDfoZ225+zaf5 + N4/w/FRTM50L0db34TI/1/WtTUULVtRtzAXKu6713dlXuPsqz3e1 + XnwnLNCexUJByujcgeWDFOO7fPnBRc+fPS0879zAU/u5b2ChIHWO + nnRn/77Z1Iw324Z5/u1dhq7fJfb3L7Um+w3FhQuWTIcgPlpSc1ey + a/TOVywVXwtNTW9pHOb5J4XntRzb/ocXdif5Be//gs/yQxAnme9e + uD2xZZtfm5/I8+va9Xc7cm27saM6cf3W/7DuxdwiiJvM3h8m9GxZ + 5QvC6znC8x2Hh3k+5zu6sUv8sLF9RWLP16zStI4WCOKkDk07kOT8 + +vzXmm3714Tnmw4N97wmPH//KJ5fampNP/rj34jpfTfffPPlrfcN + bsbbuvqFmVNyc5pKsLTJS973o3bNNzVxzjF/55Dnf/1aPP+8qbVM + uDHg6GM/9d4Yim0FJnpvnPixYVvveL3eYGwr+FOv952kJT9NU0ko + cUkofsnFF/5zvJJ34pRc8bsTlHjTXjJxjCW/mqAkeKnkHddLgt4E + DUxSMmrPE5VM7HxDM1rb3PL8A8LztwWjQgPhSKQ/GpPYCg9u9Yut + gaGtyODWQGTohSxKBhKUhOOURBKXROUvkbSBI0vCv9ShGbtd9fye + wMV/zuV/WP/lf1h06J8zwmPkJf3XVBKOUzL0QrYlYTdKxr2BKZZQ + eT7RezEaZwcU7/+S/pJ+BiWRNJREI0l7fo0lA+kuCY9PSTyb7HuY + wvMAGxXBJiwj2Iit0EwKzwNslGchWcBGvJDE8wAbgA0XsBEvDLnO + Nns7J6pywA+wkR9sxAsDrh/DPjLBC7AB2DDqufvnbT46wQuwAdhw + ARtRQuH5EMAGYMOo5wTn5zsDABuADSMWosxhATaZBzb93MCGNocF + 2KhTIi/YODnsGhLPZw7YDABsWIONUJAqhwXYAGw4gA1hDguwAdhw + KQkRXGMWAtgAbBilVzQ5LMAmjWAzALAZq02uLiHJYQE2ABtGJYQ5 + LMAGYMPishyC8/O3BQA2zMEmmjlgQ5nDKgY2YYCNnGBD6HlmYBMG + 2GQo2Dgbe0g8P75gMwCwAdhcLgmQ5LAAG4ANnxKKHPYxgA3AhlHP + Q50kOSzABmDDA2xESfADrt8DfpsXYKMk2Mj6TL8IYQ4LsAHYcOg5 + RQ47MbPBJgywYQQ2YZocNqjKAT/ARomHFRN4/uGAgmATBtjICTa0 + OawMO7z+xCX96S5J9OkbGfeSRMQ1kO6S8el5+ANUOSzABmDDo4Qm + hwXYAGz49JwqhwXYAGy49JzC80GADcZLMSoJuc7zj870AmyUBBtZ + H1ZMksMCbAA2jHpOcg84wAZgw6iELoeVDmwwN1NFsCHOYQE2ABsO + PafKYQE2ABsuJUQ5LMAGYMOm5xGqHBZgA7Bh0nOS5xIDbAA2jEpI + PA+wkRVsosqBzQBVDguwAdjw6TlNDqse2GBuprxjNAhzWIANwIZF + zwnOz08IAmwANow+schmIgNsADZMSihnIgNsADYcek7keYANwIbN + JxZRDguwURBsZH1YcYhqJjLAJvMuy2Hac6ocFmADsOHyIef+TOS9 + nRNVOeAH2CgxhYFmJjLABmDDp+ckOSzABmDD6EOOcCYywAZgw6KE + LIcF2ABsmLAQZQ4LsMk8sOln+CFH5XmADeZmcinZt4bE85kDNrhD + nP3DioNUOSzAhg3YRDIZbKhyWIANwIZRifs5bGwmMsAGYMMmvaLJ + YQE2ABs+n1hhwpnIABuADYcSwhwWYAOwYXFZDsWzuAMAG+Zgk1mX + 5ZDlsIqBDeZmSgo2UdKZyJzAJgywyVCwcTb2UOWwPPde/VQsBLBh + c70xTQ4LsAHY8CmhmokMsAHYcOl5qJMkhwXYAGzY3EgVdP1Z3Htv + 8wJslAQbWZ/pFyHMYQE2ABsOPafIYSdmNtjgRipOYBOOEs5EVuCA + H2CjxMOKKWciqwQ2mJspKdjQ5rAy7PAANqqDTZRsJjLABmDDpiRA + NRMZYAOwYdJzqhwWYAOw4dJzCs8H42FBovfiQGKS4FAypv3K9ZRE + kpekTFyulYx9Lz/OJZd6HiSZiQywURFsZH1YMc1MZIANwIZPz0ly + WIBNeksANtfVc7ocVjqwwdxMFcGGOIcF2ABsOPScKocF2ABsWIAN + XQ4LsAHYsOl5hCqHBdgAbJj0nOS5xAAbgA0XsBElVDORATZSgk1U + ObBxZiKT5LAAG4ANn56T5rAKgc0AwEZOsCHKYb0AG4ANo54TnJ+f + EATYAGwY3SFDNhMZYAOw4QA2UdqZyAAbgA2HnhN5HmADsOEBNnQ5 + LMBGQbAJywg2VDkswAZ3iDPqOVUOC7AB2HB5pon7M5H3dk6UE2z6 + ATYKgg3ZTGSADcCGT89JcliADcCG0cPaKHLYEMAGYMMFbPoJc1iA + DcCGCQtR5rAAm8wDm35uYEPoeYCNlGATUQ5shPatoZqJnCFggzvE + 2T+sOEiVwwJs2IBNJJPBhiqHBdgAbLiAjShxP4eNzUQG2ABs2KRX + NDkswAZgw2duEGUOC7AB2Iw72JDksB8dymEBNgAbFpflUDyLOwCw + YQ42mXVZDlkOC7AB2HAAmyjpTGROYBMG2GQo2Dgbe6hyWJ5Tf/up + WAhgw+Z6Y5ocFmADsGECNuKFVDORATYAGy49D3WS5LAAG4ANmxup + 3J+JvPc2L8AGYMMFbMQL91HksAAbgA2jnpPMRM5ssMGNVJzAJkyT + w/4bwOZaSwA2LrAQ5UxklcAGczMlBRvaHJYT2OCynAx+9A3RTGSA + DcCGzUmeANVMZIANwIZJz6lyWIANwIZLzyk8HwTYXBfYYLxUetOr + IMlMZICNimAj68OKSWciA2wANgx6TpLDAmyimJvJ57Icihw2KCfY + YG6mimBDnMMCbAA2HHpOlcNe/fEz1ksXyUpG2UlEx75fGXtJhG1J + 8qXt59DAVEqIcliADcCGTc8jVDkswAZgw6TnJM8lBtgAbBj1nGom + MsBGSrCJKgc2zkxkkhwWYAOw4dNz0hxWIbAZANjICTZEOawXYAOw + YdRzipnIQYANwIbRQHC6HBZgA7Dh0XPKmcgAG4ANh54TeR5gA7Dh + ATZ0OSzARkGwCcsINlQ5LMAGd4gz6jlVDguwAdhwmbzh/kzkvZ0T + 5QSbfoCNgmATpshhnZnIABuADZ+eU85EBtgAbMYdbEhmIg/lsAAb + gA2PEgLPdwYANgAbRixEmcMCbDIPbPq5gQ2h5wE2UoJNRDmwEdq3 + hmomcoaADe4QZ/+w4iBVDguwYQM2kUwGG6ocFmADsGFU4n4OG5uJ + DLAB2LBJrwIkOSzABmDDZ6QYZQ4LsAHYcCih8HwIYAOwYXRZDsWz + uAMAG+Zgk1mX5ZDlsACbjAQbjixEOBOZE9iEATYZCjbOxh6qHJbb + 0btLYDMAsOF+vTFNDguwAdjwOclDNRMZYAOw4dLzUCdJDguwAdiw + uZHK/ZnIe2/zAmwANozSK5IcFmADsGHUc5KZyJkNNriRihPYhClz + WIBNREEWkvFhxZQzkVUCG8zNlBRsaHNYTmCDy3Iy+NE3RDORpbv2 + FGCjKNgIBahmIgNsADZMek6VwwJsADZcek7h+SDABmDDqOdEOSzA + RkGwkfVhxaQzkQE2ABsGPSfMYTMVbDA3k1nPKXLYoJxgg7mZKoLN + AG0OC7AB2HDoOVUOC7AB2HDpOVEOC7AB2LDpeYQqhwXYAGyY9Jzk + ucQAG4ANo55TzUQG2EgJNlHlwMaZiew6zz860wuwAdgw6jlpDqsQ + 2GBupqRgQ5TDekfsIxPsJMKJdxIsSgZkmfrreomkDRwsoZuJDLAB + 2PB409LlsAAbgA2PnlPmsAAbgA2HEsIcFmADsGHxpiXKYQE2CoKN + rOOlyHJYgA3AhkkJVQ4LsAHYcHmfuz8TeW/nRDnBBneIqwg2Yaoc + Vj2wGQDYyAk24oWUM5EBNgAbDu9zuhwWYAOw4VFC4PnOAMAGYMOo + hGwmMsAmI8Gmn+H7nMrzAJsMHy8V5lOybw1VDguwUQ1swjKCDVUO + C7CRYm5mRoCNeCGJ5wE2ABtGJUQ5rBoH/AAb+cFGvDDg+jHsIxO8 + ABuADaP3OWUOC7AB2HAoofB8CGADsGHUc7qZyACbiIwlCl6WQ5bD + AmwyEmw4shBhDguwUadEXrAhy2H5NrCfioUANmyuNw6S5LAAG4AN + n5M8VDkswAZgw6Uk1Om+50MAG4BNlM+NVEQzkQE2ABs26RVJDguw + AdgwKiGciZypYIMbqTiBTZgyhwXYRBRkIRkfVkyawyoENmGATVTW + p01TeV6SngNsVAebKNmzuKW79hRgoyjYCAXIcliADcCGRwlFDvsY + wAZgw6jnFJ4PAmwANox6TpTDAmwUBBtZn+lHOhMZYAOwYdBzwhw2 + U8EGczOZ9Zwihw2qcsAPsFHiYcV0M5EBNgAbHj2nnIkMsAHYcOg5 + XQ4LsAHY8CihyWEBNgAbPj0nm4kMsAHYMOk5UQ4LsFGuRN7xUiHX + ef7RmV6ADcCGUc9Jc1iFwAZzMyUFG6Ic1guwAdgwKqGbiQywAdjw + eNPS5bAAG4ANj55T5rAAG4ANhxKiHHb0z8VRnEVa0p/ukuj1loSv + q2QgTklK60RTMkBcEplJNRMZYKMa2Mg6XooshwXYAGyYlJB4HmAz + jiwEsBle4n4OG5uJLCPY4A5xFcEmTJXDqgc2mJsp7xgNypnIABuA + zbiDDclM5KEcFmADsOFRQuD5zgDABmDDqITsWdwAG4ANB7CJks5E + BtjIBzYR5cBGaN/DVDkswEY1sJH1YcUkmRTAhhXYRDIZbMQLqWYi + A2wANlxKQg+T5LBqHPADbJSYwhBw/Rj2kUs5LMAGYDPuYEOcwwJs + ADYcSig8HwLYAGwY9ZxuJjLAZhxvpGIENuPPQqQzkQE2GQc2HFmI + MIcF2KhTIvXczH1rSDyfOWAzALDhfpInSDYTGWADsOFxkocqhwXY + AGy4lIQIrjELAWwANozSK6KZyAAbgA2b9IokhwXYAGwYlRDORAbY + 4Jl+LC7LocthATYRBVlIxocVk+awCoEN5mZKCjaEnr/eTyxclgOw + SVdJeA/VTGS5rj0F2CgKNlGqmcgAG4ANnxKKHPYxgA3AhgvYiJJQ + J8lMZIANwIZNz4lyWICNgmAj6zP9SJ7FDbAB2DC6Q5wwh81UsMHc + TGY9p8hhg6oc8ANslHhYMd1MZIANwIYB2ERpZyIDbAA2HHpONBMZ + YAOwYVNCk8MCbAA2TMCGciYywAZgw6TnFJ4PAmwwXopRifszkR+d + 6QXYAGyifB5WTDMTWT2wwdxMScFGvJDkHnCADcCGUQldDguwAdgw + ABvSHBZgA7Dh0XPKHBZgA7DhUEKUwwJsADY8wMZZpplUM5EBNqqB + jazjpchyWIANwIZJCYnnATY852aGM3Nupvs5bGwmsoxggzvEVQQb + 8UKaHFY9sMHcTHnHaFDORAbYAGzGHWxIZiK3TAgCbAA2jAaCE3i+ + MwCwAdgwKiF7FjfABmDDAWyipDORATbygU1EObAR2vcwVQ4LsFEN + bGR9WDFJJgWwYQU2kUwGG/FCqpnIABuADZcS92cix3JYNQ74ATZK + TGEIuH4M+8ilHBZgA7AZd7AhzmEBNgAbDiUUng8BbAA2jHpONxMZ + YDOON1IxApvxZyHSmcgAm4wDG44sRJjDAmzUKZF6bua+NSSezxyw + GQDYcD/JEySbiQywAdjwOMlDlcMCbAA2XEpCBNeYhQA2ABtG6RXR + TGSADcCGTXpFksMCbAA2jEoIZyIDbPBMPxaX5dDlsACbiIIsJOPD + iklzWIXABnMzJQUbQs9fvY8c+wHT+JeMsl8Ze0mUbcnou9UxLm0/ + q56H91DNRJbr2lOAjaJgE6WaiQywAdjwKaHIYR8D2ABsGPU81Eky + ExlgA7Bh03OiHBZgoyDYyPpMvwhhDguwAdhw6DlhDpupYIO5mcx6 + TjcTWYEDfoCNEg8rppuJrBbYhAE2coJNlHYmMsAGYMOh50QzkQE2 + ABs2JTQ5LMAGYMOn52QzkQE2ABsmPafwfBBgg/FSjErcn4n86Ewv + wEZJsBmQEWyoclgFwQZzMyUFG/FCknvAATYAG0YldDmsdGDTD7BR + EGxIc1iADcCGR88pc1iADcCGQwlRDguwAdiw6XlkJtVMZICNamAj + 63gpshwWYAOwYVJC4nmAjaxgE1UObAYoctjYTGQZwQZ3iKsINuKF + NDmsemCDuZnyjtEgzGEBNgAbFj0nOD8/IQiwAdgwGghO4PnOAMAG + YMOohOxZ3AAbgA2TnhPORAbYyAc2EeXARmjfw1Q5LMBGNbCR9WHF + JJkUwAZ3iDPqOdVMZIANwIZLifszkWM5rBoH/AAbJaYwBFw/hn3k + Ug4LsAHYcOg5SQ4LsAHYMCqh8HwIYAOwYdRzshwWYAOwYcJCpDOR + ATYZBzYcWYgwhwXYqFMi9dzMfWtIPJ85YIM7xNk/rDhINhMZYAOw + 4XGShyCH/dD/TX5o8uSFMd0ktm66uPXQ0NbkkVsLXSxZeG0lk1Fy + ceum8SlJm00GPuS254/m3/merKyPD+ryVlbW0GbWe5JtoeRaSrJS + KYn/u9UvuTO/xWXP7/zwzyGIk7J+02XPf+KXscgQK30cnofgeXge + guevi+cfxCJD8DwEwfMQpLLn58yZkuI/bkrKr3ReOwfdhFh6fk44 + P3/ynSm5eHHB7Pz7UnT9eybn54fheoih5+cUFOTnF8xOwfRT+mc7 + r1yc0n8ja7b4tbPzYXqIgee/d/W5yhuFkYWVF46++74z9sr82an4 + eEp+Qey1i9FQaPw9f/X5+SkLY+bMLxjdyYsHXzn7xyn8L+YMvj8K + Jk9BRyFunr9pzJ7/lVQ8X1AAz0M8Pf/zxYNs81Ca2WbwrTT7PjQU + Yuf5KQWzCwpmp2TkG8UrC1K08Z2x1y7Ebh7id97m51MWL1wYSen8 + ypQfT85/KCvF/8ecUP7CxbA8xNHzwstTUs6kpozBxVPgeIir5yEI + nocgeB6C4HkIksXzuE8KguchSGHPP49nfUDs5Dzro9U1z1eZ2s9m + //g+Rw8++OB99yXcGuWvUXJ5C+t0nSUfLujVfPPLrtXzh0fxvMfS + tN4dEMRJvZrmL7GvxfPf0Y2WL4/i+Rzd0CCImwzf6iSef014Ptfx + /KFhns9t0nVNVLZVVCUutzfq/iMGBHGSz79/eWLLNrZWddl2tvB8 + y/lhnj+8y9C1HNvuumN3Es/bqz0n32yFID56s7IuJ4ljnzq4VHwt + dDzfOMzzx48aWs9a2y6rvLAtmenttm0QxEldSf06t6NBfC0yNaNi + 2zDPN77q0760UWws6T1uQ5AqetZfJ75uMTVfVdcwz9snTc1y/jbP + WoeFgpTRNP968XWZqZnV9nDPN4h3wtIy8ZrSIiwUpIy2+HLF1+37 + NatkhOc3C8rfISj/eEc1FgpSRiedQ9cnbzG0VfUjPL9aeL59kxO2 + /m8zVgpSRPOanF14tk/XO3JHeP7MG7pmzhIbJf5pWCpIEdWXr3Q8 + bWm+C+dHeL5sqql1O5ctPG2twFJBaqhs6j3Hbbttt3HlIewlz9s1 + Tjw7T2xMbf88FgtSQud8ztn5XE3XrBlxPO/8RbcDN/V3l2CxICW0 + 6G4no/VYmv77Z+J4vuuET/O91Gbbr1zY+zdYLUgB3W/cKgxdfNrQ + upfacTxv54l3gy9bbMworcNyQQpoxQ8cP2+0NM23Pq7nP3KLoe2f + Ko5i204YuVgvSHrlrKoVX7+73acZF5rjet5eZGlvGWud1362sg0r + Bkmu5js05zaRlaamWbPs+J4/1K5rZusnxVZdOQ5jIdk1vXyz+Hq2 + wtCMHccTeN5eIsDHcl738vZuBFOQ3JpROtWhlTpzxL2DV3r+zKPi + LdHxtNh6tqUJSA/JrA3GaSdnuv0t/aoMdrjn7bweTeuucq6tn2bu + eALrBkmrdU3tzl67+IX9muartxN7vu2BbkE3C5zNQvPo01g5SFKt + brp3g/PnDQ6u19pJPG/nNhmavj92BX3h1zvA9JCcKjS0250/a8Q+ + 3LfjTFLP23mmrhlazOzTmqyaF7F8kHT6rqfvaOxwdIaha7pZaCf3 + fOzcjdEUM/2p1tL592MFIcl07mR5VWzXvv5PDG3wjtfknv925SpN + O9IeM/0nPZa2vBiLCEmkz9QZvprYYz1mCGLRzGVdo3renruzR+zp + vzh46WVOa/kuuB6SRltL7im9dfA0+6x3nb38rX9kj+55+/BOU5j+ + SF3s8oNtRRWlTQtytmE1IfZ6+a4lXyl9dX1sx35+uk8Xlt8+107F + 8/a8Lwim1/2VgyfoX57xQevA96bXHyqG8SGu2nb2VP2Kr939t1WF + T8W+z90uEF3s5bfaqXne/v9KYXqtu2Pzp2Lf/tamkjsM/4Fdx+bf + 4FkEQezUMHX3G33+bz63/NTgM7lfLvld07F87eN2qp63n1rRI1jI + sG7dcPEHXcfr62qfu/CGjofgQvzUe/D5ZVsKt158CH3X2lZTGNVn + ehJcHRzX83ZZ3h84bxRz0vwNl0/RtzXP/QgE8dPZ5svu/kl21T/6 + nJ18S30iEMpK8PPcByzxXtEtX1XeVuAiJInO5L1kmvdq2hGzMvH1 + Yok8b391Vofjes18prd6xjkcv0Lc1Zy7cWmHuV9zTsD868Z/ssfu + eduet6TdmuT8BtP6/gu1JfXrDh3eCkH8dP+h1evrane2+336vQ6c + dHg+nezNkZXsL0+t6LUcNtIm7TeFrPZbIIifNMedpi92hmW/2eIZ + 5YqZrOR/fbxk9xHTNzRGSn8XgvhpyJ6G2WOcGP34M2u0FzRuqjvR + YvnFuwiC+MpnrjL3nqzJbRwd/LNSODjoeruwZNnu3o6mr9wLQfyk + NTXtOlZdkz2vLKWD3awUD4rL2hqfPLRhbTYEcdPanEPzGrtSP8GT + hXNcUIYJnofgeQiC5yEInocgeB6C4HkIguchiIN+IcAALvHBXni8 + uwwAAAAASUVORK5CYII= + </data> + </dict> + <dict> + <key>Extension</key> + <string>png</string> + <key>ID</key> + <integer>3</integer> + <key>RawData</key> + <data> + iVBORw0KGgoAAAANSUhEUgAAAMUAAAFnCAMAAAAhRX2TAAAAGXRF + WHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAwBQTFRF + rrCxu72+1NXWoKKk7OzswMHCVlZW7u7ugYGCxMXHqaqsvsDB0NHS + t7i6hYaGlpib8vLz9vb23t/gqqyudXV2sLK0xcbIwsPE/v7+yMnK + 29zcw8TGVFRUxsjJzs/Q8PDxubq8wcLErK2vu7y+zc7P0tPUeXp6 + t7m6zM3O3N3eycrLeHh4UlFR4uLj6OjptLW3ysvNfn5/5OTlvb6/ + 3+DgzM7PmZye2Nna5ubnury91dbX2trcsrO1wsTF0NDS19jZ5ebm + 4eLil5mb3t7fn6Gk3d7em52g4ODh2trb4+Tkr7Gz5+jo2Nja5OXm + 6Onq7ezu4OHi5ufo2NjZ09TVdnd47u/v29zd4uPjqKms7O7ukZKT + 6+zssrS1pKWn0dLTz9DRoKGjnZ+hnqCinJ6g+fn5pKaotre5pqiq + /Pz8paeptba4n6Gj9fX1+vr6mJqcm52f6+vrsrS2mZudmpyepaeo + mpyf/f39o6Wnpaaop6mrs7W3oqSmpqirs7S2ra+xnJ+hra+wnqCj + +Pj4+Pn4g4OE+/v7V1dX8fHys7W27/Dw+fr56urrtbe4mp2fU1NT + mJqd8/PzmJud9PT1nJ6hmZue9PT0rK6veHl6tri5ra6w9fb2d3h5 + VlZV6uvr9/j46+vsnqGj+Pn58/T0f3+AtLa36erq+Pj5nZ+i9/f3 + 8fLy+vv7+fr6p6iqWFhX+/z8/f7+9PX1rq+x9fX2f4CAo6SmnaCi + +fn6/P39pqeqp6mqpqepn6CinaChpqmq+vr7pKWo+/v8oqWntbe5 + /Pz9oKGko6Wo/v799fb18vHypqipnJ2gpqmr+vv6o6anoqOlhISF + q62voqWm7e3u7u7tpKappKeo+/z76enpoqOmVVVVnJ+gnZ6g/P38 + nZ+g/fz8/fz98vHxsLG0paiq/Pv8/Pv7p6irjo+Qm52emJmcs7a3 + srW2mpues7S3/v3+9/j3lZeYnJ6fiYqLzMzNoaSloaSmoqSl+Pf3 + u76+oaOmoaOlWlpaW1tbWVlZWFhYXFxc////DxLvHgAAIHNJREFU + eNrsnXtcGuma58HSMIBOFAYEDYqtLNGziXbwxEjoYyStbXTNatto + zySLW1UQIKWQQAuhGTXJtDGZGDWdxLWzJ9cxiUn39O2c7jN9+txn + Zuc+7bKXbPbee529zq67s7uVW+1b4AWKAqoQzev5nCd/5KV46/Kt + 9/e+z1tVPykB9fMQgl9Q/NxTjNkSwg8phdNmuzI9Hg4flMnqX+/P + z8/XlJaK8+boaBckhAksni0uLa2z5jfUyw6GRdO3T2cJjS+FyjlW + JNrX1aCr0+QJCxQmSdCOsgWWGMwqhEPytUkrrND0G2UHcq+M+VXr + T6HK3VGiqyluVARdAZIkMNyDj4JjRRCEzDQQBKCN4h4UQ0KBtySm + ytLtRlm35bRq3SjC2j8jhjw4OMlIJFaPZCmIldON0+EZSohWenm0 + mQiEZStgbXwIDwVPmgw1xgPnivxZpVB93NlTKsFjTzo4Zvok4nRb + kIFAwOFwyWuHh4eFFXl5eXXfBJFT0saIEuv2b5apwfdHh4flDkcg + EKLbwuMZHcVuxmyb3jR9KsiT+mJd87Q/GxTOQ73qWnsI84DdICvK + JoJy04RQqqzR6apf23EoHLYNDo75QXDSAqj3o8G7IlH3a9U6q1ps + aDwsCIbwpe60CkSgHhT5fUFxT+fAmigG6sUKO45j0Q0T9hHFsFTT + 3yC7Fi581+bM2jCpss0XWo41N/RrKk0jEjs2hKPL3Q0IFfUg8oKq + jluZUdyqzpOg6D1i6by0okjTg++td/ZS2QrvdDVtrzgaDJBYKxrd + eUQDnyj3qXhTjG+Xn8KjTQC2gUkKxNYuf9rkYbt/7ty5nftAtPQm + RCe9fF/njXPnptNmQL9N1GUV62eQyHBCHwaGk2/3fsiLorDmg1aC + 7gkEjrsUFQ3nbydrBWeH0VpWWloxMTenGBkZedPhcCCnTp3C3OaE + wLFTdIQcDsnIyOG5guLSOp21umWfqPzdJOr0XxW11B2Rk557SKRJ + 7pl6nZwpVMYPcLotCRyRi6tFqTrAAyluNrt9Pg8YQ+nR0w5CYTKZ + JvJYQk9/Mzxjt4PBCcU9Pp/XbL540etFJHNlY8n3cXVfj9ARFQaK + F9zhSPFpHq1HIEa5uHkwjY57LrsqlDU5uqbmvj7R/fFpv/+jj9Jp + /6OPBsfvdxzoMhrLlBph5RGF/FWvLz/1OgNthhORM4uG8v1cKHIF + OKh9jxhumE/fG7Xepd2rBuffLRf1dVVbdTqrUiwWS2uPMqJWCxaX + 1vXodC3NfZbxgbtLjay6VaTzTnyYblflZQuXXgVnFzdcT0+RKwEQ + yKiphVO6EV9UqNXF/9dw9uyMIwAk4tt9cbfPQ6fn6PASWonoQIGh + uM93ka7oIx0njwqL1VZj7649xZe1HDLNfNmJUbAV3FSejiK8gIHx + AFkc5DYyjgtGPR7QKTDULpmZKDBMaPMa57TFxZX6PI1SqZQKl8MA + PimF+spS6dysVD8n1E8IJEDmHg+d5zAPIeO0O5GW7h644A9TU9xV + oADih33cGPw2240qg/aI4biw0lRgek9wfKR9QnHyvZcWXPbAd7/7 + 3T8fvbAc+J+DzwG7a2HmpODt9pHjX39ScHS28fgRhUlgelOu7+SY + T363DAGNjLdfSUlR7CHJz+QPUyamf/VgHGQmXU2pQXv4pMSB3kNR + 0BxYZC4OxBgCEySHiQ6FNmaAqowucoFJFxLVFr0arT3JQq0+r7hG + 17YrfNWZVsctIRqj0ZmCohdkGMKe5MQ4p+/saKgq1QpcIQT17AYj + rPfyTZdEUdvY+AqYUVmbZLK+3NzcjwdttkFnJFRx1yWRAF/aRLm5 + nftlOboqpbhRa1IE7fjuKbN5twcjAwtHKuqM+/dYUgwsMhJgoIvJ + Ka6CToH8XknCioOF3U1qfbsk5DGbt/r+tkv+yeHK0ipd9YEblsIr + d3+0pinH53fBxWJHi7GqVK94Kfi/8a3g7BCOBZOwpqmzfP4jVgwE + /OtMSlEHhidcwxgYOvOlx0Ne90VwquRHKsBlzB5R0T9ep0nU+M6u + tn5xY7sdQS+43V5iRqvM6ZxnDl85QLhorT8JReEXBIm9F9OY/tyc + xu9jXrfP8Z+li217psfW8fo/Tnw2yw5jXV6tHHW7fV+6Zhf74ntz + Hhhw0bYkFFbQFET1ysf7urmQ2x0QSHM6pgepFxBjA+H6KuHJwGUz + LhGWfLr6xbkfgtPd7mSlcJowEltpqGvit9y+HwuN15zUi43BG73K + dsI9JdGsDp2LOJioylgpukGfwY1LvUFNutGJnNuQ3DTz39luwt2E + sGPp8/QHBIkbWCmsrSTxJ+cixc5PvKeEe5wURPGgLy9gfrV4OvpJ + Axrjx+MsFKoCjES1kWID4m3fAd9tzHApYpZEj2tnjG7iKE47EBKN + zFBLXvXlnYbydmy3yYtExqafKAgSrWSh2BkCFN2g0PH3PUo/BWfY + KjynIqNomYfE5AOJFE0EiTjugzFh2F0BKwTQvdL3j0Tg/+ZXwZXl + gUQKDaD7Tw8oqm1IPkDBG4PaqUaQzK/Ib5IeYyKFASfxPAB79HI+ + 1I8qRC60F/w3h5JocQLFj2oxEq8DvQKxT8P9xKXOTI+kGpQ8ddjP + pLi6ALI6aKIycwXcENS5AAJ6hhEF3fg6k6Lw+6C71FN+k6cFcgpK + 6O4Hgy7Ie4FcJkUYsIXuUOXkB+OwU+T49BRlCSEI2cyk6AAU9nKq + F6+FHYIKI/Ii6l05QRJNTAoZoHDZqBp33eoczAlVrFwsDcqRbpDW + wISpn0nRBCgkY0Bzvcsj2mLjrB6imDVs717KfEJzNaXSoqRHw6Sw + oiRhUg2afNein3f8jgdHoQrcE8qJHluNGTSCFOS3YiZFHUpiE9TH + /z4Q7dwDL6EkdEEs3TMwblVSlNhDjgqZFMUgF+ZRFvRkUXQcaCXJ + gAuqCJCkpyZycPt9WhV9iYE2qhgUYkAhpQ75jkcvsaUoGfi1r756 + 552vfjkSq6VffueddxJKbBW/4lGRw7a/+su/IlF9JFsfoC+sreD6 + +vj7DIpGQCGmmr1Lt32PouSvv/HXJye3nYnElsnJyS3R0rbJyUfR + haulR3EVmaucSb/K6ra3JKs4+bKdxBSRx3uHAmAc0gGKwzYGBZhd + 4VVUvbcx+vEISjr+7uSzp0+e0/H42bNn0dITUHocLT1dLj0HpafP + WSoyV4mpmGyV5Nt+9h1AYbJFJ4SuMfa2ACcf3051XRSuUPz6G5NL + OwKbf8o8tuerO3oce0SrqyxXTL9Kim2vlr798grF/aD9OmXElpsm + gSLHXBpDsY15RE/YNh936IkQaVeJ2XYq2m2rFLYZUkTJEISQXImn + cCow0qOjrGZxjKK2QCMnUHHbb61QnF6IUiDB6XgKmwAjh9riKf7a + mY2QE9fGe/RLiRRvcqXg3OTrKidQ+u1Viut8KSCRE5DDs1WKwRnS + wocCFjmBijEUlAm5lpTC18Ck2CA5caKNo0CbWSnGJQSC1VM6tzqG + YsuGyelJGjlxpLAECfopU5XPukrxjcl0cnq8UXKKz91JKc69CSh2 + UaW7rbG5e13l9Jxff9vycqYU0MgpPnfzoVjO3TDICVRkowhyoFjK + 3S9ATmyrbGP0izshhCREHCngkBOoeIYxRoUDCImG4ynKJewUkMgp + PndHKHJZKDppW25fAgWH+c2GyAlU5EJh9ZBE0MKk4DK/yYKcnqWV + 05PnnCiqcBJ9m2JSbJic0gwfbLmbjaKMheLvbINGTplT0LkbFjmx + 5G7uFDwnp+snJ1CKzXrHeSjqjW9DIycgh1gKKZ9+cQYaOTFydwXa + xZkiOgPJ7rVOhnJi5O68ISM/io2RE4d7C7FjVIUvhw8Fh/nNhsgJ + VFwDBYf5zYbIiZG7+VFAI6fnmVPQuRsSOXGk6AcUw8ly94bLiW0g + P/Nb6SnUgEKfQMHpiJ5sgJxAPHo5nuIQC0VF1OIST/EIGjkxcjdN + YaEpHqalWMrd6yCnjJ7LbGMo6pYLUMjSU0RzNxRyAqUtjN5t40Ox + MXJ6+iztI8RnPCguMyggkRNL7k5F4euJo4BFTo+f86LA6xm5Gw45 + PedJIYuheMTjeoKbNtIOsU+TbjtTCvqpPSRyoiliRto87hSrT+0f + p23y9ZYTI3e/kpqiOI5iGzRyAqXJGIoynzEVRUGsopZyNwxyin9q + Dyh6UlHMxfXuMxshJ65PjWOe2lP95ppUFEcTKOCQU/xTe0Ch4UUB + iZxAxWeZU8AiJ8ZTe34U0Mjp+RootkAjpzVQQOu440NB525Y5BTv + uONHAavjLkIx1k6QaA8HRcHquItQOM9iS3+ZxyHrwSEn2nHH6BfO + 4VMkauVIAaPjjjcFlI47vhSwyOnpk+eZU8DquONFAa3jjg/FNyah + kRNL7uZIAbHjrooXBayOOyMPRcU47l60nBiOuxa+WQ9Kx121u4Ly + 883d0Dnuqt0GXhRrltPjrMiJkbt5UkDquONHAavjjh9FFuX0fE1y + ep45BbyOOx4UEDvu+FFwbfJ1lxPDccdHUfA67nj1C2gdd3yzHnc5 + PVlPOT2Lf2rPmwJKx10GuRtCxx1PCljk9JglX5hurv4IRUoKWB13 + NAUlvEf/XT2n3A2n4y5CkRfzq0Vccnc25fSEi5zYFBjruFuhKOWR + u6Fz3PGigNZxx4MixnEHg6dlW2aKgthxx5sCSscdX4qn0Fik1kAB + qeOOHwWsjjteFNA67vhQQOa4+06muRtWxx0vCmgddxnkbggdd2ko + pJvDcZeGopTNccd9Npf8iJLJ6Rnn4fu310ABp+MuLUX9ZnDcpaWo + Zjju4JATv6wX/5cL0Dru0lHE/hUJvI67dBTsv5OzLnJ6zm9y+e2X + M6SA1nHHgwJixx0fitSOu/WUE9sq276zBgooHXcrFGJuFHA67lYo + KjhRwCInlqf2VA1OorNcKGB13EUo6B/FOcqBAlrHXYRiOzeKZI67 + FyAnttzNjQJixx0/Clgdd3wUtfTUHgY5MRx3fChgdtzxpIDWcceH + AhI5sTy150EBseOOOwXMjjvuFNDIaQ25G17HXS+/3A2p4+4ALwqe + FwfrJyeG4+4Y/9wNoeOODwW8jrtjvGcgnK8111NODMcdbwooHXfH + +OduCB13PClgkRPjqT0/Clgdd8d45m44HXfH+OXuFyQntlViHXfH + Msnd0DnueFFA67hLRqG5RKLCpL9xl2U5ZfSYbxsHRbH89iPEjrtk + FEl/n/ZF/yjcSunZGiggkRPjqT1PCkgdd/wooJHT8zVQPIJGTmug + gNdxd8wt5EoB75vpqGO7jw9yptjGX07r52mZzIwCYscdHwpo30zH + nwJKxx1fCjgddzwpIH0zHT8KWB13vCigddzxoYD3zXS8sh60jrtM + cjd8jjs+ioL3zXQZ5W7oHHdpKIo3h+MuDUWdb1O8mS4Nhc63KRx3 + aSisvk3huONHAeub6dJS6DaD4y4dhbdsMzju0lHEvG0Z4jfT8aCA + 2HHHhwJexx1/ChjfTMeXAk7HHU8KSB13PCkgfTMdPwpYHXd8KOB1 + 3PHLerC+mY4fBbSOOz65+xHb2XrC77FDlv5Qn/HUnk+/gPbNdBnl + bvgcd3wpNkZOaXyVCU/tU1AcZ6GA8810ySjaLpDYiI0td0PpuEtC + 0TtEYidPMymgkdNzHhS/waB4BI2cMqeA2XHHi4KTnJ5sgJyYjjs+ + FI+gkRPHp/Zs/QJix11qivzE3A2FnEDp29x7d0MCBZyOu9QUXSy5 + G0bHXWqKegYFLHJ6zCtf1E8ZNoXjLg2FV7spHHfpKBqT/E5OBnJ6 + mj05cbzzz0KxCR13rBSbznHHpqhvbIFGThwdd2wUm89xl5RiUznu + klGsWU5PsiInnrmbQbHJHHfsFJvNccdKsQUaOa2BYvM57thz92Zz + 3LHnbmjkxNFxxzob3HSOu5S5e9M47pJSwCEnUDqzhty9uRx3yXP3 + ZnLcsVNskJw4PebLnGKzOe6S5G6YHHe/tNbc/cLlxNFxx06x2Rx3 + bIrafI67JQpZLAXb7+S8IDk94ZW7OxJnIJvJcbfXF6EIs+XuzeO4 + 20EghGQcUFSm+J2cDJ4aZ+9dJlwo9pAI8YGICvuOODex424foAgC + igvtpzex426ZYkhxOsnv5LxQOWVOsQkdd+wUm81xx0oB7+/k8OkX + m85xx0ax+Rx3SSmgfDMdXwqIHXf0r7LPcaKA2XGnBhT61BQTkZF2 + 2+Tko2eReARKZyKlLZOT26KlM6C0JVoCFbesVlwpbUu+yjMe246U + Enq3NPGdCyszkK+jFJUoaf+fvwLiG5F4I670RrTIVnqDxyr8tv0r + /yFAohM/WaVgef/FMoVviTYfJ8nAiRMnXG9FIknpBFtpTRVTrBIg + yVYNxYnCq1VFPp/7PkFCFwgh40bhOzoWXdB0CsfgChQfXWoKqvsi + ONkpKJb7BUU1VwpmoIp2YYNq6diSvReGOUbRYbsysE5RVJSuhs02 + cHowrtaVwZUDS0cham1fpVi/sI2lq3Gtv3Sxy5ns297UFIX/MDid + 6aFZ2kpWou1hqprzBtN0UbclRY0yxOuduqRPdiz5Zg0rRWeU4uoC + IUq264cHD6lSHVuP27MSW4tTVLz6tgcfnv3Lo8lr6PB/8V5pLXZZ + /z327xfNNaxvIb/xFoF8t5sa+5m3k33FwrMo0payLdocEvnIUkiq + ktf7dKL1VQRFMG3SGh9LPFog7H5s+W1/zJD6eiiVECNRZTxFuYRA + kAMA0KxjXU80g4f2plbU2EDRtXxrNMoOJD/ECRztl/0VgTUmrdLZ + St4A//3k7csa9grDaD3lHD5FovnxFOfeJBByF1Dc8g2p+NgjRxGl + 5Vr4/dQgnSgRDZ8yWZWitz0oaCgZiUmS9p02n2QA/KeSel9hP6Wu + 0HiUwhpPYQkCCiCmG4jkNsuu5fSEBGRPec1ASorlhI8no7g60Yr1 + 04Uue6vkYJJKD1GsC/w3IPf1J+mBehUrxbT8JomC/O4f9rKs+adH + h0jSHkJ8uGehOwXFwZH2aCyUsVcoF+CIJtLzWmocnn/TkUSbh32S + +iJR5aV/spN1nJ7xNVCU8yyWoKj3BRjpo3tviccRZhGzHsUqzx9s + m8XwwL7kFAeWZy1eMXuF+2dxw3CkW78i0YR+uCfJdvp+6rkp+X/3 + EFLMlljKfCNgyjomIEg0J57CBiiGaArnEbeWJduc/q8XENDvVT0h + X7A8KcX5owXRGNYlqTEtW9wa6Xlqs7AvnHRDu0w/aPXUCjCcpXs/ + tPua6CN2IRH1xFJQJpTEI1rKPeHbzrLdK8OYHbQj9foHP61JuvMO + +XvRSDHSLnoLisb/9XTFbm2qHjbYUX/g9LdwBE2Q5h+0T1X6k1HM + AYrortswtIdtcNlpiTRCYfl40uTX502f9RbR0O+ACHymTTsbUFV4 + MEdh/LLbx70nIymdlUIPKJaab9GH9asymoSEDdJoCJuS1qnzfTYK + AvUUpN/eoGFqZj5+fiWYkkeFWG4HFN0MimKQz6XR4u+qcY/20HrN + BItElkiIuEzYHpTEJRWbzj71Um60fCgAKMIMCjFK3jMstYCqyeUO + Kc9RkIWtwXT5gnAZPhdQ4EyKMpTEzjpXpTHqDig7nfAgjO1SL1zw + yl/3r/RBEkFC5xgUVpQkFDFHfUBLmAmB5sC0HwKCcVnFDGHGP7HG + dBIZghAr84xlihKURBy2mFX93UoJ6vZ+oVdXT7+4NlGdPm8sHQ5M + uT+TKLviLuCq2ShkgMJ+hZHqWpRnkYtunBRUWKsffrzBAP7yfU01 + WgfmM18OzNb13WJ8/S3QBRR3GRQ7AQWZOLn403O9yrffvLTV7AtJ + FNKq3oPjRX9v3XvxbVFnk0Y78gXi3noxNKNf7Jr+MLGW2LNyq3CV + IoyS5Ckje6uOdxo1s2+S4Ky4ffaRWalat7cv97btw+9l8dC/96Ft + +nzf3m+p87Qmyakpt9tDBBYMVS13ktwH8IMEh2r9DIrxE2DgUqfq + YqLmHI3B9H3c65667MMJ0i6YM4jrdE2yvvPhgesZDQK265bcXc1t + OduV0qPtdpLAhy7/hdl74X+9NFuxvW3fu6m2WfQeQV4yUAyK6SBC + Xko7KVDZpi19TYvF+mGB3IGgZhBbPfdCdslCu0mfV1pWZmwpqT8f + CdE4I8pvRJbvrK5uaSorU+YJTYqXFlyBU5fMW8FmPIhLIjiuLd1u + 3JF7vyj9cJILLmXwUibFvOAmScjf5dz1Bq9Ydu6SNeWrX9HOyV2B + EIHhPi84Grfb7aXD/aX9RHyEfJEvLoIabrP5os+DYWTIFTTNVmj6 + jS19Oy23xz7i3ozV4LrNo2ZSvH8cI0nsfCaDoco5Vmjp3lFt1KnV + YoPBMHGWjsPyPwnGhSKy+Kwe1HilRp1vbNjRF7bYnP7Mpmwa0I9X + LvVWKFSNYPElY1aS1GAkit6NxKdXr346QBds0cVZyj2mz0iSaGBS + UBWgiejXkWQ/canWYaMiBwEyQ18ChdoDFCW/mt2dObvq9F9/PVHT + dSvLFG3/lCSRQDiBQgf6BfmZLKv7qj+Omr0EcXkrLtib1fmYSgj0 + j5woSqBoQRCSHJVmcVf/VoN6JUpZd4esTn75fxRn8zb2+FvgYAmB + M4FiZwh8gdjD2dtVsfdLzdLZul6GTDWOZW/T/aApSGy1F69QzIPr + 2BS3w/iHDkdirlv3hzx1Wdv0gJyWP76YSOEUgGzYTgaOZWlPh36K + x43bvQTRmS2KuiGXnST/uDeRgn5+jDXmuRuzNDCKmVsqNRuydYIC + IWkIQQIHWSj6wVRXsc/+xzlZ2dP8At4Vv+QaGZjOyqbHjkxVlOEk + NvI+C0XXDxDCFTbiq7lkLdGBLjAGJf+c77WsXD294n1TRD+8iEnR + grh0iJdQFW5XNvRbbTYwpVlxMT8bEMrdSPMDB0KiOjYK1WGUHqIG + hd5A29p31mPWJN7bVGfhQrDUg/ZQMjASYQ/ZKCglShIjY5TN4MXq + 1jy2l5jzEvo720MFvncfa70kOMdinCRmilgpZDiYYHWDMVf9z3wT + N9a4u06faZCxqOBy71onHq87pj7ooi/0MBKPfc4UQ1FIiy1yQ7zk + C3fgW4Nr2uG05EvGxYrFhVjWBmER4kN6ehtdIHUTbewUlIEeviI3 + rsobPV5T85oyh9TMmJPVubVrmhHOV9ndof7I3RAwFyTk80koGkBe + X7qZ7m+Qu3+g7fp3me90D0Y0x34+GBjdvwaG29YZb+vSPfBDdoIx + VYqlOC0nSOzIUgtc1QTMqKLf8i8zTt7e2KeoovfcmafuwV3FQe9/ + bO9dakvQtxGkOxkFbYtEsJXUZFmUXPgLZLb/UGZCuK696PgbS/cD + VPslU4pPM0M4vUOpaHVjc3uXO+oN+p6/nkpKEQZNhc2tXhlfb6gM + uL2vtqtfK8wEQ3/R87OS3PnTomot6j2cySYGrzVJg6h794ymc/VU + Gi6R5A+6klNQSnDxjVtjM+W4USu5YL4UrFXLLDa+GarsA/d/+bH8 + JZfPbK/5P3xz9MD5hryTIbf79z5R7ojtyW1079U7U1CMBwmS+DPG + 0/Tp19QKEjdPIQpplcwyyEdff5h/xEWS9toyPmOsyjl/8HWNfgF3 + X8QclbqO34wfboMYiYQYD8IFjEubUQB6eD7hxJTv1cz+kc/txpEv + avNqdG3Ne0T3f4PLTRnV55ZfvcVpyB777+XXOqubyjTCdjvhcXvR + EUPZroTL3KIJkCsSbsUyKJwFQHRoI9vxOa90G4tr5QGcvq2JE67g + S+2HDcWL/Q0tHTdEhVfufs43vTjvzhcW/s0bzS05/ZqKAtMnckcA + 8241m92EQ1CwWB2eZ9OZlL7hpLiemoKyOIDscHFS2fzBjb6SfHXF + zxSuAEmgHp/b7HZ7dxMuicKkbTQoxTU6nW7vazJZ17VcltixXyZr + surylUqxsPGI4muXC9990e02e32XUCRklxyvLF7s2b/H8mEycPqu + GWG/Q6WhoKoJ+j5uRZqe7Pc/uCLq7mrqqdNIDROHZxwBn8/rnQIn + 0ufzeXAQBMIS9BceUAM0p9fr9XkcjvbDWkOpJj+nesedc7c+THO7 + s1CP037UEiotBWXFENBotTz645htfno8nLtDttdq7S8tFQvPzs3N + KUYSQwCWz0nFxRqrNWd/yz6RaHr6uo27ELtngNwRtqcsiRRLGC7j + 2i7A//lvJsaa5vvzdQg9CcTY7iWzUFD5KBAVgeo71+MOa6aTkNdH + cHByMZL1hriA9S7o79N3re4hWtlpOBjG89vpM0u2ytlvCrBSUA+H + aXAExWfUB144yHSb4QRO30bDvhSOUzwoqMHtfwun4TEckUiNu8Zf + 1LP7q7vyta6b9CklMc9IdTKJC5JeWCntEQ7yVdSDSBQVuj2F72/k + 8d8q7GgS18oRDz3WgKk2PpIzn7SyIPl2RHVyIgqCECiIPzJJaxo6 + yz93rmen/29jn4/va8sXNyoc9D4jCEARodqGVBlMkHJqXyKV4yhK + RK2Z4HwAqEDQZBB/M6f3QLfIcv1Wdp5vvX933NLR2dLQX5enFbjs + ITApGI0eP9gp2L+i7k7qMydIJ8zOqiPyUCuOIUhks+A/sF3c40FC + juDMiKL2aF6xJr/f2FK9MxweL5w+bbOl6kMqm80GZk+F/yA3vKNa + lpPfLy4WDp8VjEiCAfLSUCt9ypZ2FN3TECkvyD+f9kaGgMOpGji4 + V60PkgSOY6t/IYMgBIFhaGxgjiCYTim0BmFjhUbJDLEQhNZkOixw + BINE/IrYTWLp2Jf+6AVtxYmAa7g0Z08Rl8YUcGx0lW1nidrwtoRY + 3i8Rt19y5fQBstHRUdyTGLTRbhR8fxNJXBMcOHFq+aQQQYG2YnvJ + znnOlhMBLwE/uC3qfL1M3DjcPhN0kcTQEJjd0UjYytyP098XLUe0 + MXF8aAgj7cEFgWk2T21tOyCanuc5gAgy64+DRZbczr6SNmtZXUWx + sPao3OUIBEJ0Z8RQ+rxfGk2MSIPQnmGAGgoE3nK4vq49Kq3Q9Jc1 + lHR1XrO8+37GWUmQhSFG5fePDd4VhR/WN1frenRqjUYjFSaGGCzX + WHt6cmRd9Q9FuVfGBp3+LGVTAfXzEL+g+AXFLygS4/8LMADwNQPr + st+xzQAAAABJRU5ErkJggg== + </data> + </dict> + </array> + <key>KeepToScale</key> + <false/> + <key>Layers</key> + <array> + <dict> + <key>Lock</key> + <string>NO</string> + <key>Name</key> + <string>Layer 1</string> + <key>Print</key> + <string>YES</string> + <key>View</key> + <string>YES</string> + </dict> + </array> + <key>LayoutInfo</key> + <dict> + <key>Animate</key> + <string>NO</string> + <key>circoMinDist</key> + <real>18</real> + <key>circoSeparation</key> + <real>0.0</real> + <key>layoutEngine</key> + <string>dot</string> + <key>neatoSeparation</key> + <real>0.0</real> + <key>twopiSeparation</key> + <real>0.0</real> + </dict> + <key>LinksVisible</key> + <string>NO</string> + <key>MagnetsVisible</key> + <string>NO</string> + <key>MasterSheets</key> + <array/> + <key>ModificationDate</key> + <string>2011-10-26 13:03:17 -0700</string> + <key>Modifier</key> + <string>Scott Main</string> + <key>NotesVisible</key> + <string>NO</string> + <key>Orientation</key> + <integer>2</integer> + <key>OriginVisible</key> + <string>NO</string> + <key>PageBreaks</key> + <string>YES</string> + <key>PrintInfo</key> + <dict> + <key>NSBottomMargin</key> + <array> + <string>float</string> + <string>41</string> + </array> + <key>NSLeftMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSPaperSize</key> + <array> + <string>size</string> + <string>{612, 792}</string> + </array> + <key>NSRightMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + <key>NSTopMargin</key> + <array> + <string>float</string> + <string>18</string> + </array> + </dict> + <key>PrintOnePage</key> + <false/> + <key>ReadOnly</key> + <string>NO</string> + <key>RowAlign</key> + <integer>1</integer> + <key>RowSpacing</key> + <real>36</real> + <key>SheetTitle</key> + <string>Canvas 1</string> + <key>SmartAlignmentGuidesActive</key> + <string>YES</string> + <key>SmartDistanceGuidesActive</key> + <string>YES</string> + <key>UniqueID</key> + <integer>1</integer> + <key>UseEntirePage</key> + <false/> + <key>VPages</key> + <integer>1</integer> + <key>WindowInfo</key> + <dict> + <key>CurrentSheet</key> + <integer>0</integer> + <key>ExpandedCanvases</key> + <array> + <dict> + <key>name</key> + <string>Canvas 1</string> + </dict> + </array> + <key>ListView</key> + <true/> + <key>OutlineWidth</key> + <integer>142</integer> + <key>RightSidebar</key> + <false/> + <key>ShowRuler</key> + <true/> + <key>Sidebar</key> + <true/> + <key>SidebarWidth</key> + <integer>120</integer> + <key>VisibleRegion</key> + <string>{{-108, 0}, {792.222, 718.889}}</string> + <key>Zoom</key> + <real>0.89999997615814209</real> + <key>ZoomValues</key> + <array> + <array> + <string>Canvas 1</string> + <real>0.89999997615814209</real> + <real>1.7200000286102295</real> + </array> + </array> + </dict> + <key>saveQuickLookFiles</key> + <string>NO</string> +</dict> +</plist> diff --git a/docs/html/images/fundamentals/fragments.png b/docs/html/images/fundamentals/fragments.png Binary files differindex b3b7b23..bf986b1 100644 --- a/docs/html/images/fundamentals/fragments.png +++ b/docs/html/images/fundamentals/fragments.png diff --git a/docs/html/images/practices/actionbar-phone-splitaction.png b/docs/html/images/practices/actionbar-phone-splitaction.png Binary files differnew file mode 100644 index 0000000..a0081e7 --- /dev/null +++ b/docs/html/images/practices/actionbar-phone-splitaction.png diff --git a/docs/html/images/practices/actionbar-phone-tablet.png b/docs/html/images/practices/actionbar-phone-tablet.png Binary files differnew file mode 100644 index 0000000..430ea85 --- /dev/null +++ b/docs/html/images/practices/actionbar-phone-tablet.png |