diff --git a/.hgtags b/.hgtags
index cb3e950f1..942f4c722 100644
--- a/.hgtags
+++ b/.hgtags
@@ -8,3 +8,6 @@ a6b8d094848d4efee67c787e52e5f7d358e3f0c1 0.5
083d09cd94a7c9175272fba453a156673be9db78 0.8
523f3564d2c053ff068970eab8c64eaf74e3dcec perf baseline
d2cca954cbf94750946a6325e5ec23e267430bd2 perf snapshot 1
+83536b451ffe01a2d94867894f2b284cea2e68aa 1.0
+83536b451ffe01a2d94867894f2b284cea2e68aa 1.0
+5cc01ad95f11fcd241163685effaf01ef4b6cb02 1.0
diff --git a/AzurePackage.proj b/AzurePackage.proj
index 9ea83c86e..13eacd122 100644
--- a/AzurePackage.proj
+++ b/AzurePackage.proj
@@ -124,21 +124,19 @@
-
-
-
+
+
+
-
-
+
+
-
-
-
+
diff --git a/CREDITS.txt b/CREDITS.txt
index 065b45b06..1aac4f61b 100644
--- a/CREDITS.txt
+++ b/CREDITS.txt
@@ -1,9 +1,9 @@
Orchard Project
-ASP.NET Open Source Gallery at CodePlex Foundation
-Copyright 2009 CodePlex Foundation
+ASP.NET Open Source Gallery at Outercurve Foundation
+Copyright 2009-2011 Outercurve Foundation
This product includes software developed at
-The CodePlex Foundation (http://www.codeplex.org/).
+The Outercurve Foundation (http://www.outercurve.org/).
Orchard includes or is derivative of works distributed under the licenses listed below. The full text for most of the licenses listed below can be found in the LICENSE.txt file accompanying each work. The original copyright notices have been preserved within the respective files and or packages. Please refer to the specific files and/or packages for more detailed information about the authors, copyright notices, and licenses.
@@ -22,9 +22,9 @@ License: New BSD
ASP.NET MVC
-----
Website: http://aspnet.codeplex.com/wikipage?title=MVC&referringTitle=Home
-Copyright: Copyright (c) 2008-2009 Microsoft Corporation
-License: Microsoft Source License for ASP.NET pre-release components
- http://aspnet.codeplex.com/license
+Copyright: Copyright (c) 2008-2011 Microsoft Corporation
+License: MICROSOFT ASP.NET MODEL VIEW CONTROLLER 3 EULA
+ http://go.microsoft.com/fwlink/?LinkID=207621
Autofac
-----
@@ -45,6 +45,18 @@ Website: http://www.castleproject.org/container/index.html
Copyright: Copyright (c) 2004-2009 Castle Project
License: Apache Software Foundation License 2.0
+Clay
+----
+Website: http://clay.codeplex.com/
+Copyright: Copyright (c) 2010 Louis Dejardin
+License: MS-PL
+
+DLR
+---
+Website: http://dlr.codeplex.com
+Copyright: Copyright (c) Microsoft Corporation
+License: Apache Software Foundation License 2.0
+
Eric Meyer's Reset CSS
-----
Website: http://meyerweb.com/eric/tools/css/reset/
@@ -66,7 +78,7 @@ License: New BSD
FluentPath
-----
Website: http://fluentpath.codeplex.com/
-Copyright: Copyright (c) 2010 Bertrand Le Roy
+Copyright: Copyright (c) 2011 Bertrand Le Roy
License: MS-PL
Html Agility Pack
@@ -137,8 +149,8 @@ License: LGPL 2.1
NuGet
-----
-Website: http://www.nuget.org/nuget.codeplex.com
-Copyright: Copyright 2010 Outercurve Foundation
+Website: http://nuget.codeplex.com
+Copyright: Copyright 2010-2011 Outercurve Foundation
License: Apache Software Foundation License 2.0
nUnit
@@ -160,11 +172,11 @@ Website: http://www.specflow.org/
Copyright: Copyright (c) 2009 TechTalk
License: New BSD
-SQLite
+Microsoft SQL Server Compact 4.0
-----
-Website: http://www.sqlite.org
-Copyright: Public domain http://www.sqlite.org/copyright.html
-License: Public domain
+Website: http://www.microsoft.com
+Copyright: Copyright (c) 2011 Microsoft Corporation
+License: Custom EULA - http://www.microsoft.com/web/webpi/eula/SQLCE_EULA_ENU.rtf
TinyMCE
-----
@@ -178,12 +190,6 @@ WebSite: http://www.iis.net/community/default.aspx?tabid=34&i=1466&g=6
Copyright: Copyright (c) 2007 Microsoft
License: "Free"
-Yamlnet
------
-Website: http://code.google.com/p/yamlnet/
-Copyright: Copyright (c) 2009, apolanski
-License: Apache Software Foundation License 2.0
-
YUI
-----
Website: http://developer.yahoo.com/yui/
diff --git a/Orchard.proj b/Orchard.proj
index 8a85e521a..18d4fec75 100644
--- a/Orchard.proj
+++ b/Orchard.proj
@@ -141,8 +141,8 @@
-
-
+
+
@@ -183,8 +183,8 @@
-
-
+
+
diff --git a/lib/aspnetmvc/Microsoft.Web.Infrastructure.dll b/lib/aspnetmvc/Microsoft.Web.Infrastructure.dll
index 1e1362bec..85f1138c5 100644
Binary files a/lib/aspnetmvc/Microsoft.Web.Infrastructure.dll and b/lib/aspnetmvc/Microsoft.Web.Infrastructure.dll differ
diff --git a/lib/aspnetmvc/System.Web.Helpers.dll b/lib/aspnetmvc/System.Web.Helpers.dll
index 28801c3ef..d24cea4eb 100644
Binary files a/lib/aspnetmvc/System.Web.Helpers.dll and b/lib/aspnetmvc/System.Web.Helpers.dll differ
diff --git a/lib/aspnetmvc/System.Web.Mvc.dll b/lib/aspnetmvc/System.Web.Mvc.dll
index 371bdd857..eed0d994a 100644
Binary files a/lib/aspnetmvc/System.Web.Mvc.dll and b/lib/aspnetmvc/System.Web.Mvc.dll differ
diff --git a/lib/aspnetmvc/System.Web.Mvc.xml b/lib/aspnetmvc/System.Web.Mvc.xml
index 8fd968c3c..af648fcbf 100644
--- a/lib/aspnetmvc/System.Web.Mvc.xml
+++ b/lib/aspnetmvc/System.Web.Mvc.xml
@@ -146,25 +146,25 @@
The result that is returned by the action method.
- Represents the base class for all action-filter attributes.
+ Represents the base class for filter attributes.
Initializes a new instance of the class.
- Called by the MVC framework after the action method executes.
+ Called by the ASP.NET MVC framework after the action method executes.
The filter context.
- Called by the MVC framework before the action method executes.
+ Called by the ASP.NET MVC framework before the action method executes.
The filter context.
- Called by the MVC framework after the action result executes.
+ Called by the ASP.NET MVC framework after the action result executes.
The filter context.
- Called by the MVC framework before the action result executes.
+ Called by the ASP.NET MVC framework before the action result executes.
The filter context.
@@ -227,13 +227,28 @@
The current HTTP request context.
- Implements the interface to support additional metadata.
+ Provides a class that implements the interface in order to support additional metadata.
+
+
+ Initializes a new instance of the class.
+ The name of the model metadata.
+ The value of the model metadata.
+
+
+ Gets the name of the additional metadata attribute.
+ The name of the of the additional metadata attribute.
+
+
+ Provides metadata to the model metadata creation process.
+
+
+ Gets the type of the of the additional metadata attribute.
+ The type of the of the additional metadata attribute.
+
+
+ Gets the value of the of the additional metadata attribute.
+ The value of the of the additional metadata attribute.
-
-
-
-
-
Represents support for rendering HTML in AJAX scenarios within a view.
@@ -298,6 +313,16 @@
Represents a class that extends the class by adding the ability to determine whether an HTTP request is an AJAX request.
+
+ Allows a request to include HTML markup during model binding by skipping request validation for the property. (It is strongly recommended that your application explicitly check all models where you disable request validation in order to prevent script exploits.)
+
+
+ Initializes a new instance of the class.
+
+
+ This method supports the ASP.NET MVC validation infrastructure and is not intended to be used directly from your code.
+ The model metadata.
+
Provides a way to register one or more areas in an ASP.NET MVC application.
@@ -406,7 +431,7 @@
Called from constructors in a derived class to initialize the class.
-
+
When overridden in a derived class, creates the model metadata for the property.
The model metadata for the property.
The set of attributes.
@@ -428,16 +453,23 @@
The model container.
The type of the container.
-
+
Returns the metadata for the specified property using the container type and property descriptor.
- Returns .
+ The metadata for the specified property using the container type and property descriptor.
The model accessor.
The type of the container.
The property descriptor
-
+
+ Returns the metadata for the specified property using the container type and property name.
+ The metadata for the specified property using the container type and property name.
+ The model accessor.
+ The type of the container.
+ The name of the property.
+
+
Returns the metadata for the specified property using the type of the model.
- Returns .
+ The metadata for the specified property using the type of the model.
The model accessor.
The type of the model.
@@ -692,6 +724,29 @@
Called when authorization is required.
An object that encapsulates the information that is required in order to authorize access to the child action.
+
+ Represents a value provider for values from child actions.
+
+
+ Initializes a new instance of the class.
+ The controller context.
+
+
+ Retrieves a value object using the specified key.
+ The value object for the specified key.
+ The key.
+
+
+ Represents a factory for creating value provider objects for child actions.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns a object for the specified controller context.
+ A object.
+ The controller context.
+
Returns the client data-type model validators.
@@ -727,6 +782,12 @@
The model metadata.
The controller context.
+
+ Determines whether the specified object is equal to the compared object.
+ null if the value of the compared property is equal to the value parameter; otherwise, a validation result that contains the error message that indicates that the comparison failed.
+ The value of the object to compare.
+ The validation context.
+
Gets the property to compare with the current property.
The property to compare with the current property.
@@ -851,7 +912,10 @@
Gets HTTP-specific information about an individual HTTP request.
The HTTP context.
-
+
+ Returns an instance of the class.
+ An instance of the class.
+
Returns an instance of the class.
An instance of the class.
@@ -1000,9 +1064,23 @@
The name of the action.
The parameters for a route.
-
-
-
+
+ Returns an instance of the class with the property set to true using the specified action name.
+ An instance of the class with the property set to true using the specified action name, controller name, and route values.
+ The action name.
+
+
+ Returns an instance of the class with the property set to true using the specified action name, and route values.
+ An instance of the class with the property set to true using the specified action name, and route values.
+ The action name.
+ The route values.
+
+
+ Returns an instance of the class with the property set to true using the specified action name, and controller name.
+ An instance of the class with the property set to true using the specified action name, and controller name.
+ The action name.
+ The controller name.
+
Returns an instance of the class with the property set to true using the specified action name, controller name, and route values.
An instance of the class with the property set to true.
@@ -1010,8 +1088,17 @@
The controller name.
The route values.
-
-
+
+ Returns an instance of the class with the property set to true using the specified action name, controller name, and route values.
+ An instance of the class with the property set to true using the specified action name, controller name, and route values.
+ The action name.
+ The controller name.
+ The route values.
+
+
+ Returns an instance of the class with the property set to true using the specified action name, and route values.
+ An instance of the class with the property set to true using the specified action name, and route values.
+
Redirects to the specified route using the specified route values.
The redirect-to-route result object.
@@ -1039,16 +1126,33 @@
The redirect-to-route result object.
The parameters for a route.
-
-
+
+ Returns an instance of the class with the property set to true using the specified route values.
+ Returns .
+ The route name.
+
+
+ Returns an instance of the class with the property set to true using the specified route name.
+ Returns an instance of the class with the property set to true using the specified route name.
+ The route name.
+
Returns an instance of the class with the property set to true using the specified route name and route values.
An instance of the class with the property set to true.
The route name.
The route values.
-
-
+
+ Returns an instance of the class with the property set to true using the specified route name and route values.
+ An instance of the class with the property set to true using the specified route name and route values.
+ The route name.
+ The route values.
+
+
+ Returns an instance of the class with the property set to true using the specified route values.
+ An instance of the class with the property set to true using the specified route values.
+ The route values.
+
Gets the object for the current HTTP request.
The request object.
@@ -1459,14 +1563,14 @@
Gets or sets the value provider for the controller.
The value provider for the controller.
+
+ Gets the dynamic view data dictionary.
+ The dynamic view data dictionary.
+
Gets or sets the dictionary for view data.
The dictionary for the view data.
-
- Gets the dynamic view data dictionary.
- The dynamic view data dictionary.
-
Represents a class that is responsible for dynamically building a controller.
@@ -1607,17 +1711,6 @@
The controller context.
The action descriptor.
-
- Specifies the session state of the controller.
-
-
- Initializes a new instance of the class.
- The type of the session state.
-
-
- Gets the session state behavior for the controller.
- The session state behavior for the controller.
-
Represents an attribute that invokes a custom model binder.
@@ -1631,7 +1724,15 @@
Provides a container for common metadata, for the class, and for the class for a data model.
-
+
+ Initializes a new instance of the class.
+ The data-annotations model metadata provider.
+ The type of the container.
+ The model accessor.
+ The type of the model.
+ The name of the property.
+ The display column attribute.
+
Returns simple text for the model data.
Simple text for the model data.
@@ -1642,7 +1743,15 @@
Initializes a new instance of the class.
-
+
+ Gets the metadata for the specified property.
+ The metadata for the property.
+ The attributes.
+ The type of the container.
+ The model accessor.
+ The type of the model.
+ The name of the property.
+
Represents the method that creates a instance.
@@ -1972,7 +2081,7 @@
This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code.
The implementation of the dependency resolver.
-
+
This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code.
The function that provides the service.
The function that provides the services.
@@ -1985,7 +2094,7 @@
This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code.
The object that implements the dependency resolver.
-
+
Provides a registration point for dependency resolvers using the specified service delegate and specified service collection delegates.
The service delegate.
The services delegates.
@@ -2041,9 +2150,9 @@
Initializes a new instance of the class.
-
+
Creates a new instance of the class.
- Returns .
+ A new instance of the class.
The attributes.
The type of the container.
The model accessor.
@@ -2232,7 +2341,7 @@
The scope ordering of the filter.
- Represents the base class for action-filter attributes.
+ Represents the base class for action and result filter attributes.
Initializes a new instance of the class.
@@ -2251,6 +2360,10 @@
Initializes a new instance of the class.
+
+ Initializes a new instance of the class and optionally caches attribute instances.
+ true to cache attribute instances; otherwise, false.
+
Gets a collection of custom action attributes.
A collection of custom action attributes.
@@ -2573,8 +2686,8 @@
One or more parameters is null.
- Replaces underscore characters with the dash character for compliance with HTML5.
- The HTML attributes with underscore characters replaced by dash characters.
+ Replaces underscore characters (_) with hyphens (-) in the specified HTML attributes.
+ The HTML attributes with underscore characters replaced by hyphens.
The HTML attributes.
@@ -2604,19 +2717,21 @@
The string to encode.
- Gets or sets client validation.
+ Gets or sets a value that indicates whether client validation is enabled.
true if enable client validation is enabled; otherwise, false.
Enables input validation that is performed by using client script in the browser.
+ Enables or disables client validation.
true to enable client validation; otherwise, false.
Enables unobtrusive JavaScript.
+ Enables or disables unobtrusive JavaScript.
true to enable unobtrusive JavaScript; otherwise, false.
@@ -2729,12 +2844,17 @@
Gets or sets the character that replaces periods in the ID attribute of an element.
The character that replaces periods in the ID attribute of an element.
+
+ Returns markup that is not HTML encoded.
+ The HTML markup without encoding.
+ The HTML markup.
+
Gets or sets the collection of routes for the application.
The collection of routes for the application.
- Gets or sets unobtrusive JavaScript.
+ Gets or sets a value that indicates whether unobtrusive JavaScript is enabled.
true if unobtrusive JavaScript is enabled; otherwise, false.
@@ -2786,21 +2906,6 @@
Gets the strongly typed view data dictionary.
The strongly typed view data dictionary.
-
- Represents an HTTP anti-forgery exception.
-
-
- Initializes a new instance of the class by using a system-supplied message that describes the error.
-
-
- Initializes a new instance of the class by using a specified message that describes the error.
- The message that describes the exception. The caller of this constructor must make sure that this string has been localized for the current system culture.
-
-
- Initializes a new instance of the class by using a specified error message and a reference to the inner exception that is the cause of this exception.
- The message that describes the exception. The caller of this constructor must make sure that this string has been localized for the current system culture.
- The exception that is the cause of the current exception. If the parameter is not null, the current exception is raised in a catch block that handles the inner exception.
-
Represents an attribute that is used to restrict an action method so that the method handles only HTTP DELETE requests.
@@ -3544,7 +3649,6 @@
The error message.
The URL for the validation parameters.
The HTTP method for the validation parameters.
- The validation parameter fields.
Provides a container for client validation for required field.
@@ -3623,7 +3727,7 @@
Provides a container for common metadata, for the class, and for the class for a data model.
-
+
Initializes a new instance of the class.
The provider.
The type of the container.
@@ -3647,7 +3751,9 @@
Gets or sets meta information about the data type.
Meta information about the data type.
-
+
+ The default order value, which is 10000.
+
Gets or sets the description of the model.
The description of the model. The default value is null.
@@ -3664,9 +3770,9 @@
Gets or sets the edit format string of the model.
The edit format string of the model.
-
- Gets the metadata from the parameter for the model.
- Returns .
+
+ Returns the metadata from the parameter for the model.
+ The metadata.
An expression that identifies the model.
The view data dictionary.
The type of the parameter.
@@ -3725,7 +3831,7 @@
Gets or sets a value that represents order of the current metadata.
- Returns .
+ The order value of the current metadata.
Gets a collection of model metadata objects that describe the properties of the model.
@@ -3739,7 +3845,10 @@
Gets or sets the provider.
The provider.
-
+
+ Gets or sets a value that indicates whether request validation is enabled.
+ true if request validation is enabled; otherwise, false.
+
Gets or sets a short display name.
The short display name.
@@ -3776,16 +3885,16 @@
The container.
The type of the container.
-
+
Gets metadata for the specified property.
- Returns .
+ A object for the property.
The model accessor.
The type of the container.
The property to get the metadata model for.
-
+
Gets metadata for the specified model accessor and model type.
- Returns .
+ A object for the specified model accessor and model type.
The model accessor.
The type of the model.
@@ -3796,28 +3905,6 @@
Gets or sets the current object.
The current object.
-
- Provides a model-aware class for ASP.NET MVC.
-
-
- Initializes a new instance of the class.
- The start of the span.
- The content.
- The type name of the model.
-
-
- Gets a value that indicates whether the current object is identical to the specified object.
- true if the current object is identical to the specified object; otherwise, false.
- The model span object.
-
-
- Returns the hash code of the object.
- The hash code of the object.
-
-
- Gets the type name of the model.
- The type name of the model.
-
Encapsulates the state of model binding to a property of an action-method argument, or to the argument itself.
@@ -4109,32 +4196,6 @@
Returns an enumerator can be used to iterate through a collection.
An enumerator that can be used to iterate through the collection.
-
- Compiles ASP.NET Razor views into classes.
-
-
- Initializes a new instance of the class.
- The class name.
- The root namespace.
- The name of the source file.
- The ASP.NET Razor engine host.
-
-
- Returns a value that indicates whether the specified model span is an instance of .
- true if the value of the parameter is an instance of ; otherwise, false.
- The model span.
-
-
- Extends the CSharpCodeParser class by adding support for the @model keyword.
-
-
- Initializes a new instance of the class.
-
-
- Determines whether the current code block and model should be inherited using the specified code block.
- true if the code block and model is inherited; otherwise, false.
- The code block information.
-
When implemented in a derived class, provides a metadata class that contains a reference to the implementation of one or more of the filter interfaces, the filter's order, and the filter's scope.
@@ -4311,28 +4372,6 @@
The HTTP handler.
The request context.
-
- Compiles ASP.NET Razor views into classes.
-
-
-
-
- Extends the VBCodeParser class by adding support for the @model keyword.
-
-
- Initializes a new instance of the class.
-
-
-
- Configures the ASP.NET Razor parser and code generator for a specified file.
-
-
- Initializes a new instance of the class.
- The virtual path of the ASP.NET Razor file.
- The physical path of the ASP.NET Razor file.
-
-
-
Creates instances of files.
@@ -4918,20 +4957,20 @@
The name of the controller.
The name of the area.
-
- Gets or sets the fields that are required for validation.
- The fields required for validation.
+
+ Gets or sets the additional fields that are required for validation.
+ The additional fields that are required for validation.
+
+
+ Returns a comma-delimited string of validation field names.
+ A comma-delimited string of validation field names.
+ The name of the validation property.
Formats the error message that is displayed when validation fails.
A formatted error message.
A name to display with the error message.
-
- Returns a comma-delimited string of validation field names.
- A comma-delimited string of validation field names.
- The name of the validation property.
-
Formats the property for client validation by prepending an asterisk (*) and a dot.
The string "*." Is prepended to the property.
@@ -5202,6 +5241,17 @@
Gets or sets the value of the selected item.
The value.
+
+ Specifies the session state of the controller.
+
+
+ Initializes a new instance of the class
+ The type of the session state.
+
+
+ Get the session state behavior for the controller.
+ The session state behavior for the controller.
+
Provides session-state data to the current object.
@@ -5220,16 +5270,6 @@
The values.
An error occurred the session context was being retrieved.
-
- Skips request validation for the property.
-
-
- Initializes a new instance of the class.
-
-
- This method supports the ASP.NET MVC validation infrastructure and is not intended to be used directly from your code.
- The model metadata.
-
Provides an adapter for the attribute.
@@ -5502,7 +5542,11 @@
The request context.
true to include implicit MVC values; otherwise. false.
-
+
+ Returns a value that indicates whether the URL is local.
+ true if the URL is local; otherwise, false.
+ The URL.
+
Gets information about an HTTP request that matches a defined route.
The request context.
@@ -5559,6 +5603,10 @@
Contains the read-only value for the optional parameter.
+
+ Returns an empty string. This method supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code.
+ An empty string.
+
Provides an object adapter that can be validated.
@@ -5875,7 +5923,10 @@
Gets data that is associated with this request and that is available for only one request.
The temporary data.
-
+
+ Gets or sets a value that indicates whether unobtrusive JavaScript is enabled.
+ true if unobtrusive JavaScript is enabled; otherwise, false.
+
Gets an object that implements the interface to render in the browser.
The view.
@@ -6067,7 +6118,10 @@
Initializes a new instance of the class.
-
+
+ Initializes a new instance of the T:System.Web.Mvc.ViewDataInfo class and associates a delegate for accessing the view data information.
+ A delegate that defines how the view data information is accessed.
+
Gets or sets the object that contains the values to be displayed by the template.
The object that contains the values to be displayed by the template.
@@ -6184,7 +6238,10 @@
Gets the URL.
The URL.
-
+
+ Gets the dynamic view-bag dictionary.
+ The dynamic view-bag dictionary.
+
Gets the view context.
The view context.
@@ -6277,7 +6334,10 @@
Gets or sets the URL of the rendered page.
The URL of the rendered page.
-
+
+ Gets the view bag.
+ The view bag.
+
Gets or sets the information that is used to render the view.
The information that is used to render the view, which includes the form context, the temporary data, and the view data of the associated view.
@@ -6352,6 +6412,10 @@
The view engine.
The context.
+
+ Gets the view data model.
+ The view data model.
+
Gets or sets the object for this result.
The temporary data.
@@ -6360,6 +6424,10 @@
Gets or sets the object that is rendered to the response.
The view.
+
+ Gets the view bag.
+ The view bag.
+
Gets or sets the view data object for this result.
The view data.
@@ -6458,7 +6526,10 @@
Gets the URL for the view.
The URL for the view.
-
+
+ Gets the view bag.
+ The view bag.
+
Gets or sets the view context.
The view context.
@@ -6685,9 +6756,9 @@
Gets or sets the URL of the rendered page.
The URL of the rendered page.
-
- Gets the view.
- The view.
+
+ Gets the view bag.
+ The view bag.
Gets or sets the information that is used to render the view.
@@ -7668,21 +7739,62 @@
A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
-
-
-
+
+ Returns HTML markup for each property in the object that is represented by the expression.
+ The HTML markup for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The type of the model.
+ The type of the value.
-
-
-
+
+ Returns a string that contains each property value in the object that is represented by the specified expression, using additional view data.
+ The HTML markup for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+ The type of the model.
+ The type of the value.
-
-
-
+
+ Returns a string that contains each property value in the object that is represented by the , using the specified template.
+ The HTML markup for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template that is used to render the object.
+ The type of the model.
+ The type of the value.
-
-
-
+
+ Returns a string that contains each property value in the object that is represented by the specified expression, using the specified template and additional view data.
+ The HTML markup for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template that is used to render the object.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+ The type of the model.
+ The type of the value.
+
+
+ Returns HTML markup for each property in the object that is represented by the , using the specified template and an HTML field ID.
+ The HTML markup for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template that is used to render the object.
+ A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
+ The type of the model.
+ The type of the value.
+
+
+ Returns HTML markup for each property in the object that is represented by the specified expression, using the template, an HTML field ID, and additional view data.
+ The HTML markup for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template that is used to render the object.
+ A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+ The type of the model.
+ The type of the value.
Returns HTML markup for each property in the model.
@@ -7732,9 +7844,9 @@
The HTML helper instance that this method extends.
An expression that identifies the object that contains the properties to display.
-
+
Returns HTML markup for each property in the object that is represented by the specified expression.
- Returns .
+ The HTML markup for each property.zz 12/29/2010 1:25:49 PM
The HTML helper instance that this method extends.
An expression that identifies the object that contains the properties to display.
The type of the model.
@@ -7788,21 +7900,60 @@
A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
-
-
-
+
+ Returns an HTML input element for each property in the object that is represented by the expression.
+ An HTML input element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The type of the model.
+ The type of the value.
-
-
-
+
+ Returns an HTML input element for each property in the object that is represented by the expression, using additional view data.
+ An HTML input element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+ The type of the model.
+ The type of the value.
-
-
-
+
+ Returns an HTML input element for each property in the object that is represented by the expression, using the specified template.
+ An HTML input element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template to use to render the object.
+ The type of the model.
+ The type of the value.
-
-
-
+
+ Returns an HTML input element for each property in the object that is represented by the expression, using the specified template and additional view data.
+ An HTML input element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template to use to render the object.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+ The type of the model.
+ The type of the value.
+
+
+ Returns an HTML input element for each property in the object that is represented by the expression, using the specified template and HTML field name.
+ An HTML input element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template to use to render the object.
+ The type of the model.
+ The type of the value.
+
+
+ Returns an HTML input element for each property in the object that is represented by the expression, using the specified template, HTML field name, and additional view data.
+ An HTML input element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template to use to render the object.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+ The type of the model.
+ The type of the value.
Returns an HTML input element for each property in the model.
@@ -8044,7 +8195,7 @@
The HTML helper instance that this method extends.
- Represents support for HTML input controls in an application.
+ Represents support for HTML input controls in an application.12/23/2010 12:04:24 PM zz
Returns a check box input element by using the specified HTML helper and the name of the form field.
@@ -8089,11 +8240,31 @@
The name of the form field.
An object that contains the HTML attributes to set for the element.
-
-
+
+ Returns a check box input element for each property in the object that is represented by the specified expression.
+ An HTML input element whose type attribute is set to "checkbox" for each property in the object that is represented by the specified expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The type of the model.
+ The parameter is null.
-
-
+
+ Returns a check box input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ An HTML input element whose type attribute is set to "checkbox" for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ A dictionary that contains the HTML attributes to set for the element.
+ The type of the model.
+ The parameter is null.
+
+
+ Returns a check box input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ An HTML input element whose type attribute is set to "checkbox" for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The parameter is null.
Returns a hidden input element by using the specified HTML helper and the name of the form field.
@@ -8124,13 +8295,31 @@
The value of the hidden input element. If this value is null, the value of the element is retrieved from the object. If no value exists there, the value is retrieved from the object.
An object that contains the HTML attributes to set for the element.
-
-
-
+
+ Returns an HTML hidden input element for each property in the object that is represented by the specified expression.
+ An input element whose type attribute is set to "hidden" for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The type of the model.
+ The type of the property.
-
-
-
+
+ Returns an HTML hidden input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ An input element whose type attribute is set to "hidden" for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the property.
+
+
+ Returns an HTML hidden input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ An input element whose type attribute is set to "hidden" for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the property.
Returns a password input element by using the specified HTML helper and the name of the form field.
@@ -8161,13 +8350,34 @@
The value of the password input element. If this value is null, the value of the element is retrieved from the object. If no value exists there, the value is retrieved from the object.
An object that contains the HTML attributes to set for the element.
-
-
-
+
+ Returns a password input element for each property in the object that is represented by the specified expression.
+ An HTML input element whose type attribute is set to "password" for each property in the object that is represented by the specified expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
-
-
-
+
+ Returns a password input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ An HTML input element whose type attribute is set to "password" for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ A dictionary that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
+
+
+ Returns a password input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ An HTML input element whose type attribute is set to "password" for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
Returns a radio button input element that is used to present mutually exclusive options.
@@ -8230,13 +8440,37 @@
The parameter is null or empty.
The parameter is null.
-
-
-
+
+ Returns a radio button input element for each property in the object that is represented by the specified expression.
+ An HTML input element whose type attribute is set to "radio" for each property in the object that is represented by the specified expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ If this radio button is selected, the value of the radio button that is submitted when the form is posted. If the value of the selected radio button in the or the object matches this value, this radio button is selected.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
-
-
-
+
+ Returns a radio button input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ An HTML input element whose type attribute is set to "radio" for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ If this radio button is selected, the value of the radio button that is submitted when the form is posted. If the value of the selected radio button in the or the object matches this value, this radio button is selected.
+ A dictionary that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
+
+
+ Returns a radio button input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ An HTML input element whose type attribute is set to "radio" for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ If this radio button is selected, the value of the radio button that is submitted when the form is posted. If the value of the selected radio button in the or the object matches this value, this radio button is selected.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
Returns a text input element by using the specified HTML helper and the name of the form field.
@@ -8267,13 +8501,34 @@
The value of the text input element. If this value is null, the value of the element is retrieved from the object. If no value exists there, the value is retrieved from the object.
An object that contains the HTML attributes to set for the element.
-
-
-
+
+ Returns a text input element for each property in the object that is represented by the specified expression.
+ An HTML input element whose type attribute is set to "text" for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The type of the model.
+ The type of the value.
+ The parameter is null or empty.
-
-
-
+
+ Returns a text input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ An HTML input element type attribute is set to "text" for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ A dictionary that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+ The parameter is null or empty.
+
+
+ Returns a text input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ An HTML input element whose type attribute is set to "text" for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+ The parameter is null or empty.
Represents support for the HTML label element in an ASP.NET MVC view.
@@ -8287,17 +8542,20 @@
Returns .
-
- Returns an HTML label element and the property name of the property that is represented by the specified expression.
+
An HTML label element and the property name of the property that is represented by the expression.
The HTML helper instance that this method extends.
An expression that identifies the property to display.
- The type of the model.
+ The type of the model.
The type of the value.
-
-
-
+
+ An HTML label element and the property name of the property that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the property to display.
+ The label text.
+ The type of the model.
+ The type of the value.
Returns an HTML label element and the property name of the property that is represented by the model.
@@ -8675,17 +8933,65 @@
The text for a default empty item. This parameter can be null.
The parameter is null or empty.
-
-
-
+
+ Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items.
+ An HTML select element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A collection of objects that are used to populate the drop-down list.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
-
-
-
+
+ Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items and HTML attributes.
+ An HTML select element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A collection of objects that are used to populate the drop-down list.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
-
-
-
+
+ Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items and HTML attributes.
+ An HTML select element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A collection of objects that are used to populate the drop-down list.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
+
+
+ Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items and option label.
+ An HTML select element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A collection of objects that are used to populate the drop-down list.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
+
+
+ Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items, option label, and HTML attributes.
+ An HTML select element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A collection of objects that are used to populate the drop-down list.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
+
+
+ Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items, option label, and HTML attributes.
+ An HTML select element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A collection of objects that are used to populate the drop-down list.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
Returns a multi-select select element using the specified HTML helper and the name of the form field.
@@ -8720,13 +9026,35 @@
An object that contains the HTML attributes to set for the element.
The parameter is null or empty.
-
-
-
+
+ Returns an HTML select element for each property in the object that is represented by the specified expression and using the specified list items.
+ An HTML select element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A collection of objects that are used to populate the drop-down list.
+ The type of the model.
+ The type of the property.
+ The parameter is null.
-
-
-
+
+ Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items and HTML attributes.
+ An HTML select element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A collection of objects that are used to populate the drop-down list.
+ The type of the model.
+ The type of the property.
+ The parameter is null.
+
+
+ Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items and HTML attributes.
+ An HTML select element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A collection of objects that are used to populate the drop-down list.
+ The type of the model.
+ The type of the property.
+ The parameter is null.
Represents support for HTML textarea controls.
@@ -8794,17 +9122,58 @@
The text content.
An object that contains the HTML attributes to set for the element.
-
-
-
+
+ Returns an HTML textarea element for each property in the object that is represented by the specified expression.
+ An HTML textarea element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The type of the model.
+ The type of the property.
+ The parameter is null.
-
-
-
+
+ Returns an HTML textarea element for each property in the object that is represented by the specified expression using the specified HTML attributes.
+ An HTML textarea element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ A dictionary that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the property.
+ The parameter is null.
-
-
-
+
+ Returns an HTML textarea element for each property in the object that is represented by the specified expression using the specified HTML attributes and the number of rows and columns.
+ An HTML textarea element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The number of rows.
+ The number of columns.
+ A dictionary that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the property.
+ The parameter is null.
+
+
+ Returns an HTML textarea element for each property in the object that is represented by the specified expression using the specified HTML attributes and the number of rows and columns.
+ An HTML textarea element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The number of rows.
+ The number of columns.
+ A dictionary that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the property.
+ The parameter is null.
+
+
+ Returns an HTML textarea element for each property in the object that is represented by the specified expression using the specified HTML attributes.
+ An HTML textarea element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ A dictionary that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the property.
+ The parameter is null.
Provides support for validating the input from an HTML form.
@@ -8819,9 +9188,12 @@
The name of the property or model object that is being validated.
The parameter is null.
-
-
-
+
+ Retrieves the validation metadata for the specified model and applies each rule to the data field.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The type of the model.
+ The type of the property.
Displays a validation message if an error exists for the specified field in the object.
@@ -8866,17 +9238,42 @@
The message to display if the specified field contains an error.
An object that contains the HTML attributes for the element.
-
-
-
+
+ Returns the HTML markup for a validation-error message for each data field that is represented by the specified expression.
+ If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The type of the model.
+ The type of the property.
-
-
-
+
+ Returns the HTML markup for a validation-error message for each data field that is represented by the specified expression, using the specified message.
+ If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The message to display if the specified field contains an error.
+ The type of the model.
+ The type of the property.
-
-
-
+
+ Returns the HTML markup for a validation-error message for each data field that is represented by the specified expression, using the specified message and HTML attributes.
+ If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The message to display if the specified field contains an error.
+ An object that contains the HTML attributes for the element.
+ The type of the model.
+ The type of the property.
+
+
+ Returns the HTML markup for a validation-error message for each data field that is represented by the specified expression, using the specified message and HTML attributes.
+ If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The message to display if the specified field contains an error.
+ An object that contains the HTML attributes for the element.
+ The type of the model.
+ The type of the property.
Returns an unordered list (ul element) of validation messages that are in the object.
@@ -8932,5 +9329,67 @@
The message to display if the specified field contains an error.
An object that contains the HTML attributes for the element.
+
+ Provides a model-aware class for ASP.NET MVC.
+
+
+ Initializes a new instance of the class.
+ The start of the span.
+ The content.
+ The type name of the model.
+
+
+ Gets a value that indicates whether the current object is identical to the specified object.
+ true if the current object is identical to the specified object; otherwise, false.
+ The model span object.
+
+
+ Returns the hash code of the object.
+ The hash code of the object.
+
+
+ Gets the type name of the model.
+ The type name of the model.
+
+
+ Compiles ASP.NET Razor views into classes.
+
+
+ Initializes a new instance of the class.
+ The class name.
+ The root namespace.
+ The name of the source file.
+ The ASP.NET Razor engine host.
+
+
+ Returns a value that indicates whether the specified model span is an instance of .
+ true if the value of the parameter is an instance of ; otherwise, false.
+ The model span.
+
+
+
+
+
+ Compiles ASP.NET Razor views into classes.
+
+
+
+
+ Extends the VBCodeParser class by adding support for the @model keyword.
+
+
+ Initializes a new instance of the class.
+
+
+
+ Configures the ASP.NET Razor parser and code generator for a specified file.
+
+
+ Initializes a new instance of the class.
+ The virtual path of the ASP.NET Razor file.
+ The physical path of the ASP.NET Razor file.
+
+
+
\ No newline at end of file
diff --git a/lib/aspnetmvc/System.Web.Razor.dll b/lib/aspnetmvc/System.Web.Razor.dll
index 51e3cb202..cd950e6d1 100644
Binary files a/lib/aspnetmvc/System.Web.Razor.dll and b/lib/aspnetmvc/System.Web.Razor.dll differ
diff --git a/lib/aspnetmvc/System.Web.WebPages.Deployment.dll b/lib/aspnetmvc/System.Web.WebPages.Deployment.dll
index 89ef8f535..2e09c485e 100644
Binary files a/lib/aspnetmvc/System.Web.WebPages.Deployment.dll and b/lib/aspnetmvc/System.Web.WebPages.Deployment.dll differ
diff --git a/lib/aspnetmvc/System.Web.WebPages.Razor.dll b/lib/aspnetmvc/System.Web.WebPages.Razor.dll
index 3221571df..9846dd3fc 100644
Binary files a/lib/aspnetmvc/System.Web.WebPages.Razor.dll and b/lib/aspnetmvc/System.Web.WebPages.Razor.dll differ
diff --git a/lib/aspnetmvc/System.Web.WebPages.dll b/lib/aspnetmvc/System.Web.WebPages.dll
index 7d03d4771..9fea01285 100644
Binary files a/lib/aspnetmvc/System.Web.WebPages.dll and b/lib/aspnetmvc/System.Web.WebPages.dll differ
diff --git a/lib/aspnetmvc/WebMatrix.Data.dll b/lib/aspnetmvc/WebMatrix.Data.dll
index bc3260fc0..16c268b2f 100644
Binary files a/lib/aspnetmvc/WebMatrix.Data.dll and b/lib/aspnetmvc/WebMatrix.Data.dll differ
diff --git a/lib/msdeploy/manifest.xml b/lib/msdeploy/manifest.xml
index 7b714369a..629f30126 100644
--- a/lib/msdeploy/manifest.xml
+++ b/lib/msdeploy/manifest.xml
@@ -2,7 +2,5 @@
-
-
diff --git a/lib/msdeploy/parameters.xml b/lib/msdeploy/parameters.xml
index 4b7acb8b8..17c00292f 100644
--- a/lib/msdeploy/parameters.xml
+++ b/lib/msdeploy/parameters.xml
@@ -1,4 +1,4 @@
-
+
@@ -13,15 +13,7 @@
-
-
-
-
-
-
-
-
-
+
@@ -30,13 +22,13 @@
-
-
@@ -54,24 +46,18 @@
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lib/sqlce/EULA_ENU.rtf b/lib/sqlce/EULA_ENU.rtf
index 48149ffb9..7e5bc3a5a 100644
--- a/lib/sqlce/EULA_ENU.rtf
+++ b/lib/sqlce/EULA_ENU.rtf
@@ -1,86 +1,190 @@
-{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff38\deff0\stshfdbch31506\stshfloch31506\stshfhich31506\stshfbi31507\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
-{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}
-{\f11\fbidi \fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f13\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}SimSun{\*\falt \'cb\'ce\'cc\'e5};}
-{\f13\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}SimSun{\*\falt \'cb\'ce\'cc\'e5};}{\f38\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;}
-{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0603020202020204}Trebuchet MS;}{\f40\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}@SimSun;}{\f41\fbidi \fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}@MS Mincho;}
-{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
-{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
-{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
-{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f42\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
-{\f43\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f45\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f46\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f47\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
-{\f48\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f49\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f50\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f62\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}
-{\f63\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f65\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f66\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f67\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}
-{\f68\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f69\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f70\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}
-{\f154\fbidi \fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f152\fbidi \fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}
-{\f153\fbidi \fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f155\fbidi \fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}
-{\f156\fbidi \fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f159\fbidi \fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt \'82\'6c\'82\'72 \'96\'be\'92\'a9};}{\f422\fbidi \fswiss\fcharset238\fprq2 Tahoma CE;}
-{\f423\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f425\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek;}{\f426\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur;}{\f427\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);}
-{\f428\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f429\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic;}{\f430\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f431\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai);}
-{\f432\fbidi \fswiss\fcharset238\fprq2 Trebuchet MS CE;}{\f433\fbidi \fswiss\fcharset204\fprq2 Trebuchet MS Cyr;}{\f435\fbidi \fswiss\fcharset161\fprq2 Trebuchet MS Greek;}{\f436\fbidi \fswiss\fcharset162\fprq2 Trebuchet MS Tur;}
-{\f439\fbidi \fswiss\fcharset186\fprq2 Trebuchet MS Baltic;}{\f444\fbidi \fnil\fcharset0\fprq2 @SimSun Western;}{\f454\fbidi \fmodern\fcharset0\fprq1 @MS Mincho Western;}{\f452\fbidi \fmodern\fcharset238\fprq1 @MS Mincho CE;}
-{\f453\fbidi \fmodern\fcharset204\fprq1 @MS Mincho Cyr;}{\f455\fbidi \fmodern\fcharset161\fprq1 @MS Mincho Greek;}{\f456\fbidi \fmodern\fcharset162\fprq1 @MS Mincho Tur;}{\f459\fbidi \fmodern\fcharset186\fprq1 @MS Mincho Baltic;}
-{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
-{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
-{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
-{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
-{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
-{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}
-{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}
-{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
-{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
-{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
-{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
-{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
-{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
-{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
-{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
-{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
-{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
-{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
-{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
-{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}
-{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
-\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red31\green73\blue125;\ctexttwo\ctint255\cshade255\red31\green73\blue125;}{\*\defchp \f31506\fs22 }{\*\defpap
-\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1
-\af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \snext0 \sautoupd \sqformat \spriority0 \styrsid12727346 Normal;}{\s1\ql \fi-357\li357\ri0\sb120\sa120\widctlpar
-\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls3\outlinelevel0\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
-\sbasedon0 \snext1 \slink15 \sqformat \styrsid12727346 heading 1;}{\s2\ql \fi-363\li720\ri0\sb120\sa120\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0 \rtlch\fcs1
-\ab\af38\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext2 \slink16 \sqformat \styrsid12727346 heading 2;}{\s3\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar
-\tx1077\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
-\sbasedon0 \snext3 \slink17 \sqformat \styrsid12727346 heading 3;}{\s4\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl3\outlinelevel3\adjustright\rin0\lin1435\itap0 \rtlch\fcs1
-\af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext4 \slink18 \sqformat \styrsid12727346 heading 4;}{\s5\ql \fi-357\li1792\ri0\sb120\sa120\widctlpar
-\tx1792\jclisttab\tx2155\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl4\outlinelevel4\adjustright\rin0\lin1792\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
-\sbasedon0 \snext5 \slink19 \sqformat \styrsid12727346 heading 5;}{\s6\ql \fi-357\li2149\ri0\sb120\sa120\widctlpar\jclisttab\tx2152\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl5\outlinelevel5\adjustright\rin0\lin2149\itap0 \rtlch\fcs1
-\af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext6 \slink20 \sqformat \styrsid12727346 heading 6;}{\s7\ql \fi-357\li2506\ri0\sb120\sa120\widctlpar
-\jclisttab\tx2509\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl6\outlinelevel6\adjustright\rin0\lin2506\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
-\sbasedon0 \snext7 \slink21 \sqformat \styrsid12727346 heading 7;}{\s8\ql \fi-357\li2863\ri0\sb120\sa120\widctlpar\jclisttab\tx2866\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl7\outlinelevel7\adjustright\rin0\lin2863\itap0 \rtlch\fcs1
-\af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext8 \slink22 \sqformat \styrsid12727346 heading 8;}{\s9\ql \fi-358\li3221\ri0\sb120\sa120\widctlpar
-\jclisttab\tx3223\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl8\outlinelevel8\adjustright\rin0\lin3221\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
-\sbasedon0 \snext9 \slink23 \sqformat \styrsid12727346 heading 9;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
+{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff38\deff0\stshfdbch11\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033\themelang1033\themelangfe2052\themelangcs1025{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times};}
+{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New{\*\falt Arial};}{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol{\*\falt Bookshelf Symbol 3};}
+{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings{\*\falt Symbol};}{\f11\fbidi \fmodern\fcharset128\fprq1{\*\panose 02020609040205080304}MS Mincho{\*\falt ?l?r ??\'81\'66c};}
+{\f13\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}SimSun{\*\falt ????\'a1\'a7???};}{\f13\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}SimSun{\*\falt ????\'a1\'a7???};}
+{\f38\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma{\*\falt ?? ??};}{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0603020202020204}Trebuchet MS{\*\falt Arial};}
+{\f40\fbidi \fmodern\fcharset128\fprq1{\*\panose 00000000000000000000}@MS Mincho{\*\falt @MS Gothic};}{\f41\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}@SimSun;}
+{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times};}{\fdbmajor\f31501\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}SimSun{\*\falt ????\'a1\'a7???};}
+{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times};}
+{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times};}{\fdbminor\f31505\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}SimSun{\*\falt ????\'a1\'a7???};}
+{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}{\f42\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times};}
+{\f43\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times};}{\f45\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times};}{\f46\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times};}
+{\f47\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times};}{\f48\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times};}{\f49\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times};}
+{\f50\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times};}{\f62\fbidi \fmodern\fcharset238\fprq1 Courier New CE{\*\falt Arial};}{\f63\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr{\*\falt Arial};}
+{\f65\fbidi \fmodern\fcharset161\fprq1 Courier New Greek{\*\falt Arial};}{\f66\fbidi \fmodern\fcharset162\fprq1 Courier New Tur{\*\falt Arial};}{\f67\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew){\*\falt Arial};}
+{\f68\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic){\*\falt Arial};}{\f69\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic{\*\falt Arial};}{\f70\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese){\*\falt Arial};}
+{\f154\fbidi \fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt ?l?r ??\'81\'66c};}{\f152\fbidi \fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt ?l?r ??\'81\'66c};}{\f153\fbidi \fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt ?l?r ??\'81\'66c};}
+{\f155\fbidi \fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt ?l?r ??\'81\'66c};}{\f156\fbidi \fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt ?l?r ??\'81\'66c};}{\f159\fbidi \fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt ?l?r ??\'81\'66c};}
+{\f174\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt ????\'a1\'a7???};}{\f174\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt ????\'a1\'a7???};}{\f422\fbidi \fswiss\fcharset238\fprq2 Tahoma CE{\*\falt ?? ??};}
+{\f423\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr{\*\falt ?? ??};}{\f425\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek{\*\falt ?? ??};}{\f426\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur{\*\falt ?? ??};}
+{\f427\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew){\*\falt ?? ??};}{\f428\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic){\*\falt ?? ??};}{\f429\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic{\*\falt ?? ??};}
+{\f430\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese){\*\falt ?? ??};}{\f431\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai){\*\falt ?? ??};}{\f432\fbidi \fswiss\fcharset238\fprq2 Trebuchet MS CE{\*\falt Arial};}
+{\f433\fbidi \fswiss\fcharset204\fprq2 Trebuchet MS Cyr{\*\falt Arial};}{\f435\fbidi \fswiss\fcharset161\fprq2 Trebuchet MS Greek{\*\falt Arial};}{\f436\fbidi \fswiss\fcharset162\fprq2 Trebuchet MS Tur{\*\falt Arial};}
+{\f439\fbidi \fswiss\fcharset186\fprq2 Trebuchet MS Baltic{\*\falt Arial};}{\f444\fbidi \fmodern\fcharset0\fprq1 @MS Mincho Western{\*\falt @MS Gothic};}{\f442\fbidi \fmodern\fcharset238\fprq1 @MS Mincho CE{\*\falt @MS Gothic};}
+{\f443\fbidi \fmodern\fcharset204\fprq1 @MS Mincho Cyr{\*\falt @MS Gothic};}{\f445\fbidi \fmodern\fcharset161\fprq1 @MS Mincho Greek{\*\falt @MS Gothic};}{\f446\fbidi \fmodern\fcharset162\fprq1 @MS Mincho Tur{\*\falt @MS Gothic};}
+{\f449\fbidi \fmodern\fcharset186\fprq1 @MS Mincho Baltic{\*\falt @MS Gothic};}{\f454\fbidi \fnil\fcharset0\fprq2 @SimSun Western;}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times};}
+{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times};}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times};}
+{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times};}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times};}
+{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times};}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times};}
+{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times};}{\fdbmajor\f31520\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt ????\'a1\'a7???};}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}
+{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}
+{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times};}
+{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times};}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times};}
+{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times};}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times};}
+{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times};}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times};}
+{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times};}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times};}
+{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times};}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times};}
+{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times};}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times};}
+{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times};}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times};}
+{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times};}{\fdbminor\f31560\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt ????\'a1\'a7???};}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}
+{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}
+{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \fswiss\fcharset238\fprq2 Arial CE;}
+{\fbiminor\f31579\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;}{\fbiminor\f31581\fbidi \fswiss\fcharset161\fprq2 Arial Greek;}{\fbiminor\f31582\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}{\fbiminor\f31583\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}
+{\fbiminor\f31584\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}{\fbiminor\f31585\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;}{\fbiminor\f31586\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;
+\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;
+\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red31\green73\blue125;\ctextone\ctint255\cshade255\red0\green0\blue0;}{\*\defchp \fs22\dbch\af11 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \snext0 \sautoupd \sqformat \spriority0 \styrsid1456345 Normal;}{\s1\ql \fi-357\li357\ri0\sb120\sa120\widctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls12\outlinelevel0\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext1 \slink15 \sqformat \styrsid1456345 heading 1;}{\s2\ql \fi-363\li720\ri0\sb120\sa120\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls12\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0 \rtlch\fcs1
+\ab\af38\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext2 \slink16 \sqformat \styrsid1456345 heading 2;}{\s3\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar
+\tx1077\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls12\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext3 \slink17 \sqformat \styrsid1456345 heading 3;}{\s4\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls12\ilvl3\outlinelevel3\adjustright\rin0\lin1435\itap0 \rtlch\fcs1
+\af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext4 \slink18 \sqformat \styrsid1456345 heading 4;}{\s5\ql \fi-357\li1792\ri0\sb120\sa120\widctlpar
+\tx1792\jclisttab\tx2155\wrapdefault\aspalpha\aspnum\faauto\ls12\ilvl4\outlinelevel4\adjustright\rin0\lin1792\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext5 \slink19 \sqformat \styrsid1456345 heading 5;}{\s6\ql \fi-357\li2149\ri0\sb120\sa120\widctlpar\jclisttab\tx2152\wrapdefault\aspalpha\aspnum\faauto\ls12\ilvl5\outlinelevel5\adjustright\rin0\lin2149\itap0 \rtlch\fcs1
+\af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext6 \slink20 \sqformat \styrsid1456345 heading 6;}{\s7\ql \fi-357\li2506\ri0\sb120\sa120\widctlpar
+\jclisttab\tx2509\wrapdefault\aspalpha\aspnum\faauto\ls12\ilvl6\outlinelevel6\adjustright\rin0\lin2506\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext7 \slink21 \sqformat \styrsid1456345 heading 7;}{\s8\ql \fi-357\li2863\ri0\sb120\sa120\widctlpar\jclisttab\tx2866\wrapdefault\aspalpha\aspnum\faauto\ls12\ilvl7\outlinelevel7\adjustright\rin0\lin2863\itap0 \rtlch\fcs1
+\af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext8 \slink22 \sqformat \styrsid1456345 heading 8;}{\s9\ql \fi-358\li3221\ri0\sb120\sa120\widctlpar
+\jclisttab\tx3223\wrapdefault\aspalpha\aspnum\faauto\ls12\ilvl8\outlinelevel8\adjustright\rin0\lin3221\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext9 \slink23 \sqformat \styrsid1456345 heading 9;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1
-\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{\*\cs15 \additive
-\rtlch\fcs1 \ab\af38\afs19 \ltrch\fcs0 \b\fs19\loch\f38\hich\af38\dbch\af11 \sbasedon10 \slink1 \slocked \styrsid12727346 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\af38\afs19 \ltrch\fcs0 \b\fs19\loch\f38\hich\af38\dbch\af11
-\sbasedon10 \slink2 \slocked \styrsid12727346 Heading 2 Char;}{\*\cs17 \additive \rtlch\fcs1 \af38\afs19 \ltrch\fcs0 \fs19\loch\f38\hich\af38\dbch\af11 \sbasedon10 \slink3 \slocked \styrsid12727346 Heading 3 Char;}{\*\cs18 \additive \rtlch\fcs1
-\af38\afs19 \ltrch\fcs0 \fs19\loch\f38\hich\af38\dbch\af11 \sbasedon10 \slink4 \slocked \styrsid12727346 Heading 4 Char;}{\*\cs19 \additive \rtlch\fcs1 \af38\afs19 \ltrch\fcs0 \fs19\loch\f38\hich\af38\dbch\af11
-\sbasedon10 \slink5 \slocked \styrsid12727346 Heading 5 Char;}{\*\cs20 \additive \rtlch\fcs1 \af38\afs19 \ltrch\fcs0 \fs19\loch\f38\hich\af38\dbch\af11 \sbasedon10 \slink6 \slocked \styrsid12727346 Heading 6 Char;}{\*\cs21 \additive \rtlch\fcs1
-\af38\afs19 \ltrch\fcs0 \fs19\loch\f38\hich\af38\dbch\af11 \sbasedon10 \slink7 \slocked \styrsid12727346 Heading 7 Char;}{\*\cs22 \additive \rtlch\fcs1 \af38\afs19 \ltrch\fcs0 \fs19\loch\f38\hich\af38\dbch\af11
-\sbasedon10 \slink8 \slocked \styrsid12727346 Heading 8 Char;}{\*\cs23 \additive \rtlch\fcs1 \af38\afs19 \ltrch\fcs0 \fs19\loch\f38\hich\af38\dbch\af11 \sbasedon10 \slink9 \slocked \styrsid12727346 Heading 9 Char;}{
-\s24\ql \li357\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
-\sbasedon0 \snext24 \styrsid12727346 Body 1;}{\s25\ql \fi-363\li720\ri0\sb120\sa120\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
-\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext25 \styrsid12727346 Bullet 2;}{\s26\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar
-\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
-\sbasedon0 \snext26 \styrsid12727346 Bullet 3;}{\s27\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af38\afs28\alang1025 \ltrch\fcs0
-\b\fs28\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \styrsid12727346 Heading EULA;}{\s28\ql \li0\ri0\sb120\sa120\widctlpar\brdrb\brdrs\brdrw10\brsp20
-\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af38\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \styrsid12727346
-Heading Software Title;}{\s29\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0
-\b\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext29 \styrsid12727346 Preamble;}{\s30\ql \li0\ri0\sb120\sa120\widctlpar\brdrt\brdrs\brdrw10\brsp20
-\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon29 \snext30 \styrsid12727346
-Preamble Border Above;}{\*\cs31 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf2 \sbasedon10 \styrsid12727346 Hyperlink;}{\s32\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af38\afs19\alang1025
-\ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \snext0 \styrsid12727346 Body 0 Bold;}{\s33\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1
-\af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \snext0 \styrsid12727346 Body 0;}}{\*\listtable{\list\listtemplateid789093748\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0
-\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-317712510\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s25\fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
-\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
-{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1033\langfe1033\loch\f0\hich\af0\dbch\af11\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{\*
+\cs15 \additive \rtlch\fcs1 \ab\af38\afs19 \ltrch\fcs0 \b\f38\fs19 \sbasedon10 \slink1 \slocked \styrsid1456345 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\af38\afs19 \ltrch\fcs0 \b\f38\fs19 \sbasedon10 \slink2 \slocked \styrsid1456345
+Heading 2 Char;}{\*\cs17 \additive \rtlch\fcs1 \af38\afs19 \ltrch\fcs0 \f38\fs19 \sbasedon10 \slink3 \slocked \styrsid1456345 Heading 3 Char;}{\*\cs18 \additive \rtlch\fcs1 \af38\afs19 \ltrch\fcs0 \f38\fs19 \sbasedon10 \slink4 \slocked \styrsid1456345
+Heading 4 Char;}{\*\cs19 \additive \rtlch\fcs1 \af38\afs19 \ltrch\fcs0 \f38\fs19 \sbasedon10 \slink5 \slocked \styrsid1456345 Heading 5 Char;}{\*\cs20 \additive \rtlch\fcs1 \af38\afs19 \ltrch\fcs0 \f38\fs19 \sbasedon10 \slink6 \slocked \styrsid1456345
+Heading 6 Char;}{\*\cs21 \additive \rtlch\fcs1 \af38\afs19 \ltrch\fcs0 \f38\fs19 \sbasedon10 \slink7 \slocked \styrsid1456345 Heading 7 Char;}{\*\cs22 \additive \rtlch\fcs1 \af38\afs19 \ltrch\fcs0 \f38\fs19 \sbasedon10 \slink8 \slocked \styrsid1456345
+Heading 8 Char;}{\*\cs23 \additive \rtlch\fcs1 \af38\afs19 \ltrch\fcs0 \f38\fs19 \sbasedon10 \slink9 \slocked \styrsid1456345 Heading 9 Char;}{\s24\ql \li357\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin357\itap0
+\rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext24 \styrsid1456345 Body 1;}{
+\s25\ql \li720\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext25 \styrsid1456345 Body 2;}{\s26\ql \li1077\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext26 \styrsid1456345 Body 3;}{\s27\ql \li1435\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1435\itap0 \rtlch\fcs1
+\af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext27 \styrsid1456345 Body 4;}{
+\s28\ql \li1803\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1803\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext28 \styrsid1456345 Body 5;}{\s29\ql \li2160\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2160\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext29 \styrsid1456345 Body 6;}{\s30\ql \li2506\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2506\itap0 \rtlch\fcs1
+\af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext30 \styrsid1456345 Body 7;}{
+\s31\ql \li2863\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin2863\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext31 \styrsid1456345 Body 8;}{\s32\ql \li3221\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin3221\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext32 \styrsid1456345 Body 9;}{\s33\ql \fi-357\li357\ri0\sb120\sa120\widctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin357\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext33 \styrsid1456345
+Bullet 1;}{\s34\ql \fi-363\li720\ri0\sb120\sa120\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext34 \styrsid1456345 Bullet 2;}{\s35\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar
+\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext35 \slink87 \styrsid1456345 Bullet 3;}{\s36\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin1435\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext36 \styrsid1456345 Bullet 4;}{\s37\ql \fi-357\li1792\ri0\sb120\sa120\widctlpar
+\jclisttab\tx1795\wrapdefault\aspalpha\aspnum\faauto\ls5\adjustright\rin0\lin1792\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext37 \styrsid1456345
+Bullet 5;}{\s38\ql \fi-357\li2149\ri0\sb120\sa120\widctlpar\jclisttab\tx2152\wrapdefault\aspalpha\aspnum\faauto\ls6\adjustright\rin0\lin2149\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext38 \styrsid1456345 Bullet 6;}{\s39\ql \fi-357\li2506\ri0\sb120\sa120\widctlpar
+\jclisttab\tx2509\wrapdefault\aspalpha\aspnum\faauto\ls7\adjustright\rin0\lin2506\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext39 \styrsid1456345
+Bullet 7;}{\s40\ql \fi-357\li2863\ri0\sb120\sa120\widctlpar\jclisttab\tx2866\wrapdefault\aspalpha\aspnum\faauto\ls8\adjustright\rin0\lin2863\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext40 \styrsid1456345 Bullet 8;}{\s41\ql \fi-358\li3221\ri0\sb120\sa120\widctlpar
+\jclisttab\tx3223\wrapdefault\aspalpha\aspnum\faauto\ls9\adjustright\rin0\lin3221\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon32 \snext41 \styrsid1456345 Bullet 9;}{\s42\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af38\afs28\alang1025 \ltrch\fcs0
+\b\fs28\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \styrsid1456345 Heading EULA;}{\s43\ql \li0\ri0\sb120\sa120\widctlpar\brdrb\brdrs\brdrw10\brsp20
+\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af38\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \styrsid1456345
+Heading Software Title;}{\s44\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext44 \styrsid1456345 Preamble;}{\s45\ql \li0\ri0\sb120\sa120\widctlpar\brdrb\brdrs\brdrw10\brsp20
+\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext1 \styrsid1456345 Preamble Border;}{
+\s46\qc \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext46 \styrsid1456345 Heading Warranty;}{\s47\ql \fi-360\li360\ri0\sb120\sa120\widctlpar\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls11\outlinelevel0\adjustright\rin0\lin360\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \styrsid1456345 Heading 1 Warranty;}{\s48\ql \fi-360\li720\ri0\sb120\sa120\widctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls11\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext0 \styrsid1456345 Heading 2 Warranty;}{\s49\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar\tx1077\jclisttab\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls10\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0 \rtlch\fcs1
+\ab\af38\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon3 \snext49 \styrsid1456345 Heading 3 Bold;}{\s50\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar
+\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin1435\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\ul\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon36 \snext50 \styrsid1456345 Bullet 4 Underline;}{\s51\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\ul\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon35 \snext51 \styrsid1456345 Bullet 3 Underline;}{\s52\ql \li720\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0
+\rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\ul\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon25 \snext52 \styrsid1456345 Body 2 Underline;}{
+\s53\ql \li1077\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1077\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\ul\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon26 \snext53 \styrsid1456345 Body 3 Underline;}{\s54\ql \li0\ri0\sb120\sa120\sl480\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext54 \slink55 \styrsid1456345 Body Text Indent;}{\*\cs55 \additive \rtlch\fcs1 \af38\afs19 \ltrch\fcs0 \f38\fs19
+\sbasedon10 \slink54 \slocked \ssemihidden \styrsid1456345 Body Text Indent Char;}{\s56\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin1435\itap0 \rtlch\fcs1
+\ai\af38\afs19\alang1025 \ltrch\fcs0 \i\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon36 \snext56 \styrsid1456345 Bullet 4 Italics;}{\*\cs57 \additive \rtlch\fcs1 \af38 \ltrch\fcs0
+\f38\lang1033\langfe1033\langnp1033\langfenp1033 \sbasedon10 \styrsid1456345 Body 2 Char;}{\*\cs58 \additive \rtlch\fcs1 \af38 \ltrch\fcs0 \f38\lang1033\langfe1033\langnp1033\langfenp1033 \sbasedon10 \styrsid1456345 Body 3 Char;}{\*\cs59 \additive
+\rtlch\fcs1 \af38 \ltrch\fcs0 \f38\lang1033\langfe1033\langnp1033\langfenp1033 \sbasedon10 \styrsid1456345 Body 4 Char;}{\*\cs60 \additive \rtlch\fcs1 \af38 \ltrch\fcs0 \f38\lang1033\langfe1033\langnp1033\langfenp1033 \sbasedon10 \styrsid1456345
+Body 1 Char;}{\s61\ql \li0\ri0\sb120\sa120\widctlpar\brdrt\brdrs\brdrw10\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon44 \snext61 \styrsid1456345 Preamble Border Above;}{\s62\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
+\rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext62 \slink63 \ssemihidden \styrsid1456345 footnote text;}{\*\cs63 \additive \rtlch\fcs1 \af38\afs20
+\ltrch\fcs0 \f38\fs20 \sbasedon10 \slink62 \slocked \ssemihidden \styrsid1456345 Footnote Text Char;}{\*\cs64 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \super \sbasedon10 \ssemihidden \styrsid1456345 footnote reference;}{
+\s65\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext65 \slink66 \ssemihidden \styrsid1456345 endnote text;}{\*\cs66 \additive \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20 \sbasedon10 \slink65 \slocked \ssemihidden \styrsid1456345 Endnote Text Char;}{\*\cs67 \additive \rtlch\fcs1 \af0
+\ltrch\fcs0 \super \sbasedon10 \ssemihidden \styrsid1456345 endnote reference;}{\s68\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext68 \slink69 \ssemihidden \styrsid1456345 annotation text;}{\*\cs69 \additive \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20
+\sbasedon10 \slink68 \slocked \ssemihidden \styrsid1456345 Comment Text Char;}{\*\cs70 \additive \rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \fs16 \sbasedon10 \ssemihidden \styrsid1456345 annotation reference;}{\s71\ql \li0\ri0\sa160\sl-240\slmult0
+\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext71 \styrsid1456345 Char;}{
+\s72\ql \li0\ri0\sa160\sl-240\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext72 \styrsid1456345 Char Char Char Char;}{\*\cs73 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf2 \sbasedon10 \styrsid1456345 Hyperlink;}{\s74\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
+\rtlch\fcs1 \af38\afs16\alang1025 \ltrch\fcs0 \fs16\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext74 \slink75 \ssemihidden \styrsid1456345 Balloon Text;}{\*\cs75 \additive \rtlch\fcs1 \af38\afs16
+\ltrch\fcs0 \f38\fs16 \sbasedon10 \slink74 \slocked \ssemihidden \styrsid1456345 Balloon Text Char;}{\*\cs76 \additive \rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang1033\langfe1033\langnp1033\langfenp1033 \sbasedon10 \styrsid1456345 Heading 2 Char1;}{\*
+\cs77 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \sbasedon10 \styrsid1456345 page number;}{\s78\ql \li0\ri0\sa160\sl-240\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext78 \styrsid1456345 Char Char Char Char1;}{\s79\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1
+\ab\af38\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \snext0 \styrsid1456345 Body 0 Bold;}{\s80\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
+\rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \snext0 \styrsid1456345 Body 0;}{\s81\ql \li0\ri0\sb120\sa120\widctlpar
+\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext81 \slink82 \styrsid1456345 header;}{\*\cs82 \additive \rtlch\fcs1 \af38\afs19 \ltrch\fcs0 \f38\fs19 \sbasedon10 \slink81 \slocked \styrsid1456345 Header Char;}{\s83\ql \li0\ri0\sb120\sa120\widctlpar
+\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext83 \slink84 \styrsid1456345 footer;}{\*\cs84 \additive \rtlch\fcs1 \af38\afs19 \ltrch\fcs0 \f38\fs19 \sbasedon10 \slink83 \slocked \ssemihidden \styrsid1456345 Footer Char;}{
+\s85\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af38\afs20\alang1025 \ltrch\fcs0 \b\fs20\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon68 \snext68 \slink86 \ssemihidden \sunhideused \styrsid1456345 annotation subject;}{\*\cs86 \additive \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\f38\fs20 \sbasedon69 \slink85 \slocked \ssemihidden \styrsid1456345 Comment Subject Char;}{\*\cs87
+\additive \rtlch\fcs1 \af38\afs19 \ltrch\fcs0 \f38\fs19 \sbasedon10 \slink35 \slocked \styrsid1456345 Bullet 3 Char1;}{\s88\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin1077\itap0
+\rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\ul\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon35 \snext88 \styrsid1456345 Bullet 3 Underlined;}{\*\cs89 \additive \rtlch\fcs1 \af38\afs19 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\langnp1033\langfenp1033 \sbasedon10 \styrsid1456345 Char Char;}{\s90\ql \li0\ri0\sl-240\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1
+\af38\afs20\alang1025 \ltrch\fcs0 \fs18\lang1033\langfe1033\loch\f39\hich\af39\dbch\af11\cgrid\langnp1033\langfenp1033 \snext90 \spriority0 \styrsid1456345 AdditionalSoftware;}{\*\cs91 \additive \rtlch\fcs1 \af38\afs24\alang1025 \ltrch\fcs0
+\b\f39\fs24\lang1033\langfe1033\langnp1033\langfenp1033 \sbasedon10 \spriority0 \styrsid1456345 Char Char1;}{\s92\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin1435\itap0
+\rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\ul\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon36 \snext92 \spriority0 \styrsid1456345 Bullet 4 Underlined;}{\s93\ql \fi-360\li360\ri0\sb120\sa120\widctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls31\adjustright\rin0\lin360\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\f38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033
+\sbasedon0 \snext93 \spriority0 \styrsid1456345 Heading French Warranty;}{\s94\ql \li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\contextualspace \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
+\fs22\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af11\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext94 \sqformat \spriority34 \styrsid921734 List Paragraph;}}{\*\listtable{\list\listtemplateid1821544400\listhybrid{\listlevel\levelnfc23\levelnfcn23
+\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1380\jclisttab\tx1380\lin1380 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2100\jclisttab\tx2100\lin2100 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
+\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2820\jclisttab\tx2820\lin2820 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
+\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3540\jclisttab\tx3540\lin3540 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698693
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4260\jclisttab\tx4260\lin4260 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698689
+\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li4980\jclisttab\tx4980\lin4980 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698691
+\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5700\jclisttab\tx5700\lin5700 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698693
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6420\jclisttab\tx6420\lin6420 }{\listname ;}\listid189493747}{\list\listtemplateid176468498\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\leveltemplateid692200086\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s41\fi-358\li3221\jclisttab\tx3223\lin3221 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}
+\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600
+\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }
+{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23
+\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid196815738}{\list\listtemplateid-1793664660{\listlevel\levelnfc3
+\levelnfcn3\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\fbias0 \s47\fi-360\li360\jclisttab\tx360\lin360 }{\listlevel\levelnfc0\levelnfcn0
+\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\fbias0 \s48\fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'02);}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-360\li1080\jclisttab\tx1080\lin1080 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\levelspace0\levelindent0{\leveltext\'03(\'03);}{\levelnumbers\'02;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\'03(\'04);}{\levelnumbers\'02;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-360\li1800\jclisttab\tx1800\lin1800 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'03(\'05);}{\levelnumbers\'02;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}
+\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-360\li2520\jclisttab\tx2520\lin2520 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0
+\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-360\li3240
+\jclisttab\tx3240\lin3240 }{\listname ;}\listid394402059}{\list\listtemplateid1928476992{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1
+\ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0 \fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1
+\ab\ai0\af39\afs20 \ltrch\fcs0 \b\i0\f39\fs20\fbias0 \fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1
+\ab\ai0\af38\afs20 \ltrch\fcs0 \b\i0\f38\fs20\fbias0 \s49\fi-357\li1077\jclisttab\tx1440\lin1077 }{\listlevel\levelnfc3\levelnfcn3\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1
+\ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0 \fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc1\levelnfcn1\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'04.;}{\levelnumbers
+\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\strike0\f39\fs20\ulnone\fbias0 \fi-357\li1792\jclisttab\tx2155\lin1792 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \fi-357\li2149\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\'02i.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid398796681}{\list\listtemplateid789093748\listhybrid{\listlevel\levelnfc23\levelnfcn23
+\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-317712510\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s34\fi-363\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691
\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}
\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040
@@ -95,231 +199,334 @@ Preamble Border Above;}{\*\cs31 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf2 \
\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \s6\fi-357\li2149\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \s7\fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
{\leveltext\'02i.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \s8\fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
-{\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \s9\fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid752163927}{\list\listtemplateid-743794326\listhybrid{\listlevel\levelnfc23\levelnfcn23
-\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid2033377338\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s26\fi-357\li1077\jclisttab\tx1080\lin1077 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
-\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
-\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+{\leveltext\'02A.;}{\levelnumbers;}\rtlch\fcs1 \ab0\ai0\af39\afs20 \ltrch\fcs0 \b0\i0\f39\fs20\fbias0 \s9\fi-358\li3221\jclisttab\tx3223\lin3221 }{\listname ;}\listid752163927}{\list\listtemplateid-296591990\listhybrid{\listlevel\levelnfc23\levelnfcn23
+\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s40\fi-357\li2863\jclisttab\tx2866\lin2863 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0
+\fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23
+\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480
+\jclisttab\tx6480\lin6480 }{\listname ;}\listid810947713}{\list\listtemplateid-1813845996\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}
+\f3\fbias0 \s39\fi-357\li2506\jclisttab\tx2509\lin2506 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }
+{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0
+\fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1219436735}{\list\listtemplateid280937824\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li1124\lin1124 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1844\lin1844 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0
+{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2564\lin2564 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698689
+\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li3284\lin3284 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0
+\fi-360\li4004\lin4004 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4724\lin4724 }{\listlevel
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5444\lin5444 }{\listlevel\levelnfc23\levelnfcn23\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li6164\lin6164 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6884\lin6884 }{\listname ;}\listid1422722544}{\list\listtemplateid303218272\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid612407812\'01\u-3913 ?;}{\levelnumbers;}\f3\cf18\fbias0 \s36\fi-358\li1435\jclisttab\tx1437\lin1435 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0
+\fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23
+\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480
+\jclisttab\tx6480\lin6480 }{\listname ;}\listid1559511898}{\list\listtemplateid-743794326\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid2033377338
+\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s35\fi-357\li1077\jclisttab\tx1080\lin1077 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}
+\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160
+\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }
+{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23
+\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1567649130}{\list\listtemplateid-154908222\listhybrid{\listlevel\levelnfc3\levelnfcn3\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-596080174\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\fbias0 \s93\fi-360\li360\jclisttab\tx360\lin360 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\levelspace0\levelindent0{\leveltext\leveltemplateid67698703\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\leveltemplateid67698713\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\leveltemplateid67698715\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\leveltemplateid67698703\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\leveltemplateid67698713\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\leveltemplateid67698715\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1795057320}{\list\listtemplateid-961874242\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-1175557160\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s37\fi-357\li1792\jclisttab\tx1795\lin1792 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691
\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}
\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040
\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel
-\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1567649130}}
-{\*\listoverridetable{\listoverride\listid477573462\listoverridecount0\ls1}{\listoverride\listid1567649130\listoverridecount0\ls2}{\listoverride\listid752163927\listoverridecount0\ls3}}{\*\rsidtbl \rsid1521293\rsid3831519\rsid4992198\rsid12727346
-\rsid13905632\rsid14440854}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Donna Corey (LCA)}{\operator Ambrish Mishra}{\creatim\yr2010\mo6\dy4\hr17\min46}
-{\revtim\yr2010\mo6\dy4\hr17\min46}{\version2}{\edmins0}{\nofpages4}{\nofwords1487}{\nofchars8476}{\*\company Microsoft Corporation}{\nofcharsws9944}{\vern49247}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}
-\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect
-\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen
-\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1440\dgvorigin1440\dghshow1\dgvshow1
-\jexpand\viewkind1\viewscale120\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
-\asianbrkrule\rsidroot12727346\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0
-{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang
-{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang
-{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
-\pard\plain \ltrpar\s27\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12727346 \rtlch\fcs1 \ab\af38\afs28\alang1025 \ltrch\fcs0
-\b\fs28\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 MICROSOFT PRE-RELEASE SOFTWARE LICENSE TERMS
-\par }\pard\plain \ltrpar\s28\ql \li0\ri0\sb120\sa120\nowidctlpar\brdrb\brdrs\brdrw10\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12727346 \rtlch\fcs1 \ab\af38\afs28\alang1025 \ltrch\fcs0
-\b\fs28\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 MICROSOFT SQL SERVER COMPACT 4.0 COMMUNITY TECHNOLOGY PREVIEW 1
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1848404271}
+{\list\listtemplateid-1802592190\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid1229593488\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s38\fi-357\li2149
+\jclisttab\tx2152\lin2149 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23
+\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691
+\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}
+\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1877695764}{\list\listtemplateid1186249844\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\leveltemplateid1637229796\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \s33\fi-357\li357\jclisttab\tx360\lin357 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691
+\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}
+\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880
+\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23
+\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
+{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid2054619191}{\list\listtemplateid758572558\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
+\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
+\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698689
+\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0
+\fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\lin4320 }{\listlevel
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698689\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\lin6480 }{\listname ;}\listid2085955335}{\list\listtemplateid-235387302\listhybrid{\listlevel\levelnfc23\levelnfcn23
+\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-1242156798\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li360\lin360 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1080\lin1080 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0
+{\leveltext\leveltemplateid67698715\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li1800\lin1800 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698703
+\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2520\lin2520 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'01o;}{\levelnumbers;}\f2\fbias0
+\fi-360\li3240\lin3240 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li3960\lin3960 }{\listlevel
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698703\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li4680\lin4680 }{\listlevel\levelnfc23\levelnfcn23\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5400\lin5400 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6120\lin6120 }{\listname ;}\listid2106606675}}{\*\listoverridetable{\listoverride\listid2054619191\listoverridecount0\ls1}
+{\listoverride\listid477573462\listoverridecount0\ls2}{\listoverride\listid1567649130\listoverridecount0\ls3}{\listoverride\listid1559511898\listoverridecount0\ls4}{\listoverride\listid1848404271\listoverridecount0\ls5}{\listoverride\listid1877695764
+\listoverridecount0\ls6}{\listoverride\listid1219436735\listoverridecount0\ls7}{\listoverride\listid810947713\listoverridecount0\ls8}{\listoverride\listid196815738\listoverridecount0\ls9}{\listoverride\listid398796681\listoverridecount0\ls10}
+{\listoverride\listid394402059\listoverridecount0\ls11}{\listoverride\listid752163927\listoverridecount0\ls12}{\listoverride\listid189493747\listoverridecount0\ls13}{\listoverride\listid2106606675\listoverridecount0\ls14}{\listoverride\listid1559511898
+\listoverridecount0\ls15}{\listoverride\listid1848404271\listoverridecount0\ls16}{\listoverride\listid1848404271\listoverridecount0\ls17}{\listoverride\listid1848404271\listoverridecount0\ls18}{\listoverride\listid1848404271\listoverridecount0\ls19}
+{\listoverride\listid1848404271\listoverridecount0\ls20}{\listoverride\listid1848404271\listoverridecount0\ls21}{\listoverride\listid1848404271\listoverridecount0\ls22}{\listoverride\listid1848404271\listoverridecount0\ls23}{\listoverride\listid1848404271
+\listoverridecount0\ls24}{\listoverride\listid1422722544\listoverridecount0\ls25}{\listoverride\listid1848404271\listoverridecount0\ls26}{\listoverride\listid1848404271\listoverridecount0\ls27}{\listoverride\listid1848404271\listoverridecount0\ls28}
+{\listoverride\listid1559511898\listoverridecount0\ls29}{\listoverride\listid1559511898\listoverridecount0\ls30}{\listoverride\listid1795057320\listoverridecount0\ls31}{\listoverride\listid1559511898\listoverridecount0\ls32}{\listoverride\listid2085955335
+\listoverridecount0\ls33}}{\*\rsidtbl \rsid864014\rsid921734\rsid1456345\rsid1516446\rsid2370159\rsid3171405\rsid3283580\rsid4090875\rsid6695507\rsid6971592\rsid7940540\rsid8259195\rsid8404268\rsid10029334}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0
+\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\title English}{\creatim\yr2010\mo12\dy9\hr23\min18}{\revtim\yr2010\mo12\dy19\hr11\min55}{\version1}{\edmins0}{\nofpages3}{\nofwords1114}{\nofchars6355}
+{\nofcharsws7455}{\vern49255}}{\*\userprops {\propname db_document_id}\proptype30{\staticval 8666}{\propname ContentTypeId}\proptype30{\staticval 0x010100BDA1A6A220A40A419EFB9E5917ACC6AD}{\propname _CopySource}\proptype30{\staticval }{\propname LicenseMo
+del}\proptype30{\staticval }{\propname ProductID}\proptype30{\staticval }{\propname FileType}\proptype30{\staticval }{\propname MScom}\proptype30{\staticval 1}{\propname Status}\proptype30{\staticval }{\propname Language}\proptype30{\staticval }
+{\propname ProductName}\proptype30{\staticval }{\propname Channel}\proptype30{\staticval }{\propname Originator}\proptype30{\staticval }{\propname PublishDate}\proptype30{\staticval }{\propname RetirementDate}\proptype30{\staticval }{\propname SoftwareTyp
+e}\proptype30{\staticval }{\propname ProductVersion}\proptype30{\staticval }{\propname Owner}\proptype30{\staticval }}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}
+\paperw12240\paperh15840\margl720\margr720\margt720\margb720\gutter0\ltrsect
+\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen
+\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\formshade\horzdoc\dgmargin\dghspace95\dgvspace180\dghorigin720\dgvorigin720\dghshow2\dgvshow1
+\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\rempersonalinfo\allowfieldendsel
+\wrppunct\asianbrkrule\rsidroot1456345\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0
+{\*\wgrffmtfilter 013f}\nofeaturethrottle1\ilfomacatclnup12{\*\ftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2370159 \chftnsep
+\par }}{\*\ftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2370159 \chftnsepc
+\par }}{\*\aftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2370159 \chftnsep
+\par }}{\*\aftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2370159 \chftnsepc
+\par }}\ltrpar \sectd \ltrsect\psz1\linex0\headery0\footery0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid1456345\sftnbj {\headerl \ltrpar \pard\plain \ltrpar\s81\ql \li0\ri0\sb120\sa120\widctlpar
+\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38 \ltrch\fcs0
+\insrsid1456345
+\par }}{\headerr \ltrpar \pard\plain \ltrpar\s81\ql \li0\ri0\sb120\sa120\widctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38 \ltrch\fcs0 \insrsid1456345
+\par }}{\footerl \ltrpar \pard\plain \ltrpar\s83\ql \li0\ri0\sb120\sa120\widctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38 \ltrch\fcs0 \insrsid1456345
+\par }}{\footerr \ltrpar \pard\plain \ltrpar\s83\ql \li0\ri0\sb120\sa120\widctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38 \ltrch\fcs0 \insrsid1456345
+\par }}{\headerf \ltrpar \pard\plain \ltrpar\s81\ql \li0\ri0\sb120\sa120\widctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38 \ltrch\fcs0 \insrsid1456345
+\par }}{\footerf \ltrpar \pard\plain \ltrpar\s83\ql \li0\ri0\sb120\sa120\widctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38 \ltrch\fcs0 \insrsid1456345
+\par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}
+{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8
+\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar
+\s42\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8259195 \rtlch\fcs1 \ab\af38\afs28\alang1025 \ltrch\fcs0
+\b\fs28\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 {\*\bkmkstart _GoBack}{\*\bkmkend _GoBack}\hich\af38\dbch\af13\loch\f38
+MICROSOFT SOFTWARE LICENSE TERMS}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par }\pard\plain \ltrpar\s43\ql \li0\ri0\sb120\sa120\nowidctlpar\brdrb\brdrs\brdrw10\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8259195 \rtlch\fcs1 \ab\af38\afs28\alang1025 \ltrch\fcs0
+\b\fs28\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 MICROSOFT SQL SERVER COMPACT 4.0 }{\rtlch\fcs1 \af38\afs20
+\ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par }\pard\plain \ltrpar\s44\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8259195 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38
+These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms
+\hich\af38\dbch\af13\loch\f38 a\hich\af38\dbch\af13\loch\f38 lso apply to any Microsoft}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s34\ql \fi-360\li360\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin360\itap0\pararsid8259195 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 updates,}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38
+supplements,}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38
+Internet-based services, and}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38
+support services}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par }\pard\plain \ltrpar\s44\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8259195 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38
+for this software, unless other terms accompany those items. If so, those terms apply.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid1456345
+\par }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0
+\fs20\dbch\af13\insrsid1456345
+\par }\pard\plain \ltrpar\s61\ql \li0\ri0\sb120\sa120\nowidctlpar\brdrt\brdrs\brdrw10\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8259195 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 If you comply with these license terms, you have the rights below.}{
+\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 1.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls12\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid8259195 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 INSTALLATION AND USE RIGHTS. }{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid921734 \hich\af38\dbch\af13\loch\f38 a.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls12\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid8259195 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid921734 \hich\af38\dbch\af13\loch\f38 Installation and Use.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0
+\cs57\b0\fs20\dbch\af13\insrsid921734 \hich\af38\dbch\af13\loch\f38 You may install and use any numb\hich\af38\dbch\af13\loch\f38 er of copies of the software on your devices to design, develop and test your programs for use with the software.
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid921734\charrsid3283580 \hich\af38\dbch\af13\loch\f38 b.\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0
+\fs20\dbch\af13\insrsid921734\charrsid3283580 \hich\af38\dbch\af13\loch\f38 Included Microsoft Programs. }{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid921734\charrsid3283580 \hich\af38\dbch\af13\loch\f38
+The software contains the Microsoft Visual C++ 2008 Express}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid921734 \hich\af38\dbch\af13\loch\f38 }{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid10029334
+\hich\af38\dbch\af13\loch\f38 Edition }{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid921734 \hich\af38\dbch\af13\loch\f38 components listed below}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0
+\b0\fs20\dbch\af13\insrsid921734\charrsid3283580 \hich\af38\dbch\af13\loch\f38 . You may only use these components with the software.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid8259195 \hich\af38\dbch\af13\loch\f38 }{\rtlch\fcs1
+\ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid921734\charrsid3283580 \hich\af38\dbch\af13\loch\f38 The Microsoft Visual C++ 2008 Express license terms located at }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\cf17\insrsid921734\charrsid3283580
+\hich\af38\dbch\af11\loch\f38 %Program Files%\\Microsoft SQL Server Compact Edition\\v4.0 }{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid921734\charrsid3283580 \hich\af38\dbch\af13\loch\f38
+apply to your use of them, except that the components listed below may be used f\hich\af38\dbch\af13\loch\f38 or commercial hosting services when used in conjunction with the}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid921734
+\hich\af38\dbch\af13\loch\f38 software.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid921734\charrsid3283580 \hich\af38\dbch\af13\loch\f38 }{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid921734
+\par {\listtext\pard\plain\ltrpar \s94 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid921734\charrsid3283580 \loch\af3\dbch\af11\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s94\ql \fi-360\li1080\ri0\sb120\sa120\sl276\slmult1
+\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\ls33\adjustright\rin0\lin1080\itap0\pararsid8259195\contextualspace \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1033\langfe1033\loch\af31506\hich\af31506\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid921734\charrsid3283580 \hich\af38\dbch\af11\loch\f38 Microsoft_VC90_CRT_x86.msm
+\par {\listtext\pard\plain\ltrpar \s94 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid921734\charrsid3283580 \loch\af3\dbch\af11\hich\f3 \'b7\tab}\hich\af38\dbch\af11\loch\f38 policy_9_0_Microsoft_VC90_CRT_x86.msm
+\par {\listtext\pard\plain\ltrpar \s94 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid921734\charrsid3283580 \loch\af3\dbch\af11\hich\f3 \'b7\tab}\hich\af38\dbch\af11\loch\f38 Microsoft_VC90_CRT_x86_x64.msm
+\par {\listtext\pard\plain\ltrpar \s94 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid921734\charrsid3283580 \loch\af3\dbch\af11\hich\f3 \'b7\tab}\hich\af38\dbch\af11\loch\f38 policy_9_0_Microsoft_VC90_CRT_x86_x64.msm
+\par {\listtext\pard\plain\ltrpar \s94 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid921734\charrsid3283580 \loch\af3\dbch\af11\hich\f3 \'b7\tab}\hich\af38\dbch\af11\loch\f38 VC90.CRT_X86_msvcr90.dll
+\par {\listtext\pard\plain\ltrpar \s94 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\lang1046\langfe1033\langnp1046\insrsid921734\charrsid864014 \loch\af3\dbch\af11\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0
+\f38\fs20\lang1046\langfe1033\langnp1046\insrsid921734\charrsid864014 \hich\af38\dbch\af11\loch\f38 VC90.\hich\af38\dbch\af11\loch\f38 CRT_X86_Microsoft.VC90.CRT.manifest
+\par {\listtext\pard\plain\ltrpar \s94 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\insrsid921734\charrsid3283580 \loch\af3\dbch\af11\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f38\fs20\insrsid921734\charrsid3283580 \hich\af38\dbch\af11\loch\f38
+VC90.CRT_AMD64_msvcr90.dll
+\par {\listtext\pard\plain\ltrpar \s94 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \f3\fs20\lang1046\langfe1033\langnp1046\insrsid921734\charrsid864014 \loch\af3\dbch\af11\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0
+\f38\fs20\lang1046\langfe1033\langnp1046\insrsid921734\charrsid864014 \hich\af38\dbch\af11\loch\f38 VC90.CRT_AMD64_Microsoft.VC90.CRT.manifest
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 2.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls12\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid8259195 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 a.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls12\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid8259195 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 Distributable Code.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0
+\cs57\b0\fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 The software contains code that you are per\hich\af38\dbch\af13\loch\f38 mitted to distribute in programs you develop if you comply with the terms below.}{\rtlch\fcs1 \ab0\af38\afs20
+\ltrch\fcs0 \b0\fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s49 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 i.\tab}}\pard\plain \ltrpar\s49\ql \fi-357\li1077\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls10\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0\pararsid8259195 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 Right to Use and Distribute.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0
+\cs58\fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 \hich\f38 The code and text files listed below are \'93\loch\f38 \hich\f38 Distributable Code.\'94}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s50 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\cf18\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s50\ql \fi-358\li1435\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin1435\itap0\pararsid8259195 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\ul\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 REDIST.TXT Files}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\ulnone\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38
+. You may copy and distribute the object code form of code lis\hich\af38\dbch\af13\loch\f38 ted in REDIST.TXT files.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\ulnone\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s50 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\cf18\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268
+\hich\af38\dbch\af13\loch\f38 Third Party Distribution}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\ulnone\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38
+. You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\ulnone\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s49 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 ii.\tab}}\pard\plain \ltrpar\s49\ql \fi-357\li1077\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1077\wrapdefault\aspalpha\aspnum\faauto\ls10\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0\pararsid8259195 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 Distribution Requirements.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0
+\cs58\fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 For any Distributable Code you distribute, you must}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s36 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\cf18\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s36\ql \fi-358\li1435\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin1435\itap0\pararsid8259195 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 add significant primary functionality to it in your programs;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s36 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\cf18\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268
+\hich\af38\dbch\af13\loch\f38 for any Distributable Code having a filename extension of .lib, distribute only the results of running such Distributable Code through a linker with your program;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0
+\fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s36 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\cf18\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268
+\hich\af38\dbch\af13\loch\f38 distribute Distributable Co\hich\af38\dbch\af13\loch\f38 de included in a setup program only as part of that setup program without modification;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s36 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\cf18\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268
+\hich\af38\dbch\af13\loch\f38 require distributors and external end users to agree to terms that protect it at least as much as this agreement; }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s36 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\cf18\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268
+\hich\af38\dbch\af13\loch\f38 display your valid copyright notice on your progr\hich\af38\dbch\af13\loch\f38 ams; and}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s36 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\cf18\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268
+\hich\af38\dbch\af13\loch\f38 indemnify, defend, and hold harmless Microsoft from any claims, including attorneys\hich\f38 \rquote \loch\f38 fees, related to the distribution or use of your programs.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0
+\fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s49 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 iii.\tab}}\pard\plain \ltrpar\s49\ql \fi-357\li1077\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1077\wrapdefault\aspalpha\aspnum\faauto\ls10\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0\pararsid8259195 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 Distribution Restrictions.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0
+\cs58\fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 You may not}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s36 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\cf18\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s36\ql \fi-358\li1435\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1437\wrapdefault\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin1435\itap0\pararsid8259195 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 alter any copyright, trademark or patent notice in the Distributable Code;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s36 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\cf18\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268
+\hich\af38\dbch\af13\loch\f38 use Microsoft\hich\f38 \rquote \loch\f38 s trademarks in your programs\hich\f38 \rquote \loch\f38 names or in a way that suggests your programs come from or are endorsed by Microsoft;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0
+\fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s36 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\cf18\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268
+\hich\af38\dbch\af13\loch\f38 distribute Distributable Code to run on a plat\hich\af38\dbch\af13\loch\f38 form other than the Windows platform;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s36 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\cf18\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268
+\hich\af38\dbch\af13\loch\f38 include Distributable Code in malicious, deceptive or unlawful programs; or}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s36 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\cf18\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268
+\hich\af38\dbch\af13\loch\f38 modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded \hich\af38\dbch\af13\loch\f38
+License is one that requires, as a condition of use, modification or distribution, that}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s37 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s37\ql \fi-357\li1792\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx1795\wrapdefault\aspalpha\aspnum\faauto\ls5\adjustright\rin0\lin1792\itap0\pararsid8259195 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 the code be disclosed or distributed in source code form; or}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s37 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38
+others have the right to modify it.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 3.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls12\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid8259195 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 SCOPE OF LICENSE.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38
+ The software is licensed, not sold. This agree\hich\af38\dbch\af13\loch\f38
+ment only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must co
+\hich\af38\dbch\af13\loch\f38 m\hich\af38\dbch\af13\loch\f38 ply with any technical limitations in the software that only allow you to use it in certain ways. You may not}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s34\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid8259195 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 work around any technical limitations in the software;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38
+reverse engineer, decompile or disassemble the software, except and only to the extent \hich\af38\dbch\af13\loch\f38 that applicable law expressly permits, despite this limitation;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
-\par }\pard\plain \ltrpar\s29\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12727346 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0
-\b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38
-These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. \hich\af38\dbch\af13\loch\f38
-They apply to the pre-release software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft
-\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid12727346 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s25\ql \fi-360\li360\ri0\sb120\sa120\nowidctlpar
-\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin360\itap0\pararsid12727346 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
-\af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 updates,
-\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid12727346 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af38\dbch\af13\loch\f38 supplements,
-\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid12727346 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af38\dbch\af13\loch\f38 Internet-based services, and
-\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid12727346 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af38\dbch\af13\loch\f38 support services
-\par }\pard\plain \ltrpar\s29\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12727346 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0
-\b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 for this software, unless other terms
-\hich\af38\dbch\af13\loch\f38 accompany those items. If so, those terms apply.
-\par }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE.
-\par }\pard\plain \ltrpar\s30\ql \li0\ri0\sb120\sa120\nowidctlpar\brdrt\brdrs\brdrw10\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12727346 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0
-\b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 If you comply with these license terms, you have the rights below.
+\par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38
+make more copies of the software than specified in this agreement or allowed by applicable law, despite this limitation;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38
+publish the software for others to copy;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38
+rent, lease or lend the software;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid921734 \hich\af38\dbch\af13\loch\f38 or}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38
+transfer the software or th}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid921734 \hich\af38\dbch\af13\loch\f38 is agreement to any third party. }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345\charrsid921734
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 4.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls12\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid8259195 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 BACKUP COPY.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38
+ You may make one backup copy of the software. You may use it only to reinstall the software.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 5.\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268
+\hich\af38\dbch\af13\loch\f38 DOCUMENTATION.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 Any person that has valid acc\hich\af38\dbch\af13\loch\f38
+ess to your computer or internal network may copy and use the documentation for your internal, reference purposes.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 6.\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268
+\hich\af38\dbch\af13\loch\f38 EXPORT RESTRICTIONS.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38
+ The software is subject to United States export laws and regulations. You must comply with all domestic and internati\hich\af38\dbch\af13\loch\f38
+onal export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see }{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs73\b0\fs20\dbch\af13\insrsid8404268
+\hich\af38\dbch\af13\loch\f38 www.microsoft.com/exporting}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid8404268 .}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \cs73\b0\fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 7.\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268
+\hich\af38\dbch\af13\loch\f38 SUPPORT SERVICES. }{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 \hich\f38 Because this software is \'93\loch\f38 \hich\f38 as is,\'94\loch\f38 we may
+\hich\af38\dbch\af13\loch\f38 not provide support services for it.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 8.\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268
+\hich\af38\dbch\af13\loch\f38 ENTIRE AGREEMENT.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38
+ This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid1456345
-\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 1.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
-\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls3\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid12727346 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {
-\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 INSTALLATION AND USE RIGHTS.
-\par {\listtext\pard\plain\ltrpar \s26 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid12727346 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s26\ql \fi-357\li720\ri0\sb120\sa120\nowidctlpar
-\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid12727346 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
-\af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 You may ins\hich\af38\dbch\af13\loch\f38
-tall and use any number of copies of the software on your premises to design, develop and test your programs for use with the software.
-\par {\listtext\pard\plain\ltrpar \s26 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af11\insrsid12727346 \loch\af3\dbch\af11\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid12727346 \hich\af38\dbch\af11\loch\f38
-The software includes the CRT90.MSM component of the Microsoft Visual C++ 2008 }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid3831519 \hich\af38\dbch\af11\loch\f38 Runtime Libraries, Service Pack 1}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0
-\fs20\insrsid12727346 \hich\af38\dbch\af11\loch\f38 , which\hich\af38\dbch\af11\loch\f38 is licensed under the terms and conditions of the Visual C++ 2008 Runtime Libraries }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid3831519
-\hich\af38\dbch\af11\loch\f38 SP1 }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid12727346 \hich\af38\dbch\af11\loch\f38 license located at }{\rtlch\fcs1 \af38 \ltrch\fcs0 \cf17\insrsid12727346 \hich\af38\dbch\af11\loch\f38 %Program Files%\\
-Microsoft SQL Server Compact Edition\\v4.0}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid12727346 .\~\hich\af38\dbch\af11\loch\f38 You may only use this component in conjunction with the software licensed here}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0
-\fs20\dbch\af13\insrsid12727346 .
-\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af11\insrsid12727346\charrsid12743224 \hich\af38\dbch\af11\loch\f38 2.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
-\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls3\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid12727346 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {
-\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \fs20\insrsid12727346\charrsid12743224 \hich\af38\dbch\af11\loch\f38 ADDITION\hich\af38\dbch\af11\loch\f38 AL LICENSING REQUIREMENTS AND/OR USE RIGHTS}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0
-\b0\fs20\insrsid12727346\charrsid12743224 .}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346\charrsid12743224
-\par }\pard\plain \ltrpar\ql \fi-363\li720\ri0\sb120\sa120\widctlpar\tx720\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid12727346 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
-\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\insrsid12727346\charrsid3672445 \hich\af38\dbch\af11\loch\f38 a.\tab Distributable Code.}{\rtlch\fcs1 \af38\afs20
-\ltrch\fcs0 \fs20\insrsid12727346\charrsid3672445 \hich\af38\dbch\af11\loch\f38 The software contains code that you are permitted to distribute in programs you develop if you comply with the terms below.}{\rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0
-\b\fs20\insrsid12727346\charrsid3672445
-\par {\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af11\insrsid12727346\charrsid3672445 \hich\af38\dbch\af11\loch\f38 i.\tab}}\pard\plain \ltrpar\s3\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar
-\tx1077\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0\pararsid12727346 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {
-\rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\insrsid12727346\charrsid3672445 \hich\af38\dbch\af11\loch\f38 Right to Use and Distribute.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid12727346\charrsid3672445 \hich\af38\dbch\af11\loch\f38
- The code and text files listed be\hich\af38\dbch\af11\loch\f38 \hich\f38 low are \'93\loch\f38 \hich\f38 Distributable Code.\'94}{\rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\insrsid12727346\charrsid3672445
-\par }\pard\plain \ltrpar\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar\tx1437\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1435\itap0\pararsid12727346 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
-\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid12727346\charrsid3672445 \loch\af38\dbch\af11\hich\f38 \u-3913\'3f\tab }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0
-\fs20\ul\insrsid12727346\charrsid3672445 \hich\af38\dbch\af11\loch\f38 REDIST.TXT Files}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid12727346\charrsid3672445 \hich\af38\dbch\af11\loch\f38
-. You may copy and distribute the object code form of code listed in REDIST.TXT files.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\ul\insrsid12727346\charrsid3672445
-\par }\pard \ltrpar\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1435\itap0\pararsid12727346 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid12727346\charrsid3672445 \loch\af38\dbch\af11\hich\f38 \u-3913
-\'3f\tab }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\ul\insrsid12727346\charrsid3672445 \hich\af38\dbch\af11\loch\f38 Third Party Distribution}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid12727346\charrsid3672445 \hich\af38\dbch\af11\loch\f38
-. You may permit distributors of your programs to copy and distribute the Distributable Code \hich\af38\dbch\af11\loch\f38 as part of those programs.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\ul\insrsid12727346\charrsid3672445
-\par {\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af11\insrsid12727346\charrsid3672445 \hich\af38\dbch\af11\loch\f38 ii.\tab}}\pard\plain \ltrpar\s3\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar
-\tx1077\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0\pararsid12727346 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {
-\rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\insrsid12727346\charrsid3672445 \hich\af38\dbch\af11\loch\f38 Distribution Requirements}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid12727346\charrsid3672445 \hich\af38\dbch\af11\loch\f38
-. For any Distributable Code you distribute, you must}{\rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\insrsid12727346\charrsid3672445
-\par }\pard\plain \ltrpar\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar\tx1437\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1435\itap0\pararsid12727346 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
-\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid12727346\charrsid3672445 \loch\af38\dbch\af11\hich\f38 \u-3913\'3f\tab \loch\f38
-add significant primary functionality to it in your programs;
-\par }\pard \ltrpar\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1435\itap0\pararsid12727346 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid12727346\charrsid3672445 \loch\af38\dbch\af11\hich\f38 \u-3913
-\'3f\tab \loch\f38 require distributors and external end users to agree to terms that protect it at le\hich\af38\dbch\af11\loch\f38 ast as much as this agreement; }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid12727346\charrsid12743224
-\par }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid12727346\charrsid3672445 \loch\af38\dbch\af11\hich\f38 \u-3913\'3f\tab \loch\f38 display your valid copyright notice on your programs; and
-\par \loch\af38\dbch\af11\hich\f38 \u-3913\'3f\tab \loch\f38 indemnify, defend, and hold harmless Microsoft from any claims, including attorneys\hich\f38 \rquote \loch\f38 fees, related to the distribution or use of your programs.
-\par {\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af11\insrsid12727346\charrsid3672445 \hich\af38\dbch\af11\loch\f38 iii.\tab}}\pard\plain \ltrpar\s3\ql \fi-357\li1077\ri0\sb120\sa120\widctlpar
-\tx1077\tx1440\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl2\outlinelevel2\adjustright\rin0\lin1077\itap0\pararsid12727346 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {
-\rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\insrsid12727346\charrsid3672445 \hich\af38\dbch\af11\loch\f38 Distribution Restrictions. }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid12727346\charrsid3672445 \hich\af38\dbch\af11\loch\f38 You may not}
-{\rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\insrsid12727346\charrsid3672445
-\par }\pard\plain \ltrpar\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar\tx1437\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1435\itap0\pararsid12727346 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
-\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid12727346\charrsid3672445 \loch\af38\dbch\af11\hich\f38 \u-3913\'3f\tab \loch\f38
-alter any copyright, trademark or patent notice in the Distributable Code;
-\par }\pard \ltrpar\ql \fi-358\li1435\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1435\itap0\pararsid12727346 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid12727346\charrsid3672445 \loch\af38\dbch\af11\hich\f38 \u-3913
-\'3f\tab \loch\f38 use Microsoft\hich\f38 \rquote \loch\f38 s trademarks in your programs\hich\f38 \rquote \loch\f38 names or in a way that suggests your programs come from or are endorsed by Microsoft;
-\par \loch\af38\dbch\af11\hich\f38 \u-3913\'3f\tab \loch\f38 di\hich\af38\dbch\af11\loch\f38 stribute Distributable Code to run on a platform other than the Windows platform;
-\par \loch\af38\dbch\af11\hich\f38 \u-3913\'3f\tab \loch\f38 include Distributable Code in malicious, deceptive or unlawful programs; or
-\par \loch\af38\dbch\af11\hich\f38 \u-3913\'3f\tab \loch\f38 modify or distribute the source code of any Distributable Code so that any part of it becomes \hich\af38\dbch\af11\loch\f38
-subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that
-\par }\pard \ltrpar\ql \fi-357\li1792\ri0\sb120\sa120\widctlpar\tx1795\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1792\itap0\pararsid12727346 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid12727346\charrsid3672445 \loch\af38\dbch\af11\hich\f38
-\u-3913\'3f\tab \loch\f38 the code be disclosed or distributed in source code form; or
-\par }\pard \ltrpar\ql \fi-357\li1792\ri0\sb120\sa120\widctlpar\tx1800\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1792\itap0\pararsid12727346 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid12727346\charrsid3672445 \loch\af38\dbch\af11\hich\f38
-\u-3913\'3f\tab \loch\f38 others have the right to modify it.
-\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 3.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
-\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls3\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid12727346 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {
-\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 TERM.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 The term of thi
-\hich\af38\dbch\af13\loch\f38 s agreement is until 30/06/2011, or commercial release of the software, whichever is first.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346
-\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 4.\tab}\hich\af38\dbch\af13\loch\f38 PRE-RELEASE SOFTWARE. }{\rtlch\fcs1 \ab0\af38\afs20
-\ltrch\fcs0 \b0\fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 This software, including the Distributable Code, is a pre-release version. It may not work the way a final version of the software will. We ma\hich\af38\dbch\af13\loch\f38
-y change it for the final, commercial version. We also may not release a commercial version.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346
-\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 5.\tab}\hich\af38\dbch\af13\loch\f38 FEEDBACK. }{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0
-\b0\fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 If you give feedback about the software to Microsoft, you give to Microsoft, without charge, the right to use, share and commercialize your feedback in a\hich\af38\dbch\af13\loch\f38
-ny way and for any purpose. You also give to third parties, without charge, any patent rights needed for their products, technologies and services to use or interface with any specific parts of a Microsoft software or service that includes the feedback. Y
-\hich\af38\dbch\af13\loch\f38 o\hich\af38\dbch\af13\loch\f38
-u will not give feedback that is subject to a license that requires Microsoft to license its software or documentation to third parties because we include your feedback in them. These rights survive this agreement.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0
-\fs20\dbch\af13\insrsid12727346
-\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\caps\fs20\loch\af38\hich\af38\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 6.\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \caps\fs20\dbch\af13\insrsid12727346
-\hich\af38\dbch\af13\loch\f38 Scope of License}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 .}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 The software is license
-\hich\af38\dbch\af13\loch\f38
-d, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. I
-\hich\af38\dbch\af13\loch\f38 n\hich\af38\dbch\af13\loch\f38 doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0
-\fs20\dbch\af13\insrsid12727346
-\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid12727346 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s25\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
-\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid12727346 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
-\af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 disclose the results of any benchmark tests of the software to any third party without Microsoft\hich\f38 \rquote \loch\f38 s prior written approval}{\rtlch\fcs1 \af38
-\ltrch\fcs0 \insrsid12727346 \hich\af38\dbch\af11\loch\f38 ;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346
-\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid12727346 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af38\dbch\af13\loch\f38 work around any technical limitations in the software}{\rtlch\fcs1
-\af38 \ltrch\fcs0 \insrsid12727346 \hich\af38\dbch\af11\loch\f38 ;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346
-\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid12727346 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af38\dbch\af13\loch\f38
-reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation}{\rtlch\fcs1 \af38 \ltrch\fcs0 \insrsid12727346 \hich\af38\dbch\af11\loch\f38 ;}{\rtlch\fcs1 \af38\afs20
-\ltrch\fcs0 \fs20\dbch\af13\insrsid12727346
-\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid12727346 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af38\dbch\af13\loch\f38 make more copies of the software than specified in
-\hich\af38\dbch\af13\loch\f38 this agreement or allowed by applicable law, despite this limitation}{\rtlch\fcs1 \af38 \ltrch\fcs0 \insrsid12727346 \hich\af38\dbch\af11\loch\f38 ;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346
-
-\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid12727346 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af38\dbch\af13\loch\f38 publish the software for others to copy}{\rtlch\fcs1 \af38
-\ltrch\fcs0 \insrsid12727346 \hich\af38\dbch\af11\loch\f38 ;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346
-\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid12727346 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af38\dbch\af13\loch\f38 rent, lease or lend the software}{\rtlch\fcs1 \af38 \ltrch\fcs0
-\insrsid12727346 \hich\af38\dbch\af11\loch\f38 ;}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346
-\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid12727346 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af38\dbch\af13\loch\f38 transfer the software or this agreement to any third party}{
-\rtlch\fcs1 \af38 \ltrch\fcs0 \insrsid12727346 \hich\af38\dbch\af11\loch\f38 ; or}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346
-\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid12727346 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af38\dbch\af13\loch\f38 use the software for commercial software hostin
-\hich\af38\dbch\af13\loch\f38 g services}{\rtlch\fcs1 \af38 \ltrch\fcs0 \insrsid12727346 .}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346
-\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\caps\fs20\cf1\loch\af38\hich\af38\dbch\af13\insrsid12727346\charrsid14440854 \hich\af38\dbch\af13\loch\f38 7.\tab}}\pard\plain \ltrpar
-\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls3\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid12727346 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0
-\b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \caps\fs20\cf1\dbch\af13\insrsid12727346\charrsid14440854 \hich\af38\dbch\af13\loch\f38 Export Restrictions}{\rtlch\fcs1
-\af38\afs20 \ltrch\fcs0 \fs20\cf1\dbch\af13\insrsid12727346\charrsid14440854 .}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\cf1\dbch\af13\insrsid12727346\charrsid14440854 \hich\af38\dbch\af13\loch\f38
- The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinatio\hich\af38\dbch\af13\loch\f38
-ns, end users and end use. For additional information, see }{\rtlch\fcs1 \ab0\af0\afs20 \ltrch\fcs0 \cs31\b0\fs20\ul\cf18\dbch\af13\insrsid12727346\charrsid14440854 \hich\af38\dbch\af13\loch\f38 www.microsoft.com/exporting}{\rtlch\fcs1 \ab0\af38\afs20
-\ltrch\fcs0 \b0\fs20\cf1\dbch\af13\insrsid12727346\charrsid14440854 .}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \cs31\fs20\ul\cf1\dbch\af13\insrsid12727346\charrsid14440854
-\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\caps\fs20\loch\af38\hich\af38\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 8.\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \caps\fs20\dbch\af13\insrsid12727346
-\hich\af38\dbch\af13\loch\f38 SUPPORT SERVICES.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 }{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38
-\hich\f38 Because this software is \'93\loch\f38 \hich\f38 as is,\'94\loch\f38 we may not provide support services for it.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346
-\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\caps\fs20\loch\af38\hich\af38\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 9.\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \caps\fs20\dbch\af13\insrsid12727346
-\hich\af38\dbch\af13\loch\f38 Entire Agreement.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38
- This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services.
-\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\caps\fs20\loch\af38\hich\af38\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 10.\tab}}\pard \ltrpar\s1\ql \fi-360\li360\ri0\sb120\sa120\nowidctlpar
-\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls3\outlinelevel0\adjustright\rin0\lin360\itap0\pararsid12727346 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \caps\fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 Applicable Law}{\rtlch\fcs1
-\af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 .
-\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 a.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
-\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid12727346 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0
-\b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 United States.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0
-\b0\fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 If you acquired the software in the United St\hich\af38\dbch\af13\loch\f38
-ates, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer
-\hich\af38\dbch\af13\loch\f38 p\hich\af38\dbch\af13\loch\f38 rotection laws, unfair competition laws, and in tort.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346
-\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 b.\tab}\hich\af38\dbch\af13\loch\f38 Outside the United States.}{\rtlch\fcs1 \ab0\af38\afs20
-\ltrch\fcs0 \b0\fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 If you acquired the software in any other country, the laws of that country apply.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346
-\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\caps\fs20\loch\af38\hich\af38\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 11.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
-\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls3\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid12727346 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {
-\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \caps\fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 Legal Effect.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38
- This agreement describes certain legal rights. You may have other rights under\hich\af38\dbch\af13\loch\f38
- the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.}{
-\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \caps\fs20\dbch\af13\insrsid12727346
-\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\caps\fs20\loch\af38\hich\af38\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 12.\tab}\hich\af38\dbch\af13\loch\f38 Disclaimer o\hich\af38\dbch\af13\loch\f38 f Warranty.}{
-\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \caps\fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 \hich\f38 The software is licensed \'93\loch\f38
-\hich\f38 as-is.\'94\loch\f38 You bear the risk of using it. Microsoft gives no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this agreement cannot change. To the extent pe
-\hich\af38\dbch\af13\loch\f38 rmitted under your local laws, Microsoft excludes the implied warranties of merchantability, fitness for a particular purpose and non-infringement.
-\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\caps\fs20\loch\af38\hich\af38\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 13.\tab}}\pard \ltrpar\s1\ql \fi-360\li360\ri0\sb120\sa120\nowidctlpar
-\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls3\outlinelevel0\adjustright\rin0\lin360\itap0\pararsid12727346 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \caps\fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38
-Limitation on and Exclusion of Remedies and Damages. You can recover from Microsoft and its suppliers only d\hich\af38\dbch\af13\loch\f38
-irect damages up to U.S. $5.00. You cannot recover any other damages, including consequential, lost profits, special, indirect or incidental damages.
-\par }\pard\plain \ltrpar\s24\ql \li357\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin357\itap0\pararsid12727346 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
-\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 This limitation applies to
-\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid12727346 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s25\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
-\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0\pararsid12727346 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
-\af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 anything related to the software, services, content (including code) on third p\hich\af38\dbch\af13\loch\f38 arty Internet sites, or third party programs; and
-\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid12727346 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af38\dbch\af13\loch\f38
-claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.
-\par }\pard\plain \ltrpar\ql \li360\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid12727346 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
-\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 It also applies even if Microsoft knew or sh
-\hich\af38\dbch\af13\loch\f38 ould have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages.
-\par }\pard\plain \ltrpar\s32\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12727346 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0
-\b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 Please note: As this software is dist\hich\af38\dbch\af13\loch\f38
-ributed in Quebec, Canada, some of the clauses in this agreement are provided below in French.
-\par \hich\af38\dbch\af13\loch\f38 \hich\f38 Remarque: Ce logiciel \'e9\loch\f38 \hich\f38 tant distribu\'e9\loch\f38 \hich\f38 au Qu\'e9\loch\f38 \hich\f38 bec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en fran\'e7\loch\f38 ais.
-
-\par }\pard\plain \ltrpar\s33\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12727346 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
-\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 \hich\f38 EXON\'c9\loch\f38 RATION DE GARANTIE.}{\rtlch\fcs1
-\af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 \hich\f38 Le logiciel vis\'e9\loch\f38 \hich\f38 par une licence est offert \'ab\loch\f38 \hich\f38 tel quel \'bb\loch\f38 \hich\f38
-. Toute utilisation de ce logiciel est \'e0\loch\f38 \hich\f38 votre seule risque et p\'e9\loch\f38 ril. Microsoft n\hich\f38 \rquote \loch\f38 \hich\f38 accorde aucune autre garantie expresse. Vous pouvez b\'e9\loch\f38 \hich\f38 n\'e9\loch\f38
-ficier de droits additionnels en vertu du droit local sur la\hich\af38\dbch\af13\loch\f38 \hich\af38\dbch\af13\loch\f38 \hich\f38
-protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualit\'e9\loch\f38 marchande, d\hich\f38 \rquote \loch\f38 \hich\f38 ad\'e9\loch\f38 \hich\f38 quation \'e0
-\loch\f38 un usage particulier et d\hich\f38 \rquote \loch\f38 \hich\f38 absence de contrefa\'e7\loch\f38 on sont exclues.
-\par }{\rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 LIMITATION DES DOMMAG\hich\af38\dbch\af13\loch\f38 \hich\f38 ES-INT\'c9\loch\f38 \hich\f38 R\'ca\loch\f38 \hich\f38 TS ET EXCLUSION DE RESPONSABILIT
-\'c9\loch\f38 POUR LES DOMMAGES.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 \hich\f38
- Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement \'e0\loch\f38 \hich\f38 hauteur de 5,00 $ US. Vous ne pouvez pr\'e9\loch\f38 \hich\f38 tendre \'e0\loch\f38 aucune indemnisation pour les a
-\hich\af38\dbch\af13\loch\f38 \hich\f38 utres dommages, y compris les dommages sp\'e9\loch\f38 \hich\f38 ciaux, indirects ou accessoires et pertes de b\'e9\loch\f38 \hich\f38 n\'e9\loch\f38 fices.
-\par \hich\af38\dbch\af13\loch\f38 Cette limitation concerne:
-\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid12727346 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s25\ql \fi-360\li360\ri0\sb120\sa120\nowidctlpar
-\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin360\itap0\pararsid12727346 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
-\af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 \hich\f38 tout ce qui est reli\'e9\loch\f38 au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des
-\hich\af38\dbch\af13\loch\f38 programmes tiers; et
-\par {\listtext\pard\plain\ltrpar \s25 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid12727346 \loch\af3\dbch\af13\hich\f3 \'b7\tab}\hich\af38\dbch\af13\loch\f38 \hich\f38 les r\'e9\loch\f38 \hich\f38
-clamations au titre de violation de contrat ou de garantie, ou au titre de responsabilit\'e9\loch\f38 \hich\f38 stricte, de n\'e9\loch\f38 gligence ou d\hich\f38 \rquote \loch\f38 \hich\f38 une autre faute dans la limite autoris\'e9\loch\f38
-e par la loi en vigueur.
-\par }\pard\plain \ltrpar\s33\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12727346 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
-\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 Elle s\hich\f38 \rquote \loch\f38 \hich\f38 applique \'e9\loch\f38
-\hich\f38 galement, m\'ea\loch\f38 me si Microsoft c\hich\af38\dbch\af13\loch\f38 \hich\f38 onnaissait ou devrait conna\'ee\loch\f38 tre l\hich\f38 \rquote \'e9\loch\f38 \hich\f38 ventualit\'e9\loch\f38 d\hich\f38 \rquote \loch\f38
-un tel dommage. Si votre pays n\hich\f38 \rquote \loch\f38 autorise pas l\hich\f38 \rquote \loch\f38 \hich\f38 exclusion ou la limitation de responsabilit\'e9\loch\f38
- pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l\hich\f38 \rquote \loch\f38 exclus\hich\af38\dbch\af13\loch\f38 i\hich\af38\dbch\af13\loch\f38 on ci-dessus ne s\hich\f38 \rquote \loch\f38
-\hich\f38 appliquera pas \'e0\loch\f38 \hich\f38 votre \'e9\loch\f38 gard.
-\par }\pard\plain \ltrpar\ql \li0\ri0\sb120\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12727346 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
-\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 EFFET JURIDIQUE.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0
-\fs20\dbch\af13\insrsid12727346 \hich\af38\dbch\af13\loch\f38 \hich\f38 Le pr\'e9\loch\f38 \hich\f38 sent contrat d\'e9\loch\f38 crit certains droits juridiques. Vous pourriez avoir d\hich\f38 \rquote \loch\f38 \hich\f38 autres droits pr\'e9\loch\f38
-vus par les lois de votre pays. }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid12727346 \hich\af38\dbch\af13\loch\f38 \hich\f38 Le pr\'e9\loch\f38 \hich\f38 sent contrat ne modifie pas les droits que vous conf
-\'e8\loch\f38 rent le\hich\af38\dbch\af13\loch\f38 s lois de votre pays si celles-ci ne le permettent pas.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\lang1036\langfe1033\dbch\af13\langnp1036\insrsid4992198
-\par }{\rtlch\fcs1 \af38 \ltrch\fcs0 \insrsid12727346
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 9.\tab}}\pard \ltrpar\s1\ql \fi-360\li360\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls12\outlinelevel0\adjustright\rin0\lin360\itap0\pararsid8259195 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 APPLICABLE LAW.}{\rtlch\fcs1
+\af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 a.\tab}}\pard\plain \ltrpar\s2\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls12\ilvl1\outlinelevel1\adjustright\rin0\lin720\itap0\pararsid8259195 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0
+\b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 United States.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0
+\b0\fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38
+ If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live g
+\hich\af38\dbch\af13\loch\f38 overn all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 b.\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268
+\hich\af38\dbch\af13\loch\f38 Outside the United States.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 If you acquired the software in any other country, the laws of that country apply.}{
+\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 10.\tab}}\pard\plain \ltrpar\s1\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls12\outlinelevel0\adjustright\rin0\lin357\itap0\pararsid8259195 \rtlch\fcs1 \ab\af38\afs19\alang1025 \ltrch\fcs0 \b\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {
+\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 LEGAL EFFECT.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 This agr\hich\af38\dbch\af13\loch\f38
+eement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your coun
+\hich\af38\dbch\af13\loch\f38 t\hich\af38\dbch\af13\loch\f38 ry if the laws of your country do not permit it to do so.}{\rtlch\fcs1 \ab0\af38\afs20 \ltrch\fcs0 \b0\fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 11.\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268
+\hich\af38\dbch\af13\loch\f38 \hich\f38 DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED \'93\loch\f38 \hich\f38 AS-IS.\'94\loch\f38
+ YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS \hich\af38\dbch\af13\loch\f38
+UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.}{\rtlch\fcs1 \af38\afs20
+\ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af38\afs20 \ltrch\fcs0 \b\fs20\loch\af38\hich\af38\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 12.\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268
+\hich\af38\dbch\af13\loch\f38 LIMITATION ON AND EXC\hich\af38\dbch\af13\loch\f38 LUSION OF REMEDIES AND DAMAGES}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\insrsid8404268 \hich\af38\dbch\af11\loch\f38
+. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0
+\fs20\insrsid1456345
+\par }\pard\plain \ltrpar\s24\ql \li357\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin357\itap0\pararsid8259195 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 This limitation app\hich\af38\dbch\af13\loch\f38 lies to}{\rtlch\fcs1
+\af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}\pard\plain \ltrpar\s34\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid8259195 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0 \fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
+\af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38 anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0
+\fs20\dbch\af13\insrsid1456345
+\par {\listtext\pard\plain\ltrpar \s34 \rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\loch\af3\hich\af3\dbch\af13\insrsid8404268 \loch\af3\dbch\af13\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38
+claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other t\hich\af38\dbch\af13\loch\f38 ort to the extent permitted by applicable law.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0
+\fs20\dbch\af13\insrsid1456345
+\par }\pard\plain \ltrpar\ql \li360\ri0\sb120\sa120\nowidctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid8259195 \rtlch\fcs1 \af38\afs19\alang1025 \ltrch\fcs0
+\fs19\lang1033\langfe1033\loch\af38\hich\af38\dbch\af11\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid8404268 \hich\af38\dbch\af13\loch\f38
+It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limi\hich\af38\dbch\af13\loch\f38
+tation of incidental, consequential or other damages.}{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid1456345
+\par }{\rtlch\fcs1 \af38\afs20 \ltrch\fcs0 \fs20\dbch\af13\insrsid864014
\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a
9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad
5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6
@@ -331,7 +538,7 @@ c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725
a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865
6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b
4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b
-4757e8d3f729e245eb2b260a0238fd010000ffff0300504b03041400060008000000210030dd4329a8060000a41b0000160000007468656d652f7468656d652f
+4757e8d3f729e245eb2b260a0238fd010000ffff0300504b03041400060008000000210096b5ade296060000501b0000160000007468656d652f7468656d652f
7468656d65312e786d6cec594f6fdb3614bf0fd87720746f6327761a07758ad8b19b2d4d1bc46e871e698996d850a240d2497d1bdae38001c3ba618715d86d87
615b8116d8a5fb34d93a6c1dd0afb0475292c5585e9236d88aad3e2412f9e3fbff1e1fa9abd7eec70c1d1221294fda5efd72cd4324f1794093b0eddd1ef62fad
79482a9c0498f184b4bd2991deb58df7dfbb8ad755446282607d22d771db8b944ad79796a40fc3585ee62949606ecc458c15bc8a702910f808e8c66c69b9565b
@@ -345,87 +552,227 @@ a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b
3849c26ae66252c6ed637c58c5bb8b13c7bfbd490a75330f4b47f16e441c31f7184e140e494214d273fc80900aedee52ead87597fa824b3e56e82e451d4c2b4d
32a423279a668bb6690c7e9956e90cfe766cb37b077538abd27a8b1cba48c80acc2a841f12e698f13a9e281c57911ce298950d7e03aba84ac8c154f8655c4f2a
f074481847bd804859b5e696007d4b4edfc150b12addbecba6b18b148a1e54d1bc81392f23b7f84137c2715a851dd0242a633f900710a218ed715505dfe56e86
-e877f0034e16bafb0e258ebb4faf06b769e888340b103d331115bebc4eb813bf83291b63624a0d1475a756c734f9bbc2cd28546ecbe1e20a3794ca175f3fae90
-fb6d2dd99bb07b55e5ccf68942bd0877b23c77b908e8db5f9db7f024d9239010f35bd4bbe2fcae387bfff9e2bc289f2fbe24cfaa301468dd8bd846dbb4ddf1c2
-ae7b4c191ba8292337a469bc25ec3d411f06f53a73e224c5292c8de0516732307070a1c0660d125c7d44553488700a4d7bddd3444299910e254ab984c3a219ae
-a4adf1d0f82b7bd46cea4388ad1c12ab5d1ed8e1153d9c9f350a3246aad01c6873462b9ac05999ad5cc988826eafc3acae853a33b7ba11cd1445875ba1b236b1
-399483c90bd560b0b0263435085a21b0f22a9cf9356b38ec6046026d77eba3dc2dc60b17e92219e180643ed27acffba86e9c94c7ca9c225a0f1b0cfae0788ad5
-4adc5a9aec1b703b8b93caec1a0bd8e5de7b132fe5113cf312503b998e2c2927274bd051db6b35979b1ef271daf6c6704e86c73805af4bdd476216c26593af84
-0dfb5393d964f9cc9bad5c313709ea70f561ed3ea7b053075221d51696910d0d339585004b34272bff7213cc7a510a5454a3b349b1b206c1f0af490176745d4b
-c663e2abb2b34b23da76f6352ba57ca2881844c1111ab189d8c7e07e1daaa04f40255c77988aa05fe06e4e5bdb4cb9c5394bbaf28d98c1d971ccd20867e556a7
-689ec9166e0a522183792b8907ba55ca6e943bbf2a26e52f48957218ffcf54d1fb09dc3eac04da033e5c0d0b8c74a6b43d2e54c4a10aa511f5fb021a07533b20
-5ae07e17a621a8e082dafc17e450ffb739676998b48643a4daa7211214f623150942f6a02c99e83b85583ddbbb2c4996113211551257a656ec1139246ca86be0
-aadedb3d1441a89b6a929501833b197fee7b9641a3503739e57c732a59b1f7da1cf8a73b1f9bcca0945b874d4393dbbf10b1680f66bbaa5d6f96e77b6f59113d
-316bb31a795600b3d256d0cad2fe354538e7566b2bd69cc6cbcd5c38f0e2bcc63058344429dc2121fd07f63f2a7c66bf76e80d75c8f7a1b622f878a18941d840
-545fb28d07d205d20e8ea071b283369834296bdaac75d256cb37eb0bee740bbe278cad253b8bbfcf69eca23973d939b97891c6ce2cecd8da8e2d343578f6648a
-c2d0383fc818c798cf64e52f597c740f1cbd05df0c264c49134cf09d4a60e8a107260f20f92d47b374e32f000000ffff0300504b030414000600080000002100
-0dd1909fb60000001b010000270000007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f7
-8277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89
-d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd500
-1996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0f
-bfff0000001c0200001300000000000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6
-a7e7c0000000360100000b00000000000000000000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a
-0000001c00000000000000000000000000190200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d00140006000800000021
-0030dd4329a8060000a41b00001600000000000000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d001400060008
-00000021000dd1909fb60000001b0100002700000000000000000000000000b20900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000ad0a00000000}
+e877f0034e16bafb0e258ebb4faf06b769e888340b103d3311da9750aa9d0a1cd3e4efca31a3508f6d0c5c5c398602f8e2ebc71591f5b616e24dd893aa3261fb
+44f95d843b5974bb5c04f4edafb95b7892ec1108f3f98de75dc97d5772bdff7cc95d94cf672db4b3da0a6557f70db629362d72bcb0431e53c6066acac80d699a
+6409fb44d08741bdce9c0e4971624a2378cceaba830b05366b90e0ea23aaa241845368b0eb9e2612ca8c742851ca251ceccc70256d8d87265dd96361531f186c
+3d9058edf2c00eafe8e1fc5c509031bb4d680e9f39a3154de0accc56ae644441edd76156d7429d995bdd88664a9dc3ad50197c38af1a0c16d684060441db0256
+5e85f3b9660d0713cc48a0ed6ef7dedc2dc60b17e92219e180643ed27acffba86e9c94c78ab90980d8a9f0913ee49d62b512b79626fb06dccee2a432bbc60276
+b9f7dec44b7904cfbca4f3f6443ab2a49c9c2c41476dafd55c6e7ac8c769db1bc399161ee314bc2e75cf8759081743be1236ec4f4d6693e5336fb672c5dc24a8
+c33585b5fb9cc24e1d4885545b58463634cc5416022cd19cacfccb4d30eb45296023fd35a458598360f8d7a4003bbaae25e331f155d9d9a5116d3bfb9a95523e
+51440ca2e0088dd844ec6370bf0e55d027a012ae264c45d02f708fa6ad6da6dce29c255df9f6cae0ec38666984b372ab5334cf640b37795cc860de4ae2816e95
+b21be5ceaf8a49f90b52a51cc6ff3355f47e0237052b81f6800fd7b802239daf6d8f0b1571a8426944fdbe80c6c1d40e8816b88b8569082ab84c36ff0539d4ff
+6dce591a26ade1c0a7f669880485fd484582903d284b26fa4e2156cff62e4b9265844c4495c495a9157b440e091bea1ab8aaf7760f4510eaa69a6465c0e04ec6
+9ffb9e65d028d44d4e39df9c1a52ecbd3607fee9cec7263328e5d661d3d0e4f62f44acd855ed7ab33cdf7bcb8ae889599bd5c8b3029895b6825696f6af29c239
+b75a5bb1e6345e6ee6c28117e73586c1a2214ae1be07e93fb0ff51e133fb65426fa843be0fb515c187064d0cc206a2fa926d3c902e907670048d931db4c1a449
+59d366ad93b65abe595f70a75bf03d616c2dd959fc7d4e6317cd99cbcec9c58b34766661c7d6766ca1a9c1b327531486c6f941c638c67cd22a7f75e2a37be0e8
+2db8df9f30254d30c1372581a1f51c983c80e4b71ccdd28dbf000000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468
+656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4
+350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d2624
+52282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe5141
+73d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c020000130000000000000000
+0000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000
+000000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c0000000000000000000000000019
+0200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d001400060008000000210096b5ade296060000501b00001600000000
+000000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b01000027
+00000000000000000000000000a00900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d0100009b0a00000000}
{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdlocked0 heading 1;\lsdqformat1 \lsdlocked0 heading 2;\lsdqformat1 \lsdlocked0 heading 3;\lsdqformat1 \lsdlocked0 heading 4;\lsdqformat1 \lsdlocked0 heading 5;\lsdqformat1 \lsdlocked0 heading 6;
-\lsdqformat1 \lsdlocked0 heading 7;\lsdqformat1 \lsdlocked0 heading 8;\lsdqformat1 \lsdlocked0 heading 9;\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;
-\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7;\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;
-\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;
-\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 0105000002000000180000004d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000
-d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;
+\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7;
+\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;
+\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 010500000200000018000000
+4d73786d6c322e534158584d4c5265616465722e362e30000000000000000000004a0000
+d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff0900060000000000000000000000010000000100000000000000001000000200000001000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+fffffffffffffffffdffffff04000000feffffff050000000e000000060000000700000008000000090000000a0000000b0000000c0000000d0000000f000000110000001000000022000000feffffff130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e00
+00001f0000002000000021000000feffffff23000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e500000000000000000000000050b9
-89c1df03cb01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000105000000000000}}
\ No newline at end of file
+ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffff010000000c6ad98892f1d411a65f0040963251e5000000000000000000000000103c
+1c77459fcb0103000000c01a0000000000004d0073006f004400610074006100530074006f0072006500000000000000000000000000000000000000000000000000000000000000000000000000000000001a000101ffffffffffffffff050000000000000000000000000000000000000000000000103c1c77459fcb01
+103c1c77459fcb01000000000000000000000000c70053005a00db00c300dd004e00c300c800d40053003100c800420044005500d80059004600ca00430051003d003d000000000000000000000000000000000032000101ffffffffffffffff030000000000000000000000000000000000000000000000103c1c77459f
+cb01103c1c77459fcb010000000000000000000000004900740065006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000201ffffffff04000000ffffffff000000000000000000000000000000000000000000000000
+00000000000000000000000000000000c100000000000000010000000200000003000000feffffff0500000006000000070000000800000009000000feffffff0b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a00
+00001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f00000030000000310000003200000033000000340000003500000036000000370000003800000039000000
+3a0000003b0000003c0000003d0000003e0000003f00000040000000410000004200000043000000440000004500000046000000470000004800000049000000feffffff4b0000004c0000004d0000004e0000004f000000feffffff510000005200000053000000feffffff550000005600000057000000580000005900
+0000feffffff5b0000005c0000005d0000005e0000005f000000600000006100000062000000630000006400000065000000660000006700000068000000690000006a000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d227574662d3822207374616e64616c6f6e653d22796573223f3e3c44696374696f6e617279205361766564427956657273696f6e3d22332e362e31382e3022204d
+696e696d756d56657273696f6e3d22332e362e342e302220786d6c6e733d22687474703a2f2f736368656d61732e627573696e6573732d696e746567726974792e636f6d2f6465616c6275696c6465722f323030362f64696374696f6e617279222f3e000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000003c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d226e6f223f3e0d0a3c64733a6461746173746f72654974656d2064733a6974656d49443d227b38463742
+323639442d363344332d343441332d394241302d3130443445313831364130397d2220786d6c6e733a64733d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f637573746f6d586d6c223e3c64733a736368656d61526566733e3c
+64733a736368656d615265662064733a7572693d22687474703a2f2f736368656d61732e62757369500072006f007000650072007400690065007300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000200ffffffffffffffffffffffff000000000000
+000000000000000000000000000000000000000000000000000000000000040000005401000000000000ce00c90032004a0031005500d600cd004a00c4003400d500db00d8005900d3005800450045004100440041003d003d00000000000000000000000000000000003200010102000000080000000600000000000000
+00000000000000000000000000000000103c1c77459fcb01103c1c77459fcb010000000000000000000000004900740065006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000201ffffffff07000000ffffffff0000
+000000000000000000000000000000000000000000000000000000000000000000000a000000f50f000000000000500072006f007000650072007400690065007300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000200ffffffffffffffffffffffff
+0000000000000000000000000000000000000000000000000000000000000000000000004a00000051010000000000006e6573732d696e746567726974792e636f6d2f6465616c6275696c6465722f323030362f64696374696f6e617279222f3e3c2f64733a736368656d61526566733e3c2f64733a6461746173746f72
+654974656d3e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d227574662d3822207374616e64616c6f6e653d22796573223f3e3c53657373696f6e20786d6c6e733d22687474703a
+2f2f736368656d61732e627573696e6573732d696e746567726974792e636f6d2f6465616c6275696c6465722f323030362f616e7377657273223e3c5661726961626c65204e616d653d22636f6e74726163747265666572656e6365222052656c6576616e743d2266616c7365223e3c56616c75653e323031302d4d4149
+4e422d3030313031333c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d226d73636f6d223e3c56616c75653e66616c73653c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d2266696c6574797065223e3c56616c75653e2e7274663c2f56616c7565
+3e3c2f5661726961626c653e3c5661726961626c65204e616d653d226c616e6775616765616c6c223e3c56616c75653e456e676c6973683c2f56616c75653e3c56616c75653e4368696e657365202853696d706c6966696564293c2f56616c75653e3c56616c75653e4368696e6573652028547261646974696f6e616c29
+3c2f56616c75653e3c56616c75653e437a6563683c2f56616c75653e3c56616c75653e4672656e63683c2f56616c75653e3c56616c75653e4765726d616e3c2f56616c75653e3c56616c75653e4974616c69616e3c2f56616c75653e3c56616c75653e4a6170616e6573653c2f56616c75653e3c56616c75653e4b6f7265
+616e3c2f56616c75653e3c56616c75653e506f6c6973683c2f56616c75653e3c56616c75653e506f727475677565736520284272617a696c293c2f56616c75653e3c56616c75653e5275737369616e3c2f56616c75653e3c56616c75653e5370616e6973683c2f56616c75653e3c56616c75653e5475726b6973683c2f56
+616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d225f5f72657175657374646967657374222052656c6576616e743d2266616c7365223e3c56616c75653e3078464532363934364137393337363741383635383139334236383646353743433745453838394237353842444536304337444435
+39313644303831354244424344374335363534444137353735353430323832393342384331414345463833393630344143344634383342454533313330394235394442384434393734454335322c30392044656320323031302032323a32323a3430202d303030303c2f56616c75653e3c2f5661726961626c653e3c5661
+726961626c65204e616d653d225f5f6576656e7476616c69646174696f6e222052656c6576616e743d2266616c7365223e3c56616c75653e2f77455741674b4f3239697043414c623449756d444c2b75437032397970624e71637a6d5230493767414e52424e67333c2f56616c75653e3c2f5661726961626c653e3c5661
+726961626c65204e616d653d2263746c303024706c616365686f6c6465726d61696e24686663657370636f6e74726163747265666572656e6365222052656c6576616e743d2266616c7365223e3c56616c75653e323031302d4d41494e422d3030313031333c2f56616c75653e3c2f5661726961626c653e3c5661726961
+626c65204e616d653d2263616e616461617661696c223e3c56616c75653e747275653c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d2263616e6164616672656e6368223e3c56616c75653e747275653c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d
+653d2266696c65666f726d6174223e3c56616c75653e66616c73653c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d22736f66747761726574797065223e3c56616c75653e467265652c205374616e64616c6f6e6520536f6674776172653c2f56616c75653e3c2f5661726961626c65
+3e3c5661726961626c65204e616d653d2270726f647563746e616d65223e3c56616c75653e53514c2053657276657220436f6d7061637420342e303c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d226e756d6265726f66636f70696573223e3c56616c75653e416e79206e756d6265
+72206f6620636f706965733c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d2270726f6475637476657273696f6e223e3c56616c75653e4e6f6e653c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d2276657273696f6e76697369626c65223e3c56
+616c75653e66616c73653c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d226368616e6e656c223e3c56616c75653e52657461696c3c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d227374616e64616c6f6e657573657269676874223e3c56616c
+75653e4f6e6c7920746f2064657369676e2c20646576656c6f7020616e64207465737420746865207573657227732070726f6772616d733c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d226d65646961656c656d656e747374656d706c61746573223e3c56616c75653e66616c7365
+3c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d2264697374726962757461626c65636f6465223e3c56616c75653e747275653c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d2264697374726962757461626c65636f646574797065223e3c5661
+6c75653e5265646973742e7478743c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d227265646973747478746f6e6c696e65223e3c56616c75653e66616c73653c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d22696e7465726e616c7265617373
+69676e6d656e74223e3c56616c75653e66616c73653c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d226c6963656e73657472616e73666572223e3c56616c75653e66616c73653c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d226f746865726d
+6963726f736f667470726f6772616d73223e3c56616c75653e747275653c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d226e65746672616d65776f726b223e3c56616c75653e66616c73653c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d226f
+746865726d6963726f736f667470726f6772616d737465726d73223e3c56616c75653e546865207365706172617465206c6963656e7365207465726d73206173736f636961746564207769746820746865206f74686572204d6963726f736f66742070726f6772616d733c2f56616c75653e3c2f5661726961626c653e3c
+5661726961626c65204e616d653d2270726572656c65617365636f6465223e3c56616c75653e66616c73653c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d227468697264706172747970726f6772616d73223e3c56616c75653e66616c73653c2f56616c75653e3c2f566172696162
+6c653e3c5661726961626c65204e616d653d2262656e63686d61726b696e67223e3c56616c75653e66616c73653c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d226d706567223e3c56616c75653e66616c73653c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65
+204e616d653d22696e7465726e657462617365647365727669636573223e3c56616c75653e66616c73653c2f56616c75653e3c2f5661726961626c653e3c5661726961626c65204e616d653d225f5f6576656e7474617267657422204b6e6f776e3d2266616c7365222052656c6576616e743d2266616c7365222f3e3c56
+61726961626c65204e616d653d225f5f6576656e74617267756d656e7422204b6e6f776e3d2266616c7365222052656c6576616e743d2266616c7365222f3e3c5661726961626c65204e616d653d226c61756e6368646976616374696f6e22204b6e6f776e3d2266616c7365222052656c6576616e743d2266616c736522
+2f3e3c5661726961626c65204e616d653d225f5f737064756d6d79746578743122204b6e6f776e3d2266616c7365222052656c6576616e743d2266616c7365222f3e3c5661726961626c65204e616d653d225f5f737064756d6d79746578743222204b6e6f776e3d2266616c7365222052656c6576616e743d2266616c73
+65222f3e3c5661726961626c65204e616d653d226f726967696e61746f72223e3c56616c75653e5245444d4f4e445c64636f7265793c2f56616c75653e3c2f5661726961626c653e3c506172616d65746572204e616d653d2264625f646973706c61795f616c6c5f636f6d6d656e7473223e3c56616c75653e66616c7365
+3c2f56616c75653e3c2f506172616d657465723e3c506172616d65746572204e616d653d2264625f73686f775f73756d6d617279223e3c56616c75653e64697361626c65643c2f56616c75653e3c2f506172616d657465723e3c506172616d65746572204e616d653d2264625f74656d706c6174655f666f726d223e3c56
+616c75653e35323032636439312d396439322d343338612d386637642d3630613864313464336162303c2f56616c75653e3c2f506172616d657465723e3c506172616d65746572204e616d653d2264625f74656d706c6174655f7265666572656e6365223e3c56616c75653e5553455445524d535f4d41494e423c2f5661
+6c75653e3c2f506172616d657465723e3c506172616d65746572204e616d653d2264625f74656d706c6174655f76657273696f6e223e3c56616c75653e32303130313130393c2f56616c75653e3c2f506172616d657465723e3c506172616d65746572204e616d653d2264625f7472616e73616374696f6e5f6578746572
+6e616c5f6c6162656c223e3c56616c75653e323031302d4d41494e422d3030313031333c2f56616c75653e3c2f506172616d657465723e3c506172616d65746572204e616d653d2264625f7472616e73616374696f6e5f6964223e3c56616c75653e333432323c2f56616c75653e3c2f506172616d657465723e3c506172
+616d65746572204e616d653d2264625f766973697465645f7061676573223e3c56616c75653e313c2f56616c75653e3c56616c75653e323c2f56616c75653e3c56616c75653e333c2f56616c75653e3c56616c75653e343c2f56616c75653e3c56616c75653e363c2f56616c75653e3c56616c75653e373c2f56616c7565
+3e3c56616c75653e313c2f56616c75653e3c56616c75653e323c2f56616c75653e3c56616c75653e333c2f56616c75653e3c56616c75653e313c2f56616c75653e3c56616c75653e313c2f56616c75653e3c2f506172616d657465723e3c2f53657373696f6e3e00000000000000000000003c3f786d6c2076657273696f
+6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d226e6f223f3e0d0a3c64733a6461746173746f72654974656d2064733a6974656d49443d227b36443039393742412d414434442d343732362d423545462d3836333335433431303030437d2220786d6c6e733a64733d22687474
+703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f637573746f6d586d6c223e3c64733a736368656d61526566733e3c64733a736368656d615265662064733a7572693d22687474703a2f2f736368656d61732e627573696e6573732d696e74
+6567726974792e636f6d2f6465616c6275696c6465722f323030362f616e7377657273222f3e3c2f64733a736368656d61526566733e3c2f64733a6461746173746f72654974656d3e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d100c7003500
+c3004700c200c400d50056005500ca00dc00c600d30051004a004a003200dd00c600320041003d003d000000000000000000000000000000000032000101ffffffff0b000000090000000000000000000000000000000000000000000000103c1c77459fcb01103c1c77459fcb0100000000000000000000000049007400
+65006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000201ffffffff0a000000ffffffff00000000000000000000000000000000000000000000000000000000000000000000000050000000db000000000000005000
+72006f007000650072007400690065007300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000200ffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000540000004f01000000000000
+d300c300d4004f005600d400c000440034005500ce00df004400ce005a005100c100df0034005400550051003d003d000000000000000000000000000000000032000100ffffffffffffffff0c0000000000000000000000000000000000000000000000103c1c77459fcb01103c1c77459fcb0100000000000000000000
+00003c3f6d736f2d636f6e74656e74547970653f3e3c466f726d54656d706c6174657320786d6c6e733d22687474703a2f2f736368656d61732e6d6963726f736f66742e636f6d2f7368617265706f696e742f76332f636f6e74656e74747970652f666f726d73223e3c446973706c61793e446f63756d656e744c696272
+617279466f726d3c2f446973706c61793e3c456469743e446f63756d656e744c696272617279466f726d3c2f456469743e3c4e65773e446f63756d656e744c696272617279466f726d3c2f4e65773e3c2f466f726d54656d706c617465733e00000000000000000000000000000000000000000000000000000000000000
+0000000000003c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d226e6f223f3e0d0a3c64733a6461746173746f72654974656d2064733a6974656d49443d227b31414533373743362d333532392d344135352d424339422d33343039323543463636
+37307d2220786d6c6e733a64733d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f637573746f6d586d6c223e3c64733a736368656d61526566733e3c64733a736368656d615265662064733a7572693d22687474703a2f2f7363
+68656d61732e6d6963726f736f66742e636f6d2f7368617265706f696e742f76332f636f6e74656e74747970652f666f726d73222f3e3c2f64733a736368656d61526566733e3c2f64733a6461746173746f72654974656d3e00000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000003c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d226e6f223f3e0d0a3c64733a6461746173746f72654974656d2064733a6974656d49443d227b35373045334443452d303334382d344237392d424630452d45363530
+38374637393335317d2220786d6c6e733a64733d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f637573746f6d586d6c223e3c64733a736368656d61526566733e3c64733a736368656d615265662064733a7572693d22687474
+703a2f2f736368656d61732e6d6963726f736f66742e636f6d2f6f66666963652f323030362f6d657461646174612f636f6e74656e7454797065222f3e3c64733a736368656d615265662064733a7572693d22687474703a2f2f736368656d61732e6d6963726f736f66742e636f6d2f6f66666963652f323030362f6d65
+7461646174612f70726f706572746965732f4900740065006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000201ffffffff0d000000ffffffff00000000000000000000000000000000000000000000000000000000
+000000000000000012000000761f000000000000500072006f007000650072007400690065007300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000200ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
+000000000000000000005a00000004040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000003c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d227574662d38223f3e3c63743a636f6e74656e7454797065536368656d612063743a5f3d2222206d613a5f3d2222206d613a636f6e74656e74547970654e616d653d22446f6375
+6d656e7422206d613a636f6e74656e745479706549443d223078303130313030424441314136413232304134304134313945464239453539313741434336414422206d613a636f6e74656e745479706556657273696f6e3d22313722206d613a636f6e74656e74547970654465736372697074696f6e3d22437265617465
+2061206e657720646f63756d656e742e22206d613a636f6e74656e745479706553636f70653d2222206d613a76657273696f6e49443d2266343736346339666166646632336436653035343862333630623130346130332220786d6c6e733a63743d22687474703a2f2f736368656d61732e6d6963726f736f66742e636f
+6d2f6f66666963652f323030362f6d657461646174612f636f6e74656e74547970652220786d6c6e733a6d613d22687474703a2f2f736368656d61732e6d6963726f736f66742e636f6d2f6f66666963652f323030362f6d657461646174612f70726f706572746965732f6d65746141747472696275746573223e0d0a3c
+7873643a736368656d61207461726765744e616d6573706163653d22687474703a2f2f736368656d61732e6d6963726f736f66742e636f6d2f6f66666963652f323030362f6d657461646174612f70726f7065727469657322206d613a726f6f743d227472756522206d613a6669656c647349443d223732326565636431
+63363230323961373830386363653964376530623264396522206e73323a5f3d222220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a703d22687474703a2f2f736368656d61732e6d6963726f736f66742e636f6d2f6f66666963652f32
+3030362f6d657461646174612f70726f706572746965732220786d6c6e733a6e73323d2235616265626439612d376264662d343438322d393437632d633333353535323462663833223e0d0a3c7873643a696d706f7274206e616d6573706163653d2235616265626439612d376264662d343438322d393437632d633333
+353535323462663833222f3e0d0a3c7873643a656c656d656e74206e616d653d2270726f70657274696573223e0d0a3c7873643a636f6d706c6578547970653e0d0a3c7873643a73657175656e63653e0d0a3c7873643a656c656d656e74206e616d653d22646f63756d656e744d616e6167656d656e74223e0d0a3c7873
+643a636f6d706c6578547970653e0d0a3c7873643a616c6c3e0d0a3c7873643a656c656d656e74207265663d226e73323a4368616e6e656c222f3e0d0a3c7873643a656c656d656e74207265663d226e73323a4f726967696e61746f72222f3e0d0a3c7873643a656c656d656e74207265663d226e73323a50726f647563
+744e616d6522206d696e4f63637572733d2230222f3e0d0a3c7873643a656c656d656e74207265663d226e73323a50726f6475637456657273696f6e22206d696e4f63637572733d2230222f3e0d0a3c7873643a656c656d656e74207265663d226e73323a5075626c6973684461746522206d696e4f63637572733d2230
+222f3e0d0a3c7873643a656c656d656e74207265663d226e73323a5265746972656d656e744461746522206d696e4f63637572733d2230222f3e0d0a3c7873643a656c656d656e74207265663d226e73323a536f6674776172655479706522206d696e4f63637572733d2230222f3e0d0a3c7873643a656c656d656e7420
+7265663d226e73323a4d53636f6d22206d696e4f63637572733d2230222f3e0d0a3c7873643a656c656d656e74207265663d226e73323a53746174757322206d696e4f63637572733d2230222f3e0d0a3c7873643a656c656d656e74207265663d226e73323a4c6963656e73654d6f64656c22206d696e4f63637572733d
+2230222f3e0d0a3c7873643a656c656d656e74207265663d226e73323a50726f64756374494422206d696e4f63637572733d2230222f3e0d0a3c7873643a656c656d656e74207265663d226e73323a4f776e657222206d696e4f63637572733d2230222f3e0d0a3c7873643a656c656d656e74207265663d226e73323a4c
+616e677561676522206d696e4f63637572733d2230222f3e0d0a3c7873643a656c656d656e74207265663d226e73323a46696c6554797065222f3e0d0a3c2f7873643a616c6c3e0d0a3c2f7873643a636f6d706c6578547970653e0d0a3c2f7873643a656c656d656e743e0d0a3c2f7873643a73657175656e63653e0d0a
+3c2f7873643a636f6d706c6578547970653e0d0a3c2f7873643a656c656d656e743e0d0a3c2f7873643a736368656d613e0d0a3c7873643a736368656d61207461726765744e616d6573706163653d2235616265626439612d376264662d343438322d393437632d6333333535353234626638332220656c656d656e7446
+6f726d44656661756c743d227175616c69666965642220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a646d733d22687474703a2f2f736368656d61732e6d6963726f736f66742e636f6d2f6f66666963652f323030362f646f63756d65
+6e744d616e6167656d656e742f7479706573223e0d0a3c7873643a696d706f7274206e616d6573706163653d22687474703a2f2f736368656d61732e6d6963726f736f66742e636f6d2f6f66666963652f323030362f646f63756d656e744d616e6167656d656e742f7479706573222f3e0d0a3c7873643a656c656d656e
+74206e616d653d224368616e6e656c22206d613a696e6465783d223822206d613a646973706c61794e616d653d224368616e6e656c22206d613a696e7465726e616c4e616d653d224368616e6e656c223e0d0a3c7873643a73696d706c65547970653e0d0a3c7873643a7265737472696374696f6e20626173653d22646d
+733a54657874223e0d0a3c7873643a6d61784c656e6774682076616c75653d22323535222f3e0d0a3c2f7873643a7265737472696374696f6e3e0d0a3c2f7873643a73696d706c65547970653e0d0a3c2f7873643a656c656d656e743e0d0a3c7873643a656c656d656e74206e616d653d224f726967696e61746f722220
+6d613a696e6465783d223922206d613a646973706c61794e616d653d224f726967696e61746f7222206d613a696e7465726e616c4e616d653d224f726967696e61746f72223e0d0a3c7873643a73696d706c65547970653e0d0a3c7873643a7265737472696374696f6e20626173653d22646d733a54657874223e0d0a3c
+7873643a6d61784c656e6774682076616c75653d22323535222f3e0d0a3c2f7873643a7265737472696374696f6e3e0d0a3c2f7873643a73696d706c65547970653e0d0a3c2f7873643a656c656d656e743e0d0a3c7873643a656c656d656e74206e616d653d2250726f647563744e616d6522206d613a696e6465783d22
+313022206e696c6c61626c653d227472756522206d613a646973706c61794e616d653d2250726f647563744e616d6522206d613a64656661756c743d2222206d613a696e7465726e616c4e616d653d2250726f647563744e616d65223e0d0a3c7873643a73696d706c65547970653e0d0a3c7873643a7265737472696374
+696f6e20626173653d22646d733a4e6f7465222f3e0d0a3c2f7873643a73696d706c65547970653e0d0a3c2f7873643a656c656d656e743e0d0a3c7873643a656c656d656e74206e616d653d2250726f6475637456657273696f6e22206d613a696e6465783d22313122206e696c6c61626c653d227472756522206d613a
+646973706c61794e616d653d2250726f6475637456657273696f6e22206d613a696e7465726e616c4e616d653d2250726f6475637456657273696f6e223e0d0a3c7873643a73696d706c65547970653e0d0a3c7873643a7265737472696374696f6e20626173653d22646d733a54657874223e0d0a3c7873643a6d61784c
+656e6774682076616c75653d22323535222f3e0d0a3c2f7873643a7265737472696374696f6e3e0d0a3c2f7873643a73696d706c65547970653e0d0a3c2f7873643a656c656d656e743e0d0a3c7873643a656c656d656e74206e616d653d225075626c6973684461746522206d613a696e6465783d22313222206e696c6c
+61626c653d227472756522206d613a646973706c61794e616d653d225075626c6973684461746522206d613a666f726d61743d22446174654f6e6c7922206d613a696e7465726e616c4e616d653d225075626c69736844617465223e0d0a3c7873643a73696d706c65547970653e0d0a3c7873643a726573747269637469
+6f6e20626173653d22646d733a4461746554696d65222f3e0d0a3c2f7873643a73696d706c65547970653e0d0a3c2f7873643a656c656d656e743e0d0a3c7873643a656c656d656e74206e616d653d225265746972656d656e744461746522206d613a696e6465783d22313322206e696c6c61626c653d22747275652220
+6d613a646973706c61794e616d653d225265746972656d656e744461746522206d613a666f726d61743d22446174654f6e6c7922206d613a696e7465726e616c4e616d653d225265746972656d656e7444617465223e0d0a3c7873643a73696d706c65547970653e0d0a3c7873643a7265737472696374696f6e20626173
+653d22646d733a4461746554696d65222f3e0d0a3c2f7873643a73696d706c65547970653e0d0a3c2f7873643a656c656d656e743e0d0a3c7873643a656c656d656e74206e616d653d22536f6674776172655479706522206d613a696e6465783d22313422206e696c6c61626c653d227472756522206d613a646973706c
+61794e616d653d22536f6674776172655479706522206d613a696e7465726e616c4e616d653d22536f66747761726554797065223e0d0a3c7873643a73696d706c65547970653e0d0a3c7873643a7265737472696374696f6e20626173653d22646d733a54657874223e0d0a3c7873643a6d61784c656e6774682076616c
+75653d22323535222f3e0d0a3c2f7873643a7265737472696374696f6e3e0d0a3c2f7873643a73696d706c65547970653e0d0a3c2f7873643a656c656d656e743e0d0a3c7873643a656c656d656e74206e616d653d224d53636f6d22206d613a696e6465783d22313522206e696c6c61626c653d227472756522206d613a
+646973706c61794e616d653d224d53636f6d22206d613a64656661756c743d223122206d613a696e7465726e616c4e616d653d224d53636f6d223e0d0a3c7873643a73696d706c65547970653e0d0a3c7873643a7265737472696374696f6e20626173653d22646d733a426f6f6c65616e222f3e0d0a3c2f7873643a7369
+6d706c65547970653e0d0a3c2f7873643a656c656d656e743e0d0a3c7873643a656c656d656e74206e616d653d2253746174757322206d613a696e6465783d22313622206e696c6c61626c653d227472756522206d613a646973706c61794e616d653d2253746174757322206d613a696e7465726e616c4e616d653d2253
+7461747573223e0d0a3c7873643a73696d706c65547970653e0d0a3c7873643a7265737472696374696f6e20626173653d22646d733a54657874223e0d0a3c7873643a6d61784c656e6774682076616c75653d22323535222f3e0d0a3c2f7873643a7265737472696374696f6e3e0d0a3c2f7873643a73696d706c655479
+70653e0d0a3c2f7873643a656c656d656e743e0d0a3c7873643a656c656d656e74206e616d653d224c6963656e73654d6f64656c22206d613a696e6465783d22313722206e696c6c61626c653d227472756522206d613a646973706c61794e616d653d224c6963656e73654d6f64656c22206d613a696e7465726e616c4e
+616d653d224c6963656e73654d6f64656c223e0d0a3c7873643a73696d706c65547970653e0d0a3c7873643a7265737472696374696f6e20626173653d22646d733a54657874223e0d0a3c7873643a6d61784c656e6774682076616c75653d22323535222f3e0d0a3c2f7873643a7265737472696374696f6e3e0d0a3c2f
+7873643a73696d706c65547970653e0d0a3c2f7873643a656c656d656e743e0d0a3c7873643a656c656d656e74206e616d653d2250726f64756374494422206d613a696e6465783d22313822206e696c6c61626c653d227472756522206d613a646973706c61794e616d653d2250726f64756374494422206d613a696e74
+65726e616c4e616d653d2250726f647563744944223e0d0a3c7873643a73696d706c65547970653e0d0a3c7873643a7265737472696374696f6e20626173653d22646d733a54657874223e0d0a3c7873643a6d61784c656e6774682076616c75653d22323535222f3e0d0a3c2f7873643a7265737472696374696f6e3e0d
+0a3c2f7873643a73696d706c65547970653e0d0a3c2f7873643a656c656d656e743e0d0a3c7873643a656c656d656e74206e616d653d224f776e657222206d613a696e6465783d22313922206e696c6c61626c653d227472756522206d613a646973706c61794e616d653d224f776e657222206d613a696e7465726e616c
+4e616d653d224f776e6572223e0d0a3c7873643a73696d706c65547970653e0d0a3c7873643a7265737472696374696f6e20626173653d22646d733a54657874223e0d0a3c7873643a6d61784c656e6774682076616c75653d22323535222f3e0d0a3c2f7873643a7265737472696374696f6e3e0d0a3c2f7873643a7369
+6d706c65547970653e0d0a3c2f7873643a656c656d656e743e0d0a3c7873643a656c656d656e74206e616d653d224c616e677561676522206d613a696e6465783d22323022206e696c6c61626c653d227472756522206d613a646973706c61794e616d653d224c616e677561676522206d613a696e7465726e616c4e616d
+653d224c616e6775616765223e0d0a3c7873643a73696d706c65547970653e0d0a3c7873643a7265737472696374696f6e20626173653d22646d733a54657874223e0d0a3c7873643a6d61784c656e6774682076616c75653d22323535222f3e0d0a3c2f7873643a7265737472696374696f6e3e0d0a3c2f7873643a7369
+6d706c65547970653e0d0a3c2f7873643a656c656d656e743e0d0a3c7873643a656c656d656e74206e616d653d2246696c655479706522206d613a696e6465783d22323122206d613a646973706c61794e616d653d2246696c655479706522206d613a696e7465726e616c4e616d653d2246696c6554797065223e0d0a3c
+7873643a73696d706c65547970653e0d0a3c7873643a7265737472696374696f6e20626173653d22646d733a54657874223e0d0a3c7873643a6d61784c656e6774682076616c75653d22323535222f3e0d0a3c2f7873643a7265737472696374696f6e3e0d0a3c2f7873643a73696d706c65547970653e0d0a3c2f787364
+3a656c656d656e743e0d0a3c2f7873643a736368656d613e0d0a3c7873643a736368656d61207461726765744e616d6573706163653d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f7061636b6167652f323030362f6d657461646174612f636f72652d70726f70657274696573
+2220656c656d656e74466f726d44656661756c743d227175616c69666965642220617474726962757465466f726d44656661756c743d22756e7175616c69666965642220626c6f636b44656661756c743d2223616c6c2220786d6c6e733d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f
+72672f7061636b6167652f323030362f6d657461646174612f636f72652d70726f706572746965732220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c5363
+68656d612d696e7374616e63652220786d6c6e733a64633d22687474703a2f2f7075726c2e6f72672f64632f656c656d656e74732f312e312f2220786d6c6e733a64637465726d733d22687474703a2f2f7075726c2e6f72672f64632f7465726d732f2220786d6c6e733a6f646f633d22687474703a2f2f736368656d61
+732e6d6963726f736f66742e636f6d2f6f66666963652f696e7465726e616c2f323030352f696e7465726e616c446f63756d656e746174696f6e223e0d0a3c7873643a696d706f7274206e616d6573706163653d22687474703a2f2f7075726c2e6f72672f64632f656c656d656e74732f312e312f2220736368656d614c
+6f636174696f6e3d22687474703a2f2f6475626c696e636f72652e6f72672f736368656d61732f786d6c732f7164632f323030332f30342f30322f64632e787364222f3e0d0a3c7873643a696d706f7274206e616d6573706163653d22687474703a2f2f7075726c2e6f72672f64632f7465726d732f2220736368656d61
+4c6f636174696f6e3d22687474703a2f2f6475626c696e636f72652e6f72672f736368656d61732f786d6c732f7164632f323030332f30342f30322f64637465726d732e787364222f3e0d0a3c7873643a656c656d656e74206e616d653d22636f726550726f706572746965732220747970653d2243545f636f72655072
+6f70657274696573222f3e0d0a3c7873643a636f6d706c657854797065206e616d653d2243545f636f726550726f70657274696573223e0d0a3c7873643a616c6c3e0d0a3c7873643a656c656d656e74207265663d2264633a63726561746f7222206d696e4f63637572733d223022206d61784f63637572733d2231222f
+3e0d0a3c7873643a656c656d656e74207265663d2264637465726d733a6372656174656422206d696e4f63637572733d223022206d61784f63637572733d2231222f3e0d0a3c7873643a656c656d656e74207265663d2264633a6964656e74696669657222206d696e4f63637572733d223022206d61784f63637572733d
+2231222f3e0d0a3c7873643a656c656d656e74206e616d653d22636f6e74656e745479706522206d696e4f63637572733d223022206d61784f63637572733d22312220747970653d227873643a737472696e6722206d613a696e6465783d223022206d613a646973706c61794e616d653d22436f6e74656e742054797065
+22206d613a726561644f6e6c793d2274727565222f3e0d0a3c7873643a656c656d656e74207265663d2264633a7469746c6522206d696e4f63637572733d223022206d61784f63637572733d223122206d613a696e6465783d223422206d613a646973706c61794e616d653d225469746c65222f3e0d0a3c7873643a656c
+656d656e74207265663d2264633a7375626a65637422206d696e4f63637572733d223022206d61784f63637572733d2231222f3e0d0a3c7873643a656c656d656e74207265663d2264633a6465736372697074696f6e22206d696e4f63637572733d223022206d61784f63637572733d2231222f3e0d0a3c7873643a656c
+656d656e74206e616d653d226b6579776f72647322206d696e4f63637572733d223022206d61784f63637572733d22312220747970653d227873643a737472696e67222f3e0d0a3c7873643a656c656d656e74207265663d2264633a6c616e677561676522206d696e4f63637572733d223022206d61784f63637572733d
+2231222f3e0d0a3c7873643a656c656d656e74206e616d653d2263617465676f727922206d696e4f63637572733d223022206d61784f63637572733d22312220747970653d227873643a737472696e67222f3e0d0a3c7873643a656c656d656e74206e616d653d2276657273696f6e22206d696e4f63637572733d223022
+206d61784f63637572733d22312220747970653d227873643a737472696e67222f3e0d0a3c7873643a656c656d656e74206e616d653d227265766973696f6e22206d696e4f63637572733d223022206d61784f63637572733d22312220747970653d227873643a737472696e67223e0d0a3c7873643a616e6e6f74617469
+6f6e3e0d0a3c7873643a646f63756d656e746174696f6e3e0d0a202020202020202020202020202020202020202020202020546869732076616c756520696e6469636174657320746865206e756d626572206f66207361766573206f72207265766973696f6e732e20546865206170706c69636174696f6e206973207265
+73706f6e7369626c6520666f72207570646174696e6720746869732076616c75652061667465722065616368207265766973696f6e2e0d0a20202020202020202020202020202020202020203c2f7873643a646f63756d656e746174696f6e3e0d0a3c2f7873643a616e6e6f746174696f6e3e0d0a3c2f7873643a656c65
+6d656e743e0d0a3c7873643a656c656d656e74206e616d653d226c6173744d6f646966696564427922206d696e4f63637572733d223022206d61784f63637572733d22312220747970653d227873643a737472696e67222f3e0d0a3c7873643a656c656d656e74207265663d2264637465726d733a6d6f64696669656422
+206d696e4f63637572733d223022206d61784f63637572733d2231222f3e0d0a3c7873643a656c656d656e74206e616d653d226c6173745072696e74656422206d696e4f63637572733d223022206d61784f63637572733d22312220747970653d227873643a6461746554696d65222f3e0d0a3c7873643a656c656d656e
+74206e616d653d22636f6e74656e7453746174757322206d696e4f63637572733d223022206d61784f63637572733d22312220747970653d227873643a737472696e67222f3e0d0a3c2f7873643a616c6c3e0d0a3c2f7873643a636f6d706c6578547970653e0d0a3c2f7873643a736368656d613e0d0a3c2f63743a636f
+6e74656e7454797065536368656d613e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000006d65746141747472696275746573222f3e3c64733a736368656d615265662064733a7572693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61222f3e3c64733a736368656d615265662064733a7572693d226874
+74703a2f2f736368656d61732e6d6963726f736f66742e636f6d2f6f66666963652f323030362f6d657461646174612f70726f70657274696573222f3e3c64733a736368656d615265662064733a7572693d2235616265626439612d376264662d343438322d393437632d633333353535323462663833222f3e3c64733a
+736368656d615265662064733a7572693d22687474703a2f2f736368656d61732e6d6963726f736f66742e636f6d2f6f66666963652f323030362f646f63756d656e744d616e6167656d656e742f7479706573222f3e3c64733a736368656d615265662064733a7572693d22687474703a2f2f736368656d61732e6f7065
+6e786d6c666f726d6174732e6f72672f7061636b6167652f323030362f6d657461646174612f636f72652d70726f70657274696573222f3e3c64733a736368656d615265662064733a7572693d22687474703a2f2f7075726c2e6f72672f64632f656c656d656e74732f312e312f222f3e3c64733a736368656d61526566
+2064733a7572693d22687474703a2f2f7075726c2e6f72672f64632f7465726d732f222f3e3c64733a736368656d615265662064733a7572693d22687474703a2f2f736368656d61732e6d6963726f736f66742e636f6d2f6f66666963652f696e7465726e616c2f323030352f696e7465726e616c446f63756d656e7461
+74696f6e222f3e3c2f64733a736368656d61526566733e3c2f64733a6461746173746f72654974656d3e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105000000000000}}
\ No newline at end of file
diff --git a/lib/sqlce/MICROSOFT VISUAL C++ 2008 EXPRESS EDITION ENU.txt b/lib/sqlce/MICROSOFT VISUAL C++ 2008 EXPRESS EDITION ENU.txt
new file mode 100644
index 000000000..74a1e12d9
Binary files /dev/null and b/lib/sqlce/MICROSOFT VISUAL C++ 2008 EXPRESS EDITION ENU.txt differ
diff --git a/lib/sqlce/REDIST_ENU.TXT b/lib/sqlce/REDIST_ENU.TXT
index 90bf23cf7..c7738b1ce 100644
Binary files a/lib/sqlce/REDIST_ENU.TXT and b/lib/sqlce/REDIST_ENU.TXT differ
diff --git a/lib/sqlce/ReadmeSSCE_ENU.htm b/lib/sqlce/ReadmeSSCE_ENU.htm
index 0a85de6a6..b02df9609 100644
Binary files a/lib/sqlce/ReadmeSSCE_ENU.htm and b/lib/sqlce/ReadmeSSCE_ENU.htm differ
diff --git a/lib/sqlce/System.Data.SqlServerCe.Entity.dll b/lib/sqlce/System.Data.SqlServerCe.Entity.dll
deleted file mode 100644
index 8142f0c10..000000000
Binary files a/lib/sqlce/System.Data.SqlServerCe.Entity.dll and /dev/null differ
diff --git a/lib/sqlce/System.Data.SqlServerCe.dll b/lib/sqlce/System.Data.SqlServerCe.dll
index 9b27748fe..9af065fe6 100644
Binary files a/lib/sqlce/System.Data.SqlServerCe.dll and b/lib/sqlce/System.Data.SqlServerCe.dll differ
diff --git a/lib/sqlce/Visual C++ 2008 Runtime Libraries SP1 EULA ENU.txt b/lib/sqlce/Visual C++ 2008 Runtime Libraries SP1 EULA ENU.txt
deleted file mode 100644
index a7c64452b..000000000
Binary files a/lib/sqlce/Visual C++ 2008 Runtime Libraries SP1 EULA ENU.txt and /dev/null differ
diff --git a/lib/sqlce/amd64/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest b/lib/sqlce/amd64/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest
new file mode 100644
index 000000000..a7a7026c6
--- /dev/null
+++ b/lib/sqlce/amd64/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest
@@ -0,0 +1,6 @@
+
+
+
+
+ Vy8CgQgbu3qH5JHTK0op4kR8114= QTJu3Gttpt8hhCktGelNeXj4Yp8= 1ruqF7/L+m1tqnJVscaOtNRNHIE=
+
\ No newline at end of file
diff --git a/lib/sqlce/amd64/Microsoft.VC90.CRT/README_ENU.txt b/lib/sqlce/amd64/Microsoft.VC90.CRT/README_ENU.txt
new file mode 100644
index 000000000..fc38b3684
Binary files /dev/null and b/lib/sqlce/amd64/Microsoft.VC90.CRT/README_ENU.txt differ
diff --git a/lib/sqlce/amd64/Microsoft.VC90.CRT/msvcr90.dll b/lib/sqlce/amd64/Microsoft.VC90.CRT/msvcr90.dll
new file mode 100644
index 000000000..c95e1bf21
Binary files /dev/null and b/lib/sqlce/amd64/Microsoft.VC90.CRT/msvcr90.dll differ
diff --git a/lib/sqlce/amd64/sqlceca40.dll b/lib/sqlce/amd64/sqlceca40.dll
deleted file mode 100644
index aa6b2e0ed..000000000
Binary files a/lib/sqlce/amd64/sqlceca40.dll and /dev/null differ
diff --git a/lib/sqlce/amd64/sqlcecompact40.dll b/lib/sqlce/amd64/sqlcecompact40.dll
index 263e458f2..3402114b2 100644
Binary files a/lib/sqlce/amd64/sqlcecompact40.dll and b/lib/sqlce/amd64/sqlcecompact40.dll differ
diff --git a/lib/sqlce/amd64/sqlceer40EN.dll b/lib/sqlce/amd64/sqlceer40EN.dll
index 197f38eb0..09000a159 100644
Binary files a/lib/sqlce/amd64/sqlceer40EN.dll and b/lib/sqlce/amd64/sqlceer40EN.dll differ
diff --git a/lib/sqlce/amd64/sqlceme40.dll b/lib/sqlce/amd64/sqlceme40.dll
index 8f42f181c..50189cb6a 100644
Binary files a/lib/sqlce/amd64/sqlceme40.dll and b/lib/sqlce/amd64/sqlceme40.dll differ
diff --git a/lib/sqlce/amd64/sqlceqp40.dll b/lib/sqlce/amd64/sqlceqp40.dll
index 899b080cb..5f6ffd55e 100644
Binary files a/lib/sqlce/amd64/sqlceqp40.dll and b/lib/sqlce/amd64/sqlceqp40.dll differ
diff --git a/lib/sqlce/amd64/sqlcese40.dll b/lib/sqlce/amd64/sqlcese40.dll
index fa39afa75..1298dbcc7 100644
Binary files a/lib/sqlce/amd64/sqlcese40.dll and b/lib/sqlce/amd64/sqlcese40.dll differ
diff --git a/lib/sqlce/x86/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest b/lib/sqlce/x86/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest
new file mode 100644
index 000000000..9090f2958
--- /dev/null
+++ b/lib/sqlce/x86/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest
@@ -0,0 +1,6 @@
+
+
+
+
+ +CXED+6HzJlSphyMNOn27ujadC0= MyKED+9DyS+1XcMeaC0Zlw2vFZ0= EeyDE7og6WoPd2oBhYbMEnpFHhY=
+
\ No newline at end of file
diff --git a/lib/sqlce/x86/Microsoft.VC90.CRT/README_ENU.txt b/lib/sqlce/x86/Microsoft.VC90.CRT/README_ENU.txt
new file mode 100644
index 000000000..fc38b3684
Binary files /dev/null and b/lib/sqlce/x86/Microsoft.VC90.CRT/README_ENU.txt differ
diff --git a/lib/sqlce/x86/Microsoft.VC90.CRT/msvcr90.dll b/lib/sqlce/x86/Microsoft.VC90.CRT/msvcr90.dll
new file mode 100644
index 000000000..e2e66019c
Binary files /dev/null and b/lib/sqlce/x86/Microsoft.VC90.CRT/msvcr90.dll differ
diff --git a/lib/sqlce/x86/sqlceca40.dll b/lib/sqlce/x86/sqlceca40.dll
deleted file mode 100644
index 53d50a29f..000000000
Binary files a/lib/sqlce/x86/sqlceca40.dll and /dev/null differ
diff --git a/lib/sqlce/x86/sqlcecompact40.dll b/lib/sqlce/x86/sqlcecompact40.dll
index 452a26e49..adaff8bb8 100644
Binary files a/lib/sqlce/x86/sqlcecompact40.dll and b/lib/sqlce/x86/sqlcecompact40.dll differ
diff --git a/lib/sqlce/x86/sqlceer40EN.dll b/lib/sqlce/x86/sqlceer40EN.dll
index f8656b0a9..2dc4d1651 100644
Binary files a/lib/sqlce/x86/sqlceer40EN.dll and b/lib/sqlce/x86/sqlceer40EN.dll differ
diff --git a/lib/sqlce/x86/sqlceme40.dll b/lib/sqlce/x86/sqlceme40.dll
index 6aeb1cb49..52dae57e1 100644
Binary files a/lib/sqlce/x86/sqlceme40.dll and b/lib/sqlce/x86/sqlceme40.dll differ
diff --git a/lib/sqlce/x86/sqlceqp40.dll b/lib/sqlce/x86/sqlceqp40.dll
index d1498fa33..52159d8b3 100644
Binary files a/lib/sqlce/x86/sqlceqp40.dll and b/lib/sqlce/x86/sqlceqp40.dll differ
diff --git a/lib/sqlce/x86/sqlcese40.dll b/lib/sqlce/x86/sqlcese40.dll
index 731b01d79..435c72e2c 100644
Binary files a/lib/sqlce/x86/sqlcese40.dll and b/lib/sqlce/x86/sqlcese40.dll differ
diff --git a/src/Orchard.Azure.Tests/Environment/Configuration/AzureShellSettingsManagerTests.cs b/src/Orchard.Azure.Tests/Environment/Configuration/AzureShellSettingsManagerTests.cs
index f65767ca8..84878051b 100644
--- a/src/Orchard.Azure.Tests/Environment/Configuration/AzureShellSettingsManagerTests.cs
+++ b/src/Orchard.Azure.Tests/Environment/Configuration/AzureShellSettingsManagerTests.cs
@@ -76,5 +76,13 @@ namespace Orchard.Azure.Tests.Environment.Configuration {
Assert.That(foo.DataProvider, Is.StringContaining("Bar"));
Assert.That(foo.DataConnectionString, Is.StringContaining("Quux"));
}
+
+ [Test]
+ public void SettingsCanContainSeparatorChar() {
+ ShellSettingsManager.SaveSettings(new ShellSettings { Name = "Default", DataProvider = "SQLite", DataConnectionString = "Server=tcp:tjyptm5sfc.database.windows.net;Database=orchard;User ID=foo@bar;Password=foo;Trusted_Connection=False;Encrypt=True;" });
+
+ var settings = ShellSettingsManager.LoadSettings().Where(s => s.Name == "Default").Single();
+ Assert.That(settings.DataConnectionString, Is.EqualTo("Server=tcp:tjyptm5sfc.database.windows.net;Database=orchard;User ID=foo@bar;Password=foo;Trusted_Connection=False;Encrypt=True;"));
+ }
}
}
diff --git a/src/Orchard.Azure.Tests/FileSystems/Media/AzureBlobStorageProviderTests.cs b/src/Orchard.Azure.Tests/FileSystems/Media/AzureBlobStorageProviderTests.cs
index 256c7c505..003e5fff4 100644
--- a/src/Orchard.Azure.Tests/FileSystems/Media/AzureBlobStorageProviderTests.cs
+++ b/src/Orchard.Azure.Tests/FileSystems/Media/AzureBlobStorageProviderTests.cs
@@ -165,6 +165,21 @@ namespace Orchard.Azure.Tests.FileSystems.Media {
Assert.AreEqual(1, _azureBlobStorageProvider.ListFiles("folder1/folder4/folder3").Count());
}
+ [Test]
+ [ExpectedException(typeof(ArgumentException))]
+ public void CannotCreateAlreadyExistingFolders()
+ {
+ _azureBlobStorageProvider.CreateFile("folder1/foo.txt");
+ _azureBlobStorageProvider.CreateFolder("folder1");
+ }
+
+ [Test]
+ public void CanCreateAlreadyExistingFolder()
+ {
+ _azureBlobStorageProvider.CreateFile("folder1/foo.txt");
+ _azureBlobStorageProvider.TryCreateFolder("folder1");
+ }
+
[Test]
public void ShouldReadWriteFiles() {
const string teststring = "This is a test string.";
diff --git a/src/Orchard.Azure.Tests/Properties/AssemblyInfo.cs b/src/Orchard.Azure.Tests/Properties/AssemblyInfo.cs
index fb17b178b..1e8418588 100644
--- a/src/Orchard.Azure.Tests/Properties/AssemblyInfo.cs
+++ b/src/Orchard.Azure.Tests/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.9.0")]
-[assembly: AssemblyFileVersion("0.9.0")]
+[assembly: AssemblyVersion("1.0.20")]
+[assembly: AssemblyFileVersion("1.0.20")]
diff --git a/src/Orchard.Azure/AzureFileSystem.cs b/src/Orchard.Azure/AzureFileSystem.cs
index 519a7477c..82ef0f7ae 100644
--- a/src/Orchard.Azure/AzureFileSystem.cs
+++ b/src/Orchard.Azure/AzureFileSystem.cs
@@ -156,7 +156,13 @@ namespace Orchard.Azure {
public void TryCreateFolder(string path) {
EnsurePathIsRelative(path);
- CreateFile(Combine(path, FolderEntry));
+ using (new HttpContextWeaver()) {
+ if (Container.DirectoryExists(String.Concat(_root, path))) {
+ return;
+ }
+
+ CreateFile(Combine(path, FolderEntry));
+ }
}
public void CreateFolder(string path) {
diff --git a/src/Orchard.Azure/Environment/Configuration/AzureShellSettingsManager.cs b/src/Orchard.Azure/Environment/Configuration/AzureShellSettingsManager.cs
index d38e673e6..097ffbc70 100644
--- a/src/Orchard.Azure/Environment/Configuration/AzureShellSettingsManager.cs
+++ b/src/Orchard.Azure/Environment/Configuration/AzureShellSettingsManager.cs
@@ -5,19 +5,18 @@ using System.Linq;
using Microsoft.WindowsAzure;
using Microsoft.WindowsAzure.ServiceRuntime;
using Orchard.Environment.Configuration;
-using Orchard.Localization;
namespace Orchard.Azure.Environment.Configuration {
public class AzureShellSettingsManager : IShellSettingsManager {
public const string ContainerName = "sites"; // container names must be lower cased
public const string SettingsFilename = "Settings.txt";
+ public const char Separator = ':';
+ public const string EmptyValue = "null";
private readonly IShellSettingsManagerEventHandler _events;
private readonly AzureFileSystem _fileSystem;
- Localizer T { get; set; }
-
public AzureShellSettingsManager(IShellSettingsManagerEventHandler events)
: this(CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("DataConnectionString")), events) {}
@@ -33,7 +32,7 @@ namespace Orchard.Azure.Environment.Configuration {
void IShellSettingsManager.SaveSettings(ShellSettings settings) {
var content = ComposeSettings(settings);
- var filePath = String.Concat(settings.Name, "/", SettingsFilename);
+ var filePath = _fileSystem.Combine(settings.Name, SettingsFilename);
var file = _fileSystem.CreateFile(filePath);
using (var stream = file.OpenWrite()) {
@@ -62,50 +61,54 @@ namespace Orchard.Azure.Environment.Configuration {
if (String.IsNullOrEmpty(text))
return shellSettings;
- string[] settings = text.Split(new[] {"\r\n"}, StringSplitOptions.RemoveEmptyEntries);
+ var settings = text.Split(new[] {"\r\n"}, StringSplitOptions.RemoveEmptyEntries);
foreach (var setting in settings) {
- string[] settingFields = setting.Split(new[] {":"}, StringSplitOptions.RemoveEmptyEntries);
- int fieldsLength = settingFields.Length;
- if (fieldsLength != 2)
+ var separatorIndex = setting.IndexOf(Separator);
+ if(separatorIndex == -1) {
continue;
- for (int i = 0; i < fieldsLength; i++) {
- settingFields[i] = settingFields[i].Trim();
}
- if (settingFields[1] != "null") {
- switch (settingFields[0]) {
+ string key = setting.Substring(0, separatorIndex).Trim();
+ string value = setting.Substring(separatorIndex + 1).Trim();
+
+ if (value != EmptyValue) {
+ switch (key) {
case "Name":
- shellSettings.Name = settingFields[1];
+ shellSettings.Name = value;
break;
case "DataProvider":
- shellSettings.DataProvider = settingFields[1];
+ shellSettings.DataProvider = value;
break;
case "State":
- shellSettings.State = new TenantState(settingFields[1]);
+ shellSettings.State = new TenantState(value);
break;
case "DataConnectionString":
- shellSettings.DataConnectionString = settingFields[1];
+ shellSettings.DataConnectionString = value;
break;
case "DataPrefix":
- shellSettings.DataTablePrefix = settingFields[1];
+ shellSettings.DataTablePrefix = value;
break;
case "RequestUrlHost":
- shellSettings.RequestUrlHost = settingFields[1];
+ shellSettings.RequestUrlHost = value;
break;
case "RequestUrlPrefix":
- shellSettings.RequestUrlPrefix = settingFields[1];
+ shellSettings.RequestUrlPrefix = value;
break;
case "EncryptionAlgorithm":
- shellSettings.EncryptionAlgorithm = settingFields[1];
+ shellSettings.EncryptionAlgorithm = value;
break;
case "EncryptionKey":
- shellSettings.EncryptionKey = settingFields[1];
+ shellSettings.EncryptionKey = value;
break;
- case "EncryptionIV":
- shellSettings.EncryptionIV = settingFields[1];
+ case "HashAlgorithm":
+ shellSettings.HashAlgorithm = value;
+ break;
+ case "HashKey":
+ shellSettings.HashKey = value;
break;
}
}
}
+
return shellSettings;
}
@@ -113,17 +116,18 @@ namespace Orchard.Azure.Environment.Configuration {
if (settings == null)
return "";
- return string.Format("Name: {0}\r\nDataProvider: {1}\r\nDataConnectionString: {2}\r\nDataPrefix: {3}\r\nRequestUrlHost: {4}\r\nRequestUrlPrefix: {5}\r\nState: {6}\r\nEncryptionAlgorithm: {7}\r\nEncryptionKey: {8}\r\nEncryptionIV: {9}\r\n",
+ return string.Format("Name: {0}\r\nDataProvider: {1}\r\nDataConnectionString: {2}\r\nDataPrefix: {3}\r\nRequestUrlHost: {4}\r\nRequestUrlPrefix: {5}\r\nState: {6}\r\nEncryptionAlgorithm: {7}\r\nEncryptionKey: {8}\r\nHashAlgorithm: {9}\r\nHashKey: {10}\r\n",
settings.Name,
settings.DataProvider,
- settings.DataConnectionString ?? "null",
- settings.DataTablePrefix ?? "null",
- settings.RequestUrlHost ?? "null",
- settings.RequestUrlPrefix ?? "null",
+ settings.DataConnectionString ?? EmptyValue,
+ settings.DataTablePrefix ?? EmptyValue,
+ settings.RequestUrlHost ?? EmptyValue,
+ settings.RequestUrlPrefix ?? EmptyValue,
settings.State != null ? settings.State.ToString() : String.Empty,
- settings.EncryptionAlgorithm ?? "null",
- settings.EncryptionKey ?? "null",
- settings.EncryptionIV ?? "null"
+ settings.EncryptionAlgorithm ?? EmptyValue,
+ settings.EncryptionKey ?? EmptyValue,
+ settings.HashAlgorithm ?? EmptyValue,
+ settings.HashKey ?? EmptyValue
);
}
}
diff --git a/src/Orchard.Azure/Orchard.Azure.Web/Orchard.Azure.Web.csproj b/src/Orchard.Azure/Orchard.Azure.Web/Orchard.Azure.Web.csproj
index fe1f26d9f..7bb34ddd5 100644
--- a/src/Orchard.Azure/Orchard.Azure.Web/Orchard.Azure.Web.csproj
+++ b/src/Orchard.Azure/Orchard.Azure.Web/Orchard.Azure.Web.csproj
@@ -118,6 +118,10 @@
..\..\..\lib\aspnetmvc\System.Web.WebPages.dll
+
+ False
+ ..\..\..\lib\aspnetmvc\System.Web.WebPages.Deployment.dll
+
..\..\..\lib\aspnetmvc\System.Web.WebPages.Razor.dll
diff --git a/src/Orchard.Azure/Orchard.Azure.Web/Properties/AssemblyInfo.cs b/src/Orchard.Azure/Orchard.Azure.Web/Properties/AssemblyInfo.cs
index 40be53b1d..d9f1cbee8 100644
--- a/src/Orchard.Azure/Orchard.Azure.Web/Properties/AssemblyInfo.cs
+++ b/src/Orchard.Azure/Orchard.Azure.Web/Properties/AssemblyInfo.cs
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
-[assembly: AssemblyVersion("0.9.0")]
-[assembly: AssemblyFileVersion("0.9.0")]
+[assembly: AssemblyVersion("1.0.20")]
+[assembly: AssemblyFileVersion("1.0.20")]
diff --git a/src/Orchard.Azure/Properties/AssemblyInfo.cs b/src/Orchard.Azure/Properties/AssemblyInfo.cs
index b685d7c9a..646897c3e 100644
--- a/src/Orchard.Azure/Properties/AssemblyInfo.cs
+++ b/src/Orchard.Azure/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.9.0")]
-[assembly: AssemblyFileVersion("0.9.0")]
+[assembly: AssemblyVersion("1.0.20")]
+[assembly: AssemblyFileVersion("1.0.20")]
diff --git a/src/Orchard.Core.Tests/Common/Providers/CommonPartProviderTests.cs b/src/Orchard.Core.Tests/Common/Providers/CommonPartProviderTests.cs
index a94eb7fde..1bc5d430a 100644
--- a/src/Orchard.Core.Tests/Common/Providers/CommonPartProviderTests.cs
+++ b/src/Orchard.Core.Tests/Common/Providers/CommonPartProviderTests.cs
@@ -11,7 +11,6 @@ using Orchard.ContentManagement.Aspects;
using Orchard.ContentManagement.Drivers;
using Orchard.ContentManagement.Drivers.Coordinators;
using Orchard.ContentManagement.MetaData;
-using Orchard.Core.Common;
using Orchard.Core.Common.Drivers;
using Orchard.Core.Common.Handlers;
using Orchard.Core.Common.Models;
@@ -97,7 +96,7 @@ namespace Orchard.Core.Tests.Common.Providers {
class TestUser : ContentPart, IUser {
public new int Id { get { return 6655321; } }
- public string UserName {get { return "x"; }}
+ public string UserName { get { return "x"; } }
public string Email { get { return "y"; } }
}
@@ -112,8 +111,7 @@ namespace Orchard.Core.Tests.Common.Providers {
}
[Test]
- public void PublishingShouldFailIfOwnerIsUnknown()
- {
+ public void PublishingShouldFailIfOwnerIsUnknown() {
var contentManager = _container.Resolve();
var updateModel = new Mock();
@@ -131,13 +129,12 @@ namespace Orchard.Core.Tests.Common.Providers {
ModelStateDictionary _modelState = new ModelStateDictionary();
- public ModelStateDictionary ModelErrors
- {
+ public ModelStateDictionary ModelErrors {
get { return _modelState; }
}
-
+
public string Owner { get; set; }
-
+
public bool TryUpdateModel(TModel model, string prefix, string[] includeProperties, string[] excludeProperties) where TModel : class {
(model as OwnerEditorViewModel).Owner = Owner;
return true;
@@ -149,8 +146,7 @@ namespace Orchard.Core.Tests.Common.Providers {
}
[Test]
- public void PublishingShouldNotThrowExceptionIfOwnerIsNull()
- {
+ public void PublishingShouldNotThrowExceptionIfOwnerIsNull() {
var contentManager = _container.Resolve();
var item = contentManager.Create("test-item", VersionOptions.Draft, init => { });
@@ -167,19 +163,18 @@ namespace Orchard.Core.Tests.Common.Providers {
}
[Test]
- public void PublishingShouldFailIfOwnerIsEmpty()
- {
+ public void PublishingShouldFailIfOwnerIsEmpty() {
var contentManager = _container.Resolve();
var item = contentManager.Create("test-item", VersionOptions.Draft, init => { });
-
+
var user = contentManager.New("User");
_authn.Setup(x => x.GetAuthenticatedUser()).Returns(user);
_authz.Setup(x => x.TryCheckAccess(StandardPermissions.SiteOwner, user, item)).Returns(true);
item.Owner = user;
- var updater = new UpdatModelStub() {Owner = ""};
+ var updater = new UpdatModelStub() { Owner = "" };
contentManager.UpdateEditor(item.ContentItem, updater);
@@ -187,14 +182,26 @@ namespace Orchard.Core.Tests.Common.Providers {
}
[Test]
- public void PublishingShouldSetPublishUtc()
- {
+ public void CreatingShouldSetCreatedAndModifiedUtc() {
var contentManager = _container.Resolve();
var createUtc = _clock.UtcNow;
var item = contentManager.Create("test-item", VersionOptions.Draft, init => { });
Assert.That(item.CreatedUtc, Is.EqualTo(createUtc));
+ Assert.That(item.ModifiedUtc, Is.EqualTo(createUtc));
+ Assert.That(item.PublishedUtc, Is.Null);
+ }
+
+ [Test]
+ public void PublishingShouldSetPublishUtcAndShouldNotChangeModifiedUtc() {
+ var contentManager = _container.Resolve();
+
+ var createUtc = _clock.UtcNow;
+ var item = contentManager.Create("test-item", VersionOptions.Draft, init => { });
+
+ Assert.That(item.CreatedUtc, Is.EqualTo(createUtc));
+ Assert.That(item.ModifiedUtc, Is.EqualTo(createUtc));
Assert.That(item.PublishedUtc, Is.Null);
_clock.Advance(TimeSpan.FromMinutes(1));
@@ -203,9 +210,92 @@ namespace Orchard.Core.Tests.Common.Providers {
contentManager.Publish(item.ContentItem);
Assert.That(item.CreatedUtc, Is.EqualTo(createUtc));
+ Assert.That(item.ModifiedUtc, Is.EqualTo(createUtc));
Assert.That(item.PublishedUtc, Is.EqualTo(publishUtc));
}
+ [Test]
+ public void PublishingTwiceShouldKeepSettingPublishUtcAndShouldNotChangeModifiedUtc() {
+ var contentManager = _container.Resolve();
+
+ var createUtc = _clock.UtcNow;
+ var item = contentManager.Create("test-item", VersionOptions.Draft, init => { });
+
+ Assert.That(item.CreatedUtc, Is.EqualTo(createUtc));
+ Assert.That(item.ModifiedUtc, Is.EqualTo(createUtc));
+ Assert.That(item.PublishedUtc, Is.Null);
+
+ _clock.Advance(TimeSpan.FromMinutes(1));
+ var publishUtc1 = _clock.UtcNow;
+
+ contentManager.Publish(item.ContentItem);
+
+ Assert.That(item.CreatedUtc, Is.EqualTo(createUtc));
+ Assert.That(item.ModifiedUtc, Is.EqualTo(createUtc));
+ Assert.That(item.PublishedUtc, Is.EqualTo(publishUtc1));
+
+ contentManager.Unpublish(item.ContentItem);
+
+ _clock.Advance(TimeSpan.FromMinutes(1));
+ var publishUtc2 = _clock.UtcNow;
+
+ contentManager.Publish(item.ContentItem);
+
+ Assert.That(item.CreatedUtc, Is.EqualTo(createUtc));
+ Assert.That(item.ModifiedUtc, Is.EqualTo(createUtc));
+ Assert.That(item.PublishedUtc, Is.EqualTo(publishUtc2));
+ }
+
+ [Test]
+ public void UnpublishingShouldNotChangePublishUtcAndModifiedUtc() {
+ var contentManager = _container.Resolve();
+
+ var createUtc = _clock.UtcNow;
+ var item = contentManager.Create("test-item", VersionOptions.Draft, init => { });
+
+ Assert.That(item.CreatedUtc, Is.EqualTo(createUtc));
+ Assert.That(item.ModifiedUtc, Is.EqualTo(createUtc));
+ Assert.That(item.PublishedUtc, Is.Null);
+
+ _clock.Advance(TimeSpan.FromMinutes(1));
+ var publishUtc = _clock.UtcNow;
+
+ contentManager.Publish(item.ContentItem);
+
+ Assert.That(item.CreatedUtc, Is.EqualTo(createUtc));
+ Assert.That(item.ModifiedUtc, Is.EqualTo(createUtc));
+ Assert.That(item.PublishedUtc, Is.EqualTo(publishUtc));
+
+ contentManager.Unpublish(item.ContentItem);
+
+ Assert.That(item.CreatedUtc, Is.EqualTo(createUtc));
+ Assert.That(item.ModifiedUtc, Is.EqualTo(createUtc));
+ Assert.That(item.PublishedUtc, Is.EqualTo(publishUtc));
+ }
+
+ [Test]
+ public void EditingShouldSetModifiedUtc() {
+ var contentManager = _container.Resolve();
+
+ var createUtc = _clock.UtcNow;
+ var item = contentManager.Create("test-item", VersionOptions.Draft, init => { });
+ contentManager.Publish(item.ContentItem);
+
+ Assert.That(item.CreatedUtc, Is.EqualTo(createUtc));
+ Assert.That(item.ModifiedUtc, Is.EqualTo(createUtc));
+ Assert.That(item.PublishedUtc, Is.EqualTo(createUtc));
+
+ _clock.Advance(TimeSpan.FromMinutes(1));
+ var editUtc = _clock.UtcNow;
+
+ var updater = new UpdatModelStub() { Owner = "" };
+ contentManager.UpdateEditor(item.ContentItem, updater);
+
+ Assert.That(item.CreatedUtc, Is.EqualTo(createUtc));
+ Assert.That(item.ModifiedUtc, Is.EqualTo(editUtc));
+ Assert.That(item.PublishedUtc, Is.EqualTo(createUtc));
+ Assert.That(updater.ModelErrors.Count, Is.EqualTo(0));
+ }
[Test]
public void VersioningItemShouldCreatedAndPublishedUtcValuesPerVersion() {
@@ -236,9 +326,9 @@ namespace Orchard.Core.Tests.Common.Providers {
Assert.That(item1.CreatedUtc, Is.EqualTo(createUtc));
Assert.That(item2.CreatedUtc, Is.EqualTo(createUtc));
- // both instances non-versioned dates show the earliest publish date
- Assert.That(item1.PublishedUtc, Is.EqualTo(publish1Utc));
- Assert.That(item2.PublishedUtc, Is.EqualTo(publish1Utc));
+ // both instances non-versioned dates show the most recent publish
+ Assert.That(item1.PublishedUtc, Is.EqualTo(publish2Utc));
+ Assert.That(item2.PublishedUtc, Is.EqualTo(publish2Utc));
// version1 versioned dates show create was upfront and publish was oldest
Assert.That(item1.VersionCreatedUtc, Is.EqualTo(createUtc));
@@ -271,8 +361,7 @@ namespace Orchard.Core.Tests.Common.Providers {
contentManager.Unpublish(item.ContentItem);
// db records need to be updated before seeking by published flags
- _session.Flush();
- _session.Clear();
+ ClearSession();
var publishedItem = contentManager.Get(item.ContentItem.Id, VersionOptions.Published);
var latestItem = contentManager.Get(item.ContentItem.Id, VersionOptions.Latest);
diff --git a/src/Orchard.Core.Tests/Orchard.Core.Tests.csproj b/src/Orchard.Core.Tests/Orchard.Core.Tests.csproj
index 4599ba115..d8606cd78 100644
--- a/src/Orchard.Core.Tests/Orchard.Core.Tests.csproj
+++ b/src/Orchard.Core.Tests/Orchard.Core.Tests.csproj
@@ -156,11 +156,11 @@
-->
-
-
+
+
-
-
+
+
diff --git a/src/Orchard.Core.Tests/Properties/AssemblyInfo.cs b/src/Orchard.Core.Tests/Properties/AssemblyInfo.cs
index 6c80fd2b3..1ae6ceaaa 100644
--- a/src/Orchard.Core.Tests/Properties/AssemblyInfo.cs
+++ b/src/Orchard.Core.Tests/Properties/AssemblyInfo.cs
@@ -30,5 +30,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.9.0")]
-[assembly: AssemblyFileVersion("0.9.0")]
+[assembly: AssemblyVersion("1.0.20")]
+[assembly: AssemblyFileVersion("1.0.20")]
diff --git a/src/Orchard.Profile/Properties/AssemblyInfo.cs b/src/Orchard.Profile/Properties/AssemblyInfo.cs
index cc2879993..52ff07482 100644
--- a/src/Orchard.Profile/Properties/AssemblyInfo.cs
+++ b/src/Orchard.Profile/Properties/AssemblyInfo.cs
@@ -30,5 +30,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.9.0")]
-[assembly: AssemblyFileVersion("0.9.0")]
+[assembly: AssemblyVersion("1.0.20")]
+[assembly: AssemblyFileVersion("1.0.20")]
diff --git a/src/Orchard.Specs/Bindings/ContentRights.cs b/src/Orchard.Specs/Bindings/ContentRights.cs
index 75b5291b8..9d47cc7d6 100644
--- a/src/Orchard.Specs/Bindings/ContentRights.cs
+++ b/src/Orchard.Specs/Bindings/ContentRights.cs
@@ -15,41 +15,6 @@ namespace Orchard.Specs.Bindings {
[Binding]
public class ContentRights : BindingBase {
- [When(@"I have a role ""(.*)\"" with permissions ""(.*)\""")]
- public void WhenIHaveARoleWithPermissions(string roleName, string permissions) {
- var webApp = Binding();
- webApp.Host.Execute(() => {
- using ( var environment = MvcApplication.CreateStandaloneEnvironment("Default") ) {
- var roleService = environment.Resolve();
-
- roleService.CreateRole(roleName);
-
- foreach ( var permissionName in permissions.Split(new[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries) ) {
- roleService.CreatePermissionForRole(roleName, permissionName);
- }
- }
- });
- }
-
- [When(@"I have a user ""(.*)\"" with roles ""(.*)\""")]
- public void GivenIHaveCreatedAUser(string username, string roles) {
-
- var webApp = Binding();
- webApp.Host.Execute(() => {
- using ( var environment = MvcApplication.CreateStandaloneEnvironment("Default") ) {
- var memberShipService = environment.Resolve();
- var roleService = environment.Resolve();
- var userRoleRepository = environment.Resolve>();
- var user = memberShipService.CreateUser(new CreateUserParams(username, "qwerty123!", username + "@foo.com", "", "", true));
-
- foreach ( var roleName in roles.Split(new[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries) ) {
- var role = roleService.GetRoleByName(roleName);
- userRoleRepository.Create(new UserRolesPartRecord { UserId = user.Id, Role = role });
- }
- }
- });
- }
-
[Then(@"""(.*)\"" should be able to ""(.*)\"" a ""(.*)\"" owned by ""(.*)\""")]
public void UserShouldBeAbleToForOthers(string username, string action, string contentType, string otherName) {
@@ -94,11 +59,11 @@ namespace Orchard.Specs.Bindings {
private static Permission GetPermissionForAction(string action) {
switch ( action ) {
case "publish":
- return Permissions.PublishOthersContent;
+ return Permissions.PublishContent;
case "edit":
- return Permissions.EditOthersContent;
+ return Permissions.EditContent;
case "delete":
- return Permissions.DeleteOthersContent;
+ return Permissions.DeleteContent;
default:
return null;
}
diff --git a/src/Orchard.Specs/Bindings/UsersPermissionsAndRoles.cs b/src/Orchard.Specs/Bindings/UsersPermissionsAndRoles.cs
new file mode 100644
index 000000000..321b1b901
--- /dev/null
+++ b/src/Orchard.Specs/Bindings/UsersPermissionsAndRoles.cs
@@ -0,0 +1,74 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Orchard.Data;
+using Orchard.Roles.Models;
+using Orchard.Roles.Services;
+using Orchard.Security;
+using Orchard.Specs.Hosting.Orchard.Web;
+using TechTalk.SpecFlow;
+
+namespace Orchard.Specs.Bindings {
+ [Binding]
+ public class UsersPermissionsAndRoles : BindingBase {
+
+
+ [When(@"I have a role ""(.*)\"" with permissions ""(.*)\""")]
+ public void WhenIHaveARoleWithPermissions(string roleName, string permissions) {
+ var webApp = Binding();
+ webApp.Host.Execute(() => {
+ using (var environment = MvcApplication.CreateStandaloneEnvironment("Default")) {
+ var roleService = environment.Resolve();
+
+ roleService.CreateRole(roleName);
+
+ foreach (var permissionName in permissions.Split(new[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries)) {
+ roleService.CreatePermissionForRole(roleName, permissionName);
+ }
+ }
+ });
+ }
+
+
+ [When(@"I have a user ""(.*)\"" with roles ""(.*)\""")]
+ public void GivenIHaveCreatedAUser(string username, string roles) {
+
+ var webApp = Binding();
+ webApp.Host.Execute(() => {
+ using (var environment = MvcApplication.CreateStandaloneEnvironment("Default")) {
+ var memberShipService = environment.Resolve();
+ var roleService = environment.Resolve();
+ var userRoleRepository = environment.Resolve>();
+ var user = memberShipService.CreateUser(new CreateUserParams(username, "qwerty123!", username + "@foo.com", "", "", true));
+
+ foreach (var roleName in roles.Split(new[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries)) {
+ var role = roleService.GetRoleByName(roleName);
+ userRoleRepository.Create(new UserRolesPartRecord { UserId = user.Id, Role = role });
+ }
+ }
+ });
+ }
+
+ [Given(@"I have a user ""(.*)"" with permissions ""(.*)""")]
+ public void GivenIHaveAUserWithPermissions(string username, string permissions) {
+ var roleName = Guid.NewGuid().ToString("n");
+ WhenIHaveARoleWithPermissions(roleName, permissions);
+ GivenIHaveCreatedAUser(username, roleName);
+ }
+
+ [When(@"I sign in as ""(.*)""")]
+ public void WhenISignInAs(string username) {
+ var webApp = Binding();
+ var logonForm = TableData(
+ new { name = "userNameOrEmail", value = username },
+ new { name = "password", value = "qwerty123!" });
+
+ webApp.WhenIGoTo("/users/account/logoff");
+ webApp.WhenIGoTo("/users/account/logon");
+ webApp.WhenIFillIn(logonForm);
+ webApp.WhenIHit("Sign In");
+ webApp.WhenIAmRedirected();
+ }
+ }
+}
diff --git a/src/Orchard.Specs/Bindings/WebAppHosting.cs b/src/Orchard.Specs/Bindings/WebAppHosting.cs
index 437b88c30..10add5711 100644
--- a/src/Orchard.Specs/Bindings/WebAppHosting.cs
+++ b/src/Orchard.Specs/Bindings/WebAppHosting.cs
@@ -308,6 +308,13 @@ namespace Orchard.Specs.Bindings {
public void ThenTheTitleContainsText(string text) {
ScenarioContext.Current.Pending();
}
+
+ [Then(@"I should be denied access when I go to ""(.*)""")]
+ public void ThenIShouldBeDeniedAccessWhenIGoTo(string urlPath) {
+ WhenIGoTo(urlPath);
+ WhenIAmRedirected();
+ ThenIShouldSee("Access Denied");
+ }
}
public class Form {
diff --git a/src/Orchard.Specs/ContentRights.feature b/src/Orchard.Specs/ContentRights.feature
index b431535cf..b4bd77f9b 100644
--- a/src/Orchard.Specs/ContentRights.feature
+++ b/src/Orchard.Specs/ContentRights.feature
@@ -11,7 +11,7 @@ Scenario: Administrators can manage a Page
Scenario: Users can't create a Page if they don't have the PublishContent permission
Given I have installed Orchard
- When I have a role "CustomRole" with permissions "EditOthersContent, DeleteOthersContent"
+ When I have a role "CustomRole" with permissions "EditContent, DeleteContent"
And I have a user "user1" with roles "CustomRole"
Then "user1" should not be able to "publish" a "Page" owned by "user1"
And "user1" should be able to "edit" a "Page" owned by "user1"
@@ -19,7 +19,7 @@ Scenario: Users can't create a Page if they don't have the PublishContent permis
Scenario: Users can create a Page of others if they have PublishContent permission
Given I have installed Orchard
- When I have a role "CustomRole" with permissions "PublishOthersContent"
+ When I have a role "CustomRole" with permissions "PublishContent"
And I have a user "user1" with roles "CustomRole"
And I have a user "user2" with roles "Administrator"
Then "user1" should be able to "publish" a "Page" owned by "user2"
@@ -44,7 +44,7 @@ Scenario: Users can create and edit a Page even if they only have the PublishOwn
Scenario: Users can't edit a Page if they don't have the EditContent permission
Given I have installed Orchard
- When I have a role "CustomRole" with permissions "DeleteOthersContent"
+ When I have a role "CustomRole" with permissions "DeleteContent"
And I have a user "user1" with roles "CustomRole"
Then "user1" should not be able to "publish" a "Page" owned by "user1"
And "user1" should not be able to "edit" a "Page" owned by "user1"
diff --git a/src/Orchard.Specs/ContentRights.feature.cs b/src/Orchard.Specs/ContentRights.feature.cs
index 62be6baa1..425353fd5 100644
--- a/src/Orchard.Specs/ContentRights.feature.cs
+++ b/src/Orchard.Specs/ContentRights.feature.cs
@@ -82,7 +82,7 @@ this.ScenarioSetup(scenarioInfo);
#line 13
testRunner.Given("I have installed Orchard");
#line 14
- testRunner.When("I have a role \"CustomRole\" with permissions \"EditOthersContent, DeleteOthersConte" +
+ testRunner.When("I have a role \"CustomRole\" with permissions \"EditContent, DeleteConte" +
"nt\"");
#line 15
testRunner.And("I have a user \"user1\" with roles \"CustomRole\"");
@@ -106,7 +106,7 @@ this.ScenarioSetup(scenarioInfo);
#line 21
testRunner.Given("I have installed Orchard");
#line 22
- testRunner.When("I have a role \"CustomRole\" with permissions \"PublishOthersContent\"");
+ testRunner.When("I have a role \"CustomRole\" with permissions \"PublishContent\"");
#line 23
testRunner.And("I have a user \"user1\" with roles \"CustomRole\"");
#line 24
@@ -179,7 +179,7 @@ this.ScenarioSetup(scenarioInfo);
#line 46
testRunner.Given("I have installed Orchard");
#line 47
- testRunner.When("I have a role \"CustomRole\" with permissions \"DeleteOthersContent\"");
+ testRunner.When("I have a role \"CustomRole\" with permissions \"DeleteContent\"");
#line 48
testRunner.And("I have a user \"user1\" with roles \"CustomRole\"");
#line 49
diff --git a/src/Orchard.Specs/Hosting/RequestExtensions.cs b/src/Orchard.Specs/Hosting/RequestExtensions.cs
index 0da7f701d..5b0b584a9 100644
--- a/src/Orchard.Specs/Hosting/RequestExtensions.cs
+++ b/src/Orchard.Specs/Hosting/RequestExtensions.cs
@@ -23,9 +23,15 @@ namespace Orchard.Specs.Hosting {
var details = new RequestDetails {
HostName = webHost.HostName,
UrlPath = urlPath,
- Page = (isHomepage ? "" : physicalPath.Combine(urlPath.TrimStart('/', '\\')).GetRelativePath(physicalPath).ToString())
};
+ int queryIndex = urlPath.IndexOf('?');
+ if (queryIndex >= 0) {
+ details.UrlPath = urlPath.Substring(0, queryIndex);
+ details.Query = HttpUtility.UrlDecode(urlPath.Substring(queryIndex + 1));
+ }
+ details.Page = (isHomepage ? "" : physicalPath.Combine(details.UrlPath.TrimStart('/', '\\')).GetRelativePath(physicalPath).ToString());
+
if (!string.IsNullOrEmpty(webHost.Cookies)) {
details.RequestHeaders.Add("Cookie", webHost.Cookies);
}
@@ -123,7 +129,7 @@ namespace Orchard.Specs.Hosting {
if (_details.RequestHeaders.TryGetValue("Cookie", out value))
return value;
}
- else if (index==HeaderHost) {
+ else if (index == HeaderHost) {
return _details.HostName;
}
return base.GetKnownRequestHeader(index);
diff --git a/src/Orchard.Specs/Hosting/WebHost.cs b/src/Orchard.Specs/Hosting/WebHost.cs
index ad2e663a4..0ee84fd03 100644
--- a/src/Orchard.Specs/Hosting/WebHost.cs
+++ b/src/Orchard.Specs/Hosting/WebHost.cs
@@ -78,17 +78,15 @@ namespace Orchard.Specs.Hosting {
.ShallowCopy("*.dll", _tempSite.Combine("bin"))
.ShallowCopy("*.pdb", _tempSite.Combine("bin"));
- Log("Copy SqlCe binaries");
+ Log("Copy SqlCe native binaries");
if (_orchardWebPath.Combine("bin").Combine("x86").IsDirectory) {
_orchardWebPath.Combine("bin").Combine("x86")
- .ShallowCopy("*.dll", _tempSite.Combine("bin").Combine("x86"))
- .ShallowCopy("*.pdb", _tempSite.Combine("bin").Combine("x86"));
+ .DeepCopy("*.*", _tempSite.Combine("bin").Combine("x86"));
}
if (_orchardWebPath.Combine("bin").Combine("amd64").IsDirectory) {
_orchardWebPath.Combine("bin").Combine("amd64")
- .ShallowCopy("*.dll", _tempSite.Combine("bin").Combine("amd64"))
- .ShallowCopy("*.pdb", _tempSite.Combine("bin").Combine("amd64"));
+ .DeepCopy("*.*", _tempSite.Combine("bin").Combine("amd64"));
}
// Copy binaries of this project, so that remote execution of lambda
diff --git a/src/Orchard.Specs/Orchard.Specs.csproj b/src/Orchard.Specs/Orchard.Specs.csproj
index 2c1d3c53d..495651fba 100644
--- a/src/Orchard.Specs/Orchard.Specs.csproj
+++ b/src/Orchard.Specs/Orchard.Specs.csproj
@@ -132,6 +132,7 @@
+
True
True
@@ -180,6 +181,11 @@
True
Pages.feature
+
+ True
+ True
+ PermissionModel.feature
+
True
True
@@ -249,6 +255,10 @@
SpecFlowSingleFileGenerator
ContentTypes.feature.cs
+
+ SpecFlowSingleFileGenerator
+ PermissionModel.feature.cs
+
Designer
Always
diff --git a/src/Orchard.Specs/PermissionModel.feature b/src/Orchard.Specs/PermissionModel.feature
new file mode 100644
index 000000000..aa480a614
--- /dev/null
+++ b/src/Orchard.Specs/PermissionModel.feature
@@ -0,0 +1,29 @@
+Feature: Addition
+ In order to prevent security model regressions
+ As a user with specific permissions
+ I should to be granted or denied access to various actions
+
+@security
+Scenario: Login can be automated
+ Given I have installed Orchard
+ And I have a user "bob" with permissions "AccessFrontEnd"
+ When I go to "users/account/logoff"
+ And I go to "users/account/logon"
+ And I fill in
+ | name | value |
+ | userNameOrEmail | bob |
+ | password | qwerty123! |
+ And I hit "Sign In"
+ And I am redirected
+ Then I should see "Welcome"
+ And I should see "bob"
+
+@security
+Scenario: Anonymous user can see the home page but not the dashboard
+ Given I have installed Orchard
+ And I have a user "bob" with permissions "AccessFrontEnd"
+ When I sign in as "bob"
+ And I go to "/"
+ Then I should see "this is the homepage of your new site"
+ And I should be denied access when I go to "admin"
+
diff --git a/src/Orchard.Specs/PermissionModel.feature.cs b/src/Orchard.Specs/PermissionModel.feature.cs
new file mode 100644
index 000000000..d90622584
--- /dev/null
+++ b/src/Orchard.Specs/PermissionModel.feature.cs
@@ -0,0 +1,123 @@
+// ------------------------------------------------------------------------------
+//
+// This code was generated by SpecFlow (http://www.specflow.org/).
+// SpecFlow Version:1.5.0.0
+// Runtime Version:4.0.30319.1
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+// ------------------------------------------------------------------------------
+#region Designer generated code
+namespace Orchard.Specs
+{
+ using TechTalk.SpecFlow;
+
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.5.0.0")]
+ [System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [NUnit.Framework.TestFixtureAttribute()]
+ [NUnit.Framework.DescriptionAttribute("Addition")]
+ public partial class AdditionFeature
+ {
+
+ private static TechTalk.SpecFlow.ITestRunner testRunner;
+
+#line 1 "PermissionModel.feature"
+#line hidden
+
+ [NUnit.Framework.TestFixtureSetUpAttribute()]
+ public virtual void FeatureSetup()
+ {
+ testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner();
+ TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Addition", "In order to prevent security model regressions\r\nAs a user with specific permissio" +
+ "ns\r\nI should to be granted or denied access to various actions", GenerationTargetLanguage.CSharp, ((string[])(null)));
+ testRunner.OnFeatureStart(featureInfo);
+ }
+
+ [NUnit.Framework.TestFixtureTearDownAttribute()]
+ public virtual void FeatureTearDown()
+ {
+ testRunner.OnFeatureEnd();
+ testRunner = null;
+ }
+
+ public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo)
+ {
+ testRunner.OnScenarioStart(scenarioInfo);
+ }
+
+ [NUnit.Framework.TearDownAttribute()]
+ public virtual void ScenarioTearDown()
+ {
+ testRunner.OnScenarioEnd();
+ }
+
+ [NUnit.Framework.TestAttribute()]
+ [NUnit.Framework.DescriptionAttribute("Login can be automated")]
+ [NUnit.Framework.CategoryAttribute("security")]
+ public virtual void LoginCanBeAutomated()
+ {
+ TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Login can be automated", new string[] {
+ "security"});
+#line 7
+this.ScenarioSetup(scenarioInfo);
+#line 8
+ testRunner.Given("I have installed Orchard");
+#line 9
+ testRunner.And("I have a user \"bob\" with permissions \"AccessFrontEnd\"");
+#line 10
+ testRunner.When("I go to \"users/account/logoff\"");
+#line 11
+ testRunner.And("I go to \"users/account/logon\"");
+#line hidden
+ TechTalk.SpecFlow.Table table1 = new TechTalk.SpecFlow.Table(new string[] {
+ "name",
+ "value"});
+ table1.AddRow(new string[] {
+ "userNameOrEmail",
+ "bob"});
+ table1.AddRow(new string[] {
+ "password",
+ "qwerty123!"});
+#line 12
+ testRunner.And("I fill in", ((string)(null)), table1);
+#line 16
+ testRunner.And("I hit \"Sign In\"");
+#line 17
+ testRunner.And("I am redirected");
+#line 18
+ testRunner.Then("I should see \"Welcome\"");
+#line 19
+ testRunner.And("I should see \"bob\"");
+#line hidden
+ testRunner.CollectScenarioErrors();
+ }
+
+ [NUnit.Framework.TestAttribute()]
+ [NUnit.Framework.DescriptionAttribute("Anonymous user can see the home page but not the dashboard")]
+ [NUnit.Framework.CategoryAttribute("security")]
+ public virtual void AnonymousUserCanSeeTheHomePageButNotTheDashboard()
+ {
+ TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Anonymous user can see the home page but not the dashboard", new string[] {
+ "security"});
+#line 22
+this.ScenarioSetup(scenarioInfo);
+#line 23
+ testRunner.Given("I have installed Orchard");
+#line 24
+ testRunner.And("I have a user \"bob\" with permissions \"AccessFrontEnd\"");
+#line 25
+ testRunner.When("I sign in as \"bob\"");
+#line 26
+ testRunner.And("I go to \"/\"");
+#line 27
+ testRunner.Then("I should see \"this is the homepage of your new site\"");
+#line 28
+ testRunner.And("I should be denied access when I go to \"admin\"");
+#line hidden
+ testRunner.CollectScenarioErrors();
+ }
+ }
+}
+#endregion
diff --git a/src/Orchard.Specs/Properties/AssemblyInfo.cs b/src/Orchard.Specs/Properties/AssemblyInfo.cs
index 252b35ff1..a75fb15d3 100644
--- a/src/Orchard.Specs/Properties/AssemblyInfo.cs
+++ b/src/Orchard.Specs/Properties/AssemblyInfo.cs
@@ -30,5 +30,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.9.0")]
-[assembly: AssemblyFileVersion("0.9.0")]
+[assembly: AssemblyVersion("1.0.20")]
+[assembly: AssemblyFileVersion("1.0.20")]
diff --git a/src/Orchard.Specs/Setup.feature b/src/Orchard.Specs/Setup.feature
index f3b8dcfbc..1cb6d8ab4 100644
--- a/src/Orchard.Specs/Setup.feature
+++ b/src/Orchard.Specs/Setup.feature
@@ -51,4 +51,4 @@ Scenario: Calling setup on a brand new install
And I hit "Finish Setup"
And I go to "/"
Then I should see "My Site"
- And I should see "Welcome, admin!"
\ No newline at end of file
+ And I should see "Welcome, admin!"
diff --git a/src/Orchard.Specs/Setup.feature.cs b/src/Orchard.Specs/Setup.feature.cs
index f382e62ba..811f0aeed 100644
--- a/src/Orchard.Specs/Setup.feature.cs
+++ b/src/Orchard.Specs/Setup.feature.cs
@@ -1,7 +1,7 @@
// ------------------------------------------------------------------------------
//
// This code was generated by SpecFlow (http://www.specflow.org/).
-// SpecFlow Version:1.4.0.0
+// SpecFlow Version:1.5.0.0
// Runtime Version:4.0.30319.1
//
// Changes to this file may cause incorrect behavior and will be lost if
@@ -14,7 +14,7 @@ namespace Orchard.Specs
using TechTalk.SpecFlow;
- [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.4.0.0")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.5.0.0")]
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[NUnit.Framework.TestFixtureAttribute()]
[NUnit.Framework.DescriptionAttribute("Setup")]
@@ -212,7 +212,8 @@ this.ScenarioSetup(scenarioInfo);
#line 53
testRunner.Then("I should see \"My Site\"");
#line 54
- testRunner.And("I should see \"Welcome, admin!\"");
+ testRunner.And("I should see \"Welcome, admin<" +
+ "/strong>!\"");
#line hidden
testRunner.CollectScenarioErrors();
}
diff --git a/src/Orchard.Tests.Modules/Indexing/LuceneSearchBuilderTests.cs b/src/Orchard.Tests.Modules/Indexing/LuceneSearchBuilderTests.cs
index 1b1d19aee..850e08598 100644
--- a/src/Orchard.Tests.Modules/Indexing/LuceneSearchBuilderTests.cs
+++ b/src/Orchard.Tests.Modules/Indexing/LuceneSearchBuilderTests.cs
@@ -231,14 +231,14 @@ namespace Orchard.Tests.Modules.Indexing {
_provider.Store("default", _provider.New(2).Add("body", "Renaud is also in the kitchen.").Analyze().Add("title", "A love affair").Analyze());
_provider.Store("default", _provider.New(3).Add("body", "Bertrand is a little bit jealous.").Analyze().Add("title", "Soap opera").Analyze());
- Assert.That(_searchBuilder.Parse(new[] { "body" }, "kitchen").Count(), Is.EqualTo(2));
- Assert.That(_searchBuilder.Parse(new[] { "body" }, "kitchen bertrand").Count(), Is.EqualTo(3));
- Assert.That(_searchBuilder.Parse(new[] { "body" }, "kitchen +bertrand").Count(), Is.EqualTo(1));
- Assert.That(_searchBuilder.Parse(new[] { "body" }, "+kitchen +bertrand").Count(), Is.EqualTo(0));
- Assert.That(_searchBuilder.Parse(new[] { "body" }, "kit").Count(), Is.EqualTo(0));
- Assert.That(_searchBuilder.Parse(new[] { "body" }, "kit*").Count(), Is.EqualTo(2));
- Assert.That(_searchBuilder.Parse(new[] { "body", "title" }, "bradley love^3 soap").Count(), Is.EqualTo(3));
- Assert.That(_searchBuilder.Parse(new[] { "body", "title" }, "bradley love^3 soap").Search().First().ContentItemId, Is.EqualTo(2));
+ Assert.That(_searchBuilder.Parse(new[] { "body" }, "kitchen", false).Count(), Is.EqualTo(2));
+ Assert.That(_searchBuilder.Parse(new[] { "body" }, "kitchen bertrand", false).Count(), Is.EqualTo(3));
+ Assert.That(_searchBuilder.Parse(new[] { "body" }, "kitchen +bertrand", false).Count(), Is.EqualTo(1));
+ Assert.That(_searchBuilder.Parse(new[] { "body" }, "+kitchen +bertrand", false).Count(), Is.EqualTo(0));
+ Assert.That(_searchBuilder.Parse(new[] { "body" }, "kit", false).Count(), Is.EqualTo(0));
+ Assert.That(_searchBuilder.Parse(new[] { "body" }, "kit*", false).Count(), Is.EqualTo(2));
+ Assert.That(_searchBuilder.Parse(new[] { "body", "title" }, "bradley love^3 soap", false).Count(), Is.EqualTo(3));
+ Assert.That(_searchBuilder.Parse(new[] { "body", "title" }, "bradley love^3 soap", false).Search().First().ContentItemId, Is.EqualTo(2));
}
[Test]
@@ -287,13 +287,13 @@ namespace Orchard.Tests.Modules.Indexing {
[Test]
public void FiltersShouldNotAlterResults() {
_provider.CreateIndex("default");
- _provider.Store("default", _provider.New(1).Add("body", "Orchard has been developped by Mirosoft in C#").Analyze().Add("culture", 1033));
- _provider.Store("default", _provider.New(2).Add("body", "Windows a été développé par Mirosoft en C++").Analyze().Add("culture", 1036));
+ _provider.Store("default", _provider.New(1).Add("body", "Orchard has been developped by Microsoft in C#").Analyze().Add("culture", 1033));
+ _provider.Store("default", _provider.New(2).Add("body", "Windows a été développé par Microsoft en C++").Analyze().Add("culture", 1036));
_provider.Store("default", _provider.New(3).Add("title", "Home").Analyze().Add("culture", 1033));
- Assert.That(_searchBuilder.WithField("body", "Mirosoft").Count(), Is.EqualTo(2));
- Assert.That(_searchBuilder.WithField("body", "Mirosoft").WithField("culture", 1033).Count(), Is.EqualTo(3));
- Assert.That(_searchBuilder.WithField("body", "Mirosoft").WithField("culture", 1033).AsFilter().Count(), Is.EqualTo(1));
+ Assert.That(_searchBuilder.WithField("body", "Microsoft").Count(), Is.EqualTo(2));
+ Assert.That(_searchBuilder.WithField("body", "Microsoft").WithField("culture", 1033).Count(), Is.EqualTo(3));
+ Assert.That(_searchBuilder.WithField("body", "Microsoft").WithField("culture", 1033).AsFilter().Count(), Is.EqualTo(1));
Assert.That(_searchBuilder.WithField("body", "Orchard").WithField("culture", 1036).Count(), Is.EqualTo(2));
Assert.That(_searchBuilder.WithField("body", "Orchard").WithField("culture", 1036).AsFilter().Count(), Is.EqualTo(0));
@@ -308,6 +308,14 @@ namespace Orchard.Tests.Modules.Indexing {
Assert.That(_searchBuilder.Parse("title", "home").WithField("culture", 1033).AsFilter().Count(), Is.EqualTo(1));
}
+ [Test]
+ public void ParsedTextShouldBeEscapedByDefault() {
+ _provider.CreateIndex("default");
+ _provider.Store("default", _provider.New(1).Add("body", "foo.bar").Analyze());
+
+ Assert.That(_searchBuilder.Parse("body", "*@!woo*@!").Count(), Is.EqualTo(0));
+ }
+
[Test]
public void FieldsCanContainMultipleValue() {
_provider.CreateIndex("default");
@@ -333,5 +341,32 @@ namespace Orchard.Tests.Modules.Indexing {
Assert.That(_searchBuilder.WithField("tag-value", "tag").Count(), Is.EqualTo(1));
}
+
+
+ [Test]
+ public void ShouldReturnAllDocuments() {
+ _provider.CreateIndex("default");
+ for(var i = 1; i<100;i++) {
+ _provider.Store("default", _provider.New(i).Add("term-id", i).Store());
+ }
+
+ Assert.That(_searchBuilder.Count(), Is.EqualTo(99));
+ }
+
+ [Test]
+ public void NoClauseButAFilter() {
+ _provider.CreateIndex("default");
+ for (var i = 1; i < 50; i++) {
+ _provider.Store("default", _provider.New(i).Add("term-id", i / 10).Store());
+ }
+
+ Assert.That(_searchBuilder.Count(), Is.EqualTo(49));
+ Assert.That(_searchBuilder.WithField("term-id", 0).ExactMatch().AsFilter().Count(), Is.EqualTo(9));
+ Assert.That(_searchBuilder.WithField("term-id", 1).ExactMatch().AsFilter().Count(), Is.EqualTo(10));
+ Assert.That(_searchBuilder.WithField("term-id", 2).ExactMatch().AsFilter().Count(), Is.EqualTo(10));
+ Assert.That(_searchBuilder.WithField("term-id", 3).ExactMatch().AsFilter().Count(), Is.EqualTo(10));
+ Assert.That(_searchBuilder.WithField("term-id", 4).ExactMatch().AsFilter().Count(), Is.EqualTo(10));
+ }
+
}
}
diff --git a/src/Orchard.Tests.Modules/Orchard.Tests.Modules.csproj b/src/Orchard.Tests.Modules/Orchard.Tests.Modules.csproj
index 65360fa8e..13334c6f9 100644
--- a/src/Orchard.Tests.Modules/Orchard.Tests.Modules.csproj
+++ b/src/Orchard.Tests.Modules/Orchard.Tests.Modules.csproj
@@ -138,6 +138,8 @@
+
+
@@ -276,11 +278,11 @@
-->
-
-
+
+
-
-
+
+
diff --git a/src/Orchard.Tests.Modules/Packaging/PackageBuilderTests.cs b/src/Orchard.Tests.Modules/Packaging/PackageBuilderTests.cs
index e0c1949f2..796068f29 100644
--- a/src/Orchard.Tests.Modules/Packaging/PackageBuilderTests.cs
+++ b/src/Orchard.Tests.Modules/Packaging/PackageBuilderTests.cs
@@ -11,6 +11,8 @@ using Orchard.Tests.Stubs;
namespace Orchard.Tests.Modules.Packaging {
[TestFixture]
public class PackageBuilderTests : ContainerTestBase {
+ private const string PackageIdentifier = "Hello.World";
+
protected override void Register(Autofac.ContainerBuilder builder) {
builder.RegisterType().As();
builder.RegisterType().As()
@@ -27,7 +29,7 @@ namespace Orchard.Tests.Modules.Packaging {
return packageBuilder.BuildPackage(new ExtensionDescriptor {
ExtensionType = DefaultExtensionTypes.Module,
- Id = "Hello.World",
+ Id = PackageIdentifier,
Version = "1.0",
Description = "a",
Author = "b"
@@ -41,7 +43,7 @@ namespace Orchard.Tests.Modules.Packaging {
var package = Package.Open(stream);
Assert.That(package, Is.Not.Null);
- Assert.That(package.PackageProperties.Identifier, Is.EqualTo("Orchard.Module.Hello.World"));
+ Assert.That(package.PackageProperties.Identifier, Is.EqualTo(PackageBuilder.BuildPackageId(PackageIdentifier, DefaultExtensionTypes.Module)));
}
[Test]
diff --git a/src/Orchard.Tests.Modules/Properties/AssemblyInfo.cs b/src/Orchard.Tests.Modules/Properties/AssemblyInfo.cs
index 9e42389f7..daa6051a8 100644
--- a/src/Orchard.Tests.Modules/Properties/AssemblyInfo.cs
+++ b/src/Orchard.Tests.Modules/Properties/AssemblyInfo.cs
@@ -30,5 +30,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.9.0")]
-[assembly: AssemblyFileVersion("0.9.0")]
+[assembly: AssemblyVersion("1.0.20")]
+[assembly: AssemblyFileVersion("1.0.20")]
diff --git a/src/Orchard.Tests.Modules/Scripting.Dlr/EvaluatorTests.cs b/src/Orchard.Tests.Modules/Scripting.Dlr/EvaluatorTests.cs
new file mode 100644
index 000000000..5dd2b3aca
--- /dev/null
+++ b/src/Orchard.Tests.Modules/Scripting.Dlr/EvaluatorTests.cs
@@ -0,0 +1,50 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using Autofac;
+using NUnit.Framework;
+using Orchard.Scripting;
+using Orchard.Scripting.Compiler;
+using Orchard.Scripting.Dlr.Services;
+using Orchard.Tests.Stubs;
+
+namespace Orchard.Tests.Modules.Scripting.Dlr {
+ [TestFixture]
+ public class EvaluatorTests : EvaluatorTestsBase {
+ private IContainer _container;
+ private IScriptingManager _scriptingManager;
+
+ [SetUp]
+ public void Init() {
+ var builder = new ContainerBuilder();
+ builder.RegisterType().As();
+ builder.RegisterType().As();
+ _container = builder.Build();
+ _scriptingManager = _container.Resolve();
+ }
+
+ protected override EvaluationResult EvaluateSimpleExpression(string expression, Func, object> methodInvocationCallback) {
+ var evaluator = new RubyScriptExpressionEvaluator(_scriptingManager, new StubCacheManager());
+ try {
+ var value = evaluator.Evaluate(expression, new[] { new GlobalMethodProvider(methodInvocationCallback) });
+ return new EvaluationResult(value);
+ }
+ catch (Exception e) {
+ Trace.WriteLine(string.Format("Error during evaluation of '{0}': {1}", expression, e.Message));
+ return new EvaluationResult(new Error { Message = e.Message, Exception = e });
+ }
+ }
+
+ private class GlobalMethodProvider : IGlobalMethodProvider {
+ private readonly Func, object> _methodInvocationCallback;
+
+ public GlobalMethodProvider(Func, object> methodInvocationCallback) {
+ _methodInvocationCallback = methodInvocationCallback;
+ }
+
+ public void Process(GlobalMethodContext context) {
+ context.Result = _methodInvocationCallback(context.FunctionName, context.Arguments);
+ }
+ }
+ }
+}
diff --git a/src/Orchard.Tests.Modules/Scripting/EvaluatorTests.cs b/src/Orchard.Tests.Modules/Scripting/EvaluatorTests.cs
index 4f84c496c..f93c211e8 100644
--- a/src/Orchard.Tests.Modules/Scripting/EvaluatorTests.cs
+++ b/src/Orchard.Tests.Modules/Scripting/EvaluatorTests.cs
@@ -7,146 +7,17 @@ using Orchard.Scripting.Compiler;
namespace Orchard.Tests.Modules.Scripting {
[TestFixture]
- public class EvaluatorTests {
- [Test]
- public void EvaluateSimpleConstant() {
- var result = EvaluateSimpleExpression("true and true");
- Assert.That(result.IsError, Is.False);
- Assert.That(result.Value, Is.EqualTo(true));
- }
-
- [Test]
- public void EvaluateInvalidBooleanExpression() {
- var result = EvaluateSimpleExpression("true and 1");
- Assert.That(result.IsError, Is.True);
- }
-
- [Test]
- public void EvaluateBooleanExpression() {
- var result = EvaluateSimpleExpression("not true");
- Assert.That(result.IsError, Is.False);
- Assert.That(result.BoolValue, Is.EqualTo(false));
- }
-
- [Test]
- public void EvaluateSimpleArithmetic() {
- var result = EvaluateSimpleExpression("1 + 2 * 3 - 6 / 2");
- Assert.That(result.IsError, Is.False);
- Assert.That(result.Value, Is.EqualTo(4));
- }
-
- [Test]
- public void EvaluateRelationalOperators() {
- var result = EvaluateSimpleExpression("1 < 2");
- Assert.That(result.IsError, Is.False);
- Assert.That(result.Value, Is.EqualTo(true));
- }
-
- [Test]
- public void EvaluateRelationalOperators2() {
- var result = EvaluateSimpleExpression("2 <= 2");
- Assert.That(result.IsError, Is.False);
- Assert.That(result.Value, Is.EqualTo(true));
- }
-
- [Test]
- public void EvaluateRelationalOperators3() {
- var result = EvaluateSimpleExpression("1 < 2 or 2 > 3 and !false");
- Assert.That(result.IsError, Is.False);
- Assert.That(result.Value, Is.EqualTo(true));
- }
-
- [Test]
- public void EvaluateRelationalOperators4() {
- var result = EvaluateSimpleExpression("1 > 2 or 2 > 3 and !false");
- Assert.That(result.IsError, Is.False);
- Assert.That(result.Value, Is.EqualTo(false));
- }
-
- [Test]
- public void EvaluateRelationalOperators5() {
- var result = EvaluateSimpleExpression("1 > 2 or 4 > 3 and !false");
- Assert.That(result.IsError, Is.False);
- Assert.That(result.Value, Is.EqualTo(true));
- }
-
- [Test]
- public void EvaluateRelationalOperators6() {
- var result = EvaluateSimpleExpression("!false");
- Assert.That(result.IsError, Is.False);
- Assert.That(result.Value, Is.EqualTo(true));
- }
-
- [Test]
- public void EvaluateEqualityOperators() {
- var result = EvaluateSimpleExpression("1 == 2");
- Assert.That(result.IsError, Is.False);
- Assert.That(result.Value, Is.EqualTo(false));
- }
-
- [Test]
- public void EvaluateEqualityOperators2() {
- var result = EvaluateSimpleExpression("1 != 2");
- Assert.That(result.IsError, Is.False);
- Assert.That(result.Value, Is.EqualTo(true));
- }
-
- [Test]
- public void EvaluateSimpleMethodCall() {
- var result = EvaluateSimpleExpression("print 1 + 2 * 3 - 6 / 2",
- (m, args) => (m == "print") ? (int)args[0] * 2 : 0);
- Assert.That(result.IsError, Is.False);
- Assert.That(result.Value, Is.EqualTo(4 * 2));
- }
-
- [Test]
- public void EvaluateSimpleMethodCall2() {
- var result = EvaluateSimpleExpression("foo 1 + bar 3",
- (m, args) =>
- (m == "foo") ? (int)args[0] * 2 :
- (m == "bar") ? (int)args[0] : 0);
- Assert.That(result.IsError, Is.False);
- Assert.That(result.Value, Is.EqualTo(2 * (1 + 3)));
- }
-
- [Test]
- public void EvaluateSimpleMethodCall3() {
- var result = EvaluateSimpleExpression("foo(1) + bar(3)",
- (m, args) =>
- (m == "foo") ? (int)args[0] * 2 :
- (m == "bar") ? (int)args[0] : 0);
- Assert.That(result.IsError, Is.False);
- Assert.That(result.Value, Is.EqualTo(2 + 3));
- }
-
- [Test]
- public void EvaluateSimpleMethodCall4() {
- var result = EvaluateSimpleExpression("foo",
- (m, args) => (m == "foo") ? true : false);
- Assert.That(result.IsError, Is.False);
- Assert.That(result.Value, Is.EqualTo(true));
- }
-
- [Test]
- public void EvaluateSimpleMethodCall5() {
- var result = EvaluateSimpleExpression("foo()",
- (m, args) => (m == "foo") ? true : false);
- Assert.That(result.IsError, Is.False);
- Assert.That(result.Value, Is.EqualTo(true));
- }
-
- private EvaluationResult EvaluateSimpleExpression(string expression) {
- return EvaluateSimpleExpression(expression, (m, args) => null);
- }
-
- private EvaluationResult EvaluateSimpleExpression(
- string expression, Func, object> methodInvocationCallback) {
-
+ public class EvaluatorTests : EvaluatorTestsBase {
+ protected override EvaluationResult EvaluateSimpleExpression(string expression, Func, object> methodInvocationCallback) {
var ast = new Parser(expression).Parse();
- foreach(var error in ast.GetErrors()) {
+ foreach (var error in ast.GetErrors()) {
Trace.WriteLine(string.Format("Error during parsing of '{0}': {1}", expression, error.Message));
}
- Assert.That(ast.GetErrors().Any(), Is.False);
+
+ if (ast.GetErrors().Any()) {
+ return new EvaluationResult(new Error { Message = ast.GetErrors().First().Message });
+ }
+
var result = new Interpreter().Evalutate(new EvaluationContext {
Tree = ast,
MethodInvocationCallback = methodInvocationCallback
@@ -155,4 +26,4 @@ namespace Orchard.Tests.Modules.Scripting {
return result;
}
}
-}
+}
\ No newline at end of file
diff --git a/src/Orchard.Tests.Modules/Scripting/EvaluatorTestsBase.cs b/src/Orchard.Tests.Modules/Scripting/EvaluatorTestsBase.cs
new file mode 100644
index 000000000..0605e801d
--- /dev/null
+++ b/src/Orchard.Tests.Modules/Scripting/EvaluatorTestsBase.cs
@@ -0,0 +1,526 @@
+using System;
+using System.Collections.Generic;
+using NUnit.Framework;
+using Orchard.Scripting.Compiler;
+
+namespace Orchard.Tests.Modules.Scripting {
+ public abstract class EvaluatorTestsBase {
+ [Test]
+ public void EvaluateSimpleConstant() {
+ var result = EvaluateSimpleExpression("true and true");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateSimpleConstant0() {
+ var result = EvaluateSimpleExpression("true && true");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression() {
+ var result = EvaluateSimpleExpression("true and 1");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(1));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression1() {
+ var result = EvaluateSimpleExpression("true && 1");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(1));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression2() {
+ var result = EvaluateSimpleExpression("true and 0");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(0));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression3() {
+ var result = EvaluateSimpleExpression("true && 0");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(0));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression4() {
+ var result = EvaluateSimpleExpression("1 and true");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression5() {
+ var result = EvaluateSimpleExpression("0 and true");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression6() {
+ var result = EvaluateSimpleExpression("1 && true");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression7() {
+ var result = EvaluateSimpleExpression("true and 'boo'");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo("boo"));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression8() {
+ var result = EvaluateSimpleExpression("true && 'boo'");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo("boo"));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression9() {
+ var result = EvaluateSimpleExpression("'boo' and true");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression10() {
+ var result = EvaluateSimpleExpression("'boo' && true");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression11() {
+ var result = EvaluateSimpleExpression("true or 1");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression12() {
+ var result = EvaluateSimpleExpression("true || 1");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression13() {
+ var result = EvaluateSimpleExpression("1 or true");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(1));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression14() {
+ var result = EvaluateSimpleExpression("1 || true");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(1));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression15() {
+ var result = EvaluateSimpleExpression("true or 'boo'");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression16() {
+ var result = EvaluateSimpleExpression("false or 'boo'");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo("boo"));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression17() {
+ var result = EvaluateSimpleExpression("nil or 'boo'");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo("boo"));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression18() {
+ var result = EvaluateSimpleExpression("'boo' or nil");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo("boo"));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression19() {
+ var result = EvaluateSimpleExpression("true || 'boo'");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression20() {
+ var result = EvaluateSimpleExpression("'boo' or true");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo("boo"));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression21() {
+ var result = EvaluateSimpleExpression("'boo' || true");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo("boo"));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression22() {
+ var result = EvaluateSimpleExpression("1 and 2");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(2));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression23() {
+ var result = EvaluateSimpleExpression("false and 2");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(false));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression24() {
+ var result = EvaluateSimpleExpression("nil and 2");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(null));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression25() {
+ var result = EvaluateSimpleExpression("nil and false");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(null));
+ }
+
+ [Test]
+ public void EvaluateConvertingBooleanExpression26() {
+ var result = EvaluateSimpleExpression("nil and true");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(null));
+ }
+
+ [Test]
+ public void EvaluateBooleanExpression() {
+ var result = EvaluateSimpleExpression("not true");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.BoolValue, Is.EqualTo(false));
+ }
+
+ [Test]
+ public void EvaluateBooleanExpression0() {
+ var result = EvaluateSimpleExpression("!true");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.BoolValue, Is.EqualTo(false));
+ }
+
+ [Test]
+ public void EvaluateSimpleArithmetic() {
+ var result = EvaluateSimpleExpression("1 + 2 * 3 - 6 / 2");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(4));
+ }
+
+ [Test]
+ public void EvaluateRelationalOperators() {
+ var result = EvaluateSimpleExpression("1 < 2");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateRelationalOperators2() {
+ var result = EvaluateSimpleExpression("2 <= 2");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateRelationalOperators3() {
+ var result = EvaluateSimpleExpression("1 < 2 or 2 > 3 and !false");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateRelationalOperators4() {
+ var result = EvaluateSimpleExpression("1 > 2 or 2 > 3 and !false");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(false));
+ }
+
+ [Test]
+ public void EvaluateRelationalOperators5() {
+ var result = EvaluateSimpleExpression("1 > 2 or 4 > 3 and !false");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateRelationalOperators6() {
+ var result = EvaluateSimpleExpression("!false");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateRelationalOperators7() {
+ var result = EvaluateSimpleExpression("5 || 10 && nil");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(5));
+ }
+
+ [Test]
+ public void EvaluateRelationalOperators8() {
+ var result = EvaluateSimpleExpression("true or false and nil");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.IsNull, Is.True);
+ }
+
+ [Test]
+ public void EvaluateRelationalOperators9() {
+ var result = EvaluateSimpleExpression("true and nil");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.IsNull, Is.True);
+ }
+
+ [Test]
+ public void EvaluateRelationalOperators10() {
+ var result = EvaluateSimpleExpression("5 and nil");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.IsNull, Is.True);
+ }
+
+ [Test]
+ public void EvaluateEqualityOperators() {
+ var result = EvaluateSimpleExpression("1 == 2");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(false));
+ }
+
+ [Test]
+ public void EvaluateEqualityOperators2() {
+ var result = EvaluateSimpleExpression("1 != 2");
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateSimpleMethodCall() {
+ var result = EvaluateSimpleExpression("printtoto 1 + 2 * 3 - 6 / 2",
+ (m, args) => (m == "printtoto") ? (int)args[0] * 2 : 0);
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(4 * 2));
+ }
+
+ [Test]
+ public void EvaluateSimpleMethodCall2() {
+ var result = EvaluateSimpleExpression("printtoto(1 + 2 * 3 - 6 / 2)",
+ (m, args) => (m == "printtoto") ? (int)args[0] * 2 : 0);
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(4 * 2));
+ }
+
+ [Test]
+ public void EvaluateSimpleMethodCall3() {
+ var result = EvaluateSimpleExpression("foo 1 + bar 3",
+ (m, args) =>
+ (m == "foo") ? (int)args[0] * 2 :
+ (m == "bar") ? (int)args[0] : 0);
+ Assert.That(result.IsError, Is.True);
+ }
+
+ [Test]
+ public void EvaluateSimpleMethodCall4() {
+ var result = EvaluateSimpleExpression("foo(1 + bar 3)",
+ (m, args) =>
+ (m == "foo") ? (int)args[0] * 2 :
+ (m == "bar") ? (int)args[0] : 0);
+ Assert.That(result.IsError, Is.True);
+ }
+
+ [Test]
+ public void EvaluateSimpleMethodCall5() {
+ var result = EvaluateSimpleExpression("foo 1 + bar(3)",
+ (m, args) =>
+ (m == "foo") ? (int)args[0] * 2 :
+ (m == "bar") ? (int)args[0] : 0);
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(2 * (1 + 3)));
+ }
+
+ [Test]
+ public void EvaluateSimpleMethodCall6() {
+ var result = EvaluateSimpleExpression("foo(1) + bar(3)",
+ (m, args) =>
+ (m == "foo") ? (int)args[0] * 2 :
+ (m == "bar") ? (int)args[0] : 0);
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(2 + 3));
+ }
+
+ [Test]
+ public void EvaluateSimpleMethodCall7() {
+ var result = EvaluateSimpleExpression("foo",
+ (m, args) => (m == "foo") ? true : false);
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateSimpleMethodCall8() {
+ var result = EvaluateSimpleExpression("foo()",
+ (m, args) => (m == "foo") ? true : false);
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateSimpleMethodCall9() {
+#if false
+ var result = EvaluateSimpleExpression("1 + bar 3",
+ (m, args) =>
+ (m == "bar") ? (int)args[0] : 0);
+ Assert.That(result.IsError, Is.True);
+#endif
+ }
+
+ [Test]
+ public void EvaluateSimpleMethodCall10() {
+#if false
+ var result = EvaluateSimpleExpression("1 || bar 3",
+ (m, args) =>
+ (m == "bar") ? (int)args[0] : 0);
+ Assert.That(result.IsError, Is.True);
+#endif
+ }
+
+ [Test]
+ public void EvaluateSimpleMethodCall11() {
+#if false
+ var result = EvaluateSimpleExpression("1 * bar 3",
+ (m, args) =>
+ (m == "bar") ? (int)args[0] : 0);
+ Assert.That(result.IsError, Is.True);
+#endif
+ }
+
+ [Test]
+ public void EvaluateSimpleMethodCall12() {
+#if false
+ var result = EvaluateSimpleExpression("1 && bar 3",
+ (m, args) =>
+ (m == "bar") ? (int)args[0] : 0);
+ Assert.That(result.IsError, Is.True);
+#endif
+ }
+
+ [Test]
+ public void EvaluateSimpleMethodCall13() {
+#if false
+ var result = EvaluateSimpleExpression("(1 + bar 3)",
+ (m, args) =>
+ (m == "bar") ? (int)args[0] : 0);
+ Assert.That(result.IsError, Is.True);
+#endif
+ }
+
+ [Test]
+ public void EvaluateSimpleMethodCall14() {
+ var result = EvaluateSimpleExpression("1 + bar(3)",
+ (m, args) =>
+ (m == "bar") ? (int)args[0] : 0);
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(1 + 3));
+ }
+
+ [Test]
+ public void EvaluateSimpleMethodCall15() {
+ var result = EvaluateSimpleExpression("1 + (bar 3)",
+ (m, args) =>
+ (m == "bar") ? (int)args[0] : 0);
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(1 + 3));
+ }
+
+ [Test]
+ public void EvaluateSimpleMethodCall16() {
+ var result = EvaluateSimpleExpression("1 and bar 3",
+ (m, args) =>
+ (m == "bar") ? (int)args[0] : 0);
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(3));
+ }
+
+ [Test]
+ public void EvaluateSimpleMethodCall17() {
+ var result = EvaluateSimpleExpression("1 or bar 3",
+ (m, args) =>
+ (m == "bar") ? (int)args[0] : 0);
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(1));
+ }
+
+ [Test]
+ public void EvaluateComplexMethodCall() {
+ var result = EvaluateSimpleExpression("authenticated and url \"~/boo*\"",
+ (m, args) => (m == "authenticated") ? true : (m == "url") ? (string)args[0] == "~/boo*" : false);
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateComplexMethodCall2() {
+ var result = EvaluateSimpleExpression("(authenticated) and (url \"~/boo*\")",
+ (m, args) => (m == "authenticated") ? true : (m == "url") ? (string)args[0] == "~/boo*" : false);
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateComplexMethodCall3() {
+ var result = EvaluateSimpleExpression("(authenticated and url \"~/boo*\")",
+ (m, args) => (m == "authenticated") ? true : (m == "url") ? (string)args[0] == "~/boo*" : false);
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateComplexMethodCall4() {
+ var result = EvaluateSimpleExpression("(authenticated) and url \"~/boo*\"",
+ (m, args) => (m == "authenticated") ? true : (m == "url") ? (string)args[0] == "~/boo*" : false);
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateComplexMethodCall5() {
+ var result = EvaluateSimpleExpression("(authenticated()) and (url \"~/boo*\")",
+ (m, args) => (m == "authenticated") ? true : (m == "url") ? (string)args[0] == "~/boo*" : false);
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ [Test]
+ public void EvaluateComplexMethodCall6() {
+ var result = EvaluateSimpleExpression("authenticated() and url(\"~/boo*\")",
+ (m, args) => (m == "authenticated") ? true : (m == "url") ? (string)args[0] == "~/boo*" : false);
+ Assert.That(result.IsError, Is.False);
+ Assert.That(result.Value, Is.EqualTo(true));
+ }
+
+ private EvaluationResult EvaluateSimpleExpression(string expression) {
+ return EvaluateSimpleExpression(expression, (m, args) => null);
+ }
+
+ protected abstract EvaluationResult EvaluateSimpleExpression(string expression, Func, object> methodInvocationCallback);
+ }
+}
\ No newline at end of file
diff --git a/src/Orchard.Tests.Modules/Scripting/ParserTests.cs b/src/Orchard.Tests.Modules/Scripting/ParserTests.cs
index d4ecfc481..1f5afce59 100644
--- a/src/Orchard.Tests.Modules/Scripting/ParserTests.cs
+++ b/src/Orchard.Tests.Modules/Scripting/ParserTests.cs
@@ -110,6 +110,30 @@ namespace Orchard.Tests.Modules.Scripting {
});
}
+ [Test]
+ public void ParserShouldUnderstandOperatorPrecedence5() {
+ var tree = new Parser("1+2+3").Parse();
+ CheckTree(tree, new object[] {
+ "binop", TokenKind.Plus,
+ "binop", TokenKind.Plus,
+ "const", 1,
+ "const", 2,
+ "const", 3,
+ });
+ }
+
+ [Test]
+ public void ParserShouldUnderstandOperatorPrecedence6() {
+ var tree = new Parser("1+2-3").Parse();
+ CheckTree(tree, new object[] {
+ "binop", TokenKind.Minus,
+ "binop", TokenKind.Plus,
+ "const", 1,
+ "const", 2,
+ "const", 3,
+ });
+ }
+
[Test]
public void ParserShouldUnderstandRelationalOperators() {
var tree = new Parser("true == true").Parse();
@@ -184,14 +208,14 @@ namespace Orchard.Tests.Modules.Scripting {
public void ParserShouldUnderstandRelationalOperatorPrecedence() {
var tree = new Parser("1 < 2 or 2 > 3 and !false").Parse();
CheckTree(tree, new object[] {
- "binop", TokenKind.Or,
- "binop", TokenKind.LessThan,
- "const", 1,
- "const", 2,
"binop", TokenKind.And,
- "binop", TokenKind.GreaterThan,
- "const", 2,
- "const", 3,
+ "binop", TokenKind.Or,
+ "binop", TokenKind.LessThan,
+ "const", 1,
+ "const", 2,
+ "binop", TokenKind.GreaterThan,
+ "const", 2,
+ "const", 3,
"unop", TokenKind.NotSign,
"const", false,
});
@@ -201,14 +225,14 @@ namespace Orchard.Tests.Modules.Scripting {
public void ParserShouldUnderstandRelationalOperatorPrecedence2() {
var tree = new Parser("1 < 2 and 2 > 3 or !false").Parse();
CheckTree(tree, new object[] {
- "binop", TokenKind.And,
- "binop", TokenKind.LessThan,
- "const", 1,
- "const", 2,
- "binop", TokenKind.Or,
- "binop", TokenKind.GreaterThan,
- "const", 2,
- "const", 3,
+ "binop", TokenKind.Or,
+ "binop", TokenKind.And,
+ "binop", TokenKind.LessThan,
+ "const", 1,
+ "const", 2,
+ "binop", TokenKind.GreaterThan,
+ "const", 2,
+ "const", 3,
"unop", TokenKind.NotSign,
"const", false,
});
@@ -234,11 +258,11 @@ namespace Orchard.Tests.Modules.Scripting {
"binop", TokenKind.Mul,
"const", 1,
"binop", TokenKind.Plus,
- "binop", TokenKind.Div,
- "const", 2,
- "binop", TokenKind.Mul,
+ "binop", TokenKind.Mul,
+ "binop", TokenKind.Div,
+ "const", 2,
"const", 4,
- "const", 6,
+ "const", 6,
"const", 3,
});
}
@@ -246,6 +270,14 @@ namespace Orchard.Tests.Modules.Scripting {
[Test]
public void ParserShouldContainErrorExpressions() {
var tree = new Parser("1 + not 3").Parse();
+ CheckTree(tree, new object[] {
+ "error",
+ });
+ }
+
+ [Test]
+ public void ParserShouldContainErrorExpressions2() {
+ var tree = new Parser("1 +").Parse();
CheckTree(tree, new object[] {
"binop", TokenKind.Plus,
"const", 1,
diff --git a/src/Orchard.Tests.Modules/Users/ShellSettingsUtility.cs b/src/Orchard.Tests.Modules/Users/ShellSettingsUtility.cs
index de67b3d19..577f2c526 100644
--- a/src/Orchard.Tests.Modules/Users/ShellSettingsUtility.cs
+++ b/src/Orchard.Tests.Modules/Users/ShellSettingsUtility.cs
@@ -5,22 +5,20 @@ using Orchard.Utility.Extensions;
namespace Orchard.Tests.Modules.Users {
public class ShellSettingsUtility {
public static ShellSettings CreateEncryptionEnabled() {
- // generate random keys for encryption
- var key = new byte[32];
- var iv = new byte[16];
- using ( var random = new RNGCryptoServiceProvider() ) {
- random.GetBytes(key);
- random.GetBytes(iv);
- }
+
+ const string encryptionAlgorithm = "AES";
+ const string hashAlgorithm = "HMACSHA256";
return new ShellSettings {
Name = "Alpha",
RequestUrlHost = "wiki.example.com",
RequestUrlPrefix = "~/foo",
- EncryptionAlgorithm = "AES",
- EncryptionKey = key.ToHexString(),
- EncryptionIV = iv.ToHexString()
+ EncryptionAlgorithm = encryptionAlgorithm,
+ EncryptionKey = SymmetricAlgorithm.Create(encryptionAlgorithm).Key.ToHexString(),
+ HashAlgorithm = hashAlgorithm,
+ HashKey = HMAC.Create(hashAlgorithm).Key.ToHexString()
};
+
}
}
}
diff --git a/src/Orchard.Tests/ContentManagement/ContentQueryTests.cs b/src/Orchard.Tests/ContentManagement/ContentQueryTests.cs
index cf7d8ca42..cc6d6c553 100644
--- a/src/Orchard.Tests/ContentManagement/ContentQueryTests.cs
+++ b/src/Orchard.Tests/ContentManagement/ContentQueryTests.cs
@@ -11,6 +11,7 @@ using Orchard.ContentManagement.Records;
using Orchard.DisplayManagement;
using Orchard.DisplayManagement.Descriptors;
using Orchard.Environment.Extensions;
+using Orchard.Tests.ContentManagement.Handlers;
using Orchard.Tests.ContentManagement.Records;
using Orchard.Tests.ContentManagement.Models;
using Orchard.DisplayManagement.Implementation;
@@ -37,30 +38,23 @@ namespace Orchard.Tests.ContentManagement {
typeof(ContentTypeRecord));
}
- [TestFixtureTearDown]
- public void TermFixture() {
-
- }
-
-
-
[SetUp]
public void Init() {
var builder = new ContainerBuilder();
- // builder.RegisterModule(new ImplicitCollectionSupportModule());
+
builder.RegisterModule(new ContentModule());
builder.RegisterType().As().SingleInstance();
builder.RegisterType().As();
builder.RegisterInstance(new Mock().Object);
builder.RegisterInstance(new Mock().Object);
- builder.RegisterType().As();
- builder.RegisterType().As();
- builder.RegisterType().As();
- builder.RegisterType().As();
- builder.RegisterType().As();
- builder.RegisterType().As();
- builder.RegisterType().As();
+ builder.RegisterType().As();
+ builder.RegisterType().As();
+ builder.RegisterType().As();
+ builder.RegisterType().As();
+ builder.RegisterType().As();
+ builder.RegisterType().As();
+ builder.RegisterType().As();
builder.RegisterType().As();
builder.RegisterType().As();
@@ -87,10 +81,10 @@ namespace Orchard.Tests.ContentManagement {
}
private void AddSampleData() {
- _manager.Create("alpha", init => { });
- _manager.Create("beta", init => { });
- _manager.Create("gamma", init => { init.Record.Frap = "the frap value"; });
- _manager.Create("delta", init => { init.Record.Quux = "the quux value"; });
+ _manager.Create("alpha", init => { });
+ _manager.Create("beta", init => { });
+ _manager.Create("gamma", init => { init.Record.Frap = "the frap value"; });
+ _manager.Create("delta", init => { init.Record.Quux = "the quux value"; });
_session.Flush();
}
@@ -136,10 +130,10 @@ namespace Orchard.Tests.ContentManagement {
var allItems = _manager.Query().List();
Assert.That(allItems.Count(), Is.EqualTo(4));
- Assert.That(allItems.Count(x => x.Has()), Is.EqualTo(1));
- Assert.That(allItems.Count(x => x.Has()), Is.EqualTo(1));
- Assert.That(allItems.Count(x => x.Has()), Is.EqualTo(1));
- Assert.That(allItems.Count(x => x.Has()), Is.EqualTo(1));
+ Assert.That(allItems.Count(x => x.Has()), Is.EqualTo(1));
+ Assert.That(allItems.Count(x => x.Has()), Is.EqualTo(1));
+ Assert.That(allItems.Count(x => x.Has()), Is.EqualTo(1));
+ Assert.That(allItems.Count(x => x.Has()), Is.EqualTo(1));
}
[Test]
@@ -149,37 +143,37 @@ namespace Orchard.Tests.ContentManagement {
var alphaBeta = _manager.Query().ForType("alpha", "beta").List();
Assert.That(alphaBeta.Count(), Is.EqualTo(2));
- Assert.That(alphaBeta.Count(x => x.Has()), Is.EqualTo(1));
- Assert.That(alphaBeta.Count(x => x.Has()), Is.EqualTo(1));
- Assert.That(alphaBeta.Count(x => x.Has()), Is.EqualTo(0));
- Assert.That(alphaBeta.Count(x => x.Has()), Is.EqualTo(0));
+ Assert.That(alphaBeta.Count(x => x.Has()), Is.EqualTo(1));
+ Assert.That(alphaBeta.Count(x => x.Has()), Is.EqualTo(1));
+ Assert.That(alphaBeta.Count(x => x.Has()), Is.EqualTo(0));
+ Assert.That(alphaBeta.Count(x => x.Has()), Is.EqualTo(0));
var gammaDelta = _manager.Query().ForType("gamma", "delta").List();
Assert.That(gammaDelta.Count(), Is.EqualTo(2));
- Assert.That(gammaDelta.Count(x => x.Has()), Is.EqualTo(0));
- Assert.That(gammaDelta.Count(x => x.Has()), Is.EqualTo(0));
- Assert.That(gammaDelta.Count(x => x.Has()), Is.EqualTo(1));
- Assert.That(gammaDelta.Count(x => x.Has()), Is.EqualTo(1));
+ Assert.That(gammaDelta.Count(x => x.Has()), Is.EqualTo(0));
+ Assert.That(gammaDelta.Count(x => x.Has()), Is.EqualTo(0));
+ Assert.That(gammaDelta.Count(x => x.Has()), Is.EqualTo(1));
+ Assert.That(gammaDelta.Count(x => x.Has()), Is.EqualTo(1));
}
[Test]
public void WherePredicateRestrictsResults() {
AddSampleData();
- _manager.Create("gamma", init => { init.Record.Frap = "one"; });
- _manager.Create("gamma", init => { init.Record.Frap = "two"; });
- _manager.Create("gamma", init => { init.Record.Frap = "three"; });
- _manager.Create("gamma", init => { init.Record.Frap = "four"; });
+ _manager.Create("gamma", init => { init.Record.Frap = "one"; });
+ _manager.Create("gamma", init => { init.Record.Frap = "two"; });
+ _manager.Create("gamma", init => { init.Record.Frap = "three"; });
+ _manager.Create("gamma", init => { init.Record.Frap = "four"; });
_session.Flush();
- var twoOrFour = _manager.Query()
+ var twoOrFour = _manager.Query()
.Where(x => x.Frap == "one" || x.Frap == "four")
.List();
Assert.That(twoOrFour.Count(), Is.EqualTo(2));
- Assert.That(twoOrFour.Count(x => x.Has()), Is.EqualTo(2));
- Assert.That(twoOrFour.Count(x => x.Get().Record.Frap == "one"), Is.EqualTo(1));
- Assert.That(twoOrFour.Count(x => x.Get().Record.Frap == "four"), Is.EqualTo(1));
+ Assert.That(twoOrFour.Count(x => x.Has()), Is.EqualTo(2));
+ Assert.That(twoOrFour.Count(x => x.Get().Record.Frap == "one"), Is.EqualTo(1));
+ Assert.That(twoOrFour.Count(x => x.Get().Record.Frap == "four"), Is.EqualTo(1));
}
@@ -191,23 +185,23 @@ namespace Orchard.Tests.ContentManagement {
Assert.That(gammas.Count(), Is.EqualTo(1));
Assert.That(deltas.Count(), Is.EqualTo(1));
- Assert.That(gammas.AsPart().Single().Record.Frap, Is.EqualTo("the frap value"));
- Assert.That(deltas.AsPart().Single().Record.Quux, Is.EqualTo("the quux value"));
+ Assert.That(gammas.AsPart().Single().Record.Frap, Is.EqualTo("the frap value"));
+ Assert.That(deltas.AsPart().Single().Record.Quux, Is.EqualTo("the quux value"));
}
[Test]
public void OrderMaySortOnJoinedRecord() {
AddSampleData();
- _manager.Create("gamma", init => { init.Record.Frap = "one"; });
- _manager.Create("gamma", init => { init.Record.Frap = "two"; });
- _manager.Create("gamma", init => { init.Record.Frap = "three"; });
- _manager.Create("gamma", init => { init.Record.Frap = "four"; });
+ _manager.Create("gamma", init => { init.Record.Frap = "one"; });
+ _manager.Create("gamma", init => { init.Record.Frap = "two"; });
+ _manager.Create("gamma", init => { init.Record.Frap = "three"; });
+ _manager.Create("gamma", init => { init.Record.Frap = "four"; });
_session.Flush();
_session.Clear();
var ascending = _manager.Query("gamma")
.OrderBy(x => x.Frap)
- .List().ToList();
+ .List().ToList();
Assert.That(ascending.Count(), Is.EqualTo(5));
Assert.That(ascending.First().Record.Frap, Is.EqualTo("four"));
@@ -215,7 +209,7 @@ namespace Orchard.Tests.ContentManagement {
_session.Clear();
- var descending = _manager.Query()
+ var descending = _manager.Query()
.OrderByDescending(x => x.Frap)
.List().ToList();
@@ -227,10 +221,10 @@ namespace Orchard.Tests.ContentManagement {
[Test]
public void SkipAndTakeProvidePagination() {
AddSampleData();
- _manager.Create("gamma", init => { init.Record.Frap = "one"; });
- _manager.Create("gamma", init => { init.Record.Frap = "two"; });
- _manager.Create("gamma", init => { init.Record.Frap = "three"; });
- _manager.Create("gamma", init => { init.Record.Frap = "four"; });
+ _manager.Create("gamma", init => { init.Record.Frap = "one"; });
+ _manager.Create("gamma", init => { init.Record.Frap = "two"; });
+ _manager.Create("gamma", init => { init.Record.Frap = "three"; });
+ _manager.Create("gamma", init => { init.Record.Frap = "four"; });
_session.Flush();
var reverseById = _manager.Query()
@@ -261,26 +255,26 @@ namespace Orchard.Tests.ContentManagement {
[Test]
public void QueryShouldJoinVersionedRecords() {
AddSampleData();
- _manager.Create("gamma", init => {
+ _manager.Create("gamma", init => {
init.Record.Frap = "one";
- init.As().Record.Quad = "1";
+ init.As().Record.Quad = "1";
});
- _manager.Create("gamma", init => {
+ _manager.Create("gamma", init => {
init.Record.Frap = "two";
- init.As().Record.Quad = "2";
+ init.As().Record.Quad = "2";
});
- _manager.Create("gamma", init => {
+ _manager.Create("gamma", init => {
init.Record.Frap = "three";
- init.As().Record.Quad = "3";
+ init.As().Record.Quad = "3";
});
- _manager.Create("gamma", init => {
+ _manager.Create("gamma", init => {
init.Record.Frap = "four";
- init.As().Record.Quad = "4";
+ init.As().Record.Quad = "4";
});
_session.Flush();
_session.Clear();
- var results = _manager.Query()
+ var results = _manager.Query()
.Where(x => x.Quad == "2" || x.Quad == "3")
.OrderByDescending(x => x.Quad)
.List();
@@ -293,21 +287,21 @@ namespace Orchard.Tests.ContentManagement {
private void AddGammaVersions() {
var gamma1 = _manager.Create("gamma", init => {
- init.As().Record.Frap = "one";
- init.As().Record.Quad = "v1";
+ init.As().Record.Frap = "one";
+ init.As().Record.Quad = "v1";
});
_session.Flush();
_session.Clear();
var gamma2 = _manager.Get(gamma1.Id, VersionOptions.DraftRequired);
- gamma2.As().Record.Frap = "two";
- gamma2.As().Record.Quad = "v2";
+ gamma2.As().Record.Frap = "two";
+ gamma2.As().Record.Quad = "v2";
_session.Flush();
_session.Clear();
var gamma3 = _manager.Create("gamma", init => {
- init.As().Record.Frap = "three";
- init.As().Record.Quad = "v3";
+ init.As().Record.Frap = "three";
+ init.As().Record.Quad = "v3";
});
_session.Flush();
_session.Clear();
@@ -317,27 +311,27 @@ namespace Orchard.Tests.ContentManagement {
public void QueryShouldOnlyReturnPublishedByDefault() {
AddGammaVersions();
- var list1 = _manager.Query()
+ var list1 = _manager.Query()
.Where(x => x.Quad == "v1")
.List();
- var list2 = _manager.Query()
+ var list2 = _manager.Query()
.Where(x => x.Quad == "v2")
.List();
- var list3 = _manager.Query()
+ var list3 = _manager.Query()
.Where(x => x.Quad == "v3")
.List();
- var listOne = _manager.Query()
+ var listOne = _manager.Query()
.Where(x => x.Frap == "one")
.List();
- var listTwo = _manager.Query()
+ var listTwo = _manager.Query()
.Where