From c4ef26f92a4dc34af931187d5a35f94d3e9c8eca Mon Sep 17 00:00:00 2001 From: Eric Espie Date: Fri, 8 Oct 2021 16:34:26 +0200 Subject: [PATCH] presentation and tutorial enhancements --- .doc/UI/build/html/TwigBase/TwigBase.html | 20 ++++++++++++ .../build/html/TwigBaseTuto/Step2/Step2.html | 21 ++++++++++++- .../build/html/TwigBaseTuto/Step4/Step4.html | 1 + .doc/UI/build/html/_images/MVC.png | Bin 39269 -> 32924 bytes .../html/_sources/TwigBase/TwigBase.rst.txt | 22 ++++++++++++- .../_sources/TwigBaseTuto/Step2/Step2.rst.txt | 29 ++++++++++++++++-- .../_sources/TwigBaseTuto/Step4/Step4.rst.txt | 2 ++ .doc/UI/build/html/searchindex.js | 2 +- .doc/UI/source/TwigBase/MVC.png | Bin 39269 -> 32924 bytes .doc/UI/source/TwigBase/TwigBase.rst | 22 ++++++++++++- .doc/UI/source/TwigBase/twig base.pptx | Bin 0 -> 38423 bytes .doc/UI/source/TwigBaseTuto/Step2/Step2.rst | 29 ++++++++++++++++-- .doc/UI/source/TwigBaseTuto/Step4/Step4.rst | 2 ++ 13 files changed, 142 insertions(+), 8 deletions(-) create mode 100644 .doc/UI/source/TwigBase/twig base.pptx diff --git a/.doc/UI/build/html/TwigBase/TwigBase.html b/.doc/UI/build/html/TwigBase/TwigBase.html index 923f6217f9..e88c2aa413 100644 --- a/.doc/UI/build/html/TwigBase/TwigBase.html +++ b/.doc/UI/build/html/TwigBase/TwigBase.html @@ -77,8 +77,28 @@

Twig Base Presentation

+

This feature is intended to help extension creators to design forms in a modern way.

The Twig Base feature is based on MVC structure:

../_images/MVC.png +

When creating an extension following this structure, some parts have to be done:

+
+
Model
+

Optional part to define the specific data model for the extension

+
+
Service
+

Recommended part to produce the data to be displayed

+
+
Controller
+

Mandatory part to gather the data from the Service and display using the View. +The Controller contains an automatic routing mechanism to be selected by the operation parameter.

+
+
View
+

Mandatory part to display the data given by the Controller

+
+
End point
+

Mandatory part receiving the request and calling the Controller

+
+
diff --git a/.doc/UI/build/html/TwigBaseTuto/Step2/Step2.html b/.doc/UI/build/html/TwigBaseTuto/Step2/Step2.html index c0813ee980..4a5540a6f0 100644 --- a/.doc/UI/build/html/TwigBaseTuto/Step2/Step2.html +++ b/.doc/UI/build/html/TwigBaseTuto/Step2/Step2.html @@ -144,7 +144,7 @@ The name of the method is built from the operation name by adding Operation<
index.php
 1<?php
  2
- 3namespace MyCompany\iTop\SystemInformation;
+ 3namespace MyCompany\iTop\MyModule;
  4
  5use MyCompany\iTop\MyModule\Controller\MyModuleController;
  6
@@ -165,6 +165,25 @@ The method HandleOp
 

For more comfort during the development of your module, you can install the toolkit and update your iTop with symlinks.

if you go to your module page https://localhost/itop/pages/exec.php?exec_module=my-module&exec_page=index.php you should see:

../../_images/Step2.png +

