Functional

Pattern ADF Region Interaction
Pattern
Revision
1.0
Technologies JDeveloper 11g. ADF. ADF Faces. ADF Controller
Keywords Region
Forum Functional Pattern Team
Publish date April. 2009
Problem Description
There are oIten times when application interaction is required between an ADF region
and its containing page. This communication typically involves initiating navigation or
sharing application data. Since an ADF region represents a separate task Ilow deIinition
with its own boundaries. any interaction across those boundaries must be considered
careIully. Depending on the speciIic ADF region interaction use case. diIIerent
approaches are utilized to implement the desired behavior. The many diIIerent
approaches involved under the umbrella oI ADF region interaction can make selecting
the appropriate solution a challenge. This document describes each oI these ADF region
interaction approaches to assist in determining which best Iits any given situation.
II the initiation oI navigation is required. the table below identiIies the recommended
approach based on the corresponding region use case. Each approach is described Iurther
within the document.
Navigation Recommended Approach
Navigate Root View Port (Browser) Task Flow URL View Activity
Navigate Containing Page From Region Task Flow Parent Action Activity
Navigate Region From Containing Page queueActionEventÌnRegion(.) Method
Ìdentify Navigation Within Region regionNavigationListener
II data sharing is required. the table below identiIies the recommended approach based on
the corresponding region use case. Each approach is described Iurther within the
document.
Data Shared Recommended Approach
Entire Data Control Frame Task Flow Definition <data-control-scope>
Small Subset When Restarting Region
Task Flow
Task Flow Definition Ìnput Parameters
Small Subset Without Restarting Region
Task Flow
Contextual Framework Events
- or -
Task Flow Definition Ìnput Parameters for Objects Passed By
Reference
Available Outcomes Based on Current
State of Region
Region Capabilities
ADF Region Interaction 1
Functional
Implementing the Pattern
Navigation - Task Flow URL View Activity
II a region needs to initiate navigation oI the root browser page. a task Ilow URL view
activity can be used. A task Ilow URL view activity redirects the root browser page
(view port) to a speciIied URL. No matter where the URL view activity is perIormed.
even Irom within a nested region. it will always navigate the root browser page.
Task Ilow URL view activities incorporate the Iollowing metadata within a task Ilow
source Iile:
<url-view id="urlView1">
<url>http://www.google.com</url>
·/url-view~
For Iurther details on task Ilow URL view activities. reIer to the Oracle Fusion
Middleware Fusion Developer's Guide Ior Oracle ADF within Section 14.3. "Using URL
View Activities".
Navigation - Task Flow Parent Action Activity
II a region needs to initiate navigation oI the parent page. a task Ilow parent action
activity can be used. Parent action activities aren`t limited to only initiating navigation
Ior the root browser page like task Ilow URL view activities. They also have an
advantage in that iI the outcome speciIied Ior navigation oI the parent task Ilow is not
Iound at runtime. optionally a diIIerent outcome can be speciIied Ior an alternate
navigation back within the same region.
ADF Region Interaction 2
Functional
Task Ilow parent action activities incorporate the Iollowing metadata within a task Ilow
source Iile:
<parent-action id="Exit">
<parent-outcome>globalHome</parent-outcome>
·/parent-action~
In the customer-registration-task-Ilow shown above. the activity labeled 'Exit¨ is a parent
action activity. The customer-registration-task-Ilow is utilized as a region on the register
page within the adIc-conIig shown below. II the 'exitRegistration¨ outcome is perIomed
within the customer-registration-task-Ilow region. the parent action activity will be
executed. It will initiate navigation within the adIc-conIig parent task Ilow using the
outcome 'globalHome¨ as speciIied within its metadata. The 'home¨ page within the
adIc-conIig will then be displayed.
ADF Region Interaction 3
Functional
For Iurther details on task Ilow parent action activities. reIer to the Oracle Fusion
Middleware Fusion Developer's Guide Ior Oracle ADF within Section 14.9. "Using
Parent Action Activities". Additional inIormation can also be Iound in section 16.1.6
'How to Trigger Navigation oI an ADF Region's Parent Task Flow¨. Example used
taken Irom the Oracle Fusion Store Front Demo Application.
Navigation - queueActionEventInRegion(.) Method
When a page needs to initiate navigation within one oI its contained regions. the
recommended approach is to utilize the queueActionEventInRegion(.) method located
within the oracle.adI.view.rich.component.rich.Iragment.RichRegion!class. The
queueActionEventInRegion(.) method queues an ActionEvent to behave as iI it was
queued on a UIXCommand component existing inside the region or nested region.
For example. the buttons on the page shown below navigate the contained region between
the Employees and Departments page Iragments.
ADF Region Interaction 4
Functional
The contained region`s task Ilow deIinition includes the 'Employees¨ and 'Departments¨
view activities along with the control Ilow between them. The
queueActionEventInRegion(.) method initiates the 'employees¨ or 'departments¨
outcome depending on which button is selected. Based on the region`s current state. the
buttons are disabled accordingly using region capabilities.
The Java methods perIormed by the 'Employees¨ and 'Departments¨ buttons on the
parent page might be similar to the Iollowing:
private String region = "taskf1";
private String outcome = "departments";
public void handleOuterPageActionDepartments(ActionEvent actionEvent) {
region = "taskf1";
outcome = "departments";
handleOuterPageAction(actionEvent);
ADF Region Interaction 5
Functional
}

public void handleOuterPageActionEmployees(ActionEvent actionEvent) {
region = "taskf1";
outcome = "employees";
handleOuterPageAction(actionEvent);
}
public void handleOuterPageAction(ActionEvent actionEvent) {
UIComponent regionComponent =
actionEvent.getComponent().findComponent(region);
if (regionComponent instanceof RichRegion) {
FacesContext fc = FacesContext.getCurrentInstance();
ExpressionFactory ef =
fc.getApplication().getExpressionFactory();
ELContext elc = fc.getELContext();
MethodExpression me = ef.createMethodExpression(elc,
"#{ADFRegionNavigationBean.getOutcomeExpression}", String.class, new
Class[] { });
((RichRegion)regionComponent).queueActionEventInRegion(me,
null, null, false, -1, -1, PhaseId.ANY_PHASE);
}
}
public String getOutcomeExpression() {
return outcome;
}
When passing a String to identiIy the region or nested region component to a
IindComponent() method the Iollowing syntax can be used ('R1¨÷region. 'R2¨÷nested
region¨. etc.):
! 'R1:R2:R3.¨ looks Ior R3 relative to the button initiating the ActionEvent. This
syntax wouldn`t work iI the button were located inside R1.
! ':R1:R2:R3.¨ always looks Ior R3 starting Irom the root oI the component tree.
ThereIore. this syntax should always work.
For Iurther details on the queueActionEventInRegion(.) method. reIer to the Initiate
Control Flow within a Region Irom its Parent Page pattern document on OTN or the
oracle.adI.view.rich.model.RegionModel class.
ADF Region Interaction 6
Functional
Navigation - regionNavigationListener
An ·aI:region~ regionNavigationListener is used iI a containing page or page Iragment
needs to identiIy when navigation occurs within a region. When the page Iragment
displayed within a region changes an oracle.adI.view.rich.event.RegionNavigationEvent
is raised. The event provides both the old and new page Iragment viewIds. Then the
RegionNavigationEvent triggers the regionNavigationListener EL method reIerence
speciIied on the ·aI:region~ tag. iI any. ThereIore. any application logic required when
the region navigation can be incorporated into its regionNavigationListener.
For example. an ·aI:region~ regionNavigationListener is required iI the dynamic region
within an ·aI:popup~ provides the ability to 'exit¨ via navigation Ilow to task Ilow
return activities. The regionNavigationListener identiIies when the region 'exits¨ so the
·aI:popup~ can be programmatically dismissed without the user manually selecting its
close icon. Using the employee-update task Ilow deIinition below Ior the region. its
·aI:region~ regionNavigationListener should programmatically hide the ·aI:popup~ aIter
executing either the 'save` or 'cancel¨ task Ilow return activities to exit the task Ilow
deIinition.
The regionNavigationListener would be speciIied on the ·aI:region~ UI component as
shown below.
<af:popup id="popupRegion1" contentDelivery="lazyUncached" launcherVar="source"
eventContext="launcher">
<af:setPropertyListener from="#{source.attributes.employee}"
to="#{pageFlowScope.employeeld}" type="popupFetch"/>
<af:setPropertyListener
from="#{pageFlowScope.PopupDynamicRegionBean.popupTaskFlowld}"
to="#{pageFlowScope.PopupDynamicRegionBean.dynamicTaskFlowld}"
ADF Region Interaction 7
Functional
type="popupFetch"/>
<af:panelWindow id="window" title="Employee Popup">
<af:region value="#{bindings.dynamicRegion1.regionModel}" id="dynam1"
regionNavigationListener="#{pageFlowScope.PopupDynamicRegionBean.navigationListener}"/>
</af:panelWindow>
.
</af:popup>
The regionNavigationListener Java method would be similar to the Iollowing. The
method identiIies when the region exists via task Ilow return activity ('newViewId ÷÷
null¨) and then programmatically hides the ·aI:popup~.
public void navigationListener(RegionNavigationEvent event){
String newViewId = event.getNewViewId();

// null new view id indicates the taskflow has ended
if (newViewId == null) {
RichRegion region = (RichRegion)event.getSource();
// look for the parent popup
boolean found = false;
UIComponent component = region.getParent();
do {
if (component instanceof RichPopup) {
found = true;
} else {
component = component.getParent();
if (component == null) {
break;
}
}
} while (!found);
if (found) {
ADF Region Interaction 8
Functional
// send script to the client to hide the popup
FacesContext context = FacesContext.getCurrentInstance();
Service.getRenderKitService(context,
ExtendedRenderKitService.class).addScript(context,
"var popup = AdfPage.PAGE.findComponent('" +
component.getClientId(context) +
"'); popup.hide();");
}
}
}
For Iurther details on the ·aI:region~ tag. reIer to the Oracle ADF Faces ·aI:region~ Tag
Documentation. Example used taken Irom the Embedding Regions Inside Popup
Windows pattern document on OTN.
Share Data - Task Flow Definition <data-control-scope>
II a region should share all the same application data controls as the task Ilow oI its
parent page or page Iragment. the recommended implementation approach utilizes the
task Ilow deIinition ·data-control-scope~ property. By setting the region task Ilow
deIinition ·data-control-scope~ property to 'shared¨ all the same data controls oI the
parent page task Ilow will be used by the region. The task Ilow deIinition ·data-control-
scope~ property can also be set to 'isolated¨ iI the data controls oI the region should
remain completely separate. DeIault value oI the ·data-control-scope~ property is
'shared¨.
Data controls cannot be shared between two diIIerent task Ilows residing within two
diIIerent transactions. II the region and its parent page or page Iragment are part oI the
same transaction or one/both don`t reside within any transaction. data controls can be
shared. A region can`t share the data controls oI another region. only its parent page or
page Iragment. However. multiple regions can share the data controls oI their same
containing page or page Iragment. Also. nested regions can share the data controls oI
their parent regions to any depth.
Setting the task Ilow deIinition ·data-control-scope~ property explicitly to 'shared¨
incorporates the Iollowing metadata within a task Ilow deIinition source Iile:
<data-control-scope>
<shared/>
</data-control-scope>
ADF Region Interaction 9
Functional
For Iurther details on the task Ilow deIinition ·data-control-scope~ property. reIer to the
Oracle Fusion Middleware Fusion Developer's Guide Ior Oracle ADF within Section
15.3. "Sharing Data Control Instances".
Share Data - Task Flow Definition Input Parameters
A region cannot directly reIerence the binding values oI its containing page or page
Iragment. The same holds true Ior a containing page or page Iragment being unable to
directly reIerence binding values within a region. In order to share a small subset oI
values between the two. task Ilow deIinition input parameters can be speciIied. Task
Ilow deIinition input parameters are typically used as a means oI sharing a small subset
oI data with a region when the values are well known and EL-accessible to the containing
page or page Iragment. All primitive value input parameters are passed to a region by
value. All obiect input parameters are passed to a region by reIerence. Each time the
ADF task Ilow within a region is restarted. Iresh input parameter values will be passed.
Input parameters are very useIul iI a regions task Ilow must be restarted when any oI the
values passed to the region change. A regions taskFlow binding ReIresh and
ReIreshCondition attributes can also be useIul to ensure the region will be reIreshed and
restarted under the appropriate conditions to accept new input parameter values. When a
taskFlow binding ReIresh attribute is set to 'iINeeded¨. the region will be reIreshed and
restarted automatically whenever an input parameter value changes.
For example. a page might contain a table oI employees and a region Ior enrolling the
selected employee in beneIits. Changing the selected employee requires restarting the
beneIits enrollment region Irom the beginning Ior the newly selected employee.
ThereIore. by passing the value oI the selected employee as an input parameter to the
region and setting its taskFlow binding ReIresh÷¨iINeeded¨ the region will be reIreshed
and restarted automatically whenever the selected employee changes.
When obiect instances are passed as a region input parameter. they will always be passed
by reIerence. Task Ilow call activities support overriding the passing oI obiect instance
input parameters by reIerence to passing them by value. Regions; however. do not
provide the same override capability. ThereIore. iI the region updates a mutable obiect
instance aIter it`s passed as an input parameter. the updated obiect instance values will be
visible to the parent page or page Iragment. Likewise. any updates to the passed obiect
instance by the parent page or page Iragment will then be automatically reIlected back
within the region without restarting the corresponding ADF task Ilow. Using this
approach. care should be taken to ensure values passed by reIerence are updated
appropriately. This is not a recommend approach to pass values back to the parent.
For Iurther details on task Ilow deIinition input parameters. reIer to the Oracle Fusion
Middleware Fusion Developer's Guide Ior Oracle ADF within Section 15.2. "Passing
Parameters to an ADF Bounded Task Flow" and Section 16.1.7. "What You May Need to
Know About ReIreshing an ADF Region".
ADF Region Interaction 10
Functional
Share Data - Contextual Framework Events
Contextual Iramework events are oIten used Ior notiIications between an ADF region and
it`s containing page or page Iragment. It`s also possible Ior a contextual Iramework
event to include a payload oI data to share. Contextual Iramework events are
recommended iI the ADF region interaction use case Iits the Iollowing two conditions:
! NotiIication occurs aIter the regions corresponding ADF task Ilow has started
! Changes in any data shared by the notiIication shouldn't restart the regions
corresponding ADF task Ilow
For example. a page might contain a region providing a 360-degree customer view. The
regions page Iragment displays a separate tab Ior the customers products purchased.
support calls. and contact inIormation. A second region on the same parent page provides
a tree to display one oI the three tabs within the 360-degree customer view region. II the
'Support Calls¨ node in the tree is selected. the 360-degrees customer view region will
display the Support Calls tab. The 360-degree customer view regions task Ilow isn`t
restarted with a new customer. It simply responds to a contextual Iramework event to
display a speciIied tab.
Contextual Iramework events can be raised by the execution oI action bindings. method
action bindings. value attribute bindings. tree bindings. table bindings. or list bindings.
The table below describes when each binding type raises contextual Iramework events.
Binding Type When ContextuaI Framework Event Raised
Action and MethodAction Bindings Contextual framework event is raised when the action or meth-
od is executed. Method result forms the contextual framework
event payload of data to share.
Value Attribute Bindings Contextual framework event is raised after the attribute is set
successfully. Can also be triggered by navigational changes.
Range Bindings (Tree, Table, List) Contextual framework event is raised after the currency change
has succeeded. Can also be triggered by navigational changes.
Once raised. contextual Iramework events are passed to their binding container Ior
dispatch. The binding container`s contextual Iramework event dispatcher checks the
event map deIined within the binding containers page deIinition Iile Ior interested
consumers. AIter checking the same binding container where the contextual Iramework
event was raised. event propagation is then delegated to check Ior consumers within the
parent binding container event map. This process continues until the topmost parent
binding container is reached. AIter the topmost binding container is reached. the
contextual Iramework event is then dispatched to child region binding containers to check
event maps deIined with an event producer set to wildcard "*". II interested consumers
are identiIied. the contextual Iramework event is delivered to the consumers at the end oI
the ADF liIecycle. Contextual Iramework events are always consumed by methods.
ADF Region Interaction 11
Functional
Event Producer
Contextual Iramework events are produced by page deIinition action bindings. method
action bindings. value attribute bindings. tree bindings. table bindings. or list bindings. In
the example below. the queueHelpTopic event is deIined within the setHelpId
methodAction binding. When the methodAction binding is executed. the contextual
Iramework event will be raised. The methodAction passes in a 'usage¨ parameter and
returns a corresponding HelpId value. The HelpId methodAction result will be placed
within the contextual Iramework event payload and passed along to any event consumers.
<methodAction id="setHelpld"
lnstanceName="LookupServiceAMDataControl.dataProvider"
DataControl="LookupServiceAMDataControl"
RequiresUpdateModel="true" Action="invokeMethod"
MethodName="setHelpld" lsViewObjectMethod="false"
ReturnName="LookupServiceAMDataControl.methodResults.setHelpld_LookupServiceAMDataC
ontrol_dataProvider_setHelpld_result">
<NamedData NDName="usage" NDValue="CREATE_PROFlLE"
NDType="java.lang.String"/>
<events xmlns="http://xmlns.oracle.com/adfm/contextualEvent">
<event name="queueHelpTopic"/>
</events>
</methodAction>
The setHelpId method executed by the methodAction binding might be similar to the
Iollowing:
public Long setHelpId(String usage){
ViewObjectImpl helpVO = this.getHelpTranslations();
ViewCriteria vc = helpVO.createViewCriteria();
ViewCriteriaRow vcr = vc.createViewCriteriaRow();
vcr.setAttribute("HelpUsage", "=" + usage);
vc.addElement(vcr);
RowIterator helpItr =
helpVO.findByViewCriteria(vc, -1,
ViewObject.QUERY_MODE_SCAN_DATABASE_TABLES);
Row helpRow = helpItr.first();
ADF Region Interaction 12
Functional
return (Long)helpRow.getAttribute("HelpId");
}
Event Map
Contextual Iramework event maps relate together the producer and consumer oI a given
event. The consumer handler will be a speciIied method. II the producer or consumer is
not contained within a region. the 'region¨ attribute is not needed within the event map
·producer~ and ·consumer~ elements. In the example below. the eventMap relates the
queueHelpTopic event producer to its consumer. The producer is identiIied as any
region. The consumer is identiIied as the helpPageDeI.IindHelpTextById method
binding within the helptaskIlow1 region. The helpTopicId parameter oI the consumer
method is assigned the value oI the contextual Iramework event payload passed Irom the
producer.
<eventMap xmlns="http://xmlns.oracle.com/adfm/contextualEvent">
<event name="queueHelpTopic">
<producer region="*">
<consumer region="helptaskflow1"
handler="helpPageDef.findHelpTextByld">
<parameters>
<parameter name="helpTopicld" value="${payLoad}"/>
</parameters>
</consumer>
</producer>
</event>
</eventMap>
Instead oI manually creating page deIinition event map metadata. the JDeveloper Event
Map Editor can also be used to greatly simpliIy the procedure. To access the Event Map
Editor. add an eventMap element to a page deIinition in JDeveloper. Then in the
eventMap element Property Inspector select the Edit toolbar button.
ADF Region Interaction 13
Functional
The Event Map Editor dialog will be displayed to Edit an existing event or Add a new
event within the event map.
AIter selecting the Event Map Editor Edit or Add toolbar buttons. the ModiIy Event Map
Entry dialog is displayed. It makes modiIying or creating event map metadata easier by
using dropdowns Ior the selection oI the event. its producer. and its consumer. The
dropdowns incorporate values Irom the current page deIinition. but also the page
deIinitions oI any child regions. The dropdowns; however. currently don`t incorporate
values Irom any dynamic regions. Those must be entered manually.
ADF Region Interaction 14
Functional
Event Consumer
The contextual event consumer will always be a method. Parameter values oI the method
can be assigned by the event map using the contextual Iramework event payload. In the
example below. the contextual Iramework event consumer is the IindHelpTextById
methodAction binding. It passes in a helpTopicId and returns the corresponding
HelpText. The value oI the helpTopicId parameter is assigned within the event map as
the value oI the contextual Iramework event payload. The value oI the payload was set
when the event was raised by the result oI the producer method.
<methodAction id="findHelpTextByld"
Action="invokeMethod" MethodName="findHelpTextByld"
lsViewObjectMethod="false"
DataControl="LookupServiceAMDataControl"
lnstanceName="LookupServiceAMDataControl.dataProvider"
ReturnName="LookupServiceAMDataControl.methodResults.findHelpTextByld_LookupServiceA
MDataControl_dataProvider_findHelpTextByld_result">
<NamedData NDName="helpTopicld" NDValue="" NDType="java.lang.Long"/>
</methodAction>
The IindHelpTextId method identiIied as the event consumer might be similar to the
Iollowing:
public String findHelpTextById(Long helpId){
ADF Region Interaction 15
Functional
ViewObjectImpl helpVO = this.getHelpTranslations();
ViewCriteria vc = helpVO.createViewCriteria();
ViewCriteriaRow vcr = vc.createViewCriteriaRow();
vcr.setAttribute("HelpTranslationsId", "=" + helpId);
vc.addElement(vcr);
RowIterator helpItr =
helpVO.findByViewCriteria(vc, -1,
ViewObject.QUERY_MODE_SCAN_DATABASE_TABLES);
Row helpRow = helpItr.first();
return helpRow.getAttribute("HelpText").toString();
}
For Iurther details on implementing contextual Iramework events. reIer to the Oracle
Fusion Middleware Fusion Developer's Guide Ior Oracle ADF within Section 26.5.
"Creating Contextual Events". Example used taken Irom the Oracle Fusion Store Front
Demo Application.
Share Data - Region Capabilities
Region capabilities can be used by a parent page to identiIy the current outcomes
available based on a regions current state. The current capabilities oI a region might
dictate how the parent page responds (e.g.: displaying or enabling diIIerent icons and
buttons).
In the Iollowing example. the 'Employees¨ and 'Departments¨ buttons on the parent
page navigate between the Employees and Departments view activities within the region.
Based on the regions current state. either the 'Employees¨ or 'Departments¨ button
should be disabled. For this to occur automatically. the buttons are assigned a region
capability EL Expression Ior their disabled property.
ADF Region Interaction 16
Functional
When each button is selected. the queueActionEventInRegion(.) method is executed to
initiate the corresponding 'employees¨ or 'departments¨ outcome within the region.
Once the region navigates to the new view activity. the buttons respond automatically by
disabling as appropriate based on the regions state change.
Region capabilities require the availability oI the speciIied regions regionModel through
an EL Expression. An EL expression should never access bindings in any binding
container other than the current binding container (e.g.: #¦bindings.taskIlowdeIinition1}).
ThereIore in cases where a regionModel cannot be reached within the current binding
container (e.g.: nested regions). region capabilities cannot be used. This is because a
nested regions nested binding container might not exist yet or might have already been
released.
ADF Region Interaction 17
Functional
The region capabilities APIs reside within the oracle.adI.view.rich.model.RegionModel
class. It consists oI the Iollowing methods:
Region CapabiIities Method Description
getCapabilities() Returns the set of outcomes (capabilities) available based on
the current state of a given region. Each region capability is
represented as a String.
EL Expression syntax:
#{bindings.taskFlowBinding.regionModel.capabilities}
EL Expression returns "true¨ if the outcome specified is avail-
able based on the given regions current state:
#bindings. taskFlowBinding.regionModel.capabilities['outcome']}
getActions() Returns the list of valid RegionActions based on the current
state of a given region. A RegionAciton is a combination of the
outcome and display name of the associated control flow case.
There will be a corresponding RegionAction outcome for every
outcome returned by getCapabilities().
EL Expression syntax:
#{bindings. taskFlowBinding.regionModel.actions}
In the example described previously. the 'Employees¨ button disabled attribute was
assigned the region capabilities EL Expression shown below. It disables the
'Employees¨ button iI the 'departments¨ outcome is currently available within the
taskIlowdeIinition1 region (i.e.- the 'Departments¨ button should be enabled and the
'Employees¨ button disabled).
<af:commandButton text="Employees"
disabled="#{bindings.taskflowdefinition1.regionModel.capabilities['departments']}" />
For Iurther details on region capabilities. reIer to the Initiate Control Flow within a
Region Irom its Parent Page pattern document on OTN or the
oracle.adI.view.rich.model.RegionModel class.
ADF Region Interaction 18
Functional
Related Patterns
! Embeddng Regions Inside Popup Windows
! Initiate ontrol Flow Within a Region From its Parent Page
Related Documentation
Documentation Related to the Pattern Artifacts
Task Flow URL View Activities Section 14.3. "Using URL View
Activities" in the Fusion Developer's
Guide Ior Oracle ADF
Task Flow Parent Action Activities Section 14.9. "Using Parent Action
Activities" in the Fusion Developer's
Guide Ior Oracle ADF
·aI:region~ Tag Oracle ADF Faces ·aI:region~ Tag
Documentation.
Task Flow DeIinition ·data-control-
scope~
Section 15.3. "Sharing Data Control
Instances" in the Fusion Developer's
Guide Ior Oracle ADF
Task Flow DeIinition Input Parameters Section 15.2. "Passing Parameters to an
ADF Bounded Task Flow" in the Fusion
Developer's Guide Ior Oracle ADF
taskFlow Binding ReIresh and
ReIreshCondition Attributes
Section 16.1.7. "What You May Need to
Know About ReIreshing an ADF Region"
in the Fusion Developer's Guide Ior Oracle
ADF
Contextual Framework Events Section 26.5. "Creating Contextual
Events" in the Fusion Developer's Guide
Ior Oracle ADF
RegionModel oracle.adI.view.rich.model.RegionModel
class
ADF Region Interaction 19

-%'-%2+-S.-S.+#[%-)&?&%+>-%'-'#)<-&#&%&(%&#3-#(/&3(%&'#A'.J-/&+=($%&/&%<-$(#-@+-"0+>C--9-%(0E-A)'=-I.'=0+./'0)123)4$50)67&$#$&8 GA-(-.-6(3+K/&+=-6'.''%-@.-6(3+-)&E+-%(0E-A)'=-I.+$%0-%2+-.+#%-%(0E-A)'=-&0-#'%A'"#>-(%-.+3&'#-#++>0-%'-&#&%&(%+-#(/&3(%&'#-'A-%2+-6(.+#%-($%&'#-($%&/&%&+0-(.+A+.($%&'#--\ .-%2+-.-#(/&3(%&'#-'A-%2+-6(.'?-=&%2&#-(-#+0%+>-."#%&?+8-'6%&'#())<-(->&AA+.+#%-6(3+8-(-%(0E-A)'=-6(.-=2+.J-/&+=-($%&/&%<-&0-6+.6'.'=0+.''%-@.->+%(&)0-'#-%(0E-A)'=-I.#(%+#(/&3(%&'#-@($E-=&%2&#-%2+-0(?+-.(*'$.U0-V"&>+-A'.-).+#%-'"%$'?+-$(#-@+-06+$&A&+>-A'.+>&.'=0+.+#%-($%&'#($%&/&%<-$(#-@+-"0+>C--*(.+3&'#C-- 95!-.JC--M'-?(%%+.A'.$+-A&)+N !"#$%&'()*'+..%L-%'-(-06+$&A&+>-I.!"#$%&'#() +:34&:&*.($)+-95!-=&%2&#-D+$%&'#-7WCX8-YI0&#3-I.-6(3+8-(-%(0E-A)'=-I.-"#$.?+>8+/+#-A.&-* !"#$%"&$'()*)+".-A".<&$8.+-%2+-I.(%+-%2+-A'))'=&#3-?+%(>(%(-=&%2&#-(-%(0E-A)'=0'".-6(3+C 1(0E-A)'=-I.''%-@.J-/&+=-($%&/&%&+0C--12+<-()0'-2(/+-(#(>/(#%(3+-&#-%2(%-&A-%2+-'"%$'?+-06+$&A&+>-A'.($)+-!"0&'#T&>>)+=(.J-/&+=-($%&/&%<-.+-!"0&'#-5+/+)'6+..'()/-0 **!"#$01223455)))67887$(698:!5"#$0 OP".-(#-()%+.+3&'#8-&%-=&))-()=(<0-#(/&3(%+-%2+-.+3&'#-G#%+.J-/&+=-($%&/&%&+08-.''%-@.J-/&+=-($%&/&%&+0-&#$'./'0)9":5(&)67&$'()67&$#$&8 GA-(-.%2+.+3&'#-#++>0-%'-&#&%&(%+-#(/&3(%&'#-'A-%2+-.JZ&+=-9$%&/&%&+0YC !"#$%"&$'()*)+".)Q/&+=R !'.-).'=0+.

!"#$%&'#() 1(0E-A)'=-6(.+3&'#-'#-%2+-.Q.$@8:(!53.+#%-($%&'#-($%&/&%&+0-&#$'.-=>'2-0 **!3.Q.(%&'#Q%(0EQA)'=-&0-"%&)&F+>-(0-(-.#(<2%8"298:(0 OP6(.($%&'#--X .+3&0%.+3&0%.6'.+#%-%(0E-A)'=-"0&#3-%2+'"%$'?+-]3)'@()`'?+_-(0-06+$&A&+>-=&%2&#-&%0-?+%(>(%(C--12+-]2'?+_-6(3+-=&%2&#-%2+(>A$Q$'#A&3-=&))-%2+#-@+->&06)(<+>C 95!-.$+-A&)+N !3.+3&0%+.(%&'#Q%(0EQA)'=-.+3&'#-G#%+.A'?+>=&%2&#-%2+-$"0%'?+.+#%-($%&'#-($%&/&%<-=&))-@++^+$"%+>C--G%-=&))-&#&%&(%+-#(/&3(%&'#-=&%2&#-%2+-(>A$Q$'#A&3-6(.(%&'#_-'"%$'?+-&0-6+.+3&0%.+3&0%.6(3+-=&%2&#-%2+-(>A$Q$'#A&3-02'=#-@+)'=C--GA-%2+-]+^&%.#(<2%8"298:(07$8?.Q.(%+-%2+-A'))'=&#3-?+%(>(%(-=&%2&#-(-%(0E-A)'=0'".(%&'#Q%(0EQA)'=-02'=#-(@'/+8-%2+-($%&/&%<-)(@+)+>-]H^&%_-&0-(-6(.#(<2%.+3&'#8-%2+-6(.+#%Q($%&'#R G#-%2+-$"0%'?+.+#%($%&'#-($%&/&%<C--12+-$"0%'?+.92'8<*'+.

+#%-($%&'#-($%&/&%&+08-.&$2CA.+3&'#KdL--?+%2'>-)'$(%+>=&%2&#-%2+-'.+-!.'?-%2+-S.+$'??+#>+>-(66.-A".+3&'#U0-*(.&$2C$'?6'#+#%C.+3&'#C-!'.U0-V"&>+-A'.'($2-&0-%'-"%&)&F+-%2+-B"+"+9$%&'#H/+#%G#.+3&'#-G#%+.+-!"0&'#-5+/+)'6+.?(%&'#-$(#-()0'-@+-A'"#>-&#-0+$%&'#-7bC7Cb]`'=-%'-1.($)+-!"0&'#T&>>)+=(.-M(/&3(%&'#-'A-(#-95!-.($%&'#--W .%2+.+A+.+#%-1(0E-!)'=_C--H^(?6)+-"0+>%(E+#-A.+3&'#08-%2+.->+%(&)0-'#-%(0E-A)'=-6(.+3&'#KdL-?+%2'>-B"+"+0-(#-9$%&'#H/+#%-%'-@+2(/+-(0-&A-&%-=(0B"+"+>-'#-(-IGe:'??(#>-$'?6'#+#%-+^&0%&#3-&#0&>+-%2+-.-+^(?6)+8-%2+-@"%%'#0-'#-%2+-6(3+-02'=#-@+)'=-#(/&3(%+-%2+-$'#%(&#+>-.+#%-9$%&'#-9$%&/&%&+0YC--9>>&%&'#()-&#A'.!"#$%&'#() !'.-%'-%2+-S.+3&'#-@+%=++#%2+-H?6)'<++0-(#>-5+6(.<5<567&$'(=#5(&>(25%$'(?@A)B5&C'D c2+#-(-6(3+-#++>0-%'-&#&%&(%+-#(/&3(%&'#-=&%2&#-'#+-'A-&%0-$'#%(&#+>-.-#+0%+>-.+3&'#!$)(00C--12+B"+"+9$%&'#H/+#%G#.%?+#%0-6(3+-A.($)+-!"0&'#-D%'.(3?+#%0C 95!-.(3?+#%C.-S.&$2.'#%-5+?'-966)&$(%&'#C !"#$%"&$'()*).&33+.($)+-95!-=&%2&#-D+$%&'#-7WCa8-YI0&#3*(.+3&'#-'.($)+C(>AC/&+=C.

3 ((((.&%/012.?+>-@<-%2+-]H?6)'<++0_-(#>-]5+6(.&%/012.%?+#%0_/&+=-($%&/&%&+0-()'#3-=&%2-%2+-$'#%.3 ((((:%*79'.#7(:%*79'.($%&'#--g .6'(-(.+3&'#[0-%(0E-A)'=->+A&#&%&'#-&#$)">+0-%2+-]H?6)'<++0_-(#>-]5+6(.!"#$%&'#() 12+-$'#%(&#+>-.+3&'#KdL-?+%2'>-&#&%&(%+0-%2+-]+?6)'<++0_-'.-%'-%2+-A'))'=&#3N !"#$%&'()&"#*+("'+#.3 !"#$%&'()&"#*+(.%?+#%0_'"%$'?+->+6+#>&#3-'#-=2&$2-@"%%'#-&0-0+)+$%+>C--f(0+>-'#-%2+-.A'.+3&'#[0-$".4&5.*@$'*&A3 95!-.4&'"<%+'=5&#.7'!%"&6'*&/.+#%-0%(%+8-%2+@"%%'#0-(.7'!%"&6'*&/.6'(-(.+3&'#-$(6(@&)&%&+0C 12+-4(/(-?+%2'>0-6+.+->&0(@)+>-($$'.-]>+6(.>&#3)<-"0&#3-.*@$'*&A(B (((("'+#.+#%-6(3+-?&32%-@+-0&?&)(.4&5.3 !489#5($.*>'!%"&6'*&/?=5&#.*(-(.*@$'*&(%5&#.%?+#%0_-@"%%'#0-'#-%2+6(.')-A)'=-@+%=++#-%2+?C---12+B"+"+9$%&'#H/+#%G#.+3&'#-G#%+.4&'"<%+'=5&#.*(-(..*?%5&#.

+3&'#T'>+)-$)(00C 95!-.4&'"<%+'=5&#.6!.*&'K&?A3 ((((((((M'&:./)*'*0+123'3'4%0$)*56'*07*#'($)*".*A3 ((((#1(?"'+#.9<'8!=>8!=>8!?&.*C.4&5.7@K!"'//#.-.X-0%(.*'*&("'+#.4&5.*@$'*&A(B ((((EFG.7_h.*?=5&#.*&'K&(15(-(J%5'/G.+3&'#-A.($)+C(>AC/&+=C.6!.'6!9.-%2+'.EC !'.!"#$%&'#() C (((( !489#5($.4&'"<%+'=5&#.6'(-(.+3&'#-$'?6'#+#%-%'-(A&#>:'?6'#+#%KL-?+%2'>-%2+-A'))'=&#3-0<#%(^-$(#-@+-"0+>-K].-A".*@$'*&(%5&#.4&'"<%+'=5&#.\N.-.*?A(B (((("'&4"*(.D''/.6'@K!"'//#.6!.')-!)'=-=&%2&#-(-.'($)*-).*P%$#+%&#.''%-'A-%2+-$'?6'#+#%-%.*A(B ((((((((J%5'/G."D('1(-( 15H+'&=!!9#5%&#.&%/012.*J%5&.X-.7N.+3&'#-G#%+.++C12+.6'@K!"'//#.*'*&?"'+#.+3&'#-'.*@6!9.+-)'$(%+>-&#0&>+-.*(-(.D''/?=5&#.+A+.*@$'*&A3 C !489#5($.*G.6!.*&'K&('95(-(15H+'&@LG.'8! *3998!*3998!:.*(6'(-('1H5"'%&'M'&:.*'*&(#*/&%*5'.\N.*'*&(-( %5&#.'?-%2+-.+3&'#KdL-?+%2'>8-.*@$'*&A(B (((("'+#.($%&'#--b .*&'K&H+'&G4""'*&F*/&%*5'?A3 ((((((((@K!"'//#.->+%(&)0-'#-%2+-B"+"+9$%&'#H/+#%G#.*@$'*&(%5&#.OB=>JI'+#.\_h#+0%+>.*'*&?AH1#*7G.7N.1(I#5:I'+#.N()&"#*+H59%//N(*'R( G9%//ST(B(CA3 !!!!!!!!""#$%&#'($)*+.7@K!"'//#.*?AH+'&@K!"'//#.<'7@14ABC?D4E5+F !!!!G C !489#5()&"#*+(+'&.-%'-%2+-G#&%&(%+:'#%.6'3 C c2+#-6(00&#3-(-D%.+#%-*(3+-6(%%+.-#+0%+>-.+A'.3 ((((.Xd_-i-)''E0-A'.#7(:%*79'.&#3-%'-&>+#%&A<-%2+-.+3&'#_8-+%$dLN ! ! ].%2+.E-&A-%2+-@"%%'#-=+.+3&'#8-].4&5.*J%5&.+)(%&/+-%'-%2+-@"%%'#-&#&%&(%&#3-%2+-9$%&'#H/+#%C--12&00<#%(^-='")>#[%-='.#7(:%*79'."D?A3 ((((((((@LG.*@$'*&H+'&G.*Q'%*H+'&.7C ]N.%&#3-A.'?-&%0-*(.*G.Xd_-i-()=(<0-)''E0-A'.4&5.*?'95N( .6!.#->'$"?+#%-'#-S1M-'.+8-%2&0-0<#%(^-02'")>-()=(<0-='.3 ((((:%*79'.&$2C?'>+)C.*?%5&#.

-G8"#9(-*** *****(&(<2H8<2(>2.(??(%&$())<-2&>+-%2+-O(AN6'6"6R-(A%+.+3&'#M(/&3(%&'#J&0%+#+.!"#$%&'#() !"#$%"&$'()*):5%$'(!"#$%"&$'(3$.+3&'#C--c2+#-%2+-6(3+-A.-KLG8"#9(6.(3?+#%#++>0-%'-&>+#%&A<-=2+#-#(/&3(%&'#-'$$".7(N$8)O983(6(:3$8D((P+M-*2D3(.A4G(2I#83(#2DJ'G2(<(#*A#8:.+3&'#=&%2&#-(#-O(AN6'6"6R--6.+3&'#M(/&3(%&'#J&0%+#+..-&>+#%&A&+0-=2+#-%2+-.<6+D<.:'9B(7'8<Q(.7(N$8)O983(6I83"3CD<.'/&>+0-%2+-(@&)&%<-%'-]+^&%_-/&(-#(/&3(%&'#-A)'=-%'-%(0E-A)'=.+3&'#M(/&3(%&'#H/+#%&0-.+3&'#M(/&3(%&'#J&0%+#+.GSN$8)P+M**********28.+3&'#M(/&3(%&'#J&0%+#+.0-=&%2&#-(-.+3&'#R-.-383"3N(291-50***************** *****!.'/&>+0-@'%2-%2+-')>-(#>-#+=-6(3+-A.-KL3.($%&'#--j .-='")>-@+-06+$&A&+>-'#-%2+-O(AN."<91(#.EDF<9.-?(#"())<-0+)+$%&#3-&%0$)'0+-&$'#C--I0&#3-%2+-+?6)'<++Q"6>(%+-%(0E-A)'=->+A&#&%&'#-@+)'=-A'.(??(%&$())<->&0?&00+>-=&%2'"%-%2+-"0+.-$.-$.0-%2+-.91(+-*$.GSN$8)P+M- 95!-.#.+#$+06+$&A&+>-'#-%2+-O(AN.+B"&.-%2+-]0(/+[-'.#-($%&/&%&+0-%'-+^&%-%2+-%(0E-A)'=>+A&#&%&'#C 12+-.(3?+#%-/&+=G>0C--12+#-%2+.+3&'#-#(/&3(%&'#-$(#-@+-&#$'.-02'")>-6.6'.+A'.+3&'#-G#%+.(3?+#%>&06)(<+>-=&%2&#-(-.&$2C+/+#%C.+3&'#R-.+A+.-]$(#$+)_-%(0E-A)'=-.&5(5: 9#-O(AN.+3&'#R-IG-$'?6'#+#%-(002'=#-@+)'=C !.(&0+>C--12+-+/+#%-6.-383"3B(7'8</-*98<2(<2C($'&(#D.+3&'#M(/&3(%&'#J&0%+#+.-&0-.:'9B(7'8<Q(.+3&'#8-&%0O(AN.(%+>-&#%'-&%0-.+B"&.+^+$"%&#3-+&%2+.22#'?"2(G6(:3$8D((M**********28.+3&'#R-.A4383"3*'+."<91(#-0 *****!.+3&'#M(/&3(%&'#H/+#%-%.-6(3+-A.-HJ-?+%2'>-.<6383"3R.&33+.-&0-"0+>-&A-(-$'#%(&#&#3-6(3+-'.7(N$8)O983(6I83"3CD<.-%2+-.#-($%&/&%&+0C--12+--.+>-&A-%2+-><#(?&$-.+8-(#<-(66)&$(%&'#-)'3&$-.-KL3.+>-=2+#%2+-.+3&'#M(/&3(%&'#J&0%+#+.+3&'#R-%(38-&A-(#<C--12+.:'9R.+3&'#M(/&3(%&'#J&0%+#+.+%".-KL3.+3&'#-$2(#3+0-(#-'.($)+C(>AC/&+=C.C !'.-+^(?6)+8-(#-O(AN.'3.+%".A4G(2I#83(#2DJ'G2(<(#* **********A#8:.'3.+3&'#-]+^&%0_-0'-%2+O(AN6'6"6R-$(#-@+-6.

6!.!"#$%&'#() **********2D3(.*P%$#+%&#.+%".-KL3.:'9B(7'8</6#(7'8<U8+($M-*'+.-4(/(-?+%2'>-='")>-@+-0&?&)(.A4383"30 12+-.(??(%&$())<-2&>+0-%2+-O(AN6'6"6RC !489#5($.<($T'<+8)*'+.:/-** #(7'8<V.+3&'#-G#%+.-KL?'<+'<7G6+D<.A4#(7'8<*&.6!.-=:3$8D((*I83"3-0 ***********!.4"5'?A3 ((((((((VV(9.:'9B(7'8<Q(.0(1.*'*&(-("'+#.#-($%&/&%<-K]#+=Z&+=G>-hh#"))_L-(#>-%2+#-6.*(-(?I#5:I'+#.*A'$'*&H+'&).#7(*%$#+%&#.&'7.*L#/&'*'"?I'+#.9'%*(1.*'*&(-(5.(B ((((((((((((#1(?5.'3.4*7(-(1%9/'3 ((((((((EFG.+3&'#-+^&0%0-/&(-%(0E-A)'=-.7(N$8)O983(6I83"3CD<.*("'+#.<6<.4*7A3 ((((((((#1(?1.($%&'#--k .+3&'#M(/&3(%&'#J&0%+#+.4*7(-(&"4'3 ((((((((((((C('9/'(B ((((((((((((((((5.*'*&(--(*499A(B ((((((((((((((((((((8"'%03 ((((((((((((((((C ((((((((((((C ((((((((C(R:#9'(?W1.R(:%/('*7'7 ((((#1(?*'RU#'RF7(--(*499A(B ((((((((I#5:I'+#.A43.A43.-)'<+8)-*2'2$(.-+D<.!4!A(B ((((((((((((((((1.6!.&'7.!4!( ((((((((8.-383"3N(291-50 *****!.."(&:'(!%"'*&(!.*H+'&<%"'*&?A3 ((((((((7.-%'-%2+-A'))'=&#3C--12+?+%2'>-&>+#%&A&+0-=2+#-%2+-.*@$'*&('$'*&AB (((()&"#*+(*'RU#'RF7(-('$'*&H+'&P'RU#'RF7?A3 ((((((((( ((((VV(*499(*'R($#'R(#7(#*7#5%&'/(&:'(&%/019..*'*&(5.6!.*'*&H+'&<%"'*&?A3 ((((((((((((((((#1(?5.2'8<J'G2(<(#.<($T'<+8)0 *****W !5.6!.1(I#5:<.6!.*'*&(#*/&%*5'.$"(.2'8<J'G2(<(#M-50 *****!5.4*7A(B 95!-.

+$'??+#>+>-&?6)+?+#%(%&'#-(66.+3&'#R-%(38-.+3&'#0-%'-(#<->+6%2C D+%%&#3-%2+-%(0E-A)'=->+A&#&%&'#-O>(%(Q$'#%.+0&>+-=&%2&#-(#<-%.+3&'#0-G#0&>+-*'6"6c&#>'=0-6(%%+.'6+.*&'K&(5.-6(3+-A.+>_-())-%2+-0(?+->(%(-$'#%.(:#7'(&:'(!.+>C---9-.')0-'A-%2+6(.+#%-6(3+-'.+#%-6(3+-%(0E-A)'=-=&))-@+-"0+>-@<-%2+-.+3&'#-G#%+.(&:'(59#'*&(&.')Q0$'6+R-6.-.([( ((((((((((((((((((((((((5.(%+C--5+A(")%-/()"+-'A-%2+-O>(%(Q$'#%.')0-(0-%2+-%(0E-A)'=-'A-&%06(.%-'A-%2+0(?+-%.+-6(.+-%2+->(%(-$'#%.-).')Q0$'6+R-6.+A+.+#%-%.(%+0-%2+-A'))'=&#3-?+%(>(%(-=&%2&#-(-%(0E-A)'=->+A&#&%&'#-0'".#->'$"?+#%-'#-S1MC EC":5)F"&")*)+".2.(#0($%&'#0C--GA-%2+-.%<-&0]02(.-A".')0-'A-%2+-.*&'K&H+'&G4""'*&F*/&%*5'?A3 (((((((((((()'"$#5'H+'&I'*7'"X#&)'"$#5'?5.*&'K&A([( ((((((((((((((((((((((((.6'.%<C--f<-0+%%&#3-%2+-.')Q0$'6+R-6.')0-'A-%2+&.%<-%'-]02(.+-%2+->(%(-$'#%.ZA3(!.+3&'#0-$(#-02(.')Q0$'6+R-6.-'#+P@'%2->'#[%-.%<-+^6)&$&%)<-%'-]02(.-0(?+$'#%(&#&#3-6(3+-'.($%&'#--a .'6+.-%'-%2+-S.+0&>&#3-=&%2&#-%='>&AA+.'($2-"%&)&F+0-%2+%(0E-A)'=->+A&#&%&'#-O>(%(Q$'#%.'6+.+>_C 5(%(-$'#%.->+%(&)0-'#-%2+-O(AN.A3 ((((((((C ((((C C !'.*'*&H+'&G9#'*&F7?5.')Q 0$'6+R-6.(#0($%&'#-'.'6+.*&'K&N( (((((((((((((((((((((@K&'*7'7I'*7'"X#&)'"$#5'H59%//AH%77)5"#!&?5.-6(3+-A.+>-@+%=++#-%='->&AA+.(3?+#%C--`'=+/+.+3&'#-(#>-&%0-6(.+3&'#-02'")>-02(.(3?+#%-(.+#%-6(3+-'.*&'K&N( ((((((((((((((((((((((((.%2+.+3&'#8-'#)<-&%0-6(.+-%2+->(%(-$'#%.7'J5K GA-(-.')0-'A%2+&.%98<2#8$%G983(0 95!-.(3?+#%C--9)0'8-#+0%+>-.+3&'#-$(#[%-02(.!4! ((((((((((((J%5'/G.($)+-95!-!($+0-O(AN.+#%-6(3+-'.6!.6!.-6(.8-?")%&6)+-.2.+3&'#-%(0E-A)'=>+A&#&%&'#-O>(%(Q$'#%./'0)F5G$($&$'()HD"&"I7'(&:'/I.-6(3+-A.%<-$(#-()0'-@+-0+%-%'-]&0')(%+>_-&A-%2+->(%(-$'#%.6(3+-A.(3?+#%8-%2+-.+3&'#-02'")>.(#0($%&'#8->(%(-$'#%.+3&'#0-$(#-02(.!4!(-(=71<%+'H<=Y@H1#*7G.#(+50 !5+.*&'K&(-(J%5'/G.+#%-%(0E-A)'=0-.$%"(!.+3&'#R-1(35'$"?+#%(%&'#C--H^(?6)+-"0+>-%(E+#-A.+-())-%2+-0(?+-(66)&$(%&'#->(%(-$'#%.+#%-.')0-$(#-@+02(.%98<2#8$%G983(0 **!G1.*'*&?Z.!"#$%&'#() ((((((((((((VV(/'*7(/5"#!&(&.+?(&#-$'?6)+%+)<-0+6(.')0-$(##'%-@+-02(.')0-'A-(#'%2+.+3&'#C--12+-%(0E-A)'=->+A&#&%&'#-O>(%(Q$'#%.$+-A&)+N !+.'6+.!4!H:#7'?A3.'?-%2+-H?@+>>&#3-.+>_&#$'.

+A.->+%(&)0-'#-%2+-%(0E-A)'=->+A&#&%&'#-O>(%(Q$'#%.0-%'-(#-95!-f'"#>+>-1(0E-!)'=Y-(#>-D+$%&'#-7bC7Cj8-Yc2(%-n'"-T(<-M++>-%'.+0%(.-6(3+A.($)+-95!-=&%2&#-D+$%&'#-7gC\8-Y*(00&#3*(.(?+%+.-S.+-!"0&'#-5+/+)'6+.+3&'#0-%(0E-A)'=-?"0%-@+-.+-!"0&'#-5+/+)'6+.+#$+-(.(3?+#%C--12+-0(?+-2')>0-%.+-=+))-E#'=#-(#>-HJQ($$+00&@)+-%'-%2+-$'#%(&#&#36(3+-'.+8-@<-6(00&#3-%2+-/()"+-'A-%2+-0+)+$%+>-+?6)'<++-(0-(#-&#6"%-6(.-6(3+-A.+3&'#C--G#-'.+A+.+A.+#%-6(3+-'.0-(.->+%(&)0-'#-%(0E-A)'=->+A&#&%&'#-&#6"%-6(.+3&'#-(#>-0+%%&#3-&%0-%(0E!)'=-@&#>&#3-.+A.+3&'#-=&%2'"%-.%+>-"#>+..+3&'#-=&))-@+-.+#$+-@&#>&#3-/()"+0-=&%2&#-(-.+-"6>(%+>(66.+A+.&(%+-$'#>&%&'#0-%'-($$+6%-#+=-&#6"%-6(.+A+.($)+-95!-=&%2&#-D+$%&'#7gCX8-YD2(.+-/+.+A+.%-'/+.'?-%2+-@+3&##&#3-A'.&?&%&/+-/()"+-&#6"%-6(.'($28-$(.0-(.0-$(#-@+-06+$&A&+>C--1(0EA)'=->+A&#&%&'#-&#6"%-6(.+A'.(?+%+.+#$+C--H($2-%&?+-%2+95!-%(0E-A)'=-=&%2&#-(-.+$%)<-.+3&'#-$(##'%->&.+0%(.(3?+#%C--J&E+=&0+8-(#<-"6>(%+0-%'-%2+-6(00+>-'@l+$%&#0%(#$+-@<-%2+-6(.%2+.+0-.+3&'#-=&))-@+-.+3&'#-$2(#3+C--9-.+B"&.(?+%+.+-02'")>-@+-%(E+#-%'-+#0".+A+.'))?+#%-.+3&'#-A.($%&'#--7o .+-6(00+>-%'-(-.-/()"+-$2(#3+0C-!'.+3&'#0m-2'=+/+..%+>-=2+#-(#<-'A-%2+/()"+0-6(00+>-%'-%2+-.%+>-("%'?(%&$())<-=2+#+/+.+8-&A-%2+-.+0%(.+#%-6(3+-'.+0%(.&@"%+0-$(#-()0'-@+-"0+A")-%'-+#0".+-%<6&$())<-"0+>-(0-(-?+(#0-'A-02(.+A.-/()"+0-=&))-@+-6(00+>C G#6"%-6(.'6.+A+.-6(3+-A.%&#3-%2+@+#+A&%0-+#.')Q0$'6+R-6.+-(-0?())-0"@0+%-'A/()"+0-@+%=++#-%2+-%='8-%(0E-A)'=->+A&#&%&'#-&#6"%-6(.+-6(00+>-(0-(-.>+.&@"%+-&0-0+%-%'-]&AM++>+>_8-%2+-.+A+.(?+%+.+-/()"+0-6(00+>-@<-.+A.+A.(?+%+.+02:'#>&%&'#-(%%.(3?+#%C--9))-6.&#3-(-0?())-0"@0+%'A->(%(-=&%2-(-.(?+%+.+02+>(#>-.+3&'#-@<-.-6(3+-A."+-A'.+0%(.+02h_&AM++>+>_-%2+-.(?+%+.+$%)<-./'0)F5G$($&$'()>(J<&)9":"L5&5:.-(-$'#%(&#&#3-6(3+-'.(?+%+.+3&'#-@</()"+C--9))-'@l+$%-&#6"%-6(.+02&#3-(#-95!-.+$'??+#>-(66.%2+.<-"0+A")-&A-(-.+A'.-A".-S.+3&'#0-%(0E!)'=-@&#>&#3-.(?+%+.-+#.+3&'#-=&))-@+-.+3&'#-&#6"%-6(.+A.+-%2+-.+02+>-(#>.+A+.+3&'#YC 95!-.(?+%+.-%'-%2+S.+#%C !'.U0-V"&>+-A'.+02-(#>.+0%(.+3&'#-=2+#-%2+-/()"+0-(.-(#-&#6"%-6(.($)+-!"0&'#T&>>)+=(.'/&>+-%2+-0(?+-'/+.%+>8-A.+02-(%%.%&#3-%2+-$'.U0-V"&>+-A'.+06'#>&#3-95!-%(0E-A)'=C--I0&#3-%2&0(66.-%2+-(66.+3&'#-"6>(%+0-(-?"%(@)+-'@l+$%&#0%(#$+-(A%+.-/()"+0C--c2+#-(%(0E!)'=-@&#>&#3-.-A".(?+%+.(?+%+.+A.+02+>-(#>.'($2-%'-6(00-/()"+0-@($E-%'-%2+-6(.-%2+-0+)+$%+>-+?6)'<++-$2(#3+0C c2+#-'@l+$%-&#0%(#$+0-(.(3?+#%-=&))-%2+#-@+-("%'?(%&$())<-..-6(3+-A.'))&#3-%2+0+)+$%+>-+?6)'<++-&#-@+#+A&%0C-:2(#3&#3-%2+-0+)+$%+>-+?6)'<++-.&>+-$(6(@&)&%<C--12+.+-6(00+>-%'-(-.8->'-#'%6.+3&'#-G#%+.&>&#3-%2+-6(00&#3-'A-'@l+$%-&#0%(#$+&#6"%-6(.')-G#0%(#$+0YC EC":5)F"&")*)+".+#$+-%2+-@&#>&#3-/()"+0-'A-&%0-$'#%(&#&#3-6(3+-'.!"#$%&'#() !'.'6.(?+%+.-%'-02(.-+^(?6)+8-(-6(3+-?&32%-$'#%(&#-(-%(@)+-'A-+?6)'<++0-(#>-(-.&(%+)<C--12&0-&0-#'%-(-.+3&'#-&0-.0-(.(3?+#%-@+&#3-"#(@)+-%'>&.+0%(.-%'-%2+-S.08-.(?+%+.($)+-!"0&'#-T&>>)+=(.'6+.0-(.+A)+$%+>-@($E=&%2&#-%2+-.-).-&%[0-6(00+>-(0-(#-&#6"%-6(.%+>-("%'?(%&$())<-=2+#+/+.+#$+C--1(0E-A)'=-$())-($%&/&%&+0-0"66'.%<8-.-%2+-#+=)<-0+)+$%+>-+?6)'<++C12+. 9-.8-%2+<-=&))-()=(<0-@+-6(00+>@<-.+#$+-%'-6(00&#3-%2+?-@<-/()"+C--.-%'-%2+.&#3-5(%(-:'#%.+3&'#-A'.#'=-9@'"%-.0-@<-.8-%2+-"6>(%+>-'@l+$%-&#0%(#$+-/()"+0-=&))-@+/&0&@)+-%'-%2+-6(.+02-&#6"%-6(.

(?+='.+3&'#-G#%+.'/&>+0(-%..+($2+>8-%2+$'#%+^%"()-A.+#%-6(3+-6.+3&'#-6.E-+/+#%->&06(%$2+.'1@6&(G*.(&0+>8-+/+#%-6.-=2+.E-+/+#%0-(.'F(O.4( '#'=&(L".0-(A%+.++-$"0%'?+.-%2+-.(&E'("&&.($%&'#--77 .)"$A*<*=&'P&@"6(G.(?+='.+0%(.(?+='.(&0+0-$'#%+^%"()-A.(?+='.'>"$+.(?+='.+06'#>&#3-95!-%(0E-A)'= !'.+3&'#-(#>&%[0-$'#%(&#&#3-6(3+-'.-#'%&A&$(%&'#0-@+%=++#-(#-95!-.++-$"0%'?+.'F(O.-/&+=-.E-+/+#%0C 5$(-$(%.+-%2+-$'#%+^%"()-A.=1".0-(%-%2+-+#>-'A%2+-95!-)&A+$<$)+C--:'#%+^%"()-A.(?+='.(&0+>8-$'#%+^%"()-A.0-6.(="#$%"&$*="6(:E"=%'1S S#$+-.(?+='.+06'#>&#3-95!-%(0E-A)'=-2(0-0%(.+0%+>-$'#0"?+.+.++-&0-0+)+$%+>8-%2+-XboQ>+3.*.++-%(@0-=&%2&#-%2+-XboQ>+3.0C--9A%+.&@+0-=2+#-+($2-@&#>&#3-%<6+-.0-=&%2&#-%2+6(.-0+%-%'-=&)>$(."$1'F(.+>-@<-%2+-#'%&A&$(%&'#-02'")>#U%-.0-%'-$2+$E+/+#%-?(60->+A&#+>-=&%2-(#-+/+#%-6.$%%'.[0-$'#%+^%"()-A.++-@&#>&#308-%(@)+-@&#>&#308-'.*.-@&#>&#3-$'#%(&#+. :'#%+^%"()-A.-/&+=-.+3&'#0-$'.+-'A%+#-"0+>-A'..9'(&*:&.-$2+$E&#3-%2+-0(?+-@&#>&#3-$'#%(&#+.''T(3"O6'T(8$1&2 82*(.+#%-@&#>&#3-$'#%(&#+.+-&>+#%&A&+>8-%2+-$'#%+^%"()-A.+C--:'#%+^%"()-A.(?+='.%+>-=&%2-(-#+=-$"0%'?+.(?+='.+3&'#C-GA-%2+]D"66'.E-+/+#%-%'>&06)(<-(-06+$&A&+>-%(@C :'#%+^%"()-A.E+/+#%-=(0-.>&06(%$2C--12+-@&#>&#3-$'#%(&#+.-+/+#%-?(6C-12&0-6.(?+='.+#%@&#>&#3-$'#%(&#+.0-6(3+->+A&#&%&'#-A&)+-A'.'6(3(%&'#-&0-%2+#->+)+3(%+>-%'-$2+$E-A'.++-%'->&06)(<-'#+-'A-%2+-%2.+3&'#-&#%+.-6(3+-A.?(%&'#C-9-0+$'#>-.E-+/+#%0-(.$2(0+>80"66'.-&#%+.C-G%-0&?6)<-.E+/+#%-%'-&#$)">+-(-6(<)'(>-'A->(%(-%'-02(.$%%'.'>"$%0-6".%-:())0_-#'>+-&#-%2+-%.">'.(3?+#%C--G%[0-()0'-6'00&@)+-A'.'$+00-$'#%&#"+0-"#%&)-%2+-%'6?'0%-6(.(3?+#%->&06)(<0-(-0+6(.+0%+>$'#0"?+.'=:.%-%2+-.(?+='.+0%(.*.-&0-.(&0+>-@<-%2+-+^+$"%&'#-'A-($%&'#-@&#>&#308-?+%2'>($%&'#-@&#>&#308-/()"+-(%%..+3&'#-'#-%2+-0(?+-6(.E-+/+#%0-(.*>'1?.>-YpYC--GA-&#%+.:"L50':-)=#5(&.-(-$'#%+^%"()-A.+-6(00+>-%'-%2+&."$1'F("G&'.%-$())08-(#>-$'#%($%-&#A'.">'.6*"F(*G(F"&"(&*(1E".-A'.4('#'=&($1(.-/&+=-.E-+/+#%0-(.E-+/+#%-&0->+)&/+.">'.670* 9:&$*=("=F(D'&E*F9:&$*=(0$=F$=%1 +"6@'(9&&.&@"%+-@&#>&#308-%.-%2+-$"0%'?+.(:E"=%'( E"1(1@::''F'FS(<"=("61*(O'(&.">'.*.+3&'#0-%(0E-A)'=-&0#[%.-/&+=C-12+.S((<"=("61*(O'(&.>1(&E'(:*=&'P&@"6(G.-+^(?6)+8-(-6(3+-?&32%-$'#%(&#-(-.++0-$"0%'?+.(>'&EK *F($1('P':@&'FS((D'&E*F(.+$'??+#>+>-&A-%2+-95!-.4('#'=&($1(.($%&'#-"0+-$(0+-A&%0-%2+-A'))'=&#3-%='-$'#>&%&'#0N-! ! M'%&A&$(%&'#-'$$".(%+-%(@-A'.(&E'(:@.(="#$%"&$*="6(:E"=%'1S <*=&'P&@"6(G.+3&'#-@&#>&#3-$'#%(&#+.'S(( <*=&'P&@"6(G.(?+='.+($2+>C-9A%+.+-()=(<0-$'#0"?+>-@<-?+%2'>0C 95!-.+3&'#0$'.4('#'=&($1(.'/&>&#3-(-XboQ>+3.-$'#0"?+.E'=(&E'(":&$*=(*.++-$"0%'?+.!"#$%&'#() EC":5)F"&")*)M'(&5N&<"/).@#*(&.+06'#>0-%'-(-$'#%+^%"()-A.%+> :2(#3+0-&#-(#<->(%(-02(.%-:())0-%(@C-12+-XboQ>+3.-$2+$E0-%2++/+#%-?(6->+A&#+>-=&%2&#-%2+-@&#>&#3-$'#%(&#+.-%2+-%'6?'0%-@&#>&#3-$'#%(&#+.$O@&'(0$=F$=%1 )"=%'(0$=F$=%1(/3.E-+/+#%0-$(#-@+-.-)&0%-@&#>&#30C12+-%(@)+-@+)'=->+0$.+3&'#-=&))>&06)(<-%2+-D"66'."<.0(.E-+/+#%-&0-%2+#->&06(%$2+>-%'-$2&)>-.$O@&'($1(1'&( 1@::'11G@66.-&0-.+>-%'-%2+-$'#0"?+."$1'F("G&'.+3&'#0-6(3+-A.

(?+='.-'<&8S(U(218+**************U(218+V.'()Z?[(92U(218+.(?+='.2.+0")%-=&))-@+-6)($+>=&%2&#-%2+-$'#%+^%"()-A.R($5"(-($5H5"'%&'U#'RG"#&'"#%I.\'9!E/%+'.!"#$%&'#() =>&*.++-@&#>&#308-%(@)+-@&#>&#308-'.($%&'#--7\ .+06'#>&#3-`+)6G>-/()"+C--12+-`+)6G>-?+%2'>9$%&'#-.*VCV.:(+C.0C !:(218+X92'8<*'+.-G(2@($3P+-*PG.'>"$+>-@<-6(3+->+A&#&%&'#-($%&'#-@&#>&#308-?+%2'>($%&'#-@&#>&#308-/()"+-(%%.H8<2#8$6:(218+B(G"$2G6G(2@($3P+\J88S"3O(#&'9(XUC.&.-(#>.-1223455>:$<G68#.-.$G(B(2"#<V..-2#"(-*X92'8<.(?+='.+-6."(:'9!F&"(((((:'9!U.&@"%+-@&#>&#308-%.H 8<2#8$\+.7(-*VC.H8<2#8$.E-+/+#%-6(<)'(>-(#>-6(00+>-()'#3-%'-(#<-+/+#%-$'#0"?+.(-(&:#/H+'&\'9!^"%*/9%&#.*/?A3 ((((U#'RG"#&'"#%($5(-(:'9!U.I#8&'+(#\G(2@($3P+\#(G"$2-0 **!V.9$(698:5.H1#*7QDU#'RG"#&'"#%?$5N(_2N( U#'R.$8-)?@/&:'#%+^%"()-A.:(.#0-(-$'.2.6$.R(-(:'9!F&"H1#"/&?A3 95!-.-[.R(:'9!I.:(.R?A3 (((($5"H/'&=&&"#84&'?.:(.<9(V..+3&'#-G#%+.2.2.-J88S"3O(#&'9(XUC.2(U8+($.-%'-%2+A'))'=&#3N !489#5(L.-J88S"3O(#&'9(XUC.H5"'%&'U#'RG"#&'"#%?A3 ((((U#'RG"#&'"#%I.N(.2.-"G.+A:598<2(>2".-Y"("(@($3R83'9-50 **!5(&(<2G0 !5:(218+X92'8<0 12+-0+%`+)6G>-?+%2'>-+^+$"%+>-@<-%2+-?+%2'>9$%&'#-@&#>&#3-?&32%-@+-0&?&)(.-HB=XR=\IBZNPJ=*************VCRD3(.*+(/'&\'9!F7?)&"#*+(4/%+'AB ((((U#'R.>@b)G=Pb>=^=Q=)@b^=QL@)A3 ((((I.-A.2.H8<2#8$**************B(Y"'#(GF3+.8]'5&F6!9(:'9!U.2.E-+/+#%-=&))-@+-.$"(.H8<2#8$6+.E-+/+#%0-(.:(.-G(2@($3P+**************P<G2.RF&'"%&.<76O2#'<7-50 ***!(&(<2G*>:$<G.I#8&'+(#**************C.(?+%+.+%".$=&(<2-0 ****!(&(<2*<.8]'5&H`E@IabM.([(4/%+'A3 (((($5H%77@9'6'*&?$5"A3 ((((I.-J88S"3O(#&'9(XUC.:(.(&0+>C--12+-?+%2'>9$%&'#-6(00+0-&#-(-]"0(3+_-6(.-)&0%-@&#>&#30C--G#%2+-+^(?6)+-@+)'=8-%2+-B"+"+`+)61'6&$-+/+#%-&0->+A&#+>-=&%2&#-%2+-0+%`+)6G>?+%2'>9$%&'#-@&#>&#3C--c2+#-%2+-?+%2'>9$%&'#-@&#>&#3-&0-+^+$"%+>8-%2+-$'#%+^%"()A.2.

C !(&(<2U.+(%&#3-6(3+->+A&#&%&'#-+/+#%-?(6-?+%(>(%(8-%2+-45+/+)'6+.#.:(.-'A-(-3&/+#+/+#%C--12+-$'#0"?+.DJ8.?+%2'>-&0-(00&3#+>-%2+-/()"+-'A-%2+-$'#%+^%"()-A.-%2+-6.-$'#0"?+.'>"$+.'6+.+C--1'-($$+00-%2+-H/+#%-T(6H>&%'.'>"$+.-H/+#%T(6-H>&%'.(?+='.!"#$%&'#() (((("'&4"*(?L.+3&'#C--12+-2+)61'6&$G>-6(.9$(698:5.R-+)+?+#%0C--G#-%2+-+^(?6)+-@+)'=8-%2+-+/+#%T(6-.+3&'#8-%2+-].<+$(#.8-(>>-(#-+/+#%T(6-+)+?+#%-%'-(-6(3+->+A&#&%&'#-&#-45+/+)'6+.A3((( C =>&*.(?+='.'>"$+.-^L3.-@"%%'#C- 95!-.-'.-2(#>)+.+A:598<2(>2".3*>:$<G.:(2(#G0 *****!598<G":(#0 ****!53#8+"9(#0* **!5(&(<20 !5(&(<2U.:(2(#G0 **********!3.-$(#-()0'-@+-"0+>-%'-3.+3&'#C--12+-$'#0"?+.%<-G#06+$%'.-0+)+$%-%2+-H>&%-%'')@(.($%&'#--7X .'?-%2+6.30 G#0%+(>-'A-?(#"())<-$.+M-50 ********!53.'>"$+.-=&))-@+-(-06+$&A&+>-?+%2'>C---GA-%2+-6.&@"%+-&0-#'%-#++>+>-=&%2&#-%2+-+/+#%-?(6O6.-&0-&>+#%&A&+>-(0-%2+-2+)6*(3+5+ACA&#>`+)61+^%f<G>-?+%2'>@&#>&#3-=&%2&#-%2+-2+)6%(0EA)'=7-.+)(%+0-%2+B"+"+`+)61'6&$-+/+#%-6.-&0#'%-$'#%(&#+>-=&%2&#-(-.-1223455>:$<G68#.$A.-1($32.-Y"("(@($3R83'9-0 ****!3#8+"9(#*#(7'8<.'>"$+.+3&'#-G#%+.\'9!F7.C--12+#-&#-%2++/+#%T(6-+)+?+#%-*.-1($3R83'9P+-*&.7(C(A6A'<+@($3R(>2QDP+-0* *******!3.E-+/+#%-6(<)'(>-6(00+>-A.#.+)(%+-%'3+%2+.-'A-%2+-$'#0"?+.R-(#>-O$'#0"?+.GSA$8)/****************1.-%'-&%0-$'#0"?+.#.$=&(<2-0 **!(&(<2*<.E-+/+#%-?(60-.-&0-&>+#%&A&+>-(0-(#<.'$+>".-]-0 ******!98<G":(#*#(7'8<.+(%)<-0&?6)&A<-%2+-6.+3&'#_-(%%.'>"$+.-(#>-$'#0"?+.RH+'&=&&"#84&'?.:(2(#*<.(?+%+.$"(.C--12+-6.:(.3 :'#%+^%"()-A.-1($3I.*+A:'9!I.

-%2+-0+)+$%&'#-'A-%2+-+/+#%8-&%0-6.-0+)+$%&#3-%2+-H/+#%-T(6-H>&%'.-9>>-(-#+=+/+#%-=&%2&#-%2+-+/+#%-?(6C 9A%+.(%+/()"+0-A..($%&'#--7W .-9>>-%'')@(.'?-%2+-$".->&()'3-=&))-@+->&06)(<+>-%'-H>&%-(#-+^&0%&#3-+/+#%-'..+#%-6(3+->+A&#&%&'#8-@"%-()0'-%2+-6(3+>+A&#&%&'#0-'A-(#<-$2&)>-.-@"%%'#08-%2+-T'>&A<-H/+#%-T(6H#%.+3&'#0C--12'0+-?"0%-@+-+#%+.+3&'#0C-12+->.-$.+#%)<->'#[%-&#$'.'6>'=#0-&#$'.+(%&#3-+/+#%-?(6-?+%(>(%(-+(0&+.'6>'=#0-A'.!"#$%&'#() 12+-H/+#%-T(6-H>&%'.'>"$+.(%+-/()"+0-A.+>-?(#"())<C 95!-.C--12+>.6'.8-$".8-(#>-&%0-$'#0"?+.'?-(#<-><#(?&$-.+3&'#-G#%+.'6>'=#0m-2'=+/+.-H>&%-'.<->&()'3-&0->&06)(<+>C--G%-?(E+0-?'>&A<&#3-'.6'.-@<"0&#3->.

+06'#>&#3`+)61+^%C--12+-/()"+-'A-%2+-2+)61'6&$G>-6(.(&0+>-@<-%2+-.2.!"#$%&'#() =>&*.+%".:(.+0")%-'A-%2+-6.-/()"+0-'A-%2+-?+%2'>$(#-@+-(00&3#+>-@<-%2+-+/+#%-?(6-"0&#3-%2+-$'#%+^%"()-A.E-+/+#%-6(<)'(>C--G#-%2++^(?6)+-@+)'=8-%2+-$'#%+^%"()-A.-A.-A'<+@($3R(>2QDP+**************X92'8<.'>"$+.H8<2#8$6+.-?+%2'>C !:(218+X92'8<*'+.<76J8<7-50 !5:(218+X92'8<0 12+-A&#>`+)61+^%G>-?+%2'>-&>+#%&A&+>-(0-%2+-+/+#%-$'#0"?+.2.-A'<+@($3R(>2QDP+**************PG.2.$G(**************C.(?+='.(?+='.-&0-%2+-A&#>`+)61+^%f<G>?+%2'>9$%&'#-@&#>&#3C--G%-6(00+0-&#-(-2+)61'6&$G>-(#>-.'()Z?[(92U(218+.2.-[.(?+='.(?+%+.:(.H8<2#8$.E-+/+#%-$'#0"?+.2.6$.<9(V.-%'-%2+A'))'=&#3N !489#5()&"#*+(1#*7\'9!^'K&QDF7?L.#0-%2+-$'.-J88S"3O(#&'9(XUC.-J88S"3O(#&'9(XUC.-'<&8S(U(218+-*U(218+V.($%&'#--7g .I#8&'+(#\A'<+@($3R(>2QDP+\#(G"$2-0 **!V.:(.E-+/+#%-6(<)'(>C--12+-/()"+-'A-%2+-6(<)'(>-=(0-0+%=2+#-%2+-+/+#%-=(0-.$"(.-1($3R83'9P+-*VC.:(.+3&'#-G#%+.(?+%+.-J88S"3O(#&'9(XUC.H8<2#8$**************P<G2.-&0-(00&3#+>-=&%2&#-%2+-+/+#%-?(6-(0%2+-/()"+-'A-%2+-$'#%+^%"()-A.2.-?&32%-@+-0&?&)(.$B)*.H8<2#8$6:(218+B(G"$2G6A'<+@($3R(>2QDP+\J88S"3O(#&'9(X UC.2.-=&))-()=(<0-@+-(-?+%2'>C--*(.*VCV.*+(:'9!F7AB 95!-.&.H8<2#8$\+.I#8&'+(#-* B(2"#<V.2.--*VCRD3(.@:&12+-$'#%+^%"()-+/+#%-$'#0"?+.:(+C...

+-(00&3#+>-(-.-S.+06'#>0-K+C3CN->&06)(<&#3-'.-%2&0-%'-'$$"...-%2+-]H?6)'<++0_-'..+#%-'"%$'?+0(/(&)(@)+-@(0+>-'#-(-.%<C-- 95!-.'#%5+?'-966)&$(%&'#C EC":5)F"&")*)25%$'()M"J"O$/$&$5.!"#$%&'#() ((((U#'R.-+#(@)&#3->&AA+.(-(&:#/H+'&\'9!^"%*/9%&#.-%'-%2+-S.%?+#%0-/&+=-($%&/&%&+0-=&%2&#-%2+-.+00&'#-A'.->&0(@)+>-6.+3&'#-$(6(@&)&%&+0-$(#-@+-"0+>-@<-(-6(.+#%-&$'#0-(#>@"%%'#0LCG#-%2+-A'))'=&#3-+^(?6)+8-%2+-]H?6)'<++0_-(#>-]5+6(.\'9!^"%*/9%&#.([(:'9!F7A3 (((($5H%77@9'6'*&?$5"A3 ((((I.'6+.U0-V"&>+-A'.>@b)G=Pb>=^=Q=)@b^=QL@)A3 ((((I.+3&'#$(6(@&)&%<-HJ-H^6.RH+'&=&&"#84&'?.+#%-0%(%+C--12+-$".+3&'#0-$".R(:'9!I.%2+.%?+#%0_-@"%%'#02'")>-@+->&0(@)+>C--!'.+#%-$(6(@&)&%&+0-'A-(-.($)+!"0&'#-T&>>)+=(.R?A3 (((($5"H/'&=&&"#84&'?.E-+/+#%08-.%?+#%0_-@"%%'#0-'#-%2+-6(.+-!"0&'#-5+/+)'6+.RF&'"%&.+#%-6(3+-.8]'5&F6!9(:'9!U.($)+-95!-=&%2&#-D+$%&'#-\bCg8Y:.-("%'?(%&$())<8-%2+-@"%%'#0-(.+(%&#3-:'#%+^%"()-H/+#%0YC--H^(?6)+-"0+>-%(E+#-A.8]'5&H`E@IabM.H5"'%&'U#'RG"#&'"#%?A3 ((((U#'RG"#&'"#%I.-A".+#%-6(3+-%'-&>+#%&A<-%2+-$"."(:'9!F&"(((((:'9!U.+3&'#-?&32%>&$%(%+-2'=-%2+-6(.+A+.+3&'#-G#%+.\'9!^'K&.-%2+&.(?+='.)&"#*+?A3 C !'.($)+-!"0&'#-D%'.+#%6(3+-#(/&3(%+-@+%=++#-%2+-H?6)'<++0-(#>-5+6(.+-!.*/F7.->+%(&)0-'#-&?6)+?+#%&#3-$'#%+^%"()-A.H1#*7QDU#'RG"#&'"#%?$5N(_2N( U#'R.'?-%2+-S. .AH&.*/?A3 ((((U#'RG"#&'"#%($5(-(:'9!U.+#%-0%(%+8-+&%2+.+3&'#0-$".-..($%&'#--7b .-]5+6(.+3&'#Cf(0+>-'#-%2+-.R(-(:'9!F&"H1#"/&?A3 (((("'&4"*(:'9!I.R($5"(-($5H5"'%&'U#'RG"#&'"#%I.N(.

+-&#-$(0+0-=2+.-K+C3CN-#+0%+>-.-%2(#-%2+-$".($%&'#--7j .+00&'#-02'")>-#+/+.+#%-@&#>&#3$'#%(&#+.%?+#%0_-'"%$'?+-=&%2&#-%2+-.+3&'#KdL-?+%2'>-&0-+^+$"%+>-%'&#&%&(%+-%2+-$'.+3&'#-#(/&3(%+0-%'-%2+-#+=-/&+=-($%&/&%<8-%2+-@"%%'#0-.+3&'#0-.+3&'#0-0%(%+-$2(#3+C .+-%2+-(/(&)(@&)&%<-'A-%2+-06+$&A&+>-.+-(-.&(%+-@(0+>-'#-%2+-.+3&'#T'>+)-$(##'%-@+-.-($$+00-@&#>&#30-&#-(#<-@&#>&#3$'#%(&#+..'6.+00&'#C--9#-HJ-+^6..+3&'#0L8-.+#%-@&#>&#3-$'#%(&#+.-?&32%-#'%-+^&0%-<+%-'.+B"&.+(><-@++#.+06'#>&#3-]+?6)'<++0_-'..+)+(0+>C-- 95!-.-?&32%-2(/+-().+06'#>-("%'?(%&$())<-@<>&0(@)&#3-(0-(66.+A'.+3&'#CS#$+-%2+-.+($2+>-=&%2&#-%2+-$".'"32(#-HJ-H^6.-'%2+.+3&'#-$(6(@&)&%&+0-$(##'%-@+-"0+>C--12&0-&0-@+$("0+-(#+0%+>-.!"#$%&'#() c2+#-+($2-@"%%'#-&0-0+)+$%+>8-%2+-B"+"+9$%&'#H/+#%G#.+3&'#-$(6(@&)&%&+0-.+3&'#-G#%+.+3&'#0-#+0%+>-@&#>&#3-$'#%(&#+.-K+C3CN-qr@&#>&#30C%(0EA)'=>+A&#&%&'#7sLC12+.+3&'#T'>+)-%2.-]>+6(.

.+#%-*(3+-6(%%+.'11$*=(1.(=">'(*G(&E'("11*:$"&'F(:*=&.(%'&<"L"O$6$&$'1/2S( A8(APL.-%'-%2+-G#&%&(%+-:'#%..!"#$%&'#() 12+-.'1'=&'F("1("(N&..-=:3$8D((G*****+'G.'=&(1&"&'U VO$=F$=%1S.*+-S.+/&'"0)<8-%2+-]H?6)'<++0_-@"%%'#->&0(@)+>-(%%.+3&'#-$(6(@&)&%&+08-.+#%)<-(/(&)(@)+-=&%2&#-%2+%(0EA)'=>+A&#&%&'#7-.( *@&:*>'(.('#'.($)+C(>AC/&+=C.+3&'#T'>+)-$)(00C 95!-.&@+>-6.=1(Y&.')-!)'=-=&%2&#-(.<+Q"228<*2(>2.-A".'%$*=D*F'6S:"L"O$6$&$'1[/'0!1'23/\X )'&@.!"#$%&'()*+.+3&'#T'>+)$)(00C--G%-$'#0&0%0-'A-%2+-A'))'=&#3-?+%2'>0N )*%$'(.'%$*=D*F'6S":&$*=1X(( %'&9:&$*=1/2 G#-%2+-+^(?6)+->+0$.'%$*=(:"L"O$6$&.+3&'#-$(6(@&)&%&+0-HJ-H^6.-%2+'.'&@.+3&'#-K&C+CQ-%2+-]5+6(.'%$*=D*F'6S:"L"O$6$&$'1X( A8(APL.&@"%+-=(0(00&3#+>-%2+-.'%$*=1(:@.'&@.+3&'#-$(6(@&)&%&+0-9*G0-.9"0"B$<$&$*A.@'Z($G(&E'(*@&:*>'(1L':$G$'F($1("#"$6K "O6'(O"1'F(*=(&E'(%$#'=(.='F(O.=1(&E'(1'&(*G(*@&:*>'1(/:"L"O$6$&$'12("#"$6"O6'(O"1'F(*=( &E'(:@.'%$*=S((A":E(.($1( .C*&2'%'&<"L"O$6$&$'1/2 3*A+1$0&$'( )'&@.*+-S.+3&'#-G#%+.+A+.'11$*=(.'(.+00&'#-02'=#-@+)'=C--G%->&0(@)+0-%2+]H?6)'<++0_-@"%%'#-&A-%2+-]>+6(.'L.*6(G6*.=&"PU VWO$=F$=%1S.!"#$%&'()*+.$=%S((( A8(APL.?$(+.&$2C?'>+)C.?'$'2'(G_`+(3.$66(O'("(:*.-KL?'<+'<7G62.=1(&E'(6$1&(*G(#"6$F()'%$*=9:&$*=1(O"1'F(*=(&E'(:@.(:"1'S( 3E'.'=&( 1&"&'(*G("(%$#'=(.'11$*=(1.'1L*=F$=%()'%$*=9:&$*=(*@&:*>'(G*.%2+.'%$*=S((9()'%$*=9:$&*=($1("(:*>O$="&$*=(*G(&E'( *@&:*>'("=F(F$1L6"..=&"PU VWO$=F$=%1S!"#$%&'()*+.&$2C?'>+)C.#->'$"?+#%-'#-S1M-'.($%&'#--7k .+3&'#-A.%?+#%0_-@"%%'#-02'")>-@+-+#(@)+>-(#>-%2+]H?6)'<++0_-@"%%'#->&0(@)+>LC !.#2:(<2G`aM-*50 !'.->+%(&)0-'#-.3...%?+#%0_-'"%$'?+-&0-$".*+-S.'=&(1&"&'(*G("(%$#'=(.($)+C(>AC/&+=C.GSA$8)+(A'<'2'8</6#(7'8<U8+($69.+0&>+-=&%2&#-%2+-'.'?-&%0-*(.A498::.

0-%'-(#95!-f'"#>+>-1(0E-!)'=Y-&#-%2+-!"0&'#5+/+)'6+.+3&'#R-1(35'$"?+#%(%&'#C-D+$%&'#-7gCX8-YD2(.'?-&%0-*(.U0V"&>+-A'./.+3&'#T'>+) D+$%&'#-7WCX8-YI0&#3-I.($%&'#--7a .0 %(0E!)'=-f&#>&#3-.($)+-95! D+$%&'#-7bC7Cj8-Yc2(%-n'"-T(<-M++>-%'..+02:'#>&%&'#-9%%.E-H/+#%0 .()* ")/@:&*.-S.U0V"&>+-A'.<&$8...()*$%&4....+#%-9$%&'#-9$%&/&%&+0 O(AN.-S.)$.&-*$!-.#'=-9@'"%-.-S..&@"%+0 :'#%+^%"()-!.')-!)'=-c&%2&#-(-.(?+%+.+3&'#R-1(3 1(0E-!)'=-5+A&#&%&'#-O>(%(Q$'#%.&?$")/@:&*.-S..U0V"&>+-A'.U0-V"&>+-A'.+#%-9$%&'#9$%&/&%&+0Y-&#-%2+-!"0&'#-5+/+)'6+.-S.+3&'#-G#%+.')G#0%(#$+0Y-&#-%2+-!"0&'#-5+/+)'6+.')Q 0$'6+R 1(0E-!)'=-5+A&#&%&'#-G#6"%-*(.U0-V"&>+A'.($)+95! D+$%&'#-\bCg8-Y:.+A.+3&'#Y&#-%2+-!"0&'#-5+/+)'6+.+#%-*(3+ - %&4.!"#$%&'#() %&4.+3&'#-!.($)+-95! D+$%&'#-7gC\8-Y*(00&#3-*(..&$2C?'>+)C.U0-V"&>+-A'.($)+-95! D+$%&'#-7WCa8-YI0&#3-*(.+3&'#0-G#0&>+-*'6"6-c&#>'=0 -G#&%&(%+-'#%.&?$8.(?+%+.+(%&#3-:'#%+^%"()H/+#%0Y-&#-%2+-!"0&'#-5+/+)'6+.&?$.&#3-5(%(-:'#%.&-*..+A..J-Z&+=9$%&/&%&+0Y-&#-%2+-!"0&'#-5+/+)'6+.J-Z&+=-9$%&/&%&+0 1(0E-!)'=-*(.+02-(#>.-S.+3&'#T'>+)$)(00 95!-.+A. ! ! H?@+>>#3-.+02&#3-(#-95!-..($)+C(>AC/&+=C.($)+-95! '. 1(0E-!)'=-I.(C.($)+-95!-!($+0-O(AN.($)+-95! S.(?+='.

Sign up to vote on this title
UsefulNot useful