You will notice that if you work with an iTop from an official package (not the sources from https://github.com/Combodo/iTop, when you modify the twig template, the result does not change.

+

In this case, you’ll have to add the following parameter to your iTop configuration:

+
<?php
+
+/**
+ *
+ * Configuration file, generated by the iTop configuration wizard
+ *
+ * The file is used in MetaModel::LoadConfig() which does all the necessary initialization job
+ *
+ */
+$MySettings = array(
+    // developer_mode.enabled: If true then unlocks dev env functionalities, see \utils::IsDevelopmentEnvironment
+    'developer_mode.enabled' => true,
+
+    // ...
+);
+
+
diff --git a/.doc/UI/build/html/TwigBaseTuto/Step4/Step4.html b/.doc/UI/build/html/TwigBaseTuto/Step4/Step4.html index 4d6fe55f9e..6d908aad4c 100644 --- a/.doc/UI/build/html/TwigBaseTuto/Step4/Step4.html +++ b/.doc/UI/build/html/TwigBaseTuto/Step4/Step4.html @@ -128,6 +128,7 @@
+

Disclaimer: The code is for tutorial only, don’t use it in production as no check is done on the entries

The corresponding template must be created templates/SelectMonth.html.twig

templates/SelectMonth.html.twig
diff --git a/.doc/UI/build/html/_images/MVC.png b/.doc/UI/build/html/_images/MVC.png index ebebef42e8e356a6a6c2fb1dea108d56f39a49c4..042f6a493362f76f8666d784d132dd7269fbc481 100644 GIT binary patch literal 32924 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

5TnmE80g{QL1Am^7~DN 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 HKFt3E__QCj diff --git a/.doc/UI/build/html/_sources/TwigBase/TwigBase.rst.txt b/.doc/UI/build/html/_sources/TwigBase/TwigBase.rst.txt index 30f8e24ab1..7edca0415d 100644 --- a/.doc/UI/build/html/_sources/TwigBase/TwigBase.rst.txt +++ b/.doc/UI/build/html/_sources/TwigBase/TwigBase.rst.txt @@ -4,6 +4,26 @@ Twig Base Presentation ====================== +This feature is intended to help extension creators to design forms in a *modern* way. + The **Twig Base** feature is based on MVC structure: -.. image:: MVC.png \ No newline at end of file +.. image:: MVC.png + +When creating an extension following this structure, some parts have to be done: + +:Model: + Optional part to define the specific data model for the extension + +:Service: + Recommended part to produce the data to be displayed + +:Controller: + Mandatory part to gather the data from the *Service* and display using the *View*. + The *Controller* contains an automatic routing mechanism to be selected by the *operation* parameter. + +:View: + Mandatory part to display the data given by the *Controller* + +:End point: + Mandatory part receiving the request and calling the *Controller* \ No newline at end of file diff --git a/.doc/UI/build/html/_sources/TwigBaseTuto/Step2/Step2.rst.txt b/.doc/UI/build/html/_sources/TwigBaseTuto/Step2/Step2.rst.txt index 5fe80cae7f..e5344be20a 100644 --- a/.doc/UI/build/html/_sources/TwigBaseTuto/Step2/Step2.rst.txt +++ b/.doc/UI/build/html/_sources/TwigBaseTuto/Step2/Step2.rst.txt @@ -72,7 +72,7 @@ Then create landing page for your module ``my-module/index.php`` true, + + // ... + ); + + + diff --git a/.doc/UI/build/html/_sources/TwigBaseTuto/Step4/Step4.rst.txt b/.doc/UI/build/html/_sources/TwigBaseTuto/Step4/Step4.rst.txt index 2460ba5ad9..f3c055168c 100644 --- a/.doc/UI/build/html/_sources/TwigBaseTuto/Step4/Step4.rst.txt +++ b/.doc/UI/build/html/_sources/TwigBaseTuto/Step4/Step4.rst.txt @@ -56,6 +56,8 @@ Now add the operation in the controller: } } +*Disclaimer: The code is for tutorial only, don't use it in production as no check is done on the entries* + The corresponding template must be created ``templates/SelectMonth.html.twig`` .. code-block:: twig diff --git a/.doc/UI/build/html/searchindex.js b/.doc/UI/build/html/searchindex.js index e6d314d4ff..ff69b15d96 100644 --- a/.doc/UI/build/html/searchindex.js +++ b/.doc/UI/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["TwigBase/TwigBase","TwigBaseReference/TwigBaseReference","TwigBaseTuto/Step1/Step1","TwigBaseTuto/Step2/Step2","TwigBaseTuto/Step3/Step3","TwigBaseTuto/Step4/Step4","TwigBaseTuto/TwigBaseTuto","generated/Component/Alert/Alert","generated/Component/Button/Button","generated/Component/ButtonGroup/ButtonGroup","generated/Component/CollapsibleSection/CollapsibleSection","generated/Component/Component","generated/Component/DataTable/DataTable","generated/Component/Field/Field","generated/Component/FieldBadge/FieldBadge","generated/Component/FieldSet/FieldSet","generated/Component/Form/Form","generated/Component/Input/FileSelect/FileSelect","generated/Component/Input/Input","generated/Component/Input/Select/Select","generated/Component/Input/Select/SelectOption","generated/Component/Panel/Panel","generated/Component/Spinner/Spinner","generated/Component/Title/Title","generated/Component/Toolbar/Toolbar","generated/Component/Toolbar/ToolbarSpacer/ToolbarSpacer","generated/Layout/Layout","generated/Layout/MultiColumn/Column/Column","generated/Layout/MultiColumn/MultiColumn","generated/Layout/UIContentBlock","index","manual/Component/Alert/AlertAdditionalDescription","manual/Component/Alert/AlertFooter","manual/Component/Button/ButtonAdditionalDescription","manual/Component/Button/ButtonFooter","manual/Component/ButtonGroup/ButtonGroupAdditionalDescription","manual/Component/ButtonGroup/ButtonGroupFooter","manual/Component/CollapsibleSection/CollapsibleSectionAdditionalDescription","manual/Component/CollapsibleSection/CollapsibleSectionFooter","manual/Component/DataTable/DataTableAdditionalDescription","manual/Component/DataTable/DataTableFooter","manual/Component/Field/FieldAdditionalDescription","manual/Component/Field/FieldFooter","manual/Component/FieldBadge/FieldBadgeAdditionalDescription","manual/Component/FieldBadge/FieldBadgeFooter","manual/Component/FieldSet/FieldSetAdditionalDescription","manual/Component/FieldSet/FieldSetFooter","manual/Component/Form/FormAdditionalDescription","manual/Component/Form/FormFooter","manual/Component/Input/FileSelect/FileSelectAdditionalDescription","manual/Component/Input/FileSelect/FileSelectFooter","manual/Component/Input/InputAdditionalDescription","manual/Component/Input/InputFooter","manual/Component/Input/Select/SelectAdditionalDescription","manual/Component/Input/Select/SelectFooter","manual/Component/Input/Select/SelectOptionAdditionalDescription","manual/Component/Input/Select/SelectOptionFooter","manual/Component/Panel/PanelAdditionalDescription","manual/Component/Panel/PanelFooter","manual/Component/Spinner/SpinnerAdditionalDescription","manual/Component/Spinner/SpinnerFooter","manual/Component/Title/TitleAdditionalDescription","manual/Component/Title/TitleFooter","manual/Component/Toolbar/ToolbarAdditionalDescription","manual/Component/Toolbar/ToolbarFooter","manual/Component/Toolbar/ToolbarSpacer/ToolbarSpacerAdditionalDescription","manual/Component/Toolbar/ToolbarSpacer/ToolbarSpacerFooter","manual/Layout/MultiColumn/Column/ColumnAdditionalDescription","manual/Layout/MultiColumn/Column/ColumnFooter","manual/Layout/MultiColumn/MultiColumnAdditionalDescription","manual/Layout/MultiColumn/MultiColumnFooter","manual/Layout/UIContentBlockAdditionalDescription","manual/Layout/UIContentBlockFooter"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["TwigBase\\TwigBase.rst","TwigBaseReference\\TwigBaseReference.rst","TwigBaseTuto\\Step1\\Step1.rst","TwigBaseTuto\\Step2\\Step2.rst","TwigBaseTuto\\Step3\\Step3.rst","TwigBaseTuto\\Step4\\Step4.rst","TwigBaseTuto\\TwigBaseTuto.rst","generated\\Component\\Alert\\Alert.rst","generated\\Component\\Button\\Button.rst","generated\\Component\\ButtonGroup\\ButtonGroup.rst","generated\\Component\\CollapsibleSection\\CollapsibleSection.rst","generated\\Component\\Component.rst","generated\\Component\\DataTable\\DataTable.rst","generated\\Component\\Field\\Field.rst","generated\\Component\\FieldBadge\\FieldBadge.rst","generated\\Component\\FieldSet\\FieldSet.rst","generated\\Component\\Form\\Form.rst","generated\\Component\\Input\\FileSelect\\FileSelect.rst","generated\\Component\\Input\\Input.rst","generated\\Component\\Input\\Select\\Select.rst","generated\\Component\\Input\\Select\\SelectOption.rst","generated\\Component\\Panel\\Panel.rst","generated\\Component\\Spinner\\Spinner.rst","generated\\Component\\Title\\Title.rst","generated\\Component\\Toolbar\\Toolbar.rst","generated\\Component\\Toolbar\\ToolbarSpacer\\ToolbarSpacer.rst","generated\\Layout\\Layout.rst","generated\\Layout\\MultiColumn\\Column\\Column.rst","generated\\Layout\\MultiColumn\\MultiColumn.rst","generated\\Layout\\UIContentBlock.rst","index.rst","manual\\Component\\Alert\\AlertAdditionalDescription.rst","manual\\Component\\Alert\\AlertFooter.rst","manual\\Component\\Button\\ButtonAdditionalDescription.rst","manual\\Component\\Button\\ButtonFooter.rst","manual\\Component\\ButtonGroup\\ButtonGroupAdditionalDescription.rst","manual\\Component\\ButtonGroup\\ButtonGroupFooter.rst","manual\\Component\\CollapsibleSection\\CollapsibleSectionAdditionalDescription.rst","manual\\Component\\CollapsibleSection\\CollapsibleSectionFooter.rst","manual\\Component\\DataTable\\DataTableAdditionalDescription.rst","manual\\Component\\DataTable\\DataTableFooter.rst","manual\\Component\\Field\\FieldAdditionalDescription.rst","manual\\Component\\Field\\FieldFooter.rst","manual\\Component\\FieldBadge\\FieldBadgeAdditionalDescription.rst","manual\\Component\\FieldBadge\\FieldBadgeFooter.rst","manual\\Component\\FieldSet\\FieldSetAdditionalDescription.rst","manual\\Component\\FieldSet\\FieldSetFooter.rst","manual\\Component\\Form\\FormAdditionalDescription.rst","manual\\Component\\Form\\FormFooter.rst","manual\\Component\\Input\\FileSelect\\FileSelectAdditionalDescription.rst","manual\\Component\\Input\\FileSelect\\FileSelectFooter.rst","manual\\Component\\Input\\InputAdditionalDescription.rst","manual\\Component\\Input\\InputFooter.rst","manual\\Component\\Input\\Select\\SelectAdditionalDescription.rst","manual\\Component\\Input\\Select\\SelectFooter.rst","manual\\Component\\Input\\Select\\SelectOptionAdditionalDescription.rst","manual\\Component\\Input\\Select\\SelectOptionFooter.rst","manual\\Component\\Panel\\PanelAdditionalDescription.rst","manual\\Component\\Panel\\PanelFooter.rst","manual\\Component\\Spinner\\SpinnerAdditionalDescription.rst","manual\\Component\\Spinner\\SpinnerFooter.rst","manual\\Component\\Title\\TitleAdditionalDescription.rst","manual\\Component\\Title\\TitleFooter.rst","manual\\Component\\Toolbar\\ToolbarAdditionalDescription.rst","manual\\Component\\Toolbar\\ToolbarFooter.rst","manual\\Component\\Toolbar\\ToolbarSpacer\\ToolbarSpacerAdditionalDescription.rst","manual\\Component\\Toolbar\\ToolbarSpacer\\ToolbarSpacerFooter.rst","manual\\Layout\\MultiColumn\\Column\\ColumnAdditionalDescription.rst","manual\\Layout\\MultiColumn\\Column\\ColumnFooter.rst","manual\\Layout\\MultiColumn\\MultiColumnAdditionalDescription.rst","manual\\Layout\\MultiColumn\\MultiColumnFooter.rst","manual\\Layout\\UIContentBlockAdditionalDescription.rst","manual\\Layout\\UIContentBlockFooter.rst"],objects:{},objnames:{},objtypes:{},terms:{"0":[2,5],"1":[6,23],"2":[4,6],"3":[2,5,6],"4":6,"break":29,"case":[7,32],"class":[3,4,5,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],"default":[3,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],"function":[3,4,5,7,32],"int":23,"new":[2,3,6],"null":[7,8,10,12,13,15,16,17,18,19,20,21,22,23,24,25,27,28,29],"public":[3,4,5],"return":[7,32],"static":[4,12,39],"true":[5,7,8,19,20,23,32],"var":[7,32],A:[11,26],For:3,If:[2,19],In:5,No:[8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,34,35,36,37,38,40,43,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72],The:[0,4,5,7,12,13,15,23,32,40,42,46,62],Then:3,Will:[23,62],abl:3,abov:2,accept:4,acolumn:[12,40],acontainerclass:[7,24,29,32],action:[5,8,9,16],actiontyp:8,ad:[3,6],adapt:18,adata:[12,40],add:[3,5,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],addbutton:9,addclass:[7,32],addcolumn:28,addcssclass:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],addcssfilerelpath:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],adddeferredblock:[7,10,12,13,14,15,16,19,21,23,24,27,28,29],addextrablock:9,addhtml:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],addjsfilerelpath:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],addmainblock:21,addmultiplecssfilesrelpath:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],addmultiplejsfilesrelpath:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],addopt:19,addsubblock:[7,10,12,13,14,15,16,19,21,23,24,27,28,29],addsubtitleblock:21,addtitleblock:21,addtoolbarblock:21,aextraparam:12,after:3,ajax:[7,32],ajaxdata:12,ajaxurl:12,alert:[8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,31,32],all:2,allow:[19,29],alreadi:7,also:9,altern:8,amonth:5,an:[3,4,5,7,8,9,32],ani:[4,8],anim:[7,32],aoption:12,aparam:[4,5,13],applic:[3,4],approot:3,aquart:[4,5],ar:[4,5,7],arrai:[4,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],asset:2,attcod:13,attlabel:13,attribut:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],atttyp:13,autoload:3,avoid:8,base:29,basi:[7,8,12,21],befor:19,begin:3,better:18,bismedallion:23,bissubmit:[5,8],block:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],bodi:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],bool:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],bselect:[4,5,20],bstatu:[7,32],build:3,built:3,button:[5,9,11,33],buttongroup:11,buttontext:17,buttontoolbarspac:25,call:[3,5,7,32],can:[2,3,4,7,32],cancel:8,cancoreupd:[7,32],cannot:8,chang:19,check:[3,7],choic:8,code:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,62],collaps:7,collapsiblesect:11,color:[7,8,21],colorfromclass:21,colorfromcolorsemant:21,colorfromormstyl:21,column:[12,26,28,40],combodo:[3,4],comfort:3,comment:[10,13,15,16,17,18,20,22,23,24,27,28,29],commun:7,compon:[3,7,8,12,18,21,30],compos:3,consid:8,consol:11,contain:[2,4,23,29],content:[7,10,12,13,14,15,16,19,21,23,24,27,28,29,32],control:[2,4,5],core:[7,32],correspond:[3,5],creat:[3,4,5,6,19],css:[2,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],cssclass:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],csscolorclass:21,current:[4,5],danger:[7,21],data:[2,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,32,40],dataattribut:[4,5,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],datat:[11,39],date:4,dbobjectset:12,deal:18,dedic:2,deferredblock:[7,10,12,13,14,15,16,19,21,23,24,27,28,29],descript:[12,40],descriptionfield1:[12,40],destruct:8,detect:19,develop:3,dict_:[7,32],dict_format:[23,62],dictionari:2,differ:2,dir_error_out:[7,32],disabl:20,displai:[2,3,4,7,11,19,23,29,32,62],displaycolumn:12,displaypag:[3,4,5],doc:2,dump:3,dure:3,dynam:[4,12,39],els:[7,32],endfor:[4,5],enduialert:[7,32],enduicollapsiblesect:10,enduicolumn:27,enduicontentblock:[4,5,7,29,32],enduidatat:12,enduifield:[13,42],enduifieldbadg:14,enduifieldset:[15,46],enduiform:[4,5,16],enduimulticolumn:28,enduipanel:21,enduiselect:[4,5,19],enduititl:[3,4,5,23,62],enduitoolbar:24,enter:3,environ:[15,46],error:[7,32],exampl:[4,33,41,45],exec:3,exec_modul:3,exec_pag:3,extend:[3,4,5],extens:2,failur:[7,21,31,32],fals:[4,5,7,8,32],featur:0,februari:[4,5],feedback:7,field:[11,15,18,41,42],fieldbadg:11,fieldset:[11,13,45,46],filenam:17,fileselect:11,first:8,focu:8,folder:[2,3],follow:[2,12,23,40,62],forfailur:32,forhidden:5,forinform:32,form:[4,5,8,11,18,19],format:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,40],forpag:[3,4,5,62],forprimaryact:5,forselect:[4,5],forselectopt:[4,5],found:3,from:[3,7],fulltextsearchtitle_text:[23,62],gener:[2,5,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,32,42,46],get:2,getus:4,give:[4,7],go:[3,8],goe:[7,10,12,13,14,15,16,19,21,23,24,27,28,29,32],ha:[9,12,40],hand:8,handleoper:3,have:[3,4,5,12,40],he:8,header:[7,32],hello:[4,6],helloworld:[3,4,5],helper:2,here:[3,4,7,10,12,13,14,15,16,19,21,23,24,27,28,29,32],hidden:[5,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,32],hook:2,how:4,html:[3,4,5,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,32],http:3,ibo:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,32],iconclass:8,id:7,ilevel:23,img:2,imonth:5,inc:3,index:[3,4,5],indic:[3,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],inform:[3,5,7,11,21,31,32],initdisplaydata:12,input:[5,11,19],inputid:13,inputtyp:13,instal:3,instanc:3,instead:8,ischeck:18,isclos:[7,32],iscollaps:[7,21,32],isdis:[8,18],isheadervisibleonscrol:21,ishidden:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,32],islabelbefor:19,ismandatori:13,ismultipl:19,isreadonli:[13,18],isslav:13,itop:[2,3,4,11,13,15,18,42,46],itopupd:[7,32],iuiblock:[7,9,10,12,13,14,15,16,19,21,23,24,27,28,29],iuicontentblock:21,januari:[4,5],javascript:[7,32],js:2,jscode:8,jsrefresh:12,just:3,label:[8,12,13,18,19,20,40],labelfield1:[12,40],land:3,layout:[3,13,30],let:[3,4,5],like:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],line:29,link:8,ll:2,load:[7,32],localhost:3,locat:3,main:[7,8],mainblock:21,make:[7,8,9,12,21],mandatori:[8,9,10,12,13,14,15,17,18,19,20,21,23,27,29],march:[4,5],menu:9,messag:[7,21],method:[3,4],model:2,modifi:5,modul:[2,3],modulesroot:3,month:[4,5],more:[3,4],multicolumn:26,multipl:[5,19],must:[5,7],mustchang:13,mustprompt:13,mvc:0,my:[2,3,4],mycompani:[3,4],myform:5,mymodul:[3,4],mymodulecontrol:[3,4,5],name:[3,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],namefield1:[12,40],namefield2:[12,40],namespac:[3,4],navig:8,need:5,next:3,nice:3,now:[3,5],object:21,oblock:27,obutton:9,ocancoreupd:[7,32],oinput:13,ok:5,omenu:9,onclickjscod:8,one:5,onli:[5,7,8],onsubmitjscod:16,opag:12,open:8,openedbydefault:[7,10],oper:[3,6],operationhelloworld:[3,4],operationselectmonth:5,option:[7,8,9,10,12,13,15,16,17,18,19,20,21,22,23,24,25,27,28,29],orequir:[7,32],ormstyl:[14,21],oset:12,ostyl:14,otitl:23,oupdatecontrol:3,output:[4,5],page:[2,3,7,26],panel:[11,12],param:[8,12,14,25],paramet:4,part:5,pass:[5,6],path:3,php:[2,3,4,5],placehold:18,popovermenu:9,posit:[8,19],pre:29,present:[2,30],previou:5,primari:[7,8,9,21],product:[13,42],provid:[8,9,10,12,14,16,17,18,19,20,21,22,24,25,27,28,29,34,35,36,37,38,40,43,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72],purpos:8,put:2,r:4,raw:7,readparam:5,real:[7,32],rectangular:7,relat:[13,15],remov:7,removeclass:[7,32],render:3,requir:[7,32],require_onc:3,result:[13,15,42,46],resultcolumn:12,role:[4,5],run:3,s:[3,4,5],sanit:7,scheme:[7,21],sclass:21,scode:29,scontent:7,screen:7,sdate:4,second:8,secondari:[7,8,21],see:[3,8,18],seen:4,select:[3,4,5,11,20],selectmonth:5,selectopt:[11,19],selector:4,send:4,serv:26,servic:2,set:[3,5,7,32],setdefaultoper:3,setup:3,sfilter:12,sfulltext:[23,62],she:8,should:[3,8],show:[7,32],showfilenam:17,siconclass:8,siconcovermethod:23,siconurl:23,sid:[4,5,7,8,10,12,13,15,16,17,18,19,20,22,23,24,25,27,28,29,32],side:9,sinputid:18,sinputnam:18,sinputtyp:18,sinputvalu:18,slabel:[4,5,8,13,18,19,20,42],slayout:13,slegend:[15,46],slistid:12,small:42,smessag:[7,32],smonth:[4,5],sname:[4,5,8,17,18,19],some:4,someth:8,soon:19,space:3,specif:[3,7,21],specifi:3,spinner:[7,11,32],src:[2,3,4,5],sref:12,sselectedmonth:5,ssubtitl:21,standard:[4,5,7,32,46],starget:8,startup:3,stitl:[3,4,5,7,10,12,21,23,62],stooltiptext:8,string:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],structur:[0,6],stype:[8,18],sub:29,subblock:[7,10,12,13,14,15,16,19,21,23,24,27,28,29],submit:[5,19],submitonchang:19,subtitl:21,subtitleblock:21,success:[7,8,21,31,32],surl:8,svalu:[4,5,8,14,18,20],svaluehtml:13,symlink:3,syntax:[3,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],system:7,systeminform:3,tag:3,tell:8,templat:[2,5,6],temporari:[7,32],them:4,thi:[3,4,5,8],titl:[3,7,11,21],titleblock:21,toolbar:11,toolbarspac:11,toolblock:21,toolkit:3,tooltip:8,transform:4,trigger:8,tutori:30,twig:[2,3,4,5],twigbas:[3,4],two:4,type:[4,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],ui:[3,7,8,23,32,62],uialert:[7,32],uiblock:[13,19,23,27],uibutton:[5,8],uibuttongroup:9,uicollapsiblesect:10,uicolumn:27,uicontentblock:[4,5,7,26,32],uidatat:12,uifield:[13,15,42,46],uifieldbadg:14,uifieldset:[15,46],uifileselect:17,uiform:[4,5,16],uiinput:[5,18],uimulticolumn:28,uipanel:21,uiselect:[4,5,19],uiselectopt:[4,5,20],uispinn:[7,22,32],uititl:[3,4,5,23,62],uitoolbar:24,uitoolbarspac:25,unitari:11,updat:[3,7,32],url:8,us:[2,3,4,5,7,8,11,29,32],user:[7,8],userright:4,util:5,valid:8,valu:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],valuefield1:[12,40],valuefield2:[12,40],valueid:13,valueraw:13,variabl:[5,6],vendor:2,version:2,want:3,warn:[7,21,31],we:[3,4,5],webpag:12,when:[3,18],wide:7,without:3,world:[4,6],yet:[8,9,10,12,14,16,17,18,19,20,21,22,24,25,27,28,29,34,35,36,37,38,40,43,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72],you:[2,3,4],your:[2,3]},titles:["Twig Base Presentation","Twig Base Reference","1. Creating the structure","2. Hello World!","3. Passing variables to templates","4. Adding new operations","Twig Base Tutorial","Alert","Button","ButtonGroup","CollapsibleSection","UI Components","DataTable","Field","FieldBadge","FieldSet","Form","FileSelect","Input","Select","SelectOption","Panel","Spinner","Title","Toolbar","ToolbarSpacer","UI Layouts","Column","MultiColumn","UIContentBlock","Welcome to iTop 3.0 UI\u2019s documentation!","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples"],titleterms:{"0":30,"1":2,"2":3,"3":[4,30],"4":5,"new":5,The:3,ad:5,alert:7,alternativeneutr:8,base:[0,1,6,30],button:8,buttongroup:9,buttonwithoptionsmenu:9,collapsiblesect:10,column:27,common:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],compon:[11,26],control:3,creat:2,datat:12,destructiveiconlink:8,document:30,end:3,exampl:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72],field:13,fieldbadg:14,fieldset:15,fileselect:17,foract:24,foralternativedestructiveact:8,foralternativeprimaryact:8,foralternativesecondaryact:8,foralternativevalidationact:8,forblock:27,forbutton:24,forcancel:8,forclass:21,forcod:29,fordang:[7,21],fordestructiveact:8,forfailur:[7,21],forfield:14,forform:12,forhidden:18,forinform:[7,21],forinputwithlabel:18,form:16,forobject:12,forpag:23,forpagewithicon:23,forpositiveact:8,forpreformat:29,forprimaryact:8,forrend:12,forrenderingobject:12,forresult:12,forsecondaryact:8,forselect:19,forselectopt:20,forselectwithlabel:19,forstaticdata:12,forsuccess:[7,21],forwarn:[7,21],fromobject:13,fromparam:13,hello:3,iconact:8,iconlink:8,input:18,itop:30,larg:13,layout:26,linkneutr:8,multicolumn:28,neutral:[7,8,21,23],oper:5,output:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,69,71],panel:21,paramet:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],pass:4,point:3,present:0,refer:[1,30],s:30,select:19,selectopt:20,small:13,spinner:22,standard:[10,13,15,16,17,18,22,23,24,25,27,28,29],structur:2,tag:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30],templat:[3,4],titl:23,toolbar:24,toolbarspac:25,tutori:6,twig:[0,1,6,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30],ui:[11,26,30],uicontentblock:29,variabl:4,welcom:30,withbrandingprimarycolor:[7,21],withbrandingsecondarycolor:[7,21],world:3}}) \ No newline at end of file +Search.setIndex({docnames:["TwigBase/TwigBase","TwigBaseReference/TwigBaseReference","TwigBaseTuto/Step1/Step1","TwigBaseTuto/Step2/Step2","TwigBaseTuto/Step3/Step3","TwigBaseTuto/Step4/Step4","TwigBaseTuto/TwigBaseTuto","generated/Component/Alert/Alert","generated/Component/Button/Button","generated/Component/ButtonGroup/ButtonGroup","generated/Component/CollapsibleSection/CollapsibleSection","generated/Component/Component","generated/Component/DataTable/DataTable","generated/Component/Field/Field","generated/Component/FieldBadge/FieldBadge","generated/Component/FieldSet/FieldSet","generated/Component/Form/Form","generated/Component/Input/FileSelect/FileSelect","generated/Component/Input/Input","generated/Component/Input/Select/Select","generated/Component/Input/Select/SelectOption","generated/Component/Panel/Panel","generated/Component/Spinner/Spinner","generated/Component/Title/Title","generated/Component/Toolbar/Toolbar","generated/Component/Toolbar/ToolbarSpacer/ToolbarSpacer","generated/Layout/Layout","generated/Layout/MultiColumn/Column/Column","generated/Layout/MultiColumn/MultiColumn","generated/Layout/UIContentBlock","index","manual/Component/Alert/AlertAdditionalDescription","manual/Component/Alert/AlertFooter","manual/Component/Button/ButtonAdditionalDescription","manual/Component/Button/ButtonFooter","manual/Component/ButtonGroup/ButtonGroupAdditionalDescription","manual/Component/ButtonGroup/ButtonGroupFooter","manual/Component/CollapsibleSection/CollapsibleSectionAdditionalDescription","manual/Component/CollapsibleSection/CollapsibleSectionFooter","manual/Component/DataTable/DataTableAdditionalDescription","manual/Component/DataTable/DataTableFooter","manual/Component/Field/FieldAdditionalDescription","manual/Component/Field/FieldFooter","manual/Component/FieldBadge/FieldBadgeAdditionalDescription","manual/Component/FieldBadge/FieldBadgeFooter","manual/Component/FieldSet/FieldSetAdditionalDescription","manual/Component/FieldSet/FieldSetFooter","manual/Component/Form/FormAdditionalDescription","manual/Component/Form/FormFooter","manual/Component/Input/FileSelect/FileSelectAdditionalDescription","manual/Component/Input/FileSelect/FileSelectFooter","manual/Component/Input/InputAdditionalDescription","manual/Component/Input/InputFooter","manual/Component/Input/Select/SelectAdditionalDescription","manual/Component/Input/Select/SelectFooter","manual/Component/Input/Select/SelectOptionAdditionalDescription","manual/Component/Input/Select/SelectOptionFooter","manual/Component/Panel/PanelAdditionalDescription","manual/Component/Panel/PanelFooter","manual/Component/Spinner/SpinnerAdditionalDescription","manual/Component/Spinner/SpinnerFooter","manual/Component/Title/TitleAdditionalDescription","manual/Component/Title/TitleFooter","manual/Component/Toolbar/ToolbarAdditionalDescription","manual/Component/Toolbar/ToolbarFooter","manual/Component/Toolbar/ToolbarSpacer/ToolbarSpacerAdditionalDescription","manual/Component/Toolbar/ToolbarSpacer/ToolbarSpacerFooter","manual/Layout/MultiColumn/Column/ColumnAdditionalDescription","manual/Layout/MultiColumn/Column/ColumnFooter","manual/Layout/MultiColumn/MultiColumnAdditionalDescription","manual/Layout/MultiColumn/MultiColumnFooter","manual/Layout/UIContentBlockAdditionalDescription","manual/Layout/UIContentBlockFooter"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["TwigBase\\TwigBase.rst","TwigBaseReference\\TwigBaseReference.rst","TwigBaseTuto\\Step1\\Step1.rst","TwigBaseTuto\\Step2\\Step2.rst","TwigBaseTuto\\Step3\\Step3.rst","TwigBaseTuto\\Step4\\Step4.rst","TwigBaseTuto\\TwigBaseTuto.rst","generated\\Component\\Alert\\Alert.rst","generated\\Component\\Button\\Button.rst","generated\\Component\\ButtonGroup\\ButtonGroup.rst","generated\\Component\\CollapsibleSection\\CollapsibleSection.rst","generated\\Component\\Component.rst","generated\\Component\\DataTable\\DataTable.rst","generated\\Component\\Field\\Field.rst","generated\\Component\\FieldBadge\\FieldBadge.rst","generated\\Component\\FieldSet\\FieldSet.rst","generated\\Component\\Form\\Form.rst","generated\\Component\\Input\\FileSelect\\FileSelect.rst","generated\\Component\\Input\\Input.rst","generated\\Component\\Input\\Select\\Select.rst","generated\\Component\\Input\\Select\\SelectOption.rst","generated\\Component\\Panel\\Panel.rst","generated\\Component\\Spinner\\Spinner.rst","generated\\Component\\Title\\Title.rst","generated\\Component\\Toolbar\\Toolbar.rst","generated\\Component\\Toolbar\\ToolbarSpacer\\ToolbarSpacer.rst","generated\\Layout\\Layout.rst","generated\\Layout\\MultiColumn\\Column\\Column.rst","generated\\Layout\\MultiColumn\\MultiColumn.rst","generated\\Layout\\UIContentBlock.rst","index.rst","manual\\Component\\Alert\\AlertAdditionalDescription.rst","manual\\Component\\Alert\\AlertFooter.rst","manual\\Component\\Button\\ButtonAdditionalDescription.rst","manual\\Component\\Button\\ButtonFooter.rst","manual\\Component\\ButtonGroup\\ButtonGroupAdditionalDescription.rst","manual\\Component\\ButtonGroup\\ButtonGroupFooter.rst","manual\\Component\\CollapsibleSection\\CollapsibleSectionAdditionalDescription.rst","manual\\Component\\CollapsibleSection\\CollapsibleSectionFooter.rst","manual\\Component\\DataTable\\DataTableAdditionalDescription.rst","manual\\Component\\DataTable\\DataTableFooter.rst","manual\\Component\\Field\\FieldAdditionalDescription.rst","manual\\Component\\Field\\FieldFooter.rst","manual\\Component\\FieldBadge\\FieldBadgeAdditionalDescription.rst","manual\\Component\\FieldBadge\\FieldBadgeFooter.rst","manual\\Component\\FieldSet\\FieldSetAdditionalDescription.rst","manual\\Component\\FieldSet\\FieldSetFooter.rst","manual\\Component\\Form\\FormAdditionalDescription.rst","manual\\Component\\Form\\FormFooter.rst","manual\\Component\\Input\\FileSelect\\FileSelectAdditionalDescription.rst","manual\\Component\\Input\\FileSelect\\FileSelectFooter.rst","manual\\Component\\Input\\InputAdditionalDescription.rst","manual\\Component\\Input\\InputFooter.rst","manual\\Component\\Input\\Select\\SelectAdditionalDescription.rst","manual\\Component\\Input\\Select\\SelectFooter.rst","manual\\Component\\Input\\Select\\SelectOptionAdditionalDescription.rst","manual\\Component\\Input\\Select\\SelectOptionFooter.rst","manual\\Component\\Panel\\PanelAdditionalDescription.rst","manual\\Component\\Panel\\PanelFooter.rst","manual\\Component\\Spinner\\SpinnerAdditionalDescription.rst","manual\\Component\\Spinner\\SpinnerFooter.rst","manual\\Component\\Title\\TitleAdditionalDescription.rst","manual\\Component\\Title\\TitleFooter.rst","manual\\Component\\Toolbar\\ToolbarAdditionalDescription.rst","manual\\Component\\Toolbar\\ToolbarFooter.rst","manual\\Component\\Toolbar\\ToolbarSpacer\\ToolbarSpacerAdditionalDescription.rst","manual\\Component\\Toolbar\\ToolbarSpacer\\ToolbarSpacerFooter.rst","manual\\Layout\\MultiColumn\\Column\\ColumnAdditionalDescription.rst","manual\\Layout\\MultiColumn\\Column\\ColumnFooter.rst","manual\\Layout\\MultiColumn\\MultiColumnAdditionalDescription.rst","manual\\Layout\\MultiColumn\\MultiColumnFooter.rst","manual\\Layout\\UIContentBlockAdditionalDescription.rst","manual\\Layout\\UIContentBlockFooter.rst"],objects:{},objnames:{},objtypes:{},terms:{"0":[2,5],"1":[6,23],"2":[4,6],"3":[2,5,6],"4":6,"break":29,"case":[3,7,32],"class":[3,4,5,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],"default":[3,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],"function":[3,4,5,7,32],"int":23,"new":[2,3,6],"null":[7,8,10,12,13,15,16,17,18,19,20,21,22,23,24,25,27,28,29],"public":[3,4,5],"return":[7,32],"static":[4,12,39],"true":[3,5,7,8,19,20,23,32],"var":[7,32],A:[11,26],For:3,If:[2,3,19],In:[3,5],No:[8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,34,35,36,37,38,40,43,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72],The:[0,4,5,7,12,13,15,23,32,40,42,46,62],Then:3,Will:[23,62],abl:3,abov:2,accept:4,acolumn:[12,40],acontainerclass:[7,24,29,32],action:[5,8,9,16],actiontyp:8,ad:[3,6],adapt:18,adata:[12,40],add:[3,5,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],addbutton:9,addclass:[7,32],addcolumn:28,addcssclass:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],addcssfilerelpath:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],adddeferredblock:[7,10,12,13,14,15,16,19,21,23,24,27,28,29],addextrablock:9,addhtml:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],addjsfilerelpath:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],addmainblock:21,addmultiplecssfilesrelpath:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],addmultiplejsfilesrelpath:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],addopt:19,addsubblock:[7,10,12,13,14,15,16,19,21,23,24,27,28,29],addsubtitleblock:21,addtitleblock:21,addtoolbarblock:21,aextraparam:12,after:3,ajax:[7,32],ajaxdata:12,ajaxurl:12,alert:[8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,31,32],all:[2,3],allow:[19,29],alreadi:7,also:9,altern:8,amonth:5,an:[0,3,4,5,7,8,9,32],ani:[4,8],anim:[7,32],aoption:12,aparam:[4,5,13],applic:[3,4],approot:3,aquart:[4,5],ar:[4,5,7],arrai:[3,4,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],asset:2,attcod:13,attlabel:13,attribut:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],atttyp:13,autoload:3,automat:0,avoid:8,base:29,basi:[7,8,12,21],befor:19,begin:3,better:18,bismedallion:23,bissubmit:[5,8],block:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],bodi:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],bool:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],bselect:[4,5,20],bstatu:[7,32],build:3,built:3,button:[5,9,11,33],buttongroup:11,buttontext:17,buttontoolbarspac:25,call:[0,3,5,7,32],can:[2,3,4,7,32],cancel:8,cancoreupd:[7,32],cannot:8,chang:[3,19],check:[3,5,7],choic:8,code:[5,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,62],collaps:7,collapsiblesect:11,color:[7,8,21],colorfromclass:21,colorfromcolorsemant:21,colorfromormstyl:21,column:[12,26,28,40],com:3,combodo:[3,4],comfort:3,comment:[10,13,15,16,17,18,20,22,23,24,27,28,29],commun:7,compon:[3,7,8,12,18,21,30],compos:3,configur:3,consid:8,consol:11,contain:[0,2,4,23,29],content:[7,10,12,13,14,15,16,19,21,23,24,27,28,29,32],control:[0,2,4,5],core:[7,32],correspond:[3,5],creat:[0,3,4,5,6,19],creator:0,css:[2,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],cssclass:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],csscolorclass:21,current:[4,5],danger:[7,21],data:[0,2,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,32,40],dataattribut:[4,5,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],datat:[11,39],date:4,dbobjectset:12,deal:18,dedic:2,deferredblock:[7,10,12,13,14,15,16,19,21,23,24,27,28,29],defin:0,descript:[12,40],descriptionfield1:[12,40],design:0,destruct:8,detect:19,dev:3,develop:3,developer_mod:3,dict_:[7,32],dict_format:[23,62],dictionari:2,differ:2,dir_error_out:[7,32],disabl:20,disclaim:5,displai:[0,2,3,4,7,11,19,23,29,32,62],displaycolumn:12,displaypag:[3,4,5],doc:2,doe:3,don:5,done:[0,5],dump:3,dure:3,dynam:[4,12,39],els:[7,32],enabl:3,end:0,endfor:[4,5],enduialert:[7,32],enduicollapsiblesect:10,enduicolumn:27,enduicontentblock:[4,5,7,29,32],enduidatat:12,enduifield:[13,42],enduifieldbadg:14,enduifieldset:[15,46],enduiform:[4,5,16],enduimulticolumn:28,enduipanel:21,enduiselect:[4,5,19],enduititl:[3,4,5,23,62],enduitoolbar:24,enter:3,entri:5,env:3,environ:[15,46],error:[7,32],exampl:[4,33,41,45],exec:3,exec_modul:3,exec_pag:3,extend:[3,4,5],extens:[0,2],failur:[7,21,31,32],fals:[4,5,7,8,32],featur:0,februari:[4,5],feedback:7,field:[11,15,18,41,42],fieldbadg:11,fieldset:[11,13,45,46],file:3,filenam:17,fileselect:11,first:8,focu:8,folder:[2,3],follow:[0,2,3,12,23,40,62],forfailur:32,forhidden:5,forinform:32,form:[0,4,5,8,11,18,19],format:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,40],forpag:[3,4,5,62],forprimaryact:5,forselect:[4,5],forselectopt:[4,5],found:3,from:[0,3,7],fulltextsearchtitle_text:[23,62],gather:0,gener:[2,3,5,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,32,42,46],get:2,getus:4,github:3,give:[4,7],given:0,go:[3,8],goe:[7,10,12,13,14,15,16,19,21,23,24,27,28,29,32],ha:[9,12,40],hand:8,handleoper:3,have:[0,3,4,5,12,40],he:8,header:[7,32],hello:[4,6],helloworld:[3,4,5],help:0,helper:2,here:[3,4,7,10,12,13,14,15,16,19,21,23,24,27,28,29,32],hidden:[5,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,32],hook:2,how:4,html:[3,4,5,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,32],http:3,ibo:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,32],iconclass:8,id:7,ilevel:23,img:2,imonth:5,inc:3,index:[3,4,5],indic:[3,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],inform:[3,5,7,11,21,31,32],initdisplaydata:12,initi:3,input:[5,11,19],inputid:13,inputtyp:13,instal:3,instanc:3,instead:8,intend:0,ischeck:18,isclos:[7,32],iscollaps:[7,21,32],isdevelopmentenviron:3,isdis:[8,18],isheadervisibleonscrol:21,ishidden:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,32],islabelbefor:19,ismandatori:13,ismultipl:19,isreadonli:[13,18],isslav:13,itop:[2,3,4,11,13,15,18,42,46],itopupd:[7,32],itsm:[],iuiblock:[7,9,10,12,13,14,15,16,19,21,23,24,27,28,29],iuicontentblock:21,januari:[4,5],javascript:[7,32],job:3,js:2,jscode:8,jsrefresh:12,just:3,label:[8,12,13,18,19,20,40],labelfield1:[12,40],land:3,layout:[3,13,30],let:[3,4,5],like:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],line:29,link:8,ll:[2,3],load:[7,32],loadconfig:3,localhost:3,locat:3,main:[7,8],mainblock:21,make:[7,8,9,12,21],mandatori:[0,8,9,10,12,13,14,15,17,18,19,20,21,23,27,29],march:[4,5],mechan:0,menu:9,messag:[7,21],metamodel:3,method:[3,4],model:[0,2],modern:0,modifi:[3,5],modul:[2,3],modulesroot:3,month:[4,5],more:[3,4],multicolumn:26,multipl:[5,19],must:[5,7],mustchang:13,mustprompt:13,mvc:0,my:[2,3,4],mycompani:[3,4],myform:5,mymodul:[3,4],mymodulecontrol:[3,4,5],myset:3,name:[3,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],namefield1:[12,40],namefield2:[12,40],namespac:[3,4],navig:8,necessari:3,need:5,next:3,nice:3,notic:3,now:[3,5],object:21,oblock:27,obutton:9,ocancoreupd:[7,32],offici:3,oinput:13,ok:5,omenu:9,onclickjscod:8,one:5,onli:[5,7,8],onsubmitjscod:16,opag:12,open:8,openedbydefault:[7,10],oper:[0,3,6],operationhelloworld:[3,4],operationselectmonth:5,option:[0,7,8,9,10,12,13,15,16,17,18,19,20,21,22,23,24,25,27,28,29],orequir:[7,32],ormstyl:[14,21],oset:12,ostyl:14,otitl:23,oupdatecontrol:3,output:[4,5],packag:3,page:[2,3,7,26],panel:[11,12],param:[8,12,14,25],paramet:[0,3,4],part:[0,5],pass:[5,6],path:3,php:[2,3,4,5],placehold:18,point:0,popovermenu:9,posit:[8,19],pre:29,present:[2,30],previou:5,primari:[7,8,9,21],produc:0,product:[5,13,42],provid:[8,9,10,12,14,16,17,18,19,20,21,22,24,25,27,28,29,34,35,36,37,38,40,43,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72],purpos:8,put:2,r:4,raw:7,readparam:5,real:[7,32],receiv:0,recommend:0,rectangular:7,relat:[13,15],remov:7,removeclass:[7,32],render:3,request:0,requir:[7,32],require_onc:3,result:[3,13,15,42,46],resultcolumn:12,role:[4,5],rout:0,run:3,s:[3,4,5],sanit:7,scheme:[7,21],sclass:21,scode:29,scontent:7,screen:7,sdate:4,second:8,secondari:[7,8,21],see:[3,8,18],seen:4,select:[0,3,4,5,11,20],selectmonth:5,selectopt:[11,19],selector:4,send:4,serv:26,servic:[0,2],set:[3,5,7,32],setdefaultoper:3,setup:3,sfilter:12,sfulltext:[23,62],she:8,should:[3,8],show:[7,32],showfilenam:17,siconclass:8,siconcovermethod:23,siconurl:23,sid:[4,5,7,8,10,12,13,15,16,17,18,19,20,22,23,24,25,27,28,29,32],side:9,sinputid:18,sinputnam:18,sinputtyp:18,sinputvalu:18,slabel:[4,5,8,13,18,19,20,42],slayout:13,slegend:[15,46],slistid:12,small:42,smessag:[7,32],smonth:[4,5],sname:[4,5,8,17,18,19],some:[0,4],someth:8,soon:19,sourc:3,space:3,specif:[0,3,7,21],specifi:3,spinner:[7,11,32],src:[2,3,4,5],sref:12,sselectedmonth:5,ssubtitl:21,standard:[4,5,7,32,46],starget:8,startup:3,stitl:[3,4,5,7,10,12,21,23,62],stooltiptext:8,string:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],structur:[0,6],stype:[8,18],sub:29,subblock:[7,10,12,13,14,15,16,19,21,23,24,27,28,29],submit:[5,19],submitonchang:19,subtitl:21,subtitleblock:21,success:[7,8,21,31,32],surl:8,svalu:[4,5,8,14,18,20],svaluehtml:13,symlink:3,syntax:[3,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],system:7,systeminform:[],t:5,tag:3,tell:8,templat:[2,5,6],temporari:[7,32],them:4,thi:[0,3,4,5,8],titl:[3,7,11,21],titleblock:21,toolbar:11,toolbarspac:11,toolblock:21,toolkit:3,tooltip:8,transform:4,trigger:8,tutori:[5,30],twig:[2,3,4,5],twigbas:[3,4],two:4,type:[4,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],ui:[3,7,8,23,32,62],uialert:[7,32],uiblock:[13,19,23,27],uibutton:[5,8],uibuttongroup:9,uicollapsiblesect:10,uicolumn:27,uicontentblock:[4,5,7,26,32],uidatat:12,uifield:[13,15,42,46],uifieldbadg:14,uifieldset:[15,46],uifileselect:17,uiform:[4,5,16],uiinput:[5,18],uimulticolumn:28,uipanel:21,uiselect:[4,5,19],uiselectopt:[4,5,20],uispinn:[7,22,32],uititl:[3,4,5,23,62],uitoolbar:24,uitoolbarspac:25,unitari:11,unlock:3,updat:[3,7,32],url:8,us:[0,2,3,4,5,7,8,11,29,32],user:[7,8],userright:4,util:[3,5],valid:8,valu:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],valuefield1:[12,40],valuefield2:[12,40],valueid:13,valueraw:13,variabl:[5,6],vendor:2,version:2,view:0,wai:0,want:3,warn:[7,21,31],we:[3,4,5],webpag:12,when:[0,3,18],which:3,wide:7,without:3,wizard:3,work:3,world:[4,6],yet:[8,9,10,12,14,16,17,18,19,20,21,22,24,25,27,28,29,34,35,36,37,38,40,43,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72],you:[2,3,4],your:[2,3]},titles:["Twig Base Presentation","Twig Base Reference","1. Creating the structure","2. Hello World!","3. Passing variables to templates","4. Adding new operations","Twig Base Tutorial","Alert","Button","ButtonGroup","CollapsibleSection","UI Components","DataTable","Field","FieldBadge","FieldSet","Form","FileSelect","Input","Select","SelectOption","Panel","Spinner","Title","Toolbar","ToolbarSpacer","UI Layouts","Column","MultiColumn","UIContentBlock","Welcome to iTop 3.0 UI\u2019s documentation!","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples","Output","Examples"],titleterms:{"0":30,"1":2,"2":3,"3":[4,30],"4":5,"new":5,The:3,ad:5,alert:7,alternativeneutr:8,base:[0,1,6,30],button:8,buttongroup:9,buttonwithoptionsmenu:9,collapsiblesect:10,column:27,common:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],compon:[11,26],control:3,creat:2,datat:12,destructiveiconlink:8,document:30,end:3,exampl:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72],field:13,fieldbadg:14,fieldset:15,fileselect:17,foract:24,foralternativedestructiveact:8,foralternativeprimaryact:8,foralternativesecondaryact:8,foralternativevalidationact:8,forblock:27,forbutton:24,forcancel:8,forclass:21,forcod:29,fordang:[7,21],fordestructiveact:8,forfailur:[7,21],forfield:14,forform:12,forhidden:18,forinform:[7,21],forinputwithlabel:18,form:16,forobject:12,forpag:23,forpagewithicon:23,forpositiveact:8,forpreformat:29,forprimaryact:8,forrend:12,forrenderingobject:12,forresult:12,forsecondaryact:8,forselect:19,forselectopt:20,forselectwithlabel:19,forstaticdata:12,forsuccess:[7,21],forwarn:[7,21],fromobject:13,fromparam:13,hello:3,iconact:8,iconlink:8,input:18,itop:30,larg:13,layout:26,linkneutr:8,multicolumn:28,neutral:[7,8,21,23],oper:5,output:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,69,71],panel:21,paramet:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29],pass:4,point:3,present:0,refer:[1,30],s:30,select:19,selectopt:20,small:13,spinner:22,standard:[10,13,15,16,17,18,22,23,24,25,27,28,29],structur:2,tag:[7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30],templat:[3,4],titl:23,toolbar:24,toolbarspac:25,tutori:6,twig:[0,1,6,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30],ui:[11,26,30],uicontentblock:29,variabl:4,welcom:30,withbrandingprimarycolor:[7,21],withbrandingsecondarycolor:[7,21],world:3}}) \ No newline at end of file diff --git a/.doc/UI/source/TwigBase/MVC.png b/.doc/UI/source/TwigBase/MVC.png index ebebef42e8e356a6a6c2fb1dea108d56f39a49c4..042f6a493362f76f8666d784d132dd7269fbc481 100644 GIT binary patch literal 32924 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

5TnmE80g{QL1Am^7~DN zkCTnK{Ni3u>~Vp@@7B^%EVP)rgRo9+!jkSEjxcKPvAj2+*Qk(qlTm4ZaR@P zyY-&NTl6wHF#k!YUL@VB5Wiz;+T@{&dxU%n$l1hJ%cPphIII1~;M^PYRiUHl_K}g# zJrQI0VDUG8Jtw{X<-(+0IIKb57t7z&5HTOm#V0;lw1iDhl)tB>0|7aen>%#m!oTgl z&HNS`9~)L0dPItFD$k!WZ!Xt-=495~U*qgMMb_~R@!XRy!@UO00*sA}*Ngl(+T^2b zYyUH&=)F)w=VH86F9R>9a!BHm4>zOpkJ<5&hN&7Qh0kZ$)Ly^br^>8X4v$pfA>UV> zHGv6oujSD_FGo5T+XvttF%f;pXsM#dX@2J!5;^`;Fq`^o+`PV{Rg(XGLWz$mz5=$b zz5Bjcbw20)#o#c;Ji3`;>%Q^aXQlFr^381)~S`^{EEQsqfEgQThBF`QkKV-GmM-|;vc;6J4 z%7ZiKW2>w18EE~`B|20+;RFnzyBVfHVm`KaF0QSa^I7)wm2_AhZ}w|=U!~<~tGffH zc|fe~_>;ZyUSZ#Tc87@mreW$wSW_=SfYmoQ^5}vKU*lMqzzml|bu&U(#-mHV6fXuD;<-z5-dQt#v+=-{Jew*8U#fbo`{Z&WtFzJ)JsR1bL` zUCFNF-&R&Q35EX&opKU-@Mw2`>n33?A_Xoovvpjcs7K)6FMS+O>@{>-M;UI4b<8DY zL`PFXjEt63rD9nn2Tgrfi~5#KJ(({4 z3#?0M%vl{8kwmocJ>~wuJkoD2BY5Jpds`dt1{PKx1KWV>Tk@}Z(E@8%(dW^HDrBXP zgYm==F{t^SXa4;B?CJLy20uO;ORZ3bL>kvQrPG*wxpbfPxXo6mt!a&-k<(pKpP+k9{Q5_jK`&-F|f~XD92Mr=`W&Rc;44a@AFC zXWV-?0`BiUpLYgBfRWaB0WkxvD0Bw5(w08C_R3~@f;K(BL+8zr^<>GDg4yzlaT}Mj z(_?s5)o7}S!^w1yoQ=8fDtCQX0LoA{6fu`yH)eJH!81$gwl)_xhei&l2Y*=Sv<+k!N!k3h8@yjFnm zW_9Fa+?uIr_bVE{%?tW&?GJ%5^E#5SRIF&Mf8EKu!{@|+0mqbRb0w&kOG|ofoUInI z9|krKmG@Dz4~p6jx@)qtvr0N|G#oEwZl3Jzy=mT1CQ34^#1-(HHVjw9hl$n03l{Ez zkJam!ueX^)?)W#>;&N{LW)*vUIV!3W%*PL(JacKo*Wsma=Y9Es;X4zKVG{Io6e&0p zJo4Iz_Me0{JIoT?APGBncy9^TEVF-}bSfjiU{I)t10QXY`3PaWTBfa&Ce-dJP%vm~ z4m+F>kd2qaPFwL@&293KDR_O!;A-(xsqNh!j(RtY#7Hw1dvC~jf&zV=AH=&)8^jn6Q!X`o4QAaJACQY19) z*mc8hY7;-wDUid}@t0|jVFETMff+d?DZf4SAz&cz=mLvu*yI8|Y`W$5KN`RR2%HfBz40=C*G+{0$IT#3YHWRVBQ1veE3 zTE<@{2o^Y+?594jv}v!l2xf*5U-57xn*yJ9fTxe4^>a4Mze8Vccn9wdN^egKQ^-Q^ zW6sZxHfP6nXj$O53=IrYvdY|8Eu?s(>U3XOgm@~1w^GsLdyts@+(BF^zN^-zlZHy${7ICFw9xoM3F3u-S<`s=j4pA*)cE)` zB4up?61?_zA-?{F7W=536W9lTI0bddVUgSs3_Ol8TkfGZMf%pl&LBFEx?2AJjsXNK zYq(z7yd~wfoaKeuR1WP~_t8H*7}XSt;VdJ4gq%`Q9+t z(RYCtXZs@3Wqhjmv;46$wwstX@7>?9q9o#?f})X)vyn&e-+Rqkzy9Lc&j_2r$v_$G zUJ5(tj*IA`njQT*`s>r6;qR!;pUPsX7Iz9~UgORK(! zjBQA%sNJEmO<0e}7xvZzFN=KHgJDH8sjLw>J3l1W(%#!XSXKg9f=(ux;a0h4z_zvM zY13Wpv*9n!+Rpn$o+I3WD-}r3%o+TGZsvQ;Ntp@Y9fERmwYf&&um0SE2>ps2CQ-N} z2n1;m=0_6l?+D~R19T^Ii7`;PYYe=W8dMPt5A45r8+bx-T>%&eTZVr-U4s;aXgx@fi4f5QIWBtLO3~*qpnT|~paG3tCh?iXT;hwkR{ceJQ_vTqV7 z)b$pk0W3tP1gvh*H!GOd&2)}-uMuk!Z!D;*n;fK-J5~GJ3Y1m*sBSDmR z01eyJSjKaV0mct?NmAn=?c{~P)0_D=vSs%?i`$@hfB{g;#Y0Dcp~3&ye9Y`ZwW zc1#fHh@f$+uTnHyWWI-6q`{^ElgbOxQ@*EH)cN~~SH?BE6t{Ua%Tm~pE$g@84>)1Z zo7N{AR99sBllzZ9UMMc-ErwfG--pg=#|*1S#m){N*Yiw|PYTW##+ir6v-f{8N1{B< zMZLC6>m||-((9qmm8F5iE9e0b%c~feo>;(Fx2d!jV$O%kFAI2_U3Ga%$4U)8KOTY> zi)JwBv|(#2XLM|C2A;mIR~A~WcJ{@4!G9;B=PnL2AWprJ0)E+Y!*|9Eemr2S-9dFe zRZhcmNXFvwR4_O67a>|fCODvgxQ#vk_k@uJjXUp)4yvO}c(1J){c-={4B=${%bZAb z5jNOtpZ80KC)uV~RXe*nhCVKG<)ha+FrfIJ!0_1Uyq{KkJ);Qzo60NW^aXiCEePcD zC!>5Ry{oK$k5Sy_u&La}#cV5fmCB0myJml~y4ApC)mX`#G|?`tGM4qNOCd3Ok(b6s zW-ZqOaO`6vpV7%V=g=hZsl3 ze)U@mi4K)m$<1SK_~(XM28Qd+e(yC=#+llVZf4d9$yh&!e(?|e!bTSUEzL|6Jc#(0 zU++E8H$BaP@BB=+8A4i!@o)2c9&wtiiq68e|6oN8SQUu4K<-|D>TinD3i$WDE0Gyx zFwoE7dUgA9*dwi+a=C>)`fD4uXEDW?+8z*{H4xc0jK&9aCBxP%wDFMoj1$b9vsA|V zoNVv)lm0cPvk!RcAK*h5tSBik?RG(B###m$M9LwW_a5JCM|$9$!Y;M`jb zFZCEW&R&adIO?Xwwa8TCDq^(uS=+phI9CpyZ=UrjBSam+im+5r(3YX0i};buUR9r9 z!9w}x`#0o9X7TGEoSL5!4pe3_A7yU%>Bm4}#+=p}u?GRY8~6ztxCcISYyRgADfg0Q zMx7IWh=!jw5KpY+rY!|1ayz}PLZm}QJ2#9ji#wv@K2%jvo^E7>ny6s+k3~jz z7j4Ej#Ddl;uTk1X+F>bF3-uYgqJpVf5{LNirP%a-9BKqY8rjAT%uUgC&y;EGD|rZB zM>N0=d3<;z_}Ve(Cnv+LXHqCA$liPR62yOe6~6d4M!UVieoKeCur4D7zUva7wp5=Z z$^BlaB-eSb#1sVTlRAz$O8fnOY(<|e)t4JO-#B`D$TZa;F7FED>1u1eg|BxN;r6RZ zb)Bxg8&vkq67m@sd^M26h4FK-iL4Vr-i-bM)TV!q3ZynE%rs};ZOFcy3bLv*Y_l;B z^lvpG3IQ_mua3rNZE&BNBslU#JPmJ`=%Cm!qtz@@?JX9G*4ob;%IH>O?iXZt#w>I7 zWUp_Lf(}UY=)M5?9iIYMm5S!!sMRD^38lrP&V=*OGDEz(aGktON;QkNQM*facr1M*tg)!p8G?1AKK%O!B1o8|K z^6%?Dfh+X1AQ9l~c?KlQK#u;X2)a)>R%H{F#lWzy%5JSmM|GR)$;7RF4Zhjb#?pe< zmE|^Qmdn9>^iG&B0TvVw#`Pb~K`(=P#T2++(o@pwhbb)9q|J$Mc zt6fyPeMQ~#`;?fNv~;gME>hrsNC;5G7z@=X@8 z)IrPp?(=YY$zc{#3yDj5dz)6S*?cx-0G!h%+dk-fO{rQ|$M-Ymfm?^{jT*MA|z!OD?F; z2wSOA3r~n2E+IG`c$r*@Q+1Y`PflS-%fZ{kKL4u`Ym({rPcesyO_U**UK=fvFkW_) z`?~7coHdn+Ra;r7_I~dnEtwWqcirk%QkLo>BSU&i)q9CMON<}9BD(UQCT%bIDBfCk zO4y)I0{ojSPpZ(q zZ6=jc-#i8Om&pA#+}3;!rl*IcUOSZ@V^hYoUs;34m-L3}ef$cJ2Vydtlf8MG+d^aY zB6Gic0njaIv822?W8+lyT&&}xsO?8&RwN=hV7Fi0=HT+4TQ zcI_A1LuGo!Q@nf|EiJRp(J!|le%;UBYOk=}T8r1LNBPK5h8@kizAI%hvI)(_D!P$& z3VxIufu@|C5v{}#z}JL@R-YlXL}4tOvGtOLe+i8ypIJ=NXmg`#Y!x?@506`853DbO z@*P8dLgZtZ_$Jifq3#EqHEUv1s9Rfo>$3tEhb!0%R>f;LP&wIBDNiovDf}tB?}>_Y zt>MTBTn=Vj`cv;U4LxaU12x?uz`KhN4Q?1bd#avs??I`%_Afo|H}l8E`Y2B9APVI? zp@lJqI4&0tvN$e}WWzi(>w}7aaVv5AjU2G-&36yN)Rk~0Yx$CMM{y=&>Rh`OcjZ3U z{gv^n9vp(==GG-SwmaU*z(5L6b(DCpRPy@#bXMP(Q(TnKH&9iAmNz zOH7H#waTz!{Q=E^fm%UX9HO(bZ4}ui|Lg+l_RW3z)k|_}22^tOYgyozQL?YnITkM2 zrmX{HO3;NAMy50$h-y>O&!--`G}eMi_kV1*6qQ#)d=2pWy1BdX>9votBm4KfPxuO3 z*GgPmrY%=_ywxS@okcq8ET^0Qjt4R1PAT4}@S@ z$v0@;XwuK}S-j_UpIMA2xBJq&&2Y#j*8g(03+8AY?EHEE_ARdaO~fp^9pFwAOp@gM z_5(&4;l0+9wGz~gZcoZ<@hsWc&Ih&SqW;MA+v_eT|3b zHG?`&LqxohAtOEU>{c$0D-jWJ3CObq7vhXlpJNF(bVv%eZWe|gS^6Bsh$D-xEO!y- z?mCu`H%z{c%Dd~YTM$K-6@S=_)~&gu`_e-9w`{z^1~|aC3TEn|jhu_mdll{p9={YD z(Uzc(_4+LAEla=@0Bf|JAE)In2$A{@s7F#EI2yKxr|GZP^ zhwZPgMuT73pto$AVHQNGF3lxBCru`v=vEdCy4K_bfV-&$>)N*iv)3PRC2MU6(n%yU z5ZNoKbAcAgYPq#)*X-PR^GJ#c>DnKw0|zc);UH$oEVs{_%3_Rnbyxi^-v&|hT&Ul> zyQ$Fi+7Bak|U;)tZNYOllJ+(lZ@sdl24!mN-pwtrA;Md2&0sdY!n^eK^Ikk z@loH6g1M^~fFY2;a)-;)=wnQ9?H%`j43smmy{rJk@=dBS>8f#s$#n9Qg!)a;uzDT- z=X2HAx)*wzWQNvFClD8h+*zc;Qm6Vo5zFPByifJE8 zucnB-U9Fz5ovre!#`l8*C&l)EoHupOQISB*Rl}NTa&tUSd$hdD%AR1JFF9WVi44?p zY?L>ZplEnZ%*5CU0ePVBt6HBIGrrY%HpMe0Q$M#J3ykR9xz-aaayP&_1ZsqE=#(F( zrwkSY-1FC;zFuxwG-0v^OpLW0Ev`#xm#D&CxX<9X8%)gj|9+?6x(>h}C-(sHTy_9^ z_qef=mE$=<))&sP*Ws}Pm;y9II6FaAsV?BO{=cD=VU!V|pbCPTa^5e+TZ$~un!9eK zUE0(m169!w6xBM*8cjP0-sE%}`9w?+1{wxX3SfSg)+RfVO>!6HPdd?NhY}!xRlC^4 zst^rQMhd2K)St=DWi)LZyYV6b+4(9E6eIY96YepMc%HnP#}km+O~ULX87|;yh{qF5 zfL`b*G3cq{#d}J)#~^0r3-x>GSTBhhZJ$Tc@==Ti(1A|g638b~29`E!m>j(J#N$aV zhknWv6fKeb`Gu8O-a!ZKtobb11I*fAtQ#7K4Fw5#6PUErE5+v`Vz83|u7K~T;UEd3 z<|J6f;{`M=A2ZKyg67`aB)`Oo|M#{`>wzL+Y7k-SuR(j8LY5co~U)!_UF6Na&{0!p!D$tGxo)tYJhlpuUyO^fw+ahh9X2X z{`alxl))^4dYj~a3cx*z)Rs63FIM?PzfexK%-_8GaCFTa?8+2Imx!!1e7p0 z9-vngO32x3HPt2P_L&&s`fm7z|O(O`t>Il0}*U^SGnwKbXgWT}*^S1B%8i=t@1;TGSWd0ZcVuJLe`{}MBGm_ly+cR8QX z=9H$y_%0VeK;t)R{BJtKy~}ziG?N=FE>fTfW8R98d#h| zcF8*mDvQFCuM)M(16=0`Ui`aP1tEZlQ}kWeTlzV|UFV*lqxh}pzrDsaF{+?(`I2>k zK8kkUeX!j#Zb!YgCgG_9=R=Bcd2rEF;|mABzqKTVqP@jintJ`I1_cQa&8`$%|Dyn^ zFG8?aJ8)znw+Z2Gg6HC-N#x}xxb8Z&B7)ii24G(Gk2pXVMsw@`ts0|GP+p=D-}{7@ zDQ+roCGg0m5SHL%1&l$D`*972(kQ8#g{wub@$ z%OU)=ZfxUH;-jUtn0T)vcuokxsf;(5DEtf;?U`Q7@1-7$`SrDt9`Lr2?|%N4U?V&E zCh@`SxV)!-E!G3>y`lusQ=*N3F*-SFm*FUx#(VAi05Jyl&LmUL0eoQ-WC|%)5Xp4u z?LNXX4<&E00$8G_>1+f9E(nl_jBj-aINs2Jh@H~alfBTdht?jCHmatT$+>+r83WgF zP+tMo?*i5jnOA*p*wj#7VJ}ov0C)XObptkkGHX;`S=|H=DUV`s3kSz*Ex!t~7rwpCvHi$}5qW{aZ4Fu@q7OxE&E=qShqf)bYEv zUJ{K}4gw^b{sA++lKQl`;yh_pPvr$+K>Yt0;EhLqrb$|hMLWH{7PRtgTCci;pIet} zXI?q8Kk0|xmY&MLQ%EZL2Iog6`dGKyA@2YL{MYa6<`#lZ9cpHyW5irC>{O*!APKH`1HgaO?%V)xenl5<)0FKwe@9#Ysl3;+Wy2f<9Z%Bz=sB&C;?{%C=nPH#8B!E zuh)?ca);3A`JJ`B0B3#y1c9FFPmMb_pSNwCdG&`F)iu;oL@x(;Cm#Q48}ii5 zs`+#{qXt%3c?h{U-asP3fXDhdSr+%1DKUc<9%ZFD@W+15KW8G&OiK7q57GZWR0AH-Bvaa&-v!D)L^5p|38>AIb;u8|uQW?dgFjne13X;P=_7-Ex21P(j@Oz2Gy%84WDAHFuisl()_NSHYV~!}DOU+OO$Hh0&A$Nf;KzS~hoibhrczv`g;u$zD>*i4H{McL7rk%#JZQtm ztIs$dd}4BeEuKu&V(X-Aq8PVBBD@doCOZ`J^sb-=}Z zc9ws-8)uOxp+ebr@|rtCAgofV{=2?P_SA=uD?TnhmfYulj{hugBtox}q#uHE0L z1LFoVYRDa7UU4UjH=IkQfgp{uu*q)c)k(`V$C+Oh96ldF>w9AH>pW*gy3}DgU5crA z;iEM36lLk~5$>>OxtW`AcB*COhJ9P1>SuIx9Js6daM+wW8u6pcd?QLA!llItk?w9e z)9Qc-G_DhW^V&3f{POpjHzPL8;Iflls{)@V-&1Mg=e~3(n&WAZBy`Fyn zHd$+B^P9w{C2jT>0uMbmTB%O7U@oV&6+=cjZZ7UJYiUnCAh00^PqFmG-~Ozr?xw5F z1&PW-9D!0chs<*pCYYve@3^x;J2a4*!W~R!T9;G70&@;+OlP=-98FAH>f{xi?1Wp% zID{!*s%{EeDj7SlX>+ji62~6H)c+e_8OcOB5x2$xmYoS$#-GKrid$RYG?8`Z7WB9y z2Xp;2+w5mG_82b_GvAY~m7Z`a+qk?YyVTwYy%M*`48|3|V#J>>49p&FgRh1JkB0+{ z7P4X>$G_l$%cgjahdgg8#*TCk*!_27p-Th|=7)LJ6lEv?&gSNy+Ug!bX48)qi;B_83WC^o26jD9+90h)v99@yM@42E4Q<;a1$>opg|D;)k&PV{9bccA z2pim=*da;>s{F7|+}9|Sne60dS6^x{StIKFH{&s%nVbMF^92o`s|O=X^exA&&fMDh zngiAzGkOXbx2Q)^@MhAa#cT9aT>Wau9#yff z`%nT4% z#NdT3xe~fq!mj|4FdVTH$l?(B&S>;eT&Qn;OtJndliw3{U$K;AWL>^nZa@lAr|)VxyII_A z_VW{g)ik4A&G3NZc!AjDecjTUp`xqbrWXu~a(7$D`i8M5SJrSha4l_T3uMwcY{xgd zN4xB#P+0iOXN%Gm^U4O_sja_#_wd^^1v_;=)f+o{P^UDgdH6O{f2h%6sKhP5wd{mT z1-&j_ar|o?D}IOqod6AfpYpFoXtcj9_GV~!DL6mrwDo`=;-Tq+DjeK7*h8CX4jeo) z1Hl#UmQSyxA*A@MBD@S=q_mm`^&}0(ys^$kg$@uh#<54_Xmt8d!JWjSpuz>^9&M)y zhhyB@;5^KL=%yq7Z5F1~`_$|H^IdcF2jA`hFjDp~OLjkwCDj<$)F>(?c;`^E>#TQC zQ{}gM4M%!S@fUufj*py@tNz77MLUdUV_&_57KXBR3r{+<5zDhPTQW;SMcHQ-CB6uA z=^2hEm+q+CQ!*S;E<=%Y>Fk!k^ln*2Fg2TWQ{P`deI+tqnd{J;9KHEE;@!?&b-V~4 zz7Z6EH;d^{FB_@60Ui>i3nyouq9ryzAT_^*Bt=Y9A%n-!N1XFs0ykQj%*{UWoaB`j z@jukwnqVzO+$2uV58`f}3IFJAy&QkH^*|6^7rU*-b7zObX_gaHsc zQok$`Ym^}Pbxa$YBUTDYnO+5wia8$A;%W6ue4bCmo2J#-T{|-Y&!qLCFMj>HbScts zqwp$nMZL%`KqK``K(_5$F4i^|6DI~oy6Uxwps2GvUPABz zaE42tK>a` zW`{**rH1JSL!J5NTGdfxH5Tg{?m_OOw27@=W)pUedr4W~dxzugS|Tt1iP53_>h@b! z@SoB6(yx|4H^ssDdU~g0Qm();guZh8TYZ6^$CJx@qz_MYf9bx^z z#Pe0&^s)+c8m>ZE952j!MHYIDFx+E&(DmWYfhvOAkEKo_PR`xC-nGnm@9^l*Fp)mK z^{sES_ZQ^DT(jokahWWDPXd4D()zz2Cd^%r$B4k&$fjcgp~d zU?HGTc_8Lm+3C5Fe{*#Fl_%f08o18SDfaojGY{)rfv*dzjvmqn{cqc)!P2kvI&zB> zzu^MwC(piD@EKC-#n1Y;uvhB3@t2)UJSKPd^gS5s4bQ2Ykb)Li?QgBeOAty0H0G3M z_+xQ%S*nw`2L~+~iK`msm8FAs4`3s$E3Z+Kn*|}|0>(J0NqD#NHJaN6?Tv>m83$)2 zsPgT1HbNy~kKUgwNw89{`jf4~=M|MP5ZJQsnq~KY{DDjP>Vt`+sxbnHw+Ld$SxT~ms>%Y>{uK(O1m;4l;*9WsVkmx zl%+$hOd=>3{ZgUo z1v>ZNgR^a~`W!o5si+dO;1Z4KfIm~=pSwk);THTJiKC>h2kIJa5&^jHs}e#{2;Z|a z7n2RBtkDMcOTLBMv0rn4quc#W(guYzU-z-$YhRcuQ1NAhlOH}F&;>1XqtIHf?Z@h|T*NUuHd);D-X0!e7Y4B>a~_*INC2alW{KbVIh zzLh3=WR<;?emNTdZmqEUsHR+~WFG^iGW3u>Km7Bt%q{yS6YiAuG$3nkUh}|){qze*WC;$xwTS#`p~!Ak{3l< zeGbwfIf|#^PZlK({mb~iM;#buP=MrJ2ze37M-B;YdQ!z$E8va=0YB>{Vu`OVwrsGQ z5ZM1aN(%tjpgsVTw$F_-A0MIF1n`r@kUSI}&)(u5RDz8NlmN6Y1AVkgS>H>hMwIkp zlPxJgYCr)U=y^%f64IAe1RB`^Xe#Kj{uA?;KnKU%)o(gI3d%mECK_5u3?FlxhgDry z!Am$~cpE)VM1#iQ;{dYGy1_rfV(wod!wSle-sgm9oCr*bq>Nn<`!23fv;sd99 zZ33^4uyZY?xBFkYT{Y4j6JjLk00{br75r=7Le1h<%9dY1uzu82sY8h%JW$No5|+7ze<&D1zN}(>TY*a?A_hJCVU@}R1e-Du(!Zzw zu=DG$7UnA-S>In&WESrkFdC$cD2J_7|Zj!bzh4wB%}slE2V68;DMT04*peK&kwwA|z#xFSXNw6e0lJ zSU!@?{Q10<(5x}~r6x5%7@*xCPHSMRykQqxMG~|_fUD^gY}v(8rmh>z_2XF)rJT$} z@(&3HMo|i&rItWe^DDIpB4oPr{dzqKsMp|PwG99g_oI#&YN?&m0R_zxN`;(@4Ac{Y zLi8!u1&nKd@LvMGxj_7o!1E8jX2Kv}2iPXQpWyZ`{rlY%>itx+_*lW$q#2~-}b;^hj z1CNIJJ&NZEGWt)=N`jygI#KtS5wXBvAaw>RI_3XM8gl?PMJTvCUj_+HUp(5Z$d;V% zuV7hAZSn(vBbyO~8R6l@qMWyv0Du;1o7Rhrk)Wr(#0k0>Vnrw?vRB;#e0r@Y35XiN znSnx3TGekNX??lMmh!yJ4h_*t<8=g!BEF~rk$ohq zYjYY52EYXx$YUXrpkRWvfI@$NDp1J;N{tOgTLd2m2&4L9ieXb(7ytNnSAf%{-6BHq zLZ0WsKLLg0Pz3{J1CcZ}mtR1tI^`rj^uYX8YGsLV*%VaVZ=Lxz{Y-g&OQ%-4*yKmo zaqs=8M-W1JaqDKT7eTk^D2N%UxBpMgg~1!+lPD+S%=KFkr2Qe5 z=t8b^ry%SaOpKn!Hg8^YVK;uvJ2J}je;~!l-qM_zwY6dyODGzf?_qEDzaGggOcF(n zzyZ}GQF#73mr-lUW_LTmM<&^O*>Y>t2sBOF<@R!ewE6c)wUF;asB(3gAR-{H(D z1jr^LZz-yiOcCrKuECN6^D8z%Pkdi1U&>ZBmpFd4Fvr4qltP_jw{>=?Sx3V^e2uW( z6v=?KJ4L;?)ta$7iMqbuZ-O3RAA){fKZO}{tpD#`z&yZzy){DVqy%LX_Ei3738lSD z`wmbl6ViQvt`ns5)tvIIR5(GQGoi&I^3(r?1PA@SkV(RLo|a3ykObZL=nP*k$2J1~ zD_9^uz0!ao0Kk`aFAU6*7tr<>eDgEovJ4Jv3K3cI%&QHyY&r)7X9^;M0&Ns-GarfP zo^I>=PLFxN{a=;N9WgtkRId7@bSAJ^0?_;hFea9AI@fFmnKf6wrY=JYEoJ?t&mrzS-aPeE!1qtm`d`H!?0$?%M{`PMjA10%;QJ zKH`TsGTauXW4KU9JAx~i1w4-@r{A2;q&&6u?(!e>hQI%v8XYzh2bUhVGu{->R;X7} zmdo6Pb%rqt`jCQ!bS`>SVSf-+vH1`NYCS~Up3T@%Um_2(cAB5J!&o7U<>@ZA(r{QF z+j^i!jB;$0Ouw1&vSX60n)gkxpoNTEVph)r@xr$c_0z{dlTn5)e*MQ%hzou|fV>aD zlctYdEM}dSzi7lz&6d0J@%6gZpA2%4pCQS}SP4GVnw`e3GO@$2?co4fmy#9pmCj)X z&0Cjr;o6AL`_CxD_|)}Fe||G^m__|WxZ@B%qx*+n=N>)V7N;WtzGdA4z7&w39R1Ar zV{#%xxy-XsJZr1rK*;SR1uSk=7U$+TdJ*DBF#O3BoNMh*y{Q6udy50?`Oe3s!+d{2 z`fO{`(@GsM9j zp?9q|YpeCl&TYDrazDm)ireY_3RGk0OLjNdEDr8ag2G61z`zUO>rUkX11)EN{ee#hRDoU>pkshfw#9e; zFDz^9?^+SDuvoZ4SZA5SnkF4Ar9Jze{>md203G9cdP&8GO{9PJDAsBdI%769bKh}e zJe0xdG2DdoaSxrGm1`c=BL0Q+h*+R3ZG~rmZ3b z-MY!>d$v24w1BPhoeraHJ}-xEdg4+iJz0$pz4#7*8q%FLABL&}8A{hL`lOJ@h7(eU zGAQtQlWgsNvZJ6(XWe^!&T+@pUB6q~(20gB0c3J(EqrqRF6C-ddEbYtF<6sdZ6%-G zzz4@EK$qjb4&ohptRyfV?|0>2w@&Y)wFH$3&56eYY0+Dkc<1K51M9PT47s$6)=G$m z2!J@W5`e_&I<>fs9lT0%3vz#Vqy);Qd{^FY*X1_nyRm;TOKHeA6V2cEPNFKmI?Pd9 zi(D2JuN=5dog^-uu~EfyE(tU_>f=uN@Q}XZt>!iIA5h+Gta6d}ml`Ay0&@mt`c$k+-IPM#>rPqG!`;Gty}?ld%em;F+cAfev;IAI%fHUza6o$JEz7g@Y5ooA+6-Z zb|b)1qp(hH*Ojd_Y;+n?@te3v;f;uXB7!eFAO}L@(Ard?;CFzjC~XN#lqY;O2Lwel zFUt~65Cv;aN=25)T}Ad1mVDHbvaa!6ngOV%!2PMsS~m;dzwZ^_q8ov4OY|5c{aIzg zQ>~9~8?=gPXZ`5hs^=*;Qlq&AQ(03|*`%DfIlS%GqVvi(U+=+4px1_5sVEy~$$!`~ z2_OH!+*U+2nG&qIbWD5S*(xrBdqlKaSX{i+7 z1hJseZt^EG|0aV|N`S3L`7YX4Qj)sB*KopAnji(Jkzo zC>mcm5(K5S(+<#9L@J(g=S0WVcfs$NZIeh-jD{m`N{?bp&VKL3a_f0{-4U;z{kzAQ zzGyN#BfSHpn@z~K%6ZmWnsG;mEn*+1%EB-HeOqQzFl&q-p2J9|Uh!pTL82;5?xgt? zn{Tdv=nL4Lp>ZYd@Wxv8JIOoYf$`!&;C~S|$bJ#M&wHl`g)Z){^K;l;f)SUL6zYjd1|3Fa6@S;LZ~ z%N@beGUrv5FZ|ct!sS>0{wAN5^sC(;XJ>XOL8N3j=`qmX9BY94)x)?EHSdB67;c-Q zj6RWGIL=v?n6@n0Dc*$jAxz)wmth-?jionm1vmqil4aZ=@%>ptTq%Q5Ph{XwaC`Da z8wSt>TxccGH1@7sYLGwgE*~jmrE!1cC<*aK>Y3P94$7G?lKUDcR0&GEOlV22bQnsr zHz~6atpv+q_%F>pc?!f{L9o;YiG!ELcKzp;Jo8FJ~9~z^G>*Yz{B}61ugp#0q^1Fl)K1Ze0tcQ z-)MYT;iW0>z0v^oby&7MmcR9H(EsQ`l;0ZLtynl~iP!aV{7;m+teq({>3>-5rtP*# zR!`OolbUbyA7K+MclcyN+^I^i&%FQHa;T&;wrd7-Yoxo&mmV(e5jJ+|2U8Z^nK$yScYIx(h|vhb&m9T*bK+iVr93cJr+>V?(J#dXF68sMl_{S z@k%b6#-=qj%?u8ztXDxnQJfdgKo-7seodPd{Nis>MiwocbM6x&c@iL@JQ9K~K?R65 zeZx>?Mgm$>7GIP~Xh2#I+X)eJW;7>m(j!x20#zHyiHk5OE_M_&`8WjvX+5}j&dT=| zHDc6!{g0mC1nEA3mZ-ag_3T7V{Cvj%VhjByj~2zPAXjPyErjn@UIN)&Ns2q{v$DI7 zYsJ2Icbcm9v9~7QJ~zE-V0-di^3O;w&p=v|4f2Eq?yA$+r03Zx>)1$E=H6&$q{F69+wt)zfc}bU zXwe|StY^+LV`m}~3qKtFHZwMQX!M{@^Q-qYV781r z2a{Srbg_n&dbqV1rb0=JCcP3GvGO!JNuF*f*@cYF>mCYTS{PV-UsJmhD(f@9>SKSZ zoPzB)!uy*8{_7-Wt?S_gi-W5CwUoCC(A@O$CQEb3!C5?dCxS_^SM#e9ozocBrgbSo zh9z*U^6ztgH9+K%6jcQd!iZW&`o~zBG94oiikf#5_nH2TbRGu|N_UY53$>G=YmiY0 zlwmmyNWLIhar3W60RQ(qPkni!n&_ws!u^5ApS4xfA`#FD6d;3dliBk%*f^SkY`XFi zHivkde6b)K;r9k;L~Y(9in>*b1+&_6V^&a*%JgTveA6-2y5@52vsOzL{c>mbq0>aAUzjamw6M!cwF?Ru~G?gDdW$z6Y+o`-+zk^%aEYm-|hZ~ zMr0SsdyXbItI~Q;egR{Y8D(v_h`coOHi5ihQ{c_y-I9OY$SRlM|Fc`L-4ORNgCAii zd6OGM|5tn8{YZ7+|9?uMfn=nFs}v!ttn9Lq?7c+_;UIgr$gU8PoxLJ^oRf@GM)t_T z$=*)KIL0x)ulL(^-JkpZe(vvo@V$O<<-E^pJok7!-~Q)GMSX|-0dhoYGQ`4pohLc< z-qYV)_ZU=;-H^qeFNPoV1xtQZ)H{5T_40R=+h~?nxjQfTzX$#E^TTb7v%-kw$C7#A zCUR@E_Px#*bPoyOeJyx+k#+RLV7Th7zDPU8K=*+;c*&1o$xn(phfC`H7p)lI;OaVm z!4O&|A=)A_QU|^r0?}s&$^Hy~0e{k<<@WRQw#y4o!JU+Bb^0sp9Bj;M7vrq5}}g5QuQSTYYAm zb3f}I*+bIFaa2H~5SBS%%8Im31Bm)$2!RU_F%z&UcQ*_0Kc2K?0Yyc9d!iYb)~5xn zX!OE@c_+N$@G==C4@l2k*Uk;ZeOorVZZ5!HXzCZK!EABNst}T&Lb=aWzibZI)hGnS zRDFUU(umXW=@4#vvg0i!%XwY}raH@WhwpjtR}ix0me0S_j8>QQ8P_tN<6Y)^HT;b+ za3KQTv5c`nL?1646<0sn{%jsgkt*`yaLubjL6>6wUNb)auT@~4uWt+#H7lsps-#s|98WC? zg;`#%Dn7s&W&G{x;MhB*F3;kWO;4kqa?ZVt0hQGYOfodSGcA(OTb%A6zmTRKX-;d0 zb02(PC*%(Kxccp$S9cr&ozK$kw#cI&Kx73P9M>Yds98eQxV8Fot>>{vod7>5IC38! z-k>aJ*QnkPy$XFr2R4R<>dhju(OM;{8Mm^IMs)qe6x-Z7`^;U3)PMQ;5@i{?$&rP& zMdmy~e0Z<+VEcL7#Yy!kVF5{eXQH+W1vX5t?s^nrxN%^^WA-f>XT)s$$vzd%i|EUJ zk;O&0FDTC9^NEz@NCP+T8sAqTKhkKAVRfF|8|-uawCQB_eB3Kw>|@zw5WX_CKvsB$ z$oX;@;Q)Lyd@4H4k`7Oo`^OhDlcLO-E7JU8q-V5?_S24AEdlq~3-i3Rw(K z@UUi~X&CTH_eh6!6Cw26f*FJMg18@ZzhS>UdqyIi`nj9nSldYa?6(R}KjRQW4lZ#z^zQy~y#W&een zKTcE}K?J_nr7q7fs%4~os1!>qkK_FbZT1M>?5aYJ-(rob?P!L?T0#j|@Nhm~d>jZ6 zyOvhfZg=WW~cyMVE>Pv{_GsPg=8#@dj<-{Sf&j5SJvq{v46|H0TYGWb3^{}*Fl z4ht$jyw7+7A?pKkK-KCWzy1pQPptIOwYz7fjvNu_ei_o#gm3?7Du^WnAScwDe#_Jg z@Mu{P;?(`B|1p@5x)RyDgN`8riC3X7bLhMrt{g4ToPop77>-bSJ2FHWtgix>E`N`d zl~5};s&{!%1DiTTAoV5aTP>zg*aFD+hDCRH5X7e-R8OU&gqZIP0)fIsk<5Sjkzx>y znvo%7vtjL+eDt5*Lq3NkTD}Ehuq*IHi16suDH}x6zk-?na%na8p{%QWqj=NgmEGU@ zD%nhAWucUn#RvKLQ&nly`|C;k()-@O*VsI*y|+)Pb;#WMW#b>$;_0~t$EF~mp?w70 ziT$ll zLIXulOCf13VSrX*=AM52BD0sg0f~5yn)1tJiT`9R`a_(}BjZ6_k`kBHpAXDyuiZ7N zJ%Z>OI^gUgqF)Wu_oPUSw|=EmAv15Jdek&Cbfk0^#6U&$_4BndBe9MLl^wiZBUVm? zpu*Ke>k{1Td$XGYWFT*hUgFh$b08lWnmdUzkeb2R4=5-DhRpg^8#-Zxboj5 zf`Q?+nQY72SEida)>hQza&_|os<^~s!=3GSu4+pT(C#2Q)Q@k@?S6|&F+6!4>DyL4 z-#pvSdps^S&0Wk*P2b3QxL`d?pI?>DYw&6&vh=#K(9HvSo0pX3Rx)}|a#;F*X=Xz1 zBlYg*(Q#HUJ9XCX71Uazsh5yo`g2K+MeYCw?!4A#X(y_bh_j;gLVFX7ofrB|PSJWR zA@;`)cHc#AedR~F8;#-pC#2%0%exHzyDkbDO+Rd#?p+S}6S~ffl;%88^lMuD+^Tne zTH8cMw)_~@;o;sF(mnJ1LZWM1c0fF8@5SsIIxER{W314&bHCAxD-$EK^5IYM80Ly; ztZvNX6cL`Nz;Vhdip_4E(TAVr?yFM)-QKpnAVP28bZ3)s81?#GhSKt#oG&bvV&^X} z&e7wS@M{PMp~(k954C>_uKuMS;VIV;*FpzX2_2PNStj+nt;}&WMjr)+HposZd>&Qw zCbIBtgccB8F{Yg}0m`)@821gle}11Fj~aSE4L_BFD7^R8@6OBNZlh0HzVVwIq{`SC zx~?Ki+ z#Fg#rtS{#KrG3I*D)u-2)iYQaEa$Ycs@7(1?b%>9%1IS7!m_-NI#QB<*0@?H^ynIInEqqo0%!j8 zz4!C#!w>rJEJME1x!G*r5KG6?q@SO0vXFHme@yU}{Oe+J1!Pa@*2|4JoRglBXY2ZrXszZc6B?;s z+6nP4*DuL!yUcd1T=;Xs(PSmMb44Y95T(wF9*O6z)>?mC6bu;;3|@QPvT)bP=Y9;W zR5N4pjb%@n&qE?u54L+zlI4$^ioeouR&1*Ll)9SKGb(J67*us2vALclfvV12K+To# z9xQI0yNFH_^qSJ}tC;k_k=pphSQ!-Xh5zh%e zIS?*3ap@s&HSIeMj*YF4vaMXu)z}9Ly1q3PC-}>H{Ww4Kisw^xoU}*PA{R;|N3rZ- z2qUjTET(B_uy}iJQ)P09Rgf_Ayt?-uCUVt*^aX_#9ud40DJrwUuA+j8srJLvw$gA- zh%AkHRJlsBbS%D}aOT)|XlK6>-@WVD?NnLs`!P~iE2BT zsI1WOGsb8i8>Y1%gi|Ld+PoS#{Qb1u%^{!V3BmQJxFN}`qtC>C`c0X}U6hG@AN4H4 zJ3xjuVIEc1>z;HCM953eI!EG_grc8WtG`Jy6*N?zPOS87tRpV-U#~yUL;l%0)khV_ z98GgD8y7RS9;sN@z+>(xDD-;TQ|>&)SIR)<+*Rr3#MU!|EEKEezI%q5$(FHc_v{nn zeXp;0977OlGiWzCpC@dcxx`mnr7AaaFvKT{njYy{&Uu72^Bh<@QhD=Rd|DG;Pr7Ao zmU!SeQZY2+oDv$PJo1xL?edwZ5SbvYU61~`XdB(ac;$H;J_+ z2P{il^p*ikB>YemX1{KDQfJz~`bq1j9UN>gLI6WvWH%c@( z7r;i4Ab3B@!DRJVLs9&Bi{a;nV8NH*%vEmU4O+?Z|{GuUX`~ZePP~ zzGp!Donsp!>$CjL^OWgMopRXkiUjV@o;MjO3hd;@Jijm_DV5GreD#!*F?nNz)D%89 zzHIS8Q4=Cu{}|qLjd}BNj_d;gX9-KJh&OYS)!E9zt(p33{;ZdpG;aSi;CQqs)uUy8 z`B_%K>^*m^^3}7Yw970Ed%0jr4#}((qpp*WatYYt! z`okOyBZfFiI@#{s+AX5rV_fzMFTDeQ79WBkFQ}Qvv?sBdLbXmC-!r{7s9ocDPNwJbSCNc!tFdBfhby z7M~$8N2OSoX)ZJMrYB#-1|oGw2CKrW3MQ;E6xa>#`m>eJpBJ}xDa;Hv7oWRd8p`4( za1@rh@Syft%wq(urtBeYyr^FhWG23`qI?o+-Ikd*{$g2Cb(3m7 z!k#zNio7u?%gQU&TA4pUGCjT47H2+ISQ z>1ZrTR1o}twV)W1sax(ovYDyn>xbU`(yHwn%aW7gexfRj6hG?YvzD_zA=e=`Krh!a zbP&54>>Nt4AT`+S``?GCAFpQ+Tix7?EiN$P-RWw;MkP#{WWbk6-xlqIq z?72-*qtYgQuSxplT1(Suho}HLq-4IZTkBLb>%mrSXj{aZ0c#rtSp=OY`En`7`%Vay@H;I{C?^%?B$s=~u5mT<`Gh#&; zYx+~HmbdQUjnJm7#UCb&edPR91kBiV%m!`D9?RDDTGhU4W-e;wPWN2yHiwQ%dP2~~dami87HXUD2$PtqqIt2Q62Y?PQ-uEgNuUb6kuQCs zx2vIPIrOu|=j0T^4=2HoY(=vM$2e%?^)IZf%IzkmcrBM6xukN8OlFg`IhFY=bWkt> zS4baaTAgi|=_#mj`Vaf>^F^IoHjdhyy;g~e`AZF>_b`2)>{{EGW$vK8J9sp?B1H*7 zX)XcGY)yMVIN5;a6U~bx4nCb(XJPZT_`U}U0x?t`ri7sE(sYS$(+%EM`rNF8icjk< zwh5MK5u~X%FI;Y_i2AG6^M1r1pPT^gx=8OmM}nJ%Bp+c@q|YxB{j9Z`_nVEQ%CEZt zPde-eo{tGVCQN|I(%2UUW1FJBaEboKOB%$+UpI3)G>Tb5@wj|17Oh;*B~lby6@JUv z?Rv5PWhYi{HYT+?*6qz;cO7A+0So*_FdaT5?3E|`Xq+cfYNWCv=!TBFR_^=3XX}9c z+Yu`tY@^8gm}*(d&@QJk8TI zC_)L0NWMvTs*Oh?{*0F#GRM6m>&F?$INieTRgUw?G>JqBq-xb&d;PhJcEW-U`JLia zx!ire^AtVzy7QTB{0og5Sm=lm!8qSVFS0R%CTHHG9pleiwhVXGmL%FHZcLOavJ>+g zP4x-PytL^e3s?y`E_BF+m3W4UEuGVj88>`$27$$Y`q|2kQ1#1(_OrRuOo)|{WD%_h zjYrC)AZe*a)hicgL$Zu(TpQmXNca`x!*(~AW`mm9u5-@EYFM%GPt#7MEXIvqZrRh6Db5hJd#x;|T~?8_ygJ0! ztRcb2?-E71&;B}6+eDwR=P@D@i~Vb8#o)z8!$q}=SMt2R=cBuN<%ROaj`YXm>3#58#m~Hg5lv$rIN-tVsJ8*c) zy1~4RqZe>ar~2Anq@4TY(c=0Xvjan$K~lZzZ|3;gfX`p@M9l~iQPTCC{2M%G15TC) z(pnZ5F`rzpQKe7Siuc9s7#g1F*y(3@`i6>H5z=ggQCo%2*lL=bZ$_p}UOkE6J{X(G zA7roJKjA!5;QO@J!tvlrU;pbt!<4NaZQ=SKDK@9{KE`ILF-w1z?(&ccI9OZkm0Emq zuyYGBSu7SZ#bYkyL>-exA2yt~m$hv%(YQ8I**58>=&Q{aIzExu>wG^_yDlyYc|u9R zBRD*H z{XO@(1I$vC*u$(eUe3iT8t<8eO^Ch;#f**XpirTrdHs5Q0kgridDQ!f-F@e^dnVTM z4uZb%ntO@+&5X^io<$U1Han+F-qi2Ab+KX5P({u63>#+4ZVX9nEr~iJ#fszO_pf!R zTD%rUqSc+SCK$1Eqtc>JRABEe{cbhaJwM-<RaXM%mg=U9p(VG*I=MnTXDx z3r)$A*549kuddg)YI^?b{gWBF8O?CpgG(xFz(HquR0Sa&K(X_1K+BWdkP!heRu6GU-Ruh1X1pXU1%F`ObZ z`Z2{7-NU6)+Z$8VUC&Xyx9tr1VZd3k$`)^!`l%>8LktdK5-9 z6*GyQZeA>!5&y=C78gj>FHy~=v)9(|N6njh?bk^zR6bQ-q`=lIk&DD$TvGMa$0efg zW%#j63}tu8`L#;24v&+auz9>pZ=+w~X%l0ql4g+ZIQ~+fcR(m?o9}Wb#DM+R+XvKfPQ_pX;n+b)utNKQO&PckUhqFHnx>;>Qrx7@v6&c^C4HQ!r(tApYzs=GKRpL|3h zlB33rvTJO(diwhq8QF_v%i7o8bF5bVTx1cCv2PwR_UlaE8sCr?`@EYV;l&@x;r!D?)z4{a&F0W3{UuQLmdVb@gr@3?aup3fT0CqY@^!MJ`(<_JyoRtB1MMF4m-Z)p=`Mm z!Oc+TYOx>b)LPG@?_Jfif^YUOhMIuvravF7)(Qx&h+Bu$0$v7oW6HpcM z>SMC9RlVWX`ZZ2ZU8a&hN_@~@*r_94#7TmY)7t*iMALT;>kGfe94LCCaWxVw^M!lP zq5jw%N01KW__Erb{V}mBr#>L9{u(KpVjn$ul|}7y$IEM|?iB3k@Pqqx^HSw!u1T%- zB}@Ecl$3lDwdRyI?A=_9S(-5 zaE{_`_FYnif-&)VO-6pCD* z)+Dri9Bw22?@cFD4FQ!|_7(vZ25EMSKPiHb%0#S`cr{3@QJX`*!3g znK>r|nn0n``6c*-wr}G>5Wps6q%|LLDbqDCf9+qy{tD~tQd6iJmogTrMmdS?xk2}s`mq8Ww5Rt`B!7J?QgL_R(_!%u)QZ2C?QH02u)O`k)L+gh9&q|!L`<1Ag)R*=jcY}&Vwp&yveP`coV z;HsZ8==n@g`K&S(td=h+wXgb>9ER-bG#9CLJ>M8|Cd(5y=|Y~^Uv0>czdZ37L@ARj1B?t6baFlIL;ZB`Q%jB{MhwO6 z4XdX}{k}07p>?zD5*O-081@$H#EZcRit2;unzi6jd|Xs+?6S$kjs11)sM$;cZLG1N zp>^hvBm17;s~nLibR09zWu*$-ozr@m<8$NzSpu}>bxpmU-V&f#U zb1Y`{+J&6KI*os_j`*1GY;d*S7v#K6+%%_2_b%!mBnJ-{mPM31TzSd!uK4o2IU` zj4fpE@iu*1iL}4j?u?4&#l+CGM>?-C&etN9XdT~gb~|6Z790<%#3n1eDf9&m z#Su_{*lNM4UyN?U7W?LnL=v)u_Ra1%Yt5^b)gg^XTt>Yz*NhZ!%b?HM<-wd9(j-{3 zNTY@Po4m;WYIL~=yB@NjS?x5*sc+tBU17`rm10JuRxdk#|3@-vaj+_aV8sS=$z_8e!-;-<|%4PR*EW z`wn%_k|>=ESeKC3BY#XU>q}FWvtXWnYkR~(bpeoWU* zii8qKVn)-GHq*?NZ<`3x++&kCwNICfbJ(Iub*pcxpdC8|yV_Q-5eZH<&A`vPS$%VZk&iWrD_b}tPTGgk~QO*Tn zqOS=O(yFei~2V2oOtm^4Hk zlsHU?==iWe_1&-54CqiZTOqWu&h{1~lB99@dT1W0$~-o}iXf)w`R6g6P7(#(?Nrmm z)!>&U0pWWOm*mJLIAS*YOYmNxVPv=?+V3mNM4DZ-#z^OT{wkpfYm4;r+;v>Sl{DP}!Sk zT(U!VOAaiC?+?@R>9gPYZ6l-QP-5_UaVx{4&PEow($GYKBaHj{erM60pv{TXeQKVb z^u5!(+`efsmma&BaZrbHO_F#!r+_!Lw+qpVDg6`Lrz=?D>~h-)-27{*T54hx=g=P zHhuPUVuMP9e=J2*h5_I(zP_xovGo|;aYQc9^KOj7pem@%%mH_b@9P)@%su|89#jl0HC@nwWd+Ze`Q!oa93tL2jD>B<)NUHP(kZc{@6xD&wL@CsG87;p%Fe+J^q6!!5pH>wb8U`}Ef{+N)WU73?JZOY0Z{VBl7$`a zncZ~nMuKkxtX2mEM$m=3_PGjA-WeB36g&D=4vv-F#sP#2BaBB)Fw?PDns(Q58kAcf zK~3|h&t63!j3VHE{`u~wwPuj;;xh068W09UVt6x0Jbb!87S%mk0)ovx1$vfla5wxt z-ChOz2ntXYI)aD9@H<~9MFzN!ghP0Ma<>Q6v0ohUAQ3@Nj^q6?L@GeSK`07FsY+zs zYI~hdB81l~=Llg0rw{`0JV5hRK661O=)lx41Yr1%6v>goukr{YAr3wz^E3(zAa?Cf z?6g;ES?KNqZb-u1z*ZAWn==DzSpnH1QhZIIH8>8}(E8gfe$vw{VezX(uXhn4kU_{5 zi2K8O)p+;&e1MgeAkyi&EqXf^}3P9 z&=w&u=2$!kdSV%7k82D7=H44Wg!7b#Bx4VwRRj|a%p3O6&kO5NkhiMkFd$X)MW?>L zJX;iM*uRDEfvEv7!^{O(9-K(y9X=42=7IveciCK}Uz^)(KTs`zDF&fCqRRqabW)+& zUB^-BxQCQHZke(Q$l+;-nzDe>i~SxFM(^aGytB~+=odfeatQ7ik|RF^9SJwB#uKF$ zeIULqz^B(Z^Dn+?CmN$xU3c2+JEsAE>|j&{ll=N91gxyt7)62N0VJ+{ArNCMn7W^m zT6j9!Rmww9Skb*kEBLd!(76Skx9PX%8snA=rRpN&xO9S7+w{OWA^Q+95g_#O4{r~{emqY7USxH=<0q`sOe+SwjmY3m< zSQk@dt}MIj4uNOqVR5~coGHhP@DOffjh$ic^a+im)aBoP=mx+ab3( zR*X#0ZaWU-36z_jFMF$!pV$3Od&n<@!gGgI0FdiY<^it(2_y#-(Z?Y`?7h9xCk%VF zR$4z`oH+uKq|yxW|HYvf5R?KqDKqUv2)G3S*W(Zf@hF&UAN#)GiGWnSz+wYi5cm_; z7$zl%M~SkUJB~OYu>cD$%LxN_!oSSL`L*dMtHC|=;igaTAiD{c98Q6kJPOIB zfIH0G6FPVx45sDRI}${$0vWeaKm0YLE*2n5-^AI`rMchd&IR_S>n9}r2-UxK95J8X zIh)Y{0R9zIfD;AC^)9o+&#rL9)jpU*|0g4_@z70hlv&NJF~Pp+kwsLIg~GrJ(W-(!5~+ z85`{5_y$m@?LVMLmElJxfPn+(y?Ce=R-D`MKL8d)2W+9bIN-Hj!D~f~d_iURC42%J z;$FrPvJYt7ArCL}2zqK5w$-UrAW<+Lbl}!?8f@%8$A1^1J^zt^4L6YflfHOjfvq+? z<8XM%r+vrJjJ0T$+X2X9XX%#n@i+1ZUV4$A3LClC-~ALyIwn|K{9U_Dd& zVTBaGUr%zxc}{<@g***#F$9=cEZ2bD!Y%s+M}oHU)Zg}~azFIsqAi%E+M5!+k zI&a|Q!l;MO-vC)i9d_X3I=%BIjzX@^2v|NKj~Wt?+#y~-&`nnW`t!;a0UppOx(Vn= zA-wi!E~9rNtFhU=0J2(_B_f#n2@=V_KjYbP44C^FF%Q}HgkeZq`tCt2k<|selK{Xx z)37&d3YemP*f?pF=M0+xj3baj(8<$M1_B+}4NIs1H`taVHhj&y3V_(=q4Eeg^P!Pr zijLP=g>cNdBDD5OU#SopRPdp#h#!1XR4Q?3UcfELFPw$edkgt=L=L1l(D(*mk;WIu zSPuaCCPPfZoWoB&@h?7cgfACLt#WUx`!nSXRd0|_w|ae@2)(h=Eg__ke6&{;NMr)^;( z|6g_FZxbcp`2W(8zrlI}E0FZt!SZWy=YQ#lED1iEzys*1mOBu0zP<$B2*#WLE(!+m z*BgNIRR+Fl7zW%1X8rk3vf`Fu9-6o;^LiaakikH<9Jl*FXTb#p(u(TsokuyIg)?%B z`mYjzY3=fd#YQLskR}@dKXcozyy>2J*s-ks2{J;!at^=Jy8^x|lnH6h@=mV3LMa5v zp$t?jhYGNt7@)tg*4GiCpZozrAp>UUVm1E>EsP)}6CyC{pO6%;tpJ2DfQ}X(ik@~D zxSffI83>Vqe|rJspljmrNcA~Gk;+#y^xdUKfGO0XK_XIxVXd_}FL>l(J-9^(7tr`X zfQ|>zRBEPtzq<|+a&<{CnpUq{Qo9G})Aj@b%_l*RUF`?T2hszc<0Al)dngD! z>9deNc7h1v{gv*7D@HN@KyqcUV23FAXDlhbV_y7zi z*T_C(KrSFGE+5|0xZ8syC-c<5#<%$+Q0BkmM2`1|J3w(_7I3UHnZy6O`eCRjt5gL- zQn$rgmc0t(?$jg@->=7Duhb=&4svxU?kx`ubpQ%zVF@1$AhSO_JoJZUe6V`4aP2sn z2QIM3H|uaRgx4=S$b|Gbe8x?UD-3CdK|d zk_sv+z}{G#`HvhSq6P%wcdA#qle}`#^~zF4i3r(zSTw#00MUR%I}VQe9TXJLq9qJo zK?2mlj+irnH)d*>=9%d$#{-Yh2y&@BIQ{K2uf4`yrRzY}H4lrk#w$QZ%Id{SJB~^R zOX;f*-@bS?Y@JsDN_y}jIa=$Zkrh`CGYmSZvJCIq8%>c!_URv&gVXJp1Jz*h4b-fG zl8un7i zWjqyZu}$tfuh?X67F$cgq)2TbvWUL}0cWo3*xl~O5<3o!@`e>QkG$urv!^m++?O{t zheCgv4JT!JB)z7x`tXd%wuDQ;xO+G9v^-9?AcqYBh<0yA_Dxy?{JwFiorDof z43@QNo(^Aq{os>G_sI<358XF@PxFfjAAB-@`Kx3F!uuv+Zdh%Wo@;N*h^bhSJVei) zEsIM;`dncFNar}Mn$^{2uO`n!w!Q#eF(CfanS@?2(xYxa9H+FWW-c)K>5O+-QT0Tb z>jDUV`ihy#+*LosDD5$}C%sn+*Ygz<^qJ|a6Z)LaFx;(ethQ9SP||7XddMAwrmz&N zUpYl@Xnh5~YVlXugF1086rKd~h z)ti5Dd0_V3KNeS$v&;O1yqRX|rV4^S}6uNuxDP`vScIVymVE4gs) z*?<9hn9boXH`Y>qYhCnU)zwV=QeG%-YXzAFS5Ul!bz44O=ZGi(P|Tgcz@Hl1m(-S? zTH+eF;IK`WrTO7o!Do~5i^apqTUfyh-3L3{cTUBY_?HJ61n5+LlqMv%k?SC2 zDxB4KHfa1f`6HG9|82zseuWG$(b_@C)U_U2G-2jx&!Rc%iYk7gc#kw9Dw0hTKn&^e zyrP+Vu|6|{3NvD;t$woCV|kfZ)!>!^5`VAqpn)gy06TXa1yxNi&~O%!8V|OwVh%>L zQ0Nr%n(Z<0?bt!lgaFZ)2_mZ_^FBb#duhq6*fmXx_5{-r3{X=e+C5yOrequ!!yRgT zaO3OWwSDqd(pVd&d;+$QV-ENnx7TS@=#B>s5z)ln$8j8@yyoinC2MN&gvcLvgKHwI z+A9yHLd*Wd*pjj00g_I4!$V82x_(fmmcM>43eO)QXM*8Jj~Ad8o7+L7^|!=;%fF+B=60`b%H`UDD6hv56oEr-Zf_`GIS+piLX*1 zBt>D`L&|=6-k~~gnes252x9(TGmc;HnZCG>?Iz*RjV2f2%kq2QYx$Im=Y8rfzbroe zlRf(@n|y2)&%bQ`2}x+I`dGE}RzB8s+O5Um^>4>3&cB+mM)_V})Q{zi zhp3WP=N|HOro<^_XfKVMa&fQA03)0&TJLRZo2XA-b7=)>pW<0?xi8Ae?~1cuY`{5y zvNfL>u0(%cufj|kdPxy#X{TD;njCU>-`|$xqgBM9Be43_dsZg<5+S%;#c5(B;+770 z4eVI6!&YC-20V)krV)xZ|w|OofPO36;w+MSVgn^xEs*B z;ftc4`SI;xLmQ*5(hb%_19qjA_x|PIsEu>{*ORzOZc)NZ`z{Y$zC79-G-n;6k+_p% zhkZ+reIu{nQjdM(yI!gH{!U-(@26t4s|p)izLnjcK)(?;%w#+mM( zd2l`S(xd89F9FRYNk$2GnvXhVOHzZIQc7bkE6TT5G$xSj723PC-Juw%qn&SAH>-Hj zt1Z)+pKtlg()A& z+7H_n)$HM4mG3J4Sq9-+twjSkd>oUD)^c z4oCnz=6yZ=syt5a?abz$s%xhh;h9od+w0Gg!y~6>GG~+DnR$-p3DRRsPX z76vy^QI>(1#^CIx_g*{rD&x=rllkQSU1tM$y7R8CXzxZep~KJ-rCY|~=#7xL^7FD;_J_`7u!;QJ@62csW{D!B59uI`z!bp4Xp3Y`<7BFuOjU5aXX&J|@q6>X5-tqmT zyKlI?j`Z8K{){OV>>P}4cGLI&Opmp?&a2vjMI~`o>`C~~gi6}6ctgpqY#7hx9N*@m zf7PGzt**6^r?!ptG%+n5V^$LKHs^KUTWh}EZt)1X$xl^S8sNGGV4}#OH@mDr28xK+07IPDbX}p8rVPCD07G)a zxD-UCbQ;!)xpiEurg-}0^$!a6*W6)WZ9WlC&^~0~(O*1&9RjQ7zsR`kR#n05JW4yP zI~H~7=fyhHrkQ0j9#`{?2|9)m1u#RwdGz33NrWZy>C7$sLU+*A@mB*JR<`VdjOguw zHMNs3loAT~kG4{NX}f$8jM{{_2#EJ>GzHVX2>H4#x{vXo*fS16zol&DX>N+jU7F~uxQQQDk>PIo3Y^oaDvVQwIz z^YPWzTNU=&ziwnZ8&4h;awC+1EAjP$)h2ZYBsa zg`$EsyQ0Y|*PPh?qTg#A6rpAgSIjZ-l}y)?I66Ci6lbZvZAW?)r=W3heD!YHYKs2? z0R%2R6qh1O>$@KN70`uJXLon%C%{v|2yuD*{>;9SZ@0`ob_PU3za~8eV!?|=+U%Ye z*fHcMDV?O{k*fCk-Q@D(Rc`ai4N6fSvZZ^mQcdhR5nV<0Id-_J0?RH@6H@Ra#@klb z*8VSl^h>ig3k2jin9vVus)ofp_BegIVzPv7zM{F4hpn+Yk4P3;m2CNE?6rp1l}(w7 zn^70Qc?Ru1R#!rUk|HK{j$?lg=)n!Bl zuJP#Iieo^oSx6;ke5+XXS1iX@m~wt=rEJPDDz|aFH0QJQVHo@7e$2$f=gk6MV$A~R ze9MWJ5ZA5mAvD6@ETSGr(O2qDKa5;{D4AT$9)g+_f^&O>jZyQ$kG5dS-B5>nq5Wg! z3(0~4BcWZlILh;9gbZY*;w=|r8oX)r^@bEs7dBVOyrZ<0H(Y5oejl2;eJ_-dpev{0MdI5I|eY||yvePpmzgoE87MbA<0j)T9( z+_V`#LG;`M;(`BWW~MToJ^&W=?PRTDk82?JYk>L%W-%PGFF9~3NiXeoxVyl0bZ&h3 za+7?ZwQ~wL=VsWS&n}h?NPnafD^*=*^B);+Eq%w7?saBI4|QpYKg>tM&365u*`b(k zOYS#&*4)IfC!-%~1;F8QYAyrm_BpH&J=WfLH%xt6b5b6;2u10dDPtgDr_S)IN_ABk^@ndic;pm+DrYadvG!tm_>yt@z`l6nRju@mx{2|00X62G{|c5oXCptI>I)%z;RS{Aokn^xN?0AUl1 zURuTSir=YbQ7)lUE~%+Ct2j4&(nM#rb+B~8FQV(uwAZ)xR%N=dXAiC;N4+k8x_;oe zi)|%d-Ei#HvhVEzxENMpwG#F9Z`xV2wCr4t`9@glkES*T3$2Zr_EAKd{s&rIf&YO<&`V$?2~`O zA}q~Kr&+Pel(Ew4b63F@KE2Z2T4q%dV8epiW5-DbI@lYQeh+#u9;oe)l6h)nk3)W= zS(-jYu@UZcyXnpZ6_ra)(gmKe}ki z9038x0!6Mw>@NhA8RpQZ4MH(JScBjb;NPpF(qJTf#QtSOY=c3WSdRU+fDY;PmPhOZ zvtxm$W|D2pwVq%@(&**tx{tLqvv$VmpTFY2o-#PAiJq(757{&kv79?E6NMQE;L=Zh zY&E9xReK(2kL@>`GSBfq=l7Ruv8y&qL{_FDyl+)k&8{!kSmaxsilGzz(vFiGzEqF- zScl$O51KU)Jr57fI}QyfEA4Un3@ZwII3I2Ht_9PiYA1i0`TiVnC9&0|)4xvF$FBJFelW?S{92GFe}{u*9>`GY z!Qkda4SmPPAyo5c$ve9gDMLwdJI&~bui|$`HcbM?12LCbUsR18?5zO8Slh?7I`mRc zAg`n~$qWl>mn2hFCwKJ4fc&&GOHI$)M?tDS8`>*B3-KFtwO`+B$qYJbTL9Wn2hJF6A z-qqr@_{S>MSlyXR-@02Jn6MuEBhh5txZN)l>UPR!AGp1&DmJWk`f5e{z@|j2ipjeo zk8-=MGpy=>P-%d|m9T_HUueN0cUcDI%66|wlb0k-V(C5n|MX{Shfg|R4|sEC(A<}r zYIf3Ga+@r_s;(-4@G*=ep>ygZ&^boqxn0r=iPhJNaD@rMJDJP-LS1bz$8IW}vJO&!fe7Y1HY+zQ%Y!NrZ|N1Lt3onLe(%)d3sZRP2sz zEVUFgcX0cd&FoG;tF=_D-8E-Z!d5@eNRo}rP*?QW0f9}2fl-NVXN$RDHdvOxBw0~X zBO*)iao!7#(m5CjnY|(dH>(~6D z3s%=?J?kf5(8S!Sq&yXtW@++hq=>Q)%Bg!7aC>^W!ryGxGx+|r(KiVV`v3$1B8$uK3 zpDb4*)ono*b=`w?P}`R;rgASK${)QB?i#yUnJ|VYjBuIzPfwnmtU@3BDUa~#_rgs0zEH5Ti9MU;N9`AYI-_d` zPu!FyI^eqR(`POJJTaGRdTadm)!8KQ7N6vwMmKn(b~t}rbbP1105^gWvZj(d>&c*= z(09u;Q;(`Ea_s5eD_ifu5SxuK-0(Z4a2OnfK)4aIQ@nj;`-$oY-+RDjTH6sXa|ZSk z1H8of18qwDb-m}o_;qRF~NCY(&FZp`O+DQx6%${J%C`q^Ud&z{GPg-Jnyd=r< z$~jv;S^2HT9|TBv+MnTh+_IA{<3o#Z~v@EaOv$_0?l~%Td>a3$!w)cgV-EBZB zCyhap_#o44n*$$WzkhK%{z@yvo#2~-aTe^efh-v0m3f9TLUzb7pE582Kkc84pi zi>S|memwZ^6XoAOJr#~Z|CS96gF2xIgx1Ud|MUOT;eX`dPRkbJ-Qz5+*%L1;A-eqY HKFt3E__QCj diff --git a/.doc/UI/source/TwigBase/TwigBase.rst b/.doc/UI/source/TwigBase/TwigBase.rst index 30f8e24ab1..7edca0415d 100644 --- a/.doc/UI/source/TwigBase/TwigBase.rst +++ b/.doc/UI/source/TwigBase/TwigBase.rst @@ -4,6 +4,26 @@ Twig Base Presentation ====================== +This feature is intended to help extension creators to design forms in a *modern* way. + The **Twig Base** feature is based on MVC structure: -.. image:: MVC.png \ No newline at end of file +.. image:: MVC.png + +When creating an extension following this structure, some parts have to be done: + +:Model: + Optional part to define the specific data model for the extension + +:Service: + Recommended part to produce the data to be displayed + +:Controller: + Mandatory part to gather the data from the *Service* and display using the *View*. + The *Controller* contains an automatic routing mechanism to be selected by the *operation* parameter. + +:View: + Mandatory part to display the data given by the *Controller* + +:End point: + Mandatory part receiving the request and calling the *Controller* \ No newline at end of file diff --git a/.doc/UI/source/TwigBase/twig base.pptx b/.doc/UI/source/TwigBase/twig base.pptx new file mode 100644 index 0000000000000000000000000000000000000000..817661c229b6635beae9580946a82b6c216cd0d0 GIT binary patch literal 38423 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 z true, + + // ... + ); + + + diff --git a/.doc/UI/source/TwigBaseTuto/Step4/Step4.rst b/.doc/UI/source/TwigBaseTuto/Step4/Step4.rst index 2460ba5ad9..f3c055168c 100644 --- a/.doc/UI/source/TwigBaseTuto/Step4/Step4.rst +++ b/.doc/UI/source/TwigBaseTuto/Step4/Step4.rst @@ -56,6 +56,8 @@ Now add the operation in the controller: } } +*Disclaimer: The code is for tutorial only, don't use it in production as no check is done on the entries* + The corresponding template must be created ``templates/SelectMonth.html.twig`` .. code-block:: twig